ruby2.5-rubygem-puma-doc-4.3.12-150000.3.9.1 >  A c3vp9|] u=t;l3 C^IR(,eäG`J\l`U*jjО31XVN;jvJ6 N:2,&V_fO܆d-݉<n%4 DW`Uė@Ro[{Tjiis@Kb/Z4*Ưb':20X^dȸ޸#i';K 'ozyPI5! q6:5c20c5bab51f3ecf3dec08bfe93f49623518c31a01c17242f6ff4e8de84a4b9d290bf17dd2eacb9aeec43792ea5bf70a314ee2fbHȉc3vp9|su3؈Ɵģ3CGqJ;e Ef$Lqp"S nOQ&EqʦԽH\`05`uxvĹe97xX{p<&W:=<}@0k2 f>`yblѨAˢxr'Gu$]V8@pr~ZIJYm*۬WߣQu5 &&U󟟩||mG uVH>p;8?(d" / K  (7=DP P $P P P P dPP4PP0lπ(8(#9д#:#F:G:PHCPIMPXOdYOl\OP]XP^|Bb6cd^ecfflhu|Pvz$Cruby2.5-rubygem-puma-doc4.3.12150000.3.9.1RDoc documentation for pumaDocumentation generated at gem installation time. Usually in RDoc and RI formats.c3Vsheep56SUSE Linux Enterprise 15SUSE LLC BSD-3-Clausehttps://www.suse.com/Development/Languages/Rubyhttp://puma.iolinuxx86_64Ax29 ZWd       z'+ Fyh -[  * "R* Pnqh6p_.{A-&pHZ$GK?M*,;(YNdpYzQ gFB$7 L 6<J 4Bin8c- S   )3VxF   M-MUg QKj{L ;: "Xx *&,*,Y$* ?  8n .z/]AAAA큤A큤AAA큤AAA큤A큤A큤A큤AA큤A큤A큤AA큤A큤A큤A큤A큤AA큤A큤A큤A큤A큤A큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤A큤A큤A큤A큤AA큤AAA큤A큤c3Qc3Rc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qc3Qdef7230bce586e3378653610391df605a80c76e0008e42bead39211f3a0d96b91103a9d4ae06c174a8e5e9423a0568cf12405a91d8924025464eceba6602f31c995c20bac3f58f0f4039c380195903be731ee2d859aeba28b918723d9a2930ef38b52a86aa013bbf7aff8d59bd441ae0276a7fb0813ec83d58f96b0f38ccf9504707086e6353ef5b1e206ea5459df23b5d2955e84cce6c63c5239367c42e7c1a8bf2fe72c9a001805a391ad3c8fca10a9021b7f97d1e578559daa536ac0c5b6196ad815997b7f50a6933aa7673d2a46f8d6edc4cd502c39ee32181261a5af64f9c106e1816602fa3d7710ea7e2d07e497d018e3bc2200921c0f5ab9dd44833190e95fa77ac9de4675b75b171545c76f442000f696c68db30c8464b4aa09edd9aaaf5def0c87eb647ced83c529cac57d9620c2651e2c1c4e2959db19223c9413fa99c00da17e446814e59f2fdd7358cdb19725cbdeeb9a306ac66b1a6f23e740a0c8dc2152a8ee6da348011ab9bc25c0a879491e408c570296164734423fb3734c89cf337c20c1b207bec239fc1de36be0c0812e171247de388dacf21eb3a53ab6be8b9760d865c5dfb392f546a703c34129da48d19258e2aa200494abea4bd720c6cfe753516774ec89842b831fb55bdc5e75fa36e3fa9f9262e864a12c8910cb156a16eca2926a912b9c7645771aab6f9b37598f728742c4bcdb98e28a0df652b5336fd8b4a528af14f8ddd0dc4945f80ea14ddfaed86ee4a2c81e5a22d166d6b20138dc8f6a58c7379591d24e7810bffe35414b86a08da8ea6ebfa5333009fefbaed27a9b68759834d3a685865dcbc0ea90bc7280b831bcdb2a3e55c912e656170f139bfa43c9f66084645ba6fac46ed9212461b5d7bd178cc2a301a24301d55ff9eb5c370b80a589abf0a48d44e2516bdcd4dc47dccf9dc686cbffd54e266c3ec303d56fe5c29a2fbe129b7ec84d1094e613b4b1310d1255c670a001593af8c2328841c77a8abcb49db26b9ab9ee287ea0a18f501b546ae5248a30ef4d6abcd4950f605936f0baf11e972b63e50af417d1a13047746232567bd03b76a8cc36c9891ba05ff42d25c3dcff8a3fd8a8eed437b984d0babeed3e937d60d087442350ae03287811d872a3917a02d4b825cf99840c06e661dce2ef4999583b9e9b2c1e342cb5fb54a3fdc9edf9c8ffff3c66bf197d802f18101af305372dfac8a24ec7abd2720532edd4027ea47cf24ed6c1baff8097ce9d88892e74d130ef7afa58e47b785750158760926382fe9538734a739cd1765a408e1608e5124c7d5a69338e259c85236c81d6d121f9a6d482fafa64ea9b43c9cd62a0e1158c5a199b2d7043c50680f7269cf00ad9952922968a067516828a82dc3c63c919b63e715d362faa15bfeda56054a4d8e5e0425f819381aab66e14f2cb3c3a8057a4a6e77ca4955fc041977b32063610d6389930788d75803d8f96378327ba3608fd3718f78930c1f86fb9b110f54dc173746ec41c6ec1ff8d8ccea388b67af9db8611aca20c35940a4580caae955288f2a17122b4c0b1012a7c8e327c0dafd69bdb705aed8d8f4cded2f245507afec6f96b50d6829d526281cd629699ae0b856c2091ae2d4a72256d59dc0f13ad02f0dfbf9c576efc69ca2be46c8c8bc3e785e32439e2be949a91e1896c8def9093d5a481bf3997f477ee2a8425baa06bcf2a1c8b1137789fd8c75e864d3691cd980072df748906024da0b76c895029d40e848abf4ae1de434b8bde4a36b5788aff7a8241066a1a26c1aa9742cc515c16092d2176f59a778f5cd984b2f2750ee7dd55b6c18b29654efdebd47ebaf233fd7c87d811cf83b846d53494eb1105dd8fee436a654ea51649b07b6388e882782bdc9d38e3c8935ff6dd09573f4e336ab917d9362ea10f14d8ca0909599df54241d24033aa1440a8c875ad0e5ef669317729c2eda0c4a24171dbd07ca730fb1d1396a76e5f6c0fc2bd276beb29dfbc263c493a9c5dc04e2b9245864733150d092de2977f2c95b2399c2c769704942bb0284b93d8c961189c279fc65a07a52ca19f2165f8373d59894fff4bddc1001c8a4597f850eea4c7c3ec4886165ed3b070299c77dd3e4c81aa8b5f4b1d25fd16ef63b15d495d9d39b68c5fdc7f4a684b95bc2fd38b489edad152e6516331beeabd0702a4d90eec5a1cadf960f736a9579353fc1b85b3610604703087adabe968fb5e94074191a661ac913da584132302bec87b4c461a43e759adce4bf6a78639046153df6df9686ab28cd1fcdfdb57da1f2398136cc64ab64ac3cd75fb16f14c1da6f41e757b13aca927a204090ca89730aee020281ecc0ecbdfa796ae8d1c38790625b169e12c68d2655a793a3661b6441c2ebb0ad71ab098335b011c97ed4c0a905f18046d6a89acb7a1d97b1901ffa78774c66a84d520b624e9efdba47cc1b553791d61d371410feaebcfd45e0cc90b647d5a2d6933eb5f49a12b736f04aff44d0e2f1cd141f8ddb4c1bafb3fd500774f73fa75de02c43f6b7fee57f29ec94185378de00a59077f6bec619d77c5fc94206a491c9ac7a6388aedcf46d059babd4e747de25a3be8698e4c0f4c1608acda54061aaaf2adf7072976e4a3f27c072c17996a24352d77af6d6bfa91a34b79ec8910e9b67975578a0425edffed18230c26c393d35c4ca273489993025010a060b2b8e77de165b356809701f29703ddfd5b7de8b3bf3566a5630097289354bcd96137fe292f28bdf3a41acf0489aa55db42e123d804682f976dbc3ac4984d0d05192b803500691f9496a705244852bfdaae231733194818c371dd4be04a6ef8a91b0fc6c9006db8c9de1583f46946532dab36395a460b095c5d85cd046b9df7ac5f5d52e9e1f23746db30f803b67d4d0859fde0f1c0a2f722db26b619b00ece7a3966f282d35825ab5726970c9bff57a40b67cc0a2a9dfcf4ef301e6a93813a1ccdcc58e4cdfd99314ecb8991a111b32e99fc8b7f47a0f67cc5c1ff231bc5034ba396ea260ded80afa0f581b813f61f5b6dc9e580f33d4bd8f65028e2b3557987714ec7909b924c931281ffe4752b14a04797214eb2d8266eddcf31cc6510a17afd464bd363d6e93daedd49cff8f6c6ca77dba46d920226eef178fdba165bb333d66613f401f126fd3967e6dac7b405e547276932da1ce8fb6d6b4e80ad537664b5ef85ec455e68d9fc88919eece502ecfc3c6a7fa41928f561dce50954ad06b89d04ca7bd18671b0b08ab6cad947e70be431c982772dcf259488d49dc2cafe05bed11dae0cfa98c5bbd19a3f5d5e568fd20f14ff8e850bbe0ab6c1106feee0c2e25365ea2f0253f9ec2b06fefce0a89d947c14c408e9b80eb2568fc06257d6c226a4eeee9ee121ddb93958a3be3b176271f4bda5855425689b7fdb96ff1a248dc65ff9b284525fc3fa3a74bd6d131239194adc1c4e5ce4e0559848725e52d19ab0d48bca7e1c7c975fe637a4c61607f9b8a23e68d800067274782508b7b645f10607d8beabcd8b05d02c655385748b38c23b894cb77fd1cfe4b061991e1b28c29a236532534337d50624600c6320f23cf7244f9cd9bddd11006252d9378af29c3192c6567ce72567c8410c70da264eaced655d15fe56bd9ab8672dbc5f5796eb783243933293cffe5246c3e03e4279faa30279f59de8e2955caf269dc268773d54f40290f3d028295642fe75e35db7b3e437cdcc02144b870b05fcee7ee8717c2ac7fe387fbda5bf960f6bda59743ad5972347dd999ed15fc1390c5304011f41f6e42a98ebf872a7ff4f310dd095cf092476800b51175d470b43c060885042e4b505028ef6f54b6b778190eb7de211fd6150a0c419cf95e6ee9f7e1edc69a4a02a7be51b16827c9430388689b7d7da3afd8ec006d760285e481232cc2cf2fd74709b7f136c05dd212f348f3cc21f0ae617c7c0188e19b0e72077317b967b446e708c779cbee84602877c9deb4814c45ac3d929eec56de918e023a20a2f73ac61df3765e9619c34b71800cd83d1d72537c58de07f8414488d0950b1e46eaa38aee706b90f24b10f63d499ff396403657dc98671d0833b1af622ea981701ea371e259c51d2e6e6f62b86cfbc62ab49ef9168748ac8c9dd9c1ba2423e015e6c034475094c5ff9f4d204311282fb31434c9f03fc0117b81efe3f803fd440d9381125e504767a75f0b598cf23015e3b38b0bd70a79c975f17b2a825673c212d83ab7b7b6490f2f51d53e0eec72585c876f56f6b1790990c2b6fd965893f34c65f0aeca2b9e60b58aeb281754fb9c9c53057bff3f4f82372a4e4161496febfeff71c80b52b95a36b935aa30760663dc06f18c84df2f24ed14b4d08d6df312042d61523032ff6c75683711cce76024b44c1957b999539d11f9c1748f38f8ee62376c3fb6f5a45d4702ef63f3a936c18806e361043ad07ce9a08409906c57ad3c3008c08cd6a73537ad67bd3bf685be6c8ff035503f3d7fa528178bf4cfe703527f0def3ee7f17ce920b18ac4c996aed137673a723c7f786f57f675cc1ec2e1da55ff2c4eeec564502ca299cbf5f1c59ccf6d41fcf76c1b26d3781be5efd6db3060a1bed0d86794b118c3c621d40e316ae9b572e4c6573cbdfa28b85910e8fbd330e97383ee7b3525914a47f296eaa06532f1ed30d8726654973a412a217a935609dbd11c51a2b48e288430fdb43933f921693d873430f9df9cecad1437db32cdb9467277d32804ac50278e63a9bb45368627c532b14cb0f2ddef86687cbe384268e7bd0e8ba4a22247c12f935ba408c50ff086770280fe758d407ecf9d16a98f2dd4040b706a4fa2bb7c7ab4bb07f75c67c3bb52950193287208a8f47f045cea9874c0dedcb360d1cd4099eccf572006dead4aaecf9e2624c40c7688f5c8619557f4b6f7c8765fdf0d7c90bd1cc7aa7a0c5f1f70027b54956ba3fdb8b9d4d43327310cc4c22012113accceff6f53bdafcbbb49a8d44a6afe0160257d552a368c115e20c80705771c619cc2afb82f7811dcdc41c8109325891c3e1b36a809137d34213f1345b64387cf38af52cac2693c7f1a3649638d2b10a9360db81de4e0aa06a3eb0c88c587da06ad40b92575e0d3fa980f06b2d02337774b278359bec2692057111cd226fcbda1b124c590da85ec226e5462a6198095be55b897eeedceaa2cc6134a6da7abd98346c464694e2b7bba1db5f2ccc2c2c4182fb16edb94622a5895d9db91cb454f389bb866012501ef75ff05cd96a13499659852dad9be1aa2a4ddbf31e31f9107da7233b8aa7a0e567adc60e570cfc2b6db689bd26e72448b3df4427200cc9ffa4c3088c1fb6c2e67b3e4ebeb6f37ac084c4c7b974b928816d715e6406a6d0cd139c30acbe879866469bcf7c8486476789621b5520a0ee4ef05556082f0228dfe295c621880601638da022429c76d5fcfea9daf6c41782cb4f0f0f48c55cf835a25bbf5ff5ffb9441d5bade933cd5d27db2bebe312e8ea25700db7128ad76d2f71ec42c0bf81fb1ab84ad5b7dfd8dec04f8b340915bafd9005dda52c557f9741f4b4b3349cebabcc6f17248f1e9d5aa9d32f29078db34e3fc35369a256ffa6085e78ed99d62d61ab7e85961ef150b3d4eb3dcbf25f14bfa087f52b78a2a87730582c6594014c35d331b29f69e727ce7182bbddd0a26106225c76b5a42d047aae964e500f4a7fcb0993be619b68d8c97db41b43ad3da4274239d2c623b9c0bcbfff3725e7483f655f27e626d2130a60d731c09c53a040496830e7a14def25a236aec544ef7627e1b074dd79159832519a0ffb018ffb0c01e659bd2ba81e99bdbd314720219cc6520a372b92a8071d318e5dbbb0fba47b80daca67ae7760f4b65fda32b11e01b08030365b6ed126bfacb42162359805cc7c2256b80233a95de45972008aafd64dba84f7fa1e23951a986285690c0f6d06ac2b4c91210d4ee7b380a80c1a398a6c9fb6d147fe5b6076840d2f4bab3fb08af45be309f82a40a501808766a51712470eacaab67a861c213a910efe5bdf3b7c1ecc088678535f4c57d1dac2324e6a709a1f9b07ee503cc37561c9aa2eca63d0684b64bd5c0709afe926ef659b786abf014ac7f5dce1f5e02a0b7a39d4e389d8203c1ed301565db6e17804355d60ed416ca2cf7e5a1b2e06de764e4b78e6189363f1bb661bdd78c1d81b31173ab229f999df867e847dd2a8692e923111a97bbc6eb4ea36b5eadb0c781287386fa8e3ae29578713666fa4aaa29dcc5a546a80995d33ba255877a7e8dce0657cd7c68a1b18876d25aad76ba1ea4ca77adb570997e372b693395640c16042f173188f199286a2898ac316b883b039650706a76e58ef28f06ebb2906efac79dc2d910ea83bd84543f3ae4bf582dfe35c9dfbeba7b9567a9cc0c45d2c85b2748b1e7da0d3f454c19b6aa7b956254639c69c7ba6aa1a66ced6f86b5336f0d4503f8b7828f94c11943b990be222475c08f6f1de5b148cbd5e32ac7929d2aedac6de59fb4ca5085e28d94066594f634fb2ebec69b703a8525041345dac3da341489cdacec50dca3b3c12c9099bc4ebe409cb6773047cafff6df26a277813ce14e05145a5d240ccd1188d508acfdf6fa378cf9b35ab45464847354edc22fd71975a56c451ec1be09a25576a61b9aecceff7d09007f7bcc935a42b377c2b5d275828df06c8587fabb5937a3f31ca54bb606980b1466592a23ef636c09cca3c1977ba85e05bcea7b2474f8fb5425e2f8b1294835bea3f3ae0d4108379e20a1376f64a87eca35576343eea6889741025201d98f8f27bf6efb2536cf4efbfc041b2d668ea09ec7c904c1f5023e1272e36e4935650e504fdc368724ca1209cd839e8b8bfb1b0d0ddf62fb13dab722b4c19bb411616426dc3fae0b01a0ee1b5c65cc4d805381d2bc681ddff1315cbbd7953ecaf7fb0b8eb03d92e3ad0eb8f006f6ae04a60e9e6587d23d6ffaccf90ee63a21a59a7194e1991439007985499b84f7224e40397eea7bd911922959929b366b2121b0be5197193db1b7ab9093f7e614640dadeff87c9db37749800c179900260a79abec015ba4bbf85435bc3dc5cafdf0ed5acb1b6751618d9a01efe8890c6951972ca9977c16f403d620399a4a64659f2084f0a25388e5cdee948f923c3166b2bb9db74915ff17312b101b92d6a3ce2721fff6c5b918d2331c4038d94d346da1510532356d5d13f2178b49fa36705f68bb5630938f30db21517a2bebc7c4b84ba97d97907901e1c369e9ad35bc42b23fecf216b82e1a4c5686ca2e7e4d382565bd15c2590714acec2d2359ca1c35c32ee52130c22fe83009b3785a3b6b13037a95d1e7e5ddd8c99805d0367b77b464bde210b505565413dc156b87fc28cab710956531c5c4e4a75c092b183f4c0557d1fa19982670ab6e559cb83bed46a8ef90a2c27d34816ad2136fd2f8c6c8f29d3c8578ef02615bc026f5c5ae8568a51f6b6f9da9a36ed16cfa062567fdc777bdd655270893ddb58cbb668dcb657c463e0008a0da7c9fbccb18609e334298f27ab35d50b210ec1d5f6d792119461a258eb79acf688e897b10bc3b2b35cab7d05de1e52dddf831cada0da9e9cd5f37507e4949a4c191db11fd0c3c7712d9e0ad2035273e8d10230b099a3c9d15f75f2272339d71670c65fb2a1a1ef29073b7671d8315a62249ce414a226b63e2253620023aac20a511707ca6ff7718108d0dd00ef25b7bd95feb9c6129d264984e13fb2115960fbe53d95356f6d1d5ce85ad1167b9b16cd884cdb70b2efe237a980b4a82576ef2254b665e1c670f179812086990da8d24ba919c878d64e1a6e19dd7afcb165f9f0ce4d9d7b48c4d3094ea2a25eb536b129f005ff339a79e30a342e03d78d4889b39a3585cc3f3f7bdaa5811885038d25d04c9326f7648822b6d911a4f8d6205f5e8a4363f8eca57aad950b9a99bcb2387f9d6707417db2ee16ddf26f4cb79a842d4d521335f706a4557a77104cd54961c039005145efe5b3e12e5426a92b9886573198782fda37f81ed1a252435fe3eba1e6d1e1a5cf0f6dfc0e601987d15143b549a363a7391d10d105089d79ec540b547c5c1be9f1ad229774f8d327b8e37105286d4dcbb0a79dc7a129b46546b7bfe921d006f22b9e9d5116af98e663c74c25deca9d01e392f49c3f68d0ce2883e2d99cc269b7cbaf5ba2e043904ce973798baa80a731c73989d1bd92b8109b4cd2998197a101da7f620f1ad28210d4a32441de4355a224f5cc098ffa594ebc7a77081be09dfda2e7d10637f4b744f50e42d33a2278f75acc801d2388bc3cd042616bd36c7efaa2a5de34872f37fc14a73c6210da30fafff0a9cadc175df1d08964fb674e6ea10b3685736993d727545b39e71be4eafe172ebdfc752ba623a65092b6eb7a2e63e81065b8858f52aefdb614d3a536b4852b1635485035e5d60363a861218c3ee6b74db46df8a8a22079efa8d78c30e2490a7f8ca7cda9bbb22fb9447aaabd55fc50b95eac96313b2b68680611fdf75cf07ff119abc6788065a587b46b1ab3c1d53cb7f4094876a807b7d7697e23eae63da66aaf5f5e5d80249303f665c0a7802e192fc0059cc58345e363e275f59326081577f6f93255ae5d2523c9dcb23ce3279a85e819d9b88227bc976d8576433e45e6985f9131d2de6c8e8ae4620d769629f083a43853ad98ea00ce68e25cddfa18ac4e442aa7762d06755771e09a7b05f9bcffcd2efe99d300fd02df4b02115c306b33eeab0f2dfec442b2611965c4cb464456d4f63940297ff24581d7a04490a17211ac86ba82fde95cb1dad3ce904677286a60f1619c52f616174528445345d58118e75e7bda24ed56d1f0dbe65cdd29f49911bf1345c2bec89eca03fd9a5ae20ead308582c96892f031c430100d342d3fc064c600441479cd5af167228cc659cab578165824082224504acb9c8b62fe4a47b97cb55826dbcf12701e2401879192a1b21d4fabf1b232042c988e3531c2c1f1732cd316aeff7c4766b8b3d5f6cf3d0e6327178c5a4644611175aecbeba61a46444a67c4819a4e0c348147a5c6a67c0168f95969a9f5eff73a281bc580794bbe3d279a80690a4161d5da71c0e313bed3df3f7c42a5ce10962eaef2ddd9eac029a53074abcba72c7a68a495345a0e53ce010edc03929f6b3551ebf20a873f8e203b2ce8bb00f044a1d1e2c20e2474981a35b1b8e1c2c50faf9458f9fa83b06ab1fd69919cbb258f6faea56e945fd70272618f95958ee8d107a4af8f601dd9ce6ec9460d668730a3dbf98f2feca86e092cb528c29cdd398a0172bc2ecadcb36413ca3caea7652e6dcd11d816ce1f333d0bdd5074bd6f3a7392040d421427f02f947b6e7fb9cb717d1da87fcf80796b20db2310620cc3301ba8a07d37d4f9ccef24b9dda7d9c9a62e87f23c9fa1d0ab697a49bbe3bf8a6c5c2cba6e8224a9c1e55f127b7fd8a1468924e375c7aba3c7060c89cc832b5125839f45a5e3015a7d1b7ba5466454d46ea707c16db557ae3acfc9a0249e0341526d805cef6384ce94b0bf81b8948f43f84aa8f90a90c20d6b3cf7bfdbd1d338a158518249b22b6798126a899e7aaec165af20606969a7d4c60b897992968470c5d9d911eabe699cedaa0eb06754238ab16bb7722c31e8b0be278d4563b77ff33bffacefd6675d260506678114d44bfd5e7188e75a1c049eb64700567a22c55edadc0960d8220eb847df25c99a8b08d3de0d2cc25201b0efb7b847c23044411779a851f7487689cab0125ba86ffec85d76df721574e537eaa80b0780cbb6e8307eddb545ca6403d0d2ec9488f3ac5ecc0538c1e62557d9a2bea78d1b3bca0d378b4388aa2f3784a033e1abd131056203f62fccab5ee33dbf3ce4a8893cc97e80f2c9b1c8b3a9ffed64133c45c7438f6b567d2cc85d887c3077b72b8fb1df0b4b723670fdc36800dfe6cbc45236810a82af59b177c6adcc270b4a5c69881a087dfa6392810b76d5c0f81003cf1ac67f9bd7dd9a37502639048d79a8efe03bf2d0a28a5f5fe6a38571badbdf7eb422e4cafb270b1e213b986fe0455fd05b3d9ea5330d0a2bd544db24dca5eff6bffe50285c36fec5242c90f907a6ba34f84ef3fd1d46a4f949faaeb17bfd4f4ca1812f62808afa16c48d54eb46fd6acea5cdb0eff2a85bf52032cef50c1d521eaa86478b1f4e83e6bbe9136475628c702b45987d94c48bdba766de09c2514abbc4b87b9c48b0fd76ed896fd5e9a81ab097167519a6e44562922aef1b4183d113e49847c02463a75a4de434b99ef1b4c62bcebdd5d0ce541c52a22cdfccd6f569eacd3428815cdc3c1760eb9dce493e4b1afd65f4bc9537093e18f27cde6e788ea533b5ff976535d595247f39de5b0e52c07388b4cabb2cdbff60885a1dec5dd4a12df59b8e732e434941226ff64cc4ecea232512a8862d4a1ee0e17df1c9604df514f35bade3076cd0b55aae7327af204bd90d575b2864195de9a2225fdb1b84c70cc7cc1193482697704167bd6d4a265036f9ad787886908dd3274f4790594cc22434973eb98327015f731a9842b8fab9b1eb74ee6394aa641c74a67a92304e22e774ff73ef530dbdac59ad09d29e84548fb974b681d0e530b695e5c8af6f0c2473f8a9700be6e869fa713c4f0aa68f060f60f437dad6a81c78b86c4d3b4bfde32c048d5528537ce21f07e73f3019dc37703b5f18702e62a042339e9beaaa4f9be511c42d37a0335a91f50b6a6546a5ba24bd8b227ad738e168882d6697f223adea7737a46d892e58cf857fdc920b12686d37d8eb18dc0156f10637d487a9e01a94eb451a74f7c47bbc68b6236f3eada381975a68f0ce3a449fceac50d890e01501f3f0e625f48af2b926c0bce7c61adefe33c1d9c585dee194ede205a6c6326e0fea807f78c77df091b9cc3bde96e0ccd593a67ec20d4c59f3b2a1ac74d13f6191783ca947154655457a1a435503dde14b634e38e2589bc9df427c18a9a3bb34c843563a863f2c111deabe61a376da7106db14982f57b7fe89162bc1ed9d164f11877c0e110a6a0ddfbdf55511837471e063deffa0c7576032a11b2e9e902941ebba8f6ff9926edca07892172483549b4675de137e1cca21a0a39d4ea4df739c8b9843be7d197c7522a51383033169783e400756b567e771ee61cda6c0690fbdaec93d5c19544e9695a5aed608532b58363bfc945ab35a50441816c3fdf01992ee7785aec7e1c78a3bb855e4fe26733e1392ecc362686d9d3d8a002b52a44ea0fb144245fa7de1575fd4783b1f46805439c30da7bfe0260b4ad23fb867a8c54c3b88825a418b84baf678f13d457cb7e8daeec82d6ab814770534501f911be27dbe6f6509536cd2bc7ff67b1d399a254f15740dd24d68c36cb706d903782a59b883b69532513ade0a1bc49ee16f71e16030475af89a49c3cb1e5b69dd9c3b243227d6042547027e2c38f5ac043f1aae5016e88dc91b864817af21b811f7870a5b718404f11e3561360b05d0eb591d77d827acd952942306837b513507700b22d7336ba053f3dad5dee1a5a845797c0edc50fc310ea10b17c7d4ef0e9d965c00854f48b2c389918a032aadcdb6e55981679ce705452d942299d09f60b851c20e7216076910311112de84e99b617d4e4e47020867890c52bdfb48153c5f7a3432a8643818a27e7b86dfc3712c4dfef12e253fd125f19474e4722a1f885fe8cf7bb32840416a1d20168bf4d35e7a0976dfcfefcae07efdfdb984a11d073560325b4d7ba1636352385080ebdd5eeb81667ef79c1e7936bf0b940b8039e48579d947cf0bf865eaabfdb9e941599fc01f9fcb188ff5a9b83787244e73b4c59e538ddff7c7467aad2a49547ac0a82de19188628592d348382f9dd984babbc5c0578ed7028b43c7bea268496da3edd1c7335f133d501698eab55f2c3a514c101e06d5bdf61a6e42811891b70bef1a0d4293aba1655753166ae8dda4817972b97ed01df18f14aea8f2038f7612591f3de023c99d3860c23fcd9a979950bcf43ceb23d33a3f307456b43120358eb98e3e711e30b88e313f85c744627164d89a17e4324856e4c9f2b640ba785a089f7fd75e9eb38c03b0c4ead2f71e1eb674e576fdb37e5b78dccede200216c6f586842c2064ddab2a17e3754c75ba6ce4cfd213a01025c8c1b41842952fc54f0061bec588a4cc83913d33732a407c3d919e3e276709d33d1d451e04a0951f374be875591b0e44ba42d4b4d3db259f9e9fa617a5bf13ac8fda82f8b58ea85b94c9cd930e403fa59ce87703d2f193a85020de018a92ec31ad015b108d74a04c5352675694c26f1ad2ff7b16f3cfac566257963c9dce4a5223f885ef90317785464a198a58533dac6c3d907d8753a2d3c71c9a584d4fd6120e8d43822e29224e7962d554e0a4c9f45801a6d6215850e727608127bb56276bacc22d141f22cf2dffcaae5379928c908b440a62a4617ada3805a517ac4452a8df60742701cb3c751272fb169984b4ef57d5cb69ee27a38ee8b1dcc8a65f6b4f494477bd948f2f963393caaf78fcbfc7c46310341e5247d8d8ee7ebec3b567eb0633c087dac22ae506ec6c34dbac8d7908a2d7de25a2aabe78496782875039d8be6dbda9057e769d59c9c2520358a65d3c273e55c10b35ec61be5d6e68ee2d3968c2566397413d0687a944f326d390d2c1b2f1d55a1f398c0a88b4f14ec7a7b7009d0c55219693af8e4c8e12efed8f73e769b53d64b4944b01ca97a74ac55138cd39415a19600464c510ceac5026dcba706b56ef2ac6e410bd60fc8db46e8bc7630efec721d577bc98196d897ecfd344faee0bb438f7fd27385809786cae3b70b0d2f7dfd941c7d5725997d2d87770ca997b0290b00483687e6fc3387b6fe92cb186c6a65adc612cd15d9efbf2bb14c21d6a3148f7ce7fe3833e6638086cac4f1dd227c8c98c8e9d5f9c0cfcfcbcbd02e330570587bfd4acc8d46d7dd3547a50f68a0d9986d95ba17c5c0955250a7f0082453e5a907b71f24dd602770c0ce2e87375a6240909efa3724bfe259ff643e122e5eb8cf2edbb004007069b7cf191ee8772a7a179c6b3c5c7d20d0bd80054b2b56c14742a1a2a3d136227296d3c9abe4b8cf0926302360f9ac82b43de3989fd3c2dd89d7e43b998a1451814f2eef9b67128e2fc9a2f88fa43a4f79dd638654fa1b66ec6f084981f2fd68ea855a8734330525c05b9e8f7b9f3e3761a06783b79644f0e958fcfdad7d4c65403115122d547c78466c7f4428aa4dd8a684fc87e7ebe2a10045f04b237e245ea62eeeace4ccfe2ca9b0e8bf096fc7b9da9383c40033b479f4264cd4ba4a4b6c1443f6aa3c78ea178ca80aec01d0a40c8b93bb0b10af356f819d126b2fde2c1440c56c118ee5c01d767f9ef6bc8f109b59c8e4508ebf37c57ef15c48757bf17f26498d41face61d7599418ee37f2b86d9823156d81094118ad73802c82042c27117b320a088dc987a1d156eab47e9fee7e64cc32e2237b036154612d7f7b299bbd19e1b25ae00077ccfe9c6700f7bade48b996a89677d2163045d89645d70f51e6d9a46d8858eb6a6f66248dc227b3d5394dcf9258939a329a18c9baa8207f83bd59fa5a4522eff8f464183aa35786b7340532cba9b88daae71315d76ea693f8b147d70665e826c0d58e78bbee2998665bf6a68e76f2941ceae3636f9f9323abab1c278d5160c701e32798f34a802611ac86e7a4ddf4ea81e833aac985ee66d278b1ec66b53fa5fb1eea4eec2f521d7606912fad02745d6c84ff579fd9f1791a2e6a3a0edf7f8a20c733276b12ac0f4562d6a1550feac2fcf97e7b1fae68098d3e4ef3bc40fb2ed0ff978c5b7bb45433d9edfe28bed21cd8015aee1ad5aa5e77a44c2bfe0ad51cb37b10d0eec5f90c1c442fca022bb5256aa61edb6d64a66165640d7347e7a1480c7fdc815c16c0959282157b8efd2b208482c82adb0e6892e734211bcae825906a5bb29dce6566f8d0eb089c16d655753d08a2bf4abe9b3cba27369b8ec9391edc0a91697c6c335fa0b56391554771d9c5c098a20d5f843eab3b62a4fa9f48d496d3d759812ac92947c4e1d62a9113f677fec44f53fe792fff3dba38b23f3a74cf09fd4038aabc514ce6c31011e343ebe10362647dd6bf99bdabf98e873aed5a81fc0289000f58fe28765657d6a4912c092d4dc5e4b7ca37d3932e1e81064a4a48181da37984e551157289da9cb4b0edf0c606ac73ffb982ca78a35e4aaab4ba4a3364a2de22dff7f9b781e76a6f8c0c26cb8d8abab38bffcb1678d2df4eb669e512dad2b9dfe4245b84438bb6c08f278c82659c03385519173dcecb6de666303cb41d14585c5a19b9e337b7ceafc3e373dcc2dee6f29b7f80823405aa5e02132206c3cc426ec5c356105d44c27dacfdd4c9bd447591a1801f4442cb2599f39e0e3d7d397b4fee42573057058faadfa354becc5a83c6934908ad52f889ff63fc791b43788785573db7c35cd9db2bfb193d04038b1d95381bd6671ecd4cfd694047e7a200fb3214c235e66793860249016d9712d2e7dc6b9655a04ed70fedc2bb88a5ac92bc15de66f879c44f31abd1752a3a5c432dc988b3632c1f25b18c9bdd535b5faca1947b6f4854398ef9b22ce2be8aa176c9bb8d13a544234f7778677a82300a31b74c1da530f9ab5aee8c99d888d056d2d9182880777160b76de4232cdcc238dfba8cdb6099ae2f83b04312543c2c29216f821c28bec6c5589f67167acc6f220078314c7bba0c6ef9cc3851ced5d2d136fba4b706978e988eed4bdf5f44fe4f0e328a336f59253bc3530a7902cd8cfcdfce9dcb50f14a860803b714789046efaba602cfe152f476942b68ec92d55333c108baf8db084ab9bbcaea29907a190a19871e0eb8ee2aa42024bcb01f9443aeb07a67ace15b0cfbdaaa8e9a4b80b6400d6d4dd0183776184865771debf028985ce8782511a0cc08bb4b0dcf356e7287367ee2eb82d8a4ce9314657b154feb4ecc6693a284f5294a4b774994b9c05370b1a4b0858f74dd272deddb9f2dc00287fcbb8540262bdd6f8367c921a228708d910990597bfa879936395c0e21a4d6b535d313296c8483a85484640814ea9ed40937ef2c8bba05c998b0cdb6f6b94b77c670d55b2a1ba8b942b5a42f1d6515a3fcf56a611ef92d5251d8b97db2c8f817d61ed713b31e3eb74744c29d71803d38cf1c9b89cae3aafcbc0cd55ba7efd752d3561093bd35d2403097709c36f113172871d74fa4b0350d29887517dd53c13fd192dbc69b343b879b84d6eba4b65c96e505be55cc0f0e3a2778c29ce7250d844ad168d62f0fc7d78c8167124154980fb669274792d53177523d765aeef9a5dd516836886dafb4a1f5c3855b503360aa5cf8257586b6de30fb64b0a93248ab95ca095d8ed3ff866816b57fa7a3964863581d5325870f0b66c44a95ad86ace9867a0351da0ff107adc8f7280401e018901b167e9c4cdbcae2ff411305cc5c629a323f53a1a1db2a6ca35dda118b748983c1d8337b532b3ec0176ea44cc4ec7205b8670637a4fe8fcd1604c310e1934098f8cb267fe193b67d8b098ad59e04709d383c8b82f4c04765367031d08f588433e742b41172a8f2119e8c2412801ca34c601789dab40b626049944fa0bcc2665c79fe940f39f03e8bf42225c981fd65fa5fd6ccdb568c46dcb854b249cac961a9ee95803e910379c3407c8bcf846d285e89a5ef08cfb74e2017cac88a49d82dba5abeded78b07ec5491df2e1b0eb53ff9b8bc8d2a5f974a650ff6fe81ec2707ce825928f63619edf8f1e498e320100091c79fa62293faf23bf669097259cb3ab9e5e8eec5dc2efd43931353972b717caa913e660a5c761577c77ee2456704e59124deb950eea522f6b2e69aa902f6add46fbd0ed4625c5560e7cbb0913660d317a4d5b8fae6e9f8d70ff899b8ae7837b8c4095bbbc60de390b5fa62f5fbd565075e73588e17a056c854fe74a51cdf2d241efbb0e7c80e2f6437f9575b81f394bd67e6f81ef6fab9f2406bebaad4a8e25f724607d39895310128aeab05199f74eba78e80eafb63f3eb70ce44c4bcf7ada567606e2316bebdc247ab9cc0bd1b4e6ea7e8a44d3172e75f6636976afb9ff5e824d9461122b87b52ab3b64d1a4f1e9b624c030f19564254071d05c9bc247b8e4385148255baa8d91b85696325a211e8f15bc2fcd233a63b781d0192bbf3926c2d3ad5018ad0fc42875a5d915e4ec2498b639cd3dfca38b46c19043f4d7519cad17da02fcaa6b822fc6e98d4c054704dda91efb6cb99e3478ad24993e5aae8b12816cec62a3a3d536e51663995f253e756e10c0456d32932298a371c4278ffee7c63ae0dddb392330dd3ce70a1ba5977f311b0f43168dfb229fddad08012a881b736251ab8eaf9ac4ce3946417400830e783044838aa8360a7a71979dcfdff3e8666ade18a1624e66b513b61e437eeb05f5bb6639f3d68685cfcc51b0cf38a22632bd95ef524fd2d85e1800d5e3c19413abd4455b8d85a804425d522741ffcdd1b13096edc852c92b09b0656f129f64f4af59c795cd16748425b1fd98bcddfc057ada9ddb28430eae82aac04d41b67c483998149f54f3e3f5594e9d98d1e24f5a8171cff965af162fdc42c72dc4dd2d05527e45e920265c6abc3d7dd5b369770177939ee003a8ead990c06f755dd97cc63c1e14281e94871b3b10aacd6fbebbb78734ee1fcbd1521e51111dd865b66bb6cc2f44499643e73721f958b4b381dcc4853f0f295889bebdd29827a2936bd671b31eddfa9c8399f0ab40d19b4c46c2789c15a57b80d8720616c3d5b3ad8612f50d3dc774bdfca73049f9cacbe603051c4d1543ff5e864d86f5bd72993a145f0a0969ed5609dee77fb0af52e0da686966a384f905624d7f3c6c85690ac32b412671ac372dff38f389ddcbe7a5a020dc00a6a0b83cf845d66e8c26cd559620c6a0f24fcfe4e6489981cb61ac6c9bf5a24e637dd92a81f280edd0c98adcf5906342d30aff197368b2d2c619449f131cd65b7a40cb79cb19d4eab51aa9c369fc3e742c9d507d64fc53cf7f434650001795be27a9930e7bb299c9d6a1807f60d61ee74575852b4decd1f08ad4f87ae2af192ee0311d9e19177faf166d74a55154752aeae8128b416b03e4cf901ec35f3d08292d70e6a7c31a3eb01b0cbd960f226517ecc1a62437ba0741d40820d385d41d4bc22a323f39d98f0713c87814d18e880cf8afb72337eb3a2729145feb629f26deafddd65eafcbd683a1fde3e6bf5ba65d0a86b87385f8b856b5cd7a004993c2e0811fb81c79ff54f5b638d6b3ef4665074c12ac3beb9a1d62a333cde7ef0f1836607b7fa6aa1bdc76df0952f7aaa3fb8ebc99e5179dae05621f303026fed9a9ef70ec7a041c902cf6d59a91b78ccaa3abc004f92fa5290a5c8ae1a5a456cf74844d9b0eb9463eea101a44aa4f9f49e2c89676b62cd0d3dbc34ae36292d05c08b1312f492e4bee5f75beeae6777bd178308addd87376fbdaf22da813fcd3ed42cfb16e6beee531f9e35dc98ecb9117f689edfecdc839f87bfeb7f1b947d10fe5cb528cf717c3a5c92671c931403b31f371c1437152dfa200e3edda5004976fcadaa2033c463aa51b7f171bf8a4c6a7437fc1e40e5cfd24f7dba1cdf3dcd06c8aedbc24b781d17fd7d2041177f6dc7851bbb56cc38e644f87b61fe5e648829cfec6e052bdf2250d783945eac8fda3b67367e05d3414066066bcb2b2dafa2599aa55758497ca052665f2da54b583980feb1053bdf72c9e65b7eb06e7a23c96db6a3e8032eae5edadbc85fdeb43e7db68cf6902290463629f096a7c61f2d41ee70ce0405805442b2a11a0dbd4a568e8578a878db06592bffb0ca63fdab37cced7d960ee1151917056d2812ebaf30ac5803739d3f89dc0c94a2314d768f75770abf9387a67f0d1d81a5ac09dbd32f2faae1d5cb44ff1f6b92b6b3b189dc912e5f32465f721c70316f9ac0582e1922fb2e640a675cf1c0c681d9cd48c4d262ed074f7ec41ba1569179da3c493e693cc5f242d492edd35965bc1c6a16f1406b8994b8ed70afc2e6dcfc2be76be4c2c7df184ba98454e9e08c1bcf2f2657f3ebc8985fc1a8ae762599cda38b11e78c487d09c40f1be1d88eecc2f69e4e03f3cbb37c75f9be97bba9d575cfacfd81542ac690f44a700dcc6ad6bd991f61d3eeb7cd79a176539c58707c91374cf04cbee8af776c4bdb144d880c6fd6a03873230a5608795f110a2c45a5b4f38228eedddbe746beb821cdca7519b46ab350b1d79ff74e47aeb69ea4ea2b920c05adf1787a385d06827af8fc23e921aee96ea8152a1b2bedec602c03197f2df7bbe379f39655ba12ea2a9e9cce74126c292cf31f0c6b210dfba6d115ef5498d703f2dbb09da299c6ec3defed9655cd6f1ff73a6ab9236df54714469c8d99308efb7da6f87123f8e016cec81906df3133b14f20281cc862aa848a46ea7753f7bf4ad359f2db9d5d4eb9671cc4ec95180baccd36d4aa6d654d0b6c1ed641ae79e5c207dd444499b51376888b1b14e90a7f2d476c668fc70b39d15f6b1a208d59b3dc452ab30e3a53252f6ab0ca81577e8d2d7963f631243bea5b73ff1488f10558c1c194791031b7768909cf61c6d5bb1cf0a83d1e93efe88ed4dcef8dc7f160006bac8a9870efe6f5d6fe3c06dcc03fa7671e33ca103393df22f41d9d7938307f14599f267e1012787872c8493a27381eddd05156f02a9a32b5c56368692e548af7e1fc07c981a9086948319a4a89a65a5a10d378ffe7ab7829b574a64bb16e379a950eedea6b67f386506c782fe2d6a600f8188ea048c40d7a56f39e8b14e16507334b37db070987a1203b99e093060968a7d1041077f7f114b2f3b5266cea7ca7e72a8dd119da35b6c327f5faa53587cc01584b25d3bc9fca23f1dbfa540990c49b08de6621fdc2dabf57f2edd0459341035102be53946369f491546dd5b4ec746e2b5c93f9bc1f44a2d57bd358c6afd3de00ab7d99c35af888ebe6c1973de1266b5e48145fbc2c952af7c3cf12271e1712efe81c7084ea2576f269af1464c61eed296fe0346c9ee1b08c06eaa55a71d0436e82d3fddd5fa913e1e59ceb4b06e064da8078edd18f16309dc2bf8261e300e5314313b8bf552ca4ea44e4e9571f43a7c4328158680d2e5a41c27f4d663906a5f6268ed23f796b4bee0fb29c47c04a0b3c04e8e0b4c883634152af8b47a4c8de100eb10b7bf06fbb62924838f5f9a559e2c1d3422af49c3c6af6b14161b72efe29e42edb58d33b79b6da9a7b5bab5255ba0c273fc47abbd0445aabf93ee65f39b170092b640e21ed13de547b72541ad9daffedad8cbe8e3eae7e5606abc9800066d81639de8ecb181af62cf76825033af682e997bfdc07e11396e84692ce14a7f2697e5d413c2fd2bef7340aca1e6597e3bc9143fcabe0d1959e528e0ca5a1a2101a45e5610b91c4513501833f9fa707b19eb908da96ab97e29c2a6e8fa5d0295de5f01251ca987a4f59cb2618b2d4d1dc2b06a524f2027c2901ac1fea22be705845ff7ed173f9ef2becc7713f01facb97d53137256315e699cdd04cced1d9e9b3787096f7b8c584f9c54c4f877e9f19d08e028f8094565933a59806156d553733f79235a6f8dc82c99e60ff6c74f5c76f4c686ab8d24b091683176f388bd36a2bd78756989e1a0cbab34d4dca81565d877fb182523441335a161f65c48cda3f9400663b2d95ca3f10cb03db7b99031fa6ad682f314238525ecb0e332f378089403456c47a5aa2d02397037353a8a72cf6e6a46db467074dd68a74cb0e783b42c1c0a32a9c0a9b67da9e02b90a2abe211c6f42c991d70adbd14001d13158610d0ab7d43806cb9fbc393fb2de329660bce18ee95badaf66bf11ef7b7853a2170c4046b2fb83cafa0bfe79af2700742f1a5305eab68c1907d3a938f58e69765b60e5cbcfbb354b6320e47afba4026a34be66e1afeff6db427062179b9db9013c405b686d6d796eaa63acbc90c89295513a7519d18c077b7b926884ce76ea5e12212a075f4ca4a250c0a85f2adda88117a63f89cb2f0c518a551b99e72238b8d7317a8ec7449ff267a8d155984129f01399824b1847c2be91deae9576a6c9c4819a5fbdde27496a8b99f0f1665df937230d0445b95468660627e962d8a69a694de95822aa06a330f6e6d46e4fa6ada0ed26983841a5b931c13d0bdbc088597a568d57a0170ff5ee01529b8b7fd0b8e8406290c4d95b218f713fe4f00d74d7c4a6ebeadbdc2474e1da074c605bfba8928a827399f01a8e4199feddb4f606e8cb250f289a06501f2b7779d374b6ea395ac00e49efb835c560915e2686002e08b2255cc0aadb62020d95493a8d18ac355e1e1d025bdd99cf829f7318b43b36f637751650acbc434902e41828aea24288cb8c3147d34f79a5fe75c00c3bf6f9ab56386beb9cdc72d29bb847217d052a4f63759f1df3c2da154f84bf202b250977a9ce2406e61fd07d9066f0fd79a63140b1e74f7e5dcab66749b84d148d9e5e9be2df44b9224cd01b98018ec176f037616e8a5c4063d5dd4e3814ad8a631502a6a137bb472b0ca0e423d140e1fe7a9c9f9cbe401c728350fc23f51080c8e55f09b302f17d67b77f56d86c0baaa69b3db648dfd1c8c3a654a2652b5c6c8f5eb9aeb093aeae551cb24a1940475c103df56e3cefe7686c856d1fa524cd0e5ce075ae54710d082e405578a53323e83d2bd3885efcd8f8f06a62d47cfe3e97017e2f38f06abfeb2f7936d422f448e7505c7c0ca34e10511b71dd4c6a4a69a139241d1a316e1c0eeb7a5657a56d15f090bf8dd4e02c0c8e4f76e27c9aa0916dce911c267d4377d3ef9ea3e5dcc29072a8f8758a30a9be27a01d9df3b44438560347aff92e2af243415ce456052cb5dbdab611b0e3e843510371f10fd72df7c0dd707d0f54989121dba3af6522fd79eb2d22b6c555c434f2720f556c003f02ad022b780307732da166875d63d7433e86eeadd13b0ca3a57450d6a37f58460e21b5f72a509645af22f8bb182ae719e1bd1bc33fd0b7d35e4cb34444600ae292438929b58d1fb19afa97a4617eb149be1cd999838da76aaf307dd0cc0f4ea506ee82e6b7e0812b71f73e060744033fc030978b363c90f23db0192db90e3a5d5c1707b154748e83de32b74365338f83d58632fa7178203943ddd09e6090831f0dd68d420a0e346e061e66962e63330757401d3183c4c27d0c1b06a5c5df33f83b6e4145d70a4941edb3ec2880114b0734dcced37894bd5de24e6dcac9e181c91a39317a861c835d2c928151d2dfd8a28324e3ec48c72896af07024f1be839515fc35ef0c8632bae64c5043ebfc49c8b97a1f46c9250410bbce099b7fa51bc57ac4330174116a2f34e94a2708725c527d582bcd0a6e1f4996e78fd002cebf1d7ba798b0b92ce15428a1d710b1a6ef5e56505bf5fd4523b6c672ea45cc53e906d3ec8b09768eff7103a29deac87b679099ed560efa8378726a4b46c1619945758fe8afeaefc3df807bd5ba962de6dba3cfd4c141abaed010997ea540b29690a06586f64b9f8876b026882416b2cd82e39ef85ada4c2affec5fafc5e78cf7d76b3eed9f4f13f1e9040346e8cf3733e9e9c902fb5643a1b813f00f00771f423b028eb2df0fc5bbdb0254d4f05078747aa84601f44fcba6b847473497ccd17d23366a3ab0d59654d921d0b8b31f7c9f6206f6c12f07d698f01c7f185c73bf8e80ae7b191f3d4dce3d78ecc35f89bd29947b2f6207edee909d36d57354f2acbc633a2c40919fcf1a0a0b3768ca85745c38fdea4a38209cdb04172a561b6af3b4386d8adc191e95dcb3009288fcd2ec097a7da96521c2a120ead1e95b60b7812ca92b95845a88cee16d5845b84f6fd639e23a5d0171fad69b6a54a0b3ef1faf1ffe8e08090c58abb744bdfbef780bde90a4351b7fe4ac45518183380c1b95781c5f97cce0c6067ef9816e596a1cb685d6d54375b19fdc6993ed96f48cbfa05c691caa9aabd4e5301f44a9c347c9e554db3a94a73aa70d91e185ae05bc67f434f64a061667f28184068596d154f00db088c5f4c3e60e9acfca8762e84f3475129ada73403d74a7facf4dec29f56abea7d8c71de4b9c86c994f64ad542d00ef2c162d28ab3ba8fa84987b31ee8e0fb59da542a8c6d04144e9d8ee56c9d3ec79b2f858dd4b60ffc8ebb9512df08c119fafbc48bd2eceaa87b792df686100596ef2141cd79ec52bc2cdeac68ec861dd9d5578d837137929f0cdeec0eb4bbba3f96c75065c9e08aaca4eb93bec7345bf21115060062a1d5a6838ac16fd2b8f00c4dcf42ac8d676d8bf6dea09ac6a9c19b17f28643a815440ec3012055d6b96e810b5c4012108a2b3317fed14567e171ade1d58ebdac5d363462aa415a7883279d391eeb84b5306dea459f75109db3c192fb9a70716e4c4b7a488dd17687f763d71e442e13f58dc391798b186045af34ebc6428cfadb9a72e85bfc455fb8cb1ad177d9765786f7d31b486bf8dd6e9ce10e069e62730cc63b82b6019dfdd5968d2fc3be0d597d2dffc0da8d99222a933f00da339d221d4d6e3fbc7e1a50a60b76ff0c3dc3a839e016f5894d47600d2eabe73f8b967fe7f24517c34d3e19f97aaa3d499648107d5cd510c62a7698f65b58bdf6d9bf62eba08d8b8641777e026aec8d8be5ce1617453796e32ea63f31a77ee539dee31647f055d18fdc58422030fce5cd6b274103623dac893cb9cab134d9d2a66fa1acd52bd5df390fa623590af3dce565d62704ec6c1073a619a5314788579b130f87551a95e9f0f89c49547c1b76625f2fc56d3b66a8d8448256e90584ac6a08b101781b6e274b923614e513b0be3172678e75d47348f27b263a2564aecc35444c8dde9ad2bebb9fb1ea2c98fdece15fa67ca618773f8e3065f4f5dab89a91d52cedc41a64068dde490e33fc2136c03eac42a6c257266012ba71657e1f248ec30fb9065bc32cb8f0db3224c772273e4b03feb79f29b357698e7afaec33cb4477b088779f0b65a5b6a7c48c6e77d9b3398161ac924ae7db334a1d0ac5e2b0db754bad91fd0421042e1c48b362fe810921ead97c4d67092f456deaa8f7bd621bb3acaaa5a9d44abdef6f91b736ee57dcade9c80190e88b3a4be315d56cf492482bcaac565d74432a33a8f7599c52401cf86a5d1c2b85d1a0cbfbf7b4ddda89a1e43b1a4fd700a7b20fe06c861caa1e570e24ffc8cac4f90d9590a243d2322bc68386f1d200175e650b67ffbd86739d77c68974ce71763247c2cdb3fcf45bce1c493763a3dbbc90b06c1cabeab3414aa34cedfb7c45e1902fbcfebc60f07dd16102889f59fe672ba11577984447177c116cd89ccfef12e1d5a58d132722c9b7834578795a6c5793166a7ace966388e7960694f9e7d321fc66187d967758e946d43bbf7a087e8f6112897aa12b1617b1a305ba45bc60c428957219ccf96aaac76837408e7032c5c75ee34ceb328da3d3cba308b607373356b60b9e3d93c7764dbc1ab62cc7cd39f49bd940fc621be02bd00f75085fe0777939905f796f960a9b68711f080515deccf8811993afd11fc9997ec48be2b88abdbdee4d76a5ec1af7fed10fa9934b18c5f7bd0f87c95a1e7fe910f6a28a5830942d18eec3aa6ea5937179730725082cc0e8a217898de0bc70ac815137a48370d33dfa03bbf1a156fb9eb19fbeb264ffef24a3105fd30a4b4376b963bec4e4f2a5c22cd9e51d628de55d74f6d3540ca277746191a853d1f4fb6438286a1dd7348cd101416b667ff42e4d4b8c74457e781fe364e4e539be51f5drootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrubygem-puma-4.3.12-150000.3.9.1.src.rpmruby2.5-rubygem-puma-docruby2.5-rubygem-puma-doc(x86-64)    rpmlib(CompressedFileNames)rpmlib(FileDigests)rpmlib(PayloadFilesHavePrefix)rpmlib(PayloadIsXz)rubygem(ruby:2.5.0:puma)3.0.4-14.6.0-14.0-15.2-14.3.124.14.1c2bJ^Z#@YzY6@Y5GX~@X+XXJX43@WPW\@WgW @W@V?@VVV>@VV@V=UN@U@U)UU?U@UK@U[%U*^@T@TԬjeremy.moffitt@suse.comjeremy.moffitt@suse.comdmaiocchi@suse.comcoolo@suse.comcoolo@suse.comcoolo@suse.commrueckert@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.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.com- updated to version 4.3.12 * fix bsc#1197818, CVE-2022-24790 rubygem-puma: HTTP request smuggling if proxy is not RFC7230 compliant- updated to version 4.3.11 * fix bsc#1196222, CVE-2022-23634 rubygem-puma: puma would not always call 'close' on the response body * fix bsc#1191681, CVE-2021-41136 * fix bsc#1188527, CVE-2021-29509- updated to version 4.3.5 disabling TLSv1.0 and TLSv1.1 (jsc#SLE-6965) * fix bsc#1172175, CVE-2020-11077 * fix bsc#1172176, CVE-2020-11076 rubygem-puma: client could smuggle a request through a proxy, causing the proxy to send a response back to another unknown client for other changes see installed History.md- updated to version 3.11.0 see installed History.md [#]# 3.11.0 / 2017-11-20 * 2 features: * HTTP 203 Early Hints (#1403) * 421/451 status codes now have correct status messages attached (#1435) * 9 bugfixes: * Environment config files (/config/puma/.rb) load correctly (#1340) * Specify windows dependencies correctly (#1434, #1436) * puma/events required in test helper (#1418) * Correct control CLI's option help text (#1416) * Remove a warning for unused variable in mini_ssl (#1409) * Correct pumactl docs argument ordering (#1427) * Fix an uninitialized variable warning in server.rb (#1430) * Fix docs typo/error in Launcher init (#1429) * Deal with leading spaces in RUBYOPT (#1455) * 2 other: * Add docs about internals (#1425, #1452) * Tons of test fixes from @MSP-Greg (#1439, #1442, #1464)- updated to version 3.10.0 see installed History.md [#]# 3.10.0 / 2017-08-17 * 3 features: * The status server has a new /gc and /gc-status command. (#1384) * The persistent and first data timeouts are now configurable (#1111) * Implemented RFC 2324 (#1392) * 12 bugfixes: * Not really a Puma bug, but @NickolasVashchenko created a gem to workaround a Ruby bug that some users of Puma may be experiencing. See README for more. (#1347) * Fix hangups with SSL and persistent connections. (#1334) * Fix Rails double-binding to a port (#1383) * Fix incorrect thread names (#1368) * Fix issues with /etc/hosts and JRuby where localhost addresses were not correct. (#1318) * Fix compatibility with RUBYOPT="--enable-frozen-string-literal" (#1376) * Fixed some compiler warnings (#1388) * We actually run the integration tests in CI now (#1390) * No longer shipping unnecessary directories in the gemfile (#1391) * If RUBYOPT is nil, we no longer blow up on restart. (#1385) * Correct response to SIGINT (#1377) * Proper exit code returned when we receive a TERM signal (#1337) * 3 refactors: * Various test improvements from @grosser * Rubocop (#1325) * Hoe has been removed (#1395) * 1 known issue: * Socket activation doesn't work in JRuby. Their fault, not ours. (#1367)- updated to version 3.9.1 see installed History.md [#]# 3.9.1 / 2017-06-03 * 2 bugfixes: * Fixed compatibility with older Bundler versions (#1314) * Some internal test/development cleanup (#1311, #1313) [#]# 3.9.0 / 2017-06-01 * 2 features: * The ENV is now reset to its original values when Puma restarts via USR1/USR2 (#1260) (MRI only, no JRuby support) * Puma will no longer accept more clients than the maximum number of threads. (#1278) * 9 bugfixes: * Reduce information leakage by preventing HTTP parse errors from writing environment hashes to STDERR (#1306) * Fix SSL/WebSocket compatibility (#1274) * HTTP headers with empty values are no longer omitted from responses. (#1261) * Fix a Rack env key which was set to nil. (#1259) * peercert has been implemented for JRuby (#1248) * Fix port settings when using rails s (#1277, #1290) * Fix compat w/LibreSSL (#1285) * Fix restarting Puma w/symlinks and a new Gemfile (#1282) * Replace Dir.exists? with Dir.exist? (#1294) * 1 known issue: * A bug in MRI 2.2+ can result in IOError: stream closed. See #1206. This issue has existed since at least Puma 3.6, and probably further back. * 1 refactor: * Lots of test fixups from @grosser.- fix gem2rpm.yml syntax- updated to version 3.8.2 see installed History.md [#]# 3.8.2 / 2017-03-14 * 1 bugfix: * Deal with getsockopt with TCP\_INFO failing for sockets that say they're TCP but aren't really. (#1241) [#]# 3.8.1 / 2017-03-10 * 1 bugfix: * Remove method call to method that no longer exists (#1239) [#]# 3.8.0 / 2017-03-09 * 2 bugfixes: * Port from rack handler does not take precedence over config file in Rails 5.1.0.beta2+ and 5.0.1.rc3+ (#1234) * The `tmp/restart.txt` plugin no longer restricts the user from running more than one server from the same folder at a time (#1226) * 1 feature: * Closed clients are aborted to save capacity (#1227) * 1 refactor: * Bundler is no longer a dependency from tests (#1213)- updated to version 3.7.1 see installed History.md [#]# 3.7.1 / 2017-02-20 * 2 bugfixes: * Fix typo which blew up MiniSSL (#1182) * Stop overriding command-line options with the config file (#1203)- updated to version 3.7.0 History.txt removed upstream- updated to version 3.6.2 see installed History.txt === 3.6.2 / 2016-11-22 * 1 bug fix: * Revert #1118/Fix access priorities of each level in LeveledOptions. This had an unintentional side effect of changing the importance of command line options, such as -p.- updated to version 3.6.1 see installed History.txt === 3.6.1 / 2016-11-21 * 8 bug fixes: * Fix Puma start in init.d script. * Fix default SSL mode back to none. Fixes #1036 * Fixed the issue of @listeners getting nil io, fix rails restart (#1120) * More gracefully deal with SSL sessions. Fixes #1002 * Prevent short term thread churn. * Provide write as <<. Fixes #1089 * Fix access priorities of each level in LeveledOptions - fixes TTIN. * Stub description files updated for init.d. * 2 new project committers: * Nate Berkopec (@nateberkopec) * Richard Schneeman (@schneems)- updated to version 3.6.0 see installed History.txt === 3.6.0 / 2016-07-24 * 12 bug fixes: * Add ability to detect a shutting down server. Fixes #932 * Add support for Expect: 100-continue. Fixes #519 * Check SSLContext better. Fixes #828 * Clarify behavior of '-t '. Fixes #984 * Don't default to VERIFY_PEER. Fixes #1028 * Don't use ENV['PWD'] on windows. Fixes #1023 * Enlarge the scope of catching app exceptions. Fixes #1027 * Execute background hooks after daemonizing. Fixes #925 * Handle HUP as a stop unless there is IO redirection. Fixes #911 * Implement chunked request handling. Fixes #620 * Just rescue exception to return a 500. Fixes #1027 * Redirect IO in the jruby daemon mode. Fixes #778- updated to version 3.5.2 see installed History.txt === 3.5.2 / 2016-07-20 * 1 bug fix: * Don't let persistent_timeout be nil * 1 PR merged: * Merge pull request #1021 from benzrf/patch-1 === 3.5.1 / 2016-07-20 * 1 bug fix: * Be sure to only listen on host:port combos once. Fixes #1022- updated to version 3.5.0 see installed History.txt === 3.5.0 / 2016-07-18 * 1 minor features: * Allow persistent_timeout to be configured via the dsl. * 9 bug fixes: * Allow a bare % in a query string. Fixes #958 * Explicitly listen on all localhost addresses. Fixes #782 * Fix `TCPLogger` log error in tcp cluster mode. * Fix puma/puma#968 Cannot bind SSL port due to missing verify_mode option * Fix puma/puma#968 Default verify_mode to peer * Log any exceptions in ThreadPool. Fixes #1010 * Silence connection errors in the reactor. Fixes #959 * Tiny fixes in hook documentation for #840 * It should not log requests if we want it to be quiet * 5 doc fixes: * Add How to stop Puma on Heroku using plugins to the example directory * Provide both hot and phased restart in jungle script * Update reference to the instances management script * Update default number of threads * Fix typo in example config * 14 PRs merged: * Merge pull request #1007 from willnet/patch-1 * Merge pull request #1014 from jeznet/patch-1 * Merge pull request #1015 from bf4/patch-1 * Merge pull request #1017 from jorihardman/configurable_persistent_timeout * Merge pull request #954 from jf/master * Merge pull request #955 from jf/add-request-info-to-standard-error-rescue * Merge pull request #956 from maxkwallace/master * Merge pull request #960 from kmayer/kmayer-plugins-heroku-restart * Merge pull request #969 from frankwong15/master * Merge pull request #970 from willnet/delete-blank-document * Merge pull request #974 from rocketjob/feature/name_threads * Merge pull request #977 from snow/master * Merge pull request #981 from zach-chai/patch-1 * Merge pull request #993 from scorix/master- updated to version 3.4.0 see installed History.txt === 3.4.0 / 2016-04-07 * 2 minor features: * Add ability to force threads to stop on shutdown. Fixes #938 * Detect and commit seppuku when fork(2) fails. Fixes #529 * 3 unknowns: * Ignore errors trying to update the backport tables. Fixes #788 * Invoke the lowlevel_error in more places to allow for exception tracking. Fixes #894 * Update the query string when an absolute URI is used. Fixes #937 * 5 doc fixes: * Add Process Monitors section to top-level README * Better document the hooks. Fixes #840 * docs/system.md sample config refinements and elaborations * Fix typos at couple of places. * Cleanup warnings * 3 PRs merged: * Merge pull request #945 from dekellum/systemd-docs-refined * Merge pull request #946 from vipulnsward/rm-pid * Merge pull request #947 from vipulnsward/housekeeping-typos- updated to version 3.3.0 see installed History.txt === 3.3.0 / 2016-04-05 * 2 minor features: * Allow overriding options of Configuration object * Rename to inherit_ssl_listener like inherit_tcp|unix * 2 doc fixes: * Add docs/systemd.md (with socket activation sub-section) * Document UNIX signals with cluster on README.md * 3 PRs merged: * Merge pull request #936 from prathamesh-sonpatki/allow-overriding-config-options * Merge pull request #940 from kyledrake/signalsdoc * Merge pull request #942 from dekellum/socket-activate-improve === 3.2.0 / 2016-03-20 * 1 deprecation removal: * Delete capistrano.rb * 3 bug fixes: * Detect gems.rb as well as Gemfile * Simplify and fix logic for directory to use when restarting for all phases * Speed up phased-restart start * 2 PRs merged: * Merge pull request #927 from jlecour/gemfile_variants * Merge pull request #931 from joneslee85/patch-10- updated to version 3.1.1 see installed History.txt === 3.1.1 / 2016-03-17 * 4 bug fixes: * Disable USR1 usage on JRuby * Fixes #922 - Correctly define file encoding as UTF-8 * Set a more explicit SERVER_SOFTWARE Rack variable * Show RUBY_ENGINE_VERSION if available. Fixes #923 * 3 PRs merged: * Merge pull request #912 from tricknotes/fix-allow-failures-in-travis-yml * Merge pull request #921 from swrobel/patch-1 * Merge pull request #924 from tbrisker/patch-1- updated to version 3.1.0 see installed History.txt === 3.1.0 / 2016-03-05 * 1 minor feature: * Add 'import' directive to config file. Fixes #916 * 5 bug fixes: * Add 'fetch' to options. Fixes #913 * Fix jruby daemonization. Fixes #918 * Recreate the proper args manually. Fixes #910 * Require 'time' to get iso8601. Fixes #914- updated to version 3.0.2 see installed History.txt === 3.0.2 / 2016-02-26 * 5 bug fixes: * Fix 'undefined local variable or method `pid` for #' when execute pumactl with `--pid` option. * Fix 'undefined method `windows?` for Puma:Module' when execute pumactl. * Harden tmp_restart against errors related to the restart file * Make `plugin :tmp_restart` behavior correct in Windows. * fix uninitialized constant Puma::ControlCLI::StateFile * 3 PRs merged: * Merge pull request #901 from mitto/fix-pumactl-uninitialized-constant-statefile * Merge pull request #902 from corrupt952/fix_undefined_method_and_variable_when_execute_pumactl * Merge pull request #905 from Eric-Guo/master- updated to version 3.0.1 see installed History.txt === 3.0.1 / 2016-02-25 * 1 bug fix: * Removed the experimental support for async.callback as it broke websockets entirely. Seems no server has both hijack and async.callback and thus faye is totally confused what to do and doesn't work. === 3.0.0 / 2016-02-25 * 2 major changes: * Ruby pre-2.0 is no longer supported. We'll do our best to not add features that break those rubies but will no longer be testing with them. * Don't log requests by default. Fixes #852 * 2 major features: * Plugin support! Plugins can interact with configuration as well as provide augment server functionality! * Experimental env['async.callback'] support * 4 minor features: * Listen to unix socket with provided backlog if any * Improves the clustered stats to report worker stats * Pass the env to the lowlevel_error handler. Fixes #854 * Treat path-like hosts as unix sockets. Fixes #824 * 5 bug fixes: * Clean thread locals when using keepalive. Fixes #823 * Cleanup compiler warnings. Fixes #815 * Expose closed? for use by the reactor. Fixes #835 * Move signal handlers to separate method to prevent space leak. Fixes #798 * Signal not full on worker exit #876 * 5 doc fixes: * Update README.md with various grammar fixes * Use newest version of Minitest * Add directory configuration docs, fix typo [ci skip] * Remove old COPYING notice. Fixes #849 * 10 merged PRs: * Merge pull request #871 from deepj/travis * Merge pull request #874 from wallclockbuilder/master * Merge pull request #883 from dadah89/igor/trim_only_worker * Merge pull request #884 from uistudio/async-callback * Merge pull request #888 from mlarraz/tick_minitest * Merge pull request #890 from todd/directory_docs * Merge pull request #891 from ctaintor/improve_clustered_status * Merge pull request #893 from spastorino/add_missing_require * Merge pull request #897 from zendesk/master * Merge pull request #899 from kch/kch-readme-fixes- updated to version 2.16.0 see installed History.txt === 2.16.0 / 2016-01-27 * 7 minor features: * Add 'set_remote_address' config option * Allow to run puma in silent mode * Expose cli options in DSL * Support passing JRuby keystore info in ssl_bind DSL * Allow umask for unix:/// style control urls * Expose `old_worker_count` in stats url * Support TLS client auth (verify_mode) in jruby * 7 bug fixes: * Don't persist before_fork hook in state file * Reload bundler before pulling in rack. Fixes #859 * Remove NEWRELIC_DISPATCHER env variable * Cleanup C code * Use Timeout.timeout instead of Object.timeout * Make phased restarts faster * Ignore the case of certain headers, because HTTP * 1 doc changes: * Test against the latest Ruby 2.1, 2.2, 2.3, head and JRuby 9.0.4.0 on Travis * 12 merged PRs * Merge pull request #822 from kwugirl/remove_NEWRELIC_DISPATCHER * Merge pull request #833 from joemiller/jruby-client-tls-auth * Merge pull request #837 from YuriSolovyov/ssl-keystore-jruby * Merge pull request #839 from mezuka/master * Merge pull request #845 from deepj/timeout-deprecation * Merge pull request #846 from sriedel/strip_before_fork * Merge pull request #850 from deepj/travis * Merge pull request #853 from Jeffrey6052/patch-1 * Merge pull request #857 from zendesk/faster_phased_restarts * Merge pull request #858 from mlarraz/fix_some_warnings * Merge pull request #860 from zendesk/expose_old_worker_count * Merge pull request #861 from zendesk/allow_control_url_umask- updated to version 2.15.3 see installed History.txt === 2.15.3 / 2015-11-07 * 1 bug fix: * Fix JRuby parser- updated to version 2.15.2 see installed History.txt === 2.15.2 / 2015-11-06 * 2 bug fixes: * ext/puma_http11: handle duplicate headers as per RFC * Only set ctx.ca iff there is a params['ca'] to set with. * 2 PRs merged: * Merge pull request #818 from unleashed/support-duplicate-headers * Merge pull request #819 from VictorLowther/fix-ca-and-verify_null-exception === 2.15.1 / 2015-11-06 * 1 bug fix: * Allow older openssl versions === 2.15.0 / 2015-11-06 * 6 minor features: * Allow setting ca without setting a verify mode * Make jungle for init.d support rbenv * Use SSL_CTX_use_certificate_chain_file for full chain * cluster: add worker_boot_timeout option * configuration: allow empty tags to mean no tag desired * puma/cli: support specifying STD{OUT,ERR} redirections and append mode * 5 bug fixes: * Disable SSL Compression * Fix bug setting worker_directory when using a symlink directory * Fix error message in DSL that was slightly inaccurate * Pumactl: set correct process name. Fixes #563 * thread_pool: fix race condition when shutting down workers * 10 doc fixes: * Add before_fork explanation in Readme.md * Correct spelling in DEPLOYMENT.md * Correct spelling in docs/nginx.md * Fix spelling errors. * Fix typo in deployment description * Fix typos (it's -> its) in events.rb and server.rb * fixing for typo mentioned in #803 * Spelling correction for README * thread_pool: fix typos in comment * More explicit docs for worker_timeout * 18 PRs merged: * Merge pull request #768 from nathansamson/patch-1 * Merge pull request #773 from rossta/spelling_corrections * Merge pull request #774 from snow/master * Merge pull request #781 from sunsations/fix-typo * Merge pull request #791 from unleashed/allow_empty_tags * Merge pull request #793 from robdimarco/fix-working-directory-symlink-bug * Merge pull request #794 from peterkeen/patch-1 * Merge pull request #795 from unleashed/redirects-from-cmdline * Merge pull request #796 from cschneid/fix_dsl_message * Merge pull request #799 from annafw/master * Merge pull request #800 from liamseanbrady/fix_typo * Merge pull request #801 from scottjg/ssl-chain-file * Merge pull request #802 from scottjg/ssl-crimes * Merge pull request #804 from burningTyger/patch-2 * Merge pull request #809 from unleashed/threadpool-fix-race-in-shutdown * Merge pull request #810 from vlmonk/fix-pumactl-restart-bug * Merge pull request #814 from schneems/schneems/worker_timeout-docs * Merge pull request #817 from unleashed/worker-boot-timeout- updated to version 2.14.0 see installed History.txt === 2.14.0 / 2015-09-18 * 1 minor feature: * Make building with SSL support optional * 1 bug fix: * Use Rack::Builder if available. Fixes #735- updated to version 2.13.4 see installed History.txt === 2.13.4 / 2015-08-16 * 1 bug fix: * Use the environment possible set by the config early and from the config file later (if set). === 2.13.3 / 2015-08-15 Seriously, I need to revamp config with tests. * 1 bug fix: * Fix preserving options before cleaning for state. Fixes #769 === 2.13.2 / 2015-08-15 The "clearly I don't have enough tests for the config" release. * 1 bug fix: * Fix another place binds wasn't initialized. Fixes #767 === 2.13.1 / 2015-08-15 * 2 bug fixes: * Fix binds being masked in config files. Fixes #765 * Use options from the config file properly in pumactl. Fixes #764- updated to version 2.13.0 see installed History.txt === 2.13.0 / 2015-08-14 * 1 minor feature: * Add before_fork hooks option. * 3 bug fixes: * Check for OPENSSL_NO_ECDH before using ECDH * Eliminate logging overhead from JRuby SSL * Prefer cli options over config file ones. Fixes #669 * 1 deprecation: * Add deprecation warning to capistrano.rb. Fixes #673 * 4 PRs merged: * Merge pull request #668 from kcollignon/patch-1 * Merge pull request #754 from nathansamson/before_boot * Merge pull request #759 from BenV/fix-centos6-build * Merge pull request #761 from looker/no-log- updated to version 2.12.3 see installed History.txt === 2.12.3 / 2015-08-03 * 8 minor bugs fixed: * Fix Capistrano 'uninitialized constant Puma' error. * Fix some ancient and incorrect error handling code * Fix uninitialized constant error * Remove toplevel rack interspection, require rack on load instead * Skip empty parts when chunking * Switch from inject to each in config_ru_binds iteration * Wrap SSLv3 spec in version guard. * ruby 1.8.7 compatibility patches * 4 PRs merged: * Merge pull request #742 from deivid-rodriguez/fix_missing_require * Merge pull request #743 from matthewd/skip-empty-chunks * Merge pull request #749 from huacnlee/fix-cap-uninitialized-puma-error * Merge pull request #751 from costi/compat_1_8_7 * 1 test fix: * Add 1.8.7, rbx-1 (allow failures) to Travis.- updated to version 2.12.2 see installed History.txt === 2.12.2 / 2015-07-17 * 2 bug fix: * Pull over and use Rack::URLMap. Fixes #741 * Stub out peercert on JRuby for now. Fixes #739- updated to version 2.12.1 see installed History.txt === 2.12.1 / 2015-07-16 * 2 bug fixes: * Use a constant format. Fixes #737 * Use strerror for Windows sake. Fixes #733 * 1 doc change: * typo fix: occured -> occurred * 1 PR merged: * Merge pull request #736 from paulanunda/paulanunda/typo-fix- updated to version 2.12.0 see installed History.txt === 2.12.0 / 2015-07-14 * X bug fixes: * Add thread reaping to thread pool * Do not automatically use chunked responses when hijacked * Do not suppress Content-Length on partial hijack * Don't allow any exceptions to terminate a thread * Handle ENOTCONN client disconnects when setting REMOTE_ADDR * Handle very early exit of cluster mode. Fixes #722 * Install rack when running tests on travis to use rack/lint * Make puma -v and -h return success exit code * Make pumactl load config/puma.rb by default * Pass options from pumactl properly when pruning. Fixes #694 * Remove rack dependency. Fixes #705 * Remove the default Content-Type: text/plain * Add Client Side Certificate Auth * X doc/test changes: * Added example sourcing of environment vars * Added tests for bind configuration on rackup file * Fix example config text * Update DEPLOYMENT.md * Update Readme with example of custom error handler * ci: Improve Travis settings * ci: Start running tests against JRuby 9k on Travis * ci: Convert to container infrastructure for travisci * X ops changes: * Check for system-wide rbenv * capistrano: Add additional env when start rails * X PRs merged: * Merge pull request #686 from jjb/patch-2 * Merge pull request #693 from rob-murray/update-example-config * Merge pull request #697 from spk/tests-bind-on-rackup-file * Merge pull request #699 from deees/fix/require_rack_builder * Merge pull request #701 from deepj/master * Merge pull request #702 from Jimdo/thread-reaping * Merge pull request #703 from deepj/travis * Merge pull request #704 from grega/master * Merge pull request #709 from lian/master * Merge pull request #711 from julik/master * Merge pull request #712 from yakara-ltd/pumactl-default-config * Merge pull request #715 from RobotJiang/master * Merge pull request #725 from rwz/master * Merge pull request #726 from strenuus/handle-client-disconnect * Merge pull request #729 from allaire/patch-1 * Merge pull request #730 from iamjarvo/container-infrastructure- updated to version 2.11.3 see installed History.txt === 2.11.3 / 2015-05-18 * 5 bug fixes: * Be sure to unlink tempfiles after a request. Fixes #690 * Coerce the key to a string before checking. (thar be symbols). Fixes #684 * Fix hang on bad SSL handshake * Remove `enable_SSLv3` support from JRuby * 1 PR merged: * Merge pull request #698 from looker/hang-handshake- updated to version 2.11.2 * 2 minor features: * Add `on_worker_fork` hook, which allows to mimic Unicorn's behavior * Add shutdown_debug config option * 4 bug fixes: * Fix the Config constants not being available in the DSL. Fixes #683 * Ignore multiple port declarations * Proper 'Connection' header handling compatible with HTTP 1.[01] protocols * Use "Puma" instead of "puma" to reporting to New Relic * 1 doc fixes: * Add Gitter badge. * 6 PRs merged: * Merge pull request #657 from schneems/schneems/puma-once-port * Merge pull request #658 from Tomohiro/newrelic-dispatcher-default-update * Merge pull request #662 from basecrm/connection-compatibility * Merge pull request #664 from fxposter/on-worker-fork * Merge pull request #667 from JuanitoFatas/doc/gemspec- updated to version 2.11.1- updated to version 2.11.0 * 9 bug fixes: * Add mode as an additional bind option to unix sockets. Fixes #630 * Advertise HTTPS properly after a hot restart * Don't write lowlevel_error_handler to state * Fix phased restart with stuck requests * Handle spaces in the path properly. Fixes #622 * Set a default REMOTE_ADDR to avoid using peeraddr on unix sockets. Fixes #583 * Skip device number checking on jruby. Fixes #586 * Update extconf.rb to compile correctly on OS X * redirect io right after daemonizing so startup errors are shown. Fixes #359 * 6 minor features: * Add a configuration option that prevents puma from queueing requests. * Add reload_worker_directory * Add the ability to pass environment variables to the init script (for Jungle). * Add the proctitle tag to the worker. Fixes #633 * Infer a proctitle tag based on the directory * Update lowlevel error message to be more meaningful. * 10 PRs merged: * Merge pull request #478 from rubencaro/master * Merge pull request #610 from kwilczynski/master * Merge pull request #611 from jasonl/better-lowlevel-message * Merge pull request #616 from jc00ke/master * Merge pull request #623 from raldred/patch-1 * Merge pull request #628 from rdpoor/master * Merge pull request #634 from deepj/master * Merge pull request #637 from raskhadafi/patch-1 * Merge pull request #639 from ebeigarts/fix-phased-restarts * Merge pull request #640 from codehotter/issue-612-dependent-requests-deadlock === 2.10.2 / 2014-11-26 * 1 bug fix: * Conditionalize thread local cleaning, fixes perf degradation fix The code to clean out all Thread locals adds pretty significant overhead to a each request, so it has to be turned on explicitly if a user needs it.sheep56 1664350806  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOP4.3.12-150000.3.9.14.3.12-150000.3.9.1               !""""""""""""!#####!$$$$$$$$$$!%!&&&&&&!'''''''''''''''''!! ((((((((((( )))))) **** ++++++ ,------------,...,/////, 0000000000 11111111111111111 22222222222222222222222222 333333333 4444 5555 6777768666666666 9 : ;;;;;;;;;; <==============<<<<< >?@@@@@??>Apuma-4.3.12riIOWaitReadablecdesc-WaitReadable.ricdesc-IO.riObjectcdesc-Object.ristart-i.riOpenSSLSSLSSLServeraccept_nonblock-i.ricdesc-SSLServer.ricdesc-SSL.ricdesc-OpenSSL.riPumaAppStatusauthenticate-i.ricall-i.ricdesc-Status.rinew-c.rirack_response-i.ricdesc-App.riBinderadd_ssl_listener-i.riadd_tcp_listener-i.riadd_unix_listener-i.ricdesc-Binder.riclose-i.riclose_listeners-i.riclose_unix_paths-i.riconnected_port-i.rienv-i.riimport_from_env-i.riinherit_ssl_listener-i.riinherit_tcp_listener-i.riinherit_unix_listener-i.riios-i.riloopback_addresses-i.rinew-c.riparse-i.riredirects_for_restart-i.riCLIcdesc-CLI.riconfigure_control_url-i.rilauncher-i.rinew-c.rirun-i.risetup_options-i.riunsupported-i.riClientbody-i.ricall-i.ricdesc-Client.riclose-i.ridecode_chunk-i.rieagerly_finish-i.rienv-i.rifinish-i.rihijacked-i.riin_data_phase-i.riinspect-i.riio-i.rijruby_start_try_to_finish-i.rinew-c.ripeerip-i.riread_body-i.riread_chunked_body-i.riready-i.riremote_addr_header-i.rireset-i.riset_ready-i.riset_timeout-i.risetup_body-i.risetup_chunked_body-i.ritempfile-i.ritimeout_at-i.rito_io-i.ritry_to_finish-i.riwrite_chunk-i.riwrite_error-i.riClusterWorkerboot%21-i.ribooted%3f-i.ricdesc-Worker.rihup-i.riindex-i.rikill-i.rilast_checkin-i.rilast_status-i.rinew-c.riphase-i.ripid-i.riping%21-i.riping_timeout%3f-i.risignal-i.ristarted_at-i.riterm%3f-i.riterm-i.riall_workers_booted%3f-i.ricdesc-Cluster.richeck_workers-i.ricull_workers-i.rihalt-i.rinew-c.rinext_worker_index-i.riphased_restart-i.ripreload%3f-i.riredirect_io-i.rireload_worker_directory-i.rirestart-i.rirun-i.risetup_signals-i.rispawn_workers-i.ristart_phased_restart-i.ristats-i.ristop-i.ristop_blocked-i.ristop_workers-i.riwait_workers-i.riwakeup%21-i.riworker-i.riCommonLoggercall-i.ricdesc-CommonLogger.riextract_content_length-i.rilog-i.rilog_hijacking-i.rinew-c.riwrite-i.riConfigDefaultcdesc-ConfigDefault.riConfigurationConfigMiddlewarecall-i.ricdesc-ConfigMiddleware.rinew-c.riapp-i.riapp_configured%3f-i.ricdesc-Configuration.riclamp-i.riconfig_files-i.riconfigure-i.rienvironment-i.rienvironment_str-i.riflatten%21-i.riflatten-i.riinfer_tag-i.riinitialize_copy-i.riload-i.riload_plugin-i.riload_rackup-i.rinew-c.rioptions-i.riplugins-i.ripuma_default_options-i.rirack_builder-i.rirackup-i.rirandom_token-c.rirun_hooks-i.ritemp_path-c.riConnectionErrorcdesc-ConnectionError.riConstcdesc-Const.riControlCLIcdesc-ControlCLI.rimessage-i.rinew-c.riprepare_configuration-i.rirun-i.risend_request-i.risend_signal-i.ristart-i.riDSL_load_from-i.ri_offer_plugins-i.riactivate_control_app-i.riafter_worker_boot-i.riafter_worker_fork-i.riapp-i.ribefore_fork-i.ribind-i.ricdesc-DSL.riclean_thread_locals-i.riclear_binds%21-i.ridaemonize-i.ridebug-i.ridefault_host-i.ridirectory-i.ridrain_on_shutdown-i.riearly_hints-i.rienvironment-i.riextra_runtime_dependencies-i.rifirst_data_timeout-i.riforce_shutdown_after-i.riget-i.riinject-i.riload-i.rilog_formatter-i.rilog_requests-i.rilowlevel_error_handler-i.rinew-c.rion_restart-i.rion_worker_boot-i.rion_worker_fork-i.rion_worker_shutdown-i.riout_of_band-i.ripersistent_timeout-i.ripidfile-i.riplugin-i.riport-i.ripreload_app%21-i.riprune_bundler-i.riqueue_requests-i.riquiet-i.rirackup-i.riraise_exception_on_sigterm-i.rirestart_command-i.riset_default_host-i.riset_remote_address-i.rishutdown_debug-i.rissl_bind-i.ristate_path-i.ristdout_redirect-i.ritag-i.ritcp_mode%21-i.ritcp_mode-i.rithreads-i.riworker_boot_timeout-i.riworker_directory-i.riworker_shutdown_timeout-i.riworker_timeout-i.riworkers-i.riEventsDefaultFormattercall-i.ricdesc-DefaultFormatter.riPidFormattercall-i.ricdesc-PidFormatter.ricdesc-Events.ridebug-i.rierror-i.rifire-i.rifire_on_booted%21-i.riformat-i.riformatter-i.rilog-i.rinew-c.rinull-c.rion_booted-i.riparse_error-i.riregister-i.rissl_error-i.ristderr-i.ristdio-c.ristdout-i.ristrings-c.riunknown_error-i.riwrite-i.riHttpParserbody-i.ricdesc-HttpParser.rierror%3f-i.riexecute-i.rifinish-i.rifinished%3f-i.rinew-c.rinread-i.rireset-i.riHttpParserErrorcdesc-HttpParserError.riHttpParserError501cdesc-HttpParserError501.riJRubyRestartcdesc-JRubyRestart.richdir_exec-c.ridaemon%3f-c.ridaemon_init-c.ridaemon_start-c.riperm_daemonize-c.riLauncherbinder-i.ricdesc-Launcher.riclose_binder_listeners-i.riclustered%3f-i.riconfig-i.riconnected_port-i.ridelete_pidfile-i.ridependencies_and_files_to_require_after_prune-i.rienvironment-i.rievents-i.riextra_runtime_deps_directories-i.rigenerate_restart_data-i.rigraceful_stop-i.rihalt-i.rilog-i.rilog_thread_status-i.rinew-c.rioptions-i.riphased_restart-i.riprune_bundler%3f-i.riprune_bundler-i.ripuma_wild_location-i.rireload_worker_directory-i.rirequire_paths_for_gem-i.rirequire_rubygems_min_version%21-i.rirestart%21-i.rirestart-i.rirestart_args-i.rirestart_dir-i.rirun-i.riset_process_title-i.riset_rack_environment-i.risetup_signals-i.rispec_for_gem-i.ristats-i.ristop-i.rititle-i.riunsupported-i.riwrite_pid-i.riwrite_state-i.riMiniSSLContextca%3d-i.ricdesc-Context.ricert%3d-i.richeck-i.rikey%3d-i.rikeystore%3d-i.rinew-c.rino_tlsv1%3d-i.rino_tlsv1-i.rino_tlsv1_1%3d-i.rino_tlsv1_1-i.riverify_mode-i.riContextBuildercdesc-ContextBuilder.ricontext-i.rievents-i.rinew-c.riparams-i.riEnginecdesc-Engine.riclient-c.riextract-i.riinit%3f-i.riinject-i.ripeercert-i.riread-i.riserver-c.rishutdown-i.riwrite-i.riSSLErrorcdesc-SSLError.riServeraccept-i.riaccept_nonblock-i.ricdesc-Server.riclose-i.rinew-c.rito_io-i.riSocket%3c%3c-i.ricdesc-Socket.riclose-i.riclosed%3f-i.riengine_read_all-i.riflush-i.rinew-c.ripeeraddr-i.ripeercert-i.riread_and_drop-i.riread_nonblock-i.rireadpartial-i.rishould_drop_bytes%3f-i.risyswrite-i.rito_io-i.riwrite-i.riwrite_nonblock-i.ricdesc-MiniSSL.richeck-c.riNullIOcdesc-NullIO.riclose-i.rieach-i.rieof%3f-i.rigets-i.riputs-i.riread-i.rirewind-i.risize-i.risync%3d-i.riwrite-i.riPlugincdesc-Plugin.ricreate-c.riextract_name-c.riin_background-i.rinew-c.riworkers_supported%3f-i.riPluginLoadercdesc-PluginLoader.ricreate-i.rifire_starts-i.rinew-c.riPluginRegistryadd_background-i.ricdesc-PluginRegistry.rifind-i.rifire_background-i.rinew-c.riregister-i.riRackBuilderapp-c.ricall-i.ricdesc-Builder.rigenerate_map-i.rimap-i.rinew-c.rinew_from_string-c.riparse_file-c.rirun-i.rito_app-i.riuse-i.riwarmup-i.riOptionscdesc-Options.rihandler_opts-i.riparse%21-i.riURLMapcall-i.ricasecmp%3f-i.ricdesc-URLMap.rinew-c.riremap-i.ricdesc-Rack.riReactoradd-i.ricalculate_sleep-i.ricdesc-Reactor.riclear%21-i.riclear_monitor-i.rinew-c.rirun-i.rirun_in_thread-i.rirun_internal-i.rishutdown-i.riRunnerapp-i.ribefore_restart-i.ricdesc-Runner.ridaemon%3f-i.ridebug-i.ridevelopment%3f-i.rierror-i.riload_and_bind-i.rilog-i.rinew-c.rioutput_header-i.riredirect_io-i.riredirected_io%3f-i.riruby_engine-i.ristart_control-i.ristart_server-i.ritest%3f-i.riServerapp-i.riauto_trim_time-i.ribacklog-i.ribinder-i.ricdesc-Server.riclosed_socket%3f-i.ricork_socket-i.riearly_hints-i.rievents-i.rifirst_data_timeout-i.rihandle_servers-i.rihandle_servers_lopez_mode-i.riinherit_binder-i.rileak_stack_on_error-i.rimax_threads-i.rimin_threads-i.rinew-c.ripersistent_timeout-i.ripool_capacity-i.rireaping_time-i.rirun-i.rirun_lopez_mode-i.rirunning-i.ritcp_mode%21-i.rithread-i.riuncork_socket-i.riSinglecdesc-Single.rihalt-i.rijruby_daemon%3f-i.rijruby_daemon_start-i.rirestart-i.rirun-i.ristats-i.ristop-i.ristop_blocked-i.riStateFilecdesc-StateFile.riload-i.rinew-c.risave-i.riTCPLoggercall-i.ricdesc-TCPLogger.rilog-i.rinew-c.riThreadPoolAutomatoncdesc-Automaton.rinew-c.ristart%21-i.ristop-i.riForceShutdowncdesc-ForceShutdown.ribacklog-i.ricdesc-ThreadPool.riclean_thread_locals-c.riclean_thread_locals-i.rinew-c.ripool_capacity-i.rispawned-i.ritrim_requested-i.riwaiting-i.riUnknownPlugincdesc-UnknownPlugin.riUnsupportedOptioncdesc-UnsupportedOption.riUserFileDefaultOptions%5b%5d%3d-i.ri%5b%5d-i.riall_of-i.ricdesc-UserFileDefaultOptions.ridefault_options-i.rifetch-i.rifile_options-i.rifinalize_values-i.rinew-c.riuser_options-i.riUtilHeaderHash%5b%5d%3d-i.ri%5b%5d-i.ricdesc-HeaderHash.ridelete-i.rieach-i.rihas_key%3f-i.riinclude%3f-i.rikey%3f-i.rimember%3f-i.rimerge%21-i.rimerge-i.rinew-c.rireplace-i.rito_hash-i.ricdesc-Util.riparse_query-i.ripipe-i.riunescape-c.riunescape-i.ricdesc-Puma.ricli_config-c.rijruby%3f-c.riset_thread_name-c.ristats-c.ristats_object%3d-c.riwindows%3f-c.riRackHandlerPumacdesc-Puma.riconfig-c.rirun-c.riset_host_port_to_config-c.rivalid_options-c.ricdesc-Handler.ridefault-c.ricdesc-Rack.ricache.riunknowncdesc-unknown.ri/usr/lib64/ruby/gems/2.5.0/doc//usr/lib64/ruby/gems/2.5.0/doc/puma-4.3.12//usr/lib64/ruby/gems/2.5.0/doc/puma-4.3.12/ri//usr/lib64/ruby/gems/2.5.0/doc/puma-4.3.12/ri/IO//usr/lib64/ruby/gems/2.5.0/doc/puma-4.3.12/ri/IO/WaitReadable//usr/lib64/ruby/gems/2.5.0/doc/puma-4.3.12/ri/Object//usr/lib64/ruby/gems/2.5.0/doc/puma-4.3.12/ri/OpenSSL//usr/lib64/ruby/gems/2.5.0/doc/puma-4.3.12/ri/OpenSSL/SSL//usr/lib64/ruby/gems/2.5.0/doc/puma-4.3.12/ri/OpenSSL/SSL/SSLServer//usr/lib64/ruby/gems/2.5.0/doc/puma-4.3.12/ri/Puma//usr/lib64/ruby/gems/2.5.0/doc/puma-4.3.12/ri/Puma/App//usr/lib64/ruby/gems/2.5.0/doc/puma-4.3.12/ri/Puma/App/Status//usr/lib64/ruby/gems/2.5.0/doc/puma-4.3.12/ri/Puma/Binder//usr/lib64/ruby/gems/2.5.0/doc/puma-4.3.12/ri/Puma/CLI//usr/lib64/ruby/gems/2.5.0/doc/puma-4.3.12/ri/Puma/Client//usr/lib64/ruby/gems/2.5.0/doc/puma-4.3.12/ri/Puma/Cluster//usr/lib64/ruby/gems/2.5.0/doc/puma-4.3.12/ri/Puma/Cluster/Worker//usr/lib64/ruby/gems/2.5.0/doc/puma-4.3.12/ri/Puma/CommonLogger//usr/lib64/ruby/gems/2.5.0/doc/puma-4.3.12/ri/Puma/ConfigDefault//usr/lib64/ruby/gems/2.5.0/doc/puma-4.3.12/ri/Puma/Configuration//usr/lib64/ruby/gems/2.5.0/doc/puma-4.3.12/ri/Puma/Configuration/ConfigMiddleware//usr/lib64/ruby/gems/2.5.0/doc/puma-4.3.12/ri/Puma/ConnectionError//usr/lib64/ruby/gems/2.5.0/doc/puma-4.3.12/ri/Puma/Const//usr/lib64/ruby/gems/2.5.0/doc/puma-4.3.12/ri/Puma/ControlCLI//usr/lib64/ruby/gems/2.5.0/doc/puma-4.3.12/ri/Puma/DSL//usr/lib64/ruby/gems/2.5.0/doc/puma-4.3.12/ri/Puma/Events//usr/lib64/ruby/gems/2.5.0/doc/puma-4.3.12/ri/Puma/Events/DefaultFormatter//usr/lib64/ruby/gems/2.5.0/doc/puma-4.3.12/ri/Puma/Events/PidFormatter//usr/lib64/ruby/gems/2.5.0/doc/puma-4.3.12/ri/Puma/HttpParser//usr/lib64/ruby/gems/2.5.0/doc/puma-4.3.12/ri/Puma/HttpParserError//usr/lib64/ruby/gems/2.5.0/doc/puma-4.3.12/ri/Puma/HttpParserError501//usr/lib64/ruby/gems/2.5.0/doc/puma-4.3.12/ri/Puma/JRubyRestart//usr/lib64/ruby/gems/2.5.0/doc/puma-4.3.12/ri/Puma/Launcher//usr/lib64/ruby/gems/2.5.0/doc/puma-4.3.12/ri/Puma/MiniSSL//usr/lib64/ruby/gems/2.5.0/doc/puma-4.3.12/ri/Puma/MiniSSL/Context//usr/lib64/ruby/gems/2.5.0/doc/puma-4.3.12/ri/Puma/MiniSSL/ContextBuilder//usr/lib64/ruby/gems/2.5.0/doc/puma-4.3.12/ri/Puma/MiniSSL/Engine//usr/lib64/ruby/gems/2.5.0/doc/puma-4.3.12/ri/Puma/MiniSSL/SSLError//usr/lib64/ruby/gems/2.5.0/doc/puma-4.3.12/ri/Puma/MiniSSL/Server//usr/lib64/ruby/gems/2.5.0/doc/puma-4.3.12/ri/Puma/MiniSSL/Socket//usr/lib64/ruby/gems/2.5.0/doc/puma-4.3.12/ri/Puma/NullIO//usr/lib64/ruby/gems/2.5.0/doc/puma-4.3.12/ri/Puma/Plugin//usr/lib64/ruby/gems/2.5.0/doc/puma-4.3.12/ri/Puma/PluginLoader//usr/lib64/ruby/gems/2.5.0/doc/puma-4.3.12/ri/Puma/PluginRegistry//usr/lib64/ruby/gems/2.5.0/doc/puma-4.3.12/ri/Puma/Rack//usr/lib64/ruby/gems/2.5.0/doc/puma-4.3.12/ri/Puma/Rack/Builder//usr/lib64/ruby/gems/2.5.0/doc/puma-4.3.12/ri/Puma/Rack/Options//usr/lib64/ruby/gems/2.5.0/doc/puma-4.3.12/ri/Puma/Rack/URLMap//usr/lib64/ruby/gems/2.5.0/doc/puma-4.3.12/ri/Puma/Reactor//usr/lib64/ruby/gems/2.5.0/doc/puma-4.3.12/ri/Puma/Runner//usr/lib64/ruby/gems/2.5.0/doc/puma-4.3.12/ri/Puma/Server//usr/lib64/ruby/gems/2.5.0/doc/puma-4.3.12/ri/Puma/Single//usr/lib64/ruby/gems/2.5.0/doc/puma-4.3.12/ri/Puma/StateFile//usr/lib64/ruby/gems/2.5.0/doc/puma-4.3.12/ri/Puma/TCPLogger//usr/lib64/ruby/gems/2.5.0/doc/puma-4.3.12/ri/Puma/ThreadPool//usr/lib64/ruby/gems/2.5.0/doc/puma-4.3.12/ri/Puma/ThreadPool/Automaton//usr/lib64/ruby/gems/2.5.0/doc/puma-4.3.12/ri/Puma/ThreadPool/ForceShutdown//usr/lib64/ruby/gems/2.5.0/doc/puma-4.3.12/ri/Puma/UnknownPlugin//usr/lib64/ruby/gems/2.5.0/doc/puma-4.3.12/ri/Puma/UnsupportedOption//usr/lib64/ruby/gems/2.5.0/doc/puma-4.3.12/ri/Puma/UserFileDefaultOptions//usr/lib64/ruby/gems/2.5.0/doc/puma-4.3.12/ri/Puma/Util//usr/lib64/ruby/gems/2.5.0/doc/puma-4.3.12/ri/Puma/Util/HeaderHash//usr/lib64/ruby/gems/2.5.0/doc/puma-4.3.12/ri/Rack//usr/lib64/ruby/gems/2.5.0/doc/puma-4.3.12/ri/Rack/Handler//usr/lib64/ruby/gems/2.5.0/doc/puma-4.3.12/ri/Rack/Handler/Puma//usr/lib64/ruby/gems/2.5.0/doc/puma-4.3.12/ri/unknown/-fmessage-length=0 -grecord-gcc-switches -O2 -Wall -D_FORTIFY_SOURCE=2 -fstack-protector-strong -funwind-tables -fasynchronous-unwind-tables -fstack-clash-protection -gobs://build.suse.de/SUSE:Maintenance:26171/SUSE_SLE-15_Update/79b163ce1c3966a62e9aae9733236b8b-rubygem-puma.SUSE_SLE-15_Updatecpioxz5x86_64-suse-linuxdirectory u 7b(|utf-8e920971f1dccbdf5138912d6491b43df57c9ad115ec830b5618e9019f649742f?P7zXZ !t/Hϭv] crt:bLL ;Xe~j-; =4֨a)"6=5I=^t4{buK缈%PM, PFN E̤bN+_HNT}O0Be` gEg v#cgCc/ώwSͩNO᥸Wd#FNm͡WV~0&<ɼ Wj\둂m-Q?擆Dp$W"Y㴰ēappb@%L`'}5)`V)9Ӆ_vp38ޟgbyV~b-].Z -3h+/֫5qoCp-5r9S3},rkjzaNY,MRtշ{? @lRަi;B;`RN^FH-!-Fc}$4 /zx.]t;EQyVFX̠ԋD} WrւKk_n~Rbio! JrèpC8Iqz[l~)ha#,Ŵa1#] D 7 ,#90HFnZcaLz-xFiZ0[rNSzUȭC>'jm !R V +OG,3o:} k17 f\|2 gR4_*@B' e4J |E 4(,ڴH*/o 妬6 [t=T՗Z @Ia6vRiEzW2gt ć:QZ^!2W}-ځ 'U-u5Ez]+kJKz /߱ضS`xS뷼q.ߋhTL۳jߞfZt%|kXr,@Ή$(\[S\b?_sw&ҢKJ 9b#K})H䦏FRkX&ߺ댯cgc.8/(F5oqQoCht%Von f엣ʝ&Ru! LY\KC]+#.V0 #dm54]]n?1]n8{;뇍FZ|\wI|Gړ.%IoW}T8~tywdgU.%xQԶ`ӝ\`BCO#< 75:`L VN&V xgT>' M`ЈH3pyc@j|6)Uʽ)a !H)hT>DC c"S%2~i)$޶VYmCpi^ 9(KOz(\L+%"ה)&w+]aеAFI:!OگwPIR' 3zD?.(U_\75nmj-,B` _oߎUTG=Ax%y)ߧ`LU/ԧ)!qM.0̊ ׻Y_i_ CN9+VN2t0KƆ+V%ZFI\Z1EdE\:`z5y4y2g_9 43SqW cq?<< 9]sYWbg~`k3G. qݞ,:b~{xoZܺH L9٢2O->T.KB~:[ϸO?Ck-0DP\9Gx,ّIJ+-}ĆhƱԊEQ#Ü: \l(BwhRmB^c~zjt}= (X@aoOe+TA/ D?7%,dT]4=X IY Dj7%HL/1yUͲh,~dڱ2BT,X4] EÄ I(7UbRb^j["4j_bW8)x'I_В6,xqS`1Lgΐ w}BKw[rޢO.& ־"דxPzS\W\1D XKhP/9`XM*r 7SW _ю0jmWd-Kdpk<GxT$!UsUn:*_EpjLoo7uZ2LC|8l Qq&kEB\SYO_\J O${&)3Kf25[}rc?I j4a'ԃz[j:YFДE?~Ku51n6{RK |D71XI7ޟڽض4gDP6R};) gN?h3emD[X.u:@7QBYUæWU/2EwBkNl,τ!n4_Q J`kG7N>w0=ƕh+-(nޗar ? EɣSۏ()T^(G Pl߁8˰R6iR8+jxZ#9TaεTP IFVC4_f#e-s xhN-YnD'a@S>geߜPbH\d?3,[QA:'hOtjb0ل;Woy ~T!{dq3G͛B W5Ȁv^Y=ROr(vqeԉ}wU^j7GBJk>BkBm `A@n. c3C9GE9e1`5ǜjEV <lɴoN1Dh%^=tty7MCʒ8&KI.b\`Tl$}!wOOܪtj^Kx@\.QN@[b`¬Y2l;Ym`U|3t+"L v,*g( Ӻ=-Hw'M!!OaO~ZD}y$i {!LjΝZ)n%Adf:3R\thBhm(|9wjeQԞqLvQ %?msXʵΒ}z0G/]IV!|_Dy=4S'._˞Ds<u*o0L BJ#ߌZur8Pi:{bv OIX~z"}V`y d=ZhW^_KfGM4m䜣+YFnCR umI~pS5:W5ξ ?Q./ZnPT@Q9{M"ӆv9gEP1fB?CkF XI&tUђ6%jnG?QbFsL~`vأ (U2& 4|yUOo_ 9ftF(_>"TG4Z&C~-%#g'ħr%\0ōa32hÔ>ל1Fa\"6{gm4sǕ8XǴ+7E֚m}6w)R$33NLdN3hL)P$D?jO^@^2[O>>qY|E٠Ap]v 8ƺ=ʽxj)'s.(tpFϏ$SHS#G;#<<şgGfi|wNݔ$EzHʿhEJҾ-FaJ=L7<ﰘ_ē-U= paEWE~W 7) b}1{$Op0N׈N4$ KDSc\KUZb#YQş/=ϼcڟJH>r͜C⏸OLi6MԪgi>qx4Ÿ'탂i=r @1V@HKjg2T ~2W?D\\:z0CtBǥ<(“ T<(龅)Ix@+Q}v(Ly"k!o(U9wb X?ݨǽ,-!PNrylo1i5V9%q|r< t"s56ja&~\ 8#[:|8.Ud>}3/IH5#+˯GGZAkz@;+t pvYG 簘 Yu~FpI;yop!C=zE2EtbH&U\Xڎ\a_[^-+co檠Zi7B0  W([Ĩ"ƪW+(ZMJ`VaYdq@?]Mg0Ej䨁Ys(9XvS0z%ope6]er@|2AZL/0b`8^d8bdg:B _lH|QȤ}%Gӊ3&AJ武]MG";Cz,P\8QIвlrזŢn%KTY{wS,@cX_~$Q#%85m$a?N)? g6刀ْmlD|@h Z6xpNgM|j̹AM|oߐz~Mxd]\\F;aC''P #Fj vrŇ/E>*m\^yS4[GkYB+]hmU(jnU ^Y绺ϛJLn!4L ̻ @v AY~\: x%F Dtv\ ia01:N}d3)(v|0ސ#3ئgݧ2e0ZRxj h,VK1gM)uDž jI|Ӎ(ޢS^<}Ix sRB1|$wa1=(ǞJ p#k/, U׎FdOWORS5܆Aݼ_@Aߖw+ֿO4{!;7Ku2h7_Oj& hǸJjz}ۉRpPg*Va~S 0Zy a xq:s1k9S3\X,6w&Tw[jtR9ܞqLGˏo@9FHС߮1AiR>QXPT(F 8#Pw6}T8 c84YIx;"+姦mNx.~F V K\VCQh򔺚W,2X8.1D1"%M59b9$LE*+kgT3tҐͶSt/4٫4v2`*˂o[?i fzu K霨>]/󍻬j*(=;:+oI~?ۤjmkE]39//%1CQWC{.diaRX  HwhUٯMI?Ml>YWɐ">?v wX!y_Yc2-b< 4oLwһV$.j B$](s,jLn /y(Ώ!+TC',c~lJЫy>*CNHY]6abE8JoLH*ˍ).3y<@ -ݹ2(ZV7K^RaG˘VFF 4^Y ۱OmGԲ,2b2*=Wt| L~oN@ k;}T+ l}>hh`;->,8 :wQ?VHG~}3? ͆DPڤ; gu2 c-M,k\|F+gZ;8t}~_k` @=+Џ@ޠ͢GӆQ =,Og ({p[oLdʸU^/g{by4t6b!!)Is0uJT b ]{`ҪQsb[I[훥BLQi_?@rsW7Q5}~Xq>tyy"^3DOHv`há]A3S5z2',BP^=ߌq߲iKRV]/][\X6C K6J$ZMC%w̩8Zmz%2JT(Adg7T#J6;wě׹dB#,~&G?'~26['*d].gOŒ-?u;ϮP?j T2tJL<Bb3鏁^SdQ^ٺ$ݚG90Q3A:F:">5A[%R|LyM>"⃔2EJ2Fp dBel>-Nۦf$U<Vɒ]TZrdVjg&lGg\JA<P34"t 3ǚ14d`d^_]7=^射[[}ٓRwD{ä)!rcmcpBei JIA/"D:'qzX8E5_MRkXy5"ILT&S"Z}nJ2A˫2[:aUB.`T;Us_-?0qtbKLj,\Yt q. 3u W!@v~ٰQs '4|Vhsl/V:9 &+Rr5 S땞Pl|XgY48YwEDoJBPueOt"|qt[½0^7Lv,SEİ"k%: C tHQOZ=8;Ev=Ҁ9)tknW)"G(M P>,6p1Xn&P=dTT>o:MfDiIp f:}-UO"XbzKnE$U0e gd]5` >НXqH'd}efG\S0m fU"PR&:_Y+ Yxۛn\(ٞ?zu3|u?hu%@,ο1ݨ>Y:XA<߫fB`qyHʞa]G3rdexNt# #_dW6͑dUIހz_fUFyN-K`À>,K*ia9nR:Vhq sէQl `"ߎ77'QOXHHD(ĉ[__♡I+I;G w/SFy0tqDd6(p)eŁF$;{<AINNRl=y|2fNQ1bC{J?L܃0>XpVoFQ3q◊e_{Xp5`š]QɈW9TU=\Œԡu|g 遻m_r|$c{/Fا07<0 6^&*I!oF Ec+r ./Q܄JFI D^;U( f0rꃢw[)nz!Ѷʵ)@8½6O/}90Ҍ"pdx;M^+@sa )ĺB;3 vr?Qj3<ԃv 9:0J`Q3{:u`!pU@g AyHBL,p!ݡ}!Rx)1EK , ~Aj ~켹. -Ju fcwTS(NBbFHfԡ$>k)u7j=n\2Erxkc_oQyҘ;p|oR<jY%ufF}MMc?,X1[Gw)o%2G)RAع>)w- HCxB֙*}g |u3bbܱҫVZ)eJ]/MS7<6KhRK"BVy\Bۓzn[ǵ&.|<2AR}S3-4qiنbGQbT83I֭ b=MݙӲ /ӂ.SVvn0RĮB#P=%C*I26C"lk![bEzY On/,,) 0{}O82aNu^GᡫW%a:dz$o"g>{fm'AEE_ Y$ d6qDOHg^o2scFQȚt%Ee]HpM :7$oxƏ9G4;Hb 8 >B׌ mwŖA41ҽ>oRIyIS_xZϕ?aJ )ƒY<8c-t!*}sU01/uB樀Z "GÝh|#tuWe>2xVNMC0ȣm2w~2dJ9߯tBtdg߅ 1x1 _5 yisj3r<9W=a9Y!uk @tIgSWdKA˞7,pd>6bŧO~z_t:۬^^emz7 |cgŦYzs☫gvϦ>V]'Z͙g<֙'n\ŠfS/]q4_][ts*c'Ƽ"/FQ*u@sI硼Yel_3 ?!B6 w ~<:)$߱5PrMLRHk H|J#k~B9t.^&6@j;Sv^k xxINiM/&9B}@$H-V”u(H qjYʲTH&/IJ!i]u?F/`JX{igg-1,Ud"AUs} ei!L?J6܉): tH+QWSr&!cu{1,G Sͯ/|E2Cn_V>A|!^=Gs\#"3xD#ryJ5Ou` U-[̽8Ede4Poz 6J3H|lQ3Ȫ g8RW#W2 xOU{8 jyKFB.:*Я3<<˃KǥBzұ 9XGzϫ$MH ecV "Y4;z;ݹ"kh_qaRxܭ#;G{7腋Awfte} iomWqAY2"Sp8#Mﻎ'e-J!nV(2# gszKz;diP.yM20of#]e?M!ۮp,-J:9K,bxmW'Wlbߒz]z#T0xtѳ`"gJbuCOtcv!4Bswc3h|+JK_~>$7A&R2B7d7|*)-6#kpȉ6$C3)ō0{7YDpd6 HlC8vMIR 'mʭD7Olwie{WT~ҚDy '9%ǟȡ,=hRsvFx΀#Ml1ɪWE G/؝[@"FZ7SdkRF)Zܺ񪂔C֜Lx!>۪֚yfcCK E6vWiRDwG݈d[=c*+*:dlNefףW{Ϫ N0u3W??M&)G)sQ~5$65\L.?&QK;пƽ _H;asMD%r5'sj!0h!(s>;LїtUtK{Um@.u+ǒ6->:,{T[ɻkȸ&WaV6kZTQ*ffY uD>%C=k]罧 J#="" zV #LivUdX%FAk nJxf?4y5d:?*2fKc{A .F%)Ƀ4 ļ AvSϪ$=iCaywC@i; cR 䩼Y-\8׽Eo9x8\]Qc nu0+$?&u4l$x &SRfK:Q6Zر9=iGAsQ£ 9&&=;~(}^w^pl.<b\:9D鎳sDuŭd+=݇;7K4{kC*|B @ѣmo,ڣ#g?D68wo|!wmzZ@27D>%3JbbiGqb9+D5,M;!jr{BS>F.ܵP1ZTSMOx2䳌f~#͐N7UяTAẉ DY^H9$|6St]IՊs˷ĻŹ&O:mU r:|F/0fB3vOXtZ9G:ApW!|1wfa)qʄnh9+m- r1H6XT R;pW#9l?MRi7Z췐^M>(bbБ @ϰ˓:QB0EUGf yŶl} ,,GFO}]CS+M=DO!Gp )GFOx{ͮNU/i*BiYS |)OPU<[Ar^W|+cr.C@C !6Ģu?剴(@2Hί:Bt']MY}ܱuƪmz16[~!_y>u#N08^{t>kk;r/ +7L+)8|60q]d3Xq$aUlDazZ}͊{!Eɍɧ]4S43 _n?-7Rﰀś䪾1 7㞒ə bKʤYU#c<0QIVȝWM?ITE8kS_zjiox{&'J+dNh 8y0[,pjlyyΙhKcEUHEvJ 2 bplӱk晵3-Iѱ$KHh+D ]T 1lGO޻35<|hd\Kѥ5ф5 &$Q>d ^ᇢ_2,;78JĚh0-yri葜1_7\1eI6nPbZ)*-5 sr[PUhbapY+tO`_ Վ8lʓ&`D}>[>bca#5@I۩Fj2Oܿ|Vd % No#mXVN]rk %,Dw,Z'%LS~l?^@}*rȜ%\$ULǥ|PZx4'g~R\~H5nJ:܋ZZ k:vFPLk=&GP86KV%^+ǜ LyfYp (2" {W VKS,FEqY3weI,hPSbPfݘq H1f= Г.xHø y<{DАr[Д.g55ꐫJ(U؋.m dGDцcjs*E  QO3L맭2{Ggs^hBf\5TÜġ7w?U1(Om1eY4twwnm%?cMQIH0Lq9~6Ҙ/ '-ꕰ}lbY\h5Hm_\|tYD^dx@ϡE-ҥd*| W a v=BJK(uDDVM$VFGSJ$yKuTh K>NFgu 엟 KWNJOu2{q % F%[=/ Hi&?Cf-le"9?߀ճԳuׂB&az݋l5 mG$Dž6֫ V OV-BS̳&.gf[ZVxMp,0"˫bc\2W6҉(n:m i_|kbq~}ėjj;'T,hԡAR P篧]`&kDϖ/࢚r8saI!`w]~ɪruiB7|3!߼6<*Y~tYx3Rh qPavH ``:tv=!ux7Il"QAs}7"#*bgmb@*]Hw r㺼v  atIeWj()*\bKGS\R(l ʼnp880.k<&1*1=ıQoNlt.BL[1=J'BǼ[]zD1.9ew{S7uyZ/ڼnBCX!=+4wb4[{D~J9 )8Ǵ#L5@Mfº8iA.u]ncᒬ58 EJ4Jc  jSY6eCIg@v㟄Fǀji_ Gt-~#@娴ulΆ0ɭU+_߱iP=`* Y<ƲmFa30Dr_6[%ӡN5Ev-/279-j@zV>> 4. 7 *)-7?=Ϧ#7H)Qm'UH6 xAFړ3 B0n$&[f\FG*ðvb_P}B=FhR+e@%KKʼn4_ ՝sfU*%t*?Ÿ[-=.>HgeiEŗ{fZ{l)qΈ8:خ^J+I:ŻhdS:&(xMf^D4WʌŶ-v'3'cU P4JKʕ{EuzGBu-';.-jG(0>nKE'CG6=~6'>C_LrWxw eaj_zՇ'^c5${2O㿿mhT_%$!>.6ÕX{D$)3w`i"_?2s(T{ q$EdiOnѿjGuB*+,hSbpKv?,~mPk}cnO|0xyT%1P醚5CJa$bZ}s*1CeX]_ asQ}#q%᧪M- QC}%(|,>.CNG#@eHDK!1 *VF@7G\`96\1XFTJS^9&q>:{]ʎV%3\/HdXtdnd]9cˌ3%)ED#HIS:lOIi U+;t):1E cKwM`}MusY=DŽM&Ϊ 6Kqr2?l>) Uh2|R5^430mkSq1g EJPmYpb;4Y Gwe:$eF5ט`]&[|bEn0D!H__` k8@|SY(RU@Ob;*X)AbƫUx`{S#Wdzvч~q1)YR98QA"e7p."4 vkY n|kTj؋$T^{/Z%j(zm .}ZO*6r?3|DR44 ^K`i{"̴8E%ID-Ps@ Hwm Yx>p}رVgeԷ5Xv ط65O8r`G c3Kma9o\wMêRUh0\5qmo'sGOqiO΍Y &5UEq~B.+R [|:#s癜hsvpz4ݖBhN^&-烡Ӻ}*"鮕BRȿ5%جQȩzHtlhh1Tf):ţè$xDoۧI©EE $ՀRt+bS3ڟ5{0'v qQ% *CpihHRW5d{KrS&[*sMB!(l)/zAN#& ZzK.rpꑯZUf"fFa qarIoŶ [A vtŷm'U1rZ/cCk7jNSo>zfɬ3epr!l]7p̽OP͍ļ$ڤ5o"\L]<vdЯ E+^bh"D쒍itz^J^nf1v/A19!j"G.1qv>)dtޝ8B[t`s!u= NtFc {`^R)Bc@p/tE~vX]-|̷/ؾ=t$A[rܵ jWܓ}r@5*/mhqqK B <*$ز-Pݱ6yy%(vPѠY8G,-ib_\P{L74 ;\xgƾt3T?DaR7kRi~E18*S'QCu~=~f~p/quhg6m}(ɚ/azR„$+:'^S 7O[ m8pߎ/;!7B[Zx罃B{f2UHQ)c ;yU̠F'II| eIÑ>𜥵z!F]g izoTej, 8>Y`:NH!tIP +(Bx ' BBDYMbC:j Yc AvFw|_q6RcTҖA.I+~+S4XoHPaVH=[KS4l3rӫ]i ΋$;`0LM\s@=z}?ێX|Sc.H8͛J"3j&&xpZ5)?N5sEmZk8e )Dx~=\JE_-˂bØvPV@EEޜB ;t`י;v$V04cXvz]WvD.[)xuL"S.`ҁ*$fTR%|8Wy"3L#reh\Z0ҬfipTtjVC2J:ύ9)[`1i]Fk|D&w3LG3 CP#- /WJOUbX.!N>JBYMmH K>;МfNMC'Io:ܳ3y%|)N40 |HOGH%YK~⻐r }c@# <ꀍ&_n֐SzT%)?-fzҎ 'KF"vheurpVi%XNR7q`j vy}YsX-q/#6> ӌk'PVt]ʁ+j yx5R*xʵCޑacVJk]S\F]}Ru~^7Zż]f@lh#_;ER0 GT|2 Lk)$E81M ȻCpBs#()3=Jg TUש3bE,pCvULحk̴dtdjLI5M?dE PTh!Mji.0t2"-2\ qݗmYFX9^nzSbyU'Va@VjT|~J$. Ur<%G;LUV<rfRn#Bp^z[.ޙT;T_ڈP)euJ )Ip@b}X˺3<( TFD&'w!~5ڰ;\ˠbcg?`z!ɇo1^LN x=Bdg2WvabzlZz5o.ڜj:Wަh,AкCM`H!"5 ZDU'\H&RaFh+/:EH "ӠlYa T2s1kdWW 0C.>lh~6muSbvkL:܊s)8C[ ;ͅG>6IpwKg3-lC>;娦@%va^plH&-\Ielne[ K11"yrfPVT|1[ƅ|KppACr4cuFcej-4^IXfϵ-:>B?/3%F0gEӥEyahiykl5R_Bt2ͤeս~59s*I?^sra 4| j^}$f%#Ӈz5vRԅ(ٲ) Pi9NYM8Pဦn/CJϏDӖ>6Ҽ-H"R$/p#@2Bc8hv55*؅^ս"?:B(%5ڜ˜"RDaB^K\57A/:tsާ6mT& c?j}3 yl yd1B<`'EQJMt?8 B؅8Wyj@SL鎜&ݫ^$Rfyl4`^WYWx0I Kka>= Ngj*fơp*ʰ4"*4@_@S=,f.SO.ŹNEzBs<8A >3-J=Ol h=Y^bE%FA+8j{S+@1NFn~,u$2[XW3M7f4q};Gc cz҉ Vh8~IӢ[ `A)M@x%?vD3?}[aΒݖ!x YwĖGU"&-q>HsK;v 9~d6EB+d@10Wrd!ة6-_&\ ~Y} !=f+9 'l\Vfr\]_őzlBf\$ 1mVN |Uާ盛VX6c;zXvb MF꛿Ka ί|g۹Ym0*N:jr{s}v?꼐yL2̖#]ܱz$^Rǡ@=i#' 4U_sZHJ{ųaS T%^*X qb{Uh*ih.r%>yH܎J0¦x8Ԇ+QVAX#i)^c~xd+OLD 96i/pqs+v + ;%t0Qֶ-AZUd>ygS;_6 16\YZP;K:MXR)A|F z{2"|0hL={9󝹜} 0DC1|^gaC<+evK*ŤtŠ/0Y+U&r9ӎ g)7^̽!HB&ϿiS=PȏͻS@bJo*Qv%+9؏$)aߟq_ϳUWw@}Nc.l$wb&Z/[cgpMxl3wgmMXǕ){)ЀW2Yd_V+3NtߒL5E_߫R:,"illLqЮ۠'*ky5#ck.l>.оxוgkU5]_M8C+,ao#QJ|u?d0|0+H"N*9yتуady*,sўH3r%wY]4SN3V:m4s ڜs:Ű_+,/o[sz&?衰"}'dɚm'Rg~ ;=[A*@{WȵyvIgS[4#w'=y$xV\]\t $Dn%I7ً*\TI+=2x4dq_hsS# =Y݆L&<;*dfDcgnAjhRg7l\L$h,wUm 2}eݿW-o X~NPӌ? %Md:O(Q#&7wYITl5iQǠᰨ,E`~: Buhq; bNɩ yf;LU~NT> /)KSeyWa%GN3qzd/a3/g&Z)Z1pjr~%䦕Ek.!>h2{ϻW] 3`ǘgTGΣK;+]pcSB#vW= AM8SeeMIh6[/f ^ C!ecX^Uf:'i )ȯKf'Do)^U `ñǭO[Ncu. ?tY AtXث۞ Æ` #)wm&x yBR-V/k:*ѱS?3ª{ϧJ|) kO4ā:F7x;[mI&`cNF k:76pݬ~b> )-ƿ˜ ۝-Ox~`thJ4"8GwA` slD7K)ØP]nOo .ujln4yXAstB׽,R}X863:O/6Tʰ :~%.YOetU b-da܎59NIؔ!ŸHxn&X#x/817"Dc}@ßFxDZ+Gz qzv]7ߩpgER텉ŵ7B"΅UyU 9@Paj0&Rw#sL^1.5Oq!–*;݈eldj ۫qC`7.͉z`ٱ<O5J ج'gfC^+ U @T!i;v XY/AVڊפh+Zʀ-7Բq<zkʌcL7s@"6Bf1hXkі,%xxwPG!nㆄ6ύ_:XQHG%rЦbU?ѵ$`PkR:(QB"X0%R? #XD9l=GPZ(AzWZ<o{(Ƶ?4P"FTa'aBQSNHV[OꑄGH7 ZtdNvJxl[ƲfrJY.ON.3H}% {5¤&BMAcF\<2td%C) 67=\"0w`BYs=jMCjB!n箓'#)`#>]%n`.a,7DwdA@$p\E^fN$8HUQrxې\xE#۾vuV6!N|nʓVcA`.FHF"lf@EFXsHoT w=hiSc7s 3"ς鵝3!ަ\lx8a0hGDPnm+?Klh/˒(Yej_Ȁc|=+ z-I@'ZeQiAK%F#T+nI+hPMx6 f7zsK?cl V{6Z;@y͝R)jYp<yjl:zu9HD+vp)UMjҹ!FC;VFĒHh!fltnXP{ eYDM~d*ah(* qd qO2/SB]RvY.*7>_N(m 8b3Y'+'O+"ˠY=s` >ݬM[)gh #"9}3cJW¨anByO 8 $,dTVGdFry*vޅdPU(B6Aq5goR,xZT`).S kKro=ÍΕOJH02QA~$@Vk Rݽ~?E[& i/N7X٩bâ"G$t끿:F4Jpł~p$ Hb5LahPkyva|wľ_t6 ՌV1oU8f3|8HB!ah,E,LŃksE[7z72 +0)ǾR(׳pzG҇D_]Rښ.SOتq7Tr)L/Q&\5-k!o`MDVǀ+,z8U(Ru@3idd;ͅ!䡦.ۆenx36r_ dž2v3m6# z|H=;Ӿ9A/^+{+ ,TRՕdIYW-0?5{!vUL^h *AM道% Ѓf>I&H!A11~k b9Kȳsm"%k"74yHh8$tvfZ}̠f2?.aqlG y.в ܳAXv&:ЄY?8V9]0dĀ)p߂.\s ` _^CIRwC=٦Y[Npӭ~:IC BÅ#cjB k[">Rv^ٶ(Ԣ g!I@i8#^K-.h03U*Q>_ $(ԫX)" FBG ӺS܊kpQÀ@ZMt[;\9bqx0a[It1@q'< 7Wl1jv4* .a-JA$V*DQ_= ] b˒K}A8YYQzîR>ԝpTHc VI*ܖ"35ZxeB0 yѮDaIM 8 #hoUrgz7Yo0T9?uf35 Ufs&QtR7o &7qP( *\ܴkr*L/zSFQcsǗ̹D\ vuLݳv- iMچM&#,b䨴i|3M˥}^(3D^!Mv 9%.֓ I&cPV5ȑULvD cHkNF@R'& rFjr;ϗ$~.ԳS"^l8q|# XO :'hރ!e1?N{yFBK ;xœi_v+c+t.q?@fUii 1{G_-iPKy,[;nŖ #$);t oM gł&jӋ`5KE] BP|yIigk&iW`jH՞x5胾^G߽r',6O0TO}yIេcG_? G -E=ڙ%g_mW/SЇj-Pu"s0<MCM +6Dd\vCc3f$#РEbh&lW"U2.P!ZQW~[+[6p5/a韇_XJ-cE Ů݉a?(Xr/gafչH %įrOXmPj 8,~tKniHON $D-FM7S fҥgkV=OU oˤ>I u4 |0dڌw, 5K-/K3XH Đb17 @Wڭ;><]G(I!')?.eq7()٧;V꿍F\, fKzF:OP%0qPxjʹ 6Ja!0fyC wGqw 0}*pFY1}2 q"ANs1I^e2:-o -`xx,3,#3yTXe,o:@17+P)*5JJB<O ir4L1 ku!E>RJ2րmٸeg )`jC0PgF15[T{[˶~g]d ^Vf(pxhem&'ZIРâ/GMjcp9CLBm8r*=[H όD= @=h$WM#A[2h4Da..BwpVJŽ \.W-&X%ON~BR(K)6#%AҢ3=D~d&%fmB r1.80J->J%#QZKoEk#8(L!gMQtW$ȧ qO>yedK"3'z$U?]áO22"WT;SY7dC> x^^Aly_\-ųgۛ1κi\jC.!rf_5ùI%|[Us+ o5)6 kR%jG_ ýe뮲αS[>%Bӹ|p:|aɳ!?}W5c'tXI]yťxdsƿz6(R-_0wn'!^q-9qwXً׎ 7ߓŒDfx̔˻zOMNL5] ~-G ,y4w}}Q"? hF̉&3$LO* 0^4FYuJ_W[}ftƪbUTMߴђw!f)yj'EhƓa906ʑwUIU#iL]ȧ.0@;C3ɖ~ 1'>D*b pt&{E1TB3p"*ma-?D!#xOJ.w^gy~'7S^Z\k^籥D xsRgVe ꁇd~ hs8<ǔ5ĂYdsP ]HIcG{SS#=(I eBDJ/I1 ,mδOu_mq*P-}%RvkHbZ_g=g345'@: ţvl> :iy [Fkk-;(&l|+8ˬsheiI+9(JzҪ,A NN#mCmR7:X oYPt]y:kq݄sVc֭>K[ $䢭R>tەS_ sΞmeM[jQaaMr~܇ Mq,~D{ wNAzPo/|P-1|UBKr!&pw{QTR;'@~Qt窵oI&VgW"L\_%"(Ayk&O~ zVg"L0DlŧՂOEF <ĉPt]S_G$lMITQjKhtB(+(y}9p"u y}rĽFzuTzQ[C@ZC >ѓ&)b#fӈ^蚙na镡%䊰{;`:-:9Ty7MCaơ=]7M*mw9[T0$PBa|61ق*UF2Wٮ&eػ}ȣ*)~P(NH؋,FrO7"7ۗ)T3 [A`=6EQ[ZG©jM)\.6pvL#(9z̕(L uFPg+r-4*R^wus^|H+jU#, + /E;kC 8_W=ׄ*fC"rE3`%aQ%y`XâW߅pHLfEȺz?#[It Z9_|OaP|uMbP.ekpU9AȢ9S ٌv|&z(8N_9%:9j* KUa,FE+#34rh hzo7MyxS/Dꗬ^0*̻%l1okD X,-*, uJb 7O*^o8-f!ǃ,-7Y3[CB .2(^NupoOY X:lMPW3 a7|!]L+.#B [2jzIݔ#X$܂6ȧt ɺ=s%F× ,7??-aON}D˶1RFC1Fw`\1Y I5Y*Hi`UHcl{5uCkmYMgCbac*wa_T< JiM?㆝XomjB("6hvR[]az[|00G=pn7~qduq%s1=6#h8I1{ HxLD,0YAr.둦~Ԥq9gtn:FdҥݷTKӼG[ 9$\⣘*#&a&Z!-5-6b'8բr٢o&g*g)B4'oIuG7Ro`Ǯ3l+pT叚8?WP 0aE"JXwYм$3zNm`;?9Q>08Et(%S׍NCrOGsg䮿@HEc>aHT$އ8FekttʈxIHyeɱbY@0 _4x}"ߺxG#1R Xpu}>Z!좔z ,o鎴!4J7@rrZ@sW<ߟZG"ьv:[&ҷiͰF}յ$TS[ nyqjXZ`Ewj·'QטUY(N.O(M j OwdqG:\[LwZ'ތnxqEisKKP:by:MW%pq;^JuQ[]fϒ^ښSR`sm6蚘b>9L\qk8G9L(Fn;R{B=ٖT"e2k&Ń)IpAcm4PÄ.N yp{V`t]*##eZRFJ4;6 Ơ0',r[DQUn! J%fhHp g-&О͂Eóir?."JW\@E7d^/[a2V=6@3Mz³Ι(44(b4T +I6>+NS}dmA-'vB)q΄ hOK~9$j#Ln`z(5vGr"T]k["- :*GԳ=۲osm/zC4`<=c,Q֠FqE)ELHO _ |^L4L?j{^\Wx͗D-sxkRJ/?;}Z5 .D9G YulWDVm;$$ qш,ܙ &l=̀ZuӛY4ݨ1H{JN2hóV<ʴCR[xXpwϏd1kq[Qڈh ALqdgZl\^v XD9 9{z9<^kbhkE^+/3H"Ij66HVHW7qO5~Լl]XQ/;Bnsag&׎)V2Ju(L}<]( u\_"דkާLI4a7Za ChGx+ Ǣ4(}XD2AJj{H yYpYѧvX9 5e2R=~琷\6*VǦGױ?MU"MպFZilmI^S=*Iku8Up_~I)kC1)?{׸ʳv NJ+rGOjِYo oD9] tGoxJ_ɡduf/=4ݬpW /4MdRJHދgOΌKPTC!!lڥ eI>L*G94 &L%~9(dVT0[@K5 3z×pC &Y8 ByC j^$:tt$VțZo!D{ ɻtB޸0#1飷/4DLq]mމ_P,OE,26iDEeE^6I8hL 8]F ^˛OhɸK.*h6)L!\D[mȥ7}puB l^l1Do%ǓK*q/EG`6>68*Bٚ{B5+^~Lsvbl#=H@ݳ$)\9ero<$,n1bو ^Lj^(T\cB\Iqc]HtL 6i#)$ˮ-d'$S(?ǼEnQneW.{Ք*A:NRTio6w,/2; Chk/ 'wϸ8UMց ]+4- H4tz80̭ K#HF^.)vbr3!򝈗< W~tb}]~f.߲K8iYlh.GPC:7=G zH6FMJD^A=GQQO_L]G' EpEPީE/:.ujLוHT:麮eCݜWÇQT|x!W. Pjsw^Y\)lt&Ьs,,%k4䏝mʒDNlFƣG<#Ki(QB'xw8Y}I}LJ01դc0A7žBcmVq*2\nH63TR U:WkzuB,ߠa![Bkçm#:y4PJeeԋF$_FETK xL׬a); r{ҨS̥HC4--GߖT&8ۄa$ݶiUsNy0 'zY-՘~aWA8+Xt#[^BPc;: .sތvR'NOM3#Z$XCNwyAfXy#? 'ž HEU*o?m,+{D|P҄pAq_H*"ŷOsCM('ceBM~+Sm\I:6 B7SrAʴA9ti`\c|J^"kՋc \"{b>S8" ^(f xUI漋Mx 8_$Ezd2RZP=AieL4JqZ܏F8n}%n@6 ~LT~ǧu|u|EfC58mR*2:EEC Lq"ZDl B _;ѡdyp>=ER]+_fCkwgzHID~_@}8}!w=~LLtYX?Sh=@5J.=zP >Núzc ?lA ›i@>odO(oC!>d#?;PSS2/ ) ,1a3KE6.,:86wLQ+_]O-O hﱂGqxUI{yC}?,<)`ƿd;Fs$qzFN;X5U:j(awJMLɜ9X 3?=:R U8ߌc2> "8G Ĕܙ,8:({5ʁzD1o" ֻ kJK wvq3LyWLkZu΁,[/q agNrBy !ma Orwk)"f1`*/1n%G@ Ut70Vǚ)9.owr̕8}/_ПK/ SLF}N`W U[aKbsa {AK-lf B܇lLa%qEl`礒1Z"*y>ޞF|^$dP0n.IR|DSz{zן4e9cBb5v%fv_Y$/ķF64O- -^T!f괍W&{!Ϝ Vrb:Er]!1rufd/͞ytj{e-@N"-C¸mx\1 ZM:0'mUm!jeB}c 9.C^jt8;dTW~6:xż 1+-6{+V'~/##mHwxɮ\EgGIS붸V@䯟ǁ.eMΓDȎRA'Ofط:}h7ݛIyt9;OY;ڜT["I@b X$mN[d#qZrQǼ`YI+H[E^3Kii8,/05 `d{xmLF¸j;6G {cF2{,JQ'r}mylq]1q+ٙsIf4vB}0!(l;WήJ?8§YhJJq؇ut>n[F\uP VKwsZ rBTtQ{Ň1- ȨKpH}vv=Ggʬn56Ĭs5A!ui\i#\m3fӺBr7`E * K Gq9kt137 1PzWRNҰ}Ƴw:n*QSsR ×?wkkÌB>1N%7tt6J?oV7" z͔<muLQpڅ ¬EFɹoda&am&s1x`PtBgo5 5?o[,j5t(ߌ!ۼ(C*%ZKɞhe-2˄85V.'ZfT;v.iw Iݞ` 'q2VO՟Ə\ oJs/K,cpծzWSq{8˵J_ϫ!5m%%]Xvq4Lh'67 BCZHbnԧz y S9FEz\w{#L.audd89`".f~♭hmET}>KwrF s$9`xj2%ba 59ϝ'n7Ni"l' ˄"=iك+j["ˆQox#{%Uz\|Mv%SJ]Cpq/P7jBm4rKUt>@LY=+LЏHy9\>R6D걆i4\ˑ)ME,e}߈IWi`tQ`*#%R"bU2d+w! ͖ý{HDQ%A~=q3x4%cEc Ic_yP^g0You".n9W[Б  YZ