/*
* @(#)TigerTest.java 1.8 2004-03-01
* This file was freely contributed to the LimeWire project and is covered
* by its existing GPL licence, but it may be used individually as a public
* domain implementation of a published algorithm (see below for references).
* It was also freely contributed to the Bitzi public domain sources.
* @author Philippe Verdy
*/
package com.limegroup.gnutella.security;
import junit.framework.Test;
public class TigerTest extends com.limegroup.gnutella.util.BaseTestCase {
public TigerTest(String name) {
super(name);
}
public static Test suite() {
return buildTestSuite(TigerTest.class);
}
public static void main(String[] args) {
junit.textui.TestRunner.run(suite());
}
// http://www.cs.technion.ac.il/~biham/Reports/Tiger/testresults.html
public void testBasicVectors() throws Exception {
tst(0, 1,
"",
"3293ac630c13f0245f92bbb1766e16167a4e58492dde73f3");
tst(0, 2,
"abc",
"2aab1484e8c158f2bfb8c5ff41b57a525129131c957b5f93");
tst(0, 3,
"Tiger",
"dd00230799f5009fec6debc838bb6a27df2b9d6f110c7937");
tst(0, 4,
"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+-",
"f71c8583902afb879edfe610f82c0d4786a3a534504486B5");
tst(0, 5,
"ABCDEFGHIJKLMNOPQRSTUVWXYZ=abcdefghijklmnopqrstuvwxyz+0123456789",
"48ceeb6308b87d46e95d656112cdf18d97915f9765658957");
tst(0, 6,
"Tiger - A Fast New Hash Function, by Ross Anderson and Eli Biham",
"8a866829040a410c729ad23f5ada711603b3cdd357e4c15e");
tst(0, 7,
"Tiger - A Fast New Hash Function, by Ross Anderson and Eli Biham"+
", proceedings of Fast Software Encryption 3, Cambridge.",
"ce55a6afd591f5ebac547ff84f89227f9331dab0b611c889");
tst(0, 8,
"Tiger - A Fast New Hash Function, by Ross Anderson and Eli Biham"+
", proceedings of Fast Software Encryption 3, Cambridge, 1996.",
"631abdd103eb9a3d245b6dfd4d77b257fc7439501d1568dd");
tst(0, 9,
"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+-"+
"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+-",
"c54034e5b43eb8005848a7e0ae6aac76e4ff590ae715fd25");
{
//System.out.print("Set " + 0 + ", vector# " + 10 + ": ");
byte[] input = new byte[65536];
for (int i = 65536; --i >= 0; )
input[i] = (byte)i;
tiger.engineUpdate(input, 0, input.length);
tstResult("FDF4F5B35139F48E710E421BE5AF411DE1A8AAC333F26204");
}
//System.out.println();
}
// http://www.cs.technion.ac.il/~biham/Reports/Tiger/test-vectors-nessie-format.dat
public void testVectorsForNESSIE() throws Exception {
//System.out.println("Test vectors -- set 1");
tst(1, 0,
"",
"3293AC630C13F0245F92BBB1766E16167A4E58492DDE73F3");
tst(1, 1,
"a",
"77BEFBEF2E7EF8AB2EC8F93BF587A7FC613E247F5F247809");
tst(1, 2,
"abc",
"2AAB1484E8C158F2BFB8C5FF41B57A525129131C957B5F93");
tst(1, 3,
"message digest",
"D981F8CB78201A950DCF3048751E441C517FCA1AA55A29F6");
tst(1, 4,
"abcdefghijklmnopqrstuvwxyz",
"1714A472EEE57D30040412BFCC55032A0B11602FF37BEEE9");
tst(1, 5,
"abcdbcdecdefdefgefghfghighijhijkijkljklmklmnlmnomnopnopq",
"0F7BF9A19B9C58F2B7610DF7E84F0AC3A71C631E7B53F78E");
tst(1, 6,
"ABCDEFGHIJKLMNOPQRSTUVWXYZ" +
"abcdefghijklmnopqrstuvwxyz" +
"0123456789",
"8DCEA680A17583EE502BA38A3C368651890FFBCCDC49A8CC");
tst(1, 7,
8, "1234567890",
"1C14795529FD9F207A958F84C52F11E887FA0CABDFD91BFD");
tst(1, 8,
1000000, "a",
"6DB0E2729CBEAD93D715C6A7D36302E9B3CEE0D2BC314B41");
//System.out.println("Test vectors -- set 2");
//System.out.println("Message digests of strings of 0-bits and variable length:");
// only test vectors with lengths multiple of 8 bits will be tested here
tst(2, 0, 0, "\u0000", "3293AC630C13F0245F92BBB1766E16167A4E58492DDE73F3");
tst(2, 8, 1, "\u0000", "5D9ED00A030E638BDB753A6A24FB900E5A63B8E73E6C25B6");
tst(2, 16, 2, "\u0000", "AABBCCA084ACECD0511D1F6232A17BFAEFA441B2982E5548");
tst(2, 24, 3, "\u0000", "7F7A8CE9580077EB6FD53BE8BB3E70650E2FDD8DBB44F5C7");
tst(2, 32, 4, "\u0000", "605D1B8C132BF5D16F1A8BC2451733F7F0FF57FD5F49E298");
tst(2, 40, 5, "\u0000", "7F3A0954A5C374566C72370D1D97C2AC8FA9B1E3CB216E31");
tst(2, 48, 6, "\u0000", "B333735AFDAB30B4B597CCD137AC1AD2B30D4A047BAD0127");
tst(2, 56, 7, "\u0000", "1F27BB5926F35CF5D52A24817BF56CD17D79BB65ABE85785");
tst(2, 64, 8, "\u0000", "5229DC51A494B913F8E04C4C729C93CB8B260CA4EE8EA9D7");
tst(2, 72, 9, "\u0000", "5DFE02959A64534E0E679937B712F7DDE2C7B982597D315D");
tst(2, 80, 10, "\u0000", "654D00C774FBE74CFE4C0A6DEA5917823A6B20070CD0CCCB");
tst(2, 88, 11, "\u0000", "C82A6419844FC7028B52CAC8186D63B85121AAACBA622A87");
tst(2, 96, 12, "\u0000", "06F6D65EF081AFE892AC0946F275DBAB9D3B6D9C55E517C9");
tst(2, 104, 13, "\u0000", "42C40537A876D69DF84FF36FBA3127901B112B9E96688012");
tst(2, 112, 14, "\u0000", "6FA00EB82505EBC4707F675B0A72A9F9795F647B550F155D");
tst(2, 120, 15, "\u0000", "239549439CCE539F304CB7A95160A033529B228CA406EFF9");
tst(2, 128, 16, "\u0000", "464B87921CCDAEDBC0D6941610D1EB19E536036096403F32");
// note that not all test vectors with lengths multiple of 8 bits are tested
tst(2, 192, 24, "\u0000", "CDDDCACFEA7B70B485655BA3DC3F60DEE4F6B8F861069E33");
tst(2, 256, 32, "\u0000", "739414BD4CD6AB967CD46A1D943412757D858B24D1C4ECF7");
tst(2, 384, 48, "\u0000", "10DD94B66BA6AE0498C9C7754844662E5D8B62E27D2C4D26");
tst(2, 512, 64, "\u0000", "33FF9966DDD692427A9BC4D611F3C74CF629A0544A1A7ED7");
tst(2, 768, 96, "\u0000", "05D2A28308C44536C591DF21B02AB542AF982B81A4C5E129");
tst(2, 1016, 127, "\u0000", "00A569CCADB17662483CA36230BCC6956BA5C1D5595C044A");
//System.out.println("Test vectors -- set 3");
//System.out.println("Message digests of all 512-bit strings S containing a single 1-bit:");
{
byte[] input = new byte[64];
for (int i = 512; --i >= 0; ) {
//System.out.print("Set " + 3 + ", vector# " + i + ": ");
input[i >> 3] = (byte)(1 << (7 - (i & 7)));
tiger.engineUpdate(input, 0, input.length);
tstResult(set3[i]);
input[i >> 3] = (byte)0x00;
}
}
//System.out.println("Test vectors -- set 4");
tst(2, 192, 24, "\u0000", "CDDDCACFEA7B70B485655BA3DC3F60DEE4F6B8F861069E33");
// {
// final int ITERATIONS = 16000;
// final int BLOCKSIZE = 65536;
// byte[] input = new byte[BLOCKSIZE];
// for (int i = BLOCKSIZE; --i >= 0; )
// input[i] = (byte)i;
//
// long t0 = System.currentTimeMillis();
// for (int i = ITERATIONS; --i >= 0; );
// long t1 = System.currentTimeMillis();
// for (int i = ITERATIONS; --i >= 0; )
// tiger.engineUpdate(input, 0, BLOCKSIZE);
// long t2 = System.currentTimeMillis();
//
// tiger.engineReset();
// double rate = 1000.0 * ITERATIONS * BLOCKSIZE
// / ((t2 - t1) - (t1 - t0));
// //System.out.println("rate = " + (float)(rate * 8) + " bits/s = " +
// // (float)(rate / (1024 * 1024)) + " MB/s");
// //Java 1.5 beta-b32c, on Athlon XP 1800+: 34.98 MegaBytes/second.
// }
}
private static final void tst(final int set, final int vector,
final String source,
final String expect) throws Exception {
//System.out.print("Set " + set + ", vector# " + vector + ": ");
byte[] input = new byte[source.length()];
for (int i = 0; i < input.length; i++)
input[i] = (byte)source.charAt(i);
tiger.engineUpdate(input, 0, input.length);
tstResult(expect);
}
private static final void tst(final int set, final int vector,
final int times, final String source,
final String expect) throws Exception {
//System.out.print("Set " + set + ", vector# " + vector + ": ");
byte[] input = new byte[source.length()];
for (int i = 0; i < input.length; i++)
input[i] = (byte)source.charAt(i);
for (int i = 0; i < times; i++)
tiger.engineUpdate(input, 0, input.length);
tstResult(expect);
}
private static final void tstResult(final String expect) throws Exception {
final String result = toHex(tiger.engineDigest());
assertEquals(expect.toUpperCase(), result);
}
private static final String toHex(final byte[] bytes) {
StringBuffer buf = new StringBuffer(bytes.length * 2);
for (int i = 0; i < bytes.length; i++) {
buf.append(HEX.charAt((bytes[i] >> 4) & 0xF))
.append(HEX.charAt( bytes[i] & 0xF));
}
return buf.toString();
}
private static final String[] set3 = new String[/*512*/] {
"B99F2BEFF1E64861ECB3D91B04C9BA4BE6FC0FE7CE9653F3",
"FBDD470EE15111676B477532D293019EB182CE9EF17C0B59",
"D68BC840B64746A212810784CAB2BBDFCC49FDC743AFF5D4",
"D6B280F151C286E2B8A78B3C80F181E192BEEC0A339F0453",
"02FDBD79A641FDB807DD80699019BC97DA69D692104FBFCB",
"E30F39FBB7BB8C191E2CD9A970EC806EA64825E4CCE782D7",
"0521BC64D5C188320CB9AE9D2A89BE291352F77C3E44772B",
"60224F0B05145D00FB3C09E78522FE17FB7C64AC90AF4BE0",
"3104BE53E8A19ED90BB03DA1FC5FBD052EE7D80B4AB31AF2",
"ECE34E9D1BBA44EBAAF18254812DA74E1B250D874049471F",
"7FBEF692D8F3DB59912960E1C4F255D65CFA93E64CDA00B3",
"180C2B906440036CB48ED7DBD670CDD06054734CA9E3E531",
"EC1C85F1C4361CCC979FA94565CE47BA766B26C03E0155ED",
"0CB103FE2F16046BCF473C0EF5F30510094B327A811303AC",
"35E499F9FCCE1B0CFE442FE493333763C8E5F956A255DDBE",
"E8CFB0B7651DCF73891553FE1AD3DC0F1BF5CA89E2243771",
"9F375EFC406EDB4DC7008C6ADF57CE7BC6072BD39593651A",
"C40960EE520A3F6E38938C4D774695FAB9AA99ED98724686",
"C925142A228B90DC4EEE8D740480095B72EEF71717AF230D",
"49F67D2EE9E5E07754EB3FB587A5DFC9A5A5F1AF952ABB90",
"8EA4A53FB597B8612B751B25B4D67A3211BD9B55810830FB",
"7F8A9779678C20D7B26126CE54CF40D586D639038E0D898A",
"45B2D2247DF2BE8762F7C2BFB1D282DB99686B8C61F12DC2",
"5AF3F43A65A123F25318B108322F1422FBDD4E2088B3FCC5",
"255BA44E43BB186AC95A8BA873F27C17D4209A7CDA0743E8",
"6CC1C5FE50A6A3E1A8C9151E529627B7825E797CA2996763",
"4C8E2574514F1908500775D706E66CB5E098A07763CB29A8",
"80E15B5D7DD082786B73BFA7C11ABE846CC08992D82082EF",
"9AAEDC20A2B5C9B3AC1FEAB011E0BC63C3F14A77716745B4",
"20FDDFC28496F4B7C474D1DC0D2556B71A0BBE0008FBCA74",
"6C5437A6A7ACD3882300183FBE7B474CB7C0E45DF4BF126E",
"3220E4DE2B99FD792057CA379EC8E0FB9277B2B0AFCAF7E1",
"5605262344AED0F46F6AA94AAE288A936B3783D7B0C96EBB",
"79FE05ED00EA9FBE5C5A411B7BE9D0AB7E95FCAC4944FB5A",
"5632B77A86B06F60FB38F6F8D7B8ACB076610CDB17C45F3B",
"6F1C90B7CE7D352A1EAF908EAAEB69DE70CFEA924FA1F322",
"B0582D1882AC0B5C534293ABB751072EACFCBCCD7760B739",
"D56CC1F5522E00EF7F25DA7C524CFBEF639E04ED232FDA74",
"FDD3E72BD41951FF6CA729207F9EE320F277C240C5ABA6CE",
"25C341EFBF8E0197DD7AA0D098BE9C262EA24A5ABF1956DC",
"3D8E11219C1F4A655DE818DD5BAE94724292D1FC1F2C0451",
"78D0C2AEAAB13E6957111303BCE092987F38B125654AEB06",
"76CE1A38D5408FCF5C60F231F8624D22EBE4F3C2A77833CA",
"A1478F92ACD8AFBF1383F566E8074249C576C6C01573C816",
"EEF978C6730A5A51E0C67CA0CD591718F48E586924DACAC3",
"D244E12581769DF1260AD3B9BADFEAACAEC10F08D0BC20B8",
"6C88A229FF9769C257AE208427684E2BD2F2616FB11DC61E",
"F9AA7D877F5B192A751D6956225FBB166E70BB5373EA03B5",
"8E5FC1110E41E417B771F4860BD7180A8771EC8BE3F51371",
"16A04075744A70693EDC2823E6D3F53F8BD7DA82F61C988A",
"DAA5DCE2246AA0B16DFCB5A6DE1148A4667CF130CB0FE57A",
"7935C3EAC77062032E4DA41CFE266DB7B1CEAD6A92F36531",
"12FAFE2DD9FE0F928585DBFFDF2FC940329F4CA2C428FFA2",
"B5AF46B22173E04EC7C73D201D230E76AFF7E25E7C64C9A1",
"04A39346609CC870A34BFE4BC381391E5096EECC0420CBE0",
"8E30346B3CF6A33A5DF960349E79E318A559177A10132AE5",
"E010FE9A2A139AF552D7A22D5D04D59ABE9F26099565B139",
"7E3A17F0489C5D1CF249BDFD6D839D17797E5F91655061DF",
"DB0EDCB6F326FFC5EC6C23A9B23630110BCF3EF1623090C7",
"0E878D8D2984F9A638DFF1A309EA4B436D24FA40B3BC5F4D",
"AE09F204A5E6EEA22BADD0042D00D48E60643343C951C79D",
"5411134E8112EBD21A89CA726D6C3293BAF1522031BFED57",
"1CC1D5B8489F213F6A0519811867CA70AAB68B93768B2EAB",
"A16D7299661CC6978AE949CF9F607E286913CA0615E12CEB",
"9A2A8EE8963BE88DF83D5761D490FFB0450E9C450542CB08",
"FAC9C5FB38BF7CE0902DC3E447D3D4D6DD369DBE94A8AB67",
"C430CAA3FD05B674624BB549B3A565C9F1A93D8E4AE429E0",
"D03C16013ACB204439B0B84C5EC0507C07EAD360114BB6D7",
"44F6F5EFA89F2302B9E4B6710EFA1BD79F2589575F57B7A0",
"C392AF0E93D619A0FAAC3FC2EE960DE9464DF3F3B87728D6",
"BF1C5CF1B59A39C9EFD3D46F9144E7E7CC75F53C83BE87AB",
"F4DEAFA84B6859F0B32D04DA3CF8DED931870EB8EBA086B6",
"68B3511E9A930CC1E465DDADD3813E79E5235690E279A53A",
"D98B1C76BF4216804783DD2A082F5722AE7049717AC6BEE4",
"8FE146611B75E5E6527F0E2516F09090FABE1AE0F51D9965",
"B6F4518C9B5A082BA4951EEFEE8991D2605395D04FFD9784",
"0C4C268E0243354A31C576B053FCECCD320D864892DD4452",
"4FCBCA86DAAD5EE31427339F45DB698C56F4EF5977C62346",
"D63400C91F46CEB1F73427A1DD61920E5D98250CD7B21D61",
"2002BE33AA6783F40109E747E27231C652FC90B304F91218",
"A8FEDBD8A393C41857EA09B457FDB42078049B3F269C1431",
"D2C06B7D56774863AB6F3A9F8FFD79FB56FF130906B16596",
"5D8339715D342E8DDCB7CF18F4878D2221BB05FC4B2563BD",
"06DEF00E4151BBFA011D87096B16C09A955B1059EBA03393",
"36386BE0645E7577BFF63BAAC50532912EBB7026B120E472",
"8E4CAC8FE8C09463A5726B0FD3335A09E8971B498CCFC14E",
"45EA2AE4AD4B1E0C6958FABC69939E1A19300E28946638E8",
"7C97246A7834ECF7074DCAD08A8B4BF3E8A68157889B97E4",
"0F040C8CB0C777EE04086DDEAC53751D037FC41A62DF3D64",
"011A9D0417A070DA0D425E835F03C68D0BD8762A7174C0A6",
"76B90E3049F98281369B0ACD1D2193EF2F63A25F75D9FEA1",
"733DBC18BB0821CD1B33210BD9018F2EAF405E0A281328B4",
"4C3B42FEA3DA2B23AE3C723B22522AECC84BB1D5CD2F9E51",
"77396616E87FDEEBDB6276B30422B04C2098F85F0085371D",
"6BD882666B2089F5A3904F91E26B34263BEF463456486ECA",
"1AA8BC49C40EEADA030EE802C336D83D75C3EEECDF365AB2",
"6E9615A0291AEB33D37FFF3BDDAF628178009820457F0737",
"F78CB6642756E3253A46FC55E5C852B5D209CB886F1953D4",
"3D900B55C9CD9E821512415B734B06A28B8EFB0488F9EB4E",
"1D534936BE6E2831E83661E0568B170EF52712899E2F8A8C",
"68D08DCA280F71F6E33FE81F56BF5D98BB498B720F8294F4",
"D4D1339C8797918AEB4000CE0B75EB741EEA852B7E5FEF35",
"F6204099D4C1B7F82BF0A1364A6322C3578A46F354A68622",
"FC94F4DFB37B4674843E0CD9DAFDE149D89667915DEFAEFA",
"F64C25ED176B388E022A3AA4622975F1CEC7A9A359D1D28A",
"CE3230D5A7B57E82F92D8A36485B0EF70B3A8430391907F8",
"D9AC7B94226A60FC7D99CD796FD5B6EA36AE798047E1B53D",
"8A9F12D8D9DF81E43E9DC038FBA927A3A0A0D6FA43749D2D",
"CCAE282196A07B02E896FDDBC71616298BBBC436BED3D424",
"09503A7A95B31206D16FC3A3A6730CB379F413C255B0916A",
"0D799B12AF89A92E0E91237F37236BA484B5192B468F92B4",
"04A3597758A82EE3EAA34F5B0FB1198A1177B3B3B8DD583C",
"BAC0B8BE5A41BB8186CABAD7A32F17559DB8579D2A32ED35",
"96B5AD3931A54DF4C0754FFD17E2ED27EEDBA480D7DEC700",
"4A3E600FE13F444B31E03CFA0863F9E316F83F68F16D509D",
"B5DA026AE3BFBFAC6D2AB00A16ECFBA40130E1817E26E6FD",
"635799A28E0E31EF6DA157BE71327548E1EBBE93D39A40CE",
"00A7C94AC7D6DA73AF3537816D7535F6501C81E9D0B70C30",
"CEA02CEB43D209ABA6217234278931ECB509813A516C8770",
"460F8608C1CE8A7ED701C8D46D800E5097DD421321A595BF",
"595B7A837EA74AE2A9C2A4DD9915C684E4003A78C908EB34",
"40A34377B74D9C7404E69898DA030F47C7B4F5125379799C",
"011A1626ACDE5490D40D6D3B212E4296DBCFAA310C0D0A7D",
"0C38A676E739B11BF2B5F305DFC38C1194B67D5BD9ABDD3B",
"B2BDB49CBB6A27D90DC43CAEF626531E3794B02A4B557363",
"925F73F9BF011425B3C855EB93FF2B3702994957C90A6E71",
"C5438E4F6F20FA52579EA70DBE976E8ED0CD0CA79F0FF667",
"9C19CE6E144C81EDBEFA42762CCE7687D82D90C80E6E4DD7",
"F6F514983734179B56A2DB5810D2FEF9FBAAE792DF757EE6",
"47EA4D78437E145E56490DD5C47788BEC899AB249A782AF1",
"751FCB36A8B567673E9571B4F359CB7452913DE68458233B",
"6B86FAA0426879F9C1A6F4A9F26FF19DADCD0BA2C34273F2",
"8ABD32BED2814C6428812B67CB7228BF02AC80EC80C5771C",
"026EE4B31888E474E20F1627B30475FFEE90BAFA2E214CE2",
"6EA00649517124D6598C2CBB109B8F8AC445771A9550263D",
"9029BD1306510D7BFCEF39B7E3E6F3A62993A810141919A4",
"802BE35C1D0356AA8D7E7830C1426AA9789CF9B1B75C7145",
"78D1FE031819E727172B1FB5A0EC87AC33C494C1E37C222E",
"E87A76683F7B6D8CA2B47C8C41F346764053D8841FBE610E",
"E3E18819D97CD24E6C82AF5212876375134D9401E1CFB25B",
"528D81D4D77B3C9360D1CCB3D8D906FAD4BAEEB8C417AF8E",
"940509DDE91065297F51C95D6D61196BCADDFFBFE43A0490",
"1F745AD4161EE006A4260D7249E0B68B0453B01819EB2A14",
"B1AA443FAA0B47E51A307ECAC7FAF07CA8732E715513C738",
"CB30A43A2DE29002ECE22BD0CA7FA5C40E0F1EE3C9784249",
"A5B6D8400303E5118489CE082241808027945C143D1200AC",
"FFB82281B7B2CDFF2E83440CFEC036D03C26BD5133AA56C8",
"08F21816D77A3D5F7DFFFC5477C4EB78AF660D7C32B1B6F0",
"286FC4EA0BA3EE25CA28CD635DA1077BA00B7BBE1D319C9C",
"ABD221DECE666C1E0ADE89ED127001B1AE8B37A3249BC237",
"EFD037EAD7168C5B48E18DBB0BFE94E7A7337ED9F9DC0B60",
"17A915BB90D878000A07BBF2F7C29605541CCBB2BA33BA9B",
"EDBA011909174DACC7276FB748DA3D72037688E09B471CDB",
"18646AB2DFAC64E3D1B8298F9DA48F8ACD3EC8E9B6C091D2",
"5BB55C940C48C5F173356ED2F76F135BB33C49C6FF401CE8",
"444CCFDECBBCAAC55FD538C84FECE4AD05E1F86CA2183046",
"0DD2986EBE58B62051C5F8558B33B2150E2162273A21D2D6",
"BBD0BE785D950FEE7272A6A42E20EEF9FCC96DA0862A9D4F",
"C6EE3736BED22F09A3082957D5D2D9939E926DE56B23E540",
"F272AA5CC30126CA15ACF94904EA44A28068BD3B3ED74BDB",
"24713F450026D6D9717475558F33A84CEC5B8EC74367A1F4",
"021A9ECFC35A18BC91568F76A06EA7B6F068B1B45E725F2C",
"54027E9B61191C3ADE350615D809EC6A4BF7FE926946F93B",
"27C362B26734609E760ED30E492273A2EC0786CECE1B62F7",
"C56A7C83A9F780DBFC564564D60B110894B3462BF202B31B",
"E46DAE97BF1D1433B91E7C4B30A3D11189BD1959F363C8AA",
"DFFFD3EE84CE33EDBD6CCBDF9FDBC4C6CD9F6C3663AB3124",
"CA9D313C0A9D62198C2528B856627BC9C70DD1C6523AA09D",
"DAB676CBA9ABC9799E4416E703CD4C89348F3513D93BCE58",
"383C379EE484CB248AF0008F339F2B76C25DB122ABE46C2B",
"466C5466009BFF5B4D9639CC2DDFFBEC31663189A11A3F06",
"5C2457FB54624D291D0223FDCA7CE3EAFB85B6D492408A9D",
"FE593DC31045C782EC6B52216FC64B35FD33EE3904BA9966",
"D7174534437E6168C2EF60B0EA9DC61ADD8098C0694539EF",
"75FDFFFAF4F1D44DD610CEDDB215E16593340EDE583C875A",
"36EAA91B577FB20178B0F06FBF369D07FBCE8445BB36774D",
"9068E188528160BC3B2C2036B4B6140BFCBC98A031847132",
"42E86596DB6EA0724CE131CC379F5A3F37646C87026DFB87",
"733642DD7D4F08A2303B7517974AC6D9E6EC65FBED56CB05",
"92ABCE48F750C364C5FC649E3E2168E5BE83F6176A2DC552",
"BB841126EBD38F36A63FDA47FD5971DFF6D9CF0432811535",
"1A5F8B7F34376121B1BA35FB19DD2DE6A1FFE55D22703940",
"A4705AA774708F6D6AEABD6B527C973DD3B955E144812BC5",
"ADA04C7993477041403A144C15BBFEE889A6F835B9F968DF",
"2F4179071804EC9280CD2EA6E265AD77633F5196CF8EDB32",
"4378BD6082B465ADB4007CBDC5F764C402ADCBEE4347C08F",
"F75B2A3267B96CA1EE4191B99CE78B079333F10EF184D91A",
"C3891913D02202A3DFD2BFE70EDB992275744136452C566F",
"07B465A5110B6F1D8CC50B4716A5B5CE9985CD0A7A857EAE",
"AA3E818EDB7190F12AD58D9A4A9DAB53209AEE83F5B3C554",
"C570CAD73E05B2F8283A26726F07BAA339EE78ED7CA42F62",
"B48EC775851C9AE303F05AC8E51E62FF169C175792C2627A",
"1E3047A18CCBA9F21D1E58F90FC2F8100D94227E29DF84A0",
"5CA88D9C7D388BCF7877FE0F8CDD5EC767DEC73783B60195",
"F0AFF7784660E13949EEBC8A817DB227D7DC2248EB0F659B",
"9B5D9AB548CE2CB1B4F121B5BCACB724A02A655E56650014",
"DA5D70AC87DB9AB9A19D7E79FA3820B9A6855F148A662E9E",
"0DA0AA0A4187C2AC05B220AB88498FC244FCEF7FCC59692A",
"DEFC6E4E0FF252A652CAD76C06429D7D902F80D0C132EC2C",
"FB8EA1191F9272038017D3D10B0F901514490B119C3C086F",
"A0F433C8EF9F86EC52989CC77B999EA02827EA0D57F00766",
"73C51E27F033BDCF09E29C19740AC05676C7DA219C83F019",
"C1A41E1999A6E7ED8D2407005608A44999C0918F009F12BB",
"C1DE2FB59A6A6CC45D3E1A9A502F0327E4E0582692882E01",
"FA371922F657875B03268090C91EF8A7D968486EFCBE853D",
"D7786FFE8F9411E982D591C63A364483A733A005D8DD4F52",
"EA71A84A2AE43700E2D6CBF9705809F38EB01E3AA3500981",
"AEE84693BEA5105467DFFF30E694772F31148CCECA362D0B",
"02C9565A480DFE315479D62BFFFF915768411199596D0067",
"0EA5DA49521F8C298EB3A65B157D3B0E42E0BDA0EED10EB3",
"A8F8E5533E0025DDF4421EA099D9C553736B86626649BFAC",
"76D357BCB224F3B59DD6286A3EA0D4C2D09699E68ED7D4E3",
"202794850A8B2A8D611473C84F18835F322D32E04214502F",
"1BED2B5DAA818E27EACA9EA5BC6B5D88FF7605CBC529C423",
"6FCEF79BBB8B556D597071E6E86815575C36955DB95FF0C9",
"5C76AF9054B56A78EE4BAE2F69E54EB4A4DCCA9251EC323F",
"8645904A860B9227CC2EBE31269BCB033D12626D4E7B1E07",
"5CCAA2D96A4B90DD33CA1A8F63D9A32785FCE91FE9D261FE",
"644AEF13CA34442715AF3B71F6F40863B9FE5B68D9AEA69D",
"BB8F2FCECA6DBE2233D94CC9617C0C924251503E15ECBEFD",
"C0CE5B9858DCAC7C2A7FD41EAD46C1D1F4A55C612EB87095",
"C3209B535B1893D292F24AA705A54AC6893F5C34DFC0B89B",
"4A9362D913330BE01F8AA9A40621CF2BAE0AEE998182BFD8",
"6757B6725238FDF3AA6E92CE05242DC7A138F55A8A2B8CDF",
"9C1EFCC39E943DB17478F55C2E8F5AABE665A257A74E7CC7",
"9E48EA08AF2BC00367D950D2A0BE14D0F26B71FBF3997B10",
"A6BBD6177AF40DDDCCF8CC8B8218833B8A89D6BE122E12AA",
"F7BAE51827F6C16F31508A28D362DE9BA4984E47C88DC037",
"65DD7FF5BB8CE8D5F84480BF5A0E35127CD736A1CDE7BC12",
"E8531E2C7329ED60B7246E6246B1FEE13B1B70F1A119CE54",
"7B26F57EF6D56F8966AFB3AF6C9BCE1C1948396CE4FFB1F2",
"D6EFC3AD5E62E9055C414D01E11E0EC9374B5F4486AF92D9",
"B4000A22B7ECE2B3BC2695A2E98A9F4FC981DE2F44A80CA3",
"30F506642345E45D1116318D8F9849A640B13C27291F5B83",
"E02C8DBAAA96F301081E0F6F6FF3163D11B0340C5154E06D",
"4D176A285408CA3E69FAA2F90B980CD10BED31F3B7C31F15",
"8BBECF1AAD25FDC805039E0B0AE53C72B2D598400FAD8A0F",
"68213C2CB2C200AE8E130125F0DA1A81AF46DEA7A32564B0",
"B65CAE529F4F5640EC8E61D7B18DCABF5C42D09D16638E02",
"6D9BDF35483F61B8B41DF2BB3DAB479CE960916A91768BA9",
"C7065FCFBD627402B557D08EE245E4B792079CBA32E7E956",
"FA7CAC5FC22F2AF0FF1E052D28817A65966B2B0C1C2F8792",
"204A233E044B2C07EBBD2C529A8D578A07B21BB674EE4D64",
"5D64C8D0554606505D54BDF395D6608AE15D23144284C05F",
"C90A9B1D92220CA0F3F4A8E65155FE0E1D152C89213E96D9",
"3C8673A6ED62C5FFC880D24A000053ED7042329424181DFF",
"732D68C9AAEF89D27676A87AEA0F975BC31E9B7184AABE49",
"61D3540EF01107CBEDCA147F615B0DA929474344FA8DAB0D",
"FBF56E336FF510ADA9A801F84E4792FD8E9B1C3B44B4D666",
"FD5EB3F4BF2E475CA451C856B2F576FCE1CAC3B700348176",
"E5D6F6AF3BB3D2D22975AB500DA24B5783E651C1AFADBCC1",
"22C7EFD25977630807C1D0FD7DC220FF426D589BEBF3F818",
"38C0B8ED87706F4A7C2DC5EADCD01C72193261CF37C196EF",
"CAA17EB9893A85EBE650736A0B56FDCC9DDF6916707D1B99",
"1FC43409C387A59F2702D1120CA69AE1EB8BCC072AEBCC89",
"9D5CAD387705F97F784279C85B5C09D3A8216C3151BB8BB5",
"DC1EBB94F3E0E6703DAA5715A7E826554DB9EDE756B2EED2",
"5E626E0FBB4CAE926AC717EC009CAEE23B5CD3062359E20A",
"F348BF048DB8D98D0BD0666B520AB255B12CA6047B3166AF",
"8F929C79DDE5DE2794998170EFCABCE511637A29810ABF47",
"FE4661EE9DD9FD928D2AF9B5898EAEAB617E88369457DD67",
"6E0C9BCE677EA50439E02731B301300511643AC1FE00125D",
"4589434D3BE9D44EF45DF1ED91AA97D812ED55DD869B9067",
"0C0DC9DAAD3351B7CE17F8D1F6DBDA62F91FCF6C93019C45",
"07FD597941C0A30A137256D65E5D2430EBA2C6EF24979E00",
"EEFC74ECC53C334768D59EEB02B49A462A976CAD32FA9F4C",
"292EE351E25622EF85A07C0C161FC0FBC09229C176998D35",
"7ED81D7B5AD71E60F04E388D2E29E044EE253D701D213ED1",
"56A2F7E6F85975BFCE0705A124AE4CBF7C3015690304521D",
"B07EA50183596A2430F3DEC13F96845D1070A3D32F5EC066",
"526F6BBF1EBE525ECF7EFBE693A06B746307726F2011529C",
"89EBE9219A9AC412BEC88BA321030B4AAA257B6410F7719B",
"ABD5FE2E6DA870D5B894B35E72E41D590A01E40303524335",
"1E3D537D9580A74F2D7FC71EE241923AB3848D11A1A5644C",
"F580664AB99A6B50BFA21019261D91B3A1238FB129B0797A",
"2DB79D2513802F939D4608E4FFE38D1CD5FFE7B667CE3EEC",
"13B1F534DACAC2836C67B4B410151AE550AFF9C977B6A3D5",
"86ABFE6988DFE9D6C9A884942946BE74115987EA3C6AF477",
"9FB58A6C6822D1F7BF3AC52BD210132FD6DD1E823D3CE95C",
"1F5E0C29EBE8A28B934E7932C0D120F2F01CFA87DC089E0C",
"BEA84869592DF1FD12127F891CA9DAFEE767226868F878DB",
"6FC0DF95D191F492399AFC32C4F536F43C14E189DA93396C",
"33E9415EA0EDB2BAC1DD210B9CC2F5D7F46B5B07C5EFCC3F",
"CD933BE80058AFBBC9FFD6590CA2F53B3696E7F86CBDE8CD",
"15F89B44FF00A4CB930233FADB49A824F0AB540636A0E8A5",
"33C345BFFA20C8F0B92AC6F3F063E477F1CDA525C35E68AB",
"617EE74C600A5B9D5C591984222DC000642FA97ECAF6948F",
"E50FF576A78A5FF73038F307740FFB190F405AAF65909C7B",
"10F16B3B9BE9762F603DC156A2626D0A92C49D6788433292",
"65C75607C3085EE0DF99AC88FCB71FEEA3E95D1995027B90",
"A95A236CEAA6FE6A33DBD6B2FF2CC61DCD06B576D34D8BF9",
"94701D90637F543B83AC736D448D915AB56ACF688AA2A9BF",
"C005D8C2069CB7F291C7214165383ECC418999FADF197ED3",
"F02715BA20879FE16CA382F3F33B35DA09273F524A832CE0",
"925F4C6B45F07D01F1033AE426E554FE30AD5664F89EB521",
"DA89E876647B2B17B726DABF0620B5791B8D910CB9E7323D",
"A3817AEC34558CE5C4554B4BB652D52E0FB834D66173B40A",
"EC4599DB388F66C10AF7C24987AAAB6D02CF431602C321D3",
"D7BBCCC448440CD6BFF93D8CA1DC309BE47E51C823B85EBB",
"2CAB4F11BE0BB64B4F16F707DF30F465A279C6972FBCD7D9",
"12E4D1EF75CBCA5369EB440776F117EDA8B536A35C26F139",
"17444B27596CBC519FBC8F2B90D68D05BCF51608ACC3D304",
"D76A8B2E986EB16CD6121CED58295F0CF5EB02DEB60F98CC",
"164E3829B70E59570D2A5B24A0F1C67A974DFFF1EF5BF2EA",
"0EE8B5DD7E5A285EBE11965B574517B949C3487937453B2B",
"E3639D864D20ECB48D8C2B8F892D97A7FECF83937C48C2DC",
"4434C996B25FE43CA24746396E50C157139C57787675CE17",
"6D1693269BBA7630B6C083EA6D8AA16F0512F07C214251A9",
"A1D5C7ABDDF9FA51FB5C9AE0008FA953EA83063C93E49319",
"9BAC4A7FFF14B34F32F10EB2B6A3A61A13C255DB176D6FCB",
"C6BD779EE2F9FF6A4ACCDA2E33FD0C62D641733E414D5B36",
"F0D656506DE265EC28F1781DACB76D1C7575DC55C15A40DC",
"0E95FD14633037441CD9AFE78391FFE73AAFEFE532B8F7D6",
"AFA01B52D549FF4C8B6DC71BBA6CFA27E8EA03046B95F6EF",
"9E63417D3DF651A3353FB6573FFAED9DF4ABD7F68AAAA051",
"CE51254F812107B91727838B619D5C4F17FC2C3C9A95233A",
"89F63C422BB85635F432D4A6DC9F940D79E0B5E111A24F4E",
"999534C4B3B25F32FFF05B893F4E26CF8F1819FCB5B908C1",
"7FAACB92FEFD12045C77B4180EA95EE7E1775703E7BB4C3E",
"2BFEAD2B7E1C6BB0F47AEFB9909E3ED961EFB39A29794515",
"A52AE6D0221773E42FB042B7830D28A73A590562C38C802B",
"5B3007DFB62B78955620A0F17F58B6FE55B360C0F7A9F4C3",
"77883951F130BA75FED13621DC61BB766E475DB7751B0D3B",
"297DEB90367720058318C994C0382B83D182110797A29A53",
"0BA968080D4608C3BFBE43682CBBD63F246F866AB0A0070C",
"328F20CDFFD905862A11F70B6FDB4803133CCE8ABB8D2B73",
"74AC023139CF3557F49E2F8A674AD0857AEEB9EBA3C1985C",
"BD588F19DC358DC37450A6689E4D7DA413206159F3DD2A4D",
"DB626F5040AF44803156FF86860A1367B1B644B021C15460",
"ADE8785F2F65B67ED1740F8693C5A1CB3BFEE9E3B211B83D",
"D08599E7444393A3C5FF2493E1B6647B297708919163E05B",
"8AA57D3CCCB899CC92A44ACE801F54A13E60A45BFDFE7D30",
"3415A0699A0D14DBBBB2280A9C8E3C91B954B769CE606362",
"EAD03B5ACC5C86FC8672AE14330BF93A9489A5017D3B9354",
"7ABE3B7FD5804A23B937C0EF5ADD8869188BF842F68D21F5",
"739004F8FC7577D0BA954187F300E441F4A99F62E0F3C367",
"30D99CB386570F45B8F0EB75868E8EA9EC7DBB04C26D8FEA",
"7278F6E780965FB5C02AC4AC24BD2020D2439623EEB901C8",
"93E7E84B803152CE17491B9B9DC6502041DA4D56C636B4A7",
"32D63F3C642173BDE55C2A7E8BB6C942420C309DB2E7210A",
"CECC92727AAEE2FA74B90AA728F0D3F0FC5E8A42DF283713",
"51437CED5761BC3FCF29FDE5877675B5DCCABC85BC2279B8",
"F6A494D7241543CBFE2BB3C68F2DA9FD9915BF0A14BF82F4",
"DD8BE4ED5FFCF836C977352ECD2CF689BD94F9CF0EB66EB4",
"1EF1B22652B07E0039DC257B30E88A2FA5D3FC64C79C741C",
"775E4B0447AFD1C960320C042EF2AB6C879088956435872E",
"A40FB52C188AAC639CF9ECE72B978C812CA7991997CCC3D0",
"F6F305D3ACA46CEFDA5FCF420B49C9C13F14C3247E4214AB",
"2A5611447591A609BEDB9B99AF030D1548C25C1090FB7252",
"6BB8BF7CF510DF644EA1771146EC6E943E26598734BB2022",
"8508F80824415D97E468B19EA305B0473A915B996DC83A31",
"8814EE7A02164290EB431E70D50490DC2313BD30EB479857",
"EFD4A311C5F5093AB23F2C775577EEEE230643A75F7938C6",
"6FA980DE170E4708F4F59BA46DE0EA340BC61C540B0D12BD",
"C699821C7E342804278CA77879FFB9332F274530C673385F",
"FCFA7BA4FE1736CA672914AC98905FCF235CB82F10BE9981",
"BB1DC4CAA892B46D15C44125DEDF64C63EC4DE5B807F93DF",
"520F25FEEC8D698D31C164D291A54B906564A75B7B693239",
"772CB58B4086454862B813AB25EA5E33BE530D3DF48F8BD5",
"CBDBBF709ADE1701ABDA7A258528D675B505678E6B643FDD",
"A16CEC411677F88C1F751442BCDBC9F013AA1F4E829CFCA8",
"9DA04A1EF52DDF86660B9EA7D8AF385BBE6369B10AF2F3B3",
"049F7036F40FB51260E4B8CB0696EA03D375B401CED3E2C7",
"EEB8208784C4C65DA497729C948063BD9F51FE5C026CBC8B",
"F39BA71DFAD235C2E0CC8BBAE4CD8D5D1EEE9247086ECAEE",
"8372D7953F7697BE48661E3718196082B06EB448EDF3D839",
"D41785ADE9E2FFCAA5B9D44613CD23CD9C3A519CD9C89BED",
"620D6396A467CB957740B85D5D51E53279DF78D56D6CE8B6",
"89905029EF0112631ED9DFDEB63BA26235B822022B686D59",
"51AD7F7D9611ED7C24A84525832A2F8CFAB80F907C02533E",
"C645E4CF66DA4B343FC0E9221B4616E8CAE1E65E50195E64",
"38EB1AAA6CEBBE8A21EBBB9C0976D29F4089EE47ED1D1F4E",
"EDF66F50CD0F54FB3094E3412E28177A53B1CE56D0FDE4E8",
"11CD219A1E03532D2D4D61F1563C2AAA8A1586736FEB5CA0",
"01D50B226A3517A3DCE79495FE1410E7AB6FEEAF8FA24BB7",
"F981D517F259B363A945D2D19447378649E597A37641B911",
"B36A8BB7E4018ADB5DC72B4961501F9A5AD5931F5E97A6D6",
"D78D1E9D4682A0777A6EC0D8C2F165CAB925966650937F89",
"2F6D9783D5BF5976DCC31C7F00B9FCD04B6C16BE92417C9B",
"22B9F7C41FCE5A4638D6E6C61265B58D18C2D5FBBE33E9F4",
"37B7BA6658F835D817CB114D06C197D23C47708352EAC551",
"D8E97C4A5F14A1F595C041D0ED59C4D4631E7AB673484824",
"AC782146178A613B3FEA97DBF2018A6C7E1EE3789BBE2A51",
"11FD098F69CA3BE809474769C7DC6664A37AA26358A1EF08",
"93856CBBE6404B2EF9D4240556810833C73D6D049FCA47BB",
"C8466665EA45CE4CFD88F819D5C639777640B84D3D60C4BF",
"9B4834F18ED69D519D497AD84204BCB9D749F122A86206F1",
"7571A4B267EB04E445803700DB6A72242E1DE16B1677C410",
"2A6518AF7D1C26F81852CABD90366371783BE49E94BEA42F",
"AEBDEE389CEE275743FD1DFE10716DA734049874700D55C1",
"8EF1808D19882CCB413F4B432918984BFE61D3419999642E",
"26B8CC222AA5C53969D3DB6DA64743B71063AE978E1F5899",
"2B8FA32B543ED0E1A8EED1165806602675D21D4A330AACD5",
"7BBD8EB068F2EFB116AC6EF6FE80BFB0E8023702D17EFA6E",
"344265DD1FEEE145A37F268EF0877581998CF323CFECECCA",
"9B606437205BD1DB249D3566D7AEE9D289C9CFD0D57FD058",
"C28D239C59BD76719345840E7C491748FAE7FCBC5EEA6C51",
"BD1EFD0CFD6283ACD2A95B1DAE33ACC47A14D21AE3A74DF1",
"B0EEE8E5A9256A73A98B641F3D29092D2F1F1B75509F5455",
"C46B3EB0F3B3C6D61CF0E5A263D4499A91D68055B1EB4996",
"C14215E03D57E2D109D88F48500F0D2332A819F1716D8885",
"DD38ABA719EEB2B7B78DD4455AB2DF07A5DA8608BC8250EC",
"1175351A36F8F2769BA8A206185C10B241189FA4D6220C83",
"208DC327BC1BE3B55EFDEFEF89776DA5EA979CA479CC970C",
"AD80043313C929A421495430561C49F0613C195D3578B518",
"8384691A0DCADD919AB610D69A4C478A582525D5C48B7F17",
"2FF93D872E9E6AE1783C0EF5B1AB9510050F0276563BA02F",
"D3C7B2D23986E191D95B19810843B63360578024F3272DA9",
"29F56FA57392FF312289DF4A88C718FA56D2C3357FE6D0D8",
"175884C528D5584EF0E0AAB61660EB9684242F00F6911A24",
"F5D5EE0BFBF2186BD6CE3C63A9E19852EFF62D39E8215068",
"6712197F2D9E424139C93292E9B684A11579BAD5546A9F99",
"EDAFE550B5634A040E23A008DD3B15C476907B3CD596725B",
"230EC8B2DDCE48BB1ED8928509CE6659981DB303813C7031",
"02371A2CA23F8781DCCBA0672C979EBF0EA8F17F4CAAB443",
"E0EFB4CE4025CD25C760F9E822F954D6B38319E71ABED25E",
"2030785CC6D18999182F7B6A9BCA9F72F86829F89B306C37",
"3490EBCD433D9FDA74EAAD97469345846E190540C6D82642",
"A9C3E5AB60F1666619A899B8F3AC2370A5BF2298B99BADBB",
"804320365682196340806665DC55299041D3BD85728BA0F2",
"53A2DF8B0C83C7120BE2A9608F1B5A4528BEFEC9D7970487",
"2BCD607D529B39E1429F0C54B94ED78F826389086C7739C8",
"0C466A6ACFA584D239367547536323A32715D0DBB5867B0E",
"2FC3EA605A33AC26E78D8CA19F98CE7B5827E62961D89212",
"8761107DC3785DBF710BBBEDE5FEABAB6F175A5ECFA961B3",
"F123F30881EC794674403328E3CE7C80BC95DAC12D7B360B",
"341C9DADB601F2781F6ABEB933B73AAD103A81E8D96F6730",
"38E53597534CCF0E60DA817C62924453E193D61861043244",
"3DF84CC5EDC3D732948BE841302B9AB708F5AF33DC537A31",
"B546891818224B14E90827757DE18BABD71449E57F8FCFF1",
"A7D6E7A48C1C14CD8DC58D7EFCD4FC8D407F15A1D4AA41D5",
"0B178B35A97C06D9D4D2A5838AA867BFDBDB36D674AF33D0",
"8C22DFD72E5ECBA3D0E0B54985D01223032939E7B7B33697",
"A52E67BE70E116BDF6EB61EF225DB94DF06966203DFA2E31",
"4AB1B7BAD46AF64C8B6203A8889CF56A079F18F688790896",
"65D1A4BF8DBA94C9752913A4C15FCFB7F18CCF257D48DED6",
"090CFB92322D482D9D8AAFF716F10FDB491BE0FAF50C784F",
"94F1F66FB01D719F04D36CA30287F7E534DC31B0D91CE1FE",
"D8689D811424A59B870F84D11BFA1D202BF57896154405B6",
"D7F2171F5B7523C54B4D1A81BB6048C99CED1E15087A9C49",
"94DC8F6AAAD2A07CA81191B613291EB06EEC66A1B628F9CC",
"534D75114EB28DFE082BBA4285ED30E55CBE4864278FF182",
"F5971C8523421B68BC3D9FCA5ADC5D2C76CD0C3797232950",
"D274B834360952A27265C12C2B70623CDCB69C4815B8AD9E",
"D25074898E465F024B7D5AA542575176B885998694BFF162",
"100B09B1A2778E07F0DEE2E6DFB28D032FA35D7EBAB2E87A",
"96FE586BD7D472FFA884C5724561D517C1126957FB190096",
"45EE36AF320341688173D7C41A7615BCCD0A431F834EFD18",
"F73847AEB45D714CC5756DBDEE00A9E580EF91101AC8FE64",
"30A56E8B8CDAD753A854A1BE4B61DB04F303B6CFD0D76522",
"1BADACF65A1F790B448DF08A100E66CDB8B404DDC7865016",
"D0DA13AA2AFC006A97C537541B505B96CE798BDDC07B9D6D",
"FB4170AA2DBAA3844FD8485D4325BE987E2E589B58AB3B80",
"50A0FE8090A0AA2EA503CD40DBE894004852584FDE11E3E2",
"F6311445087C56C3CA179EF211FD32762134EDC910D9270B",
"A292F008A7BDF88E61FF866269A6D6F6AC9A81F706D57C27",
"700C29CF917F3634215C58B9B3B9C147FC0AEA52C05B2841",
"2071C5313B0EA39ECC258AC29ED6E6CA8E0511C726A528A9",
"AC6F08712123FF72E9C04D1C5C343BC2A356DBEE9223B8E8",
"01F46A7935579B7A7F5CDD00B5E7F1D62C37726F4216DC1D",
"820320BBB243E30FE35395FBFAF46A5C8C0CA41E4B48A80B",
"4B3365B4AF9E0C1AB703F297ECB82F9DB6ED44819DBC72F8",
"DF69D9A819C4E27ED1B7D66678FDEBD8BBD1747F892D2B55",
"C0F17FAF958767C65EBA2F68EE245205CB1BB73290AACAB6",
"D62C3EBC661115CDE4F4BD646D745ADB7225304D2712837D",
"37E9A837E07B12281F4740D8353DD6008A077F6EF51978B9",
"9826470A5ABEE6EE66BB799C9A9206703174AB77AA6223A4",
"506C60EAC24C18D955364759BD8CD522157AD658C7B1652E",
"110923F8A4E154057211F273FDAF0F565AAD0A0962C4E08D",
"30CE0B97A6578CE2398BF04E63F78B2CAB5DC97A140426CE",
"3AE75A6039177B44B18B2C02EE148388F93E6EB96A989D3D",
"0DE8D7C180C5FB4E90ECF4165EECEDE97316170B7B00D681",
"A1BA31195FF34A411C5D9A72A84C83C7BD7C6C777FC7DA4A",
"1D7295FE7B297D4B752159B7DD71483D53C7799FF82054E4",
"F0210F4416BE56B157EDC9A76684D1F1653EFA6B7D06079B",
"311229D7C5AADF9CAA0DF39E441D4E119D0B3887194B9751",
"7E5E875547284EE4952C250DA3BB4E3BBE59086FA638CAAE",
"890371D12AF03062698C2F4F5F2D7272DF652EE99C4233B3",
"BD3F48F09AB50132242F762A61904E945CD3628A925A8B82",
"6401C4DDCDD7441581AFF57D13C1198FC2347D886D319FDA",
"2446A367AABBDEBA9EFD1F8CAA9805EC1A9B45200A90E2C1",
"37C1C64324D78E1F7549E6169FA66D492184F3A5A524810F",
"91A620E120AB9C4949C6D3E27A856F079F76DA00D56C3A22",
"575C19C550408D8454650AF1739812870E371BA8F34B6861",
"5AB6FF5B263ACFAB2013C3068C03A82979EA6DB287A3ECDD",
"BB40E88E5DA7D4B12356124D9ED74BA5283C502FC68B5A1B",
"CFEC678B1CD75F4249D536C9399F11C12CE9938EE8CADCFF",
"8A26E3715E0471DD3616A9E505F4C73722BB42FB233BF641",
"ED38E1AA4B73AF6024471252F8102E77ECBF4BC315DB1C31",
"4D5E37A37AFC8C7DBBC25AF2C6670ED2DAFB56B5376E2550",
"958603BDA98C29A87AEDB0C1C8F559D161EA4FCBE9EED392",
"A7F58251627E2C4C82ED1AFADB2FFF3B3483CDC279117E1E",
"4B003F86DA13C24E10041F934DC02EAA9E86C4200550DE8F",
"6139AB107BCD192E8419E869F77738D2624BA81FD774828F",
"15E286064681AB50343CDFD1E178F6DAD9071E3727997DA1",
"95A26E99BFFBB5D0027B380688D3E5C567454F4F2F283C41",
"45326511C3070AD878172A7DA38D17ED65D17BFFB0298058",
"C127E412181EF4734360466A38245409E44B2B208FFF4D67",
"4C9A55B7BC50B8D7343F1FF351F13A89CA53E8AD2F056559",
"9B93DF18074112C26FBEB1EA277070EF4D5A1778376DC12C",
"79CE5EFD59A9A0ADBC3661F278B3C540A0332A9E8FA30E07",
"886F0AD49176EAF30EA422CDA7D1061AF2D62DA67C672407",
"54C7674DC49D49E63DD7296241C3F2F0B022BCC0451400F0",
"9DFC07C61179B9DEEA1D452D3073C2A12CB0342EC8FA25C1",
"E9C6E911956A0D7C3958F4E0252A4DF98FAE33AFC834EA10",
"9DB1556485B4C5C67FC532C4C6937AFA3A889FDB09B055A7",
"5875A1A391DEDD84155F3805A81EF68AD288A9E77DEB4324",
"5DA3FCD577895036D0AB8D6BC654C59E76C0312C81F3A374",
"3DB3B9731E66FEF6039A2723C7CD7814F2A5F8ED20807361",
"C784C70B8F431D8AEA3F5ADF2BA55AB4BEC9C580558CD0BD",
"B256AA37A7DA84F3599B338E2B853B92ECBA5FDE6901B620",
"1CDEC1D10BD749090B1F491A4FC8E2F8B150D64F3215CE8F"};
private static final Tiger tiger = new Tiger();
private static final String HEX = "0123456789ABCDEF";
}