appmap 0.61.0 → 0.63.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (3114) hide show
  1. checksums.yaml +4 -4
  2. data/.travis.yml +6 -16
  3. data/ARCHITECTURE.md +68 -0
  4. data/CHANGELOG.md +38 -0
  5. data/Rakefile +7 -7
  6. data/exe/appmap-index +7 -0
  7. data/lib/appmap/agent.rb +0 -11
  8. data/lib/appmap/command/index.rb +25 -0
  9. data/lib/appmap/command/inspect.rb +0 -1
  10. data/lib/appmap/config.rb +8 -1
  11. data/lib/appmap/depends/api.rb +84 -0
  12. data/lib/appmap/depends/configuration.rb +59 -0
  13. data/lib/appmap/depends/node_cli.rb +44 -0
  14. data/lib/appmap/depends/rake_tasks.rb +58 -0
  15. data/lib/appmap/depends/test_file_inspector.rb +89 -0
  16. data/lib/appmap/depends/test_runner.rb +106 -0
  17. data/lib/appmap/depends/util.rb +34 -0
  18. data/lib/appmap/depends.rb +2 -0
  19. data/lib/appmap/node_cli.rb +1 -1
  20. data/lib/appmap/service/test_command_provider.rb +4 -6
  21. data/lib/appmap/version.rb +1 -1
  22. data/lib/appmap.rb +2 -0
  23. data/node_modules/@appland/appmap/CHANGELOG.md +136 -0
  24. data/node_modules/@appland/appmap/package.json +50 -0
  25. data/node_modules/@appland/appmap/src/agentInstaller/buildToolInstallerBase.js +28 -0
  26. data/node_modules/@appland/appmap/src/agentInstaller/commandStruct.js +17 -0
  27. data/node_modules/@appland/appmap/src/agentInstaller/installAgentStep.js +30 -0
  28. data/node_modules/@appland/appmap/src/agentInstaller/javaAgentInstaller.js +321 -0
  29. data/node_modules/@appland/appmap/src/agentInstaller/pythonAgentInstaller.js +174 -0
  30. data/node_modules/@appland/appmap/src/agentInstaller/rubyAgentInstaller.js +129 -0
  31. data/node_modules/@appland/appmap/src/agentInstaller/types.d.ts +76 -0
  32. data/node_modules/@appland/appmap/src/appMapCatalog.js +39 -0
  33. data/node_modules/@appland/appmap/src/appland/getAppMap.js +55 -0
  34. data/node_modules/@appland/appmap/src/appland/listAppMaps.js +58 -0
  35. data/node_modules/@appland/appmap/src/appland/settings.js +62 -0
  36. data/node_modules/@appland/appmap/src/appland/types.d.ts +16 -0
  37. data/node_modules/@appland/appmap/src/cli.js +729 -0
  38. data/node_modules/@appland/appmap/src/database.js +197 -0
  39. data/node_modules/@appland/appmap/src/depends.js +157 -0
  40. data/node_modules/@appland/appmap/src/errors/abortError.js +5 -0
  41. data/node_modules/@appland/appmap/src/errors/validationError.js +5 -0
  42. data/node_modules/@appland/appmap/src/fingerprint/algorithms.js +71 -0
  43. data/node_modules/@appland/appmap/src/fingerprint/canonicalize/base.js +58 -0
  44. data/node_modules/@appland/appmap/src/fingerprint/canonicalize/classDependencies.js +36 -0
  45. data/node_modules/@appland/appmap/src/fingerprint/canonicalize/classes.js +14 -0
  46. data/node_modules/@appland/appmap/src/fingerprint/canonicalize/eventTree.js +19 -0
  47. data/node_modules/@appland/appmap/src/fingerprint/canonicalize/httpClientRequests.js +18 -0
  48. data/node_modules/@appland/appmap/src/fingerprint/canonicalize/httpServerRequests.js +18 -0
  49. data/node_modules/@appland/appmap/src/fingerprint/canonicalize/info.js +55 -0
  50. data/node_modules/@appland/appmap/src/fingerprint/canonicalize/labels.js +10 -0
  51. data/node_modules/@appland/appmap/src/fingerprint/canonicalize/packageDependencies.js +36 -0
  52. data/node_modules/@appland/appmap/src/fingerprint/canonicalize/packages.js +14 -0
  53. data/node_modules/@appland/appmap/src/fingerprint/canonicalize/sqlNormalized.js +19 -0
  54. data/node_modules/@appland/appmap/src/fingerprint/canonicalize/sqlTables.js +24 -0
  55. data/node_modules/@appland/appmap/src/fingerprint/canonicalize/trace.js +57 -0
  56. data/node_modules/@appland/appmap/src/fingerprint/canonicalize/unique.js +8 -0
  57. data/node_modules/@appland/appmap/src/fingerprint/canonicalize/update.js +85 -0
  58. data/node_modules/@appland/appmap/src/fingerprint/canonicalize.js +70 -0
  59. data/node_modules/@appland/appmap/src/fingerprint/fingerprintDirectoryCommand.js +30 -0
  60. data/node_modules/@appland/appmap/src/fingerprint/fingerprintQueue.js +30 -0
  61. data/node_modules/@appland/appmap/src/fingerprint/fingerprintWatchCommand.js +64 -0
  62. data/node_modules/@appland/appmap/src/fingerprint/fingerprinter.js +186 -0
  63. data/node_modules/@appland/appmap/src/fingerprint/index.js +24 -0
  64. data/node_modules/@appland/appmap/src/functionStats.js +168 -0
  65. data/node_modules/@appland/appmap/src/inspect/fields.js +66 -0
  66. data/node_modules/@appland/appmap/src/inspect/filter.js +105 -0
  67. data/node_modules/@appland/appmap/src/inspect/home.js +64 -0
  68. data/node_modules/@appland/appmap/src/inspect/print.js +231 -0
  69. data/node_modules/@appland/appmap/src/inspect/reset.js +10 -0
  70. data/node_modules/@appland/appmap/src/inspect/types.d.ts +11 -0
  71. data/node_modules/@appland/appmap/src/inspect/undoFilter.js +10 -0
  72. data/node_modules/@appland/appmap/src/inspect.js +7 -0
  73. data/node_modules/@appland/appmap/src/inventoryCommand.js +59 -0
  74. data/node_modules/@appland/appmap/src/search/codeObjectMatcher.js +75 -0
  75. data/node_modules/@appland/appmap/src/search/constants.js +5 -0
  76. data/node_modules/@appland/appmap/src/search/findCodeObjects.js +293 -0
  77. data/node_modules/@appland/appmap/src/search/findEvents.js +184 -0
  78. data/node_modules/@appland/appmap/src/search/matchFilter.js +65 -0
  79. data/node_modules/@appland/appmap/src/search/matchSpec.js +198 -0
  80. data/node_modules/@appland/appmap/src/search/trigram.js +107 -0
  81. data/node_modules/@appland/appmap/src/search/types.d.ts +107 -0
  82. data/node_modules/@appland/appmap/src/search/utils.js +4 -0
  83. data/node_modules/@appland/appmap/src/swagger/README.md +75 -0
  84. data/node_modules/@appland/appmap/src/swagger/command.js +42 -0
  85. data/node_modules/@appland/appmap/src/swagger/method.js +173 -0
  86. data/node_modules/@appland/appmap/src/swagger/model.js +54 -0
  87. data/node_modules/@appland/appmap/src/swagger/path.js +38 -0
  88. data/node_modules/@appland/appmap/src/swagger/response.js +34 -0
  89. data/node_modules/@appland/appmap/src/swagger/schema.js +38 -0
  90. data/node_modules/@appland/appmap/src/swagger/securitySchemes.js +60 -0
  91. data/node_modules/@appland/appmap/src/swagger/settings.js +9 -0
  92. data/node_modules/@appland/appmap/src/swagger/util.js +79 -0
  93. data/node_modules/@appland/appmap/src/utils.js +165 -0
  94. data/node_modules/@appland/appmap/tests/unit/agentInstall/python.js +0 -0
  95. data/node_modules/@appland/appmap/tests/unit/agentInstall/python.spec.js +109 -0
  96. data/node_modules/@appland/appmap/tests/unit/depends.spec.js +63 -0
  97. data/node_modules/@appland/appmap/tests/unit/fingerprint/canonicalize.spec.js +42 -0
  98. data/node_modules/@appland/appmap/tests/unit/fingerprint/sql.spec.js +40 -0
  99. data/node_modules/@appland/appmap/tests/unit/fixtures/python/pip/requirements.txt +2 -0
  100. data/node_modules/@appland/appmap/tests/unit/fixtures/python/poetry/poetry.lock +2 -0
  101. data/node_modules/@appland/appmap/tests/unit/fixtures/ruby/app/controllers/organizations_controller.rb +1 -0
  102. data/node_modules/@appland/appmap/tests/unit/fixtures/ruby/app/models/configuration.rb +1 -0
  103. data/node_modules/@appland/appmap/tests/unit/fixtures/ruby/app/models/show.rb +1 -0
  104. data/node_modules/@appland/appmap/tests/unit/fixtures/ruby/app/models/user.rb +1 -0
  105. data/node_modules/@appland/appmap/tests/unit/fixtures/ruby/canonicalize/revoke_api_key.info.json +170 -0
  106. data/node_modules/@appland/appmap/tests/unit/fixtures/ruby/canonicalize/revoke_api_key.trace.json +213 -0
  107. data/node_modules/@appland/appmap/tests/unit/fixtures/ruby/canonicalize/revoke_api_key.update.json +54 -0
  108. data/node_modules/@appland/appmap/tests/unit/fixtures/ruby/revoke_api_key.appmap.json +884 -0
  109. data/node_modules/@appland/appmap/tests/unit/fixtures/ruby/user_page_scenario.appmap.json +1750 -0
  110. data/node_modules/@appland/appmap/tests/unit/inspect.spec.js +105 -0
  111. data/node_modules/@appland/models/CHANGELOG.md +90 -0
  112. data/node_modules/@appland/models/README.md +8 -0
  113. data/node_modules/@appland/models/dist/index.cjs +4250 -0
  114. data/node_modules/@appland/models/dist/index.js +4193 -0
  115. data/node_modules/@appland/models/package.json +50 -0
  116. data/node_modules/@tootallnate/once/dist/index.d.ts +14 -0
  117. data/node_modules/@tootallnate/once/dist/index.js +39 -0
  118. data/node_modules/@tootallnate/once/dist/index.js.map +1 -0
  119. data/node_modules/@tootallnate/once/package.json +45 -0
  120. data/node_modules/abab/CHANGELOG.md +45 -0
  121. data/node_modules/abab/LICENSE.md +13 -0
  122. data/node_modules/abab/README.md +51 -0
  123. data/node_modules/abab/index.d.ts +2 -0
  124. data/node_modules/abab/index.js +9 -0
  125. data/node_modules/abab/lib/atob.js +97 -0
  126. data/node_modules/abab/lib/btoa.js +58 -0
  127. data/node_modules/abab/package.json +42 -0
  128. data/node_modules/acorn/CHANGELOG.md +744 -0
  129. data/node_modules/acorn/LICENSE +21 -0
  130. data/node_modules/acorn/README.md +280 -0
  131. data/node_modules/acorn/bin/acorn +4 -0
  132. data/node_modules/acorn/dist/acorn.d.ts +211 -0
  133. data/node_modules/acorn/dist/acorn.js +5525 -0
  134. data/node_modules/acorn/dist/acorn.mjs +5494 -0
  135. data/node_modules/acorn/dist/acorn.mjs.d.ts +2 -0
  136. data/node_modules/acorn/dist/bin.js +65 -0
  137. data/node_modules/acorn/package.json +46 -0
  138. data/node_modules/acorn-globals/LICENSE +19 -0
  139. data/node_modules/acorn-globals/README.md +81 -0
  140. data/node_modules/acorn-globals/index.js +179 -0
  141. data/node_modules/acorn-globals/node_modules/acorn/CHANGELOG.md +620 -0
  142. data/node_modules/acorn-globals/node_modules/acorn/LICENSE +21 -0
  143. data/node_modules/acorn-globals/node_modules/acorn/README.md +269 -0
  144. data/node_modules/acorn-globals/node_modules/acorn/bin/acorn +4 -0
  145. data/node_modules/acorn-globals/node_modules/acorn/dist/acorn.d.ts +209 -0
  146. data/node_modules/acorn-globals/node_modules/acorn/dist/acorn.js +5186 -0
  147. data/node_modules/acorn-globals/node_modules/acorn/dist/acorn.js.map +1 -0
  148. data/node_modules/acorn-globals/node_modules/acorn/dist/acorn.mjs +5155 -0
  149. data/node_modules/acorn-globals/node_modules/acorn/dist/acorn.mjs.d.ts +2 -0
  150. data/node_modules/acorn-globals/node_modules/acorn/dist/acorn.mjs.map +1 -0
  151. data/node_modules/acorn-globals/node_modules/acorn/dist/bin.js +64 -0
  152. data/node_modules/acorn-globals/node_modules/acorn/package.json +35 -0
  153. data/node_modules/acorn-globals/package.json +35 -0
  154. data/node_modules/acorn-walk/CHANGELOG.md +131 -0
  155. data/node_modules/acorn-walk/LICENSE +19 -0
  156. data/node_modules/acorn-walk/README.md +126 -0
  157. data/node_modules/acorn-walk/dist/walk.d.ts +112 -0
  158. data/node_modules/acorn-walk/dist/walk.js +463 -0
  159. data/node_modules/acorn-walk/dist/walk.js.map +1 -0
  160. data/node_modules/acorn-walk/dist/walk.mjs +443 -0
  161. data/node_modules/acorn-walk/dist/walk.mjs.map +1 -0
  162. data/node_modules/acorn-walk/package.json +34 -0
  163. data/node_modules/agent-base/README.md +145 -0
  164. data/node_modules/agent-base/dist/src/index.d.ts +78 -0
  165. data/node_modules/agent-base/dist/src/index.js +203 -0
  166. data/node_modules/agent-base/dist/src/index.js.map +1 -0
  167. data/node_modules/agent-base/dist/src/promisify.d.ts +4 -0
  168. data/node_modules/agent-base/dist/src/promisify.js +18 -0
  169. data/node_modules/agent-base/dist/src/promisify.js.map +1 -0
  170. data/node_modules/agent-base/package.json +64 -0
  171. data/node_modules/agent-base/src/index.ts +345 -0
  172. data/node_modules/agent-base/src/promisify.ts +33 -0
  173. data/node_modules/ansi-regex/index.d.ts +37 -0
  174. data/node_modules/ansi-regex/index.js +10 -0
  175. data/node_modules/ansi-regex/license +9 -0
  176. data/node_modules/ansi-regex/package.json +55 -0
  177. data/node_modules/ansi-regex/readme.md +78 -0
  178. data/node_modules/ansi-styles/index.d.ts +345 -0
  179. data/node_modules/ansi-styles/index.js +163 -0
  180. data/node_modules/ansi-styles/license +9 -0
  181. data/node_modules/ansi-styles/package.json +56 -0
  182. data/node_modules/ansi-styles/readme.md +152 -0
  183. data/node_modules/anymatch/LICENSE +15 -0
  184. data/node_modules/anymatch/README.md +87 -0
  185. data/node_modules/anymatch/index.d.ts +19 -0
  186. data/node_modules/anymatch/index.js +104 -0
  187. data/node_modules/anymatch/package.json +48 -0
  188. data/node_modules/argparse/CHANGELOG.md +185 -0
  189. data/node_modules/argparse/LICENSE +21 -0
  190. data/node_modules/argparse/README.md +257 -0
  191. data/node_modules/argparse/index.js +3 -0
  192. data/node_modules/argparse/lib/action/append/constant.js +47 -0
  193. data/node_modules/argparse/lib/action/append.js +53 -0
  194. data/node_modules/argparse/lib/action/count.js +40 -0
  195. data/node_modules/argparse/lib/action/help.js +47 -0
  196. data/node_modules/argparse/lib/action/store/constant.js +43 -0
  197. data/node_modules/argparse/lib/action/store/false.js +27 -0
  198. data/node_modules/argparse/lib/action/store/true.js +26 -0
  199. data/node_modules/argparse/lib/action/store.js +50 -0
  200. data/node_modules/argparse/lib/action/subparsers.js +149 -0
  201. data/node_modules/argparse/lib/action/version.js +47 -0
  202. data/node_modules/argparse/lib/action.js +146 -0
  203. data/node_modules/argparse/lib/action_container.js +482 -0
  204. data/node_modules/argparse/lib/argparse.js +14 -0
  205. data/node_modules/argparse/lib/argument/error.js +50 -0
  206. data/node_modules/argparse/lib/argument/exclusive.js +54 -0
  207. data/node_modules/argparse/lib/argument/group.js +75 -0
  208. data/node_modules/argparse/lib/argument_parser.js +1161 -0
  209. data/node_modules/argparse/lib/const.js +21 -0
  210. data/node_modules/argparse/lib/help/added_formatters.js +87 -0
  211. data/node_modules/argparse/lib/help/formatter.js +795 -0
  212. data/node_modules/argparse/lib/namespace.js +76 -0
  213. data/node_modules/argparse/lib/utils.js +57 -0
  214. data/node_modules/argparse/package.json +34 -0
  215. data/node_modules/async/CHANGELOG.md +331 -0
  216. data/node_modules/async/LICENSE +19 -0
  217. data/node_modules/async/README.md +60 -0
  218. data/node_modules/async/all.js +54 -0
  219. data/node_modules/async/allLimit.js +46 -0
  220. data/node_modules/async/allSeries.js +45 -0
  221. data/node_modules/async/any.js +56 -0
  222. data/node_modules/async/anyLimit.js +47 -0
  223. data/node_modules/async/anySeries.js +46 -0
  224. data/node_modules/async/apply.js +55 -0
  225. data/node_modules/async/applyEach.js +57 -0
  226. data/node_modules/async/applyEachSeries.js +37 -0
  227. data/node_modules/async/asyncify.js +118 -0
  228. data/node_modules/async/auto.js +267 -0
  229. data/node_modules/async/autoInject.js +156 -0
  230. data/node_modules/async/bower.json +17 -0
  231. data/node_modules/async/cargo.js +63 -0
  232. data/node_modules/async/cargoQueue.js +71 -0
  233. data/node_modules/async/compose.js +55 -0
  234. data/node_modules/async/concat.js +47 -0
  235. data/node_modules/async/concatLimit.js +60 -0
  236. data/node_modules/async/concatSeries.js +41 -0
  237. data/node_modules/async/constant.js +55 -0
  238. data/node_modules/async/detect.js +61 -0
  239. data/node_modules/async/detectLimit.js +48 -0
  240. data/node_modules/async/detectSeries.js +47 -0
  241. data/node_modules/async/dir.js +43 -0
  242. data/node_modules/async/dist/async.js +4846 -0
  243. data/node_modules/async/dist/async.min.js +1 -0
  244. data/node_modules/async/dist/async.mjs +4734 -0
  245. data/node_modules/async/doDuring.js +68 -0
  246. data/node_modules/async/doUntil.js +46 -0
  247. data/node_modules/async/doWhilst.js +68 -0
  248. data/node_modules/async/during.js +78 -0
  249. data/node_modules/async/each.js +88 -0
  250. data/node_modules/async/eachLimit.js +50 -0
  251. data/node_modules/async/eachOf.js +116 -0
  252. data/node_modules/async/eachOfLimit.js +47 -0
  253. data/node_modules/async/eachOfSeries.js +39 -0
  254. data/node_modules/async/eachSeries.js +44 -0
  255. data/node_modules/async/ensureAsync.js +67 -0
  256. data/node_modules/async/every.js +54 -0
  257. data/node_modules/async/everyLimit.js +46 -0
  258. data/node_modules/async/everySeries.js +45 -0
  259. data/node_modules/async/filter.js +53 -0
  260. data/node_modules/async/filterLimit.js +45 -0
  261. data/node_modules/async/filterSeries.js +43 -0
  262. data/node_modules/async/find.js +61 -0
  263. data/node_modules/async/findLimit.js +48 -0
  264. data/node_modules/async/findSeries.js +47 -0
  265. data/node_modules/async/flatMap.js +47 -0
  266. data/node_modules/async/flatMapLimit.js +60 -0
  267. data/node_modules/async/flatMapSeries.js +41 -0
  268. data/node_modules/async/foldl.js +77 -0
  269. data/node_modules/async/foldr.js +41 -0
  270. data/node_modules/async/forEach.js +88 -0
  271. data/node_modules/async/forEachLimit.js +50 -0
  272. data/node_modules/async/forEachOf.js +116 -0
  273. data/node_modules/async/forEachOfLimit.js +47 -0
  274. data/node_modules/async/forEachOfSeries.js +39 -0
  275. data/node_modules/async/forEachSeries.js +44 -0
  276. data/node_modules/async/forever.js +68 -0
  277. data/node_modules/async/groupBy.js +54 -0
  278. data/node_modules/async/groupByLimit.js +71 -0
  279. data/node_modules/async/groupBySeries.js +36 -0
  280. data/node_modules/async/index.js +588 -0
  281. data/node_modules/async/inject.js +77 -0
  282. data/node_modules/async/internal/DoublyLinkedList.js +92 -0
  283. data/node_modules/async/internal/Heap.js +120 -0
  284. data/node_modules/async/internal/applyEach.js +29 -0
  285. data/node_modules/async/internal/asyncEachOfLimit.js +75 -0
  286. data/node_modules/async/internal/awaitify.js +27 -0
  287. data/node_modules/async/internal/breakLoop.js +10 -0
  288. data/node_modules/async/internal/consoleFunc.js +27 -0
  289. data/node_modules/async/internal/createTester.js +40 -0
  290. data/node_modules/async/internal/eachOfLimit.js +90 -0
  291. data/node_modules/async/internal/filter.js +55 -0
  292. data/node_modules/async/internal/getIterator.js +11 -0
  293. data/node_modules/async/internal/initialParams.js +14 -0
  294. data/node_modules/async/internal/isArrayLike.js +10 -0
  295. data/node_modules/async/internal/iterator.js +54 -0
  296. data/node_modules/async/internal/map.js +30 -0
  297. data/node_modules/async/internal/once.js +17 -0
  298. data/node_modules/async/internal/onlyOnce.js +15 -0
  299. data/node_modules/async/internal/parallel.js +34 -0
  300. data/node_modules/async/internal/promiseCallback.js +23 -0
  301. data/node_modules/async/internal/queue.js +291 -0
  302. data/node_modules/async/internal/range.js +14 -0
  303. data/node_modules/async/internal/reject.js +26 -0
  304. data/node_modules/async/internal/setImmediate.js +30 -0
  305. data/node_modules/async/internal/withoutIndex.js +10 -0
  306. data/node_modules/async/internal/wrapAsync.js +34 -0
  307. data/node_modules/async/log.js +41 -0
  308. data/node_modules/async/map.js +62 -0
  309. data/node_modules/async/mapLimit.js +45 -0
  310. data/node_modules/async/mapSeries.js +44 -0
  311. data/node_modules/async/mapValues.js +62 -0
  312. data/node_modules/async/mapValuesLimit.js +61 -0
  313. data/node_modules/async/mapValuesSeries.js +37 -0
  314. data/node_modules/async/memoize.js +91 -0
  315. data/node_modules/async/nextTick.js +52 -0
  316. data/node_modules/async/package.json +82 -0
  317. data/node_modules/async/parallel.js +91 -0
  318. data/node_modules/async/parallelLimit.js +41 -0
  319. data/node_modules/async/priorityQueue.js +84 -0
  320. data/node_modules/async/queue.js +167 -0
  321. data/node_modules/async/race.js +67 -0
  322. data/node_modules/async/reduce.js +77 -0
  323. data/node_modules/async/reduceRight.js +41 -0
  324. data/node_modules/async/reflect.js +78 -0
  325. data/node_modules/async/reflectAll.js +93 -0
  326. data/node_modules/async/reject.js +53 -0
  327. data/node_modules/async/rejectLimit.js +45 -0
  328. data/node_modules/async/rejectSeries.js +43 -0
  329. data/node_modules/async/retry.js +159 -0
  330. data/node_modules/async/retryable.js +77 -0
  331. data/node_modules/async/select.js +53 -0
  332. data/node_modules/async/selectLimit.js +45 -0
  333. data/node_modules/async/selectSeries.js +43 -0
  334. data/node_modules/async/seq.js +79 -0
  335. data/node_modules/async/series.js +86 -0
  336. data/node_modules/async/setImmediate.js +45 -0
  337. data/node_modules/async/some.js +56 -0
  338. data/node_modules/async/someLimit.js +47 -0
  339. data/node_modules/async/someSeries.js +46 -0
  340. data/node_modules/async/sortBy.js +88 -0
  341. data/node_modules/async/timeout.js +89 -0
  342. data/node_modules/async/times.js +50 -0
  343. data/node_modules/async/timesLimit.js +43 -0
  344. data/node_modules/async/timesSeries.js +32 -0
  345. data/node_modules/async/transform.js +81 -0
  346. data/node_modules/async/tryEach.js +78 -0
  347. data/node_modules/async/unmemoize.js +25 -0
  348. data/node_modules/async/until.js +61 -0
  349. data/node_modules/async/waterfall.js +105 -0
  350. data/node_modules/async/whilst.js +78 -0
  351. data/node_modules/async/wrapSync.js +118 -0
  352. data/node_modules/asynckit/LICENSE +21 -0
  353. data/node_modules/asynckit/README.md +233 -0
  354. data/node_modules/asynckit/bench.js +76 -0
  355. data/node_modules/asynckit/index.js +6 -0
  356. data/node_modules/asynckit/lib/abort.js +29 -0
  357. data/node_modules/asynckit/lib/async.js +34 -0
  358. data/node_modules/asynckit/lib/defer.js +26 -0
  359. data/node_modules/asynckit/lib/iterate.js +75 -0
  360. data/node_modules/asynckit/lib/readable_asynckit.js +91 -0
  361. data/node_modules/asynckit/lib/readable_parallel.js +25 -0
  362. data/node_modules/asynckit/lib/readable_serial.js +25 -0
  363. data/node_modules/asynckit/lib/readable_serial_ordered.js +29 -0
  364. data/node_modules/asynckit/lib/state.js +37 -0
  365. data/node_modules/asynckit/lib/streamify.js +141 -0
  366. data/node_modules/asynckit/lib/terminator.js +29 -0
  367. data/node_modules/asynckit/package.json +63 -0
  368. data/node_modules/asynckit/parallel.js +43 -0
  369. data/node_modules/asynckit/serial.js +17 -0
  370. data/node_modules/asynckit/serialOrdered.js +75 -0
  371. data/node_modules/asynckit/stream.js +21 -0
  372. data/node_modules/at-least-node/LICENSE +6 -0
  373. data/node_modules/at-least-node/README.md +25 -0
  374. data/node_modules/at-least-node/index.js +5 -0
  375. data/node_modules/at-least-node/package.json +32 -0
  376. data/node_modules/balanced-match/LICENSE.md +21 -0
  377. data/node_modules/balanced-match/README.md +97 -0
  378. data/node_modules/balanced-match/index.js +62 -0
  379. data/node_modules/balanced-match/package.json +48 -0
  380. data/node_modules/binary-extensions/binary-extensions.json +260 -0
  381. data/node_modules/binary-extensions/binary-extensions.json.d.ts +3 -0
  382. data/node_modules/binary-extensions/index.d.ts +14 -0
  383. data/node_modules/binary-extensions/index.js +1 -0
  384. data/node_modules/binary-extensions/license +9 -0
  385. data/node_modules/binary-extensions/package.json +38 -0
  386. data/node_modules/binary-extensions/readme.md +41 -0
  387. data/node_modules/brace-expansion/LICENSE +21 -0
  388. data/node_modules/brace-expansion/README.md +129 -0
  389. data/node_modules/brace-expansion/index.js +201 -0
  390. data/node_modules/brace-expansion/package.json +47 -0
  391. data/node_modules/braces/CHANGELOG.md +184 -0
  392. data/node_modules/braces/LICENSE +21 -0
  393. data/node_modules/braces/README.md +593 -0
  394. data/node_modules/braces/index.js +170 -0
  395. data/node_modules/braces/lib/compile.js +57 -0
  396. data/node_modules/braces/lib/constants.js +57 -0
  397. data/node_modules/braces/lib/expand.js +113 -0
  398. data/node_modules/braces/lib/parse.js +333 -0
  399. data/node_modules/braces/lib/stringify.js +32 -0
  400. data/node_modules/braces/lib/utils.js +112 -0
  401. data/node_modules/braces/package.json +77 -0
  402. data/node_modules/browser-process-hrtime/LICENSE +9 -0
  403. data/node_modules/browser-process-hrtime/README.md +27 -0
  404. data/node_modules/browser-process-hrtime/index.d.ts +4 -0
  405. data/node_modules/browser-process-hrtime/index.js +28 -0
  406. data/node_modules/browser-process-hrtime/package.json +15 -0
  407. data/node_modules/chokidar/LICENSE +21 -0
  408. data/node_modules/chokidar/README.md +308 -0
  409. data/node_modules/chokidar/index.js +973 -0
  410. data/node_modules/chokidar/lib/constants.js +65 -0
  411. data/node_modules/chokidar/lib/fsevents-handler.js +524 -0
  412. data/node_modules/chokidar/lib/nodefs-handler.js +646 -0
  413. data/node_modules/chokidar/package.json +78 -0
  414. data/node_modules/chokidar/types/index.d.ts +187 -0
  415. data/node_modules/cli-progress/CHANGES.md +169 -0
  416. data/node_modules/cli-progress/LICENSE.md +24 -0
  417. data/node_modules/cli-progress/README.md +446 -0
  418. data/node_modules/cli-progress/cli-progress.js +21 -0
  419. data/node_modules/cli-progress/lib/eta.js +73 -0
  420. data/node_modules/cli-progress/lib/format-bar.js +11 -0
  421. data/node_modules/cli-progress/lib/format-time.js +34 -0
  422. data/node_modules/cli-progress/lib/format-value.js +22 -0
  423. data/node_modules/cli-progress/lib/formatter.js +80 -0
  424. data/node_modules/cli-progress/lib/generic-bar.js +212 -0
  425. data/node_modules/cli-progress/lib/multi-bar.js +201 -0
  426. data/node_modules/cli-progress/lib/options.js +95 -0
  427. data/node_modules/cli-progress/lib/single-bar.js +124 -0
  428. data/node_modules/cli-progress/lib/terminal.js +159 -0
  429. data/node_modules/cli-progress/package.json +46 -0
  430. data/node_modules/cli-progress/presets/index.js +11 -0
  431. data/node_modules/cli-progress/presets/legacy.js +6 -0
  432. data/node_modules/cli-progress/presets/rect.js +5 -0
  433. data/node_modules/cli-progress/presets/shades-classic.js +6 -0
  434. data/node_modules/cli-progress/presets/shades-grey.js +8 -0
  435. data/node_modules/cliui/CHANGELOG.md +121 -0
  436. data/node_modules/cliui/LICENSE.txt +14 -0
  437. data/node_modules/cliui/README.md +141 -0
  438. data/node_modules/cliui/build/index.cjs +302 -0
  439. data/node_modules/cliui/build/lib/index.js +287 -0
  440. data/node_modules/cliui/build/lib/string-utils.js +27 -0
  441. data/node_modules/cliui/index.mjs +13 -0
  442. data/node_modules/cliui/package.json +83 -0
  443. data/node_modules/color-convert/CHANGELOG.md +54 -0
  444. data/node_modules/color-convert/LICENSE +21 -0
  445. data/node_modules/color-convert/README.md +68 -0
  446. data/node_modules/color-convert/conversions.js +839 -0
  447. data/node_modules/color-convert/index.js +81 -0
  448. data/node_modules/color-convert/package.json +48 -0
  449. data/node_modules/color-convert/route.js +97 -0
  450. data/node_modules/color-name/LICENSE +8 -0
  451. data/node_modules/color-name/README.md +11 -0
  452. data/node_modules/color-name/index.js +152 -0
  453. data/node_modules/color-name/package.json +28 -0
  454. data/node_modules/colors/LICENSE +25 -0
  455. data/node_modules/colors/README.md +221 -0
  456. data/node_modules/colors/examples/normal-usage.js +82 -0
  457. data/node_modules/colors/examples/safe-string.js +79 -0
  458. data/node_modules/colors/index.d.ts +136 -0
  459. data/node_modules/colors/lib/colors.js +211 -0
  460. data/node_modules/colors/lib/custom/trap.js +46 -0
  461. data/node_modules/colors/lib/custom/zalgo.js +110 -0
  462. data/node_modules/colors/lib/extendStringPrototype.js +110 -0
  463. data/node_modules/colors/lib/index.js +13 -0
  464. data/node_modules/colors/lib/maps/america.js +10 -0
  465. data/node_modules/colors/lib/maps/rainbow.js +12 -0
  466. data/node_modules/colors/lib/maps/random.js +11 -0
  467. data/node_modules/colors/lib/maps/zebra.js +5 -0
  468. data/node_modules/colors/lib/styles.js +95 -0
  469. data/node_modules/colors/lib/system/has-flag.js +35 -0
  470. data/node_modules/colors/lib/system/supports-colors.js +151 -0
  471. data/node_modules/colors/package.json +45 -0
  472. data/node_modules/colors/safe.d.ts +48 -0
  473. data/node_modules/colors/safe.js +10 -0
  474. data/node_modules/colors/themes/generic-logging.js +12 -0
  475. data/node_modules/combined-stream/License +19 -0
  476. data/node_modules/combined-stream/Readme.md +138 -0
  477. data/node_modules/combined-stream/lib/combined_stream.js +208 -0
  478. data/node_modules/combined-stream/package.json +25 -0
  479. data/node_modules/combined-stream/yarn.lock +17 -0
  480. data/node_modules/concat-map/LICENSE +18 -0
  481. data/node_modules/concat-map/README.markdown +62 -0
  482. data/node_modules/concat-map/example/map.js +6 -0
  483. data/node_modules/concat-map/index.js +13 -0
  484. data/node_modules/concat-map/package.json +43 -0
  485. data/node_modules/concat-map/test/map.js +39 -0
  486. data/node_modules/console-table-printer/CHANGELOG.md +96 -0
  487. data/node_modules/console-table-printer/LICENSE +21 -0
  488. data/node_modules/console-table-printer/README.md +180 -0
  489. data/node_modules/console-table-printer/dist/index.d.ts +4 -0
  490. data/node_modules/console-table-printer/dist/index.js +10 -0
  491. data/node_modules/console-table-printer/dist/src/console-table-printer.d.ts +14 -0
  492. data/node_modules/console-table-printer/dist/src/console-table-printer.js +32 -0
  493. data/node_modules/console-table-printer/dist/src/internalTable/input-converter.d.ts +6 -0
  494. data/node_modules/console-table-printer/dist/src/internalTable/input-converter.js +15 -0
  495. data/node_modules/console-table-printer/dist/src/internalTable/internal-table-printer.d.ts +4 -0
  496. data/node_modules/console-table-printer/dist/src/internalTable/internal-table-printer.js +115 -0
  497. data/node_modules/console-table-printer/dist/src/internalTable/internal-table.d.ts +25 -0
  498. data/node_modules/console-table-printer/dist/src/internalTable/internal-table.js +80 -0
  499. data/node_modules/console-table-printer/dist/src/internalTable/table-pre-processors.d.ts +3 -0
  500. data/node_modules/console-table-printer/dist/src/internalTable/table-pre-processors.js +43 -0
  501. data/node_modules/console-table-printer/dist/src/models/common.d.ts +10 -0
  502. data/node_modules/console-table-printer/dist/src/models/common.js +2 -0
  503. data/node_modules/console-table-printer/dist/src/models/external-table.d.ts +26 -0
  504. data/node_modules/console-table-printer/dist/src/models/external-table.js +2 -0
  505. data/node_modules/console-table-printer/dist/src/models/internal-table.d.ts +21 -0
  506. data/node_modules/console-table-printer/dist/src/models/internal-table.js +2 -0
  507. data/node_modules/console-table-printer/dist/src/utils/colored-console-line.d.ts +8 -0
  508. data/node_modules/console-table-printer/dist/src/utils/colored-console-line.js +29 -0
  509. data/node_modules/console-table-printer/dist/src/utils/console-utils.d.ts +2 -0
  510. data/node_modules/console-table-printer/dist/src/utils/console-utils.js +8 -0
  511. data/node_modules/console-table-printer/dist/src/utils/string-utils.d.ts +4 -0
  512. data/node_modules/console-table-printer/dist/src/utils/string-utils.js +54 -0
  513. data/node_modules/console-table-printer/dist/src/utils/table-constants.d.ts +10 -0
  514. data/node_modules/console-table-printer/dist/src/utils/table-constants.js +49 -0
  515. data/node_modules/console-table-printer/dist/src/utils/table-helpers.d.ts +26 -0
  516. data/node_modules/console-table-printer/dist/src/utils/table-helpers.js +91 -0
  517. data/node_modules/console-table-printer/package.json +51 -0
  518. data/node_modules/cross-env/CHANGELOG.md +5 -0
  519. data/node_modules/cross-env/LICENSE +20 -0
  520. data/node_modules/cross-env/README.md +291 -0
  521. data/node_modules/cross-env/package.json +54 -0
  522. data/node_modules/cross-env/src/bin/cross-env-shell.js +5 -0
  523. data/node_modules/cross-env/src/bin/cross-env.js +5 -0
  524. data/node_modules/cross-env/src/command.js +32 -0
  525. data/node_modules/cross-env/src/index.js +95 -0
  526. data/node_modules/cross-env/src/is-windows.js +2 -0
  527. data/node_modules/cross-env/src/variable.js +69 -0
  528. data/node_modules/cross-spawn/CHANGELOG.md +130 -0
  529. data/node_modules/cross-spawn/LICENSE +21 -0
  530. data/node_modules/cross-spawn/README.md +96 -0
  531. data/node_modules/cross-spawn/index.js +39 -0
  532. data/node_modules/cross-spawn/lib/enoent.js +59 -0
  533. data/node_modules/cross-spawn/lib/parse.js +91 -0
  534. data/node_modules/cross-spawn/lib/util/escape.js +45 -0
  535. data/node_modules/cross-spawn/lib/util/readShebang.js +23 -0
  536. data/node_modules/cross-spawn/lib/util/resolveCommand.js +52 -0
  537. data/node_modules/cross-spawn/package.json +73 -0
  538. data/node_modules/crypto-js/CONTRIBUTING.md +28 -0
  539. data/node_modules/crypto-js/LICENSE +24 -0
  540. data/node_modules/crypto-js/README.md +249 -0
  541. data/node_modules/crypto-js/aes.js +234 -0
  542. data/node_modules/crypto-js/bower.json +35 -0
  543. data/node_modules/crypto-js/cipher-core.js +890 -0
  544. data/node_modules/crypto-js/core.js +797 -0
  545. data/node_modules/crypto-js/crypto-js.js +6059 -0
  546. data/node_modules/crypto-js/docs/QuickStartGuide.wiki +470 -0
  547. data/node_modules/crypto-js/enc-base64.js +136 -0
  548. data/node_modules/crypto-js/enc-hex.js +18 -0
  549. data/node_modules/crypto-js/enc-latin1.js +18 -0
  550. data/node_modules/crypto-js/enc-utf16.js +149 -0
  551. data/node_modules/crypto-js/enc-utf8.js +18 -0
  552. data/node_modules/crypto-js/evpkdf.js +134 -0
  553. data/node_modules/crypto-js/format-hex.js +66 -0
  554. data/node_modules/crypto-js/format-openssl.js +18 -0
  555. data/node_modules/crypto-js/hmac-md5.js +18 -0
  556. data/node_modules/crypto-js/hmac-ripemd160.js +18 -0
  557. data/node_modules/crypto-js/hmac-sha1.js +18 -0
  558. data/node_modules/crypto-js/hmac-sha224.js +18 -0
  559. data/node_modules/crypto-js/hmac-sha256.js +18 -0
  560. data/node_modules/crypto-js/hmac-sha3.js +18 -0
  561. data/node_modules/crypto-js/hmac-sha384.js +18 -0
  562. data/node_modules/crypto-js/hmac-sha512.js +18 -0
  563. data/node_modules/crypto-js/hmac.js +143 -0
  564. data/node_modules/crypto-js/index.js +18 -0
  565. data/node_modules/crypto-js/lib-typedarrays.js +76 -0
  566. data/node_modules/crypto-js/md5.js +268 -0
  567. data/node_modules/crypto-js/mode-cfb.js +80 -0
  568. data/node_modules/crypto-js/mode-ctr-gladman.js +116 -0
  569. data/node_modules/crypto-js/mode-ctr.js +58 -0
  570. data/node_modules/crypto-js/mode-ecb.js +40 -0
  571. data/node_modules/crypto-js/mode-ofb.js +54 -0
  572. data/node_modules/crypto-js/package.json +38 -0
  573. data/node_modules/crypto-js/pad-ansix923.js +49 -0
  574. data/node_modules/crypto-js/pad-iso10126.js +44 -0
  575. data/node_modules/crypto-js/pad-iso97971.js +40 -0
  576. data/node_modules/crypto-js/pad-nopadding.js +30 -0
  577. data/node_modules/crypto-js/pad-pkcs7.js +18 -0
  578. data/node_modules/crypto-js/pad-zeropadding.js +47 -0
  579. data/node_modules/crypto-js/pbkdf2.js +145 -0
  580. data/node_modules/crypto-js/rabbit-legacy.js +190 -0
  581. data/node_modules/crypto-js/rabbit.js +192 -0
  582. data/node_modules/crypto-js/rc4.js +139 -0
  583. data/node_modules/crypto-js/ripemd160.js +267 -0
  584. data/node_modules/crypto-js/sha1.js +150 -0
  585. data/node_modules/crypto-js/sha224.js +80 -0
  586. data/node_modules/crypto-js/sha256.js +199 -0
  587. data/node_modules/crypto-js/sha3.js +326 -0
  588. data/node_modules/crypto-js/sha384.js +83 -0
  589. data/node_modules/crypto-js/sha512.js +326 -0
  590. data/node_modules/crypto-js/tripledes.js +779 -0
  591. data/node_modules/crypto-js/x64-core.js +304 -0
  592. data/node_modules/cssom/LICENSE.txt +20 -0
  593. data/node_modules/cssom/README.mdown +67 -0
  594. data/node_modules/cssom/lib/CSSDocumentRule.js +39 -0
  595. data/node_modules/cssom/lib/CSSFontFaceRule.js +36 -0
  596. data/node_modules/cssom/lib/CSSHostRule.js +37 -0
  597. data/node_modules/cssom/lib/CSSImportRule.js +132 -0
  598. data/node_modules/cssom/lib/CSSKeyframeRule.js +37 -0
  599. data/node_modules/cssom/lib/CSSKeyframesRule.js +39 -0
  600. data/node_modules/cssom/lib/CSSMediaRule.js +41 -0
  601. data/node_modules/cssom/lib/CSSOM.js +3 -0
  602. data/node_modules/cssom/lib/CSSRule.js +43 -0
  603. data/node_modules/cssom/lib/CSSStyleDeclaration.js +148 -0
  604. data/node_modules/cssom/lib/CSSStyleRule.js +190 -0
  605. data/node_modules/cssom/lib/CSSStyleSheet.js +88 -0
  606. data/node_modules/cssom/lib/CSSSupportsRule.js +36 -0
  607. data/node_modules/cssom/lib/CSSValue.js +43 -0
  608. data/node_modules/cssom/lib/CSSValueExpression.js +344 -0
  609. data/node_modules/cssom/lib/MatcherList.js +62 -0
  610. data/node_modules/cssom/lib/MediaList.js +61 -0
  611. data/node_modules/cssom/lib/StyleSheet.js +17 -0
  612. data/node_modules/cssom/lib/clone.js +71 -0
  613. data/node_modules/cssom/lib/index.js +21 -0
  614. data/node_modules/cssom/lib/parse.js +463 -0
  615. data/node_modules/cssom/package.json +18 -0
  616. data/node_modules/cssstyle/LICENSE +20 -0
  617. data/node_modules/cssstyle/README.md +15 -0
  618. data/node_modules/cssstyle/lib/CSSStyleDeclaration.js +260 -0
  619. data/node_modules/cssstyle/lib/CSSStyleDeclaration.test.js +556 -0
  620. data/node_modules/cssstyle/lib/allExtraProperties.js +67 -0
  621. data/node_modules/cssstyle/lib/allProperties.js +462 -0
  622. data/node_modules/cssstyle/lib/allWebkitProperties.js +194 -0
  623. data/node_modules/cssstyle/lib/constants.js +6 -0
  624. data/node_modules/cssstyle/lib/implementedProperties.js +90 -0
  625. data/node_modules/cssstyle/lib/named_colors.json +152 -0
  626. data/node_modules/cssstyle/lib/parsers.js +722 -0
  627. data/node_modules/cssstyle/lib/parsers.test.js +139 -0
  628. data/node_modules/cssstyle/lib/properties/azimuth.js +67 -0
  629. data/node_modules/cssstyle/lib/properties/background.js +19 -0
  630. data/node_modules/cssstyle/lib/properties/backgroundAttachment.js +24 -0
  631. data/node_modules/cssstyle/lib/properties/backgroundColor.js +36 -0
  632. data/node_modules/cssstyle/lib/properties/backgroundImage.js +32 -0
  633. data/node_modules/cssstyle/lib/properties/backgroundPosition.js +58 -0
  634. data/node_modules/cssstyle/lib/properties/backgroundRepeat.js +32 -0
  635. data/node_modules/cssstyle/lib/properties/border.js +33 -0
  636. data/node_modules/cssstyle/lib/properties/borderBottom.js +17 -0
  637. data/node_modules/cssstyle/lib/properties/borderBottomColor.js +16 -0
  638. data/node_modules/cssstyle/lib/properties/borderBottomStyle.js +21 -0
  639. data/node_modules/cssstyle/lib/properties/borderBottomWidth.js +16 -0
  640. data/node_modules/cssstyle/lib/properties/borderCollapse.js +26 -0
  641. data/node_modules/cssstyle/lib/properties/borderColor.js +30 -0
  642. data/node_modules/cssstyle/lib/properties/borderLeft.js +17 -0
  643. data/node_modules/cssstyle/lib/properties/borderLeftColor.js +16 -0
  644. data/node_modules/cssstyle/lib/properties/borderLeftStyle.js +21 -0
  645. data/node_modules/cssstyle/lib/properties/borderLeftWidth.js +16 -0
  646. data/node_modules/cssstyle/lib/properties/borderRight.js +17 -0
  647. data/node_modules/cssstyle/lib/properties/borderRightColor.js +16 -0
  648. data/node_modules/cssstyle/lib/properties/borderRightStyle.js +21 -0
  649. data/node_modules/cssstyle/lib/properties/borderRightWidth.js +16 -0
  650. data/node_modules/cssstyle/lib/properties/borderSpacing.js +41 -0
  651. data/node_modules/cssstyle/lib/properties/borderStyle.js +38 -0
  652. data/node_modules/cssstyle/lib/properties/borderTop.js +17 -0
  653. data/node_modules/cssstyle/lib/properties/borderTopColor.js +16 -0
  654. data/node_modules/cssstyle/lib/properties/borderTopStyle.js +21 -0
  655. data/node_modules/cssstyle/lib/properties/borderTopWidth.js +17 -0
  656. data/node_modules/cssstyle/lib/properties/borderWidth.js +46 -0
  657. data/node_modules/cssstyle/lib/properties/bottom.js +14 -0
  658. data/node_modules/cssstyle/lib/properties/clear.js +16 -0
  659. data/node_modules/cssstyle/lib/properties/clip.js +47 -0
  660. data/node_modules/cssstyle/lib/properties/color.js +14 -0
  661. data/node_modules/cssstyle/lib/properties/cssFloat.js +12 -0
  662. data/node_modules/cssstyle/lib/properties/flex.js +45 -0
  663. data/node_modules/cssstyle/lib/properties/flexBasis.js +28 -0
  664. data/node_modules/cssstyle/lib/properties/flexGrow.js +19 -0
  665. data/node_modules/cssstyle/lib/properties/flexShrink.js +19 -0
  666. data/node_modules/cssstyle/lib/properties/float.js +12 -0
  667. data/node_modules/cssstyle/lib/properties/floodColor.js +14 -0
  668. data/node_modules/cssstyle/lib/properties/font.js +43 -0
  669. data/node_modules/cssstyle/lib/properties/fontFamily.js +33 -0
  670. data/node_modules/cssstyle/lib/properties/fontSize.js +38 -0
  671. data/node_modules/cssstyle/lib/properties/fontStyle.js +18 -0
  672. data/node_modules/cssstyle/lib/properties/fontVariant.js +18 -0
  673. data/node_modules/cssstyle/lib/properties/fontWeight.js +33 -0
  674. data/node_modules/cssstyle/lib/properties/height.js +24 -0
  675. data/node_modules/cssstyle/lib/properties/left.js +14 -0
  676. data/node_modules/cssstyle/lib/properties/lightingColor.js +14 -0
  677. data/node_modules/cssstyle/lib/properties/lineHeight.js +26 -0
  678. data/node_modules/cssstyle/lib/properties/margin.js +68 -0
  679. data/node_modules/cssstyle/lib/properties/marginBottom.js +13 -0
  680. data/node_modules/cssstyle/lib/properties/marginLeft.js +13 -0
  681. data/node_modules/cssstyle/lib/properties/marginRight.js +13 -0
  682. data/node_modules/cssstyle/lib/properties/marginTop.js +13 -0
  683. data/node_modules/cssstyle/lib/properties/opacity.js +14 -0
  684. data/node_modules/cssstyle/lib/properties/outlineColor.js +14 -0
  685. data/node_modules/cssstyle/lib/properties/padding.js +61 -0
  686. data/node_modules/cssstyle/lib/properties/paddingBottom.js +13 -0
  687. data/node_modules/cssstyle/lib/properties/paddingLeft.js +13 -0
  688. data/node_modules/cssstyle/lib/properties/paddingRight.js +13 -0
  689. data/node_modules/cssstyle/lib/properties/paddingTop.js +13 -0
  690. data/node_modules/cssstyle/lib/properties/right.js +14 -0
  691. data/node_modules/cssstyle/lib/properties/stopColor.js +14 -0
  692. data/node_modules/cssstyle/lib/properties/textLineThroughColor.js +14 -0
  693. data/node_modules/cssstyle/lib/properties/textOverlineColor.js +14 -0
  694. data/node_modules/cssstyle/lib/properties/textUnderlineColor.js +14 -0
  695. data/node_modules/cssstyle/lib/properties/top.js +14 -0
  696. data/node_modules/cssstyle/lib/properties/webkitBorderAfterColor.js +14 -0
  697. data/node_modules/cssstyle/lib/properties/webkitBorderBeforeColor.js +14 -0
  698. data/node_modules/cssstyle/lib/properties/webkitBorderEndColor.js +14 -0
  699. data/node_modules/cssstyle/lib/properties/webkitBorderStartColor.js +14 -0
  700. data/node_modules/cssstyle/lib/properties/webkitColumnRuleColor.js +14 -0
  701. data/node_modules/cssstyle/lib/properties/webkitMatchNearestMailBlockquoteColor.js +14 -0
  702. data/node_modules/cssstyle/lib/properties/webkitTapHighlightColor.js +14 -0
  703. data/node_modules/cssstyle/lib/properties/webkitTextEmphasisColor.js +14 -0
  704. data/node_modules/cssstyle/lib/properties/webkitTextFillColor.js +14 -0
  705. data/node_modules/cssstyle/lib/properties/webkitTextStrokeColor.js +14 -0
  706. data/node_modules/cssstyle/lib/properties/width.js +24 -0
  707. data/node_modules/cssstyle/lib/properties.js +1833 -0
  708. data/node_modules/cssstyle/lib/utils/colorSpace.js +21 -0
  709. data/node_modules/cssstyle/lib/utils/getBasicPropertyDescriptor.js +14 -0
  710. data/node_modules/cssstyle/node_modules/cssom/LICENSE.txt +20 -0
  711. data/node_modules/cssstyle/node_modules/cssom/README.mdown +67 -0
  712. data/node_modules/cssstyle/node_modules/cssom/lib/CSSDocumentRule.js +39 -0
  713. data/node_modules/cssstyle/node_modules/cssom/lib/CSSFontFaceRule.js +36 -0
  714. data/node_modules/cssstyle/node_modules/cssom/lib/CSSHostRule.js +37 -0
  715. data/node_modules/cssstyle/node_modules/cssom/lib/CSSImportRule.js +132 -0
  716. data/node_modules/cssstyle/node_modules/cssom/lib/CSSKeyframeRule.js +37 -0
  717. data/node_modules/cssstyle/node_modules/cssom/lib/CSSKeyframesRule.js +39 -0
  718. data/node_modules/cssstyle/node_modules/cssom/lib/CSSMediaRule.js +41 -0
  719. data/node_modules/cssstyle/node_modules/cssom/lib/CSSOM.js +3 -0
  720. data/node_modules/cssstyle/node_modules/cssom/lib/CSSRule.js +43 -0
  721. data/node_modules/cssstyle/node_modules/cssom/lib/CSSStyleDeclaration.js +148 -0
  722. data/node_modules/cssstyle/node_modules/cssom/lib/CSSStyleRule.js +190 -0
  723. data/node_modules/cssstyle/node_modules/cssom/lib/CSSStyleSheet.js +88 -0
  724. data/node_modules/cssstyle/node_modules/cssom/lib/CSSSupportsRule.js +36 -0
  725. data/node_modules/cssstyle/node_modules/cssom/lib/CSSValue.js +43 -0
  726. data/node_modules/cssstyle/node_modules/cssom/lib/CSSValueExpression.js +344 -0
  727. data/node_modules/cssstyle/node_modules/cssom/lib/MatcherList.js +62 -0
  728. data/node_modules/cssstyle/node_modules/cssom/lib/MediaList.js +61 -0
  729. data/node_modules/cssstyle/node_modules/cssom/lib/StyleSheet.js +17 -0
  730. data/node_modules/cssstyle/node_modules/cssom/lib/clone.js +82 -0
  731. data/node_modules/cssstyle/node_modules/cssom/lib/index.js +21 -0
  732. data/node_modules/cssstyle/node_modules/cssom/lib/parse.js +464 -0
  733. data/node_modules/cssstyle/node_modules/cssom/package.json +18 -0
  734. data/node_modules/cssstyle/package.json +72 -0
  735. data/node_modules/data-urls/LICENSE.txt +7 -0
  736. data/node_modules/data-urls/README.md +64 -0
  737. data/node_modules/data-urls/lib/parser.js +74 -0
  738. data/node_modules/data-urls/lib/utils.js +23 -0
  739. data/node_modules/data-urls/package.json +53 -0
  740. data/node_modules/debug/LICENSE +19 -0
  741. data/node_modules/debug/README.md +455 -0
  742. data/node_modules/debug/package.json +59 -0
  743. data/node_modules/debug/src/browser.js +269 -0
  744. data/node_modules/debug/src/common.js +274 -0
  745. data/node_modules/debug/src/index.js +10 -0
  746. data/node_modules/debug/src/node.js +263 -0
  747. data/node_modules/decimal.js/CHANGELOG.md +231 -0
  748. data/node_modules/decimal.js/LICENCE.md +23 -0
  749. data/node_modules/decimal.js/README.md +246 -0
  750. data/node_modules/decimal.js/decimal.d.ts +300 -0
  751. data/node_modules/decimal.js/decimal.js +4934 -0
  752. data/node_modules/decimal.js/decimal.mjs +4898 -0
  753. data/node_modules/decimal.js/package.json +40 -0
  754. data/node_modules/deep-is/LICENSE +22 -0
  755. data/node_modules/deep-is/README.markdown +70 -0
  756. data/node_modules/deep-is/example/cmp.js +11 -0
  757. data/node_modules/deep-is/index.js +102 -0
  758. data/node_modules/deep-is/package.json +61 -0
  759. data/node_modules/deep-is/test/NaN.js +16 -0
  760. data/node_modules/deep-is/test/cmp.js +23 -0
  761. data/node_modules/deep-is/test/neg-vs-pos-0.js +15 -0
  762. data/node_modules/delayed-stream/License +19 -0
  763. data/node_modules/delayed-stream/Makefile +7 -0
  764. data/node_modules/delayed-stream/Readme.md +141 -0
  765. data/node_modules/delayed-stream/lib/delayed_stream.js +107 -0
  766. data/node_modules/delayed-stream/package.json +27 -0
  767. data/node_modules/diff/CONTRIBUTING.md +39 -0
  768. data/node_modules/diff/LICENSE +31 -0
  769. data/node_modules/diff/README.md +208 -0
  770. data/node_modules/diff/dist/diff.js +1582 -0
  771. data/node_modules/diff/lib/convert/dmp.js +32 -0
  772. data/node_modules/diff/lib/convert/xml.js +42 -0
  773. data/node_modules/diff/lib/diff/array.js +45 -0
  774. data/node_modules/diff/lib/diff/base.js +304 -0
  775. data/node_modules/diff/lib/diff/character.js +37 -0
  776. data/node_modules/diff/lib/diff/css.js +41 -0
  777. data/node_modules/diff/lib/diff/json.js +163 -0
  778. data/node_modules/diff/lib/diff/line.js +89 -0
  779. data/node_modules/diff/lib/diff/sentence.js +41 -0
  780. data/node_modules/diff/lib/diff/word.js +108 -0
  781. data/node_modules/diff/lib/index.es6.js +1553 -0
  782. data/node_modules/diff/lib/index.js +216 -0
  783. data/node_modules/diff/lib/index.mjs +1553 -0
  784. data/node_modules/diff/lib/patch/apply.js +238 -0
  785. data/node_modules/diff/lib/patch/create.js +267 -0
  786. data/node_modules/diff/lib/patch/merge.js +613 -0
  787. data/node_modules/diff/lib/patch/parse.js +167 -0
  788. data/node_modules/diff/lib/util/array.js +32 -0
  789. data/node_modules/diff/lib/util/distance-iterator.js +57 -0
  790. data/node_modules/diff/lib/util/params.js +24 -0
  791. data/node_modules/diff/package.json +87 -0
  792. data/node_modules/diff/release-notes.md +303 -0
  793. data/node_modules/diff/runtime.js +3 -0
  794. data/node_modules/domexception/LICENSE.txt +21 -0
  795. data/node_modules/domexception/README.md +31 -0
  796. data/node_modules/domexception/index.js +7 -0
  797. data/node_modules/domexception/lib/DOMException-impl.js +22 -0
  798. data/node_modules/domexception/lib/DOMException.js +205 -0
  799. data/node_modules/domexception/lib/legacy-error-codes.json +27 -0
  800. data/node_modules/domexception/lib/utils.js +115 -0
  801. data/node_modules/domexception/node_modules/webidl-conversions/LICENSE.md +12 -0
  802. data/node_modules/domexception/node_modules/webidl-conversions/README.md +79 -0
  803. data/node_modules/domexception/node_modules/webidl-conversions/lib/index.js +361 -0
  804. data/node_modules/domexception/node_modules/webidl-conversions/package.json +30 -0
  805. data/node_modules/domexception/package.json +42 -0
  806. data/node_modules/domexception/webidl2js-wrapper.js +15 -0
  807. data/node_modules/emoji-regex/LICENSE-MIT.txt +20 -0
  808. data/node_modules/emoji-regex/README.md +73 -0
  809. data/node_modules/emoji-regex/es2015/index.js +6 -0
  810. data/node_modules/emoji-regex/es2015/text.js +6 -0
  811. data/node_modules/emoji-regex/index.d.ts +23 -0
  812. data/node_modules/emoji-regex/index.js +6 -0
  813. data/node_modules/emoji-regex/package.json +50 -0
  814. data/node_modules/emoji-regex/text.js +6 -0
  815. data/node_modules/escalade/dist/index.js +22 -0
  816. data/node_modules/escalade/dist/index.mjs +22 -0
  817. data/node_modules/escalade/index.d.ts +3 -0
  818. data/node_modules/escalade/license +9 -0
  819. data/node_modules/escalade/package.json +61 -0
  820. data/node_modules/escalade/readme.md +211 -0
  821. data/node_modules/escalade/sync/index.d.ts +2 -0
  822. data/node_modules/escalade/sync/index.js +18 -0
  823. data/node_modules/escalade/sync/index.mjs +18 -0
  824. data/node_modules/escodegen/LICENSE.BSD +21 -0
  825. data/node_modules/escodegen/README.md +84 -0
  826. data/node_modules/escodegen/bin/escodegen.js +77 -0
  827. data/node_modules/escodegen/bin/esgenerate.js +64 -0
  828. data/node_modules/escodegen/escodegen.js +2647 -0
  829. data/node_modules/escodegen/package.json +62 -0
  830. data/node_modules/esprima/ChangeLog +235 -0
  831. data/node_modules/esprima/LICENSE.BSD +21 -0
  832. data/node_modules/esprima/README.md +46 -0
  833. data/node_modules/esprima/bin/esparse.js +139 -0
  834. data/node_modules/esprima/bin/esvalidate.js +236 -0
  835. data/node_modules/esprima/dist/esprima.js +6709 -0
  836. data/node_modules/esprima/package.json +112 -0
  837. data/node_modules/estraverse/LICENSE.BSD +19 -0
  838. data/node_modules/estraverse/README.md +153 -0
  839. data/node_modules/estraverse/estraverse.js +801 -0
  840. data/node_modules/estraverse/gulpfile.js +70 -0
  841. data/node_modules/estraverse/package.json +40 -0
  842. data/node_modules/esutils/LICENSE.BSD +19 -0
  843. data/node_modules/esutils/README.md +174 -0
  844. data/node_modules/esutils/lib/ast.js +144 -0
  845. data/node_modules/esutils/lib/code.js +135 -0
  846. data/node_modules/esutils/lib/keyword.js +165 -0
  847. data/node_modules/esutils/lib/utils.js +33 -0
  848. data/node_modules/esutils/package.json +44 -0
  849. data/node_modules/fast-levenshtein/LICENSE.md +25 -0
  850. data/node_modules/fast-levenshtein/README.md +104 -0
  851. data/node_modules/fast-levenshtein/levenshtein.js +136 -0
  852. data/node_modules/fast-levenshtein/package.json +39 -0
  853. data/node_modules/fill-range/LICENSE +21 -0
  854. data/node_modules/fill-range/README.md +237 -0
  855. data/node_modules/fill-range/index.js +249 -0
  856. data/node_modules/fill-range/package.json +69 -0
  857. data/node_modules/form-data/License +19 -0
  858. data/node_modules/form-data/README.md.bak +356 -0
  859. data/node_modules/form-data/Readme.md +356 -0
  860. data/node_modules/form-data/index.d.ts +62 -0
  861. data/node_modules/form-data/lib/browser.js +2 -0
  862. data/node_modules/form-data/lib/form_data.js +498 -0
  863. data/node_modules/form-data/lib/populate.js +10 -0
  864. data/node_modules/form-data/package.json +68 -0
  865. data/node_modules/fs-extra/CHANGELOG.md +902 -0
  866. data/node_modules/fs-extra/LICENSE +15 -0
  867. data/node_modules/fs-extra/README.md +264 -0
  868. data/node_modules/fs-extra/lib/copy/copy.js +232 -0
  869. data/node_modules/fs-extra/lib/copy/index.js +6 -0
  870. data/node_modules/fs-extra/lib/copy-sync/copy-sync.js +166 -0
  871. data/node_modules/fs-extra/lib/copy-sync/index.js +5 -0
  872. data/node_modules/fs-extra/lib/empty/index.js +48 -0
  873. data/node_modules/fs-extra/lib/ensure/file.js +69 -0
  874. data/node_modules/fs-extra/lib/ensure/index.js +23 -0
  875. data/node_modules/fs-extra/lib/ensure/link.js +61 -0
  876. data/node_modules/fs-extra/lib/ensure/symlink-paths.js +99 -0
  877. data/node_modules/fs-extra/lib/ensure/symlink-type.js +31 -0
  878. data/node_modules/fs-extra/lib/ensure/symlink.js +63 -0
  879. data/node_modules/fs-extra/lib/fs/index.js +130 -0
  880. data/node_modules/fs-extra/lib/index.js +27 -0
  881. data/node_modules/fs-extra/lib/json/index.js +16 -0
  882. data/node_modules/fs-extra/lib/json/jsonfile.js +11 -0
  883. data/node_modules/fs-extra/lib/json/output-json-sync.js +12 -0
  884. data/node_modules/fs-extra/lib/json/output-json.js +12 -0
  885. data/node_modules/fs-extra/lib/mkdirs/index.js +14 -0
  886. data/node_modules/fs-extra/lib/mkdirs/make-dir.js +141 -0
  887. data/node_modules/fs-extra/lib/move/index.js +6 -0
  888. data/node_modules/fs-extra/lib/move/move.js +65 -0
  889. data/node_modules/fs-extra/lib/move-sync/index.js +5 -0
  890. data/node_modules/fs-extra/lib/move-sync/move-sync.js +47 -0
  891. data/node_modules/fs-extra/lib/output/index.js +40 -0
  892. data/node_modules/fs-extra/lib/path-exists/index.js +12 -0
  893. data/node_modules/fs-extra/lib/remove/index.js +9 -0
  894. data/node_modules/fs-extra/lib/remove/rimraf.js +302 -0
  895. data/node_modules/fs-extra/lib/util/stat.js +139 -0
  896. data/node_modules/fs-extra/lib/util/utimes.js +26 -0
  897. data/node_modules/fs-extra/package.json +70 -0
  898. data/node_modules/fs.realpath/LICENSE +43 -0
  899. data/node_modules/fs.realpath/README.md +33 -0
  900. data/node_modules/fs.realpath/index.js +66 -0
  901. data/node_modules/fs.realpath/old.js +303 -0
  902. data/node_modules/fs.realpath/package.json +26 -0
  903. data/node_modules/get-caller-file/LICENSE.md +6 -0
  904. data/node_modules/get-caller-file/README.md +41 -0
  905. data/node_modules/get-caller-file/index.d.ts +2 -0
  906. data/node_modules/get-caller-file/index.js +22 -0
  907. data/node_modules/get-caller-file/index.js.map +1 -0
  908. data/node_modules/get-caller-file/package.json +42 -0
  909. data/node_modules/glob/LICENSE +21 -0
  910. data/node_modules/glob/README.md +375 -0
  911. data/node_modules/glob/changelog.md +67 -0
  912. data/node_modules/glob/common.js +234 -0
  913. data/node_modules/glob/glob.js +788 -0
  914. data/node_modules/glob/package.json +51 -0
  915. data/node_modules/glob/sync.js +484 -0
  916. data/node_modules/glob-parent/CHANGELOG.md +110 -0
  917. data/node_modules/glob-parent/LICENSE +15 -0
  918. data/node_modules/glob-parent/README.md +137 -0
  919. data/node_modules/glob-parent/index.js +42 -0
  920. data/node_modules/glob-parent/package.json +48 -0
  921. data/node_modules/graceful-fs/LICENSE +15 -0
  922. data/node_modules/graceful-fs/README.md +133 -0
  923. data/node_modules/graceful-fs/clone.js +23 -0
  924. data/node_modules/graceful-fs/graceful-fs.js +373 -0
  925. data/node_modules/graceful-fs/legacy-streams.js +118 -0
  926. data/node_modules/graceful-fs/package.json +50 -0
  927. data/node_modules/graceful-fs/polyfills.js +346 -0
  928. data/node_modules/html-encoding-sniffer/LICENSE.txt +7 -0
  929. data/node_modules/html-encoding-sniffer/README.md +38 -0
  930. data/node_modules/html-encoding-sniffer/lib/html-encoding-sniffer.js +295 -0
  931. data/node_modules/html-encoding-sniffer/package.json +30 -0
  932. data/node_modules/http-proxy-agent/README.md +74 -0
  933. data/node_modules/http-proxy-agent/dist/agent.d.ts +32 -0
  934. data/node_modules/http-proxy-agent/dist/agent.js +145 -0
  935. data/node_modules/http-proxy-agent/dist/agent.js.map +1 -0
  936. data/node_modules/http-proxy-agent/dist/index.d.ts +21 -0
  937. data/node_modules/http-proxy-agent/dist/index.js +14 -0
  938. data/node_modules/http-proxy-agent/dist/index.js.map +1 -0
  939. data/node_modules/http-proxy-agent/package.json +57 -0
  940. data/node_modules/https-proxy-agent/README.md +137 -0
  941. data/node_modules/https-proxy-agent/dist/agent.d.ts +30 -0
  942. data/node_modules/https-proxy-agent/dist/agent.js +180 -0
  943. data/node_modules/https-proxy-agent/dist/agent.js.map +1 -0
  944. data/node_modules/https-proxy-agent/dist/index.d.ts +23 -0
  945. data/node_modules/https-proxy-agent/dist/index.js +14 -0
  946. data/node_modules/https-proxy-agent/dist/index.js.map +1 -0
  947. data/node_modules/https-proxy-agent/dist/parse-proxy-response.d.ts +7 -0
  948. data/node_modules/https-proxy-agent/dist/parse-proxy-response.js +66 -0
  949. data/node_modules/https-proxy-agent/dist/parse-proxy-response.js.map +1 -0
  950. data/node_modules/https-proxy-agent/package.json +56 -0
  951. data/node_modules/iconv-lite/Changelog.md +162 -0
  952. data/node_modules/iconv-lite/LICENSE +21 -0
  953. data/node_modules/iconv-lite/README.md +156 -0
  954. data/node_modules/iconv-lite/encodings/dbcs-codec.js +555 -0
  955. data/node_modules/iconv-lite/encodings/dbcs-data.js +176 -0
  956. data/node_modules/iconv-lite/encodings/index.js +22 -0
  957. data/node_modules/iconv-lite/encodings/internal.js +188 -0
  958. data/node_modules/iconv-lite/encodings/sbcs-codec.js +72 -0
  959. data/node_modules/iconv-lite/encodings/sbcs-data-generated.js +451 -0
  960. data/node_modules/iconv-lite/encodings/sbcs-data.js +174 -0
  961. data/node_modules/iconv-lite/encodings/tables/big5-added.json +122 -0
  962. data/node_modules/iconv-lite/encodings/tables/cp936.json +264 -0
  963. data/node_modules/iconv-lite/encodings/tables/cp949.json +273 -0
  964. data/node_modules/iconv-lite/encodings/tables/cp950.json +177 -0
  965. data/node_modules/iconv-lite/encodings/tables/eucjp.json +182 -0
  966. data/node_modules/iconv-lite/encodings/tables/gb18030-ranges.json +1 -0
  967. data/node_modules/iconv-lite/encodings/tables/gbk-added.json +55 -0
  968. data/node_modules/iconv-lite/encodings/tables/shiftjis.json +125 -0
  969. data/node_modules/iconv-lite/encodings/utf16.js +177 -0
  970. data/node_modules/iconv-lite/encodings/utf7.js +290 -0
  971. data/node_modules/iconv-lite/lib/bom-handling.js +52 -0
  972. data/node_modules/iconv-lite/lib/extend-node.js +217 -0
  973. data/node_modules/iconv-lite/lib/index.d.ts +24 -0
  974. data/node_modules/iconv-lite/lib/index.js +153 -0
  975. data/node_modules/iconv-lite/lib/streams.js +121 -0
  976. data/node_modules/iconv-lite/package.json +46 -0
  977. data/node_modules/inflight/LICENSE +15 -0
  978. data/node_modules/inflight/README.md +37 -0
  979. data/node_modules/inflight/inflight.js +54 -0
  980. data/node_modules/inflight/package.json +29 -0
  981. data/node_modules/inherits/LICENSE +16 -0
  982. data/node_modules/inherits/README.md +42 -0
  983. data/node_modules/inherits/inherits.js +9 -0
  984. data/node_modules/inherits/inherits_browser.js +27 -0
  985. data/node_modules/inherits/package.json +29 -0
  986. data/node_modules/is-binary-path/index.d.ts +17 -0
  987. data/node_modules/is-binary-path/index.js +7 -0
  988. data/node_modules/is-binary-path/license +9 -0
  989. data/node_modules/is-binary-path/package.json +40 -0
  990. data/node_modules/is-binary-path/readme.md +34 -0
  991. data/node_modules/is-extglob/LICENSE +21 -0
  992. data/node_modules/is-extglob/README.md +107 -0
  993. data/node_modules/is-extglob/index.js +20 -0
  994. data/node_modules/is-extglob/package.json +69 -0
  995. data/node_modules/is-fullwidth-code-point/index.d.ts +17 -0
  996. data/node_modules/is-fullwidth-code-point/index.js +50 -0
  997. data/node_modules/is-fullwidth-code-point/license +9 -0
  998. data/node_modules/is-fullwidth-code-point/package.json +42 -0
  999. data/node_modules/is-fullwidth-code-point/readme.md +39 -0
  1000. data/node_modules/is-glob/LICENSE +21 -0
  1001. data/node_modules/is-glob/README.md +206 -0
  1002. data/node_modules/is-glob/index.js +48 -0
  1003. data/node_modules/is-glob/package.json +81 -0
  1004. data/node_modules/is-number/LICENSE +21 -0
  1005. data/node_modules/is-number/README.md +187 -0
  1006. data/node_modules/is-number/index.js +18 -0
  1007. data/node_modules/is-number/package.json +82 -0
  1008. data/node_modules/is-potential-custom-element-name/LICENSE-MIT.txt +20 -0
  1009. data/node_modules/is-potential-custom-element-name/README.md +40 -0
  1010. data/node_modules/is-potential-custom-element-name/index.js +9 -0
  1011. data/node_modules/is-potential-custom-element-name/package.json +35 -0
  1012. data/node_modules/isexe/LICENSE +15 -0
  1013. data/node_modules/isexe/README.md +51 -0
  1014. data/node_modules/isexe/index.js +57 -0
  1015. data/node_modules/isexe/mode.js +41 -0
  1016. data/node_modules/isexe/package.json +31 -0
  1017. data/node_modules/isexe/test/basic.js +221 -0
  1018. data/node_modules/isexe/windows.js +42 -0
  1019. data/node_modules/js-yaml/CHANGELOG.md +557 -0
  1020. data/node_modules/js-yaml/LICENSE +21 -0
  1021. data/node_modules/js-yaml/README.md +299 -0
  1022. data/node_modules/js-yaml/bin/js-yaml.js +132 -0
  1023. data/node_modules/js-yaml/dist/js-yaml.js +3989 -0
  1024. data/node_modules/js-yaml/dist/js-yaml.min.js +1 -0
  1025. data/node_modules/js-yaml/index.js +7 -0
  1026. data/node_modules/js-yaml/lib/js-yaml/common.js +59 -0
  1027. data/node_modules/js-yaml/lib/js-yaml/dumper.js +850 -0
  1028. data/node_modules/js-yaml/lib/js-yaml/exception.js +43 -0
  1029. data/node_modules/js-yaml/lib/js-yaml/loader.js +1644 -0
  1030. data/node_modules/js-yaml/lib/js-yaml/mark.js +76 -0
  1031. data/node_modules/js-yaml/lib/js-yaml/schema/core.js +18 -0
  1032. data/node_modules/js-yaml/lib/js-yaml/schema/default_full.js +25 -0
  1033. data/node_modules/js-yaml/lib/js-yaml/schema/default_safe.js +28 -0
  1034. data/node_modules/js-yaml/lib/js-yaml/schema/failsafe.js +17 -0
  1035. data/node_modules/js-yaml/lib/js-yaml/schema/json.js +25 -0
  1036. data/node_modules/js-yaml/lib/js-yaml/schema.js +108 -0
  1037. data/node_modules/js-yaml/lib/js-yaml/type/binary.js +138 -0
  1038. data/node_modules/js-yaml/lib/js-yaml/type/bool.js +35 -0
  1039. data/node_modules/js-yaml/lib/js-yaml/type/float.js +116 -0
  1040. data/node_modules/js-yaml/lib/js-yaml/type/int.js +173 -0
  1041. data/node_modules/js-yaml/lib/js-yaml/type/js/function.js +93 -0
  1042. data/node_modules/js-yaml/lib/js-yaml/type/js/regexp.js +60 -0
  1043. data/node_modules/js-yaml/lib/js-yaml/type/js/undefined.js +28 -0
  1044. data/node_modules/js-yaml/lib/js-yaml/type/map.js +8 -0
  1045. data/node_modules/js-yaml/lib/js-yaml/type/merge.js +12 -0
  1046. data/node_modules/js-yaml/lib/js-yaml/type/null.js +34 -0
  1047. data/node_modules/js-yaml/lib/js-yaml/type/omap.js +44 -0
  1048. data/node_modules/js-yaml/lib/js-yaml/type/pairs.js +53 -0
  1049. data/node_modules/js-yaml/lib/js-yaml/type/seq.js +8 -0
  1050. data/node_modules/js-yaml/lib/js-yaml/type/set.js +29 -0
  1051. data/node_modules/js-yaml/lib/js-yaml/type/str.js +8 -0
  1052. data/node_modules/js-yaml/lib/js-yaml/type/timestamp.js +88 -0
  1053. data/node_modules/js-yaml/lib/js-yaml/type.js +61 -0
  1054. data/node_modules/js-yaml/lib/js-yaml.js +39 -0
  1055. data/node_modules/js-yaml/package.json +49 -0
  1056. data/node_modules/jsdom/LICENSE.txt +22 -0
  1057. data/node_modules/jsdom/README.md +522 -0
  1058. data/node_modules/jsdom/lib/api.js +333 -0
  1059. data/node_modules/jsdom/lib/jsdom/browser/Window.js +933 -0
  1060. data/node_modules/jsdom/lib/jsdom/browser/default-stylesheet.js +789 -0
  1061. data/node_modules/jsdom/lib/jsdom/browser/js-globals.json +307 -0
  1062. data/node_modules/jsdom/lib/jsdom/browser/not-implemented.js +13 -0
  1063. data/node_modules/jsdom/lib/jsdom/browser/parser/html.js +223 -0
  1064. data/node_modules/jsdom/lib/jsdom/browser/parser/index.js +37 -0
  1065. data/node_modules/jsdom/lib/jsdom/browser/parser/xml.js +202 -0
  1066. data/node_modules/jsdom/lib/jsdom/browser/resources/async-resource-queue.js +114 -0
  1067. data/node_modules/jsdom/lib/jsdom/browser/resources/no-op-resource-loader.js +8 -0
  1068. data/node_modules/jsdom/lib/jsdom/browser/resources/per-document-resource-loader.js +95 -0
  1069. data/node_modules/jsdom/lib/jsdom/browser/resources/request-manager.js +33 -0
  1070. data/node_modules/jsdom/lib/jsdom/browser/resources/resource-loader.js +142 -0
  1071. data/node_modules/jsdom/lib/jsdom/browser/resources/resource-queue.js +142 -0
  1072. data/node_modules/jsdom/lib/jsdom/level2/style.js +57 -0
  1073. data/node_modules/jsdom/lib/jsdom/level3/xpath.js +1874 -0
  1074. data/node_modules/jsdom/lib/jsdom/living/aborting/AbortController-impl.js +17 -0
  1075. data/node_modules/jsdom/lib/jsdom/living/aborting/AbortSignal-impl.js +55 -0
  1076. data/node_modules/jsdom/lib/jsdom/living/attributes/Attr-impl.js +60 -0
  1077. data/node_modules/jsdom/lib/jsdom/living/attributes/NamedNodeMap-impl.js +78 -0
  1078. data/node_modules/jsdom/lib/jsdom/living/attributes.js +312 -0
  1079. data/node_modules/jsdom/lib/jsdom/living/constraint-validation/DefaultConstraintValidation-impl.js +75 -0
  1080. data/node_modules/jsdom/lib/jsdom/living/constraint-validation/ValidityState-impl.js +66 -0
  1081. data/node_modules/jsdom/lib/jsdom/living/cssom/StyleSheetList-impl.js +38 -0
  1082. data/node_modules/jsdom/lib/jsdom/living/custom-elements/CustomElementRegistry-impl.js +265 -0
  1083. data/node_modules/jsdom/lib/jsdom/living/documents.js +15 -0
  1084. data/node_modules/jsdom/lib/jsdom/living/domparsing/DOMParser-impl.js +58 -0
  1085. data/node_modules/jsdom/lib/jsdom/living/domparsing/InnerHTML-impl.js +29 -0
  1086. data/node_modules/jsdom/lib/jsdom/living/domparsing/XMLSerializer-impl.js +18 -0
  1087. data/node_modules/jsdom/lib/jsdom/living/domparsing/parse5-adapter-serialization.js +63 -0
  1088. data/node_modules/jsdom/lib/jsdom/living/domparsing/serialization.js +45 -0
  1089. data/node_modules/jsdom/lib/jsdom/living/events/CloseEvent-impl.js +10 -0
  1090. data/node_modules/jsdom/lib/jsdom/living/events/CompositionEvent-impl.js +20 -0
  1091. data/node_modules/jsdom/lib/jsdom/living/events/CustomEvent-impl.js +21 -0
  1092. data/node_modules/jsdom/lib/jsdom/living/events/ErrorEvent-impl.js +14 -0
  1093. data/node_modules/jsdom/lib/jsdom/living/events/Event-impl.js +197 -0
  1094. data/node_modules/jsdom/lib/jsdom/living/events/EventModifierMixin-impl.js +18 -0
  1095. data/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js +403 -0
  1096. data/node_modules/jsdom/lib/jsdom/living/events/FocusEvent-impl.js +9 -0
  1097. data/node_modules/jsdom/lib/jsdom/living/events/HashChangeEvent-impl.js +14 -0
  1098. data/node_modules/jsdom/lib/jsdom/living/events/InputEvent-impl.js +11 -0
  1099. data/node_modules/jsdom/lib/jsdom/living/events/KeyboardEvent-impl.js +29 -0
  1100. data/node_modules/jsdom/lib/jsdom/living/events/MessageEvent-impl.js +25 -0
  1101. data/node_modules/jsdom/lib/jsdom/living/events/MouseEvent-impl.js +49 -0
  1102. data/node_modules/jsdom/lib/jsdom/living/events/PageTransitionEvent-impl.js +20 -0
  1103. data/node_modules/jsdom/lib/jsdom/living/events/PopStateEvent-impl.js +9 -0
  1104. data/node_modules/jsdom/lib/jsdom/living/events/ProgressEvent-impl.js +14 -0
  1105. data/node_modules/jsdom/lib/jsdom/living/events/StorageEvent-impl.js +26 -0
  1106. data/node_modules/jsdom/lib/jsdom/living/events/TouchEvent-impl.js +14 -0
  1107. data/node_modules/jsdom/lib/jsdom/living/events/UIEvent-impl.js +59 -0
  1108. data/node_modules/jsdom/lib/jsdom/living/events/WheelEvent-impl.js +12 -0
  1109. data/node_modules/jsdom/lib/jsdom/living/fetch/Headers-impl.js +165 -0
  1110. data/node_modules/jsdom/lib/jsdom/living/fetch/header-list.js +54 -0
  1111. data/node_modules/jsdom/lib/jsdom/living/fetch/header-types.js +103 -0
  1112. data/node_modules/jsdom/lib/jsdom/living/file-api/Blob-impl.js +93 -0
  1113. data/node_modules/jsdom/lib/jsdom/living/file-api/File-impl.js +12 -0
  1114. data/node_modules/jsdom/lib/jsdom/living/file-api/FileList-impl.js +15 -0
  1115. data/node_modules/jsdom/lib/jsdom/living/file-api/FileReader-impl.js +130 -0
  1116. data/node_modules/jsdom/lib/jsdom/living/generated/AbortController.js +130 -0
  1117. data/node_modules/jsdom/lib/jsdom/living/generated/AbortSignal.js +159 -0
  1118. data/node_modules/jsdom/lib/jsdom/living/generated/AbstractRange.js +162 -0
  1119. data/node_modules/jsdom/lib/jsdom/living/generated/AddEventListenerOptions.js +44 -0
  1120. data/node_modules/jsdom/lib/jsdom/living/generated/AssignedNodesOptions.js +28 -0
  1121. data/node_modules/jsdom/lib/jsdom/living/generated/Attr.js +215 -0
  1122. data/node_modules/jsdom/lib/jsdom/living/generated/BarProp.js +118 -0
  1123. data/node_modules/jsdom/lib/jsdom/living/generated/BinaryType.js +12 -0
  1124. data/node_modules/jsdom/lib/jsdom/living/generated/Blob.js +198 -0
  1125. data/node_modules/jsdom/lib/jsdom/living/generated/BlobCallback.js +34 -0
  1126. data/node_modules/jsdom/lib/jsdom/living/generated/BlobPropertyBag.js +42 -0
  1127. data/node_modules/jsdom/lib/jsdom/living/generated/CDATASection.js +114 -0
  1128. data/node_modules/jsdom/lib/jsdom/living/generated/CanPlayTypeResult.js +12 -0
  1129. data/node_modules/jsdom/lib/jsdom/living/generated/CharacterData.js +436 -0
  1130. data/node_modules/jsdom/lib/jsdom/living/generated/CloseEvent.js +164 -0
  1131. data/node_modules/jsdom/lib/jsdom/living/generated/CloseEventInit.js +56 -0
  1132. data/node_modules/jsdom/lib/jsdom/living/generated/Comment.js +122 -0
  1133. data/node_modules/jsdom/lib/jsdom/living/generated/CompositionEvent.js +217 -0
  1134. data/node_modules/jsdom/lib/jsdom/living/generated/CompositionEventInit.js +32 -0
  1135. data/node_modules/jsdom/lib/jsdom/living/generated/CustomElementConstructor.js +38 -0
  1136. data/node_modules/jsdom/lib/jsdom/living/generated/CustomElementRegistry.js +242 -0
  1137. data/node_modules/jsdom/lib/jsdom/living/generated/CustomEvent.js +200 -0
  1138. data/node_modules/jsdom/lib/jsdom/living/generated/CustomEventInit.js +32 -0
  1139. data/node_modules/jsdom/lib/jsdom/living/generated/DOMImplementation.js +232 -0
  1140. data/node_modules/jsdom/lib/jsdom/living/generated/DOMParser.js +140 -0
  1141. data/node_modules/jsdom/lib/jsdom/living/generated/DOMStringMap.js +322 -0
  1142. data/node_modules/jsdom/lib/jsdom/living/generated/DOMTokenList.js +531 -0
  1143. data/node_modules/jsdom/lib/jsdom/living/generated/Document.js +3322 -0
  1144. data/node_modules/jsdom/lib/jsdom/living/generated/DocumentFragment.js +325 -0
  1145. data/node_modules/jsdom/lib/jsdom/living/generated/DocumentReadyState.js +12 -0
  1146. data/node_modules/jsdom/lib/jsdom/living/generated/DocumentType.js +246 -0
  1147. data/node_modules/jsdom/lib/jsdom/living/generated/Element.js +1609 -0
  1148. data/node_modules/jsdom/lib/jsdom/living/generated/ElementCreationOptions.js +26 -0
  1149. data/node_modules/jsdom/lib/jsdom/living/generated/ElementDefinitionOptions.js +26 -0
  1150. data/node_modules/jsdom/lib/jsdom/living/generated/EndingType.js +12 -0
  1151. data/node_modules/jsdom/lib/jsdom/living/generated/ErrorEvent.js +186 -0
  1152. data/node_modules/jsdom/lib/jsdom/living/generated/ErrorEventInit.js +80 -0
  1153. data/node_modules/jsdom/lib/jsdom/living/generated/Event.js +390 -0
  1154. data/node_modules/jsdom/lib/jsdom/living/generated/EventHandlerNonNull.js +40 -0
  1155. data/node_modules/jsdom/lib/jsdom/living/generated/EventInit.js +52 -0
  1156. data/node_modules/jsdom/lib/jsdom/living/generated/EventListener.js +35 -0
  1157. data/node_modules/jsdom/lib/jsdom/living/generated/EventListenerOptions.js +28 -0
  1158. data/node_modules/jsdom/lib/jsdom/living/generated/EventModifierInit.js +188 -0
  1159. data/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js +252 -0
  1160. data/node_modules/jsdom/lib/jsdom/living/generated/External.js +129 -0
  1161. data/node_modules/jsdom/lib/jsdom/living/generated/File.js +176 -0
  1162. data/node_modules/jsdom/lib/jsdom/living/generated/FileList.js +305 -0
  1163. data/node_modules/jsdom/lib/jsdom/living/generated/FilePropertyBag.js +30 -0
  1164. data/node_modules/jsdom/lib/jsdom/living/generated/FileReader.js +440 -0
  1165. data/node_modules/jsdom/lib/jsdom/living/generated/FocusEvent.js +142 -0
  1166. data/node_modules/jsdom/lib/jsdom/living/generated/FocusEventInit.js +36 -0
  1167. data/node_modules/jsdom/lib/jsdom/living/generated/FormData.js +421 -0
  1168. data/node_modules/jsdom/lib/jsdom/living/generated/Function.js +46 -0
  1169. data/node_modules/jsdom/lib/jsdom/living/generated/GetRootNodeOptions.js +28 -0
  1170. data/node_modules/jsdom/lib/jsdom/living/generated/HTMLAnchorElement.js +915 -0
  1171. data/node_modules/jsdom/lib/jsdom/living/generated/HTMLAreaElement.js +739 -0
  1172. data/node_modules/jsdom/lib/jsdom/living/generated/HTMLAudioElement.js +115 -0
  1173. data/node_modules/jsdom/lib/jsdom/living/generated/HTMLBRElement.js +153 -0
  1174. data/node_modules/jsdom/lib/jsdom/living/generated/HTMLBaseElement.js +188 -0
  1175. data/node_modules/jsdom/lib/jsdom/living/generated/HTMLBodyElement.js +808 -0
  1176. data/node_modules/jsdom/lib/jsdom/living/generated/HTMLButtonElement.js +487 -0
  1177. data/node_modules/jsdom/lib/jsdom/living/generated/HTMLCanvasElement.js +291 -0
  1178. data/node_modules/jsdom/lib/jsdom/living/generated/HTMLCollection.js +358 -0
  1179. data/node_modules/jsdom/lib/jsdom/living/generated/HTMLDListElement.js +156 -0
  1180. data/node_modules/jsdom/lib/jsdom/living/generated/HTMLDataElement.js +153 -0
  1181. data/node_modules/jsdom/lib/jsdom/living/generated/HTMLDataListElement.js +128 -0
  1182. data/node_modules/jsdom/lib/jsdom/living/generated/HTMLDetailsElement.js +156 -0
  1183. data/node_modules/jsdom/lib/jsdom/living/generated/HTMLDialogElement.js +156 -0
  1184. data/node_modules/jsdom/lib/jsdom/living/generated/HTMLDirectoryElement.js +156 -0
  1185. data/node_modules/jsdom/lib/jsdom/living/generated/HTMLDivElement.js +153 -0
  1186. data/node_modules/jsdom/lib/jsdom/living/generated/HTMLElement.js +2269 -0
  1187. data/node_modules/jsdom/lib/jsdom/living/generated/HTMLEmbedElement.js +346 -0
  1188. data/node_modules/jsdom/lib/jsdom/living/generated/HTMLFieldSetElement.js +315 -0
  1189. data/node_modules/jsdom/lib/jsdom/living/generated/HTMLFontElement.js +226 -0
  1190. data/node_modules/jsdom/lib/jsdom/living/generated/HTMLFormElement.js +457 -0
  1191. data/node_modules/jsdom/lib/jsdom/living/generated/HTMLFrameElement.js +459 -0
  1192. data/node_modules/jsdom/lib/jsdom/living/generated/HTMLFrameSetElement.js +683 -0
  1193. data/node_modules/jsdom/lib/jsdom/living/generated/HTMLHRElement.js +300 -0
  1194. data/node_modules/jsdom/lib/jsdom/living/generated/HTMLHeadElement.js +115 -0
  1195. data/node_modules/jsdom/lib/jsdom/living/generated/HTMLHeadingElement.js +153 -0
  1196. data/node_modules/jsdom/lib/jsdom/living/generated/HTMLHtmlElement.js +153 -0
  1197. data/node_modules/jsdom/lib/jsdom/living/generated/HTMLIFrameElement.js +621 -0
  1198. data/node_modules/jsdom/lib/jsdom/living/generated/HTMLImageElement.js +789 -0
  1199. data/node_modules/jsdom/lib/jsdom/living/generated/HTMLInputElement.js +1696 -0
  1200. data/node_modules/jsdom/lib/jsdom/living/generated/HTMLLIElement.js +194 -0
  1201. data/node_modules/jsdom/lib/jsdom/living/generated/HTMLLabelElement.js +175 -0
  1202. data/node_modules/jsdom/lib/jsdom/living/generated/HTMLLegendElement.js +164 -0
  1203. data/node_modules/jsdom/lib/jsdom/living/generated/HTMLLinkElement.js +496 -0
  1204. data/node_modules/jsdom/lib/jsdom/living/generated/HTMLMapElement.js +166 -0
  1205. data/node_modules/jsdom/lib/jsdom/living/generated/HTMLMarqueeElement.js +509 -0
  1206. data/node_modules/jsdom/lib/jsdom/living/generated/HTMLMediaElement.js +802 -0
  1207. data/node_modules/jsdom/lib/jsdom/living/generated/HTMLMenuElement.js +156 -0
  1208. data/node_modules/jsdom/lib/jsdom/living/generated/HTMLMetaElement.js +261 -0
  1209. data/node_modules/jsdom/lib/jsdom/living/generated/HTMLMeterElement.js +338 -0
  1210. data/node_modules/jsdom/lib/jsdom/living/generated/HTMLModElement.js +202 -0
  1211. data/node_modules/jsdom/lib/jsdom/living/generated/HTMLOListElement.js +266 -0
  1212. data/node_modules/jsdom/lib/jsdom/living/generated/HTMLObjectElement.js +839 -0
  1213. data/node_modules/jsdom/lib/jsdom/living/generated/HTMLOptGroupElement.js +192 -0
  1214. data/node_modules/jsdom/lib/jsdom/living/generated/HTMLOptionElement.js +351 -0
  1215. data/node_modules/jsdom/lib/jsdom/living/generated/HTMLOptionsCollection.js +533 -0
  1216. data/node_modules/jsdom/lib/jsdom/living/generated/HTMLOutputElement.js +371 -0
  1217. data/node_modules/jsdom/lib/jsdom/living/generated/HTMLParagraphElement.js +153 -0
  1218. data/node_modules/jsdom/lib/jsdom/living/generated/HTMLParamElement.js +261 -0
  1219. data/node_modules/jsdom/lib/jsdom/living/generated/HTMLPictureElement.js +115 -0
  1220. data/node_modules/jsdom/lib/jsdom/living/generated/HTMLPreElement.js +158 -0
  1221. data/node_modules/jsdom/lib/jsdom/living/generated/HTMLProgressElement.js +209 -0
  1222. data/node_modules/jsdom/lib/jsdom/living/generated/HTMLQuoteElement.js +166 -0
  1223. data/node_modules/jsdom/lib/jsdom/living/generated/HTMLScriptElement.js +424 -0
  1224. data/node_modules/jsdom/lib/jsdom/living/generated/HTMLSelectElement.js +957 -0
  1225. data/node_modules/jsdom/lib/jsdom/living/generated/HTMLSlotElement.js +188 -0
  1226. data/node_modules/jsdom/lib/jsdom/living/generated/HTMLSourceElement.js +310 -0
  1227. data/node_modules/jsdom/lib/jsdom/living/generated/HTMLSpanElement.js +115 -0
  1228. data/node_modules/jsdom/lib/jsdom/living/generated/HTMLStyleElement.js +200 -0
  1229. data/node_modules/jsdom/lib/jsdom/living/generated/HTMLTableCaptionElement.js +153 -0
  1230. data/node_modules/jsdom/lib/jsdom/living/generated/HTMLTableCellElement.js +635 -0
  1231. data/node_modules/jsdom/lib/jsdom/living/generated/HTMLTableColElement.js +339 -0
  1232. data/node_modules/jsdom/lib/jsdom/living/generated/HTMLTableElement.js +725 -0
  1233. data/node_modules/jsdom/lib/jsdom/living/generated/HTMLTableRowElement.js +386 -0
  1234. data/node_modules/jsdom/lib/jsdom/living/generated/HTMLTableSectionElement.js +329 -0
  1235. data/node_modules/jsdom/lib/jsdom/living/generated/HTMLTemplateElement.js +126 -0
  1236. data/node_modules/jsdom/lib/jsdom/living/generated/HTMLTextAreaElement.js +1088 -0
  1237. data/node_modules/jsdom/lib/jsdom/living/generated/HTMLTimeElement.js +153 -0
  1238. data/node_modules/jsdom/lib/jsdom/living/generated/HTMLTitleElement.js +152 -0
  1239. data/node_modules/jsdom/lib/jsdom/living/generated/HTMLTrackElement.js +334 -0
  1240. data/node_modules/jsdom/lib/jsdom/living/generated/HTMLUListElement.js +192 -0
  1241. data/node_modules/jsdom/lib/jsdom/living/generated/HTMLUnknownElement.js +114 -0
  1242. data/node_modules/jsdom/lib/jsdom/living/generated/HTMLVideoElement.js +310 -0
  1243. data/node_modules/jsdom/lib/jsdom/living/generated/HashChangeEvent.js +153 -0
  1244. data/node_modules/jsdom/lib/jsdom/living/generated/HashChangeEventInit.js +44 -0
  1245. data/node_modules/jsdom/lib/jsdom/living/generated/Headers.js +379 -0
  1246. data/node_modules/jsdom/lib/jsdom/living/generated/History.js +256 -0
  1247. data/node_modules/jsdom/lib/jsdom/living/generated/InputEvent.js +164 -0
  1248. data/node_modules/jsdom/lib/jsdom/living/generated/InputEventInit.js +59 -0
  1249. data/node_modules/jsdom/lib/jsdom/living/generated/KeyboardEvent.js +413 -0
  1250. data/node_modules/jsdom/lib/jsdom/living/generated/KeyboardEventInit.js +104 -0
  1251. data/node_modules/jsdom/lib/jsdom/living/generated/Location.js +370 -0
  1252. data/node_modules/jsdom/lib/jsdom/living/generated/MessageEvent.js +301 -0
  1253. data/node_modules/jsdom/lib/jsdom/living/generated/MessageEventInit.js +94 -0
  1254. data/node_modules/jsdom/lib/jsdom/living/generated/MimeType.js +151 -0
  1255. data/node_modules/jsdom/lib/jsdom/living/generated/MimeTypeArray.js +330 -0
  1256. data/node_modules/jsdom/lib/jsdom/living/generated/MouseEvent.js +463 -0
  1257. data/node_modules/jsdom/lib/jsdom/living/generated/MouseEventInit.js +108 -0
  1258. data/node_modules/jsdom/lib/jsdom/living/generated/MutationCallback.js +38 -0
  1259. data/node_modules/jsdom/lib/jsdom/living/generated/MutationObserver.js +171 -0
  1260. data/node_modules/jsdom/lib/jsdom/living/generated/MutationObserverInit.js +103 -0
  1261. data/node_modules/jsdom/lib/jsdom/living/generated/MutationRecord.js +216 -0
  1262. data/node_modules/jsdom/lib/jsdom/living/generated/NamedNodeMap.js +522 -0
  1263. data/node_modules/jsdom/lib/jsdom/living/generated/Navigator.js +297 -0
  1264. data/node_modules/jsdom/lib/jsdom/living/generated/Node.js +736 -0
  1265. data/node_modules/jsdom/lib/jsdom/living/generated/NodeFilter.js +74 -0
  1266. data/node_modules/jsdom/lib/jsdom/living/generated/NodeIterator.js +196 -0
  1267. data/node_modules/jsdom/lib/jsdom/living/generated/NodeList.js +309 -0
  1268. data/node_modules/jsdom/lib/jsdom/living/generated/OnBeforeUnloadEventHandlerNonNull.js +46 -0
  1269. data/node_modules/jsdom/lib/jsdom/living/generated/OnErrorEventHandlerNonNull.js +60 -0
  1270. data/node_modules/jsdom/lib/jsdom/living/generated/PageTransitionEvent.js +146 -0
  1271. data/node_modules/jsdom/lib/jsdom/living/generated/PageTransitionEventInit.js +32 -0
  1272. data/node_modules/jsdom/lib/jsdom/living/generated/Performance.js +145 -0
  1273. data/node_modules/jsdom/lib/jsdom/living/generated/Plugin.js +361 -0
  1274. data/node_modules/jsdom/lib/jsdom/living/generated/PluginArray.js +340 -0
  1275. data/node_modules/jsdom/lib/jsdom/living/generated/PopStateEvent.js +142 -0
  1276. data/node_modules/jsdom/lib/jsdom/living/generated/PopStateEventInit.js +32 -0
  1277. data/node_modules/jsdom/lib/jsdom/living/generated/ProcessingInstruction.js +125 -0
  1278. data/node_modules/jsdom/lib/jsdom/living/generated/ProgressEvent.js +166 -0
  1279. data/node_modules/jsdom/lib/jsdom/living/generated/ProgressEventInit.js +56 -0
  1280. data/node_modules/jsdom/lib/jsdom/living/generated/Range.js +619 -0
  1281. data/node_modules/jsdom/lib/jsdom/living/generated/SVGAnimatedString.js +143 -0
  1282. data/node_modules/jsdom/lib/jsdom/living/generated/SVGBoundingBoxOptions.js +64 -0
  1283. data/node_modules/jsdom/lib/jsdom/living/generated/SVGElement.js +1986 -0
  1284. data/node_modules/jsdom/lib/jsdom/living/generated/SVGGraphicsElement.js +144 -0
  1285. data/node_modules/jsdom/lib/jsdom/living/generated/SVGNumber.js +130 -0
  1286. data/node_modules/jsdom/lib/jsdom/living/generated/SVGSVGElement.js +681 -0
  1287. data/node_modules/jsdom/lib/jsdom/living/generated/SVGStringList.js +504 -0
  1288. data/node_modules/jsdom/lib/jsdom/living/generated/SVGTitleElement.js +114 -0
  1289. data/node_modules/jsdom/lib/jsdom/living/generated/Screen.js +173 -0
  1290. data/node_modules/jsdom/lib/jsdom/living/generated/ScrollBehavior.js +12 -0
  1291. data/node_modules/jsdom/lib/jsdom/living/generated/ScrollIntoViewOptions.js +45 -0
  1292. data/node_modules/jsdom/lib/jsdom/living/generated/ScrollLogicalPosition.js +12 -0
  1293. data/node_modules/jsdom/lib/jsdom/living/generated/ScrollOptions.js +30 -0
  1294. data/node_modules/jsdom/lib/jsdom/living/generated/ScrollRestoration.js +12 -0
  1295. data/node_modules/jsdom/lib/jsdom/living/generated/Selection.js +527 -0
  1296. data/node_modules/jsdom/lib/jsdom/living/generated/SelectionMode.js +12 -0
  1297. data/node_modules/jsdom/lib/jsdom/living/generated/ShadowRoot.js +185 -0
  1298. data/node_modules/jsdom/lib/jsdom/living/generated/ShadowRootInit.js +30 -0
  1299. data/node_modules/jsdom/lib/jsdom/living/generated/ShadowRootMode.js +12 -0
  1300. data/node_modules/jsdom/lib/jsdom/living/generated/StaticRange.js +126 -0
  1301. data/node_modules/jsdom/lib/jsdom/living/generated/StaticRangeInit.js +66 -0
  1302. data/node_modules/jsdom/lib/jsdom/living/generated/Storage.js +389 -0
  1303. data/node_modules/jsdom/lib/jsdom/living/generated/StorageEvent.js +305 -0
  1304. data/node_modules/jsdom/lib/jsdom/living/generated/StorageEventInit.js +93 -0
  1305. data/node_modules/jsdom/lib/jsdom/living/generated/StyleSheetList.js +307 -0
  1306. data/node_modules/jsdom/lib/jsdom/living/generated/SupportedType.js +18 -0
  1307. data/node_modules/jsdom/lib/jsdom/living/generated/Text.js +169 -0
  1308. data/node_modules/jsdom/lib/jsdom/living/generated/TextTrackKind.js +12 -0
  1309. data/node_modules/jsdom/lib/jsdom/living/generated/TouchEvent.js +208 -0
  1310. data/node_modules/jsdom/lib/jsdom/living/generated/TouchEventInit.js +89 -0
  1311. data/node_modules/jsdom/lib/jsdom/living/generated/TreeWalker.js +236 -0
  1312. data/node_modules/jsdom/lib/jsdom/living/generated/UIEvent.js +235 -0
  1313. data/node_modules/jsdom/lib/jsdom/living/generated/UIEventInit.js +59 -0
  1314. data/node_modules/jsdom/lib/jsdom/living/generated/ValidityState.js +228 -0
  1315. data/node_modules/jsdom/lib/jsdom/living/generated/VisibilityState.js +12 -0
  1316. data/node_modules/jsdom/lib/jsdom/living/generated/VoidFunction.js +30 -0
  1317. data/node_modules/jsdom/lib/jsdom/living/generated/WebSocket.js +444 -0
  1318. data/node_modules/jsdom/lib/jsdom/living/generated/WheelEvent.js +183 -0
  1319. data/node_modules/jsdom/lib/jsdom/living/generated/WheelEventInit.js +68 -0
  1320. data/node_modules/jsdom/lib/jsdom/living/generated/XMLDocument.js +114 -0
  1321. data/node_modules/jsdom/lib/jsdom/living/generated/XMLHttpRequest.js +617 -0
  1322. data/node_modules/jsdom/lib/jsdom/living/generated/XMLHttpRequestEventTarget.js +341 -0
  1323. data/node_modules/jsdom/lib/jsdom/living/generated/XMLHttpRequestResponseType.js +12 -0
  1324. data/node_modules/jsdom/lib/jsdom/living/generated/XMLHttpRequestUpload.js +114 -0
  1325. data/node_modules/jsdom/lib/jsdom/living/generated/XMLSerializer.js +133 -0
  1326. data/node_modules/jsdom/lib/jsdom/living/generated/utils.js +141 -0
  1327. data/node_modules/jsdom/lib/jsdom/living/helpers/agent-factory.js +15 -0
  1328. data/node_modules/jsdom/lib/jsdom/living/helpers/binary-data.js +9 -0
  1329. data/node_modules/jsdom/lib/jsdom/living/helpers/create-element.js +320 -0
  1330. data/node_modules/jsdom/lib/jsdom/living/helpers/create-event-accessor.js +188 -0
  1331. data/node_modules/jsdom/lib/jsdom/living/helpers/custom-elements.js +270 -0
  1332. data/node_modules/jsdom/lib/jsdom/living/helpers/dates-and-times.js +270 -0
  1333. data/node_modules/jsdom/lib/jsdom/living/helpers/details.js +15 -0
  1334. data/node_modules/jsdom/lib/jsdom/living/helpers/document-base-url.js +54 -0
  1335. data/node_modules/jsdom/lib/jsdom/living/helpers/events.js +24 -0
  1336. data/node_modules/jsdom/lib/jsdom/living/helpers/focusing.js +104 -0
  1337. data/node_modules/jsdom/lib/jsdom/living/helpers/form-controls.js +306 -0
  1338. data/node_modules/jsdom/lib/jsdom/living/helpers/html-constructor.js +78 -0
  1339. data/node_modules/jsdom/lib/jsdom/living/helpers/http-request.js +254 -0
  1340. data/node_modules/jsdom/lib/jsdom/living/helpers/internal-constants.js +12 -0
  1341. data/node_modules/jsdom/lib/jsdom/living/helpers/iterable-weak-set.js +48 -0
  1342. data/node_modules/jsdom/lib/jsdom/living/helpers/json.js +12 -0
  1343. data/node_modules/jsdom/lib/jsdom/living/helpers/mutation-observers.js +198 -0
  1344. data/node_modules/jsdom/lib/jsdom/living/helpers/namespaces.js +15 -0
  1345. data/node_modules/jsdom/lib/jsdom/living/helpers/node.js +68 -0
  1346. data/node_modules/jsdom/lib/jsdom/living/helpers/number-and-date-inputs.js +195 -0
  1347. data/node_modules/jsdom/lib/jsdom/living/helpers/ordered-set.js +104 -0
  1348. data/node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js +76 -0
  1349. data/node_modules/jsdom/lib/jsdom/living/helpers/selectors.js +47 -0
  1350. data/node_modules/jsdom/lib/jsdom/living/helpers/shadow-dom.js +285 -0
  1351. data/node_modules/jsdom/lib/jsdom/living/helpers/strings.js +148 -0
  1352. data/node_modules/jsdom/lib/jsdom/living/helpers/style-rules.js +114 -0
  1353. data/node_modules/jsdom/lib/jsdom/living/helpers/stylesheets.js +113 -0
  1354. data/node_modules/jsdom/lib/jsdom/living/helpers/svg/basic-types.js +41 -0
  1355. data/node_modules/jsdom/lib/jsdom/living/helpers/svg/render.js +46 -0
  1356. data/node_modules/jsdom/lib/jsdom/living/helpers/text.js +19 -0
  1357. data/node_modules/jsdom/lib/jsdom/living/helpers/traversal.js +72 -0
  1358. data/node_modules/jsdom/lib/jsdom/living/helpers/validate-names.js +75 -0
  1359. data/node_modules/jsdom/lib/jsdom/living/hr-time/Performance-impl.js +25 -0
  1360. data/node_modules/jsdom/lib/jsdom/living/interfaces.js +217 -0
  1361. data/node_modules/jsdom/lib/jsdom/living/mutation-observer/MutationObserver-impl.js +95 -0
  1362. data/node_modules/jsdom/lib/jsdom/living/mutation-observer/MutationRecord-impl.js +37 -0
  1363. data/node_modules/jsdom/lib/jsdom/living/named-properties-window.js +141 -0
  1364. data/node_modules/jsdom/lib/jsdom/living/navigator/MimeType-impl.js +3 -0
  1365. data/node_modules/jsdom/lib/jsdom/living/navigator/MimeTypeArray-impl.js +21 -0
  1366. data/node_modules/jsdom/lib/jsdom/living/navigator/Navigator-impl.js +29 -0
  1367. data/node_modules/jsdom/lib/jsdom/living/navigator/NavigatorConcurrentHardware-impl.js +8 -0
  1368. data/node_modules/jsdom/lib/jsdom/living/navigator/NavigatorCookies-impl.js +7 -0
  1369. data/node_modules/jsdom/lib/jsdom/living/navigator/NavigatorID-impl.js +37 -0
  1370. data/node_modules/jsdom/lib/jsdom/living/navigator/NavigatorLanguage-impl.js +9 -0
  1371. data/node_modules/jsdom/lib/jsdom/living/navigator/NavigatorOnLine-impl.js +7 -0
  1372. data/node_modules/jsdom/lib/jsdom/living/navigator/NavigatorPlugins-impl.js +8 -0
  1373. data/node_modules/jsdom/lib/jsdom/living/navigator/Plugin-impl.js +3 -0
  1374. data/node_modules/jsdom/lib/jsdom/living/navigator/PluginArray-impl.js +23 -0
  1375. data/node_modules/jsdom/lib/jsdom/living/node-document-position.js +10 -0
  1376. data/node_modules/jsdom/lib/jsdom/living/node-type.js +16 -0
  1377. data/node_modules/jsdom/lib/jsdom/living/node.js +331 -0
  1378. data/node_modules/jsdom/lib/jsdom/living/nodes/CDATASection-impl.js +16 -0
  1379. data/node_modules/jsdom/lib/jsdom/living/nodes/CharacterData-impl.js +118 -0
  1380. data/node_modules/jsdom/lib/jsdom/living/nodes/ChildNode-impl.js +80 -0
  1381. data/node_modules/jsdom/lib/jsdom/living/nodes/Comment-impl.js +20 -0
  1382. data/node_modules/jsdom/lib/jsdom/living/nodes/DOMImplementation-impl.js +120 -0
  1383. data/node_modules/jsdom/lib/jsdom/living/nodes/DOMStringMap-impl.js +64 -0
  1384. data/node_modules/jsdom/lib/jsdom/living/nodes/DOMTokenList-impl.js +171 -0
  1385. data/node_modules/jsdom/lib/jsdom/living/nodes/Document-impl.js +946 -0
  1386. data/node_modules/jsdom/lib/jsdom/living/nodes/DocumentFragment-impl.js +44 -0
  1387. data/node_modules/jsdom/lib/jsdom/living/nodes/DocumentOrShadowRoot-impl.js +28 -0
  1388. data/node_modules/jsdom/lib/jsdom/living/nodes/DocumentType-impl.js +24 -0
  1389. data/node_modules/jsdom/lib/jsdom/living/nodes/Element-impl.js +578 -0
  1390. data/node_modules/jsdom/lib/jsdom/living/nodes/ElementCSSInlineStyle-impl.js +25 -0
  1391. data/node_modules/jsdom/lib/jsdom/living/nodes/ElementContentEditable-impl.js +7 -0
  1392. data/node_modules/jsdom/lib/jsdom/living/nodes/GlobalEventHandlers-impl.js +95 -0
  1393. data/node_modules/jsdom/lib/jsdom/living/nodes/HTMLAnchorElement-impl.js +50 -0
  1394. data/node_modules/jsdom/lib/jsdom/living/nodes/HTMLAreaElement-impl.js +43 -0
  1395. data/node_modules/jsdom/lib/jsdom/living/nodes/HTMLAudioElement-impl.js +9 -0
  1396. data/node_modules/jsdom/lib/jsdom/living/nodes/HTMLBRElement-impl.js +9 -0
  1397. data/node_modules/jsdom/lib/jsdom/living/nodes/HTMLBaseElement-impl.js +27 -0
  1398. data/node_modules/jsdom/lib/jsdom/living/nodes/HTMLBodyElement-impl.js +17 -0
  1399. data/node_modules/jsdom/lib/jsdom/living/nodes/HTMLButtonElement-impl.js +79 -0
  1400. data/node_modules/jsdom/lib/jsdom/living/nodes/HTMLCanvasElement-impl.js +130 -0
  1401. data/node_modules/jsdom/lib/jsdom/living/nodes/HTMLCollection-impl.js +96 -0
  1402. data/node_modules/jsdom/lib/jsdom/living/nodes/HTMLDListElement-impl.js +9 -0
  1403. data/node_modules/jsdom/lib/jsdom/living/nodes/HTMLDataElement-impl.js +9 -0
  1404. data/node_modules/jsdom/lib/jsdom/living/nodes/HTMLDataListElement-impl.js +20 -0
  1405. data/node_modules/jsdom/lib/jsdom/living/nodes/HTMLDetailsElement-impl.js +35 -0
  1406. data/node_modules/jsdom/lib/jsdom/living/nodes/HTMLDialogElement-impl.js +9 -0
  1407. data/node_modules/jsdom/lib/jsdom/living/nodes/HTMLDirectoryElement-impl.js +9 -0
  1408. data/node_modules/jsdom/lib/jsdom/living/nodes/HTMLDivElement-impl.js +9 -0
  1409. data/node_modules/jsdom/lib/jsdom/living/nodes/HTMLElement-impl.js +160 -0
  1410. data/node_modules/jsdom/lib/jsdom/living/nodes/HTMLEmbedElement-impl.js +8 -0
  1411. data/node_modules/jsdom/lib/jsdom/living/nodes/HTMLFieldSetElement-impl.js +43 -0
  1412. data/node_modules/jsdom/lib/jsdom/living/nodes/HTMLFontElement-impl.js +9 -0
  1413. data/node_modules/jsdom/lib/jsdom/living/nodes/HTMLFormElement-impl.js +226 -0
  1414. data/node_modules/jsdom/lib/jsdom/living/nodes/HTMLFrameElement-impl.js +261 -0
  1415. data/node_modules/jsdom/lib/jsdom/living/nodes/HTMLFrameSetElement-impl.js +17 -0
  1416. data/node_modules/jsdom/lib/jsdom/living/nodes/HTMLHRElement-impl.js +9 -0
  1417. data/node_modules/jsdom/lib/jsdom/living/nodes/HTMLHeadElement-impl.js +9 -0
  1418. data/node_modules/jsdom/lib/jsdom/living/nodes/HTMLHeadingElement-impl.js +9 -0
  1419. data/node_modules/jsdom/lib/jsdom/living/nodes/HTMLHtmlElement-impl.js +9 -0
  1420. data/node_modules/jsdom/lib/jsdom/living/nodes/HTMLHyperlinkElementUtils-impl.js +371 -0
  1421. data/node_modules/jsdom/lib/jsdom/living/nodes/HTMLIFrameElement-impl.js +9 -0
  1422. data/node_modules/jsdom/lib/jsdom/living/nodes/HTMLImageElement-impl.js +132 -0
  1423. data/node_modules/jsdom/lib/jsdom/living/nodes/HTMLInputElement-impl.js +1128 -0
  1424. data/node_modules/jsdom/lib/jsdom/living/nodes/HTMLLIElement-impl.js +9 -0
  1425. data/node_modules/jsdom/lib/jsdom/living/nodes/HTMLLabelElement-impl.js +94 -0
  1426. data/node_modules/jsdom/lib/jsdom/living/nodes/HTMLLegendElement-impl.js +18 -0
  1427. data/node_modules/jsdom/lib/jsdom/living/nodes/HTMLLinkElement-impl.js +101 -0
  1428. data/node_modules/jsdom/lib/jsdom/living/nodes/HTMLMapElement-impl.js +13 -0
  1429. data/node_modules/jsdom/lib/jsdom/living/nodes/HTMLMarqueeElement-impl.js +9 -0
  1430. data/node_modules/jsdom/lib/jsdom/living/nodes/HTMLMediaElement-impl.js +138 -0
  1431. data/node_modules/jsdom/lib/jsdom/living/nodes/HTMLMenuElement-impl.js +9 -0
  1432. data/node_modules/jsdom/lib/jsdom/living/nodes/HTMLMetaElement-impl.js +9 -0
  1433. data/node_modules/jsdom/lib/jsdom/living/nodes/HTMLMeterElement-impl.js +180 -0
  1434. data/node_modules/jsdom/lib/jsdom/living/nodes/HTMLModElement-impl.js +9 -0
  1435. data/node_modules/jsdom/lib/jsdom/living/nodes/HTMLOListElement-impl.js +22 -0
  1436. data/node_modules/jsdom/lib/jsdom/living/nodes/HTMLObjectElement-impl.js +26 -0
  1437. data/node_modules/jsdom/lib/jsdom/living/nodes/HTMLOptGroupElement-impl.js +9 -0
  1438. data/node_modules/jsdom/lib/jsdom/living/nodes/HTMLOptionElement-impl.js +146 -0
  1439. data/node_modules/jsdom/lib/jsdom/living/nodes/HTMLOptionsCollection-impl.js +110 -0
  1440. data/node_modules/jsdom/lib/jsdom/living/nodes/HTMLOrSVGElement-impl.js +85 -0
  1441. data/node_modules/jsdom/lib/jsdom/living/nodes/HTMLOutputElement-impl.js +88 -0
  1442. data/node_modules/jsdom/lib/jsdom/living/nodes/HTMLParagraphElement-impl.js +9 -0
  1443. data/node_modules/jsdom/lib/jsdom/living/nodes/HTMLParamElement-impl.js +9 -0
  1444. data/node_modules/jsdom/lib/jsdom/living/nodes/HTMLPictureElement-impl.js +9 -0
  1445. data/node_modules/jsdom/lib/jsdom/living/nodes/HTMLPreElement-impl.js +9 -0
  1446. data/node_modules/jsdom/lib/jsdom/living/nodes/HTMLProgressElement-impl.js +74 -0
  1447. data/node_modules/jsdom/lib/jsdom/living/nodes/HTMLQuoteElement-impl.js +9 -0
  1448. data/node_modules/jsdom/lib/jsdom/living/nodes/HTMLScriptElement-impl.js +265 -0
  1449. data/node_modules/jsdom/lib/jsdom/living/nodes/HTMLSelectElement-impl.js +283 -0
  1450. data/node_modules/jsdom/lib/jsdom/living/nodes/HTMLSlotElement-impl.js +59 -0
  1451. data/node_modules/jsdom/lib/jsdom/living/nodes/HTMLSourceElement-impl.js +8 -0
  1452. data/node_modules/jsdom/lib/jsdom/living/nodes/HTMLSpanElement-impl.js +9 -0
  1453. data/node_modules/jsdom/lib/jsdom/living/nodes/HTMLStyleElement-impl.js +74 -0
  1454. data/node_modules/jsdom/lib/jsdom/living/nodes/HTMLTableCaptionElement-impl.js +9 -0
  1455. data/node_modules/jsdom/lib/jsdom/living/nodes/HTMLTableCellElement-impl.js +73 -0
  1456. data/node_modules/jsdom/lib/jsdom/living/nodes/HTMLTableColElement-impl.js +9 -0
  1457. data/node_modules/jsdom/lib/jsdom/living/nodes/HTMLTableElement-impl.js +236 -0
  1458. data/node_modules/jsdom/lib/jsdom/living/nodes/HTMLTableRowElement-impl.js +88 -0
  1459. data/node_modules/jsdom/lib/jsdom/living/nodes/HTMLTableSectionElement-impl.js +61 -0
  1460. data/node_modules/jsdom/lib/jsdom/living/nodes/HTMLTemplateElement-impl.js +67 -0
  1461. data/node_modules/jsdom/lib/jsdom/living/nodes/HTMLTextAreaElement-impl.js +272 -0
  1462. data/node_modules/jsdom/lib/jsdom/living/nodes/HTMLTimeElement-impl.js +9 -0
  1463. data/node_modules/jsdom/lib/jsdom/living/nodes/HTMLTitleElement-impl.js +18 -0
  1464. data/node_modules/jsdom/lib/jsdom/living/nodes/HTMLTrackElement-impl.js +13 -0
  1465. data/node_modules/jsdom/lib/jsdom/living/nodes/HTMLUListElement-impl.js +9 -0
  1466. data/node_modules/jsdom/lib/jsdom/living/nodes/HTMLUnknownElement-impl.js +9 -0
  1467. data/node_modules/jsdom/lib/jsdom/living/nodes/HTMLVideoElement-impl.js +17 -0
  1468. data/node_modules/jsdom/lib/jsdom/living/nodes/LinkStyle-impl.js +2 -0
  1469. data/node_modules/jsdom/lib/jsdom/living/nodes/Node-impl.js +1165 -0
  1470. data/node_modules/jsdom/lib/jsdom/living/nodes/NodeList-impl.js +43 -0
  1471. data/node_modules/jsdom/lib/jsdom/living/nodes/NonDocumentTypeChildNode-impl.js +28 -0
  1472. data/node_modules/jsdom/lib/jsdom/living/nodes/NonElementParentNode-impl.js +11 -0
  1473. data/node_modules/jsdom/lib/jsdom/living/nodes/ParentNode-impl.js +91 -0
  1474. data/node_modules/jsdom/lib/jsdom/living/nodes/ProcessingInstruction-impl.js +22 -0
  1475. data/node_modules/jsdom/lib/jsdom/living/nodes/SVGElement-impl.js +64 -0
  1476. data/node_modules/jsdom/lib/jsdom/living/nodes/SVGGraphicsElement-impl.js +16 -0
  1477. data/node_modules/jsdom/lib/jsdom/living/nodes/SVGSVGElement-impl.js +42 -0
  1478. data/node_modules/jsdom/lib/jsdom/living/nodes/SVGTests-impl.js +42 -0
  1479. data/node_modules/jsdom/lib/jsdom/living/nodes/SVGTitleElement-impl.js +9 -0
  1480. data/node_modules/jsdom/lib/jsdom/living/nodes/ShadowRoot-impl.js +40 -0
  1481. data/node_modules/jsdom/lib/jsdom/living/nodes/Slotable-impl.js +48 -0
  1482. data/node_modules/jsdom/lib/jsdom/living/nodes/Text-impl.js +96 -0
  1483. data/node_modules/jsdom/lib/jsdom/living/nodes/WindowEventHandlers-impl.js +52 -0
  1484. data/node_modules/jsdom/lib/jsdom/living/nodes/XMLDocument-impl.js +4 -0
  1485. data/node_modules/jsdom/lib/jsdom/living/post-message.js +39 -0
  1486. data/node_modules/jsdom/lib/jsdom/living/range/AbstractRange-impl.js +43 -0
  1487. data/node_modules/jsdom/lib/jsdom/living/range/Range-impl.js +889 -0
  1488. data/node_modules/jsdom/lib/jsdom/living/range/StaticRange-impl.js +39 -0
  1489. data/node_modules/jsdom/lib/jsdom/living/range/boundary-point.js +47 -0
  1490. data/node_modules/jsdom/lib/jsdom/living/selection/Selection-impl.js +342 -0
  1491. data/node_modules/jsdom/lib/jsdom/living/svg/SVGAnimatedString-impl.js +38 -0
  1492. data/node_modules/jsdom/lib/jsdom/living/svg/SVGListBase.js +195 -0
  1493. data/node_modules/jsdom/lib/jsdom/living/svg/SVGNumber-impl.js +48 -0
  1494. data/node_modules/jsdom/lib/jsdom/living/svg/SVGStringList-impl.js +16 -0
  1495. data/node_modules/jsdom/lib/jsdom/living/traversal/NodeIterator-impl.js +127 -0
  1496. data/node_modules/jsdom/lib/jsdom/living/traversal/TreeWalker-impl.js +217 -0
  1497. data/node_modules/jsdom/lib/jsdom/living/traversal/helpers.js +44 -0
  1498. data/node_modules/jsdom/lib/jsdom/living/websockets/WebSocket-impl-browser.js +175 -0
  1499. data/node_modules/jsdom/lib/jsdom/living/websockets/WebSocket-impl.js +328 -0
  1500. data/node_modules/jsdom/lib/jsdom/living/webstorage/Storage-impl.js +102 -0
  1501. data/node_modules/jsdom/lib/jsdom/living/window/BarProp-impl.js +10 -0
  1502. data/node_modules/jsdom/lib/jsdom/living/window/External-impl.js +9 -0
  1503. data/node_modules/jsdom/lib/jsdom/living/window/History-impl.js +134 -0
  1504. data/node_modules/jsdom/lib/jsdom/living/window/Location-impl.js +238 -0
  1505. data/node_modules/jsdom/lib/jsdom/living/window/Screen-impl.js +13 -0
  1506. data/node_modules/jsdom/lib/jsdom/living/window/SessionHistory.js +163 -0
  1507. data/node_modules/jsdom/lib/jsdom/living/window/navigation.js +84 -0
  1508. data/node_modules/jsdom/lib/jsdom/living/xhr/FormData-impl.js +171 -0
  1509. data/node_modules/jsdom/lib/jsdom/living/xhr/XMLHttpRequest-impl.js +1023 -0
  1510. data/node_modules/jsdom/lib/jsdom/living/xhr/XMLHttpRequestEventTarget-impl.js +17 -0
  1511. data/node_modules/jsdom/lib/jsdom/living/xhr/XMLHttpRequestUpload-impl.js +4 -0
  1512. data/node_modules/jsdom/lib/jsdom/living/xhr/xhr-sync-worker.js +60 -0
  1513. data/node_modules/jsdom/lib/jsdom/living/xhr/xhr-utils.js +438 -0
  1514. data/node_modules/jsdom/lib/jsdom/named-properties-tracker.js +158 -0
  1515. data/node_modules/jsdom/lib/jsdom/utils.js +165 -0
  1516. data/node_modules/jsdom/lib/jsdom/virtual-console.js +34 -0
  1517. data/node_modules/jsdom/lib/jsdom/vm-shim.js +106 -0
  1518. data/node_modules/jsdom/package.json +116 -0
  1519. data/node_modules/jsonfile/CHANGELOG.md +171 -0
  1520. data/node_modules/jsonfile/LICENSE +15 -0
  1521. data/node_modules/jsonfile/README.md +230 -0
  1522. data/node_modules/jsonfile/index.js +88 -0
  1523. data/node_modules/jsonfile/package.json +40 -0
  1524. data/node_modules/jsonfile/utils.js +14 -0
  1525. data/node_modules/levn/LICENSE +22 -0
  1526. data/node_modules/levn/README.md +196 -0
  1527. data/node_modules/levn/lib/cast.js +298 -0
  1528. data/node_modules/levn/lib/coerce.js +285 -0
  1529. data/node_modules/levn/lib/index.js +22 -0
  1530. data/node_modules/levn/lib/parse-string.js +113 -0
  1531. data/node_modules/levn/lib/parse.js +102 -0
  1532. data/node_modules/levn/package.json +47 -0
  1533. data/node_modules/lodash/LICENSE +47 -0
  1534. data/node_modules/lodash/README.md +39 -0
  1535. data/node_modules/lodash/_DataView.js +7 -0
  1536. data/node_modules/lodash/_Hash.js +32 -0
  1537. data/node_modules/lodash/_LazyWrapper.js +28 -0
  1538. data/node_modules/lodash/_ListCache.js +32 -0
  1539. data/node_modules/lodash/_LodashWrapper.js +22 -0
  1540. data/node_modules/lodash/_Map.js +7 -0
  1541. data/node_modules/lodash/_MapCache.js +32 -0
  1542. data/node_modules/lodash/_Promise.js +7 -0
  1543. data/node_modules/lodash/_Set.js +7 -0
  1544. data/node_modules/lodash/_SetCache.js +27 -0
  1545. data/node_modules/lodash/_Stack.js +27 -0
  1546. data/node_modules/lodash/_Symbol.js +6 -0
  1547. data/node_modules/lodash/_Uint8Array.js +6 -0
  1548. data/node_modules/lodash/_WeakMap.js +7 -0
  1549. data/node_modules/lodash/_apply.js +21 -0
  1550. data/node_modules/lodash/_arrayAggregator.js +22 -0
  1551. data/node_modules/lodash/_arrayEach.js +22 -0
  1552. data/node_modules/lodash/_arrayEachRight.js +21 -0
  1553. data/node_modules/lodash/_arrayEvery.js +23 -0
  1554. data/node_modules/lodash/_arrayFilter.js +25 -0
  1555. data/node_modules/lodash/_arrayIncludes.js +17 -0
  1556. data/node_modules/lodash/_arrayIncludesWith.js +22 -0
  1557. data/node_modules/lodash/_arrayLikeKeys.js +49 -0
  1558. data/node_modules/lodash/_arrayMap.js +21 -0
  1559. data/node_modules/lodash/_arrayPush.js +20 -0
  1560. data/node_modules/lodash/_arrayReduce.js +26 -0
  1561. data/node_modules/lodash/_arrayReduceRight.js +24 -0
  1562. data/node_modules/lodash/_arraySample.js +15 -0
  1563. data/node_modules/lodash/_arraySampleSize.js +17 -0
  1564. data/node_modules/lodash/_arrayShuffle.js +15 -0
  1565. data/node_modules/lodash/_arraySome.js +23 -0
  1566. data/node_modules/lodash/_asciiSize.js +12 -0
  1567. data/node_modules/lodash/_asciiToArray.js +12 -0
  1568. data/node_modules/lodash/_asciiWords.js +15 -0
  1569. data/node_modules/lodash/_assignMergeValue.js +20 -0
  1570. data/node_modules/lodash/_assignValue.js +28 -0
  1571. data/node_modules/lodash/_assocIndexOf.js +21 -0
  1572. data/node_modules/lodash/_baseAggregator.js +21 -0
  1573. data/node_modules/lodash/_baseAssign.js +17 -0
  1574. data/node_modules/lodash/_baseAssignIn.js +17 -0
  1575. data/node_modules/lodash/_baseAssignValue.js +25 -0
  1576. data/node_modules/lodash/_baseAt.js +23 -0
  1577. data/node_modules/lodash/_baseClamp.js +22 -0
  1578. data/node_modules/lodash/_baseClone.js +166 -0
  1579. data/node_modules/lodash/_baseConforms.js +18 -0
  1580. data/node_modules/lodash/_baseConformsTo.js +27 -0
  1581. data/node_modules/lodash/_baseCreate.js +30 -0
  1582. data/node_modules/lodash/_baseDelay.js +21 -0
  1583. data/node_modules/lodash/_baseDifference.js +67 -0
  1584. data/node_modules/lodash/_baseEach.js +14 -0
  1585. data/node_modules/lodash/_baseEachRight.js +14 -0
  1586. data/node_modules/lodash/_baseEvery.js +21 -0
  1587. data/node_modules/lodash/_baseExtremum.js +32 -0
  1588. data/node_modules/lodash/_baseFill.js +32 -0
  1589. data/node_modules/lodash/_baseFilter.js +21 -0
  1590. data/node_modules/lodash/_baseFindIndex.js +24 -0
  1591. data/node_modules/lodash/_baseFindKey.js +23 -0
  1592. data/node_modules/lodash/_baseFlatten.js +38 -0
  1593. data/node_modules/lodash/_baseFor.js +16 -0
  1594. data/node_modules/lodash/_baseForOwn.js +16 -0
  1595. data/node_modules/lodash/_baseForOwnRight.js +16 -0
  1596. data/node_modules/lodash/_baseForRight.js +15 -0
  1597. data/node_modules/lodash/_baseFunctions.js +19 -0
  1598. data/node_modules/lodash/_baseGet.js +24 -0
  1599. data/node_modules/lodash/_baseGetAllKeys.js +20 -0
  1600. data/node_modules/lodash/_baseGetTag.js +28 -0
  1601. data/node_modules/lodash/_baseGt.js +14 -0
  1602. data/node_modules/lodash/_baseHas.js +19 -0
  1603. data/node_modules/lodash/_baseHasIn.js +13 -0
  1604. data/node_modules/lodash/_baseInRange.js +18 -0
  1605. data/node_modules/lodash/_baseIndexOf.js +20 -0
  1606. data/node_modules/lodash/_baseIndexOfWith.js +23 -0
  1607. data/node_modules/lodash/_baseIntersection.js +74 -0
  1608. data/node_modules/lodash/_baseInverter.js +21 -0
  1609. data/node_modules/lodash/_baseInvoke.js +24 -0
  1610. data/node_modules/lodash/_baseIsArguments.js +18 -0
  1611. data/node_modules/lodash/_baseIsArrayBuffer.js +17 -0
  1612. data/node_modules/lodash/_baseIsDate.js +18 -0
  1613. data/node_modules/lodash/_baseIsEqual.js +28 -0
  1614. data/node_modules/lodash/_baseIsEqualDeep.js +83 -0
  1615. data/node_modules/lodash/_baseIsMap.js +18 -0
  1616. data/node_modules/lodash/_baseIsMatch.js +62 -0
  1617. data/node_modules/lodash/_baseIsNaN.js +12 -0
  1618. data/node_modules/lodash/_baseIsNative.js +47 -0
  1619. data/node_modules/lodash/_baseIsRegExp.js +18 -0
  1620. data/node_modules/lodash/_baseIsSet.js +18 -0
  1621. data/node_modules/lodash/_baseIsTypedArray.js +60 -0
  1622. data/node_modules/lodash/_baseIteratee.js +31 -0
  1623. data/node_modules/lodash/_baseKeys.js +30 -0
  1624. data/node_modules/lodash/_baseKeysIn.js +33 -0
  1625. data/node_modules/lodash/_baseLodash.js +10 -0
  1626. data/node_modules/lodash/_baseLt.js +14 -0
  1627. data/node_modules/lodash/_baseMap.js +22 -0
  1628. data/node_modules/lodash/_baseMatches.js +22 -0
  1629. data/node_modules/lodash/_baseMatchesProperty.js +33 -0
  1630. data/node_modules/lodash/_baseMean.js +20 -0
  1631. data/node_modules/lodash/_baseMerge.js +42 -0
  1632. data/node_modules/lodash/_baseMergeDeep.js +94 -0
  1633. data/node_modules/lodash/_baseNth.js +20 -0
  1634. data/node_modules/lodash/_baseOrderBy.js +49 -0
  1635. data/node_modules/lodash/_basePick.js +19 -0
  1636. data/node_modules/lodash/_basePickBy.js +30 -0
  1637. data/node_modules/lodash/_baseProperty.js +14 -0
  1638. data/node_modules/lodash/_basePropertyDeep.js +16 -0
  1639. data/node_modules/lodash/_basePropertyOf.js +14 -0
  1640. data/node_modules/lodash/_basePullAll.js +51 -0
  1641. data/node_modules/lodash/_basePullAt.js +37 -0
  1642. data/node_modules/lodash/_baseRandom.js +18 -0
  1643. data/node_modules/lodash/_baseRange.js +28 -0
  1644. data/node_modules/lodash/_baseReduce.js +23 -0
  1645. data/node_modules/lodash/_baseRepeat.js +35 -0
  1646. data/node_modules/lodash/_baseRest.js +17 -0
  1647. data/node_modules/lodash/_baseSample.js +15 -0
  1648. data/node_modules/lodash/_baseSampleSize.js +18 -0
  1649. data/node_modules/lodash/_baseSet.js +51 -0
  1650. data/node_modules/lodash/_baseSetData.js +17 -0
  1651. data/node_modules/lodash/_baseSetToString.js +22 -0
  1652. data/node_modules/lodash/_baseShuffle.js +15 -0
  1653. data/node_modules/lodash/_baseSlice.js +31 -0
  1654. data/node_modules/lodash/_baseSome.js +22 -0
  1655. data/node_modules/lodash/_baseSortBy.js +21 -0
  1656. data/node_modules/lodash/_baseSortedIndex.js +42 -0
  1657. data/node_modules/lodash/_baseSortedIndexBy.js +67 -0
  1658. data/node_modules/lodash/_baseSortedUniq.js +30 -0
  1659. data/node_modules/lodash/_baseSum.js +24 -0
  1660. data/node_modules/lodash/_baseTimes.js +20 -0
  1661. data/node_modules/lodash/_baseToNumber.js +24 -0
  1662. data/node_modules/lodash/_baseToPairs.js +18 -0
  1663. data/node_modules/lodash/_baseToString.js +37 -0
  1664. data/node_modules/lodash/_baseTrim.js +19 -0
  1665. data/node_modules/lodash/_baseUnary.js +14 -0
  1666. data/node_modules/lodash/_baseUniq.js +72 -0
  1667. data/node_modules/lodash/_baseUnset.js +20 -0
  1668. data/node_modules/lodash/_baseUpdate.js +18 -0
  1669. data/node_modules/lodash/_baseValues.js +19 -0
  1670. data/node_modules/lodash/_baseWhile.js +26 -0
  1671. data/node_modules/lodash/_baseWrapperValue.js +25 -0
  1672. data/node_modules/lodash/_baseXor.js +36 -0
  1673. data/node_modules/lodash/_baseZipObject.js +23 -0
  1674. data/node_modules/lodash/_cacheHas.js +13 -0
  1675. data/node_modules/lodash/_castArrayLikeObject.js +14 -0
  1676. data/node_modules/lodash/_castFunction.js +14 -0
  1677. data/node_modules/lodash/_castPath.js +21 -0
  1678. data/node_modules/lodash/_castRest.js +14 -0
  1679. data/node_modules/lodash/_castSlice.js +18 -0
  1680. data/node_modules/lodash/_charsEndIndex.js +19 -0
  1681. data/node_modules/lodash/_charsStartIndex.js +20 -0
  1682. data/node_modules/lodash/_cloneArrayBuffer.js +16 -0
  1683. data/node_modules/lodash/_cloneBuffer.js +35 -0
  1684. data/node_modules/lodash/_cloneDataView.js +16 -0
  1685. data/node_modules/lodash/_cloneRegExp.js +17 -0
  1686. data/node_modules/lodash/_cloneSymbol.js +18 -0
  1687. data/node_modules/lodash/_cloneTypedArray.js +16 -0
  1688. data/node_modules/lodash/_compareAscending.js +41 -0
  1689. data/node_modules/lodash/_compareMultiple.js +44 -0
  1690. data/node_modules/lodash/_composeArgs.js +39 -0
  1691. data/node_modules/lodash/_composeArgsRight.js +41 -0
  1692. data/node_modules/lodash/_copyArray.js +20 -0
  1693. data/node_modules/lodash/_copyObject.js +40 -0
  1694. data/node_modules/lodash/_copySymbols.js +16 -0
  1695. data/node_modules/lodash/_copySymbolsIn.js +16 -0
  1696. data/node_modules/lodash/_coreJsData.js +6 -0
  1697. data/node_modules/lodash/_countHolders.js +21 -0
  1698. data/node_modules/lodash/_createAggregator.js +23 -0
  1699. data/node_modules/lodash/_createAssigner.js +37 -0
  1700. data/node_modules/lodash/_createBaseEach.js +32 -0
  1701. data/node_modules/lodash/_createBaseFor.js +25 -0
  1702. data/node_modules/lodash/_createBind.js +28 -0
  1703. data/node_modules/lodash/_createCaseFirst.js +33 -0
  1704. data/node_modules/lodash/_createCompounder.js +24 -0
  1705. data/node_modules/lodash/_createCtor.js +37 -0
  1706. data/node_modules/lodash/_createCurry.js +46 -0
  1707. data/node_modules/lodash/_createFind.js +25 -0
  1708. data/node_modules/lodash/_createFlow.js +78 -0
  1709. data/node_modules/lodash/_createHybrid.js +92 -0
  1710. data/node_modules/lodash/_createInverter.js +17 -0
  1711. data/node_modules/lodash/_createMathOperation.js +38 -0
  1712. data/node_modules/lodash/_createOver.js +27 -0
  1713. data/node_modules/lodash/_createPadding.js +33 -0
  1714. data/node_modules/lodash/_createPartial.js +43 -0
  1715. data/node_modules/lodash/_createRange.js +30 -0
  1716. data/node_modules/lodash/_createRecurry.js +56 -0
  1717. data/node_modules/lodash/_createRelationalOperation.js +20 -0
  1718. data/node_modules/lodash/_createRound.js +35 -0
  1719. data/node_modules/lodash/_createSet.js +19 -0
  1720. data/node_modules/lodash/_createToPairs.js +30 -0
  1721. data/node_modules/lodash/_createWrap.js +106 -0
  1722. data/node_modules/lodash/_customDefaultsAssignIn.js +29 -0
  1723. data/node_modules/lodash/_customDefaultsMerge.js +28 -0
  1724. data/node_modules/lodash/_customOmitClone.js +16 -0
  1725. data/node_modules/lodash/_deburrLetter.js +71 -0
  1726. data/node_modules/lodash/_defineProperty.js +11 -0
  1727. data/node_modules/lodash/_equalArrays.js +84 -0
  1728. data/node_modules/lodash/_equalByTag.js +112 -0
  1729. data/node_modules/lodash/_equalObjects.js +90 -0
  1730. data/node_modules/lodash/_escapeHtmlChar.js +21 -0
  1731. data/node_modules/lodash/_escapeStringChar.js +22 -0
  1732. data/node_modules/lodash/_flatRest.js +16 -0
  1733. data/node_modules/lodash/_freeGlobal.js +4 -0
  1734. data/node_modules/lodash/_getAllKeys.js +16 -0
  1735. data/node_modules/lodash/_getAllKeysIn.js +17 -0
  1736. data/node_modules/lodash/_getData.js +15 -0
  1737. data/node_modules/lodash/_getFuncName.js +31 -0
  1738. data/node_modules/lodash/_getHolder.js +13 -0
  1739. data/node_modules/lodash/_getMapData.js +18 -0
  1740. data/node_modules/lodash/_getMatchData.js +24 -0
  1741. data/node_modules/lodash/_getNative.js +17 -0
  1742. data/node_modules/lodash/_getPrototype.js +6 -0
  1743. data/node_modules/lodash/_getRawTag.js +46 -0
  1744. data/node_modules/lodash/_getSymbols.js +30 -0
  1745. data/node_modules/lodash/_getSymbolsIn.js +25 -0
  1746. data/node_modules/lodash/_getTag.js +58 -0
  1747. data/node_modules/lodash/_getValue.js +13 -0
  1748. data/node_modules/lodash/_getView.js +33 -0
  1749. data/node_modules/lodash/_getWrapDetails.js +17 -0
  1750. data/node_modules/lodash/_hasPath.js +39 -0
  1751. data/node_modules/lodash/_hasUnicode.js +26 -0
  1752. data/node_modules/lodash/_hasUnicodeWord.js +15 -0
  1753. data/node_modules/lodash/_hashClear.js +15 -0
  1754. data/node_modules/lodash/_hashDelete.js +17 -0
  1755. data/node_modules/lodash/_hashGet.js +30 -0
  1756. data/node_modules/lodash/_hashHas.js +23 -0
  1757. data/node_modules/lodash/_hashSet.js +23 -0
  1758. data/node_modules/lodash/_initCloneArray.js +26 -0
  1759. data/node_modules/lodash/_initCloneByTag.js +77 -0
  1760. data/node_modules/lodash/_initCloneObject.js +18 -0
  1761. data/node_modules/lodash/_insertWrapDetails.js +23 -0
  1762. data/node_modules/lodash/_isFlattenable.js +20 -0
  1763. data/node_modules/lodash/_isIndex.js +25 -0
  1764. data/node_modules/lodash/_isIterateeCall.js +30 -0
  1765. data/node_modules/lodash/_isKey.js +29 -0
  1766. data/node_modules/lodash/_isKeyable.js +15 -0
  1767. data/node_modules/lodash/_isLaziable.js +28 -0
  1768. data/node_modules/lodash/_isMaskable.js +14 -0
  1769. data/node_modules/lodash/_isMasked.js +20 -0
  1770. data/node_modules/lodash/_isPrototype.js +18 -0
  1771. data/node_modules/lodash/_isStrictComparable.js +15 -0
  1772. data/node_modules/lodash/_iteratorToArray.js +18 -0
  1773. data/node_modules/lodash/_lazyClone.js +23 -0
  1774. data/node_modules/lodash/_lazyReverse.js +23 -0
  1775. data/node_modules/lodash/_lazyValue.js +69 -0
  1776. data/node_modules/lodash/_listCacheClear.js +13 -0
  1777. data/node_modules/lodash/_listCacheDelete.js +35 -0
  1778. data/node_modules/lodash/_listCacheGet.js +19 -0
  1779. data/node_modules/lodash/_listCacheHas.js +16 -0
  1780. data/node_modules/lodash/_listCacheSet.js +26 -0
  1781. data/node_modules/lodash/_mapCacheClear.js +21 -0
  1782. data/node_modules/lodash/_mapCacheDelete.js +18 -0
  1783. data/node_modules/lodash/_mapCacheGet.js +16 -0
  1784. data/node_modules/lodash/_mapCacheHas.js +16 -0
  1785. data/node_modules/lodash/_mapCacheSet.js +22 -0
  1786. data/node_modules/lodash/_mapToArray.js +18 -0
  1787. data/node_modules/lodash/_matchesStrictComparable.js +20 -0
  1788. data/node_modules/lodash/_memoizeCapped.js +26 -0
  1789. data/node_modules/lodash/_mergeData.js +90 -0
  1790. data/node_modules/lodash/_metaMap.js +6 -0
  1791. data/node_modules/lodash/_nativeCreate.js +6 -0
  1792. data/node_modules/lodash/_nativeKeys.js +6 -0
  1793. data/node_modules/lodash/_nativeKeysIn.js +20 -0
  1794. data/node_modules/lodash/_nodeUtil.js +30 -0
  1795. data/node_modules/lodash/_objectToString.js +22 -0
  1796. data/node_modules/lodash/_overArg.js +15 -0
  1797. data/node_modules/lodash/_overRest.js +36 -0
  1798. data/node_modules/lodash/_parent.js +16 -0
  1799. data/node_modules/lodash/_reEscape.js +4 -0
  1800. data/node_modules/lodash/_reEvaluate.js +4 -0
  1801. data/node_modules/lodash/_reInterpolate.js +4 -0
  1802. data/node_modules/lodash/_realNames.js +4 -0
  1803. data/node_modules/lodash/_reorder.js +29 -0
  1804. data/node_modules/lodash/_replaceHolders.js +29 -0
  1805. data/node_modules/lodash/_root.js +9 -0
  1806. data/node_modules/lodash/_safeGet.js +21 -0
  1807. data/node_modules/lodash/_setCacheAdd.js +19 -0
  1808. data/node_modules/lodash/_setCacheHas.js +14 -0
  1809. data/node_modules/lodash/_setData.js +20 -0
  1810. data/node_modules/lodash/_setToArray.js +18 -0
  1811. data/node_modules/lodash/_setToPairs.js +18 -0
  1812. data/node_modules/lodash/_setToString.js +14 -0
  1813. data/node_modules/lodash/_setWrapToString.js +21 -0
  1814. data/node_modules/lodash/_shortOut.js +37 -0
  1815. data/node_modules/lodash/_shuffleSelf.js +28 -0
  1816. data/node_modules/lodash/_stackClear.js +15 -0
  1817. data/node_modules/lodash/_stackDelete.js +18 -0
  1818. data/node_modules/lodash/_stackGet.js +14 -0
  1819. data/node_modules/lodash/_stackHas.js +14 -0
  1820. data/node_modules/lodash/_stackSet.js +34 -0
  1821. data/node_modules/lodash/_strictIndexOf.js +23 -0
  1822. data/node_modules/lodash/_strictLastIndexOf.js +21 -0
  1823. data/node_modules/lodash/_stringSize.js +18 -0
  1824. data/node_modules/lodash/_stringToArray.js +18 -0
  1825. data/node_modules/lodash/_stringToPath.js +27 -0
  1826. data/node_modules/lodash/_toKey.js +21 -0
  1827. data/node_modules/lodash/_toSource.js +26 -0
  1828. data/node_modules/lodash/_trimmedEndIndex.js +19 -0
  1829. data/node_modules/lodash/_unescapeHtmlChar.js +21 -0
  1830. data/node_modules/lodash/_unicodeSize.js +44 -0
  1831. data/node_modules/lodash/_unicodeToArray.js +40 -0
  1832. data/node_modules/lodash/_unicodeWords.js +69 -0
  1833. data/node_modules/lodash/_updateWrapDetails.js +46 -0
  1834. data/node_modules/lodash/_wrapperClone.js +23 -0
  1835. data/node_modules/lodash/add.js +22 -0
  1836. data/node_modules/lodash/after.js +42 -0
  1837. data/node_modules/lodash/array.js +67 -0
  1838. data/node_modules/lodash/ary.js +29 -0
  1839. data/node_modules/lodash/assign.js +58 -0
  1840. data/node_modules/lodash/assignIn.js +40 -0
  1841. data/node_modules/lodash/assignInWith.js +38 -0
  1842. data/node_modules/lodash/assignWith.js +37 -0
  1843. data/node_modules/lodash/at.js +23 -0
  1844. data/node_modules/lodash/attempt.js +35 -0
  1845. data/node_modules/lodash/before.js +40 -0
  1846. data/node_modules/lodash/bind.js +57 -0
  1847. data/node_modules/lodash/bindAll.js +41 -0
  1848. data/node_modules/lodash/bindKey.js +68 -0
  1849. data/node_modules/lodash/camelCase.js +29 -0
  1850. data/node_modules/lodash/capitalize.js +23 -0
  1851. data/node_modules/lodash/castArray.js +44 -0
  1852. data/node_modules/lodash/ceil.js +26 -0
  1853. data/node_modules/lodash/chain.js +38 -0
  1854. data/node_modules/lodash/chunk.js +50 -0
  1855. data/node_modules/lodash/clamp.js +39 -0
  1856. data/node_modules/lodash/clone.js +36 -0
  1857. data/node_modules/lodash/cloneDeep.js +29 -0
  1858. data/node_modules/lodash/cloneDeepWith.js +40 -0
  1859. data/node_modules/lodash/cloneWith.js +42 -0
  1860. data/node_modules/lodash/collection.js +30 -0
  1861. data/node_modules/lodash/commit.js +33 -0
  1862. data/node_modules/lodash/compact.js +31 -0
  1863. data/node_modules/lodash/concat.js +43 -0
  1864. data/node_modules/lodash/cond.js +60 -0
  1865. data/node_modules/lodash/conforms.js +35 -0
  1866. data/node_modules/lodash/conformsTo.js +32 -0
  1867. data/node_modules/lodash/constant.js +26 -0
  1868. data/node_modules/lodash/core.js +3877 -0
  1869. data/node_modules/lodash/core.min.js +29 -0
  1870. data/node_modules/lodash/countBy.js +40 -0
  1871. data/node_modules/lodash/create.js +43 -0
  1872. data/node_modules/lodash/curry.js +57 -0
  1873. data/node_modules/lodash/curryRight.js +54 -0
  1874. data/node_modules/lodash/date.js +3 -0
  1875. data/node_modules/lodash/debounce.js +191 -0
  1876. data/node_modules/lodash/deburr.js +45 -0
  1877. data/node_modules/lodash/defaultTo.js +25 -0
  1878. data/node_modules/lodash/defaults.js +64 -0
  1879. data/node_modules/lodash/defaultsDeep.js +30 -0
  1880. data/node_modules/lodash/defer.js +26 -0
  1881. data/node_modules/lodash/delay.js +28 -0
  1882. data/node_modules/lodash/difference.js +33 -0
  1883. data/node_modules/lodash/differenceBy.js +44 -0
  1884. data/node_modules/lodash/differenceWith.js +40 -0
  1885. data/node_modules/lodash/divide.js +22 -0
  1886. data/node_modules/lodash/drop.js +38 -0
  1887. data/node_modules/lodash/dropRight.js +39 -0
  1888. data/node_modules/lodash/dropRightWhile.js +45 -0
  1889. data/node_modules/lodash/dropWhile.js +45 -0
  1890. data/node_modules/lodash/each.js +1 -0
  1891. data/node_modules/lodash/eachRight.js +1 -0
  1892. data/node_modules/lodash/endsWith.js +43 -0
  1893. data/node_modules/lodash/entries.js +1 -0
  1894. data/node_modules/lodash/entriesIn.js +1 -0
  1895. data/node_modules/lodash/eq.js +37 -0
  1896. data/node_modules/lodash/escape.js +43 -0
  1897. data/node_modules/lodash/escapeRegExp.js +32 -0
  1898. data/node_modules/lodash/every.js +56 -0
  1899. data/node_modules/lodash/extend.js +1 -0
  1900. data/node_modules/lodash/extendWith.js +1 -0
  1901. data/node_modules/lodash/fill.js +45 -0
  1902. data/node_modules/lodash/filter.js +52 -0
  1903. data/node_modules/lodash/find.js +42 -0
  1904. data/node_modules/lodash/findIndex.js +55 -0
  1905. data/node_modules/lodash/findKey.js +44 -0
  1906. data/node_modules/lodash/findLast.js +25 -0
  1907. data/node_modules/lodash/findLastIndex.js +59 -0
  1908. data/node_modules/lodash/findLastKey.js +44 -0
  1909. data/node_modules/lodash/first.js +1 -0
  1910. data/node_modules/lodash/flake.lock +40 -0
  1911. data/node_modules/lodash/flake.nix +20 -0
  1912. data/node_modules/lodash/flatMap.js +29 -0
  1913. data/node_modules/lodash/flatMapDeep.js +31 -0
  1914. data/node_modules/lodash/flatMapDepth.js +31 -0
  1915. data/node_modules/lodash/flatten.js +22 -0
  1916. data/node_modules/lodash/flattenDeep.js +25 -0
  1917. data/node_modules/lodash/flattenDepth.js +33 -0
  1918. data/node_modules/lodash/flip.js +28 -0
  1919. data/node_modules/lodash/floor.js +26 -0
  1920. data/node_modules/lodash/flow.js +27 -0
  1921. data/node_modules/lodash/flowRight.js +26 -0
  1922. data/node_modules/lodash/forEach.js +41 -0
  1923. data/node_modules/lodash/forEachRight.js +31 -0
  1924. data/node_modules/lodash/forIn.js +39 -0
  1925. data/node_modules/lodash/forInRight.js +37 -0
  1926. data/node_modules/lodash/forOwn.js +36 -0
  1927. data/node_modules/lodash/forOwnRight.js +34 -0
  1928. data/node_modules/lodash/fp/F.js +1 -0
  1929. data/node_modules/lodash/fp/T.js +1 -0
  1930. data/node_modules/lodash/fp/__.js +1 -0
  1931. data/node_modules/lodash/fp/_baseConvert.js +569 -0
  1932. data/node_modules/lodash/fp/_convertBrowser.js +18 -0
  1933. data/node_modules/lodash/fp/_falseOptions.js +7 -0
  1934. data/node_modules/lodash/fp/_mapping.js +358 -0
  1935. data/node_modules/lodash/fp/_util.js +16 -0
  1936. data/node_modules/lodash/fp/add.js +5 -0
  1937. data/node_modules/lodash/fp/after.js +5 -0
  1938. data/node_modules/lodash/fp/all.js +1 -0
  1939. data/node_modules/lodash/fp/allPass.js +1 -0
  1940. data/node_modules/lodash/fp/always.js +1 -0
  1941. data/node_modules/lodash/fp/any.js +1 -0
  1942. data/node_modules/lodash/fp/anyPass.js +1 -0
  1943. data/node_modules/lodash/fp/apply.js +1 -0
  1944. data/node_modules/lodash/fp/array.js +2 -0
  1945. data/node_modules/lodash/fp/ary.js +5 -0
  1946. data/node_modules/lodash/fp/assign.js +5 -0
  1947. data/node_modules/lodash/fp/assignAll.js +5 -0
  1948. data/node_modules/lodash/fp/assignAllWith.js +5 -0
  1949. data/node_modules/lodash/fp/assignIn.js +5 -0
  1950. data/node_modules/lodash/fp/assignInAll.js +5 -0
  1951. data/node_modules/lodash/fp/assignInAllWith.js +5 -0
  1952. data/node_modules/lodash/fp/assignInWith.js +5 -0
  1953. data/node_modules/lodash/fp/assignWith.js +5 -0
  1954. data/node_modules/lodash/fp/assoc.js +1 -0
  1955. data/node_modules/lodash/fp/assocPath.js +1 -0
  1956. data/node_modules/lodash/fp/at.js +5 -0
  1957. data/node_modules/lodash/fp/attempt.js +5 -0
  1958. data/node_modules/lodash/fp/before.js +5 -0
  1959. data/node_modules/lodash/fp/bind.js +5 -0
  1960. data/node_modules/lodash/fp/bindAll.js +5 -0
  1961. data/node_modules/lodash/fp/bindKey.js +5 -0
  1962. data/node_modules/lodash/fp/camelCase.js +5 -0
  1963. data/node_modules/lodash/fp/capitalize.js +5 -0
  1964. data/node_modules/lodash/fp/castArray.js +5 -0
  1965. data/node_modules/lodash/fp/ceil.js +5 -0
  1966. data/node_modules/lodash/fp/chain.js +5 -0
  1967. data/node_modules/lodash/fp/chunk.js +5 -0
  1968. data/node_modules/lodash/fp/clamp.js +5 -0
  1969. data/node_modules/lodash/fp/clone.js +5 -0
  1970. data/node_modules/lodash/fp/cloneDeep.js +5 -0
  1971. data/node_modules/lodash/fp/cloneDeepWith.js +5 -0
  1972. data/node_modules/lodash/fp/cloneWith.js +5 -0
  1973. data/node_modules/lodash/fp/collection.js +2 -0
  1974. data/node_modules/lodash/fp/commit.js +5 -0
  1975. data/node_modules/lodash/fp/compact.js +5 -0
  1976. data/node_modules/lodash/fp/complement.js +1 -0
  1977. data/node_modules/lodash/fp/compose.js +1 -0
  1978. data/node_modules/lodash/fp/concat.js +5 -0
  1979. data/node_modules/lodash/fp/cond.js +5 -0
  1980. data/node_modules/lodash/fp/conforms.js +1 -0
  1981. data/node_modules/lodash/fp/conformsTo.js +5 -0
  1982. data/node_modules/lodash/fp/constant.js +5 -0
  1983. data/node_modules/lodash/fp/contains.js +1 -0
  1984. data/node_modules/lodash/fp/convert.js +18 -0
  1985. data/node_modules/lodash/fp/countBy.js +5 -0
  1986. data/node_modules/lodash/fp/create.js +5 -0
  1987. data/node_modules/lodash/fp/curry.js +5 -0
  1988. data/node_modules/lodash/fp/curryN.js +5 -0
  1989. data/node_modules/lodash/fp/curryRight.js +5 -0
  1990. data/node_modules/lodash/fp/curryRightN.js +5 -0
  1991. data/node_modules/lodash/fp/date.js +2 -0
  1992. data/node_modules/lodash/fp/debounce.js +5 -0
  1993. data/node_modules/lodash/fp/deburr.js +5 -0
  1994. data/node_modules/lodash/fp/defaultTo.js +5 -0
  1995. data/node_modules/lodash/fp/defaults.js +5 -0
  1996. data/node_modules/lodash/fp/defaultsAll.js +5 -0
  1997. data/node_modules/lodash/fp/defaultsDeep.js +5 -0
  1998. data/node_modules/lodash/fp/defaultsDeepAll.js +5 -0
  1999. data/node_modules/lodash/fp/defer.js +5 -0
  2000. data/node_modules/lodash/fp/delay.js +5 -0
  2001. data/node_modules/lodash/fp/difference.js +5 -0
  2002. data/node_modules/lodash/fp/differenceBy.js +5 -0
  2003. data/node_modules/lodash/fp/differenceWith.js +5 -0
  2004. data/node_modules/lodash/fp/dissoc.js +1 -0
  2005. data/node_modules/lodash/fp/dissocPath.js +1 -0
  2006. data/node_modules/lodash/fp/divide.js +5 -0
  2007. data/node_modules/lodash/fp/drop.js +5 -0
  2008. data/node_modules/lodash/fp/dropLast.js +1 -0
  2009. data/node_modules/lodash/fp/dropLastWhile.js +1 -0
  2010. data/node_modules/lodash/fp/dropRight.js +5 -0
  2011. data/node_modules/lodash/fp/dropRightWhile.js +5 -0
  2012. data/node_modules/lodash/fp/dropWhile.js +5 -0
  2013. data/node_modules/lodash/fp/each.js +1 -0
  2014. data/node_modules/lodash/fp/eachRight.js +1 -0
  2015. data/node_modules/lodash/fp/endsWith.js +5 -0
  2016. data/node_modules/lodash/fp/entries.js +1 -0
  2017. data/node_modules/lodash/fp/entriesIn.js +1 -0
  2018. data/node_modules/lodash/fp/eq.js +5 -0
  2019. data/node_modules/lodash/fp/equals.js +1 -0
  2020. data/node_modules/lodash/fp/escape.js +5 -0
  2021. data/node_modules/lodash/fp/escapeRegExp.js +5 -0
  2022. data/node_modules/lodash/fp/every.js +5 -0
  2023. data/node_modules/lodash/fp/extend.js +1 -0
  2024. data/node_modules/lodash/fp/extendAll.js +1 -0
  2025. data/node_modules/lodash/fp/extendAllWith.js +1 -0
  2026. data/node_modules/lodash/fp/extendWith.js +1 -0
  2027. data/node_modules/lodash/fp/fill.js +5 -0
  2028. data/node_modules/lodash/fp/filter.js +5 -0
  2029. data/node_modules/lodash/fp/find.js +5 -0
  2030. data/node_modules/lodash/fp/findFrom.js +5 -0
  2031. data/node_modules/lodash/fp/findIndex.js +5 -0
  2032. data/node_modules/lodash/fp/findIndexFrom.js +5 -0
  2033. data/node_modules/lodash/fp/findKey.js +5 -0
  2034. data/node_modules/lodash/fp/findLast.js +5 -0
  2035. data/node_modules/lodash/fp/findLastFrom.js +5 -0
  2036. data/node_modules/lodash/fp/findLastIndex.js +5 -0
  2037. data/node_modules/lodash/fp/findLastIndexFrom.js +5 -0
  2038. data/node_modules/lodash/fp/findLastKey.js +5 -0
  2039. data/node_modules/lodash/fp/first.js +1 -0
  2040. data/node_modules/lodash/fp/flatMap.js +5 -0
  2041. data/node_modules/lodash/fp/flatMapDeep.js +5 -0
  2042. data/node_modules/lodash/fp/flatMapDepth.js +5 -0
  2043. data/node_modules/lodash/fp/flatten.js +5 -0
  2044. data/node_modules/lodash/fp/flattenDeep.js +5 -0
  2045. data/node_modules/lodash/fp/flattenDepth.js +5 -0
  2046. data/node_modules/lodash/fp/flip.js +5 -0
  2047. data/node_modules/lodash/fp/floor.js +5 -0
  2048. data/node_modules/lodash/fp/flow.js +5 -0
  2049. data/node_modules/lodash/fp/flowRight.js +5 -0
  2050. data/node_modules/lodash/fp/forEach.js +5 -0
  2051. data/node_modules/lodash/fp/forEachRight.js +5 -0
  2052. data/node_modules/lodash/fp/forIn.js +5 -0
  2053. data/node_modules/lodash/fp/forInRight.js +5 -0
  2054. data/node_modules/lodash/fp/forOwn.js +5 -0
  2055. data/node_modules/lodash/fp/forOwnRight.js +5 -0
  2056. data/node_modules/lodash/fp/fromPairs.js +5 -0
  2057. data/node_modules/lodash/fp/function.js +2 -0
  2058. data/node_modules/lodash/fp/functions.js +5 -0
  2059. data/node_modules/lodash/fp/functionsIn.js +5 -0
  2060. data/node_modules/lodash/fp/get.js +5 -0
  2061. data/node_modules/lodash/fp/getOr.js +5 -0
  2062. data/node_modules/lodash/fp/groupBy.js +5 -0
  2063. data/node_modules/lodash/fp/gt.js +5 -0
  2064. data/node_modules/lodash/fp/gte.js +5 -0
  2065. data/node_modules/lodash/fp/has.js +5 -0
  2066. data/node_modules/lodash/fp/hasIn.js +5 -0
  2067. data/node_modules/lodash/fp/head.js +5 -0
  2068. data/node_modules/lodash/fp/identical.js +1 -0
  2069. data/node_modules/lodash/fp/identity.js +5 -0
  2070. data/node_modules/lodash/fp/inRange.js +5 -0
  2071. data/node_modules/lodash/fp/includes.js +5 -0
  2072. data/node_modules/lodash/fp/includesFrom.js +5 -0
  2073. data/node_modules/lodash/fp/indexBy.js +1 -0
  2074. data/node_modules/lodash/fp/indexOf.js +5 -0
  2075. data/node_modules/lodash/fp/indexOfFrom.js +5 -0
  2076. data/node_modules/lodash/fp/init.js +1 -0
  2077. data/node_modules/lodash/fp/initial.js +5 -0
  2078. data/node_modules/lodash/fp/intersection.js +5 -0
  2079. data/node_modules/lodash/fp/intersectionBy.js +5 -0
  2080. data/node_modules/lodash/fp/intersectionWith.js +5 -0
  2081. data/node_modules/lodash/fp/invert.js +5 -0
  2082. data/node_modules/lodash/fp/invertBy.js +5 -0
  2083. data/node_modules/lodash/fp/invertObj.js +1 -0
  2084. data/node_modules/lodash/fp/invoke.js +5 -0
  2085. data/node_modules/lodash/fp/invokeArgs.js +5 -0
  2086. data/node_modules/lodash/fp/invokeArgsMap.js +5 -0
  2087. data/node_modules/lodash/fp/invokeMap.js +5 -0
  2088. data/node_modules/lodash/fp/isArguments.js +5 -0
  2089. data/node_modules/lodash/fp/isArray.js +5 -0
  2090. data/node_modules/lodash/fp/isArrayBuffer.js +5 -0
  2091. data/node_modules/lodash/fp/isArrayLike.js +5 -0
  2092. data/node_modules/lodash/fp/isArrayLikeObject.js +5 -0
  2093. data/node_modules/lodash/fp/isBoolean.js +5 -0
  2094. data/node_modules/lodash/fp/isBuffer.js +5 -0
  2095. data/node_modules/lodash/fp/isDate.js +5 -0
  2096. data/node_modules/lodash/fp/isElement.js +5 -0
  2097. data/node_modules/lodash/fp/isEmpty.js +5 -0
  2098. data/node_modules/lodash/fp/isEqual.js +5 -0
  2099. data/node_modules/lodash/fp/isEqualWith.js +5 -0
  2100. data/node_modules/lodash/fp/isError.js +5 -0
  2101. data/node_modules/lodash/fp/isFinite.js +5 -0
  2102. data/node_modules/lodash/fp/isFunction.js +5 -0
  2103. data/node_modules/lodash/fp/isInteger.js +5 -0
  2104. data/node_modules/lodash/fp/isLength.js +5 -0
  2105. data/node_modules/lodash/fp/isMap.js +5 -0
  2106. data/node_modules/lodash/fp/isMatch.js +5 -0
  2107. data/node_modules/lodash/fp/isMatchWith.js +5 -0
  2108. data/node_modules/lodash/fp/isNaN.js +5 -0
  2109. data/node_modules/lodash/fp/isNative.js +5 -0
  2110. data/node_modules/lodash/fp/isNil.js +5 -0
  2111. data/node_modules/lodash/fp/isNull.js +5 -0
  2112. data/node_modules/lodash/fp/isNumber.js +5 -0
  2113. data/node_modules/lodash/fp/isObject.js +5 -0
  2114. data/node_modules/lodash/fp/isObjectLike.js +5 -0
  2115. data/node_modules/lodash/fp/isPlainObject.js +5 -0
  2116. data/node_modules/lodash/fp/isRegExp.js +5 -0
  2117. data/node_modules/lodash/fp/isSafeInteger.js +5 -0
  2118. data/node_modules/lodash/fp/isSet.js +5 -0
  2119. data/node_modules/lodash/fp/isString.js +5 -0
  2120. data/node_modules/lodash/fp/isSymbol.js +5 -0
  2121. data/node_modules/lodash/fp/isTypedArray.js +5 -0
  2122. data/node_modules/lodash/fp/isUndefined.js +5 -0
  2123. data/node_modules/lodash/fp/isWeakMap.js +5 -0
  2124. data/node_modules/lodash/fp/isWeakSet.js +5 -0
  2125. data/node_modules/lodash/fp/iteratee.js +5 -0
  2126. data/node_modules/lodash/fp/join.js +5 -0
  2127. data/node_modules/lodash/fp/juxt.js +1 -0
  2128. data/node_modules/lodash/fp/kebabCase.js +5 -0
  2129. data/node_modules/lodash/fp/keyBy.js +5 -0
  2130. data/node_modules/lodash/fp/keys.js +5 -0
  2131. data/node_modules/lodash/fp/keysIn.js +5 -0
  2132. data/node_modules/lodash/fp/lang.js +2 -0
  2133. data/node_modules/lodash/fp/last.js +5 -0
  2134. data/node_modules/lodash/fp/lastIndexOf.js +5 -0
  2135. data/node_modules/lodash/fp/lastIndexOfFrom.js +5 -0
  2136. data/node_modules/lodash/fp/lowerCase.js +5 -0
  2137. data/node_modules/lodash/fp/lowerFirst.js +5 -0
  2138. data/node_modules/lodash/fp/lt.js +5 -0
  2139. data/node_modules/lodash/fp/lte.js +5 -0
  2140. data/node_modules/lodash/fp/map.js +5 -0
  2141. data/node_modules/lodash/fp/mapKeys.js +5 -0
  2142. data/node_modules/lodash/fp/mapValues.js +5 -0
  2143. data/node_modules/lodash/fp/matches.js +1 -0
  2144. data/node_modules/lodash/fp/matchesProperty.js +5 -0
  2145. data/node_modules/lodash/fp/math.js +2 -0
  2146. data/node_modules/lodash/fp/max.js +5 -0
  2147. data/node_modules/lodash/fp/maxBy.js +5 -0
  2148. data/node_modules/lodash/fp/mean.js +5 -0
  2149. data/node_modules/lodash/fp/meanBy.js +5 -0
  2150. data/node_modules/lodash/fp/memoize.js +5 -0
  2151. data/node_modules/lodash/fp/merge.js +5 -0
  2152. data/node_modules/lodash/fp/mergeAll.js +5 -0
  2153. data/node_modules/lodash/fp/mergeAllWith.js +5 -0
  2154. data/node_modules/lodash/fp/mergeWith.js +5 -0
  2155. data/node_modules/lodash/fp/method.js +5 -0
  2156. data/node_modules/lodash/fp/methodOf.js +5 -0
  2157. data/node_modules/lodash/fp/min.js +5 -0
  2158. data/node_modules/lodash/fp/minBy.js +5 -0
  2159. data/node_modules/lodash/fp/mixin.js +5 -0
  2160. data/node_modules/lodash/fp/multiply.js +5 -0
  2161. data/node_modules/lodash/fp/nAry.js +1 -0
  2162. data/node_modules/lodash/fp/negate.js +5 -0
  2163. data/node_modules/lodash/fp/next.js +5 -0
  2164. data/node_modules/lodash/fp/noop.js +5 -0
  2165. data/node_modules/lodash/fp/now.js +5 -0
  2166. data/node_modules/lodash/fp/nth.js +5 -0
  2167. data/node_modules/lodash/fp/nthArg.js +5 -0
  2168. data/node_modules/lodash/fp/number.js +2 -0
  2169. data/node_modules/lodash/fp/object.js +2 -0
  2170. data/node_modules/lodash/fp/omit.js +5 -0
  2171. data/node_modules/lodash/fp/omitAll.js +1 -0
  2172. data/node_modules/lodash/fp/omitBy.js +5 -0
  2173. data/node_modules/lodash/fp/once.js +5 -0
  2174. data/node_modules/lodash/fp/orderBy.js +5 -0
  2175. data/node_modules/lodash/fp/over.js +5 -0
  2176. data/node_modules/lodash/fp/overArgs.js +5 -0
  2177. data/node_modules/lodash/fp/overEvery.js +5 -0
  2178. data/node_modules/lodash/fp/overSome.js +5 -0
  2179. data/node_modules/lodash/fp/pad.js +5 -0
  2180. data/node_modules/lodash/fp/padChars.js +5 -0
  2181. data/node_modules/lodash/fp/padCharsEnd.js +5 -0
  2182. data/node_modules/lodash/fp/padCharsStart.js +5 -0
  2183. data/node_modules/lodash/fp/padEnd.js +5 -0
  2184. data/node_modules/lodash/fp/padStart.js +5 -0
  2185. data/node_modules/lodash/fp/parseInt.js +5 -0
  2186. data/node_modules/lodash/fp/partial.js +5 -0
  2187. data/node_modules/lodash/fp/partialRight.js +5 -0
  2188. data/node_modules/lodash/fp/partition.js +5 -0
  2189. data/node_modules/lodash/fp/path.js +1 -0
  2190. data/node_modules/lodash/fp/pathEq.js +1 -0
  2191. data/node_modules/lodash/fp/pathOr.js +1 -0
  2192. data/node_modules/lodash/fp/paths.js +1 -0
  2193. data/node_modules/lodash/fp/pick.js +5 -0
  2194. data/node_modules/lodash/fp/pickAll.js +1 -0
  2195. data/node_modules/lodash/fp/pickBy.js +5 -0
  2196. data/node_modules/lodash/fp/pipe.js +1 -0
  2197. data/node_modules/lodash/fp/placeholder.js +6 -0
  2198. data/node_modules/lodash/fp/plant.js +5 -0
  2199. data/node_modules/lodash/fp/pluck.js +1 -0
  2200. data/node_modules/lodash/fp/prop.js +1 -0
  2201. data/node_modules/lodash/fp/propEq.js +1 -0
  2202. data/node_modules/lodash/fp/propOr.js +1 -0
  2203. data/node_modules/lodash/fp/property.js +1 -0
  2204. data/node_modules/lodash/fp/propertyOf.js +5 -0
  2205. data/node_modules/lodash/fp/props.js +1 -0
  2206. data/node_modules/lodash/fp/pull.js +5 -0
  2207. data/node_modules/lodash/fp/pullAll.js +5 -0
  2208. data/node_modules/lodash/fp/pullAllBy.js +5 -0
  2209. data/node_modules/lodash/fp/pullAllWith.js +5 -0
  2210. data/node_modules/lodash/fp/pullAt.js +5 -0
  2211. data/node_modules/lodash/fp/random.js +5 -0
  2212. data/node_modules/lodash/fp/range.js +5 -0
  2213. data/node_modules/lodash/fp/rangeRight.js +5 -0
  2214. data/node_modules/lodash/fp/rangeStep.js +5 -0
  2215. data/node_modules/lodash/fp/rangeStepRight.js +5 -0
  2216. data/node_modules/lodash/fp/rearg.js +5 -0
  2217. data/node_modules/lodash/fp/reduce.js +5 -0
  2218. data/node_modules/lodash/fp/reduceRight.js +5 -0
  2219. data/node_modules/lodash/fp/reject.js +5 -0
  2220. data/node_modules/lodash/fp/remove.js +5 -0
  2221. data/node_modules/lodash/fp/repeat.js +5 -0
  2222. data/node_modules/lodash/fp/replace.js +5 -0
  2223. data/node_modules/lodash/fp/rest.js +5 -0
  2224. data/node_modules/lodash/fp/restFrom.js +5 -0
  2225. data/node_modules/lodash/fp/result.js +5 -0
  2226. data/node_modules/lodash/fp/reverse.js +5 -0
  2227. data/node_modules/lodash/fp/round.js +5 -0
  2228. data/node_modules/lodash/fp/sample.js +5 -0
  2229. data/node_modules/lodash/fp/sampleSize.js +5 -0
  2230. data/node_modules/lodash/fp/seq.js +2 -0
  2231. data/node_modules/lodash/fp/set.js +5 -0
  2232. data/node_modules/lodash/fp/setWith.js +5 -0
  2233. data/node_modules/lodash/fp/shuffle.js +5 -0
  2234. data/node_modules/lodash/fp/size.js +5 -0
  2235. data/node_modules/lodash/fp/slice.js +5 -0
  2236. data/node_modules/lodash/fp/snakeCase.js +5 -0
  2237. data/node_modules/lodash/fp/some.js +5 -0
  2238. data/node_modules/lodash/fp/sortBy.js +5 -0
  2239. data/node_modules/lodash/fp/sortedIndex.js +5 -0
  2240. data/node_modules/lodash/fp/sortedIndexBy.js +5 -0
  2241. data/node_modules/lodash/fp/sortedIndexOf.js +5 -0
  2242. data/node_modules/lodash/fp/sortedLastIndex.js +5 -0
  2243. data/node_modules/lodash/fp/sortedLastIndexBy.js +5 -0
  2244. data/node_modules/lodash/fp/sortedLastIndexOf.js +5 -0
  2245. data/node_modules/lodash/fp/sortedUniq.js +5 -0
  2246. data/node_modules/lodash/fp/sortedUniqBy.js +5 -0
  2247. data/node_modules/lodash/fp/split.js +5 -0
  2248. data/node_modules/lodash/fp/spread.js +5 -0
  2249. data/node_modules/lodash/fp/spreadFrom.js +5 -0
  2250. data/node_modules/lodash/fp/startCase.js +5 -0
  2251. data/node_modules/lodash/fp/startsWith.js +5 -0
  2252. data/node_modules/lodash/fp/string.js +2 -0
  2253. data/node_modules/lodash/fp/stubArray.js +5 -0
  2254. data/node_modules/lodash/fp/stubFalse.js +5 -0
  2255. data/node_modules/lodash/fp/stubObject.js +5 -0
  2256. data/node_modules/lodash/fp/stubString.js +5 -0
  2257. data/node_modules/lodash/fp/stubTrue.js +5 -0
  2258. data/node_modules/lodash/fp/subtract.js +5 -0
  2259. data/node_modules/lodash/fp/sum.js +5 -0
  2260. data/node_modules/lodash/fp/sumBy.js +5 -0
  2261. data/node_modules/lodash/fp/symmetricDifference.js +1 -0
  2262. data/node_modules/lodash/fp/symmetricDifferenceBy.js +1 -0
  2263. data/node_modules/lodash/fp/symmetricDifferenceWith.js +1 -0
  2264. data/node_modules/lodash/fp/tail.js +5 -0
  2265. data/node_modules/lodash/fp/take.js +5 -0
  2266. data/node_modules/lodash/fp/takeLast.js +1 -0
  2267. data/node_modules/lodash/fp/takeLastWhile.js +1 -0
  2268. data/node_modules/lodash/fp/takeRight.js +5 -0
  2269. data/node_modules/lodash/fp/takeRightWhile.js +5 -0
  2270. data/node_modules/lodash/fp/takeWhile.js +5 -0
  2271. data/node_modules/lodash/fp/tap.js +5 -0
  2272. data/node_modules/lodash/fp/template.js +5 -0
  2273. data/node_modules/lodash/fp/templateSettings.js +5 -0
  2274. data/node_modules/lodash/fp/throttle.js +5 -0
  2275. data/node_modules/lodash/fp/thru.js +5 -0
  2276. data/node_modules/lodash/fp/times.js +5 -0
  2277. data/node_modules/lodash/fp/toArray.js +5 -0
  2278. data/node_modules/lodash/fp/toFinite.js +5 -0
  2279. data/node_modules/lodash/fp/toInteger.js +5 -0
  2280. data/node_modules/lodash/fp/toIterator.js +5 -0
  2281. data/node_modules/lodash/fp/toJSON.js +5 -0
  2282. data/node_modules/lodash/fp/toLength.js +5 -0
  2283. data/node_modules/lodash/fp/toLower.js +5 -0
  2284. data/node_modules/lodash/fp/toNumber.js +5 -0
  2285. data/node_modules/lodash/fp/toPairs.js +5 -0
  2286. data/node_modules/lodash/fp/toPairsIn.js +5 -0
  2287. data/node_modules/lodash/fp/toPath.js +5 -0
  2288. data/node_modules/lodash/fp/toPlainObject.js +5 -0
  2289. data/node_modules/lodash/fp/toSafeInteger.js +5 -0
  2290. data/node_modules/lodash/fp/toString.js +5 -0
  2291. data/node_modules/lodash/fp/toUpper.js +5 -0
  2292. data/node_modules/lodash/fp/transform.js +5 -0
  2293. data/node_modules/lodash/fp/trim.js +5 -0
  2294. data/node_modules/lodash/fp/trimChars.js +5 -0
  2295. data/node_modules/lodash/fp/trimCharsEnd.js +5 -0
  2296. data/node_modules/lodash/fp/trimCharsStart.js +5 -0
  2297. data/node_modules/lodash/fp/trimEnd.js +5 -0
  2298. data/node_modules/lodash/fp/trimStart.js +5 -0
  2299. data/node_modules/lodash/fp/truncate.js +5 -0
  2300. data/node_modules/lodash/fp/unapply.js +1 -0
  2301. data/node_modules/lodash/fp/unary.js +5 -0
  2302. data/node_modules/lodash/fp/unescape.js +5 -0
  2303. data/node_modules/lodash/fp/union.js +5 -0
  2304. data/node_modules/lodash/fp/unionBy.js +5 -0
  2305. data/node_modules/lodash/fp/unionWith.js +5 -0
  2306. data/node_modules/lodash/fp/uniq.js +5 -0
  2307. data/node_modules/lodash/fp/uniqBy.js +5 -0
  2308. data/node_modules/lodash/fp/uniqWith.js +5 -0
  2309. data/node_modules/lodash/fp/uniqueId.js +5 -0
  2310. data/node_modules/lodash/fp/unnest.js +1 -0
  2311. data/node_modules/lodash/fp/unset.js +5 -0
  2312. data/node_modules/lodash/fp/unzip.js +5 -0
  2313. data/node_modules/lodash/fp/unzipWith.js +5 -0
  2314. data/node_modules/lodash/fp/update.js +5 -0
  2315. data/node_modules/lodash/fp/updateWith.js +5 -0
  2316. data/node_modules/lodash/fp/upperCase.js +5 -0
  2317. data/node_modules/lodash/fp/upperFirst.js +5 -0
  2318. data/node_modules/lodash/fp/useWith.js +1 -0
  2319. data/node_modules/lodash/fp/util.js +2 -0
  2320. data/node_modules/lodash/fp/value.js +5 -0
  2321. data/node_modules/lodash/fp/valueOf.js +5 -0
  2322. data/node_modules/lodash/fp/values.js +5 -0
  2323. data/node_modules/lodash/fp/valuesIn.js +5 -0
  2324. data/node_modules/lodash/fp/where.js +1 -0
  2325. data/node_modules/lodash/fp/whereEq.js +1 -0
  2326. data/node_modules/lodash/fp/without.js +5 -0
  2327. data/node_modules/lodash/fp/words.js +5 -0
  2328. data/node_modules/lodash/fp/wrap.js +5 -0
  2329. data/node_modules/lodash/fp/wrapperAt.js +5 -0
  2330. data/node_modules/lodash/fp/wrapperChain.js +5 -0
  2331. data/node_modules/lodash/fp/wrapperLodash.js +5 -0
  2332. data/node_modules/lodash/fp/wrapperReverse.js +5 -0
  2333. data/node_modules/lodash/fp/wrapperValue.js +5 -0
  2334. data/node_modules/lodash/fp/xor.js +5 -0
  2335. data/node_modules/lodash/fp/xorBy.js +5 -0
  2336. data/node_modules/lodash/fp/xorWith.js +5 -0
  2337. data/node_modules/lodash/fp/zip.js +5 -0
  2338. data/node_modules/lodash/fp/zipAll.js +5 -0
  2339. data/node_modules/lodash/fp/zipObj.js +1 -0
  2340. data/node_modules/lodash/fp/zipObject.js +5 -0
  2341. data/node_modules/lodash/fp/zipObjectDeep.js +5 -0
  2342. data/node_modules/lodash/fp/zipWith.js +5 -0
  2343. data/node_modules/lodash/fp.js +2 -0
  2344. data/node_modules/lodash/fromPairs.js +28 -0
  2345. data/node_modules/lodash/function.js +25 -0
  2346. data/node_modules/lodash/functions.js +31 -0
  2347. data/node_modules/lodash/functionsIn.js +31 -0
  2348. data/node_modules/lodash/get.js +33 -0
  2349. data/node_modules/lodash/groupBy.js +41 -0
  2350. data/node_modules/lodash/gt.js +29 -0
  2351. data/node_modules/lodash/gte.js +30 -0
  2352. data/node_modules/lodash/has.js +35 -0
  2353. data/node_modules/lodash/hasIn.js +34 -0
  2354. data/node_modules/lodash/head.js +23 -0
  2355. data/node_modules/lodash/identity.js +21 -0
  2356. data/node_modules/lodash/inRange.js +55 -0
  2357. data/node_modules/lodash/includes.js +53 -0
  2358. data/node_modules/lodash/index.js +1 -0
  2359. data/node_modules/lodash/indexOf.js +42 -0
  2360. data/node_modules/lodash/initial.js +22 -0
  2361. data/node_modules/lodash/intersection.js +30 -0
  2362. data/node_modules/lodash/intersectionBy.js +45 -0
  2363. data/node_modules/lodash/intersectionWith.js +41 -0
  2364. data/node_modules/lodash/invert.js +42 -0
  2365. data/node_modules/lodash/invertBy.js +56 -0
  2366. data/node_modules/lodash/invoke.js +24 -0
  2367. data/node_modules/lodash/invokeMap.js +41 -0
  2368. data/node_modules/lodash/isArguments.js +36 -0
  2369. data/node_modules/lodash/isArray.js +26 -0
  2370. data/node_modules/lodash/isArrayBuffer.js +27 -0
  2371. data/node_modules/lodash/isArrayLike.js +33 -0
  2372. data/node_modules/lodash/isArrayLikeObject.js +33 -0
  2373. data/node_modules/lodash/isBoolean.js +29 -0
  2374. data/node_modules/lodash/isBuffer.js +38 -0
  2375. data/node_modules/lodash/isDate.js +27 -0
  2376. data/node_modules/lodash/isElement.js +25 -0
  2377. data/node_modules/lodash/isEmpty.js +77 -0
  2378. data/node_modules/lodash/isEqual.js +35 -0
  2379. data/node_modules/lodash/isEqualWith.js +41 -0
  2380. data/node_modules/lodash/isError.js +36 -0
  2381. data/node_modules/lodash/isFinite.js +36 -0
  2382. data/node_modules/lodash/isFunction.js +37 -0
  2383. data/node_modules/lodash/isInteger.js +33 -0
  2384. data/node_modules/lodash/isLength.js +35 -0
  2385. data/node_modules/lodash/isMap.js +27 -0
  2386. data/node_modules/lodash/isMatch.js +36 -0
  2387. data/node_modules/lodash/isMatchWith.js +41 -0
  2388. data/node_modules/lodash/isNaN.js +38 -0
  2389. data/node_modules/lodash/isNative.js +40 -0
  2390. data/node_modules/lodash/isNil.js +25 -0
  2391. data/node_modules/lodash/isNull.js +22 -0
  2392. data/node_modules/lodash/isNumber.js +38 -0
  2393. data/node_modules/lodash/isObject.js +31 -0
  2394. data/node_modules/lodash/isObjectLike.js +29 -0
  2395. data/node_modules/lodash/isPlainObject.js +62 -0
  2396. data/node_modules/lodash/isRegExp.js +27 -0
  2397. data/node_modules/lodash/isSafeInteger.js +37 -0
  2398. data/node_modules/lodash/isSet.js +27 -0
  2399. data/node_modules/lodash/isString.js +30 -0
  2400. data/node_modules/lodash/isSymbol.js +29 -0
  2401. data/node_modules/lodash/isTypedArray.js +27 -0
  2402. data/node_modules/lodash/isUndefined.js +22 -0
  2403. data/node_modules/lodash/isWeakMap.js +28 -0
  2404. data/node_modules/lodash/isWeakSet.js +28 -0
  2405. data/node_modules/lodash/iteratee.js +53 -0
  2406. data/node_modules/lodash/join.js +26 -0
  2407. data/node_modules/lodash/kebabCase.js +28 -0
  2408. data/node_modules/lodash/keyBy.js +36 -0
  2409. data/node_modules/lodash/keys.js +37 -0
  2410. data/node_modules/lodash/keysIn.js +32 -0
  2411. data/node_modules/lodash/lang.js +58 -0
  2412. data/node_modules/lodash/last.js +20 -0
  2413. data/node_modules/lodash/lastIndexOf.js +46 -0
  2414. data/node_modules/lodash/lodash.js +17209 -0
  2415. data/node_modules/lodash/lodash.min.js +140 -0
  2416. data/node_modules/lodash/lowerCase.js +27 -0
  2417. data/node_modules/lodash/lowerFirst.js +22 -0
  2418. data/node_modules/lodash/lt.js +29 -0
  2419. data/node_modules/lodash/lte.js +30 -0
  2420. data/node_modules/lodash/map.js +53 -0
  2421. data/node_modules/lodash/mapKeys.js +36 -0
  2422. data/node_modules/lodash/mapValues.js +43 -0
  2423. data/node_modules/lodash/matches.js +46 -0
  2424. data/node_modules/lodash/matchesProperty.js +44 -0
  2425. data/node_modules/lodash/math.js +17 -0
  2426. data/node_modules/lodash/max.js +29 -0
  2427. data/node_modules/lodash/maxBy.js +34 -0
  2428. data/node_modules/lodash/mean.js +22 -0
  2429. data/node_modules/lodash/meanBy.js +31 -0
  2430. data/node_modules/lodash/memoize.js +73 -0
  2431. data/node_modules/lodash/merge.js +39 -0
  2432. data/node_modules/lodash/mergeWith.js +39 -0
  2433. data/node_modules/lodash/method.js +34 -0
  2434. data/node_modules/lodash/methodOf.js +33 -0
  2435. data/node_modules/lodash/min.js +29 -0
  2436. data/node_modules/lodash/minBy.js +34 -0
  2437. data/node_modules/lodash/mixin.js +74 -0
  2438. data/node_modules/lodash/multiply.js +22 -0
  2439. data/node_modules/lodash/negate.js +40 -0
  2440. data/node_modules/lodash/next.js +35 -0
  2441. data/node_modules/lodash/noop.js +17 -0
  2442. data/node_modules/lodash/now.js +23 -0
  2443. data/node_modules/lodash/nth.js +29 -0
  2444. data/node_modules/lodash/nthArg.js +32 -0
  2445. data/node_modules/lodash/number.js +5 -0
  2446. data/node_modules/lodash/object.js +49 -0
  2447. data/node_modules/lodash/omit.js +57 -0
  2448. data/node_modules/lodash/omitBy.js +29 -0
  2449. data/node_modules/lodash/once.js +25 -0
  2450. data/node_modules/lodash/orderBy.js +47 -0
  2451. data/node_modules/lodash/over.js +24 -0
  2452. data/node_modules/lodash/overArgs.js +61 -0
  2453. data/node_modules/lodash/overEvery.js +34 -0
  2454. data/node_modules/lodash/overSome.js +37 -0
  2455. data/node_modules/lodash/package.json +17 -0
  2456. data/node_modules/lodash/pad.js +49 -0
  2457. data/node_modules/lodash/padEnd.js +39 -0
  2458. data/node_modules/lodash/padStart.js +39 -0
  2459. data/node_modules/lodash/parseInt.js +43 -0
  2460. data/node_modules/lodash/partial.js +50 -0
  2461. data/node_modules/lodash/partialRight.js +49 -0
  2462. data/node_modules/lodash/partition.js +43 -0
  2463. data/node_modules/lodash/pick.js +25 -0
  2464. data/node_modules/lodash/pickBy.js +37 -0
  2465. data/node_modules/lodash/plant.js +48 -0
  2466. data/node_modules/lodash/property.js +32 -0
  2467. data/node_modules/lodash/propertyOf.js +30 -0
  2468. data/node_modules/lodash/pull.js +29 -0
  2469. data/node_modules/lodash/pullAll.js +29 -0
  2470. data/node_modules/lodash/pullAllBy.js +33 -0
  2471. data/node_modules/lodash/pullAllWith.js +32 -0
  2472. data/node_modules/lodash/pullAt.js +43 -0
  2473. data/node_modules/lodash/random.js +82 -0
  2474. data/node_modules/lodash/range.js +46 -0
  2475. data/node_modules/lodash/rangeRight.js +41 -0
  2476. data/node_modules/lodash/rearg.js +33 -0
  2477. data/node_modules/lodash/reduce.js +51 -0
  2478. data/node_modules/lodash/reduceRight.js +36 -0
  2479. data/node_modules/lodash/reject.js +46 -0
  2480. data/node_modules/lodash/release.md +48 -0
  2481. data/node_modules/lodash/remove.js +53 -0
  2482. data/node_modules/lodash/repeat.js +37 -0
  2483. data/node_modules/lodash/replace.js +29 -0
  2484. data/node_modules/lodash/rest.js +40 -0
  2485. data/node_modules/lodash/result.js +56 -0
  2486. data/node_modules/lodash/reverse.js +34 -0
  2487. data/node_modules/lodash/round.js +26 -0
  2488. data/node_modules/lodash/sample.js +24 -0
  2489. data/node_modules/lodash/sampleSize.js +37 -0
  2490. data/node_modules/lodash/seq.js +16 -0
  2491. data/node_modules/lodash/set.js +35 -0
  2492. data/node_modules/lodash/setWith.js +32 -0
  2493. data/node_modules/lodash/shuffle.js +25 -0
  2494. data/node_modules/lodash/size.js +46 -0
  2495. data/node_modules/lodash/slice.js +37 -0
  2496. data/node_modules/lodash/snakeCase.js +28 -0
  2497. data/node_modules/lodash/some.js +51 -0
  2498. data/node_modules/lodash/sortBy.js +48 -0
  2499. data/node_modules/lodash/sortedIndex.js +24 -0
  2500. data/node_modules/lodash/sortedIndexBy.js +33 -0
  2501. data/node_modules/lodash/sortedIndexOf.js +31 -0
  2502. data/node_modules/lodash/sortedLastIndex.js +25 -0
  2503. data/node_modules/lodash/sortedLastIndexBy.js +33 -0
  2504. data/node_modules/lodash/sortedLastIndexOf.js +31 -0
  2505. data/node_modules/lodash/sortedUniq.js +24 -0
  2506. data/node_modules/lodash/sortedUniqBy.js +26 -0
  2507. data/node_modules/lodash/split.js +52 -0
  2508. data/node_modules/lodash/spread.js +63 -0
  2509. data/node_modules/lodash/startCase.js +29 -0
  2510. data/node_modules/lodash/startsWith.js +39 -0
  2511. data/node_modules/lodash/string.js +33 -0
  2512. data/node_modules/lodash/stubArray.js +23 -0
  2513. data/node_modules/lodash/stubFalse.js +18 -0
  2514. data/node_modules/lodash/stubObject.js +23 -0
  2515. data/node_modules/lodash/stubString.js +18 -0
  2516. data/node_modules/lodash/stubTrue.js +18 -0
  2517. data/node_modules/lodash/subtract.js +22 -0
  2518. data/node_modules/lodash/sum.js +24 -0
  2519. data/node_modules/lodash/sumBy.js +33 -0
  2520. data/node_modules/lodash/tail.js +22 -0
  2521. data/node_modules/lodash/take.js +37 -0
  2522. data/node_modules/lodash/takeRight.js +39 -0
  2523. data/node_modules/lodash/takeRightWhile.js +45 -0
  2524. data/node_modules/lodash/takeWhile.js +45 -0
  2525. data/node_modules/lodash/tap.js +29 -0
  2526. data/node_modules/lodash/template.js +272 -0
  2527. data/node_modules/lodash/templateSettings.js +67 -0
  2528. data/node_modules/lodash/throttle.js +69 -0
  2529. data/node_modules/lodash/thru.js +28 -0
  2530. data/node_modules/lodash/times.js +51 -0
  2531. data/node_modules/lodash/toArray.js +58 -0
  2532. data/node_modules/lodash/toFinite.js +42 -0
  2533. data/node_modules/lodash/toInteger.js +36 -0
  2534. data/node_modules/lodash/toIterator.js +23 -0
  2535. data/node_modules/lodash/toJSON.js +1 -0
  2536. data/node_modules/lodash/toLength.js +38 -0
  2537. data/node_modules/lodash/toLower.js +28 -0
  2538. data/node_modules/lodash/toNumber.js +64 -0
  2539. data/node_modules/lodash/toPairs.js +30 -0
  2540. data/node_modules/lodash/toPairsIn.js +30 -0
  2541. data/node_modules/lodash/toPath.js +33 -0
  2542. data/node_modules/lodash/toPlainObject.js +32 -0
  2543. data/node_modules/lodash/toSafeInteger.js +37 -0
  2544. data/node_modules/lodash/toString.js +28 -0
  2545. data/node_modules/lodash/toUpper.js +28 -0
  2546. data/node_modules/lodash/transform.js +65 -0
  2547. data/node_modules/lodash/trim.js +47 -0
  2548. data/node_modules/lodash/trimEnd.js +41 -0
  2549. data/node_modules/lodash/trimStart.js +43 -0
  2550. data/node_modules/lodash/truncate.js +111 -0
  2551. data/node_modules/lodash/unary.js +22 -0
  2552. data/node_modules/lodash/unescape.js +34 -0
  2553. data/node_modules/lodash/union.js +26 -0
  2554. data/node_modules/lodash/unionBy.js +39 -0
  2555. data/node_modules/lodash/unionWith.js +34 -0
  2556. data/node_modules/lodash/uniq.js +25 -0
  2557. data/node_modules/lodash/uniqBy.js +31 -0
  2558. data/node_modules/lodash/uniqWith.js +28 -0
  2559. data/node_modules/lodash/uniqueId.js +28 -0
  2560. data/node_modules/lodash/unset.js +34 -0
  2561. data/node_modules/lodash/unzip.js +45 -0
  2562. data/node_modules/lodash/unzipWith.js +39 -0
  2563. data/node_modules/lodash/update.js +35 -0
  2564. data/node_modules/lodash/updateWith.js +33 -0
  2565. data/node_modules/lodash/upperCase.js +27 -0
  2566. data/node_modules/lodash/upperFirst.js +22 -0
  2567. data/node_modules/lodash/util.js +34 -0
  2568. data/node_modules/lodash/value.js +1 -0
  2569. data/node_modules/lodash/valueOf.js +1 -0
  2570. data/node_modules/lodash/values.js +34 -0
  2571. data/node_modules/lodash/valuesIn.js +32 -0
  2572. data/node_modules/lodash/without.js +31 -0
  2573. data/node_modules/lodash/words.js +35 -0
  2574. data/node_modules/lodash/wrap.js +30 -0
  2575. data/node_modules/lodash/wrapperAt.js +48 -0
  2576. data/node_modules/lodash/wrapperChain.js +34 -0
  2577. data/node_modules/lodash/wrapperLodash.js +147 -0
  2578. data/node_modules/lodash/wrapperReverse.js +44 -0
  2579. data/node_modules/lodash/wrapperValue.js +21 -0
  2580. data/node_modules/lodash/xor.js +28 -0
  2581. data/node_modules/lodash/xorBy.js +39 -0
  2582. data/node_modules/lodash/xorWith.js +34 -0
  2583. data/node_modules/lodash/zip.js +22 -0
  2584. data/node_modules/lodash/zipObject.js +24 -0
  2585. data/node_modules/lodash/zipObjectDeep.js +23 -0
  2586. data/node_modules/lodash/zipWith.js +32 -0
  2587. data/node_modules/lru-cache/LICENSE +15 -0
  2588. data/node_modules/lru-cache/README.md +166 -0
  2589. data/node_modules/lru-cache/index.js +334 -0
  2590. data/node_modules/lru-cache/package.json +34 -0
  2591. data/node_modules/mime-db/HISTORY.md +486 -0
  2592. data/node_modules/mime-db/LICENSE +22 -0
  2593. data/node_modules/mime-db/README.md +100 -0
  2594. data/node_modules/mime-db/db.json +8417 -0
  2595. data/node_modules/mime-db/index.js +11 -0
  2596. data/node_modules/mime-db/package.json +59 -0
  2597. data/node_modules/mime-types/HISTORY.md +378 -0
  2598. data/node_modules/mime-types/LICENSE +23 -0
  2599. data/node_modules/mime-types/README.md +113 -0
  2600. data/node_modules/mime-types/index.js +188 -0
  2601. data/node_modules/mime-types/package.json +44 -0
  2602. data/node_modules/minimatch/LICENSE +15 -0
  2603. data/node_modules/minimatch/README.md +209 -0
  2604. data/node_modules/minimatch/minimatch.js +923 -0
  2605. data/node_modules/minimatch/package.json +30 -0
  2606. data/node_modules/ms/index.js +162 -0
  2607. data/node_modules/ms/license.md +21 -0
  2608. data/node_modules/ms/package.json +37 -0
  2609. data/node_modules/ms/readme.md +60 -0
  2610. data/node_modules/normalize-path/LICENSE +21 -0
  2611. data/node_modules/normalize-path/README.md +127 -0
  2612. data/node_modules/normalize-path/index.js +35 -0
  2613. data/node_modules/normalize-path/package.json +77 -0
  2614. data/node_modules/nwsapi/LICENSE +22 -0
  2615. data/node_modules/nwsapi/README.md +132 -0
  2616. data/node_modules/nwsapi/dist/lint.log +0 -0
  2617. data/node_modules/nwsapi/package.json +38 -0
  2618. data/node_modules/nwsapi/src/modules/nwsapi-jquery.js +135 -0
  2619. data/node_modules/nwsapi/src/modules/nwsapi-traversal.js +90 -0
  2620. data/node_modules/nwsapi/src/nwsapi.js +1800 -0
  2621. data/node_modules/once/LICENSE +15 -0
  2622. data/node_modules/once/README.md +79 -0
  2623. data/node_modules/once/once.js +42 -0
  2624. data/node_modules/once/package.json +33 -0
  2625. data/node_modules/optionator/CHANGELOG.md +56 -0
  2626. data/node_modules/optionator/LICENSE +22 -0
  2627. data/node_modules/optionator/README.md +238 -0
  2628. data/node_modules/optionator/lib/help.js +260 -0
  2629. data/node_modules/optionator/lib/index.js +465 -0
  2630. data/node_modules/optionator/lib/util.js +54 -0
  2631. data/node_modules/optionator/package.json +44 -0
  2632. data/node_modules/parse5/LICENSE +19 -0
  2633. data/node_modules/parse5/README.md +38 -0
  2634. data/node_modules/parse5/lib/common/doctype.js +162 -0
  2635. data/node_modules/parse5/lib/common/error-codes.js +65 -0
  2636. data/node_modules/parse5/lib/common/foreign-content.js +265 -0
  2637. data/node_modules/parse5/lib/common/html.js +272 -0
  2638. data/node_modules/parse5/lib/common/unicode.js +109 -0
  2639. data/node_modules/parse5/lib/extensions/error-reporting/mixin-base.js +43 -0
  2640. data/node_modules/parse5/lib/extensions/error-reporting/parser-mixin.js +52 -0
  2641. data/node_modules/parse5/lib/extensions/error-reporting/preprocessor-mixin.js +24 -0
  2642. data/node_modules/parse5/lib/extensions/error-reporting/tokenizer-mixin.js +17 -0
  2643. data/node_modules/parse5/lib/extensions/location-info/open-element-stack-mixin.js +35 -0
  2644. data/node_modules/parse5/lib/extensions/location-info/parser-mixin.js +223 -0
  2645. data/node_modules/parse5/lib/extensions/location-info/tokenizer-mixin.js +146 -0
  2646. data/node_modules/parse5/lib/extensions/position-tracking/preprocessor-mixin.js +64 -0
  2647. data/node_modules/parse5/lib/index.js +29 -0
  2648. data/node_modules/parse5/lib/parser/formatting-element-list.js +181 -0
  2649. data/node_modules/parse5/lib/parser/index.js +2956 -0
  2650. data/node_modules/parse5/lib/parser/open-element-stack.js +482 -0
  2651. data/node_modules/parse5/lib/serializer/index.js +176 -0
  2652. data/node_modules/parse5/lib/tokenizer/index.js +2196 -0
  2653. data/node_modules/parse5/lib/tokenizer/named-entity-data.js +5 -0
  2654. data/node_modules/parse5/lib/tokenizer/preprocessor.js +159 -0
  2655. data/node_modules/parse5/lib/tree-adapters/default.js +221 -0
  2656. data/node_modules/parse5/lib/utils/merge-options.js +13 -0
  2657. data/node_modules/parse5/lib/utils/mixin.js +39 -0
  2658. data/node_modules/parse5/package.json +35 -0
  2659. data/node_modules/path-is-absolute/index.js +20 -0
  2660. data/node_modules/path-is-absolute/license +21 -0
  2661. data/node_modules/path-is-absolute/package.json +43 -0
  2662. data/node_modules/path-is-absolute/readme.md +59 -0
  2663. data/node_modules/path-key/index.d.ts +40 -0
  2664. data/node_modules/path-key/index.js +16 -0
  2665. data/node_modules/path-key/license +9 -0
  2666. data/node_modules/path-key/package.json +39 -0
  2667. data/node_modules/path-key/readme.md +61 -0
  2668. data/node_modules/picomatch/CHANGELOG.md +126 -0
  2669. data/node_modules/picomatch/LICENSE +21 -0
  2670. data/node_modules/picomatch/README.md +707 -0
  2671. data/node_modules/picomatch/index.js +3 -0
  2672. data/node_modules/picomatch/lib/constants.js +179 -0
  2673. data/node_modules/picomatch/lib/parse.js +1084 -0
  2674. data/node_modules/picomatch/lib/picomatch.js +342 -0
  2675. data/node_modules/picomatch/lib/scan.js +391 -0
  2676. data/node_modules/picomatch/lib/utils.js +64 -0
  2677. data/node_modules/picomatch/package.json +81 -0
  2678. data/node_modules/prelude-ls/CHANGELOG.md +99 -0
  2679. data/node_modules/prelude-ls/LICENSE +22 -0
  2680. data/node_modules/prelude-ls/README.md +15 -0
  2681. data/node_modules/prelude-ls/lib/Func.js +65 -0
  2682. data/node_modules/prelude-ls/lib/List.js +686 -0
  2683. data/node_modules/prelude-ls/lib/Num.js +130 -0
  2684. data/node_modules/prelude-ls/lib/Obj.js +154 -0
  2685. data/node_modules/prelude-ls/lib/Str.js +92 -0
  2686. data/node_modules/prelude-ls/lib/index.js +178 -0
  2687. data/node_modules/prelude-ls/package.json +52 -0
  2688. data/node_modules/psl/LICENSE +9 -0
  2689. data/node_modules/psl/README.md +215 -0
  2690. data/node_modules/psl/browserstack-logo.svg +90 -0
  2691. data/node_modules/psl/data/rules.json +8834 -0
  2692. data/node_modules/psl/dist/psl.js +9645 -0
  2693. data/node_modules/psl/dist/psl.min.js +1 -0
  2694. data/node_modules/psl/index.js +269 -0
  2695. data/node_modules/psl/package.json +44 -0
  2696. data/node_modules/punycode/LICENSE-MIT.txt +20 -0
  2697. data/node_modules/punycode/README.md +122 -0
  2698. data/node_modules/punycode/package.json +58 -0
  2699. data/node_modules/punycode/punycode.es6.js +441 -0
  2700. data/node_modules/punycode/punycode.js +440 -0
  2701. data/node_modules/readdirp/LICENSE +21 -0
  2702. data/node_modules/readdirp/README.md +122 -0
  2703. data/node_modules/readdirp/index.d.ts +43 -0
  2704. data/node_modules/readdirp/index.js +287 -0
  2705. data/node_modules/readdirp/package.json +122 -0
  2706. data/node_modules/require-directory/LICENSE +22 -0
  2707. data/node_modules/require-directory/README.markdown +184 -0
  2708. data/node_modules/require-directory/index.js +86 -0
  2709. data/node_modules/require-directory/package.json +40 -0
  2710. data/node_modules/safer-buffer/LICENSE +21 -0
  2711. data/node_modules/safer-buffer/Porting-Buffer.md +268 -0
  2712. data/node_modules/safer-buffer/Readme.md +156 -0
  2713. data/node_modules/safer-buffer/dangerous.js +58 -0
  2714. data/node_modules/safer-buffer/package.json +34 -0
  2715. data/node_modules/safer-buffer/safer.js +77 -0
  2716. data/node_modules/safer-buffer/tests.js +406 -0
  2717. data/node_modules/saxes/README.md +323 -0
  2718. data/node_modules/saxes/package.json +70 -0
  2719. data/node_modules/saxes/saxes.d.ts +635 -0
  2720. data/node_modules/saxes/saxes.js +2064 -0
  2721. data/node_modules/saxes/saxes.js.map +1 -0
  2722. data/node_modules/semver/CHANGELOG.md +111 -0
  2723. data/node_modules/semver/LICENSE +15 -0
  2724. data/node_modules/semver/README.md +566 -0
  2725. data/node_modules/semver/bin/semver.js +173 -0
  2726. data/node_modules/semver/classes/comparator.js +135 -0
  2727. data/node_modules/semver/classes/index.js +5 -0
  2728. data/node_modules/semver/classes/range.js +510 -0
  2729. data/node_modules/semver/classes/semver.js +287 -0
  2730. data/node_modules/semver/functions/clean.js +6 -0
  2731. data/node_modules/semver/functions/cmp.js +48 -0
  2732. data/node_modules/semver/functions/coerce.js +51 -0
  2733. data/node_modules/semver/functions/compare-build.js +7 -0
  2734. data/node_modules/semver/functions/compare-loose.js +3 -0
  2735. data/node_modules/semver/functions/compare.js +5 -0
  2736. data/node_modules/semver/functions/diff.js +23 -0
  2737. data/node_modules/semver/functions/eq.js +3 -0
  2738. data/node_modules/semver/functions/gt.js +3 -0
  2739. data/node_modules/semver/functions/gte.js +3 -0
  2740. data/node_modules/semver/functions/inc.js +15 -0
  2741. data/node_modules/semver/functions/lt.js +3 -0
  2742. data/node_modules/semver/functions/lte.js +3 -0
  2743. data/node_modules/semver/functions/major.js +3 -0
  2744. data/node_modules/semver/functions/minor.js +3 -0
  2745. data/node_modules/semver/functions/neq.js +3 -0
  2746. data/node_modules/semver/functions/parse.js +33 -0
  2747. data/node_modules/semver/functions/patch.js +3 -0
  2748. data/node_modules/semver/functions/prerelease.js +6 -0
  2749. data/node_modules/semver/functions/rcompare.js +3 -0
  2750. data/node_modules/semver/functions/rsort.js +3 -0
  2751. data/node_modules/semver/functions/satisfies.js +10 -0
  2752. data/node_modules/semver/functions/sort.js +3 -0
  2753. data/node_modules/semver/functions/valid.js +6 -0
  2754. data/node_modules/semver/index.js +48 -0
  2755. data/node_modules/semver/internal/constants.js +17 -0
  2756. data/node_modules/semver/internal/debug.js +9 -0
  2757. data/node_modules/semver/internal/identifiers.js +23 -0
  2758. data/node_modules/semver/internal/parse-options.js +11 -0
  2759. data/node_modules/semver/internal/re.js +182 -0
  2760. data/node_modules/semver/package.json +41 -0
  2761. data/node_modules/semver/preload.js +2 -0
  2762. data/node_modules/semver/range.bnf +16 -0
  2763. data/node_modules/semver/ranges/gtr.js +4 -0
  2764. data/node_modules/semver/ranges/intersects.js +7 -0
  2765. data/node_modules/semver/ranges/ltr.js +4 -0
  2766. data/node_modules/semver/ranges/max-satisfying.js +25 -0
  2767. data/node_modules/semver/ranges/min-satisfying.js +24 -0
  2768. data/node_modules/semver/ranges/min-version.js +60 -0
  2769. data/node_modules/semver/ranges/outside.js +80 -0
  2770. data/node_modules/semver/ranges/simplify.js +44 -0
  2771. data/node_modules/semver/ranges/subset.js +222 -0
  2772. data/node_modules/semver/ranges/to-comparators.js +8 -0
  2773. data/node_modules/semver/ranges/valid.js +11 -0
  2774. data/node_modules/shebang-command/index.js +19 -0
  2775. data/node_modules/shebang-command/license +9 -0
  2776. data/node_modules/shebang-command/package.json +34 -0
  2777. data/node_modules/shebang-command/readme.md +34 -0
  2778. data/node_modules/shebang-regex/index.d.ts +22 -0
  2779. data/node_modules/shebang-regex/index.js +2 -0
  2780. data/node_modules/shebang-regex/license +9 -0
  2781. data/node_modules/shebang-regex/package.json +35 -0
  2782. data/node_modules/shebang-regex/readme.md +33 -0
  2783. data/node_modules/simple-wcswidth/CHANGELOG.md +13 -0
  2784. data/node_modules/simple-wcswidth/LICENSE +21 -0
  2785. data/node_modules/simple-wcswidth/README.md +100 -0
  2786. data/node_modules/simple-wcswidth/dist/index.d.ts +3 -0
  2787. data/node_modules/simple-wcswidth/dist/index.js +10 -0
  2788. data/node_modules/simple-wcswidth/dist/src/binary-search.d.ts +3 -0
  2789. data/node_modules/simple-wcswidth/dist/src/binary-search.js +24 -0
  2790. data/node_modules/simple-wcswidth/dist/src/models.d.ts +4 -0
  2791. data/node_modules/simple-wcswidth/dist/src/models.js +2 -0
  2792. data/node_modules/simple-wcswidth/dist/src/non-spacing-chars.d.ts +3 -0
  2793. data/node_modules/simple-wcswidth/dist/src/non-spacing-chars.js +149 -0
  2794. data/node_modules/simple-wcswidth/dist/src/wcswidth.d.ts +2 -0
  2795. data/node_modules/simple-wcswidth/dist/src/wcswidth.js +20 -0
  2796. data/node_modules/simple-wcswidth/dist/src/wcwidth.d.ts +2 -0
  2797. data/node_modules/simple-wcswidth/dist/src/wcwidth.js +67 -0
  2798. data/node_modules/simple-wcswidth/package.json +44 -0
  2799. data/node_modules/source-map/CHANGELOG.md +301 -0
  2800. data/node_modules/source-map/LICENSE +28 -0
  2801. data/node_modules/source-map/README.md +742 -0
  2802. data/node_modules/source-map/dist/source-map.debug.js +3234 -0
  2803. data/node_modules/source-map/dist/source-map.js +3233 -0
  2804. data/node_modules/source-map/dist/source-map.min.js +2 -0
  2805. data/node_modules/source-map/dist/source-map.min.js.map +1 -0
  2806. data/node_modules/source-map/lib/array-set.js +121 -0
  2807. data/node_modules/source-map/lib/base64-vlq.js +140 -0
  2808. data/node_modules/source-map/lib/base64.js +67 -0
  2809. data/node_modules/source-map/lib/binary-search.js +111 -0
  2810. data/node_modules/source-map/lib/mapping-list.js +79 -0
  2811. data/node_modules/source-map/lib/quick-sort.js +114 -0
  2812. data/node_modules/source-map/lib/source-map-consumer.js +1145 -0
  2813. data/node_modules/source-map/lib/source-map-generator.js +425 -0
  2814. data/node_modules/source-map/lib/source-node.js +413 -0
  2815. data/node_modules/source-map/lib/util.js +488 -0
  2816. data/node_modules/source-map/package.json +73 -0
  2817. data/node_modules/source-map/source-map.d.ts +98 -0
  2818. data/node_modules/source-map/source-map.js +8 -0
  2819. data/node_modules/sprintf-js/LICENSE +24 -0
  2820. data/node_modules/sprintf-js/README.md +88 -0
  2821. data/node_modules/sprintf-js/bower.json +14 -0
  2822. data/node_modules/sprintf-js/demo/angular.html +20 -0
  2823. data/node_modules/sprintf-js/dist/angular-sprintf.min.js +4 -0
  2824. data/node_modules/sprintf-js/dist/angular-sprintf.min.js.map +1 -0
  2825. data/node_modules/sprintf-js/dist/angular-sprintf.min.map +1 -0
  2826. data/node_modules/sprintf-js/dist/sprintf.min.js +4 -0
  2827. data/node_modules/sprintf-js/dist/sprintf.min.js.map +1 -0
  2828. data/node_modules/sprintf-js/dist/sprintf.min.map +1 -0
  2829. data/node_modules/sprintf-js/gruntfile.js +36 -0
  2830. data/node_modules/sprintf-js/package.json +22 -0
  2831. data/node_modules/sprintf-js/src/angular-sprintf.js +18 -0
  2832. data/node_modules/sprintf-js/src/sprintf.js +208 -0
  2833. data/node_modules/sprintf-js/test/test.js +82 -0
  2834. data/node_modules/sqlite-parser/CHANGELOG.md +1263 -0
  2835. data/node_modules/sqlite-parser/LICENSE +22 -0
  2836. data/node_modules/sqlite-parser/README.md +187 -0
  2837. data/node_modules/sqlite-parser/bin/sqlite-parser +7 -0
  2838. data/node_modules/sqlite-parser/dist/sqlite-parser.js +19 -0
  2839. data/node_modules/sqlite-parser/lib/index.js +6 -0
  2840. data/node_modules/sqlite-parser/lib/parser.js +6 -0
  2841. data/node_modules/sqlite-parser/lib/streaming-shim.js +6 -0
  2842. data/node_modules/sqlite-parser/lib/streaming.js +6 -0
  2843. data/node_modules/sqlite-parser/lib/tracer.js +6 -0
  2844. data/node_modules/sqlite-parser/package.json +75 -0
  2845. data/node_modules/string-width/index.d.ts +29 -0
  2846. data/node_modules/string-width/index.js +47 -0
  2847. data/node_modules/string-width/license +9 -0
  2848. data/node_modules/string-width/package.json +56 -0
  2849. data/node_modules/string-width/readme.md +50 -0
  2850. data/node_modules/strip-ansi/index.d.ts +17 -0
  2851. data/node_modules/strip-ansi/index.js +4 -0
  2852. data/node_modules/strip-ansi/license +9 -0
  2853. data/node_modules/strip-ansi/package.json +54 -0
  2854. data/node_modules/strip-ansi/readme.md +46 -0
  2855. data/node_modules/symbol-tree/LICENSE +21 -0
  2856. data/node_modules/symbol-tree/README.md +545 -0
  2857. data/node_modules/symbol-tree/lib/SymbolTree.js +838 -0
  2858. data/node_modules/symbol-tree/lib/SymbolTreeNode.js +54 -0
  2859. data/node_modules/symbol-tree/lib/TreeIterator.js +69 -0
  2860. data/node_modules/symbol-tree/lib/TreePosition.js +11 -0
  2861. data/node_modules/symbol-tree/package.json +47 -0
  2862. data/node_modules/to-regex-range/LICENSE +21 -0
  2863. data/node_modules/to-regex-range/README.md +305 -0
  2864. data/node_modules/to-regex-range/index.js +288 -0
  2865. data/node_modules/to-regex-range/package.json +88 -0
  2866. data/node_modules/tough-cookie/LICENSE +12 -0
  2867. data/node_modules/tough-cookie/README.md +582 -0
  2868. data/node_modules/tough-cookie/lib/cookie.js +1671 -0
  2869. data/node_modules/tough-cookie/lib/memstore.js +190 -0
  2870. data/node_modules/tough-cookie/lib/pathMatch.js +61 -0
  2871. data/node_modules/tough-cookie/lib/permuteDomain.js +70 -0
  2872. data/node_modules/tough-cookie/lib/pubsuffix-psl.js +38 -0
  2873. data/node_modules/tough-cookie/lib/store.js +76 -0
  2874. data/node_modules/tough-cookie/lib/version.js +2 -0
  2875. data/node_modules/tough-cookie/node_modules/universalify/LICENSE +20 -0
  2876. data/node_modules/tough-cookie/node_modules/universalify/README.md +76 -0
  2877. data/node_modules/tough-cookie/node_modules/universalify/index.js +25 -0
  2878. data/node_modules/tough-cookie/node_modules/universalify/package.json +34 -0
  2879. data/node_modules/tough-cookie/package.json +109 -0
  2880. data/node_modules/tr46/LICENSE.md +21 -0
  2881. data/node_modules/tr46/README.md +72 -0
  2882. data/node_modules/tr46/index.js +297 -0
  2883. data/node_modules/tr46/lib/mappingTable.json +1 -0
  2884. data/node_modules/tr46/lib/regexes.js +29 -0
  2885. data/node_modules/tr46/lib/statusMapping.js +11 -0
  2886. data/node_modules/tr46/package.json +46 -0
  2887. data/node_modules/type-check/LICENSE +22 -0
  2888. data/node_modules/type-check/README.md +210 -0
  2889. data/node_modules/type-check/lib/check.js +126 -0
  2890. data/node_modules/type-check/lib/index.js +16 -0
  2891. data/node_modules/type-check/lib/parse-type.js +196 -0
  2892. data/node_modules/type-check/package.json +40 -0
  2893. data/node_modules/universalify/LICENSE +20 -0
  2894. data/node_modules/universalify/README.md +76 -0
  2895. data/node_modules/universalify/index.js +24 -0
  2896. data/node_modules/universalify/package.json +34 -0
  2897. data/node_modules/w3c-hr-time/CHANGELOG.md +19 -0
  2898. data/node_modules/w3c-hr-time/LICENSE.md +21 -0
  2899. data/node_modules/w3c-hr-time/README.md +130 -0
  2900. data/node_modules/w3c-hr-time/index.js +11 -0
  2901. data/node_modules/w3c-hr-time/lib/calculate-clock-offset.js +39 -0
  2902. data/node_modules/w3c-hr-time/lib/clock-is-accurate.js +61 -0
  2903. data/node_modules/w3c-hr-time/lib/global-monotonic-clock.js +10 -0
  2904. data/node_modules/w3c-hr-time/lib/performance.js +53 -0
  2905. data/node_modules/w3c-hr-time/lib/utils.js +11 -0
  2906. data/node_modules/w3c-hr-time/package.json +26 -0
  2907. data/node_modules/w3c-xmlserializer/LICENSE.md +25 -0
  2908. data/node_modules/w3c-xmlserializer/README.md +41 -0
  2909. data/node_modules/w3c-xmlserializer/lib/attributes.js +128 -0
  2910. data/node_modules/w3c-xmlserializer/lib/constants.js +44 -0
  2911. data/node_modules/w3c-xmlserializer/lib/serialize.js +371 -0
  2912. data/node_modules/w3c-xmlserializer/package.json +32 -0
  2913. data/node_modules/webidl-conversions/LICENSE.md +12 -0
  2914. data/node_modules/webidl-conversions/README.md +101 -0
  2915. data/node_modules/webidl-conversions/lib/index.js +489 -0
  2916. data/node_modules/webidl-conversions/package.json +30 -0
  2917. data/node_modules/whatwg-encoding/LICENSE.txt +7 -0
  2918. data/node_modules/whatwg-encoding/README.md +50 -0
  2919. data/node_modules/whatwg-encoding/lib/labels-to-names.json +207 -0
  2920. data/node_modules/whatwg-encoding/lib/supported-names.json +37 -0
  2921. data/node_modules/whatwg-encoding/lib/whatwg-encoding.js +47 -0
  2922. data/node_modules/whatwg-encoding/package.json +29 -0
  2923. data/node_modules/whatwg-mimetype/LICENSE.txt +7 -0
  2924. data/node_modules/whatwg-mimetype/README.md +101 -0
  2925. data/node_modules/whatwg-mimetype/lib/mime-type.js +191 -0
  2926. data/node_modules/whatwg-mimetype/lib/parser.js +124 -0
  2927. data/node_modules/whatwg-mimetype/lib/serializer.js +25 -0
  2928. data/node_modules/whatwg-mimetype/lib/utils.js +25 -0
  2929. data/node_modules/whatwg-mimetype/package.json +43 -0
  2930. data/node_modules/whatwg-url/LICENSE.txt +21 -0
  2931. data/node_modules/whatwg-url/README.md +104 -0
  2932. data/node_modules/whatwg-url/dist/Function.js +46 -0
  2933. data/node_modules/whatwg-url/dist/URL-impl.js +217 -0
  2934. data/node_modules/whatwg-url/dist/URL.js +417 -0
  2935. data/node_modules/whatwg-url/dist/URLSearchParams-impl.js +122 -0
  2936. data/node_modules/whatwg-url/dist/URLSearchParams.js +457 -0
  2937. data/node_modules/whatwg-url/dist/VoidFunction.js +30 -0
  2938. data/node_modules/whatwg-url/dist/encoding.js +26 -0
  2939. data/node_modules/whatwg-url/dist/infra.js +26 -0
  2940. data/node_modules/whatwg-url/dist/percent-encoding.js +141 -0
  2941. data/node_modules/whatwg-url/dist/url-state-machine.js +1210 -0
  2942. data/node_modules/whatwg-url/dist/urlencoded.js +102 -0
  2943. data/node_modules/whatwg-url/dist/utils.js +141 -0
  2944. data/node_modules/whatwg-url/index.js +24 -0
  2945. data/node_modules/whatwg-url/package.json +60 -0
  2946. data/node_modules/whatwg-url/webidl2js-wrapper.js +7 -0
  2947. data/node_modules/which/CHANGELOG.md +166 -0
  2948. data/node_modules/which/LICENSE +15 -0
  2949. data/node_modules/which/README.md +54 -0
  2950. data/node_modules/which/bin/node-which +52 -0
  2951. data/node_modules/which/package.json +43 -0
  2952. data/node_modules/which/which.js +125 -0
  2953. data/node_modules/word-wrap/LICENSE +21 -0
  2954. data/node_modules/word-wrap/README.md +182 -0
  2955. data/node_modules/word-wrap/index.d.ts +50 -0
  2956. data/node_modules/word-wrap/index.js +46 -0
  2957. data/node_modules/word-wrap/package.json +77 -0
  2958. data/node_modules/wrap-ansi/index.js +216 -0
  2959. data/node_modules/wrap-ansi/license +9 -0
  2960. data/node_modules/wrap-ansi/package.json +62 -0
  2961. data/node_modules/wrap-ansi/readme.md +91 -0
  2962. data/node_modules/wrappy/LICENSE +15 -0
  2963. data/node_modules/wrappy/README.md +36 -0
  2964. data/node_modules/wrappy/package.json +29 -0
  2965. data/node_modules/wrappy/wrappy.js +33 -0
  2966. data/node_modules/ws/LICENSE +21 -0
  2967. data/node_modules/ws/README.md +496 -0
  2968. data/node_modules/ws/browser.js +8 -0
  2969. data/node_modules/ws/index.js +10 -0
  2970. data/node_modules/ws/lib/buffer-util.js +129 -0
  2971. data/node_modules/ws/lib/constants.js +10 -0
  2972. data/node_modules/ws/lib/event-target.js +184 -0
  2973. data/node_modules/ws/lib/extension.js +223 -0
  2974. data/node_modules/ws/lib/limiter.js +55 -0
  2975. data/node_modules/ws/lib/permessage-deflate.js +518 -0
  2976. data/node_modules/ws/lib/receiver.js +607 -0
  2977. data/node_modules/ws/lib/sender.js +409 -0
  2978. data/node_modules/ws/lib/stream.js +177 -0
  2979. data/node_modules/ws/lib/validation.js +104 -0
  2980. data/node_modules/ws/lib/websocket-server.js +447 -0
  2981. data/node_modules/ws/lib/websocket.js +1078 -0
  2982. data/node_modules/ws/package.json +56 -0
  2983. data/node_modules/xml-name-validator/LICENSE.txt +176 -0
  2984. data/node_modules/xml-name-validator/README.md +36 -0
  2985. data/node_modules/xml-name-validator/lib/generated-parser.js +504 -0
  2986. data/node_modules/xml-name-validator/lib/grammar.pegjs +35 -0
  2987. data/node_modules/xml-name-validator/lib/xml-name-validator.js +17 -0
  2988. data/node_modules/xml-name-validator/package.json +28 -0
  2989. data/node_modules/xmlchars/LICENSE +18 -0
  2990. data/node_modules/xmlchars/README.md +33 -0
  2991. data/node_modules/xmlchars/package.json +51 -0
  2992. data/node_modules/xmlchars/xml/1.0/ed4.d.ts +31 -0
  2993. data/node_modules/xmlchars/xml/1.0/ed4.js +44 -0
  2994. data/node_modules/xmlchars/xml/1.0/ed4.js.map +1 -0
  2995. data/node_modules/xmlchars/xml/1.0/ed5.d.ts +51 -0
  2996. data/node_modules/xmlchars/xml/1.0/ed5.js +105 -0
  2997. data/node_modules/xmlchars/xml/1.0/ed5.js.map +1 -0
  2998. data/node_modules/xmlchars/xml/1.1/ed2.d.ts +73 -0
  2999. data/node_modules/xmlchars/xml/1.1/ed2.js +145 -0
  3000. data/node_modules/xmlchars/xml/1.1/ed2.js.map +1 -0
  3001. data/node_modules/xmlchars/xmlchars.d.ts +170 -0
  3002. data/node_modules/xmlchars/xmlchars.js +191 -0
  3003. data/node_modules/xmlchars/xmlchars.js.map +1 -0
  3004. data/node_modules/xmlchars/xmlns/1.0/ed3.d.ts +28 -0
  3005. data/node_modules/xmlchars/xmlns/1.0/ed3.js +65 -0
  3006. data/node_modules/xmlchars/xmlns/1.0/ed3.js.map +1 -0
  3007. data/node_modules/y18n/CHANGELOG.md +100 -0
  3008. data/node_modules/y18n/LICENSE +13 -0
  3009. data/node_modules/y18n/README.md +127 -0
  3010. data/node_modules/y18n/build/index.cjs +203 -0
  3011. data/node_modules/y18n/build/lib/cjs.js +6 -0
  3012. data/node_modules/y18n/build/lib/index.js +174 -0
  3013. data/node_modules/y18n/build/lib/platform-shims/node.js +19 -0
  3014. data/node_modules/y18n/index.mjs +8 -0
  3015. data/node_modules/y18n/package.json +70 -0
  3016. data/node_modules/yallist/LICENSE +15 -0
  3017. data/node_modules/yallist/README.md +204 -0
  3018. data/node_modules/yallist/iterator.js +8 -0
  3019. data/node_modules/yallist/package.json +29 -0
  3020. data/node_modules/yallist/yallist.js +426 -0
  3021. data/node_modules/yargs/CHANGELOG.md +151 -0
  3022. data/node_modules/yargs/LICENSE +21 -0
  3023. data/node_modules/yargs/README.md +204 -0
  3024. data/node_modules/yargs/browser.mjs +7 -0
  3025. data/node_modules/yargs/build/index.cjs +1 -0
  3026. data/node_modules/yargs/build/lib/argsert.js +62 -0
  3027. data/node_modules/yargs/build/lib/command.js +436 -0
  3028. data/node_modules/yargs/build/lib/completion-templates.js +48 -0
  3029. data/node_modules/yargs/build/lib/completion.js +166 -0
  3030. data/node_modules/yargs/build/lib/middleware.js +85 -0
  3031. data/node_modules/yargs/build/lib/parse-command.js +32 -0
  3032. data/node_modules/yargs/build/lib/typings/common-types.js +9 -0
  3033. data/node_modules/yargs/build/lib/typings/yargs-parser-types.js +1 -0
  3034. data/node_modules/yargs/build/lib/usage.js +567 -0
  3035. data/node_modules/yargs/build/lib/utils/apply-extends.js +59 -0
  3036. data/node_modules/yargs/build/lib/utils/is-promise.js +5 -0
  3037. data/node_modules/yargs/build/lib/utils/levenshtein.js +26 -0
  3038. data/node_modules/yargs/build/lib/utils/maybe-async-result.js +17 -0
  3039. data/node_modules/yargs/build/lib/utils/obj-filter.js +10 -0
  3040. data/node_modules/yargs/build/lib/utils/process-argv.js +17 -0
  3041. data/node_modules/yargs/build/lib/utils/set-blocking.js +12 -0
  3042. data/node_modules/yargs/build/lib/utils/which-module.js +10 -0
  3043. data/node_modules/yargs/build/lib/validation.js +279 -0
  3044. data/node_modules/yargs/build/lib/yargs-factory.js +1452 -0
  3045. data/node_modules/yargs/build/lib/yerror.js +7 -0
  3046. data/node_modules/yargs/helpers/helpers.mjs +10 -0
  3047. data/node_modules/yargs/helpers/index.js +14 -0
  3048. data/node_modules/yargs/helpers/package.json +3 -0
  3049. data/node_modules/yargs/index.cjs +43 -0
  3050. data/node_modules/yargs/index.mjs +8 -0
  3051. data/node_modules/yargs/lib/platform-shims/browser.mjs +94 -0
  3052. data/node_modules/yargs/lib/platform-shims/esm.mjs +67 -0
  3053. data/node_modules/yargs/locales/be.json +46 -0
  3054. data/node_modules/yargs/locales/de.json +46 -0
  3055. data/node_modules/yargs/locales/en.json +51 -0
  3056. data/node_modules/yargs/locales/es.json +46 -0
  3057. data/node_modules/yargs/locales/fi.json +49 -0
  3058. data/node_modules/yargs/locales/fr.json +53 -0
  3059. data/node_modules/yargs/locales/hi.json +49 -0
  3060. data/node_modules/yargs/locales/hu.json +46 -0
  3061. data/node_modules/yargs/locales/id.json +50 -0
  3062. data/node_modules/yargs/locales/it.json +46 -0
  3063. data/node_modules/yargs/locales/ja.json +51 -0
  3064. data/node_modules/yargs/locales/ko.json +49 -0
  3065. data/node_modules/yargs/locales/nb.json +44 -0
  3066. data/node_modules/yargs/locales/nl.json +49 -0
  3067. data/node_modules/yargs/locales/nn.json +44 -0
  3068. data/node_modules/yargs/locales/pirate.json +13 -0
  3069. data/node_modules/yargs/locales/pl.json +49 -0
  3070. data/node_modules/yargs/locales/pt.json +45 -0
  3071. data/node_modules/yargs/locales/pt_BR.json +48 -0
  3072. data/node_modules/yargs/locales/ru.json +46 -0
  3073. data/node_modules/yargs/locales/th.json +46 -0
  3074. data/node_modules/yargs/locales/tr.json +48 -0
  3075. data/node_modules/yargs/locales/uk_UA.json +51 -0
  3076. data/node_modules/yargs/locales/zh_CN.json +48 -0
  3077. data/node_modules/yargs/locales/zh_TW.json +47 -0
  3078. data/node_modules/yargs/package.json +116 -0
  3079. data/node_modules/yargs/yargs +9 -0
  3080. data/node_modules/yargs-parser/CHANGELOG.md +263 -0
  3081. data/node_modules/yargs-parser/LICENSE.txt +14 -0
  3082. data/node_modules/yargs-parser/README.md +518 -0
  3083. data/node_modules/yargs-parser/browser.js +29 -0
  3084. data/node_modules/yargs-parser/build/index.cjs +1042 -0
  3085. data/node_modules/yargs-parser/build/lib/index.js +59 -0
  3086. data/node_modules/yargs-parser/build/lib/string-utils.js +65 -0
  3087. data/node_modules/yargs-parser/build/lib/tokenize-arg-string.js +40 -0
  3088. data/node_modules/yargs-parser/build/lib/yargs-parser-types.js +12 -0
  3089. data/node_modules/yargs-parser/build/lib/yargs-parser.js +1037 -0
  3090. data/node_modules/yargs-parser/package.json +87 -0
  3091. data/package.json +1 -1
  3092. data/release.sh +2 -1
  3093. data/spec/depends/api_spec.rb +184 -0
  3094. data/spec/depends/spec_helper.rb +27 -0
  3095. data/spec/fixtures/depends/.gitignore +2 -0
  3096. data/spec/fixtures/depends/app/controllers/api/api_keys_controller.rb +2 -0
  3097. data/spec/fixtures/depends/app/controllers/organizations_controller.rb +2 -0
  3098. data/spec/fixtures/depends/app/models/api_key.rb +2 -0
  3099. data/spec/fixtures/depends/app/models/configuration.rb +2 -0
  3100. data/spec/fixtures/depends/app/models/show.rb +2 -0
  3101. data/spec/fixtures/depends/app/models/user.rb +2 -0
  3102. data/spec/fixtures/depends/revoke_api_key.appmap.json +901 -0
  3103. data/spec/fixtures/depends/spec/actual_rspec_test.rb +7 -0
  3104. data/spec/fixtures/depends/spec/api_spec.rb +2 -0
  3105. data/spec/fixtures/depends/spec/user_spec.rb +2 -0
  3106. data/spec/fixtures/depends/test/actual_minitest_test.rb +5 -0
  3107. data/spec/fixtures/depends/user_page_scenario.appmap.json +1776 -0
  3108. data/spec/fixtures/rails5_users_app/create_app +3 -3
  3109. data/spec/fixtures/rails6_users_app/create_app +3 -3
  3110. data/spec/fixtures/rails6_users_app/lib/tasks/appmap.rake +11 -1
  3111. data/test/agent_setup_status_test.rb +6 -3
  3112. data/test/test_helper.rb +3 -0
  3113. data/yarn.lock +422 -20
  3114. metadata +3097 -2
@@ -0,0 +1,43 @@
1
+ var arrayPush = require('./_arrayPush'),
2
+ baseFlatten = require('./_baseFlatten'),
3
+ copyArray = require('./_copyArray'),
4
+ isArray = require('./isArray');
5
+
6
+ /**
7
+ * Creates a new array concatenating `array` with any additional arrays
8
+ * and/or values.
9
+ *
10
+ * @static
11
+ * @memberOf _
12
+ * @since 4.0.0
13
+ * @category Array
14
+ * @param {Array} array The array to concatenate.
15
+ * @param {...*} [values] The values to concatenate.
16
+ * @returns {Array} Returns the new concatenated array.
17
+ * @example
18
+ *
19
+ * var array = [1];
20
+ * var other = _.concat(array, 2, [3], [[4]]);
21
+ *
22
+ * console.log(other);
23
+ * // => [1, 2, 3, [4]]
24
+ *
25
+ * console.log(array);
26
+ * // => [1]
27
+ */
28
+ function concat() {
29
+ var length = arguments.length;
30
+ if (!length) {
31
+ return [];
32
+ }
33
+ var args = Array(length - 1),
34
+ array = arguments[0],
35
+ index = length;
36
+
37
+ while (index--) {
38
+ args[index - 1] = arguments[index];
39
+ }
40
+ return arrayPush(isArray(array) ? copyArray(array) : [array], baseFlatten(args, 1));
41
+ }
42
+
43
+ module.exports = concat;
@@ -0,0 +1,60 @@
1
+ var apply = require('./_apply'),
2
+ arrayMap = require('./_arrayMap'),
3
+ baseIteratee = require('./_baseIteratee'),
4
+ baseRest = require('./_baseRest');
5
+
6
+ /** Error message constants. */
7
+ var FUNC_ERROR_TEXT = 'Expected a function';
8
+
9
+ /**
10
+ * Creates a function that iterates over `pairs` and invokes the corresponding
11
+ * function of the first predicate to return truthy. The predicate-function
12
+ * pairs are invoked with the `this` binding and arguments of the created
13
+ * function.
14
+ *
15
+ * @static
16
+ * @memberOf _
17
+ * @since 4.0.0
18
+ * @category Util
19
+ * @param {Array} pairs The predicate-function pairs.
20
+ * @returns {Function} Returns the new composite function.
21
+ * @example
22
+ *
23
+ * var func = _.cond([
24
+ * [_.matches({ 'a': 1 }), _.constant('matches A')],
25
+ * [_.conforms({ 'b': _.isNumber }), _.constant('matches B')],
26
+ * [_.stubTrue, _.constant('no match')]
27
+ * ]);
28
+ *
29
+ * func({ 'a': 1, 'b': 2 });
30
+ * // => 'matches A'
31
+ *
32
+ * func({ 'a': 0, 'b': 1 });
33
+ * // => 'matches B'
34
+ *
35
+ * func({ 'a': '1', 'b': '2' });
36
+ * // => 'no match'
37
+ */
38
+ function cond(pairs) {
39
+ var length = pairs == null ? 0 : pairs.length,
40
+ toIteratee = baseIteratee;
41
+
42
+ pairs = !length ? [] : arrayMap(pairs, function(pair) {
43
+ if (typeof pair[1] != 'function') {
44
+ throw new TypeError(FUNC_ERROR_TEXT);
45
+ }
46
+ return [toIteratee(pair[0]), pair[1]];
47
+ });
48
+
49
+ return baseRest(function(args) {
50
+ var index = -1;
51
+ while (++index < length) {
52
+ var pair = pairs[index];
53
+ if (apply(pair[0], this, args)) {
54
+ return apply(pair[1], this, args);
55
+ }
56
+ }
57
+ });
58
+ }
59
+
60
+ module.exports = cond;
@@ -0,0 +1,35 @@
1
+ var baseClone = require('./_baseClone'),
2
+ baseConforms = require('./_baseConforms');
3
+
4
+ /** Used to compose bitmasks for cloning. */
5
+ var CLONE_DEEP_FLAG = 1;
6
+
7
+ /**
8
+ * Creates a function that invokes the predicate properties of `source` with
9
+ * the corresponding property values of a given object, returning `true` if
10
+ * all predicates return truthy, else `false`.
11
+ *
12
+ * **Note:** The created function is equivalent to `_.conformsTo` with
13
+ * `source` partially applied.
14
+ *
15
+ * @static
16
+ * @memberOf _
17
+ * @since 4.0.0
18
+ * @category Util
19
+ * @param {Object} source The object of property predicates to conform to.
20
+ * @returns {Function} Returns the new spec function.
21
+ * @example
22
+ *
23
+ * var objects = [
24
+ * { 'a': 2, 'b': 1 },
25
+ * { 'a': 1, 'b': 2 }
26
+ * ];
27
+ *
28
+ * _.filter(objects, _.conforms({ 'b': function(n) { return n > 1; } }));
29
+ * // => [{ 'a': 1, 'b': 2 }]
30
+ */
31
+ function conforms(source) {
32
+ return baseConforms(baseClone(source, CLONE_DEEP_FLAG));
33
+ }
34
+
35
+ module.exports = conforms;
@@ -0,0 +1,32 @@
1
+ var baseConformsTo = require('./_baseConformsTo'),
2
+ keys = require('./keys');
3
+
4
+ /**
5
+ * Checks if `object` conforms to `source` by invoking the predicate
6
+ * properties of `source` with the corresponding property values of `object`.
7
+ *
8
+ * **Note:** This method is equivalent to `_.conforms` when `source` is
9
+ * partially applied.
10
+ *
11
+ * @static
12
+ * @memberOf _
13
+ * @since 4.14.0
14
+ * @category Lang
15
+ * @param {Object} object The object to inspect.
16
+ * @param {Object} source The object of property predicates to conform to.
17
+ * @returns {boolean} Returns `true` if `object` conforms, else `false`.
18
+ * @example
19
+ *
20
+ * var object = { 'a': 1, 'b': 2 };
21
+ *
22
+ * _.conformsTo(object, { 'b': function(n) { return n > 1; } });
23
+ * // => true
24
+ *
25
+ * _.conformsTo(object, { 'b': function(n) { return n > 2; } });
26
+ * // => false
27
+ */
28
+ function conformsTo(object, source) {
29
+ return source == null || baseConformsTo(object, source, keys(source));
30
+ }
31
+
32
+ module.exports = conformsTo;
@@ -0,0 +1,26 @@
1
+ /**
2
+ * Creates a function that returns `value`.
3
+ *
4
+ * @static
5
+ * @memberOf _
6
+ * @since 2.4.0
7
+ * @category Util
8
+ * @param {*} value The value to return from the new function.
9
+ * @returns {Function} Returns the new constant function.
10
+ * @example
11
+ *
12
+ * var objects = _.times(2, _.constant({ 'a': 1 }));
13
+ *
14
+ * console.log(objects);
15
+ * // => [{ 'a': 1 }, { 'a': 1 }]
16
+ *
17
+ * console.log(objects[0] === objects[1]);
18
+ * // => true
19
+ */
20
+ function constant(value) {
21
+ return function() {
22
+ return value;
23
+ };
24
+ }
25
+
26
+ module.exports = constant;
@@ -0,0 +1,3877 @@
1
+ /**
2
+ * @license
3
+ * Lodash (Custom Build) <https://lodash.com/>
4
+ * Build: `lodash core -o ./dist/lodash.core.js`
5
+ * Copyright OpenJS Foundation and other contributors <https://openjsf.org/>
6
+ * Released under MIT license <https://lodash.com/license>
7
+ * Based on Underscore.js 1.8.3 <http://underscorejs.org/LICENSE>
8
+ * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
9
+ */
10
+ ;(function() {
11
+
12
+ /** Used as a safe reference for `undefined` in pre-ES5 environments. */
13
+ var undefined;
14
+
15
+ /** Used as the semantic version number. */
16
+ var VERSION = '4.17.21';
17
+
18
+ /** Error message constants. */
19
+ var FUNC_ERROR_TEXT = 'Expected a function';
20
+
21
+ /** Used to compose bitmasks for value comparisons. */
22
+ var COMPARE_PARTIAL_FLAG = 1,
23
+ COMPARE_UNORDERED_FLAG = 2;
24
+
25
+ /** Used to compose bitmasks for function metadata. */
26
+ var WRAP_BIND_FLAG = 1,
27
+ WRAP_PARTIAL_FLAG = 32;
28
+
29
+ /** Used as references for various `Number` constants. */
30
+ var INFINITY = 1 / 0,
31
+ MAX_SAFE_INTEGER = 9007199254740991;
32
+
33
+ /** `Object#toString` result references. */
34
+ var argsTag = '[object Arguments]',
35
+ arrayTag = '[object Array]',
36
+ asyncTag = '[object AsyncFunction]',
37
+ boolTag = '[object Boolean]',
38
+ dateTag = '[object Date]',
39
+ errorTag = '[object Error]',
40
+ funcTag = '[object Function]',
41
+ genTag = '[object GeneratorFunction]',
42
+ numberTag = '[object Number]',
43
+ objectTag = '[object Object]',
44
+ proxyTag = '[object Proxy]',
45
+ regexpTag = '[object RegExp]',
46
+ stringTag = '[object String]';
47
+
48
+ /** Used to match HTML entities and HTML characters. */
49
+ var reUnescapedHtml = /[&<>"']/g,
50
+ reHasUnescapedHtml = RegExp(reUnescapedHtml.source);
51
+
52
+ /** Used to detect unsigned integer values. */
53
+ var reIsUint = /^(?:0|[1-9]\d*)$/;
54
+
55
+ /** Used to map characters to HTML entities. */
56
+ var htmlEscapes = {
57
+ '&': '&amp;',
58
+ '<': '&lt;',
59
+ '>': '&gt;',
60
+ '"': '&quot;',
61
+ "'": '&#39;'
62
+ };
63
+
64
+ /** Detect free variable `global` from Node.js. */
65
+ var freeGlobal = typeof global == 'object' && global && global.Object === Object && global;
66
+
67
+ /** Detect free variable `self`. */
68
+ var freeSelf = typeof self == 'object' && self && self.Object === Object && self;
69
+
70
+ /** Used as a reference to the global object. */
71
+ var root = freeGlobal || freeSelf || Function('return this')();
72
+
73
+ /** Detect free variable `exports`. */
74
+ var freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports;
75
+
76
+ /** Detect free variable `module`. */
77
+ var freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module;
78
+
79
+ /*--------------------------------------------------------------------------*/
80
+
81
+ /**
82
+ * Appends the elements of `values` to `array`.
83
+ *
84
+ * @private
85
+ * @param {Array} array The array to modify.
86
+ * @param {Array} values The values to append.
87
+ * @returns {Array} Returns `array`.
88
+ */
89
+ function arrayPush(array, values) {
90
+ array.push.apply(array, values);
91
+ return array;
92
+ }
93
+
94
+ /**
95
+ * The base implementation of `_.findIndex` and `_.findLastIndex` without
96
+ * support for iteratee shorthands.
97
+ *
98
+ * @private
99
+ * @param {Array} array The array to inspect.
100
+ * @param {Function} predicate The function invoked per iteration.
101
+ * @param {number} fromIndex The index to search from.
102
+ * @param {boolean} [fromRight] Specify iterating from right to left.
103
+ * @returns {number} Returns the index of the matched value, else `-1`.
104
+ */
105
+ function baseFindIndex(array, predicate, fromIndex, fromRight) {
106
+ var length = array.length,
107
+ index = fromIndex + (fromRight ? 1 : -1);
108
+
109
+ while ((fromRight ? index-- : ++index < length)) {
110
+ if (predicate(array[index], index, array)) {
111
+ return index;
112
+ }
113
+ }
114
+ return -1;
115
+ }
116
+
117
+ /**
118
+ * The base implementation of `_.property` without support for deep paths.
119
+ *
120
+ * @private
121
+ * @param {string} key The key of the property to get.
122
+ * @returns {Function} Returns the new accessor function.
123
+ */
124
+ function baseProperty(key) {
125
+ return function(object) {
126
+ return object == null ? undefined : object[key];
127
+ };
128
+ }
129
+
130
+ /**
131
+ * The base implementation of `_.propertyOf` without support for deep paths.
132
+ *
133
+ * @private
134
+ * @param {Object} object The object to query.
135
+ * @returns {Function} Returns the new accessor function.
136
+ */
137
+ function basePropertyOf(object) {
138
+ return function(key) {
139
+ return object == null ? undefined : object[key];
140
+ };
141
+ }
142
+
143
+ /**
144
+ * The base implementation of `_.reduce` and `_.reduceRight`, without support
145
+ * for iteratee shorthands, which iterates over `collection` using `eachFunc`.
146
+ *
147
+ * @private
148
+ * @param {Array|Object} collection The collection to iterate over.
149
+ * @param {Function} iteratee The function invoked per iteration.
150
+ * @param {*} accumulator The initial value.
151
+ * @param {boolean} initAccum Specify using the first or last element of
152
+ * `collection` as the initial value.
153
+ * @param {Function} eachFunc The function to iterate over `collection`.
154
+ * @returns {*} Returns the accumulated value.
155
+ */
156
+ function baseReduce(collection, iteratee, accumulator, initAccum, eachFunc) {
157
+ eachFunc(collection, function(value, index, collection) {
158
+ accumulator = initAccum
159
+ ? (initAccum = false, value)
160
+ : iteratee(accumulator, value, index, collection);
161
+ });
162
+ return accumulator;
163
+ }
164
+
165
+ /**
166
+ * The base implementation of `_.values` and `_.valuesIn` which creates an
167
+ * array of `object` property values corresponding to the property names
168
+ * of `props`.
169
+ *
170
+ * @private
171
+ * @param {Object} object The object to query.
172
+ * @param {Array} props The property names to get values for.
173
+ * @returns {Object} Returns the array of property values.
174
+ */
175
+ function baseValues(object, props) {
176
+ return baseMap(props, function(key) {
177
+ return object[key];
178
+ });
179
+ }
180
+
181
+ /**
182
+ * Used by `_.escape` to convert characters to HTML entities.
183
+ *
184
+ * @private
185
+ * @param {string} chr The matched character to escape.
186
+ * @returns {string} Returns the escaped character.
187
+ */
188
+ var escapeHtmlChar = basePropertyOf(htmlEscapes);
189
+
190
+ /**
191
+ * Creates a unary function that invokes `func` with its argument transformed.
192
+ *
193
+ * @private
194
+ * @param {Function} func The function to wrap.
195
+ * @param {Function} transform The argument transform.
196
+ * @returns {Function} Returns the new function.
197
+ */
198
+ function overArg(func, transform) {
199
+ return function(arg) {
200
+ return func(transform(arg));
201
+ };
202
+ }
203
+
204
+ /*--------------------------------------------------------------------------*/
205
+
206
+ /** Used for built-in method references. */
207
+ var arrayProto = Array.prototype,
208
+ objectProto = Object.prototype;
209
+
210
+ /** Used to check objects for own properties. */
211
+ var hasOwnProperty = objectProto.hasOwnProperty;
212
+
213
+ /** Used to generate unique IDs. */
214
+ var idCounter = 0;
215
+
216
+ /**
217
+ * Used to resolve the
218
+ * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)
219
+ * of values.
220
+ */
221
+ var nativeObjectToString = objectProto.toString;
222
+
223
+ /** Used to restore the original `_` reference in `_.noConflict`. */
224
+ var oldDash = root._;
225
+
226
+ /** Built-in value references. */
227
+ var objectCreate = Object.create,
228
+ propertyIsEnumerable = objectProto.propertyIsEnumerable;
229
+
230
+ /* Built-in method references for those with the same name as other `lodash` methods. */
231
+ var nativeIsFinite = root.isFinite,
232
+ nativeKeys = overArg(Object.keys, Object),
233
+ nativeMax = Math.max;
234
+
235
+ /*------------------------------------------------------------------------*/
236
+
237
+ /**
238
+ * Creates a `lodash` object which wraps `value` to enable implicit method
239
+ * chain sequences. Methods that operate on and return arrays, collections,
240
+ * and functions can be chained together. Methods that retrieve a single value
241
+ * or may return a primitive value will automatically end the chain sequence
242
+ * and return the unwrapped value. Otherwise, the value must be unwrapped
243
+ * with `_#value`.
244
+ *
245
+ * Explicit chain sequences, which must be unwrapped with `_#value`, may be
246
+ * enabled using `_.chain`.
247
+ *
248
+ * The execution of chained methods is lazy, that is, it's deferred until
249
+ * `_#value` is implicitly or explicitly called.
250
+ *
251
+ * Lazy evaluation allows several methods to support shortcut fusion.
252
+ * Shortcut fusion is an optimization to merge iteratee calls; this avoids
253
+ * the creation of intermediate arrays and can greatly reduce the number of
254
+ * iteratee executions. Sections of a chain sequence qualify for shortcut
255
+ * fusion if the section is applied to an array and iteratees accept only
256
+ * one argument. The heuristic for whether a section qualifies for shortcut
257
+ * fusion is subject to change.
258
+ *
259
+ * Chaining is supported in custom builds as long as the `_#value` method is
260
+ * directly or indirectly included in the build.
261
+ *
262
+ * In addition to lodash methods, wrappers have `Array` and `String` methods.
263
+ *
264
+ * The wrapper `Array` methods are:
265
+ * `concat`, `join`, `pop`, `push`, `shift`, `sort`, `splice`, and `unshift`
266
+ *
267
+ * The wrapper `String` methods are:
268
+ * `replace` and `split`
269
+ *
270
+ * The wrapper methods that support shortcut fusion are:
271
+ * `at`, `compact`, `drop`, `dropRight`, `dropWhile`, `filter`, `find`,
272
+ * `findLast`, `head`, `initial`, `last`, `map`, `reject`, `reverse`, `slice`,
273
+ * `tail`, `take`, `takeRight`, `takeRightWhile`, `takeWhile`, and `toArray`
274
+ *
275
+ * The chainable wrapper methods are:
276
+ * `after`, `ary`, `assign`, `assignIn`, `assignInWith`, `assignWith`, `at`,
277
+ * `before`, `bind`, `bindAll`, `bindKey`, `castArray`, `chain`, `chunk`,
278
+ * `commit`, `compact`, `concat`, `conforms`, `constant`, `countBy`, `create`,
279
+ * `curry`, `debounce`, `defaults`, `defaultsDeep`, `defer`, `delay`,
280
+ * `difference`, `differenceBy`, `differenceWith`, `drop`, `dropRight`,
281
+ * `dropRightWhile`, `dropWhile`, `extend`, `extendWith`, `fill`, `filter`,
282
+ * `flatMap`, `flatMapDeep`, `flatMapDepth`, `flatten`, `flattenDeep`,
283
+ * `flattenDepth`, `flip`, `flow`, `flowRight`, `fromPairs`, `functions`,
284
+ * `functionsIn`, `groupBy`, `initial`, `intersection`, `intersectionBy`,
285
+ * `intersectionWith`, `invert`, `invertBy`, `invokeMap`, `iteratee`, `keyBy`,
286
+ * `keys`, `keysIn`, `map`, `mapKeys`, `mapValues`, `matches`, `matchesProperty`,
287
+ * `memoize`, `merge`, `mergeWith`, `method`, `methodOf`, `mixin`, `negate`,
288
+ * `nthArg`, `omit`, `omitBy`, `once`, `orderBy`, `over`, `overArgs`,
289
+ * `overEvery`, `overSome`, `partial`, `partialRight`, `partition`, `pick`,
290
+ * `pickBy`, `plant`, `property`, `propertyOf`, `pull`, `pullAll`, `pullAllBy`,
291
+ * `pullAllWith`, `pullAt`, `push`, `range`, `rangeRight`, `rearg`, `reject`,
292
+ * `remove`, `rest`, `reverse`, `sampleSize`, `set`, `setWith`, `shuffle`,
293
+ * `slice`, `sort`, `sortBy`, `splice`, `spread`, `tail`, `take`, `takeRight`,
294
+ * `takeRightWhile`, `takeWhile`, `tap`, `throttle`, `thru`, `toArray`,
295
+ * `toPairs`, `toPairsIn`, `toPath`, `toPlainObject`, `transform`, `unary`,
296
+ * `union`, `unionBy`, `unionWith`, `uniq`, `uniqBy`, `uniqWith`, `unset`,
297
+ * `unshift`, `unzip`, `unzipWith`, `update`, `updateWith`, `values`,
298
+ * `valuesIn`, `without`, `wrap`, `xor`, `xorBy`, `xorWith`, `zip`,
299
+ * `zipObject`, `zipObjectDeep`, and `zipWith`
300
+ *
301
+ * The wrapper methods that are **not** chainable by default are:
302
+ * `add`, `attempt`, `camelCase`, `capitalize`, `ceil`, `clamp`, `clone`,
303
+ * `cloneDeep`, `cloneDeepWith`, `cloneWith`, `conformsTo`, `deburr`,
304
+ * `defaultTo`, `divide`, `each`, `eachRight`, `endsWith`, `eq`, `escape`,
305
+ * `escapeRegExp`, `every`, `find`, `findIndex`, `findKey`, `findLast`,
306
+ * `findLastIndex`, `findLastKey`, `first`, `floor`, `forEach`, `forEachRight`,
307
+ * `forIn`, `forInRight`, `forOwn`, `forOwnRight`, `get`, `gt`, `gte`, `has`,
308
+ * `hasIn`, `head`, `identity`, `includes`, `indexOf`, `inRange`, `invoke`,
309
+ * `isArguments`, `isArray`, `isArrayBuffer`, `isArrayLike`, `isArrayLikeObject`,
310
+ * `isBoolean`, `isBuffer`, `isDate`, `isElement`, `isEmpty`, `isEqual`,
311
+ * `isEqualWith`, `isError`, `isFinite`, `isFunction`, `isInteger`, `isLength`,
312
+ * `isMap`, `isMatch`, `isMatchWith`, `isNaN`, `isNative`, `isNil`, `isNull`,
313
+ * `isNumber`, `isObject`, `isObjectLike`, `isPlainObject`, `isRegExp`,
314
+ * `isSafeInteger`, `isSet`, `isString`, `isUndefined`, `isTypedArray`,
315
+ * `isWeakMap`, `isWeakSet`, `join`, `kebabCase`, `last`, `lastIndexOf`,
316
+ * `lowerCase`, `lowerFirst`, `lt`, `lte`, `max`, `maxBy`, `mean`, `meanBy`,
317
+ * `min`, `minBy`, `multiply`, `noConflict`, `noop`, `now`, `nth`, `pad`,
318
+ * `padEnd`, `padStart`, `parseInt`, `pop`, `random`, `reduce`, `reduceRight`,
319
+ * `repeat`, `result`, `round`, `runInContext`, `sample`, `shift`, `size`,
320
+ * `snakeCase`, `some`, `sortedIndex`, `sortedIndexBy`, `sortedLastIndex`,
321
+ * `sortedLastIndexBy`, `startCase`, `startsWith`, `stubArray`, `stubFalse`,
322
+ * `stubObject`, `stubString`, `stubTrue`, `subtract`, `sum`, `sumBy`,
323
+ * `template`, `times`, `toFinite`, `toInteger`, `toJSON`, `toLength`,
324
+ * `toLower`, `toNumber`, `toSafeInteger`, `toString`, `toUpper`, `trim`,
325
+ * `trimEnd`, `trimStart`, `truncate`, `unescape`, `uniqueId`, `upperCase`,
326
+ * `upperFirst`, `value`, and `words`
327
+ *
328
+ * @name _
329
+ * @constructor
330
+ * @category Seq
331
+ * @param {*} value The value to wrap in a `lodash` instance.
332
+ * @returns {Object} Returns the new `lodash` wrapper instance.
333
+ * @example
334
+ *
335
+ * function square(n) {
336
+ * return n * n;
337
+ * }
338
+ *
339
+ * var wrapped = _([1, 2, 3]);
340
+ *
341
+ * // Returns an unwrapped value.
342
+ * wrapped.reduce(_.add);
343
+ * // => 6
344
+ *
345
+ * // Returns a wrapped value.
346
+ * var squares = wrapped.map(square);
347
+ *
348
+ * _.isArray(squares);
349
+ * // => false
350
+ *
351
+ * _.isArray(squares.value());
352
+ * // => true
353
+ */
354
+ function lodash(value) {
355
+ return value instanceof LodashWrapper
356
+ ? value
357
+ : new LodashWrapper(value);
358
+ }
359
+
360
+ /**
361
+ * The base implementation of `_.create` without support for assigning
362
+ * properties to the created object.
363
+ *
364
+ * @private
365
+ * @param {Object} proto The object to inherit from.
366
+ * @returns {Object} Returns the new object.
367
+ */
368
+ var baseCreate = (function() {
369
+ function object() {}
370
+ return function(proto) {
371
+ if (!isObject(proto)) {
372
+ return {};
373
+ }
374
+ if (objectCreate) {
375
+ return objectCreate(proto);
376
+ }
377
+ object.prototype = proto;
378
+ var result = new object;
379
+ object.prototype = undefined;
380
+ return result;
381
+ };
382
+ }());
383
+
384
+ /**
385
+ * The base constructor for creating `lodash` wrapper objects.
386
+ *
387
+ * @private
388
+ * @param {*} value The value to wrap.
389
+ * @param {boolean} [chainAll] Enable explicit method chain sequences.
390
+ */
391
+ function LodashWrapper(value, chainAll) {
392
+ this.__wrapped__ = value;
393
+ this.__actions__ = [];
394
+ this.__chain__ = !!chainAll;
395
+ }
396
+
397
+ LodashWrapper.prototype = baseCreate(lodash.prototype);
398
+ LodashWrapper.prototype.constructor = LodashWrapper;
399
+
400
+ /*------------------------------------------------------------------------*/
401
+
402
+ /**
403
+ * Assigns `value` to `key` of `object` if the existing value is not equivalent
404
+ * using [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)
405
+ * for equality comparisons.
406
+ *
407
+ * @private
408
+ * @param {Object} object The object to modify.
409
+ * @param {string} key The key of the property to assign.
410
+ * @param {*} value The value to assign.
411
+ */
412
+ function assignValue(object, key, value) {
413
+ var objValue = object[key];
414
+ if (!(hasOwnProperty.call(object, key) && eq(objValue, value)) ||
415
+ (value === undefined && !(key in object))) {
416
+ baseAssignValue(object, key, value);
417
+ }
418
+ }
419
+
420
+ /**
421
+ * The base implementation of `assignValue` and `assignMergeValue` without
422
+ * value checks.
423
+ *
424
+ * @private
425
+ * @param {Object} object The object to modify.
426
+ * @param {string} key The key of the property to assign.
427
+ * @param {*} value The value to assign.
428
+ */
429
+ function baseAssignValue(object, key, value) {
430
+ object[key] = value;
431
+ }
432
+
433
+ /**
434
+ * The base implementation of `_.delay` and `_.defer` which accepts `args`
435
+ * to provide to `func`.
436
+ *
437
+ * @private
438
+ * @param {Function} func The function to delay.
439
+ * @param {number} wait The number of milliseconds to delay invocation.
440
+ * @param {Array} args The arguments to provide to `func`.
441
+ * @returns {number|Object} Returns the timer id or timeout object.
442
+ */
443
+ function baseDelay(func, wait, args) {
444
+ if (typeof func != 'function') {
445
+ throw new TypeError(FUNC_ERROR_TEXT);
446
+ }
447
+ return setTimeout(function() { func.apply(undefined, args); }, wait);
448
+ }
449
+
450
+ /**
451
+ * The base implementation of `_.forEach` without support for iteratee shorthands.
452
+ *
453
+ * @private
454
+ * @param {Array|Object} collection The collection to iterate over.
455
+ * @param {Function} iteratee The function invoked per iteration.
456
+ * @returns {Array|Object} Returns `collection`.
457
+ */
458
+ var baseEach = createBaseEach(baseForOwn);
459
+
460
+ /**
461
+ * The base implementation of `_.every` without support for iteratee shorthands.
462
+ *
463
+ * @private
464
+ * @param {Array|Object} collection The collection to iterate over.
465
+ * @param {Function} predicate The function invoked per iteration.
466
+ * @returns {boolean} Returns `true` if all elements pass the predicate check,
467
+ * else `false`
468
+ */
469
+ function baseEvery(collection, predicate) {
470
+ var result = true;
471
+ baseEach(collection, function(value, index, collection) {
472
+ result = !!predicate(value, index, collection);
473
+ return result;
474
+ });
475
+ return result;
476
+ }
477
+
478
+ /**
479
+ * The base implementation of methods like `_.max` and `_.min` which accepts a
480
+ * `comparator` to determine the extremum value.
481
+ *
482
+ * @private
483
+ * @param {Array} array The array to iterate over.
484
+ * @param {Function} iteratee The iteratee invoked per iteration.
485
+ * @param {Function} comparator The comparator used to compare values.
486
+ * @returns {*} Returns the extremum value.
487
+ */
488
+ function baseExtremum(array, iteratee, comparator) {
489
+ var index = -1,
490
+ length = array.length;
491
+
492
+ while (++index < length) {
493
+ var value = array[index],
494
+ current = iteratee(value);
495
+
496
+ if (current != null && (computed === undefined
497
+ ? (current === current && !false)
498
+ : comparator(current, computed)
499
+ )) {
500
+ var computed = current,
501
+ result = value;
502
+ }
503
+ }
504
+ return result;
505
+ }
506
+
507
+ /**
508
+ * The base implementation of `_.filter` without support for iteratee shorthands.
509
+ *
510
+ * @private
511
+ * @param {Array|Object} collection The collection to iterate over.
512
+ * @param {Function} predicate The function invoked per iteration.
513
+ * @returns {Array} Returns the new filtered array.
514
+ */
515
+ function baseFilter(collection, predicate) {
516
+ var result = [];
517
+ baseEach(collection, function(value, index, collection) {
518
+ if (predicate(value, index, collection)) {
519
+ result.push(value);
520
+ }
521
+ });
522
+ return result;
523
+ }
524
+
525
+ /**
526
+ * The base implementation of `_.flatten` with support for restricting flattening.
527
+ *
528
+ * @private
529
+ * @param {Array} array The array to flatten.
530
+ * @param {number} depth The maximum recursion depth.
531
+ * @param {boolean} [predicate=isFlattenable] The function invoked per iteration.
532
+ * @param {boolean} [isStrict] Restrict to values that pass `predicate` checks.
533
+ * @param {Array} [result=[]] The initial result value.
534
+ * @returns {Array} Returns the new flattened array.
535
+ */
536
+ function baseFlatten(array, depth, predicate, isStrict, result) {
537
+ var index = -1,
538
+ length = array.length;
539
+
540
+ predicate || (predicate = isFlattenable);
541
+ result || (result = []);
542
+
543
+ while (++index < length) {
544
+ var value = array[index];
545
+ if (depth > 0 && predicate(value)) {
546
+ if (depth > 1) {
547
+ // Recursively flatten arrays (susceptible to call stack limits).
548
+ baseFlatten(value, depth - 1, predicate, isStrict, result);
549
+ } else {
550
+ arrayPush(result, value);
551
+ }
552
+ } else if (!isStrict) {
553
+ result[result.length] = value;
554
+ }
555
+ }
556
+ return result;
557
+ }
558
+
559
+ /**
560
+ * The base implementation of `baseForOwn` which iterates over `object`
561
+ * properties returned by `keysFunc` and invokes `iteratee` for each property.
562
+ * Iteratee functions may exit iteration early by explicitly returning `false`.
563
+ *
564
+ * @private
565
+ * @param {Object} object The object to iterate over.
566
+ * @param {Function} iteratee The function invoked per iteration.
567
+ * @param {Function} keysFunc The function to get the keys of `object`.
568
+ * @returns {Object} Returns `object`.
569
+ */
570
+ var baseFor = createBaseFor();
571
+
572
+ /**
573
+ * The base implementation of `_.forOwn` without support for iteratee shorthands.
574
+ *
575
+ * @private
576
+ * @param {Object} object The object to iterate over.
577
+ * @param {Function} iteratee The function invoked per iteration.
578
+ * @returns {Object} Returns `object`.
579
+ */
580
+ function baseForOwn(object, iteratee) {
581
+ return object && baseFor(object, iteratee, keys);
582
+ }
583
+
584
+ /**
585
+ * The base implementation of `_.functions` which creates an array of
586
+ * `object` function property names filtered from `props`.
587
+ *
588
+ * @private
589
+ * @param {Object} object The object to inspect.
590
+ * @param {Array} props The property names to filter.
591
+ * @returns {Array} Returns the function names.
592
+ */
593
+ function baseFunctions(object, props) {
594
+ return baseFilter(props, function(key) {
595
+ return isFunction(object[key]);
596
+ });
597
+ }
598
+
599
+ /**
600
+ * The base implementation of `getTag` without fallbacks for buggy environments.
601
+ *
602
+ * @private
603
+ * @param {*} value The value to query.
604
+ * @returns {string} Returns the `toStringTag`.
605
+ */
606
+ function baseGetTag(value) {
607
+ return objectToString(value);
608
+ }
609
+
610
+ /**
611
+ * The base implementation of `_.gt` which doesn't coerce arguments.
612
+ *
613
+ * @private
614
+ * @param {*} value The value to compare.
615
+ * @param {*} other The other value to compare.
616
+ * @returns {boolean} Returns `true` if `value` is greater than `other`,
617
+ * else `false`.
618
+ */
619
+ function baseGt(value, other) {
620
+ return value > other;
621
+ }
622
+
623
+ /**
624
+ * The base implementation of `_.isArguments`.
625
+ *
626
+ * @private
627
+ * @param {*} value The value to check.
628
+ * @returns {boolean} Returns `true` if `value` is an `arguments` object,
629
+ */
630
+ var baseIsArguments = noop;
631
+
632
+ /**
633
+ * The base implementation of `_.isDate` without Node.js optimizations.
634
+ *
635
+ * @private
636
+ * @param {*} value The value to check.
637
+ * @returns {boolean} Returns `true` if `value` is a date object, else `false`.
638
+ */
639
+ function baseIsDate(value) {
640
+ return isObjectLike(value) && baseGetTag(value) == dateTag;
641
+ }
642
+
643
+ /**
644
+ * The base implementation of `_.isEqual` which supports partial comparisons
645
+ * and tracks traversed objects.
646
+ *
647
+ * @private
648
+ * @param {*} value The value to compare.
649
+ * @param {*} other The other value to compare.
650
+ * @param {boolean} bitmask The bitmask flags.
651
+ * 1 - Unordered comparison
652
+ * 2 - Partial comparison
653
+ * @param {Function} [customizer] The function to customize comparisons.
654
+ * @param {Object} [stack] Tracks traversed `value` and `other` objects.
655
+ * @returns {boolean} Returns `true` if the values are equivalent, else `false`.
656
+ */
657
+ function baseIsEqual(value, other, bitmask, customizer, stack) {
658
+ if (value === other) {
659
+ return true;
660
+ }
661
+ if (value == null || other == null || (!isObjectLike(value) && !isObjectLike(other))) {
662
+ return value !== value && other !== other;
663
+ }
664
+ return baseIsEqualDeep(value, other, bitmask, customizer, baseIsEqual, stack);
665
+ }
666
+
667
+ /**
668
+ * A specialized version of `baseIsEqual` for arrays and objects which performs
669
+ * deep comparisons and tracks traversed objects enabling objects with circular
670
+ * references to be compared.
671
+ *
672
+ * @private
673
+ * @param {Object} object The object to compare.
674
+ * @param {Object} other The other object to compare.
675
+ * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.
676
+ * @param {Function} customizer The function to customize comparisons.
677
+ * @param {Function} equalFunc The function to determine equivalents of values.
678
+ * @param {Object} [stack] Tracks traversed `object` and `other` objects.
679
+ * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.
680
+ */
681
+ function baseIsEqualDeep(object, other, bitmask, customizer, equalFunc, stack) {
682
+ var objIsArr = isArray(object),
683
+ othIsArr = isArray(other),
684
+ objTag = objIsArr ? arrayTag : baseGetTag(object),
685
+ othTag = othIsArr ? arrayTag : baseGetTag(other);
686
+
687
+ objTag = objTag == argsTag ? objectTag : objTag;
688
+ othTag = othTag == argsTag ? objectTag : othTag;
689
+
690
+ var objIsObj = objTag == objectTag,
691
+ othIsObj = othTag == objectTag,
692
+ isSameTag = objTag == othTag;
693
+
694
+ stack || (stack = []);
695
+ var objStack = find(stack, function(entry) {
696
+ return entry[0] == object;
697
+ });
698
+ var othStack = find(stack, function(entry) {
699
+ return entry[0] == other;
700
+ });
701
+ if (objStack && othStack) {
702
+ return objStack[1] == other;
703
+ }
704
+ stack.push([object, other]);
705
+ stack.push([other, object]);
706
+ if (isSameTag && !objIsObj) {
707
+ var result = (objIsArr)
708
+ ? equalArrays(object, other, bitmask, customizer, equalFunc, stack)
709
+ : equalByTag(object, other, objTag, bitmask, customizer, equalFunc, stack);
710
+ stack.pop();
711
+ return result;
712
+ }
713
+ if (!(bitmask & COMPARE_PARTIAL_FLAG)) {
714
+ var objIsWrapped = objIsObj && hasOwnProperty.call(object, '__wrapped__'),
715
+ othIsWrapped = othIsObj && hasOwnProperty.call(other, '__wrapped__');
716
+
717
+ if (objIsWrapped || othIsWrapped) {
718
+ var objUnwrapped = objIsWrapped ? object.value() : object,
719
+ othUnwrapped = othIsWrapped ? other.value() : other;
720
+
721
+ var result = equalFunc(objUnwrapped, othUnwrapped, bitmask, customizer, stack);
722
+ stack.pop();
723
+ return result;
724
+ }
725
+ }
726
+ if (!isSameTag) {
727
+ return false;
728
+ }
729
+ var result = equalObjects(object, other, bitmask, customizer, equalFunc, stack);
730
+ stack.pop();
731
+ return result;
732
+ }
733
+
734
+ /**
735
+ * The base implementation of `_.isRegExp` without Node.js optimizations.
736
+ *
737
+ * @private
738
+ * @param {*} value The value to check.
739
+ * @returns {boolean} Returns `true` if `value` is a regexp, else `false`.
740
+ */
741
+ function baseIsRegExp(value) {
742
+ return isObjectLike(value) && baseGetTag(value) == regexpTag;
743
+ }
744
+
745
+ /**
746
+ * The base implementation of `_.iteratee`.
747
+ *
748
+ * @private
749
+ * @param {*} [value=_.identity] The value to convert to an iteratee.
750
+ * @returns {Function} Returns the iteratee.
751
+ */
752
+ function baseIteratee(func) {
753
+ if (typeof func == 'function') {
754
+ return func;
755
+ }
756
+ if (func == null) {
757
+ return identity;
758
+ }
759
+ return (typeof func == 'object' ? baseMatches : baseProperty)(func);
760
+ }
761
+
762
+ /**
763
+ * The base implementation of `_.lt` which doesn't coerce arguments.
764
+ *
765
+ * @private
766
+ * @param {*} value The value to compare.
767
+ * @param {*} other The other value to compare.
768
+ * @returns {boolean} Returns `true` if `value` is less than `other`,
769
+ * else `false`.
770
+ */
771
+ function baseLt(value, other) {
772
+ return value < other;
773
+ }
774
+
775
+ /**
776
+ * The base implementation of `_.map` without support for iteratee shorthands.
777
+ *
778
+ * @private
779
+ * @param {Array|Object} collection The collection to iterate over.
780
+ * @param {Function} iteratee The function invoked per iteration.
781
+ * @returns {Array} Returns the new mapped array.
782
+ */
783
+ function baseMap(collection, iteratee) {
784
+ var index = -1,
785
+ result = isArrayLike(collection) ? Array(collection.length) : [];
786
+
787
+ baseEach(collection, function(value, key, collection) {
788
+ result[++index] = iteratee(value, key, collection);
789
+ });
790
+ return result;
791
+ }
792
+
793
+ /**
794
+ * The base implementation of `_.matches` which doesn't clone `source`.
795
+ *
796
+ * @private
797
+ * @param {Object} source The object of property values to match.
798
+ * @returns {Function} Returns the new spec function.
799
+ */
800
+ function baseMatches(source) {
801
+ var props = nativeKeys(source);
802
+ return function(object) {
803
+ var length = props.length;
804
+ if (object == null) {
805
+ return !length;
806
+ }
807
+ object = Object(object);
808
+ while (length--) {
809
+ var key = props[length];
810
+ if (!(key in object &&
811
+ baseIsEqual(source[key], object[key], COMPARE_PARTIAL_FLAG | COMPARE_UNORDERED_FLAG)
812
+ )) {
813
+ return false;
814
+ }
815
+ }
816
+ return true;
817
+ };
818
+ }
819
+
820
+ /**
821
+ * The base implementation of `_.pick` without support for individual
822
+ * property identifiers.
823
+ *
824
+ * @private
825
+ * @param {Object} object The source object.
826
+ * @param {string[]} paths The property paths to pick.
827
+ * @returns {Object} Returns the new object.
828
+ */
829
+ function basePick(object, props) {
830
+ object = Object(object);
831
+ return reduce(props, function(result, key) {
832
+ if (key in object) {
833
+ result[key] = object[key];
834
+ }
835
+ return result;
836
+ }, {});
837
+ }
838
+
839
+ /**
840
+ * The base implementation of `_.rest` which doesn't validate or coerce arguments.
841
+ *
842
+ * @private
843
+ * @param {Function} func The function to apply a rest parameter to.
844
+ * @param {number} [start=func.length-1] The start position of the rest parameter.
845
+ * @returns {Function} Returns the new function.
846
+ */
847
+ function baseRest(func, start) {
848
+ return setToString(overRest(func, start, identity), func + '');
849
+ }
850
+
851
+ /**
852
+ * The base implementation of `_.slice` without an iteratee call guard.
853
+ *
854
+ * @private
855
+ * @param {Array} array The array to slice.
856
+ * @param {number} [start=0] The start position.
857
+ * @param {number} [end=array.length] The end position.
858
+ * @returns {Array} Returns the slice of `array`.
859
+ */
860
+ function baseSlice(array, start, end) {
861
+ var index = -1,
862
+ length = array.length;
863
+
864
+ if (start < 0) {
865
+ start = -start > length ? 0 : (length + start);
866
+ }
867
+ end = end > length ? length : end;
868
+ if (end < 0) {
869
+ end += length;
870
+ }
871
+ length = start > end ? 0 : ((end - start) >>> 0);
872
+ start >>>= 0;
873
+
874
+ var result = Array(length);
875
+ while (++index < length) {
876
+ result[index] = array[index + start];
877
+ }
878
+ return result;
879
+ }
880
+
881
+ /**
882
+ * Copies the values of `source` to `array`.
883
+ *
884
+ * @private
885
+ * @param {Array} source The array to copy values from.
886
+ * @param {Array} [array=[]] The array to copy values to.
887
+ * @returns {Array} Returns `array`.
888
+ */
889
+ function copyArray(source) {
890
+ return baseSlice(source, 0, source.length);
891
+ }
892
+
893
+ /**
894
+ * The base implementation of `_.some` without support for iteratee shorthands.
895
+ *
896
+ * @private
897
+ * @param {Array|Object} collection The collection to iterate over.
898
+ * @param {Function} predicate The function invoked per iteration.
899
+ * @returns {boolean} Returns `true` if any element passes the predicate check,
900
+ * else `false`.
901
+ */
902
+ function baseSome(collection, predicate) {
903
+ var result;
904
+
905
+ baseEach(collection, function(value, index, collection) {
906
+ result = predicate(value, index, collection);
907
+ return !result;
908
+ });
909
+ return !!result;
910
+ }
911
+
912
+ /**
913
+ * The base implementation of `wrapperValue` which returns the result of
914
+ * performing a sequence of actions on the unwrapped `value`, where each
915
+ * successive action is supplied the return value of the previous.
916
+ *
917
+ * @private
918
+ * @param {*} value The unwrapped value.
919
+ * @param {Array} actions Actions to perform to resolve the unwrapped value.
920
+ * @returns {*} Returns the resolved value.
921
+ */
922
+ function baseWrapperValue(value, actions) {
923
+ var result = value;
924
+ return reduce(actions, function(result, action) {
925
+ return action.func.apply(action.thisArg, arrayPush([result], action.args));
926
+ }, result);
927
+ }
928
+
929
+ /**
930
+ * Compares values to sort them in ascending order.
931
+ *
932
+ * @private
933
+ * @param {*} value The value to compare.
934
+ * @param {*} other The other value to compare.
935
+ * @returns {number} Returns the sort order indicator for `value`.
936
+ */
937
+ function compareAscending(value, other) {
938
+ if (value !== other) {
939
+ var valIsDefined = value !== undefined,
940
+ valIsNull = value === null,
941
+ valIsReflexive = value === value,
942
+ valIsSymbol = false;
943
+
944
+ var othIsDefined = other !== undefined,
945
+ othIsNull = other === null,
946
+ othIsReflexive = other === other,
947
+ othIsSymbol = false;
948
+
949
+ if ((!othIsNull && !othIsSymbol && !valIsSymbol && value > other) ||
950
+ (valIsSymbol && othIsDefined && othIsReflexive && !othIsNull && !othIsSymbol) ||
951
+ (valIsNull && othIsDefined && othIsReflexive) ||
952
+ (!valIsDefined && othIsReflexive) ||
953
+ !valIsReflexive) {
954
+ return 1;
955
+ }
956
+ if ((!valIsNull && !valIsSymbol && !othIsSymbol && value < other) ||
957
+ (othIsSymbol && valIsDefined && valIsReflexive && !valIsNull && !valIsSymbol) ||
958
+ (othIsNull && valIsDefined && valIsReflexive) ||
959
+ (!othIsDefined && valIsReflexive) ||
960
+ !othIsReflexive) {
961
+ return -1;
962
+ }
963
+ }
964
+ return 0;
965
+ }
966
+
967
+ /**
968
+ * Copies properties of `source` to `object`.
969
+ *
970
+ * @private
971
+ * @param {Object} source The object to copy properties from.
972
+ * @param {Array} props The property identifiers to copy.
973
+ * @param {Object} [object={}] The object to copy properties to.
974
+ * @param {Function} [customizer] The function to customize copied values.
975
+ * @returns {Object} Returns `object`.
976
+ */
977
+ function copyObject(source, props, object, customizer) {
978
+ var isNew = !object;
979
+ object || (object = {});
980
+
981
+ var index = -1,
982
+ length = props.length;
983
+
984
+ while (++index < length) {
985
+ var key = props[index];
986
+
987
+ var newValue = customizer
988
+ ? customizer(object[key], source[key], key, object, source)
989
+ : undefined;
990
+
991
+ if (newValue === undefined) {
992
+ newValue = source[key];
993
+ }
994
+ if (isNew) {
995
+ baseAssignValue(object, key, newValue);
996
+ } else {
997
+ assignValue(object, key, newValue);
998
+ }
999
+ }
1000
+ return object;
1001
+ }
1002
+
1003
+ /**
1004
+ * Creates a function like `_.assign`.
1005
+ *
1006
+ * @private
1007
+ * @param {Function} assigner The function to assign values.
1008
+ * @returns {Function} Returns the new assigner function.
1009
+ */
1010
+ function createAssigner(assigner) {
1011
+ return baseRest(function(object, sources) {
1012
+ var index = -1,
1013
+ length = sources.length,
1014
+ customizer = length > 1 ? sources[length - 1] : undefined;
1015
+
1016
+ customizer = (assigner.length > 3 && typeof customizer == 'function')
1017
+ ? (length--, customizer)
1018
+ : undefined;
1019
+
1020
+ object = Object(object);
1021
+ while (++index < length) {
1022
+ var source = sources[index];
1023
+ if (source) {
1024
+ assigner(object, source, index, customizer);
1025
+ }
1026
+ }
1027
+ return object;
1028
+ });
1029
+ }
1030
+
1031
+ /**
1032
+ * Creates a `baseEach` or `baseEachRight` function.
1033
+ *
1034
+ * @private
1035
+ * @param {Function} eachFunc The function to iterate over a collection.
1036
+ * @param {boolean} [fromRight] Specify iterating from right to left.
1037
+ * @returns {Function} Returns the new base function.
1038
+ */
1039
+ function createBaseEach(eachFunc, fromRight) {
1040
+ return function(collection, iteratee) {
1041
+ if (collection == null) {
1042
+ return collection;
1043
+ }
1044
+ if (!isArrayLike(collection)) {
1045
+ return eachFunc(collection, iteratee);
1046
+ }
1047
+ var length = collection.length,
1048
+ index = fromRight ? length : -1,
1049
+ iterable = Object(collection);
1050
+
1051
+ while ((fromRight ? index-- : ++index < length)) {
1052
+ if (iteratee(iterable[index], index, iterable) === false) {
1053
+ break;
1054
+ }
1055
+ }
1056
+ return collection;
1057
+ };
1058
+ }
1059
+
1060
+ /**
1061
+ * Creates a base function for methods like `_.forIn` and `_.forOwn`.
1062
+ *
1063
+ * @private
1064
+ * @param {boolean} [fromRight] Specify iterating from right to left.
1065
+ * @returns {Function} Returns the new base function.
1066
+ */
1067
+ function createBaseFor(fromRight) {
1068
+ return function(object, iteratee, keysFunc) {
1069
+ var index = -1,
1070
+ iterable = Object(object),
1071
+ props = keysFunc(object),
1072
+ length = props.length;
1073
+
1074
+ while (length--) {
1075
+ var key = props[fromRight ? length : ++index];
1076
+ if (iteratee(iterable[key], key, iterable) === false) {
1077
+ break;
1078
+ }
1079
+ }
1080
+ return object;
1081
+ };
1082
+ }
1083
+
1084
+ /**
1085
+ * Creates a function that produces an instance of `Ctor` regardless of
1086
+ * whether it was invoked as part of a `new` expression or by `call` or `apply`.
1087
+ *
1088
+ * @private
1089
+ * @param {Function} Ctor The constructor to wrap.
1090
+ * @returns {Function} Returns the new wrapped function.
1091
+ */
1092
+ function createCtor(Ctor) {
1093
+ return function() {
1094
+ // Use a `switch` statement to work with class constructors. See
1095
+ // http://ecma-international.org/ecma-262/7.0/#sec-ecmascript-function-objects-call-thisargument-argumentslist
1096
+ // for more details.
1097
+ var args = arguments;
1098
+ var thisBinding = baseCreate(Ctor.prototype),
1099
+ result = Ctor.apply(thisBinding, args);
1100
+
1101
+ // Mimic the constructor's `return` behavior.
1102
+ // See https://es5.github.io/#x13.2.2 for more details.
1103
+ return isObject(result) ? result : thisBinding;
1104
+ };
1105
+ }
1106
+
1107
+ /**
1108
+ * Creates a `_.find` or `_.findLast` function.
1109
+ *
1110
+ * @private
1111
+ * @param {Function} findIndexFunc The function to find the collection index.
1112
+ * @returns {Function} Returns the new find function.
1113
+ */
1114
+ function createFind(findIndexFunc) {
1115
+ return function(collection, predicate, fromIndex) {
1116
+ var iterable = Object(collection);
1117
+ if (!isArrayLike(collection)) {
1118
+ var iteratee = baseIteratee(predicate, 3);
1119
+ collection = keys(collection);
1120
+ predicate = function(key) { return iteratee(iterable[key], key, iterable); };
1121
+ }
1122
+ var index = findIndexFunc(collection, predicate, fromIndex);
1123
+ return index > -1 ? iterable[iteratee ? collection[index] : index] : undefined;
1124
+ };
1125
+ }
1126
+
1127
+ /**
1128
+ * Creates a function that wraps `func` to invoke it with the `this` binding
1129
+ * of `thisArg` and `partials` prepended to the arguments it receives.
1130
+ *
1131
+ * @private
1132
+ * @param {Function} func The function to wrap.
1133
+ * @param {number} bitmask The bitmask flags. See `createWrap` for more details.
1134
+ * @param {*} thisArg The `this` binding of `func`.
1135
+ * @param {Array} partials The arguments to prepend to those provided to
1136
+ * the new function.
1137
+ * @returns {Function} Returns the new wrapped function.
1138
+ */
1139
+ function createPartial(func, bitmask, thisArg, partials) {
1140
+ if (typeof func != 'function') {
1141
+ throw new TypeError(FUNC_ERROR_TEXT);
1142
+ }
1143
+ var isBind = bitmask & WRAP_BIND_FLAG,
1144
+ Ctor = createCtor(func);
1145
+
1146
+ function wrapper() {
1147
+ var argsIndex = -1,
1148
+ argsLength = arguments.length,
1149
+ leftIndex = -1,
1150
+ leftLength = partials.length,
1151
+ args = Array(leftLength + argsLength),
1152
+ fn = (this && this !== root && this instanceof wrapper) ? Ctor : func;
1153
+
1154
+ while (++leftIndex < leftLength) {
1155
+ args[leftIndex] = partials[leftIndex];
1156
+ }
1157
+ while (argsLength--) {
1158
+ args[leftIndex++] = arguments[++argsIndex];
1159
+ }
1160
+ return fn.apply(isBind ? thisArg : this, args);
1161
+ }
1162
+ return wrapper;
1163
+ }
1164
+
1165
+ /**
1166
+ * A specialized version of `baseIsEqualDeep` for arrays with support for
1167
+ * partial deep comparisons.
1168
+ *
1169
+ * @private
1170
+ * @param {Array} array The array to compare.
1171
+ * @param {Array} other The other array to compare.
1172
+ * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.
1173
+ * @param {Function} customizer The function to customize comparisons.
1174
+ * @param {Function} equalFunc The function to determine equivalents of values.
1175
+ * @param {Object} stack Tracks traversed `array` and `other` objects.
1176
+ * @returns {boolean} Returns `true` if the arrays are equivalent, else `false`.
1177
+ */
1178
+ function equalArrays(array, other, bitmask, customizer, equalFunc, stack) {
1179
+ var isPartial = bitmask & COMPARE_PARTIAL_FLAG,
1180
+ arrLength = array.length,
1181
+ othLength = other.length;
1182
+
1183
+ if (arrLength != othLength && !(isPartial && othLength > arrLength)) {
1184
+ return false;
1185
+ }
1186
+ // Check that cyclic values are equal.
1187
+ var arrStacked = stack.get(array);
1188
+ var othStacked = stack.get(other);
1189
+ if (arrStacked && othStacked) {
1190
+ return arrStacked == other && othStacked == array;
1191
+ }
1192
+ var index = -1,
1193
+ result = true,
1194
+ seen = (bitmask & COMPARE_UNORDERED_FLAG) ? [] : undefined;
1195
+
1196
+ // Ignore non-index properties.
1197
+ while (++index < arrLength) {
1198
+ var arrValue = array[index],
1199
+ othValue = other[index];
1200
+
1201
+ var compared;
1202
+ if (compared !== undefined) {
1203
+ if (compared) {
1204
+ continue;
1205
+ }
1206
+ result = false;
1207
+ break;
1208
+ }
1209
+ // Recursively compare arrays (susceptible to call stack limits).
1210
+ if (seen) {
1211
+ if (!baseSome(other, function(othValue, othIndex) {
1212
+ if (!indexOf(seen, othIndex) &&
1213
+ (arrValue === othValue || equalFunc(arrValue, othValue, bitmask, customizer, stack))) {
1214
+ return seen.push(othIndex);
1215
+ }
1216
+ })) {
1217
+ result = false;
1218
+ break;
1219
+ }
1220
+ } else if (!(
1221
+ arrValue === othValue ||
1222
+ equalFunc(arrValue, othValue, bitmask, customizer, stack)
1223
+ )) {
1224
+ result = false;
1225
+ break;
1226
+ }
1227
+ }
1228
+ return result;
1229
+ }
1230
+
1231
+ /**
1232
+ * A specialized version of `baseIsEqualDeep` for comparing objects of
1233
+ * the same `toStringTag`.
1234
+ *
1235
+ * **Note:** This function only supports comparing values with tags of
1236
+ * `Boolean`, `Date`, `Error`, `Number`, `RegExp`, or `String`.
1237
+ *
1238
+ * @private
1239
+ * @param {Object} object The object to compare.
1240
+ * @param {Object} other The other object to compare.
1241
+ * @param {string} tag The `toStringTag` of the objects to compare.
1242
+ * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.
1243
+ * @param {Function} customizer The function to customize comparisons.
1244
+ * @param {Function} equalFunc The function to determine equivalents of values.
1245
+ * @param {Object} stack Tracks traversed `object` and `other` objects.
1246
+ * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.
1247
+ */
1248
+ function equalByTag(object, other, tag, bitmask, customizer, equalFunc, stack) {
1249
+ switch (tag) {
1250
+
1251
+ case boolTag:
1252
+ case dateTag:
1253
+ case numberTag:
1254
+ // Coerce booleans to `1` or `0` and dates to milliseconds.
1255
+ // Invalid dates are coerced to `NaN`.
1256
+ return eq(+object, +other);
1257
+
1258
+ case errorTag:
1259
+ return object.name == other.name && object.message == other.message;
1260
+
1261
+ case regexpTag:
1262
+ case stringTag:
1263
+ // Coerce regexes to strings and treat strings, primitives and objects,
1264
+ // as equal. See http://www.ecma-international.org/ecma-262/7.0/#sec-regexp.prototype.tostring
1265
+ // for more details.
1266
+ return object == (other + '');
1267
+
1268
+ }
1269
+ return false;
1270
+ }
1271
+
1272
+ /**
1273
+ * A specialized version of `baseIsEqualDeep` for objects with support for
1274
+ * partial deep comparisons.
1275
+ *
1276
+ * @private
1277
+ * @param {Object} object The object to compare.
1278
+ * @param {Object} other The other object to compare.
1279
+ * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.
1280
+ * @param {Function} customizer The function to customize comparisons.
1281
+ * @param {Function} equalFunc The function to determine equivalents of values.
1282
+ * @param {Object} stack Tracks traversed `object` and `other` objects.
1283
+ * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.
1284
+ */
1285
+ function equalObjects(object, other, bitmask, customizer, equalFunc, stack) {
1286
+ var isPartial = bitmask & COMPARE_PARTIAL_FLAG,
1287
+ objProps = keys(object),
1288
+ objLength = objProps.length,
1289
+ othProps = keys(other),
1290
+ othLength = othProps.length;
1291
+
1292
+ if (objLength != othLength && !isPartial) {
1293
+ return false;
1294
+ }
1295
+ var index = objLength;
1296
+ while (index--) {
1297
+ var key = objProps[index];
1298
+ if (!(isPartial ? key in other : hasOwnProperty.call(other, key))) {
1299
+ return false;
1300
+ }
1301
+ }
1302
+ // Check that cyclic values are equal.
1303
+ var objStacked = stack.get(object);
1304
+ var othStacked = stack.get(other);
1305
+ if (objStacked && othStacked) {
1306
+ return objStacked == other && othStacked == object;
1307
+ }
1308
+ var result = true;
1309
+
1310
+ var skipCtor = isPartial;
1311
+ while (++index < objLength) {
1312
+ key = objProps[index];
1313
+ var objValue = object[key],
1314
+ othValue = other[key];
1315
+
1316
+ var compared;
1317
+ // Recursively compare objects (susceptible to call stack limits).
1318
+ if (!(compared === undefined
1319
+ ? (objValue === othValue || equalFunc(objValue, othValue, bitmask, customizer, stack))
1320
+ : compared
1321
+ )) {
1322
+ result = false;
1323
+ break;
1324
+ }
1325
+ skipCtor || (skipCtor = key == 'constructor');
1326
+ }
1327
+ if (result && !skipCtor) {
1328
+ var objCtor = object.constructor,
1329
+ othCtor = other.constructor;
1330
+
1331
+ // Non `Object` object instances with different constructors are not equal.
1332
+ if (objCtor != othCtor &&
1333
+ ('constructor' in object && 'constructor' in other) &&
1334
+ !(typeof objCtor == 'function' && objCtor instanceof objCtor &&
1335
+ typeof othCtor == 'function' && othCtor instanceof othCtor)) {
1336
+ result = false;
1337
+ }
1338
+ }
1339
+ return result;
1340
+ }
1341
+
1342
+ /**
1343
+ * A specialized version of `baseRest` which flattens the rest array.
1344
+ *
1345
+ * @private
1346
+ * @param {Function} func The function to apply a rest parameter to.
1347
+ * @returns {Function} Returns the new function.
1348
+ */
1349
+ function flatRest(func) {
1350
+ return setToString(overRest(func, undefined, flatten), func + '');
1351
+ }
1352
+
1353
+ /**
1354
+ * Checks if `value` is a flattenable `arguments` object or array.
1355
+ *
1356
+ * @private
1357
+ * @param {*} value The value to check.
1358
+ * @returns {boolean} Returns `true` if `value` is flattenable, else `false`.
1359
+ */
1360
+ function isFlattenable(value) {
1361
+ return isArray(value) || isArguments(value);
1362
+ }
1363
+
1364
+ /**
1365
+ * Checks if `value` is a valid array-like index.
1366
+ *
1367
+ * @private
1368
+ * @param {*} value The value to check.
1369
+ * @param {number} [length=MAX_SAFE_INTEGER] The upper bounds of a valid index.
1370
+ * @returns {boolean} Returns `true` if `value` is a valid index, else `false`.
1371
+ */
1372
+ function isIndex(value, length) {
1373
+ var type = typeof value;
1374
+ length = length == null ? MAX_SAFE_INTEGER : length;
1375
+
1376
+ return !!length &&
1377
+ (type == 'number' ||
1378
+ (type != 'symbol' && reIsUint.test(value))) &&
1379
+ (value > -1 && value % 1 == 0 && value < length);
1380
+ }
1381
+
1382
+ /**
1383
+ * Checks if the given arguments are from an iteratee call.
1384
+ *
1385
+ * @private
1386
+ * @param {*} value The potential iteratee value argument.
1387
+ * @param {*} index The potential iteratee index or key argument.
1388
+ * @param {*} object The potential iteratee object argument.
1389
+ * @returns {boolean} Returns `true` if the arguments are from an iteratee call,
1390
+ * else `false`.
1391
+ */
1392
+ function isIterateeCall(value, index, object) {
1393
+ if (!isObject(object)) {
1394
+ return false;
1395
+ }
1396
+ var type = typeof index;
1397
+ if (type == 'number'
1398
+ ? (isArrayLike(object) && isIndex(index, object.length))
1399
+ : (type == 'string' && index in object)
1400
+ ) {
1401
+ return eq(object[index], value);
1402
+ }
1403
+ return false;
1404
+ }
1405
+
1406
+ /**
1407
+ * This function is like
1408
+ * [`Object.keys`](http://ecma-international.org/ecma-262/7.0/#sec-object.keys)
1409
+ * except that it includes inherited enumerable properties.
1410
+ *
1411
+ * @private
1412
+ * @param {Object} object The object to query.
1413
+ * @returns {Array} Returns the array of property names.
1414
+ */
1415
+ function nativeKeysIn(object) {
1416
+ var result = [];
1417
+ if (object != null) {
1418
+ for (var key in Object(object)) {
1419
+ result.push(key);
1420
+ }
1421
+ }
1422
+ return result;
1423
+ }
1424
+
1425
+ /**
1426
+ * Converts `value` to a string using `Object.prototype.toString`.
1427
+ *
1428
+ * @private
1429
+ * @param {*} value The value to convert.
1430
+ * @returns {string} Returns the converted string.
1431
+ */
1432
+ function objectToString(value) {
1433
+ return nativeObjectToString.call(value);
1434
+ }
1435
+
1436
+ /**
1437
+ * A specialized version of `baseRest` which transforms the rest array.
1438
+ *
1439
+ * @private
1440
+ * @param {Function} func The function to apply a rest parameter to.
1441
+ * @param {number} [start=func.length-1] The start position of the rest parameter.
1442
+ * @param {Function} transform The rest array transform.
1443
+ * @returns {Function} Returns the new function.
1444
+ */
1445
+ function overRest(func, start, transform) {
1446
+ start = nativeMax(start === undefined ? (func.length - 1) : start, 0);
1447
+ return function() {
1448
+ var args = arguments,
1449
+ index = -1,
1450
+ length = nativeMax(args.length - start, 0),
1451
+ array = Array(length);
1452
+
1453
+ while (++index < length) {
1454
+ array[index] = args[start + index];
1455
+ }
1456
+ index = -1;
1457
+ var otherArgs = Array(start + 1);
1458
+ while (++index < start) {
1459
+ otherArgs[index] = args[index];
1460
+ }
1461
+ otherArgs[start] = transform(array);
1462
+ return func.apply(this, otherArgs);
1463
+ };
1464
+ }
1465
+
1466
+ /**
1467
+ * Sets the `toString` method of `func` to return `string`.
1468
+ *
1469
+ * @private
1470
+ * @param {Function} func The function to modify.
1471
+ * @param {Function} string The `toString` result.
1472
+ * @returns {Function} Returns `func`.
1473
+ */
1474
+ var setToString = identity;
1475
+
1476
+ /*------------------------------------------------------------------------*/
1477
+
1478
+ /**
1479
+ * Creates an array with all falsey values removed. The values `false`, `null`,
1480
+ * `0`, `""`, `undefined`, and `NaN` are falsey.
1481
+ *
1482
+ * @static
1483
+ * @memberOf _
1484
+ * @since 0.1.0
1485
+ * @category Array
1486
+ * @param {Array} array The array to compact.
1487
+ * @returns {Array} Returns the new array of filtered values.
1488
+ * @example
1489
+ *
1490
+ * _.compact([0, 1, false, 2, '', 3]);
1491
+ * // => [1, 2, 3]
1492
+ */
1493
+ function compact(array) {
1494
+ return baseFilter(array, Boolean);
1495
+ }
1496
+
1497
+ /**
1498
+ * Creates a new array concatenating `array` with any additional arrays
1499
+ * and/or values.
1500
+ *
1501
+ * @static
1502
+ * @memberOf _
1503
+ * @since 4.0.0
1504
+ * @category Array
1505
+ * @param {Array} array The array to concatenate.
1506
+ * @param {...*} [values] The values to concatenate.
1507
+ * @returns {Array} Returns the new concatenated array.
1508
+ * @example
1509
+ *
1510
+ * var array = [1];
1511
+ * var other = _.concat(array, 2, [3], [[4]]);
1512
+ *
1513
+ * console.log(other);
1514
+ * // => [1, 2, 3, [4]]
1515
+ *
1516
+ * console.log(array);
1517
+ * // => [1]
1518
+ */
1519
+ function concat() {
1520
+ var length = arguments.length;
1521
+ if (!length) {
1522
+ return [];
1523
+ }
1524
+ var args = Array(length - 1),
1525
+ array = arguments[0],
1526
+ index = length;
1527
+
1528
+ while (index--) {
1529
+ args[index - 1] = arguments[index];
1530
+ }
1531
+ return arrayPush(isArray(array) ? copyArray(array) : [array], baseFlatten(args, 1));
1532
+ }
1533
+
1534
+ /**
1535
+ * This method is like `_.find` except that it returns the index of the first
1536
+ * element `predicate` returns truthy for instead of the element itself.
1537
+ *
1538
+ * @static
1539
+ * @memberOf _
1540
+ * @since 1.1.0
1541
+ * @category Array
1542
+ * @param {Array} array The array to inspect.
1543
+ * @param {Function} [predicate=_.identity] The function invoked per iteration.
1544
+ * @param {number} [fromIndex=0] The index to search from.
1545
+ * @returns {number} Returns the index of the found element, else `-1`.
1546
+ * @example
1547
+ *
1548
+ * var users = [
1549
+ * { 'user': 'barney', 'active': false },
1550
+ * { 'user': 'fred', 'active': false },
1551
+ * { 'user': 'pebbles', 'active': true }
1552
+ * ];
1553
+ *
1554
+ * _.findIndex(users, function(o) { return o.user == 'barney'; });
1555
+ * // => 0
1556
+ *
1557
+ * // The `_.matches` iteratee shorthand.
1558
+ * _.findIndex(users, { 'user': 'fred', 'active': false });
1559
+ * // => 1
1560
+ *
1561
+ * // The `_.matchesProperty` iteratee shorthand.
1562
+ * _.findIndex(users, ['active', false]);
1563
+ * // => 0
1564
+ *
1565
+ * // The `_.property` iteratee shorthand.
1566
+ * _.findIndex(users, 'active');
1567
+ * // => 2
1568
+ */
1569
+ function findIndex(array, predicate, fromIndex) {
1570
+ var length = array == null ? 0 : array.length;
1571
+ if (!length) {
1572
+ return -1;
1573
+ }
1574
+ var index = fromIndex == null ? 0 : toInteger(fromIndex);
1575
+ if (index < 0) {
1576
+ index = nativeMax(length + index, 0);
1577
+ }
1578
+ return baseFindIndex(array, baseIteratee(predicate, 3), index);
1579
+ }
1580
+
1581
+ /**
1582
+ * Flattens `array` a single level deep.
1583
+ *
1584
+ * @static
1585
+ * @memberOf _
1586
+ * @since 0.1.0
1587
+ * @category Array
1588
+ * @param {Array} array The array to flatten.
1589
+ * @returns {Array} Returns the new flattened array.
1590
+ * @example
1591
+ *
1592
+ * _.flatten([1, [2, [3, [4]], 5]]);
1593
+ * // => [1, 2, [3, [4]], 5]
1594
+ */
1595
+ function flatten(array) {
1596
+ var length = array == null ? 0 : array.length;
1597
+ return length ? baseFlatten(array, 1) : [];
1598
+ }
1599
+
1600
+ /**
1601
+ * Recursively flattens `array`.
1602
+ *
1603
+ * @static
1604
+ * @memberOf _
1605
+ * @since 3.0.0
1606
+ * @category Array
1607
+ * @param {Array} array The array to flatten.
1608
+ * @returns {Array} Returns the new flattened array.
1609
+ * @example
1610
+ *
1611
+ * _.flattenDeep([1, [2, [3, [4]], 5]]);
1612
+ * // => [1, 2, 3, 4, 5]
1613
+ */
1614
+ function flattenDeep(array) {
1615
+ var length = array == null ? 0 : array.length;
1616
+ return length ? baseFlatten(array, INFINITY) : [];
1617
+ }
1618
+
1619
+ /**
1620
+ * Gets the first element of `array`.
1621
+ *
1622
+ * @static
1623
+ * @memberOf _
1624
+ * @since 0.1.0
1625
+ * @alias first
1626
+ * @category Array
1627
+ * @param {Array} array The array to query.
1628
+ * @returns {*} Returns the first element of `array`.
1629
+ * @example
1630
+ *
1631
+ * _.head([1, 2, 3]);
1632
+ * // => 1
1633
+ *
1634
+ * _.head([]);
1635
+ * // => undefined
1636
+ */
1637
+ function head(array) {
1638
+ return (array && array.length) ? array[0] : undefined;
1639
+ }
1640
+
1641
+ /**
1642
+ * Gets the index at which the first occurrence of `value` is found in `array`
1643
+ * using [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)
1644
+ * for equality comparisons. If `fromIndex` is negative, it's used as the
1645
+ * offset from the end of `array`.
1646
+ *
1647
+ * @static
1648
+ * @memberOf _
1649
+ * @since 0.1.0
1650
+ * @category Array
1651
+ * @param {Array} array The array to inspect.
1652
+ * @param {*} value The value to search for.
1653
+ * @param {number} [fromIndex=0] The index to search from.
1654
+ * @returns {number} Returns the index of the matched value, else `-1`.
1655
+ * @example
1656
+ *
1657
+ * _.indexOf([1, 2, 1, 2], 2);
1658
+ * // => 1
1659
+ *
1660
+ * // Search from the `fromIndex`.
1661
+ * _.indexOf([1, 2, 1, 2], 2, 2);
1662
+ * // => 3
1663
+ */
1664
+ function indexOf(array, value, fromIndex) {
1665
+ var length = array == null ? 0 : array.length;
1666
+ if (typeof fromIndex == 'number') {
1667
+ fromIndex = fromIndex < 0 ? nativeMax(length + fromIndex, 0) : fromIndex;
1668
+ } else {
1669
+ fromIndex = 0;
1670
+ }
1671
+ var index = (fromIndex || 0) - 1,
1672
+ isReflexive = value === value;
1673
+
1674
+ while (++index < length) {
1675
+ var other = array[index];
1676
+ if ((isReflexive ? other === value : other !== other)) {
1677
+ return index;
1678
+ }
1679
+ }
1680
+ return -1;
1681
+ }
1682
+
1683
+ /**
1684
+ * Gets the last element of `array`.
1685
+ *
1686
+ * @static
1687
+ * @memberOf _
1688
+ * @since 0.1.0
1689
+ * @category Array
1690
+ * @param {Array} array The array to query.
1691
+ * @returns {*} Returns the last element of `array`.
1692
+ * @example
1693
+ *
1694
+ * _.last([1, 2, 3]);
1695
+ * // => 3
1696
+ */
1697
+ function last(array) {
1698
+ var length = array == null ? 0 : array.length;
1699
+ return length ? array[length - 1] : undefined;
1700
+ }
1701
+
1702
+ /**
1703
+ * Creates a slice of `array` from `start` up to, but not including, `end`.
1704
+ *
1705
+ * **Note:** This method is used instead of
1706
+ * [`Array#slice`](https://mdn.io/Array/slice) to ensure dense arrays are
1707
+ * returned.
1708
+ *
1709
+ * @static
1710
+ * @memberOf _
1711
+ * @since 3.0.0
1712
+ * @category Array
1713
+ * @param {Array} array The array to slice.
1714
+ * @param {number} [start=0] The start position.
1715
+ * @param {number} [end=array.length] The end position.
1716
+ * @returns {Array} Returns the slice of `array`.
1717
+ */
1718
+ function slice(array, start, end) {
1719
+ var length = array == null ? 0 : array.length;
1720
+ start = start == null ? 0 : +start;
1721
+ end = end === undefined ? length : +end;
1722
+ return length ? baseSlice(array, start, end) : [];
1723
+ }
1724
+
1725
+ /*------------------------------------------------------------------------*/
1726
+
1727
+ /**
1728
+ * Creates a `lodash` wrapper instance that wraps `value` with explicit method
1729
+ * chain sequences enabled. The result of such sequences must be unwrapped
1730
+ * with `_#value`.
1731
+ *
1732
+ * @static
1733
+ * @memberOf _
1734
+ * @since 1.3.0
1735
+ * @category Seq
1736
+ * @param {*} value The value to wrap.
1737
+ * @returns {Object} Returns the new `lodash` wrapper instance.
1738
+ * @example
1739
+ *
1740
+ * var users = [
1741
+ * { 'user': 'barney', 'age': 36 },
1742
+ * { 'user': 'fred', 'age': 40 },
1743
+ * { 'user': 'pebbles', 'age': 1 }
1744
+ * ];
1745
+ *
1746
+ * var youngest = _
1747
+ * .chain(users)
1748
+ * .sortBy('age')
1749
+ * .map(function(o) {
1750
+ * return o.user + ' is ' + o.age;
1751
+ * })
1752
+ * .head()
1753
+ * .value();
1754
+ * // => 'pebbles is 1'
1755
+ */
1756
+ function chain(value) {
1757
+ var result = lodash(value);
1758
+ result.__chain__ = true;
1759
+ return result;
1760
+ }
1761
+
1762
+ /**
1763
+ * This method invokes `interceptor` and returns `value`. The interceptor
1764
+ * is invoked with one argument; (value). The purpose of this method is to
1765
+ * "tap into" a method chain sequence in order to modify intermediate results.
1766
+ *
1767
+ * @static
1768
+ * @memberOf _
1769
+ * @since 0.1.0
1770
+ * @category Seq
1771
+ * @param {*} value The value to provide to `interceptor`.
1772
+ * @param {Function} interceptor The function to invoke.
1773
+ * @returns {*} Returns `value`.
1774
+ * @example
1775
+ *
1776
+ * _([1, 2, 3])
1777
+ * .tap(function(array) {
1778
+ * // Mutate input array.
1779
+ * array.pop();
1780
+ * })
1781
+ * .reverse()
1782
+ * .value();
1783
+ * // => [2, 1]
1784
+ */
1785
+ function tap(value, interceptor) {
1786
+ interceptor(value);
1787
+ return value;
1788
+ }
1789
+
1790
+ /**
1791
+ * This method is like `_.tap` except that it returns the result of `interceptor`.
1792
+ * The purpose of this method is to "pass thru" values replacing intermediate
1793
+ * results in a method chain sequence.
1794
+ *
1795
+ * @static
1796
+ * @memberOf _
1797
+ * @since 3.0.0
1798
+ * @category Seq
1799
+ * @param {*} value The value to provide to `interceptor`.
1800
+ * @param {Function} interceptor The function to invoke.
1801
+ * @returns {*} Returns the result of `interceptor`.
1802
+ * @example
1803
+ *
1804
+ * _(' abc ')
1805
+ * .chain()
1806
+ * .trim()
1807
+ * .thru(function(value) {
1808
+ * return [value];
1809
+ * })
1810
+ * .value();
1811
+ * // => ['abc']
1812
+ */
1813
+ function thru(value, interceptor) {
1814
+ return interceptor(value);
1815
+ }
1816
+
1817
+ /**
1818
+ * Creates a `lodash` wrapper instance with explicit method chain sequences enabled.
1819
+ *
1820
+ * @name chain
1821
+ * @memberOf _
1822
+ * @since 0.1.0
1823
+ * @category Seq
1824
+ * @returns {Object} Returns the new `lodash` wrapper instance.
1825
+ * @example
1826
+ *
1827
+ * var users = [
1828
+ * { 'user': 'barney', 'age': 36 },
1829
+ * { 'user': 'fred', 'age': 40 }
1830
+ * ];
1831
+ *
1832
+ * // A sequence without explicit chaining.
1833
+ * _(users).head();
1834
+ * // => { 'user': 'barney', 'age': 36 }
1835
+ *
1836
+ * // A sequence with explicit chaining.
1837
+ * _(users)
1838
+ * .chain()
1839
+ * .head()
1840
+ * .pick('user')
1841
+ * .value();
1842
+ * // => { 'user': 'barney' }
1843
+ */
1844
+ function wrapperChain() {
1845
+ return chain(this);
1846
+ }
1847
+
1848
+ /**
1849
+ * Executes the chain sequence to resolve the unwrapped value.
1850
+ *
1851
+ * @name value
1852
+ * @memberOf _
1853
+ * @since 0.1.0
1854
+ * @alias toJSON, valueOf
1855
+ * @category Seq
1856
+ * @returns {*} Returns the resolved unwrapped value.
1857
+ * @example
1858
+ *
1859
+ * _([1, 2, 3]).value();
1860
+ * // => [1, 2, 3]
1861
+ */
1862
+ function wrapperValue() {
1863
+ return baseWrapperValue(this.__wrapped__, this.__actions__);
1864
+ }
1865
+
1866
+ /*------------------------------------------------------------------------*/
1867
+
1868
+ /**
1869
+ * Checks if `predicate` returns truthy for **all** elements of `collection`.
1870
+ * Iteration is stopped once `predicate` returns falsey. The predicate is
1871
+ * invoked with three arguments: (value, index|key, collection).
1872
+ *
1873
+ * **Note:** This method returns `true` for
1874
+ * [empty collections](https://en.wikipedia.org/wiki/Empty_set) because
1875
+ * [everything is true](https://en.wikipedia.org/wiki/Vacuous_truth) of
1876
+ * elements of empty collections.
1877
+ *
1878
+ * @static
1879
+ * @memberOf _
1880
+ * @since 0.1.0
1881
+ * @category Collection
1882
+ * @param {Array|Object} collection The collection to iterate over.
1883
+ * @param {Function} [predicate=_.identity] The function invoked per iteration.
1884
+ * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.
1885
+ * @returns {boolean} Returns `true` if all elements pass the predicate check,
1886
+ * else `false`.
1887
+ * @example
1888
+ *
1889
+ * _.every([true, 1, null, 'yes'], Boolean);
1890
+ * // => false
1891
+ *
1892
+ * var users = [
1893
+ * { 'user': 'barney', 'age': 36, 'active': false },
1894
+ * { 'user': 'fred', 'age': 40, 'active': false }
1895
+ * ];
1896
+ *
1897
+ * // The `_.matches` iteratee shorthand.
1898
+ * _.every(users, { 'user': 'barney', 'active': false });
1899
+ * // => false
1900
+ *
1901
+ * // The `_.matchesProperty` iteratee shorthand.
1902
+ * _.every(users, ['active', false]);
1903
+ * // => true
1904
+ *
1905
+ * // The `_.property` iteratee shorthand.
1906
+ * _.every(users, 'active');
1907
+ * // => false
1908
+ */
1909
+ function every(collection, predicate, guard) {
1910
+ predicate = guard ? undefined : predicate;
1911
+ return baseEvery(collection, baseIteratee(predicate));
1912
+ }
1913
+
1914
+ /**
1915
+ * Iterates over elements of `collection`, returning an array of all elements
1916
+ * `predicate` returns truthy for. The predicate is invoked with three
1917
+ * arguments: (value, index|key, collection).
1918
+ *
1919
+ * **Note:** Unlike `_.remove`, this method returns a new array.
1920
+ *
1921
+ * @static
1922
+ * @memberOf _
1923
+ * @since 0.1.0
1924
+ * @category Collection
1925
+ * @param {Array|Object} collection The collection to iterate over.
1926
+ * @param {Function} [predicate=_.identity] The function invoked per iteration.
1927
+ * @returns {Array} Returns the new filtered array.
1928
+ * @see _.reject
1929
+ * @example
1930
+ *
1931
+ * var users = [
1932
+ * { 'user': 'barney', 'age': 36, 'active': true },
1933
+ * { 'user': 'fred', 'age': 40, 'active': false }
1934
+ * ];
1935
+ *
1936
+ * _.filter(users, function(o) { return !o.active; });
1937
+ * // => objects for ['fred']
1938
+ *
1939
+ * // The `_.matches` iteratee shorthand.
1940
+ * _.filter(users, { 'age': 36, 'active': true });
1941
+ * // => objects for ['barney']
1942
+ *
1943
+ * // The `_.matchesProperty` iteratee shorthand.
1944
+ * _.filter(users, ['active', false]);
1945
+ * // => objects for ['fred']
1946
+ *
1947
+ * // The `_.property` iteratee shorthand.
1948
+ * _.filter(users, 'active');
1949
+ * // => objects for ['barney']
1950
+ *
1951
+ * // Combining several predicates using `_.overEvery` or `_.overSome`.
1952
+ * _.filter(users, _.overSome([{ 'age': 36 }, ['age', 40]]));
1953
+ * // => objects for ['fred', 'barney']
1954
+ */
1955
+ function filter(collection, predicate) {
1956
+ return baseFilter(collection, baseIteratee(predicate));
1957
+ }
1958
+
1959
+ /**
1960
+ * Iterates over elements of `collection`, returning the first element
1961
+ * `predicate` returns truthy for. The predicate is invoked with three
1962
+ * arguments: (value, index|key, collection).
1963
+ *
1964
+ * @static
1965
+ * @memberOf _
1966
+ * @since 0.1.0
1967
+ * @category Collection
1968
+ * @param {Array|Object} collection The collection to inspect.
1969
+ * @param {Function} [predicate=_.identity] The function invoked per iteration.
1970
+ * @param {number} [fromIndex=0] The index to search from.
1971
+ * @returns {*} Returns the matched element, else `undefined`.
1972
+ * @example
1973
+ *
1974
+ * var users = [
1975
+ * { 'user': 'barney', 'age': 36, 'active': true },
1976
+ * { 'user': 'fred', 'age': 40, 'active': false },
1977
+ * { 'user': 'pebbles', 'age': 1, 'active': true }
1978
+ * ];
1979
+ *
1980
+ * _.find(users, function(o) { return o.age < 40; });
1981
+ * // => object for 'barney'
1982
+ *
1983
+ * // The `_.matches` iteratee shorthand.
1984
+ * _.find(users, { 'age': 1, 'active': true });
1985
+ * // => object for 'pebbles'
1986
+ *
1987
+ * // The `_.matchesProperty` iteratee shorthand.
1988
+ * _.find(users, ['active', false]);
1989
+ * // => object for 'fred'
1990
+ *
1991
+ * // The `_.property` iteratee shorthand.
1992
+ * _.find(users, 'active');
1993
+ * // => object for 'barney'
1994
+ */
1995
+ var find = createFind(findIndex);
1996
+
1997
+ /**
1998
+ * Iterates over elements of `collection` and invokes `iteratee` for each element.
1999
+ * The iteratee is invoked with three arguments: (value, index|key, collection).
2000
+ * Iteratee functions may exit iteration early by explicitly returning `false`.
2001
+ *
2002
+ * **Note:** As with other "Collections" methods, objects with a "length"
2003
+ * property are iterated like arrays. To avoid this behavior use `_.forIn`
2004
+ * or `_.forOwn` for object iteration.
2005
+ *
2006
+ * @static
2007
+ * @memberOf _
2008
+ * @since 0.1.0
2009
+ * @alias each
2010
+ * @category Collection
2011
+ * @param {Array|Object} collection The collection to iterate over.
2012
+ * @param {Function} [iteratee=_.identity] The function invoked per iteration.
2013
+ * @returns {Array|Object} Returns `collection`.
2014
+ * @see _.forEachRight
2015
+ * @example
2016
+ *
2017
+ * _.forEach([1, 2], function(value) {
2018
+ * console.log(value);
2019
+ * });
2020
+ * // => Logs `1` then `2`.
2021
+ *
2022
+ * _.forEach({ 'a': 1, 'b': 2 }, function(value, key) {
2023
+ * console.log(key);
2024
+ * });
2025
+ * // => Logs 'a' then 'b' (iteration order is not guaranteed).
2026
+ */
2027
+ function forEach(collection, iteratee) {
2028
+ return baseEach(collection, baseIteratee(iteratee));
2029
+ }
2030
+
2031
+ /**
2032
+ * Creates an array of values by running each element in `collection` thru
2033
+ * `iteratee`. The iteratee is invoked with three arguments:
2034
+ * (value, index|key, collection).
2035
+ *
2036
+ * Many lodash methods are guarded to work as iteratees for methods like
2037
+ * `_.every`, `_.filter`, `_.map`, `_.mapValues`, `_.reject`, and `_.some`.
2038
+ *
2039
+ * The guarded methods are:
2040
+ * `ary`, `chunk`, `curry`, `curryRight`, `drop`, `dropRight`, `every`,
2041
+ * `fill`, `invert`, `parseInt`, `random`, `range`, `rangeRight`, `repeat`,
2042
+ * `sampleSize`, `slice`, `some`, `sortBy`, `split`, `take`, `takeRight`,
2043
+ * `template`, `trim`, `trimEnd`, `trimStart`, and `words`
2044
+ *
2045
+ * @static
2046
+ * @memberOf _
2047
+ * @since 0.1.0
2048
+ * @category Collection
2049
+ * @param {Array|Object} collection The collection to iterate over.
2050
+ * @param {Function} [iteratee=_.identity] The function invoked per iteration.
2051
+ * @returns {Array} Returns the new mapped array.
2052
+ * @example
2053
+ *
2054
+ * function square(n) {
2055
+ * return n * n;
2056
+ * }
2057
+ *
2058
+ * _.map([4, 8], square);
2059
+ * // => [16, 64]
2060
+ *
2061
+ * _.map({ 'a': 4, 'b': 8 }, square);
2062
+ * // => [16, 64] (iteration order is not guaranteed)
2063
+ *
2064
+ * var users = [
2065
+ * { 'user': 'barney' },
2066
+ * { 'user': 'fred' }
2067
+ * ];
2068
+ *
2069
+ * // The `_.property` iteratee shorthand.
2070
+ * _.map(users, 'user');
2071
+ * // => ['barney', 'fred']
2072
+ */
2073
+ function map(collection, iteratee) {
2074
+ return baseMap(collection, baseIteratee(iteratee));
2075
+ }
2076
+
2077
+ /**
2078
+ * Reduces `collection` to a value which is the accumulated result of running
2079
+ * each element in `collection` thru `iteratee`, where each successive
2080
+ * invocation is supplied the return value of the previous. If `accumulator`
2081
+ * is not given, the first element of `collection` is used as the initial
2082
+ * value. The iteratee is invoked with four arguments:
2083
+ * (accumulator, value, index|key, collection).
2084
+ *
2085
+ * Many lodash methods are guarded to work as iteratees for methods like
2086
+ * `_.reduce`, `_.reduceRight`, and `_.transform`.
2087
+ *
2088
+ * The guarded methods are:
2089
+ * `assign`, `defaults`, `defaultsDeep`, `includes`, `merge`, `orderBy`,
2090
+ * and `sortBy`
2091
+ *
2092
+ * @static
2093
+ * @memberOf _
2094
+ * @since 0.1.0
2095
+ * @category Collection
2096
+ * @param {Array|Object} collection The collection to iterate over.
2097
+ * @param {Function} [iteratee=_.identity] The function invoked per iteration.
2098
+ * @param {*} [accumulator] The initial value.
2099
+ * @returns {*} Returns the accumulated value.
2100
+ * @see _.reduceRight
2101
+ * @example
2102
+ *
2103
+ * _.reduce([1, 2], function(sum, n) {
2104
+ * return sum + n;
2105
+ * }, 0);
2106
+ * // => 3
2107
+ *
2108
+ * _.reduce({ 'a': 1, 'b': 2, 'c': 1 }, function(result, value, key) {
2109
+ * (result[value] || (result[value] = [])).push(key);
2110
+ * return result;
2111
+ * }, {});
2112
+ * // => { '1': ['a', 'c'], '2': ['b'] } (iteration order is not guaranteed)
2113
+ */
2114
+ function reduce(collection, iteratee, accumulator) {
2115
+ return baseReduce(collection, baseIteratee(iteratee), accumulator, arguments.length < 3, baseEach);
2116
+ }
2117
+
2118
+ /**
2119
+ * Gets the size of `collection` by returning its length for array-like
2120
+ * values or the number of own enumerable string keyed properties for objects.
2121
+ *
2122
+ * @static
2123
+ * @memberOf _
2124
+ * @since 0.1.0
2125
+ * @category Collection
2126
+ * @param {Array|Object|string} collection The collection to inspect.
2127
+ * @returns {number} Returns the collection size.
2128
+ * @example
2129
+ *
2130
+ * _.size([1, 2, 3]);
2131
+ * // => 3
2132
+ *
2133
+ * _.size({ 'a': 1, 'b': 2 });
2134
+ * // => 2
2135
+ *
2136
+ * _.size('pebbles');
2137
+ * // => 7
2138
+ */
2139
+ function size(collection) {
2140
+ if (collection == null) {
2141
+ return 0;
2142
+ }
2143
+ collection = isArrayLike(collection) ? collection : nativeKeys(collection);
2144
+ return collection.length;
2145
+ }
2146
+
2147
+ /**
2148
+ * Checks if `predicate` returns truthy for **any** element of `collection`.
2149
+ * Iteration is stopped once `predicate` returns truthy. The predicate is
2150
+ * invoked with three arguments: (value, index|key, collection).
2151
+ *
2152
+ * @static
2153
+ * @memberOf _
2154
+ * @since 0.1.0
2155
+ * @category Collection
2156
+ * @param {Array|Object} collection The collection to iterate over.
2157
+ * @param {Function} [predicate=_.identity] The function invoked per iteration.
2158
+ * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.
2159
+ * @returns {boolean} Returns `true` if any element passes the predicate check,
2160
+ * else `false`.
2161
+ * @example
2162
+ *
2163
+ * _.some([null, 0, 'yes', false], Boolean);
2164
+ * // => true
2165
+ *
2166
+ * var users = [
2167
+ * { 'user': 'barney', 'active': true },
2168
+ * { 'user': 'fred', 'active': false }
2169
+ * ];
2170
+ *
2171
+ * // The `_.matches` iteratee shorthand.
2172
+ * _.some(users, { 'user': 'barney', 'active': false });
2173
+ * // => false
2174
+ *
2175
+ * // The `_.matchesProperty` iteratee shorthand.
2176
+ * _.some(users, ['active', false]);
2177
+ * // => true
2178
+ *
2179
+ * // The `_.property` iteratee shorthand.
2180
+ * _.some(users, 'active');
2181
+ * // => true
2182
+ */
2183
+ function some(collection, predicate, guard) {
2184
+ predicate = guard ? undefined : predicate;
2185
+ return baseSome(collection, baseIteratee(predicate));
2186
+ }
2187
+
2188
+ /**
2189
+ * Creates an array of elements, sorted in ascending order by the results of
2190
+ * running each element in a collection thru each iteratee. This method
2191
+ * performs a stable sort, that is, it preserves the original sort order of
2192
+ * equal elements. The iteratees are invoked with one argument: (value).
2193
+ *
2194
+ * @static
2195
+ * @memberOf _
2196
+ * @since 0.1.0
2197
+ * @category Collection
2198
+ * @param {Array|Object} collection The collection to iterate over.
2199
+ * @param {...(Function|Function[])} [iteratees=[_.identity]]
2200
+ * The iteratees to sort by.
2201
+ * @returns {Array} Returns the new sorted array.
2202
+ * @example
2203
+ *
2204
+ * var users = [
2205
+ * { 'user': 'fred', 'age': 48 },
2206
+ * { 'user': 'barney', 'age': 36 },
2207
+ * { 'user': 'fred', 'age': 30 },
2208
+ * { 'user': 'barney', 'age': 34 }
2209
+ * ];
2210
+ *
2211
+ * _.sortBy(users, [function(o) { return o.user; }]);
2212
+ * // => objects for [['barney', 36], ['barney', 34], ['fred', 48], ['fred', 30]]
2213
+ *
2214
+ * _.sortBy(users, ['user', 'age']);
2215
+ * // => objects for [['barney', 34], ['barney', 36], ['fred', 30], ['fred', 48]]
2216
+ */
2217
+ function sortBy(collection, iteratee) {
2218
+ var index = 0;
2219
+ iteratee = baseIteratee(iteratee);
2220
+
2221
+ return baseMap(baseMap(collection, function(value, key, collection) {
2222
+ return { 'value': value, 'index': index++, 'criteria': iteratee(value, key, collection) };
2223
+ }).sort(function(object, other) {
2224
+ return compareAscending(object.criteria, other.criteria) || (object.index - other.index);
2225
+ }), baseProperty('value'));
2226
+ }
2227
+
2228
+ /*------------------------------------------------------------------------*/
2229
+
2230
+ /**
2231
+ * Creates a function that invokes `func`, with the `this` binding and arguments
2232
+ * of the created function, while it's called less than `n` times. Subsequent
2233
+ * calls to the created function return the result of the last `func` invocation.
2234
+ *
2235
+ * @static
2236
+ * @memberOf _
2237
+ * @since 3.0.0
2238
+ * @category Function
2239
+ * @param {number} n The number of calls at which `func` is no longer invoked.
2240
+ * @param {Function} func The function to restrict.
2241
+ * @returns {Function} Returns the new restricted function.
2242
+ * @example
2243
+ *
2244
+ * jQuery(element).on('click', _.before(5, addContactToList));
2245
+ * // => Allows adding up to 4 contacts to the list.
2246
+ */
2247
+ function before(n, func) {
2248
+ var result;
2249
+ if (typeof func != 'function') {
2250
+ throw new TypeError(FUNC_ERROR_TEXT);
2251
+ }
2252
+ n = toInteger(n);
2253
+ return function() {
2254
+ if (--n > 0) {
2255
+ result = func.apply(this, arguments);
2256
+ }
2257
+ if (n <= 1) {
2258
+ func = undefined;
2259
+ }
2260
+ return result;
2261
+ };
2262
+ }
2263
+
2264
+ /**
2265
+ * Creates a function that invokes `func` with the `this` binding of `thisArg`
2266
+ * and `partials` prepended to the arguments it receives.
2267
+ *
2268
+ * The `_.bind.placeholder` value, which defaults to `_` in monolithic builds,
2269
+ * may be used as a placeholder for partially applied arguments.
2270
+ *
2271
+ * **Note:** Unlike native `Function#bind`, this method doesn't set the "length"
2272
+ * property of bound functions.
2273
+ *
2274
+ * @static
2275
+ * @memberOf _
2276
+ * @since 0.1.0
2277
+ * @category Function
2278
+ * @param {Function} func The function to bind.
2279
+ * @param {*} thisArg The `this` binding of `func`.
2280
+ * @param {...*} [partials] The arguments to be partially applied.
2281
+ * @returns {Function} Returns the new bound function.
2282
+ * @example
2283
+ *
2284
+ * function greet(greeting, punctuation) {
2285
+ * return greeting + ' ' + this.user + punctuation;
2286
+ * }
2287
+ *
2288
+ * var object = { 'user': 'fred' };
2289
+ *
2290
+ * var bound = _.bind(greet, object, 'hi');
2291
+ * bound('!');
2292
+ * // => 'hi fred!'
2293
+ *
2294
+ * // Bound with placeholders.
2295
+ * var bound = _.bind(greet, object, _, '!');
2296
+ * bound('hi');
2297
+ * // => 'hi fred!'
2298
+ */
2299
+ var bind = baseRest(function(func, thisArg, partials) {
2300
+ return createPartial(func, WRAP_BIND_FLAG | WRAP_PARTIAL_FLAG, thisArg, partials);
2301
+ });
2302
+
2303
+ /**
2304
+ * Defers invoking the `func` until the current call stack has cleared. Any
2305
+ * additional arguments are provided to `func` when it's invoked.
2306
+ *
2307
+ * @static
2308
+ * @memberOf _
2309
+ * @since 0.1.0
2310
+ * @category Function
2311
+ * @param {Function} func The function to defer.
2312
+ * @param {...*} [args] The arguments to invoke `func` with.
2313
+ * @returns {number} Returns the timer id.
2314
+ * @example
2315
+ *
2316
+ * _.defer(function(text) {
2317
+ * console.log(text);
2318
+ * }, 'deferred');
2319
+ * // => Logs 'deferred' after one millisecond.
2320
+ */
2321
+ var defer = baseRest(function(func, args) {
2322
+ return baseDelay(func, 1, args);
2323
+ });
2324
+
2325
+ /**
2326
+ * Invokes `func` after `wait` milliseconds. Any additional arguments are
2327
+ * provided to `func` when it's invoked.
2328
+ *
2329
+ * @static
2330
+ * @memberOf _
2331
+ * @since 0.1.0
2332
+ * @category Function
2333
+ * @param {Function} func The function to delay.
2334
+ * @param {number} wait The number of milliseconds to delay invocation.
2335
+ * @param {...*} [args] The arguments to invoke `func` with.
2336
+ * @returns {number} Returns the timer id.
2337
+ * @example
2338
+ *
2339
+ * _.delay(function(text) {
2340
+ * console.log(text);
2341
+ * }, 1000, 'later');
2342
+ * // => Logs 'later' after one second.
2343
+ */
2344
+ var delay = baseRest(function(func, wait, args) {
2345
+ return baseDelay(func, toNumber(wait) || 0, args);
2346
+ });
2347
+
2348
+ /**
2349
+ * Creates a function that negates the result of the predicate `func`. The
2350
+ * `func` predicate is invoked with the `this` binding and arguments of the
2351
+ * created function.
2352
+ *
2353
+ * @static
2354
+ * @memberOf _
2355
+ * @since 3.0.0
2356
+ * @category Function
2357
+ * @param {Function} predicate The predicate to negate.
2358
+ * @returns {Function} Returns the new negated function.
2359
+ * @example
2360
+ *
2361
+ * function isEven(n) {
2362
+ * return n % 2 == 0;
2363
+ * }
2364
+ *
2365
+ * _.filter([1, 2, 3, 4, 5, 6], _.negate(isEven));
2366
+ * // => [1, 3, 5]
2367
+ */
2368
+ function negate(predicate) {
2369
+ if (typeof predicate != 'function') {
2370
+ throw new TypeError(FUNC_ERROR_TEXT);
2371
+ }
2372
+ return function() {
2373
+ var args = arguments;
2374
+ return !predicate.apply(this, args);
2375
+ };
2376
+ }
2377
+
2378
+ /**
2379
+ * Creates a function that is restricted to invoking `func` once. Repeat calls
2380
+ * to the function return the value of the first invocation. The `func` is
2381
+ * invoked with the `this` binding and arguments of the created function.
2382
+ *
2383
+ * @static
2384
+ * @memberOf _
2385
+ * @since 0.1.0
2386
+ * @category Function
2387
+ * @param {Function} func The function to restrict.
2388
+ * @returns {Function} Returns the new restricted function.
2389
+ * @example
2390
+ *
2391
+ * var initialize = _.once(createApplication);
2392
+ * initialize();
2393
+ * initialize();
2394
+ * // => `createApplication` is invoked once
2395
+ */
2396
+ function once(func) {
2397
+ return before(2, func);
2398
+ }
2399
+
2400
+ /*------------------------------------------------------------------------*/
2401
+
2402
+ /**
2403
+ * Creates a shallow clone of `value`.
2404
+ *
2405
+ * **Note:** This method is loosely based on the
2406
+ * [structured clone algorithm](https://mdn.io/Structured_clone_algorithm)
2407
+ * and supports cloning arrays, array buffers, booleans, date objects, maps,
2408
+ * numbers, `Object` objects, regexes, sets, strings, symbols, and typed
2409
+ * arrays. The own enumerable properties of `arguments` objects are cloned
2410
+ * as plain objects. An empty object is returned for uncloneable values such
2411
+ * as error objects, functions, DOM nodes, and WeakMaps.
2412
+ *
2413
+ * @static
2414
+ * @memberOf _
2415
+ * @since 0.1.0
2416
+ * @category Lang
2417
+ * @param {*} value The value to clone.
2418
+ * @returns {*} Returns the cloned value.
2419
+ * @see _.cloneDeep
2420
+ * @example
2421
+ *
2422
+ * var objects = [{ 'a': 1 }, { 'b': 2 }];
2423
+ *
2424
+ * var shallow = _.clone(objects);
2425
+ * console.log(shallow[0] === objects[0]);
2426
+ * // => true
2427
+ */
2428
+ function clone(value) {
2429
+ if (!isObject(value)) {
2430
+ return value;
2431
+ }
2432
+ return isArray(value) ? copyArray(value) : copyObject(value, nativeKeys(value));
2433
+ }
2434
+
2435
+ /**
2436
+ * Performs a
2437
+ * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)
2438
+ * comparison between two values to determine if they are equivalent.
2439
+ *
2440
+ * @static
2441
+ * @memberOf _
2442
+ * @since 4.0.0
2443
+ * @category Lang
2444
+ * @param {*} value The value to compare.
2445
+ * @param {*} other The other value to compare.
2446
+ * @returns {boolean} Returns `true` if the values are equivalent, else `false`.
2447
+ * @example
2448
+ *
2449
+ * var object = { 'a': 1 };
2450
+ * var other = { 'a': 1 };
2451
+ *
2452
+ * _.eq(object, object);
2453
+ * // => true
2454
+ *
2455
+ * _.eq(object, other);
2456
+ * // => false
2457
+ *
2458
+ * _.eq('a', 'a');
2459
+ * // => true
2460
+ *
2461
+ * _.eq('a', Object('a'));
2462
+ * // => false
2463
+ *
2464
+ * _.eq(NaN, NaN);
2465
+ * // => true
2466
+ */
2467
+ function eq(value, other) {
2468
+ return value === other || (value !== value && other !== other);
2469
+ }
2470
+
2471
+ /**
2472
+ * Checks if `value` is likely an `arguments` object.
2473
+ *
2474
+ * @static
2475
+ * @memberOf _
2476
+ * @since 0.1.0
2477
+ * @category Lang
2478
+ * @param {*} value The value to check.
2479
+ * @returns {boolean} Returns `true` if `value` is an `arguments` object,
2480
+ * else `false`.
2481
+ * @example
2482
+ *
2483
+ * _.isArguments(function() { return arguments; }());
2484
+ * // => true
2485
+ *
2486
+ * _.isArguments([1, 2, 3]);
2487
+ * // => false
2488
+ */
2489
+ var isArguments = baseIsArguments(function() { return arguments; }()) ? baseIsArguments : function(value) {
2490
+ return isObjectLike(value) && hasOwnProperty.call(value, 'callee') &&
2491
+ !propertyIsEnumerable.call(value, 'callee');
2492
+ };
2493
+
2494
+ /**
2495
+ * Checks if `value` is classified as an `Array` object.
2496
+ *
2497
+ * @static
2498
+ * @memberOf _
2499
+ * @since 0.1.0
2500
+ * @category Lang
2501
+ * @param {*} value The value to check.
2502
+ * @returns {boolean} Returns `true` if `value` is an array, else `false`.
2503
+ * @example
2504
+ *
2505
+ * _.isArray([1, 2, 3]);
2506
+ * // => true
2507
+ *
2508
+ * _.isArray(document.body.children);
2509
+ * // => false
2510
+ *
2511
+ * _.isArray('abc');
2512
+ * // => false
2513
+ *
2514
+ * _.isArray(_.noop);
2515
+ * // => false
2516
+ */
2517
+ var isArray = Array.isArray;
2518
+
2519
+ /**
2520
+ * Checks if `value` is array-like. A value is considered array-like if it's
2521
+ * not a function and has a `value.length` that's an integer greater than or
2522
+ * equal to `0` and less than or equal to `Number.MAX_SAFE_INTEGER`.
2523
+ *
2524
+ * @static
2525
+ * @memberOf _
2526
+ * @since 4.0.0
2527
+ * @category Lang
2528
+ * @param {*} value The value to check.
2529
+ * @returns {boolean} Returns `true` if `value` is array-like, else `false`.
2530
+ * @example
2531
+ *
2532
+ * _.isArrayLike([1, 2, 3]);
2533
+ * // => true
2534
+ *
2535
+ * _.isArrayLike(document.body.children);
2536
+ * // => true
2537
+ *
2538
+ * _.isArrayLike('abc');
2539
+ * // => true
2540
+ *
2541
+ * _.isArrayLike(_.noop);
2542
+ * // => false
2543
+ */
2544
+ function isArrayLike(value) {
2545
+ return value != null && isLength(value.length) && !isFunction(value);
2546
+ }
2547
+
2548
+ /**
2549
+ * Checks if `value` is classified as a boolean primitive or object.
2550
+ *
2551
+ * @static
2552
+ * @memberOf _
2553
+ * @since 0.1.0
2554
+ * @category Lang
2555
+ * @param {*} value The value to check.
2556
+ * @returns {boolean} Returns `true` if `value` is a boolean, else `false`.
2557
+ * @example
2558
+ *
2559
+ * _.isBoolean(false);
2560
+ * // => true
2561
+ *
2562
+ * _.isBoolean(null);
2563
+ * // => false
2564
+ */
2565
+ function isBoolean(value) {
2566
+ return value === true || value === false ||
2567
+ (isObjectLike(value) && baseGetTag(value) == boolTag);
2568
+ }
2569
+
2570
+ /**
2571
+ * Checks if `value` is classified as a `Date` object.
2572
+ *
2573
+ * @static
2574
+ * @memberOf _
2575
+ * @since 0.1.0
2576
+ * @category Lang
2577
+ * @param {*} value The value to check.
2578
+ * @returns {boolean} Returns `true` if `value` is a date object, else `false`.
2579
+ * @example
2580
+ *
2581
+ * _.isDate(new Date);
2582
+ * // => true
2583
+ *
2584
+ * _.isDate('Mon April 23 2012');
2585
+ * // => false
2586
+ */
2587
+ var isDate = baseIsDate;
2588
+
2589
+ /**
2590
+ * Checks if `value` is an empty object, collection, map, or set.
2591
+ *
2592
+ * Objects are considered empty if they have no own enumerable string keyed
2593
+ * properties.
2594
+ *
2595
+ * Array-like values such as `arguments` objects, arrays, buffers, strings, or
2596
+ * jQuery-like collections are considered empty if they have a `length` of `0`.
2597
+ * Similarly, maps and sets are considered empty if they have a `size` of `0`.
2598
+ *
2599
+ * @static
2600
+ * @memberOf _
2601
+ * @since 0.1.0
2602
+ * @category Lang
2603
+ * @param {*} value The value to check.
2604
+ * @returns {boolean} Returns `true` if `value` is empty, else `false`.
2605
+ * @example
2606
+ *
2607
+ * _.isEmpty(null);
2608
+ * // => true
2609
+ *
2610
+ * _.isEmpty(true);
2611
+ * // => true
2612
+ *
2613
+ * _.isEmpty(1);
2614
+ * // => true
2615
+ *
2616
+ * _.isEmpty([1, 2, 3]);
2617
+ * // => false
2618
+ *
2619
+ * _.isEmpty({ 'a': 1 });
2620
+ * // => false
2621
+ */
2622
+ function isEmpty(value) {
2623
+ if (isArrayLike(value) &&
2624
+ (isArray(value) || isString(value) ||
2625
+ isFunction(value.splice) || isArguments(value))) {
2626
+ return !value.length;
2627
+ }
2628
+ return !nativeKeys(value).length;
2629
+ }
2630
+
2631
+ /**
2632
+ * Performs a deep comparison between two values to determine if they are
2633
+ * equivalent.
2634
+ *
2635
+ * **Note:** This method supports comparing arrays, array buffers, booleans,
2636
+ * date objects, error objects, maps, numbers, `Object` objects, regexes,
2637
+ * sets, strings, symbols, and typed arrays. `Object` objects are compared
2638
+ * by their own, not inherited, enumerable properties. Functions and DOM
2639
+ * nodes are compared by strict equality, i.e. `===`.
2640
+ *
2641
+ * @static
2642
+ * @memberOf _
2643
+ * @since 0.1.0
2644
+ * @category Lang
2645
+ * @param {*} value The value to compare.
2646
+ * @param {*} other The other value to compare.
2647
+ * @returns {boolean} Returns `true` if the values are equivalent, else `false`.
2648
+ * @example
2649
+ *
2650
+ * var object = { 'a': 1 };
2651
+ * var other = { 'a': 1 };
2652
+ *
2653
+ * _.isEqual(object, other);
2654
+ * // => true
2655
+ *
2656
+ * object === other;
2657
+ * // => false
2658
+ */
2659
+ function isEqual(value, other) {
2660
+ return baseIsEqual(value, other);
2661
+ }
2662
+
2663
+ /**
2664
+ * Checks if `value` is a finite primitive number.
2665
+ *
2666
+ * **Note:** This method is based on
2667
+ * [`Number.isFinite`](https://mdn.io/Number/isFinite).
2668
+ *
2669
+ * @static
2670
+ * @memberOf _
2671
+ * @since 0.1.0
2672
+ * @category Lang
2673
+ * @param {*} value The value to check.
2674
+ * @returns {boolean} Returns `true` if `value` is a finite number, else `false`.
2675
+ * @example
2676
+ *
2677
+ * _.isFinite(3);
2678
+ * // => true
2679
+ *
2680
+ * _.isFinite(Number.MIN_VALUE);
2681
+ * // => true
2682
+ *
2683
+ * _.isFinite(Infinity);
2684
+ * // => false
2685
+ *
2686
+ * _.isFinite('3');
2687
+ * // => false
2688
+ */
2689
+ function isFinite(value) {
2690
+ return typeof value == 'number' && nativeIsFinite(value);
2691
+ }
2692
+
2693
+ /**
2694
+ * Checks if `value` is classified as a `Function` object.
2695
+ *
2696
+ * @static
2697
+ * @memberOf _
2698
+ * @since 0.1.0
2699
+ * @category Lang
2700
+ * @param {*} value The value to check.
2701
+ * @returns {boolean} Returns `true` if `value` is a function, else `false`.
2702
+ * @example
2703
+ *
2704
+ * _.isFunction(_);
2705
+ * // => true
2706
+ *
2707
+ * _.isFunction(/abc/);
2708
+ * // => false
2709
+ */
2710
+ function isFunction(value) {
2711
+ if (!isObject(value)) {
2712
+ return false;
2713
+ }
2714
+ // The use of `Object#toString` avoids issues with the `typeof` operator
2715
+ // in Safari 9 which returns 'object' for typed arrays and other constructors.
2716
+ var tag = baseGetTag(value);
2717
+ return tag == funcTag || tag == genTag || tag == asyncTag || tag == proxyTag;
2718
+ }
2719
+
2720
+ /**
2721
+ * Checks if `value` is a valid array-like length.
2722
+ *
2723
+ * **Note:** This method is loosely based on
2724
+ * [`ToLength`](http://ecma-international.org/ecma-262/7.0/#sec-tolength).
2725
+ *
2726
+ * @static
2727
+ * @memberOf _
2728
+ * @since 4.0.0
2729
+ * @category Lang
2730
+ * @param {*} value The value to check.
2731
+ * @returns {boolean} Returns `true` if `value` is a valid length, else `false`.
2732
+ * @example
2733
+ *
2734
+ * _.isLength(3);
2735
+ * // => true
2736
+ *
2737
+ * _.isLength(Number.MIN_VALUE);
2738
+ * // => false
2739
+ *
2740
+ * _.isLength(Infinity);
2741
+ * // => false
2742
+ *
2743
+ * _.isLength('3');
2744
+ * // => false
2745
+ */
2746
+ function isLength(value) {
2747
+ return typeof value == 'number' &&
2748
+ value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;
2749
+ }
2750
+
2751
+ /**
2752
+ * Checks if `value` is the
2753
+ * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)
2754
+ * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)
2755
+ *
2756
+ * @static
2757
+ * @memberOf _
2758
+ * @since 0.1.0
2759
+ * @category Lang
2760
+ * @param {*} value The value to check.
2761
+ * @returns {boolean} Returns `true` if `value` is an object, else `false`.
2762
+ * @example
2763
+ *
2764
+ * _.isObject({});
2765
+ * // => true
2766
+ *
2767
+ * _.isObject([1, 2, 3]);
2768
+ * // => true
2769
+ *
2770
+ * _.isObject(_.noop);
2771
+ * // => true
2772
+ *
2773
+ * _.isObject(null);
2774
+ * // => false
2775
+ */
2776
+ function isObject(value) {
2777
+ var type = typeof value;
2778
+ return value != null && (type == 'object' || type == 'function');
2779
+ }
2780
+
2781
+ /**
2782
+ * Checks if `value` is object-like. A value is object-like if it's not `null`
2783
+ * and has a `typeof` result of "object".
2784
+ *
2785
+ * @static
2786
+ * @memberOf _
2787
+ * @since 4.0.0
2788
+ * @category Lang
2789
+ * @param {*} value The value to check.
2790
+ * @returns {boolean} Returns `true` if `value` is object-like, else `false`.
2791
+ * @example
2792
+ *
2793
+ * _.isObjectLike({});
2794
+ * // => true
2795
+ *
2796
+ * _.isObjectLike([1, 2, 3]);
2797
+ * // => true
2798
+ *
2799
+ * _.isObjectLike(_.noop);
2800
+ * // => false
2801
+ *
2802
+ * _.isObjectLike(null);
2803
+ * // => false
2804
+ */
2805
+ function isObjectLike(value) {
2806
+ return value != null && typeof value == 'object';
2807
+ }
2808
+
2809
+ /**
2810
+ * Checks if `value` is `NaN`.
2811
+ *
2812
+ * **Note:** This method is based on
2813
+ * [`Number.isNaN`](https://mdn.io/Number/isNaN) and is not the same as
2814
+ * global [`isNaN`](https://mdn.io/isNaN) which returns `true` for
2815
+ * `undefined` and other non-number values.
2816
+ *
2817
+ * @static
2818
+ * @memberOf _
2819
+ * @since 0.1.0
2820
+ * @category Lang
2821
+ * @param {*} value The value to check.
2822
+ * @returns {boolean} Returns `true` if `value` is `NaN`, else `false`.
2823
+ * @example
2824
+ *
2825
+ * _.isNaN(NaN);
2826
+ * // => true
2827
+ *
2828
+ * _.isNaN(new Number(NaN));
2829
+ * // => true
2830
+ *
2831
+ * isNaN(undefined);
2832
+ * // => true
2833
+ *
2834
+ * _.isNaN(undefined);
2835
+ * // => false
2836
+ */
2837
+ function isNaN(value) {
2838
+ // An `NaN` primitive is the only value that is not equal to itself.
2839
+ // Perform the `toStringTag` check first to avoid errors with some
2840
+ // ActiveX objects in IE.
2841
+ return isNumber(value) && value != +value;
2842
+ }
2843
+
2844
+ /**
2845
+ * Checks if `value` is `null`.
2846
+ *
2847
+ * @static
2848
+ * @memberOf _
2849
+ * @since 0.1.0
2850
+ * @category Lang
2851
+ * @param {*} value The value to check.
2852
+ * @returns {boolean} Returns `true` if `value` is `null`, else `false`.
2853
+ * @example
2854
+ *
2855
+ * _.isNull(null);
2856
+ * // => true
2857
+ *
2858
+ * _.isNull(void 0);
2859
+ * // => false
2860
+ */
2861
+ function isNull(value) {
2862
+ return value === null;
2863
+ }
2864
+
2865
+ /**
2866
+ * Checks if `value` is classified as a `Number` primitive or object.
2867
+ *
2868
+ * **Note:** To exclude `Infinity`, `-Infinity`, and `NaN`, which are
2869
+ * classified as numbers, use the `_.isFinite` method.
2870
+ *
2871
+ * @static
2872
+ * @memberOf _
2873
+ * @since 0.1.0
2874
+ * @category Lang
2875
+ * @param {*} value The value to check.
2876
+ * @returns {boolean} Returns `true` if `value` is a number, else `false`.
2877
+ * @example
2878
+ *
2879
+ * _.isNumber(3);
2880
+ * // => true
2881
+ *
2882
+ * _.isNumber(Number.MIN_VALUE);
2883
+ * // => true
2884
+ *
2885
+ * _.isNumber(Infinity);
2886
+ * // => true
2887
+ *
2888
+ * _.isNumber('3');
2889
+ * // => false
2890
+ */
2891
+ function isNumber(value) {
2892
+ return typeof value == 'number' ||
2893
+ (isObjectLike(value) && baseGetTag(value) == numberTag);
2894
+ }
2895
+
2896
+ /**
2897
+ * Checks if `value` is classified as a `RegExp` object.
2898
+ *
2899
+ * @static
2900
+ * @memberOf _
2901
+ * @since 0.1.0
2902
+ * @category Lang
2903
+ * @param {*} value The value to check.
2904
+ * @returns {boolean} Returns `true` if `value` is a regexp, else `false`.
2905
+ * @example
2906
+ *
2907
+ * _.isRegExp(/abc/);
2908
+ * // => true
2909
+ *
2910
+ * _.isRegExp('/abc/');
2911
+ * // => false
2912
+ */
2913
+ var isRegExp = baseIsRegExp;
2914
+
2915
+ /**
2916
+ * Checks if `value` is classified as a `String` primitive or object.
2917
+ *
2918
+ * @static
2919
+ * @since 0.1.0
2920
+ * @memberOf _
2921
+ * @category Lang
2922
+ * @param {*} value The value to check.
2923
+ * @returns {boolean} Returns `true` if `value` is a string, else `false`.
2924
+ * @example
2925
+ *
2926
+ * _.isString('abc');
2927
+ * // => true
2928
+ *
2929
+ * _.isString(1);
2930
+ * // => false
2931
+ */
2932
+ function isString(value) {
2933
+ return typeof value == 'string' ||
2934
+ (!isArray(value) && isObjectLike(value) && baseGetTag(value) == stringTag);
2935
+ }
2936
+
2937
+ /**
2938
+ * Checks if `value` is `undefined`.
2939
+ *
2940
+ * @static
2941
+ * @since 0.1.0
2942
+ * @memberOf _
2943
+ * @category Lang
2944
+ * @param {*} value The value to check.
2945
+ * @returns {boolean} Returns `true` if `value` is `undefined`, else `false`.
2946
+ * @example
2947
+ *
2948
+ * _.isUndefined(void 0);
2949
+ * // => true
2950
+ *
2951
+ * _.isUndefined(null);
2952
+ * // => false
2953
+ */
2954
+ function isUndefined(value) {
2955
+ return value === undefined;
2956
+ }
2957
+
2958
+ /**
2959
+ * Converts `value` to an array.
2960
+ *
2961
+ * @static
2962
+ * @since 0.1.0
2963
+ * @memberOf _
2964
+ * @category Lang
2965
+ * @param {*} value The value to convert.
2966
+ * @returns {Array} Returns the converted array.
2967
+ * @example
2968
+ *
2969
+ * _.toArray({ 'a': 1, 'b': 2 });
2970
+ * // => [1, 2]
2971
+ *
2972
+ * _.toArray('abc');
2973
+ * // => ['a', 'b', 'c']
2974
+ *
2975
+ * _.toArray(1);
2976
+ * // => []
2977
+ *
2978
+ * _.toArray(null);
2979
+ * // => []
2980
+ */
2981
+ function toArray(value) {
2982
+ if (!isArrayLike(value)) {
2983
+ return values(value);
2984
+ }
2985
+ return value.length ? copyArray(value) : [];
2986
+ }
2987
+
2988
+ /**
2989
+ * Converts `value` to an integer.
2990
+ *
2991
+ * **Note:** This method is loosely based on
2992
+ * [`ToInteger`](http://www.ecma-international.org/ecma-262/7.0/#sec-tointeger).
2993
+ *
2994
+ * @static
2995
+ * @memberOf _
2996
+ * @since 4.0.0
2997
+ * @category Lang
2998
+ * @param {*} value The value to convert.
2999
+ * @returns {number} Returns the converted integer.
3000
+ * @example
3001
+ *
3002
+ * _.toInteger(3.2);
3003
+ * // => 3
3004
+ *
3005
+ * _.toInteger(Number.MIN_VALUE);
3006
+ * // => 0
3007
+ *
3008
+ * _.toInteger(Infinity);
3009
+ * // => 1.7976931348623157e+308
3010
+ *
3011
+ * _.toInteger('3.2');
3012
+ * // => 3
3013
+ */
3014
+ var toInteger = Number;
3015
+
3016
+ /**
3017
+ * Converts `value` to a number.
3018
+ *
3019
+ * @static
3020
+ * @memberOf _
3021
+ * @since 4.0.0
3022
+ * @category Lang
3023
+ * @param {*} value The value to process.
3024
+ * @returns {number} Returns the number.
3025
+ * @example
3026
+ *
3027
+ * _.toNumber(3.2);
3028
+ * // => 3.2
3029
+ *
3030
+ * _.toNumber(Number.MIN_VALUE);
3031
+ * // => 5e-324
3032
+ *
3033
+ * _.toNumber(Infinity);
3034
+ * // => Infinity
3035
+ *
3036
+ * _.toNumber('3.2');
3037
+ * // => 3.2
3038
+ */
3039
+ var toNumber = Number;
3040
+
3041
+ /**
3042
+ * Converts `value` to a string. An empty string is returned for `null`
3043
+ * and `undefined` values. The sign of `-0` is preserved.
3044
+ *
3045
+ * @static
3046
+ * @memberOf _
3047
+ * @since 4.0.0
3048
+ * @category Lang
3049
+ * @param {*} value The value to convert.
3050
+ * @returns {string} Returns the converted string.
3051
+ * @example
3052
+ *
3053
+ * _.toString(null);
3054
+ * // => ''
3055
+ *
3056
+ * _.toString(-0);
3057
+ * // => '-0'
3058
+ *
3059
+ * _.toString([1, 2, 3]);
3060
+ * // => '1,2,3'
3061
+ */
3062
+ function toString(value) {
3063
+ if (typeof value == 'string') {
3064
+ return value;
3065
+ }
3066
+ return value == null ? '' : (value + '');
3067
+ }
3068
+
3069
+ /*------------------------------------------------------------------------*/
3070
+
3071
+ /**
3072
+ * Assigns own enumerable string keyed properties of source objects to the
3073
+ * destination object. Source objects are applied from left to right.
3074
+ * Subsequent sources overwrite property assignments of previous sources.
3075
+ *
3076
+ * **Note:** This method mutates `object` and is loosely based on
3077
+ * [`Object.assign`](https://mdn.io/Object/assign).
3078
+ *
3079
+ * @static
3080
+ * @memberOf _
3081
+ * @since 0.10.0
3082
+ * @category Object
3083
+ * @param {Object} object The destination object.
3084
+ * @param {...Object} [sources] The source objects.
3085
+ * @returns {Object} Returns `object`.
3086
+ * @see _.assignIn
3087
+ * @example
3088
+ *
3089
+ * function Foo() {
3090
+ * this.a = 1;
3091
+ * }
3092
+ *
3093
+ * function Bar() {
3094
+ * this.c = 3;
3095
+ * }
3096
+ *
3097
+ * Foo.prototype.b = 2;
3098
+ * Bar.prototype.d = 4;
3099
+ *
3100
+ * _.assign({ 'a': 0 }, new Foo, new Bar);
3101
+ * // => { 'a': 1, 'c': 3 }
3102
+ */
3103
+ var assign = createAssigner(function(object, source) {
3104
+ copyObject(source, nativeKeys(source), object);
3105
+ });
3106
+
3107
+ /**
3108
+ * This method is like `_.assign` except that it iterates over own and
3109
+ * inherited source properties.
3110
+ *
3111
+ * **Note:** This method mutates `object`.
3112
+ *
3113
+ * @static
3114
+ * @memberOf _
3115
+ * @since 4.0.0
3116
+ * @alias extend
3117
+ * @category Object
3118
+ * @param {Object} object The destination object.
3119
+ * @param {...Object} [sources] The source objects.
3120
+ * @returns {Object} Returns `object`.
3121
+ * @see _.assign
3122
+ * @example
3123
+ *
3124
+ * function Foo() {
3125
+ * this.a = 1;
3126
+ * }
3127
+ *
3128
+ * function Bar() {
3129
+ * this.c = 3;
3130
+ * }
3131
+ *
3132
+ * Foo.prototype.b = 2;
3133
+ * Bar.prototype.d = 4;
3134
+ *
3135
+ * _.assignIn({ 'a': 0 }, new Foo, new Bar);
3136
+ * // => { 'a': 1, 'b': 2, 'c': 3, 'd': 4 }
3137
+ */
3138
+ var assignIn = createAssigner(function(object, source) {
3139
+ copyObject(source, nativeKeysIn(source), object);
3140
+ });
3141
+
3142
+ /**
3143
+ * Creates an object that inherits from the `prototype` object. If a
3144
+ * `properties` object is given, its own enumerable string keyed properties
3145
+ * are assigned to the created object.
3146
+ *
3147
+ * @static
3148
+ * @memberOf _
3149
+ * @since 2.3.0
3150
+ * @category Object
3151
+ * @param {Object} prototype The object to inherit from.
3152
+ * @param {Object} [properties] The properties to assign to the object.
3153
+ * @returns {Object} Returns the new object.
3154
+ * @example
3155
+ *
3156
+ * function Shape() {
3157
+ * this.x = 0;
3158
+ * this.y = 0;
3159
+ * }
3160
+ *
3161
+ * function Circle() {
3162
+ * Shape.call(this);
3163
+ * }
3164
+ *
3165
+ * Circle.prototype = _.create(Shape.prototype, {
3166
+ * 'constructor': Circle
3167
+ * });
3168
+ *
3169
+ * var circle = new Circle;
3170
+ * circle instanceof Circle;
3171
+ * // => true
3172
+ *
3173
+ * circle instanceof Shape;
3174
+ * // => true
3175
+ */
3176
+ function create(prototype, properties) {
3177
+ var result = baseCreate(prototype);
3178
+ return properties == null ? result : assign(result, properties);
3179
+ }
3180
+
3181
+ /**
3182
+ * Assigns own and inherited enumerable string keyed properties of source
3183
+ * objects to the destination object for all destination properties that
3184
+ * resolve to `undefined`. Source objects are applied from left to right.
3185
+ * Once a property is set, additional values of the same property are ignored.
3186
+ *
3187
+ * **Note:** This method mutates `object`.
3188
+ *
3189
+ * @static
3190
+ * @since 0.1.0
3191
+ * @memberOf _
3192
+ * @category Object
3193
+ * @param {Object} object The destination object.
3194
+ * @param {...Object} [sources] The source objects.
3195
+ * @returns {Object} Returns `object`.
3196
+ * @see _.defaultsDeep
3197
+ * @example
3198
+ *
3199
+ * _.defaults({ 'a': 1 }, { 'b': 2 }, { 'a': 3 });
3200
+ * // => { 'a': 1, 'b': 2 }
3201
+ */
3202
+ var defaults = baseRest(function(object, sources) {
3203
+ object = Object(object);
3204
+
3205
+ var index = -1;
3206
+ var length = sources.length;
3207
+ var guard = length > 2 ? sources[2] : undefined;
3208
+
3209
+ if (guard && isIterateeCall(sources[0], sources[1], guard)) {
3210
+ length = 1;
3211
+ }
3212
+
3213
+ while (++index < length) {
3214
+ var source = sources[index];
3215
+ var props = keysIn(source);
3216
+ var propsIndex = -1;
3217
+ var propsLength = props.length;
3218
+
3219
+ while (++propsIndex < propsLength) {
3220
+ var key = props[propsIndex];
3221
+ var value = object[key];
3222
+
3223
+ if (value === undefined ||
3224
+ (eq(value, objectProto[key]) && !hasOwnProperty.call(object, key))) {
3225
+ object[key] = source[key];
3226
+ }
3227
+ }
3228
+ }
3229
+
3230
+ return object;
3231
+ });
3232
+
3233
+ /**
3234
+ * Checks if `path` is a direct property of `object`.
3235
+ *
3236
+ * @static
3237
+ * @since 0.1.0
3238
+ * @memberOf _
3239
+ * @category Object
3240
+ * @param {Object} object The object to query.
3241
+ * @param {Array|string} path The path to check.
3242
+ * @returns {boolean} Returns `true` if `path` exists, else `false`.
3243
+ * @example
3244
+ *
3245
+ * var object = { 'a': { 'b': 2 } };
3246
+ * var other = _.create({ 'a': _.create({ 'b': 2 }) });
3247
+ *
3248
+ * _.has(object, 'a');
3249
+ * // => true
3250
+ *
3251
+ * _.has(object, 'a.b');
3252
+ * // => true
3253
+ *
3254
+ * _.has(object, ['a', 'b']);
3255
+ * // => true
3256
+ *
3257
+ * _.has(other, 'a');
3258
+ * // => false
3259
+ */
3260
+ function has(object, path) {
3261
+ return object != null && hasOwnProperty.call(object, path);
3262
+ }
3263
+
3264
+ /**
3265
+ * Creates an array of the own enumerable property names of `object`.
3266
+ *
3267
+ * **Note:** Non-object values are coerced to objects. See the
3268
+ * [ES spec](http://ecma-international.org/ecma-262/7.0/#sec-object.keys)
3269
+ * for more details.
3270
+ *
3271
+ * @static
3272
+ * @since 0.1.0
3273
+ * @memberOf _
3274
+ * @category Object
3275
+ * @param {Object} object The object to query.
3276
+ * @returns {Array} Returns the array of property names.
3277
+ * @example
3278
+ *
3279
+ * function Foo() {
3280
+ * this.a = 1;
3281
+ * this.b = 2;
3282
+ * }
3283
+ *
3284
+ * Foo.prototype.c = 3;
3285
+ *
3286
+ * _.keys(new Foo);
3287
+ * // => ['a', 'b'] (iteration order is not guaranteed)
3288
+ *
3289
+ * _.keys('hi');
3290
+ * // => ['0', '1']
3291
+ */
3292
+ var keys = nativeKeys;
3293
+
3294
+ /**
3295
+ * Creates an array of the own and inherited enumerable property names of `object`.
3296
+ *
3297
+ * **Note:** Non-object values are coerced to objects.
3298
+ *
3299
+ * @static
3300
+ * @memberOf _
3301
+ * @since 3.0.0
3302
+ * @category Object
3303
+ * @param {Object} object The object to query.
3304
+ * @returns {Array} Returns the array of property names.
3305
+ * @example
3306
+ *
3307
+ * function Foo() {
3308
+ * this.a = 1;
3309
+ * this.b = 2;
3310
+ * }
3311
+ *
3312
+ * Foo.prototype.c = 3;
3313
+ *
3314
+ * _.keysIn(new Foo);
3315
+ * // => ['a', 'b', 'c'] (iteration order is not guaranteed)
3316
+ */
3317
+ var keysIn = nativeKeysIn;
3318
+
3319
+ /**
3320
+ * Creates an object composed of the picked `object` properties.
3321
+ *
3322
+ * @static
3323
+ * @since 0.1.0
3324
+ * @memberOf _
3325
+ * @category Object
3326
+ * @param {Object} object The source object.
3327
+ * @param {...(string|string[])} [paths] The property paths to pick.
3328
+ * @returns {Object} Returns the new object.
3329
+ * @example
3330
+ *
3331
+ * var object = { 'a': 1, 'b': '2', 'c': 3 };
3332
+ *
3333
+ * _.pick(object, ['a', 'c']);
3334
+ * // => { 'a': 1, 'c': 3 }
3335
+ */
3336
+ var pick = flatRest(function(object, paths) {
3337
+ return object == null ? {} : basePick(object, paths);
3338
+ });
3339
+
3340
+ /**
3341
+ * This method is like `_.get` except that if the resolved value is a
3342
+ * function it's invoked with the `this` binding of its parent object and
3343
+ * its result is returned.
3344
+ *
3345
+ * @static
3346
+ * @since 0.1.0
3347
+ * @memberOf _
3348
+ * @category Object
3349
+ * @param {Object} object The object to query.
3350
+ * @param {Array|string} path The path of the property to resolve.
3351
+ * @param {*} [defaultValue] The value returned for `undefined` resolved values.
3352
+ * @returns {*} Returns the resolved value.
3353
+ * @example
3354
+ *
3355
+ * var object = { 'a': [{ 'b': { 'c1': 3, 'c2': _.constant(4) } }] };
3356
+ *
3357
+ * _.result(object, 'a[0].b.c1');
3358
+ * // => 3
3359
+ *
3360
+ * _.result(object, 'a[0].b.c2');
3361
+ * // => 4
3362
+ *
3363
+ * _.result(object, 'a[0].b.c3', 'default');
3364
+ * // => 'default'
3365
+ *
3366
+ * _.result(object, 'a[0].b.c3', _.constant('default'));
3367
+ * // => 'default'
3368
+ */
3369
+ function result(object, path, defaultValue) {
3370
+ var value = object == null ? undefined : object[path];
3371
+ if (value === undefined) {
3372
+ value = defaultValue;
3373
+ }
3374
+ return isFunction(value) ? value.call(object) : value;
3375
+ }
3376
+
3377
+ /**
3378
+ * Creates an array of the own enumerable string keyed property values of `object`.
3379
+ *
3380
+ * **Note:** Non-object values are coerced to objects.
3381
+ *
3382
+ * @static
3383
+ * @since 0.1.0
3384
+ * @memberOf _
3385
+ * @category Object
3386
+ * @param {Object} object The object to query.
3387
+ * @returns {Array} Returns the array of property values.
3388
+ * @example
3389
+ *
3390
+ * function Foo() {
3391
+ * this.a = 1;
3392
+ * this.b = 2;
3393
+ * }
3394
+ *
3395
+ * Foo.prototype.c = 3;
3396
+ *
3397
+ * _.values(new Foo);
3398
+ * // => [1, 2] (iteration order is not guaranteed)
3399
+ *
3400
+ * _.values('hi');
3401
+ * // => ['h', 'i']
3402
+ */
3403
+ function values(object) {
3404
+ return object == null ? [] : baseValues(object, keys(object));
3405
+ }
3406
+
3407
+ /*------------------------------------------------------------------------*/
3408
+
3409
+ /**
3410
+ * Converts the characters "&", "<", ">", '"', and "'" in `string` to their
3411
+ * corresponding HTML entities.
3412
+ *
3413
+ * **Note:** No other characters are escaped. To escape additional
3414
+ * characters use a third-party library like [_he_](https://mths.be/he).
3415
+ *
3416
+ * Though the ">" character is escaped for symmetry, characters like
3417
+ * ">" and "/" don't need escaping in HTML and have no special meaning
3418
+ * unless they're part of a tag or unquoted attribute value. See
3419
+ * [Mathias Bynens's article](https://mathiasbynens.be/notes/ambiguous-ampersands)
3420
+ * (under "semi-related fun fact") for more details.
3421
+ *
3422
+ * When working with HTML you should always
3423
+ * [quote attribute values](http://wonko.com/post/html-escaping) to reduce
3424
+ * XSS vectors.
3425
+ *
3426
+ * @static
3427
+ * @since 0.1.0
3428
+ * @memberOf _
3429
+ * @category String
3430
+ * @param {string} [string=''] The string to escape.
3431
+ * @returns {string} Returns the escaped string.
3432
+ * @example
3433
+ *
3434
+ * _.escape('fred, barney, & pebbles');
3435
+ * // => 'fred, barney, &amp; pebbles'
3436
+ */
3437
+ function escape(string) {
3438
+ string = toString(string);
3439
+ return (string && reHasUnescapedHtml.test(string))
3440
+ ? string.replace(reUnescapedHtml, escapeHtmlChar)
3441
+ : string;
3442
+ }
3443
+
3444
+ /*------------------------------------------------------------------------*/
3445
+
3446
+ /**
3447
+ * This method returns the first argument it receives.
3448
+ *
3449
+ * @static
3450
+ * @since 0.1.0
3451
+ * @memberOf _
3452
+ * @category Util
3453
+ * @param {*} value Any value.
3454
+ * @returns {*} Returns `value`.
3455
+ * @example
3456
+ *
3457
+ * var object = { 'a': 1 };
3458
+ *
3459
+ * console.log(_.identity(object) === object);
3460
+ * // => true
3461
+ */
3462
+ function identity(value) {
3463
+ return value;
3464
+ }
3465
+
3466
+ /**
3467
+ * Creates a function that invokes `func` with the arguments of the created
3468
+ * function. If `func` is a property name, the created function returns the
3469
+ * property value for a given element. If `func` is an array or object, the
3470
+ * created function returns `true` for elements that contain the equivalent
3471
+ * source properties, otherwise it returns `false`.
3472
+ *
3473
+ * @static
3474
+ * @since 4.0.0
3475
+ * @memberOf _
3476
+ * @category Util
3477
+ * @param {*} [func=_.identity] The value to convert to a callback.
3478
+ * @returns {Function} Returns the callback.
3479
+ * @example
3480
+ *
3481
+ * var users = [
3482
+ * { 'user': 'barney', 'age': 36, 'active': true },
3483
+ * { 'user': 'fred', 'age': 40, 'active': false }
3484
+ * ];
3485
+ *
3486
+ * // The `_.matches` iteratee shorthand.
3487
+ * _.filter(users, _.iteratee({ 'user': 'barney', 'active': true }));
3488
+ * // => [{ 'user': 'barney', 'age': 36, 'active': true }]
3489
+ *
3490
+ * // The `_.matchesProperty` iteratee shorthand.
3491
+ * _.filter(users, _.iteratee(['user', 'fred']));
3492
+ * // => [{ 'user': 'fred', 'age': 40 }]
3493
+ *
3494
+ * // The `_.property` iteratee shorthand.
3495
+ * _.map(users, _.iteratee('user'));
3496
+ * // => ['barney', 'fred']
3497
+ *
3498
+ * // Create custom iteratee shorthands.
3499
+ * _.iteratee = _.wrap(_.iteratee, function(iteratee, func) {
3500
+ * return !_.isRegExp(func) ? iteratee(func) : function(string) {
3501
+ * return func.test(string);
3502
+ * };
3503
+ * });
3504
+ *
3505
+ * _.filter(['abc', 'def'], /ef/);
3506
+ * // => ['def']
3507
+ */
3508
+ var iteratee = baseIteratee;
3509
+
3510
+ /**
3511
+ * Creates a function that performs a partial deep comparison between a given
3512
+ * object and `source`, returning `true` if the given object has equivalent
3513
+ * property values, else `false`.
3514
+ *
3515
+ * **Note:** The created function is equivalent to `_.isMatch` with `source`
3516
+ * partially applied.
3517
+ *
3518
+ * Partial comparisons will match empty array and empty object `source`
3519
+ * values against any array or object value, respectively. See `_.isEqual`
3520
+ * for a list of supported value comparisons.
3521
+ *
3522
+ * **Note:** Multiple values can be checked by combining several matchers
3523
+ * using `_.overSome`
3524
+ *
3525
+ * @static
3526
+ * @memberOf _
3527
+ * @since 3.0.0
3528
+ * @category Util
3529
+ * @param {Object} source The object of property values to match.
3530
+ * @returns {Function} Returns the new spec function.
3531
+ * @example
3532
+ *
3533
+ * var objects = [
3534
+ * { 'a': 1, 'b': 2, 'c': 3 },
3535
+ * { 'a': 4, 'b': 5, 'c': 6 }
3536
+ * ];
3537
+ *
3538
+ * _.filter(objects, _.matches({ 'a': 4, 'c': 6 }));
3539
+ * // => [{ 'a': 4, 'b': 5, 'c': 6 }]
3540
+ *
3541
+ * // Checking for several possible values
3542
+ * _.filter(objects, _.overSome([_.matches({ 'a': 1 }), _.matches({ 'a': 4 })]));
3543
+ * // => [{ 'a': 1, 'b': 2, 'c': 3 }, { 'a': 4, 'b': 5, 'c': 6 }]
3544
+ */
3545
+ function matches(source) {
3546
+ return baseMatches(assign({}, source));
3547
+ }
3548
+
3549
+ /**
3550
+ * Adds all own enumerable string keyed function properties of a source
3551
+ * object to the destination object. If `object` is a function, then methods
3552
+ * are added to its prototype as well.
3553
+ *
3554
+ * **Note:** Use `_.runInContext` to create a pristine `lodash` function to
3555
+ * avoid conflicts caused by modifying the original.
3556
+ *
3557
+ * @static
3558
+ * @since 0.1.0
3559
+ * @memberOf _
3560
+ * @category Util
3561
+ * @param {Function|Object} [object=lodash] The destination object.
3562
+ * @param {Object} source The object of functions to add.
3563
+ * @param {Object} [options={}] The options object.
3564
+ * @param {boolean} [options.chain=true] Specify whether mixins are chainable.
3565
+ * @returns {Function|Object} Returns `object`.
3566
+ * @example
3567
+ *
3568
+ * function vowels(string) {
3569
+ * return _.filter(string, function(v) {
3570
+ * return /[aeiou]/i.test(v);
3571
+ * });
3572
+ * }
3573
+ *
3574
+ * _.mixin({ 'vowels': vowels });
3575
+ * _.vowels('fred');
3576
+ * // => ['e']
3577
+ *
3578
+ * _('fred').vowels().value();
3579
+ * // => ['e']
3580
+ *
3581
+ * _.mixin({ 'vowels': vowels }, { 'chain': false });
3582
+ * _('fred').vowels();
3583
+ * // => ['e']
3584
+ */
3585
+ function mixin(object, source, options) {
3586
+ var props = keys(source),
3587
+ methodNames = baseFunctions(source, props);
3588
+
3589
+ if (options == null &&
3590
+ !(isObject(source) && (methodNames.length || !props.length))) {
3591
+ options = source;
3592
+ source = object;
3593
+ object = this;
3594
+ methodNames = baseFunctions(source, keys(source));
3595
+ }
3596
+ var chain = !(isObject(options) && 'chain' in options) || !!options.chain,
3597
+ isFunc = isFunction(object);
3598
+
3599
+ baseEach(methodNames, function(methodName) {
3600
+ var func = source[methodName];
3601
+ object[methodName] = func;
3602
+ if (isFunc) {
3603
+ object.prototype[methodName] = function() {
3604
+ var chainAll = this.__chain__;
3605
+ if (chain || chainAll) {
3606
+ var result = object(this.__wrapped__),
3607
+ actions = result.__actions__ = copyArray(this.__actions__);
3608
+
3609
+ actions.push({ 'func': func, 'args': arguments, 'thisArg': object });
3610
+ result.__chain__ = chainAll;
3611
+ return result;
3612
+ }
3613
+ return func.apply(object, arrayPush([this.value()], arguments));
3614
+ };
3615
+ }
3616
+ });
3617
+
3618
+ return object;
3619
+ }
3620
+
3621
+ /**
3622
+ * Reverts the `_` variable to its previous value and returns a reference to
3623
+ * the `lodash` function.
3624
+ *
3625
+ * @static
3626
+ * @since 0.1.0
3627
+ * @memberOf _
3628
+ * @category Util
3629
+ * @returns {Function} Returns the `lodash` function.
3630
+ * @example
3631
+ *
3632
+ * var lodash = _.noConflict();
3633
+ */
3634
+ function noConflict() {
3635
+ if (root._ === this) {
3636
+ root._ = oldDash;
3637
+ }
3638
+ return this;
3639
+ }
3640
+
3641
+ /**
3642
+ * This method returns `undefined`.
3643
+ *
3644
+ * @static
3645
+ * @memberOf _
3646
+ * @since 2.3.0
3647
+ * @category Util
3648
+ * @example
3649
+ *
3650
+ * _.times(2, _.noop);
3651
+ * // => [undefined, undefined]
3652
+ */
3653
+ function noop() {
3654
+ // No operation performed.
3655
+ }
3656
+
3657
+ /**
3658
+ * Generates a unique ID. If `prefix` is given, the ID is appended to it.
3659
+ *
3660
+ * @static
3661
+ * @since 0.1.0
3662
+ * @memberOf _
3663
+ * @category Util
3664
+ * @param {string} [prefix=''] The value to prefix the ID with.
3665
+ * @returns {string} Returns the unique ID.
3666
+ * @example
3667
+ *
3668
+ * _.uniqueId('contact_');
3669
+ * // => 'contact_104'
3670
+ *
3671
+ * _.uniqueId();
3672
+ * // => '105'
3673
+ */
3674
+ function uniqueId(prefix) {
3675
+ var id = ++idCounter;
3676
+ return toString(prefix) + id;
3677
+ }
3678
+
3679
+ /*------------------------------------------------------------------------*/
3680
+
3681
+ /**
3682
+ * Computes the maximum value of `array`. If `array` is empty or falsey,
3683
+ * `undefined` is returned.
3684
+ *
3685
+ * @static
3686
+ * @since 0.1.0
3687
+ * @memberOf _
3688
+ * @category Math
3689
+ * @param {Array} array The array to iterate over.
3690
+ * @returns {*} Returns the maximum value.
3691
+ * @example
3692
+ *
3693
+ * _.max([4, 2, 8, 6]);
3694
+ * // => 8
3695
+ *
3696
+ * _.max([]);
3697
+ * // => undefined
3698
+ */
3699
+ function max(array) {
3700
+ return (array && array.length)
3701
+ ? baseExtremum(array, identity, baseGt)
3702
+ : undefined;
3703
+ }
3704
+
3705
+ /**
3706
+ * Computes the minimum value of `array`. If `array` is empty or falsey,
3707
+ * `undefined` is returned.
3708
+ *
3709
+ * @static
3710
+ * @since 0.1.0
3711
+ * @memberOf _
3712
+ * @category Math
3713
+ * @param {Array} array The array to iterate over.
3714
+ * @returns {*} Returns the minimum value.
3715
+ * @example
3716
+ *
3717
+ * _.min([4, 2, 8, 6]);
3718
+ * // => 2
3719
+ *
3720
+ * _.min([]);
3721
+ * // => undefined
3722
+ */
3723
+ function min(array) {
3724
+ return (array && array.length)
3725
+ ? baseExtremum(array, identity, baseLt)
3726
+ : undefined;
3727
+ }
3728
+
3729
+ /*------------------------------------------------------------------------*/
3730
+
3731
+ // Add methods that return wrapped values in chain sequences.
3732
+ lodash.assignIn = assignIn;
3733
+ lodash.before = before;
3734
+ lodash.bind = bind;
3735
+ lodash.chain = chain;
3736
+ lodash.compact = compact;
3737
+ lodash.concat = concat;
3738
+ lodash.create = create;
3739
+ lodash.defaults = defaults;
3740
+ lodash.defer = defer;
3741
+ lodash.delay = delay;
3742
+ lodash.filter = filter;
3743
+ lodash.flatten = flatten;
3744
+ lodash.flattenDeep = flattenDeep;
3745
+ lodash.iteratee = iteratee;
3746
+ lodash.keys = keys;
3747
+ lodash.map = map;
3748
+ lodash.matches = matches;
3749
+ lodash.mixin = mixin;
3750
+ lodash.negate = negate;
3751
+ lodash.once = once;
3752
+ lodash.pick = pick;
3753
+ lodash.slice = slice;
3754
+ lodash.sortBy = sortBy;
3755
+ lodash.tap = tap;
3756
+ lodash.thru = thru;
3757
+ lodash.toArray = toArray;
3758
+ lodash.values = values;
3759
+
3760
+ // Add aliases.
3761
+ lodash.extend = assignIn;
3762
+
3763
+ // Add methods to `lodash.prototype`.
3764
+ mixin(lodash, lodash);
3765
+
3766
+ /*------------------------------------------------------------------------*/
3767
+
3768
+ // Add methods that return unwrapped values in chain sequences.
3769
+ lodash.clone = clone;
3770
+ lodash.escape = escape;
3771
+ lodash.every = every;
3772
+ lodash.find = find;
3773
+ lodash.forEach = forEach;
3774
+ lodash.has = has;
3775
+ lodash.head = head;
3776
+ lodash.identity = identity;
3777
+ lodash.indexOf = indexOf;
3778
+ lodash.isArguments = isArguments;
3779
+ lodash.isArray = isArray;
3780
+ lodash.isBoolean = isBoolean;
3781
+ lodash.isDate = isDate;
3782
+ lodash.isEmpty = isEmpty;
3783
+ lodash.isEqual = isEqual;
3784
+ lodash.isFinite = isFinite;
3785
+ lodash.isFunction = isFunction;
3786
+ lodash.isNaN = isNaN;
3787
+ lodash.isNull = isNull;
3788
+ lodash.isNumber = isNumber;
3789
+ lodash.isObject = isObject;
3790
+ lodash.isRegExp = isRegExp;
3791
+ lodash.isString = isString;
3792
+ lodash.isUndefined = isUndefined;
3793
+ lodash.last = last;
3794
+ lodash.max = max;
3795
+ lodash.min = min;
3796
+ lodash.noConflict = noConflict;
3797
+ lodash.noop = noop;
3798
+ lodash.reduce = reduce;
3799
+ lodash.result = result;
3800
+ lodash.size = size;
3801
+ lodash.some = some;
3802
+ lodash.uniqueId = uniqueId;
3803
+
3804
+ // Add aliases.
3805
+ lodash.each = forEach;
3806
+ lodash.first = head;
3807
+
3808
+ mixin(lodash, (function() {
3809
+ var source = {};
3810
+ baseForOwn(lodash, function(func, methodName) {
3811
+ if (!hasOwnProperty.call(lodash.prototype, methodName)) {
3812
+ source[methodName] = func;
3813
+ }
3814
+ });
3815
+ return source;
3816
+ }()), { 'chain': false });
3817
+
3818
+ /*------------------------------------------------------------------------*/
3819
+
3820
+ /**
3821
+ * The semantic version number.
3822
+ *
3823
+ * @static
3824
+ * @memberOf _
3825
+ * @type {string}
3826
+ */
3827
+ lodash.VERSION = VERSION;
3828
+
3829
+ // Add `Array` methods to `lodash.prototype`.
3830
+ baseEach(['pop', 'join', 'replace', 'reverse', 'split', 'push', 'shift', 'sort', 'splice', 'unshift'], function(methodName) {
3831
+ var func = (/^(?:replace|split)$/.test(methodName) ? String.prototype : arrayProto)[methodName],
3832
+ chainName = /^(?:push|sort|unshift)$/.test(methodName) ? 'tap' : 'thru',
3833
+ retUnwrapped = /^(?:pop|join|replace|shift)$/.test(methodName);
3834
+
3835
+ lodash.prototype[methodName] = function() {
3836
+ var args = arguments;
3837
+ if (retUnwrapped && !this.__chain__) {
3838
+ var value = this.value();
3839
+ return func.apply(isArray(value) ? value : [], args);
3840
+ }
3841
+ return this[chainName](function(value) {
3842
+ return func.apply(isArray(value) ? value : [], args);
3843
+ });
3844
+ };
3845
+ });
3846
+
3847
+ // Add chain sequence methods to the `lodash` wrapper.
3848
+ lodash.prototype.toJSON = lodash.prototype.valueOf = lodash.prototype.value = wrapperValue;
3849
+
3850
+ /*--------------------------------------------------------------------------*/
3851
+
3852
+ // Some AMD build optimizers, like r.js, check for condition patterns like:
3853
+ if (typeof define == 'function' && typeof define.amd == 'object' && define.amd) {
3854
+ // Expose Lodash on the global object to prevent errors when Lodash is
3855
+ // loaded by a script tag in the presence of an AMD loader.
3856
+ // See http://requirejs.org/docs/errors.html#mismatch for more details.
3857
+ // Use `_.noConflict` to remove Lodash from the global object.
3858
+ root._ = lodash;
3859
+
3860
+ // Define as an anonymous module so, through path mapping, it can be
3861
+ // referenced as the "underscore" module.
3862
+ define(function() {
3863
+ return lodash;
3864
+ });
3865
+ }
3866
+ // Check for `exports` after `define` in case a build optimizer adds it.
3867
+ else if (freeModule) {
3868
+ // Export for Node.js.
3869
+ (freeModule.exports = lodash)._ = lodash;
3870
+ // Export for CommonJS support.
3871
+ freeExports._ = lodash;
3872
+ }
3873
+ else {
3874
+ // Export to the global object.
3875
+ root._ = lodash;
3876
+ }
3877
+ }.call(this));