ruby2.5-rubygem-sexp_processor-doc-4.10.0-1.27 >  A [Vp9|'2벽U|LX^U_WpcּnX{k=(jM@a:HVV#ueT+:g Uwt,lUjwińu! MFM-' y(dgz]y|~͢MFy\HSxn3Ș(hR&R 5*?sxVOXa1154c56508b79639063c9aabf3db3eaafcfbc52089a07d37056c9fa631719c71687c23c8ebcdf702bb3e76421be55ab98d1d11aԉ[Vp9|jVx%*?|v.v`wzAjOevYku}dh@uԊd$ \&@stς$I.ebCd yS1 X~VU k>l-!=n#yznBH\]g(|@dB~j͙MS3rc8 Ew ߠ D7玚AE ) kKu`JYء˨ >p;h?Xd%, 1 W +W]dp  |   4K 58;??BCDCXC(D8D 9D :F| FdGdHgIjXkYk\k]n^z bc`defluvz TCruby2.5-rubygem-sexp_processor-doc4.10.01.27RDoc documentation for sexp_processorDocumentation generated at gem installation time. Usually in RDoc and RI formats.[Ks390lp4vSUSE Linux Enterprise 15SUSE LLC MIThttps://www.suse.com/Development/Languages/Rubyhttps://github.com/seattlerb/sexp_processorlinuxs390xn/TUmi}vbn KfE27QE27+g\[^5.O4fBmXA :34c'Q8q.IWh=J!!9~9(?T0]R&/.B;>&e&tF*F^e:DkYKK^Ye|!J}3,^I]tEVa'A%;T,IAAA큤A큤A큤A큤A큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤A큤A큤A큤A큤A큤[I[I[I[I[I[I[I[I[I[I[I[I[I[I[I[I[I[I[I[I[I[I[I[I[I[I[I[I[I[I[I[I[I[I[I[I[I[I[I[I[I[I[I[I[I[I[I[I[I[I[I[I[I[I[I[I[I[I[I[I[I[I[I[I[I[I[I[I[I[I[I[I[I[I[I[I[I[I[I[I[I[I[I[I[I[I[I[I[I[I[I[I[I[I[I[I[I[I[I[I[I[I[I[I[I[I[I[I[I[I[I[I[I[I[I[I[I[I[I[I[I[I[I[I[I[I[I[I[I[I[I[I[I[I[I[I[I[I[I[I[I[I[I[I[I[I[I[I[I[I[I[I[I[I[I[I[I[I[I[I[I[I[I[I[I[I[I[I[I[I[I[I[I[I[I[I[I[I[I[I[I[I[I[I[I[I[I[I[I[I[I[I[I[I[Icb8b0d218f81f41dd14761e75332b009c068895cdac28d6a53ac4dd5cf1af3deb8771941b5f033b43e48223b87503219addccad7a9ab75dd27628d20e47285c2e5dd837264e91ae4e8d2d938903ea56b7286e47bb06c2c071f7a61750796fcb317f43b607987937010ef0a457eedbf49cdef28259b9c2ea947f65867a2aaecf37247a2d2329c1db0efe9749656b5d69b39ac29adc43bf9ae8445be2df96d0082e88f5cd044b6475bceb31e49a8d74fe50bd456a345c891809c6b03bb27ffa33268151927017aa8a45dfad639bd2a9850092faec4ff0b92afd3542de46142024dff07da1f5ee0df30c9eea3c7569524ff0c33af17f0bc00280d588c29c23651c818808dd2d9537b0dc6bd55344e41225ea8c804f45ca4e4cc165d398f40e4bf127e21cbeb430db793aa53e21f7bb88132366a9ab1671de1dcaa99410819a6660d829df4b5ae9041615f5df49117cad998d5d2a4ced9c0a103a943026bdcc378b79bcc09080889755b353fe471e3d12b3ba9c814c2db7c2133f36373d3c59f5912bc753d72dbf5346ee61154c4a49a00b6db3915fe6079db2cd3829d3d282f36625c60b2665057ed31f0b467e4aa1181594d8b5f6556df0803f5c37ba8a6704eaf62abffb7d6c14484118849de91ab99510b25a14628ece215265a9e314336f5ed3203cd9691670a9d5d92d07adf49bd813c6ec37566c85aa5758c57303e57d67b04541856a8da9a9b5704c22779d97e28fbd45afcbe264fa17fe11d58c38a01dd62e372e31ec573b9fdb4ece159f93b27590d1e86ac833df358d8326a3577203a800ea9da4c4571782e094a3ad9b859837efaf6c3019ef08fae1f60fcf0cef725a2f943a0d6febe4475be75daeb5e3a569640234e295ed87c035d893ecd978c2a72078b96a10fcff0e6b71f58c06be5bb2b0657d4a4ede17f5eae496d80f17600d000905eeca3c2103634222db46cb03ba25be5fe8566b4c5fa5b8962e19137b8031fcae52058273b9dcd7125e01e77f8aafbb563172a40103277041b331391abcf52aebbe003636f405417ca104ebe492174e9be736c4b59d1345062a48007d38866dc567ca737b3c90874a37206d83a1a5d894e37fabe7823a01cef140a3160fb9ca8e823e7712b1232bddf27e04cfe6e9e4782168570261be9034a917d4c5f302cb33e84e1cde3e17e7354d38662c1b72b11633460284af840f8368a22d6feb2f9e92aea2034eb735da2a3962c067b2dd09aeeee14205e69b0dade5ebf3ec6fb96974ad3bbb02961ba155027bfb834109d4377b8e7261a76f397e03a8bd4cd2bd1e0546eeb8996a72b45665ceeade405554d430c395aa044d415f0ce1bbc8e9e12e97d0dab9b8f44b7c9646a59e33bed519a0250f1ca3d9cc1ddfe479a6f2b46b1d910842941f2eeaf3b025cd9491f69eaf7b18b518f494d8f426e5cccecaab1c4b40830e6896abacb2fe64341f99b131c04538fba1c34573257e9658f59874f899748e42b426573ca23530a9cb1e7e45e0563f2ceabec4d6dff54fa2720e1c0e33ed69cabfb32d99a573a74c0795cad39fd5373690789d09c7ae75b2af2aaf53d338037b5d6331a3f02d6eec3a16f7f62fda19f9bea3834b4440700837752c3532d8882ecf77710cec7d1b56fcd1f9dfc2779226559a2da31433ca39edbdc44c7a7eddeb8f093f1bd52865aa059147b7ca387c207a3e5fe1b9ead6a38a84e9c25a394ae58d07034821b82a633bbd9a8165ecf4791e62c367e7b672623ab4e209a7c57fa84d44eccc67c7549c71e04f9596d38e4e859870e2582f2f79af59e42db861a5c8c63cac6246d5d35e8d5d54b3afd7f386cf740fee9346a2f1af2d747f0985f4cfc41698b8a99c932e949f88b9f973b5b0542daabbdeb7d09e804616aa2c99c902dbeec56107bcb40564f523de334a2f16a71325bd08de1dcadb6ee009f60751fbebdb951373e44bb214ccb543af171235aabe1b54ee89b763a1d4623a02230d50f32e9baea17a950d73ba3fa425fdfcadb4186f12958e0610dea158b14758d1b96ba4fd07c955f79cfe1f516d3ffdbf0a6157cfba52ee5b335fe60cd5b7d664c83a794a671cd95f09bc6d76cb4795259d79eac8b6356e988b7fd4ddf094a460921067e0f1faa4eff77d743b70f9e68052fef81c8540e10074b944ae8ae5b24d42f63085eab0842a67aecb490fc4e1640e76c8afc7fe7f028da521dd6a34c1cac70a3a80ffc896e3fe2ad095426ba46166c28f555a8cece6c085b86399117a692397c50e3c2ca8985faabc995a175069c230cf2545e37096609c338351b216879580c0e7da9adb7dfd0c4c257494a288c3d97522fe770b58f28b7de900f51c2731eb4bb80e953067183693862734c4d4fcd7b4366d5ca535f5a7460abfed5b7035d7b96c5dd50761c18e1c4f12f5f46e767de4464c38c0d6e6eb67fff0bd3fbfe05c8e07308b55a0c4006dc4e1ba09ee037b52da4c8fa708a07dc54c5b602003cf83450c0a099c0d271d83cb963144126ff05153429898f9e147b4a184658d54209b424b657555ed283afb55ed28ff4810d51b426d032d95a920e875211b945380fa896acda0f607c23d5c5a4f1ad363f6510be3bb942417f55ff3ae9d284f681abc9ebcc940ea0abcb49f217f86dae93d841cd7232893bff66ce2176f826f9135adf446040906fa180364f11f3ba415582a7427594321dc7b5516fe3406766a6d045b041dfd918344962ac1fb9572fe010a0d997575272d3c677cfaeade5a23d952900a8b0c6a3fdea99593c611948da325eb4846cbec31c763ce181f89fbcb4ec224af8c8b01e23348cd96cbf5753fce8e783dcb892f672c7ed64e33ec7bab40c1bedb9bf4a619e5507b76e1040658979c6b8a29ff70b5865c1cad392dc018c56faa3132f9db637909aaba8bbb707ed7a885d8a7ff4b650eb4cc384fd9032ad12ff1a0da2c97893e44e99bf6ea785a5ff3001fff6d69eefb8e11aa7cd5e9cd6cae92a93608395534a6d3ff74cb0a0d1c4ac2d53f4dd8df0b42040dc25eff275d6f9bac891309ba3de4dcdc245933d0e6a8a61dd4ae556f311eae4bf21418b941b52e4c79d01737da919b53721775665f94ec8991f986f39735dacfa04258dc2bc7c993a8c3fd546f847e1d754c90dba485e395e7dc9a26286f42ba4fbd85f682201e7252ab3e97541ef985f3732ec69f30d7c47eecb957e76d42b40524360fa64d40c8e1469042365e42d4cd3918d6957439eb071fa6e34dfbc6b47e5161a6c3da61c6482ba385a7f3eb1338c3046d5f638134162cadbb3894b3c00f33a6ff422d712a4c73f70136e694f3f1b2400492c17bc668b4e43878108abdabbbe2f2a6177ad96504061ce712ae5eec6df75f0dd693bbf6d3a74b8ff9d2eeffc0c1129fc5e76d8868e696f7e1244a2f072ccf664ee3c638d83f3407a03ca4c0bc6f4a6344ea196a0dc1413bb704f01fa711909aab94b3e80d4b3ea3f1f5949605ba7f765457bcbe6cdff164649e1c6013e50a2fb4f6c45c39a9d76fed0d925707476e50fa35c6a6b98292f9786fb2d5e00c23842af546d3f94558bd8b50196586422617c91ed1b5df46315f192e288c3702a9665c0d36e81727ee5fe83d01ddc8c1e3dfc863551d226a24802fb4d6a3bd2f0e30db2b3d09ee8a10db09b5b3d874594544575c27ee247a31dffa7661bb1efdfeb918fa30477960fc4139ccedd1aaf634f0893a632f78b9a46a268bb32d00a797cb7a019ab6c8cce3ebebcb0c42cbbbca678cece84498c783836cec1725de31a95425e81434a47fb52de0dea4b0beee5b2d6f3643d80c0f2e93a176f88e58f3a765455b8d4c728f5c169fff32917f24de31b01f8aed86a21fcd6a6814079e43021cadf745148488b32c52cfee03515002020ffaff5b0168558782d14ea4770e219ebd5d14e0b84c11233329298d79dd27d1300acee9b3acd81d4c6974ec606171f53714e717da38ab50687fd45c1e186cb68dd1038cee6f4d9ac9a52d921406f2ecd2a4d7f497ee40404cab2bb4e531e784bfccb825f32dcd0e2d6f91459e51ce95b46d0c062bbc22f06e48e5a470b54950ef25d25fd14e9fa4e2ef662252b5f96377cba562974ecc8d0f1bbee00d95726489981c07db36d94503250c84435c0d68feae3d95ecfd65c7252b5301c5de40eb648926d52170fc4b02500fcc949fb9c2f67dd50dd317f5e68065665328a312b8f9599326d98cb9fd0017c1a165c40f8806911b76f346a12943a5dfced008722621c57b0531ba7f2f3ec3d536b8eac81eacbe913f0c9f06984c7555a2f8692a9d373b4cf380f494510ff6a27014ed43b9c0645efcf786a01e2f5dc968e5be73ed86a5a2a57c7f932ce3d08aab6670d49460bcecae2397acc3e198ef7ad832b120b68a7d39af3cbcc3b28416d136b5fc8ef4f21bd8d435f81bf7578c4f572620a079e95225ecb51fce2938cf1e14792670c403242bd551bf2a5ba731031f81e2266b4d01d2f258231d8e120d8dcf555df475f5a4de9a6a1ba14508b7919db4f188543324f77fa87c9211089a3dd28d3374b18edbce7c180ae76405edc3b9aa58d1ed12f13e1899b266d0afd77d3e08c6e744439be08e6d65392894fc26d86f95e684b44b07cb448f81544ba039c3f16502b131c4134726871f5201960752eea94422ebb87127aef94367b390eb9a2139b6607e94f04fb1e982e58df6f085ebe1128c61f04f0b6b15ebddf2b14060fe49bcce93f42932709ab71ef29ea6fa8bbea68878e5bad91cc49d2d4f18a460c60432bda2b7902d62156d41b81e5fd4a87f46a72643b18b94eb4e26275f9b6784d34891812fa9d1dc6a0cf2e48d72c77d8692e0b6dcd900eaecd82b30683cf19e5e14ca47452ea4dc320f6d15f52a2672777098afc538c7d9bf638bab7bfe48fec631bacf6d45b1c334e689b68cc26cd497e1e247ff8d38300320b770cf2a695ca62025a871db15f7c820d8badcd9b68356026d66105dad7c7aa400a8f6bdd439f7e76ac036a89fc5ffd19ee5abeaca9bfc00799b579de92648e8b6281d0d788376158db7938c15c4064f6b08c4919627b113f260d6f9bd6788967a01f2bc434ceaa267cf6fb865c0b0d7906ee00b154f62868714e466244d225e12b9cd1a69b4b36e7c451ce219b6f14513419af1f4c1126da7b4f6e297453c96cc7c981b2f0be492454463a157a947f4e98c3a4b32952bd746c761139d60fb0e5b6649cc2d5d58b78452ef4f927b8a73f2f98284070ec4676f7d2edd98ae871c8da3fbfa7cb43fafea9d4f6d39bac039e60575e768869ee111a78c6cdfff0fe908f59b5815eef1e1deb77d80343344de2ef5b5677b3c00ee1f1db803c2ff24f19daed50869aa2217aa300d8e1a35084d795e5a44318d6e85f38f355e1c0e7bbffc7c9815c02d7d1152f33e9353057b794fffa0b767b1428d15265b7a3165564456d460e64dc0333c6b21ff24a6fd990583e1bf6890cf069348e234819f9a631d112b9bc3a20aab4757e2180bcedb9b7c639a6a7fecf83fb7de22420b0f11e92fb8dbfaa022345056800c2e792f08f5f8ccdd4c3cfac823e404a43b14d6f477bb2993966ac35330d2a40cd4984eb545fdd90660aa81f8bb47a95ecedd457db85585db8401e37cb86cb212d8bd6050b4c7f651586f0484d629304b95d0b6b862324d0e5a2093a6df2c63ce1077f7c288a9aa448c0b1cc6ee3ef963c5eb15aaf226f9cfd7f9bc95e5e6365067326d44a9c7b835fad8ea6742c81b2bd8a9b08ee194e0120aca84dfaf69010a45648b56069db07bebd8229c87f75bc4c4bbd54a656583a6494e562a42ba805cbdba6395f2806ad9eeb5bab1f045f6c2f281d98a65dcde7de3d8f8cc47bb95d0ca3b004158d081bada68483400458fabf1d9e3d40fdab00ee30128b5433b5446de736ad6e12a43e60c8ee3bdbcd88806bbdf4b039410dfd1d449a4cea484211135562963fa0d2b24714c3b3ec10c5a522325f266c43e3af6f870117c216cfc091f01a80a18c20732105677fcb02c1601f8eeb4badecff6de15f258f52d31652a221bd967ad97956809ee69b850849d23765d7d48a1a907a03f24b1951e15376466b0dccc404b87232071af4072d55a9bc251c559a6c3bbcb942c209e310d8e2cfd53bd338163cb5ce01eee07b36ad7b20240ceb72a102bbaefeb71262e32b5ec23da0cb1bd3fbc94970ff92f5feded0c60a76190c29aace778e84ded47c07c5f96efb805117aaf3a2af9692a5b9ee1c072d10af3ee50e5847191f9af42b6793ee6ec2098325a4f12dcb1a77b94c8b259cb62d8574d21e40c293e70ceb736f29378cda1044ce6aef7c7f2483db5e7d6a9cf87a693879c690d56d746646bf3015ffe064f407c2f656c98cfa650ad181846a05d72d47b3de53a7d3074cebd03da6245a7d70c6134968a0c2104075dfe07279041f07086b7ee78a5c4a078238b21808f0751e03137c9544ea9cb7f938324d9e24de02d3e882cca386aa7fba994aa0808b500390c501fc7ab05a4e6a2ca998d7aabc5ba55b3181fdd949243a9c9c24e8b7d4d7a89346d5f08b532134d2ae9ffe66d624d1ed4079fd7719b9ec625d4889aec6b5e7c3c5d9837dbfefa993fa170818bed78ed1b95d119b92d46c01ecfaae9c2bd33fca537b6c16499df8efd8746c7ab1ec4d4d2fb3873544941892c211fe747488554f81b4a66207d8f90ad3bed0c6a31118c74a3920352f705de748c73c8652161f51c2e9c95916fd637ef479b049980252cee2c25ba72660ec0ff139011ca1edf08b6ec7fe370a9e578fe2928eb8d08b6a514f4e02889b07f1a1b3bc4de5365c91b800ea83657c490408b7dd5891f0e6fe8ec7c30cab117fcb3160a21e3a1b4bbb15bd298fce84d20850212ba9d8a20eef6c9f007b6396828c95808fd2630a687804dbf42237e2c1088180b2db97b5d7f2c8e8eac6b2deddeba7088afc3cb52b1e640c9d380664999c89a5891361c1e52a18572dd8977b2431cf0b058a8b359a553c7e9962d1f747f1bb7b2d1bb91863c2eada846e9694c2afb6d366b63bc810003005b8889c043aa21862ad3a69d5e7f22b376b28f7d9f5ed8f108ee34439141dbf87c3c0c94733148eb5ea1f44c2aa4cc9cc689aa88e1a56be89edb44a6b621a329d441a0899d3cd5869b7358eeaaf87173fc8947a470324fade71c35cb3dffd52a0ec4244cb2a5a161fecb0bad3dbc213c5bbe03da681cfccb01a1df0cd2aa4d7547008a1afb8a70107cf27c2875d9d1f21fe5f2ceedbc0ceb07a6834489eda46f48513aad03ec2f420fb00ea44fce13cc6282f18954ffa2c2bf8318225f477d6ef6d9bcd91c65143800ef3ec137c01ed34b1261ea423079b09d13da31b666a0082fd02602287e199a9a70fba6c57b57a867801dc2b10a67e90efbd7969f34829bc215erootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrubygem-sexp_processor-4.10.0-1.27.src.rpmruby2.5-rubygem-sexp_processor-docruby2.5-rubygem-sexp_processor-doc(s390-64)    rpmlib(CompressedFileNames)rpmlib(FileDigests)rpmlib(PayloadFilesHavePrefix)rpmlib(PayloadIsXz)rubygem(ruby:2.5.0:sexp_processor)3.0.4-14.6.0-14.0-15.2-14.10.04.14.1Y@XX@VV@UhTU?v@UTT:m@T=@T=@SAAS(5@R@RcRC@QiHQIQ3;@PP@PXP@P@POk@LLL%@K4@Iycoolo@suse.comcoolo@suse.comcoolo@suse.comcoolo@suse.comcoolo@suse.comcoolo@suse.comcoolo@suse.comcoolo@suse.comcoolo@suse.comcoolo@suse.commrueckert@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.comsaschpe@suse.demrueckert@suse.demrueckert@suse.demrueckert@suse.deprusnak@suse.czmrueckert@suse.de- updated to version 4.10.0 see installed History.txt === 4.10.0 / 2017-07-17 * 2 major enhancements: * Added experimental pattern matcher to Sexp. Forked from sexp_path. * Extended s to take a block and return a matcher: eg s{ s(:defn, atom, _, ___) } * 23 minor enhancements: * Added $STRICT_SEXP to crank down Sexp.[] and friends. * Added Matcher#/ w/ real functionality. * Added Sexp#/ to search with new patterns. * Added Sexp#map to ensure you get a Sexp back. * Added Sexp#new to create a new sexp with the same file/line/comment info. * Added Sexp#search_each to recursively search w/ new patterns. Returns enum if no block. * Added Sexp#sexp_body= * Added Sexp::Matcher.match_subs? and .match_subs= to extend =~ so you can match strictly. * Added Sexp::Matcher.parse to convert lispy string to safe matcher: "(defn atom _ ___)" * Added all mutation methods to STRICT_SEXP >= 4 * Added deprecation message to Sexp#structure for [s(...)] forms. * Added strict_sexp.rb to help you clamp down for future changes. STRICT_SEXP=1+ * Auto-require strict_sexp if $STRICT_SEXP is > 0. * Converted a lot of indexed access to sexp_type/sexp_body, etc. * Finally enforced SexpProcessor#process to only process sexps, not bare arrays. * Made Sexp#/ double-dispatch to Matcher#/. * Made Sexp#gsub work with new patterns. * Made Sexp#sub work with new patterns. * Made SexpProcessor STRICT_SEXP=4 compliant. * Retired SexpMatchSpecial & SexpAny. Never used by anything AFAICT. * Sexp#=== goes back to default. * Sexp#=~(pat) calls pat =~ self. * Sexp#sexp_body now takes optional offset. Use instead of sexp[n..-1]. * 9 bug fixes: * Extended Sexp::Matcher::Parser.parse to lex more forms of regexp. * Finished off all missing doco. * Fixed == methods on all Matcher classes to include ivars. * Fixed Child#satisfy? to properly return false if failed. * Fixed Sexp#sexp_body to return a sexp using Sexp#new. * Fixed map to use Sexp#new. * Only try to set c_type if it responds to it. Make STRICT_SEXP safe. * R2C has a hack in SexpProcessor to call sexp_type=. Renamed to c_type= in R2C. * Removed very obsolete attrset test from pt_testcase.rb === 4.10.0b1 / 2017-06-13 Beta of the above.- updated to version 4.9.0 see installed History.txt === 4.9.0 / 2017-04-13 * 9 minor enhancements: * Added Sexp.depth * Added Sexp.sexp_type= * Cache Sexp.line_max. Massively speeds up large flay runs. * Cleaned up SexpProcessor.process handling of result node type. * Extend pt_testcase for ruby 2.4 tests. * Extended Sexp.method_missing to only print on every invocation if $VERBOSE=1 * Extended Sexp.method_missing to warn if the expected sub-sexp is not found. * Rewrote Sexp.mass to be MUCH faster. Helps tremendously with flay on large files. * Warn that Sexp#method_missing was tripped if $DEBUG.- updated to version 4.8.0 see installed History.txt === 4.8.0 / 2017-02-01 * 2 minor enhancements: * Added Sexp#line_max * Extended MethodBasedSexpProcessor#in_method to take line_max and record span.- updated to version 4.7.0 see installed History.txt === 4.7.0 / 2016-02-18 * 2 minor enhancements: * Expand to support 2.3 in tests. (presidentbeef) * Return enumerable for deep_each, each_sexp, and each_of_type. (ridiculous)- updated to version 4.6.1 see installed History.txt === 4.6.1 / 2016-01-21 * 1 bug fix: * defs should have a nil node if body is empty.- updated to version 4.6.0 see installed History.txt === 4.6.0 / 2015-05-28 * 2 minor enhancements: * Extended generate_test to deal with 19 and up. * Extended pt_testcase.rb so add_19tests means 19 and up. * 1 bug fix: * Added and normalized tests to deal with canonicalized block args from ruby_parser.- updated to version 4.5.1 see installed History.txt === 4.5.1 / 2015-04-27 * 1 minor enhancement: * Cache processors and rewriters. Significant speedup. (presidentbeef)- updated to version 4.5.0 * 1 minor enhancement: * Added SexpProcessor::expand_dirs_to_files as a utility to cmdline tools.- updated to version 4.4.5- updated to version 4.4.4 * 1 bug fix: * MethodBasedSexpProcessor#in_klass clears out the method_stack for the duration of the block.- 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 4.4.3 * 1 bug fix: * Fixed a bunch of pt_testcase entries for 1.9/2.0 wrt ruby2ruby.- updated to version 4.4.2 * 2 minor enhancements: * Changed skipped versioned tests to return, not skip. Reduces noise so you can focus on real skips. * Extended versioned tests to include 2.0 and 2.1.- updated to version 4.4.1 * 1 bug fix: * Added parenthesis to fix the structure_remove_begin_1 testcase. (bocete)- updated to version 4.4.0 * Added MethodBasedSexpProcessor, extracted from Flog.- updated to version 4.3.0 * 1 minor enhancement: * Switched ParseTreeTestCase to minitest 5.- updated to version 4.2.1 * 1 bug fix: * Removed structure_unused_literal_wwtt because I just don't care anymore- updated to version 4.2.0 * 2 minor enhancements: * Added SexpInterpreter since it is such a common pattern * Added aliases Sexp#head & Sexp#rest for readability- updated to version 4.1.5 * Clarified role of s method. Fixes #12. * maglev: Workaround for bug in Array#shift- updated to version 4.1.4 * 1 minor enhancement: * Gave Sexp#structure a ~10% boost * 2 bug fixes: * Fixed Sexp#mass lying when using auto_shifted sexps. * Stupid fix for ruby 2.0 method_missing 'bug'.- updated to version 4.1.3 * Code cleanup... what was I thinking??? * Explicitly setting pt_testcase.rb to US-ASCII to avoid encoding hell- updated to version 4.1.2 * Sexp#structure should grep for Sexps, not Arrays- updated to version 4.1.1 * iter args revamp for ruby_parser 3 changes.- updated to version 4.1.0 * Added Environment#current so you can explicitly shadow variables. (meh)- update to 4.0.1 * 4 bug fixes: * 1.9: Changed !@ to ! since that is what you implement * True to my wtf comment, there was a bug in my case_splat test * Fixed a bunch of entries for r2r changes against edgecase parse/lex tests * Fixes for R2R * 5 major enhancements: * Removed :arglist from everything except :op_asgn1. * Removed block from resbody * Removed block from when node * Removed block nodes inside of scope nodes (defn/defs/class/sclass). * Removed scope nodes in defn/defs/class/sclass nodes. * 10 minor enhancement: * 1.9: Had to version split all my 'not' tests since 1.9 is insane. * 1.9: f (args) is not allowed in 1.9. * 1.9: f(hash, *splat) is not allowed in 1.9. * Added module2 test to verify module w/ 2+ entities * Added Sexp#deep_each and Sexp#each_sexp. Refactored from Flay * Added a ton of block arg tests. * Added add19_edgecases to help refactor a bunch of tests that all have the same output. * Added better debugging output for rewrites. * Cleaned and added a bunch of stabby proc tests. * Moved RawParseTree test data to ParseTree project.- Update to version 3.1.0: * Added test_call_arglist_trailing_comma__19 (presidentbeef) * Added test_fcall_inside_parens. (presidentbeef) * Added test_if_args_no_space_symbol__18. (presidentbeef) * Added tests for new hash syntax and ternaries in 1.9 (lastobelus)- update to version 3.0.5 * Added in_context to clean up code. * optimize inspect to avoid needlessly caching @line- update to version 3.0.4 * Added line number to pretty_print output if $VERBOSE- use rubygems_requires macro- updated to 3.0.3- fix builds390lp4 1527309387  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~4.10.0-1.274.10.0-1.27          sexp_processor-4.10.0riCompositeSexpProcessor%3c%3c-i.ricdesc-CompositeSexpProcessor.rion_error_in-i.riprocess-i.riprocessors-i.riExamplescdesc-Examples.riMethodBasedSexpProcessorcdesc-MethodBasedSexpProcessor.riclass_stack-i.riin_klass-i.riin_method-i.riin_sklass-i.riklass_name-i.rimethod_locations-i.rimethod_name-i.rimethod_stack-i.riprocess_class-i.riprocess_defn-i.riprocess_defs-i.riprocess_module-i.riprocess_sclass-i.riprocess_until_empty-i.risclass-i.risignature-i.riwith_new_method_stack-i.riNotEmptyErrorcdesc-NotEmptyError.riObjectcdesc-Object.ris-i.riParseTreeTestCasecdesc-ParseTreeTestCase.riSexpAllcdesc-All.rinew-c.rioptions-i.risatisfy%3f-i.riAnycdesc-Any.rinew-c.rioptions-i.risatisfy%3f-i.riAtomcdesc-Atom.risatisfy%3f-i.riChildcdesc-Child.richild-i.rinew-c.risatisfy%3f-i.riIncludecdesc-Include.rinew-c.risatisfy%3f-i.rivalue-i.riMatchCollection%2f-i.ricdesc-MatchCollection.riMatcher%26-i.ri%2d%40-i.ri%2f-i.ri%3d%3d%3d-i.ri%3d%7e-i.ri%3e%3e-i.ri%7c-i.riParsercdesc-Parser.rilex-i.rinew-c.rinext_token-i.riparse-i.riparse_cmd-i.riparse_list-i.riparse_sexp-i.ripeek_token-i.ritokens-i.ricdesc-Matcher.rigreedy%3f-i.rimatch_subs%3d-c.rimatch_subs%3f-c.riparse-c.risatisfy%3f-i.riNotcdesc-Not.rinew-c.risatisfy%3f-i.rivalue-i.riPatterncdesc-Pattern.rinew-c.ripattern-i.risatisfy%3f-i.riRemainingcdesc-Remaining.rigreedy%3f-i.risatisfy%3f-i.riSiblingcdesc-Sibling.ridistance-i.riindex_matches-i.rinew-c.risatisfy%3f-i.risibling-i.risubject-i.riTypecdesc-Type.rinew-c.risatisfy%3f-i.risexp_type-i.riWildcdesc-Wild.risatisfy%3f-i.riarray_type%3f-i.ricdesc-Sexp.ricomments-i.rideep_each-i.ridepth-i.rieach_of_type-i.rieach_sexp-i.rifile-i.rifind_and_replace_all-i.rifind_nodes-i.rifrom_array-c.rigsub-i.rihead-i.riline-i.riline_max-i.rimass-i.rimethod_missing-i.rinew-c.rinew-i.rirest-i.risexp_body%3d-i.risexp_body-i.risexp_type%3d-i.risexp_type-i.rishift-i.ristructure-i.risub-i.riSexpInterpretercdesc-SexpInterpreter.riSexpProcessorEnvironment%5b%5d%3d-i.ri%5b%5d-i.riall-i.ricdesc-Environment.ricurrent-i.ridepth-i.riscope-i.riassert_empty-i.riassert_type-i.riauto_shift_type-i.ricdesc-SexpProcessor.ricontext-i.ridebug-i.ridefault_method-i.rienv-i.riexpand_dirs_to_files-c.riexpected-i.riin_context-i.rinew-c.rion_error_in-i.riprocess-i.riprocess_dummy-i.riprocessors-c.rirequire_empty-i.rirewrite-i.rirewriters-c.riscope-i.ristrict-i.riunsupported-i.riwarn_on_default-i.riSexpProcessorErrorcdesc-SexpProcessorError.riSexpTypeErrorcdesc-SexpTypeError.riUniquecdesc-Unique.rinext-c.rireset-c.riUnknownNodeErrorcdesc-UnknownNodeError.riUnsupportedNodeErrorcdesc-UnsupportedNodeError.ricache.ripage-History_txt.ripage-Manifest_txt.ripage-README_txt.ri/usr/lib64/ruby/gems/2.5.0/doc//usr/lib64/ruby/gems/2.5.0/doc/sexp_processor-4.10.0//usr/lib64/ruby/gems/2.5.0/doc/sexp_processor-4.10.0/ri//usr/lib64/ruby/gems/2.5.0/doc/sexp_processor-4.10.0/ri/CompositeSexpProcessor//usr/lib64/ruby/gems/2.5.0/doc/sexp_processor-4.10.0/ri/Examples//usr/lib64/ruby/gems/2.5.0/doc/sexp_processor-4.10.0/ri/MethodBasedSexpProcessor//usr/lib64/ruby/gems/2.5.0/doc/sexp_processor-4.10.0/ri/NotEmptyError//usr/lib64/ruby/gems/2.5.0/doc/sexp_processor-4.10.0/ri/Object//usr/lib64/ruby/gems/2.5.0/doc/sexp_processor-4.10.0/ri/ParseTreeTestCase//usr/lib64/ruby/gems/2.5.0/doc/sexp_processor-4.10.0/ri/Sexp//usr/lib64/ruby/gems/2.5.0/doc/sexp_processor-4.10.0/ri/Sexp/All//usr/lib64/ruby/gems/2.5.0/doc/sexp_processor-4.10.0/ri/Sexp/Any//usr/lib64/ruby/gems/2.5.0/doc/sexp_processor-4.10.0/ri/Sexp/Atom//usr/lib64/ruby/gems/2.5.0/doc/sexp_processor-4.10.0/ri/Sexp/Child//usr/lib64/ruby/gems/2.5.0/doc/sexp_processor-4.10.0/ri/Sexp/Include//usr/lib64/ruby/gems/2.5.0/doc/sexp_processor-4.10.0/ri/Sexp/MatchCollection//usr/lib64/ruby/gems/2.5.0/doc/sexp_processor-4.10.0/ri/Sexp/Matcher//usr/lib64/ruby/gems/2.5.0/doc/sexp_processor-4.10.0/ri/Sexp/Matcher/Parser//usr/lib64/ruby/gems/2.5.0/doc/sexp_processor-4.10.0/ri/Sexp/Not//usr/lib64/ruby/gems/2.5.0/doc/sexp_processor-4.10.0/ri/Sexp/Pattern//usr/lib64/ruby/gems/2.5.0/doc/sexp_processor-4.10.0/ri/Sexp/Remaining//usr/lib64/ruby/gems/2.5.0/doc/sexp_processor-4.10.0/ri/Sexp/Sibling//usr/lib64/ruby/gems/2.5.0/doc/sexp_processor-4.10.0/ri/Sexp/Type//usr/lib64/ruby/gems/2.5.0/doc/sexp_processor-4.10.0/ri/Sexp/Wild//usr/lib64/ruby/gems/2.5.0/doc/sexp_processor-4.10.0/ri/SexpInterpreter//usr/lib64/ruby/gems/2.5.0/doc/sexp_processor-4.10.0/ri/SexpProcessor//usr/lib64/ruby/gems/2.5.0/doc/sexp_processor-4.10.0/ri/SexpProcessor/Environment//usr/lib64/ruby/gems/2.5.0/doc/sexp_processor-4.10.0/ri/SexpProcessorError//usr/lib64/ruby/gems/2.5.0/doc/sexp_processor-4.10.0/ri/SexpTypeError//usr/lib64/ruby/gems/2.5.0/doc/sexp_processor-4.10.0/ri/Unique//usr/lib64/ruby/gems/2.5.0/doc/sexp_processor-4.10.0/ri/UnknownNodeError//usr/lib64/ruby/gems/2.5.0/doc/sexp_processor-4.10.0/ri/UnsupportedNodeError/-fmessage-length=0 -grecord-gcc-switches -O2 -Wall -D_FORTIFY_SOURCE=2 -fstack-protector-strong -funwind-tables -fasynchronous-unwind-tables -fstack-clash-protection -gobs://build.suse.de/SUSE:SLE-15:GA/standard/bd5d0ef26a3e4f6c55b39bbcda80b66b-rubygem-sexp_processorcpioxz5s390x-suse-linuxdirectory,^1ɰutf-8c551cb4982fc2b9b53e9924827c08f50ef4d0cb792b601bfb2f7da88ddc016c5?P7zXZ !t/ OT] crt:bLL $}&'ƩjZ.N)8@N(-ӎDjuQ6k+W4Em5L;ppu7 MFSH.-ۺq'9em}jzjXm6O d_%ѮU<~ov=T:;lcnjr2N+{'Bߐ>. _ Sf԰csf>_=jRQLd6̣I[ ~PhKT;)uSTo7cXe?G///.g6:J,/ntAB,o{&ndb95=Թz\oG]6$΃!9#c(Rv7iȑ+:3bµmd>|a & ?kODz&Ue,sh[EM[gkǯ1mПd|&ay l{ CY8wR h7KNɮ폼61S?y+fg55rJQόSfb64)Q5/ QGWR"Po.+7Kִ/o-B+TwPUશ)!OFF}VOȕ 6v>}մ(pk }1ú@wx{3_ƔMeXvDW経/b֓ϸ(s1^?xK.'tAc~ Ӭejng:4%aUO+39pD?Ut(["7k$v/@Q ܅Bg\ eX& J*>>ӿۡ+ Ȃ6C[r*L:և=jGtjO{#D9Y=Ȥi ف0xL_+FO`@ݳxd=V4B~c[۸QcjaUBZe17ۧϤ1~2I#M5+֮K>/&1ŁkFќ(ɯM,3cU/IaŘ?ڷ ȝ]܃/7Z @vy\Q푃Ge;HKaC "4n[bm,~9{|L$aʀj:yDwS-tu n,UǦ~ F'fCv7#X-#X˿j{MtK=@8 c)KJeفs1I,>5<ld"CfN0 Y"B;cĐ̈́fs4,{r &> Xȑ>.s,bhSKEAVr)Kr&-lwkE68\U?if#Ln]|x΃)_KUVG~e%;%C_1W4c=NzZjGm lXdTb3H>kTfC,T5\SՈ=M1GdJ[|G 3aF%aUP/s-!>¼lcZ;\TXd˨u8|ՁKb(κ5~1!j1Ng}.l$n̢Ăggݒ#+( m񶫩ݥ\ VcwQ-P Y&vSuf:ga~}#?I7/%g*&ws$bx>c:`Ϧ]$L` {Zo5m Q B[loLCx4mqzP (0IJ;ȏk6`;Kћ40Tɍ0J0 X/x4-h$L.\ t8֜Ëmu-X(:iZ7fEuđmucggjB,;})ѺpBjO 8NZIC}$$)m4=gfy{-n[3=7xNhaߎ3݇n~h|l9YPcT$ )QPFz@3 G 0ٳaA"hd?L"ee[/aqe=֘Q$=5Fqk䓄k#z,7+O_XsSrLԖȊyv5tw&AJc~"?aQ¡+`w0_EP@=Mq BHՈ/%paJ9`ms> ?ɚ%X4/"/+ A\?y`ZL-;J+ WflX!,m!Nʖɘ[Kl9e) ב* 5ik$R2Rn(L~1 ,tCJ&GZq4FL?7ϟkeqK%CtҨ_H)g7w9^e(%nٯ&s8RЛY (Pwi78o#sLJGprwfL~ fT:Wnȧ*L" y;kcKͫ*#LGa1%vxBҖ3yճɅ9ZvA`Z`]啮54;s>HyC'5Dl!:0W<mclQ)R;Iy#wIpx*Gv2*((LDt{3SN\.-}x!/lEt+[ul~XHDEf%(!Vv*r;Cqξsܼ:-o\{U{!Љ.C d˜w=!(kI}Xi96"R쫗@VJL 1r~f<!ބJ"5ؒ: af#N-!^L176<|']_ʏ0Y|Mq<ӥ_@(^K,03]O>FhRr,Irk&xs]V3Ea'K.E\N˜9ŪF$k+Uz`G )LZa#n\BJoe.뺼YNgJ(kHw4z@*C~)cR\Ow6<¶VsHнE J~)ټ5&dPVS3d^!Ii+%`̉"tS`;)WhAлj@?$|ۣdׯZgj/1RQ;!+h48 o2YJIYQI?VPU2^@jk^~m>9]qXw 7$M=T%gt:hteWMv%7;!]$C:!}pjM{Nk }"[S`Pg-_z̃*n(mreE|v>^JʨYB9K*?a`a1Tp|-TvrI2wM$^1OuJ"ϷQ$"2uaLE3aRZwPAtw ʝEϑGgm}_V>v H\"&//+ڷNj c_kuҰ~jչ VNQ|ruMilr vzDA38egtq4/R䆰xbXnsqY#%pI$%W3E(oìGb[6} pn5chLݟѢW٥\AKWME4^ csTN1vGUMT:&7P򱃣 ʰ0LP9ЯI A`9w³vgGWI/O&#jCi+j#ˑ4E3}O`>5j旓[{Qo ;(j'fdY.dvD@3FSѱ[haZP_S(zsӧM@`BZxU25UU($*&LvL2dq}}7Wk W&"4tvc gEh=7QH9pC["|mp.`7jO7l,h^%A/0t0l䜻~ qЈw!PgBF[迆{Nc!6Vi`ۨf{5h"ԺSXhꫡ>o8p %ۤ?6לM]LQBӎo1/1|e@ T}`SO"]Ak\ߦVVoz_zY>I>ݗIXVbа1tkyi21Fh/SW76̼8):g)%5@zyzv-anW AZ>.Q!W(gUafM|B0)iHĦ v|vgj5\ <IfWru+Tgw᪲x謕)u <;ˊxz I[N㚲)o/#P_?xDtp0rмj KHTsPjPRGAX`;K\)ֈlq; 1J + AKs%V9 M~BPàLʠI!O.~B\ԟn!jcgp:!ohc4KZ<+0;y7 5$ ^)>>M'\G TW_XU\apzN 펆6ȡ)nYޞHQ7ǯ}7ػ_a,zy' シ(KզE"1@>( پ2 5[0% f9҅66~oVm]MϜKYJϢءo^᭻d7p鲃)nΖ/eY`_n0௣Cz]H6[\֊;gMYtḦuC42[7eJk>a%M՛aSj|J j#+/Z,Y Mąd]]Te[ ۃnE6 jkOm=er9DPECI6O95vMTu^mu+Ba43*H9xy8lp=@,fvA4c̚5*@, o{? x$Z3!Wl ¡CF/F^*8E(P՜YBx*lNaKYW 0Īs?OC䕏 7-]7U9W<;TmL*W8B|b$/}TV$ _|uJ);ߡ:T_IEVDvd;n3wbڙ?gjeN[M RoĵfQ-1Jp Tq Z{kfd3*UXusTn~wP??cJx)GRP"RwKRgruM!ɏz-)J\vD2@M+GZEM>dCީ zUH.Xnd V_/A4LFUU36=,\lBk^LI-<%as1YTwAݻ5푰O0.ͽ{QQ^+шKϐR@z@cIB_tNhW 5{61D#yMiΉj)&zKFYXJg\rBu. oA8x?7zsS\I+)ʃMh1dE  &W'8\zvhP<M_G|=M(lVd`Yl]_rUI,`dJ,4EC{T^8}yݟ4Uct$.?{tdZ |=RLVXU'fMg_+8J^Wgaj6UO˜Y}ZD1MPX?xNsƬR0Թ%uVzn VpN9d3|(9{t ,>A ݻJI),o.礂g Qn(ljm%d!?-aR"Rfz7Q珀ym.R:pF[װ0"S#DaJI[@2T"ى^nHm;6GљuPiY%]9 Is"'1+\S=)pv0laȡɞB%^Bo$ UȃؐE}m}LK4Ӛ8X9kC'Rx148 ^jcriU]mE0ͩfVZ0&D`hK al_'c؉ty6΅}>˒Z3a,sf(Vj e}UT!YkĸV{ ˞a  {Z[uݘ {5&F+ymgғŁ_Z읔iD#"E63ia yu IRn|:|)"|>Vc:SXa& ŊQjϺCW֘JOѶ4R]_K29dVH~N#4CHA)ҡ1o'L҂WOLL\Cn;"3cnK_3xNOƎñ&'A!!gŷIKC#̝1-hd|#;T߷ky e3rCqNʼn!B>vMPS;" *x(@(qK1EYM*x`nݕ`Fiޤ]Zu(Anڝ<#Ie~5-n-9=3>*>E9Y}C1[7c@v„faUA`Ky6b; /e ԬBRl"4N0K O(=ؓ6H!j3պx,|骴`NOA=w_*x;5eSֆR.ҜqF^qC\_biYâ3`'wc*MurNf]{aq ~d+1GdwvH@}4͌B\K&IX-ry#E]UQO4.Tb*V@u5~߅9vݭ\`>fQHeZ!QRr"<{ e52Z\%faFlD[~dC4J{MP qf!6F5vwbGJ$j]~qp]:|yzb5^3vXyb=Go2~A9PJh o"oe#p4׻DJ?ָ>R_|L3}"%wQ}%o,./G_|PI-_è>OJ*V0 .&*+Epü[zc{ F  C"WC'7. G^H=/ Gލu+C,%'>kj2yQWϑ$Q?lF*RG]0D^ml~ f.[֍)h#t!j`b'W  WյjϥVLo1D {F/K!'SUHm |xF=3Kpn);glCl灎0Oy? zH|x*z{C߷>m$v~ =N/<'/S(MWw7Hrkn m߀.8.bT [f_sk2GFEOho»⣒IE֯x]$^7C]5hcg(Z.BR[})f%Ǣ:(n$NPu<v\ʿĦ^@7u#O bDu3qy5:z,Ę)`kM7Ry -6'@v[OYj]3TU {o9cGApƳK\K591@7$ThߒHcI1|>mY\Iq Us՜臏suyOgPp5 9fu-=yQx/l/@7#՜i:'K"RI>/۞P&iyvt 9 ޥgZsMht>)pB9p^M F]Vm;TAt_iף5/JP[f8 7>)/Qj=7_([{R1jHm*ݠe 9r@0FYvhҪ2 =l'a%x֜h{{l߆:%`=]:茱S!*~c^ u@XRL{ W=:0u!|o1>ɎA.sѼ_]YkU'AB r:(^OP[M߀ pTw:Wg%>}>G>Gy/Oj _+md!j hˠZǞq*/VX)8pT\<\G ,pVu%T*{$b{!A5[LaR7+%޾EήFzx4rtD$=p޵W6@= T U$}p9tbHN'%dMAf-{0" (~/z("=bʄY6]ˏk~Hq 1 1ӑ!N˄tPx+Ύ E jBBs.p|WO-5yΒy-r08SF*OKD 1>S cjpxu 7('e\,fIQ/w-|vS[u@8 kuM߭c=JKXV9 @&(AMDMtІ-օ КG4Dxْ"47`u1q@TƳwm=siHSKUK"'jJCcqYIW8L9 NNC-qARҝ ? K@,-rNBV$ T4 o%@OA]ps3Z)( /8\H槬=+( 9?.%EYfNx@TfӨeb^D[֧n*8Uo~@_A.N6H$(7`stG!z~E;Ydӗf 9| fzgDn$Ud0X;*zqZsa3b8- DSx#v%b6g H0>/n!s-FN/\izCVP- UyV)i*ʱPкHg;</e1TGZ̗pOl#BtM4:TqdmgF6PK})ML 4=m'* EjZr24AGjuT4]F6I?k pnr0tSJ?xUM"4zV~ؐ''l M@(=0!v^UaKA>uk<4CpB':IJy8(EJ*ݟ%ܯcGv? ѻnxv%,|ԍh*:d3r <i})D|Dtd®G}㭛ǥ,l=#ee<&PeR4͙+尼 Ԓ5$a+'!+wByA6k)|TY hӔ&&&PuHS+ Xjz[B"pr35V"5JƉy5a&<%^˛ #^|Y-r!o3E­QvZ!UO3!0Qsagg3| H|T#j֠q/߹U.z1ugwzPq;L}+eZR(4]{~ڳ'at{Gb)Rt9WVJ+_F%1EN$Kc[[AbYK´6`q6Kk)`O͞jWadh";%A!IdRW#mb8OԜRT8BƮ$2 HXf%ɇ?Yn-xN&j[yU}8pE=?' M@FG&3!3= wshO{bi#YJjR8'hG腒Z}ѵ1]WT/&.zyE_?,!ً_\ϨW둃>icYdpn㖒ٿ jVvȀ;#rBqזDUX3ɩKG旣0ifV A[OLZm$Yp;Hp-#o ~@|yRAG44a ]_5cY2YkpʇNͰzb@}Fo pwr*ͮH5NhavX`+1*'LaǪA1:#"$fY^5`ϤfkG {*[@sy%ctX .se/+N{bkvkގH~=yx@4ՇCaP 4iiXsU vۂw8ѴchSgt/5{4_8N`%] FHLaH,Z8JHi=S_ɐ e?`x_1(`NJcLJȖh - b3$ Q̡\@Sf%| CBE`i*{%;:l;mx2PÕw;;o+D9Hk*Ze\]ڜP=kV|$xnLƸ=d#`\;+L&Fnz;AOܶ졻Z~Kȷn^nA|gG;yQ r7s.fI:muvnZ#߂F< (!]]cMG0{3M*Be.[ʮl҃j#i(?F $3h֫1M gݫ ﵼm vdd/c(аs/y4)9iMkb'Yh5TW TjQEO񣗌З\3 ZXDCUWS ]t Y'h6 $!X>=EN~n4&D2eHl.qZ8 DFo5R;8>H~^kTuL i،?&ϫꡀH^׾"{BAZ+qRqD#ŕp3?xbPQt +$,,LAK>}zZ,- x*ePP_,¸NfETcapI䲾-SNWgŤ0H4Rv k'Ȍ|. @o`.n&(p1Kz:4S9bw4,+0Cٸb3{- g9 dPQ&qPGf 177 }DN h{ΙO$M_Ӵa!EJkHkv`s1 ҂F|i5>&bJV8k!ff8Uy<чC%?sT(U /y2(_L.OvV2)i/>f*:RFؠTl,>6Hc?p%Ѐ&,A>t@LEa6ǂ|b[5#3&)Xmv7y9sȢn'o#PU~DUֱSZϡVM_H.Y(#*xc$aFW|h%FE)ӈ$a5v B~'1o<