1298 lines
56 KiB
C++
1298 lines
56 KiB
C++
#include <gtest/gtest.h>
|
|
#include <sodium.h>
|
|
|
|
#include <rust/ed25519.h>
|
|
|
|
#include "uint256.h"
|
|
#include "util/strencodings.h"
|
|
|
|
void TestLibsodiumEd25519SignatureVerification(
|
|
const std::string &scope,
|
|
const std::string &msg,
|
|
std::vector<unsigned char> pubkey,
|
|
std::vector<unsigned char> sig)
|
|
{
|
|
SCOPED_TRACE(scope);
|
|
|
|
Ed25519VerificationKey vk;
|
|
std::copy(pubkey.begin(), pubkey.end(), vk.bytes);
|
|
|
|
Ed25519Signature signature;
|
|
std::copy(sig.begin(), sig.end(), signature.bytes);
|
|
|
|
EXPECT_EQ(
|
|
crypto_sign_verify_detached(
|
|
sig.data(),
|
|
(const unsigned char*)msg.data(), msg.size(),
|
|
pubkey.data()),
|
|
0);
|
|
|
|
EXPECT_EQ(
|
|
ed25519_verify(&vk, &signature, (const unsigned char*)msg.data(), msg.size()),
|
|
true);
|
|
}
|
|
|
|
void ZIP215Check(
|
|
const char * pubkey,
|
|
const char * sig,
|
|
bool valid_legacy,
|
|
bool valid_zip215
|
|
)
|
|
{
|
|
std::vector<unsigned char> pubkey_hex = ParseHex(pubkey);
|
|
std::vector<unsigned char> sig_hex = ParseHex(sig);
|
|
|
|
Ed25519VerificationKey vk;
|
|
std::copy(pubkey_hex.begin(), pubkey_hex.end(), vk.bytes);
|
|
|
|
Ed25519Signature signature;
|
|
std::copy(sig_hex.begin(), sig_hex.end(), signature.bytes);
|
|
|
|
std::string msg("Zcash");
|
|
|
|
int expected_legacy = 0;
|
|
|
|
if (!valid_legacy) {
|
|
expected_legacy = -1;
|
|
}
|
|
|
|
EXPECT_EQ(
|
|
crypto_sign_verify_detached(
|
|
sig_hex.data(),
|
|
(const unsigned char*)msg.data(), msg.size(),
|
|
pubkey_hex.data()),
|
|
expected_legacy);
|
|
|
|
EXPECT_EQ(
|
|
ed25519_verify(&vk, &signature, (const unsigned char*)msg.data(), msg.size()),
|
|
valid_zip215);
|
|
}
|
|
|
|
TEST(ConsensusTests, LibsodiumPubkeyValidation) {
|
|
// libsodium <= 1.0.15 accepts valid signatures for a non-zero pubkey with
|
|
// small order; this is currently part of our consensus rules.
|
|
// libsodium >= 1.0.16 rejects all pubkeys with small order.
|
|
//
|
|
// These test vectors were generated by finding pairs of points (A, P) both
|
|
// in the eight-torsion subgroup such that R = B + P and R = [1] B - [k] A
|
|
// (where SHA512(bytes(R) || bytes(A) || message) represents k in
|
|
// little-endian order, as in Ed25519).
|
|
TestLibsodiumEd25519SignatureVerification(
|
|
"Test vector 1",
|
|
"zcash ed25519 libsodium compatibility",
|
|
ParseHex("0100000000000000000000000000000000000000000000000000000000000000"),
|
|
ParseHex("58666666666666666666666666666666666666666666666666666666666666660100000000000000000000000000000000000000000000000000000000000000"));
|
|
TestLibsodiumEd25519SignatureVerification(
|
|
"Test vector 2",
|
|
"zcash ed25519 libsodium compatibility",
|
|
ParseHex("0000000000000000000000000000000000000000000000000000000000000080"),
|
|
ParseHex("58666666666666666666666666666666666666666666666666666666666666660100000000000000000000000000000000000000000000000000000000000000"));
|
|
TestLibsodiumEd25519SignatureVerification(
|
|
"Test vector 3",
|
|
"zcash ed25519 libsodium compatibility",
|
|
ParseHex("26e8958fc2b227b045c3f489f2ef98f0d5dfac05d3c63339b13802886d53fc85"),
|
|
ParseHex("da99e28ba529cdde35a25fba9059e78ecaee239f99755b9b1aa4f65df00803e20100000000000000000000000000000000000000000000000000000000000000"));
|
|
TestLibsodiumEd25519SignatureVerification(
|
|
"Test vector 4",
|
|
"zcash ed25519 libsodium compatibility",
|
|
ParseHex("c7176a703d4dd84fba3c0b760d10670f2a2053fa2c39ccc64ec7fd7792ac037a"),
|
|
ParseHex("95999999999999999999999999999999999999999999999999999999999999990100000000000000000000000000000000000000000000000000000000000000"));
|
|
TestLibsodiumEd25519SignatureVerification(
|
|
"Test vector 5",
|
|
"zcash ed25519 libsodium compatibility",
|
|
ParseHex("26e8958fc2b227b045c3f489f2ef98f0d5dfac05d3c63339b13802886d53fc85"),
|
|
ParseHex("13661d745ad63221ca5da0456fa618713511dc60668aa464e55b09a20ff7fc1d0100000000000000000000000000000000000000000000000000000000000000"));
|
|
|
|
// libsodium <= 1.0.15 contains a blocklist of small-order points that R is
|
|
// checked against. However, it does not contain all canonical small-order
|
|
// points; in particular, it is missing the negative of one of the points.
|
|
//
|
|
// This test case is the only pair of points (A, R) both in the eight-torsion
|
|
// subgroup, that satisfies R = [0] B - [k] A and also evades the blocklist.
|
|
TestLibsodiumEd25519SignatureVerification(
|
|
"Small order R that is not rejected by libsodium <= 1.0.15",
|
|
"zcash ed25519 libsodium compatibility",
|
|
ParseHex("c7176a703d4dd84fba3c0b760d10670f2a2053fa2c39ccc64ec7fd7792ac037a"),
|
|
ParseHex("26e8958fc2b227b045c3f489f2ef98f0d5dfac05d3c63339b13802886d53fc850000000000000000000000000000000000000000000000000000000000000000"));
|
|
}
|
|
|
|
TEST(ConsensusTests, ZIP215TestVectors) {
|
|
// These test vectors are courtesy of Henry de Valence from the Zcash Foundation.
|
|
|
|
ZIP215Check(
|
|
"0100000000000000000000000000000000000000000000000000000000000000",
|
|
"01000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
|
|
false,
|
|
true
|
|
);
|
|
ZIP215Check(
|
|
"0100000000000000000000000000000000000000000000000000000000000000",
|
|
"c7176a703d4dd84fba3c0b760d10670f2a2053fa2c39ccc64ec7fd7792ac037a0000000000000000000000000000000000000000000000000000000000000000",
|
|
false,
|
|
true
|
|
);
|
|
ZIP215Check(
|
|
"0100000000000000000000000000000000000000000000000000000000000000",
|
|
"00000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000",
|
|
false,
|
|
true
|
|
);
|
|
ZIP215Check(
|
|
"0100000000000000000000000000000000000000000000000000000000000000",
|
|
"26e8958fc2b227b045c3f489f2ef98f0d5dfac05d3c63339b13802886d53fc050000000000000000000000000000000000000000000000000000000000000000",
|
|
false,
|
|
true
|
|
);
|
|
ZIP215Check(
|
|
"0100000000000000000000000000000000000000000000000000000000000000",
|
|
"ecffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000",
|
|
false,
|
|
true
|
|
);
|
|
ZIP215Check(
|
|
"0100000000000000000000000000000000000000000000000000000000000000",
|
|
"26e8958fc2b227b045c3f489f2ef98f0d5dfac05d3c63339b13802886d53fc850000000000000000000000000000000000000000000000000000000000000000",
|
|
false,
|
|
true
|
|
);
|
|
ZIP215Check(
|
|
"0100000000000000000000000000000000000000000000000000000000000000",
|
|
"00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
|
|
false,
|
|
true
|
|
);
|
|
ZIP215Check(
|
|
"0100000000000000000000000000000000000000000000000000000000000000",
|
|
"c7176a703d4dd84fba3c0b760d10670f2a2053fa2c39ccc64ec7fd7792ac03fa0000000000000000000000000000000000000000000000000000000000000000",
|
|
false,
|
|
true
|
|
);
|
|
ZIP215Check(
|
|
"0100000000000000000000000000000000000000000000000000000000000000",
|
|
"01000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000",
|
|
false,
|
|
true
|
|
);
|
|
ZIP215Check(
|
|
"0100000000000000000000000000000000000000000000000000000000000000",
|
|
"ecffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000000000000",
|
|
false,
|
|
true
|
|
);
|
|
ZIP215Check(
|
|
"0100000000000000000000000000000000000000000000000000000000000000",
|
|
"edffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000",
|
|
false,
|
|
true
|
|
);
|
|
ZIP215Check(
|
|
"0100000000000000000000000000000000000000000000000000000000000000",
|
|
"edffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000000000000",
|
|
false,
|
|
true
|
|
);
|
|
ZIP215Check(
|
|
"0100000000000000000000000000000000000000000000000000000000000000",
|
|
"eeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000",
|
|
false,
|
|
true
|
|
);
|
|
ZIP215Check(
|
|
"0100000000000000000000000000000000000000000000000000000000000000",
|
|
"eeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000000000000",
|
|
false,
|
|
true
|
|
);
|
|
ZIP215Check(
|
|
"c7176a703d4dd84fba3c0b760d10670f2a2053fa2c39ccc64ec7fd7792ac037a",
|
|
"01000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
|
|
false,
|
|
true
|
|
);
|
|
ZIP215Check(
|
|
"c7176a703d4dd84fba3c0b760d10670f2a2053fa2c39ccc64ec7fd7792ac037a",
|
|
"c7176a703d4dd84fba3c0b760d10670f2a2053fa2c39ccc64ec7fd7792ac037a0000000000000000000000000000000000000000000000000000000000000000",
|
|
false,
|
|
true
|
|
);
|
|
ZIP215Check(
|
|
"c7176a703d4dd84fba3c0b760d10670f2a2053fa2c39ccc64ec7fd7792ac037a",
|
|
"00000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000",
|
|
true,
|
|
true
|
|
);
|
|
ZIP215Check(
|
|
"c7176a703d4dd84fba3c0b760d10670f2a2053fa2c39ccc64ec7fd7792ac037a",
|
|
"26e8958fc2b227b045c3f489f2ef98f0d5dfac05d3c63339b13802886d53fc050000000000000000000000000000000000000000000000000000000000000000",
|
|
false,
|
|
true
|
|
);
|
|
ZIP215Check(
|
|
"c7176a703d4dd84fba3c0b760d10670f2a2053fa2c39ccc64ec7fd7792ac037a",
|
|
"ecffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000",
|
|
false,
|
|
true
|
|
);
|
|
ZIP215Check(
|
|
"c7176a703d4dd84fba3c0b760d10670f2a2053fa2c39ccc64ec7fd7792ac037a",
|
|
"26e8958fc2b227b045c3f489f2ef98f0d5dfac05d3c63339b13802886d53fc850000000000000000000000000000000000000000000000000000000000000000",
|
|
true,
|
|
true
|
|
);
|
|
ZIP215Check(
|
|
"c7176a703d4dd84fba3c0b760d10670f2a2053fa2c39ccc64ec7fd7792ac037a",
|
|
"00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
|
|
false,
|
|
true
|
|
);
|
|
ZIP215Check(
|
|
"c7176a703d4dd84fba3c0b760d10670f2a2053fa2c39ccc64ec7fd7792ac037a",
|
|
"c7176a703d4dd84fba3c0b760d10670f2a2053fa2c39ccc64ec7fd7792ac03fa0000000000000000000000000000000000000000000000000000000000000000",
|
|
false,
|
|
true
|
|
);
|
|
ZIP215Check(
|
|
"c7176a703d4dd84fba3c0b760d10670f2a2053fa2c39ccc64ec7fd7792ac037a",
|
|
"01000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000",
|
|
false,
|
|
true
|
|
);
|
|
ZIP215Check(
|
|
"c7176a703d4dd84fba3c0b760d10670f2a2053fa2c39ccc64ec7fd7792ac037a",
|
|
"ecffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000000000000",
|
|
false,
|
|
true
|
|
);
|
|
ZIP215Check(
|
|
"c7176a703d4dd84fba3c0b760d10670f2a2053fa2c39ccc64ec7fd7792ac037a",
|
|
"edffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000",
|
|
false,
|
|
true
|
|
);
|
|
ZIP215Check(
|
|
"c7176a703d4dd84fba3c0b760d10670f2a2053fa2c39ccc64ec7fd7792ac037a",
|
|
"edffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000000000000",
|
|
false,
|
|
true
|
|
);
|
|
ZIP215Check(
|
|
"c7176a703d4dd84fba3c0b760d10670f2a2053fa2c39ccc64ec7fd7792ac037a",
|
|
"eeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000",
|
|
false,
|
|
true
|
|
);
|
|
ZIP215Check(
|
|
"c7176a703d4dd84fba3c0b760d10670f2a2053fa2c39ccc64ec7fd7792ac037a",
|
|
"eeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000000000000",
|
|
false,
|
|
true
|
|
);
|
|
ZIP215Check(
|
|
"0000000000000000000000000000000000000000000000000000000000000080",
|
|
"01000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
|
|
false,
|
|
true
|
|
);
|
|
ZIP215Check(
|
|
"0000000000000000000000000000000000000000000000000000000000000080",
|
|
"c7176a703d4dd84fba3c0b760d10670f2a2053fa2c39ccc64ec7fd7792ac037a0000000000000000000000000000000000000000000000000000000000000000",
|
|
false,
|
|
true
|
|
);
|
|
ZIP215Check(
|
|
"0000000000000000000000000000000000000000000000000000000000000080",
|
|
"00000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000",
|
|
false,
|
|
true
|
|
);
|
|
ZIP215Check(
|
|
"0000000000000000000000000000000000000000000000000000000000000080",
|
|
"26e8958fc2b227b045c3f489f2ef98f0d5dfac05d3c63339b13802886d53fc050000000000000000000000000000000000000000000000000000000000000000",
|
|
false,
|
|
true
|
|
);
|
|
ZIP215Check(
|
|
"0000000000000000000000000000000000000000000000000000000000000080",
|
|
"ecffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000",
|
|
false,
|
|
true
|
|
);
|
|
ZIP215Check(
|
|
"0000000000000000000000000000000000000000000000000000000000000080",
|
|
"26e8958fc2b227b045c3f489f2ef98f0d5dfac05d3c63339b13802886d53fc850000000000000000000000000000000000000000000000000000000000000000",
|
|
false,
|
|
true
|
|
);
|
|
ZIP215Check(
|
|
"0000000000000000000000000000000000000000000000000000000000000080",
|
|
"00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
|
|
false,
|
|
true
|
|
);
|
|
ZIP215Check(
|
|
"0000000000000000000000000000000000000000000000000000000000000080",
|
|
"c7176a703d4dd84fba3c0b760d10670f2a2053fa2c39ccc64ec7fd7792ac03fa0000000000000000000000000000000000000000000000000000000000000000",
|
|
false,
|
|
true
|
|
);
|
|
ZIP215Check(
|
|
"0000000000000000000000000000000000000000000000000000000000000080",
|
|
"01000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000",
|
|
false,
|
|
true
|
|
);
|
|
ZIP215Check(
|
|
"0000000000000000000000000000000000000000000000000000000000000080",
|
|
"ecffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000000000000",
|
|
false,
|
|
true
|
|
);
|
|
ZIP215Check(
|
|
"0000000000000000000000000000000000000000000000000000000000000080",
|
|
"edffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000",
|
|
false,
|
|
true
|
|
);
|
|
ZIP215Check(
|
|
"0000000000000000000000000000000000000000000000000000000000000080",
|
|
"edffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000000000000",
|
|
false,
|
|
true
|
|
);
|
|
ZIP215Check(
|
|
"0000000000000000000000000000000000000000000000000000000000000080",
|
|
"eeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000",
|
|
false,
|
|
true
|
|
);
|
|
ZIP215Check(
|
|
"0000000000000000000000000000000000000000000000000000000000000080",
|
|
"eeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000000000000",
|
|
false,
|
|
true
|
|
);
|
|
ZIP215Check(
|
|
"26e8958fc2b227b045c3f489f2ef98f0d5dfac05d3c63339b13802886d53fc05",
|
|
"01000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
|
|
false,
|
|
true
|
|
);
|
|
ZIP215Check(
|
|
"26e8958fc2b227b045c3f489f2ef98f0d5dfac05d3c63339b13802886d53fc05",
|
|
"c7176a703d4dd84fba3c0b760d10670f2a2053fa2c39ccc64ec7fd7792ac037a0000000000000000000000000000000000000000000000000000000000000000",
|
|
false,
|
|
true
|
|
);
|
|
ZIP215Check(
|
|
"26e8958fc2b227b045c3f489f2ef98f0d5dfac05d3c63339b13802886d53fc05",
|
|
"00000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000",
|
|
false,
|
|
true
|
|
);
|
|
ZIP215Check(
|
|
"26e8958fc2b227b045c3f489f2ef98f0d5dfac05d3c63339b13802886d53fc05",
|
|
"26e8958fc2b227b045c3f489f2ef98f0d5dfac05d3c63339b13802886d53fc050000000000000000000000000000000000000000000000000000000000000000",
|
|
false,
|
|
true
|
|
);
|
|
ZIP215Check(
|
|
"26e8958fc2b227b045c3f489f2ef98f0d5dfac05d3c63339b13802886d53fc05",
|
|
"ecffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000",
|
|
false,
|
|
true
|
|
);
|
|
ZIP215Check(
|
|
"26e8958fc2b227b045c3f489f2ef98f0d5dfac05d3c63339b13802886d53fc05",
|
|
"26e8958fc2b227b045c3f489f2ef98f0d5dfac05d3c63339b13802886d53fc850000000000000000000000000000000000000000000000000000000000000000",
|
|
false,
|
|
true
|
|
);
|
|
ZIP215Check(
|
|
"26e8958fc2b227b045c3f489f2ef98f0d5dfac05d3c63339b13802886d53fc05",
|
|
"00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
|
|
false,
|
|
true
|
|
);
|
|
ZIP215Check(
|
|
"26e8958fc2b227b045c3f489f2ef98f0d5dfac05d3c63339b13802886d53fc05",
|
|
"c7176a703d4dd84fba3c0b760d10670f2a2053fa2c39ccc64ec7fd7792ac03fa0000000000000000000000000000000000000000000000000000000000000000",
|
|
false,
|
|
true
|
|
);
|
|
ZIP215Check(
|
|
"26e8958fc2b227b045c3f489f2ef98f0d5dfac05d3c63339b13802886d53fc05",
|
|
"01000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000",
|
|
false,
|
|
true
|
|
);
|
|
ZIP215Check(
|
|
"26e8958fc2b227b045c3f489f2ef98f0d5dfac05d3c63339b13802886d53fc05",
|
|
"ecffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000000000000",
|
|
false,
|
|
true
|
|
);
|
|
ZIP215Check(
|
|
"26e8958fc2b227b045c3f489f2ef98f0d5dfac05d3c63339b13802886d53fc05",
|
|
"edffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000",
|
|
false,
|
|
true
|
|
);
|
|
ZIP215Check(
|
|
"26e8958fc2b227b045c3f489f2ef98f0d5dfac05d3c63339b13802886d53fc05",
|
|
"edffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000000000000",
|
|
false,
|
|
true
|
|
);
|
|
ZIP215Check(
|
|
"26e8958fc2b227b045c3f489f2ef98f0d5dfac05d3c63339b13802886d53fc05",
|
|
"eeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000",
|
|
false,
|
|
true
|
|
);
|
|
ZIP215Check(
|
|
"26e8958fc2b227b045c3f489f2ef98f0d5dfac05d3c63339b13802886d53fc05",
|
|
"eeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000000000000",
|
|
false,
|
|
true
|
|
);
|
|
ZIP215Check(
|
|
"ecffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f",
|
|
"01000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
|
|
false,
|
|
true
|
|
);
|
|
ZIP215Check(
|
|
"ecffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f",
|
|
"c7176a703d4dd84fba3c0b760d10670f2a2053fa2c39ccc64ec7fd7792ac037a0000000000000000000000000000000000000000000000000000000000000000",
|
|
false,
|
|
true
|
|
);
|
|
ZIP215Check(
|
|
"ecffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f",
|
|
"00000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000",
|
|
false,
|
|
true
|
|
);
|
|
ZIP215Check(
|
|
"ecffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f",
|
|
"26e8958fc2b227b045c3f489f2ef98f0d5dfac05d3c63339b13802886d53fc050000000000000000000000000000000000000000000000000000000000000000",
|
|
false,
|
|
true
|
|
);
|
|
ZIP215Check(
|
|
"ecffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f",
|
|
"ecffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000",
|
|
false,
|
|
true
|
|
);
|
|
ZIP215Check(
|
|
"ecffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f",
|
|
"26e8958fc2b227b045c3f489f2ef98f0d5dfac05d3c63339b13802886d53fc850000000000000000000000000000000000000000000000000000000000000000",
|
|
false,
|
|
true
|
|
);
|
|
ZIP215Check(
|
|
"ecffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f",
|
|
"00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
|
|
false,
|
|
true
|
|
);
|
|
ZIP215Check(
|
|
"ecffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f",
|
|
"c7176a703d4dd84fba3c0b760d10670f2a2053fa2c39ccc64ec7fd7792ac03fa0000000000000000000000000000000000000000000000000000000000000000",
|
|
false,
|
|
true
|
|
);
|
|
ZIP215Check(
|
|
"ecffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f",
|
|
"01000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000",
|
|
false,
|
|
true
|
|
);
|
|
ZIP215Check(
|
|
"ecffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f",
|
|
"ecffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000000000000",
|
|
false,
|
|
true
|
|
);
|
|
ZIP215Check(
|
|
"ecffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f",
|
|
"edffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000",
|
|
false,
|
|
true
|
|
);
|
|
ZIP215Check(
|
|
"ecffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f",
|
|
"edffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000000000000",
|
|
false,
|
|
true
|
|
);
|
|
ZIP215Check(
|
|
"ecffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f",
|
|
"eeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000",
|
|
false,
|
|
true
|
|
);
|
|
ZIP215Check(
|
|
"ecffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f",
|
|
"eeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000000000000",
|
|
false,
|
|
true
|
|
);
|
|
ZIP215Check(
|
|
"26e8958fc2b227b045c3f489f2ef98f0d5dfac05d3c63339b13802886d53fc85",
|
|
"01000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
|
|
false,
|
|
true
|
|
);
|
|
ZIP215Check(
|
|
"26e8958fc2b227b045c3f489f2ef98f0d5dfac05d3c63339b13802886d53fc85",
|
|
"c7176a703d4dd84fba3c0b760d10670f2a2053fa2c39ccc64ec7fd7792ac037a0000000000000000000000000000000000000000000000000000000000000000",
|
|
false,
|
|
true
|
|
);
|
|
ZIP215Check(
|
|
"26e8958fc2b227b045c3f489f2ef98f0d5dfac05d3c63339b13802886d53fc85",
|
|
"00000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000",
|
|
false,
|
|
true
|
|
);
|
|
ZIP215Check(
|
|
"26e8958fc2b227b045c3f489f2ef98f0d5dfac05d3c63339b13802886d53fc85",
|
|
"26e8958fc2b227b045c3f489f2ef98f0d5dfac05d3c63339b13802886d53fc050000000000000000000000000000000000000000000000000000000000000000",
|
|
false,
|
|
true
|
|
);
|
|
ZIP215Check(
|
|
"26e8958fc2b227b045c3f489f2ef98f0d5dfac05d3c63339b13802886d53fc85",
|
|
"ecffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000",
|
|
false,
|
|
true
|
|
);
|
|
ZIP215Check(
|
|
"26e8958fc2b227b045c3f489f2ef98f0d5dfac05d3c63339b13802886d53fc85",
|
|
"26e8958fc2b227b045c3f489f2ef98f0d5dfac05d3c63339b13802886d53fc850000000000000000000000000000000000000000000000000000000000000000",
|
|
true,
|
|
true
|
|
);
|
|
ZIP215Check(
|
|
"26e8958fc2b227b045c3f489f2ef98f0d5dfac05d3c63339b13802886d53fc85",
|
|
"00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
|
|
false,
|
|
true
|
|
);
|
|
ZIP215Check(
|
|
"26e8958fc2b227b045c3f489f2ef98f0d5dfac05d3c63339b13802886d53fc85",
|
|
"c7176a703d4dd84fba3c0b760d10670f2a2053fa2c39ccc64ec7fd7792ac03fa0000000000000000000000000000000000000000000000000000000000000000",
|
|
false,
|
|
true
|
|
);
|
|
ZIP215Check(
|
|
"26e8958fc2b227b045c3f489f2ef98f0d5dfac05d3c63339b13802886d53fc85",
|
|
"01000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000",
|
|
false,
|
|
true
|
|
);
|
|
ZIP215Check(
|
|
"26e8958fc2b227b045c3f489f2ef98f0d5dfac05d3c63339b13802886d53fc85",
|
|
"ecffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000000000000",
|
|
false,
|
|
true
|
|
);
|
|
ZIP215Check(
|
|
"26e8958fc2b227b045c3f489f2ef98f0d5dfac05d3c63339b13802886d53fc85",
|
|
"edffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000",
|
|
false,
|
|
true
|
|
);
|
|
ZIP215Check(
|
|
"26e8958fc2b227b045c3f489f2ef98f0d5dfac05d3c63339b13802886d53fc85",
|
|
"edffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000000000000",
|
|
false,
|
|
true
|
|
);
|
|
ZIP215Check(
|
|
"26e8958fc2b227b045c3f489f2ef98f0d5dfac05d3c63339b13802886d53fc85",
|
|
"eeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000",
|
|
false,
|
|
true
|
|
);
|
|
ZIP215Check(
|
|
"26e8958fc2b227b045c3f489f2ef98f0d5dfac05d3c63339b13802886d53fc85",
|
|
"eeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000000000000",
|
|
false,
|
|
true
|
|
);
|
|
ZIP215Check(
|
|
"0000000000000000000000000000000000000000000000000000000000000000",
|
|
"01000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
|
|
false,
|
|
true
|
|
);
|
|
ZIP215Check(
|
|
"0000000000000000000000000000000000000000000000000000000000000000",
|
|
"c7176a703d4dd84fba3c0b760d10670f2a2053fa2c39ccc64ec7fd7792ac037a0000000000000000000000000000000000000000000000000000000000000000",
|
|
false,
|
|
true
|
|
);
|
|
ZIP215Check(
|
|
"0000000000000000000000000000000000000000000000000000000000000000",
|
|
"00000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000",
|
|
false,
|
|
true
|
|
);
|
|
ZIP215Check(
|
|
"0000000000000000000000000000000000000000000000000000000000000000",
|
|
"26e8958fc2b227b045c3f489f2ef98f0d5dfac05d3c63339b13802886d53fc050000000000000000000000000000000000000000000000000000000000000000",
|
|
false,
|
|
true
|
|
);
|
|
ZIP215Check(
|
|
"0000000000000000000000000000000000000000000000000000000000000000",
|
|
"ecffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000",
|
|
false,
|
|
true
|
|
);
|
|
ZIP215Check(
|
|
"0000000000000000000000000000000000000000000000000000000000000000",
|
|
"26e8958fc2b227b045c3f489f2ef98f0d5dfac05d3c63339b13802886d53fc850000000000000000000000000000000000000000000000000000000000000000",
|
|
false,
|
|
true
|
|
);
|
|
ZIP215Check(
|
|
"0000000000000000000000000000000000000000000000000000000000000000",
|
|
"00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
|
|
false,
|
|
true
|
|
);
|
|
ZIP215Check(
|
|
"0000000000000000000000000000000000000000000000000000000000000000",
|
|
"c7176a703d4dd84fba3c0b760d10670f2a2053fa2c39ccc64ec7fd7792ac03fa0000000000000000000000000000000000000000000000000000000000000000",
|
|
false,
|
|
true
|
|
);
|
|
ZIP215Check(
|
|
"0000000000000000000000000000000000000000000000000000000000000000",
|
|
"01000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000",
|
|
false,
|
|
true
|
|
);
|
|
ZIP215Check(
|
|
"0000000000000000000000000000000000000000000000000000000000000000",
|
|
"ecffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000000000000",
|
|
false,
|
|
true
|
|
);
|
|
ZIP215Check(
|
|
"0000000000000000000000000000000000000000000000000000000000000000",
|
|
"edffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000",
|
|
false,
|
|
true
|
|
);
|
|
ZIP215Check(
|
|
"0000000000000000000000000000000000000000000000000000000000000000",
|
|
"edffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000000000000",
|
|
false,
|
|
true
|
|
);
|
|
ZIP215Check(
|
|
"0000000000000000000000000000000000000000000000000000000000000000",
|
|
"eeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000",
|
|
false,
|
|
true
|
|
);
|
|
ZIP215Check(
|
|
"0000000000000000000000000000000000000000000000000000000000000000",
|
|
"eeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000000000000",
|
|
false,
|
|
true
|
|
);
|
|
ZIP215Check(
|
|
"c7176a703d4dd84fba3c0b760d10670f2a2053fa2c39ccc64ec7fd7792ac03fa",
|
|
"01000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
|
|
false,
|
|
true
|
|
);
|
|
ZIP215Check(
|
|
"c7176a703d4dd84fba3c0b760d10670f2a2053fa2c39ccc64ec7fd7792ac03fa",
|
|
"c7176a703d4dd84fba3c0b760d10670f2a2053fa2c39ccc64ec7fd7792ac037a0000000000000000000000000000000000000000000000000000000000000000",
|
|
false,
|
|
true
|
|
);
|
|
ZIP215Check(
|
|
"c7176a703d4dd84fba3c0b760d10670f2a2053fa2c39ccc64ec7fd7792ac03fa",
|
|
"00000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000",
|
|
false,
|
|
true
|
|
);
|
|
ZIP215Check(
|
|
"c7176a703d4dd84fba3c0b760d10670f2a2053fa2c39ccc64ec7fd7792ac03fa",
|
|
"26e8958fc2b227b045c3f489f2ef98f0d5dfac05d3c63339b13802886d53fc050000000000000000000000000000000000000000000000000000000000000000",
|
|
false,
|
|
true
|
|
);
|
|
ZIP215Check(
|
|
"c7176a703d4dd84fba3c0b760d10670f2a2053fa2c39ccc64ec7fd7792ac03fa",
|
|
"ecffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000",
|
|
false,
|
|
true
|
|
);
|
|
ZIP215Check(
|
|
"c7176a703d4dd84fba3c0b760d10670f2a2053fa2c39ccc64ec7fd7792ac03fa",
|
|
"26e8958fc2b227b045c3f489f2ef98f0d5dfac05d3c63339b13802886d53fc850000000000000000000000000000000000000000000000000000000000000000",
|
|
false,
|
|
true
|
|
);
|
|
ZIP215Check(
|
|
"c7176a703d4dd84fba3c0b760d10670f2a2053fa2c39ccc64ec7fd7792ac03fa",
|
|
"00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
|
|
false,
|
|
true
|
|
);
|
|
ZIP215Check(
|
|
"c7176a703d4dd84fba3c0b760d10670f2a2053fa2c39ccc64ec7fd7792ac03fa",
|
|
"c7176a703d4dd84fba3c0b760d10670f2a2053fa2c39ccc64ec7fd7792ac03fa0000000000000000000000000000000000000000000000000000000000000000",
|
|
false,
|
|
true
|
|
);
|
|
ZIP215Check(
|
|
"c7176a703d4dd84fba3c0b760d10670f2a2053fa2c39ccc64ec7fd7792ac03fa",
|
|
"01000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000",
|
|
false,
|
|
true
|
|
);
|
|
ZIP215Check(
|
|
"c7176a703d4dd84fba3c0b760d10670f2a2053fa2c39ccc64ec7fd7792ac03fa",
|
|
"ecffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000000000000",
|
|
false,
|
|
true
|
|
);
|
|
ZIP215Check(
|
|
"c7176a703d4dd84fba3c0b760d10670f2a2053fa2c39ccc64ec7fd7792ac03fa",
|
|
"edffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000",
|
|
false,
|
|
true
|
|
);
|
|
ZIP215Check(
|
|
"c7176a703d4dd84fba3c0b760d10670f2a2053fa2c39ccc64ec7fd7792ac03fa",
|
|
"edffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000000000000",
|
|
false,
|
|
true
|
|
);
|
|
ZIP215Check(
|
|
"c7176a703d4dd84fba3c0b760d10670f2a2053fa2c39ccc64ec7fd7792ac03fa",
|
|
"eeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000",
|
|
false,
|
|
true
|
|
);
|
|
ZIP215Check(
|
|
"c7176a703d4dd84fba3c0b760d10670f2a2053fa2c39ccc64ec7fd7792ac03fa",
|
|
"eeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000000000000",
|
|
false,
|
|
true
|
|
);
|
|
ZIP215Check(
|
|
"0100000000000000000000000000000000000000000000000000000000000080",
|
|
"01000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
|
|
false,
|
|
true
|
|
);
|
|
ZIP215Check(
|
|
"0100000000000000000000000000000000000000000000000000000000000080",
|
|
"c7176a703d4dd84fba3c0b760d10670f2a2053fa2c39ccc64ec7fd7792ac037a0000000000000000000000000000000000000000000000000000000000000000",
|
|
false,
|
|
true
|
|
);
|
|
ZIP215Check(
|
|
"0100000000000000000000000000000000000000000000000000000000000080",
|
|
"00000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000",
|
|
false,
|
|
true
|
|
);
|
|
ZIP215Check(
|
|
"0100000000000000000000000000000000000000000000000000000000000080",
|
|
"26e8958fc2b227b045c3f489f2ef98f0d5dfac05d3c63339b13802886d53fc050000000000000000000000000000000000000000000000000000000000000000",
|
|
false,
|
|
true
|
|
);
|
|
ZIP215Check(
|
|
"0100000000000000000000000000000000000000000000000000000000000080",
|
|
"ecffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000",
|
|
false,
|
|
true
|
|
);
|
|
ZIP215Check(
|
|
"0100000000000000000000000000000000000000000000000000000000000080",
|
|
"26e8958fc2b227b045c3f489f2ef98f0d5dfac05d3c63339b13802886d53fc850000000000000000000000000000000000000000000000000000000000000000",
|
|
false,
|
|
true
|
|
);
|
|
ZIP215Check(
|
|
"0100000000000000000000000000000000000000000000000000000000000080",
|
|
"00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
|
|
false,
|
|
true
|
|
);
|
|
ZIP215Check(
|
|
"0100000000000000000000000000000000000000000000000000000000000080",
|
|
"c7176a703d4dd84fba3c0b760d10670f2a2053fa2c39ccc64ec7fd7792ac03fa0000000000000000000000000000000000000000000000000000000000000000",
|
|
false,
|
|
true
|
|
);
|
|
ZIP215Check(
|
|
"0100000000000000000000000000000000000000000000000000000000000080",
|
|
"01000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000",
|
|
false,
|
|
true
|
|
);
|
|
ZIP215Check(
|
|
"0100000000000000000000000000000000000000000000000000000000000080",
|
|
"ecffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000000000000",
|
|
false,
|
|
true
|
|
);
|
|
ZIP215Check(
|
|
"0100000000000000000000000000000000000000000000000000000000000080",
|
|
"edffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000",
|
|
false,
|
|
true
|
|
);
|
|
ZIP215Check(
|
|
"0100000000000000000000000000000000000000000000000000000000000080",
|
|
"edffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000000000000",
|
|
false,
|
|
true
|
|
);
|
|
ZIP215Check(
|
|
"0100000000000000000000000000000000000000000000000000000000000080",
|
|
"eeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000",
|
|
false,
|
|
true
|
|
);
|
|
ZIP215Check(
|
|
"0100000000000000000000000000000000000000000000000000000000000080",
|
|
"eeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000000000000",
|
|
false,
|
|
true
|
|
);
|
|
ZIP215Check(
|
|
"ecffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff",
|
|
"01000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
|
|
false,
|
|
true
|
|
);
|
|
ZIP215Check(
|
|
"ecffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff",
|
|
"c7176a703d4dd84fba3c0b760d10670f2a2053fa2c39ccc64ec7fd7792ac037a0000000000000000000000000000000000000000000000000000000000000000",
|
|
false,
|
|
true
|
|
);
|
|
ZIP215Check(
|
|
"ecffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff",
|
|
"00000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000",
|
|
false,
|
|
true
|
|
);
|
|
ZIP215Check(
|
|
"ecffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff",
|
|
"26e8958fc2b227b045c3f489f2ef98f0d5dfac05d3c63339b13802886d53fc050000000000000000000000000000000000000000000000000000000000000000",
|
|
false,
|
|
true
|
|
);
|
|
ZIP215Check(
|
|
"ecffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff",
|
|
"ecffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000",
|
|
false,
|
|
true
|
|
);
|
|
ZIP215Check(
|
|
"ecffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff",
|
|
"26e8958fc2b227b045c3f489f2ef98f0d5dfac05d3c63339b13802886d53fc850000000000000000000000000000000000000000000000000000000000000000",
|
|
false,
|
|
true
|
|
);
|
|
ZIP215Check(
|
|
"ecffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff",
|
|
"00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
|
|
false,
|
|
true
|
|
);
|
|
ZIP215Check(
|
|
"ecffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff",
|
|
"c7176a703d4dd84fba3c0b760d10670f2a2053fa2c39ccc64ec7fd7792ac03fa0000000000000000000000000000000000000000000000000000000000000000",
|
|
false,
|
|
true
|
|
);
|
|
ZIP215Check(
|
|
"ecffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff",
|
|
"01000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000",
|
|
false,
|
|
true
|
|
);
|
|
ZIP215Check(
|
|
"ecffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff",
|
|
"ecffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000000000000",
|
|
false,
|
|
true
|
|
);
|
|
ZIP215Check(
|
|
"ecffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff",
|
|
"edffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000",
|
|
false,
|
|
true
|
|
);
|
|
ZIP215Check(
|
|
"ecffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff",
|
|
"edffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000000000000",
|
|
false,
|
|
true
|
|
);
|
|
ZIP215Check(
|
|
"ecffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff",
|
|
"eeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000",
|
|
false,
|
|
true
|
|
);
|
|
ZIP215Check(
|
|
"ecffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff",
|
|
"eeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000000000000",
|
|
false,
|
|
true
|
|
);
|
|
ZIP215Check(
|
|
"edffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f",
|
|
"01000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
|
|
false,
|
|
true
|
|
);
|
|
ZIP215Check(
|
|
"edffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f",
|
|
"c7176a703d4dd84fba3c0b760d10670f2a2053fa2c39ccc64ec7fd7792ac037a0000000000000000000000000000000000000000000000000000000000000000",
|
|
false,
|
|
true
|
|
);
|
|
ZIP215Check(
|
|
"edffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f",
|
|
"00000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000",
|
|
false,
|
|
true
|
|
);
|
|
ZIP215Check(
|
|
"edffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f",
|
|
"26e8958fc2b227b045c3f489f2ef98f0d5dfac05d3c63339b13802886d53fc050000000000000000000000000000000000000000000000000000000000000000",
|
|
false,
|
|
true
|
|
);
|
|
ZIP215Check(
|
|
"edffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f",
|
|
"ecffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000",
|
|
false,
|
|
true
|
|
);
|
|
ZIP215Check(
|
|
"edffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f",
|
|
"26e8958fc2b227b045c3f489f2ef98f0d5dfac05d3c63339b13802886d53fc850000000000000000000000000000000000000000000000000000000000000000",
|
|
false,
|
|
true
|
|
);
|
|
ZIP215Check(
|
|
"edffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f",
|
|
"00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
|
|
false,
|
|
true
|
|
);
|
|
ZIP215Check(
|
|
"edffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f",
|
|
"c7176a703d4dd84fba3c0b760d10670f2a2053fa2c39ccc64ec7fd7792ac03fa0000000000000000000000000000000000000000000000000000000000000000",
|
|
false,
|
|
true
|
|
);
|
|
ZIP215Check(
|
|
"edffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f",
|
|
"01000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000",
|
|
false,
|
|
true
|
|
);
|
|
ZIP215Check(
|
|
"edffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f",
|
|
"ecffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000000000000",
|
|
false,
|
|
true
|
|
);
|
|
ZIP215Check(
|
|
"edffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f",
|
|
"edffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000",
|
|
false,
|
|
true
|
|
);
|
|
ZIP215Check(
|
|
"edffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f",
|
|
"edffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000000000000",
|
|
false,
|
|
true
|
|
);
|
|
ZIP215Check(
|
|
"edffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f",
|
|
"eeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000",
|
|
false,
|
|
true
|
|
);
|
|
ZIP215Check(
|
|
"edffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f",
|
|
"eeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000000000000",
|
|
false,
|
|
true
|
|
);
|
|
ZIP215Check(
|
|
"edffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff",
|
|
"01000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
|
|
false,
|
|
true
|
|
);
|
|
ZIP215Check(
|
|
"edffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff",
|
|
"c7176a703d4dd84fba3c0b760d10670f2a2053fa2c39ccc64ec7fd7792ac037a0000000000000000000000000000000000000000000000000000000000000000",
|
|
false,
|
|
true
|
|
);
|
|
ZIP215Check(
|
|
"edffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff",
|
|
"00000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000",
|
|
false,
|
|
true
|
|
);
|
|
ZIP215Check(
|
|
"edffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff",
|
|
"26e8958fc2b227b045c3f489f2ef98f0d5dfac05d3c63339b13802886d53fc050000000000000000000000000000000000000000000000000000000000000000",
|
|
false,
|
|
true
|
|
);
|
|
ZIP215Check(
|
|
"edffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff",
|
|
"ecffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000",
|
|
false,
|
|
true
|
|
);
|
|
ZIP215Check(
|
|
"edffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff",
|
|
"26e8958fc2b227b045c3f489f2ef98f0d5dfac05d3c63339b13802886d53fc850000000000000000000000000000000000000000000000000000000000000000",
|
|
false,
|
|
true
|
|
);
|
|
ZIP215Check(
|
|
"edffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff",
|
|
"00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
|
|
false,
|
|
true
|
|
);
|
|
ZIP215Check(
|
|
"edffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff",
|
|
"c7176a703d4dd84fba3c0b760d10670f2a2053fa2c39ccc64ec7fd7792ac03fa0000000000000000000000000000000000000000000000000000000000000000",
|
|
false,
|
|
true
|
|
);
|
|
ZIP215Check(
|
|
"edffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff",
|
|
"01000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000",
|
|
false,
|
|
true
|
|
);
|
|
ZIP215Check(
|
|
"edffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff",
|
|
"ecffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000000000000",
|
|
false,
|
|
true
|
|
);
|
|
ZIP215Check(
|
|
"edffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff",
|
|
"edffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000",
|
|
false,
|
|
true
|
|
);
|
|
ZIP215Check(
|
|
"edffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff",
|
|
"edffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000000000000",
|
|
false,
|
|
true
|
|
);
|
|
ZIP215Check(
|
|
"edffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff",
|
|
"eeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000",
|
|
false,
|
|
true
|
|
);
|
|
ZIP215Check(
|
|
"edffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff",
|
|
"eeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000000000000",
|
|
false,
|
|
true
|
|
);
|
|
ZIP215Check(
|
|
"eeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f",
|
|
"01000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
|
|
false,
|
|
true
|
|
);
|
|
ZIP215Check(
|
|
"eeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f",
|
|
"c7176a703d4dd84fba3c0b760d10670f2a2053fa2c39ccc64ec7fd7792ac037a0000000000000000000000000000000000000000000000000000000000000000",
|
|
false,
|
|
true
|
|
);
|
|
ZIP215Check(
|
|
"eeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f",
|
|
"00000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000",
|
|
false,
|
|
true
|
|
);
|
|
ZIP215Check(
|
|
"eeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f",
|
|
"26e8958fc2b227b045c3f489f2ef98f0d5dfac05d3c63339b13802886d53fc050000000000000000000000000000000000000000000000000000000000000000",
|
|
false,
|
|
true
|
|
);
|
|
ZIP215Check(
|
|
"eeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f",
|
|
"ecffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000",
|
|
false,
|
|
true
|
|
);
|
|
ZIP215Check(
|
|
"eeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f",
|
|
"26e8958fc2b227b045c3f489f2ef98f0d5dfac05d3c63339b13802886d53fc850000000000000000000000000000000000000000000000000000000000000000",
|
|
false,
|
|
true
|
|
);
|
|
ZIP215Check(
|
|
"eeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f",
|
|
"00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
|
|
false,
|
|
true
|
|
);
|
|
ZIP215Check(
|
|
"eeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f",
|
|
"c7176a703d4dd84fba3c0b760d10670f2a2053fa2c39ccc64ec7fd7792ac03fa0000000000000000000000000000000000000000000000000000000000000000",
|
|
false,
|
|
true
|
|
);
|
|
ZIP215Check(
|
|
"eeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f",
|
|
"01000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000",
|
|
false,
|
|
true
|
|
);
|
|
ZIP215Check(
|
|
"eeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f",
|
|
"ecffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000000000000",
|
|
false,
|
|
true
|
|
);
|
|
ZIP215Check(
|
|
"eeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f",
|
|
"edffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000",
|
|
false,
|
|
true
|
|
);
|
|
ZIP215Check(
|
|
"eeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f",
|
|
"edffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000000000000",
|
|
false,
|
|
true
|
|
);
|
|
ZIP215Check(
|
|
"eeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f",
|
|
"eeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000",
|
|
false,
|
|
true
|
|
);
|
|
ZIP215Check(
|
|
"eeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f",
|
|
"eeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000000000000",
|
|
false,
|
|
true
|
|
);
|
|
ZIP215Check(
|
|
"eeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff",
|
|
"01000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
|
|
false,
|
|
true
|
|
);
|
|
ZIP215Check(
|
|
"eeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff",
|
|
"c7176a703d4dd84fba3c0b760d10670f2a2053fa2c39ccc64ec7fd7792ac037a0000000000000000000000000000000000000000000000000000000000000000",
|
|
false,
|
|
true
|
|
);
|
|
ZIP215Check(
|
|
"eeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff",
|
|
"00000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000",
|
|
false,
|
|
true
|
|
);
|
|
ZIP215Check(
|
|
"eeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff",
|
|
"26e8958fc2b227b045c3f489f2ef98f0d5dfac05d3c63339b13802886d53fc050000000000000000000000000000000000000000000000000000000000000000",
|
|
false,
|
|
true
|
|
);
|
|
ZIP215Check(
|
|
"eeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff",
|
|
"ecffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000",
|
|
false,
|
|
true
|
|
);
|
|
ZIP215Check(
|
|
"eeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff",
|
|
"26e8958fc2b227b045c3f489f2ef98f0d5dfac05d3c63339b13802886d53fc850000000000000000000000000000000000000000000000000000000000000000",
|
|
false,
|
|
true
|
|
);
|
|
ZIP215Check(
|
|
"eeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff",
|
|
"00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
|
|
false,
|
|
true
|
|
);
|
|
ZIP215Check(
|
|
"eeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff",
|
|
"c7176a703d4dd84fba3c0b760d10670f2a2053fa2c39ccc64ec7fd7792ac03fa0000000000000000000000000000000000000000000000000000000000000000",
|
|
false,
|
|
true
|
|
);
|
|
ZIP215Check(
|
|
"eeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff",
|
|
"01000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000",
|
|
false,
|
|
true
|
|
);
|
|
ZIP215Check(
|
|
"eeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff",
|
|
"ecffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000000000000",
|
|
false,
|
|
true
|
|
);
|
|
ZIP215Check(
|
|
"eeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff",
|
|
"edffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000",
|
|
false,
|
|
true
|
|
);
|
|
ZIP215Check(
|
|
"eeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff",
|
|
"edffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000000000000",
|
|
false,
|
|
true
|
|
);
|
|
ZIP215Check(
|
|
"eeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff",
|
|
"eeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000",
|
|
false,
|
|
true
|
|
);
|
|
ZIP215Check(
|
|
"eeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff",
|
|
"eeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000000000000",
|
|
false,
|
|
true
|
|
);
|
|
} |