why3-examples-0.87.2-1.fc24$>ʸc95"Ľ>7?~d  -X\ 8  't : 9 >Qi<L`(8696:6GHI@XY\$]`^Tbdeflt u\vtxCwhy3-examples0.87.21.fc24Example inputsExample source code with why3 annotations.W(arm02-builder12.arm.fedoraproject.orgeFedora ProjectFedora ProjectLGPLv2 with exceptionsFedora ProjectUnspecifiedhttp://why3.lri.fr/linuxnoarch0fM j'  8  c;f  g[+&V9x93E(V"6!zZ?I aC!*g$)K6f0>ED;*>#><$GClYuO8RC^V-** 2-$I"#&'3 !*VigN_d&ipi!nF;7[XNT^o ` +2$J` G7ErQU:%7+E Bmph;&^A  So BlthNF  F>6 !We /?vu_/" ze ,g5 AU  s0/)<(m\0!p  <] Y@9%"oB UCGllt !% /S{# j'K g5L" E/  w M&yh&i'3! 5<[bM! Z o )   Xg( .6! s6_37qS;;~>73D4s,H199-L?@8m95<C#$&;9<:ZBVUSYS1UYZ4[Y$U_Zuy0z<E $0x&# *,)*'/w0-% ){$*+#(/R/1#14: Y O ,)| F Re. H2 *AVa 5xZ/X<} .. +,JM.%c j[ 4{; mD#Mw/3,:q8F*}  iqE-r[Nm7`jqLd = 68^ QK69 7'?T$6$, 8. a? A*xV- ;& }nke68 uDPl#&h##+O)B+?14}dC++9#cjg5h )F  g x [)-V?-LX}  0\&w   Y JH8Hl%_ ]@ZD),J O }(mC Fe&5/F;ZQ j/%3Ro+ #T? i NC *  s ,  u _L(4# d M 1e 0q  T)HY &'1V40)ӑ!Pzx w&Ub5A) | <(T' RN:u O |~*5' < % *LD/) vf f NZqo_ M }A-  zi0%( )  4; OE<.*rd 6   .AAA큤A큤A큤A큤A큤A큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤A큤A큤A큤A큤A큤AAA큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤WW;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_W;_a89e76363e3daeb71bcfbafd098bddee82e0cff49352a3698ee3ae785e6436e7774ed98b1dab7d52dffac02e56f2b693d939a6d329b719bb732b9a137e58cdb262a1800b551fcea7d55197657e555088a67898b9381f709fa5e55eca903b2e8ec8fc23760301d4b55f3c5c7976495ddf1a50804283e11706a57fe109f74e073769131eba59ad3c26032306be2511672a0a1b93fe9e05b2c223e187bc37d9ea7137e60e10b6aa6033c2fcefdad5780fa91551b084b988c6af8cde70b0be157c05243fe934f798276afc93b6967e867405caaf94bba0299cbac5136b6b68bc3d11664c1764756b0397be94e317e80badcab2d5109f7fb37072c6ae60526dbc8f4c3bf92c0e7fa1776afdc3c7d7ce02ec3582bfa90965ff6a6d716b45f805e4bf6b3d1460327c80f13cdc4ed3b649a8e7b838d071290b05e0c75d8b6e9d6ab4124138767abc209a44f95f36393bf8d9f34b0f4620c80f996f8eae8b048c1e6568ccda14070f99135da3c3103555c1766726de3e8a124faf7a8b8ab2bc5be34458f0434bfdda850a75bf89751c40da6204cc68f095c30c00276e9ab67fcc872bea176d759afb1813986c10caa6e808b49082a0a6b93f888297047cc41e112c9f68a9a674dde32c71023dad7cbbb15f897d0662f9cbd826df7577b9141746745ab5e220520757cba2e319c013ff731b9aa6be90c8da0ee26eb8871c887ddb51318e5b6751875cfe51d89a3d91d458ab61d32d7fa5f2ebc87efbd1034369eaa200687001e07c7cad175ab6df4e590167510972cb88b995d988372266f24afe6fe31978484f5b9886268db83bb117a107004cc1005d34330bbb07bee8c6299be822652308e2b0770a4df7c4db5effabf1eddd3d9bbe8b8670faf110c726393b05a32d55dc9311086e2cbf6794f00b333571cf38e8e652cfd3ea51bbaf5ca474a8e6d61d9d195ec7a9d85055a53e44a47f4fda11b5c6e32089797c523f23336cfda9452a1f4c5c5155cb21436cbe9e69d90c72dbc9840b5cbccd4d138ee519fc506b3e08506ed6c03cab453ae7225cd106cbefb15cff4a15b55e9efb5fd0b4cd2f7b860c0a019396bdb5a0fe7827bb3cfa7eed6e81f4fecce8ae1b4bcf69735865f855198873d79f1aaa59fd911ac9d967f7af299c53c0d67c1f3be86d6fba76bd3fbacdea315cc1fa7016e2a06c34aad317c762cb5b7da04f3e81b9e3ddaf4136155405cd4e8c98cd785bffb1c7904fd968c49b62f3e2d5ed16739ac6701d7610d3d10a2543d4ef65f2a21f9109c801fb1e80df958c49f115e18e52d79942a66d6ad4f9ac73670af3abed54ac6fb4695131f4099be9fbe39d6076c5d0264a6bbdae9d831bcd2697e96e847af9d5f3f71615c8cc3990fcdb10d66f617a34127235048639ffce14023d4d8c77a26f3658599c761cca43e31fd87d3bea893576973ce8953042f1b5d170bc5056527dc5314f9b44c0efdc9fd62391ede7d74073f29c4cdc157063df011504c328e31532f6b7429a41d35eb4e64acb5c87a5d323fc917a0f08b789c2b2d315b90d8ade2face110b4a8d87147cded0707040da3fc3a07b97f0e0f1c1b172341445b685f9b994e71ed36785541ce77b180a3645e05474244db2e763770dc5e9f69484a0ab1aabf9e361f091322ec24e7c13ad25f0a0589a45d720caeb6884881cd0aba84806f205b885d0bd5bd22140d65a4c2843b0d2525995d025b5a2313a20148a8e1856fa00e16cd99c7c73fb808eba340e4ed3147d03619545744e13a9af1d1cc3a317a65be9c536e8d9e54aa2236c86997b0eed30f696b1715a423dbe1ed76e7b68119a8f7c5e491d7741d5193cfda3f7e862faef8d1ff4a44365e49bd9386b73bca123009b1cdb629ad16e4f2943ccf7bfdbc63c9e7c83b169b948874739087105f51619570ccbfef41c5912048ae97d0fca045babfe92f5dcb3d31300221c738960019c8011ba3302bbeaf088a84ef79dc2e4aaf8f6102400a23a04ae8f91478bcdfed35825af5a3a68e03bb8547ed711c370a03ea2ec51da5992d761da860676ddd7c935c568fc0f7bb1819a216d6e24d4efc14757fe70f5a5c79a9d9c6c3969b20b3a0e3939e4f17bea76b45888401505d32ebfe2b74fcff0275c7458878e9204a11ac0146912613d4aee0c95619a255e2fd0850817243abff7781199e5143040ee0953ed14a02d21394c17626ea1bc1f252d9bdfac4fe28395a4001750e208a82a920243420924266b15819ad3ad97e7e9e1973d78b1a5be6c9873e32c17a6f0d564755a48cc9a9d043480884588ea5b183d43bb98b7847af89c980aa6613a45fd62328b180628eb9b3dbd15cba208b2122d0c9087ccb47244a0c539a5f7ba8d1f4a1e44c8c67ff3d30f666e2b7b363752641d1766f56d7edf0f349d4fe10662420e50f2c9323b476ee24f012b64bf24d44082405d7e78d0e8e75e13736ee7e3ac2fdcba1306d5e981cbcd522de172d2d39d09555ddb761f3149c108fd24d840725f9ef13e3f7d495396d648c0bcac2d1d42425cf8caac415a98b6939d227c73a8caa6923d51ac7ae58d2bb97bc219343a658544ae5fcfd80447f555602a7343544a89475eaa218970cd7961a654cff0ad54261d4a8d48ab54dbd29389aa4de863a66ed7670dbd8c3df783e4ded0719fa297a0fd6ec2feb6f556d2290d6267a47b3d34e7fd568d648bc665531975020310c26edaae0ae8ce31b3390ef19e2d5fbc8817208018da07ab8c384247a799759055e42c11e105e027ef86be20443d49a73935eeae3e228182bebdd7353b9396006bab1cc6437869280e1a2a80705b3bb301ff34118593beb2b56b119aa2dca2f6071a3d2d4b350ff28f3b93cb2aa7302b8d42db59114b0482bf49e4ebbee852a8c7fc16c98095363afb20cfe6cfeeb9530b8fe0c6533313fa9849374092744db044717232fcdcfb71dad03e6d35f72541ca6e21c70f03ff64dd3f44e444286e89336a50d824ef2c419712d87a07e4096f14520f95ce3047eb2b4bc57d46a5501c0cf36a936ea1bbd25c4b09d30eb46f290116f175d8459039df9f99745c07330aa973a640d6db64d9c672c7214949164726cfd062d3fa5c6ce64718d6070ffa705ac5367e3703c428a555e879707ef63e774f996a47f59c38e32345c3e5a7ce23cfc7c5bccb822406276c10e6cdedce5d4624f15bff801dcda44577d545646ace81ad61c9c1b0e27c4035b3606730fe158d4337e0f20d4858c045861a6d818ef9766595f6db4a26ffec131a7c55158be07eaaacb5fcfeb8cb90ac60e5693e864ef04cd7f73c32faf8689582cdb90063adfe904b370cae48339f4f6eb7f72b8eec608ee6ffed57324024afb667ea8e000484cc26516add200bcc1a4030e21b8e423b718f472e307dd1f07ae7517f94038be74e7f61c962354be4ca14ce5c7e45da2cc01387ce98dba453a591f2a2ad3777bc7fcb3d8fd4f77e910be943138f401e25d48e25e58e98da77527dd95b7391e731db9f511876054aa62f843c9a0deed65f07cc4a50294296149d6b4f3e07a1679291841b2912cc241733d753588633a8d17ecb636db56740fc159915dd275b90b563c3efb8a981d53a29db3e58ce0203eeca10d685257e8ecfc96e61adc001c539340d9fccc3e6e5d80c17f54b61a5f6b1a623fa6d82583179da0c769ef72f30318c23952db8f69d539e442d86a6b46f58fe39da99831e1ad5f8b1272a151876eb65e83feae666f5011e612144286876d5b408c74dd28d9c7ea33fe627e4ca3caf288063d70729a762db06b78f9e1c8f501ef823d41e5bd97768d54c7cc6d3de52fe09f6065b7d3b8a278a455d0507bff31c48811563abf41ea930402863e15dd7da623d84110525592599096515d78a3f4ca92e086003786c0ac33faf4d2b477b91b8329937762025bdb68533e598724a7a64fa8a165011cf3d4fb8fad65c8313acbe5922d0d4188f555a7ea460a67a30e270f099f1b7fb418569a3a88589efea7dcd67445a4cf1778d56afc0240e2e6bc754e90dfcb65a1920d2fd264f856f3a5ef6c747b6e192ced0f0cdbb6500ad46a54ef7424eb5c89479c3f219bb4aa15a9f09e18755f357e4a0026db7aebaf2b212018fff83fbf03af8da5690aecf0b3aa8c661c853f68757c7cadf4f393e8ce12e6bb1a826434c25d45159dcbd00c0fc2c376645b363b3a1e5cbe6d38241ecccae4063071c88f9b5d3c9b2b6217c3e8701aacddaad1045bf223a73459efd2bf0a7003ba61e7d616cc0db2cb34fe4a7dac9a1aed224b97093d6d4cfffaeb13040192b4cc034de5c9e0464cecaa5f5908c0e5b0802f7b9332c1b0ff7ea0500bdadb7e80d93d6792d3351d77cced078888f4c263ad3490fec3865c550d794ead038e3601529d9bfd5767b09a3d6a41dfb398b14c678f54dbcce0d15b5f46ae1bd788520666bef9b8318d0fec71d9baadae6783370ca2460b86c1c6d43f1c01a01312d01f08ec4ec219368383a6d67a03b23dbf78555e6fdfff18752ae422f8f6012a39a985804ad718db82cd20f88a1f79eb4fe4ae6366fe5e1cbf6f85f5c7089adebf985b7967668aedc2a9880527a4043c7671b6799d38b0229daa16fcf93ec8f7e007f298f554d73e4916a05411f5168659ffc934c7ddfc5f6be0b440a0f5ade7fd3cc9dd42fd32459d5768d2d8babe6271e249ec9969f79c09060e4b08d8f15987ee8920e5bc9002191e5eae68d1b17c1da5b0c900deea1a0ee7a2a87bbd9dcd82e8cf23451530fe452afe0ab70f2c1f0025a70765a181d844c59d301f93382029de0df23dd6c94eaf52dd1597f2d748f06688f979da63cf67f7e0951f99e4f9f44531809a0b4338662872f6718ec6261051d4c08c8a301dc77bf3c42cbcf080d9708ea387243b3f856de0a56ee3ed4aba3c1c53abd4e3560af155723af5aa943723b1f14fe7a6b82aa5edbd55f21a949f9803f47aa623cbc7fa042cd863bc33cd5b0dd470ed870cd7b6fe34535f8096d7b06dbcbaa28fb3a337392355126b849518ffcf306fe136953d6f2575b58b239e91f2738759e827ed259bad30996142654de046401407ddbf77292de337f0cfb8a93d9c76c99d4ae5a3ec55caab49238c276968b9a7a8c64f277460b7ca52cc621f50171437405cab15ca57ae2c09128d6f117299cf19bf791f1b799d9cf2f6c69b9a3c472df294874a754dc796d0f9bff2df38d6ebb80d1694841f56a1f28d9bf88df58c51d67d27a02627c98eb24e06da54bd490aba68e0fb662b7d4816e6b2900f7dad6843dee5eb85beca02356d80038e188533f2ca0aa90676ee20bd2557f924314e2b208507d97acbaa0b1cdcd9ca05423795c6c8695d621fa6d80cdbf94744ea54b5cd23adb670b4657747fe59081d64b82b7a4d4ccee6610ee8fc92dcf5ebc62067dc5f400df7f5d943265e4e31028afc218b21b235ae3036b3e0def008ce44660e70cc7a3552066f4276bfa9ed372ce5a9170b14d802182d9c15a705c086c0d174195ff103c29b11aa030c026d561bdb9e395deadaf18ad35917df639f70fe8699e8f04a59f609033520611a9c7c7c3f42769f0c26dee37b0808a0ccc633879e1b8650eadf53b89e03723420e7aaec785a9c804803a6309f0819cadde0f1a15b544bc977a2fe758ee7e0ccc4110e80d0a6cd9aad1c855fa10fd475d10b3cc7814dc6345d95ad9a104b57a4edcf61c7882d64ef22e8da763bb29fe2d2560bc8a1876ec35423b32d90ac1bae54d46e75827414fba26d80163e06c12e296cf3398a2e99e603ce2d066157b10533033d7e864f2c70a523c0cee40467a5aa5d56d24ef2512555d4b5bcbe19a4664eab754e2926c05d8a67db021bbac1eb4751d53c526166858e5460906c6c54e5af7c1b64713e77a975621883633646daf62f65c7dd4dba9d04b1aff6202f69ac7d4cee9d09d0455bcba28c116fad668bf9b2eac335b508ec77cd729cbd10f56b8694eece9c5510e4bdf21b7ba5dbbe8094b49eb8b513e5226af9e2d66c999296092cc37ee0018a8b39c3f95ef0cdb008f57cbb392fcfa03c3cc71432b55b5492b4540a241be9663e97989543a62c236f09109a4d207d5c7cdcaccfaf2fba4e2e2920dad73ed557fac93a6e70086d33f1963d64112af1ca726be50f10b11572fcbfe6ade510765539a3f4e2c85039456b8a137c717fe7b3d3d617fe041f840f449379cb15bd26e6bbad512daf97a650094d49bc5d04c64bea3e5cfc3e4a64d7f3041f8e6e577334125c64beba9b64995cdba833363000e616788ac13989f46bac1e2a0ff5138ac7b1c28eaa5d6e9dbaccc5d2aaff9800374839229da47340c3d48b0563188797503621f704e6e1e8c6c7cc374ae58681a0d670d155257feb06ed560619a0b0af9893d2e7feefa95b5b64f1409629262effb198fbabd79421833e98b1566a3d708978b48128c6e89cdae2e5e9cac6cfa94bc36f5ebdf6f6e8e40c0edb6ae7eb22f88883aa381fae05e1ea04c52e40bf4b7357b4755fa38a3423578556c0adc65ae206f5c574f6e69a82748c6e2a812d3f22216df7d920f7ac6c3ee322abaadc7b49345b1725cbe7c009f0e97c71dcfbe8e8fadb3cb4145f8824f5e8b286d632ed5909bd2ed6e08be8756ef53e326f48e61c4d8f7c77c284a661c6d2627e21db3ecffefb291bf9da299aa63ab11d01685e52b17eb36f16756171962ab99bfab898659753e2cc8f09cf6fb7feaaad4c539684f300277f5146295cbb820ab1a57cbeaad224ca2c51e9cb54b70116921c3e653cdaff2c535905e82014be07adf49a78176364821d45f4fd91eb66fc0976c8c520f8c492ee04842a2a7a559957b80921fc2fc14d6b589a18dcfd6c7bd84b8007c248169bd8afbb767388e1b3b6c3b8a6c95711b8e9151ae838945acf94a9f6cee113ba8a6df941b15d9f3815a06e1784994424a8cb9e0bb8de11b0cf38a5fc0b6352ad6efd80f273354dcec1fec3567fae9b5a0e2cc1231ebe73126192892657daa77de60bfbb7df4710f8925f51aee0891ae98ddd00097a1ddeff5aade3910f901a8fc2b916fb228e269da4a65986c7c77f7fb8a4fab89901cc33d27e93b64981b64cd4d4b168ac7ec22b5f03b1c2740c9273567f439ea6a91c728726c5d15ef96cb37a6d48c0ee03021ec4f5fe87c3992f7e8c46a1ce2673bf92da6c35a084bcf3f6f0df99479f4ce3ad655856ac7916b6be205104f752949fcccaa382856ef2f35ca0ae28d6f4570db5185d8fe5729f562fdd96aac6ed9c3d86496debd7cd5289c8dcf26bb877b47a750d52ff272c7dcdbb5c7a5a62e37eb511643db07b3371be543fd84443bb1cf52374237a08b6c98851a97cfecf503d0158670f3379a729206f08fd1147e3d266b824efb03b993f02460599249c3df784efe28a430ca4102841fbe64979a0f920414b9307e107e0048164cb71be38cbeee7fb6999ec44adc4b33173f1c47e6cc8bcfc472b4c76804f0ada40d4c9254ed765634addc8f5c8f94df67047a70976d1220b83ea933ecb98df6e58e1890eceea83f2c1ad6668972ab56fe6f3a3fcbc5d318643a5b9df47950bb6f3b8debe93dc2c1ce3f130f6ac5e5e2619cc08cfe6a3148c33bba19c1a6cc0d68b570c1d98a1074df94f949cfe8185185b42b4f1a48997f192a714e01b57a19c4694fa0002fb22961b209c38b985c47a15974ef83f2f5958f1b1764f0032181d9cfd2a48cc1e34365198d82073428cdaf8f8eac3a872805ceb45ece72baa80107d5154d680fe6d6e64e071b481e9ae2565fe2c0c7b013d7cafde82d3a2e77ef2eeb265aec195a2c7dbb319359e6d5b7f788d33fb8dfbf674005009ce3f92b52d9917b5868994e97c4624684ef359bd04412607a5442452a46fea55a13fb875a97f5a5c3562346b20c600291a1dcf136f9d951317cb1a9a5e07cfce7cb1e3e9be74a74fad1f92a7fe2ef4329bfb32514cfc8d392f48eac540f58d945479c3a4d6a16f59afd54f04fc6f8eacaaa28302c621344333f762a17d9384d6c2215d595c3d4f21dadcc6fd4b47ef9ee2ce175a24487103f4f7a90ec4f1c8479d49f427eef0d8410480841821be798aa726c73744c3a76dc51116693010ca3ee6f9f91fd858735e661778025a41f7e22b9d50ca6d8a53576e95597b8f2866f0bbb5549b2184c31ca48ce6d63e6225cae5f8b5f951cef16be62c8b1f822877bc3c8c89ae7074ed1c82afa820877193194257aad55f3147064bf51e2e7c383fe6a9ae2a921fd004bb02c014f1adad9d5c82df8be7e1942f0483d307318a34b0820a1977e10b27a0553d6fbd4f8e76519185ca0f9ef428e037cabf4ae15666a243f5f9f659308cee6a4bfa049117ba46006fdd404c036f1c08145fa4e45aa97a0f3a109e289267635c83a4f09b821d6c98116f23a9bdf6a0d753367eab176d1583299178e5dec088e1aca8674a33285a52313717da63aecab2c4ac031edaa00a0d6a68c2f603e7bab2cf8a9b1ca76993a645ac05faa6e4ff55c4ac72df2b71774b0afafebfc38357537ed7e8a31648cc1c06c0daa0e5b6e40dcd0c11f618f4f1798389a389b0f04805e60dfb9d2aac033fc573f384bf09e94f749c309d66fafa1fed8d6c7b9d3cf2af7d9d940366fe7ddd5061dbd546cb3d3964124ea47e281d9d251ab581290a9af415714e5306d6f3b8d66bd6b983371945b195f7b5e3a5553b8677c5ad4bd20f512edd5faeb7011cf6f22ad0695c9a37eb1be9a6f1fd7a45105c1fc49fd58865952b5c15ec1af8db0e1247f28855431b40dfb5783bbbbe2338df846f46880045f1f57ff6db62fbb331fba6c453d0ae31e747a8081247ef875745a416e607caf581766dab0fddd943d50faf6e24f0958f62b7dd574f3165f50ded6e6ae44359368699a2ac5a4fcfd47db67e6920a313b9e78c08086dffceb14b2c02d8a16ca3c7d6c59815a36f45f463164f0df5de991a9124730c08755648ae3c3306ac40c59f7871fbfc9244363d3612f2da3d41c4de8dc762b6cfd0f3693c0eb3cd578e2828a48f9371b1b5c7821ea8b98c1cc168320e1eb754880fea074d7a51b9800bb93a5de9285542437a2c173182ebbb78817d36ffa0877e1e95a1aa201f73089f266edfad41c7bc287fc5c4bb72dc8cfc2652338bbcb016cac3e433a367206e8490ee3823d52f5a194a01494305919d5ceeb1f742fce712478da2c506dfd90edf837a5accf8e4dd105506c7b4fcda9caa0c6156a312c821e005a877e6715364fce058cdf96e6cb7a90bd2f793edc67f73bb7bd39def06ae84fcd19ffa930db9aea4457e549eca23ca11e240f9f31b94fd2682d0f1d204576a893d6f05a37d106884422e70f8c4766549ee5b17c2735ebdcf82fd10c1e71787ccf9046f3db365d638e5bd943248a6216297d3ade23f0d88eb3ad1c7040d641dee288153787171c93e5d66c4046e7a42c71afa630ca66214731c2e911cab5636123a0b1934cfd3a5e9ca2a8f21607cfa8fd2a9f7c1493438fe3db98b011f1e4a67290f3363ed11bebcb3761aadf45fb80a2c2813686fad681da0faea7cd0725b3aff6c630bdce02f43b602f3986da2444d3ad5aab95e5a00907a42de39b51b77ec24135e1adda2b1b570a9890344ff516b902daeb48fce896b5124d3cca8b75924c95930a5292ea3917eff327e527c4cff6a94761efdbfff3657208544db6d6f3aaa9af59be29a0cb991139d7a5cbcafd4812c959b8f41daf8ad96fa093749279fdb3044461621d34c729eca516a71a1410e85644ae2c400764955af0b48c9f5e0c19715ab6c8a904df0165b7bedcfafa5e9aaa4b9a823ca8b242dd088b8e513093f8a21d2b901592177009a7d4998000b07b654844d1b4445b74ef3d226f49f57e76d3e8aee25c65fd1de529baba388b15f3405c9ef42b53c11af4158ccc46771024554123813d63fc8b40d57268d5930ddaa184cb9d1e5d721b158f075e277222aac8ba2d58d902974a217262c9e03a40979bce73f93d2c605faf5498e26383cd10b1f52232c2ceac86bc937d0429f8661a9ce8c8bb58a8adf03a04c918bd674e325021d6827332f240938929fd06a25fbe5883c8ed78cf8a5952a75c3fbb0c11d7ad6fd46b158f5402a3cf7dfe831827bbf090e1dd94511099e16c64bb6247c4564bc15e35481738a9fef1bb3959eecaf23f3161af06ee09a62b72044a8c4bd11e9804f54b8acd8e0e7331bd6d070d138b776a67952ac900d9789c247566bc3df6f371a7d6652a1ee9e4eee4b877898bf910603f1388c81cab40ab4acb8beba755a2cd7c7fdc5d4cb24d94903d3f3e57297cc653fc2696f497fc10fd6207b536e33a829046aff1fd654454addff4f302a7805f4443e384136b985daa94df0606a0fb3bcf9a8e31ce95ffccf9de4f33ff68e242dedaf973f5b6e80ddaa4cfad25619b5aa95822a7c92a3e60ca2161f29d148afc1c8c2b56311a512f83a15a27156d54021fb505887d1cf8ae8cd904716c0bd8ac754dc401a389b7342caedaf72cd154e4c8ef24f4b3447de22b0c66f5983b6a1fd8483390b55052f39875330a64c17ebb6e44d416fca55260d69360f000c64811c062d98132744097d9c1aa79dd204e1a41aed36ae21a5724305e32b44f5ee786b8e18c150960d9adf0ba66023e38a0974bff6b646e89f91707bd52999ea568b79c11f360a0605828f0e21cfcb1d0d7eaf966392540e45b2733ee986849e47f29e003e67a1c017c078b704c4c8f5c21db380874fe004a4b1dc12b93c8d03302f4206b62bab2f566553913821a0e16e890f3359adb91ea1e2977682815f0d3d269a39284cd29003e2581db5a30faaf62ca64288b9be276a4d7654dd4d88cc4a59f99e9f294f7e985a48b9b2b4124debe680f17856b4dea27bff09b914c6f48bdf22c405d1073f1544285fce92ff04a76e56dea947d9ad072097a74f77586ce5811648dcd0e0020886d5985c5c814f3431d1c92095d8726d794f3450b17592249d294bb50b62b25c978b529bc49b0e86286f6fddf87aace802b1aaee139ecd383abf6d2b64855a42181d4fb876b204f17fb303a82161dac492749b1ecfaa08f115ef06de70606b5a420fdb90310d7596ca06144a187142cd651abd52d4bb7a79a62970c85de928e8c5a4241f668253a2e9b139ac7a1a8a4cbcaa3c61e1ab49b5e1f264e788776d5ff43470e42eb8ec4654046b802909a7d563970fb3567ff40ab1f7451235b6f7dc3fcf14e8211bbf59dc45af4f209d3f410e7801f67fe46d1881d0b1db59d57d38e18bdad40465df0dfd6093421849cdb9b34980dfe4b55cdf53b6f406a10016835f250d70aafe72c6412745c8f28852507dd14f98e0362ca98c0eea28dcf18eb9265244ee847bc13bb4660ab58d3bedb2b1959d415f3955eb253ea73ba424d175a1bd99413a04a8e91a1c3382841ec1248b5391ea03c3a829800a86b1e899fcd6ac05e715d9d31189b22137499a3e555836404efc5451faf295b898d43d5db13a13007c3e90eefe1100339406260dbaa66dde62164585e0c52d2954017cea8d66e3ee4e9bc1a60e010b521062a25e097a83e2b13765ec2a79d4c5fa24a42000e9168eddc2fbf0dd9b2db20582aebdf1369412a044aaa8bef533f39c19eee05b1367f31b24cae571b42e3c09b956c5b689f3bfeb3e8417fc03cd4855946f9188ae77435536d2617bf81db970528835d379b20ceb67b753b29bac217156745411a862bf2caba916d47eb4025f5fdc7c30d3e87dbccbc2862f9b8d88be12226b6f166e21184f6ca9f87f9737ddbe256d5080667b0e1bc7c71427a3141ebf920e6685fbffef57072f404fe6d38cee2dc2bf6c8b99f25ea84c8e43aa69698f2edfcd5d87b5d904b01d35fb4ed33e03617ea16f02ed3387446618742f99800b2c12c6ebbfc26969bc202044879241cb97d9f586c71b6a83f666ff76a375b135a535d65c1226d77c7a03d1a73f0e64fe78836285d0386692c70e9cb0c90f4ee2d82ded663b0046c3c6c84ea58c0707eeecb47433f427374e601e61c826ffab58be7ba463a6b9a318bf530ee0c99422986a832d331a54a9a7f993bcd0d368adfdc86666ec4e85b3fe88296241474369579b13ca3f71e08ea46cacabff663b8accab94179195139fe5de58df0e612fc1a9420d76b8a260dcf7555efeaefa700ec2d9f20b9fc01a9c046810139ac8dfd78cdc632879692b131da4f48614f463a269a8ffd03f3109b9c7cabadb2991910c05bc2a7677d6ef63aa7d0b633f9141e69c81435c14a7b9dd27ca4aacd9228f145a3bcf5ded3e940233a6fbf07b09abd7e7511fb0a4660638c4e82c0b7c62429b8d2f44d23ad79174c457494acef2d08a4e3681b51afa59c61450f827dc48f6941a72031e0e1042c405a2224b2be4ddb7a1e0be828540696459d1fbf35c2682f951690606ec8328f21c2be5c53d521b4252cf300747bcd01b99d37db9d991b7c9a3a2f245e52060d5955ef19d2316fc29a31f91894376b2cef6a99bc7077f53004f018fa741c475369518f2022cf7a1dbd4fd00b7be23855bb74351acad8060e9c7058e11f42b0a423d8a286a14042e9f906e166db26d45da4ebfa4d935b625116df54f42a1905fb4b136d61c862d7fd00f2a9cd0adae929e75b480a9101c493897ceade98630b975face921563b48962c291b018fc035779b7285b7cfcd21e71f7a8a96f4b0d8645cf86d94ac31fad14d7584b10b3108c0e7a2d1bd6a0c255428f50393480db538a6fce4585ae6fbc2f49fd0f91f98e8948fa7c380de3ea636e48b0a88c4116e470f5ce401e75567d62a70b4afccefac18ff66ec68ae7db7c44f8d5680a06558242029106ae12da5c5aac0df60651a72ff8c372bd32fd122081201e2b516dd8a57f5a81e3ff68565d37c517cd6696ceb806b713b6a21aef2da5a3d8d506ffe8c0869c24c72166000c82429656adc05e710684de4056ab46cda40787639c938eb6bf12c1df119c8968bc58d794e006051e61e7c9d92508861e421b49285e215995481ed76ac5c216ae61144cccb467f59b3322cf4fe4ea341a4ee3558855ac5fd1451727def86a88815a4e85941165db213a8898828feb0dd56a60bcf4bb7719c96965119c95df8e53dc781285f79242612ae0702483cc0a72d4e4f9cd5722d5f1bb399833dfd56b8f521783369de0abec369500ff292eed1228d666871707f91dc39d603b1a36ef499e3f8636471c8b60833ed89eee79f21986817bd04aaeb89a5a23a058ec98f0b0c2a782a4d2d24163f8035f96dd1a0f8696341c4e4d33d98c13c8ece2c7d01a386deb3ccbfcfe948941219a13b9cf6011fc05bea455fc8f414db2bbec426914deb7f74c4109ef65c4c1d0aeb0710a91c4c213d40ab231844b8c8967d93f0a702574dfe02490b43304ee609c4d6e419b1b66ff3f320e0463e2192d83b2c44557aa906c531b7ad71612691102a84c61d963ca52b146e7ab02819a9135adb1f10e37d4ebbeb4b3829234396cf9e0d1424d9283b4fd39c1162bdbba681f04bae28a4fa1cb4dbfec4d63bbea3681460171bf5d710dc720b10de5d7c15244d8e5f71db650d38c93f13f89737a19624a0d6aa6fee8e5856a3c2ce972a382dadda9259d70536f2c4f91872f20e2c389923a72af41cf45b48dc592ec2f05ae3828bc1df842d368f950b2832e10f42bec0c405de7554fcfddf004ead215162fbb46cb1ba4f5afeccea19ac0c8b2790bc3131f98c2e3f99a39e2c8806828bf47d9f691b535d307013e2acef9e87e496d8321c1f0f8e9f417f8684e86410029425d2b2ea49df3339a5d1a55986298f908183a103a64e3deb088deb77cc7ee5c7fd7c79b882797ab4e64e5699877c1d27c86700d845d290952468a8a7b7535fda7ddc997ba53243e60f80b9b7bb38961e98c7837df36678583b99409c97c0e8d9f2d1933be7f43073526595bb9773fcade6ea2180779bd051aa839eec8db48257c4b4b14f2c18645ba97da25c4b4684369a0755eb2fd2d47497a3ccce04d74425aec453d7bd09d72c5c59b6e24f8c7ec29ecec0a66695a311422add7b283b0ff642ccb2a89193c411c2bb884a841c77eb0b70a36e301de2ef123371bbb680592f10215a3be8738782ed91f5a595da3cf5cb9816c5efbfcf9cf16d3e1b1d6dacabdadd26c5748d270816962e7282194c5524873dd6f45edf87e161d67bc20941646c6f71af6d3bbb2e04fdd14d79f8342886aeb10bc30cc0f94b57dab3451c253bc73c4fb359157b1bd44160a396d7cc25577b74f4880030e81cc80f00c66f8f4681e80f1bd38752a573116e14c3211259e688fb82d2d69a6e5aa2ad1b0135da64eee76b65c4cd90f3cab5eb4b33a60503c2770ed3c85115b31a8ac177efbb1816ca0004cb20efc23fdae01cafbc0179a700bff88b5fab208b64d5282e7092b51bd30bdccaf3691876b0aa2110ab8b76b142f06c40c75d23a0d71cdb5b72594e4675e2d46dff0e62873865744fe1eec49f51d3735578995df2654695c54e7be3ec95c757f9da9a5ba5e60e3afb17674bdf8a2d60714725e454c68a4b80c17341d9e541d3ca2706abefe2e8a6f07670499f5825f1954b1c8504115920130d65a455b9416310dc3e4802150da0a865f40ae1ec1d97dcd60591bb79817f6c01e1bb53d21cb502cf729878e4f91f57e46fba2ce7cf29f17cdc9221f53eda473749abf8ae2847a818a93cb8e286a15cc53b22109e7dbf08d170ecd44772c200008adfc4c671232b407c1fef2c8837c9eb016f4982e4053dae22bd147e7807a1ae85c78b0ca5aaad3f2f56252b16ab59a1b56f35aa51b2a0abcf1cf408e1f92a6c99e7e2c0e36f72d6fa01d1b721e27e62c38d70062e4dc559f7db204cd71154881be0dd17ddcca6e60c17d0a1b80fb9b1bccc64041991dee8da0261d079f3f42732042241eb61825d15d90e75035031990cc682a2a00140c5fdc93ade2dc819fda9765b862fd7f8f24c82fa6c9d1e7daf152213cea03ccd8177c9b4cc6ee4a988e356604875ace39da7f9b9bd12a8b163a52b1122f25f6565a25c6506dd6e9e7b2956e8db2750b34bac78dc28a9c6f05d2fd369c9be6de9d5cca70f5aafc8797e4d7dec574f4200613be3e673c91328f635d4d0f99ebe218b6467c56dc197c9240f5cf6128873bfe178090ba1ad258fe81597ef7a33ea2066795397d7481c74ae886293bc0b1bf6a8cd2bbcc62a79d3f281bec5268e269ba6bc7241017ed7a8d3b4af6ae198477c0efdf9214d04a80f4d0289944c416df14b7631911a39d0673f7226bd5892626d39ac02cafa5e3da30f56bc94ce8a023efa54ea0da58d7d8588a7b0df190e25982a7d08202cb06a90b3c0553b7e077be8f90852a00e42aae6d9481d3146c0a16a0794b2485d296cc88f19737de6c31f1358687eb9818e93ad9aa58443f6b5a2f8520f3e68393a35a3d6295811a6394fd819fc562dba5214b5b44b4c75a5913910d733c76ee9e09e159167d794f8385a7ba3cda6278555f018a6601e3c2532d5e1df32e62f2b1c566a48e3c74c3f7ca241e2e33c48ccedf116d1759d9fa87a5a87f04c2cd224d1ffd334253560ee0dba47fe6af1e18f695cc29a32eba51e104c1224ffd232a0288177a9481cd13496c770a018f604e31f570329cba7b32fbf3dcd9e79741d957ad4634938f749db093542764761a4d09a160217dbd941b41ac2b63790b248efca80419a70fc3d4b4ce900a923ddcdb4c3b4851dbbce273a8fc5741565ccdcb302f87451206b75a63fea86580f3b7d354676623ddf367f39d02fc06c10cdb13bb1498703e199d277f7dbac06fc85e87c34aff241333098906e5134883bec859158b031fc254cb7362bb10b7140d1e1ec58a38491fc0290c2fc86466af6c8416dd268ea98815d3f180720a8c4d9fa2af0d5b48468a8f8bd90b11e79f1328a160cf94f1c3257c0b9172793a7d7de1316f366e98832110359afe12507c4e29e22afe487934ff8579a5e39586c31d2c6269d18caebb6abb7ef06d16bb5f35c14e90651ed58f74f2dc730f2ee8854c83797950685661bcef5fb35400b4c83e527749e7984d46d796dc087e8a0fb9f0944443e35b5bd40b1f9274b1ddfa9938e3a83ab4f68e2164a6cdf6e3fca0b27e88ec65eaa0746045bf3f854587b796f5093db15c321f9c602c4850605012f3707daa9ebb3d3c558389a2f52070c90eefe1d18e6e9aec4f334921d36af7ddb2951ca1777866eafb347894c4cf4463974ed353b226cc95e8971cfa9193a47b7d38912a6b8f1948e558e3f02dc9e64fcd20a6ab4a31ce19e8bb1d96cf210c518a8ad723dbdc98ee7855157e8d7d3984add7a1324006c5b3f6e88e127196d85963fc907ce7f9a49dbc93b3bda42e4a99a303bafa3e2e23ada019e2ca5a012e38a4ef552edb9ef414d65d0f6a9d23715bc17753592e713d59dfb877334a5b5102bc2025f5093f37bc719ecf9135628ea6209c4bfb82c7e1dc063b1924fb6b2d7fcb27b3016c027c271fc4bcb6c2e7e1f31fbb10bfd19ed9e2544734e306169440f431d79c3e44ec4b599a55a8617b7f05052d9965199bfe985350e11442ba00158e28dc3e4a94ef9662817149d1b7f485debab373b4e14a30a95eb8b32f75e859f79e1adde1bd451f06516dfd9ead9e48cdcdeff83e0a727a0b709f6e526a1c8c004fbcb17243763de5f31fc09670d972c53a18ab6622d7ba54f3c72c2023b4c00b39883b5a00cfaeacec51bb7878abc8e5a0aa308231ea462550199dafd3b85996cc620baa81cb144e5b68d6d0db65798e7897f654267fe0765e40fc04aa480e04c50bf4dab9fd0e335c15461387d78236c30f5616ce9f6467efdb09674099827203f113670b57541b7a6ca0d74594cc6d5ab5b6552d3780a5d97140a4faa2eb6b3628506e821abac910c67c12773c69e984c723b37553bdd3b3e23d369fb5f7348092865f45f32dc6b13ffee945d76629211a5f9067c8d1bd856794d56f1a7807c7116fad2fc4ce463e6ac83d04a9c2c56c9533290b52c19867a38ddc984d6513fcc89b002d414f0e15d3a0f029c3c9f2dad5f339a2e019c81a9cb71b4774611da6aa14b822f3013da721b1c5ebd7ebe8afe72fafde18a4b1e807f7c7f4a6cccfe930ebb93c0c80d3fb5150deed06fb96dbd1da35b8c812a802e240ad9e3dcc7e640546f435445f8cd6df1ad923513b1239fc53e0dcc204e3ab94a64d75b4aa97ba4422b6a4dc82e40998c5d6f5ca5345de488b36d86a4ae2e42c26597e271ea7558d2043ef33e566e668ff1ebd7782e7ac871685c850c1b5ddcc9adf7f6c5effc00269dad28e5de350e3e2ca97fc6d3b22ac2ffd94d9a6a81e58f3ea952d4cf97549dca1e0351641b3390c28b535cadd92763de49b94ff7db4b206bd8e8e394b52bd181c92373b1329864bebb778b02bbe408cf13fca16c4fbd36fe5f898e024635cbe186319838d1645f0347baae5fe9cb19825db3925c3198f4023700f7c55cd707fc0ba2924ba6e24d84dd292c2550cbf802dad766d47de04e0c80e7050da628bd3f770256c8556e24192ac52354eac509abe21f8e5dd1e84ea4bba4ff0070065b7727ecd95f43c92a69412c3390034acf7d4aa6679e7611440d61d0486ef9c4e6e39e9ccbef21886a0acbe00faaced6b9f35a192d246ca62142846b575725b37978e076493ce3da667180880b88b061eaa311a861b0af491b35d85f1d4d5d1cf76fff337d089e0b3cad34edb1b5eab83b7d98fd111a4ad6025349ee7a02545557c6f238bccc8ed890fac3899026d0d8efa8c1949a2470d47c66180a646ccaddf4633d0d3f88e8e29b937606ad2229bb1a6dd875bd76c9c665c5cc2369f150e2ea3d102d5747a655049840966c8f1b52fc7928eee06366f11a23a0dc3abe62563547ed4058ebd34a38b738f5ccd4be27e2eb5cf09b20905f44eceb87248c035e171a10d77148642f9d5e7bba3bdabb25d6f19e60645c01f5cd947050fd8e1890d7e7521aaef91d4dae8643d014c25f75cb5d73c6a5b1ecf8e0d14e4bffeea1a96cb9b3f30e499f4aa214fab1ea4a7cb945a17cd4318d8aa66a556cd4c1ca122bf9785742d4980245e43ab792116cf613995479cc50b99911fafdb80e0fbc218441be91634c86d7a3d2788d8220d869bc4a557d14688775e1aa315e510cf8b43c4e20210527d6d062797f38525dafa28fc0b5a9f99de78bf97f26ecf150480bb6e6db12366adaed997de4603b4e931ce08fb3696fecdbb2107247daabc5e552643d8dc2bf730058539d50493360b2c82e16fd0f3ba31da35d55ddd1db37c10933ca12f75f6e830739bb146e111a4c317fb5c01cf8ee5e14222937d18caab6e279dfb9cd543b45c112a10b3d464840873fb75cb3fc1512dae099ecc5b849904275fbf27f4e6f8cdc6c4cd39c0f21c6793648ccb5e37777905a71af901ea19a4b3e2e978efb865556e9405947f7605c8ff172e066e83c616b9485a880f6d9eec33eea2376d2e16300417aa94bdd0adc1bc439ef57f2d1a9950838527d36b7aa80a2756d0f9e9fe0cf762a28b74c5045ea5a01532ff81fdd4743c299cb5d8285ae6de51d6959988f63fcaf6310ffe03909ef6175a8664de234f4b2d458497aa1e5ffacc188e102be37d977a4f1b7d99e01bad078e58e2e62de67af146f2c924afd02d103b75d91edd61ab58b601f9dc6d4539fc01545c21f14a850da1687081b191d4ce1754c9cb3bc2fd0027addd93d98fd0228a3270501fb06f197940a0b9911d5c4a7ccfc6525abcc3c4c2e1427bc1066e19ded3c988ab6699ede243170a35696e2a45ee1f92344637879e9f2db1a8c4e4998d25f2429c5332fe67c8473691a553cd2adc87fcaf2a01d80618eceb8517487a9e4de42c02a305cd7c0c7b333d86c92d94528340a05a702b24fec7e6c3780825236a6142175fe703033946278f51ca731628d5f774d578271a80aa34dd33e04772de566c55f432fd1a0fa6ce1bfab47dee5000950045b5cc560858bbfb17c94de3a9da4cd7d9a176b97229352850c850eead9d439e3b8ca80572a0eaec81ad09b0b9c628751a808d65bfe6e4c5723d15cdf5ffe39fc70e15bcd4b55dd42f291fbf34a1934bea443614a61a10c8a2c3a2a0aa3a4a104a328323563ae71aed94f7821b2bb12b51c11c3a19eed18a874df376671e90104323da407b5a174dc5b6b95b1db14f3a8912f330af2eaf27bddb0a1e691ba664f773b0af3922abe298a74ccd0399c1dae01df986cdbc7e224572045d1000aca112b114b17b65ef67b8976896ee6bdd2e783c54113c6a0a9fb0daa06faa0fd8a80ca8f68b8753627bce90b176819e8266c0cb41e0f0eb74ccce0d1cebdbeb2c672302415b9123e8502b0949e493c7774c0ec77f395c1ece7e80e1e251391c28b29f86bb44dc9d5e8746723bc02af3a5e704408282a0ae49dfb92ac37ac5ebdc4096495cf2233df9ce933486ac8c2eab83254e10210b878a0345e9ad74dcd17d945c5e5d610b40c20e05e3859c1374b8c4b292f88623daa0762d96fad329a68c32732e8e0ce5edaa921d0a49c299f6e56c34bef743f86d7c31a0b7041002f376d77700fa836d6dfb228174ca1a8d3d7bde1208e4792c2bf403294632dfbbfcda37b6a11a0bc24e9aed9293e6c75b41bfa236656e6ffa7e9d8af9830ff5016815bc6ad9ea8804cd4399d4334742182784eeeb40a3e51f69a2598e05cc0d9b861555cb75347b2f6e374ae1d91e7b25626ed0dc2b2df7601d0ae55cfec5174fbdad3e09c116324ff093c185a0dcc0a1ce1d0d23c816e596853af53c88249ac8f70dbb6651a0969879bbeb5a43f865870a4fc8788c7d91b8df38b74959d6deeb659c7cd5c97fa1f04027842dd0e62401bb8778c461b52e9b2223fc944a580725c39b6bc0ced6a11ecc9771bc586c3befed0ff68b774e5414d908253d495eecc3143ea138f4947917fe46e2bce1ab2ca29c87025881b436fd0a7b8c7744c6542a741e6702f10fc7aa397e96cfd56f7c3003418ed31d88c893921eda5dcf976abab94d3763c97366ae2ff384d09f484f9b3b1c72c65ea0407b62f8d0dc990f104e5bc5f5f23757259212a0cb0f14824344696537588c93be17c88b3af543f6fb1f029ee6f82fa72594c6469c710a425b8eddd78535a3bea3abed60a0ff266ab0907bc0f471a8d27bde9367fa921e857e1b07a84f78a9f374abd05ccce9ad03a8599f53444609fb7a6e4eb4395151142fad9b626915a59eab18fdcf15dacf622b0a2f9d869b7dd6d2c34501ebca9379f044c6d6ddb118bb1ea336e8a104ea21a762ff2ab4538c0cc5d60390447a27938e9ee7b79b57c7d013ae49c5b015a8411ec214730f133d4e2d3d1032f9aa79fe73053244dde1c34df2421f7aef2840e48cbe83d316507aa102509385c67b3becc07fef9724d2d90c49e46939d785ae877219744fffe69bc3e37a1ee3b890b97a7fd0fbadb6f1d24e31625d05e8e2226905bd6a0c44ba6e01010eb554b4b3905d8d23172ecf87e0ca6ad798135bbec2422c3d8e2c2002b58ed3cda2c42e59690b36fb800d26b6205613397b67c286922b5732ec3d34bb43d1fb071bbc30243ef831a41de22f949602f771b427bea78a2c37ed7ba91adc521fdd895fff4b386ae8e739f014764f2984a781d08bf6ff51a57928ca40e1f3c96f822e246104bad828f8165196f87d9e4baeb02c629670daa31e47b31fb9630cf6b43a9a462b6e7bc493c9452d05617d2b93462e1534d1fd4d59cc21c4f495315cfeb1d376395d0c1a484484dcc3c5b3480b0b5be77b3b3e234eed0f057f36dbd067207a7041d738d2efe3c486f90a00af20495079c44dd35b88fe23c51eba37d232ea7042d1c26cb41fdfb64dec1ab99ce6dda737f02b889a61c2ff205bc838691f63c5d2da86a8cf1de1e0695982243178b6c6b750356b8277c5831916d0b5680a2652b8762f7eeb83fedeab6293adb5929c29d2f4216e4e9a157b1da3f017078514e968f47d574b9ee64d9bcc8f9303036a59b8de4dca46ddfa1c15fbe3cb56c05087755499cf622170faae2f0061ad3be8bc930d7bb5bd84e504dc64d0e0da1c57e14a24cf829cd589c93deac84d134b6330c3ed539f87c5346327e7d7cd151b76f189646c8bd961d30aa9cee22fd9a22eb4f03b81fa9f44f53df46b7a8fb88f5f888b7a32838beda75805c410c45491b8484a4a48cc63bebf6165ab85c83acff304bf7ed2d3066306e8aa111b7d04f4bfcd801bd06132127b0d2a875ddfb1dab79701d7d6597e9dd1298717984b2a08e459fbbc4e2a5320cd044c01a87f4fe1c47db8d328338863eba8081809b719bcb59143aa1fa71673476a540c243bed5bc8274c99b0627c800d54b5110febad9bbb2d4d52ecdaa1cae0881072543dcf3db076b7ea9319efb3a8e2997f820c89261db8d9613eb2adcd5fc099403ca105f9758e15e315e1b19245c3f1204231688caebf5c68177d6d55322a99e02ed07e03106d6d84f196eb3ccdf5c3ddec02f999e5d4db64474fb6e6481f8a9baef9eb4c2bfc968ca83e28fc5eabecb10836907ac60a56245cc1116f64a8b2b1cdfe308d1f8c7c42a97de8dda6815664c7bcd3dc06de8ef8d7f8ba0de4c2d375f0e0dd8447afb32ba534a06a345b81a1e1f40b056185d9eba4cb08b7f046eaa2c63ad85fc31cf814550dd2f98356894c0b72dd9cda1e51cfe90339636b0b1226c70aad091479b1f3fc65cd6031205030cdf886ca017ecd1cf71c1eee1c98e4d3dd704d206c2d28e0e32950f24e0cd4e7c7d0fdd2e2d72a1f1eda3d4c0b45d2b6ffcf8da7c2d3098fa7b6938234bf0e631f3b4274a3dd0c83f4146b793b7adb57a9bda9c77e5e300628228db50e60cbf3372d81bdcb6bb7afbb4eaeb15d1f2c5cc35a378ed92293be11a149693a995a99ba57eff71ad9066904db35ff710ba03c74de3e3d4d6e1cd809eaeabd95b74114cb202fc77b49ff36d27164dd6773ec1632dc85a479276bd3886d5d73677e3d591a79f568dfa196430db2a9be44532a10c3098002c2df1f60e3c0f8c62c612d5f80e5317f92da9b76eea8b42d326647a6c4f86d9986bf2731f299714ea7d74b7bb037481c732a98ace4c4083a74669a966335f7673af6b71464375cce4f494c791764c0536cef2c91625198ad296e7d806c5d3c884ad907625bfa7b67c04c03b896f7f81c0e217be3a6d0e0465e6e5b7aac218686d6033be42e8161c7e7433a8558eff6e095d3da41322df48c4ea7f1b43ef25b2dcae0168e1d83c0b0ef31a68a06990f2085ce61dc7ff5263a27a9fc0511e8dc3aeb0e76466422f663f36240b61a3af199efa3aa5c6ba664ce897cd95ab4a5fb41c023ee3aa1567857ffacdad1c61a6706e9e6fbe10f29711b27c6e0b4ed5bf4c707e47de186ff3f8677e4efca0373d75420fdc633b6e6881e406a0d572487e938df25b658ae64c9c4ad8656efbd47044086e1fdc2eb9f43a39741b4d807e996dcedb7ef63696890d71ce834109258ec817da17cc151539c28e8a4e4d0b96a2568c3d35f047770d731489e06635994c4df5383f6550737ba94a44685bffbf0516f810d48253157b49bc0e59da5519dc709605d87272a618ce9a2c1c801b933d6d1b2ab22c8f7a274e66f61deeff8e3b88333f419bc8e8c00aced64b25882075d785d2b0a36ef3502dc74474e5a07b9bf3e1ff5939c639964dfd9b69a1b6041976bad9479021f6209c9153777f735aad6a5fe9a0d753079673ffa21647e3a5ca64913a9aed3c1f9f83ad866be7174f0ed7a64200b31f7414fe909e2b1e8902b4c59f8232a33d8ce1992adda5642ebce7f6f044b167ed503ac920c99289a78d9d96ccb8c6f31950b49230bd0dab52eecc04ce46c047ef1700752efdb015055a0355557105ede83aa7272196ab25df40421f8b139b919725882b178cf0b8d43e079c4a6b574fa71e1fc5a37deb50c8b10038a63c3e5fff763e54ed6521d3dc5ad5d0f2b34a0420e355fd6a6c0b2cb6f353cf60658af89a77e583ed5980787cae2d8da039857ac9eb6200678c65956bb38ee9a7090c29e1d19e98165e8a1af7a066e0b4db8411cf1bcbe19b4ea82a6fe98a5a2e28a4cb9d67d5a04689ad5b5d49bf2c2078da95e47219cb396ab7c0cdf44bc9ddf72b10d016a25be516e373964da9c200e36ebe04d7877cf8098a2bcec430599bef6746a039beba67fe1ae3fa02c4f21ca31213c7a3904e167992dc23a490e919dc22caa092c65d5ca0b3260dfaf0526bb8c3b43627ca79f2118f658272b98d0037ebbda51a8e3fc9f1666f0f681f897861bb498f79610c0a526732a8ec45b8f13a47ec556a52c985dda469822907d99448d2baa0eaa0c40ff6b9a741cf2662eb20f6be9c31262ccc6c74888ecac8c4c6ace274be79722be513e10bc69eb84abedd9eb1715a020f87cfef17a93478b1c981acf3bb61ce8bca58b967c7a913025b0844154091da22de3c52357810200b1d92cec1252d034726bd7b3e5d8efd35d9196a650a6e21a6bac53018114ac9b121dfb77813f2bcdfb7025cd8c9abf6067487c42e08f7a8bd45a499782004c1cfcbffddf3cd7d8c82d4b8feb9782551fd0f68f212b2e148b115cbd3b6267b88fe88e7895c2ab4c1451fb8ab53b6c34f95c06de60bc438512f3d8297c222325203a9993c732a4f59bf5880753320fab654a5a4fbf17d32d6d6522f2312043bef12b6bda8a0f3aa479cb6589686098fa5c461c3a4748853222b166729e5d49e7cdd2c8457ef59e42f4b87c9e3404ab8cf10f12ef524ba8bf462ddd45fb07247859cd7d26964f7591bed75e6574010823733da4324c6ee73f550348c4b22728f887ec3f6f6c3f2e5832ff94e7137f62dc10095be4d799f7a8d605fe68a5f15667ad7599da8657d71f78b396ab66424cf40d81ba14223b53be6b5d0b83644ba3f2463f9164f7143804080b70abd0ce5db2687524b38405de9908b0d3c7ac0a0219c96d72147408f68ae51b5700d1579ca8a7f09f9fb0372f45c93eaf5c510e61436ad08c657a7846cc2b39b706e33b6599f7f4928e2797566ea6c7001e7fa0e5cfb96649c1861188dcc42f92a7cd7c59a1e6c849c2b9383a76a12635aa8dbf3c4c467d635b063dd5c11efd2af50b407c7b4013ce45218804c1d6faf927a6f0d92bb67d69849492d20fc796890f50e58f92bf9cd30db27d7482d4848dfbdb3952c16848f59a7c6bbc92ab9da0ef4e812224e84797720acbec97af1387508b1a1b9f2046dec8d3961dfdb3aac68a56250ee70bc50ea6a1e160de0fe9af0df7b19c93fe030ebe7ab852093a538ee90c368029684f1ccb2583f7c5766abca3fe70fc4737e92c8f2625590a9901890b7b9195b990c25fcc4cf549611327915667584850eca9fac15cd8449de1b611f12f942383a796c8363e0af6fa4d8527d9ea08c6be4b12e92085c1ccee59c01e975c231cec92dd0903be1cc077183f0e390115a1df2062e229d13b8796d34a1beacb782f84eb10263a2b50ede77a5ae4613dfc0744ce1612ee2c059840c9e47bf3791d8b46c0ca04fdda4e80a9a54b1447fb8eb02b738ea9aa8b15d1a7d4cdb1526a488b3a43757516f1b54f21073a79df6fb4895231c6f132658de3401c4d188022f10643f51a19209856bf840cfba6ed39b31be861e9d77e704387857cf17e8aa2311006feb650005b161200d39bae0c90bbd6561a8ca9bc74ad0e83306a0ed7858adaaffc128f5371d091c89228484df550199b4f1ef52abdbac7b45287e3f777dbc0e1c6a809f38e9cea1b52a206400ba2d52e13c61bedfda2851bb769a90608372547c090c88a0625475b6d2c63cb377fd456dcb408adc2fc4a4e779f492576d110450c27dd09794749f74bfa523daaa8862fd518050c9deefca3f7d19cebb5abe57e94947c5abc0984ede0e567a05b720c2ef053bccf09c219527602739dd5e78b27987416d3915a7fc06f10f88b5a622ebdc2ec70a002dabfee70d7f0b8065472c8c717a0c4a92bfc08845e5abb91c79467c3f964d14f11d4a13b1370082c5c66806eca09ed71aa5c3b8265995d1d3628d3d1e0e523f608c149d7a45399f98cd04f679422cfb59f5dfc11911ea20a12d0ac7a21f0aeeab5c70adb891144387701c4825163fa1be4f590b6c4185394b432dcead343b11623329c081228cf3ef8ec092e8a0edccbed766f7883bed545cb95cd3a68acb0245a828f4e0804bcbd11bb5113f68d00930c956adc90b3a8b0176b552b5a78e6bacc109d9c4ba5a1217f2259983044442a08eb7435f5a1849fc55b8a0dd7d23a8870869ee1e72e3b27529c1f35c2bcd09d476ba1cf85e85ef06183bd8883d1c1d2091e4d2d3c69b25aa92ccbbe3b057505c34f8fe3475c52d264e9853871ee0434f9e2b864193faf8eb24e83099157f9f3824178e37fa9cf8527b90fd31e49c60fe1f8811f756f87b751c2ad267d117101da987df681c855ab72be91ddb867b31645bb348d7206c75e9cc8420dee034683293dad6046a82db3035b0066c6e8b58d7344a0f01940384481286e3fc9e231103a68205a731f240d3db69615165bcba766f3de6038a3169a68a39c5ca0c088b8007c7c21171b082544f4730a2030a8ce2bb820e3590007b040799965a1b56b0d4f1fe71e8ed06b59d1a151a17974539d599e4ad277f1886c8d2528b6d6fb616f5eac6999d647e65694ff3030c68cbbccf08eb04bbafe9c9dbc738355d698ac3f1f1a3dd5c1a1fd09cbac1f51d5810936ad2f2b4ffc1a9f08821b6d46aef6fda1d8dee8ae02a4fb79757e4d934a68cedad64bc111df382bbb84c64e8ac7017cb6911439cdabbfbcedc191a54963520be668e13be51e91ae8ffaf27425b90237173e0799d95aa6efbe23598c7b99b7d05a03610a59bd6ecbe5e0bca0a7795e781183f24c93ddccf3c8abf62cfeaa14bd8184bba2476d7770fae38ebeda33e6041b9c19fc966e252784f9168a1b3e4f2ccf330080abdd203ec96d5b00c907f07c779af066427d9ebdeb8931327a9204626a2c318009f0cd62e389027bce5ec4661113970c0a314e74bafe99cd7fae17673e0d88738bc26749d0dfe66e912f9e9cb5286a28ac2b71236238208f605d281191258b20c0aeadc9ba71870f0c2a02877b918976560f6c8dc204b067fbd0b9113475428089e3ef10b5e3ec1228e5ff9a9366b1e9679b098f9ac1d8ab64b70adefbd2a29564b58d4c509b174eedce00297fdba185d48c2f91da6e8e28994d36ba004170c8decb14b5fd4bb93d5e9d5a9d98955235d5826960b957a1494a49210d40f7862c0d1991baca4cba60bb66676591dd138ec8312b48722de988532c735d676f3ddec8910c2bc6e9e15592da012e7a5c6fbf84420a28bf6d98c7cb34860b1fe50b6c26a134c09c8eb8dc1212a38e5df8e097ed0e26b6e69741649b8f10feffbed41180d29e0a6d7535e5428f63517d60c5d3d52350b69aa8d12d1d6365912bcf13af7f6b6ec4b6eb7fc6c19e2ccf0835c173acf43f8b365ad43268b9cbfe3cf22f2e5ce56b738829d13a3ec1bea4b251baa5937e844c0d5d06acd5d9a0669af41f2073bfd580038596c4560b75de6a616fdc39268797a1f785717f6216a8d9c63500418a893ba6340c2e367478ae1703fdc1928b1aaa7c0a2f8916ba4b44e5a7a96a43c84f3f61deb065ec011352693a304e2760ff1fb88c3353811254171ddd629cfd2e0080dc158db5e983cf6a8b79a9fd757aa381e951b057da8fd41088d63db8964100e99d4660cd3a55a1d3fef05a53e193c54fecba0717a08955deef1287e51962922a793cd0c6ca8fc5d5e2f04df87711d80486c17db07648c6f1d9ddddcb4c656be2eef3832fce1390af04f3f991e5d52b9d9cd5fd004cea6e0a1ddcf59a8f449b0cc2ad97bf1f8ccc496c1c23fde818ea7bdd3bf7505494db3becc8848ae43a3dfede58d31137b68c7a1f60104b494437678509d7216dfb3cf4666da8a88a525e01f5d64f313c4c43b6bb79c4bdf0340f1f07fd42a3f2dddc1a4b352a5ddeaea6ee4b99ea6dcd81b01a059e6091908d6ce177efc626f7489b8bdd7a6ea75fc0a6a32a2eafa74d7d6bde9804cd39895f0c59a3bc85e36c7da77ae2ee6b5149b693f8fb27d4b93a6d098a2db06dfcc65b4e68623e32f021f2d8747c6456ee76c49d215afe550eea441056a98526191630491f0d59cfbd8ea50363a5f2928f96d740448f8aae43c49f18c4f902d6bb929b697a29d03a79acba6047862ec443d7dac447592e229f6645ac2b6941c8687d629ed9abcbe90b95d005c19a2070495d67ab0419bc7ebae3ae33c029b18dbb7e5a1912689722602fb088ba2e12c82d2d313b7887bb702bfa48caa48b234e4fd9cf88c35f1d35dfffcca5389b39eab4e8591c9b45c9386317040258804579de0c26522834314e49faba10f149d6ed3634f1b8f70fd839b7f16f07c509503ea71a5596722c24efaf816dbf8365335775720b45a68f761a3180ecdf48eb4befe93fac09cff2156b1c30c0634878a4f409051f2206fd5f984c89fffd8648f413102d15b3aca81741eda2c0032bc3b64da3b8cdadb75c0ae1e3f3acd92139561d89e2865c38e73c3f964a43b77cca562e3f4cf0a44f0d1fe553fd723cb74328d5868dbf79cd3bb6e4c78498e43a1a89524877407d0d8eadd4a47cffb8259a59b080c5f153c2af904d6a299ecf9804341d307d4adfa127df1c75d65cccd61199313bb40de8a89fc296a37a152dc52064bd1aecda820b074b1e55d5c132ce621727135041374647d6539a32725f304ac7aedd52a24d52cc0060b0e165ef6f83b3cb3c698d6489613483aef009cbeb2917cdd652dee35eb6f6701b5933870533864a9039a7f10ee290304e4bdf60f8ebc7cb9d9d7b87308a7ab2130c1007f860899e78ac2a28ed18630ea9e4af0642da3e6243ec46fb84846b4d939085130455bc97ad3ff4cca49fd7ef888ff86423e4f49777dbd686bb880df9ac56155949dec67fb165c43e481ea5f0aff6fa65b66c8cd504f38d1f9f7f8a15a4cf01c09577343b8ee4d550dc9936cebfae9432143ddde8d5f4650be1ec7589af9b64f27bbba40f471842b9468361c459191e004bd8fa522d0320f80290c181aff3a256257b845a067d482436c44dc0f8967fc7050846151017f5d566876722d3c58560dbe33d5fef32ea581733b3eae634bacab1d84019611d228ce4e1884c1bc2656526af8e258f2f8bae9f2ce8e8330e5ed531d474ee0961ed80889c47ef2394bfff9d0d4e8eac33997714d1e821f20c304fd6d183befb4bb8f2024d0214953e5556b46ecbec5f18d4b30925eb4a88d612e5640797f05c9a6cd9950f561e24464236a02274bbe91b5709a57ba94439e1b8635b48c83540cfc52fbdfb708df2b75ac571e8ae247779445dfd86d4264e0fe8c0602de17b53c7404841b7765a0c105684c3aa7503b094c31ca75277dac14b025e729ab9374cd9ed6b33b4615c2ba25c84fb18122f339b5e50fc34bf7644b3453623de4cf4361b6f85fd2c4ead19cc8dbcae6b4d0769ee180249828bf8fa26012e4a7bc9f529f5d58601f4866d711eebfa488869a99f69045a39e6b6a8f4fa48ec05fda8c70b5fc739cccd6b6a4ce807f6421ae1ae34527b548c15f99e9d8951478fd41d3db6dac3a615d439e4fa4174f6015164624aae11fc75a6a4da7d6f27b7c896e5f84bbc32b5627a670f220f63615d3e53c029deb76c2198a0c033f6a45646b573576b0e9b4681adc81b931cb33c649fcea10aafccc32617afd2033d999203606d88a3f73f43472e2c5b25431e38ef18294bf9cc0156d240708c94d339c4e844216775a52475a76f237bfdeafbec860423ad58a320f34d3d88abde48ae6a5251c9757691a51a3d2ace2c0f27bfb0eb4f8a5205ce468358889d4a6d94e467d23ef1c5a01575bd745a4f4fa3b66df6196cbb8587df7623ca8580ab884894b8720f30ca636e4452fe540465d1243b0144c352e60fcde376efccc441729700eea6993188bb35867e0431d60bb8d5fe22c9b85cb2f8f03feb7ea2e3a947266da90c389a2d57e96f9b9f08c31dac5a88329e42d8e7d3f76c2ce9d02dc5862b847b1cf890e94416a595fa3568cb626d4d2a68eede90f2de4301ed06fbe8ba0ee4605c6ba187d29a820c4dc0d3078aa4a97bd5c66a310b5d1b13235a6a7dfab0b131695083d51e73cbf4c33dcdd96fb3fcb11cc73fb580302c9c8c5cb6a7d9e65ce6575a2e537a21f1085a6badffd79d7ce5ee921819d5a1611d93ab949a76a2890585cb3b4570a826e9c70f357794a5a73e4faf920b25a633ffff9a9a8c5fb37ebe4eb34fe961ab1f76f3b5aad9ed9acf50a3369db488ad1ff4e3c54198e814c5cb5c2b069d0c9d73b10258e32a8fcf672281035f5ccd7cf3a913d06c3380457d4bd3d29db5c7e26c87daf8cfc4d1d6157319cab51d8dfb5cd1caf539dfb721c91dd79b261cd8f7d7da06426cf13feac2297f17104ab234c3e40693edaf88731fecfa466dac896df43b4f4a61c0007e210faa2ab21bb174e2c5b180abfd8cf7588a833ac863098a08724f0a24b388e64ab2f2d432ccf7937439b99b9e59ad1326ad4778e262986d20ce6e3857a2b2d91e5ef712b47d84d7f6881fd59ccd0a5cf2350c2b44c01442ac617e7adb8fa0a70e492f25006f202485f569e1ef1d86ee83685add001b51a5d99212cae5a217e89735c3a7bf5a3b2b793a250120c92bdcfa70e039c88f54062fca73558b1c32783247d7734c35510409e29817b95a28da81bf4b415d60013f4befa22773962d5289b044a2c07e453155996f5246200e4d6dcb9069339c04d5846ccf7c85fd69ced9ce47ae82988f991887c0379d39823ce3c4191fbfe705a87ba525e30be60bf7ff3477f31973ebb073b3f423a2f2adb797a4247a1d5f9498dd455f30996f27d8bc8d997b74b741eb2b153e0d352c617e014747c78fed85e8c5c7afd5fc07ddfd6cf6d941351b8fe55a6e803816d6a0b596d88b29868ee9a3496e8e5c66bf96011cacdf969d330c346e2fa69708bb5e89e6f6495f80ccf17756bf861e535be44cb6a6183c6a32605841d9d8059d5dd06eec42ddac7c28723432a434f67aa7a70c47fb288b0fe12bfc3ac98ad1840bc7dcf9053fb2b7aca3a240c5c986557fb9ce7805ab7bdffbbc68eea33ecae81dfc30967abe5addf34ec7323e7c1fd5d594f4459cbbd47abd5e56a98369515375ecb0859f65388308e3f13e30b86895297a53193bd919fdea23a877fd498ddc558735e28002154a71c46b3a6aa91408bbc09f601133a8469d9bcbdd8bb06e403945595c7bf173eef1958d3bb1cc027d0fe42d8a76f12f4b48d56cec7a6b91a373e538cb1e81e16b1da29b2f1134189360038f29c0cecca9224fe75d56673c9c676b443b8da9a858c69edd3e71fb929bc88ea42d59bb2917be80285b1206dbca28598cf1efdf90b48fad2d12c756e93fee8bd5fd4db4cd5f14281632c4c32d9508031e6936c685aa137f23418a481ee10bd68cb667509b29dc0706a6ade6c3d140c65ba80e510110002728b2ca3df066df4e67e62ca8cb2c726f91bd6d6b6591478bb73d35058fa0733ee9cb3a93e625eb9c07cdc02960d6e9fc0d37458b52b3e5ecfe638c17f15617d4bb6534eb759ecc2412fd9c346e3cdd7ebb4da00dd828d763455231c3a18e885f6ac2793db5e703189fe5542b1dc31bf8e5e5b54afec00d9e963c3c0fe47e783bc8eec730697d37a8293eac4bc8713df7bed1af00332aea07cb2d316f5e4977d1ab504646af685af7cbecd2fb10b829796955b99591054d587c13aac694be0d45b3561f25c305787a01ea8310a6e11cf8bc68e0397e1d893c0da754bf248db86e8ee2e6f9616fb1bd062e71f1dfdb0283085c6e37ee7e1f929d70d6c9c606ea1fbdc05691a0874cc164643401219097e1fbef821dcada25ea9b1ba7a894613f6b6bef7dcc92db01b266cb270b4c8f98d0e78a7eb528bc3e328c6ab2bfc1b5a75be75bcac8c559c80c1f5b3ec2540077d96d61df80bb1b81cbccddc4006175a388e20586eeef1c554271eefff349c5ef4fa26b7ec5f600d3bc186ad03f48caff0274318ff1790665d6b21cb11fe7f9e3c9d0ead0c650a87115905f5a95d7fdce1b68dfbbda2d8f2b143b64649ab6156b272ab197014fbe9c7062f6abafd8186a9c109b8097123ee081807283bd5cd08bddeee3b3dfe133eb57b07f8f8e8b72d24713c460894462617e7c02192b89a54772a8ca131995fde8ff930f29be558da5a7c918f0ee4e58321329c53d9aeb069baaa69336fb93d96445345e5397b41ac3737f91a399de3386d374d499b2cd7e35ccb2aaac812c581ae57e4b8d1d91df35bcf29dd68ad938853de9f652583da5de6960d9e0f021a8e78ef5c51342f1b67424fb75349324efbbfd3ab25b4a60fe981d0764c8276092158db14aa342113f17175dbcbafd6a4644160202ca5f74a71416b446ba3a065ad635bf6edccd7281e1bb8415dc15e439f59fe6f269731bc7314c9ab6b7576ac2e6652b3da4cf74741341ede7bd729c430cc5e4f618351e35f0634647d22579fb94d9f35a7a4394374d692b7c5aa543bfc76ba5d8e46cf0460a484b32a766db64eb8a4a3406236f209ca05a1a5dd7a3a7d2854cbc414af7dbbb3c93118e77b6ed5219b54fdadc6ca4bbd611c662bc30a5869ef789f3e3cbdfaf1ac2c0bfb25e40a4b1967a8743cc5715459f4e0148d0f063ecba012ba3802a54fb4a796c5e15c7c0aaa6f307b6a11c4b94b995ce884ef954c716d4b1c442c3d33b454138d5a86a28b6a44599a61985e1d61bc7d14401f50dcfbcd8dca0119fe5307ccbd8bc373a7eeeab9d56c70726e624c4926ed131dc03e9dfa6b8e6d2358f772b82326947dcd9016f1e04440673b78157763cf48c233dcb75261bfff429c90ae5c368277f86915598c78fe6f322abaee4ea2b898e00b66a34483b044d12a156ae3a4e6137ed4c9abdd9971a2fad0b209c00bbaf1f7b9852067224410bf70a00ee98eee056a0f99581736eb97b2d920eaad62bf6187ee1cf57e22b7f3daaadb7ec8ea733b6d06eb5e24194eb0cdf68530842cfd7acb5cf6a18452e6e218586021a1366a8995e3aa35de238d15742b6618518e860c6b9b1f605606b4d034de6d9fb8331a69de563c5c751d13bdb8efb28d7e9190ea0c8b92e252bb2beb5fc52a733f4580817cb66e952694eeb2de0a560e31933d8e62d562d2d7ec493cc3ef4a02dd4c9fcdc48d3260f8881af8a3b7e8d22718ca47b3cb792ee62779ba285ced85d8b4c0de8a6bfbf3db0d4a469482884916232908d22e2988276a71cede3615d38abc482357ed5784eb510da0f4f03e604af782e0fa1340cfc109eb7bd294abb72dea843a4afbfa0b09a667fd40b78a48e6c2cde5f96adf1b70b9f54e5521d3360d5b6f3074052eb220ae4fc2dc28f8c3eea49addd27ead0be7b0b337cfc502a208c580b1daf46be30ac39a4f733d75228b9de326554c31608a1f42eba54c57e766fb563a554f727f36b86a907e55f9f68176022d8d004e1f166747d52f3b43f336473fda20c728915da74211011554d1171e260afabd6f6892373bd0122aa7d54d51fb89f9d96fd18ee2c00e9bc96461e96fdfe04e0c766f637b6e32bbc68ddcfa3c1d060f49bbc04112ca0f73717f217ce172c947ba16bc016bd6cfbf2b1f18b3a041b19cb124eba3090992fe2b04ed4ac934b3f1e6f0eba19706dbecb20c2df9f2b566e656283004b8bf0762024fb0fccc1679b32940e475891c79b7431b48fb6c612c7379bb7d0edd6daea09bd37c5c66077a675eace6d417376105002d159174053a303a31d343cba6fed507a82c442b9e5daa9e8a285b7337ee12568bf6b0415b4e3f28cb116a7826ee75412c863f88b2df9895543914a6350898c5edcb09ffe1d8b077a32b02ce1113d9ed35a63fe6e5c08f85c5dce0fc01888c544a1924efdaa7e65698912e302aa59a4749d40048f943d94baed60f7d2b840f0dee3bca281f7c7aadaa312c5c97d01243b049e93fbe27e8bd73342423edba16f6085ef80741aa7d3368aa6191b9d998be32dd66c35b961f9ecf22e29fd87ddc23078a36f70dd0d9faad07ac0762d451db636b15d414b4942d29578884da448e44ff0a8af739aa8ab7d8a595bba3be8dad30fcf9f5396ef1d81883babaa144fb5621cf07b625190c26ecfdb17560522cf0ef2743aabc9eab900f30cdc6ba36937b5fe2350c0fab2c9c88980c1fa6ddbcff5ec2a9ff702169a404c2e104a111f37a14d58b7a8fef703c62dd2acad4d93ad4d2a4dc2fada5949693754eb2e737f0ef14bbe8806b74f0f67f1552fa60532e64986b74e8b35e5324818c8351427938507f7969810a09840909da04d3f9dcda9dc372ef612b5cc66a6bb6f9589bf06e1c33e75a0b6d7bd9920f434836d721e12aa9c357d22a97f50c4141c14e2a7a46c8365eb71aefc10fae88b22cb1872872bd6f79a6eb1d613e7f4f93f148ade2ffd48229c17bd7a436393b05adcf676a9462e297a535678cbd73f1fb517b1bce509286293ac57db60d4a7e67b465404fe2771c7e51e382a569b0b27a44451d61b8a9fa5374a364cbb40dea1ef8dfa043e1873dc408e82742a4eb473b6153295033914fc9a9bfc34bbd864bb80939a1b76f35f2f44dc438097f2cbe123249f1c5fe87de364da64c07132d7e70a113472e4403841b60a918e02cd857a5c2b8326de9c434c21623ff210786f6f96d089d6a1951138bcfb542392ce9653456893417702955e1711ca106ed30ea80f36e492a543888cac1d47b2a52444948c36e30243f20c1a8df66502097da9d04734cf131c50f362967698e2ec0f3e3b8637abf2636583f7964d1d490655e5b2d064947c78ead60135f56963cfdb6679f1605c921e2a14765af9a6effa1c2c2fbc17b6e52184545e43f4523476be8ef5899e121badd0cbc11eed4b1d9a404627525403c1deb19f7a81a923b1975c8a05c16e7332681704cdcf80091842bb2b23d945c85968723e23d69ea7b348e3b076ae880c1626cde46ce3911fa1df83b0e77941781f5485229ea0029d9a001804c8eb0b581744241cc95109bc8ff7a4a708fe6c8261f8783cfe1c157c3705f0460e738242e5ffc9b37fd937fba1608ce780df83c3becc4b785e6b3db776da9e1f2b32567d5868cb895493967cc672516e327818b1132a4ee186705439d613d5f281be6da2103a81919b27516db3c4ba81dd9a13c26b1ded8c47dbdb272515e6b0e43882b7b2eac551c405469413e0472a9b1c620881895c187a680c95df94f114d37a98bebb7c9311283716f5f228366768d79b33342365607e7f54ebfa01ef0a25b7a0cfe6f1e2009b6653aa10861de7d01238d6d69db804a47b392ebd8bf3212bdcfaadea0dffad1450861e855f8264c38100dd45613292a59fb522ceab9561e40c0d9839b2215b6ae182cf385f78b232730118b10333bc461544d9ee11313dfd00416a9c80e0ba92bcbb7b8d73fae2514d9f759a20fefb692c1cdd95f23e0bbb665466ec99bfc4bacd074b6b49216b0c5925fd67287ae4f53352f713e24a4fdd6afc3fccad4612e65944a645710b3afd47ee1d55c68bf8f29e47cddabf401f803a2b5406c52afe30f67e18215ba15c3edc6034c9ef4d79189a19f843092292ad93a0290e42e2c7719cadac13e1aef09d2d827569d0421a467b122e52fe3a7cd5ad476b24ac07bd35fb3d1de72c9a08d2c1e578024763c3c68f2aee374aa1894718888afb7439374e6073b6c10ea54987a6d587fdfbe442202150325059a6289af534d9e45f5015e6d1c7587e8f28e1632710ae46e8660fbb68bd2191af52e06a4fc1a27bc2fdd6dff22330d6f6a947dcc5cb24024114f61d28d7742ddfe353f134d099ac88541c3048065ccde9677a2beff54c88f6e15ec17c4b87dc009490edff5b6d212b0a2fc43fe2d5f57b2bdbbeef5adf7f7093d7e29d04d6bff9be9d2e8ca4fea451e83ca63c004b9d1900022654e310c5f3d5e12f9a153e360761c97260df9c016dd639bd9bbef06db0658d7b3223f5165bbdb44515bcbbe7e7e7827b7adcf1e9d29fc3cb6dddf5b88a230c8ce53933f8f38f2d511a986a14eefc40000748df451d7cc0b56f0ff9ca6fd7554516f23be9ff3efc673ae0ce62d97c7091ffff89be21a8ba4e900ae81cf2b9277a3bec4c56be559faf3e833f61bc2f96f90a953c2637ad07a781c65e715c3b5e6e2a117856c358163c5b107dcb845bfb289362f72070212c2a970aa7751f7fe9ded4609d4676e7befa240302d6a73ea778f237e4dd222f1837a6f4083cd80ddebed1d784aee96481458899656bee8791a9157b4ee7152c759d262fff54cec380936171ddd7ab47fab8bce0d6428222e19d63b2b2dbb49a1da9637efd3145a054abe246763075dbb36521f5b67d19c4e853a729e88f1d1597f9b90bce7fa12024433f0c0d8e58e59b65b7ba89954e6139906e93eede1c5e24b730071b795a4d9db8d9209d0d3d285e943538359b5a83e4b5109cb5cd5d7aa915c738a64a2d14088cf7ef25797ee235ceee0d1d274bd813703cc0abf5dadd7554bdf2433290405ef5bd2002cd9788c779317cbeef7c1b3bbcb02858d05baba83f53ba09a7da8cec45af7acc41bf2f004af3de63489f2d94b12ad0b46a81ae56304a7655c556e53c185ec78db51603c684c04e2186f72a5a95584ae68c14df06893be2b4418dbd25fd7ca145a3cc78a9dba45c2bd98c2d2def114d35ad2362ba6d44eb728b380698ae82d2edd649754dff99a14cf8a1c6842ee4189e6c1eb0a06c6a9404d20ac0d895f3c1e237a65e4f79fe2579477add6f74ee232de5848e9e52d7bed4673b010fe844f2d23873af2cfe4aa4b1a46a631f5e5e203450b057ee0c0319f3230bbe2ced7087f72d45d6031d1d82099ba45454df64d159cf8401d085d2a402c092db5e42166c7c5bac7ec9f52f6308e714071cf70fa91a937ee02bc977b44942c32bb1624ddfe2c8a4d7d6834768678e19844a96f632e1a281f0ed493f39f37ff081591c75e0711f1c611e20c766fb6ca3433e28ffc5e526f254966ec1e2339eca515d90a16c8fb09189171402e8230cea8c8057e36d6d27eba5c842b9c6b427f0007b18a4b28bc3a62e58b724765d716305c67111f56c9ba5f71d85877fa3328c1c5582d5ca2cb8eee69cc8a4625d53a6fcc1d1f07522a440137198ae7f043d3d63d431b781f6416f5d005668e3be952e3bba4a5d44ec45f568066c20b74a7813eddcdb3b07308a18175d8f836159e6b564e3ba6668f311ee587636e3800eb36560f1178eb4bc23044629b498eecfe22767ba5127898b878be84735398a2703813396819d418ac02872b44426327f63efce08af15f1e6534505d7a6c73ad8ab6701b19d6ce488214b96b7edde73e47ad053c739070fa1a666de959b128b088fb8361ea78ab3ac35538335b519e6bc35195629dd6c289e08676517ac48c9ac813f9e03c02e084e464fdf631a36db93ed4fb8168190bf1d1135a22a9866ae4b23cc819a7dc886977535636a3083844ed52fa764b055984acf87e031916d9aa60d0958961f83fe3b4b1b8f94849dff44896ce501a297e69d0104cb1120cee10f863ccf347b8a06c8662e942f08b17106d50a1a4a5aa4f6f9206c20b9906f9f935545c56f6175577b994c52facba186611839e9071c2074a4ba3eee2d1e6217d66af3f234a2bb766ddd8a00a511788946fad1c0c647641b1cb07b5b7f2f09ab61cbc72933d8181fd4ef03d8f3f635650a1c9684014fd9de77bf70aad50ccc672eaf86e63d1f0f4a5b88f2abe277a0a3c843df0120591ad571d0eb4b4a97587fe79768fb6da3862da56f9d87028a2553707e29f1024926f0536637057fbefdb3206abf04442ea8cfac7b2f807438f93ee84ab87d45171df295b4f5bd77dcb8dc5ee66b3dd3108d8f04a0e2d3e838d0bf9e4a882c6c8303d030e7e20e4b1360e1fc60c23ce20973f63e8886f0a509148c527ae42ebcbe2bb6a03659851569764a092cef82a51ba15b6c72259b656bacc5b5dbee225f7260b51de83ead6ff941ccdc3576048c1b3b976389f27f9f143209fcf526844fcbb908ea5e4efadc8474e41178f7cc7259a3f5723439d89d7890d2339bb4ebe768770704dd519748cded0abef1d35443925ab4182f84eba0682bc3aa4037a866acf86c3058b8a9d0ca709c0103437983b58adb2976da05f9d5080214c61b091a77956baf723e3629c9223c506cee4f2fffc4b23aa99dfe154b53190a0b14f936276b0fc2f7add24bf04decd815f1922a80b2002bbfd1537153ee8b789f2f4eb9d446baf90c5da24a5664176724c0062beb46319b347b0545cec84f67f7d5ede881496cfbfc3f8e6ba3ba3a0154086830fedd7dcd916b48f54415aa96e9e0973decdfb33f8de95fc4fc551a5d3d32db1ca27feabd06ca615ec68cacae34d6f7c41c227cb4af56eb23188fccdfffba8dbd4d0c7eccdc4f2a8a62a0ccac5a6cb23a559600b63d1483e465b2ea108cc095d4bbb59c4fc83d9ad0f26f2fa3d085033e1a81d43ae38a5649dc986a044bc6b3bbf494e4adc1ab39e6efba1965d416ce529a038be20ff5a3455c658c1e97b6e9ddc03541cc6b9dbf450df6fb8dc36ce20250878bcabc85aa6463719438ce9a9cdc3451ee05f7efa4e81ed8e31a1f6cbc3c7fd205202f907fd440faf7bf71e1cffc0fa83e2205f9d3969f573e41fc8452f4097e2930a9f585ea4d8551938e15fec41b6a4bad1f20b1577c47cd14dbc86c293ad372da0f29e4f28f9d11e4c06644b8129f0136e6012d6334a87d065467e0b4de32b3d84f1b2505ef8f7cfbfa6b58f0547ca88c30b0611e3dd9f004f2d44307d7e4a10622cba6ddac1ae0df8a5620eabaeb95b2cea990d06c42261aa46b7ab4a30cb59919d7022b21ffa9ec8d3196a551b61fe28e461413af9d8e837b41209712181e4e1709730e5fe772f1b2f33fe5963f1de08fd73a629501fa2531bf18eb57bcb7817173a2183a5c27681b8a04344bc671dd8263d50c4445a219688333f2adcd8a0873823b173c1e452998435a8464712f8f3e26b55c4377ff068ca7e94df12b79a27fb37c1373839c4d90440d0365b4e737679154d78a4548ee14beda08c2874a6ec015ade3e3d7a4b94fe390036e715cc2449a8dd7d7fe528aeceec33c50c51c959c8adbae128e461f2d3925ff0ec58cae1d9ced1d0642b798a5abba05ee7bc5face052045027c9bf83bb7a02ea795622fbce6e4dc1846d3d1e37b7a2929f9b3934c4ed2c55c57042947ae1d7988c8c1d26e69f9fbe9cf6ccccb0053174f7f237244de425e37263ec6f4f100a75564c637a4eac43c9432ee3ca466a2546d7a0c21b756d150ae4ed2428fc398cd988a5a3f5820fc508f1b55909f9a360e4925a89585862e59b283f74225fbd8e5b4e956a168405e6254fe4171fdd42b4d5ad8d56b53106d4bfdcf1c442fb317b200e238ba8f738b5b86c299a271f951e058bf5d66b52cdccfd63c2702397d9ce309cde0e1621da9f2cb0a85353156804b10077d80b2d2aadd257367cfb8cd0a5dece7ced4f4c8129c52ed688e9f5d07bb7eb3355e57d9486758db0deebfb3e571b349f2f2fc6d5dff63d0fb5ff65c8a5485fefd0456c7e2e8034ac579a17ab0b727f59b6619208deebf8f17af8818baed0824931e7dbcbd2ffe13b65bb47beb6ca7591997b62c166b62aea73eb619d3001fa9672c6717ff0c405294ba95283de252bca5ea3289c777f0ca90038ca32ace64c9c856b7cae4859dcb69ecba2ff4e02f37abc4de8ff4ca3f5a1c6dd8d6aedf4fb74cca79bf500227e944f011029f8284eff24ffb2af0078ba9d6fe2dd58fbbb6d5c6ddca5fe8b9da7d8ee1024a0638a21d9666df1a8606fd456bd6fa6f34f3e4d2a61f3dde3f4897932a1c3979df0763381be2367a90197d16fcaaf52d2ab9ea9954bc1208442932497f2e71d6176bfe5f8db0e84c4922da4cd7669d96c35c3a7b8fd04c7f1e96840d9cd834550f58870e43fda9b548be35c420b0363aad6ae7e4ce77f6360b82eeacb950ffc341ea693110f1df20101772fe08a4ed62654c8032202f97bed9d074a7fa7a1530c54e3ba4801789c2311bac6cc99b6cb733cb8d317f334aa3adf8b539ed0ff2d0ff75ba352354afb161548a4b22f6cabf73e7312374773bdb0e8e6f3943965a5ae61519c0f2e837b32b3b2c728e280b2c8131bf2f5efd85bb44cf65557e716dc96e3d184b64d186b89d12b8c307c016ee6fce1d49f0a392af37be694d8f6c07da7e1006383a84d101a4cf7f25bed37487c2f62e3b3362fe974f4f12d574db5e2c97796526d0407fcb4494abccfaa9b77bdacc8ce943f9d6a2afcc4a3a2d6d160475d8d744657d9797cb54cace7a75bc74032f5eb4242f995427620e5cd195c4d17ad1ede7e3029f2e00c4a20738bf756dcce4a444527b4b1cb01002705c5f719cbe493aa1ac40a3f74c6ee0e45642b204ea87a783a84a974a14f043577c0ba3b11375057dbffc626ccade135406e6db5f54f5ad240201f327cacd43213a75bde673eeb8ff648d90e9d848c2c42439e227edd7f7ae5ad0429a5515e2b13ec35c782d071923a934e7e4cb9d131b625f74c19e100b7b8bff69cab7162b6fb55153d52b46b12edabd71ed73b831bd58af1a290a4689deeb2bf69bdedf4ce429114650d18462025c2c650a5ea50e4ed71877073210aeeb8be6fe6b558224298de1bc7f0c6623957a42ad7a61ef9969b74d95f29399b1dd8bac026ce601de4519fff51c2ce13b4c41a564559294e3f968f3ed56f9fcbd28fa0f75454012c47d233634d7948cea7459d6030f25b816322259f38d14eadfd2f138d66a82e946448320ea16b00a76584224a7afb7bc073ab353e73182a5fadd4f17feb5e65b451c1aa0eeb865f5e80a95acf8ae0d928c63812d44b11ce859296cef88e709b3fe5d76f426e52ab1e0f736cada3e27394339b8f0027616b32f75d42cb01c9ab87d3d95421fee3b4f9a97e1a18896aa54366ee55068e21b734ab4dd04cc06fd3e350f5cc14ebd1c7e208cd19d65bb049a31f07b91487826e7c3d3011c3382cb0dbb5fbe7d0b88ccf4b9c7169260aafcba9d4db276c1ce989d8c74fda8eadd59329ab19bc9dfec573f147093f8c5df22cf789a1b61e9ac5452a47dde97469d8276a32db33529a13ae0da7ed339d700636baa9bba0df569fd0068abafb87420c7a96618821cb2b01a8bc1393187b98ed1fbd6826b05a3860fda77dcc834923aacf077cbe92e8b503ae9543458516a4b6daa58d1a5c94f5456e3eb1a67d66980f316290cbd2103e0537f7f2a399ab23c64e3ade3d1b1f45424be274ebc5f7a6b3583c26bfe76c6751e72a5189bd2aa5f4e2e6df07eb37a0f9adb4798029fb54df664be6a666fb569af4f1b43ad64b9cb97e54b4f0920926bb83ff9dcc9cbf9a4ba98d2c636cbeb514d7bcc5408f6709bba83f0c8e037e3c7e95f5314eb8aa45016e2e7c36e48658761e0572ef0a5043f902581b83a750249ab104df04adaf9ab83f145b8103ce9f50c4e55aab14baf79a064f073c02621e827bb420f582a459e40b9f90fc82e973fc0a554b500f98d52c9ff2ef87d0f0aa9a23f5ef6759d93c110d4d66f9136af85fd4ce390a3d8e805ca32438f4bb8911292ac3c2bc53180b959c62c09031fd8ebb63ad3e5a1a8c6dd8a22982bff1d6281e2edfe994c0ebfad563cdf36d45876445764c960c01c9d5897b7d019389cf93287020f8b2a1da4c2dbb3ba9d26eeb6fa463eac305a9a5aa003944b9fa89069dd13584c9ec8e02c86745bf86c8fdacf113d350df46654a0cd73eca7148ddded48f2929e6d76bb28268a2428271203a595b5d9bd5733a3d7358800e96ba6a66b9f26720f019a7a4fe114cfe5a860f34a86c1fd4f0afc5882886ec085da6d92334a79846e7d9dace110e4182326aece4e3219868101ceba6c06fdba6930682b68e9a020006c0342ca8152ba4648adfed600ae5eb12940b7f24b4e20c4be80ee48d09d66c1a5bcbd846c95933aaf50808714c71b1bcc4891d71450ae891d8ba44eac055a3f2da8ef9161f268d2cd87214880b3fb7b7844f3d44200eebd9ba273b00b61442b3122dfcf645358d1740a9825a9ba0898c32c8dde12289eaec5e41d7b7e4255e062f97dbbc6581b6dc83a4651a488b66a76fabcd6ace30ff711a37f2ed9406f42c7404cb3b221d88d936d4834ca40caa9c63b089ad37249243efde7bee2f7fa55aca3cc7377146fb2ea5548511c5c369e86c4984d735702f6eab513e469af5d58814ac9759a7a834004d2199b0259e147fad89d9a8b24257355d43e1784a2c708e7285c30ddc6a39cc6c4d8ed7cc53293a2175635171d78864139d099772d818de0a0ebc2e5235abd324a745c4925a06b87a44237e28fb267f6234b1ecb3aa1fbdc99bb4081799f493ac94755ba2be91abc36091b75c8c96de1ebbab8100bc3e31a03667ec1dacd038cd5882ea721bdc643fc00c7f4a0ac33647cc3ba1a07e4d934ec8f22e6f8defe094e27dbad9a0c129594d49a9e164b80046833f6c9c9a9a7b2a5bdf3d7d4b84f6cdc07499f3c0937d048ee87a2082faf8d88474e2ab441fc122386e6b04938441262b5a3f019465c5d617bfd3f347898fc9c60e12f35d20b5eb5fc8c3137fa23e84876147a6b704b5cfa48647dafdd4ee153c5922066bfb36704fe92686ea5c25dd1f391b0c9874db98b136d64d56f3bb36b5abb9627d3952974118c0d6b86714c75d59c52b5de9510334c3dc3b51b13073f3e6542d4278ccedcfcfc1782665023a85028bed2fe7ddfb7aa56a49eddeab2f329a20b6b74ef7bc0fceaed4dc39695004ff1a788602f0fabb49a88147bc9f4d7fc99673397cc5f07e3355795ad4adf2de199593d39dfab416e17233b6399144c273bb26a721a60b6ddaf4660e55eec27e69a770954097115260284613c9ebd6f74382cc93958545cd487fc727bb8c925446c6a58077a6faa4206750e20248dcf6af7e29875dcfa8a6935eba40067a50e53e91393e82122144f65caddca66ca718dc1ae9508cd32e0788e20ad730d6fb581e8153d4d7c240386f2b919b67fa9f01d0d9c71558979ad3dafea3001d28328c56385e9a8af472714fcfb817019ff5b1ca08869e933f23345fa515268827c66f4e63cb724373f816c52d008429f8136d09b3bd68eec60f8dc8d3862c6b29f5b5f1d749096c3b7af2305bd866a9726084254b1e77a84217336a430d58f24070af8160e6e217c4bfd4c71f2781c688cd790cbd8d3f77b07d08a8a6e83adba4b4371cedf36af05d367d8103ac666a9c6bde0d4c83b664269b00ad136b41b9f5ad921cd65d68050a35f5d4f3036fff2625e812e57689feac22fad091b3c9fa74687fcf3bc4bed53d5197fe9b4eae0f95ad0d5b3cbe4feec756753f2cafa01dd902162f495b7ce55a45e2f6a460f7c54cc9bd681823dddf68025ad06904a41af864a75bb566d38922b0eceec17e74ea38fc65330547455f5ba60fa8e04d63c042246860768c7676551c6f406bfa3b143b2c6c30c5b1761fb844cbe6a138a8fa7bea1491b5686f13c9f6e654af36d7ddef2f64224b777ca3096f365936ed9bc1ec1a90bf22ca3062247857c5477e0ac3897ce30e1614985a5b32e2567fcddbfa98ecce4d33209a633b07b59d83a0b2a7bd03f701e1ef0ee664f399c61cd00f766da1e4f01366c06e9daf5acfab911ddc50b4695cfe5203c1b72df0a08136d9a56f270006ac41e8fb09f5e2d7e486c63ca341add12055ea405fa83879d4868bcaf876daa155496b9f0b2f2d1e2ebc1ef7209112053f08ac45d3a6be2cd7b2cff96149a636f5bd261e71989b8edfb104890fabbb233756bde203ecd12f594429148cce12d0b02c985e74f04c95c8c7c9fdbb87f9a6056e3baee117e94d960e7cd09f0e9655315c5fe5340bce322087ad927218521e81e5344121e2bc5bfcaafb0a0ad4e318051e2e4915edf560e82d5d7e48abd89b9bafd7f423ef92647f27c408d99485a18cfe3c9a2f93408ad0fde6f53f791181b83e4a245f805860f529c4f0a2f9e4ad01fa40c6e4b60e0cdb3d547b3acd655f9e20d40a337c52de3723e3bbaee00f4e36d0a4cefdf0a96eadceeef09338d174409fbab83c9ff6a2a4ce370fc4ed0b0b584f503d55714e536284b19a528b41fb41654ddf6ca7fa6d76a564919066cb2cbf851767ca3f778c9fb0afbcd8032c70edd758b52c3ae30c2c3b18ad9ccd1a357e1fbbf37afd67e4c963dc18b0869d946f3fdfbd299a3eeb7051d4fc5b06b250b6c32e7b2e44145dacc134a57e30a30785f33ee6beb776270791c3476eff36a165574b2c0a9c8347afa925c76e86aa21c3e1820f8d81c234dbfcc11b8c1dce57ccf946ed8a93e013d90c9a4aa2f03cf2fe7ec3b26a5c86835c2ad85d68704607a428aec22651c1d9e346ccf6d3f132d415736ad8be48728cae796fca93188583033652537ca1d36e6e7e22617d6cff3457c3ee5321b17b7bc94ce8d92ea2d70015b63fbd6636ceda167cbfa91b981fc809e16cf335f3e62cf3aafba077671a8a22a0173c7dcd0e981536322eb64e16514753eb22257cad49e0b80d1523720de5b8a18ce4f7156091754c10319956fb5c83c220efc8a3ba0f53c5211f83a748aada25aec345b8b58ed28b5e838543a96be446d95e3b5108a5b0e5fcea0e9b52d15abf2ee157ea8e584fdaf8f46c88ce283b95c7d86201050a9e154d6cd2f545565a000b505d2586241d11f9923adec6adf45836ee4a13474d3c679e3bc262705cac88b3d2ecbd41d02226f5cf0f923fe477bf4a36e0087040053ced45d9a9841209fe67334887280ef1937f377c9c84f18691174c902afb6a572da537a44f74e3d0103709845150ec277277454f91b9e04f142055fc60c189b0997aa1715428651358a0a3ae38b079f0af9db12378a9d7b3febd21791b1d6ba269cbfc964641f32e3f304b05feb43dee6b994b1dc467f6e35f0697210574469fab413765c0c2082adda7ee2fcd7121732f08d9ffbdf978efbe7de7bdaf8ecc1ead96f13ed70be697dc1da479c3cf4faacf1a6f9626b5cf68fd901fc4a8e7e6fc082b61624da363d3e72a9be3c7ec470e74011f4913b6c1e960e6d1f5e3c9b10b8a8aae9f711196af452b833bda3147c804d887a520209699cd9742f42f07cb97d6a650bf7722fae4ea45e4eb82044b5e48f35a556ed5a3125e42c47a45c000ca053bcd199c9ca648c4e91356e32f6fff68e5e3b9fafc57b31499c8e32da581ad042ca7a14055194d6c19524e893c48b5245263133651c682a21462b8f7524b6c61a600758f8d8ac8f4df6e3d740ecffadbd4c59b1b74099bacd1d5d5e7d103b3dfa69c993f57a1873396e0dae9d7b55f7aad54fff913f2a7c04540a330ff7733ad7304566d1e3533a8cb8318e180cd1d56deafa567470c2d7a989cd3b4b4b0a9bf68634e78d893fd79a1599ef557452dee38851f8eaaae41198d599402560da3689e977efba75ffc0f61a1942afe96b1092fdf8a5d1a2b916a6af78471c7b968280b838e9c3cba44513b0cf1a98ae151bd12c2c5400419a0a7b166cdce235610f1aaac0b334492a1b8e2afd4c0dfe32acf4fae4849cc800b32bf81da8a896fa957577339c4045a9fd617aa2098540ba49218357bd9cb2155a0c6ee9a074db341140761c42fa0819a7943c3a6047f222f36bb398d7b192fd2ec93225ac6f2d525450657d50ddd69293524e77d1b7348da5c6165cbc5d919ee36454b09d5c10001775288081fc8b5077e9a0968b2c77f8c1df1f59eb27a88d1b5af10fecf1a747c0e34e2353f5d7e58e93eb3c28058154d7d492ba94ea79069b063a5552d2eb4e3c0bf99b03a4394324bf8d9d9e140b21637784db5c33b49e255339fc06d66d81025f27669687441ad186a9409e1f1de6073cbdf3a9c4180271167965ee7b455b077389ea8f0066fca5175b5b22e1f96a23efee5430c8ac701eeb32be75e62e83e4250fea7772eee52aaff899f29cf752c63c0698dee5f13287f18e7772d8c326afba8c03ac8fc1372b36c16217a75df50f333be5f89013b0536026c4004dc5268c2c5fcab64fa3a706af436faed6527d0f5c99bc39781a39ac20403ec35177923bbfa5b2bb78965061e189b40a220acf12ef0aab4c1d1d7cf8cc30aa579c4f69860c736565722f3cd2b4c6477a3b871b44edef9ca45192e966187ec3b0fa99c108f2f74d4a75f86c932b6f15a1dd40662404374cae0e8be6a1e03a78722f41rootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootwhy3-0.87.2-1.fc24.src.rpmwhy3-examples    rpmlib(CompressedFileNames)rpmlib(FileDigests)rpmlib(PayloadFilesHavePrefix)rpmlib(PayloadIsXz)why33.0.4-14.6.0-14.0-15.2-10.87.2-1.fc244.13.0-rc1WiW-@WN@W@W)@VV@VVUVCUUUa@UW1@U) U hTs@T~T[bTR(@T=@T@TwT@S%@SSSuSSہ@S @SP@Sr @SU@SM@S0@S(5@S"@S @RRIgR8D@QB@Q@@QQ@Q#@PPP6@PkP @O@N2Jerry James - 0.87.2-1Jerry James - 0.87.1-2Jerry James - 0.87.1-1Jerry James - 0.87.0-3Jerry James - 0.87.0-2Jerry James - 0.87.0-1Jerry James - 0.86.3-1Fedora Release Engineering - 0.86.2-3Jerry James - 0.86.2-2Jerry James - 0.86.2-1Richard W.M. Jones - 0.86.1-2Jerry James - 0.86.1-1Richard W.M. Jones - 0.86-2Jerry James - 0.86-1Jerry James - 0.85-9Jerry James - 0.85-8Jerry James - 0.85-7Richard W.M. Jones - 0.85-6Jerry James - 0.85-5Jerry James - 0.85-4Jerry James - 0.85-3Jerry James - 0.85-2Jerry James - 0.85-1Jerry James - 0.84-1Jerry James - 0.83-14Richard W.M. Jones - 0.83-13Fedora Release Engineering - 0.83-12Jerry James - 0.83-11Richard W.M. Jones - 0.83-10Richard W.M. Jones - 0.83-9Jerry James - 0.83-8Fedora Release Engineering - 0.83-7Jerry James - 0.83-6Jerry James - 0.83-5Richard W.M. Jones - 0.83-4Jerry James - 0.83-3Jerry James - 0.83-2Jerry James - 0.83-1Jerry James - 0.82-2Jerry James - 0.82-1Jerry James - 0.81-6Jerry James - 0.81-5Fedora Release Engineering - 0.81-4Jerry James - 0.81-3Jerry James - 0.81-2Jerry James - 0.81-1Fedora Release Engineering - 0.73-5Jerry James - 0.73-4Richard W.M. Jones - 0.73-3Jerry James - 0.73-2Jerry James - 0.73-1Fedora Release Engineering - 0.71-3Jerry James - 0.71-2Jerry James - 0.71-1- New upstream release- Rebuild for coq 8.5pl2- New upstream release- Rebuild for coq 8.5pl1- Rebuild for ocaml-ocamlgraph 1.8.7- New upstream release - Drop boomy icon removal; upstream no longer ships them- New upstream release - Use camlp4 in preference to camlp5- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild- Rebuild for ocaml-zarith 1.4.1 and ocaml-menhir 20151112- New upstream release - Do not ship the nonfree boomy icons- ocaml-4.02.2 final rebuild.- New upstream release- ocaml-4.02.2 rebuild.- New upstream release- Rebuild for coq 8.4pl6- Rebuild for ocaml-ocamlgraph 1.8.6- Note bundled jquery - Fix sed expression separators for new RPM_OPT_FLAGS and RPM_LD_FLAGS- ocaml-4.02.1 rebuild.- Rebuild for ocaml-camlp5 6.12- Rebuild for coq 8.4pl5- Rebuild for ocaml-zarith 1.3- Bump and rebuild- New upstream release - New source URL- New upstream release - Fix license handling- Rebuild for new gappalib-coq build- ocaml-4.02.0+rc1 rebuild.- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild- Rebuild for new gappalib-coq build- ocaml-4.02.0-0.8.git10e45753.fc22 rebuild.- OCaml 4.02.0 beta rebuild.- Linking with -z relro -z now breaks plugins; omit "-z now"- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild- Rebuild for coq 8.4pl4- Rebuild for flocq 2.3.0 and ocamlgraph 1.8.5 - Drop unnecessary sqlite-devel BR- Remove ocaml_arches macro (RHBZ#1087794).- Apply upstream fix for building with ocaml-zarith - Fix file encodings - Fix permission bits- Back out the post-release fix to the Coq printer, which breaks Frama-C- New upstream release - Use cvc4 instead of cvc3- Rebuild for ocamlgraph 1.8.4 - BR ocaml-findlib instead of ocaml-findlib-devel- New upstream release - Drop upstreamed patches - Add -examples subpackage - Install LaTeX style - Turn off frama-c support at upstream's request- Apply upstream fix for change in the alt-ergo timelimit option- Rebuild for OCaml 4.01.0 - Enable debuginfo for the ocaml sources- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild- Rebuild for frama-c Fluorine 20130601- Rebuild for frama-c Fluorine 20130501- New upstream release - Disable PVS support for now; it requires the NASA libraries - Fix the conflict between the why and why3 Emacs packages (bz 913522) - Disable parallel builds due to intermittent build failures- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild- Rebuild for coq 8.4pl1- Rebuild for OCaml 4.00.1.- Rebuild for coq 8.4- New upstream release- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild- Add missing sqlite-devel BR - Do not move the coq plugin - Generate debuginfo for the sole C program - Add man pages- Initial RPM  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~0.87.2-1.fc24        !!!!!!!!!!!""##$$$%%&&%%%''%%(((%%%))%%%***%%++%%%%,,,,%%%--%%%..%%%%%%%//%001122113311441155116611771188119911::11;;;;;<<==>>??@@AAABBBBCCCDDEEEEEFFGHHIIIHHJJHHKKHHLLHHHMMNNOOOOOOOOPPPPPPPPPQQRRSSTTUUVVVVWWXXXYYZZ[[\\\\\\\]]^^]]__]]```aabbbccccccddddddddeefffffgghhhhhiijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjiikkiillllllllllliimmmmmmmmmmmmmmmmmmmmmmmnnooooppqqrrsstttttttttuuuuuuuuuuuuvvwwxxyyzz{{zz||zz}}zz~~zzzzzzzzzzzzzzzzzzzzzzzzzzzzzwhy3-examplesexamplesadd_listadd_list.mlwwhy3session.xmlwhy3shapes.gzalgo63algo63.mlwwhy3session.xmlwhy3shapes.gzalgo64algo64.mlwwhy3session.xmlwhy3shapes.gzalgo65algo65.mlwwhy3session.xmlwhy3shapes.gzall_distinctall_distinct.mlwwhy3session.xmlwhy3shapes.gzarmarm.mlwwhy3session.xmlwhy3shapes.gzassigning_meanings_to_programsassigning_meanings_to_programs.mlwwhy3session.xmlwhy3shapes.gzavlassociation_listassociation_list.mlwwhy3session.xmlwhy3shapes.gzavlavl.mlwwhy3session.xmlwhy3shapes.gzkey_typekey_type.mlwwhy3session.xmlwhy3shapes.gzmonoidmonoid.mlwwhy3session.xmlwhy3shapes.gzpreorderpreorder.mlwwhy3session.xmlwhy3shapes.gzpriority_queuepriority_queue.mlwwhy3session.xmlwhy3shapes.gzralral.mlwwhy3session.xmlwhy3shapes.gzsortedsorted.mlwwhy3session.xmlwhy3shapes.gztablestables.mlwwhy3session.xmlwhy3shapes.gzbagbag.mlwwhy3session.xmlwhy3shapes.gzbalancebalance.mlwwhy3session.xmlwhy3shapes.gzbellman_fordbellman_ford.mlwbellman_ford_Graph_long_path_decomposition_1.vbellman_ford_Graph_long_path_decomposition_pigeon1_1.vbellman_ford_Graph_long_path_decomposition_pigeon3_1.vbf_Graph_key_lemma_1_1.vbf_Graph_path_in_vertices_2.vbf_Graph_simple_path_1.vbf_WP_BellmanFord_WP_parameter_bellman_ford_15.vbf_WP_BellmanFord_WP_parameter_bellman_ford_17.vbf_WP_BellmanFord_WP_parameter_bellman_ford_18.vbf_WP_BellmanFord_WP_parameter_bellman_ford_19.vbf_WP_BellmanFord_WP_parameter_bellman_ford_20.vbf_WP_BellmanFord_WP_parameter_relax_7.vbf_WP_BellmanFord_key_lemma_2_1.vwhy3session.xmlwhy3shapes.gzbench.shbinary_multiplicationbinary_multiplication.mlwwhy3session.xmlwhy3shapes.gzbinary_searchbinary_search.mlwwhy3session.xmlwhy3shapes.gzbinary_sqrtbinary_sqrt.mlwwhy3session.xmlwhy3shapes.gzbitcountbitcount.mlwwhy3session.xmlwhy3shapes.gzbitvector_examplesbitvector_examples.mlwwhy3session.xmlwhy3shapes.gzbitvectorsbitvectorbitvector.whybitvector_BitVector_nth_from_int2c_plus_pow2_1.vbitvector_BitVector_to_nat_of_one_1.vbitvector_BitVector_to_nat_of_zero2_1.vbitvector_BitVector_to_nat_of_zero_1.vbitvector_BitVector_to_nat_sub_footprint_1.vwhy3session.xmlwhy3shapes.gzdoubledouble.whydouble_TestDouble_exp_one_1.vwhy3session.xmlwhy3shapes.gzdouble_of_intdouble_of_int.whydouble_of_int_DoubleOfInt_exp_const_1.vdouble_of_int_DoubleOfInt_from_int2c_to_nat_sub_neg_1.vdouble_of_int_DoubleOfInt_from_int2c_to_nat_sub_pos_1.vdouble_of_int_DoubleOfInt_lemma1_neg_1.vdouble_of_int_DoubleOfInt_lemma1_pos_1.vdouble_of_int_DoubleOfInt_lemma2_1.vdouble_of_int_DoubleOfInt_lemma3_1.vdouble_of_int_DoubleOfInt_to_nat_bv32_bv64_aux_1.vdouble_of_int_DoubleOfInt_var_value0_1.vwhy3session.xmlwhy3shapes.gzneg_as_xorneg_as_xor.whyneg_as_xor_TestNegAsXOR_MainResult_1.vwhy3session.xmlwhy3shapes.gzpower2power2.whypower2_Pow2int_Mod_pow2_gen_1.vpower2_Pow2int_Power_sum_1.vpower2_Pow2int_pow2pos_1.vpower2_Pow2real_Pow2_int_real_1.vpower2_Pow2real_Power_neg_aux_1.vpower2_Pow2real_Power_non_null_1.vpower2_Pow2real_Power_non_null_aux_1.vpower2_Pow2real_Power_sum_1.vpower2_Pow2real_Power_sum_aux_1.vwhy3session.xmlwhy3shapes.gzbitwalkerbitwalker.mlwwhy3session.xmlwhy3shapes.gzbraun_treesbraun_trees.mlwwhy3session.xmlwhy3shapes.gzbresenhambresenham.mlwbresenham_M_closest_1.vwhy3session.xmlwhy3shapes.gzbts1124411244.whywhy3session.xmlwhy3shapes.gz12445.mlw1247512475.whywhy3session.xmlwhy3shapes.gz1293412934.why12934_BTS12934_t_1.vwhy3session.xmlwhy3shapes.gz13002.why1337513375.mlwwhy3session.xmlwhy3shapes.gz13515.mlw1384913849.why13849_T_x_2.vwhy3session.xmlwhy3shapes.gz1385313853.mlwwhy3session.xmlwhy3shapes.gz13853a.mlw13853b.mlw1385413854.why13854_T_g_1.v13854_T_x_1.vwhy3session.xmlwhy3shapes.gz14097.mlw1697216972.mlwwhy3session.xmlwhy3shapes.gz17137.mlw1718117181.mlwwhy3session.xmlwhy3shapes.gz17184.mlw18953.why20618.mlwbts12244.mlexecute.mlwfsetintfsetint.whywhy3session.xmlwhy3shapes.gzsimplify.mlwbubble_sortbubble_sort.mlwwhy3session.xmlwhy3shapes.gzcheck-builtinacac.whywhy3session.xmlwhy3shapes.gzarrayarray.whywhy3session.xmlwhy3shapes.gzboolbool.whywhy3session.xmlwhy3shapes.gzeuclideandivisioneuclideandivision.whywhy3session.xmlwhy3shapes.gzfloatsfloats.whywhy3session.xmlwhy3shapes.gzintint.whywhy3session.xmlwhy3shapes.gzintrealintreal.whywhy3session.xmlwhy3shapes.gzminmaxminmax.whywhy3session.xmlwhy3shapes.gzpropositionalpropositional.whywhy3session.xmlwhy3shapes.gzrealreal.whyreal_TrigonometryTest_Atan_1_1.vreal_TrigonometryTest_Tan_pi_3_1.vreal_TrigonometryTest_Tan_pi_4_1.vwhy3session.xmlwhy3shapes.gzchecking_a_large_routinechecking_a_large_routine.mlwwhy3session.xmlwhy3shapes.gzcoincidence_countcoincidence_count.mlwwhy3session.xmlwhy3shapes.gzconjugateconjugate.mlwwhy3session.xmlwhy3shapes.gzcounting_sortcounting_sort.mlwwhy3session.xmlwhy3shapes.gzcursorcursor.mlwwhy3session.xmlwhy3shapes.gzdecrease1decrease1.mlwdecrease1_Decrease1_decrease1_induction_2.vwhy3session.xmlwhy3shapes.gzdefunctionalizationdefunctionalization.mlwMakefilemain.mlwhy3session.xmlwhy3shapes.gzdfa_exampledfa_example.mlwdfa_example_DfaExample_nil_notin_r1_1.vwhy3session.xmlwhy3shapes.gzdfsdfs.mlwwhy3session.xmlwhy3shapes.gzdijkstradijkstra.mlwdijkstra_DijkstraShortestPath_Path_shortest_path_1.vdijkstra_DijkstraShortestPath_WP_parameter_shortest_path_code_2.vdijkstra_DijkstraShortestPath_WP_parameter_shortest_path_code_3.vwhy3session.xmlwhy3shapes.gzdivisiondivision.mlwwhy3session.xmlwhy3shapes.gzdoc_examplesdigit_sum.texdouble_wpcompilercompiler.mlwcompiler_Compile_com_WP_parameter_compile_com_1.vwhy3session.xmlwhy3shapes.gzimpimp.whywhy3session.xmlwhy3shapes.gzlogiclogic.mlwwhy3session.xmlwhy3shapes.gzspecsspecs.mlwwhy3session.xmlwhy3shapes.gzstate.whyvmvm.mlwwhy3session.xmlwhy3shapes.gzdyckdyck.mlwwhy3session.xmlwhy3shapes.gzedit_distanceedit_distance.mlwedit_distance_WP_EditDistance_WP_parameter_distance_1.vedit_distance_WP_EditDistance_WP_parameter_distance_2.vedit_distance_WP_EditDistance_suffix_length_1.vedit_distance_Word_first_last_1.vedit_distance_Word_key_lemma_right_1.vedit_distance_Word_min_dist_diff_1.vwhy3session.xmlwhy3shapes.gzeuler001euler001.mlwMakefileeuler001_DivModHints_mod_div_unique_1.veuler001_DivModHints_mod_succ_1_1.veuler001_DivModHints_mod_succ_2_1.veuler001_SumMultiple_Closed_Formula_1.veuler001_TriangularNumbers_tr_mod_2_1.vmain.mlwhy3session.xmlwhy3shapes.gzeuler002euler002.mlwwhy3session.xmlwhy3shapes.gzewd673ewd673.mlwwhy3session.xmlwhy3shapes.gzf_puzzlef_puzzle.whywhy3session.xmlwhy3shapes.gzfactfact.mlwwhy3session.xmlwhy3shapes.gzfib_memofib_memo.mlwwhy3session.xmlwhy3shapes.gzfibonaccifibonacci.mlwfibonacci_WP_FibonacciLogarithmic_WP_parameter_logfib_1.vfibonacci_WP_FibonacciLogarithmic_fib_m_1.vwhy3session.xmlwhy3shapes.gzfillfill.mlwwhy3session.xmlwhy3shapes.gzfindfind.mlwfind_WP_FIND_WP_parameter_find_4.vwhy3session.xmlwhy3shapes.gzfinger_treesfinger_trees.mlwwhy3session.xmlwhy3shapes.gzfinite_tarskifinite_tarski.mlwwhy3session.xmlwhy3shapes.gzflagflag.mlwwhy3session.xmlwhy3shapes.gzflag2flag2.mlwflag2_Flag_nb_occ_ext_1.vflag2_WP_Flag_nb_occ_split_1.vflag2_WP_Flag_nb_occ_store_eq_neq_1.vflag2_WP_Flag_nb_occ_store_outside_down_1.vflag2_WP_Flag_nb_occ_store_outside_up_1.vwhy3session.xmlwhy3shapes.gzfoveoos11-cmarray_maxarray_max.mlwwhy3session.xmlwhy3shapes.gzdupletsduplets.mlwwhy3session.xmlwhy3shapes.gztree_maxtree_max.mlwtree_max_BinTree_ge_trans_1.vwhy3session.xmlwhy3shapes.gzfoveoos11_challenge1foveoos11_challenge1.mlwwhy3session.xmlwhy3shapes.gzfoveoos11_challenge2foveoos11_challenge2.mlwfoveoos11_challenge2_WP_MaximumTree_size_nonneg_1.vwhy3session.xmlwhy3shapes.gzfoveoos11_challenge3foveoos11_challenge3.mlwfoveoos11_challenge3_WP_TwoEqualElements_WP_parameter_two_equal_elements_1.vfoveoos11_challenge3_WP_TwoEqualElements_WP_parameter_two_equal_elements_2.vfoveoos11_challenge3_WP_TwoEqualElements_WP_parameter_two_equal_elements_3.vfoveoos11_challenge3_WP_TwoEqualElements_WP_parameter_two_equal_elements_4.vwhy3session.xmlwhy3shapes.gzgcdgcd.mlwMakefilegcd_BinaryGcd_gcd_even_odd_2.vgcd_WP_EuclideanAlgorithm_WP_parameter_gcd_1.vindex.htmljsmain.mlmain.mlwhy3session.xmlwhy3shapes.gzgcd_bezoutgcd_bezout.mlwwhy3session.xmlwhy3shapes.gzgenerate_all_treesgenerate_all_trees.mlwgenerate_all_trees_WP_GenerateAllTrees_WP_parameter_combine_2.vgenerate_all_trees_WP_GenerateAllTrees_all_trees_0_1.vgenerate_all_trees_WP_GenerateAllTrees_size_nonneg_1.vwhy3session.xmlwhy3shapes.gzhackers-delighthackers-delight.mlwwhy3session.xmlwhy3shapes.gzhashtbl_implhashtbl_impl.mlwhashtbl_impl_HashtblImpl_WP_parameter_add_1.vhashtbl_impl_HashtblImpl_WP_parameter_find_1.vhashtbl_impl_HashtblImpl_WP_parameter_remove_2.vwhy3session.xmlwhy3shapes.gzhoare_logicblocking_semantics5blocking_semantics5.mlwblocking_semantics5_FreshVariables_eval_change_free_1.vblocking_semantics5_FreshVariables_eval_change_free_2.vblocking_semantics5_FreshVariables_eval_change_free_3.vblocking_semantics5_FreshVariables_eval_change_free_4.vblocking_semantics5_FreshVariables_eval_msubst_1.vblocking_semantics5_FreshVariables_eval_msubst_2.vblocking_semantics5_FreshVariables_eval_swap_3.vblocking_semantics5_FreshVariables_eval_swap_gen_1.vblocking_semantics5_FreshVariables_eval_swap_gen_2.vblocking_semantics5_FreshVariables_eval_swap_term_1.vblocking_semantics5_HoareLogic_assert_rule_1.vblocking_semantics5_HoareLogic_assert_rule_ext_1.vblocking_semantics5_HoareLogic_assign_rule_1.vblocking_semantics5_HoareLogic_if_rule_1.vblocking_semantics5_HoareLogic_many_steps_seq_1.vblocking_semantics5_HoareLogic_skip_rule_1.vblocking_semantics5_HoareLogic_while_rule_1.vblocking_semantics5_SemOp_steps_non_neg_1.vblocking_semantics5_TestSemantics_If42_1.vblocking_semantics5_TypingAndSemantics_eval_type_term_1.vblocking_semantics5_TypingAndSemantics_type_inversion_1.vblocking_semantics5_TypingAndSemantics_type_preservation_1.vblocking_semantics5_WP_distrib_conj_1.vblocking_semantics5_WP_distrib_conj_2.vblocking_semantics5_WP_distrib_conj_3.vblocking_semantics5_WP_monotonicity_1.vblocking_semantics5_WP_monotonicity_2.vblocking_semantics5_WP_monotonicity_3.vblocking_semantics5_WP_progress_1.vblocking_semantics5_WP_progress_2.vblocking_semantics5_WP_progress_3.vblocking_semantics5_WP_progress_4.vblocking_semantics5_WP_progress_5.vblocking_semantics5_WP_wp_preserved_by_reduction_4.vblocking_semantics5_WP_wp_soundness_1.vwhy3session.xmlwhy3shapes.gzformulaformula.whywhy3session.xmlwhy3shapes.gzimp_nimp_n.whyimp_n_Imp_assign_rule_1.vimp_n_Imp_eval_subst_1.vimp_n_Imp_eval_subst_expr_1.vimp_n_Imp_if_rule_1.vimp_n_Imp_many_steps_seq_1.vimp_n_Imp_progress_1.vimp_n_Imp_seq_rule_1.vimp_n_Imp_steps_non_neg_1.vimp_n_Imp_while_rule_1.vwhy3session.xmlwhy3shapes.gzwp2wp2.mlwwhy3session.xmlwhy3shapes.gzwp2_HoareLogic_assert_rule_1.vwp2_HoareLogic_assert_rule_ext_1.vwp2_HoareLogic_assign_rule_1.vwp2_HoareLogic_if_rule_1.vwp2_HoareLogic_skip_rule_1.vwp2_HoareLogic_while_rule_1.vwp2_HoareLogic_while_rule_ext_1.vwp2_Imp_eval_change_free_1.vwp2_Imp_eval_subst_1.vwp2_Imp_eval_subst_term_1.vwp2_Imp_eval_term_change_free_1.vwp2_Imp_many_steps_seq_1.vwp2_Imp_steps_non_neg_1.vwp2_TestSemantics_If42_1.vwp2_TestSemantics_Test55_1.vwp2_WP_WP_WP_parameter_compute_writes_1.vwp2_WP_WP_WP_parameter_compute_writes_2.vwp2_WP_WP_WP_parameter_compute_writes_3.vwp2_WP_WP_WP_parameter_compute_writes_4.vwp2_WP_WP_WP_parameter_wp_1.vwp2_WP_WP_WP_parameter_wp_2.vinductioninduction.mlwwhy3session.xmlwhy3shapes.gzinsertion_sortinsertion_sort.mlwinsertion_sort_InsertionSortGen_WP_parameter_insertion_sort_1.vinsertion_sort_WP_InsertionSort_WP_parameter_insertion_sort_1.vwhy3session.xmlwhy3shapes.gzinsertion_sort_listinsertion_sort_list.mlwwhy3session.xmlwhy3shapes.gzinsertion_sort_naiveinsertion_sort_naive.mlwwhy3session.xmlwhy3shapes.gzinverse_in_placeinverse_in_place.mlwwhy3session.xmlwhy3shapes.gzisqrtisqrt.mlwwhy3session.xmlwhy3shapes.gzkmpkmp.mlwkmp_WP_KnuthMorrisPratt_WP_parameter_initnext_2.vkmp_WP_KnuthMorrisPratt_WP_parameter_initnext_3.vkmp_WP_KnuthMorrisPratt_WP_parameter_initnext_4.vkmp_WP_KnuthMorrisPratt_matches_contradiction_at_first_1.vkmp_WP_KnuthMorrisPratt_matches_left_weakening_1.vkmp_WP_KnuthMorrisPratt_next_is_maximal_1.vkmp_WP_KnuthMorrisPratt_next_iteration_1.vwhy3session.xmlwhy3shapes.gzknuth_prime_numbersknuth_prime_numbers.mlwknuth_prime_numbers_PrimeNumbers_WP_parameter_prime_numbers_1.vknuth_prime_numbers_PrimeNumbers_WP_parameter_prime_numbers_2.vknuth_prime_numbers_PrimeNumbers_WP_parameter_prime_numbers_3.vknuth_prime_numbers_PrimeNumbers_WP_parameter_prime_numbers_4.vknuth_prime_numbers_PrimeNumbers_WP_parameter_prime_numbers_5.vknuth_prime_numbers_WP_PrimeNumbers_WP_parameter_prime_numbers_4.vknuth_prime_numbers_WP_PrimeNumbers_WP_parameter_prime_numbers_5.vknuth_prime_numbers_WP_PrimeNumbers_WP_parameter_prime_numbers_6.vknuth_prime_numbers_WP_PrimeNumbers_WP_parameter_prime_numbers_7.vknuth_prime_numbers_WP_PrimeNumbers_exists_prime_1.vwhy3session.xmlwhy3shapes.gzlargest_prime_factorlargest_prime_factor.mlwwhy3session.xmlwhy3shapes.gzlcplcp.mlwwhy3session.xmlwhy3shapes.gzlinear_probinglinear_probing.mlwwhy3session.xmlwhy3shapes.gzlinked_list_revlinked_list_rev.mlwwhy3session.xmlwhy3shapes.gzlogicFirstFirst.whywhy3session.xmlwhy3shapes.gzagathaagatha.whywhy3session.xmlwhy3shapes.gzbitvectorsbitvectors.whywhy3session.xmlwhy3shapes.gzdistrdistr.whywhy3session.xmlwhy3shapes.gzeinsteineinstein.whywhy3session.xmlwhy3shapes.gzexplicit_substexplicit_subst.whywhy3session.xmlwhy3shapes.gzffxffx.whywhy3session.xmlwhy3shapes.gzgenealogygenealogy.whygenealogy_Genealogy_Child_is_son_or_daughter_1.prfgenealogy_Genealogy_Child_is_son_or_daughter_1.pvsgenealogy_Genealogy_Child_is_son_or_daughter_1.thygenealogy_Genealogy_Child_is_son_or_daughter_1.vgenealogy_Genealogy_Child_is_son_or_daughter_1.xmlgenealogy_Genealogy_Grandparent_is_grandfather_or_grandmother_1.thygenealogy_Genealogy_Grandparent_is_grandfather_or_grandmother_1.xmlgenealogy_Genealogy_Sibling_is_brother_or_sister_1.thygenealogy_Genealogy_Sibling_is_brother_or_sister_1.xmlgenealogy_Genealogy_Sibling_sym_1.thygenealogy_Genealogy_Sibling_sym_1.xmlwhy3session.xmlwhy3shapes.gzhello_proofhello_proof.whyhello_proof_HelloProof_G2_1.vwhy3session.xmlwhy3shapes.gzisa_planner.whylagrange_inequalitylagrange_inequality.whylagrange_inequality_CauchySchwarzInequality_CauchySchwarz_1.vlagrange_inequality_CauchySchwarzInequality_sqr_le_sqrt_1.vlagrange_inequality_TriangleInequality_triangle_1.vwhy3session.xmlwhy3shapes.gzlos_problemlos_problem.whywhy3session.xmlwhy3shapes.gzmy_cosinemy_cosine.whymy_cosine_CosineSingle_MethodError_1.vwhy3session.xmlwhy3shapes.gzns_clonens_clone.whywhy3session.xmlwhy3shapes.gzrealreal.whyreal_CosineSingle_MethodError_1.vwhy3session.xmlwhy3shapes.gzscottish-private-clubscottish-private-club.whywhy3session.xmlwhy3shapes.gzsimplesimple.whywhy3session.xmlwhy3shapes.gzsorted_listsorted_list.whysorted_list_SortedList_sorted_mem_1.vwhy3session.xmlwhy3shapes.gztriangle_inequalitytriangle_inequality.whytriangle_inequality_CauchySchwarzInequality_CauchySchwarz_1.vtriangle_inequality_CauchySchwarzInequality_CauchySchwarz_aux_non_null_1.vtriangle_inequality_TriangleInequality_triangle_1.vwhy3session.xmlwhy3shapes.gzmax_matrixmax_matrix.mlwwhy3session.xmlwhy3shapes.gzmaximum_subarraymaximum_subarray.mlwmaximum_subarray_Algo3_WP_parameter_maximum_subarray_rec_1.vmaximum_subarray_Algo3_WP_parameter_maximum_subarray_rec_3.vwhy3session.xmlwhy3shapes.gzmccarthymccarthy.mlwwhy3session.xmlwhy3shapes.gzmergesort_arraymergesort_array.mlwmergesort_array_BottomUpMergesort_WP_parameter_bottom_up_mergesort_1.vwhy3session.xmlwhy3shapes.gzmergesort_listmergesort_list.mlwwhy3session.xmlwhy3shapes.gzmergesort_queuemergesort_queue.mlwmergesort_queue_MergesortQueue_WP_parameter_merge_3.vwhy3session.xmlwhy3shapes.gzmiscencodebench.rclist.whyprgbench.rcset.whytest.equlinvacid_sort.whymjrtymjrty.mlwwhy3session.xmlwhy3shapes.gzmullermuller.mlwwhy3session.xmlwhy3shapes.gzmy_cosinemy_cosine.mlwmy_cosine_M_WP_parameter_my_cosine_1.vwhy3session.xmlwhy3shapes.gznightly-bench.shoptimal_replayoptimal_replay.mlwwhy3session.xmlwhy3shapes.gzpatiencepatience.mlwwhy3session.xmlwhy3shapes.gzpigeonholepigeonhole.mlwwhy3session.xmlwhy3shapes.gzpowerpower.mlwpower_M_WP_parameter_fast_exp_imperative_1.vpower_WP_M_WP_parameter_fast_exp_imperative_3.vwhy3session.xmlwhy3shapes.gzqueensqueens.mlwqueens_WP_NQueensSets_WP_parameter_t3_1.vqueens_WP_NQueensSets_WP_parameter_t3_2.vqueens_WP_NQueensSets_WP_parameter_t3_3.vqueens_WP_NQueensSets_WP_parameter_t3_4.vqueens_WP_NQueensSets_WP_parameter_t3_5.vqueens_WP_NQueensSets_WP_parameter_t3_6.vwhy3session.xmlwhy3shapes.gzqueens_bvqueens_bv.mlwwhy3session.xmlwhy3shapes.gzquicksortquicksort.mlwwhy3session.xmlwhy3shapes.gzrandom_access_listrandom_access_list.mlwrandom_access_list_RandomAccessList_length_flatten_1.vwhy3session.xmlwhy3shapes.gzregister_allocationregister_allocation.mlwwhy3session.xmlwhy3shapes.gzregtests.shrelabelrelabel.mlwwhy3session.xmlwhy3shapes.gzremove_duplicateremove_duplicate.mlwwhy3session.xmlwhy3shapes.gzremove_duplicate_hashremove_duplicate_hash.mlwwhy3session.xmlwhy3shapes.gzresidualresidual.mlwresidual_Residuals_WP_parameter_residual_1.vresidual_Residuals_WP_parameter_residual_2.vresidual_Residuals_WP_parameter_residual_3.vresidual_Residuals_inversion_mem_star_gen_1.vwhy3session.xmlwhy3shapes.gzresizable_arrayresizable_array.mlwwhy3session.xmlwhy3shapes.gzrightmostbittrickrightmostbittrick.mlwwhy3session.xmlwhy3shapes.gzropesropes.mlwwhy3session.xmlwhy3shapes.gzsame_fringesame_fringe.mlwwhy3session.xmlwhy3shapes.gzschorr_waiteschorr_waite.mlwwhy3session.xmlwhy3shapes.gzselection_sortselection_sort.mlwwhy3session.xmlwhy3shapes.gzsfsf.mlwwhy3session.xmlwhy3shapes.gzsievesieve.mlwwhy3session.xmlwhy3shapes.gzskew_heapsskew_heaps.mlwwhy3session.xmlwhy3shapes.gzsnapshotable_treessnapshotable_trees.mlwwhy3session.xmlwhy3shapes.gzsorted_listsorted_list.mlwwhy3session.xmlwhy3shapes.gzstdlibarrayarray_ArrayPermut_exchange_permut_sub_1.varray_ArrayPermut_permut_sub_weakening_2.vwhy3session.xmlwhy3shapes.gzbintreewhy3session.xmlwhy3shapes.gzlistlist_Permut_Permut_length_1.vlist_Permut_Permut_length_2.vwhy3session.xmlwhy3shapes.gzsudokusudoku.mlwMakefileindex.htmljsmain.mlmain.mlwhy3session.xmlwhy3shapes.gzsum_of_digitssum_of_digits.mlwwhy3session.xmlwhy3shapes.gzswapswap.mlwwhy3session.xmlwhy3shapes.gzteststests-proversbvbv.whywhy3session.xmlwhy3shapes.gzceilceil.whywhy3session.xmlwhy3shapes.gzcoqcoq-intervalcoq-interval.whycoqmninterval_P_pow_eps2_max_int_1.vwhy3session.xmlwhy3shapes.gzcoq.whycoq_NonEmptyTypes_g1_1.vwhy3session.xmlwhy3shapes.gzcvc3cvc3.whywhy3session.xmlwhy3shapes.gzdivdiv.whywhy3session.xmlwhy3shapes.gzdiv_realdiv_real.whywhy3session.xmlwhy3shapes.gzgappagappa.whywhy3session.xmlwhy3shapes.gzmetitarskimetitarski.whywhy3session.xmlwhy3shapes.gzpolypaverpolypaver.mlwpolypaver.whywhy3session.xmlwhy3shapes.gzalt-ergo-modelsalt-ergo-models.mlwalt-ergo-models.whywhy3session.xmlarray-test.mlwbitvector-test.whybv-smtlib-realizationbv-smtlib-realization.whywhy3-smt-realize.confwhy3session.xmlwhy3shapes.gzcvc4-modelscvc4-models.mlwcvc4-models.whywhy3session.xmlwhy3shapes.gzhashtbl-test.mlwint32-test.mlwlemma_functionslemma_functions.mlwwhy3session.xmlwhy3shapes.gzmatrix-test.mlwpqueue-test.mlwqueue-test.mlwrandom-test.mlwregexp-test.whystack-test.mlwthere_and_back_againthere_and_back_again.mlwthere_and_back_again_Palindrome_WP_parameter_palindrome_rec_1.vthere_and_back_again_Palindrome_WP_parameter_palindrome_rec_2.vwhy3session.xmlwhy3shapes.gztopological_sortingtopological_sorting.mlwwhy3session.xmlwhy3shapes.gztortoise_and_haretortoise_and_hare.mlwtortoise_and_hare_WP_TortoiseAndHare_WP_parameter_tortoise_hare_1.vtortoise_and_hare_WP_TortoiseAndHare_WP_parameter_tortoise_hare_2.vtortoise_and_hare_WP_TortoiseAndHare_cycle_induction_1.vwhy3session.xmlwhy3shapes.gztower_of_hanoitower_of_hanoi.mlwwhy3session.xmlwhy3shapes.gztoy_compilertoy_compiler.mlwwhy3session.xmlwhy3shapes.gztree_heighttree_height.mlwwhy3session.xmlwhy3shapes.gztree_of_listtree_of_list.mlwwhy3session.xmlwhy3shapes.gzunraveling_a_card_trickunraveling_a_card_trick.mlwwhy3session.xmlwhy3shapes.gzuse_apicreate_session.mllogic.mlmlw.mlmlw_tree.mlrunstratMakefileecho_wait.mlmakejob.mlmakeproto.mlmakeproto.mlirun_wait.mlrunstrat.mlvacid_0_binary_heapsabstract_heap.mlwbag_of_integers.whyelements.whyheap.whyheap_implem.mlwheap_model.whyheapsort.mlwproofselements_Elements_Elements_add1_1.velements_Elements_Elements_set_inside_1.velements_Elements_Elements_set_outside_1.velements_Elements_Elements_union_1.velements_Elements_Occ_elements_1.vheap_Heap_Is_heap_relation_1.vheap_implem_WP_Implementation_Is_heap_min_1.vheap_implem_WP_Implementation_WP_parameter_extractMin_3.vheap_model_Model_Model_set_1.vheapsort_WP_HeapSort_Min_of_sorted_1.vwhy3session.xmlwhy3shapes.gztest_harness.mlwvacid_0_build_mazevacid_0_build_maze.mlwwhy3session.xmlwhy3shapes.gzvacid_0_red_black_treesvacid_0_red_black_trees.mlwvacid_0_red_black_trees_WP_RedBlackTree_WP_parameter_add_1.vvacid_0_red_black_trees_WP_RedBlackTree_WP_parameter_lbalance_1.vvacid_0_red_black_trees_WP_RedBlackTree_WP_parameter_rbalance_1.vvacid_0_red_black_trees_WP_RedBlackTree_gt_node_gt_1.vvacid_0_red_black_trees_WP_RedBlackTree_lt_node_lt_1.vwhy3session.xmlwhy3shapes.gzvacid_0_sparse_arrayvacid_0_sparse_array.mlwvacid_0_sparse_array_2_SparseArray_permutation_1.vwhy3session.xmlwhy3shapes.gzverifythis_2015_dancing_linksverifythis_2015_dancing_links.mlwwhy3session.xmlwhy3shapes.gzverifythis_2015_parallel_gcdverifythis_2015_parallel_gcd.mlwwhy3session.xmlwhy3shapes.gzverifythis_2015_relaxed_prefixverifythis_2015_relaxed_prefix.mlwwhy3session.xmlwhy3shapes.gzverifythis_PrefixSumRecverifythis_PrefixSumRec.mlwwhy3session.xmlwhy3shapes.gzverifythis_fm2012_LRSverifythis_fm2012_LRS.mlwverifythis_fm2012_lcp_LRS_WP_parameter_lrs_10.vverifythis_fm2012_lcp_LRS_WP_parameter_lrs_12.vverifythis_fm2012_lcp_SuffixArray_permut_permutation_1.vwhy3session.xmlwhy3shapes.gzverifythis_fm2012_treedelverifythis_fm2012_treedel.mlwverifythis_fm2012_treedel_Treedel_WP_parameter_search_tree_delete_min_2.vverifythis_fm2012_treedel_Treedel_main_lemma_1.vwhy3session.xmlwhy3shapes.gzvstte10_aqueuevstte10_aqueue.mlwwhy3session.xmlwhy3shapes.gzvstte10_invertingvstte10_inverting.mlwvstte10_inverting_InvertingAnInjection_WP_parameter_inverting2_1.vvstte10_inverting_WP_InvertingAnInjection_WP_parameter_inverting_1.vwhy3session.xmlwhy3shapes.gzvstte10_max_sumvstte10_max_sum.mlwMakefilemain.mlvstte10_max_sum_MaxAndSum_WP_parameter_max_sum_1.vvstte10_max_sum_WP_MaxAndSum2_WP_parameter_max_sum_1.vwhy3session.xmlwhy3shapes.gzvstte10_queensvstte10_queens.mlwvstte10_queens_NQueens_solution_eq_board_1.vwhy3session.xmlwhy3shapes.gzvstte10_search_listvstte10_search_list.mlwvstte10_search_list_WP_SearchingALinkedList_WP_parameter_search_loop_1.vvstte10_search_list_WP_SearchingALinkedList_WP_parameter_search_loop_3.vvstte10_search_list_WP_SearchingALinkedList_WP_parameter_search_loop_4.vwhy3session.xmlwhy3shapes.gzvstte12_bfsvstte12_bfs.mlwvstte12_bfs_WP_BFS_WP_parameter_bfs_1.vwhy3session.xmlwhy3shapes.gzvstte12_combinatorsvstte12_combinators.mlwMakefileindex.htmljsmain.mlmain.mlparse.mlvstte12_combinators_WP_Combinators_WP_parameter_reduction2_2.vvstte12_combinators_WP_Combinators_WP_parameter_reduction3_3.vvstte12_combinators_WP_Combinators_WP_parameter_reduction3_4.vvstte12_combinators_WP_Combinators_WP_parameter_reduction3_5.vvstte12_combinators_WP_Combinators_WP_parameter_reduction3_6.vvstte12_combinators_WP_Combinators_WP_parameter_reduction3_7.vvstte12_combinators_WP_Combinators_WP_parameter_reduction3_8.vvstte12_combinators_WP_Combinators_WP_parameter_reduction3_9.vvstte12_combinators_WP_Combinators_WP_parameter_reduction_1.vvstte12_combinators_WP_Combinators_WP_parameter_reduction_2.vvstte12_combinators_WP_Combinators_WP_parameter_reduction_3.vvstte12_combinators_WP_Combinators_WP_parameter_reduction_4.vvstte12_combinators_WP_Combinators_WP_parameter_reduction_5.vvstte12_combinators_WP_Combinators_irreducible_is_value_1.vvstte12_combinators_WP_Combinators_ks_even_odd_1.vvstte12_combinators_WP_Combinators_ks_injective_1.vvstte12_combinators_WP_Combinators_ks_value_1.vvstte12_combinators_WP_Combinators_only_K_ks_1.vvstte12_combinators_WP_Combinators_only_K_reduces_1.vvstte12_combinators_WP_Combinators_red_star_left_1.vvstte12_combinators_WP_Combinators_red_star_right_1.vvstte12_combinators_WP_Combinators_reducible_or_value_1.vvstte12_combinators_WP_Combinators_size_nonneg_1.vwhy3session.xmlwhy3shapes.gzvstte12_ring_buffervstte12_ring_buffer.mlwvstte12_ring_buffer_2_RingBuffer_WP_parameter_head_1.vvstte12_ring_buffer_2_RingBuffer_WP_parameter_pop_3.vvstte12_ring_buffer_2_RingBuffer_WP_parameter_pop_4.vvstte12_ring_buffer_RingBuffer_WP_parameter_pop_1.vvstte12_ring_buffer_RingBuffer_WP_parameter_pop_2.vwhy3session.xmlwhy3shapes.gzvstte12_tree_reconstructionvstte12_tree_reconstruction.mlwvstte12_tree_reconstruction_WP_Harness_WP_parameter_harness2_2.vvstte12_tree_reconstruction_WP_Harness_WP_parameter_harness_3.vvstte12_tree_reconstruction_WP_Harness_WP_parameter_harness_4.vvstte12_tree_reconstruction_WP_TreeReconstruction_WP_parameter_build_3.vvstte12_tree_reconstruction_WP_TreeReconstruction_WP_parameter_build_4.vvstte12_tree_reconstruction_WP_TreeReconstruction_WP_parameter_build_rec_3.vvstte12_tree_reconstruction_WP_TreeReconstruction_WP_parameter_build_rec_4.vvstte12_tree_reconstruction_WP_ZipperBased_WP_parameter_tc_2.vvstte12_tree_reconstruction_WP_ZipperBased_WP_parameter_tc_3.vvstte12_tree_reconstruction_WP_ZipperBased_WP_parameter_tc_4.vvstte12_tree_reconstruction_WP_ZipperBased_forest_depths_append_1.vvstte12_tree_reconstruction_WP_ZipperBased_g_append_1.vvstte12_tree_reconstruction_WP_ZipperBased_main_lemma_1.vvstte12_tree_reconstruction_WP_ZipperBased_right_nil_1.vwhy3session.xmlwhy3shapes.gzvstte12_two_way_sortvstte12_two_way_sort.mlwwhy3session.xmlwhy3shapes.gzwarshall_algorithmwarshall_algorithm.mlwwarshall_algorithm_WarshallAlgorithm_decomposition_1.vwarshall_algorithm_WarshallAlgorithm_weakening_1.vwhy3session.xmlwhy3shapes.gzzeroszeros.mlwwhy3session.xmlwhy3shapes.gz/usr/share/doc//usr/share/doc/why3-examples//usr/share/doc/why3-examples/examples//usr/share/doc/why3-examples/examples/add_list//usr/share/doc/why3-examples/examples/algo63//usr/share/doc/why3-examples/examples/algo64//usr/share/doc/why3-examples/examples/algo65//usr/share/doc/why3-examples/examples/all_distinct//usr/share/doc/why3-examples/examples/arm//usr/share/doc/why3-examples/examples/assigning_meanings_to_programs//usr/share/doc/why3-examples/examples/avl//usr/share/doc/why3-examples/examples/avl/association_list//usr/share/doc/why3-examples/examples/avl/avl//usr/share/doc/why3-examples/examples/avl/key_type//usr/share/doc/why3-examples/examples/avl/monoid//usr/share/doc/why3-examples/examples/avl/preorder//usr/share/doc/why3-examples/examples/avl/priority_queue//usr/share/doc/why3-examples/examples/avl/ral//usr/share/doc/why3-examples/examples/avl/sorted//usr/share/doc/why3-examples/examples/avl/tables//usr/share/doc/why3-examples/examples/bag//usr/share/doc/why3-examples/examples/balance//usr/share/doc/why3-examples/examples/bellman_ford//usr/share/doc/why3-examples/examples/binary_multiplication//usr/share/doc/why3-examples/examples/binary_search//usr/share/doc/why3-examples/examples/binary_sqrt//usr/share/doc/why3-examples/examples/bitcount//usr/share/doc/why3-examples/examples/bitvector_examples//usr/share/doc/why3-examples/examples/bitvectors//usr/share/doc/why3-examples/examples/bitvectors/bitvector//usr/share/doc/why3-examples/examples/bitvectors/double//usr/share/doc/why3-examples/examples/bitvectors/double_of_int//usr/share/doc/why3-examples/examples/bitvectors/neg_as_xor//usr/share/doc/why3-examples/examples/bitvectors/power2//usr/share/doc/why3-examples/examples/bitwalker//usr/share/doc/why3-examples/examples/braun_trees//usr/share/doc/why3-examples/examples/bresenham//usr/share/doc/why3-examples/examples/bts//usr/share/doc/why3-examples/examples/bts/11244//usr/share/doc/why3-examples/examples/bts/12475//usr/share/doc/why3-examples/examples/bts/12934//usr/share/doc/why3-examples/examples/bts/13375//usr/share/doc/why3-examples/examples/bts/13849//usr/share/doc/why3-examples/examples/bts/13853//usr/share/doc/why3-examples/examples/bts/13854//usr/share/doc/why3-examples/examples/bts/16972//usr/share/doc/why3-examples/examples/bts/17181//usr/share/doc/why3-examples/examples/bts/fsetint//usr/share/doc/why3-examples/examples/bubble_sort//usr/share/doc/why3-examples/examples/check-builtin//usr/share/doc/why3-examples/examples/check-builtin/ac//usr/share/doc/why3-examples/examples/check-builtin/array//usr/share/doc/why3-examples/examples/check-builtin/bool//usr/share/doc/why3-examples/examples/check-builtin/euclideandivision//usr/share/doc/why3-examples/examples/check-builtin/floats//usr/share/doc/why3-examples/examples/check-builtin/int//usr/share/doc/why3-examples/examples/check-builtin/intreal//usr/share/doc/why3-examples/examples/check-builtin/minmax//usr/share/doc/why3-examples/examples/check-builtin/propositional//usr/share/doc/why3-examples/examples/check-builtin/real//usr/share/doc/why3-examples/examples/checking_a_large_routine//usr/share/doc/why3-examples/examples/coincidence_count//usr/share/doc/why3-examples/examples/conjugate//usr/share/doc/why3-examples/examples/counting_sort//usr/share/doc/why3-examples/examples/cursor//usr/share/doc/why3-examples/examples/decrease1//usr/share/doc/why3-examples/examples/defunctionalization//usr/share/doc/why3-examples/examples/dfa_example//usr/share/doc/why3-examples/examples/dfs//usr/share/doc/why3-examples/examples/dijkstra//usr/share/doc/why3-examples/examples/division//usr/share/doc/why3-examples/examples/doc_examples//usr/share/doc/why3-examples/examples/double_wp//usr/share/doc/why3-examples/examples/double_wp/compiler//usr/share/doc/why3-examples/examples/double_wp/imp//usr/share/doc/why3-examples/examples/double_wp/logic//usr/share/doc/why3-examples/examples/double_wp/specs//usr/share/doc/why3-examples/examples/double_wp/vm//usr/share/doc/why3-examples/examples/dyck//usr/share/doc/why3-examples/examples/edit_distance//usr/share/doc/why3-examples/examples/euler001//usr/share/doc/why3-examples/examples/euler002//usr/share/doc/why3-examples/examples/ewd673//usr/share/doc/why3-examples/examples/f_puzzle//usr/share/doc/why3-examples/examples/fact//usr/share/doc/why3-examples/examples/fib_memo//usr/share/doc/why3-examples/examples/fibonacci//usr/share/doc/why3-examples/examples/fill//usr/share/doc/why3-examples/examples/find//usr/share/doc/why3-examples/examples/finger_trees//usr/share/doc/why3-examples/examples/finite_tarski//usr/share/doc/why3-examples/examples/flag//usr/share/doc/why3-examples/examples/flag2//usr/share/doc/why3-examples/examples/foveoos11-cm//usr/share/doc/why3-examples/examples/foveoos11-cm/array_max//usr/share/doc/why3-examples/examples/foveoos11-cm/duplets//usr/share/doc/why3-examples/examples/foveoos11-cm/tree_max//usr/share/doc/why3-examples/examples/foveoos11_challenge1//usr/share/doc/why3-examples/examples/foveoos11_challenge2//usr/share/doc/why3-examples/examples/foveoos11_challenge3//usr/share/doc/why3-examples/examples/gcd//usr/share/doc/why3-examples/examples/gcd_bezout//usr/share/doc/why3-examples/examples/generate_all_trees//usr/share/doc/why3-examples/examples/hackers-delight//usr/share/doc/why3-examples/examples/hashtbl_impl//usr/share/doc/why3-examples/examples/hoare_logic//usr/share/doc/why3-examples/examples/hoare_logic/blocking_semantics5//usr/share/doc/why3-examples/examples/hoare_logic/formula//usr/share/doc/why3-examples/examples/hoare_logic/imp_n//usr/share/doc/why3-examples/examples/hoare_logic/wp2//usr/share/doc/why3-examples/examples/induction//usr/share/doc/why3-examples/examples/insertion_sort//usr/share/doc/why3-examples/examples/insertion_sort_list//usr/share/doc/why3-examples/examples/insertion_sort_naive//usr/share/doc/why3-examples/examples/inverse_in_place//usr/share/doc/why3-examples/examples/isqrt//usr/share/doc/why3-examples/examples/kmp//usr/share/doc/why3-examples/examples/knuth_prime_numbers//usr/share/doc/why3-examples/examples/largest_prime_factor//usr/share/doc/why3-examples/examples/lcp//usr/share/doc/why3-examples/examples/linear_probing//usr/share/doc/why3-examples/examples/linked_list_rev//usr/share/doc/why3-examples/examples/logic//usr/share/doc/why3-examples/examples/logic/First//usr/share/doc/why3-examples/examples/logic/agatha//usr/share/doc/why3-examples/examples/logic/bitvectors//usr/share/doc/why3-examples/examples/logic/distr//usr/share/doc/why3-examples/examples/logic/einstein//usr/share/doc/why3-examples/examples/logic/explicit_subst//usr/share/doc/why3-examples/examples/logic/ffx//usr/share/doc/why3-examples/examples/logic/genealogy//usr/share/doc/why3-examples/examples/logic/hello_proof//usr/share/doc/why3-examples/examples/logic/lagrange_inequality//usr/share/doc/why3-examples/examples/logic/los_problem//usr/share/doc/why3-examples/examples/logic/my_cosine//usr/share/doc/why3-examples/examples/logic/ns_clone//usr/share/doc/why3-examples/examples/logic/real//usr/share/doc/why3-examples/examples/logic/scottish-private-club//usr/share/doc/why3-examples/examples/logic/simple//usr/share/doc/why3-examples/examples/logic/sorted_list//usr/share/doc/why3-examples/examples/logic/triangle_inequality//usr/share/doc/why3-examples/examples/max_matrix//usr/share/doc/why3-examples/examples/maximum_subarray//usr/share/doc/why3-examples/examples/mccarthy//usr/share/doc/why3-examples/examples/mergesort_array//usr/share/doc/why3-examples/examples/mergesort_list//usr/share/doc/why3-examples/examples/mergesort_queue//usr/share/doc/why3-examples/examples/misc//usr/share/doc/why3-examples/examples/mjrty//usr/share/doc/why3-examples/examples/muller//usr/share/doc/why3-examples/examples/my_cosine//usr/share/doc/why3-examples/examples/optimal_replay//usr/share/doc/why3-examples/examples/patience//usr/share/doc/why3-examples/examples/pigeonhole//usr/share/doc/why3-examples/examples/power//usr/share/doc/why3-examples/examples/queens//usr/share/doc/why3-examples/examples/queens_bv//usr/share/doc/why3-examples/examples/quicksort//usr/share/doc/why3-examples/examples/random_access_list//usr/share/doc/why3-examples/examples/register_allocation//usr/share/doc/why3-examples/examples/relabel//usr/share/doc/why3-examples/examples/remove_duplicate//usr/share/doc/why3-examples/examples/remove_duplicate_hash//usr/share/doc/why3-examples/examples/residual//usr/share/doc/why3-examples/examples/resizable_array//usr/share/doc/why3-examples/examples/rightmostbittrick//usr/share/doc/why3-examples/examples/ropes//usr/share/doc/why3-examples/examples/same_fringe//usr/share/doc/why3-examples/examples/schorr_waite//usr/share/doc/why3-examples/examples/selection_sort//usr/share/doc/why3-examples/examples/sf//usr/share/doc/why3-examples/examples/sieve//usr/share/doc/why3-examples/examples/skew_heaps//usr/share/doc/why3-examples/examples/snapshotable_trees//usr/share/doc/why3-examples/examples/sorted_list//usr/share/doc/why3-examples/examples/stdlib//usr/share/doc/why3-examples/examples/stdlib/array//usr/share/doc/why3-examples/examples/stdlib/bintree//usr/share/doc/why3-examples/examples/stdlib/list//usr/share/doc/why3-examples/examples/sudoku//usr/share/doc/why3-examples/examples/sum_of_digits//usr/share/doc/why3-examples/examples/swap//usr/share/doc/why3-examples/examples/tests-provers//usr/share/doc/why3-examples/examples/tests-provers/bv//usr/share/doc/why3-examples/examples/tests-provers/ceil//usr/share/doc/why3-examples/examples/tests-provers/coq-interval//usr/share/doc/why3-examples/examples/tests-provers/coq//usr/share/doc/why3-examples/examples/tests-provers/cvc3//usr/share/doc/why3-examples/examples/tests-provers/div//usr/share/doc/why3-examples/examples/tests-provers/div_real//usr/share/doc/why3-examples/examples/tests-provers/gappa//usr/share/doc/why3-examples/examples/tests-provers/metitarski//usr/share/doc/why3-examples/examples/tests-provers/polypaver//usr/share/doc/why3-examples/examples/tests//usr/share/doc/why3-examples/examples/tests/alt-ergo-models//usr/share/doc/why3-examples/examples/tests/bv-smtlib-realization//usr/share/doc/why3-examples/examples/tests/cvc4-models//usr/share/doc/why3-examples/examples/tests/lemma_functions//usr/share/doc/why3-examples/examples/there_and_back_again//usr/share/doc/why3-examples/examples/topological_sorting//usr/share/doc/why3-examples/examples/tortoise_and_hare//usr/share/doc/why3-examples/examples/tower_of_hanoi//usr/share/doc/why3-examples/examples/toy_compiler//usr/share/doc/why3-examples/examples/tree_height//usr/share/doc/why3-examples/examples/tree_of_list//usr/share/doc/why3-examples/examples/unraveling_a_card_trick//usr/share/doc/why3-examples/examples/use_api//usr/share/doc/why3-examples/examples/use_api/runstrat//usr/share/doc/why3-examples/examples/vacid_0_binary_heaps//usr/share/doc/why3-examples/examples/vacid_0_binary_heaps/proofs//usr/share/doc/why3-examples/examples/vacid_0_build_maze//usr/share/doc/why3-examples/examples/vacid_0_red_black_trees//usr/share/doc/why3-examples/examples/vacid_0_sparse_array//usr/share/doc/why3-examples/examples/verifythis_2015_dancing_links//usr/share/doc/why3-examples/examples/verifythis_2015_parallel_gcd//usr/share/doc/why3-examples/examples/verifythis_2015_relaxed_prefix//usr/share/doc/why3-examples/examples/verifythis_PrefixSumRec//usr/share/doc/why3-examples/examples/verifythis_fm2012_LRS//usr/share/doc/why3-examples/examples/verifythis_fm2012_treedel//usr/share/doc/why3-examples/examples/vstte10_aqueue//usr/share/doc/why3-examples/examples/vstte10_inverting//usr/share/doc/why3-examples/examples/vstte10_max_sum//usr/share/doc/why3-examples/examples/vstte10_queens//usr/share/doc/why3-examples/examples/vstte10_search_list//usr/share/doc/why3-examples/examples/vstte12_bfs//usr/share/doc/why3-examples/examples/vstte12_combinators//usr/share/doc/why3-examples/examples/vstte12_ring_buffer//usr/share/doc/why3-examples/examples/vstte12_tree_reconstruction//usr/share/doc/why3-examples/examples/vstte12_two_way_sort//usr/share/doc/why3-examples/examples/warshall_algorithm//usr/share/doc/why3-examples/examples/zeros/-O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -march=armv7-a -mfpu=vfpv3-d16 -mfloat-abi=harddrpmxz2armv7hl-redhat-linux-gnueabi            directoryRuby module source, ASCII textXML 1.0 document, ASCII textASCII text, with very long lines (gzip compressed data)empty (gzip compressed data)ASCII text (gzip compressed data)ASCII textPOSIX shell script, ASCII text executableUTF-8 Unicode textASCII text, with very long linesRuby module source, UTF-8 Unicode textmakefile script, ASCII textLaTeX 2e document, ISO-8859 textRuby module source, ASCII text, with very long linesHTML document, ASCII textBSD makefile script, ASCII textASCII text, with very long lines, with no line terminatorsBourne-Again shell script, ASCII text executableLisp/Scheme program, ASCII texta ocaml script, ASCII text executablea ocaml script, UTF-8 Unicode text executableutf-8?7zXZ !#,*^c]"k%{msHE&2]w籩 J g׍80/걏.I6r;d:7 t rjQBy;[/~1,=g ?\lsLXՋcf Q`Y?L #)oD΂r̲G"ZPlS7͵NqڤM$ @Z49MW}inZn翜z?PVL 5jacQusql /Mm'+67%{(eܢ_̟y+p3R;Qbh=dJFmyil]7%?`B$`:2kv?d55T/Qr<4ӊV<¥-۰MTHj J ƪ.0$ VH Kz_זa/A9.UoV#N.֊X'mae"VӒY#G~Eeh-*i50ҸO Pa_8^̎<*VcTՁ; =:LRnVTg4sLr39ʠjJ6`N쩮 0T{Z bi%?]SwuNŧEfoK2 ߰E1vI5Bf\'o}i^{Ĝ?doQyn@bꐭY>K'[L+Qw>M2/O9eN^AjϢF. A " օՔ'S:ҷi&Բ;oX%P5.qG@W*2<2w'7;&H;~/BۣJs1ډKMf:b{yq*OԜs_0TcT[p"źhJ;qơYʪoڻxƸC!V 2mB V(yEAmϨ$R~ƋSg{;'C١7+?dD5K*9x#j#mUM9 fk:H"h3lz48wT`&< 4V; C! l!+(yP]r݇F[.:=QfmG̣`s8}kR+|r[3RS6:cqG3;'{崲j5e4 R.BFbFkPiUU?Qn_cmw4-vy#n C|N(ܬ N>Ⱥay!ZŷB댪ƹ`S:Lv,.ey0W8҃OIعq%9,%qj{E5 .ȊReb`{ =I %eϰlN%dӽ-W6DlTyڜD̯UIƏq]}f?PO]<6Co$d%G;X3͑לk-<ʹJ) ?㓊`ku3 dP_\SjLcTt>5+_`6~ifs0y\wf`.!+JU`򓍓˓2B2bMlHGp:88K *(ʗۉ ~kLӖǖx0Opj> 85VYU3ϑ1X 55Qpv#S@QpL0wuV9%!5slu _87EW=l*S{=ɞFwƴ5VT'׬m3ˇ}V*$\D,8t@B@[l sKx3Bc6 JQ]\N䯞Xpb%,!/d-HB'ZC ocH"md|$hF;LI\w)5FA̷O(140ۇnZ: |)  p3z k|ևͱ{٭H:D`~ywaVVQl}Ұ*%']*)ayr%}|9*jJ(1!]e(`/ ޱa,sI`n'fY/L& b:'-0j11]vj=%V{_<0oxZg?$0 aeLX !,kH-V+.:|/|ဧj8$C])4. 4Vt9^k8}? wQ~x` Nz"dW\Pf>떒P/.vy TOIV 8 gS!?m_EI/"G{-ĝHn#$P3}%Uq5f5inR-2/LiJa8(d (&1طEϺCbNRqb<'͎Y5՛0&SKC1={:.6NwݴvR7I֗}kEg70,3L+K:/UfD-+Z3/xeaFP$f80 ѽsBU;WTcLxDm% [9% v %)+/7沑p'7kFǗ3k>5/YKLOzmJ p&zpƪQRyHEq1Tɕi08+ HMkJ0*g%HÖ2p^)ĺ-oԙ7<+7:ّ)pMYҵ\pvJ*sJ ׮b%Ƣu|ɀJx>YОP8{\<}2g{rT1o!>96$ X<q{>Ah9[Pm(pN\叭33%X`4rC^f4bYF6n,4%%m9'5-^q)pL15*rv>pEk4w5pmT$S͡Ȣфw 0 u߸]8 M)G-g̦b؋?C=\2Z~ LL:=z~C[O)&m, Y2@ D@ .l8`p,2N"Cܐ406j#7s~7G3rtcuh|Sg/UԺf/y eRx,GbMMS9DR6TZrꖭ%lu;I̬b>0Iҏp| oa z=mqks* _Jd@Ja]-<)v9. ZE Oo5n@wV؜)q4kV[mq_Z5Bc1׆K gR &eo/ؽjE+Ml``+˥:ߜ:+pe{莖<g|Z^q Ċ&+D4b+R#\`_n]ϡOXdŘۗTr -<*7-Nw|%m0m]pŕXbvEU,PbhսtKl L6{ Z:DLK&}"&X/}"J! !_tvJE 'yNY )!…/w]u*UMׇ% d%٨X_ocpƲwx\EE` $F-rɕm:xE .(?1)jeIn<Z&}c?a7ɫ%-QF,8^P -΀?1IbpPq(Dr1Zcbzm؆h$ĞwAv~Afm`- O_M҈b,ttj@;"1ɻ K"Sqw_ӷk~yw'#]p, \51?鰙yYÂI0LXP1!J{䵔T0usQ&U-"]to= '_LFzw[fф(tzr^yqFjeݡyTI|z3VA2~qVr=)WO^]}I߂6u(]˒fnJР1P$n`[ erWaG|*tD-iW QT[@~mῼ\3T50 YZ