resolve merge in sjcl.js

This commit is contained in:
Mike Hamburg 2011-04-28 16:31:24 -07:00
commit 28b0b389ac
21 changed files with 1064 additions and 1072 deletions

View file

@ -31,7 +31,7 @@
sjcl.bitArray = {
/**
* Array slices in units of bits.
* @param {bitArray} a The array to slice.
* @param {bitArray a} The array to slice.
* @param {Number} bstart The offset to the start of the slice, in bits.
* @param {Number} bend The offset to the end of the slice, in bits. If this is undefined,
* slice until the end of the array.

View file

@ -275,6 +275,23 @@ sjcl.bn.prototype = {
return out;
},
/** this * that mod N */
mulmod: function(that, N) {
return this.mod(N).mul(that.mod(N)).mod(N);
},
/** this ^ x mod N */
powermod: function(x, N) {
var result = new sjcl.bn(1), a = new sjcl.bn(this), k = new sjcl.bn(x);
while (true) {
if (k.limbs[0] & 1) { result = result.mulmod(a, N); }
k.halveM();
if (k.equals(0)) { break; }
a = a.mulmod(a, N);
}
return result.normalize().reduce();
},
trim: function() {
var l = this.limbs, p;
do {

View file

@ -1,115 +0,0 @@
/** @fileOverview CBC mode implementation
*
* @author Emily Stark
* @author Mike Hamburg
* @author Dan Boneh
*/
/** @namespace
* Dangerous: CBC mode with PKCS#5 padding.
*
* @author Emily Stark
* @author Mike Hamburg
* @author Dan Boneh
*/
if (sjcl.beware === undefined) {
sjcl.beware = {};
}
sjcl.beware["CBC mode is dangerous because it doesn't protect message integrity."
] = function() {
sjcl.mode.cbc = {
/** The name of the mode.
* @constant
*/
name: "cbc",
/** Encrypt in CBC mode with PKCS#5 padding.
* @param {Object} prp The block cipher. It must have a block size of 16 bytes.
* @param {bitArray} plaintext The plaintext data.
* @param {bitArray} iv The initialization value.
* @param {bitArray} [adata=[]] The authenticated data. Must be empty.
* @return The encrypted data, an array of bytes.
* @throws {sjcl.exception.invalid} if the IV isn't exactly 128 bits, or if any adata is specified.
*/
encrypt: function(prp, plaintext, iv, adata) {
if (adata && adata.length) {
throw new sjcl.exception.invalid("cbc can't authenticate data");
}
if (sjcl.bitArray.bitLength(iv) !== 128) {
throw new sjcl.exception.invalid("cbc iv must be 128 bits");
}
var i,
w = sjcl.bitArray,
xor = w._xor4,
bl = w.bitLength(plaintext),
bp = 0,
output = [];
if (bl&7) {
throw new sjcl.exception.invalid("pkcs#5 padding only works for multiples of a byte");
}
for (i=0; bp+128 <= bl; i+=4, bp+=128) {
/* Encrypt a non-final block */
iv = prp.encrypt(xor(iv, plaintext.slice(i,i+4)));
output.splice(i,0,iv[0],iv[1],iv[2],iv[3]);
}
/* Construct the pad. */
bl = (16 - ((bl >> 3) & 15)) * 0x1010101;
/* Pad and encrypt. */
iv = prp.encrypt(xor(iv,w.concat(plaintext,[bl,bl,bl,bl]).slice(i,i+4)));
output.splice(i,0,iv[0],iv[1],iv[2],iv[3]);
return output;
},
/** Decrypt in CBC mode.
* @param {Object} prp The block cipher. It must have a block size of 16 bytes.
* @param {bitArray} ciphertext The ciphertext data.
* @param {bitArray} iv The initialization value.
* @param {bitArray} [adata=[]] The authenticated data. It must be empty.
* @return The decrypted data, an array of bytes.
* @throws {sjcl.exception.invalid} if the IV isn't exactly 128 bits, or if any adata is specified.
* @throws {sjcl.exception.corrupt} if if the message is corrupt.
*/
decrypt: function(prp, ciphertext, iv, adata) {
if (adata && adata.length) {
throw new sjcl.exception.invalid("cbc can't authenticate data");
}
if (sjcl.bitArray.bitLength(iv) !== 128) {
throw new sjcl.exception.invalid("cbc iv must be 128 bits");
}
if ((sjcl.bitArray.bitLength(ciphertext) & 127) || !ciphertext.length) {
throw new sjcl.exception.corrupt("cbc ciphertext must be a positive multiple of the block size");
}
var i,
w = sjcl.bitArray,
xor = w._xor4,
bi, bo,
output = [];
adata = adata || [];
for (i=0; i<ciphertext.length; i+=4) {
bi = ciphertext.slice(i,i+4);
bo = xor(iv,prp.decrypt(bi));
output.splice(i,0,bo[0],bo[1],bo[2],bo[3]);
iv = bi;
}
/* check and remove the pad */
bi = output[i-1] & 255;
if (bi == 0 || bi > 16) {
throw new sjcl.exception.corrupt("pkcs#5 padding corrupt");
}
bo = bi * 0x1010101;
if (!w.equal(w.bitSlice([bo,bo,bo,bo], 0, bi*8),
w.bitSlice(output, output.length*32 - bi*8, output.length*32))) {
throw new sjcl.exception.corrupt("pkcs#5 padding corrupt");
}
return w.bitSlice(output, 0, output.length*32 - bi*8);
}
};
};

View file

@ -58,8 +58,7 @@
/* do the encryption */
p.ct = sjcl.mode[p.mode].encrypt(prp, plaintext, p.iv, p.adata, p.tag);
//return j.encode(j._subtract(p, j.defaults));
return j.encode(p);
return j.encode(j._subtract(p, j.defaults));
},
/** Simple decryption function.
@ -123,7 +122,7 @@
if (!i.match(/^[a-z0-9]+$/i)) {
throw new sjcl.exception.invalid("json encode: invalid property name");
}
out += comma + '"' + i + '":';
out += comma + i + ':';
comma = ',';
switch (typeof obj[i]) {
@ -161,13 +160,13 @@
}
var a = str.replace(/^\{|\}$/g, '').split(/,/), out={}, i, m;
for (i=0; i<a.length; i++) {
if (!(m=a[i].match(/^(?:(["']?)([a-z][a-z0-9]*)\1):(?:(\d+)|"([a-z0-9+\/%*_.@=\-]*)")$/i))) {
if (!(m=a[i].match(/^([a-z][a-z0-9]*):(?:(\d+)|"([a-z0-9+\/%*_.@=\-]*)")$/i))) {
throw new sjcl.exception.invalid("json decode: this isn't json!");
}
if (m[3]) {
out[m[2]] = parseInt(m[3],10);
if (m[2]) {
out[m[1]] = parseInt(m[2],10);
} else {
out[m[2]] = m[2].match(/^(ct|salt|iv)$/) ? sjcl.codec.base64.toBits(m[4]) : unescape(m[4]);
out[m[1]] = m[1].match(/^(ct|salt|iv)$/) ? sjcl.codec.base64.toBits(m[3]) : unescape(m[3]);
}
}
return out;
@ -197,6 +196,7 @@
/** Remove all elements of minus from plus. Does not modify plus.
* @private
*/
_subtract: function (plus, minus) {
var out = {}, i;
@ -208,7 +208,6 @@
return out;
},
*/
/** Return only the specified elements of src.
* @private

View file

@ -1,380 +0,0 @@
sjcl.ecc = {};
/**
* Represents a point on a curve in affine coordinates.
* @constructor
* @param {sjcl.ecc.curve} curve The curve that this point lies on.
* @param {bigInt} x The x coordinate.
* @param {bigInt} y The y coordinate.
*/
sjcl.ecc.point = function(curve,x,y) {
if (x === undefined) {
this.isIdentity = true;
} else {
this.x = x;
this.y = y;
this.isIdentity = false;
}
this.curve = curve;
};
sjcl.ecc.point.prototype = {
toJac: function() {
return new sjcl.ecc.pointJac(this.curve, this.x, this.y, new this.curve.field(1));
},
mult: function(k) {
return this.toJac().mult(k, this).toAffine();
},
/**
* Multiply this point by k, added to affine2*k2, and return the answer in Jacobian coordinates.
* @param {bigInt} k The coefficient to multiply this by.
* @param {bigInt} k2 The coefficient to multiply affine2 this by.
* @param {sjcl.ecc.point} affine The other point in affine coordinates.
* @return {sjcl.ecc.pointJac} The result of the multiplication and addition, in Jacobian coordinates.
*/
mult2: function(k, k2, affine2) {
return this.toJac().mult2(k, this, k2, affine2).toAffine();
},
multiples: function() {
var m, i, j;
if (this._multiples === undefined) {
j = this.toJac().doubl();
m = this._multiples = [new sjcl.ecc.point(this.curve), this, j.toAffine()];
for (i=3; i<16; i++) {
j = j.add(this);
m.push(j.toAffine());
}
}
return this._multiples;
},
isValid: function() {
return this.y.square().equals(this.curve.b.add(this.x.mul(this.curve.a.add(this.x.square()))));
},
toBits: function() {
return sjcl.bitArray.concat(this.x.toBits(), this.y.toBits());
}
};
/**
* Represents a point on a curve in Jacobian coordinates. Coordinates can be specified as bigInts or strings (which
* will be converted to bigInts).
*
* @constructor
* @param {bigInt/string} x The x coordinate.
* @param {bigInt/string} y The y coordinate.
* @param {bigInt/string} z The z coordinate.
* @param {sjcl.ecc.curve} curve The curve that this point lies on.
*/
sjcl.ecc.pointJac = function(curve, x, y, z) {
if (x === undefined) {
this.isIdentity = true;
} else {
this.x = x;
this.y = y;
this.z = z;
this.isIdentity = false;
}
this.curve = curve;
};
sjcl.ecc.pointJac.prototype = {
/**
* Adds S and T and returns the result in Jacobian coordinates. Note that S must be in Jacobian coordinates and T must be in affine coordinates.
* @param {sjcl.ecc.pointJac} S One of the points to add, in Jacobian coordinates.
* @param {sjcl.ecc.point} T The other point to add, in affine coordinates.
* @return {sjcl.ecc.pointJac} The sum of the two points, in Jacobian coordinates.
*/
add: function(T) {
var S = this, sz2, c, d, c2, x1, x2, x, y1, y2, y, z;
if (S.curve !== T.curve) {
throw("sjcl.ecc.add(): Points must be on the same curve to add them!");
}
if (S.isIdentity) {
return T.toJac();
} else if (T.isIdentity) {
return S;
}
sz2 = S.z.square();
c = T.x.mul(sz2).subM(S.x);
if (c.equals(0)) {
if (S.y.equals(T.y.mul(sz2.mul(S.z)))) {
// same point
return S.doubl();
} else {
// inverses
return new sjcl.ecc.pointJac(S.curve);
}
}
d = T.y.mul(sz2.mul(S.z)).subM(S.y);
c2 = c.square();
x1 = d.square();
x2 = c.square().mul(c).addM( S.x.add(S.x).mul(c2) );
x = x1.subM(x2);
y1 = S.x.mul(c2).subM(x).mul(d);
y2 = S.y.mul(c.square().mul(c));
y = y1.subM(y2);
z = S.z.mul(c);
return new sjcl.ecc.pointJac(this.curve,x,y,z);
},
/**
* doubles this point.
* @return {sjcl.ecc.pointJac} The doubled point.
*/
doubl: function() {
if (this.isIdentity) { return this; }
var
y2 = this.y.square(),
a = y2.mul(this.x.mul(4)),
b = y2.square().mul(8),
z2 = this.z.square(),
c = this.x.sub(z2).mul(3).mul(this.x.add(z2)),
x = c.square().subM(a).subM(a),
y = a.sub(x).mul(c).subM(b),
z = this.y.add(this.y).mul(this.z);
return new sjcl.ecc.pointJac(this.curve, x, y, z);
},
/**
* Returns a copy of this point converted to affine coordinates.
* @return {sjcl.ecc.point} The converted point.
*/
toAffine: function() {
if (this.isIdentity || this.z.equals(0)) {
return new sjcl.ecc.point(this.curve);
}
var zi = this.z.inverse(), zi2 = zi.square();
return new sjcl.ecc.point(this.curve, this.x.mul(zi2).fullReduce(), this.y.mul(zi2.mul(zi)).fullReduce());
},
/**
* Multiply this point by k and return the answer in Jacobian coordinates.
* @param {bigInt} k The coefficient to multiply by.
* @param {sjcl.ecc.point} affine This point in affine coordinates.
* @return {sjcl.ecc.pointJac} The result of the multiplication, in Jacobian coordinates.
*/
mult: function(k, affine) {
if (typeof(k) === "number") {
k = [k];
} else if (k.limbs !== undefined) {
k = k.normalize().limbs;
}
var i, j, out = new sjcl.ecc.point(this.curve).toJac(), multiples = affine.multiples();
for (i=k.length-1; i>=0; i--) {
for (j=sjcl.bn.prototype.radix-4; j>=0; j-=4) {
out = out.doubl().doubl().doubl().doubl().add(multiples[k[i]>>j & 0xF]);
}
}
return out;
},
/**
* Multiply this point by k, added to affine2*k2, and return the answer in Jacobian coordinates.
* @param {bigInt} k The coefficient to multiply this by.
* @param {sjcl.ecc.point} affine This point in affine coordinates.
* @param {bigInt} k2 The coefficient to multiply affine2 this by.
* @param {sjcl.ecc.point} affine The other point in affine coordinates.
* @return {sjcl.ecc.pointJac} The result of the multiplication and addition, in Jacobian coordinates.
*/
mult2: function(k1, affine, k2, affine2) {
if (typeof(k1) === "number") {
k1 = [k1];
} else if (k1.limbs !== undefined) {
k1 = k1.normalize().limbs;
}
if (typeof(k2) === "number") {
k2 = [k2];
} else if (k2.limbs !== undefined) {
k2 = k2.normalize().limbs;
}
var i, j, out = new sjcl.ecc.point(this.curve).toJac(), m1 = affine.multiples(),
m2 = affine2.multiples(), l1, l2;
for (i=Math.max(k1.length,k2.length)-1; i>=0; i--) {
l1 = k1[i] | 0;
l2 = k2[i] | 0;
for (j=sjcl.bn.prototype.radix-4; j>=0; j-=4) {
out = out.doubl().doubl().doubl().doubl().add(m1[l1>>j & 0xF]).add(m2[l2>>j & 0xF]);
}
}
return out;
},
isValid: function() {
var z2 = this.z.square(), z4 = z2.square(), z6 = z4.mul(z2);
return this.y.square().equals(
this.curve.b.mul(z6).add(this.x.mul(
this.curve.a.mul(z4).add(this.x.square()))));
}
};
/**
* Construct an elliptic curve. Most users will not use this and instead start with one of the NIST curves defined below.
*
* @constructor
* @param {bigInt} p The prime modulus.
* @param {bigInt} r The prime order of the curve.
* @param {bigInt} a The constant a in the equation of the curve y^2 = x^3 + ax + b (for NIST curves, a is always -3).
* @param {bigInt} x The x coordinate of a base point of the curve.
* @param {bigInt} y The y coordinate of a base point of the curve.
*/
sjcl.ecc.curve = function(Field, r, a, b, x, y) {
this.field = Field;
this.r = Field.prototype.modulus.sub(r);
this.a = new Field(a);
this.b = new Field(b);
this.G = new sjcl.ecc.point(this, new Field(x), new Field(y));
};
sjcl.ecc.curve.prototype.fromBits = function (bits) {
var w = sjcl.bitArray, l = this.field.prototype.exponent + 7 & -8,
p = new sjcl.ecc.point(this, this.field.fromBits(w.bitSlice(bits, 0, l)),
this.field.fromBits(w.bitSlice(bits, l, 2*l)));
if (!p.isValid()) {
throw new sjcl.exception.corrupt("not on the curve!");
}
return p;
};
sjcl.ecc.curves = {
c192: new sjcl.ecc.curve(
sjcl.bn.prime.p192,
"0x662107c8eb94364e4b2dd7ce",
-3,
"0x64210519e59c80e70fa7e9ab72243049feb8deecc146b9b1",
"0x188da80eb03090f67cbf20eb43a18800f4ff0afd82ff1012",
"0x07192b95ffc8da78631011ed6b24cdd573f977a11e794811"),
c224: new sjcl.ecc.curve(
sjcl.bn.prime.p224,
"0xe95c1f470fc1ec22d6baa3a3d5c4",
-3,
"0xb4050a850c04b3abf54132565044b0b7d7bfd8ba270b39432355ffb4",
"0xb70e0cbd6bb4bf7f321390b94a03c1d356c21122343280d6115c1d21",
"0xbd376388b5f723fb4c22dfe6cd4375a05a07476444d5819985007e34"),
c256: new sjcl.ecc.curve(
sjcl.bn.prime.p256,
"0x4319055358e8617b0c46353d039cdaae",
-3,
"0x5ac635d8aa3a93e7b3ebbd55769886bc651d06b0cc53b0f63bce3c3e27d2604b",
"0x6b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c296",
"0x4fe342e2fe1a7f9b8ee7eb4a7c0f9e162bce33576b315ececbb6406837bf51f5"),
c384: new sjcl.ecc.curve(
sjcl.bn.prime.p384,
"0x389cb27e0bc8d21fa7e5f24cb74f58851313e696333ad68c",
-3,
"0xb3312fa7e23ee7e4988e056be3f82d19181d9c6efe8141120314088f5013875ac656398d8a2ed19d2a85c8edd3ec2aef",
"0xaa87ca22be8b05378eb1c71ef320ad746e1d3b628ba79b9859f741e082542a385502f25dbf55296c3a545e3872760ab7",
"0x3617de4a96262c6f5d9e98bf9292dc29f8f41dbd289a147ce9da3113b5f0b8c00a60b1ce1d7e819d7a431d7c90ea0e5f")
};
/* Diffie-Hellman-like public-key system */
sjcl.ecc._dh = function(cn) {
sjcl.ecc[cn] = {
publicKey: function(curve, point) {
this._curve = curve;
if (point instanceof Array) {
this._point = curve.fromBits(point);
} else {
this._point = point;
}
},
secretKey: function(curve, exponent) {
this._curve = curve;
this._exponent = exponent;
},
generateKeys: function(curve, paranoia) {
if (curve === undefined) {
curve = 256;
}
if (typeof curve === "number") {
curve = sjcl.ecc.curves['c'+curve];
if (curve === undefined) {
throw new sjcl.exception.invalid("no such curve");
}
}
var sec = sjcl.bn.random(curve.r, paranoia), pub = curve.G.mult(sec);
return { pub: new sjcl.ecc[cn].publicKey(curve, pub),
sec: new sjcl.ecc[cn].secretKey(curve, sec) };
}
};
};
sjcl.ecc._dh("elGamal");
sjcl.ecc.elGamal.publicKey.prototype = {
kem: function(paranoia) {
var sec = sjcl.bn.random(this._curve.r, paranoia),
tag = this._curve.G.mult(sec).toBits(),
key = sjcl.hash.sha256.hash(this._point.mult(sec).toBits());
return { key: key, tag: tag };
}
};
sjcl.ecc.elGamal.secretKey.prototype = {
unkem: function(tag) {
return sjcl.hash.sha256.hash(this._curve.fromBits(tag).mult(this._exponent).toBits());
},
dh: function(pk) {
return sjcl.hash.sha256.hash(pk._point.mult(this._exponent).toBits());
}
};
sjcl.ecc._dh("ecdsa");
sjcl.ecc.ecdsa.secretKey.prototype = {
sign: function(hash, paranoia) {
var R = this._curve.r,
l = R.bitLength(),
k = sjcl.bn.random(R.sub(1), paranoia).add(1),
r = this._curve.G.mult(k).x.mod(R),
s = sjcl.bn.fromBits(hash).add(r.mul(this._exponent)).inverseMod(R).mul(k).mod(R);
return sjcl.bitArray.concat(r.toBits(l), s.toBits(l));
}
};
sjcl.ecc.ecdsa.publicKey.prototype = {
verify: function(hash, rs) {
var w = sjcl.bitArray,
R = this._curve.r,
l = R.bitLength(),
r = sjcl.bn.fromBits(w.bitSlice(rs,0,l)),
s = sjcl.bn.fromBits(w.bitSlice(rs,l,2*l)),
hG = sjcl.bn.fromBits(hash).mul(s).mod(R),
hA = r.mul(s).mod(R),
r2 = this._curve.G.mult2(hG, hA, this._point).x;
if (r.equals(0) || s.equals(0) || r.greaterEquals(R) || s.greaterEquals(R) || !r2.equals(r)) {
throw (new sjcl.exception.corrupt("signature didn't check out"));
}
return true;
}
};

View file

@ -50,8 +50,7 @@ sjcl.mode.ocb2 = {
/* Encrypt a non-final block */
bi = plaintext.slice(i,i+4);
checksum = xor(checksum, bi);
bi = xor(delta,prp.encrypt(xor(delta, bi)));
output.splice(i,0,bi[0],bi[1],bi[2],bi[3]);
output = output.concat(xor(delta,prp.encrypt(xor(delta, bi))));
delta = times2(delta);
}
@ -106,7 +105,7 @@ sjcl.mode.ocb2 = {
/* Decrypt a non-final block */
bi = xor(delta, prp.decrypt(xor(delta, ciphertext.slice(i,i+4))));
checksum = xor(checksum, bi);
output.splice(i,0,bi[0],bi[1],bi[2],bi[3]);
output = output.concat(bi);
delta = times2(delta);
}

165
core/sha1.js Normal file
View file

@ -0,0 +1,165 @@
/** @fileOverview Javascript SHA-1 implementation.
*
* Based on the implementation in RFC 3174, method 1, and on the SJCL
* SHA-256 implementation.
*
* @author Quinn Slack
*/
/**
* Context for a SHA-1 operation in progress.
* @constructor
* @class Secure Hash Algorithm, 160 bits.
*/
sjcl.hash.sha1 = function (hash) {
if (hash) {
this._h = hash._h.slice(0);
this._buffer = hash._buffer.slice(0);
this._length = hash._length;
} else {
this.reset();
}
};
/**
* Hash a string or an array of words.
* @static
* @param {bitArray|String} data the data to hash.
* @return {bitArray} The hash value, an array of 5 big-endian words.
*/
sjcl.hash.sha1.hash = function (data) {
return (new sjcl.hash.sha1()).update(data).finalize();
};
sjcl.hash.sha1.prototype = {
/**
* The hash's block size, in bits.
* @constant
*/
blockSize: 512,
/**
* Reset the hash state.
* @return this
*/
reset:function () {
this._h = this._init.slice(0);
this._buffer = [];
this._length = 0;
return this;
},
/**
* Input several words to the hash.
* @param {bitArray|String} data the data to hash.
* @return this
*/
update: function (data) {
if (typeof data === "string") {
data = sjcl.codec.utf8String.toBits(data);
}
var i, b = this._buffer = sjcl.bitArray.concat(this._buffer, data),
ol = this._length,
nl = this._length = ol + sjcl.bitArray.bitLength(data);
for (i = this.blockSize+ol & -this.blockSize; i <= nl;
i+= this.blockSize) {
this._block(b.splice(0,16));
}
return this;
},
/**
* Complete hashing and output the hash value.
* @return {bitArray} The hash value, an array of 5 big-endian words. TODO
*/
finalize:function () {
var i, b = this._buffer, h = this._h;
// Round out and push the buffer
b = sjcl.bitArray.concat(b, [sjcl.bitArray.partial(1,1)]);
// Round out the buffer to a multiple of 16 words, less the 2 length words.
for (i = b.length + 2; i & 15; i++) {
b.push(0);
}
// append the length
b.push(Math.floor(this._length / 0x100000000));
b.push(this._length | 0);
while (b.length) {
this._block(b.splice(0,16));
}
this.reset();
return h;
},
/**
* The SHA-1 initialization vector.
* @private
*/
_init:[0x67452301, 0xEFCDAB89, 0x98BADCFE, 0x10325476, 0xC3D2E1F0],
/**
* The SHA-1 hash key.
* @private
*/
_key:[0x5A827999, 0x6ED9EBA1, 0x8F1BBCDC, 0xCA62C1D6],
/**
* The SHA-1 logical functions f(0), f(1), ..., f(79).
* @private
*/
_f:function(t, b, c, d) {
if (t <= 19) {
return (b & c) | (~b & d);
} else if (t <= 39) {
return b ^ c ^ d;
} else if (t <= 59) {
return (b & c) | (b & d) | (c & d);
} else if (t <= 79) {
return b ^ c ^ d;
}
},
/**
* Circular left-shift operator.
* @private
*/
_S:function(n, x) {
return (x << n) | (x >>> 32-n);
},
/**
* Perform one cycle of SHA-1.
* @param {bitArray} words one block of words.
* @private
*/
_block:function (words) {
var t, tmp, a, b, c, d, e,
w = words.slice(0),
h = this._h,
k = this._key;
a = h[0]; b = h[1]; c = h[2]; d = h[3]; e = h[4];
for (t=0; t<=79; t++) {
if (t >= 16) {
w[t] = this._S(1, w[t-3] ^ w[t-8] ^ w[t-14] ^ w[t-16]);
}
tmp = (this._S(5, a) + this._f(t, b, c, d) + e + w[t] +
this._key[Math.floor(t/20)]) | 0;
e = d;
d = c;
c = this._S(30, b);
b = a;
a = tmp;
}
h[0] = (h[0]+a) |0;
h[1] = (h[1]+b) |0;
h[2] = (h[2]+c) |0;
h[3] = (h[3]+d) |0;
h[4] = (h[4]+e) |0;
}
};

View file

@ -19,6 +19,9 @@ var sjcl = {
/** @namespace Hash functions. Right now only SHA256 is implemented. */
hash: {},
/** @namespace Key exchange functions. Right now only SRP is implemented. */
keyexchange: {},
/** @namespace Block cipher modes of operation. */
mode: {},

113
core/srp.js Normal file
View file

@ -0,0 +1,113 @@
/** @fileOverview Javascript SRP implementation.
*
* This file contains a partial implementation of the SRP (Secure Remote
* Password) password-authenticated key exchange protocol. Given a user
* identity, salt, and SRP group, it generates the SRP verifier that may
* be sent to a remote server to establish and SRP account.
*
* For more information, see http://srp.stanford.edu/.
*
* @author Quinn Slack
*/
/**
* Compute the SRP verifier from the username, password, salt, and group.
* @class SRP
*/
sjcl.keyexchange.srp = {
/**
* Calculates SRP v, the verifier.
* v = g^x mod N [RFC 5054]
* @param {String} I The username.
* @param {String} P The password.
* @param {Object} s A bitArray of the salt.
* @param {Object} group The SRP group. Use sjcl.keyexchange.srp.knownGroup
to obtain this object.
* @return {Object} A bitArray of SRP v.
*/
makeVerifier: function(I, P, s, group) {
var x;
x = this.makeX(I, P, s);
x = sjcl.bn.fromBits(x);
return group.g.powermod(x, group.N);
},
/**
* Calculates SRP x.
* x = SHA1(<salt> | SHA(<username> | ":" | <raw password>)) [RFC 2945]
* @param {String} I The username.
* @param {String} P The password.
* @param {Object} s A bitArray of the salt.
* @return {Object} A bitArray of SRP x.
*/
makeX: function(I, P, s) {
var inner = sjcl.hash.sha1.hash(I + ':' + P);
return sjcl.hash.sha1.hash(sjcl.bitArray.concat(s, inner));
},
/**
* Returns the known SRP group with the given size (in bits).
* @param {String} i The size of the known SRP group.
* @return {Object} An object with "N" and "g" properties.
*/
knownGroup:function(i) {
if (typeof i !== "string") { i = i.toString(); }
if (!this._didInitKnownGroups) { this._initKnownGroups(); }
return this._knownGroups[i];
},
/**
* Initializes bignum objects for known group parameters.
* @private
*/
_didInitKnownGroups: false,
_initKnownGroups:function() {
var i, size, group;
for (i=0; i < this._knownGroupSizes.length; i++) {
size = this._knownGroupSizes[i].toString();
group = this._knownGroups[size];
group.N = new sjcl.bn(group.N);
group.g = new sjcl.bn(group.g);
}
this._didInitKnownGroups = true;
},
_knownGroupSizes: [1024, 1536, 2048],
_knownGroups: {
1024: {
N: "EEAF0AB9ADB38DD69C33F80AFA8FC5E86072618775FF3C0B9EA2314C" +
"9C256576D674DF7496EA81D3383B4813D692C6E0E0D5D8E250B98BE4" +
"8E495C1D6089DAD15DC7D7B46154D6B6CE8EF4AD69B15D4982559B29" +
"7BCF1885C529F566660E57EC68EDBC3C05726CC02FD4CBF4976EAA9A" +
"FD5138FE8376435B9FC61D2FC0EB06E3",
g:2
},
1536: {
N: "9DEF3CAFB939277AB1F12A8617A47BBBDBA51DF499AC4C80BEEEA961" +
"4B19CC4D5F4F5F556E27CBDE51C6A94BE4607A291558903BA0D0F843" +
"80B655BB9A22E8DCDF028A7CEC67F0D08134B1C8B97989149B609E0B" +
"E3BAB63D47548381DBC5B1FC764E3F4B53DD9DA1158BFD3E2B9C8CF5" +
"6EDF019539349627DB2FD53D24B7C48665772E437D6C7F8CE442734A" +
"F7CCB7AE837C264AE3A9BEB87F8A2FE9B8B5292E5A021FFF5E91479E" +
"8CE7A28C2442C6F315180F93499A234DCF76E3FED135F9BB",
g: 2
},
2048: {
N: "AC6BDB41324A9A9BF166DE5E1389582FAF72B6651987EE07FC319294" +
"3DB56050A37329CBB4A099ED8193E0757767A13DD52312AB4B03310D" +
"CD7F48A9DA04FD50E8083969EDB767B0CF6095179A163AB3661A05FB" +
"D5FAAAE82918A9962F0B93B855F97993EC975EEAA80D740ADBF4FF74" +
"7359D041D5C33EA71D281E446B14773BCA97B43A23FB801676BD207A" +
"436C6481F1D2B9078717461A5B9D32E688F87748544523B524B0D57D" +
"5EA77A2775D2ECFA032CFBDBF52FB3786160279004E57AE6AF874E73" +
"03CE53299CCC041C7BC308D82A5698F3A8D0C38271AE35F8E9DBFBB6" +
"94B5C803D89F7AE435DE236D525F54759B65E372FCD68EF20FA7111F" +
"9E4AFF73",
g: 2
}
}
};

104
sjcl.js
View file

@ -1,72 +1,40 @@
"use strict";var sjcl={cipher:{},hash:{},mode:{},misc:{},codec:{},exception:{corrupt:function(a){this.toString=function(){return"CORRUPT: "+this.message};this.message=a},invalid:function(a){this.toString=function(){return"INVALID: "+this.message};this.message=a},bug:function(a){this.toString=function(){return"BUG: "+this.message};this.message=a},notReady:function(a){this.toString=function(){return"NOT READY: "+this.message};this.message=a}}};
sjcl.cipher.aes=function(a){this.m[0][0][0]||this.I();var b,c,d,e,f=this.m[0][4],g=this.m[1];b=a.length;var h=1;if(b!==4&&b!==6&&b!==8)throw new sjcl.exception.invalid("invalid aes key size");this.c=[d=a.slice(0),e=[]];for(a=b;a<4*b+28;a++){c=d[a-1];if(a%b===0||b===8&&a%b===4){c=f[c>>>24]<<24^f[c>>16&255]<<16^f[c>>8&255]<<8^f[c&255];if(a%b===0){c=c<<8^c>>>24^h<<24;h=h<<1^(h>>7)*283}}d[a]=d[a-b]^c}for(b=0;a;b++,a--){c=d[b&3?a:a-4];e[b]=a<=4||b<4?c:g[0][f[c>>>24]]^g[1][f[c>>16&255]]^g[2][f[c>>8&255]]^
"use strict";var sjcl={cipher:{},hash:{},keyexchange:{},mode:{},misc:{},codec:{},exception:{corrupt:function(a){this.toString=function(){return"CORRUPT: "+this.message};this.message=a},invalid:function(a){this.toString=function(){return"INVALID: "+this.message};this.message=a},bug:function(a){this.toString=function(){return"BUG: "+this.message};this.message=a},notReady:function(a){this.toString=function(){return"NOT READY: "+this.message};this.message=a}}};
sjcl.cipher.aes=function(a){this.h[0][0][0]||this.w();var b,c,d,e,f=this.h[0][4],g=this.h[1];b=a.length;var h=1;if(b!==4&&b!==6&&b!==8)throw new sjcl.exception.invalid("invalid aes key size");this.a=[d=a.slice(0),e=[]];for(a=b;a<4*b+28;a++){c=d[a-1];if(a%b===0||b===8&&a%b===4){c=f[c>>>24]<<24^f[c>>16&255]<<16^f[c>>8&255]<<8^f[c&255];if(a%b===0){c=c<<8^c>>>24^h<<24;h=h<<1^(h>>7)*283}}d[a]=d[a-b]^c}for(b=0;a;b++,a--){c=d[b&3?a:a-4];e[b]=a<=4||b<4?c:g[0][f[c>>>24]]^g[1][f[c>>16&255]]^g[2][f[c>>8&255]]^
g[3][f[c&255]]}};
sjcl.cipher.aes.prototype={encrypt:function(a){return this.Q(a,0)},decrypt:function(a){return this.Q(a,1)},m:[[[],[],[],[],[]],[[],[],[],[],[]]],I:function(){var a=this.m[0],b=this.m[1],c=a[4],d=b[4],e,f,g,h=[],i=[],j,k,l,m;for(e=0;e<0x100;e++)i[(h[e]=e<<1^(e>>7)*283)^e]=e;for(f=g=0;!c[f];f^=j||1,g=i[g]||1){l=g^g<<1^g<<2^g<<3^g<<4;l=l>>8^l&255^99;c[f]=l;d[l]=f;k=h[e=h[j=h[f]]];m=k*0x1010101^e*0x10001^j*0x101^f*0x1010100;k=h[l]*0x101^l*0x1010100;for(e=0;e<4;e++){a[e][f]=k=k<<24^k>>>8;b[e][l]=m=m<<24^m>>>8}}for(e=
0;e<5;e++){a[e]=a[e].slice(0);b[e]=b[e].slice(0)}},Q:function(a,b){if(a.length!==4)throw new sjcl.exception.invalid("invalid aes block size");var c=this.c[b],d=a[0]^c[0],e=a[b?3:1]^c[1],f=a[2]^c[2];a=a[b?1:3]^c[3];var g,h,i,j=c.length/4-2,k,l=4,m=[0,0,0,0];g=this.m[b];var n=g[0],o=g[1],p=g[2],q=g[3],r=g[4];for(k=0;k<j;k++){g=n[d>>>24]^o[e>>16&255]^p[f>>8&255]^q[a&255]^c[l];h=n[e>>>24]^o[f>>16&255]^p[a>>8&255]^q[d&255]^c[l+1];i=n[f>>>24]^o[a>>16&255]^p[d>>8&255]^q[e&255]^c[l+2];a=n[a>>>24]^o[d>>16&
255]^p[e>>8&255]^q[f&255]^c[l+3];l+=4;d=g;e=h;f=i}for(k=0;k<4;k++){m[b?3&-k:k]=r[d>>>24]<<24^r[e>>16&255]<<16^r[f>>8&255]<<8^r[a&255]^c[l++];g=d;d=e;e=f;f=a;a=g}return m}};
sjcl.bitArray={bitSlice:function(a,b,c){a=sjcl.bitArray.$(a.slice(b/32),32-(b&31)).slice(1);return c===undefined?a:sjcl.bitArray.clamp(a,c-b)},extract:function(a,b,c){var d=Math.floor(-b-c&31);return((b+c-1^b)&-32?a[b/32|0]<<32-d^a[b/32+1|0]>>>d:a[b/32|0]>>>d)&(1<<c)-1},concat:function(a,b){if(a.length===0||b.length===0)return a.concat(b);var c=a[a.length-1],d=sjcl.bitArray.getPartial(c);return d===32?a.concat(b):sjcl.bitArray.$(b,d,c|0,a.slice(0,a.length-1))},bitLength:function(a){var b=a.length;
sjcl.cipher.aes.prototype={encrypt:function(a){return this.H(a,0)},decrypt:function(a){return this.H(a,1)},h:[[[],[],[],[],[]],[[],[],[],[],[]]],w:function(){var a=this.h[0],b=this.h[1],c=a[4],d=b[4],e,f,g,h=[],i=[],k,j,l,m;for(e=0;e<0x100;e++)i[(h[e]=e<<1^(e>>7)*283)^e]=e;for(f=g=0;!c[f];f^=k||1,g=i[g]||1){l=g^g<<1^g<<2^g<<3^g<<4;l=l>>8^l&255^99;c[f]=l;d[l]=f;j=h[e=h[k=h[f]]];m=j*0x1010101^e*0x10001^k*0x101^f*0x1010100;j=h[l]*0x101^l*0x1010100;for(e=0;e<4;e++){a[e][f]=j=j<<24^j>>>8;b[e][l]=m=m<<24^m>>>8}}for(e=
0;e<5;e++){a[e]=a[e].slice(0);b[e]=b[e].slice(0)}},H:function(a,b){if(a.length!==4)throw new sjcl.exception.invalid("invalid aes block size");var c=this.a[b],d=a[0]^c[0],e=a[b?3:1]^c[1],f=a[2]^c[2];a=a[b?1:3]^c[3];var g,h,i,k=c.length/4-2,j,l=4,m=[0,0,0,0];g=this.h[b];var n=g[0],o=g[1],p=g[2],q=g[3],r=g[4];for(j=0;j<k;j++){g=n[d>>>24]^o[e>>16&255]^p[f>>8&255]^q[a&255]^c[l];h=n[e>>>24]^o[f>>16&255]^p[a>>8&255]^q[d&255]^c[l+1];i=n[f>>>24]^o[a>>16&255]^p[d>>8&255]^q[e&255]^c[l+2];a=n[a>>>24]^o[d>>16&
255]^p[e>>8&255]^q[f&255]^c[l+3];l+=4;d=g;e=h;f=i}for(j=0;j<4;j++){m[b?3&-j:j]=r[d>>>24]<<24^r[e>>16&255]<<16^r[f>>8&255]<<8^r[a&255]^c[l++];g=d;d=e;e=f;f=a;a=g}return m}};
sjcl.bitArray={bitSlice:function(a,b,c){a=sjcl.bitArray.P(a.slice(b/32),32-(b&31)).slice(1);return c===undefined?a:sjcl.bitArray.clamp(a,c-b)},extract:function(a,b,c){var d=Math.floor(-b-c&31);return((b+c-1^b)&-32?a[b/32|0]<<32-d^a[b/32+1|0]>>>d:a[b/32|0]>>>d)&(1<<c)-1},concat:function(a,b){if(a.length===0||b.length===0)return a.concat(b);var c=a[a.length-1],d=sjcl.bitArray.getPartial(c);return d===32?a.concat(b):sjcl.bitArray.P(b,d,c|0,a.slice(0,a.length-1))},bitLength:function(a){var b=a.length;
if(b===0)return 0;return(b-1)*32+sjcl.bitArray.getPartial(a[b-1])},clamp:function(a,b){if(a.length*32<b)return a;a=a.slice(0,Math.ceil(b/32));var c=a.length;b&=31;if(c>0&&b)a[c-1]=sjcl.bitArray.partial(b,a[c-1]&2147483648>>b-1,1);return a},partial:function(a,b,c){if(a===32)return b;return(c?b|0:b<<32-a)+a*0x10000000000},getPartial:function(a){return Math.round(a/0x10000000000)||32},equal:function(a,b){if(sjcl.bitArray.bitLength(a)!==sjcl.bitArray.bitLength(b))return false;var c=0,d;for(d=0;d<a.length;d++)c|=
a[d]^b[d];return c===0},$:function(a,b,c,d){var e;e=0;if(d===undefined)d=[];for(;b>=32;b-=32){d.push(c);c=0}if(b===0)return d.concat(a);for(e=0;e<a.length;e++){d.push(c|a[e]>>>b);c=a[e]<<32-b}e=a.length?a[a.length-1]:0;a=sjcl.bitArray.getPartial(e);d.push(sjcl.bitArray.partial(b+a&31,b+a>32?c:d.pop(),1));return d},i:function(a,b){return[a[0]^b[0],a[1]^b[1],a[2]^b[2],a[3]^b[3]]}};
a[d]^b[d];return c===0},P:function(a,b,c,d){var e;e=0;if(d===undefined)d=[];for(;b>=32;b-=32){d.push(c);c=0}if(b===0)return d.concat(a);for(e=0;e<a.length;e++){d.push(c|a[e]>>>b);c=a[e]<<32-b}e=a.length?a[a.length-1]:0;a=sjcl.bitArray.getPartial(e);d.push(sjcl.bitArray.partial(b+a&31,b+a>32?c:d.pop(),1));return d},k:function(a,b){return[a[0]^b[0],a[1]^b[1],a[2]^b[2],a[3]^b[3]]}};
sjcl.codec.utf8String={fromBits:function(a){var b="",c=sjcl.bitArray.bitLength(a),d,e;for(d=0;d<c/8;d++){if((d&3)===0)e=a[d/4];b+=String.fromCharCode(e>>>24);e<<=8}return decodeURIComponent(escape(b))},toBits:function(a){a=unescape(encodeURIComponent(a));var b=[],c,d=0;for(c=0;c<a.length;c++){d=d<<8|a.charCodeAt(c);if((c&3)===3){b.push(d);d=0}}c&3&&b.push(sjcl.bitArray.partial(8*(c&3),d));return b}};
sjcl.codec.hex={fromBits:function(a){var b="",c;for(c=0;c<a.length;c++)b+=((a[c]|0)+0xf00000000000).toString(16).substr(4);return b.substr(0,sjcl.bitArray.bitLength(a)/4)},toBits:function(a){var b,c=[],d;a=a.replace(/\s|0x/g,"");d=a.length;a+="00000000";for(b=0;b<a.length;b+=8)c.push(parseInt(a.substr(b,8),16)^0);return sjcl.bitArray.clamp(c,d*4)}};
sjcl.codec.base64={N:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",fromBits:function(a,b){var c="",d,e=0,f=sjcl.codec.base64.N,g=0,h=sjcl.bitArray.bitLength(a);for(d=0;c.length*6<h;){c+=f.charAt((g^a[d]>>>e)>>>26);if(e<6){g=a[d]<<6-e;e+=26;d++}else{g<<=6;e-=6}}for(;c.length&3&&!b;)c+="=";return c},toBits:function(a){a=a.replace(/\s|=/g,"");var b=[],c,d=0,e=sjcl.codec.base64.N,f=0,g;for(c=0;c<a.length;c++){g=e.indexOf(a.charAt(c));if(g<0)throw new sjcl.exception.invalid("this isn't base64!");
if(d>26){d-=26;b.push(f^g>>>d);f=g<<32-d}else{d+=6;f^=g<<32-d}}d&56&&b.push(sjcl.bitArray.partial(d&56,f,1));return b}};sjcl.hash.sha256=function(a){this.c[0]||this.I();if(a){this.s=a.s.slice(0);this.n=a.n.slice(0);this.j=a.j}else this.reset()};sjcl.hash.sha256.hash=function(a){return(new sjcl.hash.sha256).update(a).finalize()};
sjcl.hash.sha256.prototype={blockSize:512,reset:function(){this.s=this.X.slice(0);this.n=[];this.j=0;return this},update:function(a){if(typeof a==="string")a=sjcl.codec.utf8String.toBits(a);var b,c=this.n=sjcl.bitArray.concat(this.n,a);b=this.j;a=this.j=b+sjcl.bitArray.bitLength(a);for(b=512+b&-512;b<=a;b+=512)this.M(c.splice(0,16));return this},finalize:function(){var a,b=this.n,c=this.s;b=sjcl.bitArray.concat(b,[sjcl.bitArray.partial(1,1)]);for(a=b.length+2;a&15;a++)b.push(0);b.push(Math.floor(this.j/
4294967296));for(b.push(this.j|0);b.length;)this.M(b.splice(0,16));this.reset();return c},X:[],c:[],I:function(){function a(e){return(e-Math.floor(e))*0x100000000|0}var b=0,c=2,d;a:for(;b<64;c++){for(d=2;d*d<=c;d++)if(c%d===0)continue a;if(b<8)this.X[b]=a(Math.pow(c,0.5));this.c[b]=a(Math.pow(c,1/3));b++}},M:function(a){var b,c,d=a.slice(0),e=this.s,f=this.c,g=e[0],h=e[1],i=e[2],j=e[3],k=e[4],l=e[5],m=e[6],n=e[7];for(a=0;a<64;a++){if(a<16)b=d[a];else{b=d[a+1&15];c=d[a+14&15];b=d[a&15]=(b>>>7^b>>>18^
b>>>3^b<<25^b<<14)+(c>>>17^c>>>19^c>>>10^c<<15^c<<13)+d[a&15]+d[a+9&15]|0}b=b+n+(k>>>6^k>>>11^k>>>25^k<<26^k<<21^k<<7)+(m^k&(l^m))+f[a];n=m;m=l;l=k;k=j+b|0;j=i;i=h;h=g;g=b+(h&i^j&(h^i))+(h>>>2^h>>>13^h>>>22^h<<30^h<<19^h<<10)|0}e[0]=e[0]+g|0;e[1]=e[1]+h|0;e[2]=e[2]+i|0;e[3]=e[3]+j|0;e[4]=e[4]+k|0;e[5]=e[5]+l|0;e[6]=e[6]+m|0;e[7]=e[7]+n|0}};
sjcl.mode.ccm={name:"ccm",encrypt:function(a,b,c,d,e){var f,g=b.slice(0),h=sjcl.bitArray,i=h.bitLength(c)/8,j=h.bitLength(g)/8;e=e||64;d=d||[];if(i<7)throw new sjcl.exception.invalid("ccm: iv must be at least 7 bytes");for(f=2;f<4&&j>>>8*f;f++);if(f<15-i)f=15-i;c=h.clamp(c,8*(15-f));b=sjcl.mode.ccm.P(a,b,c,d,e,f);g=sjcl.mode.ccm.R(a,g,c,b,e,f);return h.concat(g.data,g.tag)},decrypt:function(a,b,c,d,e){e=e||64;d=d||[];var f=sjcl.bitArray,g=f.bitLength(c)/8,h=f.bitLength(b),i=f.clamp(b,h-e),j=f.bitSlice(b,
h-e);h=(h-e)/8;if(g<7)throw new sjcl.exception.invalid("ccm: iv must be at least 7 bytes");for(b=2;b<4&&h>>>8*b;b++);if(b<15-g)b=15-g;c=f.clamp(c,8*(15-b));i=sjcl.mode.ccm.R(a,i,c,j,e,b);a=sjcl.mode.ccm.P(a,i.data,c,d,e,b);if(!f.equal(i.tag,a))throw new sjcl.exception.corrupt("ccm: tag doesn't match");return i.data},P:function(a,b,c,d,e,f){var g=[],h=sjcl.bitArray,i=h.i;e/=8;if(e%2||e<4||e>16)throw new sjcl.exception.invalid("ccm: invalid tag length");if(d.length>0xffffffff||b.length>0xffffffff)throw new sjcl.exception.bug("ccm: can't deal with 4GiB or more data");
f=[h.partial(8,(d.length?64:0)|e-2<<2|f-1)];f=h.concat(f,c);f[3]|=h.bitLength(b)/8;f=a.encrypt(f);if(d.length){c=h.bitLength(d)/8;if(c<=65279)g=[h.partial(16,c)];else if(c<=0xffffffff)g=h.concat([h.partial(16,65534)],[c]);g=h.concat(g,d);for(d=0;d<g.length;d+=4)f=a.encrypt(i(f,g.slice(d,d+4).concat([0,0,0])))}for(d=0;d<b.length;d+=4)f=a.encrypt(i(f,b.slice(d,d+4).concat([0,0,0])));return h.clamp(f,e*8)},R:function(a,b,c,d,e,f){var g,h=sjcl.bitArray;g=h.i;var i=b.length,j=h.bitLength(b);c=h.concat([h.partial(8,
f-1)],c).concat([0,0,0]).slice(0,4);d=h.bitSlice(g(d,a.encrypt(c)),0,e);if(!i)return{tag:d,data:[]};for(g=0;g<i;g+=4){c[3]++;e=a.encrypt(c);b[g]^=e[0];b[g+1]^=e[1];b[g+2]^=e[2];b[g+3]^=e[3]}return{tag:d,data:h.clamp(b,j)}}};if(sjcl.beware===undefined)sjcl.beware={};
sjcl.beware["CBC mode is dangerous because it doesn't protect message integrity."]=function(){sjcl.mode.cbc={name:"cbc",encrypt:function(a,b,c,d){if(d&&d.length)throw new sjcl.exception.invalid("cbc can't authenticate data");if(sjcl.bitArray.bitLength(c)!==128)throw new sjcl.exception.invalid("cbc iv must be 128 bits");var e=sjcl.bitArray,f=e.i,g=e.bitLength(b),h=0,i=[];if(g&7)throw new sjcl.exception.invalid("pkcs#5 padding only works for multiples of a byte");for(d=0;h+128<=g;d+=4,h+=128){c=a.encrypt(f(c,
b.slice(d,d+4)));i.splice(d,0,c[0],c[1],c[2],c[3])}g=(16-(g>>3&15))*0x1010101;c=a.encrypt(f(c,e.concat(b,[g,g,g,g]).slice(d,d+4)));i.splice(d,0,c[0],c[1],c[2],c[3]);return i},decrypt:function(a,b,c,d){if(d&&d.length)throw new sjcl.exception.invalid("cbc can't authenticate data");if(sjcl.bitArray.bitLength(c)!==128)throw new sjcl.exception.invalid("cbc iv must be 128 bits");if(sjcl.bitArray.bitLength(b)&127||!b.length)throw new sjcl.exception.corrupt("cbc ciphertext must be a positive multiple of the block size");
var e=sjcl.bitArray,f=e.i,g,h=[];for(d=0;d<b.length;d+=4){g=b.slice(d,d+4);c=f(c,a.decrypt(g));h.splice(d,0,c[0],c[1],c[2],c[3]);c=g}g=h[d-1]&255;if(g==0||g>16)throw new sjcl.exception.corrupt("pkcs#5 padding corrupt");c=g*0x1010101;if(!e.equal(e.bitSlice([c,c,c,c],0,g*8),e.bitSlice(h,h.length*32-g*8,h.length*32)))throw new sjcl.exception.corrupt("pkcs#5 padding corrupt");return e.bitSlice(h,0,h.length*32-g*8)}}};
sjcl.mode.ocb2={name:"ocb2",encrypt:function(a,b,c,d,e,f){if(sjcl.bitArray.bitLength(c)!==128)throw new sjcl.exception.invalid("ocb iv must be 128 bits");var g,h=sjcl.mode.ocb2.K,i=sjcl.bitArray,j=i.i,k=[0,0,0,0];c=h(a.encrypt(c));var l,m=[];d=d||[];e=e||64;for(g=0;g+4<b.length;g+=4){l=b.slice(g,g+4);k=j(k,l);l=j(c,a.encrypt(j(c,l)));m.splice(g,0,l[0],l[1],l[2],l[3]);c=h(c)}l=b.slice(g);b=i.bitLength(l);g=a.encrypt(j(c,[0,0,0,b]));l=i.clamp(j(l.concat([0,0,0]),g),b);k=j(k,j(l.concat([0,0,0]),g));
k=a.encrypt(j(k,j(c,h(c))));if(d.length)k=j(k,f?d:sjcl.mode.ocb2.pmac(a,d));return m.concat(i.concat(l,i.clamp(k,e)))},decrypt:function(a,b,c,d,e,f){if(sjcl.bitArray.bitLength(c)!==128)throw new sjcl.exception.invalid("ocb iv must be 128 bits");e=e||64;var g=sjcl.mode.ocb2.K,h=sjcl.bitArray,i=h.i,j=[0,0,0,0],k=g(a.encrypt(c)),l,m,n=sjcl.bitArray.bitLength(b)-e,o=[];d=d||[];for(c=0;c+4<n/32;c+=4){l=i(k,a.decrypt(i(k,b.slice(c,c+4))));j=i(j,l);o.splice(c,0,l[0],l[1],l[2],l[3]);k=g(k)}m=n-c*32;l=a.encrypt(i(k,
[0,0,0,m]));l=i(l,h.clamp(b.slice(c),m).concat([0,0,0]));j=i(j,l);j=a.encrypt(i(j,i(k,g(k))));if(d.length)j=i(j,f?d:sjcl.mode.ocb2.pmac(a,d));if(!h.equal(h.clamp(j,e),h.bitSlice(b,n)))throw new sjcl.exception.corrupt("ocb: tag doesn't match");return o.concat(h.clamp(l,m))},pmac:function(a,b){var c,d=sjcl.mode.ocb2.K,e=sjcl.bitArray,f=e.i,g=[0,0,0,0],h=a.encrypt([0,0,0,0]);h=f(h,d(d(h)));for(c=0;c+4<b.length;c+=4){h=d(h);g=f(g,a.encrypt(f(h,b.slice(c,c+4))))}b=b.slice(c);if(e.bitLength(b)<128){h=f(h,
d(h));b=e.concat(b,[2147483648|0,0,0,0])}g=f(g,b);return a.encrypt(f(d(f(h,d(h))),g))},K:function(a){return[a[0]<<1^a[1]>>>31,a[1]<<1^a[2]>>>31,a[2]<<1^a[3]>>>31,a[3]<<1^(a[0]>>>31)*135]}};sjcl.misc.hmac=function(a,b){this.W=b=b||sjcl.hash.sha256;var c=[[],[]],d=b.prototype.blockSize/32;this.p=[new b,new b];if(a.length>d)a=b.hash(a);for(b=0;b<d;b++){c[0][b]=a[b]^909522486;c[1][b]=a[b]^1549556828}this.p[0].update(c[0]);this.p[1].update(c[1])};
sjcl.misc.hmac.prototype.encrypt=sjcl.misc.hmac.prototype.mac=function(a,b){a=(new this.W(this.p[0])).update(a,b).finalize();return(new this.W(this.p[1])).update(a).finalize()};
sjcl.misc.pbkdf2=function(a,b,c,d,e){c=c||1E3;if(d<0||c<0)throw sjcl.exception.invalid("invalid params to pbkdf2");if(typeof a==="string")a=sjcl.codec.utf8String.toBits(a);e=e||sjcl.misc.hmac;a=new e(a);var f,g,h,i,j=[],k=sjcl.bitArray;for(i=1;32*j.length<(d||1);i++){e=f=a.encrypt(k.concat(b,[i]));for(g=1;g<c;g++){f=a.encrypt(f);for(h=0;h<f.length;h++)e[h]^=f[h]}j=j.concat(e)}if(d)j=k.clamp(j,d);return j};
sjcl.random={randomWords:function(a,b){var c=[];b=this.isReady(b);var d;if(b===0)throw new sjcl.exception.notReady("generator isn't seeded");else b&2&&this.fa(!(b&1));for(b=0;b<a;b+=4){(b+1)%0x10000===0&&this.V();d=this.F();c.push(d[0],d[1],d[2],d[3])}this.V();return c.slice(0,a)},setDefaultParanoia:function(a){this.C=a},addEntropy:function(a,b,c){c=c||"user";var d,e,f=(new Date).valueOf(),g=this.w[c],h=this.isReady();d=this.O[c];if(d===undefined)d=this.O[c]=this.ca++;if(g===undefined)g=this.w[c]=0;
this.w[c]=(this.w[c]+1)%this.f.length;switch(typeof a){case "number":break;case "object":if(b===undefined)for(c=b=0;c<a.length;c++)for(e=a[c];e>0;){b++;e>>>=1}this.f[g].update([d,this.T++,2,b,f,a.length].concat(a));break;case "string":if(b===undefined)b=a.length;this.f[g].update([d,this.T++,3,b,f,a.length]);this.f[g].update(a);break;default:throw new sjcl.exception.bug("random: addEntropy only supports number, array or string");}this.o[g]+=b;this.k+=b;if(h===0){this.isReady()!==0&&this.U("seeded",
Math.max(this.l,this.k));this.U("progress",this.getProgress())}},isReady:function(a){a=this.L[a!==undefined?a:this.C];return this.l&&this.l>=a?this.o[0]>80&&(new Date).valueOf()>this.Z?3:1:this.k>=a?2:0},getProgress:function(a){a=this.L[a?a:this.C];return this.l>=a?1["0"]:this.k>a?1["0"]:this.k/a},startCollectors:function(){if(!this.q){if(window.addEventListener){window.addEventListener("load",this.t,false);window.addEventListener("mousemove",this.u,false)}else if(document.attachEvent){document.attachEvent("onload",
this.t);document.attachEvent("onmousemove",this.u)}else throw new sjcl.exception.bug("can't attach event");this.q=true}},stopCollectors:function(){if(this.q){if(window.removeEventListener){window.removeEventListener("load",this.t);window.removeEventListener("mousemove",this.u)}else if(window.detachEvent){window.detachEvent("onload",this.t);window.detachEvent("onmousemove",this.u)}this.q=false}},addEventListener:function(a,b){this.A[a][this.ba++]=b},removeEventListener:function(a,b){var c;a=this.A[a];
var d=[];for(c in a)a.hasOwnProperty(c)&&a[c]===b&&d.push(c);for(b=0;b<d.length;b++){c=d[b];delete a[c]}},f:[new sjcl.hash.sha256],o:[0],J:0,w:{},T:0,O:{},ca:0,l:0,k:0,Z:0,c:[0,0,0,0,0,0,0,0],h:[0,0,0,0],B:undefined,C:6,q:false,A:{progress:{},seeded:{}},ba:0,L:[0,48,64,96,128,192,0x100,384,512,768,1024],F:function(){for(var a=0;a<4;a++){this.h[a]=this.h[a]+1|0;if(this.h[a])break}return this.B.encrypt(this.h)},V:function(){this.c=this.F().concat(this.F());this.B=new sjcl.cipher.aes(this.c)},ea:function(a){this.c=
sjcl.hash.sha256.hash(this.c.concat(a));this.B=new sjcl.cipher.aes(this.c);for(a=0;a<4;a++){this.h[a]=this.h[a]+1|0;if(this.h[a])break}},fa:function(a){var b=[],c=0,d;this.Z=b[0]=(new Date).valueOf()+3E4;for(d=0;d<16;d++)b.push(Math.random()*0x100000000|0);for(d=0;d<this.f.length;d++){b=b.concat(this.f[d].finalize());c+=this.o[d];this.o[d]=0;if(!a&&this.J&1<<d)break}if(this.J>=1<<this.f.length){this.f.push(new sjcl.hash.sha256);this.o.push(0)}this.k-=c;if(c>this.l)this.l=c;this.J++;this.ea(b)},u:function(a){sjcl.random.addEntropy([a.x||
a.clientX||a.offsetX,a.y||a.clientY||a.offsetY],2,"mouse")},t:function(){sjcl.random.addEntropy(new Date,2,"loadtime")},U:function(a,b){var c;a=sjcl.random.A[a];var d=[];for(c in a)a.hasOwnProperty(c)&&d.push(a[c]);for(c=0;c<d.length;c++)d[c](b)}};
sjcl.json={defaults:{v:1,iter:1E3,ks:128,ts:64,mode:"ccm",adata:"",cipher:"aes"},encrypt:function(a,b,c,d){c=c||{};d=d||{};var e=sjcl.json,f=e.g({iv:sjcl.random.randomWords(4,0)},e.defaults);e.g(f,c);if(typeof f.salt==="string")f.salt=sjcl.codec.base64.toBits(f.salt);if(typeof f.iv==="string")f.iv=sjcl.codec.base64.toBits(f.iv);if(!sjcl.mode[f.mode]||!sjcl.cipher[f.cipher]||typeof a==="string"&&f.iter<=100||f.ts!==64&&f.ts!==96&&f.ts!==128||f.ks!==128&&f.ks!==192&&f.ks!==0x100||f.iv.length<2||f.iv.length>
4)throw new sjcl.exception.invalid("json encrypt: invalid parameters");if(typeof a==="string"){c=sjcl.misc.cachedPbkdf2(a,f);a=c.key.slice(0,f.ks/32);f.salt=c.salt}if(typeof b==="string")b=sjcl.codec.utf8String.toBits(b);c=new sjcl.cipher[f.cipher](a);e.g(d,f);d.key=a;f.ct=sjcl.mode[f.mode].encrypt(c,b,f.iv,f.adata,f.tag);return e.encode(f)},decrypt:function(a,b,c,d){c=c||{};d=d||{};var e=sjcl.json;b=e.g(e.g(e.g({},e.defaults),e.decode(b)),c,true);if(typeof b.salt==="string")b.salt=sjcl.codec.base64.toBits(b.salt);
if(typeof b.iv==="string")b.iv=sjcl.codec.base64.toBits(b.iv);if(!sjcl.mode[b.mode]||!sjcl.cipher[b.cipher]||typeof a==="string"&&b.iter<=100||b.ts!==64&&b.ts!==96&&b.ts!==128||b.ks!==128&&b.ks!==192&&b.ks!==0x100||!b.iv||b.iv.length<2||b.iv.length>4)throw new sjcl.exception.invalid("json decrypt: invalid parameters");if(typeof a==="string"){c=sjcl.misc.cachedPbkdf2(a,b);a=c.key.slice(0,b.ks/32);b.salt=c.salt}c=new sjcl.cipher[b.cipher](a);c=sjcl.mode[b.mode].decrypt(c,b.ct,b.iv,b.adata,b.tag);e.g(d,
b);d.key=a;return sjcl.codec.utf8String.fromBits(c)},encode:function(a){var b,c="{",d="";for(b in a)if(a.hasOwnProperty(b)){if(!b.match(/^[a-z0-9]+$/i))throw new sjcl.exception.invalid("json encode: invalid property name");c+=d+'"'+b+'":';d=",";switch(typeof a[b]){case "number":case "boolean":c+=a[b];break;case "string":c+='"'+escape(a[b])+'"';break;case "object":c+='"'+sjcl.codec.base64.fromBits(a[b],1)+'"';break;default:throw new sjcl.exception.bug("json encode: unsupported type");}}return c+"}"},
decode:function(a){a=a.replace(/\s/g,"");if(!a.match(/^\{.*\}$/))throw new sjcl.exception.invalid("json decode: this isn't json!");a=a.replace(/^\{|\}$/g,"").split(/,/);var b={},c,d;for(c=0;c<a.length;c++){if(!(d=a[c].match(/^(?:(["']?)([a-z][a-z0-9]*)\1):(?:(\d+)|"([a-z0-9+\/%*_.@=\-]*)")$/i)))throw new sjcl.exception.invalid("json decode: this isn't json!");b[d[2]]=d[3]?parseInt(d[3],10):d[2].match(/^(ct|salt|iv)$/)?sjcl.codec.base64.toBits(d[4]):unescape(d[4])}return b},g:function(a,b,c){if(a===
undefined)a={};if(b===undefined)return a;var d;for(d in b)if(b.hasOwnProperty(d)){if(c&&a[d]!==undefined&&a[d]!==b[d])throw new sjcl.exception.invalid("required parameter overridden");a[d]=b[d]}return a},ga:function(a,b){var c={},d;for(d=0;d<b.length;d++)if(a[b[d]]!==undefined)c[b[d]]=a[b[d]];return c}};sjcl.encrypt=sjcl.json.encrypt;sjcl.decrypt=sjcl.json.decrypt;sjcl.misc.da={};
sjcl.misc.cachedPbkdf2=function(a,b){var c=sjcl.misc.da,d;b=b||{};d=b.iter||1E3;c=c[a]=c[a]||{};d=c[d]=c[d]||{firstSalt:b.salt&&b.salt.length?b.salt.slice(0):sjcl.random.randomWords(2,0)};c=b.salt===undefined?d.firstSalt:b.salt;d[c]=d[c]||sjcl.misc.pbkdf2(a,c,b.iter);return{key:d[c].slice(0),salt:c.slice(0)}};sjcl.bn=function(a){this.initWith(a)};
sjcl.bn.prototype={radix:24,maxMul:8,d:sjcl.bn,copy:function(){return new this.d(this)},initWith:function(a){var b=0,c;switch(typeof a){case "object":this.limbs=a.limbs.slice(0);break;case "number":this.limbs=[a];this.normalize();break;case "string":a=a.replace(/^0x/,"");this.limbs=[];c=this.radix/4;for(b=0;b<a.length;b+=c)this.limbs.push(parseInt(a.substring(Math.max(a.length-b-c,0),a.length-b),16));break;default:this.limbs=[0]}return this},equals:function(a){if(typeof a==="number")a=new this.d(a);
var b=0,c;this.fullReduce();a.fullReduce();for(c=0;c<this.limbs.length||c<a.limbs.length;c++)b|=this.getLimb(c)^a.getLimb(c);return b===0},getLimb:function(a){return a>=this.limbs.length?0:this.limbs[a]},greaterEquals:function(a){if(typeof a==="number")a=new this.d(a);var b=0,c=0,d,e,f;for(d=Math.max(this.limbs.length,a.limbs.length)-1;d>=0;d--){e=this.getLimb(d);f=a.getLimb(d);c|=f-e&~b;b|=e-f&~c}return(c|~b)>>>31},toString:function(){this.fullReduce();var a="",b,c,d=this.limbs;for(b=0;b<this.limbs.length;b++){for(c=
d[b].toString(16);b<this.limbs.length-1&&c.length<6;)c="0"+c;a=c+a}return"0x"+a},addM:function(a){if(typeof a!=="object")a=new this.d(a);var b=this.limbs,c=a.limbs;for(a=b.length;a<c.length;a++)b[a]=0;for(a=0;a<c.length;a++)b[a]+=c[a];return this},doubleM:function(){var a,b=0,c,d=this.radix,e=this.radixMask,f=this.limbs;for(a=0;a<f.length;a++){c=f[a];c=c+c+b;f[a]=c&e;b=c>>d}b&&f.push(b);return this},halveM:function(){var a,b=0,c,d=this.radix,e=this.limbs;for(a=e.length-1;a>=0;a--){c=e[a];e[a]=c+b>>
1;b=(c&1)<<d}e[e.length-1]||e.pop();return this},subM:function(a){if(typeof a!=="object")a=new this.d(a);var b=this.limbs,c=a.limbs;for(a=b.length;a<c.length;a++)b[a]=0;for(a=0;a<c.length;a++)b[a]-=c[a];return this},mod:function(a){a=(new sjcl.bn(a)).normalize();for(var b=(new sjcl.bn(this)).normalize(),c=0;b.greaterEquals(a);c++)a.doubleM();for(;c>0;c--){a.halveM();b.greaterEquals(a)&&b.subM(a).normalize()}return b.trim()},inverseMod:function(a){var b=new sjcl.bn(1),c=new sjcl.bn(0),d=new sjcl.bn(this),
e=new sjcl.bn(a),f,g=1;if(!(a.limbs[0]&1))throw new sjcl.exception.invalid("inverseMod: p must be odd");do{if(d.limbs[0]&1){if(!d.greaterEquals(e)){f=d;d=e;e=f;f=b;b=c;c=f}d.subM(e);d.normalize();b.greaterEquals(c)||b.addM(a);b.subM(c)}d.halveM();b.limbs[0]&1&&b.addM(a);b.normalize();b.halveM();for(f=g=0;f<d.limbs.length;f++)g|=d.limbs[f]}while(g);if(!e.equals(1))throw new sjcl.exception.invalid("inverseMod: p and x must be relatively prime");return c},add:function(a){return this.copy().addM(a)},
sub:function(a){return this.copy().subM(a)},mul:function(a){if(typeof a==="number")a=new this.d(a);var b,c=this.limbs,d=a.limbs,e=c.length,f=d.length,g=new this.d,h=g.limbs,i,j=this.maxMul;for(b=0;b<this.limbs.length+a.limbs.length+1;b++)h[b]=0;for(b=0;b<e;b++){i=c[b];for(a=0;a<f;a++)h[b+a]+=i*d[a];if(!--j){j=this.maxMul;g.cnormalize()}}return g.cnormalize().reduce()},square:function(){return this.mul(this)},power:function(a){if(typeof a==="number")a=[a];else if(a.limbs!==undefined)a=a.normalize().limbs;
var b,c,d=new this.d(1),e=this;for(b=0;b<a.length;b++)for(c=0;c<this.radix;c++){if(a[b]&1<<c)d=d.mul(e);e=e.square()}return d},trim:function(){var a=this.limbs,b;do b=a.pop();while(a.length&&b===0);a.push(b);return this},reduce:function(){return this},fullReduce:function(){return this.normalize()},normalize:function(){var a=0,b,c=this.ipv,d,e=this.limbs,f=e.length,g=this.radixMask;for(b=0;b<f||a!==0&&a!==-1;b++){a=(e[b]||0)+a;d=e[b]=a&g;a=(a-d)*c}if(a===-1)e[b-1]-=this.placeVal;return this},cnormalize:function(){var a=
0,b,c=this.ipv,d,e=this.limbs,f=e.length,g=this.radixMask;for(b=0;b<f-1;b++){a=e[b]+a;d=e[b]=a&g;a=(a-d)*c}e[b]+=a;return this},toBits:function(a){this.fullReduce();a=a||this.exponent||this.limbs.length*this.radix;var b=Math.floor((a-1)/24),c=sjcl.bitArray;a=[c.partial((a+7&-8)%this.radix||this.radix,this.getLimb(b))];for(b--;b>=0;b--)a=c.concat(a,[c.partial(this.radix,this.getLimb(b))]);return a},bitLength:function(){this.fullReduce();for(var a=this.radix*(this.limbs.length-1),b=this.limbs[this.limbs.length-
1];b;b>>=1)a++;return a+7&-8}};sjcl.bn.fromBits=function(a){var b=new this,c=[],d=sjcl.bitArray,e=this.prototype,f=Math.min(this.bitLength||0x100000000,d.bitLength(a)),g=f%e.radix||e.radix;for(c[0]=d.extract(a,0,g);g<f;g+=e.radix)c.unshift(d.extract(a,g,e.radix));b.limbs=c;return b};sjcl.bn.prototype.ipv=1/(sjcl.bn.prototype.placeVal=Math.pow(2,sjcl.bn.prototype.radix));sjcl.bn.prototype.radixMask=(1<<sjcl.bn.prototype.radix)-1;
sjcl.bn.pseudoMersennePrime=function(a,b){function c(g){this.initWith(g)}var d=c.prototype=new sjcl.bn,e,f;e=d.modOffset=Math.ceil(f=a/d.radix);d.exponent=a;d.offset=[];d.factor=[];d.minOffset=e;d.fullMask=0;d.fullOffset=[];d.fullFactor=[];d.modulus=c.modulus=new sjcl.bn(Math.pow(2,a));d.fullMask=0|-Math.pow(2,a%d.radix);for(e=0;e<b.length;e++){d.offset[e]=Math.floor(b[e][0]/d.radix-f);d.fullOffset[e]=Math.ceil(b[e][0]/d.radix-f);d.factor[e]=b[e][1]*Math.pow(0.5,a-b[e][0]+d.offset[e]*d.radix);d.fullFactor[e]=
b[e][1]*Math.pow(0.5,a-b[e][0]+d.fullOffset[e]*d.radix);d.modulus.addM(new sjcl.bn(Math.pow(2,b[e][0])*b[e][1]));d.minOffset=Math.min(d.minOffset,-d.offset[e])}d.d=c;d.modulus.cnormalize();d.reduce=function(){var g,h,i,j=this.modOffset,k=this.limbs,l=this.offset,m=this.offset.length,n=this.factor,o;for(g=this.minOffset;k.length>j;){i=k.pop();o=k.length;for(h=0;h<m;h++)k[o+l[h]]-=n[h]*i;g--;if(!g){k.push(0);this.cnormalize();g=this.minOffset}}this.cnormalize();return this};d.aa=d.fullMask===-1?d.reduce:
function(){var g=this.limbs,h=g.length-1,i,j;this.reduce();if(h===this.modOffset-1){j=g[h]&this.fullMask;g[h]-=j;for(i=0;i<this.fullOffset.length;i++)g[h+this.fullOffset[i]]-=this.fullFactor[i]*j;this.normalize()}};d.fullReduce=function(){var g,h;this.aa();this.addM(this.modulus);this.addM(this.modulus);this.normalize();this.aa();for(h=this.limbs.length;h<this.modOffset;h++)this.limbs[h]=0;g=this.greaterEquals(this.modulus);for(h=0;h<this.limbs.length;h++)this.limbs[h]-=this.modulus.limbs[h]*g;this.cnormalize();
return this};d.inverse=function(){return this.power(this.modulus.sub(2))};c.fromBits=sjcl.bn.fromBits;return c};
sjcl.bn.prime={p127:sjcl.bn.pseudoMersennePrime(127,[[0,-1]]),p25519:sjcl.bn.pseudoMersennePrime(255,[[0,-19]]),p192:sjcl.bn.pseudoMersennePrime(192,[[0,-1],[64,-1]]),p224:sjcl.bn.pseudoMersennePrime(224,[[0,1],[96,-1]]),p256:sjcl.bn.pseudoMersennePrime(0x100,[[0,-1],[96,1],[192,1],[224,-1]]),p384:sjcl.bn.pseudoMersennePrime(384,[[0,-1],[32,1],[96,-1],[128,-1]]),p521:sjcl.bn.pseudoMersennePrime(521,[[0,-1]])};
sjcl.bn.random=function(a,b){if(typeof a!=="object")a=new sjcl.bn(a);for(var c,d,e=a.limbs.length,f=a.limbs[e-1]+1,g=new sjcl.bn;;){do{c=sjcl.random.randomWords(e,b);if(c[e-1]<0)c[e-1]+=0x100000000}while(Math.floor(c[e-1]/f)===Math.floor(0x100000000/f));c[e-1]%=f;for(d=0;d<e-1;d++)c[d]&=a.radixMask;g.limbs=c;if(!g.greaterEquals(a))return g}};sjcl.ecc={};sjcl.ecc.point=function(a,b,c){if(b===undefined)this.isIdentity=true;else{this.x=b;this.y=c;this.isIdentity=false}this.curve=a};
sjcl.ecc.point.prototype={toJac:function(){return new sjcl.ecc.pointJac(this.curve,this.x,this.y,new this.curve.field(1))},mult:function(a){return this.toJac().mult(a,this).toAffine()},mult2:function(a,b,c){return this.toJac().mult2(a,this,b,c).toAffine()},multiples:function(){var a,b,c;if(this.Y===undefined){c=this.toJac().doubl();a=this.Y=[new sjcl.ecc.point(this.curve),this,c.toAffine()];for(b=3;b<16;b++){c=c.add(this);a.push(c.toAffine())}}return this.Y},isValid:function(){return this.y.square().equals(this.curve.b.add(this.x.mul(this.curve.a.add(this.x.square()))))},
toBits:function(){return sjcl.bitArray.concat(this.x.toBits(),this.y.toBits())}};sjcl.ecc.pointJac=function(a,b,c,d){if(b===undefined)this.isIdentity=true;else{this.x=b;this.y=c;this.z=d;this.isIdentity=false}this.curve=a};
sjcl.ecc.pointJac.prototype={add:function(a){var b,c,d,e;if(this.curve!==a.curve)throw"sjcl['ecc']['add'](): Points must be on the same curve to add them!";if(this.isIdentity)return a.toJac();else if(a.isIdentity)return this;b=this.z.square();c=a.x.mul(b).subM(this.x);if(c.equals(0))return this.y.equals(a.y.mul(b.mul(this.z)))?this.doubl():new sjcl.ecc.pointJac(this.curve);b=a.y.mul(b.mul(this.z)).subM(this.y);d=c.square();a=b.square();e=c.square().mul(c).addM(this.x.add(this.x).mul(d));a=a.subM(e);
b=this.x.mul(d).subM(a).mul(b);d=this.y.mul(c.square().mul(c));b=b.subM(d);c=this.z.mul(c);return new sjcl.ecc.pointJac(this.curve,a,b,c)},doubl:function(){if(this.isIdentity)return this;var a=this.y.square(),b=a.mul(this.x.mul(4)),c=a.square().mul(8);a=this.z.square();var d=this.x.sub(a).mul(3).mul(this.x.add(a));a=d.square().subM(b).subM(b);b=b.sub(a).mul(d).subM(c);c=this.y.add(this.y).mul(this.z);return new sjcl.ecc.pointJac(this.curve,a,b,c)},toAffine:function(){if(this.isIdentity||this.z.equals(0))return new sjcl.ecc.point(this.curve);
var a=this.z.inverse(),b=a.square();return new sjcl.ecc.point(this.curve,this.x.mul(b).fullReduce(),this.y.mul(b.mul(a)).fullReduce())},mult:function(a,b){if(typeof a==="number")a=[a];else if(a.limbs!==undefined)a=a.normalize().limbs;var c,d=(new sjcl.ecc.point(this.curve)).toJac(),e=b.multiples();for(b=a.length-1;b>=0;b--)for(c=sjcl.bn.prototype.radix-4;c>=0;c-=4)d=d.doubl().doubl().doubl().doubl().add(e[a[b]>>c&15]);return d},mult2:function(a,b,c,d){if(typeof a==="number")a=[a];else if(a.limbs!==
undefined)a=a.normalize().limbs;if(typeof c==="number")c=[c];else if(c.limbs!==undefined)c=c.normalize().limbs;var e,f=(new sjcl.ecc.point(this.curve)).toJac();b=b.multiples();var g=d.multiples(),h,i;for(d=Math.max(a.length,c.length)-1;d>=0;d--){h=a[d]|0;i=c[d]|0;for(e=sjcl.bn.prototype.radix-4;e>=0;e-=4)f=f.doubl().doubl().doubl().doubl().add(b[h>>e&15]).add(g[i>>e&15])}return f},isValid:function(){var a=this.z.square(),b=a.square();a=b.mul(a);return this.y.square().equals(this.curve.b.mul(a).add(this.x.mul(this.curve.a.mul(b).add(this.x.square()))))}};
sjcl.ecc.curve=function(a,b,c,d,e,f){this.field=a;this.r=a.prototype.modulus.sub(b);this.a=new a(c);this.b=new a(d);this.G=new sjcl.ecc.point(this,new a(e),new a(f))};sjcl.ecc.curve.prototype.fromBits=function(a){var b=sjcl.bitArray,c=this.field.prototype.exponent+7&-8;a=new sjcl.ecc.point(this,this.field.fromBits(b.bitSlice(a,0,c)),this.field.fromBits(b.bitSlice(a,c,2*c)));if(!a.isValid())throw new sjcl.exception.corrupt("not on the curve!");return a};
sjcl.ecc.curves={c192:new sjcl.ecc.curve(sjcl.bn.prime.p192,"0x662107c8eb94364e4b2dd7ce",-3,"0x64210519e59c80e70fa7e9ab72243049feb8deecc146b9b1","0x188da80eb03090f67cbf20eb43a18800f4ff0afd82ff1012","0x07192b95ffc8da78631011ed6b24cdd573f977a11e794811"),c224:new sjcl.ecc.curve(sjcl.bn.prime.p224,"0xe95c1f470fc1ec22d6baa3a3d5c4",-3,"0xb4050a850c04b3abf54132565044b0b7d7bfd8ba270b39432355ffb4","0xb70e0cbd6bb4bf7f321390b94a03c1d356c21122343280d6115c1d21","0xbd376388b5f723fb4c22dfe6cd4375a05a07476444d5819985007e34"),
c256:new sjcl.ecc.curve(sjcl.bn.prime.p256,"0x4319055358e8617b0c46353d039cdaae",-3,"0x5ac635d8aa3a93e7b3ebbd55769886bc651d06b0cc53b0f63bce3c3e27d2604b","0x6b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c296","0x4fe342e2fe1a7f9b8ee7eb4a7c0f9e162bce33576b315ececbb6406837bf51f5"),c384:new sjcl.ecc.curve(sjcl.bn.prime.p384,"0x389cb27e0bc8d21fa7e5f24cb74f58851313e696333ad68c",-3,"0xb3312fa7e23ee7e4988e056be3f82d19181d9c6efe8141120314088f5013875ac656398d8a2ed19d2a85c8edd3ec2aef","0xaa87ca22be8b05378eb1c71ef320ad746e1d3b628ba79b9859f741e082542a385502f25dbf55296c3a545e3872760ab7",
"0x3617de4a96262c6f5d9e98bf9292dc29f8f41dbd289a147ce9da3113b5f0b8c00a60b1ce1d7e819d7a431d7c90ea0e5f")};
sjcl.ecc.S=function(a){sjcl.ecc[a]={publicKey:function(b,c){this.e=b;this.H=c instanceof Array?b.fromBits(c):c},secretKey:function(b,c){this.e=b;this.D=c},generateKeys:function(b,c){if(b===undefined)b=0x100;if(typeof b==="number"){b=sjcl.ecc.curves["c"+b];if(b===undefined)throw new sjcl.exception.invalid("no such curve");}c=sjcl.bn.random(b.r,c);var d=b.G.mult(c);return{pub:new sjcl.ecc[a].publicKey(b,d),sec:new sjcl.ecc[a].secretKey(b,c)}}}};sjcl.ecc.S("elGamal");
sjcl.ecc.elGamal.publicKey.prototype={kem:function(a){a=sjcl.bn.random(this.e.r,a);var b=this.e.G.mult(a).toBits();return{key:sjcl.hash.sha256.hash(this.H.mult(a).toBits()),tag:b}}};sjcl.ecc.elGamal.secretKey.prototype={unkem:function(a){return sjcl.hash.sha256.hash(this.e.fromBits(a).mult(this.D).toBits())},dh:function(a){return sjcl.hash.sha256.hash(a.H.mult(this.D).toBits())}};sjcl.ecc.S("ecdsa");
sjcl.ecc.ecdsa.secretKey.prototype={sign:function(a,b){var c=this.e.r,d=c.bitLength(),e=sjcl.bn.random(c.sub(1),b).add(1);b=this.e.G.mult(e).x.mod(c);a=sjcl.bn.fromBits(a).add(b.mul(this.D)).inverseMod(c).mul(e).mod(c);return sjcl.bitArray.concat(b.toBits(d),a.toBits(d))}};
sjcl.ecc.ecdsa.publicKey.prototype={verify:function(a,b){var c=sjcl.bitArray,d=this.e.r,e=d.bitLength(),f=sjcl.bn.fromBits(c.bitSlice(b,0,e));b=sjcl.bn.fromBits(c.bitSlice(b,e,2*e));a=sjcl.bn.fromBits(a).mul(b).mod(d);c=f.mul(b).mod(d);a=this.e.G.mult2(a,c,this.H).x;if(f.equals(0)||b.equals(0)||f.greaterEquals(d)||b.greaterEquals(d)||!a.equals(f))throw new sjcl.exception.corrupt("signature didn't check out");return true}};
sjcl.codec.base64={D:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",fromBits:function(a,b){var c="",d,e=0,f=sjcl.codec.base64.D,g=0,h=sjcl.bitArray.bitLength(a);for(d=0;c.length*6<h;){c+=f.charAt((g^a[d]>>>e)>>>26);if(e<6){g=a[d]<<6-e;e+=26;d++}else{g<<=6;e-=6}}for(;c.length&3&&!b;)c+="=";return c},toBits:function(a){a=a.replace(/\s|=/g,"");var b=[],c,d=0,e=sjcl.codec.base64.D,f=0,g;for(c=0;c<a.length;c++){g=e.indexOf(a.charAt(c));if(g<0)throw new sjcl.exception.invalid("this isn't base64!");
if(d>26){d-=26;b.push(f^g>>>d);f=g<<32-d}else{d+=6;f^=g<<32-d}}d&56&&b.push(sjcl.bitArray.partial(d&56,f,1));return b}};sjcl.hash.sha256=function(a){this.a[0]||this.w();if(a){this.n=a.n.slice(0);this.i=a.i.slice(0);this.e=a.e}else this.reset()};sjcl.hash.sha256.hash=function(a){return(new sjcl.hash.sha256).update(a).finalize()};
sjcl.hash.sha256.prototype={blockSize:512,reset:function(){this.n=this.N.slice(0);this.i=[];this.e=0;return this},update:function(a){if(typeof a==="string")a=sjcl.codec.utf8String.toBits(a);var b,c=this.i=sjcl.bitArray.concat(this.i,a);b=this.e;a=this.e=b+sjcl.bitArray.bitLength(a);for(b=512+b&-512;b<=a;b+=512)this.C(c.splice(0,16));return this},finalize:function(){var a,b=this.i,c=this.n;b=sjcl.bitArray.concat(b,[sjcl.bitArray.partial(1,1)]);for(a=b.length+2;a&15;a++)b.push(0);b.push(Math.floor(this.e/
4294967296));for(b.push(this.e|0);b.length;)this.C(b.splice(0,16));this.reset();return c},N:[],a:[],w:function(){function a(e){return(e-Math.floor(e))*0x100000000|0}var b=0,c=2,d;a:for(;b<64;c++){for(d=2;d*d<=c;d++)if(c%d===0)continue a;if(b<8)this.N[b]=a(Math.pow(c,0.5));this.a[b]=a(Math.pow(c,1/3));b++}},C:function(a){var b,c,d=a.slice(0),e=this.n,f=this.a,g=e[0],h=e[1],i=e[2],k=e[3],j=e[4],l=e[5],m=e[6],n=e[7];for(a=0;a<64;a++){if(a<16)b=d[a];else{b=d[a+1&15];c=d[a+14&15];b=d[a&15]=(b>>>7^b>>>18^
b>>>3^b<<25^b<<14)+(c>>>17^c>>>19^c>>>10^c<<15^c<<13)+d[a&15]+d[a+9&15]|0}b=b+n+(j>>>6^j>>>11^j>>>25^j<<26^j<<21^j<<7)+(m^j&(l^m))+f[a];n=m;m=l;l=j;j=k+b|0;k=i;i=h;h=g;g=b+(h&i^k&(h^i))+(h>>>2^h>>>13^h>>>22^h<<30^h<<19^h<<10)|0}e[0]=e[0]+g|0;e[1]=e[1]+h|0;e[2]=e[2]+i|0;e[3]=e[3]+k|0;e[4]=e[4]+j|0;e[5]=e[5]+l|0;e[6]=e[6]+m|0;e[7]=e[7]+n|0}};
sjcl.mode.ccm={name:"ccm",encrypt:function(a,b,c,d,e){var f,g=b.slice(0),h=sjcl.bitArray,i=h.bitLength(c)/8,k=h.bitLength(g)/8;e=e||64;d=d||[];if(i<7)throw new sjcl.exception.invalid("ccm: iv must be at least 7 bytes");for(f=2;f<4&&k>>>8*f;f++);if(f<15-i)f=15-i;c=h.clamp(c,8*(15-f));b=sjcl.mode.ccm.G(a,b,c,d,e,f);g=sjcl.mode.ccm.I(a,g,c,b,e,f);return h.concat(g.data,g.tag)},decrypt:function(a,b,c,d,e){e=e||64;d=d||[];var f=sjcl.bitArray,g=f.bitLength(c)/8,h=f.bitLength(b),i=f.clamp(b,h-e),k=f.bitSlice(b,
h-e);h=(h-e)/8;if(g<7)throw new sjcl.exception.invalid("ccm: iv must be at least 7 bytes");for(b=2;b<4&&h>>>8*b;b++);if(b<15-g)b=15-g;c=f.clamp(c,8*(15-b));i=sjcl.mode.ccm.I(a,i,c,k,e,b);a=sjcl.mode.ccm.G(a,i.data,c,d,e,b);if(!f.equal(i.tag,a))throw new sjcl.exception.corrupt("ccm: tag doesn't match");return i.data},G:function(a,b,c,d,e,f){var g=[],h=sjcl.bitArray,i=h.k;e/=8;if(e%2||e<4||e>16)throw new sjcl.exception.invalid("ccm: invalid tag length");if(d.length>0xffffffff||b.length>0xffffffff)throw new sjcl.exception.bug("ccm: can't deal with 4GiB or more data");
f=[h.partial(8,(d.length?64:0)|e-2<<2|f-1)];f=h.concat(f,c);f[3]|=h.bitLength(b)/8;f=a.encrypt(f);if(d.length){c=h.bitLength(d)/8;if(c<=65279)g=[h.partial(16,c)];else if(c<=0xffffffff)g=h.concat([h.partial(16,65534)],[c]);g=h.concat(g,d);for(d=0;d<g.length;d+=4)f=a.encrypt(i(f,g.slice(d,d+4).concat([0,0,0])))}for(d=0;d<b.length;d+=4)f=a.encrypt(i(f,b.slice(d,d+4).concat([0,0,0])));return h.clamp(f,e*8)},I:function(a,b,c,d,e,f){var g,h=sjcl.bitArray;g=h.k;var i=b.length,k=h.bitLength(b);c=h.concat([h.partial(8,
f-1)],c).concat([0,0,0]).slice(0,4);d=h.bitSlice(g(d,a.encrypt(c)),0,e);if(!i)return{tag:d,data:[]};for(g=0;g<i;g+=4){c[3]++;e=a.encrypt(c);b[g]^=e[0];b[g+1]^=e[1];b[g+2]^=e[2];b[g+3]^=e[3]}return{tag:d,data:h.clamp(b,k)}}};
sjcl.mode.ocb2={name:"ocb2",encrypt:function(a,b,c,d,e,f){if(sjcl.bitArray.bitLength(c)!==128)throw new sjcl.exception.invalid("ocb iv must be 128 bits");var g,h=sjcl.mode.ocb2.A,i=sjcl.bitArray,k=i.k,j=[0,0,0,0];c=h(a.encrypt(c));var l,m=[];d=d||[];e=e||64;for(g=0;g+4<b.length;g+=4){l=b.slice(g,g+4);j=k(j,l);m=m.concat(k(c,a.encrypt(k(c,l))));c=h(c)}l=b.slice(g);b=i.bitLength(l);g=a.encrypt(k(c,[0,0,0,b]));l=i.clamp(k(l.concat([0,0,0]),g),b);j=k(j,k(l.concat([0,0,0]),g));j=a.encrypt(k(j,k(c,h(c))));
if(d.length)j=k(j,f?d:sjcl.mode.ocb2.pmac(a,d));return m.concat(i.concat(l,i.clamp(j,e)))},decrypt:function(a,b,c,d,e,f){if(sjcl.bitArray.bitLength(c)!==128)throw new sjcl.exception.invalid("ocb iv must be 128 bits");e=e||64;var g=sjcl.mode.ocb2.A,h=sjcl.bitArray,i=h.k,k=[0,0,0,0],j=g(a.encrypt(c)),l,m,n=sjcl.bitArray.bitLength(b)-e,o=[];d=d||[];for(c=0;c+4<n/32;c+=4){l=i(j,a.decrypt(i(j,b.slice(c,c+4))));k=i(k,l);o=o.concat(l);j=g(j)}m=n-c*32;l=a.encrypt(i(j,[0,0,0,m]));l=i(l,h.clamp(b.slice(c),
m).concat([0,0,0]));k=i(k,l);k=a.encrypt(i(k,i(j,g(j))));if(d.length)k=i(k,f?d:sjcl.mode.ocb2.pmac(a,d));if(!h.equal(h.clamp(k,e),h.bitSlice(b,n)))throw new sjcl.exception.corrupt("ocb: tag doesn't match");return o.concat(h.clamp(l,m))},pmac:function(a,b){var c,d=sjcl.mode.ocb2.A,e=sjcl.bitArray,f=e.k,g=[0,0,0,0],h=a.encrypt([0,0,0,0]);h=f(h,d(d(h)));for(c=0;c+4<b.length;c+=4){h=d(h);g=f(g,a.encrypt(f(h,b.slice(c,c+4))))}b=b.slice(c);if(e.bitLength(b)<128){h=f(h,d(h));b=e.concat(b,[2147483648|0,0,
0,0])}g=f(g,b);return a.encrypt(f(d(f(h,d(h))),g))},A:function(a){return[a[0]<<1^a[1]>>>31,a[1]<<1^a[2]>>>31,a[2]<<1^a[3]>>>31,a[3]<<1^(a[0]>>>31)*135]}};sjcl.misc.hmac=function(a,b){this.M=b=b||sjcl.hash.sha256;var c=[[],[]],d=b.prototype.blockSize/32;this.l=[new b,new b];if(a.length>d)a=b.hash(a);for(b=0;b<d;b++){c[0][b]=a[b]^909522486;c[1][b]=a[b]^1549556828}this.l[0].update(c[0]);this.l[1].update(c[1])};
sjcl.misc.hmac.prototype.encrypt=sjcl.misc.hmac.prototype.mac=function(a,b){a=(new this.M(this.l[0])).update(a,b).finalize();return(new this.M(this.l[1])).update(a).finalize()};
sjcl.misc.pbkdf2=function(a,b,c,d,e){c=c||1E3;if(d<0||c<0)throw sjcl.exception.invalid("invalid params to pbkdf2");if(typeof a==="string")a=sjcl.codec.utf8String.toBits(a);e=e||sjcl.misc.hmac;a=new e(a);var f,g,h,i,k=[],j=sjcl.bitArray;for(i=1;32*k.length<(d||1);i++){e=f=a.encrypt(j.concat(b,[i]));for(g=1;g<c;g++){f=a.encrypt(f);for(h=0;h<f.length;h++)e[h]^=f[h]}k=k.concat(e)}if(d)k=j.clamp(k,d);return k};
sjcl.random={randomWords:function(a,b){var c=[];b=this.isReady(b);var d;if(b===0)throw new sjcl.exception.notReady("generator isn't seeded");else b&2&&this.U(!(b&1));for(b=0;b<a;b+=4){(b+1)%0x10000===0&&this.L();d=this.u();c.push(d[0],d[1],d[2],d[3])}this.L();return c.slice(0,a)},setDefaultParanoia:function(a){this.t=a},addEntropy:function(a,b,c){c=c||"user";var d,e,f=(new Date).valueOf(),g=this.q[c],h=this.isReady();d=this.F[c];if(d===undefined)d=this.F[c]=this.R++;if(g===undefined)g=this.q[c]=0;this.q[c]=
(this.q[c]+1)%this.b.length;switch(typeof a){case "number":break;case "object":if(b===undefined)for(c=b=0;c<a.length;c++)for(e=a[c];e>0;){b++;e>>>=1}this.b[g].update([d,this.J++,2,b,f,a.length].concat(a));break;case "string":if(b===undefined)b=a.length;this.b[g].update([d,this.J++,3,b,f,a.length]);this.b[g].update(a);break;default:throw new sjcl.exception.bug("random: addEntropy only supports number, array or string");}this.j[g]+=b;this.f+=b;if(h===0){this.isReady()!==0&&this.K("seeded",Math.max(this.g,
this.f));this.K("progress",this.getProgress())}},isReady:function(a){a=this.B[a!==undefined?a:this.t];return this.g&&this.g>=a?this.j[0]>80&&(new Date).valueOf()>this.O?3:1:this.f>=a?2:0},getProgress:function(a){a=this.B[a?a:this.t];return this.g>=a?1["0"]:this.f>a?1["0"]:this.f/a},startCollectors:function(){if(!this.m){if(window.addEventListener){window.addEventListener("load",this.o,false);window.addEventListener("mousemove",this.p,false)}else if(document.attachEvent){document.attachEvent("onload",
this.o);document.attachEvent("onmousemove",this.p)}else throw new sjcl.exception.bug("can't attach event");this.m=true}},stopCollectors:function(){if(this.m){if(window.removeEventListener){window.removeEventListener("load",this.o);window.removeEventListener("mousemove",this.p)}else if(window.detachEvent){window.detachEvent("onload",this.o);window.detachEvent("onmousemove",this.p)}this.m=false}},addEventListener:function(a,b){this.r[a][this.Q++]=b},removeEventListener:function(a,b){var c;a=this.r[a];
var d=[];for(c in a)a.hasOwnProperty(c)&&a[c]===b&&d.push(c);for(b=0;b<d.length;b++){c=d[b];delete a[c]}},b:[new sjcl.hash.sha256],j:[0],z:0,q:{},J:0,F:{},R:0,g:0,f:0,O:0,a:[0,0,0,0,0,0,0,0],d:[0,0,0,0],s:undefined,t:6,m:false,r:{progress:{},seeded:{}},Q:0,B:[0,48,64,96,128,192,0x100,384,512,768,1024],u:function(){for(var a=0;a<4;a++){this.d[a]=this.d[a]+1|0;if(this.d[a])break}return this.s.encrypt(this.d)},L:function(){this.a=this.u().concat(this.u());this.s=new sjcl.cipher.aes(this.a)},T:function(a){this.a=
sjcl.hash.sha256.hash(this.a.concat(a));this.s=new sjcl.cipher.aes(this.a);for(a=0;a<4;a++){this.d[a]=this.d[a]+1|0;if(this.d[a])break}},U:function(a){var b=[],c=0,d;this.O=b[0]=(new Date).valueOf()+3E4;for(d=0;d<16;d++)b.push(Math.random()*0x100000000|0);for(d=0;d<this.b.length;d++){b=b.concat(this.b[d].finalize());c+=this.j[d];this.j[d]=0;if(!a&&this.z&1<<d)break}if(this.z>=1<<this.b.length){this.b.push(new sjcl.hash.sha256);this.j.push(0)}this.f-=c;if(c>this.g)this.g=c;this.z++;this.T(b)},p:function(a){sjcl.random.addEntropy([a.x||
a.clientX||a.offsetX,a.y||a.clientY||a.offsetY],2,"mouse")},o:function(){sjcl.random.addEntropy(new Date,2,"loadtime")},K:function(a,b){var c;a=sjcl.random.r[a];var d=[];for(c in a)a.hasOwnProperty(c)&&d.push(a[c]);for(c=0;c<d.length;c++)d[c](b)}};
sjcl.json={defaults:{v:1,iter:1E3,ks:128,ts:64,mode:"ccm",adata:"",cipher:"aes"},encrypt:function(a,b,c,d){c=c||{};d=d||{};var e=sjcl.json,f=e.c({iv:sjcl.random.randomWords(4,0)},e.defaults);e.c(f,c);if(typeof f.salt==="string")f.salt=sjcl.codec.base64.toBits(f.salt);if(typeof f.iv==="string")f.iv=sjcl.codec.base64.toBits(f.iv);if(!sjcl.mode[f.mode]||!sjcl.cipher[f.cipher]||typeof a==="string"&&f.iter<=100||f.ts!==64&&f.ts!==96&&f.ts!==128||f.ks!==128&&f.ks!==192&&f.ks!==0x100||f.iv.length<2||f.iv.length>
4)throw new sjcl.exception.invalid("json encrypt: invalid parameters");if(typeof a==="string"){c=sjcl.misc.cachedPbkdf2(a,f);a=c.key.slice(0,f.ks/32);f.salt=c.salt}if(typeof b==="string")b=sjcl.codec.utf8String.toBits(b);c=new sjcl.cipher[f.cipher](a);e.c(d,f);d.key=a;f.ct=sjcl.mode[f.mode].encrypt(c,b,f.iv,f.adata,f.tag);return e.encode(e.V(f,e.defaults))},decrypt:function(a,b,c,d){c=c||{};d=d||{};var e=sjcl.json;b=e.c(e.c(e.c({},e.defaults),e.decode(b)),c,true);if(typeof b.salt==="string")b.salt=
sjcl.codec.base64.toBits(b.salt);if(typeof b.iv==="string")b.iv=sjcl.codec.base64.toBits(b.iv);if(!sjcl.mode[b.mode]||!sjcl.cipher[b.cipher]||typeof a==="string"&&b.iter<=100||b.ts!==64&&b.ts!==96&&b.ts!==128||b.ks!==128&&b.ks!==192&&b.ks!==0x100||!b.iv||b.iv.length<2||b.iv.length>4)throw new sjcl.exception.invalid("json decrypt: invalid parameters");if(typeof a==="string"){c=sjcl.misc.cachedPbkdf2(a,b);a=c.key.slice(0,b.ks/32);b.salt=c.salt}c=new sjcl.cipher[b.cipher](a);c=sjcl.mode[b.mode].decrypt(c,
b.ct,b.iv,b.adata,b.tag);e.c(d,b);d.key=a;return sjcl.codec.utf8String.fromBits(c)},encode:function(a){var b,c="{",d="";for(b in a)if(a.hasOwnProperty(b)){if(!b.match(/^[a-z0-9]+$/i))throw new sjcl.exception.invalid("json encode: invalid property name");c+=d+b+":";d=",";switch(typeof a[b]){case "number":case "boolean":c+=a[b];break;case "string":c+='"'+escape(a[b])+'"';break;case "object":c+='"'+sjcl.codec.base64.fromBits(a[b],1)+'"';break;default:throw new sjcl.exception.bug("json encode: unsupported type");
}}return c+"}"},decode:function(a){a=a.replace(/\s/g,"");if(!a.match(/^\{.*\}$/))throw new sjcl.exception.invalid("json decode: this isn't json!");a=a.replace(/^\{|\}$/g,"").split(/,/);var b={},c,d;for(c=0;c<a.length;c++){if(!(d=a[c].match(/^([a-z][a-z0-9]*):(?:(\d+)|"([a-z0-9+\/%*_.@=\-]*)")$/i)))throw new sjcl.exception.invalid("json decode: this isn't json!");b[d[1]]=d[2]?parseInt(d[2],10):d[1].match(/^(ct|salt|iv)$/)?sjcl.codec.base64.toBits(d[3]):unescape(d[3])}return b},c:function(a,b,c){if(a===
undefined)a={};if(b===undefined)return a;var d;for(d in b)if(b.hasOwnProperty(d)){if(c&&a[d]!==undefined&&a[d]!==b[d])throw new sjcl.exception.invalid("required parameter overridden");a[d]=b[d]}return a},V:function(a,b){var c={},d;for(d in a)if(a.hasOwnProperty(d)&&a[d]!==b[d])c[d]=a[d];return c},W:function(a,b){var c={},d;for(d=0;d<b.length;d++)if(a[b[d]]!==undefined)c[b[d]]=a[b[d]];return c}};sjcl.encrypt=sjcl.json.encrypt;sjcl.decrypt=sjcl.json.decrypt;sjcl.misc.S={};
sjcl.misc.cachedPbkdf2=function(a,b){var c=sjcl.misc.S,d;b=b||{};d=b.iter||1E3;c=c[a]=c[a]||{};d=c[d]=c[d]||{firstSalt:b.salt&&b.salt.length?b.salt.slice(0):sjcl.random.randomWords(2,0)};c=b.salt===undefined?d.firstSalt:b.salt;d[c]=d[c]||sjcl.misc.pbkdf2(a,c,b.iter);return{key:d[c].slice(0),salt:c.slice(0)}};

67
test/bn_test.js Normal file
View file

@ -0,0 +1,67 @@
new sjcl.test.TestCase("Bignum modular reduction test", function (cb) {
if (!sjcl.bn) {
this.unimplemented();
cb && cb();
return;
}
var a, N, r;
for (i=0; i < sjcl.test.vector.bn_mod.length; i++) {
tv = sjcl.test.vector.bn_mod[i];
try {
a = new sjcl.bn(tv.a);
N = new sjcl.bn(tv.N);
r = a.mod(N);
this.require(r.equals(new sjcl.bn(tv.r)));
} catch(e) {
this.fail(e);
}
}
cb && cb();
});
new sjcl.test.TestCase("Bignum modular multiplication test", function (cb) {
if (!sjcl.bn) {
this.unimplemented();
cb && cb();
return;
}
var a, b, N, r;
for(var j=0;j<10;j++)for (i=0; i < sjcl.test.vector.bn_mulmod.length; i++) {
tv = sjcl.test.vector.bn_mulmod[i];
try {
a = new sjcl.bn(tv.a);
b = new sjcl.bn(tv.b);
N = new sjcl.bn(tv.N);
r = a.mulmod(b, N);
this.require(r.equals(new sjcl.bn(tv.r)));
} catch(e) {
this.fail(e);
}
}
cb && cb();
});
new sjcl.test.TestCase("Bignum modular exponentiation test", function (cb) {
if (!sjcl.bn) {
this.unimplemented();
cb && cb();
return;
}
var i, tv, g, x, N, v;
for (i=0; i < sjcl.test.vector.bn_powermod.length; i++) {
tv = sjcl.test.vector.bn_powermod[i];
try {
g = new sjcl.bn(tv.g);
x = new sjcl.bn(tv.x);
N = new sjcl.bn(tv.N);
v = g.powermod(x, N);
this.require(v.equals(new sjcl.bn(tv.v)));
} catch(e) {
this.fail(e);
}
}
cb && cb();
});

85
test/bn_vectors.js Normal file
View file

@ -0,0 +1,85 @@
// Verify with Mathematica:
// BaseForm[Mod[16^^a, 16^^N], 16]
// should return "16^^r".
sjcl.test.vector.bn_mod = [
{
a: "cfb9caac51a13eb13592d47863e463b306547683070424a7c7a41302e30453c2f5f6f2c432a267d2d72746c534d6c233c5c6740776e5c473592d4786377d745c534f2d502427612249266a45382a6f512e527d475577484f277e7a4ce62c7919c0b34b9f125124c574bac9738edb0998bfa8f5b8076c5266ae06e1b9121303d7ff8f0380a24526474d592a7d5e69f125124c574bac9738ed77d745c534f2d502427612249266a45382a6f512e527d4755560144ced0a078454a727d24db5d77484f27b0998bfa8f5b8076c5266ae06e1b9121303d7ff8f0380a24526474d592a7d5e682b2358377d745c534f2d502427612249266a45382a6f512e527d4755560144ced0a078454a727d24db5d77484f277e7b3d28256d71482d2a287d666b3ac7053b02c6543592d47863b6a0541cfa603219b694bec483592d478630",
N: "c3219b694b6a0541cfa60c46a0541cfa60c4c574bac9738edb0998bfa8f5b8076c5266ae06e1b9121303d7ff8f0380a2f51de2fdc93bba83b4c4f49e2D3383B4813D692C6E0E0D5D8E250B98BE48E495C1D6089DAD15DC7D7B46154D6B6CE8EF4AD69B15D498254b6afa60c4835920541cfa60c4c4f49e2D3383B4813D692C855c8a7d64e9",
r: "3c3312d60b052287f92b61bc1e890a3f43f46f302086fc19d7555059f957607981f89d7\
25b775c70c47e940a874e143efec01558c9cbe5f15df716d812c61cef1a2c6561ee999\
0b5db8e54827a16018fee6c111c9a8e66897f849ccd9114639ab086f8ecfa558b58555\
47b1eb110e245f51598bc98486af1813423877189e66a84cd7ead55"
}
]
// Verify with Mathematica:
// BaseForm[Mod[16^^a * 16^^b, 16^^N], 16]
// should return "16^^r".
sjcl.test.vector.bn_mulmod = [
{
a: "94B7555AABE9127CC58CCF4993DB6CF84D16C1244021612e464d6e2f4c724f2b3e275a43385a5a6d4c7441284648362a4526474d592a7d5e682b2358377d745c534f2d502427612249266a45382a6f512e527d475577484f277e7b3d28256d71482d2a287d666b52247027",
b: "70424648242f4273612a524e4a44717b655b487b395d2f407d4c7141503e33442a657637257968345237677d6e736f5f24546b642a23283e463b306547683070424a7c7a41302e30453c2f5f6f2c432a267d2d72746c534d6c233c5c6740776e5c4725562029623d7a673d",
N: "EEAF0AB9ADB38D8775FF3C0B9EA27496EA81D3383B4813D692C6E0E0D5D8E250B98BE48E495C1D6089DAD15DC7D7B46154D6B6CE8EF4AD69B15D4982559B297BCF1885C529F566660E57EC68EDBC3C05726CC02FD4CBF4976EAA9AFD5138FE8376435B9FC61D2FC0EB06E3",
r: "266bd21de6da4ce62c7919c0b34b9f125124c574bac9738edb0998bfa8f5b8076c5266ae06e1b9121303d7ff8f0380a2f51de2fdc93bba83b4c4f49e2ddc65c24a8e2ecbac374e49181792aeeada8fc5438073187b2cf3d63f93d560144ced0a078454a727d24db5d09e56"
}
]
sjcl.test.vector.bn_powermod = [
{
g: 2,
x: 3,
N: 3,
v: 2
},
{
g: 2,
x: "10000000000000000000000000",
N: 1337,
v: 1206
},
{
g: 17,
x: 90,
N: 34717861147,
v: 28445204336
},
{
g: 2,
x: "0x844A000000000000000000000",
N: 13,
v: 9
},
{
g: 2,
x: 0x1010,
N: 131,
v: 59
},
{
g: 2,
x: "43207437777777877617151",
N: 13,
v: 2
},
{
g: 2,
x: "389274238947216444871600001871964319565192765874149",
N: 117,
v: 44
},
{
g: 2,
x: "89457115510016156219817846189181057618965150496979174671534084187",
N: "1897166415676096761",
v: "16840615e646a4c5c8d"
}//,
// // This was disabled because it's slow (~2.5s with `rhino -O 9`). Once
// // a better powermod algorithm is implemented (e.g., using Montgomery
// // reduction), this can be re-enabled.
// {
// g: 2,
// x: "eeaf0ab9adb3008dd6c314c9c25600057674df692c0006e0d5d8e2050b98be48e4",
// N: "b48130d6e07674df740e1d33b4816e0d5d8e20e2050b98be48e457674df74096ea",
// v: "9c3219b694befb9caac51a13eb1ac7053b02c654b6a0541cfa60c483592d478630"
// }
]

View file

@ -1,33 +0,0 @@
new sjcl.test.TestCase("CBC mode tests", function (cb) {
((sjcl.beware &&
sjcl.beware["CBC mode is dangerous because it doesn't protect message integrity."]) ||
function(){})();
if (!sjcl.cipher.aes || !sjcl.mode.cbc) {
this.unimplemented();
cb && cb();
return;
}
var i, kat = sjcl.test.vector.cbc, tv, iv, ct, aes, len, thiz=this, w=sjcl.bitArray, pt, h=sjcl.codec.hex;
browserUtil.cpsIterate(function (j, cbb) {
for (i=100*j; i<kat.length && i<100*(j+1); i++) {
tv = kat[i];
len = 32 * tv.key.length;
aes = new sjcl.cipher.aes(h.toBits(tv.key));
// Convert from strings
iv = h.toBits(tv.iv);
pt = h.toBits(tv.pt);
ct = h.toBits(tv.ct);
thiz.require(w.equal(sjcl.mode.cbc.encrypt(aes, pt, iv), ct), "aes-"+len+"-cbc-encrypt #"+i);
try {
thiz.require(w.equal(sjcl.mode.cbc.decrypt(aes, ct, iv), pt), "aes-"+len+"-cbc-decrypt #"+i);
} catch (e) {
thiz.fail("aes-cbc-decrypt #"+i+" (exn "+e+")");
}
}
cbb();
}, 0, kat.length / 100, true, cb);
});

View file

@ -1,413 +0,0 @@
/* Test vector for CBC mode with PKCS#5 padding.
* Generated by vpaes. Not kosher, I know...
*/
sjcl.test.vector.cbc = [
{ key: '654a1661a99a6b3abf52e52a4e951491',
iv: 'bfd3814678afe0036efa67ca8da44e2e',
pt: '',
ct: 'ac5517ed8b3118ae7bd90a81891cbeb5' },
{ key: 'edd235a58a408e0fc2334cac942c21af',
iv: 'd2e730833f975086589ff5ba1c956984',
pt: '00',
ct: '49803e9755775f5bbb51d5c1ecf418a4'},
{ key: '6b5564e1ded7a1d357672e3b19d1dfa2',
iv: '797c32df1e21f3b5f47d05d20b18a33f',
pt: '89b7',
ct: '4b44164950e8de0b2a38099d9354a7e5'},
{ key: 'd4f174c0e72a1466c951329509aec5e7',
iv: 'a719cb40f3b7125ee7f2306434852cfc',
pt: '1d2100',
ct: '92f59cc6543fd2da488fdc04d2b4982f'},
{ key: '54ddee3a2694df6f7612aa065b14cf31',
iv: '2d572df96cf4e224ccf61ace7376e731',
pt: 'b7fc937d',
ct: '32b46b99d90213ab16caaa184ae63946'},
{ key: 'c22244ec29cc5c037ba8b3118a3d283a',
iv: '6ce97a977464ddf05155b1c492c8ab02',
pt: 'e8928b2000',
ct: 'ebe257542d9712d11dd11701ed758379'},
{ key: '4db2aa81834fb2f06c3ea1c5df24073a',
iv: 'dc096803b232b0290cab20fe6146d1b1',
pt: 'e64fa3b00013',
ct: '8841ae4645b1691a5ccbf29f3ae5ac3f'},
{ key: '351c879ead5537158f956131d760bbd9',
iv: 'ae275ac6dc726be6de5699f7d47965e3',
pt: '75029324bb7e00',
ct: 'a92de8911739838c5b4a54eb72bb784e'},
{ key: '3140906ebd809aa944a2ab4130fd0e30',
iv: '6533608e75ff1f4808a83fed0defcf15',
pt: '40dc5b866923cd98',
ct: '959d6071b0250e598f2a05d9462a9039'},
{ key: 'bee40d04ca74ce33256b36b4ec9e8f10',
iv: 'e5b5e8679ddf8498cd6a4a91f21f8429',
pt: '20966e1b5a32485900',
ct: 'd4f95975d6fec328f23097b614da9a02'},
{ key: 'b5a9e4a040be44f8c7bee70915f4f9f2',
iv: '6fd21ae15b6cd50ce4d8c742756f3166',
pt: 'a0852c8b5ebf10573d87',
ct: '068bc0b4e78db558b4139b98345390e7'},
{ key: '2f7b0b456d4b0f1c56a76acd8ad62175',
iv: 'd410d9f5dd5a7b7ba6c1e8892d52abe5',
pt: '8ec711ec4542912c60de00',
ct: 'd9e7216d902302126def45f364b77a6e'},
{ key: '2e5d947a11568b91b4002dc534f75980',
iv: 'ed7a554fa987ea62f3a9493e1834f13b',
pt: 'e64812413d4d62ca2105594d',
ct: 'd50f74e4cc6ede7fa5543fb8914b68a2'},
{ key: 'a70d82626dfe6a78febc7e409e02a8d2',
iv: '4afa79a4fa7214ae3206edbcaa583ca6',
pt: '9fd2db77f76f35b07632a8a200',
ct: '374d0cca0caed7903503ddd578c50dcb'},
{ key: '4cce464be97d22dbfeea0e1927e354fa',
iv: '14ab2f0a265950d42965d5e10db21cce',
pt: 'e36418499ad8fd6bb23857630f8b',
ct: '58f42409d9c43764a1bc01b67f8372e4'},
{ key: '61b3ea7bdae146e8b4423d8235bdb177',
iv: '2ee9315405791f97cfb407183b376d73',
pt: 'dc684e62d2b860a6ed9767c252fb00',
ct: 'f68c632e85c4c54e9d306e0b18c6f3a8'},
{ key: '9630d3c4aff96dbbe38cd66c75392262',
iv: '570269363841d528397e938360cb2fbd',
pt: 'e5b641941eeb811335bbc80f3b507899',
ct: '79196dcdc74747eb60f387378b558243436f2b9e08f9589004a7b084f1b76fc5'},
{ key: 'd89d15abad3f967821d5c5c85ac55b9d',
iv: 'ee742d60dd3caf5ff2bc89fb128909b9',
pt: '03ef2d7fec1d4692e2c67cc19c5a9f8b00',
ct: '72365e907006bf2d77d610758327f34dffc860e1f962f45fff6a4b5e5e9cc1d9'},
{ key: 'bde6416bddddb2eb75409dde200f5f48',
iv: 'a061380881269ce94777d5ddb6b9dab8',
pt: '30d95187f9e967a1a32fff6438c582b0922b',
ct: '51750ae35f819e27f6bd8b3ac3b0cec092634c3699b47c9e323b32c932f93b2c'},
{ key: 'cf4234be6284f19236fa193fc319999c',
iv: 'baa9dda1ace10acc87e7b15cf2747105',
pt: 'd8ba43941ad60cf173236d5da3f90d5f9be300',
ct: '0c982ea7e130212d40d2f0d50badcfb8ba86c167ff1c87fa2e5563b6c5b9bcea'},
{ key: 'fd91a35802f1297d528c0c174a5bbefd',
iv: '9c4f8a944e85728aaa66f0ca2e5731e1',
pt: 'a015232023d931bdbf07a21368cb2ad2b2f41a79',
ct: '77cf9d88969310224c453213a0a43bfc46adef36ed0ad3433717c844850c18ee'},
{ key: '59c9e20047a695931ed0331586f9f3c3',
iv: '3db8fe673a529369b967653bc87a71b5',
pt: '0310dcc07920997995a028c6b2e9291bbeaba6dc00',
ct: '333657878de1d3c64afeef50894c3266266b5fd5ec875e5196f8aa2b171e6cb0'},
{ key: 'ea408bd9d05f3fbc403b3573e2d25efd',
iv: '720647d5cb3f263cfafd3860554b2754',
pt: '5224dc0e4646d613e238d90cd4f6d6fdd1094727fa0c',
ct: '9e3e53ae69076c2b41cdb710803ce4fdecfc429e3858862864edc0750d370705'},
{ key: 'b9682daefe6183e15577cd2cf930d14d',
iv: 'cd8c596053366912c0e617777908a9f7',
pt: '1889ea8e0807fd7a53adf9d3be4354addd2a1f191aee00',
ct: 'c008155179beb8dab6912bbc65b364acdb4d26faf9200b66c9e215ff7427fe2f'},
{ key: '87ff9cb14ab295d3d75133947c1cf313',
iv: 'ffb8c07bc0a69eee21d756b41913b6d3',
pt: '26ca689b9d33314a7edeb87e16854e7455919ebb4aea0e5f',
ct: 'bb43876e5136d739174403696fff0864e54a972696c824e85d34b7c4919e9ea4'},
{ key: '535a90505b7883db23b81b3a0c06cfb6',
iv: '987654b0884810c6766b5d379eb23757',
pt: 'df0b45b8a687eab7a55e60e7d9ff67d6a89220f9d021cb4100',
ct: '538517df958d671bb24e906536a184422bca5e21b8a676831d67a29294773ebb'},
{ key: 'e3c5d819fad40a0e1d0b286629470ca7',
iv: '09be9361930af491075a69ccd83ed7a0',
pt: '33d5bb83984e4df8c78315714122bc5b9ee572aaaa2d3616597b',
ct: 'b32e4f20f6ca08efbbfd5dec794c29ff61e7e49c9a420c5a3cf629941cf22ab0'},
{ key: 'ddd178208107f37b89a7ecc1f7256e54',
iv: 'd0bd6cd9a20ff82ac63ef5b0dc8e5bf6',
pt: '329e22215546c3c005304bcba101ce22f450de32e3c03553d75000',
ct: '8917031f9ca41eeffd4f8a0eeb05cda09d2c098b0be7327dd97379890eb7a100'},
{ key: 'e55870370045008ecfb37342fe0665bc',
iv: 'c28e966a6069cbc2ff49ab91ae9d5163',
pt: '9b00bf0e202852180b24080c7707ce7bb4bce84c19772a9d1571ab73',
ct: '83f477f200ae3bfe2e4337d53b0b59124410e0e6d3b5c0bfe9d0fd6c62d755be'},
{ key: '790442c04d0ee830152887307346b5cb',
iv: '2e59e9ddb6d7a7bd685c37f7616d10c1',
pt: 'a5eeaa6d82180f1d885b1c3debae35afb5a464b803b96d9b07b2464500',
ct: 'b60ac84a073869f4e7c5bd36ec383fc8645cedca44a78252892aab9102b07500'},
{ key: '6dc960c89141928e581b0b0250e80f71',
iv: '1222e688ee4c1d73f3b1a52fb5256f28',
pt: '2f6c15acc481c06eb57b444824c00148636c09a4dce7d12e2ef2915394d7',
ct: '0646894ed9bddbd373de7d64e4994fd38b7d4502e8ed38a6384a20f5ee729de6'},
{ key: 'cab5adfeb428f91872e03b04faf771a8',
iv: '68606a14a86cece478b337b0d72b6018',
pt: '738c3c06aacd07fdb49a15879565c5db0d43c91f5ab3ecf4ef4b432afa7100',
ct: 'aec39dceeac1497d383c42a1d88d31a04a5830b8f302ce8dc4ea5a93c269c09c'},
{ key: 'eb870b0cefeb90d8baf11be40c97246f',
iv: '042258eeddfeac2d56f5305be14d7cf7',
pt: '3f8cea6d9ebd3039dddb96b0a50dc5056b84794a81cd9b455c68f2d5bd7dc9d1',
ct: '2544ca1e2f3f1625c8ea2526423de65f819e6f33e835be48a9912e4bc168d4bb5186c6839ab2a30ab95e3a0009205b1d'},
{ key: '0e617fe76bdadc619f090c64871a4f40',
iv: '5dc4edc2cf625324e5f4d86e6ea06bee',
pt: '44a0492be0dfb9c7f2849146deaf35dd3b52c381ff5d120e0ba77693aeb117b200',
ct: '5a32033dce1b8827b0d8dc5afbf73f7da4cc59e33219eda4ab6f56527331782cafcbfe68d6abc91db4ea48218aaec1ca'},
{ key: '50c7af12e391b76d5285b05677f733aee66602dd8510fd8b',
iv: 'e45e1f84b016f44e5bb6c4e51a9aa712',
pt: '',
ct: '73bf44d50eb98876cd0731925c111317' },
{ key: 'a48beaa956ed4a76522e622bce69555b0defc0ad2867dd6a',
iv: '4ab495fe424477345f0eb55818566ec1',
pt: '00',
ct: '300d78eb45bafc15eb58f67d3b62386f'},
{ key: 'e0d18e04cedfe3a261da48431c0027944164bf9c641c873b',
iv: '0cb4054c985215afb7da003011a1fc34',
pt: '1b35',
ct: 'f5e3f5fac1c4ae994cbe2b7bf7b88d80'},
{ key: 'f6a13d3a87d9f2620be349fd30d1eeba22d0a25e37ffba9d',
iv: '9a94d5cc2bab6b9a07d828657f64e8b5',
pt: '7bf100',
ct: '9562603ce54a8f7168f67ab6f0ea03b4'},
{ key: '8b68ea634ec49a93509ba6894d882548d9dfb6c51645a589',
iv: 'ca195407ed8391ff818ee98eed36d875',
pt: '3f7c67f5',
ct: '5ed17eca0fdbb809d49db866cc4e1c34'},
{ key: '6c1ea81194f81fe46485cd46e8b652cb68717e29f1874a32',
iv: '5e1b7bc261b4d23ff241ba9196c44741',
pt: '785c4f3900',
ct: 'e11bbbaf7f41cdcde84d7b15100c4892'},
{ key: 'f8bb94da21490c3c3fe9c98bc42984bc7ed803bdaa93e504',
iv: 'bd532eab4ccbc985774481f78790ee32',
pt: '17fd0f15d01f',
ct: '1a9c9d266483805b27826c3de6c2d2d8'},
{ key: '129fd4064bdaf0998174a772ec62e5475e07df2c760fa38b',
iv: 'a3862ad96d3f3abfe41576c82b180de7',
pt: '53b10a93df9100',
ct: '5eb656dbbfc4645648f9c3441fbfe91b'},
{ key: 'd5acf63c908e61ddd8bc372648c38e099f49410e7a857492',
iv: 'e8a5c8459fba4d628edde2b6c6dba6c5',
pt: '6d4b04f72c780d0a',
ct: 'c7d3840e66b034780c94ab5f266ae2e4'},
{ key: 'd32d90130666a43edf3b66eb2737d0c0cec80ebec006ba1b',
iv: '70c5af55793796091dd8429e2d91ef50',
pt: 'da1ebb164a2d4ec100',
ct: '6155514d17b4403583a1ab7867246a68'},
{ key: '66f79944768cf85532c3cabf47b7f36372f5ec1fa690cdbe',
iv: '448e8e99506c9e5123e97a7bf10e62d6',
pt: 'b6f2987003f5a5c1dc61',
ct: '8d5dd0400c8c8e1e8f95340393e17424'},
{ key: '8e204f1b66199c730c2a9a84652de895cd53160f0e87d978',
iv: '46d36b43b401d389162e91e5de6c8ed9',
pt: 'f40da33a6d06ec4fc6a000',
ct: '9579daaae370add6ee62f276f3037b73'},
{ key: 'f678e7b672fe8d5b9801e43dd2269f7449e12f6cf1428ce4',
iv: 'd88f8091018b3c76656796aa0fa0a34f',
pt: '07cc0d9010df0d4fe707d348',
ct: 'ab72afc254895680acc0e0761fe6bda3'},
{ key: 'eec2452f01772a1c7df6d5123aac113b0db9c2c47cd7a691',
iv: 'd5d978588a7e4164898a629b2672de8f',
pt: 'ce9dcec460ea2750aa70beaf00',
ct: 'eb41241048e48185e82c8f92a0504a69'},
{ key: 'f8017da8d19bc42b286b7e789bd414088839642755c6b702',
iv: 'a064e7b3afd4cb802d0b4fc90a324682',
pt: 'e9edb0f9205896aec914b78708ad',
ct: 'd05eadfb7ae6538201b15946b25e9609'},
{ key: 'acd7d8b829da722568f4087191c08e58927d5ce529846336',
iv: '3d81241852001aac5cd590c39b262d04',
pt: '8ed43dae2376c703767bf102b00f00',
ct: '53f28dd117cc0c94b70ceeb2f2587ce2'},
{ key: 'f5b191b1661306525522c6730723b68b8c0112140915c448',
iv: '74d36354e6522e00f389c79180f4640d',
pt: '07857574e029d46eb93f0759a378a9af',
ct: '002c55318fdef1edde038c6568b61ab9ede588ad33ebb3a99aa94637d35f401a'},
{ key: '0d4b54fb98309a501fa7b308dd1fa62aff45b95edebdaad7',
iv: 'b54954cd7f7724135fa8c64cf9f82ba1',
pt: '085c6900854de678747027d2b9f3c32700',
ct: 'a2199b6d0dbbab4b0d7374bb4555adf05d3eb81bbf409850ea3cbf383c6349f5'},
{ key: '8e115f1a9b1b49651e8f5ac930caa789f8e4570252522b5f',
iv: '46262446985936cdeb4026b9e0d1e67e',
pt: '294ed502f560ef1d0fda793bd0867eee25f4',
ct: '87448b44e4202a31fb352c602c69101014374413e3680605872005bd1165dd22'},
{ key: '730133c2bd3e434bc809f967844ef4e866155012ad932781',
iv: '7e6d0d7526c386b7a49c7718c8159854',
pt: 'f58709f86d0b9a86dd9785aa0ebdf39d1c7900',
ct: '6ba1b71d05d75e636194c9e0d5ddf19161f887cb1880abe1c0502b08f3010317'},
{ key: '859e5acfcb8967c05469a0399f152413813d49f065010402',
iv: 'ff9b037bd6aceaf9410a404814ccc62a',
pt: '6a0ccd32f03e3582ac8c1159abcaa32f34a21e68',
ct: 'e38b2a9a8f9b55ea27d3c801709b80727058d1f348c4a60456d95b6e95d1f0b3'},
{ key: '80615fd06086b35d2f08b6d960a7408dc2c0aa1346cd4c7e',
iv: 'a45f31093f6437584b50f0e486fbc538',
pt: 'cb0abed2fca17517cad750186a86c4b6bc5ee01a00',
ct: '0d47057c9d143c763049362dead1ac4f78700207a9d9b4b3c42104407418983c'},
{ key: '57290fe1321b21737709db8a45a27ebd6e8bb0516e6d484a',
iv: '3959637361c755de29eeac9a27026cf5',
pt: '01d2099d8fb744aa3c98104e891e6d7988e50c55af98',
ct: 'd2134c493353959fce3038edc680e2772f6741625f4194ce269ff8d4e41e0631'},
{ key: '3aca898b3131ad101ad8baa309de222d6d3516759bdc3b47',
iv: '5ce544757e77b156defd6e9d4fcc071e',
pt: 'f9d48cc42d5b8fc9e27b3a2b88fe7ebecafa47adda8600',
ct: '1a2c0cc15746cdbd87efa34f3dedae4bab98dfc75ef2bdd8ae40404d94058199'},
{ key: '3dec2d715140c4c0cda2ba07b1a0c30fa99b94b77531cf1a',
iv: 'aa721ba32e7f638a5254d139ff8b8403',
pt: '2adcd886c9628385a90af487d9c79a459004efdcd1f98525',
ct: '83da49e56631c3f75bfe75a074b4d7c0e06d15c80b706aa3c41b3852449e368a'},
{ key: 'f340374a5d5b09b46f71f7ca015426c4413d4774cfe923be',
iv: '02dc026b751f02ce289a1f39c4d8bd07',
pt: '6e4b922d5874971948268516468474439ed605d2a4204abc00',
ct: 'c804a0b6203339d4ef2101309ac53d2635a15bb28ee3f01617e3afd607190806'},
{ key: '3d6b00bd836a4c902c634a93a0d88982d7cdeca4c289e190',
iv: 'fcfe8bfe9ce3da49d49fcb539c209c42',
pt: 'b4fea16b13cff9f0d8f6ed34e3b83fb6a2fc4d12a6f6ca5f585a',
ct: '9478992d05617f0d80580942f05042f8f97d45093b4b2bdefad69a5bd375ac20'},
{ key: '633c436c8e0bbfbafe19743630086411518882f0f3ee773c',
iv: '3d659bd81c6ad290987d3e8c3af4366b',
pt: '643cf0b0274ef953bc7b8c493addc2408e3864b5e26185f9ca9800',
ct: '98911164893aa7cde799212cde322b228f3982a601030738ed7be46e8861e041'},
{ key: '6ec4dada6fc9cbdd5e9257113c3fdf5d889396df6d59f42f',
iv: '4915dd59766933d8fa836486cf203e86',
pt: '9dc6fe36d1c9770e4d83101e88ddf383546dbf0ca6eee2e60984886c',
ct: 'fa3798196a9520dbf5375f2800663b96f848d5fc9de31eb91f30204d4278604b'},
{ key: 'ae8fbb9fcbc656f862664541a8ea39555086164edbc71ecf',
iv: '2bafcf66f154c9202fa84b1aa26d85e4',
pt: '0b0f0187ad816e62b0d5516d75edce884c3dd96a7b99dea33220793e00',
ct: 'c48eed40fbf45a2303abf5f345dfe5c6b2054b2a9e0086cd13981cc4e29e87e5'},
{ key: '50ffe49b53f7d8f7c7bc2c7cbb20b3a0a62887f2f1c401d7',
iv: '074b5d68e3c10f06c681c3b62b3f4f4e',
pt: '11a68218945f7fb8c0be0a39e66d19ec96fff29b5e346a1c63287382978f',
ct: 'ed2f175848a2fb82977f844ddc2fc84f2ab17b66a183fd4404e4456348d83d9b'},
{ key: '030df814a29fa9f08e31c5bd83938235eb4f5a0b6ea9de8e',
iv: '0ee1a6fc92cd0df4e1febc429aaae981',
pt: '98dc43687a9b9cda4ff44c6187d42b9d34cd9bdacd499a25df8353258a4200',
ct: '5a644a17025d45fa227dd1a009af52545d471e6f8b4dbaeac195e806ce887c5d'},
{ key: 'ccbddfc6ecfc44befa8c98d36afe98d94ae17e40c0f66136',
iv: '0a5ad4c27cee489754d7370758c14eab',
pt: '2fb8d075ac4c663b8b62436cfad3d0bef8c59aea55d1fb031f0b66e35580c570',
ct: 'fd23f01f87661418bfcb80100ac30b0c67fdf0069ca78be7632d64e86114bdbafcfb5126ae2646398bbf7e2d1693d602'},
{ key: '8473dc849d97b203b6ae97ace84d14760efc214d00f7245d',
iv: 'ae3cadd77f45b927bcf6e91cc4ad1d0b',
pt: '562448becd74320bfbd19455270db6a1e864f3473b2b32d728672d2bde54a67900',
ct: '04949c4d7c22af8126d0ba47e0dddc6f6dcbf1d24f3ec250ad19c19e733a26d852a18dda1e42ce7c7002b6d4cff0f083'},
{ key: 'e42f351d7ba0b0d5e7179206f9d4cd7317102f6159823b65bce123f82fa738a8',
iv: '5d7fa5578780f234a52bb2848e7a94d9',
pt: '',
ct: '7b8b4685a4943225e50025ef2a617b39'},
{ key: '3d25c893d44c4a831b5df70dd4796e31da1511fbcc01050ed3136a3546587448',
iv: '6d794b58f8f72cc5176fea41d7b8103e',
pt: '00',
ct: 'a8f470e9302cea96e58d09987329b40d'},
{ key: '7d85cd994cff3194f0e02816eb0b7e78d564135c19dadf419d40fd3bc6d26f82',
iv: '207a8f2cf340b2951098d6dd28b5a664',
pt: 'f619',
ct: 'eba7bc0584cce840224eac2c6e7321b3'},
{ key: 'e8022cb73009b51e675445d913926d88d8e8512146dd1bada2747953178a6370',
iv: 'd7c8a742aa0b10d82e6e2ced39ae192a',
pt: '222c00',
ct: '417b29e8a97f2e603137aead26b2da78'},
{ key: '0c5308090f8e8716978a6313687bc6b09e1ac61555cf6402268ae8eebad68b88',
iv: 'a08cd0b57d560419c5972bf84c5d19fe',
pt: '1612e835',
ct: '9690c1b51388d69b821164234bddb2eb'},
{ key: '992de58faee1a7082bf84f0bffbe9c6cf465cf4238b54481a9051d0df1a7c150',
iv: 'e0f4e6f2781b86b9d13a410b50dfd364',
pt: '1a66a62700',
ct: '4cb1335dd563d5a81c9736b1ac06a82e'},
{ key: '8a4ec0ca2aef8544b6602ae70d8682b87543865990fe2b86ae7ee24b5c6a3089',
iv: '30d322e9f6e8846edf4214fefda3f890',
pt: 'aacb743e4a9a',
ct: 'd8c6324bd196f5c36a852e1df72dcb5b'},
{ key: '23a3e7cf5ed77731db0208bdbdb54ed45361c5b33dc4b8c171492d689991f47f',
iv: '8672d7eb0dd94a26931772099c648186',
pt: 'fc2c294896a800',
ct: '294f60476255a83f760892fae7367724'},
{ key: 'da9f1cd9d0b0b0ca3dd6913fae90f40ec455a29a6bc7cab186c4a736290b21b7',
iv: 'bb35cb6b12d21fb8f8a8ce260ef498a5',
pt: '1f45ee1012d3d3dc',
ct: '2ce43566dad01626bb19fd16b45bcd48'},
{ key: '27f0a99b7d78bf2a9bdf991f18002cfc2987c91a418a3da84c685d8779858fb8',
iv: '0a060f98940d7c254122273c20057dcb',
pt: '778272f3c39c776000',
ct: '0fb9a117463517c4c49c34cd162e1651'},
{ key: '318c48bbc94f05ed741557feeff2eb686cabe0795b42c7284d8f80f087a9b68c',
iv: '5980865193dde231cc1b4359010d6a84',
pt: 'edfe5f69aa55a95fef1e',
ct: '649f883586ba0de28a9a185435a554ed'},
{ key: '5b8d1dabc9f061be17454dd5f7962d1a5c771c17931c63a4f3b2eba485a08c8e',
iv: 'a65b2decc5c1d756a9429d3cd1ef6a84',
pt: '705fbe4cb096cf7120d700',
ct: '84a5a325fa8432d786f56d71fcb91a3c'},
{ key: '00f3b406136d9b532e03209cd92afac62cf4fda70b24e6a950dcedffac93ba78',
iv: '97c2d64f66da929faac6e8eded626b6a',
pt: 'b168557e2ddb25157dc5fb28',
ct: 'bcbe4093a2b26fdddc751d9c904a55ca'},
{ key: '94eaa150bab6967835bb5b9b7b13deb2b67719c1f45658e3a5e937f5279387ca',
iv: '5ae415aaed85b3dbba720ba124571a5d',
pt: 'a2a2a3403195ac28054a92e800',
ct: '4a0600326d2b83d0b7aa495e7c4cb295'},
{ key: 'c93e88093db3da5d132972d626c9e642626698b138e4b6ebca598c5d2f67fb84',
iv: '4bf19d191ad4a007b60487b716b0541e',
pt: 'e05f9e4193974f6de481c399ce1d',
ct: 'f4aeb017addaac5445e43ce8598b7cb7'},
{ key: 'b83958925488ac2a40ea7d2ef50daf8cd43e83c0a95597d5b26588f8baef3bdf',
iv: 'dc0471d37e3c18249ee09e9cafe18cb7',
pt: '0c2f78fd281f9afadd49965f318500',
ct: 'b50f9001fad8bb39790bad3cb015af66'},
{ key: '07b43d7de698307daee4b214556fc6fd869e042bb3b955bd5b799d9ec80f1f55',
iv: '5bfadcb756f387854583818a705dced9',
pt: '1629613b412b367b9cf8080bb6c594b0',
ct: '44ff68d98123de4e33c3527394d20ead6abf19c5d848ca97b258659e2faa2194'},
{ key: '288ceb14f13940f8d0b416132e64194df0529070bac94a05cda1be6e2c644066',
iv: 'c93174e1d2112e42ba1941a1b9d3bfe9',
pt: '379ee7e5d08d834343175d3cdab361c900',
ct: '8ba1793815e70b85ec36e6c6515344cb5a5524677d8b2635ae352b54b222c9f5'},
{ key: '429076f04edc81c21a3788dc02b0e85b6a63f64f7c6a97614152d3cdd9ce0a87',
iv: 'fdafd103abf2d65ee1e24a8f926d435f',
pt: '23f85a48808db6b6d87ab9dbffaac55c7790',
ct: '24c35bfb5a7221e698c09193a1fecb3a16ecc6d66f9ed8bf828013376c0fefd1'},
{ key: '0098016faa7c5a4a42d3c944de9db27cce8df467be0923dab466f48662302f44',
iv: '0a58058a38cfc3dcbe41afd18d796185',
pt: 'cb5956d8812e4dc08db4bfc91d3721f9a75300',
ct: 'd4d993d92b11d853b8b9e4d14656291dca499816cc7a104b245898e3c5cb0402'},
{ key: '974335cd8f5202814130bfc3e718bcdc3e611657f89ac06b90bbe70e67ef3829',
iv: 'f6cfe8993f36cb99c38adfb94acaea2e',
pt: '826533e3cb26ee4918da7dedaa3d8a6f3d1c9e2c',
ct: '2ef88001acda2734b7cf6ed86eb8549cdf9f96ff2f4c2fe01138f42d6ad45c80'},
{ key: '32ec8f73cca288f2743cb899e8b8268df5657e5c2a2638f1678768427c677477',
iv: '5fc5f1e47181e654f4a8325b4befcbd2',
pt: '833f4b472037e10e99b29083e8a882988a756bd600',
ct: '8f90e66599dd5f17202652e66ccaf75f85b979ead96766977f8f2e3357b3518d'},
{ key: '588e8db3532ee70577f63103eefefd0b78785406b5b62ba1d989249e9af76fb4',
iv: '75fee3f23b437225677136b11dd3b6c3',
pt: '715f6bd71e83debb4fe5c6bce459f7635d4b50589e89',
ct: 'e774bbf7db4e7e9156616a4f12215e7b3256b14e74235272921e474f622f0930'},
{ key: '91f48a3a74a950f5ca5eacfad8504db442664340f6f8a5e4e6d50a62bb66b2c6',
iv: '265b12af694298822222d74ebd1f09be',
pt: '89c95a06b68fc9d808d225bf4174ebaa2b070542acfb00',
ct: '01b62d1bc7cdab722876ee97f6b9cab8ea6aab64a00de08ec5555b89fa1d8c78'},
{ key: 'fc234f3ebbe1efde731029148d53c5c6ded807d98d2a3ce100a3aed0cb27c87e',
iv: 'f662ab34223328600c0e92ae72a1175d',
pt: '3244ca65d198fb136dd0cbdcfd0f4ba0eafc10a4bb91e079',
ct: 'ef5de516dac92afa2773a8c66fb6706a78e928188433257e150fdefe4aace484'},
{ key: '3f1f33f564b8e09e6d00056f9fe13c86bf91d823414e52753bd3731e6acd3373',
iv: '31a9f9dcfb218dea159138a56ee6081d',
pt: '636e9ae2ceb0dc6096eb26bd50d2c922dafb9c50595a261500',
ct: 'f4499d125192391180aa92667f68dcff31686c2967ce17879eb5d6aaf927a7e2'},
{ key: 'b7e39f0a7ba6bd86df12e9c98191919beb25e49b84aaa575f53c56936a74f034',
iv: 'aefd601491a2d43c1199686b83030927',
pt: 'a232d965f20ccd91e7f6cbda9bc5d675a4c84e987839b0eb179f',
ct: 'e10ae47ff24b1da0bc3bbd84b6ffc1609adf2c60862c7a81daee0302212b4e12'},
{ key: 'e00dc9e9d9a0dc526e06892c49a95e86ceebb2a59aba297317ee697479fec6a0',
iv: '25e188b2d43c210ced6f57fd174722ba',
pt: 'ec7a1b2879e3cade7552f80200d9a0ff1c7f3c33a6fbf301c3dc00',
ct: '9bd45b1fe46eee94b0e1d65ea1dc0a7b8d0c9f805e4446c2b299d64a86d840b8'},
{ key: 'a0d02e6ef3ca54dbe99df9dc37255ca77ab6abc8385d6c4bbb3f78952e8d563d',
iv: '38975ccd24a41caddfbbc2de9113b3ba',
pt: '233dc9c2ede16aee5d51bc92f31fa390ee8e3637deb95d6252037668',
ct: '676d876f672424cf0c764e36fd59abdd6c28d1e6d048572ad6abcea5d1a5b759'},
{ key: '067ac605f536ca420fc3866825e166c20b27c6713654a179fb100c93da184667',
iv: '1e743169d0ca71c0fb2786b784a3446e',
pt: '36f50fcf087bf9ce1fec841d22b408c914288b718326f023881b9afb00',
ct: '86dd788ab8013fe47b086f0aa0d15b7a6a66fae319f6534c843111916e97e541'},
{ key: 'd42109990019a30d39f28057188bbd6bd703574b130d714c4040d55a3cce39a0',
iv: 'c713d8e6e118e5f69ef775b4c13e0e35',
pt: '4e6c7c462ef25d769e32715abc505c979d3a1bbac0ea5acbffa0246a44a1',
ct: 'b787a84d26cda07ae99cb7318ba56fe9b294af1a48d0c462a81d05c6b23fd3c1'},
{ key: '5f1ac8a96c117e6249345aff36251a186ef4e45e81029746d9454618236106b7',
iv: '0e0334deda83ec916bd98a1b8af6212b',
pt: '824db874404e9f2ce0683863953665db945fc55f5de3c6a2dff508f0442400',
ct: 'ea5ccbae05c37b0185c67d4a5539360ca5ed843dc6484ddba5ccca43eb82f9e5'},
{ key: 'ee3c82743640ed6a61d24619ed4b2e9a6e225f8269ec27e1d905e541d76f8749',
iv: '6613b555aef40f989c208a7da25ae056',
pt: '77f1a3c4e2abe13f46e978d37eef76eca76561cbb8b5ad55a07300b32e6df3fe',
ct: '67d4321ecff812dfc8d3b63722f3624894aa533b9101b915900bd2048ed3878067b875e714c55e543664e1fad2b9b8de'},
{ key: 'b3e0b79d742b0e8c7f608be8c6f60cee066323ddec13e7e374e2854a2d6e789c',
iv: '63af28e5f5a4529c6f79489f90ae1843',
pt: '4b759f9f9d496044423151e10250680614977544a7c87299af426cc6f9ed538100',
ct: 'd985b810fb206dd341ae3dcbd97c0706456f63eff8be703ba1e30731c7141c081e11d14129d16363bb9de1a200d12ffa'},
];

View file

@ -1,18 +0,0 @@
new sjcl.test.TestCase("ECDH test", function (cb) {
if (!sjcl.ecc) {
this.unimplemented();
cb && cb();
return;
}
try {
var keys = sjcl.ecc.elGamal.generateKeys(192,0),
keyTag = keys.pub.kem(0),
key2 = keys.sec.unkem(keyTag.tag);
this.require(sjcl.bitArray.equal(keyTag.key, key2));
} catch(e) {
this.fail(e);
}
cb && cb();
});

View file

@ -1,29 +0,0 @@
new sjcl.test.TestCase("ECSA test", function (cb) {
if (!sjcl.ecc) {
this.unimplemented();
cb && cb();
return;
}
var keys = sjcl.ecc.ecdsa.generateKeys(192,0),
hash = sjcl.hash.sha256.hash("The quick brown fox jumps over the lazy dog."),
signature = keys.sec.sign(hash,0);
try {
keys.pub.verify(hash, signature);
this.pass();
} catch (e) {
this.fail("good message rejected");
}
hash[1] ^= 8; // minor change to hash
try {
keys.pub.verify(hash, signature);
this.fail();
} catch (e) {
this.pass("bad message accepted");
}
cb && cb();
});

View file

@ -8,16 +8,18 @@ function testCore(coreName, cb) {
"ccm_vectors.js",
"ocb2_test.js",
"ocb2_vectors.js",
"cbc_test.js",
"cbc_vectors.js",
"sha256_test.js",
"sha256_vectors.js",
"sha256_test_brute_force.js",
"sha1_test.js",
"sha1_vectors.js",
"hmac_test.js",
"hmac_vectors.js",
"pbkdf2_test.js",
"ecdh_test.js",
"ecdsa_test.js"
"bn_test.js",
"bn_vectors.js",
"srp_test.js",
"srp_vectors.js"
], i;
for (i=1; i<testFiles.length; i++) {

14
test/sha1_test.js Normal file
View file

@ -0,0 +1,14 @@
new sjcl.test.TestCase("SHA-1 from sha1sum", function (cb) {
if (!sjcl.hash.sha1) {
this.unimplemented();
cb && cb();
return;
}
var i, kat=sjcl.test.vector.sha1, p=0, f=0;
for (i=0; i<kat.length; i++) {
var out = sjcl.hash.sha1.hash(kat[i][0]);
this.require(sjcl.codec.hex.fromBits(out) == kat[i][1], i);
}
cb && cb();
});

516
test/sha1_vectors.js Normal file
View file

@ -0,0 +1,516 @@
sjcl.test.vector.sha1 =
[
["", "da39a3ee5e6b4b0d3255bfef95601890afd80709"],
["J", "58668e7669fd564d99db5d581fcdb6a5618440b5"],
["UQ", "444969c706257a2bf8d05d51a832d4cd4276dbe8"],
["3zu", "829e1747756828168eb85a043eef9d82211ae84d"],
["SQ34", "53e66d0fac631bd47b6fe74fe4ae25307025595d"],
["ksUOe", "a893efdf924553a20059a53d4b94746674c2734a"],
["cVcjJ4", "f20f66f1c9fdb6caeace34e8d266896404f20a2f"],
["8F5FQOy", "7bbaab737b39e10e80b04a86e5f50172bcff606f"],
["4f3uqBTp", "f6f882d4b5d4107fba7a0f27507f2fd8283c75f0"],
["nTLqNR3tW", "4b98fc5cab631b5ce066ce3ca938160e65879f44"],
["vdAYhVtVCk", "49569862e42d5ca8e8a4dfdaa01e4d97ab3a8756"],
["6xLa68T63Lg", "c09df7696d02fab256f6990be5dbea0b9efa26a3"],
["AtJ52sRObhuH", "80e0fb490a412c67c5d5d7a1950a82f76a0ffb49"],
["xo76bPHp1YbRF", "342eefc2af8bcc521df82007ab7b49d57bc4a9d5"],
["ThjICeYgAzhp35", "f2a42f46d51ed89a372b15ebf0809c7aa9f4140e"],
["CZ6Cd9EHVx3q3wr", "eb7085603f92a2e85881c393ce4428db9a8ab5ff"],
["wqvsNpKZejVnWykY", "e934d1e9b776ab6508878e1314fff34feaeec9e6"],
["2ZqtefXHaWRlvkeIE", "549feccc808b35df2f388c77b28152d3eef923e7"],
["7MPoGOIDWwOIylUtxg", "0b804cd611eef34b4c0a12f3646143cb6ea48d62"],
["caeiSnfg6TP2xlHUfv9", "791a2f30e11378b1912df6e56c9a66b07e39d86f"],
["BYNTDmjX75AEbBs3orIp", "a30215d8eedf11dac15c6f0ffb4dddc2c2b92d68"],
["UFQ38EFPHeO2zwScsgWfM", "f6afecd7318ce5ddf099fc6c23652032162c5d5b"],
["MWmlT2rczB3ENCpuuPTmcN", "1a6ebb43b8390f3d85806cebe4798d6a3f4b2731"],
["sQrs8KCz8r9o9kggoaUdQkY", "f85c31c987683dea2f235ce2976fe2f4eb480112"],
["pyMq5mdbgnqjfpzXaY2Txn6J", "936404d4a358fbe3fcefd065f56633c623a6d3bf"],
["yaaZQ4VuPHRVOz2TlJv8fWAAb", "29a2bc2c864cb342606d12d1d4af2d0fc05fcf6c"],
["dm3rzSKLRcKLnTrOXZt3CrsCqW", "77a88de4df21156bb79360889afc5bebb4285d3e"],
["ioJPx6onAVydcuEub5mCPQ274NC", "887b6bf81bed1f8d62c2e5cc0682e192ea1e60f7"],
["NeUenr9nNDZUTXLrcEf9yfYxYL4F", "486ee4f6a5a82220c100f98630988feb7be2a297"],
["cOhrhsfVAzmTc5VArk2DQ4GYB56NR", "a9f019e136c108699f59a0f39f58b6faed99eb09"],
["gzuPlpOEP08TzXKnxinF6Ub5X3SLQl", "439ae05bcd2aae48a6b8afe203faf4bd8c670015"],
["dYPVcmbC42y70nwf6ZiNlmfaSfwfyuN", "de91979d1839f1fbd2e0d65996a17456bc32f3d0"],
["XzJS9vxH4QXUv6UQ55mmQlF4fFPzakYe", "67e74995bd1bb626169c19b3976d3aa4af34299d"],
["pWcLJAkOzbQpxdSGYfrvGoEOdycICsthz", "3e32f8c8bc8b30bc1ecf274dc77978fec5d7704a"],
["ZHB7HdgGcl6iHofklYfhIbHYBwZ22xYGBh", "82e8e005ac3841dcc0dee5b34ebf8b89445a7cc9"],
["J2dMOnxXS7fVcmJKsky5Lgr5q6wPLm3Qg3s", "7d4fa2234b9a4aef2d995859b4698fe0e42290bf"],
["qFBsvjqP65WkL6ohYiA287QKZzlq8qpcHc4B", "ffe96a41a79adae3a360da6a4ddf30b8af906a3c"],
["drWlXFxFDJrMyRVaTmwrjmzS8dIoMcXTiJwZJ", "1ebfd19e0010f1dd3437e8d2b02ce5154dd6eaf0"],
["ZLnGOs1gybrU3EuC6tzMlV5yW9KpDCPakCk9kZ", "051a2b0042ddf10fc2e04d96d0184bc469647807"],
["GO6Zyv6H7wdO7TehklJLHiQMZgPj0C32yJmPW2Y", "0048e917e76a0b4d33ebb77dbf3c0a2d4818eafe"],
["RItYK7e5V3L4EiwnV1RVYqV2IKMf0N3KBF4QoSLz", "bf7b47456be9f5262496e16413da829e905e58d3"],
["MDc9jES5NtO8HoOJPKhQMvLZt7jGGYVkq5O6jCJlM", "f307df865a4e167b71bd42657aafd91d3f0b3da8"],
["zuLhkhDeAPaNQufRwfV3An7tks1rmP1YVXEJpsKifu", "6f6e798c1f62097158bdba548751795ed7e8200e"],
["MMaiONEGNXzGSZ2x0enSKDkIWWJgDGFIMdIJflezWXr", "c3a072cd1b49dfbc607373d423218c26c3b79f5b"],
["C2iQHRkM3bjIo6couJkKWSxsESPHJIY1A5SXxpiOAW4S", "450588220385f9445340da84ac09b736e9018e96"],
["KOz0cqCqft1bDrP7gRN8NNqYWpoRrYqmWUmqW8gb0dy6u", "613e2f6695d2c69755af481fef65333e14e0d739"],
["RRdTl3CRwHRdhbM5TfCimrmfkqyMnx9xPK8GiM1O30rlam", "2a9704a3c7151057f0987c9b1d5c694286e2248e"],
["MzyGsM0RvZb4P2ApqBJ3kZhRtVFKhnGAX9mAmm00SkH1UHz", "01da94950a6b8f6dd08983019c78d71974dd64eb"],
["pEf68rtAr8Swhhv0dHdIhE8QjaECiDmUZjyipgx3gpsLeFMc", "826742cc9eff41a89994bdb24656ee3e97aa4d2a"],
["x1EYSPRpyNYT7wHEZrOvqWMH9VwG0lNC9cYsGivYP2u1Ocxp3", "9fd88783f75e5b03320d887c464cad66a38d4982"],
["V9AHezfET8FmSfCClEkRzrQXo8kswDO7xVkySUvidKMzlmXR2E", "d61cd9013c1563347d508c26e0491fd42367e3dc"],
["vEdDMorZPqIj0qen3qVWCN0mFOtGbTEsSk8YcgJzeNJdApmYgKl", "7ed3a79fb3bb5f805dd5ac18aacf60fc407a6828"],
["o6HLlpczHiDbFk4jnKfGMxcYFqyTzEYihHgz1e0Vh7Kh3wdQfG3d", "84f249e8064a3bd4afd1c95175c004565f6c7eb9"],
["kkVEWU95a4SdsCE9RSLxQndqNnbXFquFUEqimVKoMtcTPq8KoX90b", "f28438a83adcbe196c723b34918c090e9b4af139"],
["BVC3FCaQhkBHSTM3oKiSPDI28vHb7RNiTgHVFNuEYOV1HxQpKVAfsT", "8c43e3fe6452c0120251dcb930239f6614ffed6a"],
["QakkZuFqRmZ7MLolg3xAT47SmGC019azBbwi9ae0g6SzeCe8PLVhLHw", "8fd46800b7f52a92ea8f7ff8dda2608ce56d6917"],
["QOk9AYlxaoyR4c3yL7771JBpz3ySmUZ5tAXTfweUaUSEBKAH0WYBSkiQ", "f0bc372044ec382c7f92fc8e37a36215e94a9fb0"],
["oGvYdKhaeBWhJSK4rAe7fTqPLg4BRavFjHdoXSa6zHciY7W7QDd0G7YE0", "bc9af5850115bda555d1ce475bec072059da2b12"],
["mXUAbYRfc2KHvbRwbUsYrHuyvIu4GbY9ltzsiopsyMifsRdpDNF8E8Rn6V", "56a4007eb4590bfacb2ddeddfc6d7aaa84c6e8d9"],
["JVU6xxbzCITqNIdaLbYpWTCnwWih4JmdGRGjUpVLdpGtgUv35OD98tOUp2t", "6f86ee753e2100ad0d31d12d6a7a0c3718ee8127"],
["7afCnFD8iVing9aEm0quIsKHj6oLuEFe8rPX3UemkQTrKGIQtSOhDjK75Z7Y", "e212f49fb37fbaea61ef6cb5262e5d7b27f9114b"],
["sZYPgl5v9xA7Ss2aGvAzPjRUACf7Xsav1Xz02nesFCyMHoxj6AEEAz0hSkuOV", "77cacc7d23c367b99a33a0b9eff0303656b45d17"],
["oKG8teNc6pIHBgKJSaUxIfDYx5u4ASkr6EZWVYT9vinrtKqtHOc6Il02yXRP9m", "154c4aedf0d970c75a43f3e32277b224479b612f"],
["sCi5AErDIFl0S2T9WSD79q8VnXiIUw3yHAcvcSY8OrGq2DgWNsi8e40xcRPAMjB", "ffab4e1ab28afd88c06ffdf3aab02dde57183053"],
["6QDrouBKlCka0c6qyaC4sAQ5IB5G8VqKanzVRt5SgizsxG1FWT9l1wQcgezlFmox", "11f3b24c06bdffbf8f6191e13d2b664d2de4417d"],
["KtFXyEFbqTLv4MmPkeN4E4Svzo6HKa6RTVlCbp3Zh7xy66HDTy4mshnic3cbudir3", "fea956c2fef48200e9b746ab4fa0ee8f91adc797"],
["dYeOMOomECPKx9mp6d4ZJ2yc0UBe3zxoES1t4HtqH1rj1rqZW19FiIumREobdH6Yej", "7be65668773a256c5939787d0d3c6b52a8af5bd8"],
["WTaoKpjViC21JJchxyeC495kAbLmH3rcA1Bk0ZLzjp8DWdRtz9s6vfttuKJRb8vEl9x", "b74a916bddd9af80731b238239e137a4fd7e19ce"],
["MwqaqyaKZAAt1siU2BYnmzNwuLDZ4VmPh9f08rLkE14rI51NYrDCohw5GmlvpLNhT04L", "fc3eab13a1a2ec9c2de1d086c6b6889b889ef2cd"],
["AsKDR3ofT32vlLSgeOWqp18wy7tEKqOMxprgyq4zctp5jw5njxftt1hbccLLS9VwqEoue", "6291bda7aba0e91291b428ffdd61b68b87427910"],
["JgFbA0zEKoPPGMCm3NoAq5F5MfjL5TArvJyZJls8FBpKhBfQEvrNtvV9aQe7dyGNHjhMSY", "9241682aaa3f2b0581522f067fd07fe81989b0f1"],
["vRTCjpaOUSbfk2SY5bwWRmQXz8V3dvCLRdfODFnsSmCfs09PfJGeX1Qu7VwBDlK77ZZES7p", "90e1628aeb8af46fd9a2b752b050aa414deba604"],
["ROqEDrxbWOySlbeCWtqzmGht4u8eSDE8K8jHBEwV9hqCzC1FSIpPJI9yX22miBQSM2xfBoLZ", "b770899d727e07b5580ca70120a08109e9b3067a"],
["yDPykDWkQTu8SJwC7w36vfYo0ro0YxU18kzaRvFnZ35SRwufCrJIZ2xRrfAQeFXDfwkamfWyY", "b18375dbd09dd51342e15e20d9d4f9f7c302435f"],
["7rrZYexc5WNXwKQwW8C7WzuRmHQNaEzWBBsQ3fHFXzOG5zr0TkjPiirITXXtum235hzVEWHuZc", "ba4c5c8c4714a4d72aff20b36fd5935646196368"],
["VfNa4JYk4zouXjnypeYoAWiVLiyAfVtIWhHwuKyUv6NuDfHpAiG4cq7Gy0nHGPM3MnpKBl1RMhB", "29eb36ae8c10a45706aa8d56b156f35944c5ec29"],
["pXmgb7MdD54Azj58D1tZAbJwx4siIOqkXWFOuxTTcT2ChCQPnRXbu1p9sgt7gSLbJIfi8HSEEWVZ", "68bfb445a8de5a7b10ac522b54b85bf98bf4852a"],
["Ko9zk5idDGucb7HbqF486d8nWfjORflsrT5ql7ZV8SXlxGzVK1qHKX32vLspJUfKwIBvYkGowmAo6", "27c7d6800922ebcd9eb0eaa0170ae6d92b220ab1"],
["NYRuK8zLcOnR6UAIYQ04MrXDVCChg9uZ9tuG5bUXjayN3oyjU4ZBu9yh6QsZq9S7HZUkMkZRCrMfww", "bf4d767b31e5e0cc0eafdb71752ab4bd62f65692"],
["8xwifm7m3KqBMCsFSkeuoliOUw2CGP0spCAykEwtur5HCrEemqjuS6vuibLMUa8KSmnJrX6XCnTE7tV", "8471302d29ffb40fab787bca0454afcbd99c944c"],
["BSVA84OMXRPrIwNdnb36kILGMwatHNudF0T9k7AiiDbh8beSSfaI79nzpYcSPywxhz4LUvjfuozNOANW", "7780fef41288fd06641508649d6b9ab08144c035"],
["ZhGfJjDX5MgEjgImUMOponlAck39UVF38u5HiWbACFVs0nxBxpZhg5aRTBaBLUo2tQGQs5j59JSqemTgc", "d9bec2310fb654abbfd864a08583c54fdc436717"],
["WCJNxs17CLW0H42LsKHcQgPPS0btxbxxuejROqYY77M6SSfkZy5t22WBPGHXVuJyTunVqYMJQBegujvhoj", "fc7c070e63d19534080672ab45d13fdf7677bf3b"],
["nP9QJudjFHzy86DGmU8y3sY6YRRQJQ2NaWlCHQHVRoTUyn0Bcot86x4SJ31Lntk4q7KYeCTQFQ6hLCfp1oV", "c2bc341160a2722f0fec93df32499dc5d496fe19"],
["BqAI47XI0tko57H2j61TKRKcb64Glu416PMy8kZEcEAd4Jv1Bx4ll2YtsRQhBEhdtAc4zhHkzAzBe9bSbIQX", "e8a75c080121e1e728575903e4435c3aa5a7a17b"],
["srWB0cEiTmgttmePIkc8mSAodn5ENhEHnLlUWeK9HD1rtDv0FL3fROsqjdUiPZI3Vb4OS8De1j9BoQq6sornU", "cca81ffa9289b9eb782d511a33acc724ac062257"],
["LaeWyjxHvEwdidkDe0RAr7Z95EfTjbtdBK0enTEhNVbpB1A2yf384YGNSWnmPCLiwuJIRJll3Ui6SJ5PrAqGEt", "ddb6c46fc171effe48c940d33ac93c5179528439"],
["oSPAe068WS84EAxWQ4pO6MSClWBpOV4y3UogD6OC5y8ffnnUOUHAtvuT7kIq3hD3RlTYey9RKOUyj2Ih3rVBJJk", "62affd6bf1f9c691a8495be4712dfeab532a8760"],
["hNclQ9tfWQQwRlAdvF2hQhRVLXXXmcKx4BbIRbs146JFINlXuzls7125nL89Ys1Gj7ulf9412Y2N8pR7dzNmzaum", "728493cdbbfdd4eea96724c47ba208158efb7801"],
["frw6XfftMMiJZSIhhb7dmc3VXQIRP5yBoItf8zxex1n8eCjHlXH8x9b0qDtljXedmBz47yfPpRD3TxHcrgHtxqnir", "f95b341d2e4cd76fc8b63006a0babde9b0330dfb"],
["AlB6LR5R2VvBO2dmhzcfLdM2VyvC2EhuOeWz2SLGK2afhUwrRm7G3IoliQYILHvvHS85019KhE6iIsUmuwijudA0Qh", "bc91e85490d2ad2b29a72851a44a1af166613bf8"],
["d7WMaWfewy9YxCIUYVgpNeY62nGBJszJ6d4BeGRgz8DMTebCsydiFoD6GRAJh3mfUch9P9VpLo1s7TQpeS7Z44XWAl0", "f75867cf312d8b18093e15dc99f3670d16b4abfd"],
["DpKuViF8jxzVfulhvgxzbU84AJgI9y0RRsIIgWj4z8WaV9pIGhPbh3X3kFd6Bm1rlhkNsvhc6Gy15lkws6HvqoPEJJvu", "23024edacc02a6672860fdfb32b3b4e00ad69620"],
["XoUpYnfGkZjpZ4JNyWV9fsh50R4Ug0Wb7hQtrKuZaMNZ4QtEWox7rsOEaCHtddk1Q8sDkBWzkkfdTAVmyavfHzQa8ND6R", "1f6cafdd90a7a2f19a9f06c747108e689b7714b5"],
["ig8s8M4ECr2sctZLRwiB4IT55LBCPgt8xHHPPbk2I0x6slLP6yaFpLvcz8hAfAOY6lG3lCuMdxZjMnGsUZoEi4O64U4KFR", "5fe750d44ebd882c92bf153e50171dd080b90163"],
["Km1SRaxT79koWV1oLXnbv2zEZrpiRaHtDsrYEIg9wdtp6YNIP81AVtsb4bgV3UEIXIvGWqp7vDRV0gmEJmfrDCkusYkck6K", "337859154d40ce8f07826921724afdb194a1f502"],
["BujP8eXDGGMpTOqAikjSCIvtJKTxR6CHYtbYrpNeQLLDHblTMtIepVA0ymw4LpxpxHqjDDOPfOaiytpOChyloViH2ysKFj4f", "871993dcd620729b1953bb1dec4964eb478976b2"],
["esf2grHeygHGJ2nJixOtUs7Rstinw3b8KOTIF0j1MAw0VYVVyUr3XxFMP6axXwuBNxcwMLTlcHSo8RhqrQTl6lZM6cRELxPeL", "3ff9613e0be9144c18f5c822c6e327f4ae74ca00"],
["NCwLlsC0rcfVhe6LzhiZYrklBF07fSA5Ea6SlJRZL3fcgFC7hYxZnSmE0NQBvv2RW4pEyMRJlt721EQe0mueK46dWdDkNnVFIz", "2c08a7f38363128eb7a3dee7556842066a3fd7ba"],
["LBTCr2tetr5OGnBF12mlpd4ARFU723WitXpjtsvy6tunu7sU2j81ecu72atcxPtDVQrlb9FeumMwv3omfDPDrJtsfJvyplBu1HD", "de2e78bb63f7d6fe120fee037903ca6a6d865883"],
["93VRGsZR2AD7hUV8ti7LHhy23NdpEN6W4wbngPdqD3IIGsAmZLPFt4AMLqGBh1I4Mm5CD7cGpyzNDPnFJKEwPqfOYhJiMNIoW5mh", "6dd19aed426a81054b92283e61c0bd77086235ab"],
["HZwARgtWaf5he5AUX3KlbmPDHsu7l8Hca9GvhGYT8gCPV1bjoLMkcVDo8cqWhg6DuN8x06WNGvfiARdZEjuWTsfa3mE5Z9MHGGgJc", "decb59d02e0a66f63c06681ef1bd49b3e8fba6b9"],
["TMoOoPAJq970L4wpxWzRi9hqGpk3UW8yO93h2jPdc7G7XbPfmSy8faQ85D2MLtkbiiVopuPxvEv4FnEd9sKZ2AvCqhppN54a6kRgKu", "5843b48fe90f2f901b0aa5ece84f1432e4c42fb0"],
["vOLg0dddzpDQ8VkXUIC86wYzD3arbgKt8lw26VWfQ9fuTnrNiLv2SaScSdjN72JuUJaqXLlaU2XH02FSShILjiVnSu7W0a92xOYNsgL", "5135b4b5f67c3a53535da03f1ee6ef066a1c7b84"],
["PV4RByrfU8fbrBpdJXzOGYVIsaMSggpO8rsShpx2pHbxkHMNu8DmsC7nH71xe58JjpSf5FzKDmGsLShfr42prhhifrrXk8CEJqX4BQlo", "4aeb0b11731ea103ea9fffdcdeae2aabd31402e8"],
["ZfJOyzfNDAWgdoqmxcZFE5Bk6oLQtoODQSNlTyzCxFgYlOBRcMYM5r7ntHdDuV1z7PBYW6temUuEm7hu9Q9PSWn5QE9suyHtSK0P7WwB5", "10dfd6f5d6cc89debca30fdc8506bcfcb1f152eb"],
["u4UoLewEAOLg1ySvGnBRWL4trIV9AjEoWPtPqgwWfaOlGRd88KHRMNU5UJQu3VEbdeN5zShDC1Os0OI8Hf7OycOc9GDRNAVHJY0jtxblnL", "3695ee897684221a3262c34f2fa4d1370683739d"],
["os27G9PlAxN7hCcp11xBk1AegGLFnH53snZFWX1RsJvV7gy0SF9WjaSj7yk8fePwstewIIGODdnj7uqZ3Mzspy1qK43K41n12rwbzI0sI3W", "81af8a0c13200108c2a6d61cc99dad9f7824ad59"],
["enNYAeXJzdh3ahNmaU3Pi4oszoUIlk1TplOXURvhzEkATutRtibiwqrp9I3FzWdpUHUufama2gPy5afQw94WlsxZnrGAMNHLS7EAAMZVCdKU", "a984e621ac91a2f7a1372da561de3a35a2d877b9"],
["OI0eZkD07tAQ5vVxwKdYHdAM13Td78k0gnIh5lvQT9G5P5DxoF6LjQ7QitzDF59eQWzjGcXM3wWQSdPXGPqFR6g62pQcJlW1Yo91HGRaAmebd", "cc2c8be838a17ec0bae9e5d465cbdbfbbc656f7d"],
["dQ2kfvkXYfusOJjHQbAIgwfMY6zFcyZabbqzyJcUjre0okvUPZrnBBnumzQ7JHDsqbyA26DiAjs6AVBaAVthpdYieA4nfCXLD1McyBnBnaDYHg", "ef071325534a23385cdce12a892130fea6ace97b"],
["KOkXky7kk2u1Ux6XcX7JrPuenYxg9qmt3cMdDCBuCExH7x16BrUWx4tPurF8TcoES2tA0GUz9GMoAY0Rb2gozME5LxFp2vroZifmmQLX7LAjzm5", "81de7473e207ca273b6e1b41d942969406e91636"],
["VEXpJ0dki5TNJhdaRZaD3H59xya3JSSNmv5o2fMgA9IYhtfuWrPtvt3kLnuNVay5B8NCWI3RryL3rjuCA3hi3ueZvl8zVKuPYisnIvZZNff8m8Rq", "bf2a5db8d9e0e307f0f01c425e634876a3cf7b4a"],
["hfAFeJ6ZpetBOvj4jTWPrYnmES6cJdQKcTSMDnpITyak6UA4mwwfGYaniRnjpGiAd0f1Bv9hA7bMKxyG9UhxleCE4tOlHEyoGddiOv2tADKMT30Wg", "7dddcbb868ec3dce503fc4effa2b20a1b4b75c2d"],
["CvGDpHf5CVllAmjIB9E9lOSgIoGYaBCOONf9D0qWIdaMaZB76kLN1EWfbrOUUJ9ETd7qvbyClcbN0paCrcTnhhrjAjKKUO9hKEcs7rb9v4GKdftAgJ", "20de7aece38ae6d07b416b0a3a9a2083233311bc"],
["ACv4w5j7F7117lVPk8xos2QusAAtsC8jbzdXRfK5FFVyQVCVBn5uNiiUvF1j3i4T4nkxxljU6YZnLapSnSqia7N90zH5mEGtiS3tuUVP1iTi9yDAlDq", "37000898d9f9da8a28d5c0edf5e8da0718cb3139"],
["0akY51UGdMn4XjaLUSnQm83zr2hc1Nn3d3PUsZtZCK3tjubABYAOUsEhx62koh9vcmpl503ElhKyZtRbhml2y25SODc3nNeo34fRBQ43etX4rLbhEkNj", "f2f5bf643d8b8618b6a16cda575bf48c39114a42"],
["EwJlTYJXf9eXwUORofrOSnix5pyTVYB9fZ8ve7OU26jsZUWQ2QiyvLgvQPGZghuBWlkFwz2gvzqaivAk9KKL9062uJLtuHzpm5B4smlwi3Jlypsn5e6Ze", "4d43b04d18085a7f81c9a958f5e8a623418a1069"],
["BLET5uKVwAGmm9fCCe7B9Awyq5PRlq9yLKhnLyLh8n0BTa3LlTAZ0S15qufpjw8b2kCaueCry44HfGsq6bThwUoDDUCkCh2AI0kohw6me6i6XmYjpkpkbO", "8ca7afd64ae50e9834dae7e79dcd8d67e5d67af7"],
["s8ouMpQQ4O9MXasWSHg9VPqpGb0wdllgmAlug1LCvQ8scuz6rMP5Nk7W7DBHMoakM6xzSfuJZUPGnjg6ypSwK35ltUcRBef1lnrxEE7LBhi36LQxu98p9le", "69e48c421e6753b15ffef6a31da270bc84485f00"],
["BnJ8pYfo4wPKHWkk0bykIZYjaH0PlYXZvPpjCXLxYL9VmBvV6qXProbSpKl1aazFCPDgIbUK05P8wMY2G3TVnvSl8me4Ja8jRaYpXlTH60MmMSkScEFJJz17", "8c962168e65dde39733b2c0b615149a6f32e78dd"],
["X1ntVz3Rw2djbhF9JpxdaDz1R5bPxN4L4WPnKp0oIxLGPlyKz7zebeXO9pzotnQCWA2ZLqRyZnw0M9nwJyvfsYCte9ougLU1IR64qnz8V0HCD3PJQMz1re0xW", "495d6b2f377f2681f6205a2e6b581e3bf0387f28"],
["JTOYfqeNf2Uk9B5Il8zz0WMo0hcBPmFoxD4S11RSIZysRN4YJbD78Zq2vA2xtUyMXKD0w8Z8gK3NfIQZ6xex58KSRVJwIUpcIA5IEM1OlQmtaPCbt3f9VaNxoi", "6e4310d345a4ba364175438feeafe3bd85b77456"],
["csrv1qh2ZX9GarmIhZaXhug5FYBFlOsnVU64Wm6BstKox3gsqEX7BeNpX0kVifUoOZC8yQNAMCMFFwnNgVxQEF4HOKt5lyQHQOfU0ayAasMiXdmZ3kXtJOwEsQS", "bf5f1d0ac2d29c0603a571a1a146545c67f68ff5"],
["6zF6Co9fnS3J0q5ctickMQ8gQmwbvv61SV8JrTAOx2MaXj3kE9D3tcsALidDEeNxQN3rp33UwqZBczAGFqqzzvoqCdu0Qw94BDzvtdbs8aZJxT6ypd6SVR23TuBx", "b1821f7491771d37f885e7db8fe2aaff44362874"],
["kwgeSuZIKZhJrHaXQfUfpJo9b3uYQnN5Baot5UVJtDe031Ck1P3Eo8LcMwJofozvpIbFGee52hBKuUgcSrhnL7T7Arb8tEn6dXTNBNVljJp5CCQzLH2yKxvBcXxSu", "c55d57eeae12666ebf7dc9b1cca5c5cf7bc13a71"],
["S1RX70KrZyE9tlxrm1XiRs8qWdHBHCxijsvvjx2Twwwoodh6YM9n1T9RMHdS8n4EtJ2JJPM1JXbhVeLopGeYE2nAVPchD58WlST00P1vPnmHbqHBDIut5LST1HwKXw", "acdde7693dace154f6f7c53a127418471aecbc74"],
["ymUErkG5vVagvsFqjwKwybyACoAb4AIWVxjLR7bSCzapUX1m9ad0du1ZlCOjgjC54hI5bXHdG0SZGrV1arRudiHPgjebO6o3IuNYErSG1hlycWoWYRYMRSqMysrMec2", "2b7339c41555aaa4b824902fb9846559149694e9"],
["fixNeL3NAKF9gnpQPUdy3kOlx283xdLBGmelkPE6jAUImP7pwBCak4TTxZe4T20Ee4DoTwk4hb9FTKNjKnl7x8Y0kdW157Av9ybV4eqwGmprxrxtZcEt8GcEDqNYpq5E", "6f852a803de543c22f5e63e201265f097e52b98f"],
["bBQRHvKaICyLT4j3OJcJYbb0OlJ1x8wKgzbv3OjMvkZRNNyXypXq4M3vU67BSotadnbZIJgAse8jjtf0yYptZQUAELqN2ocEaQriKFGlo87hTAkQCg2Z4kNLtagKV7umo", "4dfc38c217574af6e068b3efafda9a618346a2cf"],
["g7BXiugIdKL2pu0NKkiFN7pbjwNIJ02hn2xdq5RtPeZZc15tfhrKIXfYDhgNs0jigfuz2foUGJHqNXizwLyX7DAUJc9CtsRPedEcO86S2X4mUIeBnMnfUli8cqH7rGoNYD", "cf5227319702596afc84b716b47d307b078ff962"],
["iPt1B2nw2jXrFouwF0qaBOHYIugAomQqEmss0AFvQJs7QTPQ119uNKjYiCqdbxwDNZd5JwPhkQl3tPARLmYNkyZYFRpjeuoFSxwxgHwTl87thM4Hmf7A4Nwp96Imu3k3epw", "70e115a8fb0a301d0d283fc938a44754125a0951"],
["PhqhiyGB8EEFHJe0FvafO7cHpedDjNXjeLcDZgnWVFk6ytqiQPFvZoFZQgRsWWEpsHumPP1PHxa1bhbEHIevuHXSajrTTXNIZp84tSJKxwIV7LsXVPSUuAUPjsp2cw4qzFbU", "05cebdf9fb3bd65b13b1a368ca1ac70192a8bcc6"],
["YBlYyTxFNUcZ76EyrjTF3FeUqnNt3k6021jw7XDEZtDem3zOQauCpwzI9kT88uj0YLXns4lZHJn3rEQ7xBsfrJ13uQiddcYZGuD2kafOvqOYJ6DLAgxPnsvIYkkoHTd3pGJMz", "694d9d684a40853e7f35f1b9f833ba00793bd5b8"],
["9ltUEFhihA95WDE8nZMfGgfaeKZiGbNhinsvVmAc2YDBhICClqXmKmQuTYuziofIuNm8zasjew1gbos4nfnPbpiAeI2LMw3mfcaW71qRexJCCud5uy23MowzT61kjIVhFBm9Ij", "5581f53ab9b9b4fda5d0ac1f7695ba27a45493e9"],
["1GmfpO0vXaTEGaVxmWhDHJyZMDgPubLmzwhmR8TWaXe5LgVQzzejP8VA4ePe9mf1uGXzz5gGQK2hqgLBCHZzNImWRkVo14nLXmVvqsgUDS4QObjvIzRDjPWAcfdPnkOHvBIzejG", "80901cc967fb3e2c2b98b201bb957536ee95fdb2"],
["kcaJUSxhRjo6BrehLXtdIGlutIXA8XEHkkkdie68lW1v3AA9XVp6mvKQD3OLMJ6y7duCm2UEmMfyXdIuA8tqj5PjyItl7yMvLIdHwlJX91vaaVYE3IuS7BR4nX0kjaTp8NKe45oP", "53de143ee6986b0ea8c6d7a9a7bd1d4efd9e5aa8"],
["EK9qWFYvQOoN3X9Ye4vVd4HKZtkbGOIoRoNYB5EUnM3JxdqvpT6c2NjBDS8qGYmMU82FzBpiyFZ3uiKtYgtanpvKCeCemDMKmtjPAHi2SrWRdPAWtEflVzePCCJBf6OmiXm0iyhKP", "40c5b5c1c62b8de8cc53c0682311469c8df4d21c"],
["GSAi7cNsuTnHaTau4uIscAVplkcMFPquCC4rp8WLnNShIyxlTiMYojyItNizqslGyXeXIzn50eG9Bbh43Jv60yo5rtpeF4DVIWlOjLPPeFgvjM8GVbxU1TADIORBQMYUVM6IKELYIL", "b6aeb7130d7d06ccdf2262f3c63d6d9bdcb59166"],
["WSZ82CQumKId2rjzEkMvb57OFT5r41b31bRQeQqWcu2ELFJETErs5mofH1EUXYT0fOucWUAMoimXpbvRkZeCCkicRbKuyWVewIh9v3PdQPP081QGpQdezlyqo77LEWUV3WLVLdWLTYy", "a9c3345948076c4547170402d55e350484366a6d"],
["w8MQMIowpXZyCfw35wzpTp48I9PHL88sFyFAEtOtSKtp16rQ0Lnb97N2FoxLZ16Omv0HuNaIxGIk6lF0OQftgBv4YWPtok7Rmo56DFtUxjZlvl5DuVwI9yny7P0VKS2VM04W9yu8edXf", "8bf25b037e37e73bbc03a1a2763add4b1c370405"],
["KpSLJOZ94e2LGKYDgfGlURAJ0XXNwRROEph5hUZOe2JbE8fozNeEEe4iUUhkbnhZYwxl6zDGu4MqWSGcejiwBHlr057krCQ1CwdUFz8XeHioG9XfmeXNdN7aP9h7J9s65Vri391v7fNAp", "75c04d4f5a57c2cd13f39acc4197a11c6de977b2"],
["ubVO7cJkdQr2JgH3jBqa3UyojPNk1RIAJrZ70Rtz3TEML2Zi42c1hA4gSyvUScIkd8XpVjAG73HZhhkugxPCDi75R3481Vu0LlPhAXw6g2ZNeqUBIU5RqKg37zIIIMZQPCOoJssRX6aSbl", "9f7f9cb1125d24ce7bf51b6baeae9619c7f5f27b"],
["w6sZdg8crdK6rgnqlxTUSYzhB7uvRciFdA3sSH5n9NoLzhgcduRXZQ4Lh7pQpdtC0yZGFCytErXCCIWhT3YdNAC3bajWoTAwDu8CHEOGLHjCi9R6Fy85GsVH8npJTTK1qtOKiQ6NjAxyP6v", "349d51be6012c7da423f7863e48cdd4b17c7e33a"],
["K9IDtLpQcr8ejkeqyXiKOohQol1RpkcsaWxSBIP3OLYAsHjO4MMi6j9eqwNgX5iaWBX90ViROTyccAILlvmcdjpEljs2h8KvYeHIWtB9gMIhaoguFNGwyRwHGblrZC9Mr914ZetksSAwAhc6", "66559f5cf0643929c9a1c61718de6b4475dac119"],
["OwXxM0W8ee04m6WwUPhF85aROrXpeYmW4OqHk5Yntew3rUyOSCbs7GOxmc8OgNSQZlp9kZYSmUVFF6RByqX4IYL3JPElYSQOqm7DU9sw24BGY1xskyBupw7qtmyM4pz7zgqnu0385J3uXGtIv", "9d7e1bf2967a5d2e8b601e0e1855df8d0c68600e"],
["GjlVirmvDi7sFfVdvln46uVucLWOk449EBqXWBgz1OuWp0AZnbN1W3uvFFdLlz2DjY6SGvJ5DXATP0ZLCnpD7cq3YhVwapyuLndPcX7picaXa37B8PHk1fFpQOPsRF4b6uV5rIkhXlCpPUeLXw", "1773bdc0442c28328ba990b3eac923e122c4516f"],
["Le8UkzNYoGzqRFUikXNgPtEhCWw5FESZCjFhDGnjSjFXW9bmJSIcCnaWUknUn45qr5ZheeGfHaU6fJoeOIKWbbVTdEcRoiJzJRDY1Aua8JzLCaaBuqncWI76ug8c7OpTHxNhOcorlNSIoQsWaOw", "6019f20407b190c92170bcec94e61ffca2e18e17"],
["Idmn7HkdHrLefgVwzPLHvSg6cWquFyFQwHTeZfbAEHD1Q8GszjSLmJ3bgRKeT6u7J21j78Z2unOvx42ZbeuBcRBjTdRzJ0KrxRCB5bVeYDfYImpu1dWnLjnbxKdoD8L9NyJBj8k0M6zQI4aGrtMR", "340dd839933952a0dceccb524e9f154286a17b3b"],
["xDBn9s802JitDVpG7zmxyloe5XatKYXhQdKgLzKiC2V7aHk1IdRVzO3CIonXcUc6y3bqc9u9pDYXCi5qm356ZkxebEBCT4FE4CSpm2HYj49yoFTVB7GzfZjJe5SyfOdPiyBQlJxxeQMYpmKNSJUyf", "3b1ceaddcc5b40e03a0914a82903328bac52ad69"],
["63AMDXFuClbR56EacfdQ6I0slFVkIt0CazRSixPk8XYU4FDfMoVpofPgQOu0aHkaExC5T0t8FhaEZ8ipigdYJiocz384oaIJg6E6n2ev8OVcpoJfxHgaHu99hprJ26Fljr1Wa28nwuhHPvs6jc7dwO", "6f10014253cac1c35f8fdc0de029d001cd818503"],
["fQxmJYS7irNQ1ldSaMe7AdgyVYUcyxtk3wXPkcVQEDZHtS0Ojv6lufPxrqQWWUBF8iqwgmSAr65OlfaL5yn47TkMBDrCtU4ZHnksbAFh3vd0pc6txfBqfvizZ6I1nLIr38bLaTWt9JOmi1ugf393XBq", "d598fb47607d465ea1a7aff5646340cf9a5428e2"],
["O0jZ9bZ9ISjBW1jTNUBrymxlLeSRXkP9kYIQeLsL02fZDLzeUng3oqmrdUYAMQc3dDvZWlqfCevAK6ue0P0nXML96JhMeSbW2jyNcmDfgVsQjZBiRPlK2cRnFkyllaTMUkYUuoGE6RDMenFkaHo5Lg4V", "5af9eba9e76e623cf25f634ce58b0388f9d057c8"],
["WJcmhuvoSrSVmPgn8vlnMMep05o3D9IT26CHJsf0UsKknvubTh9tfPxdfj6k4P3cW7PXvRNcKvdrKQcMKs7cZTYrWhkT1lLsrp7msfjovsmI4Zbqaa9m8al2hXZTyMCZyZUeRGtJlfHOMBuHSedxF49rU", "7c5cdf0f9d3294e7fd339b125d1e4c7dc1cadeed"],
["Dph4gq1N6rkAzz5oYp4gecTyuvt72TtzijvMomPxoYLqEk1YtMwLEcqm8QqbjVglkhn4Y28BkIQ0S79TQsElvBGGtihZ5ulrLsVeJbFXLXtyLR1YLeFCXLlhh37CxwdVwAujWsSKr6stcq4oI3SVZrHe0L", "d94457f1ae464f282eceebe2e1951e821eb48e57"],
["7ZTyS62VblTcatGcUtVBj0R7Wfjn1wkjdbz6ClgFI7LavDW9WDziylMDpgHV7Bo1CBPa43p5FHjGKNxq8wFlNThqWB8QJBzi4lpFnrY0g8nKHPnv6LE7kVaWPbRlZClyCPEKhnS4XU8xziUtoazAiyymTtc", "0847e47cf3f4995c2e45b637954b1dbca834d78f"],
["Mo8JTu5xOgCC67hXM1O2ABQ0TCwzJEh8rw4bA8LUYeAlJu7D96ux5PQgUfWGoijyIZ1p1MYyh4S53twgVZaQnKLixLrydyykGpYXQHZVgJztgct2TkgGPN8l9xVavbENbJ3geqOoukB2ClPYvJexHAk9Tlns", "52156e2a6bf19d9b19c6bfd5ccb8dd9cd349a961"],
["zFD0OtRkgR0Z0DHx62cyfKQE7LJBdYx52aD5Y0EBcoMWgMEVxJiwytYz6lzhIC9NWCVIqsUdqVJMXLSfJI1KI9p6aZiim3IOelYHRGF3XDaL1emqMNc3my1heXpcCEkRc7Oh1hipwv75musb9awkwvMJddFHH", "bc63fa328302ceeffef81f7ce9f7e31794aaaa61"],
["qA4JovB2zCKEQMVUchMo3H839iBR7A6LA8MQcL7LAPmHxcatRTRapl1LFbExU8sU5kM8jF8nXPHAfylWD7OYe3P9VXJUVb1ge3KhmBFnwqMjZl7JHwxoJU5KjiHDMQANDVjf0HJYBDcvtWCmEvTecSf6Kr3oqB", "15367f0d59f9f89b962e514c171cf4300ef913d0"],
["fcdFOhChgvUg8a8nVDDsxIFEGSAB1cJKSN8FhwjbqV23VxfdSyRijRM8AsZFqq9egyNqlSZOOAVlueXltEOEqgtSfqxYcq6l96bYrT0YKtz47zcTGaucI4zL9ExHppbtOhY1MxkqHNwUIrzUvUFOTvoM8plmGMv", "a8d47bbc2be06d129304659fc5c1b8d9120b0865"],
["sswXOfOCWLJldVQqzPtdgSTj655LngNAIoowwCNo56u9cIyGId5Wmsj46s610rRUKe9Qp5lJMSDxxwlZNY6Ixm79cgczSOiiC717l4DSkxMW97yb4gl9FdAvw67FOtmzrqYeEgfFQJZYwQ1DvVttMDub6OVSW9Sp", "79dd87b01514933693c41faa22c38ae09a0800e9"],
["lAdNk7VYN28hfb9yW4xxR4Z2HCTJjxN03P7gJDgumDQ5VviMyKllsvNqNmzWZtIeMOR6jT0dkhD9PLjfnOJGLo6xdlMj4cyxs2VDEOA49Iv0qXMEfvqGsvhIwJGZEZCa92fc2dpDF23M38RLCHxMyrD89yMvUUHVO", "5ef768e33ecfa576e104e042d52eb46c7c7e4979"],
["QQnuQY0Oy2lArSy3cRTPHWqjcPzD31IpBPo86bfzRXwCzZlMuAbVndggGs6xIsdQVOEGkienVaJF840pqE5ZHch7aNwHelhGFQPOKdwFQ2AoSO46AgNsTcVRUodPm7AQcP3WNjwSCyktuktha9J2W9do5INimqao1E", "b3c37b1bbf1702622db69f1188ad61d70700db26"],
["2juZiG6eMuo0EH3se2WJGUvVqbdpWnwLDGCmTVXpofqdReT4lvdzOSfsDHUgUHePPWC4cmq3YrT6sley16gnPJB4o3dOX7l53t0hp7hr9091wom5g6syiwCDkA652w7mplDu5CfdwL62KeSXDkwimzh62U8EHhLwYrP", "bf5cf9f33c3e6b5ccde80a5accb209deb401088b"],
["wNCYwyVrx8w1pbT3HXhf313obPHpY5jXgIswffpdIBWlIKjgEqP83z3cyDzu1gkqXDZVzO2jU40p915ZdPAdf8PDGLdFwahJoR29qdzKQseL76I6CafBwBVjTcwLIhLO3c6FW3c8sFnn3Gr9aWpMehVETikUys0xNKlH", "e040a76c34248064b287517553301ede98e05b5e"],
["dYz8G1WAtTF8ksyA7O6CBU2kZOMiS5SWVEZKy5V3rJA7NijoyT53K1qCIsDuLbRsaO3qnrqsjCo8hB2iyjqir5eVh0JLlNJdkyZZcQFqGXebGT1zVkUj74YDilnaHJ7NVSMunZ9e2t9gAAl25kjV9i6kllKevcu8sw8LK", "5ea5eabe9618e894cce8332e5a2b1faca1b39871"],
["WwwQ6fSMkZEAwAX3tBza7vmxtxeInY4qy5xeC94STBXGgAjLt43h33s1c39VhB0yu12cE92UGszhpCd0ap7NffNyJOm8ZwhpivoxFBTpXnFxvZ2hQx9YuPYGXWvxp9PbAp3GQXVGuIDiK6NMH17B6G98nph7Lr4hfq26nf", "8d6e4e559049d5d777f8d5f2ad5aabc6977577a6"],
["5wtvaPiv3dbexLIBlUW3N9Gsx8kHHErJ1QEtxE2qqukeRpYpGE4QhzWI1gIc0a83HKKWWGRNMNK6tq7gtEwfm2DPXyZML6n0Nmnvokpm7Xp4iyS6z9xJzqxSg6uIJPwjW1XNQV6UtRLspml644075sMgYRzyI0fpza4Nzwy", "797c68bd32b963781edb16d54f9addc2aa1dc86d"],
["BV0VcnptCoIZjZqJwUxIcshtlSg2gwMs3AxLNHhgFk10he0cjcHyh0zUy9sXK5nK6edWS4JhT7VANipETXL3fHUxRu3lvg9Pt5rfyc2K2y3HzB3jCFCITD2WXBlLjd8sCICWxTX6dfJKoXfBQhJAAiSfw4OXLkN4oVQRbkGQ", "c7ee002f5b17612de5c55917cd1d509fecfe3487"],
["5N83rVqW3EMNEpCwcMhp2ck9DMRa148dM6aydtsQ0gYChoRzspL7G792322AWCTFDwbFfo5hoUO03f3zY6EpfEy3xh9CoK4mQHwC6ix19pXIBy3UBRv2rxU6ePpaGyXWZXiDAeKU94NaOaIU9AEIR94tEvSgHoeXReNIFkTj1", "9f3a0b3600f5ec41694ded147ea786d17e9fd529"],
["j5ghAFp77TK01LWQJx1PDyH5qacP9fHC4CSw3cP9HoA0wN8c9siGjRWfQFlVkvEwksfEF5OYZFkNkqb4DqlEdXtwZcPlvsRoL2UIl3bSsyzdkMqgYn9p1ICoxnXD7gxWfvJgTG7AckfMNarcNnsc7RzeDw9s1IQBdIgEskqXLn", "4d9865217b089b39b042040570d59b776c9120c7"],
["pVWtdhnFZXqs6EQxUML4ciLtewDZrZCjyKFJQHTlVtIla1qmDikfVQHSogReXLFXQ4vGlJVH0CFOYNgtQD3EYvKXcLNp44eF2tX5J9mjG4DxzSftGOX88bkOpzavdZOqEKl3oH0INaPbDc5Aq0y8VGoZHeZi0Kn76aLWkPOUTj5", "fe933df5090b01e69054943322498c5e70eef61a"],
["tpr1GsZ1hsD4VMHUYPtTcrC4JWTqFFkJ7q9FRq7jtu5S1JaOFFygc9eG6jmBHN8ZMR6XtdsgpLSD3dUtrRcsxZL3cuPItX0z8WgteLLBL1dKDPJrX78HzNC1bBcVR4wYdtJzodgCTWsriF5wNQbMdDWQqLmS1njCR9UjZg3345CZ", "6e22420bb16b74cfde9a2d4e8494fa2d132eb5cc"],
["2h1EZHNlXEqqnhKZkHQc1NAC7XUBhVFLHX9XUu3f1E83zFXQrSytVVff9Nar0bY5j8vLaN0xJtASLx4rwKVNZiyO2OCdkCQ6lEu91b3jFO1pqZ4jgVZITtsX30vFZuwwz3X8JjOLv26Z2PkshKxjCNxsQLUOJ5qIZ07t9KmUq8BZW", "17c501c17c67cfcfeabab3deffd86632c7b97c8b"],
["8sA75DP85rzV1sEx3N4Ly3X74TNjt48eD5k5OEhyJhkjcZ95nDB3p2SYVgenov5eoc4ec34qwNZcP4BPozF7uiJ6kYJa8NaCGbTgGWePlx5PDycyvhDxgHx5j38K91Hn9bppp9lG4nswPrKBJhaFsizqDztN8aHV9dwlE3OoCFNZ9V", "323944c9533cc92dcec81652ff45756d8674ae34"],
["DqHxBqQEqgfJUFjvn8VGRT2exWnXfEEXToTdnyYok2qccXHZBxRMmg9x66fkKjyPounc9axw6yub0K5CybzmbXGZKlJdWebHUKgodZvBvlzXteurQZ5mILDUpTTwaCQabnIP4VNLE74eLK0OD3aXAYElQSTMmBaAN4jWZHCCy9aavGK", "7bf55729a0500f32b929aff9f44e60e719f56cca"],
["ygc7MIjLHKf7Pr0Vv17i1P3eDXBmiTnRfloGovajxPBcgdwrGEnKHqNNSLt9DYnOemjUBZlEPsvmgtBQZR9z2Kr4Wlt0KSLFryl5C7X523L4PeC7hkTOGnr8VUx6zgRB85sMFi8b1L4f50WVfii5bjmqlWBPdgmC6vybWE4L8qoaYxnM", "4f249bf7c148ed501559feeebf393619b44dc85a"],
["gbWbbGqlxp22VzIkn8mxXY4a3uFOrJlcnHElgRpBdvGUBsCSdQtA8pVrORWIjCwVh8sPlO7uZ1YIeHeumZdewAtZJgFwzbfGq54Io8cRU0ketfOlfgAVZ6u7t7g9k05ua7RZcMNIfGOZlaao5mCIinEV4yyqRYsVwuggfEKDxT3BP8QPG", "bb3d9ab95df1d5528ea87dc4a8ae450cfa7edf54"],
["R0QGxK8IzibG6oC7184fZZFj5le1gqgBTaL9TRL2eesCxpVxT4RbCTx4KnHuxOaO1eUVctCW3eNzwzCBAB5F58hL5wH4ELFsow1y722KrnJwiyvetQpRcntob9iomzYybQYSljiUSYDIdtdnVwA7HQUAL00Gu2JoOK85cYzbpjHPQU6yYg", "83015ef3fd6aad9e19c5665888289a2ba1b50fee"],
["ttwU1oMI45TczqE7B8tv8334zFRdOqsvXYnoEQCLiSpvBlw3chPKsgwxoTJibo0FowIotsci4VodHNYwu0YFc6Di2ThGYj8YUpiFKIDiWp6FGKWRvfPinniSJUfDlBdB0HBmbCbrgrBaIJukFaZhCWCFDQ0LSEBv8StKksHCUUBbCbPedRr", "fcdf79c0e6208f70453277565461a7a63acf19b6"],
["L77snrjQXZcbqdMEUsfdPYEolFktf7L0rGlXLYS8cR6AobUKPpbin5HR4VrZTMSex3eqCiQRGH5C2dTIH2slFCvkwcjuvOFJkFh05AAYVEdO40lg6TecL072JgSUdX7U70EtwiyeXYlkiu4D9ksDNYOf9DB0clb9bwmIZUSknkYo1nkDMx3n", "9978c486c4f5416b565a253ab7fe5884354018a0"],
["gbQ9wuL4Hj35sIZefne8qfTwIGuCfMf3P5zhyKbQYhEV6FPBnE9huQnb1trLTkPBUPKlZZhNwstXQ67cKnsSDDteJGLyd9Gn01kAIQv15AWutz0iF44hXNNZMfOXAXDzyROlrJk1PRNYceIEUWHBQzmT13lQPVhPGXT19oIJpLwwzF9DmVbUj", "dcc2ba972c502f758bddcb325183ce8449b43719"],
["Y5y24HUsOZFdMFY871kF40mHN2Bdy8Cez4o6M7zojvu2lNJpGcHeN5DrNlr0TJF8v5TjiYUenUcvqdjyeVE86QAvWvIvJcRrJ0mkDw0hNX1VCyOeXJu2l70CbNKdNnTz19ESV0ggJCvvi6GeL86i41EIIy3H186VGg2HIrCNQU0iBXD6SOWytV", "35bfd61bc48231797c9e52013ca1ffb429aa7673"],
["k9G8udssRJpRIjTZ4rWj18pmBqwYWsoGip1IdD4IeGwn22oTGjzr8ubSSRsj6xgcoPPcr7uYOCggxql2RkindyzBeRlLoueTFgavRRLLBeGTY0Nv32zI6XlrFErE1lhwosR2bxGeFO5s2RoQpI6ThUA6qCe03USVDqBJNhBSjd6Ci9aFG1p3snL", "3b36cd549e68054b1f03496fb540520b033be227"],
["du9Y5stGEbch34OjOEywFSIeYJVb3u8SSi8BHJZgHMs4CYW84kYyfKwCFmeoeIOYFQDKMsIC8bYITx0zkGtOt7NPvDuLO0zYihO3dHdkLFK9wI7Wv6Br5nsM5uSWJQdy5DYGKUtJ8XKCE5O6E1KvZYL3SAOPq4s4JRcVDUFUI6H1bI84UzOD7Y98", "b68fdf004bd487cc1fcdffa5998f50e0091b44ed"],
["WH2Pfc8nzbZmItyFhTm2fRvGuaINqYnHLyo0cHt351pe0YNUb74ROURlUWtG0G9jIaNqmi4LPhecC1kOFlfIaDY2NbzuQiWaSMVBMOc745Q2BgyEdjGFrOZVXPQDgRP5h7BPd1D8r19992hGSgUJCvtdH2XvdREq72apXS4VDEz9FhBpH4XA3DROD", "224a9b020686ff42a40e78e592d6f62e754a2036"],
["tCJLJ31lcMYXmTfZ0Evga7S4WtSoCNHmeffzdHSbIg51gBTPmucHWw8JLb0JX1UZ69MEbhi2VayYkEYP8Y86zG1m6Zk7IQjK42zh6lnNqGVkEAVlNXtnmPyNlToErqyv4VqnCEQVaBG1ZB7JBnNn8KI4J6VToEybQ5uYIfIKoBNuO625MUanRqqw4v", "aeee885c1b7cbbb9cd7ce97b0ec7679aa1ed236a"],
["30kiuScbAwDxt4NsRCNZdUqtd8hpVB7MxurfgRRAoyWEuBMekTu1nART7bWpOm5f6APyA7cIjbdbILtIZWSyajx7g5vz30JtXiCtny5RzcKPyaz6ZRSIH7GaXLFXsobxxqxOcMnn4AsJoC0VP7fwxKFR0yfEVh5QrhjaeLnyL9vDbSpir9YOuzAKNvm", "3b4d7b6b7a25ee22131d2757eeef9340349a8a6a"],
["1iMKu6xeMruCLrdEMocUTJPJCNtqTEcwQ4lLNOTxlB6L8soyx1RmwF0OAGgGRDTWa42rlR2aMj8PFDyi9L2U6RvtmevQ4IYODYCvQVtQMwmEoVYU96BQxrYG2gj4dkO0uF1WawAzsNuvoZUwf6BwQmgLcZYKzmYk7n8l5UIxbBFcbk54TcmtXIBGOyZO", "efac3ea10368291727a510f5af5282910a7a177b"],
["UF75uJrpCGCQxUvwLS3uS3aq8A6K19fDzWqHmLySMTmq7d77E6OBhzUEFyOLYyr4nMTsIkWrwYPc1IkLQJHXs06PLNcs1NOTQrgsWPCbwxjp5nhX3YHVmIPDoskJgJ9VrfoJEtfMNopFIz8TyPshvYldfgaVUMQHYiWuzEwWDjY07mm0CfrYbSaDIVR6l", "8f453da94186656db1ae7f5a511bebcac109523d"],
["BmkZlJquyurrV1AS8P8XeuW9rIA4aNH89dfvlPWEinrXn093ZUZuJIb88cwT6Zm12WaytaVPUzVZji0OS0fQVFghb4ot58KoWiG7npjFxbu7NLN2Hg0Q6zPs1qG45e5fiyGo1AFjUhVJ67N52w18daLTsBIQZaIu2ML20QiOdyTV0Tctf7g4Jrzzt3NfRh", "82d2621b0ccea80254f251a9e38848b3df47aa2d"],
["PQwPX4msHtj4lCh16N8U9IgitRkX4wUQ9ooMcX985WIfFO8IBvQfShB7Dy1K9JPT6854KSv5NNyoMlatzOLho2Opa8zAPAdvzK3eC2rz7wMqNYQEPMPVdGX0gjsvjQtwjrBfzOPR5DNW4CdpJs7798ztjuhgAQvqOOy265cDLZbFzZQLpb6TWJMKjGcQLyd", "af51c58665c1ffd0a59a39e48d243fdad25f1a08"],
["81Aleo683x0NHmzZDJwdBKxUVP3x7OR2VkTssEGwyQ6A6JsCcSkzgSSucNhqljSeHVIOetXK2ynbEYwoW10gPtguDxFgtJbvc1lcHRdKNue7qzrKF5Ztplla8KPFf7lNLG3IXUCdEOSjorQEQBybXbno46mX4NoqSCxPgos3Ut5hSdaLE17z8gZwH55xg6YY", "9f8ad62a3c3d0f20b7a93cc6e150b69bacb9f895"],
["sqV3nni1IeOUzlJNOWATNLbkUyVuZ4UIzv4pyzDUj04dQsErIIZbjEEP1jiLN3nrHMaNINHcJRnr8oACBsbLoQ0fbbm6LqMZyN4w47glzM2DwfsaPovQvkjPxAq1zPeswBR25wksCweFtv2eAIKXfN4CCGBYL6VGbUzG8IcO7ej6BqdtBiSAY4ZuIJxxVssag", "c9b46500825d7422edd9f1466e0663d10a919f98"],
["Dye4AoBedr2rTDj3XgEQt97MkxWknnnfv5TEoXQqgWpGMKmETZl3v6kO5DHSe0vNybdY3ypRjbqEWebrzmSRViItQqR2BAi0BoGkod4pz2gDmIUFxuAuva18ysXKjyEK1IwrLQm4SNQC1zTRwW02spDdxz9QrjmBMGvVojJTp3zSN2tdw7EFpMqH03cG0wUH09", "c03df81c3c4f5bbe0b5a427e64a6a4b877044cb3"],
["UH3KZe4hU8pUt1rwJ98jmKiNMBm00tCvuCDPd2ANsUGaYtnRE01t5jj3jXk7rnTl9uNxZKDMDeob1lFDQIg1WWDhv4S80PNpfUriunzqTMJaLmX6SQjEuP9CdzAdr5G7FpoRIkgN5Vrok4XjsPzm5GSIML0gLc85TMLce7C0T9s2mPDdFNWLM6XSNILJ5dWvdBE", "607b52a485e81c6ee97c4f02c8c1b8fd7a27d08f"],
["cISfhV8LL1p122pre2Qgg2nSrF37czpqlz842EscmJzCZyQt2KQuwxl867fKoQ9QwUOdujA5vsSpH0ABo4n4eztwfpWAGLk2Y4VTYwxFDLi5f0Ly3fvuUN3BaUiHcqwTVtsRrDvIy5J7lKxwCOJjYHn5L4kEgGQj8xuvbEVqOqGa5wHFHM2d8s0dsy9zlrecL7by", "6f3e27b662d9a3c6d3736ede00ac1ed7c28d1670"],
["CDGpqTYAds74fj3Iy8smqrqqB044pagiQDRlUcpiF53Yoz2hf6n5iZ5CdXTkfqP9k2e1SUvECKDEDS2E2IHUAwgxlEMXKRVlYutPvjNJjjjILtNvzRDv3cyGiaco7LHTaXmNZNVBVxhYMuRI3kP1Kfa4H350PE7z55qsACiUvOWjy3mexay5ulmWm586kfQrkXRdI", "57aa54a5087cd520c95221c74066a5dd7b39003a"],
["lDVWHaAartXJRddzG3AQBBgAPNQSUwPjK375bnPJHLTiudwuYZ1Q6OVZhXCj2Bn8BBsMQD27gDlpAVyH6WNv27lB54DjvqgXUirHWSSuSK4fRahon5gyJrML67D2cF3smfaVdt50jSgRqeChQ0lCJQ6JuMEPqL0uBRlkxAZ3iCleLAp8fex2ajlyMwWRQCRFsFT4gO", "e6e760e8418ff59003fd3896dfc66c331b609045"],
["As2mj0gaQ3i00FE3kD2svRnAruEUSWIu3oPMuRUEGVvFITw1I9RnZEKEjyDQig2psvEcrAQSWJkcOzhakaSerjOvPEzvnDYB4bMBzBuGL42zQTRnUOlFLQs7bdQd8dT9gpbO2fgJaic0DvZy3ojWCAEYg5Xdp9ReEPo5j4VLlhR1qnR8AfQSK7tdX3thWn1dWizsnP9", "4d338ece9b65ba852e0704568764d96fd8b6b558"],
["0tBJxopN5VcuEerreAjWjuHmITvH24kIFqEl5QkZF7XPYszfoXXu1aYivE5SW6wWKCAuyi9MVWE9PRASwZbuJdsDh5uCdGPuC6cvxHV9CCSEk1K6Y5HU7KsxLrL3kzDLDW5E2LadeMQp3egwTJo31QTblM32foSuBTVMjPGZHOzLmJRWPOkShDuxhAJZEHujlVotC91s", "f6ac76ee3ce28bdc5e4b4003c115b88259ee1a34"],
["Tnq3QiImyWf5CeT86SUfiS7VtaaWvlrPzrX1vnLm3QRQTK0XXLGmQtGthSfQFXMYkSjqGkoc9CypFevUnNVT7OdW2aa7JksAe68mlt6rc9FvGL3992kxJFW17M3GX1FA8mJeLEwViupVRSLUrypxeqrXAx1xq1gbNtnsPHdAsR4TC4eV0bSaBmZz3qIhjRX0xFg8te5NJ", "fb4d776e9fe3739705a14323fff465b1f2021d99"],
["TNc8qmCEbtWXheV4qohtC9qXe9fo5NknDS4p9TpU1vzrpirHDYp3ANpJFHywg8IpSeRe4kkFf7aEQVGwZjvlfD0uxJ00m2alpde5GPylD2srcqgiAOn2sTKzqevtSCQrZ38601jO32SUcNYybv6Y0QptvoeaJI1gr8tgRWZ6JpLZIO4cUvIh9lcehktfOFw0dqAmmPUBSG", "f887f5c412c8b6a31438c34bd1c66bd48614b42e"],
["kyY8QyqMZaPb5OuYxGy5sEw3toKr1ZrvOapzZvQJe2esGX7Dbjxfm53F7ibJBPHx5neSHNULG3dyImvZtAdn6lTapkDFAnVO4BaALB55KgOKC7mSJGlLo9gBZulR9lgyJGTMYXA8obyltDz3xw3R97oKJT88OIMNDBIrvR6XiYpYwcnQNqg6MJhOvbR6eERhJp5iAQy6EHJ", "606998f337f91871398f46da8e0a0f61606ec005"],
["3123mkHfRFEVdIVoF5ZQZK55c9nVD64Q394zzrFHNGfHgZpSQAL5hUzGTJrh9UTcDW3Yb1NXoMCHsRDOcyyKAisyLcbqifietURqbYNKCbiA93Gkx3pCqbzZATK2aq5JaZhgPxdFHoVyKibCx4Hwf9FmmCPT6TJ20uO0UgtKo7a3gpHj1Bpdx0KoOWPYg2DNpHAqg7PPIC41", "aee340d2a4d4bd2dd6ebeb21f39a288130a17f6c"],
["4WnGo4iVMzDF2jWwvtxiru4670KialIEc1miYQ1bZ5g6qvrApl2Grkr5rkCVroYCp4gGc1VhGRRIZZbos8U0PQOoU19lT5UpHiwUaWPPvRLKuAAxEvtRwkrBIFfMrkX631nOl3BR72NuWVBMRW2AOZ0fiMdMGanYNccYa9N6dahOh477gW2LdHCNU79tNwD7jDGnucZl8Lnhl", "fafc51fcb4c1106ddcaf05fadb6f9f8fbbd0b7ed"],
["px4QQfcXj6ySpefbCAECsLG7tOKqHwRuBVqWtJOihuePOEjSDPiAQR4XsrjJKuaB0hs4uNysS9VjUmIZ3vYSfT9PFdeOiywy8qtq2LsafEfoUIEzpjoZbSqr2XGtM5lptSElpQxKy90BaFL2jUf3VycEiNPANPiCl0QAcqmb0zmc4qASEK1IXFXOBvUxZ0knJKolhZEuV4lI7S", "ef5f672952b237482f2abd74883185d53f4783c0"],
["8Q7UjgahX5AS7ETFJZf5kuVzLL0Jbb5WBHcUpP7ZGt8Qr47DN6OeAeWR19MRzeIaWh6YVWGngaTAkEf8dbFsSLpgTE4MCgXKZ7mHaFcOYuFZAY9FDiU7I6J2FS0EXlqjP2cHNh4CdCwJbhi73l0D9npSpZEU6E2QcwvszUVoQnXLQjX8nJn6hWrKFqtjG1xIDr3ysmlhWCsZ6yY", "01670e0ee1babfb595d3a27366e0880295c08b98"],
["pt5SIwbNRhhk8Mu5n13qK0JqTsr3WNF2joRR4jxtTFoNuXTPGOKX4etFXfmgjzRRPhsZEEedOWwvv3pbPamL3YOB6Lrjoc3InhbBGBzt7koFPnGgP6h5CqzQV6x7kZeuq8GnOsqGKkgoA6eX2SSXuVjtOyagdox3G5mn1K7xnKFW8bCny13NelZ26csRkyRy8qDV1SiFsa9lR8fc", "393cddac709ea38afe155afd8a7b1a2f6a31fde1"],
["sYYda2wPzfFPD2w3lxcv1zzI67faejqTjGVYUn25Qy2CL0rCTrGGjLByXOzsbCg7ZfmyxdhHgH5Gc4IhtX3LQdGhAZZmmxfvzX1mXYkNs1cGd43PUg2Tx7sDmj04mtqAUpFzzElycKQ92FaDG3NnuS7ww7p4ncDqtCkF4ZpA98OAUE5zcbkLLcsn9iXdguicNajJw0haFbz2eBZ4n", "fa3df97e3220b108657a25ea71c4c4c2dd5fe0e9"],
["ewuAaZwUMaj8Ivbxe5HqnvMfUvKOhcLVgiZNtZbrOBZqbfEZyuDMQ3i8kGN1WxiwBcFCJIiQre6R80MkIRX7rXncW161grbP3CmWf02cj7Q9GoipaMLXOjuVZIgjUYzyTWWias2oolzReNGXdrp1xd9BZeyHe7uwuocwkjUmNUTDNCPhdFzusjfQNsdcflwFh4FW4c9FWlZeb4LXwu", "9730110e1da06c82c2ca0d474107483b909b7ab8"],
["MdiL0pWr4X6N1dfcYR4UEOZTPjnd1P7Fq4jD27WId6nDvdQovX31FfmGwPIpn8YUsOOecsjbfv9T0LCiNpMjB8LPlk3UWpU7IcJsuzODJ1c2CHSbqxT50yL2oItlOR8hIkQ6VxZHCxhNrzEf43FSVgp7fs3d2dFDPJmmhJF2DHeNbr1EY4xBxDEAGZkLk71QFP6JlHVxmRQL3RbxOVw", "3a7523b6b6df05a024543dada5969679a7c3e796"],
["uIB0h2CebWFiYdZy6HAIzsSALOaUM5bwdj5cUhvuuqCOEUdcP3saDsz1uIKrhXiRVQBUOTooV4uosoTMwoN4G4TzgK8ce9FOKuZgzcpwGgQML5T3KlYHWDcvspICRxshklWolRfcLpTjG6sKV4WdfVyKKxwtoLB2QIzddBnNw0oO4MG7JBhHlVXjl5h5GiCYsVuONbEvfPqeGWvCsCZl", "3e848c68b24b17cc390336ab39c7b2816e8ea70e"],
["xs02bfRXfWpBI8g1pTemOWmyFmURuLcPJlMxQMzCvEQrw0AZ0fKRs4P0U8DFadB02P5QyR0IziRC9phQZ4dcZ3yzkBhARNkQxf5RzXowMr2DpG3copI1099cfuKZ69RXmB8Oa8P2vIG65Q6K1rWyHiaAn5ZGyIDVeisiSFRH2ORolMvrm4wQP1VhfwSTKHBpK6k9XnYOMGaDcjcwyOgWA", "038e8a45738510a16b9a2ca52cb60836fd23cb36"],
["IWacONh5TUaf9BVRG9MFCxkOWwoznu0sDNZDhXduzu8SLVshsSb7T1JHuc4GR6QhQnL8lw6zuqHwv1FPWoluiwyX3tD76dOtJPFEyNrCCHNvya2mMsntbjY9NRCS7d6beuxvWdlvxl1to4TeVeeB05wmZAbKzZqGcAqOpgGn0rbRt0JaHzKQCzxI2wNX2OXwelRxmhsdlnb0ysSyGy3DRT", "0e19ee5663c08461fa3b59c78ad6714dd7ce54ed"],
["Ds9WyWRhD8TCwPZN6qoTIbUywpili0loIMWp32Cy17wcAPud931OwyFtlWQzohTYG0PReai3PFn6t0IW0ywiCmt0DqQcqbALfL6Ybl8B7jQn0CeUbMsAvIr90gvzarJho09Vl7IRibRCY5S0XJxiyPRqBzr9u2NZeGhQZ7raeiDde3E0Yct8bgZ2gycZxlUi8OhUOR8JPvKVV0U6G7A4iGm", "b38ff69201615aedae594495d254a7e04f5b6964"],
["rEJiOGPbOc7vMXmASgGTdoOMHasRORnJVLzuwNoTEM2qjrcVUUTOAfWQaXCRjATTZfgEL6UHQawM97DcEI6w7HxrXkqOEMxpeVdm98c6rsBSejm9trUs0w437GlXPQuueD3m6YLWRyIFS9eV7FeUBJ5aEYo7uRhtTIGwMCA3fg3GUHpXgxzpb4oSgRHu19qrhsYB6pXakLsQjzYzRQSHoGDG", "27d303045cba8a7ea30d760bce8697e59e02db36"],
["yiackFLREPuus0z22hwhrQA74w4wcWo47YWWgkJbZgii6gMKgGr31O2ZK8OhzQNcYbk5TF5hgze0Qnu6ySu1eeLwFpKf0qNZeOK3ovab00J7CSFRQY47Ze3B1UtOSQzGn5c7pKVER4DP6YzOaRXJGvw61Lp3fZSUbwcA3mDKWfxmQQ8V5qHGRRax2s5PMY8KcHHl7ifoPtykGmXvOKdJJOxye", "e4bebc32202c2ade75ea71a727f0514c5605a854"],
["7lfMNSvm3wbTcVUnewHHOByoPK3gFVYugUGv3mfqNG2RJjAkvDSCKceoXPHjQO3OfHRChfTdhMCic39CruXe3T4qguoc49oEzAOAwcc8IiOFtzYBffOlkmdzUJCCs5zwAbas7HF7cCRyjfJhbbbkNqJV2U4kPvXuxPJv3EaWk3iz6rP2KZUiiofneHrEmftSQFPg5pdarpl5Kt2LY0EqMgTyrE", "56c0104dc17c17252df84d84a08fa55c690e9d8e"],
["mj9JWqjo8G8q2OGr4TR8JFTCyp0xpclDwBbMVUxNN5BX5ynicGyvL3DeV3HicXicYM8mMlncVm7Ai6KNOguf2rvSaSKHV0OzPvkuuafhdtKqjwD4GwoTSdEO2sJGv0K9vDEsDfiJO7g1OO2ULnschQ67k842BFxrgj8alQLM5EVAvVCk0pgI0Z0H7qEIldC0wKrXUbBwvi4BscGAycMOBOUWUQ3", "eea6451baa5f765d34725e730d84aa171acd867f"],
["oVJzDSz3odEZ0yePlw6amZivyowBqDodnKHP9DdJzxGw5rhkowxZMFHcHrmarMNLyCbLL3dmiRfA1b2CiNVfyj85BiVM32toThBQ0VtUM9fPTQnCT04a3WQiUkyiw9Z3b2SZlc7pkqLMXvzA9uAjDE5RqmVOA9Ff0MdKQBws0r5zRHmi3nCEGU3dyn1JGSzIwiOwBPkSrz6wY2NGxm0LfUqZINkQ", "62a2d84fef87b82d0ee0d715459c0670ffd41f7b"],
["YOmsh9zGzUjiQeyfmWmqwGocGDQTVD0XQrc4oFOpJfJlDoaiAv8HH6hd0hdyw1aUkET5AtOqO5ys4FPvRZJFPR7eij4HfSaQENvhggH271WFOt9FrOaPVQdMrNiZcmzRvAGl9qxMsahfwFuu8tk58nZ3LSfWpOsI32gFQsq4UOxHzNosCT0BgQur1FbHkpHze9JPs1LRHVbVHEqL8G5y6d0thhFeR", "a2fff4c15e96de6bc0586c3fc5f7bff4059856fc"],
["yHOTTYS0kNqpHMGlGJiAJl5rWzaS3DQIeULsIZ49j6JWWC7ObbCwU8WPuLiTDuW1ubn2AsJplWpepmNEQ483owMc13B8lIFjLcvAtx9J5UUp4dqRk8AdV1vhTZEv4i0zWFu2memXwDlx4S0kDIlPpL4589f2Rgmhp8KpiOIc0GDsD7xQCuZyWIocuyD5BGdM9YWY3d1f9vLMVgba4jZNiFLnLTXK9B", "11bffef0d3cfe6120fb9ad9e2341af4985bb4eef"],
["VS07OuDsgtzTDNntaFN4hOkmQ4spXa4H5WqaaFGZIY61OeBnYhcrp2wjpPDDkLNtReUPpMOr71PA6bTecM6GwWXKsObRJ6j9cMsOH61PyOlgT5djDxOMVmQN1SiayROY0ftvWHha9BVHBwZBdrVDOtGBPhaBlHIBVVRhxh9JewyDUJnVTUtQSnQ2x4e43HyWNWdSrBmok8jlU7T0xTjFKWHKpZ6RQoU", "f5660ac8eea81ebf5d406ca2d0ba72f3ff18e1b9"],
["Wb934EHNh1P9vITT6fbmcXWFFA42pTXu5mgPG0NRJQCGikMUJDrQpdt5HBJY1DUxA13smIb49DszUBI6x3yJi2lVYpM0zWqqXz3PQzpzFzi9l0CPUIuOutCeHp5Bm0nVse9K3CtNjoNIzjTyH4jFDFylFC0SmYtnh7aiqjB2V8BWMqOPbpVcN6Ft2cMqhSnvWg1YWxMR61v5oSWwU69Jtt1Jia828ZQF", "01782fdbfcf9cd307d0d8aa33d5845d7de58a21e"],
["rcPclopZPVOXoq5AqfRTJhWr7X21NsMgw5ymM4AkjaejKleZw5R1yeoT3eM3p6sxxHyL9OOqnV9jDoddwuAZnWQTyE48G7hSpgsVAk1VhfUohbeNUIOjkW3xLytjroU1phyyTktzWdOe21kpEp9wSorWyZHieyeZ7fzCENfPrwAPPiV4TQtmUzyxvhlyxlONQL1bUmCPb5pDd0AsGfB15qWbMmxKNHTgo", "b6475629c8b41ea73e3a416f65b69c077c994016"],
["Ha74CvqQYdKFwtI9RSXkyYZkvVW045Ikh9iTZGhzLWZxfGRSeqeeTDLVqkoHx6Q51stJprjRmwXzNC5HaQnI3PLcCKihTaM4tvqUVGvqsuk0IuUVXA8rCTSLMHLODJEwDKbnxx05eFYchGM3eOnFv8z1nQSEvAAj7kPJfz9xW1DApxIT8fbGqR7VF3oCXkJH1XoL9oX6MH2OUmhf7qc0pcCjdfQ4kmthI6", "a3c0fce2b07aaf9954c42c18a8eb384aac18c2e8"],
["VAid1nElmaKvHH5t9juo5zWIgQ2BPDlJAWUfgWDefM2zLYurDHYIFPNH9RlzjfQwKKEa0AkYicN9pAVc4KX24mR8zKiqhNprB6Dm6Ij21RUxARvbJ9ohQ948TA55xDUQBhWyzKFsphqaCuDc8GhEJeGYBV3hhzZwbFE999p44GvZNak4M3tDhvpJOp5YHu2iEIolm9hNl5u8BoRaeSTEE6jTkhaa8wgnzgO", "eec000a837a24f6e642286648866ea6ce4e6de83"],
["KUlnlSRa5CznfvYIDMEzhJx18BsxVdEzd4Mxlea3eJY1KY6yRM1hbCJ5hx8KjXUsSOEA7KVmxCrZpw9alPMmShmhYjVFcxvkPyghjWivc3poVyVJ4ER3MIpQhShXWrkvipYt1wk9XPWa8Me0uSZvPp29k5nXKbYMeCBhmsoWMfQrYZgaDoxmudyNBOno9MEup86qEwFGflLdpHIDC7o5LmvSiT3herXURKp0", "9da7e77b1e20828d80be7f3d2a66937b90d4a5a2"],
["YdCX8VWO6kGq5F9ON4B5Kcilx1DdKMLVeXH3OPqHot27HC1UzgYIMpokUKI0SEWdNIYZ0SxMz6jP2Mozv7SofFOIUOHwkOB2O9Be65q4cM7ssPPFCUS9XkktDcRnmoSmNvcqETjFFE9ZPqv9BL5Dr9GOb6wsnC3qOcO1092qFVVmVM6inmRdmu7xmeACpOxqyAjtJsOph9Chr6Y1aL8FTzVNH61nKT2dfTIzz", "01057da5a9b6b2b7ff7f2048d829cc1a50d8cd94"],
["0ed8Tve4iERfCxyCkFCVcOtu1QOtzhPBSKfA3otyp9uMxRwhxRjywPjzyXqyg8wQ3cwzpwiJXKxq5pQpe1PVfBYeaXoj7r6UpM2Q2lIqucgSePkHIc0v7lE2de0eaUcvR1y44zcGFbf5OTuTnYpPVjGKgEP5CT64DpshywRvympaEKICxukNFJFfPXLih0eogC3I45WJ2aVo4RvRCgpjhuFZijw1SzoXFWckze", "3b97c88fc9b6df3d974f851840b1c560f6f1d822"],
["pXBi7sxWU4waLB09eb25Gal3mfaAIpNMOidK8OLTn7lGKaxwbH16e3a5QaHK76IePAr6uVZeM1NMEhPb6y74uzne6YrUoHjuuIcV42HOO15sleHLMC2OjOiODoUjWcPWRHXykpfNYKmJ20VxP7DEtteEA5sGisTovngmQ7HOO5BFI6ez3Hf7XK7ye8gC2swqCJbTsuBQCs94SJFvEYdCVZKHA8OdBdY6kQ96sGn", "87c2a33a85216f56e9ece3202a9af35c080ffeb6"],
["ZMK7MHJkUXMzlcNtXRmhFK3t3nBlsv2CfY8xZFkq6gFbPkz83emxoaf4NKGrMAQSBi4f8tQr8fWfH5GBYa5UCnund8ikQQkQVVnRRKv9KP8SDORVmOthvAPIfUpBb4KGim63d0VUvlXlwdaSfmi8cT02d0lJK3n6XaRxYZyXNnzXsoNtIsnDmKMg0TZf3jLcM4gOeJ5NRR4fVEMVB6P8DvvjPEL9ocl2AjPJHi30", "f2942d996541f591e6f8b2468158825d7db4a6e0"],
["38HJPMSxBxje4hdBHNBmFfPtmwM043k0ni6yVlNQO2eFQY7Htd1uLvvhIFrVSP3ToJdBhBBcY4CK8qUpwZ7RsskUxVWB9XFzosICKZqULKVvyWVE8Dvy7kfXvd0KloKwRdaHJsu9DINOZ25tdGkquEdJa6tJEm1DcUZkyroEXWb6Li9z5pChGDue5syN6rATTPmg0tBAlQjyzK754ZkzTTTLCIM9VOjnQIxcQ4Qt1", "3022817233002b727122c220a1a4c02e31d97b4b"],
["aPfU4zts2PLlIykNUTHRaxnj2HZGPjHoidoWANE4VLrDu4VOdCR3oQMZson9CZbJWdTFttskU5rpPJiIVpUtBpc7p5PWpYPZRZ1JOL4gB5jaxTFYIt0LcdXqKQGcK8GYBzHgniNhyGC0vKLzFozPN32qPbR36ws1TstVngF3xsKPDI1z50B77Fn09jcgKGzexl8SxBDTF6h2tbQhkfaPl63DRNCd666svspwYkKPd9", "b9681702a9e90e65d408ab1359dc077879b3171b"],
["0d7vnGzWjM0unguzrGW7AWWLxwYM5N3wUVzZ46FJoehsQwgXRttzAEEvIE4YCCCoUKqNAyWEw4bBNn0rPAKL82Y6dV8xfhEt7BdXmpP6V14nyALeOCZl5WxEkME3yAD5wJSoVu0ltvfaG8V68jEmUMd7dJJYUySTTw7kk5BEDcVv9dqd2NQ6xbRijwNG78aWXVzvWwzdQikrLsE04355o8aqwTfnt8eHLEJBN1y5pcR", "4629d40409a47f2fdf93fa20c200b6f1409fd749"],
["BscCwAKZU8EzB9WHOXYi6ZGhVBQSLNNDbvo2WL9dDdvU3mPUu3ju8CU95FbITJ8GJ2kEMCjlgOoP0OYfXpZgagMPOH5nv8Kl1eCz2KG5xwU5N3GY1vcEcBgzIuMh6FxR6OzEEQqXJA7N9byqbwdH75JPf1vs5ZqLMMjLfwn9aRGURnKczzZTyOf6r1MHinOf0Qx7GkHExu8Ae7qce4mE5WzmmBhgrMXSfKjND9ZNJreg", "d846aabed17c1c1f18f57b83efea18ae41dfc436"],
["cIDsIRIgZZFaGVXTr79FjFf17ADDc5dcnXdfwJ7NkeyCSKlHqB5HF9v21purF0ZJsWNIDbGw6B74Iz5czILckHOvjbddquMfbujajjkceDn22q2xKxq4x6NCOSacgZxRkPIzyiKPPNFRm4MRIwKnfyo4kVVMUhgYjK3dXTCzUsoohRFmFuKRzBV224AMSicifyufAIuX8KfgFCZMlgvjWvzlfdnbYW9D7grey1P1quJCB", "23f6bf4894abe9f6006f5fd73c4f8ce0ba12070f"],
["0ADRmCxwkxjgqBgejp4MjdrITJVEAUyGhgQTJWSApaOj8N6vuapO5JzLSzNKINCQ5wCkSQTcFM1SdPzfeu31fKLRxdV32zA4iBIKl7Sfr7U9TvRaQIqam6tZr1xsOnrfRSj9O7H6UZAGrNlrM78nAkcowADyoKn16rrJu8dwVLqA3xRo0Ji5UkcQL5cBavsXPA9cPHChsFZOGyQB8JGEqk0YwdERuX27MyQMRfp3LhpVZs", "3df26858e5543945b60c15ad5d1f941112afbf45"],
["mNnEWJYFFdsilWDiMEbrJzANMStqjpL85M0tRV7CHWxQ3rf9H0d3CVSkx01RVCMVKZGzy6TpG7wvGNsENxceAMiOCxsuEgU8XTg8G83y7QuFxSmCVPBiVInTuLxDeUICBeKQYH8M3GsM1aX4B5HpIuyOTPW1688fHAjFqc2yYZWn8ZqfQK2yaLjBeWy4tjCh0u7EZMrsvEZdvpDnlonE6dAzUsdxvs78HcTGtFbvj6L3HUu", "70862f3403efa9c87faae9c87cb3dc3a4b94e6f9"],
["Pq275Kyzt04DnkEnFtgvOoNbAGH7vVHXtiIy47CKHllR4kY14aY24hjsRh0KOk8kWg6btvugGoiuswmYlswHuF0EWGONU7cPdOCmGayljbOFsjoP6L9p718YNoCIKtKN0B5JDBwfZnpFM6GCs8VGpsJTEt412K50jQAxHOWAU8lQTY97hVctTjfpPVoS47yhMv04nUe9nOiGDT07InekTGPz7Or1gLkFPDn25z3HBsBL6P4o", "c94cbf89fdcfeeaff945f741892f0b58a1692d0e"],
["jEztrKOR3le3WNGELknkrqdtSfkHn7C71NLqdjVwsDT0SYVF2DBbagisGbkYdigK02xNBnUEESwb5zI9H3iUJypcR3WupXYbJeMZNGqVJVfdD2f6Ya8rj15rd61nMIGnsd3K6Yv1O5QKRJmh9Nwoe9onwEv1YNy8Nj6mvRaBjFZchvpZMNSATMFsFuD4UCBmUS1iBehDvW2YlXqmYETrk97VWngOwA0OHAdgggduDLJOZHTVG", "bf2cf6d59627aa4962a600ab2f28212abbc30b01"],
["S8gBIcTlevUcTvOpbpnIeKEQTX84GbXeGNnDDktlEZzpPwji1d1I8WWQvTVDpoezBGF0QYZeNREeFG07ACR2Sr2vXIgrexezlS5OjVJDeEwu0R3AcbbucxLXi1WoY8xJrS5y2xpc5c2B5E8E8ewSQynWSy7ALqo82f4XR3IUUqIoX2UE0XN3EQci7Qug9iFgePoAxmemmSASNgMnQz7xCgHsuWJr08LN8FUYgwwdvqN9IJ91dF", "2e42969acb829d988dc2c1f7647dedaae78ca46c"],
["wvsDaBgJ5ASHh9HIKSK4TcTBbDyG8Utq7kh1UqC73UIHTaQRolfjW4JtM3me4dZw5UTaQUsEyEVAvpSRhmPur52RBPEZijTakPUXnAvu9QpjToWMPMXo9PzajRddSOleF3zVNYhivOConimDNvGxfY04KSPBU93EULshHlTCBDEPi67ZAFbHC92cofpHjeb7gXL7q3qkKdRr8ytRn53hKY8dtsusNGUKnaYkNDEi4aRP8uNdSfT", "686b646099bd6c497097f2cdcd70ab09e9898fac"],
["MDWClvD4gpfNhNaq0bTiTaWV5NRe9jGDbXtRXLnQ74MpXt0lwjTMuavnlwUQRr1hpufSetMA74m65VUSfSILmku3Gps73EaKGUjtAAfyapPr3tPJzwxaYfxdtSjaAgxm1fft0vfZHCIncI1Jonx0UAheXJGr3UawlKBb82hPyvXcxL68fLMRXwsuJhZ4Rh3lnFn4EaSibKxiFbTt6oTmkldM2J0jwWH49UkLpTn7AMf1XRIGG4rc", "7554032328ac70a0e391a29def1d90a2978f7e3a"],
["knfHxGhrplbo9apIITGNkRFrh2PQSYLJUtUDClrUW11mafuUNbvpjnMDq26QM7HiT3afGZpDPDANFdCfjFPAEhecCLq2mIFD4Hx7qd6XqK8QBMoUwiMDvW2EdTPaqAnBRgD1XhhfjJODeeN8lV2sA7nL4kGKBulexACKMXkQQy9a2jnQ4h9vtxPeet8KG1dgznLWXW2yECZ2MbdMhWs55Fuiklk2PzN3kukZMQOaeMFnieoTE1X8b", "15dd7c6bd4f055029c376fd6e2a61f43870a7437"],
["Ur3r1SE8xdZ8ZJkaADNAmbcEjSRm6Nyg89qsARkF2ZZ7oRk9dhK7HiBYL2DTbmaXSM6WuXT4CkW7PKGXbmBs6j2A3hMA0WvXqQDgvxjqMmjJA4lkZ1Enlxd2CnWaQDcxx0X1XeP3QAGaHRTtyU19VANa5DujqYuETtegw0J0I8V4dr7UrkdPGKtOhEEIwgAq1FpoUuQirYRijlUJ9tFg1r0wjE8mpbonIr0IUITomacEDUvbnvL781", "31f068232e729de0de0c469d75a28be886be6a2e"],
["U1e8N8NmLqEZxdWQFP8WS7laKF32S26IvKS3FWM7MiTH1JEruWF1tBt6YMXtR8hYczcjvKVSkvvY2vpG8XbnJYOwcZwFVP8ppDyhfmDDEsuK35Lhn5eBvKEx4TQc6iRO7RQoIqwIUZ0190PqpL2JIMeWMz6BBEf9Z13EpsuRGm41iXEcoh8kzOHs7kJSsSnLpfuJwpdAfarFuUrKNx9rDGD3jtDiR4zIC06TPiDp26rrtGcXZErz135", "3f1703a2ad6f1204638c9bc7bd3285e5bbaea1cd"],
["5TrOUlGcGIhC9HWBUUgzpRcaTQB0fxLAMBM27wex0afOseF7XDtvDZIBNMoL88VBbmAfLhdV1a0wkLrEM0K03yE9KxNijzqF6qXKspaiaWOE4BCBKYbfzGrNm5dSDR31MeIyQTG3jXSUjB5Mqt5AO0xhcSn0HIqVgduw6XG5AHOkzToBARDer6W6uya8NeNrvP6BQQcbG2ZlSW6nInbfqlIDjhUU30QrLTHbrfSAvIlTOqxKU7aIm3h2", "8f05db811aed81752c38db96ce7ee348ffaf4eca"],
["EbYPTtZ2fUs1Z16jTR01K7ad6r1mVfKG6vYQwWIrC51UXVn9e0pQSfeHFXO37PxiONL5q84jqOQCdMehIF0rsvrPAGQkP7uG2Ihfjy9D1YSkfvui9S2liYHU7QxjBGmIyVut5bsBPxKaIuaiPYtMl2Ww2Q00qhu6IrochSw62LMFAza0iWPlNYSfK35NJMPGe4RoHZKaBemDt0q6GI7AVxfPN7iLTE3fX88YwMkdpgZ4BV1CvB0ghvbXu", "b3e5d7ccbd4acc095428f8b321097d69f37cfd93"],
["ePpsJCWP4wTgfPudb4J44fZvHgWmtLfub9ImyX5Lzltkt1jDmgwfguHl2o20cHyh8bRpkKqqyMe55T4pMQawfEEAqCzlHmZvlgLBOJdwUAsSkbmjwQrzKwxYAfunPeRpAA9c3FDcFyrBN7wTms4uXEiVxMF7b2HHpr1ys2Ap47cuhzvWVqdMWXggPcnqjbxhpzWQQYZ4rF0okgiW9qbd3Fduk5TJGtrd2dfuRJzJurtq0SPVxxVXz5jjJg", "6e926085203e71ebde6a126fe36ec7d6f64b5428"],
["lMyjyEQYP91FkJIdkmPMmxvtmjtznScDeLTTsyf8od799fWnhqBjhiEyfexeWn11kurp134WTK51kcOQQ4rBJTVAUuk0V8HlDCbNmIDdHSE21TEjmfELjetsPd8KkrZ2LF4juOSB7UCZgrC7EXQdgRnMxDEJ516FPMmmMXxzeY688OUpqWBpXhr3oHVJ7ij1yVVCeQTmMab5kdJUE4AyOb0HLeRUa432DqOkxWQO5GFFJikDwHz0mcFLUjv", "53667ec1189b0ab5bb0845c658c7576cb70005c3"],
["Q5Dd1eukoNj5ksP1Qp6VDd2vQJ5EfigvFZCjRgMFRctHL9Dc4SEgwtOtaAa0SsUuiNJRfMnGJMvFg9vw1rrMW1HKCjKonpMKGwQdr1YFZUCCSoJtvEBEsk6hqF3Nf6DAnFjqaR7nPOxn05h8eV0xglgWjM7wBGQbVBtlVHbPAg5wJB4Ph4JrliPeVPY8o0plCe3aNYeWXtE9HXai5OqcyA7PNKa8OoXGAaxBLl5Qjs2PbTftkCf0J1fhyh1x", "8a44ca7614f077364e08a588dd575cb7d10b6f45"],
["8FIBwk2mEq1vapFwre4CDPzAFdhvTObyoiJqZiFGqwvFOwFhHA5jMATcK7V8VqBPkgnNoB1UcJqPl2jaXpk17xlaFREPsRYWnqtrtwpYUSjz054wwWx9Svuu8j3o7dqE5tnzx7Jwqj5l2tGAAZKGv1Dj4kk4lBV0OLgVBQpTWiG2ELBSJAOgEdjGPD6FokO3N8B8MAA7KYHSwoxAbd8NpCJtEhv7A7POOeHF6sHb5WGC3HdnWxDi0SfHDK4OQ", "e321a502761099e601b04cf8c1290a5da7334355"],
["lZrYkk9NDp8XFJAwwQO4iWoK510l9Tym4sT6Y7TBH7jMZfH06glyS9Hn05UX89sf3afAcEPuDPWAUf2U6mRw1EqUn1Q3pqUTjH8uF18JR84BMaIfNYLONPZQ8RTRmhKkK5ViosOoN2JCclJrEzv7ubrSImh2alCBpacuIKoGC4nJobEmDaJmhlGhn4n21vFUeJPIcM64um8tHtIkwxsJtZJujORNId47TwSKcIBBKuyts42QAxFzl45bE6LrAN", "d2e3184bff3cfc6780ade15856d8421fa27b95e2"],
["wjqDXsVaNGqyBP9IusGO7pVYuB7Kh1oGnPK2RyqZsbOP2yctuHxJ5FvosD0bBJAxTocV2C1kdVjRBRazPQsWbwrWzByzSX0tcarM38ArJI1PReGigaA9eDj3DyXkFcmvfe68QB2gKfRNWqJG4cwIlM9YesCfEOLIe73n0pP2TvS8eEjZD5QqMbQv6M1BBLgh08bPMS8uC1eeMoWeOjt4qlhYdyxXkZiWvNRvRPfuB6vdDA5DKi3eATDuIC5nI7o", "b1b86aa131c541d2925499934c7d2e637fc85ae1"],
["cib67nF5NcBFUDafQXucFKQFKMURdnWwnSK5D4z9WmMezDtSuls3YBT5tzktdzGs9xfoGhiI0VIK0ZsZK5jdStOLAkXR7yBY6oRyJpVEeRw4o5VWHovOZDPEID7Ewkl5KWgsp9uIAbQ8cqtL8UqsccbmnTdFay2GJtV1rPizeFL2tYnPGBkOihvsfz9ZugCi912BW5L0x8D9cUS5NN6z6csrHiNidlCxxHni2Axgf37kuhoovtARfl85wmIDgtUC", "7b25f5062b37428280791da37b5defe406d03c1e"],
["cfnbOGTORfXfD3DGMOp88lKrcC1QSzrOM5BsfaN6gvbwaVYVBygk0QhohaBMlkE6UaQEOSqOcMIXQlUbItAFT7rY44iH1Hcz8RJ50c08I1ydqG6uWHoc44uLaZody5e8G2VBJg4Tqo7C90fPhJODD6AXN0ptKjDT3jNsyHfPpztQm2jbH9pAVk9XeKMx5STnAcwsVsF4AW786TtPiZbpXiToAtypRXx2jd8x9cJ4Lb7RnKZTV2UkJvRClU7N94bcY", "4599264e398166ea71e7714c4210152afe59edea"],
["AIdv9UsOtL0LcOSmF7rL01DwOu4Ztgwdd4TWCVW8hYB42ogJd96H0OcdE6YqlU9HDlz263giUJU6vdSB7N0XEyo3mWXImKiiUvARWrvmx1K6a0zC28EILCxVYGIZZOF0utNw5ZM9pchL9FXpqZ2d0rCadA6SOE4lDQVe7t0eyvMWU17QifzZLmFOT5H53HHOL4Llf5bmClxa6iMTh2p71b2UnCI3vdRgmIk6i1V2Jd6trAXYgbeBOqsrgRdMqomc5Y", "5d323e15061cac9357d676670085b5de7961317c"],
["lE2w9LJXp4OG3Ap9WXWSeBLvxyPWVxRBUzZ2Y2s8V85162zUkJluIkHErG0WHExW10u81W4ZnDuYdeQJLcRSDELK8VZZxoFeeTrBBUPpuC4wq5tHXR53eyqceIx2MbhNEJoRUNsnZiTPD3YEPCqr1SKCw8Nn14Eq32YuHVOoYWM6wTIJI4Tl6ZFGEyG7njki9frmRIY3YSAqYh0wXHijjiBfVoF9Du2iND2OxeAzGug3c2IddqeyOrzkYIcHfw4p6Ws", "b1edb3e783c6efae042e2b8c39d2a072cb6f6a51"],
["JxxOV4JRy5TnF1M4NCnjDg2K0o4fSiNF2Jburlk61ZdBKdpe0S7bNAqD3QZFzauGsblzrUztvp1Q13rzaBvEOFH4lLKyK4WRUTVffZRVt7Xv7QPPxhVsc8Of5sfjNkj9ezDFTfaQAhKyoATmjKqWaU0hM1NyGEtjv3PkRPyVco6tjZtlbG2ssrfMGO7dn1vkmYHT6aaYqi2gjXV8W4Q7qOIgj5Yf42pFqlwd3wC8ErkazrURZqxi7frljphGgIKJ1xKy", "aef5926c4a5d775948ea8feb4615f8d3620423b5"],
["6uUmB5L8sxZVdXpdiOlNWUZLMkuqNKIzlQERafsMm3sUJOoaqESrCCOcvm5hZKRw39qpft6MbnkeZGf3DET4SbZnq65GjznQcchKVDWDNZO4uLyGAy4gX8XrcMEPrVv6RYjoryFverm4pYTHGgn4ZGqP1EkkF146M3v8QMFONHMMcGvR2vULzlaXLLDb8geWd5IkgtaWwrL7HS7tqqSXyriQnF76XE0vDb8AzCsEbotpSlQ23Pdkyeu5r902dHmi8V8Uv", "a34c1952e74b34d3692734f59eaeb531215771c0"],
["5hWpuFIjjdFgJB9zp5hE7PoJz8UPQDCbVnQk5HfDYHS7pwafaygAMPbxrFagIefvcjmVoGzAGOp1vPNOsRn5wcGOc3VVOFU8OwhElDVZBPAfLkJEquxHBPcnX721hjQ63GvtX198LdPa9rswNwuZzSQk7jhL4lSr03zyzC2ornAZfHYFPuIZGGeQMGK0HGUwfmpwP86zNvbnxH0dPBQfMCuNGwP60uIojBn5Rb58QovGrnV717ExmjtBVlYCFrzYzZ8kir", "9dde82a925aaac2aa117c1dca1c3210fc1d4878e"],
["BtW4n00PINIKYDdXc8PjgDVIxBvFNBZ8pDhY46x4Mm2aWEaYiDytmaYw1RnLixeAsgxUJJiIwLzSbDtsucXot7Wf4a4rPBk7vDlC4uP2OWtxDEpEGfRelDYYCxfpJujn0SpJzqVwlrWA5H3VIh1czkqM1wWfPRygNC9iQjIdZMn5szQj6d2T8olFxGunSltEkJCpc9aZmNuvniPqElTvSnsSUWXaN8kSShHtow3qdiqKDlUw4UYtGgND7jg3RWEdwTXV1Y6", "74990199114af7acd779e433799b864f2f060122"],
["7fXYqoqafAYL1VhcBca5lZBV3RejYZPbSY6nYJohPS3zB6Ab5DkjbLlCjEJeBxAr4lFiJWCdcarbYITdRdryYiPrypPS71MJZKbYCtX2cIR1N8p0dsmXWFpNfOhuDHSZVzhjGi5bkexmgd5iG5nhHc0zfeRhTFkahRUF114oev8FXdzDB2LnLZpzV9VX2WlrtbPkfYoGaW5ARyrYdMXVG19Pbf0Y7hDMw4fJEjqFawE8RAQh0XZYUTzR5zYJUO2pT5TlASvi", "a827cca796d4bbc968d7061b50d282ed2aa50e98"],
["sWjXI7Qxqjbd29OKR7MdzJmBIEfS02QaELikUQuE0Qx8d7IxZAhpAZlZkXICqsn6gJ75Rgi7risbZ5uAbX7JR6jHyP3LGOco1CHeESS0kbqcM5Z1vz6SG1pb8LHDgyhjoDeUgEhcDMpNg48dTf0lqR2elYZC8mgJTDJCtxyccSHtcTQ6Da24ZagJm93WV2gP0N61RXFXnBMWylkdlNb3RlQu0FghkCnXBM3Lxw61LvJ8xu4kdJ6VWVvw6k7ZNegtygIAVPCSq", "9060f9f59a95d75bed72fb78dab48c5d3ee67ca2"],
["rvn99W8vW0t5Etq8OToIdKjlhSCJhfPCgE9nMmEOn2C4mmodjwWBPl3MSSYk7p1sDYxixSIPM3mZz6AVnAHlOjFbFttxuMiKzxsTu4QuTfKL2PJn0AJBTXYSMQhjgT6Vdo8CARc5YV5BlSwnXeGulnzoiGGk6VUdmjRXSYv4nxOWNO2W5UATUKwGwDRml3kDxg0RsSOe7lUAyZnHLI5tG6WwGgegKJaAQftuLSUshANttASbzyTtpMVtAvHY0q3pIaqR4gjGF1", "2c5b01764d963c79d77aaa70fa0bdf47d801945f"],
["pCFQzkKI4RJossgDCy6Zvk2tJXypPoFlTjYfX9ZpjnQsVgmGmol9ATvVKmCZVvQaWRU7ELHlmxGPbQFHjSiSFuRL958dsKkdL2Zb8IRDYsdN9rS8RNXUCRsGIEagMcyIfu2ud4NPRlILZfi0HSNm2Kzgqc1Y5pIm50lsDCMRpzUf2jOaPSdkQCoMsN0xGsI8QOcTj2CsPqn2CRlguMbpDnyiBv3nJtdCp8pV62JrYugXELuBDKyuJRFwTxxX0cIc0nfdOxBnYtF", "785b87da1ec0322ad7784583c948610d6cbc1a79"],
["WqInkuJ2KbIuMDQrjYXjKRgwfNvSAKpASXC72UosYpPAGqHhPsf9DSsJG5M3r7Y2RDcaEUBRpdhbUolI8R8iW9PHg7r2htd27EZ9rJm4ujgzJmv6kOl9FVdxGuhQUuU88kPxOZPwL9xtrpP3BHsd5YOcGtIW2sVLTD61jFGEa0RRQqIYCq9koR7EgvZaIrhYoqNyimtlry0Z7udt4W817vRBIEM9LQy2kI6O8vRQ3CCQ60GiCAWGQDXC4tote94Sv5Pg58kQFQOP", "94bc7d7711c0bc122ea2eb639315779dbd1563af"],
["bRgrFnHYSV8KTpbhDWSdIF5N2bEYhQn6GQAlS9TmA8Nuj9V1Hvk1KFcFaa6WT8alLE5PSdMpw1gtHj1oWZPHFeMGroqX7BM8kFR5BeceIihqoTPZpFzJ9r3wQJp1QDcgBKBqt3wa5RS0GLuiHTZ2p7jJreaZgTazcJDjQeTWQODjNytDkHYPjWm2Fk2OJsPIPErEYh7a4ty5IlHzLn1Bqkx0f4psZt6gHCizk2JGNQhXgLU8yxZ1sHHVAGBKcQRrD44QfxWzFjLCc", "d22540aad076ca986d40904ad4a3f32d61c8c479"],
["3d6Cx0KuRB9bDSBH86IaV05vZ9AwjVmpuLzO95eNH2pKemT1DCeX5dsc5y2wSHF10cxnFkV98eAP7CwCYKiYt4SHojHSJ4TgPwZFriYIglZY2ivxZIuXOoNZ1v1p9Mi7W1wcmZf8MqlPT7KqJiXferUAq4zKuo1BpHZsQuZiFe3j8lBU6F6z15OeRqyy7fq7yPCrHoSyWos7TJEXOav03lHw0Di8z76AGRxxbeNmJ4bKoTOKCsWUXEH8KSxzCVIZVbgQMiVOnmpoCp", "060ddcac48a36b05c89fd9e457129356c1f5015c"],
["x0murweWkYxIxK06e1U2pxMnJpY4hGyvrZ1Ja3pQV95g4oYobBDshdYKdZSWJnJvEeTlnpAaUt26n6BqYg8pHfFpc5u2vOAtGGdo3OIGrezvDKMi8jAPs2lDznrbSH4mw0FylV5lbLQkA1qQoGBbe03yxcGF8D66i1hpCV6OPyOL9IJdPcEp66FtcNGNIwEXWMzY27g2TGmTBzwZYTOQs2EpSjU2w41RPE3BeGVwh0lQr2oTvNjE0iv7xfhiJQn6g7su5fe5vgcLk9R", "ea69437028a082bd59da4b379c27eca3053f5eaa"],
["9TFzbHPBYdBLkQnpd844TkhlWBSSXpncQGnTJi1vXO2YKnuYZNO8xxpZb4GWIKHFpoRqHwOHALTm7B2vyc51L7h8VP2DVnUfa0CZNuJ1pcljfl8Mky8uHiNvY4fkdOg0RHmobcnN3uZAW3064fQbrFSaosKDopoTyh4Ox9oSL3bCncTfLCJJAZdza2yZAznmF5xEnQFTar9dCbHmYkd6tz8gZpDpb2WRLfIkLSF9j4T5syPzB6HjVBAkRibuoIebyWceESJmVNx4vExf", "36dc309b8ca52c980ad60d4ac7edc43f9fb40eff"],
["ja9JthKTFUMyE50x3xuXDjK9C5KoJId2rsqSWQIsYmZhaF3QMPC5uduBGrORgzNrFT0IxcutMbe9e5ApXOGZ89J2CUuDOOEVOftBrjjCMPecTGizyAWYZuBleCWFq22wyS8bOX0If2TtDhHeyKN5pqFpiBNF4Q6kNXNo1d1EWmMfc6JSNJFecPIAHxxtNMY3cSquszdtO7d4YkbqDbTTJs6iHr8tVbK5UQkuE85uvzNRnlXMUVaBI4gLnrV4sPIrOJ1wKYFKvcegE6wuI", "9e85f1128a2cd5e750fff98054e12267293839de"],
["fvMEZOgzrELSAXSa4OKLAZ0rzPC14IJ0QJtIw2ycRVCtRA7hjKEes7wNwAS9Qf1Gc9wXjXFquv5LK7qFjDPshp4YfxkEiz0otRQo20coylZdbHMXU1yhfr8n52WLwnyEfFsrpn63rzryxOsLNAR3QwneoXytMejosaCYESyBFr4pkd3yqMmU9hYioxbbLSRn2CLjLIS6ddHo4hOHiMi17CfnOq8YhqjFAWVFl8uQfWcDlEX8ck6JYMtEVarPTGdapErxP2Ojx4EgKNbPq4", "a29247964f9d595e2f6b9c8fe11bf063562dcd97"],
["JDICAeCW35Kcm1VGf4UHMqNwFsDhHmekC3gQEhpQ93nE1ldF22IwnHTeSvZ9vPrt6rS5X2OMT5yoCWZ7c77tAp327TtSW8jJAofAxUCvM2rVoFMqKc5jgIUM7R0Jzo07Vclwu02v33tJAXbvNRAqdwz1HDV1MrwOYzUuHG668raBVU6vLK3XkOoGA4y5JrhZZTqEbcxplhitIbOKe9U0ix3xGLuMikxosJr1ImXxxUd4wUWOsKoPPjtB6hRtIoFTdtwoXQNfzwm6vuX31Jt", "d427270ab9cbfe3f429b3d84f12b5d527c709b29"],
["5BUtWWTaCOTGU4gWtUJnefF5gKc1QbM33wegmWcDDWxQjA7zQPbBNM6IA5mJ4yjsOqqYg8qradIjPUyNpmMF91FRkmJCb8S5mlaG21QFw1BrQAgwPETsJVQdyPZLQl8heEyHRjWwcPPzqBwfVatYM8EnHfNr55ofVmzDfRdf1K8prQtHeiI3HIchji8cOOB9Pi06cmJlWO5frV8K80OAELbkxBkWRbS9cHZfoovrqrWcT3LNS5Mrq2qz5IwodPLaOwdrWkkAyqZs11jK8m4c", "396ea8d5a9be1249bb01696ad30ee30b9b3669ba"],
["5OfgEQm9k1hxUyVXyaa5vWOoIeippSiFaawHaSFtQCmY1tVMa3IXlLaUpADA8HbMArOq9qyRtGyADMBLkmh2tVdGi7WHy6lIbdvskvD70ajzmNsncZbHAhG0KQs1QWT86qd9guayR1gggxsnyrPaiBuHEwSqWSwFPL3Uf7frDJIwYSJqk3Q2Ze01mDtuq3L901joVN5JDuv77zeh8nzjzN0DB8I9A2hRhJIQ1ZLuLrcVwTUTFi3bjhPuxIJA80SxMpbmb3k0xiHpbNh6hhher", "a074d61ba6cf055d64ad002a5c00d76ec9808592"],
["I1a5gwIB4BzPhjRlY7brY1dONG2SkOqO9pQNEd257AWRanJckx8lei0wbDe1OEOSkO52CmScWriwKVz0q0lyuOk01QmWmB1bI6PquVbdMpVUZVQNuCtlJS4ZNZ2ORkI65sBSgUjqRSDEhMNMOTkVlutb3gGVUfKfcceIOvfSlu2kUaTZ77z7VUfTYAirw39OSGkZx7MmXR3hanVzSmxIMBlzuNeXTgYcaJPKBrh7USWayloUNCj2x4EUbcvvQ6mffJ18hPimCdb25Jo08STdda", "91bacec98e1a07bdaebaa1497ab3a97ad92e3c99"],
["CPs7W0NiAOR30cCj3uRExg5dPg2muI1oYIgFOJCMbYrsbY1rx1vggodrG30Fsyu5W0PLiXAGTMCEkVINPr63pfx8JGNtAopwaEwrW6IF491AyciH9O1OFv1oG8IsfPZaVv3Vfu2m8l9omJVurOlmcD1mxYdmcFolxYWecPI8z41tbHH1rHHBlJmZqRGHm51xooIxp7Ut3qkhoI86TcPilTwLfAB1mbLiM2E2W49Xik4YNW2jZvJr1qNf0j3Nnk7FEMeL3KcEPKEZcDaOPynBTZb", "f83744db56c81b8f4493dc139a850425fb9c56f4"],
["BFqFgaEvKSF9rWPQCJ31Xlaaqxc7JZ2KhmJkFeAfHYzYT3X8QzyC547IkCebEs2HhAv3Blt0iu6GDRxFC2p1FgozIQgG1cT6ljoGQ3l8lSiuAstiKUwCzaOmxEYml8tBmhYetqT5URQjIAQlHQKVOTeWZGnaOS9dOZvYb2khPVLxvAHZHigmoevmOpJvRB7Nny09k56PhKd0sAKcGJDmyGh7wz24PUoS5NrSkGMbQjG0Ge7L8KqYYgGyJS6UfYdIPk9UIHgsByPC5cHqkzOvytLZ", "386993f7dd03a671c6b3e920b7ae1bc60dd668af"],
["w90qAFaAVP8WuX3r9jII6i1EEUNa6ma7OwebJOzfFVN3HNCiiNHh9uBJnOftb27mOqz3HZCqEMNiHw7aBskezxKLelN6QOvmhjsSqHQdRnVboTTBruOaHMGi7SqcAIUMc1YGJO8cOksnkKpuZK6wTUe1SNW81Iute6LPW9GV5nGMaIgfLOJJ38UB7ywNto9VihDp2Bxr6vc0A6lzoKLFjegfV7L8fZlBb1KMIPWZTs5gSe5qp2Hcy179WpbWIObbgGqpHYmhsKxUjldwxkkAhfTRi", "54a085efa853a8971392ad3c32adf7f5d2eaba86"],
["EsrDMPuoF0gKL4iAeDasOD3Uqg5QtuglXAkLj2JXMSmQrKc6nsWXSLrAVSXSavvupkX5pch1ld38TcbQLiyh0ojuC4njJPaQEkvJoYkG7m8y65FNRDgZvh0fosxzk41Q1qPoe5OMaAyJVICv574PRsjWsUlSnudxZy25d8JpZDT2Vh3YvFrGgKqCM6ZqW2ulDsjMIIKCPHaWRB5D40iQEQwGncVDRS0e8wdq5qUn0Tt3k1Q2nQMGttbwoyIop3leXRz7f4qJbhTmndEvg8zvjVZwzv", "019c22c36098ae6a91f286c695b3b598271c42ba"],
["3e3I4SE6D5HQnpi6GZyjKwa3ub0GRWdJTjKRcIdewRV5xN5EexOryoB03vlYisVgbPnyooAaM98OBRJpinTV0P6ENTH4ocQRxo1895GGoim6BGqJbPeP0TWzFcLXdJH6zHonkcaUccibbsSvjblvDL5JPwEzWTy7WiVCo9UEYMvJcggvvz7y5HmxJzlGalQw6a5cFLVEFc1KLM4oDKiCvIbYZYTIFchM5QniWPIhLe6zQaEwlawOPGBjCxhQw5cnglY2GIhwPFIYz7YmSFtA5ys047x", "42fa7a4b43e110c60d67e06c7d1f995a0d4a2189"],
["gmXbbXEHV61KPo15CdxU1kkbZEJO6u0giutO8L0097YAnOeAZupmTJ0DJZskuWX23SI2Hoj0HbFtQA9ja0jQ9eiTpHV0hqKAibiwtFTfqa1ZdxkEUl8WV0QxcZJyxhtBtrQYyl8v4t20n7qg61Ohg4pPNf9cTXMl3p9V6PeFaQpjgiAZQPNORetJfnGldKMUsy5BE3wap1Nms7SnVP5KQSYWrvuKV1wPZZWjJk8VDygsxdKysEn76E0ECYEbRHdtSbgVJgDkcgDBnuWnBnXHbwbCbiAd", "538e5d9ec8af24043d54b15f9337ac4980fc5c79"],
["lvTDH7z8SaSWF1uK5jwjtw8dF2spLKbUHj8qVPTqGmKMzkCg8Id3z5fapjJcATp181SwLKJcle3WEgTgfAF8NrxWQI0J49X67hIGEKiYPQsEbcUO5vH2A1Qt6LEI692IqlZVgtYBzNY9V9eXgEq7149bp6gTS1OvyifuHANrcYqtYp5F0hQNZNl5MTM8UXIBL0iLof8nreFZihbVdh9mTsuyet3XYz8K3Li5eTLX4ASW3hfhUC7TWkOKnqXMbSxuWhzhqkFWcTIUSsd5GX1nUZxu6MYQE", "d11baeae20ea447883af3a214216c5ddb2ddb8d0"],
["QqrL9sin9skWhHAlezJVn7qi4l0OqX5C1mnNxFZRMdqsKl9xXk0Ax54eqTsnakYEGHA4oeAUCr7d1nI7H5O1rCLNbIh0lLa5cdmKJQkCyvorUnw7IVNnGGp68TPvSdlMs8hOl7jBAvmZDy6U6svtwT0RauWlYO9lnv0SoyIQuJ6DQsBjMqzlWVPqclLWEJ8zKbWZxyosfnyfpW4hntpKxP4HELTShEWR9gs7lqt1o60iKaUMMkVB5fm5eYNUTvCS7BBz2xApPSDyiXRLred9SAh1kL0ygd", "be40a09c97c2794830d5fae09dfcdafb19b1b923"],
["bxGDJQDEcqIpm1RS5BHeMWXd3CpieAbA7K7zBqWOTyLIFfY7HgyteY4VhZXbk30F4eJm4J8Tl1VjboR6HDNAB67QuKsxwWsH8BFfTMIjrjQysYjj2sUDvgHplTjgybSlp81daKzEeJt2mOB79xsgWjdkMUsvKXrWZDcWMFkCwIYIQkibKVFqFM723vvYszjMiy8aqpy84G22RoP4eFepdv46YTEnikRWOkdIfXczV7noFr5P4zybDvXCT7heVenIOhvBeoUFSXD8csrkI4vRbxHyAZpDTwt", "1013b6886471f721d1ae0dcced8b3c29ca5a9844"],
["oD2vJNmyd08p8JkJTuSH0OJtomAhY5UVqFUdkHzMzNHAUpyhHpkgchjP9VJ6ZLe66ObHdEXvwGuXN8LgHlqRUlLsRPtaxY7wGILRTWdOTm2x3rLBNBUM4cfLCORHEFzbTgJmze2CGkAZLCA6PpGajIa7OoyfrieJfqy4yVb2u0y0gGOFzU8tFOpaN1Iyc6gbL9ZATMVISeRbRBB39KyP70peFAoHpP91QNBYj2J82lAjifS1W67aV8kgPX39Ch1vD9bEVMWrxLMCwDMzlMcZIVIYSDqvARdQ", "a105dfbc634c121a051eb26b67a08aa1b8396366"],
["ymQG4yp9pJ9V7qnzN2d76hDtOxgGFsdmKQbj1O5hylP0ZGbJMUMkLURbtykWXx5WH7htOPOjJSPaxMew215YomV1rYYUVre26lUftHD9DprABCHSpe5SSgOt78BWJNJwswM3ePtfbbI7NSJAiugRLtqkh8GOSVWLQBDq0lI2Eu7YPquYgVRdS0ckNn5FD7UHqiJexCuK88velTW173qIOel8gPwQNzESw43lpb7r9nRahbc8g0OojFCNqoAj8VVX5zhAou5SJ9dL2bVEq8rI2ZlRX9aqgo8vn", "ade66742ae6064ec8aac6a713d366db4e145d2be"],
["znvqRdvbioSyFLZDOTcmMXB4FK9WOsrCQ1t3iXiKFHnesXwXqxlwZhyblo8SWtg9wLLcIinlWOoXnrg8vv3TDOaQ0r2tFyn5podtSedn5tf0ZERFDP8svEMRATaGBHp16cl7OJnGA9az0WdHTx1i9f99HQbpXj6b5fLXwqUidPUDvl11RlTVXWKXVLuDgYxLA4GTpchlsu4PVyQTsDHtD6ax7TuJ4JtF9xmWvYg5ZPfNFFF0mIiuC2GT8n0xehxqFTsdsqA0PZLS2zYbmGaCU0i6rGc9W66R5u", "f40959395b1eac09786add4cb90c34d17a67e628"],
["vXwDUHpadrGl52ppKEPEx8LjgzIvfBIwA0m6kUbgrpnGg3mdvGwztaWcKdsVQNgj9EKuRJgIWCzXs9EJNO3Isp1I0HoRxIzdN994gjuRuMWmG7VoqxNM90kXAKjE5jCOkI1cdUalJjiBwpw4pSxqhljGcDGIaONMFWqxjW9s4mktR2gZUhKQWsnK0zU5Q4xyTriXUOMOgsewKAkL6VrJUHF0OCeX4FvqiaYQju3vT8sbtVXtaxSvj7qjKFsoEWNp0h8N1kVu2V2K2Iy93nftbWa4YdQ0g5P8Luj", "19fbc8649feb5a94bff93a7ed95c09ca0746ae69"],
["QN6iJFODxMqmRSMGHm1O2iijL1uaQcEJhoDXa8h46ANKRCxsgxarKQ3fG6kzMjG0UkcXPlhfmoSbShe06apOCacjsbvGBjej7JGN5teetIyrPDzAlY8KpSZsMUDIvDXhzhyHGttelXKm0pKMVqJIuKSDntkbjB9gpbiuBMDNLddeS67XezhV5oHUB20qSzADoQ5TP3lpW3eYWuKKKa6N2z2tDsqySC4Q2KpqVS0xGSpNU5ZwjDaAk2nT8ugCmVaxgyPTT70vxcBedaLR1CiYd228rSPpjdVPm6Jy", "3fa1fba2d8fe6c04278d30137925895b7d20715d"],
["RAzIXMrdOPFe8p8QFNyxnDKetluVNI7tANrcaG1rpyAoAWnt8qxwkgL4PtvflZT2afDe9Xe7LO49pgLqDOiphsGOtXo9VcMjeOR7pVeznKl74WMOq1SivHAaeqj22L2ZhHkWcb0qrbFAQCblZTbbv4KjhVUtHVRCSfl6wDkbPh5BtXJziwlS0kamTMDRm2MvHpcut7z5ZjofRYfsGOXx7EyB0K2iPvHuwzdkrIfT7BBpRD7urkGykAzvxHQKCMQ725O8877AVjXJkVPUEz5Amhg13AIfgYNP5nPRh", "dd486e1cf87f65b5dcd0bd7e7e5896e1d9339d7e"],
["OblKhP5uKlMdhd5Cu0HFTDZCAEui3fOUeQoeahfR5sn6oR6LZkiMpEcvtXjnmtKGcKGjqnNfdAmFgqoZAaeBh45QSVwUynZT7Er6y9DlRqIurYFb5fNR0KGpnsAVwIMqXQl4PtLUaFyZRfU6CvJrwWP6CPYnIxCYiyeRgleTSUWHGB134OcnB1oARKr8ZmaPSOYD5eK3E7pvi8vvGJ1cp0pOW6D7lQF9MWsHiLx8ELITXLwEuF2HrCmiPvtIMrqd72wVkm7SHa3X22kjPCaT9m5YPyF822rWQ01had", "96ec07cd9773a56ede8ed4974bde3b210c9e7b8c"],
["zgm62NSMNeIfGUosDSQXIlATgL0KOsH6EuEb2UZJpn8ubSAcuSZ9qNkpun36bVGXNWnqJ5CLwghBqT22tAVO52VPngqDLG2DwhREmag0Xnxu6t2nSKOodJ14Q8bWr3bLcKN88WkB4se2WwMFQf2R8ZBfQsgGGg8bZ2ONKe6XvselnZyyG9UuKFa7VPmUilcXrg0fSodX5k9Ds06F9glr6ytMuxgxv4nUOrEFvMx5kNKmbCNhTUITTO3XFU0wWbWlIxpV9IdLvSM4OjRwThxM8pRtW1E8ZFIClQVR28V", "a39df26f46c5d4267cc8d19b1761f634ada77094"],
["Z4lXGskkoV8yDdsIKMi8VQk3cxKEieFRJN66yQnUbPWBZJpSStZc83F0g6ZOW9tdnOpz3mRW8W9ri4q1c046MdFLkrfJVMaQ1UcP903Ah7Om3zXla2NWZ82adVNZyGiHqODTEnnbMwuxQHYkU23CLPhOE4eyBQFLVDLyo8bNoommVJMXzql0oqmS6AvAgOjyDwKbvV7yrIvHcC5erFQ5WNYP6ugiznojVEu3sdsYS5ntQHMz7V3dLzVOBaYDwDUqzhGWiKLvyqdKzg6ZP30JmevXwk2j5CW98Nsm8TeL", "a3888ddbb0284419da1c331998596802ea21bcb6"],
["JDWgUWiropDc52b5bSePWpRU4GNbnXZ0pfRCCMyvsE0MwKqfY8cuGZaDkMDq0CBiBgUl437hzPq3G1AznhYagdn2BHK7bdUmvoeWmSBPbWs07pKTF40MyfD8sx0jEMKjZoVbDaBUkemOZVAyJlX5gNHdIN3SZLJ9MMbPE5fOjTtsAwEdbwSSw47lRMdABpexrnWPxyBVwjqwQwkSsL5B3xNjyAJS0KajJ5uqq1WadLezoaqYTYX437JmJ8tIZz9mgKuKeSpU94SOGgWqQd4TgVk7SHpEfdibQbuUvBU41", "d0345cd0711aba343b0229e8f5df0c34b0d6be41"],
["UU0T7VMHc7qYECCBXDd1VGX8GlXAeY3IlM8hqCxXIUdp8hFlTjRCEholURQFHqx3vcFwjZ1P7MEIpxxIXS6LB1koUXydHmRuHsLzNdBZdpAnqj8YhLLwAYmaMcljqs1mbTdEPsnzSIWW7F8jc5NTkd7pPQUZYwSLO4pL06y8zWd4DrSTzprw1QplT9FetKUVArO1JyP4RGLIA0MVAjQlG5owbhNLCA3vIwFOITdOF2WzTGRbv9czpJtQQ18DvnXoDXU5IUVHg7IBwnUI1Aiy1qpSWtUuuTE2FQ5yUsYycw", "cd6b028e306bf83984a1c190cdb2fe182e6b668d"],
["86cOP31AUqODbMjrBwqRwdvGVYGRBXwLazshPukwOzos0VJSsSFN3ePaFJkwISLpJJq56jQhcd82DNFiiVkWMAqqz0tbRXqsWvjcrYlnHUbH47eoNVVaigjA3h17NzcDmBji1kebl53hHPzBT83EKpR4efEGtCzJixpE2A2f6eGMXYyuPMpr646yWBgfEuVmOdBxhYrdj9GAgPWMjPo87WJ4z04u1SiIOD4e2WKu9Nud2jIk3QzI503XaE0CuyZEzeKDmDukgGrqeQihM8GBPUrvNBQPx9yyeOs1JQrCreW", "545c42e53910c85d8bd45d060550b30f27e6661e"],
["GchwhbiB7G6mqaItuxvxSHGFnJtpEIhGyFYU6YDWoDUEsB072rvRWMfT5vipVr3qbrei6t7WQ3ufMfcu2RALXWGamlK40CY2bJZWbRdASy0PZYhl8AJwfQiWbAOGd2WlCunQbDb3NoVX8PDwxBhtQRhDXxIwsJ84YXa5kY76lRPPNHCpf9CoNr9lAyFJKOiF5SgBDlGA1gJpwfFpQO95xR8yE2Ta6nMc0dsKm9PzHl9UjGLmWbBNCFoQavWfB9QODVejiR7G2CKX4WUzk9Ecub4GKwy5Ozv9kzmz6SInybfs", "55adbcaf349c091f7c010dc798d891e5c608a7c2"],
["jRBL5mfPdZCv1DRGkfvBmVyd8u7QlQSAZepg6voi8mDQrybjcerAPCLZLVjGRSd5ICnWVeVarDqhuhishvliVuCEu70T9tVNdb3iEmq8LOfHEApc034XaxZQVF2xlm0m9b48mMaoYhIJn06XPLIL841CMEkBEyPdZHsed770PSTmp8FVlseClZDjw1Vn6KU7IkulatxW3Scyh5MjAZN0oXlymichIYscdtsuKkhwoYPtVNMS0htuN2b0GCTpWllLFcxUODhgILHfQ7vivZbm3JmRv2FotjZEfLOBMlHM8jXOP", "e7c57631d2796273e9b4d8d0b4645b651d05e81f"],
["yCjbjnrW4s7pyy1F2U6by36Y6dIpL0dpFHozMHkXoNchvhfPB0TEVDAduLxa5vVLGsJiT4nB1z7aXaBgLw0j2UiC4VwOugkUgHZAA4xyb8LCHY1cjOAX6oAwAveWnMalYzYuk2TZGeK2eVtn1ch1Zz5foNKLA9iWswzm2hsMQOuinqb76IYPExEhrCOSQ7PAcRHihEBsNZvDHnfEWBD4dFZAe07xhsbVg86oLA9bZoL3GTUmlJcHDy6h6mfnbbAzaKbPFULaYrVNg5xpa7mv8Q4TiBTAvg26O9l8eRhxUWo9GC", "252157992b338231caedf7a1bbdaa3a127afbdaa"],
["uCDHPgIKuWT940W8xnefNfWWs2njPANra0GoQskDa3kGLTfhhtC63dlZHZ6G8QOK5o6LJWnTTmLE0h5eKaodQ5goLvwbedQMh8hoP2r6BVlt230vdvvw2zOiVI58LKFnu40vr3ZAkZzjFtjUyHPZgkT4ylYuTb6WyMNxLXb86MMAFRNnoxz3DnCPpT65hU2NaEt0AdoNmoktacvYZnDN4IFs3nvbHjkaHLMqIzc0LP4YT8SIDJAm2pUbA7IffS1ROG2BIKxx2dBZXIzGQy5ISTqXSHuFGo73aYKsoz7IGjJICn7", "356069d490daa80eef6019eab9860ef4782dff4f"],
["IacnWZHQCXOdaY2AtMg6uhRDGB4lWpgU20uveNlUSQLvaiZxOiNarQizYxY8NsB2odS4RKTnvIV6fSUJgWwdmYCDik7AzORKvMb7Id6ZyTxHgaASnbv1QfUzBRKDa77O8LscoyfdtEy9NSKgI5VFv0BXifGOaouXWnVbWXtpTNEkrwaCponBlWgL3LxCM73zKliywrTLYk99sJbwMCeHK0Ht5USVR8ClC0C9rVr4rYsXZFQ79SPRI99n486S9V24yJ6Gz58ENTEiFIQB9hDKBLZKNeinUF2TcY61ae9ZLOD2Hhdj", "8b9cd8e135f1f83d72c86aa45305067aad7bbea1"],
["1OZemKoLmEZpjJ3KOsGbFVArWvOW93KzQycCXwGaLY28KDdWY8MQWSULSKiXwLo9lKybdivnz42hzNWwJflZTVEwGJzrfZ8G7mYXEYLK1dFb7S4aDe839dymD0aPRceroMy1jr2uD97p0iLn7ivQAMEMreS2RoWOufSOzkGvLjikCHQVZDwepDG49hXZZJnPTgHQO08ZLsRrztSSJOAyFl3FTB842Tq0orWruHe9iQRzu162In4s5W5GxtVxqpYT5Kpe8CceZ1NcSkHFIoKaLZfsarxy3VKfeIpuT2nUFUpHDRGRA", "1dc7776f0fd39d203e3037bbd2a72702456d5f59"],
["Rs4CEDpxjHZ0sel5OnahHVnjdeyPcVdfMPDTyViWUZA1AuQu3u2RA4K24oW5Se6nV6GwQM6UVCcpCgZtCLyEfGa6ufXuc1WZysiIUXy8cUH6H4DOEPUXq9HjnyjljXoa1VH4nvu7OKlfMdIPzr8bMoHL8pkVEiuGGfkpUiYKhROyhLfVCvKbG4NK0orD2ebuQ7q4UdkMMbr3jIqrEqVYwRltstKa1Rf4N2SBVCCP0pe8O8mQPHbNxKZtuxNVlv9xnIZiUFqip3HzMyehRoxxPhtx9zWMby4S7meG1lsjxRdvcBbA0Q", "bd1e14ef2d90d0727d7379650c3b611748481023"],
["Egqq3wqFhuJgejFmqfPlcDtnTUL4mA6T0PXCnGC0MACW8QDDAkH79mpVXj9ZkFQC89INaq66stz3MFdPC8bUhBdzgLYdZxKaw0C2z0mSW9JtoVUooj58s2VKmkmohBNz4QNkHbdlmE4DmRSLuEhX0RgB2HTXseBclfE6Y2bHzS4Z74g3KUG7wiI4IRg030unNL21uswi0NY1h690y4NT5hJjak8n42IFKk6xV0vVxL1ID3rlgAXg7c2PksHIjinyj5u49RLVApBItYd0j8nY9vsOlHPjoUu0HkPv9VASn17ZIHRcxr1", "000febc46596899f637419f671a5e2c1bc85f31e"],
["A8eo00MZK7AEfK2oPAyKm3LTgOtpkQcI7rOXi3XeS5C45QsRyUnQryoiJgKkkQySfqKJxYYtE6m676cPV1uJ0p90wLjNNEG3Pyup4DGfMZp1BM6pdtsWjvzg5E8Z2zbdNz0y0eYB7VUxHRVOy4IbLITNUHg8CUOwsYBu9MueQT9YjytS1A6WjRlurkIgAZkXXFbdg2iEgUSWArdeuvrvPyXXB5xkjE6jEHU5AnM9MHlWrthT5EHYHEAzFZ8N3B2BDwLuHT21hXPYXWNYIh77vChaVaIkSNx8iAVj9mHT0KypxwFJoZzx", "c1726235dff662deee880e712dcc2c07537bd33f"],
["en9OI5nxyS7b32DkOsjLYPQJqEWbFiBrmfpDvZ0HXpxkhz4vQU6dIIEcRTeWGIUDYtqUVv9BnbcagnudqsY4K4hOF8NJjIYVRfefvVevoIQOnOi6flaAWS3Xns2EkcBj06Q7qfk6P0n7lwLKyvAWLoK9RSP1ib9uTRaF6HSqacm8s1qShMIoNt8iTeAPPykiYfQZwMLCjkL4v7ryzGhZVytaGiXKt5pP3VnItrsmO0CjDKGwbwDhfUO8jlY6qIAHEdehnAU7rZqTY3zu26iuuZDgZ57BNFu0qoKpriXHzLUiNWrVR14k7", "56dc898f00a0175b75288861d48f71dac7384d05"],
["nNLffth78JHPnGzhuzsu4vjKmdOuY0fKrB1Hzc9SpeYjZB1Uf5kfv9fUsDYpUpCdxtZujGQhboDKlrcWgSuUU6O8zoBpK6M8k0FEUphvaXMrYCYrAfHpINJlSSYfqnm57KKC1MqSAq70cLnruSueMNWy4cAlvRmXcOtQjTEQHRGP3mDwqNcGNYTfGfHDcQZxtx4f0re7vQIOSrKpAdYQMqrRl5pHdOmMc0QgkwgzNcQXNL5S2H2XQxVggBc044SuLD0WtLN7B77f673JG8I6UNCNq6MyduHwcN8d84yVEbIeKrq96Tlfw3", "2e43051f7104769b033baaeae2c94aaacb8f3866"],
["L9folX3uLK05p0irRvJCowphjlcsoudHMiE4eSpPd6sJM9EB4uHXpyHec8u6nXOLs7a7hCWxQDNJ2XXdC3hBcpYzTamaEKf9EdRJTWwlOrUFFcuCJhRznyZ0NtGbGgasmwrTBhDfYjmyEhNTylC0YHPMH1BC35gy2ftUvnhHNIR328DioD3j3azDkbnSYIckc9WhIEqz1lcoabCfuSzQpQY4jMdkenUEKp9c7zE0qdWuUPEsqbQ6RSKBnlQwshOhGbSyEjuHD1pkmD7EOYEB5vK3tcOQZJAAdfe8XUnuIOhMOqWQfthflS8", "d494c650e1c17c67c674b9096075e9286ff72782"],
["qwyq5A5P65meNDBanJb6CT1UsJApkd9H3ijTFYf23ab1wBV5lemYKOHsylNlFvmMktvMNKL6vSHIs83rW7zXET9Cv5oogEEvV9HWU3Rf25X32wCSagea6WVbudptUhE1GvpapWVOkpUr7dyDdih9q8OxK5d5ZCNmeF6aWvrSTce3Dc7uCwmPywRFFp6T1WuMg31q4jzZnyUrjyl4sl3Y8d43ZkRiP4cZ6RCIi4oUClfOk6rvqu4753O5UNimuXCIznLQKGpsR85SUCVhZDgpHtAepPXZiApeGVufzl6wUDxazyaFxxeLkKxV", "8ff431d932b25b8a45fc76d5538ed276981d49f4"],
["qXfVwyxiVIU8QtMA4GQgF7eH6i5usnZ8tNI9hHXeEh3na5eKopWFSi1aoxZRRfsBz9MHRVi0BGSQbhsO1NXvJtgQ7lmWLIuVu2BKiKIHiSlaud21WmsgrlEsr9nAAGgLfBfGIB8vG4IeAjXzpc4BSGRF7kRAg4WwZJmSKHxCh5RfQaAeW1M7Npv7BrUwA0uoMQBMWgAj7KkvnjaxHmnrjXpVHdnVkUJyWgzcS2ukibmj64amawogZS8OZNL3XG0KCaPiY2BCBvW5j5luzO6cFLG4Rk8F8vPFCEAbYK6fBQcvEsq2nyR74ozV1", "273ce8d66af51d3eae67681d00a36ae7b0ce8b30"],
["xFAshb6c6euy9J2TAAbJ24WsPbJUkCEHoMb5gsXQMOV03Zlpl7DmiAwzGoZ64tXU2WBb1EToR49211LIA8MVqKNDe9xCOTKr5pvuI8TrhMqmLpZhbZamebXUa5MaA3iApfy4eTrJLHC3jgdhiIoolsYuT2QMjRxknowHAuUSUsuYFDIWnG8aZERpZwgc2z9oaoXbWnQ4O5shVH5J8CIEMCWMbMDUywzBREOhJAW3u5PfuraDd6em6gqztHX71jkuhPQNyLjxeeY2NtV36YeVXlgpKaOSE5SHHtcIsfmBC4aYAHkvCj9zFQPa96", "23e8116af7fe4883e833ddfee9f7b2e1148180c9"],
["N3LxToaKA2TlgAy0txRfShbCwxMcoTQIAkpP9zVLCmdpxcBY9I1RD0IcunKDoSjvaT9672PrCSStoMwLCfzTvNb1lGowCqegJaA3KDQOfesKc9KdgmkFt1v04SzHAuWOgyq6MopYvLp9dmaEtT5danmKhDLp8I2FRZdMc2Qdw0kx4ITst6Tdzjfy4QdeOwu8MQj537UNRkGY5KIBnOYHWxUbU4f1pOofdalHfR5WwrfLO1zbqBBPQzbaxTQrzvsEHiWq0GzjLautsONYF9kEWDpqrFyY5jylZgdhM4sHVoVRl7kpEsc8yI2Fwb4", "381a169a520aacf3518d37626808b9984be35965"],
["NDdThEClCGnZ9GlcGWengY5G0SDa07wiuZLqX73cmlElA5NhT3LJWkbBEWptlCNvGkC42cl81Azi4SOyVcaUr7em77PYtkKmuw1mJq09mdyd2yirkSxOBnDKEoNz98uHpKVFJTHpP25d97F81bpmRl4Rp7hdex1pW4hKINlC5cUsNe9F8ebs1AK2TcytP52x81HCD94GhmNnvKfg48JS7UHcUDd50mXs5Ca1QC4dfLH4lGDvPxmZSOzQsMJz2plx2Xnf6p7A1X0fOqTkq3mmrffZHF7EJHljvmcc2KPPaqwBvgCUHkjY2VQT8QMY", "bb90656bd0bfcec3e7ec1913f70fcc1938fd8ea6"],
["CUrGiJMt0Zgv3FmSYv8PugiSafvDjD1Bfj60GOZvnM4wycLZWH1LYK7bdKGjJurPbwunRHp1ocVd8R6tBpPRLLdY2iyiJWdpB0Hx5J9CNv3UDgCtYBMHS2Barj5FbXJ2yTNMZXa76bsFLR0iEQVPLtJNUtJyYuxY2H0fYfUg6U5mkTbPmiTjayyjNeQOv6FL4DpdFLchWeFr1BkRXdgpOTCrvP8LmpjhjD94DKnSCkbBpAkDX8FdGcSTWDIT73z95CqnVOPSuj22x5pmtNuce101Z5vUdDYvlXK534jfnQ2kshv5YSwLt3dvNOyiL", "002b05e19b4db272e95ef7d4c21770a47ef3d762"],
["RStmcOjcRjBztdtQgC5T8EZ1G6ZUkcuE6QPZZJhqDAEaC6FO4ViNIp1jX1FToRIhNbB2Ue5y2daWDYwp6cXKpSbOrEnb8H0dd10mI7xKtfbT0zW2BQqBtK9ByR1X56Tf1LZ0sRRgIMUXg6VXIyvrgjYtmI5l8dQXW9GyBLwMwz67taiLWIlmTsgQQ56SR25cLsiNwDNTx261k5prYdwMnLcoEb2n1C0QbAzMpxY3y4xd9bOaom37yKGQlQuYnabO9SdTofTklNGcVWJtjOFNQCJnBH287nKRNQI9xQSbYfpqqlOrJFbSww5QM46XbL", "9d059bb8fadd11798087abfe487b4cb8db094200"],
["h4S8XoEqqsWzQTIj3vZ9d6kgkBn0Ttd4qQJYU38WTt7iDXxiNiXRSZ3RtkuSCGdx156SH1l8LGpCqiEdb66yIIB7ihKBIvzp4HHitdD9RXdMgmSNsysHkr8jWUD0OWbCuBgA9cYUD1lkouWSAsbiwVwHU0z9Y25S2DStRPOa6zl93X3SeC3M8GGdmeVcOVWQYJ3Tv2x7FVgEQPsySRz4cF5emkgfRScqTCbyUpNXQl1UH6yYpF7TUMZsXlqMbClzKx9Nkpix883JQpTOY9metmHxNrbrGfw1nO7gX6vUeiI29StSOuAmUVrvnex9ocG", "1079fefbbc8d045b3dc8e9ffd5ddaa8193dbbd9e"],
["qnk0BcvfmcAmzewISu5h0csxqH73pVSWd3Qatb5exsmifsvgQeX0irfRVeBmyAQ6hXF2SYYvW8VpgQFWqG4cUilA0S9EMGOtb9BWJDVGACKEQQ6BQ76NRPA2kkHni9VgkdqnrsOKoJXf4phKCOiJiArTrvCCyB2jUYUKW3Kpswxa7Ui7GGVxjAO9ZTV008m77e4XXIzQvLmgqR4NA0wfe7bMwYbSrlqtUOhQHiR6TK1nAMxWDKcgCwoKzv3Km75cKqHVIeBF3NFRV9Ws3K6O0aihEAtWVPsxMD4syQrLCGDUPxK60LwFvZwbkH62z4WV", "1183c3b7210bc82de1e7a4bfcfd1a1d2b00e4035"],
["aD4IxvxYMPmbJQxPNtVNSdKb9aAPjN8RvL6juiAmXUPEDuapeQy9HSoDazlR3UDgGavW4hQTIxHXUalmTSTOLt2fxGmXqR0Q9VF3pLNlbsCA1qhkJOl62XwtFHrpWQKVnWUXtVRaT2Udl778D5Zy2TBP1EggaY1hUzgLnp5sHvJdy5lrTZNzUU5lLB9nlx4WYgOJHoZcr3AxPiTFsZXeoOWIiONXenOQ4IoPw06k3rBUCHRWfnVDZQzkkxwfYzIcnlYbkrX7Kehfn154Zf1MLnDMzFbzO7VFq2MawZNHovhFCwuECYIv57H7uwazCLBPC", "15a49a66bf80ef96568734e43da829f0edc61033"],
["6VLvlNhybWGPl7S6naIbm6OsxNjs27oyMV5S09D69zTV5abieOwNIcUk1eTYvFORGavRCiB8oWyXHjLklaQJdr5if3osPzQANxGlHkwhMjrxI8Sv0xplet9XCvR3DOodcJYyWWGalVbzBHwSdbunAFuwSti8a0BoQzjI4pywCMs7fhAdJONgvvtclCvzpyF1XumamGPVWfd8ffsQ14A8d1GRV30VwSe7nvP4ecJTdEciw5XqbvatxXBR1Ryx3ldCae8sIExqJHNuJwLctvfDS4vGbJ9SzKNf8JacZf4epz7Eehfkq2iczBYhvrHZ1EFP7P", "a257772a9252dd1894d085d3ce51817d8f6efa86"],
["0VenXnWd6UUCI9gm9cCIIacyuw1tH1LDmQr8harED0nC1VMJg3tR1MoRG3KtO9bCw2ojz6JHIK24TEoNCVBlQfGjtgNmBRNiuWF7210ca9GLXreeYxk96jGnV6uFGtygMwNbdvQi8JXurjxBd66HfAiCKEJ6b5rYFNssIbYl3saKRhvJy9pj7HGXWnlu3yCIXK6smhiZ2ztlT4OrmzvQRG4LNvyWX6A1iYwvxQNrfEtmNj15C4k9D4QvjPbPg8ubsvgDttlag3qA9mPPFwTQwNl0yodUA6NXxbqkb5V9zxlzeACFOjbCwJVKkKw3EZBwtBR", "ef61d841b1f4d29f6993e2d834b8aa4cbb8292d1"],
["181E6JG8EplEnKN7FYPtiEludCsv16kLtzjMgExlKukbep66ex2emSzWwjnP5dBx6PgxQ08lSc12TSkBc31AiPvceBFXEfiB1Q0nhbrwk9ZkqLKCowrd0NavigS1Vw32lYldTUDEJAncu4eHQkxhdfSO66vIz6yLpFOV2hybgr6BVucgN0PVVMEYWhNESv5ahikxREiaodv2GneYWT1rqBtpfyhQUBplmJHDXfxCxp96kZQc4ftwQUquV82XGnDIENHf94a9naMH10uuQ98qGREJMsgebnv93yOb77K7XQ2gHH0WzdK076jNpj7ftir5t6V4", "712e706e65972313713dd27d2af6a6cd97872d15"],
["zHUp5s7GSb5LjvD1EOprUDQUggygvUPqVfsdhk6IDmBBYYmAtG8HbJBMotsdGDBvGK7Mzzexe6Add8Sj8bhorQrdfLSNz8C9fagO9yfQxLWYPv1Wum1elwKOyZcPrltDmHsCCMvj7X7C7NK65CEXwDOdgfXczZs3Eh2Hj7J5nU8TsuIkkrw0EXLYOs5mZ7O0VXehaWKNJvH4nOgT8nh6TL3RIWHza4aQI1GN3K7E1yhzIUZ5aH26pJnhjjdUZ7Hjf0jwjzoTqHLBaPPbLQzF8uh19LndugGz4WNlPrVGAsSX8PoZbsL7sv14QWLnthTFCiZFn", "6012478a8dbadc5f801e62fe1e898fe28d1756fe"],
["DVMEz5Ph31bbpO8uBTog4YjC0Dp8jmv6nYFVRbzcOjHksjadSPWS1yJ4m4eaj1od8cvH9e8GoUjxsS7CuoiM31XWlGjwTGeJS3tnLjNFeJKIVIqWLjrVVEHQS1Mqr4cRl628jjbPHMbjgrfOf6F9w97oxlGw9crOw62A0IgprnpCCMSL0GUOjWdjlSV9NJzAGlfnO7HwBE5y4ZMKauQsoyLYUxJBbYAgZT2hGsYvZQUh4PxMsZn0gFR2zzI4YwUUrOWPdl5Ent4ttYG5EsSqiOBMwh5POwbyOOfnyI6DjvSIbGgntRBD0IK1JXmLxmyXYgL9Ey", "27309f79692d1abb6fe40fcba0ebeb58cfcf9c2e"],
["U9xyX036gWajp3NUourPq4SINN1uSK3JYw1qTUxwa6cvjE055oTEmgDfCjj55HtxOHUeYNzKsWtMszW0EhHXfKD1W4NIsze9NYMxIwJVLoZ5fBh0ojtDQwaqdRcJbAC28UxBk9xfBJYCwHfN3sa6T5jRp37NjrdTAl1NH4Dltk2mf2i1s2SFgSyCXhDCHD9B2Iz4mBAMpmndlY2wPzw3ePYFTQfgnzxz0wDGiCBlFfeyYKGN0M46rsBjaSo2CK72SfTih6V7sjga5irYllaNDUeCTdcC8kCjim9lfOxpDmMgsbKkzgAtve9NiXkrj5T7Ye8ThPo", "b3b8c1eb8fbf3f4cfb2be04a17d3559996c52c0f"],
["c63lWIjPUQzcdSzF5pTI0HUYiGGqhUVfNv0PbwcPLvroC1VVZQPdROxGoZNMJvMolCww9Sr4MexIKmndZmo44V5fkMocjJFuW7fOz0VYVXJdsIVVxiueDm8sY8ESrFmXfWxJ9qsrmo1eeIkryCHKfEYkvAeNmQmXjKizfrh2CeDX6hgDg121YocI3e81RmUFAQpGXB6qwe90znY82OXWICngITIjNzLZId7Rw7RF89caKQHhnwvkJJP2eEj0B4XKbTGvA7hUnjAJoZn7aX8oVJJbgyy6iKOkRv5Oh7PMXggmWddOHqTv1JRKpOHx1kpCzvX635qD", "dd47b9b20cb13731fcf43e451c19beb4d4aa898a"],
["n6NYZkCfLdXYG4y54waITT7GRlLtNSzBCi5OnyLdNGJyZ0YjEdhr1H2OnpZIKad904cSC49Isek9JqliGftZOq0Li8GjSHMGfsxyj3b4lZA9afAxC6pFJfolH3ZrpadI6NyjhDZMWVAqSYnJzwCamctsFF8DIr15U7dACrJrMZWVUrrqAmunf9B7ZcAo17NfQ8wPhX5Ic6KQNKwDzQ3gmWfnv0LKQiFBLChJGrrejoq1TY97pbvNqFyZw6gFmilLlQiVvESrBVuhjg8gPHIjfR3rTLcZIaW8prTpZHa5NzQhuXq8tbdHaPSArIRqsvhTPX1T2oVeu", "4fc5e2efa6b714f5aa015e684347a3b86efa427c"],
["Xfe4GD3meBzvLohi9aCbUiFVLWwLelVuXXcSYV2GI2dBo1fWSaRcOpb1Qda5xi33Yp1gHEOSDlYiGdXbEmfsy85FHmJSKxrsN2qa6xaK4ctsuWZrYg4IrqTnIfo384PK30zp1xJcyrS6BZLcEQT2qMxbnAnTi26NhmUQNjo78hGpPmJDGPxwDaDamjeMEQ440JfJRiEejbj8O8i4EDAtnYUmo487FktxWxM6InxcBRK3P9pRjw0JTS5menoGkvBkwoUPySSYGkhrZ07MgZrePNPzd2BYfhI3ArHJLwHQfVQLuE7uADtPrwOBT8axthnK8WvBopp3id", "c9bb1daafaada3fc43f6b1b2b8e89e606ce84077"],
["XWChw1HGswxNYNqRuHV2TGvCDOPe9gihTSOjIjhU8gUU9pr4Gr4BYmkBPujHZBrD9g72XVBRziZ6t7iRcMfjthshsux8eokOIJZ8FL6KCHSBXZc5zYSVVKtpL7AEJ69vxSq5KAVMk6XSnM7o6JyoYE6r1Au4ECAlCA0LCUaeJhEN1eG9IwCFU3Z84oGmaWF2RWp5kPSM0glhZrFMFRsHTgrW9P55gIsrKvyl8kXMOXSdkKH2g6zXhyFDTSYlhlllDLwJOVeFw1iF4a7S7ui5a6pbv6eB5NIDkeRaKHWuVzYhSbQBHycJRF8cQEWl4dGMVaieUeQC1Ug", "37c42d4605c4b573441f452da95faeb6042352f6"],
["Ztvgjht9jvqmqkhFewPlH2KFlt2Av1g33Q9107W5MHmMJ77Ef5FfB35hZqeBNm98WCbcj82yoQmEDzJmMUVxdWZ0BW5VMirT47FvioMBPIL6Ee02lOK2J8ft5uOmYqZKjegXqzt13Zb6qPQmCwfbz6OvCbKb69PnOT8eCtvHJYOYqgW1OJS5ulfGqWwrRlJWBSTHBKaHa1vo9NosMPH4g1nHedb0ETZ00Gkolrn4fx1jitgByYITgUC8zM6VX5EMBb5ZVtazzpj6j55xOngpDnLFJt7ch9PgMxIDk65nzSJHO48p9d0EDZw57gAsd0qsKlQGc1McfYzh", "3a573b65969dfb923b75479b9d6861931fbd588c"],
["k3TZ5ypCi7nSFMdV415JYpYzsTlZhhSwwGCFv9LElBNVL35TeF8SOQCxHhGEWrulfGkSpaDOjg4PH5I8k9zUEvcMQlBtkq8OKYrnag4QQITj4qMqgn8g6QqC6YsMfQdKbfbulk0GidsVR6ld11voS6EpSnsIEnH3HM09RpKI3QFnDD1ULuhs9NQryUENFmjwOTJkAjAJFWrgFyc4xnopY1zohZbtzJTNvYDzWjRxSrR07qLgMoDkEexoSgxDVZLbT4JoQTulNgFRqepqz5Ej0FLp7KibIkc2484jL6nylwGGueEItssZZQwz2g8a4qK2qNJ15Kl69i1Tj", "aab07f72d4b7b8bcb5ffd46c8969579c5777513a"],
["gXGY0b6MC6ZxLqI1vAyipfrswCE3OgabgCp4sbnwPhslh2B7l7uaw26En0uQmUHhh1U1TjVaPdmAB5oPeR8YQbrjnIZNUIlhMCNjquMITVIPO7n599ePXpfXPnyl8HOTamnItAhemYjWxlz70PpWMs9gol8rnb5J9k0oTCR4W2L2DtK3pbwbaa9UMh02GWMah8v7x3lMQTwCL62OyDX7ftbHzj8hjykgVAMwArgWKnQTBF3gfCU3jAJmRPwBbCOD04o2lhjNzaQ7ELFpty3RdLPNQMskieKd71arGnfmTXnywWNMIpT0cWhaTB8rEW5azL5EW2wxu62ytr", "bba30baa83069d1d8a2292f924f09f66cc7c62f8"],
["qV1838QuUJ9cFzkvEPf0XDb5vaHoOriZZFewjbuP3D6ngvEGVMGAttn5iRnvBFZagJQKoYWFbssD0Y3PkqD7EDWoVhUKIbpxNQsT6AOuKv1PDfynd0U7NhdvnlN5INMeNBqM09bTOdpspSR1DblaVtShgz6jnzFjP7uw4wwj2CiddILj95dg94Ee50yAuXoWZGuT5rLq1aQoc5jdI3wFgEHSJj6rvog8OEJQITpsOhrpejTnzSSOzzghXYsBirsNCqfjrqPI9lL7tt26XsFx3scZsSVgAW69yI9OSIKGQCOJrd4GHUijmexpz8rdfoYW0bO06RntUICkz1a", "fcf64666bbc4b2d9ccd36595907257285ececa49"],
["VhySt0mtUrUbcsGC8dsQGq4k3iOMV4rvfafqs4hmePEPM9B7kQkGmBmxHdUHcF55mFyBsARzEKf34jL2JjC1DbTu8K2tzFdmtSD3VP6lCSe56F7WUfrgkk9GKPPgjoe2mPXfwRqQa4LL2lMbzUYh8cQVQNzIpUQZTlhg0SZegBcEcmsRqz12Icwtf4LXq1DKZ7dk7pwIBUrjCjFNscXUrynBRVtcLvpAH0G9Ww6nDJIcWpg4BcvNAlzNu558IHgMk4KtWabtR3IzoPkVUyzgMlxDUnetGdkkE1uvSluajTG8fVN41kT5unytjoMSmuPY9Eb50N46KT8cVHMs", "caeabe29973401770150e6a48c44d1c95b381150"],
["1SDKjjz2C5RK3Dt2Cpaoxvpv5Qy6kjk0RFRnFX36wwHp48VwTOimOeOp43KJrD34J2l1xtmNkrxB3DccxdCVPcIg83lg6ZiKf2ov4NfXb4q5KeWI47Vdkg87kPVIbf68GFfybJuTDQGsZaUd1TdqM4KV1aU1In6u6CqA3lL8JKoTwZURDmhYpUyCosVGFE3JgLyQGr7wc69p4Sulz5JUNmRNpLyWYAk59OZlVizibWje1fREhJiPzI6ijS2AjeFXRlBYzQt5lXcOY04G4EvCSc6EiNSUhOPaC6AlSF4QJFR4Xm3dOC5Mn6tQVQ08igaZS1sH3EbxVwiTIVCCS", "780d0172230a269c10921746c78046aa0773b2b3"],
["hAuc4sSpAnB65f9vcfs91eRvgvNXNX0uyOcGGEt4HwUg17xu6SadiUQquW2gttA2DfrzlO9aca3O0jtrSQT5SdZdrDAYJWWxiXFjgJJ51xt3ogZ2tAMMzhmMkLN45ulYgQWmUXbOUdDFI7aow0KCl9WPdRq4hUO8TDlLY4ilVGklLOHWRuRkmncsMWMHqpI6q7ylDu2Xuxu7NnUPWgMeBhWrAfxgMziBDUPobfEzfNj5HhnRLCOxJ7endFFsUIk9cswaP861S1rhiIAL5YpgdFTOcMWUWnXG7NvVuH4Dl0aCJek4kTU4mHsTsaLiUrlqLbb5CFoJB8gCtLd7rY", "8b7528dbd5194c3b1036087c5b24645e8e8519c2"],
["6hOmudbxrBIZh0pEpZdOxCCXViuIJ8ju66WDUbbDGjpdDrEbzAGMCpA0sGltmokAOcRycfru9YYmW36QgQc7jCWztJ7BGeNYnBJX5v36S4WfvBgeMrNUlp1wvkmLF3gwLatnM2rbqAPJ38Y1nW3A1FU2WomMBguuMVuuvdrrVTj13mFFH8n6Le2rs9NXTlWDraP26REIGLziWiLaUh9G7klCrEIAI9bAEyDlwdKLvA77tShHbr1S2eK4Y0NVTsCqtrme5pb2ur2bshGwVQgKnJVEFiEWOPqtrbZeq0tIQsP0G95ioJ7ilygZPecIuKKySsAQHIdZbClg7TAWhk1", "003945d80b6e948dc723f92f2d08ccf08ea503ff"],
["fqnIhgVDutWigHqGvSsrESwf5Z2Ym45Nk3dLva1d9UJM9lB3pGUuPNF93vlyZlVEPYKRCAhap1x9SczkzjmqSYzw6wAkHKMp53rSchMbUTxqwB01m0eA1UaF0jBw1PfEg7dTVnhuRbv9tDhcFZxgHF8SYP8BdwFGomDipX2gq6vU5WOXF3pH6lOjAVbLYWKgAiVOfYKFE0AGt3T6nkWEsaFWE0uN99sXlz6jRQZtZLjZUfKCHwWRr5y1HgLEdGSkcHQssu5hTVKWNfbT7dyEIAwLArTQSdMTkHIxHWp6fSqLALYAvSxwg02CipDjgbDXPWxBaJcg0oEqbGeGhViZ", "06abe4c5bbe9591864db377c0fec1b60354516b0"],
["MgPkCIIJduiAhpxJQ5g814Nn8l3CP6cHYpaKvGCs3qzq0SzcVU1gB2YoEzg3racvvH1Ew6pfkClun4Fdk4UvtDV8BYjoWNmEihtU2YqBf8PjTq4Z64jKiy86AeCOSRsrxKQQy597sbv3C3Vl0xWHPxcSemZuBCiAUKGHkavpNeYNkmw5VCYzYs1mgICv3XoPyZHnkVA0SwWYpBs6FlgriHLM6n8cfHqowZDcT3OUfs57xmhVDcr6fRXzqWlj3aRbOB6QHf3Zje46p9bhwpQiDZicFP0dH6hgCuuWduTJFlbCZfqTGIonB2ezuWpdqzoGHHzPeFlCRFd1LPFbsFXSw", "0ad287b42a2259d8f53c9e4158e6699cfb2aac70"],
["MaA1t8mm0QqLN7jpGXCCE6sj2N6Y8E0vfaykdMZ75z8YmHD7PZCZNLTJdB8t3j3yT9zaoOCGHM1kfEMXPf8iYn7bBsemLnsod6rBvLVWCwzFJNep5q8hsN8H5lpkeloehqZK1uXSoRphCYiWvOJLHjdRkPpX3WutXJfHaHBNOaO9HBpLxbdzfxAF3EK8SeYaFmbGUXO7VSu24YFqFZ7tzn9xItDoL5sQ8zRJg0iHV1sLswiwjE7ZCRBIvBmLiP6yZZS5QzTIRMfwJtdvmBjDRlE7IM3COKzql8VRbOZgkLYQf1nzp5tHaDRd2Onlj09Nt5CdF655gNT43XLDyZO8LN", "6c33817c9ab63657bc89ab3d63bd45ff94af090a"],
["dCbMfwu0qLLIkDtVmewbTdfOmjjuvPVzR2vRbIhHUee6VfZZceHRAptOKTSmuAAULaS90jeMPm1GZkNslO4hZDBl8JbpfzfARvZUka21x12dAWOxuXcybgbZveVAIdDc7SSj4viAsR3MLnaHKl4enNK0W6uWPqhLYATDLY7t3oY5XoFkqotsZGG1LAlLA0yBH46aTLjgdSytf3XbRhpAeXW33cz2zqh4RH1oyyd8OxSICrB1GLoatU1kBmp697GV7W4puSwEUtMg0evHdgFvqbTebYvgTgxIi8iGzgTY3KBzR8vlrkiR7BR6mg96aIEIDZ4OdBj4mPtkC1i3VptdhtZ", "8090e0236d37521c4cf4dada99982e315710382f"],
["248FizY6AQgpMEp5m0N2auwnOYrvCGVWihzrWHJijRd9oTFE68dTxBfq5w6T3epqvbPiIbl6M3FaIWjm61HvRNDUPYWfv9tWoJ8MuzgnwEOe2RVE3zo53xvY6vqeXIZqk09lDAA3oJrGTMUFhUYt0d17GXMnEDBGu5OlAIX41qiY6IV73ZriyESVnp6Kdshi1Kbb9jWueFyLfNXrkWluoVs3odcVMWbRaokyfjbnGR1jd9kFRVvainFbXul2sh9jNGJyLGvVMcbLjLBMUTw02VzqGLw5nMupQtSSy3TS92yZweKc8ZiCw3VsI8jtPDqz2cEKY8GigxAPQu222hJWDWpt", "d974869899da1a478979ea7de28b276ac6af6c6a"],
["fNAMrxwR0EWxzjlFpFpyyzwIIVLz1VevRTV8Q77c7U9VjtnltseG3RfvS6ys7lc2Hl3BhGP7491VcMn9OZmA0mTtmBMbzOE82KqgquwpbFAhekLb0mFeyvLU9khkBwpG4YOFb4OV8sI7s8TNGcOffd2JkJLsq9T0YKe7OA3yXfiKlaut5fJXP97TIu5gFhHoXyi9kvvFGknUgi7kCMhl3zfsiDXZ9xgTZ6Ds9TNQtDTEgLDfwSVuwMAQlYqovpoJenjJODa5vrdxw8f1kU99j8B5QFwM5E2Nh1aqjlyp3yvQgzL3YCrZPFW4CjCWCl3a4LHljFbXi3RJhYvMD2VAG0V8x", "e6d581b4e9595885395ae59ad2842d227e809065"],
["131XQ2crDDO7eM9XYpjHge2wh8dMb323NRx5xOABEInbE9BjYg5HF4M0aZfhQUY7Ovgdod6uN6XvSpmsN7mV4oQIvqIVroc56KMJlMSyUsFS2znYs2FDsO3MqNnosKcCcYlOeAkHMgOWbo6KHAFXnRNP8pyEE9OWZfhRzbkN421Sgru8QjuQMmM6DTmM3OKH8et8RraKyu5tPb7a8YbjsRl1cJQIGvmKVfSV9dMMlG451YkdkeogRDtdQ4KCe40ecpioHIt4xbk4hUzCCRyDwzGBzBwyeeHwncCe1QyjTfXZXSgihwLxmzxj6b9VVSVu9Y0mhhGyjqq63rBbht2zs80fJD", "bf4d0add7b202677776f04842c98ec552e0a9075"],
["vYRuFlSx95EbsXqMPSyOl8zpsrygllq0wOTejcf4fL12olIZEUHgDcoObMGCmmPftRwJ1Biyi24kWPXI4g4DQZArj6T4ASQn4RXxjhihPLxctc1Ns3C4Jwlr7xjgQw46UeGRAiFxnpjesJj78XkqG4CmVuIn4TYVr6Nc4s5pjRsNrd042X54pgAAZJyzaFs42iG14AxfLY0WWK0PPVoZFFqXKJfJZeQW4JjI6RrcDxT3KPEGrJWkWHR1AwqoRV6YFtVXgXQ8zx7ZFqaiHg5dcjb3qgSDfXE1dTx2doQGkByCyl8PBviAuld73zm70S1jfAfqSkZpTd1B1MHj7ChJqAFuC3r", "971900bd50787c5fb756de2fc41de3cf55dd6734"],
["CnUjVIgkUq5zz1sUWB5lGAjdKpBvtoGcuVipDHnLpbn4eLXXNZrvfDDPQhYESwF4bHDgWwVktHu2NRSfxjccsPvj81KpaLuxCMmbf4J0k1BHSzJLCOmoL8blD9IRSojSoN61O6Z2maZ02QpnM1gZ8S1Ch4qJ850EoQo1RFU53kiiGG7QuDjcgyuqd5MmTcUDScBygIyQQW6FbGfB9kJnhnFgtI5CyAkq4fuGx7S0QEdtkHxVK3TdrtPopicyP9pKtQhZy1t7OW6oAc8BuSDlDNXYfv3nJXLz3tPcS5KceKer2NQMuBXCTt9rraoogydxIYCImq9Yb2yRakPkdi85jbJIUlvG", "e11f6065a9dc3d71964b48a08c6a268745b95dea"],
["KhYP6xdjBbVuvwo7HDoBarebVuJkrU0gTIGz6uaCcoue0LsG3I3XKsTbRwOPWcSmCMkGi0GBX0T3rULRnDOmeINKSSRuMjbtBrxjpO4MKLAhyUQAa5ixUzrOhIvYuI4Gh5C4DZgSukaIiGDr32DqJjkvLjIEzC2JXltJHSwo988WQiyuwGCLeqT0EhYb5hOIT2nluTQPwO0yXC5KEvIt0eZVpEnxTPkL5BX7sYIZCp30SEAsvb7rLCMTXIktpldZIQNArba4IJ5WG7olSTbpbYUu0RHALgRTQBsZ7NykJK0DKk5EBexuNMIBX3v3PidqhxKJdtbxKNK1u9kwuqYzMy7kD8SXn", "5c98372cbdce4cd6cee24d6477f99618826261a7"],
["NsitrkEqCYMmgA9Nl8dAjeo0Ojj6k0COQVcvuhHyGyR1VMIusfxDKTxVIKtwuqli9bwhgqsnN70YTSnvN8XyfUmllUjjn9chb8lDU46FRUtxRbBqdY09seytjUxS3ckPTpA7dZeV278kjFzMfcDtFDFaRgDx5aWi6Il2Gsss3mdUEJXn2VhNwZgpDFtyNDHnQ1FQiovjO8liUBYzPoqxWpysLjh0Prhcpn8zuxoDNU1COSNdhaDJ40xNseuvwiZthPxE0X8ElEgzDxsel8FlsbjqyXOka4iNC0uRIalcNw7aGeI1CQkVWtY5cfPPJJqJXgPlFart3LPkn6YOIo309YnDeRv3pF", "692b23cfeceb9674d86b36e6c0ec866db40d1db1"],
["67PFQ3CJ8Tn8SrIyVIuwUPQvbk7r6QkeQntvP5HXGsBO7fo1PcNkNdSIYFpTfjT04AOAWUOsQqgsVDWQ268gL677GlXzH2I87UgmvQqTuBHQvA3NOjw2E2bA0WhFFuec5KHVCly3yAgQDkRQDTV8TXn7I8QlqCRMhMzRC8ETnR7JVncSJlg3UbhnRpJGY6JuopI5Yp4UxI0lnwAzk88oNF5OMGdgXUfTRJbb5koiN5Z7ZAl6OQKfgeuV72KRANVNDtcLw1yddj3VfGlAgFJDmYKGQJN8ioGXuY9R9AgX95MLcV9cP48w5I11gsvP4HYyjok87MFYNmTVFAKUCgu05DAM026AIHs", "920487f31713a5cc063fd766121ef8334ac32823"],
["7wf6i3U6dKRUDj7T0sgFBDoVj3qkw9anUG97NH2tfah70zLo5nMdLKsYmZ0Srwr0uIawYNycE5uHcFEDV9bTgXbJcuCR1HnR2NKU5cnxblFV1Teg2nJ9FGydG6N8tnZqWAtbUhnQzm7OcAEx3HiyBwzYXMWRwNCJ0JmrLViE57f3awGDbVAOlfj3hN031hBqA4cFGGHGJlRScWCANJ951u3Jn7sZKBUOHBNfoiKznHQJHX3NkmYOqwo83OildGjcbIgrsQ8bE9MJ9QuBQ0miA2hBPKfQJwKINqh1AaQyIkrk4vAE5ipNsFKGlq9yiLWeazkQMosnDL22J6R67xBFOjbP1dgNOpNM", "7214560431641d870ee929f3e4eaf50d9e064903"],
["xqk0Q7TslyDp1qnwZyjTbRv1SZ29rUuVVXCVgEeDIgtIDgd4tm0sAMPQjITmdy6ZbPvvre5x2bun9VICpf0KFmhayIJc59sxgUVtLPYwkZrxLyyL7yR63FvW3riETCKSEzmAM7IG9ubm1bc7YgSqkvjt1FOXBRHmYoBRaob6A7p8oOPQbVRKR6FXLuZphhSHuxUwD1BSEUTfXBT18Fk1Qlm32Zp4shGfuzMzC3v7bqtrmGGqQkdJg87x2q86C8RhtDUb5yDbvuAUivKv3LhbzyuZEedMVCMmfy6uPG2JbKGTT9HN72c7Bg9ptBRUbFnDJ7eVgwAKQEnvJ3yaLluUZpid8qDvRin8l", "d36b06c410674198098a585ca261caec283f349d"],
["qQ5V8XzPT2f2KnA5EHvCAPcxKvLy2jw1oMwy1VsHlvqrkv9zxIue9uqsqVx0O484wx3xFPt7udstywJozBRTuYh4tBISRw3EVQD4Tr4FJazNWRc8xSaHCYiUfzw1FgHfvwvhqMbOID89RFMx1a9gPLJ9cTIK1Gyg4D0S9M7F1QvsEfsYW8lsTMo2UTBmCA82PJYnFfTFPSVzizwXgfaetKtJ7PE5y8MDgIykeDAOZCPKk5QJHJebO7OQr6Vowy0xw1K1iuW6r1ej0TiRkzNB5xJjdXCHEK28z37mXAfMSkkLVIt5zdO4VetRo1XemfdGusFU7mEPtgHEyI9buxJRQ3saJsMCXmYJ7H", "6e076e901e08517bcccbf9f869fd4322f57c47ec"],
["NMELHVFWycblQg43jxyyx9DgwSei0JPfzErEP4bAROgLjQDMSH60O2tBwJDSztFfrXomroOYVd2LDRnYuwF92rLsk3dtmq20f88HtABAQvsysX8YRkZKhms4lhhzFPqEpgs99YFVQHGSnFeDUXUbKRny1NsxGEmkd2mmwFUk6sY9djzJZef2sUhZlgbJlAuH7cU81HJCI9y9Ax0vBbMENzRYMXEDWkOzAYis7rGb5VdYt70hEBwhXFKBB5KugMAM6iXvKUC8uCkCtuDnO6FaHNHpt8ggWiWK0PLvb9Ujjql0SAbLukpo7ytCrDkGeVaEzCxxgPUwQJK4LyXTd4iqIaGFEhSxd8RKXof", "9391608eab01b86ae6433c6c7c227645f71b23e8"],
["Qlfi3EWn1BDAkWihyhAH66EQeo3FEC4xfKK9JuO9spCu7NttnuWlSE7zPIc3LCPHIld1sRJTlMbZKY39IwbqDR63K7b312tOuA2mEZw1dNj8XPiapYCW3x1hkgkzHjRQjjEeHwZBvne0nNokIS9uzu0UNQEZtityjHpLIQjLWGb95ghpUGCR3QFrNzgLlMX64TcebqV5vLiiwIPP3M5cEDdrWJKocom9ohhx8l7x9jPk5Zyxp0p2Trfp2Ya5VKErhAzTtc53Srvwelo7TzK49jwD32aiHbO4jtpwuPd9GsTjCBj0vIEk2qb9VJcIl1ktSrB4SyoRjHfxvPjeWgdh00Uzptayeppzjagf", "f16e4f0bb5321d39040afb50d0bb6e8ff2bb8962"],
["rMaEd2czLc8Gd4tUmUTKaR67HNv5hx3CSwofeNHxOmXYzHMgplneF2kl6rBuVm57LDWHc5TgyMILww9jNbMfX0IOrnx7Hp5jDYrVLAW3EEioxQnffjcqybMsp6DrYjZFk8amIHnZPHgLqQe1nyWiygxW0bKYxPt7dP8UEnsuNw52TAcXNrBLG39NFRkPYbE8JGCNnTdTEEsmUDrJKNeJEhnctKNowyweBOtFehv4EodxnkpB8ZVF5HmfX099Tqsu0t2ObcZPBjd2R93wMF54Pp3gPVqbumfn451SSnyOBInDZ3sHc3BF2Syjsv1h7AGglZw0K1TDMHVJ53anVI9qlpjQApzfWqk0455Ce", "39df34550396ce198656b5f5e53d76674c713fe9"],
["n6n7KiXnWjEkArXfZ7Fd2W5mMMZ34QxCUGit81uf6XZtzKGmVg492aj1FH7X2OKq1orsZEjpivwxjMVjuK06e0LbmWgwMUvv3Xhz8D9IMMRvXNS5dWGjscWTvltNWEvikWPjwX9KwiwvobzOiPuYPcqFLHxlvMpYevxBYsOamWtK6x1nlsLSpDy1xMPrjocJ5Zy5cXnbWS3OAiTSWsTvZ2e7va4LosFAgXNyRqIQHcRlajKGmv2nYFwUgQY4ROggBalpksvCpMwS8c4c15LVe8MFfxnSslTEHMHOrpqmn82Xr93DT75r4TfdsRVuCaTtJlWx73y4VrCZkMYu1Mvi2ViSDpYhbS0GzacYUH", "716030543a01c94aed4a4b2d2eeea77e4694babf"],
["DftTxKw1n8wuqn33hv2THTepo7AmDI4B6IlmbAB64aZi5ujcr4Om1M5K515Q6DlForFyHf1lAriDR3XS5wuwvY7B10ZPX1yBP8ljYzRBOBusFfQyU9BDfZmCt5eMIeDn7RtqHJ6A3eThnpbo9GzUrSNLWIIVOSjuxi1VFNMEjnwnKtt3Cl4Ow8sl7Z9c18xEdwGY1DT6QmSMIk68VK0DptyN6lVvFpUMsgDtdyOWCrx8HY7L2afFtjm3RuhRKdjnqypuy1u1CBdjp9YnEFlCI7ppJE42BA5hi5mFi0JnZeieXBjfLzoG8sUjdfy282quTadfKmd5D8bV9rJRCRel4JBmMvL6uBScYvnswLX", "0bba2b7432073e1252636a3bdb148b3fa7636346"],
["MklbxjTWYjSq8Z3adDajFrxr4kzXpXi59uWtQeZ9fcagETptYEYlonTa1Rlcdbt4jk94bTLReSQWLzFkS3J6HSp6CQd4eqQsNNI5aCPyWqQDupCjFS5v3aOClQ7UnUErI7qo1298F6uCi5mB1MAWM5YKtnsdyRUSSh293H6n0Ls18zzGYnkMlQStDQ9zpCZlYpzeDNwXDAK4pRUWddGeMWYDlobBbA25P5RHJXNuxExuySrQaY15JkypZG4yXe0qtjjpilOUfTOnYxkkX9ybGw3ITO6aslSeZB531SDUSBR6sVRRFkAlTkomcn8ijCXVJHIzXBZEO6QsouyzeSgTh431xQJCJxT67ZvqWgq1", "2a071ed17a897ed3cb611214407bae366de931a2"],
["vFuUvyUni16CaLE3q3LGh3YgkaH1l6W6F3qnoTAEER0x3yWkzviLB5tupSPjdwZUhlxF5HkLlFGfW41WeFkrgtYfYKDiGZ2o9Sm4FBCq0siQok5qAYAktAon7AiFFVsioy1t3wWKd5BP3MPXl3n6ECrqSf68Gmfpt0gkUMT4wAaULxxJn7nJ5NbMZH4kOl5B2ccJZCQ9qRtDwUGhUOaJ4vrewjsF7xRKKrRAo6eHqEBQmfNcHKhCP7KhfzdT7qQOwiFLAonLvtAQN3a0SMt0lsaJSODAbGtSYsWlfntpawnWj5Lo7B9TgwK7DqWSxPO4wZgN4DRUGU7aBaF3Vw2edluXva459Xbg2chZSJQk2", "34bdb78a424ad1df4f251cfb8e98157c87ff21f9"],
["cOi6khqVnlnLBeDcGdufs1r9YNaNpnfPwNHT21u5LzjybdJEMEwjuxteCi1isTRhvXq1UsMRLErQkCI1lDEVzpicXeUWYQi1J8z0aM4pRBPQH1HzYADqtUASYvEAt7c0fFMFCHZKNvTMcaIPtZzPfFxgWTjU8lp80lED5gjSwWSulaYXoJkF1fb6vU6Od4loqMaK3atlqsUN6EDRktNMZKbcNUDaM72uafm0gHSxX0xQBWiNWW7AoCLkJ8qPhmR9VAt6XiAOcNcTVbhk9JDmMXOFwCnaPMR6n4EJbhSjHLvuhVhew0jhRD79qjoiLT5uJZ5J319v96BZmFskG0myXvpXh6027UyMlTdloKJxqH", "7168539fbb2e12d993d43686038e29512e9b9041"],
["y0bedsbbApDC0oWJXKJTHPqUW4TGDewNzCqEIjn6KH6ubAuXxTFyA92v86sYEfOyM2uKyBt1lbCH4gS5kN8JBLL4OiOx9EhoHZexneyyQn0AnlUgwMVPXDWYIzYLVXNsdzmPwecJPrLBr5WgBshq8iBliAwAoin1q60AnKpfY8ce6s66RFwteqqI4Ktducw5wb7sgPKjAus7OaHkVAK6qXBGte19LzTYxNyoEX0QdJuvksTrLITzPIIoxuYnMFBkvbqsnTz92RUD5ypwlte0QIxymHodlv3VXLzjJS0JBrGvzW4rcBQyS1G7r3CSQsVK6vW5ciyvUsG9SYbuCQ4zEUCiyZbHc37eTuWpCRzYCj5", "ecbc8c32dd324502680c79a863d1e86a5d962884"],
["R9UBADrQWf1cWCb3xT2cBVlsiPNYx316xGiHq32HQcHHOZpCvfMXfsimMpD5dcqVl6jWrU1TxgALEiUuCOClbpL25i8UorGBcOnlbW1oPer9xIpq6g5i0Zzwvzde5I00AATp4oqVaKVBSPFawFYZB6HALXgbZd325GcpaHpkKUkCDdO1cgwnMJWyGt3ixcwu2DSRrkYMmzpUihfTBBoJphxf0IfxQBkh2DUL4TEQEVw3obmUObmcWmS2RpnOKgvnz09hfxVggQ87zBoL3nT9LjsrUsuuckv1S08ueq2zjDFfmI6sv78JVbA0ijpwqKII7giHYqwqyDGyauKN4FHJXs0gtVg8t0T3sNAgrVLlSPPm", "5d39703ac8f7013468f97d5a3ea31b4817cc908d"],
["u8Hw2i1JMEs9Zd7zYTklgeouZFPQ2zmtoi0f8PjLiK1kJKGvmAJFGvlpTXRjcIbRA3yhwZwPsdtoIlG81KL07ScjSOBTZ5W67ViGgbEfwFHze1488X2ELmiwq5psDFXZqcEBaBFWAH24X8crK2di7XISToDxU5C7ZsDvBB7GrClgztZjglqW6HjN3FtFinjpX0K2WgQRz8v1C0M7LFeEiJIBgUC3F34DyI2MXYbpwJ16MxoFWwZJA6TbKHl4gH3BpekaMOFMGN0uLvLOubxRYBpiAFBZL7Gx8Gy9Mnrkt3zS2XZaZfPBkIiJlw7LtjHKAXxVUkd1HQciAZpqQ8RmPhIc3Jq1iAO6r07gR1YrgMcDF", "23b78546e580f80761171231dede093126d02457"],
["m7AbwhkEXREQ18dedYrUPP3ahUE2HKhMrXrWRMGWKO3xo8D5oCZprePhfzNE9zBH6jv4XuiV4Y2PiVmqGLYhjpTBVYPy3LgGw2Eu2hGY5KyxBe7vRCpVEekFlvIlVwWs5YdCxTo5ncba06dGMBbdetJ4pmActd2K6zqotshSqIepJEiMrLEe6GyrVeQs0QfF0LVkikQD7prl01SOx6paAU73aC9ibMiN7IMamnHbMEipL8YNdn8TMMqOMG623GJq6KtAG24urwuAxz12XjT9I1Mb4OtEPTwDBBdqJGs9O5RrSCiSnaxJwnbRXxmlALqsLDyCLG6gy6Gd8HWIlBFDc3vDV1gGaolgL3ZoE2gDQKGqx0", "0bd0b52e5ae6e1166e80c6b9398bd1f2de66f968"],
["quvpUqtvQ7L8w0xlNGObWBJ6kV43hilxGQBv6EUdxH7y4Cichbpx91rOOYb4muW9E1Fh892Bd96xnKwJi49Nt0FxHnxjZBmgat68j2W4y0KA8Ih823ZcbAbZYMEeeOF4KxyqaozqjDKHDtUaIVnAvNRl4JfhqAtvGBRq7M2Ew3j5N9LMxbm952VjGX2r4YqYyUwVjyDqhKTsTg1oW2ZMKangIiOU2WgAeQkuKnlokkCcm2u3ZUsoVcaLdoAyLRj1vL6iHIlljv6LXcfyeXKw9CHnWyEJe88EWX2S3qMR2cEk89HMq1Q3XeRumBp8oXmayf7qjfmd4p0zgepvLOuVbCTWJwtQCN8s3vwJL2yhEIs66Y1", "abaed33e82bc70b3e349454870bfe5cd580d1e43"],
["AdNuZ3K0iYjvX2mPL9mZhf9EOv2qsqyS1cMt6wcH7sfgNS8jr2GvXcaYpM5uLrcixNaQjnr1cxlhhXfpZShGaUZZrcZbAEgnOOyh0xZ9n1RLFZkzpkG9onAkF06iy8fw5bgsvab3tN7IriWaD354UpVpsv9WPubG2VMNQHVXvqTj5EOggZcwAytHPgxrFDmVdvDTGysVMgQLchaVNNv725K5cFjvvOxfMsQFvbIt7vgrSYl0yrRy65bhyiWVMrxkfEZtU0AnTd1hV5hYeCzqPjipPqV9KSA1z29SxLZpLDodP8IQgaXZErK7HWUqgKW355vkpqSHJQ1DwN931LD4mgZ3XvskaDH62k5FJrtJG2LblbGG", "c5932f35a35ad8c158fef0c8bd988094e5e2aa6e"],
["DoBqehFHl5fNMf0iiOybPiG0oeFsGRSEi9OPz0FWRoC9bdzy8b5n7K9TJpOZbN4XMv9dkkH9C0e9LWT3JKvUW5eoezDFgMOTGPep1sQeTaSD6zRq7DDXl6tnXDUMsYUNzbmLvub23hd6tuey23HNUF6CflvOPql8LQMbx6o3LwLK7kj1waYFjV2ZMM0ZIFkpJlxoA5HLrtAvb0ZdzPstbsVe2G0BJvBnCoYPg7xcRSy4lqo9J3dAT1ZdF7bGwjLoRe11Rf0QUP1I5b9bPe34SCtPOG5igdsJLpIDiKqUI1HVwDoe6NsGY6aokcZo4GKvdNkgxDOYClACDUa4LBOWbFtTF0FoCrejUsO84Gdt22Xx96Cw7", "cdebfbea129a1f53c89c9c67d8af8853647120e4"],
["6PLRAWsXVFmmv8S93AKCheDHwf6xXFSKadcRfelCNxkllJLRiEdNIAmj9atZFccTFi1C4EWbRV0jiEWv7es6kcKa8HplgJZgpsX2oWEmacHpVJSyhGxLE7DAZKdbuQuczPXEVydemzNWHxbeS1OsKbYJQuyEzGBhtOyIgm9bgIGs8LBvnjq8BPCGi4ImzhSIAKkGaHiwSYGd3wBg2VpO2Sp0boyqcZBD0Y8Jbqn1Sfqc4cZwpAOVWZa6dNUw4VVYcsF5qaMDDQkNyElRcAkZ6u0XPNuesdM65PbyxXciDhH7T9Wbm430TmyKs2RAyi0Y1ldO7ErOIu1WFFOJsimwEGycxFE9grtIEUKUyMrxu99aDYHrfh", "cc6629c726d34d5482a154eede9f1efb57e2fb23"],
["RozsHAezXRHuIjH55rsOYsbAjFDtURSHyTC9QxRyL77rDqeoZXtifpLIGACBEbwWJapnWAJFVQjzVO9pjoOK8riMvtICjVml69Wnyvmnm6rGsStk9MoLV1z8SJpx9VAEHgL0LmbJeWGeScCaTnC2MP8j7z5IBdK0RdX2GjPLaXzovR4On9z84HcfDq0mdG9MUdzhpqaALI7ZnDPjgqkJOPAsuwji5mWdxz2oYeTdVG9P6FF3q1Tva7I3YgNBS95MPs4fxZ3j68n4bHGGOBTFYLTmzoY2AjzLI7YqRBIJfKNlbMLGFb8l0672VAgYhjv6syxaIiiPfQUbETjWq4JEHUOUKOsROf4f97T2BH1BXV4BsYbbJKs", "11363c64f6ee54f80c6a911343761dcb0b3c250e"],
["QTZ9Qx7QvzQDvCdetWtiYbSRn5ylrzvTJvO2q8Ik9j8AykNKdimGpgaYoJat4vFDd22LbbIJlyj5AQpgRPl3E4nKVLHdNgcXtWZouZ9gul2pisYhq7LGtaVCHtZQeW3HliRWvrWsbYC2iZ9JSLaKVCNsBJNKhKyWOlADSB6gfqUu0ea2FrV7b66uXh8PR6uBvzxLtm5jAuyiMGnCdTvNkvyROgbq2IBamzaSp3E8JGxnxjsWOdLHzYDuilatRQKagj3P8VLII1LTGgptFpamZlAKMn8rGhZt2fFq6ExJEz3W1sHv1wPqycbja42qSmBnRWQO21NeWdC3OroDVTznpe9SjS2pgqjWD8bqYoQf6GeW5Hqq51fy", "777ad465783079cf1d841d954a39a6dbfab9400c"],
["y0CcQTCWexxEBmE8jTg43cpBRUp8bjKNjWNpuMz8BfO7ix3C280626BwcpFoJEBtVByUEPJsBMTeF7DbU2IkITpMj6vAm53kQemuFFcQD9i7OQGZ9QmK1pOncpKlGAUI0bOUxVQ4Noox4EwBynfORaIBYp7cCEIu3BgzxLqXqZdllsM5TzXI2mOdt6AktghCCiWm9n598AdbPl3JNzlY8cMdWfHeVAhJPmoRcfsCmvINa8K1IPgA50NOFvknETyPqSJX9gG0nuPQAKPZUja7Unmo6u8c26VyqgurTtiqHHRzZvbobVuXV5MtUbCASQa3x978lW0veYAmHspA8J7QVWJuyl6ty5btxQsNKdE61IOUNjPoSJOOd", "421dcd75fa7fb1e8d3f307076e2eb9d15f4bd1ce"],
["YrVqwXeBWZwrLLZcyxOPpyo7opaCkuSu96uP6pzCzPCP1C5hoeoVGaFQWAQa72F2g07T5R0JmhMPM2U0Vg8mVaP9yIliybq9mnXGRyBPBNYASnbBM9xKOc87jhhL4GkDGjQU1jcBBl9Lm69NnBGKMivnd08VhWVmk3ohBMq7SBxPF81mv9q147vYejNrOPS7j4tGVxpnJjBpjCBsDzkfZ1kCBKmHYnL3FHuFRWxIlfQyWK3YEaU2rIsnONJc3qFpqGmmKM9VNvVpqX2x6IdVxdkgqMlX0mcrm0PYlKMMEP4I3gUnqI3FwKc07FxOHExzNFeoEf5Op6vaISSFbAvBTclXMKt2sIgNXjeG8id6KVicNrCtXGBLLr", "ddbcd8284742c98c6289de25192ddff829feee6f"],
["80q23fa5SYiZZDBzLgSgmWtjTnTh2TVOSHwp3z1r02gniE314t8LrDJTfkGxeAgmRViWAU1T0R1Ta2F1dBLHEMbQq6RSyeSvqtEPIHHl3HWly7pXuv8VCMrf1DqqPNmsubVq7NrguJUFpKYU0Cyh3SXiFzSuRAdqs8EdMqWLiSbVPnwZyxTAkQwZSY9DMw9PT3kZ59BBHLiDGlBUyqOinVBkdMDLcSHrdDNA3sUfdARiDCZ12nmw0KdrIsYKo6VxXvjKFLo5Z6tN5aYecXzYXVPBKuaszdCqKJ5m3eFwnwCC82FXSw6ASLUb87dUJYO4wSaD6bQs0eakjXNxuw9uUtsf2hhdNQUVBNRk1d6TdBb6ogDJ3hZkYGA", "c08186c19ebfc9cc12bf88fba5d7ef12bf078840"],
["SxKA6cNN1DCqkaHYDtWzEHo3zKNrQOqA2UlJLRh4eBvAeAvFxPw84qsITyFAdqx2gDiCN3FzKPSFmsFSNpoIbTWIX65et6mT34rOywExRKEP0ZA60q6CGitWssyGyh2yWFHEwddIyoHtDBWcQI4RZjvSqQFXyhHeQg9jjYu5wsTmniQv3Zjdv8eifZDuTVMd7rX3IyL5PdboGOQeh46GXadUjUOjUn9GzKu3QdwTZM2cjKfhrv0na6Guilds1ue6UC3IUKRiD4lcbil6u3V6zEhN8qVpIwmxzmDNLOHPR9p1N7wmVQx4krh3mh3JV7Cj4F6MgrWeC9vIDwy0TjMlKx9pxRYNXsYRvmfw2ZQPuzqPeIjfA3A90qFO", "71cdc05730f4d8181a9ccb90e5002662fd1d69a0"],
["fHzQRmwnPqBG9nixxpfhh9XkSUiZUklOA9jzdxxGEJ9P35KxFruAXuH21xtl1VQKJ6j7kn1JqkJEoUzdujHvJSbR8geCooYX8Nq05xQPDYfKrI0hNvm8QJaCLz5N7kB03KpxhmCPtdoVKQGqmwpNyWZNPMpAnaEYnLWfJ9DU9PjR5zlyKX0pHUM05H2kDKbDOnaUMFDIlyRyt16U5a3RTqFTDCUQXbZKK9TcBaE54o04SsTpd3aoDHYL1e72fVDg7kmmlPX6rz6LwgdQTBBPq9SvCodi5W8TaQbKpPqhkzUc65k0vnEUjvJCxW7GHmyCw6Zl9TJWDtNbB7Ky0hNq5tXNAmqQ9yvp0znT7rJ85AMhSjDJ31vK5TukO", "a795c140295ed16bed0e6d78e0c394955bafeb47"],
["AztKi7oIsXcizsMjCf2MSnofSj4PqWsDWEvqrzlJkj4Ow69X0B0yKEn48N0FlOH3YZdJ9KFsvT4UYCiFSZDE1Wfyd0lsmTEo6H5vth5ItvdLMrmEzH5uXz5fNKHDEhB3hmHgoH89x0fmwWIkxfmW7rqW3dI9JLhxq9exHv9oYcsnJxcBDyNfqkdjfscdFupWAM6QiVze9p7Dia5moVVOaukaT10y3cjtI4bUKZix4H2uy0ppmwnamPfEtreGYBW2IRiLxhI6SUGBq1P1P4Lxrz5d2MiaJNCnxXsNhZDl3g6GrUXnnx3L9wYF45zmKZAbG5WuGeEwRg7YXUZDawwdYtxklYGmzkhagbXIdl6niflkYp7x04xeVDTojK", "418a44f538760c7f36cadbc00cb3be6848f7dc9e"],
["Zi4kb8VSXok2VpQ7DDgbGDrcbWq62BirCMgjSJEO4rxvZVPfuEGbm9nzZysv83SGsy91OjOkjyJw0tRbE4jVkaCtl8vcPIR3MsebadPcd6uH0FDTSqi4KEi6k0PFyXimKVMOYWv0OS1rIh27mfLv8cJnOwI3cAbp0reiykNAowxrEK9A4gHQOJwdLITMOq5ZsaoH1D8Daega6KuhgQzec64RBXewrnJI1d1Qs170Tg4GEAWk5PMyrgE2vTZbu5Bgv8LEHtzSR2HsIHAbTSd2JTgtJUfBBmaqUrDhU9qkfZHwXSiqkL30UfeXslg3ud5ub0duhGyuMMYjwYbt3W2euSiLWJUDEQocdqyfuPgFYYhZN7T9NFaW6gtHzZP", "787ce3700e730d29d17d42b229247a46b19709cb"],
["Ohmy8pWSL9iRxneVlGv6NHDhdMFKVQIVD9OSh1Bj9q3M4F1mh9Afy8vdPkgQGHW0zNjI8bX8u7zbyrZx6hVIOtKx0HhIkCxgZPrcgbjymhAf87Y8fUGcISLd5ZmdVoKlFFOzz7FJhmHB6mjo1PeFKSncrVNwekCCUHArJvus8GV48qLPK7zwVSZmgQqANk0eMO39TmfVUouvIZdl2cFVDJVKLouuP0jv6o2POAZUXMVkhjlJD4ED2QtD1cPk58BUyFzLEPGph3wuvXTfWvzsskdmjcuX8mnSmyfZ1EQNP9MM7GHQ0VS0i39NnugTaJKSEdAAZkVkyXrBToXcTKdxcOtIke88PDzeV9buHaoORgBtZxPMZwjip8v5otZI", "e6b262386fae64922af4856787b99368e21ff6fc"],
["QEe3CBKGwD6Ptwcc8TbF2nL1njvSEIyWJYT58Zv4mc7PBxfcdEmck33H438duRZGoEw57IHrAcOQSMb1et6rZyG4jJLvQw4QVJvfq0dSr5vRQrITkZL40Przr8jISUT9BXSm17qOWAEg8XZNEPRlraCu8Y6kP4e47yeXNV0YfSL1ITTdRdH0ED9amXoKCpQcIhFoxmrkpVTd5borvbD5IyDBsXfbOe2YLpqfE8rEan4UybLXWIoEn8tu50OHt851DPONU1SxW3kNDSDp23IFSlDeDntV6G0CpbSw63XdtUXhx5Ts4WO0teSZFyEwy1U7fht8HOcpsAEWI7HNVNe34SVTDc5wV9MDjzlZ3C4X8Re0puyyiSiHjEHEO71Fs", "a52731d31dfe4028fa3ec050065a1c62a297f7d4"],
["IzroUThkQFCOIxyGBmxnRefHWUiRkkHiEE7jQy38AR39IYEB35fcNWHzp8qA9WVvZBEhyyLL00eryVs079mewToYwIM5w3XTS82fA819nH9AqwJ0THPraQylnnQDCcWlGgalM3wKeyE7vzK8WlSYaEY5sA6kUlSc6wh6atefN60ZHuKioiJAibZZCFxUoUrq0uoXT5uPeddWmfYWu6GwzJTCJ8CSIGAGy3vKTb58C7FwnIy694zKHyXAv4RRCWkl9KY9JNqIV9HJ4Kc7yvgovoS6uRuyHxPn78ztAveG9f4xzcTnsxpY58ZEMyMMhJ9kCIynpCr0waE0YWXsTtXJWJxJKLi65v7hqzdhJkNevXy1zos5FN7xZgxmZQWFPs", "285a8779b816f3f6cc09f4d01f7b82a6f402fc40"],
["0Y2eOUUyGUzi8zfz8rj1vXpuOMUDWtRDNO5CEL1HBmFH62VQ6kLxgK16FT7x21uIXjQ1dpZ5UdWpcjgshJjhTn9Qk2VyMYdhL3KMDujlxD6Vy6LGHtjgoLU9P6gl38xmbltTWEbAe5q6LfcTesuCEbMfVxpRWGB14Lf8QC7d8REkmQqgcgpMTf3nCPcysKVrKPcMDeqX28VOOt1JGx8RQklt5kULlcdiosQvOJ6TJJ4ufA9Q5shjsBValDXIoL4InCcuNqY7VTRTtkcUGjR1Ki5J7R3r0Y0t8CgNTdbgfnxOJpn2IXElvj7nLiJ1LGeOVupYVTBtEtcSkjkaaESfIk7hJSA5399XTZfK9HOEe5oDAuG54XcMRzBYP5EyKNF", "7e39e9168b215aa5bd99b18bbbdde7f8b03423d0"],
["ri39yzJodsj9zLJNCrYBKR6FTzDSvyHkcoLInB59oPUDkW8Qy4DhQDQe0JXCcniLROmQIV9O5J4NDOTdS0DB4O8dK8Y1Esne3sjFGJWV2mLcOeSrnNZP2aXnlJmBYUpiVPgPeuqMge8DeiE92asr7Dc9naPFhSjTnx0cznE7nLwvzYB0T6JUaNGSpSFPm28IsFN3Mwzd3lbmaDV9Pw9A9a5y3H7JVMyxi2gj1HwiGaSllAQQR58F8C8KeGTcFr5zCV7fM3HuhcEFu2MJjAirYNK96e8ywXplaj2np7jN8Y2okIYel90voY1qyEpX31Ol7Wvx3gKcYjC5ike7JUo0MHJMiBBKWpNRCaRLy7SQf6PLqrgMVWStth4Rmf2WOuEe", "69d8628a60d3f69799edef895f6def7622ea17b4"],
["qLg2uPXncNidrZ95HhKoKR2CzNjfrReCrtzfkrJ1Wr5w0WUoFkLb2D2PPYX3s0j6S4tjIIz6ybylLuGbgA391yACt4MGEK7oKhHChLsyl4HfLxWn99FCBBb6EabXhoMGiQhpsRIFlxomPR9x9JdvXUcAbUiPSweNYjpBtNQ1XFo6rMrdfAHuRNh3rXa1zM4wmFnLnpkDJdbotGIp2OWYvgJGBOFFSS66LndY4F8h9qp7UiMRiHnKaX3cRsmF0NSRJ2V2mpuYjSJSVoF3GJAHkg7Fna75YRe3OV3jHC9DrqOS3dGoJI7yMLxVBFPFkwHOoKxVCxKFtlSGCuXuot8w9iiJCc6CwMeo7gH3YWtXAJuHir9oiJXTt7xFQUS67jcEB", "18374785f8d359320494f9a508f270442c51eb19"],
["cikIbBdoKm2ROBCJhLhpQU94ErL29hbkZrUdeY5Vd491bfQOGjQN2mrxrXqqucGBd4hupS7kGuH7TYf63fITxdB7AUr9yN7L42ub1YE7K4i7G07zFk8Y8acQ9o1L9oZyIYZiR6tRyIlwbzAFVNRpwGBZrRZZDkoHPTO81sEebTlLsq4dwA6KOjV3DpI358WGJN1cl1bRGu5tvnAfQJSTcRA5neAOMHKhXaM7DWIQE4HWP0ESBDGNjqcd5TMleBFYLa4l0Ku16o8pxkcz3nV04FPZE9eFrdlh3mkY9RpuvBgGqpTLj6bfaw8DqQGPVuyHVcVLo0zQ8i6Z0BqUIyiJFZkqWXZ339rIWCZMse7gSk8Ii3Q5bKyvgbEAQKArMgtg3s", "c033220aaccb50acc92a7608f005fa2252ffa9f1"],
["fDN64Zh6jUsG2SQrBCEzlG8LYbQWThRdikaEfZRpZd6wxn0QpEOT4HWoXjWmErJUsZPwAw3bpsVf213RYmjyTsOyqocbylOJ9ZwecWmDhpMAliA03fEz7UDuhdpmSjS26c1okicVuiG16lGyOgVhnwxkUfXOZoO0658s5GqulgRfHtxTCSJtGo8ckOCUKR3EFQYiG5ro7srKSyymo9found8iSeuTH9g4FwPq6Ic3Ix3yv2TJEgfKKZUkPm4o3QzVSZ7mlXrKB1vThS087MmGrYAymAQhUuBKvTBBiq01ek8KZBf5TyG6FhR4aZQHdB4Zd7fcvTildwqeRWRZ2Hh7Ap72fKYN9szVyJ503s1xudL2Cg1BUEIvJsXByKC7u6Q18J", "1d8701d3aa174a3bbfcdffae49f268a1192fa783"],
["37T1dGeupsFlvHqsBoR7a2WLlalclzSz5hsEot2ManoBVnxBL8MZKp29FUDyEv5FPOokcBAdsVQLXDPQ8nYaUzgN65hSHlcTcBQEP86VVSaJkFSKZNZzB65LFjJ1ImAaNjzyZcWHbYP0dkIMpER4UMyw8vlU9QnuHtAdXg3THIUhxzERjbILFkoqSxXss00PUXv5mL8NX5gmqYvekCakqZKrks0loT7aKCV5848jXdTeOd0U1JM3XVewCTTDciRudvDHYcBjKjzJqMMmPZC8awVmTqbUB1QzSzqmszFaEepjGg8TnffuSC2M4YE7OfUiuOhBDwPCwRDLVOcCuK5zscVLqwHpxR3DZZOPq4iRK9hP81rmOmPySwDAslPpwcIXJA2r", "5546ae045880ca99690027dd2e19da48ed87e6c8"],
["FgiwcOOWLWNvxAwXBULkwVz2sgPEdulPiGfg82CehLlMiBHVjaLHIhWI4QS5sDLEyDEMjVJ5wDXTLf9BHdT3fNwT7aURNpTJoaz3ArDX2hHmUQJIXDl94Vk19mID1JqCDyJG4PCq5CPXCvaSQrliq3dj8ZylTzpP1VVUeqzB19bDgyhoe68Bypi7mOUVBA9pb7PuAvVEDWKal1B782YqsvWMtuqgAS4khGqwncdXC2KBTQ9Lv3VfPJrqoCg4VKRprUnEudMczbL0TTA2f62kxfG4RiUg3advDdsTba6Js4vvnY7vOUExSfhJUZnVUas0QTLD0g5mwUgdOIAuQgItEux2SDc5yBMo0rvWdWJrm3UPAtOsIkGClFP6W3hg2kDwKHPIh", "f971549cb210691af7b3340c13795a25b4850557"],
["Zh7jgs7wIt9ffTfQDzYPMZIaxq0RgFtDAIogXZ7dnUf34QEd0F8VNiKh6D8nCcu53WHsvpfb3JXVCuZnAXuMxJGVRboUnEoDuTTH6fChCxynk7tV4ip6bYKX0Zjn8e5NPpQyfliZAK2M8VzCHHp0b3bkuLRkMSxxncvmu2CEVnQ6nb4muKegfPMwtXa0C3Xcdr5KZ7COfIQNAOiyWb7RwYfBRRnlNIXuPxVSEHu2FgjREzDFj1CZMu3Uv4qjSW2ylaiEz3Qxvr2IzoXMkqET6N0Z0f0ta3Vyu9ys27oR3GBYdvXBXx8iEmVGSs8JYgVfKC0FKfPO9H7VP67ieYLewCIt32201EEqvmTvV1WzRZPz9Sifi4VztTVlzH3eHvXhVsuhLV", "eb2b4d3f12ef34c81731247f58a486c13d34b7f7"],
["vAb5Hg59tzgr1UBf1JVoSIrnZxVtS9tN3iRcunuMgCiugfaFs43tWDrw2indNEjQT6BXSukOcNWG030Kiflk3v6NtvVDHDR36Tr7Dl0S7HfWPGcqxRrfoEEeu48DaEo35AVXqD1pImuardSxkvcUfazS4MkEL5xbdmGkdKbz9MyzPz5hnuk7vNhFoHpuvL3ptX91yWPmJAz31OIWenfGQYCNG5BsmEMPFv9fU6q6IwoEG4TlTBgg3o9PHCefiIEmjLn3Wyhyj80qBaRzykTZpqs14HPm2u5oWUWRnmAmBuhNp1uCswAT2Bk6pa2ZHK6KC2RpQmjc6OudI7MZLwPhEVkVF2kMT8pLa9f3GoQ8Xw0yQOdIHN6HvcrQTInR79yf9z4GE89", "6643a14452f820d06595cde9ebd09191886fb4c7"],
["nePUVWHmVLD3w5hzM360sZx7h0WswxQXEXKibzAlHT3HE0xlKOH7xc6uvCkg17xhKjoOOrj82bmKMBr8YZvIOkP0w5Fau9wOCg19NRqtDMzwDWzMuKXh1RJ0jkU3xxKOsJO91MK28EmJqfUGiWCSItkPDV48xunuQtwr1Zp6id53X6dHHL1bHgpxte3UXXcLE05LZmcSpEyIyNjadJw4EdXFUKzwiaO2RUgxXdjY2EnhWyeL5CGOkZleVUg2ccoLUPymbGgR7LxB6dSP8ydHzE9EPFc9zOibOD3WwsxI4MG3535YfhsPhH6CkEpOJIq2nHxZYtAsUn3JaTlMCoFvbYLOoaN8tX12edCAUXKuJ6YD2n8AlYf5Ioq2huEZDka4tAUCUBk4", "9eff9fe40e4608d8dffd2f5d0d6326a84c6fffe0"],
["0tJ3ZpHUcZPab7cl22yR8SlvKQ2TaoNdkG33aAeyEmosakS1jXFJ9w4jsHJsZntAF2tahlD5gREQyBn87ApqPlPCahTFz5sMegGbDCzXrH17E9cU90gP42T1ggadKqJlfHxYrz3zJCwdUw45Xi4XSv3K9WxBRiASujozf6pGXg9DYCpkkAuIlELQRD2bylAnAcbjcOn1O6Bw9hBJjTkrEXQSUHuvE2C2gpDobHfrx16sIhudJjKtVCttdUMshxuwQnxSAsqtBI2kiSPn3yZ1Rw3ioGePsVgrxRWnuOB4Tv3ODJqXIsLl6tVL672ZtK2nSV94MRIEwNBPFunKdPGsdrvXzQCaxurz9SIuuEKUzShWbVwaehVv5Vm7bU8eX0hhwdXQZkKDs", "822e5efe75bb89fe685f20dc6e9de0fa7d43cc25"],
["FHKTKxrGLXLnjmh1pU5CsKduegxFyIrD93KKOTkH6d8NKWxRDigJSRFaiebeiiqEoMwE3WGt6zMRccSp1FaOXTk5iFEfvzXDQLVSSaopeZj0kKpW3ZTLedSa12LG2Ipu7w6Qu2IApkoSDDLYlNXi9mxVP39XEsV90Ze2ZT7DA6aim2VOVv4nXnKnyknBmhwqXhN7bpZTyuGwBI0bBeo6SIc98BDsFVufU5JgF0rLbt5wDJx5RKLvCYocrcP1OAjrJkOBFVWoarvfJNbdG7Y1HkkB0a7Y19jhD7EdwpUjP29tLteDRjpT6N8yaNbvYs4LoojhMe86f4PJNXMsuKvJkz3yhCgAvjdKV6tNYyWpHc8iYXYtpSeU1XH7aN859kFcrEheq2DELI", "938fbb3f15578e69f2f834cf38f1c424a52db52c"],
["lRXUcqbn2pEBg9WdyTpcoj6J1wD0VvL1ZZr5ulPI7RuJhEasHQdhpESRuEAwYFBwkbZyAKTdpcz5DVXDouvZHdxYZo6rVSVW3Eo7VQZoqCKKexuWGXK5SeLiOor4toR4RhZMLXiaWZARiERzNTXBnznHPrd22soI85RAIZSxjnwoKmbzpXW2x3GW5HctVq39fWmXBTcJK0kyuGEDcUtStH5oYRInLXuA1LVtlI9l7USevq8E7TRuWEmWVh1BpiVlge5He5GOXKpuuAs1D9H8o5fGseP4GWCqL2TGWeEqnIcmNDDt2ulkwLd6hxsIGyZKcv8tK7FZ4ZfAKIv0urgHcbEQ84jOObJCFoJSk7ag3DWKzS34lR2kUlNbxHQfeRJRMZUiTgOlqb4", "9abfa5cc58c12b7e72b0819184e78932c228b32e"],
["1cNrPX4IGHo2rM63g9Z0x2b2bySHwvP7ZQHQqVVZ49orJVP90cd9UokZ0SMvvOTc6qvIcSsPAgXBC6rD42mT6iI38RMGCXOCAvZ1ZaUaEzHnRVOLSasZyO2n6JcVdtphT26jmQUVkJLupBTqgsUZ23Cr2yjsVihrEHWmwQP5sfDx9L9d3iILnGe6d3p683hAjpORSkDWO39zhPxT8h2FLNdQIzNXYmHy9cqXkJDkhmwYxC2G16vG9IZdKdVKtt5VnGTm2ld9aujQGRyggDj4cVDlT4vf8Zsl9KZLBsOXmzF2IxwGNtvWXalpnFVsivI4mvN7gyMMZBh9Gglgo3S7RxpZ9JPT92Vc5oPXvToQlKzJ7RvVKKI87mX15SC0Oz95fg1bYYzCJ1mC", "54f32eeea5ade1270d94adbc749c98b2dea20172"],
["f7Uv7tCklJhHbI9TIE4KI8IODNmGLY3tSZl1S3F9E17AqeHn905ole1c0hVKrXuZVUjQwwU9GYh5T2q1akEboC2eTXWLp99goO5BQ9V8kz0eWsXMPe5cx5v21LJBx11Fv67rNGFQcaSuCb5y2ltfM3F6lcuck5d3dHfIOs9Lv3jmSb21NMsAcrTfIb3dbwATFSrAu64e9Nch0QY7E802UZukSXp9ETIkSgz6OwYpWQu0cCpQsBEfWvqATD7hu2mKxrjzF8yft4zzotkQyVj9o1663zkh74z6gNKWm0WEx4puiPlvqPThfPfHcmXG8qoiP05ibmjbONEI1VHMIwjh24bHTC07KOctfuhSGtjnPPSpT17cJMoVe28XsYl3yIO2rUeS0u2AnLVv7", "83421ddf231ea9bc89cdba5fad2812037dfd9675"],
["VXcVjisWx4GHYCojGqJ9sCnvpUSqKecOpDZpPH8ve4KswOM1erukhsP9CktuQmZ21WRUj8lilZI7ynnfhBzm006GhFLjMKXlmvFffkcAJauFtQqWpvQuZBRnc0cZrukZVUwxMj9xnnNU0ml6uzUY7qQ1C8m9yFUdxlKZgP8fhKGsq25Jnu9npSRf4zps5eo64uOxW2FcMJzOt3IT4op7H1dlZmizAViVzNb4zNiOQm9PAdkaAl9I5CPQwwfaPsjBAqoH2q9v10cy0q9Ab23vK3WR2HGZSQMY1KhMbyVpKz0J0yEJN5Jen2eZ8yXZ2u3gcUCXUZMWSxrZFohO0qheseR0EqLfdei8ATYmV72Hp0bICrjVr6AjF1KJrMYAonWroHP4lBxjRAfX99", "cc9de438dae78ea775aefa27fba9bd5caa21a333"],
["uAw8uQSht7hC0eHwKNzsyP18Lzh7ObFKariXj0jj7mHUf0A3mTMijhXP90Y9xzeL8uoVcrj4VorFiJejpuULgMJ2kBlw5VkPSAVDV8NHuChqiOZxHHHxL5ulSyAPrXMhfNSvhO4gvfzklwrPNtG9eclFIMMSwQ1R1YBYPDCFJD3MQhqLFIe2JwqniA4WM6ZSdMZHUQ1JSOtmIBgf12yLfubYKh1VbwuWSaxx5Ak1XSjXQjnTIwW87MXBpPZHqpI0qgHvrY9RLY4qRAp10qqvF2bgil351QgKCxCkoQuQYceUJIj8J0O0vv8H0x7xt70JoFAmAwsvBHXxKaKkyRtrG9fFVVSNA4lVpZeDNKZg5ADE0xhjk2zZD0hFDBzVs9wypYW56GCTLlUv6BT", "e7611154a65591e994624250e9901ca5f9fc20af"],
["EXUASGD1m7rELUFZpIOfsVJSTk6pcm7hl3xYvgf35edvx1DCdXGnAHg3rjmkGzdolyhhldE37XjSwfF3tZdvg6RSga6Fu1MqH4FADiNkJcfZqjrttCFBbuC2WvRxMQ9WFnuBanbgGQZZkHOehylTc5gCfqiz1PzOyP0PiypInvxRyqX7nzUQdfabvqRcZ4iEHs15UH7WBEL6A8zpbdZxADzml67bvmRDbtQ2aRGpDWoJIaDrpdv1QBvYHobOHRvwayGjtrj5WJcwfFc3ygUiFYp6ORIUSGRhdqzibG307Z4oHcCXrzWoyALUP4Aqh1VNNfFeBXBtkZCZTmqukXu6a2TuF4qc5qab3F5jbLS4OytfpC0TQ6AGkwqXH1DnhqIwS5DEnVJIkW8zOtdp", "2d1ae1af164c6e3ad7855c76921ccbd769889771"],
["9z4JdRnH5kQN36tlAYsLmMbXk6CV314A8VjYFalcPr9mGjyzS15xKVZkD8XdeFtPXotDpCB6WUbnvlPuCIf0HlCNxW2WDngtsBv86qPMbbdOHdFv6XwHzDdAzpt2rd9LUWWAlgHo1s6zFVhahcqzj1CwfMKzvTCnxU6l2g1ijMcrlu0jpleEvzzAAm5XBD92in4mYilxE48AHVWabCCK1V7lAkuTeUzayBiqFYL5hKodQnSm6NzMcjGm1tdPdogYu51UKYzFbNrfbLWKBoG9H2YMakEKr8G9kQiHkZ2liPFGRE7URGoCRV7G0SmiZKsnziQFURwu3PYYKdNiOtHNO8GJBgxFnOUNvBq1MoFW4gJJL3Dm8Bdwj47RFWXnM2AXuKMd37znbeRRHSMqr", "1214deb224879156aa81fc944c70a3d6333dd3a3"],
["YqspyeBKHpoBZdlrgbRsplYJDNsD0sENZV102QzgCx8E1JexbcjzXwttrXXtAeBf8Ow3Iw1GmZmRxVRB6H44dpQJzpjgSxWsdiOqmrcgpjjMvf2kp741oxCLhYT7A8kE9nm67JG9lYI6pBBNWyT0JHkKdmhzKVu3grkSV3X36nM8PdXREpKK9EZboHZa18CePEqfTyrk7k3JH7NoU1jUX5dPFxUvOoHmBMm1kEtYmRhugp8ZY4kre6awMDxCOixVRsAT8CH145TsNRJ9Mr2zp1b9oIpyTLWhfWqVtCjJ6JQn53PNmE6TnOZxgvDCvvfbepo4BXQtzYYki2Qk2jSrOxh7GY0iJD5XP6lzyLkOlOzzcqFW4GxzoTivh2mlVrCDcFjiDDagg5QA7suBex", "ef81d3289f91184836e81f03621d5b2dec426a8f"],
["URfrzVxsEPYHRwpO6vz6RXMBzntihvFM26TibfbKqQPP6vJwboCcOXLgIx77ONRpLXE4tWoGikWo8lCIIcl6hm9z0WI4Qz6oTJnPi0SmDVKAZ6vtcAUYrD59bTcZPW0nwU7N1qble7V4YPca3kLbI3X2iW1c0cyeDyNOJAiBuxx8kt6ZaSAfPUwVuefBlOQrLXu0TdFVRAxOtjNXYhGC5upB4hng6SpAKG4LvRrMluwc0gEn9VgJsD8TeLz3spRQNDAnbk6OACkWTEYJl8APgB43aIV88qfPjl1iRZgvEwuKk0cEiublB9lEkq8iPVXKHFXh9sNzOH11F4vhSKQuqrVChJnnuD7xHw1kY6kBtdWVRBn6w9FiFD7qaJS1pqtbtVLE7tnHZmwsuM9TdT0", "3ce86d444595e4e9e4c52b68ef33e378cb52e819"],
["GkFWbNlXw7SoYuFZAQwEck1rNCp9GVtbQEMc03Lc4zvJSGEl0ixgHdfjEWylEG5iKze1g3vH65gqeMkLejc1tX0MHPLJisZDfAraucFA6TkgODsRxOgDVAwr7kpTMyudLhsH0LdR1vwOaulDehcHhpDzjnfvM0T2oADR2RJ9P5LqwEI3DcNkCeohKBUZIUQYA3oEkqkNiC7C2HHiOiNyb9vNXVCiXLCjqB0RFOUTn6d0NfHyMXXYB0QQfdxq6dXF4gvavEZNTUbwwVzNVrfrDkMlJDzWAUl8e7X9xDwRzQAultFeihrYfqZjp5r3IAikUGFpfagIrr5azrkBcAWvjncJxTSdTEIBuQrhd4i4pZKyr5Uro13H5gk7dBnHH8MovTpLmVporZe3weEhi98X", "0bec40b1188e11c9237fdedab0f0fe60a05aa47e"],
["zpdrUMyNH4dxnLXrYecBN4XetizwiPf0xspWMo8ALGIfZbiRiV01UzSiHnowK0LlTxFewPHueUE4gnnNnjtO2WJtNNEm0FARlSOaC8s75AwFsCWVZ5u2swIIwVmDt54Qg1xlP7aBZTG1Y5WmlzpAmFFsZmRwz4E2EDSy6qJ6EYSv9JqexCqNEmGSEvNe3sw2bUY28hVEKGXZvoIhDaOibolcyvpX9Py5Wy7CgSY1T3v0OYjkImIoXHtFzb15W0QGTQE3MIFZgWUcgKxSVMkApveHW83qEpXAvRxSKmYjeskhZ1N8otxxJ8bkX1blKTfBeVoD9HjfOroAzt3Ui9EjMKHx42yXSYnxY2C2nAioQ901YLlzwdrEPQOQzyKBPtSYgL5YP1gsu2NwyXEUWEAAs", "5e6dfc1e8d16d7aaffbe93565bc1e13346e0432d"],
["lkXv5nAcjdu8MWfQwINvG5CsEsIVdNr2ZgiszQ1BYawk3V2YvSZ1UYku68PDQwWgxsQ6sy9VveSUm7FW54zCpxHtCRY9Aujzen1bmxKDjQWMtfYu9yYKNaZMTk4jp5zLkVzFxX0KCAJtweNaNeZKr7Vol1klK2JgJ49iLM4GnREK59dthHTxrm536y590CGUU9f3ZfYImSqP2ZQHYZ8TqGLWJkqC94fascWrW9DTil2i79q8cjsrdevTW06NiLGJOTNJlTmIDNninigx3SrRJMoj21FrBLyAUTb45d3l3GuaHLV9NpZLXmjtKAftete70pXmKihv231utLnKWcuJxot7KuYeiSZgHjFzed1w6jvQwxtukBF1EIG05XHbqh2JAfSto97KNPSJuVqn1tvO0n", "2daeb3a15a954c39efe999bfb9582458e01108b6"],
["CJBHVxqu8FXRCnZ1LLBDZwJ04V5lyMe22Lhuj1GotW20IkIaDtp0vd980qmPlUwmv18hmlqpxqTzvcKL2D5oYBiKG4A03ljT7YcH6PUc7BHGgTmY149ecOOgKMYl91NtLBqpUONTLuyL3QoJJRkvE9J1I2jy0vNniNxb51g2IUIhlpiUrGoMYtKD6npsOAD8UbIlxR9RV98hJx6P43eiHCevsfKT6IG0R1LKQLz1pOywuw01cfFz4UFBbeWq20QvBtRFQY629LFse3AxwFfYbCTZvHsHnQhvFWRuxvEnecvJKt1VWtE3FRVIo9e4KXtjNdYXk0S7HpFsz7eyo1Nazl2HyMc7cXWKJnvw3G5gCAIUStceN4MaeHn23RzzyL2bpuYfdXg5z5kUBpl5Cy6ma27", "fc4f1c731b5828472864735df455738709aa269d"],
["zKAElqCpRjzk03gzmOT99kxjbpqm6e2NYfHTqsYKgHgEqs8oyuXIsEEFVi4jyK6hcOX1AvdKMsRXGO4q5WPh5r2IGjhhjyG3e64Dyx5ua4RSUUKys84oqtHlRxyQWK1SIGDNQXq6NLoMj41K3PrYK9ZcSWucSqdEhs34xnUkLcxP5dGHZwFBnGxlxwezdanyfkDdB2IoACsMEo0dUnwwF6l0ctWbq5hci9ZekpqVBGaSkRqULi17NWSM5viiz6vogLS9ioQ3zRfBiBQ4bLleJCmE88jVbdHIH6GIvsd8ghS06MBlliBicE9CHYUw78ZGHMS92ms6K3v19A6HbvgDLiz1Ol6mLtselVmCJ1HcmaJzRLq61c6invVWY8zTDKMpOVmh7JnzeiomtI1nGXKOnNVW", "7e7205885b7bf3799f2ab33e6e775ada9ade3ffc"],
["E8oIvVeqmOkh85nqdVNjzKA1YQfGZvcMstERiA4bxChn8OPuwuM2ODOkqEI1AoAmhjKptweDFbj32COvFnG2Ix8N6Xk9J7SUv2mk5ogGBem8dATypl75o5eiS8YNIHZ4QJAToTCkZJHPiUI5bzyf067eW1lhWsXyghASHyO0TAvgxpTzT5avFNBEdBrj3FwpiHKtL4YLq3yVBn3e7Rn8euSFFR5Xq0SgP0ICEqGBh5M36FgApwbwnrXYa6PG5CI1cdcpd5ZAzyno5UtY3uyWsqegpzQRsEPK8G7hFITA2j5I7KOmGFVbKuiUNuQmTjIVbDMAFKDlm40UnN4JRqSaiTbvwJSyMqcWjIX6kkKF9l3Zp0xXEoBjxyVZ4pT93FkwGdHkAo2Vv2XvpIIrSerK1FJn4", "a7130307b7b84476d151f5ea4f2132473a9908ff"],
["CCqe2hSM1SUsSXKyl4PdiMpdiNfCIKbM89L0GEr8PYRrvQTGC3W9WyisyAnPbpgUXpaSR9LR5tkAdgIrj5MqxIn5ARMbO8BMiJNKEoDTmUZ5lXjKP9tUlG1b2v3SRbfsPPnzJlgZwpMSRCVCxlEOewvg2ykCcNIrkKYpg4gUgNn9vkUgvaSBlCi4nsN5nqoSxKGDtd5sPmpiI7a5xt3BenzHK76jh2lUSVHrz2bBIpbj90Ba2QlkXl2TuQRaFbW0HFvMgMR6w3RX1ARc2Q9Pr43dTaaAsyuQV0WmtSnXSzXtjG4U15FEWTmP2EUK4tA5e7REahmimrEERYOEVGN7xvKZnUIcj2qXUcaOurCWz26F4LjhZYb19yn6xtGEhp5Wr9291Z4Aolh97yV3fQYA6ujRQr", "18cf0abc26fefba2e3864def87174193265ccab9"],
["cKfWIzVOSjzgS5bAPQvrmYAelH1LfdtMLhOTHwJKWnH5JdNRlLMEvR0pe95HzO3WJs1oVilxzcS6yfaZCzfEikQtxQice21kxwMAIlOPaCWtL37xQZ74JNDGLYYYICX9PhZ6soRFRUVeitN5gfArVEL1YYDvGfkhuYqYivn78IGIQHMKtYJIUqk9PvYxb6rscs1t4AaghzrsnUhxaQpmNIObpNvtyXH1HXPRIgXhpYhVZQyPUJS2SWVVvH2G3ec6BUBtROyAWbZrHq7tyi2WijdeXgsAfFi2tCxyX2rMuROa6kXDLheBAHY7ZQChHd2Pb2YWqaDRBVoNNWJebPsTZtmUtLjKYlo0R9CAMwJ8gPLDgs8HjExPdlgxR9Rlly35CznWy6toXg8pODVLF6wZsIzjQj4", "7f0499a9441020daec0bc7b988f580823d2ca511"],
["XE47Wm1ZIb53ghCKFD8Z0SYoevBQcIX589DTaJNcQkA2Iv6kYqrch25Pm9shIdEExMppBRUG4qzP2q1HKNeMdHVrDBi4F8J1YYujbWCgfZCSjbqyss9GesH1QkRLRAaM4AGwNu4oi9YQF8KEXPXkHDd0kJyiH9SzNPbFVEBksl7HH3jjsICb8vHe86a4HJTM364pjObORNcJaZfyS7yZttDqLbMjQUFc685Tl0nFqj2SPEjcec8oV50INXSaLHad4IhMkLFpdQLWQ1H5QGkpmbIwJ4epflZgSrVBGLo2uKpgEWDEkzoTNxv1Yh5vxbVSsJEVlJvPrCvPxAOw9pN8V2sDY43t7hRRjhI2mULfyGySgEoWpvTAmnw6ZmZGjHgx5LzIs47cOyWp11P5JKYaf46gLMUt", "a07f7017caeb99e39acc9428794af0ea65368cb2"],
["LWC7jXL87guKB5UokuytfbGWsFheMp2EAxq9GTfxFSLpvtaSWa8iwqWar3c5gn5yt7yEZH8DE38MFoU9iDckiU7tmXPLFQPpDgtjbwyuVW0DJjrF9KuxcBeJYgbuyJvnkkOYZ6sK7Sbwi6tNHDSI7WfzSJl5vNVMq4a6ztAYpkzI6so8II013eAjfjgpnYRoLskJ9uuD7cuk9G1QO8iLqTM7HL4MKQawpdAxejjlCVLZ5G9AqRizYlMNnEu9lPcx2PKQmYMQHNUNjOfDbjnHAPxpKHrzYhaBgCxTKZ493C4onFL8PYAd5ifKwSq6mTlXbwWygpGOvUveVcJGrK8iM84k4uTPc9mU7Kfk6md6HWjgcNF3R5L8V74j6imeTfWWsIJIELRBDEt74lGRslUZSpm2sVw7V", "4be85334a5eab76fc3aee973e4964f399dcc2fcc"],
["aFoPXEd01BIpr8c2ZRiyWdSk6RJ2uDZTS0CppP2Xnn8iVUVIOHjWxQBQMfvWVCM6w8e6x8p8tcDXEJzcxt7T5m8IKvY8ZWmSA2b3cRrlSJy9IDJgHB8ajKkkgAiITgFNtA0CWf3g8aTmZRsGEBdfNCYrdzjbegXxzjqyBLvHnVScVUuiShN3GaoFb3MHCTMDw5ye1OloXR05LwFEurSygX9DDiGGxTakL8lJv2egROIEGsGcqD7uGEiHOQx1oOWEp5OvH6RI4HcPBOQLjhuTETO83aTuAfdTCdxjZIlwhTos8oetlGa5OtUNuivLHm35hy7gHocHfoJgwhCuwZsGb1uR6p1EK4Hdg8jZGEnZ173aHm11cQ839Uv3I3VPi4ZfaxPLGdmAlx7xZIkcFGyNNKFRpLsa67", "7d0ed0ca2095bb02d0ada4e900d3606a7d62e510"],
["hjN5V9dYgtWrSzzxZKI4pVtK4LMOsixRiM1nqNZFWrC05nbAH9VEpcI3CJHd8QX8McPk0L7P0MFotwG1NAV4pCqxPhmPTpvTf3DSwyXVW46DL1pPlowDjcE4gZh3yn8RPiZVS34XClfk2Wyj2JMcf09xeiyOaCIy1MKzK0UsLVk5KWhhyyBUdHYdENj4uCND41RFUFM8t8OoeO4e8hBdlCrRsmupuVzyZdhS1GLhFKHn1QXj0B7UQLCgRyHbJvkhVlH8O6644K4xgDYDawWWhVK3U8XOtLfpxQDVNPADvHjcoRAtUG6WF2ObL9lJW4MSYMunpPIoCPFM4eGO6xuvfFf0xIlbjDiTSNvtHPFPXAlmRq4V4ZUppV79e5xvrcRwyfwTgGevooWwDkISuiKfTPzJojeTC28", "7fa4d34152d67cc1e475320ae412816d798bcb85"],
["EvJYfaqeDxwC8okYRPRCPRTrNvj8g4At0yora1wjSC9KMybDJgds1BY0ljCHc516B507xU7jdUAwzVKwsRujOXlOROEqG0AZKb3xLPrg5da59E2t2qNKROYzK4ZrHIR7DH9tfdARe9VXFZO3wbURlCM8n9DgZWukY6IozROJkjGDMfbFRpwtXhaPVndly8t3U7odOoSA1kcjmZyvLKG4po5wKaaFwdwvymbzyKqg4Xn4QknfQDvKwm8HWlN5pJyP2qbzE0thMvdve1GvvcVHZDGdzrbgaCtS0XBRRIg5CmRqd7B0g9bloQGEVCLVrxt7k6Jcak7Lr7ucVO8BwiK2o5UrHVn2lWOIqPSOTS0FjuMcDJuGF3O3Ju8mMaP5KxGQbpETVNWSVPeQPRUyP6gucqXSGKujK2FJ", "fc02a78e8d363df5fda0641d1fdd702841e5d91e"],
["8MmNu58UuRglJPfYsdHuT1GPIm8QfkA90mTNvwRkmPKyvFzzXUknNiAD1ntFh8N4b1ctp1OaDJnLFKQZHFUok3CQlKxOXeLXSL4NbsJky282OTG41izHGDj4GmanhYUgV8ibzFWMRSMXXHjMldYM5DbLMXQYRW5Ttn77SGc4MNeUcAPQak0aw1sTaSu5BWWBKEHzil68F0PJVYmShE5UAaIHU0NlNvOFhlPwhP62ke8auQHKrsKEAI3SagLBTGdNmaLkLgTddzRDGyKXCzAaSTtESyBwA2gEuN0hS1xUN6dLibQAW4uj05x66uJaek6YrQE8HP9fzFWrLbY7rnbCXGaSjf8XaIOd7gocbtCWhlffEDCeRlIQn5lL7EdJ6DrOI1ThZowuTPglylRwwmc8PjJH7yoplTk5y", "810dc7ba3dcfb3fa35e25246ed0e1e08309a518f"],
["7Zl4f6naOd6XUvIjPjG353ayyqtl7bgrIeRdn1YDNhNsoTXrC7RBOXK6OO4ACLvjbbL2TtO5mJ6GkJi3j83hwBBW0vdyg9hKJNuTNYNy3U16ZYU3yEejXn1fnonUBUzNnxoFFFankWIjDU6qHQwAfLSjb8orXU5jfAPS80wwqxWfK8BsI2vZlHIACt7TK98lEclesiYW8WAY4ZAY9Jp9lEqQrv156INif3XKePZZHxSuWKZEw1KF3YIMwuG95Z1O289xjLXjdBXeJjt0eM3ZK0BeCzJtHPzT22CyJcOz6tQofurO6fAR2ohuAekQm96I4oM1s0ADJvzxf6NvBPKG1IeiuoGnhVRkYB2SlA52ocOpBB8pYapwT9Ba9oRnKdiTlwfVEtkq2PKv3TeMVILMVaMkW4eMj0THBs", "f062cc08c41dca3fefe3094d9d541987a6d000a8"],
["rpgoKVqmxeuFhNlPac7uj2Yk9EVpPfeimIuJkAsBDKIL9bneQfXQbXE43ZAcDFZUv7QIJirLqGWkJ0RKajHhmc5YV4eDIcjcPIp2qwrVkVf7HAhdGyzBoFaxthrbheEggriCxjxLeML4vsIrIEahfsnSJiy5tO8EF4JVEL3wiMOfSJVMbDixTzjnaLLaevc7ycAVTyjNoEMCXeZaId0lP5EUR4EDhbw4pTzZ8ViD5UvlBmgqYUzZuUEnkQaEhtQ48y67pX9sDIHQ2Sq5F5TZ77Y5LLhwHeuEDKzduwuvVWgjynXBfWAIbExDTmI4ESbKeaSlSmtnlmvPFvhocuBNHUtEcQBE0SsEpvCRAAbF4ROupPLeMgFKohC0cO2oVVzUjl4vw7ErOtmWxm195aZ6bfV7O9SVChUsmsT", "80e1bdc09272dc398105a45efcc933139d87ec33"],
["pICHXkUkWXxGrH63kCIthDl5V5NAnYMlqnuXwJcGB1itUpD9NrCf5aTQnoDCSsB3uzPNWsKMFHFRR8L7qlORAmsz9JQihDgjzmsdREm6RwPBfyLt7Y6xZrAxBRJYlpdvdaI7e6jrSkOYJP6bbRXrupugr5UyG6NG6ikFoYwVZwOqkDYQr3txLlj0hygu1xZvavixrOmHGENZc2TFlKHrvO965SSmD5nVoxmJcO628im17I27TQpdL9bBeQU0XhAk95geC4Du1HLdNdYj38gUIFUBCLT67y40y9f6Zpf0FmO7gsHPMaHn47JMlZbQhB29WcH40sKLnGk2TAMlBsfZvnBH8IHoyVA4HPst2zGUr51lS9MIFOJuhQLIxe011UYAQfHtE7XnrPsQycg3vwpfA0zOhRII5RaoYj7U", "bd6e949191018f6edebb58c236a5f6ad84e89267"],
["DtRXl8mBllUVrhA1e9HLToEmFIs5YCBje28QTY0kkTEyda69VPL6MZYTI7Anv7AsGGKw1YMy0IxddBJlVl0y5TSgvNJoNdr8E9nUDAYD0LP3pTk10p7M0WMCs526bmVpTrEUQOlWjo0WEqHOMLbtdiDjqDwWgzWGavK5GxufHioEcAGTLVW001thKW9BIIHXXffKmrlkvzwB40fZt7UTLYKoWpzvMK5rxAPVEhjAjdempsTfgUoU5JXibpsXMHxga3HdVQJqT1HEB2sNfWxxDe6XTALAwSJXkqRBScIyh8XsHFLiqoNuMS3jN2612qPazx9UnHWHbpEKsMbs77VwL7yXivR4taSSLu6YrCof377mNKLr0w8HjQgQPv0sUbi0bMyAv8qFPGCZdPNwgeEN7F2ay6hz3lWdIDOCG", "ba880e153937896952384e53dc18d8e887e37375"],
["GKa8Vr0xwSJeVXOGmXXPgauWZkKb6c0x8jB6WLh121uRbCGwXHG9MxpT478fohj0KhqfFCafrQvmBe0ZX2YrG6Yls9KFx2ivEaiQIyFPvDxZqWO09abtbgDrhhk803sJ5HDgA8TlQQdeM8qbrVEu8imjis66Z9j5tCvVdZqCv5FOesYMbi3Dduhp2o3K9WH2AIrObNYLAV0Njr0Ud455I1UTc7jTIpHmA9tnyzs4RYJYzWYETVp4LsyD7F5ENO25lmK1gnheuzgPJmaDRFNmbDDerXcUvcDM1eSnxEkxJyFqcqHQBsip7spdTGfNcl4yNQKcAKF9PNsZ1uVM4WgMEYa3bK6YTvc0D39diy1TvVHmh3LkPTc49aUjHPKx7Sv0HlqxJD8uT6gjLlD49iGi0a3GBz7bRzn976RXw3", "d264aa1645e2666d6bb6b1973f6150bf4ca5ef74"],
["o2UZcaMqqniIpxhrY7izZxVXi7cPtPjVdN9HYnwUdSaT36MEpttPfVTIIG2yusJFBfLsakBB6n5gjGfVI3T6qiqiZQqJ6NrnbBAbUyFXPD4gB69OFlSM49dfxNMRE0gZbwmSxcTue9W2o8A17nKOMl1HnJDiHRuhY0Vz1TJndYxzm0BlrfcebwHRjiT2Zi4kAzXQ4KEY1wHENwSGwbG2kgvW9wpaYLqT3LLxjnz5DDeTzknzwSRtJkBixewXI4C8GzaWQPbCYagrQrJyNP9SYHNyTeJejO6cyDGbCiglFqJ23Ex9gqaPRRj4WutWxeNBqmTh1VJ2ilJJpdonB4sSNmFJ7alB4gw4WRLhIfstqDLbzpJgLVTSXswPkghHxWXZSVYIAItxlr6zGxMf5ikEnhN329odzqphEh6xGyn", "b81b5333fea2bd9a56be707c4ccc05c50c85e523"],
["E5UiRtkgfhlGdF7GMqF8JcBZmsvTE33iEOzDThkBp4PKMp4PvW1fIuO5qPY9H7b03OqZsMO6jDbStHm74DuvzcRcan6OED2p0IcLhNaF3EOMIC3oa7vDLewQTADkyIox9bgq8Il0tnI05E1V4w9GT1wnC6sT9nrNHipyKv8kuGvMtg5FWYiDSyFYnAyLHO1vErZjjg98oWOCgZNOZ9GMPqm9cTAVK4GOOy7LjxhAcmbZ9jtw0V9yn9d8ArQUmkjApygjO5wGGgNuLNguK8GNGD720mQzGEHOtoYy26hTjOX9daH6INmVvAatQpEPm3DaQc5IoGmYIoKwyGeSpalee400vEuns6Bss7aj08KoqU5MBmmR0UQzXH47FTv2uO17DmhHdFcmGyOvLmbTTxkighQavkbLJcrRuJYbWWqB", "1c56f4731f404b3f1d0a244c6a43a6984cba32f1"],
["9uOOrQF1yw4Q1g8ZSoJ8UjD5Wc8a7iH62N3KbRSRiLBvsqpnEI9EbvKAARpgYGpX3bzGxEKtX8DLnp9TpmzqBy00ixv4Nt0DLtZp8IUr9dJhd3c9S22LHqp6hzCwYoKSVwhtS31P5nd61RNZ6QwfVA7MeLyEsPbUTDdc4hHei2jYWXtlyzn23LGQFmyVd2lj3li8Ij9tnf18VojXgBek0keYUCKt2V2ZGnN2b57JlximiwUiIat09K97AmV1QG9SoYhwCNbJmphPNKmGR5WJ54Vh6AL4mTNLbaHr2pfmG1aRXDk4BCiP08HwNGDPRPDRrwxLlJSQ5JMeq4ydLUbupcn7n6IKYd3Tj1Xejd2bJkCFCrehwtOcN08FYHV6Tapsdf5qL28NPgA1omwXGKqERGGxd3LoEPsq0XdWoGAfC", "1bed1a8492a06358df89ae99c130d747349edea0"],
["nFeGb5ohrK1kXWcUp5fGE1A9bWMSabdJgNZrLgnK7YisUoD1pQx2VfDR4fgOpCP2mc4Ehgz7sLZggj6mt6iKgnB57ZPiSF2lfxu5zmLXbk5jEhZ3VfWNsS9U3q0sj43FMMWKPHNi7oOP2ZEgF0Rd944zZ2BIy6BZPmO9wbhz06ddozFzQVYsMZesdgpzJg0IH3Z9J8hlaSHkDnkpKekNb0sqHXsSUIi0Q0ZAmDPtsBqU62cJqglKqaxEAeqSzSCCxzPd13qMgbn7B2tNnmIJoLu0ijhK6z5lKEtif2ov3Z1eROqd4Xc1dzW0axRdnARmhm4rgvpU9bI4WlcUHxG4Mok8iDXOstPW9Kx8CG1NNl1aVetxMHPqQCxCrJhkZYptRJXg500X3ocWzH7nah6lFMASQACTqnhk5BJL9QodpX", "1e10125cd634cde12caab7d651c16a8717c3da2d"],
["lhLZDPs9Dy5BXIvForZ4QN85pLFK9QQrwQ7ECQyeRYSHONHK0B6J6LfaDd9CykMMiZLl5FcUlTmJ6e7lB363exX2evvQODPvYNCy0MnzTNXspv2BUPi8kf0D6ZxCWiL2MXmEhdSEUG6odt2k7GJMIyQaAYHfRmYcoXS6NTAx14cVFFT8ZYNEcm1n367P0YvZ65rea98EKYCyYeq8wG6wy4oapR48KGa2Q7bUg1JofbsMGmcnOI0ymyUdJDfVs7SDzVOYK01ITzrUIw92OhGHW5xnZrHsAv38frIzDGZulzrhsAdrprTO7tEDjBJbnlpFnvW9SDO798M1gNv5FZoLDkvdx0CU3R56jRfKXNkJ94mDo8gdfJgjFF0WvH9gfgHjkNa3ydUBKvxeZCKW2Y8oJU3IybbOKTf21izvLJ9W9MJ", "41a0b869906ec1d5c0b36aa957161c43e32a2bb5"],
["G9hG5uUne3MiQ4iq9eeM8PZQo8UJ7ubv9YKEvdfzBG23SOZHrCaM8VESCQ6ueucIaf9vkRvrY6EvO2aeapnLCfxCHhbNNlKm2PxctDxKjruqVEVh11I5QIC0lonmMSXmzuwnIZn7fcBSqJdtaUeRh6CDIWlZxP3KNeFlL0ZAJsoa5BYBF3Js708mFaYtKPiWskYj3iJKWmLFQQvYoCrYhychKMpVoi0DPxlE9PDOm2efGcLm2jlflZTCkYuxpfFeHHxS3Cw9HZm3Zd0FLvCjeHQoeBpVDEpEuh9HE8TsuT1MTULNLs59FH8XNSkIU6QmvQThFw8vL72LuMPrtrlPJ2OSqmUORzTPTDFKrkdb9vEXvRtipVgQJBDilybyIJUrizlWiouvZSLk57j8pFEwjJUZyEW8jZJGfCcy0svX9ZNb", "0e26f59763e0a930a9ed0422d183690a882c057d"],
["U03PRP3f91pO0ziMx50OvaYSIcRlVtbrNA2wG2OuzQfbmSKEpreD2JKjVAzPYosLJhhhYAqGvjk7wLh86654OpDIRU4M6Yb1T4QFOFi7XUApra3pFwTv4Fiq1GKQTtI0466L3qa5YYXwbkBRQAKpJUWrGj2IMOgSWu5Bjh9E3HF7Fyb4FQCyYpndjH7hN4m6l3ljF3SLNpHynl1u0Ax3NH6sCCMSOuvHFpvHIUZW21QFW6cGStc5GP1X71DcClLmzenYdpLX6LyiyTijco3mjqVuIqPpmuQg9h4oZaYQC2nRj0qFut7YfIMZf9lOKI8jbgqudyK1k00SdFCIHgbwZ8ijZwCojBjAknXujrwiUIZbkLSGqfY3fDJAnzn50fnJDqhZcpN0KJeWNjcQFvspg3a9snmSnviELOj6VLweRtHeQ", "bd9d64d02f476651d67bb3b1195b6a7080050305"],
["OOXNd3HZ7zHvQkbRabYf0NzUqjuXfQcIcqUagmJnQtDWC1x4NLCTPd0ox8sXwilVn9REUF9G5c75WgJeAgXGqCKIRD1vgXzR8qHhRzrIYXlv9LcU4LXiozt2hyEuZww5puk3mVdC2oWohJirdymQPgbh2CS15TPkQRCFCyrio0hdwIg6GfLziCXB3zweYThkQ5PMCySHJCVkoe17g6U7n2GOWnKkuPmxEyuWnPs9XNwP77tUDYiYpRNoqxG02LMusyfezhNn58LioGlleKaJFx8cmFR0yOY7xZ12sJRm7L7mYnL5GfmpV9ecZ3ESNQnW1OO5XfRaMmYL7VWFEqKO13kQYHYkK6HpfryoEowaNysi5Qs9m1dqHdCvq1Wq4HrnVWdxK7XkCMAIRxpl9t9vvqunsPjukavHevfUCkxMldj3Bg", "7bacc065ed0413bdf60403680387ffaf78b79e8a"],
["SF5e412s5vTcc7o7dPOOh3xGD9bdbE07RKmnPax6S5UroMdlC6KFGbRvmws6m7J6miF0B7Pu9SJWeqvfBJC1pwiuj8R5NMTB3dI7qkYs3PZOU1h9xiiLvUHMQPJnOujC3qYly2LcjGlJcu0OBqPCEm2tvWr4m8kQlUTdvzidOoDVNQvrTWQxLLsAy1DvI3zYoc6dsPXQTc0k9ekokBaADZAGtCUzvjif2T0AMz65qNUGCbtTUKaRyYnTw6x8ctBilBadYkhdnoEE711HPqZ6x6gp5lavUijN8iNrDLhapWGsvmSzSHSuwVEKpFSWqHOTAuztlwjGTZe7l8qWKK1XrZZXIo725djIVNksvjLcaUHvsImwuRarZwUSjDbUU4WarT2Ta2ij4ms3WtOOarLZQLVqPPKIU4J05PaKFXFKGedTgHE", "ec37e274c85b8a1873999d9f19c2b16546f4f93c"],
["M24YF0t87DpGa27DcyjzZdrcFfsNCPInGygJI9h9dgaHjoeyyz5rePvAPdKMfmhRccO2kmfM1SM8JkJRrInmYRDtZJlWYzrABXu308xsLUFhlCric0cZLxYDNmiyg0ebbrteDLj7ixisb5l8Yjg3kDcWyj8DCDOfwU75tXtxj0ZkSfpF1KarQOy5EIVH5NFJj0JjTRIZtPUmHaIVM9hBkPBE0NFV9ZjsYBnyssC7uVJZTtZ1zh4Y5ae7Mg6MJapw6Iu52YtaOdJ9fezCgvYdHxOYzXPh6e6HtSRe7GoEwmoyleL63RcKw6wMKu7Zc4g4286vErSgqWwzxQerx3hM5coE0637Q0ZQLRL5i7ayPUFFhhbBVq9AsaSjvzWYA1bf33CWGeRh2QxPKq05paqeTah17I3hB4yW8V6d29doJqM2BHoz", "710a67d06da44e4ca84c175f81c90bcc088b7993"],
["Rx8R26ZSTG80VN9SRRTXsiJKJK7HvsBp1tPVwact3Rp7V5WkaqMq1eYaUdvdhyY8pdDM5TbtmRm4hQ08GwHTwaF2BfMkatjy9DYYeTMnCZjvA9YblErBBmyaF2L2xeJEAyHkVS9xHyNzTZCLcCfwqTjYmYaFu5SwQ7jtH3D5G9Faz6jWDEmlDTZp8XrbLE8AWbrjGNIbDlitkClzmib4VvsTW6DJJEqvUaQMp5WS5jJGROT6ZxzUoVixBaipqBMfAfz5vpDaff6cSud9BjwJSFpbJ6c2lo9PeL9aWbmuiXCKC0oqtcLgM3ieQtl1g0TG3Iug7DVtBRjxpT5tdl8xYDqaS0agRE6yan4VhXtX0kJ84EPSxzyIlEcZsSo0LYTDEJPcDkdhpTtz9RX79zwOh0qR3MvH3t8KyAnDiez3su13sPLeu", "0cbd34c0162ef5f6cd03f018166781a579fc0a55"],
["khRJh4xUHZCItfwIYinKLK5LjbfeputLAz635rTJ6Q6267gRRIc0iFv5xraoy1QRWH1TZWDjL1CqsLSLORRqaqXteSXRtmp2cHFQZRpabguRlIoY1vpdxkIfUk2CvDOJ8ywTuZY0he0NTYbBp9wDshYV2AfgwvG2O9Mr1xjn9IFY0QNrgamCjOe0doXJe8odsheX5Ftj0q5KtNMDJWZ0gVpgkVhczWTtjTib7ZDRkVJ8bGUF5tXM7gYq2q3sXb96b9na1qez20scQ33dBFKG8MKhQg5FuWXPSYxgsM3hSbGuaDdOcxmcvLMNdFNpQOBTd6Tq19kaaqDzWYMjxdXaKZOOcgJftL0mXeTrGlzP0SgQ4v39bClB2n6JhgMv3BSMmhi2KnMOtjz5trC2vEqBG7Gmvx778Fsnf6Q3o3Nhld7tT1HZaY", "24cebf4217ef9acd998e745fac659c16f9477228"],
["Q3PSzW9qGI4USG1T2tUiOhBHle1OxD4FLwRJodSPaCQjz00ycsrWVVIh0zHXu2VK3daYS3Eh76FQO80e0mepDkjhAPk9qW6akthwBhOmS2s3BWIVKxoh55ma2FxmzNo4UddTBYZswA8IsTPPdhDsPMmCGyXM1QgMOQ1JjD8mfnQkTlKvDoNnH3KYicozpUZ6V7daAMD5zKyeKFUih5DEtin8SRKEPebsQoGXj52l3XIfWMQvHLqXegj9FBLggetpky9FNL0vyUfi8infXsRTDABjsNxnmYMz3KxLRuxFq2LALYUBUKYuA5yrHATQeyzCQ64LpoH7s6ixWPWD6Qu8eYW1w4z8Je6PPK4dn9AlB91zYf7XDwykJa7Iqnm46vyBy2ysrGvdZWAly79Lkze3ctWw36Fx6BsxCfUKWyh0rYDemGNsFbY", "1a369e854fda11c054236698adeac2d95f346548"],
["Ha1jw61WJBfPoGSkKfnT4H2Jmq410eRmlKCI3iIqgLjcS33kWdJXQvHeaxvTaNdrzy0DgveS3Mh7eKesvYufelxSWt9xARLvgKTlsENHANzkhxKbDsJmc3DUZhjUyx0ctKqnjxYCe6DGLWKlByR1yH9Yz8SIowon1BkB5UGvN0qZBzwmeUHXUfF97IwUmtZz3jGC7r4cAUeRI2ZcJDGTWyjsqWwjNrilDsnhMZBLTs3dao2EQO4Bt6YVujRcCmAxrGmZlsHDpdM2xg58XkaDxKWAkdHW5ODeF4185yX9fZdAlFprSAbB7BiMBwWIFwzEZB77LGzlrYZKYCUyad7WJw7CzBPeePQplSBUnJP9rb3TCXBFjiYmNqNxX9k5SfkK1T3XCkw0BbqW0FtEl68MYXlfGojtTBwi6a2SEy97cNLP5LW8RxkX", "8c0e4c1af56c49a91cfbcfdefe2b49e684b89c6e"],
["vNxVphulg6TphZpXD36ULTEZ3I9La67CWGt9gGP8fbwjBpjFfTx9WLoARw5pDuGbvtJeBzGCXAOSslkZcSmg8W2PzTMyvkDlYVl0wZV6vkr18C3KEWRXJuufuVy2WuNNJ9317861V0oWt7ttZyR8NkpdZmx6bUz7shtMrvWODu6lQ8abkPqaW84Zpya6tLYRTBsbqBvt9AGXVVceqwCH6IMxh1egDhB5XknUdL3pHSMdVm6Rzf2uxDB4AMTByrWy2SYDeI7cr5BaLZ4H7ZcfeP6dvv3sL9KkvhTo7SPbVwoNFQP5K3zikTr5ZQX6oCctKatSlXT9Uh2smITZuw8JIrWvDHeS98dYNLHkLmXJcaK0hjoZp3o81pXXTRDlZGxA0RrdoXyNDjtQEwTtgu0P8mTxnjbWkLK8i7Yiss5AVFbepV5mQshdN", "a37eeb25cd87461dd2491876749656e56926420d"],
["VaQTcOxodWTkjMBYTAcp597jEK9GM8wnLn3ygdiYcTvFAPkJ4ZgYS78ruuhGruKVtyQxS63uekiCOBh9QWgcA0LT9oMnnIb0YyVaLOTN6LTM2UsaXlttaZvzcWci97wkyIek3ACEi90nW5qFZkWFKVxTONYRXZ2hXCIRod7HDgoLCTu3nAwUeebT9IcVaZ8NgS3dKGa756WzWU4BD3tUD8I9hCtqN14jv9UOxU4fD1SBEMzH4blbS9dp4iauggY2Ce17Lge8GrnYIDiJ05hMqosfERmMrJTvmEx7dLkV7JJIjUCvoBJOLsGKK90dUHBUIqrzycLEcX6tkOYeVqkC6buc3BHEkh41nPBk0YZPKgj3vXQtJg30a5A6DfLw3K6cuEckjcI0YhALv8TnKLhgNjm6tpf1tpjShsXWWbzdMOBoHzfc2rzWRV", "cb8cfdd9c3ede69b9435b598f696d5f342581687"],
["AkVhSQQjRK04lbgyCX75gmLbu3vgEiTiPYFS2pMQZ1irQY2X21lfucnsOlEIC8eBWYmLNxU5qrfFPxoMTCNRUD8n9iRud5isH3hiAc4TibsKAEhOI2vavFmbTRlRsNSmsJb4pBt9NLkiZy0RjXy2Yr2fBr3016UMaP46o1pMLtYKyIhRAjT2VAGoU7NXxKoL9Q5HDPSdIQGbhyYKvkx4rEcCEFjcht99F7mQSRLy1NMSPaaqT5sny4uHMlWnI4Es04Ym6mnE1hYCexLGRPtmLyXLBM1RX90CKAif8xVS2tNa0MILejhCdDygqhLdZOM0zCKcIpwlkmvR5f7mdGCC26siXpppB7KDsuRRCpxpc69nRZ4yIGoqryRCtwQVs6QruVpNJ9ONycTWU6gM76qML2r68Q4lSYkb2b7JVRQKWt2d4HhXWmtm27I", "839ea2e83fc281f7e2680ae614bfa1510efd15e4"],
["WPCYtUh8I6OIUCwMUGBuSBrc49lf30V6IdlT7PeHXPawCS0OylHWi88EjCmhMD5vX0C8EVVY2UtTD21q7otVGG5rsIkNz67lEiBeE4xhVpMdiqq1VHXjDtDW4wP9zmhECcgu4WBNPFkMtmUGImRHiA8GksOsTN6iUro7UygFKGfXtB8pmipMfSEDli9IHrLWNofLKXID6b5ZeUNj6P23JbgilTGiRjpqcsE0TlMplJz0kCOHOlt3gF4KIdrm0GAiRvFO5TvLbmITj4Ary9XKFnkz2orKhvO9bvwL4AmyR9OtbzNYwLukAhxHTXYeG64b4Rag4nn3kvxB7VrsdYkZuPdlLAEIzIipn5kNU614PwaqF8MteDEiOedjXA7RjzxZWWvZt3hS26Qipf0ff9Lyxa0HpoLHIwxoHA9B4ZHxS2hcxjyIaYCQpfOs", "3be95bcd2d8540e0288515499f2b4dc18ec4de3a"],
["3tiM144l2GMvFRQpkOIAxG9x52w1HnTE55YEMXJtJABlOgJ9OFcm3Tkle14oyokPNTKYYa1Oeps8CIuLe1TMHga20qBV0qXLLAb1PRHbuqie544AybI97q8IYqCAR7xpJuKyCqj4TYgsvN8umFoaIEr5Fos9sZnVhcu930WjwhIIkKw0NtgAJjPBZMriW0vLbz2qNZfe5DSFfgF1HJkvQypjwooArfJKtVO3cKy1a7tXzWY96gQQxhciGHE0RDejfL1SF9xsjeUuqtwwciW7N2aiJUwLZkxPyXJv8caLZy8MlfgcqUxhR3q3q7Abym4ozBqTCcS5MZmzmRInJTiL8PyCPtoAIQmbzKnrWrlBN86myEz2E4SwleWRXW3BJHQS82KXczLQpuEbtrYZVAFjNSwICW0lh4Np7wnOKJxOrAbAXhgOTBtAPqnDy", "31f27e33a9bb27cddcfe51cedc5a0d249c5efd5e"],
["BPVUf68Q3ut4Eaai4K5sanzzXYPMQkvCN0SxIPi5EtlXNgigh4GUhoor8VK2pmTXqbwTPGCHzPLgKZ63sQ62QA5XazxQpfF0AN2TizlWOYHCnAkbWah74WBWI0TWoJU6BhmyM8vyMARwJiaJFx46YBzdLYavQUtyhkIYMTj7oSTAftvJZjBry7nLwcvGScPcRagvBFdwde8QtQV9VgnEuTXKVTD7qTePKnwIPc0ZHcjRlGeQtA0ue6kfGLtZ49jjaOw647tcO6vFrclFoCyqqAW5Ob88PzDnaAnXq3wLUBrJsReHrYLnAxUwFh6VGEs7WFTpXTxrlhcZjhcdFrNUFQ9sHHTd1Vxw73JN0bGXIXq2vxEuSaYuHTu7OLRdlvHGbV34osCtY1viWzHt6X7On18dDeqPyoFqaU8Bj8INWV52FSVCyrNb3pXtci", "d9d7e5836effaa6b0ddc89c42952fb56dd26e01f"],
["epaaXFhuCu4cUhgKqsSmCXNdkvplk2dc9CSZJnslBqi4k7zUaDXjNf1N3qYVkpqO7j9GPrQn8TNPCfgHPsqq0JXESxY38678mLa0YZowvGvVIBfveMKAaR2E3c79nunEN3uDfRccU8yQCPFpGMBM1UR7vmqF2JheL6HRi2tHwBiBWMYxiZ0iZEGF51V8ts9NaZD7TBoATkbYDD6T1RTdaFIFxTpbAj3ofnztMcySwMNeegW8OaW9OynZiXTbq1QMc0GSZgZ7KEl4nuiGhEt6CA8QgVuwefftZeEfIUa6jL0Woz98DND0lRPtnxn1kbIenX2LBaaLAzBBrnR7uCUnZKbZ2M3wcCazLFCp3l207nyJiYjSS7E04EXvp0WIfUO3wPIZ7bWIl7mbR4jXpxhWhGHBzGtPzwJ0L384UgaI1wTflVjtzLd00wouXld", "7e58125837609945bdb41c84d995908ac76f66e8"],
["0I4s94JyOOOrHhfYW1dF9QR0GSD7mKIiPp3IqRPF9vOuwutWVSJFtsPOL9NuU5G5Xw5ftlkfDlfTKysSfbzYsVX5xyqe5OYXo2Ru6sLrEr9Y8BmyuoJxJokTwDk9ATaJRrhUA0Ia2mvuSgSHUPJyw5KPS7Z7zpjl4yhnIURdfloMuEt7HLc0m2kav1ZFXVo3PmYYCsPJrKi2Ml4W4KRt7jAfkD6BELVffIkb8CMFQbADRr8MLJNycVO3PgPhWHTdOwQnWbCcyJ2vRPqCv0QCfU2z80fl7C7SQVJmcTl79gLHpTU06puGMnBx6V7X8OAEhGwSnn7HBWSETn0Ihq3pDfesLDCEIV2dVKtp7GVK53kVdS6Oj1AlFU9efTbBbarPGM9wujKpyRVP4RMOiNPcOY7hgzYsGkbU5JUMxbU5oRnBmk1GxPPzyNFMFQpg", "04ff2db9b20f88894c5011a51222c71f36d8d64c"],
["sD35VYd7y6tPvVTryjpbndNnzKPn0aCfH6cO88F77BLfpQbZit71008OmseioqjH3Tb8enih53leTXWwLCygoWcQSV7DCa5a7DEbHPaCdD2o89h5d63z7aQzoRfQHm5uXipzDi0kBoEAsivu1sSuAi5WhGYN7ArpnWZPwtMTSJvlUpxTRav2zY1nHw8WQpeHowtuDGuCxRZSCxca1SpFc21xNrgMXH5i2TmHzO34VvjxBOEtl920re1xeRGlDVS8fqCYucDGy76jtrm5NGlWlz8NYG0vSOGFw5U4zaChxQqlVWN1vva0i8BaQJjqywZqjnPz4prHeKbhTrmVcJsmVsY6nEjpFOnXz9Ky0ihZATyidR3A9RVtxVqChBDhBRvwNRSUbzxrcCBK3fLcek2BRerZt4pDmXR7FflITqTPap13lyddpVJwULxgBg5E3", "97b255c32bb382a64c78beb2d44b6f0bc7145013"],
["c0e0oNxg0lZqgEN0lEK95VjkAK5yO8SNU3uOUsRnioN7bQ2A2V7AMPMCGulNitsvzyczYm74ZGTWRQZS7r35BVVQPr8pZFwAS59kJ92qcsraneMNc1cBM3jRPtqAXfsdOvJThmoAB4wIhihzz5Pt1cagGOoBUsWSo0MWCfwxtbLT0ix5d9ZTjIIAEn2eNbAiBnTZSzq7LcoQEBnbLIsWSiTD8qUSwthEa7eSaeuaShIBJYjJlYE7aTaYTgwh8Xs0OvSvm42Pg3arWwPTR2RTfUKx0O5JCl4fNGb5hWpjviszQhYl8ppOKeJjuBl6x4EHSLvbZ2l270xhRLgr68sRQiMsJDIW64eTYniUsRjGPRo65D52Ol5b7dOyju2OQtsRq9VDgOPme8TYt8hMNWLcfNr0psSgk8UbjRl6gHCV1quyJQiOQoRxDMHzlHkjpW", "ce68eb9e32877f2467ce6ecbf7e44c9f9aca65a4"],
["OaNAnA9RSDvbAJn5tuWzTQ1jSKGagZPjgjWVXDVX2EQSFvpR2qlhp26fA64H150NTsOwr93LPN2fKg3Y6bXr05mfRHRZRkpYKUmd7qNqlaJPdkGNTDoblkufBrHPQwUFhaGvKOaMgFiOO4gN6nHvq6tuzUPYZTc1Yn9HJAnn0hO2GIL5xppbQz9nNMUVFYmkGNZmZHW549uNySkwNb6CJ6wpCQWOyhjeW4Buw3ZMAZAuYXi0LMw7Zm18s619r86CqNSu2JnnY5ugHIRUibezJmW7dK0l8YKAEPgyQgiskWoEH5hYBqbyGA1vGC19xhfUqdC403DzyH1NviZxKebl5iJiBf9IA7CqQbGZzYhS5P0TTMIdQwIZCY0NevvteI3YSkUuZkeZNA5Li5zlWJeyERQc3DxFKnMeeS2iyby5OzFa0Ne0UDbNsvGRT2GnMhz", "9b9d451219e8b3327863edb25b7f3e41eff06c15"],
["FsmMNVD4WY6DxaOGJwIeagCjXDdDMDNkYDYyLBUYTHDXB9RNm1Wv7rX0oId68cs1rq1Xbno9WyIuAW1atIiFx1y7L35yPzSULtCNEVhEStegdETvor0QoNUMSR2V276GGpxudIhgWDJdXAWHYlWHjrCKpYie2S3sOYHEkySN748LYwFxDclGcOnFa8gv8O1pecEgGnWMjqYjulVJDjhyZx4ht01ICllEO3BswgvQ5ygiLKgaKkqMQjv1ziBz58tYooMztZ2lHvtjbOrHDTJHhihXruHDHmNSwEj02stMpuP8Vb6UC1RGikJpiup4ypX8Jd5RGuYfy4SoUKDCEufDxrSPCdHfPhrs7cMYh3YxNLAlB3I8LaPAxWvYPfPSa9ybs5TOsgl773lieoxHHI9YoExzFfV0WGXhqButIGOgx6Z9M5xGJOw0CBausbEesWjM", "231ebd2acd58072e79b4a46e113090b16471eaba"],
["QWTqEj2MszJTWvzz5mfNbmQaxcdfCiMu0Dbq6RqnI42QRTNenV0FeGtEIsZjHBCx8Ebq02XR1oCUFsatmm0eRcOvmhl97X0tJ3aICP2d4rCxEIKmhU7ke9D5gE94wVDjkzPdKp71ayWpM4QLwHqWBMkyrSYG40j1jAP1Eu9aGTWsSQkCCgOkpz4D6ysZHD4X7o6VQZ6kzu6FujKWP97lyHegVs9y2nhJHiaYSvsdakjQDCtHuT2lWr1bBwt5LTiNFAKMy0lV3uuVPdCXokA5BSs62leYhFHVFfd7cSipp5mDkY3NUYWAnmmRsNOOq3QmKYcHbN4zhMMnhl6AcDqyXInSgToy3BYdkbSXDUAdwl4ldcAdE4q142tv6aUnGySMAA3BmJHQ6SBkVummRcKnxmMp4rUoLikuebwFSDt2DQXyVJFZY79GS2qkxjc6rdTqM", "86e8195334a057bc746fbefcb09975b3257a9e43"],
["Uae262A1tjIVDOAB4ilRu0zecyNbpcZ0JS4uYrDV9m5BMtIg38qZUzMV7xZQPuQAvQBejv8nH4ZVc8E36ACzkk27qnEBFmlTqprl3XyO00mE5pcYaG4U2CtS9meLsQBop4tzeEUcoBBrpVTAK0HYFOwDzmKYfkYi8BovBQjbQpYynMVPE1eGlwS5BPoSKuqA4jTudSMEKFzqKpkwUO5wShmZtvlpDm2XwwYcl2hJ23vSReE4VUHH3lCGKoCJsPMWlpbNOO041sAQTsH9iIRBSl1PxxICD4s8UWHzeTnoCusNY2gbE4fc2Vc1H18qEBNemyNhTxDA6CwbQH2MVGoTDWUtB5Ie6J0kxYcEPodb0ywMzvOdeRCwwtotD5G9XSNscd2IaF38zPmn3Aj7hg9hKnSO691L7C11rTryMe3ZCWN0ZjlqixZhmURcCpAnklCRq8", "c17689bc86ad215498ca76b2b007469d078e8561"],
["kq1ClxSnIlbPCZNuNJFNtjcY0ow3BvryiquknnXX5esiZP0RTGJ21peMMMUJ1RSoRI7jUH7mGorulZMVOusssu7uAqN3inm1FqGJwCs3Gdgrqn9B7qbnmo6vpdndVODxV0lenFOAAgqRtz4zIQZGiFZJy2ulA5gfEL2FuP1qsSi7a2Iu8gEXUoEkwDZzZTGuHR2kjh6WAvNnP1OxH5KTcQT8EZVhyCm6PjePbF8ruO2NYuKVJYqj1vmVZDGlDwwI8FvFHg6DCczJCM8uizX6lZDL7hQRBEoqF2yPwFQvwvCWAIs880HdKqeZqDARxWpsHMM3QBYjTJ6FIH5OlIMcLQuU1BGisdmxhSLEe7lMlxi5bTTaRyPNTQ9tVDSE5G4kUBYe6lTNkDixhw6z8AZmlltmUfowRABJq1we3MB0l3l0hEenP7vC7SBHtOdNxu4Qev4", "d76b93bf3ac4af9fe532aa1ecab9a33b6be5c8fa"],
["Eds0bJswKR3gjibG8ohCqrxKROTNnX61i8qepTKiKz1Kpu4XyXi42pRQGmznChTv5QaDObIwVvmDptglyOPCzLR16LEwQc5hSmFNSy6SrZS9Oc4mplgtWh2K4mL9KzzsPeUwJN6I2y9LrPfCDmDP6fJZdBRLVz0NzDypYeeyLMYiKx02W1SPyGqFiZqoxtfWAOJ0uiHpTlo2IqEoa2EajeChAt7BkmTstkxDGxX2SaaHBTKTPl2c1vNTwUJGA8GYTqvEaiqI2CUFMtMEsDjegFu6bi88w6TyBc0AIbeALHf7rpAJBbhTOxSVUVc9DrGxvdK7vfy0o5Ef8SnZCJG6vIH3D4XDBXtGZCwQuHFfjBCEBXD73NBh5IZguE33hQw9QzsjfsKv5saGehUmKVMnlWRW9aO2yQla04rwUB1O9KDWHejPxewHaK2llnNqUuLLz9m1", "bba0a0298048894ebe29ef18438e46053fe74b73"],
["9djl4szMOPuGoWOo4ErClU2GpIAZxLahi25CYS0gjVlwzh2kOda9xliqSAYE8gLCQuJvLjRWIPPO3KMNOMIdIhjy2sCvy7lEi6Zte1bjx1YVX7EVqSJn26k97v79pxAsP4u1wxM5NNYtgMAHTkfKJA5Gmnyl4BYmc10fKapcyzQm2eQAao7mj7BGDl0tYtm6lLcaKzRipJgTSdZ28XRvIbuzn219JGa1LLdcxqL3BKFp1SKqDLbLBNS5VbeYJHE1mQUt1cmhEM2TJzGTWxAOyv31gj7dn9TnoU0jLWQZx5p4Z6XG5uVhKO9Imovk6oNcx6v4cT2XXFteBoRw2gLr2vbXakIhLOt5zDjJQj4jMGqoTWx7sIUo9odRPxGFo3d70EQXdktaHLDPsNpuAblhA07NRF0scLpboE6gDqYWXMz6RouNZqVgkhajLETWPS3qC82tG", "b4629bc60676bdc54c6cb2ffc6b8d9fd23fa3f05"],
["z5LoBKIWFJ7GLFkhJ7zJsGwD4meeeY6RFbY20YcOUZcCJtvycmA1viR9IaICkGy31XFbfGLZ6rpzPKFLZeubJhh2EQYAMnHIkEQ24VmP7c83lmKXdVAlJiAzdq3Em6c6a1UgMQ7qPFE0gznuMmJClRoF61AWOAdZ0VZwjgwjHqTUau1NfhXI0eCyOkCGv6y2D9IgGcRuyrDJsoiUJoRsZUMFiB0auJD0qKymGFwWsCafogSijVfTLLkMWLKwcgjoZQbUI8Lth1ulSTvbowQiiRmJUBz1GPCBSSknIpB6YXaUNxMevV3wQvPC4sqZhYzHPZxFeGZHL1PO54NSX0M7PpFmxOWnoPoNESzvTA4a5mFlqsSNakRslKwGRljdMq6iHSMLKMLuWQIZiKDZpuZZ5rKIKu83qMSCln00wjThTxlgxJXFiFYjYTqKtSRuJV8pPgURht", "122202c78e077b5fb5095925f62d192b5cbb8813"],
["HBsNY8OxbtLF0H6G7Jtv72fk3TKzqLgvu0G7NM6wnJE6NldNsjDO8DYG0S3SALWQv52K519nR77lBrddHu02PxNI3ECvSbsU9wgeQ3ylMR2Lz497YKQXbMl2eiKd0qILvhUAeIKdk3kWHpFhCHwDIY8R3i2VoyfvfUokSdPgF0y4appzWE6HaV1sHhTyUedW0PTcX8c0zLo6GQT3kuN6H78OrmkTtTEjqyM6US18qKtuI17O5VB5HwjP6EzTNWAzY0KjkpDNvpEbZAF7HqqjyXw6jy7ut5SIiB4KysSXQf27gKw248gVVl6qvN9fBkItoXq8CN5UoH7cBklb3L5PSAuFPQxflHQ2CVm8BH5a9ejQpzqZlUB5VyjbqpOpOeeiAXpRNI85jp4rpntNs6vFaWyrAdtl1SK3MmsEtBn0VdWi71JW6fYduAeTWa2vuHYmLRbamrA", "1fd78963a20d22ca26c61bf4974b448e239578a6"],
["vSZzWIBYuAqRBJeg6fKwAg8bwBprtXcSxkhnYpaeliRKPMpFsyd1aO5B6UEvgBmjDHIypdGcCMkfx5r0cFpe3x8PfiBFiVfz0sgbcIcUzmuwZJCU2K6mns2RI5QlmBRXAGSSlRr7BllZZFshNULjxvZtTjJthRC5MP3q8jAIpgbZftKMXQECk9q7pIlEFmFNl1Inm7TmXneu77WJnpT4ddwmqk06z07z5Au4BmPSV4TVb6uM30TBLvnqnFRrLCbcyGZV2aImFUBHtlPrxYIiP0Anm2MnIlmL9ISGuQntLoJprg7OGgrFLEuQu2pKuhFgeY1AugdtCNcCEgXjH9i4t9qDtFT72KtLnIKfKezdOuK2ECj4pgecA1SGZHT8gLT0WO0t8lt2GhUy6sZRl4ktWrvV2EIlkQQBNOHHVUsxc7chMAIWm8fmM3NuLkh1IMtEHuaYOy0f", "776cd1151671b4e87bae31318f72679f3cd04fc7"],
["sKi7uOcqO6aBPTAlMm4A2KiGWnfVqDDXqLUYbVRGLSRvHRNTO7fsUu0kViob3sJHywDjpLSHtGmDUvvmMk4E8VpvoJEgcdqKqugosuGDgQSP8EeJ0ZRocNye1qV5E0YMnynhM6ghqfESjgYF6GCJmh079RzSA9Fkt3t30A3dg76bophTXvxXGnfAwpWbMH5ahVRtgjHhtsLsVU2G9BkegkxbxZFgu0USrNsbbeIcjNejO0IjwLCLaOkAU1wdBg8qqKlVXLJHUfucvfKq8S7dH8W2bKCcELT8EIdWpPSCqcnIUYGKrnm63F1rLK0N7LqWgBCT7K4pCsI1Aaw8BXw7e7JhzkpUpmOHZId6kAMnD6Ri8RG1OZclLc176PurFfRH1CEn8nFMpbWOLQiUExtHctmxbYHFenWuobLynYsNWOo3lqxd2uCICzxGGnsipAMAiUDBaviXl", "fb2ac6bda938c05135dc30305f8465a387d2248e"],
["K5fEw5qm6sP4iPlDneLvzToTgOPkAuC3sulLlKQMd8J0zSG97X6DoVRrsJbKD4FUwamvIr48sJLc9V7kbbsJJ6FhyU9wkTA3YurXGsID31jKVi3iLJ37PpzPl7eB3vpExieJWeOH1JbSzF0RgSeGhHibKscE6fpEcMmcJsltGBGY3vZiRwfNhv4JlC42RyC4Rtq4FyA5k9rauE7UhZuUsPwL0HOpYD8QWud3IlOwRldpsY6jZzQ1UYSmAL5XCmBt8u5W5qagMJOeTvN96Evdsu4GdXci1MSaGfKCxgA7NXM9M0o9nVJIbLIdxCDxXHqVgbOl3ZTZW3IbWlFcEVzdGupK4oXvCy8ROjFVLfVNP2qs8RdsMPninhd7wwBVf1dKDVsOO1AblpBke0oLmM0QslBTQqoyOAiv1mOFmcK7bc7v2SpakrCpTE6Ab18y5E6fYtDXxULVQR", "d110083497d3e5b6536ee92c2b961027ac9773e9"],
["6y8hx0hAz0GAnYo7ki5cPGQqLgbbBC4zK5KmFWKUqyWjFRWBcgLoqcM3qNkxyc2LTzUKJ6YWlrXO8A9H5yi2oahlsqhoOTGGZhPx02qTyPmdXFB3on8VhYsD9cgWimi1NhiyxohT6GzF73GF5bk7DS2CXc2AxTWbZoj6c4CwpO3kaI5wZeQBjiSLcjsbwdVBwSMkUuYLYgElEGqI4kAGt6ngAIwQ1d4gk5s1QdUoviVbH2hfoEQZRpSP7ast6oTCFO3qtp4qxQJUFxrqRtkJznb1KatBttsRNoaF3Mx4f7yGo0MuTCiQxbTANiGO3xGT2DB2X9jFOYM4Dm5E2PioAafAeURuS42hYSXOG7dQkn2T6qyGY0WJpd9PWCNaCic3ndnubAn7dtxO9ElMZdB0aLyP1sAXABpLbJ0wmKAl1tkw82sE3nqYYGB8im2jBWJbNF98gAAYS4G", "7095d5fba77bc752d21171e48aa0569f2dbf14ab"],
["USTAVoXrkuXhJfdpYwfv24DNcMYZH3IdkY77MczTGRS3GpEGve6Tod0mrTzMXmRdeim2mXgmSkGRhySlmgzQuvJqYzV7sylk4NTOmAchY7CnBNpsWFeFKsUZZc5jUo2IIMTJQPy0NUibjV0ImplQ0CvFoNUd0qLAejKohUbClnsYEDMKeYJdJKxGU3xgiQPE4qR66259npcsD2qJpkC8lAd3MqkB8X6aKuvQEngJscL9jCxA69ZI81FJ071NXQqOfWETX5nL9kiVgDm6xyndut2KDQmM5oIkt9l1YIzzqIdoW9LAr0L6NyufZrvNZQF4wydmdAPWAQ9ejWI6eDA41xcjqECG0lljNA0497m5n6xGIoO5yYcs9KrbpLbbX0vyn9QqOPghA5hJ1RpAbaoutfa8sKgcoclGBntImY3EEdaOcn0Sf6mbRTqJdJkqydRebNNVpbYmhV34", "16e07c9d61c709a64c1806f190ce82ad36d0f616"],
["sug9psFxWOOAQWGp802dfONEIaDzGBjemD3SvLjov4qZjvBP5zRZ2Vj9Mmtms09y17EhlxNbqo6AnE3jfVsUYNlni292NPWdYpqDVPKBo7uALbNLNhIXIsDfdMmidVo3qrS1pkhB5EBX95SNkV5L0bmrGrsru5BYCIzzQTfHBuAt0TjVOMzG0Wr8bY8j3XjL67QGC85m0p7S0OJQh9f84aitpkAVVDYlzgKPiaInJiUNzaghHNT2WEhuYDEXd2iUbZCAePQVntL22zu2gDs9h7oilkhYECmGKwaj2ldRS3xrrhmj7Z6fMOR8665C82CLCK8RH6ptLQ81J0uPbhwkY0izQFIZ4ppNPPCNm1OlnR46QORte8IHMlkznIMMJzqvbJMW7dJ7bu3DMvLLzSPvjfa0niiT2mItwOT4ZY2OjibIk0ejihU4xmVT7DL9CvYosk2CXIV3JcrgI", "aca513183b4da067338933f70ce2e05d8cc1f149"],
["rkQP3eqfMeufLWSI9JOdJtCErlKR3Vu7K0hCi55DTeByQQJ4fM9iVcw7vwo6ZeUsCRGxPJyNPrLdhVp4wq2ZLKdWwpWEEhW17k7POesIpMmcQGLr2ZDrW4WYlN2kWn2lodqZkyTJ5vPgSMl62hMuZxm9UZcuxgMXZkc1VEs6POhExIS8EvCXNBmJj87RmsdqJCvCvC4cmgCyj4DeEh8zP5VnE5uWukAhouGsLQzhUJ5YeTn2Q6BUp7EldZvnjexyWDQ0JK5gYqxGvOHu3IxfQnbBi9j41TJIfqrJwNA3SeGEA3WzvR1dVbn2B3T8qETFJCMAp4bjLxRw5WCljoCA02oL8U1Piiudgw3uGXwiMqTVvsGU2s5Qsmrf0dYJDo4LxHzgOZviyZNunisnCCqBFXWcsYCavp3weUfwOWwh2UdZ83etsJElEecNnsuUCzgoNUeybwo0yJfZAb", "b0a515a97e3ffa3d23b091cb13b11c9ca8ebe83c"],
["4o23MdM06S0rCXXVmTybl4RXEeIBrpwLNqSlCQMcRX5AYO6ZP0I7XrNJc1oHXiKttgABGX3CVHhPbY95x4n5CblbpSgGOY3c0mc04G9r6TS7J4wwNSvYX3W6EkWYTRxCesGQlOvKu1XXNWU63g4FDKmE18SuyBFesPaxAvzvEOFKubgvxhvHGrXRjgUerks5JRnrk5aRVmdWWmCT2EnVY0hLFeqNW8jTdhRgdYxxZWyb38ENGBF1ythIZ6JIOYazdD1HHs6vwXMoaeRhb1bwOTYgTbSZtBvj22Cq6tME49mtmZSGWQ2L86q4z681bKKBjQMgDnRSDCKdO5Vi1CTX5NNTRmNW6THk5FCm53rdyDCzt8CwGrnLYJD3PtgrEMt7KumZbi1rAo8zZMqGeDal3bsY9Zx63YhDocNbYoyU2WlGJ4xHs95d2YEVqSfLxCu68yyX5ctepz19FqL", "61812781bd021e726f618d708e769d4131a72b02"],
["IRo2zSdvHF04qmFJ80MkY6pb5Ui9umrQX9HYhU86YvPgQB2kJQa4tAjT8Wfn7iYPVg6weLonnqDuN74IFZGNCJMpUCmMa9VJQhJg3qDC1rnBPQCr9wDVd9ujgewjrCemIBVpGcaRrNalT7PR2U404evOUotvcRln6fVTVFGtvqLj1oMR4QbBBmUgoiHYvQFtSFxpXmYAMwt1B5TmNMxpSvnxn9n5tCSKfQpUt9mzHvJTCL5QKZ4mirUS5nlO6Od63ZpuqRQHmfYNrIQim4sWZA49gpoWAvId7SAusLT57daQuXJFzwHIXJ7k4nRIWVETRk3wYn9uKc572wohwsqkeCpu8rx4L4X7xQMJ4YYUV1uA1PzW761MTlTCKe7r095dd2X3FVNNeYrgFBxIGPfBU18FgUkBs2BxUHxJs1J3Eq92VIHX5pfTNTH9TS7AyHBAtQRagET3efY1R7RD", "0d4ee586008eec50abe5087cdb1e5b3eaec93057"],
["uCNZGu6lP4XxaVCpKOAn4p6BALcwETlMWdp9xZvpvoxcaCrqo6zkr9wEmEZBW8qR0fCvzdHEC1XJdpD24d69RZy7fKVZHni6N9r2kPsfZq4qfnd7f6W4z1xgQHpgViYqqOoMqf1l3jjmDVTm7pvkl1V8z50MyXBgupzrcm8WjXmT8pDbz46xeZZgl3DGUuwvhV9uDX00149pVTw4uNr5IE4L9DebJBajPedS6dqWWl1p8FXgsYzhVCd2H6cjPG5HjEPDwDSzBUPM5qLx2qtqQo7qpjaK0czNWk9cmN8Qoc7E0sRhHud6Fu1TQ0s4SjJ0ZfeGk35BRun5sGMzCOIQLtCi5iXwwkPtdJ3PiV9XHpnovV0PSg3gsGGnEE9iRTzvLKOKgPvTcO43YwBRz1kTQYUCITo5djeRdXhg5g9N2Hfw4tGeRpTEfL2Yr8HzQot3m4mjcEvDJ0qfaoAyM", "7491cc1ff3642fc2286bb6fc2d8b05657d0b00cd"],
["1HKzDfodKhT5Zo581gsiO5OfPkweOMJzJNP9JF6HHyJI3ybMuRLlIu8DpLYqMzfVJ3ALgZWuMTybGlMg1lEzSb7ow0VaTEApxA94xC3rhoHOcHiKxvxm5m2AFecbLDEUCYN27Wc3kocOcJgE4NUIzauFk756vjE4YpYHMUfLkpHHO2UlKvrJmfzS3KMGj8kPGAF3hvS7bX96pFsI14dfrdQ9JJMrHs54RcvaaA5dX0Pa4stB88i1HDU4cVp1G4FEAw4kL8BZJFnWT9TjYYT4ZciJG6ttU6WMDpU88F512v10jHm4Rjvzck5bPYT3t7t4su2VMcaTMOAOOpdUJJ0Ok2k7gp3TSSOhuikzURhXTy2gJRht5Hvvi3RThVL93fUfP5YiL29PAT48waqZREjXZNLpDvxJc82uZ9ArEP9qtJQzwksaNGNd3e2FSXRPPX8WOM4AQVcezOLRUdG2e3", "b40450646cd1cf9fe2390d45fe1787d1aef80db0"],
["hb5sF6eCTmZlel5n1Je5F7Jj1pxAiSF1LY2RakzYpeaUziV0et5lkiD3SPcZzpplIv1RoJmLsyPuhDx0ghzqNR7dAayaXL8IFyYuRqNAuAI1KPqsGKX6HHeyCAu5JY6LHsT8nO7e7z2JcP0vKcdkZ1MZwERdVtZEY0sR15BKYL0LXoJsUe5FjBb6B2DmJ8CYaKKdkiXPZ2h4OvtCzMt9Z1Nrmk2tdPc6cV24qlkezRrfPAcRBXPUxiR9Wm4AU3L67lmyjpEOzUVmQXyz8O31Jrfj2AIcaHAJt5iTWfuHXz8kXSLNm4GrtRXsyVFIdTZS3H0odpeFAre0YXlnfDGDNY1pmLDliIUdA2Tr1RG9Ew3DvO0Gts15GKNvgIvYvIapt22EMbfyYGVmAmkMFqz9x0m1vnvfKJTmNBcGNvQehGdwTSHJQaKEki85e4vfypu6Myn8PWrqh1toT6CIRCv", "1ab0a11dbc1a4e8602921eee21be701898866355"],
["JaQbQ15C74KaHyqwFCHaW4lIZOOSTmzxDyR6UvGFynRhraBgMSxIh9v1lmqRp9gbDxVErVR6ASPfI8SBIZiW1CRATpvs7cTTSgkgpkQAPMarc13Aaj7HNRfnc7PS3CYImVEaERPNr0y8zZEXotyn7KG3oeBffZcBCweo3mKeGLXKii7Q0tbEwgMF934EuZJlLO4xWQHGXvmX8I0coOoK2S7Z8gj4OiY3aN7fXRAbCBtM4FGsLeB2hKcSksNlAhNoyGTKIDWQGHNoHssBnGr3FEESegM4GMQu63AKFB7Q9NzoZCi80CBxpq9FBCbotMnRhe3U6YJupvyJRKSEwSaUXVOwIZcQmZzz3scSvNYcP8uE86LFenWeLw7cVzG3SPN1Yiiv9xivK8PHfWUSoI0shR6nGw6AXxUXDOgH0JhA2rXmQIVAamZGSxMMCskp9Q5IEI0hwCo0ZRnFDHnLC3tw", "0c9d1d3f80806fa6dadca4561177d74f848b5097"],
["jjkOpl2fc6cxXQ3dxsM0h8DrLR8vLyb3t3QhoXKqF9oCg9cVDenoJsPcra1Km2FKoAl3TOLmk7RjMFvANb0xQuH9Pw9nSsAn51HpLFedTEAuBgykWrcswHkxP7DWJkAT3DWRoMTUjWjtaSfo5RNXOpGE70NOZEapkklXsmUXao0KlrMZdXeKcOmqJtkSlAWU6cZgwZ6GczmV0MFR00luJq1GFO9bwEKYkUNwG0Vtxsa511PRfcRDjNbgZ2rFcLRxizrX8DAeF0cyANyGkDQ9HTlQu1ZlFYYAymHS9LKVNSKj3SabA5AgjSjcPCUnejNt9a9wXA8n7xWxFCXqYsWhMLue8eRhgB3xWqVQEAnQozjJG1If8Hj9qKZcuSOTd4wrS53c1x1UYEfo2A0DtJk7nERr8zBxAA6yZKckoxdlpzQutHkuFN2zNZA3Z6q6OyCbNXBlDIRTcLjgSgAi4tSCi", "d4b795856b37c0a42a8ec303860321aa192a239c"],
["pzzyqe0SgZG4yzmozir9MlgdZ5uOXvqmk1AO2Cpe3vpBzIXwzQFu6Ak95wjrDv2kfnq7k15aeVpp4HQjNAR4HiYGpG9wYOgsFWVrinqCjJ7jBPQiSY5COTbOSlOpPiFqiS5CLVdweECi1XIPDDCnaZcknJhkDhB4KFLJjR2oznvop9rSaZrKvDH2G9WtZT0q2rXwWczfbTHwUP4GWfsjvC1DqGc3Lo2Cs0zoC0nKQvEz0Q3AjiQxX507WLw2b3lHRHxhcVDf5fEEspjCewheKEtzjqfD0dNX1qRZtts7mXCBQsR6Xid6AOabj0NTljkJjN6FxNbfjQyN5LW77l8qbuJZQ03fFbSicTqHk5dc1T1YEFPraRlxQexBtI3IfrjKqHQIAGBBxmf9BIssl4REjrHVz6aTCadiiWsoypDGTi7cunfKawxd0KrgtSxn78apxGFZwoJaZxtGiogMEcm0FU", "d72e02d0c4445ed7580fda69877f537e89f8b8d9"],
["o7ssesYNAfKnG1EM5yX6N8wNGpdK83qM6ySaS2SscYyEP0jaw3NpEpfXlskgu4j4EXzsR4xAFSbXhgmrC8WLDQ9U3aJbvwsDMiNpH8MH2HBLLTuRyEGj1yKbt6bhjyKGD8ZME17AxftjOf0BmGqU5biM1gXp5a486n9yyGZYPyxdJgAVghtxWTZfgsugfQRIAPDumR2TWuzTmCm65B4b7m1U6dVKvfC9ayntYGgbAyLt2cXXidPmzurp8U93dXdMSBOuQ3yRXCQ6XukUg4dxVP82EXMcEw0SY8ggaFpkMj6llAv47ijTdSD7Q4W6szyoTYRHcGqTpcBa3Lk1GnaHGZGXHUNj0i47u7NfNehT6ZBGskaMs3n6MO3ZZxaM2UG50uFxXzjqrmIpa3x4K2uw323nVWggwwpiBQxDdSYYFzY7ztnHaFHICSblqsDwBhPXVhN89DJiMS3wdGhVxWd8bbS", "5496a28f53ae87a10a65d0bc92242e83fb48a35a"],
["yvZptD7RIibqbRfSNd3flMWpmJvlr346GGDsAxoZTCmvPbBMpW1pBsn97VwogHJr8wcXJgnvftIkoGEOxF8QDqAlZcYNBuNlv47iR1X2FBxmo12R2mOmWASCz6RZiSd8pNzxJZUcuSTOFUDjl0jmHulFArJw4EfmdcCcGYAlWVO9dD1lLyjLxQ2uqN4WSu1oLpwMqPsvo2GqwQBprbgn76TYzgDne0WeZDP9KXjVLuUc4G51nEvX1pg0bIlC2HMS9Je0qkvRkbyIZxVKCkGFl8BR4vg9vyRMw0AwEvh2K0N0qHBO4DTveSB899enmXibjUEm0yTHaQrwk3YR55ZJGlp7aagop0T2nhZbBARQ9pdXX4Lew5QbsgWITeT69baYXEqt6kmqBs3nRoGNk2rd3PROxMiEwic2rHhn5eHMshtq7X1N1XfN1hRT7bqp3PcCUO93BGpwCmDPXdhi9Zz7GRCu", "82d52e912746a59692b5efbe687236a5da273938"],
["hhFph7PXvhWplcBpFGhNNHj50inF42cq4k94CwNoZaaCSU1x9pYbaA7QDLNQMAu0wP1XFgHp05gB54E0YzwVoE38U7mSqW3dYh0uWZFp8QiJg0M0Br9aFjape1gdTdMweAzsSd5j2WcVb4HNMaXQvrui1UPqPcOI9hWNmk8tIV2AtEO83mXbmk7gzkInZCRCZ5cib6kHnVIncbgKENE93LnXbVHXjxpn3MRyfbtlb8MqcfHtC4iKSbUTPwGsVlziPpiZM6BCIJWesmF8DyyFJ3bx8VH5LWhNz8daOB2feI3wU27JKCm3e2BzUM7J7O58PJbMeQVdxFy4lopo7ZjKBGTDkHTWACGjaXNHXV4JxpjRRnHnltsRn5eMDpN0fAbLgLQ1HSaWCdMzJsqFXNqB0zVNRN0j89KJ8Bnu256jty3st4P3QlOJHEJoQ2dDnWvOxx7q2Rozf4zDvhzrnfZpyJ867", "70c8ce4413f28714e9c1ea381ae3ac75d20d1335"],
["zzq5GHRNDXfY3cnVEUcvFiiGtvptR6ioFitmBEfoNzaaEitAZEldcz60kQ4V7Fq5Si4mUfvNANTgYtGHdY9JOA5vkkpW9E1Vddy1sVfZQaZVqSW2kA0X2SXOsswk6UCCiUSCPm4DjNrzYoiA9EYZ77L5jdoYmTh508jrrC29wGHP59oYAuzsaxbUUtH85uKXEcTIcakfJBIlTMBhW2nMInP57HmSOqSbTBRZIPUiczJ8XvjtrXLh4DSVWfc5HVBiHfyPuceCXexR5oCqRTa1lBcoqoRKvWd9cYRLhEV1OOtmAmEaenP0lre39Ne7L0543hlLZf6zJ3dHb1z3eDewKUbHblSSNqigOOusatrPmgufbuj253KNV0tow9EKPnLJeNfVSsbrrcvNfra4SmfJTiqpbxKJplfqHaUhAJ5rrVyAzvxwZXqIYTj6jPAZ7isjpIYrjV8wk9fuEq2gEx870ZqDVW", "a1fbea8aa11a2ac00b250aeb7c9994b94730fda5"],
["UAtq404CmJMoRDNA5DZahxSk5tupqausFOd2t9Y7pNgHmjEQdEJz1D1lsRXdfBCUgxs12IQ7yvoJkGRTrjTuYUliD7m3ZVwqZkwrT4uVhczWF9cn0OiHWbyPg0xynZdVLvrMdHstI04LckTctnQDMDdPjuQ9VyUgS0St0gSIp76nWvmXk8oTKSeiluTABD4PQG3XSBu7ERdpBt9nJ1kgu4oxX4BXZZWpmV99qy1GFNBq5KUZdeJJN5fgx1ZNxEsXoqsu7Re6rSFssp50Xh112mwpCckFDHlBWc4g0ELMAAIcyXBQDH3pGbVj4r1iO3drsG13Nv89XAkCvyePgm9U2k1B5x44rtTaCZ7r9YYMrLyDzWrP7do0K3mpItflF65sPS91AvGVFsnraNR6ASUPmQiiad7Tmp72enCke3jG0V6SmUJcuU0qQyN8VXFhR2kvOtAQv889IG0zyF3KJzXx8D2UFPT", "c0d42509ab9568d6951e7ede795d622fb933ac38"],
["IZD7TZ8mavIU0WC7tOlVsiq5EMUJ00sN1485mb20el1YdNu73shL9QbQakcOogEiPTig93EiaWhIQG85fJz67khMYPB23QgwtznrFRANnZwPNn2lDuIMBw2bI5sTSlgoIX8M9xNrv6nPdckuHvomnYsBkbulGPEc9EdyCl1ejltmtbfxrkqVCsHcrof77Ff3z4HIzNA8WGb1Zjl6YfDfyNjIvnSuRps7u4eiNzc9NhwZHc46nn5wZ3nmNQPs5u6qYpdDg0AK6SH65xjsz19EAPv6YDFduvshWkIuFGpxtYrh15kIe3nSvuSBmmea45xChmbUhE7A7x6vL5cdal7BVNcMJAZmqvcg5nHFTcJ5s5oKLBykNyPele7N8wwn01YWSGUcupR1b4w2QQYRjiofxFwfHNwDKFpCaa9uELNyiWQh7dYPbcUvURWHjCyVlVhUDZcMMnZjtRtjLYVn91dZjc2Blxut", "8425a2705cec20641cb21852a5d6eb919630c4d4"],
["fZ4gPSDlLEat2Ant35FlxcA0elAo0xl1DSsk3gsSj7peK8qTQZV7iKBoov1LmnSEfZvUOwt5exUBm14p9CP0iAaBKI7lWRXbl4Hw34PbsboztOLSwYK9tBhdNIpwz4ssof33tusQpamvcnzzb3iqIOkDD8FE1xEYIsmo5XX0zbjqN6mYzjAOrL5YMZmYJ59coBtYCqKN8iD71OWBSYXg3RfuC8hjXnKJjMef7eCVZgFboEZeIGYnLpyIzM5C2Q6e9B1KuMpjRk7VbqUOGej6cHvMSFplYd0gWa8oowGEmA6XPdyItqcws2SYpMqYmRMwggOLiIf1jgELw97Vdsdw4FeFs5gYkrJfQO4x6mZlKGZGy3uqTcbBYXraCUqhAtlL7mmuKkSKCyG6WpwMkiVFW1tmz6WZuoyRDZRGLgAUasvcjZWGiDhn3c5Jr30xiSifyrnmdmlopmh6osyFn1I5PnUmyfPWe", "463185682ba8cbee0f203a2407e23c37c3986685"],
["jqzpBA5txUY16Fj8eHTo4IRbaOqWbmSoJI97DtWHoB1oqL2EX5Nh7EIFiblPlpA3MFO4W1cm8GlLjqkPmhmi6qGeuKkVeFZfXE70MwzbEThufGsRvFY6HZT1IaPEc96eL7BfGwIXgaeesYFKgvsqtMn2uEUZJqaXjnl2u0p5wOH5am672QUMfBl4zb9J2pAJXgW2A1all0d11stOQpSgsz7u2EzKYW3092D3bvi7YimWIPkzcGRlgv7qJHTCo0MY0QagvST8fj6jrQz6bEoITBwSzEiAJecYwOvmSUfNikfsLqxESzXqTXWwtcGvr5rNr1gw61UlA0MwUsReyKlLV5z0EBk8ZLggG3svwPY0S67HyFR9yXwaEUivXv2YxEkJKfQfSbU7UxnCzTPcQTfKHbhQqWGVgF8JMaAx9CanrDiIL9vUVIRVaaKJgqNvVmxcIeV3k0O1t6LBirPXRH7AVbetvGAb5x", "4925fb1f2a545dc9a728babbeaa034c9f8124a3d"],
["0GhTIulXAqcucJVJJcew5MB73jr8rGQf79CRnfR6ymDahpc4pnQMEf9IXq6gYZI4XK0aBJ5YpCL9PvesVdcgdbYiL1cFl51yynINGMCp53bFVsTO0MHq3ZSDnFRzB75YD5MsQ9DBpH7XZb5SlTaFertGSrSvX4kDYIX46pvLxq0UsuKmakb5uUVTkCzmEBGcWEN0Q9fEhl32QiIrCJmw1Ozv0apC3FpL3K4a1gko4keTVlpuD9KtAtLade5yyCN8VGAnlcSWRId1o7foTXlSwIUb7wEMtXIpephT1CFMOSRKIzOyEyKcojjiO5tLCoLHOV8KWn8gtLuec2BuDKb0TYN0igyjKv7WVlQ2dDCl5TahIBziM98Atjs6gocGOJ1M6l7D5wQRRPCUtyjz3UrgyhncD9mK9vvDH9HhNM9ZoRgaqrTwtfow8gMsJwGBpT75BOadQY1KHuJJ6Ob0ti4qocSIJ59JRwi", "ab6de5fe8297142e5026ca25b4575b4306508b68"],
["AyQCoTcX55T1pmuGldQpzvJE5o9gSi216VtnbseTJN2rhYWduwvpkNA7P1DW3tcuri6VoatvfbqYN1cmZtnoFhQmKcnlkJAIhwtPCoBAjFtAORfF83QPk6zkaHGY8Q5so34ZSupzDnTg8bmVvTwSp9WeSuuzaZgOxBMfrCs17ufBi9vH6Auc7bIiIFIcZvmCpMbvQUTcuZZ1Cd9TvMPMYVfm2wocNYzhglwwx57YqM716YLRia3hOpNeXuAhqju4MCdSANobyOYjH2pEN30xhr8ngx5VG49HxbH8509QU5ZRfZ6p5KYCvFqiAraslpOlGJxSNHnysZvmWwqJZpo70lVuMxRlMKUNVSP4ES13cFkSrihyP4BTE1VJ7plwHv8opSwdfcdRp56Xib1tavpcYXz0d7eqSxHV1PFKBTF6xzg7rVqe4ZN5BemzVyXtNRZKMIyzDVvE4M845NJxwQFIgCkZEI12AhtH", "962438b1747b1cf0ddf7372cf536c1e5dcebf034"],
["AUrOxp5NLrb7rQs0yebnnUhBxTP7SwlazT4euUoYGSmwdzGIq0VAj7Fpbfsp4izcmhn7hu1uDJq5R8YWmrOI0dgeF8c1rsBOgKBhG6LVkdoBFbVpJGCfd3DKf3fN1Kep8Kb0e30G14mVPei7sbqItpZxhmSfvD8tTrsY67wmXtQXQpehNGgnQmKU1r85dNnzLybJxrO5WUknzZUbi3davv5LDCk1IYYjByOY8x9YYsd6sUPlsJYd5Z1KfyRvrgWDRwfwCsh1LQD866yH5jWv3u34nNj8pAfyFAiQpiylEhXF0GYkas3iPQdlg7hIhmEbTTsotOVZr9CNBCbjjnDXcJu0lTAqvj4MhmqyZjlfIYuwxEt8CGx0RXVNTmrlPvbyQqRT9SjA5XB7YFx12McY0vDth5ZcEmDTCiF0ji3Kk9vQCsM30xOCwcg62o0gcarOXpE6h8eI309gcvxNuBieF20XnpfTKuuXG", "75b67e743d621343bdf66f4c27fd7d20fc774f2c"],
["UsSE8Vi15xDdmjLdfYLwo4PCtYQ5OWkLIA47Ij4uylJadGaJChA82zzZ1GRanFgdXA47uzBFnD7j7W8r6Iy6Sq5Y85NRNRJWUXJQA7QhUzgBDSxUAbxZkFptZj1CYJzrhZfbuJafuTgKyREDxbtweDBNBB46wznS8t7gOisckDHKDUFts8Hs77RElJUHu4gHMnyx6yXJ89acykMNLAdQCUaY1SW4A3Xzk1kihqHTecdj7Zi62wnL0xz2a5zUhJ6njqInEMxjTa1cTKFv2pxln4W2xyULDjK3rGKeA8KnuQlo750CcknAnj2BOafkenY1VBWOEpbyjXyn9Tw8LpLU0S6vngVvxumiO9h3ICTCqjGcIrHf3QSHe7hXdUqb7Sdb3y0ZAh0d5JBQ5r75YrubHQUVSksyeRGMzpWaZNlRcudgYHmmrLF44Fzp2dpzcMzKzTfDVs6aDbCQuo2kvTRecwWOAlhiMJPBqo", "a81bdb3884c655c0975033f5612786bbb9398c2b"],
["YPadYmOUK5izUQ98TKm2S6LTv4upHOk8GF5wdh2nU09PHvuQSXOdekVTf06HsFXAGg5zlsClI4QrrnCh2GFUOg65AkiDzLp9Fg1mfzaly8gb2okNnXhLQVHlyPYLcuz6QUh7k7LOujmdPsnry4Aq8RGmDwuYkwIhQOPxl25rfYy8MVCLWc4FFLQ1XT78HSKgjOPe0vB27P0mioxF4lb4SMvKrqyy1Q2NuZlq7ieOaeVvOcUi78dHXyCXeCR7jgQqtgAwWoDQ4iPu2JQRBIzhMZhCvOtgbBLg7v4CIAO1Z0hNPt974d361ZiVKHjR98mRgoHSUnz94EBJrZn0TE3rJj6QmPbMvAgQDoXWdvFO4gbGAKQS2mRwXet2cy5JHYTa3vKVQPDvN7kdMZU37f2OmkSDxrYOBNZIRjzeDy7ugW7QiGNfuyRimYEr2dAEtqAz5sC6uhrHTKLxSaPcm1rxQFOTuQB2gZb0hPV", "b6ff4413f344faf2eff919f6c5346b1dd647b60c"],
["PdEDeLiEziY7Xq6mEgAJOmfRXtx1zC8lbwmH7edpfMnQ0XRZFcBPvnDGQ38xg7kG58wGnqIhm6PLxN71cb9Nl8eEVBg23JTe8QMqnnRRkuCKEHMH8XwK1gew4SGAmKhmM8x6rQQJckWkYHmJnJvQ9KNKCnPCGoY3l7vvi3mVpqKodfGsMIrZpuxN3qDsyOoEhHaEPyJOGXLPLN9dudd9kLGgGmrRvwj9Aoww6wHawSknDO5YjdVLcWKkaU1Igm7pMdSiynk62vv6AONsOsbrBX7MQF9jFzsRf3kfJVSMivjvB0t9p1REqqrVD8s50rIoes7qGRJ6yYbWTP8IRtdRxk5TXAVDkb5oov2KVNGOR5eB1ovevpFn1hLVaUNiOIbxsLRanizEkH6afZehCS6UYoSqqnahLnWwiXPi7LBuip1nQX44rYI7x9lIxFrki9Imw6bEgl0ogWsCdezOOVPNXhqyqmDZG2UqwVHX", "7311c7f3d03156703169062c0c9c69d4e5f962ef"],
["Xz1TvLwyTz1kaZFNYs7wRrLV4sEujJrvecGeopqpAZKnEZdtf4lS7HwFmWCrrSE96VTZ7HcAjKLsEafF8z9dAfTQ93BKPmuq3pB0lFth6hRQdo5OEEIzSPoESUUL9038pbiLQlATYbgCgrXxlm0Lcz13DetZ9tlStIFxTXqFHuOndj2EtvFeNMTZoXEUqj2KXGMnXxZvwCEw78CDapywQJ7eFRKVN3lYHxzFJAxWR56YdjPjpHf5voAz9uk3BbogC991ebi2oxF62mzEHnJtmFEv287DnjwQ6J1XX3yzsaeZQrwPs234zbfiwxCCGgdwXqOJRptL8VTy27aPKiVlswG62vMlsQLCEfd4vJc76TiZRIgsx1563CYiushwZLbJtNE0xOyWd3eSbEllHOcvTpEkOos5GK9dyIUCJ7nwvuFzomovDjZSC13S7jUd3wIp2D1m1II8MupyVUAueLHyOVFintz5HYyPIDpW6", "2c708687fa66a11a1fb4b7ebb6dd821e756af1c5"],
["Cm8HEDk6B8oL6sOGh1SwIbIaBqGn2pCz75IkXJf2mWHVjvZCx93NsROn5KDmu7LuCwiCl2ZpYcOkusbdjpKpNZHatk6g6oH1hUltPgr3kHexooea4gdIEDYjubvXAdbYQo7whOnTu16nWcU59y1DcFUkwbhtCVGwD31zl6jD6WX1hnMn5Ate3R7yTgznniQeWSldeezoKkEbhUlCNyKl20LtYteOiFgFXtKRjiIqVYSNGKBK8DWCIIepRYkFpVbOABlvBShF0jXgvZtN1Q8D55ZLSxQuipM336qjTpNPlS1HNqkXrn36gACcDFj1rX6A5UPQv5v9IumZTu0Iv6uhMS8isI8tzwvJXrVupI1qG80hMhqSIIK7uoZDVSnyn1vFsDVimLxVEal5bY2uzEn76iYCXNJnY1IWVsAkho6OnAHTc4J8YIGZM7GqWEhekuEixT9Qxi4rbNmankyKPG1qItU096PWHigzZEl5K6", "30e2ce3591151d5d4c76085afbb06901d657ae81"],
["aDVlhQNGVjwyPjxYWLYH3hPSoaHMBKWURRDz52njTbC3iCAePIA3CYhrXTuLElL91KiGBlUl5ACcpvHYlvoYxOIWlmhyoxWhoS7Fe1JwbgZHId3f37hZod8ET2GWrJSsVH0wbqsB4AFgUqMYfZryLFGikipZqxENwc9jFlTuAKScHeI7YHAfED5OLbloIB8bGAMA0iPAxfvzMU1bGE2qpNkQRULrfeRW7sLm2haaGHqWslsRevgO95eBNYzffgyygDqe9hymumjRtkRnh6gh2YHkgcbKPAh6EyFccThd6QPEx87J06C4hwUAE5TE1LXvitdIfc6bviatT14mYzJUHl59q9nuFqGSiED48VPYNq2zdeYTudVTK7wqkP3Xyso3A0OHikMpEDb3pnA5t410Dby9hsBvNf8c6o0oaHjwBH44adCDtHXogchFn1FFPxFXPYgtZfQXDxZpYvjpV9aAl16MWrplk3Q7JhIjBaS", "626f8c7e89bdd7e898ce612bf699f3115912cd62"],
["w60AYOrO0Jw4EqI1Kn1D9sS2YJK1fLzEDMHFZXhPJ03RcZoGbKlc0oBREsFMDOOzyYyrdxRvQcYXI3Vrypxy0rKeO9OTPlpaCAkaZyL3BZxD6CQKg9Mw0glTPkkyWRcWVLGe6SjlztxItacaStiq4NTZhLxGVwroQPFox1pcTeQoxILyEgfvxhAZlPoH3NgCkXHTBpw8UMuUC1NoO5xEyh0IO0FGLeZ8gqwYbEmjgrJwQHd1N91z0rAMIy3JNOPPj5yjHR7YuhhefAdE92hL5dSnnuOUhsmjn5DhbkkWcOrAEsrCFUlgYFipyFiJEBv0tPLOw4g3UH7DNFjmJ8wwvotSftRKuKqJJ9stI81ppwxaoS3PiiAEoKTDrATVYlLcAZ3qJarrBnIUNi3KE2bW81nLSeyGiDP6ov3cULWWK2okD0rGbLgeyt7CMy9a5KYU3GJO503YzJrJTNsYD7Eu5pJazZW3ac8v5A2mLmmr", "1a774b03851aa04c8115111db029c801c88af1c9"],
["baAWScsbzAatdJ7IpBXw5P068TRTDpsrBAhaYApNeQoF1QxQfFXPbYHXTEiYF2G12r4RMGbQTaOo96nj8IYnwFsevNXg492wVQvYngzDoWz30pd36z9N7aLRMeek97T05mKDbo22bfhfScWqqWRLUugf272b2Dw61YNQPf2TJ7QsZAwYIknzZFVsswTG2yZxKvqi6FwPccGSXSEI59YOhnaXGc89gMjaefEjjZ28RYVtpY5luAjp7tso66HbQeudwF5ulzwxLVkKPSFWtVNYvkpMG3xr5R7zAIHIBxfAZuQdwLcFfjjrd26bMuPLw5bTDCBA1Us6khwy7ip0YKXcuaIA50fFjzEBLxJm3vXvzgMVZDtcNkHjB2gqNtSRm0OFTnMzzqj8TEqUQxQRIi2eGiigiX8SrA1MFy30GZOkN1oT2o0qegrICdrAOIgjTQDC31AyIBdCt6tmybCQevbwldJiHjMNKFWAxGio4PcSU", "6db1533c9b29214babf786b61057806ae4605936"],
["8ZuCZHLbgrJ4FnBINiVXAiPVlvChWsG5Dtya9k5LSjqmyTlzzrMIEYqCxmy8ge6Lss81pWamEzQgVmuN7II6zPCB3uzGWIdpZOhwtxcHQnrOCbeFuQaClSEIBzGZfcgDNHy7HbAPhDCO6euXFOrggBK9IFubZnsNoxBWhEfKJV2xAlmlVQhNOoVkbSiejtUrQwvFIJlQ2fqBZqLf21HgFn3Imco0FhUmdlCAXiPmo8cWYnfxa6f2uAKYso6W1opXSYkBJjaxtC5lO96LMnsjQH0yD8T7kvOSOujxw47Ki3y5KYxjoj4rKlGDYExgGktx3491WqVTL739ROMMxJwcDoM7hgoEw3DAAqxqbaIb4OLj9Xu6cx1yZ9G7nSC684EdNfkWIyREtwkEYUVvs5uqHmooyGljxcfInAE0vpXYVaAcA1pMOtgmDoyZ5tTz5JnDALkR0qgQZUuy8aOxJ3tfa5KFMKb5HqN23i0RKvt4p4", "890ce0768f0a35ad5915379e937cb2e973e6fdba"],
["k9eumo3I57gA59jDHaLfkn17CgnJn8Ag7w4pMBVZaHPSAqUPI8i1QrV6NmvZgGGi0XJORqixvCcgY0vlWzfEZswp2v1hcRcOcWaDXC4oesMTpde4PEsdZU9I02aGNxeGRIHe5jI4sdRZtorxfMdTlOQnIc5IKxfPpxwohrN8t7SynQVFdB6PpEwOZaieB8fOv2MOdfiTh1wLmTv8ZRgl4weMVh4UvpY972Usq8VoKO7GLbqpCEbN2xDHs1b4OpTo3kc1bfcE7JmabvdruH3iWz6bps9QsAtRlsdh77WQKZZ6tTjZzjEQk0X7J3aPIdglp4jakl7lXHWWJYirW9qYZ72qL1zK3BhL5EFEJLjqYOd5c8tWlaVB8vvHsFjxf8HRDlOnV8Liy2d8UYEwa9gN6csBtPavKCIVpsvNlvQHKI1uofqUnwpPtZVXGs2GJDoxMFRRWghpuGmoyHY4JgNVHuQm2wa2Nn9KO1n3s706mvA", "4d3184f98f73eb3cbf7fb5b6d3e08d44c7a97631"],
["FpYxV5j6kp9q5gcn7CO3CPZ0j5TbeJ6cOgJ6VlwDPY6HEgxfcJKJFrUi5NmsNhW2mHN2ydLFi8R3VaRcSybvQBEs4NL3pY3an3yADDEVKg7Q8i92bLyhaW8eE7W3cdkcgBwVy6Zfv7Zl4xQtkbMOn49owKHJkLcD1TNzWVXh9KL5iYynUuOsRXU3WgIjLhJWqNTEfzjsgCmX3yZQ05RwKjZiblxg7RmMbBD7VjD1E2AtbWghmwFWJslXMU66TjgXU8dh0Md9K3tdf0XfnFQ0xQ1boo80XNuFsnBMCF6xD01FKzykmcHxrPX5RPi1L14NvzzpKefZzJjWEdbaT6FkPxH8Lxz8TwSo9J4ApUOrMotNtmu910ktWqCBsHr5yGoWSVzq9vutIfZ5pW5RmJZ927UhEzarmKyxeISskiLHz0GKJ0p2EikOxqoFAmPYUPZcWW1wbvmNUd5WfWPMVsQXB6FbHkdNd3k8nzGc5RQlupuC", "d35ff358a549d429fd9c8172699506dfc50da3d9"],
["WIME37LfdBXqCmxnC3YX6NUFWZvIF23SfF2Y0sLQYGkv9bPtQ5smKfhqO7gbNFjtvfHhGm3aoxS6oRWvCKOZjzLwyjl7iCj0NLiDDOvWTou2RZI4BRWdU6Qd043HAUhN7G2K7HMwJVxC1w4CcxZVpDlVO1QBVlgmunMLKECKiyKhiGkOM3S4x9CwuhH5xIzcCfEFoCf4wfUR0um9pcbwl1mODJx6S9KH1Jsiq6YO6xSXUBmSzwe0k15aaQCB7BgtYm2TFv599jqDw8X2h5jptPp64oqREEeCRkGumaU2nSrcfTmZZVEku6Zs57WrkP7zMhjyeb3HNhBnPPObufipC1ogMdINvx4nDmSJobaE74nHA9Ba0W5FM2VPokKadkPYb2BX8pCWreo13rGHXhhuLBCrxie2w39VQ633dQynKFqlWmupXGZqtk0LQI6sy8xjhKXpaP0UdinYFbQOeqk8Ex5KVWL8vLilif7uyyq7gu1tD", "d9c2f66df8fa1c1bce4712730dd806709ffea76d"],
["qxgZPaorspATnPu7b9XqNwc4a76lac23MSBPYk4BtN2Zart8d2oLje9UTRPbTQdg4iAJhDLQqBAZlLuGNwj49ZAC4VJK4CvG743zwpGS1a51h8Ga4I8xqlHcwJy0CyqQKR90De8ndoKXlAYRbmJwX1F1IcftfjCR4S6roQ93nn4UKyoXO6cAr4KiRmcrauUnKviefmZxTsNicHjKNe1uovoXrfu8rcEcBh5vNgTjSadlSU7F4q6RmXWOoxMDIB5swGklaZLnFhchs1Vr04h8lAhRbyg1WGaKLmRscKPF0oQ3bjazOcoqMsFaBHq9eP5R7gRSG9coFEsVQYKaNV2Imt6ostJR8h1ZVXkJPtt6yAjXwyTr5yf6GcoyWJi0S0a3HTtQyT5nUonwC2Kt0b308CjcilWWv4sooQ3b5CY5F0VmN58QgXDJX1OYpf0pi4P2xgU5k34vDFKkOYIiX4WZwS6wfo99DOOWf0l1yHpXR3jWZ5", "1c7aa15363f11752b1851bb603f0bd9c48c6fa33"],
["DDHfarEfTruc7hElFxVuHat512vEr1OO5MwwvgmVwysOcVwSjx65Sc6WgskXzaY6wX8KiNxNdB9iVpWJVVO9FEg3RVliNJQCB2jHTBVD2gcxiikwxeRpttTtglChar4Sa3QrAmM4ZAzR6S9JSJXYB1x2DoDSbqy23hbo4cJKV1HjtPvXTFXlUh6j0sjhnNDrjIAZQF8MPv3qCag0fxCe0HODt2Y7SEl8t5ztvgzFUcU34YkUTHf4cIbKuYtIuKp6dxJWsafVVdWAYjMP4NRFWmIV3xT3YgURiojbz7xSzS1Gp4W4OPfT1voSunWBWzm0WXa0HP7c9PXNgLMXPksMEuhBCcOcxAh98IAH8U7bYrWiOefpJPe8g0km5wbeRYBUczFfBDhd6U0vD6kNZNPotwj4TB3GgaRhVaWH8NX1E5FaqeqlWtaVQe0WCrfkghhcOVPIVZ73i6iarJ0IOZzCSVRfN4MAbR6FDi8CXWwTQKkwljX", "a8c838e42fdc1359f6accd3c11e4f105398b3b10"],
["EVgot9zjCMwM0q82YxWDsnGtzvdLSCS5KtyREHGvK09KAlAkSczari0cIbLiYKIJKdReLDKXS0RY4pzFWAgb8rTUFrQHbvKmLHYR4EwvgqeIoa93bhLsfmSUsOv2pSuZm0rtRuKDdzcw50Iuqz3Ecg91r5yVPPzgJ4QkdLf0rpkrr706u3qrgBVWj7YScwsZCfJbie0G8DaPmIyfBj36zGm8bjOheNI84LAVI35Pvt2EM5ReKnWM9ntotw8GAl82WsD1lRIRiBQg8ux427ovwDwTUNKAXYqUI78cMI0WNJdeo7nZptaaSnjPy047kjNVtO6qQ7gDtbFQGh9ZI3XBnnJfBk8jNwMkNpxmyzTnls4vhsQEgU6u9rvsWIGC2IQXoT2TXWv6eoQnfxw90z4gNdOIdI7CI3J5xIudx1d6WkmbadaDreIBgYBBzPSXSzhRJbokVSlMtuWZrMIlKhGcvGHzKP4DjjUTALGJfTcwbOoeBQMr", "2a0645a3a1004972fd22953c8447d58fe0b20932"],
["GGUa4Pc5iu4Dju2zxErUqJsH3J6JS9wCm1G8kJmyQDpopyb56yQeJcOaLmM4hs7HbEcBNVfnG0cxOR52Mc0MWK7Kchax7s2dwZ5AgGikUkEArznDqVjWopBiXgkuThXACIsyMW9MCT6BoqmY1fVBmBKyCXQJdlekRQLx41qzhXXa45x66OrKHghJwzqZ3pKF1XuVwZ5mhr86o6upOWgvhwbpjCz6VBr3lpm75J7K63ODNdsf7Tc7a0YArdMdijWOQfaVd7d1TQPlf2z3acjXiIgyhJYlEl52TiPIsxM8aJMfMD3ahSbnt2a1brBNWP7GovhhBcf0jj2gOEHNFTmyKs0dyrwS0sWc07XSqRCjBv3XAaamyTwlONbRYWf6OZ6QJqZEJzr0TdfyeZ3y286hvvQ2R4Tqsr7zJd9K2SIGmXxXcwQfRs3ikQ2u4GSU3MBg8UtqbtgcLD5Aw3zCi1Vbq89dF9xnfjCq1PqimMd2lNFoNV70M", "b7faf3c40a1a0b9d05b249ce33e5c2c2b695cc31"],
["pYOz1bNDFr6BRaPhAl5nzme8QtInwmVIq036POeklmLRDpNfgEGzI5r5HmmVxfYeucdxbvNfzUx88DdS1hSA1lkzUEjgMGpeWozR7oz9lgtJqGfgaykPrgnbBbXvjXovoTww6cgIqrvjNLnLY8jXB6qPPV1X2A7o3yI3iXbF4wBOEGN0DmSPouYbr1sHn0jlYHYtDdP3sbmsGn7oCBl8Dx39yTGe7YdgUmqXsMGoQEvkMoDceCtEmpSnNXTD8OfQdj9FJo7rYddchDd4hyQJrVvCUEzALKSY9a4hWZd6fuhGcP0n0onZJmsIicbDuXtFwNlcJfh0asuv8afvYMAd0DTPoe9LPgTmHTIY6eIrmfd2ggl0MFXxVXOYysBjFQ3v2dCKTJuEonXWLBWh5vXqjzVzGKxMWHq0WCxDjDPCz1RFxb274ueUgTuOeY7Ktb5Yv3Ol29MoVnInVgDqdaunrt0ww1lougEYkbicpPYECwcwWt5Cne", "69a8805d72a35a6680a6efa4d10cb0f48f961582"],
["u5EBiQCG4oBcqPQgdjJ2iMxkF6zpUjxwsuI3GxRd1VWIENlv5BVrclBZn9M9xD8mGAQpl8CgaTpv9JDqL2TZjlZ5a8jSSUz8U1ULRq3s1UtusVJLGFSUjBewctM3zrtgFOgUElySeOwbm5NxxiPN0cGCr7659fnZREzp7fyYMzQwBHCFsIV9TFgDveJU6QD1BSM3o3BjANb1760qcC9SyQ3OSdyw8AB1GkFNBfPAF3xD9ktyjVU2MyT9DhegHSlOHsTCl8NqE6LsHJ9JICcHxHFobzqUgWEA5gsZTdBhkGTdYU7nC6D3EdsvNuWkDIANSccFbppBsA2USPHF4chL611MdzjIkhpoXoUE5blnf7f30nHulCZxLvqwHDFyiGpXTk01kANmgQZ466R9fjL9ULN7y6wyqA9TBaEklY6KkzyN4eLjvxstKKj8rK2jZHxsYRiuZwUzWamDpx0voNWHSVqaEYUDycypC7tzEAwTBFAXdWYQiIX", "e4c4f86e240fd476a6569746c2678db2f24d5957"],
["vsLYsq5YszjAvO8mt4BPGJ2ekvW1eYOxLEVGpQSbUXHWKBX2NeCkUEdcWCDNS3IdEizPsGT4QlTetgic8QauGFA0saS3eDgFLGdjvbpO7nHsQtnZZQhOaK71GhdoIGObR2zid5l94OV63bdYILs5dXOGqkzVm2gGMYKlgmCrzguZMhFGH1nhdeAjLD7kfHCQ0MRIk9sZxxixKd98hkMco6SpOtRy5vCtk5tSjHfZpHY3WK2rO8Vc3SwqY1lyXYezFUkiNRmjFy9fRzTuX7bpf3TMq5EIxRR3NfCM1uEQ1oBAuaNMa2YlpvgExCrv3lztV7cPvCVUuNtQA0IFnc6HdICu0lcCUq5xkAH4ISU7rwQxn8wamvQAK1YwP3HEzlZJjUB6e1PECwoLAQmXKdzxxJtSV8K1jSnuPp2ZfePd9dThSUW9SOu9PiS9bR3NpFffmT3OxOdDtZ5agJ67cXEfNx0BXsCjXJfuHakfmbVKTTQYqHeU6YqR", "0d3f73f94ab0c874f9f6359b9588654aa3172d8a"],
["nbD714UQf675mCevlPHAuo1OG55PvyZOLw7BVqhn1MGQjHxR6bu1ovjt28XPDFCrkTu3RatIj7m2kgzMYhaUJnXEe7AOpsuNfRy9YDGGWFwxXbCJMHL3qHXZNw0Vi0Y6l02w4DSQvNBSweO7PRtByF2MYNQqT31P1bQcrVz4762HhOPTA0QMsvaOn1BTU9g63B3ZCaTtt0StHujEnJ0yIdbufYveU1twTFrzu16T9PiipBDCAjzDKRp4T5jq512MlgSRPtvg8dAB7NMav222sEFx9KPWRUXXtFQTlu5WkdngMeI86bPdzPkUJxLbS4MrqM2rFt7A6kTnaMYlL0wHigxQole0zBq5ROXMb7z0ekrvEPWl8sLSC42Y2EBLyCFpeI1sFjwk1IfpKJRcij620cdgaSP49DhColzkpGWGd6TgDdJvlznNP5JuXMJXieaqumwpPIGuflRoO85qRH83Nuy8aNGcdW7n6xX5Gorlc98BwbkIeQZUb", "5516e3768ec3cbdfca74afa3c29e8ca1539a3e93"],
["x7EGyYvaXT4fyYtjd701Fmj6lkJuLJMPNLU2yFa51ILPEdQUuxYNwlkkYx2hbBZjaYpq6gHxUvmBibUlvNew1DRqMNKtOio58PxEmSeUmCYxbtMjX91JNhPHdhVQ52y7bBsg9PxGY7ozJmIjn9z3nCeDls3EBzis7uUFYN7UaTqqLYiKysSZOhLQVrCTvs8Uhs9GmofF7rpzWjNAVHTe8uj9FlGc7pNJFNsKvxh7fKkZh8PcwePqbhWf1qQhojJLrYmN8nWTncrivTnmfJKyVZ5Q1EMimyoHu9IDgIyzjyF3JpFOBzVJurdmGJrobzg6z5LTk9KF90yOSvihsRo0RMWlep7af86T3bjqoENHeGASWuHe5dcs4vaRr2j6dO7BiUdJnKoarj1OJHavfJaRlPYsQ2ng0f0qcVjAiS3d0STIgNf9jXV1a1BW8Px7HLTYHdtfaxXPW9inCKFeJy6Dky4agc3myEzesfwRcg5zjuWy2Uqu8IyDJc", "d9f2e85a648f98a417995a8f42215717ca5e479c"],
["hiSKFWkCp6lkWGCIOvP5ATotWs0yZjVij8Dabxo6yM9X1tdfyWNKToDw9oL2THe1kUT9co6sO5kaLZybNKg5K0N1BppRL7gYAze24DAfzMmLm4CfwIJJKyer2O3Nk82vr6JXoQjG2ieAk0sMtAY5bJYdj1K4wYtNxbZUHQZXYH5wuloDAnZrkaVH2ADR6RBMJqR7gkJobh5bZzN49kpfajdjoBC8348MS4vGgd5Ll3L4hImuKlEo5XpZ4hbudB3WMRph51Iy3AjNRXq4mX9VMoEYc30Dcow74j5oPYkjOaM5pZWPWfd3WWg3DwVvggHPx8m5ZE1h1bOo8YpvjcPRClg5QK2xn4YoU8Qxtr4C5MIPCaMhLtIRGpyyLC22VPsV3UHj3gDN1tcDf9dPRSbZrNBIiRwhD3sp0SHnRluEovaNERJli2QcUh3FFKVlLhv0GTvneoj2k2yxE3RrKTQKv1fCQS4vYtIeMYezz8oYkLYH7AG7mMcpwUB", "58bd81c01091fc32dadfceaf2be6b580e9725aae"],
["EVGQo1L86ZO9edWput9satDDjmOHOj11Nn8H5Sa8SXC9l1Ghv4WRnRQZdxWNO37BjsjY8DCumPRQTkGeomE8PYMV9TrdVkYoZDYWTud5wzFUtkQshztp2tAUeRwJIcQMDIty9HkzeATuJvBNCcXmQpm1sm16TS7tUdz9tuRnKcnU6c0zGzPQlXgpz00WDGRnUuoRFYEPW6qLDmA4tJnluCYjRZMok3v2CvZi5uBs8INAcFNbSsYIwtS30lW9iUOsSTFpqjL4AGwZoPAJcJt7swC2BIxGGjuU2UyCZpP5cRDTAR0gvA0CjCJ7IS7xJoWzcx6OUkTviv977aqFhoTUS0xHhZH2gg9cYqHVbOhWdw6RzcmFb2gcQrzlAK1mhTBsfrYGhDtoY3gPqnVEBpOshuRBLioLTtErfdNQANVX2yl4lYVF2vrvbHW8d9UkjlSkOKWUBLJgCmSuyrJzeD5LGIDvdoLUS4aLuMHDSFAOrx8quqcjhAT6dilm", "5da96cb08fdc004968b6cc7bb99743c2382608ad"],
["3sTESIBMwxvQ18w2Y6gplD6ASUmlpNorgbZSZgvPyjLAR4cx0x6hXJVUfSaMM4RrdZ8AOGlgZeDW2ou4kpdnUbabbqqtXdK7stc33opvg8eG0hoNQfbI4Kqt5ow63L9i9VlO3qAaDcqoXepWHhyAdQJ9xMBrtg16pUdf7LmkqD7Kmhuw9U3XzxltLkGeCALTBLzJL4sjfrh70P2Ixornfgotu9s9IbJ4tERqa8MI7D8r9TjesoMhox2CoaakEvOhXzMiXumL2fIxerrBKjGAf5egjMBPzGuFhnmXLJv2wjBBxPDQ9ZhBBhPa8B6aB6Aakb6ZrU68kYxBVPUmJZsa8FKzEuwrwCfbQHs2vphnUmo0WnmCHBo2xfRPocEBMvR8qcbhRFGnyXejQYNacoiQo8H84EHN9LVQvCegWdcCnF4IBId8qwSjFQ9wXo8YKU0HYSREzWIT69OgwVuPlUb3vdeCco1fVGi3y3sgewCbG0p09hHjjjB7goMbz", "d97f5de3e2b07543843076f4e47eb55ec46999f5"],
["X6v6mLeH4CM2SB5CSugQPYO6AWXMV707XWM0BUe0CcqQ7ZADGhBzUVPP1wFKpN36eu1CwqpPuWTG2itkJoFMnEJJWtHdVXTU2MwVbAggSKiulEM2Kkqm20CFuNVp5a8THmQz3VhqGJjVlnQgfa0vRD1TwfTZnsLNBW3CXuZ0diD4l1JcsB9uyeNBYsg7fXkmWWIO5QcxNV9327BPC67XrvxTABqLqWLB9MDLMQS3O2ejYljHmekISEHxg2FJNfisl8rxiHgwznFxd3F3FQjOpA8joSwprKFfil9t0Rh5Yvg2DYDrnNY05WuxJ4XIfmBbeyovguj7FTsrwStgNSaWI7EtFVKqwzL2SDfErtVuTCQ9Gx1D3NuhAamJ103gYF79agrwvX07JAmMvQ9BG9SVaibMtPU6Y0RXDaNnjUTtO0NEwxCyPBg4hi0GiRY3hPYOG0ND3iPOxLGhu0q4z1GPWqffGAYbvsdnc13Avn1EAfTItegVfMeQGCFLIz", "9030d6345f6c45581400657ab3bce8a13842cd16"],
["GrQI8We42wBvxrnf0wJhiLtYs54Zt29kZnU1Ic6nirOmxebvMQ5orwr7hmHIRtfVW3VgI2OJ2xBh18HEvKy2lIxWkkSwjQ8dz22SmblEOm9TYH9MOIkEeIKKKBzptF2WQMJll2R7AvogHE48otnyWLZ7NYACmln4uNzA5rjLrcNvXnEvZNyF56ELdmLxnOisbdqtwEgGdrXUpXlv1Umf2PdTyNI2rf2gWSuFJL2SgxiiC56S2jtBsdm2tM7BpqHlUveX0XGIEPUrSG8niHaIXuChhtP7CQRkKZmXtneTpIuQY4gybWRaKWIesIqpXM473MeOvCkKpRBXVzAmOCSfObMYySXie0NNCWBu8xEyw5hFGLDq1EYucopUfnUfsbUSSHDnO8efp79CjFxsywmKIsObeVYaJBoB84Bq2Aihei28BMIM5aVW8oluhsovHSl7w03TYmewURXGUcEO0cDWhzQ2wYprEZA94XiwWhdog1w1e7419qsc2j3klo5", "4396cedc314297ea8f7198fbffcd19b5a142b916"],
["6mSIxDztoc8zHC7uqFrdXBKvRVObF8cOemz5pOh9OFp7gpA4AOr4oT7JjeIlyATS6nwatzVgtm493AcQjIqUlTDmrAaxlB4N11T4sGIb3asLESoQy4TaJqoJ33kmLzMYpi27dY6degcBkXqeI5gc9L6sfcfynT5BBggLt1cLb3pCbUIoE5Tx5bxsbN3xQ21jcVCC6Sby5JRbWfHtkPps1jz4942HfosetyLEcwyHB4ia0LzJR4ctkGzQNNzXkMOrDdpMPYt3mXXfF5N5fBEhTowQR61DTTzbLlSfTJ2sIYsq5qVOjXsc5ElUAtyyDU5Jj8qZsT41bueaAkCgke9ADDAPWFRMf8gUhAXwNHw7EVM7p76sdo0XBPAE9HGHmNn037Qg0R6133Ayb5j9q0iCOfPbk9D8od0tTfyOWFB09K59YV2IugkF1bUOgdIdwV7pY8ZaTIxHV5VQGCGiLRAJFAUCQtSKnkT4L3KzvewyFinq0zLRLURP5VLomYNb", "8ef36168eff1fb7e36d901a641a292996434b86e"],
["67yxin4TzKBnawvdEwfUQujz9aXsC1oseDdKSxVT5BT78zOq5L32d6Q84rXdVplqLaUrCQZJWFeJCKDDOTTidnXewxv7GAIpGSYtbMwxYQUEAFPLXePqMPSj79ZudEEvH6oE9DolA45LKyL5XuzYsJtIdY6VZUV0xpeufNTdlUnoowtkN6IOI9VBeRr19ZWKw31mE8Kw3lpYbQbAUSsDbMgKLdyl48PPQQGy4uJwQDtUeosTirU2W8Xq1EupJJS1Bpz5F39afUj2Zc0aHHvjvaGF3rxlnqwEVrTm3vgdFNalTgEBSKsaM4AXld6Zzf3kL7puuSUNCN2LU1pnlH4SfxsVqlzfPXWjqTaoomRmiuZiY60NsU1qpOqucHwOuCw37tO6RlBnH8p9BlhjwFkht8lMEWH4KtRxIvXkZVHnR77A0b2FoC5TkTVGHrGyiht879PvsJ44gFLKkFFNulysAxcYPviKNc2XSby9Pbxltv3HOJKNS4gUyHUStxgMD", "195832e2ec3b974f430c1935a1aff186b4b16674"],
["wf2UFXbau9Hfad6r3SdiBqH183JXVVVBY3NFeuqgwDVopasVoBmHmrkYxqfAL2XBdo45FuQIiyOAPkfDWFbkNw3JmC9wlfsoqaISEcRO6J4guNSfRLa231LyX88NiY9LmzBBG8c3XPafYL94xYn6OzzbJ6l5eKBRKfs76pai9RceKjtBSbFArA5c7RRX7HgwOWFkBFLUzjD9p76mJUiHx87BaX9GUpBv13976m0iMSRYpM8zjof5rlBlLmTRV1mSyyBbl8harLTLQ21XGvEroXKIKgUOlj2HYMD9btbp8wENivjb75SbNdGsIyrk3wq5Cv4W7sKi8ybJ4QxU97Q8W5oSNCTr3Wwa4JLTquGnvtWyaV8Xo2PPbYGf1PVtdACGhkRHE5NpymscxrqP7SUmOVsEuDFHARjYnJ3PDLo1KVBZn5MhUy7CJgmXiE3KjPsT1qI4y0ZtWCSE27VUPqmIMGzpIujhedVmEXU5FC4agCE1bDlGf3xNQZoBTTTa2L", "ee50f02514591575d9a52cdd19c83f0c12533f12"],
["VCXpeutHB0N78rRurHT2n4Su0OUMWKcVoh9yIhOKmUfAKALixkJKdoxTHR22bm3wi0ux7n3ZU6r67PdydTynD9cp9fftGVdYceSpE0WYD2mtcxZ1oow2VHV7LP2vObGl7YHViQfeI0KmTHDFcq3G9hyAgOPsPl5p2pZ1aDCduExUZxrLwBGS3vcKl7fkozwV3td2Bq98XpeZ3o7yuboc1eQq5CyfbwKqfp7lNjrxv7RFjd4LYsBMycT8KWLAYE2gCZDmlCmdbOhHTaVp0rDQlA0f73IPQAQIeJl9P34l8sLTjOMvlR2gFJHG6W1NGopaUWyBkk5PVYHMpEBSBQ25MLMqiiLGDTVu2VtJcVAk3sUgj2ZtiVdBwc1Ag6vnoS10Wak5r3l1NRRR25qQmRrLPzaebyPRAxWBWoLEEkhafj4uuYGn5ICs3dQTG94sPW6uCveIi3pXxLYl9p7i3x0EiLZgPHK7nfcerI2azCPjvoglBe38eLKuduu8pMod1LF", "4bc3e61536b957ebefc94179037be8ee74f4bb20"],
["f0ilba2N7eZVqbuQDnf443herbvoZfWIReBJrbGD0kkgVGhkRkRzdmZX4UM007Rb1RgGBeK9DhK8KDuNUtwcdZ8vEb0vdNgJbRH0FNrnW0UJ0pzTKqNXlWqDngLF5A93fUCb8D4PYeEFg95zR6BluwkfKT5AXav7zgVsT7W8cKVTCoJtzBEYtOKektbzl0irE0qUuFZXU4qBcZKeMAIbdK3YAaPcBqU2DDnupl4hx7v4Byi4TBee5VN8RikEiucZgrhp36TNAZrfoMTSfigXcHj1YEQ0LV0jO7yLcOUUs3b3FZSup2Yik94VoKWv86ElMWEWWuyclHcIFQcLyyVNUj3lsD9iPr6RrHF9WHpZfSgBnQhiT9l7eqBmQqNfxSBvncjtczuoWJ7ZtGMOMbGA74QwIZTGqswXPbDhzsTtuPM1DriwvlRkXaNeyBGAMG5wcDbiFem49aDppi6wRqwFS3i0100oifSHmRUjhai94uSRUdseBh2V3OYIL04wKt9a", "1878d627b1004a99dc4a215307c004f7d3c6e1ca"]
];

21
test/srp_test.js Normal file
View file

@ -0,0 +1,21 @@
new sjcl.test.TestCase("SRP known-answer (RFC 5054) tests", function (cb) {
if (!sjcl.keyexchange.srp) {
this.unimplemented();
cb && cb();
return;
}
var i, kat = sjcl.test.vector.srp, tv, group, v, x;
for (i=0; i<kat.length; i++) {
tv = kat[i];
group = sjcl.keyexchange.srp.knownGroup(tv.known_group_size);
tv.s = sjcl.codec.hex.toBits(tv.s);
x = sjcl.keyexchange.srp.makeX(tv.I, tv.P, tv.s);
this.require(sjcl.codec.hex.fromBits(x).toUpperCase() === tv.x, "srpx #"+i);
v = sjcl.keyexchange.srp.makeVerifier(tv.I, tv.P, tv.s, group);
this.require(v.equals(new sjcl.bn(tv.v)), "srpv #"+i);
}
cb && cb();
});

11
test/srp_vectors.js Normal file
View file

@ -0,0 +1,11 @@
/* Official SRP test vectors. */
sjcl.test.vector.srp = [
{
I: "alice",
P: "password123",
s: "BEB25379D1A8581EB5A727673A2441EE",
x: "94B7555AABE9127CC58CCF4993DB6CF84D16C124",
v: "7E273DE8696FFC4F4E337D05B4B375BEB0DDE1569E8FA00A9886D8129BADA1F1822223CA1A605B530E379BA4729FDC59F105B4787E5186F5C671085A1447B52A48CF1970B4FB6F8400BBF4CEBFBB168152E08AB5EA53D15C1AFF87B2B9DA6E04E058AD51CC72BFC9033B564E26480D78E955A5E29E7AB245DB2BE315E2099AFB",
known_group_size: 1024
}
]