ghc-Cabal-devel-3.2.1.0-150500.3.2.5<>,pde p9|roG Qz) -E_0N(kJ@'A1Q KP'PBA.ASNEWvw!gdIuófUè:m*<&:[ 6 .NhO*Ϝ؞v9Sɐo[iNt=񩺪_6"{c=lSAF&cMv 3sPMKG7 C;e-k&}k_Vk-4tNkEbsyEsyKek*n?:>BL?<d ' O !>DL  2 "X 2 1 6 FXZoo80(8h9h:Wh>@FGH,I xXY\]!^p)bzc{Zd{e{f{l{u{vD wxLyz8Cghc-Cabal-devel3.2.1.0150500.3.2.5Haskell Cabal library development filesThis package provides the Haskell Cabal library development files.de ibs-arm-6#ϲSUSE Linux Enterprise 15SUSE LLC BSD-3-Clausehttps://www.suse.com/Development/Languages/Otherhttps://www.haskell.org/ghc/linuxaarch64/usr/bin/ghc-pkg-8.10.7 recache --no-user-package-db || :/usr/bin/ghc-pkg-8.10.7 recache --no-user-package-db || :777dddzzz PMN((((((VVV;);&;."""LLLpIpFpE...IWITIV0-2529'$':::"""xutMJI ɅɂɄ'$%LLL   888WTS~}rortttѣѠѡ'''000"f{fxf7N7K7ULLLZZZXXXE%E"Ea.a+a,G*G'G* *d*a*c6$6!6'''FFF96=gdtDyDvD}u2u/u2,B,?,G232024EBF===_\_S?S<S?411 * * *~~~ h h h***xu|{6{3{$,H,E,G~&&&,,,{{{&#'8B8?8E,,,,,,eee\\\BBB1a1^1bgda[ [ [IFGSSS766v!vv;;;}ztZWYKKK++* e b aάΩΩKHH gh ge gcyvs,,,yvw((~(yTQRrRrOrNGDCAAAeb`>;7,,,{K{H{E0;0809222III_\YKHG 9B 9? 9Bqq q | y {uJuGuMxxy0K0H0J;;;-*3  *h*e*]eeewtuoooGDDC!CC000[}[z[xS%S"S(zzzɭɪɰ }gggƁ~Ɓ;89CCC}}}~{~ENEKEQ"""0P0M0TKHNgdhΫΨήbbbuuuDAFͦͣ͛a^^<95sprURT{{{###III~}~(%.HHH F C F 3 0 0WW|W',')'-JJJ+++777}} } 33~3lllvssjjj$$$$$$iqq(pop---4 J&GcG#vM/W%.Q^9)#ukl)U<xQjBlY2P Y*9=\*_?;`obqYbYR' c]9&D\GN@U!PJ xFw{#:"?p ?>>*p]#.d|a"|Es^;׼V9A 4?vQ'> >xx ~IB A'wa"r\6Y$ Y\_;R#%u|~t/!z91 QYrKyitT \tVOb =r[|^38(nXZ>ӷ,nݿ]„Ha*:=7#' L:eI } ; t}\Cyd!!huj}M"zExA7aMe:  772 ki,?AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤A큤dd'dd'dd'dd&dd'dd'dd&dd'dd'dd&dd'dd'dd&dd'dd'dd&dd'dd'dd&dd'dd'dd'dd'dd'dd&dd'dd'dd'dd'dd'dd&dd'dd'dd'dd'dd'dd&dd'dd'dd'dd'dd'dd&dd'dd'dd'dd'dd'dd'dd'dd'dd&dd'dd'dd'dd'dd'dd'dd'dd'dd'dd'dd'dd'dd'dd'dd'dd&dd'dd'dd&dd'dd'dd&dd'dd'dd&dd'dd'dd&dd'dd'dd&dd'dd'dd'dd'dd'dd&dd'dd'dd'dd&dd'dd'dd'dd'dd'dd'dd'dd'dd&dd'dd'dd'dd'dd'dd'dd'dd'dd'dd&dd'dd'dd&dd'dd'dd&dd'dd'dd&dd'dd'dd'dd'dd'dd&dd'dd'dd&dd'dd'dd&dd'dd'dd&dd'dd'dd'dd'dd'dd'dd'dd'dd'dd'dd'dd'dd'dd'dd'dd'dd'dd'dd'dd'dd'dd'dd'dd'dd'dd'dd'dd'dd'dd'dd'dd'dd'dd'dd'dd'dd'dd'dd'dd'dd'dd'dd'dd'dd'dd'dd&dd'dd'dd'dd'dd'dd&dd'dd'dd&dd'dd'dd&dd'dd'dd&dd'dd'dd'dd&dd'dd'dd&dd'dd'dd&dd'dd'dd'dd'dd'dd'dd'dd'dd&dd'dd'dd'dd'dd'dd&dd'dd'dd'dd'dd'dd'dd'dd'dd'dd'dd'dd'dd'dd'dd'dd'dd'dd'dd'dd'dd'dd'dd'dd'dd&dd'dd'dd'dd&dd'dd'dd&dd'dd'dd'dd'dd'dd'dd'dd'dd&dd'dd'dd'dd'dd'dd'dd'dd'dd'dd&dd'dd'dd&dd'dd'dd'dd&dd'dd'dd&dd'dd'dd&dd'dd'dd&dd'dd'dd&dd'dd'dd&dd'dd'dd&dd'dd'dd&dd'dd'dd&dd'dd'dd&dd'dd'dd&dd'dd'dd&dd'dd'dd'dd&dd'dd'dd'dd'dd'dd'dd'dd'dd'dd'dd'dd&dd'dd'dd&dd'dd'dd&dd'dd'dd&dd'dd'dd&dd'dd'dd&dd'dd'dd'dd&dd'dd'dd&dd'dd'dd&dd'dd'dd&dd'dd'dd'dd&dd'dd'dd&dd'dd'dd'dd&dd'dd'dd&dd'dd'dd&dd'dd'dd&dd'dd'dd&dd'dd'dd&dd'dd'dd&dd'dd'dd&dd'dd'dd&dd'dd'dd&dd'dd'dd&dd'dd'dd&dd'dd'dd&dd'dd'dd&dd'dd'dd&dd'dd'dd&dd'dd'dd&dd'dd'dd&dd'dd'dd&dd'dd'dd'dd&dd'dd'dd&dd'dd'dd&dd'dd'dd&dd'dd'dd&dd'dd'dd&dd'dd'dd'dd&dd'dd'dd'dd'dd'dd'dd'dd'dd'dd'dd'dd'dd'dd'dd'dd&dd'dd'dd'dd'dd'dd'dd'dd'dd'dd'dd'dd'dd'dd'dd'dd'dd'dd'dd'dd'dd'dd'dd'dd'dd'dd'dd'dd'dd'dd'dd'dd'dd'dd'dd'dd'dd'dd'dd'dd'dd'dd'dd'dd'dd'dd'dd'dd'dd'dd'dd'dd'dd'dd'dd'dd'dd'dd'dd'dd'dd'dd'dd'dd'dd'dd'dd'dd'dd'dd'dd'dd'dd'dd'dd'dd'dd'dd&dd'dd'dd'dd'dd'dd'dd'dd'dd'dd'dd'dd'dd'dd'dd'dd'dd'dd'dd'dd'dd'dd'dd'dd'dd'dd'dd'dd'dd'dd'dd'dd'dd'dd'dd'dd&dd'dd'dd&dd'dd'dd'dd'dd'dd'dd'dd'dd'dd'dd'dd'dd'dd'dd'dd'dd'dd'dd'dd'dd'dd'dd'dd'dd'dd'dd'dd'dd'dd'dd'dd'dd'dd'dd'dd'dd'dd'dd'dd'dd'dd'dd'dd'dd'dd'dd'dd'dd'dd'dd'dd'dd'dd'dd'dd'dd'dd'dd'dd'dd'dd'dd'dd'dd'dd'dd'dd'dd'dd'dd'dd'dd'dd'dd'dd'dd'dd'dd'dd'dd'dd'dd'dd'dd'dd'dd'dd'dd'dd'dd'dd'dd'dd'dd'dd'dd'dd'dd'dd'dd'dd'dd'dd'dd'dd'dd'dd'dd'dd'dd'dd'dd'dd'dd'dd'dd'dd'dd'dd'dd'dd'dd'dd'dd'dd'dd'dd'dd'dd'dd'dd'dd'dd'dd'dd'dd'dd&dd'dd'dd&dd'dd'dd&dd'dd'dd&dd'dd'dd'dd'dd'dd'dd'dd'dd'dd'dd'dd'dd'dd'dd&dd'dd'dd'dd'dd'dd'dd'dd'dd'dd'dd'dd'dd'dd'dd(dd)dd&dd'dd'dd'dd'dd'dd'dd'ddddddOddQdd&dd&dd&dd&dd&dd&dd&dd&dd&dd&dd&dd&dd&dd&dd&dd&dd&dd&dd&dd&dd&dd&dd&dd&dd&dd&dd&dd&dd&dd&dd&dd&dd&dd&dd&dd&dd&dd&dd&dd&dd&dd&dd&dd&dd&dd&dd&dd&dd&dd&dd&dd&dd&dd&dd&dd&dd&dd&dd&dd&dd&dd&dd&dd&dd&dd&dd&dd&dd&dd&dd&dd&dd&dd&dd&dd&dd&dd&dd&dd&dd&dd&dd&dd&dd&dd&dd&dd&dd&dd&dd&dd&dd&dd&dd&dd&dd&dd&dd&dd&dd&dd&dd&dd&dd&dd&dd&dd&dd&dd&dd&dd&dd&dd&dd&dd&dd&dd&dd&dd&dd&dd&dd&dd&dd&dd&dd&dd&dd&dd&dd&dd&dd&dd&dd&dd&dd&dd&dd&dd&dd&dd&dd&dd&dd&dd&dd&dd&dd&dd&dd&dd&dd&dd&dd&dd&dd&dd&dd&dd&dd&dd&dd&dd&dd&dd&dd&dd&dd&dd&dd&dd&dd&dd&dd&dd&dd&dd&dd&dd&dd&dd&dd&dd&dd&dd&dd&dd&dd&dd&dd&dd&dd&dd&dd&dd&dd&dd&dd&dd&dd&dd&dd&dd&dd&dd&dd&dd&dd&dd&dd&dd&dd&dd&dd&dd&dd&dd&dd&dd&dd&dd&dd&dd&dd&dd&dd&dd&dd&dd&dd&dd&dd&dd&dd&dd&dd&dd&dd&dd&dd&dd&dd&dd&dd&dd&dd&dd&dd&dd&dd&dd&dd&dd&dd&dd&dd&dd&dd&dd&dd&dd&dd&dd&dd&dd&dd&dd&dd&dd&dd&dd&dd&dd&2b32724f07a3d31289b79cde01fe57774d8454db8e6f4bf3806693edbf5c11601867063b212b1ff644cec6f418e402c2a5df3032cbb282e852740dac5d7b2e4d755d6db28f51f07ae9a7fb4e2d00559b80cbe9f7442e8bbd2063f6260702706451a75d964e274ef2d3bf6e0de81cde14613aa20c8cd97a10cf8f1bb80abd327e098caa12bbef05b8c3521d4bbd61467044643f0e28480ad2c8a26b6d8e936be0c2c9c389c1eae71ad0e0ee5f2fc4fe31b4035c3c776ed9016cc886a958ab63a558699302cb9253a4528c554ffd0d2fb1db807f4655a972a5078b98c9769713e1816e32ca6c9e7cde5ba33671c6fd681df1ea395ad6d150e29e1fca7fea6462c4085fe90d65bdf23406f96cdaadc95a038d1f585c9621f39f5c78a043817612e7aa7ad9345d409303abe95b8d662c0e4dfec41f5ce0aeeb208db969da1befdb998308a70c842308a55f62bbb5487741899b16b1a01daa2190b84e9f51140739aafc2916e828809a050f9a3657b4edb6b75e6b8a3c32d6246a00a73e1d77a95d8faed111223432a89218c54431ea427a13c0fa093cc75559f02d84844f78c2a1b2190130a819584b79ed0a96b981f623b180f00a766f133b04cb13ca35d405557e3f8686c2c0a3eee652b93560ff76d99c8b2d70884074e0add509c04a3a6c03914a8fee7c59d78688e3b7eceb1b375124d5a658e98f1c927bcf416cece810938a034aae008436be7f76a4fd1b01005f0b01b89072587f905eb502a5bb2df921357d33d8fd99da3fa64fccb97d22a100309dfb52a4d48955feb32a413533eaf42ea98357b2232248e9828be582cf43d78ee72e06a27f31c69765cdc4e072a2ef69cb1ca5a16fc8f2e7954170eac8ae786e5efcca6f14f44b877cf8dcc29f6332b610ea29907df6e9d02dd8a6d165bbd9412b6ae787158009564d44096ae9cb885d73c0b0477b1aff3fa1a662bc28dfb65cbb5b87f463dda536f0a66f7c21f786e71c4713fe87b40f1c5a56e7998da80ebf6199dbaac2b6e9e2df4a3851eacd8234bf97c622118b2c3676647bc6540bea15b8e427edb321336cca3ddda555fa59fb750da113811730234b3d4833485401d06c7faedaee1687f803429767018b86efe18d3372ffac1737bf7fe80649092ffa00dcaad175999da6930f0f0c16052370c1ada64044a860a5325f63e1d0d8e303c8836694d5765f69b93d38d4f53ae4b5be0e3615ea8b7575a4852a48197db608b6789cb7ea3b06b42090aae2b84e874dc1c5c698792bcbfa365ac4dbb3491f789a2c8f5381f22bee99fc959511304047ca3e61261017ba3d37ca03d5531265d4a324a39d5bdd5e92bb9702746004fef1180d8fde11116bd726ac3469a32960bc6f0b7745d965c14db1b63bc798a6677ce3f7b1ef28a8208322c0e71d8715700723143f7289adf9adcd974d5470185361963fa21d2b51772ece8b29012c33595384cb94283e024ac7ae2814b762530a830fc250a3782b7b59cab2d5543f46ea4db01b777f4df7e52693723b9aa114ee88e0186a83affbcd434fa70bd9922050baa6bdd30ee388a311074bd77af1784be9d6c4be28470d5e8b7ffd2eca13f218f8546708415091796538fa5a96196806f2586cb809ee3b449a819a167da9973b2ebaa638e988b58dbe60f6ecd7872de286e70f934765f75237d4197211ebf4b84677b8b2e223f74dcbba5b731a8e87430f3208d7fbef5163ce54cb0f3c6f52a5f762d622a0856b06169048bb16186083adedd8e6dc1e746dc10b4173398d3bb6a91e3cd179df3ae3043cecdcf08e43ee1ef207847af803b1eca392c67cce5399e8209b058ec8ed2ac24bb267140097709088cb10a59a25dae985f2ff7b1fae8935c1eb11e28d36f40a773a21bf9bda8f666076116ead28fbfa2ccad6e186a3b808119e30ef0d41ff1c5709a307805de7b7beed34660aaccbb2a638fa666749d5fb72533f1008ebfebd8e1ae0ff23f7376dd7e5be6bb6e8dd27f987bec7df7f8418b0530e5f27f02de3abe7a158100b206ebda75237015078bbca2e6903d7c75cbd63d5dc879b46086eb090b56384f1fcf979b08526ba00b531943f94fad13ad1e84aa0816ce4e3d779ce1a4e957a2d516bafa181799d0698b01caea700545ef84f81f7c8e8c6fb33cfc8404a81186415adf79b5f83baa16719e9ccfd26b6ccf56df22ed00f69b6fc01372188279a9d7ccbce84d2ca6b2ef696122ab99a1c3c996dc1b9147b29a7aad0cc9fccb5d7e82ec41e40ab89eaa07b7f8903a847073717ff094206d23b34bc0f31087ff0e41ddfe608464d26735389a23b8ad9ed6640faa08ed55eca082ef127b310e21744c5400eabe637983d32d10cde429cc9d54ed4b3eae6f57fb4f06a5ffb7a91dab52973e3502af012fe98ff9d276f4347af93ce9b2b767b00ce1f31bc130df4474dddb173dc6504ae6b917ba447f793488b64e7367a5f532a0dcefaff1044741fd8b5d42b5a1e4e7d05bc637dd6558b3fa0e5a124551cd60a96c6e41be4803cdbd5e843c7f9b60f8a600908181f72d5182e79c6aed25a021f969994715d81c70598ac939dd7952bbb628cf397fdbd793a3ebf5f2119a15f4e441c28aeba659a331d7a5665b6dcdd60fec629c976bce4d5e4b412dafde152bcc9826ca92d22492262245ebccbb96d201471dd78dfaa197f4ba8d95fa63ad2bd22e5a38c0c75264301f1309bec542897de8a3cecd82b3b534f3543f445b0f0fc306f4c6c15c5d0accf4a026e2d39b2e2fc7742d572af0b7474905bfa6f4955d931ca11d880e811b3375f514c841762f89ec442f3648dece5b786a1caf644e5df0c0d9d1896495bf2a2e2a347a1990c57b1705886239f1f217a0024e920cfaf3c0bbaf25dfc262ea3ea078f550872c633d8d27497d7b3834b690c2b707a1fe51c9d8cfdfa8618e7f622fc22ff2227a15d4f46101cfa138010ccd048afd1a0209c3d563b718bab36d153a877d6a9101f23fc2c45ed51fafd75def5516a51e85d10026f2043c53dbae7536646ec37be1bc5804112458f4dd06ed2b15a7cf5299465350ecf1bc6bdbc31d9d046c3f93a1533549ba01a13c56cedf7a779ed0e7694c937f5c596072a3a01e2ee1f3a5969cc22b3e51d4e95eed4d4bc5eb321925a83e61f30d7020c70d7e0d04930f123d204976e1e005e4b0804aa5055e169426f5bae48263476942e4559c9935cd1b47ddec5286390a1a12163dcc40c6b84b328c20eaa892472f80f915c8a01413d9e4322972a0a63bd44db5d791c57cb561ccad40c282c8b9d17cd6a60acd127ffad5bc00ca5d8b9f4ecd7605668abf9f99dbd24a42804a578f70236d76a6ce7b916fd2641aa2c6e91f832e5a0b76d701eaf52aa43f172662affe288dac5e7f7633541ce3961f173ac6f22e0ff1cddae97a43b8359cd4d3c91734be78e2eb52594cfd9f1f32e89db0f24f8f2006614d275bad61350d41c3d21cea1d729632f96f581c4bd35f536454d61894cbfcdbdab030df2259221900ca052a81c8809399433a8f49e8e474282360b85302a1c35aec50202bc78844a94432213cdf30574f92273086bcf7c3acea9662cc0faa5aafe34fca7a4042dfe3d94f59ddbdc1aab77c1568ba651c67a1190c92fdebf52593839e1f0f97de6fc4fe83ff666631a0d92dfeace3ec78cf24803f0803e1ab039b8e7dcfac4985149b665be2c3bc320fec3acafcfcc197a132bf4b7df6fa9a16191f7dfa2db3c5825a99291897c06d2f25a9df4a0bf1f56fc44924a39aed696e6e78fbdcdd91ae838b29ce439340f5ac82776fcf38fda36b47639dfcb622ea0ceeec07d67265324a9b28ec09a12188c49882360ea230c0ec84dc278bd0f7480e650805f9d74fd76227af9d931e9187b54b5e35655ff01bb78c57cab4fbd9dadc372034eee02fab49c24a2099e8a55dc0ee2dc0ee36f212c1f972d0ebca228906b811426bb19489178543498c3fa55e7ad7d1da9e9541aaf3f7469d1eed1dc06136a90966721e65397f7043305637ce36ef1d1f72c27bf6abe2bf10d95e27b1f40b2af5ec20b0d04b78ef4d812966bdd7c147e86e050440477c711e63a7e47fdb34c7110eda0ebbfb32b43f1dda8cf9ab4dc40aeea04bddce6aeeb15d0a59d86104fda93483f788181c6f72b7ca7a7bcdd866b761d26a7cf9bc42a00274032b0b0a354fc35cba8621d96f6f9b301c042f60db63bb0051833cda12fac9b93ff9a6ac6a57653b785d5dbb0ada4a0e7d533a6f08f9aa465e6e6d3a6889f7f77aa228ccdd1eff0dd76d40efa0b67d426cdc60c948496076811352f3c418de25e1b31f8a1a9006e189dce41a0661540fd1100a8fbbad7f2d6993ea2767c5808045bf6d97f9a9f79e89932aafc481bbfa770e97165767ec5cc28d48137c0c4720ea5c5602c489cccd0770c6d4e9b3a5b1a2857783766632987322afec4d087bd90ac9bba68791c5c2aa3c55990120f59880e62e11acf232660961da7700e17e23e992474da691ce666a56c9f50422c352d72772f42d9e3770ad7c814420e51461be7f8e4cdccbee128393318aa16423c1c696c30a2b7e32dea2f4459f05afb221d6bc2aa3cc368c30fd530cf9be4fb52632d069074ca98ab379fadefed6ec9ef23424d858b8ee9924d5201bcd25bc609b9d5b69779154606b398160210203eef866f39214ac6b89078bae057675b8dab115dff1d0af2ee15ab69857295498bd3c98b241cfb99e23a20764a3578aa48d615ec76291112ad980f7c200dafd828c53be73de4418481036103b76b3ce5f2e11e323b09e2822785bfe7a780c9ea3cb440159c7b597581b115c9fcf4bb1d50fe88cd33f32ab79e029e9a8224bdbbdc45d85beeb367b05afc8001734ad77ffa0c6604f4b813c96225c5c53ef6a345cb956909ff982379fa504aa4e392bac05b32fe1536ceacef3a06f6d306d2e82b58eb4517d337b7abf85d5f4ea0a0fae6e629338b378b4ac37bcc7f2248e991dc9d043fd37296a2a657918f3f9f71a3daea830645582d1c252985ce84b99047d5f55d83a531aa45751fbc8c617ddc018b4302f0b00ffc859a36667def8e55ba4f016b5e8271acf01d553b1ee28d0174866d10380435c7698cc57b5e9534f1816ffe6b6c3c339f81bd8be730618a186a908e5a2cd23a884453fa9f905edcddf86d33ed195393932447f31eb4edd5d061f12e380fbc5d1b5223cde31010907165ea766870a97af3c109b6af7bd2f380d165d8fd9036980828e9964ac2ee1650b4ed56e72234ebcccff18d458915b29d371791e332dc1f32f59cf173041b157f78bd0a50af040c575c647be82e139bfe6ec4f53bda2a0ef7110fa11ce0bf18ee196bb353127df70c32064f03734613b53bcbb50a22cf93eefbf3982d556d9787cdc580327b1894560d53e89410488c1e5911a1d695f3c4f8999f48436a5d61ac28a4972f6f14c49081134bb3043c5cae0de155685f4e025cd7d2f932fa473c02f601a7fa7b6ce876426004a7122907f222fd920cf0811c0452889ceef4930108382e6b47d55c73dfc2f6599f8fe22156439f59c5a4b34a1956fd963b3352efc693efc55ebb5e3d90efca3d576929993f7727305c079773218f1736b790e621eb1cf75a8064910e595c36e56800dc1c4c23e29bdacebb512affe91f4318de89b20f290a0667a7381ddcf9d9af751ece6f97bcb813762d54817c595d1767972fdf622b93e9886d076a68ffb1a2e8bab56f5e56e0afc1c1409e4cebb669ed903412828296a14c5621e96b8f73ab19209d1e45bb5328e345dec5042779ffc7ac3fddf3a69d055a32766b90f6d3fcfc08e60543465101a2d9b5240b119a928f39650a64c4f8a1cbb310908d29e46ea8f02d03838a26112b88208e5aeb4ad04a1b6d5ab0e4de407cdcbcafdb03f4311710d23d2ff7b53919bdc4d4355f2210d796fe6ee43f550b1119d1de91090932a93c71d1474c91402454478c478e1ca2683ad113e9d0882ac5f6a8c488604ca55406c955ad2f92191b486526a36d13c705f2e905710d340a0c43495a613661945865f135b4107c70388ecdd745618e82e0f8280f332af151d1e7a740f031d82455871b8c0362c76235e4013b140d7c34568c88c31508101994f889072737d545b17e1eac019626009364bf863605c43093fd1fc6cfba528cbea66a051c84ca52374a409ccc2adb2913607701b4d1d703ff8cc9e6c20c72345a88a188c98b093042e5c7c53986f3c571ec97998581379f3620269846477217b6c3a63959a848a06afb61d42edd9734e7be089cccb72c1fca6792eed9226d87ea70a2270945bc3e012a9d0264bc00a70aad6de7d26c69986f32eaa4711b991288bd3cfd1932c506a718b824fbb2c3549b87f9a4e04ad07a8b2f97183bf85ccf18b68f3ecf84c7334328934a01ee49d123bdefeca6533760e6bc3b940704a518375277d1f5691123f71f501d9f853456f7400d3e041256c2688eaa4ba36edb4dc7dd3ef43939ce2bc7aacf3f0e31da9db49102fc7fcd047addd01d64e087e37e30219c5fd16ae39043ec9b41a23f32abe0f56a5198585820f9642cf3987251cfc4af20914bc629a87319a2a5457759cbab20c5e8fb8fe4cf1299a233198f56c0a780264ef43cb4cc246494d7fc2ba15cd571ae2ff49ecee576698b0abc42c09f13acb859bb4f6998de0a483ee51a1597a9b5842e367630c2e57ee256fbf6df4f50c5683f6bbfee23de0cb64d593d93ad031e497982b49f34c83b0ce29930fa190a9804661d31d19d1f36c36733cd7fe69aefd4b5f6aebcee4bb080395ad13a49cb0f0e23e8207a2edf493d08ff01cd236fd0ddaa5c994f71bd7c7b4803b7a889bef5eadbc5b6d8d09cfc9ba50bae1870ba2fa6efe080a27f3ef55f94485e4130fea65948bb7e176b3d227ba0b1510740b2de958bbabc70410abd52083d760c8e10fcba1d32756b7897047c077cb2fa89746b112d529479756c971f36578cf002afc405a1bee74813e3f40757aa287b613b16f41457ede1cd83d760449fdada0f0452f40caf298df7fb332a0a54b206f70d59a09e29474a5ea222fd952e354029d891e34ce063b113627ecdd67f7cc68741328a5d32b915d7edf5e64c2d9cf2f81aa2be2997053ad3f933aa9b64f02712aa1dc8504c2cf9829920d1268f298fafcec1117eb389a8da490f801005e262ce4deaedb4b83acc41a28d5c96c09ddc2e31dba01eececbe852d5faa70dc282b93ea6f362a9a15cf70f92bbacada5362bfec7e8c4beee3bbf9103611b42c4471a6d52db6fece5bb2d8fefa58d09e4fd739d5f43b38a3946a18b1f8844a87197bc097171cedce7260bf7c08b5fbaf128fd385c7516160bb14ba6f2d96129020c4c655f49016457acf356f1c955b25ab3dec28b973b7ec07d109a4abea64d6c824e94a0383ddedfd7fefab153d83e2ff977fb404ccef2854d2f42d6fd451ce55c6ca815411e4fdd354b17e93d0767f80bbc450c9f589762188a7f9c3ea639b93f0e985975a156a6a87d257c62ff604ab5f6466cfda8b77d53ee151d3d8595023098c028ef8f58af276ae3162fd967ddd0b7637da2971181d75b2bd679fb2bfef8afaef26cc6bf8cdf191a7d197080b673f810fb4080b6acf2efcb805a025a4a693b4a63d48b6d5bc46ee1472a7dc8666fe065bda12854da6d1138739d1020a4047b83b3f748fed8239bfeb825582c40ee9ad598257b8b621c277fdd7c588a8faf343b9f0cb432b08b961d910475716a554aec2d6b6b755c2df5d53cce5add0a2a46bb9ef06372d30467d60ab631ebf0bd28ea795042a5d348fa850b6d11ef411ba05938baa51818944e34ab2e016097a4214faeaaaf1367e1fe58228c89047c9b0990a241436cdcdac0790e1d2db4f072c42c5635f7375d6572cf9da034345c020799b1a7a46106cc7ef03bb43721ad6ee2a24b5c486efe674584727f771152dca9e06cdf4a05b96b246652fe8f2cdb824e9e6c789c36979fc3e79ee514f17ecac304ac28d18b5c9cd277378b6002d4356b8cf6e549120cc2997e6bbc3a65bb4f2b2d0768daaad77abae40c3d839e5e03743f99e4a7bc40fbc7f84dba05dd2738104bc8d65907085be79374d63d28a347623703d13ddbc115fb5dde9cd9853d0f272a61ac94ec5fe945c5ea17d401b1647a950e1ef42c9821a375c15973523bb5b11ac6d3b07165c71042fc5c45ea1dde39dd1cd875e33965910fa1aa3c565312b605082f6eacdba3081c5e49607ca49e8b2a9a6f7f6924c655369829dd2736361e3dda0f34c11cce7e7ea210419e1179bcfc3434b794e212d102d188c92d93b3f8eb0ca1477627894149a7f74757143db6d0fbd85a9cf46f5fe425d30c1c096fb23f9e262d533ea80877722523e0cf8538d010c047fec92b20855ed0ccddc592df27d6fb15e7ab718c134f9510a75e736ccf1556a947d5f5a096f32f88a520c7542fae7fc6dceb189d1770c90b292aa09de7a0f4f17a62b5d29d972bffb2ee12e1cc6f82ab4994ff83e71584b92a74e1ca4e00d536852599e881d45a43c4738896fa413db29afe1cc08782529c4383b0f1d0a4087cf00f2767133fd7a0c77533301f95892f7b9c14402e2340ed3c6e54cc44bb4444fe9f2b37b7db70e0c8e9b35b1fc3c8ff9f737d37d8e6b5e3fc84681bfaeb745e7e2d151845362fc1ee0b9e310d2a7b4141347184b37ee7c6025f05ca2f19b18c21cc0cfcd4958c596e4284cd46572839edca19284576880f18ede8c306059d96a89bd9af96e20729bd907c48be7c79b27d6b8773b05d8c592cf0771e1ee18ccafab7d79b52221ba6df8b163df7d1290ffaa5649f4832396494fe0877098b8eb314165a7e59a829836848d791d653cca978f97e8dda196565b57b28d50ed189a67398152a04fa3b62d1b4abec1353d279a8090430e76f159b78eb68c5fb047e90fdd7e45caa2fd18f3cee3c224c0478ac85bb6186d601d3b698bd95d5523f8dcdeb29292b8c101aab552d848de3a6ff772162c63d38eb7c89b85894b9ba3b97a17e3dd725d8ac7add874bd183614970bec234da11bcb557182abacdb20576aec91ba2d847fea6dce000c076d3677cdfa5d366ed6aefdf2f6c0459d7a1bf45348f616f292d2cad1e8eb78c2cba6416b4afa857b07cfc12be20a11c3d9fe874d3fa8fbec1e712931ffeb14a81f5842f231180ddbd30076bce5478f6b468c9cc8071498d58614b4552c94e45de96f262680179daef0e19a6d6948b1c6b45ed1ff3675ee5f6d95c9e8ebafc85da5ca673a2124c6e40aa7a70b5512503ec1dede66e87b525e1b21683d04df82f60015deba9e0f8450ce232bf42f1cdc7b5a84f6b7ec605599791664e826c4393a6c3ae7906f5eafdc9bdd77ebd56fc41ec3641fcf8469b1d4ccc9388168049942c8620232eec15bb7d13e9fd47b2d30cfd648106f719ca2a1de766463f409b4dacb96f0bfbadb16c68f3c81f0ade74d4f4bd18dcc312a6dff73a2d67bb388bbf38c891d9795b66ae7eaee599bca07d0603a873fe70e7b34d463bfcc729f43de46ad11eb503eb8da42889f795fea0062ed59ed87fbb7f0dec52e45e48324769cc1a4b3479f675f37e4cdb66e5d709b626a0297655b7720f1050787c9133541f2a138f10fe7a75d0315d55d6070f25f47a27b9d34e6a6b27be76ce73790e2b52fda5f8e73ceb680c01e52743abffca204ec1cb919809011301cf65220c42f3204b4961a7c2365b69ee6bfad2ea1fb02b24dfc381fa7c7e3a111480ce58ecf1850d65388d9b33a3354583de93410cf12b4842c0d25d227b07b5c0447811070513325c484b80385f82d62772f03abf8b43c2338971ec290f7d045efbd30a3b333a7c0f192f4294afabef293929ad57564309d6d5466628fc8d5ac9a016ab92488351e229a27ad150e22174fcb0c4fe8d16beb9ca7577b33a80fd3481b87059a0170b02f1363cd1274da8324c4a2b8010e7846baf601480b714df0cec371aa6002c7d3a8e505792e673e2154a66434871c23c30fb7ba0c1af814e55b3ab1df5eabd70b2944e01ecd0aa1a19a5702aba897f726c8171a433864154848789a5d278b9062eeb2e8024ac141e097e64be5c515b7ee9043c9c4687bd66cca1dd52d7799195b9fca75b1f481293aabe5eed91f255a1b075d9416f3714eddcb5dc78d140c8c0c817aa7db0f2c322b39c86c11895f26947c6656c36b0f674e329bb43f878d82fda1dba7a8142983370cc9df33fb5bce11a6d2c8285de49645e9823993d853b21e9687a0bb98397db2d248f190b838a011f8c8dd144d2190be7d0dc7bce58addd7fc91602387c3968129379c99d3835119d6cd121c72d84b1df63e9c1c20a23ad9234cfd250850478442840a29f5b662046a035a3367c8f9242e5c48e4baf3e40ddbf3ca49a50753c6e59fce026dca2c28296bf15ab93af04bc810de21fbf3a4914fe3233a057ca85d7cbdbc79cc1c0d90d48c110e53da33ee311aa403a806d8a153b69e26bff0ea7e135ad6808e93a01c72e50f5b59f4156d34caedd0494fb76bb769f75b21b4d989863addd6ca4d37167cf9797cdf1bb4f4f1b39b20a669741ee260053311209e7ef536a63c3d729b29e4de12eccad149ea8feb2953731135d82aa3c4e2f41ea82c4c9bec5b54b8d10c94841560fa42bd3762fa54d2b80679287c94bef93dcbcadeb27a3693173e25f9118e871c95db9ce1297c8b87b7d014a26c9f263c342e2b006913b54a7c0255972dc15090807713892bd889c8beac33c047ec87c5a369e6e09767da37da17a1130cc0d53ff7222f670eb9f7c03d11af3808209c29afe6a4f18740eca6c24726bc0ecb5db32fd5094a9d167a36ccb68c161a6d1f4d25d62a34fe01600fad7bc29eb5edb853a23c4578e355f900c23799db4574e01778a71ab1b4d4b395a758e4ec0be9b55e6c5242eb9b9aae8a509ee5e21506baf3865fb6e1951dc0ff29176e69da355c3cde4fd221e888caa2def8ef12c670a502f66af3cfe707d1bb2dbd3c9fa82e3bfc82a26448d4d1e9278313c5368960f2041499579cf1fe48bc33dda369e39dea7869b8cfa706333d83dc9982b29cf9becf004a927c5b1c9cf3f44ec4c04899112879aa4dc06a7cdb7df9d644b958e47c28173f39b2378680e4c32b7be937b69f7723282a89a7c20bee31b149a546b7b914d6424c24687d258d423f8e45a3df0d384356b92ff4ac011ca18292e270d87c921d6b56f1063d2f0f3e7f5236676fa25e5f2266b4d1dd9e9c01377b80f03f200224a3a0cf644bac2c130ed862a831f7abf7ba12c21810629108a2ab20e3a8cc38c3c9c51d933ab42aedb807051efed04176a4ae22f54fc5126ede84c3867ddb495022683a8ffd1fd91695691d4182bb68a7242d7ced6bcc4fcbd7493df145c248f220154698f5e542100fd2e83d2c9a959afbd9a446c8ff334f9511d772e3d5d0f40dddfe75512386a0f36cde0eaccadce92664ec2f0f56cfb8fa7f039022445995d04856fc339ea557c251c7d0866f1b2a1b04295e28b803e66eb42059c9e2b48a007b79a7b6c0bfbb416c9a32c6282886156b0789d2e64591c02f2a2010322ad109cfd5381d448790f0e8185e6d1dc71631b811e8cbb759a8d0417ce060f03cea25ea89b7dfeed56f49ec491ff339a5e8ced7b2e391983f533d846643351736e00f3fbd983fb61c8ff994dba399e36ca1066755946c2a6cef355b45cd871d85d2f16b9a4a07bb3becf7c0379762fb7be4100caa226d64a593702e4c5fbd305feab20e71bea536cc21605d9c36b767e8ce6bb4d7e889967b921fe43e4814371a83f30a65a54504e57cb660371ce9ae5a57fd584bf0f4cf3a149c42a90f1b11d87494cb15593a8576977d5535764987e3ca426a67b876b776be1c6178523c1b933e3d699745245260cea56f37663a1540db87fe8cb42927d4a688a2af82e38259a31a38f4c2badabc445d25afa6a92e369f1fec40a71f7ce9189cf22a2ca4549f2a99af3ea43ffb65defb67745eff4ec2b0a9dcefaa964b266be9117569200c47cfb6c129a4fb3e942d4cb05ab0ddc31f2941fc064f3080520cc6282734f065ed9fc10e09be035cdee4d47fe7c2fa1e4e56db0399d0be1de9c583b9fc5e8d6cb4e91ca810b578573a2e719de244587185292e7ddc94b13cbc8fd7c12810415b75887a3ca03919637136f5e1eb799804d81d8c59c332f98e239f0f791cca04ae901ad2dc9b2244a338034336e53aa7a59be5a2f2bc2e6759665300bd3f5f86285b53197d705f3fee786ad5a44b80214295ad38dabf6b11cb630d8d99d4b1bb7da4e9219dfc60d842edcb8e24f25fff62954e2c9eaccac4e46a2318f24601b210c535ad391eca53a0f87a616e74b470e6b0828d91c21ca3054fb9f8150118a8fc0d43912eb4b243a7cf0d7654a6d9c5c60bd3ac115fe6bab0c35df007bc729a0ccfbe6704651bd0945f478b4f8889172fe5b63ff369ca5cd4de06d5e072721feddfc50faf4cc6db244140f90cca3cab8a5693e50766e3056f86d2b1acab62cc81b52e9dcbd12b88f7e5fc6358fb924d5a77aa600245fb8db7a78d76d36b4a290e346e9147fee87ea2d4af748f8963acce3b37d51404457ed90824230b880b13895a8300726f9204ff40994418508bbf984b57cba719240dbb65ddd4fdc77d561549b7dad264f9955ac3cc7c99f4be59cbe0ec573ea6bc0321d7d1daf04c71903feeea8d5513d8b8285bee3d9fffa0cfcbf5d1b8cd329f70e82d6fbe4555c8722bdf7245f6701014cb176bb7475f0654798d993406aaf4e217a0a54f975b966bd230e5733097be35afdc1155bbc542bb34ab2154b5064b6a41b26fe9027f0134a399c9f31387589c92759b82d96be43eb942327234a617a6ed7c3b88feaed7c6c045283d14bf9feb24b545cee95bd6d926f8b5c752913f3f93661578a3feb57dcb2001fc1d412b9f2c56ca304806d7e733db1b92af7b5cf716cad2bcf90ed87f65624b3925372276345df0b68900b96657a92246733f6bb01d23187e15ea0d4c20b88bb89913a8c13b3f0bf7d9207fe3927e98c18484ec41f3842e481ccac5c80b1ca93d1037934ffe0a414d2e615c0e0912c3be8e3a7e3a2056f2ffbae9f7c71a53a0fd059b2efa569a0b8a00bc50b2fd6a55b3ec68bc3c5cf2bfc6bf8fb2e6fbcadf71d18b2ef23997a4c6a8a5bac1eb147872bc9601466634de767e341170c7b5a5627a05b6c68c8003572b4e12a62733932b50e20b2cb34bbfa16142ff9dd23970688906074cc2160346cffa9fe319d5382a32a5e2862c6e799269df37a132a84941e0f215e88f2418cd9d6b49b318a93429fdaec81a0edf05e246735e25a1fcfbe9d88f9edf310aea68079631adf1df7814a5c9695edb8a6822d0288caf2257dc731776469eb7fe92207f32730af7fa765e97499f18d6524cbd99901592e35e65061f26d4fe5423b1a690326ebc540162f8f2fbdd0970c31dff7e880ddd8f28d28837b1757c9c46d72bbf599371359c3e46529de5a6eabe596c1f0a9161603c132d707325501a5ae0d921dc7d5a3f843443ff7bf6923eb627e265c18cf7d78e413e8350124a153dbba61126838f3c2def6d3f755260f1326a97c456413c33dd2787a94b32685da23af0897295a1273f5cac232627e198a19d3191016055225aeda0e558346c005c346324969c9196920cbea3e1a0c53c9a8d9d2dca1e2ccc0e0f86b261c2eeff56c15a2de82bf6631c79c5de8f19a9debb6d6dd7780892029ee044a6927bcd6060d724bd66253a1298b0bfeead8182dd31faffaa425bfe5568087279e950c6e910ae54877df3a9ed418c8302f7b1dec18714318f689dd2abeb038945982ee60328f7e01be6cbdd39b67cfeec140c14158f1afff1f901bd80d611b865d438eafaadef92243a005b3fb077cf5f312673de8afc84926e8fbd72ca336a25c27f5ad7d74377bcb620a2ed0f79e3a18e52bfdef83dd09ba930dc5c5a7102c0489b82de5d456474aaa69fede550e073a64a1f307222c1ea7a6ddd57c477555dcee1c1613a72ca4df53958b66826a2ee6928df3f4f3e5aa411610d20c67b4ebc0606afd086fe025459674c30f2baac4127b12225725fd3fda78b854c4858974be451f61ddf91359d6e4e6d1fbe1a52c9f7ca3efc579e3ddd1365104668ac8d7ffc8f0bfa74ac74a86cc21d215fb65b2b342c927d37ebd9927041d3eb9a18866e245f7936e33930f09587a7867f5343414160dca53b097a587348001289f0cd7c3a37951e6e5aa7fee271fd06b48ff998d2a255185d2c73ca2d9743a5f784371425145e2c8be6f4357993078fe652f19a0fdf2e5fb2fbd9bab40c27c451b7ac8cf37b7e650289ac4fae6c7fa28f8d15253188af0cc180679a24e98c1c39a1138ce9bcd72ffe38a4df55902a01cffd29005c9565387f5776cbf4564fb091d9430b792e2d909a2fe482b845e9f17961bbdd018207751a58681fcdf261d6e04014ad4766a4013ded8d698581b9b472e6350b952601e310d9d14d1e26d6ae2bc351246c082555e7cb78289769faacd9009ee832bb789c30a7241f5b90cbc1e7fd9fdd4aad379e1a42897977f37892ea23732d01749d5d43e3291d156d57be934594e5153cd337cc479c34e3de14d2592c9a631b94d82b6e0f0a6ff58d6ec746e67c0ba3a17d0b4da9d15946f1c6a1895e5bbf1410add0615a2951d7ed0ab28ebe8a606e86eb6eac75d4047152f97c3be8b9d18a383c0f20cd7365b847b5f2c4fdfbd33069e2acc47d42dab7366ff977796a6a521227173eaa397c79499da2f3dcd1fe32404b54e1104fc8879172dbd34e3e645b71dd012e31d0289073488871823d846f216e2bbaf5dbed6e092936599eb689ef0a1186b6877737833935a0aa6e85d6e581102a5f0764c53b977a2399324c55782c1b04d2e65620a3e8a078786581e97a13706ceabf9ab11183dd42a11a3b8a383a1d598775983a6fca727e84c5bcb0faa258bd682aaf2c7b4c20f20860236c410f338ae2399679121c3523347c7970a6b16bbc7e82b1dc9e2deb7a935490d2dc4398d4396e491754bb892d521bde9b68e358f95989e94e4dcd60f1913322e529888a37d76c4ab5830f7666be0975ab7d1ef3499bf5747f009cfcd0bae7d6c401ddf04652af22cffb607a1a7d70befac58020027c00714ce196490894bfd6d7b51eb69fec792988e8d4fda31a354855456717f6012b92975d8a99abef101740930bf498e0774abd6597f35b0c28a83016f59bb3752185bb685a2c3663a744edc75bccc4c8a9c7919dbd9693d5db465cc33707eb7ff8e204a6f607cf64007758d1b5b6b791323cf4ff9ac3511eeb9022398043b046e4ab07f7ad1b97034e9e71a6ab46b7ec5e3cba0e36e4ccb7d40940106ebe762bf5ce04e80dfb07c1a9544bbe990b3524e9a1c0db80b6647f15bcf0cbbe15a0d49a607c142632a1e611b49699f259f4d2497dcc549641ed00c7589f08fc4d5238e77d719d774c4040ecb4c0da673c59f83290acfd04bc6b440793afeaf57855f7617e8ba5b37950318b4f6b09d718e5f4ba2ddd1f80893dda0d62ec6f71a587b68cd635114e1a7a0a972cc282b1020b6b2f707ff178b86eb899095cc28d937686a069ba54f52966232314b08aae1df6bd9892d712d1d9bef2500418b4be7f4df2e38430753e6a982d0a77489fdb470fd6f33f3541ecfd18cf14c207e0f2fa5a0b9c2619973db4ad31ff6710eccb732d7c2d57158d28e2ede1fbb9507ec0b6dd230d5101fed8fe4ce43a5242c0452e7a9a4dbeb5afdb27a3c6e1c13ee02f7bc2afa75192043f7a3bb0bfe894cd484e418903f7f4041d190bb4506c517188128227b46d4974d0bb15227d72d217307e143f46494411806ce516f168e09abe2f204e8d1280129f5b8d44ff385414a8e4e4e9105a7e85ec3e3fc8309a372ad9368ce27921af75871491b099a666abc83c636ef7eea9d3246b0482d9a74e94a556a6677b4b93cf49d898675fa619b6289bbea181f7ea46f7c06933b538599dc14ea27a6655d3936c86a7a302271629b861ac55207556d325093c3c1892bfb032205b3b04cc476d97303452fe4196a9f062820a27de87fa18c4d23862456392f44b0817ca082f6f9f4ac5982a1d4701540ae9d67b894e8f4d74585b1f767c948c9faaf68deff5ed9282119aa318ceec806f3e393fafe34730413c5e4fd79db231416cf7abb4b343276308d03fc88c432404030d509cc32c427df3104cd0024c6679fd86e600d435dd1668094f6aa6be3546b62a26f9b8f7c94562bf26a208756dd29d77c868e97bd78988a365297b2fe8bee4187752b736421deb4269a017ea003497ce673802a06774813cadcb6863dcca24719a939eb7c8ebbbdaa3e2dfcf4098d6a820af7b5e3e285eb76daa49954102851621d0d2c61a1731af56436336ae9885b33bfe3a577672994ba8fcd24322a5cfe4339986989a11f324c6b906f0f715da3c26a507de8ecc6bc8a370481e0ac7a90884af3e7da21038cdfbda8674616f1571b456a30969f99bdd6e0938ebd4f899a3c51ee69c4275ad02ad8b9a1357d98e7c74f2d14a70eb0d157062c423f2964bbff0cacfbe3e57824388bae54b04b42cbae5320dc2cc0f9124ed3d9c5b7900518732f86adf90652af11ac6deea96d182c23d95cbfd32555a841fcba997949ff90b96d36382e96be2c9f82bb52f888ab9257cb188122276cb3097bc66efa3bea897c917c3d19afc4bd6c18960e61852fe4132b3be514e6265397427b7bd7d8547e865f84d8dca387bf62023b51ff2741bb5c1b56d08fe0cd10fe56e3dcd7eb70017fad459a17f7eb7c4827c0426b401b23044cbf58f0186b536cbdbadd3f059297e80c6d4ecb34f63a32d17bb0cc62e320c1824b06f9ac748c83c6715881cd18d91666aac23ec39fbc6ab305a742923adfa977972578e292a2a4df85bf4ae0caae5d98d1f449dacaf8d02858c0aa0afe5112e7b69b1edfce9e3f9bf19fa8ebeae343532a28c9eb11a2df471a41a676a9253a92f6d3bd5dd04066dc01b8f874d74aeb985e6694ec6d69eddb5862ce6b02ba68463a74d78dfeaf853d890908ac174795982160288c31402ff748ad8777e3f9ae88cb9eeca8d2bb70a7af5a5e1bc9eb8c3c5b8eb7cf63575da283c65060d45a42a982b48512f4f0b2b98f8f88e05ef34c221943980b72b71663c618ad7b851d31b62eb5e319cce8135e7c0b8df1b8303958eb3ad5954861ea9897b8d5905e106f52b75a94dbe9ed998e78ee030cf78dfc7d7fb56122c0ca7aeb7848e92a95eba885aeb09fad253f9ecf0e4adad46cbf37618c988f5da36b19b33b653190b828b23683fc28e05a4e55f95ed83d165b5f347f1f4b4abbc43d76e3796dff75739ca3b6811784d7f2b63762d4b6be881d33dd828fe6926732ccbfe38e1b941eeab18b88b0437725e8da6be3e2fe9de34271772b2022ddcdb728c1584fde21bd05dadc394b298eb3d6a2a47049586c5e9d972833818830dfa5feadb790a9e6abb7aa789ac516c4a0a095227fa8118bb8f55c71fb395c2ae2dc91231bfb14ccd98f8ce8c5bb7c27ec0e54a725da7fe3dd74b529115851225db1f43d41cd72d3cfed5461f9163363bad65c0c90d3a65303d9091152119c5afad5abff4e3af6d15d22784750021bf73e7d031ae115da0ecbb497593b9fa1db4dd37df041c665d2b9c99f97fd56d98b254a27a9208f065fc2fce10a6e277caf624003b1651dbcdbf10f30772d2c0c11e9ae6ebca5032b4a1039aeabf9d6db302356c1fd3de4440333fc8e0815548b21687c4d86036eb08da9d2cad4c32c6702664d58605342ad41ebfd7f19bed9d3ddfd4b183f8339c7b6a3e5f7b041347bce2ce834c304b79cbf9e0aa162b93b8869198e0dae6edab0f3359996b7fa5ceff333988402dc994e3eaa2242b1ca2c918ee7dfe19c2c624f867f352b8fccd0f1da795388f2c3b01cb4ebf4ada36e749a0a8bac2347bca14ef4fbc9269283b4310fa07d32ce73b5c19a48f5413a9fd6c18fc6e126443ef0eab00238eb7130ab401cfa6e6110a8d136aacb78e28902b68801c2453a577f535c316e0e72fe71f9dfbc9459463c1ec97322b6e442e1430115a7f8306554346477ff885342b962fd6489ebad7ce1f3e472594b00b8be638beadef21036a2095cea4ce1fc65365bb2cf9a2dc857411949b5986fc828eca91bd60ac0b3865a134b4598b6500cac7cf46eb90f3a28a512716ca7f755909028eb8e658a9eafe0eeb8abe74d4c3a8b113675fdf440f832739aec5eca6a95c1d0d4f25e5f76bd72f258a0ef29f58191b88f5f9b1788584ea292691eef622ce10b19f798b766181ec8c59754a6c3f09a9b742d0e945456ce0d580d0a01984fd767d910a9a7ea09fb1a93498491821ea253c8095cb72ccf3f941dd8d05903b64e5becc0b67790a203dd38acb090186a29402a0813597b43b1ad90ecb44a43b07a64bf8975655d76a66ba000913da94c9ac3da6c8f28245b0d5ceae8b4ce6b0f862d1ea0022effc85c35c7bb96e771d6fea467e83ba4cf85d681474b3e883cc6bf4d5b33742a53b3e78949d892face305383a360c06e090b212e091526c1170f3ab8b0271733c26a81db189fc4902928f4548072c9fc7f01cb0d7a469c572dced0eea71fa29e6bebd6d19bcdc212c18fca7dc94a69cf64347eb9c0425864e9038c0126273cf781f0971d6b7375d63b3e08932f77e906e17487deb228313ba78926833fc629fe16bbe1ea8ac3f8e618dadd24afe7ccc843720ea8b72db12794bdaff3204f82929ab5059c86801bae88b2776a7127ee0bd9be47b1f4893c22ee7b4313f75a17e69565e3797e003bc49ce52d8e27a7916875150e8aaf7c7a2b493f034d839cfa082239e6276bedf4d97aeeccb6929e10cf0c4a5bd8a6562368c3d36c6af6a5f35c3fb71e465ee8c5727be5c0962642f1bf043041f8fd4d3c248b6ccff0b857f88e09d6fcb828871da238ddebf3c431535c84c233ccd5896c8e3252a79c482cea0f21954b0edec96f6a788c37cabd62748e182af41ff1b50d65b8b78683d9133031a6aaf361cc97a915d3e6370d794780002fe56877274fb18caced9eb2a75d17b5deb5a4699af2023d8a916a44eebc62cd73c4373472fc28e8ba4c90e6d0ca393ccc6f565d37859497764b3e40e49f071dbe195fa0fa7a7a250276aeb4667e058229813c509bdffc73373cddc076a1e268a8521752032a04674035bc5f1872bb59973712505815dfa974055f98cd86decc37a3ed523b21053692f001dbe02e7a2f10b78731925a376dc3cba4f4de0d8c5e69318a00b6d9ef84666e3322948d18134c468e9b76a17f8e474f042ad305bf332ccdb7cfcc1cbe23c3023623c10df6a6d6f7fd6d60f686185a715b35f9700ca4ef1b97d169ab22cd2a22863b4fba524c4386c4ff9a09075ffc4ef7287206e66579c137a0bb4b953ac558b1c701e900a7884a100712da7cad69c4eb91eaecf3712e1176076797212f57f16548cf76de1f792b10cb5c0153ec50dc2094476b8553a7c1894cac0e2f9b2ebb6cc4810d7411028d1729e7f7474bab6cf91b4414117daeecbd9f52fb950b2c8348e45f57a0005f284568a6529b45e9be9ed05b0aade0e060149eb82c3c2f56122b2b5b8ed6ab89f8fde35682757a19bfa4bdd5acfa3639793f7e4a6b43eff9ee487fe85a050e62ca70f8f05f862d82420fc45c498e26567effd9878749809db0845e57163ef95754d298e8880e912189b556b9c4a81f5e668d8022ac539faf42c0451130f46b89d71ae905e4cea45f8241e7bc325896b1884d3a6b0c2587a3204ed3d50c097a3f1406f8327611ba9305b78a1ef9b00b1522e04475b5e1c7d348ac5781ea93878fc7c3996c524592d12e9552382f12ade435569a42d1730f0967f2e5a7eb8d4bbedff0d412645ba72b0c188734eb00e95326932825af5811e1b47cb0a4c7828bdc7d6afae5e075e931912be73ea881dcbd6f2fa0a84077993a5a431f4aef30aae97dba155fd4a4464933633a44fcfc1b9506963d4750604059e64a24a720c5e467911aeb720f61352132c9a7a732d84673c0d7b88f61a74ab81b3ae62349be595b5cc8291d2a93424f6563dbfb0b74c868018b247ee2fe3c2f6b30cbf054dec3e9eeba31b0de13bbc9945ef7a93d2bc9b95dbd33b105def23d15ca15ed20e2ce653ec795fc709fc324548ac646ad5d8d49968b8de17cd1e871e3a5243f3d2f07a687c9135e8af54ce0642507c7324c6c15be110daccf703335f1ec65d69a418c0fa82c3e254d0119e257818c733bb5694c46a4eb051d42168550146f1e72d42c9ca02c9ee5ae8e8e86abf8fedeab4d76254548b2d0329441193c0f3cb511e27d5fe0aaa00167d49d23d1c54f8b682adf472a2fa0f1ead8ccbdcea13ba2ed9cd4f0255d8e4f913a787b3c082a4a821cde9784a46ee6148a013fe14b75d72cba7699db4f35d72ab1906dfb954be1f2ace3ade518a4021bb469f505b69257a364d9e02fbef962c099ed4b5906dcb1a4aac11f4858ac12eb39c3b2ef605a504924059ecff4ec33703440dfded2eb9d4293eb5850daf1cd12438759a4d1e22c9b14e1382f4e71c486d61dbcebf321fa28122b2a6b02b1a344769301d1af5a5c3f0dc83424adb048356c11836f4b6f91d1137f24e085627dd98b9db7e0f0f1f5132a71758e00335e1b23ede489f0683771a5f9ed9c8f010ef29227d4edcfafdec798565cfa0801106d1b6d1a54ca9d7142446d70c0e344df01b3b3b4843510a0bc6746860222ec3c6efdfc416b55a3aff1e2aff5aa3a386d5a117ac5ad202b7b03dcc08b9bd549164465197e4666e1d8b578653f463b7cf33bc2a7afd3f13c8219acbe3e49bad6fd17ee43d4f6e750fd2a4d50e9fffc8d29533c40152c914c63943afbfc6d6424d20afca48f487bcaa45edab1f0a9e147fce6cde6b77a560c1ee08edb08d5763bcf58e4e6e071a05c2151debbcf95a52638aa49306f322bcb0e3bcc1bbac406d41dc773c27470e3937d0b9d564a6f5201b6f78eaf067cf8046647f98ed26007a1958f4e104135d5505bb9207661c8d06b3aac6a780750d31df999fe048882f736598a00b0da03133fdd10332b217e77d8c8eb9ecb49d2ea29380d72226f3e71fada22e3bcc2903b8148f6ea6920a1d3a3b6fe22278625718fb67e1872dfcb55d404b552a3b00c382dd5da97f87a5491caa085af2da887da02b9a37df170d28581d535f1baa993a64e20477bf4967dc7f6b230fefc1344d3634b2bacc3c2d637eab27b789cab95f47ecb9c4d73606d0741a82131b3fe069127acec582d6d33552903eeb3baa733679f50141e033cc12bcbc2a552e4aa78ecb8dd900a07a3dbc9e2360ad0f54a08b023fc1340e64c180e8ede48131e08484cbf999582bcbe6ca5c7d9290753d1a17c241f94d3580713b9fe8a261bac342b0de04ae4c79497be6409583d2e5fa604b0cdb580e0a83dd6a3d49f90f643fda5835f462374a1ba5d96ff360f0fd4487f77066421a8c8d0b5504c35e2d89bdaae5c3ace52b78a90a8cf56c11a14d5162713072b47578e403f02d6451e011fea5e51489a7f7ed0a12ff8d13661d7031fecc84b17a51751a4722def93b42ab7e9f3a328d0c72781335c81e2029363193f38d77bc8c56ccc61b04b64a1c8d0eb4f1779b027f92b843c93cf055eef52655014c8e90235b454f88166083432539ffafa524cc59a7cdb2bf0ced5bade633bdda8127ce68150e38dcc33e14cfb3b362c706c0c254645e29f6ef385f020391f0f3e1118e6d602e199885c4c5bc24a9f61879f2dad3ec834c247effed1ac674bbeee1a609c0d590c818d14d14efc1e3b07edc72ea694ca5c678d153e3775c1661c14909ab37a8e93789f4c337884db3531fc14afeaa389cae53bf2cb9a8fb149e8425eaf6e78356b6bf1c095c901fd563354312029d14a64b6d48d2f1b3079b662745d680e85cb62e50c0f49e29fb7d31b48d2ae5e0c563e1d1ac5da8506763589509148e1f1c6ed7ee8bb591c04ea08808331753a0ac94db20a15ef6fefa964c359ae9ebfcb492216c2b7d88da6154a6d7889774f2aba2ca280f4459118ff6b3ffe0ccb6512f7ebe84d5c887552c2495034d580ff70caa5b81375a9bb298c294a96e621cd148f93340a88515a87ad57918c5473f319a6e2394d9bd1841b643f50d90d337027e78284f6c6c83dae8790dbbd94b0f8f18014a5840062117cd4e89c5584609eb3f493c3773be2558c2340c2a092f13e766b2b23a19a8bb11d92a9c3aabf9f082f9b1a17f35e2573fd23559fa33c499eaf91eb6171f8550bb790b0e4772140f34e30c9d466ed70846cb01504e37d8f14931229960c0104f35b799abe0e101a111f5f55882b7966027472cb6003ccc461e9e86d0ce55fb34019386a66e526afce27e1ad3f1a502fc8ce1298067816c2c6a46f75cecf0997ffe888b7f3179cb6e61160c8785901b828c1a4a629ae11f118187f652807076c82338410404d6aafa0b49b799a219954109875f9ee82f95fa55e76e63f88143bf53521fff4ed44181f053f27caa558ebf2ba06f44575cc5cb6ac0282d660c3fc2761fdc8b09b6818a67dd6e588c2533a829bde40c9aaa9e66d768553d48f0d3f1f600724794009853e3ab11f819998adf8b21230cea941b6e0d5f80770fcc0d22d3ab2116d7b0126b20b6ca827e9607900f7c7ee772a3c41a52379aebddcb760890f25f3696efc1753683a9563a83ee9b9a3ddcb15ad2bf18410a32e4021ffdcdabf0e2f7fa020c28b0c94b47b309944308e9e79acdfaa56b5c42deb9f643e548f298a0616df5e84471311664bc95594355e05d288aa9d22722b932bfb8d87ef98425aaa4b637c1a2571a87ebfa05f87c77e4863244b1f02cb820e3ca0ca1d01859b3be07d6d7eb20851fec6e5cc0851b547643f5b1f32032764fdc1d751004770572608eb3847f8c6747f12083d81e2b76d3735fbef37d7fe9f04d54d8a0746b42e00f9d42b5f60c95186bf274b52d45251dd3bedf782caa260f45d91e0fa1378d0d236e7ccdd1793db301e61c961613dfdc128eb81da457f75d935187f3a86c2b233905592fdc0204d8192ccad62e00db62d5acd438fc993540663d001da58cdecc9bf78fd67d134ac188d833486a46825be403541f2b4c0926e8492fc4e4bc3791948067ea2bc4064e780d809012347c24131291d8d2c0f84998854347eee8c318cd4eeefe05cc2717bb69127f640d534f07f45560b005bd0343e7eba1ebf4501dfbced2168084ee2dc6a493556845e97c6a40cc76c9b8d2081a855f8fda811b92856689ed8224a595248729a1b110ec1f0bd480a57fca32a688a641933e7b1e4232bedcba41c6a45eab36267e9cbf7fd16d4620a11aedf965e3a20ef14f7324352216db08f458cea7bcd055e17fd77e3134204f9532998d3f1e5fd932ba9f7a62b9dc3185c77ee867120538b798425b2f316d95bd65968f15765d25f38b077365983ead3c8ca370f95d10d6f045ece283b9f57646f6a1400a098f18a65584e475720074c9b79b03c0e6da59e4b9abcb54f81f1a955801d5ee8a6cfda705d486bfa99bdb2f0f74adbc422f4b0e95d889f7c927c7a7c80373d8050da4087bf4dafa31f4a2e00c8b41042e96419ade29572db89a83adccb5f0a0e2ca0581693f029c990d50c529b2ca06b751549109edd672b5530ac771802facf42be4f2e96ae673ad27ab0f47b13772b040bc963fc2942d6adaf991b62450a8dd0049108e268389ae9f337ce5e424bd2f2765d17f17cef2bfb5345d10a6516fb0b636868e4e6ec8c7a848d2990361c4afe4b24c16368c728dfd1191ec8ca3fdd188c61330505b06b936388b492590bca6c3db066724cbe7cdadcf3ae2d6289ecdbd5a5ce96ce08165bafc910fcea7f5d29d40a496ff16260c70c9451ae2913ecf924a4ca018ec0c37af462450c9b3134dc3be8b56ae10f21d8c4e7673878805bb22465206545923ff5148babb2fe7f406b2e538b58697904042c8aacc77ba63e15bf06c3881d7edc8b42ac5513bda93182033d156cf944415650ad12a962110f2a8908bd9e904c89dfd238bddd4aeb1f3b11bb891f6bc72b6cbeeaaa2253c53a4441569937da3290cc6dfb93be38982b7db81094994f71692157cf71da078610c1c9a11b582749192b2a1055f44aaca287b73abaa5d45fb37803036145b7084abc045be51a7b85938aeffe84ba3224a9a8f42b335f2eb03e49ee76b094e431874415f2f2a0f2b2df98db8b9072c8a25bd7d1a8200ef06336580523010d9656e3698ba9050b732ed8f1ac1d4f79fd00b34192c6f8bbde65bbfa01ad1848f503e0c6ad4e4d35e91fd6eb28dc5d1a3f659b961bcf001610e0151050569bc91b34a6c7db15d428182854d1ccfd5b37a6691a257a8317d326b7c4b8dc431774a517f6577cf5b62e24dac5202842a48041e300231ca11fbd92b183421a8055e3ad4a64647375fabd5ee73d025bc0563b96f97e906ab35e04d86ea4fdcdb3efa4553b9ceeb008affd6ff3968f6c90a86ac04f9e43706ec7469b934385ec6d6d73620e1bb1b0256d2bb9c8a75db5a5854f07165a7c32a827a8772a7a17bc00b56ce5f3c2274b1413aba1a292d1cbb7eb4ffcad9d2c14773e913f9dec3e19f3b8ff7d9afe2fd84cf069380577db7ac90e130c315cc4e776aa3385e3f7fa261eb884070b551d06b00b2905a7eaff478631883b39479281e2a344ba01016927ee1142fb0667e68ea426eb7fc6890426175cd2742390a18e4bb0d13c6a80f9f69989c638bc5511b23927a5f78afeb492188161d078d8fd6e8a88bd03e22ff2ba9fda1c9e89c83c74825d183997c7b5acc116cdfbdb041f6f048c323748be982fa3fbea47fe9cfb7edaf3ce3aa267c0b92251ab2701512eda6cb01ed1c16fee87bda9f52c5b314ded2cfb01dba08bb40735ea05b8d4d59e4a0f67cfdf6a4967c87431f4b6b05aa41ad7c9be0067f223346d98514b5420b77dacc5b0fda2cf1a8892f1a147a45cfb2e0c90cb352cf71b503e4d3bff9dca2e79a5028ad8f6057c260d6d4a49cbe10c73cb1f122221b6bb5890f1dd093e24997fa37934fa65645973fa7acdb30e495ad91f737bd915b6b2aa48d9b0a5851f99e47726b4961098416f0dba0d06b17de2bb8d2fc626d1ec48ff02f45fd27db6a0f63f5697fe4b7c7376354c173c323822af7e00634be8cb4d109f2cb88443a9c05b8261977ec70d4300a49ec460de8366fad56a60e05f0c3c523d88a2800139d8570b961f348a9560ed06e6951187df37e1c58c259119faf9302e283cb5e4cc705fa53f69bcb107e444f1c6e51de215f4b83903ad777717f6b5663237b181200afdfb6d7ee64306dd3a47b47aad022b793e8588314dbb4c670eb2e7afa1b86a62f5a0104b6f2ee7aa9f5cc1216f093e9ee5377fc6f3af2f9adfb65a73415843d82cd23a4f8ed12692ab666654b6ec2ddc3a8122e343ef36c0b52dcc718640aedf4f0c283bdadbe3ba813e15a9c3d1b5c2127a2270d392f99e6685a28413ed40d594034e9cc553f34ebc4c1c5c118261dd933882ef8d98a061459356adeb3e92614f6c86a97f5b01db617eb3df3bb7052c83b343fead861055b96f8783bd716e580d20b076a38a1c60a1f4cd89c45de25a9bfbdb7914491c63d543d854ef9b853f270935b296e0832db76b336a47aa499ba69a8046540061131faffa782c6c878da9055bb98e958425fb0fa4cbd4caaa2c11ab97c50a7dd5c5e4589a7bbd3f20a29d943180957682b421f450a57e3bef6b55c2bc92f1686a321dfc6b98166c1ba41f80609d3d00bfc9d5110783e5444e46af5388332af5797220da05488e1f0f67c72dcf3bc5d96d668c9f485e82a7f89b3fe175392ba95e02524f813d06ecfb16a0397d958324396c88671126644ce33e826f914e86ed014c9f713cc8332a1b41d532a926e220531a67c15dce25253cbaf3165e3a1b830748cf0ee9022256045330c7d9c3d226008591eba328b3b6c759ce3a9ab2816ee71645de148f489236bf890f1d9a53dcda4c172ddac25db4fb01641e8c2bdbff2ddef7c67c5ad8cab156bcb81ace0df37133ba8968475d2dccdd3b0e043f860e1bafc7e2fc19fa7c6dde304d3dc89159f1b48e0ea449e6610841ff4ce411a95bcdd8c28c8eb4d92b4b031309c670404b52f3b9e72d8f8db1d988b6a7b94c048772b5f731ac450fae8486f70b6337de76a0275d346aa33da7823898d2067a4ca7ad581c585962102948a393594794889adcdd5df05ed1114f44590cd556ab5b2dd707d8ea102e5578d3c5fa1b1d82b00ef966a438c436157bb4bdc67a3bd55d3df388cd248829f77fe94066354329029aa0e73253d5f2ca24ecb2764aa3146e5fca7cc6796722a1c1c93a6c856aa1147c762d636af5e45f5de285fb1856e187b0726036dc56fd8aa29fb496eb15e3b1f72ef3a2770429dd965cc1890412789199ba6d2dd07afecaafad51cafc3f21ca5f2090aeb32fc4fbbae07e165bd32c5e509ef35c9b255dbc825a62e03fe5af803cda02761a4d6c5ec7f61111ba8bbce4c530f821f1d8fd815c68b95c428f6c8da0680e4cd924c696b14e69da064e22cc7a277bd8935f02c223985a372e84bcdf957c6bff12f1ab4f270d501d39f3e606e1142a2aef2f8be5d985779d83096d07ee54e1e60a3b04029c9ad9f212e03ae7411d6a4115ecaa658628d78f33d91dbfa9106b018487d498a1c95370110730497406a1b8150a52175fc307c786c074bb3207a109a5676476ef3f2b843f9e141aeb4ee8cb4784be192bfcf962e10825353241f09a614043175875733d422e28aa7b74004290b6906cfb5ba2801815e99e639aa2576740eafbcef0efc6ddd0a34cf25430ef1ab08856f1b98fe92ca2887c0cc8a7f6a662f6f052ff0f42f03f56426cd921dcc1c98317cfd74b0d50bf0bbd6726e692c11080b10549ef9c3d7ed62aa96579d58197e3c2f7d6fefc358a63bfb8ae1624ceab051d408f21a13817aa15c1bdae6a7265b6017dd52e22707a064745d4a55ee7a3acf36e6e5a1aa252a16a3b204e43204326a983bc93b3eeef87b19890fd7f6d5893b635716579fbd9d0f39990e87e29c3c8252a96b55dfdf319bee3c4fa3bad8b7244f5fd67576a910663b4fbe1d971998f562825c56242e543a09766d357df15187b5002e23f32726c3a94bf2eefa87b7f10e003dc5cd76aed5d3194f7a1c546e5c32c4381ab149a668ce2278fa49cc9749e8a30f9420c86103cc372d5b0d0f4313bfa043d952c78394ccdd1550e9673d6ee06caee7bb98381d8849be23d68c165530c053a74f96e611fefb8096470e61e8b6215431b06c5be826fe5bcce2483792dda0c4a05d8c3fa96359039e1a7537d8580ef2a497250b81e4b6bf5478f5ad4e7bed0457358a95a2ab0d03a661c1b2e5419283f6f19c719da121e58274ef8c3d2c523e76b88d69ac69d5b5b6e67751353123b90cea5521b7a3f3892e64010ada16197dfce7549c5da6a4fa403b63a39bacc04cb9ec634bb868d2bcc995feb0126b2e3900688f373634bfb4b20df48f59080f13fa2f407abdcc085256d794533978aff07bdf01cc591852b667e46ac8240b200cfae6c84c8e5f32533462250951f29980b296d0f44e50687e19e1810895ab84a045acea32513a9c7ecc88bd948a360c2c6d2edcbcf9df33d83051a2506210a643d52074ee526fddedee42031cc1bfb01d798e569e37d90972a8f30c0566cac36aacf93b09cc4c322c3d4b376a32a58bfbe6e1bfe197a386790ed77ef9392d1066559df418b7c1d8377d987192a945bda19ad6633fa2d28c750c4dada7267de1226c3c27670e14f29056ee1e467f48b80cfe81fcfbf707c38ba6ba6cb076130c9796554cf5c893d1c492393f98fbfcc926640cc6d38a988851956ba11e7f6577e72d89f79521e812893b599cbd9c0316aba4d8ef6826d59b8d908d0ec9b16e331e20339f964bd2a56c498773a74555e743c660522163b96bc95d3da3f87e211b048eaa291023e4aa58918b016203cf20403c3cf486a29f9f3d72c5822a2043f6aaeb4782ec45581772e926ea897988cbf550b4d74d7c2a0efbe828297bcbd4a4a281d217538818d9970a5cfafc6b33c23e2f61bc2ae85fdcd8dee35191143a3d8eb6be18e3e70d8ef683522b2aec875cfbf19a0e0079e4ca5477da3b31bff8100dfa6a17ffc0d4f7d70996dfb52660513ab1a7d26938eb9480386b43f210ce0e1a92ec1fad106d52770e84f4627b82479761bb520f6a9f07a60f282798550c8bf2e0b6f94c81684cd009ff11404dea2a1d6bb61fe9cb0f80d7ab3482ae15f52d1472ea1ad48d597dbd842811a5ad30b48c425bd4b92b3e2f2ae98f8242548263379e3275c9b82b61898aa488d54588fb950673dc379dd8ad6cec043d091e3d73482e13421b6716423366cd883e6662fe58d70872e8cd2924bfa7a82427eb1fe0b52878502c0667a31ce6e6bbf62f26350f64dec8992ab966488b5edd7992b754198ec865cddb26208d8b39d80d5dd72e21d2f3a15561205f8e1b2c7b19ca878077f6495a9eaeb4707964b7582297195d2e4f2722fa247fdaa349b0c24a1f28cb2a613d920daeb88446669bce6eab4815a2d6d4c05c3cbabb41a9bce36e341f5b706d0cffb6b5a39ed2c4527864f8a4eb2e528c1d1348cc8eef81900242f8fa74e54318cfdf480ada4290500a8d60223e2f6ec7d926b8b97983e43986b3cde1f8381114bfc1e0a4d96def9c201d109b1ff564d300217e92c63042123fb678bcb5d28d88ae9ac11164f0f97a3d7b32769604b0d10a71e03237e90de8f7b2c1c130f462f93f63b5cf984e6a55b5d4b6f62dd982bc148cc7590bc3b444beffc834f7ed46d4cfaf1a520bc04b116d64190e367d440fc71cfa8a16eee628515184cc645234b3a19251831aed4b6b2c84b0c439b0a5be2345c17c1aa76ba599f6ff863ae7ea41e62b70796a60610bd3f0302e18d3749b90fc66e7e73d78c735a3acb1f9ad819f7bd472b2bb83ba06f870ea13866c41721fc41d60582c0fca06337a25add5417b880515dc25cbfbdd3cfaa54ce8a6c5b8b3e4ab21beb83c91927f2e40a10f4f53bc5d1e2253a517b3bc233299d95b2cb1fc611377f3d1e14895d686daec9cb45a4e4f8458cc7e1cb4943a5a4c44afec81a12a118776675399735d4f9ce9ab9286749a5c587e17c691387f0b0ae5ffdaad9cd4562f48e24a5f1b39544dd8f3398e2370ecab9d851d395bd0c35d11aba8820433725ae0f9f3bbe73507e40174078d7d892bf162e4cb02e8a788a8c9b56bc6d3f71001434b102f685678b0759e073519c249ee632bde7e89e63dea396579c6f4fc86363d1fec365bffad6dcab9dcdc01df8fe6bb60b61cea25f6a37c1115a2fb47c4687a1d6154855e518b0b9b08cab2b9a91e7220fa76b44f57f3748eb890ad84556f14cd98cc55f45c4f0e802ce0fc2f392f26db80ae783ccbf034e4b2198618f146afebcce6184ccbf509b2f3d5a857246938e0fae6b36eda2a7b7e6dd6808a6165ec50aec2f36c5b9889f1166181b45cc69ec781412dfe74d47e9cc310ae7e306396a276fb8171d3d37962f9b93be74d428ac47c1ee1f7595fb0538dea337b3ebcf311a3c8321b32e1288757b9f5252bf1ab8a94c7bb94c599795e4ef4b297ebb0c6bb1c3da99e4f7daa991186e1dad4ab69a39768ed7b5b61d9aa8af782339ef45a63618741795d1a503ed6476ed9f5efdc1f0b71914f139e59a69ebdc954862c3172ce5fb5687aa0d5d78dff9d28c6a1aa0897ab9240678c075befed581e20447c915a91785a366c8749605a2c48746b9a6b62c3a34feea7f336f622b6d17ab1208d8730ea53ab76b2d685d6e299d0af6489f5a2d9f77cadbd863aaff462b117dec4874813e84cb868f13310afe2342499b7f3427049fcd42cfc1fd5496d9a3257b518f23bba44c6f430c06f00f47e0b1936cddbe04c379baac301cdef4cd7a4a16990595eeca1c7640699daabc96b71853ce09d00e0c5e9b0a4a2899f328f3392499e41a59515df609b7702daaa761add26816056d37074ebb12114bca51854722f92f506772150d77bb12e87a78ca4398cc324dacbfdc477851d813ac24e7efaea811e7fd6978f3bcd70018587f1544b7a278fc7e8fe53c63f5774755957b1a81c551464dc1a4b724ffb5efd1ebf400211373472ac6ece274ecce91d5efc3409bf99b9c9c6bde9c794bdf93646b783f6fc5182723d370ca375304bc618b3717999eaae8d81ebb7536fa5c5a5cc63b4f00a03459d4424f2d513555ef1bf8129e06b69577c9abc9e6554d87cc642308d3a6e373846b5ac1aa6a95d6d1788a53fac45722f19dac483e84d740274550330058dd198e53872f12425d35cec5545e5db6d0e34070be8a98eddc12509ad59e310c140315bef5b5b028b2e4fdb2b0c893766c6613e071abe30bae40d315905234db94e44eb16e286c4489d60bf7570e9c406dd624b93d6872aec0e032504b7e7dab6c269668c31921305537560346b1a730dd4e472db540878e3a0beca7f9c6e7b1b5e8686bdf384c6f6de132ff55496c8fc4ad9751b696b58f70d472f882e4f462456a828e5eb2ad207e8e754a0df22be8052bcbc3ee1b7298865a7f6a657359c59b22a2c4ecaf9fd1c3379e48635bd886b164f37d6fb4a20577dad7829cb36d4bdd97e4960d8499cb53521800689718bacc3c866d4fe4ef93ea172c85d3357e599a3b75d43e77112f74aabbd5733a7f90601c3af9880c0373ccae8cd17814fe1bb7faa919143e33528434c37152a7f330875235eb8721da9cb712ef763166a47f8cb95ee50842e96c0a408c5ed036becf51f7359b873fc27a5f90e22d3003d5a43a24af2734deced96af0dab2f74a6079dc38b5f66284a164138c502f66193f38ff9cdfb03e2ccda3f45feaec40509fc5ff7b663ea0cb844de8f4e2970108673e68f35c2414007edd18c79bc907cdbd575d67601d1a6e473a2c700635524b96c33bfcd7564184d59fa0ffc0d802718ec19357f823f131d3ab04da376b3dfcfeaa0775687c08da34709c2b2cb11b41ca03ac8f645e54b3af18e45a5cf706e8d7568168a9f0ca34be6878c0e4be37819078b2534fd66005f865a4c90e179409521e6e69f805eebdaf7c742ef66597bb66f52003dfa5cec24b57d5989fdb0d44964dc50c03f2dd1347be3dfa29955375a211c06166db39f8a15d36908458a0bc142505bf9f0ab9fda56134243de22fb2682e6e89afaa26c6fb70371c21fda65caaa1215bd337907071ea5c4594d6d36c055f7667d42cc6bac77eace3d566b58c414cc98a5cf461c0d613339070552ac0c1723ecc5fb5241a4b8f13b4fd63aee054120276796667cab3bdc6ef327946f5ac659e74e7738132bdc51a6ff0f0829baef693a36e053ae333f26c78d4a16097d5b7d3016414f0fa074061dcbeb46c70af599d648a3f8a715f7568c5c8c778728d8e4bca94cfa921e90aef279f22cc6e113aec3bf3d36b76a55444b59f64854002f33bcc8a9b846760ca8b41ccfc9623385356df68ec6d3e376c955e8fe2edb0b0478676462a05b467948cf957a95ed174e2c0b84eaa179131e5a8db167d80c92f5e663ec30df90eb94b6113ab13a7e8412de3b12d36ef577793061cb8d986a1238ffeba68884e28d35f6247e180e2e41f8bc6546cda35c3af3d096a42dbe4edc545392286a6f1a7d416c6f42855fe5d545cb1a2c71a2b9f24de6b9858a6b82b38f0f1cac5d7bd8c7f0ce1e8e81a09dad71547270172e2b9ee64e558af1bc46b07afac6358ef060a539dc166dbee1fe7f18657ce5ca7dfd0456047e2a132ee5f5ea42d2226ddb916048622bfff6becafd3728dd20b2880fa14e9da89c779a0e95b67dbd9ae9853e0ae73de0ec058d6c789c8b9893944df5611da977c46cfe3715a4a518c18f7409bf5b634c8450557b8fc26ebb0669fafc72993a24fb953aefca4f187f50c5f03a9422a573bb319696eda0f4c42fc2e3580277c159bb3ec978d4a1c2fb1e3082e4473f050ecd45ace139b4d291365e933c38d87f0620d915558be37a74fb66c12eeca69ac9ee5bb0053b52012914a352e281962ea507d89b3dd751518d87654602eada4f857b91dc359916283fc3501d087715b2cd06dc506eeff85a84e32092585912627c9f70e5d13ea88b4440956375ba6959c17f6befc67b0d3e6bd8602ceeb2541c6ab1dea1ad48649865e4e9b4c14187478070c64160486ebeb09486b57069bf5acaa62e9e149d88c25450114375b67bae32379023eb58a89cfef47f143bfbb57965a5f49ce6041c1e9c82512c887cb32b9790cdf7326d8aa6f5e301325c8e815c29503ec3d847cc3e87a5ed2c66aab8cfe3e4916fc9ff5af7fad9f4aaeee2653cea024a73c6d9897fb1e1c035e8ab1d13d352dacf9c09b751c400b3b6993b29381c585893562b292e68b1976082e0831fc239307d1295385e6ef7503b2d93249c2017e3f54c1e05570c71f115008556852e3b4afb380dff536b0650bef5eb688dc32f2fa70e012009a767289cae00cb684a8bb77a23212256a4cd0580a44c752e2f4a40d2b459e8b4476dbffed46ec8e6a86b97cf27a22d6be9f6d7106e9a520fb96bfee9b0fac3ce96d11f1343762b198d7b8d76095172e128dad2f6a32db87f791b7958a3137fc427ace0f3de8321952001c43a3b5fe70dce1450386dbe6f6ec33a43b9e0bf5fbc729d06d52d44aa352b4f4da4b71bb302c609ec4a1f78ac40eaf7914ebb0d5196c6b52404d35946641b8340326e271bf0c4f0b99ff5c9c5af38fe789f72559237bee4db7dd9f430de2dd8c4e31b40b6445ac6d491022d79b1d18c017f44de405ed763403cf13607fb9bb46a62044581f595c180f55928b0dd991b37476cc738f5af4b1314cf30b0539c25a43fc793ef45d005af01314abb61cf429b905ee2be6c5ed84c7230f3939bdf33617955e281d98d7b8a41809b0d0703eb2f7b704800df9f0a6156ce1403eb7fd8544835a009cf7a001cb1003341f582e80ab904c83c6a8f5ca8f86413a24813444f23aef227c43f35d4b4e2618fc17698d257e98e450e00cbdea18da8dccadf4601a8c81fc385811fac8336f31144c6e1b184b9bf21dabef332b81478a7e96e6b73b9858c2872eeed9696744713a6f7e3d9d840318562f6dc33661ccafece32c1f28c190a44c78e715983a041450537ec41e59c434873364f34b8435c8a378aac3f25019879e89995bde685076d89f227dc67b3ca009c9905fba69b409dfe19524f6ad399c953bcbf8d5f96a6b04e1fd48dedee94fc70b492db7561c2df36cf05487c40df35af348b2c7943c30f69f6a05b4f77344286c22c9888102077ca9d5fa6cd7d4b28e0cc18ea66e6ef5df31ee101de4c438ef664a52a610c36b82c008bad96d26bede5dbce60c980e18719634492bdadc0f0ecd6d82aba14f9d5a3e586ed3c47ccd916764acabd84a9d5038c940b4a9f4976589751f80c71475cdc2e6ef93697cd6054c43280f57827968a2edc5445d6e4bc3c22c68aeaac360c45103ee064b41f2d1b4db6568e852e4a1f059e6700f69838e25524324229f58130b3ef43e17004273a9bfe3a7adbcb201bf7b385a8491c3e010fb8debcfedc6b7c11736c7ad1f76cec61b34cabd248788be7c7121fc062d2245ca9f273284c7ee768c5e25974bbd40035e05f8e4128551b3524603befdd986b7a0a4034b8fb3688b70e88f95c7374b8e9e6c60bb75b4ac767c46379c613a791632414c741fe3e686e5578fff1b3facfc23ff9f37250d65acdc731f1bd77e2a85a2d482c2605671ec744ebe3287bc7dadba3f0822214b05d2733011e1bbc4a629de7e5e8f4b62c72202bf6ed083eee4769cef1453010a4594ebdcfea1322e503ee31e7287c7c83c6831fba66248c3e60d35bc6fb29a2e818aa21d6430b9840856a534ce3d79b95d5acdf51eab96256981e82d5822586fb8ed0194c1ad72e82f8c61680bc51539e70e32bef290a4da80bd4bc53506b146bd51b2e4dbfaa896f2714d8be00da23108c1bd54777f33c120f1def46d7611943f5ac6021a54fa2302fab8ebed38e467abea26241a0980ce19d13f62a539b8a68c94b697a82e2c559cb6aeeff7cab307b66d395b3b387ef9ec10ce7fb7517a29c106767a200179b600d0175dd441ef0448b96440b94dc74606160f29879a8e0796ec324e0acf819982449f0309f5adec6dbf6a7e126d0bad1b50c80a1950912ab4b5fcbfbdc3f28b81a1e15c4de05890737e107195f43bfa52e0e95bc0d3fc71a4ebddf6a68cfe4a12c8b63f98138ef46545a25e0717e2afa5226f68ccf6df93ba7c4d154c812782f0a4652d74f25d2cc26cd4a1615dcb5ba14be213ff3704c2c557b2049b2875d3dcd6f4c3f789f61210f4bd8174a9af45a23e577134461b82a1ede8f7dbed97443ac0fef6627c460596c64a32d4e80058f97ae8d0581260a3feea944eb3567705a26fd161ff83a2ba1744b6a6ba80cdf4208a78e11bc1be05266724a3a78e410d6d57f82ee215756b3bf5e5e622fc21dd108eb18d8b11c36bb110157b9b5a879805705648ca484ae6fc090e185fee9ba0e560ffc43bd331abc57dee85d932057863b7a07330d1c4075710a433e382f7879abac86c680db43397ba876a484019d27328db497d67424998f8ff085f579d62794386ec7e12ff7a17c55c496e11c429135387c508e634d27a01734c6d58ff194ef0aa487cc0e393504612b5a627f7be0aa9c7cfe9a604f660d58a467b3d4641514e59673bd2352ef64eca31f6ed7b548e59973faa748a6f5941bc2950ef81bc0053f15e0b790b98245929288e32ee60ea702f814bf4fc406f04e14fea8d81f07f466a939b8e9d32616b80e50982b2d9b0ec21d811c2f22e43628a06becb7f5713ab6212e377deaed321ccb848183379884d8e30cf67ab853d1127145d239339b3d21b4b7b3d2ae8864d1bbcab6e8725a562bd7a422a8a291f8f1c136f5c21342e5cd50ce4666b797cc6e96b5c10a40d1694951235ffebf74a87c25afb68d72833ba459c39497a8e072796700f1c8f707bc743f49c648560b0fe181f8af4e239cf469fbf2a0229d1dc3b596f9fefc71b402a2885acb836256ab93fe9f70bba2fd1b0ded98ff0729e5049e08167ea91a9abb8800bd3c8ea7f98ed85d95e8b59b701dc8fdd51e14cccdfa018106be937e1ef0856736b4a079783eaa6743430425c14fcb365f5b275a07290fbe33fa8ce56a612409b9d3cec711907e53eb8869cfe958d43a12d964d354ceced7c80623fbe4d80cc4507d2cb7d2b3ab11e264c36cbde627941d1b5c43ab06d13dbd2f04ca912692a20a70214e49a9e3e61a9df64aa01dd514675d2e8fc27b5a590b8df5fc0cc00e04d02a17e24319af196c703cfc17aa19c3cd15437c0c04012bfbe44e138a94865b7579581bc31c4f956a166551067640e5d5fd0502dbb93539103140093b63317515c8327aa6dd2fd2fe1f0af302ec79d89ea33dc4d2ca9270d949ac23131ff9a06878eb69b1358c7432088989e95c6320f5400becca64e337ec2c7240413a370f82e6224d1d445b84c7c3c1e0b8136c04f89c6018c962781667ba6c8d8be414b902d596132028ece6412f9abc9b51c4838b076e357391f6cc7a3e5e2c6a384b18996329a4684ef900f752c3d58a48cf76cc3155c5c8bff15ffb06f7a591b8ec5b5c0c45c0878970967f1dae0f93e9dd81a0d2db333ff1a7a36bf3c48bbd36613a82a3db5ecdf4ef79d064729fdca0967df995fd8088b8b008718503ed1bafd0fbe206e19588abb049e9cf2d8f9affa4655a9f9b26510a36538417b907ba88cfa1f3cb492e19034bf4d8587cb1d3aff6789829b0ff52e0510ea2612b8442ba6fbb06067635c13800ee47e6bcddee8c632e05c128b481fc8456f4bb4666af5433dd661ec57a5259f5305c91ddbe966362d39bb4c0c76d7baaa2c1bb8d51ada9473105e07647930099fc7020d6b2992fb566683fd50175289cd82862df5726382feb79ce1e0865719d8193b999a4e33194f2d46bf2f7e3d8b371acedd025995c907005dbb670c0d233ea848e8ed2a28375f74b0ec02d288b2dc56fddf95bf7c38e20b9724574540da6be78c0e4a45bbe12afc7c2ccc947db4488bf66d68a368ba7f478dd4f7bd347edf3cc94f3534786a18a082b33cb2b1952a605bb45504a39ebca7b14c28165fb36c8fdd418eecee9793f4eb4e594519a8edc943606e1fc4d4575f03ccc3caed88467f096706405e6a7580f75b1623231f9a6e2f27d0d3c8db970a8699a94e3718bc490807ba77f3245a8dd68f29ad48eb832dfce84f083c492fe47ca5e59cff8e7cc01c74b7f42f427faa4165736ba87f5a8233398acbdf22c3da68dcf2a474f211f82c37c96cc65c7415f515ca32f60ac2b94a9c9966a4a622d2b043f05c613d666640625fca8a3b2ad6dc873cee9a2263b31363b4414d8ce9a1a1551aa086e786959be737c31ba30266a870139921f5a03283b17faab70a3c181483f562d82ab55a0695fc413084b74649613cf50c0c32ec4b35c108b9512f447beb1fe6143c87f05d9211d2d405451a7bb140459d4e9ea0f285db691fbc11fb6065ce0991f329b8a9ed8afbd1dbd8e31df4fa2fe253dece80ad2343f54019833e714cccb83d3b70eb0dc0f0337672e6eae8eed3a801eca1d7906183413d1c8f83ba0253fedeec1eec899ed2a8b17ce1d1205ecba3c8cc67998a06c09f12cc1f53fb814e1a52091fddcd7dcbb7ba84489bda8804b7ccdc2515b9e8889dcb29f00c37642476f826d2607644f6797907ad6c7d17192a4f690966192ba9254b9c93564fe4f5bb3b3c6d1bc4396c454ec094e01fdaf2ac43eaa18e16976a8558bf9ad4a6ced934fafa58adace28f263a15d217ec1e32854f0db496d374ed7adb9b63b7e60dbfb3ce7077eeab9df4b6c45b598e582844a470cd0ef236ea17e48bf304552fafb132b2e0df3eaeb6b857beb0b1e836b869d143e41e453c8bacca33fe35198f614c4d9a1afdc6e375b8aa91bd5e26b5fdc421afce25a5517aa289fc80ba969a7c0881d27ff331f9c2a7cc78021f1a30a0a18e4ce64eb8a9c02ad2f3e992da02d036bd74cc3d52e4a56086ed4138681776235540b74b1e42ed4255e851eef79d878c48f878cb4feaf614b88218fa61f9c98c50401e97121609a7329b64fbe64c8191a7550571237355991a2bea933a0ce1d705e462ed49ba6a2ba206e09bf146361d0bb011f9bab8470c2929390e4a3c700a6b3d34ef06b844674227cda122e489f3e04996659c31538c9a4813b61748c1cad3602cd0a76131bc5e15d24d921d4737182dd15e93b74522b0b1506d2d3e406f27c8744ad54ce65fa933b8aefccc018007e331754df8722c483e39cb5a9f1f6100a6cb876c6960f35080cffce70afef63837f1dd30862b6d00cfc43a2cbb971d01a4f3066dc129da0953ea5a9093794225683e27cd6130ec0a785e81e1e4d8aca8f116fd26903e55ee982ed7a073a7ca9287e9127b239914284e1315a01bcf50f4abd5e83829e39440dd378b44340a1406b4f6d6e471e5348022705809bf766b479b9bf16f73578bbf8aa10c1cb6e832d406396f7eec9d0b87a2487ff7b49f01b1fb7d4d0475c0dd6e1185d7e71d351302210b8236a449eb24b9bfe16f7ecdba0f8d06713dc94f0f9c8dfd27e2320fc09f502ab978b3f23edeb0a6e7e8cdfccaabad7c371d02c28aa48210771ccded4cc3e99c4bb0aa6dbbc012b015aa7982ad2ffd3d104d7937ec183b4a218bf4ba2b89427bfb9cd85296f873a24d23fbcf9fe293e8c663b6092a3b0246abfb77f1dfd2a008a1ae3d2417379865ae1e44827e59d66bc3a448199add784dd8097385fa26f4f540edc7d483bf0f58ba63ebdd5a393975169ea63374dee6cad1c6a2062a4200a6cb819a2cbf2565062802811a6f70f936338a00ba3d15f81bc1fbbd79e3c1a68f9265af74092d601ebce3e43bf4506bc04aa2550e956e754d9cc0dae2bb7949b586a9f5a2508c4b2cac7608f4ae547bfbe4e573973ffc6957a156d73ed3ae5717da980d598e7f126cab9b8cac8f89fdadf65b642fd5be86a67f70260dfe5fdea9b34184d90d3105e28c07f186a7734843120c0f5ddfaf19ebecf1a85412df978a2fbab24002a06d46f21b28d771db224d606fd42a7d7d68db0f1d24d8b7d9ab67dc51740a15330d84648dc3e2cc1968c5c7804cd7b4f93e8c88a77c5b4ab8d26ba9c539baa79ee1c18871574f04171f8557607bb5afa1e5522bec6be8af70681a066b596a38f7ea0e56f459090da8e85812bc8ee5fce128d82f86a3725a6c3373e9636008719c3f92c4e163226a14c52dcd6393cfc57ad35cba22b162baf2a5dc026034bdf16f28b65c813fd380fa60aed8795141a58621d2c42283fb87ec144b4c9d7e55e82a3603a2e339455b8be8bd0ec5ca8f6c1f8a0db00763729e54925660dc821048606a8468017b1cb07ee4b1397d56e83a4b9a1552545f496f424ef467339b3f4ead8645f09b60a94cd34b4445cbcce298df1ff5a85117043652b671a608c4480580fb7dddc0e4836bb1837f92bc0396b188a1ba3dbb6aaeafae119978a65289fc796108468e6eba12c3959c4b18327c16318d393d95a21574a28ff9b9b66e23b754e0a7bb62658246de0ae3ad8cd7e9c67a60f8f4cf23c71520a80f8bce78b63504370f44905759ef53a7d77e3675ee9e3255a1323e182a668422b8b350f708becc29fba761d971109568ca8ef7ca9a7f8c1b38e3ef5d71b1f726620d21738601961f3616473d7bf502ca0020c17500595d7974a436fb971a3a2edafa0595c16fbdd563e1aec3875243452064097dc3ca4fa32d9cfab2a5f11ba356c403bbe797b68141d95cc9318dae3ebf94caeac50175afd5fc17b6f4a597f010c107ca48bd1c4f14483369f0c0aa8fa11b119614a05771da56607b83f3201bd1332222b8f2a80ac492b995eef74e44f56501ff3f44d6113e748095eb6b20ee2ed157f62e7ac54e81030320ba725e61567765a8ba58f29b2d7c4f5b341d9c65768c79116f1484130c2a37ff112de02269262c261472bcf6ea5088692fc796d5d891df1acd868f76fe75123678bc0fff7486ded836fd440bffab022687c38f619f3431855908e7261dafe2a1d78bc9313149ebe24b773b94f1e762bc1ec95cae6db51f8c9c933e75fe853109d75e270211f6b7c098a9010068a08d9ebc9069ab40a8e7398de1d1b80ab58e9bbe7319d17c18bd9cbf0a37f8c8e07c8fc56e796f00ea7e68d9c2d4453da98eb0e6b916555efbd8267b424ef8c318325ce719ce8a3d6ff19878c707324a51b73cdc0faf6fdf265c1946636a0c3369efefa5dd2ef3762343bffacb678ffc927b2c951690db103322f87e5a32d5c40ed55520cd757ddedfa8febaa8f591a18bb4ebd565b5bd8948e033d5b7e3cc044fe7e058651bb40d772e0ea108cb96525852bbaa77504328d268abd138ee66779a5ce76602e097d59bf2b62f4916d083730d997b8aed5036cbec22569562b8127c50b1694d58cd84458c38cbd8500ea320cdec02e31704629a5beeb49ed05b1b19db0d0dee48b86e3aa30b70f1e5c1201e67b01ac90e074ed0499159f9e946225cf8fd4ab0868a5f436f5def0d5727ea8b5ac28e2e5638aabefdefd3f338e48c0a7e4c33fcf062f456260147cc074aa7e5015a0d15c03e44545981f1efad6fcb3f580b81a04752f9fe9a680583566a98941c3b8403dd0e81b0276c0ba766db0a8d59e7f901a2a700657f5c136e8ecf941317f0d7424746afa7adfcd9b20327190b135c7ff73085934216349c1e79e60f7971ffc14c16cf0a38dd609219bd52038b1f3cf84ff4c4910b8a0c9efebcf1716e95431e8423640c95dcbffa850c031f556cf43bc88ee15fbc64704362d58a78124712413b7df5b5c58e29d8596539d5d5ed11646d0e006684287a90724cb0c2132a9e493a5d2d5548224138181a6e45390aafa61b7a3b06815b6a5eee4b316738e4ab323c9eb76898cfcf3bdd770793a7600ff716688b2f573eb7d4cdde6f1a4d4e4bd1a05686c93722532c1cb33967d1d084e7b07eeed0b4d0076bedb8bc0f02e4be96c72765e525b9523f55377a7198cfeb3cb5c3b95d25b1aab43c780db095ed9c3b7ef2f4c62d460015c9e395ed9c05dd1cec7da35b26feb23f284527583e9e0413ffe3d80c22d48848c1ee2e95dfc23d7aa888c28c2950726efb1363c33596a9689f94db39e57aaa1e19052b87cf4e795b8113365477a93ed15e225182f53b21350ac63c934d2dc1037b0b7d74aa1113f76c2ce48cf84ab6dca99815c481917bc909ad441ea44220e14147e2f95af243ec5eb99bbda0ba2c3a70e87347f5b6b9088ac67e1ff8eb3b48dc2f4dc618001764191589d3fecd680469e95da8f9b91cc02caf51a347cc56e32edfa5b0a6e21b773d828398a7d49a745cdcb001eec522637b584627b19f11b95cf0deb427e35dee55ea6ea06895f0b2d1ebdf8c3004240472f5745046625245670870da25f98f3ee97a2505b7c2955cc7e8a97dcf0c11f077566fe9b52c89a6d1642f5d237c75d11dec8e14a2d16831766885d2eee365b4b356fdd6ca469c69f572b99d8c4ad471f8772d46a71cd175e73ec25355e38b452dbd331effa96f027a7f40df8f7df929fc32eedc5d40b7b2f8c3f00d0026e00c4c0d6459139b12c01a2671f2fd3a167f6ac4750caaa6d340dffd922a843854de4bcafeed4aa26944ad04f7e92a4363bc88fc1bd6b88708f845e3cb7fdc5b257523d430b3f160ff79b58a116cbee296226e878df460a77914b46912fe64c0a398c2d42d31044188b63ae5545d55a6077f8e471768db8efb0361f6c1024eeac71cd498b936e9822f26394e0746539eab729aca5a725c4cbdac504310c6e2f22a4036b998c0e4d79334306f451c446d68d55d9aba89af2f8d8e5ee4a57f8392057de64b032847d7727756bb932b52d289f72abf80e1a5004c2f068b93cff2bad2e255afd260a081576cfcb3510ccacd28d23686b9457030b0ec44bf98171763b55efaca782b64fe5dde88d4853915cd386e0e277638cfdf28a96fffcd244aa839bbf159cb340d500f4fafc9a29a92f6abb024e6354424360e375671164a54329e956127749ee2fc7ae9e789588fbd49595b4b93b9e81b329c255bc7cdfa7ba59df895b3d23f44f349d4ce5c23834cf874061e39dd60d9d580b7ff3967647968d85cdb8d3ff270742679be72c9136a2549f375d5541086ac716609e86b3bd54ef78eaf9871f98b370c71ecec27b4873c3909581ee0df0c6c439fe7ff277abdb397e53c29c29dced0a9312e4af935f946cab9b9530e52c8143c996589b331c79a4aba8ed62ee4101b96d0629716e812d1959f0b5bedf5cba92db70d1b0d3403bb1cd19a335fe698c802123d723118db598f19b6a7e8705955b00dca3be46e3039b4f3cd205390c22b242acf4f7ab9ae4c4e2f8096447b98e6dd8acee78c50ad470ca3d5f541db09836c069c96fdc77a6f5aa48efd8a727bbc600894038f00f74c4ed7104c612ed6f1c3dbad29a7a831f0e229db7c8e275fda3db1516bfe868714638e395e6ed41a8a5673362f46b1a681327e115e37c6312394c137f4f59609675048702f0990eb45c0e354a8c25acae1514a51f33316df784d72c8673267b3bdfb8240ac1550d348f4319972ddbd886df2588dc86f181fe2269f32866ff8d93751ae56de7e15f9f02a618d75c3c8ca24b6d4f6e27506a339bf6e256e176e389b9f99f96dfeaa08bb602dc949aca4812eff85b46a7afea10807a9640fd51b855fbc15fa568c0c17fe80b6660e1fcc8e03c750a3363ef9dd61e8fdab6198c3333830165f2f1368520d816ab8dc4513a83c5fbb359ab6effd45f66353cd20e83f4bfe3998ded5e31eb8e5e7d83b37ad4341cc01efd879a875d2eadba224dcdb5a8729ceb9e684e3406a16f596888b3e1d1b3b261593b6475fc06a9ea4a450ab1f525fe730dfcf350410e2e4e99fca71136608e529bd94aaf02ec073933c1429edff106144b051f086eaa50a04d43473bbd0c37b917903180666ac45bc2461b07a214c6f700061aec2bda214c1e5856ad12878dc03518cb2f87fe005c52a0461c79653932c482ff8e163a51c8248b5202ad2dbbef9f480cc86c2bafc09073e249d4a497d42ebdf4c6f2fb994e286ab198b046f917bc6e69b14451073a26068fb1bbeea090613b46ed3dbf1fd22d14ea4ce2efa290c09ea4ff52b4c682de897c109f7f33e740036ce578593a669885ef03864535a043d88c9dce057ae083994cd73543db0314be35e2a46bdca57a406bcd3858fcfebef15ab590553b90ff4f9c0e030b6ff6dd34a820f22fdd50d1a54fb3cfa657a5bf002670d798c57fcd7fb912921eedad2418697214c279f65cdff4e8c4799e6a8a12f38ee140ae9815e3e2a774dcd745aad52f0b06a9a3344205e55b4f64c94e63091db69ea044e3435b67242ea65ae8b1736396d613b9b85a135ffed24dc6059241ad5143f0bf941383a2b72df768cf1fd96ee2c57856eb72dce8a0b235b5c28a3a08d5bd5cd8cffac4961ef7d2a997816ca4854ffe3e49bf3545b97bf2d6033cb0b9a2597697dab3be36fd807dfdeb7ad23b166d2022f8ead4dbe4c91709eb399ba8a1e3d19be5a868046205cd379f9130a768811074328c9a7c94b44d0dabc6bc738b1e7e81e27587b32f6f100b029deab4968e304a67dcb42be99e726db91b9e32ee376c4b7040f70ef459ffc904c8e7a4e5895dd430dc902d5e8245e465fa60c9188dd2fbd0c0d6064b36355808cd0f38c237640f6ee51826c643a3c81409377e94f946131016f3247978721690978a24280c63ee3c63fcc553c7dfb513af7f4660f369b2b7752ac235000a6029c78152f5097ab70091b8fecf7bcec124d8da0c2cc1ee1efe6cf4a3cd6d9c9fe47f83f5459b0ba6ac6c588d5bc073ef0a5a6dfe901ca4517e967c262c07f9dc70b30d373517a0dfb436e04ab3d4575a18e5b060dfffa1f2fbced6199301620fa9510556e87c95eb9b5a217d7bc0a1fa08650defe0ec26a9a95a6193e2c1c3b7e81e3cee429cb43fc1c3b94a92b49493e315701fffc26017be6c0867deda8d342b97ee56530f73f4e592854af2a77f500ed07f07973dadd993a6cd2e0695810cc20d6cfc3176a8408019de61333fd2a3c853653fe693461af14cb631b448684495a34495b13810754c3f70a68c3759161251406c916b1a5b7c357b4c97ab99e8bf620acdc6b3f3af31ca2c9499b95e445cbc988a47975f61363d99c38af3f7b1bf1b2cd56c300365ac68b8e76f754820edde48582e606c3f44953ad7d0623489bc18e12b7aba35abe3ec9819d67268b83497713b02a7596f4add1351accf0c917988e9352d6f2fe87de35e85a872503a1063e1a97cb18d2ccf3d46daa777a40f201ae7ceaf95bd16559fdc8b834d827e6590e2ef7c266d7d9d3d05c647788f8fa49c3c55cd83b4c7bb00fed863626b715f663e5a8ab3fae16aa44fd62ae522d77000b4bffd20eab77634b1f2b9e5ef78a35d6cd099a6b3e1dfc19761ce37c7f6e51871114d4ce586f2d3fc23eb0b90df22228400f9cde7d34946c53e04c858e86324a55c05067516b9153ac5546b5034895c6c2c2ee5e6590b3a18a73294abf570d54932e7b371202b65a41fd81b0f151a03701c82bb9b1d7058039ab99b95c7033d19b0a8e78ff0682ef8eea027665d0e1ad7c845575a7117805ed94983084107faaf64cd5ee7a8bd55175af7ec54c50370e4e5ab50f1292c4d1dc0d214ed539706d52d48a489d3796c4a01fa7c4fad7d525cb5a959493712399b7fb08d67527db34bb4ebcec149e28df1d42d22d553655b3558c075b79147a3b33c19dac371bb77df2b14574dc66bf93c3dc628d0ffbdc0330b52250c4dd3fb639654947aedb04b0c4e84449b7aad49f93fee076255037428ac7a2e2d861023a3371845d65d5444b80e0a47efd509b29ae0c8cad8afaa0636588552231216b6bee5c005a6ca696724429e544fb0b326674249c0114d99283bd83df4f01d215e58ec6b91d7a075f874466f22b08edcb87eb7c839a14a153547ad021d11e47bbcd0b5bb8597a7c2b35757e90566818e0dad64b0489101667bc7084e80784e9dc92ce5dd6b1eadb623fb41cbfc39f2a12012c2ec2e62d8e657205d67c522c066b3ba4e0b0b2d7fc2d4080ae8bad02ee004b51d01fbec76e48b7e2c5e729ecdfb89712d0be08e9b115568239f8b8d8407ea41af74da89903d1c2a4bf04afea7cf70ffc22e4392a21bbac5080ce8629655ee75a62be69858e983efa09c1faffa0160868a34adf73054e4923beea7b7257374855e97fd18fb66044fe618ba41f9cdad4f2a7863ca4619337426821f377c4240382fb20f381e3097d82b3840691e4aa720b5b69b54d6e94a7081aaa838b2dc59167f554201b91ce78e6aa6d60560ee7ba7b2bd267bd5f9d69b39f484839f9b37e7785f7d064a3e7d67e228285d2a05314952e9ff9d647beca20d38723af52159a086347727b9e4ce371d3a93def401c81764d4b0aa571dbd8ffa1b62437a5a7be8805b52d313cab9237df3a9d21b49c50c9eb65b513ed0dee67637f4c16e5300817e120bb839ceca0216b9f8f91bce827bdceeb64cea3b0b1bc52ba30764e79bb4065dce7cb64a011fd6bdbcc20601835832c0de4dc3497f4616347a1f00068df761f7350b5ee2cf6ab6f5631529aa89fc9ba92a560edd09f3840c75de0506ac481a7e2e26df440db7482d410b082cd16f5d8a1c0b9f3db3043a36af47fee2acb1cd0e83f76195f969ac81610131744e48885beb63c273f3af8288aee61d2f9d27446ee236c4fac955389d561106a99957c9c376e1b4e387a386cff06798bbb5ec47076fe32c4e5418a3e7bbd361eb81713b6229d3f363ca5eded81bec74e9c923e1d71d34cf8899970806944cc9c13b3da5a02c15729a8a02e03fd07ceec5821311678baa9c94a382eeb4007d1250476802abe10a4eaa42c6d2be91aa1508aa453b4827cb441e8151cad3f85737e409aea23956bcc7fb1143c7c7dcebe4417d99c26187cecaa1f4ab45bb961f81afe77b46216386091027bb40a3bf548639d6e4ef9fa352887d9abd3a9b33754b66eaf912f5e0ac3ce3354b266183512849cdfcd9a4ca4fce4bd406b8c261d710716d90a15a1687236e4ad243153359c7548405d20048da862b545bc3b3eac3a7f73badac8ab5f0f2ee4a911c15d1080c4cdf6997c223e09b340f5f1bb970c930b458f768a0bbbe787cb87f181820a3d122b3548d676b3e5a52cbfef06d7424ec065c1f34c230407f9f5dc002c27a9666bec439affe6fee2f5cb8b562a5241145e89e2d327a36292b125bca2e0589c2009265rootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootghc-8.10.7-150500.3.2.5.src.rpmghc-Cabal-develghc-Cabal-devel(aarch-64)ghc-devel(Cabal-3.2.1.0)@@@@@@@@@@@@@@@@    /bin/sh/bin/shghc-Cabal(aarch-64)ghc-compilerghc-compilerghc-compilerghc-devel(array-0.5.4.0)ghc-devel(base-4.14.3.0)ghc-devel(binary-0.8.8.0)ghc-devel(bytestring-0.10.12.0)ghc-devel(containers-0.6.5.1)ghc-devel(deepseq-1.4.4.0)ghc-devel(directory-1.3.6.0)ghc-devel(filepath-1.4.2.1)ghc-devel(mtl-2.2.2)ghc-devel(parsec-3.1.14.0)ghc-devel(pretty-1.1.3.6)ghc-devel(process-1.6.13.2)ghc-devel(text-1.2.4.1)ghc-devel(time-1.9.3)ghc-devel(transformers-0.5.6.2)ghc-devel(unix-2.7.2.2)rpmlib(CompressedFileNames)rpmlib(FileDigests)rpmlib(PayloadFilesHavePrefix)rpmlib(PayloadIsXz)3.2.1.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/shibs-arm-6 1687577888  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~     3.2.1.0-150500.3.2.53.2.1.0-150500.3.2.5        !!!""""""""""""""""""""""""""""""""""""###$%%%&'((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((DistributionBackpackBackpack.dyn_hiBackpack.hiBackpack.p_hiComponentsGraph.dyn_hiComponentsGraph.hiComponentsGraph.p_hiConfigure.dyn_hiConfigure.hiConfigure.p_hiConfiguredComponent.dyn_hiConfiguredComponent.hiConfiguredComponent.p_hiDescribeUnitId.dyn_hiDescribeUnitId.hiDescribeUnitId.p_hiFullUnitId.dyn_hiFullUnitId.hiFullUnitId.p_hiId.dyn_hiId.hiId.p_hiLinkedComponent.dyn_hiLinkedComponent.hiLinkedComponent.p_hiMixLink.dyn_hiMixLink.hiMixLink.p_hiModSubst.dyn_hiModSubst.hiModSubst.p_hiModuleScope.dyn_hiModuleScope.hiModuleScope.p_hiModuleShape.dyn_hiModuleShape.hiModuleShape.p_hiPreExistingComponent.dyn_hiPreExistingComponent.hiPreExistingComponent.p_hiPreModuleShape.dyn_hiPreModuleShape.hiPreModuleShape.p_hiReadyComponent.dyn_hiReadyComponent.hiReadyComponent.p_hiUnifyM.dyn_hiUnifyM.hiUnifyM.p_hiCabalSpecVersion.dyn_hiCabalSpecVersion.hiCabalSpecVersion.p_hiCompatAsync.dyn_hiAsync.hiAsync.p_hiBinary.dyn_hiBinary.hiBinary.p_hiCharParsing.dyn_hiCharParsing.hiCharParsing.p_hiCopyFile.dyn_hiCopyFile.hiCopyFile.p_hiCreatePipe.dyn_hiCreatePipe.hiCreatePipe.p_hiDList.dyn_hiDList.hiDList.p_hiDirectory.dyn_hiDirectory.hiDirectory.p_hiEnvironment.dyn_hiEnvironment.hiEnvironment.p_hiException.dyn_hiException.hiException.p_hiFilePath.dyn_hiFilePath.hiFilePath.p_hiGetShortPathName.dyn_hiGetShortPathName.hiGetShortPathName.p_hiGraph.dyn_hiGraph.hiGraph.p_hiInternalTempFile.dyn_hiTempFile.hiTempFile.p_hiLens.dyn_hiLens.hiLens.p_hiMonadFail.dyn_hiMonadFail.hiMonadFail.p_hiNewtype.dyn_hiNewtype.hiNewtype.p_hiParsing.dyn_hiParsing.hiParsing.p_hiPreludePrelude.dyn_hiPrelude.hiPrelude.p_hiInternal.dyn_hiInternal.hiInternal.p_hiProcess.dyn_hiProcess.hiProcess.p_hiResponseFile.dyn_hiResponseFile.hiResponseFile.p_hiSemigroup.dyn_hiSemigroup.hiSemigroup.p_hiSnocList.dyn_hiSnocList.hiSnocList.p_hiStack.dyn_hiStack.hiStack.p_hiTime.dyn_hiTime.hiTime.p_hiTypeable.dyn_hiTypeable.hiTypeable.p_hiCompiler.dyn_hiCompiler.hiCompiler.p_hiFieldGrammarFieldGrammar.dyn_hiFieldGrammar.hiFieldGrammar.p_hiClass.dyn_hiClass.hiClass.p_hiFieldDescrs.dyn_hiFieldDescrs.hiFieldDescrs.p_hiParsec.dyn_hiParsec.hiParsec.p_hiPretty.dyn_hiPretty.hiPretty.p_hiFieldsFields.dyn_hiFields.hiFields.p_hiConfVar.dyn_hiConfVar.hiConfVar.p_hiField.dyn_hiField.hiField.p_hiLexer.dyn_hiLexer.hiLexer.p_hiLexerMonad.dyn_hiLexerMonad.hiLexerMonad.p_hiParseResult.dyn_hiParseResult.hiParseResult.p_hiParser.dyn_hiParser.hiParser.p_hiPretty.dyn_hiPretty.hiPretty.p_hiGetOpt.dyn_hiGetOpt.hiGetOpt.p_hiInstalledPackageInfo.dyn_hiInstalledPackageInfo.hiInstalledPackageInfo.p_hiLex.dyn_hiLex.hiLex.p_hiLicense.dyn_hiLicense.hiLicense.p_hiMake.dyn_hiMake.hiMake.p_hiModuleName.dyn_hiModuleName.hiModuleName.p_hiPackage.dyn_hiPackage.hiPackage.p_hiPackageDescriptionPackageDescription.dyn_hiPackageDescription.hiPackageDescription.p_hiCheck.dyn_hiCheck.hiCheck.p_hiConfiguration.dyn_hiConfiguration.hiConfiguration.p_hiFieldGrammar.dyn_hiFieldGrammar.hiFieldGrammar.p_hiParsec.dyn_hiParsec.hiParsec.p_hiPrettyPrint.dyn_hiPrettyPrint.hiPrettyPrint.p_hiQuirks.dyn_hiQuirks.hiQuirks.p_hiUtils.dyn_hiUtils.hiUtils.p_hiParsecParsec.dyn_hiParsec.hiParsec.p_hiError.dyn_hiError.hiError.p_hiFieldLineStream.dyn_hiFieldLineStream.hiFieldLineStream.p_hiNewtypes.dyn_hiNewtypes.hiNewtypes.p_hiPosition.dyn_hiPosition.hiPosition.p_hiWarning.dyn_hiWarning.hiWarning.p_hiPretty.dyn_hiPretty.hiPretty.p_hiReadE.dyn_hiReadE.hiReadE.p_hiSPDXSPDX.dyn_hiSPDX.hiSPDX.p_hiLicense.dyn_hiLicense.hiLicense.p_hiLicenseExceptionId.dyn_hiLicenseExceptionId.hiLicenseExceptionId.p_hiLicenseExpression.dyn_hiLicenseExpression.hiLicenseExpression.p_hiLicenseId.dyn_hiLicenseId.hiLicenseId.p_hiLicenseListVersion.dyn_hiLicenseListVersion.hiLicenseListVersion.p_hiLicenseReference.dyn_hiLicenseReference.hiLicenseReference.p_hiSimpleSimple.dyn_hiSimple.hiSimple.p_hiBench.dyn_hiBench.hiBench.p_hiBuildBuild.dyn_hiBuild.hiBuild.p_hiMacros.dyn_hiMacros.hiMacros.p_hiPathsModule.dyn_hiPathsModule.hiPathsModule.p_hiBuildPaths.dyn_hiBuildPaths.hiBuildPaths.p_hiBuildTarget.dyn_hiBuildTarget.hiBuildTarget.p_hiBuildToolDepends.dyn_hiBuildToolDepends.hiBuildToolDepends.p_hiCCompiler.dyn_hiCCompiler.hiCCompiler.p_hiCommand.dyn_hiCommand.hiCommand.p_hiCompiler.dyn_hiCompiler.hiCompiler.p_hiConfigure.dyn_hiConfigure.hiConfigure.p_hiDoctest.dyn_hiDoctest.hiDoctest.p_hiFlag.dyn_hiFlag.hiFlag.p_hiGHCGHC.dyn_hiGHC.hiGHC.p_hiEnvironmentParser.dyn_hiEnvironmentParser.hiEnvironmentParser.p_hiImplInfo.dyn_hiImplInfo.hiImplInfo.p_hiInternal.dyn_hiInternal.hiInternal.p_hiGHCJS.dyn_hiGHCJS.hiGHCJS.p_hiGlob.dyn_hiGlob.hiGlob.p_hiHaddock.dyn_hiHaddock.hiHaddock.p_hiHaskellSuite.dyn_hiHaskellSuite.hiHaskellSuite.p_hiHpc.dyn_hiHpc.hiHpc.p_hiInstall.dyn_hiInstall.hiInstall.p_hiInstallDirsInstallDirs.dyn_hiInstallDirs.hiInstallDirs.p_hiInternal.dyn_hiInternal.hiInternal.p_hiLocalBuildInfo.dyn_hiLocalBuildInfo.hiLocalBuildInfo.p_hiPackageIndex.dyn_hiPackageIndex.hiPackageIndex.p_hiPreProcessPreProcess.dyn_hiPreProcess.hiPreProcess.p_hiUnlit.dyn_hiUnlit.hiUnlit.p_hiProgramProgram.dyn_hiProgram.hiProgram.p_hiAr.dyn_hiAr.hiAr.p_hiBuiltin.dyn_hiBuiltin.hiBuiltin.p_hiDb.dyn_hiDb.hiDb.p_hiFind.dyn_hiFind.hiFind.p_hiGHC.dyn_hiGHC.hiGHC.p_hiHcPkg.dyn_hiHcPkg.hiHcPkg.p_hiHpc.dyn_hiHpc.hiHpc.p_hiInternal.dyn_hiInternal.hiInternal.p_hiLd.dyn_hiLd.hiLd.p_hiResponseFile.dyn_hiResponseFile.hiResponseFile.p_hiRun.dyn_hiRun.hiRun.p_hiScript.dyn_hiScript.hiScript.p_hiStrip.dyn_hiStrip.hiStrip.p_hiTypes.dyn_hiTypes.hiTypes.p_hiRegister.dyn_hiRegister.hiRegister.p_hiSetup.dyn_hiSetup.hiSetup.p_hiShowBuildInfo.dyn_hiShowBuildInfo.hiShowBuildInfo.p_hiSrcDist.dyn_hiSrcDist.hiSrcDist.p_hiTestTest.dyn_hiTest.hiTest.p_hiExeV10.dyn_hiExeV10.hiExeV10.p_hiLibV09.dyn_hiLibV09.hiLibV09.p_hiLog.dyn_hiLog.hiLog.p_hiUHC.dyn_hiUHC.hiUHC.p_hiUserHooks.dyn_hiUserHooks.hiUserHooks.p_hiUtilsUtils.dyn_hiUtils.hiUtils.p_hiJson.dyn_hiJson.hiJson.p_hiSystem.dyn_hiSystem.hiSystem.p_hiTestSuite.dyn_hiTestSuite.hiTestSuite.p_hiText.dyn_hiText.hiText.p_hiTypesAbiDependency.dyn_hiAbiDependency.hiAbiDependency.p_hiAbiHash.dyn_hiAbiHash.hiAbiHash.p_hiAnnotatedId.dyn_hiAnnotatedId.hiAnnotatedId.p_hiBenchmarkBenchmark.dyn_hiBenchmark.hiBenchmark.p_hiLens.dyn_hiLens.hiLens.p_hiBenchmarkInterface.dyn_hiBenchmarkInterface.hiBenchmarkInterface.p_hiBenchmarkType.dyn_hiBenchmarkType.hiBenchmarkType.p_hiBuildInfoBuildInfo.dyn_hiBuildInfo.hiBuildInfo.p_hiLens.dyn_hiLens.hiLens.p_hiBuildType.dyn_hiBuildType.hiBuildType.p_hiComponent.dyn_hiComponent.hiComponent.p_hiComponentId.dyn_hiComponentId.hiComponentId.p_hiComponentInclude.dyn_hiComponentInclude.hiComponentInclude.p_hiComponentLocalBuildInfo.dyn_hiComponentLocalBuildInfo.hiComponentLocalBuildInfo.p_hiComponentName.dyn_hiComponentName.hiComponentName.p_hiComponentRequestedSpec.dyn_hiComponentRequestedSpec.hiComponentRequestedSpec.p_hiCondTree.dyn_hiCondTree.hiCondTree.p_hiCondition.dyn_hiCondition.hiCondition.p_hiConfVar.dyn_hiConfVar.hiConfVar.p_hiDependency.dyn_hiDependency.hiDependency.p_hiDependencyMap.dyn_hiDependencyMap.hiDependencyMap.p_hiExeDependency.dyn_hiExeDependency.hiExeDependency.p_hiExecutableExecutable.dyn_hiExecutable.hiExecutable.p_hiLens.dyn_hiLens.hiLens.p_hiExecutableScope.dyn_hiExecutableScope.hiExecutableScope.p_hiExposedModule.dyn_hiExposedModule.hiExposedModule.p_hiFlag.dyn_hiFlag.hiFlag.p_hiForeignLibForeignLib.dyn_hiForeignLib.hiForeignLib.p_hiLens.dyn_hiLens.hiLens.p_hiForeignLibOption.dyn_hiForeignLibOption.hiForeignLibOption.p_hiForeignLibType.dyn_hiForeignLibType.hiForeignLibType.p_hiGenericPackageDescriptionGenericPackageDescription.dyn_hiGenericPackageDescription.hiGenericPackageDescription.p_hiLens.dyn_hiLens.hiLens.p_hiGivenComponent.dyn_hiGivenComponent.hiGivenComponent.p_hiHookedBuildInfo.dyn_hiHookedBuildInfo.hiHookedBuildInfo.p_hiIncludeRenaming.dyn_hiIncludeRenaming.hiIncludeRenaming.p_hiInstalledPackageInfoInstalledPackageInfo.dyn_hiInstalledPackageInfo.hiInstalledPackageInfo.p_hiFieldGrammar.dyn_hiFieldGrammar.hiFieldGrammar.p_hiLens.dyn_hiLens.hiLens.p_hiLegacyExeDependency.dyn_hiLegacyExeDependency.hiLegacyExeDependency.p_hiLens.dyn_hiLens.hiLens.p_hiLibraryLibrary.dyn_hiLibrary.hiLibrary.p_hiLens.dyn_hiLens.hiLens.p_hiLibraryName.dyn_hiLibraryName.hiLibraryName.p_hiLibraryVisibility.dyn_hiLibraryVisibility.hiLibraryVisibility.p_hiLocalBuildInfo.dyn_hiLocalBuildInfo.hiLocalBuildInfo.p_hiMixin.dyn_hiMixin.hiMixin.p_hiModule.dyn_hiModule.hiModule.p_hiModuleReexport.dyn_hiModuleReexport.hiModuleReexport.p_hiModuleRenaming.dyn_hiModuleRenaming.hiModuleRenaming.p_hiMungedPackageId.dyn_hiMungedPackageId.hiMungedPackageId.p_hiMungedPackageName.dyn_hiMungedPackageName.hiMungedPackageName.p_hiPackageDescriptionPackageDescription.dyn_hiPackageDescription.hiPackageDescription.p_hiLens.dyn_hiLens.hiLens.p_hiPackageIdPackageId.dyn_hiPackageId.hiPackageId.p_hiLens.dyn_hiLens.hiLens.p_hiPackageNamePackageName.dyn_hiPackageName.hiPackageName.p_hiMagic.dyn_hiMagic.hiMagic.p_hiPackageVersionConstraint.dyn_hiPackageVersionConstraint.hiPackageVersionConstraint.p_hiPkgconfigDependency.dyn_hiPkgconfigDependency.hiPkgconfigDependency.p_hiPkgconfigName.dyn_hiPkgconfigName.hiPkgconfigName.p_hiPkgconfigVersion.dyn_hiPkgconfigVersion.hiPkgconfigVersion.p_hiPkgconfigVersionRange.dyn_hiPkgconfigVersionRange.hiPkgconfigVersionRange.p_hiSetupBuildInfoSetupBuildInfo.dyn_hiSetupBuildInfo.hiSetupBuildInfo.p_hiLens.dyn_hiLens.hiLens.p_hiSourceRepoSourceRepo.dyn_hiSourceRepo.hiSourceRepo.p_hiLens.dyn_hiLens.hiLens.p_hiTargetInfo.dyn_hiTargetInfo.hiTargetInfo.p_hiTestSuiteTestSuite.dyn_hiTestSuite.hiTestSuite.p_hiLens.dyn_hiLens.hiLens.p_hiTestSuiteInterface.dyn_hiTestSuiteInterface.hiTestSuiteInterface.p_hiTestType.dyn_hiTestType.hiTestType.p_hiUnitId.dyn_hiUnitId.hiUnitId.p_hiUnqualComponentName.dyn_hiUnqualComponentName.hiUnqualComponentName.p_hiVersion.dyn_hiVersion.hiVersion.p_hiVersionInterval.dyn_hiVersionInterval.hiVersionInterval.p_hiVersionRangeVersionRange.dyn_hiVersionRange.hiVersionRange.p_hiInternal.dyn_hiInternal.hiInternal.p_hiUtilsBase62.dyn_hiBase62.hiBase62.p_hiGeneric.dyn_hiGeneric.hiGeneric.p_hiIOData.dyn_hiIOData.hiIOData.p_hiLogProgress.dyn_hiLogProgress.hiLogProgress.p_hiMD5.dyn_hiMD5.hiMD5.p_hiMapAccum.dyn_hiMapAccum.hiMapAccum.p_hiNubList.dyn_hiNubList.hiNubList.p_hiProgress.dyn_hiProgress.hiProgress.p_hiShortText.dyn_hiShortText.hiShortText.p_hiString.dyn_hiString.hiString.p_hiStructured.dyn_hiStructured.hiStructured.p_hiUnionFind.dyn_hiUnionFind.hiUnionFind.p_hiVerbosityVerbosity.dyn_hiVerbosity.hiVerbosity.p_hiInternal.dyn_hiInternal.hiInternal.p_hiVersion.dyn_hiVersion.hiVersion.p_hiHSCabal-3.2.1.0.oHSCabal-3.2.1.0.p_oLanguageHaskellExtension.dyn_hiExtension.hiExtension.p_hiPaths_Cabal.dyn_hiPaths_Cabal.hiPaths_Cabal.p_hilibHSCabal-3.2.1.0.alibHSCabal-3.2.1.0_p.aCabal-3.2.1.0.confCabal-3.2.1.0Cabal.haddockCabal.txtDistribution-Backpack-ComponentsGraph.htmlDistribution-Backpack-Configure.htmlDistribution-Backpack-ConfiguredComponent.htmlDistribution-Backpack-DescribeUnitId.htmlDistribution-Backpack-FullUnitId.htmlDistribution-Backpack-LinkedComponent.htmlDistribution-Backpack-ModSubst.htmlDistribution-Backpack-ModuleShape.htmlDistribution-Backpack-PreModuleShape.htmlDistribution-Backpack.htmlDistribution-CabalSpecVersion.htmlDistribution-Compat-Binary.htmlDistribution-Compat-CharParsing.htmlDistribution-Compat-CreatePipe.htmlDistribution-Compat-DList.htmlDistribution-Compat-Directory.htmlDistribution-Compat-Exception.htmlDistribution-Compat-FilePath.htmlDistribution-Compat-Graph.htmlDistribution-Compat-Lens.htmlDistribution-Compat-Newtype.htmlDistribution-Compat-Parsing.htmlDistribution-Compat-Prelude-Internal.htmlDistribution-Compat-Process.htmlDistribution-Compat-ResponseFile.htmlDistribution-Compat-Semigroup.htmlDistribution-Compat-Stack.htmlDistribution-Compat-Time.htmlDistribution-Compat-Typeable.htmlDistribution-Compiler.htmlDistribution-FieldGrammar-Class.htmlDistribution-FieldGrammar-FieldDescrs.htmlDistribution-FieldGrammar-Parsec.htmlDistribution-FieldGrammar-Pretty.htmlDistribution-FieldGrammar.htmlDistribution-Fields-ConfVar.htmlDistribution-Fields-Field.htmlDistribution-Fields-Lexer.htmlDistribution-Fields-LexerMonad.htmlDistribution-Fields-ParseResult.htmlDistribution-Fields-Parser.htmlDistribution-Fields-Pretty.htmlDistribution-Fields.htmlDistribution-InstalledPackageInfo.htmlDistribution-License.htmlDistribution-Make.htmlDistribution-ModuleName.htmlDistribution-Package.htmlDistribution-PackageDescription-Check.htmlDistribution-PackageDescription-Configuration.htmlDistribution-PackageDescription-FieldGrammar.htmlDistribution-PackageDescription-Parsec.htmlDistribution-PackageDescription-PrettyPrint.htmlDistribution-PackageDescription-Quirks.htmlDistribution-PackageDescription-Utils.htmlDistribution-PackageDescription.htmlDistribution-Parsec-Error.htmlDistribution-Parsec-FieldLineStream.htmlDistribution-Parsec-Newtypes.htmlDistribution-Parsec-Position.htmlDistribution-Parsec-Warning.htmlDistribution-Parsec.htmlDistribution-Pretty.htmlDistribution-ReadE.htmlDistribution-SPDX-License.htmlDistribution-SPDX-LicenseExceptionId.htmlDistribution-SPDX-LicenseExpression.htmlDistribution-SPDX-LicenseId.htmlDistribution-SPDX-LicenseListVersion.htmlDistribution-SPDX-LicenseReference.htmlDistribution-SPDX.htmlDistribution-Simple-Bench.htmlDistribution-Simple-Build-Macros.htmlDistribution-Simple-Build-PathsModule.htmlDistribution-Simple-Build.htmlDistribution-Simple-BuildPaths.htmlDistribution-Simple-BuildTarget.htmlDistribution-Simple-BuildToolDepends.htmlDistribution-Simple-CCompiler.htmlDistribution-Simple-Command.htmlDistribution-Simple-Compiler.htmlDistribution-Simple-Configure.htmlDistribution-Simple-Doctest.htmlDistribution-Simple-Flag.htmlDistribution-Simple-GHC.htmlDistribution-Simple-GHCJS.htmlDistribution-Simple-Glob.htmlDistribution-Simple-Haddock.htmlDistribution-Simple-HaskellSuite.htmlDistribution-Simple-Hpc.htmlDistribution-Simple-Install.htmlDistribution-Simple-InstallDirs-Internal.htmlDistribution-Simple-InstallDirs.htmlDistribution-Simple-LocalBuildInfo.htmlDistribution-Simple-PackageIndex.htmlDistribution-Simple-PreProcess-Unlit.htmlDistribution-Simple-PreProcess.htmlDistribution-Simple-Program-Ar.htmlDistribution-Simple-Program-Builtin.htmlDistribution-Simple-Program-Db.htmlDistribution-Simple-Program-Find.htmlDistribution-Simple-Program-GHC.htmlDistribution-Simple-Program-HcPkg.htmlDistribution-Simple-Program-Hpc.htmlDistribution-Simple-Program-Internal.htmlDistribution-Simple-Program-Ld.htmlDistribution-Simple-Program-ResponseFile.htmlDistribution-Simple-Program-Run.htmlDistribution-Simple-Program-Script.htmlDistribution-Simple-Program-Strip.htmlDistribution-Simple-Program-Types.htmlDistribution-Simple-Program.htmlDistribution-Simple-Register.htmlDistribution-Simple-Setup.htmlDistribution-Simple-ShowBuildInfo.htmlDistribution-Simple-SrcDist.htmlDistribution-Simple-Test-ExeV10.htmlDistribution-Simple-Test-LibV09.htmlDistribution-Simple-Test-Log.htmlDistribution-Simple-Test.htmlDistribution-Simple-UHC.htmlDistribution-Simple-UserHooks.htmlDistribution-Simple-Utils.htmlDistribution-Simple.htmlDistribution-System.htmlDistribution-TestSuite.htmlDistribution-Text.htmlDistribution-Types-AbiDependency.htmlDistribution-Types-AbiHash.htmlDistribution-Types-AnnotatedId.htmlDistribution-Types-Benchmark-Lens.htmlDistribution-Types-Benchmark.htmlDistribution-Types-BenchmarkInterface.htmlDistribution-Types-BenchmarkType.htmlDistribution-Types-BuildInfo-Lens.htmlDistribution-Types-BuildInfo.htmlDistribution-Types-BuildType.htmlDistribution-Types-Component.htmlDistribution-Types-ComponentId.htmlDistribution-Types-ComponentInclude.htmlDistribution-Types-ComponentLocalBuildInfo.htmlDistribution-Types-ComponentName.htmlDistribution-Types-ComponentRequestedSpec.htmlDistribution-Types-CondTree.htmlDistribution-Types-Condition.htmlDistribution-Types-ConfVar.htmlDistribution-Types-Dependency.htmlDistribution-Types-DependencyMap.htmlDistribution-Types-ExeDependency.htmlDistribution-Types-Executable-Lens.htmlDistribution-Types-Executable.htmlDistribution-Types-ExecutableScope.htmlDistribution-Types-ExposedModule.htmlDistribution-Types-Flag.htmlDistribution-Types-ForeignLib-Lens.htmlDistribution-Types-ForeignLib.htmlDistribution-Types-ForeignLibOption.htmlDistribution-Types-ForeignLibType.htmlDistribution-Types-GenericPackageDescription-Lens.htmlDistribution-Types-GenericPackageDescription.htmlDistribution-Types-GivenComponent.htmlDistribution-Types-HookedBuildInfo.htmlDistribution-Types-IncludeRenaming.htmlDistribution-Types-InstalledPackageInfo-FieldGrammar.htmlDistribution-Types-InstalledPackageInfo-Lens.htmlDistribution-Types-InstalledPackageInfo.htmlDistribution-Types-LegacyExeDependency.htmlDistribution-Types-Lens.htmlDistribution-Types-Library-Lens.htmlDistribution-Types-Library.htmlDistribution-Types-LibraryName.htmlDistribution-Types-LibraryVisibility.htmlDistribution-Types-LocalBuildInfo.htmlDistribution-Types-Mixin.htmlDistribution-Types-Module.htmlDistribution-Types-ModuleReexport.htmlDistribution-Types-ModuleRenaming.htmlDistribution-Types-MungedPackageId.htmlDistribution-Types-MungedPackageName.htmlDistribution-Types-PackageDescription-Lens.htmlDistribution-Types-PackageDescription.htmlDistribution-Types-PackageId-Lens.htmlDistribution-Types-PackageId.htmlDistribution-Types-PackageName-Magic.htmlDistribution-Types-PackageName.htmlDistribution-Types-PackageVersionConstraint.htmlDistribution-Types-PkgconfigDependency.htmlDistribution-Types-PkgconfigName.htmlDistribution-Types-PkgconfigVersion.htmlDistribution-Types-PkgconfigVersionRange.htmlDistribution-Types-SetupBuildInfo-Lens.htmlDistribution-Types-SetupBuildInfo.htmlDistribution-Types-SourceRepo-Lens.htmlDistribution-Types-SourceRepo.htmlDistribution-Types-TargetInfo.htmlDistribution-Types-TestSuite-Lens.htmlDistribution-Types-TestSuite.htmlDistribution-Types-TestSuiteInterface.htmlDistribution-Types-TestType.htmlDistribution-Types-UnitId.htmlDistribution-Types-UnqualComponentName.htmlDistribution-Types-Version.htmlDistribution-Types-VersionInterval.htmlDistribution-Types-VersionRange-Internal.htmlDistribution-Types-VersionRange.htmlDistribution-Utils-Generic.htmlDistribution-Utils-IOData.htmlDistribution-Utils-LogProgress.htmlDistribution-Utils-MD5.htmlDistribution-Utils-MapAccum.htmlDistribution-Utils-NubList.htmlDistribution-Utils-Progress.htmlDistribution-Utils-ShortText.htmlDistribution-Utils-Structured.htmlDistribution-Verbosity-Internal.htmlDistribution-Verbosity.htmlDistribution-Version.htmlLanguage-Haskell-Extension.htmldoc-index-124.htmldoc-index-33.htmldoc-index-35.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-63.htmldoc-index-94.htmldoc-index-95.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.png/usr/lib64/ghc-8.10.7/Cabal-3.2.1.0//usr/lib64/ghc-8.10.7/Cabal-3.2.1.0/Distribution//usr/lib64/ghc-8.10.7/Cabal-3.2.1.0/Distribution/Backpack//usr/lib64/ghc-8.10.7/Cabal-3.2.1.0/Distribution/Compat//usr/lib64/ghc-8.10.7/Cabal-3.2.1.0/Distribution/Compat/Internal//usr/lib64/ghc-8.10.7/Cabal-3.2.1.0/Distribution/Compat/Prelude//usr/lib64/ghc-8.10.7/Cabal-3.2.1.0/Distribution/FieldGrammar//usr/lib64/ghc-8.10.7/Cabal-3.2.1.0/Distribution/Fields//usr/lib64/ghc-8.10.7/Cabal-3.2.1.0/Distribution/PackageDescription//usr/lib64/ghc-8.10.7/Cabal-3.2.1.0/Distribution/Parsec//usr/lib64/ghc-8.10.7/Cabal-3.2.1.0/Distribution/SPDX//usr/lib64/ghc-8.10.7/Cabal-3.2.1.0/Distribution/Simple//usr/lib64/ghc-8.10.7/Cabal-3.2.1.0/Distribution/Simple/Build//usr/lib64/ghc-8.10.7/Cabal-3.2.1.0/Distribution/Simple/GHC//usr/lib64/ghc-8.10.7/Cabal-3.2.1.0/Distribution/Simple/InstallDirs//usr/lib64/ghc-8.10.7/Cabal-3.2.1.0/Distribution/Simple/PreProcess//usr/lib64/ghc-8.10.7/Cabal-3.2.1.0/Distribution/Simple/Program//usr/lib64/ghc-8.10.7/Cabal-3.2.1.0/Distribution/Simple/Test//usr/lib64/ghc-8.10.7/Cabal-3.2.1.0/Distribution/Simple/Utils//usr/lib64/ghc-8.10.7/Cabal-3.2.1.0/Distribution/Types//usr/lib64/ghc-8.10.7/Cabal-3.2.1.0/Distribution/Types/Benchmark//usr/lib64/ghc-8.10.7/Cabal-3.2.1.0/Distribution/Types/BuildInfo//usr/lib64/ghc-8.10.7/Cabal-3.2.1.0/Distribution/Types/Executable//usr/lib64/ghc-8.10.7/Cabal-3.2.1.0/Distribution/Types/ForeignLib//usr/lib64/ghc-8.10.7/Cabal-3.2.1.0/Distribution/Types/GenericPackageDescription//usr/lib64/ghc-8.10.7/Cabal-3.2.1.0/Distribution/Types/InstalledPackageInfo//usr/lib64/ghc-8.10.7/Cabal-3.2.1.0/Distribution/Types/Library//usr/lib64/ghc-8.10.7/Cabal-3.2.1.0/Distribution/Types/PackageDescription//usr/lib64/ghc-8.10.7/Cabal-3.2.1.0/Distribution/Types/PackageId//usr/lib64/ghc-8.10.7/Cabal-3.2.1.0/Distribution/Types/PackageName//usr/lib64/ghc-8.10.7/Cabal-3.2.1.0/Distribution/Types/SetupBuildInfo//usr/lib64/ghc-8.10.7/Cabal-3.2.1.0/Distribution/Types/SourceRepo//usr/lib64/ghc-8.10.7/Cabal-3.2.1.0/Distribution/Types/TestSuite//usr/lib64/ghc-8.10.7/Cabal-3.2.1.0/Distribution/Types/VersionRange//usr/lib64/ghc-8.10.7/Cabal-3.2.1.0/Distribution/Utils//usr/lib64/ghc-8.10.7/Cabal-3.2.1.0/Distribution/Verbosity//usr/lib64/ghc-8.10.7/Cabal-3.2.1.0/Language//usr/lib64/ghc-8.10.7/Cabal-3.2.1.0/Language/Haskell//usr/lib64/ghc-8.10.7/package.conf.d//usr/share/doc/ghc-8.10.7/html/libraries//usr/share/doc/ghc-8.10.7/html/libraries/Cabal-3.2.1.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_Updatedrpmxz5aarch64-suse-linux  directoryELF 64-bit LSB relocatable, ARM aarch64, version 1 (SYSV), not strippedcurrent ar archiveASCII textUTF-8 Unicode text, with very long linesHTML document, ASCII text, with very long linesHTML document, ASCII text, with very long lines, with no line terminatorsLaTeX document, ASCII text, with very long linesUTF-8 Unicode textASCII text, with no line terminatorsPNG image data, 128 x 104, 8-bit/color RGBA, non-interlacedPRRRR R R R R RRRRRRRRyj1/ę;F(utf-8d658c54934da328b7f076fb780396d225169ae034a5334a0f25803564a2ad811?7zXZ !t/*]"k%!:mdEoH8t_̲m8SAw{Hqlz8l`/'k< cdVڰFHZv,_b{QHx _I!{ܒ8=~C> I_T[SKzQˀ߃MdX5scvz˖y<ɡW-MG“M7ɫߵ<،w[T ռU*Lb< Ed[(@7 M}AQO@vbиZr^ >M8i`qZmY~n4{j T] x~9"4@"Z?M6 r6.]\):K?d=VMy4Gk Zg/-2x߾3`_t<\rXP͞Fuk#K%.ٙ-pExޙ]t "Ѭay\y{t8/dЮZy[bgԣze}숲 ǀ^>#)&cQRݗc͋hQCBh)FIڦE6Gy[h;mPP`ڼ`pP@L0\t).n֛ƾ΅Qn"㍋]@z>)Ug/5ɉ@&^ӑػ>-z+{ ÄpjXpUN^]%FDxݴ"}c~vQD3[ɉsׅ0T<n?MO^ADoI[32)E1%sq?W4l)l}V v HjT;f?<~ӯ`'XX1*y) ;ڒ`fYN>pG4} 諫Kzs#˺$yD(Λnm92eFT aH)K)"h >'K San¦ΤXx#w]bG]\F򺇭_Z`~v?wb(z4}D#h0Lj#Ɯvu0?45]l{$e=Yŗ߲Xה| ƥ{j``'kK_oͪ{dz(zp {t%Z@kzEC]UF6k8w33 6mh[1%ܮ3;!5*7 L Q&&>֍hp&;5NHUtD7 NkJF: /5J1MKINսu;wVBBڗdf]8 F1dWO%C VGif MH7<qVXZ#G*$\Ws"GH=HB i18Z9 .m1nb1qq%dDϗ8Fh`56*6~|3\= P"_ 'aSpO*]iڋ*4pU4unfFv&R?#z6S#To[*jPtTd#2(HoJcR c hkܽoX)u¬MTKxc)S8&1ȤVK,v7idzGv̔+@W0;tTPzReǪ?,×D&]vKe-=SeXrxX}az94q0:U#3"4rGb$6Ws~TZ^:d), %+C}-ko󧃰eN ^Ɲ!H iME;~\G Gm|K|~E򇡠.0Uxgftɛfo(o6]#f9"3̨!pqBO {W'W3 㩐6am@4+ ۰xה_W-=iVPa\12d[K6˲/VTj=[l`Dc7;O#q1Bu P *['&&<ԬבgP8q~hX8&ܳ(\Z[]q՜(_ '=$\|nuo_8~sbV(WXF LeK,њXdd~_nB-[D畐aZ3mə97F4ZH|ߥA0֓+;賵n)rwEY3H= Κ$4mKq5$`W񭧌o7;w-I}1^[, h+M;3X`# )ɏ"SM?jyW ^ 4E,/& T"PX%", |As6zH/Q| P2p9:U ƜDu/ 7ϡDHʸOo1֡yXG .S${nw+M"vk{O;҅ՠ#E2HξzJ s.-F#@8~U4.@F ^"T,"le!Ф"]|yNv0Z~t;sCz NF˽eEPfŐoZr?IVƢzo1{B%uDZ[@x*$9(^A,c!xѯ@)퀴/;tqq"uz,D*3/MZ^;rF ҋ!rsx4"ס遶) Lz>@-yːg^\خ69ScEFt#%^?tiGLʏδ)<{\|È; @_X^x` 6 <b]I܋Wj25RA =Xn|%A!E>"쎖S89}L,7mu8% M<.m@֛4XФܺ?1y$?((5?<~z`8\GŤ4t{AC)>Zt57bbUY̔0+;R꿍 R.mq<$Kz 7ᡠgŕ\1wDD%iϠ2 7qQBv4ؐ>Ok4`糧Cf3 _mύ:g/XQ| Op&G"hZx6J:#+{*,=L9TwJRcvY-6\Bz JKOFyX?a^m$ϑLfҸ:W'gX K3`A ͞'|߿Y 1|@B([Lxk,c&٨+Z܆a8Ykm~򾕋@b!Tgbc_ǗYkˍ+nV+oq &[XE(ݯ9C4!<3ʲS..ġ2xA:nYsoUkl%=šw[))-RIA`Ӵ6Dpo_~\B)z]qBJcN qizmw(JzyDZW֍#Ng@wy;U<{mjܶ!%jS!6DjMTxZ@h>h}mn\dk:Gl4K&]MVDvD`jzrƐPKs%9p/BSq )655 O3.SR￵fMX<F"ٶ ]DC86/%@W.[m"ƠB3S[ VC޲~I,gղ10;t)#Ƌ7,}羢s萚\CWdg]J-@vm6uTA9"gV>Ygߌy4HV)v2%Kj$tH [s|,,dH6?wYxqXSg}W>O!8,jTET`fݕ_WcIBu}^a/T";҄hDszu0W'5^}z2["ItGwBX+3&Pqju4s8,|A2l~j+-Y3E.ǧ;0[_nApJzquJbs(UU"2C%_9"915dBGftIΎc)9 ?Sz.whp]i>:=S w=+[9v؈)%v TK&iHak2&VEƉT,VeI^/DxҐ. R1˾Ee˜>$g> uŝ-OO)v0W|nW6rb*b~Mzt&o!5ji]= F Q{3kxe(Q1Ux YZ