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