+# Test vectors for low-level GF functions
+
+# --- Addition (and subtraction) ---
+
+add {
+ # --- Simple sanity tests ---
+
+ 01 01 00;
+ 02 02 00;
+ 03 01 02;
+
+ # --- Random data tests ---
+
+ 7fb838a8a0a95046b9d9d9fb4440f7bb
+ c1a7bd3b4e853fc92d4e1588719986aa
+ be1f8593ee2c6f8f9497cc7335d97111;
+ 8d68905434b020ccb849e17a03a5c441
+ d2a104aaf523699c1cc7a93174d21d9c
+ 5fc994fec1934950a48e484b7777d9dd;
+ 027aa17c97dfa80bbdef9f91b243c6e6
+ ddba1a223cad8a39e9c986879ad21b75
+ dfc0bb5eab722232542619162891dd93;
+ d668328b2594570198fd840b4783f5d9
+ f474e9ef071c418acf1f71b9cccdd179
+ 221cdb642288168b57e2f5b28b4e24a0;
+ 509e024b27fb8b3655da3938d0c04f92
+ 3fa219832f73843c0ae8c4f4715f633c
+ 6f3c1bc808880f0a5f32fdcca19f2cae;
+ 13e8b9d83c66bc5fa56e2debbab3c9c2
+ 6bb190b76e090abd7f6375a6921ad17e
+ 7859296f526fb6e2da0d584d28a918bc;
+ 3c98c1fd7d6e4ff9adae43a38ed0f2b3
+ 101f88d732a51bbe40080cabd06002
+ 3c88de75aa5ceae213ee4baf250092b1;
+ 2774d74b7453e63c2d314e0be52eaf79
+ 54c0dc1a0bedbafcb0b707fe5e496a20
+ 73b40b517fbe5cc09d8649f5bb67c559;
+ 75b9d1662c48f8c40ee4e9b3138a0b59
+ 0ca3e9d4c75a6e2b493d7efb8554e9f8
+ 791a38b2eb1296ef47d9974896dee2a1;
+ 501591c68468a7d8ecfcae3f419ecb52
+ b0ad24cd246361f779e8317e94977c57
+ e0b8b50ba00bc62f95149f41d509b705;
+ 6fa69209a292924f04fb5b3469a1068b
+ d9a06e9ac90f02ad095ff84f30a9addd
+ b606fc936b9d90e20da4a37b5908ab56;
+ ce596f2830ab988dfa7dc0add68214af
+ 860c30b9a27c7b2759666dd71ec578c3
+ 48555f9192d7e3aaa31bad7ac8476c6c;
+ 862361325b5f7a6b506b948d55697ce3
+ 95142973169fbae5410a22bb88ca63ee
+ 133748414dc0c08e1161b636dda31f0d;
+ 237495a82a6755689df073af2a56f88c
+ ab46613ddf7787fd1be42272fcb1be44
+ 8832f495f510d295861451ddd6e746c8;
+ 6b2d8d2b513277cfb03d8a5731234a3d
+ 9cc41fbd7189a3b5b0ff2f3746eb9bc6
+ f7e9929620bbd47a00c2a56077c8d1fb;
+ af7baf1a8ce5d42eca4353de181d085a
+ c59bde6136dda59a839605252d1dd390
+ 6ae0717bba3871b449d556fb3500dbca;
+ 566a7c0f9adc5a021c1759e2c80708c0
+ 28d1c20f2b8613b5e1ba8e3005aef30f
+ 7ebbbe00b15a49b7fdadd7d2cda9fbcf;
+ a7d716d198bf6bb3d32ba364f722de52
+ 4c9a1fa66d2d0cf7935d45e83b9ce326
+ eb4d0977f59267444076e68cccbe3d74;
+ 310d8bb131c4bed327529185c4d46db8
+ 2742ea95019b5f186c3c848744743d4a
+ 164f6124305fe1cb4b6e150280a050f2;
+ 70f5bfbf5f18a3deef4230b875b3a0af
+ 93c9240145720297b96a404941792a21
+ e33c9bbe1a6aa149562870f134ca8a8e;
+ 1ff7c9eaebd3b76791632b609a962992
+ bc3aca2e99d965238d8433eafd717279
+ a3cd03c4720ad2441ce7188a67e75beb;
+ 3d1693836d0964dea42c5e80a4307b6c
+ aed5dcd2e9e918e0ff9577f5ceb66256
+ 93c34f5184e07c3e5bb929756a86193a;
+ 35706029aec609b55c48ab09df59744e
+ 6d9b5b4dbeb1779580cba9bbc9fb8921
+ 58eb3b6410777e20dc8302b216a2fd6f;
+ 7a166f842cc6c36c09508e2b23dbad97
+ 01e3fc1cacc040e96217a7281a4273d2
+ 7bf59398800683856b4729033999de45;
+ 510ce80a4ab0f9eae5f6c3281e7506c5
+ 06351138a1ecb6be56a84f1b28a26368
+ 5739f932eb5c4f54b35e8c3336d765ad;
+ 31bfc6590de44898c40c31bb3aaddebc
+ 82b37993094c9ff6498c55ba1cced0f8
+ b30cbfca04a8d76e8d80640126630e44;
+ d00d48a90eb9e89586cc3566b28fa5ea
+ 0f502f973c2f17ad79543b20a92f2905
+ df5d673e3296ff38ff980e461ba08cef;
+ df63dead9d7aea0d3fca68123b0812ae
+ ae059fd909978bc6b8824b04e113fa2a
+ 7166417494ed61cb87482316da1be884;
+ 4c982bd2b93a027fd08ad69227a51506
+ bdc1112c061be0756685473011c61067
+ f1593afebf21e20ab60f91a236630561;
+ dc241c84816a1a50a7ad21519e6abd3a
+ f2c4d8d96bf32d999fdc7c37cfddac67
+ 2ee0c45dea9937c938715d6651b7115d;
+ a466ee3984566e4947a28704ecd99d2f
+ 0a5e90153ae473c9bee43aafaec08446
+ ae387e2cbeb21d80f946bdab42191969;
+ 8698e5d4eede21f8d4791d69fc4cfb22
+ 7b4bb531b633dfcb80d9bd35e10d4f6b
+ fdd350e558edfe3354a0a05c1d41b449;
+ 4d2462e835a51ee5be30ea2bc6abbb1b
+ fb36217f8dd0fe234bb7dcb778130156
+ b6124397b875e0c6f587369cbeb8ba4d;
+ abf5c76c26bf952d64667f5049bbe6b5
+ 436fbd0ad52336b0c9d2987ac79d2909
+ e89a7a66f39ca39dadb4e72a8e26cfbc;
+ 8943b34ab9bc6f6839c09a9852492238
+ 38b2304265ac16c80f84be3d61a82628
+ b1f18308dc1079a0364424a533e10410;
+ ae2730b3374140b33de67be248766cc7
+ 1831ce84d756a4bda1c1ee22ed047d61
+ b616fe37e017e40e9c2795c0a57211a6;
+ 4a87ef0f6bc691cab6d79253876ca89e
+ c0c2f4c479ffc90aeafe0598a4ac4d4b
+ 8a451bcb123958c05c2997cb23c0e5d5;
+ 63b2aad38a2d3b4cf681d892ed460110
+ d707531874bbc8fa22a49fd26142c631
+ b4b5f9cbfe96f3b6d42547408c04c721;
+ f44ef4d8cd19e4f6f6264c59360de94e
+ eb619a0c5fb3c490d382ff4a5d47a0f9
+ 1f2f6ed492aa206625a4b3136b4a49b7;
+ 786fa5572011847269ba3f51db1226
+ a1c8ac92fa365013326e0daac2dce7b9
+ a1b0c337ad1641974007b7959307f59f;
+}
+
+mul {
+ # --- Simple sanity tests ---
+
+ 00 05 00;
+ 01 05 05;
+ 05 01 05;
+ 05 00 00;
+
+ # --- Random data tests ---
+
+ 7fb838a8a0a95046b9d9d9fb4440f7bb
+ c1a7bd3b4e853fc92d4e1588719986aa
+ 207ccad257b4ed64447158315bfb9aca5cbc5622cfb8fcbb1380eea1bc5c624e;
+ 8d68905434b020ccb849e17a03a5c441
+ d2a104aaf523699c1cc7a93174d21d9c
+ 6c75a24ff82d63e8f9425d862be997fd7517511b2563189a6f0a238b33e60a9c;
+ 027aa17c97dfa80bbdef9f91b243c6e6
+ ddba1a223cad8a39e9c986879ad21b75
+ 019d5567c392730cf1fbc627f1de7ff20438e649e5ba7e7299fcea4ad4c7ac5e;
+ d668328b2594570198fd840b4783f5d9
+ f474e9ef071c418acf1f71b9cccdd179
+ 4a7d1a3b7b904b1b135cb89e6f37a38d7f20fcc9bd7b9ec9f0c38114d2a742e1;
+ 509e024b27fb8b3655da3938d0c04f92
+ 3fa219832f73843c0ae8c4f4715f633c
+ 0c0ff0782f813600eda5b73c0d2deaf072ed8b9e98e94991bd2578b776063fb8;
+ 13e8b9d83c66bc5fa56e2debbab3c9c2
+ 6bb190b76e090abd7f6375a6921ad17e
+ 0626e9a14f2ada51ad47ae2385248d361142636fed5f062be9fa0a0567f14c7c;
+ 3c98c1fd7d6e4ff9adae43a38ed0f2b3
+ 101f88d732a51bbe40080cabd06002
+ 03cb092534c593a9f834c21f1af0da8e604c416ec14e3fca1a72ba4c2b4566;
+ 2774d74b7453e63c2d314e0be52eaf79
+ 54c0dc1a0bedbafcb0b707fe5e496a20
+ 0b2dd510554c5442d5871586392f81d08322aa0cf052f64ee507d59ef730b520;
+ 75b9d1662c48f8c40ee4e9b3138a0b59
+ 0ca3e9d4c75a6e2b493d7efb8554e9f8
+ 024ff62a8d33d8c51560088e304cc9b13ccec97899ba476083b86f8c1dc28fb8;
+ 501591c68468a7d8ecfcae3f419ecb52
+ b0ad24cd246361f779e8317e94977c57
+ 2728b02f09e5cfc78d1b5e45d0b65d58aa353e8e5a928dc80a3fd523b464291e;
+ 6fa69209a292924f04fb5b3469a1068b
+ d9a06e9ac90f02ad095ff84f30a9addd
+ 29e8250c13db619580291b6d03317cf82d3f97c58aa1dc247c4d4ad25870b80f;
+ ce596f2830ab988dfa7dc0add68214af
+ 860c30b9a27c7b2759666dd71ec578c3
+ 658c3e0257c6986e4d0b7fd1c2296182f48c395f7a01acdb623702a83c0be9b1;
+ 862361325b5f7a6b506b948d55697ce3
+ 95142973169fbae5410a22bb88ca63ee
+ 49e7469f9f53f214425455d15b9b5cc6309617f18db3e02b98aabe1b134dbd72;
+ 237495a82a6755689df073af2a56f88c
+ ab46613ddf7787fd1be42272fcb1be44
+ 14a2fbfb8b9621a60325ba6fc7c979b0caa46c7a5ffb865d01859f058621c930;
+ 6b2d8d2b513277cfb03d8a5731234a3d
+ 9cc41fbd7189a3b5b0ff2f3746eb9bc6
+ 31ff31cfbb97615558ec4becb92036b6b8715ab6df7ed6dc18caff6e0641d24e;
+ af7baf1a8ce5d42eca4353de181d085a
+ c59bde6136dda59a839605252d1dd390
+ 7e281956a0ae84282a4a600a9a434bcca6f89a9a661f03ac47dcd20ef2b066a0;
+ 566a7c0f9adc5a021c1759e2c80708c0
+ 28d1c20f2b8613b5e1ba8e3005aef30f
+ 0845bd0d5a46401395876a7992ee9762842ea8d7202222e29b973a042a703c40;
+ a7d716d198bf6bb3d32ba364f722de52
+ 4c9a1fa66d2d0cf7935d45e83b9ce326
+ 2e09cac5254876c45a7dacddd71f13b394ca8ab95413ab681f554c50737839ac;
+ 310d8bb131c4bed327529185c4d46db8
+ 2742ea95019b5f186c3c848744743d4a
+ 06baa3a8c8864b5ea1f998b6138db08924f3a49ddf1ecc22fa93110323aac0b0;
+ 70f5bfbf5f18a3deef4230b875b3a0af
+ 93c9240145720297b96a404941792a21
+ 3fc325d1e5c637ab818172e3fdb51be97a28903ee232125797ead652b391734f;
+ 1ff7c9eaebd3b76791632b609a962992
+ bc3aca2e99d965238d8433eafd717279
+ 0d78c92f0d674c76fd9e71ace29b1ca58da8a67530a148bcf8815b395de46ee2;
+ 3d1693836d0964dea42c5e80a4307b6c
+ aed5dcd2e9e918e0ff9577f5ceb66256
+ 185d9d9d173a78a2ea8a86cef12ac9a560f5c1fd96a3e40d47f2d34798d02ea8;
+ 35706029aec609b55c48ab09df59744e
+ 6d9b5b4dbeb1779580cba9bbc9fb8921
+ 0aa132382fb96e788f85a52888a8ef7fa645e17dfaaf35444566c2a56584c38e;
+ 7a166f842cc6c36c09508e2b23dbad97
+ 01e3fc1cacc040e96217a7281a4273d2
+ 567d64a30f28d71578a9ced5624a950fe065d706cf3318c80c3883f126c51e;
+ 510ce80a4ab0f9eae5f6c3281e7506c5
+ 06351138a1ecb6be56a84f1b28a26368
+ 01e80b50adeebb3790d5249eb4170d093b88ab1d42d0737d3dad6825e181f0c8;
+ 31bfc6590de44898c40c31bb3aaddebc
+ 82b37993094c9ff6498c55ba1cced0f8
+ 18a13563df977554b9d470e4c5009f7ec1c62f561a9cb2041a51e7af81e2f8a0;
+ d00d48a90eb9e89586cc3566b28fa5ea
+ 0f502f973c2f17ad79543b20a92f2905
+ 048955ee72a928a69b16cc80502568ece68198c8947935283c725a2e6f00c842;
+ df63dead9d7aea0d3fca68123b0812ae
+ ae059fd909978bc6b8824b04e113fa2a
+ 706606ae02e140bbf3783da276f47110834defb48e89270797e86251e27369ec;
+ 4c982bd2b93a027fd08ad69227a51506
+ bdc1112c061be0756685473011c61067
+ 283989fcc502efa3d0006b67465f3ebe7950cac8d54daf45215e09bd6058ea52;
+ dc241c84816a1a50a7ad21519e6abd3a
+ f2c4d8d96bf32d999fdc7c37cfddac67
+ 4ebfbaf107e1e74583f1a0c6de06f2a4c230c1a96329d8bac1d95d122ce8a266;
+ a466ee3984566e4947a28704ecd99d2f
+ 0a5e90153ae473c9bee43aafaec08446
+ 044e0764b72ad37e86d87cca3b32c4d6797a7a9b2e8ab414e0c33617d2113922;
+ 8698e5d4eede21f8d4791d69fc4cfb22
+ 7b4bb531b633dfcb80d9bd35e10d4f6b
+ 3c8785b738a800087fb26dc2562ebd676188a1f5e3b60d51463172a5ef5906b6;
+ 4d2462e835a51ee5be30ea2bc6abbb1b
+ fb36217f8dd0fe234bb7dcb778130156
+ 3a1f7deaeed3275707c611b83b64b4514d9b8508ed4b0827a7001be9488af62a;
+ abf5c76c26bf952d64667f5049bbe6b5
+ 436fbd0ad52336b0c9d2987ac79d2909
+ 2b38ad58100db6e6bffc52c6e7622581cc5daf65c0b4f7b87dab8313af786e1d;
+ 8943b34ab9bc6f6839c09a9852492238
+ 38b2304265ac16c80f84be3d61a82628
+ 1daa464b09e5db4bef2c404c1be1fb6d6e0c5911ee10a1d7eba409e33b26c6c0;
+ ae2730b3374140b33de67be248766cc7
+ 1831ce84d756a4bda1c1ee22ed047d61
+ 0f8cb866e66f56fdfd530784d441c8b37d6e0b2a87e3ea6a0a2d6f4387e076e7;
+ 4a87ef0f6bc691cab6d79253876ca89e
+ c0c2f4c479ffc90aeafe0598a4ac4d4b
+ 37d54041b0e7d641ee3495897524f1ef4a4dad9671261e4aa03fba0bfadb0cd2;
+ 63b2aad38a2d3b4cf681d892ed460110
+ d707531874bbc8fa22a49fd26142c631
+ 2e25fc4f13fd3839c0698ca373d24ca2bfe572ad3ae46a50c1294237d30c5210;
+ f44ef4d8cd19e4f6f6264c59360de94e
+ eb619a0c5fb3c490d382ff4a5d47a0f9
+ 5f20a07a81d4ed9f3d1fd9fef61318d01a58ea810b12ae3976dbe6c2406b2a9e;
+ 786fa5572011847269ba3f51db1226
+ a1c8ac92fa365013326e0daac2dce7b9
+ 336397c17a1fde4e90cbb9113a5fcd48239d39fee0807e66f8622d97b144b6;
+}
+
+sqr {
+ # --- Simple sanity tests ---
+
+ 00 00;
+ 01 01;
+ 03 05;
+
+ # --- Random data tests ---
+
+ 7fb838a8a0a95046b9d9d9fb4440f7bb
+ 1555454005404440440044411100101445415141514155451010100055154545;
+ c1a7bd3b4e853fc92d4e1588719986aa
+ 5001441545510545105440110555504104511054011140401501414140144444;
+ 8d68905434b020ccb849e17a03a5c441
+ 4051144041001110051045000400505045401041540115440005441150101001;
+ d2a104aaf523699c1cc7a93174d21d9c
+ 5104440100104444551104051441415001505015444105011510510401514150;
+ 027aa17c97dfa80bbdef9f91b243c6e6
+ 04154444011550411551554440004545515455415541014504100550145414;
+ ddba1a223cad8a39e9c986879ad21b75
+ 5151454401440404055044514044054154415041401440154144510401451511;
+ d668328b2594570198fd840b4783f5d9
+ 5114144005044045041141101115000141405551401000451015400555115141;
+ f474e9ef071c418acf1f71b9cccdd179
+ 5510151054415455001501501001404450550155150145415050505151011541;
+ 509e024b27fb8b3655da3938d0c04f92
+ 1100415400041045041555454045051411115144054105405100500010554104;
+ 3fa219832f73843c0ae8c4f4715f633c
+ 0555440401414005045515054010055000445440501055101501115514050550;
+ 13e8b9d83c66bc5fa56e2debbab3c9c2
+ 0105544045415140055014144550115544111454045154454544450550415004;
+ 6bb190b76e090abd7f6375a6921ad17e
+ 1445450141004515145400410044455115551405151144144104014451011554;
+ 3c98c1fd7d6e4ff9adae43a38ed0f2b3
+ 0550414050015551155114541055554144514454100544054054510055044505;
+ 101f88d732a51bbe40080cabd06002
+ 010001554040511505044411014545541000004000504445510014000004;
+ 2774d74b7453e63c2d314e0be52eaf79
+ 0415151051151045151011055414055004510501105400455411045444551541;
+ 54c0dc1a0bedbafcb0b707fe5e496a20
+ 1110500051500144004554514544555045004515001555541154104114440400;
+ 75b9d1662c48f8c40ee4e9b3138a0b59
+ 1511454151011414045010405540501000545410544145050105404400451141;
+ 0ca3e9d4c75a6e2b493d7efb8554e9f8
+ 50440554415110501511441454044510410551155455454011111054415540;
+ 501591c68468a7d8ecfcae3f419ecb52
+ 1100011141015014401014404415514054505550445405551001415450451104;
+ b0ad24cd246361f779e8317e94977c57
+ 4500445104105051041014051401551515415440050115544110411515501115;
+ 6fa69209a292924f04fb5b3469a1068b
+ 1455441441040041440441044104105500105545114505101441440100144045;
+ d9a06e9ac90f02ad095ff84f30a9addd
+ 5141440014544144504100550004445100411155554010550500444144515151;
+ ce596f2830ab988dfa7dc0add68214af
+ 5054114114550440050044454140405155441551500044515114400401104455;
+ 860c30b9a27c7b2759666dd71ec578c3
+ 4014005005004541440415501545041511411414145151150154501115405005;
+ 862361325b5f7a6b506b948d55697ce3
+ 4014040514010504114511551544144511001445411040511111144115505405;
+ 95142973169fbae5410a22bb88ca63ee
+ 4111011004411505011441554544541110010044040445454040504414055454;
+ 237495a82a6755689df073af2a56f88c
+ 0405151041114440044414151111144041515500150544550444111455404050;
+ ab46613ddf7787fd1be42272fcb1be44
+ 4445101414010551515515154015555101455410040415045550450145541010;
+ 6b2d8d2b513277cfb03d8a5731234a3d
+ 1445045140510445110105041515505545000551404411150501040510440551;
+ 9cc41fbd7189a3b5b0ff2f3746eb9bc6
+ 4150501001554551150140414405451145005555045505151014544541455014;
+ af7baf1a8ce5d42eca4353de181d085a
+ 4455154544550144405054115110045450441005110551540140015100401144;
+ c59bde6136dda59a839605252d1dd390
+ 5011414551541401051451514411414440054114001104110451015151054100;
+ 566a7c0f9adc5a021c1759e2c80708c0
+ 1114144415500055414451501144000401500115114154045040001500405000;
+ 28d1c20f2b8613b5e1ba8e3005aef30f
+ 0440510150040055044540140105451154014544405405000011445455050055;
+ a7d716d198bf6bb3d32ba364f722de52
+ 4415511501145101414045551445450551050445440514105515040451541104;
+ 4c9a1fa66d2d0cf7935d45e83b9ce326
+ 1050414401554414145104510050551541051151101154400545415054050414;
+ 310d8bb131c4bed327529185c4d46db8
+ 0501005140454501050150104554510504151104410140115010511014514540;
+ 2742ea95019b5f186c3c848744743d4a
+ 0415100454444111000141451155014014500550401040151010151005511044;
+ 70f5bfbf5f18a3deef4230b875b3a0af
+ 1500551145554555115501404405515454551004050045401511450544004455;
+ 93c9240145720297b96a404941792a21
+ 4105504104100001101115040004411545411444100010411001154104440401;
+
+ # --- Regression ---
+
+ 01f081e69f45d3254530766ab98d55fa612c7bb27ea31bc2621d894be9c0b196b3
+ 0155004001541441551011510504111011050015141444454140511111554414010450154545041554440501455004140401514041104554415000450141144505;
+}
+
+div {
+ # --- Random data tests ---
+
+ 6e0e2a282a5411ae76767ed1103deef069ef4ed3a14ff24b
+ 5385621c6661aaa35a24150d2c08332e
+ 01c2334cc957151dc7
+ 398c4111da6d06cdf3d83704ee403101;
+ 785e80e9711074a8412abd48da670731ea
+ 4c5d348767009ea85f25f7ea02ef7be7
+ 01c4
+ 0b17de61cc808487285b72f14fa23336;
+ d921e3736edd0d111e56c51cf4e4c343cd690dbaeb34194592ca2b80cc7e
+ c205a3c1faecfa3a74f7838e20c5678f
+ 012492f38367090dbc739e8a15c414
+ 34570d4431e79cc4d3ff2a583c3a56b2;
+ 06e7333745e54278092c9fee2cd95768e4e343013e48fe88660cbdce
+ 10f02ba313d1c57d8cf04fa2e760f19a
+ 6c1708dd11c7305e9d0a1974
+ 0dd6757486f880c40590ed673c22ddc6;
+ bf4adc5bd775679384d763216edc12157afec6eb4d2435a2fc793183fafadc
+ 9ff35b5c87471da1e56600203f11ae65
+ 014fd82ad3ab0ef9bda71f5d88ab3fe1
+ 3b599b787383608d59ba518513d7d0d9;
+ 0377c80101957a0c0044ee9ae96e8a7cc785a629c1
+ 7ca5d5ef2a981b83417db75f9616e0ff
+ 0b71080c88
+ 2d21297ee7c68552c11b6199fa1d55b9;
+ 1c92d440eb73a2cc5891f1881dc9d366271416b21947d3a98eb4dc5692
+ 7afdf70aa9d3f0a02b238d08d14fb1d9
+ 4c61f24d2263168cc50b2d3126
+ 2674528444adc656d5bfe3915849a064;
+ 0ae3f419ecb52b0ad24cd246361f779e8317e94977c576fa69209a292924f04f
+ b5b3469a1068bd9a06e9ac90f02ad095
+ 13ecfde29e5a9f5ff20fae44744397d7
+ 58be1a2775d5b0424b7e9ef4450e9e34;
+ 613cc2a6b7773965bca0c2ae6237e9f702b75a0852be1830c2e689f1ec9d6599
+ b75c7b15e30e188d84c96d7de9ad41ae
+ e3c34ccd80ca28706fdcd10562bd60cd
+ 466ece9c2f57ebe70b744c210507d37f;
+ 3555a5f38e5450a5cc5a7eeb9504288aee23298fb8
+ 8dd256a0a99d55a277c1cebca95be232
+ 6fa74dc1f5
+ 0fdf1eba1901a220dce11aff114ba7a2;
+ 23309eefbbc3fe8df211397e58df223596c695a8993be7d81ec52b
+ 9891a51ece620fdeb8c4d1dad87f979b
+ 4be153fb895358027814ae
+ 7d23cf0b5d1b872877af14ab1b35ea49;
+ 0175cde357bdd78d4672ea176521a9ef0c0e842d62cdef309b6ed2
+ cd41cb0292968ee9c82b353e07cd6e2d
+ 037f62f06af153d6ad8c01
+ 3d1533e7afd150b592fb196354585cff;
+ 8705d678b201c2300a347083cae184ed
+ 786ea38c016bbcc3e9f5c5b4662fdaec
+ 03
+ 0fb632ecb1bd0774302a3e5f6091ebd9;
+ 0195d1b27b916f29264d0fd33696867bc9aea2f41dce71931886c5d898e25f69
+ 93a948c2e26a36dc13a1754a80cdaf8c
+ 034aeb96693c049c2af77e1a7b277a5e
+ 3d9d04738de1dc0a7654b8115a7ee1e1;
+ 79090e88e87a94e1eb7f7ebe3147bdde846170
+ eb67415f279248028ae4052f72d48092
+ 9686d1
+ 7100e616ea381ee5d0b2ffb7a67ee942;
+ f254423fef93d5d7a76ecf22c656c1352c53257875945d33
+ b2ca471b0867d5fae2e4f27a2d2706da
+ 01bad680bd4a0132ee
+ 582f783fc210f72814780e69b0bd29ff;
+ c9bd4858bd014860f6d95dabb9a5d3d231
+ c1ff2aefeb9d6cc4ac6ae0c0535d8c13
+ 011f
+ 17949a58ebcb086a5350c3aceffbc4e0;
+ 0b8915613beb2e89cdb36b69b7d62ef2b0197537793f71
+ 242f42cdf08598d86d812a11c5647b75
+ 56ddd25003c7e7
+ 1aa0da3ff44f29eb5db54ea6a970dd5a;
+ e03c7f839598081d2c42f4e503484e7a4a219d0149561f3d5cbed8
+ 6503cea0d8a0c6a227143d96d7cad509
+ 02c53788cff1530e65640225
+ 078acf15737c0320afbac57f23098cd5;
+ 0165144c6d0637f8cb21bc8913188186376755bbd790566f32612993fec931
+ 8ab74399da1f1a01a91521d73d12b0d9
+ 02ed5b96b580b772606cb77ff49191
+ 58d92bf9fb6f5fb9f0975b3e2f5ad1f8;
+ 02b35947d2f507a817cb9e178bd6bcaa1d9054979482efb1ef
+ 56cebd75069fe534091d8409575702cf
+ 08114f9866c8343218
+ 2504e1784d51b5c26cad8df6357b0567;
+ 109978bc6b8824b04e113fa2a4c982bd2b93a027fd08ad69227a51506bdc11
+ 12c061be0756685473011c61067dc241
+ 012013fcb240a4d4f394c40f357c666b
+ 040d8ec7359c8fa7cb6864bb6fe2b6ba;
+ 0240b50d2853d690a8cf355e9d79626c6cb5f996cccfee3e1be7eed633
+ d233771cc22b3724a3d14382766cce97
+ 07b0d38444572f483317b557d4
+ 7b499146cd46dab3812cf4691d3bbe5f;
+ 025e90153ae473c9bee43aafaec084468698e5d4eede21f8d4
+ 791d69fc4cfb227b4bb531b633dfcb80
+ 0d396769c6e551b981
+ 0f0854faf0c35a4ffa142b21d0047354;
+ 0de9af086a7b5a69231741ad28f72df187515e355dd8dfd9b10bfc6e87f1
+ 1a5dbee5bbc0980ab55fae3b6135fca9
+ 89b00eb8894915d87ca6943ac6fd
+ 06fa712cefe56e4dddbccc3b389d7bc4;
+ 12333fa824ddf35aa1b7de856a919b5864e94c3d63ce94
+ 84c4a1d9a55cde37b41ce04d4c292491
+ 257b652b91361c
+ 6b6611dde69c73a3bdde7b6fd01d6748;
+ 038b2304265ac16c80f84be3d61a82628ae2
+ 730b3374140b33de67be248766cc7183
+ 0864
+ 1519f8ad4b7430e93c72ce04104d044e;
+ 1d09aead497b4383dc45da08fac2950fde1e
+ d78d23956daf24a70ed9513d8185e988
+ 2b5e
+ 227af9cc9eff71a25a89d3a5f95fc5ee;
+ 01ff9215d5fc0b3149589a96c76555a7145a7699ed03b125da8c0221ae0ea630
+ e97791f445493fa4c2858c63e89de9b1
+ 027c8467e27a018bbb903b85aeeff4c1
+ 79ff4a78de0c7c1a9a87d63368ddcf41;
+ 033c9edec4c98b26c1bd29dd6c33418bf678921a705fe94ba8f4
+ 1f200f0df4aae402308e4d3747ea3b62
+ 2b085586f038a6997a7a
+ 095479470eacc695a289163c245933c0;
+ 01a8722b24be8d9404cc9b836ab0b739ee57ae60ed
+ 0ba579d54afea4a7386c2ae3664c3d93
+ 3e54693717
+ 0619d78694ac997bedf949a21bf9a024;
+ 112bf3440706f9935e8221356e908bdd1972bc0b7d4540a76c779d845f604fc2
+ 2d27eaf11c8af56eab46d787c409293a
+ b779548b4b726be09029b5b6e414316b
+ 1498f6cd6bbed85fe55529a41188ce9c;
+ 5fbb399787dc1c088ae1b1a868a8fd68071662aebe6859d764d8c66d
+ 0ae272c16095b2e0b88f60f0bb2c77c1
+ 09593fefe3ac800d34fa59a9d1
+ 022c8aa8970653e5946394aaf55db47c;
+ 0ba36adf7f6695ffcaf3cb4f671fcf1167c79f
+ d24e71e6be0662a608ddaac25c3174b7
+ 1836b1
+ 5a783d61e236025be73de15c60fb1738;
+ 28b2a0867669dbc51f86661c3a1f6a1d5565284547a3f4f2f934
+ 22bd5df7bc0c1e6a863a1a1c448733e7
+ 01540ca5dc8900d40c3dd7
+ 0eb263f6f9b698becce9b975cac485b1;
+ 15503e6802be9c85711f75250539c76426f91b77
+ 91cc2ed96c4eee210ed0cb5251934085
+ 2f2129de
+ 5430a3c98a336b14edef0d41d93dfad1;
+ 011816c74ce3765423825661feba199268be5453932b36d6
+ a8a09df55f7606d260f79ad1825ec8ac
+ 02b46a057ab9b6d8
+ 5d970c88da5e61edfcf5b0afb7112c76;
+ 0e58c4591e74eede082861a82117d4d41239247c
+ 22afdfd47592ee3f4e9777003ee9e7ad
+ 7437cb93
+ 0faa41dc7710ab02ea755b778975ffdb;
+ 019717a6f636f25b0467f5ae365c2ba5b8
+ 801bf58c5282787aec5c66702e80efd5
+ 03
+ 173bb862c174d38b531104a62faa95c7;
+ 1af0354e3dfc333b46c5efa3354f8a0cb6bb41
+ 8d59fafe11fd9b7a2f687a13696d4315
+ 375fa9
+ 1993cbf7dfda1e1ce89c043dc306dbdc;
+}