eigen3-devel-3.3.4-bp153.2.3.1<>,y\b7*!M@eeec@d׳K0sR ߾;}ѷ UvL#[ q*C{y˥Qǒ Ngc.%9{ޚNjr&z-XFp,I 09 w3We[{2+Ex1tQx(3Tͥkκގ)[a]7 z0P.3i:_!sEpZrn>Af|?fld ! I .Njpx3 D3 3 3 3 O3 3P3O3Np3<l€(8 9P :} BFG3H3I 3XYZ [\3]3^;ObHcIdJ4eJ9fJ<lJ>uJP3vS wTl3x]83yfzf ff f&fhCeigen3-devel3.3.4bp153.2.3.1C++ Template Library for Linear AlgebraEigen is a C++ template library for linear algebra: matrices, vectors, numerical solvers, and related algorithms.b7*goat17hiSUSE Linux Enterprise 15openSUSEMPL-2.0 and LGPL-2.1+ and BSD-3-Clausehttp://bugs.opensuse.orgDevelopment/Libraries/C and C++http://eigen.tuxfamily.org/linuxnoarchilCz#j#^ \"[#f^EW#/w /6VF9:mz @%k^U%#1z,IRV' )} JWg H $TE1h77u#G  {98<r sKiEpk=E:*-RA S)D lPI;B~F %X_m(<H.;TZzhp)L)v&'K37&6m=jTK 7F H1U)(,1B}RYC'%8/\"O,BW9 7P;." t{b]/ P{kU#:;-R>:( #:S 5e@ :mVN@a16QEc6 ,01j>U])$1ocU1dg0 S1-}F<dFH"% g%9%mn'&8a'U[!&#Ds Im3 %C2 a w`&@3LB! yP+A799=h8:GH* , +H L&A<b(9f[:Dl$9!$ Z:d !O4=)$Rvt65A)&% 3 -*0%$ %$bn *i#~2Q!$ `!<W-) j$N6\NEJJr,&g Nm#E2#tAs,$/E( 3k' 3>ZD[8; MtVwH{ # 9 RA8(,^yYA*e! Q{3. A+ Ht@ KgAV  /AA큤AA큤A큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤A큤AA큤A큤A큤A큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤A큤A큤AA큤b7"b7"YB2YB2b6YB2YB2YB2YB2YB2YB2YB2YB2YB2YB2YB2YB2YB2YB2YB2YB2YB2YB2YB2YB2YB2YB2YB2YB2YB2YB2b7"b7"YB2YB2YB2b7"YB2b7"YB2YB2YB2YB2YB2YB2YB2YB2YB2YB2YB2YB2YB2YB2YB2YB2YB2YB2YB2YB2YB2YB2YB2YB2YB2YB2YB2YB2YB2YB2YB2YB2YB2YB2YB2YB2YB2YB2YB2YB2YB2YB2YB2YB2YB2YB2YB2YB2YB2YB2YB2YB2YB2YB2YB2YB2YB2YB2YB2YB2YB2YB2YB2YB2YB2YB2YB2b7"b7"YB2YB2YB2YB2b7"YB2YB2b7"YB2YB2YB2b7"YB2YB2YB2YB2YB2YB2b7"YB2b7"YB2YB2YB2b7"YB2YB2YB2YB2b7"YB2YB2YB2b7"YB2YB2YB2YB2YB2YB2b7"YB2YB2YB2YB2YB2YB2YB2YB2YB2YB2YB2YB2YB2YB2YB2YB2YB2YB2YB2YB2YB2b7"YB2YB2YB2YB2YB2b6YB2YB2YB2YB2YB2YB2b7"YB2YB2YB2YB2YB2YB2YB2YB2YB2YB2YB2YB2YB2YB2b7"YB2YB2YB2YB2YB2YB2YB2YB2YB2YB2YB2YB2YB2YB2b7"YB2b7"YB2YB2YB2b7"YB2YB2YB2YB2YB2YB2YB2YB2b7"YB2b7"YB2YB2YB2YB2YB2b7"YB2b7"YB2b7"YB2YB2YB2b7"YB2b7"YB2b7"YB2YB2YB2YB2YB2YB2b7"YB2b7"YB2YB2YB2YB2YB2b7"YB2YB2b7"YB2YB2YB2YB2YB2YB2YB2YB2YB2YB2YB2YB2YB2YB2YB2YB2YB2YB2YB2YB2YB2YB2YB2YB2YB2YB2YB2YB2YB2YB2b7"YB2YB2YB2YB2YB2YB2YB2YB2YB2YB2YB2YB2YB2YB2YB2YB2YB2b7"YB2b7"YB2YB2YB2YB2b7"YB2b7"YB2b7"YB2YB2YB2YB2YB2YB2YB2b7"YB2YB2YB2YB2YB2YB2YB2YB2b7"b7"YB2YB2YB2YB2YB2b7"YB2YB2YB2b7"b7"YB2YB2YB2YB2YB2YB2YB2YB2YB2YB2YB2YB2YB2YB2YB2YB2YB2YB2YB2YB2YB2YB2YB2YB2YB2YB2YB2YB2YB2YB2YB2YB2YB2YB2YB2YB2YB2YB2YB2YB2YB2YB2YB2YB2YB2YB2YB2YB2YB2YB2YB2YB2YB2YB2YB2YB2YB2YB2YB2YB2YB2YB2YB2YB2YB2YB2YB2YB2YB2b7"YB2YB2YB2b7"YB2b7"YB2YB2YB2YB2YB2YB2YB2YB2b7"YB2YB2YB2YB2YB2YB2YB2YB2YB2YB2YB2YB2YB2YB2YB2YB2YB2YB2YB2YB2YB2b7"b7"YB2YB2YB2b7"YB2YB2b7"YB2b7"YB2YB2b7"YB2YB2b7"YB2YB2YB2YB2YB2YB2YB2b7"YB2b7"YB2YB2YB2YB2YB2b7"YB2YB2YB2YB2YB2YB2b7"YB2b7"YB2YB2YB2YB2YB2YB2YB2YB2YB2YB2YB2b7"YB2b7"YB2YB2YB2b7"YB2YB2YB2YB2YB2YB2b7"YB2YB2YB2YB2YB2YB2b7"YB2YB2YB2YB2YB2b7"b7"YB2b7"YB2YB2YB2YB2b7#YB2YB2YB2b6YB2YB2b7"b7"b6b6b6YB2b6acfe8307dc7a4732359166d24c39f3dec6a63f1534f010557851cf54b342fad826f0d1bd0677785394f1f4eb2cddf763423f703c0941b3e58373e955b01303278955b7fb9b59bf97fe001bd09f89b49c0a9dc5063fb55b1a3d0382980313f0745325c9d4d693e504ee012c5275ad4b10b135a701cbd87c14466d2ea21ea22ee5b0473b5d7c0cd9311d4a90548162e8cf160904476871f7fb749e9624e9b3dfd1a4d5cac960365e774da86d73410c4091d982fdc7ff7e63360e19b19985f1c18b31e95666fedc8e0a421f5c0e213d0916eae85ca4b427512ee124a0d717671a49fae2c45c354729a373934f5104602458dbb38b3b6e61f58ef5b156b7babab74984ffa38ac1ef3be005bff500b78b529c1e164fc50637836ff8648fea127b74f7c48a6074e2e65b3648dd8671574a74cee253d8e2b94866f5410f124a55589232ca8ab01c365777a73a7ca80de3f0a27a174d423ac5ae41e8f3face19ae38fc5fe46d51d3065962408a403480f2c9cad4e7d61fb509c1e4a695274751274969a29a298753f1bc00c6591cf3d8faf2053ac9b0c8d362e71ba2136504ca8cbd8d9e11485398858b54ffc195cc51d31543fc65fea79a8cd901ef95da405ce790e37050ec5003df399fabf518620e220f71c717ff3a03a7218b8650a974dc3ad06b15a63a1d392e01ca8f1dda6573c37a4566ee10b39402df38a2463bc4415193d5ef6e8424527e5f68f1ddefe36a892908600601b1e68c4a2735ff256e9c038aa2594fa2d73b998c0794682d63dffbfff795bea41a7d18665840b1c357e66ff1c89d7e30c5ec54f305c75f16bb3f92204de44599126fd1d756baf94675a8f7a6b800fb92e4b1c0b85d3e9292d064b1b1700bf1d488d4905c64aa23b9e40feda754787fefd6f6aa714052d1a67ef9f598d47bdfa2e21f237c820c4c0e37d013b492292323c1e3179dfc6abf348161b78c1bf5ecd0caa8f452c70caca9a1cdfdd6a6aecf9296fbb3c7d68329013fdc7464e1d696d1aeae9c778d9e06d370d108fad9a29756bad84167491b44d9990613ea2e889857eeb54ffca50d590410846f5c67d2c1885167a447825ab7c35573422c3efa23dec62f5b630ac322ffe658e0ee524203540e297ae96ed03e828d9a433bb7f5a5e93aa83c6f50a6c271c78f9283d6677e8b1060757a1140298ff3905df70edb59ad1083f505681df30dc9dc9963d8ab8aa601f3fa1e6bfc03b799666bf39ebc42d44917a5fb2aaa489beafd63901f72003d41fa08cde68b1c4698499fa9bf9c803cebb27ae748615851519f42dc56ac8747c66f7ea0535fa3a3944554ac1395499be9d63b1cd2341163e5a4de96fce5faf39aa4957943b68e735a3f7905a0461daaeefd36594ba44e8e40960b15cc7a1efc3720834ec96ba0df4a0622aa20c3a80ae48d90d60cfaad5e0bf9c1cfa04beec5b84c2c576530670fe2607d8979811025eef44eedbca03f56bbbdc777f9aeb63c648b52217f479d61542f270189adbeb39b9fc7c24a6f636928035dbd336dd14a9dd19018f04b66e01e82bc12f3edc2f4a1d7f45fa9504936d000ed56c70e37016f0f53e895d4946b68b7030d85d67913d4143a53529f4d5899fb4f8aedbe3dfc6a05fef83bb7743f3d45e8028cccdff4010a5d516396c6087a45529e694e648105b4058d1abc31843792cacd208061fd8e79c6f896bea62820bc52a289ae7f965654d06dc2888bcb098b50eff171b0f3697cda6a432c1da7f6cc13ded862bcad8b0d59a56e9f3d4f39ee6396e27cf4143d24fbd24c91fab7e03c7415c564551858019e0ae5a66ef5638036f18124c18033b3cfe04ba7c4c934d15ebbc747a1f6b1837c81ba9056b1c73e91723282b5fd6103a38218013411d057272b2e27e21f93bef2476ffc5362644cfc669b24f94da5cf44870e2c140ffdfb93e76d595d44345e7ccf669ba2b343f09ce32c08cd8ed04f2c40dc9a0de88daee5f830414a20c03255610ed4c885231e39c9419d359161343b673511ba1640b86791727d9aa4f2f822089d478d0ae3277716c204e3035a6bd0edd50cf3942f99342c7f916c3a41fbda9a5c2af43a627468d4e66fdac13fc9586867a233d22e1bd764d47d70d8db4dab20d8f1e640b5c0677785c1708bdd779fcabd9814ed7f956c3885cd97d9e03c73e1a101352d8b00ee191013b6b6acf00e90c887dd54bea4551de7be16a8224c1758e79ca01692110137ee5cfeccdf8018020571569d1102cf0e5616140671a011363e16bc49eca3c9ffc808f9fcf7569e45f8580d320e2023d2037c8edd2736238e5de192b69aa9310475beb923acfd11c336854c9215496434f87f5e7f54eddcb464a1863e5bfb1b1060bbede58cdca60a720a3244d46844252b030f42190688b6a803a9094344c729c9c220939274e38f0c69ecd28702965b1a8bb876cccf1671adf2dbb2149961d4bc28fcdc5f152d55df952611611976e8d0d4e3cdb9bedbf570b230d8f19f3cfbb58f3342e6fc4407bb0ea24397ca094fb6c014712906425a63d11c226826ed588553756a055bb8c72a73788eadc23c3320d8611b37c1cad422d5c0e152cc0812405816196dd80fc52513879786fac5a43662413187c10593667561db6d41edb4a2ffc845119e86226a815cbacba22d408cb9179a8ebf0fdba78414a9e01b130db5fbf78dc5d1c7fd48c5d49dcc7ccca4aaff9363e60d792c2c3db5c90c6237afd9f7eb482e6df68ee19d5aed1f545fd3812ffa3ebf557b144b9c20b901e9321c1802b8a79af80a373ef30f7f7c83e1ce5b6c970f684e1ccf66d2ff332f4b470c35e4769607916f87e6e713a1b6664c9d5b2ab179a2e524366c10dff75da4c5d778f37ef1e709f2803745fd3b4ab46eb2bdcdee812d1bf34f6e17863dea22a01ada13f249598d9a9cce396f94fb801b6b1a3b88200e4b074de5e0956b1c87bdd0717c0e9a71fcd8ede3252c5bda4b9059bed4470ad322edb985e2bcd4ec39ee3b6a97f043a0e302dece16edcef05deaa7e2ba005a99b916a5ef1647508c1d8a4fcc431a19ba47b1bfa39c0500c72f56083df0b8174870b3844bc638e4e6bfadbde6764b246363e81feaf3a825b897b0b98e0665d63ebc7871df6c33330dc0c9ee3ffb938d01c6d111887ecbdf078b339e85d1263ee4b850c2f9b4ce53fb66532cccd31a638eaaa17796e8a8f8f93cb2fa30c62478b9d240775ce0a119369277182029eb1b7b740e4fd72bf538864adac151808c8647715e83f43877fb68ae3e92a56f1bd3080b3b16113ebb9ef3f1212a2e6edfe76e0908276d20f3693ec87c3e8919ea57a742d0aae34b907cfabee8f8eaa7b198579d5701f52e441fa52e48ef96c7d47254ce770e68a65813d9d7986352fdd3c399cff29b81e23c912caec4287b3563f7710dc615ff8f2c736da642d36e636a76b64d7231e424150cf347af1af7810260d618d4a3300638e986805c2d05c34704836fb3e5136233f64edd47aaf67534ac46648820710a34be916dc1c73fc80aadae51d7611849015a41fa5f14593053ca11739980199d65d76def3384bbd738b78ba788a7fdf72cd88bfa1613e0af2ffeddc6b07703a28cf2ba481ab1a43c671d7a446fe91fa9c49240821afcb84a0bf7392da61c5fb0f5593f097302389b478a43c901c68462a9ab0821d2c80b05443f41dfa1d13775d8bd4ceabe53aeeb8d810dfbf08ee5ae0d39fbc3f71f0059b3d95aac6fdb63b64c711839509c630575a2f774ce1deb04214b5d6d67e8ec33cb82e7c44946b1a29465fbf5b9c62a7872ab4399c776921547cf13af74c3b13f412af9efc8f431293e1a0fa9a7319d648739a2a3d23debd527816d961fda688e8dc3ec9be61da9b45f4d2cee0a0486369fac7b3980065d03fb41d54c9e4a928be7699eec6bde468978fc1fef35dc18cfc1ba057353c26bae1d711b4f8c0d4ea8374cbca0547a30121584642858ef601ce276cf089174311b182d070d584795d30626101436fedde2d6c743cc1dfc432487df04ed3b18e153f0c4d6c7784bd8e3bf2f7e70774da921ce1b40682d6bf82bffbb1e941695a300c65c4333df7966270fc8a1011356beeebfd4d780f28bf803894126fa5e4cdefed5b676f1e0d7c1baae4b42d09f32a8e60160e098908e9de3523f6b45d8b0a0242963ad2a4d5a4fee910485bc7e7fc9ca442cca8282b3a961eb3eebb8b252ee2aa5f97eb97675a14c1317b95a0ce6f83abc6dc6b556df4cd5d58f061e9f481cd176e4990928b3a4a9caff5248f331fe767e750a6c74189fd924d47478156fdf1609d9c983d346cff77eeee7fb2d89f5120c4d982c69bde2ef7f7c77d7b3005a3b5648cb6df0a2bfc53c29693b48db816bb92d944dc040a412a45df905986d0f46db45bec6dc7bd5623926c4f85101eb15f52aa2fe3f7ebb188ebe8922d00a6f8023ebc2515364e25d707c4c78d69f9b330b7744785d6ec976c91b32670eb935ef1927688eff704e469d69def6a736619a2b962726ad531620bb01743f72f34528e7b7146029c7d63f1d348d54aeb87a59a376df34e13f44ee1a126cc57de6ccb9a876359020258044d9a8e9cf2c18b43f72e0ea6c2ff8d12809def96b00b4d1cf2c47e793a5e798959ece236ba2ea493e034175152147802eb5e4e2dcafb2de207a9508a04d41c202d9666027a4e30c99fcb2450a4dc76a4f7f04391ed718b58da9b673ccdfd64fbbc40fbbb9bad78015972c2d08e4f48ef49704d0bca63704d51f5c18a94b48a98ba26b8430e72ff2e0271a03d893507b68dd7e3ace16d5d5d1f702cd9bd0480a70893eba489d297ebc06ba184c0cf3c3af70b9e13adeed42efffab787c84c5b2ff891508ddde27502c9635903d35c50ac13ccdc9b0eb5532620f1948bf96c08d6b72b6f9561fad881248dd5597603b583f62a26a8971e6ca07d4c1defd8b71df49ea6e6adb703ca635474d9bdc87e9a1ba7626edb5974ad3a66bd9b913604af43d5556a5ae3cd1147430e61cfec4ceafd33a917ab5166c4886cedad6ec30675d8cd6f8ce4be11b4b82d97d7430200eb08b0574360793e54a8b18226744cd59ec878db33df022d490e8797ab3ee39ba2614ac0d2053fce7c5504611a505c257fdbfde913bf21a3e877b74e8c3e4882b3cb0c9c3651a2b3f6058d27f1b59e388c1899d4ccc26cb83b413d6e790e56830dd686240582241b284fbcd6a2494ede1e4f0a23f5d81f8234e1d990821ae7ea07f5c08cfb9e156621d5f55279fe6270f514c6a897f05c82f7e9eb61967e8d3c3ce913c5f558811444a46d9f8114071703fda5397908ab78571e6c44e1c9e646113956648ccd100a108c3233ee2199716e4dcc6605b20e9463e21affdf2e30c4269a43c45efd40e75d39d8e0be71f6f6c350592cdf35fb6d828ec27ef33475fadfdb03263a15ddfba774d83e80a26846ece590b488bbd53cb1b921713d39030e46e1d91051bf6af0ebb88e33bb4eb4d6bf239f097b333be198ac10a31ec4962953d897d411ff56bf7247a8a2372181c31c9038ec68f5db385941dd23e4d30523feaaf4fb984b44bdda0ab574b496429e8d79fb38c12b3dc0a67098dfab0bbc6afee8cde13ac7694445277db432fc47f7f75ccc354d7025d1e3e32310599a48c06c125e93caca0f420a27f25048356dbdd2232fe7487a7b27f4974cd593d9680a76e547ecfac4fd9f13e25c724f56d6490432383de507239545bcb2b8d032e43e469ab1f03b8f377d1ee2b9088dac3c184f07b67408b70aa1703ac57477624aba47a68a8d2d49206e21315024082c0de23d87bce0b2bdd4396dc0867fdb44511703661b0f9d78f5cb0ea9b70246cdb6c150e50f0a47dda4586f609218b481f88f351ed0fc3c1aa2a5ad2f1ca9cdbcf37a633712cc0452b107ed63f6a4cf10d671111681886c2416e6e7ee3899b5fb935f492e0c1a3bda41972da799f5b1adab4ff6f97be0a336c79c1e9d574d8d70e97fb14f1cf2a388814ff81d0ce9ab7d2277377b88f15c398e956342a936fdabcb944ae5ff48bbb3b3c3cbbaf458428a2d862367ea194766865c174930ea7d9c51ede95dbac50468b88154c2372a7984c2c9463b876b7de07572c0a7ec2d65b4911eb7e0b22e0927b4d13a41206d86c6a672913bb3da8e9f5bf2c055c04ca5a089ab59e0a9d6759aa11eb8ff3ca04bb124481f0b1b6ae9cd0384c3842ce01457a08b82e6758ffb096456a02e3142f2e7149e07c2c0db1c562f52093eb18e72c1af7b8079c0f4521f35981b755bd678ae74f40af1b72c99ab885dbea5b007075214ce557851d11a4547006ffbab3e4cf8e71f55a025d18d20122bba4cd975f4b5f2c27cd82029189ad152430bef9acca3117f986eb9b10a5ff9a22ee5422d7596d741367339a4c71781f2f99d7083dac5a195a54d16d5f0fd4903f5574fc92b72bc9d9a873da897f74b9337fca187d9c2aa7cee2d41fb690fc6fac6e1798089416f3539f752538d141657ca2517b29839bd0dfc5c5500494461d25501608e3d2ebd1a423e38f8f03d4505e38881fb1abda1b3ea6ca11a9e9d9734dd857e681ddf431a3b0ed46acccebf59c0d50275fa8e4515f848a863f174ab7c9840af12510278335b1f4299c0b9bb2de461bf6a7e690f69f10d5e2b0faae0124b501cdcc020fe1145f4742e5264e96cb2376b9e5f0ca0ba8080e85d9f76e59d0dffe39aa0bbf7680427c65413b43d43fef79e07c8f16a7d980d369bcb738e4ae95e0d15c01a7e18e9e73e73370ad22d869368d9aedac2cff32699068a913179b959d18d3051aac7f2b9e3abc31102613ba6c49f690e434ebb5d3da76dfecd3ed809642dfd59dab8bc119960478e99a405cdfed448f003b841b0c81f9d0797f6a59034afc603b0ff8f738b7cc2d4a8b85b690aad1d7c2b67d71631c4fca03bd6a8980c309edb0b0c2b752b4e83856020df89a1e25b4ba232ab4f25e0aa3575bea7a01dfe509b5641048876d0e94e000fe8e9fe3763a93c95b5b86455c07b3b5c9c1f0340b035805bca2fad6b2c64377de3328d94957ec3304a28ee8c475af2387728eb1884358f461af9d9e32e775ad35973060526213d78c52017b8e464e9200f2777625561661684e9f889275cc56d8a7fe0963e89869841c231bf4b6d1cfe1e4b874aa82fe7a94945c3e662cf3fa1923ea496ab101cc6a05addf6933aee905eec9cbeaaf5f2f6719497163a69fc266c232425249c3aa705702ea01c22dc017d155fef4aed1cc2c3c255552387d30c32acd48058cada73cd69e45e90a0556a27623a911bf6c9bc81cb3dfcbc9ec82dce28e4af7f8255ea5dad7bcf82ea0701a620e38426aa3f127f5aa9fd9d2b55bc2f194c63645633b3b586908defde83a4bcf4616821bcc13c7c62c48cafced032a8454fc2acf8e69b54bfc2cfef1e7a12b66102a57f5a7e9796a43590306326cfb0d20c7bd764456a24260ab27f7951821bfa8e574915f98917c7446716f4bb681a5fe4976809be48aa1a4565f0e3ae9a7d5a458333b0692887978887de4b9a385d91d7a803415f3649e4afd6553437ebd9249d16e31ae2aeed73c983cafa3cab835cc9829343e5ccefa4f1190506d0c3b5af4a22828b8401d1faa505c4378f17eb8efd69d03431ae37b02099f0ab143624ca3972ad327e89b4fa7070b1c3d85128b96a272509a97c0fdfeb8e85a634eeb4ffb6a6df4246f323f918057e9b8beb83eb08476da7c3c0708876403bb9ed1fa48ad93f3881a05a1f0d8120fef7daf700aabd4df1bc640de001c4288fe71afe701df680173b8b14454dc0634060c9ef45831ee3198cced4029440b0db631cf35d0ad782125f1dc35b01dcce0a45d8f9385e6d658d0bd10724e3489a7bb0970a5869aef0356fd0c23da4bd69bfc0126d4be7f0748a72e09f0858030aafb5459f8297d6851aa6a8b651275565d9faa451332d04af50713c043562b149879be48d74888c3004815f29a17666c273d6ff30b59bab4f6f766981aede868b67afb55d72785b94752ac287048ff96b665bfa6cb8e5e408e1c4d3d061f22f566763c0ff0a6e7876ae8d8bc3392f6a1b91436d232df98f696116117d0dd22dd8caf19d6c9d240af6ecc7b212d29fa1d5412aaf00f5dbdce1420ade69c24532fbbf367e144102c20d9d7220e689816af973eafe12e780c916c6a5e1948f60b234613b4bcffc4c4c688301bd7f9d3c6c5c1a3451ac976774ab9b339c4c6da38428080d1bc8b9e6c4f1620d3a2c2c95737890b266797769e94817e36205743eeb063c91a3b7c66683e8a97e448f67665cd11f43dc5ac07c58213d9c22f36354e3b8ee14cb98d51d73c7c74bd75775f10dc3ef0fc433838b84bc4973909d25abe076c4b0727d42cc3d2a7e94ca9435f7b484034b163a2f38abfae6c7fa2f9eb4dcc5cd3eb8951a618b75267f27377b114577d8743166f778ed55baa21c036356e398ba775ef546cd7b0d9155fedb2b4bb1156ecb7ac8a1330bab1a48e80fb06a9122a302f2f3593ac3951e4408c7d1404360a031baa0380617ba1dd6dd64518ccee19cdcf8218258d89c4851b54ebbb4d6845101709b506adc7b46462fabcb6a45f927add3fa3e515a2c70094b84ddb7da7215d64506e5edb6a9aba52173d48a04f83f8085d651c80297e90004cdd5da90637801aeefc9141bf214262aab40cd8666d793d75de858bf496e698d6e23d1363e4c9707c370a9279f504c3a500a9ada8e0ec3585a1eddaf2186d2b32446cd52a0a5e8000ddf594b77acd7f3b3e5135bd3bea6ad32b93b134e642ba7288765d06e015eef58a57519279bdc80fe8b12963fe489f1eabd51399649cc0102803dd616689ef831a2224afe53d48c013d5e0c38234f5ae691e94bf11bc8f42b173a954b2b140c47e5af1d8cdcbc3551e16fe5286a215f90f3f2bcd731dee968b781da3a20520921b3ac1951ec5398c34e4a7ab25f5908cfc026a0a33430b1aa9ac6690dc6522a0cd5b2b74347fce4fb482f94fd37446c39d9c564ecdab158b228fc07099e65d6242fce57942af7d71590f56cb0c7eebedb123d2311773d7a7d19c1e6c13921bb8fd17208927564bb317863bb42a7d3ee7c4cd5632e38b7aaba303850ccb0e09887d224219c8cf13e947910346042d33641dd1b412b247f8d6c3399f1ced7a7e69460dbf52802a76e0c4f68dcd5e2b5b88bcbc683d1e76a66c8fb3f039f40b0bb977964eeb4304eb5798136dffacc3f7e57834f57fb79095c8651fb1124937b842b7f4ef92cbc3c6afbbfaeed3419e98cfb40476b0f364e21a0b5aa862eb6fd0a93d25b31f4e976b32bb0bd3c9add6beffdfda8d5547a571d713a63f790d19c78ab2b17aa3d5c7ffe159f116341a76ad63072dceef85132886647ad08b0e1da024d18ce1b51f3bba4c052fdc99b21a4e3e86c101399ac904eaed2f22c1a78f1416b03296f929929e998b5a3647975ed4891b4a9bca254954de9cfe34cad7e538442ade20a18778402175f89ce34e5e8934c5c1a591ca3eafd1a7045898c404a95b93eeb374466a1278c44625b8d17910200c4cf148ee8cc7120a09d29749542bf6603d44c8a9df5d97183ca4c7b5f60a7baf958a7a0b46bf484518b9e49d56bc98ef8965c5433bd7c64f264f9fcc6db26fd1bec9cbaea4a54975b96e1f64c0d522b8e7e6ebe0de06273895a4a827df806c79601253083ba75af7799d1d1616c0c5fb2d779f5c1d02ce20b249f018c3904308f8e3b1e1df81640977452eadd455df0c66f82fb95669337ad36a9020093f661fc3ed36924e5f0a7f15cfa676f850b611f0cd3c6f8dc4420beb514de10de3f84b900cb03cf074e6f9df35b67047125c5708123b13aaa954bb97b4c9650e0e0dbe05b39a8aabd846b34ec8a4da50748d8507c72ae29cf27fc4f3ad3e0e20fee012834d4652f2aff391d9d7499c2c86f64ec0407bc4f150853331bb984a6c554bfb0c972580b898dbc77740be02889f3f342db84cc758c1d166742cd154ffdc91ec26f24504befa92ad91d2c04721ec1fd1134474eda4bf6447120045bf537d65f7cd80e5e269672f09fc37bca01b5392d34282693bf5b85df99f958a8486145c909c2108aaf1bbd5b448f91c0bb2553070da5e4e1b38661b76aa876575db71635a444af0ace4022047c011aa37336a466ddddde5a6f8751644dfd88665be99b01f129e7f91d3ce8821b0d2c044a9e84d35e6ef6a5b56070831e41666e64f55376e80dde525d9d62235fd6e6c93a674b8492e6a036e22c23b015200980e34812fc3ca5ee8936e4adfa58188963c97d72d4752b9ca152c49fcd23fed716244ce3fd3935a46e7b4a1fb7c12f914b058e46d31ac921f7ce2a049203a28ffd6e21c6b478cfdb4975342d44c6257ba170615d1df7ce5aafc3931cc60b5d4ab3e9c816771eb9816d7bb1271b69136d2509bffc57090b6d8aba4b41c757a4168e2cdb5d15bd6c022e74cfd751a11ac3f8bed30392782a9d9c691a06d6338e46d9f9a0d656f3a9c17fd903bdda0f54a9f08dd535fd051ddb1cc2ea77f8ef8dfcbf3caedd63a5558e0c330326f20590a2b2ab54acbc74c4230289636bd03c1f6c33b8b309b8a9b5718e6d490a964a7e431f911a947a616d47d4d7fbc2da2182d2ea4abaa6fc437a2974174c5204c6bdb0e40cc6b59dfd33bd020d9c2dd660eda8a5d1ef153e73b37d4ddac7ff0ba9e4966b2729a70251f868f2b124f0c2cc5b53d5d687c1f1419fb81eca03f8ad1e923a64d0fc3ba9e69017855b459b8396768871be15fce8853900437445ee4913bba0c9c3d6af08e6313f3deb9cb916e93445bb4219f4060fb2b280628f145a9c9593816cd2f31ce690e3bb1d4538e69b1e2309f0a754cc0e156fdab3ed9177e9a0e65e39e968649862ffed4a9db4afdc831b23b409ac2628f6d244d620ca539447e71e2554b691059b9ebd8ce74276818c5436a9b58e2ae27a795c13ccbd01ce5644922a5df884cc3c3de4e972a585bd806aa5d600eb466743c6ead15ca60ab77e79f15579eabc24920dfdab5ae6363519fa8d305b52c1dc6e66b2402dfb6ec1cd54967f1d5cf1e7ecef81e876277d78767f87bcc4641b02eea1e015454cda4f124e65eacad4b2a817bcc88549edce913702c43629c60e0ccffb47d22f17bd202d909931a9bf0ebe5a6619a2ecbdf061fa05ce0c3d292094f80e58ac981fa9d3b25e7a826cf0f9c8196248823b59347dab04a7da3d2c56a2e998da7420aa534cd42ba9c483abb4eed144265c2b3a160843930e0a30a0418db9a58b4f31086f1af91193c9285ae18ef1d93441132a4ad88cf7d4297bb1e5110b605413bea62a6bcd7da79e85c2c861b49f4e9407cf427b543f3e68290cad5fbbba0ecf8284fa238a52072108e3368c0632f8c90816b41dc91b79265e9213e1ac5300214ebe681b53b6b865fbac807ee85bee53eb18b17b6421ad1b9e5668d6d65cb9864518412cab447da239a81f2a67d01e0bf8975f535adfc525e230bdb66f4ba4d79d02386ea716d3b01eba5b734533a171f043a20a4790f6d562cc0ff7a5359e5830ba1d126c59eed1614620b4b5a7a7cac5baf3aef0dbf3180918315deb7dc433fa0d4f388d7a4209fa430783cc9d80373ab88bfd72ec0bce29b40b11481ed84f3e77fe0444e7788c43a6be68b3b58c9a6db6221a6cf99f91ef4c2b58e9179a5844f8736cb5320b190bcea14c1b5f038ba0bc4e617878fde1bd0ab875abe8cddc4008289baa7237daa2fd8d9629aec1b4fe171dd7d2757850b96570203482c5cc422c1ce2a8dd72352c39c8a728f93dc8a719a29ab1ce9caf168bfdea718fa900283448395de5791b237683df10caf0b453cf4ed314f81115cee9f9da92a61ba81d991c6a9031a390d576c2addeb5ebe087f9f38a753c6a155332ca1b7894e00f3f7ea5cfe38b4ca0cb2d5e3f69b025c40137e7c0e408cbed4d0275e0739d01b1a529fc97249f9ef5e671754f0e518fd63d6906918018a204a6a9409586135ff5218420dc6e1389fcdae1cfe072750fd4478a839461446f52a967d3e84913fa21b642c220f2338878720a4388accd7a5d185a96d7fd055f6cb16d53c850699977b228d2b3428a2753a4e1e1f4919c1f4a5003d427210504173ccf9d9a0cbe9feaee1c9a34968c41a8af9ee28681f53c38c70b918f44a28d7a5c335b6ef2cc18539b66a0028448d46fe155e9a1dd33faf12b7b7e70febc6e7a3007e53f7bde5668c57adf4df64cae9e5dfc6596384533792b2a45a1639d4025eab3175b5dede317d96577636ac1732ffa807a928c411c1848a22eb3025e87e76a8d5b5f4e4c081a1800ac7154b7d2bf5966392d1d8cd2e1a108c453cb9c2c4d8f589e9134eb8669fada7bf6f86c9f7d65795e2b9079955648d06955825a256f5e7b2f064208249719e075bf521610b90016902de6d9ea0d8ec43b7031b1c7c706c25786c3783570a3a3e5efb8e14e70950229c2435d26da8ce2d3fc43c5ad1a6b28183f605213c8987d9fe15dd17d57876dbc958210ec3ed0213306c5bc5b9134a43ba6361061875b2f331c355b1203942639bf6d02db1d5ece3a159bcc665a42771eb09e631fe8d9bed5d4db53c28b2482df381739a0e4e1cee1924d6b16299f37a4788102dd547a5cf7b63445b33f49d3a2bc199c3a14c76a0242dff88ce4277e52348d36a611fa3c472d6d277604f605c65c2ce2d8a9b74279c671db93cad65e0d808a0326c764641cff52ab9000e1691bf4894c2fbb39e70c5462c78dd7645cbc017e692b1a1ba2edb0e1a19e9a474433af9e0b8ff184f082c2ce53785c06753150648f95aaa9fd29babcf0f01376a0132a91e9cfc820bb65417813782f973b25b854fe00595e98d1df270726e681a949dc645941652debdf96bd6cf9e3e9c2819c51ee2470413d1ea22d45066e6a13f06330c017047e2755232b6f8f9fb664c1462056175f956d9377bedd150e8c45fb89a39ef4463b63686c4a12088910ed3d2fd24df3d2f7cd3164bc8457c782a8e0058b7f4adf228a1d3eeba5fe0795f45cd92a09b48c02259ef743bacbbe86f890cb0c0725c0c03fb56886a74e5a8752672edadd93637f6dc7feb8a50427ea94f9ac5d1ed56dc2dae0fad67ffdfe0aa46cb3221202a9f2582e39ecf6d5ad66626cdfd70f409859521d683467300eca7804860fc8679f26f68001bfb2803fe519c3c1cd2f1e37787be9654157d71fdee53a1e0cd01568aba2f152f2e1e4fbb849e84d740e3b031e819fbfa223057960f15226fc9e3b9ac3c394474452181a89af099ad2d5a81df9ce9dbaf9230378a76dc44703d281b0605b6c4a2774e8a8a1cf37fec732a571d68c395cd59d4c7b64f4e449b3f2d0e7d9883765b5dcac020fbcaeb2ac599176d18db02550b1f8a9bec47fcd5f7f529d5956e15da2d0d32511879bdf613d39fb22fbc9b44980d8e10f6c1d9da6f5d747b9e91e25745685b1d3e37a2e26f3a16a3a94c5b4f2702980a53165715f789a6c41c6f32046a8c38a88544d498ec38645bbfd7b325793d13235e4019216126592b42596b515fceed6bbaf1492f83559f5d84e49c516753d918103d7e49332302666ecd19c69f413f94ac06f037f20e13dcf2160554bfe7e6bec2627271c0cdc5549f889ddfa3139c758dff222ef0c55737d782f85db149aace5a52336dc5a717931d24372a59cc59be22c5ea421087a8cfedc6dae181703c7012fbbb75152ecd634b5ebbacfaa2c7d31a658c5fffadde6d2d246480aa45fef03d1967624c3c1a80ba430cc28553c370eda593fa76f7aec394cf6430e3041690d6ae2e6583b80161c6a0f920c6b714fc9717b0f6688d663441e47d739a813250b48a835362aaf025a42468dfc75916a7468e0d255d4d6c0b1e2ed9e1cb4e380c924cd377734d469d95912b343fed5b323129bf7ca243a4827471786cde3e50e1d5ae9d944543cdea28556382613bece12af2d1d5d56ab66eca2ea41cbdddc6c6b5598ab55dca24eed7e6d2d629ea701b6aff7e697784eae3d5d4b49fd31c1282a3045ce267c9caa826099783039d1b624b2bd59eadbf97a6f1edaecd3cc193a1693122c1dfa75e9048944a0b0ac4ca172ab68b02633e22d3ee453b83c85a0099e5d674f56af98efdc91a592c812c3c8e4affbb3ff9ea816b647c2218697c82061f7d69862e864f2b08d50bf5ebcd05357f9f32ade444bfbb5da30ea31b6084f8f880c041aa2df690cda6252c9a79fb5c2243225d768c87ac3301118ca24b95cf958b523f8bcd62d2ae3d55469f04c8202c1a16117a485532086a9e958439aa30c76da6fa28b5ed850c2e2a709b6a3184a117cd3605c28a51bcabc2a5dd87dfee03cff51a50999236d16d6d1c35d773fd5e6e7de0983178d0215e6200f60c4e2e5d458cb6ec00b8651f9844fdbec63588a44f36bc68012fcef239840f71f5b31bf4ceb701be7376657ee506aca80e039d74d229a9ec2065fedf3dbc6710ff5e4fb15ef5b6a7c4aacda3a8dbe8d195d56ded67d54ee5736f3e09e1586dc79c863a4e645834e0a1c928ac8e9ba19759ee953887622a9f0940e2ecc59c4f542037e3b8ddd7482c6b916a75b10c00e06ce66fb99deb25457e8c2e50d6cb8f492bd9ac1a93cafac1e0b83bc6fc115d1d67ad082e27cca7dddc06f0c5005860ba1e96dbafa3abeca4734680ce91e3be2774a0c04c328a39bb81cdccedaa59557b4e31047443364d2129fda52e962e483dd71eb1567b87111b092850b58dfa228beb663a1a9f5c9d0ce340e81495d7759d48b8e522eacfd14d4ab3cc893b61a9c8891c1c61034d88e55cc680553fd1006ca4f74f8fe55ba3bfb78cb23b14d99683d8cb3c5b0b8b3a3092abeff27fa24c6d0c79b54ff41629b7e409fed82d72d0b5e5c38ab984bfef8d208ce93d487278b96593d177c2d545ea003d1271448bf5d16233a25043df47bb5c3f1dc2c0ed08d00a8ced96e6ea56e440ad8be2c0f64bb0f99b030f9675fb5d9f8363395824da52267c471ab5734632db521ffdac885c14f6e7de36b7daa0b246e48121746ba800022994a3f476f1674f3cf98f2a1677144783fa6e3b58a3b9963e3152d74d2388dfade8eacf8c2b7d7810f0e085c2b9ba331462f69c147a0636a0ac46afc187da6b996426d3062b5ddcb46d34a7b79badb8e5cba91ce4af3048cf97c8fe22cf17d50679daa513b681b02e5c006203b438aeefa11d8907b0c42d9185e2c01e9f0a1ccdab0411ec11739b47998606bd6f0c70b90e06ae9198a71a893476a3ec9e50ab1608eec40795255a5a6efbd568518bd9a67dc6472b78388498c6f5c9c2a4e541aeac3b8d29004feaa3cf3e00ae080a464127a3ac87e5b443f23e97cbd6d0671fdcd8511ca3bf333bb26683863e41da49d295c1070c4ca9b3a8e6ea25d47ce51a2b046645d478548383b5b8037dfd219a6651e7464e21a7007dcc510212c94dc5260dcd58ec06d96d89772c155ff7894818cff4e9fad46ec7a0f159d3e47e9b28e286a2a0e396cd70c2d39a157d5f9339d7221686303adc260736c65a42a5c86b1d51d6fea6ff25391d7206e300db15e2aa3be8cc736f75dfe563fb81e718a75317243fe652de03d4a7d62b6a7bfbf5caf97ee049b8fd023c5aea0c6da7fe601d59509eba10bb57c4880e797a6f9f84fbeb56cf6878c6ed2285b102a9aa12a26e50274906c0c8cf2208b311a5a5398b4723bcb0fd4da9e0133858e132ee62fbaba76c7268e7f40d4b087fc837c8b04dd312f3f309290a0b1f5dc48f27b6d480876d0d42257e8fe509cddf968cb6ff73580b5153b8fbb052861b474591006a7ffab39cd2f22581fcbbfdcc73074ed94f8e33856160c73716180af5450d4ea98b5794e075741efeb1323d42807cf6d0fdb0b8a99a3609069250873a28473688e1463e749a30bbdca964549ffe8585dfecf0219bad5377f446bbeebc5a7193ec3150aabe62ac70c4d4e24d4a643136aef8013a7a1257ae9f75bd54df0c7ae22d7ef3556d854f9583d9f493b33511fe956e2a31c591c4e433b4d0a6cd89d3993d89c9ad6bcd88264af5944261607fccc841db53f97a4d7b859535bbcecab6a014bbc17377e497910caad3cacdf2475f61cc97afcc277a6d578b6f27ba885ff08cae5a01b799b53301135abc339b13d4c96c25ee493b3ac8ceedf31331ba5b8818f5db59de0a14d5119aa8ccd976239499166f52264d3fba86d15de99484e13e38cc44b1c3c69b1e6b80348cfd7688be398a027b64be0afa64a40a69385e12c25935e3436039bb1d400795869d823867c245e558dcc59f5cf487097662cd317f17f14708cecdc2a0cf591bcc153f7f81c4d115faf8a90f026d9426f1f9e734d0956a016ae81af4c5e4c30aa8532566a90a70130e662fa362b50408021a1fafcf1ce6d826a99bbb305992a117fe1abeab11af6103ee1aa491f373d79d46f93d97dccd8a738b0d60931408cc7c9aa3d61ed8c79887ef2193ebae5552dd990706dadd2242ab3b101d3a7e21fa046fdd7d745b0e0df9910cb1c55ee94f0df46e437358825c3f12d54709d09878815c2e21380ab8852d1ffb5ceab33fc07d60dc2e48622f4eb38de33a49acd1e00a173584de6debd3cc19b56c772bb4f925c84a3c906e886551addfec651cae18c0f27f74bca1172a0db1585d55ded8fdc7e86c1d0f51413e02ded4cfd5fa692341bfb4e28671bca9d15503509816ec8248c8afa18e18b532ec6bd8d0327562592f66236eacd6ab6415b4ebf25773e77031892345edff215c07c581cc20767d1f7e8b22cebdbbc90c9ebaa2ce156e3e216257a3b10cb691d0de8702177dc582bf586b0bf1d668d15e64479118d90ce17a3029095996787734743ddff445f867cbfab66bef35d903540e0e9a42b6127f67cb80c766ec91308725ae7126ef2f7abc653c07d15c755c5c0999a6aa734df40ec9b96cc91e3e4e99bc34c37a05690a77351b153b4f4716df2a2b78986c78b9fcea245968279b86abcc8497b9c8f45b672c367f03b29cc278879a09c1c2ae91e640ae75ba736e03c1233e798b290a27de7fec189e675aa2233ab2836be28f8d97d008cbd0b90755448a405e7724dd7924fefe1ac4f0645ed62762a39cf9fa5cc98b141a2a6df9679b42fd60e175cfc1aa32c1ef57d5b35fca73e3dfc67afb89433c0349c919b843246e8a4e72f5cbaf2a8092f7f6086222b9f90444082696cea7c3a9979c929d31455bfa53133233a0a872954461a522d1c3ff753b484894ec8c2ba41ab78b257dbea1228b8f6be406eb9347eab500ef9166e888983e05dee92aad8dc4720908a3343f6bb8714b602ab58ccac04304d310a9970e0ff538d31c8f329012c58a93981f47b198a27650abd31081d1e6712ca97c9cc5110284a2188753f73d8c6110bed2e12034665c356827d83bc364550cfc201421480cbbb9d950bf26e88b71d9075517368cd37ec131132e9c06c52e064a1041abe23031c630be5597f9abe3105f70bd07541f9d59f50dd23fd5f693d620438071b2d8cefa90516035774e52f73553e788cbe2aa6fb39895a2508cb167c6424a8fa1cddb57d4ebce71b0ce38aef8d495845343f7544755edc88c0509bdc8993129a4ccf6ad492bf32283bf00700cd1b2452a9815120c12c53cb62604b747af773f9b2b2ccf9b608454ee7b6008a6e8bc4fd7549ad12048012818b9cbcd09bd3dce879468cbb2b5f44f15861adff603e5938275122dca24e7f2f54de2e8bb35a998bb6bad1ba38a30778aa9bea224617d6cb6d2cf4068dee480268ddb99320a85234684e76a2fb63269c402bd59cc935ece5a526a1aafe24844b0c4b13932a16af0b3b81ede1a0b1fe80da8e9024761745291cbb8269af6527846d42cc81aebd88456a130280626b78f675466cd6a47116796c5975de93f802d53ef202e89d5b49954cab8bc8efd8465fdd467f1fcf38ae4026896bcdf2230f2069a74eb4dfee228cff6a07e68ade91a24c6f58f5d524effc2b18d601bc16512771bda9b267cfc751e372b0a2921721503db7d6eff338aac067bbd0592b834cbb166718778fb10e4a1242d9c9324dcc25407c5ed35ee4dc0df819abc98c4e34f88ec29958cbfe543096b7c980e93cca0757583e732fa079250b4a6111f3cb97d2d256a85c8a4b8f87780200b23434801ed065657644e2de2d20b6a2ba87a4d6cc8d02cd3b5cbd94fef18c716a51706b61282d96a6bfe7eb4e8f0b9a451ca7abd1abb4ce24706d6d856ec72ac382f3a8ef1b6df2fc0c97b0e49f112b4e45877159437ccfe27a7827217849d190cc5f6c369ac8374889a87a67dbd2dfecce0df4c43241807a48430bcc06ee13fa3448f5072e98ddf1952ee6e68bd18ce17f840cf85e0d1869e229f7551c615b1db661bc1bc00f1e1b471b7c21fc8f244c79cf51455eab04e46632c8e38b53965aff67fbbe94659992da59d7874757d6ce467db46ae287c88bda03b835a4ba19efe1f02c56eba2f806090a9c795af901ef3569c459faa6a304dae96f521a97003040c904ec3496f8df98e7c16498ee73e020683e7091c2eeea10ef84b14bcb0d6cf6d9c5e918a870b670159bd0637e6aee0dd84e7093d81547e419ca9cc0227ee7543da3d628c7001706febe66641f37c96af1f73cfd3fbffe87c9a5b316115b85dafeed5b887cd97de75a9123392a9dc9cd3515fbf66e0d1db054529a63ea005b69f272b24301f4d88428287ac38b88d8c363e1671076df490282e6d507d9a3e5c6e8ef8a91c843c11c1e05b42f136756852c3872cb41797519f2bfdcce7d2a8def2336c4bf1768d97e719e1faed47b594a7fb5451712be4f689111d8a290f10876197b4621ad4d8177ba86e39e3d436ac2e9e3c8cfda5e2284bcff0a5a13aa55eeacf11965bf9e297ac3fa0f0c9528a2d4026af6d3faff63b2898e9a629a3a85ffa479a50d08f2b1133cd700d142d3946d28b2e4315dd687eacffd67241147a91b00c273acd8c05bc43532c813decf3c1048e000416baf425346a29ec1716929f098d48700c52c0d5b7735d102dcb69426abcd9961d884d265323529c291ed5440e261b6825e5610c3c211d944b2a9013ad393ebe9bf2d742342e77d19388c5b68af96d385d87e34ef12bd115a00b308a2bd75d8f7a077c3e25b24098eca9c3b636c57cc2da96f5535692b1d669d4f3f473560050d341950aa66aa25c625564420f63af99c1749061d24024cadc050e787a4e2b3cc0698c5e7c2fd5ed711df783fab87519033a34adac7228f2665da45cb56209358a5eaea32c552f8643994bd23d607702eefbec070e7b69cf6bff78dd8eac7fe5c5de948c69ab337b0c33a9a247ffd14d75643e87f31e3236a1f69b07224ada342c8a56b6be76e97e7cdefed05d1bec8274d78356e74a4c6e9d004d995203020c695a0638dfceb528f999ba5e5eaa689e5456ba50e11bec411f1539b3713678bdd3dfc0ac58bcb52ca537644740bf3c268ce2496a777ecc386cf0bf9d4cf952481c069b405fc1e9d0d8f20dc338e101d52f111172d3a1e2806e7fa3273dad3034d38f3ffde91218bfff012d69df9ecabdca88771558b12a5552fd1704a6fcc2c2830d6b20ee58f4d2863a2994a9f31a15db835ca9355ddafc9a0a74fbb1167628fc84980dafd71bd0c9a55e26ec121b9a6043323d92adabf8986fb6ab8a0782f0297e613d886a9fbdbebae312feaf12cfad5d06bd7f27e3822c5ebd373509c0ba7dd6ccac953ae98742d265623d7c6622d862b631ee3370f03cd8b0e13d2040926dfe33e7b65e71f11fe998bdeb304532777649bc5cc9539c49662f9c4bc674d5591f88e2c323777bb732548b3e68e70c2b0f2d02dfbea44dcd05cbfe49863daa592db5c79a22d029deca444cc32f2a30cffc3944b37356791961992d5c60536d51e7a6a653fdc4f08ce0ec90dd1b9f4c29b571881d2765080b53c617792d56ad16dca04b4c784f2cf00eb9b3c877b6b5137208f3f140ca0e3b720d9e85eb4e4106ed2450117e5ae36a5af9cb20f2174d1d8443d768b8deab8ad11f6d8a21b28e6f3f44f97a44e06c36afb66c24d67a74dfc18e9ecccb5177a1b82d8847a2f885518fa5815480026dfdd0c2cdecf5a5f7ccd8b942cfec6677a13b16d6154c35e80c6a8c15cdc9e12e2eb584d7d4daa5e30c269fbfadece17c8ca3eea57e3c0aa523d98b3fb4b6759ce72de0c3343f6f79d058adcfe940644d3af51d8309dde610a5c710f118f95c01f0224d9337c73fb584e9369f6c8341f790031d172965aba14cc493c3b6515ab7cd1c6b2acf3004ae94643fd9b34fb7ddde192953e7c2481a3b2032a06ac7bb0fd102eaead5c669c8136dfa2e162de513bc8555d1b128b8d2516b99945655e4cb121b874b87e4e73b3b88f0fa31f7612c030ad12f3bb2d0a747d4dd4ac8e9b42e45b80a687adcdf6056cd2ecd9b907370d2e683dd857b3f9f608c7cff176fb4e8dba2233f716e876d00f69b7048c3025c02592aa9457ea90d4258699492e2402ceaf2f6199d72f7f1a3794e9e1be0aebc559b05910a9ad37ea47400a5164be8c8213eb17503e1693d9e1c3288e0f7303deb6b0b83308163125ff8177884364b4369886ef6c86f0d9021e15cdb2d6d1d9f79af639c226fe53e5743381b88d38672d94b25f67e15d931367174c0c5a71063656587353acea6f1ea87033776ea3076b1c9b350ed68b027f9535889426af67ac1091ffb39c275803a4a2aaa9583cd37b06b126329813af31338657fec7da8d79966cdce8144fe72225c89b4e9cb48d520721b682d5b94e4378d912bd0f131757b310f85ad0dbe968c35b05c9e86cb2cb40e7c4f92c41a5e28d8098eeb362cd4d7303eca9cb00bbba693f59c9f34af00863f141db21c217b17ac2539a352fe31c59ffe6b0d16e8382054f8dfb310e50d14cdf22c899a0c54f0349b7b1e8fabce6e559241cc5bc73cecdcd477792b623c40c813f7fd6a89cd73bda7f064e9c6c9c5d6b7d0836b0534e3c645706b6281cab6e64ece73e4bf1bdc688c9480959363dd228b9f8373a304ba33755d4f92d6f03d7bb481e4ddcd918a6f14c4b6f3d917315d78989ea1c0f4ffc1d7c5d9baf7c936dd0d66273b5d29c08cf4e085a323ab5fbda926da6e861dc0fd0c91959ea97a2fcdd26cff88a44389118e3b6b9f457a476c86d5c6b37addd0e041a5561b64136cb1c4f48ef426687197bb440841add461304ac5dbedd2b388677534cc5bc33575efbbb27f7d2f05ebb249f67fe2de0ada50d82bb8923e40ecf459057420cb7cb903ed410802e9c32c8aa10ccea9ee9ec1f8f84ea03f695a26bdf40fa417f56b9bbe39d157d8f16a36f9383bb1265ac49fb29f28e0ec2eabd5a4439ed0e627d6c8ca42fb17b226986ea650ae27710f6f706029139d20e0c3ed2095665743e8d3b016f82dc808ddcbe4c32b9e2922fac26b264a15b81de64e0cbb9d87200fa8f501d39d16c2a65da65233552f6f3b305a8c0025cb7820a067a2a65f2e07937cee4ce2a1fdabd7a2bf5c326934d9c34a7d8a98a013491bc3c4b1648d4ba6d6cc8880adbe8ffd587991d65e334e0a8c3e98980ea623fd7b4e53f7277fc4af6a81ece08a953414c2264e6df02d16522bda0e6087929f9093f7c76c38cff84f877e5ae4672568ef82cfd0023e2cef4a7cf55d867ab249efc9569a7eb9e5b18ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903dc626520dcd53a22f727af3ee42c770e56c97a64fe3adb063799d8ab032fe5518887036b1039e299ebcc8b95a73ea1538df548393fb8462361c80bea605a4fbefab3dd6bdab226f1c08630b1dd917e11fcb4ec5e1e020e2c16f83a0a13863e85c83230b770f17ef1386ea1fd3681271dd98aa93646bdbfb5bff3a1b7050fff9d31d80bdbefbc52aba61c0f53a0406cc8dd3df55f1b1dbf9176f0c200d53cd7c3fbd59d9049a8426a4a13cc35c3ff031381a6c5bb5dbcf671978d46ad3fd7c63429b32fb254a0ccd8f30595eb0c98f737d1b47b272fc91f936b548b0280893736d55a4600530aff91f51e519b18f972bfd95ea4c974245fcf0e2e5392e985bd957079c519f9c4250ad7fb471c09d610a0c497c94d99c1ee574fd383299810f700rootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrooteigen3-3.3.4-bp153.2.3.1.src.rpmeigen3-devellibeigen3-develpkgconfig(eigen3)@    /usr/bin/pkg-configrpmlib(CompressedFileNames)rpmlib(FileDigests)rpmlib(PayloadFilesHavePrefix)rpmlib(PayloadIsXz)3.0.4-14.6.0-14.0-15.2-14.14.3]@Z@YYm@Y\XXlW"Wu VXEVI@U@U7@Asterios Dramis alarrosa@suse.comjengelh@inai.decfeck@kde.orgasterios.dramis@gmail.comasterios.dramis@gmail.comolaf@aepfle.deasterios.dramis@gmail.comasterios.dramis@gmail.comRene.vanPaassen@gmail.comp.drouand@gmail.commpluskal@suse.comasterios.dramis@gmail.com- Added eigen3-3.3.1-fixcmake.patch (Fix double {prefix} as we use INCLUDE_INSTALL_DIR with {_includedir}. Fixes boo#1148642.- Remove libqt4 from BuildRequires since it's actually only required by some demos and tests which are simply not built when it's not available (except on Leap, where libqt4 is required)- Use right RPM group.- Split documentation into its own -doc package due to size.- Update to version 3.3.4: General: * Improve speed of Jacobi rotation when mixing complex and real types. * Bug 1405: enable StrictlyLower/StrictlyUpper triangularView as the destination of matrix*matrix products. * UmfPack support: enable changes in the control settings and add report functions. * Bug 1423: fix LSCG's Jacobi preconditioner for row-major matrices. * Bug 1424: fix compilation issue with abs and unsigned integers as scalar type. * Bug 1410: fix lvalue propagation of Array/Matrix-Wrapper with a const nested expression. * Bug 1403: fix several implicit scalar type conversion making SVD decompositions compatible with ceres::Jet. * Fix some real-to-scalar-to-real useless conversions in ColPivHouseholderQR. Regressions: * Fix dense * sparse-selfadjoint-view product. * Bug 1417: make LinSpace compatible with std::complex. * Bug 1400: fix stableNorm alignment issue with EIGEN_DONT_ALIGN_STATICALLY. * Bug 1411: fix alignment issue in Quaternion. * Fix compilation of operations between nested Arrays. * Bug 1435: fix aliasing issue in expressions like: A = C - B*A. Others: * Fix compilation with gcc 4.3 and ARM NEON. * Fix prefetches on ARM64 and ARM32. * Fix out-of-bounds check in COLAMD. * Few minor fixes regarding nvcc/CUDA support, including bug 1396. * Improve cmake scripts for Pastix and BLAS detection. * Bug 1401: fix compilation of "cond ? x : -x" with x an AutoDiffScalar * Fix compilation of matrix log with Map as input. * Add specializations of std::numeric_limits for Eigen::half and and AutoDiffScalar * Fix compilation of streaming nested Array, i.e., cout << Array>- Update to version 3.3.3: * Lots of changes. See http://eigen.tuxfamily.org/index.php?title=ChangeLog#Eigen_3.3.3 for details. - Added new build requirements libboost_headers-devel for Tumbleweed and boost-devel for openSUSE <= 13.2. - Rebased 0001-Disable-Altivec-for-ppc64le.patch and 0001-Do-stack-allignment-on-ppc.patch to apply cleanly.- Require texlive-dvips during build- Update to version 3.2.9: Main fixes and improvements: * Improve numerical robustness of JacobiSVD (backported from 3.3) * Bug 1017: prevents underflows in makeHouseholder * Fix numerical accuracy issue in the extraction of complex eigenvalue pairs in real generalized eigenvalue problems. * Fix support for vector.homogeneous().asDiagonal() * Bug 1238: fix SparseMatrix::sum() overload for un-compressed mode * Bug 1213: workaround gcc linking issue with anonymous enums. * Bug 1236: fix possible integer overflow in sparse-sparse product * Improve detection of identical matrices when applying a permutation (e.g., mat = perm * mat) * Fix usage of nesting type in blas_traits. In practice, this fixes compilation of expressions such as A*(A*A)^T * CMake: fixes support of Ninja generator * Add a StorageIndex typedef to sparse matrices and expressions to ease porting code to 3.3 (see http://eigen.tuxfamily.org/index.php?title=3.3#Index_typedef) * Bug 1200: make aligned_allocator c++11 compatible (backported from 3.3) * Bug 1182: improve generality of abs2 (backported from 3.3) * Bug 537: fix compilation of Quaternion with Apples's compiler * Bug 1176: allow products between compatible scalar types * Bug 1172: make valuePtr and innerIndexPtr properly return null for empty sparse matrices. * Bug 1170: skip calls to memcpy/memmove for empty inputs. Others: * Bug 1242: fix comma initializer with empty matrices. * Improves support for MKL's PARDISO solver. * Fix a compilation issue with Pastix solver. * Add some missing explicit scalar conversions * Fix a compilation issue with matrix exponential (unsupported MatrixFunctions module). * Bug 734: fix a storage order issue in unsupported Spline module * Bug 1222: fix a compilation issue in AutoDiffScalar * Bug 1221: shutdown some GCC6's warnings. * Bug 1175: fix index type conversion warnings in sparse to dense conversion. - Removed build requirements gnu-free-fonts and texlive-amsfonts (not needed anymore).- Update to version 3.2.8: Main fixes and improvements: * Make FullPivLU::solve use rank() instead of nonzeroPivots(). * Add EIGEN_MAPBASE_PLUGIN * Bug 1166: fix issue in matrix-vector products when the destination is not a vector at compile-time. * Bug 1100: Improve cmake/pkg-config support. * Bug 1113: fix name conflict with C99's "I". * Add missing delete operator overloads in EIGEN_MAKE_ALIGNED_OPERATOR_NEW * Fix (A*B).maxCoeff(i) and similar. * Workaround an ICE with VC2015 Update1 x64. * Bug 1156: fix several function declarations whose arguments were passed by value instead of being passed by reference * Bug 1164: fix std::list and std::deque specializations such that our aligned allocator is automatically activatived only when the user did not specified an allocator (or specified the default std::allocator). Others: * Fix BLAS backend (aka MKL) for empty matrix products. * Bug 1134: fix JacobiSVD pre-allocation. * Bug 1111: fix infinite recursion in sparse-column-major.row(i).nonZeros() (it now produces a compilation error) * Bug 1106: workaround a compilation issue in Sparse module for msvc-icc combo * Bug 1153: remove the usage of __GXX_EXPERIMENTAL_CXX0X__ to detect C++11 support * Bug 1143: work-around gcc bug in COLAMD * Improve support for matrix products with empty factors. * Fix and clarify documentation of Transform wrt operator*(MatrixBase) * Add a matrix-free conjugate gradient example. * Fix cost computation in CwiseUnaryView (internal) * Remove custom unaligned loads for SSE. * Some warning fixes. * Several other documentation clarifications. - Updated build requirement superlu to superlu-devel. - Added a patch "eigen_pkgconfig.patch" to fix pkg-config file includedir (taken from Fedora). - Added a patch "01_install_FindEigen3.patch" to install FindEigen3.cmake (taken from Fedora).- Specify eigen header install dir; otherwise the pkgconfig file defaults to -Iinclude/eigen3- Update to version 3.2.7 * Add support for dense.cwiseProduct(sparse). * Fix a regression regarding (dense*sparse).diagonal(). * Make the IterativeLinearSolvers module compatible with MPL2-only mode by defaulting to COLAMDOrdering and NaturalOrdering for ILUT and ILLT respectively. * Bug 266: backport support for c++11 move semantic * operator/=(Scalar) now performs a true division (instead of mat*(1/s)) * Improve numerical accuracy in LLT and triangular solve by using true scalar divisions (instead of mat * (1/s)) * Bug 1092: fix iterative solver constructors for expressions as input * Bug 1088: fix setIdenity for non-compressed sparse-matrix * Bug 1086: add support for recent SuiteSparse versions * Add overloads for real-scalar times SparseMatrix operations. This avoids real to complex conversions, and also fixes a compilation issue with MSVC. * Use explicit Scalar types for AngleAxis initialization * Fix several shortcomings in cost computation (avoid multiple re-evaluation in some very rare cases). * Bug 1090: fix a shortcoming in redux logic for which slice-vectorization plus unrolling might happen. * Fix compilation issue with MSVC by backporting DenseStorage::operator= from devel branch. * Bug 1063: fix nesting of unsupported/AutoDiffScalar to prevent dead references when computing second-order derivatives * Bug 1100: remove explicit CMAKE_INSTALL_PREFIX prefix to conform to cmake install's DESTINATION parameter. * unsupported/ArpackSupport is now properly installed by make install. * Bug 1080: warning fixes - Changes from version 3.2.6 * fix some compilation issues with MSVC 2013, including bugs 1000 and 1057 * SparseLU: fixes to support EIGEN_DEFAULT_TO_ROW_MAJOR (bug 1053), and for empty (bug 1026) and some structurally rank deficient matrices (bug 792) * Bug 1075: fix AlignedBox::sample() for Dynamic dimension * fix regression in AMD ordering when a column has only one off-diagonal non-zero (used in sparse Cholesky) * fix Jacobi preconditioner with zero diagonal entries * fix Quaternion identity initialization for non-implicitly convertible types * Bug 1059: fix predux_max for NEON * Bug 1039: fix some issues when redefining EIGEN_DEFAULT_DENSE_INDEX_TYPE * Bug 1062: fix SelfAdjointEigenSolver for RowMajor matrices * MKL: fix support for the 11.2 version, and fix a naming conflict (bug 1067) * Bug 1033: explicit type conversion from 0 to RealScalar -- Update to 3.2.5 * Changes with main impact: + Improve robustness of SimplicialLDLT to semidefinite problems by correctly handling structural zeros in AMD reordering + Re-enable supernodes in SparseLU (fix a performance regression in SparseLU) + Use zero guess in ConjugateGradients::solve + Add PermutationMatrix::determinant method + Fix SparseLU::signDeterminant() method, and add a SparseLU::determinant() method + Allows Lower|Upper as a template argument of CG and MINRES: in this case the full matrix will be considered + Bug 872: remove usage of std::bind* functions (deprecated in c++11) * Numerical robustness improvements: + Bug 1014: improve numerical robustness of the 3x3 direct eigenvalue solver + Bug 1013: fix 2x2 direct eigenvalue solver for identical eigenvalues + Bug 824: improve accuracy of Quaternion::angularDistance + Bug 941: fix an accuracy issue in ColPivHouseholderQR by continuing the decomposition on a small pivot + Bug 933: improve numerical robustness in RealSchur + Fix default threshold value in SPQR * Other changes: + Fix usage of EIGEN_NO_AUTOMATIC_RESIZING + Improved support for custom scalar types in SparseLU + Improve cygwin compatibility + Bug 650: fix an issue with sparse-dense product and rowmajor matrices + Bug 704: fix MKL support (HouseholderQR) + Bug 705: fix handling of Lapack potrf return code (LLT) + Bug 714: fix matrix product with OpenMP support + Bug 949: add static assertions for incompatible scalar types in many of the dense decompositions + Bugs 957, 1000: workaround MSVC/ICC compilation issues when using sparse blocks + Bug 969: fix ambiguous calls to Ref + Bugs 972, 986: add support for coefficient-based product with 0 depth + Bug 980: fix taking a row (resp. column) of a column-major (resp. row-major) sparse matrix + Bug 983: fix an alignement issue in Quaternion + Bug 985: fix RealQZ when either matrix had zero rows or columns + Bug 987: fix alignement guess in diagonal product + Bug 993: fix a pitfall with matrix.inverse() + Bugs 996, 1016: fix scalar conversions + Bug 1003: fix handling of pointers non aligned on scalar boundary in slice-vectorization + Bug 1010: fix member initialization in IncompleteLUT + Bug 1012: enable alloca on Mac OS or if alloca is defined as macro + Doc and build system: 733, 914, 952, 961, 999 - Use cmake macros - Use url for source - Cleanup spec file with spec-cleaner - Remove conditional buildrequires for releases which did not build anyway- Update to version 3.2.4: * Fix compilation regression in Rotation2D * Bug 920: fix compilation issue with MSVC 2015. * Bug 921: fix utilization of bitwise operation on enums in first_aligned. * Fix compilation with NEON on some platforms. From version 3.2.3: Core: * Enable Mx0 * 0xN matrix products. * Bug 859: fix returned values for vectorized versions of exp(NaN), log(NaN), sqrt(NaN) and sqrt(-1). * Bug 879: tri1 = mat * tri2 was compiling and running incorrectly if tri2 was not numerically triangular. Workaround the issue by evaluating mat*tri2 into a temporary. * Bug 854: fix numerical issue in SelfAdjointEigenSolver::computeDirect for 3x3 matrices. * Bug 884: make sure there no call to malloc for zero-sized matrices or for a Ref<> without temporaries. * Bug 890: fix aliasing detection when applying a permutation. * Bug 898: MSVC optimization by adding inline hint to const_cast_ptr. * Bug 853: remove enable_if<> in Ref<> ctor. Dense solvers: * Bug 894: fix the sign returned by LDLT for multiple calls to compute(). * Fix JacobiSVD wrt underflow and overflow. * Bug 791: fix infinite loop in JacobiSVD in the presence of NaN. Sparse: * Fix out-of-bounds memory write when the product of two sparse matrices is completely dense and performed using pruning. * UmfPack support: fix redundant evaluation/copies when calling compute(), add support for generic expressions as input, and fix extraction of the L and U factors (Bug 911). * Improve SparseMatrix::block for const matrices (the generic path was used). * Fix memory pre-allocation when permuting inner vectors of a sparse matrix. * Fix SparseQR::rank for a completely empty matrix. * Fix SparseQR for row-major inputs. * Fix SparseLU::absDeterminant and add respective unit test. * BiCGSTAB: make sure that good initial guesses are not destroyed by a bad preconditioner. Geometry: * Fix Hyperplane::Through(a,b,c) when points are aligned or identical. * Fix linking issues in OpenGLSupport. OS, build system and doc: * Various compilation fixes including: bug 821, bug 822, bug 857, bug 871, bug 873. * Fix many compilation warnings produced by recent compilers including: bug 909. * Bug 861: enable posix_memalign with PGI. * Fix BiCGSTAB doc example.libeigen3-develgoat17 1658926890  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./01233.3.4-bp153.2.3.13.3.43.3.43.3.4      !!!!!""##############################$$$$$$$$$$$$$$$$$%&&&&'()))))))*******+,,,,,,----./////////////////////////////////////////////////////////////////////.00001.22222222.33333,,,,,,,,,,,,,,,,,4555466474884994:::::::4;4<<<<<4======4>4???????????4@4AAA4BBBBBB4CCCCCC4DDDDDDEF4GGGHIJJJJJJKLMMMMNeigen3EigenCholeskyCholmodSupportCoreDenseEigenEigenvaluesGeometryHouseholderIterativeLinearSolversJacobiLUMetisSupportOrderingMethodsPaStiXSupportPardisoSupportQRQtAlignedMallocSPQRSupportSVDSparseSparseCholeskySparseCoreSparseLUSparseQRStdDequeStdListStdVectorSuperLUSupportUmfPackSupportsrcCholeskyLDLT.hLLT.hLLT_LAPACKE.hCholmodSupportCholmodSupport.hCoreArray.hArrayBase.hArrayWrapper.hAssign.hAssignEvaluator.hAssign_MKL.hBandMatrix.hBlock.hBooleanRedux.hCommaInitializer.hConditionEstimator.hCoreEvaluators.hCoreIterators.hCwiseBinaryOp.hCwiseNullaryOp.hCwiseTernaryOp.hCwiseUnaryOp.hCwiseUnaryView.hDenseBase.hDenseCoeffsBase.hDenseStorage.hDiagonal.hDiagonalMatrix.hDiagonalProduct.hDot.hEigenBase.hForceAlignedAccess.hFuzzy.hGeneralProduct.hGenericPacketMath.hGlobalFunctions.hIO.hInverse.hMap.hMapBase.hMathFunctions.hMathFunctionsImpl.hMatrix.hMatrixBase.hNestByValue.hNoAlias.hNumTraits.hPermutationMatrix.hPlainObjectBase.hProduct.hProductEvaluators.hRandom.hRedux.hRef.hReplicate.hReturnByValue.hReverse.hSelect.hSelfAdjointView.hSelfCwiseBinaryOp.hSolve.hSolveTriangular.hSolverBase.hStableNorm.hStride.hSwap.hTranspose.hTranspositions.hTriangularMatrix.hVectorBlock.hVectorwiseOp.hVisitor.harchAVXComplex.hMathFunctions.hPacketMath.hTypeCasting.hAVX512MathFunctions.hPacketMath.hAltiVecComplex.hMathFunctions.hPacketMath.hCUDAComplex.hHalf.hMathFunctions.hPacketMath.hPacketMathHalf.hTypeCasting.hDefaultSettings.hNEONComplex.hMathFunctions.hPacketMath.hSSEComplex.hMathFunctions.hPacketMath.hTypeCasting.hZVectorComplex.hMathFunctions.hPacketMath.hfunctorsAssignmentFunctors.hBinaryFunctors.hNullaryFunctors.hStlFunctors.hTernaryFunctors.hUnaryFunctors.hproductsGeneralBlockPanelKernel.hGeneralMatrixMatrix.hGeneralMatrixMatrixTriangular.hGeneralMatrixMatrixTriangular_BLAS.hGeneralMatrixMatrix_BLAS.hGeneralMatrixVector.hGeneralMatrixVector_BLAS.hParallelizer.hSelfadjointMatrixMatrix.hSelfadjointMatrixMatrix_BLAS.hSelfadjointMatrixVector.hSelfadjointMatrixVector_BLAS.hSelfadjointProduct.hSelfadjointRank2Update.hTriangularMatrixMatrix.hTriangularMatrixMatrix_BLAS.hTriangularMatrixVector.hTriangularMatrixVector_BLAS.hTriangularSolverMatrix.hTriangularSolverMatrix_BLAS.hTriangularSolverVector.hutilBlasUtil.hConstants.hDisableStupidWarnings.hForwardDeclarations.hMKL_support.hMacros.hMemory.hMeta.hNonMPL2.hReenableStupidWarnings.hStaticAssert.hXprHelper.hEigenvaluesComplexEigenSolver.hComplexSchur.hComplexSchur_LAPACKE.hEigenSolver.hGeneralizedEigenSolver.hGeneralizedSelfAdjointEigenSolver.hHessenbergDecomposition.hMatrixBaseEigenvalues.hRealQZ.hRealSchur.hRealSchur_LAPACKE.hSelfAdjointEigenSolver.hSelfAdjointEigenSolver_LAPACKE.hTridiagonalization.hGeometryAlignedBox.hAngleAxis.hEulerAngles.hHomogeneous.hHyperplane.hOrthoMethods.hParametrizedLine.hQuaternion.hRotation2D.hRotationBase.hScaling.hTransform.hTranslation.hUmeyama.harchGeometry_SSE.hHouseholderBlockHouseholder.hHouseholder.hHouseholderSequence.hIterativeLinearSolversBasicPreconditioners.hBiCGSTAB.hConjugateGradient.hIncompleteCholesky.hIncompleteLUT.hIterativeSolverBase.hLeastSquareConjugateGradient.hSolveWithGuess.hJacobiJacobi.hLUDeterminant.hFullPivLU.hInverseImpl.hPartialPivLU.hPartialPivLU_LAPACKE.harchInverse_SSE.hMetisSupportMetisSupport.hOrderingMethodsAmd.hEigen_Colamd.hOrdering.hPaStiXSupportPaStiXSupport.hPardisoSupportPardisoSupport.hQRColPivHouseholderQR.hColPivHouseholderQR_LAPACKE.hCompleteOrthogonalDecomposition.hFullPivHouseholderQR.hHouseholderQR.hHouseholderQR_LAPACKE.hSPQRSupportSuiteSparseQRSupport.hSVDBDCSVD.hJacobiSVD.hJacobiSVD_LAPACKE.hSVDBase.hUpperBidiagonalization.hSparseCholeskySimplicialCholesky.hSimplicialCholesky_impl.hSparseCoreAmbiVector.hCompressedStorage.hConservativeSparseSparseProduct.hMappedSparseMatrix.hSparseAssign.hSparseBlock.hSparseColEtree.hSparseCompressedBase.hSparseCwiseBinaryOp.hSparseCwiseUnaryOp.hSparseDenseProduct.hSparseDiagonalProduct.hSparseDot.hSparseFuzzy.hSparseMap.hSparseMatrix.hSparseMatrixBase.hSparsePermutation.hSparseProduct.hSparseRedux.hSparseRef.hSparseSelfAdjointView.hSparseSolverBase.hSparseSparseProductWithPruning.hSparseTranspose.hSparseTriangularView.hSparseUtil.hSparseVector.hSparseView.hTriangularSolver.hSparseLUSparseLU.hSparseLUImpl.hSparseLU_Memory.hSparseLU_Structs.hSparseLU_SupernodalMatrix.hSparseLU_Utils.hSparseLU_column_bmod.hSparseLU_column_dfs.hSparseLU_copy_to_ucol.hSparseLU_gemm_kernel.hSparseLU_heap_relax_snode.hSparseLU_kernel_bmod.hSparseLU_panel_bmod.hSparseLU_panel_dfs.hSparseLU_pivotL.hSparseLU_pruneL.hSparseLU_relax_snode.hSparseQRSparseQR.hStlSupportStdDeque.hStdList.hStdVector.hdetails.hSuperLUSupportSuperLUSupport.hUmfPackSupportUmfPackSupport.hmiscImage.hKernel.hRealSvd2x2.hblas.hlapack.hlapacke.hlapacke_mangling.hpluginsArrayCwiseBinaryOps.hArrayCwiseUnaryOps.hBlockMethods.hCommonCwiseBinaryOps.hCommonCwiseUnaryOps.hMatrixCwiseBinaryOps.hMatrixCwiseUnaryOps.hsignature_of_eigen3_matrix_libraryunsupportedEigenAdolcForwardAlignedVector3ArpackSupportAutoDiffBVHCXX11TensorTensorSymmetryThreadPoolsrcTensorTensor.hTensorArgMax.hTensorAssign.hTensorBase.hTensorBroadcasting.hTensorChipping.hTensorConcatenation.hTensorContraction.hTensorContractionBlocking.hTensorContractionCuda.hTensorContractionMapper.hTensorContractionThreadPool.hTensorConversion.hTensorConvolution.hTensorCostModel.hTensorCustomOp.hTensorDevice.hTensorDeviceCuda.hTensorDeviceDefault.hTensorDeviceSycl.hTensorDeviceThreadPool.hTensorDimensionList.hTensorDimensions.hTensorEvalTo.hTensorEvaluator.hTensorExecutor.hTensorExpr.hTensorFFT.hTensorFixedSize.hTensorForcedEval.hTensorForwardDeclarations.hTensorFunctors.hTensorGenerator.hTensorGlobalFunctions.hTensorIO.hTensorImagePatch.hTensorIndexList.hTensorInflation.hTensorInitializer.hTensorIntDiv.hTensorLayoutSwap.hTensorMacros.hTensorMap.hTensorMeta.hTensorMorphing.hTensorPadding.hTensorPatch.hTensorRandom.hTensorReduction.hTensorReductionCuda.hTensorReductionSycl.hTensorRef.hTensorReverse.hTensorScan.hTensorShuffling.hTensorStorage.hTensorStriding.hTensorSycl.hTensorSyclConvertToDeviceExpression.hTensorSyclExprConstructor.hTensorSyclExtractAccessor.hTensorSyclExtractFunctors.hTensorSyclLeafCount.hTensorSyclPlaceHolderExpr.hTensorSyclRun.hTensorSyclTuple.hTensorTraits.hTensorUInt128.hTensorVolumePatch.hTensorSymmetryDynamicSymmetry.hStaticSymmetry.hSymmetry.hutilTemplateGroupTheory.hThreadPoolEventCount.hNonBlockingThreadPool.hRunQueue.hSimpleThreadPool.hThreadEnvironment.hThreadLocal.hThreadPoolInterface.hThreadYield.hutilCXX11Meta.hCXX11Workarounds.hEmulateArray.hEmulateCXX11Meta.hMaxSizeVector.hEulerAnglesFFTIterativeSolversKroneckerProductLevenbergMarquardtMPRealSupportMatrixFunctionsMoreVectorizationNonLinearOptimizationNumericalDiffOpenGLSupportPolynomialsSkylineSparseExtraSpecialFunctionsSplinessrcAutoDiffAutoDiffJacobian.hAutoDiffScalar.hAutoDiffVector.hBVHBVAlgorithms.hKdBVH.hEigenvaluesArpackSelfAdjointEigenSolver.hEulerAnglesEulerAngles.hEulerSystem.hFFTei_fftw_impl.hei_kissfft_impl.hIterativeSolversConstrainedConjGrad.hDGMRES.hGMRES.hIncompleteLU.hIterationController.hMINRES.hScaling.hKroneckerProductKroneckerTensorProduct.hLevenbergMarquardtLMcovar.hLMonestep.hLMpar.hLMqrsolv.hLevenbergMarquardt.hMatrixFunctionsMatrixExponential.hMatrixFunction.hMatrixLogarithm.hMatrixPower.hMatrixSquareRoot.hStemFunction.hMoreVectorizationMathFunctions.hNonLinearOptimizationHybridNonLinearSolver.hLevenbergMarquardt.hchkder.hcovar.hdogleg.hfdjac1.hlmpar.hqrsolv.hr1mpyq.hr1updt.hrwupdt.hNumericalDiffNumericalDiff.hPolynomialsCompanion.hPolynomialSolver.hPolynomialUtils.hSkylineSkylineInplaceLU.hSkylineMatrix.hSkylineMatrixBase.hSkylineProduct.hSkylineStorage.hSkylineUtil.hSparseExtraBlockOfDynamicSparseMatrix.hBlockSparseMatrix.hDynamicSparseMatrix.hMarketIO.hMatrixMarketIterator.hRandomSetter.hSpecialFunctionsSpecialFunctionsArrayAPI.hSpecialFunctionsFunctors.hSpecialFunctionsHalf.hSpecialFunctionsImpl.hSpecialFunctionsPacketMath.harchCUDACudaSpecialFunctions.hSplinesSpline.hSplineFitting.hSplineFwd.hFindEigen3.cmakeeigen3-develCOPYING.BSDCOPYING.GPLCOPYING.LGPLCOPYING.MINPACKCOPYING.MPL2COPYING.READMEeigen3cmakeEigen3Config.cmakeEigen3ConfigVersion.cmakeEigen3Targets.cmakeUseEigen3.cmakeeigen3.pc/usr/include//usr/include/eigen3//usr/include/eigen3/Eigen//usr/include/eigen3/Eigen/src//usr/include/eigen3/Eigen/src/Cholesky//usr/include/eigen3/Eigen/src/CholmodSupport//usr/include/eigen3/Eigen/src/Core//usr/include/eigen3/Eigen/src/Core/arch//usr/include/eigen3/Eigen/src/Core/arch/AVX//usr/include/eigen3/Eigen/src/Core/arch/AVX512//usr/include/eigen3/Eigen/src/Core/arch/AltiVec//usr/include/eigen3/Eigen/src/Core/arch/CUDA//usr/include/eigen3/Eigen/src/Core/arch/Default//usr/include/eigen3/Eigen/src/Core/arch/NEON//usr/include/eigen3/Eigen/src/Core/arch/SSE//usr/include/eigen3/Eigen/src/Core/arch/ZVector//usr/include/eigen3/Eigen/src/Core/functors//usr/include/eigen3/Eigen/src/Core/products//usr/include/eigen3/Eigen/src/Core/util//usr/include/eigen3/Eigen/src/Eigenvalues//usr/include/eigen3/Eigen/src/Geometry//usr/include/eigen3/Eigen/src/Geometry/arch//usr/include/eigen3/Eigen/src/Householder//usr/include/eigen3/Eigen/src/IterativeLinearSolvers//usr/include/eigen3/Eigen/src/Jacobi//usr/include/eigen3/Eigen/src/LU//usr/include/eigen3/Eigen/src/LU/arch//usr/include/eigen3/Eigen/src/MetisSupport//usr/include/eigen3/Eigen/src/OrderingMethods//usr/include/eigen3/Eigen/src/PaStiXSupport//usr/include/eigen3/Eigen/src/PardisoSupport//usr/include/eigen3/Eigen/src/QR//usr/include/eigen3/Eigen/src/SPQRSupport//usr/include/eigen3/Eigen/src/SVD//usr/include/eigen3/Eigen/src/SparseCholesky//usr/include/eigen3/Eigen/src/SparseCore//usr/include/eigen3/Eigen/src/SparseLU//usr/include/eigen3/Eigen/src/SparseQR//usr/include/eigen3/Eigen/src/StlSupport//usr/include/eigen3/Eigen/src/SuperLUSupport//usr/include/eigen3/Eigen/src/UmfPackSupport//usr/include/eigen3/Eigen/src/misc//usr/include/eigen3/Eigen/src/plugins//usr/include/eigen3/unsupported//usr/include/eigen3/unsupported/Eigen//usr/include/eigen3/unsupported/Eigen/CXX11//usr/include/eigen3/unsupported/Eigen/CXX11/src//usr/include/eigen3/unsupported/Eigen/CXX11/src/Tensor//usr/include/eigen3/unsupported/Eigen/CXX11/src/TensorSymmetry//usr/include/eigen3/unsupported/Eigen/CXX11/src/TensorSymmetry/util//usr/include/eigen3/unsupported/Eigen/CXX11/src/ThreadPool//usr/include/eigen3/unsupported/Eigen/CXX11/src/util//usr/include/eigen3/unsupported/Eigen/src//usr/include/eigen3/unsupported/Eigen/src/AutoDiff//usr/include/eigen3/unsupported/Eigen/src/BVH//usr/include/eigen3/unsupported/Eigen/src/Eigenvalues//usr/include/eigen3/unsupported/Eigen/src/EulerAngles//usr/include/eigen3/unsupported/Eigen/src/FFT//usr/include/eigen3/unsupported/Eigen/src/IterativeSolvers//usr/include/eigen3/unsupported/Eigen/src/KroneckerProduct//usr/include/eigen3/unsupported/Eigen/src/LevenbergMarquardt//usr/include/eigen3/unsupported/Eigen/src/MatrixFunctions//usr/include/eigen3/unsupported/Eigen/src/MoreVectorization//usr/include/eigen3/unsupported/Eigen/src/NonLinearOptimization//usr/include/eigen3/unsupported/Eigen/src/NumericalDiff//usr/include/eigen3/unsupported/Eigen/src/Polynomials//usr/include/eigen3/unsupported/Eigen/src/Skyline//usr/include/eigen3/unsupported/Eigen/src/SparseExtra//usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions//usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/arch//usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/arch/CUDA//usr/include/eigen3/unsupported/Eigen/src/Splines//usr/share/cmake/Modules//usr/share/doc/packages//usr/share/doc/packages/eigen3-devel//usr/share//usr/share/eigen3//usr/share/eigen3/cmake//usr/share/pkgconfig/-fmessage-length=0 -grecord-gcc-switches -O2 -Wall -D_FORTIFY_SOURCE=2 -fstack-protector-strong -funwind-tables -fasynchronous-unwind-tables -fstack-clash-protectionobs://build.opensuse.org/openSUSE:Maintenance:17588/openSUSE_Backports_SLE-15-SP3_Update/9513b1ed3a7d74d807dd567a1c8dc5d4-eigen3.openSUSE_Backports_SLE-15-SP3_Updatedrpmxz5noarch-suse-linux     directoryC source, ASCII textC source, UTF-8 Unicode textC++ source, ASCII textC++ source, ASCII text, with very long linesC source, ASCII text, with very long linesC++ source, UTF-8 Unicode textC++ source, UTF-8 Unicode text, with very long linesHTML document, ASCII textASCII textLaTeX document, ASCII textpkgconfig filePRϭdqߋlutf-80038f03e19aebc8694350c0844fabf7c0e4fafbb766824ef0f92e700ed4542bc?7zXZ !t/!e]"k%}W\Y9h9Au#X Ie`kB! g wt"d pb!s1U+uOqUyLvx9lF=ܭ>1)85&4\:28 +nkw ϤcGW]w|C⏧yGoDERK\AVngѪD eJOREV?R7ϙSP{ANIPЫd>s4N=,@ W1x@ӳۏÁHc!_2=i0@^f͌uU l a'ԊkvdrA Fhc]tc^V3f-JYjWLE .dNC-"AlrDǺ.IЬ=-JEm8f7,>B 6M*=|'aX [c^$1#Ua8w\*9ox6NYvL:z -罆?J_A7AW0meјzʕkM.g+20ZN،Zg_] VXbe37AzB jI:={&hÙ\YD;6J2;JMBMD|f4$$AtE_@:>n_T\2wWd-1l/I1|>~:d`nMMP.tWM z|yZѳ K_Hm\>] qqu~ J#9NaiI184B>o4^'JAu"0#P&'؊>񔓮ClÇC|v~* `׭{3AtԘ54f?o:Ϳ[K_ȩӽ(SFѪ.M֌{bamӳ&yj ~҈\p+~#".v3z2= {gh}M"$1N5}EA`Y2+@q yP|Ř)cVy';~'x/֬qޛ.sx[JH롭+1IrOXFp[v6bWRng'<8c@` fã fk/$gu\GR.Pgk8Q5:z)n{K(Uz L]4NͶx}~Y֌́`}%j!Hs_ a[LS4۵0ۇv7yמUԳymi~NGx|N6$2tT1lScnn=)jӭs Ȓa@-xZ?"5k; mЅn!0jv\ qGz)'Ek)<;Mjl:hBˠHk!7P"N>yE4Q^Y7v-S(/lJ˹6:Gڗg` RۿܶH$[@+vm@SRϝ<{[# )peMB Kl&K|c-@BÅw r;ZVh0ڗIˑ1,e;'Vskܿfg4>g 6z- RWO+ | PҒǼ(c{CflE{FD]&(.Ƶr,uMs.-:_ )y. mHKvo3<&j0 wep~ P%2},BViTVB* }jFNjPzy^F!9@SڃU+.&?Sq}xT%3n/ڳ%9jq:$No7_7D>x1s41̳ d5@?s{Kr hbȝ>Z1bF&|?vgH NհyCqd(UN΍Vā3Aouk^A1e?W#@E A=_@y?iZ"0̶~BdHWSWJFh":o\8 zӽy ?hUO#h5H M~H!ؖޤYOϱN?8Us 1]y Aq Mi>,L*/45|K19.: n+;{v&<$>_1?w±IX૝7~8/PO?Z 3$b4vJ3]K}vWxgDFlAheg!}bl.WH|j%2W~t8VMOO=Nc/^QiJT(T=yfdBÈPw Cc!0hIϿC>XZ3/s]ԨXXڛ.cJlǍ9L;},lxj⩧&<}r U0G9? u`D\@Z;~YB9S+pDvbb#0r~Jg} %V6V9KmH"&Ÿ܈620eie.x8Ȧ^ET'ѕD8XىYUmhJ()?S0f VI"u"A `Q!trpF Ї s6uMHJ= t($x*N%hrٵ#60 )$& ePr\mq#H׭QF^NZOFi<,vU<=Lz_c\9Ю[~VYy2%O8nc'kZ3  9\L>