Skip to content

kibnakamoto/BigInt

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

122 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Big Integer Library in C++

The library is optmized for C++23

addition and basic operators work in nanoseconds

Around 11 constructors and functions for input. Including Consteval input. Use the test file for reference.

Garunteed to work for the following supported bitsizes: 2^x e.g. 64, 128, 256

When dealing with numbers smaller than or equal to 2^32768, use BigUint<bitsize>.

When dealing with numbers smaller than or equal to 2^2147483648, use LargeUint<bitsize>.

When dealing with numbers smaller than or equal to 2^9223372036854775808, use HugeUint<bitsize>.

When dealing with numbers smaller than or equal to 2^170141183460469231731687303715884105728, use YugeUint<bitsize>.

The bitsize refers to the bit size of the integer. For example, 256-bit int has a bit size of 256. It can be declared as one of the above:

BigUint<256> num;
LargeUint<256> num;
HugeUint<256> num;
YugeUint<256> num;

Works fastest for 512-bit numbers. So using 512-bit numbers are faster than using 256-bit numbers

The library uses heap memory uint64_t pointer. There cannot be a stackoverflow. Except on the ostream operator. For using the ostream operator, if there is a Segmentation Fault, it'll be caused by stackoverflow, try using the print function:

uint256_t num = 43058454390534;
num.print();

the print function prints rather than add the whole number to stack first.

all stream operators including ostream, ostringstream, stringstream or the print function cannot print decimals correctly. Use std::hex or std::oct:

std::cout << std::hex << num;

To use log2:

BigUint<1024> num = 8; // or uint1024_t num = 8;
BigUint<1024> ret = num.log2(); // or BigUint<1024>::log2(num); or num.log2(num);

To use factorials:

LargeUint<1048576> num6=10000; // 232-bit hex
num6 = num6.factorial();

46ab3ae48966202d0fde097bfa88fadc512ae8afc0ea1d1d376a4109f10105e9e21f1e907151e85f926b8d82737b9030d572715fa32690be8dd16867f348b981683cda4be4f9e259977e69c16905ecee567d26742c1ba1cdfdd1274a067c3b39020f8d500f1199aa73884607e93fe423a99f3646585b76278922e3583c349cd3368417a0e630a075839ec290393d2f669d948980b23bb114fac5d62ac52e9883c9e3b8e0cd6bf0df411911f40d9f968f8691630a6033e9972c3090ed2c0ecb3a3d8ace0be058877cbb7e2bb8e9065af1d1eed955881cfa5ab0a4e155f84311203ba7489fdf5d08cac67c97920e676fd54a972b0297285841d9ee665dfff40bf3f162cc2a4ac74be168d996eadc9fe38b406af8f23cad528527097e4247c49d52aea83abfd77472110ad2dca4c977e104e041386a942d62e362e968b12bfc2549a5a3cefe5bb6b799e97d12f047aab8e219751f940689c3278e3e64583fbc3ad07d44745bf43feb42a8b7a860906dd98a5eae125fe7f3a013383b23331796878a2936e276a021f2fae759567bc8a261a4f1b8967ca3dea6d54ff6f97c97c791dcaeb6dbf4bde55bfaa1ceb679941675d1863a9a730e380099157bc0887a09e4b3d255dea2ce3fcbdaab5a783d0c60dceb7be6194d9ae7dcc515c4394cfa8b0fc765ddca6c64a5fe82883d6d2340f71ee3ca84f60339742b3ba82b5f05ecb540fd7e9a97c0a78e30f26307137efaa9aff7d462bc617e6ed6b9a9ec63728d4cd5b1a7f6fea10db84925e948df375d23ef6f7d912bf9c9af213874975b528b10fe2b791b39d1bf875d01a65b3c17d97ad2fd2eb5adc8a8a4b9516024e92a37ed14d6f087c5b99ac523e7f1157817eae88373990d19998b0a412e8add60b47f61ffcd2336bc3c137857c698be679024789ce95c19199b13a783f56a7e15ac38e63155a08337a9d4305cf94548f6788ba19af84e2c25578a346282e907c3380200a1acf5c43ef3b974da2a962acca9caeb1bf88e1c4d91d1f38164a360cb6f5fb48b8d18d9316023f1bfa0590c4a68a4fc49d4a17ac7d96dee097b3dc5c9e960636fc9a8c6220e8f3d6d0d7a79dd8861263a876b4b16b749c4ac6b4dc708d08f20acf42cbf98b7f4b9ece0f979d35f2c1dda29a8c313e23dddad30013aab39b415a058a2043350ddc2fe9ae3c66171fc1e8c54f59e53f734388a013b449ee0dd9b5eeeb432ecf6e60c14cde94916e0154a2baf84a3165a28ccbbceb5017504673bc32da530e90c8d074dc6f2071c36042d41f8decac8968a61445097cacf98fae342ecfaf7f567eb7ed8d11486c5c5290da57b6058d1799ce94330dae1e672954e134fde55d5629aed6f499ef81aa7c8dbac75ce7a391f23a0ea37cfc1509090e5d67b3989a6d01535e083b499bb51b2338f598ce2ad3f3fa614c2ca084442230989f8b464af87bf519287198f75949eacd7c245eb00f1fb2b055932fe4bc6eb0f7d6520030d93ee1feb0ee237a1114e6e60a49f3bf5fdff37c3a136ea5f9237d194efa6a7d551a64325d4708e784755cbeb0326b906df2161b5438ff1f91db3a60318be09b6c19ce0b8bc2f5a8d11f5dbe8f4a8c8ff47beb5cf58ebdaa03b69d29d6ff0c68115b753faf65deb98d2568867b18081532da2159c817d0def17c0edf7194300dc14f751694964043934a350eb0821a42f8a651e4b66fd78dca89c89d1f8d1c12f30a87f4307c58da161dd92214ec84fc4b2846f6e8265497ebd458c19832584fbf09437df477fde4dab76e8a5e45b78a23961a305d5351e0a9335cb4473d8b8b4e4b08094e93063792cc1364272cf4df8953cb07302dd1bcea4b8da10fedb4e201fd24fe4d51df15f9681fa9138784167981b3ec1f2d1ddf31e441cb7706b553053348e79670de2a3f361c84aca5ca4c582d19ddc3431961929f21ca5d5dbfbce6004da1e1f43d44273bc5e9f7ef49048bca2752a37c586aa46f75c3556e40eb317671ddac982869d64f56b2d43e249f75a9a6d1cbc653fd797b3cc455e0ed6a9b50a8c9520390b14938a545bf5345d6ad4e1866ad9e97d054508a6e427f008549813a94d979f5f23ba1f7978569f16a65fed6be7acbe5c98ade564e6aa6cc142fd7b66298c9d4c336521d324d5f077935cc1399d886cc10abdc65534915cd91cbc2dfb0306bf73d81f4ef0443e619e40b031ab33c9960553ea696def99741c478a0ca7fc5803e47bdf766bbf3013ea912fd3b0aa35d223ea524ed2ab1925719d95b9dd9091b328a2333f50ff66f3320fc45a88855f82cafdcfab6d5a63249080e513974003149b5ec731740ce5b0479092eedb086fc3d31aba7ab3abaad48605e37d5e82ad82f3fb34d97be49437a7349671b730ce1c8be8b4b7ae36323c240efbbf98ec3a90e2ef496e4e1e1b028db99bfa5a8933499205543522715230a86afda04348d7e8b7702d15dd2bd96d7c379c507a0413d4e9f5878b55fea0b08aaddc25b4f42a76d3ae788f6ea6daa6bb7c3bdffede9016fecb1c11759f061784127c7da411a7da6515a8fc32d60a9bc91bba213bc7c6de230ca5ff5eb23a759fd2876817c42ac700b938fca3d0cf04537858c05552d15a90b8097f9dabfab959360f0b28e3709610060f4df935282a025b0d61c503220b69582beaeeab70843c2c59585d8b8c705975064c26d6540afd294b4b4a05a9053d0917b0fcdbbe6b85f70bfc801758222402f44303d562a841ea945c7bd52c464942738dff502183b9968fdee9c14f72f1143f2ddb48c372aaa8301e89ec506ca67b412548375a53844742fb70fca23796e3ddaf1b0472cf2addb4ef0abe6691e00bc11b637e5e819895deb4bd02431785ee0286f544578371e9829993524d558886c6607986e7b9f113ec7068998a173bf8b045b0585d065aca7d20d71b238215c7dff981310e21c6ebb4753b34b506776967a0234c1efdf988f4028e015c6260be9a69d8330f71081a36447faf7ea5ed5f9fab1255e4ac5b935ff77a58aacc24ea6a3881b75137377df9734ad197b9e4db8dfc6e4bb56ef57b13c196e064b34e4e53c0dd3986a2238965b1fbae3d2cbdd5f25f6060f48867b89e848bbe0f58a103c496697c07e6eb15cd1aa946ed19b79b178345db2b04150a73d0adec11c73675a7aba51582b460d89bc5a32aaed5694540ec894a9a574588dc97fa84bbdc03183b7172dd380ffef0d87fa96d1048d475f8008d8ae72484a9bfd04f8863844365d014ff0acda7af8f8ad80bdf7289abbddb4c7f6aa33063c758638afe3c0c92f4502c32b41c5b0dd556590cc4823805ca76f6a98c675bedcbe801ad0d8eda46a842235096235d29d11b2528e5f135cee19fc318889d0aa32985fd15c2fb32df392767fc3c50f2f793432a07ffee46fd84e98cb1b3ea2cfc39feab6f285429be0378694a3100cc79e3736bf815df3941133f752bb1f004dc2219c303301a2a8cf82c082563d4a93c9ddb1f9dc81d48020c8c012e9b1428e2b1df6086c2652801ed0df764ec439939843af56d9b57aaf5b3d271114be8625cc012196e0a212e84731f510fbc65709c29ec95271a562d8a0b29792e304558ca06875505c13413a6408fefebc8af202e1749abf62fecd8c7aa9fd2645e8b9a5984c42a99fade37e44f25e5fc8bf9642e1a87e0307ef779cb8e9e78459563e96feb51826391b1904277fe8f817ad0b01d6f8c76658843d4465bdb034ab84497ec0bc0e10ed700c01c51283fabcb3337f977035f5678dea02687ab0e6bc300111f788db415d4fca2d74aa8e5a1fbf7173cd4b6ff754a87cfaafeab973ecc0234bdeee4f15f8209f029d9e92d9040650c7c974e033c1a27c94e13bc7dcf16c9968b12ff921eb40124abdc99bdf9790eb802aaf89dafff148ec9d85d7ec90130bacf688e47bb631b69bb7a26fba906867cf665df8e8b0f4f5fb5f52607f07843a02ec44c88adc563724cf225e831169d7f1aacdb203faccbc589c3ee39235b246758319185a16c729bbceec30eac34c5b6c14b20d9ee7253c43c8925b5b04580a50ac16ece44329c369bbef09138186d0f5d866c93445e8fea018618ddff8024fac522a6e2aca986eb7c2a4fc9a7a76694ff136124eeae14c33413457063f7187fb4a95aad2b901aa5a37b08eb3d08e6404f27e04ca044d6ea1880a06596015213ab62eaead531c16a25b470f10f5bff2f5ceae0dc455d8d0b16a320b3fd1c43e4d23b77a1538e44f085293aed9bf9ee0f09a3a9dab49fd884760ac4838d644fdcaae3d43e3dac8cfe109d061052030c21eea94fdfda541af578bcd7177df332e2d6a5c24930548679a9b7991049d33249fa188e5d48b7aadb2081453f9cdfd633789f5f8508d0584c2d99876c913ead946c9c7f927b541e26ed87c9aaecbb147245e09062678eb4feab8913fe570b3b59fda8aae679129cedada0e258d697ba4a44676dc457998321f2e99bb24957433f4de842ebdc3b29c00691ff56c0293a15dc05e72c01dbbd1e836fa990e83820f4ab1800e0864fc430229baf0593c9690b935dd19958c1ec1372479dd89e738f553a994003c0d716d0cf6ee13bf24f9ebbfac05226105f210e230f75a60c919c0cd358b08ff280b85a259a68d916b507f0ac6c11b4f13e3bf70a2e0be9502030e308a12f3e42065e0d119fa7ad365df0d40240e04449f3618a64750d7be318122d0a58d943dddd57d1b95da2e6c42d955d0589d35a5c912718d79fc98e451b51271163026139d57b534d2f847e766999e69e0b5724b7ccb665d10c3cd8fdd3f56ba2adf83ad11cb7debbb8f699e432fe89b97abb7dbdc7877616d2a6dcadf6b5a1918479bb0bacf2717aab4ed45a77be27ae4d07d934a0e805f43b961c70545aba66e40b463104168d693f87418905ceab9b9433455564d4cc6eadb867cdc3008fb5554fcb9f254947b6b6fe2dd03a499eac56bb20275bef9b4e680a5fd9664a61177ab24588bdb131134cd3cc919614459796f2a387f903cff1a7cd91d31ad12deabd1081f116891dabc228a2cd7c2684aaedb49aa19cff2a68af4b08bdccc7417d44233884d68e47d27986c381b8fa4346906363e21e0e403e35f17b109b085b45c8ce32ca30f20d31c71050304b5be00617fdfce24d273a9b88e37fa9d2a30705387747fbf1e2ad21130ea10c652ec3a08b9414562b3b6aab2e2255e86d7125d063517441df00e4c2d44528ef32fca26c30a3743488691ee3a4ea4d3ff747c62a43d78912a13bc778943b31d154a4167b6b1cd0a826633ed39496d3d773b0c6869acd6384c4f31c531288ff5a46656bb33ea9122b269c4fcc9ca7b8cea33025f62703fe5cfe21a7f2c1e7346392d06e8562e8d119192a73f20fa7b458f30900f277c49ec0b0ffa82e158c5600a655b2863a74d24a245ac7c1be0bf0e3cc9ee15eef5ff6e4202fb837005cce72d678dc38d41cd04f5224ca9b7e15d640e2ddde831da01f70f79c38f865cfd1d0ec1fe9dba06085ef99f55571fd236a4d5a4021186a2d7c493d97ff957e2d006572f31932f324a4e49dbf63e306dcc8ac43aec139d505f3e0f815b9ef2be2340d3aad5e80ad1881fd1d28237cd2f40cc92106e607cfca4176543bd4bd5108e47bdf33383dc72f3c18e59fe5e6fa6a5d364a3d882b77deb70c8889fc9ae9f6c84bb6ecb1c2ee936c84b0785ac45d301b30cf5d4c438571a8d64849bbd99d934cf5b1561dc2bea6c2656eb3787f87ef872eaa59379faf661cffeb3988ea725eba5ad2433e43381eb052b20a1014a26aaf45d471722a632da82ce5f5063217353b6bb9b07aa657abf30f1557f2de74cc2916f4c44941942473afe31946d7f58999343e3a2661f2f22533b2deb5a1a04abd257c01038575dc79b29b7b7b8f265b0691fcb9bcbe1313206e0c95d22258d8f18bc01c9aa8c7f08cf3555ddeb3c06b30b9794d80a85518a84fe1a2d2845d66f0aec9c148dbcc2cf687b40e1abbb5d3edff42f4821fe73440f5412451c3f191ec8aea7953317cb4e0820322e5fc395abc83be3e85fae54ec77b1c7dc6278918c3bef9f9ebc4a46e1c5f68922044b50942eb00d981253a2eee3821954d534bb60dff4c7dfc6ea796ef28371db88303b23ae012eb85bd1fde4361782181cc57b18f95e841d87f31afed1ab5fd8562dfa2ddd54e0fd7344eb6120f767821decf414c8cf02293bd351d4f7b297a3b58c57bd8fb73705922bce5dd8d4c32fac0f06791c76d8a85e08d19bf3739cc6c62f77431b6f264d98c2a74a87f9c9519612ca28cedf14eabde3732b9fcb54befe49ded72691a9fe75e504f856441f7e55d4ff1f56d36774106acd0e7a7203704e4fe5ff1fb0b61ab765090001d92692884a41b3ec9d416f050e09ae9c277308ed872ad7fd6d13ac276c9c80ec92ca00fbeb3b8cbcb276224740bd1a49b456b6620eda9afd5f3c0d107377f5ad0dc2159796eb36480cf296bc6915c53d2d7dfd763e0ba0d24123e4093c7d5575c916cbb053356dd91229a378338d467e3f52a9a79ecf3aca1d0234cf654278e9e5add18651c08d6671ce942e16ff782db772f4f2660c583fd6409de2aefd2bacf1a9d69a5ccd45d747fd28159d26a09c017f3c5c17eb25d4b1d406eb8e57f63178fdadd5d5459cc27b7c79758fd9e0dacfa35b7bcdc1c131faeaef6e7a4773551ccdfdae6afa29eb62b2d5c13a004ab5332dd8aadd891a8ff858044caeda2010f08350391d65a5af5804d8686b233699fa59f5a8f8150d72a099cee5fba38fc1741c00867efad3676c2b10e86bc781b0adedb847d80704688787b67b91c17bd80a48b44634fbdbb448ad71592b525be28914fbf171ea3b21cc1c4dc9480f44c4c130625a781856c42825ccc186c689a2b0244c17f71d1173ebe9fcfe0b3cd02e567476294eaf606d85878a8e79ad6c784718528131e8c7407f6139cc413a7e8af3ade39e0d9b21051d4e9d9c96da56b6c19e3a9cb183b8d4276aba1e288072bddfd2cdfcdbfcc2d764c10e8eb246a5198aa32589b12ecfaabf19903976935437d546aa5948c1c99afb48c9fd137e325541a2388fdfe10eeef0326b6ff9df84f6ceaf0eeef036f7ac5b5937c4bccdcc836e63520b9db1d71e741c3574bda69e75455d3aae9a28166f4cf7aec8e2cbd39cee6cb8f83c7a4bac99ae51728da436fa3560d102a7cf77d56bb3fa361945d7760bcdb35bef5708e26708f847be6e1fd34aef155ba46eb8e3a99c759e11e03b4aef8be536affdfba72608a39cc825a5732ce170acfa863e801c41aaf911a1edb0ca460a0f609db69b797e669e45e3a7513349e8450bda1d725b2b7cd2cf97bb4dbc2691a2ab4ffeb8ff7a9b9b42d9d3d1f4b40f05c02979357029c93c706153ca19bfa5f2097ea71d695a08566e71802f6212a11b9a8273892494a6b4ba6562b1636187f019eadc23955eb84ac47d0832707a81a1cb73105cc592dd665d4877f93446849cf350a2f049c437160ef4fb3afac228c905e67dbd69c737de4082cef3af1508177ec57e6127526d19bc6231517f2a17d291309709406329b96f4fe13e3c8af3f299c1868063a6608d26315151a3c1c922fb4cc41641bd4935171c3fe5d08abe9344ad126e7eec9a7e13faa0283a6dde54be2fc6c7917ec029fafbf1e35e62563e6d02f6cd40cd4e207697ab39b915e2954440dcda72836b83340fea34b25791a22f5d92a89c5e144b8979be83ed9855e744c34286a8ca5cccfad486c2342e6cb5004061d7583097ddd88a0546f3afc76e585a556ce38d2c5226e35553e8521e60f68e09f946eea2c2ddddd3332e70bce5b7c363a725df279277b240dae99f045ecc96d96f34a2ea31c5724ba3515e5d3e12c5d1145a4b2a0b2d5c5267b9a0505acc2907d8f2053c579311410430695b863147fd89c148b1e6e874049e99dff17ffee22dc9d5ecae98f517165d57e84777fed0897346b2e2321749ecdae78ab111555796c0ec5fba8f1dca54176bc4e3caef6e1b8fe677f85ddea2763ddce431db9cff719515325d9b14dfe6bbd7dd58a39263a2583d1b96203e4a86b16af5be494c4557f88490150fe2863ae12df9366674b8e55ca91e37771a90587ebcfdcf518108501d241ce8af6cf2343f06ebe88692480fb24e8690886c6ebb9518578f6971c558f887b3860d58468d6a54c0d59b1a913a8714358c779bc9493cd66d814a431675c7fd3126fddcc2ed2bbd99c5a95555525b2e4aa7b147173e5325a6ac23788d71341c87c33dc14598896ee067c9e4f26b9e56d9a43d30599b1f0ae6d670f42f1e8246102e3ac3e66ee24ebed90700abae2003214fd3de924bb2cb0b5e5988cd91a784b425781463910e68ae15b9466d54b5458d9ce76216feac1ad86ee53a1d52896b4bb1f0457fc9fef894dfd6abdb671fcaf5f2d9085ace8909e9dd5445a0f59ef0cba872cfc0941f9a71d4ec9fb64b8cc626a4290d2d031e008012b5d6a25e0d5d4de574230c585859eacb962c9be39978c2ee7359b2b59ec08565f7cb398b5363327bfd0d78b8865fbca3898a5d1d52a4a6ee34448c452aea62d7da63d80f93ad6e45c3bfa928880e25c0689c50d9a58a1bed660aa59dccb8789606339efa899c6242fb69b5f27f9fd9d1c4d2923b3d6e99d40da26f6f0477ca514b41eb413633d5afa23b1fd20845fba729c14cf32b3dba9a08dfcea29ad11eec4a87f413b57729c398dd04b39c854b6140f4ac71602bce1f66ac270e323a23bd6e3c8555583d2e5609ca6a597ddfd9672c7fe843cd6b43734b895368306bae1951c94d8d9b811a4c34ef5e4663e3acf1723f82ecb4361473e960f8730a0b44df4f78b89c938e83a9b99914eca4fc89cc345d53366d040920dd3649a867e0503c586aa33f7751196621c62475c97dfcdbf66ed18a26937391f22c183a9046ae89330102ec8bd4d44b2c1f866184800acf6ec936d712469830cfd0e715fcb6047575c0fef744443f960005b8cf76d72eeb754f91798a4587aebd4632d4baef76b0765ca0467eb0a095a8a6584d09f467209cfc2d26fac23fd864f38e65babf829ade897b1b851da66c2a9911c2bd8854c4e986021d0cdb18e82c245d683b512579c872f169da25ce018fd782b640c71ab5879c563a7f94817f3dd4942705a5d7902b78d84ab1eb8c6f32999ae93693f93605d93128f0d50b23515caeb6779eb5e1bf2206c3a7b2ac1fb571d97a736cfa4c5ab51ff0103e858edeedc02d437dd7df13eab9ca65f18b5fb8db7b872e88bb33a5713f484943efce65254e148c1a73c07453d26969c4c57c94b949933458f33739a3d4900a5e0a04811c283fe95347f6a31635fcc6dc8d7af5f411f36849790526efb109928e62a6cc9f06322c656b43bf5cc5717ee8f642ef05093e965d3902ffdf6083b4202972a9479642bfe0ee385cfc41fe807061392b5965098702edf8b9c2c7f304fb98c2c72c655fe362ae9c4aaac92ee5ad6d2a801fa28e962bc5051ad8a7e96df5c9183dc90693a1a209a5c92b3cc1158c28e1050a2ebd4141a103292654f5966b3f5c2996a7d1a422687fa374c267db1a25a50d19c8e490eb4da70b935df48be33ff6b9246c6021eb060135a32a40c2bdc6ad52da78bc628a4bb4d4de626946b098dc4399d6c6ad26e15e15e1995f6a178d2806bf82df301d4592371e17d46ed0283ca752bf342ccd3efdf0addd78fdf6ccb25e78114ce0bb28fe4686322eb2437202b330e59b17c34e39c02d4dbbf78f1be15511406b52dacba7b6482dd68809ee6f44ed1c5718bd0607fd46c828dc24707e6d103058dbb0e6d86012430cfd4a6d8fd579186cc46e51fd551adf7f02c4fa1316eaa8a793e33c6ecb5761fa6c1e15da8fdee5c4ccc90fc0c305df18033b169dd4fbdabac0786ae1b088066c269c2137b4f189750ee1c7c84064b4aaff510a087e69d88c9c39e18ff75077c8971583b9cd81aaed88bfe7386b894e00db13a9413c6bcd769919a6d16a41de83973b49fe2fadebc6cd1848327c6312f9f88900c988030d153b3b9c6214a5e9e2d9700c844f6ea72f0eee53b4e3de6b1e9078a9cf29c503fe8d8f2fd9ba85793cb16fe33b5695202c397ec0fee7bac0cfd1d303ce6f8d424cb6082e54d81bb0f8ff0dd660eced0f8e0a5a09e5400fb5b1fc4d309fa9f05b63e5ebf7ff1f5061f3d5c3514fee1254794a29dab5112a9477bda6ff75e86c61216ab6d16ac2ea32b8042115b3249f8ca49ce0541e13c60ee7356cf60a6a70722b43b33073c656e27223be8e71e8725b6912ad5eb4cb9153c424828224d2a91ed8a6be78c2029465e3df9810451954768807ab4ffba41c5e4cc6257ccb862c0ab85369db0f3545eb681757eb88b6f9829283c9f95946c4a35d56f66a9e85d12c66f6d0049e5aa8adcbf66512a83779a14a6ab64ad18d39d158253e1e6214c68388924adc08bc2e09721136906e77c60f5ad675f466385f76c0e028587835279cd8eb5272a5ca98077809c1fd023aad238c9a3b452f1a73a677582f8c9d1143db75f879b1d3e9d007aadac05f7b64b5ca98d0cb0156b75b8e2bc30b58397584f0501a62429a654e58353af8315005b50192a54aa7f84fd233e09cb33322040c22fa31b97f1926661959cb7046aa905cc2e783ca7333b5dd1ebb2e48036e11a66327d154f8a8686d0b23863bac33e4cb2d8098423a440b17259824c4b24c04a27b9326afd94b718110072de3fa95a646aa051cb050829fae50f0cd3f9c00329a7f170f555a4e8b36640d01f6d443fe257b553af510928cd3ed5e5b61444f64a65800a322a3baecf41ac3ac8ee3e56dfcce208cf1cfa3c00cbc935f2e04c746c3212767b99da2333b949d621387524c6900dfb3c81a321f7bf364747484eed0492fa53ada6d83b5f808c8ef28ec1a86ab3d48ccfa27c65bd5c78bb61a2ba2c009911813b37464dbb780dff4bc70bf84497201ff9270b5360fe755954cccb6b3646b6d6c93d1f0abc524beef628c095ece27e48ec3f5bd948f1fdbc5dcded5879a34ae862279c5fb34f15ab3bc66d9d0c24a9b4ecebc1fc99d916ec64a153bfe0d97067af1e991d012a54c6ba830c7ebb95838f9eb4c866aafc7a816047c1729aab34a9a85fa7fc9952b676c85e468287810de1cb65fe554287580d9bb6e7b6c4b108113013ce0f21fafb4731601ee25b027bed5ba4ea9cd284cd5348fffa47fbc36e3ac17fa0ba2ace9740ef0bb9bbf687d151e2ef3bf8aa86b4888abfd0cb6b797a4788e11488f20c1d7a767e6d4c4b2f351bfd749ff85ab2f6d5eb913a925520bc7a81ff78d5a7f6397c78aa4fdf9d677429ae3ab7444680c5e7e928d36ee2cd639948b74b053149ae0f89f884adf95b2581cad66071b988af45beb92c556c8bf870b6b0c5f744ba31b4e4c5faac45b9aaf08beb8dda565b653ea6038d547f9e277492ce0596063234b1e0ba98a1f0cda3e5a450135b0d454918c8649d049965d79b17c246daa0eed1bb7f99726448f4c16692c9a3dd8aea1d55b34b796ef23d29cc004c4950dc79e2a038a360d78b1db2a314555d7b74f34d1a5c4096dc8283abb9a75430abc9113c3445c47c43013ba67625c2f857714b8c825cea5dcbd9b5ce33c73edcfd62d13b705eff0d51e653c00434e47e1c28da114033f0bbe03ffbc81f9db41a9513299342c3d2734c445ca43e15800c0e7b61ed765c3c94ed30ea94cf95f14ab58120052d7002717eccb528731857d73d4efac2a80bb2289b8b1020290ca0505b54f9e8aa6cffc10b52fc40548b279f7c187d520e17e0e9155afc33df4ffe034faa1a61abc6a6748c6f5f54da1e9ba3433ae470849793d4f2721ae0a8646042a4469fbeb22e801446d66fb878ec9cab4f3806d43b472331db1c6681ac64b3f1a06e501c9e9927c06ea064e7e8000d6fe954dca772ef9cba71c7319a15c7d8df920867527fe6686b733c59e72500f139cc82e52799018f7e8cb6f37b64ab87e66863ff12dc3bd3e00a3442e69c7d3f176e0a1d51fe697d221c8a499e0185fd2d342110da11e430605c6dab0239ed0ad399281e9864d8acff1f1f80d44d36cb3a7ff11b7d9d0564c8c3c0cffc7f2bbd036e3ee6316f7c063bbf8b90c8dd49dceafc6b06a4911ef8ac2be209d245d5288e80ad9b04532ba47ae888239b07a4ea1b39812c4304ca22e0cd13638022ccb02923b8c787169df3d54d177b81d87aacd518f118e9bdab589abe93113f03c31a5fd1c237258523e98e62d33aafbaee238b9fc6118d198a977169bb3894b8b9051283549f968eb983c440e0ac26e62e6aa4872e7ebdac7c6eef7440e75f94a857bea674419cc76f90a9f95a80df90a0ac14d03bddda89b052131a1bd8d29e2ef09424116c88db97db1c929a730c6ed0701130020389f558ba3328673f1f30e968bc36aa08ba10e82c441851d7a595f7c531094f072a61b70e84d4b51fc5354c3a6219c810982366481e4c4212047d09aae0aec1e0a22c3e826873c96bb54da8525e58cfdb465af9525eb90ca9091641b0dd30bfcc32ac2667a951861a0a48c974a8829fdb2b100c07f0aa9afd7b512b7604f4de407f7d0d9c1465ace055885a97eb9e9beaee9a5dae4acbe3c290098995fea4685bbb54a0d29ea15dbda44ae6b305994d121125cfb2cd33e2f2c99b90d24811c363f37b811b26c5f85ab1455a4591ce649d5186a775573fa2d466a4f59a28bc265bd7415e5a06c6473c6b5b9db901f7a7faffcf64ba002a9d3634439f5b710f674c3191a26e344ecfb8439135fe7d5f9da121e9d141ffee2ba498647a6c4dfe330cf9e16389149bcc478865dded2f5225ee2ac8eee78afce5b62f36d926e0d17d0b47a2a36235559b5e15625fd40284305878c4ea25e18ceb27bfbf24857fe13f29a996a4cbf6b384c06d88501f452cfbf3d807f96d08bbec387f8ddab442e80741492293915555ea52c44dc84b698b496bd80e977a8c69aad2d045c2f83668dc98d989e305c446a6e512037755d87312860fbfd48ee1acfc496320a749e3253c1629432ad905b7eb92aa6b41476ae60edd178cc56a7b63864642d38e3311e5d249ea23d1c3bd1743b02fccc34aa488495c5b2caf1408c42b7bbbf5e68dab9f74dce918a9e224338a1b403f07c26a1a1a5d43a30e387f7b3f68ccaf51fa2d52ec919c75419dd647ed947f7a76f5231e6764b05ae0477e50bab26c070aa2788ae5b2078ccd520a2b63c5e72374aab3793912e1ea906c472d831f4bdf71dee8fa2b545809264c101d62951e5728dc39b2d1e0dfa803b1dbb8a478786f35c825c6aa52c67ef7516c5278e1d43080ea59d77f4851a94d50b31b2160e95b60a6d8c53936202bbf580d48b1b1497244c9549fa0b5985b4809d8a50b0ebb314482b46f0f3de81d6be7ebb8aacc6e46d78a4a146f2ba79dead8757bc383e09bca5924709f3f834b20786a215fac852b20d6120bcf731852c2a459116689d5c1a863396adb2ccc368848954c3206bf2615cac62fcd95d27405f32eb6042a98e0ee87a1704284dbbc173b51f96b4264740fb1561f112893a5fc3477a161b634ceb8f4385c96d0839b4fad22c1dbdaeaad3405afbb13a4c6b63208f3018492f1f65c33922a824258998fe4ac671bc33676fa26bc9335027df743993f62702ae2943a2e5887e64802f8c1e425b9945c98c99843a8343cf705866fdccff6a42011df33acbe61d200598951d921f8c5377075876163372d558ff7e26e0c9c758fd62a7edb0743b55b864ce66ae124883eedeb54bf87dca99fe685e05f5cc18793044e5fbdc87ccbb6bccd9f3f6933b0898250704eacbd5bfbb2100b23bfec478741e9d345fa54b568d727854ed920e16e757a47c7c36816582d4b0b69eb28574eb167360988af8c549ae17b533368f035a37864c73664c94027949f4386228ffdfc03fd3775eb90249a10df5651795e63f2b934b109ffb48f8b4465e8f8b89bee2fd3db94c19c4d269f8dc8cf60acd897add04dc7e14e8eb4d8588795eb28787fd40681c4d26afb49116a713b7680d2c45825b58747e8ffbb7dd9456ad9721a17d13a84022c227b0cec4ad9bb15b5b30f786e0b0ffdef7babd2135e4791fa30df1c8504f9db232d9267396b82fd658558523002814f4fbe14eaf4d502b5167b2f1d5c7e0cd7b43938ee3a8de668bb7261c07140e6e300f9a7e782ad0822a5400132fdcb037d679527d00ddc416a699bfca0d1e1e75e458807a3d95ca7eaba0d6606791a9446806a052dfca2c16fb504296c52cdd30bbc376d2943ca3f30564a37923a4d66316b3ca97a34e7e898cc839f764b8bfa2a977f7d0e516c4e3d1e010f84c695d5ad3faa1bfe209a8067060e7d3f2df20abd6ca9d9bd945c26b6b19ceab7012634697937dfd47e6e0ed5d031773a1a2b48b12f020f5e529bea36a085f4c5174bfb2020d012573231cd849854180954896f021759a944a4138c53340a508e7f4bfe5db2fda6f8d7770df4a77e58358a646b33ae0a2567492a356c2d85f32d1397430170e05ed1f94534bfac858387d1dd489cdfe875854f9190e1f1d265461cbe9c489c02e2729509898abde3e9e33644fb828f1a577c357042dbccd3b7dfebf4ff5850c449f7580002e864fd5dbff42142485b52a77273672e5970eef51485080d09d7b8f18f53000e63b322463390030e31813ea611fc988f5d9ff17ef56c87834f7743b456ef634fa9ec9961dad80506bde195a7ff8e45b2bc97732487dfd8a2bcf7c0efb7c9d3a2f903a29ad0c25b4135a94efdba9cbd6db56d12371d2bdcd0798c76e51522a630e1bea9f0c6643d3d171dbb0136e2d142c870d41b59e588832e20db2cd33fe94870a1e06727122a8917676d7e9b9604351a6d5929c1228b87fbb6e702d1df7b70a0a106d142a686985ccb88cf7724a059967c60c7821c67095d99bb20620b83c44d85647e5ee87f440193ff2712d7a4f2fdd7167f036ed09496bcd75a5d80fad2420a1556f1b222548bbf623bcb248ebf0089b025b4e43e4cf6fa04adda2448b3c5f037107cdbb64b7a779e0eda16ff3e0752a6790c68b0662a4c2368a994aae2856988444e5fb641983f38764a4375c1e5f2d71472462b390a91815cbb361dd7a09e91ddefa283914c3db7a7b2d4d39722d6c8e7c0df25c0681ecdca053c7049f5513eec948aecbcb750f710b2f60363d8bdcd5ab89021a35621e8109a3a07ebc648add14475091a9e18730573e5b84f0696198cd4a331fb8898dca94ae293dd9dbcdd46fb4f83ddc9898c626f1384578d2026ad7aff3ec5291f502224aa9037a8d12f49db519d3ce2d08b844e824e2f49a6db73d8b926760c2197f28f8914e3435e9418173782a9c549299192609d7dd399ae5ccc0238defbc8479799fb0d2334e3aceba774599a5b305cea49d493da522cba400f7c0f360048718e2132c8de8a7d9af1d4e8bf320a4a1137f4b35743a676db799cff44d42f9f01f1f509580ad4f6e2e4e74d11480da66537773b0316a8161420a74b92d3c484b9aac6c8f627f555515a44e5a173d8d1578f4a4bd563f856162923bf16b2e30297b99e0a43b03f20be7cf3b042fd449cef279f31c0f17fb002ec9211d47dd4e3df4fa3920716f4f17141d0a7085ea652477eda5efe7f4079f4cd71e8c691f60b9c9aa9b0e5fb6d5367642c4c3bfaf6edaeb4bbc79294a4c9875b1ab6702f2b98e328be732a7709714ea30fc1914b80b220671e0d272b88d960793ba3c4bf59b83e00c67b19a9a648955f4a4391ab8f9f69dc425e1f2505d499b2e2452b15f12f8c2217e87e9bded9ec58d25490cf2298b347b64e8d937651b3197e17f82e867a9594c88df9d7cfc861cf3a1a5c7c263cf65765dd836061949077eb1cea0251a7ad46628ca46069f5438ec75278acb3d30fa0db064a8f4283477fae64863162979b5718de0585cb21bd0ec6cc8f6fd0dab37318b648df49f8f67579cdebea18d4a8aeb9050cbf0ddc5eb16ede21c9ed2608a1e5b4accefeeba463c5b198ac0ff49229b7eb039846473155f1005645894a39f6e1ab51b2e3b87f586d8d3c38ff395525a817c8ad8d59e066d66706ff5b6f09e273c9a598dab6032746819f0b9c6cb76b69d75c2a03f4c8745ebd5490898a0483f950b047384e2310ea72b899e9a3c5b00345c16721f64882187dac78dad0ca1705b0b423075847ef2a477e91323c4a6f0d33f359b8ffd4ffa2f56d1f33e8cdb84cf2feafe4c0d3fce79ec54b9e9dd7356a0faf12fa78e75006c10122fb44d3ed19d47c3051b8c4c445c623a78bd4edc30b378a8be503098414284c808818df9b1a5553ed49acf0302878dfc6a876cdee06af197cb766532b2554d5d2a78472f4a6b78490809d3ee9788e07efdbda1a6c37f3441f9e8c0da66cbaed367714e40649ab7ad376b0798a0cec386e84342f5a8a730e1472545eb8f4b58cb5b24eab5c9eff1ed72a9645a9adab96e1d4300dbacb0a2e3c95a0dfa7d301aca2c8bfb1f64ef2b65b28d6303f253da5edb3f789e0e759dce59332197e7c05416b6342c0502b4ff731b716a73d8e95d1fe0c8c4e13e57ed31c32f8b00ee79843c40337d8b03a1d7caa3ed25b35f7e1a50e8ffb7da2ef42f7923eeba5d085f422b490eb3ebd29751b9e3864e01ccec9a0f78b5383777d7abe50a79a788f93219cd9546b5b528b6da673175fba0c8f497bba25eed660743ad0cc76db8c4c587fcfd2282bb596a3dcddcd71a3597dc8109d946e5a275e69a595905c89457c57e18914c289fc71443e7aa69b7731a27fb51ce9ea73ea37143bec5416f5c2f004912ab5de9856970bc4160c56691b7a6ce9ba97a9723ed9e45daa2f2adf39bd3bc0ffb9bc890147a39aa982a5cdc496e34389cd5f57df6c397c28474dcf5b55b7a5a52e504efd312b6e5e93fa1dfe34cfa443814d2a93b9494e64e6f9b5ba984a32823d8b7a6d24e191e29cd7ce8b96c58ca7de52dc51083f898c7b00b4b8a791280c3d1c226520722e4287844c0d629632a5b1d8ed722d952ddc117887b5c96495124cf6cc26bddc282b7de876c1d0aa9046a7d447b9943ab068bc52ac2f39f6d80fd837e0d0bc7efd5fac76c0d235c0b4b5bcac3eb69ee1ceea2fa3e9ca45cbc30871d64c80f664f008c9a7808247343e9f88f44e135079166e7085bd2bb6b06bda132bd2f319363a9961984de3062d62c36792d4ab3ff170bcfa5fdb101cf5d65d62956c9ac0e80c8a62c3143bde74b271c042b347a6fdd64ee02bc90f3925afc993689cc40acaebc45c8784a148af4a4c18231d3d8202398e04f38f19fe10e836a706880c10b82b8a84920f1de969fcd2b24b2aa25c8c8fad01e8465e64c37a657e77b8cca9cfb49e8d8ee3d51df258a514d1364aeea79d5061430ff93a08c6ee102bed3b661865bc159edfb9d7d6bea574666b922c702111fc27a02d710fd9860e9e8b27f8db180fbb6e175e5e60fa273246884ec0591a353abac75eb28724244583d58cf8f1608a18c1afdf29b3eda92254e3fe22c726191f174e1a2c526de6d1b92299a41bb495b29c0f4e81eccaf87034a6a78c57e8e033fc994da026da623695ae39ad73e7e1bc247842fa6d06bcb2dbbaf11764368a041d338ac30553748dad4c62cbbfc6c032c064c2782d27bcdb44fa2e86b805bae549ef2a6bf8c68d6f2b3267d9b77f1b81d24b6ebee42cb35ff5f639ee4dc138d053b00f4ae71cfc998512dce05f03317996a6d4a787fcd619a52bdfff1446c0d8f96d7021f589a82c2860de4aeea62c661276dedaaace58538d278de51a8677a44a24b4d7c5487f80d3413f841b3d02b2f7c590ce4fe84c783404d6a587385f9a0f7cd57918db136766c4ee248b0006bbe94bc9d7f9c10b3df317e1a5e45f101a367d8543115388aef3efac2f49953df5b58b64746257cb3e8db2f8408f9e695e340dbc90458089c87b7a71635b1ab94cf061f3f540128a0b7bf0a1d0afa8a57030c3c41ce6db5902fa6cf4d16965f942c418ef4558c4ef98051420d3c8580699f3679770797cfc6ad7c2a17636c5ec201cf483aaa1196e42ff90d0f8516cee152a7b50fc19afb80ed0b03973bebb7ef3bc4d0b75613b31d60aa821e3be410ae1bb5329b5f98006aa6cb7d7e9856492c1d106e05989083f24471d480a09b0472fcc3a20d99865f53f1d56edaa4c2c38cfd457ad561ee229baadb3221cd27232909043eecb5698d4cba6695191d6af7918acfb929fbc14577bef688ab404df00c15b1965fd930277c2b959ec1c747456da64e6ba719d9b426c654142fe008dc7c86729a0e68189ca6548eaa29f9cfcb189ad0911da879b7a0995b3836a1b5778b185ed518ffe59f173530af0fd7a2522cf939a9b97e8b03a5376c1099d373b99fe8f9082c622cbcab33e5eec492558265857418b7a08f505ffebf77a5f4ea71621eb216b2c49ba85d9daaae490ba0181db4338d8d3753251395a683ea18fa2fc81441c3edd4c289c4a009b5404b41bd97ddbdf619da7a012495754cdcf5089c708fb8125e9a5fb306d9d192cf7ca80a1d0b373862df6f514f900de3259292d68c2c31311bec941fd933ba6803a1c258a453c5528d66e7300585abe75ecd65f33ec1c67118e03351b2d2de692d80edd4780bba8f9c477d4b2d1dc75dcadd5a21ffc40bd00f1cb424654f492f6cfc5b1c75dd83e3a5964243526e4acfd505f23a31ca8dd7e3605efb3ec4c8831535bbbccc8e3ceca3ca848ffd163fa25010cb787d4bcbae58cf904514b06329667d21ef42419fb49e009cb6574bb850540e1f848010134842cd09f6717dc4ece7b9d4ca09c1f9ad40ea3f212677e5f9b10e28ff870b597753426cd0743cacbe3e6e28718bf20f31d79ff1f08e374b19eaeae30a1ae97324f3efdbf550621fdc915b9ec409a30983bfef2b3e3b86b38d39a985b2b4bd98b19758760f80d74b0eae01ba8381ae29a8f8fa5dbd4ce3b16b56f6bc72000edeeae8c5d863b87b88f532deb8a2302625d05c6abc1b970da583253dd662669f21fcb77463cc6c9f30f85c3e73fe612885f791882f11abca9c6796fe1d39478cc83bdce0268e63f748cf34db669536b0d9e8fe93e2b5b869abe893d2f3c7491a3ee098ece52145b244474291e3a1d0c50bf2cd7b722f98e6fecfda6c0f4f7557996cd71ae3a6634aec3b221393ea234ba007a76ae86df800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000

11d7c26b60cb3a2411759bc195a15c53fcd9441f8ec447f3277ef4d766f840a3d64508e08e97a44dd7577532a07dfc5e9ee103b861ab687096c00c9982314dab8a4ef31b71c33a3ee4fad4ba9021584ce9b7fb2f578d473c7b68a070cbb312f1b7e70d532f0fa4ac59a5b4d9c4f96c4a1bac438c7ff5357c64d86920b6201d017f981d7d91d01c4039ac82e6f9f6679631aae499dd043432bcde7445f1cfc7750c30c49eec650d2e7bc710eef248fc82ff4dc713167d13ef229dfb80620d6fc384e7452e5721ff0cba80f4dba5019f4a7cdb66f1e610bc6c9b6b56db69491d12d8f2cc51fe5d416e273e25482f3f75ab1a8f6e29e3d004c8304a02e2d3e19f7e4ff2b363366d6276f8c0d2bac1b6d6d2e43827dd36f5fa2b26dc4f0d73026babe914cb29e46aa2456d54e3fa0108f100895abf86689b556c3da8a275f5567bc48598218710aea4e8e93f32aeaf96b6ead3b4c4c808e57a2c7bbbacb29782e0be1a3244286f544474f9d0a332658fb902fe6cc930f55e90a419176190eb618350f466e8788d9ec0387753eeca2624b0b0c867c1a20acbe6e76e9319d4236d3a7978a804bb2fb7c14063e3b318e0f92cccfffc8a18d7f667d25be750892cf7287503eecc90e46371adc220f670f3b46e8186f4db798e24347c34773bf95994a129540358e788430f2b774692ac8e0cf9aba2a2d178acee37a7d9579088f04f509082d9f0aa30afc1055e73fb949e0cf579ff26ff165dee0c9f6d006902391c58c481456e007e55965963ade48ce463e9bd21b6e4f17b25eca36895277840ce008003cd496f966537f226cf931db285b6417a4dccfed6a9f551f8b382624eb1f9c8c454d645b3fa8da10de5f71fc312c1732db1212bcebdf0239e5c0b5fe3378df08abaa0f0aa680657d3dac11ea8d491087555b71b060910865e61c719be4aa63a113f0f25eec30f9d098992234173e6c752863c576217168b96d34ca0ba89a47ed330cd7df2ead3da5b7049bf4893f2c0c131ca4fe70123235e6cf309b57c0e2645754b41d30a0f49ed95a08a7b4b653b7837792959bdf61710dc3f23c2ed9fce8aa5e57d4b728925abadaebf8680d59354c333baecc251a04288a116bb3da27cb933aee4c7b3b15f22e37aa043c85f0be9ab0d00ef70308feb95f4e8aa88d3db9b8f987158655b514ccc9d193bd6159edb2c5575837e92403071fe36a54d6700e32451fe5fc41080c6e38561445bd2ed1b1578cb36e2fbe8e7ba7b7c63612c53fd0c1b57c6d153f6ef84559f56a5937f956a7594c03b137ee1b268f422b1bd70557c5e190725f2138c39f21a2a06b3439fe02c6e4d90a53379b2e2b747359fd7d7b0e55226bb11cfec0c41aa9b6904f74a9ce7e9fcdec10b7876665cbac69f18828df43841b2c09a862aae59c2a257f8abc847c848642efe6ee69ff6014d4bdc2215c7866262bf8f4ad18d40a65e23d8e80f8117c5250011d4537ec093536d382eee682ec0f9e0ecb8377a7613b30bc1157455d0bb2081f233be800321f6f52979843a617cb56ef0bec6b037d683c8715c183fe055a030758ee7ffc91d3050200f8d70b0fcbe7c24d9d23084ecba05dab60449e95931a57af49bc0d10eb9bb7f922baaf07ac3c37deb0f70eceb8e27ea4febddf5145c796d0499f4dabe732e4f639b28cfdb2fb276da9c2826e597dff75e7d88b1d319abe26dcc9a4de2ba3fadf37eb26f5a5ef26f034d8b74215dcda7f28c9d14806aad62183599281dbf51084a59f30821bb4c3da3d527ccbb427dbba0eef44573d69ab53766c2b45faac4062d24b351ece5bd52d8e2d239cd71168704bde3e1831aa3bcb425daf1aed3ea4905063c6f13f838fda0899afce70b6e8abcc56664497f23d359dce70fa8b6cb4d48933eded7420bbe312e7bf04a964304f308113f134f9abebdd993dd5e9dffdcc57a4e0b3ef141092c5699f531c4ed098d65af6b6289604fef6aab3b257287ff7d1fc6308cb813807375c6fa1dbc67a9c9b40b5b0822327e30830ed6b342cabbb12fe6b5bdf3de9e1aef4f8ff709a1edd46dfda460d5992984207df1d52bcb4d666d7a65753549f2bb04217b0af5dd584e01ad41ebbca60b83c0464a9944f8ca82bf60e292fcbab7cf5b2a7436a9b0146b9509caf2620efc10435b3a57e6d1d66c5687e1af6699ee565c056774817d7d9c6c890e192874f54582b0848f4373c555b731c0d4aa5c2ad5fbdbff711fb0e9c191a98d800d14804c68eb2ba4de8a40cb36cc132b40c58c6f88073f55063921383a7ddd052be34a788178985d05b4d37bd9ff1d6f581c3f45747e76bdc587d453a5d71992481d1c2bd90f1f545565d7c33a2a8f1b42e0622d36d12d2c6137d50b57d969ff850a7e669ec76c8ba5e8da896ece97822112e250bde7f2f64e85b9ec3c8615fcf813fe20bc6fe95b2b118f7a943841453a1b4e8446d404aba0d07fd54dd289fc574f9df019b56bb7fcc6027c26cd8aed44b9943071edc2646987cb16e2ea90e2e601979df757746fb58a4e8afa17e4dc11430dde10b29eaa599945e3d8ec9c3f7244a2e80fa13407096513ae52c81ee9b9be415401899ccd3a2becbc0f84fa36a132b6709a4a9639447ede4d2e7cd0b423bdce4c8dbae62b3a5f8d8b6baa06cd9658716495d98ccb3b8f15b68110b842d98e517b752ef948888eb03b888187d9e8397fe08da7bb345e1f38dcd341356724aa06c226d72fa3b3330cd8b3e74ffe00a366a716bc3eb1ddec6a8dae649352b7fc013a0e6659ef874ca5afbaafc7950bfd3bbe36aed85e1aaa024d7adfb3be629ecbbf61847a113c1506c72f1fad43c45bd7a6f3ac8543745d5622628da32949b407bf0f403b9169ba47e67ce8b7c6f377febebab9e36710f1d42bbcdccd6bcf59205b5d97f138e6053ad4992bfae32e94fda6d01558dd2ccb72f9e005fe3babb306473d89a8f2fbedd74d14a95e1ce16ac9eee0bd5980cec688e5dc9795ddc360810de68ff1f8637252f80f9bccef9b9795522ea5710ddda39a71af849884c9d04edd13d0a86993bada20108b69839cadc0d93f31c0d4ae734214f44076d68dc8cf116e18ae23a9b61183fd67ee1bd6f56456c4602c43f4a56454896c54a1d68ce797ce0e81bd7eb8d4015278a4d7c87c2ab7f02a27ffd1e529446f86204e6a6743bae6e47a23869ff78e28534875de831321a9ef498b0310f79bdb4fb39342bd777c37c0043107aa29eb6499db4d315cede82726e9d2c58a8470059da45388b886cb3764b6e9a945706232d93dae888db1190d63917708759162290c69cf62b9213e978c67ab71027e9f7caba07f1ef7789ee448f252a7fad62c4556255c2a6314bff5d47c77f79f3d6e0785386589710c7e2fc8c2d3e42c9d61252dd5db45c20573a10585ab2af785b5735ac077db5e7443fe8f5d84ee40dc9c9cbf420191962ca3b69d1ca5d69b1406209414a98aa71294bf9b69b628ae4b3fa62f3f101c99c363b052fd42f47fa9655e976ec9ae7fcfe324f8f9632826384c40670d90e7d1b86f35cdc44a864c317293429a84e761bf8aba412b4eebe0d073c6379a970f69ec6872e93389e65123a40c1b03caf789c07029674ff510f781c696fd90d550b138c30f4294f7d3056a7fa22c1d959807296f729280073cfc0253c93a7ca8a599de9840cd9e2d636d4a31f0933717f3cd3874e4e82c07187e3b0a5d2cfd4d5a425b8a5d25207a92aa2abe0d4b93b1e599861454fd59a8bd7298b8052b52af108bdcc5635240d65eb7e4da73bb32214a82299bb3ce7c2069b1b55c83f566fb33453dd3514df5cfd4d7b6b2c4da6e8425d79efcbfd97b6eabde7c34724dcf005685fbb74e5168c8b1d6ce60fb4adefcd66fdcfd09fe84e4cf06050af96f9d814ea953fd9c8aea82e1664301bdb2d69865c0d3eec27af77ab02eaba255af2a57c1a3fb91b60692cdc28b9ddf7022c61c25c774d45a4ea8889bfe2078c2a0fb4d92491a7738c1e65d1825428564a70fcde2282e317cbb174e088f691d1e383e1bbb06d6e8eeaa4beec8fbb2580d50721e566fca5b7ca35bfe5bfd8228ed0cfbffe77ac46dc24032c07110a43001fdc590ee6d5ff7e5cee89368d669772a5cc2f5f6c1ec32bb88ee818df419ba71b5d2a1a5a0712f1b28d8a22911565d4463ac7becbc0475add986232dffad67326e1ac297f21aae0de762a69b419a19faef7087f833c11161a81635d4ed468173f1b58a8f2990cd0e96866188e65c9b649d0ecd45d73031acbe37b61d94d2ed0d6054ffe6f03492479773da8d442beeac4307b0da5b939408f21792a5029689849d3700782257f9588378a40f07a6716a5d723fcea0dceeeccab3743e12d29dba35f728a65be104fdb871b530ff725e1d8ec6c094308a940b593cf5846df49117573ea709161d6d5c03d3edb3f5880193031169509cf2dcc5bdf89608e9030075d23e91dbd5d5f8bcdffe8139188a95d0a0e17f3615fd0e82a29da714e506fa0e6461716dc41ce6c73ef01a8046864fc87091f012ed2363864391b7862c0562911ae6e8ba1ff1090f8c033beafb760cc4fc0867d09ecf9f3a02144236f44139b6241a2f38b3e25e42413576c044d28e4bbbae46d21fb3d28c73e8d8a80e8e96698233beb244a040191c424f981cdffde83d6cc559387086b540f768912b08faec3adadb88ac0ca61cfe987a92b8112923a0cceaa15b996ede3b32da9cd389721478e1f419a0f5c90d6e9785c806fc24464d999e6c230ba37c98fcb7fe019c73c62556f9640aeab79bb4fcc9a1b47e6881bf0a310a9d9b5f46ea6debd1fcae0d3a95533ec00e9255d7db7ea83519e8730b241e451822cb1be703f7174d0fe32bcbfe9c1b8e2c7519976f306b288d860d36cb85aacea4b9ead36da1ef50a1643345c5301ab0823051fbaddf3e05ce2dfc0be9864e1991b5eeac68ddca944852fd6c0f8c6a592be408b6bc79b47fc7ec0c1700314019f153a0d03f930db1d851d62379032e2b3fa1fdf7b77467f4a6884f39a47a2a3a527580168d86114947c0e2fd732487adf566adbbf8e6873a0a7a9e392a252ca42fe5b32f3f1825e33f54469f1483ca61198bad1d46664d25bd9578e10232c7c698c0ca6088caa8141e9ee866cfa48aa4fdf8e8140e1574c5e0b639cd6fec75ccab1b61a33bcde0ec8e73693e4bed61e2299b0f733bb34d3978f2b1d2e4b769b46c3a2dc57d71c651dff7e6e483d05ddbaa933411eca9de063b2a01c775bf95a0fad2857f4115c7289df9636336f7ba2fa433ebb854158dacfbc25d2465f527f05501dfc6602509f763e6429b4e4c1f35aa94c4bb9e8c3d6d8a05fcadb25d3207ada35ded05b0cb73b4e3411c31381b6b684518810946c34966d06cfb2910f5b5253668101047cead29643875e907e774d6bdbbe71b98c8d29d580704318f839aeadc985aabe77c5e51446ca05c5fab0fb89cda0c947cc3ac9e1ee4ca5b3ec429ab8576fc8a92ad8c12ca3b6afc6906dbdf98c40664603ee4b03704a4f37205e25f55868c017df0b3dc7eaf897e1898d18a7d58a749d21d800f9a0638cb5c91e804e70f26892038a9afe335655831d6689e786b3ae2c0123c1bfe26b32d744955bb84fe0d2dd936875ae906bd436522b868a35607cff5812f955f13fdd4a00f269ea8453ce935bc91d16eeffb19e2d7b7fe687898b92f2e3d1d4f3fa0c9976abe72b0637777c25b10ded4e6559b27a2c50188ac2bfd63756e864c663e691934f1754f92a7d61bd21e4760071a248cc7a618b1e0933dbeb93b385a7c6e37fc503d73a7711a663b6700c4aeed3d9e75246578c65025c3273b273c05c747a84914929fae34f6c130c7ddab786aa550e127b7dd09dfc2acef4416f71701da9b7512ac247d65db227be2cb3ff2ddeb4c62ddabeed963e5a598ec6dadba73a83c55210ef256a27cea57b17d4bc4ff26ab6a0b5da80f67c9df0f5a78e542fa77a3df2738b46501f9ef9220457929e6877cd388d7bd2b2d0da90caec535def53b694ae7156dfb3efda83854607d670b60ad8ab6d76d8e678512c81a3a48c5c16b9e1398036f6472be0076c612b308e75f9b4b315b6184b50698f416633e33e714b4e61c2c918088c747e66592758eb5cbaccfa8a60f8e5c849e13ed2b821a8d49acd1563eabd0fc92148dcb624b0f24a035c22614be455fb1b07cbda8202ca2dac30d1454f91c357f924e33d9afc17fd7f931ae04025571875053512df50a6b68d296d3da7c583b72c7adbfb43400ff96958ff7cba82ee0d57e358b225fe1a62acda37ca39ba1c3dcc230920ed169403a414a374894b02d271e6c42efd78550219a0d649fe0e757705c119317a7d7dd7cb537b268f5cf481536f577431cfcaefe05dd5965226f724ec6de96b8156236ab111d2cfd277509e5c86b7f21c33afaca36eea9bef78d77f8d61f1223e0d951e24fe07c792c4c0db68f050e66158f8374835bcdba546de046be3dea292263151693764c139ef06b8162dc5c64a6e7c9f721bb60de408d3cbbc56534490194005873e212ad3273c5f05d27aea173c7dddbfa9c2273685d0eb194f0870da012cc35eeb8461e2f75144756e4c7e60ed94526c917be882e79315eb2cc4d79dc05357ba5e0775c721a82a3bddbdbc5b60a2b08d58079600494197cf3a11fa40363c56701a66175c430c7509d0ddd5a1c38ebed909afc848765ba707b7399ac7e809c72e3a4ec89c32f7fe2aa392c5f4d2904a22ef357931b5ad11555756f68a006775ee402f44b921f0d13ea18f79c7f09349cb9e7419d5e7ee47e978a78a91909c97470e8c9b94ae76a8cddb76c2d5b8c2f1070a18e2b168c3044d94e8533079c1b46ecc4d9cd510e1b6005c736593f4be02b627bda1507057e62040055321af1f1b4765e82f5dac036fcb9954b2e25484639b1f483c839f21f57765a0f33d3287c55f5546091d5368b455b30e5b6ea695e424b26ace09ef6990134b2c9520e964fb0a228a2d354daa28047860c08004709911fa613a959aac6ce6144a174276b7b5b1842623c842d1e1c0fbac4de0c648fb72c85edc8edec060db5d79eb0d692738ee991cba8ad666e137f090dfcf7c7324b7e7b99d18997348cd662af1e449a12b979f76bd3d65118305d1ba1e7f7f182def6f88f0ba40ed3b5f0d24cc1017a713d373364a67df75427e355f6bb097a30c41f317dbb607efbcdb2b442fb4c3dc438f93bdc7c4000f14fabea903bcbcbd6c382180ebc098b84933732380772f93f79f3d8368825ae39de9b0a1d3e03e1fcd5d4241ba832df2c6cbe0e7e200652423f505c727f2ad26e9ae57b1fef3f1dce7ca04d6674175cfe7df969dbe2264b107495e05878e6e62ec0c5eff2cb02a0120fd1d60644b88aad2a7898373825b175f93fe24470734a56b631cfb7e6d4383dcdad7058418cedb794acc7c940243576d3d753d2bfa26a867554d093d70d1f405d73250b4ad44e8069b3d419f1db3666f9fb801b378862707d2ae9cb1302c3cf7a35a18896e7a680efeebb62dbeafc13cd456e38506c88a9bf65c47792294377240e82943544efd1807719b09ede74da456d9b5df2e1e6bd84687663630e06474cb5ddf621bd66d277dc3c42cecb5bf66c359c379ea4bd2b52e87529f1827b0322953c0d846d61bb01471b3789703f93d092ef5b480196bc0b627762451ecd559a4b86341a9222df7738a549a328076adb7b720f40fce1be1df115042ee0bf73081cdebda2938f2511aceab30b2d8f501fb6407b8c356e19f3e9ce972ecef5409006183237bcb4bf242762e67e0ef64593a8fbe350ced093031b7bcbda81354f902e6ab552d9fd7dbbe5e5e6c679558a44a9b3626dca7b3788b6b6ce92b7a57be0852f894d6bf730585034bfe43fec4733841784b46e9a2899d49b20016a8fa3bca4bafdb731f1e85e1aeefe3dee279d8f215430c15d6e7e9fd50e6373d017f08f55f70f3d9ac7907230799eac750fc75f5ed396882fdeafb40ed1a335b109502d9dd058a79b015a5fb04e799d8648bba3dca5276e1c25078d1c797aab9767a716eb4efc8d9ee69b49ce7d11b00668b03861096c68318b52c33ce3fc79f6039cbc97355a1cdbb1b75f564d85af9bccff8793247bb586d91db3d6f1bcc40983d0171b8c03f4592b4590435608c29356b6a657e6e4f887dfa369ab485fd8ee6bbfe68267e3f6444eef112a708aabd734c2741d152dbdeb92810dfa3b74dec247b0061ee061de2f7d58a236600181a4f4067eaada8edc169a369402dcd497d3edb2300a07f1cdbfea628720d952c93a4fd70c5a84bd6808d7756bc8b6b4b33f947dcb4e87afc10213e956d88af4f70462524e779dbf88bad3ed4290579323a802b7a1280903ab3d78f419ff421af07078d6c11a10cec124e403e0901e9c8238125414f57e628553feffc5ca237a15db59953ffb3ed83b67f3b7cc34a7ae0200b479aa2c06ccc9bec9dd3793c2aca95cb166d1ba9465735b45fa76b9f6fd9e3d5d5dc2528673a26dde1697fd479e50502bdc2bf60ddfe14b50249b6abdf4a6ae90950929d2cee24063d453ea648feb397b4add85a38ace4866e7d411b20f5b4e152eb1b3715521d4ebc4d9580715dec9f49db066dbc253ce982e3719fbacf0dd054073c0bfdedd178acacca2de2ddb7d325e6fe5fa1fd2fb3c553322d9b6914b7546bc1e80705e263b4efdae6341f3a36dedb9d715251835fc7cc4b3b8c9ae877bbd9ed4f7b1002eae922ab5d9f123aa48baca3bc0dc2d0b6313479dcd7b81b6f47b2bbd7f91ab01ad499851a97ba1d1c7ad1e012e7b18f2003c5caa7e127ae25c136c7379aa1f468147580a8be1b8f484cba29c496774336c00c71b3368880020de5cb448497fed65156cc65682ec66a2d3f2e6d6bde60463a2ebb680e5fd163c5bb628b8c9b4a469623bceac22bbfd03109205e82c160b4d1d4f535e286f14b9aecff241b7dcb5ab2017e442ac6bde352dfedffbd9bbed5109ce172445900a53253a4fb64b3488800e2a48a643ce5d53ccc3f1043a351d42f9ed788fb2e3613ddca16ad31a87e12b5c38469223fa9a67122c82980780a6957056d1c9dbc71415a56626d272ba729fc9b758a4749d677bb99f62f364119240dcaa0eccd6e9407b18acaf8e11e46bf243f2d72648f8c5d8b4feaf1e937e5bb93e85689e543380aff597a177f81ce5b27a32db75b4a2d92641c4637b308b71b10b0b78fd7efe279cef20100be1fc9d143b074fde3a305d0379dd91a1d438084e5d4149562b5bd8b9c0c3d66ff0f343a3fd67937302145667b353efa0f97e3a2ba9c014f19bc714f8b92ebf63f9338a5f1d1876d88da0903f5b288206a7483ee3a237c3aef29a467e9ed90525b918b42bd124a6104ff6a4e283ec5c9319f9054eddb49e062d98bf6e3872e12313499bcd7c1dc9083e12cd23a3f3379504942ea39c1692ac42442140e39cff49c2cceece3d9c5d0030db0ff59c80f26756b7fb2ea9b7dd2a3a7b7abc1041b080287427c9b0112d8d82fe18d5a12636dfb583f1fd3a5b86eb1b714177b07ceca3d68c3c9b931c069798da7af28748bbef8c884c78e119e405b34ce771076c6796b216a11dd7ce936384b7ef4f4d9cab77c45194b931ea2ce7e86c5f838443c4a57b9a172439f54b15cc06cc310334216661422a13bf0cf89254234e35f21f59cbc8b1ec349bb09271587584a2b189bfad3b439ac5308fb43e16d073f2bb1ab0187d6eb76f5a250238ca41c5b29ca658eccda4132d4834e4fa3239bb0859c5885354fb94d1c6c2dc057ecfe376dcd96a1526182d398cfb0cd9837ea693bae5f80717fad27599bb9b6705c19b910cc9f8af00165e91f61a4657e477be3e19e68e88da577a7e9c67c619fa9dd66bdabfc0f44069ced0d8e7d0de85eb2d8035ebc56f394275f71fdf218a2fd5dd9c57963e498687eb1390564b766e9afa81cc3d48ae7c50715e08a1cb59e40f82c0100300f264bfeab238922cfdcbc8f20626b9e4e1dc4e52de5e4eb4d8fa76d5e858a6845f463958817cb164caea9c6bfa2986630b5b43e881c311266d4363b2dd2f1ea5371c587d1e9757efaf1c766438dadf188871fa988537b56470d03cd24c82c0a13f4b3fdab7d144d2c1f983ecc8170fc3be2ced16629536940824d2edf01df4242cd1856ddcab6cb4dccf0be16c0c5ecd5f0d5b3f99c34828eae41911be53b1cdc920e5a90836bc730158094b979edbf5231c299be92ad4b14563cd2ef61fe69b913f3db388febe75f51566dec2742a92812fd8be129ec527f04019c27fdf9eae97f91f8505975cd94c41dc42740a4215ba71b1db1c18c8d6e80da5c84ec7774814562221bb1456edb3a7fb2815e4f06aa0e3a541e2d7f37a1c6bc819cdcd64926fe646a03d42a41639e2b63ea1018fa66eb57716f606c6c8f1b19ed2f5c0338cdd73bfec161d7190066c43234141cf95848333ddaaecd5750c32e3c14c82e092fa10824cf3f68cb84a4ec9e020c2d2f21e9971954f21b0c9a438c304ff37aa78211857ef49e3e4eff3ce585f0b49bc85af6ef0b20f9ae5d9c5df9197920185c9fb3814f71c0589c2b38d6cb2680d8e56ddedebc1f7a124b5bf16d0dc8b2d8de5852e4b5e480518455d09054a0b5e6cce3cd9be179590311b7c3b275a3f573e06a6fa2ce694925c1b993bcd1dac0df221e6f8ac8680af0592c38caa6355aa03ffc314528b87009d94ee44749b8634060a1c1cc9da26113b2d34b8744be501b85f0ffdca9d0514161a04a29bff8ed08d44a744977b62021b7d4c7880ea30a780973404c3d3c966d4cb53de2b9a151957f0293ef5f1d70b6ba28d715420e01fb667527d07f576a8a63fda98c2231ce3c471fdca87b43afa57f334afee90958e10984c068479edf80158d9feade6a0f24d2424efb9ecb4ea97f490a02c966c5bd3b3d18d0a4d91d3d61931f63a3db77973dbc1c652e0b7bd46d6ec5068d290f5b31c58bf3bc529a34f296ed4028c60f1e5200a67cc4e77a1e5d799b99d7f81599a5f95839f422ff44885d56f9e1d26a875a8b07c3b0f190cabcf24b9f5bb39c8da330e7e88a03c05f9b6376a17eba56acf75591c23143f35238c7722db076dad20ce446ac93d25a42ef3f2bf8c8acf7b7a6140aebb18adfef3930146f98f0464aa30b14026788d7cc4a79560fb217981c21056fc203a7c57520f58cee163daa70ca78d2fdef93ea68dfb8073695bd908841cd8a370240d8c3b374a48dec7494cc4b929625e968f887ea864489add5e4082d6666f0c9b08b7d2aba9e3a5b20b8b69fe8fc88c8ba096f5f1c8b1e6d3d439b679dd0fa9fd68b902ee2a28e12647d337221a83184325f27a06ae452bfa991b641be6438373622206b916e122343040176ab4f2bcf9df6a35d4ca65ead4c494ded9de7445e9c5ee3c4d906fb5e10686c460d940885b4c7d531cb46cc95f8189a9c942127703dcd251f06f192051169f51db846a11397b31f1d96bc9c47285b9383f5b930ea44b0dfa6f72d390574ef376b1db57a79e8df31eba0f39d750e86ba3711261814826886e4454c389c17b587e998c1c301832c395d58fb482743573ed2ccb9967ba8162c662f2d3d1bd59d61f03353f11e66377d79c18c6bbd2f68c5fc84c5241baadfbe6fd5d962b361377a35f1e05a2efaaefc9def380d9583392830220c994cdf6877bf9c0b3eeee6d8ba6a63f39061cb88899274f75b6fe7b657519ce2756cc63746b2e58e153d49cbaf98216dbef8fbfd512609c790f9d77a6947032f5eb40329f8c22b5da5f44c5f7e50e375fcee31201cedd60c8411a9a4bb0bcdf7185722b0def985fced53430d6f33657290d042a98e036a1732524fafd584917a7fb2be04fcfff54e30f69576b30e35bceca3f4c4793a2c8a0604b5062b17e17ed494bef7c9f419092bb8fbee0778935d4729f2080b4cc843bf0bafc6eadffda5fab597ef83859ec5da05bf13d113046072c7075a5dcb6cc4d6387f8e794ad20457422d73f50bf2c604e64fefde126ded676c752127b689f28a66fdf7f9f8a64df13a527dec2fc1d017bcc1132ce93a72aae43990a45b9834cd9f2d4441d38db1d7c5fce98e451663aa2c643df7f25c992168e5d9a0f9739bb30db148054a1a1e3be6241473bff32bc606bbb17672b1048ca382908c0777f1c41f8a578e52e0a60de5a1fefc16efc49d32dbf58886c82b4a06889c9065bbcd794d2ed533f2689fa9f2d2d535252c8dd47bca489d208592dba5bc78a1d88df71ff7bb40938fa40f06609f594e6e817d11f483405c5d81a88a6ee6b14bd3fbd14fcf0331350dce39721b5abd354dc2deb25a4b5ad63c86dd4889b78999437b9f25e3827f9cc009784661e2bc3f316670a7a0797d478271ae88b46096c613403eac7093b63f3c0dea745b14681b838d86fe8cdde2c68b0e0c70db6d054d85717fe56309859e5230471a617e7c3adef022bfcbb5254f248b2bbc2dab2ca4ee1aef3edea1c71a604280b572aad0a65fd9e48c1fe6e3ea17937253c16095b7b45f325567fe41905d77a00a08f7802dca206091bedefedd2c0d850a5c9a347cf3c47b362b6bf5f5b5010ab08d887f31c842f8d218547dc27bcb6344d06e17276be7a5b9009404c1fc9f17563cb285b5e4b75be044ad885611f79d775a3d5605c335d22d1af6cd1b233285807cb615125dea047c663703c608cf0ac05bad42596ba047777a53959c88810857c6ec2ad3f16a11f012b8c7af9bd5dc5c19dfabaf4af12c7e6861291bef4effc1e198b901d2164a075d593861acbba27563cd2e0c440fe3591b9b2b156d1b8b2cf60991eeaf9e3e7e8e1b100325b14ab594a95489f7b4c5f3916b57a68876024d1be54573f646c616d63eb8a93d2c22d051759bc427595270857187640d7eebafa55547134fe0039f9aded38d4cf5efe5d35d55d19bd0b837b261d9bc9d588abbc4f2998d566c8dde076522ed15faaafb792a9ca04cebc4553078f90bd56249bee0badc4e152c29537a4ec0244b8b6bf1226f27252f8c2c4c33d4bfccc43b4f0d26234ec650f4826beb02e62f15797a35d0e4bad9d8d2102854e1d570ef5dd2cbd0e4750bacf7b8887ec0a683539c4e7b8f925fc9b48343f86518e4567d1680c8344d2275d1a7cfed999716d6d6e11dc840f06edbcd853f305ebb4601c88bab38a4e68ca07126869bd44f913f6dee6162b329926df5b287a8f92e4b187cab32b88989a71e7dae334b742d4a6fdcface0fb0baf4a8689f6fd057acd3392ecb6d282799b41824e09f873fb712ee3a5a13f3446927e78d22389e9086f25fb6b4eb3d1c296865321e5236c067e42a5e7ec0cd1e007e020e1b58f329d01bbb535a3894f7ec66f6e9ddea0fea78133f1bd2542fd6a50a3e4d9ecbc1ab1ce60b7139716ac8382e9c695bae3786107aad42fa08f6677e22300947eebc71b12a7f2dd1a4546f06e54cb9497447f6183e704c15e5d139772e32357ebb7c8f905917d7128402462fe5250fc59cb5862697693d97787b829bb4426f6332bf005f0c32d8ac8c02f5b03026108acd4a573afef01c03590d12cac3f6788a4d603b002ae6ad288161cbe394b389e6d22ed2fc3bc1394cbd8c3cfed0ea64e4ecd73d9c5f2566f8155c6efab63e409485c159e14dfabe474f7967ac8979dbd59c26859ca7dc10e14760fb53735e5be1836e6e439b45d3a5f041b8bf05b2b23d8921305c7dac9aa85abd7ed1cb61fc113d0e9d16b4e2075e7d4bb4f6224849ac80bbdd9a8e4d31302bc41d5d7bb146ab38282ea89f93798fe07928172a5fd71819f077d59adbecfc6576ccc85d22a8e4c4391bddb0536a1eb89ae8e48a476a46430db58803ddde487d1c02309e1cfeb293b160b859cdfc32d081c5fd1bb51aef6a3343e4a00c3b55b82a15b6d3904b7b5bae342a70c10ea4183c7e02ca5c498dc329b788b0932aa8ef777ee3a516755aa50d79b18d6494c8a62894098ae6073f2ec1c94d44ba448a86426533848b849449d51f1ee44bde2c99c0549b1ddf5a2047677fc25a2b988c5710816ac4cb6fbe86ff80a47c833d29457a634bc0d5a20b42d51f4a8840249c0ffa56c09890c341b58272fd55b9c49c8c00a66ca5ae51dce74de5ad6ce8920fef1ec339f542618d6dfd2191738b17c6ac3877b07125b03e637b52fc3057b672e4e120df2086eac12d6dd775f54bf373afb116fbceacd933660131c1f26a9898e8841ae7d971a65f010ad217714abf91286386b2e358bc4255a20fea48318ac06e2bea6e1271c66c460a9f9c3e091b22991454a9c17f399cd2e35fbaa7f434eff02d3e49017bc6f02dc28ab506f110d295fc89e0d0a5809313551613daefc5feb0500f8f24abd0f60f4effd0d6b1473bd09d86aa9d8e5ee6cbfec55ee9b0088b3090ea90a7afd4dd8fd24ce797de6304d6b755d51cca87f4d862c2bf83b76c97e792509eceb01f43117e51c72e1a0ca020695afd51c7e0e6627a9d90bf7f6a4d944b5f7eb1f58bed73b252d0e7ba1e887c1bcecd02a2f67cf35e88ec46f2284faea1b4e506630be13b95080ff316278d8366fc97c3ce8486049c5addd2fa1ddfed177e2f06bce1a3ae302a0ebfc1e9a4b4fa560c219532dac27e0d974fbeaf683d673b247a1fe3b2f9a75eeb0dfd6e15e50301c57c13cfbd3286ab99dbdb70ce6b48a479f746918ecdc41083c58df4aef6e426488e75c83e3fe9cdb1fb8169688c7e7f612f24991b1f1c506ada869f56606dd221c743f1ce733690ff0c8194672ba787aad2c72f4c412d0352cc60ba85dd41f00d60158d766a585afb4e5509e4e8f610918fdbb1790b77226159a8b07ee6ff413f23d01e91ea9f14844eea5f40974485566e637a58d4a6b5a78ef6c46c234eda2c61eb1c41d896ad18296a539382ab89d35a5c2c7e73a2bac06f03d0236a38b792601cb2eb5ee631efd11384e365ed50c02560fed67a38dc62f82f3adac52b6d460b14acf7b11140200e534af4bcd04e4bc995002f6313587f355a2a97f0d822f4fee95025e13862498093759d540f71ae7a096b845c57fb9a48720ea41abc2f3e9da91cb5cc2a2ca145fcea80f229705303a2d3aeb1578e9152e4adc0c49b6a56852d8592802d691932d41e8c629bb0df928794c197ab32e41707f5b660dfcbba1bb08c34e5f3fd4c922cc338674080b4d9f68ea71670ab3f0797ce375d99280599d2e480a41d560417145c4c61c7c13928d1a87b863ac232eb0080ac61c5cae6d72b278b165667fc86afe35e8722404d44a2187a2985a2d137a4ae799d9c306d30904244d32f1e0ff85721a89dfdb68d458d2da46f4860b05b6c407c48b445c2e8ea67f89e8bff4496b2db83d9f248b19429fa10f86fdabcf31b3f981721b7aa501be345dc03cd7a9e98f64cc3d45d041896869165150ddbc6c94037feb5985d26aabf173dbc88c20f79d28620cc93f0e4c60f253d2b6fa4d5738d6f33eed544c7a3145425ee180a05848372893a272623682e35ad846a66e6ef23536ea8fbb4f206c34dbe726818790b13ca704e2df878f971231dfc93ca06f8f75cf2994ebaf3a8e81fb2f1a5009387ecac9eb0d104f80cd4a837752a8fffa4920c8970a6aac96120ea81aa298d8b8b97b0ccd2d198a7bf58e09edf580a3c256f3385ba51ac1b4035377bfabb75ad97d2a9d5c029ed74a1d71f214f0730e2b53d85b5ec950849cbfaf367a68a9395322862a2878a88d4e682f7f02e07f4ac020dda47affcf92f2a72b74563204baacc96b7ee281d75bde3ab1a82f72499fe478bcc5f5772b3644106a409b209bf34217fc2fb3577fcfaccb8e66ae26475040fab12d9d53996b847cf936f639059592bb8a55ef5c9c32d17108fe56b54b1d6ded08baebc872a13f58434d1e1eb75561831fc37d8d1f54aa63a901b538b9bfa6cc6983c4e4bf5026a121edbc8343c6a9c97d191813e06b7d86a316431fd180dedfee645ce78395bd2bc384ea8148bc52d01441a3f2183ef134d4ca0f11f7cae750e0f85501dc7a5b41e0b3262f4f8b404003785ad20019b66a83a7fe816de0e329fc6ecb80a4e4a934c99c5573990fe5bf5260c154ea1e0fa42d05e27906a13b3df50429bce97b4f4d938cd160ba4aa79e50f531a0875e258424cbe70d4be3f04493c192c8a5db909738448a3765eaf67d0884964c27d211abd1a3cea96a4d57ffb57eae446128ae178dd7819d9d12a9b6223d4336168540851fcbc88660cab6c48ece414a16049713d5a8c343b326b6dc0d017a524e4028fb20482043cb03e0be9eb8d95c574863f08d13ea2baff85b399098742aae7fc86e357d35890e371fbe61464a86b997b35c324a997148ac8a3de50fa46d61c17be7d20b51480dd370d51936053f1144ddc6f33f2682605c5160eb137a44670cb870f00e9b31010d2171c7711c16ad513f1e8d89a4a23172860e4307974e482fa1d994cb3108d23229849dc503d8d60fb1d0c9c4eb3f03c6547075db82209af1c05ac49f511064ef07d272bdb90dd6a9080927947a9e5e381cdf2eb3c3b242f965be22f8f5f5be63eaf351d4c6c32b6eb898739054e6ceaff395a3697fd384c9fc5d0dfbc1cef7b4c649294403e1a801a1fa8585ddbfd5483ed3e60f825438faa6524aa4dc4bece4dab625501d3a39412203db584bc6de47e1c7edb9288af1a1ae3568032c4601f29ff813fc66d3130eed128741a4954077bca20f9ad3b084fc65515bda3ee4214d47430ee8029d000c19c7f299452b46dd02f206a24c46279cbb42c5f25b94cca623f445dfce29100937eef40b0961e783a4b11c660c797ce6cb9e178d33b58ce8482dd7acea67e47a12510a827a014115f0c283441e1220cd969356ddb35dc0f8ddf65b3275f8bd7d8f35a75cfc7228227f6ee5d92781b8f270ee09b533596b2502761cc67d186b8f0db79ac0679ad62a1bf1456ecc5cd8cb1a9ac6010c9ca7e978a2061603ea15dc1d8f0a7a77b0ce6aba2e3ebb64c30fd888a889e61d1b47f851c112359ef41f0a2db07609114e797c6a840cf518517234edbfdd11e2aca9e97e343ce6937e2013a54d9f71da94180af35ca95716202d8cdf89c1a5b3bdf61dd96b2a6a03d2517a221109b8ee4fb706890e92247b4b1e331c7803df552dc573e46c273254adbf5c7423e9753a269afde7765afd5122e922b623a4db5c5e1723d2b3c7986ddc984d011ea48f48b660efce559738764e0379b18786f74ab3784da636b72068d7b3e7bfeb2e10250704fad97d3d8994fcd99737a0fb954f68ef58ee9e36f2cce63bb2e7b14a6a8c7cbcf4c74405cacda9bb73b1d2eab3c06ac9d641d0095246eb30d29628b46c01ccdff32fc6e8b665c61cb7cab08cb318b8eff44fcdbf84bbcebf08c66dfe1e66ef53f91afbebcdb7fa6bcf659b39694fce9b7ad4a8e810785b33193f1b5bb16b3c4f274bf175c3c97e0b9ee82cb5eb79a017c955b259253a51d4f0cf63a01bd027c8a335f36da6ae7905288bd9fd61d303cc45d3898fa9af3daf59b657bc6b91cc58585c466772938c0c863a9b1072bc2b74cfd2b01934e17aa027386ce57b3ab423fef90d579ece6d02c99a011043873278037e27ef193268472bc6c1d4453f8164746ed94284344d53be5e6d09a9f679e3a385dc91d825599250e0d6b4c0007d03ad9a799145c225394311682287d32512da90c1c464701dd9c2b172b773997bd1427ebdd329fd669855d25c1493ab1c4e8d29d806642394de375db92826298527e4559a69407ad4ad64d36d011ab323a913b3e43508d62e9cf73962faf53c1ace847369136850acb7e2cd0d44cececf0dab4125f2746c92de8b57423aedabf09f73a1bb7b6eccb41f1af6cb9fc4269a2ccf9ad3303206d08643b0c3360d8196613fd8c39740b21732614bc7a6837c6da0546476efd72d60248fe3e28459079e21c18a2253a3911add94a43ec7b9361424bcada5485392e0f2eb20b78a10aeea66b0b48f0c8fbe835c8b7e8d21be451c831efb0cba5d9e8983e01b247b66f23010e50ea1cbdf71a9c3860d2af0acca17351ed397a177e8a41e3ba711a905e6fb38caf81c6a48ee44274440be8de9a0cddc006173c6afd93452577f4390bb33eba9bccf95a7cb4c263b289d08e7844ee02628f15e01bc98a84cae2efef0505516072295b9b74fb40d33ee95a2eb474d4e82d70b9b623b175eab8d679b6fab3c00ec4b43ca73456a7dc2d5be8189316f370f3e45e9ba198df841abbb8dcdf0a4d0aaf483a04266388e15ac30b1954b65dae66bb6614f1af37c6720459d9efdcf306a001a545f7047d99db64ed37e667c6085f3d5617394562aacdac69f49199df486b99aa28ad9821917e0755fad3385efc2c0def75a032efbe76b6120d5432f167a58bb86251e5470bba582284a148b4d0d2ae6c270bed4e654057ab7fdb37d257955a48b1c126f04c53376e1f4b349dde57de845745063ff35be3db2f79c47c28126c35b77f789fc1d3dca973e267dd9a79e9842598be7f8d4efdbb78c00d046360e804f4c397fcf4e6a8a14e0214e7ee46b169fab1401d51eb453e9e9314064800c3e4efbac471d1d5b4a8c6fe57f75cd27d0684e6d6fda4e7b6e8a4f8e0f719c9b68462a140ee63d4c29f8e91fa2eca4c5d6bcf76a262e0314bb7ffd9b5c5b910295512437c52f8103c00cd428589079ca7907d57ad7c9ae9dd25ff2f936017f1019e163094308756652c1e159d61d38edef56c8fa8671c6eedd21a28daf5c3d9bae1e7fca1cf2bcdb1a162347f2562e4374082347686f738b78ddfb21969a851ccacdd8aea2382877e0d53707a84c0784f3a598dc48b39b450097b337d18e74b94cf249a8a73782c1317f6ca2c2c45b89ca95dbd621abb089c95dc8792c6840372e9c98b7f1c56c2219fbe573d749d609e23e023ab29c734a1f16d932489d8620b299b98bdf126c8a3b8ce781db100f204a86fe847118d813990378d7d9b77323bb3f153f7a913e637690dc51027a5a820179a7a1e8bf0e89ae26c04283c08b9bd4a4e99826a728af73ef90ce9130718b025b0b5c3da22644134397b4715bf4952db6f122318139bb176dd70fb5c88474e743f8db10c1505014fcff8d4a3f1df6b01d6bec71cf6ffb19609d92590bf8acc2450f92567085f4ccd01ad777f3222eb1bdbebaaa297080e9c2213d3044abcd6fd920ab865d4a432ead2fc82756e1cb8df1067587f6fa3a297c94194e3befe1a4ce04e2a7d3ea8eefe480d25049f0a91a8b739178d4f4bb63603e96e1ff38d2e11e5e85882661d9beda3e3773d7ec869257f02f0498579f7be7a54a90fa93775a2019cb439d57758b2c148dff71fc06e9e46e4a8e7854b7e88c150d0decc751f0f7a29b6005f772cf27a9a80f0a470a7f385f1d12e35fede8634115eea10f7ca7f55b028cd421cd80603f89cf02fd4aeac4b44f009f02379a575eee1d8f667d115ce41486068a57200a998122a36a2278c733f51b8370cbd756b58c14dd610dd11ec09747da206689beede76397b8669cdcc99f0be3569ad27861c6be6e6c378dfbb0f9757bbe985ae35e09d29218ff50e9f36bdaa2c406f716ee174214e6e8ae90ff0c72ac4d6ebea1afb1aa60c700d3fb6d65f16a3804606667e762beb0e873bfa14ef0390bde9c53fbc171fc37a6c27445edfe9c9cc4bf7046602116813b9c13d012d617df3d37fe2d493a6fab2d49a9e933198d9af69f28902854ab9af4b695599eb01abeea5b0e9dc99825060365150d6c4f5bfaea8047f20315f19389649b04233dbed0dc7357d190dad26aff88ca2c50eba1602d254a2b4c0ef4db839416dcde4bf8e1bebcb2eb7e3b118cbd0c7c007c22d5e218956435fd2811e389010873d3e1bc7701c00eef99cba0157e1432bebc4c06d0612851c9fb9ca64bff4787165d25cf57a18e18907111bbf4b72beddee565174764a1c6251a8af1a50c2955382ee77acbb0f6802ba1b66942dfba2fea2589a1a189343ad4811e0272468326524b6a1ca627facbda46885858d7a6169e3bacf540272322bef2cd790b43f3ae7d40e54dd50964eb5fb4e39c93b0db7777b935ad17a9a88c517f94eecfaf52a539fb80892b297feaed4318be3b354e9abc6c36354b44f29ed3b29cdd457dd91d314f925794dd8abee724003888c1ce0a5c014100a6beb05064c80922f652db25c840e7ad7f095fc4b917a10971d5f5861e1f12fc0e9059bee00bb95f384d6e1606603d8f84a61fcd7afe09169cae112c3db081c775d7396f04928960979ec68013871f1126b3908f0567c71a5e538fe4c6302fa4b4610134f2452f9bfbe1198161f6b5d89a2702cacce789cb4af12fc05126c808fdca899835f1e5c1af19484c9e7d1926a2c5dfb128c2ebf73643a015d3b693863c3a47160e7ff0dcf1421cc0fdda717a4159ebabffea08a29b702768a506459691f6b5e228937af361f7b0976ebe2baad7ea4ea13a011c5d8c83fef7c740ab158e647e5cf70f4b2a2249f4d88ad5318f64a7671a8a5174dfb71ce20971c34cb991618d4fdacdb321662e0df68a8a0e6d037c6193ae8d428052ba5af5afb75de9646d89854fd2badca40d5cb66baf7f23c26d64a644c09df6564224e5696d8dc9236279ad2a0b5a7d601ad5255dc172fcccf7bd24673f3fc940a78e677be3a6181fd1dc44892e6059821f6c70d6a88b35bffbf61d65ee1cfaf036ce20167506c51ea1f646746c8cff4628eec03d8896d65775bc3bf28b4547df99e99fc4bde9fb9566d51562a69f9d37b13f5685a829e474a0521bd43b4c0916dc370b40ceba2625b92decd3b81bb1301fd39c8a4e6089cc84205b9ab274ec1dd4bb196e62eee0f0b1fb82f83feca0d21c4b866a204074ae5a570c3c66d83f008d0f081f31b0603ad40154d9de2038dddb037c736e08fb3a039cce8c002d1a770fa4f2b5ce1eee4bf5a958039a00a52c338df2e2d7a5788b5a4b0607b33bd1248dabce80615c3eb6f0748bf5cd315d44c17f4492952ce34ca01040e7eb505ac86dcc81c8c5a4c0b0ff33e7aadc34eacf98cb3d7e572f387b979c22ae40b60b6fdab1a5df98f1bac132f5bd6550819c68ce7b98f4b7dc8d240a6920b81559cfb6de7e32f777c9ddc82dc05777f2094c8563d515182bb165adf3d8278004ff3552d7daf4926e67939428103b6561bd6f7411b40bc71da383b9f84ebc5cff8e9df3dc7b197384b25ad787b5f8feb024d8ff1a36fa28c6fdef0161841fe72a2765b638f3425283827947275c95ee1fda9f819ea781aea3d127571e85074a54af6468b430dd3e1cfddb417bc398384333815399e669d218324d8950f45f6b71883f0142084cdac112f85189ccc0e24807c89f8a1783ae02c94af4e2c3eeaa90f0a7a64cf758616f74f541cec3319f72d193e3232fe370ab344c4ea144ce85f5555c9f83b4ca45b98652b57a8b63beecf5e1995fbbef31530b1328a308b433e49991694ab1df8a18be4aaa98f6da5919a78b93501072fd509ced33a810d36ed7316eaa97b135feca9515326b16d4a98b209baa94a392c45f8223045a180d617e764db49091afe1427a20144aec451cf6edfc763baae1120bdb1b4110c2f6c581f01b101adaf8f63891c780ac46b479c7cca48d640c2febc16b14f0ba8ceca5f40f008871379119ee0023a4333e1a1e037d93c46b6f62bc5181bf7086cc4e239832ae2f0c11995e64ad9dd546c06bb11ded7a8e6345686e7a71c7d78d25d4de8da07145418e08aa3027a8c6803e72f2ab9bef5ba2c66ed8320ed06b3575b1c6036a4687599ef66eb8c681e5ab4c58935d87a16880caf0df7e01dff5a715a6129e861b2be0fc97b4f604737d19e2afa647ee65ce8cad96829a5c7160a6a7f90dd713117781d1896a5375dec282cc43d611e1fe26949568fb1cc47a3b7a8998c73bec0f4aa049084be795f872af63792eee90ceab897d5156e8631ad7555872bcc6fed4a838875c896dbcb60d72c8cc27c2f11a47c9d7234368f7cef94f3edf1dfb1878c7ed4ba3c32af3a7a7fb6f9c3178e06cda04d2d9dab87a891d516546e1b05eeb9858c1336dbf484766e45a4fe5d3ab18bfd4850320a8e0e43710f8adef9921a4d53fe0213b1a3d852d8689174c8e7eade8e8e14c67525a3dc9505a0f05cff1d19c9ec8f124b97176d99a389ee7faacf71de4511be6da3451e3d2f832cd460f32e14466795e30f3c5b67113386b10c15844de00668dd8b902f0a382463570ec955dd0f83f0df7337cac0269d8e0f16ae1f1aaf5ea9107186d974b8a122d12f1170e5b0a4583f68c579403b557b334a6be78b94bc2d407711bb016e5273e58968ea0f87495529f582c456ef157138987aee28762a164d3b2c28b3267a29d928d8fd52183df1190bb905984ebbb010301c6dd47e884c03715a0266599c66e391abb9a61cbff89b2aacd5eaac3c247198824abe571c2e99f22185d23e5e585a06aba3a0a12f8020966a8fe7dbc281f1dad58de134c258433e889f1bdd419c67036344a44c84123b62a8d3ced1111fc6e1dd0358b6dbbc676484a70eabf0690b5ff42a78b2ac8b48b1641fb563b223b7a5124bd9f0db07e3479efff6c40f61cfdfebad74c2286df6dc2ff748410ee8e5ad54b90d3d52336b8c72e2324c4c0ad575ad9ffe891148687095ce32ca0ff41d447584547f914ebbb0bc88d51698b01fc2dad29645c88f17e62628b5bd98e77e93f927df0fdc58d5923f61c072138b63da23014888067721a275f180929f97c97650e50d319edfae55970419f1e6b6da0199bd39d7ce008fbb7256aa4bef34d4a2b5966482e63b44f771bf93a479517c6f9bbe1206786aadef6a6e1b0a98225a9e35872321f4680f24dd3b5730e1551685140d7cdf657856b762b66282b600ceea77422d4a34ffb25fb99ed95a2a5fe700ad38a45e438960cdab766fab494bd5719ec8a1d088d643145c448c009ff88b561da13cf7cc3fed81d659faf6878aab9bb93d428a094ce5f62b41635378d5d712043c947ed9ea1e5c93ebdc5ba0e44896ad3f63001f598a50d4313dbea092ea93fb020c3de4b3561a6c3e200f8da1af6a0774520aaa94161ec1fb4875edfe75870d3caf6a8141a9189ba40eed6a92e8bb1ee69f12f5e529698c83e4d49395d777a9463caac466c2ef154b5ea8b411567ead90dd114d43160d2c2f3eb507afc999e812ca4f8d5f3ae444d937cae24479af3fab1296bf489cfb5dda14242450db28990f3f53e2acddb67b5b63316b61a30e017e3f673c1874caf87c8f8aa062d975808d432694dc7673703f497d664c623030f4bddec31d54afd8c5ff014cc6b86546d6e954f7f62ac1544a89a29a3216e9068a37a79501e5cbe7b54a1f8cee81cbd7f2924e3bc841f01bb6c527e7e7e3020e06ed5b2f411e948c418f6882439bb2e94c369bee174c4658c490738f92822529f181efbe63511d00d5b8fde7eff59a185bd725b5b1b4b11eda620fc3cce893e74ed645fb045269ff54d5a21d9dd37c09fed78af6337b0050edb63f101c5d0f1a9f4c48adeda87806e8d46f54babd96078e367d5bfd18784be87447e253e41d9da9518b8f86e0bb1a260fc9b6c0eea22610cb3fad759dc040e273111a2a594df7feb048206afd777f45375ec536973758e09c9368c3f50233389539f65af7f5cd9b0f3906e0452553a2340af65b2e1b1b1c73a2731be632b65019a5db8d2a5c8ab975a0cba6c827ec4216e49c277c03e0571d116479f61af9db95d6b0a7e40781d82efad891ec1be596cd9d0e6ed2e592e0d0160e428fbc26ab95f9ef75a806765e303f2d8fcec4f576f93d52efef3e2398eed556c82c7a02b414b8ff0370c0328ef9c43d370a4c7a9b8581344c13912b82e149fbfeef41d636b98b54a7c446663be778afd8a07b9b85c5b6e8679353e57b5882377f66da908ddf4098455778268e3a96f4ce11943fa0d53688b2078e3b88ebc91c85a3becc4af3f0a98d551424bf30f6601a726d63950ce0745a49df79477f6b7f46ba834ddc535658df55679f5bba5d3ddb01712cdb2644a84f0cfd5cbfd58b5ddb15314295cf2902e8e027038d08cd786a1d0383208eb3864add6a3b84db2daa165621097d41035fcbdcba3ae07ce7a8b1bd1a63c98320793bdbdbfb9a939cd7d8cd89640b5f3ea2a6d8f645336b61033156f383ed7fb9419f4c25ebf86ab2ea669cd9cc195274b001598646036a403715804325a3377cc8c3e64965699eeac8ed1d2b42e5d42d5f0bbfaea5ec18d17468c7ef3812d50257d0d5cbfb8fe50c8f7575ccb13c2050d52d020336e3428d66200265b283b765c519e484691f62de0aa3aceceb6798212c595ebaed302bc8186e912f6e7f861a2eba8fab053206a3733826b21c2b1a8b6e73cb7388c18600f42446b60ac43372a579506704a613502c2132105c3a489097a120114aff1a07f58004e3a05134a0e4a2a9b07cbb535430414d86b2f2125e7dd8d94b0f8f0b168209191884bb6d187b2563f448cfe1c0eab2a678ffbf0106406327daf6ec3c21538fa36401c12ad1ee501ccbe0a7e3b36b680caf0ad0d4bc7d0417b711e022f70296f4788c65c115224ac74ac58bdc406267a39a40184a6944b8c1d5479f0621aeb6730c1ccbd52f8e69fd23a594ead03892cbee3e0c88e1541965c442b94474c132467873718bdb3a37f791e21d913e31c901d854a7143666c6374d6250aa8b21751c2d6eef482044daa7eb594a89b6bdcdcc98d7a4503fcfb44b02f488f3eac91b201a3c8db818914b2e3d1bb7c9f7d3faea760c2cfedcb585e011b0aa19040a9d9e7ccafa3a03dd644a3b1b59052db614e89160aee9dbe849ecefeefbaae11d0af0e8aa0049beaf2a6b5cf50e9230a10100b9b92a842ff7e5bee7af1aaf0c69c6a6439551ceb499fab008e7532adb10e364e2926dfb032916fe83bcfff3b53cea504a58a41f9dc226cd03a8d61f6f9d982def88e8e5b4f4c3c33b25f6ef7f240b4273a558989b15a5111b544c338de505d54238c748c129417275c5887a2d8cf1878a3ca5d4c24a55439d9da530fd774b8b99d7f2819290e301148ea2bfb71998621818a51a65d3939cb1e26e5440af4fb9ec2fc486bd006ce018fd149a4d783cad28b37ba699d19c76a8ed07e214fa0b491506a9819926926b567871234a21a1bfdcdd3de725db36b38900bec09543df62f989ff55538338e8685dd980f6a7959dc867499dcbb14fdccaacfebb09495ab0c05d8602ecf4b598a3a91ad385771278d1ee6b7a73826084793b4ee40040e4684a78c333c2d484f75c5ed48b0db121e3638dd10c98115273439cbd108d1dd248800262d1f5c472e6dc4be60ba6f6ab661e30ada080ed7b1a7962c1104770776b15603eb5f1d13b2d14bc427ce0d6a571645da6112317891397aaed06cdb2c1d2776159c064d80b211e25d470a28e8e288a6c02226a60169c56cc65de958d39ad9d31d571b2c894cc839b9d1739711787a380722aaf02a4578776ddd02a36c15895a3c05b1c6f717c34599276cce4880f40e1a4bbf0c14d53e43ac8a1f379e05ae196a65a68a09a512270c7ce4560e0f80e8dc0d3845e0f1d28c6783264af9c35e1dcdc2843c932da2723cd7cdd17130a4fdee250a99dd620022fafe1764d1540eb57b26e51ba11c054f9d1191f3f8feb245fb3d2117066ea8d92d53b28f9a4fbefe24fddeb029fdaabec2ba35e509fc106b96759657db4cf9a51aa5d0d0c4eda393be4fa84442fc43831f66acce14fe546b446b350a2f345ca2b392fa653b5a16054a8fd26459d24d7e5a9394edfa969771b66db4a8e21b29d67d19449a52516c447cf1a2f802d67a73864b08f45c8efe6d29b3d9ffaa1d0236621ec16ebe542f931c55251d1a52f57e46c4d38d4c932ea4d6268ae94c2048ca9ee54dbb2e0d4f25218d8c63e9cbe0b08844fc07c7d418e3c2fc26130c21f3fb13f2a5909a0fa1ce7e713ae046e425f04cfaefa4bb32d74e664a84ccc870404da3602bb9e6e7a9c93f2ec45a8920b23eb23071c1cd90bf480efb6fc19bfce1170bc4ca4b7bdbb83f8bc8be733f7e921fe99a96fa668f68f1009a9aee773a255bf8cd55c41fd530db4e2f6f6771568652574f385a92c8fd7a63bf07058f2d6e32368da432eb89b4d1a45436941579016e0632659929b0c6eda158174a047f8244d403c57d9a32000aa4408475b0fc34244baa77fca1fc1d3a7d4efa2fa259ff9f4d3b0fcde48ad8d84dcaa8c080b5d326ec4d53ed77de757a3a7e4d66dd83a30516ca592ae9983bb0def60b1565d0d6a59142cff596c4d1a33f454ae532807879d0cd7f0215ab78c432427bbc312cdae74c14396b1fff723813d3a1828d5257bf4c72bfa13e80537f8d834b3738298f5f79de2d3316e0a510bc3c99878380f08f7fb3879774532c689e08b31b30af73eebf8aa89d673d341bdd43fb9b9cc250b1160f1eb2bd5a8e160ff4036910bd9bd8c96a31ebaa76ffcdaf27e0d7db26bfca3487f819ebc5b378bec47eb063adae663e9fe9ea32d8929e72d5cbb72659539afa0ab0a4ef6f6a9a97e071432457f199e8005f65e846be2be2ac18e84469ecc5d80304195c28ff0fddfea7bc1ad8fbe6d7834da41f0de0bad33c640056e24811ef0c2722edcb8342dd92f6722c56647ef239801ded5d8fd41f1448e8bffb5e779a3963fa12a640d8c5e1bcbf6b79cd80be82eef6118ba9a8556f928cbe3a7825f17a7aeb64aec416c16077e350610c3aec42beb6c9ede44c533a5342c4766da11ebed3650e742599c1c498a266a5ce3e21235621d9709b5695c9cb88e8e58bd4a61818f76cccd8674037bfc025c448df24b397ae8499087d6451d9f56fabb254be1c0faa58d70d2711079d36e9564c52005536883215f0bea0e5729802508031c3c95a13c54a1d89656a272d91eb48b05eeb519e0f79391b99d24f09327828561f0bd074edde2f5744068adbb7f3602d751a39cc662f5f767f6c9c0b8f21039df380b1c2e177a8496d927becb892b0b6a78e8cd1ecc29d6ded74efe944c6e34f2ea084fb21f1c8eca206766ed6a8c26d50902a33b5efbc5131c57b74caf78c5377e4977d2d724e58fbb9e61c3bf4b3efd73a71384cb1ab1f217107a7d5a3ecd8316f66f61e6428c339232ac4c3ceff1d4731573bd7c53e36c0d92a63899c8464aa501c4e94739fe8dd2e5d3a81cd3af143ee39cf94eedfe9bbfd4d27d60fcf3a55458e2557fa59446114407734696c60b8fd1c08e8d464e89ff4218129b2c4bb345ef4aea16bedb0384ad7f861be77ba7dd157571eb4477b475ec91ee6f33ecc43c0e98cb85bcb76c6e32f6a2015afe726f4ec76a742ab4e3126d24554c54c8354d385dd920eacd7337eb0256d697770aa63e7e00e443cb701ef7d2b911f5ed27dcb9f881faae48fb22a1e0d37690789061ce0646ef384fbd602c569ef943f9b9c044b306f5adb49883e9e4734af22a16dffaf5908e053dc683cd99c8a75573e333c8b847bc74eb547d8b797ad60a31a81fbdc6321a7f3a09222bc61bb7d5f105d4478c2df203c31a502c52e6352f9e2245a9dc52296330346bfc2451e49352fe17b5012294481e4663c63da18a3fef8dfcb7940db2599a35aa3e80d19c1a6c541ce5f6ac0217bd652224356424950a2c713742f622e098549efe42be821acda6c91e79a454ce961af82b56f282bc72d96bbab82693aa2d924a1b4a6b05fd8ff4b60adf24b84fbe5a114d836b79b74b2d8616045e955c23ecd48d9205732b9127768d74c8001674745bfcf9729ef834090b6f7f564a14218d02ffb990ef0cac1d5fa39b1f38b8058251743e1f24aad74c236f5a94c5e597f801d9fc0749e83c38dd8213b243e38df4cd37291bbcd2b6695e7a091c0ab5a839b4edc093a4aa77156ec23526feca9d811a53985085b82ab84b4e6a4e33e491b80972947c1ffb3769b900baa0df1b963ad9a5d882d8618f9cbd274dc5a52e23b7caf88a595d83c2674e719b8d39a422cf41529e0ab31440d023b81254a119bde96e5a7cd11a52f5ea498aa422d4be990986927899e9d6fe1da3106cdaf1b732e2a85b75894c58042c1bb692aaefb46a0cd197b7b8dc07389ccc6b0b90d7210af35ffa8581f9fc147c9a4ba019155a8f0276a62b4b57d3cc78616f0797a37537ed33fbedf2acc41aea2e192eca04e4c077c9daee970a44545ff017506be131b0d9e292e3dccee4cfebf447756fadeb41de73255970b121b895ff6b75ae7b14d23eb2bcff682952271c8a503d6fca1fcc388923b18504966fb418a8ddf2cbe8bf6e97a40e9b4e5a6b8715c81ea8c57569380003ee634e859d471e61d6fa5fae96637278282f1600b4a8b9c01fc3b8e088eaa506272abd7325b2b135551be3bd1322d0eaa89dc62ce99a1b202d8ec4dec6b5ce6e233c47c2d2e8c112bf33c690dc405daf7da3b32ed509b6414e2c1dc59a27a7b2fb40e9c56beeb0a78a585717b275342d4e8fac72fbae3525bfbb3259de5a2a3c8e8b098c33da193e3f82137e7892a0b7d93914d6ad49c940dc014036067cad9f8d87f4650fa484a6c9e902e5faa184c3432bbb3e4ba7e77852b2a7a5a52e1454a19c739e98719f7e3b8c4cd88ec0915380c3765ded17b40e03d2af43af1be447ffb6b19adfe1dc6c0c54c5d11f5e3c7def46827045edca4b85696622b0640fd435e5f86846a7cee02e65d3ff8fb5a3e726fe4bb171b59a12daf67769f7c818a4b8575311cbfde3b26ccadbbb1dba9c92583291bf36d20369f61152cf4bcc6f6114f5324e363ed9bbb794ac41f81c14837abd099270509177394f272277e3756d4bfe86760e9bae790120aaf320d32b2720395021216e27846b82f554b5d9c919e46c4cde0645c7a9339c685b065d497731497e3eb184dd78f969f348b197af1e3d1b7d3f88f7cbb85594d762048410f05ea9cc6b34abfb711573da7f11c27b8a94e61df4e8e1d38665b64b954aea2be7c689f9684e7dd3977a9037c7c8254f50226e7a9a72ef66f10e28fd21b40c1ecc35744fc36a980d5b276efd0b487ea69c388b2460744600f239dc8ef09d5c8a4b103013f8e6dfbea986e33cb81a5d53ccedf5165a902c781be4d2233a04ddecb87543cca809d849e8c9d24c82a6fe450c5742ba877c9130164963c6a1c38d78b62bcc7af8347f8171265051a692b56821c728ff35dfebbb29ec338a36b188f7422b3926fd770820e9731293e49d873a96c260e6e7b875574396a583e1b30ddc971eba192e7c222aa5b65c27f358295b73a6c5ad14da5949d5f93c0891f45b4a16ef5e845cf7d369c88ee83d3a33360c319476488c459f1f04af68a59f0d1586050f59205922c31ca639f6d9b8d26d21de167902c361a24a92472647e57d77db9fbe4010fbf9406141c292fed3ba60ef13c23ba650e12713cd9b42ac2cd96c3bc4595bf8174d067a63f458233f2fdb4eef6b4a962f3de540c088f6046b3b68e90a326cbf0a8903e7bc771441b75c5b9ae7bd2b6048ff3e408e36ade60c6df68b92ee74f9ac33467ccb43d4c49bd8197719488e595f377ed5fbb091f5b4583ad6046468c2fd3ca3a364e3763c246ab63b8daa8c0b742ce4ab326b15545c3c711fa09abfb73c53260287f5a9f57490d17a8f7be22f6f1a1b98b650a9acda9674bc3495b37fe7abb3dcf8776b8d13fbc88fa07072ae261abd93ad9ef989560641edee2eb56c7881af0c2800ef7caeafeeedb68bb3abdb4209fef6d9319052247a3f0cf6ab62aa7de1ec971666d4d46eb28155c413aaeaabb7dbe2dea11830b4f2c6ec4ca33a16ca61966a800b38adb7ad9e487bd31f74d1e5496177e4315320338b87f7a8bf9f59fae5e89a987303f1c25d50dfe2e2097f400774ebb960a59dcb3c0de9dd33069d7cf1be7210ce8ac83fcc1159d5ab0a0451cfe04b195d7d1031a41cb5991160869f8b2b9cab11ee9dd852e2fa4fcf0c9518a83adb729582ebbfafe3d89ce3fff8134c1ba129f7b9a2e727aea5322600c2ae0daee0a66d8a53e7db69a4c158b55f1d7fda2ca0d9b06609bc11dea0d8549ad443f8a55e7d182ff228745b68710a98954d1d8aa6da1cacb39540650df2de075f93de0b3f75c7fab9f33613964fcb93f890da7dde14a520ca06c51f84ccf7fd3e8f478844b04feb0e570689a19f29928c927f82e10f14a73e402efc31ddb88763aeb071203b192f4e25796663b085eb129a63393d044d640586b51309f93553c43f6e9189dfbff4c5850aa1539dfe812256ab277921260728a965f0a349aacd9a43b3282043c6bfed0ef1bd528c209a6fbf41ffae0f35360a00ae4c07362d081f0622b2a8fcfd10ee08c6e7fadcc7f575f8f1e36fbab72fc709ee614ddf8e8b2a9b27ad2c24de1c6553f788da3dcfc416d7f7ddc787546e157b51e1462ca0241229602b1ce24a5d94e78f5f45b2cc1781e49d2feebc861d868881e296202985679b74d45a1fbfa74c2a7a645f2be834f5e518a75995a0348128e1af0f91b06ff58067a250a879d40089dc47ab5008f56be6c9b84a32ca5c2feb387c4c9d243b0e92baa04b0e924e1818130f9cdb0b0c2fd679c838d6f2eece6e0d1b6d5817cf721062bcb548526a358f1e98f703d0b5f0e4cdc845030b8ed3deaa28514f9934941d338462d0970918f0227524b72cb280e9c9954acbea786c097bc80089630196402b76b3ea4216499ec5973750e36d25b84db0a27936ddfde690c663de79f91a8d6b7f85ec1b84b4ef2ebbd841409b5a9907e2a55ed62344ecf9dc1c4a6040e063fe8ee2f9597fd1ee900c20a33e290ee87ede33d508156e24d6de639fdbf0cbe044838142cc21ff54326c9e0f3b15136c65be456ed51f1ed8e60d836e895cd7ef2a2aef40f14b580182796e1f746dd2e0a1ad92436d0bcd0893a9dbb2724c86b88519005ee19704f3eeb195c49d2621cd13e2dc49d97fb5be28216bd31535978455684af1a2b88a2205d03ed56ef3e362e421c729d9731b4ff532b1aaea14e5f8de72209cea953d7ac0b68a74eda264453d0db50d7fc253046b2051ac1499e1f9f7b10ab76c4ef7265fb2e2b75a406c808e445d02788b65113825d8dd96c854f55de6aa0efcf68c6cbcc94fdb2c8db3c28e9004b8fce038232895b8733f19598790185857a4dfc785b54857a1b0689a3c80d9612bffc24953117d73477a815a30fef1fb5b525e5e0622b68bc684fa3c07cf7a1e7f78559b54097d4cd6a4443b0f8bb913120d044d9499e46b03689012d62a11901c91b97b9fbf1a33c60e79bf809af55381bd5a4260e0234fd379f56b17efc4944f55707fb759c0c679f3d55e736cf3760fe8b1cbf87573a773cbc3a5cbf030b8be9349e3af5e441c91209a9213a008fdc557c2e130991733fc016752a7e49dab45ce6d11315a17b0abc3d3cd75a5bd0e66e89b79499f4dd1e6c98f364e813c9a017ced448e3fc3f93167881b10b429eee9a9c477e7d79a0ab6d13b622d20c29c41c3c4458cf53db7fbd631bf18b9f9f38f70df134b7f4566c73ec55ffca768e7a988afa5f736f2ac185e79f3c6db4d1070c717566345346650f0b6120c0912d9780a2e09a920475a634c3a3893bb3ed4ad39228a63f1c2f796bcdd1b85b71c1ea99006743ac9f0cbd5cb939ccf556e6a32d3deee2c876d83eb392794883b6b146782453c0918e17ea5871d040911bff3b4ce3c67e8f06d1be2b45144f6b2cfb27be78a78ac90a12d2b6593c31ed49ca00e554c99b0226aade41eada75d04c44ed7eb66e7be2f662e704573ce6ee11a3c1d2944896908f2e31619f46e5cefcb1f4a1e2064e84a6b859abbb743dac0f6a53dea6e5be01cc44d92cda3a1a80794b1206f3559639d561d1bf2cbc9b520cbb058f18f3ea4f1ef8838a7abecbdfa6f49e350a339c666e3fcd449dbaa94b5bd7b98fccb05cba3025b1066675f4d3e79d51fa5221cbb295b9d9e14075f74e2d55d230f40bc8eec28dd686ae16ea0cecf9b7b43c284b3054951f3e646010bcdc5757c957a6ea61aace9f66fe3ff012cba4e7088737f3a8a3eb85fb663f74fbfb2c2ac29855cc35b85b1334855c77d9a6495841ffee2ede77881504537ba4bec70a51e011dba9083e1b365a2b403c59ec4660dbcb6843990563eea626531dccd25f3c9f6d979065cc41c6e02761b6def4f1b7b68e5a3d123270887f2361a6fe485980d5155332b3bb9ca001c90c1e151eb75e854da55cb92f57797ca5e60feb947ad55f3e11ddd92b3a5d5fc13eb79ae4c51517cf89ff8eb7648ec07a0fd74f192e17c56b6050b0f3700b1f24fc3e28a84804277dff39177ae10f7a8a341be9a50172df4d1fabef120f7a394da5013e72b58d713a66aafbeae0a3334a4c0977d03c1b192718254d9141beac4aa3c4727e7a3642a7a6dc8ba982dc0395f2139129e213a872b51ae48d89eb878470d78dab06765e6d3aa4566add3200ac71c5635280a323df8673e2b705f2c1776639a543b4eaad19b0734499c8669e9e50dde2e790eab7bff37ef9cfc90b8af6118c7e7cf1ea9098d776cedce3f8857c97bcc63ceb2dd43528fea24b1577d9c7fc945963a1a7b01f452d382b099440736daeba0ae6583fb5f10b9c19de3a62ac5e642094f4a7021274242de0a2b7bddf32691d5161012938f869b537fbe48901a65f0213eac6c45e1d465da231fa5d3acc406e274d181f0199219ac35dd245fd34599d016cd1048fce8ad3d0780eba5682a384121bca9080d21d16aed267fbcb56b4a72f103574a809b978d1db58f463b887f15a198911bdd972562756ba4672b84b1769f3c695f6ec4a4d9165f478353ec02747c98511b305de158ad941f1f59c40fd3325c5d4cd5a8af1e340f1bc56f08e72897212c7611e5a499988ff4158d9be9763a8c065f5ec4db8e9b9f4bf32d7460339db47d38e03fccc7db71728356a87c9f4921c65d7121a21a28d1b8fcb798e2b8199276ba2c05ed639b08d820cbd2ccc8b8ed123c7737e3d26e9e4c9296bf620ab2f3d0687a971cb12bda383a0bd7d459e10a802807bd490f949a685577d7f383a75b0ee88736ccf3a04f1c2aaa57ddc6af01c385eca5d497de721a10b73ce306c4a9be5ed0a7c9c106497834f96d28282aa0c953751b19d62a80cc8d76e769ecba7f99300468d2803842937eb9f1dd146d8a3997de73c166c587aab2c48a178a42feafdfb9f9313dbba3e542fa20e6657a8b9fa66c6fbdfca6cbd4d980027b99e326f16bf2587a1087dfeb3da5e853f1f8223b4040ecc862a90433346a70f12819a50dec033cbf592be74d634e108544718de90ee63f9129da1d371dbaaea00daec746d5abdf3fcac3b9418ac75442234c8add5418a2c55f297b3d044ea0867c3c1a80267262c6ebfca23d9fc5e1a8ca37fa54b8ecb29849e4140ae64e8ee0257dd6eb8736f76bbb62580939934c0428b8448030c78e7347fa44d411cef508c5042ff0db58839033a48d39412c9916e450dcc76f587c3b00d4bac07cff242d4bc32559e155de36c9d30649b15539fee629a06384f8cca9531af6c722cd8a2069a941e7cce048b14fc7f1309cacfd30f18518ac86cc21bdb8cbc259ff8ed5f2183b5e4fe8ef9aef171479c3a17200e516e380ddb697cca161e51b4309d0f2ad554faf3c798106ec74ff0e35d4224d1ab45efa346d1a0278041c9fd98e5755560800d770566ee90c1a63f4d78b69cd17f367c408009ec019e29bda17062ce37810e6ec1a971daae62c83ba27fee8ca7c3efbd7c272a3e5543e2e1cbf667706489a38abf9006603cc24624be958a1badcb2f3e5506ed6b52f42cc4c9cf0ab348688d4490a134893a72e2a52d47de8d74d3ec415c7bb39bf68c7f127416c80002ea267ac2f4df80387ca5587987392719a620accfc159ed80974ea1584823d99ec4f669f5b1b7c1af3bd3d135ac7130148e3e0451816389ad9794309558be139807d63764b0e27897ad97ca3a7e6213aa24ff0f56468432aa2d66b643c5e7a365c4b1f811a3749b44b06398a65f4f0c11d4ebc731ca7f7c03d25d237e9564b8365d871d4c1597aad4ffe88b08a98d890602ab71753124465272cceee88b700feb1f78101473ec9d84ad99dbd78bec5cbd6e884419f46a13d182788e1cf3baf23c2de3152aee41d616b71ff6331a0e8aac8680954548710dc85400c85722192bb648c10a3db54a9f70eaf242eb190bbaad215740a56a42046663571455392ede04ba1d067ce866be949eb90ce58db24a937c21aa3a3e4155bee449f1b089748177dd5d74225561bd34b7ac90246963fafcbc0aa9b8fdace0477ca0d8d9cda68b1db54298c872a54be45c6af6eacd28975b76735e5513e5664d8f4c83c563187b12a97076524f3451a9b8ce293343cce8ab6d787da4cf49b9d066b39eec87064da11ea88ee0752afefdbc4fbca9871ff97189a308caf3c35a297afdb71a6b2c9d48b0548cdb766d574e269f6a7fc2d697a3b613ea4d19c2c30a4ec39f85e6ff27cb629d86998dd41113fa793c6effa1c83bbc7649b61ca6f3dd4f3d9ebbd7f9edf0a804c834f4cb9337b7a6c8d30fa9597c8462fbacde797215bb008d3427100a063b9c6feeac36e84900ab5806aaf54183c67370ccbd446f396ab2fbe6d47d116b8f869eeca7fdcfc0efed4a7e972e88c8950a13bd9f755bcea1caad84f2ec3f673c34189cb357542d5526cd6b8ddf6065072783f3beae48da0cf235fefad02f67ee3d0aaab1850f02ba3693b7012b6f58ab689de97969a96303b478619f1a0cd0b70525c5775f58cc7c0ab8219b03ade201d30fba4a0bf73371b466f67ce52871482c0a389cca29c70481ccf405a39cb5dff53332a8af58fb8782ef6715b4a6757755df576dc9498719b35456bed87382b21abe900e45817526e2b6d48687417145ccf4551216599e3ac98df1a804918e1f859ad734b4ffbe446585ea729114667c8388152947c01c3c02cea071a5783ed3edfcf84085a729ad4fbc2384dca4f0983e79628ec8da0d7097b9c2774c992f49329f3b1f3bd622bb45ebc601e13f6b9f8f174fb82d693f0705bcdf392d1c17339abae18b236a52cee93c99a6632297b3687f9e46fda2ec290e27b37089514c3ad0e290834ee34ad3b36ed51a31bae8e9fcac76405026fdc6cdd04f2cbec71aa116d800d554b3483964297a5a24cdc0d8cd55104d9b2a23f7c464d61fd6af1b7f61b0b2ad9f9a73206c757f160aa5979372b86e00e1981496154b0eb00c6cd16a16c5ded0fbe10f79e6059fd429276c67b26cdc997530f8b142fc939ead8589b2992230eb66ae49a56611bfe9f4aa22f2e3551465063ade58f76d647aba86344a78b0fe4a8cb8caa1398f3f6a97e03bfc8e67943a263b92f4864a2bf8a0f41ed46c31d827b2a83faf0795a9b1a5d8dd317a92fa8ab2aea063176cd08e9d7d352e0a91a4e3b976ff1a3ff3e4cfc15fe737188fbdc53a369190c03d8c6790b0b0a9eb7685b83b053ef9d6e6e9e595d33bab4f8709f7039ca5ca379561556cb3c9f85218b206cd00442c3cb389ac730c88c533bd6ae183476e03bd66302288f1053694d7b48b6f90555a8cf04eb1049a5d8e9f86e31698c26a9b00419950ad49457295dcc74c2f9a54859e23f7f7abd5872c1dadb1fc7b88b08557346dfb75c06393f1c16c41f5ed71964740d430794413bc7b1ca739bb606a6e134de68b3e710632e4c3ecb5aa89ebecd12e75c3d55be106701fd44f4f9d348473f8a39ad21365796ab4caaabd738fef5fe3b226fad7b13a3d1b6368949f4a72e0cb83d7a22008ddf646dd02105157a4f4f12d3266aca7f47f42493e3d0fae62c27a5741c3a6d859e83999b959be22a97cfcf84e95ac5e9bfb24073b2c6ba68515cfc1834dfc82d94132ceea63f251480df6340c01f90393a23c2f3819d27a087885d3e2ba6497143c1c2a3226e30427d631ba9eec0bad76bdd095fff0abe05bd63be3ac0e0689fbc4b09192c88a0f70d3bc6e325edd8f159de9e9cfe765b862039a89bc3a2311607ba133f83032399ab2b530ac68078aa1bc9cf66bb21204dbbfed1a194e504b278399bb0b5c800283861ce418358177ceb2afc5dd94b5f823a8926d29d5aec9a4f8d0c2479565898a661ded235f6fbf9df065ba049cc85285eac1a38db896d8270989057dbf9dfac3aa1366837a226454e9653dcae3a4aa9f43360b117f909a542be58187de49d8ce28ef413c62c5577081934504d557d23e8bd11bfee6b6ea8042d38967b36f6915276121265733f20b4ccec417d03c416235d6e6a3ec3e8f8aafcbc066fd7465a57b190ce86ececd7d27799991560776f49c78034c3f4d002a5c20e432d71b1dffdbcd245251f7d58357ad374239fc73d01464b15b4c13d808e3827c4882480c4593fc583d2dd74edc1c7f2957e21745291141e4d5544139a33172a5036dc242879cc1c0005022f8ae9f4695afda4d830a7a89812c2c1e5f58622a5b537812a976044b72e9508c40a2641967d8ae9001df5fd0fcb13af739f8f46bda44cd39002b9b2a6565012afdeb483a12f19ce36013bd5ea9130ddfbe3f45a7f6e556bc78a156b9412bc6cb6291a96821b02f1ccb3b17273356ce80e889ae63cf4da4a36cdba902615e4f18ec464c9d437279402887b43ab93db8861835542b09c556d8c58e3ee77aa5bda71f66e61e4030ef6f1fe19204493da734ab445c11599a3d0e24281ba38962d826436ece98621d5917aba56b2e6cd3f80d4c59617ac37477058cf864f31d5fd17e6121ef6fdbee5faa254ea65f96bd11da4d24b35cfa71540dca33ca582de938ca39afb9af9274fc47adaf1faded605e3fe970700e5d65476a070da4e053015a9bb54db2b89afb5c9d1244a3f056833c5739b49b1300ccbac217f3af11cff9ea8027b50d440180046ef268c3a936803be51f53616c620ed291db72213b369e862027db8a77c708ea6efa10322d8f0ea3ee2619ae31dc3cf6d108fb9f9c7ca46b0ac8b99eb3549f417d3bbda4739f8993f3c7aab8a20df07ed33c01e61d2888aa73ee9c1ef3f5db0bafbf645f27d608f80343b8f06ca457682de6beb9eb51b725b68cc19d9ae4bbc45d7a234ab89f885bf107db3c605d9133e358329239fb309af732e6f47164fbf55744c9061b48fc4b4045df7ce04122f3a07811eab1abf19a5812fc0ff7c9c2f29245b012b7dddab44d6320037c19edb75766ed75bbb2c01270244523767a39ab73806bd673c97615e0857b94415ae292d7186bb38625bac302eb409ac878b0ddc562e1a1f8906e0003fdbbbdd749703dacb1f6200349dd8f390443669cd7153f77b8c09038ea8f8077c64355f372f2ba58c906e1b37b86b8de070a5a613d300609daac0aea96f3c00e45c2f4789c495790d6c06a682d36059eb40a0274dd7c4215152f516649ac069e086a5b2f891b6923f379ea4295634b0fa76c78962623a6848b4bad18685a3cb3675e9a794991f2d6b606faae83204356e8cd6b06fdd6b0f2a3d051f5f67f628e77e59fb048307079810670b9c37548cc8dbe988be6509b7c827cd36698ac45ca7094474ef3ce9b196c04bdc44cd59507bbcd1e8660703de1e55a2dd8b05674c30b665fbc9fa9fc8c7e8d97bd8332ad679ce42005510ce66d8996987835ddcdc1094fec5e3b2cd7ea4c2b64b4e4eb7328e742a3b0a20b8e6562df63feed7d8f513e27ab76f767d8de7c04fc2a345e43707a6f87d36c63f030c94a92d24e42208ee05f153a59ad6498a27ea9b3215d14d3dc19edc291c683b95220efcd5c54ac9aff0d2cc8a4a9df81469a9f15042bd41a2e6e98fd400a8d743f68042256eb116eace9b579777fd56cc9b432b1f685f8c138a906309ea7e8dc0282cb150fc55d93a41ea1f62e6ed6245e287ff5693ccc08893cdeefde4e5a9cd867d3a6dfa7366fa865da45f30c928556a7ad9b95fcbe130b4c0c6965c70b2b3bc2b9fb80f43d6b6f4c3ca410989bf284049f72c2e2d40abed9fee100c18bb6ce072f2173f805651a204527a483499ce04fbf3cb6ded02c854618921790415fd7e35d1ec7d3d5fb8a6cb6c251501dacd14758fa4e1ff7465953cd51b6f42f9acc0f9d282a09bcfd3892b9e9963cb540f68af9954fa3d430743ea85396fff1484dc09e7aed69647559f158a5a6988d837335d293191ba16a0ddbcf6ac3f65de13a407667aa262af90af3b67106cb4c240d2c91bd507b0f41b73707e010d716a2ea32370cc68309d48a5ada5222bd8ae90dc1b27e0fc050a039a8b3f123d07bd5dce722c8c0fda276aeaf919b76f15955765adc8434e719baa65d7ad257eed7403fd9f055ef3785f191c612359dadb06fdb063cd8a6182d065f2ebf21c90da231eb4310fec9a47142c24f08d74f1e0990b45353fda9c1cb432224da474a3e1ec3d6e079485db65758ca3e8f411978802505f2326685f441821c0141847cfb4b99a71018b5e036162b1ec796a93e3b2fae448e34cc2b8649ab58509f9a90a33cac8509292e52a90983517ff071d3159dd84b9f27ebf2b57aa2e66374e5de79acda21ffcdc53c24a30f9ac06bdb1bbd10d86dffe722d881020883261fc2a69ab9971577727d69be692246ffd6c73f4e1d5890902f2cf6224cead9388292761ffb42cf938525dba68f0bd1e916c93db0c36cffc8d3b8a2aeda777f83e940eff3f7971e436a66aaa3c876f33e439804426ecd1fa04fb5348cb256fffa16adb9073efb7811f1fc051b4d52369ecbaca1838fc4869e1d0a074fbb990ca1f0136204c4a0fcd411bb0216f54572cce80feab3289e69d98a3f505c2dcf37ccfa8e5e17d6679d71b681133e35543baa188426206d50692447f4f189fdecec9672138d2abd04e3f700cca1c8b51cc1beb9ca7bbc016d9787a814082052053ecaa8003bbcc73fc09f74f0e9c5f11fdaa6e7f040864147acfa6564c1ef3f624dc58d6d6589ecc94c6cc9ce54b1c73e9c29acdb7419be0dd961abe3adf15398afcb344b591604131a2ff3e848b13dfdb9de44b96291df30b14553ee97af0c8ef8b0a5c4c96ce8eae4fedfe577d0c0851539947a1a5de504116635fe7debd59360cabab9b4ab95615ba2f4a4d37a1665fe5039e8ee81c583d48bca9f303e783b47fd29b227c740f08b5d2405249ca8a3ec124d78eb5fffb43242dad084623504e15eb8396d18e2dcd98a8a3cf6ed89cb53fdfdd98ca9cb8d0f0034c01f4d99a0e93085bb15201532d0cd28bd1613caaf53fb865b5aaa1833f22b264f84c3ced39fe8eeba7d870f184b4c534fd2cccb603a19f515071a0d1275af01e2fad3f0e3d3cfedd980c98f5b2a31beb2b630a0692edd4f4579ca40192a97501d858bb0f115120858abba0d2e41bf0ed6bedd21ef49ca8e26c74e0bb02c39d7249e89a3fb6e2306b127790b4e85c807948b5e0449b67e427c1b13184a2249a1bbe7794a1683ba353fce6445f11094c836f9554f910e1d3ff7a4f94fe0db0ebead7e0a298225bb2c41a19a04485e42326e89a9debc00a077d47eb8325456cf740ed20460024f79ec46fe80c1f3c5330f106e7ee54a0f61bd62028ff8bf6e3b90492d8af1e957952d2ca180bb4c951696f58bb9ec17fc728cd96bf510531c87ff33ce1b859a0b321016b4b1b3b7bc8445b1320f15cee49550fc59d0dc2d232a157928be2df07967e27ebe1876de082a4f57b80dd8161042c7cde2ba17a3af90babc3e345ade5822f0609c1978fce57a3e9693e799d03550d349883c02e65d8007e9e4cf2e30cb3900919eeeaec8df977976f85621e6032f176e8cec99390b810b24841c0d455aac2afbc232d86e43adc3e9f508a12836f53bc0b335b3b1c9d350bc2fdc957cf81b6877d9a06e2a75806a53a8538546abc4114db4db99229ae59fdbffd3bd7256ffa9bc04eec3ff5ffe88037023407315a4731ecb874a42cbc8d2f605cf0e73afa88b2c22220c4682c3df8995b5cbc51dba70e44c1b8315b033917e1849af2ff105a4eed2e27f1c90f36368df22bd4f94b0c5f7864587be38dd0444149ab21446f98ac3fe3b363fc2cfc452b5873a4bb18dc5c1063c6c55ae31b8a222c95531b63851eff6400797922ae6964be0e195585cc2fe354665a0aeb9c566ac818bbdbe96152e93e30620954dd8d3fee0dd9d02d6e71da07c6ed5b453b3dc786c623d63f4dd0f8da9d8cacfe29bce4c5aea79e581ad13031c7f2c73e67d13b6c292e7eff29e8c0ed9320859e59967c463b5c9813991024b418e1f6be071be2c6c24a0473d90aa07b88c2bbbf0340866d8b21b461b9db517b15af45dd67876a8a9f131512f1af1a331f4a5690627133a98ef31e8446c257e23fc631cd9d96a08e35b0879323f8f1d97a42e444cd23f8ae211b49a727c5aa9b5bae7a91ec744b539ac4210e9f49004eed4836046dee1368c763973842c0edce1ec8378e498eef87c404dfee18c57abce2c2b8f19ec94e9a1cc1cdb1e2225322a21e80e5698c826c47d7240b3a9c74092df8dec44d47fbb4b90cadf0bb1638ca5e2f2330ac00d11ad019fa5812b8b8ba8a5b932dfcb1a538eea953284296b0ae9dc859493c22d061c852d8ab95211dfe4c4e99c8ce6c122b7fc6ad38faa72ba90cd13b9b714a37bfca1c283421af3784938e066808813f13cd872ffc1524f4421a56a5e2d2f7d073cee7a80c1c76c8da5ffc80a95aa73938c02a8e7a22ebd29ecd8472ccfa8228d585f3d64bdb1ff634e5481dbc241e37e8e7ea59d64597740c8967d5ead1c99d930157b26e7829db184ebdee6ed99946d8780b2995434bf2e4dd214d2dbf9224cd17d3c0e004732c06518407d5b13cdd5016bd1669fb0071457a6b6dd80c4eadecfd5c62baf958c365860f6b2ffc0c445318aebf5705449af068c4bbceb9d0f83164c2facb095d28ce7a4829e450bdf07e6856e88604a9964b12b146788a418c26fc8d7bae02d0fbdd0fc2c9adb9e86331af3d4fbffbbbedabf56044532e497633663f0a5b848d8f66616c048dd4641e0e53112a6c2b5019cc6e8a788ffc6c9e4b0d087fff14d357fa068012cc699c5391d8de04316ff7337c1d222dad1cd6052d39b71035218811e90653612c2b4a0665ad8e1587b4e21d7f1d44abf3f5c3c64dc741b1c9ad74565caa00468789c68e2ada0ccd2ade5cae32a5539f1048ce3eca5cd968f765540ec31210cfc37aabdb2eb2bfe5524477f2967d9284f798ff3176168d5f9214b65c835b89e1f5597836817da61adec35f602d12364c297d6950d92ca8ad15889c8fced1825d88811aea23d554d810a7e94f433f3740fa69f9cbab613a1e4e18872d903dbf09e04f42a4ebcec2b6e695aa06a956d64030f506c2e0efd3e480616959045756c4ebdd1f4af1d8703165ea0f68a9f4e8ae5bd786fc8a79546a7907a38541443efe1391cb79c68b438208a17d4d27ed5edd36b4949cb92d729201bb8e62f91582c85cc3fd672497ed9712f15e7393c58a8e4c4aa131ce31d3c4e8266615b55d67429d2a175e19a58f98a77a672a6bd5da7c9fd0bb5547972cfadb165d96c7761052671832765134d278bf8c8d0cb8e5539a01d8d567bc54d13a6d722cacb75f0efd5b1a7fa4575b329306cda8093357c8864cf494b3725c800074376df1448cfd31e07e3a129d5471e4b7e35be1274eef17ff08902e0f8404c5416acf1739cf55662252c2ef7eaab09e4dd3ba0568bd6f6add4e5011377f5445e8fb8d5bc5cd0f5f5652d3c1d7b942b6f8d12a83e7822192ab9005d04ff6c70fdefe2d50dc795edd00c208095fa7a842e6ee7344fa85fadca811a62731e224bbee156ae2a29320825a6a40acae1638f88a9c31b3412ae1a3adcca556c74b90bf82ffcb2000a6bf554ded5e76231306b64abb744b9042ce7f61d09421e3282fa282765418c91d12703456fefb2cca2d49273043dea0a300c4d7412a6e65731eff74a35813d63ee2e19839b735f260005d0607e2de6df52402ae2e2b8d7195e0f1e6058569e388a9b321e3c3906896e6daa1c66995245849a9802cd992eebc1fa97014588437e8c25b44659fc6e2ad981ab202a82a0d6b36015bd22915daf46e116f58fb961d5414d4430705b16192f39f2379a08a11bd00959f0a4568e44e354592f169e4f00bf2a4478c2b6449e891a8a31bd148c06abcaab177c7960f447c9993e8c30cd7505c3b993970d7b4390c5564622fd5b0cf1ff9b197c6fce30602db80e5f8dd300721ef3aa00a2e7a0a5734922f9fd7d1ad2b37e2cf79d04741bd9ec3af449da160dca39f3151637326a99f843ffaea874f719d1f9a715375695b8eef1567f3ee8b65c16f5e67f0a2e8dadb188261716f4169d321fa25cce54176b36b9ddc71d08b132be7a19396fa8eab01a85dcd351b3996c741acf424ff11eece6a1dd7417750962fc916b2cf2d67c3e28e95889cdf6f0a706b3044d74ab2e17fa71305ccc4b9f49b7aadbc3bfe3d4425d5a6bbd2bf1d345d666d104faed5a587aebdbaa746df9b8bf58719b212c0d67f27dd7c88b066d202f067ddc68cf8d06d98a8af768792ba7ad2f1c2452417286c2189043da4393cf0e1d464e61226911551d46cddc3faf9c2eb4914038f15759e4130e90b2451ee0833fb241e7fc66f266a2ff7667d6130aa6c98f56dd5ea27ddc76891a65ec67d0925201f79b50468e26bc6801872113cde0c7577cc45a901861e081d147d13f28d09ba48bc98a2518ab95ced9cc7494fe545a7aa8b2b9a4e1896b50caa90b67e230ff618470b7405903dbab83610c5c61489d625068caae49246e371bcae412aa51016f0feb076ad4f47cd523e0dc5e9b095b4aca5120a397f65f2138f301e29264cec6c216b8b0e7f8e7907a4c9dc3fa4090d06abf407ba3ba036e401ca9e21bd6c830cdfcf4d00353a3d3aed405bea016918b0d95ae9d21f627288d51ad13e6177cfbee0d3a55c4680c5e4952b5105c72b552204654e4f0525dec5cace66949f3f3a9b6759195c3b86ddca8f44efb9d3436b7430efd0d8a2461068c067a9a77750c2f22d6ec8aaff21cdf545431eb59223692c585335aaa229344f64c521cf38e179155882d77f6d4dc5c328318d1ee5866dd36706a23c8bca595bca4be878414d73ba83587e8d6419d62c63ac410ff34070b01d705c0138a389eafd3963556dc58ca36b4ac11aeb996246118a775fc2589d19adea917330e68ea52fa35603caf58ad7483488ecfd1eb81b61fbba0156f907f8856526cfa82e95d0d36517dd64b3e661cc7cbe279431d16eb7aef624f700437acdcc1660832d6b338e4a4ee4fb1fcbca1077be6b30b55c77f55f81fd77f5dc1a0b8616df3e2364ffb44b45c7b87f844bebd0abdc9cb4e89a70e7e081860baf642200e2d4903f440e4ea8115b2253b7a4f2b15d4f617b60571b96bcce29a9b6e8a3ad9275ff3e5f52ecd59e8a386d94bd71fc00d051f262ff23afe52185c73d18d15860ba3c5289af4204208cb4a5ee805e8b7f1b8b1d541f0d5a5fff45c02ee28cdfac015f5b69231ffeab90ff61eb642d7739ac35e12dbbbb2dd3ca0a012b7cbce057cb00e2c65208d1c111e36e47510bdf88772baaa597845c51659b232924cf412e14aae5270bfe64da662920c74091f32258b4728b9e665a26c711469c688b466abfc236045a2db3c4c67e09a3be61a37c1703f592eb61288f9db890a0f66774aee87f4f9155665dbbd346a0150153f8a284d69351e5362ae3b6a6ac4a7469f4137cc40db1db06d6e6ada482aa2d901134d4657d1cf6723d3e09a7f68cc7fd6105a8dc9ee93770c75b84bc4987f98bb2ad7a9e22ca0a29f84b2768eac30cca0807ec42675382e35dc0bf6711b6b863d99ed585b8d38625c050bc4eb4af94a4d0f6301951b2e2a3656c13d23cddd6098d6635be0d7fbc0c44ee66b448814fdb73ba9c94f37ebded6abaef48dc2fd31944e3e7636c2e4218b17e76a0c22992bf99ab676e37c1efd50803dfec10c20bcac14c0f8890ab9c754d0647d9a188a5877f80a364ba235555d9b317827bc92027419fe9770be618982d6417bf325e909d49c79d584375784887b636fedadcb1a43c6f7cd31085ae88a681e5b58681c366802fe2737b51a2c38676aca0b068eb5003615dc1325a87409a74f51bf42e2c98fcb88f83652cbab2547733b810293b996bc9089a2aa5793811788addb13c213b801b2b39b4d345caa947764cd467ebdfdd2fb6afb283bd934e7f76cbea6008586462aff1ca8d50db69b1b4fa27685bcc033d45c12459fc2bced0cb0e46b6e02d25ae5aacbc75a4882a80c2b4f56f39b48b14946bcc05722cdefa310caca762c53fbcf114926504cb7148fea905198ced6cec0699923c75fbe95a37a962c0199e026c20fdfcd68df6092f1c8eda2879f93e00eec606e215a94d4f9ba606aea5bb97d5f756ad1da9222c41908aa684352af697c1bcf1117f54259b327d24cee13da95684a6fc57278f4cf1c750dad83b61ed218b544c74ed0f610b3d4244dff37feeeb6d2f515c7924cc02cc811422c6aef929624d88b07ca9b0883de9069938f4ea7aafe259a01dae4da3235fd799e45a1be212827d2eda177c664d2664c6e04173b304dce99cd81e1d56a03ced8cc034e7d6d91aa45064c80460bae198f3c84bd3b710343b655cefb472b316ead545d88d2ad68a39c1bc9129b9db4cb854dbf5b38b87bae6308381b3db220f612c57b2bb7f3764b2a9bcfd3f3bf6e27264936f112799b5b2100434b69071e784f06d727c422af38c8093952fbc9546a28b89cf73c620f726481a1e5991989fd127ce48418b907f9535a67ecaa8d988966675d89054452f8b90365a8685099a2dc7c67ce874dd2ef0aeccb8f4e7f5b6cc5e85a4df41cc06d75ded9c7cce286eb718c43ee1a3dd6a886b9c852d1528f91a77cbc9770b60a561ba878693811f6cf2d92e8c341a205dd7ec791a5a45181c62ce1027eb1beda0cf2aa1ba9023f42ac0d755c20c62ef8a7c80c557df8dc9392db29fbcf7c7fc577e80585191b57afb7ac74e1b30e9fcff8e5a0a5fa4caccc5eaf8e0bb475c89310e0f73a3bda193d400533834b869871cab36f583e6e1f4a6051fc473e70e658676d55712849fcc4df678589107cbb875805c3949280b80fe7defe47a22493d547b0b9d96746561988821f712fe34efc5a1d6a07e552f0a08f812bf0aebae7ff5cf5f396826407cdf5acfa3f27f3700f7396964a6e27655cc3c004b68ba381e85f74fdc6560fe240121793ea03da1bd86bcf4a000bb2c29d6fb5df8c88c88d199af7a3f01060f763a0e100b3e7fe905f2b1206dedfd7b05962ff711cf8f4eb309c613239fe76a351989e237bfbf78eb353d59a3c974fbd6536d1dc7022386805ac0fb7bb635aa6d8e8f7e9b4865a1907f7b35e24c7b17e3854006727df4ebd81ce81791e19b959c61ffcaf5003a2ffd7134048c03b6d8a616aa7c2554c38f357722ee1442529de0e0e9c5908d248997bf6f038dad8a06b3188871ce2163c1cff19a8520101e0ff658b7a1eaed75b1a46be9c55499733bbb12de54528dc250b54fc48cc8d40c2ab098a0318f81b28ec588581a21a56f16d2886f472a6f86d98f31903fcd1076b00f01159d46eb84ec7c784351d0f60d4229937a3df25a2ebb61b262d02afc7c328c2cfe6dc9ed0829dc3422a1ce6658a46e0b0079a263628b8dce129102d91174fadbfcc3cb8c686c8ee95758cd31432fde6bc86e0df6d534395215bde19d7ff1472928fe7120d045486050cac3b07b3e3bd6b5339667ed8cfc9b15cfc8dde47e00105c75cae4ffaf4ed82bbb6961739313f61dd0d720bbd6d47938b46109f021d3b6ade87257fd2a604cd95d662fbbba41d1f743fd104d2e44381a3081570c5bb1af8f81d8714156c00f1e6f824a4a965aa8a4128dd282c5fbc52e1903538f25d40d1d180deaf413c1b502b6f7d852484e400a0a0a4d04f42047a8d2cbfe24d122c0d7255d1d97e92dfb56fcf42d8b61e3ea37ba8e005763df7796075de2f0a8c54d60eef04a7efcd9c5b8aca1e97dd39956d6277071f116ffae6db350d0ef092f90c2f8517c56ec057bcf9218604995d69febf2bfdd7a559ff8ea0d5cb691d6822139556a355eebce7a6cecbba063fbaa15f6d0ebd57dbaec250780d68226f3505fc45fc9d586c43d2126ca565a8d9cbe3175d111387c8e5328e6ec6e865cbbb13b5457c3abd85b152aa084273342044cf2440ebd339a2e2db74a6cc74190e26ad72ecfc123962abb557c2d4eab1117b4ee6092c301a7e87883dbca78c37d903cbfd4863625bfadee17b838337801a312060d653634f8786887409221110e747685e2d140a522e2859daa66d7ce702d7550101b0c9c34effa480a40b296489a11f0d0369f165dcf781c1b789c75511db2bc7d726d756c5a811a6b7142861d044e3116e57069375befb7cac91a8b0f056b064da296b60d05408ac7d2e86e12c4c334f91206d8a870e01e701a58814ffbe47bc831e20cffe771ef0d86515a145257f1238019610a76757fd65f2bea5a04ce6fa4b53b39ccdd058d72af11578ee0badf2ac553b7c493bad3816990ec5ad1c65e69a5c1c990055727969346d8d4c78942bb9571f748b3950921f4b5cd10af45e0d480d652cf520a8b7566be962e6e03ebc0c30eccf1ad969168d5a7c37c53a92c66ee3908be718537ffed7b8c9f69948114a34ab65a234c0cdcf8f860e10b871c465f77d20f13b8af517eaf0e54a429e7c85ee26fe77c16ab86402086dcbcbc7b20e13a6f73031d9a663b4a9e4fe778ed2504de15140bad64bf8f7e59354177a534d01ce002ab5c542575f653538ccd56d158a75fef154d1b905b8df6327db89493328d0b73bfef5c53dd163cf1305206598ca9851428d5b2438e120ba06bfd75fa2ae13001c7da39bc45d97e3617c5d60cd73f6a74092b55af1e59eec7fa8e6e561c89fbc0d1f658c84bcdf42042b3e50e6866fe48a5d7bdf4353d8766f54cdb4235645db13d13568ed03fd6934b49af2425c1d9502c02c6e1dbfced40c28e3441a9f446a836e2b2b416fc5345f065f25b4a368a06b962c6b7a9079977aecc41e7f096b7ab13a20d2a28b0d2bfa0438a6a8615f5fb5e8fb316ab216610fbbd14db237ccc5ed5b6da654a2f5127717c96a5f0a21e2b25e1887e12a538d5911ba98a6c064762d0fc304fe55f867c089cb729e433613deb43066b798e2aaf246efb1888420bf4fd58e5e5b0ee0ba4a2e8d73b9ad44fe5b4be8027be13f716bcdba702fb59008da7c60e84ce79cac6992bab96cd4c86ad0519c92468fd659784137f52aca1edfc8778ebbb57c236c14926a30360eb1850850ef17a2be9e7eb9b351a504865831da94e685ce714dcb849e551ddd97c6efd03891e1388cd4fd8221c865b2ff67358048372a1f7f0869d12b8163986df3a6097da7f9feb7b3d02075a942d1f68bcee4415999fad0c5f2b8477f3760d24e7db783cec848afafd7e0fbc602c643c9fd2fee33530bb0c2fe3a99e2e4d46fe003d86afdebace3f3df9a42c13b70f9f9c9eb430c3cd10f8fdf41b976a2cd6ae508f80a70577981cc4c864414469dff90e92b38b921e20a20edf87e4820729258531f1c3cba4798e19c35f4a8bbd2ebfda2de9e6ad55766960e6a4ee96a2930ce35617ae553aa7b5db534183df78db67dfbfd165b75708db04cbbe3825290f809ecb2db12e81346dee36399562cb4a7c3df08bbde8663ddcdfa84b781fb6a59c56cfc487b653fc6737835166599bac6b5d7831232d7e81597a953e7baf7231c4974b11b94693075e3f364dd7bdcc22c75851f21dee6831d54103b9db8291fb103192bf56e61ccdff14f031dd942f27c06388716a438dbd392f7d26e916a42ed76110bf59e61ad2965b76a2749aedb295afba9d5e790c66168cf698e52f3eccd4d6bdbc1b0f9bbdfd9a37972bc51246c32c6b1262207016c871a6634ff97c241165cce4b2de53cf318880867eef0aa13017f8e4b2ecd3cd0c9c6a7ca1f7881e170c9155e28b5106f88d73f28e11ce68ee901338127f11b7be1028111fbabef33911f4d9410bb9157ffd6abc8787a32df0d23224058cda20854968c534ccf6037cd0b0368fe24c758de8ae57cffb336e0f4f44368c7ea6a1415b811226450273decbfeb39a30c8f8dbae8878e169291c9861983d20652d22d18de0bd8f93901e5eb4ae2bbdb27cbc7cbd3ed2dcb50ea6aff7e8579bb6ab9cf4b572486134cdd587e1632e711fdc73ae9dd6a2a7dcd21df31c353bcc6a323e470729784f3badc87da0f799ff02196dcf062ea91c41345705c86ae848076189b2de5573dfe880e11d8a1dbf6f92e1d8959eab4a7b61ef48dcf31d8b0c08f8aa698b9739b8626ad0464d3bd7a565a9874e3b109db76f82a9c1684c07751ff41563f2373b3f080e4d979c5e1a07efadfbd178115656750e3992fa817db4524f2dca875a86403fdbda66e606a22b3693da0ee14daab756ae9cb91e152cafdad563a170ef984f2def64b733064fcf0fc42990d52d1abc224bac4e446820a1f1398b4905958bb026d8b6634ab51702c018b8a34e352ce6883ffe753b0e86169498a709359cb451018fe94c17df84f79ce112fc6c22db66af353f4c59890800a4a08aeade9efb3cc8b0f51baa37695d90a4b5447931965005171e1b96158cc79067b6b648e66e0e6faad00fe1d27b11d3600119dc37d1a1b08c4581583fae50b5ae28f4b75c024417ffb767489302ec627d27ec366d7909f0815bb41c754e3c757b61c2f0f7f5ebbb45a7d2d7cd2e31ed07d11d6e3252d12924f1a0c15a3129d2bed3619b571f4d10e8a4e24cd07b57046b5009b2654a7393eeeadb521b55807a749a3c5308e97987188c1a73d90e278933bb52f701442076a7a1c525de90a03a2a140e217c3c61bf548bd23107a7bfee71c289723bd3eb13e2507bb8659f7af673e1fff40237ad944b69f3fb345bf3a50d22077fbc47fd3163a432731be764eae70b61c0454302564e67416fe6f4ba2b49126b8af595171996b2a92d32c56d0f994059d453d06498aefcc24ab22b1108a2137bcae196d51f4a842dc69c127863c61618ddaee8c968b39a8af2668319af728b6c7945f11d8ae04ebc3638dd4b1a1a9631c0d42039addcae85a523e88ae614bf56269409f08f2c5236110efcc4d3e3eae36a4006f4990d9ce8011d845c7030f0212db8f599461fe8e4c6a5dd6cc8cc6e61f453976c9999e49f1605d8ef065040b830b0346ecbb45426dc9ebc0180f4fa7d6b28d55c719bc6215432fbb7ea32fc5fa1152f7ce978e8afe15953e9b8106d79c75fbf3cc2a763d5d28a794cd723a934dd4a4e6f8e3a6c4f5c1a9997085034721b3a4e602d0abe67e4442bcc83314e8db9783c34046d8c3014e3e4a1499281797f1db136e693ae9d82d5694fe3391b210b7d3004ced94b0c9de43e5a6960b0424c3c13305e6b960192146102f30f902f41ca77670d23b4922a669022ce450c461f9c26a7c41f17e29f78699b641f5dcaf0ae375bbe93f5b42136fa1d6723b970bf1387d8c94ff23ab6dc514905799dd0bdba52b3bc858d0eef8afd638e547bb49ef9354b4bcd2e7b375502ecc6fb2f6b64ccac65b0ce4f900e2096e48b9688b76bbca2bb60e026d883d36ec4fdb0c456fd122746fffcd40c24eb4f16748c761d1a10bdf421a8730e72df480e16d66293897d4b998ffed710f9165feb48255d2d07ea015ff320e057b137132e6e84329a3eb99a753a34365de19e5e3b537902ec4c1981e96ad778a60e47f1b2ef86d79aa027492efc2c7853f2a1db55720c07ca5aaf6dc2f2c7bddb19561f03037d2f2c301a3bf0dad6d268d80a3536646783d2a555cbd09475c327201b75e71743001cc6eeead54cc07b22545cc9bb2d51fbabb18481e2106f6a60ab6ef68ebbb9847fe73c424d68d6799b940d8feb62adcf078b7b0a996fde42900e3dccb36c99625079c7564622fba4f78e6ae2a7df670fef17fe1c88d447ee89333066ea128f94662088c368260ce773f1b7ef641a074381f49fd35ea1ad87c52ddcf61ee334676990c344928fb919304cd99990205516798f14d04441305ac33d58343376432fc62fcf1804ea7e83f77a2a6e4da4fd7346e873346dcd97a96b06487c425d3a7b4430566aad6232301626714963f5fc9f50ac4bbcf66001317578a84cda1664359046c7fc465a8a92d60622877a413396b60afae23e3f2118c652b387a7c35164ac951fe9ca62a8e057e94f8dc9584d7d4a72aeff4a7443b99d639084bcc434cef991a590980819e985045a105cfca2cf57120a6dfd9243264bee1f54a679f018cc0009a3a1ba6b7367b4ce2da29bb0a4992728010eda7f4853d7c526a130ce70bfb2728d8aed0ae3535777081e5c56c4521d1e29dd05fe24373694683d326593f281b9c45f9344657ce5c4392be4a45b6ba7cdc493d1bcafa918be7b43590b147c3c677bee61da71aa1b47f5e11d6e2a596e2b0c6d3ea1b820549849ef4ab91307c8b3318cc1b05d1ca9710ad9a89c32cde01bc3158a8371f348898ad23b90180f6959a6bc63b3238297fc80a1e66c7d4ed6a6b4b5a16e7b71920c62c39a5be51bceb02437bb9f7d16fcffe07c0813c6aac85b52475943ffc2316140b1c56b857769942b394761dbfc8d468e2052d0270134f6ded7e1b8ac7d9205c3178a5f0d302f45804380145b0f14c5f95c20c913d4ed2d29084740c060a9f7ccb2822e1c96dbc3a5fdda4d3f11f1761b5db8ff840051d359db04fde5c0be137f1f23fb4144c30a54376ec85ef53ab045514aa71574a873c6f90352db8954654d4f3bbb7680860d4d5fa58a1e850024cc97e766a63c4c220f818db8be50d353b73eacd0b40d1ba895fb5e9950e1f87a95a0351869f1a7d8819d4eca8794593502ce9284eb958a342036169dd2fb6aaf8d514cc6c328177d59aa08f997c7d65219b0592b899065b45e2050f58dc655fa59d03673f583abd80af7c52fecfa744b96fea773035975121030eda7a77827beee9369d846395f98df1f8655ab5b00b84d43add221d1fdc1cf19b126017ca714687ff7a4992fe123c67458542978391fa6a64ea82fa569519d6105bc26510ebc7ef92daced2e90ba674e94b8f45fe4b1b1d2b628d85b5f324f1f3590d3a886a64220d34a70cad76a068434ea0ff51f7cdf6a34dd2fcec2b06b18c62fa8fe4d12c0a69138e0d9f88656a34c9fb8c2ababca30fcec62a71964d9c3b4f754e1675fda418f40be9645bf45c688657684d140043307f13e3eee2844a4404216c961cdd4c048c5488fb087703419351bb35f79ca8780245abe4997b1e830b9aa1f3ad598a9816eaff56b8960e9a0679899addb1bbea12cc497a70dcb6d6e7c4a36e86f51f427b663fd8c8324e493b5aa25d3ae2664dd241e98ae8a7a2747ee65272ea383f29f52a10aee125c68c4bf2a3c272535299490885357d317ff646a551dbfb34b7b4544007c261b13691b0669157fcdc9b089922fab0db62521cfed0ec9aac474a8c5b3e8b3749b3ba29f4cd4d463e25b90cc0f12914cfa2c15ad1e94e3da36f994887cdf996f9c7e2ba3e0482f36c93728d72769a71d16eb9896f90c7a0cd87d6efb252bddbef12c6dff022035fb5251f072724cdb0adf546d9ed6a41b7c49fa0d06c87d487e418214d3c0fa1b30895f3d46852d6d1e02a9f8dc2c2bb6646cc19567fc46af92b207679bb14be81b28e1bf41c1e834ae690fa845831808d0a366ef2dfa8f88d0b2d85ecded5d115e5b609c33a540a61a9d1466170789f44fb95e69f67311ce69acb38edd35b99f8f0c4ba17194cd6df8ace7f3dd9a6a24cc97d35fdcb4092a0bf02114633e25137e8d011c72dbdcaed34437da9e80dd34b39d2ccb9a523fd0bca5f5dd12e173c294df331d4f5727ede1e07ab66bb50fec7c37b12e166042f4a3bc053a7503754aa562ce114f9c81ba85b316db94847f855fa29b043e6bea58cb900e023f6410c177c94c33281ac9b9d1de34ca9cadf1f7d49612c6322871e8c6a1e731e6ea4cc7d4bf0977e7f4b9d838f9e58a46467d978b1c6d701de0840ae5398a6a48b99cd843a659a07b076ca731d8990f620742513ee8ae941801792dd88e0c730152ac2edd4ef684a967b475af14d1b240189ac2810d36bec1a38de512fd32794a2ead8a917b30548fd50f13261d6a1d1e9793a7d585141d148651482e225d6104806c694c0186548dfe860ffea1d3f356827495f95d988b621ba62116835da7a61594327d47e972560800a774c2b967ace68ad9fd1fb464fa0fd78c5a2d73f8386154aa190a345b76ff49eabaca98ef6395ff027c3c5e07eddcd89eb22c46bc27e0157a9cedf159af4ede8cce053faed363ed490f159e947bb1898d740e0bbac48d5ef4a0264f102cf087ebc11e6b25c68125a6cfda8ef88392cbdd25f8698b2b609a527e6c4d354869158eb67c674c3cc94cec26a9feaa13a4363d3cf1f4a72c0fe482f593df265b6cd02cbda018977fd6558a80ea86d30d84e262fae2dcec9b386690e39edbf05232cec8be76211607ed5bf2c5e739447b8773c804f4985f145eb612757a74043ba7d25385f6e4598ec81714d647715146e09169ab2c18e4224346131ee24cfa32a16b2492b5c800c456158d7ab02912f426e0b16498d96db485f454ba523314182fc8b27bfe5389fd0d91d742977ee17622ee90cd2d05e53e9406e3342f6486ee215848435011b505a36175c373bce58f3a21cbafb25f58a2a4a9b653ad2ed40366400a930264fbcf4f411f577f15a5e3766574db01db71942b4eafdf9bf8ec4558b27a09a2b6da71c47fe9b894b2b7861dccafe03154a90352a44424f1fa96f695ac077b45de7aa982bbec83459404751d4ad03f87f3fd3e0597102c76bc4eb2bf3679409dc9df863e8aefd3e87ebe8e047b526a351e88af3af2e80a0e9be32768b4d2e745ed91bcf7e109a914037cfa5731072ac25e8713eb82d8765bb40aeb0f8fd111ca24122ca317744bc9cd104ab04f5faf3d3cdff13ff68be61b821a9c746caac8d4577a686750a2805f4a2cf3bb1835d6e214874ed23d3f972b5df85899d5cc58ab10a481e1bf8ddb430c4a22929388b14487d02b4a4934e65983cb29e7940872bbe8914c341509ff85c5dde9c6ad1fc3b5c2f5c48fccbdc36c139c5498ea75538267189eda52cca59e45b59c228a2b05b6c6290862b173cda10158cb5cccf240b2d0a359e06ff1c78814967bc87f82e8c7c0abd49f686887535128a0d77bf7042cb651ea416d9d2e930138a731bf610dbced431f3448817a10a33c1aaa19b0b33a9661ada1cd4a74756b09e85dd66ecfce6cdab23dd7d1fbb65ed53e80bc84bd233a67be4cdd408fe2fe5e798b1735656b224e2fee2925b694c7cda387370c3007e201fb885ade002ff985591cdf48b23bf1c03ce0c69649f592f19ea973a49cbff0ebf07a2df74ecd60621017f253037be83eac247ffce47194402b9d8fd8b4bcf18a9ddea42dea95a77d011ce78106e8c25b955c013c2c6efeef954d3731192839320d6df3bbd070154621a4447e91b0ca8ae444b1f5146ae420741d596040a4a080f81d2c510d6e717e83531500a7caaa3f68f896d8a57eae84174578a9bfac915838cd64a858eaae6165ef687e2b90b874eea1972429ea1478a9524a9f1408fc7d97bc3b6b7713e002e548000b98314bcf386f018751dd48857e9d8741f6e7cc4c2d24223a833a9780952bb7bc4b3387946759f929e5cfae9401595e60199007f68a6804341f73153774a96513b8afc33496fce6cd5b6a0c26e90128aae32ab82d1543783b2499e223a825d6a45e41269cd05f3805ab24288709a7339fb4b025681e2abdfb966261bab62dba918a54d65be955f3819153332780bac9401ae6c1426ed5248ad3bfc5ac486b3de13f1c2dc702b28577ba2438fb7f298f9f51609825bccaeff5d2a8fec400f593fd37504d6508717406e801c8508651738141328aa269e3366bebb04bc0714198e5867a859688174e7e2771ef9a40c0b795ec3d81ae209436dd0835681f368d97e4883cfe6ab42760a86bb28f90b07dc73b58f0a1caa3cb958ad136b1da520ee9ebbe7987ff1d2fbbc4d977380b371a26bd71280b711898cade50c575b105c640a4ae7bb610b3c0932e94b6108e9e5acd27a2f2703921f2a1f57d11fe531e81269fc68e377c100d55188c44e52d966031ef13dde429e326622a767e9b36b029e7346eb7ed5f27f6de59181fbab32f4b3edbeb6ed70627193f2cd3d01bec7c273457f9a3038b2a066632ba0aee34fcfc8cab87b37f1cc7a98f968066f38a55c5ea3e1d20614cc0a741b52e8e650e10ea6337dd9173fefe2a7dd792fd0c93f653a7f7e530067fddb7e5eb6a8dc7bef911e867836487639836c8a62deea0b4b5c8ed7ef7cc3ecdf5e9e7e35114b05ca2882e2b7fe29420d8eb3930cb3e187f77564518b0932c3b1bb2ee81ae657e00c71219114b42842492018379612da26f8e1038de110cdd195e1da4e71bd2f91f46b67cab324410d776e2667092ac22ca3920bcaeae9d1632b354a192d3d05fcdb4de53cc975e9ea2ca7f6171a8cb5189bd42523e1dd3c57fc39f16ec1148ca32b1a62ddd9b3ea4872814e43b0b063938561d3b2a00e4070f3a71746431f9711f5efae8ff5772272e231b37648c1eb5a0a4ec877a04801678e5d65c92809f2595c8d02fe7980505f8204d5744d5360ec8a997f47abc097b0800917cc06b95217d2ca5fe9c8c1b03bd7e6bb3b147eaacd1a4c54dccca259687a33446b05556c0ce7ec7fe4dc8db10df7534518fcb68a0e26fcc1e0822a355366d2e3e1be077f6115831143a921e8945f7b4c9c89111bff080188ad2cccfae90cce2a4f6dabf9a89c51aadeef7061bba1847f19b5851daaf643c737b19aa41ce3d41df8f25e19bc30540f9714d5936d005a5af3d65b31d521f7498d75034a5e2bdb870d14da6263cb9955484c2da26683a95712ebed608f9ee30b0c650692728bb4c90f531543ea46b14bc833abd380c95c6bdcff7b54f8262bcbef34fe465db6163051838b0521ee5223df553ea4288a5b1331d90d1547f676a2e3edc63c55999ddedd210942fac671fe22347a79adcbb5bda951a66d80af202b955221528fbf3423fcc05b84c2ffbf6c7c9354795d34a37f1caba9140c1d50428c797ca93e5690778650f05191a91892fa55dc5d8da1d548fccf6947703925b01d75b148019df0633c741cd6bd172cd51acb610ec17d8bbdf7459fbc1208051bd1c60a92f9eaf5cdaf47fc11db622c04a7e805ec2573638ac083e12542b8d366b478a78153a747130288980f5c65fae2dcb6f86b4b6131f3dc11066766d55dc92571b49fb909523b90c6e308c646a26b23f00a6c0d75885eb04e4be8462581d8edfe9b3f6b9f51743cc1fe94972713ce9e216c2a61b50af48886678e54fdc780ff494dc1748640e7a700bfb734a2b4088674ac1aaa539a43b5faebdead24646e41fb9c9040693bc53e75a8b4e853479d3a503b5c713a81edaac2922e16bedc5e570a001df981e44f5a8174bd102d00633c91894896e231813c0a2db50822bb5a8b810b01954bb0df853e66983508b226110f8f81c2a8367623df93bbc5a1d9a323394d442cffb9adbe5ac1294b95a013809152cdf1789a25343eb36409dd9678e4fb93c2a797b07b97523b1c2e9dff586dff52c6aae018521ebfbd7badf148b26f61f4f03146d31214ab1ff2856d413fc5e3ea1676280e63cecf0acc3b9942e80bcd0fdb069789401fbc58631e172cf778cf2d0a01e2371bedffc4b2f7904082e7bab9744f85b15fe2e0a000520129750f78bd2d62b61d47308b991bfa985c3e996549bb3a0dea112862efc4a9277e4f37dc95d78296cbbe41df2d32f03c5a8454651f5ebf8287bf3d9d2c8c842cfc3f62499b01a2634ec2a212d71d8a033832c79fd39f338e5067dbdd0fa3b261fbf09b2060bca13a1f8393b8c3a90c5e1ad631c36f88a386abf4b5a37d383bb1d894ca0ceaa4c6710b17e1e0b47c6fc62865ff263d4d14cee388ec3fb0815a3cdef61595dd0a336a9aef40a48308ac84c65211d8bef1b305475e2609b9abe32409c4fa3784b9b009494d37f41a5955e5765be26ab792be16a6d860af2141cfeae70513f7668706518fe7dcd14919ea54f228733a693389696151b039fb0446e46e168e058a97844bff50428a9c99f0fc1943684154a0ae593ddf0d48a9b183ba1795732fb955a34df9dc3855f35792d15fc554b491684ef2c0e2c2f634be7e2a48657f36939ad8d78bdba49379ce931ea59d3e960c18f2b4fb22314ca1245060bc430a69520f3d977be464c2c200cdfa145f92c7c72babaa22ba5f80a14308ee5dfaf4cbab196be4c3f1c00e6374df016d6da5ce4613fab6808fb45873cd659ec29bf00cc7e46364d464d9bfcc7b46ec73dde89eb0a4a16180afd204f714423a72eb1e25c1915b25683952dc7dde0c3a62c13736c28758ea17ebf40c82131b02904763d871562318aa91c474fa3f8aec1c75d3dfbeed1a378a6b2e3c566d949c64a213f37640f23c7f0236c807d72bedc8e0d8521c4fff038cbe90d4f4821a0876271f089949a68fe5532d0e2889f04156ff3e3767f58c5a357b9d95ea49cdbaa0d6a9ed227d37a6b45026326634260d79078d30d3eabfec0b43fd63887f4ab864e8c8534878d1503e5e8285ee9863fce24db334826a8545b9fd6cbe61d5f93254d609202ff06994b72fe2179000bc9e9a98c2a710059432f8abd1ae1fcc109392dcbbe56b555737315ddc36854a76df61c95e5a21321d60e3f43832b05062ff354ecba6c31f852752acfcffa7f01a6add9ddb49df142a7bdb7a9ec161893e02deb028ab9f9cac2be1b865a2fe9e8353038dd76da079e8e04dd356a2db3efb1b3ea3cd263666f47a34adcc5a63a8f94af1af28b129b51bca00b2a1a7af1f2931f55f940f044b42fbd04831ebdb21bb4a591a4fa9238ef7bd9469116a12a15da69f65ac757454d6548e9634d15a2454d952a2f4465c617a2946d1c3e943fe9cd610e0c3f7127491c41b39a1fffdc066f54732bf14492f0056474cca0734e41122af90b66bafaf4c63e7e1c2cc9d69ce848a0f37420801e6249cef21c9f387905e990ffd485e7c56cea8ebba753bea63b3276d1d6c48ae659ae527875911f7f35c3a16d9f89920a8ca3e4776a5e2f46a71d8b9b96741fec3ff40ce50785f1262e1637981ad300ccec1e5632843afb1de15f5dc6ee34061091e6182a38ca1c0449db2e3bb2c9a071378879a1b16a0021262fec8bbb5ed45e65aa3beb96c451bce0943561535d696585032d987e55198f61c8a7495ae0485fcedb1d9a76abf3430d0fbbd9c2064899eabd6fdc184b3b91a88f55261feb64d2aaf30722f5427e2c5acab33d95dbb959698414f75e2b0d2bfeffc16c7639f5425a658231f5d64a0be7dc00d83c218994210718002768181bca5d5a9a286f28a2c8dec42e8c6f0fa87d961ec88bd8a9cd7f19adf1299da361576766e7afc9d964feb708890018de799f17e34890ceb3725c65cdebc2e4849e2780b251e2009baa7d6e7ae61db08698836dc53da60ec5b9142d20d9988121e3e8588f736d55e5d2815c874f479bdc24871c190d646894fb4c1335e93416e073be2d43b42d8085f7e2ef8a88af0c67e93422838f334ea1dac76b711a545ed1e2b15bd1c52f25d7ca50798633994a83877ecadf9023d40873f20c89eef2394206a0f6d23b17230724d450e86c6adb356b0667d700d95b023f0bacf99fe1074e1931cdd819dfb156556e9c0b8ee502fa61a8325e7251cf061c27b70558ad810a15d3ca86bd36edf2ace6163d943a6d137313aabc10bf68d5fe4cc8eca68ab065771f3865883b1ea8af8f798d6be51eead494a2da597a0768ea00663c2ef94d929f607879750e3c890ca4312670013dcc56f2e7d4c8ac8d6db89585f78eed2489857688f9ed20c273885104e204a6d28a469c0d9a0bc9f5df599f302beef8aba8eae923e4d086e135faa6d366803783f3a2397bfef4a7d10f0156d43e900b436b267b9eef35b66fc1e3fa71975ff0605e1831bdf11b2ff65a57db1243af225382b94ca5f69de5beacf3c3794eedd839d5f71d6d28cbd2ebf300d15eefe1e32fa9430714ca064b5382e56269c6c862290fbe62774b925b647ec957c2189ba797f0fc7e28623b09d7fa218447d94bedcd0d97be4dfd5a657b6e11e29ee56f19bd0e7a76130ff1436e3fc3eeebc896833329d11daf1c5522d77319879c12d58604b9e2edfb50c78cd6cd0e643e06c05fd5b689dd5cc15bac137fa6ac2dbefd9f0a70e3760d5a711956705fd416288f1802271190953806fe158e2f7e00f6a6ea9a85691206bbeea8a7a7bca63f8e51a5c921213a9a0ff5b847eb54f281034212f84e6ecabbbe6bc3d80c9dc9736f814fc6cef1c6371be7f00e343e029abd819e904add96665316833a66ed560a934bd2b6769478b04a20ae2d5b0f693d3c20ea90f1e82268d7e3b2c2c319bbca37b9f958a340cfb0cdfef65c332b20ff9b7b77eed72016502ae252fca4c50ee5b0890d686db92007f309afbb18c427f98794b92111d091c0816bc18f94953ce265ee90a60c2d8aebe3ab41c6619388c634bbecb93a51f111833dfa010e71fb4ae7a782b307a570d21e8dab8100f1e3de7b514f91de8202d87c93051fd4682535c4d3a1ea55320912ce370788ebe3575907944bc41e66ff8536f13e47de91574a0ba6adda3300b492e6c8ac805cf28e5153eb16fd6483f1189dbbe43cec833795746ab79db9577d9826827e95c9db8abdb35a369a6fa3fafaf315b02f09169ffe80e6966fe172367a7e77875da28cfe22cd19352d5079cf305392ac121756f7a96f0ef5d93693ce74997239213114da8a04c8254cb2bc5dc7c8440baf80d34d9f0bdfa1acb190663aeab9c23413cdcf15397be733e9528f3ef2ecb1a8b2933d92408c07de57effa9ecc2455a4521fb6abbbb87f7c5707168f84f4da327e1b3c1ca31526074938b835a183fd35f542719b72a0867911fbb56ec8ed30f596c71fb44946d653f125643ea1c91cbdcde9662965f2feaf302424b5c3b1ec4bcab1232c297d9305b6da8f1b8e3ffa157d64b101fe950078aa949f7fc04ccf8b99d57ca86c33b30c0fe7bf59dbd9a4323c6f791e6a25539df193cac3053cae032ffd6df59b21c0df662b9706760b6537f8267ab580274b0fab393f534e9217a8c5d137ff440bf41d50576d30d04fc26c9127658bb4e9b6f1fa18ae26a0348d3b72cd2efaf09c0031d2a6bc562f04658a2f73822d16cfcfefd7ecb6eaeff9d550e32734a1d8abd6113cecc09e2deaa7f2de032944a9eef1a6a7503c5d5b63470894a3a16879fda9feabaf15ade90c6492d803a6921e056c2127c2d110acb05e4089dbb65d6e47e298969f1eb96c08ce55d025e72ae1d3ff89b83cf241b11454965a508931d3081a9b6ed72e27116d0435d6ccc4094be8d261c08b60b5dab7e583d6892a0cf931bbae385890c3d7e15887ed585a330631392a48f259a6f00add1fbfc28dc1a4f8f0a7f89a9d14b6069705fdc5d278158d4ede4ff34e124dcd5a1d1799513098abcb98d9c1dc3f0cb4e435a163ec970759590cd6b679f3a2595d47b2a6555fbee8b7316d05def0b91fcb7b287bf41fa66c9256a794647c73322caf60ed57b9dc2e272e565d8270a55813d82f7d4e6ceb19623486d90f69e96d450dd6de77cd3badd6565993a684c47e5f5dd5f38ff02a0f069749a42b0a0dce14d3e5eff6ded5c620bb5e7a03c405d7d9b72daa08987015320b5d8bc07704a4546da9e12df89839edcef5b0095847eb00d96747c555824d5a30eb5ad7bf7e366f22bf753b8d2aaf420f175b4744165798d23804157fddd2ceeef423fe712d1f88efd1b3670e47f1c8359ada9ca44f8d4b5c4571d255c5c5fd465fe74b4141571c1a77fb019d35f1167d0015565f557a394b7f4bf4d66d34eb6037176207dcd492e5d24205c26f75c526ba316ef960ee4bf3a3b5468beaf8f7a888108387313ed1f2339c687653e57dbf9f78b71cb47d726ae4f3fd27e94669a7794caff24be11de36ba48f1c41f26253092226eb4ff12e4e4dca5a9cdd082ad33d9e95dd1a48eaabaaaa04b2ed1cd257d5aed4ff685fa8e760b41aab9f6b877c632c5427671b51b77349d77db05af7ce86565a5ae192157c9f321d8003415328761ee02ff6b6f505e0a20f910436ed2eb4b537bd409325d931a8a1c4bb65c69d36531fab94a17e9b7ed3e55bff52de036ab57599181f429ab1e19f92da3de5b341ec32b8f77112ef46e91860a38454d55a9c10372cb4c7d1ac25d063acc67c36116d6e5a07683b8f60e4cf382ae573f75b313b289bbcc5620c59940c023345bbdd16408097953ec0f6e4835da8fa2ca2447c15125b2e0c36a33ad49f6a66915786f6c3a3e6e9b22b15b2ad981d64f3ef030b8128614d108b5fb0c034ea8043f319eb08b91c9f58c0ae19afd123bd2f4dc81423ba5b05838763c5c8f6feb7642f863fbb83ac7cb196deaeab4f6edf7f72791982f699be05f1b8d061b3b403198505548a5da13855ad1bf8622a53cb6256d2148ddddb71a56f378ccec455b2ea9763c709e48c60efcd177eba5134e3e600d90dc871dd674d837ec6bc61a1a006889c2c1f5ed02aae87d05b62c6f881d060c6e882cdee9df5f353d849ea10ff7973eec35e0d7d94715981b976d7667509fcaab70a7acc5c430bd4414194c672a95c0d987f9cdb3681079b021931d79cb632427a50ab82bdd27ff41d2acc06811b49f44364787b48cf00fc989bc0819c6d6d28e11691ba52a4141a6c31a8e2686fe9f829389abaa915852f26102ae23339bf55c5894c4a87760edd841be764586b7f9085d93daa175fe5d07b79a61aaa11fc41c6418f1175b3e1b645f3fa20bf3b12c95b19335f3afb2cb9ea998f1ae3efc045e25f8fdab9ee52a3d37520c28189f0bfcd8aed05d67fa412af793485024a28889df0bc2bba2c1d328601bdbd598764903992bf149124288bf88b90d1f35bed174b018c9e40b4d3f3a68c0af83fd94a152497335b6c5f3ccb6970f1863f50af59cdc0678c5d64e28e962d3d28b6e9e2a3de9063d762e0064657272fdfe81725df2a22a9f51bc1eb385cdee555a6a32bfacb1cfd32a943c8191895992e78c89bc7cc4c8338f2435344469bf8bc3a65611c103adbbb476be82b557aa5c364d8335a22f0a15a75b5072971796efbbd16cd64d47a0cf99140eb8df13bd81dfe28e10c0e6ce6ab066d033e8db09f7f520773d411babb804964eef0313d4c53d10d082988c5db7f8c1c0725dc23fb76a4daf868f7e0a7e775ac08e7ed1995237427bc82f2eda562e83c16915c2e7dbe09a4be7702187304d3105c2e33926eeb25c9e5c513d7d579d2994edc2f681a9ab8d957c520163d80a1110ed9c6fa965af3efe729ba1de47b3253ffd550553a23432f443d6dc59a3a7fcaa743119c051a39d6433bfad3da695faa497c19fa40bf1d14a26e907f3358135ab5a859e4d47149c5fcb82cdf19d05b8ee529db2ff879de4f5ad57b7e479009470a346b9562937cb93cc55cd77c6a99460fb4bf2e340ce5476d5729eea2344d8499bea7da813f4d98993ef6ca33ee0221e97deb3dcae53840f2ec5444fd503464e8dbba95cbf9be1289ddfa96bfa8b01bfa1bfefe136eb4bbd5c86885cd9e108d093fe7ca4a64cab99ebbb5317a5dfb3c6ed862a2f0c6c31192af73f8a2846bcff2de30aeb52f6f34b741e6b9d1ae88a8ffdc515ad319d06b89d16c961542df630be66e85129fbcb9dac89de17377935afc7d15eb4293d0f0cd25a275edf697c867cafbf732eaaa65ff308e1ee457b81492641e3730ca22e6ca3a898150b13b67ea3d871a42b2d7a3454790228409704e119a5d5afba18f9e533b4e5beafb9435b1b6623bcde39c245471c10350f2a136950afb465d03d86005dd475738a0943d8b7c406258a94bbedf2af167f02a1b8955aa2b2d42edc609d5af7d7a776b183b5eea5595b73f6861ebb180095efb09c82b8351acee63f60503f78ea81d924716e1d63a7b319ae3777fa71dddbdff0931130938828a73a6b08982ad6a6216253f39ae2e9f485d5678b2efab13a0ed6b78c35c9a24409274abcfce199c55c04f46495e075a63c66616addd0a5598227b38f5c063f1559d15f69d43b8c6113fe111d84a630aa24c5cada9093deb1e296b16cec609412e6a7a58ffe6ac85c1248810ecfb7a9ca9406b636a8cbf4a1bd63b1b791340c7bb5ab65e6113d34c6c40e722e09ad242467a053b5c793eafb7954fc5e0b98a176f5287a81eeb2f122af4ba137c7762939e4be58f45f994d077fd65fe12a7e26d082402fc921730c14b7a2393fd44d29600c3d45893f11329c9f94795dbec66242dac0eb6575b70f796dc16dac22da6b14126377f633db0197ba734efe7c11cf2f74c849e945e506412c532ecd3bb1f07010476584f850334ca7a39d9a3fe50d0d224f5191ed172f150113cdc92ffcb09627e62b2216f502f92e9120dc9961c7047d22444e196b37a08b694f3a9d21f7340759dc918702c624013280baa8f5ca1dad194ae7684d1bee6717eedd30c4fac5bf9c0c9b81c86476a3b6c38901f50f7d92441d5bb0db07d2eacd5042f836a901cbd1a17432e25bdf0bb097acc6c0b3e63b72e3c1438ad830cb8e58734ed057b790204e67ddcb148192e746b56767295ba5ad630ab5f23d5a59b24966c675a306cc2370c42ec9c2c1449451e16e41b697f04c45ccec6705ced1a0419bdd17c00ce72171b59bfd77adc2b61719128d2ed98b784b4e78ade89a1de44e39fd0903ae2a5fb6d6b5aa68f06a21198373da1c75deff865a1360b8377d2c55d5e6604341c675fb3b3c3142f879ce47e4b34da785f7d4eb7b005489ca56c2627e00326024044d64b15b7c4ea4ff1124369f4bf1aa2ca616365e68b2a20b87a996c06a3183c6a6bb1cd1c3e71800728f4acb61f7ee6d19886d2f6ae85ff8a6257f40ee9ece4953092b26469eaec233c94e9848db2d0e279a3d3bee927aaaf7eef7debd69e6c67efff0daa451b2b6d3948bed5d0995541c11d38ce9f64a50a6b73c253a5b1da09e5ced9bd80136bd9630e94fc527a96477dff8352b1f496e403330938ee0150e8b355263719425bdb042e805f28fbeafb32383ff6ea189490015a8e9dc2dba9d488d1d56202c3fc7145c991f81cf237497ad7964ec64b89a579c62f4a560effb3750d605aaf62e81a7cad5d331d0cde6679bf00ec6b3bf3da62b9aa11986f26e8688835975d2db98b8ada932b39f55bf08957c91e321c9df1d246ba620e66ae559c4303bacee7db00d6aff6705254fae46dce5ec47f56a96741b4074da95f11fae32697cc636fe1a873eb0657b5cb1df722171047e7dbccf551ddd2a824763c0fa63eb7a77cb0e0154a44fe59b531cf1cb78ef018cab856ab692c1576e4738ae8e86a835a1b17d1f9892e490b5aefe18672c81c01c4cd9b57a66f94b85e6c0ad9c71c5f837a9235dc6fb4debcd954dba0117ac27eae8add5dc430b41abdff72c45f335004c5c786fd6f2d15368811452442b10010c6e9a68a73be5d832f1b3f0a01c942b45f7748dbfe3276e8b90b3722d602dbb08cbdde384b1c4133d6e295995545cc617581e9fcf4d132e227f90d21f2cddac902d1e34278a1ea301d047d98211396f26360152ddf03b1b8562baccfbcf41e5da8d49bbdd893b9c78901c811c4e7166a56bce9a972f3c126dbc240e08df700f454e6ed44af37d05c33449528a4f06d91c8dd78896540cba85f7d49e8c257d25dc3f37f5f1f04fae84e45bd375b123cad46028689b3cdc6fdd572ebd6c05210fd3de6547be6021912fb97a7df0f20c7c2da87e05c2fc53717a0f55c981e41cd78cb0ae9fbf74e36eca6ae9196f10b1031f01b66a0bf38fc51ee0dbac2a19b6a486cfe9ff51c3db5a32cb78cb7e8bd9f796ba18ece1325cd81790eddd302219728719e1657519db8add80417d8909bd5b9e5514ede10f639a38b236d392324f124bdfe08632d63806dafa1bc063a1fe2a4ac8bb6854b74911e4b9f99834f184d49a8ed35ca03a6d293b02ac40d3cf6f8b22311c47efa75cedc0255ee5ddd22a4a711169d4ffbebe5dd5bc60dfa3f5036a59d1353127c349a581be359149ee1d8d43e1ed80ae3a2423d2d14f20ffdb36ac56ebae5ad1587fd174954bbcf90657e77af157da5369c2df5c92d655b1afa5a2df117c9894a8f84d3088e3f526f67599180c8e1da757df10b586bbcf57a2854d5b04b6ffcc692be700480cd8ce3839c6144e1504d9a2fe5151c74a522a8c2c2454426fd94c974e0fee2388a35a9c03047e7655d506789bfd4ff8146769dfd15c06c66b8d6c6db7dd336c671afdc8101c4d05890fee677eec586017dce2bd802a8e8d4113d431e963215e8c92ecaab5fe51590ccddd7b514d987d36a96f62bdb672f81d8b70dcf0da5ddae5a1f78e54f24e332b4c92e0e2550060c48ac2f9179c525ae40b47a925deb683666d7f878f6e70c673ad8f11cb8114c25f0ce47dc46f2ca34d548bf8bac1156acbd31605321034506ef5f4310894d70b4885b3a6343e76337311801a7396fa7f7ec110a8c204fb6f653a87887698b53261cd7a5830d9e918d40fc665fc4bc1614a8f112692b46eb8649ffeb581227b57dedc81ea39c0c0e556ebbed445573c0c74583e9744a32a09f8d6a0c311c1d678cecf2419bf01f761c60ed0720c374ac19abdec630da814ed51eb854e27908f69f567b80e011cc1c00edaf0aeb175f9055516bc665d1b9ae527f6daf8feb207a66319603bb9efd1e4b4b1b42029d9fcf92451e316773d9117f9533a6838a657d7d6d7a853e78d3b35b353932cd1f593f7c126d1aea07a6541efb2cd5e2eaa417aa630d41fbef2582642f1940e9364f64e14438706c2c4d84d88b4ddf22877841e3f44ac7340eb48a17eb0e0af2af59cb00202efc23305395608ba470bc055ece930cca224d9bcbcca22604a7e3222caf154788ea17c58939c72dea57516a30978bf6fadccbfbf0c13415dacf63e14e29ea91b5f7a25f6a3a75e85781263853b8c4ed646cb103b50aa47f847c8b6ab4f44e9fe135a8396bbb5a4232ce9a85bac5db911a1a9b7485b4c7ee37d6b9823789370eb0e2641514249946345cd9885f242dab4afdd5564489e75ff2dcf8756c4dfe088974459115375b152b2e0e62bf7354cb24108e7ecd29b22490ad22c376c27443162d65e0b9f4bdb169f2624574eec74d4d6254fbac2bbe8f293b1029ea728aa44d21cc9fe049f2f135247b56607e26f73be659db44ad4fef81477587f014f2332a5d48f62cab9474335fd013fcf9e6fa8efefcb78e478179c4456aa75b1164be93e5cdafeb0650b04339e5daacf3d0329974da6bdb174bb781cc89d05be5eedce8a1e077c07c045ad2f2c2824cba90f0bd903e84c5c94c9b463892b6ddbb6dd21c71938d411f7609f1ac07a124e466c71297ebb46c58a08a7240e999468267ffb7f81d1016869c43877342bf141847304c15e09152506de878ce9811136e6f5e9f847a6c9162c64ed23532af0a8b5183e7d95c381e750e39d9a27b0b9ab2244fb67b9433c13c69a5baf8456d28a4e4fe8b5544c9b5d936913de67835e7a04a044a8eb2c39761fc9fc4dfcf8433619a1cc38d94f67cad9c033053ab3c738f816078633d727817088c75ee2c301ee383e3fd97e731b323c4ecaa1e7886a425672949569e2e96e10a5b37457f07bef17425088e6ab2142b9c4aa9141e7009540b6ceee2a2cd1783be0f66dd5900a9af9c94e4b761c2f4051328e07703a2781a36325814b139e565db19f01c55e59717bf1388239fb3bc70224f95923fd4bcd083129da161cee1a9132a3d1769a268cacc1fda1294d8a5d3c3ddb2573fb963106d9dbb20000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000

About

Big Unsigned integer library in C++ for custom-sized integers

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages