wiki-plugin-allyabase 0.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2354) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +165 -0
  3. package/client/allyabase.js +58 -0
  4. package/factory.json +5 -0
  5. package/package.json +31 -0
  6. package/server/contracts.js +256 -0
  7. package/server/feeds.js +27 -0
  8. package/server/inventory.js +82 -0
  9. package/server/server.js +13 -0
  10. package/test/node_modules/.bin/_mocha +10 -0
  11. package/test/node_modules/.bin/flat +42 -0
  12. package/test/node_modules/.bin/glob +270 -0
  13. package/test/node_modules/.bin/he +148 -0
  14. package/test/node_modules/.bin/js-yaml +126 -0
  15. package/test/node_modules/.bin/mime +46 -0
  16. package/test/node_modules/.bin/mocha +142 -0
  17. package/test/node_modules/.bin/node-which +52 -0
  18. package/test/node_modules/.bin/uuid +2 -0
  19. package/test/node_modules/.package-lock.json +1984 -0
  20. package/test/node_modules/@isaacs/cliui/LICENSE.txt +14 -0
  21. package/test/node_modules/@isaacs/cliui/README.md +143 -0
  22. package/test/node_modules/@isaacs/cliui/build/index.cjs +317 -0
  23. package/test/node_modules/@isaacs/cliui/build/index.d.cts +43 -0
  24. package/test/node_modules/@isaacs/cliui/build/lib/index.js +302 -0
  25. package/test/node_modules/@isaacs/cliui/index.mjs +14 -0
  26. package/test/node_modules/@isaacs/cliui/package.json +86 -0
  27. package/test/node_modules/@noble/curves/LICENSE +21 -0
  28. package/test/node_modules/@noble/curves/README.md +1031 -0
  29. package/test/node_modules/@noble/curves/_shortw_utils.d.ts +62 -0
  30. package/test/node_modules/@noble/curves/_shortw_utils.d.ts.map +1 -0
  31. package/test/node_modules/@noble/curves/_shortw_utils.js +21 -0
  32. package/test/node_modules/@noble/curves/_shortw_utils.js.map +1 -0
  33. package/test/node_modules/@noble/curves/abstract/bls.d.ts +122 -0
  34. package/test/node_modules/@noble/curves/abstract/bls.d.ts.map +1 -0
  35. package/test/node_modules/@noble/curves/abstract/bls.js +288 -0
  36. package/test/node_modules/@noble/curves/abstract/bls.js.map +1 -0
  37. package/test/node_modules/@noble/curves/abstract/curve.d.ts +70 -0
  38. package/test/node_modules/@noble/curves/abstract/curve.d.ts.map +1 -0
  39. package/test/node_modules/@noble/curves/abstract/curve.js +160 -0
  40. package/test/node_modules/@noble/curves/abstract/curve.js.map +1 -0
  41. package/test/node_modules/@noble/curves/abstract/edwards.d.ts +89 -0
  42. package/test/node_modules/@noble/curves/abstract/edwards.d.ts.map +1 -0
  43. package/test/node_modules/@noble/curves/abstract/edwards.js +428 -0
  44. package/test/node_modules/@noble/curves/abstract/edwards.js.map +1 -0
  45. package/test/node_modules/@noble/curves/abstract/hash-to-curve.d.ts +58 -0
  46. package/test/node_modules/@noble/curves/abstract/hash-to-curve.d.ts.map +1 -0
  47. package/test/node_modules/@noble/curves/abstract/hash-to-curve.js +180 -0
  48. package/test/node_modules/@noble/curves/abstract/hash-to-curve.js.map +1 -0
  49. package/test/node_modules/@noble/curves/abstract/modular.d.ts +123 -0
  50. package/test/node_modules/@noble/curves/abstract/modular.d.ts.map +1 -0
  51. package/test/node_modules/@noble/curves/abstract/modular.js +439 -0
  52. package/test/node_modules/@noble/curves/abstract/modular.js.map +1 -0
  53. package/test/node_modules/@noble/curves/abstract/montgomery.d.ts +26 -0
  54. package/test/node_modules/@noble/curves/abstract/montgomery.d.ts.map +1 -0
  55. package/test/node_modules/@noble/curves/abstract/montgomery.js +158 -0
  56. package/test/node_modules/@noble/curves/abstract/montgomery.js.map +1 -0
  57. package/test/node_modules/@noble/curves/abstract/poseidon.d.ts +30 -0
  58. package/test/node_modules/@noble/curves/abstract/poseidon.d.ts.map +1 -0
  59. package/test/node_modules/@noble/curves/abstract/poseidon.js +113 -0
  60. package/test/node_modules/@noble/curves/abstract/poseidon.js.map +1 -0
  61. package/test/node_modules/@noble/curves/abstract/utils.d.ts +94 -0
  62. package/test/node_modules/@noble/curves/abstract/utils.d.ts.map +1 -0
  63. package/test/node_modules/@noble/curves/abstract/utils.js +313 -0
  64. package/test/node_modules/@noble/curves/abstract/utils.js.map +1 -0
  65. package/test/node_modules/@noble/curves/abstract/weierstrass.d.ts +236 -0
  66. package/test/node_modules/@noble/curves/abstract/weierstrass.d.ts.map +1 -0
  67. package/test/node_modules/@noble/curves/abstract/weierstrass.js +1069 -0
  68. package/test/node_modules/@noble/curves/abstract/weierstrass.js.map +1 -0
  69. package/test/node_modules/@noble/curves/bls12-381.d.ts +67 -0
  70. package/test/node_modules/@noble/curves/bls12-381.d.ts.map +1 -0
  71. package/test/node_modules/@noble/curves/bls12-381.js +1232 -0
  72. package/test/node_modules/@noble/curves/bls12-381.js.map +1 -0
  73. package/test/node_modules/@noble/curves/bn254.d.ts +9 -0
  74. package/test/node_modules/@noble/curves/bn254.d.ts.map +1 -0
  75. package/test/node_modules/@noble/curves/bn254.js +26 -0
  76. package/test/node_modules/@noble/curves/bn254.js.map +1 -0
  77. package/test/node_modules/@noble/curves/ed25519.d.ts +78 -0
  78. package/test/node_modules/@noble/curves/ed25519.d.ts.map +1 -0
  79. package/test/node_modules/@noble/curves/ed25519.js +446 -0
  80. package/test/node_modules/@noble/curves/ed25519.js.map +1 -0
  81. package/test/node_modules/@noble/curves/ed448.d.ts +67 -0
  82. package/test/node_modules/@noble/curves/ed448.d.ts.map +1 -0
  83. package/test/node_modules/@noble/curves/ed448.js +406 -0
  84. package/test/node_modules/@noble/curves/ed448.js.map +1 -0
  85. package/test/node_modules/@noble/curves/esm/_shortw_utils.d.ts +62 -0
  86. package/test/node_modules/@noble/curves/esm/_shortw_utils.d.ts.map +1 -0
  87. package/test/node_modules/@noble/curves/esm/_shortw_utils.js +17 -0
  88. package/test/node_modules/@noble/curves/esm/_shortw_utils.js.map +1 -0
  89. package/test/node_modules/@noble/curves/esm/abstract/bls.d.ts +122 -0
  90. package/test/node_modules/@noble/curves/esm/abstract/bls.d.ts.map +1 -0
  91. package/test/node_modules/@noble/curves/esm/abstract/bls.js +285 -0
  92. package/test/node_modules/@noble/curves/esm/abstract/bls.js.map +1 -0
  93. package/test/node_modules/@noble/curves/esm/abstract/curve.d.ts +70 -0
  94. package/test/node_modules/@noble/curves/esm/abstract/curve.d.ts.map +1 -0
  95. package/test/node_modules/@noble/curves/esm/abstract/curve.js +156 -0
  96. package/test/node_modules/@noble/curves/esm/abstract/curve.js.map +1 -0
  97. package/test/node_modules/@noble/curves/esm/abstract/edwards.d.ts +89 -0
  98. package/test/node_modules/@noble/curves/esm/abstract/edwards.d.ts.map +1 -0
  99. package/test/node_modules/@noble/curves/esm/abstract/edwards.js +425 -0
  100. package/test/node_modules/@noble/curves/esm/abstract/edwards.js.map +1 -0
  101. package/test/node_modules/@noble/curves/esm/abstract/hash-to-curve.d.ts +58 -0
  102. package/test/node_modules/@noble/curves/esm/abstract/hash-to-curve.d.ts.map +1 -0
  103. package/test/node_modules/@noble/curves/esm/abstract/hash-to-curve.js +173 -0
  104. package/test/node_modules/@noble/curves/esm/abstract/hash-to-curve.js.map +1 -0
  105. package/test/node_modules/@noble/curves/esm/abstract/modular.d.ts +123 -0
  106. package/test/node_modules/@noble/curves/esm/abstract/modular.d.ts.map +1 -0
  107. package/test/node_modules/@noble/curves/esm/abstract/modular.js +416 -0
  108. package/test/node_modules/@noble/curves/esm/abstract/modular.js.map +1 -0
  109. package/test/node_modules/@noble/curves/esm/abstract/montgomery.d.ts +26 -0
  110. package/test/node_modules/@noble/curves/esm/abstract/montgomery.d.ts.map +1 -0
  111. package/test/node_modules/@noble/curves/esm/abstract/montgomery.js +155 -0
  112. package/test/node_modules/@noble/curves/esm/abstract/montgomery.js.map +1 -0
  113. package/test/node_modules/@noble/curves/esm/abstract/poseidon.d.ts +30 -0
  114. package/test/node_modules/@noble/curves/esm/abstract/poseidon.d.ts.map +1 -0
  115. package/test/node_modules/@noble/curves/esm/abstract/poseidon.js +108 -0
  116. package/test/node_modules/@noble/curves/esm/abstract/poseidon.js.map +1 -0
  117. package/test/node_modules/@noble/curves/esm/abstract/utils.d.ts +94 -0
  118. package/test/node_modules/@noble/curves/esm/abstract/utils.d.ts.map +1 -0
  119. package/test/node_modules/@noble/curves/esm/abstract/utils.js +289 -0
  120. package/test/node_modules/@noble/curves/esm/abstract/utils.js.map +1 -0
  121. package/test/node_modules/@noble/curves/esm/abstract/weierstrass.d.ts +236 -0
  122. package/test/node_modules/@noble/curves/esm/abstract/weierstrass.d.ts.map +1 -0
  123. package/test/node_modules/@noble/curves/esm/abstract/weierstrass.js +1062 -0
  124. package/test/node_modules/@noble/curves/esm/abstract/weierstrass.js.map +1 -0
  125. package/test/node_modules/@noble/curves/esm/bls12-381.d.ts +67 -0
  126. package/test/node_modules/@noble/curves/esm/bls12-381.d.ts.map +1 -0
  127. package/test/node_modules/@noble/curves/esm/bls12-381.js +1229 -0
  128. package/test/node_modules/@noble/curves/esm/bls12-381.js.map +1 -0
  129. package/test/node_modules/@noble/curves/esm/bn254.d.ts +9 -0
  130. package/test/node_modules/@noble/curves/esm/bn254.d.ts.map +1 -0
  131. package/test/node_modules/@noble/curves/esm/bn254.js +23 -0
  132. package/test/node_modules/@noble/curves/esm/bn254.js.map +1 -0
  133. package/test/node_modules/@noble/curves/esm/ed25519.d.ts +78 -0
  134. package/test/node_modules/@noble/curves/esm/ed25519.d.ts.map +1 -0
  135. package/test/node_modules/@noble/curves/esm/ed25519.js +440 -0
  136. package/test/node_modules/@noble/curves/esm/ed25519.js.map +1 -0
  137. package/test/node_modules/@noble/curves/esm/ed448.d.ts +67 -0
  138. package/test/node_modules/@noble/curves/esm/ed448.d.ts.map +1 -0
  139. package/test/node_modules/@noble/curves/esm/ed448.js +401 -0
  140. package/test/node_modules/@noble/curves/esm/ed448.js.map +1 -0
  141. package/test/node_modules/@noble/curves/esm/index.d.ts +2 -0
  142. package/test/node_modules/@noble/curves/esm/index.d.ts.map +1 -0
  143. package/test/node_modules/@noble/curves/esm/index.js +3 -0
  144. package/test/node_modules/@noble/curves/esm/index.js.map +1 -0
  145. package/test/node_modules/@noble/curves/esm/jubjub.d.ts +9 -0
  146. package/test/node_modules/@noble/curves/esm/jubjub.d.ts.map +1 -0
  147. package/test/node_modules/@noble/curves/esm/jubjub.js +54 -0
  148. package/test/node_modules/@noble/curves/esm/jubjub.js.map +1 -0
  149. package/test/node_modules/@noble/curves/esm/p256.d.ts +105 -0
  150. package/test/node_modules/@noble/curves/esm/p256.d.ts.map +1 -0
  151. package/test/node_modules/@noble/curves/esm/p256.js +42 -0
  152. package/test/node_modules/@noble/curves/esm/p256.js.map +1 -0
  153. package/test/node_modules/@noble/curves/esm/p384.d.ts +105 -0
  154. package/test/node_modules/@noble/curves/esm/p384.d.ts.map +1 -0
  155. package/test/node_modules/@noble/curves/esm/p384.js +46 -0
  156. package/test/node_modules/@noble/curves/esm/p384.js.map +1 -0
  157. package/test/node_modules/@noble/curves/esm/p521.d.ts +105 -0
  158. package/test/node_modules/@noble/curves/esm/p521.d.ts.map +1 -0
  159. package/test/node_modules/@noble/curves/esm/p521.js +53 -0
  160. package/test/node_modules/@noble/curves/esm/p521.js.map +1 -0
  161. package/test/node_modules/@noble/curves/esm/package.json +4 -0
  162. package/test/node_modules/@noble/curves/esm/pasta.d.ts +5 -0
  163. package/test/node_modules/@noble/curves/esm/pasta.d.ts.map +1 -0
  164. package/test/node_modules/@noble/curves/esm/pasta.js +30 -0
  165. package/test/node_modules/@noble/curves/esm/pasta.js.map +1 -0
  166. package/test/node_modules/@noble/curves/esm/secp256k1.d.ts +93 -0
  167. package/test/node_modules/@noble/curves/esm/secp256k1.d.ts.map +1 -0
  168. package/test/node_modules/@noble/curves/esm/secp256k1.js +254 -0
  169. package/test/node_modules/@noble/curves/esm/secp256k1.js.map +1 -0
  170. package/test/node_modules/@noble/curves/index.d.ts +1 -0
  171. package/test/node_modules/@noble/curves/index.d.ts.map +1 -0
  172. package/test/node_modules/@noble/curves/index.js +3 -0
  173. package/test/node_modules/@noble/curves/index.js.map +1 -0
  174. package/test/node_modules/@noble/curves/jubjub.d.ts +9 -0
  175. package/test/node_modules/@noble/curves/jubjub.d.ts.map +1 -0
  176. package/test/node_modules/@noble/curves/jubjub.js +59 -0
  177. package/test/node_modules/@noble/curves/jubjub.js.map +1 -0
  178. package/test/node_modules/@noble/curves/p256.d.ts +105 -0
  179. package/test/node_modules/@noble/curves/p256.d.ts.map +1 -0
  180. package/test/node_modules/@noble/curves/p256.js +45 -0
  181. package/test/node_modules/@noble/curves/p256.js.map +1 -0
  182. package/test/node_modules/@noble/curves/p384.d.ts +105 -0
  183. package/test/node_modules/@noble/curves/p384.d.ts.map +1 -0
  184. package/test/node_modules/@noble/curves/p384.js +49 -0
  185. package/test/node_modules/@noble/curves/p384.js.map +1 -0
  186. package/test/node_modules/@noble/curves/p521.d.ts +105 -0
  187. package/test/node_modules/@noble/curves/p521.d.ts.map +1 -0
  188. package/test/node_modules/@noble/curves/p521.js +56 -0
  189. package/test/node_modules/@noble/curves/p521.js.map +1 -0
  190. package/test/node_modules/@noble/curves/package.json +159 -0
  191. package/test/node_modules/@noble/curves/pasta.d.ts +5 -0
  192. package/test/node_modules/@noble/curves/pasta.d.ts.map +1 -0
  193. package/test/node_modules/@noble/curves/pasta.js +33 -0
  194. package/test/node_modules/@noble/curves/pasta.js.map +1 -0
  195. package/test/node_modules/@noble/curves/secp256k1.d.ts +93 -0
  196. package/test/node_modules/@noble/curves/secp256k1.d.ts.map +1 -0
  197. package/test/node_modules/@noble/curves/secp256k1.js +257 -0
  198. package/test/node_modules/@noble/curves/secp256k1.js.map +1 -0
  199. package/test/node_modules/@noble/curves/src/_shortw_utils.ts +20 -0
  200. package/test/node_modules/@noble/curves/src/abstract/bls.ts +502 -0
  201. package/test/node_modules/@noble/curves/src/abstract/curve.ts +203 -0
  202. package/test/node_modules/@noble/curves/src/abstract/edwards.ts +514 -0
  203. package/test/node_modules/@noble/curves/src/abstract/hash-to-curve.ts +231 -0
  204. package/test/node_modules/@noble/curves/src/abstract/modular.ts +484 -0
  205. package/test/node_modules/@noble/curves/src/abstract/montgomery.ts +187 -0
  206. package/test/node_modules/@noble/curves/src/abstract/poseidon.ts +118 -0
  207. package/test/node_modules/@noble/curves/src/abstract/utils.ts +319 -0
  208. package/test/node_modules/@noble/curves/src/abstract/weierstrass.ts +1237 -0
  209. package/test/node_modules/@noble/curves/src/bls12-381.ts +1410 -0
  210. package/test/node_modules/@noble/curves/src/bn254.ts +22 -0
  211. package/test/node_modules/@noble/curves/src/ed25519.ts +505 -0
  212. package/test/node_modules/@noble/curves/src/ed448.ts +480 -0
  213. package/test/node_modules/@noble/curves/src/index.ts +1 -0
  214. package/test/node_modules/@noble/curves/src/jubjub.ts +58 -0
  215. package/test/node_modules/@noble/curves/src/p256.ts +48 -0
  216. package/test/node_modules/@noble/curves/src/p384.ts +52 -0
  217. package/test/node_modules/@noble/curves/src/p521.ts +68 -0
  218. package/test/node_modules/@noble/curves/src/package.json +3 -0
  219. package/test/node_modules/@noble/curves/src/pasta.ts +31 -0
  220. package/test/node_modules/@noble/curves/src/secp256k1.ts +274 -0
  221. package/test/node_modules/@noble/hashes/LICENSE +21 -0
  222. package/test/node_modules/@noble/hashes/README.md +558 -0
  223. package/test/node_modules/@noble/hashes/_assert.d.ts +24 -0
  224. package/test/node_modules/@noble/hashes/_assert.js +51 -0
  225. package/test/node_modules/@noble/hashes/_assert.js.map +1 -0
  226. package/test/node_modules/@noble/hashes/_blake.d.ts +28 -0
  227. package/test/node_modules/@noble/hashes/_blake.js +124 -0
  228. package/test/node_modules/@noble/hashes/_blake.js.map +1 -0
  229. package/test/node_modules/@noble/hashes/_md.d.ts +30 -0
  230. package/test/node_modules/@noble/hashes/_md.js +128 -0
  231. package/test/node_modules/@noble/hashes/_md.js.map +1 -0
  232. package/test/node_modules/@noble/hashes/_u64.d.ts +55 -0
  233. package/test/node_modules/@noble/hashes/_u64.js +85 -0
  234. package/test/node_modules/@noble/hashes/_u64.js.map +1 -0
  235. package/test/node_modules/@noble/hashes/argon2.d.ts +17 -0
  236. package/test/node_modules/@noble/hashes/argon2.js +303 -0
  237. package/test/node_modules/@noble/hashes/argon2.js.map +1 -0
  238. package/test/node_modules/@noble/hashes/blake2b.d.ts +54 -0
  239. package/test/node_modules/@noble/hashes/blake2b.js +192 -0
  240. package/test/node_modules/@noble/hashes/blake2b.js.map +1 -0
  241. package/test/node_modules/@noble/hashes/blake2s.d.ts +48 -0
  242. package/test/node_modules/@noble/hashes/blake2s.js +123 -0
  243. package/test/node_modules/@noble/hashes/blake2s.js.map +1 -0
  244. package/test/node_modules/@noble/hashes/blake3.d.ts +47 -0
  245. package/test/node_modules/@noble/hashes/blake3.js +243 -0
  246. package/test/node_modules/@noble/hashes/blake3.js.map +1 -0
  247. package/test/node_modules/@noble/hashes/crypto.d.ts +2 -0
  248. package/test/node_modules/@noble/hashes/crypto.js +5 -0
  249. package/test/node_modules/@noble/hashes/crypto.js.map +1 -0
  250. package/test/node_modules/@noble/hashes/cryptoNode.d.ts +2 -0
  251. package/test/node_modules/@noble/hashes/cryptoNode.js +10 -0
  252. package/test/node_modules/@noble/hashes/cryptoNode.js.map +1 -0
  253. package/test/node_modules/@noble/hashes/eskdf.d.ts +47 -0
  254. package/test/node_modules/@noble/hashes/eskdf.js +162 -0
  255. package/test/node_modules/@noble/hashes/eskdf.js.map +1 -0
  256. package/test/node_modules/@noble/hashes/esm/_assert.js +42 -0
  257. package/test/node_modules/@noble/hashes/esm/_assert.js.map +1 -0
  258. package/test/node_modules/@noble/hashes/esm/_blake.js +120 -0
  259. package/test/node_modules/@noble/hashes/esm/_blake.js.map +1 -0
  260. package/test/node_modules/@noble/hashes/esm/_md.js +122 -0
  261. package/test/node_modules/@noble/hashes/esm/_md.js.map +1 -0
  262. package/test/node_modules/@noble/hashes/esm/_u64.js +62 -0
  263. package/test/node_modules/@noble/hashes/esm/_u64.js.map +1 -0
  264. package/test/node_modules/@noble/hashes/esm/argon2.js +297 -0
  265. package/test/node_modules/@noble/hashes/esm/argon2.js.map +1 -0
  266. package/test/node_modules/@noble/hashes/esm/blake2b.js +189 -0
  267. package/test/node_modules/@noble/hashes/esm/blake2b.js.map +1 -0
  268. package/test/node_modules/@noble/hashes/esm/blake2s.js +119 -0
  269. package/test/node_modules/@noble/hashes/esm/blake2s.js.map +1 -0
  270. package/test/node_modules/@noble/hashes/esm/blake3.js +240 -0
  271. package/test/node_modules/@noble/hashes/esm/blake3.js.map +1 -0
  272. package/test/node_modules/@noble/hashes/esm/crypto.js +2 -0
  273. package/test/node_modules/@noble/hashes/esm/crypto.js.map +1 -0
  274. package/test/node_modules/@noble/hashes/esm/cryptoNode.js +7 -0
  275. package/test/node_modules/@noble/hashes/esm/cryptoNode.js.map +1 -0
  276. package/test/node_modules/@noble/hashes/esm/eskdf.js +155 -0
  277. package/test/node_modules/@noble/hashes/esm/eskdf.js.map +1 -0
  278. package/test/node_modules/@noble/hashes/esm/hkdf.js +72 -0
  279. package/test/node_modules/@noble/hashes/esm/hkdf.js.map +1 -0
  280. package/test/node_modules/@noble/hashes/esm/hmac.js +77 -0
  281. package/test/node_modules/@noble/hashes/esm/hmac.js.map +1 -0
  282. package/test/node_modules/@noble/hashes/esm/index.js +3 -0
  283. package/test/node_modules/@noble/hashes/esm/index.js.map +1 -0
  284. package/test/node_modules/@noble/hashes/esm/package.json +10 -0
  285. package/test/node_modules/@noble/hashes/esm/pbkdf2.js +86 -0
  286. package/test/node_modules/@noble/hashes/esm/pbkdf2.js.map +1 -0
  287. package/test/node_modules/@noble/hashes/esm/ripemd160.js +102 -0
  288. package/test/node_modules/@noble/hashes/esm/ripemd160.js.map +1 -0
  289. package/test/node_modules/@noble/hashes/esm/scrypt.js +224 -0
  290. package/test/node_modules/@noble/hashes/esm/scrypt.js.map +1 -0
  291. package/test/node_modules/@noble/hashes/esm/sha1.js +80 -0
  292. package/test/node_modules/@noble/hashes/esm/sha1.js.map +1 -0
  293. package/test/node_modules/@noble/hashes/esm/sha2.js +4 -0
  294. package/test/node_modules/@noble/hashes/esm/sha2.js.map +1 -0
  295. package/test/node_modules/@noble/hashes/esm/sha256.js +123 -0
  296. package/test/node_modules/@noble/hashes/esm/sha256.js.map +1 -0
  297. package/test/node_modules/@noble/hashes/esm/sha3-addons.js +356 -0
  298. package/test/node_modules/@noble/hashes/esm/sha3-addons.js.map +1 -0
  299. package/test/node_modules/@noble/hashes/esm/sha3.js +214 -0
  300. package/test/node_modules/@noble/hashes/esm/sha3.js.map +1 -0
  301. package/test/node_modules/@noble/hashes/esm/sha512.js +231 -0
  302. package/test/node_modules/@noble/hashes/esm/sha512.js.map +1 -0
  303. package/test/node_modules/@noble/hashes/esm/utils.js +187 -0
  304. package/test/node_modules/@noble/hashes/esm/utils.js.map +1 -0
  305. package/test/node_modules/@noble/hashes/hkdf.d.ts +27 -0
  306. package/test/node_modules/@noble/hashes/hkdf.js +78 -0
  307. package/test/node_modules/@noble/hashes/hkdf.js.map +1 -0
  308. package/test/node_modules/@noble/hashes/hmac.d.ts +26 -0
  309. package/test/node_modules/@noble/hashes/hmac.js +82 -0
  310. package/test/node_modules/@noble/hashes/hmac.js.map +1 -0
  311. package/test/node_modules/@noble/hashes/index.d.ts +1 -0
  312. package/test/node_modules/@noble/hashes/index.js +3 -0
  313. package/test/node_modules/@noble/hashes/index.js.map +1 -0
  314. package/test/node_modules/@noble/hashes/package.json +179 -0
  315. package/test/node_modules/@noble/hashes/pbkdf2.d.ts +16 -0
  316. package/test/node_modules/@noble/hashes/pbkdf2.js +91 -0
  317. package/test/node_modules/@noble/hashes/pbkdf2.js.map +1 -0
  318. package/test/node_modules/@noble/hashes/ripemd160.d.ts +25 -0
  319. package/test/node_modules/@noble/hashes/ripemd160.js +106 -0
  320. package/test/node_modules/@noble/hashes/ripemd160.js.map +1 -0
  321. package/test/node_modules/@noble/hashes/scrypt.d.ts +30 -0
  322. package/test/node_modules/@noble/hashes/scrypt.js +229 -0
  323. package/test/node_modules/@noble/hashes/scrypt.js.map +1 -0
  324. package/test/node_modules/@noble/hashes/sha1.d.ts +22 -0
  325. package/test/node_modules/@noble/hashes/sha1.js +83 -0
  326. package/test/node_modules/@noble/hashes/sha1.js.map +1 -0
  327. package/test/node_modules/@noble/hashes/sha2.d.ts +3 -0
  328. package/test/node_modules/@noble/hashes/sha2.js +13 -0
  329. package/test/node_modules/@noble/hashes/sha2.js.map +1 -0
  330. package/test/node_modules/@noble/hashes/sha256.d.ts +35 -0
  331. package/test/node_modules/@noble/hashes/sha256.js +126 -0
  332. package/test/node_modules/@noble/hashes/sha256.js.map +1 -0
  333. package/test/node_modules/@noble/hashes/sha3-addons.d.ts +154 -0
  334. package/test/node_modules/@noble/hashes/sha3-addons.js +360 -0
  335. package/test/node_modules/@noble/hashes/sha3-addons.js.map +1 -0
  336. package/test/node_modules/@noble/hashes/sha3.d.ts +98 -0
  337. package/test/node_modules/@noble/hashes/sha3.js +219 -0
  338. package/test/node_modules/@noble/hashes/sha3.js.map +1 -0
  339. package/test/node_modules/@noble/hashes/sha512.d.ts +67 -0
  340. package/test/node_modules/@noble/hashes/sha512.js +235 -0
  341. package/test/node_modules/@noble/hashes/sha512.js.map +1 -0
  342. package/test/node_modules/@noble/hashes/src/_assert.ts +51 -0
  343. package/test/node_modules/@noble/hashes/src/_blake.ts +134 -0
  344. package/test/node_modules/@noble/hashes/src/_md.ts +127 -0
  345. package/test/node_modules/@noble/hashes/src/_u64.ts +77 -0
  346. package/test/node_modules/@noble/hashes/src/argon2.ts +374 -0
  347. package/test/node_modules/@noble/hashes/src/blake2b.ts +205 -0
  348. package/test/node_modules/@noble/hashes/src/blake2s.ts +138 -0
  349. package/test/node_modules/@noble/hashes/src/blake3.ts +268 -0
  350. package/test/node_modules/@noble/hashes/src/crypto.ts +5 -0
  351. package/test/node_modules/@noble/hashes/src/cryptoNode.ts +7 -0
  352. package/test/node_modules/@noble/hashes/src/eskdf.ts +183 -0
  353. package/test/node_modules/@noble/hashes/src/hkdf.ts +79 -0
  354. package/test/node_modules/@noble/hashes/src/hmac.ts +81 -0
  355. package/test/node_modules/@noble/hashes/src/index.ts +1 -0
  356. package/test/node_modules/@noble/hashes/src/pbkdf2.ts +97 -0
  357. package/test/node_modules/@noble/hashes/src/ripemd160.ts +108 -0
  358. package/test/node_modules/@noble/hashes/src/scrypt.ts +241 -0
  359. package/test/node_modules/@noble/hashes/src/sha1.ts +80 -0
  360. package/test/node_modules/@noble/hashes/src/sha2.ts +3 -0
  361. package/test/node_modules/@noble/hashes/src/sha256.ts +129 -0
  362. package/test/node_modules/@noble/hashes/src/sha3-addons.ts +423 -0
  363. package/test/node_modules/@noble/hashes/src/sha3.ts +229 -0
  364. package/test/node_modules/@noble/hashes/src/sha512.ts +246 -0
  365. package/test/node_modules/@noble/hashes/src/utils.ts +256 -0
  366. package/test/node_modules/@noble/hashes/utils.d.ts +96 -0
  367. package/test/node_modules/@noble/hashes/utils.js +211 -0
  368. package/test/node_modules/@noble/hashes/utils.js.map +1 -0
  369. package/test/node_modules/@pkgjs/parseargs/.editorconfig +14 -0
  370. package/test/node_modules/@pkgjs/parseargs/CHANGELOG.md +147 -0
  371. package/test/node_modules/@pkgjs/parseargs/LICENSE +201 -0
  372. package/test/node_modules/@pkgjs/parseargs/README.md +413 -0
  373. package/test/node_modules/@pkgjs/parseargs/examples/is-default-value.js +25 -0
  374. package/test/node_modules/@pkgjs/parseargs/examples/limit-long-syntax.js +35 -0
  375. package/test/node_modules/@pkgjs/parseargs/examples/negate.js +43 -0
  376. package/test/node_modules/@pkgjs/parseargs/examples/no-repeated-options.js +31 -0
  377. package/test/node_modules/@pkgjs/parseargs/examples/ordered-options.mjs +41 -0
  378. package/test/node_modules/@pkgjs/parseargs/examples/simple-hard-coded.js +26 -0
  379. package/test/node_modules/@pkgjs/parseargs/index.js +396 -0
  380. package/test/node_modules/@pkgjs/parseargs/internal/errors.js +47 -0
  381. package/test/node_modules/@pkgjs/parseargs/internal/primordials.js +393 -0
  382. package/test/node_modules/@pkgjs/parseargs/internal/util.js +14 -0
  383. package/test/node_modules/@pkgjs/parseargs/internal/validators.js +89 -0
  384. package/test/node_modules/@pkgjs/parseargs/package.json +36 -0
  385. package/test/node_modules/@pkgjs/parseargs/utils.js +198 -0
  386. package/test/node_modules/@scure/base/LICENSE +21 -0
  387. package/test/node_modules/@scure/base/README.md +214 -0
  388. package/test/node_modules/@scure/base/index.ts +616 -0
  389. package/test/node_modules/@scure/base/lib/esm/index.d.ts +132 -0
  390. package/test/node_modules/@scure/base/lib/esm/index.d.ts.map +1 -0
  391. package/test/node_modules/@scure/base/lib/esm/index.js +489 -0
  392. package/test/node_modules/@scure/base/lib/esm/index.js.map +1 -0
  393. package/test/node_modules/@scure/base/lib/esm/package.json +1 -0
  394. package/test/node_modules/@scure/base/lib/index.d.ts +132 -0
  395. package/test/node_modules/@scure/base/lib/index.d.ts.map +1 -0
  396. package/test/node_modules/@scure/base/lib/index.js +496 -0
  397. package/test/node_modules/@scure/base/lib/index.js.map +1 -0
  398. package/test/node_modules/@scure/base/package.json +64 -0
  399. package/test/node_modules/@scure/bip32/LICENSE +21 -0
  400. package/test/node_modules/@scure/bip32/README.md +113 -0
  401. package/test/node_modules/@scure/bip32/index.ts +308 -0
  402. package/test/node_modules/@scure/bip32/lib/esm/index.js +269 -0
  403. package/test/node_modules/@scure/bip32/lib/esm/index.js.map +1 -0
  404. package/test/node_modules/@scure/bip32/lib/esm/package.json +4 -0
  405. package/test/node_modules/@scure/bip32/lib/index.d.ts +50 -0
  406. package/test/node_modules/@scure/bip32/lib/index.js +273 -0
  407. package/test/node_modules/@scure/bip32/lib/index.js.map +1 -0
  408. package/test/node_modules/@scure/bip32/package.json +75 -0
  409. package/test/node_modules/@scure/bip39/LICENSE +21 -0
  410. package/test/node_modules/@scure/bip39/README.md +101 -0
  411. package/test/node_modules/@scure/bip39/esm/index.js +134 -0
  412. package/test/node_modules/@scure/bip39/esm/package.json +3 -0
  413. package/test/node_modules/@scure/bip39/esm/wordlists/czech.js +2048 -0
  414. package/test/node_modules/@scure/bip39/esm/wordlists/english.js +2048 -0
  415. package/test/node_modules/@scure/bip39/esm/wordlists/french.js +2048 -0
  416. package/test/node_modules/@scure/bip39/esm/wordlists/italian.js +2048 -0
  417. package/test/node_modules/@scure/bip39/esm/wordlists/japanese.js +2048 -0
  418. package/test/node_modules/@scure/bip39/esm/wordlists/korean.js +2048 -0
  419. package/test/node_modules/@scure/bip39/esm/wordlists/portuguese.js +2048 -0
  420. package/test/node_modules/@scure/bip39/esm/wordlists/simplified-chinese.js +2048 -0
  421. package/test/node_modules/@scure/bip39/esm/wordlists/spanish.js +2048 -0
  422. package/test/node_modules/@scure/bip39/esm/wordlists/traditional-chinese.js +2048 -0
  423. package/test/node_modules/@scure/bip39/index.d.ts +64 -0
  424. package/test/node_modules/@scure/bip39/index.js +143 -0
  425. package/test/node_modules/@scure/bip39/package.json +123 -0
  426. package/test/node_modules/@scure/bip39/src/index.ts +146 -0
  427. package/test/node_modules/@scure/bip39/wordlists/czech.d.ts +2 -0
  428. package/test/node_modules/@scure/bip39/wordlists/czech.js +2051 -0
  429. package/test/node_modules/@scure/bip39/wordlists/english.d.ts +2 -0
  430. package/test/node_modules/@scure/bip39/wordlists/english.js +2051 -0
  431. package/test/node_modules/@scure/bip39/wordlists/french.d.ts +2 -0
  432. package/test/node_modules/@scure/bip39/wordlists/french.js +2051 -0
  433. package/test/node_modules/@scure/bip39/wordlists/italian.d.ts +2 -0
  434. package/test/node_modules/@scure/bip39/wordlists/italian.js +2051 -0
  435. package/test/node_modules/@scure/bip39/wordlists/japanese.d.ts +2 -0
  436. package/test/node_modules/@scure/bip39/wordlists/japanese.js +2051 -0
  437. package/test/node_modules/@scure/bip39/wordlists/korean.d.ts +2 -0
  438. package/test/node_modules/@scure/bip39/wordlists/korean.js +2051 -0
  439. package/test/node_modules/@scure/bip39/wordlists/portuguese.d.ts +2 -0
  440. package/test/node_modules/@scure/bip39/wordlists/portuguese.js +2051 -0
  441. package/test/node_modules/@scure/bip39/wordlists/simplified-chinese.d.ts +2 -0
  442. package/test/node_modules/@scure/bip39/wordlists/simplified-chinese.js +2051 -0
  443. package/test/node_modules/@scure/bip39/wordlists/spanish.d.ts +2 -0
  444. package/test/node_modules/@scure/bip39/wordlists/spanish.js +2051 -0
  445. package/test/node_modules/@scure/bip39/wordlists/traditional-chinese.d.ts +2 -0
  446. package/test/node_modules/@scure/bip39/wordlists/traditional-chinese.js +2051 -0
  447. package/test/node_modules/ansi-colors/LICENSE +21 -0
  448. package/test/node_modules/ansi-colors/README.md +315 -0
  449. package/test/node_modules/ansi-colors/index.js +184 -0
  450. package/test/node_modules/ansi-colors/package.json +129 -0
  451. package/test/node_modules/ansi-colors/symbols.js +69 -0
  452. package/test/node_modules/ansi-colors/types/index.d.ts +235 -0
  453. package/test/node_modules/ansi-regex/index.d.ts +33 -0
  454. package/test/node_modules/ansi-regex/index.js +10 -0
  455. package/test/node_modules/ansi-regex/license +9 -0
  456. package/test/node_modules/ansi-regex/package.json +61 -0
  457. package/test/node_modules/ansi-regex/readme.md +60 -0
  458. package/test/node_modules/ansi-styles/index.d.ts +345 -0
  459. package/test/node_modules/ansi-styles/index.js +163 -0
  460. package/test/node_modules/ansi-styles/license +9 -0
  461. package/test/node_modules/ansi-styles/package.json +56 -0
  462. package/test/node_modules/ansi-styles/readme.md +152 -0
  463. package/test/node_modules/anymatch/LICENSE +15 -0
  464. package/test/node_modules/anymatch/README.md +87 -0
  465. package/test/node_modules/anymatch/index.d.ts +20 -0
  466. package/test/node_modules/anymatch/index.js +104 -0
  467. package/test/node_modules/anymatch/package.json +48 -0
  468. package/test/node_modules/argparse/CHANGELOG.md +216 -0
  469. package/test/node_modules/argparse/LICENSE +254 -0
  470. package/test/node_modules/argparse/README.md +84 -0
  471. package/test/node_modules/argparse/argparse.js +3707 -0
  472. package/test/node_modules/argparse/lib/sub.js +67 -0
  473. package/test/node_modules/argparse/lib/textwrap.js +440 -0
  474. package/test/node_modules/argparse/package.json +31 -0
  475. package/test/node_modules/asap/CHANGES.md +70 -0
  476. package/test/node_modules/asap/LICENSE.md +21 -0
  477. package/test/node_modules/asap/README.md +237 -0
  478. package/test/node_modules/asap/asap.js +65 -0
  479. package/test/node_modules/asap/browser-asap.js +66 -0
  480. package/test/node_modules/asap/browser-raw.js +223 -0
  481. package/test/node_modules/asap/package.json +58 -0
  482. package/test/node_modules/asap/raw.js +101 -0
  483. package/test/node_modules/assertion-error/LICENSE +21 -0
  484. package/test/node_modules/assertion-error/README.md +68 -0
  485. package/test/node_modules/assertion-error/index.d.ts +27 -0
  486. package/test/node_modules/assertion-error/index.js +60 -0
  487. package/test/node_modules/assertion-error/package.json +32 -0
  488. package/test/node_modules/asynckit/LICENSE +21 -0
  489. package/test/node_modules/asynckit/README.md +233 -0
  490. package/test/node_modules/asynckit/bench.js +76 -0
  491. package/test/node_modules/asynckit/index.js +6 -0
  492. package/test/node_modules/asynckit/lib/abort.js +29 -0
  493. package/test/node_modules/asynckit/lib/async.js +34 -0
  494. package/test/node_modules/asynckit/lib/defer.js +26 -0
  495. package/test/node_modules/asynckit/lib/iterate.js +75 -0
  496. package/test/node_modules/asynckit/lib/readable_asynckit.js +91 -0
  497. package/test/node_modules/asynckit/lib/readable_parallel.js +25 -0
  498. package/test/node_modules/asynckit/lib/readable_serial.js +25 -0
  499. package/test/node_modules/asynckit/lib/readable_serial_ordered.js +29 -0
  500. package/test/node_modules/asynckit/lib/state.js +37 -0
  501. package/test/node_modules/asynckit/lib/streamify.js +141 -0
  502. package/test/node_modules/asynckit/lib/terminator.js +29 -0
  503. package/test/node_modules/asynckit/package.json +63 -0
  504. package/test/node_modules/asynckit/parallel.js +43 -0
  505. package/test/node_modules/asynckit/serial.js +17 -0
  506. package/test/node_modules/asynckit/serialOrdered.js +75 -0
  507. package/test/node_modules/asynckit/stream.js +21 -0
  508. package/test/node_modules/balanced-match/.github/FUNDING.yml +2 -0
  509. package/test/node_modules/balanced-match/LICENSE.md +21 -0
  510. package/test/node_modules/balanced-match/README.md +97 -0
  511. package/test/node_modules/balanced-match/index.js +62 -0
  512. package/test/node_modules/balanced-match/package.json +48 -0
  513. package/test/node_modules/bdo-js/README.md +35 -0
  514. package/test/node_modules/bdo-js/bdo.cjs +165 -0
  515. package/test/node_modules/bdo-js/bdo.js +171 -0
  516. package/test/node_modules/bdo-js/package.json +24 -0
  517. package/test/node_modules/binary-extensions/binary-extensions.json +263 -0
  518. package/test/node_modules/binary-extensions/binary-extensions.json.d.ts +3 -0
  519. package/test/node_modules/binary-extensions/index.d.ts +14 -0
  520. package/test/node_modules/binary-extensions/index.js +1 -0
  521. package/test/node_modules/binary-extensions/license +10 -0
  522. package/test/node_modules/binary-extensions/package.json +40 -0
  523. package/test/node_modules/binary-extensions/readme.md +25 -0
  524. package/test/node_modules/brace-expansion/.github/FUNDING.yml +2 -0
  525. package/test/node_modules/brace-expansion/LICENSE +21 -0
  526. package/test/node_modules/brace-expansion/README.md +135 -0
  527. package/test/node_modules/brace-expansion/index.js +203 -0
  528. package/test/node_modules/brace-expansion/package.json +46 -0
  529. package/test/node_modules/braces/LICENSE +21 -0
  530. package/test/node_modules/braces/README.md +586 -0
  531. package/test/node_modules/braces/index.js +170 -0
  532. package/test/node_modules/braces/lib/compile.js +60 -0
  533. package/test/node_modules/braces/lib/constants.js +57 -0
  534. package/test/node_modules/braces/lib/expand.js +113 -0
  535. package/test/node_modules/braces/lib/parse.js +331 -0
  536. package/test/node_modules/braces/lib/stringify.js +32 -0
  537. package/test/node_modules/braces/lib/utils.js +122 -0
  538. package/test/node_modules/braces/package.json +77 -0
  539. package/test/node_modules/browser-stdout/LICENSE +5 -0
  540. package/test/node_modules/browser-stdout/README.md +40 -0
  541. package/test/node_modules/browser-stdout/index.js +25 -0
  542. package/test/node_modules/browser-stdout/package.json +15 -0
  543. package/test/node_modules/call-bind-apply-helpers/.eslintrc +17 -0
  544. package/test/node_modules/call-bind-apply-helpers/.github/FUNDING.yml +12 -0
  545. package/test/node_modules/call-bind-apply-helpers/.nycrc +9 -0
  546. package/test/node_modules/call-bind-apply-helpers/CHANGELOG.md +30 -0
  547. package/test/node_modules/call-bind-apply-helpers/LICENSE +21 -0
  548. package/test/node_modules/call-bind-apply-helpers/README.md +62 -0
  549. package/test/node_modules/call-bind-apply-helpers/actualApply.d.ts +1 -0
  550. package/test/node_modules/call-bind-apply-helpers/actualApply.js +10 -0
  551. package/test/node_modules/call-bind-apply-helpers/applyBind.d.ts +19 -0
  552. package/test/node_modules/call-bind-apply-helpers/applyBind.js +10 -0
  553. package/test/node_modules/call-bind-apply-helpers/functionApply.d.ts +1 -0
  554. package/test/node_modules/call-bind-apply-helpers/functionApply.js +4 -0
  555. package/test/node_modules/call-bind-apply-helpers/functionCall.d.ts +1 -0
  556. package/test/node_modules/call-bind-apply-helpers/functionCall.js +4 -0
  557. package/test/node_modules/call-bind-apply-helpers/index.d.ts +64 -0
  558. package/test/node_modules/call-bind-apply-helpers/index.js +15 -0
  559. package/test/node_modules/call-bind-apply-helpers/package.json +85 -0
  560. package/test/node_modules/call-bind-apply-helpers/reflectApply.d.ts +3 -0
  561. package/test/node_modules/call-bind-apply-helpers/reflectApply.js +4 -0
  562. package/test/node_modules/call-bind-apply-helpers/test/index.js +63 -0
  563. package/test/node_modules/call-bind-apply-helpers/tsconfig.json +9 -0
  564. package/test/node_modules/call-bound/.eslintrc +13 -0
  565. package/test/node_modules/call-bound/.github/FUNDING.yml +12 -0
  566. package/test/node_modules/call-bound/.nycrc +9 -0
  567. package/test/node_modules/call-bound/CHANGELOG.md +42 -0
  568. package/test/node_modules/call-bound/LICENSE +21 -0
  569. package/test/node_modules/call-bound/README.md +53 -0
  570. package/test/node_modules/call-bound/index.d.ts +94 -0
  571. package/test/node_modules/call-bound/index.js +19 -0
  572. package/test/node_modules/call-bound/package.json +99 -0
  573. package/test/node_modules/call-bound/test/index.js +61 -0
  574. package/test/node_modules/call-bound/tsconfig.json +10 -0
  575. package/test/node_modules/camelcase/index.d.ts +103 -0
  576. package/test/node_modules/camelcase/index.js +113 -0
  577. package/test/node_modules/camelcase/license +9 -0
  578. package/test/node_modules/camelcase/package.json +44 -0
  579. package/test/node_modules/camelcase/readme.md +144 -0
  580. package/test/node_modules/chai/.prettierrc.json +10 -0
  581. package/test/node_modules/chai/CODEOWNERS +1 -0
  582. package/test/node_modules/chai/CODE_OF_CONDUCT.md +58 -0
  583. package/test/node_modules/chai/CONTRIBUTING.md +218 -0
  584. package/test/node_modules/chai/History.md +1059 -0
  585. package/test/node_modules/chai/LICENSE +21 -0
  586. package/test/node_modules/chai/README.md +154 -0
  587. package/test/node_modules/chai/ReleaseNotes.md +737 -0
  588. package/test/node_modules/chai/chai.js +4351 -0
  589. package/test/node_modules/chai/eslint.config.js +26 -0
  590. package/test/node_modules/chai/index.js +1 -0
  591. package/test/node_modules/chai/lib/chai/assertion.js +180 -0
  592. package/test/node_modules/chai/lib/chai/config.js +112 -0
  593. package/test/node_modules/chai/lib/chai/core/assertions.js +4157 -0
  594. package/test/node_modules/chai/lib/chai/interface/assert.js +3228 -0
  595. package/test/node_modules/chai/lib/chai/interface/expect.js +59 -0
  596. package/test/node_modules/chai/lib/chai/interface/should.js +227 -0
  597. package/test/node_modules/chai/lib/chai/utils/addChainableMethod.js +146 -0
  598. package/test/node_modules/chai/lib/chai/utils/addLengthGuard.js +73 -0
  599. package/test/node_modules/chai/lib/chai/utils/addMethod.js +66 -0
  600. package/test/node_modules/chai/lib/chai/utils/addProperty.js +70 -0
  601. package/test/node_modules/chai/lib/chai/utils/compareByInspect.js +26 -0
  602. package/test/node_modules/chai/lib/chai/utils/expectTypes.js +58 -0
  603. package/test/node_modules/chai/lib/chai/utils/flag.js +33 -0
  604. package/test/node_modules/chai/lib/chai/utils/getActual.js +20 -0
  605. package/test/node_modules/chai/lib/chai/utils/getMessage.js +52 -0
  606. package/test/node_modules/chai/lib/chai/utils/getOperator.js +58 -0
  607. package/test/node_modules/chai/lib/chai/utils/getOwnEnumerableProperties.js +24 -0
  608. package/test/node_modules/chai/lib/chai/utils/getOwnEnumerablePropertySymbols.js +26 -0
  609. package/test/node_modules/chai/lib/chai/utils/getProperties.js +38 -0
  610. package/test/node_modules/chai/lib/chai/utils/index.js +118 -0
  611. package/test/node_modules/chai/lib/chai/utils/inspect.js +31 -0
  612. package/test/node_modules/chai/lib/chai/utils/isNaN.js +7 -0
  613. package/test/node_modules/chai/lib/chai/utils/isProxyEnabled.js +26 -0
  614. package/test/node_modules/chai/lib/chai/utils/objDisplay.js +47 -0
  615. package/test/node_modules/chai/lib/chai/utils/overwriteChainableMethod.js +69 -0
  616. package/test/node_modules/chai/lib/chai/utils/overwriteMethod.js +90 -0
  617. package/test/node_modules/chai/lib/chai/utils/overwriteProperty.js +89 -0
  618. package/test/node_modules/chai/lib/chai/utils/proxify.js +157 -0
  619. package/test/node_modules/chai/lib/chai/utils/test.js +24 -0
  620. package/test/node_modules/chai/lib/chai/utils/transferFlags.js +48 -0
  621. package/test/node_modules/chai/lib/chai/utils/type-detect.js +20 -0
  622. package/test/node_modules/chai/lib/chai.js +66 -0
  623. package/test/node_modules/chai/package.json +67 -0
  624. package/test/node_modules/chai/register-assert.js +3 -0
  625. package/test/node_modules/chai/register-expect.js +3 -0
  626. package/test/node_modules/chai/register-should.js +3 -0
  627. package/test/node_modules/chai/web-test-runner.config.js +20 -0
  628. package/test/node_modules/chalk/index.d.ts +415 -0
  629. package/test/node_modules/chalk/license +9 -0
  630. package/test/node_modules/chalk/node_modules/supports-color/browser.js +5 -0
  631. package/test/node_modules/chalk/node_modules/supports-color/index.js +135 -0
  632. package/test/node_modules/chalk/node_modules/supports-color/license +9 -0
  633. package/test/node_modules/chalk/node_modules/supports-color/package.json +53 -0
  634. package/test/node_modules/chalk/node_modules/supports-color/readme.md +76 -0
  635. package/test/node_modules/chalk/package.json +68 -0
  636. package/test/node_modules/chalk/readme.md +341 -0
  637. package/test/node_modules/chalk/source/index.js +229 -0
  638. package/test/node_modules/chalk/source/templates.js +134 -0
  639. package/test/node_modules/chalk/source/util.js +39 -0
  640. package/test/node_modules/check-error/LICENSE +19 -0
  641. package/test/node_modules/check-error/README.md +144 -0
  642. package/test/node_modules/check-error/index.js +135 -0
  643. package/test/node_modules/check-error/package.json +66 -0
  644. package/test/node_modules/chokidar/LICENSE +21 -0
  645. package/test/node_modules/chokidar/README.md +308 -0
  646. package/test/node_modules/chokidar/index.js +973 -0
  647. package/test/node_modules/chokidar/lib/constants.js +66 -0
  648. package/test/node_modules/chokidar/lib/fsevents-handler.js +526 -0
  649. package/test/node_modules/chokidar/lib/nodefs-handler.js +654 -0
  650. package/test/node_modules/chokidar/package.json +70 -0
  651. package/test/node_modules/chokidar/types/index.d.ts +192 -0
  652. package/test/node_modules/cliui/CHANGELOG.md +139 -0
  653. package/test/node_modules/cliui/LICENSE.txt +14 -0
  654. package/test/node_modules/cliui/README.md +141 -0
  655. package/test/node_modules/cliui/build/index.cjs +302 -0
  656. package/test/node_modules/cliui/build/index.d.cts +43 -0
  657. package/test/node_modules/cliui/build/lib/index.js +287 -0
  658. package/test/node_modules/cliui/build/lib/string-utils.js +27 -0
  659. package/test/node_modules/cliui/index.mjs +13 -0
  660. package/test/node_modules/cliui/node_modules/ansi-regex/index.d.ts +37 -0
  661. package/test/node_modules/cliui/node_modules/ansi-regex/index.js +10 -0
  662. package/test/node_modules/cliui/node_modules/ansi-regex/license +9 -0
  663. package/test/node_modules/cliui/node_modules/ansi-regex/package.json +55 -0
  664. package/test/node_modules/cliui/node_modules/ansi-regex/readme.md +78 -0
  665. package/test/node_modules/cliui/node_modules/emoji-regex/LICENSE-MIT.txt +20 -0
  666. package/test/node_modules/cliui/node_modules/emoji-regex/README.md +73 -0
  667. package/test/node_modules/cliui/node_modules/emoji-regex/es2015/index.js +6 -0
  668. package/test/node_modules/cliui/node_modules/emoji-regex/es2015/text.js +6 -0
  669. package/test/node_modules/cliui/node_modules/emoji-regex/index.d.ts +23 -0
  670. package/test/node_modules/cliui/node_modules/emoji-regex/index.js +6 -0
  671. package/test/node_modules/cliui/node_modules/emoji-regex/package.json +50 -0
  672. package/test/node_modules/cliui/node_modules/emoji-regex/text.js +6 -0
  673. package/test/node_modules/cliui/node_modules/string-width/index.d.ts +29 -0
  674. package/test/node_modules/cliui/node_modules/string-width/index.js +47 -0
  675. package/test/node_modules/cliui/node_modules/string-width/license +9 -0
  676. package/test/node_modules/cliui/node_modules/string-width/package.json +56 -0
  677. package/test/node_modules/cliui/node_modules/string-width/readme.md +50 -0
  678. package/test/node_modules/cliui/node_modules/strip-ansi/index.d.ts +17 -0
  679. package/test/node_modules/cliui/node_modules/strip-ansi/index.js +4 -0
  680. package/test/node_modules/cliui/node_modules/strip-ansi/license +9 -0
  681. package/test/node_modules/cliui/node_modules/strip-ansi/package.json +54 -0
  682. package/test/node_modules/cliui/node_modules/strip-ansi/readme.md +46 -0
  683. package/test/node_modules/cliui/node_modules/wrap-ansi/index.js +216 -0
  684. package/test/node_modules/cliui/node_modules/wrap-ansi/license +9 -0
  685. package/test/node_modules/cliui/node_modules/wrap-ansi/package.json +62 -0
  686. package/test/node_modules/cliui/node_modules/wrap-ansi/readme.md +91 -0
  687. package/test/node_modules/cliui/package.json +83 -0
  688. package/test/node_modules/color-convert/CHANGELOG.md +54 -0
  689. package/test/node_modules/color-convert/LICENSE +21 -0
  690. package/test/node_modules/color-convert/README.md +68 -0
  691. package/test/node_modules/color-convert/conversions.js +839 -0
  692. package/test/node_modules/color-convert/index.js +81 -0
  693. package/test/node_modules/color-convert/package.json +48 -0
  694. package/test/node_modules/color-convert/route.js +97 -0
  695. package/test/node_modules/color-name/LICENSE +8 -0
  696. package/test/node_modules/color-name/README.md +11 -0
  697. package/test/node_modules/color-name/index.js +152 -0
  698. package/test/node_modules/color-name/package.json +28 -0
  699. package/test/node_modules/combined-stream/License +19 -0
  700. package/test/node_modules/combined-stream/Readme.md +138 -0
  701. package/test/node_modules/combined-stream/lib/combined_stream.js +208 -0
  702. package/test/node_modules/combined-stream/package.json +25 -0
  703. package/test/node_modules/combined-stream/yarn.lock +17 -0
  704. package/test/node_modules/component-emitter/LICENSE +24 -0
  705. package/test/node_modules/component-emitter/Readme.md +74 -0
  706. package/test/node_modules/component-emitter/index.js +175 -0
  707. package/test/node_modules/component-emitter/package.json +28 -0
  708. package/test/node_modules/cookiejar/LICENSE +9 -0
  709. package/test/node_modules/cookiejar/cookiejar.js +281 -0
  710. package/test/node_modules/cookiejar/package.json +26 -0
  711. package/test/node_modules/cookiejar/readme.md +60 -0
  712. package/test/node_modules/cross-spawn/LICENSE +21 -0
  713. package/test/node_modules/cross-spawn/README.md +89 -0
  714. package/test/node_modules/cross-spawn/index.js +39 -0
  715. package/test/node_modules/cross-spawn/lib/enoent.js +59 -0
  716. package/test/node_modules/cross-spawn/lib/parse.js +91 -0
  717. package/test/node_modules/cross-spawn/lib/util/escape.js +47 -0
  718. package/test/node_modules/cross-spawn/lib/util/readShebang.js +23 -0
  719. package/test/node_modules/cross-spawn/lib/util/resolveCommand.js +52 -0
  720. package/test/node_modules/cross-spawn/package.json +73 -0
  721. package/test/node_modules/data-uri-to-buffer/README.md +88 -0
  722. package/test/node_modules/data-uri-to-buffer/dist/index.d.ts +15 -0
  723. package/test/node_modules/data-uri-to-buffer/dist/index.js +53 -0
  724. package/test/node_modules/data-uri-to-buffer/dist/index.js.map +1 -0
  725. package/test/node_modules/data-uri-to-buffer/package.json +62 -0
  726. package/test/node_modules/data-uri-to-buffer/src/index.ts +68 -0
  727. package/test/node_modules/debug/LICENSE +20 -0
  728. package/test/node_modules/debug/README.md +481 -0
  729. package/test/node_modules/debug/package.json +65 -0
  730. package/test/node_modules/debug/src/browser.js +272 -0
  731. package/test/node_modules/debug/src/common.js +292 -0
  732. package/test/node_modules/debug/src/index.js +10 -0
  733. package/test/node_modules/debug/src/node.js +263 -0
  734. package/test/node_modules/decamelize/index.d.ts +20 -0
  735. package/test/node_modules/decamelize/index.js +12 -0
  736. package/test/node_modules/decamelize/license +9 -0
  737. package/test/node_modules/decamelize/package.json +40 -0
  738. package/test/node_modules/decamelize/readme.md +51 -0
  739. package/test/node_modules/deep-eql/LICENSE +19 -0
  740. package/test/node_modules/deep-eql/README.md +93 -0
  741. package/test/node_modules/deep-eql/index.js +513 -0
  742. package/test/node_modules/deep-eql/package.json +73 -0
  743. package/test/node_modules/delayed-stream/License +19 -0
  744. package/test/node_modules/delayed-stream/Makefile +7 -0
  745. package/test/node_modules/delayed-stream/Readme.md +141 -0
  746. package/test/node_modules/delayed-stream/lib/delayed_stream.js +107 -0
  747. package/test/node_modules/delayed-stream/package.json +27 -0
  748. package/test/node_modules/dezalgo/LICENSE +15 -0
  749. package/test/node_modules/dezalgo/README.md +29 -0
  750. package/test/node_modules/dezalgo/dezalgo.js +22 -0
  751. package/test/node_modules/dezalgo/package.json +46 -0
  752. package/test/node_modules/diff/CONTRIBUTING.md +36 -0
  753. package/test/node_modules/diff/LICENSE +29 -0
  754. package/test/node_modules/diff/README.md +339 -0
  755. package/test/node_modules/diff/dist/diff.js +1730 -0
  756. package/test/node_modules/diff/dist/diff.min.js +1 -0
  757. package/test/node_modules/diff/lib/convert/dmp.js +32 -0
  758. package/test/node_modules/diff/lib/convert/xml.js +42 -0
  759. package/test/node_modules/diff/lib/diff/array.js +45 -0
  760. package/test/node_modules/diff/lib/diff/base.js +358 -0
  761. package/test/node_modules/diff/lib/diff/character.js +37 -0
  762. package/test/node_modules/diff/lib/diff/css.js +41 -0
  763. package/test/node_modules/diff/lib/diff/json.js +163 -0
  764. package/test/node_modules/diff/lib/diff/line.js +94 -0
  765. package/test/node_modules/diff/lib/diff/sentence.js +41 -0
  766. package/test/node_modules/diff/lib/diff/word.js +108 -0
  767. package/test/node_modules/diff/lib/index.es6.js +1699 -0
  768. package/test/node_modules/diff/lib/index.js +234 -0
  769. package/test/node_modules/diff/lib/index.mjs +1699 -0
  770. package/test/node_modules/diff/lib/patch/apply.js +238 -0
  771. package/test/node_modules/diff/lib/patch/create.js +276 -0
  772. package/test/node_modules/diff/lib/patch/merge.js +613 -0
  773. package/test/node_modules/diff/lib/patch/parse.js +167 -0
  774. package/test/node_modules/diff/lib/patch/reverse.js +63 -0
  775. package/test/node_modules/diff/lib/util/array.js +32 -0
  776. package/test/node_modules/diff/lib/util/distance-iterator.js +57 -0
  777. package/test/node_modules/diff/lib/util/params.js +24 -0
  778. package/test/node_modules/diff/package.json +89 -0
  779. package/test/node_modules/diff/release-notes.md +317 -0
  780. package/test/node_modules/diff/runtime.js +3 -0
  781. package/test/node_modules/dunder-proto/.eslintrc +5 -0
  782. package/test/node_modules/dunder-proto/.github/FUNDING.yml +12 -0
  783. package/test/node_modules/dunder-proto/.nycrc +13 -0
  784. package/test/node_modules/dunder-proto/CHANGELOG.md +24 -0
  785. package/test/node_modules/dunder-proto/LICENSE +21 -0
  786. package/test/node_modules/dunder-proto/README.md +54 -0
  787. package/test/node_modules/dunder-proto/get.d.ts +5 -0
  788. package/test/node_modules/dunder-proto/get.js +30 -0
  789. package/test/node_modules/dunder-proto/package.json +76 -0
  790. package/test/node_modules/dunder-proto/set.d.ts +5 -0
  791. package/test/node_modules/dunder-proto/set.js +35 -0
  792. package/test/node_modules/dunder-proto/test/get.js +34 -0
  793. package/test/node_modules/dunder-proto/test/index.js +4 -0
  794. package/test/node_modules/dunder-proto/test/set.js +50 -0
  795. package/test/node_modules/dunder-proto/tsconfig.json +9 -0
  796. package/test/node_modules/eastasianwidth/README.md +32 -0
  797. package/test/node_modules/eastasianwidth/eastasianwidth.js +311 -0
  798. package/test/node_modules/eastasianwidth/package.json +18 -0
  799. package/test/node_modules/emoji-regex/LICENSE-MIT.txt +20 -0
  800. package/test/node_modules/emoji-regex/README.md +137 -0
  801. package/test/node_modules/emoji-regex/RGI_Emoji.d.ts +5 -0
  802. package/test/node_modules/emoji-regex/RGI_Emoji.js +6 -0
  803. package/test/node_modules/emoji-regex/es2015/RGI_Emoji.d.ts +5 -0
  804. package/test/node_modules/emoji-regex/es2015/RGI_Emoji.js +6 -0
  805. package/test/node_modules/emoji-regex/es2015/index.d.ts +5 -0
  806. package/test/node_modules/emoji-regex/es2015/index.js +6 -0
  807. package/test/node_modules/emoji-regex/es2015/text.d.ts +5 -0
  808. package/test/node_modules/emoji-regex/es2015/text.js +6 -0
  809. package/test/node_modules/emoji-regex/index.d.ts +5 -0
  810. package/test/node_modules/emoji-regex/index.js +6 -0
  811. package/test/node_modules/emoji-regex/package.json +52 -0
  812. package/test/node_modules/emoji-regex/text.d.ts +5 -0
  813. package/test/node_modules/emoji-regex/text.js +6 -0
  814. package/test/node_modules/es-define-property/.eslintrc +13 -0
  815. package/test/node_modules/es-define-property/.github/FUNDING.yml +12 -0
  816. package/test/node_modules/es-define-property/.nycrc +9 -0
  817. package/test/node_modules/es-define-property/CHANGELOG.md +29 -0
  818. package/test/node_modules/es-define-property/LICENSE +21 -0
  819. package/test/node_modules/es-define-property/README.md +49 -0
  820. package/test/node_modules/es-define-property/index.d.ts +3 -0
  821. package/test/node_modules/es-define-property/index.js +14 -0
  822. package/test/node_modules/es-define-property/package.json +81 -0
  823. package/test/node_modules/es-define-property/test/index.js +56 -0
  824. package/test/node_modules/es-define-property/tsconfig.json +10 -0
  825. package/test/node_modules/es-errors/.eslintrc +5 -0
  826. package/test/node_modules/es-errors/.github/FUNDING.yml +12 -0
  827. package/test/node_modules/es-errors/CHANGELOG.md +40 -0
  828. package/test/node_modules/es-errors/LICENSE +21 -0
  829. package/test/node_modules/es-errors/README.md +55 -0
  830. package/test/node_modules/es-errors/eval.d.ts +3 -0
  831. package/test/node_modules/es-errors/eval.js +4 -0
  832. package/test/node_modules/es-errors/index.d.ts +3 -0
  833. package/test/node_modules/es-errors/index.js +4 -0
  834. package/test/node_modules/es-errors/package.json +80 -0
  835. package/test/node_modules/es-errors/range.d.ts +3 -0
  836. package/test/node_modules/es-errors/range.js +4 -0
  837. package/test/node_modules/es-errors/ref.d.ts +3 -0
  838. package/test/node_modules/es-errors/ref.js +4 -0
  839. package/test/node_modules/es-errors/syntax.d.ts +3 -0
  840. package/test/node_modules/es-errors/syntax.js +4 -0
  841. package/test/node_modules/es-errors/test/index.js +19 -0
  842. package/test/node_modules/es-errors/tsconfig.json +49 -0
  843. package/test/node_modules/es-errors/type.d.ts +3 -0
  844. package/test/node_modules/es-errors/type.js +4 -0
  845. package/test/node_modules/es-errors/uri.d.ts +3 -0
  846. package/test/node_modules/es-errors/uri.js +4 -0
  847. package/test/node_modules/es-object-atoms/.eslintrc +16 -0
  848. package/test/node_modules/es-object-atoms/.github/FUNDING.yml +12 -0
  849. package/test/node_modules/es-object-atoms/CHANGELOG.md +37 -0
  850. package/test/node_modules/es-object-atoms/LICENSE +21 -0
  851. package/test/node_modules/es-object-atoms/README.md +63 -0
  852. package/test/node_modules/es-object-atoms/RequireObjectCoercible.d.ts +3 -0
  853. package/test/node_modules/es-object-atoms/RequireObjectCoercible.js +11 -0
  854. package/test/node_modules/es-object-atoms/ToObject.d.ts +7 -0
  855. package/test/node_modules/es-object-atoms/ToObject.js +10 -0
  856. package/test/node_modules/es-object-atoms/index.d.ts +3 -0
  857. package/test/node_modules/es-object-atoms/index.js +4 -0
  858. package/test/node_modules/es-object-atoms/isObject.d.ts +3 -0
  859. package/test/node_modules/es-object-atoms/isObject.js +6 -0
  860. package/test/node_modules/es-object-atoms/package.json +80 -0
  861. package/test/node_modules/es-object-atoms/test/index.js +38 -0
  862. package/test/node_modules/es-object-atoms/tsconfig.json +6 -0
  863. package/test/node_modules/es-set-tostringtag/.eslintrc +13 -0
  864. package/test/node_modules/es-set-tostringtag/.nycrc +9 -0
  865. package/test/node_modules/es-set-tostringtag/CHANGELOG.md +67 -0
  866. package/test/node_modules/es-set-tostringtag/LICENSE +21 -0
  867. package/test/node_modules/es-set-tostringtag/README.md +53 -0
  868. package/test/node_modules/es-set-tostringtag/index.d.ts +10 -0
  869. package/test/node_modules/es-set-tostringtag/index.js +35 -0
  870. package/test/node_modules/es-set-tostringtag/package.json +78 -0
  871. package/test/node_modules/es-set-tostringtag/test/index.js +85 -0
  872. package/test/node_modules/es-set-tostringtag/tsconfig.json +9 -0
  873. package/test/node_modules/escalade/dist/index.js +22 -0
  874. package/test/node_modules/escalade/dist/index.mjs +22 -0
  875. package/test/node_modules/escalade/index.d.mts +11 -0
  876. package/test/node_modules/escalade/index.d.ts +15 -0
  877. package/test/node_modules/escalade/license +9 -0
  878. package/test/node_modules/escalade/package.json +74 -0
  879. package/test/node_modules/escalade/readme.md +211 -0
  880. package/test/node_modules/escalade/sync/index.d.mts +9 -0
  881. package/test/node_modules/escalade/sync/index.d.ts +13 -0
  882. package/test/node_modules/escalade/sync/index.js +18 -0
  883. package/test/node_modules/escalade/sync/index.mjs +18 -0
  884. package/test/node_modules/escape-string-regexp/index.d.ts +18 -0
  885. package/test/node_modules/escape-string-regexp/index.js +13 -0
  886. package/test/node_modules/escape-string-regexp/license +9 -0
  887. package/test/node_modules/escape-string-regexp/package.json +38 -0
  888. package/test/node_modules/escape-string-regexp/readme.md +34 -0
  889. package/test/node_modules/ethereum-cryptography/LICENSE +21 -0
  890. package/test/node_modules/ethereum-cryptography/README.md +509 -0
  891. package/test/node_modules/ethereum-cryptography/aes.d.ts +2 -0
  892. package/test/node_modules/ethereum-cryptography/aes.js +97 -0
  893. package/test/node_modules/ethereum-cryptography/bip39/index.d.ts +1 -0
  894. package/test/node_modules/ethereum-cryptography/bip39/index.js +10 -0
  895. package/test/node_modules/ethereum-cryptography/bip39/wordlists/czech.d.ts +1 -0
  896. package/test/node_modules/ethereum-cryptography/bip39/wordlists/czech.js +5 -0
  897. package/test/node_modules/ethereum-cryptography/bip39/wordlists/english.d.ts +1 -0
  898. package/test/node_modules/ethereum-cryptography/bip39/wordlists/english.js +5 -0
  899. package/test/node_modules/ethereum-cryptography/bip39/wordlists/french.d.ts +1 -0
  900. package/test/node_modules/ethereum-cryptography/bip39/wordlists/french.js +5 -0
  901. package/test/node_modules/ethereum-cryptography/bip39/wordlists/italian.d.ts +1 -0
  902. package/test/node_modules/ethereum-cryptography/bip39/wordlists/italian.js +5 -0
  903. package/test/node_modules/ethereum-cryptography/bip39/wordlists/japanese.d.ts +1 -0
  904. package/test/node_modules/ethereum-cryptography/bip39/wordlists/japanese.js +5 -0
  905. package/test/node_modules/ethereum-cryptography/bip39/wordlists/korean.d.ts +1 -0
  906. package/test/node_modules/ethereum-cryptography/bip39/wordlists/korean.js +5 -0
  907. package/test/node_modules/ethereum-cryptography/bip39/wordlists/simplified-chinese.d.ts +1 -0
  908. package/test/node_modules/ethereum-cryptography/bip39/wordlists/simplified-chinese.js +5 -0
  909. package/test/node_modules/ethereum-cryptography/bip39/wordlists/spanish.d.ts +1 -0
  910. package/test/node_modules/ethereum-cryptography/bip39/wordlists/spanish.js +5 -0
  911. package/test/node_modules/ethereum-cryptography/bip39/wordlists/traditional-chinese.d.ts +1 -0
  912. package/test/node_modules/ethereum-cryptography/bip39/wordlists/traditional-chinese.js +5 -0
  913. package/test/node_modules/ethereum-cryptography/blake2b.d.ts +1 -0
  914. package/test/node_modules/ethereum-cryptography/blake2b.js +13 -0
  915. package/test/node_modules/ethereum-cryptography/esm/aes.js +93 -0
  916. package/test/node_modules/ethereum-cryptography/esm/bip39/index.js +1 -0
  917. package/test/node_modules/ethereum-cryptography/esm/bip39/wordlists/czech.js +1 -0
  918. package/test/node_modules/ethereum-cryptography/esm/bip39/wordlists/english.js +1 -0
  919. package/test/node_modules/ethereum-cryptography/esm/bip39/wordlists/french.js +1 -0
  920. package/test/node_modules/ethereum-cryptography/esm/bip39/wordlists/italian.js +1 -0
  921. package/test/node_modules/ethereum-cryptography/esm/bip39/wordlists/japanese.js +1 -0
  922. package/test/node_modules/ethereum-cryptography/esm/bip39/wordlists/korean.js +1 -0
  923. package/test/node_modules/ethereum-cryptography/esm/bip39/wordlists/simplified-chinese.js +1 -0
  924. package/test/node_modules/ethereum-cryptography/esm/bip39/wordlists/spanish.js +1 -0
  925. package/test/node_modules/ethereum-cryptography/esm/bip39/wordlists/traditional-chinese.js +1 -0
  926. package/test/node_modules/ethereum-cryptography/esm/blake2b.js +9 -0
  927. package/test/node_modules/ethereum-cryptography/esm/hdkey.js +1 -0
  928. package/test/node_modules/ethereum-cryptography/esm/index.js +2 -0
  929. package/test/node_modules/ethereum-cryptography/esm/keccak.js +10 -0
  930. package/test/node_modules/ethereum-cryptography/esm/package.json +3 -0
  931. package/test/node_modules/ethereum-cryptography/esm/pbkdf2.js +26 -0
  932. package/test/node_modules/ethereum-cryptography/esm/random.js +7 -0
  933. package/test/node_modules/ethereum-cryptography/esm/ripemd160.js +3 -0
  934. package/test/node_modules/ethereum-cryptography/esm/scrypt.js +12 -0
  935. package/test/node_modules/ethereum-cryptography/esm/secp256k1-compat.js +254 -0
  936. package/test/node_modules/ethereum-cryptography/esm/secp256k1.js +1 -0
  937. package/test/node_modules/ethereum-cryptography/esm/sha256.js +3 -0
  938. package/test/node_modules/ethereum-cryptography/esm/sha512.js +3 -0
  939. package/test/node_modules/ethereum-cryptography/esm/utils.js +47 -0
  940. package/test/node_modules/ethereum-cryptography/hdkey.d.ts +1 -0
  941. package/test/node_modules/ethereum-cryptography/hdkey.js +6 -0
  942. package/test/node_modules/ethereum-cryptography/index.d.ts +0 -0
  943. package/test/node_modules/ethereum-cryptography/index.js +2 -0
  944. package/test/node_modules/ethereum-cryptography/keccak.d.ts +11 -0
  945. package/test/node_modules/ethereum-cryptography/keccak.js +13 -0
  946. package/test/node_modules/ethereum-cryptography/package.json +369 -0
  947. package/test/node_modules/ethereum-cryptography/pbkdf2.d.ts +2 -0
  948. package/test/node_modules/ethereum-cryptography/pbkdf2.js +30 -0
  949. package/test/node_modules/ethereum-cryptography/random.d.ts +2 -0
  950. package/test/node_modules/ethereum-cryptography/random.js +11 -0
  951. package/test/node_modules/ethereum-cryptography/ripemd160.d.ts +1 -0
  952. package/test/node_modules/ethereum-cryptography/ripemd160.js +6 -0
  953. package/test/node_modules/ethereum-cryptography/scrypt.d.ts +4 -0
  954. package/test/node_modules/ethereum-cryptography/scrypt.js +16 -0
  955. package/test/node_modules/ethereum-cryptography/secp256k1-compat.d.ts +35 -0
  956. package/test/node_modules/ethereum-cryptography/secp256k1-compat.js +277 -0
  957. package/test/node_modules/ethereum-cryptography/secp256k1.d.ts +1 -0
  958. package/test/node_modules/ethereum-cryptography/secp256k1.js +5 -0
  959. package/test/node_modules/ethereum-cryptography/sha256.d.ts +1 -0
  960. package/test/node_modules/ethereum-cryptography/sha256.js +6 -0
  961. package/test/node_modules/ethereum-cryptography/sha512.d.ts +1 -0
  962. package/test/node_modules/ethereum-cryptography/sha512.js +6 -0
  963. package/test/node_modules/ethereum-cryptography/utils.d.ts +12 -0
  964. package/test/node_modules/ethereum-cryptography/utils.js +63 -0
  965. package/test/node_modules/fast-safe-stringify/.travis.yml +8 -0
  966. package/test/node_modules/fast-safe-stringify/CHANGELOG.md +17 -0
  967. package/test/node_modules/fast-safe-stringify/LICENSE +23 -0
  968. package/test/node_modules/fast-safe-stringify/benchmark.js +137 -0
  969. package/test/node_modules/fast-safe-stringify/index.d.ts +23 -0
  970. package/test/node_modules/fast-safe-stringify/index.js +229 -0
  971. package/test/node_modules/fast-safe-stringify/package.json +46 -0
  972. package/test/node_modules/fast-safe-stringify/readme.md +170 -0
  973. package/test/node_modules/fast-safe-stringify/test-stable.js +404 -0
  974. package/test/node_modules/fast-safe-stringify/test.js +397 -0
  975. package/test/node_modules/fetch-blob/LICENSE +21 -0
  976. package/test/node_modules/fetch-blob/README.md +106 -0
  977. package/test/node_modules/fetch-blob/file.d.ts +2 -0
  978. package/test/node_modules/fetch-blob/file.js +49 -0
  979. package/test/node_modules/fetch-blob/from.d.ts +26 -0
  980. package/test/node_modules/fetch-blob/from.js +100 -0
  981. package/test/node_modules/fetch-blob/index.d.ts +3 -0
  982. package/test/node_modules/fetch-blob/index.js +250 -0
  983. package/test/node_modules/fetch-blob/package.json +56 -0
  984. package/test/node_modules/fetch-blob/streams.cjs +51 -0
  985. package/test/node_modules/fill-range/LICENSE +21 -0
  986. package/test/node_modules/fill-range/README.md +237 -0
  987. package/test/node_modules/fill-range/index.js +248 -0
  988. package/test/node_modules/fill-range/package.json +74 -0
  989. package/test/node_modules/find-up/index.d.ts +138 -0
  990. package/test/node_modules/find-up/index.js +89 -0
  991. package/test/node_modules/find-up/license +9 -0
  992. package/test/node_modules/find-up/package.json +54 -0
  993. package/test/node_modules/find-up/readme.md +151 -0
  994. package/test/node_modules/flat/.travis.yml +8 -0
  995. package/test/node_modules/flat/LICENSE +12 -0
  996. package/test/node_modules/flat/README.md +236 -0
  997. package/test/node_modules/flat/cli.js +42 -0
  998. package/test/node_modules/flat/index.js +158 -0
  999. package/test/node_modules/flat/package.json +37 -0
  1000. package/test/node_modules/flat/test/test.js +643 -0
  1001. package/test/node_modules/foreground-child/LICENSE +15 -0
  1002. package/test/node_modules/foreground-child/README.md +128 -0
  1003. package/test/node_modules/foreground-child/dist/commonjs/all-signals.d.ts +2 -0
  1004. package/test/node_modules/foreground-child/dist/commonjs/all-signals.d.ts.map +1 -0
  1005. package/test/node_modules/foreground-child/dist/commonjs/all-signals.js +58 -0
  1006. package/test/node_modules/foreground-child/dist/commonjs/all-signals.js.map +1 -0
  1007. package/test/node_modules/foreground-child/dist/commonjs/index.d.ts +58 -0
  1008. package/test/node_modules/foreground-child/dist/commonjs/index.d.ts.map +1 -0
  1009. package/test/node_modules/foreground-child/dist/commonjs/index.js +123 -0
  1010. package/test/node_modules/foreground-child/dist/commonjs/index.js.map +1 -0
  1011. package/test/node_modules/foreground-child/dist/commonjs/package.json +3 -0
  1012. package/test/node_modules/foreground-child/dist/commonjs/proxy-signals.d.ts +6 -0
  1013. package/test/node_modules/foreground-child/dist/commonjs/proxy-signals.d.ts.map +1 -0
  1014. package/test/node_modules/foreground-child/dist/commonjs/proxy-signals.js +38 -0
  1015. package/test/node_modules/foreground-child/dist/commonjs/proxy-signals.js.map +1 -0
  1016. package/test/node_modules/foreground-child/dist/commonjs/watchdog.d.ts +10 -0
  1017. package/test/node_modules/foreground-child/dist/commonjs/watchdog.d.ts.map +1 -0
  1018. package/test/node_modules/foreground-child/dist/commonjs/watchdog.js +50 -0
  1019. package/test/node_modules/foreground-child/dist/commonjs/watchdog.js.map +1 -0
  1020. package/test/node_modules/foreground-child/dist/esm/all-signals.d.ts +2 -0
  1021. package/test/node_modules/foreground-child/dist/esm/all-signals.d.ts.map +1 -0
  1022. package/test/node_modules/foreground-child/dist/esm/all-signals.js +52 -0
  1023. package/test/node_modules/foreground-child/dist/esm/all-signals.js.map +1 -0
  1024. package/test/node_modules/foreground-child/dist/esm/index.d.ts +58 -0
  1025. package/test/node_modules/foreground-child/dist/esm/index.d.ts.map +1 -0
  1026. package/test/node_modules/foreground-child/dist/esm/index.js +115 -0
  1027. package/test/node_modules/foreground-child/dist/esm/index.js.map +1 -0
  1028. package/test/node_modules/foreground-child/dist/esm/package.json +3 -0
  1029. package/test/node_modules/foreground-child/dist/esm/proxy-signals.d.ts +6 -0
  1030. package/test/node_modules/foreground-child/dist/esm/proxy-signals.d.ts.map +1 -0
  1031. package/test/node_modules/foreground-child/dist/esm/proxy-signals.js +34 -0
  1032. package/test/node_modules/foreground-child/dist/esm/proxy-signals.js.map +1 -0
  1033. package/test/node_modules/foreground-child/dist/esm/watchdog.d.ts +10 -0
  1034. package/test/node_modules/foreground-child/dist/esm/watchdog.d.ts.map +1 -0
  1035. package/test/node_modules/foreground-child/dist/esm/watchdog.js +46 -0
  1036. package/test/node_modules/foreground-child/dist/esm/watchdog.js.map +1 -0
  1037. package/test/node_modules/foreground-child/package.json +106 -0
  1038. package/test/node_modules/form-data/License +19 -0
  1039. package/test/node_modules/form-data/Readme.md +358 -0
  1040. package/test/node_modules/form-data/index.d.ts +62 -0
  1041. package/test/node_modules/form-data/lib/browser.js +2 -0
  1042. package/test/node_modules/form-data/lib/form_data.js +503 -0
  1043. package/test/node_modules/form-data/lib/populate.js +10 -0
  1044. package/test/node_modules/form-data/package.json +74 -0
  1045. package/test/node_modules/formdata-polyfill/FormData.js +441 -0
  1046. package/test/node_modules/formdata-polyfill/LICENSE +21 -0
  1047. package/test/node_modules/formdata-polyfill/README.md +145 -0
  1048. package/test/node_modules/formdata-polyfill/esm.min.d.ts +5 -0
  1049. package/test/node_modules/formdata-polyfill/esm.min.js +40 -0
  1050. package/test/node_modules/formdata-polyfill/formdata-to-blob.js +39 -0
  1051. package/test/node_modules/formdata-polyfill/formdata.min.js +21 -0
  1052. package/test/node_modules/formdata-polyfill/package.json +50 -0
  1053. package/test/node_modules/formidable/LICENSE +21 -0
  1054. package/test/node_modules/formidable/README.md +884 -0
  1055. package/test/node_modules/formidable/README_pt_BR.md +841 -0
  1056. package/test/node_modules/formidable/dist/helpers/firstValues.cjs +394 -0
  1057. package/test/node_modules/formidable/dist/helpers/readBooleans.cjs +12 -0
  1058. package/test/node_modules/formidable/dist/index.cjs +1690 -0
  1059. package/test/node_modules/formidable/dist/parsers/JSON.cjs +35 -0
  1060. package/test/node_modules/formidable/dist/parsers/Multipart.cjs +372 -0
  1061. package/test/node_modules/formidable/dist/parsers/OctetStream.cjs +14 -0
  1062. package/test/node_modules/formidable/dist/parsers/Querystring.cjs +38 -0
  1063. package/test/node_modules/formidable/dist/parsers/StreamingQuerystring.cjs +131 -0
  1064. package/test/node_modules/formidable/package.json +140 -0
  1065. package/test/node_modules/formidable/src/Formidable.js +684 -0
  1066. package/test/node_modules/formidable/src/FormidableError.js +51 -0
  1067. package/test/node_modules/formidable/src/PersistentFile.js +88 -0
  1068. package/test/node_modules/formidable/src/VolatileFile.js +80 -0
  1069. package/test/node_modules/formidable/src/helpers/firstValues.js +19 -0
  1070. package/test/node_modules/formidable/src/helpers/readBooleans.js +10 -0
  1071. package/test/node_modules/formidable/src/index.js +32 -0
  1072. package/test/node_modules/formidable/src/parsers/Dummy.js +19 -0
  1073. package/test/node_modules/formidable/src/parsers/JSON.js +30 -0
  1074. package/test/node_modules/formidable/src/parsers/Multipart.js +356 -0
  1075. package/test/node_modules/formidable/src/parsers/OctetStream.js +10 -0
  1076. package/test/node_modules/formidable/src/parsers/Querystring.js +33 -0
  1077. package/test/node_modules/formidable/src/parsers/StreamingQuerystring.js +117 -0
  1078. package/test/node_modules/formidable/src/parsers/index.js +15 -0
  1079. package/test/node_modules/formidable/src/plugins/index.js +6 -0
  1080. package/test/node_modules/formidable/src/plugins/json.js +39 -0
  1081. package/test/node_modules/formidable/src/plugins/multipart.js +173 -0
  1082. package/test/node_modules/formidable/src/plugins/octetstream.js +84 -0
  1083. package/test/node_modules/formidable/src/plugins/querystring.js +41 -0
  1084. package/test/node_modules/fount-js/README.md +35 -0
  1085. package/test/node_modules/fount-js/fount.cjs +145 -0
  1086. package/test/node_modules/fount-js/fount.js +202 -0
  1087. package/test/node_modules/fount-js/package.json +23 -0
  1088. package/test/node_modules/fsevents/LICENSE +22 -0
  1089. package/test/node_modules/fsevents/README.md +89 -0
  1090. package/test/node_modules/fsevents/fsevents.d.ts +46 -0
  1091. package/test/node_modules/fsevents/fsevents.js +83 -0
  1092. package/test/node_modules/fsevents/fsevents.node +0 -0
  1093. package/test/node_modules/fsevents/package.json +62 -0
  1094. package/test/node_modules/function-bind/.eslintrc +21 -0
  1095. package/test/node_modules/function-bind/.github/FUNDING.yml +12 -0
  1096. package/test/node_modules/function-bind/.github/SECURITY.md +3 -0
  1097. package/test/node_modules/function-bind/.nycrc +13 -0
  1098. package/test/node_modules/function-bind/CHANGELOG.md +136 -0
  1099. package/test/node_modules/function-bind/LICENSE +20 -0
  1100. package/test/node_modules/function-bind/README.md +46 -0
  1101. package/test/node_modules/function-bind/implementation.js +84 -0
  1102. package/test/node_modules/function-bind/index.js +5 -0
  1103. package/test/node_modules/function-bind/package.json +87 -0
  1104. package/test/node_modules/function-bind/test/.eslintrc +9 -0
  1105. package/test/node_modules/function-bind/test/index.js +252 -0
  1106. package/test/node_modules/get-caller-file/LICENSE.md +6 -0
  1107. package/test/node_modules/get-caller-file/README.md +41 -0
  1108. package/test/node_modules/get-caller-file/index.d.ts +2 -0
  1109. package/test/node_modules/get-caller-file/index.js +22 -0
  1110. package/test/node_modules/get-caller-file/index.js.map +1 -0
  1111. package/test/node_modules/get-caller-file/package.json +42 -0
  1112. package/test/node_modules/get-intrinsic/.eslintrc +42 -0
  1113. package/test/node_modules/get-intrinsic/.github/FUNDING.yml +12 -0
  1114. package/test/node_modules/get-intrinsic/.nycrc +9 -0
  1115. package/test/node_modules/get-intrinsic/CHANGELOG.md +186 -0
  1116. package/test/node_modules/get-intrinsic/LICENSE +21 -0
  1117. package/test/node_modules/get-intrinsic/README.md +71 -0
  1118. package/test/node_modules/get-intrinsic/index.js +378 -0
  1119. package/test/node_modules/get-intrinsic/package.json +97 -0
  1120. package/test/node_modules/get-intrinsic/test/GetIntrinsic.js +274 -0
  1121. package/test/node_modules/get-proto/.eslintrc +10 -0
  1122. package/test/node_modules/get-proto/.github/FUNDING.yml +12 -0
  1123. package/test/node_modules/get-proto/.nycrc +9 -0
  1124. package/test/node_modules/get-proto/CHANGELOG.md +21 -0
  1125. package/test/node_modules/get-proto/LICENSE +21 -0
  1126. package/test/node_modules/get-proto/Object.getPrototypeOf.d.ts +5 -0
  1127. package/test/node_modules/get-proto/Object.getPrototypeOf.js +6 -0
  1128. package/test/node_modules/get-proto/README.md +50 -0
  1129. package/test/node_modules/get-proto/Reflect.getPrototypeOf.d.ts +3 -0
  1130. package/test/node_modules/get-proto/Reflect.getPrototypeOf.js +4 -0
  1131. package/test/node_modules/get-proto/index.d.ts +5 -0
  1132. package/test/node_modules/get-proto/index.js +27 -0
  1133. package/test/node_modules/get-proto/package.json +81 -0
  1134. package/test/node_modules/get-proto/test/index.js +68 -0
  1135. package/test/node_modules/get-proto/tsconfig.json +9 -0
  1136. package/test/node_modules/glob/LICENSE +15 -0
  1137. package/test/node_modules/glob/README.md +1265 -0
  1138. package/test/node_modules/glob/dist/commonjs/glob.d.ts +388 -0
  1139. package/test/node_modules/glob/dist/commonjs/glob.d.ts.map +1 -0
  1140. package/test/node_modules/glob/dist/commonjs/glob.js +247 -0
  1141. package/test/node_modules/glob/dist/commonjs/glob.js.map +1 -0
  1142. package/test/node_modules/glob/dist/commonjs/has-magic.d.ts +14 -0
  1143. package/test/node_modules/glob/dist/commonjs/has-magic.d.ts.map +1 -0
  1144. package/test/node_modules/glob/dist/commonjs/has-magic.js +27 -0
  1145. package/test/node_modules/glob/dist/commonjs/has-magic.js.map +1 -0
  1146. package/test/node_modules/glob/dist/commonjs/ignore.d.ts +24 -0
  1147. package/test/node_modules/glob/dist/commonjs/ignore.d.ts.map +1 -0
  1148. package/test/node_modules/glob/dist/commonjs/ignore.js +119 -0
  1149. package/test/node_modules/glob/dist/commonjs/ignore.js.map +1 -0
  1150. package/test/node_modules/glob/dist/commonjs/index.d.ts +97 -0
  1151. package/test/node_modules/glob/dist/commonjs/index.d.ts.map +1 -0
  1152. package/test/node_modules/glob/dist/commonjs/index.js +68 -0
  1153. package/test/node_modules/glob/dist/commonjs/index.js.map +1 -0
  1154. package/test/node_modules/glob/dist/commonjs/package.json +3 -0
  1155. package/test/node_modules/glob/dist/commonjs/pattern.d.ts +76 -0
  1156. package/test/node_modules/glob/dist/commonjs/pattern.d.ts.map +1 -0
  1157. package/test/node_modules/glob/dist/commonjs/pattern.js +219 -0
  1158. package/test/node_modules/glob/dist/commonjs/pattern.js.map +1 -0
  1159. package/test/node_modules/glob/dist/commonjs/processor.d.ts +59 -0
  1160. package/test/node_modules/glob/dist/commonjs/processor.d.ts.map +1 -0
  1161. package/test/node_modules/glob/dist/commonjs/processor.js +301 -0
  1162. package/test/node_modules/glob/dist/commonjs/processor.js.map +1 -0
  1163. package/test/node_modules/glob/dist/commonjs/walker.d.ts +97 -0
  1164. package/test/node_modules/glob/dist/commonjs/walker.d.ts.map +1 -0
  1165. package/test/node_modules/glob/dist/commonjs/walker.js +387 -0
  1166. package/test/node_modules/glob/dist/commonjs/walker.js.map +1 -0
  1167. package/test/node_modules/glob/dist/esm/bin.d.mts +3 -0
  1168. package/test/node_modules/glob/dist/esm/bin.d.mts.map +1 -0
  1169. package/test/node_modules/glob/dist/esm/bin.mjs +270 -0
  1170. package/test/node_modules/glob/dist/esm/bin.mjs.map +1 -0
  1171. package/test/node_modules/glob/dist/esm/glob.d.ts +388 -0
  1172. package/test/node_modules/glob/dist/esm/glob.d.ts.map +1 -0
  1173. package/test/node_modules/glob/dist/esm/glob.js +243 -0
  1174. package/test/node_modules/glob/dist/esm/glob.js.map +1 -0
  1175. package/test/node_modules/glob/dist/esm/has-magic.d.ts +14 -0
  1176. package/test/node_modules/glob/dist/esm/has-magic.d.ts.map +1 -0
  1177. package/test/node_modules/glob/dist/esm/has-magic.js +23 -0
  1178. package/test/node_modules/glob/dist/esm/has-magic.js.map +1 -0
  1179. package/test/node_modules/glob/dist/esm/ignore.d.ts +24 -0
  1180. package/test/node_modules/glob/dist/esm/ignore.d.ts.map +1 -0
  1181. package/test/node_modules/glob/dist/esm/ignore.js +115 -0
  1182. package/test/node_modules/glob/dist/esm/ignore.js.map +1 -0
  1183. package/test/node_modules/glob/dist/esm/index.d.ts +97 -0
  1184. package/test/node_modules/glob/dist/esm/index.d.ts.map +1 -0
  1185. package/test/node_modules/glob/dist/esm/index.js +55 -0
  1186. package/test/node_modules/glob/dist/esm/index.js.map +1 -0
  1187. package/test/node_modules/glob/dist/esm/package.json +3 -0
  1188. package/test/node_modules/glob/dist/esm/pattern.d.ts +76 -0
  1189. package/test/node_modules/glob/dist/esm/pattern.d.ts.map +1 -0
  1190. package/test/node_modules/glob/dist/esm/pattern.js +215 -0
  1191. package/test/node_modules/glob/dist/esm/pattern.js.map +1 -0
  1192. package/test/node_modules/glob/dist/esm/processor.d.ts +59 -0
  1193. package/test/node_modules/glob/dist/esm/processor.d.ts.map +1 -0
  1194. package/test/node_modules/glob/dist/esm/processor.js +294 -0
  1195. package/test/node_modules/glob/dist/esm/processor.js.map +1 -0
  1196. package/test/node_modules/glob/dist/esm/walker.d.ts +97 -0
  1197. package/test/node_modules/glob/dist/esm/walker.d.ts.map +1 -0
  1198. package/test/node_modules/glob/dist/esm/walker.js +381 -0
  1199. package/test/node_modules/glob/dist/esm/walker.js.map +1 -0
  1200. package/test/node_modules/glob/node_modules/minimatch/LICENSE +15 -0
  1201. package/test/node_modules/glob/node_modules/minimatch/README.md +454 -0
  1202. package/test/node_modules/glob/node_modules/minimatch/dist/commonjs/assert-valid-pattern.d.ts +2 -0
  1203. package/test/node_modules/glob/node_modules/minimatch/dist/commonjs/assert-valid-pattern.d.ts.map +1 -0
  1204. package/test/node_modules/glob/node_modules/minimatch/dist/commonjs/assert-valid-pattern.js +14 -0
  1205. package/test/node_modules/glob/node_modules/minimatch/dist/commonjs/assert-valid-pattern.js.map +1 -0
  1206. package/test/node_modules/glob/node_modules/minimatch/dist/commonjs/ast.d.ts +20 -0
  1207. package/test/node_modules/glob/node_modules/minimatch/dist/commonjs/ast.d.ts.map +1 -0
  1208. package/test/node_modules/glob/node_modules/minimatch/dist/commonjs/ast.js +592 -0
  1209. package/test/node_modules/glob/node_modules/minimatch/dist/commonjs/ast.js.map +1 -0
  1210. package/test/node_modules/glob/node_modules/minimatch/dist/commonjs/brace-expressions.d.ts +8 -0
  1211. package/test/node_modules/glob/node_modules/minimatch/dist/commonjs/brace-expressions.d.ts.map +1 -0
  1212. package/test/node_modules/glob/node_modules/minimatch/dist/commonjs/brace-expressions.js +152 -0
  1213. package/test/node_modules/glob/node_modules/minimatch/dist/commonjs/brace-expressions.js.map +1 -0
  1214. package/test/node_modules/glob/node_modules/minimatch/dist/commonjs/escape.d.ts +12 -0
  1215. package/test/node_modules/glob/node_modules/minimatch/dist/commonjs/escape.d.ts.map +1 -0
  1216. package/test/node_modules/glob/node_modules/minimatch/dist/commonjs/escape.js +22 -0
  1217. package/test/node_modules/glob/node_modules/minimatch/dist/commonjs/escape.js.map +1 -0
  1218. package/test/node_modules/glob/node_modules/minimatch/dist/commonjs/index.d.ts +94 -0
  1219. package/test/node_modules/glob/node_modules/minimatch/dist/commonjs/index.d.ts.map +1 -0
  1220. package/test/node_modules/glob/node_modules/minimatch/dist/commonjs/index.js +1017 -0
  1221. package/test/node_modules/glob/node_modules/minimatch/dist/commonjs/index.js.map +1 -0
  1222. package/test/node_modules/glob/node_modules/minimatch/dist/commonjs/package.json +3 -0
  1223. package/test/node_modules/glob/node_modules/minimatch/dist/commonjs/unescape.d.ts +17 -0
  1224. package/test/node_modules/glob/node_modules/minimatch/dist/commonjs/unescape.d.ts.map +1 -0
  1225. package/test/node_modules/glob/node_modules/minimatch/dist/commonjs/unescape.js +24 -0
  1226. package/test/node_modules/glob/node_modules/minimatch/dist/commonjs/unescape.js.map +1 -0
  1227. package/test/node_modules/glob/node_modules/minimatch/dist/esm/assert-valid-pattern.d.ts +2 -0
  1228. package/test/node_modules/glob/node_modules/minimatch/dist/esm/assert-valid-pattern.d.ts.map +1 -0
  1229. package/test/node_modules/glob/node_modules/minimatch/dist/esm/assert-valid-pattern.js +10 -0
  1230. package/test/node_modules/glob/node_modules/minimatch/dist/esm/assert-valid-pattern.js.map +1 -0
  1231. package/test/node_modules/glob/node_modules/minimatch/dist/esm/ast.d.ts +20 -0
  1232. package/test/node_modules/glob/node_modules/minimatch/dist/esm/ast.d.ts.map +1 -0
  1233. package/test/node_modules/glob/node_modules/minimatch/dist/esm/ast.js +588 -0
  1234. package/test/node_modules/glob/node_modules/minimatch/dist/esm/ast.js.map +1 -0
  1235. package/test/node_modules/glob/node_modules/minimatch/dist/esm/brace-expressions.d.ts +8 -0
  1236. package/test/node_modules/glob/node_modules/minimatch/dist/esm/brace-expressions.d.ts.map +1 -0
  1237. package/test/node_modules/glob/node_modules/minimatch/dist/esm/brace-expressions.js +148 -0
  1238. package/test/node_modules/glob/node_modules/minimatch/dist/esm/brace-expressions.js.map +1 -0
  1239. package/test/node_modules/glob/node_modules/minimatch/dist/esm/escape.d.ts +12 -0
  1240. package/test/node_modules/glob/node_modules/minimatch/dist/esm/escape.d.ts.map +1 -0
  1241. package/test/node_modules/glob/node_modules/minimatch/dist/esm/escape.js +18 -0
  1242. package/test/node_modules/glob/node_modules/minimatch/dist/esm/escape.js.map +1 -0
  1243. package/test/node_modules/glob/node_modules/minimatch/dist/esm/index.d.ts +94 -0
  1244. package/test/node_modules/glob/node_modules/minimatch/dist/esm/index.d.ts.map +1 -0
  1245. package/test/node_modules/glob/node_modules/minimatch/dist/esm/index.js +1001 -0
  1246. package/test/node_modules/glob/node_modules/minimatch/dist/esm/index.js.map +1 -0
  1247. package/test/node_modules/glob/node_modules/minimatch/dist/esm/package.json +3 -0
  1248. package/test/node_modules/glob/node_modules/minimatch/dist/esm/unescape.d.ts +17 -0
  1249. package/test/node_modules/glob/node_modules/minimatch/dist/esm/unescape.d.ts.map +1 -0
  1250. package/test/node_modules/glob/node_modules/minimatch/dist/esm/unescape.js +20 -0
  1251. package/test/node_modules/glob/node_modules/minimatch/dist/esm/unescape.js.map +1 -0
  1252. package/test/node_modules/glob/node_modules/minimatch/package.json +82 -0
  1253. package/test/node_modules/glob/package.json +99 -0
  1254. package/test/node_modules/glob-parent/CHANGELOG.md +110 -0
  1255. package/test/node_modules/glob-parent/LICENSE +15 -0
  1256. package/test/node_modules/glob-parent/README.md +137 -0
  1257. package/test/node_modules/glob-parent/index.js +42 -0
  1258. package/test/node_modules/glob-parent/package.json +48 -0
  1259. package/test/node_modules/gopd/.eslintrc +16 -0
  1260. package/test/node_modules/gopd/.github/FUNDING.yml +12 -0
  1261. package/test/node_modules/gopd/CHANGELOG.md +45 -0
  1262. package/test/node_modules/gopd/LICENSE +21 -0
  1263. package/test/node_modules/gopd/README.md +40 -0
  1264. package/test/node_modules/gopd/gOPD.d.ts +1 -0
  1265. package/test/node_modules/gopd/gOPD.js +4 -0
  1266. package/test/node_modules/gopd/index.d.ts +5 -0
  1267. package/test/node_modules/gopd/index.js +15 -0
  1268. package/test/node_modules/gopd/package.json +77 -0
  1269. package/test/node_modules/gopd/test/index.js +36 -0
  1270. package/test/node_modules/gopd/tsconfig.json +9 -0
  1271. package/test/node_modules/has-flag/index.d.ts +39 -0
  1272. package/test/node_modules/has-flag/index.js +8 -0
  1273. package/test/node_modules/has-flag/license +9 -0
  1274. package/test/node_modules/has-flag/package.json +46 -0
  1275. package/test/node_modules/has-flag/readme.md +89 -0
  1276. package/test/node_modules/has-symbols/.eslintrc +11 -0
  1277. package/test/node_modules/has-symbols/.github/FUNDING.yml +12 -0
  1278. package/test/node_modules/has-symbols/.nycrc +9 -0
  1279. package/test/node_modules/has-symbols/CHANGELOG.md +91 -0
  1280. package/test/node_modules/has-symbols/LICENSE +21 -0
  1281. package/test/node_modules/has-symbols/README.md +46 -0
  1282. package/test/node_modules/has-symbols/index.d.ts +3 -0
  1283. package/test/node_modules/has-symbols/index.js +14 -0
  1284. package/test/node_modules/has-symbols/package.json +111 -0
  1285. package/test/node_modules/has-symbols/shams.d.ts +3 -0
  1286. package/test/node_modules/has-symbols/shams.js +45 -0
  1287. package/test/node_modules/has-symbols/test/index.js +22 -0
  1288. package/test/node_modules/has-symbols/test/shams/core-js.js +29 -0
  1289. package/test/node_modules/has-symbols/test/shams/get-own-property-symbols.js +29 -0
  1290. package/test/node_modules/has-symbols/test/tests.js +58 -0
  1291. package/test/node_modules/has-symbols/tsconfig.json +10 -0
  1292. package/test/node_modules/has-tostringtag/.eslintrc +5 -0
  1293. package/test/node_modules/has-tostringtag/.github/FUNDING.yml +12 -0
  1294. package/test/node_modules/has-tostringtag/.nycrc +13 -0
  1295. package/test/node_modules/has-tostringtag/CHANGELOG.md +42 -0
  1296. package/test/node_modules/has-tostringtag/LICENSE +21 -0
  1297. package/test/node_modules/has-tostringtag/README.md +46 -0
  1298. package/test/node_modules/has-tostringtag/index.d.ts +3 -0
  1299. package/test/node_modules/has-tostringtag/index.js +8 -0
  1300. package/test/node_modules/has-tostringtag/package.json +108 -0
  1301. package/test/node_modules/has-tostringtag/shams.d.ts +3 -0
  1302. package/test/node_modules/has-tostringtag/shams.js +8 -0
  1303. package/test/node_modules/has-tostringtag/test/index.js +21 -0
  1304. package/test/node_modules/has-tostringtag/test/shams/core-js.js +31 -0
  1305. package/test/node_modules/has-tostringtag/test/shams/get-own-property-symbols.js +30 -0
  1306. package/test/node_modules/has-tostringtag/test/tests.js +15 -0
  1307. package/test/node_modules/has-tostringtag/tsconfig.json +49 -0
  1308. package/test/node_modules/hasown/.eslintrc +5 -0
  1309. package/test/node_modules/hasown/.github/FUNDING.yml +12 -0
  1310. package/test/node_modules/hasown/.nycrc +13 -0
  1311. package/test/node_modules/hasown/CHANGELOG.md +40 -0
  1312. package/test/node_modules/hasown/LICENSE +21 -0
  1313. package/test/node_modules/hasown/README.md +40 -0
  1314. package/test/node_modules/hasown/index.d.ts +3 -0
  1315. package/test/node_modules/hasown/index.js +8 -0
  1316. package/test/node_modules/hasown/package.json +92 -0
  1317. package/test/node_modules/hasown/tsconfig.json +6 -0
  1318. package/test/node_modules/he/LICENSE-MIT.txt +20 -0
  1319. package/test/node_modules/he/README.md +379 -0
  1320. package/test/node_modules/he/bin/he +148 -0
  1321. package/test/node_modules/he/he.js +345 -0
  1322. package/test/node_modules/he/man/he.1 +78 -0
  1323. package/test/node_modules/he/package.json +58 -0
  1324. package/test/node_modules/hexoid/dist/index.d.ts +1 -0
  1325. package/test/node_modules/hexoid/dist/index.js +1 -0
  1326. package/test/node_modules/hexoid/dist/index.mjs +1 -0
  1327. package/test/node_modules/hexoid/license +9 -0
  1328. package/test/node_modules/hexoid/package.json +45 -0
  1329. package/test/node_modules/hexoid/readme.md +118 -0
  1330. package/test/node_modules/is-binary-path/index.d.ts +17 -0
  1331. package/test/node_modules/is-binary-path/index.js +7 -0
  1332. package/test/node_modules/is-binary-path/license +9 -0
  1333. package/test/node_modules/is-binary-path/package.json +40 -0
  1334. package/test/node_modules/is-binary-path/readme.md +34 -0
  1335. package/test/node_modules/is-extglob/LICENSE +21 -0
  1336. package/test/node_modules/is-extglob/README.md +107 -0
  1337. package/test/node_modules/is-extglob/index.js +20 -0
  1338. package/test/node_modules/is-extglob/package.json +69 -0
  1339. package/test/node_modules/is-fullwidth-code-point/index.d.ts +17 -0
  1340. package/test/node_modules/is-fullwidth-code-point/index.js +50 -0
  1341. package/test/node_modules/is-fullwidth-code-point/license +9 -0
  1342. package/test/node_modules/is-fullwidth-code-point/package.json +42 -0
  1343. package/test/node_modules/is-fullwidth-code-point/readme.md +39 -0
  1344. package/test/node_modules/is-glob/LICENSE +21 -0
  1345. package/test/node_modules/is-glob/README.md +206 -0
  1346. package/test/node_modules/is-glob/index.js +150 -0
  1347. package/test/node_modules/is-glob/package.json +81 -0
  1348. package/test/node_modules/is-number/LICENSE +21 -0
  1349. package/test/node_modules/is-number/README.md +187 -0
  1350. package/test/node_modules/is-number/index.js +18 -0
  1351. package/test/node_modules/is-number/package.json +82 -0
  1352. package/test/node_modules/is-plain-obj/index.d.ts +29 -0
  1353. package/test/node_modules/is-plain-obj/index.js +10 -0
  1354. package/test/node_modules/is-plain-obj/license +9 -0
  1355. package/test/node_modules/is-plain-obj/package.json +38 -0
  1356. package/test/node_modules/is-plain-obj/readme.md +54 -0
  1357. package/test/node_modules/is-unicode-supported/index.d.ts +14 -0
  1358. package/test/node_modules/is-unicode-supported/index.js +13 -0
  1359. package/test/node_modules/is-unicode-supported/license +9 -0
  1360. package/test/node_modules/is-unicode-supported/package.json +41 -0
  1361. package/test/node_modules/is-unicode-supported/readme.md +35 -0
  1362. package/test/node_modules/isexe/LICENSE +15 -0
  1363. package/test/node_modules/isexe/README.md +51 -0
  1364. package/test/node_modules/isexe/index.js +57 -0
  1365. package/test/node_modules/isexe/mode.js +41 -0
  1366. package/test/node_modules/isexe/package.json +31 -0
  1367. package/test/node_modules/isexe/test/basic.js +221 -0
  1368. package/test/node_modules/isexe/windows.js +42 -0
  1369. package/test/node_modules/jackspeak/LICENSE.md +55 -0
  1370. package/test/node_modules/jackspeak/README.md +357 -0
  1371. package/test/node_modules/jackspeak/dist/commonjs/index.d.ts +315 -0
  1372. package/test/node_modules/jackspeak/dist/commonjs/index.d.ts.map +1 -0
  1373. package/test/node_modules/jackspeak/dist/commonjs/index.js +1010 -0
  1374. package/test/node_modules/jackspeak/dist/commonjs/index.js.map +1 -0
  1375. package/test/node_modules/jackspeak/dist/commonjs/package.json +3 -0
  1376. package/test/node_modules/jackspeak/dist/commonjs/parse-args-cjs.cjs.map +1 -0
  1377. package/test/node_modules/jackspeak/dist/commonjs/parse-args-cjs.d.cts.map +1 -0
  1378. package/test/node_modules/jackspeak/dist/commonjs/parse-args.d.ts +4 -0
  1379. package/test/node_modules/jackspeak/dist/commonjs/parse-args.js +50 -0
  1380. package/test/node_modules/jackspeak/dist/esm/index.d.ts +315 -0
  1381. package/test/node_modules/jackspeak/dist/esm/index.d.ts.map +1 -0
  1382. package/test/node_modules/jackspeak/dist/esm/index.js +1000 -0
  1383. package/test/node_modules/jackspeak/dist/esm/index.js.map +1 -0
  1384. package/test/node_modules/jackspeak/dist/esm/package.json +3 -0
  1385. package/test/node_modules/jackspeak/dist/esm/parse-args.d.ts +4 -0
  1386. package/test/node_modules/jackspeak/dist/esm/parse-args.d.ts.map +1 -0
  1387. package/test/node_modules/jackspeak/dist/esm/parse-args.js +26 -0
  1388. package/test/node_modules/jackspeak/dist/esm/parse-args.js.map +1 -0
  1389. package/test/node_modules/jackspeak/package.json +95 -0
  1390. package/test/node_modules/js-yaml/CHANGELOG.md +616 -0
  1391. package/test/node_modules/js-yaml/LICENSE +21 -0
  1392. package/test/node_modules/js-yaml/README.md +246 -0
  1393. package/test/node_modules/js-yaml/bin/js-yaml.js +126 -0
  1394. package/test/node_modules/js-yaml/dist/js-yaml.js +3874 -0
  1395. package/test/node_modules/js-yaml/dist/js-yaml.min.js +2 -0
  1396. package/test/node_modules/js-yaml/dist/js-yaml.mjs +3851 -0
  1397. package/test/node_modules/js-yaml/index.js +47 -0
  1398. package/test/node_modules/js-yaml/lib/common.js +59 -0
  1399. package/test/node_modules/js-yaml/lib/dumper.js +965 -0
  1400. package/test/node_modules/js-yaml/lib/exception.js +55 -0
  1401. package/test/node_modules/js-yaml/lib/loader.js +1727 -0
  1402. package/test/node_modules/js-yaml/lib/schema/core.js +11 -0
  1403. package/test/node_modules/js-yaml/lib/schema/default.js +22 -0
  1404. package/test/node_modules/js-yaml/lib/schema/failsafe.js +17 -0
  1405. package/test/node_modules/js-yaml/lib/schema/json.js +19 -0
  1406. package/test/node_modules/js-yaml/lib/schema.js +121 -0
  1407. package/test/node_modules/js-yaml/lib/snippet.js +101 -0
  1408. package/test/node_modules/js-yaml/lib/type/binary.js +125 -0
  1409. package/test/node_modules/js-yaml/lib/type/bool.js +35 -0
  1410. package/test/node_modules/js-yaml/lib/type/float.js +97 -0
  1411. package/test/node_modules/js-yaml/lib/type/int.js +156 -0
  1412. package/test/node_modules/js-yaml/lib/type/map.js +8 -0
  1413. package/test/node_modules/js-yaml/lib/type/merge.js +12 -0
  1414. package/test/node_modules/js-yaml/lib/type/null.js +35 -0
  1415. package/test/node_modules/js-yaml/lib/type/omap.js +44 -0
  1416. package/test/node_modules/js-yaml/lib/type/pairs.js +53 -0
  1417. package/test/node_modules/js-yaml/lib/type/seq.js +8 -0
  1418. package/test/node_modules/js-yaml/lib/type/set.js +29 -0
  1419. package/test/node_modules/js-yaml/lib/type/str.js +8 -0
  1420. package/test/node_modules/js-yaml/lib/type/timestamp.js +88 -0
  1421. package/test/node_modules/js-yaml/lib/type.js +66 -0
  1422. package/test/node_modules/js-yaml/package.json +66 -0
  1423. package/test/node_modules/locate-path/index.d.ts +83 -0
  1424. package/test/node_modules/locate-path/index.js +68 -0
  1425. package/test/node_modules/locate-path/license +9 -0
  1426. package/test/node_modules/locate-path/package.json +46 -0
  1427. package/test/node_modules/locate-path/readme.md +125 -0
  1428. package/test/node_modules/log-symbols/browser.js +8 -0
  1429. package/test/node_modules/log-symbols/index.d.ts +25 -0
  1430. package/test/node_modules/log-symbols/index.js +19 -0
  1431. package/test/node_modules/log-symbols/license +9 -0
  1432. package/test/node_modules/log-symbols/package.json +52 -0
  1433. package/test/node_modules/log-symbols/readme.md +51 -0
  1434. package/test/node_modules/loupe/LICENSE +9 -0
  1435. package/test/node_modules/loupe/README.md +63 -0
  1436. package/test/node_modules/loupe/lib/arguments.d.ts +3 -0
  1437. package/test/node_modules/loupe/lib/arguments.d.ts.map +1 -0
  1438. package/test/node_modules/loupe/lib/arguments.js +7 -0
  1439. package/test/node_modules/loupe/lib/array.d.ts +3 -0
  1440. package/test/node_modules/loupe/lib/array.d.ts.map +1 -0
  1441. package/test/node_modules/loupe/lib/array.js +16 -0
  1442. package/test/node_modules/loupe/lib/bigint.d.ts +3 -0
  1443. package/test/node_modules/loupe/lib/bigint.d.ts.map +1 -0
  1444. package/test/node_modules/loupe/lib/bigint.js +7 -0
  1445. package/test/node_modules/loupe/lib/class.d.ts +5 -0
  1446. package/test/node_modules/loupe/lib/class.d.ts.map +1 -0
  1447. package/test/node_modules/loupe/lib/class.js +15 -0
  1448. package/test/node_modules/loupe/lib/date.d.ts +3 -0
  1449. package/test/node_modules/loupe/lib/date.d.ts.map +1 -0
  1450. package/test/node_modules/loupe/lib/date.js +11 -0
  1451. package/test/node_modules/loupe/lib/error.d.ts +3 -0
  1452. package/test/node_modules/loupe/lib/error.d.ts.map +1 -0
  1453. package/test/node_modules/loupe/lib/error.js +35 -0
  1454. package/test/node_modules/loupe/lib/function.d.ts +7 -0
  1455. package/test/node_modules/loupe/lib/function.d.ts.map +1 -0
  1456. package/test/node_modules/loupe/lib/function.js +9 -0
  1457. package/test/node_modules/loupe/lib/helpers.d.ts +7 -0
  1458. package/test/node_modules/loupe/lib/helpers.d.ts.map +1 -0
  1459. package/test/node_modules/loupe/lib/helpers.js +159 -0
  1460. package/test/node_modules/loupe/lib/html.d.ts +5 -0
  1461. package/test/node_modules/loupe/lib/html.d.ts.map +1 -0
  1462. package/test/node_modules/loupe/lib/html.js +34 -0
  1463. package/test/node_modules/loupe/lib/index.d.ts +7 -0
  1464. package/test/node_modules/loupe/lib/index.d.ts.map +1 -0
  1465. package/test/node_modules/loupe/lib/index.js +161 -0
  1466. package/test/node_modules/loupe/lib/map.d.ts +3 -0
  1467. package/test/node_modules/loupe/lib/map.d.ts.map +1 -0
  1468. package/test/node_modules/loupe/lib/map.js +22 -0
  1469. package/test/node_modules/loupe/lib/number.d.ts +3 -0
  1470. package/test/node_modules/loupe/lib/number.d.ts.map +1 -0
  1471. package/test/node_modules/loupe/lib/number.js +17 -0
  1472. package/test/node_modules/loupe/lib/object.d.ts +3 -0
  1473. package/test/node_modules/loupe/lib/object.d.ts.map +1 -0
  1474. package/test/node_modules/loupe/lib/object.js +22 -0
  1475. package/test/node_modules/loupe/lib/promise.d.ts +5 -0
  1476. package/test/node_modules/loupe/lib/promise.d.ts.map +1 -0
  1477. package/test/node_modules/loupe/lib/promise.js +18 -0
  1478. package/test/node_modules/loupe/lib/regexp.d.ts +3 -0
  1479. package/test/node_modules/loupe/lib/regexp.d.ts.map +1 -0
  1480. package/test/node_modules/loupe/lib/regexp.js +7 -0
  1481. package/test/node_modules/loupe/lib/set.d.ts +3 -0
  1482. package/test/node_modules/loupe/lib/set.d.ts.map +1 -0
  1483. package/test/node_modules/loupe/lib/set.js +15 -0
  1484. package/test/node_modules/loupe/lib/string.d.ts +3 -0
  1485. package/test/node_modules/loupe/lib/string.d.ts.map +1 -0
  1486. package/test/node_modules/loupe/lib/string.js +24 -0
  1487. package/test/node_modules/loupe/lib/symbol.d.ts +2 -0
  1488. package/test/node_modules/loupe/lib/symbol.d.ts.map +1 -0
  1489. package/test/node_modules/loupe/lib/symbol.js +6 -0
  1490. package/test/node_modules/loupe/lib/typedarray.d.ts +5 -0
  1491. package/test/node_modules/loupe/lib/typedarray.d.ts.map +1 -0
  1492. package/test/node_modules/loupe/lib/typedarray.js +38 -0
  1493. package/test/node_modules/loupe/lib/types.d.ts +15 -0
  1494. package/test/node_modules/loupe/lib/types.d.ts.map +1 -0
  1495. package/test/node_modules/loupe/lib/types.js +1 -0
  1496. package/test/node_modules/loupe/loupe.js +640 -0
  1497. package/test/node_modules/loupe/package.json +73 -0
  1498. package/test/node_modules/lru-cache/LICENSE +15 -0
  1499. package/test/node_modules/lru-cache/README.md +331 -0
  1500. package/test/node_modules/lru-cache/dist/commonjs/index.d.ts +1277 -0
  1501. package/test/node_modules/lru-cache/dist/commonjs/index.d.ts.map +1 -0
  1502. package/test/node_modules/lru-cache/dist/commonjs/index.js +1546 -0
  1503. package/test/node_modules/lru-cache/dist/commonjs/index.js.map +1 -0
  1504. package/test/node_modules/lru-cache/dist/commonjs/index.min.js +2 -0
  1505. package/test/node_modules/lru-cache/dist/commonjs/index.min.js.map +7 -0
  1506. package/test/node_modules/lru-cache/dist/commonjs/package.json +3 -0
  1507. package/test/node_modules/lru-cache/dist/esm/index.d.ts +1277 -0
  1508. package/test/node_modules/lru-cache/dist/esm/index.d.ts.map +1 -0
  1509. package/test/node_modules/lru-cache/dist/esm/index.js +1542 -0
  1510. package/test/node_modules/lru-cache/dist/esm/index.js.map +1 -0
  1511. package/test/node_modules/lru-cache/dist/esm/index.min.js +2 -0
  1512. package/test/node_modules/lru-cache/dist/esm/index.min.js.map +7 -0
  1513. package/test/node_modules/lru-cache/dist/esm/package.json +3 -0
  1514. package/test/node_modules/lru-cache/package.json +116 -0
  1515. package/test/node_modules/math-intrinsics/.eslintrc +16 -0
  1516. package/test/node_modules/math-intrinsics/.github/FUNDING.yml +12 -0
  1517. package/test/node_modules/math-intrinsics/CHANGELOG.md +24 -0
  1518. package/test/node_modules/math-intrinsics/LICENSE +21 -0
  1519. package/test/node_modules/math-intrinsics/README.md +50 -0
  1520. package/test/node_modules/math-intrinsics/abs.d.ts +1 -0
  1521. package/test/node_modules/math-intrinsics/abs.js +4 -0
  1522. package/test/node_modules/math-intrinsics/constants/maxArrayLength.d.ts +3 -0
  1523. package/test/node_modules/math-intrinsics/constants/maxArrayLength.js +4 -0
  1524. package/test/node_modules/math-intrinsics/constants/maxSafeInteger.d.ts +3 -0
  1525. package/test/node_modules/math-intrinsics/constants/maxSafeInteger.js +5 -0
  1526. package/test/node_modules/math-intrinsics/constants/maxValue.d.ts +3 -0
  1527. package/test/node_modules/math-intrinsics/constants/maxValue.js +5 -0
  1528. package/test/node_modules/math-intrinsics/floor.d.ts +1 -0
  1529. package/test/node_modules/math-intrinsics/floor.js +4 -0
  1530. package/test/node_modules/math-intrinsics/isFinite.d.ts +3 -0
  1531. package/test/node_modules/math-intrinsics/isFinite.js +12 -0
  1532. package/test/node_modules/math-intrinsics/isInteger.d.ts +3 -0
  1533. package/test/node_modules/math-intrinsics/isInteger.js +16 -0
  1534. package/test/node_modules/math-intrinsics/isNaN.d.ts +1 -0
  1535. package/test/node_modules/math-intrinsics/isNaN.js +6 -0
  1536. package/test/node_modules/math-intrinsics/isNegativeZero.d.ts +3 -0
  1537. package/test/node_modules/math-intrinsics/isNegativeZero.js +6 -0
  1538. package/test/node_modules/math-intrinsics/max.d.ts +1 -0
  1539. package/test/node_modules/math-intrinsics/max.js +4 -0
  1540. package/test/node_modules/math-intrinsics/min.d.ts +1 -0
  1541. package/test/node_modules/math-intrinsics/min.js +4 -0
  1542. package/test/node_modules/math-intrinsics/mod.d.ts +3 -0
  1543. package/test/node_modules/math-intrinsics/mod.js +9 -0
  1544. package/test/node_modules/math-intrinsics/package.json +86 -0
  1545. package/test/node_modules/math-intrinsics/pow.d.ts +1 -0
  1546. package/test/node_modules/math-intrinsics/pow.js +4 -0
  1547. package/test/node_modules/math-intrinsics/round.d.ts +1 -0
  1548. package/test/node_modules/math-intrinsics/round.js +4 -0
  1549. package/test/node_modules/math-intrinsics/sign.d.ts +3 -0
  1550. package/test/node_modules/math-intrinsics/sign.js +11 -0
  1551. package/test/node_modules/math-intrinsics/test/index.js +192 -0
  1552. package/test/node_modules/math-intrinsics/tsconfig.json +3 -0
  1553. package/test/node_modules/methods/HISTORY.md +29 -0
  1554. package/test/node_modules/methods/LICENSE +24 -0
  1555. package/test/node_modules/methods/README.md +51 -0
  1556. package/test/node_modules/methods/index.js +69 -0
  1557. package/test/node_modules/methods/package.json +36 -0
  1558. package/test/node_modules/mime/CHANGELOG.md +296 -0
  1559. package/test/node_modules/mime/LICENSE +21 -0
  1560. package/test/node_modules/mime/Mime.js +97 -0
  1561. package/test/node_modules/mime/README.md +187 -0
  1562. package/test/node_modules/mime/cli.js +46 -0
  1563. package/test/node_modules/mime/index.js +4 -0
  1564. package/test/node_modules/mime/lite.js +4 -0
  1565. package/test/node_modules/mime/package.json +52 -0
  1566. package/test/node_modules/mime/types/other.js +1 -0
  1567. package/test/node_modules/mime/types/standard.js +1 -0
  1568. package/test/node_modules/mime-db/HISTORY.md +507 -0
  1569. package/test/node_modules/mime-db/LICENSE +23 -0
  1570. package/test/node_modules/mime-db/README.md +100 -0
  1571. package/test/node_modules/mime-db/db.json +8519 -0
  1572. package/test/node_modules/mime-db/index.js +12 -0
  1573. package/test/node_modules/mime-db/package.json +60 -0
  1574. package/test/node_modules/mime-types/HISTORY.md +397 -0
  1575. package/test/node_modules/mime-types/LICENSE +23 -0
  1576. package/test/node_modules/mime-types/README.md +113 -0
  1577. package/test/node_modules/mime-types/index.js +188 -0
  1578. package/test/node_modules/mime-types/package.json +44 -0
  1579. package/test/node_modules/minimatch/LICENSE +15 -0
  1580. package/test/node_modules/minimatch/README.md +259 -0
  1581. package/test/node_modules/minimatch/lib/path.js +4 -0
  1582. package/test/node_modules/minimatch/minimatch.js +944 -0
  1583. package/test/node_modules/minimatch/package.json +35 -0
  1584. package/test/node_modules/minipass/LICENSE +15 -0
  1585. package/test/node_modules/minipass/README.md +825 -0
  1586. package/test/node_modules/minipass/dist/commonjs/index.d.ts +549 -0
  1587. package/test/node_modules/minipass/dist/commonjs/index.d.ts.map +1 -0
  1588. package/test/node_modules/minipass/dist/commonjs/index.js +1028 -0
  1589. package/test/node_modules/minipass/dist/commonjs/index.js.map +1 -0
  1590. package/test/node_modules/minipass/dist/commonjs/package.json +3 -0
  1591. package/test/node_modules/minipass/dist/esm/index.d.ts +549 -0
  1592. package/test/node_modules/minipass/dist/esm/index.d.ts.map +1 -0
  1593. package/test/node_modules/minipass/dist/esm/index.js +1018 -0
  1594. package/test/node_modules/minipass/dist/esm/index.js.map +1 -0
  1595. package/test/node_modules/minipass/dist/esm/package.json +3 -0
  1596. package/test/node_modules/minipass/package.json +82 -0
  1597. package/test/node_modules/mocha/LICENSE +22 -0
  1598. package/test/node_modules/mocha/README.md +74 -0
  1599. package/test/node_modules/mocha/bin/_mocha +10 -0
  1600. package/test/node_modules/mocha/bin/mocha.js +142 -0
  1601. package/test/node_modules/mocha/browser-entry.js +226 -0
  1602. package/test/node_modules/mocha/index.js +3 -0
  1603. package/test/node_modules/mocha/lib/browser/highlight-tags.js +39 -0
  1604. package/test/node_modules/mocha/lib/browser/parse-query.js +24 -0
  1605. package/test/node_modules/mocha/lib/browser/template.html +20 -0
  1606. package/test/node_modules/mocha/lib/cli/cli.js +93 -0
  1607. package/test/node_modules/mocha/lib/cli/collect-files.js +137 -0
  1608. package/test/node_modules/mocha/lib/cli/commands.js +14 -0
  1609. package/test/node_modules/mocha/lib/cli/config.js +100 -0
  1610. package/test/node_modules/mocha/lib/cli/index.js +3 -0
  1611. package/test/node_modules/mocha/lib/cli/init.js +36 -0
  1612. package/test/node_modules/mocha/lib/cli/lookup-files.js +155 -0
  1613. package/test/node_modules/mocha/lib/cli/node-flags.js +85 -0
  1614. package/test/node_modules/mocha/lib/cli/one-and-dones.js +69 -0
  1615. package/test/node_modules/mocha/lib/cli/options.js +337 -0
  1616. package/test/node_modules/mocha/lib/cli/run-helpers.js +304 -0
  1617. package/test/node_modules/mocha/lib/cli/run-option-metadata.js +137 -0
  1618. package/test/node_modules/mocha/lib/cli/run.js +380 -0
  1619. package/test/node_modules/mocha/lib/cli/watch-run.js +377 -0
  1620. package/test/node_modules/mocha/lib/context.js +86 -0
  1621. package/test/node_modules/mocha/lib/errors.js +563 -0
  1622. package/test/node_modules/mocha/lib/hook.js +89 -0
  1623. package/test/node_modules/mocha/lib/interfaces/bdd.js +114 -0
  1624. package/test/node_modules/mocha/lib/interfaces/common.js +193 -0
  1625. package/test/node_modules/mocha/lib/interfaces/exports.js +60 -0
  1626. package/test/node_modules/mocha/lib/interfaces/index.js +6 -0
  1627. package/test/node_modules/mocha/lib/interfaces/qunit.js +98 -0
  1628. package/test/node_modules/mocha/lib/interfaces/tdd.js +106 -0
  1629. package/test/node_modules/mocha/lib/mocha.js +1334 -0
  1630. package/test/node_modules/mocha/lib/mocharc.json +10 -0
  1631. package/test/node_modules/mocha/lib/nodejs/buffered-worker-pool.js +188 -0
  1632. package/test/node_modules/mocha/lib/nodejs/esm-utils.js +106 -0
  1633. package/test/node_modules/mocha/lib/nodejs/file-unloader.js +15 -0
  1634. package/test/node_modules/mocha/lib/nodejs/parallel-buffered-runner.js +433 -0
  1635. package/test/node_modules/mocha/lib/nodejs/reporters/parallel-buffered.js +165 -0
  1636. package/test/node_modules/mocha/lib/nodejs/serializer.js +414 -0
  1637. package/test/node_modules/mocha/lib/nodejs/worker.js +151 -0
  1638. package/test/node_modules/mocha/lib/pending.js +16 -0
  1639. package/test/node_modules/mocha/lib/plugin-loader.js +286 -0
  1640. package/test/node_modules/mocha/lib/reporters/base.js +591 -0
  1641. package/test/node_modules/mocha/lib/reporters/doc.js +95 -0
  1642. package/test/node_modules/mocha/lib/reporters/dot.js +81 -0
  1643. package/test/node_modules/mocha/lib/reporters/html.js +420 -0
  1644. package/test/node_modules/mocha/lib/reporters/index.js +19 -0
  1645. package/test/node_modules/mocha/lib/reporters/json-stream.js +92 -0
  1646. package/test/node_modules/mocha/lib/reporters/json.js +162 -0
  1647. package/test/node_modules/mocha/lib/reporters/landing.js +116 -0
  1648. package/test/node_modules/mocha/lib/reporters/list.js +78 -0
  1649. package/test/node_modules/mocha/lib/reporters/markdown.js +112 -0
  1650. package/test/node_modules/mocha/lib/reporters/min.js +52 -0
  1651. package/test/node_modules/mocha/lib/reporters/nyan.js +267 -0
  1652. package/test/node_modules/mocha/lib/reporters/progress.js +104 -0
  1653. package/test/node_modules/mocha/lib/reporters/spec.js +99 -0
  1654. package/test/node_modules/mocha/lib/reporters/tap.js +293 -0
  1655. package/test/node_modules/mocha/lib/reporters/xunit.js +218 -0
  1656. package/test/node_modules/mocha/lib/runnable.js +474 -0
  1657. package/test/node_modules/mocha/lib/runner.js +1267 -0
  1658. package/test/node_modules/mocha/lib/stats-collector.js +83 -0
  1659. package/test/node_modules/mocha/lib/suite.js +666 -0
  1660. package/test/node_modules/mocha/lib/test.js +113 -0
  1661. package/test/node_modules/mocha/lib/utils.js +698 -0
  1662. package/test/node_modules/mocha/mocha.css +455 -0
  1663. package/test/node_modules/mocha/mocha.js +20785 -0
  1664. package/test/node_modules/mocha/mocha.js.map +1 -0
  1665. package/test/node_modules/mocha/package.json +207 -0
  1666. package/test/node_modules/ms/index.js +162 -0
  1667. package/test/node_modules/ms/license.md +21 -0
  1668. package/test/node_modules/ms/package.json +38 -0
  1669. package/test/node_modules/ms/readme.md +59 -0
  1670. package/test/node_modules/node-domexception/.history/README_20210527203617.md +2 -0
  1671. package/test/node_modules/node-domexception/.history/README_20210527212714.md +41 -0
  1672. package/test/node_modules/node-domexception/.history/README_20210527213345.md +36 -0
  1673. package/test/node_modules/node-domexception/.history/README_20210527213411.md +36 -0
  1674. package/test/node_modules/node-domexception/.history/README_20210527213803.md +36 -0
  1675. package/test/node_modules/node-domexception/.history/README_20210527214323.md +38 -0
  1676. package/test/node_modules/node-domexception/.history/README_20210527214408.md +38 -0
  1677. package/test/node_modules/node-domexception/.history/index_20210527203842.js +0 -0
  1678. package/test/node_modules/node-domexception/.history/index_20210527203947.js +8 -0
  1679. package/test/node_modules/node-domexception/.history/index_20210527204259.js +9 -0
  1680. package/test/node_modules/node-domexception/.history/index_20210527204418.js +9 -0
  1681. package/test/node_modules/node-domexception/.history/index_20210527204756.js +11 -0
  1682. package/test/node_modules/node-domexception/.history/index_20210527204833.js +11 -0
  1683. package/test/node_modules/node-domexception/.history/index_20210527211208.js +15 -0
  1684. package/test/node_modules/node-domexception/.history/index_20210527211248.js +15 -0
  1685. package/test/node_modules/node-domexception/.history/index_20210527212722.js +23 -0
  1686. package/test/node_modules/node-domexception/.history/index_20210527212731.js +23 -0
  1687. package/test/node_modules/node-domexception/.history/index_20210527212746.js +15 -0
  1688. package/test/node_modules/node-domexception/.history/index_20210527212900.js +16 -0
  1689. package/test/node_modules/node-domexception/.history/index_20210527213022.js +16 -0
  1690. package/test/node_modules/node-domexception/.history/index_20210527213822.js +16 -0
  1691. package/test/node_modules/node-domexception/.history/index_20210527213843.js +17 -0
  1692. package/test/node_modules/node-domexception/.history/index_20210527213852.js +17 -0
  1693. package/test/node_modules/node-domexception/.history/index_20210527213910.js +16 -0
  1694. package/test/node_modules/node-domexception/.history/index_20210527214034.js +16 -0
  1695. package/test/node_modules/node-domexception/.history/index_20210527214643.js +41 -0
  1696. package/test/node_modules/node-domexception/.history/index_20210527214654.js +41 -0
  1697. package/test/node_modules/node-domexception/.history/index_20210527214700.js +16 -0
  1698. package/test/node_modules/node-domexception/.history/package_20210527203733.json +19 -0
  1699. package/test/node_modules/node-domexception/.history/package_20210527203825.json +16 -0
  1700. package/test/node_modules/node-domexception/.history/package_20210527204621.json +19 -0
  1701. package/test/node_modules/node-domexception/.history/package_20210527204913.json +25 -0
  1702. package/test/node_modules/node-domexception/.history/package_20210527204925.json +25 -0
  1703. package/test/node_modules/node-domexception/.history/package_20210527205145.json +29 -0
  1704. package/test/node_modules/node-domexception/.history/package_20210527205156.json +29 -0
  1705. package/test/node_modules/node-domexception/.history/test_20210527205603.js +0 -0
  1706. package/test/node_modules/node-domexception/.history/test_20210527205957.js +3 -0
  1707. package/test/node_modules/node-domexception/.history/test_20210527210021.js +3 -0
  1708. package/test/node_modules/node-domexception/LICENSE +21 -0
  1709. package/test/node_modules/node-domexception/README.md +46 -0
  1710. package/test/node_modules/node-domexception/index.js +16 -0
  1711. package/test/node_modules/node-domexception/package.json +29 -0
  1712. package/test/node_modules/node-fetch/@types/index.d.ts +219 -0
  1713. package/test/node_modules/node-fetch/LICENSE.md +22 -0
  1714. package/test/node_modules/node-fetch/README.md +872 -0
  1715. package/test/node_modules/node-fetch/package.json +131 -0
  1716. package/test/node_modules/node-fetch/src/body.js +397 -0
  1717. package/test/node_modules/node-fetch/src/errors/abort-error.js +10 -0
  1718. package/test/node_modules/node-fetch/src/errors/base.js +17 -0
  1719. package/test/node_modules/node-fetch/src/errors/fetch-error.js +26 -0
  1720. package/test/node_modules/node-fetch/src/headers.js +267 -0
  1721. package/test/node_modules/node-fetch/src/index.js +417 -0
  1722. package/test/node_modules/node-fetch/src/request.js +313 -0
  1723. package/test/node_modules/node-fetch/src/response.js +160 -0
  1724. package/test/node_modules/node-fetch/src/utils/get-search.js +9 -0
  1725. package/test/node_modules/node-fetch/src/utils/is-redirect.js +11 -0
  1726. package/test/node_modules/node-fetch/src/utils/is.js +87 -0
  1727. package/test/node_modules/node-fetch/src/utils/multipart-parser.js +432 -0
  1728. package/test/node_modules/node-fetch/src/utils/referrer.js +340 -0
  1729. package/test/node_modules/normalize-path/LICENSE +21 -0
  1730. package/test/node_modules/normalize-path/README.md +127 -0
  1731. package/test/node_modules/normalize-path/index.js +35 -0
  1732. package/test/node_modules/normalize-path/package.json +77 -0
  1733. package/test/node_modules/object-inspect/.eslintrc +53 -0
  1734. package/test/node_modules/object-inspect/.github/FUNDING.yml +12 -0
  1735. package/test/node_modules/object-inspect/.nycrc +13 -0
  1736. package/test/node_modules/object-inspect/CHANGELOG.md +424 -0
  1737. package/test/node_modules/object-inspect/LICENSE +21 -0
  1738. package/test/node_modules/object-inspect/example/all.js +23 -0
  1739. package/test/node_modules/object-inspect/example/circular.js +6 -0
  1740. package/test/node_modules/object-inspect/example/fn.js +5 -0
  1741. package/test/node_modules/object-inspect/example/inspect.js +10 -0
  1742. package/test/node_modules/object-inspect/index.js +544 -0
  1743. package/test/node_modules/object-inspect/package-support.json +20 -0
  1744. package/test/node_modules/object-inspect/package.json +105 -0
  1745. package/test/node_modules/object-inspect/readme.markdown +84 -0
  1746. package/test/node_modules/object-inspect/test/bigint.js +58 -0
  1747. package/test/node_modules/object-inspect/test/browser/dom.js +15 -0
  1748. package/test/node_modules/object-inspect/test/circular.js +16 -0
  1749. package/test/node_modules/object-inspect/test/deep.js +12 -0
  1750. package/test/node_modules/object-inspect/test/element.js +53 -0
  1751. package/test/node_modules/object-inspect/test/err.js +48 -0
  1752. package/test/node_modules/object-inspect/test/fakes.js +29 -0
  1753. package/test/node_modules/object-inspect/test/fn.js +76 -0
  1754. package/test/node_modules/object-inspect/test/global.js +17 -0
  1755. package/test/node_modules/object-inspect/test/has.js +15 -0
  1756. package/test/node_modules/object-inspect/test/holes.js +15 -0
  1757. package/test/node_modules/object-inspect/test/indent-option.js +271 -0
  1758. package/test/node_modules/object-inspect/test/inspect.js +139 -0
  1759. package/test/node_modules/object-inspect/test/lowbyte.js +12 -0
  1760. package/test/node_modules/object-inspect/test/number.js +58 -0
  1761. package/test/node_modules/object-inspect/test/quoteStyle.js +26 -0
  1762. package/test/node_modules/object-inspect/test/toStringTag.js +40 -0
  1763. package/test/node_modules/object-inspect/test/undef.js +12 -0
  1764. package/test/node_modules/object-inspect/test/values.js +261 -0
  1765. package/test/node_modules/object-inspect/test-core-js.js +26 -0
  1766. package/test/node_modules/object-inspect/util.inspect.js +1 -0
  1767. package/test/node_modules/once/LICENSE +15 -0
  1768. package/test/node_modules/once/README.md +79 -0
  1769. package/test/node_modules/once/once.js +42 -0
  1770. package/test/node_modules/once/package.json +33 -0
  1771. package/test/node_modules/p-limit/index.d.ts +42 -0
  1772. package/test/node_modules/p-limit/index.js +71 -0
  1773. package/test/node_modules/p-limit/license +9 -0
  1774. package/test/node_modules/p-limit/package.json +52 -0
  1775. package/test/node_modules/p-limit/readme.md +101 -0
  1776. package/test/node_modules/p-locate/index.d.ts +53 -0
  1777. package/test/node_modules/p-locate/index.js +50 -0
  1778. package/test/node_modules/p-locate/license +9 -0
  1779. package/test/node_modules/p-locate/package.json +54 -0
  1780. package/test/node_modules/p-locate/readme.md +93 -0
  1781. package/test/node_modules/package-json-from-dist/LICENSE.md +63 -0
  1782. package/test/node_modules/package-json-from-dist/README.md +110 -0
  1783. package/test/node_modules/package-json-from-dist/dist/commonjs/index.d.ts +89 -0
  1784. package/test/node_modules/package-json-from-dist/dist/commonjs/index.d.ts.map +1 -0
  1785. package/test/node_modules/package-json-from-dist/dist/commonjs/index.js +134 -0
  1786. package/test/node_modules/package-json-from-dist/dist/commonjs/index.js.map +1 -0
  1787. package/test/node_modules/package-json-from-dist/dist/commonjs/package.json +3 -0
  1788. package/test/node_modules/package-json-from-dist/dist/esm/index.d.ts +89 -0
  1789. package/test/node_modules/package-json-from-dist/dist/esm/index.d.ts.map +1 -0
  1790. package/test/node_modules/package-json-from-dist/dist/esm/index.js +129 -0
  1791. package/test/node_modules/package-json-from-dist/dist/esm/index.js.map +1 -0
  1792. package/test/node_modules/package-json-from-dist/dist/esm/package.json +3 -0
  1793. package/test/node_modules/package-json-from-dist/package.json +68 -0
  1794. package/test/node_modules/path-exists/index.d.ts +28 -0
  1795. package/test/node_modules/path-exists/index.js +23 -0
  1796. package/test/node_modules/path-exists/license +9 -0
  1797. package/test/node_modules/path-exists/package.json +39 -0
  1798. package/test/node_modules/path-exists/readme.md +52 -0
  1799. package/test/node_modules/path-key/index.d.ts +40 -0
  1800. package/test/node_modules/path-key/index.js +16 -0
  1801. package/test/node_modules/path-key/license +9 -0
  1802. package/test/node_modules/path-key/package.json +39 -0
  1803. package/test/node_modules/path-key/readme.md +61 -0
  1804. package/test/node_modules/path-scurry/LICENSE.md +55 -0
  1805. package/test/node_modules/path-scurry/README.md +636 -0
  1806. package/test/node_modules/path-scurry/dist/commonjs/index.d.ts +1116 -0
  1807. package/test/node_modules/path-scurry/dist/commonjs/index.d.ts.map +1 -0
  1808. package/test/node_modules/path-scurry/dist/commonjs/index.js +2014 -0
  1809. package/test/node_modules/path-scurry/dist/commonjs/index.js.map +1 -0
  1810. package/test/node_modules/path-scurry/dist/commonjs/package.json +3 -0
  1811. package/test/node_modules/path-scurry/dist/esm/index.d.ts +1116 -0
  1812. package/test/node_modules/path-scurry/dist/esm/index.d.ts.map +1 -0
  1813. package/test/node_modules/path-scurry/dist/esm/index.js +1979 -0
  1814. package/test/node_modules/path-scurry/dist/esm/index.js.map +1 -0
  1815. package/test/node_modules/path-scurry/dist/esm/package.json +3 -0
  1816. package/test/node_modules/path-scurry/package.json +89 -0
  1817. package/test/node_modules/pathval/LICENSE +16 -0
  1818. package/test/node_modules/pathval/README.md +147 -0
  1819. package/test/node_modules/pathval/index.js +292 -0
  1820. package/test/node_modules/pathval/package.json +73 -0
  1821. package/test/node_modules/pathval/pathval.js +1 -0
  1822. package/test/node_modules/picomatch/CHANGELOG.md +136 -0
  1823. package/test/node_modules/picomatch/LICENSE +21 -0
  1824. package/test/node_modules/picomatch/README.md +708 -0
  1825. package/test/node_modules/picomatch/index.js +3 -0
  1826. package/test/node_modules/picomatch/lib/constants.js +179 -0
  1827. package/test/node_modules/picomatch/lib/parse.js +1091 -0
  1828. package/test/node_modules/picomatch/lib/picomatch.js +342 -0
  1829. package/test/node_modules/picomatch/lib/scan.js +391 -0
  1830. package/test/node_modules/picomatch/lib/utils.js +64 -0
  1831. package/test/node_modules/picomatch/package.json +81 -0
  1832. package/test/node_modules/qs/.editorconfig +46 -0
  1833. package/test/node_modules/qs/.eslintrc +39 -0
  1834. package/test/node_modules/qs/.github/FUNDING.yml +12 -0
  1835. package/test/node_modules/qs/.nycrc +13 -0
  1836. package/test/node_modules/qs/CHANGELOG.md +622 -0
  1837. package/test/node_modules/qs/LICENSE.md +29 -0
  1838. package/test/node_modules/qs/README.md +733 -0
  1839. package/test/node_modules/qs/dist/qs.js +141 -0
  1840. package/test/node_modules/qs/lib/formats.js +23 -0
  1841. package/test/node_modules/qs/lib/index.js +11 -0
  1842. package/test/node_modules/qs/lib/parse.js +328 -0
  1843. package/test/node_modules/qs/lib/stringify.js +356 -0
  1844. package/test/node_modules/qs/lib/utils.js +268 -0
  1845. package/test/node_modules/qs/package.json +93 -0
  1846. package/test/node_modules/qs/test/empty-keys-cases.js +267 -0
  1847. package/test/node_modules/qs/test/parse.js +1276 -0
  1848. package/test/node_modules/qs/test/stringify.js +1306 -0
  1849. package/test/node_modules/qs/test/utils.js +262 -0
  1850. package/test/node_modules/randombytes/.travis.yml +15 -0
  1851. package/test/node_modules/randombytes/.zuul.yml +1 -0
  1852. package/test/node_modules/randombytes/LICENSE +21 -0
  1853. package/test/node_modules/randombytes/README.md +14 -0
  1854. package/test/node_modules/randombytes/browser.js +50 -0
  1855. package/test/node_modules/randombytes/index.js +1 -0
  1856. package/test/node_modules/randombytes/package.json +36 -0
  1857. package/test/node_modules/randombytes/test.js +81 -0
  1858. package/test/node_modules/readdirp/LICENSE +21 -0
  1859. package/test/node_modules/readdirp/README.md +122 -0
  1860. package/test/node_modules/readdirp/index.d.ts +43 -0
  1861. package/test/node_modules/readdirp/index.js +287 -0
  1862. package/test/node_modules/readdirp/package.json +122 -0
  1863. package/test/node_modules/require-directory/.jshintrc +67 -0
  1864. package/test/node_modules/require-directory/.travis.yml +3 -0
  1865. package/test/node_modules/require-directory/LICENSE +22 -0
  1866. package/test/node_modules/require-directory/README.markdown +184 -0
  1867. package/test/node_modules/require-directory/index.js +86 -0
  1868. package/test/node_modules/require-directory/package.json +40 -0
  1869. package/test/node_modules/safe-buffer/LICENSE +21 -0
  1870. package/test/node_modules/safe-buffer/README.md +584 -0
  1871. package/test/node_modules/safe-buffer/index.d.ts +187 -0
  1872. package/test/node_modules/safe-buffer/index.js +65 -0
  1873. package/test/node_modules/safe-buffer/package.json +51 -0
  1874. package/test/node_modules/serialize-javascript/LICENSE +27 -0
  1875. package/test/node_modules/serialize-javascript/README.md +143 -0
  1876. package/test/node_modules/serialize-javascript/index.js +268 -0
  1877. package/test/node_modules/serialize-javascript/package.json +36 -0
  1878. package/test/node_modules/sessionless-node/README.md +44 -0
  1879. package/test/node_modules/sessionless-node/package.json +26 -0
  1880. package/test/node_modules/sessionless-node/sessionless.cjs +96 -0
  1881. package/test/node_modules/sessionless-node/sessionless.js +95 -0
  1882. package/test/node_modules/sessionless-node/test/sessionless.js +78 -0
  1883. package/test/node_modules/shebang-command/index.js +19 -0
  1884. package/test/node_modules/shebang-command/license +9 -0
  1885. package/test/node_modules/shebang-command/package.json +34 -0
  1886. package/test/node_modules/shebang-command/readme.md +34 -0
  1887. package/test/node_modules/shebang-regex/index.d.ts +22 -0
  1888. package/test/node_modules/shebang-regex/index.js +2 -0
  1889. package/test/node_modules/shebang-regex/license +9 -0
  1890. package/test/node_modules/shebang-regex/package.json +35 -0
  1891. package/test/node_modules/shebang-regex/readme.md +33 -0
  1892. package/test/node_modules/side-channel/.editorconfig +9 -0
  1893. package/test/node_modules/side-channel/.eslintrc +12 -0
  1894. package/test/node_modules/side-channel/.github/FUNDING.yml +12 -0
  1895. package/test/node_modules/side-channel/.nycrc +13 -0
  1896. package/test/node_modules/side-channel/CHANGELOG.md +110 -0
  1897. package/test/node_modules/side-channel/LICENSE +21 -0
  1898. package/test/node_modules/side-channel/README.md +61 -0
  1899. package/test/node_modules/side-channel/index.d.ts +14 -0
  1900. package/test/node_modules/side-channel/index.js +43 -0
  1901. package/test/node_modules/side-channel/package.json +85 -0
  1902. package/test/node_modules/side-channel/test/index.js +104 -0
  1903. package/test/node_modules/side-channel/tsconfig.json +9 -0
  1904. package/test/node_modules/side-channel-list/.editorconfig +9 -0
  1905. package/test/node_modules/side-channel-list/.eslintrc +11 -0
  1906. package/test/node_modules/side-channel-list/.github/FUNDING.yml +12 -0
  1907. package/test/node_modules/side-channel-list/.nycrc +13 -0
  1908. package/test/node_modules/side-channel-list/CHANGELOG.md +15 -0
  1909. package/test/node_modules/side-channel-list/LICENSE +21 -0
  1910. package/test/node_modules/side-channel-list/README.md +62 -0
  1911. package/test/node_modules/side-channel-list/index.d.ts +13 -0
  1912. package/test/node_modules/side-channel-list/index.js +113 -0
  1913. package/test/node_modules/side-channel-list/list.d.ts +14 -0
  1914. package/test/node_modules/side-channel-list/package.json +77 -0
  1915. package/test/node_modules/side-channel-list/test/index.js +104 -0
  1916. package/test/node_modules/side-channel-list/tsconfig.json +9 -0
  1917. package/test/node_modules/side-channel-map/.editorconfig +9 -0
  1918. package/test/node_modules/side-channel-map/.eslintrc +11 -0
  1919. package/test/node_modules/side-channel-map/.github/FUNDING.yml +12 -0
  1920. package/test/node_modules/side-channel-map/.nycrc +13 -0
  1921. package/test/node_modules/side-channel-map/CHANGELOG.md +22 -0
  1922. package/test/node_modules/side-channel-map/LICENSE +21 -0
  1923. package/test/node_modules/side-channel-map/README.md +62 -0
  1924. package/test/node_modules/side-channel-map/index.d.ts +15 -0
  1925. package/test/node_modules/side-channel-map/index.js +68 -0
  1926. package/test/node_modules/side-channel-map/package.json +80 -0
  1927. package/test/node_modules/side-channel-map/test/index.js +114 -0
  1928. package/test/node_modules/side-channel-map/tsconfig.json +9 -0
  1929. package/test/node_modules/side-channel-weakmap/.editorconfig +9 -0
  1930. package/test/node_modules/side-channel-weakmap/.eslintrc +12 -0
  1931. package/test/node_modules/side-channel-weakmap/.github/FUNDING.yml +12 -0
  1932. package/test/node_modules/side-channel-weakmap/.nycrc +13 -0
  1933. package/test/node_modules/side-channel-weakmap/CHANGELOG.md +28 -0
  1934. package/test/node_modules/side-channel-weakmap/LICENSE +21 -0
  1935. package/test/node_modules/side-channel-weakmap/README.md +62 -0
  1936. package/test/node_modules/side-channel-weakmap/index.d.ts +15 -0
  1937. package/test/node_modules/side-channel-weakmap/index.js +84 -0
  1938. package/test/node_modules/side-channel-weakmap/package.json +87 -0
  1939. package/test/node_modules/side-channel-weakmap/test/index.js +114 -0
  1940. package/test/node_modules/side-channel-weakmap/tsconfig.json +9 -0
  1941. package/test/node_modules/signal-exit/LICENSE.txt +16 -0
  1942. package/test/node_modules/signal-exit/README.md +74 -0
  1943. package/test/node_modules/signal-exit/dist/cjs/browser.d.ts +12 -0
  1944. package/test/node_modules/signal-exit/dist/cjs/browser.d.ts.map +1 -0
  1945. package/test/node_modules/signal-exit/dist/cjs/browser.js +10 -0
  1946. package/test/node_modules/signal-exit/dist/cjs/browser.js.map +1 -0
  1947. package/test/node_modules/signal-exit/dist/cjs/index.d.ts +48 -0
  1948. package/test/node_modules/signal-exit/dist/cjs/index.d.ts.map +1 -0
  1949. package/test/node_modules/signal-exit/dist/cjs/index.js +279 -0
  1950. package/test/node_modules/signal-exit/dist/cjs/index.js.map +1 -0
  1951. package/test/node_modules/signal-exit/dist/cjs/package.json +3 -0
  1952. package/test/node_modules/signal-exit/dist/cjs/signals.d.ts +29 -0
  1953. package/test/node_modules/signal-exit/dist/cjs/signals.d.ts.map +1 -0
  1954. package/test/node_modules/signal-exit/dist/cjs/signals.js +42 -0
  1955. package/test/node_modules/signal-exit/dist/cjs/signals.js.map +1 -0
  1956. package/test/node_modules/signal-exit/dist/mjs/browser.d.ts +12 -0
  1957. package/test/node_modules/signal-exit/dist/mjs/browser.d.ts.map +1 -0
  1958. package/test/node_modules/signal-exit/dist/mjs/browser.js +4 -0
  1959. package/test/node_modules/signal-exit/dist/mjs/browser.js.map +1 -0
  1960. package/test/node_modules/signal-exit/dist/mjs/index.d.ts +48 -0
  1961. package/test/node_modules/signal-exit/dist/mjs/index.d.ts.map +1 -0
  1962. package/test/node_modules/signal-exit/dist/mjs/index.js +275 -0
  1963. package/test/node_modules/signal-exit/dist/mjs/index.js.map +1 -0
  1964. package/test/node_modules/signal-exit/dist/mjs/package.json +3 -0
  1965. package/test/node_modules/signal-exit/dist/mjs/signals.d.ts +29 -0
  1966. package/test/node_modules/signal-exit/dist/mjs/signals.d.ts.map +1 -0
  1967. package/test/node_modules/signal-exit/dist/mjs/signals.js +39 -0
  1968. package/test/node_modules/signal-exit/dist/mjs/signals.js.map +1 -0
  1969. package/test/node_modules/signal-exit/package.json +106 -0
  1970. package/test/node_modules/string-width/index.d.ts +29 -0
  1971. package/test/node_modules/string-width/index.js +54 -0
  1972. package/test/node_modules/string-width/license +9 -0
  1973. package/test/node_modules/string-width/package.json +59 -0
  1974. package/test/node_modules/string-width/readme.md +67 -0
  1975. package/test/node_modules/string-width-cjs/index.d.ts +29 -0
  1976. package/test/node_modules/string-width-cjs/index.js +47 -0
  1977. package/test/node_modules/string-width-cjs/license +9 -0
  1978. package/test/node_modules/string-width-cjs/node_modules/ansi-regex/index.d.ts +37 -0
  1979. package/test/node_modules/string-width-cjs/node_modules/ansi-regex/index.js +10 -0
  1980. package/test/node_modules/string-width-cjs/node_modules/ansi-regex/license +9 -0
  1981. package/test/node_modules/string-width-cjs/node_modules/ansi-regex/package.json +55 -0
  1982. package/test/node_modules/string-width-cjs/node_modules/ansi-regex/readme.md +78 -0
  1983. package/test/node_modules/string-width-cjs/node_modules/emoji-regex/LICENSE-MIT.txt +20 -0
  1984. package/test/node_modules/string-width-cjs/node_modules/emoji-regex/README.md +73 -0
  1985. package/test/node_modules/string-width-cjs/node_modules/emoji-regex/es2015/index.js +6 -0
  1986. package/test/node_modules/string-width-cjs/node_modules/emoji-regex/es2015/text.js +6 -0
  1987. package/test/node_modules/string-width-cjs/node_modules/emoji-regex/index.d.ts +23 -0
  1988. package/test/node_modules/string-width-cjs/node_modules/emoji-regex/index.js +6 -0
  1989. package/test/node_modules/string-width-cjs/node_modules/emoji-regex/package.json +50 -0
  1990. package/test/node_modules/string-width-cjs/node_modules/emoji-regex/text.js +6 -0
  1991. package/test/node_modules/string-width-cjs/node_modules/strip-ansi/index.d.ts +17 -0
  1992. package/test/node_modules/string-width-cjs/node_modules/strip-ansi/index.js +4 -0
  1993. package/test/node_modules/string-width-cjs/node_modules/strip-ansi/license +9 -0
  1994. package/test/node_modules/string-width-cjs/node_modules/strip-ansi/package.json +54 -0
  1995. package/test/node_modules/string-width-cjs/node_modules/strip-ansi/readme.md +46 -0
  1996. package/test/node_modules/string-width-cjs/package.json +56 -0
  1997. package/test/node_modules/string-width-cjs/readme.md +50 -0
  1998. package/test/node_modules/strip-ansi/index.d.ts +15 -0
  1999. package/test/node_modules/strip-ansi/index.js +14 -0
  2000. package/test/node_modules/strip-ansi/license +9 -0
  2001. package/test/node_modules/strip-ansi/package.json +57 -0
  2002. package/test/node_modules/strip-ansi/readme.md +41 -0
  2003. package/test/node_modules/strip-ansi-cjs/index.d.ts +17 -0
  2004. package/test/node_modules/strip-ansi-cjs/index.js +4 -0
  2005. package/test/node_modules/strip-ansi-cjs/license +9 -0
  2006. package/test/node_modules/strip-ansi-cjs/node_modules/ansi-regex/index.d.ts +37 -0
  2007. package/test/node_modules/strip-ansi-cjs/node_modules/ansi-regex/index.js +10 -0
  2008. package/test/node_modules/strip-ansi-cjs/node_modules/ansi-regex/license +9 -0
  2009. package/test/node_modules/strip-ansi-cjs/node_modules/ansi-regex/package.json +55 -0
  2010. package/test/node_modules/strip-ansi-cjs/node_modules/ansi-regex/readme.md +78 -0
  2011. package/test/node_modules/strip-ansi-cjs/package.json +54 -0
  2012. package/test/node_modules/strip-ansi-cjs/readme.md +46 -0
  2013. package/test/node_modules/strip-json-comments/index.d.ts +36 -0
  2014. package/test/node_modules/strip-json-comments/index.js +77 -0
  2015. package/test/node_modules/strip-json-comments/license +9 -0
  2016. package/test/node_modules/strip-json-comments/package.json +47 -0
  2017. package/test/node_modules/strip-json-comments/readme.md +78 -0
  2018. package/test/node_modules/superagent/LICENSE +22 -0
  2019. package/test/node_modules/superagent/README.md +273 -0
  2020. package/test/node_modules/superagent/dist/superagent.js +3399 -0
  2021. package/test/node_modules/superagent/dist/superagent.min.js +1 -0
  2022. package/test/node_modules/superagent/lib/agent-base.js +28 -0
  2023. package/test/node_modules/superagent/lib/client.js +949 -0
  2024. package/test/node_modules/superagent/lib/node/agent.js +100 -0
  2025. package/test/node_modules/superagent/lib/node/decompress.js +20 -0
  2026. package/test/node_modules/superagent/lib/node/http2wrapper.js +158 -0
  2027. package/test/node_modules/superagent/lib/node/index.js +1318 -0
  2028. package/test/node_modules/superagent/lib/node/parsers/image.js +13 -0
  2029. package/test/node_modules/superagent/lib/node/parsers/index.js +11 -0
  2030. package/test/node_modules/superagent/lib/node/parsers/json.js +25 -0
  2031. package/test/node_modules/superagent/lib/node/parsers/text.js +11 -0
  2032. package/test/node_modules/superagent/lib/node/parsers/urlencoded.js +22 -0
  2033. package/test/node_modules/superagent/lib/node/response.js +143 -0
  2034. package/test/node_modules/superagent/lib/node/unzip.js +74 -0
  2035. package/test/node_modules/superagent/lib/request-base.js +720 -0
  2036. package/test/node_modules/superagent/lib/response-base.js +120 -0
  2037. package/test/node_modules/superagent/lib/utils.js +126 -0
  2038. package/test/node_modules/superagent/package.json +131 -0
  2039. package/test/node_modules/supports-color/browser.js +24 -0
  2040. package/test/node_modules/supports-color/index.js +152 -0
  2041. package/test/node_modules/supports-color/license +9 -0
  2042. package/test/node_modules/supports-color/package.json +58 -0
  2043. package/test/node_modules/supports-color/readme.md +77 -0
  2044. package/test/node_modules/to-regex-range/LICENSE +21 -0
  2045. package/test/node_modules/to-regex-range/README.md +305 -0
  2046. package/test/node_modules/to-regex-range/index.js +288 -0
  2047. package/test/node_modules/to-regex-range/package.json +88 -0
  2048. package/test/node_modules/uuid/CHANGELOG.md +274 -0
  2049. package/test/node_modules/uuid/CONTRIBUTING.md +18 -0
  2050. package/test/node_modules/uuid/LICENSE.md +9 -0
  2051. package/test/node_modules/uuid/README.md +466 -0
  2052. package/test/node_modules/uuid/dist/bin/uuid +2 -0
  2053. package/test/node_modules/uuid/dist/commonjs-browser/index.js +79 -0
  2054. package/test/node_modules/uuid/dist/commonjs-browser/md5.js +223 -0
  2055. package/test/node_modules/uuid/dist/commonjs-browser/native.js +11 -0
  2056. package/test/node_modules/uuid/dist/commonjs-browser/nil.js +8 -0
  2057. package/test/node_modules/uuid/dist/commonjs-browser/parse.js +45 -0
  2058. package/test/node_modules/uuid/dist/commonjs-browser/regex.js +8 -0
  2059. package/test/node_modules/uuid/dist/commonjs-browser/rng.js +25 -0
  2060. package/test/node_modules/uuid/dist/commonjs-browser/sha1.js +104 -0
  2061. package/test/node_modules/uuid/dist/commonjs-browser/stringify.js +44 -0
  2062. package/test/node_modules/uuid/dist/commonjs-browser/v1.js +107 -0
  2063. package/test/node_modules/uuid/dist/commonjs-browser/v3.js +16 -0
  2064. package/test/node_modules/uuid/dist/commonjs-browser/v35.js +80 -0
  2065. package/test/node_modules/uuid/dist/commonjs-browser/v4.js +43 -0
  2066. package/test/node_modules/uuid/dist/commonjs-browser/v5.js +16 -0
  2067. package/test/node_modules/uuid/dist/commonjs-browser/validate.js +17 -0
  2068. package/test/node_modules/uuid/dist/commonjs-browser/version.js +21 -0
  2069. package/test/node_modules/uuid/dist/esm-browser/index.js +9 -0
  2070. package/test/node_modules/uuid/dist/esm-browser/md5.js +215 -0
  2071. package/test/node_modules/uuid/dist/esm-browser/native.js +4 -0
  2072. package/test/node_modules/uuid/dist/esm-browser/nil.js +1 -0
  2073. package/test/node_modules/uuid/dist/esm-browser/parse.js +35 -0
  2074. package/test/node_modules/uuid/dist/esm-browser/regex.js +1 -0
  2075. package/test/node_modules/uuid/dist/esm-browser/rng.js +18 -0
  2076. package/test/node_modules/uuid/dist/esm-browser/sha1.js +96 -0
  2077. package/test/node_modules/uuid/dist/esm-browser/stringify.js +33 -0
  2078. package/test/node_modules/uuid/dist/esm-browser/v1.js +95 -0
  2079. package/test/node_modules/uuid/dist/esm-browser/v3.js +4 -0
  2080. package/test/node_modules/uuid/dist/esm-browser/v35.js +66 -0
  2081. package/test/node_modules/uuid/dist/esm-browser/v4.js +29 -0
  2082. package/test/node_modules/uuid/dist/esm-browser/v5.js +4 -0
  2083. package/test/node_modules/uuid/dist/esm-browser/validate.js +7 -0
  2084. package/test/node_modules/uuid/dist/esm-browser/version.js +11 -0
  2085. package/test/node_modules/uuid/dist/esm-node/index.js +9 -0
  2086. package/test/node_modules/uuid/dist/esm-node/md5.js +13 -0
  2087. package/test/node_modules/uuid/dist/esm-node/native.js +4 -0
  2088. package/test/node_modules/uuid/dist/esm-node/nil.js +1 -0
  2089. package/test/node_modules/uuid/dist/esm-node/parse.js +35 -0
  2090. package/test/node_modules/uuid/dist/esm-node/regex.js +1 -0
  2091. package/test/node_modules/uuid/dist/esm-node/rng.js +12 -0
  2092. package/test/node_modules/uuid/dist/esm-node/sha1.js +13 -0
  2093. package/test/node_modules/uuid/dist/esm-node/stringify.js +33 -0
  2094. package/test/node_modules/uuid/dist/esm-node/v1.js +95 -0
  2095. package/test/node_modules/uuid/dist/esm-node/v3.js +4 -0
  2096. package/test/node_modules/uuid/dist/esm-node/v35.js +66 -0
  2097. package/test/node_modules/uuid/dist/esm-node/v4.js +29 -0
  2098. package/test/node_modules/uuid/dist/esm-node/v5.js +4 -0
  2099. package/test/node_modules/uuid/dist/esm-node/validate.js +7 -0
  2100. package/test/node_modules/uuid/dist/esm-node/version.js +11 -0
  2101. package/test/node_modules/uuid/dist/index.js +79 -0
  2102. package/test/node_modules/uuid/dist/md5-browser.js +223 -0
  2103. package/test/node_modules/uuid/dist/md5.js +23 -0
  2104. package/test/node_modules/uuid/dist/native-browser.js +11 -0
  2105. package/test/node_modules/uuid/dist/native.js +15 -0
  2106. package/test/node_modules/uuid/dist/nil.js +8 -0
  2107. package/test/node_modules/uuid/dist/parse.js +45 -0
  2108. package/test/node_modules/uuid/dist/regex.js +8 -0
  2109. package/test/node_modules/uuid/dist/rng-browser.js +25 -0
  2110. package/test/node_modules/uuid/dist/rng.js +24 -0
  2111. package/test/node_modules/uuid/dist/sha1-browser.js +104 -0
  2112. package/test/node_modules/uuid/dist/sha1.js +23 -0
  2113. package/test/node_modules/uuid/dist/stringify.js +44 -0
  2114. package/test/node_modules/uuid/dist/uuid-bin.js +85 -0
  2115. package/test/node_modules/uuid/dist/v1.js +107 -0
  2116. package/test/node_modules/uuid/dist/v3.js +16 -0
  2117. package/test/node_modules/uuid/dist/v35.js +80 -0
  2118. package/test/node_modules/uuid/dist/v4.js +43 -0
  2119. package/test/node_modules/uuid/dist/v5.js +16 -0
  2120. package/test/node_modules/uuid/dist/validate.js +17 -0
  2121. package/test/node_modules/uuid/dist/version.js +21 -0
  2122. package/test/node_modules/uuid/package.json +135 -0
  2123. package/test/node_modules/uuid/wrapper.mjs +10 -0
  2124. package/test/node_modules/web-streams-polyfill/LICENSE +22 -0
  2125. package/test/node_modules/web-streams-polyfill/README.md +110 -0
  2126. package/test/node_modules/web-streams-polyfill/dist/polyfill.es2018.js +4765 -0
  2127. package/test/node_modules/web-streams-polyfill/dist/polyfill.es2018.js.map +1 -0
  2128. package/test/node_modules/web-streams-polyfill/dist/polyfill.es2018.min.js +9 -0
  2129. package/test/node_modules/web-streams-polyfill/dist/polyfill.es2018.min.js.map +1 -0
  2130. package/test/node_modules/web-streams-polyfill/dist/polyfill.es2018.mjs +4745 -0
  2131. package/test/node_modules/web-streams-polyfill/dist/polyfill.es2018.mjs.map +1 -0
  2132. package/test/node_modules/web-streams-polyfill/dist/polyfill.es6.js +4838 -0
  2133. package/test/node_modules/web-streams-polyfill/dist/polyfill.es6.js.map +1 -0
  2134. package/test/node_modules/web-streams-polyfill/dist/polyfill.es6.min.js +9 -0
  2135. package/test/node_modules/web-streams-polyfill/dist/polyfill.es6.min.js.map +1 -0
  2136. package/test/node_modules/web-streams-polyfill/dist/polyfill.es6.mjs +4818 -0
  2137. package/test/node_modules/web-streams-polyfill/dist/polyfill.es6.mjs.map +1 -0
  2138. package/test/node_modules/web-streams-polyfill/dist/polyfill.js +5011 -0
  2139. package/test/node_modules/web-streams-polyfill/dist/polyfill.js.map +1 -0
  2140. package/test/node_modules/web-streams-polyfill/dist/polyfill.min.js +9 -0
  2141. package/test/node_modules/web-streams-polyfill/dist/polyfill.min.js.map +1 -0
  2142. package/test/node_modules/web-streams-polyfill/dist/polyfill.mjs +4991 -0
  2143. package/test/node_modules/web-streams-polyfill/dist/polyfill.mjs.map +1 -0
  2144. package/test/node_modules/web-streams-polyfill/dist/ponyfill.es2018.js +4737 -0
  2145. package/test/node_modules/web-streams-polyfill/dist/ponyfill.es2018.js.map +1 -0
  2146. package/test/node_modules/web-streams-polyfill/dist/ponyfill.es2018.mjs +4717 -0
  2147. package/test/node_modules/web-streams-polyfill/dist/ponyfill.es2018.mjs.map +1 -0
  2148. package/test/node_modules/web-streams-polyfill/dist/ponyfill.es6.js +4810 -0
  2149. package/test/node_modules/web-streams-polyfill/dist/ponyfill.es6.js.map +1 -0
  2150. package/test/node_modules/web-streams-polyfill/dist/ponyfill.es6.mjs +4790 -0
  2151. package/test/node_modules/web-streams-polyfill/dist/ponyfill.es6.mjs.map +1 -0
  2152. package/test/node_modules/web-streams-polyfill/dist/ponyfill.js +4983 -0
  2153. package/test/node_modules/web-streams-polyfill/dist/ponyfill.js.map +1 -0
  2154. package/test/node_modules/web-streams-polyfill/dist/ponyfill.mjs +4963 -0
  2155. package/test/node_modules/web-streams-polyfill/dist/ponyfill.mjs.map +1 -0
  2156. package/test/node_modules/web-streams-polyfill/dist/types/polyfill.d.ts +24 -0
  2157. package/test/node_modules/web-streams-polyfill/dist/types/ponyfill.d.ts +780 -0
  2158. package/test/node_modules/web-streams-polyfill/dist/types/ts3.6/polyfill.d.ts +28 -0
  2159. package/test/node_modules/web-streams-polyfill/dist/types/ts3.6/ponyfill.d.ts +821 -0
  2160. package/test/node_modules/web-streams-polyfill/dist/types/tsdoc-metadata.json +11 -0
  2161. package/test/node_modules/web-streams-polyfill/es2018/package.json +14 -0
  2162. package/test/node_modules/web-streams-polyfill/es6/package.json +14 -0
  2163. package/test/node_modules/web-streams-polyfill/package.json +83 -0
  2164. package/test/node_modules/web-streams-polyfill/ponyfill/es2018/package.json +13 -0
  2165. package/test/node_modules/web-streams-polyfill/ponyfill/es6/package.json +13 -0
  2166. package/test/node_modules/web-streams-polyfill/ponyfill/package.json +13 -0
  2167. package/test/node_modules/which/CHANGELOG.md +166 -0
  2168. package/test/node_modules/which/LICENSE +15 -0
  2169. package/test/node_modules/which/README.md +54 -0
  2170. package/test/node_modules/which/bin/node-which +52 -0
  2171. package/test/node_modules/which/package.json +43 -0
  2172. package/test/node_modules/which/which.js +125 -0
  2173. package/test/node_modules/workerpool/HISTORY.md +330 -0
  2174. package/test/node_modules/workerpool/LICENSE +201 -0
  2175. package/test/node_modules/workerpool/README.md +529 -0
  2176. package/test/node_modules/workerpool/dist/worker.js +318 -0
  2177. package/test/node_modules/workerpool/dist/worker.js.map +1 -0
  2178. package/test/node_modules/workerpool/dist/workerpool.js +1645 -0
  2179. package/test/node_modules/workerpool/dist/workerpool.js.map +1 -0
  2180. package/test/node_modules/workerpool/dist/workerpool.min.js +3 -0
  2181. package/test/node_modules/workerpool/dist/workerpool.min.js.LICENSE.txt +24 -0
  2182. package/test/node_modules/workerpool/dist/workerpool.min.js.map +1 -0
  2183. package/test/node_modules/workerpool/package.json +51 -0
  2184. package/test/node_modules/workerpool/src/Pool.js +452 -0
  2185. package/test/node_modules/workerpool/src/Promise.js +279 -0
  2186. package/test/node_modules/workerpool/src/WorkerHandler.js +508 -0
  2187. package/test/node_modules/workerpool/src/debug-port-allocator.js +28 -0
  2188. package/test/node_modules/workerpool/src/environment.js +36 -0
  2189. package/test/node_modules/workerpool/src/generated/embeddedWorker.js +6 -0
  2190. package/test/node_modules/workerpool/src/header.js +24 -0
  2191. package/test/node_modules/workerpool/src/index.js +48 -0
  2192. package/test/node_modules/workerpool/src/requireFoolWebpack.js +8 -0
  2193. package/test/node_modules/workerpool/src/transfer.js +12 -0
  2194. package/test/node_modules/workerpool/src/types.js +31 -0
  2195. package/test/node_modules/workerpool/src/worker.js +263 -0
  2196. package/test/node_modules/wrap-ansi/index.d.ts +41 -0
  2197. package/test/node_modules/wrap-ansi/index.js +214 -0
  2198. package/test/node_modules/wrap-ansi/license +9 -0
  2199. package/test/node_modules/wrap-ansi/node_modules/ansi-styles/index.d.ts +236 -0
  2200. package/test/node_modules/wrap-ansi/node_modules/ansi-styles/index.js +223 -0
  2201. package/test/node_modules/wrap-ansi/node_modules/ansi-styles/license +9 -0
  2202. package/test/node_modules/wrap-ansi/node_modules/ansi-styles/package.json +54 -0
  2203. package/test/node_modules/wrap-ansi/node_modules/ansi-styles/readme.md +173 -0
  2204. package/test/node_modules/wrap-ansi/package.json +69 -0
  2205. package/test/node_modules/wrap-ansi/readme.md +91 -0
  2206. package/test/node_modules/wrap-ansi-cjs/index.js +216 -0
  2207. package/test/node_modules/wrap-ansi-cjs/license +9 -0
  2208. package/test/node_modules/wrap-ansi-cjs/node_modules/ansi-regex/index.d.ts +37 -0
  2209. package/test/node_modules/wrap-ansi-cjs/node_modules/ansi-regex/index.js +10 -0
  2210. package/test/node_modules/wrap-ansi-cjs/node_modules/ansi-regex/license +9 -0
  2211. package/test/node_modules/wrap-ansi-cjs/node_modules/ansi-regex/package.json +55 -0
  2212. package/test/node_modules/wrap-ansi-cjs/node_modules/ansi-regex/readme.md +78 -0
  2213. package/test/node_modules/wrap-ansi-cjs/node_modules/emoji-regex/LICENSE-MIT.txt +20 -0
  2214. package/test/node_modules/wrap-ansi-cjs/node_modules/emoji-regex/README.md +73 -0
  2215. package/test/node_modules/wrap-ansi-cjs/node_modules/emoji-regex/es2015/index.js +6 -0
  2216. package/test/node_modules/wrap-ansi-cjs/node_modules/emoji-regex/es2015/text.js +6 -0
  2217. package/test/node_modules/wrap-ansi-cjs/node_modules/emoji-regex/index.d.ts +23 -0
  2218. package/test/node_modules/wrap-ansi-cjs/node_modules/emoji-regex/index.js +6 -0
  2219. package/test/node_modules/wrap-ansi-cjs/node_modules/emoji-regex/package.json +50 -0
  2220. package/test/node_modules/wrap-ansi-cjs/node_modules/emoji-regex/text.js +6 -0
  2221. package/test/node_modules/wrap-ansi-cjs/node_modules/string-width/index.d.ts +29 -0
  2222. package/test/node_modules/wrap-ansi-cjs/node_modules/string-width/index.js +47 -0
  2223. package/test/node_modules/wrap-ansi-cjs/node_modules/string-width/license +9 -0
  2224. package/test/node_modules/wrap-ansi-cjs/node_modules/string-width/package.json +56 -0
  2225. package/test/node_modules/wrap-ansi-cjs/node_modules/string-width/readme.md +50 -0
  2226. package/test/node_modules/wrap-ansi-cjs/node_modules/strip-ansi/index.d.ts +17 -0
  2227. package/test/node_modules/wrap-ansi-cjs/node_modules/strip-ansi/index.js +4 -0
  2228. package/test/node_modules/wrap-ansi-cjs/node_modules/strip-ansi/license +9 -0
  2229. package/test/node_modules/wrap-ansi-cjs/node_modules/strip-ansi/package.json +54 -0
  2230. package/test/node_modules/wrap-ansi-cjs/node_modules/strip-ansi/readme.md +46 -0
  2231. package/test/node_modules/wrap-ansi-cjs/package.json +62 -0
  2232. package/test/node_modules/wrap-ansi-cjs/readme.md +91 -0
  2233. package/test/node_modules/wrappy/LICENSE +15 -0
  2234. package/test/node_modules/wrappy/README.md +36 -0
  2235. package/test/node_modules/wrappy/package.json +29 -0
  2236. package/test/node_modules/wrappy/wrappy.js +33 -0
  2237. package/test/node_modules/y18n/CHANGELOG.md +100 -0
  2238. package/test/node_modules/y18n/LICENSE +13 -0
  2239. package/test/node_modules/y18n/README.md +127 -0
  2240. package/test/node_modules/y18n/build/index.cjs +203 -0
  2241. package/test/node_modules/y18n/build/lib/cjs.js +6 -0
  2242. package/test/node_modules/y18n/build/lib/index.js +174 -0
  2243. package/test/node_modules/y18n/build/lib/platform-shims/node.js +19 -0
  2244. package/test/node_modules/y18n/index.mjs +8 -0
  2245. package/test/node_modules/y18n/package.json +70 -0
  2246. package/test/node_modules/yargs/LICENSE +21 -0
  2247. package/test/node_modules/yargs/README.md +204 -0
  2248. package/test/node_modules/yargs/browser.d.ts +5 -0
  2249. package/test/node_modules/yargs/browser.mjs +7 -0
  2250. package/test/node_modules/yargs/build/index.cjs +1 -0
  2251. package/test/node_modules/yargs/build/lib/argsert.js +62 -0
  2252. package/test/node_modules/yargs/build/lib/command.js +449 -0
  2253. package/test/node_modules/yargs/build/lib/completion-templates.js +48 -0
  2254. package/test/node_modules/yargs/build/lib/completion.js +243 -0
  2255. package/test/node_modules/yargs/build/lib/middleware.js +88 -0
  2256. package/test/node_modules/yargs/build/lib/parse-command.js +32 -0
  2257. package/test/node_modules/yargs/build/lib/typings/common-types.js +9 -0
  2258. package/test/node_modules/yargs/build/lib/typings/yargs-parser-types.js +1 -0
  2259. package/test/node_modules/yargs/build/lib/usage.js +584 -0
  2260. package/test/node_modules/yargs/build/lib/utils/apply-extends.js +59 -0
  2261. package/test/node_modules/yargs/build/lib/utils/is-promise.js +5 -0
  2262. package/test/node_modules/yargs/build/lib/utils/levenshtein.js +34 -0
  2263. package/test/node_modules/yargs/build/lib/utils/maybe-async-result.js +17 -0
  2264. package/test/node_modules/yargs/build/lib/utils/obj-filter.js +10 -0
  2265. package/test/node_modules/yargs/build/lib/utils/process-argv.js +17 -0
  2266. package/test/node_modules/yargs/build/lib/utils/set-blocking.js +12 -0
  2267. package/test/node_modules/yargs/build/lib/utils/which-module.js +10 -0
  2268. package/test/node_modules/yargs/build/lib/validation.js +305 -0
  2269. package/test/node_modules/yargs/build/lib/yargs-factory.js +1512 -0
  2270. package/test/node_modules/yargs/build/lib/yerror.js +9 -0
  2271. package/test/node_modules/yargs/helpers/helpers.mjs +10 -0
  2272. package/test/node_modules/yargs/helpers/index.js +14 -0
  2273. package/test/node_modules/yargs/helpers/package.json +3 -0
  2274. package/test/node_modules/yargs/index.cjs +53 -0
  2275. package/test/node_modules/yargs/index.mjs +8 -0
  2276. package/test/node_modules/yargs/lib/platform-shims/browser.mjs +95 -0
  2277. package/test/node_modules/yargs/lib/platform-shims/esm.mjs +73 -0
  2278. package/test/node_modules/yargs/locales/be.json +46 -0
  2279. package/test/node_modules/yargs/locales/cs.json +51 -0
  2280. package/test/node_modules/yargs/locales/de.json +46 -0
  2281. package/test/node_modules/yargs/locales/en.json +55 -0
  2282. package/test/node_modules/yargs/locales/es.json +46 -0
  2283. package/test/node_modules/yargs/locales/fi.json +49 -0
  2284. package/test/node_modules/yargs/locales/fr.json +53 -0
  2285. package/test/node_modules/yargs/locales/hi.json +49 -0
  2286. package/test/node_modules/yargs/locales/hu.json +46 -0
  2287. package/test/node_modules/yargs/locales/id.json +50 -0
  2288. package/test/node_modules/yargs/locales/it.json +46 -0
  2289. package/test/node_modules/yargs/locales/ja.json +51 -0
  2290. package/test/node_modules/yargs/locales/ko.json +49 -0
  2291. package/test/node_modules/yargs/locales/nb.json +44 -0
  2292. package/test/node_modules/yargs/locales/nl.json +49 -0
  2293. package/test/node_modules/yargs/locales/nn.json +44 -0
  2294. package/test/node_modules/yargs/locales/pirate.json +13 -0
  2295. package/test/node_modules/yargs/locales/pl.json +49 -0
  2296. package/test/node_modules/yargs/locales/pt.json +45 -0
  2297. package/test/node_modules/yargs/locales/pt_BR.json +48 -0
  2298. package/test/node_modules/yargs/locales/ru.json +51 -0
  2299. package/test/node_modules/yargs/locales/th.json +46 -0
  2300. package/test/node_modules/yargs/locales/tr.json +48 -0
  2301. package/test/node_modules/yargs/locales/uk_UA.json +51 -0
  2302. package/test/node_modules/yargs/locales/uz.json +52 -0
  2303. package/test/node_modules/yargs/locales/zh_CN.json +48 -0
  2304. package/test/node_modules/yargs/locales/zh_TW.json +51 -0
  2305. package/test/node_modules/yargs/node_modules/ansi-regex/index.d.ts +37 -0
  2306. package/test/node_modules/yargs/node_modules/ansi-regex/index.js +10 -0
  2307. package/test/node_modules/yargs/node_modules/ansi-regex/license +9 -0
  2308. package/test/node_modules/yargs/node_modules/ansi-regex/package.json +55 -0
  2309. package/test/node_modules/yargs/node_modules/ansi-regex/readme.md +78 -0
  2310. package/test/node_modules/yargs/node_modules/emoji-regex/LICENSE-MIT.txt +20 -0
  2311. package/test/node_modules/yargs/node_modules/emoji-regex/README.md +73 -0
  2312. package/test/node_modules/yargs/node_modules/emoji-regex/es2015/index.js +6 -0
  2313. package/test/node_modules/yargs/node_modules/emoji-regex/es2015/text.js +6 -0
  2314. package/test/node_modules/yargs/node_modules/emoji-regex/index.d.ts +23 -0
  2315. package/test/node_modules/yargs/node_modules/emoji-regex/index.js +6 -0
  2316. package/test/node_modules/yargs/node_modules/emoji-regex/package.json +50 -0
  2317. package/test/node_modules/yargs/node_modules/emoji-regex/text.js +6 -0
  2318. package/test/node_modules/yargs/node_modules/string-width/index.d.ts +29 -0
  2319. package/test/node_modules/yargs/node_modules/string-width/index.js +47 -0
  2320. package/test/node_modules/yargs/node_modules/string-width/license +9 -0
  2321. package/test/node_modules/yargs/node_modules/string-width/package.json +56 -0
  2322. package/test/node_modules/yargs/node_modules/string-width/readme.md +50 -0
  2323. package/test/node_modules/yargs/node_modules/strip-ansi/index.d.ts +17 -0
  2324. package/test/node_modules/yargs/node_modules/strip-ansi/index.js +4 -0
  2325. package/test/node_modules/yargs/node_modules/strip-ansi/license +9 -0
  2326. package/test/node_modules/yargs/node_modules/strip-ansi/package.json +54 -0
  2327. package/test/node_modules/yargs/node_modules/strip-ansi/readme.md +46 -0
  2328. package/test/node_modules/yargs/package.json +123 -0
  2329. package/test/node_modules/yargs/yargs +9 -0
  2330. package/test/node_modules/yargs/yargs.mjs +10 -0
  2331. package/test/node_modules/yargs-parser/CHANGELOG.md +308 -0
  2332. package/test/node_modules/yargs-parser/LICENSE.txt +14 -0
  2333. package/test/node_modules/yargs-parser/README.md +518 -0
  2334. package/test/node_modules/yargs-parser/browser.js +29 -0
  2335. package/test/node_modules/yargs-parser/build/index.cjs +1050 -0
  2336. package/test/node_modules/yargs-parser/build/lib/index.js +62 -0
  2337. package/test/node_modules/yargs-parser/build/lib/string-utils.js +65 -0
  2338. package/test/node_modules/yargs-parser/build/lib/tokenize-arg-string.js +40 -0
  2339. package/test/node_modules/yargs-parser/build/lib/yargs-parser-types.js +12 -0
  2340. package/test/node_modules/yargs-parser/build/lib/yargs-parser.js +1045 -0
  2341. package/test/node_modules/yargs-parser/package.json +92 -0
  2342. package/test/node_modules/yargs-unparser/CHANGELOG.md +82 -0
  2343. package/test/node_modules/yargs-unparser/LICENSE +21 -0
  2344. package/test/node_modules/yargs-unparser/README.md +86 -0
  2345. package/test/node_modules/yargs-unparser/index.js +166 -0
  2346. package/test/node_modules/yargs-unparser/package.json +49 -0
  2347. package/test/node_modules/yocto-queue/index.d.ts +56 -0
  2348. package/test/node_modules/yocto-queue/index.js +68 -0
  2349. package/test/node_modules/yocto-queue/license +9 -0
  2350. package/test/node_modules/yocto-queue/package.json +43 -0
  2351. package/test/node_modules/yocto-queue/readme.md +64 -0
  2352. package/test/package-lock.json +1997 -0
  2353. package/test/package.json +20 -0
  2354. package/test/test.js +87 -0
@@ -0,0 +1,1318 @@
1
+ "use strict";
2
+
3
+ /**
4
+ * Module dependencies.
5
+ */
6
+
7
+ const {
8
+ format
9
+ } = require('url');
10
+ const Stream = require('stream');
11
+ const https = require('https');
12
+ const http = require('http');
13
+ const fs = require('fs');
14
+ const zlib = require('zlib');
15
+ const util = require('util');
16
+ const qs = require('qs');
17
+ const mime = require('mime');
18
+ let methods = require('methods');
19
+ const FormData = require('form-data');
20
+ const formidable = require('formidable');
21
+ const debug = require('debug')('superagent');
22
+ const CookieJar = require('cookiejar');
23
+ const safeStringify = require('fast-safe-stringify');
24
+ const utils = require('../utils');
25
+ const RequestBase = require('../request-base');
26
+ const http2 = require('./http2wrapper');
27
+ const {
28
+ decompress
29
+ } = require('./unzip');
30
+ const Response = require('./response');
31
+ const {
32
+ mixin,
33
+ hasOwn,
34
+ isBrotliEncoding,
35
+ isGzipOrDeflateEncoding
36
+ } = utils;
37
+ const {
38
+ chooseDecompresser
39
+ } = require('./decompress');
40
+ function request(method, url) {
41
+ // callback
42
+ if (typeof url === 'function') {
43
+ return new exports.Request('GET', method).end(url);
44
+ }
45
+
46
+ // url first
47
+ if (arguments.length === 1) {
48
+ return new exports.Request('GET', method);
49
+ }
50
+ return new exports.Request(method, url);
51
+ }
52
+ module.exports = request;
53
+ exports = module.exports;
54
+
55
+ /**
56
+ * Expose `Request`.
57
+ */
58
+
59
+ exports.Request = Request;
60
+
61
+ /**
62
+ * Expose the agent function
63
+ */
64
+
65
+ exports.agent = require('./agent');
66
+
67
+ /**
68
+ * Noop.
69
+ */
70
+
71
+ function noop() {}
72
+
73
+ /**
74
+ * Expose `Response`.
75
+ */
76
+
77
+ exports.Response = Response;
78
+
79
+ /**
80
+ * Define "form" mime type.
81
+ */
82
+
83
+ mime.define({
84
+ 'application/x-www-form-urlencoded': ['form', 'urlencoded', 'form-data']
85
+ }, true);
86
+
87
+ /**
88
+ * Protocol map.
89
+ */
90
+
91
+ exports.protocols = {
92
+ 'http:': http,
93
+ 'https:': https,
94
+ 'http2:': http2
95
+ };
96
+
97
+ /**
98
+ * Default serialization map.
99
+ *
100
+ * superagent.serialize['application/xml'] = function(obj){
101
+ * return 'generated xml here';
102
+ * };
103
+ *
104
+ */
105
+
106
+ exports.serialize = {
107
+ 'application/x-www-form-urlencoded': obj => {
108
+ return qs.stringify(obj, {
109
+ indices: false,
110
+ strictNullHandling: true
111
+ });
112
+ },
113
+ 'application/json': safeStringify
114
+ };
115
+
116
+ /**
117
+ * Default parsers.
118
+ *
119
+ * superagent.parse['application/xml'] = function(res, fn){
120
+ * fn(null, res);
121
+ * };
122
+ *
123
+ */
124
+
125
+ exports.parse = require('./parsers');
126
+
127
+ /**
128
+ * Default buffering map. Can be used to set certain
129
+ * response types to buffer/not buffer.
130
+ *
131
+ * superagent.buffer['application/xml'] = true;
132
+ */
133
+ exports.buffer = {};
134
+
135
+ /**
136
+ * Initialize internal header tracking properties on a request instance.
137
+ *
138
+ * @param {Object} req the instance
139
+ * @api private
140
+ */
141
+ function _initHeaders(request_) {
142
+ request_._header = {
143
+ // coerces header names to lowercase
144
+ };
145
+ request_.header = {
146
+ // preserves header name case
147
+ };
148
+ }
149
+
150
+ /**
151
+ * Initialize a new `Request` with the given `method` and `url`.
152
+ *
153
+ * @param {String} method
154
+ * @param {String|Object} url
155
+ * @api public
156
+ */
157
+
158
+ function Request(method, url) {
159
+ Stream.call(this);
160
+ if (typeof url !== 'string') url = format(url);
161
+ this._enableHttp2 = Boolean(process.env.HTTP2_TEST); // internal only
162
+ this._agent = false;
163
+ this._formData = null;
164
+ this.method = method;
165
+ this.url = url;
166
+ _initHeaders(this);
167
+ this.writable = true;
168
+ this._redirects = 0;
169
+ this.redirects(method === 'HEAD' ? 0 : 5);
170
+ this.cookies = '';
171
+ this.qs = {};
172
+ this._query = [];
173
+ this.qsRaw = this._query; // Unused, for backwards compatibility only
174
+ this._redirectList = [];
175
+ this._streamRequest = false;
176
+ this._lookup = undefined;
177
+ this.once('end', this.clearTimeout.bind(this));
178
+ }
179
+
180
+ /**
181
+ * Inherit from `Stream` (which inherits from `EventEmitter`).
182
+ * Mixin `RequestBase`.
183
+ */
184
+ util.inherits(Request, Stream);
185
+ mixin(Request.prototype, RequestBase.prototype);
186
+
187
+ /**
188
+ * Enable or Disable http2.
189
+ *
190
+ * Enable http2.
191
+ *
192
+ * ``` js
193
+ * request.get('http://localhost/')
194
+ * .http2()
195
+ * .end(callback);
196
+ *
197
+ * request.get('http://localhost/')
198
+ * .http2(true)
199
+ * .end(callback);
200
+ * ```
201
+ *
202
+ * Disable http2.
203
+ *
204
+ * ``` js
205
+ * request = request.http2();
206
+ * request.get('http://localhost/')
207
+ * .http2(false)
208
+ * .end(callback);
209
+ * ```
210
+ *
211
+ * @param {Boolean} enable
212
+ * @return {Request} for chaining
213
+ * @api public
214
+ */
215
+
216
+ Request.prototype.http2 = function (bool) {
217
+ if (exports.protocols['http2:'] === undefined) {
218
+ throw new Error('superagent: this version of Node.js does not support http2');
219
+ }
220
+ this._enableHttp2 = bool === undefined ? true : bool;
221
+ return this;
222
+ };
223
+
224
+ /**
225
+ * Queue the given `file` as an attachment to the specified `field`,
226
+ * with optional `options` (or filename).
227
+ *
228
+ * ``` js
229
+ * request.post('http://localhost/upload')
230
+ * .attach('field', Buffer.from('<b>Hello world</b>'), 'hello.html')
231
+ * .end(callback);
232
+ * ```
233
+ *
234
+ * A filename may also be used:
235
+ *
236
+ * ``` js
237
+ * request.post('http://localhost/upload')
238
+ * .attach('files', 'image.jpg')
239
+ * .end(callback);
240
+ * ```
241
+ *
242
+ * @param {String} field
243
+ * @param {String|fs.ReadStream|Buffer} file
244
+ * @param {String|Object} options
245
+ * @return {Request} for chaining
246
+ * @api public
247
+ */
248
+
249
+ Request.prototype.attach = function (field, file, options) {
250
+ if (file) {
251
+ if (this._data) {
252
+ throw new Error("superagent can't mix .send() and .attach()");
253
+ }
254
+ let o = options || {};
255
+ if (typeof options === 'string') {
256
+ o = {
257
+ filename: options
258
+ };
259
+ }
260
+ if (typeof file === 'string') {
261
+ if (!o.filename) o.filename = file;
262
+ debug('creating `fs.ReadStream` instance for file: %s', file);
263
+ file = fs.createReadStream(file);
264
+ file.on('error', error => {
265
+ const formData = this._getFormData();
266
+ formData.emit('error', error);
267
+ });
268
+ } else if (!o.filename && file.path) {
269
+ o.filename = file.path;
270
+ }
271
+ this._getFormData().append(field, file, o);
272
+ }
273
+ return this;
274
+ };
275
+ Request.prototype._getFormData = function () {
276
+ if (!this._formData) {
277
+ this._formData = new FormData();
278
+ this._formData.on('error', error => {
279
+ debug('FormData error', error);
280
+ if (this.called) {
281
+ // The request has already finished and the callback was called.
282
+ // Silently ignore the error.
283
+ return;
284
+ }
285
+ this.callback(error);
286
+ this.abort();
287
+ });
288
+ }
289
+ return this._formData;
290
+ };
291
+
292
+ /**
293
+ * Gets/sets the `Agent` to use for this HTTP request. The default (if this
294
+ * function is not called) is to opt out of connection pooling (`agent: false`).
295
+ *
296
+ * @param {http.Agent} agent
297
+ * @return {http.Agent}
298
+ * @api public
299
+ */
300
+
301
+ Request.prototype.agent = function (agent) {
302
+ if (arguments.length === 0) return this._agent;
303
+ this._agent = agent;
304
+ return this;
305
+ };
306
+
307
+ /**
308
+ * Gets/sets the `lookup` function to use custom DNS resolver.
309
+ *
310
+ * @param {Function} lookup
311
+ * @return {Function}
312
+ * @api public
313
+ */
314
+
315
+ Request.prototype.lookup = function (lookup) {
316
+ if (arguments.length === 0) return this._lookup;
317
+ this._lookup = lookup;
318
+ return this;
319
+ };
320
+
321
+ /**
322
+ * Set _Content-Type_ response header passed through `mime.getType()`.
323
+ *
324
+ * Examples:
325
+ *
326
+ * request.post('/')
327
+ * .type('xml')
328
+ * .send(xmlstring)
329
+ * .end(callback);
330
+ *
331
+ * request.post('/')
332
+ * .type('json')
333
+ * .send(jsonstring)
334
+ * .end(callback);
335
+ *
336
+ * request.post('/')
337
+ * .type('application/json')
338
+ * .send(jsonstring)
339
+ * .end(callback);
340
+ *
341
+ * @param {String} type
342
+ * @return {Request} for chaining
343
+ * @api public
344
+ */
345
+
346
+ Request.prototype.type = function (type) {
347
+ return this.set('Content-Type', type.includes('/') ? type : mime.getType(type));
348
+ };
349
+
350
+ /**
351
+ * Set _Accept_ response header passed through `mime.getType()`.
352
+ *
353
+ * Examples:
354
+ *
355
+ * superagent.types.json = 'application/json';
356
+ *
357
+ * request.get('/agent')
358
+ * .accept('json')
359
+ * .end(callback);
360
+ *
361
+ * request.get('/agent')
362
+ * .accept('application/json')
363
+ * .end(callback);
364
+ *
365
+ * @param {String} accept
366
+ * @return {Request} for chaining
367
+ * @api public
368
+ */
369
+
370
+ Request.prototype.accept = function (type) {
371
+ return this.set('Accept', type.includes('/') ? type : mime.getType(type));
372
+ };
373
+
374
+ /**
375
+ * Add query-string `val`.
376
+ *
377
+ * Examples:
378
+ *
379
+ * request.get('/shoes')
380
+ * .query('size=10')
381
+ * .query({ color: 'blue' })
382
+ *
383
+ * @param {Object|String} val
384
+ * @return {Request} for chaining
385
+ * @api public
386
+ */
387
+
388
+ Request.prototype.query = function (value) {
389
+ if (typeof value === 'string') {
390
+ this._query.push(value);
391
+ } else {
392
+ Object.assign(this.qs, value);
393
+ }
394
+ return this;
395
+ };
396
+
397
+ /**
398
+ * Write raw `data` / `encoding` to the socket.
399
+ *
400
+ * @param {Buffer|String} data
401
+ * @param {String} encoding
402
+ * @return {Boolean}
403
+ * @api public
404
+ */
405
+
406
+ Request.prototype.write = function (data, encoding) {
407
+ const request_ = this.request();
408
+ if (!this._streamRequest) {
409
+ this._streamRequest = true;
410
+ }
411
+ return request_.write(data, encoding);
412
+ };
413
+
414
+ /**
415
+ * Pipe the request body to `stream`.
416
+ *
417
+ * @param {Stream} stream
418
+ * @param {Object} options
419
+ * @return {Stream}
420
+ * @api public
421
+ */
422
+
423
+ Request.prototype.pipe = function (stream, options) {
424
+ this.piped = true; // HACK...
425
+ this.buffer(false);
426
+ this.end();
427
+ return this._pipeContinue(stream, options);
428
+ };
429
+ Request.prototype._pipeContinue = function (stream, options) {
430
+ this.req.once('response', res => {
431
+ // redirect
432
+ if (isRedirect(res.statusCode) && this._redirects++ !== this._maxRedirects) {
433
+ return this._redirect(res) === this ? this._pipeContinue(stream, options) : undefined;
434
+ }
435
+ this.res = res;
436
+ this._emitResponse();
437
+ if (this._aborted) return;
438
+ if (this._shouldDecompress(res)) {
439
+ let decompresser = chooseDecompresser(res);
440
+ decompresser.on('error', error => {
441
+ if (error && error.code === 'Z_BUF_ERROR') {
442
+ // unexpected end of file is ignored by browsers and curl
443
+ stream.emit('end');
444
+ return;
445
+ }
446
+ stream.emit('error', error);
447
+ });
448
+ res.pipe(decompresser).pipe(stream, options);
449
+ // don't emit 'end' until decompresser has completed writing all its data.
450
+ decompresser.once('end', () => this.emit('end'));
451
+ } else {
452
+ res.pipe(stream, options);
453
+ res.once('end', () => this.emit('end'));
454
+ }
455
+ });
456
+ return stream;
457
+ };
458
+
459
+ /**
460
+ * Enable / disable buffering.
461
+ *
462
+ * @return {Boolean} [val]
463
+ * @return {Request} for chaining
464
+ * @api public
465
+ */
466
+
467
+ Request.prototype.buffer = function (value) {
468
+ this._buffer = value !== false;
469
+ return this;
470
+ };
471
+
472
+ /**
473
+ * Redirect to `url
474
+ *
475
+ * @param {IncomingMessage} res
476
+ * @return {Request} for chaining
477
+ * @api private
478
+ */
479
+
480
+ Request.prototype._redirect = function (res) {
481
+ let url = res.headers.location;
482
+ if (!url) {
483
+ return this.callback(new Error('No location header for redirect'), res);
484
+ }
485
+ debug('redirect %s -> %s', this.url, url);
486
+
487
+ // location
488
+ url = new URL(url, this.url).href;
489
+
490
+ // ensure the response is being consumed
491
+ // this is required for Node v0.10+
492
+ res.resume();
493
+ let headers = this.req.getHeaders ? this.req.getHeaders() : this.req._headers;
494
+ const changesOrigin = new URL(url).host !== new URL(this.url).host;
495
+
496
+ // implementation of 302 following defacto standard
497
+ if (res.statusCode === 301 || res.statusCode === 302) {
498
+ // strip Content-* related fields
499
+ // in case of POST etc
500
+ headers = utils.cleanHeader(headers, changesOrigin);
501
+
502
+ // force GET
503
+ this.method = this.method === 'HEAD' ? 'HEAD' : 'GET';
504
+
505
+ // clear data
506
+ this._data = null;
507
+ }
508
+
509
+ // 303 is always GET
510
+ if (res.statusCode === 303) {
511
+ // strip Content-* related fields
512
+ // in case of POST etc
513
+ headers = utils.cleanHeader(headers, changesOrigin);
514
+
515
+ // force method
516
+ this.method = 'GET';
517
+
518
+ // clear data
519
+ this._data = null;
520
+ }
521
+
522
+ // 307 preserves method
523
+ // 308 preserves method
524
+ delete headers.host;
525
+ delete this.req;
526
+ delete this._formData;
527
+
528
+ // remove all add header except User-Agent
529
+ _initHeaders(this);
530
+
531
+ // redirect
532
+ this.res = res;
533
+ this._endCalled = false;
534
+ this.url = url;
535
+ this.qs = {};
536
+ this._query.length = 0;
537
+ this.set(headers);
538
+ this._emitRedirect();
539
+ this._redirectList.push(this.url);
540
+ this.end(this._callback);
541
+ return this;
542
+ };
543
+
544
+ /**
545
+ * Set Authorization field value with `user` and `pass`.
546
+ *
547
+ * Examples:
548
+ *
549
+ * .auth('tobi', 'learnboost')
550
+ * .auth('tobi:learnboost')
551
+ * .auth('tobi')
552
+ * .auth(accessToken, { type: 'bearer' })
553
+ *
554
+ * @param {String} user
555
+ * @param {String} [pass]
556
+ * @param {Object} [options] options with authorization type 'basic' or 'bearer' ('basic' is default)
557
+ * @return {Request} for chaining
558
+ * @api public
559
+ */
560
+
561
+ Request.prototype.auth = function (user, pass, options) {
562
+ if (arguments.length === 1) pass = '';
563
+ if (typeof pass === 'object' && pass !== null) {
564
+ // pass is optional and can be replaced with options
565
+ options = pass;
566
+ pass = '';
567
+ }
568
+ if (!options) {
569
+ options = {
570
+ type: 'basic'
571
+ };
572
+ }
573
+ const encoder = string => Buffer.from(string).toString('base64');
574
+ return this._auth(user, pass, options, encoder);
575
+ };
576
+
577
+ /**
578
+ * Set the certificate authority option for https request.
579
+ *
580
+ * @param {Buffer | Array} cert
581
+ * @return {Request} for chaining
582
+ * @api public
583
+ */
584
+
585
+ Request.prototype.ca = function (cert) {
586
+ this._ca = cert;
587
+ return this;
588
+ };
589
+
590
+ /**
591
+ * Set the client certificate key option for https request.
592
+ *
593
+ * @param {Buffer | String} cert
594
+ * @return {Request} for chaining
595
+ * @api public
596
+ */
597
+
598
+ Request.prototype.key = function (cert) {
599
+ this._key = cert;
600
+ return this;
601
+ };
602
+
603
+ /**
604
+ * Set the key, certificate, and CA certs of the client in PFX or PKCS12 format.
605
+ *
606
+ * @param {Buffer | String} cert
607
+ * @return {Request} for chaining
608
+ * @api public
609
+ */
610
+
611
+ Request.prototype.pfx = function (cert) {
612
+ if (typeof cert === 'object' && !Buffer.isBuffer(cert)) {
613
+ this._pfx = cert.pfx;
614
+ this._passphrase = cert.passphrase;
615
+ } else {
616
+ this._pfx = cert;
617
+ }
618
+ return this;
619
+ };
620
+
621
+ /**
622
+ * Set the client certificate option for https request.
623
+ *
624
+ * @param {Buffer | String} cert
625
+ * @return {Request} for chaining
626
+ * @api public
627
+ */
628
+
629
+ Request.prototype.cert = function (cert) {
630
+ this._cert = cert;
631
+ return this;
632
+ };
633
+
634
+ /**
635
+ * Do not reject expired or invalid TLS certs.
636
+ * sets `rejectUnauthorized=true`. Be warned that this allows MITM attacks.
637
+ *
638
+ * @return {Request} for chaining
639
+ * @api public
640
+ */
641
+
642
+ Request.prototype.disableTLSCerts = function () {
643
+ this._disableTLSCerts = true;
644
+ return this;
645
+ };
646
+
647
+ /**
648
+ * Return an http[s] request.
649
+ *
650
+ * @return {OutgoingMessage}
651
+ * @api private
652
+ */
653
+
654
+ // eslint-disable-next-line complexity
655
+ Request.prototype.request = function () {
656
+ if (this.req) return this.req;
657
+ const options = {};
658
+ try {
659
+ const query = qs.stringify(this.qs, {
660
+ indices: false,
661
+ strictNullHandling: true
662
+ });
663
+ if (query) {
664
+ this.qs = {};
665
+ this._query.push(query);
666
+ }
667
+ this._finalizeQueryString();
668
+ } catch (err) {
669
+ return this.emit('error', err);
670
+ }
671
+ let {
672
+ url: urlString
673
+ } = this;
674
+ const retries = this._retries;
675
+
676
+ // default to http://
677
+ if (urlString.indexOf('http') !== 0) urlString = `http://${urlString}`;
678
+ const url = new URL(urlString);
679
+ let {
680
+ protocol
681
+ } = url;
682
+ let path = `${url.pathname}${url.search}`;
683
+
684
+ // support unix sockets
685
+ if (/^https?\+unix:/.test(protocol) === true) {
686
+ // get the protocol
687
+ protocol = `${protocol.split('+')[0]}:`;
688
+
689
+ // get the socket path
690
+ options.socketPath = url.hostname.replace(/%2F/g, '/');
691
+ url.host = '';
692
+ url.hostname = '';
693
+ }
694
+
695
+ // Override IP address of a hostname
696
+ if (this._connectOverride) {
697
+ const {
698
+ hostname
699
+ } = url;
700
+ const match = hostname in this._connectOverride ? this._connectOverride[hostname] : this._connectOverride['*'];
701
+ if (match) {
702
+ // backup the real host
703
+ if (!this._header.host) {
704
+ this.set('host', url.host);
705
+ }
706
+ let newHost;
707
+ let newPort;
708
+ if (typeof match === 'object') {
709
+ newHost = match.host;
710
+ newPort = match.port;
711
+ } else {
712
+ newHost = match;
713
+ newPort = url.port;
714
+ }
715
+
716
+ // wrap [ipv6]
717
+ url.host = /:/.test(newHost) ? `[${newHost}]` : newHost;
718
+ if (newPort) {
719
+ url.host += `:${newPort}`;
720
+ url.port = newPort;
721
+ }
722
+ url.hostname = newHost;
723
+ }
724
+ }
725
+
726
+ // options
727
+ options.method = this.method;
728
+ options.port = url.port;
729
+ options.path = path;
730
+ options.host = utils.normalizeHostname(url.hostname); // ex: [::1] -> ::1
731
+ options.ca = this._ca;
732
+ options.key = this._key;
733
+ options.pfx = this._pfx;
734
+ options.cert = this._cert;
735
+ options.passphrase = this._passphrase;
736
+ options.agent = this._agent;
737
+ options.lookup = this._lookup;
738
+ options.rejectUnauthorized = typeof this._disableTLSCerts === 'boolean' ? !this._disableTLSCerts : process.env.NODE_TLS_REJECT_UNAUTHORIZED !== '0';
739
+
740
+ // Allows request.get('https://1.2.3.4/').set('Host', 'example.com')
741
+ if (this._header.host) {
742
+ options.servername = this._header.host.replace(/:\d+$/, '');
743
+ }
744
+ if (this._trustLocalhost && /^(?:localhost|127\.0\.0\.\d+|(0*:)+:0*1)$/.test(url.hostname)) {
745
+ options.rejectUnauthorized = false;
746
+ }
747
+
748
+ // initiate request
749
+ const module_ = this._enableHttp2 ? exports.protocols['http2:'].setProtocol(protocol) : exports.protocols[protocol];
750
+
751
+ // request
752
+ this.req = module_.request(options);
753
+ const {
754
+ req
755
+ } = this;
756
+
757
+ // set tcp no delay
758
+ req.setNoDelay(true);
759
+ if (options.method !== 'HEAD') {
760
+ req.setHeader('Accept-Encoding', 'gzip, deflate');
761
+ }
762
+ this.protocol = protocol;
763
+ this.host = url.host;
764
+
765
+ // expose events
766
+ req.once('drain', () => {
767
+ this.emit('drain');
768
+ });
769
+ req.on('error', error => {
770
+ // flag abortion here for out timeouts
771
+ // because node will emit a faux-error "socket hang up"
772
+ // when request is aborted before a connection is made
773
+ if (this._aborted) return;
774
+ // if not the same, we are in the **old** (cancelled) request,
775
+ // so need to continue (same as for above)
776
+ if (this._retries !== retries) return;
777
+ // if we've received a response then we don't want to let
778
+ // an error in the request blow up the response
779
+ if (this.response) return;
780
+ this.callback(error);
781
+ });
782
+
783
+ // auth
784
+ if (url.username || url.password) {
785
+ this.auth(url.username, url.password);
786
+ }
787
+ if (this.username && this.password) {
788
+ this.auth(this.username, this.password);
789
+ }
790
+ for (const key in this.header) {
791
+ if (hasOwn(this.header, key)) req.setHeader(key, this.header[key]);
792
+ }
793
+
794
+ // add cookies
795
+ if (this.cookies) {
796
+ if (hasOwn(this._header, 'cookie')) {
797
+ // merge
798
+ const temporaryJar = new CookieJar.CookieJar();
799
+ temporaryJar.setCookies(this._header.cookie.split('; '));
800
+ temporaryJar.setCookies(this.cookies.split('; '));
801
+ req.setHeader('Cookie', temporaryJar.getCookies(CookieJar.CookieAccessInfo.All).toValueString());
802
+ } else {
803
+ req.setHeader('Cookie', this.cookies);
804
+ }
805
+ }
806
+ return req;
807
+ };
808
+
809
+ /**
810
+ * Invoke the callback with `err` and `res`
811
+ * and handle arity check.
812
+ *
813
+ * @param {Error} err
814
+ * @param {Response} res
815
+ * @api private
816
+ */
817
+
818
+ Request.prototype.callback = function (error, res) {
819
+ if (this._shouldRetry(error, res)) {
820
+ return this._retry();
821
+ }
822
+
823
+ // Avoid the error which is emitted from 'socket hang up' to cause the fn undefined error on JS runtime.
824
+ const fn = this._callback || noop;
825
+ this.clearTimeout();
826
+ if (this.called) return console.warn('superagent: double callback bug');
827
+ this.called = true;
828
+ if (!error) {
829
+ try {
830
+ if (!this._isResponseOK(res)) {
831
+ let message = 'Unsuccessful HTTP response';
832
+ if (res) {
833
+ message = http.STATUS_CODES[res.status] || message;
834
+ }
835
+ error = new Error(message);
836
+ error.status = res ? res.status : undefined;
837
+ }
838
+ } catch (err) {
839
+ error = err;
840
+ error.status = error.status || (res ? res.status : undefined);
841
+ }
842
+ }
843
+
844
+ // It's important that the callback is called outside try/catch
845
+ // to avoid double callback
846
+ if (!error) {
847
+ return fn(null, res);
848
+ }
849
+ error.response = res;
850
+ if (this._maxRetries) error.retries = this._retries - 1;
851
+
852
+ // only emit error event if there is a listener
853
+ // otherwise we assume the callback to `.end()` will get the error
854
+ if (error && this.listeners('error').length > 0) {
855
+ this.emit('error', error);
856
+ }
857
+ fn(error, res);
858
+ };
859
+
860
+ /**
861
+ * Check if `obj` is a host object,
862
+ *
863
+ * @param {Object} obj host object
864
+ * @return {Boolean} is a host object
865
+ * @api private
866
+ */
867
+ Request.prototype._isHost = function (object) {
868
+ return Buffer.isBuffer(object) || object instanceof Stream || object instanceof FormData;
869
+ };
870
+
871
+ /**
872
+ * Initiate request, invoking callback `fn(err, res)`
873
+ * with an instanceof `Response`.
874
+ *
875
+ * @param {Function} fn
876
+ * @return {Request} for chaining
877
+ * @api public
878
+ */
879
+
880
+ Request.prototype._emitResponse = function (body, files) {
881
+ const response = new Response(this);
882
+ this.response = response;
883
+ response.redirects = this._redirectList;
884
+ if (undefined !== body) {
885
+ response.body = body;
886
+ }
887
+ response.files = files;
888
+ if (this._endCalled) {
889
+ response.pipe = function () {
890
+ throw new Error("end() has already been called, so it's too late to start piping");
891
+ };
892
+ }
893
+ this.emit('response', response);
894
+ return response;
895
+ };
896
+
897
+ /**
898
+ * Emit `redirect` event, passing an instanceof `Response`.
899
+ *
900
+ * @api private
901
+ */
902
+
903
+ Request.prototype._emitRedirect = function () {
904
+ const response = new Response(this);
905
+ response.redirects = this._redirectList;
906
+ this.emit('redirect', response);
907
+ };
908
+ Request.prototype.end = function (fn) {
909
+ this.request();
910
+ debug('%s %s', this.method, this.url);
911
+ if (this._endCalled) {
912
+ throw new Error('.end() was called twice. This is not supported in superagent');
913
+ }
914
+ this._endCalled = true;
915
+
916
+ // store callback
917
+ this._callback = fn || noop;
918
+ this._end();
919
+ };
920
+ Request.prototype._end = function () {
921
+ if (this._aborted) return this.callback(new Error('The request has been aborted even before .end() was called'));
922
+ let data = this._data;
923
+ const {
924
+ req
925
+ } = this;
926
+ const {
927
+ method
928
+ } = this;
929
+ this._setTimeouts();
930
+
931
+ // body
932
+ if (method !== 'HEAD' && !req._headerSent) {
933
+ // serialize stuff
934
+ if (typeof data !== 'string') {
935
+ let contentType = req.getHeader('Content-Type');
936
+ // Parse out just the content type from the header (ignore the charset)
937
+ if (contentType) contentType = contentType.split(';')[0];
938
+ let serialize = this._serializer || exports.serialize[contentType];
939
+ if (!serialize && isJSON(contentType)) {
940
+ serialize = exports.serialize['application/json'];
941
+ }
942
+ if (serialize) data = serialize(data);
943
+ }
944
+
945
+ // content-length
946
+ if (data && !req.getHeader('Content-Length')) {
947
+ req.setHeader('Content-Length', Buffer.isBuffer(data) ? data.length : Buffer.byteLength(data));
948
+ }
949
+ }
950
+
951
+ // response
952
+ // eslint-disable-next-line complexity
953
+ req.once('response', res => {
954
+ debug('%s %s -> %s', this.method, this.url, res.statusCode);
955
+ if (this._responseTimeoutTimer) {
956
+ clearTimeout(this._responseTimeoutTimer);
957
+ }
958
+ if (this.piped) {
959
+ return;
960
+ }
961
+ const max = this._maxRedirects;
962
+ const mime = utils.type(res.headers['content-type'] || '') || 'text/plain';
963
+ let type = mime.split('/')[0];
964
+ if (type) type = type.toLowerCase().trim();
965
+ const multipart = type === 'multipart';
966
+ const redirect = isRedirect(res.statusCode);
967
+ const responseType = this._responseType;
968
+ this.res = res;
969
+
970
+ // redirect
971
+ if (redirect && this._redirects++ !== max) {
972
+ return this._redirect(res);
973
+ }
974
+ if (this.method === 'HEAD') {
975
+ this.emit('end');
976
+ this.callback(null, this._emitResponse());
977
+ return;
978
+ }
979
+
980
+ // zlib support
981
+ if (this._shouldDecompress(res)) {
982
+ decompress(req, res);
983
+ }
984
+ let buffer = this._buffer;
985
+ if (buffer === undefined && mime in exports.buffer) {
986
+ buffer = Boolean(exports.buffer[mime]);
987
+ }
988
+ let parser = this._parser;
989
+ if (undefined === buffer && parser) {
990
+ console.warn("A custom superagent parser has been set, but buffering strategy for the parser hasn't been configured. Call `req.buffer(true or false)` or set `superagent.buffer[mime] = true or false`");
991
+ buffer = true;
992
+ }
993
+ if (!parser) {
994
+ if (responseType) {
995
+ parser = exports.parse.image; // It's actually a generic Buffer
996
+ buffer = true;
997
+ } else if (multipart) {
998
+ const form = formidable.formidable();
999
+ parser = form.parse.bind(form);
1000
+ buffer = true;
1001
+ } else if (isBinary(mime)) {
1002
+ parser = exports.parse.image;
1003
+ buffer = true; // For backwards-compatibility buffering default is ad-hoc MIME-dependent
1004
+ } else if (exports.parse[mime]) {
1005
+ parser = exports.parse[mime];
1006
+ } else if (type === 'text') {
1007
+ parser = exports.parse.text;
1008
+ buffer = buffer !== false;
1009
+ // everyone wants their own white-labeled json
1010
+ } else if (isJSON(mime)) {
1011
+ parser = exports.parse['application/json'];
1012
+ buffer = buffer !== false;
1013
+ } else if (buffer) {
1014
+ parser = exports.parse.text;
1015
+ } else if (undefined === buffer) {
1016
+ parser = exports.parse.image; // It's actually a generic Buffer
1017
+ buffer = true;
1018
+ }
1019
+ }
1020
+
1021
+ // by default only buffer text/*, json and messed up thing from hell
1022
+ if (undefined === buffer && isText(mime) || isJSON(mime)) {
1023
+ buffer = true;
1024
+ }
1025
+ this._resBuffered = buffer;
1026
+ let parserHandlesEnd = false;
1027
+ if (buffer) {
1028
+ // Protectiona against zip bombs and other nuisance
1029
+ let responseBytesLeft = this._maxResponseSize || 200000000;
1030
+ res.on('data', buf => {
1031
+ responseBytesLeft -= buf.byteLength || buf.length > 0 ? buf.length : 0;
1032
+ if (responseBytesLeft < 0) {
1033
+ // This will propagate through error event
1034
+ const error = new Error('Maximum response size reached');
1035
+ error.code = 'ETOOLARGE';
1036
+ // Parsers aren't required to observe error event,
1037
+ // so would incorrectly report success
1038
+ parserHandlesEnd = false;
1039
+ // Will not emit error event
1040
+ res.destroy(error);
1041
+ // so we do callback now
1042
+ this.callback(error, null);
1043
+ }
1044
+ });
1045
+ }
1046
+ if (parser) {
1047
+ try {
1048
+ // Unbuffered parsers are supposed to emit response early,
1049
+ // which is weird BTW, because response.body won't be there.
1050
+ parserHandlesEnd = buffer;
1051
+ parser(res, (error, object, files) => {
1052
+ if (this.timedout) {
1053
+ // Timeout has already handled all callbacks
1054
+ return;
1055
+ }
1056
+
1057
+ // Intentional (non-timeout) abort is supposed to preserve partial response,
1058
+ // even if it doesn't parse.
1059
+ if (error && !this._aborted) {
1060
+ return this.callback(error);
1061
+ }
1062
+ if (parserHandlesEnd) {
1063
+ if (multipart) {
1064
+ // formidable v3 always returns an array with the value in it
1065
+ // so we need to flatten it
1066
+ if (object) {
1067
+ for (const key in object) {
1068
+ const value = object[key];
1069
+ if (Array.isArray(value) && value.length === 1) {
1070
+ object[key] = value[0];
1071
+ } else {
1072
+ object[key] = value;
1073
+ }
1074
+ }
1075
+ }
1076
+ if (files) {
1077
+ for (const key in files) {
1078
+ const value = files[key];
1079
+ if (Array.isArray(value) && value.length === 1) {
1080
+ files[key] = value[0];
1081
+ } else {
1082
+ files[key] = value;
1083
+ }
1084
+ }
1085
+ }
1086
+ }
1087
+ this.emit('end');
1088
+ this.callback(null, this._emitResponse(object, files));
1089
+ }
1090
+ });
1091
+ } catch (err) {
1092
+ this.callback(err);
1093
+ return;
1094
+ }
1095
+ }
1096
+ this.res = res;
1097
+
1098
+ // unbuffered
1099
+ if (!buffer) {
1100
+ debug('unbuffered %s %s', this.method, this.url);
1101
+ this.callback(null, this._emitResponse());
1102
+ if (multipart) return; // allow multipart to handle end event
1103
+ res.once('end', () => {
1104
+ debug('end %s %s', this.method, this.url);
1105
+ this.emit('end');
1106
+ });
1107
+ return;
1108
+ }
1109
+
1110
+ // terminating events
1111
+ res.once('error', error => {
1112
+ parserHandlesEnd = false;
1113
+ this.callback(error, null);
1114
+ });
1115
+ if (!parserHandlesEnd) res.once('end', () => {
1116
+ debug('end %s %s', this.method, this.url);
1117
+ // TODO: unless buffering emit earlier to stream
1118
+ this.emit('end');
1119
+ this.callback(null, this._emitResponse());
1120
+ });
1121
+ });
1122
+ this.emit('request', this);
1123
+ const getProgressMonitor = () => {
1124
+ const lengthComputable = true;
1125
+ const total = req.getHeader('Content-Length');
1126
+ let loaded = 0;
1127
+ const progress = new Stream.Transform();
1128
+ progress._transform = (chunk, encoding, callback) => {
1129
+ loaded += chunk.length;
1130
+ this.emit('progress', {
1131
+ direction: 'upload',
1132
+ lengthComputable,
1133
+ loaded,
1134
+ total
1135
+ });
1136
+ callback(null, chunk);
1137
+ };
1138
+ return progress;
1139
+ };
1140
+ const bufferToChunks = buffer => {
1141
+ const chunkSize = 16 * 1024; // default highWaterMark value
1142
+ const chunking = new Stream.Readable();
1143
+ const totalLength = buffer.length;
1144
+ const remainder = totalLength % chunkSize;
1145
+ const cutoff = totalLength - remainder;
1146
+ for (let i = 0; i < cutoff; i += chunkSize) {
1147
+ const chunk = buffer.slice(i, i + chunkSize);
1148
+ chunking.push(chunk);
1149
+ }
1150
+ if (remainder > 0) {
1151
+ const remainderBuffer = buffer.slice(-remainder);
1152
+ chunking.push(remainderBuffer);
1153
+ }
1154
+ chunking.push(null); // no more data
1155
+
1156
+ return chunking;
1157
+ };
1158
+
1159
+ // if a FormData instance got created, then we send that as the request body
1160
+ const formData = this._formData;
1161
+ if (formData) {
1162
+ // set headers
1163
+ const headers = formData.getHeaders();
1164
+ for (const i in headers) {
1165
+ if (hasOwn(headers, i)) {
1166
+ debug('setting FormData header: "%s: %s"', i, headers[i]);
1167
+ req.setHeader(i, headers[i]);
1168
+ }
1169
+ }
1170
+
1171
+ // attempt to get "Content-Length" header
1172
+ formData.getLength((error, length) => {
1173
+ // TODO: Add chunked encoding when no length (if err)
1174
+ if (error) debug('formData.getLength had error', error, length);
1175
+ debug('got FormData Content-Length: %s', length);
1176
+ if (typeof length === 'number') {
1177
+ req.setHeader('Content-Length', length);
1178
+ }
1179
+ formData.pipe(getProgressMonitor()).pipe(req);
1180
+ });
1181
+ } else if (Buffer.isBuffer(data)) {
1182
+ bufferToChunks(data).pipe(getProgressMonitor()).pipe(req);
1183
+ } else {
1184
+ req.end(data);
1185
+ }
1186
+ };
1187
+
1188
+ // Check whether response has a non-0-sized gzip-encoded body
1189
+ Request.prototype._shouldDecompress = res => {
1190
+ return hasNonEmptyResponseContent(res) && (isGzipOrDeflateEncoding(res) || isBrotliEncoding(res));
1191
+ };
1192
+
1193
+ /**
1194
+ * Overrides DNS for selected hostnames. Takes object mapping hostnames to IP addresses.
1195
+ *
1196
+ * When making a request to a URL with a hostname exactly matching a key in the object,
1197
+ * use the given IP address to connect, instead of using DNS to resolve the hostname.
1198
+ *
1199
+ * A special host `*` matches every hostname (keep redirects in mind!)
1200
+ *
1201
+ * request.connect({
1202
+ * 'test.example.com': '127.0.0.1',
1203
+ * 'ipv6.example.com': '::1',
1204
+ * })
1205
+ */
1206
+ Request.prototype.connect = function (connectOverride) {
1207
+ if (typeof connectOverride === 'string') {
1208
+ this._connectOverride = {
1209
+ '*': connectOverride
1210
+ };
1211
+ } else if (typeof connectOverride === 'object') {
1212
+ this._connectOverride = connectOverride;
1213
+ } else {
1214
+ this._connectOverride = undefined;
1215
+ }
1216
+ return this;
1217
+ };
1218
+ Request.prototype.trustLocalhost = function (toggle) {
1219
+ this._trustLocalhost = toggle === undefined ? true : toggle;
1220
+ return this;
1221
+ };
1222
+
1223
+ // generate HTTP verb methods
1224
+ if (!methods.includes('del')) {
1225
+ // create a copy so we don't cause conflicts with
1226
+ // other packages using the methods package and
1227
+ // npm 3.x
1228
+ methods = [...methods];
1229
+ methods.push('del');
1230
+ }
1231
+ for (let method of methods) {
1232
+ const name = method;
1233
+ method = method === 'del' ? 'delete' : method;
1234
+ method = method.toUpperCase();
1235
+ request[name] = (url, data, fn) => {
1236
+ const request_ = request(method, url);
1237
+ if (typeof data === 'function') {
1238
+ fn = data;
1239
+ data = null;
1240
+ }
1241
+ if (data) {
1242
+ if (method === 'GET' || method === 'HEAD') {
1243
+ request_.query(data);
1244
+ } else {
1245
+ request_.send(data);
1246
+ }
1247
+ }
1248
+ if (fn) request_.end(fn);
1249
+ return request_;
1250
+ };
1251
+ }
1252
+
1253
+ /**
1254
+ * Check if `mime` is text and should be buffered.
1255
+ *
1256
+ * @param {String} mime
1257
+ * @return {Boolean}
1258
+ * @api public
1259
+ */
1260
+
1261
+ function isText(mime) {
1262
+ const parts = mime.split('/');
1263
+ let type = parts[0];
1264
+ if (type) type = type.toLowerCase().trim();
1265
+ let subtype = parts[1];
1266
+ if (subtype) subtype = subtype.toLowerCase().trim();
1267
+ return type === 'text' || subtype === 'x-www-form-urlencoded';
1268
+ }
1269
+
1270
+ // This is not a catchall, but a start. It might be useful
1271
+ // in the long run to have file that includes all binary
1272
+ // content types from https://www.iana.org/assignments/media-types/media-types.xhtml
1273
+ function isBinary(mime) {
1274
+ let [registry, name] = mime.split('/');
1275
+ if (registry) registry = registry.toLowerCase().trim();
1276
+ if (name) name = name.toLowerCase().trim();
1277
+ return ['audio', 'font', 'image', 'video'].includes(registry) || ['gz', 'gzip'].includes(name);
1278
+ }
1279
+
1280
+ /**
1281
+ * Check if `mime` is json or has +json structured syntax suffix.
1282
+ *
1283
+ * @param {String} mime
1284
+ * @return {Boolean}
1285
+ * @api private
1286
+ */
1287
+
1288
+ function isJSON(mime) {
1289
+ // should match /json or +json
1290
+ // but not /json-seq
1291
+ return /[/+]json($|[^-\w])/i.test(mime);
1292
+ }
1293
+
1294
+ /**
1295
+ * Check if we should follow the redirect `code`.
1296
+ *
1297
+ * @param {Number} code
1298
+ * @return {Boolean}
1299
+ * @api private
1300
+ */
1301
+
1302
+ function isRedirect(code) {
1303
+ return [301, 302, 303, 305, 307, 308].includes(code);
1304
+ }
1305
+ function hasNonEmptyResponseContent(res) {
1306
+ if (res.statusCode === 204 || res.statusCode === 304) {
1307
+ // These aren't supposed to have any body
1308
+ return false;
1309
+ }
1310
+
1311
+ // header content is a string, and distinction between 0 and no information is crucial
1312
+ if (res.headers['content-length'] === '0') {
1313
+ // We know that the body is empty (unfortunately, this check does not cover chunked encoding)
1314
+ return false;
1315
+ }
1316
+ return true;
1317
+ }
1318
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJmb3JtYXQiLCJyZXF1aXJlIiwiU3RyZWFtIiwiaHR0cHMiLCJodHRwIiwiZnMiLCJ6bGliIiwidXRpbCIsInFzIiwibWltZSIsIm1ldGhvZHMiLCJGb3JtRGF0YSIsImZvcm1pZGFibGUiLCJkZWJ1ZyIsIkNvb2tpZUphciIsInNhZmVTdHJpbmdpZnkiLCJ1dGlscyIsIlJlcXVlc3RCYXNlIiwiaHR0cDIiLCJkZWNvbXByZXNzIiwiUmVzcG9uc2UiLCJtaXhpbiIsImhhc093biIsImlzQnJvdGxpRW5jb2RpbmciLCJpc0d6aXBPckRlZmxhdGVFbmNvZGluZyIsImNob29zZURlY29tcHJlc3NlciIsInJlcXVlc3QiLCJtZXRob2QiLCJ1cmwiLCJleHBvcnRzIiwiUmVxdWVzdCIsImVuZCIsImFyZ3VtZW50cyIsImxlbmd0aCIsIm1vZHVsZSIsImFnZW50Iiwibm9vcCIsImRlZmluZSIsInByb3RvY29scyIsInNlcmlhbGl6ZSIsIm9iaiIsInN0cmluZ2lmeSIsImluZGljZXMiLCJzdHJpY3ROdWxsSGFuZGxpbmciLCJwYXJzZSIsImJ1ZmZlciIsIl9pbml0SGVhZGVycyIsInJlcXVlc3RfIiwiX2hlYWRlciIsImhlYWRlciIsImNhbGwiLCJfZW5hYmxlSHR0cDIiLCJCb29sZWFuIiwicHJvY2VzcyIsImVudiIsIkhUVFAyX1RFU1QiLCJfYWdlbnQiLCJfZm9ybURhdGEiLCJ3cml0YWJsZSIsIl9yZWRpcmVjdHMiLCJyZWRpcmVjdHMiLCJjb29raWVzIiwiX3F1ZXJ5IiwicXNSYXciLCJfcmVkaXJlY3RMaXN0IiwiX3N0cmVhbVJlcXVlc3QiLCJfbG9va3VwIiwidW5kZWZpbmVkIiwib25jZSIsImNsZWFyVGltZW91dCIsImJpbmQiLCJpbmhlcml0cyIsInByb3RvdHlwZSIsImJvb2wiLCJFcnJvciIsImF0dGFjaCIsImZpZWxkIiwiZmlsZSIsIm9wdGlvbnMiLCJfZGF0YSIsIm8iLCJmaWxlbmFtZSIsImNyZWF0ZVJlYWRTdHJlYW0iLCJvbiIsImVycm9yIiwiZm9ybURhdGEiLCJfZ2V0Rm9ybURhdGEiLCJlbWl0IiwicGF0aCIsImFwcGVuZCIsImNhbGxlZCIsImNhbGxiYWNrIiwiYWJvcnQiLCJsb29rdXAiLCJ0eXBlIiwic2V0IiwiaW5jbHVkZXMiLCJnZXRUeXBlIiwiYWNjZXB0IiwicXVlcnkiLCJ2YWx1ZSIsInB1c2giLCJPYmplY3QiLCJhc3NpZ24iLCJ3cml0ZSIsImRhdGEiLCJlbmNvZGluZyIsInBpcGUiLCJzdHJlYW0iLCJwaXBlZCIsIl9waXBlQ29udGludWUiLCJyZXEiLCJyZXMiLCJpc1JlZGlyZWN0Iiwic3RhdHVzQ29kZSIsIl9tYXhSZWRpcmVjdHMiLCJfcmVkaXJlY3QiLCJfZW1pdFJlc3BvbnNlIiwiX2Fib3J0ZWQiLCJfc2hvdWxkRGVjb21wcmVzcyIsImRlY29tcHJlc3NlciIsImNvZGUiLCJfYnVmZmVyIiwiaGVhZGVycyIsImxvY2F0aW9uIiwiVVJMIiwiaHJlZiIsInJlc3VtZSIsImdldEhlYWRlcnMiLCJfaGVhZGVycyIsImNoYW5nZXNPcmlnaW4iLCJob3N0IiwiY2xlYW5IZWFkZXIiLCJfZW5kQ2FsbGVkIiwiX2VtaXRSZWRpcmVjdCIsIl9jYWxsYmFjayIsImF1dGgiLCJ1c2VyIiwicGFzcyIsImVuY29kZXIiLCJzdHJpbmciLCJCdWZmZXIiLCJmcm9tIiwidG9TdHJpbmciLCJfYXV0aCIsImNhIiwiY2VydCIsIl9jYSIsImtleSIsIl9rZXkiLCJwZngiLCJpc0J1ZmZlciIsIl9wZngiLCJfcGFzc3BocmFzZSIsInBhc3NwaHJhc2UiLCJfY2VydCIsImRpc2FibGVUTFNDZXJ0cyIsIl9kaXNhYmxlVExTQ2VydHMiLCJfZmluYWxpemVRdWVyeVN0cmluZyIsImVyciIsInVybFN0cmluZyIsInJldHJpZXMiLCJfcmV0cmllcyIsImluZGV4T2YiLCJwcm90b2NvbCIsInBhdGhuYW1lIiwic2VhcmNoIiwidGVzdCIsInNwbGl0Iiwic29ja2V0UGF0aCIsImhvc3RuYW1lIiwicmVwbGFjZSIsIl9jb25uZWN0T3ZlcnJpZGUiLCJtYXRjaCIsIm5ld0hvc3QiLCJuZXdQb3J0IiwicG9ydCIsIm5vcm1hbGl6ZUhvc3RuYW1lIiwicmVqZWN0VW5hdXRob3JpemVkIiwiTk9ERV9UTFNfUkVKRUNUX1VOQVVUSE9SSVpFRCIsInNlcnZlcm5hbWUiLCJfdHJ1c3RMb2NhbGhvc3QiLCJtb2R1bGVfIiwic2V0UHJvdG9jb2wiLCJzZXROb0RlbGF5Iiwic2V0SGVhZGVyIiwicmVzcG9uc2UiLCJ1c2VybmFtZSIsInBhc3N3b3JkIiwidGVtcG9yYXJ5SmFyIiwic2V0Q29va2llcyIsImNvb2tpZSIsImdldENvb2tpZXMiLCJDb29raWVBY2Nlc3NJbmZvIiwiQWxsIiwidG9WYWx1ZVN0cmluZyIsIl9zaG91bGRSZXRyeSIsIl9yZXRyeSIsImZuIiwiY29uc29sZSIsIndhcm4iLCJfaXNSZXNwb25zZU9LIiwibWVzc2FnZSIsIlNUQVRVU19DT0RFUyIsInN0YXR1cyIsIl9tYXhSZXRyaWVzIiwibGlzdGVuZXJzIiwiX2lzSG9zdCIsIm9iamVjdCIsImJvZHkiLCJmaWxlcyIsIl9lbmQiLCJfc2V0VGltZW91dHMiLCJfaGVhZGVyU2VudCIsImNvbnRlbnRUeXBlIiwiZ2V0SGVhZGVyIiwiX3NlcmlhbGl6ZXIiLCJpc0pTT04iLCJieXRlTGVuZ3RoIiwiX3Jlc3BvbnNlVGltZW91dFRpbWVyIiwibWF4IiwidG9Mb3dlckNhc2UiLCJ0cmltIiwibXVsdGlwYXJ0IiwicmVkaXJlY3QiLCJyZXNwb25zZVR5cGUiLCJfcmVzcG9uc2VUeXBlIiwicGFyc2VyIiwiX3BhcnNlciIsImltYWdlIiwiZm9ybSIsImlzQmluYXJ5IiwidGV4dCIsImlzVGV4dCIsIl9yZXNCdWZmZXJlZCIsInBhcnNlckhhbmRsZXNFbmQiLCJyZXNwb25zZUJ5dGVzTGVmdCIsIl9tYXhSZXNwb25zZVNpemUiLCJidWYiLCJkZXN0cm95IiwidGltZWRvdXQiLCJBcnJheSIsImlzQXJyYXkiLCJnZXRQcm9ncmVzc01vbml0b3IiLCJsZW5ndGhDb21wdXRhYmxlIiwidG90YWwiLCJsb2FkZWQiLCJwcm9ncmVzcyIsIlRyYW5zZm9ybSIsIl90cmFuc2Zvcm0iLCJjaHVuayIsImRpcmVjdGlvbiIsImJ1ZmZlclRvQ2h1bmtzIiwiY2h1bmtTaXplIiwiY2h1bmtpbmciLCJSZWFkYWJsZSIsInRvdGFsTGVuZ3RoIiwicmVtYWluZGVyIiwiY3V0b2ZmIiwiaSIsInNsaWNlIiwicmVtYWluZGVyQnVmZmVyIiwiZ2V0TGVuZ3RoIiwiaGFzTm9uRW1wdHlSZXNwb25zZUNvbnRlbnQiLCJjb25uZWN0IiwiY29ubmVjdE92ZXJyaWRlIiwidHJ1c3RMb2NhbGhvc3QiLCJ0b2dnbGUiLCJuYW1lIiwidG9VcHBlckNhc2UiLCJzZW5kIiwicGFydHMiLCJzdWJ0eXBlIiwicmVnaXN0cnkiXSwic291cmNlcyI6WyIuLi8uLi9zcmMvbm9kZS9pbmRleC5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIE1vZHVsZSBkZXBlbmRlbmNpZXMuXG4gKi9cblxuY29uc3QgeyBmb3JtYXQgfSA9IHJlcXVpcmUoJ3VybCcpO1xuY29uc3QgU3RyZWFtID0gcmVxdWlyZSgnc3RyZWFtJyk7XG5jb25zdCBodHRwcyA9IHJlcXVpcmUoJ2h0dHBzJyk7XG5jb25zdCBodHRwID0gcmVxdWlyZSgnaHR0cCcpO1xuY29uc3QgZnMgPSByZXF1aXJlKCdmcycpO1xuY29uc3QgemxpYiA9IHJlcXVpcmUoJ3psaWInKTtcbmNvbnN0IHV0aWwgPSByZXF1aXJlKCd1dGlsJyk7XG5jb25zdCBxcyA9IHJlcXVpcmUoJ3FzJyk7XG5jb25zdCBtaW1lID0gcmVxdWlyZSgnbWltZScpO1xubGV0IG1ldGhvZHMgPSByZXF1aXJlKCdtZXRob2RzJyk7XG5jb25zdCBGb3JtRGF0YSA9IHJlcXVpcmUoJ2Zvcm0tZGF0YScpO1xuY29uc3QgZm9ybWlkYWJsZSA9IHJlcXVpcmUoJ2Zvcm1pZGFibGUnKTtcbmNvbnN0IGRlYnVnID0gcmVxdWlyZSgnZGVidWcnKSgnc3VwZXJhZ2VudCcpO1xuY29uc3QgQ29va2llSmFyID0gcmVxdWlyZSgnY29va2llamFyJyk7XG5jb25zdCBzYWZlU3RyaW5naWZ5ID0gcmVxdWlyZSgnZmFzdC1zYWZlLXN0cmluZ2lmeScpO1xuXG5jb25zdCB1dGlscyA9IHJlcXVpcmUoJy4uL3V0aWxzJyk7XG5jb25zdCBSZXF1ZXN0QmFzZSA9IHJlcXVpcmUoJy4uL3JlcXVlc3QtYmFzZScpO1xuY29uc3QgaHR0cDIgPSByZXF1aXJlKCcuL2h0dHAyd3JhcHBlcicpO1xuY29uc3QgeyBkZWNvbXByZXNzIH0gPSByZXF1aXJlKCcuL3VuemlwJyk7XG5jb25zdCBSZXNwb25zZSA9IHJlcXVpcmUoJy4vcmVzcG9uc2UnKTtcblxuY29uc3QgeyBtaXhpbiwgaGFzT3duLCBpc0Jyb3RsaUVuY29kaW5nLCBpc0d6aXBPckRlZmxhdGVFbmNvZGluZyB9ID0gdXRpbHM7XG5jb25zdCB7IGNob29zZURlY29tcHJlc3NlciB9ID0gcmVxdWlyZSgnLi9kZWNvbXByZXNzJyk7XG5cbmZ1bmN0aW9uIHJlcXVlc3QobWV0aG9kLCB1cmwpIHtcbiAgLy8gY2FsbGJhY2tcbiAgaWYgKHR5cGVvZiB1cmwgPT09ICdmdW5jdGlvbicpIHtcbiAgICByZXR1cm4gbmV3IGV4cG9ydHMuUmVxdWVzdCgnR0VUJywgbWV0aG9kKS5lbmQodXJsKTtcbiAgfVxuXG4gIC8vIHVybCBmaXJzdFxuICBpZiAoYXJndW1lbnRzLmxlbmd0aCA9PT0gMSkge1xuICAgIHJldHVybiBuZXcgZXhwb3J0cy5SZXF1ZXN0KCdHRVQnLCBtZXRob2QpO1xuICB9XG5cbiAgcmV0dXJuIG5ldyBleHBvcnRzLlJlcXVlc3QobWV0aG9kLCB1cmwpO1xufVxuXG5tb2R1bGUuZXhwb3J0cyA9IHJlcXVlc3Q7XG5leHBvcnRzID0gbW9kdWxlLmV4cG9ydHM7XG5cbi8qKlxuICogRXhwb3NlIGBSZXF1ZXN0YC5cbiAqL1xuXG5leHBvcnRzLlJlcXVlc3QgPSBSZXF1ZXN0O1xuXG4vKipcbiAqIEV4cG9zZSB0aGUgYWdlbnQgZnVuY3Rpb25cbiAqL1xuXG5leHBvcnRzLmFnZW50ID0gcmVxdWlyZSgnLi9hZ2VudCcpO1xuXG4vKipcbiAqIE5vb3AuXG4gKi9cblxuZnVuY3Rpb24gbm9vcCgpIHt9XG5cbi8qKlxuICogRXhwb3NlIGBSZXNwb25zZWAuXG4gKi9cblxuZXhwb3J0cy5SZXNwb25zZSA9IFJlc3BvbnNlO1xuXG4vKipcbiAqIERlZmluZSBcImZvcm1cIiBtaW1lIHR5cGUuXG4gKi9cblxubWltZS5kZWZpbmUoXG4gIHtcbiAgICAnYXBwbGljYXRpb24veC13d3ctZm9ybS11cmxlbmNvZGVkJzogWydmb3JtJywgJ3VybGVuY29kZWQnLCAnZm9ybS1kYXRhJ11cbiAgfSxcbiAgdHJ1ZVxuKTtcblxuLyoqXG4gKiBQcm90b2NvbCBtYXAuXG4gKi9cblxuZXhwb3J0cy5wcm90b2NvbHMgPSB7XG4gICdodHRwOic6IGh0dHAsXG4gICdodHRwczonOiBodHRwcyxcbiAgJ2h0dHAyOic6IGh0dHAyXG59O1xuXG4vKipcbiAqIERlZmF1bHQgc2VyaWFsaXphdGlvbiBtYXAuXG4gKlxuICogICAgIHN1cGVyYWdlbnQuc2VyaWFsaXplWydhcHBsaWNhdGlvbi94bWwnXSA9IGZ1bmN0aW9uKG9iail7XG4gKiAgICAgICByZXR1cm4gJ2dlbmVyYXRlZCB4bWwgaGVyZSc7XG4gKiAgICAgfTtcbiAqXG4gKi9cblxuZXhwb3J0cy5zZXJpYWxpemUgPSB7XG4gICdhcHBsaWNhdGlvbi94LXd3dy1mb3JtLXVybGVuY29kZWQnOiAob2JqKSA9PiB7XG4gICAgcmV0dXJuIHFzLnN0cmluZ2lmeShvYmosIHsgaW5kaWNlczogZmFsc2UsIHN0cmljdE51bGxIYW5kbGluZzogdHJ1ZSB9KTtcbiAgfSxcbiAgJ2FwcGxpY2F0aW9uL2pzb24nOiBzYWZlU3RyaW5naWZ5XG59O1xuXG4vKipcbiAqIERlZmF1bHQgcGFyc2Vycy5cbiAqXG4gKiAgICAgc3VwZXJhZ2VudC5wYXJzZVsnYXBwbGljYXRpb24veG1sJ10gPSBmdW5jdGlvbihyZXMsIGZuKXtcbiAqICAgICAgIGZuKG51bGwsIHJlcyk7XG4gKiAgICAgfTtcbiAqXG4gKi9cblxuZXhwb3J0cy5wYXJzZSA9IHJlcXVpcmUoJy4vcGFyc2VycycpO1xuXG4vKipcbiAqIERlZmF1bHQgYnVmZmVyaW5nIG1hcC4gQ2FuIGJlIHVzZWQgdG8gc2V0IGNlcnRhaW5cbiAqIHJlc3BvbnNlIHR5cGVzIHRvIGJ1ZmZlci9ub3QgYnVmZmVyLlxuICpcbiAqICAgICBzdXBlcmFnZW50LmJ1ZmZlclsnYXBwbGljYXRpb24veG1sJ10gPSB0cnVlO1xuICovXG5leHBvcnRzLmJ1ZmZlciA9IHt9O1xuXG4vKipcbiAqIEluaXRpYWxpemUgaW50ZXJuYWwgaGVhZGVyIHRyYWNraW5nIHByb3BlcnRpZXMgb24gYSByZXF1ZXN0IGluc3RhbmNlLlxuICpcbiAqIEBwYXJhbSB7T2JqZWN0fSByZXEgdGhlIGluc3RhbmNlXG4gKiBAYXBpIHByaXZhdGVcbiAqL1xuZnVuY3Rpb24gX2luaXRIZWFkZXJzKHJlcXVlc3RfKSB7XG4gIHJlcXVlc3RfLl9oZWFkZXIgPSB7XG4gICAgLy8gY29lcmNlcyBoZWFkZXIgbmFtZXMgdG8gbG93ZXJjYXNlXG4gIH07XG4gIHJlcXVlc3RfLmhlYWRlciA9IHtcbiAgICAvLyBwcmVzZXJ2ZXMgaGVhZGVyIG5hbWUgY2FzZVxuICB9O1xufVxuXG4vKipcbiAqIEluaXRpYWxpemUgYSBuZXcgYFJlcXVlc3RgIHdpdGggdGhlIGdpdmVuIGBtZXRob2RgIGFuZCBgdXJsYC5cbiAqXG4gKiBAcGFyYW0ge1N0cmluZ30gbWV0aG9kXG4gKiBAcGFyYW0ge1N0cmluZ3xPYmplY3R9IHVybFxuICogQGFwaSBwdWJsaWNcbiAqL1xuXG5mdW5jdGlvbiBSZXF1ZXN0KG1ldGhvZCwgdXJsKSB7XG4gIFN0cmVhbS5jYWxsKHRoaXMpO1xuICBpZiAodHlwZW9mIHVybCAhPT0gJ3N0cmluZycpIHVybCA9IGZvcm1hdCh1cmwpO1xuICB0aGlzLl9lbmFibGVIdHRwMiA9IEJvb2xlYW4ocHJvY2Vzcy5lbnYuSFRUUDJfVEVTVCk7IC8vIGludGVybmFsIG9ubHlcbiAgdGhpcy5fYWdlbnQgPSBmYWxzZTtcbiAgdGhpcy5fZm9ybURhdGEgPSBudWxsO1xuICB0aGlzLm1ldGhvZCA9IG1ldGhvZDtcbiAgdGhpcy51cmwgPSB1cmw7XG4gIF9pbml0SGVhZGVycyh0aGlzKTtcbiAgdGhpcy53cml0YWJsZSA9IHRydWU7XG4gIHRoaXMuX3JlZGlyZWN0cyA9IDA7XG4gIHRoaXMucmVkaXJlY3RzKG1ldGhvZCA9PT0gJ0hFQUQnID8gMCA6IDUpO1xuICB0aGlzLmNvb2tpZXMgPSAnJztcbiAgdGhpcy5xcyA9IHt9O1xuICB0aGlzLl9xdWVyeSA9IFtdO1xuICB0aGlzLnFzUmF3ID0gdGhpcy5fcXVlcnk7IC8vIFVudXNlZCwgZm9yIGJhY2t3YXJkcyBjb21wYXRpYmlsaXR5IG9ubHlcbiAgdGhpcy5fcmVkaXJlY3RMaXN0ID0gW107XG4gIHRoaXMuX3N0cmVhbVJlcXVlc3QgPSBmYWxzZTtcbiAgdGhpcy5fbG9va3VwID0gdW5kZWZpbmVkO1xuICB0aGlzLm9uY2UoJ2VuZCcsIHRoaXMuY2xlYXJUaW1lb3V0LmJpbmQodGhpcykpO1xufVxuXG4vKipcbiAqIEluaGVyaXQgZnJvbSBgU3RyZWFtYCAod2hpY2ggaW5oZXJpdHMgZnJvbSBgRXZlbnRFbWl0dGVyYCkuXG4gKiBNaXhpbiBgUmVxdWVzdEJhc2VgLlxuICovXG51dGlsLmluaGVyaXRzKFJlcXVlc3QsIFN0cmVhbSk7XG5cbm1peGluKFJlcXVlc3QucHJvdG90eXBlLCBSZXF1ZXN0QmFzZS5wcm90b3R5cGUpO1xuXG4vKipcbiAqIEVuYWJsZSBvciBEaXNhYmxlIGh0dHAyLlxuICpcbiAqIEVuYWJsZSBodHRwMi5cbiAqXG4gKiBgYGAganNcbiAqIHJlcXVlc3QuZ2V0KCdodHRwOi8vbG9jYWxob3N0LycpXG4gKiAgIC5odHRwMigpXG4gKiAgIC5lbmQoY2FsbGJhY2spO1xuICpcbiAqIHJlcXVlc3QuZ2V0KCdodHRwOi8vbG9jYWxob3N0LycpXG4gKiAgIC5odHRwMih0cnVlKVxuICogICAuZW5kKGNhbGxiYWNrKTtcbiAqIGBgYFxuICpcbiAqIERpc2FibGUgaHR0cDIuXG4gKlxuICogYGBgIGpzXG4gKiByZXF1ZXN0ID0gcmVxdWVzdC5odHRwMigpO1xuICogcmVxdWVzdC5nZXQoJ2h0dHA6Ly9sb2NhbGhvc3QvJylcbiAqICAgLmh0dHAyKGZhbHNlKVxuICogICAuZW5kKGNhbGxiYWNrKTtcbiAqIGBgYFxuICpcbiAqIEBwYXJhbSB7Qm9vbGVhbn0gZW5hYmxlXG4gKiBAcmV0dXJuIHtSZXF1ZXN0fSBmb3IgY2hhaW5pbmdcbiAqIEBhcGkgcHVibGljXG4gKi9cblxuUmVxdWVzdC5wcm90b3R5cGUuaHR0cDIgPSBmdW5jdGlvbiAoYm9vbCkge1xuICBpZiAoZXhwb3J0cy5wcm90b2NvbHNbJ2h0dHAyOiddID09PSB1bmRlZmluZWQpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAnc3VwZXJhZ2VudDogdGhpcyB2ZXJzaW9uIG9mIE5vZGUuanMgZG9lcyBub3Qgc3VwcG9ydCBodHRwMidcbiAgICApO1xuICB9XG5cbiAgdGhpcy5fZW5hYmxlSHR0cDIgPSBib29sID09PSB1bmRlZmluZWQgPyB0cnVlIDogYm9vbDtcbiAgcmV0dXJuIHRoaXM7XG59O1xuXG4vKipcbiAqIFF1ZXVlIHRoZSBnaXZlbiBgZmlsZWAgYXMgYW4gYXR0YWNobWVudCB0byB0aGUgc3BlY2lmaWVkIGBmaWVsZGAsXG4gKiB3aXRoIG9wdGlvbmFsIGBvcHRpb25zYCAob3IgZmlsZW5hbWUpLlxuICpcbiAqIGBgYCBqc1xuICogcmVxdWVzdC5wb3N0KCdodHRwOi8vbG9jYWxob3N0L3VwbG9hZCcpXG4gKiAgIC5hdHRhY2goJ2ZpZWxkJywgQnVmZmVyLmZyb20oJzxiPkhlbGxvIHdvcmxkPC9iPicpLCAnaGVsbG8uaHRtbCcpXG4gKiAgIC5lbmQoY2FsbGJhY2spO1xuICogYGBgXG4gKlxuICogQSBmaWxlbmFtZSBtYXkgYWxzbyBiZSB1c2VkOlxuICpcbiAqIGBgYCBqc1xuICogcmVxdWVzdC5wb3N0KCdodHRwOi8vbG9jYWxob3N0L3VwbG9hZCcpXG4gKiAgIC5hdHRhY2goJ2ZpbGVzJywgJ2ltYWdlLmpwZycpXG4gKiAgIC5lbmQoY2FsbGJhY2spO1xuICogYGBgXG4gKlxuICogQHBhcmFtIHtTdHJpbmd9IGZpZWxkXG4gKiBAcGFyYW0ge1N0cmluZ3xmcy5SZWFkU3RyZWFtfEJ1ZmZlcn0gZmlsZVxuICogQHBhcmFtIHtTdHJpbmd8T2JqZWN0fSBvcHRpb25zXG4gKiBAcmV0dXJuIHtSZXF1ZXN0fSBmb3IgY2hhaW5pbmdcbiAqIEBhcGkgcHVibGljXG4gKi9cblxuUmVxdWVzdC5wcm90b3R5cGUuYXR0YWNoID0gZnVuY3Rpb24gKGZpZWxkLCBmaWxlLCBvcHRpb25zKSB7XG4gIGlmIChmaWxlKSB7XG4gICAgaWYgKHRoaXMuX2RhdGEpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcInN1cGVyYWdlbnQgY2FuJ3QgbWl4IC5zZW5kKCkgYW5kIC5hdHRhY2goKVwiKTtcbiAgICB9XG5cbiAgICBsZXQgbyA9IG9wdGlvbnMgfHwge307XG4gICAgaWYgKHR5cGVvZiBvcHRpb25zID09PSAnc3RyaW5nJykge1xuICAgICAgbyA9IHsgZmlsZW5hbWU6IG9wdGlvbnMgfTtcbiAgICB9XG5cbiAgICBpZiAodHlwZW9mIGZpbGUgPT09ICdzdHJpbmcnKSB7XG4gICAgICBpZiAoIW8uZmlsZW5hbWUpIG8uZmlsZW5hbWUgPSBmaWxlO1xuICAgICAgZGVidWcoJ2NyZWF0aW5nIGBmcy5SZWFkU3RyZWFtYCBpbnN0YW5jZSBmb3IgZmlsZTogJXMnLCBmaWxlKTtcbiAgICAgIGZpbGUgPSBmcy5jcmVhdGVSZWFkU3RyZWFtKGZpbGUpO1xuICAgICAgZmlsZS5vbignZXJyb3InLCAoZXJyb3IpID0+IHtcbiAgICAgICAgY29uc3QgZm9ybURhdGEgPSB0aGlzLl9nZXRGb3JtRGF0YSgpO1xuICAgICAgICBmb3JtRGF0YS5lbWl0KCdlcnJvcicsIGVycm9yKTtcbiAgICAgIH0pO1xuICAgIH0gZWxzZSBpZiAoIW8uZmlsZW5hbWUgJiYgZmlsZS5wYXRoKSB7XG4gICAgICBvLmZpbGVuYW1lID0gZmlsZS5wYXRoO1xuICAgIH1cblxuICAgIHRoaXMuX2dldEZvcm1EYXRhKCkuYXBwZW5kKGZpZWxkLCBmaWxlLCBvKTtcbiAgfVxuXG4gIHJldHVybiB0aGlzO1xufTtcblxuUmVxdWVzdC5wcm90b3R5cGUuX2dldEZvcm1EYXRhID0gZnVuY3Rpb24gKCkge1xuICBpZiAoIXRoaXMuX2Zvcm1EYXRhKSB7XG4gICAgdGhpcy5fZm9ybURhdGEgPSBuZXcgRm9ybURhdGEoKTtcbiAgICB0aGlzLl9mb3JtRGF0YS5vbignZXJyb3InLCAoZXJyb3IpID0+IHtcbiAgICAgIGRlYnVnKCdGb3JtRGF0YSBlcnJvcicsIGVycm9yKTtcbiAgICAgIGlmICh0aGlzLmNhbGxlZCkge1xuICAgICAgICAvLyBUaGUgcmVxdWVzdCBoYXMgYWxyZWFkeSBmaW5pc2hlZCBhbmQgdGhlIGNhbGxiYWNrIHdhcyBjYWxsZWQuXG4gICAgICAgIC8vIFNpbGVudGx5IGlnbm9yZSB0aGUgZXJyb3IuXG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgdGhpcy5jYWxsYmFjayhlcnJvcik7XG4gICAgICB0aGlzLmFib3J0KCk7XG4gICAgfSk7XG4gIH1cblxuICByZXR1cm4gdGhpcy5fZm9ybURhdGE7XG59O1xuXG4vKipcbiAqIEdldHMvc2V0cyB0aGUgYEFnZW50YCB0byB1c2UgZm9yIHRoaXMgSFRUUCByZXF1ZXN0LiBUaGUgZGVmYXVsdCAoaWYgdGhpc1xuICogZnVuY3Rpb24gaXMgbm90IGNhbGxlZCkgaXMgdG8gb3B0IG91dCBvZiBjb25uZWN0aW9uIHBvb2xpbmcgKGBhZ2VudDogZmFsc2VgKS5cbiAqXG4gKiBAcGFyYW0ge2h0dHAuQWdlbnR9IGFnZW50XG4gKiBAcmV0dXJuIHtodHRwLkFnZW50fVxuICogQGFwaSBwdWJsaWNcbiAqL1xuXG5SZXF1ZXN0LnByb3RvdHlwZS5hZ2VudCA9IGZ1bmN0aW9uIChhZ2VudCkge1xuICBpZiAoYXJndW1lbnRzLmxlbmd0aCA9PT0gMCkgcmV0dXJuIHRoaXMuX2FnZW50O1xuICB0aGlzLl9hZ2VudCA9IGFnZW50O1xuICByZXR1cm4gdGhpcztcbn07XG5cbi8qKlxuICogR2V0cy9zZXRzIHRoZSBgbG9va3VwYCBmdW5jdGlvbiB0byB1c2UgY3VzdG9tIEROUyByZXNvbHZlci5cbiAqXG4gKiBAcGFyYW0ge0Z1bmN0aW9ufSBsb29rdXBcbiAqIEByZXR1cm4ge0Z1bmN0aW9ufVxuICogQGFwaSBwdWJsaWNcbiAqL1xuXG5SZXF1ZXN0LnByb3RvdHlwZS5sb29rdXAgPSBmdW5jdGlvbiAobG9va3VwKSB7XG4gIGlmIChhcmd1bWVudHMubGVuZ3RoID09PSAwKSByZXR1cm4gdGhpcy5fbG9va3VwO1xuICB0aGlzLl9sb29rdXAgPSBsb29rdXA7XG4gIHJldHVybiB0aGlzO1xufTtcblxuLyoqXG4gKiBTZXQgX0NvbnRlbnQtVHlwZV8gcmVzcG9uc2UgaGVhZGVyIHBhc3NlZCB0aHJvdWdoIGBtaW1lLmdldFR5cGUoKWAuXG4gKlxuICogRXhhbXBsZXM6XG4gKlxuICogICAgICByZXF1ZXN0LnBvc3QoJy8nKVxuICogICAgICAgIC50eXBlKCd4bWwnKVxuICogICAgICAgIC5zZW5kKHhtbHN0cmluZylcbiAqICAgICAgICAuZW5kKGNhbGxiYWNrKTtcbiAqXG4gKiAgICAgIHJlcXVlc3QucG9zdCgnLycpXG4gKiAgICAgICAgLnR5cGUoJ2pzb24nKVxuICogICAgICAgIC5zZW5kKGpzb25zdHJpbmcpXG4gKiAgICAgICAgLmVuZChjYWxsYmFjayk7XG4gKlxuICogICAgICByZXF1ZXN0LnBvc3QoJy8nKVxuICogICAgICAgIC50eXBlKCdhcHBsaWNhdGlvbi9qc29uJylcbiAqICAgICAgICAuc2VuZChqc29uc3RyaW5nKVxuICogICAgICAgIC5lbmQoY2FsbGJhY2spO1xuICpcbiAqIEBwYXJhbSB7U3RyaW5nfSB0eXBlXG4gKiBAcmV0dXJuIHtSZXF1ZXN0fSBmb3IgY2hhaW5pbmdcbiAqIEBhcGkgcHVibGljXG4gKi9cblxuUmVxdWVzdC5wcm90b3R5cGUudHlwZSA9IGZ1bmN0aW9uICh0eXBlKSB7XG4gIHJldHVybiB0aGlzLnNldChcbiAgICAnQ29udGVudC1UeXBlJyxcbiAgICB0eXBlLmluY2x1ZGVzKCcvJykgPyB0eXBlIDogbWltZS5nZXRUeXBlKHR5cGUpXG4gICk7XG59O1xuXG4vKipcbiAqIFNldCBfQWNjZXB0XyByZXNwb25zZSBoZWFkZXIgcGFzc2VkIHRocm91Z2ggYG1pbWUuZ2V0VHlwZSgpYC5cbiAqXG4gKiBFeGFtcGxlczpcbiAqXG4gKiAgICAgIHN1cGVyYWdlbnQudHlwZXMuanNvbiA9ICdhcHBsaWNhdGlvbi9qc29uJztcbiAqXG4gKiAgICAgIHJlcXVlc3QuZ2V0KCcvYWdlbnQnKVxuICogICAgICAgIC5hY2NlcHQoJ2pzb24nKVxuICogICAgICAgIC5lbmQoY2FsbGJhY2spO1xuICpcbiAqICAgICAgcmVxdWVzdC5nZXQoJy9hZ2VudCcpXG4gKiAgICAgICAgLmFjY2VwdCgnYXBwbGljYXRpb24vanNvbicpXG4gKiAgICAgICAgLmVuZChjYWxsYmFjayk7XG4gKlxuICogQHBhcmFtIHtTdHJpbmd9IGFjY2VwdFxuICogQHJldHVybiB7UmVxdWVzdH0gZm9yIGNoYWluaW5nXG4gKiBAYXBpIHB1YmxpY1xuICovXG5cblJlcXVlc3QucHJvdG90eXBlLmFjY2VwdCA9IGZ1bmN0aW9uICh0eXBlKSB7XG4gIHJldHVybiB0aGlzLnNldCgnQWNjZXB0JywgdHlwZS5pbmNsdWRlcygnLycpID8gdHlwZSA6IG1pbWUuZ2V0VHlwZSh0eXBlKSk7XG59O1xuXG4vKipcbiAqIEFkZCBxdWVyeS1zdHJpbmcgYHZhbGAuXG4gKlxuICogRXhhbXBsZXM6XG4gKlxuICogICByZXF1ZXN0LmdldCgnL3Nob2VzJylcbiAqICAgICAucXVlcnkoJ3NpemU9MTAnKVxuICogICAgIC5xdWVyeSh7IGNvbG9yOiAnYmx1ZScgfSlcbiAqXG4gKiBAcGFyYW0ge09iamVjdHxTdHJpbmd9IHZhbFxuICogQHJldHVybiB7UmVxdWVzdH0gZm9yIGNoYWluaW5nXG4gKiBAYXBpIHB1YmxpY1xuICovXG5cblJlcXVlc3QucHJvdG90eXBlLnF1ZXJ5ID0gZnVuY3Rpb24gKHZhbHVlKSB7XG4gIGlmICh0eXBlb2YgdmFsdWUgPT09ICdzdHJpbmcnKSB7XG4gICAgdGhpcy5fcXVlcnkucHVzaCh2YWx1ZSk7XG4gIH0gZWxzZSB7XG4gICAgT2JqZWN0LmFzc2lnbih0aGlzLnFzLCB2YWx1ZSk7XG4gIH1cblxuICByZXR1cm4gdGhpcztcbn07XG5cbi8qKlxuICogV3JpdGUgcmF3IGBkYXRhYCAvIGBlbmNvZGluZ2AgdG8gdGhlIHNvY2tldC5cbiAqXG4gKiBAcGFyYW0ge0J1ZmZlcnxTdHJpbmd9IGRhdGFcbiAqIEBwYXJhbSB7U3RyaW5nfSBlbmNvZGluZ1xuICogQHJldHVybiB7Qm9vbGVhbn1cbiAqIEBhcGkgcHVibGljXG4gKi9cblxuUmVxdWVzdC5wcm90b3R5cGUud3JpdGUgPSBmdW5jdGlvbiAoZGF0YSwgZW5jb2RpbmcpIHtcbiAgY29uc3QgcmVxdWVzdF8gPSB0aGlzLnJlcXVlc3QoKTtcbiAgaWYgKCF0aGlzLl9zdHJlYW1SZXF1ZXN0KSB7XG4gICAgdGhpcy5fc3RyZWFtUmVxdWVzdCA9IHRydWU7XG4gIH1cblxuICByZXR1cm4gcmVxdWVzdF8ud3JpdGUoZGF0YSwgZW5jb2RpbmcpO1xufTtcblxuLyoqXG4gKiBQaXBlIHRoZSByZXF1ZXN0IGJvZHkgdG8gYHN0cmVhbWAuXG4gKlxuICogQHBhcmFtIHtTdHJlYW19IHN0cmVhbVxuICogQHBhcmFtIHtPYmplY3R9IG9wdGlvbnNcbiAqIEByZXR1cm4ge1N0cmVhbX1cbiAqIEBhcGkgcHVibGljXG4gKi9cblxuUmVxdWVzdC5wcm90b3R5cGUucGlwZSA9IGZ1bmN0aW9uIChzdHJlYW0sIG9wdGlvbnMpIHtcbiAgdGhpcy5waXBlZCA9IHRydWU7IC8vIEhBQ0suLi5cbiAgdGhpcy5idWZmZXIoZmFsc2UpO1xuICB0aGlzLmVuZCgpO1xuICByZXR1cm4gdGhpcy5fcGlwZUNvbnRpbnVlKHN0cmVhbSwgb3B0aW9ucyk7XG59O1xuXG5SZXF1ZXN0LnByb3RvdHlwZS5fcGlwZUNvbnRpbnVlID0gZnVuY3Rpb24gKHN0cmVhbSwgb3B0aW9ucykge1xuICB0aGlzLnJlcS5vbmNlKCdyZXNwb25zZScsIChyZXMpID0+IHtcbiAgICAvLyByZWRpcmVjdFxuICAgIGlmIChcbiAgICAgIGlzUmVkaXJlY3QocmVzLnN0YXR1c0NvZGUpICYmXG4gICAgICB0aGlzLl9yZWRpcmVjdHMrKyAhPT0gdGhpcy5fbWF4UmVkaXJlY3RzXG4gICAgKSB7XG4gICAgICByZXR1cm4gdGhpcy5fcmVkaXJlY3QocmVzKSA9PT0gdGhpc1xuICAgICAgICA/IHRoaXMuX3BpcGVDb250aW51ZShzdHJlYW0sIG9wdGlvbnMpXG4gICAgICAgIDogdW5kZWZpbmVkO1xuICAgIH1cblxuICAgIHRoaXMucmVzID0gcmVzO1xuICAgIHRoaXMuX2VtaXRSZXNwb25zZSgpO1xuICAgIGlmICh0aGlzLl9hYm9ydGVkKSByZXR1cm47XG5cbiAgICBpZiAodGhpcy5fc2hvdWxkRGVjb21wcmVzcyhyZXMpKSB7XG5cbiAgICAgIGxldCBkZWNvbXByZXNzZXIgPSBjaG9vc2VEZWNvbXByZXNzZXIocmVzKTtcblxuICAgICAgZGVjb21wcmVzc2VyLm9uKCdlcnJvcicsIChlcnJvcikgPT4ge1xuICAgICAgICBpZiAoZXJyb3IgJiYgZXJyb3IuY29kZSA9PT0gJ1pfQlVGX0VSUk9SJykge1xuICAgICAgICAgIC8vIHVuZXhwZWN0ZWQgZW5kIG9mIGZpbGUgaXMgaWdub3JlZCBieSBicm93c2VycyBhbmQgY3VybFxuICAgICAgICAgIHN0cmVhbS5lbWl0KCdlbmQnKTtcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBzdHJlYW0uZW1pdCgnZXJyb3InLCBlcnJvcik7XG4gICAgICB9KTtcbiAgICAgIHJlcy5waXBlKGRlY29tcHJlc3NlcikucGlwZShzdHJlYW0sIG9wdGlvbnMpO1xuICAgICAgLy8gZG9uJ3QgZW1pdCAnZW5kJyB1bnRpbCBkZWNvbXByZXNzZXIgaGFzIGNvbXBsZXRlZCB3cml0aW5nIGFsbCBpdHMgZGF0YS5cbiAgICAgIGRlY29tcHJlc3Nlci5vbmNlKCdlbmQnLCAoKSA9PiB0aGlzLmVtaXQoJ2VuZCcpKTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmVzLnBpcGUoc3RyZWFtLCBvcHRpb25zKTtcbiAgICAgIHJlcy5vbmNlKCdlbmQnLCAoKSA9PiB0aGlzLmVtaXQoJ2VuZCcpKTtcbiAgICB9XG4gIH0pO1xuICByZXR1cm4gc3RyZWFtO1xufTtcblxuLyoqXG4gKiBFbmFibGUgLyBkaXNhYmxlIGJ1ZmZlcmluZy5cbiAqXG4gKiBAcmV0dXJuIHtCb29sZWFufSBbdmFsXVxuICogQHJldHVybiB7UmVxdWVzdH0gZm9yIGNoYWluaW5nXG4gKiBAYXBpIHB1YmxpY1xuICovXG5cblJlcXVlc3QucHJvdG90eXBlLmJ1ZmZlciA9IGZ1bmN0aW9uICh2YWx1ZSkge1xuICB0aGlzLl9idWZmZXIgPSB2YWx1ZSAhPT0gZmFsc2U7XG4gIHJldHVybiB0aGlzO1xufTtcblxuLyoqXG4gKiBSZWRpcmVjdCB0byBgdXJsXG4gKlxuICogQHBhcmFtIHtJbmNvbWluZ01lc3NhZ2V9IHJlc1xuICogQHJldHVybiB7UmVxdWVzdH0gZm9yIGNoYWluaW5nXG4gKiBAYXBpIHByaXZhdGVcbiAqL1xuXG5SZXF1ZXN0LnByb3RvdHlwZS5fcmVkaXJlY3QgPSBmdW5jdGlvbiAocmVzKSB7XG4gIGxldCB1cmwgPSByZXMuaGVhZGVycy5sb2NhdGlvbjtcbiAgaWYgKCF1cmwpIHtcbiAgICByZXR1cm4gdGhpcy5jYWxsYmFjayhuZXcgRXJyb3IoJ05vIGxvY2F0aW9uIGhlYWRlciBmb3IgcmVkaXJlY3QnKSwgcmVzKTtcbiAgfVxuXG4gIGRlYnVnKCdyZWRpcmVjdCAlcyAtPiAlcycsIHRoaXMudXJsLCB1cmwpO1xuXG4gIC8vIGxvY2F0aW9uXG4gIHVybCA9IG5ldyBVUkwodXJsLCB0aGlzLnVybCkuaHJlZjtcblxuICAvLyBlbnN1cmUgdGhlIHJlc3BvbnNlIGlzIGJlaW5nIGNvbnN1bWVkXG4gIC8vIHRoaXMgaXMgcmVxdWlyZWQgZm9yIE5vZGUgdjAuMTArXG4gIHJlcy5yZXN1bWUoKTtcblxuICBsZXQgaGVhZGVycyA9IHRoaXMucmVxLmdldEhlYWRlcnMgPyB0aGlzLnJlcS5nZXRIZWFkZXJzKCkgOiB0aGlzLnJlcS5faGVhZGVycztcblxuICBjb25zdCBjaGFuZ2VzT3JpZ2luID0gbmV3IFVSTCh1cmwpLmhvc3QgIT09IG5ldyBVUkwodGhpcy51cmwpLmhvc3Q7XG5cbiAgLy8gaW1wbGVtZW50YXRpb24gb2YgMzAyIGZvbGxvd2luZyBkZWZhY3RvIHN0YW5kYXJkXG4gIGlmIChyZXMuc3RhdHVzQ29kZSA9PT0gMzAxIHx8IHJlcy5zdGF0dXNDb2RlID09PSAzMDIpIHtcbiAgICAvLyBzdHJpcCBDb250ZW50LSogcmVsYXRlZCBmaWVsZHNcbiAgICAvLyBpbiBjYXNlIG9mIFBPU1QgZXRjXG4gICAgaGVhZGVycyA9IHV0aWxzLmNsZWFuSGVhZGVyKGhlYWRlcnMsIGNoYW5nZXNPcmlnaW4pO1xuXG4gICAgLy8gZm9yY2UgR0VUXG4gICAgdGhpcy5tZXRob2QgPSB0aGlzLm1ldGhvZCA9PT0gJ0hFQUQnID8gJ0hFQUQnIDogJ0dFVCc7XG5cbiAgICAvLyBjbGVhciBkYXRhXG4gICAgdGhpcy5fZGF0YSA9IG51bGw7XG4gIH1cblxuICAvLyAzMDMgaXMgYWx3YXlzIEdFVFxuICBpZiAocmVzLnN0YXR1c0NvZGUgPT09IDMwMykge1xuICAgIC8vIHN0cmlwIENvbnRlbnQtKiByZWxhdGVkIGZpZWxkc1xuICAgIC8vIGluIGNhc2Ugb2YgUE9TVCBldGNcbiAgICBoZWFkZXJzID0gdXRpbHMuY2xlYW5IZWFkZXIoaGVhZGVycywgY2hhbmdlc09yaWdpbik7XG5cbiAgICAvLyBmb3JjZSBtZXRob2RcbiAgICB0aGlzLm1ldGhvZCA9ICdHRVQnO1xuXG4gICAgLy8gY2xlYXIgZGF0YVxuICAgIHRoaXMuX2RhdGEgPSBudWxsO1xuICB9XG5cbiAgLy8gMzA3IHByZXNlcnZlcyBtZXRob2RcbiAgLy8gMzA4IHByZXNlcnZlcyBtZXRob2RcbiAgZGVsZXRlIGhlYWRlcnMuaG9zdDtcblxuICBkZWxldGUgdGhpcy5yZXE7XG4gIGRlbGV0ZSB0aGlzLl9mb3JtRGF0YTtcblxuICAvLyByZW1vdmUgYWxsIGFkZCBoZWFkZXIgZXhjZXB0IFVzZXItQWdlbnRcbiAgX2luaXRIZWFkZXJzKHRoaXMpO1xuXG4gIC8vIHJlZGlyZWN0XG4gIHRoaXMucmVzID0gcmVzO1xuICB0aGlzLl9lbmRDYWxsZWQgPSBmYWxzZTtcbiAgdGhpcy51cmwgPSB1cmw7XG4gIHRoaXMucXMgPSB7fTtcbiAgdGhpcy5fcXVlcnkubGVuZ3RoID0gMDtcbiAgdGhpcy5zZXQoaGVhZGVycyk7XG4gIHRoaXMuX2VtaXRSZWRpcmVjdCgpO1xuICB0aGlzLl9yZWRpcmVjdExpc3QucHVzaCh0aGlzLnVybCk7XG4gIHRoaXMuZW5kKHRoaXMuX2NhbGxiYWNrKTtcbiAgcmV0dXJuIHRoaXM7XG59O1xuXG4vKipcbiAqIFNldCBBdXRob3JpemF0aW9uIGZpZWxkIHZhbHVlIHdpdGggYHVzZXJgIGFuZCBgcGFzc2AuXG4gKlxuICogRXhhbXBsZXM6XG4gKlxuICogICAuYXV0aCgndG9iaScsICdsZWFybmJvb3N0JylcbiAqICAgLmF1dGgoJ3RvYmk6bGVhcm5ib29zdCcpXG4gKiAgIC5hdXRoKCd0b2JpJylcbiAqICAgLmF1dGgoYWNjZXNzVG9rZW4sIHsgdHlwZTogJ2JlYXJlcicgfSlcbiAqXG4gKiBAcGFyYW0ge1N0cmluZ30gdXNlclxuICogQHBhcmFtIHtTdHJpbmd9IFtwYXNzXVxuICogQHBhcmFtIHtPYmplY3R9IFtvcHRpb25zXSBvcHRpb25zIHdpdGggYXV0aG9yaXphdGlvbiB0eXBlICdiYXNpYycgb3IgJ2JlYXJlcicgKCdiYXNpYycgaXMgZGVmYXVsdClcbiAqIEByZXR1cm4ge1JlcXVlc3R9IGZvciBjaGFpbmluZ1xuICogQGFwaSBwdWJsaWNcbiAqL1xuXG5SZXF1ZXN0LnByb3RvdHlwZS5hdXRoID0gZnVuY3Rpb24gKHVzZXIsIHBhc3MsIG9wdGlvbnMpIHtcbiAgaWYgKGFyZ3VtZW50cy5sZW5ndGggPT09IDEpIHBhc3MgPSAnJztcbiAgaWYgKHR5cGVvZiBwYXNzID09PSAnb2JqZWN0JyAmJiBwYXNzICE9PSBudWxsKSB7XG4gICAgLy8gcGFzcyBpcyBvcHRpb25hbCBhbmQgY2FuIGJlIHJlcGxhY2VkIHdpdGggb3B0aW9uc1xuICAgIG9wdGlvbnMgPSBwYXNzO1xuICAgIHBhc3MgPSAnJztcbiAgfVxuXG4gIGlmICghb3B0aW9ucykge1xuICAgIG9wdGlvbnMgPSB7IHR5cGU6ICdiYXNpYycgfTtcbiAgfVxuXG4gIGNvbnN0IGVuY29kZXIgPSAoc3RyaW5nKSA9PiBCdWZmZXIuZnJvbShzdHJpbmcpLnRvU3RyaW5nKCdiYXNlNjQnKTtcblxuICByZXR1cm4gdGhpcy5fYXV0aCh1c2VyLCBwYXNzLCBvcHRpb25zLCBlbmNvZGVyKTtcbn07XG5cbi8qKlxuICogU2V0IHRoZSBjZXJ0aWZpY2F0ZSBhdXRob3JpdHkgb3B0aW9uIGZvciBodHRwcyByZXF1ZXN0LlxuICpcbiAqIEBwYXJhbSB7QnVmZmVyIHwgQXJyYXl9IGNlcnRcbiAqIEByZXR1cm4ge1JlcXVlc3R9IGZvciBjaGFpbmluZ1xuICogQGFwaSBwdWJsaWNcbiAqL1xuXG5SZXF1ZXN0LnByb3RvdHlwZS5jYSA9IGZ1bmN0aW9uIChjZXJ0KSB7XG4gIHRoaXMuX2NhID0gY2VydDtcbiAgcmV0dXJuIHRoaXM7XG59O1xuXG4vKipcbiAqIFNldCB0aGUgY2xpZW50IGNlcnRpZmljYXRlIGtleSBvcHRpb24gZm9yIGh0dHBzIHJlcXVlc3QuXG4gKlxuICogQHBhcmFtIHtCdWZmZXIgfCBTdHJpbmd9IGNlcnRcbiAqIEByZXR1cm4ge1JlcXVlc3R9IGZvciBjaGFpbmluZ1xuICogQGFwaSBwdWJsaWNcbiAqL1xuXG5SZXF1ZXN0LnByb3RvdHlwZS5rZXkgPSBmdW5jdGlvbiAoY2VydCkge1xuICB0aGlzLl9rZXkgPSBjZXJ0O1xuICByZXR1cm4gdGhpcztcbn07XG5cbi8qKlxuICogU2V0IHRoZSBrZXksIGNlcnRpZmljYXRlLCBhbmQgQ0EgY2VydHMgb2YgdGhlIGNsaWVudCBpbiBQRlggb3IgUEtDUzEyIGZvcm1hdC5cbiAqXG4gKiBAcGFyYW0ge0J1ZmZlciB8IFN0cmluZ30gY2VydFxuICogQHJldHVybiB7UmVxdWVzdH0gZm9yIGNoYWluaW5nXG4gKiBAYXBpIHB1YmxpY1xuICovXG5cblJlcXVlc3QucHJvdG90eXBlLnBmeCA9IGZ1bmN0aW9uIChjZXJ0KSB7XG4gIGlmICh0eXBlb2YgY2VydCA9PT0gJ29iamVjdCcgJiYgIUJ1ZmZlci5pc0J1ZmZlcihjZXJ0KSkge1xuICAgIHRoaXMuX3BmeCA9IGNlcnQucGZ4O1xuICAgIHRoaXMuX3Bhc3NwaHJhc2UgPSBjZXJ0LnBhc3NwaHJhc2U7XG4gIH0gZWxzZSB7XG4gICAgdGhpcy5fcGZ4ID0gY2VydDtcbiAgfVxuXG4gIHJldHVybiB0aGlzO1xufTtcblxuLyoqXG4gKiBTZXQgdGhlIGNsaWVudCBjZXJ0aWZpY2F0ZSBvcHRpb24gZm9yIGh0dHBzIHJlcXVlc3QuXG4gKlxuICogQHBhcmFtIHtCdWZmZXIgfCBTdHJpbmd9IGNlcnRcbiAqIEByZXR1cm4ge1JlcXVlc3R9IGZvciBjaGFpbmluZ1xuICogQGFwaSBwdWJsaWNcbiAqL1xuXG5SZXF1ZXN0LnByb3RvdHlwZS5jZXJ0ID0gZnVuY3Rpb24gKGNlcnQpIHtcbiAgdGhpcy5fY2VydCA9IGNlcnQ7XG4gIHJldHVybiB0aGlzO1xufTtcblxuLyoqXG4gKiBEbyBub3QgcmVqZWN0IGV4cGlyZWQgb3IgaW52YWxpZCBUTFMgY2VydHMuXG4gKiBzZXRzIGByZWplY3RVbmF1dGhvcml6ZWQ9dHJ1ZWAuIEJlIHdhcm5lZCB0aGF0IHRoaXMgYWxsb3dzIE1JVE0gYXR0YWNrcy5cbiAqXG4gKiBAcmV0dXJuIHtSZXF1ZXN0fSBmb3IgY2hhaW5pbmdcbiAqIEBhcGkgcHVibGljXG4gKi9cblxuUmVxdWVzdC5wcm90b3R5cGUuZGlzYWJsZVRMU0NlcnRzID0gZnVuY3Rpb24gKCkge1xuICB0aGlzLl9kaXNhYmxlVExTQ2VydHMgPSB0cnVlO1xuICByZXR1cm4gdGhpcztcbn07XG5cbi8qKlxuICogUmV0dXJuIGFuIGh0dHBbc10gcmVxdWVzdC5cbiAqXG4gKiBAcmV0dXJuIHtPdXRnb2luZ01lc3NhZ2V9XG4gKiBAYXBpIHByaXZhdGVcbiAqL1xuXG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgY29tcGxleGl0eVxuUmVxdWVzdC5wcm90b3R5cGUucmVxdWVzdCA9IGZ1bmN0aW9uICgpIHtcbiAgaWYgKHRoaXMucmVxKSByZXR1cm4gdGhpcy5yZXE7XG5cbiAgY29uc3Qgb3B0aW9ucyA9IHt9O1xuXG4gIHRyeSB7XG4gICAgY29uc3QgcXVlcnkgPSBxcy5zdHJpbmdpZnkodGhpcy5xcywge1xuICAgICAgaW5kaWNlczogZmFsc2UsXG4gICAgICBzdHJpY3ROdWxsSGFuZGxpbmc6IHRydWVcbiAgICB9KTtcbiAgICBpZiAocXVlcnkpIHtcbiAgICAgIHRoaXMucXMgPSB7fTtcbiAgICAgIHRoaXMuX3F1ZXJ5LnB1c2gocXVlcnkpO1xuICAgIH1cblxuICAgIHRoaXMuX2ZpbmFsaXplUXVlcnlTdHJpbmcoKTtcbiAgfSBjYXRjaCAoZXJyKSB7XG4gICAgcmV0dXJuIHRoaXMuZW1pdCgnZXJyb3InLCBlcnIpO1xuICB9XG5cbiAgbGV0IHsgdXJsOiB1cmxTdHJpbmcgfSA9IHRoaXM7XG4gIGNvbnN0IHJldHJpZXMgPSB0aGlzLl9yZXRyaWVzO1xuXG4gIC8vIGRlZmF1bHQgdG8gaHR0cDovL1xuICBpZiAodXJsU3RyaW5nLmluZGV4T2YoJ2h0dHAnKSAhPT0gMCkgdXJsU3RyaW5nID0gYGh0dHA6Ly8ke3VybFN0cmluZ31gO1xuICBjb25zdCB1cmwgPSBuZXcgVVJMKHVybFN0cmluZyk7XG4gIGxldCB7IHByb3RvY29sIH0gPSB1cmw7XG4gIGxldCBwYXRoID0gYCR7dXJsLnBhdGhuYW1lfSR7dXJsLnNlYXJjaH1gO1xuXG4gIC8vIHN1cHBvcnQgdW5peCBzb2NrZXRzXG4gIGlmICgvXmh0dHBzP1xcK3VuaXg6Ly50ZXN0KHByb3RvY29sKSA9PT0gdHJ1ZSkge1xuICAgIC8vIGdldCB0aGUgcHJvdG9jb2xcbiAgICBwcm90b2NvbCA9IGAke3Byb3RvY29sLnNwbGl0KCcrJylbMF19OmA7XG5cbiAgICAvLyBnZXQgdGhlIHNvY2tldCBwYXRoXG4gICAgb3B0aW9ucy5zb2NrZXRQYXRoID0gdXJsLmhvc3RuYW1lLnJlcGxhY2UoLyUyRi9nLCAnLycpO1xuICAgIHVybC5ob3N0ID0gJyc7XG4gICAgdXJsLmhvc3RuYW1lID0gJyc7XG4gIH1cblxuICAvLyBPdmVycmlkZSBJUCBhZGRyZXNzIG9mIGEgaG9zdG5hbWVcbiAgaWYgKHRoaXMuX2Nvbm5lY3RPdmVycmlkZSkge1xuICAgIGNvbnN0IHsgaG9zdG5hbWUgfSA9IHVybDtcbiAgICBjb25zdCBtYXRjaCA9XG4gICAgICBob3N0bmFtZSBpbiB0aGlzLl9jb25uZWN0T3ZlcnJpZGVcbiAgICAgICAgPyB0aGlzLl9jb25uZWN0T3ZlcnJpZGVbaG9zdG5hbWVdXG4gICAgICAgIDogdGhpcy5fY29ubmVjdE92ZXJyaWRlWycqJ107XG4gICAgaWYgKG1hdGNoKSB7XG4gICAgICAvLyBiYWNrdXAgdGhlIHJlYWwgaG9zdFxuICAgICAgaWYgKCF0aGlzLl9oZWFkZXIuaG9zdCkge1xuICAgICAgICB0aGlzLnNldCgnaG9zdCcsIHVybC5ob3N0KTtcbiAgICAgIH1cblxuICAgICAgbGV0IG5ld0hvc3Q7XG4gICAgICBsZXQgbmV3UG9ydDtcblxuICAgICAgaWYgKHR5cGVvZiBtYXRjaCA9PT0gJ29iamVjdCcpIHtcbiAgICAgICAgbmV3SG9zdCA9IG1hdGNoLmhvc3Q7XG4gICAgICAgIG5ld1BvcnQgPSBtYXRjaC5wb3J0O1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgbmV3SG9zdCA9IG1hdGNoO1xuICAgICAgICBuZXdQb3J0ID0gdXJsLnBvcnQ7XG4gICAgICB9XG5cbiAgICAgIC8vIHdyYXAgW2lwdjZdXG4gICAgICB1cmwuaG9zdCA9IC86Ly50ZXN0KG5ld0hvc3QpID8gYFske25ld0hvc3R9XWAgOiBuZXdIb3N0O1xuICAgICAgaWYgKG5ld1BvcnQpIHtcbiAgICAgICAgdXJsLmhvc3QgKz0gYDoke25ld1BvcnR9YDtcbiAgICAgICAgdXJsLnBvcnQgPSBuZXdQb3J0O1xuICAgICAgfVxuXG4gICAgICB1cmwuaG9zdG5hbWUgPSBuZXdIb3N0O1xuICAgIH1cbiAgfVxuXG4gIC8vIG9wdGlvbnNcbiAgb3B0aW9ucy5tZXRob2QgPSB0aGlzLm1ldGhvZDtcbiAgb3B0aW9ucy5wb3J0ID0gdXJsLnBvcnQ7XG4gIG9wdGlvbnMucGF0aCA9IHBhdGg7XG4gIG9wdGlvbnMuaG9zdCA9IHV0aWxzLm5vcm1hbGl6ZUhvc3RuYW1lKHVybC5ob3N0bmFtZSk7IC8vIGV4OiBbOjoxXSAtPiA6OjFcbiAgb3B0aW9ucy5jYSA9IHRoaXMuX2NhO1xuICBvcHRpb25zLmtleSA9IHRoaXMuX2tleTtcbiAgb3B0aW9ucy5wZnggPSB0aGlzLl9wZng7XG4gIG9wdGlvbnMuY2VydCA9IHRoaXMuX2NlcnQ7XG4gIG9wdGlvbnMucGFzc3BocmFzZSA9IHRoaXMuX3Bhc3NwaHJhc2U7XG4gIG9wdGlvbnMuYWdlbnQgPSB0aGlzLl9hZ2VudDtcbiAgb3B0aW9ucy5sb29rdXAgPSB0aGlzLl9sb29rdXA7XG4gIG9wdGlvbnMucmVqZWN0VW5hdXRob3JpemVkID1cbiAgICB0eXBlb2YgdGhpcy5fZGlzYWJsZVRMU0NlcnRzID09PSAnYm9vbGVhbidcbiAgICAgID8gIXRoaXMuX2Rpc2FibGVUTFNDZXJ0c1xuICAgICAgOiBwcm9jZXNzLmVudi5OT0RFX1RMU19SRUpFQ1RfVU5BVVRIT1JJWkVEICE9PSAnMCc7XG5cbiAgLy8gQWxsb3dzIHJlcXVlc3QuZ2V0KCdodHRwczovLzEuMi4zLjQvJykuc2V0KCdIb3N0JywgJ2V4YW1wbGUuY29tJylcbiAgaWYgKHRoaXMuX2hlYWRlci5ob3N0KSB7XG4gICAgb3B0aW9ucy5zZXJ2ZXJuYW1lID0gdGhpcy5faGVhZGVyLmhvc3QucmVwbGFjZSgvOlxcZCskLywgJycpO1xuICB9XG5cbiAgaWYgKFxuICAgIHRoaXMuX3RydXN0TG9jYWxob3N0ICYmXG4gICAgL14oPzpsb2NhbGhvc3R8MTI3XFwuMFxcLjBcXC5cXGQrfCgwKjopKzowKjEpJC8udGVzdCh1cmwuaG9zdG5hbWUpXG4gICkge1xuICAgIG9wdGlvbnMucmVqZWN0VW5hdXRob3JpemVkID0gZmFsc2U7XG4gIH1cblxuICAvLyBpbml0aWF0ZSByZXF1ZXN0XG4gIGNvbnN0IG1vZHVsZV8gPSB0aGlzLl9lbmFibGVIdHRwMlxuICAgID8gZXhwb3J0cy5wcm90b2NvbHNbJ2h0dHAyOiddLnNldFByb3RvY29sKHByb3RvY29sKVxuICAgIDogZXhwb3J0cy5wcm90b2NvbHNbcHJvdG9jb2xdO1xuXG4gIC8vIHJlcXVlc3RcbiAgdGhpcy5yZXEgPSBtb2R1bGVfLnJlcXVlc3Qob3B0aW9ucyk7XG4gIGNvbnN0IHsgcmVxIH0gPSB0aGlzO1xuXG4gIC8vIHNldCB0Y3Agbm8gZGVsYXlcbiAgcmVxLnNldE5vRGVsYXkodHJ1ZSk7XG5cbiAgaWYgKG9wdGlvbnMubWV0aG9kICE9PSAnSEVBRCcpIHtcbiAgICByZXEuc2V0SGVhZGVyKCdBY2NlcHQtRW5jb2RpbmcnLCAnZ3ppcCwgZGVmbGF0ZScpO1xuICB9XG5cbiAgdGhpcy5wcm90b2NvbCA9IHByb3RvY29sO1xuICB0aGlzLmhvc3QgPSB1cmwuaG9zdDtcblxuICAvLyBleHBvc2UgZXZlbnRzXG4gIHJlcS5vbmNlKCdkcmFpbicsICgpID0+IHtcbiAgICB0aGlzLmVtaXQoJ2RyYWluJyk7XG4gIH0pO1xuXG4gIHJlcS5vbignZXJyb3InLCAoZXJyb3IpID0+IHtcbiAgICAvLyBmbGFnIGFib3J0aW9uIGhlcmUgZm9yIG91dCB0aW1lb3V0c1xuICAgIC8vIGJlY2F1c2Ugbm9kZSB3aWxsIGVtaXQgYSBmYXV4LWVycm9yIFwic29ja2V0IGhhbmcgdXBcIlxuICAgIC8vIHdoZW4gcmVxdWVzdCBpcyBhYm9ydGVkIGJlZm9yZSBhIGNvbm5lY3Rpb24gaXMgbWFkZVxuICAgIGlmICh0aGlzLl9hYm9ydGVkKSByZXR1cm47XG4gICAgLy8gaWYgbm90IHRoZSBzYW1lLCB3ZSBhcmUgaW4gdGhlICoqb2xkKiogKGNhbmNlbGxlZCkgcmVxdWVzdCxcbiAgICAvLyBzbyBuZWVkIHRvIGNvbnRpbnVlIChzYW1lIGFzIGZvciBhYm92ZSlcbiAgICBpZiAodGhpcy5fcmV0cmllcyAhPT0gcmV0cmllcykgcmV0dXJuO1xuICAgIC8vIGlmIHdlJ3ZlIHJlY2VpdmVkIGEgcmVzcG9uc2UgdGhlbiB3ZSBkb24ndCB3YW50IHRvIGxldFxuICAgIC8vIGFuIGVycm9yIGluIHRoZSByZXF1ZXN0IGJsb3cgdXAgdGhlIHJlc3BvbnNlXG4gICAgaWYgKHRoaXMucmVzcG9uc2UpIHJldHVybjtcbiAgICB0aGlzLmNhbGxiYWNrKGVycm9yKTtcbiAgfSk7XG5cbiAgLy8gYXV0aFxuICBpZiAodXJsLnVzZXJuYW1lIHx8IHVybC5wYXNzd29yZCkge1xuICAgIHRoaXMuYXV0aCh1cmwudXNlcm5hbWUsIHVybC5wYXNzd29yZCk7XG4gIH1cblxuICBpZiAodGhpcy51c2VybmFtZSAmJiB0aGlzLnBhc3N3b3JkKSB7XG4gICAgdGhpcy5hdXRoKHRoaXMudXNlcm5hbWUsIHRoaXMucGFzc3dvcmQpO1xuICB9XG5cbiAgZm9yIChjb25zdCBrZXkgaW4gdGhpcy5oZWFkZXIpIHtcbiAgICBpZiAoaGFzT3duKHRoaXMuaGVhZGVyLCBrZXkpKSByZXEuc2V0SGVhZGVyKGtleSwgdGhpcy5oZWFkZXJba2V5XSk7XG4gIH1cblxuICAvLyBhZGQgY29va2llc1xuICBpZiAodGhpcy5jb29raWVzKSB7XG4gICAgaWYgKGhhc093bih0aGlzLl9oZWFkZXIsICdjb29raWUnKSkge1xuICAgICAgLy8gbWVyZ2VcbiAgICAgIGNvbnN0IHRlbXBvcmFyeUphciA9IG5ldyBDb29raWVKYXIuQ29va2llSmFyKCk7XG4gICAgICB0ZW1wb3JhcnlKYXIuc2V0Q29va2llcyh0aGlzLl9oZWFkZXIuY29va2llLnNwbGl0KCc7ICcpKTtcbiAgICAgIHRlbXBvcmFyeUphci5zZXRDb29raWVzKHRoaXMuY29va2llcy5zcGxpdCgnOyAnKSk7XG4gICAgICByZXEuc2V0SGVhZGVyKFxuICAgICAgICAnQ29va2llJyxcbiAgICAgICAgdGVtcG9yYXJ5SmFyLmdldENvb2tpZXMoQ29va2llSmFyLkNvb2tpZUFjY2Vzc0luZm8uQWxsKS50b1ZhbHVlU3RyaW5nKClcbiAgICAgICk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJlcS5zZXRIZWFkZXIoJ0Nvb2tpZScsIHRoaXMuY29va2llcyk7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIHJlcTtcbn07XG5cbi8qKlxuICogSW52b2tlIHRoZSBjYWxsYmFjayB3aXRoIGBlcnJgIGFuZCBgcmVzYFxuICogYW5kIGhhbmRsZSBhcml0eSBjaGVjay5cbiAqXG4gKiBAcGFyYW0ge0Vycm9yfSBlcnJcbiAqIEBwYXJhbSB7UmVzcG9uc2V9IHJlc1xuICogQGFwaSBwcml2YXRlXG4gKi9cblxuUmVxdWVzdC5wcm90b3R5cGUuY2FsbGJhY2sgPSBmdW5jdGlvbiAoZXJyb3IsIHJlcykge1xuICBpZiAodGhpcy5fc2hvdWxkUmV0cnkoZXJyb3IsIHJlcykpIHtcbiAgICByZXR1cm4gdGhpcy5fcmV0cnkoKTtcbiAgfVxuXG4gIC8vIEF2b2lkIHRoZSBlcnJvciB3aGljaCBpcyBlbWl0dGVkIGZyb20gJ3NvY2tldCBoYW5nIHVwJyB0byBjYXVzZSB0aGUgZm4gdW5kZWZpbmVkIGVycm9yIG9uIEpTIHJ1bnRpbWUuXG4gIGNvbnN0IGZuID0gdGhpcy5fY2FsbGJhY2sgfHwgbm9vcDtcbiAgdGhpcy5jbGVhclRpbWVvdXQoKTtcbiAgaWYgKHRoaXMuY2FsbGVkKSByZXR1cm4gY29uc29sZS53YXJuKCdzdXBlcmFnZW50OiBkb3VibGUgY2FsbGJhY2sgYnVnJyk7XG4gIHRoaXMuY2FsbGVkID0gdHJ1ZTtcblxuICBpZiAoIWVycm9yKSB7XG4gICAgdHJ5IHtcbiAgICAgIGlmICghdGhpcy5faXNSZXNwb25zZU9LKHJlcykpIHtcbiAgICAgICAgbGV0IG1lc3NhZ2UgPSAnVW5zdWNjZXNzZnVsIEhUVFAgcmVzcG9uc2UnO1xuICAgICAgICBpZiAocmVzKSB7XG4gICAgICAgICAgbWVzc2FnZSA9IGh0dHAuU1RBVFVTX0NPREVTW3Jlcy5zdGF0dXNdIHx8IG1lc3NhZ2U7XG4gICAgICAgIH1cblxuICAgICAgICBlcnJvciA9IG5ldyBFcnJvcihtZXNzYWdlKTtcbiAgICAgICAgZXJyb3Iuc3RhdHVzID0gcmVzID8gcmVzLnN0YXR1cyA6IHVuZGVmaW5lZDtcbiAgICAgIH1cbiAgICB9IGNhdGNoIChlcnIpIHtcbiAgICAgIGVycm9yID0gZXJyO1xuICAgICAgZXJyb3Iuc3RhdHVzID0gZXJyb3Iuc3RhdHVzIHx8IChyZXMgPyByZXMuc3RhdHVzIDogdW5kZWZpbmVkKTtcbiAgICB9XG4gIH1cblxuICAvLyBJdCdzIGltcG9ydGFudCB0aGF0IHRoZSBjYWxsYmFjayBpcyBjYWxsZWQgb3V0c2lkZSB0cnkvY2F0Y2hcbiAgLy8gdG8gYXZvaWQgZG91YmxlIGNhbGxiYWNrXG4gIGlmICghZXJyb3IpIHtcbiAgICByZXR1cm4gZm4obnVsbCwgcmVzKTtcbiAgfVxuXG4gIGVycm9yLnJlc3BvbnNlID0gcmVzO1xuICBpZiAodGhpcy5fbWF4UmV0cmllcykgZXJyb3IucmV0cmllcyA9IHRoaXMuX3JldHJpZXMgLSAxO1xuXG4gIC8vIG9ubHkgZW1pdCBlcnJvciBldmVudCBpZiB0aGVyZSBpcyBhIGxpc3RlbmVyXG4gIC8vIG90aGVyd2lzZSB3ZSBhc3N1bWUgdGhlIGNhbGxiYWNrIHRvIGAuZW5kKClgIHdpbGwgZ2V0IHRoZSBlcnJvclxuICBpZiAoZXJyb3IgJiYgdGhpcy5saXN0ZW5lcnMoJ2Vycm9yJykubGVuZ3RoID4gMCkge1xuICAgIHRoaXMuZW1pdCgnZXJyb3InLCBlcnJvcik7XG4gIH1cblxuICBmbihlcnJvciwgcmVzKTtcbn07XG5cbi8qKlxuICogQ2hlY2sgaWYgYG9iamAgaXMgYSBob3N0IG9iamVjdCxcbiAqXG4gKiBAcGFyYW0ge09iamVjdH0gb2JqIGhvc3Qgb2JqZWN0XG4gKiBAcmV0dXJuIHtCb29sZWFufSBpcyBhIGhvc3Qgb2JqZWN0XG4gKiBAYXBpIHByaXZhdGVcbiAqL1xuUmVxdWVzdC5wcm90b3R5cGUuX2lzSG9zdCA9IGZ1bmN0aW9uIChvYmplY3QpIHtcbiAgcmV0dXJuIChcbiAgICBCdWZmZXIuaXNCdWZmZXIob2JqZWN0KSB8fFxuICAgIG9iamVjdCBpbnN0YW5jZW9mIFN0cmVhbSB8fFxuICAgIG9iamVjdCBpbnN0YW5jZW9mIEZvcm1EYXRhXG4gICk7XG59O1xuXG4vKipcbiAqIEluaXRpYXRlIHJlcXVlc3QsIGludm9raW5nIGNhbGxiYWNrIGBmbihlcnIsIHJlcylgXG4gKiB3aXRoIGFuIGluc3RhbmNlb2YgYFJlc3BvbnNlYC5cbiAqXG4gKiBAcGFyYW0ge0Z1bmN0aW9ufSBmblxuICogQHJldHVybiB7UmVxdWVzdH0gZm9yIGNoYWluaW5nXG4gKiBAYXBpIHB1YmxpY1xuICovXG5cblJlcXVlc3QucHJvdG90eXBlLl9lbWl0UmVzcG9uc2UgPSBmdW5jdGlvbiAoYm9keSwgZmlsZXMpIHtcbiAgY29uc3QgcmVzcG9uc2UgPSBuZXcgUmVzcG9uc2UodGhpcyk7XG4gIHRoaXMucmVzcG9uc2UgPSByZXNwb25zZTtcbiAgcmVzcG9uc2UucmVkaXJlY3RzID0gdGhpcy5fcmVkaXJlY3RMaXN0O1xuICBpZiAodW5kZWZpbmVkICE9PSBib2R5KSB7XG4gICAgcmVzcG9uc2UuYm9keSA9IGJvZHk7XG4gIH1cblxuICByZXNwb25zZS5maWxlcyA9IGZpbGVzO1xuICBpZiAodGhpcy5fZW5kQ2FsbGVkKSB7XG4gICAgcmVzcG9uc2UucGlwZSA9IGZ1bmN0aW9uICgpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgXCJlbmQoKSBoYXMgYWxyZWFkeSBiZWVuIGNhbGxlZCwgc28gaXQncyB0b28gbGF0ZSB0byBzdGFydCBwaXBpbmdcIlxuICAgICAgKTtcbiAgICB9O1xuICB9XG5cbiAgdGhpcy5lbWl0KCdyZXNwb25zZScsIHJlc3BvbnNlKTtcbiAgcmV0dXJuIHJlc3BvbnNlO1xufTtcblxuLyoqXG4gKiBFbWl0IGByZWRpcmVjdGAgZXZlbnQsIHBhc3NpbmcgYW4gaW5zdGFuY2VvZiBgUmVzcG9uc2VgLlxuICpcbiAqIEBhcGkgcHJpdmF0ZVxuICovXG5cblJlcXVlc3QucHJvdG90eXBlLl9lbWl0UmVkaXJlY3QgPSBmdW5jdGlvbiAoKSB7XG4gIGNvbnN0IHJlc3BvbnNlID0gbmV3IFJlc3BvbnNlKHRoaXMpO1xuICByZXNwb25zZS5yZWRpcmVjdHMgPSB0aGlzLl9yZWRpcmVjdExpc3Q7XG4gIHRoaXMuZW1pdCgncmVkaXJlY3QnLCByZXNwb25zZSk7XG59O1xuXG5SZXF1ZXN0LnByb3RvdHlwZS5lbmQgPSBmdW5jdGlvbiAoZm4pIHtcbiAgdGhpcy5yZXF1ZXN0KCk7XG4gIGRlYnVnKCclcyAlcycsIHRoaXMubWV0aG9kLCB0aGlzLnVybCk7XG5cbiAgaWYgKHRoaXMuX2VuZENhbGxlZCkge1xuICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICcuZW5kKCkgd2FzIGNhbGxlZCB0d2ljZS4gVGhpcyBpcyBub3Qgc3VwcG9ydGVkIGluIHN1cGVyYWdlbnQnXG4gICAgKTtcbiAgfVxuXG4gIHRoaXMuX2VuZENhbGxlZCA9IHRydWU7XG5cbiAgLy8gc3RvcmUgY2FsbGJhY2tcbiAgdGhpcy5fY2FsbGJhY2sgPSBmbiB8fCBub29wO1xuXG4gIHRoaXMuX2VuZCgpO1xufTtcblxuUmVxdWVzdC5wcm90b3R5cGUuX2VuZCA9IGZ1bmN0aW9uICgpIHtcbiAgaWYgKHRoaXMuX2Fib3J0ZWQpXG4gICAgcmV0dXJuIHRoaXMuY2FsbGJhY2soXG4gICAgICBuZXcgRXJyb3IoJ1RoZSByZXF1ZXN0IGhhcyBiZWVuIGFib3J0ZWQgZXZlbiBiZWZvcmUgLmVuZCgpIHdhcyBjYWxsZWQnKVxuICAgICk7XG5cbiAgbGV0IGRhdGEgPSB0aGlzLl9kYXRhO1xuICBjb25zdCB7IHJlcSB9ID0gdGhpcztcbiAgY29uc3QgeyBtZXRob2QgfSA9IHRoaXM7XG5cbiAgdGhpcy5fc2V0VGltZW91dHMoKTtcblxuICAvLyBib2R5XG4gIGlmIChtZXRob2QgIT09ICdIRUFEJyAmJiAhcmVxLl9oZWFkZXJTZW50KSB7XG4gICAgLy8gc2VyaWFsaXplIHN0dWZmXG4gICAgaWYgKHR5cGVvZiBkYXRhICE9PSAnc3RyaW5nJykge1xuICAgICAgbGV0IGNvbnRlbnRUeXBlID0gcmVxLmdldEhlYWRlcignQ29udGVudC1UeXBlJyk7XG4gICAgICAvLyBQYXJzZSBvdXQganVzdCB0aGUgY29udGVudCB0eXBlIGZyb20gdGhlIGhlYWRlciAoaWdub3JlIHRoZSBjaGFyc2V0KVxuICAgICAgaWYgKGNvbnRlbnRUeXBlKSBjb250ZW50VHlwZSA9IGNvbnRlbnRUeXBlLnNwbGl0KCc7JylbMF07XG4gICAgICBsZXQgc2VyaWFsaXplID0gdGhpcy5fc2VyaWFsaXplciB8fCBleHBvcnRzLnNlcmlhbGl6ZVtjb250ZW50VHlwZV07XG4gICAgICBpZiAoIXNlcmlhbGl6ZSAmJiBpc0pTT04oY29udGVudFR5cGUpKSB7XG4gICAgICAgIHNlcmlhbGl6ZSA9IGV4cG9ydHMuc2VyaWFsaXplWydhcHBsaWNhdGlvbi9qc29uJ107XG4gICAgICB9XG5cbiAgICAgIGlmIChzZXJpYWxpemUpIGRhdGEgPSBzZXJpYWxpemUoZGF0YSk7XG4gICAgfVxuXG4gICAgLy8gY29udGVudC1sZW5ndGhcbiAgICBpZiAoZGF0YSAmJiAhcmVxLmdldEhlYWRlcignQ29udGVudC1MZW5ndGgnKSkge1xuICAgICAgcmVxLnNldEhlYWRlcihcbiAgICAgICAgJ0NvbnRlbnQtTGVuZ3RoJyxcbiAgICAgICAgQnVmZmVyLmlzQnVmZmVyKGRhdGEpID8gZGF0YS5sZW5ndGggOiBCdWZmZXIuYnl0ZUxlbmd0aChkYXRhKVxuICAgICAgKTtcbiAgICB9XG4gIH1cblxuICAvLyByZXNwb25zZVxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgY29tcGxleGl0eVxuICByZXEub25jZSgncmVzcG9uc2UnLCAocmVzKSA9PiB7XG4gICAgZGVidWcoJyVzICVzIC0+ICVzJywgdGhpcy5tZXRob2QsIHRoaXMudXJsLCByZXMuc3RhdHVzQ29kZSk7XG5cbiAgICBpZiAodGhpcy5fcmVzcG9uc2VUaW1lb3V0VGltZXIpIHtcbiAgICAgIGNsZWFyVGltZW91dCh0aGlzLl9yZXNwb25zZVRpbWVvdXRUaW1lcik7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMucGlwZWQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBtYXggPSB0aGlzLl9tYXhSZWRpcmVjdHM7XG4gICAgY29uc3QgbWltZSA9IHV0aWxzLnR5cGUocmVzLmhlYWRlcnNbJ2NvbnRlbnQtdHlwZSddIHx8ICcnKSB8fCAndGV4dC9wbGFpbic7XG4gICAgbGV0IHR5cGUgPSBtaW1lLnNwbGl0KCcvJylbMF07XG4gICAgaWYgKHR5cGUpIHR5cGUgPSB0eXBlLnRvTG93ZXJDYXNlKCkudHJpbSgpO1xuICAgIGNvbnN0IG11bHRpcGFydCA9IHR5cGUgPT09ICdtdWx0aXBhcnQnO1xuICAgIGNvbnN0IHJlZGlyZWN0ID0gaXNSZWRpcmVjdChyZXMuc3RhdHVzQ29kZSk7XG4gICAgY29uc3QgcmVzcG9uc2VUeXBlID0gdGhpcy5fcmVzcG9uc2VUeXBlO1xuXG4gICAgdGhpcy5yZXMgPSByZXM7XG5cbiAgICAvLyByZWRpcmVjdFxuICAgIGlmIChyZWRpcmVjdCAmJiB0aGlzLl9yZWRpcmVjdHMrKyAhPT0gbWF4KSB7XG4gICAgICByZXR1cm4gdGhpcy5fcmVkaXJlY3QocmVzKTtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5tZXRob2QgPT09ICdIRUFEJykge1xuICAgICAgdGhpcy5lbWl0KCdlbmQnKTtcbiAgICAgIHRoaXMuY2FsbGJhY2sobnVsbCwgdGhpcy5fZW1pdFJlc3BvbnNlKCkpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIC8vIHpsaWIgc3VwcG9ydFxuICAgIGlmICh0aGlzLl9zaG91bGREZWNvbXByZXNzKHJlcykpIHtcbiAgICAgIGRlY29tcHJlc3MocmVxLCByZXMpO1xuICAgIH1cblxuICAgIGxldCBidWZmZXIgPSB0aGlzLl9idWZmZXI7XG4gICAgaWYgKGJ1ZmZlciA9PT0gdW5kZWZpbmVkICYmIG1pbWUgaW4gZXhwb3J0cy5idWZmZXIpIHtcbiAgICAgIGJ1ZmZlciA9IEJvb2xlYW4oZXhwb3J0cy5idWZmZXJbbWltZV0pO1xuICAgIH1cblxuICAgIGxldCBwYXJzZXIgPSB0aGlzLl9wYXJzZXI7XG4gICAgaWYgKHVuZGVmaW5lZCA9PT0gYnVmZmVyICYmIHBhcnNlcikge1xuICAgICAgY29uc29sZS53YXJuKFxuICAgICAgICBcIkEgY3VzdG9tIHN1cGVyYWdlbnQgcGFyc2VyIGhhcyBiZWVuIHNldCwgYnV0IGJ1ZmZlcmluZyBzdHJhdGVneSBmb3IgdGhlIHBhcnNlciBoYXNuJ3QgYmVlbiBjb25maWd1cmVkLiBDYWxsIGByZXEuYnVmZmVyKHRydWUgb3IgZmFsc2UpYCBvciBzZXQgYHN1cGVyYWdlbnQuYnVmZmVyW21pbWVdID0gdHJ1ZSBvciBmYWxzZWBcIlxuICAgICAgKTtcbiAgICAgIGJ1ZmZlciA9IHRydWU7XG4gICAgfVxuXG4gICAgaWYgKCFwYXJzZXIpIHtcbiAgICAgIGlmIChyZXNwb25zZVR5cGUpIHtcbiAgICAgICAgcGFyc2VyID0gZXhwb3J0cy5wYXJzZS5pbWFnZTsgLy8gSXQncyBhY3R1YWxseSBhIGdlbmVyaWMgQnVmZmVyXG4gICAgICAgIGJ1ZmZlciA9IHRydWU7XG4gICAgICB9IGVsc2UgaWYgKG11bHRpcGFydCkge1xuICAgICAgICBjb25zdCBmb3JtID0gZm9ybWlkYWJsZS5mb3JtaWRhYmxlKCk7XG4gICAgICAgIHBhcnNlciA9IGZvcm0ucGFyc2UuYmluZChmb3JtKTtcbiAgICAgICAgYnVmZmVyID0gdHJ1ZTtcbiAgICAgIH0gZWxzZSBpZiAoaXNCaW5hcnkobWltZSkpIHtcbiAgICAgICAgcGFyc2VyID0gZXhwb3J0cy5wYXJzZS5pbWFnZTtcbiAgICAgICAgYnVmZmVyID0gdHJ1ZTsgLy8gRm9yIGJhY2t3YXJkcy1jb21wYXRpYmlsaXR5IGJ1ZmZlcmluZyBkZWZhdWx0IGlzIGFkLWhvYyBNSU1FLWRlcGVuZGVudFxuICAgICAgfSBlbHNlIGlmIChleHBvcnRzLnBhcnNlW21pbWVdKSB7XG4gICAgICAgIHBhcnNlciA9IGV4cG9ydHMucGFyc2VbbWltZV07XG4gICAgICB9IGVsc2UgaWYgKHR5cGUgPT09ICd0ZXh0Jykge1xuICAgICAgICBwYXJzZXIgPSBleHBvcnRzLnBhcnNlLnRleHQ7XG4gICAgICAgIGJ1ZmZlciA9IGJ1ZmZlciAhPT0gZmFsc2U7XG4gICAgICAgIC8vIGV2ZXJ5b25lIHdhbnRzIHRoZWlyIG93biB3aGl0ZS1sYWJlbGVkIGpzb25cbiAgICAgIH0gZWxzZSBpZiAoaXNKU09OKG1pbWUpKSB7XG4gICAgICAgIHBhcnNlciA9IGV4cG9ydHMucGFyc2VbJ2FwcGxpY2F0aW9uL2pzb24nXTtcbiAgICAgICAgYnVmZmVyID0gYnVmZmVyICE9PSBmYWxzZTtcbiAgICAgIH0gZWxzZSBpZiAoYnVmZmVyKSB7XG4gICAgICAgIHBhcnNlciA9IGV4cG9ydHMucGFyc2UudGV4dDtcbiAgICAgIH0gZWxzZSBpZiAodW5kZWZpbmVkID09PSBidWZmZXIpIHtcbiAgICAgICAgcGFyc2VyID0gZXhwb3J0cy5wYXJzZS5pbWFnZTsgLy8gSXQncyBhY3R1YWxseSBhIGdlbmVyaWMgQnVmZmVyXG4gICAgICAgIGJ1ZmZlciA9IHRydWU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gYnkgZGVmYXVsdCBvbmx5IGJ1ZmZlciB0ZXh0LyosIGpzb24gYW5kIG1lc3NlZCB1cCB0aGluZyBmcm9tIGhlbGxcbiAgICBpZiAoKHVuZGVmaW5lZCA9PT0gYnVmZmVyICYmIGlzVGV4dChtaW1lKSkgfHwgaXNKU09OKG1pbWUpKSB7XG4gICAgICBidWZmZXIgPSB0cnVlO1xuICAgIH1cblxuICAgIHRoaXMuX3Jlc0J1ZmZlcmVkID0gYnVmZmVyO1xuICAgIGxldCBwYXJzZXJIYW5kbGVzRW5kID0gZmFsc2U7XG4gICAgaWYgKGJ1ZmZlcikge1xuICAgICAgLy8gUHJvdGVjdGlvbmEgYWdhaW5zdCB6aXAgYm9tYnMgYW5kIG90aGVyIG51aXNhbmNlXG4gICAgICBsZXQgcmVzcG9uc2VCeXRlc0xlZnQgPSB0aGlzLl9tYXhSZXNwb25zZVNpemUgfHwgMjAwMDAwMDAwO1xuICAgICAgcmVzLm9uKCdkYXRhJywgKGJ1ZikgPT4ge1xuICAgICAgICByZXNwb25zZUJ5dGVzTGVmdCAtPSBidWYuYnl0ZUxlbmd0aCB8fCBidWYubGVuZ3RoID4gMCA/IGJ1Zi5sZW5ndGggOiAwO1xuICAgICAgICBpZiAocmVzcG9uc2VCeXRlc0xlZnQgPCAwKSB7XG4gICAgICAgICAgLy8gVGhpcyB3aWxsIHByb3BhZ2F0ZSB0aHJvdWdoIGVycm9yIGV2ZW50XG4gICAgICAgICAgY29uc3QgZXJyb3IgPSBuZXcgRXJyb3IoJ01heGltdW0gcmVzcG9uc2Ugc2l6ZSByZWFjaGVkJyk7XG4gICAgICAgICAgZXJyb3IuY29kZSA9ICdFVE9PTEFSR0UnO1xuICAgICAgICAgIC8vIFBhcnNlcnMgYXJlbid0IHJlcXVpcmVkIHRvIG9ic2VydmUgZXJyb3IgZXZlbnQsXG4gICAgICAgICAgLy8gc28gd291bGQgaW5jb3JyZWN0bHkgcmVwb3J0IHN1Y2Nlc3NcbiAgICAgICAgICBwYXJzZXJIYW5kbGVzRW5kID0gZmFsc2U7XG4gICAgICAgICAgLy8gV2lsbCBub3QgZW1pdCBlcnJvciBldmVudFxuICAgICAgICAgIHJlcy5kZXN0cm95KGVycm9yKTtcbiAgICAgICAgICAvLyBzbyB3ZSBkbyBjYWxsYmFjayBub3dcbiAgICAgICAgICB0aGlzLmNhbGxiYWNrKGVycm9yLCBudWxsKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfVxuXG4gICAgaWYgKHBhcnNlcikge1xuICAgICAgdHJ5IHtcbiAgICAgICAgLy8gVW5idWZmZXJlZCBwYXJzZXJzIGFyZSBzdXBwb3NlZCB0byBlbWl0IHJlc3BvbnNlIGVhcmx5LFxuICAgICAgICAvLyB3aGljaCBpcyB3ZWlyZCBCVFcsIGJlY2F1c2UgcmVzcG9uc2UuYm9keSB3b24ndCBiZSB0aGVyZS5cbiAgICAgICAgcGFyc2VySGFuZGxlc0VuZCA9IGJ1ZmZlcjtcblxuICAgICAgICBwYXJzZXIocmVzLCAoZXJyb3IsIG9iamVjdCwgZmlsZXMpID0+IHtcbiAgICAgICAgICBpZiAodGhpcy50aW1lZG91dCkge1xuICAgICAgICAgICAgLy8gVGltZW91dCBoYXMgYWxyZWFkeSBoYW5kbGVkIGFsbCBjYWxsYmFja3NcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAvLyBJbnRlbnRpb25hbCAobm9uLXRpbWVvdXQpIGFib3J0IGlzIHN1cHBvc2VkIHRvIHByZXNlcnZlIHBhcnRpYWwgcmVzcG9uc2UsXG4gICAgICAgICAgLy8gZXZlbiBpZiBpdCBkb2Vzbid0IHBhcnNlLlxuICAgICAgICAgIGlmIChlcnJvciAmJiAhdGhpcy5fYWJvcnRlZCkge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuY2FsbGJhY2soZXJyb3IpO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGlmIChwYXJzZXJIYW5kbGVzRW5kKSB7XG4gICAgICAgICAgICBpZiAobXVsdGlwYXJ0KSB7XG4gICAgICAgICAgICAgIC8vIGZvcm1pZGFibGUgdjMgYWx3YXlzIHJldHVybnMgYW4gYXJyYXkgd2l0aCB0aGUgdmFsdWUgaW4gaXRcbiAgICAgICAgICAgICAgLy8gc28gd2UgbmVlZCB0byBmbGF0dGVuIGl0XG4gICAgICAgICAgICAgIGlmIChvYmplY3QpIHtcbiAgICAgICAgICAgICAgICBmb3IgKGNvbnN0IGtleSBpbiBvYmplY3QpIHtcbiAgICAgICAgICAgICAgICAgIGNvbnN0IHZhbHVlID0gb2JqZWN0W2tleV07XG4gICAgICAgICAgICAgICAgICBpZiAoQXJyYXkuaXNBcnJheSh2YWx1ZSkgJiYgdmFsdWUubGVuZ3RoID09PSAxKSB7XG4gICAgICAgICAgICAgICAgICAgIG9iamVjdFtrZXldID0gdmFsdWVbMF07XG4gICAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICBvYmplY3Rba2V5XSA9IHZhbHVlO1xuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgIGlmIChmaWxlcykge1xuICAgICAgICAgICAgICAgIGZvciAoY29uc3Qga2V5IGluIGZpbGVzKSB7XG4gICAgICAgICAgICAgICAgICBjb25zdCB2YWx1ZSA9IGZpbGVzW2tleV07XG4gICAgICAgICAgICAgICAgICBpZiAoQXJyYXkuaXNBcnJheSh2YWx1ZSkgJiYgdmFsdWUubGVuZ3RoID09PSAxKSB7XG4gICAgICAgICAgICAgICAgICAgIGZpbGVzW2tleV0gPSB2YWx1ZVswXTtcbiAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIGZpbGVzW2tleV0gPSB2YWx1ZTtcbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHRoaXMuZW1pdCgnZW5kJyk7XG4gICAgICAgICAgICB0aGlzLmNhbGxiYWNrKG51bGwsIHRoaXMuX2VtaXRSZXNwb25zZShvYmplY3QsIGZpbGVzKSk7XG4gICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgIH0gY2F0Y2ggKGVycikge1xuICAgICAgICB0aGlzLmNhbGxiYWNrKGVycik7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICB0aGlzLnJlcyA9IHJlcztcblxuICAgIC8vIHVuYnVmZmVyZWRcbiAgICBpZiAoIWJ1ZmZlcikge1xuICAgICAgZGVidWcoJ3VuYnVmZmVyZWQgJXMgJXMnLCB0aGlzLm1ldGhvZCwgdGhpcy51cmwpO1xuICAgICAgdGhpcy5jYWxsYmFjayhudWxsLCB0aGlzLl9lbWl0UmVzcG9uc2UoKSk7XG4gICAgICBpZiAobXVsdGlwYXJ0KSByZXR1cm47IC8vIGFsbG93IG11bHRpcGFydCB0byBoYW5kbGUgZW5kIGV2ZW50XG4gICAgICByZXMub25jZSgnZW5kJywgKCkgPT4ge1xuICAgICAgICBkZWJ1ZygnZW5kICVzICVzJywgdGhpcy5tZXRob2QsIHRoaXMudXJsKTtcbiAgICAgICAgdGhpcy5lbWl0KCdlbmQnKTtcbiAgICAgIH0pO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIC8vIHRlcm1pbmF0aW5nIGV2ZW50c1xuICAgIHJlcy5vbmNlKCdlcnJvcicsIChlcnJvcikgPT4ge1xuICAgICAgcGFyc2VySGFuZGxlc0VuZCA9IGZhbHNlO1xuICAgICAgdGhpcy5jYWxsYmFjayhlcnJvciwgbnVsbCk7XG4gICAgfSk7XG4gICAgaWYgKCFwYXJzZXJIYW5kbGVzRW5kKVxuICAgICAgcmVzLm9uY2UoJ2VuZCcsICgpID0+IHtcbiAgICAgICAgZGVidWcoJ2VuZCAlcyAlcycsIHRoaXMubWV0aG9kLCB0aGlzLnVybCk7XG4gICAgICAgIC8vIFRPRE86IHVubGVzcyBidWZmZXJpbmcgZW1pdCBlYXJsaWVyIHRvIHN0cmVhbVxuICAgICAgICB0aGlzLmVtaXQoJ2VuZCcpO1xuICAgICAgICB0aGlzLmNhbGxiYWNrKG51bGwsIHRoaXMuX2VtaXRSZXNwb25zZSgpKTtcbiAgICAgIH0pO1xuICB9KTtcblxuICB0aGlzLmVtaXQoJ3JlcXVlc3QnLCB0aGlzKTtcblxuICBjb25zdCBnZXRQcm9ncmVzc01vbml0b3IgPSAoKSA9PiB7XG4gICAgY29uc3QgbGVuZ3RoQ29tcHV0YWJsZSA9IHRydWU7XG4gICAgY29uc3QgdG90YWwgPSByZXEuZ2V0SGVhZGVyKCdDb250ZW50LUxlbmd0aCcpO1xuICAgIGxldCBsb2FkZWQgPSAwO1xuXG4gICAgY29uc3QgcHJvZ3Jlc3MgPSBuZXcgU3RyZWFtLlRyYW5zZm9ybSgpO1xuICAgIHByb2dyZXNzLl90cmFuc2Zvcm0gPSAoY2h1bmssIGVuY29kaW5nLCBjYWxsYmFjaykgPT4ge1xuICAgICAgbG9hZGVkICs9IGNodW5rLmxlbmd0aDtcbiAgICAgIHRoaXMuZW1pdCgncHJvZ3Jlc3MnLCB7XG4gICAgICAgIGRpcmVjdGlvbjogJ3VwbG9hZCcsXG4gICAgICAgIGxlbmd0aENvbXB1dGFibGUsXG4gICAgICAgIGxvYWRlZCxcbiAgICAgICAgdG90YWxcbiAgICAgIH0pO1xuICAgICAgY2FsbGJhY2sobnVsbCwgY2h1bmspO1xuICAgIH07XG5cbiAgICByZXR1cm4gcHJvZ3Jlc3M7XG4gIH07XG5cbiAgY29uc3QgYnVmZmVyVG9DaHVua3MgPSAoYnVmZmVyKSA9PiB7XG4gICAgY29uc3QgY2h1bmtTaXplID0gMTYgKiAxMDI0OyAvLyBkZWZhdWx0IGhpZ2hXYXRlck1hcmsgdmFsdWVcbiAgICBjb25zdCBjaHVua2luZyA9IG5ldyBTdHJlYW0uUmVhZGFibGUoKTtcbiAgICBjb25zdCB0b3RhbExlbmd0aCA9IGJ1ZmZlci5sZW5ndGg7XG4gICAgY29uc3QgcmVtYWluZGVyID0gdG90YWxMZW5ndGggJSBjaHVua1NpemU7XG4gICAgY29uc3QgY3V0b2ZmID0gdG90YWxMZW5ndGggLSByZW1haW5kZXI7XG5cbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IGN1dG9mZjsgaSArPSBjaHVua1NpemUpIHtcbiAgICAgIGNvbnN0IGNodW5rID0gYnVmZmVyLnNsaWNlKGksIGkgKyBjaHVua1NpemUpO1xuICAgICAgY2h1bmtpbmcucHVzaChjaHVuayk7XG4gICAgfVxuXG4gICAgaWYgKHJlbWFpbmRlciA+IDApIHtcbiAgICAgIGNvbnN0IHJlbWFpbmRlckJ1ZmZlciA9IGJ1ZmZlci5zbGljZSgtcmVtYWluZGVyKTtcbiAgICAgIGNodW5raW5nLnB1c2gocmVtYWluZGVyQnVmZmVyKTtcbiAgICB9XG5cbiAgICBjaHVua2luZy5wdXNoKG51bGwpOyAvLyBubyBtb3JlIGRhdGFcblxuICAgIHJldHVybiBjaHVua2luZztcbiAgfTtcblxuICAvLyBpZiBhIEZvcm1EYXRhIGluc3RhbmNlIGdvdCBjcmVhdGVkLCB0aGVuIHdlIHNlbmQgdGhhdCBhcyB0aGUgcmVxdWVzdCBib2R5XG4gIGNvbnN0IGZvcm1EYXRhID0gdGhpcy5fZm9ybURhdGE7XG4gIGlmIChmb3JtRGF0YSkge1xuICAgIC8vIHNldCBoZWFkZXJzXG4gICAgY29uc3QgaGVhZGVycyA9IGZvcm1EYXRhLmdldEhlYWRlcnMoKTtcbiAgICBmb3IgKGNvbnN0IGkgaW4gaGVhZGVycykge1xuICAgICAgaWYgKGhhc093bihoZWFkZXJzLCBpKSkge1xuICAgICAgICBkZWJ1Zygnc2V0dGluZyBGb3JtRGF0YSBoZWFkZXI6IFwiJXM6ICVzXCInLCBpLCBoZWFkZXJzW2ldKTtcbiAgICAgICAgcmVxLnNldEhlYWRlcihpLCBoZWFkZXJzW2ldKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBhdHRlbXB0IHRvIGdldCBcIkNvbnRlbnQtTGVuZ3RoXCIgaGVhZGVyXG4gICAgZm9ybURhdGEuZ2V0TGVuZ3RoKChlcnJvciwgbGVuZ3RoKSA9PiB7XG4gICAgICAvLyBUT0RPOiBBZGQgY2h1bmtlZCBlbmNvZGluZyB3aGVuIG5vIGxlbmd0aCAoaWYgZXJyKVxuICAgICAgaWYgKGVycm9yKSBkZWJ1ZygnZm9ybURhdGEuZ2V0TGVuZ3RoIGhhZCBlcnJvcicsIGVycm9yLCBsZW5ndGgpO1xuXG4gICAgICBkZWJ1ZygnZ290IEZvcm1EYXRhIENvbnRlbnQtTGVuZ3RoOiAlcycsIGxlbmd0aCk7XG4gICAgICBpZiAodHlwZW9mIGxlbmd0aCA9PT0gJ251bWJlcicpIHtcbiAgICAgICAgcmVxLnNldEhlYWRlcignQ29udGVudC1MZW5ndGgnLCBsZW5ndGgpO1xuICAgICAgfVxuXG4gICAgICBmb3JtRGF0YS5waXBlKGdldFByb2dyZXNzTW9uaXRvcigpKS5waXBlKHJlcSk7XG4gICAgfSk7XG4gIH0gZWxzZSBpZiAoQnVmZmVyLmlzQnVmZmVyKGRhdGEpKSB7XG4gICAgYnVmZmVyVG9DaHVua3MoZGF0YSkucGlwZShnZXRQcm9ncmVzc01vbml0b3IoKSkucGlwZShyZXEpO1xuICB9IGVsc2Uge1xuICAgIHJlcS5lbmQoZGF0YSk7XG4gIH1cbn07XG5cbi8vIENoZWNrIHdoZXRoZXIgcmVzcG9uc2UgaGFzIGEgbm9uLTAtc2l6ZWQgZ3ppcC1lbmNvZGVkIGJvZHlcblJlcXVlc3QucHJvdG90eXBlLl9zaG91bGREZWNvbXByZXNzID0gKHJlcykgPT4ge1xuICByZXR1cm4gaGFzTm9uRW1wdHlSZXNwb25zZUNvbnRlbnQocmVzKSAmJiAoaXNHemlwT3JEZWZsYXRlRW5jb2RpbmcocmVzKSB8fCBpc0Jyb3RsaUVuY29kaW5nKHJlcykpO1xufTtcblxuXG4vKipcbiAqIE92ZXJyaWRlcyBETlMgZm9yIHNlbGVjdGVkIGhvc3RuYW1lcy4gVGFrZXMgb2JqZWN0IG1hcHBpbmcgaG9zdG5hbWVzIHRvIElQIGFkZHJlc3Nlcy5cbiAqXG4gKiBXaGVuIG1ha2luZyBhIHJlcXVlc3QgdG8gYSBVUkwgd2l0aCBhIGhvc3RuYW1lIGV4YWN0bHkgbWF0Y2hpbmcgYSBrZXkgaW4gdGhlIG9iamVjdCxcbiAqIHVzZSB0aGUgZ2l2ZW4gSVAgYWRkcmVzcyB0byBjb25uZWN0LCBpbnN0ZWFkIG9mIHVzaW5nIEROUyB0byByZXNvbHZlIHRoZSBob3N0bmFtZS5cbiAqXG4gKiBBIHNwZWNpYWwgaG9zdCBgKmAgbWF0Y2hlcyBldmVyeSBob3N0bmFtZSAoa2VlcCByZWRpcmVjdHMgaW4gbWluZCEpXG4gKlxuICogICAgICByZXF1ZXN0LmNvbm5lY3Qoe1xuICogICAgICAgICd0ZXN0LmV4YW1wbGUuY29tJzogJzEyNy4wLjAuMScsXG4gKiAgICAgICAgJ2lwdjYuZXhhbXBsZS5jb20nOiAnOjoxJyxcbiAqICAgICAgfSlcbiAqL1xuUmVxdWVzdC5wcm90b3R5cGUuY29ubmVjdCA9IGZ1bmN0aW9uIChjb25uZWN0T3ZlcnJpZGUpIHtcbiAgaWYgKHR5cGVvZiBjb25uZWN0T3ZlcnJpZGUgPT09ICdzdHJpbmcnKSB7XG4gICAgdGhpcy5fY29ubmVjdE92ZXJyaWRlID0geyAnKic6IGNvbm5lY3RPdmVycmlkZSB9O1xuICB9IGVsc2UgaWYgKHR5cGVvZiBjb25uZWN0T3ZlcnJpZGUgPT09ICdvYmplY3QnKSB7XG4gICAgdGhpcy5fY29ubmVjdE92ZXJyaWRlID0gY29ubmVjdE92ZXJyaWRlO1xuICB9IGVsc2Uge1xuICAgIHRoaXMuX2Nvbm5lY3RPdmVycmlkZSA9IHVuZGVmaW5lZDtcbiAgfVxuXG4gIHJldHVybiB0aGlzO1xufTtcblxuUmVxdWVzdC5wcm90b3R5cGUudHJ1c3RMb2NhbGhvc3QgPSBmdW5jdGlvbiAodG9nZ2xlKSB7XG4gIHRoaXMuX3RydXN0TG9jYWxob3N0ID0gdG9nZ2xlID09PSB1bmRlZmluZWQgPyB0cnVlIDogdG9nZ2xlO1xuICByZXR1cm4gdGhpcztcbn07XG5cbi8vIGdlbmVyYXRlIEhUVFAgdmVyYiBtZXRob2RzXG5pZiAoIW1ldGhvZHMuaW5jbHVkZXMoJ2RlbCcpKSB7XG4gIC8vIGNyZWF0ZSBhIGNvcHkgc28gd2UgZG9uJ3QgY2F1c2UgY29uZmxpY3RzIHdpdGhcbiAgLy8gb3RoZXIgcGFja2FnZXMgdXNpbmcgdGhlIG1ldGhvZHMgcGFja2FnZSBhbmRcbiAgLy8gbnBtIDMueFxuICBtZXRob2RzID0gWy4uLm1ldGhvZHNdO1xuICBtZXRob2RzLnB1c2goJ2RlbCcpO1xufVxuXG5mb3IgKGxldCBtZXRob2Qgb2YgbWV0aG9kcykge1xuICBjb25zdCBuYW1lID0gbWV0aG9kO1xuICBtZXRob2QgPSBtZXRob2QgPT09ICdkZWwnID8gJ2RlbGV0ZScgOiBtZXRob2Q7XG5cbiAgbWV0aG9kID0gbWV0aG9kLnRvVXBwZXJDYXNlKCk7XG4gIHJlcXVlc3RbbmFtZV0gPSAodXJsLCBkYXRhLCBmbikgPT4ge1xuICAgIGNvbnN0IHJlcXVlc3RfID0gcmVxdWVzdChtZXRob2QsIHVybCk7XG4gICAgaWYgKHR5cGVvZiBkYXRhID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICBmbiA9IGRhdGE7XG4gICAgICBkYXRhID0gbnVsbDtcbiAgICB9XG5cbiAgICBpZiAoZGF0YSkge1xuICAgICAgaWYgKG1ldGhvZCA9PT0gJ0dFVCcgfHwgbWV0aG9kID09PSAnSEVBRCcpIHtcbiAgICAgICAgcmVxdWVzdF8ucXVlcnkoZGF0YSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICByZXF1ZXN0Xy5zZW5kKGRhdGEpO1xuICAgICAgfVxuICAgIH1cblxuICAgIGlmIChmbikgcmVxdWVzdF8uZW5kKGZuKTtcbiAgICByZXR1cm4gcmVxdWVzdF87XG4gIH07XG59XG5cbi8qKlxuICogQ2hlY2sgaWYgYG1pbWVgIGlzIHRleHQgYW5kIHNob3VsZCBiZSBidWZmZXJlZC5cbiAqXG4gKiBAcGFyYW0ge1N0cmluZ30gbWltZVxuICogQHJldHVybiB7Qm9vbGVhbn1cbiAqIEBhcGkgcHVibGljXG4gKi9cblxuZnVuY3Rpb24gaXNUZXh0KG1pbWUpIHtcbiAgY29uc3QgcGFydHMgPSBtaW1lLnNwbGl0KCcvJyk7XG4gIGxldCB0eXBlID0gcGFydHNbMF07XG4gIGlmICh0eXBlKSB0eXBlID0gdHlwZS50b0xvd2VyQ2FzZSgpLnRyaW0oKTtcbiAgbGV0IHN1YnR5cGUgPSBwYXJ0c1sxXTtcbiAgaWYgKHN1YnR5cGUpIHN1YnR5cGUgPSBzdWJ0eXBlLnRvTG93ZXJDYXNlKCkudHJpbSgpO1xuXG4gIHJldHVybiB0eXBlID09PSAndGV4dCcgfHwgc3VidHlwZSA9PT0gJ3gtd3d3LWZvcm0tdXJsZW5jb2RlZCc7XG59XG5cbi8vIFRoaXMgaXMgbm90IGEgY2F0Y2hhbGwsIGJ1dCBhIHN0YXJ0LiBJdCBtaWdodCBiZSB1c2VmdWxcbi8vIGluIHRoZSBsb25nIHJ1biB0byBoYXZlIGZpbGUgdGhhdCBpbmNsdWRlcyBhbGwgYmluYXJ5XG4vLyBjb250ZW50IHR5cGVzIGZyb20gaHR0cHM6Ly93d3cuaWFuYS5vcmcvYXNzaWdubWVudHMvbWVkaWEtdHlwZXMvbWVkaWEtdHlwZXMueGh0bWxcbmZ1bmN0aW9uIGlzQmluYXJ5KG1pbWUpIHtcbiAgbGV0IFtyZWdpc3RyeSwgbmFtZV0gPSBtaW1lLnNwbGl0KCcvJyk7XG4gIGlmIChyZWdpc3RyeSkgcmVnaXN0cnkgPSByZWdpc3RyeS50b0xvd2VyQ2FzZSgpLnRyaW0oKTtcbiAgaWYgKG5hbWUpIG5hbWUgPSBuYW1lLnRvTG93ZXJDYXNlKCkudHJpbSgpO1xuICByZXR1cm4gKFxuICAgIFsnYXVkaW8nLCAnZm9udCcsICdpbWFnZScsICd2aWRlbyddLmluY2x1ZGVzKHJlZ2lzdHJ5KSB8fFxuICAgIFsnZ3onLCAnZ3ppcCddLmluY2x1ZGVzKG5hbWUpXG4gICk7XG59XG5cbi8qKlxuICogQ2hlY2sgaWYgYG1pbWVgIGlzIGpzb24gb3IgaGFzICtqc29uIHN0cnVjdHVyZWQgc3ludGF4IHN1ZmZpeC5cbiAqXG4gKiBAcGFyYW0ge1N0cmluZ30gbWltZVxuICogQHJldHVybiB7Qm9vbGVhbn1cbiAqIEBhcGkgcHJpdmF0ZVxuICovXG5cbmZ1bmN0aW9uIGlzSlNPTihtaW1lKSB7XG4gIC8vIHNob3VsZCBtYXRjaCAvanNvbiBvciAranNvblxuICAvLyBidXQgbm90IC9qc29uLXNlcVxuICByZXR1cm4gL1svK11qc29uKCR8W14tXFx3XSkvaS50ZXN0KG1pbWUpO1xufVxuXG4vKipcbiAqIENoZWNrIGlmIHdlIHNob3VsZCBmb2xsb3cgdGhlIHJlZGlyZWN0IGBjb2RlYC5cbiAqXG4gKiBAcGFyYW0ge051bWJlcn0gY29kZVxuICogQHJldHVybiB7Qm9vbGVhbn1cbiAqIEBhcGkgcHJpdmF0ZVxuICovXG5cbmZ1bmN0aW9uIGlzUmVkaXJlY3QoY29kZSkge1xuICByZXR1cm4gWzMwMSwgMzAyLCAzMDMsIDMwNSwgMzA3LCAzMDhdLmluY2x1ZGVzKGNvZGUpO1xufVxuXG5mdW5jdGlvbiBoYXNOb25FbXB0eVJlc3BvbnNlQ29udGVudChyZXMpIHtcbiAgaWYgKHJlcy5zdGF0dXNDb2RlID09PSAyMDQgfHwgcmVzLnN0YXR1c0NvZGUgPT09IDMwNCkge1xuICAgIC8vIFRoZXNlIGFyZW4ndCBzdXBwb3NlZCB0byBoYXZlIGFueSBib2R5XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgLy8gaGVhZGVyIGNvbnRlbnQgaXMgYSBzdHJpbmcsIGFuZCBkaXN0aW5jdGlvbiBiZXR3ZWVuIDAgYW5kIG5vIGluZm9ybWF0aW9uIGlzIGNydWNpYWxcbiAgaWYgKHJlcy5oZWFkZXJzWydjb250ZW50LWxlbmd0aCddID09PSAnMCcpIHtcbiAgICAvLyBXZSBrbm93IHRoYXQgdGhlIGJvZHkgaXMgZW1wdHkgKHVuZm9ydHVuYXRlbHksIHRoaXMgY2hlY2sgZG9lcyBub3QgY292ZXIgY2h1bmtlZCBlbmNvZGluZylcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICByZXR1cm4gdHJ1ZTtcbn1cbiJdLCJtYXBwaW5ncyI6Ijs7QUFBQTtBQUNBO0FBQ0E7O0FBRUEsTUFBTTtFQUFFQTtBQUFPLENBQUMsR0FBR0MsT0FBTyxDQUFDLEtBQUssQ0FBQztBQUNqQyxNQUFNQyxNQUFNLEdBQUdELE9BQU8sQ0FBQyxRQUFRLENBQUM7QUFDaEMsTUFBTUUsS0FBSyxHQUFHRixPQUFPLENBQUMsT0FBTyxDQUFDO0FBQzlCLE1BQU1HLElBQUksR0FBR0gsT0FBTyxDQUFDLE1BQU0sQ0FBQztBQUM1QixNQUFNSSxFQUFFLEdBQUdKLE9BQU8sQ0FBQyxJQUFJLENBQUM7QUFDeEIsTUFBTUssSUFBSSxHQUFHTCxPQUFPLENBQUMsTUFBTSxDQUFDO0FBQzVCLE1BQU1NLElBQUksR0FBR04sT0FBTyxDQUFDLE1BQU0sQ0FBQztBQUM1QixNQUFNTyxFQUFFLEdBQUdQLE9BQU8sQ0FBQyxJQUFJLENBQUM7QUFDeEIsTUFBTVEsSUFBSSxHQUFHUixPQUFPLENBQUMsTUFBTSxDQUFDO0FBQzVCLElBQUlTLE9BQU8sR0FBR1QsT0FBTyxDQUFDLFNBQVMsQ0FBQztBQUNoQyxNQUFNVSxRQUFRLEdBQUdW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