ruby2.5-rubygem-ruby_parser-doc-3.10.1-lp150.1.5 >  A ZU/=„EdMW/;6HCCr\phr,JDєF2Ubz.ZGvdx-$dk=PW,oY!ݪph;vTdzk4=V+gրH*`uʾZ1@8DhzWbNilMj?1Z}wpdGQжE*R]_ #[=TX+ w]I s[Xњ+{zvv_ptfJE/H7s67e083ea861fc8ced6ae52d052d67b654a5c24d2cabed64d0e01ea7913e0b63c32492b2bb352f1cb8597ab186d9169092f07712f4ZZU/=„(ϫh:Z~~ )=l_HMPbu̽ս %1:6:+ܷ"MN M#ⶮT#\r;UQf=Y& Fy95@ '.g n&' $)bOe 57\%M3MMmjQ cK%2"#)A}9mK3nRh>ܟ ,{."ZS * pY~)I>p;?d") 3 V  6<D<4< <  $< < XP< Y<^|<d<jk<op<pPp(p8q%9q%:s%FG<H<I<XY\4<]$<^o!b cd3e8f;l=uP<v@zK\`fCruby2.5-rubygem-ruby_parser-doc3.10.1lp150.1.5RDoc documentation for ruby_parserDocumentation generated at gem installation time. Usually in RDoc and RI formats.Y@lamb23WRopenSUSE Leap 15.0openSUSEMIThttps://bugs.opensuse.orgDevelopment/Languages/Rubyhttps://github.com/seattlerb/ruby_parserlinuxx86_64U%  uvvvvvvv C &`^   "  $g'n  2      &    E  +        "/ 2 / 'HAAA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤AA큤A큤A큤A큤ZUZUZUZUZUZUZUZUZUZUZUZUZUZUZUZUZUZUZUZUZUZUZUZUZUZUZUZUZUZUZUZUZUZUZUZUZUZUZUZUZUZUZUZUZUZUZUZUZUZUZUZUZUZUZUZUZUZUZUZUZUZUZUZUZUZUZUZUZUZUZUZUZUZUZUZUZUZUZUZUZUZUZUZUZUZUZUZUZUZUZUZUZUZUZUZUZUZUZUZUZUZUZUZUZUZUZUZUZUZUZUZUZUZUZUZUZUZUZUZUZUZUZUZUZUZUZUZUZUZUZUZUZUZUZUZUZUZUZUZUZUZUZUZUZUZUZUZUZUZUZUZUZUZUZUZUZUZUZUZUZUZUZUZUZUZUZUZUZUZUZUZUZUZUZUZUZUZUZUZUZUZUZUZUZUZUZUZUZUZUZUZUZUZUZUZUZUZUZUZUZUZUZUZUZUZUZUZUZUZUZUZUZUZUZUZUZUZUZUZUZUZUZUZUZUZUZUZUZUZUZUZUZUZUZUZUZUZUZUZUZUZUZUZUZUZUZUZUZUZUZUZUZUZUZUZUZUZUZUZUZUZUZUZUZUZUZUZUZUZUZUZUZUZUZUZUZUZUZUZUZUZUZUZUZUZUZUZUZUZUZUZUZUZUZUZUZUZUZUZUZUZUZUZUZUZUZUZUZUZUZUZUZUZUZUZUafd38e16f0a0bfa14bac269885d5239902555c081e229591f35501c71210e654e9cef0aa755eba9837c8d6620b9e3e679fd935f4a1a0b2e73106d543bedcc0e8c6216718b9d718e6faa9c75efb326655d3000218c2814ff049e312fa36285f581602fbc5852857293e1fca26221b5554837caa583417cdac691769f0efed7094eb1642568686eae4a39074c17ada7b9d25c4604d61821b501cc1a0b7b62c2878ea28585ba194b8e36cff9cf9fb633b102c193f3af0b69c1b6df3d06d7069c0f53d11bf8df296ac472ffb4eeb725f42bf60162e47def1d6010f239c5a408d0b8c1ef45eabffdba221d3346653a3ff7ca48e35769f74c2929836b939e87f2a4b4f4f89266bdf15c139db6aaea199bee39d241e39eaec770dabcdc92fd010cd308b1be1976ab863818356b84a177c6574d5f7cc68425ce29f9b0be804b42b1f6d4f99d844450b1c86bd3f292c5c9917fe59d057b6556a47899623800d7f599dd2315b9f5e70f9f2ee23493ccb2b085049cd4e4c578cac4b9436bc18e2ffad1bb180c00fec3384742e4fec2ef5232cc605d1d2bc649c5551b3d4f0c1a3b874dee8483e55fc77e87e8ea5eab59bd42052f5fd7f295cc77eb6b730856ee4b20b638b473032f9a66fa4b65b10602bde694126f4021c46e18e0299459c9e03891594ca508176778f74b052986496a59468f59fce3b9ea491f4b27218d78f5b640c7bc2b68e40511119a3f0ea09fdc027cf0698f94f9e27a32e6a71726138798eaf448c0c49819f4edafabb2be3529f317318f3eca9e4d132f4535edde960543aa9140bec3e23c84e9e243fe7fd036bf97c12b19f5afa2d14f2cbdfa3d8712b4f9ecbe76d562471788fe874e98fe20c37c85d9cbc09962dc278850cfc04baba0d1a43b6fadb1aef50c4aac05b852f22b36cd97c13710d74909de18636fef461d661ad154457e5b7e46d2f809f5bb2ec91a64869f105b9e44513ee2a81e7050def589eaa184f26ed5eab83875849f1925bfbc97339521593416a8ce8eda787f6bf35a44e1e4257f421d188f40e0e08ffe6818b619d3ec10954c85b0c75f2e252f0d83b625d6b90cd06b5eecaf5cc3d0503573063b4ca8d13878c0b0e648184ee67e3dd6d36436e0a115fbcd8ea5331181f555ce3fcfb1666a98b247f12f138f3df1182ff5bdf286887eb360a8e38368a0845b82022653310259fb8b9247af068253270b185d59b18672620f335722821ebd769180e9cc4e950f11f5de5861d25ae50b5ed1631417def7106374017894b85cb0c9ece07205bac245d96c35247655f75d77230ef52641afbd2cf9c3ed694735b8c4c4cea966644fa2d27f1e4e84384f9f1a5c7f34b14bcda8d6ffeed98f4fd021c9f93cce46bab01719c0a9e3b5c8d747ff063c02c8338a196021f905cf903550462f8e4b76d20e3428b3d6f2e06569e8639d3d9bd82bba72bae0d6847769cfbd02dabb54d4d859e495af4d59e1ff85c6aaf2c49acca5f6f121b8bc86caaf7dcdaf15c0e46bf68860881214426c6b83185600427d7be317811c40acb36efe85339a17004a5dacb9c6c5e4c77ee1c3f940046b3d914fd3a15dccae4ea875ea1a8274b84e4476f1a4549f47820fd44119fa7f449f19b20aa217d65f26c8dd4e80e18bc3a967145c9ba9bfe01ccbbf143ca1b23db90114f1fa23c0f6b30d9f6a32d957c6c678eacbbadcc7fa5b869fb53504b8fbcc0f280df6419c78d086f7cfa265d2c0c49e4254531eab4d9f978f96317d246f6ff2fa8de70b0da7603069683d24b25de6d5d33f647a88bf7048f5c55ce9ac66ca84427848c5f43b3fa9820eee13ccb1aef9d254ca9415908a1658763009f8cac926c80c3d40948790916dc44179f12b98b79c7b62e1e717acf0547c933c1c66f19d99bec024a5bda746d1eeded625565f8cffe3a3a49967a36bdcff26fa46967e5d44ef0fedcf62572bba5f77d41a085cf9ffee929d40e12b33dad970f831b2f01fd9a78ddcb7e9f5f68a5bb8b7efca964037615cc0353912db94c755211b77b7a90747c4609624c9b5c1af798942eef8705309550fce922a622044ca81e439d66af1b2f4b16fa1800568e1d6ac0e3d0cabf12e65d629fb9da3f33562fccd0d09517fb6cf089b9cf0ffbf6618b68ced984308e4c61b0614b9076860dd9e0edf54fafce7b0db0c3fb895df750395360d8443b46d79c179c2723d89245d35a4d830b7359340788d9a29d49fc81b782c9ba1cf20a33637ed80f7cc452b9781a114b6a1042c795f75a8dc3ce1da87052209330af6565cfa777fe6ce0caf11dde422c8e6cf5e1dce4a18b2e2ce84152f0932b5430526078a575cac325d23cce89e6d4d2f531b5d0ee52d5a6ad505542c97a924caf09fe88a29724b178150843617c5b73dd11c7ce679112483f78cb4b677f2e32b6ff80e95aa5af75d304ae4842b619dd7fd53ad97cb7d8ee696c3344fc0a3a2cc208b387e146a6f4b4eabf86b9799437c321adbfa86cb699c78d49fe70fdb1e170ce8b56a904704c29da92fc218e93dbdd4b45bd860e747279cbd7a8f674cc155e181ed8af871ba29fb3a4ca4e24224f6f9a16b0dff93b7fb58f7d5a60932ec4de50359ae9b681748255d989724362e22339b639eb188e333797faf86ee1019a1d341e62f5b7e770416185e3fe33dde45c4ecb92069be3747fdab398026318394e551bb29f17d142d6dd7665d685a5f34449d6e1a8226e73ff424870bac6573bf3cdc5cd8bc87a68670d070142ae2c304dc04b5bb90fd7276b2e58c9507391e4334ff65ec9383edf9ee255145a20eb6a41b365ef3003779cbdeb665473c7f805ac192615d96adca9440277f474c297c63783ce8908d24d1e62959e3a53469a35ef744ebd5b158b9139db63ba4c643848fbdd69f0817e042a24eea70758d56b17ea3a4db6779cd8269ad4b3accb0137f7f0dc9b22e0b723d3a06667ab052cf0fe5f46192562aaa096d4579f6b1d6cf0e374b5835c0ec234e5e022be5329559fd4adeb81d1a4fe30c47aa9b1174d4f39d4af994bf7dc1d129cd42954bcf68bf707974ca477ce58bf4d16540350b7ba276a38cbd8e37292ef6e05759421f36865e90f0cf53dab1acd349a277ff56464b7d1c532865be495ab0e0bcd70aefba1dbbd4beb52102c214e9cf884143955f84081ac6178e1d5943b94901625bf841e220d732f1ead1454dc69fa218eb06545005b6d24f8bda232f212e57e98571e4bfbe9ff67bf67a4aaef7a1d478baea12707427c612ff35d4acf56de7ed67ce79b722ea5f53e807b523b99e5c4f43de1bb38c40eee0f3532b6fc8e2136d7c55d30efb5a7311dc6fe5f5274c6316095151c0220fb85143919ae0372e8f7d420c8e760255dd4e0302edac4d98583205dc2a8f938b1aaf801af4296661e4f43ffb65548cc5b1f2bd2a0cc1eca3db976061f7bc25f8d89a9ada0d9346d3390e97a2c86e164ef26d3c0776a24ed350e682fee11b9f55d69a3389fa558c726e43b80348868707d4c1ee144394b3e493eedef28d9de9dd439798c4f1719ac473c7786fa7d023ca567f7216aea54915ab4e272664ee545d9c5b8cba286291fc82a2059927b8fe6dc506923d13fbf154ef3d0a96c9a094f7f197a0c46c160cecf8cef6d7590402a5af962ed04d649bcdfcb224d510b319ffe98143bc781aa8d8bdb09d0eb671cfb33e292dc9fbd5c250a804fffe4cf0f1c5ae5f3ac5527037a8f96d234be899bf185b45aac7783ee4934c1bdea9dd3d71b92a004e2a03993c3d081359d15fcd31490917b13619b96d4adaac7aa2588acc2d22914275f22751283e83c72c7ce93af3d126b4ad51623630b03a89e94050b161349ca37df6bbafca48d2739f72f51994a38297280238e8ebf0466f866696aa26c57b448c8dc6b85e202d0bb61172805a0ea0e1637ddd256d182883afc748eb0fd4abaab390a181ba3e39c608d4a46fade1112ed3069fb9633cf46b83104cffc9b447716e268f132c884af0a376e7c443b14b293e27d93f10fc48e0beac0458978235e747dc4dd19c23168cee862c5d201e49b52aa1ef1b66b9ed54e3664e5e892d08bc07170e96f62f234e97df78eaacb3db8f4dac70b2a053cda9272d41cc3c8080834b22e73727e643846682e14ae00d99706b2e21d8ef33a7544ba63661396385ed575de8584c58ed4ca46bb63edfacdd698393bb8b3b5e4fb0504fc72bf767b3f236f67cce9a4c0a41c74a4d49a07ac268ba8585000726523de4fcbe235e50287b4b58aa132d931aa35a0aed180dd4062c21054af361e454b30f59592c70adf6f2ff5526332e537f4d319c37d0ef7dcbc007baf2f661954563b0ee9af158b3002e88f9ce09fff5906be18de9fa26875de1a9df69ccdce0acf4d3e85ee14a5ed48029befae9609260473271c3bb2960967670f1e2fdad91761b4776be1b9267b94110c7a4386e74c12290f8068f5ddae435e4607ac629320608a1ebc5654a2d592f0038a0d4a8bb01ddec8e70cdad085001b9350f42e05502f6e78c544ae8c84fb88b59974ab377030d0b404cd4b32cffa064c018ebb230b0d494149252b7072cc13e9540ae674f6d5840a1aa430406ff83c471f4625b1f924e7c40113cd82425c993e5f63df837c7d81a75894ba628a1cab61b1c1d9533d4c50c2610707416ed73cf8c2c570295a7c7d4cc6f2d0517adae96ffc35e82c3c810134324de949a68154a5d96baa4641b3d88ca423e4602be9c3e5c2f4725781da8eb362df81bcfce2263aba4f8b99833deba1a6945c08033ff373b06143123864d61a6ffb0fe7fd2f90a0fd9dea40c1d429f25814b6cd0a834d83c94b6a95195127fdb946dd2899306f67ac0d644d4ff20f0f8ecbe5377cd37c87e7cebe30ec3cc1aed5b8b51fff98b0a4495ec8494192095f67346c66045358ac8d3f727d82f3ac2c6ba0695443087845fb92e6fc9275266dbcd43d820d14a5ac488ace6cce143111e6bcc8e8507f99aa858e31b78c671afc4ea8251a9a4f733e9e9f0641f7b45c3dd5953916cf83d8cc0655b7b9d465429f670e851b19fecfd0ed0155399f5a44c7339278e66cc60f85e8fda3144339d9714e784f6f82625413ade9023b20ea1752feef825f9193f944c00a288c3f427a478c236871fe046ea031773ddf9291d494f7caa727569274f59ca39970230430f798defb2406c1a586ac2e04055d362ceed77352f0904ae27a6bb2bee2964ff0866d064828b2c0dbbbe4482a65b0b9d95b06eb8fa9b28f95bfccb5bc9ad9d9651110448448459df7b5b9e2117ad35dcf57a2c196738d03fe3f7b6d2e2af1b77c6c1cb0cdd5c1efde67a6f6f2da66aaae37d9584fc18e8e71eee4ac039427fa3aa6af0110adb96a1dccda1b3ef9bd40afcf7a16b8fa696641f0b1f658fb528a2edbe5bd16eeabb496ea165ad378eaaecba652fa8abd136f1e270a92ab23afaffe7b78a8925efc4582946061cf98fe027e4491a357e10864c146b3ebafcd0267753d090775b38ba1707d688986f502fdaee5e230f17d0d4c2124201dde608f864bfeec1a660d0e106df261dd2b587e6d52f040d779194a8a8f811010582250aefc47862b2eed92f577ac260edbbfe2b8c66b7141c0bb75802159b30c15b16ae97436d2c24ab9c7b5be5397193e01c2ebcebd0dc5b2a57f7896b7fc312098a97612f7a3de2f1d20ce8849590bce9d5f2ab5c41e6dcf96ab963edbfe9c51c1ee5f580d99ae937dcf73a0d5f5576e9969b6de8f4c0052890306993d66220a92b1379073d11c4e65723d7a7b9ae669916c2316e7e5650eea10622feb61f679bb62c2390318b2e8ab21f1d7e3bcb95b2be193346e2410c4d51857a52302d26fbcd7ca87adce72cff8020ed87b091794958d4b650aa7631cc826f49e8599b3e018a4782f51f9e8f4f9983124fc4d6feb6021bb37b4d25b104faf4a2958ad2c8b8467725edd55ed5b63662a79ae8f017fa4f9c2140b372faf9b4408451c59fe81370b76700a2b994d0b3ab2593dc6355b8be1196a71f1d1313d437f987ce756227f3e4510ecbe94eb69c4c6b58d4937a6efc42afec1acca8a692163aa7b98f90fd49d55a3dfc82af8a887344076830738ae183c1711211f7edd51a42157961ff615bf75e14b254954487c75f207d00dc0a4a533fd41d1cc3fda748b2683f8f83b3c6929a4a7764a1f3735460865a97ef388ba443cf6d016ae2a78927a71db644045184d9077d9345564d49ebbf81d554a2ebf3fcd372470b93e70ae103b4e5d5fc1c1994cc382fe6023a673b7fa017ed7791f555f63d85484bcbfba842cba7c27c24102fba11b50889b27e818190511dc8e6ec2077a600fe4600b53754b97499dc575c75951b5b3d0d574a31a870dcf7edccab241f469f0fb3202f6fbbdadc97db572a1d099b37d7786a9c59111577381cc78dcf061c2910234c47e60ca0e612411e557546bc11b8360deebc5068eb9e3608d30c9a27dc31ede6a904a3775318a98f8ba3cbdfe5408cdb3fb808dbb1bb0a481b76d104630250ba0571d41822c3b67b63b69533ce4a78eef97a60bbb0da69f5b716b4bd9e779964711d302b4e0546e549634cc6593846cd78f08a123214673467fcfea051e4bedb467903117927e69356d52097cb584d4f3b98896936e1065c16d3287cbfbf7e9a248aa50916ebf1d9687e70ca4e6927f5d0a5241da60a05e30ea95dd98d08a7cef97d9dc33ff24a600f43fb6c8b3f00b35ea09824e6886aeb43de83ea889bb8c0ea877d1e277ac6d835d2071b00c71714d6621e64d6b7a3c843af13788131fbec6b23148e51b13493a39bb1fe5942088fd2c11a7df97be900f4ce37d4f3eb6448b946f1ac643e64304ed1a7d1090cf7cc646e43a95bc254b05cb430af78d3b54229af7626e8807eb4525549ff2f881ceb9006611337644e92da2760232b72ac75b4e803c6196e017e2d0d6152f063987c8c86aa71136c849f628c34e6a9a6246d52600a01eb8d15afaf9f5032b40140f2febabb0500c52b619b3f0bcc3bb9391af9aacc0a3f8ffab59a0058f0bf446117f9d3f7845709500009d54f28f5cce19751a9f818fd4c745b9377f3088ac04ec705d029f7e16429847b534aa804441ccd5535157789e4712355558d6d022cd1d9b10253200198bb6e4efd9d0508aa3539650beb6f97ff389c89402b5713b480144e63b4259ca44342b56686d201bef4b83de1b09ae89adef021b475491e15bbf06bbb9dfceb1683583e17af35a0bc564b90feb7f67468002bc39a86b117892179107c87012f6d8dd1c74a8043eae1f0390a7dc508aa0a0ee83dbf3db5dac6c5536f3ad171e7287d80ed64258d04b437925302a6b4054ad676787c4b19eeeab7520da81e54440f799fb65e461e60b9e17b29723400b911b07eb61b67ea049344d3f78b7c60bb1e5701f11fc85fa707f167f80fdc7522034ae61407b3c5cc9d69af0f56a8acfed0630a6047ce4ee6071ec52796ea974711611393fd52f8824b44b84ca39f7ee5d229182796017603fdeaae21180cffe16e8bc70418c2136a0d64633c956ebd6923b78cd961cc3e9f3f27bc88a4ed0591d0c8645360e88f5ecfbce02889e85884f3c2b8ce929d7efa6bd919d85132a08ee7d56d0e749b1160a3624bb1a9ade30dd43519d7c83e56d8ce395a7d74104af3929a92a1e6e7c1e8eb96403debf6678a2de68e7ce2efda60d19b4f54778e1d3e6d2fbb6ce7e7e75d21a41aad2223916d6f56649526c9893a2a7c533aeffcde5cad42c05467fe44af3d4cfcd663dcf217795772e9140d40e1426dab09e5ad6e585345cddfccd6908610c40c27cf6d6bd0363c57ce03633ad890e3dcc8d72722bf1b00f420835edeecef752306ae45a69b7ec401ab308faa5686f2eaa606c73b04395cbc3bc4638772a539c0ac56197f309a411deeee61a0724d0ad6c635c375ba78654d38bb11100e7f48c0fe2365b6cc696e64bb8c25e544aae04d0313ff86c268d8b7f2852f604ef3064a71e17d0cdcfc541657134642d6d90011e7df869abe498cba553ebb2b353b81b7cb5c7905057ed88d770672cb23d386e71f337102e1e4c5c029770024fc750679842a1a0e0193e1bc95fb6e859d0198be188f5be38ac54cfedd4c7c7cefcdc6b437684bb321882e87df0764fc48c8c8f35fe88f4e47552ebe7c83e98147611da51717c6e44cf137bbd7151c6c882827a9a892b0e5df0e1429cbc257458469a4faf5a53f1008337f339be5686dbe9900e98b04aca38559e38c24ffe623d09f50fe141f9c1bb0bd7b9213649d587884a8776f8331dd5d9bd49e04aa804a7101396d7641cd918936c59a7a5c07f9c6ea77360a01b1ec8a3463c5ef19ada7dd027beb8bcaa785d727cf12d1d58616c38c3c0fbc56779649cbb9d1f87676c4c5d91df3b03be9ea61674a45d0f932e4cc0917a4287ca2abf4e519727f70df666035a014d0dcebcd4bcb13b374cfb4512f513f5d43f49894a337cb276d11fc125ff2ecee09ea5528e3358eb1f060847059aca6af2dde42eccbb1e0781ebdaa9dab1543c7e141ba565ee59a72d5a491172bd4f3b85bfd63fe5c988293307628c6ea7c5e5c73f3b77e17373ad6ff568952fff3b76ecaf219b53d0b977b146e54f238f969cb9b3e7c2f532d5fd229c26dbc4187e9b85d3083026d936cedb639edc328d7738671854673b394715819637118078200b09f842dac99fc7630f3d0207873a80511aa30e89c10c377270be09472fcfd6a097132135d8ed13e82bdbac4add682f708d74f66848e600cb98b7ef194c14c362b94f0da9b301a5712915a9eeec98bcdccddf9a2db2b53cabfb415f9bbb919ede08a39015c8e9047654b381633b3dc2e929ce72554b702e457e3fb254b7386a81167f90ddbe9d9ae04247efeb1c87c6f926f9eaa4822b246e67b4109d45025e778136c460e8acb5fa3c5f923cb22e067c2c775b199c1250ef4e93f6333707e9d9eda9f71b4efef4e57c2494336b3466a9f955a1ee9e952cd770b5fe6c9e0ecf87569cf9fcfc1736bc31537c1dbb270347ec9d871832b9ef9176c80370d39b8df51e01da3d4e06f7db5a6ad7071f68e0daac982b1da37b9ca278d47313e43c3e7b54500513f3549a1da8e6e382def11825815669eae9ed91f503bd60936517e3abd5ea572be32d1409e856693f2f7ccb05c4c2882727726ca6933b1e6f2f7b1135585b71debadb6a2576e921d78178cf12f64e0454746086ec9c8b7162eafb5c4ceecfc6683cd5e1bb1234e39af857715b98bed5c65fc8294a38c5bc058cbb0ca737af0f3d9a3e368648994a6de601ebcf55fd24c171ff2277f18c577a8bb291e7dda8d8a9e8f221813d38ca325fd17df187bf0ae4c7588701ec50e2f04d21a712ee3e0c91fd744a493354b5f1a0a45ff6ec0d7c3e766e825bd4f4d2f0ae0f9732982f369e6cc8946e614e184bcc2edd888cdb1600fdd8d529f5e976b4a9f86095314464b42a327517431c266f2cf9658978c2ae9462fee054a4d8b8f0615708259876230dbbb008fd5e89cc3685e61d6d500bd96f943fd585ef5ab1085fae64b7a50b596769c3938eded00de2e54495a4e7da560f969ca61fc53ef9c7581ab4b9272eb13957202dceae9ba50f33657c9659f3231db09abe1e06a62a0ea02620167e9004141a22d99d6f66afeb0d3a1a0ada53e6679a820c5bfde2cc4a0a2c1767080c97c8ae19d4537d82b4ebc8cfd62d542a1717ee6b4ec7eab64092f42a0bd61176855be17f1d12c71bd5ab9922702de0bc085a38735ddef15a2cb8bf2700e11dc9e5bfebb07bbd0fb37c9abf842aa9dca8f64733b79fba6ca80abf51ce2b9bf0886bc728a28e36d0f75c91465a18b815ab059aebfd192ff45faca088c41dd34d7e105e1ec43d643ced6387169e58a6ba9a5992c1f62305aec42fd023dcf85350883d418ccf2c4640d0d08e410d0a1b576decf719627a142d7b0d3b6dc483a5fbd8893c43ed281a2b2a813eb8b3c0281daa97d0fdf4a211db5a74a9a598490e4d22d8f4f7a693945c4f6829ab2390b3bc78a3706be4d5c6990b5c9d448bfa5b90834624b7ac5965d0eac6b2d1ae9c110be5f4ea66a1b84cf2fab72307d87b23f8842d497ba925ee2aabc1f5efe09a67735bd3af99bff193a7309011cbd2f857381367dea044eef21aaf89fb5c579fb3135cdf0af070026bf391ea18c5f148776d8728dadbf4c56d69bc51eec7c565208fd3c918fea5639329ea3c085437e950435257032d9f47eb93c2dbdac32e4418fb602e1d6fdb08f182fe92dc9c69552f46f5212fcbade59572d36b88488244328d1740de4963022a88ba2cc428d67675d7374bf5a3ddf41d716674daea37a35ed45a63515d442e3cc62a194b6a33449e2677c57207d8035ba82519ce1cd8cb43abaf297b8e912b9c2be4809a2d89569afe07433b7ff671edc5ea6d53684ae2409006df0f672632549912c0dc65a12e67e2479a7fbdd7c629c52948d0695e4ad7009716c8628f2b4980a0f651773760ae0bfb9d37f14025b54ccf74dc9b24b948b9a500e4bd3e6599a6f41ff547aa088caf576e66e59b35f61fd2de9368d3fd342876926f5373dfcacff0f85748a7290d736fd38f2bbd324263c3e79dca2dfe705828154287462c83dd4c2154be8eb61c3859882b2d7c2ff38193db816333b000ee90855efc484c10fe9de39324a64cae7cd37085e301831d493293330c16aa717e5431fd8d580879dd8eb7ce028a194441b82e90b7918de3edbf6165e8a5f1d14e075ccd93dfb2fc83e7b03c25ee8c350d9b1880ab422331837066a978c48a706dad8d6d56da059fb8b797c3bff56aa3ab0a3ed53bfa26ac972421330af0e16f0f0778a6822d55d49196c09730dacfd58a4e8296d6b31e3e2afa107c3b6b29b398ddee9e2b8023fc211594a4a321ed4246f77a330cb4628cacbbdecfbc2b09c9b9ae344b9825cb5ecfe16ea6102d0930c3efbff58cdf226e6977a7fd414409a15da8f616a01830ea49caeeb048cdd6233330d2063110d3edd6a07dfa7774d1993bab4cae1e8497f9e6b815bd1ab3bae5d1f193ba09e306b9d6055b2aef66c4fc0642865a35bf6dd483dfbbba6cea2a6ad9183ed45d2fd5a08d2d4707258914d6f79762613b8237994114558eb90ab89ef3825c974f09d9b2398ffd24838ba2f6e13b5d24754374473e66a0554614c03412e842ceee95565d22fe213aa0e0c2b565aedb0ead8fc275f9a5ec05ad0daa8dc48072e9ffcc4068bcbe8b9dae65b20fcd7f96c701bc195c4cf6ae3a1e6f3f4bad00f82061b6224f04b9cb5b5c0c1c26f8879600171f3ec2821461c0804b67003170ddc4c1dd50f6fadf72824d08070776db53c1e613433eedb1aa59065f18d7a5ada9b901c7e35a8751d645d3e826e5705e4f201d8621443ff396934ae9d382c897cdf8b5376f27f96b7c42f487b890e66fe11a507ab051e7f96a345f545812d10923ac8f8d3795404512740e2d8e7bc7820ce2772b927163584428d8e927dcaa4da6855c5f38044a254e1bbd5119768ced91392957c2e41fdc841f2a6312b16681f4fc62788851d4bf653a0edd7d30029346865bdc924c778127f7a157c19380376e569bea2e53ce49a1550522c0e1112daf37ca42c9da1f4c2b4db461146a7afa95157f8981e256d80e7fe923b9be7fd4589a9160909abd8fadce767e38b0a6b8c7b49a63468dbfa9b683415a225d35cb2ade8c490cd592028e57f66c5aa9920edc18bec58578e5fbac960a36efac52b62fc5dc080c4361d1342de613df0d7a471ae95e46fd38c41cd87a9153b0a25ea4ce94ab6e4ebcc82068014cf396d5688cf59efcd31b7c0b7f0862c0c51de7c700b7309e84f7ecbbd441a38a020e24d1f455aa72989bf587c35ce73d335db30c9fa6a6271eed9f54cf18a62415e3db686af1b8727cea2e95a3c0b7499073abb92d19a9a84e8edc46e16981c3545c9f6ceb854106c53fac553ba41ae927b57d9464fc844076930ba725795cb342de5e1d5bc6dc1ece471431f34696f49adf044d395cae409d78f5a9235a116ff17de4864f9f253a2fb14ba85cffc2731d240a44370b793e232ae84347dffaaa2b5363153e7bb600f8cb3f6df572d375e7416e0f14462251df1f86ab4b6419ae5bb58d58d6f799f56ff2fb6b3386c9649da353e11253ec28ebf73a08afacf7de727b7434c294dadb46ac13eab34a8258778a06e59cd7f76fa5080073d93202171e3a497c1b5fccaa4050ce300575471594cfa077f2e2944898b3bfe3824e06408de87a8fbeca086f65e397b62d4863718ea81577c048ed90439c1b4abceda01dca0cf2ea3c36e389c6f6734eb050525c5655d075125585d1545b058decaaf2539f5db1679b0fbeaa51b60459e979222b976796e724aafe4cf573803b89655ff2a9f3228133099f2545ab2fa4777ac0d9c76ba1f628cede21cce55dddf12a9556b09670172141087b0ca345a60a63563af83f7be1c0c9073284e3debbf20eeb4440b715e5844447bc1ce40b97e6b54c5986692d0d93d5e7702d23e9fd47caffda405ea3b5d6e2d8f739ff55167f2361954bef69cb3becb824a8651003886fb7ea9598d8306b1328955ce1bdffcd048793a2678f22e1534fdc897b1ed5fcbea8482a893650aebbda53e425e7373f53e677f61e36113b212149a7d29939e6429f21c65857eb17ea26b0b6aa16a62bc8b79f5e1a54deb2bdc4daaf65a0a70ce4af38f080a02bfee58777e45aa5ecca03ad3887c1b9a85f9e4f804b6fe6f4de7fdc7534c5b4884b09302403a8a79c9b5f9ed5431f9cbab1ad93ffa10a6ad3bfdc3ff9f1150c1378a4fe077f548c1d33669a79d813fc58c314443661a1b690cf8d5b3535rootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrubygem-ruby_parser-3.10.1-lp150.1.5.src.rpmruby2.5-rubygem-ruby_parser-docruby2.5-rubygem-ruby_parser-doc(x86-64)    rpmlib(CompressedFileNames)rpmlib(FileDigests)rpmlib(PayloadFilesHavePrefix)rpmlib(PayloadIsXz)rubygem(ruby:2.5.0:ruby_parser)3.0.4-14.6.0-14.0-15.2-13.10.14.14.1Y@XXzWW,@VVV@V/g@UĝUhTU-@U Tء@T>aT;T=@T=@SxSAAS@Ry@RQQr@QHS@PՠP@P@P@PO@OpZ@LL%@K4@JlE@coolo@suse.comcoolo@suse.comcoolo@suse.comcoolo@suse.comcoolo@suse.comcoolo@suse.comcoolo@suse.comcoolo@suse.comcoolo@suse.comcoolo@suse.comcoolo@suse.comcoolo@suse.comcoolo@suse.comcoolo@suse.comcoolo@suse.comadrian@suse.demrueckert@suse.demrueckert@suse.decoolo@suse.comcoolo@suse.comcoolo@suse.comcoolo@suse.comcoolo@suse.comcoolo@suse.comcoolo@suse.comcoolo@suse.comcoolo@suse.comcoolo@suse.comcoolo@suse.comcoolo@suse.comcoolo@suse.comcoolo@suse.comcfarrell@suse.commrueckert@suse.demrueckert@suse.deprusnak@suse.czdmacvicar@suse.de- updated to version 3.10.1 see installed History.rdoc === 3.10.1 / 2017-07-21 * 2 bug fixes: * Fixed identification of parser version whether Ruby##Parser or Parser::V##. * Fixed squiggly heredoc lexing when using 24 parser. === 3.10.0 / 2017-07-17 * 4 minor enhancements: * Added support for 'squiggly heredocs' (indented content). (jjoos) * Bumped oedipus_lex to ~> 2.5. * Bumped sexp_processor to ~> 4.9. * Made STRICT_SEXP=1 safe: converted indexed sexps to semantic calls where needed. * 5 bug fixes: * Clear and restore cmdarg stack around defs args and body. (presidentbeef) * Conditionalize use of sexp_body= to make it compatible w/ sexp_processor 4.9.0 * Fix up line numbers in strings with newlines and `#`. (presidentbeef) * Fixed line numbers of resbodies. * Fixed some tracking of lexical state. Fixes bug #249.- updated to version 3.9.0 see installed History.rdoc === 3.9.0 / 2017-04-13 * 1 major enhancement: * Added tentative ruby 2.4 support. Probably missing things. * 13 minor enhancements: * Added RubyParser.latest. * Added RubyParser::Parser.version to make version range comparisons easier * Changed superclasses of all parsers to RubyParser::Parser * Cleaned up a lot of the version specific code to be more generic/flexible. * Documented how to add new versions in README. * Moved RubyParser from ruby_parser_extras.rb into ruby_parser.rb to fix bootstrap issues. * Renamed RubyParserStuff#get_match_node to new_match. Aliased and deprecated. * Renamed RubyParserStuff#logop to logical_op. Aliased and deprecated. * Renamed RubyParserStuff#node_assign to new_assign. Aliased and deprecated. * Renamed all parsers to RubyParser::V##. * Revamped grammar preprocessing to make adding new versions easier. * RubyParser.for_current_ruby falls back to latest if current not available. * Subclasses of RubyParser::Parser register themselves into RubyParser::VERSIONS. * 4 bug fixes: * Fixed `&.` after newline. (presidentbeef) * Fixed bug setting line number for hash literals to line of opening brace. * Fixed grammar preprocessing bug. * Properly handle kDO with no-parens stabby lambda. (presidentbeef)- updated to version 3.8.4 History.txt removed upstream- updated to version 3.8.3 see installed History.txt === 3.8.3 / 2016-10-09 * 1 minor enhancement: * Support Ruby 2.1 number literals. (soutaro) * 3 bug fixes: * Fixed line numbers for strs with backslash-newlines. (maxjacobson) * Improved compatibility on tokenizing number. (soutaro) * Refactored and fixed multiline array line numbers. (ptoomey3, with changes)- updated to version 3.8.2 see installed History.txt === 3.8.2 / 2016-05-05 * 2 bug fixes: * Fixed lex_state in interpolated strings. (whitequark) * Fixed safe operator for newline/semicolon contexts. (presidentbeef)- updated to version 3.8.1 see installed History.txt === 3.8.1 / 2016-02-19 * 1 bug fix: * Fixed problems with tLONELY in mlhs_node.- updated to version 3.8.0 see installed History.txt === 3.8.0 / 2016-02-18 * 1 major enhancement: * Added support for Ruby 2.3.0 and the &. operator. (presidentbeef) * 2 minor enhancements: * Add support for safe attr assign. (presidentbeef) * Added support for safe call. (presidentbeef) * 1 bug fix: * Fixed parsing of { 'a': :b }. (presidentbeef)- updated to version 3.7.3 see installed History.txt === 3.7.3 / 2016-01-21 * 2 bug fixes: * Fixed parsing kwargs in defs with no parens. (presidentbeef) * defs should have a nil node if body is empty.- updated to version 3.7.2 see installed History.txt === 3.7.2 / 2015-10-26 * 1 bug fix: * I hate regexen. Fixed a lexing bug confusing strings vs labels. (phiggins)- updated to version 3.7.1 see installed History.txt === 3.7.1 / 2015-08-06 * 1 minor enhancement: * Improved understandability of lexing postfix symbols. * 2 bug fixes: * Fixed timeout caused by regexp backtracking bug w/ long strings in 2.2 parser. (presidentbeef) * Rename DEBUG env toggle to RB_LINENO_DEBUG. (tenderlove)- updated to version 3.7.0 see installed History.txt === 3.7.0 / 2015-05-28 * 2 major enhancements: * Added preliminary support for ruby 2.2 syntax. * Now writing all 2.x parsers from one source, generating racc files. * 1 minor enhancement: * Added RubyLexer#process_label and hooked it up to "x": and 'x': productions. * 4 bug fixes: * Fixed handling of block_args to be consistent across all parse versions. * Fixed lexing of label assoc args w/ newlines in between k/v. (jeremyf) * Fixed lexing of x?'':y for ruby22 (not a label). (presidentbeef) * clear and restore cmdarg stack around def args and body.- updated to version 3.6.6- updated to version 3.6.5 * 1 minor enhancement: * Add line numbers from block comments =begin/=end. (presidentbeef)- updated to version 3.6.4 * 1 bug fix: * Removed shebangs in tests because of bugs (aka 'features') in RPM packaging tools.- updated to version 3.6.3 * 1 bug fix: * Fixed bug caused by latest version of oedipus_lex not exporting lineno accessor. * Handle return/next/break/yield w/ block call (WHY).- adapt to new rubygem packaging style- added gem2rpm.yml as source- added a small scriptlet to fix the shebang line of the test scripts - also added a gem2rpm.yml for later, but did not regenerate the specfile just yet.- updated to version 3.6.1 * 1 bug fix: * Strings that don't match the encoding of the file are now returned as ASCII-8BIT. * 1 minor enhancement: * Added new_string and switched all parsers to it. * 1 bug fix: * Fixed line numbers of nodes following multi-line strings. (presidentbeef)- updated to version 3.5.0 * 1 major enhancement: * Added initial support for ruby 2.1 syntax. Doesn't have numeric extensions yet. * 2 minor enhancements: * Converted ruby_lexer.rex to use new grouping mechanism. ~15% improvement in speed. * Various lexer cleanup. * 2 bug fixes: * 2.0/2.1: Fixed block kw args. * Fixed env for kwargs and friends.- updated to version 3.4.1 * 1 minor enhancement: * Added StackState#store and #restore. * 1 bug fix: * 1.8/1.9/2.0: Fixed tSTRING_DBEG w/ f'd up amounts of nesting + braces + do/end. yeah. I'm as confused as you are.- updated to version 3.4.0 * 1 major enhancement: * Replaced hand-written/optimized f'd-up lexer with an oedipus_lex generated lexer. This makes it roughly 40-50% faster. * 30 minor enhancements: * 2.0: Added support for a.b c() do d end.e do |f| g end * 2.0: Added support for a.b c() do d end.e f do |g| h end * Added -s flag to ruby_parse_extract_error to output timings. * Added RubyLexer #command_state and #last_state to deal with oedipus_lex differences. * Added String#lineno and #lineno= because I'm a bad bad person. * Added a bunch of RubyLexer scanning methods: beginning_of_line?, check, scan, etc. * Added a bunch of process_* methods extracted from old yylex. process_amper, etc. * Added lib/.document to save my laptop's battery from pain and suffering * Adjust lineno when we lex a bunch of blank lines. * Attach lineno to tIDENTIFIER values (strings, ugh) * Cleaned up and re-ordered node_assign to be faster (ordered by actual occurrance). * Extend RubyParserStuff#gettable to set the lineno if it comes in with the id. * Extended RubyParserStuff#new_case to take line number. * Finally dropped RPStringScanner's BS #current_line. * Finally dropped RPStringScanner's BS line number calculation (lineno). * Implemented Sexp#add_all since we now have a test case for it. * Removed :call case of node_assign. I don't think it is possible. * Removed RubyLexer #extra_lines_added. No longer used. Complex heredoc lineno's possible screwed up. * Removed RubyLexer#parse_number. Handled by oedipus_lex. * Removed RubyLexer#yacc_value now that next_token returns pairs. * Removed RubyLexer's @src. Now taken care of by oedipus_lex. * Removed RubyParser#advance. RubyParser#next_token takes care of everything now. * Removed RubyParserExtras#arg_add. (presidentbeef! YAY!) * Removed lib/gauntlet_rubyparser.rb. I just don't use it anymore. Too slow. * RubyLexer#is_label_possible? doesn't need an arg- updated to version 3.3.0 * Notes: 39 files failed to parse out of ~834k files makes this 99.9953% or 4.07σ. * 15 minor enhancements: * 2.0: Parse kwarg as lvars. (chastell) * Added RubyLexer#beginning_of_line?, check(re), end_of_stream? * Added RubyLexer#process_token_keyword. * Added RubyLexer#scan, #matched, #beginning_of_line? and others to decouple from internals. * Added lexing of \u### and \u{###}." * Added optimizations for simple quoted symbols. * Aliased Lexer#src to ss (since that is what it is). * Allow for 20 in parser class name. * Modified parsers line number calculations for defn nodes. * Removed Env#dynamic, #dynamic?, #use, #used? * Removed RubyLexer#tern. Introduced and disused during 3.0 alpha. (whitequark) * Removed unused RubyLexer#warnings. * Renamed *_RE consts to just * (IDENT_CHAR, ESC, etc). * new_defn now sets arg node line number directly. * zero byte is allowed in symbols for 1.9 / 2.0. * 11 bug fixes: * 2.0: Fixed paren-less kwargs in defn. * Don't bother with regexp encoding options on 1.9+ to avoid warnings. * Fix constant re-build on ruby 2.0 + rake 10. * Fix lexing of %i with extra whitespace. (flori) * Fixed RubyParserStuff#new_body to deal with nonsensical code better (begin-empty+else). (snatchev) * Fixed bug lexing h[k]=begin ... end. Use your space bars people! * Fixed env scoping in new lambdas. * Fixed handling of single array arg in attrasgn. * Fixed test to call RubyLexer#reset between assertions. * No longer assigning ivar/cvars to env. Only locals should be in env. * Refactored initialize and reset to more properly re-initialize as needed.- updated to version 3.2.2 * 5 bug fixes: * 1.9/2.0: fixed assocs in return args. (presidentbeef) * Fixed handling of parse error when class is nested in multiple defs. (whitequark) * Fixed lexing of %w[] w/ funny whitespace separators. (whitequark) * Fixed more call nodes that have trailing comma syntax. (presidentbeef) * Fixed more call_args slippage. === 3.2.1 / 2013-07-03 * 1 bug fix: * 1.9/2.0: Trailing assocs were being munged into arrays. (presidentbeef) === 3.2.0 / 2013-07-02 * 1 major enhancement: * Added (rough draft) 2.0 support. Still missing some small / rare things. * 12 minor enhancements: * Added %i(symbol-names...) support. (%I too) * Added 140 more tests, jumping test count from 1376 to 2143. Yay for test reuse! * Added RubyLexer#brace_nest. * Added compare20 rake task to diff the grammar architecture against MRI. * Added lpar_beg and paren_nest to lexer to track state of parens in stabbies * Added shadow nodes for scoped block args. * Compound RubyParser now defaults to 2.0. * Fixed rake to < 10, because 10's file dependency handling is so very broken. * Made it possible to specify version in bin/ruby_parse_extract_error w/ -v 18|19|20 * Refactored to RubyParserStuff::ENCODING_ORDER to allow custom tweaking of encoding guessing. (samlown) * Switched `rake debug` to default to 2.0. * Translated some fixes across 1.8 and 1.9 from 2.0. * 42 bug fixes: * 2.0: Fixed a number of block args scenarios w/ kwargs * 2.0: Fixed args_tail mismatching against lexer. * 2.0: Fixed assocs to return a hash node. * 2.0: Fixed f_block_kw production. * 2.0: Fixed f_block_kwarg production. * 2.0: Fixed handling of stabby proc args in parens. * 2.0: Fixed lexing of kwsplat nodes. * 2.0: Implemented kwsplat nodes. * Added tUBANG to lexer. ...- updated to version 3.1.3 * 2 bug fixes: * Fixed begin w/ else but no rescue. (whitequark) * Removed literal stripping from block_append. Not its job.- updated to version 3.1.2 * 1 minor enhancement: * OMG A SECURITY ISSUE FOR CODE NOBODY USES... EVER- updated to version 3.1.1 * 1 minor enhancement: * Added MOVE_TIMEOUT env var for ruby_parse_extract_error to move slow files to a sibling directory * 4 bug fixes: * 1.9: Fixed lexing of "0o". (whitequark) * 1.9: Fixed parsing of unary plus on literals. (whitequark) * Added timeout arg to RubyParser#process to pass through to the real parser * Updated Synopsis to reflect new options for running RP. (louismullie)- updated to version 3.1.0 * 2 minor enhancements: * Added RubyParser.for_current_ruby to provide a parser that matches your runtime. (neilconway) * Duck-typed IDENT_CHAR_RE instead of using RUBY_VERSION * 3 bug fixes: * Cleared out body comments in class/module/defn/defs * Flipped lexer tests to US-ASCII to avoid encoding hell * yyerror is now an alias for syntax_error- updated to version 3.0.4 * 1 bug fix: * RPStringScanner#lineno was still using byte offset, not char offset. (brynary) * 1 minor enhancement: * Improved error output on invalid char in expression. * 1 bug fix: * Fixed lexing of no-name ivars. (whitequark) 52 down makes 99.9767% or 3.7σ. 130 files failed to parse out of 558k. * 4 minor enhancements: * Added RP_TIMEOUT env var to override default timeout of 10 seconds. * Minor optimization to RubyLexer#parse_number * Only output parseerror output to stderr if $DEBUG. * ruby_parse_extract_error modified to include 'it' blocks in its search. * 7 bug fixes: * 1.9: Fixed args in dot-call forms (eg f.(...)). * 1.9: Fixed lexing stabby lambda w/ do/end * Deal better with DOS files. Ugh. * Fix line number of production after heredoc. * Fixed RubyParser#process to reuse parser instances across calls. * Fixed line numbers for several productions. * new_call sets line number to smallest line number of members.- updated to version 3.0.1, see the long History.txt- fix gem requires- update to 2.3.1 * Fixed line numbers at end of special var+whitespace (larsch) * Holy crap I was smokin' something good... Fixed 1.9.3 warning * Add -g flag to parser compile if DEBUG * Lexer now embeds line number in yacc_value for keywords, helping fix up line numbers * Fix method line numbers when no args and no parens (quix) * Fixed line numbers on return/break/next w/ result expr. (pjnz) * Fixed some lexing state in order to parse: 'f (1), 2' as 'f(1, 2)'. (invernizzi) * Moved Keyword, Environment, and StackState inside of RubyParser * Added proper dsym and dsym->sym support. * Added extra (failing) tests for call/iter line number checking (quix) * Fixed line numbers for certain call/iter edge cases * Fixed parsing of: alias :"<<" :">>". * Added new accessor canonicalize_conditions to toggle conditional canonicalization (on by default). (confused) * Awesome cleanup: Replaced call to append_block by block_append. (Confusion) * Fixed handling last line of =begin/=end. (raybaxter) * Fixed source line numbers after heredocs. (jbarreneche) * Switched to hoe's racc plugin to clean up rakefile and builds * Fixed empty =begin/end.- license update: MIT See README.txt- update to version 2.0.5 * Started merging like lexical cases to try to squeeze some optimization out- use rubygems_requires macro- update to 2.0.4 * Changed requires around to be more accurate. * Fixed .autotest for minitest * Fixed emacs escape lexing bug: "\C-\\" (maglev/gemstone) * Fixed octal lexing edgecases. (maglev/gemstone) * Fixed regexp lexing edgecases. (maglev/gemstone)- initial package for 2.0.3lamb23 1501761600  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<3.10.1-lp150.1.53.10.1-lp150.1.5        ruby_parser-3.10.1riFixnumcdesc-Fixnum.riRPStringScannercdesc-RPStringScanner.richarpos-i.rid-i.rigetch-i.riold_getch-i.riold_scan-i.riscan-i.ristring_to_pos-i.riunread_many-i.riRegexpcdesc-Regexp.riRuby18Parsercdesc-Ruby18Parser.riRuby19Parsercdesc-Ruby19Parser.riRuby20Parsercdesc-Ruby20Parser.riRuby21Parsercdesc-Ruby21Parser.riRuby22Parsercdesc-Ruby22Parser.riRuby23Parsercdesc-Ruby23Parser.riRuby24Parsercdesc-Ruby24Parser.riRubyLexerLexerErrorcdesc-LexerError.riScanErrorcdesc-ScanError.riaction-i.riarg_ambiguous-i.riarg_state-i.ribeginning_of_line%3f-i.ribol%3f-i.ribrace_nest-i.ricdesc-RubyLexer.richeck-i.ricmdarg-i.ricommand_start-i.ricommand_state-i.ricomments-i.ricond-i.rid-i.ridedent_string-i.rieat_whitespace-i.riend_of_stream%3f-i.riexpr_dot%3f-i.riexpr_fname%3f-i.riexpr_result-i.riextra_lineno-i.rifilename-i.rifixup_lineno-i.riheredoc-i.riheredoc_dedent-i.riheredoc_identifier-i.riheredoc_whitespace_indent_size-i.riin_arg_state%3f-i.riin_fname%3f-i.riin_lex_state%3f-i.riint_with_base-i.riis_arg%3f-i.riis_beg%3f-i.riis_end%3f-i.riis_label_possible%3f-i.riis_label_suffix%3f-i.riis_space_arg%3f-i.rilast_state-i.rilex_state%3d-i.rilex_state-i.rilex_strterm-i.rilineno%3d-i.rilineno-i.rilocation-i.rilpar_beg-i.rimatch-i.rimatched-i.rimatches-i.rinew-c.rinext_token-i.rinot_end%3f-i.riold_lineno%3d-i.riparen_nest-i.riparse-i.riparse_file-i.riparse_quote-i.riparse_string-i.riparser-i.riprocess_amper-i.riprocess_backref-i.riprocess_begin-i.riprocess_bracing-i.riprocess_colon1-i.riprocess_colon2-i.riprocess_curly_brace-i.riprocess_float-i.riprocess_gvar-i.riprocess_gvar_oddity-i.riprocess_ivar-i.riprocess_label-i.riprocess_label_or_string-i.riprocess_lchevron-i.riprocess_newline_or_comment-i.riprocess_nthref-i.riprocess_paren-i.riprocess_paren18-i.riprocess_paren19-i.riprocess_percent-i.riprocess_plus_minus-i.riprocess_questionmark-i.riprocess_slash-i.riprocess_square_bracket-i.riprocess_string-i.riprocess_symbol-i.riprocess_token-i.riprocess_token_keyword-i.riprocess_underscore-i.rirb_compile_error-i.riread_escape-i.riregx_options-i.rireset-i.riruby18-i.riruby22_label%3f-i.riruby22plus%3f-i.riruby23plus%3f-i.riscan-i.riscanner_class-i.rispace_seen-i.rispace_vs_beginning-i.riss-i.ristate-i.ristring-i.ristring_buffer-i.ristring_nest-i.ritokadd_escape-i.ritokadd_string-i.ritoken-i.riunescape-i.riversion-i.riwarning-i.riwas_label%3f-i.riRubyParserParsercdesc-Parser.riinherited-c.riversion-c.riSyntaxErrorcdesc-SyntaxError.riV18cdesc-V18.riV19cdesc-V19.riV20cdesc-V20.riV21cdesc-V21.riV22cdesc-V22.riV23cdesc-V23.riV24cdesc-V24.ricdesc-RubyParser.rifor_current_ruby-c.rilatest-c.riparse-i.riprocess-i.rireset-i.riRubyParserStuffEnvironment%5b%5d%3d-i.ri%5b%5d-i.riall-i.ricdesc-Environment.ricurrent-i.ridyn-i.rienv-i.riextend-i.rinew-c.rireset-i.riunextend-i.riKeywordKWtablecdesc-KWtable.riid0-i.riid1-i.riname-i.rinew-c.ristate-i.ricdesc-Keyword.rikeyword18-c.rikeyword19-c.riStackStatecdesc-StackState.ridebug-i.riinspect-i.riis_in_state-i.rilexpop-i.riname-i.rinew-c.ripop-i.ripush-i.rireset-i.rirestore-i.ristack-i.ristore-i.riarg_blk_pass-i.riarg_concat-i.riargl-i.riargs-i.riarray_to_hash-i.riaryset-i.riassignable-i.ribackref_assign_error-i.riblock_append-i.riblock_dup_check-i.riblock_var-i.riblock_var18-i.ricall_args-i.ricanonicalize_conditions-i.ricdesc-RubyParserStuff.riclean_mlhs-i.ricomments-i.ricond-i.ridebug20-i.rideprecate-c.rido_parse-i.rienv-i.rifile-i.rigettable-i.rihack_encoding-i.rihandle_encoding-i.riin_def-i.riin_single-i.riinvert_block_call-i.riinverted%3f-i.rilexer-i.rilist_append-i.rilist_prepend-i.riliteral_concat-i.rilogical_op-i.rinew-c.rinew_aref-i.rinew_assign-i.rinew_attrasgn-i.rinew_body-i.rinew_call-i.rinew_case-i.rinew_class-i.rinew_compstmt-i.rinew_defn-i.rinew_defs-i.rinew_for-i.rinew_hash-i.rinew_if-i.rinew_iter-i.rinew_masgn-i.rinew_masgn_arg-i.rinew_match-i.rinew_module-i.rinew_op_asgn-i.rinew_op_asgn2-i.rinew_qsym_list-i.rinew_qsym_list_entry-i.rinew_qword_list-i.rinew_qword_list_entry-i.rinew_regexp-i.rinew_resbody-i.rinew_sclass-i.rinew_string-i.rinew_super-i.rinew_symbol_list-i.rinew_symbol_list_entry-i.rinew_undef-i.rinew_until-i.rinew_until_or_while-i.rinew_when-i.rinew_while-i.rinew_word_list-i.rinew_word_list_entry-i.rinew_xstring-i.rinew_yield-i.rinext_token-i.rion_error-i.riparse-i.riprocess-i.riremove_begin-i.rireset-i.riret_args-i.ris-i.risyntax_error-i.rivalue_expr-i.rivoid_stmts-i.riwarning-i.riyyerror-i.riSexpadd_all-i.riblock_pass%3f-i.ricdesc-Sexp.riparen-i.rito_sym-i.rivalue-i.riStringcdesc-String.riclean_caller-i.rigrep-i.rilineno-i.ricache.ripage-History_rdoc.ripage-Manifest_txt.ripage-README_rdoc.ri/usr/lib64/ruby/gems/2.5.0/doc//usr/lib64/ruby/gems/2.5.0/doc/ruby_parser-3.10.1//usr/lib64/ruby/gems/2.5.0/doc/ruby_parser-3.10.1/ri//usr/lib64/ruby/gems/2.5.0/doc/ruby_parser-3.10.1/ri/Fixnum//usr/lib64/ruby/gems/2.5.0/doc/ruby_parser-3.10.1/ri/RPStringScanner//usr/lib64/ruby/gems/2.5.0/doc/ruby_parser-3.10.1/ri/Regexp//usr/lib64/ruby/gems/2.5.0/doc/ruby_parser-3.10.1/ri/Ruby18Parser//usr/lib64/ruby/gems/2.5.0/doc/ruby_parser-3.10.1/ri/Ruby19Parser//usr/lib64/ruby/gems/2.5.0/doc/ruby_parser-3.10.1/ri/Ruby20Parser//usr/lib64/ruby/gems/2.5.0/doc/ruby_parser-3.10.1/ri/Ruby21Parser//usr/lib64/ruby/gems/2.5.0/doc/ruby_parser-3.10.1/ri/Ruby22Parser//usr/lib64/ruby/gems/2.5.0/doc/ruby_parser-3.10.1/ri/Ruby23Parser//usr/lib64/ruby/gems/2.5.0/doc/ruby_parser-3.10.1/ri/Ruby24Parser//usr/lib64/ruby/gems/2.5.0/doc/ruby_parser-3.10.1/ri/RubyLexer//usr/lib64/ruby/gems/2.5.0/doc/ruby_parser-3.10.1/ri/RubyLexer/LexerError//usr/lib64/ruby/gems/2.5.0/doc/ruby_parser-3.10.1/ri/RubyLexer/ScanError//usr/lib64/ruby/gems/2.5.0/doc/ruby_parser-3.10.1/ri/RubyParser//usr/lib64/ruby/gems/2.5.0/doc/ruby_parser-3.10.1/ri/RubyParser/Parser//usr/lib64/ruby/gems/2.5.0/doc/ruby_parser-3.10.1/ri/RubyParser/SyntaxError//usr/lib64/ruby/gems/2.5.0/doc/ruby_parser-3.10.1/ri/RubyParser/V18//usr/lib64/ruby/gems/2.5.0/doc/ruby_parser-3.10.1/ri/RubyParser/V19//usr/lib64/ruby/gems/2.5.0/doc/ruby_parser-3.10.1/ri/RubyParser/V20//usr/lib64/ruby/gems/2.5.0/doc/ruby_parser-3.10.1/ri/RubyParser/V21//usr/lib64/ruby/gems/2.5.0/doc/ruby_parser-3.10.1/ri/RubyParser/V22//usr/lib64/ruby/gems/2.5.0/doc/ruby_parser-3.10.1/ri/RubyParser/V23//usr/lib64/ruby/gems/2.5.0/doc/ruby_parser-3.10.1/ri/RubyParser/V24//usr/lib64/ruby/gems/2.5.0/doc/ruby_parser-3.10.1/ri/RubyParserStuff//usr/lib64/ruby/gems/2.5.0/doc/ruby_parser-3.10.1/ri/RubyParserStuff/Environment//usr/lib64/ruby/gems/2.5.0/doc/ruby_parser-3.10.1/ri/RubyParserStuff/Keyword//usr/lib64/ruby/gems/2.5.0/doc/ruby_parser-3.10.1/ri/RubyParserStuff/Keyword/KWtable//usr/lib64/ruby/gems/2.5.0/doc/ruby_parser-3.10.1/ri/RubyParserStuff/StackState//usr/lib64/ruby/gems/2.5.0/doc/ruby_parser-3.10.1/ri/Sexp//usr/lib64/ruby/gems/2.5.0/doc/ruby_parser-3.10.1/ri/String/-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.opensuse.org/openSUSE:Leap:15.0/standard/78d3085e4065378ed3a1870934f37770-rubygem-ruby_parsercpioxz5x86_64-suse-linuxdirectory29 ؒ,V]utf-85f05cebfe47a0ea9f7f9a38dcc043787b9b9b249408954a0d982c901f9a9eed7?P7zXZ !t/Ir] crt:bLL ~ڽ)Q %Ҙ>Y_S"iB<*8՘zV; o*/ AJVk1*J:@hJ^撛9<`25 07k !_ٚm6 ]^}[qӻkhLҫr)rfDך*bX.sx\R=Ipg^p>{jV24sKq:Uu?1~;\G%;'({nDzPN!-q8xK,1׹N!'k5ɸ+|GrFZyWy`19E':q7_~?魳eK|~V9TNPz7re\бFHLr?tUNoN=$m/+HhVᕱӳ?DŷP^IF+]6y16ZC< &匽/Xj"6@7Z[4xj8l94va~2/ܣȺY?{^C}Sbu?Gu޷*p|!~ ZbèoZQ/F}e횡ghgTW}qx0W76:M&:Q=iQ.Q _ J8*5ѱ l>qh5-4|6@w͉R>M^|I|y˥0t_H6 F{yؒYLOCk5uVKKe\3g\?FxZ5 {jӼRg3}}.<߇DpwQ=t.} ._Nͣ+ּ %?^ 3p[@7h*+%Y0Җg.?H5S&"˂< qW&Iܹd>G=V aLm>7-4śڝ"Ρ#T g Pud9uւj^oakzǭ5wQy5@W䗥Ƚ`*ĹyGtL4?%y9W3-8I?2BMm+;24k HCtjzS֠*l#Ju`cpy.'柷pAǩ P+:ۧsH+wh8e`]v=a(ȝ<=  *djF0dWѬ :k:nZF;Uݫaol,GJ8fm*cd#`T,cXtϾ?׉fg$IP=+J9 1O^MrNe 8[Ó3/?ww}[g"KBb xWrRwMKM~"9{ A{6y !VXJڷrP5Ok8. Nȿ!>yoY>iT;Rޓen`9?\݉e=Gw>ҥ*ݽ5B /_0 ͙ AO=T%2Raz@Hv`9}@[kĠ~aw^D>x@& ;ӲLwD'}$`~$pHR(TziO AR8Z(eDQScPw덴ބ]$U؅# )cǯNY:ėby{aeBL?$pc1`S6P̠э[/ A,h-#O5ukX}rư1C.\rܩo:${ue-"=dZY֐ Si 0qVAT"Sj)BR?EPMҰ[\ҠM46&ɲma߬>0l%L@-,х<b75?2#t9Y5PȂU7%SwEbj\uK-/LO"ˮ.ZäP0)ИiEwpD}ͮiNa&Dя"qX̀ _ r7Ж K2#!(J}0( TͺuKN ŨĊIò׫GE0m k ̗!ťydC֔͂p5=wA :Yc_{IyBb_"xyfZb '%PSf0\(K< aA$sCz%U`vw* .V qk.\4vt(ʄcevb% ؉K]L  d%5d!WiR0OU79&+}M2]z8(]Pi'iĒde'tctQhDu,FZTn7I$qH3g]JfuCb7lp YФ Q M"jWhg-F!M03K?c˂2c;jSӄTlB"_)^ M2|a3v_&bB<OSc B hg}ڂa;{JjnO[ELbXN^,AK&oߤ ƾd,Wz C䣹7ÐA9knHx>fFM6ЯWd&%rRZe-рBz&Rg\˖Ƀע3zVP}Upn/1eQ7#ApTgoqy_ר#J~ HS:0CwsT^7X&1"L,vcǹg]m=IOpg荌NߪQ^W3@J,mXbXA.L=Wo)2yzW'_{ZPTcKJ[s;$uL=eMPLdT>Mf3|P/#bxzZgZ; KM-뭦qQ̌WEN>*9fɗ7K%p}Sqf%EŲT>2 ΠMQVͻhÁ$)A6oNLXM,9D)fn8˄ r_X,N& p-lV^ZudHeA|i`d`7=1{Dk5hy_+ =^hs  귛V$2脶SC> UqAR3Xf@i<)kŴG5"` b~QVKA H=fiuP2MzbYGE{\M4btE&3`1ua n !%I K(9D|8Y`x3(g!LeCڻ<#ϖ O㭟DՐA3VNtiJ:XSFG,9 ]X<)ϸ7㱀}8$u)(}{8> q-}rxbl G.Z9 `tGR?zIJ`bVWoزèC\%iq-:?u%9z^"zc 2嵳pM6$'~O\z`Uq`ZPpzlbTh8$+lFLvshN"0r0Wz:Y $cG;w=$|4P7Ŵg_"?"__s'R jE^n}*G>HKGFTR:PntY~;V\˃#*ޑR*bL3C_ N]\wUġ 岘 1`7 [Z,HB%m݁TfUhfqLkL}*Ϛs>:9g~Ihn3=Ac;pPmٗ?tuDBv8m*J%)Tl6ֶqUaG\#&3Bݵ=^8il.*1d9*Vć D A}2$em[к~J1*E8UȊ6D.f߸rtd;&J,rbj};JxɢKq|C/q^P5<'+ e53 G .ooCѤO\-xOLh%x/[.dV5(yĬIP=D?vf8tH PٖrunAya!rIZZ wL`c!"y<LM$1IĸoQ{RJn&&|9/[x°lYo`6G>2uMWEajh@ZrR$ 9[!;+9Ćect1V#Ws.r-)u#Kc1nPFie &lѴMJvdTX=ΥIŕ1kßN%75WCy9&pϫԓ㦸<-I4&{~ejЇj:[L4P2 ! /\ /l-0{%lcfgT'ڤǬu@@^#7Γn.nUaZ j`K= wYk*Si'x,rϑv|J9n27Y)OX B)FEߍpin[# +%.Oȑ6elZ \ LӒp+"в1PsМwl\vm?Wt+jtpqK;fw_w&bK Д=N"Ƣ{|V`s\-Fb6HRDr<՟ʚGWe14{Ú@h6um1x`P8DlD#`z'BnɆ_O8$ZY-Z%D!B̦gt1/y;zo1?S>qQN2ޓ19=_~f>tR+ GNu]Mucz9F B[m CڠZ1>EP٤gF9e:ED$)pswD(I0Lsd1d5!1_CrUdQǒ3QJ)2T^?JA0Z^DigxDojhgI1w!` >óYf*y^\l1F]etKN;#)/_}K1i$ ]Ov;_>ȕIKz3 ]GH`و_2}p9*TDrMK,f4)jf뱨r!:~7: QM7a#_X,,7EZs|䫟auԞW5Gy##" 'XG/xKņ lX94x`ma[7(*LLrTJ7:i;=S!h멲™IGtӫ_[?-kOc%qB Cؓ)U "m [}3ԎRTAV(>BBwy? P64|6l-M@WG~&4ģp#1+{K#ך{mA\1e2Z`zF9>&V̋Ҁ>3y,tȑ[آM=jr:ސCcR^D]hބQǨ`&W"d.9; |>fRN{CP?6Ҋ=; wկYM7{2y4<DF-cI[1f.$WdD<%Z$)!2*'kbCXF{Rz@Mcz1dΛB3׃fEᶗSp[osUܣ^+78x#IklҚwj7AV2>7o3 @oUOp7x1ktyG1Xݾ>'֧ mo$wTy1I(; /F"^- :m/|IM?BNrm׿% ӯX$b L'?ک=/e M /b,(=6#[nk=S>-G ^RPh*u+23RiWt$v/;nC:26۰W֦25y:41$JvF@9ogi'*ə=hheY62 ,̐UVyhQw,#!ˑM$ 3cbG j'4/,?&-.&pt_]=PŠ@U` < :5\Ihtb.U ]z)t =f"JL1*<򓟂Q8b,SKҙF^zUkPI\ccG/36-ÛaGSFV31A/s2]*y2@l% )9jOIx[GҨ[PQUEa+^b`S6w20`.!>bqj)^z?#~`I۵$Cee0(fO\ul@+L7qTItܣ\NJ\eTVH2hsPEvu ʶtvmCV)Ʀua$/K7Ъ8>&m<}{A'ac:iUY*b);{YK*K<@/syCAb5R~ 8)np0 [<?/@z VYQKx;b/ʊs D{eG3%A7%Ͻdjrpn;?<ZpQވ>!$p+v!bԨ/4\ZaYe#tĺzH:?SvQ6t|2 V}%O-\"a^XX#ESDS>tbIwW6_w_mwRQR>PkVBX+7ѷ]OyQVTG,p.㲗wci&b,_!\Xy%O\\(.HfyS'&)p@HH :d L╲OzA0];'@gT#C2Hnk}bwozn{ڵhؔ^a8ޏ{g=TEIkX}O\l-T-Ocf/ZRvb9Sk`"(PٜJ8&E4TwX5T9z{m/p*!:iAaď//{7$V} ̬ViX=eeh-ѓZr=t.Ԛi!5q\E3K;#\ I/Xm1/Dž@"G 6Oh(ywbq|U ܢjHճY=~{_L2$FXnςVE 3/DAr-si+~=yj(=3D^ I:ǦuZ>VccE.Ó\EnRst}M<Ĕ<( ˓7$r}a =z.X=ЍdEӂ{@u qܑk"Rbl6A#Q iJ9Qʷ_B>1WwTaNtЗtWifʌx=AP;5f#τV/k8 `Z՗! D¤ޘj+PJc lE {rafClUeLs63:6vbIUn+yh6QPU\DJgnstfgL% APAzC? 2่-vwVOj3Sd6o'M#l6yzAÕ-[M("$A 8KիgNV]~7d8S\8L)5sX,9iol@^'ĀYB}iA??)D%O$;}yAD #7VlF,4) >^wҺS1 sa`(uٲ]]m6Jmb' Blە?Zgzfsb5idV@>k tq^U=P5Ұ`kT*)[ֺ*drOCeM e!x0M.L)?8.|Pfo3q͕&xLT cǻ03ӝc{{TlȍSʮ'pG3Yn_ n{ĭ+H/0QRjriB3 +%{LF=覥Y0; WyoTEHFhODD/iMxGd?<׆ͲW!|iwm_닢 3?^K .w:tO*FV eZHFW/c W_s+ݱ]Fu&(nO^>엤ϸe:YxߐT= g3)K`:srrr%fies< gL[f&)|7,`zqǫhbAtnbi;">_Jp6g=Uzԧ?=d?֮<#dƣlO[F1lqK@oS.s qa*Ç$Zjo o=Z+ad6ö>y`ײJR~\Ͱ0R_Ƭ%=Í&]d") >W|I]Ij  u ܺvx]\:j"& |/BpbgBbЩ?!IV#u"43!WI4FAþ ).PtP a~K(LTuH=*ownz#+}>u Z<aVmsunMO*5⃙ o F),t?> \Va]Br,C#7.w p7 +f&>l|G&V.%k0K`^bkPl#w.Oo@\Ym{oIgor;BbIE-&v * !*݉9R1 Yc8)ɲrߜ!pi Y<1 B)ǦiV>jGmcb [>Dj swR [Jo3^ ٳZcbWM3'>;(߭Fbm1vb^I5:$c`[; !Y4A} "*N(S!g9zT|d??I"Z=,{ku;GRA":\YiPX3>`>8e|6",5>EQĻM~RO3'j ?M5Ǔ+4|SEkc] Zvm@s33q=v$.%%K2E8*b2В04M,[K` |Wm6 i[UhI`޴Lg"W+Y΅>y[}TbT͒-g b>f]cb pԎolҔz \KΤ97Q2y1+0r<^v~6f5tq\UJ:SS *O 5-]h$K ߀^`PZk2]5srKD.^uБY%>#M.âД678HeKۼq$n`F QFg?UtVE";^?7ʎ{3:lc:T5RfSF&Q p\Ūte#h|i7`ʂ?p@BB? (J;`rR,L1 Wc?IM$T/ȿy z *]΢i?0j[%?8)ڬ!Hb쯚!%,&Yғ2re&ʹA`9?Pt=,M7 y3 60EW_PP𣎃<;fs/JC'|6S,~4g[szUj,o!E2|0;ڑmi|rbDTKHtP=gP)0'OmOQ^Y[-DҔ:=V=|q\8\=q|Ax#d1lKXLyCR;Z[~c=jW5ߵl(zg&(~ߗPs\qޤ0ݽLB^ s8o4 dY+boPEE؛⫰ &bB˰zaU&0MbG0a3͂+3"R,ٙaY/D)G5mo_6Ldch+PS]z;}ڷ'-MBH1y]8^VV/uXZ".hL~^|׆<B, n5Nr?kdQ@Xt>Tو[/bfNžmHX2m˗xjhmܺq{l:Єԏ3wIWQjΩD3%*tq :Ur BRwBU?Yi]0hOnGcJ "K7g#=rc< 1q߼Eo #S{ker'sZ!9!&|{bϔ+}}9n0jգ#^wp8wC;Vrj ;dgcr_Hbc7Hm0 .Aݾ0adWC)O-&՘_y2]}VsC:qr{@_ q/"#H'| K?^'&xBF3і>p?oFFW-$.ŽD8.R}C}Oέ+H: =3AG"2wKoF 47C2 vPve.VµƒW[nx#**=TUBi$2InR?v_Bf^z@ :U7؃b?v'^eR:>F 9P%e2K.: D kcf#$op}al>{/6'Hd'JdAW$նJKnHiوB'?c@/x:A#,K(-Lp-x.pɊWq̙ Hر[,5ciSßQp\l/iu "4͆T ~T30K,Λ@U۠?cj>Q.fDyyY]SG˔UU{ß X$뭯 Y@vPWJ ΛyzVIPY׊Y`aj@q~&{`>r #: рz C?04xx*̇2UWi5 !$l}8?T9Dv/@ Bc5½ož[AbhU<7L&dty\bC']U+7Ĥ.~qI7v^=6C=k$П3CV0PYf@z((tA "ǬTBzN^Q␽6vU€%_Vyw;}4ל}vCn9Cskv(D);6~*Ic Bo8EW7v* !3_!c%x'4+uM{Sh;@$E?*\ka7+}a0{2mQ Otn ) ~Y3 Ѵh9~Ws [$j%$8Kg=@ r">b]EBXoĩ`ntLμ# &}k0C @`Yэ2RXC}#GvC۔l>xqcnNjcO xcy0aLG89M4h* SdaVTA#߰j57P&^oF!y r0e h{^ IK!B~lj!7na8Il) ޏFR] %34ʩK |%A-ZwQ.X+_#$ Սx%Y8Ug EcgYZntP_a?.fLuƪrunD/y` ^k󙙓XSYx=қbH7"UnUQ(9vk#x }ѿ B0Nvo޷ZssH~ {7'+PMڜs?IXs6ru6&sUMkH,l`bdp bV.xH?C'ԻΧO 5DHcxiGF.;gLNwV y+Ȃ8*:# mP&nۭEls 2z,<5zQf'v)^G3YI~ c_TN֕GjIyN a=B"EM??PhEqhBٝΒ0l' /ws27Y";%%sb0P1r3\k_n2-UolѤ]qS<׸EUv;zB.ZdLF^9bt:ZKcF%Վ@Q!a4uoQgo\@<tmmN/={A 4) [5D"q- |V[IDATq*EY`9=N-Sʉ%mR-tWq\ÎKmHq,JX \ w@sFXL|ʂ@cПvhN9i0 ]k>/c|9Q2=+%N&Xcl܂E JaǛd!%7KW_@WKaKlG,9<\5/01 \"dǦˋh4,5@=*Ok+E)SԿ)X/?d5`. I|p $w1egߵ:iec3r$Qap~}펛Dү\+'.{*)Vk.A^p0f|-H@%|Ǘ_.[2YoDѪ;q!)@D2Q+}[byXTS,{ގLE}D>wik$3v>%%'[a3\qn$ES['f0ȄfKKZ^pL sFWx@Qc:BuROԦyzy[х;glXxrYn 0e N4R5HW\""A։:ݹF 4x]Saor%lp_ |+A$/-.!V@{$ G}~TIh`TZ& { 6pT$[C%Xa2A's5A:QKy_=p7 =S8U*\Zl} qWHSCS`HXpw)c-RE#*zԁ,&1o`t>z%لYGثI/ދfwZŃ"n"] ~uzxXzDJZ?SDܼﴤmX].aUM@xY--l„bH7=OC Q WGs U%ra-V;]I] ݝ +ho IL FB`D=N=<:쓳z__pM߯rl XC<Ȋ_ʐu[ l;8 L(RPdKdRmT1#4vup|~!)¯ߥd .xe!|WM&HW9VY}(4@KQ;A~P1u;^GbS$ot ]( W`X1݅Zsr!Ԏ65}Iڝh<}fcN,F2sn,f5NN,_6w.k@RG5I9\G)\GmyVZ+<ʙH,ƭ `[߭zZ&fxRYA<.To&URz쁥:Z1۵p& hfS&fo-1'ߕW+?mx7F j$a:ʴلbHxNt6) jK;00<B90wd\As$h''㻠tuk8*+iAUjA:HgFbL!Ci19zV bK mH2" M-n DWM6dyNCnfbh0{h>$;̴lLp8}M fڋzíC|6 wK.\~sI g~gsyTLaGz$䕐(cf;xY,R thշF`.SB7c_rIU v **?U2ScVX//'5P(PFLGZH!t!*-k&䰀RKg!p63Od'l~LQHMUX~ʹR/LB!vٹ)YznKDA(Oyƅ9RP0r$ j=MFj(>ZnW C-; Uo^ω6*J`.ۘ{--&3Oevz&0ܡ+Ú3 |8jgQ$ސ*e0(`5T|{ݸx$al{CR̭sδ{R~>n ek7P@/) qm(n$lB} ։}5 35'cTj C5nɱ˓u|kaO&xKW&.R j]xwɺZm*_F>}U/˒}ɒ)ǺHFJ|ǡs4^^]\j8;kɹ^po)CbDX0.՛d`.u .pG8bl2χWbm=\jv_G{I KG+ez,ѕW}Q ؈) og×&ULd٪ʬR0XH= _.(Y0^ i !moMw:A }P 58%d>WQ r,]ð{ciqVa=OHuyO?gҏ|dfZ{A79mS._QP^ag;~͠D7U,|C^(7Oa1tx'> FƐזrKTSJs;[jf?Ec*א7"C໩VwWHqD}"ot۳'k;m pEa Gy |\_cC%cc6&ߊ5\ K|s$*pJg^  CĢ!?y,#h:-tr:hl~ 2vOhD@ÇM9}!%ꗯϏ>-Q5Q+XgRh#Uije!L]# %E m[%F&6tϓCYz^@ r?$^2D$ߪa2c5Pdi򆝯^;H?O ȕ[KL1"'b{aGlY"L1;N9}T9MWΤTE4+`RjB/aFcS+ IG1$%mD;Z̭,~+zR3AW3JS=q`Uj:ć{t3agJޣvs*WXөRem0\r g @ZD&(Д24>}MD6*y]wֺ49xo{"뼺꿨__ԉjq!wxJ-U}8(h[sŗ,DG 6A'\+ h7gcu a^ԟoWL(Ȗ Ea.Z\'OIs%㲳ݹ5Ռ+bh-OyS ʛbmp.BX2鋔]6}ҾGRlBʔt)KGmَ0L'd"F;ؖV|ðs[˲q\9ڱU^#N-M6/@*14!y@>Ly4U?'D'^yI%J9IyۄvE ]%]̑SzKi GWn֊4&ºbx$ uCHhGvކ8Sw$K-)uW&> Z%kTd(1u#7YZ?|!at͢F%)fǕ;;ǢpV6%{=gҘ%cniV֕>Ul2y~<NtFo}֚a &SB*  B&S<{u_[A, f\4Ycā-UMY!ś<:Q" Z6)(J &hzrJ iH%=At 1kj쌤Y6Ys9~Xd8!׽kIL0qִ5sw4/`3;Tg`%;Gr fUmaH.T.5eW/Vu@Iw2gb-CVFBƓ{7!* poCI}1AѨ_V=#V:38obYbTEĮb#a[ u)s9@E37h.8_a5PU﹞>g YUcfM>?ʙū2CU{%e'-F͝~.ca4|Z^V^>矎/\ԟ"/n @!Ίo[ Y( iFc[v@ke-D!oONQ?@N&x pCR'b6CAj@+_DAr>g(%˜98'l+&YOb ;˭M;`'f>lATp&jȮ$@:'"cȕ1{ >ӏmJRIuLc+T.M,o;,ñ7>EHXӍsO\As ítGWH>\rߐz 7^(g5)5TD?؃DR[+B",[^.G}/W .adeQ(3Y VqOk й(Qq6̗bl>'as0zr/Se8<:UA`a&é(Pxj87WNm/R?Qœzuî {r4gİDÔc URk*@׶HVYʲy$bxb|!-WI,}ǠN:ݨgy%1B PP?Y=} ~ ν êKwq1(zONao0f= E3ƵueNi \3"D%5 .ݸ;֤B`Hw3¬+'+!.d\3*ibcmJD|NH GϽ}[; -s=[S(VXdc+E$Ri%V:nS}+녚]Z5(;,%k%%-ܚGi%`n PDVV>eF@,cU#tL-H/J-;)Q%byB᧲ûGعl L-%s gZ3+bC'azƬFQZv{M] -Il|WȋBOU#d:ŧ+cՋWŤV7V`(جϽõOY\NU 1 V!z7I rx0}r "lSK1AvO$A'giz@}ٮ+_GՑ4)gmBzS}~#2Z4ⱖt] }5Y`s|'oaݫ׷Ow#ܮ[ۅ dj!4kdP 05Pmn oNm04i BB:딏`#*EKqha9e&X=}eCL\{r2AC]>X,.7MK\~m(lp <C'(&|PЩ?TF)XѦ-ՙ#οV B:Np&6Wg-㷽%qe/Ofl]Lp cZù/1>CTё z,ؽ $Ez6z-%!19W  5{rofc_,bo`kux@b1{H/3} ״volT {>i,un /Գ1-tBm#y 4]8(t>K\XT5b203&ᝠxEp^A?V&KF=?NcfbdÚY#y6(_  o!B*vm̚81&?+)ǢxY?bۓ[uaW&HrܷW澠I)**Lquy"dTM]/|LIg1|ud> &X|S]lSNuw**>%Rg&iP} VRo g6gЅ;*OT=>.8}'܉D)w"'"J v$~#86yV+CpE 6H>`*}+vIk$.+Q%3bTQ6i@o̚[O+U;> z{cS +p}waV{,Tae .|B혦x})9?p~&~x=zjfq -djRc Wƌz{1i Z`El'2 l0 聼p=ӹb^5.DV%-Bv0ZP}N2ZW۪<_vcjkP\tV ^ʣio(edރIf6݊yQeQoGzxBO_}T%%P)}ntcxxM Fwc7]ib0OXE_<]w{Mm7ރ-yȳ*Bfx8%:3l;Z\$pQiݙ<'pQuV< v!C|1nI#wf# i,%xd/=J^ul34xS &v}sj<$b] Z;Qy|{ Ꞌm YZ