ghc-base-devel-4.14.3.0-150500.3.2.5<>,1td*p9|>ssJiv.I\ ܹ2 z$@"/(={ mC>Z td:ZmNʹY‹bė%O"6Q"^)͊(.¿o |E?_KaoZ _ N$[%B:,X'Kf0AVڇjћS?/{/[qg @i rŝZ,Jɒ n>NEQ3h<~+ca:w ,̪ ϰ+S>Яz>>B?d ' N 6<C}  ) = q vѐ(S8\h9h:ݿh>< @<(F<0GBSD-3-Clausehttps://www.suse.com/Development/Languages/Otherhttps://www.haskell.org/ghc/linuxx86_64/usr/bin/ghc-pkg-8.10.7 recache --no-user-package-db || :/usr/bin/ghc-pkg-8.10.7 recache --no-user-package-db || :w}wzw{VVV979495000(((222"""gWgTgU u r rIII;8: MJMGMF(%'  hhhehfURTa^_ W! W W^^^tqp$L$I$K ~{|   rrrorpKKK a ^ a+(*)&&]Z\OLNN^N[N]ħĤĤvsu III967000Ձ~}zwwOOOGGGzwx))))))jEjBjCpspppr      !S!P!O $! 111^^^]]]+q+n+nNNNZWWGGG555?<>   '''0y0v0x`]]pmo@=?zzzollurrPMPMpMmMnv vvJ4J1J3``` M J J522999UIUFUGUUUd"dd ===9h9e9h2225Q5N5P   KKK|yz OOOwewbwa"@"="? RRRSSS***^m^j^k[[[khh000777VVV***fUfRfRx`x]x]+++GDEFAF>F@<99)))KKK  C@A413BUBRBT 5 2 2856)))@=?JJJ!!!!wtt|~;;;a4a1a2  ~ efecec!!!>>>MJJc`_)J)G)I/'/$/& W T VnnnUUU000 . + ,uru *"G=,ːvss|#| | 7 4 4hegܝܚܚ*''K0jI־zu%}MJC@~ ]-A(H]O-mgQ 7 g\>( 5 + %Gf$!)W <%*fX4C.W>99M* ;;; mjk|8{ , sr d.Tl<{qjP'xzPDH6(Ax3#^IEPN.f`i~%~Ǐf9B57"(wѳA&|,>Fab]   _<%T/lY.&{jKYr +XIla|!C k8i & ]<F M*? \*ir \] <ir$&3L@ #8s, ,pL +dkS"6"6*f6)Q_ҿC($m.=^,EDE _ ]. ^L7!&Y5._P;sBse.'6ɏ\; O2B0ZYX%X%C!XG P+Je[U ~  ] vH! i '}$2_^>,wu=1'6 <dw ~7b72 ki,?} !w.{ : j0,)Y"Q'% .V͢U+^2-O g*\AB-4 5Z77 72 ki,? li7 Q|[72 ki,?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큤A큤AA큤A큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddԀdԀddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd~d~d~d~d~d~d~d~d~d~d~d~d~d~d~d~d~d~d~d~d~d~d~d~d~d~d~d~d~d~ddddwdwdwdwdwdwdwdwdwdwdwdwdwdwdwdwdwdwdwdwdwdwdwdwdwdwdwdwdwdwdwdwdwdwdwdwdwdwdwdwdwdwdwdwdwdwdwdwdwdwdwdwdwdwdwdwdwdwdwdwdwdwdwdwdwdwdwdwdwdwdwdwdwdwdddddddddddddddddddddddddddԬdԬdԬdԬddddddddddddԭddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddԭd~d~d~d~d~d~d~d~d~d~d~d~d~d~d~d~d~d~d~d~d~d~d~d~d~d~d~d~d~d~d~d~d~d~d~d~d~d~d~d~d~d~d~d~d~d~d~d~d~d~d~d~d~d~d~dԭdddddddddddddddf7375cfbb9c2a691e73573b62b49ca9dc9ed72ecd997cccc6b58ac712dbdffddb4b338dbd493127bafd5ad3817d0ba7038eaa6279be9f72e0ab931efbe6d3ec90cfdd979f3d9a85c364a4cec652f232e68f9ca27f878260dcd8e222cff2165cf62d7fa8cf7404a014ac6cb27b3c3fe47d7e89b3accc6831d766d050f3cd396997e75547bd7aad936d465dfcb3b8e3083e0019bb633130681e68a91d5d7afc9dc6d128cece96962d862e18fbcb76836fe907ed97d71b68559864d4340165bf8dbfa7a810734f885f27ecce6883de7d7f4b9c122b7d3dab380a32c6294ac56292e739937cf7e5d7cc5dde987893823da5f782c98caa1d34a04d3be772cf30ace92cbb4030acc32fcc6e232243103a1e8b7043925e7263498bdf96cd140712074d204254453bf2d23a85d40c0a760799f141774c3e87d3163d9040f3fc3fc40b78f773eb45876f6b919560188b30ed9a1d6e1b5d043186c3b5d906962da6e095b962122f6035f08196fddf64c38cc36a980b9e5d3fe5f7f05a47fe2659a76ea667324f9f89c1256bb922bc8afbaf1402a6ad238340f6ff89cb80856aec955e90c4563b50120b51b9953644622436caf5b2a203896213b83af328366ad5aa94d014981d4597f25b15f8c69fea38022ed7fbea2c7d5f33deffad7e445ee756ef28970da360f3aa36d08509f6e0bddf0ffff5b966bc01858774ce7ce9205381e6d7709d254aba3e2cb4333753e5f81f82948d6ae6e6b1c2b6c71fe6677f9b24810b2009d5e53c9ec320b7c4e780b521e15b6ca5d33df5539b9a44b191a5e9b102e1d07aead1de176c9196695a11a7ade51025e9a5e1e6c0cad486ee2d30da93c893e12d04b1594838fe02d7032a863815887198996d16a81f2b81ce54cc527ee598ad0e7cae9a5aeebfdc14629c18e691641833cf8a7ec0e32f4105223ef1816b2a82a84d2cbf99bb2aebeb61e69554033aa2926e6b0fbc0dea2da0a45811e7a6003021d936c3815e909dfbed34b61a705b1ef89b8d6e0dd99404f1f548974206799e499541c10bf638998235720038586efcef638cc37328e3d902bc37104f91d9fe6cfd45f45488fc4a06f5bdef7d37bcabe7e1d03cbca3167594579de0821fbe76442fd0ac8d9b3a8a7963b8aff0937defc8008b068d8dce24b358f95adde22f45b4ca4a885e71d8dd91ace1af2288eaa27b897b90fde123fe9482a58d7e44c87b2ae2247ec8c4ba5da186b865b574b8b77f41397949a03432f502b0eca1608b6dab6fa550b8ad58200cd221f5464424d2b2a39806b9b268b55572eb558bde58b6827b0d0e00004ff848ec900b4b014e000845dd8f10a992a03075d3c96ca60e3398934afb00300f0eb39d2b2e2a2719ce59812f3321939bfef816820026f1f1717568517ad92ca7967a2061a06d0831f5d1550eb41a2c798cc23ee8624a75b1bcc3b331a6e1bb88024e7c1b4b3517cab8f6a52daec242bc45b74dfc6b7cee7e5d38c5b00660306119022cfb6449bfca1afb8000a057071dcc033df783854cd6de5bc916e3f6d565459669e1a45fc0dea317bef628ac92b9c6191f4fb9878cbc4f127a01a8d878125b85491b97c2997013789a97764857654ab8e57aea60bfa4903e42e43d57cab10d64a3b58a1c24ef9adce5d94f1ad06619eff429cba0fe4eb79607d436cfa122fc149889a586afe35e2e90c5a6d5a445fe39a0fa5c317e7512f351bb433061672526ff1d92d105668782bce81c8c0f9e7e48a88c275559a6374c6483d40d246e9677b3f96899d8dcabcd1ff518dd86bb3d74f15891dd64338efed1bfa49490673fe2782fb184506c09889a88567be5b98acd5b47a527838da31cea3c3253caaba7ab5ed3ef34ea61e71f95303131ddabde88697d702f101bfe4836473f4e52f8e48ebef61eb0c50a24a68c54eb3435e1d3a5842f9df72225238b997c9bd411a68808d0a1fd4a336eb2784b4141784b517ac1162a5119aa362038e95ee85701e0069971a087b6489cc50d5d6bd1878cd1f283022657290e53060a88dd8dbc53d4bd9263a30aae1fffe24d87ec8b166e2f205301fa745610adc4363f6c4831361eff829fa57e7b4fe70e12a59e559d565e5df891e14c218b9c8a2f2260aa3c7844996151a5a82142aa30c6778de9e307de75f6f03f0068a21fc52f8a76816b0c871f02778fed5821d65c0a3438f3cada230bdbc6a390f8a683257fbe099a5a2c328050eb9731c27222de63a7503bff888db6dc0349a7782c96e0d8172b5d01c797e88d089f51b72f74c4d5516742d863385f3d7a7109cc0337a2f1bc68786c55789f10a48f4f2c1a9c19ab4aa98e981022c8a190e17faf315effcc4a259dc7f20e0d540c8a001574fbf68f8c162469e56a88d661c77132477904b9ec054d1e9100bfeac21972da4d9bab179a90e73088817214dbd4c0839bd1b1cfaec537120a5804c568af21357fb3e7aca0922ec19ad996e7ed966f41c103a19f1a5e78d33a136d6c139d251289976dc9ed8df529cc7b23838f38a1cf243cc2db44dc0d780a78574bef0a8c2159ba392959884080ec18709e362f0106f3d96b244221fcf223f091988d0188d9b502aefcc40cef49fa20af3171ff0b70990087665f7766cbd89667fbf0302fa35a14caea61f6c8c153fd5c896fdf19738b2c52495b15189d4aa5da81086803de24cbc5f19d9589c31bb064e8af6bd7547243e7a9fcc30e7b7516de37fe4e8863ea1013154a3d6a89828c81e4b71b68f382d59a7e5f69f7bd6413416bea63bb8eb5c1620521c71c4d71864696c84873872612fb5d0911b8197c4721b813d8c08fa15ec20c72b17fed3f6bab5c4d98e3c539cbb93b6b845fe395ea080c22951bf9ace7df65bc8aa4078464c154c4051d85782020930d6e5a3ab0cf77a4f3bf8a819bcd100e9725a3dae989432eb995985e8a6b5e3df4e4d3796cbe3e44e426703c394e75c9a793b5337fbd2c07bb64ebdd0be0c213d935b0e733f198c25ab1954757a75b32c2ec5f0f42faebc3cf3be812379867082a43cd5bb60b14604c57f7896dc5c3e65f7efd9df89781f193f815f85dbd2d321bec4f47c5b67a88a00155b5653ce875d9165aea3f2583695fbae85a8f9f091c1255bd764f2a5e37ece752bec9353f1dc4a959577ab94e2625336c787241e7f9b4daf531ba34e7810938f05f2022036dd314733225923a4177e0e57104e4fc3d713bc5b2c507bc27e31a517c39e5af9de2c31d67d32268393d697054ae6b73ab97de3d217fa30856d613921835f796ce0d52438fde7cbda9661bfba0927d0e7a67d6ae9b04ed2f7e6f96db607a139818b00ea1f23cd2b13a3bc95cb625e798994a5945c9045c9611c408ac3bab620d43d7e0938c49de8c2a4a2b5e43ac9af3dccb4f13d620eb499f3c514e8c2ddc3dacd8ab889cd885ad09d96b0c01d62fd85829b714b637d3dad2390e612df5ae62d30946616154b2ab66117fde5fb4b9bb667fc5d2d842e9d0567c8138fd6ef6623f8696d232ebde98923bc5d4bbccef056f4bf658e576fcc3eb1c7c11a819f992daf6f896909d21285d5720f56583714d40dd8b1a1e99b6dcf32f064e8dd5852115a46a4ffda2de4df49b98d5a0a4f3f45d6e918f4143ec854131d1fc65d2762ef2ae8906ce4807419ead22e962edb896d7b80a6934af4dacb5408bc59e8c4e7d7bbf887c95876740a51f4ef63e519ed3777036c749f738887a281421556a8e1ff235b0812fab41ddf2a806ef27b811b344097bd5eb2a05fcf054ee2f17074106cd0bdda25443db4bc025ede84ea096f6cfb1a9193bf121f621566a06f084803041416daf6dfcf1c91da2f61485563f377d2a9118aad6f1f592ceaddcee8123df7d02d79326f829256ebe0a828a779f789142bea6979dbfd0befaf8ef8d0587947edcc89d4a70d0be27e79efacd3e3968a561dfc695c442014325edab7f0f56e48c4ff593339736d9c448a5db3fc150ff7661d54538d2a82e2bd151829abb8f349bab2985b6a2292736312e63dad19667b68bd3c1ca45b791bac8eec17ca7162eee5412eebc57a5a6fe10ab0a10fa1af7d37a9a0898871035af1565726f026e433847be50bba48c38e2da5c8d69a6d61ac34ad4120f19687f7bf965cb8988767ced171d9a5615a7133f628117349b3084664752040aa95154e52168b832419fe5ca968395e35adc04b398202ff1ee1d28ee0a27464e5b2d8a6964803b5a17275bacee5ec62349318819069d7ef99b94b384f8c286590e6fb1fda890f3381ae4c689834e681587a65148f6e50b5991f625c6e2a3d4fa8461501241a00eedc39416e1fb87927be0014cd1412c2d0f6c4411727c416eb5d324964f29de2e0efd4a8203096372bb4df375534b93bf707231eb40261890f4a79f7587468413091e9ce35ad95a9dce087393f88fe5d01c9faca5f371296b51f3e07843376bd7bb10b113a5bad7285ebb4fe9c992d7a327d1913584560b873cf5e897eca845976a47f2c41d8bfc2295317f0d826d99fc4c2a44c0e821ead113ed3ca709d2aeb2450722679c9c6c4e7d0b8e929d022db6858850453fa101cc8a13d8b63058b989e58a2bc007ca103d8ccff4e732da4680b91693656dc28a3585e8c84c9a3d2a17e7122dd124c9f5132a3a045ba4a9ccb0a1c97dc370c581c33bdc7bb84d755b454fa2f7097b62eb9403862c54419d4cce0d35621d4ca5c66d70ed55ada8bd441983c8fa3359a0ecabe39caa0d2c01b820974cca1728e3ca89c68b99138bba0ea918cc9f1996b92f61e056ee4478ea5abefcac698e35d63ebcab8cf448714ecfdf0371a241983cb93a60b81b297b1619c24f6cea03f8a79adc53fc4be9372cbbdcbade2934bfa34ed0441b3ab1ba5b291751592606fdca312932aaefecd0529118bb93fdc5a37df6c926ddffe9d0da5be8b3c3af70c6abff72bebacaadf918e7472a4297fcb2cec4fd85dfb26a896c303e9cff70fec111f5bbb1226b75e40804cc71f661c7e2e0666985b07e57da8b84fb59ecb5a65f10fe994f049251a3673ed9f635b55556fba7cadfdc72eacdae38c26f66974b61c66d2c358ccbf4e9a029d1b042f56c024aa1782061adc3e31424fc25bcf3a707771ad6a665f68f8b435508ee793664696de50720115869081c710eceba42679d640b0cafe176a936d2600c33767063a40d95118562f01185c72e9358727e617f981e5a897b62de873a129fd3416ec1d462c28e31b38e3fcadced4c801effbc9cc604ce83ff25007a937333fc421661bdd025859c981c77fb767786474a31f41c308af833846caa4bed9bbf513ee78eed33e3e50507c75e7d33553b546616e110a6cb609f2d6aa038046a93830fa31e5548b5102d03d54db8404115e5ec643218bea50a0b3cdb273d5c937aef36031a70f37281f07d89106b854e8d6473f33de1a067c854fc925611387367777970a8b1ee542bb3ac46f9426ef29a42f664296589f0e4c12a31d8c70d9a57c296039a943a16459b5b7db6924d907e5f4a193354a1476a568b865cec344ec240aaf11089fbdf5a9f8391afdc71313c52ab9e1e2431fe3cefd9ceb8bbe51f61fdab1b44230990b1da61202e043fe809ae2f009ed4dcff32dae1d6675b722204e95a79983c887267e6033efe76ffe8af6f12504de58f40d2bc6e524a16b091e950abc3072a2707bced89df682439642babce66797ddbbae96f4b99fa41b0f7b1b4e8d38fe42f0f0765c73c1d5b1146d4d1eb3ca931f1a9cf03d5e0c32bcd8bda1efbdd1c4fff230290beb093019c07d85fb305bb18a282ed4b2d155627f416a8ad84866f50e84b8e8ca953fe043b71e13a5ce7befdefe645a01bdccc84f752b7ce518d2d513afe0ceaa31b75e2b7b2f9b5bee13aa24efb72e5bdc78e3c5d9c230bd72770da055ac007149a354fdaf39db292fcaf88e0a40d96bbc3408a92399437110bb5ebd10a557396d13d2bbc66510282aef0a46e9fbd17d2c29447527dce2bb42ee4859fd4b2aaa6a125b661629888213852d3ddbe1abafb584cc16c88b53c8a1bef56b2b86179e6efc52644e44fca683d1a80455eb62cbf1f931da77b4d382679f1f338dbe0802d87aa27431e8ef882a05e6fafc9c8622e88214e4eb96065ee89812cb02ddbe55a564b73791d5f091ec2af9ee9e1ee783aaf0f4e8e2fc7d6c4b35d97aa86159f2554a7ab80db82a42689930c420359d78ceaa651a2c29b1ddd7492c641c254a2719269157fb2288de2076f8b1fc293c6de89acea11c6e35d6b455cae1f44ce75dfad952afab8d937c5ca058a6786994c7bc1c4e009c84f5b40ad9b76d5d3fb63f325869cf2d727685abdeb2c0e311e0d53ba19c44e622ad56212317b0500bd7245ce2b152ae21252ae82ec378ad735a4bcfef029bd1b631be81a0028e87ad4fc3554d7e3db476674e01aef7f0c2c0acc3e038e1ca511345163f09d7c694ce374940516d62f574139bdf8e59926ecb4e0dc999641709ac315f65421745e4012f9ebb1b00648718a4b0ab38f9a6ed455ebde56db81cee54b39864a3610ec7b5f4910010f3351b8dc734b32406f1e899149fc126621802a40f2d7a78df0314aae14db5f62a3793d6657fbd248bcc5c35822da0f45acd0aa6f7dcc57617ec69d8d964e7994062630c50cc47fc5c529d37bcac1901db4a0b2dde3893180531bb7be45644fd108d3517cdc3fb509e06601563c61715d2ad77454b943eddad5eb3a3db94d3295f8a080d82d67ace6e7508a0dd9e58e83ea7b6c257387ac7b489db85ab61ddcb8c9b09dc10100c99520069836426f9a78aa35bc98ae0ba5cc28c1aeb9fa5bffa144ab4551bb8922c1758e95339273bf4c52b53203c71aa7ac8bb0d50202624448bb9b06e1406744ac91eac1609fa595a940918d17faf0eac2b84c0d5cc92b6f44837ac8022e324c517dce5d7427bb031e1c4f16ce9714546c6ae0bf9194d505ccb3cc65fb306296200fba498ade09866d820816c385c48f9846467c704e5cfec2bf09a245260a9d246c5ef3cd059ded5e9ef1c98786dba4c1c30465470af2e7f207f3814afae24f0356dc7a0ecbc9e7943327ffc5418fce1d488233f1aa63c18d50e0a2a5f8a404c5ca546d685f4e79fa61367fd52ea1755b3114d2db5033f9f9c60a7dfaabebbaa791d9929f545bad06b5fdb3aadfbf67f7fc12ba495d4b64ae2282485e25c8bad599162f0de32c3628c1ed150219627a2955b12dac5288e02552d29f309f4d9af500a417d4fbd69481726ddc643d582676498e8aa1b2a6c0d6ce528974bc283df4900b38629bd0e4208febb8474e8f8223d25a4dd060034afe5b964359ac62a681114add6be79072b7412a32ec415e7cb02231a807a4aa4319e3d02a12cf35dd557bef5b04edd005de14f213af26d281431dd1a8ec1f626b6b37f4a3a56afb93fa51c44b2dbecb4a6277f506c6b310dfca388e991f498dc1eefa817628617d6aff23e79015d2d7225d5c9dc6e495386ee867b2814f3c9d58f44e5824a89bc3f0febfbbacaead256743976fa66636673f1b94ce801e05b2d2ff51253acf155abe48e9dae5f0fdb6148f1f3f240c4ca7c514b62e9a850bad0a066dc3b2dc908e63800f5fdcd94c5794c66d289a870144ad2769a3f12b515484da9d9f73bead37f9210ea5e850cddbe16d094c75681cbb07284d14e765ca8fbe3639e6bbaedb8dabf9a7292a87fde7c789a6a7ced57f2ed2a315e7b9b6e58cb86a60a19200ad27249d487c3017b25f2251bc502181b102dd8688df4a18664ac23159ed0de54a0d2f501a21b5b037a8e2acc971087361998c62bbc2a75002ebd1e925f8a97405197bb936353bfd20a4b417fdb5e8ec637a892a2ec222144ce22d2e0053112d33390965ee2a4eef5b0f317ca2885cd1e3baa41abd802fb711c02ebe8c5b3098a4e885eebe20b6212550a8bf88ec5dcda2f91116f841b0b9cc57545d1257b56856302dbb1f6672a17b5d3e6cb9fd9059f8e90048a7af0ae5442a9669d4a9594f91db5c0b6df2f3c38f056dcea0141d646c28b50ec6727b82a1e9771238ff9145d75d77fc7a453f6e9167231f91cc012a5fe7002e24adb51c6d8192881e37b91750e4348d32a0c3f8f8b59dfba4c7fd2a73b750c65dbc593cc98e555741dadcb3aad04dfe322dfd0d850748eddea933211630584571a8e0ddd7748b7066474b074d47f3123e1ae66499538229779d5cbdca9c8191902a6ede0af4c422f144101a5b15dcbb2c978507b0900dc2f2fdf08cfb1b8e0e86219ff4a865c4b0a5c3b0cca0788f797e7b9d5d4804847ab49ece2a82afdc11f514a1e29f915c697ebeba635c64d1183391a33fae1390bb84d8bb5f61b73e856ca923dc2a6d598119c8b4d50daa3db4fa01bc057f3e54fae2e58f814fc3f82b119dd0f15c6eae011116d4a8904414e2b6a4913c3638003b2470adc8a20b3b640ac064e61a3eba012e9b133fef27d2937d60faab656964ebb58f0c765fe35704dd4a28149ba227e00f0a41727bc70916ed33f67ac6740874820f17a9aa597a186bea054e859649c5f50052053c89ca2a466af6f03d548e9d45faaa5034d7b05bdebfdaf313888149356f85847b1008191e1c4db194cea11993fb60cd427eb173d58dc6d2d141eb19db137dff7cd3d9ea0b70502b7fd4a740230decaef01a1f55ba74e418f844a9b2fea763338f8001843b5560f2e9e6e8d700a8f7f59533f63062adfa8881646465b8e1d6fb4f82a0b71addefafdfafee45d0e4ef86188dd7adec91b5408ba3ebc8b797337c7ab9b5e94be327dfc8191daec54fa44a4a50702fadba50f54455c4b8de44fcf2c6da5fd0e590cc12f507c50d92349645b23321042ceaa91ce57288da2134fa400e2fe3bf432a4264ced13e2ea1c0ac1f3cbd1b1d01d0399c1c05eae4a142d9a3a7219c11674fc98d7e8056a8510f7acc54bf6d90cce87a30ce2b57984b07b68a1392d0e94194815283a99a1c51cfaf7955ea3ca3306222f6614b65a546222ac1c7e60026b2ddcf99cab4ea67e4a1e7c702d95de6508e9e8e798c61069c9b9c878b2e519d653128d1a157fa004a0dc4410fb6523d00fca4cd32bea85a97f4005b3a9d91925254f8782a1d91dfabf0ff5d930d9d31c1b60a7809306d53949ca35236671eb0d496c5d67f8d1b7500ec27f9ad7b96b2f72d3ded8418f44513cc8d1dda46539ef7fb9d9d7a98c4ad432751a5783af38ce08d4c969cf334e1d3859bb98880082c0f4f2b98727c93f38621fe05898d5e4c3eb76631556d195f3c34e2526d48142062b631fa9ad696698c9b878bda0674ba8d152611c7ccf62934c3221f4e840f1c6a338f19e68b14d0508075ba8918cf811dc3c8267b8101120c66387c7267b348d40d5c494b4f516dbc9a2799b2f64d4975267854fc3b530db1166e1cde1f80bd582c8d9160f0a4597344552ec39aa667473612ff1ded7e86c161065def4a48b22547dca33bbd561b81aa6bc9d84946dc8459fd271930e16521bb4a1639041fc7e601746b55e5db6995f51c7fa351805e43e31dfcea9388b79c422ff4d97faf7462dd46ddd8920c479f817b3f3d48a65f4b91d2ab7078657b27f938f9b99894c68154eb723640214e6912cf5ac7cde77b3dd40530241607b960dcda192148a882e8ca9a720d073d253d4d3b08d7cb53ba0dc87b3cab9fbbe7f13c3970769500a3f8678dc7004125775a5932750d643c2c4126528437cbd2076f65eb19e643f0c6d6b6447cd09bcab35b9882e4461b25644ac5606851e0873a8c77cd34b98ff5983179da9173657920ada3ae951bb083ba9c24704fb96d706640e7cc5accd28227923507cf8fcddc763a5e137a99c2095a15c1774244cce216cffa50311e1a9e65361bb5d520a14561d46099ee80a4076ed86d96c3ad97456bf1c02c37120df0f9a192a5678c4a80f0b332ddff453a73cf492c987dd3b109fe63722cf6112db5d5e474a644a52001766a49b652efefe0613e731a5dde15c8ffcd4396aac95fec9c02ecb93c63de43b92165f8566269b06906d66743db76255f21095dd75b24d779daf50663e9d744ea689912c90b582e3585c016962719f9db8590fc22d1942ba904e395cfb5b737ad00d4e6e5d7205e4027a1ef0170b16fafe86228105d30b5cd1abcb26b438a2c8ffd4a882973649c04b72db713b61bd98c8a0a1ad88eed77bd1d27fbdabdca1aca4794b60209c7bc4b1c53fdb96dbf3da3ee30a7e0f63cecd69b48bf6302686e2f7f9fd5f64178289741c66f4856cbb391378e6799a40e5b81b2ba893f568fb468e6608625e417697386fc771d6a602ee21fdc9a61281e280a1040e4b24171e8fc1b8d320f0665a14c923d997b7bbd1a8468c1022116baa416a38814274210605fc211534891703ea7350256c0759cb50ad6cb3620f32dfb194e82b4dbe294afe717fe9957c39ad61020143da8aacb2fcadff0d7429fc490ebdd82045938968e703b96ff6a4ff969bc51d74e040e016e5d5a0857ede3f788170fb3676c4a895b1bd64d9701b9687e53aec54046bea9ac38395f4db78dee9c1a659bc029409b54bbf2c17fc02e26d33bf720bd7df0a48003a2aa9cbe31734365792d1741c76a73d1fd7c9ad2a3e71cf1199d94b91c451f58760d86d277a7f7b4f00ea7e4e4139435ea64876717a940e4c6d77d251f49ff352c526383fea7ba85f6beee5fb9563b9eaab4bf43f2117484c103e8d3343c082a9e18692cdc7696532d25e1f74ab0f878f9e72d734de278c7dfef12221a8fe2432719de4707edf858acc4755d08fa886256c792833ca0a986f277b81656e5d0129fc5be2e1648c1e96ca9236a9d6bf0085447e48e744fb42382dc7504d1c2ef803ae61a9c44200bba9043d8f04e14d3df000f0ef7576ab5b4dd524ce2f104bd98e53fa59f9d9baa42d3a3dda72063c2141dd437990a263d8650c310dd76d9a21d897db1002d68ecd57d86916c183a6fdbe573e9b381c02d1be9b29c52e9cdc5c699a1b19a7129abcbd5bf1d2be5a9de89d2b7f21a7d1af27af90ae6bd55f2e05d84d0560343df54fa7d6799688a61f178011129a2533a11951a3e958b79d7063ea942cedbd313dfd6bbde5665d1b6563ff66568dfd62c516d61c5f31646632b109fde15ab81a8b20e851d621e1601fa9ceeefd7d294513d5b0614072266c2342404ee97e9a4f5c6697eb09df137e01bd561eb1578f3774601e71f4d3a3d7f0524ca3b9e8046d6abab02123a5f911e8380b5abdaafbe2bf38f0f38a9a2ecd45d8e13b4ed787a13b3c2070a24259cc5c4a4b5ac10c0fb0038048fd78291de2c9ebd1e87c32dd065de933e0192b79ff0d7796c5d09374678982e37cc68ab2447f60fd5aa9108fa5e309f9379f9567e19b88b2cccd3431cad032bef3ca7a43660a2a040c6f2c855678f4f71213f876e2db66177a92c455f001440699939d8b01ed6b0392a95c2b7f88b2e8b0bb33d0c8528664ae7f48378285abebcbf41f29a22ada30b13ae8416feada6ff5ef5596a68c388f457a708fbe4cd4960763b71e14f621e35ef52684f23197682232b17057a3e80497935d628eeeec488625d0be7a474d6d7c5608ca54236a10098bc00fff379c189d4f84cc6bbbc45ccd480bc8d578740a727fbab7998ffd284f1ccb564e3e4a87f1f0784d537c29a423d937fa440040e0b0b67360bee87874c7b2f9d42efa3b5b53a729c50f69e5e1b5799f3a468720793b1249bfe79902af6c9d2fdc7960cfbcffaff13b74a5b77b733fd1c39b4300da3f5724776d0830f6f192944107110957fea94d6a52ae4bb28053aea4c4c44506c205337a18f1b2bc62268b47643e0f05449b9a22526602df987d5bdacfb5b96cc2e8ff0baf4c329d13e1013f987c8d73412300def0c3042f1d008852f9ddb1df3da89c1b2f9dade94a0d41c3dabcf12484e79f4fc690212dd7c747cc950cc5d24f2419a0bd8392952169c545e3d400979a4183e5083b888dfdbc3a8596416c27112b1ed8f560ae7a68be48d9baa84ab000711628f776440e81052be44d4d0d61a55014d4849d900ff082048d1576ae075aac8338050c73d1d725d6e099945f29bdccb5ae73a8b8fc9fb946dc79a78a827b3171b7d1a4951ad94acc2cd036bc478290d67cf1be7a826175863351abfc5c561a3d9ed38a5ef52aa521176859c19281df9693e96e8eb1d6c1464d7332624e6d87c3d3f89705f0ff78211e04a035e9aa51f3ecf8951e5ecaf35bba8fd577eb2b3555460bf30b2ec7e3483268a9be9895ff4c4efa8e5849c0c500c2a6df534cc5ae34834346f986dfdf6f19ac2ba8ad50f2b7199ccc6e8f3ade75346c2dff5e3e663a1b87362adf32f907f2f4e03d296f71cabff4700be4a15b16dabf877db5b15bc5d232c0c3b0b4e80200c69a78aa872d60ef3bdb1d71918b763c6f7ca9ae6252a28dd3ba93fa4552ad1ecc89b0edce4f585bc390d91c8a1bb58359bde5ee654f9b490ba12cd57e139ecba1eaf16cef4cd7a0f2ca170007a8b70b9ba5d3beeff360c54a03dae1b4edd385a8d71ad04afb57bed6b84b7da48eed60ffc2881dd44a3576b1ee689e372f566499942f0406471f81bbbcca988003b408e084f6c508baff4aefffd84e88418da055d2307d6038c556ab269b19f94a63dd8cd2bcacd8b4adc899d3677469a7712a854f512ad5f66e249b58b773238fb4bc20f198ac3e8cf916d393b4c76f2a35a4196078d4fa94da6437fd5b4cc8b2771d518632c9adde2047a9aa8816b35c41e6a57df4b8f7f51d5bcc647008b2466165343aaf483ccae9451e074c8d9b1d1dacd55ceb3d449f5edebfc35bd120efc5c8f6ac2b274122ddb562ab61465b4577554d91ee419d1b8ef3394408fa2347c69c32f2d4dc9a28194767e52213104b10791390d0074067b1f5dda6b9d655e832f16cd0c416b198dc2995637f18ea48701374dbed1f777410a430b9527112ae28c7f35d623ad4f106baacfbc948af18c49072d98f2872b93415d69c9ce2a3732f9a2d3126351637a06fed053684b64a437ab997d820faacf9f321b2535b5e49910b09c271c414f8847bf148d37e956a9790b6f4e44717a395ccdd1462a78000fdfd677ada27e5785032b98a844ee86d36e635e4960c09ba6a76c46b2f144b59b3a08908d96029b15e66a19c5c58597033dddd8eb2bc75dd90856c78423059b6500f73cb367c687f9820b824838c09b7cdbae240484013224c03fe769b82a3b7266c685810dc9d47712e9fe90b7defe776f0d7acf630aa7769566cb988bfcdabbea0ca090daaeb54c9c1e0ed87368d93540a943e88cc31fd77dd1f27a475fe856b210f89ad6f0762a9d1f76153446da2c5d76946485d6763985d2fdfbbbdb06a7bbb245d53bb57fcfd870f46f71d67f7f3a67478394e429e3cda5f73cb1d175fd1dcd468ea48c4dc166b7fa92003528819bfc4cc2dc82d7356ebc90f0f15f09e295aa6084031840a7d5de0030b1305951f4bb20f5b1e23211ab9f96e496a80a3aea849228d3a55a3d540f984af85e8bafdc9f9c9172fa2aed9a6fb0fc48acc5ffbef255a3aae34e5a68ff83f8f1118e1d732a9ab4c9728e575db467728ebfe5ae1f6de918f9e07eed183920e37a3ca07b73927111e6727754b2388a1d3a1da01c1933bd463bb19623487254de2ecc3220ef2388e66a47111c438bf81153d6f8cbebfc6c335cb233fac6744d34f59d3213bf6c36c376c80cd92b5ed9de81c32252dd503f58fd59385b9295f98751a594099af94bec08cb3651968e8a6ba3f3f3707532430cad61efdc64cf64e51148d3ba008502c791bc9665be9181b3622ae6096b2a7880c24db85d3f42332b2ce4ad2e0fc97fe6fe974cb293f4da7252820445b7cd64bf79d4ce09f1b7a1910badcbe36f4db2d2b60ea5a699f153972feb091024d994fc6ecd9ba0cc19f7f623791b752c3346921191fd5eb0c6f672135c042fba0f758010cad57e05a0a7bd14306f49081bf9bd3c86bf553303060f428cc963517b6d63510fa8d26cabe4f53e2aea70a5a06d3acaec77bac187937536fd8c30c0ce21a4d1768fef4285336d58ded79b20c44c8b1707e397ccebcf16a3b1197bf9dd3fd2900ea0c6c3ef5be1f2a7ee9be4b4724f759952b26f7de9468b249270b901bf3b47ef104861366515385e5a72b40ee0539fabda31e8b175190e0ac517a38f1a4054bb011589635421014e3f6499f9a8ad3f6f2acf2aa64cfd6f860b59d97e54c7bfa9650d917aac729f7b3a4ea1d70f8324b6cffb0424984f718e0cca8a1f55eaf079f075f2902f66f186c72cba2837b8325cc6ca4f524a167f7bf3af324b976e53016191d147dd37f7c4760b1c9bb07fd844317f4b8ee4dd2365f798daca2044f316fe82509f1a1850c67f7a08ba18bb2d6221409f7f9968f6f5696e32eab9c0ba07fda95eed44e54889bb22d74b13ee3091a86e3893f44edaa2f8d91a6293af612aab8970788d744c29f9ce9eaaed3aac62afa0f412ce07bb82a1214acd83ee074aa7d7572166320e43a8b3abf9aa6ebc5d6041d38310d95027342f789fc0c100cafab76de20a68386ce3f4cff27346e4127470293111a2309762547e3d83ff0693cca2b324abbcff357b335cf66aa41600b69b6bdcf6e6f6b63d0f7cf9e2cb6bf8635d14ab799ccb22a1c03c637c03ffe7b68889ce9609c582a8dbe2abcd58a1d241dd60b06e28c821eba7bb0ea5bc7bb241217c6eb311701a0eaaaaa83d5dff88f87eb9c2c8049179c04dfc73b687307ee05cd2cc15d0289c73839ad4eade5033c6ee31620aae807f900c857e67250966c562980e319abf461da3d3d4bd2aab566532292cb03a93d5efa2748a064f104642e82959ceb9149c5e9bf2c36b845fc97168c13cd03eba307226cc485629cfce2666d52847715281299eaa8ce25f6a9a5db10bc7dfa26163415b9aeea6165129df192a070e13d3eb9703d647ad2b5c987316fbdbcd79ccd130e0576c029566f3d41c862cd02231d794a7849cd08689bc0bbc6deee25bbe71a6fd5679607812b6be3e0535c396ff9974ddc7570a782fe4ad4d7b2049254b57d469fca6dc63028e2c3b3e20f8acc8baa670665765a317b8a18869188e7cfdb786037adf3a364486966a300c70742c1c4c0b09025c0e1103c3daeb9d81697fb0c252edafd141274e4de9ba4ff910d84e31f9b8196ba3acf40cb5b490653b263e4bfc5702c13deefc5b7699117f637e2f73ebcf40a98629d30f8446eab736f501099cf11baa86a41d6b5bc6d5babd747221eb9ca2c163800c075e0c89a9adc91012f4c3539803ed36a62ea466d02eb1fccb04170f284f53b4e5eb3729741aa9144f0bb63793e046c1386b81d449db142bc0be8cc6a4a5b56d12b6eedb29edf03d5f3a500d737e4aa1ee56036632401a0a117000be28a2c1041c77fc783ce01f43880a62daf44dffdf6805b41c9c9b63db235c84bff83d42fbe4380c04c9d065ee7c1730c6c911cf8e88d2e8403d8dd11203a87c6b65d27aa97e323b2880aa65c81820196c24ce87dd9064d83a7c3a7b50e9c11799da9b783fedabce4ea31082d3af92ba2e21a4d2a6f17fa416ce5533c65cdec3f81a8bc9c59c58cbc19d2b53fe12763bdb455451f48d0d205abac1de9adaef9df16188685129babc6ea72f1708896993ed922e6139d07c1a27fc6e5beb71e4c4f033dd43987f6b864b6fb02b9497b2d635d5d544220befaf44a5388e8479b56982d07ea5f3ba4eae11a2bdc95c83f1fbfe4990da7b7c42552bc6f3138388245f77029db9545a2bb00c9f0322fd5fd0307ac87f60b2006743213fa182c07c57026e956a0009af17e4f545ec7716dec8414050f34c35c8fb95edf19db85905b12dd868c0671d3783ac21c59bb5a1d3cfa2242de01e8ecf46210380b8255599bba5e12cae6f686ffe7cd7abe2274fde041b505639368a423da28c4bfd6265307a65a57151d7cb56958d43a78ec8c5d181e665c15a3d5efa12955b6f38dc4315695b705363cc71d872eaf565a4b672cef84947f3babe1a0ab8d7e9b3d7735e7976b1a86b1ad0159df95077c97553813d375a9d3bd2eedf1ea5958530be4fee75d205229034d671e01e8496c68d35e985367002bf70eb589c4f8261983e8c4bde4c3e48d3594852a8d2c5cb77b9f091a705c82ce6294faaa202401539fa16cf48d3a600bfa5c7988bb398633eb65ac31553cbcb27c107d91d54d92b5c51abdb71a9235e6cadfcdbf2a7dcc2dab77778890989a3bc08ff198eb80582aa16d8227ee51e329cc8b0fdd71d8b6418f62f8ad8259a30a69a5131f0653ec1ae52b2b0660a50774942c7cdc168e4fdeb2e3c38fdbc9fe809d43c26bd1e743e4115cc9dc141bb174e092e9a71b9a86523f34ad9a9b4c479fa446cb6dd6842bc9e2286566784053d35cede68aa73c569c5a61961cd7d0370da4d06ab96ef0024c7b3f911b17a9c57b3fde36d9e3128ec44e469d0ff540d1eef5b7aaca3b880243e7152eb2d3ace4b4e83decac0a8733eb64be23f870d290c0af42c055433124d5774cb8f2aadf84142c7760721684bdf19950a5ccb245f96a5672f46c0392f12349d557db120d41a0e6d4e2952c51e5b55d4aa7e55b8d063e66f9669fba67a815b5ab4913fde84d44a959bc752aa92e7807b66423d18e9f5e41c371bdb70f51426c909e11ec36d8933698a306bff8a290e9d9eebb838626c3dab1ffc56f9fb0ba7b5be49ebc5f3e2d6c2e85295d522ec9f78fe7fed912ecf8abb522e85e794f37a1727e1fedebb0e34f6a15e42be6215185c1a93f9534593b82ec890d255168b5eef9a298b0a863fdfc9388ccd3f26f64c03f97a4acbd354acc7cd5a2d7261a3f4e6a31edbd2e2e9ded143d629d884de9cb5a74903a2c01130464ee2319b21db5c33f61b04372639d3c09e861660ca664c7d82614849d91e412782d073903fe1e6461412d50416bc10b6587d73793f513d4379b63baef4c1378e5bb82db45185b2a612f63febbcf282758dbe2562868a6ce198776c0f16afc2cf2cbc982cdef11ca26d13f34cf2df29a16ac2c9a68b0df6e1aaad75619ec7252c036047aaef3668178ea30f95de94386c1e355aeb94d96708559740be7352dfbb5ece1e496127101102c1d68c8e3c6a0d6cc54052cfca7cf9127d00a2c6643bf55108ea90cd21d128f3d01c7e2bc4514f3bcdc445beb56ef949abb51a5b3fc31a7a1ec889870cc20b116749a6034bee1d1cf9fbbebbc19f6e520389e1b967c7a74d19f4996f7c0e6de88e3b9a1ed41eb4fdc495458495ccaede0953090e18e44381093eb984c022469ead2b286e4455c294ea3d66afaddbbbe51b42e8c01cc7f5ae01992c5248de579af02d366248c37bff5d358b4ae83248f13b43df1600d549b5a1ff41ef40c4acb151516e02fca5b2bab3cac6bc21201b8e688a567ab2168a2158edda942d68e4b823f3df025a483330425ebfaa881484982c717533180d56263d7ef112bd7eaba785e23f02e47a611319f476cf64999ffc98bbb47a03094910145a4c6e6040eb36cc78d566e8ac106a505b6f548bd161b649fa2988327e41081d45148da0e9e2d7942c627529371576549c3bd7a851357779ef39796cc4b889c9b7750aa375b2b9f26e02093b3cc9da4c23cec3d688665606695eb6ebdffc5f8984d6dd8ddbf8301f4a956aa7ca692d349482b209515ab63d48e55c5a680f6d28923af6151829b66e388e9553323f677ad5111334a3a38d2bb9a0504d97034e4a9cca481e7620ca9213a03d2ed4d2481f1fdb3d08d5d6c27e489e2023e92f1260abed22ee2028c05f278f4e91e655c08330e4352a455bc87b651707ea971ac36b39f76405e6a194f28d48d8751bb84a42366884d8376dc3e3fa84fbe474ec128fdd4e0e7eb81d0cbd8663db343b1562d7e89931ceb2b4dfc7a81dddf1b89c636499499bafa839d20a9f40982bdc716ce58f8052edd496f1d5034677158bebe17782eb055a48956cffc7e3dbad81175c8f1a61a18968b1d7c211d23f91a7dfe29bc7de279aa140ad654ac381b0477399ede99e49a79d0716380132a51a52b4bb0064ea7351f7f7527e513e5b5b7f41f36cb1d1458d6d826a6ee4a23fd0c8a87ccd34b6e348be141ab49ae631bba8aef7b8ba9b74d2aeebb366cc43519186de07f154751cb622c7aae42f213d155b63e7cc818e758430ceecf80750ffd56b2bb5e654628f334381342df85f9ef477c2d44e874775146544b066084c52d1d9e89b29ef3339209756e4f19b91c8de70340b0d7597773d72408c89e53fb53962f1d0bb04e1d792871aaeeb30445b01cca322399568b7f6fc38401a2d8e41dc97ba16c8567e9fca0c318b2c18da4e7b3832695a95ec1c87e1808f28e943dc1cf5ce8d919a3c28a9b24c90a137c42672e882c6bd795f63b7e33ea0c10d8dfb535fbbd235c4b227652d4e0e4e76a885dd708dda69c85a10720b175822fa627edf84b806aab823ea5d17e755b5f6539ad94239fdb904f170da5a4ca8c348a3f44953f8c7e0dadd3782b4e5b88df399accfe8cc6a5cc3df6f84663376383c2c178ff46530f89e19d3a5c31889a48de2e0ae44c88d315152cbbb2d8bbadd291d5e7803a90c81ea309169d24dfe009f51f2379fd0b8f968921a44a5da5ffae1ee3c2e4e1e72075a0c3108b398b08290a34587e6450fc46a523622148f189edd229f220d48c9015d194a116016293ded2d035ef5ed7295eda10ad467ae8612687c2606938b021b0b1a36963846cc51cca230989349c8a318a23fc66592821876c44e4b8c48d8543b0a9ea3d448032ceee97f649714c6fa2ab99192b31ee9ae35b0d0671b51e6f6497516ec2bacf8dc6b1814e6741d3b6d1426ea573a2c1cb448ae52a50db06da1debd151624bdbc0b65dcbb9411ac9ae87a60c315b09e87130a127bd8eab0e8fa4e70dd3bcc15a54c4b9b3cab060625b02a87dc854b0bc61746db7635ae43d45e7b5c094fe3b37181a29aee75196dcf45b9a0adf5ed1a4e4078987d3dfd5b268dad6638f0c6e77fce4c67a5a560e0d96efe16a116fe0d98a4dfee9869ee9228ea7b455714f11683e992c587c1e902512aa397afdde62d24157351c20208801167f60d50ba95c91bb8e67dbaa75097571b42f78a5b977c70729fc8be40928183b3f9f55e9a12ff872d6f06773835894db9246bafbfd405c8fa73e09ec2ed1004c93dbba7ed9761d630c4f001f47f34d003ec41dbea3996eea447b2763ba0853319532437994fee8841688826b9db27f916f187f905ecd9591d798c14991e19c16680b91e6140fed4a464cff1ed7d7a2dc091c4f90bef5db9866c076898cffcab20364845cf12309f26da6466510ef10d1c2586fd8461e8f20d6e65b0e7a83a8f4bd4293e2c006c4706aa04fc8cea8e8ab2721f1ff2ee42d76bfe612fce1abdfe5f073c7b57c64ff4df8e7e99ba9577442041b38c344a06f3343e4bbb0f76ad84cb937235639bbf3dbbaa9291412d4e5e3451b3973c56c2073dc2820f257ac2c0369585e17e3ffb0992e75fa1aa95d860c86e0499f8089e812305a6e8cde92fef033fcd0fe1ece18619cea9a1a46847ab7a1f594ae6c815e1f1157e48e12fb3861a8703024c7fa125f0cfb205faee741118e0b5f4780b2eef7272b3d4c5a78f9cf99ba6e786f77b54f6de0cc588753e31d9f8e2ce9ff414ad89cb24ce76dd764b7cf7ceb3c6b32d283064d0eac0918cd931d445d2df68e4278fba9660e0be5e28e48bebcda60c1dc30827190d7d9fde1d9d8162b2fa117401515763f00bac1f41f0161f10d829e733c595d8dc8b74a51114c9186b03d05c69d79e60c7dc7feb3681a04f704f38cf823ee6cc72088f711dd3c697f8b819f10b0fbc87a4bd70cf433d90de72c55e9c107dafc5255e4307dbea7d3b56c72914893810abcf718c139f61643fef071eaa1686e51ff05eb3d4830342f21f71e4d9fda41c7ec6b84126c1f7a3b3fff0f87989983f7683effd45f23a607c818060cdaa5f493ac370b830833854cdfa41ecf38586ea8ebaf24ee18f22a9b68fad82e6187f21f8546ec6fcd1fed820f5e549cdbd4fa9afea2a99293c23add900e50217622e1a524d5ab0978b4b860e8962709fcd1ea00e48303433fae347bf2ff7347bbca84b173a93ccbe7751ae6b6ffcbc970547d4191d2fe5fb1a40a0fe62cb241cdbadc1eb611470244f428f2769bf81527da89fa9af7caff6c19dcb650e14c4e6d15cc27215eabaf264d5d765af2727bca9c6b6d7856bcbc4bc9e286b58d9f6ac878722d6ff1fa4e501d4272b8e48592f82a0dda4d857a3a1acc5d2b41a833a5fa3b2acd89fa47514b5bd8e826f957db066b428cd35a9661086543c7bbeaa17e9c65b33fe2a8b3adf5ac44709d560e1d11af764f4586f8a8fe0815b9bad7aa712f0ecb5a248037410a249b6572f350ff033db24bbaed37ffce377947ce19518ee738051ea6a5a2c185a070ec0fbad3a9f4d6c2ca4ea4c2aa01c3b52b294dbb9f6a0aedc73a465fa17b61fe4af53992faf9d41982fe088b1c5b8cec66aaf32795ff94ab9bdcfc1afeb7763fe40a9b8c166e14c8bab789005f20011a66b29c0a2fbeb7c372ce9bc3ef21ec89a2504b9518e320efea0c2cd3a1f63cd6cf86b1ce77ae4d08d7c19a2a203bf69dc575e2d50ef27a532e7db58f020f4cb46b81f51b1f25841b8991e4b1a777d21fcd351b7b56bd45393ad460f25ae53cc58e228589bb54834c3c4db31e5e0b0420ee2bc2f6c80ff517874bdc42c286ce142ed967cf0430249917573671bfba09e4f6aba277b9c2a4c16eda842766d46b40f383f509ce138580eba8004148e3c8b423531b81296e076b0ebcc22c63815783f9e938db53c214240a7be861a38b9fb4db500d1e44e555404d49bb30acb1791193d3df0757ef3140ac73ae82d59b5b8e4f4ab310ec5f1f226d1e6dac2dd3ff17961cb223c256c11b7f7ed3f5f8f7ebd57f8d6bf4b87abbd38b0bde92eb538d4c6528ef139aaabe92c3381addeea382bd105ada52c3efed4993d1d66c61620d2a6d56e60c286ee1f9bd81fc1162d5e91570f4c4b90969f892395595c3a4708c703cc02ca18c47ff8ce6e7c5824ff2c9b98ac38dbf82c911ba5ffcfe70f25466b1e3083403963ce8288be3ea45297a3a40f59591961c766d54d46d5dc3c89b040957d308e2b784798d9f1073bb76c729b2e3b38b211230f90bf61afe859fdadb7bdcd700c325da063651cc3a9561d6b13644add6007ab8bebd0875dc8945bd9a24bc1191c090d93860930d75f725d4b319e6870367dc021e845455aae825fe607f7e2a4ca060116fc2a3a58bfb196a04e4d0f4dd9aa90afd6cb01442cdbf0625320a37e312fe999dc3f26ba15f9fa7dca4960135c79f336c7816f1800eb3fb9bcdd44431b41c36ec8a6b43c9dad492d2cd3fa7375ad395e6d44187988276e9494808f8dd1a71dee2b1bed5cf1bdeaeafda7e2fbb9a7db104c0a9480a5d4d738f74c103b94985febd8a796d121664583cc1ce62a59a7820955130d4977cceea4725f6d47e1454c44a84b511d2ebbdf99283b38101804de39bb46124fa92dfd16328b24ab51a906d7bed71e11a2b5c359d28f7e22ed0f9d1159fa1021be273526ed83ef5bf5734c5599e0d4a5f535e31c3b9a4aecc65fdb9b868edf084754ee03b69e3054b2e6bb6334b9215b78d68537b4b62ada5e4cdce8e7c563067cb7f7bdc488d07f33b9f3cc0f37198216ccb386750d0b617e730d030b80b83631b0e98838a185fb16b236c2b14118989b796fd21ab1f9c8ad72c1581e7c2c82e3522a91e413389c3fc74c97bec414dcae911d8f82294ec710f6575eb3856c382ce3c343da5d9ada13baeb39c01c866dc5e3fe2ae434c4aaee2bf58eb39ede5b2889556f05b67b4b24aef571f514bea56d989c5aed04a004622330feb16ddd8e2315678a7bcd4581871a35fb6b87ff87b4e67a46812996132e32c994a3c4ac86a937873541b70fdc7f7eb090b5ca833bb5d33e5eb2da40ccf136c861248d319802b861bbf46cab814a603f43c2061d919aea576917d1ddf608d8525d761787156b44716c4be31cca9db8c5185b287adcb691a196d8a7c9f9d184c1ab2b4e1120d3df2c680057e2e1c84e72cb2309250efc4782c4ba7f0db31195acd9885c21319089b9fa494037456c2f154feb4e4492cefae0bcaaec7d43d8f797e73f83f803f2f805e3d61f2585d05aa816b83b7026d127eb7e259a0783457ab8f9d6099a70c9d8165bfdc3e8261ecb9fd5fa48dee31f634e34f7dac636ab0721224b615c4bcd626bde5cdb87359cfef0666836883f2e889857884ce8ba4990b504770479c6a0199bd9dddf2abc70c2186431e355a73fa36154da242905f3d48cc52616492a0aa70df502cda8c4757c8c935ee7056889c3486aac41d3d9b422c4f29f6df23941b402590263f26bbeee5122adc6d5cfcdc4957600aa726f50f5d41cf049258809ce6e373a8608bda3fc266d292fd8a77b29e92150ed6f1d47f6553acc4c94bf1d3fa9a40ee35ba1eed74c0dbd42c4bdc6376d74935b56a14a6fe6a6dd8ec82cc631d5afca09bad741b2f752ebc52cea0c8239c16b4d7ff7916ef52f20abc205c9ced8bbf7ec46e38392dc857bfe215b48c2e96f0fbd58b06d2d67d016070dd35ec825ca1613a793058786ceef8c19e29790163b7c4cbe41a91f7bfc86a2916dab103bf300472eb8de5b21326cc469a9cd1135c4888ef43954e1455758eedba766c1c00ecdfba09b90cb810a56ffe5ea6ab590e6d3b32b1a288ded376dfd23bba303f1f771d0cc8ef41bf7ddce6dbae2e2d661543962ccb514be7eedc84cfcdbcbda9ddaccba5dac8a0add92b5c31d96f68bdcfe2dd51151ed2d5b9420e07d0c1e3e41ff17388be81f04f2d884126912c89b77c2fa6ee4d0f52aa56f93fbdb95e2146a138aa071719187c84acd266957f8b207b8daff493d744be0dc1ee4b495ab94e9dfe82ed24fb87f87442c07fa81c1c05e093dff004fa0fc8991c07e13cb6946c3d0420423b9e4aa32921008d5aeab34654187eeeed7b7a93c9a28ceb806efbfc35066a3ef9204dafad539002a28b361d0a099c973c05cf5f31057a5b9005195abb0b6447a5631c81562e82945c23f540386d11fc08595fd8a3d3827c065a616033b2e98d165a373807dd590ddff173f683d10322a6e62f5b63f81eab1bbf7e208074d406cbd10bf4eeb9998effcff1e2ad71d09ffc74380e0a3fd425aff03db28c9b9723a78ee7f684a4203a4c6900e4a856e0a6791cc4e62d370b4aa040d19ca30f5c0e6b6f10b2b0973f5e0f92e2c003c19e5343714dc53c7efcad9745caae17d33c1b615e47bab938343565072b6d4967b33513f06589601ec7ba654bf71eef647610eca26822ba34d1ef380a1402e02a81da87e1b0f1b7676c76ab3f2f353197482f69269297a0dfa62459be15c248b3607ce2939635178e9273415bb24ffe2cb54886d8ef1ff724fe80c7df0a4cbf2e65541f8538562d75dfca229739244c51983705e806715362568b7a89741aa957f67540c5defb945f953baa6c0b26d1fc30f3033aef288d814a85923b9370d8fc830fa878bcf23904c21f2cae8d485008aa5a7d9c3d7dd21eba5f916323928838ce7c20d21ca48733375d72662bccf02e9c3a4408ebe4275eb8d48c56c817eaaf21e6576bd314f689b5eee53d07e127d4a3c571eb12a56154b18d0e5f9b898241f661bd10d6fa0033741a4542f8946bb8ec0b8476e01b6c64eabecff2f6bfcbcf103f412c55644a39dce3a111a089a9b3f5305cca98a87c5b86024ba70795df69cbce6f4bc71227e5a537ac0f4bb765d570793d33d810221404e280195f868a5e245e4481fafe36327c6c5e21adebefd0ecccda8a4a9a329b0e01d1c54be070dc5969a835f72acfd0fdf063066f1c252bb29e29f9b72132ad5ffacbe6f722184083f6dbbd661deefdedb9851a65938b862f59f5a99db14ee8e132b1f8020d79d8ad3a3de41b2cf95780f99592911ffd377f065ef1f34bb502cd321fc08fb49044ca8af2ba42b153174df2020612ca43d58b5f27762577d54a0038686720c2dc616ad9344a2d65c8c64b6634d3c5342d249d1abeb9400d2e93fce054b8bf9fb3c5253bdf23fe14ef70f15946ce73ecf8839a9eeadc158966cd7ea7057ec92bb944ec5b804965ec915c6b066012410e5de8d5899550c581187ae6072b272a5d4124b97d362cf79ed9bfe0ae201ac2fe90255fb5fad947a8dd063844a53e3cbeff868df2a3428a8ada04d39b12c999968d37fb2720b04066354c4a8f7cddf83dd3295460c78638e8c46d5c12583edcf8eb2652d3213760697e0be284c432720eb9a397c7c757d0106f1d1c32b62a62c1cc75e0795adfe47a438f1ea7c2afe5f097f2d0e6bccb12bc1113d808113edec4ae0bf9614b9b72c9615fd99ee9e14a1ffdd240cba06c44b0d36109b82d4ab914b70f7af29cbfee4ab6f561bf86fa3587383b68af2489b3b3196cbc87b6a5cc51f8b2840c51c2cb7644e996e79e8fb33003febbdf4029dc62c568cd76c481b96666b0b90d893ce2a6d3cea65c70dfa676630d629acfaac091d7111f9c8bc6cc93fa8f7d9ecb31478839c29382aa6bd4984fc11c81872dbe0a904181d149d321882f64841bd9f53c0701c31f06001d1cef409f3099f571afdfed7b8e136f6489f6372b8fb0751a1c136f324cc2aecb09a165e1746c90093a8077995128619a505965a6d86555b5a401cc2918972c610c689ce5b566911f00398d27cb71fff62f0690c7bcc630b040f7cfbf4a2bbccd6beb8e07b6fa217112d372cff37ab5ded16d9af0e560f20ded69992f05f9f9249e123abdab153b05bb518c01657a1607411b85826a78d23cf66389e8cb3e533d06bda3d174e4753da512de28a18c3102994846ceff796489b495cd27dd13c52bde567278d07ac74bf82396dfa720b7102d4606e69eb9cceaffa0794ce428f291877052652910c977ebb036e5dea63e9dbb3ca2248a21056302671904384c73aacfc7176bd63f10319c63687dabb3340239787a550f9d6cf9851bd48c36e0576397f8d03c466d3fb9b700583506dc84d995cd6131d074ad01d114bcdd8012d7cb791d28f66f685d9a0a3537f3edb3c0cdba9a8758b1711eae6d0f2430278563b713213eef19bb75830b9b7c9889efc41cfd5cc37051f9fe4325f8a9537a0d27086ae42197190642e3be13f6c1419f41de60a35963df6b4b7e6d03fc0c4d28247de3c471f819ae1ae3fff479a43d05d00a3f42002f243d1f9814780afe9052871b208fa2f33325aecfad942706a115236700970746f3facbfe51d57600772ba6acdf3c316088d6f7feb7c26bb2147d6e30dd145668ebe75b6182a570013676cd25791929cb89bb8867432ac35120199cbe955a8f194e5267155159208ad037e70d82d82b046a4844a956f44fbc4e02b340f5f55126efc9c0a26a40beb3734168888518f6f89d55660a86b4c17e10b169d5d7f01238d08e217ca3155feeea21dffe8f3de9f0ec90895d97449f1da1ba98539bf67564399f7b42304a1272767930fe4f5793decf100caa3817bd88fa2fe67a775656ff1bb99287043c84c6fb1ec11d30a797fbb988529e7a240e857c13ed0f24670af7e56531484a2022cf8f6812949894acfa7557cb60e26e906221a0bbca48015edd44353220224fb6f34fd8ba8937d6c2d0895118ca94ff5c55938597f42336c6b8434fdd2c870322a966b560c43859fad8eb681be989d166481d942a553cdf55be657558265dddaa224b725ad5c0404ccdd5b963d55113e71f54a71d5c0957cfa808b0cd6488138d13517746b5324026ef54a8262ab67d6b1aeea196804b320c4c0a7a71e586f142c7f16795b5094a6f1afb74aaa22db59199b4961910dc52fd91b6377d85af17059d5eee9df844c4194be293de494de1b1d22b90462d6e7599487c42ece49263a0ed43fabffeededa0717bf4e2626a6b65a1e5ef34c181c60d868b31063ca6413cfc204e83dce46d1932cd335638ecf4ad8626ef7b2a78da3618671b06c7923d22252b6d1c0cbfecea788a75a0449d1d05a9fa52be594d3411230e0b797d83fd96e3ffd31cb099d6f1da4eeefe5d979e435b19ad1dc487970f860271647256d160cd87d8c6c6e5531d8067fdcb61aa2a445bee81dc4fe77ced66415ad1c33559bcde9083d169842beae83a939b296d4073c68b0553e17dae64535def629c87caa8752db15b05a815b9e00c713c9c56549f3eef7e8596e8c6fd8635ead71678b603210a24f803dd3721b678d9e4392d68fd5bfe3389b7e2eefaad31e68610d192174d6f85e3c405b0cfca5bc635e5f4fe7c7d257f87dfe3867137a5889cad4721c6b3fcb22c99f9c9d2877f2084ab6012164122163e691e74fd167a4fceee071465375d42fc3177b147f13dd404c7a3cddb4d5d3288511f4d50b3b8d11de4e8a1e9e30f1c357358a19cd827589c4750379d53c229b9fbfa5d720b5771318f6472990b0678df01f86ec604e87b00c376c3aeb66c02fcb4b37e0da46d9dd04fefb58c4605f25d0135fa40ac4393545ce55a2eeb126d347644c69dc19259f106367b3853e3b4aca456bf0cfe76c86007f02be9362b3a00b30be354690a7b53510e1b125b7828edecb6d752d20862ee25b4dd295bcb01da68f44e1108d95b26a0085a5de25800f81355a14afe423bb8d2d46ecf9a2054c7857a44399f5b80d497c85a036374c0bf4b44e89555006e1a6c282c5b2fad121367a96f1f1321e7d539c40373f76fb549ec957d7c0ec2d3c1bc32361bafe0a60b2914a6a81b493c00581adb7c035e0694df63de829df3de8271422329ccee00b5cc7c47edac4a8e30c4f85643bc66d46813c742f54bbfea23189dad01e37b707b22f8e43b2066bf9b1ad9c4041321d6492af0845663cc39be8907d1903b31f39d8b5394a2a5415c2492275860079d2d74d4415f87689948f014d1a5792a37eb602155015427e8718eab76743351b53a631ba7aec929eb2d2e30224e334b1a155446af36930a6e6b32dc3eb3568352065f606a443a3d6f387fc8d6163781bfcc9d2d391596a37b8ad0fd3c6b028df7c18a30c8f0518a3bddd63d94571fd6b973b73d5f7977634def6b717060c44943e8ba6d1cd651b1892f2808ab005b3154875ed157b8f5a49aa9f3fc5a7f1b1d927c6e674066dbf79d986c9eaf35e0bbd89267445f3f68d946e0d1e058a3491d54d2cc2e5807e921f0fbf5d8a76a46458c5b6f3512dfeebbfae614170b89972a5fe0ad19121ad15ee7503c9c19b3183e1357c5873b7c75b2216070c325b1929b22028f37561406a91945b8b4d4e9b5b76079f5e419475412fa91814ccb1a0cd5ba483c49780ffa514e0145f32da3ceb1bef38ccaa955edd729d6329c3a00958ab620959260529dfb7ed8940b3d555557f2f488ec3a82bcd1223b0e544c55c86117346a504bd6c942a957f5254f020cc18864ac630cfbb2734c992fa4fa0d07928556642fe78022186591ccf3aa4fc2beb7b1141956441d812f7c27d2dbadc2f0e6277fe16a3ba4b83c5b4c0ea4a7b3be0faf806567046678d1f97150366eba8ddd10c2b28dbdc560faba9104b7dc6fc3ed6c88cf44e25688a03cd9ebc64850ea3b6caf6112c5d95e326ca93dbd9b2d9ad58094be5b2db44956e35d6c061267120d80b8bebd9aa97afe46b91be1f0ce60bcb717466d87ff03ee8b60db86ca4a4297daf744f6cc6f5c7f6fed564ffa4e18182007ef84beddd40b148c16a95c5167c1dc3f87b1ebe701830be96f61e9a3e851505593237609e0241a809874cacea7b3fa27fc58c586a26d8137ca0f2d3981ea68d435912124de63aa2f52a436363a3c080a6dbf5b013fa7fe961e196437026d6dd1f1b83c3dc49f4bddd3a8e1413450fe37a21a994a2b1ce05545d17501379e74cd50774f68b4363e2ccea4f25fac5a3ef448072635fa5644bd810bceeed874c96bf3fe2157fe7b69b0f985bf453ae1560eaabe09320db384e7e17a3d78385e46216c6257befe3d730634e8537b2b0e3853b89716ccdc570eff324b4add2c3b98e7033d5f29d5f1a575c0eb16db159e2326d6e85124abd6a64761a0cfc77b54ffc8e0d4eb2118e8367b734abc7c2df3d4c1adc14c2b2a553b0632216af5bb5c2efab167476d485e8c7a922553ce3839699899e41b2abbc494dcf30bd6cf36871a6c0f4108a0de0a5af774dc9e2111b3d9eb348928605893b4c9ef86aa04c00fd729d7c2260380fb93996901fe6a73fd3d489d331762c2a9d75e0256371d84c3a9673afd9de697c3f09383e958af61b45059d23e2e221760105cd3a64e4c0faf91b33133edd826f512ff980acfab96bae692b9e4dc815aa4a53125dc7d9b8bb37b02e038ca024100269962e87418a528feadea5d96cf0e39c99efe527b8893aeb1d6e28b3967e7cdbb6227f13a3b4e6035d73719e00e1078c05880bc8364e8f46553ec37d3f7448df193ffab08e7448bc45a14227df1df478679dc3a52f351776078b094dece09b95995b4f73ece37ce9c482bdbcc70783c06e5a26c3d96d93cdd13b5ff7e3e42dd93f2eb89146a86f770b793d8d2100ea7b9daec0f65d77943f7090ecf064942ac7e961f0fe5891d1556a5bb7420365772438111df339e6ac916bfbde9cf1966f15e66648027552b4084f36fe2a8b06ede96e7993b8a949020e0dc45abde6a10836444065aa4db4501c78b534005797701373ebef386b2919701e3ebd735400f10d5daa48bef5ed1e43379a8a9855dc71711139c885e9a10786f90551bf4e4f9de0d280fa7df44a849e155e9d0cd4385b4920c063d0983b1784c81563c22b870517dfe5d3027c5ca328f66adc5cfd119d06bfc9b5f4fdb54acd44693b396ce847cd02fa518088b24e85bb23d2e09f8b4ab06399c37b145043f2a96e1967e24a98c49ecec2107bd00bc47f30b5cadb1aed4786474dc607684da484fb968dabbd8324e47923f114317c6cc1e433d69103c04112e8bbfcef0674317de64a28fc7d41151943d5a4d68f01abdf82a6e2bd46bb87bf4717f9a92b5e6eeaea6041866f5e5a1b9143ee694eade6916c74611ea045172899db2916c1f5bba462d474c2e4055b200169098b2d0dc74191f4c544a899eb12de206230da629b0b5cb3959b1611841e804515fa4746f0d1afc6b10720c030fd7074e8bfb925d1ab0e9e85ffdfe60517d99139936be5067e2b579c77f3ad2b4bdbd8ca82f48cfb34072dcedfbf26c0c2b335a4270e0acfa9b1c948f127d971dc970f3f5f83c71508e3424ca4fb6832a04533b1a5161d43e8bc40877441f8d05f2a34a6921f03ae8ee7029b76519be89da41aec59af00cc0d45494d93c67302b7e2ef32978d2845e89a869f3792648c1663f5c533a45e0db3dfe8724345050bccf427dc62eef42807e79e5f11693ba748b4ad6bbe8183e8d43f2be8ddeb652c1de57a2296b87e5a413b6a8b369cf855cbe5037f9d80f95b5c6007c8224099bf18f78d22a8809d03ec416c022906bcac10505c4b6dd8dd8310cac5c92182e72c6ebf2f76bf8e89997331f8e2d390ffb3be3a50bc054c5e804752c943eba2447f29cb167b5e910867a95d7880a5f4655c298b0a41084972def72318a90a5e7601f820d4e7368c0c63820acbde3a368a3b1dd6c34838b28719a7c3d45dfdeff8be13087a01ad7fb68cfe70c30decdd6155bd176609691221752520a1d4fd8ebb85c76d6f2e2c4268194d05c130274fbc22773f2a07a064a2229a1bd32b523286db8d0fb69e86be0710f6e57bc74bdc5be680dddf20c9e064b3903d2beae144ed10f8300ad0eb05813a80927cb8106580e78f83b5470f83f61ca8f5f1625e71d149d96abf242d3aa3cf0e8a0b6171c37ca1d09797d9415d5290cb5b013a906c2fd551fa893acbcf5b882f291b700e2695f60c42b628378d4e69876109c818b1d7ffb97c64a5cb4caa9a0b6bd4641972a9d892f77989f77fc9a2d9d804a5ca2ae30f04b1035ad0be0a8b35a82c2054180e207952dc4407e30f6283054b2c6948581763ded2385e638944cfa03a60a70e0876011776387a86bc189417658697fbfd59cf5cb1e920f9290249eabf1983dd2e2194e847eb7ad2b0733de1e6ecb063b78f33044b947413b3757e8774a3e69c9ad0d544580dc4154e10e522e155e666b857dc5c82af4c8c310c7ec2cae83073779c512fe6cea764a6f6c63c5b6b00da07fd14b8fc27bcafcfb36d3d737fcb7b25f9e3998e055a5c6af0aac1853a8cbb8ea89f1d4b13872e36d3ef3ea2619c967c38e0b46e8a251f03570c0a1f2833fbbde027f9615d2467875de020b0a05863a2cfffe4d184d3b6a4ed688ef2f532b8888384571f1770907b9bfaec39f3e36d41c616b82384e9ca9bb72b70e75b0a90ab803a0c305d5abaf9d0a19fae6c84465ac731806f9954422083ef973b108a88c4beb62db2f96ac63be7b0e466c4be5496165d6749f45fb8830c96bda68818b5cb3a6588642604fbebda781c98ba507023107117fc0cab3ae85caf7e4bcde9dba5c017bfbebfd055b00a584995fe32204ab7f5038e205288cbfa921782863e3509742839166813fe02f843d2fdbbc575da2c24efc781fe8e1bf2fc976ec8eca672a3a670d0edfb64c9e0bc4a4b8f3d11f0bdcfbb40319614e10d2375bf2b2ba4d8ffe1bc90097a40483392c4aa13a87c1f3069c1eef4ec6e572c9d68778c319e1308d85ba2a6f904549dc143f6d0fadcf438592507b37622bd6a20b0db6755870599aaa42664984d8e7c7478c842c5014faedde23cd2e8af71cfe96334cd4813da08b240a8dc3e18e6d66c7954af733256ae911d01cd777233e9c86ad6010884efc864794b4eaa4e02945bcbee72469e63088ec513c33e384f4b81d9fbe7640d1fe4a29d849cb2aaf480432273f1c8902edd63fd34cc197447674adb4043b8ff47152dda5e0f7528d9c54fdde0d2054ea304fae7353aa3a15e555946e7a2c371b9192a0d7622de9ca1c7c32c3ce0d0d36953293469c39f52df62b50d62a3a73448c236c1e09e545389be982904356b8a5b6d96aa7ca8b8c56910cd88a1e93c3d0e2562cf7da07e446584c79a3de25793bc944783f8619efef4b96f1bcff7a54f4043fc1c7ac5e18eec75109755125f89cfa6d2ea5e8ac248625351d99b862726416606c2c260e53f06f4ec7bb6c81710f911ba0e83ab0d5749ff4baa56e162cbef8f74bd1886231831560b550604d23d42222b2380f6d2170607517a25e5bb4d6a8b28a095ef278511143921c34095fdcf03eb4e4dd4aca36837afb755b1b36844cbc4b7246634c25884cc605f2b36e950f698987cf6eed3ff4ab37480706fc462098bf6dc5ff58b249e287b6339237d23659af1391a5f9edd204f3286fd8fb680abbb6098d5eb81159fbd2fea07d7a5e0ccc14fd4e2395479622e779d480ac921628f7b3f60b9d5f7c608af27d675c11b9caf0a2ad4ce5dd0b5bb2b537c37b12beb5adaec633dc7ee8439ea6f056c6e32d678821651196285c6c304016af79e63502ead9f6e3b847a24adeb71f288c8fc8a5d687ffa9d96bb83b95468a0acf194068e685267be8588d51641b1fed981445016267896e8f2baf64fd8142bf30e0e99b53f655b8b8e75b5b0ca9931792ab162918a8060f6c04ab848a4aa8e5d28c27fd27b871a77e093f736a265c5578b8913eab59a0850b10b62a44a0741840efb7a9b79da1d1d9a8fd5cb9632ef7ed98accc9cbafa6035eeb03ccbc4345109059b86c6501a557e87f63a01c4f3a250ca489bd30ee43459050f0fdc74240d9ddd30c9a8db3f37796ce48d99fbfad70dbacad08f1e45705edb3b184e6fbb0fb80156200b7cadd0d95c08bcbc8d0f916cbba43abebaf7488b02c62444cc34f92dbdb465dc82afe221ebe3d99999fb8153cc0ff2cbd5dfea9a9be1a175a72623eb743254afe40abd04499097ca5a93fc812fc4212fba45aef2ad6773657a7f3bd170e38c431e25ec5270c04e25e0cd02ebe732c2f440b08d6af833122f27cbe9d1ffbc4dc947fcbc8cdeec6273bf19b77aa733281c628647e8768245b31931c865fa5bb0edb9100c025798fd8da4e29bce7082efbe8bdb51150f875341c86e3c450cd8c71aa5657d67afd08df7f407021d49abc6c708478b61e4e7f7a0778b3ec3463aa167ff659dce96e075894adb8e23130c5480ae320bafd644ab8b8d280a41e9afd11f6c8fe41e6a70d6c4c83042452174e922355fae03eb4b19db75330d3d9d20af1f5523bc6935e9880af52c63019b360ad0e886fd4477f8e0d1d4a96f1f1ab0399b9a12009a9a4b7862cd4552c55c5d54c32084626a19b26ba7b0a0f33b2718ce8b3c2ae12494c2bb2d1ed3f19b51ba71c63abcabf9342879c66710d847eec0f426ea19477ccf5be9e0921fc545dd729911bc5acf0a219553725d50e9aef453ffeb6c056372dd7ef917c022d1c3acf59ed831c58b60ee5324603f93eacbce89932c36935d84cecff9cebeeab2818a4f8a949db43516d047868ba840b86af6eef0b39f205444e2c28504dda95e3e51f0fdd7fa9d07f4a70325a71e423720a1ec5d84a224390aa8ab93df1796e25a2c9019d96a7af71ab0f070a24841b9fc9003f9c17c22eb6511572100b9a7293fddbe5ea475647ab36ca288177317b7cb0d34bdd964f4744c498cf4f591baa0fea348c9e6d048a5ec4669a7070f476cbd0ab2247651f5a8050c0a4f750af452e464699eee98fe2ad6a1d037415b674454900290490581649bbe11281e555f3e157c6ad1250f3f8af7f7909a9c84aabde140d84648045b03301e80b95f5ce2f1770006fdc06b9af5675e81899d11731c7b6aae33ca967a3679c35f28d58ac01d3b62723f5729779f31e6352b6e9668a510b9e8fd63130da19db626fea7edf25e4428fa740b5bfdf2d0c8ab1a9c8cc7d0a5278af67228c9b0fe8c2dfcb6cb497cf5c87997829ff5444c13b81c0f68cb690158289534abbab2e17839228111948c9e1d22f533a69c2e4d76b6e809648a73e6fd4cc20d11950291fab5baf6e0d1c187681db65d2745c61b35008a40a6e3e3918cba32d72058ae3b8033a0c6e37b87bc5105b903e00e959980b1e2206e971006b5b040b1332a75ef28316fac859d6c9f661dae1fa080676cb9a5317cbc4c207bc11f5bf07a3b85c88afc78c70d2ebc6bd6fe2d91ed2f03b8bdd5fd6e00082baaa3d6f88dde4ed35464135a8da67d42c3d78ba23728ca29c4b33cb4cd7af89d6c892009e71a11295c04c280358f0787bb569e9f3f24b8c280a3f239f352378d9257d581f1ad4e778895d294135abd1090458cc9a7796519546062ca864d65a8de7a3416c13b262e96fb1a2ec4f9a923e94dd89fb1b0b141b8b4434cc0e4ae5c8500b5a17385db1fc0007ee31487ed19e32eace7df8722742c30812e631d4fc8fcfbe756f13b19c8701f7de8b460952362662fa69105307a34f44db897e238cfd983cbc366c8e8c663ff0bcf67f47813890d145cc7ec7166232590135bac5543d80f4a8873a546d323b59e729927bbd1eca600fd6c28cd7b951e584a53266fcfa65e9bc59c286b874c9972f9cc8379ed25ea175bdbbc89eaea706b4827a58defb2c843f793a45fb9b78587f62cdbb8bddf507911185e21c351b7f8b35146b9f81fe77e485ffaf83caa381f46c2391f5f4dda0610f8521a4389f7e926c73eb9f707aff98a6f97873fc701670c7c0714b0bc636d29f904479978a1d46256f92c4ad73d62fa8a2c204803b30a5e4ba3033ce0f2d242fa5e971dcc2e3df0a72c34af54fff364181df30217cfa0e4ac3449605f6b1f5ef4e8def00c996eaac5313f3ed55344ad649ee1d183348c0f5e963cd303e58e9e9ff46ebd35353c4d1aa88d2acf1072e3818ea5c38a791498a0938dbb0a52a846f61a608cabd837aa12c90fbf166ce0c090c43e3ad419f105f9152e63fbfde797e3c380d1577ef0db0160e65504d87c04e5f7339bcc8895d2956da21da56fa264999af7e46cb955852bc8e90a28d8737c4f58f22d5e17abbc4a326b094d13cd7171abc5667b0ad37c64115cdf4196ae777e602e09ff424ea6e80cc71db442eeafa0ad5f13169908f63125f4d609dc11c55512942fe2dd21576634c315d8410343136a0d93000532674e8aa4821904f97beeab6f78b0f3dd0ea10c69ba4ce50876211fb03609d51183db5c2c7a6277ad6ecb60f1f0ca4b382158e510c7dd95f20c7a77874558a86e15714204b27875d64619146e6d9b4a6227e1ec9c7b49aa297bc3c4dd5520acbd599c6c739b7f07cf3dd421f5c2d1efd651cbfb7a7bd5829d4ddf691d3414c10c0330c50051291cbdf576d919f4c1639c69fc5521808e61a0c38ed8c0e8b0b1cddaaf40dceedbd10eb45e5b637dc68f52e28269db7b1b7a76d928f1ceb7b1dcf3761fc5f64330481cf88adefa7a23150b5cff90c6b6c53fd0376489da8a14c89084c67cc8d422731fb379ef5689ccd1e72fa34c298f6a956dd604c40f1ffcf7ad6c27069ffb91ff9759c933180a0492bbde4402b0892f8ad6bb8192cf68aef8131151b0620b7cc637d368d8f8805b2cfa268e413227246b66cc0be70ce9726dbe958b07eda9ddc4bd025df37bb0e7f4df85c3f462de16198f2f504d62010aa059ccbe27ba74b5bdf7a0bbb18b55ffab8721dc0bd4b0630943cd9e1a89b1cff1a384669bacb6a81d0545fc429cc996182692e720d682f4987d08ec57f21f6d0b588584f7805fbd47cc2d6bd77644173620e261e2037501f3ee1e5ffb53b409d3b70164666c653b8febd39b0eaffb9a89eb22e18c6ef96a707b684f579af3d38c95167163c30c1d7663459e8c6a293723ff44d7f118c53d8a7fb812afa4da3324133de434214bc1b02dfc834932730c30bd288ef80648f0ffa18de50a99c4ed359fc1cdd1121186f347836ffad120e823b3cf3a081215fa3f050708c2bff31233d1718bbf6927dec010b60913b587387c94001994e78384d4a786fa5b485dfc7b8150d254d1f97745f751be04fb0992d37d5baf410155fb0ee7890c0bb2f9609984febdac81e579fca59facbd24b2132cb791b5769dc2f00f12eae85a270b009278d5c86a2b1208b873e1de5c81df7382c58cc2d4e6f7a8fd6686f354e88ad00820dda224c84a6a5939ec0ca7bd52ddd6263c985305dd47074ac6a5390843499efe46041bc7ba19a73ba897c7a29716222f53b6352dcd572355f53cff4e3dc7cfeb6a6396c5ae0708506ddda227960db7fdb7e67fe688877cd1e45e95842332371b4178130a6d672e17e839baf382951a03f4611ae97decc9e8c76c212bf7886d003b29d5c62b43fee6623a799f6e5fdfdb0a8a02f1e5e2f839f55f4bbf2d0489df2d2d74b257bbc38c788ce040422c4ec013160c9aa8a98f4638616496dce720c23ceca8ef9d6b3212b654642fbda5e4ecc4aad4ad9f7adc564ae52639903941a59f01bee87cf7065114ffaf63088c78bf5e2ebc6de0e7c65357e555c51b4f59144aaaf0e41eba7d19b3f87afce292e23f85d5f7b834035d0150a4ae8566a1456761234b216ea8eb05a53ec22a3ed1fa64757b01df88ba7b15c73d01d22b5a5b3b36fd684229cc6232be82d9779811da628655afd07629c93d691f267ec462b8db00e3114348c6b8064e359cef79db5a56cc6b80b8ac88823deb2546c294fdd2efeb73e23e3bde595b4e0f9e00df26443b84f190eb957815f1994031613aaf1678f5d3915c7344d84d93de2ef78387eb85f546563d8eaaf807fa21e8672c91019bf53bfc9acb448ce461f4c5242df336295400e8bce5674077860547909dac9366e70ea16bb33042e580a5e777e1bc3999dcd6c710534bfb63bb5c02345eb86f7fd8cbbc7e61c69c12e8aed2cba60dcfc67fed01cd06c273fcba5df309be6c5e2d468c46ca5ccd21937351937e43c909d16a42d5888257be51a5ba4fbd264adb0aeecdfeb25b0b524afefebc7534efccbc31f756597256e764a9bd16ccad5d0772f4c369a41df788f99a5634c84a4fcf70da85a6207b9a75546c89188b2c571f8aa9068298b82d0d6df1a136b69cccfc2a86d314f02a411cb9d4cf44c671f765182dc5953971832d83fb03fdec9a667147130a91ffd15faf8abba3ed47bef70f272392aacf603dbafd0a4d9d724918b9c2381572b28b1b455b3e5bd69323ce7621ee9b0b3526daa5b4b2536f69a47a0203f5c352b9eb80e269c2c3630a324a72c0e777689827720bf1f42a83a93a7a45cacc22e07af6cb8d3a70a4c4017bec8672ea4a6f903e0bd7542369fb45b06be6df550591cbc4fee267d80eebbeee5a6acbd1a8b49aad5823eeec4c146768d3416902c1c1504f2edb53f652795d6d483f745eeac7a7d94825ee23b1e11ae02589f8de20b9fba84caa102b3b776c89aac0ecd9067923e047a9d2c512aea7203b7aa71fb3f5b83a331985334846d970ec7d9d1020704e1e0c855d630556f572b20baa378cf5c1272711caf49333adb0b6257207225eac85851507e897f736049f9b58421c88cafd3729f2e02f7950f2ec986a1faea3bdafe71a9b84894f512b75bc281f210ebed1d1d2d9d2cda299f5b4ecb24992000cc75cfc187bcc4768c84874396cca8b8b5cfcdccb6c1bffd9eb11139c1376dd99521e770b20babee0b51383a0c4a3dbade9c551c77898729d005a0c4e7c339b9545d41e788879a1f815afd4bac43295a284660dd9797cdcfc1138fa9b9fc6b8b21ed1d144a5d34547a1081a680992d5fb7ee7478013a0df5aaed3b0a3464754062931a64309c0fccd9050007a8743f38bd6d8d776bd2ed6252a567e93b12e8dbeeb510b629e6a8c7e41141ffabb4a4009ea06b62e62f379258f09e9917ef8cfbc007547d53fd753d0f3b3864d88322610565e069520d44a76af6f0dab98f5c7781950da000c78a65fbfcdcbbb63c11bb0043ab30aa045c036a1ac37f1a4435777c3aa36631bafe5368224293e9a09ee5bc674a627d51c5a70ea147299283de61729e52ada70a057e092bbd62d8268d2e63e22af90ec40c3e9613566f995a603e7a74c977005bf6d39b5b65d1bd8a00b0b84aecd935fb8d2203b397e1983c496808b30d3750fe56b0e023c961c293f6c06789180694aa13081822f55a77d60b31cda3cb424269f878f8b056783b42e1952b6ae42e97a15cfab59870e152ee282ea4cd77bf0906a4c0191655c79f4e72013f8186dd44b74a1113b280b6ee0523ed545504ebaea6c7eaad1a7675b46f303b0b507847360ea7ce4cc89fe15dc73cec60049c5eec2521146ca5e9db67e2a47adf49399514ce9898443cd912c059cca92612878750459819b5d5cdf1144e0f50b5a3f5a58664746e3e249c194c8f167852fb925b38cc7de4acdaa0a5703c55d3d0915ba1a76f81bfda8dd160cc871c2d7457bbe36ffa5d447030475a3316f394924aadcf78ed8d1bd236745e853ae5acfdee479f61035251738ed21f0d3851a6f7e0f889e0e3760344f64cb5c922a9bea9c599d6408fd137d79529e9bad481b667ecd8be5825712ae55a315f8dc43b7560efd91179cfc3dfae956bec8bc552a5b64ba788cbe4a1a9c96ed0b216a8bc644357dabec0cb923f5dd98d084d64e12983fefe7f2d860fbf59357e209bbadd10a51e63efdff1774147f9a3902c9ebbc28dea61bb0b369e7711403a6fcceba0aa6aa1c1c426b86a436df14005e3f3de8f10c19a929947d449b330e7969232b7829d0c1c8c6976023271b6d0697c7a4adee77d0eb924965e384f803ec8827943edefcec666d42c54d019b50fe0069bfdf1ff2fb20898ce3b705242935fbf11c2e59edeef0234c03b0ab876cbfde4b91c75547f4bd36da214a0753fe97ad21871d6a7c403df34644e551de7d8a02078f884eb37f88e517aa057576e3aa47aa0846d69d4432a3f4b6938da342e869211c9c6813d0b4d2f1d6e7ed075ef48a23de6a0554cf6d5e51ab4fc9d300873ad24ef8c5c76ca3caedfe081d8f7c338149ccc6300cf047a5b62d749c0df1bcc35c93c1d3a8c135575ddfed300a7b5e68ce0499be3ed1a6c79dd4647e55a4d95d2d613b9204745f7e7f29ca50613ccec8d9d6d9f2ecdef88f94501f2e07e862cbfb86f483bd60d3cc03dfdbee992068e65eedafe454a0e66ab3f5516892b2c4221991c61e98c7d1e3dd5917db161263d5671a120b7c79f084f52bd33ccb3998e7ff6c9f002acc776bb1c2a0fd364fc2ae478759d1795d5bf29b3fad79cd511dd5624cca14a435cf4d0f6ca2bdf7433dfe6b06ff2de9affa71ad657026088ae937774a32a488f073c1fe807b215efdb5b3f0da2f24e96d1eeb656967321a37f924e98e6e2ab005968b0e500789b6db9e27b18892bdce2e2105b3e01d28944df1616706e638ab27c75312c0132a088dd663fd1c0cd60504b6a4d1bc8c6c44be57305218907f6c45d3960727af970435bd133b091248cffaa4252c35aa961d79abd09b34717f16547e8505aff35a0538f0f34d6d5e19584fdf1959b00a07e367db024a3225585eed4ee9967d2b6417de0c7bf9d119cb1deb695e85936238b0bad429b823e845d84676ce5b30616cf5f9b9c03bed7a13a625589559c2106c9ccd1735aef22b57fbe4c1cb4613a3d1bdffc085d2eb5671627df7695042c19dcf3aeae8e20320bf6838709c9b3a59491b80d7f5c204574da88d35899cd9fae299634687b270e39195bc2a8029ae69cf9c0ebff0e30b709f43cc13fe4b5f8dce4139039317deff3121420f4166d876b45dc5ff5ad97aae7dd803c8695759ce3477320f4b10012507075f13cd48b345703f7af0bb3619d080e0583a85100bfe64741a4eeb9848fd49b6294d221edd494f5933bf26cf02e37ef0f0116c83ece56a1146f0b8858633701f0209727c6de4fa2a82058ad0f0968090e8866e2668abe649ed73f5b7d633a60ff5af9f019badffda2c6c879fa9a35883627959ae59332ecdc9a09a5f0bc8c105f7de425f0a21b899354f4d6de9a1ac4cdfe2720e05ffedec1e3ac76d08d7928c40133959d6db269262e6ed2c6abe671b215aea5f2e6d62428fce3469cd3f7e01e22ccd2e046d583ac1ab8872c8f2c481586861f85a0c285986e2cd4a558c3a6610e4043e3b1186447796c52261eea96afc0aaa389cf24bdc36f6d301ff87870a04917e4075d9c3011c1ca3dd7cd9758e9450a62a1264b7fdc5689b313812d815fc34a5c91513e6d715b19f77102c5e627629ca75113dc1347ca34622bcbef20593756a1973546a58318b2d62c9744df829d523f01125359df40f95e6fab99bd49434d33aceb0012c2fe5b6dfd36a7c5bff3bf860ef2785f9e7021e2fc383e64185e78262794cab499b36155dc2276cd4271e339cb0507cdf94df1235057e3d781404b16d69574de209f447d478a27a9be0777dc635d304c2255e7d5c73367a04df1eae427be8949244e64c7d598769f500024ffb0e1c010a4072be909dfe22faa2a80c1cc35feb77eeef30067950620e4b3bded06bb096d6ea6f1aa15b89784ec0e4ff953426b2e0bf9460783a651f0e0a43f31a3654348ed68a6cf4ef3ae92fb5dcdb745f63fb03b19c1591052cda25d134d67245575a61725a47ab9748e2c23d22e0cd1ff0eff87a66b548b9b19a8e2c8eea380af8e5c1439f98228f205ac97ba449088c13e2843127b61061aabc0782e804b2689ad606bb38bc172950254ede8f261649d957c94ed95195858bb621f7d70ac52c395c87d8e0d3be479b288156e7324b628efb38d061b110a402eed7affd6477ba474529982e69459e3777d9917754f8076ce885eb843fed4e07a07c53b564b931c2a3448e45b44f6696cbd3bf3966599a599bd4ea9f884767a68171729d4ec8475e1c9deeaa3036e2c12308b5cc72279d2e2a11949c1dd1829a7337a42da144060a3dbc3e2511df9c5a79122dc4e7fbfb115fc580990b213470b363acbd515ebf28193042a8ca6f4101ec118211f420e5d23f0deea8f289c067741bc6b34de9a4fa357af39a245acc58cd96307f214a98c28643f18ad2ca9c1552c5b6b045bc37a9ed2160a6f528ca24cbe448188cee39ded7f1c1688a0e2475b80743e88d0224fed6ba665ee126443857f8c451fc0d24544ecef613704c08b3767f08eb59cc513360081bdb03965f06d3706a06ef5efe79824abe813b4c72660db9ca3b4e33d015459fa24d57b0bd1c62723f9fda652c0f88c0ff568aa463e2d979ad06e3fb000d5e8c00707d9af8e25cc2ea98d5f2ad9f54fb60032b6659a3a696b8313fd770298b4219614fb18046d61e05448557f99923f2f7e6658c63eb5353b1eb6a8c2179a7c52f42498325efb27ed62d6e9018226009db12cfd97e72bd51230ac7a0651cf3fcf200343ecafd429955cac8b65610bdaaa3dbcda576cd14e9d4c941b1e5be8625654ca4fc80647ca68d73440ee41de3cebeca7c29742bd2fac985f63beababa9f0c1d6a6c73e7657b6cbfb041e5d2fb3fe8f69df5a89c725e44a447ef6fe1f2921bc776d6bcb6a5f14ca52885c90ea078c33b65740d856aca838f15ec29a89e04b8b5adae3a5e330b097a446d03bc5dd585a5fc495e15a12a72503fe035f17865b994a1b159c8652d5fa695ef7249a04fdcc62b15a56a81e2b6287a88b54e80f4b67cc86b105d8f21f86998cc60d09370dc95e94b63c411e85a167e1bbceadf541abd509017243c7028434b149fb140a29463117455aa9e827a57f70f054114da87bd011583e8ba2dc05535c221ad1a86b074139b11f9e46d250c987773fb77a2a047e02bc759792fd7579c18e28317de06366414283e682096ab914baed511a485704ce0e37532d8654158aca5e98395cbd86cdecb2c1c538c32061e40e148c5a37d670871ff85360d3abea8e65aef3eb2f7a45759f05dca4e5c2ffbe4d50a39974b6d126fe253243e966c4c2c4bac33ae279a5f8533019237b5898a66f22d0e34659f373b513da498cc4f012cf641f719f6ecccf35a32863794b23a789b5b3b0f869fa9d8068debef7a8b95d4fe00a4e440c4b4fd618143c51e09c41bfa82605223fd833e8d1ea905fbaef7daf8489cf195c38b1e579036983364f20da5b6021939bb091140dd903d108b9389246dbb05bf72921df9c30f96c124d00e68406ff2bce4e7f22b46806dc34dca8182d0b260051ab78fc0689231912b42e03f78faea349d36e7f3d92f2793afa17f853c8381fa3fd1fb5fa6d3cd3d72f4f99d9c42f5a51b330c16e8270616ef37626e197a7379cfd1bd486bb3db416c84785b4f162a64d03db99550970779c70bdb36e71744d451d453c469bdb98db3882fa0d3f5da6c0d94b5c7e2c5a48a96507b4c32783858dc9100296728dc065a6e4b9016cace2182973ff909dda7ff52226bf8207ebf44df862c595987e9821a3b6f032c6bde9e74fb83738294e20ae765ee946e05371765fc67656bb85dd0ad507493d60df367b9dd728d3d2ac9e1f5246357c6bcced39299cd2d1c2bc3827c2155a3a2aac0da9dedf2dec54fc92014ffda6ae08d108a80a8fba2d6208ee1148ce551cb9fc928192ed41954f9b3fac0d85f999e82ede997b32c7c944b456ef96b34474fe0d1f5fe6fcf660bb070814330e5ce75426b08568e68384b6dd098342a00d8155383b71036db82014829698f6c2e966fc8bf556d937de07ad5fb40455b87f934d88264f2b2d6de7dc186438b02614a51769b145798f663a667fab4e6a0439ce03b74b32c594654c51b72492438d22e8204553834a944cd78e4b71aaa5cbc08bb054e3a0bf593c9d3bb17d56084f3421d1ffad3f78682c7d9cdd7e3394f224af3c9209507702308f94b1d10770329f2e9241f6e993cf50c30be26909ce57488261dd9b00b6ed06db58ac7c954cefdb2fa09552197e301a34b3feae68a6c2065acad9aa98293bc6bbb14978cede90a323d9be4bd8aa69775772219cfac65208f7feacb2fd2f579c3db85ccaf53fb2deede1cfde5b6c7643084d8cb1a81b94e9ee2dd2742189f49aed2e0b42d4a8e60d83aef557e3b006b1c6c52fbd3cd7f1414f01b7c97f486ec140e28dcd368767d68450ddc70ffe25a7878edd3fefe4c03a232570ce3283838b0dc5dba064be959be86519f03e2d20b637b6cbe27cadbc771f2ff5e945cadc34f6d52da5c0cf1476b28c227f29c49940f4d58d827eb9da4ab594524e14f8887952b39bd140c9ff398cc7dfdeaaf55979ec080fd60cf15494d91c57353d24b9b5e56e0f2e322743341e38fc15d7c5e2e716ed7ae117561c2130d23a9da5b476903405bd2916a480aacfa2d85b5ecca4d0c24211a6444f63f86c645efe5117d388700b9db8090bf563eb9ea843636af20938b6a428d288c6683896d3f18a202e03bd4c4c5871aa7027af53f1fc5e68566b601c91459abd27cd2f4019470a7c6d6740b58d1e0c8514e1be80bf11ae0ce3dad9719e8ed3e8502be357d78438e4ebf40f0b6ac7166daf4ce6b22f23d4418eacdbc23cacfda4d236197f8e9195914598b968c5a3ca993befc60899ba4ea6b9005c92adfa0b78745a87a4fadd90f96c219fb631b1e279688a3a477250fbd3a7f3daf6b93532cb261629342c37aee43a788961f6332db4844e4738b2c1e382ebc7352c5544ec98042d57e13e779026b06a38d89a793070c0bb2f81850cf7e255ec47d85fbb4e2a670d6ad86850ede06f1a59b8c6b6587361bec74869f2860772a4e1a6ef98260b794a17d86e689187d4bd80879d2e652e8a468b04c34448d2870ddffc37c0aea8ffaedb44b31053b6991e4fac317a3a8f550c6d7574d82edaef2db4a4f19fa638ce6507e1f431f4a5ac5d60b4ecf08e565165f51d621048943c188fcea19a85e9fff4087498721d4237a73ffd2ed8625d09bb6dc11cc0d35c20c48c0d7811301d5b6c6dc9c2a04a629dc68bb129f50d4f80edc7bc3dc2ec6420a09dae2459f7b4887ac3d4bbed916a8f23500bb0f2af2da062164e62f3f58cfa5ef6cfc0cbf214bd19cdefcc03ad22b24c8d222ee3b4d2a8e99396a8c2b247588526674273982de72bcb08b72dbaaa22db3198ec4faf5ebd07416dd106fe26ab84ce692d752cc9de2afbfddebe1ecf5e7a0b8c64d4f9f1f02daa44a743bfd555ee558b3299b8754e473375e6aa7e2e2dc720b1812eee1d41e8dc4973d267e6fe23deedc4dc4d0202c3b87325c6e6f6384c9fa21313f22a356e42e62923e9c72d64f6694c6997f3c4f92b1d241c59921360fa3c1b98e55573f528f49fa089c371f28dc204df752c66a86b51fdcb6bb6d71dee3e00a6d0fc4ddf143dfd68297a312ad0aa43196cace2ff5198c50dad0faecd5394769903f05d6570a914a15c7d0e5f7b32d0cf667f2e53b546e6ab7145d787b8c072f394e57257ffd826a21f993f4ee8385e8c02b9d9cb8be5895c4d7eb4a3c1ce01f11f86fa05d3d1ca9145d4f78da3942be2789e5629481fd311afe733e5df5ef9b6ac77fcfac81a5ef9059d7a6672dcb9df65f617ee5d2256c8fcd62a749f553abd1902478f0a9b86e138509e8a8caf7ec9b0e44e1312110ce42ace1622dd350b9e87b0d2009642ead1def86576e9d685c1e33b207a75bbb93715443c4ee8154774f2630d5c8842dd3b6cc31288d6d7eb402c182cd01a7bedb7939693e5f3c86bef96324e0a48374be3c15f6a212ed9eebf54f7bd18fffdb6fbd7f1b82009bfa59b2dc065dd366359e0a4bd64581beff14fa021cc8d7d9732a0b77767544759ab4a1fba8113479fc8e068b48763a372d460804a72eee5e88d27ddae20efae7283b489d06cb63235527ed604288534c7de109e650a094ce0d81f39ee7139ff1d16d96086054a48d1a099a9da9f8ee81470c351a7a144f96b7d0059063456146a2afb25462bcfac863b554b6ce4158c6eef5bb0c7a97f061a0e7b68d286be44583f0883ebc1962799ac3c1d3ed7b331c20edd3bfc727b1ad37da95d8f09a658ab5cd352fc534a7efa248166e660773edf6492b2c16261d7b19b5517842ecac17c3b4aeedb8420fd8430579d3ae4c2a2beeb1313dc899f9eaced3e31ce34114dba36054e7a96d0141443177a66f0196c7ec9342db01c19e805c7ed8ae25f621b74c1f186b68f82beb91e07c850679df6d83aa4a83c926c2a265dd32824ffc8b86191b40d6d928767620115d5b6df6fabfe8aaf210229bc1a6b663088841c58aa8e90936195353d668b4346580a9031ae125d592811a0dee0db5a5afec6457a29535fa715b48d2c38c3db0ea6a842c4dbe6cb430716fc6da506f4dfc391ab26aca6cb9676782c0500f3e8ef9e8b81b1e62a7b20c9a70f5b794e2379ee3dbeb1862d78706e3baa7037a49a19038c682805ec12cc7b092a6b200d73b019d8bee8dbaa6f6bb09e64a7a4897329a7480d2b52d035162a01fb9cf51d954d53002d6f9f761433a4b27c79870cdd4d53ddb336c240de3480dd355a0a10fbbfddfa8dcfbff0c1066ec20822b281bdffe896f5002b7a84180d3f4504ace485f4420c22c3b76f0b4fb836041e189d08fd27c1d5c0ea455056166909acdcf38884c410b27c591588cf348f10140ab6327ae8af7df1ab868120f9d253a52a328be84d676518b6103abdba6de60274885909267c2c486089902d577877a86d240ffa64b695dcfa15488c36210cfff38385dddab0d68cbcb41b60702c9ad30c9e9438c1a2a3909f65934834b4cefd3698f9a935ab677ab56a762fe965f8cef5f8094aac4a4b6c25f186fbe6e61818adc4cb6f0ddde6089c8f5644f2c518ce33d680b9c3a1be8bc5c805828995cbfbef91516643ba4a717b022dd2eea13be884928ac3282481d8ac20b4eca0dc0a68a8ab7001f0bcc921ea1df8074e6ab6c781a28d0586d205c4e3870074c23e53f0d66f72e08c5d9041df200a13ccdb8b2981d84a1ffefbd593a86eb3d51e597c5e37e353050dd943a049cb030498ec4ac0758800f740f249f69dfc575edd6a947d4278fc32f347ba889373234a92933fb18474bc49898bf7061832dbc3e686ebc5b98b06447643959b5b94892674a75249f845fa27ed128e4184947609cc8de4dd3b8c6bd5b6ae623e1f6c5eba7de6ae0420ca62d1ec067fab5f8522cd390949301365c523c8e0fdb04e68a448070238482306065be7e76625cc5e4373bbc3cfa0b2a33fec01807905de85977c2620226a4fd274c6911ec5d7c197ecbdef59bf52dbc91aa92d7f434e494e70210aaf380188389322cc92811f7f6c26e5a4e7543bd674ba4c69bd4dc69f4bd0d293b5f0c93dfbfa89f28c4a2974ebd5e71ba6300508b81b23452538706401e34f36ad27ad6ba2ffc075679e4bc1b35e66d9e3a06d1416dd68fe28e23e919e372a6fc238f397c356e7ee780e745587e3b11255fe62aa6db86b3e1968c1d6bb34f2d915d6e8257b1fccae74ca20eb8aa236f2496ee2ae74fe10af495692dd91af1199f0c4b2af512cebfdb9195ef5651608fe68fc7da419bcde0ddd808fc3fe7f5cb3be2dc03b4ad5076b2bd4520e6f192b6b4abef6a59def8e17e62bee657c796dc5fccff24608d996b0bf2559549e268d5ebc67382f1d2686b1e1c6876db87f34379b7442067ce6e7c2bc47674a5ce0f9f3a1f72cd578eb7726fc333ffb47d993e7c658f391abed7cd6ba7d86b2a82eea17963df1b40c44a8ec80f2e22793c30b84df02159d4493b1c06d104669c4dc9be2f4aea237b992e28aa70b6a3374b0e0995b29bfe1b0979a17c31b67efd0272a8819dbe7272568028ba3fa7071852162198135396d978bceb061a6902fd0345cf460cdd5fafc952d36a3917728b4d4a9fd3751aac6f5cb13b79c02215fde036c7c3af8a7a2701935df3649cd05b9d2fd2e2c8577a27a33d6af70a81f7deff0ff94bcdc200cb79d63cb2a68733724144b021db46fd079691110e40db6c3353c22fcae04ee39359fd5b8f3116da38868cfea2679f71b61bc746c0ba136d878ebdb1d2a68513d54c3a5e580c293694b5ee5a7ec6f2c5b3498ab00223160fff91a6fab30caeed461ca28987aafdca4faed3a8dc4a93763ed700689cbdb0cf3f601203ec07aa1df38c9afb2482e1563405e5cce7178e2468d81c42bcc5eebf2bbb9db516e09973fb88f386aeb565d2bd3113b94a26ed0eff67ae24a09756e5b05ba9d8b3080354b9f61524c61c6089285671ae51887b6b9d3499c21e101083594e0258df80ac68161b2d21d9b3416b8737c2354c4e0f4dbf4be4782e76c98f5402165d9a8c4c4c06e511781872b58f55bcb81d5d17d0f89e1eddfc756eb68e2f544ad0cf21fbb71210561ae60cdb3e9284cbea416ed1cbbee53d4dae305ff5558d84b007de2a1b61603c46d490a11e4efd2aaa5b806827a69c952f4b9e0bc7955543a932b40d2369d6a2e9036e1a0f15fb01b62565069b9f0eaa0abd3459d651e5a9a2590a6611248c5ec87813e8dc11eda133f21048ac0898ad6e67fa5b7d4fc15e8f475be9947f3559d3d31023a38f50d3c54ca7781af28fbf0a480cf37d442d07200501c3e4048be7533763f5bfac8600f812079c65a4674dca143797b5c1b227c61adfbe9b11f41307565740e6c7992859023303280f92218198b127f1ac276da4027b2eba7795968075ba071140caad402710f5f8cd3e73e46c22d5b37df0b1ff6d51d247602fa715d237156c88960807ffae353ac0e0df6b9815111f9cde8ca20538a076b444fbdc7740b74e672463da5607254b81c1c99e7e781c59806e2b25885e5b38d192a40c0f59147619b07e573d1d28e6461039ad8a72ab6981eb19529c4f956a4b751b5770a85cb68a86be69aed2ac467bbc79a5d9b40106d3f3c0a5bea66ca4b3ecb7f8e361165531db45597a4a5c510e39340fe79f4552dce44246561cd4e2a247a6b1ec9ce73de53a368ce2a5dae13c30f4ce9d4091a5b573d2b13fd0db9f67fc850013561feb63a5a9709f57abfddcaf0d199befe1d0d04eae899dcc76b4c6db98e446db66f412567ed4a85d65bd727d6eb69169d143e1ef9da1de5add47c2b68aca330a20ee37d8c8ed6faa60465f096b13a987baba407718b86914d7a03b3145ea2246b320e45998be7864ae2876db5bfdc5532ced31abf1d0343a5e552e7516b07ee05cec2925da82ce3341eef472d5198f5981fa251983f60c083d2227610922a0bb747bf416cc8ce48b80556d205d28674363e5b3c189f2b96f2c45b4b8736be31dfc736f17da3a000753ea5d977134fcdb477f2ff0e1eb99f1ce2fbf6e650e17cc5bc61e7e86a97e08ae5302b829323a09b290f174c883f7ddd4f7b2a014dcbe8aa3275fdb6a5494457e87c881b6d44aa08ba7a957824e1235455c93a6b982fa1502662c5e00c45170ab9a16a2d87a4a2f9e19cb64671a7d98456670dc3090fe60c95ecdc45b2c5c70bc8ec3500b4af799e29e50de6380391b5a0013345e64267304b19ea6acc93976c96637e83ace5ac831224f77021c4ef5dd430d0ba96f64c1feb628b31a34cb833c06cc4bd50d0e407b46f934c01d456dcf26b3b798b1574acb6a2adc5276a55e435717f77606a1d60acf42dbee2cc5a3a1b9faef6d49e496e60540996b73e3baf25acd9a1527ad9c7b354607c616db664a4bb8843b520fb23ca065a712875502d078f7f4f8bb658565811231da9bc6463d28dd5ed99e3dd887e036f0aa3367bebc7b347a5e9c92652f581a68d618783fe34a7d6855ab2332d39704ee68fc12940672977611596e5022a148c76324329fd69384ea48f9314e47b4b19425ba0af0b9a53a1d741f4149109854513d9bfcdc0f5810d72222aa13595a963982614de8efab902b0bfbffb3d88cc2790ff357bec943f7b5f3fc7891e51058e7694a6d2d7cad498d323dbd599e022c36e2d44d137fe36a99dfd43e35de79dc54d4d3ef7a95cc6d59cd0c5cba8b94240cf0845dad5c48cf72dc5e8136cca8f6bef7c6b9be571ec9672ee8e473c27e61088a789072d649b22f6df896880cfbed63348e7d7d97a57971f14cc527891049e883592a37a262ac942be36402378bae38646a976979f8f81a3c8e28ad888fb2fd2fe66deef5a25df1a26e36d1bd058957cd2e684a30268b4b8d2a986500e8c63c2e1f88fb9d442d1a7699e424d5d389486b29d8232889b4921e852baadbda4f22d075c82d954d71fdefd05c467f34adc59a219e74b1af3193bae640d9cce26049e71d9cf6408b54cdc0ea4b48daefbd61c12f22b857d7d21b26b337d3ade8b6710e9a34bf527b5020ec845a363b141ab7fca88c3c1a406472028e6a81a0707ddcb99243324a8db4f6f63584aa55f92ac52d9fd37246688ac3ba28f423a6210e33f5eacab55c99742c49e1935084796345675b212052496a8e865ac081b4687b62368b2253047f9fb10ab07b6800345078f3539601706cd90d459da25a1f69da8570e762c9f58cfe00add3dc6f741d2692de1295a91e10c32a11aa91c04b51b6a34f4badeb5945b3394f3d2efb5fa6e05d83a2b76178cb9cd58fa04e8625451cf80cceb8fa4582f9d1298bad77acc2ca72971a8323c8f6a3e44b87244be2bb91b213ee50a02081266ec81de86a5ac1c3aefc2aca3cbc3fa1e7041f6ebf2aa7971daf33ad9dd733d9b817a51ea78a2df2988550981458fd3d2029e2e913f03bbc27f2829318f45aa90b592efb475b6940941caf209aaf23e9cbf52fc476b715837e1e1b353325f55ae6b5a32f0af8a15c2caa76411fa7bf23f5f4074a5223ec9de093206e30209ca49750b34c108d78dca72413e3fa30d5a0abfe475b203ff69f30fce6590dafb4101b1918db77f8cdcf0fa34b7bceb588ff2eda9635713e0c4e10d9a34d5251c8e95d64a8d84129ecfde6f0e57201a63f80d92dd1e75ce4fc6199a85dcdc129d67022d4fe32c84d057e15f837bb0df8cc087e6f56297d661b5797714249a33e5af0c76a4c02eba7cbdb6cb149b346463b5a10d0336ed39757c35046edce4ee95f17af6bfaf2a6c0c3a356b99645ef0039fa6e0864fa23900fcbee51669591613bf53d09e1d745212b47f902b55dde4a989224bde494795590e8a5e422ac5dd245a80d49394b03044508aab3187db92396be5444d9a03cf702efd087ef586b1d640749d47f5165abb077002458df2310fea22521e15ac3e87ee737c0da6d952ea20c4de2d910ae3e1830e59d8b98029292c96873662a02dfe6eb9dcfd8841dc15bb9d1a5656d28f0d9c072ed209e612a74f5ded239bd5e7e6b2b7f5f7e1e41670c1420b548cd02c8b75d806772b4973b1d06478438bdd273123c2172ef656a56acad637f5b240819cee12f5ee3c68cf26d1bcdcf24eda8defa0fd71f200655452181859c07cfd0088c98f04be5472efbb55be806731fd2229fcea8e7ec0a3d896be7dc1a842cf2ea705dc7dbe9be90c24a97647ad730bee4b75e9713422dbd03561c44f3ee97ae109bd7b176e2b3762911e09a5831eafe4f5a88823a3581e93e939a1ec2cf9a8464a4f0bd31110f6cd0505e4c9b571366f46f37940c2e467112ffbdf75b9ed22ab59862d83ecc554f392021a4121f9e1ccc74504f512af7a229db0416a744a127238412d6f72fc9c11e4a9aa34c2915badafb1f6d1e9091922980d1fd6542e3846d98701d50b727467676adee185ca748d7e3a557d977eb8f3dfe604ff7105a179dcb213151773b6b2833edacd0cab2e1f64aca961a3d9fcc20ff7387ff39bfeae2c38c1e7acea48f41da75b2a63728252f66ecef99c76cd0217b6709991535f274b76d09f91020b4fa5cca633f2e8de0b6c8535024bc4cb3557c3742c60877b8f745a75cf0eb8c5068458005a2f2e686ec16c76ea61c66b4309072da4665126cc29da4232db94b1d233e8f9ff0599d514e9da804f716f5fed4d20799be1eada9b9d01a4dce44016eef57f4b5959b3083d3c2f820972c9d1bdb63c1c5510454618406cc9f62829fc75c5bfdaf495320fae728fd023a72a65e24bf9c8b34f0495597a9bf026ebaaca3eb4337a8cdb9b400048e5a041c0e1cf05102fa6d5af62ccd0f1d53ecc8c92bfe85290b6e7141836c379751470a01c952a7660247b18a52ad524c09de5ef8b81a8cdea9328a4ef3ea643011dd3c9226837c96121adbde1c30e625a1d3382f9fb7cf0fd0b7530ec08257ca0a4cb6f12f13fe6cb22e66c68940ccbc95edf8e1a585d276cdc44b1c4d4480cae66a7349a3be3ca2a4e656765ee4ec7a8b4522a9502d2a60c23d78f41f0200f535feccc35d8c1c0d3600258f0abde4d54dfb757daa94bca61b5fafcaa58eb180a2c87b35845563131cad551b01980b187b5098a0aca759f3c08dd4435441ff9cb9759def383ef4883d0f96b82733d7aa051e429316c71536c53aff0a612316dc835336fca871b2cb0cddc19e37eb04a14da8451d73592a93e2661c4e25ea7cda955c74cfbcefd64849e71833ec584c41fc06fc05c0c354c712d75824009b7b82cbb870708e4fd6d18a718c1ae9dfcd4384b9d5b4372524bbb5122b69afadef29746356f862dd8f26c54c8704b90129a4f3b390320509707bcdf46b0e479716ddc77776d35cd31815120e6ca1c4d8912984c4f8dd48cef8936e29f703c813d784a734aaa92cdc3a3f838799a07e04e91581f4866880769a60c2cdfa623a94d2f628b2c92b1272ee573f25ce6be4d0a191c291bf3657caa60fb7d039dbc90d34c2db730c614e288750d49e4f7d3a87388d8c09bfacc7daae44fbaecb2b35be09eb734cd46e868db53ccd98cdee70d5983a3405b60f19c04fb4b66168ba84612d1bee61cd45a2ca3444b935cec73a2347295b8bfcf111cf48d372d2aee6b7162f6f2fea42cb5b6c09b93cf9b9a1a98cb51c43d5850312d044d49d3b1192b93c07f659087a992386404a32ef470f917ebabc7fcce3bba8df00e32c366ce9b4be75d9971ce6c5400258dc705a574905d2fde83c92d5454e9ad65f0e4008aa2a9524a973f5171d48ef8e47d80fd99d316285d2518fded8feaea1bcab8c0eaf93ccd88abd4e7b97525b0a37ede16a249f383c337f111cf3a55733b278025b8b4fab3f76cf25079d6558a855ec18a437409f9f8d24366eb893b7a075ecb8b67f2b0253d12f323ba9d96a27abfd7f12f0304b0ebf0e241aadb68b37d6f6fb7c05c66ae071f0f0457853d6f4808718b21bf5074e7eee64d2434c6bf835eda84d60c2535fcf2c0a297853f8b00b56269da878eaa29f10253f97c42302de37f66f815d260753a53c548123d6b8045808934de97c5903fbefa635d7dcc22439e23b08b0ab6904a10976c1279ac35d56c57b263ceedd4504a2e5187a06c0d4de96dd052023f409c34a2811410edbce2c8e381cf2931261609906a742560df85b1b50f831e8460d64b594c997e8ce04ebad630de06fe915e89012fe0e216088ad22d8f54f9a7cb3189762720c55a760c4c6bcf5e179762d2e7101435dd13e6ab26adc9699c26187cecaa1f4ab45bb961f81afe77b46216386091027bb40a3bf548639d628caa4c2fd84eb403b8498b429741eafbd4483b7b3388ffeb391a5bf09e537d5fcd9a4ca4fce4bd406b8c261d710716d90a15a1687236e4ad243153359c7548405d20048da862b545bc3b3eac3a7f73badac8ab5f0f2ee4a911c15d1080c4cdf6997c223e09b340f5f1bb970c930b458f768a0bbbe787cb87f181820a3d122b3548d676b3e5a52cbfef06d7424ec065c1f34c230407f9f5dc002c27a9666bec439affe6fee2f5cb8b562a5241145e89e2d327a36292b125bca2e0589c20092651503720d4323e5420e094a694a43497a6d21302eb473938aeef3ed8a9433ff508e5000ce6a7e2da5986e4b7f5a70ea5fda1953b9a2dad4d1fc76b18b9412512672b9bcd7fcd401b042d452cfd055c9e24be871da22fc26ca084bc381994953f5d3b44c9c34da8804a46e522f5850223bb8524b4ee1ca02a98a348dcd61f68809b9a2d2c994b7ec6a3400754a60c7c97e8f34248a3b2a41b42000fd4e7708a54f014fe1f81d13481f7a07448e8d84fc7ff4c45235f7a23f8e5e5369e27c5acd09b24d2014ad67827dd5fd0a56d9b98d3ebdc67c541558ee991a736dbe75ffa07bc36be3f1466c5f4db9d40c9ab17dff8e591905d9143cd450a98a03535215a7b6e310559b09a91888dcd214d3e3e921407fba17d4841d813fb02799eb88d9246a5b2e81bc2a3b622bd60cf9cc9ac52f5522399b2da31211469dd913ee6c22ccb9356bce552b31a86c67fab23690aa12bd15410a1155bede7ea6e35a19cc54e5a95897e7e7d1ace542d3d11625c9151e8e50d354a43b0e7bcd4ba27103fa0b416d4215a28ff5e0828b75324d8f15d42370fb74fbf9cb90517b585b1750b3735c46c289c4ce06dd1c6d1cf5188dc9f0a3705b3a471e5a06f9ba1a3538e980302cbc01fb3636acbf1d4af2206f10ce47c7c265d87b9fe1c2f86e5011b85ce510d424a8bf6afc598c1b23c2960ce8e811dc87a5d04e63a27162b417c94b3fb820a3742f64e8848dad622fc71cc3f3ee1627a9eaef8eb6cf83fc07ac14f97069e7e0cc8049148bc544dbe750ae025f7253c62c1857893ee891c7500171b8a47b7dc093f0e71140e699174b3761857b883e13d6269d6c886298121bd25cd9f75c5c4ba61b6926f3050fe7ab0ee59044efba8834c97aba48aea29ffc1005a98d86fe7394f1c7913f316a860241824e94562b72aa93f145b7a105b396ef9d849fae164c6eabffb7f132ac0157cda518e53bc9345a8fc6406bf6f4fef30e92a46d76e4461adfb3689cecc650a35e1c840e159d4c07a249031163f48e64991dd22d19b2d61c352a9bcfe64e86e05b0db4c91c0c057f0d39d51e49a96f7292bfae2a9495e009e6b131b4a251d33566207c8cd976e0f90c20c5228f6aa8fc4817b40921060e4cf9fc34fa2e8cf01e95c8ddc326525033638c684dfd3c0cf3bce01b251733bc6adf84d9272cdf1f9984ac31a59e841eea9baf439a0e3e11c6cd14910e5077a0b0eab36820130c659ec06d74349734997430a3a5a941b89b87ad4d43df96a1a9de9f6895a47a7468840b4880625b38baf79efc5e864a1014f57f9048d8215d5d0838e65325d86db5ac83c05b0b42b0f128bc9da114ff587a81ecc555adeb7e0b35325f71840aa98a9803ced294a34148d7046e6e9ce7becfb87bedc8bd1f1d6607f9491cd08cacba949fd9ce2fbc63f03af596fec0011b2601739ab17c7dda5d70aee8f41cb9ce9f6c17ddb2a5ce6a6289b1ae4f9b3c9579dd0b5ae527814b3867156816c707d60a7c992833e7a98dcf768536cdf71da3d4aef7065036864cda69cb2c9b9fbc5f583f37fedbe5dc074e64e447e93af7fcf44b4508c8a95edec2ec3a4dfc99a7ab2d88e9f6aa470ca808bb2e636d38be9d5037b8211fe211a27f08bdce8539d5863058f8416e2b198ed1a9e58d43f98ecd06be7616a0a2e171db21d05c9b48575e2952328ad2c2989286d53d5d01e33cd8b4a458b7430f48078252f7ffa347d27231b3d3d9e8735000d40aa8adc33091f0a1f876ed81136afac82990daf70e04f684b4486164b1566d5f3674a9cb4e74c198940f46bcf9cb5905b9c16ceb551b2f528fc5c27b593369c6b2ffabf9ee54c4dba8433383091d9564a7a9981b816cb70f768149c792a69c99eed65f8bfc9b880895de49a863dfb4941cf0295388bba01c42be6f4e7fdf8961f3558fdf913c646a3ac694f51ab2fea0e4d4577fec6932a91f01dce0ab41fe046eb4bf374d75b39377f2e80754159aa967f953ce68b68e54367cceb437876f02d3433e1677b32593c1382a620bf8831dc005a21c7d12b16accfdbabf4d4c69d53a0c7e5ab4a48c9ecb16919880a8c70e2951f4dc0d446dc9ea532896cd2d64ddc78153b57f5a96650a13acfad69d13a7cb9efd17c02e667beadf5c64c6b2a3188deabea47a6c53fbf9a5bcd0be4b8427de99c26187cecaa1f4ab45bb961f81afe77b46216386091027bb40a3bf548639d6e9e189f67036519dee56cba6d9f7199d88b0d5e4bae99e009df96d9c9f9f82dffcd9a4ca4fce4bd406b8c261d710716d90a15a1687236e4ad243153359c7548405d20048da862b545bc3b3eac3a7f73badac8ab5f0f2ee4a911c15d1080c4cdf6997c223e09b340f5f1bb970c930b458f768a0bbbe787cb87f181820a3d122b3548d676b3e5a52cbfef06d7424ec065c1f34c230407f9f5dc002c27a9666bec439affe6fee2f5cb8b562a5241145e89e2d327a36292b125bca2e0589c2009265197a9aaa289033c0d5627efe02e9eddca6d8b0f37779684395f0a475b44ebb80a7be11122a781a1e57c6b6565276c031e318561efcbe1f420db483d48240c6345971057f333fd11d9e1f865f38aa21abd5b56fe96fcf51458743f6ff400989fb5687e950862b070f2d9d963564fcc0c2db8e9334b1097a18eb19d899b099ddc1f1708fd28633977c395ffa659ceb976f447ebfb3b699ab24c1fb14f87efbc65e5255b6f1cadb7351ffcd34c3f4794fd0d9b6115e37bc65bce2ada6daa448402a99c26187cecaa1f4ab45bb961f81afe77b46216386091027bb40a3bf548639d6ca043c7551518f99b1109a874cbf63bc08a171b1218e2d64efb123230ab70cc8f5a0d88bd0ae63f8cdf0404667dfa63abab4f26a366494474260c974c7e24068f8a031f276d3a7192ecd518e0eda721fffe9783143cc8cb8b61d18095a42a6e1fcd9a4ca4fce4bd406b8c261d710716d90a15a1687236e4ad243153359c7548405d20048da862b545bc3b3eac3a7f73badac8ab5f0f2ee4a911c15d1080c4cdf6997c223e09b340f5f1bb970c930b458f768a0bbbe787cb87f181820a3d122b3548d676b3e5a52cbfef06d7424ec065c1f34c230407f9f5dc002c27a9666bec439affe6fee2f5cb8b562a5241145e89e2d327a36292b125bca2e0589c2009265rootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootghc-8.10.7-150500.3.2.5.src.rpmghc-base-develghc-base-devel(x86-64)ghc-devel(base-4.14.3.0)ghc-devel(ghc-prim-0.6.1)ghc-devel(integer-gmp-1.0.3.0)@@    /bin/sh/bin/shghc-base(x86-64)ghc-compilerghc-compilerghc-compilerghc-devel(ghc-prim-0.6.1)ghc-devel(integer-gmp-1.0.3.0)gmp-devellibdw-devellibelf-devellibffi-devellibnuma-develrpmlib(CompressedFileNames)rpmlib(FileDigests)rpmlib(PayloadFilesHavePrefix)rpmlib(PayloadIsXz)4.14.3.0-150500.3.2.58.10.78.10.78.10.7-150500.3.2.53.0.4-14.6.0-14.0-15.2-14.14.3bbk@b'E@a2@`@`OL@`"y@_<_H@_@_xg_/@^Ӝ@^@^W@^J@^:@^)^&^ P@^ P@^ 8@^ ^@^C]]\@\\@\@\\ @[[@[@[[@[][][[[O+[8@[&M@[5@[ Z@Z@Z@Z3@Z7Z5 Z+@YeYY@Y@Y*Y XXM@XXS@XWW_@W@W;W7@WV޾V`Vl@V1V_V@V$@VwVetV]VVf@V@V@UUȒ@U@UhTUg@Ug@Ud`@U]U]U-@U+Ut@T@T Tи@Tи@T@T*@TZ@dmueller@suse.commliska@suse.czdmueller@suse.commimi.vx@gmail.commimi.vx@gmail.comdmueller@suse.commimi.vx@gmail.commimi.vx@gmail.commimi.vx@gmail.commimi.vx@gmail.commimi.vx@gmail.commimi.vx@gmail.commimi.vx@gmail.compsimons@suse.commimi.vx@gmail.comschwab@suse.deschwab@suse.deptrommler@icloud.comguillaume.gardet@opensuse.orgptrommler@icloud.commimi.vx@gmail.comptrommler@icloud.comptrommler@icloud.commimi.vx@gmail.commimi.vx@gmail.comptrommler@icloud.comschwab@suse.demimi.vx@gmail.commimi.vx@gmail.commimi.vx@gmail.commimi.vx@gmail.commimi.vx@gmail.commimi.vx@gmail.commimi.vx@gmail.commimi.vx@gmail.comguillaume.gardet@opensuse.orgguillaume.gardet@opensuse.orgptrommler@icloud.comptrommler@icloud.comptrommler@icloud.comptrommler@icloud.commmanu84@outlook.depsimons@suse.comptrommler@icloud.comptrommler@icloud.comptrommler@icloud.comptrommler@icloud.comguillaume.gardet@opensuse.orgptrommler@icloud.commimi.vx@gmail.commimi.vx@gmail.comptrommler@icloud.commimi.vx@gmail.comptrommler@icloud.comptrommler@icloud.comptrommler@icloud.comptrommler@icloud.comptrommler@icloud.commimi.vx@gmail.commeissner@suse.competer.trommler@ohm-hochschule.demimi.vx@gmail.competer.trommler@ohm-hochschule.depeter.trommler@ohm-hochschule.demimi.vx@gmail.competer.trommler@ohm-hochschule.depeter.trommler@ohm-hochschule.demimi.vx@gmail.competer.trommler@ohm-hochschule.depeter.trommler@ohm-hochschule.demimi.vx@gmail.commimi.vx@gmail.competer.trommler@ohm-hochschule.depeter.trommler@ohm-hochschule.demimi.vx@gmail.commimi.vx@gmail.competer.trommler@ohm-hochschule.demimi.vx@gmail.commimi.vx@gmail.commimi.vx@gmail.commimi.vx@gmail.competer.trommler@ohm-hochschule.deschwab@suse.desbahling@suse.commimi.vx@gmail.commimi.vx@gmail.competer.trommler@ohm-hochschule.depeter.trommler@ohm-hochschule.depeter.trommler@ohm-hochschule.depeter.trommler@ohm-hochschule.dero@suse.demimi.vx@gmail.comro@suse.dero@suse.demimi.vx@gmail.commimi.vx@gmail.competer.trommler@ohm-hochschule.depeter.trommler@ohm-hochschule.demimi.vx@gmail.commimi.vx@gmail.commimi.vx@gmail.competer.trommler@ohm-hochschule.depeter.trommler@ohm-hochschule.depeter.trommler@ohm-hochschule.de- add ghc.keyring to have source validation enabled - limit to use llvm12 for Factory as newer versions are not supported- Remove dependency on binutils-gold as the package will be removed in the future. Gold linker is unmaintained by the upstream project.- add ghc-armv7-VFPv3D16--NEON.patch to use vfpv3-d16 on armv7hl- update to 8.10.7 - drop 4134.patch and refresh ghc-pie.patch * portabilit yfixes * Export some RTS symbols required for static builds of GHC * Fix LLVM version checking logic so it no longer complains about supported LLVM versions. * Fix some RTS crashes on Darwin due to mixing up the closure sizes of the aarch64 and x86-64 backends. * Fix a crash on the non-moving GC due to incorrect logic for calculating the header size for array write barries * Fix a bug in base leading to a high likelihood of space leaks when using lazy bytestrings * Fix some timer races in the RTS possibly manifesting in #18033 and #20132 * Fix a number of bugs affecting the RTS m32 allocator * Fix a bug where code may be unloaded prematurely when using the parallel garbage collector * Fix a bug where the linker may during shutdown unload code before libraries’ atexit handlers have a chance to run * Improve code layout by distiguishing conditional and unconditional branches * Add hs-boot file support for -ddump-minimal-imports * Ensure hs-boot files are built before source files in GHCs -M mode * Fix a long standing GHC API bug affecting clients like HLS where async exceptions used to cancel threads during typechecking would be caught by the Template Haskell evaluator and reported as compile errors * Improve error messages when looking up packages fails * Fix a number of quirks in GC accounting * Fix a code generation bug which could result in entry of unlifted objects in some programs using unboxed sums * Ensure that POSIX signals are not delivered to the ticker thread when using the pthread itimer implementation. * Fix a specialiser bug which could result in the construction of recursive dictionaries in some programs * Bump containers to 0.6.4.1 * Do not treat -Winferred-safe-imports warnings as errors. * Fix a bug where typechecker plugins could be run with an inconsistent typechecker environment * Fix a simplifier bug which lead to an exponential blow up and excessive memory usage in certain cases- add 4134.patch to fix build with Sphinx4- always build against llvm9, also on SLE15 (suse_version == 1500) otherwise the resulting build is not working (llvm is 7.x there) (bsc#1181571)- update to 8.10.4 * Fix a crash caused by inappropriate garbage of heap-allocated data reachable from foreign exports- update to 8.10.3 * More robust support for architectures with weak memory ordering guarantees (e.g. modern ARM hardware). * GHC can now split dynamic objects to accomodate macOS' RPATH size limitation when building large projects (#14444) * Several correctness bugs in the new low-latency garbage collector * Many, many other bug-fixes))- disable %{ix86} build- force multiversion for subpackages- add --enable-unregistered to configure phase on unregistered architectures- update to 8.10.2 * Fixes a code generation bug resulting in incorrect code generation for foreign calls with complex arguments * Fixes a bug causing object merging to fail when the lld linker is in use * Introduces a workaround for a Linux kernel bug in the implementation of the timerfd mechanism * Fixes a few specialiser regressions as well introduces a variety of miscellaneous specialiser improvements * Fixes a potential loss of sharing due to left operator sections * Fix bootstrapping of GHC with the LLVM backend on x86-64 * few important correctness fixes for the low-latency garbage collector.- cleanup specfile from Leap 42 and older remrants - drop fix-unregisterised-v8.4-8.6.patch - drop fix-build-using-unregisterized-v8.4.patch- Update ghc to version 8.10.1. Important changes are: * The UnliftedNewtypes extension, allowing newtypes to be wrap types of kind other than Type. * The StandaloneKindSignatures extension, allowing explicit signatures on type constructors. * A new, low-latency garbage collector for the oldest generation. Please refer to the compiler documentation for all details: https://downloads.haskell.org/~ghc/8.10.1/docs/html/users_guide/8.10.1-notes.html- update to 8.8.3 * a compiler panic due to over-zealous eta reduction * the ability to bootstrap with earlier 8.8 releases has been restored * the directory submodule has been updated * the process submodule has been updated- Increase memory limit for qemu user-space builds- Fix typo in last change- use ghc-bootstrap-helpers on all archs - lower build env requirements on riscv64 * make sure we can build on smaller systems * adjust parallelism so we don't hog big workers for almost a week * many thanks to Stefan Bruens for pointing out the issue and helping with the solution- Update _constraints for aarch64- drop 0001-Fix-check-whether-GCC-supports-__atomic_-builtins.patch * fixed upstream - drop D5212.patch * fixed upstream - drop fix-build-using-unregisterized-v8.4.patch * bootstrap compiler is 8.6.5 now - refresh fix-unregisterised-v8.4-8.6.patch - clean up spec file- update to 8.8.2 * A bug (Issue #17088) in the compacting garbage collector resulting in segmentation faults under specific circumstances. Note that this may affect user programs even if they did not explicitly request the compacting GC (using the -c RTS flag) since GHC may fallback to compacting collection during times of high memory pressure. * A code generator bug (Issue #17334) resulting in GHC panics has been fixed. * A typechecker bug (Issue #17112) resulting in GHC panicking on some programs has been fixed. * A bug (Issue #16707) in the implementation of software transactional memory potentially resulting in hanging transactions has been fixed. * A bug in the implementation of compact normal forms resulting in segmentation faults in some uses (Issue #17044) has been fixed.- add fix-unregisterised-v8.4-8.6.patch * fix build on s390x and riscv64- refresh buildpath-abi-stability.patch - refresh ghc-8.0.2-Cabal-dynlibdir.patch - refresh ghc-pie.patch - enable riscv64- use prebuilt alex and happy on Tumbleweed to avoid buildcycle - Don't require llvm in ghc-compiler for other architectures than arm- update to 8.8.1 -new stable release - refresh Disable-unboxed-arrays.patch - drop allow-riscv-and-riscv64-CPU.patch - merged in upstream- add fix-build-using-unregisterized-v8.4.patch * fixes unregisterised builds when bootstrap compiler is GHC 8.4 * fixes build on s390x- Enable build on riscv64 - Add memory constraints for riscv64, restrict to 2 jobs - allow-riscv-and-riscv64-CPU.patch: recognize riscv64 as architecture - Apply Disable-unboxed-arrays.patch also on s390x- update to 8.6.5 * A build system issue where use of GCC with -flto broke configure was fixed- really bump llvm5 to llvm6 requires for ghc-compiler- bump llvm req to llvm6- update to 8.6.4 * A bug wherein changes in default method definitions would fail to trigger recompilation has been fixed * A bug wherein plugins would fail to lookup names not in scope in the module being compiled has been fixed * A bug where some programs involving StaticData would be rejected with either a typechecking error or internal compiler error has been fixed * A bug where compilation on Windows can fail with linker errors referring to __chkstk_ms has been fixed- use python3-Sphinx instead deprecated python-sphinx [boo#1119686]- update to 8.6.3 * A code generation bug resulting in segmentations faults in some programs * bug leading to programs with deep stacks crashing when run with retainer profiling enabled * A bug resulting in potential heap corruption during stable name allocation * Plugins are now loaded during GHCi sessions- dont require memory-constraints on older distros - dropped reproducible-tmp-names.patch- update to 8.6.2 * Several compiler panics observed in GHC 8.6.1 have been fixed * An integer overflow, resulting in some encodeFloat uses returning incorrect results, has been fixed * A long-standing bug in the LLVM code generator, resulting in incorrect floating point evaluation, has been fixed. * A long-standing bug exposed in GHC 8.6.1, has been fixed. This issue resulted in undefined runtime behavior with some uses of the dataToTag# primop. Note that this issue, while less likely to manifest, has existed in some form in all GHC releases prior to this release and may result in silent, incorrect evaluation.- Make use of memory-constraints to avoid OOM errors- Remove forced 'make -j2' for aarch64 and %arm- add Disable-unboxed-arrays.patch * apply on ppc64 only * fixes ppc64 build - add D5212.patch * fix GHCi on big endian platforms- cleanup * remove unused conditional in configure command- update to 8.6.1 - add 0001-Fix-check-whether-GCC-supports-__atomic_-builtins.patch * fix __atomic_builtin detection * upstream commit ce3897ff - drop add_armv6l_and_armv7l_target.patch * fixed upstream - drop fix-ppc64le-recognition.patch * fixed upstream - drop fix-build-using-unregisterized-v8.2.patch * bootstrap with 8.4.3 works w/o this patch - refresh ghc-pie.patch - refresh ghc-8.0.2-Cabal-dyndir.patch - refresh buildpath-abi-stability.patch- Add fix-build-using-unregisterized-v8.2.patch * Fix build on s390x- Fix armv6 build by adding armv6l to llvm-targets: * change add_armv7l_target.patch to add_armv6l_and_armv7l_target.patch- Cosmetic: replace tabs with blanks, strip trailing white space, and update copyright headers with spec-cleaner.- Fix dependencies on arm and s390x- add fix-ppc64le-recognition.patch * recognize powerpc64le as PPC64 in cabal files- update to 8.4.3 * code generation for UnboxedSum fixed * compatibility withe newer binutils (as) * Cabal issue with abi-depends fixed- Fix build for older openSUSE - Don't do selfbootstrapping * Cuts down build time roughly in half- Fix armv7 build by adding armv7l to llvm-targets: * add_armv7l_target.patch- update to 8.4.2 - drop 0001-PPC-CodeGen-fix-lwa-instruction-generation.patch * fixed upstream - drop 0001-PPC-Implement-Atomic-operations.patch * fixed upstream - drop 0001-Use-__atomic-intrinsics-for-atomicread-write.patch * fixed upstream - drop D4089.patch * fixed upstream- fix BuildRequires for llvm- use %license macro as used by new ghc-rpm-macros- refresh ghc-pie.patch so it applies cleanly- reintroduce ghc-pie.patch (pure upstreams don't work)- update to 8.2.2 - Several important correctness issues fixing potential runtime crashes - A correctness issue leading to undefined behavior in some programs making use of STMa fixed - A runtime system bug which may have manifested as a segmentation fault under low-memory conditions fixed - ghc-pkg now works correctly ihn environments with misconfigured NFS mounts - GHC can now produce position-independent executables - Significantly improved type errors - refresh reproducible-tmp-names.patch - drop ghc-pie.patch fixed upstream- update to 8.2.1 - improved compiler performance - reliable DWARF debugging information on x86_64 and i386 - aarch64: registerised through LLVM backend (experimental) - optimized build for platforms with LLVM backend (arm, aarch64) - improved performance on NUMA systems - interface file determinism - various language improvements - update _constraints * ppc64le builds need less memory since 8.2.1 - drop support for ppc and s390 - drop ghc-no-madv-free.patch fixed upstream - drop 0001-StgCmmPrim-Add-missing-write-barrier.patch - refresh buildpath-abi-stability.patch - refresh ghc-8.0.2-Cabal-dynlibdir.patch - refresh ghc-pie.patch - refresh reproducible-tmp-names.patch - refresh 0001-PPC-Implement-Atomic-operations.patch - refresh D4089.patch- add D4089.patch * fix GHCi issue on ppc64 * see Haskell Trac #11262- add 0001-Use-__atomic-intrinsics-for-atomicread-write.patch * add missing memory barriers on atomic read/write ops * fixes upstream ticket #14244 - adjust comment for patch 32 * the situation with upstream #12537 is improved but not solved. Patch 32, however, is correct. There are even more memory barriers missing elsewhere in the compiler.- add 0001-PPC-Implement-Atomic-operations.patch * fixes parallel programs on all PowerPC platforms * uptream ticket #12537 - refresh buildpath-abi-stability.patch- make compatible with new upstream macros - added patches for more stable abi: * buildpath-abi-stability.patch * reproducible-tmp-names.patch- enable for global PIE support: - the compiler is built without PIE support due to the bootstrap libraries being non-PIE using BuildIgnore: gcc-PIE - the compiler itself builds -fPIC objects all the time, which should make all ghc compiled binaries be PIE. - ghc-pie.patch: enable default -fPIC on Linux/x86_64- comment for patch 100 - refresh ghc-no-madv-free.patch with upstream patch * upstream fix for Haskell Trac #12865 * Haskell Trac #12495 is a duplicate- update to 8.0.2 - drop patches merged by upstream: * D2495.patch - refreshed patches: * 0001-PPC-CodeGen-fix-lwa-instruction-generation.patch * 0001-StgCmmPrim-Add-missing-write-barrier.patch * ghc-no-madv-free.patch - added ghc-8.0.2-Cabal-dynlibdir.patch by Jens Petersen simplifing haskell packaging + Interface files produced by GHC should now be deterministic ( boo#998972 ) + A bug has been fixed that caused standalone derived Ix instances to fail for GADTs with exactly one constructor + Compatibility fixes recent Linux distributions.- drop D2844.patch * the patch causes more issues with parallel builds - fixes boo#1020909- add D2844.patch * fix issues with parallel builds- make compatible with new ghc-rpm-macros- update to 8.0.1 - drop patches fixed upstream: * drop atomic-cast.patch * drop cabal-show-detail-direct.patch * drop 0001-link-command-line-libs-to-temp-so.patch * drop 0001-implement-native-code-generator-for-ppc64.patch * drop ghc.git-b29f20.patch * drop u_terminfo_0402.patch * drop u_Cabal_update.patch * drop u_haskeline_update.patch * drop 0001-Fix-misspelled-WORDS_BIGENDIAN-macro.patch * drop D2214.patch * drop D2225.patch - refresh 0001-StgCmmPrim-Add-missing-write-barrier.patch - refresh 0001-PPC-CodeGen-fix-lwa-instruction-generation.patch - add ghc-no-madv-free.patch to fix "unable to decommit memory: Invalid argument" errors GHC reports due to a misdetected MADV_FREE capability. The configure script sees the symbol define by glibc, but unfortunately this doesn't mean that the running kernel actually supports the feature, too. The upstream ticket https://ghc.haskell.org/trac/ghc/ticket/12495 has more details. Thanks to @psimons - GHC produces debug information on x86 and x86_64 - aarch64 has LLVM backend (requires llvm-3.7) - native code generator for powerpc64[le] (openSUSE contribution!) - disable html doc on SLE, we don't have python-sphinx * Thanks @mimi_vx- add D2495.patch * missing memory barrier on PowerPC, ARM - add 0001-StgCmmPrim-Add-missing-write-barrier.patch * another issing memory barrier on PowerPC, ARM - add 0001-PPC-CodeGen-fix-lwa-instruction-generation.patch * fix bug in code generator * fixes build of ghc-zeromq4-haskell on powerpc64[le]- fix boo#994268- add D2225.patch * backport of upstream patch accepted for ghc 8.0.1 * fix SMP primitives on all powerpc archs- add D2214.patch * backport of upstream patch slated for ghc 8.0.2 * fix issue in code PowerPC code generator (32 bit and 64 bit) - add 0001-Fix-misspelled-WORDS_BIGENDIAN-macro.patch * backport of upstream fix slated for ghc 8.0.2 * fix bytestring library on big-endian archs * fix wrong results in ghc-pureMD5 and others on big-endian- update haskeline to 0.7.2.3 - refresh u_haskeline_update.patch * Fix hsc2hs-related warning on ghc-8 * Fix the behavior of ctrl-W in the emacs bindings * Point to github instead of trac- update Cabal to 1.22.8.0 - refresh u_Cabal_update.patch * Distribution.Simple.Setup: remove job cap * Check all object file suffixes for recompilation * Move source files under 'src/'.- limit parallel jobs to two on aarch64 * aarch64 runs out of memory with too many parallel compiles- add missing C library dependency to terminfo devel package- update haskeline to 0.7.2.2 - add u_haskeline_update.patch * canonicalize AMP instances to make the code more future proof * Generalize constraints for InputT instances * Bump upper bounds on base and transformers * Make Haskeline `-Wtabs` clean- update Cabal to 1.22.7.0 - refresh u_Cabal_update.patch * Backport #3012 to the 1.22 branch * Add foldl' import * The Cabal part for fully gcc-like response files- update tarball to 7.10.3b * some documentation files were missing in the original 7.10.3 tarball - add 0001-link-command-line-libs-to-temp-so.patch * fix panic in GHCi when linking against C library specified as command line argument (-l) * currently under upstream review * fix Haskell trac #10458- update Cabal to 1.22.6.0 - add u_Cabal_update.patch -- update of Cabal * Relax upper bound to allow upcoming binary-0.8- update terminfo to 0.4.0.2 - drop remove-cur_term-usage.patch - merged by upstream - add u_terminfo_0402.patch -- update of terminfo- update Cabal to 1.22.5.0 * Don't recompile C sources unless needed * Support Haddock response files. * Add frameworks when linking a dynamic library.- use upstream variant of remove-cur_term-usage.patch- update to 7.10.3 - add cabal-show-detail-direct.patch -- Fix testsuites with large output. Debian patch. Thanks Joachim for suggesting it in Haskell #10870! - add ghc.git-b29f20.patch * fixes upstream #7830 * fix ghc 7.10.2 failing to bootstrap ghc head on ppc and perhaps ppc64 with some optimizations enabled * backport of my patch for upcoming ghc 8.0.1- atomic-cast.patch: fix signature of atomic bultins - ghc-7.8-arm-use-ld-gold.patch: remove obsolete patch- Remove ncurses6.patch - it's not so easy ;) - Add remove-cur_term-usage.patch to remove the need to access the cur_term global which isn't available in the openSUSE ncurses6 build.- Add choice for libffi in openSUSE:Leap:42.1- remove llvm from requires - add ncurses6.patch to fix build with ncurses6, all thanks goes to Tomas Cech sleep_walker@opensuse.org- update to 7.10.2 * type checker fixes * fixes for Aarch64 support * fix deadlock in runtime system when scheduling garbage collection - 7.10.1 highlights * implement Applicative Monad Proposal * implement Burning Bridges Proposal * support for partial type signatures * reimplement integer-gmp * support plugins in type checker (experimental!) - drop llvm-powerpc64-datalayout.patch * this patch was incomplete all along and now we have our native code generator - drop ghc-cabal-unversion-docdir.patch * ghc-rpm-macros is following ghc's doc layout so no need to patch - drop D349.patch * fixed upstream - drop integer-gmp.patch * we do not support SLE11 anymore - drop ghc-7.8.2-cgen-constify.patch * fixed upstream - drop D560.patch * fixed upstream - drop ghc-glibc-2.20_BSD_SOURCE.patch * fixed upstream - drop ghc-arm64.patch * fixed upstream - drop ghc-config.mk.in-Enable-SMP-and-GHCi-support-for-Aarch64.patch * fixed upstream - refresh 0001-implement-native-code-generator-for-ppc64.patch - disable ghc-7.8-arm-use-ld-gold.patch * not sure we need this, must be rebased if we do- add ghc-config.mk.in-Enable-SMP-and-GHCi-support-for-Aarch64.patch * enable SMP and GHCi on Aarch64 - add ghc-7.8-arm-use-ld-gold.patch * Aarch64 needs gold linker- refresh ghc-arm64.patch - unconditionally apply ghc-arm64.patch- add backport of powerpc64le native code generator to 0001-implement-native-code-generator-for-ppc64.patch - refresh D349.patch- on s390/s390x use "make -j2" to stabilize abi hashes (see also redhat bug 1212374)- disable llvm on arm64- re-diffed ghc-arm64.patch- add ghc-arm64.patch for aarch64 - add aarch64, s390, s390x to ExclusiveArch- remove unneeded conditions- chnage constraints to 12G for disk and 4G for ram- add ghc-glibc-2.20_BSD_SOURCE.patch * fixes build on unregisterised architectures (openSUSE: ppc64le)- drop ghc-cabal-unversion-docdir.patch * ghc-rpm-macros follows upstream ghc again+ add ghc-glibc-2.20_BSD_SOURCE.patch from fedora - updated to 7.8.4 + removed D177.patch (in upstream) + removed D173.patch (in upstream) + removed ghc.git-e18525f.patch (in upstream) + refresh 0001-implement-native-code-generator-for-ppc64.patch * A critical bug in the LLVM backend which would cause the compiler to generate incorrect code has been fixed (issue #9439). * Several bugs in the code generator have been fixed for unregisterised platforms, such as 64bit PowerPC (issue #8819 and #8849). * A bug that could cause GHC's constructor specialization pass (enabled by default at -O2, or via -fspec-constr) to loop forever and consume large amounts of memory has been fixed (issue #8960). * A bug that would cause GHC to fail when attempting to determine GCC's version information in non-english locales has been fixed (issue #8825). * A minor bug that allowed GHC to seemingly import (but not use) private data constructors has been fixed (issue #9006). * A bug in the register allocator which would cause GHC to crash during compilation has been fixed (issue #9303). * A bug that caused the compiler to panic on some input C-- code has been fixed (issue #9329). * A few various minor deadlocks in the runtime system when using forkProcess have been fixed. * A bug which made blocked STM transactions non-interruptible has been fixed (issue #9379). * A bug in the compiler which broke pattern synonym imports across modules in Haddock has been fixed (issue #9417). * A minor bug in the code generator in which the popCnt16# did not zero-extend its result has been fixed (issue #9435). * A bug which caused the compiler to panic on pattern synonyms inside a class declaration has been fixed (issue #9705). * A bug in the typechecker revolving around un-saturated type family applications has been fixed (issue #9433). * Several bugs have been fixed causing problems with building GHC on ARM (issues #8951, #9620, #9336, and #9552). * A bug in the typechecker that could cause an infinite loop when using superclasses in a cycle has been fixed (issue #9415). * A bug causing corruption in signal handling with the single-threaded runtime system has been fixed (issue #9817). * A bug that could cause compiled programs to crash due to use of overlapping type families has been fixed (issue #9371). * A bug in the inliner that caused certain expressions within unboxed tuples to not be properly evaluated has been fixed (issue #9390). * A bug that caused the compiler to not always properly detect LLVM tools (particularly on Windows) has been fixed (issue #7143). * A bug that prevented GHC from deriving Generic1 instances for data families has been fixed (#9563). * A bug that caused type inference to infer the incorrect type in the presence of certain type families and constraints has been fixed (issue #9316).- add constraints file- remove dblatex dependency- add patch 0001-implement-native-code-generator-for-ppc64.patch * native code generation improved compilation speed * fewer errors in testsuite than with C back end- add patch D560.patch * fixes dynamic linking on ppc * see https://phabricator.haskell.org/D560 * this is a back port of the upstream patch- add patch D349.patch * fix a crash with dynamic linking in GHCi when accessing the process environment * our patch has been submitted upstream * see https://phabricator.haskell.org/D349/bin/sh/bin/shsheep69 1687541034  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~4.14.3.0-150500.3.2.54.14.3.0-150500.3.2.5      !!!!!!"""###$$$$%&&&&&&&&&%%%%%%$'''$$$$(((((($$$$$$$))))))$$$$$$$******$++++++$$$,------,,,,,,,...,,,,///000011122233333455555555555555556665555555554444788888888888899999999999999999999999999999999999999::9;;;;;;;;;;8<<<<<<<<<=>>>>?@@@????AAA???===BB==CCCCDEEEEEEEEEEFGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGFHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHFIIIIIIIIIIIIIIIControlApplicative.dyn_hiApplicative.hiApplicative.p_hiArrow.dyn_hiArrow.hiArrow.p_hiCategory.dyn_hiCategory.hiCategory.p_hiConcurrentConcurrent.dyn_hiConcurrent.hiConcurrent.p_hiChan.dyn_hiChan.hiChan.p_hiMVar.dyn_hiMVar.hiMVar.p_hiQSem.dyn_hiQSem.hiQSem.p_hiQSemN.dyn_hiQSemN.hiQSemN.p_hiExceptionException.dyn_hiException.hiException.p_hiBase.dyn_hiBase.hiBase.p_hiMonadMonad.dyn_hiMonad.hiMonad.p_hiFail.dyn_hiFail.hiFail.p_hiFix.dyn_hiFix.hiFix.p_hiIOClass.dyn_hiClass.hiClass.p_hiInstances.dyn_hiInstances.hiInstances.p_hiSTST.dyn_hiST.hiST.p_hiImp.dyn_hiImp.hiImp.p_hiLazyLazy.dyn_hiLazy.hiLazy.p_hiImp.dyn_hiImp.hiImp.p_hiSafe.dyn_hiSafe.hiSafe.p_hiUnsafe.dyn_hiUnsafe.hiUnsafe.p_hiSafe.dyn_hiSafe.hiSafe.p_hiStrict.dyn_hiStrict.hiStrict.p_hiUnsafe.dyn_hiUnsafe.hiUnsafe.p_hiZip.dyn_hiZip.hiZip.p_hiDataBifoldable.dyn_hiBifoldable.hiBifoldable.p_hiBifunctor.dyn_hiBifunctor.hiBifunctor.p_hiBitraversable.dyn_hiBitraversable.hiBitraversable.p_hiBits.dyn_hiBits.hiBits.p_hiBool.dyn_hiBool.hiBool.p_hiChar.dyn_hiChar.hiChar.p_hiCoerce.dyn_hiCoerce.hiCoerce.p_hiComplex.dyn_hiComplex.hiComplex.p_hiData.dyn_hiData.hiData.p_hiDynamic.dyn_hiDynamic.hiDynamic.p_hiEither.dyn_hiEither.hiEither.p_hiEq.dyn_hiEq.hiEq.p_hiFixed.dyn_hiFixed.hiFixed.p_hiFoldable.dyn_hiFoldable.hiFoldable.p_hiFunction.dyn_hiFunction.hiFunction.p_hiFunctorFunctor.dyn_hiFunctor.hiFunctor.p_hiClasses.dyn_hiClasses.hiClasses.p_hiCompose.dyn_hiCompose.hiCompose.p_hiConst.dyn_hiConst.hiConst.p_hiContravariant.dyn_hiContravariant.hiContravariant.p_hiIdentity.dyn_hiIdentity.hiIdentity.p_hiProduct.dyn_hiProduct.hiProduct.p_hiSum.dyn_hiSum.hiSum.p_hiUtils.dyn_hiUtils.hiUtils.p_hiIORef.dyn_hiIORef.hiIORef.p_hiInt.dyn_hiInt.hiInt.p_hiIx.dyn_hiIx.hiIx.p_hiKind.dyn_hiKind.hiKind.p_hiListList.dyn_hiList.hiList.p_hiNonEmpty.dyn_hiNonEmpty.hiNonEmpty.p_hiMaybe.dyn_hiMaybe.hiMaybe.p_hiMonoid.dyn_hiMonoid.hiMonoid.p_hiOldList.dyn_hiOldList.hiOldList.p_hiOrd.dyn_hiOrd.hiOrd.p_hiProxy.dyn_hiProxy.hiProxy.p_hiRatio.dyn_hiRatio.hiRatio.p_hiSTRefSTRef.dyn_hiSTRef.hiSTRef.p_hiLazy.dyn_hiLazy.hiLazy.p_hiStrict.dyn_hiStrict.hiStrict.p_hiSemigroupSemigroup.dyn_hiSemigroup.hiSemigroup.p_hiInternal.dyn_hiInternal.hiInternal.p_hiString.dyn_hiString.hiString.p_hiTraversable.dyn_hiTraversable.hiTraversable.p_hiTuple.dyn_hiTuple.hiTuple.p_hiTypeBool.dyn_hiBool.hiBool.p_hiCoercion.dyn_hiCoercion.hiCoercion.p_hiEquality.dyn_hiEquality.hiEquality.p_hiTypeableTypeable.dyn_hiTypeable.hiTypeable.p_hiInternal.dyn_hiInternal.hiInternal.p_hiUnique.dyn_hiUnique.hiUnique.p_hiVersion.dyn_hiVersion.hiVersion.p_hiVoid.dyn_hiVoid.hiVoid.p_hiWord.dyn_hiWord.hiWord.p_hiDebugTrace.dyn_hiTrace.hiTrace.p_hiForeignForeign.dyn_hiForeign.hiForeign.p_hiCC.dyn_hiC.hiC.p_hiError.dyn_hiError.hiError.p_hiString.dyn_hiString.hiString.p_hiTypes.dyn_hiTypes.hiTypes.p_hiConcurrent.dyn_hiConcurrent.hiConcurrent.p_hiForeignPtrForeignPtr.dyn_hiForeignPtr.hiForeignPtr.p_hiImp.dyn_hiImp.hiImp.p_hiSafe.dyn_hiSafe.hiSafe.p_hiUnsafe.dyn_hiUnsafe.hiUnsafe.p_hiMarshalMarshal.dyn_hiMarshal.hiMarshal.p_hiAlloc.dyn_hiAlloc.hiAlloc.p_hiArray.dyn_hiArray.hiArray.p_hiError.dyn_hiError.hiError.p_hiPool.dyn_hiPool.hiPool.p_hiSafe.dyn_hiSafe.hiSafe.p_hiUnsafe.dyn_hiUnsafe.hiUnsafe.p_hiUtils.dyn_hiUtils.hiUtils.p_hiPtr.dyn_hiPtr.hiPtr.p_hiSafe.dyn_hiSafe.hiSafe.p_hiStablePtr.dyn_hiStablePtr.hiStablePtr.p_hiStorable.dyn_hiStorable.hiStorable.p_hiGHCArr.dyn_hiArr.hiArr.p_hiBase.dyn_hiBase.hiBase.p_hiByteOrder.dyn_hiByteOrder.hiByteOrder.p_hiChar.dyn_hiChar.hiChar.p_hiClock.dyn_hiClock.hiClock.p_hiConcConc.dyn_hiConc.hiConc.p_hiIO.dyn_hiIO.hiIO.p_hiSignal.dyn_hiSignal.hiSignal.p_hiSync.dyn_hiSync.hiSync.p_hiConsoleHandler.dyn_hiConsoleHandler.hiConsoleHandler.p_hiConstants.dyn_hiConstants.hiConstants.p_hiDesugar.dyn_hiDesugar.hiDesugar.p_hiEnum.dyn_hiEnum.hiEnum.p_hiEnvironment.dyn_hiEnvironment.hiEnvironment.p_hiErr.dyn_hiErr.hiErr.p_hiEventEvent.dyn_hiEvent.hiEvent.p_hiArr.dyn_hiArr.hiArr.p_hiArray.dyn_hiArray.hiArray.p_hiControl.dyn_hiControl.hiControl.p_hiEPoll.dyn_hiEPoll.hiEPoll.p_hiIntTable.dyn_hiIntTable.hiIntTable.p_hiInternal.dyn_hiInternal.hiInternal.p_hiKQueue.dyn_hiKQueue.hiKQueue.p_hiManager.dyn_hiManager.hiManager.p_hiPSQ.dyn_hiPSQ.hiPSQ.p_hiPoll.dyn_hiPoll.hiPoll.p_hiThread.dyn_hiThread.hiThread.p_hiTimerManager.dyn_hiTimerManager.hiTimerManager.p_hiUnique.dyn_hiUnique.hiUnique.p_hiExceptionException.dyn_hiException.hiException.p_hiType.dyn_hiType.hiType.p_hiExecutionStackExecutionStack.dyn_hiExecutionStack.hiExecutionStack.p_hiInternal.dyn_hiInternal.hiInternal.p_hiExts.dyn_hiExts.hiExts.p_hiFingerprintFingerprint.dyn_hiFingerprint.hiFingerprint.p_hiType.dyn_hiType.hiType.p_hiFloatFloat.dyn_hiFloat.hiFloat.p_hiConversionUtils.dyn_hiConversionUtils.hiConversionUtils.p_hiRealFracMethods.dyn_hiRealFracMethods.hiRealFracMethods.p_hiForeign.dyn_hiForeign.hiForeign.p_hiForeignPtr.dyn_hiForeignPtr.hiForeignPtr.p_hiGHCiGHCi.dyn_hiGHCi.hiGHCi.p_hiHelpers.dyn_hiHelpers.hiHelpers.p_hiGenerics.dyn_hiGenerics.hiGenerics.p_hiIOIO.dyn_hiIO.hiIO.p_hiBuffer.dyn_hiBuffer.hiBuffer.p_hiBufferedIO.dyn_hiBufferedIO.hiBufferedIO.p_hiDevice.dyn_hiDevice.hiDevice.p_hiEncodingEncoding.dyn_hiEncoding.hiEncoding.p_hiCodePage.dyn_hiCodePage.hiCodePage.p_hiFailure.dyn_hiFailure.hiFailure.p_hiIconv.dyn_hiIconv.hiIconv.p_hiLatin1.dyn_hiLatin1.hiLatin1.p_hiTypes.dyn_hiTypes.hiTypes.p_hiUTF16.dyn_hiUTF16.hiUTF16.p_hiUTF32.dyn_hiUTF32.hiUTF32.p_hiUTF8.dyn_hiUTF8.hiUTF8.p_hiException.dyn_hiException.hiException.p_hiFD.dyn_hiFD.hiFD.p_hiHandleHandle.dyn_hiHandle.hiHandle.p_hiFD.dyn_hiFD.hiFD.p_hiInternals.dyn_hiInternals.hiInternals.p_hiLockLock.dyn_hiLock.hiLock.p_hiCommon.dyn_hiCommon.hiCommon.p_hiFlock.dyn_hiFlock.hiFlock.p_hiLinuxOFD.dyn_hiLinuxOFD.hiLinuxOFD.p_hiNoOp.dyn_hiNoOp.hiNoOp.p_hiWindows.dyn_hiWindows.hiWindows.p_hiText.dyn_hiText.hiText.p_hiTypes.dyn_hiTypes.hiTypes.p_hiIOMode.dyn_hiIOMode.hiIOMode.p_hiUnsafe.dyn_hiUnsafe.hiUnsafe.p_hiIOArray.dyn_hiIOArray.hiIOArray.p_hiIORef.dyn_hiIORef.hiIORef.p_hiInt.dyn_hiInt.hiInt.p_hiIx.dyn_hiIx.hiIx.p_hiList.dyn_hiList.hiList.p_hiMVar.dyn_hiMVar.hiMVar.p_hiMaybe.dyn_hiMaybe.hiMaybe.p_hiNatural.dyn_hiNatural.hiNatural.p_hiNum.dyn_hiNum.hiNum.p_hiOldList.dyn_hiOldList.hiOldList.p_hiOverloadedLabels.dyn_hiOverloadedLabels.hiOverloadedLabels.p_hiPack.dyn_hiPack.hiPack.p_hiProfiling.dyn_hiProfiling.hiProfiling.p_hiPtr.dyn_hiPtr.hiPtr.p_hiRTSFlags.dyn_hiFlags.hiFlags.p_hiRead.dyn_hiRead.hiRead.p_hiReal.dyn_hiReal.hiReal.p_hiRecords.dyn_hiRecords.hiRecords.p_hiResponseFile.dyn_hiResponseFile.hiResponseFile.p_hiST.dyn_hiST.hiST.p_hiSTRef.dyn_hiSTRef.hiSTRef.p_hiShow.dyn_hiShow.hiShow.p_hiStable.dyn_hiStable.hiStable.p_hiStableName.dyn_hiStableName.hiStableName.p_hiStackStack.dyn_hiStack.hiStack.p_hiCCS.dyn_hiCCS.hiCCS.p_hiTypes.dyn_hiTypes.hiTypes.p_hiStaticPtrStaticPtr.dyn_hiStaticPtr.hiStaticPtr.p_hiInternal.dyn_hiInternal.hiInternal.p_hiStats.dyn_hiStats.hiStats.p_hiStorable.dyn_hiStorable.hiStorable.p_hiTopHandler.dyn_hiTopHandler.hiTopHandler.p_hiTypeLits.dyn_hiTypeLits.hiTypeLits.p_hiTypeNats.dyn_hiTypeNats.hiTypeNats.p_hiUnicode.dyn_hiUnicode.hiUnicode.p_hiWeak.dyn_hiWeak.hiWeak.p_hiWord.dyn_hiWord.hiWord.p_hiHSbase-4.14.3.0.oHSbase-4.14.3.0.p_oNumericNumeric.dyn_hiNumeric.hiNumeric.p_hiNatural.dyn_hiNatural.hiNatural.p_hiPrelude.dyn_hiPrelude.hiPrelude.p_hiSystemCPUTimeCPUTime.dyn_hiCPUTime.hiCPUTime.p_hiPosixClockGetTime.dyn_hiClockGetTime.hiClockGetTime.p_hiRUsage.dyn_hiRUsage.hiRUsage.p_hiTimes.dyn_hiTimes.hiTimes.p_hiUnsupported.dyn_hiUnsupported.hiUnsupported.p_hiUtils.dyn_hiUtils.hiUtils.p_hiConsoleGetOpt.dyn_hiGetOpt.hiGetOpt.p_hiEnvironmentEnvironment.dyn_hiEnvironment.hiEnvironment.p_hiBlank.dyn_hiBlank.hiBlank.p_hiExecutablePath.dyn_hiExecutablePath.hiExecutablePath.p_hiExit.dyn_hiExit.hiExit.p_hiIOIO.dyn_hiIO.hiIO.p_hiError.dyn_hiError.hiError.p_hiUnsafe.dyn_hiUnsafe.hiUnsafe.p_hiInfo.dyn_hiInfo.hiInfo.p_hiMemMem.dyn_hiMem.hiMem.p_hiStableName.dyn_hiStableName.hiStableName.p_hiWeak.dyn_hiWeak.hiWeak.p_hiPosixInternals.dyn_hiInternals.hiInternals.p_hiTypes.dyn_hiTypes.hiTypes.p_hiTimeout.dyn_hiTimeout.hiTimeout.p_hiTextParserCombinatorsReadP.dyn_hiReadP.hiReadP.p_hiReadPrec.dyn_hiReadPrec.hiReadPrec.p_hiPrintf.dyn_hiPrintf.hiPrintf.p_hiReadRead.dyn_hiRead.hiRead.p_hiLex.dyn_hiLex.hiLex.p_hiShowShow.dyn_hiShow.hiShow.p_hiFunctions.dyn_hiFunctions.hiFunctions.p_hiTypeReflectionReflection.dyn_hiReflection.hiReflection.p_hiUnsafe.dyn_hiUnsafe.hiUnsafe.p_hiUnsafeCoerce.dyn_hiCoerce.hiCoerce.p_hiincludeEventConfig.hHsBase.hHsBaseConfig.hWCsubst.hconsUtils.hlibHSbase-4.14.3.0.alibHSbase-4.14.3.0_p.aGHCCString.dyn_hiCString.hiCString.p_hiClasses.dyn_hiClasses.hiClasses.p_hiDebug.dyn_hiDebug.hiDebug.p_hiIntWord64.dyn_hiIntWord64.hiIntWord64.p_hiMagic.dyn_hiMagic.hiMagic.p_hiPrimExt.dyn_hiExt.hiExt.p_hiPrimopWrappers.dyn_hiPrimopWrappers.hiPrimopWrappers.p_hiTuple.dyn_hiTuple.hiTuple.p_hiTypes.dyn_hiTypes.hiTypes.p_hiHSghc-prim-0.6.1.oHSghc-prim-0.6.1.p_olibHSghc-prim-0.6.1.alibHSghc-prim-0.6.1_p.aincludeCmm.hDerivedConstants.hHsFFI.hMachDeps.hRts.hRtsAPI.hStg.hghcautoconf.hghcconfig.hghcplatform.hghcversion.hrtsAdjustor.hBlockSignals.hBytecodes.hConfig.hConstants.hEventLogFormat.hEventLogWriter.hFileLock.hFlags.hForeignExports.hGetTime.hGlobals.hHpc.hIOManager.hLibdw.hLibdwPool.hLinker.hMain.hMessages.hNonMoving.hOSThreads.hParallel.hPrimFloat.hProfiling.hSignals.hSpinLock.hStableName.hStablePtr.hStaticPtrTable.hTSANUtils.hTTY.hThreads.hTicky.hTime.hTimer.hTypes.hUtils.hprofCCS.hLDV.hstorageBlock.hClosureMacros.hClosureTypes.hClosures.hFunTypes.hGC.hHeap.hInfoTables.hMBlock.hTSO.hstgDLL.hMachRegs.hMachRegsForHost.hMiscClosures.hPrim.hRegs.hSMP.hTicky.hTypes.hGHCIntegerInteger.dyn_hiInteger.hiInteger.p_hiGMPInternals.dyn_hiInternals.hiInternals.p_hiLogarithmsLogarithms.dyn_hiLogarithms.hiLogarithms.p_hiInternals.dyn_hiInternals.hiInternals.p_hiType.dyn_hiType.hiType.p_hiHSinteger-gmp-1.0.3.0.oHSinteger-gmp-1.0.3.0.p_oincludeHsIntegerGmp.hghc-gmp.hlibHSinteger-gmp-1.0.3.0.alibHSinteger-gmp-1.0.3.0_p.abase-4.14.3.0.confghc-prim-0.6.1.confinteger-gmp-1.0.3.0.confrts.confrtslibHSrts.alibHSrts_debug.alibHSrts_debug_p.alibHSrts_l.alibHSrts_p.alibHSrts_thr.alibHSrts_thr_debug.alibHSrts_thr_debug_p.alibHSrts_thr_l.alibHSrts_thr_p.abase-4.14.3.0Control-Applicative.htmlControl-Arrow.htmlControl-Category.htmlControl-Concurrent-Chan.htmlControl-Concurrent-MVar.htmlControl-Concurrent-QSem.htmlControl-Concurrent-QSemN.htmlControl-Concurrent.htmlControl-Exception-Base.htmlControl-Exception.htmlControl-Monad-Fail.htmlControl-Monad-Fix.htmlControl-Monad-IO-Class.htmlControl-Monad-Instances.htmlControl-Monad-ST-Lazy-Safe.htmlControl-Monad-ST-Lazy-Unsafe.htmlControl-Monad-ST-Lazy.htmlControl-Monad-ST-Safe.htmlControl-Monad-ST-Strict.htmlControl-Monad-ST-Unsafe.htmlControl-Monad-ST.htmlControl-Monad-Zip.htmlControl-Monad.htmlData-Bifoldable.htmlData-Bifunctor.htmlData-Bitraversable.htmlData-Bits.htmlData-Bool.htmlData-Char.htmlData-Coerce.htmlData-Complex.htmlData-Data.htmlData-Dynamic.htmlData-Either.htmlData-Eq.htmlData-Fixed.htmlData-Foldable.htmlData-Function.htmlData-Functor-Classes.htmlData-Functor-Compose.htmlData-Functor-Const.htmlData-Functor-Contravariant.htmlData-Functor-Identity.htmlData-Functor-Product.htmlData-Functor-Sum.htmlData-Functor.htmlData-IORef.htmlData-Int.htmlData-Ix.htmlData-Kind.htmlData-List-NonEmpty.htmlData-List.htmlData-Maybe.htmlData-Monoid.htmlData-Ord.htmlData-Proxy.htmlData-Ratio.htmlData-STRef-Lazy.htmlData-STRef-Strict.htmlData-STRef.htmlData-Semigroup.htmlData-String.htmlData-Traversable.htmlData-Tuple.htmlData-Type-Bool.htmlData-Type-Coercion.htmlData-Type-Equality.htmlData-Typeable.htmlData-Unique.htmlData-Version.htmlData-Void.htmlData-Word.htmlDebug-Trace.htmlForeign-C-Error.htmlForeign-C-String.htmlForeign-C-Types.htmlForeign-C.htmlForeign-Concurrent.htmlForeign-ForeignPtr-Safe.htmlForeign-ForeignPtr-Unsafe.htmlForeign-ForeignPtr.htmlForeign-Marshal-Alloc.htmlForeign-Marshal-Array.htmlForeign-Marshal-Error.htmlForeign-Marshal-Pool.htmlForeign-Marshal-Safe.htmlForeign-Marshal-Unsafe.htmlForeign-Marshal-Utils.htmlForeign-Marshal.htmlForeign-Ptr.htmlForeign-Safe.htmlForeign-StablePtr.htmlForeign-Storable.htmlForeign.htmlGHC-Arr.htmlGHC-Base.htmlGHC-ByteOrder.htmlGHC-Char.htmlGHC-Clock.htmlGHC-Conc-IO.htmlGHC-Conc-Signal.htmlGHC-Conc-Sync.htmlGHC-Conc.htmlGHC-ConsoleHandler.htmlGHC-Constants.htmlGHC-Desugar.htmlGHC-Enum.htmlGHC-Environment.htmlGHC-Err.htmlGHC-Event.htmlGHC-Exception-Type.htmlGHC-Exception.htmlGHC-ExecutionStack-Internal.htmlGHC-ExecutionStack.htmlGHC-Exts.htmlGHC-Fingerprint-Type.htmlGHC-Fingerprint.htmlGHC-Float-ConversionUtils.htmlGHC-Float-RealFracMethods.htmlGHC-Float.htmlGHC-Foreign.htmlGHC-ForeignPtr.htmlGHC-GHCi-Helpers.htmlGHC-GHCi.htmlGHC-Generics.htmlGHC-IO-Buffer.htmlGHC-IO-BufferedIO.htmlGHC-IO-Device.htmlGHC-IO-Encoding-CodePage.htmlGHC-IO-Encoding-Failure.htmlGHC-IO-Encoding-Iconv.htmlGHC-IO-Encoding-Latin1.htmlGHC-IO-Encoding-Types.htmlGHC-IO-Encoding-UTF16.htmlGHC-IO-Encoding-UTF32.htmlGHC-IO-Encoding-UTF8.htmlGHC-IO-Encoding.htmlGHC-IO-Exception.htmlGHC-IO-FD.htmlGHC-IO-Handle-FD.htmlGHC-IO-Handle-Internals.htmlGHC-IO-Handle-Lock.htmlGHC-IO-Handle-Text.htmlGHC-IO-Handle-Types.htmlGHC-IO-Handle.htmlGHC-IO-IOMode.htmlGHC-IO-Unsafe.htmlGHC-IO.htmlGHC-IOArray.htmlGHC-IORef.htmlGHC-Int.htmlGHC-Ix.htmlGHC-List.htmlGHC-MVar.htmlGHC-Maybe.htmlGHC-Natural.htmlGHC-Num.htmlGHC-OldList.htmlGHC-OverloadedLabels.htmlGHC-Pack.htmlGHC-Profiling.htmlGHC-Ptr.htmlGHC-RTS-Flags.htmlGHC-Read.htmlGHC-Real.htmlGHC-Records.htmlGHC-ResponseFile.htmlGHC-ST.htmlGHC-STRef.htmlGHC-Show.htmlGHC-Stable.htmlGHC-StableName.htmlGHC-Stack-CCS.htmlGHC-Stack-Types.htmlGHC-Stack.htmlGHC-StaticPtr.htmlGHC-Stats.htmlGHC-Storable.htmlGHC-TopHandler.htmlGHC-TypeLits.htmlGHC-TypeNats.htmlGHC-Unicode.htmlGHC-Weak.htmlGHC-Word.htmlNumeric-Natural.htmlNumeric.htmlPrelude.htmlSystem-CPUTime.htmlSystem-Console-GetOpt.htmlSystem-Environment-Blank.htmlSystem-Environment.htmlSystem-Exit.htmlSystem-IO-Error.htmlSystem-IO-Unsafe.htmlSystem-IO.htmlSystem-Info.htmlSystem-Mem-StableName.htmlSystem-Mem-Weak.htmlSystem-Mem.htmlSystem-Posix-Internals.htmlSystem-Posix-Types.htmlSystem-Timeout.htmlText-ParserCombinators-ReadP.htmlText-ParserCombinators-ReadPrec.htmlText-Printf.htmlText-Read-Lex.htmlText-Read.htmlText-Show-Functions.htmlText-Show.htmlType-Reflection-Unsafe.htmlType-Reflection.htmlUnsafe-Coerce.htmlbase.haddockbase.txtdoc-index-124.htmldoc-index-126.htmldoc-index-33.htmldoc-index-36.htmldoc-index-37.htmldoc-index-38.htmldoc-index-42.htmldoc-index-43.htmldoc-index-45.htmldoc-index-46.htmldoc-index-47.htmldoc-index-58.htmldoc-index-60.htmldoc-index-61.htmldoc-index-62.htmldoc-index-92.htmldoc-index-94.htmldoc-index-A.htmldoc-index-All.htmldoc-index-B.htmldoc-index-C.htmldoc-index-D.htmldoc-index-E.htmldoc-index-F.htmldoc-index-G.htmldoc-index-H.htmldoc-index-I.htmldoc-index-J.htmldoc-index-K.htmldoc-index-L.htmldoc-index-M.htmldoc-index-N.htmldoc-index-O.htmldoc-index-P.htmldoc-index-Q.htmldoc-index-R.htmldoc-index-S.htmldoc-index-T.htmldoc-index-U.htmldoc-index-V.htmldoc-index-W.htmldoc-index-X.htmldoc-index-Y.htmldoc-index-Z.htmldoc-index.htmldoc-index.jsonhaddock-bundle.min.jsindex.htmllinuwial.cssmeta.jsonquick-jump.cssquick-jump.min.jssynopsis.pngghc-prim-0.6.1GHC-CString.htmlGHC-Classes.htmlGHC-Debug.htmlGHC-IntWord64.htmlGHC-Magic.htmlGHC-Prim-Ext.htmlGHC-Prim.htmlGHC-PrimopWrappers.htmlGHC-Tuple.htmlGHC-Types.htmldoc-index-124.htmldoc-index-126.htmldoc-index-38.htmldoc-index-42.htmldoc-index-43.htmldoc-index-45.htmldoc-index-47.htmldoc-index-60.htmldoc-index-61.htmldoc-index-62.htmldoc-index-A.htmldoc-index-All.htmldoc-index-B.htmldoc-index-C.htmldoc-index-D.htmldoc-index-E.htmldoc-index-F.htmldoc-index-G.htmldoc-index-I.htmldoc-index-K.htmldoc-index-L.htmldoc-index-M.htmldoc-index-N.htmldoc-index-O.htmldoc-index-P.htmldoc-index-Q.htmldoc-index-R.htmldoc-index-S.htmldoc-index-T.htmldoc-index-U.htmldoc-index-V.htmldoc-index-W.htmldoc-index-X.htmldoc-index-Y.htmldoc-index.htmldoc-index.jsonghc-prim.haddockghc-prim.txthaddock-bundle.min.jsindex.htmllinuwial.cssmeta.jsonquick-jump.cssquick-jump.min.jssynopsis.pnginteger-gmp-1.0.3.0GHC-Integer-GMP-Internals.htmlGHC-Integer-Logarithms-Internals.htmlGHC-Integer-Logarithms.htmlGHC-Integer.htmldoc-index.htmldoc-index.jsonhaddock-bundle.min.jsindex.htmlinteger-gmp.haddockinteger-gmp.txtlinuwial.cssmeta.jsonquick-jump.cssquick-jump.min.jssynopsis.png/usr/lib64/ghc-8.10.7/base-4.14.3.0//usr/lib64/ghc-8.10.7/base-4.14.3.0/Control//usr/lib64/ghc-8.10.7/base-4.14.3.0/Control/Concurrent//usr/lib64/ghc-8.10.7/base-4.14.3.0/Control/Exception//usr/lib64/ghc-8.10.7/base-4.14.3.0/Control/Monad//usr/lib64/ghc-8.10.7/base-4.14.3.0/Control/Monad/IO//usr/lib64/ghc-8.10.7/base-4.14.3.0/Control/Monad/ST//usr/lib64/ghc-8.10.7/base-4.14.3.0/Control/Monad/ST/Lazy//usr/lib64/ghc-8.10.7/base-4.14.3.0/Data//usr/lib64/ghc-8.10.7/base-4.14.3.0/Data/Functor//usr/lib64/ghc-8.10.7/base-4.14.3.0/Data/List//usr/lib64/ghc-8.10.7/base-4.14.3.0/Data/STRef//usr/lib64/ghc-8.10.7/base-4.14.3.0/Data/Semigroup//usr/lib64/ghc-8.10.7/base-4.14.3.0/Data/Type//usr/lib64/ghc-8.10.7/base-4.14.3.0/Data/Typeable//usr/lib64/ghc-8.10.7/base-4.14.3.0/Debug//usr/lib64/ghc-8.10.7/base-4.14.3.0/Foreign//usr/lib64/ghc-8.10.7/base-4.14.3.0/Foreign/C//usr/lib64/ghc-8.10.7/base-4.14.3.0/Foreign/ForeignPtr//usr/lib64/ghc-8.10.7/base-4.14.3.0/Foreign/Marshal//usr/lib64/ghc-8.10.7/base-4.14.3.0/GHC//usr/lib64/ghc-8.10.7/base-4.14.3.0/GHC/Conc//usr/lib64/ghc-8.10.7/base-4.14.3.0/GHC/Event//usr/lib64/ghc-8.10.7/base-4.14.3.0/GHC/Exception//usr/lib64/ghc-8.10.7/base-4.14.3.0/GHC/ExecutionStack//usr/lib64/ghc-8.10.7/base-4.14.3.0/GHC/Fingerprint//usr/lib64/ghc-8.10.7/base-4.14.3.0/GHC/Float//usr/lib64/ghc-8.10.7/base-4.14.3.0/GHC/GHCi//usr/lib64/ghc-8.10.7/base-4.14.3.0/GHC/IO//usr/lib64/ghc-8.10.7/base-4.14.3.0/GHC/IO/Encoding//usr/lib64/ghc-8.10.7/base-4.14.3.0/GHC/IO/Handle//usr/lib64/ghc-8.10.7/base-4.14.3.0/GHC/IO/Handle/Lock//usr/lib64/ghc-8.10.7/base-4.14.3.0/GHC/RTS//usr/lib64/ghc-8.10.7/base-4.14.3.0/GHC/Stack//usr/lib64/ghc-8.10.7/base-4.14.3.0/GHC/StaticPtr//usr/lib64/ghc-8.10.7/base-4.14.3.0/Numeric//usr/lib64/ghc-8.10.7/base-4.14.3.0/System//usr/lib64/ghc-8.10.7/base-4.14.3.0/System/CPUTime//usr/lib64/ghc-8.10.7/base-4.14.3.0/System/CPUTime/Posix//usr/lib64/ghc-8.10.7/base-4.14.3.0/System/Console//usr/lib64/ghc-8.10.7/base-4.14.3.0/System/Environment//usr/lib64/ghc-8.10.7/base-4.14.3.0/System/IO//usr/lib64/ghc-8.10.7/base-4.14.3.0/System/Mem//usr/lib64/ghc-8.10.7/base-4.14.3.0/System/Posix//usr/lib64/ghc-8.10.7/base-4.14.3.0/Text//usr/lib64/ghc-8.10.7/base-4.14.3.0/Text/ParserCombinators//usr/lib64/ghc-8.10.7/base-4.14.3.0/Text/Read//usr/lib64/ghc-8.10.7/base-4.14.3.0/Text/Show//usr/lib64/ghc-8.10.7/base-4.14.3.0/Type//usr/lib64/ghc-8.10.7/base-4.14.3.0/Type/Reflection//usr/lib64/ghc-8.10.7/base-4.14.3.0/Unsafe//usr/lib64/ghc-8.10.7/base-4.14.3.0/include//usr/lib64/ghc-8.10.7/ghc-prim-0.6.1//usr/lib64/ghc-8.10.7/ghc-prim-0.6.1/GHC//usr/lib64/ghc-8.10.7/ghc-prim-0.6.1/GHC/Prim//usr/lib64/ghc-8.10.7//usr/lib64/ghc-8.10.7/include//usr/lib64/ghc-8.10.7/include/rts//usr/lib64/ghc-8.10.7/include/rts/prof//usr/lib64/ghc-8.10.7/include/rts/storage//usr/lib64/ghc-8.10.7/include/stg//usr/lib64/ghc-8.10.7/integer-gmp-1.0.3.0//usr/lib64/ghc-8.10.7/integer-gmp-1.0.3.0/GHC//usr/lib64/ghc-8.10.7/integer-gmp-1.0.3.0/GHC/Integer//usr/lib64/ghc-8.10.7/integer-gmp-1.0.3.0/GHC/Integer/GMP//usr/lib64/ghc-8.10.7/integer-gmp-1.0.3.0/GHC/Integer/Logarithms//usr/lib64/ghc-8.10.7/integer-gmp-1.0.3.0/include//usr/lib64/ghc-8.10.7/package.conf.d//usr/lib64/ghc-8.10.7//usr/lib64/ghc-8.10.7/rts//usr/share/doc/ghc-8.10.7/html/libraries//usr/share/doc/ghc-8.10.7/html/libraries/base-4.14.3.0//usr/share/doc/ghc-8.10.7/html/libraries/ghc-prim-0.6.1//usr/share/doc/ghc-8.10.7/html/libraries/integer-gmp-1.0.3.0/-fmessage-length=0 -grecord-gcc-switches -O2 -Wall -D_FORTIFY_SOURCE=2 -fstack-protector-strong -funwind-tables -fasynchronous-unwind-tables -fstack-clash-protection -gobs://build.suse.de/SUSE:Maintenance:29433/SUSE_SLE-15-SP5_Update/e1f5fca9735dfc7fd9c5836ec7b2940a-ghc.SUSE_SLE-15-SP5_Updatedrpmxz5x86_64-suse-linux      directoryELF 64-bit LSB relocatable, x86-64, version 1 (SYSV), not strippedASCII textC source, ASCII textcurrent ar archiveHTML document, ASCII text, with very long linesHTML document, ASCII text, with very long lines, with no line terminatorsUTF-8 Unicode text, with very long linesUTF-8 Unicode textASCII text, with no line terminatorsPNG image data, 128 x 104, 8-bit/color RGBA, non-interlacedPRRPPR3`_^"rtȥutf-8fdfbf64e81a9e5acdd1b95e74ff7616b70462a558fe1681c5b29de128a247da2?7zXZ !t/.]"k%!:r ,HG S1=.I' pH%43,N5ڜ W,&@`F0n4Vh8Ӯh#7e--'m{ExewJ#~j^{0sVm.yKd H<ׅe^ { =1j5>K>(y sH` ;4h\_Kun7Og> F'~[}KG7}+C #Vy{LL-t r9ܘƸF[_jIJ#h0(p{90-3; I:vz`[-# \=r@ HZ#-Jqda[{`̎yGK 6x?F[ÊJ:"OKwߖ)a_y*^<+GC`Ъ-Sۏ WF>ȃs)yNn){?L k<㕁?SK|@;XjѲtI,? p[pYJ` XZ$I_CmT>.Ԇtw2m*VOSK=ĚG97+ϖ(%Q;+:nw~aFuP'.0ktYOy"SN-9` AX L]ɰ1cnfa%&9Q; {LnzJj!ԞPY}C2@_@ }\ 4y6T2S_Fۚ? xM^F5vzI$jR.q-j53A|lYzQ6F<b4¯R"m<` iFv jMLV.{lCy)ڗUvc7Shyֿh J/}*=6'KBtCu{<`kS^esLҌ#yH5%pɒ\ea‘U&y.9ɯ2E}aJplJDX?JӺI =Q2q59NAѧôrӮ_A^cӳ{Q-aوLKdTYaik\Z"W OsϚ&'R۳;i#W*7!lY7ي5q(ϢB=_A1AEW{GS[TX57N: 4n{ސFk|)r٥t*DCNFu 2)`whbsPHraR}lg<\~m2(\ Zߕ[ݠi1|F!@ !Hq @ F7uay8ԑ`l1*|hon=;>vNjJ@m;ZT4z>2l QDF(N1A w=,ğ\8%U4H]ANj-XB(K]ꪫPtfY䪿yGgO8: Ay$B޻)R/V "ן9}Mro::Wg2 [) %?(e9%%M9[{ZQ֦۽i{z,KjwbUbJmTY kQ)9B5-'D"h:c6t/9CR+ڥ$ekq;x) Zf;\~~FpZaJ|I "zO"4]ܲ+ >n!wlsxgI?!} /kVof[c$bEDD9vْ4?6&^R4ؾHv]Yg-&0/K!Q[m=:6@ "oy QU׼Z5XF!,1XIr'A(`7݁B YFK:{mxRDoi`*rKҼZjuS䆫>(bd`4f)3#pE1s"Gd [Åu|ITtLl%bw:x=v_1R亭yM(3DG|[M\ș4kf͹^'+]-$W5Zz(0$L[mtQQ$Rn#-A%A8oEz 7`Lx5&B ;Js۩,YWn~Dy] ʎ莚0]" :r{BDo*\V1@S=BkǬ+6lK6^pqռ?p)α+8f @u.cw(rR t# VHʎpαEy!}#4ǹ[Tk?]{\g˪_6a!ϼ'K,v\5~l*ď82y4w]~6R_F8b m ZPy[B"^Tԁ\[$nΤN eO;_,X[Y )lJ%Ӡ$?YTuJ%t7W=CC-FR{,9`NezfXEVʞo.GC*L58M P=5ZS *vUL\ VFTa v(Ҍmuƚ*2WwJu~;+snM?V1Y >ԌIH9')s~gnᅢQ;|C)Dܰ.IbG#?*"a/|>jI}Pz&PjƗpX0*:E͐?N/4AَbaUyo F-VWmh'Y[u71}fem*e-v'AfU+spN䒈;ekX;Ph7mXNӸU>IQfF3|룶e>P".'c>?0?vuɏDeA w4{FtHlt Ƀy=qn8{8?D7x6կ3.{=x=/e_uU3EŘγ>q}rS:ιˉ&(?MQuݝHaӉ^qW}SS4D{VlNQ͝{[C\'XSjOmlś\K~k+'R@P6Y(jL,vn)Y~oxkC.DCY mXfޙMeY<WR1'yinM.jDssggA~K I~Qlzn6 刟ĈY%(oGJ!ƨd-ܚ.D;RjK&qgT$Sn1>!-B[y_%.y,`>h)|T5S 2nhA|3cV, \ |Q[+L_FK[I%_( [粯zWgZY a,o˟/eL ն9$t.Z[,hwکVX'ʟX0b4Ҏ&9GI;ĽچX|Aډ8} Ŏ;s@!ҤPT6O淄@y65Qx9{&Yr' e_'X[r6{} A(HN ?ƚmB)/ŒBP" 3 5V\bx417F!+-yW}bqDjl5Xv Ӣ{=մP{XͿY4) /܋Wl.b (C*!-K*㛟ILǿiaOy9+:LuXOow[#:<<dXj;q) a6{ xW'͵-Y6KQp3 Kg=Q}:L;,n{?`yR5gG/,2 ,YҌo~[A6o#d?.CS[B^%@z7AT7 (**bKoy _#96~!cMr,=sa,eKی A\~3jiam<=j }%ܭABqnyv{0ߠ0\-EYyC B0Iɚ'jEb[)1i ƽN`sUpKGdbM<,*ƀM5nP<OP\!+9fmʑ&lSӾ|XNdS3? f4C@ȦGH~Gks$I>UOLN})P_=Rx_R[Pׄ밹%HCTs٣D޲<֎("6CѲ~j*IU 6یpbM^i%.9оMwZ@xY q0tW>2ēZAdmtt3C*vΟrHn;h [_'9jI|TnɛvC5ؿ Tl[-K٠eYЩgۗ+YH a+BV5Ri)H)wid(7R:ڥ43xT1a/Խ#b(T5oXSk5eJm]pO:2+b{`FFs@XoCaܷe2r>]IX-b)&+~3_lP _ZȯE}T}=W|)K1G6/cN pǯ|I{?ބ>Ïpv#ThÂ|H1 l8@7WaN'}8N"PN{&@,uϓE@λ4o%%AB {DB4u絢\.:hyR~ְْ`9Y8ү\eP$, z}EE-bvuAJPٖre10{-zSZ.anD(z=>ht'Y7l#p;4R \LdM[oDG@svY6xz49|\ .U4=5ٺ,bޢkpEL^wVKYO`+<ė )pox5 +Ρ$4Wi_;1wKz#C5: = dzp  >rQo߾&dT [>~3YՏ ۓ?So5# f_yZ[ 'Hhks&uo3ցFڗ+ 5(j}:`"07QvwJ"6` bO4^b<2u-,m+1 Synp/_f[fVt6WOf3w;e -Tٛ2XPi3zx-;xaXT6u^}HTJ^gAq0OqW\`ŋR::Z]Uضg'8π =R0C}*w;~:YN r({1ۦcWiw)a*h`X 1#x@РJ9'?] w `,YW /эW545X|i. H_WNfZ4'˪Ń}OXay5z.=\5%!u.GNz~mBU|C'П_ }Lq ~!>(?iȘ.%L_eRYsv#,oZ=%a" DeTg'q~H9f">:gY1#DŊXTiĂ2a3hܨ`DR n־ācXNdrGߏ{g()q6 VknIZ ]Z9Z/(Keo +wZKS"odd{vI o>!ON3@3*3ϫєcn/rt ʙNX5Z=|5Bnbm4jag.g=4Īc\wqK-#HZwi2g5t[QzbR?ChG b "HM뒛[ ̰K4=#Fmd".dSp8ЗJb,X O;tzDӞ֪ih7;)eQLTjJ̧!#shm* %o!ej-k[2(Qʋ^bmzJ&f kpmޞ$q]sE`_wP ў!*U?"%+\E?(RG]A~ Fv>0~rH!pqK