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.
- package/LICENSE +21 -0
- package/README.md +165 -0
- package/client/allyabase.js +58 -0
- package/factory.json +5 -0
- package/package.json +31 -0
- package/server/contracts.js +256 -0
- package/server/feeds.js +27 -0
- package/server/inventory.js +82 -0
- package/server/server.js +13 -0
- package/test/node_modules/.bin/_mocha +10 -0
- package/test/node_modules/.bin/flat +42 -0
- package/test/node_modules/.bin/glob +270 -0
- package/test/node_modules/.bin/he +148 -0
- package/test/node_modules/.bin/js-yaml +126 -0
- package/test/node_modules/.bin/mime +46 -0
- package/test/node_modules/.bin/mocha +142 -0
- package/test/node_modules/.bin/node-which +52 -0
- package/test/node_modules/.bin/uuid +2 -0
- package/test/node_modules/.package-lock.json +1984 -0
- package/test/node_modules/@isaacs/cliui/LICENSE.txt +14 -0
- package/test/node_modules/@isaacs/cliui/README.md +143 -0
- package/test/node_modules/@isaacs/cliui/build/index.cjs +317 -0
- package/test/node_modules/@isaacs/cliui/build/index.d.cts +43 -0
- package/test/node_modules/@isaacs/cliui/build/lib/index.js +302 -0
- package/test/node_modules/@isaacs/cliui/index.mjs +14 -0
- package/test/node_modules/@isaacs/cliui/package.json +86 -0
- package/test/node_modules/@noble/curves/LICENSE +21 -0
- package/test/node_modules/@noble/curves/README.md +1031 -0
- package/test/node_modules/@noble/curves/_shortw_utils.d.ts +62 -0
- package/test/node_modules/@noble/curves/_shortw_utils.d.ts.map +1 -0
- package/test/node_modules/@noble/curves/_shortw_utils.js +21 -0
- package/test/node_modules/@noble/curves/_shortw_utils.js.map +1 -0
- package/test/node_modules/@noble/curves/abstract/bls.d.ts +122 -0
- package/test/node_modules/@noble/curves/abstract/bls.d.ts.map +1 -0
- package/test/node_modules/@noble/curves/abstract/bls.js +288 -0
- package/test/node_modules/@noble/curves/abstract/bls.js.map +1 -0
- package/test/node_modules/@noble/curves/abstract/curve.d.ts +70 -0
- package/test/node_modules/@noble/curves/abstract/curve.d.ts.map +1 -0
- package/test/node_modules/@noble/curves/abstract/curve.js +160 -0
- package/test/node_modules/@noble/curves/abstract/curve.js.map +1 -0
- package/test/node_modules/@noble/curves/abstract/edwards.d.ts +89 -0
- package/test/node_modules/@noble/curves/abstract/edwards.d.ts.map +1 -0
- package/test/node_modules/@noble/curves/abstract/edwards.js +428 -0
- package/test/node_modules/@noble/curves/abstract/edwards.js.map +1 -0
- package/test/node_modules/@noble/curves/abstract/hash-to-curve.d.ts +58 -0
- package/test/node_modules/@noble/curves/abstract/hash-to-curve.d.ts.map +1 -0
- package/test/node_modules/@noble/curves/abstract/hash-to-curve.js +180 -0
- package/test/node_modules/@noble/curves/abstract/hash-to-curve.js.map +1 -0
- package/test/node_modules/@noble/curves/abstract/modular.d.ts +123 -0
- package/test/node_modules/@noble/curves/abstract/modular.d.ts.map +1 -0
- package/test/node_modules/@noble/curves/abstract/modular.js +439 -0
- package/test/node_modules/@noble/curves/abstract/modular.js.map +1 -0
- package/test/node_modules/@noble/curves/abstract/montgomery.d.ts +26 -0
- package/test/node_modules/@noble/curves/abstract/montgomery.d.ts.map +1 -0
- package/test/node_modules/@noble/curves/abstract/montgomery.js +158 -0
- package/test/node_modules/@noble/curves/abstract/montgomery.js.map +1 -0
- package/test/node_modules/@noble/curves/abstract/poseidon.d.ts +30 -0
- package/test/node_modules/@noble/curves/abstract/poseidon.d.ts.map +1 -0
- package/test/node_modules/@noble/curves/abstract/poseidon.js +113 -0
- package/test/node_modules/@noble/curves/abstract/poseidon.js.map +1 -0
- package/test/node_modules/@noble/curves/abstract/utils.d.ts +94 -0
- package/test/node_modules/@noble/curves/abstract/utils.d.ts.map +1 -0
- package/test/node_modules/@noble/curves/abstract/utils.js +313 -0
- package/test/node_modules/@noble/curves/abstract/utils.js.map +1 -0
- package/test/node_modules/@noble/curves/abstract/weierstrass.d.ts +236 -0
- package/test/node_modules/@noble/curves/abstract/weierstrass.d.ts.map +1 -0
- package/test/node_modules/@noble/curves/abstract/weierstrass.js +1069 -0
- package/test/node_modules/@noble/curves/abstract/weierstrass.js.map +1 -0
- package/test/node_modules/@noble/curves/bls12-381.d.ts +67 -0
- package/test/node_modules/@noble/curves/bls12-381.d.ts.map +1 -0
- package/test/node_modules/@noble/curves/bls12-381.js +1232 -0
- package/test/node_modules/@noble/curves/bls12-381.js.map +1 -0
- package/test/node_modules/@noble/curves/bn254.d.ts +9 -0
- package/test/node_modules/@noble/curves/bn254.d.ts.map +1 -0
- package/test/node_modules/@noble/curves/bn254.js +26 -0
- package/test/node_modules/@noble/curves/bn254.js.map +1 -0
- package/test/node_modules/@noble/curves/ed25519.d.ts +78 -0
- package/test/node_modules/@noble/curves/ed25519.d.ts.map +1 -0
- package/test/node_modules/@noble/curves/ed25519.js +446 -0
- package/test/node_modules/@noble/curves/ed25519.js.map +1 -0
- package/test/node_modules/@noble/curves/ed448.d.ts +67 -0
- package/test/node_modules/@noble/curves/ed448.d.ts.map +1 -0
- package/test/node_modules/@noble/curves/ed448.js +406 -0
- package/test/node_modules/@noble/curves/ed448.js.map +1 -0
- package/test/node_modules/@noble/curves/esm/_shortw_utils.d.ts +62 -0
- package/test/node_modules/@noble/curves/esm/_shortw_utils.d.ts.map +1 -0
- package/test/node_modules/@noble/curves/esm/_shortw_utils.js +17 -0
- package/test/node_modules/@noble/curves/esm/_shortw_utils.js.map +1 -0
- package/test/node_modules/@noble/curves/esm/abstract/bls.d.ts +122 -0
- package/test/node_modules/@noble/curves/esm/abstract/bls.d.ts.map +1 -0
- package/test/node_modules/@noble/curves/esm/abstract/bls.js +285 -0
- package/test/node_modules/@noble/curves/esm/abstract/bls.js.map +1 -0
- package/test/node_modules/@noble/curves/esm/abstract/curve.d.ts +70 -0
- package/test/node_modules/@noble/curves/esm/abstract/curve.d.ts.map +1 -0
- package/test/node_modules/@noble/curves/esm/abstract/curve.js +156 -0
- package/test/node_modules/@noble/curves/esm/abstract/curve.js.map +1 -0
- package/test/node_modules/@noble/curves/esm/abstract/edwards.d.ts +89 -0
- package/test/node_modules/@noble/curves/esm/abstract/edwards.d.ts.map +1 -0
- package/test/node_modules/@noble/curves/esm/abstract/edwards.js +425 -0
- package/test/node_modules/@noble/curves/esm/abstract/edwards.js.map +1 -0
- package/test/node_modules/@noble/curves/esm/abstract/hash-to-curve.d.ts +58 -0
- package/test/node_modules/@noble/curves/esm/abstract/hash-to-curve.d.ts.map +1 -0
- package/test/node_modules/@noble/curves/esm/abstract/hash-to-curve.js +173 -0
- package/test/node_modules/@noble/curves/esm/abstract/hash-to-curve.js.map +1 -0
- package/test/node_modules/@noble/curves/esm/abstract/modular.d.ts +123 -0
- package/test/node_modules/@noble/curves/esm/abstract/modular.d.ts.map +1 -0
- package/test/node_modules/@noble/curves/esm/abstract/modular.js +416 -0
- package/test/node_modules/@noble/curves/esm/abstract/modular.js.map +1 -0
- package/test/node_modules/@noble/curves/esm/abstract/montgomery.d.ts +26 -0
- package/test/node_modules/@noble/curves/esm/abstract/montgomery.d.ts.map +1 -0
- package/test/node_modules/@noble/curves/esm/abstract/montgomery.js +155 -0
- package/test/node_modules/@noble/curves/esm/abstract/montgomery.js.map +1 -0
- package/test/node_modules/@noble/curves/esm/abstract/poseidon.d.ts +30 -0
- package/test/node_modules/@noble/curves/esm/abstract/poseidon.d.ts.map +1 -0
- package/test/node_modules/@noble/curves/esm/abstract/poseidon.js +108 -0
- package/test/node_modules/@noble/curves/esm/abstract/poseidon.js.map +1 -0
- package/test/node_modules/@noble/curves/esm/abstract/utils.d.ts +94 -0
- package/test/node_modules/@noble/curves/esm/abstract/utils.d.ts.map +1 -0
- package/test/node_modules/@noble/curves/esm/abstract/utils.js +289 -0
- package/test/node_modules/@noble/curves/esm/abstract/utils.js.map +1 -0
- package/test/node_modules/@noble/curves/esm/abstract/weierstrass.d.ts +236 -0
- package/test/node_modules/@noble/curves/esm/abstract/weierstrass.d.ts.map +1 -0
- package/test/node_modules/@noble/curves/esm/abstract/weierstrass.js +1062 -0
- package/test/node_modules/@noble/curves/esm/abstract/weierstrass.js.map +1 -0
- package/test/node_modules/@noble/curves/esm/bls12-381.d.ts +67 -0
- package/test/node_modules/@noble/curves/esm/bls12-381.d.ts.map +1 -0
- package/test/node_modules/@noble/curves/esm/bls12-381.js +1229 -0
- package/test/node_modules/@noble/curves/esm/bls12-381.js.map +1 -0
- package/test/node_modules/@noble/curves/esm/bn254.d.ts +9 -0
- package/test/node_modules/@noble/curves/esm/bn254.d.ts.map +1 -0
- package/test/node_modules/@noble/curves/esm/bn254.js +23 -0
- package/test/node_modules/@noble/curves/esm/bn254.js.map +1 -0
- package/test/node_modules/@noble/curves/esm/ed25519.d.ts +78 -0
- package/test/node_modules/@noble/curves/esm/ed25519.d.ts.map +1 -0
- package/test/node_modules/@noble/curves/esm/ed25519.js +440 -0
- package/test/node_modules/@noble/curves/esm/ed25519.js.map +1 -0
- package/test/node_modules/@noble/curves/esm/ed448.d.ts +67 -0
- package/test/node_modules/@noble/curves/esm/ed448.d.ts.map +1 -0
- package/test/node_modules/@noble/curves/esm/ed448.js +401 -0
- package/test/node_modules/@noble/curves/esm/ed448.js.map +1 -0
- package/test/node_modules/@noble/curves/esm/index.d.ts +2 -0
- package/test/node_modules/@noble/curves/esm/index.d.ts.map +1 -0
- package/test/node_modules/@noble/curves/esm/index.js +3 -0
- package/test/node_modules/@noble/curves/esm/index.js.map +1 -0
- package/test/node_modules/@noble/curves/esm/jubjub.d.ts +9 -0
- package/test/node_modules/@noble/curves/esm/jubjub.d.ts.map +1 -0
- package/test/node_modules/@noble/curves/esm/jubjub.js +54 -0
- package/test/node_modules/@noble/curves/esm/jubjub.js.map +1 -0
- package/test/node_modules/@noble/curves/esm/p256.d.ts +105 -0
- package/test/node_modules/@noble/curves/esm/p256.d.ts.map +1 -0
- package/test/node_modules/@noble/curves/esm/p256.js +42 -0
- package/test/node_modules/@noble/curves/esm/p256.js.map +1 -0
- package/test/node_modules/@noble/curves/esm/p384.d.ts +105 -0
- package/test/node_modules/@noble/curves/esm/p384.d.ts.map +1 -0
- package/test/node_modules/@noble/curves/esm/p384.js +46 -0
- package/test/node_modules/@noble/curves/esm/p384.js.map +1 -0
- package/test/node_modules/@noble/curves/esm/p521.d.ts +105 -0
- package/test/node_modules/@noble/curves/esm/p521.d.ts.map +1 -0
- package/test/node_modules/@noble/curves/esm/p521.js +53 -0
- package/test/node_modules/@noble/curves/esm/p521.js.map +1 -0
- package/test/node_modules/@noble/curves/esm/package.json +4 -0
- package/test/node_modules/@noble/curves/esm/pasta.d.ts +5 -0
- package/test/node_modules/@noble/curves/esm/pasta.d.ts.map +1 -0
- package/test/node_modules/@noble/curves/esm/pasta.js +30 -0
- package/test/node_modules/@noble/curves/esm/pasta.js.map +1 -0
- package/test/node_modules/@noble/curves/esm/secp256k1.d.ts +93 -0
- package/test/node_modules/@noble/curves/esm/secp256k1.d.ts.map +1 -0
- package/test/node_modules/@noble/curves/esm/secp256k1.js +254 -0
- package/test/node_modules/@noble/curves/esm/secp256k1.js.map +1 -0
- package/test/node_modules/@noble/curves/index.d.ts +1 -0
- package/test/node_modules/@noble/curves/index.d.ts.map +1 -0
- package/test/node_modules/@noble/curves/index.js +3 -0
- package/test/node_modules/@noble/curves/index.js.map +1 -0
- package/test/node_modules/@noble/curves/jubjub.d.ts +9 -0
- package/test/node_modules/@noble/curves/jubjub.d.ts.map +1 -0
- package/test/node_modules/@noble/curves/jubjub.js +59 -0
- package/test/node_modules/@noble/curves/jubjub.js.map +1 -0
- package/test/node_modules/@noble/curves/p256.d.ts +105 -0
- package/test/node_modules/@noble/curves/p256.d.ts.map +1 -0
- package/test/node_modules/@noble/curves/p256.js +45 -0
- package/test/node_modules/@noble/curves/p256.js.map +1 -0
- package/test/node_modules/@noble/curves/p384.d.ts +105 -0
- package/test/node_modules/@noble/curves/p384.d.ts.map +1 -0
- package/test/node_modules/@noble/curves/p384.js +49 -0
- package/test/node_modules/@noble/curves/p384.js.map +1 -0
- package/test/node_modules/@noble/curves/p521.d.ts +105 -0
- package/test/node_modules/@noble/curves/p521.d.ts.map +1 -0
- package/test/node_modules/@noble/curves/p521.js +56 -0
- package/test/node_modules/@noble/curves/p521.js.map +1 -0
- package/test/node_modules/@noble/curves/package.json +159 -0
- package/test/node_modules/@noble/curves/pasta.d.ts +5 -0
- package/test/node_modules/@noble/curves/pasta.d.ts.map +1 -0
- package/test/node_modules/@noble/curves/pasta.js +33 -0
- package/test/node_modules/@noble/curves/pasta.js.map +1 -0
- package/test/node_modules/@noble/curves/secp256k1.d.ts +93 -0
- package/test/node_modules/@noble/curves/secp256k1.d.ts.map +1 -0
- package/test/node_modules/@noble/curves/secp256k1.js +257 -0
- package/test/node_modules/@noble/curves/secp256k1.js.map +1 -0
- package/test/node_modules/@noble/curves/src/_shortw_utils.ts +20 -0
- package/test/node_modules/@noble/curves/src/abstract/bls.ts +502 -0
- package/test/node_modules/@noble/curves/src/abstract/curve.ts +203 -0
- package/test/node_modules/@noble/curves/src/abstract/edwards.ts +514 -0
- package/test/node_modules/@noble/curves/src/abstract/hash-to-curve.ts +231 -0
- package/test/node_modules/@noble/curves/src/abstract/modular.ts +484 -0
- package/test/node_modules/@noble/curves/src/abstract/montgomery.ts +187 -0
- package/test/node_modules/@noble/curves/src/abstract/poseidon.ts +118 -0
- package/test/node_modules/@noble/curves/src/abstract/utils.ts +319 -0
- package/test/node_modules/@noble/curves/src/abstract/weierstrass.ts +1237 -0
- package/test/node_modules/@noble/curves/src/bls12-381.ts +1410 -0
- package/test/node_modules/@noble/curves/src/bn254.ts +22 -0
- package/test/node_modules/@noble/curves/src/ed25519.ts +505 -0
- package/test/node_modules/@noble/curves/src/ed448.ts +480 -0
- package/test/node_modules/@noble/curves/src/index.ts +1 -0
- package/test/node_modules/@noble/curves/src/jubjub.ts +58 -0
- package/test/node_modules/@noble/curves/src/p256.ts +48 -0
- package/test/node_modules/@noble/curves/src/p384.ts +52 -0
- package/test/node_modules/@noble/curves/src/p521.ts +68 -0
- package/test/node_modules/@noble/curves/src/package.json +3 -0
- package/test/node_modules/@noble/curves/src/pasta.ts +31 -0
- package/test/node_modules/@noble/curves/src/secp256k1.ts +274 -0
- package/test/node_modules/@noble/hashes/LICENSE +21 -0
- package/test/node_modules/@noble/hashes/README.md +558 -0
- package/test/node_modules/@noble/hashes/_assert.d.ts +24 -0
- package/test/node_modules/@noble/hashes/_assert.js +51 -0
- package/test/node_modules/@noble/hashes/_assert.js.map +1 -0
- package/test/node_modules/@noble/hashes/_blake.d.ts +28 -0
- package/test/node_modules/@noble/hashes/_blake.js +124 -0
- package/test/node_modules/@noble/hashes/_blake.js.map +1 -0
- package/test/node_modules/@noble/hashes/_md.d.ts +30 -0
- package/test/node_modules/@noble/hashes/_md.js +128 -0
- package/test/node_modules/@noble/hashes/_md.js.map +1 -0
- package/test/node_modules/@noble/hashes/_u64.d.ts +55 -0
- package/test/node_modules/@noble/hashes/_u64.js +85 -0
- package/test/node_modules/@noble/hashes/_u64.js.map +1 -0
- package/test/node_modules/@noble/hashes/argon2.d.ts +17 -0
- package/test/node_modules/@noble/hashes/argon2.js +303 -0
- package/test/node_modules/@noble/hashes/argon2.js.map +1 -0
- package/test/node_modules/@noble/hashes/blake2b.d.ts +54 -0
- package/test/node_modules/@noble/hashes/blake2b.js +192 -0
- package/test/node_modules/@noble/hashes/blake2b.js.map +1 -0
- package/test/node_modules/@noble/hashes/blake2s.d.ts +48 -0
- package/test/node_modules/@noble/hashes/blake2s.js +123 -0
- package/test/node_modules/@noble/hashes/blake2s.js.map +1 -0
- package/test/node_modules/@noble/hashes/blake3.d.ts +47 -0
- package/test/node_modules/@noble/hashes/blake3.js +243 -0
- package/test/node_modules/@noble/hashes/blake3.js.map +1 -0
- package/test/node_modules/@noble/hashes/crypto.d.ts +2 -0
- package/test/node_modules/@noble/hashes/crypto.js +5 -0
- package/test/node_modules/@noble/hashes/crypto.js.map +1 -0
- package/test/node_modules/@noble/hashes/cryptoNode.d.ts +2 -0
- package/test/node_modules/@noble/hashes/cryptoNode.js +10 -0
- package/test/node_modules/@noble/hashes/cryptoNode.js.map +1 -0
- package/test/node_modules/@noble/hashes/eskdf.d.ts +47 -0
- package/test/node_modules/@noble/hashes/eskdf.js +162 -0
- package/test/node_modules/@noble/hashes/eskdf.js.map +1 -0
- package/test/node_modules/@noble/hashes/esm/_assert.js +42 -0
- package/test/node_modules/@noble/hashes/esm/_assert.js.map +1 -0
- package/test/node_modules/@noble/hashes/esm/_blake.js +120 -0
- package/test/node_modules/@noble/hashes/esm/_blake.js.map +1 -0
- package/test/node_modules/@noble/hashes/esm/_md.js +122 -0
- package/test/node_modules/@noble/hashes/esm/_md.js.map +1 -0
- package/test/node_modules/@noble/hashes/esm/_u64.js +62 -0
- package/test/node_modules/@noble/hashes/esm/_u64.js.map +1 -0
- package/test/node_modules/@noble/hashes/esm/argon2.js +297 -0
- package/test/node_modules/@noble/hashes/esm/argon2.js.map +1 -0
- package/test/node_modules/@noble/hashes/esm/blake2b.js +189 -0
- package/test/node_modules/@noble/hashes/esm/blake2b.js.map +1 -0
- package/test/node_modules/@noble/hashes/esm/blake2s.js +119 -0
- package/test/node_modules/@noble/hashes/esm/blake2s.js.map +1 -0
- package/test/node_modules/@noble/hashes/esm/blake3.js +240 -0
- package/test/node_modules/@noble/hashes/esm/blake3.js.map +1 -0
- package/test/node_modules/@noble/hashes/esm/crypto.js +2 -0
- package/test/node_modules/@noble/hashes/esm/crypto.js.map +1 -0
- package/test/node_modules/@noble/hashes/esm/cryptoNode.js +7 -0
- package/test/node_modules/@noble/hashes/esm/cryptoNode.js.map +1 -0
- package/test/node_modules/@noble/hashes/esm/eskdf.js +155 -0
- package/test/node_modules/@noble/hashes/esm/eskdf.js.map +1 -0
- package/test/node_modules/@noble/hashes/esm/hkdf.js +72 -0
- package/test/node_modules/@noble/hashes/esm/hkdf.js.map +1 -0
- package/test/node_modules/@noble/hashes/esm/hmac.js +77 -0
- package/test/node_modules/@noble/hashes/esm/hmac.js.map +1 -0
- package/test/node_modules/@noble/hashes/esm/index.js +3 -0
- package/test/node_modules/@noble/hashes/esm/index.js.map +1 -0
- package/test/node_modules/@noble/hashes/esm/package.json +10 -0
- package/test/node_modules/@noble/hashes/esm/pbkdf2.js +86 -0
- package/test/node_modules/@noble/hashes/esm/pbkdf2.js.map +1 -0
- package/test/node_modules/@noble/hashes/esm/ripemd160.js +102 -0
- package/test/node_modules/@noble/hashes/esm/ripemd160.js.map +1 -0
- package/test/node_modules/@noble/hashes/esm/scrypt.js +224 -0
- package/test/node_modules/@noble/hashes/esm/scrypt.js.map +1 -0
- package/test/node_modules/@noble/hashes/esm/sha1.js +80 -0
- package/test/node_modules/@noble/hashes/esm/sha1.js.map +1 -0
- package/test/node_modules/@noble/hashes/esm/sha2.js +4 -0
- package/test/node_modules/@noble/hashes/esm/sha2.js.map +1 -0
- package/test/node_modules/@noble/hashes/esm/sha256.js +123 -0
- package/test/node_modules/@noble/hashes/esm/sha256.js.map +1 -0
- package/test/node_modules/@noble/hashes/esm/sha3-addons.js +356 -0
- package/test/node_modules/@noble/hashes/esm/sha3-addons.js.map +1 -0
- package/test/node_modules/@noble/hashes/esm/sha3.js +214 -0
- package/test/node_modules/@noble/hashes/esm/sha3.js.map +1 -0
- package/test/node_modules/@noble/hashes/esm/sha512.js +231 -0
- package/test/node_modules/@noble/hashes/esm/sha512.js.map +1 -0
- package/test/node_modules/@noble/hashes/esm/utils.js +187 -0
- package/test/node_modules/@noble/hashes/esm/utils.js.map +1 -0
- package/test/node_modules/@noble/hashes/hkdf.d.ts +27 -0
- package/test/node_modules/@noble/hashes/hkdf.js +78 -0
- package/test/node_modules/@noble/hashes/hkdf.js.map +1 -0
- package/test/node_modules/@noble/hashes/hmac.d.ts +26 -0
- package/test/node_modules/@noble/hashes/hmac.js +82 -0
- package/test/node_modules/@noble/hashes/hmac.js.map +1 -0
- package/test/node_modules/@noble/hashes/index.d.ts +1 -0
- package/test/node_modules/@noble/hashes/index.js +3 -0
- package/test/node_modules/@noble/hashes/index.js.map +1 -0
- package/test/node_modules/@noble/hashes/package.json +179 -0
- package/test/node_modules/@noble/hashes/pbkdf2.d.ts +16 -0
- package/test/node_modules/@noble/hashes/pbkdf2.js +91 -0
- package/test/node_modules/@noble/hashes/pbkdf2.js.map +1 -0
- package/test/node_modules/@noble/hashes/ripemd160.d.ts +25 -0
- package/test/node_modules/@noble/hashes/ripemd160.js +106 -0
- package/test/node_modules/@noble/hashes/ripemd160.js.map +1 -0
- package/test/node_modules/@noble/hashes/scrypt.d.ts +30 -0
- package/test/node_modules/@noble/hashes/scrypt.js +229 -0
- package/test/node_modules/@noble/hashes/scrypt.js.map +1 -0
- package/test/node_modules/@noble/hashes/sha1.d.ts +22 -0
- package/test/node_modules/@noble/hashes/sha1.js +83 -0
- package/test/node_modules/@noble/hashes/sha1.js.map +1 -0
- package/test/node_modules/@noble/hashes/sha2.d.ts +3 -0
- package/test/node_modules/@noble/hashes/sha2.js +13 -0
- package/test/node_modules/@noble/hashes/sha2.js.map +1 -0
- package/test/node_modules/@noble/hashes/sha256.d.ts +35 -0
- package/test/node_modules/@noble/hashes/sha256.js +126 -0
- package/test/node_modules/@noble/hashes/sha256.js.map +1 -0
- package/test/node_modules/@noble/hashes/sha3-addons.d.ts +154 -0
- package/test/node_modules/@noble/hashes/sha3-addons.js +360 -0
- package/test/node_modules/@noble/hashes/sha3-addons.js.map +1 -0
- package/test/node_modules/@noble/hashes/sha3.d.ts +98 -0
- package/test/node_modules/@noble/hashes/sha3.js +219 -0
- package/test/node_modules/@noble/hashes/sha3.js.map +1 -0
- package/test/node_modules/@noble/hashes/sha512.d.ts +67 -0
- package/test/node_modules/@noble/hashes/sha512.js +235 -0
- package/test/node_modules/@noble/hashes/sha512.js.map +1 -0
- package/test/node_modules/@noble/hashes/src/_assert.ts +51 -0
- package/test/node_modules/@noble/hashes/src/_blake.ts +134 -0
- package/test/node_modules/@noble/hashes/src/_md.ts +127 -0
- package/test/node_modules/@noble/hashes/src/_u64.ts +77 -0
- package/test/node_modules/@noble/hashes/src/argon2.ts +374 -0
- package/test/node_modules/@noble/hashes/src/blake2b.ts +205 -0
- package/test/node_modules/@noble/hashes/src/blake2s.ts +138 -0
- package/test/node_modules/@noble/hashes/src/blake3.ts +268 -0
- package/test/node_modules/@noble/hashes/src/crypto.ts +5 -0
- package/test/node_modules/@noble/hashes/src/cryptoNode.ts +7 -0
- package/test/node_modules/@noble/hashes/src/eskdf.ts +183 -0
- package/test/node_modules/@noble/hashes/src/hkdf.ts +79 -0
- package/test/node_modules/@noble/hashes/src/hmac.ts +81 -0
- package/test/node_modules/@noble/hashes/src/index.ts +1 -0
- package/test/node_modules/@noble/hashes/src/pbkdf2.ts +97 -0
- package/test/node_modules/@noble/hashes/src/ripemd160.ts +108 -0
- package/test/node_modules/@noble/hashes/src/scrypt.ts +241 -0
- package/test/node_modules/@noble/hashes/src/sha1.ts +80 -0
- package/test/node_modules/@noble/hashes/src/sha2.ts +3 -0
- package/test/node_modules/@noble/hashes/src/sha256.ts +129 -0
- package/test/node_modules/@noble/hashes/src/sha3-addons.ts +423 -0
- package/test/node_modules/@noble/hashes/src/sha3.ts +229 -0
- package/test/node_modules/@noble/hashes/src/sha512.ts +246 -0
- package/test/node_modules/@noble/hashes/src/utils.ts +256 -0
- package/test/node_modules/@noble/hashes/utils.d.ts +96 -0
- package/test/node_modules/@noble/hashes/utils.js +211 -0
- package/test/node_modules/@noble/hashes/utils.js.map +1 -0
- package/test/node_modules/@pkgjs/parseargs/.editorconfig +14 -0
- package/test/node_modules/@pkgjs/parseargs/CHANGELOG.md +147 -0
- package/test/node_modules/@pkgjs/parseargs/LICENSE +201 -0
- package/test/node_modules/@pkgjs/parseargs/README.md +413 -0
- package/test/node_modules/@pkgjs/parseargs/examples/is-default-value.js +25 -0
- package/test/node_modules/@pkgjs/parseargs/examples/limit-long-syntax.js +35 -0
- package/test/node_modules/@pkgjs/parseargs/examples/negate.js +43 -0
- package/test/node_modules/@pkgjs/parseargs/examples/no-repeated-options.js +31 -0
- package/test/node_modules/@pkgjs/parseargs/examples/ordered-options.mjs +41 -0
- package/test/node_modules/@pkgjs/parseargs/examples/simple-hard-coded.js +26 -0
- package/test/node_modules/@pkgjs/parseargs/index.js +396 -0
- package/test/node_modules/@pkgjs/parseargs/internal/errors.js +47 -0
- package/test/node_modules/@pkgjs/parseargs/internal/primordials.js +393 -0
- package/test/node_modules/@pkgjs/parseargs/internal/util.js +14 -0
- package/test/node_modules/@pkgjs/parseargs/internal/validators.js +89 -0
- package/test/node_modules/@pkgjs/parseargs/package.json +36 -0
- package/test/node_modules/@pkgjs/parseargs/utils.js +198 -0
- package/test/node_modules/@scure/base/LICENSE +21 -0
- package/test/node_modules/@scure/base/README.md +214 -0
- package/test/node_modules/@scure/base/index.ts +616 -0
- package/test/node_modules/@scure/base/lib/esm/index.d.ts +132 -0
- package/test/node_modules/@scure/base/lib/esm/index.d.ts.map +1 -0
- package/test/node_modules/@scure/base/lib/esm/index.js +489 -0
- package/test/node_modules/@scure/base/lib/esm/index.js.map +1 -0
- package/test/node_modules/@scure/base/lib/esm/package.json +1 -0
- package/test/node_modules/@scure/base/lib/index.d.ts +132 -0
- package/test/node_modules/@scure/base/lib/index.d.ts.map +1 -0
- package/test/node_modules/@scure/base/lib/index.js +496 -0
- package/test/node_modules/@scure/base/lib/index.js.map +1 -0
- package/test/node_modules/@scure/base/package.json +64 -0
- package/test/node_modules/@scure/bip32/LICENSE +21 -0
- package/test/node_modules/@scure/bip32/README.md +113 -0
- package/test/node_modules/@scure/bip32/index.ts +308 -0
- package/test/node_modules/@scure/bip32/lib/esm/index.js +269 -0
- package/test/node_modules/@scure/bip32/lib/esm/index.js.map +1 -0
- package/test/node_modules/@scure/bip32/lib/esm/package.json +4 -0
- package/test/node_modules/@scure/bip32/lib/index.d.ts +50 -0
- package/test/node_modules/@scure/bip32/lib/index.js +273 -0
- package/test/node_modules/@scure/bip32/lib/index.js.map +1 -0
- package/test/node_modules/@scure/bip32/package.json +75 -0
- package/test/node_modules/@scure/bip39/LICENSE +21 -0
- package/test/node_modules/@scure/bip39/README.md +101 -0
- package/test/node_modules/@scure/bip39/esm/index.js +134 -0
- package/test/node_modules/@scure/bip39/esm/package.json +3 -0
- package/test/node_modules/@scure/bip39/esm/wordlists/czech.js +2048 -0
- package/test/node_modules/@scure/bip39/esm/wordlists/english.js +2048 -0
- package/test/node_modules/@scure/bip39/esm/wordlists/french.js +2048 -0
- package/test/node_modules/@scure/bip39/esm/wordlists/italian.js +2048 -0
- package/test/node_modules/@scure/bip39/esm/wordlists/japanese.js +2048 -0
- package/test/node_modules/@scure/bip39/esm/wordlists/korean.js +2048 -0
- package/test/node_modules/@scure/bip39/esm/wordlists/portuguese.js +2048 -0
- package/test/node_modules/@scure/bip39/esm/wordlists/simplified-chinese.js +2048 -0
- package/test/node_modules/@scure/bip39/esm/wordlists/spanish.js +2048 -0
- package/test/node_modules/@scure/bip39/esm/wordlists/traditional-chinese.js +2048 -0
- package/test/node_modules/@scure/bip39/index.d.ts +64 -0
- package/test/node_modules/@scure/bip39/index.js +143 -0
- package/test/node_modules/@scure/bip39/package.json +123 -0
- package/test/node_modules/@scure/bip39/src/index.ts +146 -0
- package/test/node_modules/@scure/bip39/wordlists/czech.d.ts +2 -0
- package/test/node_modules/@scure/bip39/wordlists/czech.js +2051 -0
- package/test/node_modules/@scure/bip39/wordlists/english.d.ts +2 -0
- package/test/node_modules/@scure/bip39/wordlists/english.js +2051 -0
- package/test/node_modules/@scure/bip39/wordlists/french.d.ts +2 -0
- package/test/node_modules/@scure/bip39/wordlists/french.js +2051 -0
- package/test/node_modules/@scure/bip39/wordlists/italian.d.ts +2 -0
- package/test/node_modules/@scure/bip39/wordlists/italian.js +2051 -0
- package/test/node_modules/@scure/bip39/wordlists/japanese.d.ts +2 -0
- package/test/node_modules/@scure/bip39/wordlists/japanese.js +2051 -0
- package/test/node_modules/@scure/bip39/wordlists/korean.d.ts +2 -0
- package/test/node_modules/@scure/bip39/wordlists/korean.js +2051 -0
- package/test/node_modules/@scure/bip39/wordlists/portuguese.d.ts +2 -0
- package/test/node_modules/@scure/bip39/wordlists/portuguese.js +2051 -0
- package/test/node_modules/@scure/bip39/wordlists/simplified-chinese.d.ts +2 -0
- package/test/node_modules/@scure/bip39/wordlists/simplified-chinese.js +2051 -0
- package/test/node_modules/@scure/bip39/wordlists/spanish.d.ts +2 -0
- package/test/node_modules/@scure/bip39/wordlists/spanish.js +2051 -0
- package/test/node_modules/@scure/bip39/wordlists/traditional-chinese.d.ts +2 -0
- package/test/node_modules/@scure/bip39/wordlists/traditional-chinese.js +2051 -0
- package/test/node_modules/ansi-colors/LICENSE +21 -0
- package/test/node_modules/ansi-colors/README.md +315 -0
- package/test/node_modules/ansi-colors/index.js +184 -0
- package/test/node_modules/ansi-colors/package.json +129 -0
- package/test/node_modules/ansi-colors/symbols.js +69 -0
- package/test/node_modules/ansi-colors/types/index.d.ts +235 -0
- package/test/node_modules/ansi-regex/index.d.ts +33 -0
- package/test/node_modules/ansi-regex/index.js +10 -0
- package/test/node_modules/ansi-regex/license +9 -0
- package/test/node_modules/ansi-regex/package.json +61 -0
- package/test/node_modules/ansi-regex/readme.md +60 -0
- package/test/node_modules/ansi-styles/index.d.ts +345 -0
- package/test/node_modules/ansi-styles/index.js +163 -0
- package/test/node_modules/ansi-styles/license +9 -0
- package/test/node_modules/ansi-styles/package.json +56 -0
- package/test/node_modules/ansi-styles/readme.md +152 -0
- package/test/node_modules/anymatch/LICENSE +15 -0
- package/test/node_modules/anymatch/README.md +87 -0
- package/test/node_modules/anymatch/index.d.ts +20 -0
- package/test/node_modules/anymatch/index.js +104 -0
- package/test/node_modules/anymatch/package.json +48 -0
- package/test/node_modules/argparse/CHANGELOG.md +216 -0
- package/test/node_modules/argparse/LICENSE +254 -0
- package/test/node_modules/argparse/README.md +84 -0
- package/test/node_modules/argparse/argparse.js +3707 -0
- package/test/node_modules/argparse/lib/sub.js +67 -0
- package/test/node_modules/argparse/lib/textwrap.js +440 -0
- package/test/node_modules/argparse/package.json +31 -0
- package/test/node_modules/asap/CHANGES.md +70 -0
- package/test/node_modules/asap/LICENSE.md +21 -0
- package/test/node_modules/asap/README.md +237 -0
- package/test/node_modules/asap/asap.js +65 -0
- package/test/node_modules/asap/browser-asap.js +66 -0
- package/test/node_modules/asap/browser-raw.js +223 -0
- package/test/node_modules/asap/package.json +58 -0
- package/test/node_modules/asap/raw.js +101 -0
- package/test/node_modules/assertion-error/LICENSE +21 -0
- package/test/node_modules/assertion-error/README.md +68 -0
- package/test/node_modules/assertion-error/index.d.ts +27 -0
- package/test/node_modules/assertion-error/index.js +60 -0
- package/test/node_modules/assertion-error/package.json +32 -0
- package/test/node_modules/asynckit/LICENSE +21 -0
- package/test/node_modules/asynckit/README.md +233 -0
- package/test/node_modules/asynckit/bench.js +76 -0
- package/test/node_modules/asynckit/index.js +6 -0
- package/test/node_modules/asynckit/lib/abort.js +29 -0
- package/test/node_modules/asynckit/lib/async.js +34 -0
- package/test/node_modules/asynckit/lib/defer.js +26 -0
- package/test/node_modules/asynckit/lib/iterate.js +75 -0
- package/test/node_modules/asynckit/lib/readable_asynckit.js +91 -0
- package/test/node_modules/asynckit/lib/readable_parallel.js +25 -0
- package/test/node_modules/asynckit/lib/readable_serial.js +25 -0
- package/test/node_modules/asynckit/lib/readable_serial_ordered.js +29 -0
- package/test/node_modules/asynckit/lib/state.js +37 -0
- package/test/node_modules/asynckit/lib/streamify.js +141 -0
- package/test/node_modules/asynckit/lib/terminator.js +29 -0
- package/test/node_modules/asynckit/package.json +63 -0
- package/test/node_modules/asynckit/parallel.js +43 -0
- package/test/node_modules/asynckit/serial.js +17 -0
- package/test/node_modules/asynckit/serialOrdered.js +75 -0
- package/test/node_modules/asynckit/stream.js +21 -0
- package/test/node_modules/balanced-match/.github/FUNDING.yml +2 -0
- package/test/node_modules/balanced-match/LICENSE.md +21 -0
- package/test/node_modules/balanced-match/README.md +97 -0
- package/test/node_modules/balanced-match/index.js +62 -0
- package/test/node_modules/balanced-match/package.json +48 -0
- package/test/node_modules/bdo-js/README.md +35 -0
- package/test/node_modules/bdo-js/bdo.cjs +165 -0
- package/test/node_modules/bdo-js/bdo.js +171 -0
- package/test/node_modules/bdo-js/package.json +24 -0
- package/test/node_modules/binary-extensions/binary-extensions.json +263 -0
- package/test/node_modules/binary-extensions/binary-extensions.json.d.ts +3 -0
- package/test/node_modules/binary-extensions/index.d.ts +14 -0
- package/test/node_modules/binary-extensions/index.js +1 -0
- package/test/node_modules/binary-extensions/license +10 -0
- package/test/node_modules/binary-extensions/package.json +40 -0
- package/test/node_modules/binary-extensions/readme.md +25 -0
- package/test/node_modules/brace-expansion/.github/FUNDING.yml +2 -0
- package/test/node_modules/brace-expansion/LICENSE +21 -0
- package/test/node_modules/brace-expansion/README.md +135 -0
- package/test/node_modules/brace-expansion/index.js +203 -0
- package/test/node_modules/brace-expansion/package.json +46 -0
- package/test/node_modules/braces/LICENSE +21 -0
- package/test/node_modules/braces/README.md +586 -0
- package/test/node_modules/braces/index.js +170 -0
- package/test/node_modules/braces/lib/compile.js +60 -0
- package/test/node_modules/braces/lib/constants.js +57 -0
- package/test/node_modules/braces/lib/expand.js +113 -0
- package/test/node_modules/braces/lib/parse.js +331 -0
- package/test/node_modules/braces/lib/stringify.js +32 -0
- package/test/node_modules/braces/lib/utils.js +122 -0
- package/test/node_modules/braces/package.json +77 -0
- package/test/node_modules/browser-stdout/LICENSE +5 -0
- package/test/node_modules/browser-stdout/README.md +40 -0
- package/test/node_modules/browser-stdout/index.js +25 -0
- package/test/node_modules/browser-stdout/package.json +15 -0
- package/test/node_modules/call-bind-apply-helpers/.eslintrc +17 -0
- package/test/node_modules/call-bind-apply-helpers/.github/FUNDING.yml +12 -0
- package/test/node_modules/call-bind-apply-helpers/.nycrc +9 -0
- package/test/node_modules/call-bind-apply-helpers/CHANGELOG.md +30 -0
- package/test/node_modules/call-bind-apply-helpers/LICENSE +21 -0
- package/test/node_modules/call-bind-apply-helpers/README.md +62 -0
- package/test/node_modules/call-bind-apply-helpers/actualApply.d.ts +1 -0
- package/test/node_modules/call-bind-apply-helpers/actualApply.js +10 -0
- package/test/node_modules/call-bind-apply-helpers/applyBind.d.ts +19 -0
- package/test/node_modules/call-bind-apply-helpers/applyBind.js +10 -0
- package/test/node_modules/call-bind-apply-helpers/functionApply.d.ts +1 -0
- package/test/node_modules/call-bind-apply-helpers/functionApply.js +4 -0
- package/test/node_modules/call-bind-apply-helpers/functionCall.d.ts +1 -0
- package/test/node_modules/call-bind-apply-helpers/functionCall.js +4 -0
- package/test/node_modules/call-bind-apply-helpers/index.d.ts +64 -0
- package/test/node_modules/call-bind-apply-helpers/index.js +15 -0
- package/test/node_modules/call-bind-apply-helpers/package.json +85 -0
- package/test/node_modules/call-bind-apply-helpers/reflectApply.d.ts +3 -0
- package/test/node_modules/call-bind-apply-helpers/reflectApply.js +4 -0
- package/test/node_modules/call-bind-apply-helpers/test/index.js +63 -0
- package/test/node_modules/call-bind-apply-helpers/tsconfig.json +9 -0
- package/test/node_modules/call-bound/.eslintrc +13 -0
- package/test/node_modules/call-bound/.github/FUNDING.yml +12 -0
- package/test/node_modules/call-bound/.nycrc +9 -0
- package/test/node_modules/call-bound/CHANGELOG.md +42 -0
- package/test/node_modules/call-bound/LICENSE +21 -0
- package/test/node_modules/call-bound/README.md +53 -0
- package/test/node_modules/call-bound/index.d.ts +94 -0
- package/test/node_modules/call-bound/index.js +19 -0
- package/test/node_modules/call-bound/package.json +99 -0
- package/test/node_modules/call-bound/test/index.js +61 -0
- package/test/node_modules/call-bound/tsconfig.json +10 -0
- package/test/node_modules/camelcase/index.d.ts +103 -0
- package/test/node_modules/camelcase/index.js +113 -0
- package/test/node_modules/camelcase/license +9 -0
- package/test/node_modules/camelcase/package.json +44 -0
- package/test/node_modules/camelcase/readme.md +144 -0
- package/test/node_modules/chai/.prettierrc.json +10 -0
- package/test/node_modules/chai/CODEOWNERS +1 -0
- package/test/node_modules/chai/CODE_OF_CONDUCT.md +58 -0
- package/test/node_modules/chai/CONTRIBUTING.md +218 -0
- package/test/node_modules/chai/History.md +1059 -0
- package/test/node_modules/chai/LICENSE +21 -0
- package/test/node_modules/chai/README.md +154 -0
- package/test/node_modules/chai/ReleaseNotes.md +737 -0
- package/test/node_modules/chai/chai.js +4351 -0
- package/test/node_modules/chai/eslint.config.js +26 -0
- package/test/node_modules/chai/index.js +1 -0
- package/test/node_modules/chai/lib/chai/assertion.js +180 -0
- package/test/node_modules/chai/lib/chai/config.js +112 -0
- package/test/node_modules/chai/lib/chai/core/assertions.js +4157 -0
- package/test/node_modules/chai/lib/chai/interface/assert.js +3228 -0
- package/test/node_modules/chai/lib/chai/interface/expect.js +59 -0
- package/test/node_modules/chai/lib/chai/interface/should.js +227 -0
- package/test/node_modules/chai/lib/chai/utils/addChainableMethod.js +146 -0
- package/test/node_modules/chai/lib/chai/utils/addLengthGuard.js +73 -0
- package/test/node_modules/chai/lib/chai/utils/addMethod.js +66 -0
- package/test/node_modules/chai/lib/chai/utils/addProperty.js +70 -0
- package/test/node_modules/chai/lib/chai/utils/compareByInspect.js +26 -0
- package/test/node_modules/chai/lib/chai/utils/expectTypes.js +58 -0
- package/test/node_modules/chai/lib/chai/utils/flag.js +33 -0
- package/test/node_modules/chai/lib/chai/utils/getActual.js +20 -0
- package/test/node_modules/chai/lib/chai/utils/getMessage.js +52 -0
- package/test/node_modules/chai/lib/chai/utils/getOperator.js +58 -0
- package/test/node_modules/chai/lib/chai/utils/getOwnEnumerableProperties.js +24 -0
- package/test/node_modules/chai/lib/chai/utils/getOwnEnumerablePropertySymbols.js +26 -0
- package/test/node_modules/chai/lib/chai/utils/getProperties.js +38 -0
- package/test/node_modules/chai/lib/chai/utils/index.js +118 -0
- package/test/node_modules/chai/lib/chai/utils/inspect.js +31 -0
- package/test/node_modules/chai/lib/chai/utils/isNaN.js +7 -0
- package/test/node_modules/chai/lib/chai/utils/isProxyEnabled.js +26 -0
- package/test/node_modules/chai/lib/chai/utils/objDisplay.js +47 -0
- package/test/node_modules/chai/lib/chai/utils/overwriteChainableMethod.js +69 -0
- package/test/node_modules/chai/lib/chai/utils/overwriteMethod.js +90 -0
- package/test/node_modules/chai/lib/chai/utils/overwriteProperty.js +89 -0
- package/test/node_modules/chai/lib/chai/utils/proxify.js +157 -0
- package/test/node_modules/chai/lib/chai/utils/test.js +24 -0
- package/test/node_modules/chai/lib/chai/utils/transferFlags.js +48 -0
- package/test/node_modules/chai/lib/chai/utils/type-detect.js +20 -0
- package/test/node_modules/chai/lib/chai.js +66 -0
- package/test/node_modules/chai/package.json +67 -0
- package/test/node_modules/chai/register-assert.js +3 -0
- package/test/node_modules/chai/register-expect.js +3 -0
- package/test/node_modules/chai/register-should.js +3 -0
- package/test/node_modules/chai/web-test-runner.config.js +20 -0
- package/test/node_modules/chalk/index.d.ts +415 -0
- package/test/node_modules/chalk/license +9 -0
- package/test/node_modules/chalk/node_modules/supports-color/browser.js +5 -0
- package/test/node_modules/chalk/node_modules/supports-color/index.js +135 -0
- package/test/node_modules/chalk/node_modules/supports-color/license +9 -0
- package/test/node_modules/chalk/node_modules/supports-color/package.json +53 -0
- package/test/node_modules/chalk/node_modules/supports-color/readme.md +76 -0
- package/test/node_modules/chalk/package.json +68 -0
- package/test/node_modules/chalk/readme.md +341 -0
- package/test/node_modules/chalk/source/index.js +229 -0
- package/test/node_modules/chalk/source/templates.js +134 -0
- package/test/node_modules/chalk/source/util.js +39 -0
- package/test/node_modules/check-error/LICENSE +19 -0
- package/test/node_modules/check-error/README.md +144 -0
- package/test/node_modules/check-error/index.js +135 -0
- package/test/node_modules/check-error/package.json +66 -0
- package/test/node_modules/chokidar/LICENSE +21 -0
- package/test/node_modules/chokidar/README.md +308 -0
- package/test/node_modules/chokidar/index.js +973 -0
- package/test/node_modules/chokidar/lib/constants.js +66 -0
- package/test/node_modules/chokidar/lib/fsevents-handler.js +526 -0
- package/test/node_modules/chokidar/lib/nodefs-handler.js +654 -0
- package/test/node_modules/chokidar/package.json +70 -0
- package/test/node_modules/chokidar/types/index.d.ts +192 -0
- package/test/node_modules/cliui/CHANGELOG.md +139 -0
- package/test/node_modules/cliui/LICENSE.txt +14 -0
- package/test/node_modules/cliui/README.md +141 -0
- package/test/node_modules/cliui/build/index.cjs +302 -0
- package/test/node_modules/cliui/build/index.d.cts +43 -0
- package/test/node_modules/cliui/build/lib/index.js +287 -0
- package/test/node_modules/cliui/build/lib/string-utils.js +27 -0
- package/test/node_modules/cliui/index.mjs +13 -0
- package/test/node_modules/cliui/node_modules/ansi-regex/index.d.ts +37 -0
- package/test/node_modules/cliui/node_modules/ansi-regex/index.js +10 -0
- package/test/node_modules/cliui/node_modules/ansi-regex/license +9 -0
- package/test/node_modules/cliui/node_modules/ansi-regex/package.json +55 -0
- package/test/node_modules/cliui/node_modules/ansi-regex/readme.md +78 -0
- package/test/node_modules/cliui/node_modules/emoji-regex/LICENSE-MIT.txt +20 -0
- package/test/node_modules/cliui/node_modules/emoji-regex/README.md +73 -0
- package/test/node_modules/cliui/node_modules/emoji-regex/es2015/index.js +6 -0
- package/test/node_modules/cliui/node_modules/emoji-regex/es2015/text.js +6 -0
- package/test/node_modules/cliui/node_modules/emoji-regex/index.d.ts +23 -0
- package/test/node_modules/cliui/node_modules/emoji-regex/index.js +6 -0
- package/test/node_modules/cliui/node_modules/emoji-regex/package.json +50 -0
- package/test/node_modules/cliui/node_modules/emoji-regex/text.js +6 -0
- package/test/node_modules/cliui/node_modules/string-width/index.d.ts +29 -0
- package/test/node_modules/cliui/node_modules/string-width/index.js +47 -0
- package/test/node_modules/cliui/node_modules/string-width/license +9 -0
- package/test/node_modules/cliui/node_modules/string-width/package.json +56 -0
- package/test/node_modules/cliui/node_modules/string-width/readme.md +50 -0
- package/test/node_modules/cliui/node_modules/strip-ansi/index.d.ts +17 -0
- package/test/node_modules/cliui/node_modules/strip-ansi/index.js +4 -0
- package/test/node_modules/cliui/node_modules/strip-ansi/license +9 -0
- package/test/node_modules/cliui/node_modules/strip-ansi/package.json +54 -0
- package/test/node_modules/cliui/node_modules/strip-ansi/readme.md +46 -0
- package/test/node_modules/cliui/node_modules/wrap-ansi/index.js +216 -0
- package/test/node_modules/cliui/node_modules/wrap-ansi/license +9 -0
- package/test/node_modules/cliui/node_modules/wrap-ansi/package.json +62 -0
- package/test/node_modules/cliui/node_modules/wrap-ansi/readme.md +91 -0
- package/test/node_modules/cliui/package.json +83 -0
- package/test/node_modules/color-convert/CHANGELOG.md +54 -0
- package/test/node_modules/color-convert/LICENSE +21 -0
- package/test/node_modules/color-convert/README.md +68 -0
- package/test/node_modules/color-convert/conversions.js +839 -0
- package/test/node_modules/color-convert/index.js +81 -0
- package/test/node_modules/color-convert/package.json +48 -0
- package/test/node_modules/color-convert/route.js +97 -0
- package/test/node_modules/color-name/LICENSE +8 -0
- package/test/node_modules/color-name/README.md +11 -0
- package/test/node_modules/color-name/index.js +152 -0
- package/test/node_modules/color-name/package.json +28 -0
- package/test/node_modules/combined-stream/License +19 -0
- package/test/node_modules/combined-stream/Readme.md +138 -0
- package/test/node_modules/combined-stream/lib/combined_stream.js +208 -0
- package/test/node_modules/combined-stream/package.json +25 -0
- package/test/node_modules/combined-stream/yarn.lock +17 -0
- package/test/node_modules/component-emitter/LICENSE +24 -0
- package/test/node_modules/component-emitter/Readme.md +74 -0
- package/test/node_modules/component-emitter/index.js +175 -0
- package/test/node_modules/component-emitter/package.json +28 -0
- package/test/node_modules/cookiejar/LICENSE +9 -0
- package/test/node_modules/cookiejar/cookiejar.js +281 -0
- package/test/node_modules/cookiejar/package.json +26 -0
- package/test/node_modules/cookiejar/readme.md +60 -0
- package/test/node_modules/cross-spawn/LICENSE +21 -0
- package/test/node_modules/cross-spawn/README.md +89 -0
- package/test/node_modules/cross-spawn/index.js +39 -0
- package/test/node_modules/cross-spawn/lib/enoent.js +59 -0
- package/test/node_modules/cross-spawn/lib/parse.js +91 -0
- package/test/node_modules/cross-spawn/lib/util/escape.js +47 -0
- package/test/node_modules/cross-spawn/lib/util/readShebang.js +23 -0
- package/test/node_modules/cross-spawn/lib/util/resolveCommand.js +52 -0
- package/test/node_modules/cross-spawn/package.json +73 -0
- package/test/node_modules/data-uri-to-buffer/README.md +88 -0
- package/test/node_modules/data-uri-to-buffer/dist/index.d.ts +15 -0
- package/test/node_modules/data-uri-to-buffer/dist/index.js +53 -0
- package/test/node_modules/data-uri-to-buffer/dist/index.js.map +1 -0
- package/test/node_modules/data-uri-to-buffer/package.json +62 -0
- package/test/node_modules/data-uri-to-buffer/src/index.ts +68 -0
- package/test/node_modules/debug/LICENSE +20 -0
- package/test/node_modules/debug/README.md +481 -0
- package/test/node_modules/debug/package.json +65 -0
- package/test/node_modules/debug/src/browser.js +272 -0
- package/test/node_modules/debug/src/common.js +292 -0
- package/test/node_modules/debug/src/index.js +10 -0
- package/test/node_modules/debug/src/node.js +263 -0
- package/test/node_modules/decamelize/index.d.ts +20 -0
- package/test/node_modules/decamelize/index.js +12 -0
- package/test/node_modules/decamelize/license +9 -0
- package/test/node_modules/decamelize/package.json +40 -0
- package/test/node_modules/decamelize/readme.md +51 -0
- package/test/node_modules/deep-eql/LICENSE +19 -0
- package/test/node_modules/deep-eql/README.md +93 -0
- package/test/node_modules/deep-eql/index.js +513 -0
- package/test/node_modules/deep-eql/package.json +73 -0
- package/test/node_modules/delayed-stream/License +19 -0
- package/test/node_modules/delayed-stream/Makefile +7 -0
- package/test/node_modules/delayed-stream/Readme.md +141 -0
- package/test/node_modules/delayed-stream/lib/delayed_stream.js +107 -0
- package/test/node_modules/delayed-stream/package.json +27 -0
- package/test/node_modules/dezalgo/LICENSE +15 -0
- package/test/node_modules/dezalgo/README.md +29 -0
- package/test/node_modules/dezalgo/dezalgo.js +22 -0
- package/test/node_modules/dezalgo/package.json +46 -0
- package/test/node_modules/diff/CONTRIBUTING.md +36 -0
- package/test/node_modules/diff/LICENSE +29 -0
- package/test/node_modules/diff/README.md +339 -0
- package/test/node_modules/diff/dist/diff.js +1730 -0
- package/test/node_modules/diff/dist/diff.min.js +1 -0
- package/test/node_modules/diff/lib/convert/dmp.js +32 -0
- package/test/node_modules/diff/lib/convert/xml.js +42 -0
- package/test/node_modules/diff/lib/diff/array.js +45 -0
- package/test/node_modules/diff/lib/diff/base.js +358 -0
- package/test/node_modules/diff/lib/diff/character.js +37 -0
- package/test/node_modules/diff/lib/diff/css.js +41 -0
- package/test/node_modules/diff/lib/diff/json.js +163 -0
- package/test/node_modules/diff/lib/diff/line.js +94 -0
- package/test/node_modules/diff/lib/diff/sentence.js +41 -0
- package/test/node_modules/diff/lib/diff/word.js +108 -0
- package/test/node_modules/diff/lib/index.es6.js +1699 -0
- package/test/node_modules/diff/lib/index.js +234 -0
- package/test/node_modules/diff/lib/index.mjs +1699 -0
- package/test/node_modules/diff/lib/patch/apply.js +238 -0
- package/test/node_modules/diff/lib/patch/create.js +276 -0
- package/test/node_modules/diff/lib/patch/merge.js +613 -0
- package/test/node_modules/diff/lib/patch/parse.js +167 -0
- package/test/node_modules/diff/lib/patch/reverse.js +63 -0
- package/test/node_modules/diff/lib/util/array.js +32 -0
- package/test/node_modules/diff/lib/util/distance-iterator.js +57 -0
- package/test/node_modules/diff/lib/util/params.js +24 -0
- package/test/node_modules/diff/package.json +89 -0
- package/test/node_modules/diff/release-notes.md +317 -0
- package/test/node_modules/diff/runtime.js +3 -0
- package/test/node_modules/dunder-proto/.eslintrc +5 -0
- package/test/node_modules/dunder-proto/.github/FUNDING.yml +12 -0
- package/test/node_modules/dunder-proto/.nycrc +13 -0
- package/test/node_modules/dunder-proto/CHANGELOG.md +24 -0
- package/test/node_modules/dunder-proto/LICENSE +21 -0
- package/test/node_modules/dunder-proto/README.md +54 -0
- package/test/node_modules/dunder-proto/get.d.ts +5 -0
- package/test/node_modules/dunder-proto/get.js +30 -0
- package/test/node_modules/dunder-proto/package.json +76 -0
- package/test/node_modules/dunder-proto/set.d.ts +5 -0
- package/test/node_modules/dunder-proto/set.js +35 -0
- package/test/node_modules/dunder-proto/test/get.js +34 -0
- package/test/node_modules/dunder-proto/test/index.js +4 -0
- package/test/node_modules/dunder-proto/test/set.js +50 -0
- package/test/node_modules/dunder-proto/tsconfig.json +9 -0
- package/test/node_modules/eastasianwidth/README.md +32 -0
- package/test/node_modules/eastasianwidth/eastasianwidth.js +311 -0
- package/test/node_modules/eastasianwidth/package.json +18 -0
- package/test/node_modules/emoji-regex/LICENSE-MIT.txt +20 -0
- package/test/node_modules/emoji-regex/README.md +137 -0
- package/test/node_modules/emoji-regex/RGI_Emoji.d.ts +5 -0
- package/test/node_modules/emoji-regex/RGI_Emoji.js +6 -0
- package/test/node_modules/emoji-regex/es2015/RGI_Emoji.d.ts +5 -0
- package/test/node_modules/emoji-regex/es2015/RGI_Emoji.js +6 -0
- package/test/node_modules/emoji-regex/es2015/index.d.ts +5 -0
- package/test/node_modules/emoji-regex/es2015/index.js +6 -0
- package/test/node_modules/emoji-regex/es2015/text.d.ts +5 -0
- package/test/node_modules/emoji-regex/es2015/text.js +6 -0
- package/test/node_modules/emoji-regex/index.d.ts +5 -0
- package/test/node_modules/emoji-regex/index.js +6 -0
- package/test/node_modules/emoji-regex/package.json +52 -0
- package/test/node_modules/emoji-regex/text.d.ts +5 -0
- package/test/node_modules/emoji-regex/text.js +6 -0
- package/test/node_modules/es-define-property/.eslintrc +13 -0
- package/test/node_modules/es-define-property/.github/FUNDING.yml +12 -0
- package/test/node_modules/es-define-property/.nycrc +9 -0
- package/test/node_modules/es-define-property/CHANGELOG.md +29 -0
- package/test/node_modules/es-define-property/LICENSE +21 -0
- package/test/node_modules/es-define-property/README.md +49 -0
- package/test/node_modules/es-define-property/index.d.ts +3 -0
- package/test/node_modules/es-define-property/index.js +14 -0
- package/test/node_modules/es-define-property/package.json +81 -0
- package/test/node_modules/es-define-property/test/index.js +56 -0
- package/test/node_modules/es-define-property/tsconfig.json +10 -0
- package/test/node_modules/es-errors/.eslintrc +5 -0
- package/test/node_modules/es-errors/.github/FUNDING.yml +12 -0
- package/test/node_modules/es-errors/CHANGELOG.md +40 -0
- package/test/node_modules/es-errors/LICENSE +21 -0
- package/test/node_modules/es-errors/README.md +55 -0
- package/test/node_modules/es-errors/eval.d.ts +3 -0
- package/test/node_modules/es-errors/eval.js +4 -0
- package/test/node_modules/es-errors/index.d.ts +3 -0
- package/test/node_modules/es-errors/index.js +4 -0
- package/test/node_modules/es-errors/package.json +80 -0
- package/test/node_modules/es-errors/range.d.ts +3 -0
- package/test/node_modules/es-errors/range.js +4 -0
- package/test/node_modules/es-errors/ref.d.ts +3 -0
- package/test/node_modules/es-errors/ref.js +4 -0
- package/test/node_modules/es-errors/syntax.d.ts +3 -0
- package/test/node_modules/es-errors/syntax.js +4 -0
- package/test/node_modules/es-errors/test/index.js +19 -0
- package/test/node_modules/es-errors/tsconfig.json +49 -0
- package/test/node_modules/es-errors/type.d.ts +3 -0
- package/test/node_modules/es-errors/type.js +4 -0
- package/test/node_modules/es-errors/uri.d.ts +3 -0
- package/test/node_modules/es-errors/uri.js +4 -0
- package/test/node_modules/es-object-atoms/.eslintrc +16 -0
- package/test/node_modules/es-object-atoms/.github/FUNDING.yml +12 -0
- package/test/node_modules/es-object-atoms/CHANGELOG.md +37 -0
- package/test/node_modules/es-object-atoms/LICENSE +21 -0
- package/test/node_modules/es-object-atoms/README.md +63 -0
- package/test/node_modules/es-object-atoms/RequireObjectCoercible.d.ts +3 -0
- package/test/node_modules/es-object-atoms/RequireObjectCoercible.js +11 -0
- package/test/node_modules/es-object-atoms/ToObject.d.ts +7 -0
- package/test/node_modules/es-object-atoms/ToObject.js +10 -0
- package/test/node_modules/es-object-atoms/index.d.ts +3 -0
- package/test/node_modules/es-object-atoms/index.js +4 -0
- package/test/node_modules/es-object-atoms/isObject.d.ts +3 -0
- package/test/node_modules/es-object-atoms/isObject.js +6 -0
- package/test/node_modules/es-object-atoms/package.json +80 -0
- package/test/node_modules/es-object-atoms/test/index.js +38 -0
- package/test/node_modules/es-object-atoms/tsconfig.json +6 -0
- package/test/node_modules/es-set-tostringtag/.eslintrc +13 -0
- package/test/node_modules/es-set-tostringtag/.nycrc +9 -0
- package/test/node_modules/es-set-tostringtag/CHANGELOG.md +67 -0
- package/test/node_modules/es-set-tostringtag/LICENSE +21 -0
- package/test/node_modules/es-set-tostringtag/README.md +53 -0
- package/test/node_modules/es-set-tostringtag/index.d.ts +10 -0
- package/test/node_modules/es-set-tostringtag/index.js +35 -0
- package/test/node_modules/es-set-tostringtag/package.json +78 -0
- package/test/node_modules/es-set-tostringtag/test/index.js +85 -0
- package/test/node_modules/es-set-tostringtag/tsconfig.json +9 -0
- package/test/node_modules/escalade/dist/index.js +22 -0
- package/test/node_modules/escalade/dist/index.mjs +22 -0
- package/test/node_modules/escalade/index.d.mts +11 -0
- package/test/node_modules/escalade/index.d.ts +15 -0
- package/test/node_modules/escalade/license +9 -0
- package/test/node_modules/escalade/package.json +74 -0
- package/test/node_modules/escalade/readme.md +211 -0
- package/test/node_modules/escalade/sync/index.d.mts +9 -0
- package/test/node_modules/escalade/sync/index.d.ts +13 -0
- package/test/node_modules/escalade/sync/index.js +18 -0
- package/test/node_modules/escalade/sync/index.mjs +18 -0
- package/test/node_modules/escape-string-regexp/index.d.ts +18 -0
- package/test/node_modules/escape-string-regexp/index.js +13 -0
- package/test/node_modules/escape-string-regexp/license +9 -0
- package/test/node_modules/escape-string-regexp/package.json +38 -0
- package/test/node_modules/escape-string-regexp/readme.md +34 -0
- package/test/node_modules/ethereum-cryptography/LICENSE +21 -0
- package/test/node_modules/ethereum-cryptography/README.md +509 -0
- package/test/node_modules/ethereum-cryptography/aes.d.ts +2 -0
- package/test/node_modules/ethereum-cryptography/aes.js +97 -0
- package/test/node_modules/ethereum-cryptography/bip39/index.d.ts +1 -0
- package/test/node_modules/ethereum-cryptography/bip39/index.js +10 -0
- package/test/node_modules/ethereum-cryptography/bip39/wordlists/czech.d.ts +1 -0
- package/test/node_modules/ethereum-cryptography/bip39/wordlists/czech.js +5 -0
- package/test/node_modules/ethereum-cryptography/bip39/wordlists/english.d.ts +1 -0
- package/test/node_modules/ethereum-cryptography/bip39/wordlists/english.js +5 -0
- package/test/node_modules/ethereum-cryptography/bip39/wordlists/french.d.ts +1 -0
- package/test/node_modules/ethereum-cryptography/bip39/wordlists/french.js +5 -0
- package/test/node_modules/ethereum-cryptography/bip39/wordlists/italian.d.ts +1 -0
- package/test/node_modules/ethereum-cryptography/bip39/wordlists/italian.js +5 -0
- package/test/node_modules/ethereum-cryptography/bip39/wordlists/japanese.d.ts +1 -0
- package/test/node_modules/ethereum-cryptography/bip39/wordlists/japanese.js +5 -0
- package/test/node_modules/ethereum-cryptography/bip39/wordlists/korean.d.ts +1 -0
- package/test/node_modules/ethereum-cryptography/bip39/wordlists/korean.js +5 -0
- package/test/node_modules/ethereum-cryptography/bip39/wordlists/simplified-chinese.d.ts +1 -0
- package/test/node_modules/ethereum-cryptography/bip39/wordlists/simplified-chinese.js +5 -0
- package/test/node_modules/ethereum-cryptography/bip39/wordlists/spanish.d.ts +1 -0
- package/test/node_modules/ethereum-cryptography/bip39/wordlists/spanish.js +5 -0
- package/test/node_modules/ethereum-cryptography/bip39/wordlists/traditional-chinese.d.ts +1 -0
- package/test/node_modules/ethereum-cryptography/bip39/wordlists/traditional-chinese.js +5 -0
- package/test/node_modules/ethereum-cryptography/blake2b.d.ts +1 -0
- package/test/node_modules/ethereum-cryptography/blake2b.js +13 -0
- package/test/node_modules/ethereum-cryptography/esm/aes.js +93 -0
- package/test/node_modules/ethereum-cryptography/esm/bip39/index.js +1 -0
- package/test/node_modules/ethereum-cryptography/esm/bip39/wordlists/czech.js +1 -0
- package/test/node_modules/ethereum-cryptography/esm/bip39/wordlists/english.js +1 -0
- package/test/node_modules/ethereum-cryptography/esm/bip39/wordlists/french.js +1 -0
- package/test/node_modules/ethereum-cryptography/esm/bip39/wordlists/italian.js +1 -0
- package/test/node_modules/ethereum-cryptography/esm/bip39/wordlists/japanese.js +1 -0
- package/test/node_modules/ethereum-cryptography/esm/bip39/wordlists/korean.js +1 -0
- package/test/node_modules/ethereum-cryptography/esm/bip39/wordlists/simplified-chinese.js +1 -0
- package/test/node_modules/ethereum-cryptography/esm/bip39/wordlists/spanish.js +1 -0
- package/test/node_modules/ethereum-cryptography/esm/bip39/wordlists/traditional-chinese.js +1 -0
- package/test/node_modules/ethereum-cryptography/esm/blake2b.js +9 -0
- package/test/node_modules/ethereum-cryptography/esm/hdkey.js +1 -0
- package/test/node_modules/ethereum-cryptography/esm/index.js +2 -0
- package/test/node_modules/ethereum-cryptography/esm/keccak.js +10 -0
- package/test/node_modules/ethereum-cryptography/esm/package.json +3 -0
- package/test/node_modules/ethereum-cryptography/esm/pbkdf2.js +26 -0
- package/test/node_modules/ethereum-cryptography/esm/random.js +7 -0
- package/test/node_modules/ethereum-cryptography/esm/ripemd160.js +3 -0
- package/test/node_modules/ethereum-cryptography/esm/scrypt.js +12 -0
- package/test/node_modules/ethereum-cryptography/esm/secp256k1-compat.js +254 -0
- package/test/node_modules/ethereum-cryptography/esm/secp256k1.js +1 -0
- package/test/node_modules/ethereum-cryptography/esm/sha256.js +3 -0
- package/test/node_modules/ethereum-cryptography/esm/sha512.js +3 -0
- package/test/node_modules/ethereum-cryptography/esm/utils.js +47 -0
- package/test/node_modules/ethereum-cryptography/hdkey.d.ts +1 -0
- package/test/node_modules/ethereum-cryptography/hdkey.js +6 -0
- package/test/node_modules/ethereum-cryptography/index.d.ts +0 -0
- package/test/node_modules/ethereum-cryptography/index.js +2 -0
- package/test/node_modules/ethereum-cryptography/keccak.d.ts +11 -0
- package/test/node_modules/ethereum-cryptography/keccak.js +13 -0
- package/test/node_modules/ethereum-cryptography/package.json +369 -0
- package/test/node_modules/ethereum-cryptography/pbkdf2.d.ts +2 -0
- package/test/node_modules/ethereum-cryptography/pbkdf2.js +30 -0
- package/test/node_modules/ethereum-cryptography/random.d.ts +2 -0
- package/test/node_modules/ethereum-cryptography/random.js +11 -0
- package/test/node_modules/ethereum-cryptography/ripemd160.d.ts +1 -0
- package/test/node_modules/ethereum-cryptography/ripemd160.js +6 -0
- package/test/node_modules/ethereum-cryptography/scrypt.d.ts +4 -0
- package/test/node_modules/ethereum-cryptography/scrypt.js +16 -0
- package/test/node_modules/ethereum-cryptography/secp256k1-compat.d.ts +35 -0
- package/test/node_modules/ethereum-cryptography/secp256k1-compat.js +277 -0
- package/test/node_modules/ethereum-cryptography/secp256k1.d.ts +1 -0
- package/test/node_modules/ethereum-cryptography/secp256k1.js +5 -0
- package/test/node_modules/ethereum-cryptography/sha256.d.ts +1 -0
- package/test/node_modules/ethereum-cryptography/sha256.js +6 -0
- package/test/node_modules/ethereum-cryptography/sha512.d.ts +1 -0
- package/test/node_modules/ethereum-cryptography/sha512.js +6 -0
- package/test/node_modules/ethereum-cryptography/utils.d.ts +12 -0
- package/test/node_modules/ethereum-cryptography/utils.js +63 -0
- package/test/node_modules/fast-safe-stringify/.travis.yml +8 -0
- package/test/node_modules/fast-safe-stringify/CHANGELOG.md +17 -0
- package/test/node_modules/fast-safe-stringify/LICENSE +23 -0
- package/test/node_modules/fast-safe-stringify/benchmark.js +137 -0
- package/test/node_modules/fast-safe-stringify/index.d.ts +23 -0
- package/test/node_modules/fast-safe-stringify/index.js +229 -0
- package/test/node_modules/fast-safe-stringify/package.json +46 -0
- package/test/node_modules/fast-safe-stringify/readme.md +170 -0
- package/test/node_modules/fast-safe-stringify/test-stable.js +404 -0
- package/test/node_modules/fast-safe-stringify/test.js +397 -0
- package/test/node_modules/fetch-blob/LICENSE +21 -0
- package/test/node_modules/fetch-blob/README.md +106 -0
- package/test/node_modules/fetch-blob/file.d.ts +2 -0
- package/test/node_modules/fetch-blob/file.js +49 -0
- package/test/node_modules/fetch-blob/from.d.ts +26 -0
- package/test/node_modules/fetch-blob/from.js +100 -0
- package/test/node_modules/fetch-blob/index.d.ts +3 -0
- package/test/node_modules/fetch-blob/index.js +250 -0
- package/test/node_modules/fetch-blob/package.json +56 -0
- package/test/node_modules/fetch-blob/streams.cjs +51 -0
- package/test/node_modules/fill-range/LICENSE +21 -0
- package/test/node_modules/fill-range/README.md +237 -0
- package/test/node_modules/fill-range/index.js +248 -0
- package/test/node_modules/fill-range/package.json +74 -0
- package/test/node_modules/find-up/index.d.ts +138 -0
- package/test/node_modules/find-up/index.js +89 -0
- package/test/node_modules/find-up/license +9 -0
- package/test/node_modules/find-up/package.json +54 -0
- package/test/node_modules/find-up/readme.md +151 -0
- package/test/node_modules/flat/.travis.yml +8 -0
- package/test/node_modules/flat/LICENSE +12 -0
- package/test/node_modules/flat/README.md +236 -0
- package/test/node_modules/flat/cli.js +42 -0
- package/test/node_modules/flat/index.js +158 -0
- package/test/node_modules/flat/package.json +37 -0
- package/test/node_modules/flat/test/test.js +643 -0
- package/test/node_modules/foreground-child/LICENSE +15 -0
- package/test/node_modules/foreground-child/README.md +128 -0
- package/test/node_modules/foreground-child/dist/commonjs/all-signals.d.ts +2 -0
- package/test/node_modules/foreground-child/dist/commonjs/all-signals.d.ts.map +1 -0
- package/test/node_modules/foreground-child/dist/commonjs/all-signals.js +58 -0
- package/test/node_modules/foreground-child/dist/commonjs/all-signals.js.map +1 -0
- package/test/node_modules/foreground-child/dist/commonjs/index.d.ts +58 -0
- package/test/node_modules/foreground-child/dist/commonjs/index.d.ts.map +1 -0
- package/test/node_modules/foreground-child/dist/commonjs/index.js +123 -0
- package/test/node_modules/foreground-child/dist/commonjs/index.js.map +1 -0
- package/test/node_modules/foreground-child/dist/commonjs/package.json +3 -0
- package/test/node_modules/foreground-child/dist/commonjs/proxy-signals.d.ts +6 -0
- package/test/node_modules/foreground-child/dist/commonjs/proxy-signals.d.ts.map +1 -0
- package/test/node_modules/foreground-child/dist/commonjs/proxy-signals.js +38 -0
- package/test/node_modules/foreground-child/dist/commonjs/proxy-signals.js.map +1 -0
- package/test/node_modules/foreground-child/dist/commonjs/watchdog.d.ts +10 -0
- package/test/node_modules/foreground-child/dist/commonjs/watchdog.d.ts.map +1 -0
- package/test/node_modules/foreground-child/dist/commonjs/watchdog.js +50 -0
- package/test/node_modules/foreground-child/dist/commonjs/watchdog.js.map +1 -0
- package/test/node_modules/foreground-child/dist/esm/all-signals.d.ts +2 -0
- package/test/node_modules/foreground-child/dist/esm/all-signals.d.ts.map +1 -0
- package/test/node_modules/foreground-child/dist/esm/all-signals.js +52 -0
- package/test/node_modules/foreground-child/dist/esm/all-signals.js.map +1 -0
- package/test/node_modules/foreground-child/dist/esm/index.d.ts +58 -0
- package/test/node_modules/foreground-child/dist/esm/index.d.ts.map +1 -0
- package/test/node_modules/foreground-child/dist/esm/index.js +115 -0
- package/test/node_modules/foreground-child/dist/esm/index.js.map +1 -0
- package/test/node_modules/foreground-child/dist/esm/package.json +3 -0
- package/test/node_modules/foreground-child/dist/esm/proxy-signals.d.ts +6 -0
- package/test/node_modules/foreground-child/dist/esm/proxy-signals.d.ts.map +1 -0
- package/test/node_modules/foreground-child/dist/esm/proxy-signals.js +34 -0
- package/test/node_modules/foreground-child/dist/esm/proxy-signals.js.map +1 -0
- package/test/node_modules/foreground-child/dist/esm/watchdog.d.ts +10 -0
- package/test/node_modules/foreground-child/dist/esm/watchdog.d.ts.map +1 -0
- package/test/node_modules/foreground-child/dist/esm/watchdog.js +46 -0
- package/test/node_modules/foreground-child/dist/esm/watchdog.js.map +1 -0
- package/test/node_modules/foreground-child/package.json +106 -0
- package/test/node_modules/form-data/License +19 -0
- package/test/node_modules/form-data/Readme.md +358 -0
- package/test/node_modules/form-data/index.d.ts +62 -0
- package/test/node_modules/form-data/lib/browser.js +2 -0
- package/test/node_modules/form-data/lib/form_data.js +503 -0
- package/test/node_modules/form-data/lib/populate.js +10 -0
- package/test/node_modules/form-data/package.json +74 -0
- package/test/node_modules/formdata-polyfill/FormData.js +441 -0
- package/test/node_modules/formdata-polyfill/LICENSE +21 -0
- package/test/node_modules/formdata-polyfill/README.md +145 -0
- package/test/node_modules/formdata-polyfill/esm.min.d.ts +5 -0
- package/test/node_modules/formdata-polyfill/esm.min.js +40 -0
- package/test/node_modules/formdata-polyfill/formdata-to-blob.js +39 -0
- package/test/node_modules/formdata-polyfill/formdata.min.js +21 -0
- package/test/node_modules/formdata-polyfill/package.json +50 -0
- package/test/node_modules/formidable/LICENSE +21 -0
- package/test/node_modules/formidable/README.md +884 -0
- package/test/node_modules/formidable/README_pt_BR.md +841 -0
- package/test/node_modules/formidable/dist/helpers/firstValues.cjs +394 -0
- package/test/node_modules/formidable/dist/helpers/readBooleans.cjs +12 -0
- package/test/node_modules/formidable/dist/index.cjs +1690 -0
- package/test/node_modules/formidable/dist/parsers/JSON.cjs +35 -0
- package/test/node_modules/formidable/dist/parsers/Multipart.cjs +372 -0
- package/test/node_modules/formidable/dist/parsers/OctetStream.cjs +14 -0
- package/test/node_modules/formidable/dist/parsers/Querystring.cjs +38 -0
- package/test/node_modules/formidable/dist/parsers/StreamingQuerystring.cjs +131 -0
- package/test/node_modules/formidable/package.json +140 -0
- package/test/node_modules/formidable/src/Formidable.js +684 -0
- package/test/node_modules/formidable/src/FormidableError.js +51 -0
- package/test/node_modules/formidable/src/PersistentFile.js +88 -0
- package/test/node_modules/formidable/src/VolatileFile.js +80 -0
- package/test/node_modules/formidable/src/helpers/firstValues.js +19 -0
- package/test/node_modules/formidable/src/helpers/readBooleans.js +10 -0
- package/test/node_modules/formidable/src/index.js +32 -0
- package/test/node_modules/formidable/src/parsers/Dummy.js +19 -0
- package/test/node_modules/formidable/src/parsers/JSON.js +30 -0
- package/test/node_modules/formidable/src/parsers/Multipart.js +356 -0
- package/test/node_modules/formidable/src/parsers/OctetStream.js +10 -0
- package/test/node_modules/formidable/src/parsers/Querystring.js +33 -0
- package/test/node_modules/formidable/src/parsers/StreamingQuerystring.js +117 -0
- package/test/node_modules/formidable/src/parsers/index.js +15 -0
- package/test/node_modules/formidable/src/plugins/index.js +6 -0
- package/test/node_modules/formidable/src/plugins/json.js +39 -0
- package/test/node_modules/formidable/src/plugins/multipart.js +173 -0
- package/test/node_modules/formidable/src/plugins/octetstream.js +84 -0
- package/test/node_modules/formidable/src/plugins/querystring.js +41 -0
- package/test/node_modules/fount-js/README.md +35 -0
- package/test/node_modules/fount-js/fount.cjs +145 -0
- package/test/node_modules/fount-js/fount.js +202 -0
- package/test/node_modules/fount-js/package.json +23 -0
- package/test/node_modules/fsevents/LICENSE +22 -0
- package/test/node_modules/fsevents/README.md +89 -0
- package/test/node_modules/fsevents/fsevents.d.ts +46 -0
- package/test/node_modules/fsevents/fsevents.js +83 -0
- package/test/node_modules/fsevents/fsevents.node +0 -0
- package/test/node_modules/fsevents/package.json +62 -0
- package/test/node_modules/function-bind/.eslintrc +21 -0
- package/test/node_modules/function-bind/.github/FUNDING.yml +12 -0
- package/test/node_modules/function-bind/.github/SECURITY.md +3 -0
- package/test/node_modules/function-bind/.nycrc +13 -0
- package/test/node_modules/function-bind/CHANGELOG.md +136 -0
- package/test/node_modules/function-bind/LICENSE +20 -0
- package/test/node_modules/function-bind/README.md +46 -0
- package/test/node_modules/function-bind/implementation.js +84 -0
- package/test/node_modules/function-bind/index.js +5 -0
- package/test/node_modules/function-bind/package.json +87 -0
- package/test/node_modules/function-bind/test/.eslintrc +9 -0
- package/test/node_modules/function-bind/test/index.js +252 -0
- package/test/node_modules/get-caller-file/LICENSE.md +6 -0
- package/test/node_modules/get-caller-file/README.md +41 -0
- package/test/node_modules/get-caller-file/index.d.ts +2 -0
- package/test/node_modules/get-caller-file/index.js +22 -0
- package/test/node_modules/get-caller-file/index.js.map +1 -0
- package/test/node_modules/get-caller-file/package.json +42 -0
- package/test/node_modules/get-intrinsic/.eslintrc +42 -0
- package/test/node_modules/get-intrinsic/.github/FUNDING.yml +12 -0
- package/test/node_modules/get-intrinsic/.nycrc +9 -0
- package/test/node_modules/get-intrinsic/CHANGELOG.md +186 -0
- package/test/node_modules/get-intrinsic/LICENSE +21 -0
- package/test/node_modules/get-intrinsic/README.md +71 -0
- package/test/node_modules/get-intrinsic/index.js +378 -0
- package/test/node_modules/get-intrinsic/package.json +97 -0
- package/test/node_modules/get-intrinsic/test/GetIntrinsic.js +274 -0
- package/test/node_modules/get-proto/.eslintrc +10 -0
- package/test/node_modules/get-proto/.github/FUNDING.yml +12 -0
- package/test/node_modules/get-proto/.nycrc +9 -0
- package/test/node_modules/get-proto/CHANGELOG.md +21 -0
- package/test/node_modules/get-proto/LICENSE +21 -0
- package/test/node_modules/get-proto/Object.getPrototypeOf.d.ts +5 -0
- package/test/node_modules/get-proto/Object.getPrototypeOf.js +6 -0
- package/test/node_modules/get-proto/README.md +50 -0
- package/test/node_modules/get-proto/Reflect.getPrototypeOf.d.ts +3 -0
- package/test/node_modules/get-proto/Reflect.getPrototypeOf.js +4 -0
- package/test/node_modules/get-proto/index.d.ts +5 -0
- package/test/node_modules/get-proto/index.js +27 -0
- package/test/node_modules/get-proto/package.json +81 -0
- package/test/node_modules/get-proto/test/index.js +68 -0
- package/test/node_modules/get-proto/tsconfig.json +9 -0
- package/test/node_modules/glob/LICENSE +15 -0
- package/test/node_modules/glob/README.md +1265 -0
- package/test/node_modules/glob/dist/commonjs/glob.d.ts +388 -0
- package/test/node_modules/glob/dist/commonjs/glob.d.ts.map +1 -0
- package/test/node_modules/glob/dist/commonjs/glob.js +247 -0
- package/test/node_modules/glob/dist/commonjs/glob.js.map +1 -0
- package/test/node_modules/glob/dist/commonjs/has-magic.d.ts +14 -0
- package/test/node_modules/glob/dist/commonjs/has-magic.d.ts.map +1 -0
- package/test/node_modules/glob/dist/commonjs/has-magic.js +27 -0
- package/test/node_modules/glob/dist/commonjs/has-magic.js.map +1 -0
- package/test/node_modules/glob/dist/commonjs/ignore.d.ts +24 -0
- package/test/node_modules/glob/dist/commonjs/ignore.d.ts.map +1 -0
- package/test/node_modules/glob/dist/commonjs/ignore.js +119 -0
- package/test/node_modules/glob/dist/commonjs/ignore.js.map +1 -0
- package/test/node_modules/glob/dist/commonjs/index.d.ts +97 -0
- package/test/node_modules/glob/dist/commonjs/index.d.ts.map +1 -0
- package/test/node_modules/glob/dist/commonjs/index.js +68 -0
- package/test/node_modules/glob/dist/commonjs/index.js.map +1 -0
- package/test/node_modules/glob/dist/commonjs/package.json +3 -0
- package/test/node_modules/glob/dist/commonjs/pattern.d.ts +76 -0
- package/test/node_modules/glob/dist/commonjs/pattern.d.ts.map +1 -0
- package/test/node_modules/glob/dist/commonjs/pattern.js +219 -0
- package/test/node_modules/glob/dist/commonjs/pattern.js.map +1 -0
- package/test/node_modules/glob/dist/commonjs/processor.d.ts +59 -0
- package/test/node_modules/glob/dist/commonjs/processor.d.ts.map +1 -0
- package/test/node_modules/glob/dist/commonjs/processor.js +301 -0
- package/test/node_modules/glob/dist/commonjs/processor.js.map +1 -0
- package/test/node_modules/glob/dist/commonjs/walker.d.ts +97 -0
- package/test/node_modules/glob/dist/commonjs/walker.d.ts.map +1 -0
- package/test/node_modules/glob/dist/commonjs/walker.js +387 -0
- package/test/node_modules/glob/dist/commonjs/walker.js.map +1 -0
- package/test/node_modules/glob/dist/esm/bin.d.mts +3 -0
- package/test/node_modules/glob/dist/esm/bin.d.mts.map +1 -0
- package/test/node_modules/glob/dist/esm/bin.mjs +270 -0
- package/test/node_modules/glob/dist/esm/bin.mjs.map +1 -0
- package/test/node_modules/glob/dist/esm/glob.d.ts +388 -0
- package/test/node_modules/glob/dist/esm/glob.d.ts.map +1 -0
- package/test/node_modules/glob/dist/esm/glob.js +243 -0
- package/test/node_modules/glob/dist/esm/glob.js.map +1 -0
- package/test/node_modules/glob/dist/esm/has-magic.d.ts +14 -0
- package/test/node_modules/glob/dist/esm/has-magic.d.ts.map +1 -0
- package/test/node_modules/glob/dist/esm/has-magic.js +23 -0
- package/test/node_modules/glob/dist/esm/has-magic.js.map +1 -0
- package/test/node_modules/glob/dist/esm/ignore.d.ts +24 -0
- package/test/node_modules/glob/dist/esm/ignore.d.ts.map +1 -0
- package/test/node_modules/glob/dist/esm/ignore.js +115 -0
- package/test/node_modules/glob/dist/esm/ignore.js.map +1 -0
- package/test/node_modules/glob/dist/esm/index.d.ts +97 -0
- package/test/node_modules/glob/dist/esm/index.d.ts.map +1 -0
- package/test/node_modules/glob/dist/esm/index.js +55 -0
- package/test/node_modules/glob/dist/esm/index.js.map +1 -0
- package/test/node_modules/glob/dist/esm/package.json +3 -0
- package/test/node_modules/glob/dist/esm/pattern.d.ts +76 -0
- package/test/node_modules/glob/dist/esm/pattern.d.ts.map +1 -0
- package/test/node_modules/glob/dist/esm/pattern.js +215 -0
- package/test/node_modules/glob/dist/esm/pattern.js.map +1 -0
- package/test/node_modules/glob/dist/esm/processor.d.ts +59 -0
- package/test/node_modules/glob/dist/esm/processor.d.ts.map +1 -0
- package/test/node_modules/glob/dist/esm/processor.js +294 -0
- package/test/node_modules/glob/dist/esm/processor.js.map +1 -0
- package/test/node_modules/glob/dist/esm/walker.d.ts +97 -0
- package/test/node_modules/glob/dist/esm/walker.d.ts.map +1 -0
- package/test/node_modules/glob/dist/esm/walker.js +381 -0
- package/test/node_modules/glob/dist/esm/walker.js.map +1 -0
- package/test/node_modules/glob/node_modules/minimatch/LICENSE +15 -0
- package/test/node_modules/glob/node_modules/minimatch/README.md +454 -0
- package/test/node_modules/glob/node_modules/minimatch/dist/commonjs/assert-valid-pattern.d.ts +2 -0
- package/test/node_modules/glob/node_modules/minimatch/dist/commonjs/assert-valid-pattern.d.ts.map +1 -0
- package/test/node_modules/glob/node_modules/minimatch/dist/commonjs/assert-valid-pattern.js +14 -0
- package/test/node_modules/glob/node_modules/minimatch/dist/commonjs/assert-valid-pattern.js.map +1 -0
- package/test/node_modules/glob/node_modules/minimatch/dist/commonjs/ast.d.ts +20 -0
- package/test/node_modules/glob/node_modules/minimatch/dist/commonjs/ast.d.ts.map +1 -0
- package/test/node_modules/glob/node_modules/minimatch/dist/commonjs/ast.js +592 -0
- package/test/node_modules/glob/node_modules/minimatch/dist/commonjs/ast.js.map +1 -0
- package/test/node_modules/glob/node_modules/minimatch/dist/commonjs/brace-expressions.d.ts +8 -0
- package/test/node_modules/glob/node_modules/minimatch/dist/commonjs/brace-expressions.d.ts.map +1 -0
- package/test/node_modules/glob/node_modules/minimatch/dist/commonjs/brace-expressions.js +152 -0
- package/test/node_modules/glob/node_modules/minimatch/dist/commonjs/brace-expressions.js.map +1 -0
- package/test/node_modules/glob/node_modules/minimatch/dist/commonjs/escape.d.ts +12 -0
- package/test/node_modules/glob/node_modules/minimatch/dist/commonjs/escape.d.ts.map +1 -0
- package/test/node_modules/glob/node_modules/minimatch/dist/commonjs/escape.js +22 -0
- package/test/node_modules/glob/node_modules/minimatch/dist/commonjs/escape.js.map +1 -0
- package/test/node_modules/glob/node_modules/minimatch/dist/commonjs/index.d.ts +94 -0
- package/test/node_modules/glob/node_modules/minimatch/dist/commonjs/index.d.ts.map +1 -0
- package/test/node_modules/glob/node_modules/minimatch/dist/commonjs/index.js +1017 -0
- package/test/node_modules/glob/node_modules/minimatch/dist/commonjs/index.js.map +1 -0
- package/test/node_modules/glob/node_modules/minimatch/dist/commonjs/package.json +3 -0
- package/test/node_modules/glob/node_modules/minimatch/dist/commonjs/unescape.d.ts +17 -0
- package/test/node_modules/glob/node_modules/minimatch/dist/commonjs/unescape.d.ts.map +1 -0
- package/test/node_modules/glob/node_modules/minimatch/dist/commonjs/unescape.js +24 -0
- package/test/node_modules/glob/node_modules/minimatch/dist/commonjs/unescape.js.map +1 -0
- package/test/node_modules/glob/node_modules/minimatch/dist/esm/assert-valid-pattern.d.ts +2 -0
- package/test/node_modules/glob/node_modules/minimatch/dist/esm/assert-valid-pattern.d.ts.map +1 -0
- package/test/node_modules/glob/node_modules/minimatch/dist/esm/assert-valid-pattern.js +10 -0
- package/test/node_modules/glob/node_modules/minimatch/dist/esm/assert-valid-pattern.js.map +1 -0
- package/test/node_modules/glob/node_modules/minimatch/dist/esm/ast.d.ts +20 -0
- package/test/node_modules/glob/node_modules/minimatch/dist/esm/ast.d.ts.map +1 -0
- package/test/node_modules/glob/node_modules/minimatch/dist/esm/ast.js +588 -0
- package/test/node_modules/glob/node_modules/minimatch/dist/esm/ast.js.map +1 -0
- package/test/node_modules/glob/node_modules/minimatch/dist/esm/brace-expressions.d.ts +8 -0
- package/test/node_modules/glob/node_modules/minimatch/dist/esm/brace-expressions.d.ts.map +1 -0
- package/test/node_modules/glob/node_modules/minimatch/dist/esm/brace-expressions.js +148 -0
- package/test/node_modules/glob/node_modules/minimatch/dist/esm/brace-expressions.js.map +1 -0
- package/test/node_modules/glob/node_modules/minimatch/dist/esm/escape.d.ts +12 -0
- package/test/node_modules/glob/node_modules/minimatch/dist/esm/escape.d.ts.map +1 -0
- package/test/node_modules/glob/node_modules/minimatch/dist/esm/escape.js +18 -0
- package/test/node_modules/glob/node_modules/minimatch/dist/esm/escape.js.map +1 -0
- package/test/node_modules/glob/node_modules/minimatch/dist/esm/index.d.ts +94 -0
- package/test/node_modules/glob/node_modules/minimatch/dist/esm/index.d.ts.map +1 -0
- package/test/node_modules/glob/node_modules/minimatch/dist/esm/index.js +1001 -0
- package/test/node_modules/glob/node_modules/minimatch/dist/esm/index.js.map +1 -0
- package/test/node_modules/glob/node_modules/minimatch/dist/esm/package.json +3 -0
- package/test/node_modules/glob/node_modules/minimatch/dist/esm/unescape.d.ts +17 -0
- package/test/node_modules/glob/node_modules/minimatch/dist/esm/unescape.d.ts.map +1 -0
- package/test/node_modules/glob/node_modules/minimatch/dist/esm/unescape.js +20 -0
- package/test/node_modules/glob/node_modules/minimatch/dist/esm/unescape.js.map +1 -0
- package/test/node_modules/glob/node_modules/minimatch/package.json +82 -0
- package/test/node_modules/glob/package.json +99 -0
- package/test/node_modules/glob-parent/CHANGELOG.md +110 -0
- package/test/node_modules/glob-parent/LICENSE +15 -0
- package/test/node_modules/glob-parent/README.md +137 -0
- package/test/node_modules/glob-parent/index.js +42 -0
- package/test/node_modules/glob-parent/package.json +48 -0
- package/test/node_modules/gopd/.eslintrc +16 -0
- package/test/node_modules/gopd/.github/FUNDING.yml +12 -0
- package/test/node_modules/gopd/CHANGELOG.md +45 -0
- package/test/node_modules/gopd/LICENSE +21 -0
- package/test/node_modules/gopd/README.md +40 -0
- package/test/node_modules/gopd/gOPD.d.ts +1 -0
- package/test/node_modules/gopd/gOPD.js +4 -0
- package/test/node_modules/gopd/index.d.ts +5 -0
- package/test/node_modules/gopd/index.js +15 -0
- package/test/node_modules/gopd/package.json +77 -0
- package/test/node_modules/gopd/test/index.js +36 -0
- package/test/node_modules/gopd/tsconfig.json +9 -0
- package/test/node_modules/has-flag/index.d.ts +39 -0
- package/test/node_modules/has-flag/index.js +8 -0
- package/test/node_modules/has-flag/license +9 -0
- package/test/node_modules/has-flag/package.json +46 -0
- package/test/node_modules/has-flag/readme.md +89 -0
- package/test/node_modules/has-symbols/.eslintrc +11 -0
- package/test/node_modules/has-symbols/.github/FUNDING.yml +12 -0
- package/test/node_modules/has-symbols/.nycrc +9 -0
- package/test/node_modules/has-symbols/CHANGELOG.md +91 -0
- package/test/node_modules/has-symbols/LICENSE +21 -0
- package/test/node_modules/has-symbols/README.md +46 -0
- package/test/node_modules/has-symbols/index.d.ts +3 -0
- package/test/node_modules/has-symbols/index.js +14 -0
- package/test/node_modules/has-symbols/package.json +111 -0
- package/test/node_modules/has-symbols/shams.d.ts +3 -0
- package/test/node_modules/has-symbols/shams.js +45 -0
- package/test/node_modules/has-symbols/test/index.js +22 -0
- package/test/node_modules/has-symbols/test/shams/core-js.js +29 -0
- package/test/node_modules/has-symbols/test/shams/get-own-property-symbols.js +29 -0
- package/test/node_modules/has-symbols/test/tests.js +58 -0
- package/test/node_modules/has-symbols/tsconfig.json +10 -0
- package/test/node_modules/has-tostringtag/.eslintrc +5 -0
- package/test/node_modules/has-tostringtag/.github/FUNDING.yml +12 -0
- package/test/node_modules/has-tostringtag/.nycrc +13 -0
- package/test/node_modules/has-tostringtag/CHANGELOG.md +42 -0
- package/test/node_modules/has-tostringtag/LICENSE +21 -0
- package/test/node_modules/has-tostringtag/README.md +46 -0
- package/test/node_modules/has-tostringtag/index.d.ts +3 -0
- package/test/node_modules/has-tostringtag/index.js +8 -0
- package/test/node_modules/has-tostringtag/package.json +108 -0
- package/test/node_modules/has-tostringtag/shams.d.ts +3 -0
- package/test/node_modules/has-tostringtag/shams.js +8 -0
- package/test/node_modules/has-tostringtag/test/index.js +21 -0
- package/test/node_modules/has-tostringtag/test/shams/core-js.js +31 -0
- package/test/node_modules/has-tostringtag/test/shams/get-own-property-symbols.js +30 -0
- package/test/node_modules/has-tostringtag/test/tests.js +15 -0
- package/test/node_modules/has-tostringtag/tsconfig.json +49 -0
- package/test/node_modules/hasown/.eslintrc +5 -0
- package/test/node_modules/hasown/.github/FUNDING.yml +12 -0
- package/test/node_modules/hasown/.nycrc +13 -0
- package/test/node_modules/hasown/CHANGELOG.md +40 -0
- package/test/node_modules/hasown/LICENSE +21 -0
- package/test/node_modules/hasown/README.md +40 -0
- package/test/node_modules/hasown/index.d.ts +3 -0
- package/test/node_modules/hasown/index.js +8 -0
- package/test/node_modules/hasown/package.json +92 -0
- package/test/node_modules/hasown/tsconfig.json +6 -0
- package/test/node_modules/he/LICENSE-MIT.txt +20 -0
- package/test/node_modules/he/README.md +379 -0
- package/test/node_modules/he/bin/he +148 -0
- package/test/node_modules/he/he.js +345 -0
- package/test/node_modules/he/man/he.1 +78 -0
- package/test/node_modules/he/package.json +58 -0
- package/test/node_modules/hexoid/dist/index.d.ts +1 -0
- package/test/node_modules/hexoid/dist/index.js +1 -0
- package/test/node_modules/hexoid/dist/index.mjs +1 -0
- package/test/node_modules/hexoid/license +9 -0
- package/test/node_modules/hexoid/package.json +45 -0
- package/test/node_modules/hexoid/readme.md +118 -0
- package/test/node_modules/is-binary-path/index.d.ts +17 -0
- package/test/node_modules/is-binary-path/index.js +7 -0
- package/test/node_modules/is-binary-path/license +9 -0
- package/test/node_modules/is-binary-path/package.json +40 -0
- package/test/node_modules/is-binary-path/readme.md +34 -0
- package/test/node_modules/is-extglob/LICENSE +21 -0
- package/test/node_modules/is-extglob/README.md +107 -0
- package/test/node_modules/is-extglob/index.js +20 -0
- package/test/node_modules/is-extglob/package.json +69 -0
- package/test/node_modules/is-fullwidth-code-point/index.d.ts +17 -0
- package/test/node_modules/is-fullwidth-code-point/index.js +50 -0
- package/test/node_modules/is-fullwidth-code-point/license +9 -0
- package/test/node_modules/is-fullwidth-code-point/package.json +42 -0
- package/test/node_modules/is-fullwidth-code-point/readme.md +39 -0
- package/test/node_modules/is-glob/LICENSE +21 -0
- package/test/node_modules/is-glob/README.md +206 -0
- package/test/node_modules/is-glob/index.js +150 -0
- package/test/node_modules/is-glob/package.json +81 -0
- package/test/node_modules/is-number/LICENSE +21 -0
- package/test/node_modules/is-number/README.md +187 -0
- package/test/node_modules/is-number/index.js +18 -0
- package/test/node_modules/is-number/package.json +82 -0
- package/test/node_modules/is-plain-obj/index.d.ts +29 -0
- package/test/node_modules/is-plain-obj/index.js +10 -0
- package/test/node_modules/is-plain-obj/license +9 -0
- package/test/node_modules/is-plain-obj/package.json +38 -0
- package/test/node_modules/is-plain-obj/readme.md +54 -0
- package/test/node_modules/is-unicode-supported/index.d.ts +14 -0
- package/test/node_modules/is-unicode-supported/index.js +13 -0
- package/test/node_modules/is-unicode-supported/license +9 -0
- package/test/node_modules/is-unicode-supported/package.json +41 -0
- package/test/node_modules/is-unicode-supported/readme.md +35 -0
- package/test/node_modules/isexe/LICENSE +15 -0
- package/test/node_modules/isexe/README.md +51 -0
- package/test/node_modules/isexe/index.js +57 -0
- package/test/node_modules/isexe/mode.js +41 -0
- package/test/node_modules/isexe/package.json +31 -0
- package/test/node_modules/isexe/test/basic.js +221 -0
- package/test/node_modules/isexe/windows.js +42 -0
- package/test/node_modules/jackspeak/LICENSE.md +55 -0
- package/test/node_modules/jackspeak/README.md +357 -0
- package/test/node_modules/jackspeak/dist/commonjs/index.d.ts +315 -0
- package/test/node_modules/jackspeak/dist/commonjs/index.d.ts.map +1 -0
- package/test/node_modules/jackspeak/dist/commonjs/index.js +1010 -0
- package/test/node_modules/jackspeak/dist/commonjs/index.js.map +1 -0
- package/test/node_modules/jackspeak/dist/commonjs/package.json +3 -0
- package/test/node_modules/jackspeak/dist/commonjs/parse-args-cjs.cjs.map +1 -0
- package/test/node_modules/jackspeak/dist/commonjs/parse-args-cjs.d.cts.map +1 -0
- package/test/node_modules/jackspeak/dist/commonjs/parse-args.d.ts +4 -0
- package/test/node_modules/jackspeak/dist/commonjs/parse-args.js +50 -0
- package/test/node_modules/jackspeak/dist/esm/index.d.ts +315 -0
- package/test/node_modules/jackspeak/dist/esm/index.d.ts.map +1 -0
- package/test/node_modules/jackspeak/dist/esm/index.js +1000 -0
- package/test/node_modules/jackspeak/dist/esm/index.js.map +1 -0
- package/test/node_modules/jackspeak/dist/esm/package.json +3 -0
- package/test/node_modules/jackspeak/dist/esm/parse-args.d.ts +4 -0
- package/test/node_modules/jackspeak/dist/esm/parse-args.d.ts.map +1 -0
- package/test/node_modules/jackspeak/dist/esm/parse-args.js +26 -0
- package/test/node_modules/jackspeak/dist/esm/parse-args.js.map +1 -0
- package/test/node_modules/jackspeak/package.json +95 -0
- package/test/node_modules/js-yaml/CHANGELOG.md +616 -0
- package/test/node_modules/js-yaml/LICENSE +21 -0
- package/test/node_modules/js-yaml/README.md +246 -0
- package/test/node_modules/js-yaml/bin/js-yaml.js +126 -0
- package/test/node_modules/js-yaml/dist/js-yaml.js +3874 -0
- package/test/node_modules/js-yaml/dist/js-yaml.min.js +2 -0
- package/test/node_modules/js-yaml/dist/js-yaml.mjs +3851 -0
- package/test/node_modules/js-yaml/index.js +47 -0
- package/test/node_modules/js-yaml/lib/common.js +59 -0
- package/test/node_modules/js-yaml/lib/dumper.js +965 -0
- package/test/node_modules/js-yaml/lib/exception.js +55 -0
- package/test/node_modules/js-yaml/lib/loader.js +1727 -0
- package/test/node_modules/js-yaml/lib/schema/core.js +11 -0
- package/test/node_modules/js-yaml/lib/schema/default.js +22 -0
- package/test/node_modules/js-yaml/lib/schema/failsafe.js +17 -0
- package/test/node_modules/js-yaml/lib/schema/json.js +19 -0
- package/test/node_modules/js-yaml/lib/schema.js +121 -0
- package/test/node_modules/js-yaml/lib/snippet.js +101 -0
- package/test/node_modules/js-yaml/lib/type/binary.js +125 -0
- package/test/node_modules/js-yaml/lib/type/bool.js +35 -0
- package/test/node_modules/js-yaml/lib/type/float.js +97 -0
- package/test/node_modules/js-yaml/lib/type/int.js +156 -0
- package/test/node_modules/js-yaml/lib/type/map.js +8 -0
- package/test/node_modules/js-yaml/lib/type/merge.js +12 -0
- package/test/node_modules/js-yaml/lib/type/null.js +35 -0
- package/test/node_modules/js-yaml/lib/type/omap.js +44 -0
- package/test/node_modules/js-yaml/lib/type/pairs.js +53 -0
- package/test/node_modules/js-yaml/lib/type/seq.js +8 -0
- package/test/node_modules/js-yaml/lib/type/set.js +29 -0
- package/test/node_modules/js-yaml/lib/type/str.js +8 -0
- package/test/node_modules/js-yaml/lib/type/timestamp.js +88 -0
- package/test/node_modules/js-yaml/lib/type.js +66 -0
- package/test/node_modules/js-yaml/package.json +66 -0
- package/test/node_modules/locate-path/index.d.ts +83 -0
- package/test/node_modules/locate-path/index.js +68 -0
- package/test/node_modules/locate-path/license +9 -0
- package/test/node_modules/locate-path/package.json +46 -0
- package/test/node_modules/locate-path/readme.md +125 -0
- package/test/node_modules/log-symbols/browser.js +8 -0
- package/test/node_modules/log-symbols/index.d.ts +25 -0
- package/test/node_modules/log-symbols/index.js +19 -0
- package/test/node_modules/log-symbols/license +9 -0
- package/test/node_modules/log-symbols/package.json +52 -0
- package/test/node_modules/log-symbols/readme.md +51 -0
- package/test/node_modules/loupe/LICENSE +9 -0
- package/test/node_modules/loupe/README.md +63 -0
- package/test/node_modules/loupe/lib/arguments.d.ts +3 -0
- package/test/node_modules/loupe/lib/arguments.d.ts.map +1 -0
- package/test/node_modules/loupe/lib/arguments.js +7 -0
- package/test/node_modules/loupe/lib/array.d.ts +3 -0
- package/test/node_modules/loupe/lib/array.d.ts.map +1 -0
- package/test/node_modules/loupe/lib/array.js +16 -0
- package/test/node_modules/loupe/lib/bigint.d.ts +3 -0
- package/test/node_modules/loupe/lib/bigint.d.ts.map +1 -0
- package/test/node_modules/loupe/lib/bigint.js +7 -0
- package/test/node_modules/loupe/lib/class.d.ts +5 -0
- package/test/node_modules/loupe/lib/class.d.ts.map +1 -0
- package/test/node_modules/loupe/lib/class.js +15 -0
- package/test/node_modules/loupe/lib/date.d.ts +3 -0
- package/test/node_modules/loupe/lib/date.d.ts.map +1 -0
- package/test/node_modules/loupe/lib/date.js +11 -0
- package/test/node_modules/loupe/lib/error.d.ts +3 -0
- package/test/node_modules/loupe/lib/error.d.ts.map +1 -0
- package/test/node_modules/loupe/lib/error.js +35 -0
- package/test/node_modules/loupe/lib/function.d.ts +7 -0
- package/test/node_modules/loupe/lib/function.d.ts.map +1 -0
- package/test/node_modules/loupe/lib/function.js +9 -0
- package/test/node_modules/loupe/lib/helpers.d.ts +7 -0
- package/test/node_modules/loupe/lib/helpers.d.ts.map +1 -0
- package/test/node_modules/loupe/lib/helpers.js +159 -0
- package/test/node_modules/loupe/lib/html.d.ts +5 -0
- package/test/node_modules/loupe/lib/html.d.ts.map +1 -0
- package/test/node_modules/loupe/lib/html.js +34 -0
- package/test/node_modules/loupe/lib/index.d.ts +7 -0
- package/test/node_modules/loupe/lib/index.d.ts.map +1 -0
- package/test/node_modules/loupe/lib/index.js +161 -0
- package/test/node_modules/loupe/lib/map.d.ts +3 -0
- package/test/node_modules/loupe/lib/map.d.ts.map +1 -0
- package/test/node_modules/loupe/lib/map.js +22 -0
- package/test/node_modules/loupe/lib/number.d.ts +3 -0
- package/test/node_modules/loupe/lib/number.d.ts.map +1 -0
- package/test/node_modules/loupe/lib/number.js +17 -0
- package/test/node_modules/loupe/lib/object.d.ts +3 -0
- package/test/node_modules/loupe/lib/object.d.ts.map +1 -0
- package/test/node_modules/loupe/lib/object.js +22 -0
- package/test/node_modules/loupe/lib/promise.d.ts +5 -0
- package/test/node_modules/loupe/lib/promise.d.ts.map +1 -0
- package/test/node_modules/loupe/lib/promise.js +18 -0
- package/test/node_modules/loupe/lib/regexp.d.ts +3 -0
- package/test/node_modules/loupe/lib/regexp.d.ts.map +1 -0
- package/test/node_modules/loupe/lib/regexp.js +7 -0
- package/test/node_modules/loupe/lib/set.d.ts +3 -0
- package/test/node_modules/loupe/lib/set.d.ts.map +1 -0
- package/test/node_modules/loupe/lib/set.js +15 -0
- package/test/node_modules/loupe/lib/string.d.ts +3 -0
- package/test/node_modules/loupe/lib/string.d.ts.map +1 -0
- package/test/node_modules/loupe/lib/string.js +24 -0
- package/test/node_modules/loupe/lib/symbol.d.ts +2 -0
- package/test/node_modules/loupe/lib/symbol.d.ts.map +1 -0
- package/test/node_modules/loupe/lib/symbol.js +6 -0
- package/test/node_modules/loupe/lib/typedarray.d.ts +5 -0
- package/test/node_modules/loupe/lib/typedarray.d.ts.map +1 -0
- package/test/node_modules/loupe/lib/typedarray.js +38 -0
- package/test/node_modules/loupe/lib/types.d.ts +15 -0
- package/test/node_modules/loupe/lib/types.d.ts.map +1 -0
- package/test/node_modules/loupe/lib/types.js +1 -0
- package/test/node_modules/loupe/loupe.js +640 -0
- package/test/node_modules/loupe/package.json +73 -0
- package/test/node_modules/lru-cache/LICENSE +15 -0
- package/test/node_modules/lru-cache/README.md +331 -0
- package/test/node_modules/lru-cache/dist/commonjs/index.d.ts +1277 -0
- package/test/node_modules/lru-cache/dist/commonjs/index.d.ts.map +1 -0
- package/test/node_modules/lru-cache/dist/commonjs/index.js +1546 -0
- package/test/node_modules/lru-cache/dist/commonjs/index.js.map +1 -0
- package/test/node_modules/lru-cache/dist/commonjs/index.min.js +2 -0
- package/test/node_modules/lru-cache/dist/commonjs/index.min.js.map +7 -0
- package/test/node_modules/lru-cache/dist/commonjs/package.json +3 -0
- package/test/node_modules/lru-cache/dist/esm/index.d.ts +1277 -0
- package/test/node_modules/lru-cache/dist/esm/index.d.ts.map +1 -0
- package/test/node_modules/lru-cache/dist/esm/index.js +1542 -0
- package/test/node_modules/lru-cache/dist/esm/index.js.map +1 -0
- package/test/node_modules/lru-cache/dist/esm/index.min.js +2 -0
- package/test/node_modules/lru-cache/dist/esm/index.min.js.map +7 -0
- package/test/node_modules/lru-cache/dist/esm/package.json +3 -0
- package/test/node_modules/lru-cache/package.json +116 -0
- package/test/node_modules/math-intrinsics/.eslintrc +16 -0
- package/test/node_modules/math-intrinsics/.github/FUNDING.yml +12 -0
- package/test/node_modules/math-intrinsics/CHANGELOG.md +24 -0
- package/test/node_modules/math-intrinsics/LICENSE +21 -0
- package/test/node_modules/math-intrinsics/README.md +50 -0
- package/test/node_modules/math-intrinsics/abs.d.ts +1 -0
- package/test/node_modules/math-intrinsics/abs.js +4 -0
- package/test/node_modules/math-intrinsics/constants/maxArrayLength.d.ts +3 -0
- package/test/node_modules/math-intrinsics/constants/maxArrayLength.js +4 -0
- package/test/node_modules/math-intrinsics/constants/maxSafeInteger.d.ts +3 -0
- package/test/node_modules/math-intrinsics/constants/maxSafeInteger.js +5 -0
- package/test/node_modules/math-intrinsics/constants/maxValue.d.ts +3 -0
- package/test/node_modules/math-intrinsics/constants/maxValue.js +5 -0
- package/test/node_modules/math-intrinsics/floor.d.ts +1 -0
- package/test/node_modules/math-intrinsics/floor.js +4 -0
- package/test/node_modules/math-intrinsics/isFinite.d.ts +3 -0
- package/test/node_modules/math-intrinsics/isFinite.js +12 -0
- package/test/node_modules/math-intrinsics/isInteger.d.ts +3 -0
- package/test/node_modules/math-intrinsics/isInteger.js +16 -0
- package/test/node_modules/math-intrinsics/isNaN.d.ts +1 -0
- package/test/node_modules/math-intrinsics/isNaN.js +6 -0
- package/test/node_modules/math-intrinsics/isNegativeZero.d.ts +3 -0
- package/test/node_modules/math-intrinsics/isNegativeZero.js +6 -0
- package/test/node_modules/math-intrinsics/max.d.ts +1 -0
- package/test/node_modules/math-intrinsics/max.js +4 -0
- package/test/node_modules/math-intrinsics/min.d.ts +1 -0
- package/test/node_modules/math-intrinsics/min.js +4 -0
- package/test/node_modules/math-intrinsics/mod.d.ts +3 -0
- package/test/node_modules/math-intrinsics/mod.js +9 -0
- package/test/node_modules/math-intrinsics/package.json +86 -0
- package/test/node_modules/math-intrinsics/pow.d.ts +1 -0
- package/test/node_modules/math-intrinsics/pow.js +4 -0
- package/test/node_modules/math-intrinsics/round.d.ts +1 -0
- package/test/node_modules/math-intrinsics/round.js +4 -0
- package/test/node_modules/math-intrinsics/sign.d.ts +3 -0
- package/test/node_modules/math-intrinsics/sign.js +11 -0
- package/test/node_modules/math-intrinsics/test/index.js +192 -0
- package/test/node_modules/math-intrinsics/tsconfig.json +3 -0
- package/test/node_modules/methods/HISTORY.md +29 -0
- package/test/node_modules/methods/LICENSE +24 -0
- package/test/node_modules/methods/README.md +51 -0
- package/test/node_modules/methods/index.js +69 -0
- package/test/node_modules/methods/package.json +36 -0
- package/test/node_modules/mime/CHANGELOG.md +296 -0
- package/test/node_modules/mime/LICENSE +21 -0
- package/test/node_modules/mime/Mime.js +97 -0
- package/test/node_modules/mime/README.md +187 -0
- package/test/node_modules/mime/cli.js +46 -0
- package/test/node_modules/mime/index.js +4 -0
- package/test/node_modules/mime/lite.js +4 -0
- package/test/node_modules/mime/package.json +52 -0
- package/test/node_modules/mime/types/other.js +1 -0
- package/test/node_modules/mime/types/standard.js +1 -0
- package/test/node_modules/mime-db/HISTORY.md +507 -0
- package/test/node_modules/mime-db/LICENSE +23 -0
- package/test/node_modules/mime-db/README.md +100 -0
- package/test/node_modules/mime-db/db.json +8519 -0
- package/test/node_modules/mime-db/index.js +12 -0
- package/test/node_modules/mime-db/package.json +60 -0
- package/test/node_modules/mime-types/HISTORY.md +397 -0
- package/test/node_modules/mime-types/LICENSE +23 -0
- package/test/node_modules/mime-types/README.md +113 -0
- package/test/node_modules/mime-types/index.js +188 -0
- package/test/node_modules/mime-types/package.json +44 -0
- package/test/node_modules/minimatch/LICENSE +15 -0
- package/test/node_modules/minimatch/README.md +259 -0
- package/test/node_modules/minimatch/lib/path.js +4 -0
- package/test/node_modules/minimatch/minimatch.js +944 -0
- package/test/node_modules/minimatch/package.json +35 -0
- package/test/node_modules/minipass/LICENSE +15 -0
- package/test/node_modules/minipass/README.md +825 -0
- package/test/node_modules/minipass/dist/commonjs/index.d.ts +549 -0
- package/test/node_modules/minipass/dist/commonjs/index.d.ts.map +1 -0
- package/test/node_modules/minipass/dist/commonjs/index.js +1028 -0
- package/test/node_modules/minipass/dist/commonjs/index.js.map +1 -0
- package/test/node_modules/minipass/dist/commonjs/package.json +3 -0
- package/test/node_modules/minipass/dist/esm/index.d.ts +549 -0
- package/test/node_modules/minipass/dist/esm/index.d.ts.map +1 -0
- package/test/node_modules/minipass/dist/esm/index.js +1018 -0
- package/test/node_modules/minipass/dist/esm/index.js.map +1 -0
- package/test/node_modules/minipass/dist/esm/package.json +3 -0
- package/test/node_modules/minipass/package.json +82 -0
- package/test/node_modules/mocha/LICENSE +22 -0
- package/test/node_modules/mocha/README.md +74 -0
- package/test/node_modules/mocha/bin/_mocha +10 -0
- package/test/node_modules/mocha/bin/mocha.js +142 -0
- package/test/node_modules/mocha/browser-entry.js +226 -0
- package/test/node_modules/mocha/index.js +3 -0
- package/test/node_modules/mocha/lib/browser/highlight-tags.js +39 -0
- package/test/node_modules/mocha/lib/browser/parse-query.js +24 -0
- package/test/node_modules/mocha/lib/browser/template.html +20 -0
- package/test/node_modules/mocha/lib/cli/cli.js +93 -0
- package/test/node_modules/mocha/lib/cli/collect-files.js +137 -0
- package/test/node_modules/mocha/lib/cli/commands.js +14 -0
- package/test/node_modules/mocha/lib/cli/config.js +100 -0
- package/test/node_modules/mocha/lib/cli/index.js +3 -0
- package/test/node_modules/mocha/lib/cli/init.js +36 -0
- package/test/node_modules/mocha/lib/cli/lookup-files.js +155 -0
- package/test/node_modules/mocha/lib/cli/node-flags.js +85 -0
- package/test/node_modules/mocha/lib/cli/one-and-dones.js +69 -0
- package/test/node_modules/mocha/lib/cli/options.js +337 -0
- package/test/node_modules/mocha/lib/cli/run-helpers.js +304 -0
- package/test/node_modules/mocha/lib/cli/run-option-metadata.js +137 -0
- package/test/node_modules/mocha/lib/cli/run.js +380 -0
- package/test/node_modules/mocha/lib/cli/watch-run.js +377 -0
- package/test/node_modules/mocha/lib/context.js +86 -0
- package/test/node_modules/mocha/lib/errors.js +563 -0
- package/test/node_modules/mocha/lib/hook.js +89 -0
- package/test/node_modules/mocha/lib/interfaces/bdd.js +114 -0
- package/test/node_modules/mocha/lib/interfaces/common.js +193 -0
- package/test/node_modules/mocha/lib/interfaces/exports.js +60 -0
- package/test/node_modules/mocha/lib/interfaces/index.js +6 -0
- package/test/node_modules/mocha/lib/interfaces/qunit.js +98 -0
- package/test/node_modules/mocha/lib/interfaces/tdd.js +106 -0
- package/test/node_modules/mocha/lib/mocha.js +1334 -0
- package/test/node_modules/mocha/lib/mocharc.json +10 -0
- package/test/node_modules/mocha/lib/nodejs/buffered-worker-pool.js +188 -0
- package/test/node_modules/mocha/lib/nodejs/esm-utils.js +106 -0
- package/test/node_modules/mocha/lib/nodejs/file-unloader.js +15 -0
- package/test/node_modules/mocha/lib/nodejs/parallel-buffered-runner.js +433 -0
- package/test/node_modules/mocha/lib/nodejs/reporters/parallel-buffered.js +165 -0
- package/test/node_modules/mocha/lib/nodejs/serializer.js +414 -0
- package/test/node_modules/mocha/lib/nodejs/worker.js +151 -0
- package/test/node_modules/mocha/lib/pending.js +16 -0
- package/test/node_modules/mocha/lib/plugin-loader.js +286 -0
- package/test/node_modules/mocha/lib/reporters/base.js +591 -0
- package/test/node_modules/mocha/lib/reporters/doc.js +95 -0
- package/test/node_modules/mocha/lib/reporters/dot.js +81 -0
- package/test/node_modules/mocha/lib/reporters/html.js +420 -0
- package/test/node_modules/mocha/lib/reporters/index.js +19 -0
- package/test/node_modules/mocha/lib/reporters/json-stream.js +92 -0
- package/test/node_modules/mocha/lib/reporters/json.js +162 -0
- package/test/node_modules/mocha/lib/reporters/landing.js +116 -0
- package/test/node_modules/mocha/lib/reporters/list.js +78 -0
- package/test/node_modules/mocha/lib/reporters/markdown.js +112 -0
- package/test/node_modules/mocha/lib/reporters/min.js +52 -0
- package/test/node_modules/mocha/lib/reporters/nyan.js +267 -0
- package/test/node_modules/mocha/lib/reporters/progress.js +104 -0
- package/test/node_modules/mocha/lib/reporters/spec.js +99 -0
- package/test/node_modules/mocha/lib/reporters/tap.js +293 -0
- package/test/node_modules/mocha/lib/reporters/xunit.js +218 -0
- package/test/node_modules/mocha/lib/runnable.js +474 -0
- package/test/node_modules/mocha/lib/runner.js +1267 -0
- package/test/node_modules/mocha/lib/stats-collector.js +83 -0
- package/test/node_modules/mocha/lib/suite.js +666 -0
- package/test/node_modules/mocha/lib/test.js +113 -0
- package/test/node_modules/mocha/lib/utils.js +698 -0
- package/test/node_modules/mocha/mocha.css +455 -0
- package/test/node_modules/mocha/mocha.js +20785 -0
- package/test/node_modules/mocha/mocha.js.map +1 -0
- package/test/node_modules/mocha/package.json +207 -0
- package/test/node_modules/ms/index.js +162 -0
- package/test/node_modules/ms/license.md +21 -0
- package/test/node_modules/ms/package.json +38 -0
- package/test/node_modules/ms/readme.md +59 -0
- package/test/node_modules/node-domexception/.history/README_20210527203617.md +2 -0
- package/test/node_modules/node-domexception/.history/README_20210527212714.md +41 -0
- package/test/node_modules/node-domexception/.history/README_20210527213345.md +36 -0
- package/test/node_modules/node-domexception/.history/README_20210527213411.md +36 -0
- package/test/node_modules/node-domexception/.history/README_20210527213803.md +36 -0
- package/test/node_modules/node-domexception/.history/README_20210527214323.md +38 -0
- package/test/node_modules/node-domexception/.history/README_20210527214408.md +38 -0
- package/test/node_modules/node-domexception/.history/index_20210527203842.js +0 -0
- package/test/node_modules/node-domexception/.history/index_20210527203947.js +8 -0
- package/test/node_modules/node-domexception/.history/index_20210527204259.js +9 -0
- package/test/node_modules/node-domexception/.history/index_20210527204418.js +9 -0
- package/test/node_modules/node-domexception/.history/index_20210527204756.js +11 -0
- package/test/node_modules/node-domexception/.history/index_20210527204833.js +11 -0
- package/test/node_modules/node-domexception/.history/index_20210527211208.js +15 -0
- package/test/node_modules/node-domexception/.history/index_20210527211248.js +15 -0
- package/test/node_modules/node-domexception/.history/index_20210527212722.js +23 -0
- package/test/node_modules/node-domexception/.history/index_20210527212731.js +23 -0
- package/test/node_modules/node-domexception/.history/index_20210527212746.js +15 -0
- package/test/node_modules/node-domexception/.history/index_20210527212900.js +16 -0
- package/test/node_modules/node-domexception/.history/index_20210527213022.js +16 -0
- package/test/node_modules/node-domexception/.history/index_20210527213822.js +16 -0
- package/test/node_modules/node-domexception/.history/index_20210527213843.js +17 -0
- package/test/node_modules/node-domexception/.history/index_20210527213852.js +17 -0
- package/test/node_modules/node-domexception/.history/index_20210527213910.js +16 -0
- package/test/node_modules/node-domexception/.history/index_20210527214034.js +16 -0
- package/test/node_modules/node-domexception/.history/index_20210527214643.js +41 -0
- package/test/node_modules/node-domexception/.history/index_20210527214654.js +41 -0
- package/test/node_modules/node-domexception/.history/index_20210527214700.js +16 -0
- package/test/node_modules/node-domexception/.history/package_20210527203733.json +19 -0
- package/test/node_modules/node-domexception/.history/package_20210527203825.json +16 -0
- package/test/node_modules/node-domexception/.history/package_20210527204621.json +19 -0
- package/test/node_modules/node-domexception/.history/package_20210527204913.json +25 -0
- package/test/node_modules/node-domexception/.history/package_20210527204925.json +25 -0
- package/test/node_modules/node-domexception/.history/package_20210527205145.json +29 -0
- package/test/node_modules/node-domexception/.history/package_20210527205156.json +29 -0
- package/test/node_modules/node-domexception/.history/test_20210527205603.js +0 -0
- package/test/node_modules/node-domexception/.history/test_20210527205957.js +3 -0
- package/test/node_modules/node-domexception/.history/test_20210527210021.js +3 -0
- package/test/node_modules/node-domexception/LICENSE +21 -0
- package/test/node_modules/node-domexception/README.md +46 -0
- package/test/node_modules/node-domexception/index.js +16 -0
- package/test/node_modules/node-domexception/package.json +29 -0
- package/test/node_modules/node-fetch/@types/index.d.ts +219 -0
- package/test/node_modules/node-fetch/LICENSE.md +22 -0
- package/test/node_modules/node-fetch/README.md +872 -0
- package/test/node_modules/node-fetch/package.json +131 -0
- package/test/node_modules/node-fetch/src/body.js +397 -0
- package/test/node_modules/node-fetch/src/errors/abort-error.js +10 -0
- package/test/node_modules/node-fetch/src/errors/base.js +17 -0
- package/test/node_modules/node-fetch/src/errors/fetch-error.js +26 -0
- package/test/node_modules/node-fetch/src/headers.js +267 -0
- package/test/node_modules/node-fetch/src/index.js +417 -0
- package/test/node_modules/node-fetch/src/request.js +313 -0
- package/test/node_modules/node-fetch/src/response.js +160 -0
- package/test/node_modules/node-fetch/src/utils/get-search.js +9 -0
- package/test/node_modules/node-fetch/src/utils/is-redirect.js +11 -0
- package/test/node_modules/node-fetch/src/utils/is.js +87 -0
- package/test/node_modules/node-fetch/src/utils/multipart-parser.js +432 -0
- package/test/node_modules/node-fetch/src/utils/referrer.js +340 -0
- package/test/node_modules/normalize-path/LICENSE +21 -0
- package/test/node_modules/normalize-path/README.md +127 -0
- package/test/node_modules/normalize-path/index.js +35 -0
- package/test/node_modules/normalize-path/package.json +77 -0
- package/test/node_modules/object-inspect/.eslintrc +53 -0
- package/test/node_modules/object-inspect/.github/FUNDING.yml +12 -0
- package/test/node_modules/object-inspect/.nycrc +13 -0
- package/test/node_modules/object-inspect/CHANGELOG.md +424 -0
- package/test/node_modules/object-inspect/LICENSE +21 -0
- package/test/node_modules/object-inspect/example/all.js +23 -0
- package/test/node_modules/object-inspect/example/circular.js +6 -0
- package/test/node_modules/object-inspect/example/fn.js +5 -0
- package/test/node_modules/object-inspect/example/inspect.js +10 -0
- package/test/node_modules/object-inspect/index.js +544 -0
- package/test/node_modules/object-inspect/package-support.json +20 -0
- package/test/node_modules/object-inspect/package.json +105 -0
- package/test/node_modules/object-inspect/readme.markdown +84 -0
- package/test/node_modules/object-inspect/test/bigint.js +58 -0
- package/test/node_modules/object-inspect/test/browser/dom.js +15 -0
- package/test/node_modules/object-inspect/test/circular.js +16 -0
- package/test/node_modules/object-inspect/test/deep.js +12 -0
- package/test/node_modules/object-inspect/test/element.js +53 -0
- package/test/node_modules/object-inspect/test/err.js +48 -0
- package/test/node_modules/object-inspect/test/fakes.js +29 -0
- package/test/node_modules/object-inspect/test/fn.js +76 -0
- package/test/node_modules/object-inspect/test/global.js +17 -0
- package/test/node_modules/object-inspect/test/has.js +15 -0
- package/test/node_modules/object-inspect/test/holes.js +15 -0
- package/test/node_modules/object-inspect/test/indent-option.js +271 -0
- package/test/node_modules/object-inspect/test/inspect.js +139 -0
- package/test/node_modules/object-inspect/test/lowbyte.js +12 -0
- package/test/node_modules/object-inspect/test/number.js +58 -0
- package/test/node_modules/object-inspect/test/quoteStyle.js +26 -0
- package/test/node_modules/object-inspect/test/toStringTag.js +40 -0
- package/test/node_modules/object-inspect/test/undef.js +12 -0
- package/test/node_modules/object-inspect/test/values.js +261 -0
- package/test/node_modules/object-inspect/test-core-js.js +26 -0
- package/test/node_modules/object-inspect/util.inspect.js +1 -0
- package/test/node_modules/once/LICENSE +15 -0
- package/test/node_modules/once/README.md +79 -0
- package/test/node_modules/once/once.js +42 -0
- package/test/node_modules/once/package.json +33 -0
- package/test/node_modules/p-limit/index.d.ts +42 -0
- package/test/node_modules/p-limit/index.js +71 -0
- package/test/node_modules/p-limit/license +9 -0
- package/test/node_modules/p-limit/package.json +52 -0
- package/test/node_modules/p-limit/readme.md +101 -0
- package/test/node_modules/p-locate/index.d.ts +53 -0
- package/test/node_modules/p-locate/index.js +50 -0
- package/test/node_modules/p-locate/license +9 -0
- package/test/node_modules/p-locate/package.json +54 -0
- package/test/node_modules/p-locate/readme.md +93 -0
- package/test/node_modules/package-json-from-dist/LICENSE.md +63 -0
- package/test/node_modules/package-json-from-dist/README.md +110 -0
- package/test/node_modules/package-json-from-dist/dist/commonjs/index.d.ts +89 -0
- package/test/node_modules/package-json-from-dist/dist/commonjs/index.d.ts.map +1 -0
- package/test/node_modules/package-json-from-dist/dist/commonjs/index.js +134 -0
- package/test/node_modules/package-json-from-dist/dist/commonjs/index.js.map +1 -0
- package/test/node_modules/package-json-from-dist/dist/commonjs/package.json +3 -0
- package/test/node_modules/package-json-from-dist/dist/esm/index.d.ts +89 -0
- package/test/node_modules/package-json-from-dist/dist/esm/index.d.ts.map +1 -0
- package/test/node_modules/package-json-from-dist/dist/esm/index.js +129 -0
- package/test/node_modules/package-json-from-dist/dist/esm/index.js.map +1 -0
- package/test/node_modules/package-json-from-dist/dist/esm/package.json +3 -0
- package/test/node_modules/package-json-from-dist/package.json +68 -0
- package/test/node_modules/path-exists/index.d.ts +28 -0
- package/test/node_modules/path-exists/index.js +23 -0
- package/test/node_modules/path-exists/license +9 -0
- package/test/node_modules/path-exists/package.json +39 -0
- package/test/node_modules/path-exists/readme.md +52 -0
- package/test/node_modules/path-key/index.d.ts +40 -0
- package/test/node_modules/path-key/index.js +16 -0
- package/test/node_modules/path-key/license +9 -0
- package/test/node_modules/path-key/package.json +39 -0
- package/test/node_modules/path-key/readme.md +61 -0
- package/test/node_modules/path-scurry/LICENSE.md +55 -0
- package/test/node_modules/path-scurry/README.md +636 -0
- package/test/node_modules/path-scurry/dist/commonjs/index.d.ts +1116 -0
- package/test/node_modules/path-scurry/dist/commonjs/index.d.ts.map +1 -0
- package/test/node_modules/path-scurry/dist/commonjs/index.js +2014 -0
- package/test/node_modules/path-scurry/dist/commonjs/index.js.map +1 -0
- package/test/node_modules/path-scurry/dist/commonjs/package.json +3 -0
- package/test/node_modules/path-scurry/dist/esm/index.d.ts +1116 -0
- package/test/node_modules/path-scurry/dist/esm/index.d.ts.map +1 -0
- package/test/node_modules/path-scurry/dist/esm/index.js +1979 -0
- package/test/node_modules/path-scurry/dist/esm/index.js.map +1 -0
- package/test/node_modules/path-scurry/dist/esm/package.json +3 -0
- package/test/node_modules/path-scurry/package.json +89 -0
- package/test/node_modules/pathval/LICENSE +16 -0
- package/test/node_modules/pathval/README.md +147 -0
- package/test/node_modules/pathval/index.js +292 -0
- package/test/node_modules/pathval/package.json +73 -0
- package/test/node_modules/pathval/pathval.js +1 -0
- package/test/node_modules/picomatch/CHANGELOG.md +136 -0
- package/test/node_modules/picomatch/LICENSE +21 -0
- package/test/node_modules/picomatch/README.md +708 -0
- package/test/node_modules/picomatch/index.js +3 -0
- package/test/node_modules/picomatch/lib/constants.js +179 -0
- package/test/node_modules/picomatch/lib/parse.js +1091 -0
- package/test/node_modules/picomatch/lib/picomatch.js +342 -0
- package/test/node_modules/picomatch/lib/scan.js +391 -0
- package/test/node_modules/picomatch/lib/utils.js +64 -0
- package/test/node_modules/picomatch/package.json +81 -0
- package/test/node_modules/qs/.editorconfig +46 -0
- package/test/node_modules/qs/.eslintrc +39 -0
- package/test/node_modules/qs/.github/FUNDING.yml +12 -0
- package/test/node_modules/qs/.nycrc +13 -0
- package/test/node_modules/qs/CHANGELOG.md +622 -0
- package/test/node_modules/qs/LICENSE.md +29 -0
- package/test/node_modules/qs/README.md +733 -0
- package/test/node_modules/qs/dist/qs.js +141 -0
- package/test/node_modules/qs/lib/formats.js +23 -0
- package/test/node_modules/qs/lib/index.js +11 -0
- package/test/node_modules/qs/lib/parse.js +328 -0
- package/test/node_modules/qs/lib/stringify.js +356 -0
- package/test/node_modules/qs/lib/utils.js +268 -0
- package/test/node_modules/qs/package.json +93 -0
- package/test/node_modules/qs/test/empty-keys-cases.js +267 -0
- package/test/node_modules/qs/test/parse.js +1276 -0
- package/test/node_modules/qs/test/stringify.js +1306 -0
- package/test/node_modules/qs/test/utils.js +262 -0
- package/test/node_modules/randombytes/.travis.yml +15 -0
- package/test/node_modules/randombytes/.zuul.yml +1 -0
- package/test/node_modules/randombytes/LICENSE +21 -0
- package/test/node_modules/randombytes/README.md +14 -0
- package/test/node_modules/randombytes/browser.js +50 -0
- package/test/node_modules/randombytes/index.js +1 -0
- package/test/node_modules/randombytes/package.json +36 -0
- package/test/node_modules/randombytes/test.js +81 -0
- package/test/node_modules/readdirp/LICENSE +21 -0
- package/test/node_modules/readdirp/README.md +122 -0
- package/test/node_modules/readdirp/index.d.ts +43 -0
- package/test/node_modules/readdirp/index.js +287 -0
- package/test/node_modules/readdirp/package.json +122 -0
- package/test/node_modules/require-directory/.jshintrc +67 -0
- package/test/node_modules/require-directory/.travis.yml +3 -0
- package/test/node_modules/require-directory/LICENSE +22 -0
- package/test/node_modules/require-directory/README.markdown +184 -0
- package/test/node_modules/require-directory/index.js +86 -0
- package/test/node_modules/require-directory/package.json +40 -0
- package/test/node_modules/safe-buffer/LICENSE +21 -0
- package/test/node_modules/safe-buffer/README.md +584 -0
- package/test/node_modules/safe-buffer/index.d.ts +187 -0
- package/test/node_modules/safe-buffer/index.js +65 -0
- package/test/node_modules/safe-buffer/package.json +51 -0
- package/test/node_modules/serialize-javascript/LICENSE +27 -0
- package/test/node_modules/serialize-javascript/README.md +143 -0
- package/test/node_modules/serialize-javascript/index.js +268 -0
- package/test/node_modules/serialize-javascript/package.json +36 -0
- package/test/node_modules/sessionless-node/README.md +44 -0
- package/test/node_modules/sessionless-node/package.json +26 -0
- package/test/node_modules/sessionless-node/sessionless.cjs +96 -0
- package/test/node_modules/sessionless-node/sessionless.js +95 -0
- package/test/node_modules/sessionless-node/test/sessionless.js +78 -0
- package/test/node_modules/shebang-command/index.js +19 -0
- package/test/node_modules/shebang-command/license +9 -0
- package/test/node_modules/shebang-command/package.json +34 -0
- package/test/node_modules/shebang-command/readme.md +34 -0
- package/test/node_modules/shebang-regex/index.d.ts +22 -0
- package/test/node_modules/shebang-regex/index.js +2 -0
- package/test/node_modules/shebang-regex/license +9 -0
- package/test/node_modules/shebang-regex/package.json +35 -0
- package/test/node_modules/shebang-regex/readme.md +33 -0
- package/test/node_modules/side-channel/.editorconfig +9 -0
- package/test/node_modules/side-channel/.eslintrc +12 -0
- package/test/node_modules/side-channel/.github/FUNDING.yml +12 -0
- package/test/node_modules/side-channel/.nycrc +13 -0
- package/test/node_modules/side-channel/CHANGELOG.md +110 -0
- package/test/node_modules/side-channel/LICENSE +21 -0
- package/test/node_modules/side-channel/README.md +61 -0
- package/test/node_modules/side-channel/index.d.ts +14 -0
- package/test/node_modules/side-channel/index.js +43 -0
- package/test/node_modules/side-channel/package.json +85 -0
- package/test/node_modules/side-channel/test/index.js +104 -0
- package/test/node_modules/side-channel/tsconfig.json +9 -0
- package/test/node_modules/side-channel-list/.editorconfig +9 -0
- package/test/node_modules/side-channel-list/.eslintrc +11 -0
- package/test/node_modules/side-channel-list/.github/FUNDING.yml +12 -0
- package/test/node_modules/side-channel-list/.nycrc +13 -0
- package/test/node_modules/side-channel-list/CHANGELOG.md +15 -0
- package/test/node_modules/side-channel-list/LICENSE +21 -0
- package/test/node_modules/side-channel-list/README.md +62 -0
- package/test/node_modules/side-channel-list/index.d.ts +13 -0
- package/test/node_modules/side-channel-list/index.js +113 -0
- package/test/node_modules/side-channel-list/list.d.ts +14 -0
- package/test/node_modules/side-channel-list/package.json +77 -0
- package/test/node_modules/side-channel-list/test/index.js +104 -0
- package/test/node_modules/side-channel-list/tsconfig.json +9 -0
- package/test/node_modules/side-channel-map/.editorconfig +9 -0
- package/test/node_modules/side-channel-map/.eslintrc +11 -0
- package/test/node_modules/side-channel-map/.github/FUNDING.yml +12 -0
- package/test/node_modules/side-channel-map/.nycrc +13 -0
- package/test/node_modules/side-channel-map/CHANGELOG.md +22 -0
- package/test/node_modules/side-channel-map/LICENSE +21 -0
- package/test/node_modules/side-channel-map/README.md +62 -0
- package/test/node_modules/side-channel-map/index.d.ts +15 -0
- package/test/node_modules/side-channel-map/index.js +68 -0
- package/test/node_modules/side-channel-map/package.json +80 -0
- package/test/node_modules/side-channel-map/test/index.js +114 -0
- package/test/node_modules/side-channel-map/tsconfig.json +9 -0
- package/test/node_modules/side-channel-weakmap/.editorconfig +9 -0
- package/test/node_modules/side-channel-weakmap/.eslintrc +12 -0
- package/test/node_modules/side-channel-weakmap/.github/FUNDING.yml +12 -0
- package/test/node_modules/side-channel-weakmap/.nycrc +13 -0
- package/test/node_modules/side-channel-weakmap/CHANGELOG.md +28 -0
- package/test/node_modules/side-channel-weakmap/LICENSE +21 -0
- package/test/node_modules/side-channel-weakmap/README.md +62 -0
- package/test/node_modules/side-channel-weakmap/index.d.ts +15 -0
- package/test/node_modules/side-channel-weakmap/index.js +84 -0
- package/test/node_modules/side-channel-weakmap/package.json +87 -0
- package/test/node_modules/side-channel-weakmap/test/index.js +114 -0
- package/test/node_modules/side-channel-weakmap/tsconfig.json +9 -0
- package/test/node_modules/signal-exit/LICENSE.txt +16 -0
- package/test/node_modules/signal-exit/README.md +74 -0
- package/test/node_modules/signal-exit/dist/cjs/browser.d.ts +12 -0
- package/test/node_modules/signal-exit/dist/cjs/browser.d.ts.map +1 -0
- package/test/node_modules/signal-exit/dist/cjs/browser.js +10 -0
- package/test/node_modules/signal-exit/dist/cjs/browser.js.map +1 -0
- package/test/node_modules/signal-exit/dist/cjs/index.d.ts +48 -0
- package/test/node_modules/signal-exit/dist/cjs/index.d.ts.map +1 -0
- package/test/node_modules/signal-exit/dist/cjs/index.js +279 -0
- package/test/node_modules/signal-exit/dist/cjs/index.js.map +1 -0
- package/test/node_modules/signal-exit/dist/cjs/package.json +3 -0
- package/test/node_modules/signal-exit/dist/cjs/signals.d.ts +29 -0
- package/test/node_modules/signal-exit/dist/cjs/signals.d.ts.map +1 -0
- package/test/node_modules/signal-exit/dist/cjs/signals.js +42 -0
- package/test/node_modules/signal-exit/dist/cjs/signals.js.map +1 -0
- package/test/node_modules/signal-exit/dist/mjs/browser.d.ts +12 -0
- package/test/node_modules/signal-exit/dist/mjs/browser.d.ts.map +1 -0
- package/test/node_modules/signal-exit/dist/mjs/browser.js +4 -0
- package/test/node_modules/signal-exit/dist/mjs/browser.js.map +1 -0
- package/test/node_modules/signal-exit/dist/mjs/index.d.ts +48 -0
- package/test/node_modules/signal-exit/dist/mjs/index.d.ts.map +1 -0
- package/test/node_modules/signal-exit/dist/mjs/index.js +275 -0
- package/test/node_modules/signal-exit/dist/mjs/index.js.map +1 -0
- package/test/node_modules/signal-exit/dist/mjs/package.json +3 -0
- package/test/node_modules/signal-exit/dist/mjs/signals.d.ts +29 -0
- package/test/node_modules/signal-exit/dist/mjs/signals.d.ts.map +1 -0
- package/test/node_modules/signal-exit/dist/mjs/signals.js +39 -0
- package/test/node_modules/signal-exit/dist/mjs/signals.js.map +1 -0
- package/test/node_modules/signal-exit/package.json +106 -0
- package/test/node_modules/string-width/index.d.ts +29 -0
- package/test/node_modules/string-width/index.js +54 -0
- package/test/node_modules/string-width/license +9 -0
- package/test/node_modules/string-width/package.json +59 -0
- package/test/node_modules/string-width/readme.md +67 -0
- package/test/node_modules/string-width-cjs/index.d.ts +29 -0
- package/test/node_modules/string-width-cjs/index.js +47 -0
- package/test/node_modules/string-width-cjs/license +9 -0
- package/test/node_modules/string-width-cjs/node_modules/ansi-regex/index.d.ts +37 -0
- package/test/node_modules/string-width-cjs/node_modules/ansi-regex/index.js +10 -0
- package/test/node_modules/string-width-cjs/node_modules/ansi-regex/license +9 -0
- package/test/node_modules/string-width-cjs/node_modules/ansi-regex/package.json +55 -0
- package/test/node_modules/string-width-cjs/node_modules/ansi-regex/readme.md +78 -0
- package/test/node_modules/string-width-cjs/node_modules/emoji-regex/LICENSE-MIT.txt +20 -0
- package/test/node_modules/string-width-cjs/node_modules/emoji-regex/README.md +73 -0
- package/test/node_modules/string-width-cjs/node_modules/emoji-regex/es2015/index.js +6 -0
- package/test/node_modules/string-width-cjs/node_modules/emoji-regex/es2015/text.js +6 -0
- package/test/node_modules/string-width-cjs/node_modules/emoji-regex/index.d.ts +23 -0
- package/test/node_modules/string-width-cjs/node_modules/emoji-regex/index.js +6 -0
- package/test/node_modules/string-width-cjs/node_modules/emoji-regex/package.json +50 -0
- package/test/node_modules/string-width-cjs/node_modules/emoji-regex/text.js +6 -0
- package/test/node_modules/string-width-cjs/node_modules/strip-ansi/index.d.ts +17 -0
- package/test/node_modules/string-width-cjs/node_modules/strip-ansi/index.js +4 -0
- package/test/node_modules/string-width-cjs/node_modules/strip-ansi/license +9 -0
- package/test/node_modules/string-width-cjs/node_modules/strip-ansi/package.json +54 -0
- package/test/node_modules/string-width-cjs/node_modules/strip-ansi/readme.md +46 -0
- package/test/node_modules/string-width-cjs/package.json +56 -0
- package/test/node_modules/string-width-cjs/readme.md +50 -0
- package/test/node_modules/strip-ansi/index.d.ts +15 -0
- package/test/node_modules/strip-ansi/index.js +14 -0
- package/test/node_modules/strip-ansi/license +9 -0
- package/test/node_modules/strip-ansi/package.json +57 -0
- package/test/node_modules/strip-ansi/readme.md +41 -0
- package/test/node_modules/strip-ansi-cjs/index.d.ts +17 -0
- package/test/node_modules/strip-ansi-cjs/index.js +4 -0
- package/test/node_modules/strip-ansi-cjs/license +9 -0
- package/test/node_modules/strip-ansi-cjs/node_modules/ansi-regex/index.d.ts +37 -0
- package/test/node_modules/strip-ansi-cjs/node_modules/ansi-regex/index.js +10 -0
- package/test/node_modules/strip-ansi-cjs/node_modules/ansi-regex/license +9 -0
- package/test/node_modules/strip-ansi-cjs/node_modules/ansi-regex/package.json +55 -0
- package/test/node_modules/strip-ansi-cjs/node_modules/ansi-regex/readme.md +78 -0
- package/test/node_modules/strip-ansi-cjs/package.json +54 -0
- package/test/node_modules/strip-ansi-cjs/readme.md +46 -0
- package/test/node_modules/strip-json-comments/index.d.ts +36 -0
- package/test/node_modules/strip-json-comments/index.js +77 -0
- package/test/node_modules/strip-json-comments/license +9 -0
- package/test/node_modules/strip-json-comments/package.json +47 -0
- package/test/node_modules/strip-json-comments/readme.md +78 -0
- package/test/node_modules/superagent/LICENSE +22 -0
- package/test/node_modules/superagent/README.md +273 -0
- package/test/node_modules/superagent/dist/superagent.js +3399 -0
- package/test/node_modules/superagent/dist/superagent.min.js +1 -0
- package/test/node_modules/superagent/lib/agent-base.js +28 -0
- package/test/node_modules/superagent/lib/client.js +949 -0
- package/test/node_modules/superagent/lib/node/agent.js +100 -0
- package/test/node_modules/superagent/lib/node/decompress.js +20 -0
- package/test/node_modules/superagent/lib/node/http2wrapper.js +158 -0
- package/test/node_modules/superagent/lib/node/index.js +1318 -0
- package/test/node_modules/superagent/lib/node/parsers/image.js +13 -0
- package/test/node_modules/superagent/lib/node/parsers/index.js +11 -0
- package/test/node_modules/superagent/lib/node/parsers/json.js +25 -0
- package/test/node_modules/superagent/lib/node/parsers/text.js +11 -0
- package/test/node_modules/superagent/lib/node/parsers/urlencoded.js +22 -0
- package/test/node_modules/superagent/lib/node/response.js +143 -0
- package/test/node_modules/superagent/lib/node/unzip.js +74 -0
- package/test/node_modules/superagent/lib/request-base.js +720 -0
- package/test/node_modules/superagent/lib/response-base.js +120 -0
- package/test/node_modules/superagent/lib/utils.js +126 -0
- package/test/node_modules/superagent/package.json +131 -0
- package/test/node_modules/supports-color/browser.js +24 -0
- package/test/node_modules/supports-color/index.js +152 -0
- package/test/node_modules/supports-color/license +9 -0
- package/test/node_modules/supports-color/package.json +58 -0
- package/test/node_modules/supports-color/readme.md +77 -0
- package/test/node_modules/to-regex-range/LICENSE +21 -0
- package/test/node_modules/to-regex-range/README.md +305 -0
- package/test/node_modules/to-regex-range/index.js +288 -0
- package/test/node_modules/to-regex-range/package.json +88 -0
- package/test/node_modules/uuid/CHANGELOG.md +274 -0
- package/test/node_modules/uuid/CONTRIBUTING.md +18 -0
- package/test/node_modules/uuid/LICENSE.md +9 -0
- package/test/node_modules/uuid/README.md +466 -0
- package/test/node_modules/uuid/dist/bin/uuid +2 -0
- package/test/node_modules/uuid/dist/commonjs-browser/index.js +79 -0
- package/test/node_modules/uuid/dist/commonjs-browser/md5.js +223 -0
- package/test/node_modules/uuid/dist/commonjs-browser/native.js +11 -0
- package/test/node_modules/uuid/dist/commonjs-browser/nil.js +8 -0
- package/test/node_modules/uuid/dist/commonjs-browser/parse.js +45 -0
- package/test/node_modules/uuid/dist/commonjs-browser/regex.js +8 -0
- package/test/node_modules/uuid/dist/commonjs-browser/rng.js +25 -0
- package/test/node_modules/uuid/dist/commonjs-browser/sha1.js +104 -0
- package/test/node_modules/uuid/dist/commonjs-browser/stringify.js +44 -0
- package/test/node_modules/uuid/dist/commonjs-browser/v1.js +107 -0
- package/test/node_modules/uuid/dist/commonjs-browser/v3.js +16 -0
- package/test/node_modules/uuid/dist/commonjs-browser/v35.js +80 -0
- package/test/node_modules/uuid/dist/commonjs-browser/v4.js +43 -0
- package/test/node_modules/uuid/dist/commonjs-browser/v5.js +16 -0
- package/test/node_modules/uuid/dist/commonjs-browser/validate.js +17 -0
- package/test/node_modules/uuid/dist/commonjs-browser/version.js +21 -0
- package/test/node_modules/uuid/dist/esm-browser/index.js +9 -0
- package/test/node_modules/uuid/dist/esm-browser/md5.js +215 -0
- package/test/node_modules/uuid/dist/esm-browser/native.js +4 -0
- package/test/node_modules/uuid/dist/esm-browser/nil.js +1 -0
- package/test/node_modules/uuid/dist/esm-browser/parse.js +35 -0
- package/test/node_modules/uuid/dist/esm-browser/regex.js +1 -0
- package/test/node_modules/uuid/dist/esm-browser/rng.js +18 -0
- package/test/node_modules/uuid/dist/esm-browser/sha1.js +96 -0
- package/test/node_modules/uuid/dist/esm-browser/stringify.js +33 -0
- package/test/node_modules/uuid/dist/esm-browser/v1.js +95 -0
- package/test/node_modules/uuid/dist/esm-browser/v3.js +4 -0
- package/test/node_modules/uuid/dist/esm-browser/v35.js +66 -0
- package/test/node_modules/uuid/dist/esm-browser/v4.js +29 -0
- package/test/node_modules/uuid/dist/esm-browser/v5.js +4 -0
- package/test/node_modules/uuid/dist/esm-browser/validate.js +7 -0
- package/test/node_modules/uuid/dist/esm-browser/version.js +11 -0
- package/test/node_modules/uuid/dist/esm-node/index.js +9 -0
- package/test/node_modules/uuid/dist/esm-node/md5.js +13 -0
- package/test/node_modules/uuid/dist/esm-node/native.js +4 -0
- package/test/node_modules/uuid/dist/esm-node/nil.js +1 -0
- package/test/node_modules/uuid/dist/esm-node/parse.js +35 -0
- package/test/node_modules/uuid/dist/esm-node/regex.js +1 -0
- package/test/node_modules/uuid/dist/esm-node/rng.js +12 -0
- package/test/node_modules/uuid/dist/esm-node/sha1.js +13 -0
- package/test/node_modules/uuid/dist/esm-node/stringify.js +33 -0
- package/test/node_modules/uuid/dist/esm-node/v1.js +95 -0
- package/test/node_modules/uuid/dist/esm-node/v3.js +4 -0
- package/test/node_modules/uuid/dist/esm-node/v35.js +66 -0
- package/test/node_modules/uuid/dist/esm-node/v4.js +29 -0
- package/test/node_modules/uuid/dist/esm-node/v5.js +4 -0
- package/test/node_modules/uuid/dist/esm-node/validate.js +7 -0
- package/test/node_modules/uuid/dist/esm-node/version.js +11 -0
- package/test/node_modules/uuid/dist/index.js +79 -0
- package/test/node_modules/uuid/dist/md5-browser.js +223 -0
- package/test/node_modules/uuid/dist/md5.js +23 -0
- package/test/node_modules/uuid/dist/native-browser.js +11 -0
- package/test/node_modules/uuid/dist/native.js +15 -0
- package/test/node_modules/uuid/dist/nil.js +8 -0
- package/test/node_modules/uuid/dist/parse.js +45 -0
- package/test/node_modules/uuid/dist/regex.js +8 -0
- package/test/node_modules/uuid/dist/rng-browser.js +25 -0
- package/test/node_modules/uuid/dist/rng.js +24 -0
- package/test/node_modules/uuid/dist/sha1-browser.js +104 -0
- package/test/node_modules/uuid/dist/sha1.js +23 -0
- package/test/node_modules/uuid/dist/stringify.js +44 -0
- package/test/node_modules/uuid/dist/uuid-bin.js +85 -0
- package/test/node_modules/uuid/dist/v1.js +107 -0
- package/test/node_modules/uuid/dist/v3.js +16 -0
- package/test/node_modules/uuid/dist/v35.js +80 -0
- package/test/node_modules/uuid/dist/v4.js +43 -0
- package/test/node_modules/uuid/dist/v5.js +16 -0
- package/test/node_modules/uuid/dist/validate.js +17 -0
- package/test/node_modules/uuid/dist/version.js +21 -0
- package/test/node_modules/uuid/package.json +135 -0
- package/test/node_modules/uuid/wrapper.mjs +10 -0
- package/test/node_modules/web-streams-polyfill/LICENSE +22 -0
- package/test/node_modules/web-streams-polyfill/README.md +110 -0
- package/test/node_modules/web-streams-polyfill/dist/polyfill.es2018.js +4765 -0
- package/test/node_modules/web-streams-polyfill/dist/polyfill.es2018.js.map +1 -0
- package/test/node_modules/web-streams-polyfill/dist/polyfill.es2018.min.js +9 -0
- package/test/node_modules/web-streams-polyfill/dist/polyfill.es2018.min.js.map +1 -0
- package/test/node_modules/web-streams-polyfill/dist/polyfill.es2018.mjs +4745 -0
- package/test/node_modules/web-streams-polyfill/dist/polyfill.es2018.mjs.map +1 -0
- package/test/node_modules/web-streams-polyfill/dist/polyfill.es6.js +4838 -0
- package/test/node_modules/web-streams-polyfill/dist/polyfill.es6.js.map +1 -0
- package/test/node_modules/web-streams-polyfill/dist/polyfill.es6.min.js +9 -0
- package/test/node_modules/web-streams-polyfill/dist/polyfill.es6.min.js.map +1 -0
- package/test/node_modules/web-streams-polyfill/dist/polyfill.es6.mjs +4818 -0
- package/test/node_modules/web-streams-polyfill/dist/polyfill.es6.mjs.map +1 -0
- package/test/node_modules/web-streams-polyfill/dist/polyfill.js +5011 -0
- package/test/node_modules/web-streams-polyfill/dist/polyfill.js.map +1 -0
- package/test/node_modules/web-streams-polyfill/dist/polyfill.min.js +9 -0
- package/test/node_modules/web-streams-polyfill/dist/polyfill.min.js.map +1 -0
- package/test/node_modules/web-streams-polyfill/dist/polyfill.mjs +4991 -0
- package/test/node_modules/web-streams-polyfill/dist/polyfill.mjs.map +1 -0
- package/test/node_modules/web-streams-polyfill/dist/ponyfill.es2018.js +4737 -0
- package/test/node_modules/web-streams-polyfill/dist/ponyfill.es2018.js.map +1 -0
- package/test/node_modules/web-streams-polyfill/dist/ponyfill.es2018.mjs +4717 -0
- package/test/node_modules/web-streams-polyfill/dist/ponyfill.es2018.mjs.map +1 -0
- package/test/node_modules/web-streams-polyfill/dist/ponyfill.es6.js +4810 -0
- package/test/node_modules/web-streams-polyfill/dist/ponyfill.es6.js.map +1 -0
- package/test/node_modules/web-streams-polyfill/dist/ponyfill.es6.mjs +4790 -0
- package/test/node_modules/web-streams-polyfill/dist/ponyfill.es6.mjs.map +1 -0
- package/test/node_modules/web-streams-polyfill/dist/ponyfill.js +4983 -0
- package/test/node_modules/web-streams-polyfill/dist/ponyfill.js.map +1 -0
- package/test/node_modules/web-streams-polyfill/dist/ponyfill.mjs +4963 -0
- package/test/node_modules/web-streams-polyfill/dist/ponyfill.mjs.map +1 -0
- package/test/node_modules/web-streams-polyfill/dist/types/polyfill.d.ts +24 -0
- package/test/node_modules/web-streams-polyfill/dist/types/ponyfill.d.ts +780 -0
- package/test/node_modules/web-streams-polyfill/dist/types/ts3.6/polyfill.d.ts +28 -0
- package/test/node_modules/web-streams-polyfill/dist/types/ts3.6/ponyfill.d.ts +821 -0
- package/test/node_modules/web-streams-polyfill/dist/types/tsdoc-metadata.json +11 -0
- package/test/node_modules/web-streams-polyfill/es2018/package.json +14 -0
- package/test/node_modules/web-streams-polyfill/es6/package.json +14 -0
- package/test/node_modules/web-streams-polyfill/package.json +83 -0
- package/test/node_modules/web-streams-polyfill/ponyfill/es2018/package.json +13 -0
- package/test/node_modules/web-streams-polyfill/ponyfill/es6/package.json +13 -0
- package/test/node_modules/web-streams-polyfill/ponyfill/package.json +13 -0
- package/test/node_modules/which/CHANGELOG.md +166 -0
- package/test/node_modules/which/LICENSE +15 -0
- package/test/node_modules/which/README.md +54 -0
- package/test/node_modules/which/bin/node-which +52 -0
- package/test/node_modules/which/package.json +43 -0
- package/test/node_modules/which/which.js +125 -0
- package/test/node_modules/workerpool/HISTORY.md +330 -0
- package/test/node_modules/workerpool/LICENSE +201 -0
- package/test/node_modules/workerpool/README.md +529 -0
- package/test/node_modules/workerpool/dist/worker.js +318 -0
- package/test/node_modules/workerpool/dist/worker.js.map +1 -0
- package/test/node_modules/workerpool/dist/workerpool.js +1645 -0
- package/test/node_modules/workerpool/dist/workerpool.js.map +1 -0
- package/test/node_modules/workerpool/dist/workerpool.min.js +3 -0
- package/test/node_modules/workerpool/dist/workerpool.min.js.LICENSE.txt +24 -0
- package/test/node_modules/workerpool/dist/workerpool.min.js.map +1 -0
- package/test/node_modules/workerpool/package.json +51 -0
- package/test/node_modules/workerpool/src/Pool.js +452 -0
- package/test/node_modules/workerpool/src/Promise.js +279 -0
- package/test/node_modules/workerpool/src/WorkerHandler.js +508 -0
- package/test/node_modules/workerpool/src/debug-port-allocator.js +28 -0
- package/test/node_modules/workerpool/src/environment.js +36 -0
- package/test/node_modules/workerpool/src/generated/embeddedWorker.js +6 -0
- package/test/node_modules/workerpool/src/header.js +24 -0
- package/test/node_modules/workerpool/src/index.js +48 -0
- package/test/node_modules/workerpool/src/requireFoolWebpack.js +8 -0
- package/test/node_modules/workerpool/src/transfer.js +12 -0
- package/test/node_modules/workerpool/src/types.js +31 -0
- package/test/node_modules/workerpool/src/worker.js +263 -0
- package/test/node_modules/wrap-ansi/index.d.ts +41 -0
- package/test/node_modules/wrap-ansi/index.js +214 -0
- package/test/node_modules/wrap-ansi/license +9 -0
- package/test/node_modules/wrap-ansi/node_modules/ansi-styles/index.d.ts +236 -0
- package/test/node_modules/wrap-ansi/node_modules/ansi-styles/index.js +223 -0
- package/test/node_modules/wrap-ansi/node_modules/ansi-styles/license +9 -0
- package/test/node_modules/wrap-ansi/node_modules/ansi-styles/package.json +54 -0
- package/test/node_modules/wrap-ansi/node_modules/ansi-styles/readme.md +173 -0
- package/test/node_modules/wrap-ansi/package.json +69 -0
- package/test/node_modules/wrap-ansi/readme.md +91 -0
- package/test/node_modules/wrap-ansi-cjs/index.js +216 -0
- package/test/node_modules/wrap-ansi-cjs/license +9 -0
- package/test/node_modules/wrap-ansi-cjs/node_modules/ansi-regex/index.d.ts +37 -0
- package/test/node_modules/wrap-ansi-cjs/node_modules/ansi-regex/index.js +10 -0
- package/test/node_modules/wrap-ansi-cjs/node_modules/ansi-regex/license +9 -0
- package/test/node_modules/wrap-ansi-cjs/node_modules/ansi-regex/package.json +55 -0
- package/test/node_modules/wrap-ansi-cjs/node_modules/ansi-regex/readme.md +78 -0
- package/test/node_modules/wrap-ansi-cjs/node_modules/emoji-regex/LICENSE-MIT.txt +20 -0
- package/test/node_modules/wrap-ansi-cjs/node_modules/emoji-regex/README.md +73 -0
- package/test/node_modules/wrap-ansi-cjs/node_modules/emoji-regex/es2015/index.js +6 -0
- package/test/node_modules/wrap-ansi-cjs/node_modules/emoji-regex/es2015/text.js +6 -0
- package/test/node_modules/wrap-ansi-cjs/node_modules/emoji-regex/index.d.ts +23 -0
- package/test/node_modules/wrap-ansi-cjs/node_modules/emoji-regex/index.js +6 -0
- package/test/node_modules/wrap-ansi-cjs/node_modules/emoji-regex/package.json +50 -0
- package/test/node_modules/wrap-ansi-cjs/node_modules/emoji-regex/text.js +6 -0
- package/test/node_modules/wrap-ansi-cjs/node_modules/string-width/index.d.ts +29 -0
- package/test/node_modules/wrap-ansi-cjs/node_modules/string-width/index.js +47 -0
- package/test/node_modules/wrap-ansi-cjs/node_modules/string-width/license +9 -0
- package/test/node_modules/wrap-ansi-cjs/node_modules/string-width/package.json +56 -0
- package/test/node_modules/wrap-ansi-cjs/node_modules/string-width/readme.md +50 -0
- package/test/node_modules/wrap-ansi-cjs/node_modules/strip-ansi/index.d.ts +17 -0
- package/test/node_modules/wrap-ansi-cjs/node_modules/strip-ansi/index.js +4 -0
- package/test/node_modules/wrap-ansi-cjs/node_modules/strip-ansi/license +9 -0
- package/test/node_modules/wrap-ansi-cjs/node_modules/strip-ansi/package.json +54 -0
- package/test/node_modules/wrap-ansi-cjs/node_modules/strip-ansi/readme.md +46 -0
- package/test/node_modules/wrap-ansi-cjs/package.json +62 -0
- package/test/node_modules/wrap-ansi-cjs/readme.md +91 -0
- package/test/node_modules/wrappy/LICENSE +15 -0
- package/test/node_modules/wrappy/README.md +36 -0
- package/test/node_modules/wrappy/package.json +29 -0
- package/test/node_modules/wrappy/wrappy.js +33 -0
- package/test/node_modules/y18n/CHANGELOG.md +100 -0
- package/test/node_modules/y18n/LICENSE +13 -0
- package/test/node_modules/y18n/README.md +127 -0
- package/test/node_modules/y18n/build/index.cjs +203 -0
- package/test/node_modules/y18n/build/lib/cjs.js +6 -0
- package/test/node_modules/y18n/build/lib/index.js +174 -0
- package/test/node_modules/y18n/build/lib/platform-shims/node.js +19 -0
- package/test/node_modules/y18n/index.mjs +8 -0
- package/test/node_modules/y18n/package.json +70 -0
- package/test/node_modules/yargs/LICENSE +21 -0
- package/test/node_modules/yargs/README.md +204 -0
- package/test/node_modules/yargs/browser.d.ts +5 -0
- package/test/node_modules/yargs/browser.mjs +7 -0
- package/test/node_modules/yargs/build/index.cjs +1 -0
- package/test/node_modules/yargs/build/lib/argsert.js +62 -0
- package/test/node_modules/yargs/build/lib/command.js +449 -0
- package/test/node_modules/yargs/build/lib/completion-templates.js +48 -0
- package/test/node_modules/yargs/build/lib/completion.js +243 -0
- package/test/node_modules/yargs/build/lib/middleware.js +88 -0
- package/test/node_modules/yargs/build/lib/parse-command.js +32 -0
- package/test/node_modules/yargs/build/lib/typings/common-types.js +9 -0
- package/test/node_modules/yargs/build/lib/typings/yargs-parser-types.js +1 -0
- package/test/node_modules/yargs/build/lib/usage.js +584 -0
- package/test/node_modules/yargs/build/lib/utils/apply-extends.js +59 -0
- package/test/node_modules/yargs/build/lib/utils/is-promise.js +5 -0
- package/test/node_modules/yargs/build/lib/utils/levenshtein.js +34 -0
- package/test/node_modules/yargs/build/lib/utils/maybe-async-result.js +17 -0
- package/test/node_modules/yargs/build/lib/utils/obj-filter.js +10 -0
- package/test/node_modules/yargs/build/lib/utils/process-argv.js +17 -0
- package/test/node_modules/yargs/build/lib/utils/set-blocking.js +12 -0
- package/test/node_modules/yargs/build/lib/utils/which-module.js +10 -0
- package/test/node_modules/yargs/build/lib/validation.js +305 -0
- package/test/node_modules/yargs/build/lib/yargs-factory.js +1512 -0
- package/test/node_modules/yargs/build/lib/yerror.js +9 -0
- package/test/node_modules/yargs/helpers/helpers.mjs +10 -0
- package/test/node_modules/yargs/helpers/index.js +14 -0
- package/test/node_modules/yargs/helpers/package.json +3 -0
- package/test/node_modules/yargs/index.cjs +53 -0
- package/test/node_modules/yargs/index.mjs +8 -0
- package/test/node_modules/yargs/lib/platform-shims/browser.mjs +95 -0
- package/test/node_modules/yargs/lib/platform-shims/esm.mjs +73 -0
- package/test/node_modules/yargs/locales/be.json +46 -0
- package/test/node_modules/yargs/locales/cs.json +51 -0
- package/test/node_modules/yargs/locales/de.json +46 -0
- package/test/node_modules/yargs/locales/en.json +55 -0
- package/test/node_modules/yargs/locales/es.json +46 -0
- package/test/node_modules/yargs/locales/fi.json +49 -0
- package/test/node_modules/yargs/locales/fr.json +53 -0
- package/test/node_modules/yargs/locales/hi.json +49 -0
- package/test/node_modules/yargs/locales/hu.json +46 -0
- package/test/node_modules/yargs/locales/id.json +50 -0
- package/test/node_modules/yargs/locales/it.json +46 -0
- package/test/node_modules/yargs/locales/ja.json +51 -0
- package/test/node_modules/yargs/locales/ko.json +49 -0
- package/test/node_modules/yargs/locales/nb.json +44 -0
- package/test/node_modules/yargs/locales/nl.json +49 -0
- package/test/node_modules/yargs/locales/nn.json +44 -0
- package/test/node_modules/yargs/locales/pirate.json +13 -0
- package/test/node_modules/yargs/locales/pl.json +49 -0
- package/test/node_modules/yargs/locales/pt.json +45 -0
- package/test/node_modules/yargs/locales/pt_BR.json +48 -0
- package/test/node_modules/yargs/locales/ru.json +51 -0
- package/test/node_modules/yargs/locales/th.json +46 -0
- package/test/node_modules/yargs/locales/tr.json +48 -0
- package/test/node_modules/yargs/locales/uk_UA.json +51 -0
- package/test/node_modules/yargs/locales/uz.json +52 -0
- package/test/node_modules/yargs/locales/zh_CN.json +48 -0
- package/test/node_modules/yargs/locales/zh_TW.json +51 -0
- package/test/node_modules/yargs/node_modules/ansi-regex/index.d.ts +37 -0
- package/test/node_modules/yargs/node_modules/ansi-regex/index.js +10 -0
- package/test/node_modules/yargs/node_modules/ansi-regex/license +9 -0
- package/test/node_modules/yargs/node_modules/ansi-regex/package.json +55 -0
- package/test/node_modules/yargs/node_modules/ansi-regex/readme.md +78 -0
- package/test/node_modules/yargs/node_modules/emoji-regex/LICENSE-MIT.txt +20 -0
- package/test/node_modules/yargs/node_modules/emoji-regex/README.md +73 -0
- package/test/node_modules/yargs/node_modules/emoji-regex/es2015/index.js +6 -0
- package/test/node_modules/yargs/node_modules/emoji-regex/es2015/text.js +6 -0
- package/test/node_modules/yargs/node_modules/emoji-regex/index.d.ts +23 -0
- package/test/node_modules/yargs/node_modules/emoji-regex/index.js +6 -0
- package/test/node_modules/yargs/node_modules/emoji-regex/package.json +50 -0
- package/test/node_modules/yargs/node_modules/emoji-regex/text.js +6 -0
- package/test/node_modules/yargs/node_modules/string-width/index.d.ts +29 -0
- package/test/node_modules/yargs/node_modules/string-width/index.js +47 -0
- package/test/node_modules/yargs/node_modules/string-width/license +9 -0
- package/test/node_modules/yargs/node_modules/string-width/package.json +56 -0
- package/test/node_modules/yargs/node_modules/string-width/readme.md +50 -0
- package/test/node_modules/yargs/node_modules/strip-ansi/index.d.ts +17 -0
- package/test/node_modules/yargs/node_modules/strip-ansi/index.js +4 -0
- package/test/node_modules/yargs/node_modules/strip-ansi/license +9 -0
- package/test/node_modules/yargs/node_modules/strip-ansi/package.json +54 -0
- package/test/node_modules/yargs/node_modules/strip-ansi/readme.md +46 -0
- package/test/node_modules/yargs/package.json +123 -0
- package/test/node_modules/yargs/yargs +9 -0
- package/test/node_modules/yargs/yargs.mjs +10 -0
- package/test/node_modules/yargs-parser/CHANGELOG.md +308 -0
- package/test/node_modules/yargs-parser/LICENSE.txt +14 -0
- package/test/node_modules/yargs-parser/README.md +518 -0
- package/test/node_modules/yargs-parser/browser.js +29 -0
- package/test/node_modules/yargs-parser/build/index.cjs +1050 -0
- package/test/node_modules/yargs-parser/build/lib/index.js +62 -0
- package/test/node_modules/yargs-parser/build/lib/string-utils.js +65 -0
- package/test/node_modules/yargs-parser/build/lib/tokenize-arg-string.js +40 -0
- package/test/node_modules/yargs-parser/build/lib/yargs-parser-types.js +12 -0
- package/test/node_modules/yargs-parser/build/lib/yargs-parser.js +1045 -0
- package/test/node_modules/yargs-parser/package.json +92 -0
- package/test/node_modules/yargs-unparser/CHANGELOG.md +82 -0
- package/test/node_modules/yargs-unparser/LICENSE +21 -0
- package/test/node_modules/yargs-unparser/README.md +86 -0
- package/test/node_modules/yargs-unparser/index.js +166 -0
- package/test/node_modules/yargs-unparser/package.json +49 -0
- package/test/node_modules/yocto-queue/index.d.ts +56 -0
- package/test/node_modules/yocto-queue/index.js +68 -0
- package/test/node_modules/yocto-queue/license +9 -0
- package/test/node_modules/yocto-queue/package.json +43 -0
- package/test/node_modules/yocto-queue/readme.md +64 -0
- package/test/package-lock.json +1997 -0
- package/test/package.json +20 -0
- 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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
|