diff options
-rw-r--r-- | checks/bench.cpp | 1 | ||||
-rw-r--r-- | checks/validate.dat | 935 | ||||
-rw-r--r-- | doc/api.tex | 2 | ||||
-rw-r--r-- | doc/examples/bench.cpp | 1 | ||||
-rw-r--r-- | doc/log.txt | 1 | ||||
-rw-r--r-- | src/engine/def_engine/lookup_hash.cpp | 9 | ||||
-rw-r--r-- | src/hash/fork256/fork256.cpp | 149 | ||||
-rw-r--r-- | src/hash/fork256/fork256.h | 35 | ||||
-rw-r--r-- | src/hash/fork256/info.txt | 5 |
9 files changed, 2 insertions, 1136 deletions
diff --git a/checks/bench.cpp b/checks/bench.cpp index d3f9be391..70b8087d4 100644 --- a/checks/bench.cpp +++ b/checks/bench.cpp @@ -105,7 +105,6 @@ const std::string algos[] = { /* Hashes */ "BMW-512", - "FORK-256", "GOST-34.11", "HAS-160", "MD2", diff --git a/checks/validate.dat b/checks/validate.dat index ed5723506..aaeb7f013 100644 --- a/checks/validate.dat +++ b/checks/validate.dat @@ -47959,941 +47959,6 @@ FD1A64F7BC61608FD054303AFA2E31608AA3F3788E3034821D63A0288A70B573 2B5F61CB57F94E7C7E6D7439FFF2600286658539\ 88224E0AD8C08C2FAA61963C8F761654AC529325 -# FORK-256 vectors generated by the implementation in Botan; there is only one -# test vector, and it only covers the compression function, not the entire -# hash. The implementation of FORK-256 used to generate these vectors did pass -# the one known official vector, but there may have been problems not found by -# that vector. -[FORK-256] -:E6A3C4881D6B1EE37F70847D9C8424A3E2AC408079570ED5ED9D20D0214D7599 - -1D:90753CE547CE7FAE1A736D6D38E8C6F14D93897D106FA63CA32BFD1219E06A62 - -3E07:D5C380F39876FB9836D492ED520E2F6929C302133BCB9F2A5080204DECE3583A - -A8F001:13428BD3C7368C8EB0B890A0FA3461ADD5202FD23257EEAF1559079344123046 - -EA8F7A2C:65DD3204D3C9E9CE5EF21CECB3421F59351D5ECF0B928D199887BFDAB1906A0F - -2E19859C9E:DC5DEF85475A372F3E16A0893302A3C77218C4EFBCF6D9331DB7A2D3CEC5E8C4 - -2AF0BDBB8363:88AFC377D3630E6B686EC48F9030DCC78E64F7DA1023CC34D49F01861487525E - -82F8A36D0A7979:\ -9D96C6B2ED8B50A2153A89BBC861718C4744547F2AF24F648235E553BDC03E13 - -78F37E4B9235DFFB:\ -CB3367A41C64D73EE024FD9F9BCB59ED66F6F9CB370BE0354D9C6ACFFFEE5D6A - -FB85C864108365961B:\ -B657CF6B34422A945A870FEED5468FE052F046626A4D9EA8DE0F6C9837E72429 - -793BA844BCDD71B1B750:\ -0371387237C9300AC6E4CDBB1E33904561225D3DCBED9E9EDDE710BE34C72084 - -19781F1B1394459A3EF407:\ -B53815CC5F494D0983475EF4FCA87AADA732D10DE1E89E62BE397BEB53496545 - -55B5FD2344A64809C7608A57:\ -3BC33C0FFD68E3DE47D5C1E85AF732C94EA390999B0D10C428CE655A023699C6 - -AD14F3D82E4349DC3B8C1B2A9B:\ -428111A57BF802669AC9EC7BAEF3929036FCAD03979F2151CE3F8C19B7430529 - -7C6FCD56927F530DD8E27C661ECB:\ -098FF664FDD45068D5B51F2AAEF738BF35AEE8945270663A179FBD8C62184D97 - -270303C1B3E754DB1B8A388632B79B:\ -BD6E8FE6F4F0D67FE6EA76774F8049FCB3E9FB9C490467CEFAE793900AA86C2D - -70B7BAB2A9BB809F9A74311B562BF43D:\ -611DFAC246B16D3D6A359FC580E477D474751C24A78225D93009A910BEFC7A5C - -5E01E5540B5B6F371F642D15B4F412C190:\ -DD75FD419466A998B7B460E093224A7DD82A630B6E88BBC8437589FE68764E4F - -3557FD9C93B37B3E484E55242105EEF9EB64:\ -D86D755CAF29D6DD1E339F4F3D8DA2FCFA26FAE62FF27851F8DBBA942DB8093E - -C851F162EDFB2E5D9CF7BEB5369B423B049120:\ -10095694CF4940D5512FA27975FADCBEFB4F96C4DA321A3F35F6B24DE2A2C879 - -D5DDEFF9F8C8921DCA1820C4368F28C4945B0402:\ -D0235CA1FA883DC7BD2F8E018FC51739FC644D49BD9B6FCF0D4434873C7F466C - -8F5D3CCFA13AE2710E293638068A8936D9B2887D8A:\ -5135B14FD4DD8BA1BCBB0E613F71077EBD6B41B0608F495365D442D213ABB5D4 - -F4247F6724C9832FF65B9D98EBBC091241DE8C9CDC57:\ -FD9A2FE9D7D59F793BFF7BE343A6EA70C37DAAE0B0162B9BD8050DB99975DE8A - -C8A3DFBFAF08F34B258C6BC33E826ECD5F808CEEB88E43:\ -CFDD70E8344315DA659697E6B929F7E5410BBF2BFAA46D911CA4D548F6A80648 - -3F40DEC3198D7EF8D7AF8DAAA86C6246B464BCE6878D7D91:\ -A6A0D6461C505C70050235F89E88EC7C0E6B3DE130E198E2EFDCE562D4E354A9 - -5D61E8C5431A0578175AF50F2D0D27D41D16E1C397F73EFF15:\ -DB064D53411169A3928C8C7B62CA538BBA5276FD83E93667195735F88EC4A7EA - -8DA080EC9907AC188208DED4D7F634DAC6B1382AE3BDB721B665:\ -ADA78594D6230C9587F0EE87F17AA21CFBF4C82DFDFB8473A8529F3DE6C14895 - -865F5D01E678E4FEA91ED39B8B9B1C4B8B17459BC4B4A3D677BC49:\ -2641A6AA41499952DD1ECBF5AF4426A4DAAD233127F3AC56F308B2E9D5F25B7B - -D787FFA504B1470076F898CC0D2CB65CC23B5B02437539F54826BA61:\ -D29DF8910ECE7FDE01B2FA5D8641DEDE6E8DBDA44143ACC58AA2CE01D2406455 - -595199257CB4178EF928983A6E822846C1B024328A3B1FFB6E242E3661:\ -AE72575D2EF2664C75E0538165AEACB24B80A3B28546096DABB2642A7AE959F7 - -5EFBD43D66A7A1D23382E1757241AA5679B4C0F9F78419985B65D70A6E8C:\ -F707AB7EBCFFB3F78EF1AAB7FEB832D2651E82889AA95FD02958F326AF975D93 - -32C2BF9FBF3871314F84F17949882E4BBDB530C8808FB58648BB811ADDCB8C:\ -8D3E1FE5840130D141A68991C9321719F4D50E13C52ACA0BBF6D218773871544 - -7820ACB94D6A8A2E7B7273C6C528E2088F60B6E57CB4494BDAAA4B7877202862:\ -DDE3C2EDE2D0AEB9F80FC6F8C54CC6A108F5F693EE8EDE2C755AD20FCF011C1F - -A14BAAC3891D78465A9798ABC984407072BD209D80A7550DB1FA63EB922300F43B:\ -FAD764D75BB72296BE85979A4F57C89E51D9AEA8280DD87D18CA5ABFFD3553A2 - -1166A4CEBBFA31E715B19FEB15D4FF84C35112E4876D7182E3EF97147606760FD23C:\ -57B507F04922E9E2ABE3D8DD8205579715AD0276F2179360C092966D3E335B1B - -AE7C2882888543E7206BD57350F33985322DED8508BBC70BA961C3ED35075CAD439732:\ -DA545CEF32F141181F07AE275FBFA6C9D8A299FD40660EEF3C344657EB22E8B3 - -48F1A035DC0FE6D0BE1F2D1233B08714D404682DD8CB39F66E8FE163AAC79F7241E9BFC6:\ -20ACC36E9788C4E7484BA8C166E93953124F703ECC15369943BF81AF10062D2A - -ED596E8DC5A9AF7FF123D886589592D5FA0FF86151B8634DF4C4C1F1450E5323D6228BBEDA:\ -6E85CCA98D2CD2591018E303330ED12F3434DD9706A1194ACA4E60866F78291B - -EABAEFE3421D3BFB668B390430ACBA72E4EE6F2C92142A93F0BAC595906579C64E2A3EA33D0C:\ -7A7564C0053A3630FEFA5C3A2DC80B99341C05903BFB6765777112F96DE7D3AC - -F71C08AFD45891723E61BD9241DAC454A2333D2ACF21B3848EA47BF01FE524E4E6E1D47A635A\ -F8:04A03842A1E8E916781CBA312A65C3C99DC949895CD48567FC3C836F39CF8EEF - -E2895A841C03629710EFB16B6C921E31B86A882A56C63914E631446A91FA0092A2AA570DCE0A75\ -2F:737E62D552B437F0E46EBD69A2BBC3B8AC4A4992AE64830077B8E0A9946B0454 - -002E5C6DF7AD9BFF9E6E08AE68EDE886B39BF6365CA081A25576741708ECB5B64D80F640EB26AB\ -69F5:609CE0C785C2BE58F1E76CDFBD903C48BFE385EE035C7604715CA86EF9B38D1C - -FEA76D123D4EA976912A521763F6588E56D694791398C6DB760E5BFF381A6506EF4280008A5948\ -5B5943:53598D2271C83D3238AA9FD90DE0B5037525854770337FEFBA0FB636A1623E1E - -AD53132CD9C61018CEC4B07278D5667DDFB4EE9A839DBF584962D1880345951007DEC5E0F52FFD\ -9AD0FD9B:E8FF3DDB2CBAF8B220DEC63B5F1320E02A47A5ED02297FDE7C0788E5A7306082 - -D11C82ED861EB312B69AF9A372B8F41D0BD9B0BF2F03D9F1F13D54CAFC475B97C39A169369EEA0\ -D92606377F:544180FA5E0FDA3054596B7ABC0C6B7F0CF5ED755C5C490E7C93FC00B4CB0C8C - -7C438726B3E3AC24D06F1AC23494F030655A4E5DC5D523641B0BCBBD8339B3DD8A0632520BDCCC\ -29DE6654B5FE:\ -5F00EC9E215EBC9F7669627B6C91FEA12DE0E4D475F49AED7EA937AF490A599E - -9D934509A19691DF7555BEA1A244AB503D278918AE8A0D984300CDF5ED7962A8FA5EDB01E8D38E\ -830976BD4F6800:\ -40135DEA3BC67E8C4295856C8B30B9AADAA904A5106CCE597A49912DB64CC8E0 - -9C0EEBCE97B82482CF742A88F3671F85A84239D70A9A03D07B67876FE7C103A787A941955D2149\ -662F57CC29C93ACA:\ -8EE3D2595A3427BA24E14D610246CDF354FFE1704C42B1CA50B22E400AE0321A - -D159C512621C4E59F0F2D63534E62E66C0AC8665F37FE51213305598A53148A28F410DACAA103F\ -F204372EA0CA1A0023:\ -C0148D8A4688A49E35014EBC61786F00743788A4B9529C2C02ECCFED5B00BB08 - -89724F1F0A6377DD6AD938CDB297F247BF09CEFADEBA43F5769799948D6D5D160DE142A7417315\ -6FCA9A237573076D1655:\ -4DD08B4E2401168ADEC0E05A341EC69A27890D0DBE48D898C9B657AA6D753860 - -89308DC7FABEB7E264E283819D6742A1FA9DFA076CF7D607D7B10E9996F3C1349404D01737FA32\ -ED58555A00935F54C309F5:\ -0D8E3B5C1C8876DF9021ECCAF0D0221E4F156A9EA75624335C39DBD7F96960FC - -41FB354861A111C2169C18F5E29824E0E80A47CB8C30D828369C6C2456125B685B8CF11D092532\ -E844D55C8A492D660504C908:\ -4BF1967D6772CBD680C01F244EBCDE85EBD402E6CF9B5EBCE8A00B0733D09132 - -3B4D0D2D8926B376A5CE3421CCE1F4E5D4A1818ED55996CF2EAE935D0E41CA7621CC009BE7FDA4\ -AB371594177DBA06670A521321:\ -A0146AFB474623D6559E8011E112F1DA7E3F0140327B2C8205899C2A0B611022 - -2175F02F451F59DD84156218AE9A949ADDC0428FFD980F23CAC66570160637A40819481F528C62\ -A4A7F1B5A092C7FB4B9101C5E8C1:\ -44787DF2F8F0E4203E3EBAF8304744DFBE6DF6D53C33D4BB6B9A3A40766A2CDE - -9F836DC75A54F209E4FE423F6C08A1E3565732E8642DEA0C17E59D27C63A8ED80C6E18E48DAEDC\ -5FAD99E27DC63F426C6F6BE02EE03B:\ -0379CF92A8627230F274731CB269E5DE24A91435D39E7C461E9E0AEC9CA1C30B - -FB1678C2D4A5262046B0B7A9B11B5F069E4C0297C1698DC6766AEDF936303B3DBA1FC229F1C1F1\ -FAF54A32D72400514274A741B7AB3F43:\ -08826C3E6319A2E9CC3B23E0ECCD3AD2CAF30640D1250158D8E4ADDB46217AD5 - -24D4117E61379F5E55CC6C311B140CA4FECC300909BB3BC05FDB68B961187F3DE2BA18FF7F4522\ -012DFA073122902D691A824F6EF08AC9E8:\ -36D90AAF4107C7790231FEDD5332027AA45540908F7881BFA6DBF6CA26CD220A - -1C4052964E9796FC030EED644C4661F242BF0AA3D2E93141B85D0383AB29C0025FFB160EC413F0\ -4591B18F3F892639EA57B5558ED8DA358961:\ -CEE495F4969D81025AEFDCF40A20E54B060F13B755633AC2350569DBAB97BF35 - -00743CE2A53D08393B32BF3F8EEB081FB684DE4905834AEBF966ADD0EC484FD5F0D15131E5674B\ -15380C11554EF823838D931EC010BCCBF928CD:\ -BB7279D1120515D472EC9CE71BDC32BC7CFE8F3BA7D5CAA371816C3AD23DAAA9 - -6C7D10949194F2C22BB9CE620FBBFDEF0B61BA1960B580BCB29DDE81A3D5F0BD6722046191823B\ -2297CB1017503342A353D2523B427086BB2DF313:\ -199B856E5AD193591859688E316E09D6942582DFA984CD8EBB8FA262920F2645 - -8D2789C6885A275FDEC50B7B37065B6F681BCDC0030E1C582BCF3247133D293834443A3FEB8F38\ -8D67C729F92633AAC54CAF6D8857C1B0FA151064BC:\ -FB6A7F1878E278BE80564FFC190097724A870F09660FD3BE72878713BF13E618 - -1235B88BA03D232060450C91F3374A44FD4C40A03BEB54523AF85F7A5ADE59E31E23AD0B0FAF7A\ -438D5F3F981C03D2C900BC2A9C5B1B979145ED3C7214:\ -B8089EF455C50D5F3C4DF616C032E6A593CE74D05990FFC9CCF5BFED8C7B002F - -511DACA4F9FDD439D14FC91E3350CEA754E8B32E1CA9B45C27006967D86C2D5A826D6606588E63\ -3781411F627127DD135DE7CBC03025CC34B5601D4CB7B5:\ -CE0F3874027B7573BB829CC054E63EEB9EC46BEF340213DAF5333791C3D3556B - -08AA26D82CAFC07026B19DE0EE09D74B84C4AEFE969D60F76B7A819E4E8F1CF8A687E2E9CC4124\ -041DE331A4D078D836881C430101A89FD89BCAF6C3AB425C:\ -BFD882A8BA5A0A22CD63466958A9C169F40068ACBF7514B71B79438855E004E4 - -530E88B454E963D5C46F2D58713BA9CD1792D1B262BC4696BF8AF0451D4E34555F7CF83C94B7D6\ -ED1FF924603F80F36CE994A41D308F5D4367C895104BCB1E7CE6E16E6EA1991B245851BA28D915\ -86FBFA9B295EFC15C5277711D738F8B061ABC5F8A2257F85F4BEC0E37B53A42B7A3A10D11370FE\ -B4DCB29E6C0E17E15EC41BC695C72B7200785C7B3DACADB7682441E29DD3D0029AAB241CADB2A4\ -DD92997A93BF01DF6605A8CB776789F12A5D402A1DDC4DCED50FF449CEE65EE7296E88D61758A9\ -7D0DE90F9CD9C44D165C504F61F32800CC48DE51CC1FDB3CBC5E2C3F200733B2E266049945CFAB\ -F41A665A3CF8C65E13D784E3C5D40AFDB1E1526DA87B27035CA65CB368457E627A6EB5962DE24C\ -FFE29A723F03A7A0409BD1ADD5B6A2D0B39C2372E29686CE5032CE1473CC1661B06A3243714265\ -698667B7BE6688922676AC9042AB6A1785D732B2F4EA288DE4AE8CEAE26DE59231FF04ACFB447A\ -71679EB96320B22BB0F730E17DEB159B661D8DC6D397B5C9ECC722BE2AC48000B830CF7DA06572\ -8138A8EDFCBD04E97E6915825CA08A7AA4B5BF96CC2FCA7E391222C6B3247830E77BE9AE10230A\ -2A97099A4344A7203F47689418C72626435DCD59208E679C6B387AC88B39D50335E3479FA62CE6\ -94E4E3CF65018A0938911BBCA21A28C8B54BB43C42B9A868309428A89930CCD71D74A425A30578\ -2CDAF4847500035E53985472F4CA1C4A78240BA9DC9E2E4FAA636871D827B02454CB8C209F9F2D\ -F5D7A62D3B720CF9D9B21B1FAD6FBB34FB6B3A7E89014C54927044135465F0F42AFBF6E77AA6A8\ -498B7917D130DE7E7035577BA4C9F6400ED183767155348A9A2C1A4BD63D1CB9ECACC34ECC2D80\ -E2CA077B0B53A9FDB225624E6774D3ADA17688B6040C53D39D3545C4B20D6C4A0432C18B0A1E3F\ -3AC14CB7E90E4642A1A890FED7D8E725065D52C8DA6942BF9CE0916F3538EF63C327594940BE98\ -7F36764AB59BB6B42CC4C42DC3F7BE7DA7B8AD1DA51462C0A72B9ACBDE65029B2DE0809C1AE230\ -B76014F42A41E1B7B3332851DC46E82704B01CA0F1417539AA8C0BAA547838A6443826E12CF993\ -C891BF6F303C4C20D2DFA07DD14B7560C608CC3B8FD8AB7D825EC2834D08289360B613C7F435F4\ -78A641D7DD115940BF1C5200D6DD54F612DF6136DAF5F95FF6BCB9D9480E60BC8020B9C9154B25\ -4860EBB4FD3112B33A18FCEA742487D79401CBCB07761EC3874663A4791D5508BBA41CB14BE22B\ -98826462194D7943C61E2C3C01A8868E121429B4C49D9B42EFBB10685CB6AFB1B11EC17D7CF2E7\ -1482325F3C16F9C25EC3FC7229B4DC3F82162E3E2E04DFA670AC617E4274D73163D24E43D06687\ -47D1017948E4BE0D0722B6830F415A409DC7A2B15B521FB19790B9EA07883AB000D13AE2E6D62D\ -99DA32577B6037338E5E:\ -06308BA4E79A2CF117A1D5BC027A7492F50138FE4750DBF51F08913ABC40CCE5 - -83F47CEEFB4E8306A59CEBC0BBECBB88174E17497C1BF33E9047B74D486A255EF79F1555E8E889\ -D0311CCA0B9EF678D976AA02103EDA58CA7A33CE9B7C994348A1641B3954FFCC1AA97832248C47\ -3187D69CCD10A4F553CF73964DBAB05006F0BAC17226E7E98DA3FFA0B8A8F241FFE54A0FD5CF4E\ -B9E5327CACE16B445A65FCA2CF6F9F99B000B0A18D7F3634A00AE49B9A79753C61E3C1453C6C0C\ -F210D6FEA9EEDB12D8F79275FAA4438B765DA316DCA0A8C5E084BB422883C2C195BF49130FFA10\ -D291D69FA362E2B96A6E2A4C9695154BC6A4C4CB194420D3AFDE1035A2CF57E54FACAF2DEAE3AC\ -790A0FEF68290DEE590DF70DB61AA7BB94015F18E6DDFBDD50602110D7FCB5B97612E6FFE5EC16\ -CE738BDDDF71726972E80860BC04CDBFCB67C5AE91E7F4F7913C16769A043F46A986AEF327C5D3\ -FE4AE2525815C162565048D99C559A8F0E9DF8BF88E178E339AC39EA836A9652955B3F440E090A\ -D28A8E14E29E78711A1744E8CAE85F55FA7EC643F4CD1989323F0E049A3BFCBBF254F2583361A2\ -798BAC6411D1FD837D7B64C7A7D93DE278E1D8562621D8B04BBD0CD4D7425C6FA909B3A6241FE8\ -C1A8D67FE616802C69694A318A5D47F97555458F753A960CA9A1DFEC13C8716EAB62603C07A10C\ -67CFFEACE6A1D81A4C4558258C8C14CE75961482B2A34BFB1C81C8474151434186ADF205855DB5\ -F5CEBCB7280C4C9D6CF08167DC2B5B1F112EC3AEA996953465377DD883889D164DEEDD33A012AE\ -3F474417384EFB98D8FF3B757F2B8A8ADE184D443AD1945C14273D4733108083DAB38811AF3708\ -79F8702780D041238B6E5D4AC6D5506AE03B5EC0C76CC16C15E33EFFBCBB877151AB79F2F13F2C\ -AA51ED3B441B7AD204CD209AA19E569B7B5D67EA549F70572ACA4CDC3F438EC78AF5C4B832415A\ -CBE71E1E918310EC9685595F1A62FBA2BC7FC933CEBF1EA6FC00151E33FAC0BBB121C168E7AC9E\ -C4F78B18B7A122D1801298C5D1268AA66CEEC75A5795F3048E6763762C98746CF763A2AD9E78E6\ -30D9402C482656223F21958AA045CB90027338858363EA97A639F239963A8D76622D42E069E813\ -ACD776879FA1344A2C08522D0B53C62E4377FD8504817778CBCCD074099E097A2E361F138FF7FC\ -B60ECCEC6029549F0489022379145A5EF7A7781A1B201B6012E125F9969D57459ED08D21773718\ -AB2B58F7EF41E2FF850AD8194D37324F59B50E85123AA972AD28587C526F05D81057A6BED26AF1\ -E174AC90645BA624287209AA108C6CA3FC6D3532AC28D8314939C1E320A04146D0A68EAE82D5CB\ -8B368E69CAE0040A33BDC3D0DABFA26D70E99D4A40E7675443E22FE51FD2FB5AF0091060DDF96E\ -4C4024D1F1359A95C1B93CCB25DDA483363AD73C4FA952C433809B4C1FC0F3D140E3A6856C9CEA\ -46EA438CED188E0BAD7BF4:\ -226404B39155EC9D9CAF51BFC6A7F0115355FD83104FF66FBBDEB5BF0370EA99 - -70BEE2D1E703CF4D8872E6E63BFA59A218F8830FEEADE6D2412507386C9CC90EA83312D4565E84\ -9CC6FFFD58A90D3719D1C0AAC147B20033E9F40E515CAA938453CC2EA6D848801B8F6A31721334\ -DAFEF40DE5C8E7C33B1190DC6A33F66CDA2D7174E2CAC423C96DA4BCB399863760EDB44990C2F1\ -D0031D56A9DE624FF3658FF14D33CEF67D9752678A9F18AB64E4551EBC54F96688856AE25C13EA\ -C5A2E92A43E32590509705DA31F7B5A750E6D493D6F3BC7CA0F5E9B1782100E9BB6A4DF4E5934D\ -97BC0D75C1A2341B93024AB1D997F270922C7E2A8D1F6F453FF2C4AA73C69A4D16B50DBF8C1FCB\ -27B1002E4EDD5C3EAAE1DE241214F2E50457551EA42A9A6D515B7224011F9F51D20BCE07FDC533\ -080AF6A0217A2F679D60FBACCDE2659F637481BA75FABC1E224C52B77F74379BDD6002AB917A8F\ -77CEAAC83B134EA14A5AD92780C84CFD08CE4956659900D9F57278A2F074648AB857089F204150\ -899CAC987F522E5CFF41C2289F7DC079B1E7C9F10E41E3B31CEE52195B3E49AB6C4D2B5613BD0B\ -BA01A76E824408BADAECE8BF22AA0469506DC88AE469AD679BFA254ECD06C99F8453B720D4BF05\ -36F3C6272CB8FD8B0F1B995FE75E0DE6DCEBA87EAB8C822325951FB024D0230A569E4CCE190F72\ -A16637A3D3865D33C0ABBC0A3182C915AAD6B4CB22A648703F164026481E6505C6D80A5C7BFC0F\ -32557704563399317F1A1DCF0CE425F20E9290FECE77831D60FF3472874C1F4BDFE18A0A00218D\ -0B428EC195BB221D1C49FDDB68039980AFFE6EDD7C166E944AFB71499CDFC96EC95BC28DE747EA\ -72E031E83D8405A8DB1B6AAEAD15087FE75DB7471E2BC49F9E9418C6BD52B32D747B2ACC1F0F7F\ -0B21EC4DE2879B249D6FBDDF5B85FFF8A4861FE7206F9F84F5B761398055038FC100794FCE09E9\ -96794DB1CB30FBFAE4B183D0BB0D1C10920DEA7B7D3234F6FCB682375D8C36401A9F67FB3A8615\ -E3F649B7AE4D6586865A1D8CAD6DA45B694977B4F378FE610C4F943D41A223BC7318ECF98515B9\ -2168DCCBA7411AFB84AA6E35C473D6F595ACE62336AF52298040FEB2DF462FA30E039FC4AD80AD\ -D3B420D8CE0675E0DEA46884AAB203699B65DB309E71615728A44E80EAC271541C6D85A3160C7E\ -5274F624DD288C387DF342619B751E15615E464249CEC80FF132FFBFDAB5827CC4DE01FF506F29\ -CEABD8DB256DEBD26D519F6210E3956F95D7ECF1E48DE31839360C2985815348D1A451FB4683EE\ -5C06C362725C97E8BA8F9926691B32B38441D49B4032D9239033A72288FC98B26BEE3461F6147E\ -1C6C1D93A4B857E53A5B9B25AE03E5741C673E7D1757B165F36B21170A5B3B9DDACC015554E132\ -38B987DF9F236A689FC79450CBF3B611660267816D3152CE6B75A2D6EFBCFDA900AA3DDCD5B684\ -5448DF2F0C089A436D3C7290:\ -93F020C6617AEF37E1E53D0558AE8E8731E9B79DDEF0C3BF931973955175D957 - -20BE956038BE1F4F76697367DA55A382B082DCF66A6EBEE838E10D41AD87D0F1A83723467AAD5C\ -4AECF39480ED5E47A9143AE6F9AC5BC46E7AC83428DE404E1A89D3783FC38BA0B16FD912D118F8\ -3C4631375D39CC220A278485BEE01F8B45AB57C9564566F49C3584C455919095713A75BA91CF03\ -CC9BE013CF9D69266071EAE64C2C07DEA0C117271D349DB1A940BF3B2C91F3AAF407DBB97FACA4\ -7B909ADC6F1EDC1398015048359E0A831AADEA251F8BDFB88C6B9EA073BB238134483952D0F8B0\ -E9C0629E55E5F5DD47072E9C5D0FBD6B4C5326C11CB2734CA4DAD6E2D8BBA212F6E67F570290B2\ -1F1D69D146A140C57125D169EAF6B91913E5841F2442E0AB40BA77D8F376E4C45C95BC9B4797F8\ -DBF941C66252539E63E001D139FD4A59E7AC4817B73879A2522714979F536F481B76582653B482\ -4DD76A1441A8A1525E8192F1F273F95DD564CDB4853B682E87693EB2B544950BCCD27BB664E323\ -1080A486884F235DF20A7E6639B40DF4D63D0A2112B5E6BBA21838380DD4E49C1F4965B45A335C\ -557860EDE58AA283CD176285DAB929DBA3260B5FEBA261FD9814D09BE315FE1493A5AEE3CE6071\ -259982EEF9716409A09E28091F23E1DE08E7B89962CF354201247C15D75281ACB079A51A9F3992\ -F9BC88727658E8E1BA6932C18184EC3BE572B98642BBD886242F781AB13362B389423B39B27E69\ -E6D91488A280E1040110E037FB0D55B12DF029B7D577B0F7FC7BE884D3FDCC066A57D1A0DC86F4\ -12BAC3079696DA7AB3DA894BF399D9B56685FB405FDAA681AE09D8B53D0CC661092F9A13F89173\ -1205CA3F7CF939DF632406D37C444ECAE7A2A293DCBA2F647FF9C775465B70D663878090B0FAA2\ -C48F5D681FA1B0FDCA11FDDC779B47AD2814657585C9A4EBC5748B48AD7B72FA5E07040DE0914D\ -4F8AE04806835879FC0BD0B5B150A157C0273192B0779D37D0B1AEE1043BECCECD80A8690EE4A9\ -207564E5B703559C79FDD16C040E8E60AC42DD4E2E9B66C14F2C44BFE7A360638ABBFBDF1C4B31\ -53B81BA783BDE2B41EAC104E24ABAA66C83D69F7F5143F776C359335AED8C5AB47256139834C32\ -085A351ECAC6AB4F8DC4F097B91FA156F093A93C7CD5EF5CDD5F4BC1A650C2FB0E7ABCC97947A8\ -7620D619DC999CEEC1796D0325B0533BC08E870DFAD00FD518CFCC38587CA225A965594C88B969\ -0D63F37231BE9BEFB54427F76E230792DB580C7835F60E4744D4B9FA2F8BCCD7CF35B6345666E1\ -753B538E276E09966D41F3B1AD3E249031775B448A1BF1C6DBFDC643BFC5F6CE3D670F4736ED9E\ -A546D9351429DFB9098FBB06EF908391A6BCDFDC6E1DD3C5CDDB0E157A26C8D7DF8BC9808C7032\ -9FB0CBDACF5B6D4BC7A5C69B231A145F15B1BCDD16F9BAC45EAD69D54281FE1DFAD35CECA9320C\ -068714F99A21BD61EFAC4B64D3:\ -7D08AD57B93CC590A028ED1EC9C32BE0713C82EDDF6A593616E681DA0F0E6E00 - -95315A26C618D637F1A28403406D9E81C76D33F8BA62F55F2EDAC56883534DEBD8B83F2675C58D\ -455747473F92178B2A3E356B3D02455ABDBF32E9AA934A5A2D85BC87799F45C068C137E170E8D1\ -D26F2BAF3551CF367AF42208DC66316A93D4B594C96AE0D4C5B4843D80464C35357926A3FC7531\ -AB7E0A0C3FA899481B5EEDA5FD3193A13019DB382860EC6F6C842A1B5F9E90337403031FB4BAB1\ -F2AF12171793DBC5058E8D53675A6422A6BD9472828922FC36F05A4989FD48658AF04DD0B26FE5\ -D614BDBC05A2046E28502F531938AA3076200EA90641FBA11DAF84A670DABDCE3831D50D9DC46F\ -F3D302B339ECD9D2465EB65A6BD0C65220025DA2BA27AAEF32D4567884A76688322CC997AF5FB2\ -DC15EFEE3011E4069CFC3E04DE84D181C7D2FB48E156E0CF46B0B8A68E8A2F2EE49BF5F75FDFA7\ -B0E615A0B8311614668AB8EF68FFE2D72A074F3FCD5384F8482DFCCA534DF2434AEB2E2D3CA69B\ -D98BEB1479C48620A8AB64B31D94EE0934DCC3E1B459D3A5CA345A7B91DC0B797542BBC3AD3559\ -C5ECA7E85B427457299B57F236CE7D836BD850D8024C50165D3594B9F68464C0C16AD7997825A6\ -E0792D0277C21FCE28C34148D65C2CAF04C4A1852B79F365DDB50CC038B3C0B8CEA6B6BF64F083\ -0465724CE5A2CDE6EE03C4BBF6ED02F4385156AFF9EB9323B820AAF32B511DEA73226FF6514049\ -AFC462DD093267A861CB3C77DF626BE8CBE5C36AFF3ADEB4C51A4E58F8E2F2DE896452F49F4AE2\ -EBE07D9EBE7B84DA4AB48829451F6F0EFA6B0775991B3E8271C5F898514B47F5E1FFA24EC91AA9\ -E261E69EB9BBC77C75B928B6B70B8BDEBBCAE270B225D0E8FEF3451A202B82A6864776C3B4DFB5\ -6EF99D2FABD30D0BD00E2D77EBB1B47B6DE59C8D82D60149E772B2F8FF73898658207DBCCD402B\ -26BBE2F044AF68E05ED5835EC787B359C6BD4E10D13418E6552BF31F39F5B5F224F578AACE7CE3\ -1C4F19CE8ABFDF2F5CD1B2402A94A8B07B1A887A1AEFF95FBB0F1E4F56AEEB4E3861366ABAC0B5\ -F1E8B76A079F5835FDFCD9AEC107E68EB00B024FA537766BFB9EC7B211257CD894B74A216FAABC\ -7937742A8548FABB60417B467F9583D8800CE965305D56E17AB6E5A78593E07178F6B3CDEACB74\ -D39A909F7745033BAB6F048480375683F5595887F6CDD5476BCF016878CB991A5C2E05E5B7D08F\ -CC0388573D75284B1F374B97388792EBA1DB97206BA34377A5EC482B83A58D3D113D886464C9DA\ -F7FA3E7CC34C17BAF560FA1363BB766C4822DCCE82F391A759870E28BC0C3FEA07D85ED67AD2F5\ -7CA5868A38EE2582EBB3981044EB4C9DE914759BDFC48511611AD61A7E4DFFF23C55453E03627F\ -08CE2D8F8547E43C42892464A729DCBDD01B3E9C7ECD63853A7A6C0AFC21610AA3CE40E9ED5860\ -C1CB4A607255B9C68D211F3EBCA1:\ -4B34FD24F0F9938C0D3FE66CC29F90963B03543087D1C9D91ECBA5C963C3A5E6 - -695E1DB4DBD8CAA02EE634A3FD177C3A2E9287C4A5B2AA19170E0BEB3BC064659412218EE812ED\ -18B44A23CAC021CA32CDE74239EBE51CD8A585B8349E3C93943F09997836A3835AEC57DAF7A828\ -D9B797F9D293CDD5357FD65F54C4FC525E442BF85319BD682308C7D72328E7EEB36CB926640EEA\ -F116EDC014A6933BE5ADCA3733F13CE240C41F50601930E14B3A26ACAAFA25F1B4D0971993D533\ -FC9698DC97F1A932A0A543596296AAA1E09C33B15086E5EBAC4733C3679AD7FECBAF9F056E82B4\ -A854A71AFD5C6BC51A938752346DEB2E06C54F11AE829B99880B8859C4779C33239B8B526E0E61\ -B75033A9C09DFC533D906C5AB6F617B46F199B42964E92D6FFCB31033930F1CAA74A74F41E64C0\ -03232C6D6D75E7209FF538DAFED90899BB6425E2FB77178CFF14863025D3503954B5FAFC7E4C02\ -FA8110B131E79BD7B120C8757E1BB9BB72856896CBDA5642F2624BE64404201515C493CC1A5906\ -CC6BF4370A5A60BE18F398C570B901CE0945C84AB2AC55627AAD6540BA461BE9848FD96F8B53EC\ -9DF4970C8831D2ABF0E92357437416AABA2FAC81470358B3C42389D6317ECF65F41B5EA676E06A\ -1BEC4C83CAE628349956608603AF32C4B292A05F518C6B5127F216245D80DF929BFD28C89DDD64\ -D9AB0A9ED24FBC60A75FFFAF8118160F75B64D7D5A3968D1200D484CB67ECE27FD2EC4299A2E3C\ -A58066570BF3B2F214A131377515FF589B1EAE4D78BCC68DEB1004244AB811252AF791E61E5589\ -CA07091F5F9117535592B3991A9BD27AD791732C777A15DFBE309286CC77CE61A2711DE5EA58CE\ -5EA5A60BE2BFB41C1EC7ABCA0D7C51E7045A0C01F07419E277BCBF7EB0EEC20D9D06156BCDC377\ -7BD3A56A1B58028E7CA20E1FD51F41C8DBBE7A9FDE46EB5DB3580DAB00B9637DF4E3BAD671564B\ -E93E73CAAC580A21566E9C7248F2A313B094BF03D904FCB1D04E64801A6A22A703DEF08DC0B540\ -20C31C0137C77A4CE189933C451216DF38569303FE75CC80DDACD26BF2E09A3D43683E7CB0AA52\ -6EDD2F88FD1D6EC54EADEB0734103D24BC58A158ED23B7CD05CF59F4427FC1AC26F2C4710389A4\ -E4F1818B25F19C59A742C6233D92B34F4490A5ED52A4151269CB7006F70A787CEA40C044088554\ -97BF0C3F8C24A19E8AEACA1367A8C37BD4AFBE2FF2A4BCDDE413616C245E2D50AABE967ACA4E0E\ -C6D5747265A38298BAB9B920F4DEE454377CD899A82536ECA7B3A021FF1E05648B6257D270F1CC\ -01A9CA609602D9284CDB17C65445D623108A9D5EF86EDFC2C85F2A27B005B85109E01A1E716B30\ -51B801484A1C1F7CCC30931F99F7FD41ACADD68BFD0F89487172A7971626DFF0A877974892DA86\ -F9A616DAF67F73DE452C6A984F9C82DA61FC023A60F43373AF900EEAE581AF403F55AB1A3CC12E\ -39E35A7785405E8DE5BCBDA2E7E734:\ -40F535BD7C0542A3ED6E30440504B78770B48D31F05A6AEF8747F4D280E47B82 - -ED5F341CF8E2D40A804DAC57107019902C7598CD296923718AC8BFAA3952F9FFBBB3A47C460FB4\ -EE29C847B4E1CC22C4693C5C6903AF633FD73BA16A1D9F42EF3B4B5B16B7CD45AA5E83C4335AFE\ -14DAA263B267D7B01653335A99E69EEEEDBC93CFE453856850775A7A17CC27A2ACF82614BC4BFB\ -5118C937A52DE8FE4FCC7B0F8249B80620A17AAA8C103BB0A026F668BAB5A18F1AED0798CDC2F1\ -A77EBC8EB772046FF2327F4DF04DA3BC16B132AC76BF2E20723DADA7C4997702FA06AB191FC0EE\ -0B50EB2F9374B08F8CC4E06F6F57502AC3A55EDE1AE5D9FC28D95A1BBEC77503E443627458EEE2\ -18E87A3AD66E8D169D1F2544B8F4C6F4FC43B1A5795CF1E5D300B6038768303C8E6A3E983A9448\ -A5FC45C39B43E715FD87C63E4F593A420471E771083D0543FA834B6332372D7CC90AEBE96960F7\ -078D95A3F2785A918DCC9801269B7BB967C7FA40805FC91B83526E3B477C7F48D7535EB34193C7\ -2B14EB6A7E7933323AB52BA887BC91C497EA2AE61B824F9C17BCABDA07E35F9616BD75C89399FD\ -8A968EAD40B15B20A1B80334246EFDF3D651B5381988C1685CA229A01869CAAC03D41D2C7C2FF8\ -CC5628C66A749FC7EB69D8D462BFE87E2DD5D7C399377A8E5F5C06D6264D228389266F2EB78292\ -C429D7DB5667EDD578E4A87819069D912A3E2DBCE9D6ACA568A84F331B649F4D16596CA6500C79\ -3AD9FA82D8916A2077ECBB22ABBF5EA5C2B7CAB4C8BA0E360F3F4562C009DA71E23174A45A0457\ -A30A4B2A0B46DF213A64ACF038B1A882FD7E349DE10FF0F7D3579A75E15831AE597C2CB1C64834\ -9C4F5E340063B84361D94C5C4243D4C2A5818EFD0F043F424798932FD1F2DD6E44442DD3894AF1\ -D77549B146D43847293DE9BE5CC0069F341302409B33B0724C6D95A5566C267EBE623781595D72\ -A461FF8CBAA40B3C4259766D7F4F61ED404B2D8C651F6A38F6F757E219864500EEFB9DB9E9F1AF\ -0D5197A1A2D615A64C03DF7D7E15AD48CF22E75D1DEE51A44CA15025F4A9849C8D0126CD4B74FB\ -E444A0DEAEAAB2D11229DF6982F5F0AF95D672D0C84BB005D9FF5846E7C8703E439CA9941AE7E7\ -0E076E907BCBDC209C9284FBD6A1CF8549C90DDCA992E60FD29E876C30E6500EE8ED31FC752385\ -6F84C22A2553542F2494038953633ACB8FBE11B87646D81D366DE4657A85BAE1DD7EB820676928\ -227518C719A310C9AA97E5FB39FB4EF03631BF0D2F51C82565841B3E39C5E7D0CAF07D9BD49CE2\ -AAE1EFDAA9E8D9C6572B0155BD9C6474EE97B9FF7FA167A06DB2D3CF5C2FA0DC8CD780CB0E1F04\ -539E24D1559F0295DE3802DFAD3DCADA8274980C6620B39147B5BA75C7C1D65684573FA1FCF26C\ -4310D24ADBCD39FF34EB2D616A7FD997FCAF4BBAFF356978D675767E2CBCBCF772B55A71D94EC7\ -D50166EC608FC171BFD96DCE340D1446:\ -6D71EC68FF4949433604E7699092096B38169E18AC91CA5B24A2BD63011C031E - -C126AEAED489F433D325FA396A69920B4940CE3D8993369F8B776126CF31D9CDEAB316C3028342\ -8BFAD19CEFFE9AB9F9FC589FB7C0658C5FB58BD127F9A90C4C60311D4AC435AE0FEDD241A31091\ -C55B8ACFA4D89DD0053C43085E395C85935327040D950779B3D6E58BA668EBB191149331BA68CE\ -7AF35EA27CB68AECF9D6EFE29BC2072FB47E54DAD157DD17BBE7F09748AD257DF67B1A6553A366\ -E31BBBEB5D969D4B7CD348D1968D84813FB5E1981E873ACB17348D4B31C56690101AC361E5AD2C\ -4BEE75B3DD1AFB68512D30A226F514D38CE51A2047E53D3CA91A4794368F6FEC1C191E2C205915\ -E1B8056547C667AB77223BC7A22464FAE4F1F5058F5AEABA1461F4B4E97861DF37535CD487AA5B\ -9845DE89AF6DF844AB86BB5893D03ECAE0DBBF1ECCD04F8CC286C40A732E4C9373BEBB969609E2\ -3A236C3B74129B893DA55C114432032DD32DE7304FDDCEDDA0C6217C11EC9347D7423F7DB1B94A\ -1B8686EC6B626CC22198C1DA6FF01E7BF447F3AF32E55AF453CB500EF9EEA4C866CAEF142091C7\ -F11034C1A755E01A35D5C9C57770238239B7A0402FD8F0589B0596E019F8472A5173E86DFF657C\ -0A8B5A65F85DB43AEC400C9A0F7C26A489026CF8D59E7FA867EB5B3B89F01B77C371C96E65B52E\ -2F8F6C362C766C83582D51CF89040ADDABE70396E81569897BD21C5F6B50B95E62A6D10761A957\ -F172EBB30E28D192AB19AECF1FB8041B5C95B07FEE75AEABAF4668018A157F8C8246D886E30C29\ -4466209CA296AA79F01D99CA518196DC107CC73B4F1134BDAE068159C9D5D68BDCA71B2143E096\ -96209A597752DD880572082409D198A9DDB8257FAD0A47CDEDF80584FC5487BA94CE02271B21A7\ -8B371A2B8C9B6FF0EBBAFD608EB593255ADE224E213114F94BFDC985019D413065762A1D8738CD\ -EB84D5E24C6CDBB68F2C9BBB16C9ECBE2B796A51FE23BF5C945EE3519F50BE6438F83012492290\ -093E18D6BD69C677AE9A66EB25FA8FA22D080AD89B3BE356A0A9FAEFF764234128B11FD07F3CC2\ -E4D3921D0D04ED4BB1206EB63B7C17F173FCC2F88F47297BB33B7AB3D0DDBCDD1934988B87E089\ -B090EC6381CBE7EB07AFD0406FB11610305400B3C2659905542D98D697BDD7652BA039F9D8F8B6\ -22A41490A7CBD7E8EA4DB50E8225094ED8052165F3DB97366CAA3A97C3CED84F0DFE18FCE254AB\ -A0C8D12EB46E7713D62D404D67F9178FD13DAC633C7092A0E27B148BD972B0BAC0D7C8E61A56F2\ -C27E6E4A29B48029224A62F617A97B265F6AFA8DA77A7C0EF080BAD36F8124C787C3D2C318C7AF\ -B9974F596E38C9765DE921728A3C495D13FEF0D99CE269979AD075703F1C784BAA6FF6105337A2\ -70DF2244AD2F19EB243E3B623382260607546ECEF1CCF3C5B6A5425EE9D565CA8AA70A5E1AAF56\ -F3B93E5D7F8E763D4BC2EBD2C25997BF11:\ -84CE84165BBB95175543526DEA5F0C97A4308D2776108D22ABF842ABD1AE968D - -9F46C2E21D2366A40CAF149524BB4CC51DD7E8D221F86E68090EB9B72BCADF0DBD1E00C8167149\ -86EEC2CD8B9A38D8061746BEAAB4F81141CC57FBDB4DEFF3FF67439F451ACB4655A7A1665894F7\ -B01450E8CF23FD443B107B4CB83C62A0E4369584B59AA57A4AA758EF200D0B48E50D926A185C0C\ -691EAA2A5B30B1656469798120981393A2DE461BCFF6E78656C22E5BB599BF92D16AE1788D0DEB\ -2891083FE095D7B3A6C8257A07EBB59EB517E0090C372BCC0ED25DDE88803F35FDAF12C657717B\ -10C1C1B647EAF9787237B445B4BEA460F1541B44B2E288591CC75FBA04222946C2DBD9BDC674BF\ -5C8D4BFFAD17248881460C7A95EEDA2548902069A81A48C84D6366FA248F4751871EFB8F238B31\ -0965EEF21C1D0D0ACD5D50D059B6B66CAB482585125E46D5B637D937649D795911EB1DBC4C27A6\ -988AFAAAA23D79FFD1251F5B46BCDE7A0A19DD2F2597FE3BACDA148BC6244938846D9EA16455E2\ -6E1590B6B428025B8114AA60936C7BC904B47689A4F4451F0BB3210EC7BC65CEDB6621BC10D937\ -94DD969F5CAD5236A1F0E4ED224C6DA106EF63C175881F7EF4AA96B9D61666D30F643E53C9E3EB\ -701847C0A62263EEA4094338D8DF317FBD5C8D6339816D8F2BBBCAB7E8E877810FE89B6FBEC7C6\ -1A3F0BE7488096FBF807615CA8AF1057FFD467AB836956A1FCF4DE073FA1B8E2C55E75873AF1C3\ -4251CC288BF669F75157D2D0A79885FEB46791AD61E7459B3D532E88E04B564ED4FA72860A74CD\ -4342FC2E35190B1C588B997ED11148726D4B943A123F34B7C6248836D54EDFB9416F84106E4305\ -6CEB62618BDE8DE862D6F972069F7AA8B11D5380A13451B4E8AD998ACAE76E809465AA2BBD56E4\ -8F4EEBEC27BEC0CAF07CF00F9FB2CADD2E8E3E15B851F49B262277033C4F1EE0989D928EB93D94\ -654E389ACB8213A2FE8786D9C783E09EC9693E5916A1D5BEEBCEC342756971A8DC573960CD9A2E\ -50EE53BEC7EBB9B1C3789DB2290930771DE7149C13E192B9CAE5C81CF8D7551CDC7650243E3058\ -E4C3F9422C5E46764F10EE19B7346078F0CF3E4D65BBFAAFDEDBC55B91E9F071FF8E143F98B60D\ -669D8A80A9902080AA05657892BFBA92DED6852DFCC3805850E2D952C9E77ECDB2696F44E722D1\ -BFF3049E7F9F55491AF44FCA64F17CA6DC1C1A980371E9F43E4DA07B7D8C28E4C0A77FED054EDD\ -4C88C7635CD63539926C961C1182A243F680898E34BE3EAACC8DB4545BA623DB0F2DBA2C747541\ -01A952A8BE54C5F2985F088C98CB00527BB42984E8C609A73C5ACA0B575A2B4A914EA6B782B14F\ -CF858E1B3172624BA4CE0943DC70AF09029A755E8A613C66C5B29270494E1960080A0FFE8697BD\ -56019E4F1F42F99A83C23CB53DEEF877955A653E2621CD267C4705935569BFCDC2B87AA191E5AC\ -5588F0961E39E9B668825BE62DA329D6EC44:\ -0FBF1D93D23BF1474C044E9BD979EC7120F98604EE006EFFD8C33C0FC59C649C - -0F8D71AEFB9E58C7D41B456852145204B4F3D998EE65A47161815478CB2E88E94350135C331126\ -78D40A7585E9C519C25ABFF0F1927717DC9BF411E8D12ABA65F34B9927A652EDB8F129DACF3C74\ -4FFCDBCEC171E862164B241D63090DDAFADF41910C3A61EDE7CE62427950EE15A3368192038395\ -A98BCBC6FEC064241F165B645CE9B2974D854DFD1D8C3BA6B294B8AA91A049A7FBE85ACA6F224C\ -AE72DD42CCEDCF76159569DF29CA02F4DF914B875E87895FDF2740DAD1671E6866F9DD7CF173DD\ -FC88890B0235FA483873685DBAD323945CBD2448803D54AC79C16AA90D26DC70A84308AC019A93\ -93D78A09503F62B7819860C3397211E56C615621950361DB16D22BC8F9F316D12FB4D492AE142B\ -42DCE04958F6840D2A48F055A2F68C32F786597FEB04D1E1261DE7CBCA5D34A085025B66A7D78A\ -34F0DE8619A136C71ED86730834E88E9D2826CA87B016ADA70A9F06844D62D44A86D1EA8E872C4\ -06F4542CDE275D0CC9E6F8A4F05CD3814D8A50DBB8117C0E731E9A80AF34B6B3435000DBBE81B7\ -1E715962073057B2011637EAFC6B45C71CE5EE97558EBF171CC4AF74BF1D2747CE5DE49557F686\ -740BF993E3E208AF7C033C23FB2616047935E8AB73563FF47C7A1DF274CACC96EC77F5186E3E42\ -3625C817831B2F0BFAD273AE893E59CA08F8B9031238817781B52243CD6A382197C71140BF5A21\ -A3E2B3E8B6779AFF965ABE7EB135C87EE974D7D8AD3902FD65F55E01D8D9878F24F6BA4C1DE634\ -98ED65A2ACD9C29194F30B41FC5B2C0EA0C86758970EBA68AF455B358DFA3E9FFBEDE4ADFF9FCF\ -B184E99A70DE24D65B0019E98F9F00B0001E64BDD39B3D0866F6F1DFCE5A8160DC3520C940262C\ -24B2D06A461B48D1311FD2BD83FE229ED9617EA6B7C880D7852DB2B74966EF951D0B46F02D8F4B\ -E1603681B4ECCF17CB4F7BD3552BFD2EAD2C41001A52883707C2C4382576EECF0406FE84993888\ -9688061DA54EF59808CD947125D29C27DCA01A67B0C9DA4211EACF9EFE1B274BA4250AECD07C2B\ -5994E0997367818C2750447EA3E671911622B2FDC0C84CF11A1345420C2D2B9D1161E0760BF666\ -9A36D6F5A571B11B68C98E485CF2256A8DCB50CAA2FE74CF99530A1B51265D3EACAB5FDD27793E\ -18479B4EA782FA24901A80B6434108DD1DE0F1B4C80C665EF6B52B8403DBB3A553D550D43DF311\ -8BB7862D4AD002E87FADA601728DFA97ACA4A15590265D825BBBECA73ED15A4E62A3AB7DBCFA74\ -56CE2D1F3B1B6E8756E33F6DA52EF56C35BA574E6D250900841EC42C6596B8F135C3D61AD98C54\ -8E6448975FD5EB5C9E69BC7B6B646FAE0DE1AA96AEB2058491123B17BCFEF67DA21BD13027FF9D\ -1F36B2C91DB41BF756442C3B72326C6A02EE087A75A73552CBE231C06B5B0C7D3E9180F9445542\ -8FF8AE90B08F61E929BE4ABFA35D7CA39E8D74:\ -CB0A81684E5369ED90D222E5CE73E899DCE5CC763A044D908D99B9F754D915EA - -3B81E34BFDF7EB8F91A1BF748053E95D304B4857A563C8FABC509DB7C40F2D0C44F98FDCBD1711\ -164E186F885C720AE6FE4CFCB4DF85E4BBE30540FB472338CFF09DD725B88F4EAD30640A48C0CC\ -8F948CE70649946E6AECF38BD4228CBFA874E6D652B9728DF1FA08FC0E80BADEDCC74042A6ED13\ -D2A64E5E595946920CB7EFFA2960A2EEFE20871D215970233E1EEC8F2F3F1D7A32D5500414A2F9\ -D161EDB8CD2D48966532D4E091F704A440C3C35697D6C3199AEB839DBADCDBDDA8E08EBD440339\ -D1CBFCCAFBEA6C1EDFC9443BCBF692EE4052DCC014A1DD529FC86A4FA35D72E63A5A45783B3030\ -6F7609402DFC77787C360E400C0BDA451562CE098EA9F671C637BED7E254DB2E75C0E1D2C3A285\ -03007069F5F54EF776185F50A034D4A2AFD919EDD984139A9ED070DA9259C5C1A091334361C35B\ -5183EDCC7B312420993D2C7592A693491B6C0834EC293028112DFF0A5B8ACCFB197E996E97D594\ -DBD63DBFAAC2EBECD96F73EE3CED050282AB9053EC9B3463DDA1C5EC7C8936BAC9742E9DDA82D6\ -6D544CBA9B4F80CE8DC32C80AA430C00DCEF65EB9720ADA8B1B762E502C3C1F923F2679CCC74FA\ -430907ED37CE17B89ED75DA0A7B32A376D4345E7FE3587B43AD23FB380067C9AE736C65656610F\ -02F58D1F78D84C8EF058E6A7312932AF4A48E0E0BDAAA9C37F41E82276C3E2AC47F774F1422B2C\ -031BD6BC630168524604C5D65D00656F863B997C8FD9E8EC99B16016528C229EE81D0E20F01BB1\ -C5CD512A105BFAE82FDA1715F6DAF6F6E044184A09AFE96DBDD7D2EB7729D56440656989E0D4E4\ -21D951A5F68EB5B4E3FD4E5F1953A4ED29FE5E265F2D7BF56C3FDE493AECC8169AD265A38EEC98\ -6DF7934389040F52877221C34A846668F33EDD663E4B6D08ABDF66925EDD743DA3BCCCBBB98997\ -4201FFD633ED693131762B6D2790DC65AA050532E692CD7DD2E0FA793B5E4020C802717932D3C9\ -4163DCD84E1D93F3562D240E3FD74C28B014192F1520F5EB69ECB33D2904A76EB95947A7D74654\ -3A0E09E1362239838871FB117F4B1ED20E6CCF30524B3DAF592E3BD8F15002E0A10557C12DF27A\ -55374781AAB0B2A20A980BFBB72589333A3C16C3DDE19F727B324F3DED460062EB78402E303FB1\ -846ED84E6AA01CEFAF2C07569AC04CAC024F50B511AFF91D22391AA81E7C521DFFE12812BB34CC\ -6D0CE560820BB219D2063826614A9AE8557F34DD5C8E0DFC46AB1C321D3B3A4A7CDAC40BD1D728\ -0F2469FDCB6CBA607816D668057CEA4CA64F881CC31F9308A1FC84606C1C28E3E0BD7DBF45E430\ -81C04B07804F5E0F91B1EE298AA6B9DED88B1FD920D6804FAA8D6D0840A4476894ADBCA71B66C8\ -AB46DA39D0849FE4F1134220B4315A1C7BB622D95B6838D0561D65219D902989472ECDD0F9B31E\ -273C95B96BE1AE42089639F72915829E629A2E15:\ -F978717338E5BB3F578BBD8C4587CB0BF84D9A55A129485250D257338E1D5A5C - -88DA2C023A73898CC6EC26A0901F71C388B18D213699D1247A23C00704880C6B0CF835CF5C5CDD\ -6644D9FA95369B4A1E673162FE84065929B79E7718F53C7556B1A3A7BEDD95B68B57C5024070D3\ -0E73B48AB44D98A172DE22AC1CC28F0A64CD6ACF5A5CD6E1A7B42AEBD69D61209C32F942EEA253\ -0224ACF0A7BAED6CFD1CBCF074506D5AA20E1D8A8AF192C319F519753267599AD8C6E8BC1432C0\ -ED9302B3A72A77CB4109C2E312A3E2017CAD78425AC2DBF4E4286AA9411A98FE769E988FD60025\ -08B193D605499E120CDE012DBCDE8DCADE91A7978F7BB6E5071257189291951E6D2AF09EE0B435\ -B944AB4E2D9BB342EF570966448214389D1978B0AF8B9729E6200C583FF1926D998906628ABA8A\ -1AE58CA5BE7CEC73593B2E7CCD8E33C4803AE3FA07374F1DD5AD0D883A84C76E54A6C733BF9205\ -A9B6446E2F5015ACDDF52D7239C4DF8AE11F2BB02C09A87F88CB56CF63D5AB8451961C06B8361C\ -148785F6D7F2BA78E27B33785BE64C403A4C9DA51948573405EAB99C0778F3B1AC5B877B2CBB79\ -38833FC4DAC613D40352FE2428FCC6D3152F46F99E206FDD7618A3025112E6A4A1982CEC8315FC\ -59759EDC3C7D8BDB211A6BB5088CBF65F2A54D6E3B54D75DE5561041E2317EAE392E18847316B4\ -184A80D31C97109322095728728AB923210DA7734469E9B8E762EC28A2783A504EF57C84C1DAA9\ -F873AA7C968CA27D78DEE8CCF4BAAF24685803CF748456702899F3181A199C95E5878ADAF0AB52\ -37CE8D9BB3962B3BCF511826F20AF064A5B50420AC32C81937FE6A318009C4F92CE35FF501887E\ -0F902FD8D9B5BF7E0D30B40619D2E9832C6BA02A2872E57BA4B5A533659CCF034D8E72C9E23EBB\ -3778A0A7F102361C79F25273EDC27B7D63155C0A70644A0EBEC634954C7BECE6CE027A8A74E72A\ -BD1B7311D033DBA9F22B798518822A7383DCA72ED70D00700E9BEB677C5F0D5D3D110D179F407C\ -C1F00D06E67063DFCEA0E113C1D7F5822CB81CB9D89FC53B8A679FCD83A1774BBF2B76792819DE\ -03909AB7F38FE447600B453AF0E261EA5496F91E00BC594C9CD37ACA8F8D784D44766E58D9C36A\ -0C73EFF2C2D67014E6F80D3B55D77B8B97BA2C30DE7D3C4C0386771FB6AF3B21F433F102016409\ -BE94638452A9B2AA79B52F8A6D2439DB7C71F57E2AA1A6915EA0993E5D203BF85EF5E914A21C5F\ -8ED05B290DF3BE28A5861398402C4114DBCA88A17FA0ADEBCC223A86F35B989DD046E31F130282\ -D2FBA623636173B71AC85D45FCBCC39E4D71D817038BB50BE88E91717311E35AFE5C58B57392F3\ -D1443AD25483003F02573653878B0D3271931704EC0AC5E47ABBA1B57DE9BBD0611708E6A7B2E1\ -FB8A468814541357381A5D24BF1042AC9BF0CE48A674DF9CE54D5A0F107B7DE23E28D3F6B87E93\ -87CCEDA9C2402041E8C5454DDFF083F99A83045FBC:\ -503186570B08E394FF436ECE9E353A899D32506689AFD3343F0EA72AD6446D0D - -58755EEF96A6E5CB9904BBB82508C0D67040B90C60DDD27EF96586175B6F23E60D5B186CA6C2C4\ -EF08752D5D5F4A4FD8D62D5D108A2BA0471FC2E6DCA7C9E4C95812E50073EBC8A6D0E3F5D01E99\ -427428A0965E97FB5442F13755E19B575780D380A362D9EB6713550756AC9B2C2895614C865810\ -6E99A222ED710A0272B23C5AFE1EB3022B258D18CE4DCE181FEB79261497EE61A89178D332431E\ -C02065FFAC5FD76EC059D8A3C2BAA5E739D0EC020E4E0685047EAC4B53C54CFCF799753FF61552\ -DC1363C06DBF48F3598BD1E5ACFCB0E13F102614F6F4DBF2CFA197209ECEEA428F44FC74B83EE9\ -58BED64107E8FB6C18A5EDCC3F4888D5A872751A71B07591BE273788A656C4AE162E5A7B0EB43A\ -30295B61A8100B337D8483B62DB2414EA534A4E4C0F1D7FB13F25C0068E104B4A92E88F579B6BC\ -A424DA036227B5FFCF75D4BCCDC91A97D32ED8F781BDC33D0F572744DC1D1A2F356CC2ED23AE2C\ -B22B149D885461B61650E4BEBD3153A15B5064B3CB1863903D795A1986B6F13ACCE1B2026D431A\ -0F60306D35933C067C25B93C465D76CA117234057298840163E93C4BE77EEE2EEA24E398FF50AF\ -7702263FF34E88BEC7292973130DD3150C3BAAC695681B0D2C6804B40D80CDDA9C00C12B7D811A\ -7969888CE29FD20F897196471050DFA9985156F6732F66F3F4F128A84FCAA3A4C92E20543C4EAC\ -58AAF14FD6EF769306AD5C490C14AF969686FAC100CFC49570684423648F74F5D69F7917052465\ -B92453F934E911838BCA1021C71FD1390C2613127F93B31CC80B7DD2CD8EF58E341740F5467B35\ -19D01E2827FC0A65BF902FCBD94CE8B09BB78ABCAF6E7EB7E693994535D15E8CCFBC3D21AB82DE\ -DC3AC3081DA7D84BE13C8B0E99181E63E9E9FB1765DF1116FCBC2BF3B67C8749812ECEA1AA4964\ -29AAA8519F61DEBD2E6050ED9BDFFDBF2CF800321B5FBE37930873BFE189148F70D0A1ADA523CD\ -E42A1401D7E439D5324B045675466C3E8EC22845D19D368F0FCEAAC3FA7F3D5355BCF7ED8FC233\ -2A87A413744A010283EEA276D02C7CC6D6A50FBD8B66A8FAE9C67381C0CDDB56FA456F6DB4940D\ -28C76898DE93150073C348F450C497F259EEF6CE4D9B36DC8DFA4096CDE7AB1DC3E0B6282DFB42\ -ED2B85041FD7DB2AB1BE12F63EA15053BF6C665BE0E58D9B2D936C9070064CDAF4CD0709249D42\ -6060BCA9EBF9426CA3FC1DD5B68B8B9A37BBEFF5297717AE668A9E8E861532972DB6047442945B\ -84C639366863871129CBA3E20652D6D89899D2E8B7548F989C7BE81F4355E5619AEB4206A0E04B\ -D1227DDA12ACE2FED4168DF9DD025219F436CFF47D977BEAFFE1E3B7157D7AB7ACF8DB2152F8E3\ -10F5AAE7CECA51E70D402D4757D9349223619C345B83F2C74EE497B957362FEE549E991B84162B\ -8E232EAA6514E726226297C103D2638F2A1DC951B4C6:\ -CAA390A8A09EE7B7D32346D3644E95BBF77EDF017775B8AD47F58722C2BAAE48 - -0ECFB8586C18DE7B9BB2E223D93ED47EE12964582480F8703D10F603BA655DD0DD21A9E2864972\ -FFF914E921857C6962717AC82518581241F1EE13FF515D0B73F6A13AAF4F69064E061112EB4CC5\ -DD30EE53438EB8E4A5A2E56DA0049A750341D23D660B69F43A976267C53781A47501173697213E\ -BF3AD79C394353E40B074B3F0D9B01E3E64234B81DDBB9442857AC36F8107283F53DC6EE173990\ -479EF5DD913A46F6CCBC3D8FCB0150FAA1C155020829A46CE3B24B4D91DF564058399EFA183D8B\ -0D9FC82B9BD1AD3A2BFDCACE47011E8B0B2C078CAF0BD1F58FBDFF27E6734BFB5ACB3E51A233D4\ -135BDEE26DC929B77F4A3CE2B62E6E95ABDC5D24EC56EA3E4524ED2B79AE43BCD61B7A0ED5DBB2\ -BE870F55D49276AB9B6868F28FE7A5127402DA1A153D69D9693AC5FA3894D8830D74E702FF0E52\ -4BDE87FEDFAD40D14995A7A94C881231B08C39E3BE535258C823A4F12B7F56797891458891B82B\ -6A8BB28932B942367FDAC0ACEED6854680CAB35EA9D0F9CC7143400BF1BDB654B84A9552925D99\ -623B5120F7A9A82E83D1A0668A5D1DD8D68F4B5DE34D4BBD34D4C0A84AEE897EE103CA6EE88356\ -5CBD2B0415CC668FCEF49DEA550EB569C31E4B565DD0E0AAC73E4C48460CFAA969F6D794828BC8\ -193AA0F30A08212FE5CBC05C89DFA5AC478A016921ECB0B963340276C2BF14A836C8CEC999AFC3\ -E0FC175867BF0BA0AA09617D5C38388B86E26611312368ABF78089A345B022E7E32B4E3156173D\ -10750D401B6C1D907CD127FC9734F64DABC1457C3AFFCF2F41D839AAF165D32BE40D8540C581FE\ -A39CF02779CFABF9C269B21A44F085AA077308D0BA7B398E727C1ED023F8F9B2571D0A0BAEF408\ -235F1FE5BD219F3B015AE66D3299BF1434012A60E004EEC076939D014DDAC568F374707F75538C\ -D717F232B9BF88112FE2DDF18CD0C25C0332E46426D4B5C119A805329BF1EAD2837B4984264060\ -4E4A11F21090007210B3DB6E40195ED9BD17D2B774AF08822CE3115E08FC5EE9A9CCDABA8DB673\ -ECAC0EB64CD155B6983FE4AC29C2C5EA52CAE6654FDF8FCA117B547865E13941C5672940FD26C7\ -2E44F5E84BF12D4774670FE3E7035F6D50E58FDB639B0783EBA8636B6398F3C7DBFD1DC70E793A\ -2E83C044F479C84A854CA26BB604064995A0DC9206D619D84F2EE6CF7B929FBB39B3C5AAD3E7C1\ -ED66EB66E93233A52D902FDFD603610B30F3C2E100DA258765CBEB21F698F9637E262D0142887C\ -E83227793AD5820C1B11F9D8D5C9A5E9AFFB91CEBF5E50223978D84AC944D3EB71F9F8F2BAEEFF\ -C8C1983C43998AAC89CC318BE364C3283632AC1A5E2712AD65B2E90E74570C93DA67B17A945C41\ -CC8829A11FF472471DEFD598A38A260EA7DD492A938C1E7457AC452AD7048A5731C89AC6444E9E\ -64DC461EE2138FFDB95E954BF30D2291161B68FB52FC1F:\ -61B399FB5C54FAD93B8082BA8F430F2183A77DFE3832947A0723E24751B51C75 - -CC75458EDA82E7DA1DB1D8C48050DA95D2DDB8B775C56628D177CB6F28F5F871B0FDD75E39708B\ -774B9085151647FF25E1F0EAA4E2436693272EDAB0B2BAB5AD1B941D70969BE27AD7A11F5ECD79\ -535EEFFE45FD5E27D5558CA160336203A2D1313001BC8D964481258249FF971EF4F2175F19911F\ -4E68E20944C98C1DC5A68AA47DC67338FD3C8E706225BD68A51D7A424C844B38831D52D12C64BF\ -A254A7117DCA1D9A120B5A189E2B5575B2FE98D8066229DD4E2EF4177223993A789876DA71CF19\ -F083F07C9F0387F2F82FBE907030E7841AB2118EC834457F96DB059BD4CBB838AFA0E290406893\ -EF7AB07F94A5D741AD811B0CB67D4B51D360090F7A8AF937D29EDB1A7FD40C2DAEF57EC2CD4BBA\ -6AFF1E00B115BFB4D2F1DF4C70F6DF280415F1A0A90C63980AD1D9BED38C659D6FDE472D7A58C1\ -1F85F51DB3D63E278B33D1EE0C11275027B0C79434FFD766DB5AD2D622CFB40836A2BB5125C599\ -1FD19A9BF2B90538C79BB9800AD3D439135BEEC5C8444A9FBF4277D595C802490373BA05225093\ -1D3434C95B1FD268087621D4CA631700172101F1436E76BB8AD04A47EA6CB18C526352F1B4D9C3\ -E1B1C94D4C7C509532CAEC430BD31C12B7EB0BCDB1EB34C87F2D94873DAAF4BC88E6A9E76AF943\ -2A7D3CC1C823C3BE53B7673DB19E1258AC4615B50301B3D4D035DEDE43A87B7EDDB7633C52DA4F\ -E28B356A1494B139B440B8764A404F439CFDCB7D5C2FDD5EF4B997C65733C37AEB04B17305E8BB\ -66AD986036C067F53A3C518A92EEB7237F291FB3DB0F9AFF002225DF7D678124D43D2AF2657E6F\ -C9752D4FC23A2B570804E094A9126AA427D690AE6B5E2FCCE5553B70C6EDEAEADC230560DCC63D\ -E3AEB312922AFFC9AF8104A3475A19F7D11F52B4BCD0EDCDFFC7F1329836D859E23C8D8150EC77\ -F5995403B4E8049F39F6E755082140586C690B0DBB154B606E18B6CD57738C81C5855F06DE1896\ -031AD801D354F672803EBCCFF032EAC565743261433DB2226AC0E577B88A5C5DF0E6C618756409\ -FA394B4CDB92F0BCEF00DF610A649E3D5965E960B76DC2AC3350E05241DD98A6D3DA6485B133DE\ -91B0647C225EBDDBFD46CE214B2C16BC7F715B1387807EC2D9D589C7EA15208784E1D75F0B97D6\ -4AA6A32BF2BBC50977B10B3C06D9F1695DB9B424C9F9BC15B363BB5E1859E203ADDABEB9CB5375\ -3B1C546E5911ABBEB367AD4AE6846583A5D18AC6AEDD99987BBF7763278728447AAA34A1C01157\ -2DF0460CC1E95D184DBE871DD7EA76547BAAADCBCB0BBB9B548480895ECD2AB81BDCEC1B412B02\ -CC98F6501C5C68C509C26BF0FD8365AD8EEBF5C14BB36B4E8855CFEC2D324E27BD78A4EE9AAB20\ -088CA08BF8322C7F65E509744A729AA1ED5FE27E76E95C741FD3874C0AD86F647A90BB7E7A9885\ -784BE46D6C4B2294148024B853FFB33B313CC069D9258FFA:\ -1647976017C0CCEB3204A02B3578B65C2785CF95F141063637B3689135B01D71 - -D2254E881D09E77C39BDD2BE668A83D6684172FC7F3A2E5602DF649F07756BC693BFD856F9D870\ -403954D3EDD0E48F8D071DF89FEC540A826AB52836CE9C39527452014BCDF128D53B590DA9B53F\ -39552AB49FF59EB60823ECA6BD51E0733CF0CDF4E9A0D4379000ACC56A27F0E0B9697590036776\ -0FCB86A88F86937AB2E04F2DE22B6A485776E548757C76BECF786C80C68A209F173AA1D5782AE5\ -F1DE25DD9DBC314A2DFF9A8CF318D41793A45AEE857ED30012407D8362FFEF338E04000E21546E\ -040BF8AE3643701B25B3A66A107B57B1529CCB3C88B8B781E68D578617F04261A1B467AE2D74D4\ -9A8A118F3E74826A5F2F3CE930EB3A96890CE4991FCD09CC331EDA16F60C8407EC5C9A91CD938F\ -55023445C113AF011516ACB603E93BD1C6B8977543C92C93811749978F977CEDA06A58B48F76F8\ -EE5FAEF76FA48F695A33725B45118E52106D581BA370D758B742861A87D86258623EAA359AF117\ -D028A923EFEA8194DF661409CFB75547590CEB3534A0FCED6E249792154727AB2024D3E9C7B379\ -97D811DB49761987C4E4B45C7B42DA3C1AE564D7A93ACA823ADD426374FDB3B5EFFFB5DACE925B\ -8908C7DBB125682B066C069C28CB8BCFC4888D78F9E3A001A00D8F83E1C65F596523905D142B86\ -9057301ECED09B0BDCF78FC734FD99A32D5605635806D4210637D21E617490D9FD43EECA5C0F1C\ -274A0B512490B42FE41113B4B24F8193D3DA1622F1A5D7CD43390367DFE2D80901FBBDE82CFCDE\ -4571B066D228A166FA8A873A5593E13942508EBBDE1624DC2D5E96A5B45853C54BC9D90D853D1C\ -2CE0D89C7B1F54B205712919F3053A8F8730F4D1D7749774607795DF5508D947521DB651D49700\ -A57EF2F1945AE6724AF0F81EE02F86D886702822DC4EFD421077F526803746E1782F680842BDCB\ -6F9C34D13C02AD04FC3E2C2510CA3955FD4202F40AC756EC07E6AC4EE19738BBDDB47EFD523B25\ -C1C524FFCF237800175DCAD9FBAD0141C7155BDAE41D756A4485B5BBCABC265EC4410EB8D12BC9\ -39EBE8E867843AE133D602760F7CD513AD11F94B9D85524C87135E6FCB9B402F31A32C202B8F61\ -6A4A8DB809881841C023A048A0336C58FF0176EE96B0BB64B148EB622D50CE34BCC89753AC1AA7\ -E9040FBDF789860C4C9D5AA74DB17B824CB7D13BDDBED24A6C80A118F05ED520A36CEFF13ADB15\ -5AEC3F97DA79B6C248C3375130ABE3A8FD0514F1D8624297898F3BF92B92EF363EDF7FF0D00E89\ -022EECE47A182BEB7915B98050CCE278EBEAAC31E4F721294D994FCA38A9401E8584EF5670CA70\ -6FB266F31034A36545C7C3586BDB47F9A2AEFAB724826432272F1F97B3B282E3F749089DF2E6D2\ -A6580B71BF5DF7A01F84396200B1764B09350220EF99B0BB244A044F486D2E8006F710AFCCE0AD\ -03F646C8B1A6711273D1D1A07D61D97A4A92AD6EADEC71BADE:\ -AB79BCD11952F3008FE2983D748A2C3E537BF3C7CD4F4378CB6FDCD3E607A848 - -7EC32975F47F4F8DC2E7DC7A68F02771AAF5DF6A31AEB5E6E1EC58890C4AD5F8F19C4D2FEEA12E\ -169A73281A19F36A02EFFEC4BA14E9DDD877E7F911C0D3B77FC9FB24DD9919AB4B79DF64CACA98\ -DA52E91018F628399E1A2C043673D62F8D92758C4C903AC7DBAF65E8AF151ADDB6E796335F8A58\ -8AB7034ED3FD8AE9F034C3824B1310AAC10676F41017C04642582B1A9F7EAEC9DBAAEABAA6ABEB\ -B5E15EB8AB6C3AF58D848177DA5B512466839F196B894A1A7E7C62F8012D11A42EDCF544D3CAA5\ -8C251E0036EA602A4CEEB0EA33B6D8970668C75F4BFBA6835E6740D83A4A2D740E2841363ABF07\ -D7C74811E2D171DFDE54EFD7CE74E16AAED0144B08FBC244AAA7846637662FA298C153C99985F7\ -8964364619D7C4345B84CDE705F06061D2D63DE01C2D65713AA5FE447D4FF86F00AD983F6F9B7D\ -E54E6C770B9AA69685337E73BF6B4327C96F23B94930D7C75F8C242F64BA426F900DFFC8F8EF02\ -53690A4AFFC345C070D1B1046EF55F7804AE74C74696FED88046DC61B215B8079752E804445C29\ -D6D3A8EDCD7F2B506E9890355B38D3662098EEBCEEB0791F1D26D6BEAC8BD40EA3E318210405F0\ -0A6D3E17D7A501190B355588DCAC102C6C052EF33DC33BA9068B71A9B6A1BC289E3E108B1D023E\ -978E8BFF7BFE7F88D73E4DDF6D2C2A18FD027DA76782F1812F16BA73B3D534E5EDE512CDFA71ED\ -E2CAFAA11356C37D11BF4A066E825444D7EC7612B4240C21865AA29E19D02BE980CC85AA4ADE40\ -3B5C09ACD10701CD3AFC931B0473B351D27EADDC920791BC66A1203F666B3AE8FEB1565E69DE3E\ -547B9056DD8AFB6E2B88668A0C7E5593FA8D412007F8B3BF92C1C168D0254A5B6527ED2DACAC04\ -963D7CC93D6395346A5A3A04082BDAB11B4C0A0B72B1020CF0B048EB2BF9D8609DF27BF014E96E\ -CFE2488176FA3B93DD5068FDDBCBB9FC747B6B48DF5E989586C3D0A7E17E1B5F7EB695C0FC8D2E\ -09DF77F964F6FAFC6E5D090440AD393A2B8B5CB39CEE1196F08FCEC7BB7ECF5410FEC126311F1D\ -09DF4A9119C7B09115C57250FB78D718139CE8A8C37A91A17B4DFA87B614E318894E2F7598402A\ -FE826F6CB2BCCAB72A65565C64BBDDEEDF12337D7CDF0EEA143B40BF033C541672790EDD71DF21\ -FF50AF0729498390AA5923C6E1D295A3F8D41EDC60C81956800EAB6B115A9A99C30C17AC4CC800\ -64420101410E76DE2D74E7C5B3F3BC780BA34C4D289A23587624C6E31B3EFDF9C292F1F080E3B6\ -42C65AABA102FFC85BAE63CAA050F41EE17050D300BA5D0B952860EE5BD3ACF1163BDE54C6AFE3\ -D58772FBD2F3FDA85360F462071F2717CE2AECC75F311D2AC56264FD71014F20B49E2CBF17277E\ -E857FF6AC531C006F1A6DAA6C82A15B2140959328A1E9D2A40DD03A02B850069040902A9E2C3B7\ -A9C8B13845C8786137B9EBF3AB06D6130682780248F10BE7C280:\ -FFA92041D1819A20B97BE2ED14D6D9C95FF0A4CC4104CFEABD575058D8B7BA5E - -F2592D6041113B82E0391FF3D24189FDC98F210B8D9C9C348B45B9DBBA0C0369E6175CCA2C2C55\ -067299C1EC634478F3977A6039662F83D19E8DE9085D8E2B45F350C536CDFA12394D77026BD45C\ -41DCA426720C5BE90C85F012FCFD04F06A4365587732090E6F6C52CC141B8652E92139106993D4\ -5BA95DB0BE841AC7C5747BE9B2443E8C646A3F8902CB1785AB56D8D4AC65BFE839A8E7AE57F845\ -0ADA0C8610EB3651DCEAAA11C17EE362C727DF460E89087AAFFA9A3D100EED9CD76331DDD3DF73\ -CA89B98CC7A4108B51C465735D902F5FAFFA8A4AE6816CDD628E59DCE1FEA96DAF017816651390\ -6FF735948F234EED61BF8F462E8ACDAC526BE26FB27D8F2EADD5E7F3F5C526A90CF2ED04C3F192\ -C5B800DDE45F9B63B11B6E64D4CCF2894ABD6F3353B8651BC3687995F044323525303422918AD5\ -552E0DAA2B33CB0CFB57F5817F85E140C7AB1CC1FC8084A0E03FF8BA980FE0245F55354EFBD28E\ -7EF646600CEDD1788CBE5A80EB0106BA7C7FA86D5E6751D9143E23641937276654ED1DAFC014D7\ -D0CD7DC71EAE3310D6656C41B92A9F6668932631C66CF7B70A9FD8295E888FE1780305158319F7\ -B78635BB355A54A930BC15A0626F2F85817D442D105CEC47A721276B37E4B82C17AE043EE4E4BE\ -B40CF78B72CDBF10253CDD0350673C7B91AFEC2B4EA18EF4E5E2B5231E95242EBD724FC6E7CD34\ -C3866D8F0C90065B821FD324DC2A5AB68220C6E84A6A99B2804D2D34D69C69AB0B8E5387EA38D2\ -9790FB5BD56123EC22A554B4F1D5FD3BE0A94956C70E39896D0745AB0918CA91045C128087A8F5\ -DFA7CA84DF416F3616276BFAB9B8AE44C5CE25B9F85F160971189134327017F776BED33130D33F\ -FCE5622D8A6144EB4EF50011E895DF9F068716C810C27F94815421B8247802896106F647FFF5DE\ -7F64AE9E26411C76F7FE75ED8413E9DCC95E8804E93E9C388235610C41C7D627210FCD66E5306F\ -C11F9A9DFE688379AF64EE7AE958948A7DA7013B78AF8B01EEB4C2A6EB7EE8E6FFB178F5AF8A00\ -0E31B5ABF3E44BD7E45F5E218DF8FC14A19EDFD7E0DAFC455C7082F77D6176158704036A14061B\ -9A9D7D0647C7B16E20A8566A576025A7A7E9DA3182A9F6723CBE34E68388B7D56B7E902C584758\ -F5D07FFDB5619C82A035F269E16F255B746800D4B1A3B9FF83BEE4A59C74A69EDB9667F4EC272B\ -DEAA6BADF993402CF0D23B0D07216B9348110E680F92FF7230916D8357C7D79757BD337BF60925\ -CF8611D74FD3164E2648AF0CB2C002D18CAF2092C576CA4C95E62016C6119E7704F3A5B5B28B19\ -854C1B0A4BB7762496DC6220AE0A6F44C56CCF1B9C0E323BD233F31307642E206D0CD34D2DD8AA\ -980089034B81E0285910F141A3F29B40CB9F498A5646DF2258755B1654CBC8D6B80F3F0589EE4F\ -3330EA89CC0E6AD4A3D03162C82C5061404916E41C8C1EE316448B:\ -83E01C097F00DD5947FD07BE085E895903E7C71CFE764B6CEB89082B8D6E3374 - -B1CDF8A2B282E91E1AE01820301C5F1DD5D0EBB570E138EB11FAA542A2B86DB01B4285F6BECA7A\ -85E2AD2D4B5753924B754E7EAB1DB2E0BEDA35E1B20377A54C8348C69AF9166646D0B1A2D8B1BE\ -0218A7259E920897260DFE80A53974A2E5D3B1CC45FCFC101A24F251868CC722FFA1B3283FB0DA\ -C1EBB74E6771A99B8CE08C86F28C745EAD0BB77A38BE99EED08354FF0B90D13779A43BF8499EC5\ -323F3ABECA3CFD7328D634F08E16D9FACCBCAAAF7F5A3ED47A4543983F3791CD0FC9562FC6516D\ -464C7936A7936A3BD8341C33332A724C1E89BC0A8CF968FCA37C70701675E6716AA77936E5B688\ -E09C7448F6CEBBA4E91792AB528BE434A90C3A984AB7AD43A82622EB7E7845251A9D93DB7E2779\ -73E8372EBF75AB4ADAD050C4CF43C57DBE7460D688D8205DA51B932DF163D800C0D687989990A9\ -946166B2C6A8F89FAC0D42FF69A0BAE0199189F2D8098D14334F4A99DCCACAF0182932FBF371ED\ -A4B197155AD1AC156370FB1B292949668A58AE03CD79215D8F1CCBB356ECC40D3669C5489F22C0\ -E9716BEC20DC83722BE2259DFB6640D6827756065E041ED0448C07E971F88BA783C41CDF68F4F9\ -5D7B5EE8630054BE9F1664D2E3A3EF027E59A0AC254E9E87A6DFC124C6A5E4798CD4504C496C19\ -C06B76B80AD8A2C66D96EEDD2104B83BB76904BDAE883F0EADE666C052D6AF802397579166ED76\ -2D6F4264747F655B9CDD88BA3595FA9580121B27E2AEACBDA2C95C6861181DBF457054381A30F6\ -FF7E8E62626B78F66B70BBDBA0F0B91892DFCCF1AB7813239A2B7EF6AF03407E0953D1116E1ED8\ -BAD1808BE008524A3C25244A5937528364DD85F055D0881B487C3CFE6272ABB894EEC92CE3FFE7\ -C34A60D6B1C23B2BF7AA3391B9090539D3EB5D7C51D85BD1A8E4F834F1C31B74BB45B6AAF31AA9\ -13DE1FBB5E65C2C7B731BDC491F270B884FBE9326CD3B6C0B1E2DDC4995E3ABA7447E457D724E8\ -999D54E881D4B79A992EA0BF6B8F60B53EA8ACD8DCDF9BB8238867A3A1BB90AC2B2D521591AB61\ -6E453D9E3CDBAC503AF94031D7CFD2858DE20E389B40EF0B677704BF95468ADA429E48984F7A49\ -74D534A3ADCE84EBFEE91263CC87317F9C465DA5E4EFCF0034A15278C6862168356B2BA5BC125E\ -4066154814295CD7957046E76FAACD30FABA296E1A78F7FF658669991C973FE25D4C51F8D1150C\ -8B3D5FE0B19C5C7A29C08445992B46ACF06008221B3FED8DABFA26B064D4DC92EBC1135E77905C\ -148FB5EEDE88A5A7D117ADC5406854774008ED44AE9CEB16EA398BDAE1E1BFFD6D7CD04CC2B3FB\ -AE1CCADEC9F6A58CE2FA4029434454A17081FCCF3323BBA91D26EC4C3C09DF34D6A02C6475B9B0\ -E9E31D7032441D89B2BD963A63CEE6068F965D94555B544648855BEFACE42CD49E302C1B6C43D2\ -20B1C8F677F8ACF89DABE4C265F55BC13BCF71F61CBCC2801259BF7E:\ -1331D84FDFB3161A753E6BE1C68BF78E2D8ECCB1281AEF8C1F12916352400452 - -D0CC18AC8DEFDC7089C8F8DB0298A33BF79007BA72BB0E2C57E7FEC1CC27B8982BFC06DF3F7FD0\ -9F0D33F921FD4D7522173B56AB09C48D71F846BF4546B44E219CA1257633B17C50B23EE8D20C3D\ -02360D5C53F4A32AECBB40F821D06A18903DCFCE752CCB356228802EF85165C61C6A78B5A7C6FD\ -7FBB8A3B9B9B959B7CAEC308B027629F926EEB2970032CBC906F2EE71B0063D7CF184887138B8A\ -F53D8002D26A976837186CC35CD07A31F3121C5815FC18F5CA559E3A5B42D32D8889DD2BBCD931\ -790105EE9174D72CA975E310CC3C7EAD6EFBA9B6E59B45ED1AE587032721F126C0CA38A7DA0667\ -961AA98D1C161177B322A79E5C14DE1C74495357906A8D72C7D418956C83D09176143D797B446C\ -DBF864EEA1A1BB17322347E3326F8493DB05F57AE72A86129F019B44DA6854914FFF3533A58A4C\ -D359DA953CCE3E8A9EEE35FE94D7E0DD3F9CF24762B5893B648C9EC1E12FFF96CB76C91A20D01A\ -70A5CCB2903C444AE6C9E99521F0D2283CC458363F6A289FE7503ED53800E07545C04D27B6DA4A\ -7B400C6F3F0506C46CEBE5D0B2EA251A2B415FA70A6F57821D6948790B869DE010D533B6467270\ -E246FF80B75707D2E3710411ED327C35E8BF666EFCDDA33F4317C78AC8B09BF60C3FAB9408B097\ -356DC4383D2E2F1332764DA26E5256098372F2192689AE9CA20072DD1D04F84ACF52540EEAABC4\ -26E0477B78A1CFBB5B0254B9A9AD983F5AB84DCAAC930CB0A69006518927B90F19BE83780AAE58\ -4CAC65626B450775050C82F31E148BC94F8D6437F42333E73F83C7F48D4B6A7DB06202A754D636\ -7CD29C75C91ACAD7B0BEA07BA03B9F7AB7CF7B9D4C573125AE50D41C0F5A11E23DC1C09AD02A7D\ -7408EA411F43F1CBB7B147D1FDB761FE097887461A1AD241032B52E2A394268AA334C033DF5E27\ -23327EACAF1C01541746327212B8BCEB2790EA1B80DB34C3449B62043355F9E1FB82EBE9A6E3E8\ -819B3458941F9092F713619ACDC961F3D88BA4A28D63601612927AC1701210DB67736FB565F462\ -9B55F542DC1A124B2E57D89DDC4E1FFBB32BF9AE517C9655D57101689D925057BD83B66E03D116\ -1A3CCF6575909D94D6F8C1102067ECC4314B7C2D1B00A39A6DA544A15306F348BCAE7B7FAEFA53\ -E843305F73155C2F1C0BD3B84C935C2AF2F7463AA9EC10CFEF72669EA30AD2D8ABAEBFD8DF992B\ -0792C120E302F86E4C42629BE2F866382CB28E1C5F3E829D2562CFD1476FA8E4A38471BCD7C46D\ -DE3BB0DD0CB87B0A583E5F560374B7E85B5B6BA780EB872839B7BD84B4DB4979F5F579581DD6EE\ -126CD5D426C74E9AAC605B6D147EAE0DAFF0CD5F30C465D1801C2FD776655E0C7DEB8A8C39933D\ -7E441B90CE308CE40A6977F6F1DF6C7BE079F6641F3042C973197CD98E374021CC57245C25A34A\ -3004D7C26127118C035019C87A56BDA4FC3407005594976864D161B39B:\ -8874AAE5A4315343B396F469732C783B277FA0BE98C454056EF36E203DB18161 - -7D3EFC597588B87152A6010670F36C8A900D6C217126F56D5903FD7ECFB23B5F06947272BBA7A2\ -E3C4084D2B49F82A2996F8AA26A1C8EC56DCC994101DEF03B15BD48B56DAB2A7DE37FA8FABC475\ -659B2E465FAAE217CFFB75513D40141DAF882B98AA009E1B98B360C74E3749535A553E829B595F\ -E14C0287B068C309DBD7D81F7C2A415E8107F3A9376EF901D3B8869D5FF5553567AA57992DEDB7\ -553E582E70BD2F62A22AC87A965D74FEDEF061A891A54D58D8E9046A4D6C7C6D4A0E78219C5E26\ -F93F9DA39E1F7F7619E931320C6AE0598FDEC957E8C2B055D428C822FDCA8C8EB6788BD957A2E9\ -87363C38DD83AB4E04B5EFCE9A69A09C14BDEBB72096EECF49E26DEA6CD0B3E8F8B347C1E217FE\ -9EBB2FD01C4345285A29DCEDCD0F5DC4C9DBC0CBC8A27AED672B20E085C3DCD5EE6BBF9E445A45\ -F9A1A247600AAE5B57BECF1539FE4C87D5929DBBFA1D6E5DEDF4FC358F49EE11D4ED73653042EE\ -D46B384B23307E01923F2E61D72A92B0BA66CEF763CD173C92730495359B3C939851884EFF82C8\ -1004217D3F27784C65C42A2040D72A8715E02FC3B33B596346DADAA94803244746079678A8B376\ -51FD1B39A1B677B69018CDBB656652249F91C139070C99BA849362B177054C28A55B385C4CF338\ -B13B232DB877930C22EB3F51CE070C4314CB679D4583E38931802E105FEA524BB2A2877ED178E0\ -4536C2F9679AE7C564A3E8A3EAC08E6F8B15EFCEA58942B5690DB34B507D7B111CEB47E8BA0875\ -2DE21A41F47147B7D507A3A1DF5E0F9B0DB36A7D05D84869745C4230680241E294D689653119A2\ -2F2FC5C0C9E98697A92E3513A6430908360FB0EE43A2F9718773DF7CBCBDD54E420A7193B95EB7\ -881C98CE177556BE37CEC861D56A11F77C656200EA7605AD5AF3FEB065EB8AB88E0A38034880F3\ -A2660784A701391E71A092B2DBDE145F6FAB54CFC39E3E79C3B9E54FB31EBD0AE42E0FBC9FB761\ -A3456557087C9BE253D179C6D08B90DF9F871BD29B125DD2D22F7FA4A104559699B1AB1A906C8D\ -56AE853A31607EA1EACB0B1D41F1D971C5ACFA4705F61D37CD1D808F8B0DECCCA66EF01AACE0B6\ -1974F49504A4FE7AF474CC338DB516302484B1CBEE0C8DF5143C42628AC09388C8E822775829B9\ -F5B3FB2F72448A5DE7265885A3B9DB6FCC0349B3863D01DD377BD60EFF49FAAF3C508576E34FC6\ -1A5E0F72494E45942A43FA424AF438F687DF4747632DCA34294813F6EA10009510005AA7A1FD60\ -12E94DB7CA439EC242F5C5FEEFE374EB967670D2D019589B3DCB4B41290AE70F339CDF7EEDCC71\ -927973AE9E25D8BDC0D74DC9C9E1AB8F2C648808A78FC88607C3D1BF59A5F1047F8F7419B18445\ -8742C16F7641DF79896B4BE4ECDF52BE5BB831530528D8FA0218ACC94357DF588DD027CF1C8E90\ -61DEB12D5FAF24CC59FCF6AC5A04D675AB809B88895C862BC3CBA615BC1C:\ -555F6602A47B634BEA410A9A92367748203B9FB16ECC130503F69616B66F011E - -42F3B684726E0A9E4FF5470A725DB94AB290A477DC9ADE1E3D42C4D68A3597D0E60875D1700269\ -1F5B62365CA19D4FAE96AB779E86D89AB13D46A3E90FF99DF8ADEE749BDC43EF6514241C57F32F\ -6FD153E5EC5A8854A18342639A8C0EDE6EDC6D4F50953440B939ACC3476120AFF3FDAF71663FB6\ -BE71563788668A87A106DC50ABE0158DFA0B173DDF032B44059B59E29BF438F3BCD47E4CAC0872\ -3B364BE9CDAA4AE88E54C6E2073C61F6397AFF910DF07DE05AACFEA0DC2A82C0F43D79EFC02355\ -735F3588FF13DB6D2FA5BB8D3E114B631212C560049ED9D31B890538E670B81C2E7E87D141539E\ -278A46A1E673DCB7410EB6F84CFD046665EE86FC8B256315B97262E5D90935F21E3DD17AF226A3\ -B3E2F035C64A1EEA1EE8A31E5930389A6057A1CEFB2E469C5692CAFBE39CEBF111C581A05A1AC9\ -30D3B9CFF0600FC1B96F98FD302CD691BDC5A2A24E003E67DC36D148F275E771CC2C3D9C2107A2\ -1095B4DB6AEDFF04D5AB06A2A4DEA65F4DBEC42A3843F67748DE61F00FCE264F38B28B9018FE80\ -C34788DC79674FAFB67CD49E7590159884967AC1917E6E3F27AB231BEDE67170EE458861F14843\ -6291FB892B3795F539FBBBF7115445CD8F08E2E383C85ACCD376B26507009F741D198AD4BC5CBF\ -CA3FF5D56E9202F5494B521B08799C890F3A6E6D6348817BDFD3BCCED8119D1A64EF2D02265A6F\ -C1B95BADCC295B8304804C30EBED369EF1CD253EC0025D15203F129D47394C1452DDF966408C73\ -88EB0AB7974A23D7291231F7D0C07CE2F8A66F51401EC8523F4F178B7C7473C50C67E7ABF06897\ -3D453A12C82210E922746CEFD08CA5664687D762774524B5725128CF8F29FE3C339793A1E1A0F7\ -B9BA698714AA282A4E298EC80E1550D6003B9309577940002A91AD200CE646A649784B17049758\ -473F48A9A5647CE099E65002B1B76EC05D3C81350088C7E4C043E542F2E883577AEAE24EA671F0\ -718C5A35758D07B71CAD44B7953E18A746ED7073AD9044F6AF4245424A792E09453B363ADD4226\ -F7FFD6E470D223AB12F65A9C917F3282E5D64A83DF20F22843BC9652C9C89EA22F74CC9BBB0097\ -61BBFC63FF7796C92E907537EEEB082711FAD82820FCFDCEB964B863259D049298B565112E4784\ -5595CA483E821F996512B3AB83A613A8E2F5296021302AA068CC59C8093BFAB264886C1060229F\ -E043B32E85EA44E15A81E6FC5DE4F05C91B714783D948F3E90D3B801F503F839319696FF956680\ -3FA407FB32FB6EABD2AEF94C76CA5D7D20FECE71E9E6AEDD6436FA194FC61B39495AB75EA40287\ -5686284F4D03C6DF78B95831D622859FA67B12EBC2DD1FFD5C40AE485AA971A87ADFED61D19AF2\ -F9671B8464E1F56733E3C1B98F4F70FC3CBB4E549B3437B1604163075B24D7208D4BFB11C66862\ -0CF8A291B9422AD7CE1551A65D82A2DCB00475552852D4D7C06831FD51B802:\ -D0D1561464EC8C59AE1313C89CAA89CDC2A7A0359C84B2516E873F5B19229C66 - -780DEDF7FC6C135550F524F4D84B33B769F58E7FFECE6CB25F497A87D6E5FC912F4E8A60742920\ -8CCE5A4B6657AA2830DFC8C1E9492DE204B2ACB9B42DB884A6F194FFD517DCAA205647B27A0E2C\ -BCEFB357A55F3F0D35CDC83956CDA8A9D021D694FB178C44FBD9B4003D11BAE011FB4131635A27\ -FD26C75B0523EEE2ECE6D8AFB6C76280E0A3F2C1B0531539DC020698F7466F959D6CB6BD1B0F84\ -B17906120D40E6D8DB675873FCA7EDBC1409F0EB5A759767F9F5CC01FE006586EAC27A4D4115E2\ -FF92587DE3F2F6C09222738DD99945348B8B9F6427848DF4D31EAE22FFC4BBE21ACC896CD903C3\ -CC0DF9A49B9576465AA0D8FC4F40468B41481A5AB0FA47CE1E85BF7F9B418E90DABCE9B655D183\ -B06044C92CB050EA223D2F73778BBC1B90945EEBBBB7C7238A78BCAC9A0DF94CC2FC667E110936\ -DE714855F3AAAA3D60615134868BE0715C54F39D26E9A32019684299A71358125174C6A33385AF\ -5283801FCCE195913E56D7BF2F806633DFBF11674E970FEE95B53911D46045DA1F8FAA841ED16F\ -E850949CD69A13A3DEF631337958203B39D3C1C748F96AD7E0E8F24D23AACB23624A1981D845BF\ -89F56AF58FABA2E9E6513AF5DED200C62092EA5CEDB5330B0229B4667DDDFDCC635E381701DDBD\ -55480E935460D18E94C78C2B1D1D866801E203850B8833A2E0AE32E43FBB28AD255A3D31296A34\ -8DDDB983EECC0B0D84958D1B0D95EFC39EA075AAF25595F4FA794A0889EBFCA1E57E92E7C2180B\ -DF90946D6B2A8607DA10FCCA868F6E24AAACDBD3850B44C8D8D7DCA15499C6C33A7741BB5203B3\ -9D001C32177F7C060EE5B43AB4BA9F8A53AFF79E55A532F78832446216E5484519D87395A5C0F9\ -AAB59884F8163AB732F161CFA23307AA2646C3D4C9D129C2A9173E427741B4B7B23F8139354646\ -778B10F97781953C2473FC277D3F0DE097ED9359E83A33AB01DA298741CF9EAD9CD297C0A39AB9\ -BE72D5621A06D990FB175E7E10D460245AAC744965CC2CB520B93FCB02E25DEAEBA92E9EDD0AEA\ -6DD8264D1609F3AD1990627A4E33A73257723F2405A393F1FDE2EF7935F9A41506B437DD9D2813\ -752301AE513502281CFC635844D3F13F532F3DAF403E8AA70DF3CFF67520B00EDD0D0E53A78827\ -043511256A6464CF6E3FFFDEF8C0522FF17915189E4D6377B9CFD3BEB52CE73F4A63CF262AA071\ -6C2EB5F3D9FB5E5E39D072E55DB768498C80BBA3D11E1ECBB89ADFD7EBF73030AE102BD7D5D95C\ -B4599706A0A9348EF65D59FB0FB15143C0896EF64946BDE0E5AB7205F1AA5030CD960CB4F21081\ -E3A0AA1DF10CB6DF811B9E70E3F86581092928A25EF64929DDE63AEF555F4DF0E951AE6E3C41F5\ -C1B1E962E1DFBC1F30458B7574F35A3346103C62461384354DC9B2F98497D1C4987D3CD45D84E6\ -B392DF9E0A2AA8559EB4F597DD759E8323CAF7CAD0D41A69163871648927D6FC:\ -37494F0A17C7164E023F6409B4AE8248D25391910AA24BE3F116D4A44CCC02B4 - -600BB1C53869CD6912501049B9A53E112B5E6694F39504B56C965C915DC20EF170CF0F1C9E638D\ -56BE11694156CFEA74E2BC7C14AEB360A984E29067A36D011EB1A3541B97009C5642E64916C357\ -7B4BA5C87AA36ADF41D712E22E94BD8EED81629BD548AA69624155A131654CFDDAA4D758341EC8\ -F8021B4239A1BBD9DD7AE777D903F0AE8CD332BEA85DED4A66B8140D1B694EC08E238417E00C5B\ -696008E5652C9884347AEBA3C28B58AB8B955C2849234A431C71B0C3A58BB2619BF2ACA0FFFCC1\ -710673C3EE0FEEE5E091ECCA5833F4F37E8509595BA2BF1BF7437988BE4F63C7E613FAB270149E\ -8B37FAEF45CB23E4106E6502D97135A5B7B36A7563BBDB18D4C37DF72EEE79CC4758D08ED7E0F8\ -24A3CF4C3BF116F4D7D7D60EA0A819E2FCF832E7919BEDE619C64228F9A32C885FE92A7600FCA4\ -B0C74C2BDB2B18A210A2CBEC520960EB5BD53EB6A53E01C4D4B16EC421449360841294CCA5BBB0\ -424CB8A6F6A87F26FA5A75E04BA9646D80574DB61A2D8C38534E9CEC4B85D36A105B3D3F9E2A0D\ -1C935FF8EF962F3EDB09FBD6F626C42E3EA08FC8A24122FEB53182B45098BC4644F64BDA83E2DC\ -0E6886167F03852A5783497FED6C5C8E41FEB1B0BE701139458529ECEE21F60C643CCC18ED07F6\ -95E54A3341128E1CA3A6C171DE7A2E1C50BB2C31CB0DCF5584B36CBB41B40C41E5F3719E7472AA\ -3D241FA27F212FACCD1D720B6F1D1DF4477D7A473C8347F73026E32BE78153BB975E8A61F888CF\ -60DB98888FFB5BAFED7EE92E3218747D83E5A248ABB756ACA331003C9BF27ADC5E273626060C34\ -C1E8E76306C9C7A6E4CAAE08BBDE5B1CFDB5007C10250862A4F2F5B8B58A7F8112EED4D0850CB5\ -BB2F9921C49776925D2B74F0E83ABD85E5BE986BE661C29266094CE3959232CEC6D9EBA553AF9E\ -1B70A55BD4C720D95366133576A11EEE942DAB0722538A7CE32F17B8EC2629F69483C90F3A7417\ -63CF953681E441D5E567341130A5EC5B8F36AC35725E23A6979907AC337D03FDF6AC75EF4856EA\ -D4E18738A26667196F6CD15488291F948539C8F8F018387528EC6B4963F0A3E2AFD1F4F56F1253\ -DE53F314CE4572CD6814B7E2B03EC0D88C1CD737952DAC1D85F8761E2FE3DDE9929C859B9AF957\ -FC8F78C5878243865983CB3E3CD76AD1038DCC5AD04C754FB649851A50DE89D76FFA4537BBEBA0\ -82017E5840D20F2FEECF4C1DD9B409EE4C9CEC91ACA81115BF90CF4784C998FA3A1FF18347520F\ -307E52D67C596742B677B6CCFEA597D787B63708181C765EE28328667516AB7B75F3A655810088\ -6E923F2B94D730C51A05874D9B944B458C95DA87E071D753EBADB54D0876CF387A70684ECAFCB7\ -0BE1FF16618F0DA96DB5070215B7BBCDB4AADCB7BA825538B3FDDE5D55C0BC91EF7E52072E62DD\ -1E3CD2764BAD4DB94F9C:\ -8E58A67D528725BBD8AB846914F9A31961C90BA68765F872F785FF59C4EF0D2B - -AAF2F5BD8D412040B7B7F0C638AB081C9B4F9EB542CDFDB53C0D156BEEDC811A9F9838CE32D42A\ -DB83BB1B5B83EFF374B4FC8D64FE26FC94BCA43E812079AD8C33923355C634004E10449309E9C9\ -0564887BD27A5CD0839F159CD56087913D05D48E6ED6B80350B09B3A8FF426B777FD8FCDC72C22\ -ED7308C448E6D4A28B3F0A1BC23C300E228E4C3530C98F507106D5D526253C7D49FBD5D84D20C6\ -67E346224E2F890C947F56AB6538B3AE6B297EA1AB5F33CD43A8C1654C1DFE7AACF7E7DD733C09\ -68DFF6718CBCB537FE742C68B220F243A750FB66419DB03F48AFBCCD68798CA4A24C2E49BCF380\ -004EF6B685E528F3C2FE79CD3DBB9CF88D7DE09557D10459823B5BA08F31865B5A055CB5FA58AF\ -3D849A4CEA6F7C23C9BAB07EE0F4B330FEE01BB3AC55FB5882895DD1DB086CA37064BD8558DAFD\ -B26F34ADC8A560A9B9E845BD3D18DF8C528261069332D0384C04A09CDC9AB9B631D88B06133E65\ -F1A8FDF4E5088BF2BE5C970FFC80DEA689EA3B67EABC5C097880594A0406F21963D9C2F3FB52BF\ -621019BD1F69CAAD6205E44B5D414B73AF9671088D6DAFD728351AB9F6D9C255D9700222ABEF98\ -14DE1571384DDDDD7362BDF06F3E5EA35FD56E0DA288DBC8C80CD585024F3BED4912E6D5CABAD2\ -0250A51F3FD1A25457ED07B3F652FDF0CD8F6DA583DFE780C6B5D92333DFEE4DFB22A3B4DDB141\ -BC385B0852D9B92198A8F2DA49BA0F119CF183E40EDD764B418AD5A880DE5FCCBAABE0785C8E13\ -4E03204BBE0F991A8B54A44633AF79D434BBFA0FAFDD1FAFE1071964169C712D51619C8E9EE8CA\ -DF9E54D7E61BBAB8548D9D2C53CA22A4938F8AA8EC5FDB5401276A081D7C0906556CE98AEABB5D\ -5989BD97C689BA83D2B2197298E155A0FCCA5A42355FBB6BA619783E6A1E343ADE8741349E315F\ -1BE78D1E3969F0FA6DC147C0880DAA7F066B18615F1F88307C515BC82CBE38A1967157D4592F63\ -C738C861D92348AEE550727735F0B04006CEAE3E083629855FF75332A9BDA43D2827AE97BCED1A\ -3E015AE79425237069D6F630A247B9E906D5352AC4BC486558572E876EFFC1BFBA7CF90A6C17AC\ -6AADA8B3C7D0374DEEF1D8D0CC8E4C2A7D86ABC5B6E0EF7D047AB30A6D801C91B3A84799202923\ -A7B6B1966884C50F9A2FE3A047AB588B86C70128B0A1D263751DF699C2D152A1F8B70EE6AFBA6F\ -F9EA240C4D6047EED74EA06FB885AD468E6C9D5ED4444FB1EB4987F966CC1EE51DBFC269CCFB81\ -47162965113DF7696A9FE1911E569A5E221F0B915EEB34E689F0FEA7655A179D9506E0787C205F\ -BD11CA9802E5A4D4B3F8E9D270BE51E75718BB17BF3099C8F68637059009757EAFC48010A66E1B\ -A572D774628B4C35E06F0ED0DF055F27C054B4A556B1ABEEB076D5D502390E1C31E28555BE7F6A\ -6ED4B49FD7CAB793E4BC:\ -B97C3815ABA1958CB4A6F64B3DDA017236224597101DD822F24A6A594F255973 - [GOST-34.11] # Using the CryptoPro sboxes. Generated by OpenSSL's GOST code diff --git a/doc/api.tex b/doc/api.tex index dc920d07b..80a0489ed 100644 --- a/doc/api.tex +++ b/doc/api.tex @@ -3075,7 +3075,7 @@ match that in SCAN, if it's defined there). \textbf{Stream Ciphers:} ``ARC4'', ``MARK4'', ``Turing'', ``WiderWake4+1-BE'' \noindent -\textbf{Hash Functions:} ``FORK-256'', ``HAS-160'', ``GOST-34.11'', +\textbf{Hash Functions:} ``HAS-160'', ``GOST-34.11'', ``MD2'', ``MD4'', ``MD5'', ``RIPEMD-128'', ``RIPEMD-160'', ``SHA-160'', ``SHA-256'', ``SHA-384'', ``SHA-512'', ``Skein-512'', ``Tiger(OUTSZ,PASS)'', ``Whirlpool'' diff --git a/doc/examples/bench.cpp b/doc/examples/bench.cpp index 3bcfbf5f3..e20c8eea5 100644 --- a/doc/examples/bench.cpp +++ b/doc/examples/bench.cpp @@ -47,7 +47,6 @@ const std::string algos[] = { "XTEA", "Adler32", "CRC32", - "FORK-256", "GOST-34.11", "HAS-160", "MD2", diff --git a/doc/log.txt b/doc/log.txt index aeeffa9d9..511772f9d 100644 --- a/doc/log.txt +++ b/doc/log.txt @@ -2,6 +2,7 @@ * 1.9.8-dev, ????-??-?? - Use constant time multiplication in IDEA - Avoid possible timing attack against OAEP decoding + - Removed FORK-256; rarely used and it has been broken - Skip building shared libraries on MinGW/Cygwin - Fix compilation on GCC versions before 4.3 (missing cpuid.h) - Fix complilation under the Clang compiler diff --git a/src/engine/def_engine/lookup_hash.cpp b/src/engine/def_engine/lookup_hash.cpp index 1d96d4f3f..47c6c0a56 100644 --- a/src/engine/def_engine/lookup_hash.cpp +++ b/src/engine/def_engine/lookup_hash.cpp @@ -26,10 +26,6 @@ #include <botan/bmw_512.h> #endif -#if defined(BOTAN_HAS_FORK_256) - #include <botan/fork256.h> -#endif - #if defined(BOTAN_HAS_GOST_34_11) #include <botan/gost_3411.h> #endif @@ -116,11 +112,6 @@ Default_Engine::find_hash(const SCAN_Name& request, return new BMW_512; #endif -#if defined(BOTAN_HAS_FORK_256) - if(request.algo_name() == "FORK-256") - return new FORK_256; -#endif - #if defined(BOTAN_HAS_GOST_34_11) if(request.algo_name() == "GOST-34.11") return new GOST_34_11; diff --git a/src/hash/fork256/fork256.cpp b/src/hash/fork256/fork256.cpp deleted file mode 100644 index bd85dfd7c..000000000 --- a/src/hash/fork256/fork256.cpp +++ /dev/null @@ -1,149 +0,0 @@ -/* -* FORK-256 -* (C) 1999-2007 Jack Lloyd -* -* Distributed under the terms of the Botan license -*/ - -#include <botan/fork256.h> -#include <botan/loadstor.h> -#include <botan/rotate.h> - -namespace Botan { - -namespace { - -/* -* FORK-256 Step Function -*/ -inline void step(u32bit& A, u32bit& B, u32bit& C, u32bit& D, - u32bit& E, u32bit& F, u32bit& G, u32bit& H, - u32bit M1, u32bit M2, u32bit D1, u32bit D2) - { - u32bit T0, T1; - - A += M1; T0 = A + (rotate_left(A, 7) ^ rotate_left(A, 22)); - A += D1; T1 = A ^ (rotate_left(A, 13) + rotate_left(A, 27)); - - B = (B + T0) ^ T1; - C = (C + rotate_left(T0, 5)) ^ rotate_left(T1, 9); - D = (D + rotate_left(T0, 17)) ^ rotate_left(T1, 21); - - E += M2; T0 = E ^ (rotate_left(E, 13) + rotate_left(E, 27)); - E += D2; T1 = E + (rotate_left(E, 7) ^ rotate_left(E, 22)); - - F = (F + T0) ^ T1; - G = (G + rotate_left(T0, 9)) ^ rotate_left(T1, 5); - H = (H + rotate_left(T0, 21)) ^ rotate_left(T1, 17); - } - -} - -/* -* FORK-256 Compression Function -*/ -void FORK_256::compress_n(const byte input[], u32bit blocks) - { - const u32bit DELTA[16] = { - 0x428A2F98, 0x71374491, 0xB5C0FBCF, 0xE9B5DBA5, 0x3956C25B, 0x59F111F1, - 0x923F82A4, 0xAB1C5ED5, 0xD807AA98, 0x12835B01, 0x243185BE, 0x550C7DC3, - 0x72BE5D74, 0x80DEB1FE, 0x9BDC06A7, 0xC19BF174 - }; - - for(u32bit i = 0; i != blocks; ++i) - { - u32bit A1, B1, C1, D1, E1, F1, G1, H1; - u32bit A2, B2, C2, D2, E2, F2, G2, H2; - u32bit A3, B3, C3, D3, E3, F3, G3, H3; - u32bit A4, B4, C4, D4, E4, F4, G4, H4; - - A1 = A2 = A3 = A4 = digest[0]; - B1 = B2 = B3 = B4 = digest[1]; - C1 = C2 = C3 = C4 = digest[2]; - D1 = D2 = D3 = D4 = digest[3]; - E1 = E2 = E3 = E4 = digest[4]; - F1 = F2 = F3 = F4 = digest[5]; - G1 = G2 = G3 = G4 = digest[6]; - H1 = H2 = H3 = H4 = digest[7]; - - load_be(M.begin(), input, M.size()); - - step(A1, B1, C1, D1, E1, F1, G1, H1, M[ 0], M[ 1], DELTA[ 0], DELTA[ 1]); - step(A2, B2, C2, D2, E2, F2, G2, H2, M[14], M[15], DELTA[15], DELTA[14]); - step(A3, B3, C3, D3, E3, F3, G3, H3, M[ 7], M[ 6], DELTA[ 1], DELTA[ 0]); - step(A4, B4, C4, D4, E4, F4, G4, H4, M[ 5], M[12], DELTA[14], DELTA[15]); - - step(H1, A1, B1, C1, D1, E1, F1, G1, M[ 2], M[ 3], DELTA[ 2], DELTA[ 3]); - step(H2, A2, B2, C2, D2, E2, F2, G2, M[11], M[ 9], DELTA[13], DELTA[12]); - step(H3, A3, B3, C3, D3, E3, F3, G3, M[10], M[14], DELTA[ 3], DELTA[ 2]); - step(H4, A4, B4, C4, D4, E4, F4, G4, M[ 1], M[ 8], DELTA[12], DELTA[13]); - - step(G1, H1, A1, B1, C1, D1, E1, F1, M[ 4], M[ 5], DELTA[ 4], DELTA[ 5]); - step(G2, H2, A2, B2, C2, D2, E2, F2, M[ 8], M[10], DELTA[11], DELTA[10]); - step(G3, H3, A3, B3, C3, D3, E3, F3, M[13], M[ 2], DELTA[ 5], DELTA[ 4]); - step(G4, H4, A4, B4, C4, D4, E4, F4, M[15], M[ 0], DELTA[10], DELTA[11]); - - step(F1, G1, H1, A1, B1, C1, D1, E1, M[ 6], M[ 7], DELTA[ 6], DELTA[ 7]); - step(F2, G2, H2, A2, B2, C2, D2, E2, M[ 3], M[ 4], DELTA[ 9], DELTA[ 8]); - step(F3, G3, H3, A3, B3, C3, D3, E3, M[ 9], M[12], DELTA[ 7], DELTA[ 6]); - step(F4, G4, H4, A4, B4, C4, D4, E4, M[13], M[11], DELTA[ 8], DELTA[ 9]); - - step(E1, F1, G1, H1, A1, B1, C1, D1, M[ 8], M[ 9], DELTA[ 8], DELTA[ 9]); - step(E2, F2, G2, H2, A2, B2, C2, D2, M[ 2], M[13], DELTA[ 7], DELTA[ 6]); - step(E3, F3, G3, H3, A3, B3, C3, D3, M[11], M[ 4], DELTA[ 9], DELTA[ 8]); - step(E4, F4, G4, H4, A4, B4, C4, D4, M[ 3], M[10], DELTA[ 6], DELTA[ 7]); - - step(D1, E1, F1, G1, H1, A1, B1, C1, M[10], M[11], DELTA[10], DELTA[11]); - step(D2, E2, F2, G2, H2, A2, B2, C2, M[ 0], M[ 5], DELTA[ 5], DELTA[ 4]); - step(D3, E3, F3, G3, H3, A3, B3, C3, M[15], M[ 8], DELTA[11], DELTA[10]); - step(D4, E4, F4, G4, H4, A4, B4, C4, M[ 9], M[ 2], DELTA[ 4], DELTA[ 5]); - - step(C1, D1, E1, F1, G1, H1, A1, B1, M[12], M[13], DELTA[12], DELTA[13]); - step(C2, D2, E2, F2, G2, H2, A2, B2, M[ 6], M[ 7], DELTA[ 3], DELTA[ 2]); - step(C3, D3, E3, F3, G3, H3, A3, B3, M[ 5], M[ 0], DELTA[13], DELTA[12]); - step(C4, D4, E4, F4, G4, H4, A4, B4, M[ 7], M[14], DELTA[ 2], DELTA[ 3]); - - step(B1, C1, D1, E1, F1, G1, H1, A1, M[14], M[15], DELTA[14], DELTA[15]); - step(B2, C2, D2, E2, F2, G2, H2, A2, M[12], M[ 1], DELTA[ 1], DELTA[ 0]); - step(B3, C3, D3, E3, F3, G3, H3, A3, M[ 1], M[ 3], DELTA[15], DELTA[14]); - step(B4, C4, D4, E4, F4, G4, H4, A4, M[ 4], M[ 6], DELTA[ 0], DELTA[ 1]); - - digest[0] += (A1 + A2) ^ (A3 + A4); - digest[1] += (B1 + B2) ^ (B3 + B4); - digest[2] += (C1 + C2) ^ (C3 + C4); - digest[3] += (D1 + D2) ^ (D3 + D4); - digest[4] += (E1 + E2) ^ (E3 + E4); - digest[5] += (F1 + F2) ^ (F3 + F4); - digest[6] += (G1 + G2) ^ (G3 + G4); - digest[7] += (H1 + H2) ^ (H3 + H4); - - input += HASH_BLOCK_SIZE; - } - } - -/* -* Copy out the digest -*/ -void FORK_256::copy_out(byte output[]) - { - for(u32bit j = 0; j != OUTPUT_LENGTH; j += 4) - store_be(digest[j/4], output + j); - } - -/* -* Clear memory of sensitive data -*/ -void FORK_256::clear() - { - MDx_HashFunction::clear(); - digest[0] = 0x6A09E667; - digest[1] = 0xBB67AE85; - digest[2] = 0x3C6EF372; - digest[3] = 0xA54FF53A; - digest[4] = 0x510E527F; - digest[5] = 0x9B05688C; - digest[6] = 0x1F83D9AB; - digest[7] = 0x5BE0CD19; - } - -} diff --git a/src/hash/fork256/fork256.h b/src/hash/fork256/fork256.h deleted file mode 100644 index ed945b9d8..000000000 --- a/src/hash/fork256/fork256.h +++ /dev/null @@ -1,35 +0,0 @@ -/* -* FORK-256 -* (C) 1999-2007 Jack Lloyd -* -* Distributed under the terms of the Botan license -*/ - -#ifndef BOTAN_FORK_256_H__ -#define BOTAN_FORK_256_H__ - -#include <botan/mdx_hash.h> - -namespace Botan { - -/* -* FORK-256 -*/ -class BOTAN_DLL FORK_256 : public MDx_HashFunction - { - public: - void clear(); - std::string name() const { return "FORK-256"; } - HashFunction* clone() const { return new FORK_256; } - FORK_256() : MDx_HashFunction(32, 64, true, true) { clear(); } - private: - void compress_n(const byte[], u32bit blocks); - void copy_out(byte[]); - - SecureVector<u32bit, 8> digest; - SecureVector<u32bit, 16> M; - }; - -} - -#endif diff --git a/src/hash/fork256/info.txt b/src/hash/fork256/info.txt deleted file mode 100644 index c2f8c47f2..000000000 --- a/src/hash/fork256/info.txt +++ /dev/null @@ -1,5 +0,0 @@ -define FORK_256 - -<requires> -mdx_hash -</requires> |