nginx-source-1.21.5-150400.3.3.1<>,ttc:Op9|p6WщggCbzXN7ϩ^(\=EW2E G}ñ1Ŝ6<Mʅy]eOˁ^.R+8euۏ>[A"}G$K!y(ԊKiD`)-:I 7doBMhc><*LƎIQ1zTjKw5)^2/ɹvڜ 5%B6@1dN[P6wcr \*19\mE`ϫ>>?d # 4|   r   |A }}< <r(8f9Hf:fFAGTH8IXY\]^/'bvcdefluv wxydzpCnginx-source1.21.5150400.3.3.1The nginx sourceThe source of nginx [engine x] HTTP server and IMAP/POP3 proxy server.c:Osheep52b'SUSE Linux Enterprise 15SUSE LLC BSD-2-Clausehttps://www.suse.com/Development/Sourceshttps://nginx.orglinuxnoarchԁa u1,Y :  F y  Blemr   ~vG^d m Ax"xf65  `| gBgh -rV(P G wh?Oy4i;Y xNwN@%! f?y N% !j|~)5} #&$w {Iu%N#4&<L-R8cB F+*-*o22(,nx Z i?.ZR--yMv"!~`&Wc-Bt!TI:Pipm:R@*# hM;Cn#67; 9e*QI(:K 2!a(u/ <ee.)S #b,JL*1zR` V=wT 2 t((49-/-,HCZr,1e1"B-mW"TuP ;hj_$"_ H*C!? N z+7 Ba!I  Cq5 $I2w!5flxA$-Y`;M$N,: '<`WMDG*TJ;2ZN^!z^ [#=A큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤큤AA큤A큤A큤A큤A큤A큤AA큤AA큤AA큤A큤A큤A큤A큤AA큤A큤c:Ia-,a-*a-&a-&c:Ic:Ia-&a-&a-&a-&a-&a-&a-&a-&a-&a-&a-&a-&a-&a-&a-&a-&a-&a-&a-&a-&c:Ia-&c:Ia-&c:Ia-&c:Ia-&a-&c:Ia-&c:Ia-&a-&c:Ia-&a-&a-&a-&c:Ia-&a-&a-&a-&a-&c:Ia-&a-&a-&a-&a-&a-&a-&a-&a-&a-&a-&a-&a-&c:Ia-&a-&a-&a-&a-&a-&a-&a-&a-&a-&c:Ia-&a-&a-&a-&a-&c:Ia-&a-&a-&a-&a-&a-&a-&a-&a-&a-&c:Ia-&a-&c:Ia-&a-&a-&a-&c:Ia-&c:Ia-&c:Ia-&a-&a-&c:Ia-&a-&c:Ia-&c:Ic:Ia-&a-&a-&a-&a-&a-&a-&a-&a-&a-&a-&a-&a-&a-&a-&a-&a-&a-&a-&a-&a-&a-&a-&a-&a-&a-&a-&a-&a-&a-&a-&a-&a-&a-&a-&a-&a-&a-&a-&a-&a-&a-&a-&a-&a-&a-&a-&a-&a-&a-&a-&a-&a-&a-&a-&a-&a-&a-&a-&a-&a-&a-&a-&a-&a-&a-&a-&a-&a-&a-&a-&a-&a-&a-&c:Ic:Ia-&a-&a-&a-&a-&a-&a-&a-&a-&a-&a-&a-&a-&a-&a-&a-&a-&a-&a-&a-&a-&a-&a-&c:Ic:Ia-&a-&a-&a-&a-&a-&a-&a-&a-&a-&a-&a-&a-&a-&a-&a-&a-&a-&a-&a-&a-&a-&a-&a-&a-&a-&a-&a-&a-&a-&a-&a-&a-&a-&a-&a-&a-&a-&a-&a-&a-&a-&a-&a-&a-&a-&a-&a-&a-&a-&a-&a-&a-&a-&a-&a-&a-&c:Ia-&a-&a-&a-&a-&a-&a-&a-&a-&a-&a-&a-&a-&a-&a-&a-&a-&a-&a-&a-&a-&a-&a-&a-&a-&a-&a-&a-&a-&a-&a-&a-&a-'a-&a-&a-&a-&a-&a-&a-&c:Ia-&a-&a-&a-&a-&a-&a-&a-&a-&a-&a-&a-&a-&a-&a-&a-&a-&a-&a-&c:Ia-&a-&c:Ia-'a-&a-&a-&a-&a-&a-&a-&a-&a-&a-&a-&a-&a-&a-&a-&a-&a-&a-&a-&a-&a-&a-&a-&a-&a-&a-&a-&a-&a-&a-&a-&a-&a-&a-&a-&a-&a-&a-&a-&a-&a-&a-&a-&a-&a-&a-&a-&a-&a-&a-&a-&a-&a-&a-&a-&a-&a-&a-&a-&a-&a-&a-&a-&a-&a-&a-&a-&a-&a-'a-&a-&a-&a-&a-&a-&a-&a-&a-&a-&a-&a-&a-&a-&a-&a-&a-&a-&a-&a-&a-&a-&a-&a-&a-&a-&a-&a-&a-&a-&a-&0fe01f7a97d827dfe1cfd13945f5cdeb0414ac2f9db19e5874058c6b40b7cfa21a25de70f225008d8814387596af5c473b7ead1d5027d0163b722bea2f4db198b57270c1f73eb6624b38b2d0a1affcec56b21fab39efbf8c837428f05cef1d73691626fab75efb683563712cdb72e8d25ff50f3aefe71a770db06a0406cc825d8116aabdff4a25e1559a68237de8a242b6ca9e2070c56b31f7537ce7c2a3ed9a32b9f9b39600807ebb7a03a31c93f8171a658ecb932a5bef63292f598bd8009475c05080c5c3731530356c1c2cdf036635216b2be76e56b99ed0cf11073795de2a425a29e3c73b92f36598833849691845254fb7048cb03ebab85062217cb597e12469d7d21e551a8823ed7ef978d617e5357449448930ef8c9befc34d57b7a7945cfed3a4d787fb29e135d61d464b96df55f3420d124cd9413b7d9883e5306261be37ccd84e16e93e7c4d6e466c08913e8c9962632e37d550009201c17bdff7a140f64ce6ce8014cd1973c49e5074ebb5d0b9739c5d508c1f1d19fc5d001239822bcd6f47963491ec60ec02b69b9d96336deff9ca0bda36849ace39ea9c4e71f0aa6c81da18bf614adb379fd2f33d992a43f94d135825f2f2079c12f21dbb147c3a24a8c87a04569dc94b48d156c665c22c45321578a745b4eb8e6d0a468ef4c2b3fdba748a50da52de528c4daa91a43449a0e98171a51b7b8289df803fecab744b6b6b497e310cae231997243327dfe77b249625af1ecb191264a802967fae26c2c1025d08d30caef8425e8f314e05cbe19a4bd03a7e9811b00fb73498b3dd2b42aa4dc83381006c9c574ab9937fe3423baabdfc10ab127c6462d13408e8fa0d554e843411cca8cea0e5ff071a7224b174917cea893d31c31e53c36b8c073f1b0ec3649dc3c5e44a26d0d956868f868c3c9682a56443c709a9ced4731b9482109eaccf9d87dc654ae0ea6105f4c18ffda85a61e3b94c3ec3003ed963c345dc8352af29e303b3630987d7dc5ad21ce23b03a363c7402b620188c8788c65535fafe3960ffccd3f87a042d09545ed3425da387d747868e4d0acd6c70df7241dbe69f7f53406284e1a617a6d576d074f7bc018f3a108c31efca73d4d7a3dbfdf6d46c26d883227fe6f5cab25697d5e08aa678ec8e197035f866d60c170b3856a64bba16ff27dce4c88ef40fff4375a7d98713cbcc257e5d7db6495d138fb9bbd6b8c2f3ee6c49851fe3c0763c768ddb177250f7dc2a1e50c34735ea303717eb443b2ca0347be57908b8f42d03e2220a0963ceaa3a394a5a34392fa0a2f66cb4f5649b7a19016fcd848b57ba631379848439d0d648c92d7b871980f9b5c9449136c23bf8ca7edd73f8d8e4c884b3bfe684e48c49fd55275f44e4fade1beaccca8c6bce9d2f78a9ae21bab7399f0986cd079f36bed0305c32d563e6c8b3d6115420f0f9e4d897bbc9bf71ba35b6cc5cfb11a5192dc8d7f17afeb3ef87421ea3cfa1cab711e4cf9c1f15b384afb4b9f2a9cee563d7b5cd33eccc971643860af0bf1fbaf52d844560c89b91dd88ef9a087607259b41f82ab98009cd424ba5abff6ec5835df082f1c7c7b5ffed0e9f98c866f33907cc46b678bd338661494fc6ede701c2d43e0924698a336101304eece0e14dfd8a52bcd6629d297555201f1b8692682fce2a0d243de55c3668ac691b9490bb8bfa472433901c956c171dcdb13f36605b141058c51ec5a0cac9905b65c07e9096088469dcf74b00957837c57c0492f6048ff735da121fea957c114445a0a1438482d2d4db9fa30478a2f6aa96e3d573fa8d0a931686d38a6d9dd548527da0a90ff365ddba71e150160535ef6afcb290d55baf532ff38ab6eae012536ef0ae59d283a5dee90192480ee5a13c4c930efceb907880387482adbd4bf5167a90b34b4ffdf4d479457370a83ac15041f8cd8c66d4cea7adfd066b32942dfd0ef763b66863c06ec48c27b2cefb86187eb288854ee58b6084701c93b38f49655d399cbb3e1bdc0cb86a8d77fb077a423ca34c3c53a815a365db76287ee7889fe8ac1a74a6ebb640e94e8fa485b482a155f8feb4cbce5a4690218936ac2508889499d21d9d55118e66a51296555a6c9547091324fa2c226d0e9d993f061492943a28b16d538114feff73a17e52ef089645b1dd0f0abaa939eb792a9fd2949332d6c57b14da9fc63f544566de2a92e5e85fb7e577b815b36c16ed3d2f75c24e56fae805912688b0de2a665a53c29ef348d9fd20bf297f87367d7498df8f7ea022f6fa0b5d676e55ae9df96cf0224b84590bf443eda8216cab64309ceabff8e46ced0b537a70dda7c7e977b3133f4a9604e25fe20f75dff380c3937aa5008e3c7edb5672c4b6820af6a03a4bed643317aa0b1560320ba491cdd7e67d97ebe4448b258615b0229c477234b4f236cf5fb81d59f2ce31c731886e9a4c6f83d33bd4f63135e44a9f2960029e1f3b1ef6bbb93938d2482b43c1af110307341c8cba6f6f5d30b96293450e689e21a4e5ca42c139128504c66f3246e6374fd4c0482ee38e8db56876b48864e6e7ecc1041552cec01c16d48fe435c09a3b420166581ed9fe7121bab1d841f9b978d20efb03c60a8a05ff304e39abcda9928bf805aecc55117ac3d42871d54d28468b78848eefefd247df6f74731ad8ec8d2fd8ba4ab9881c9d0c61864e5dca722b8c603e831974e7d59db12ca7f0a19589ef1ac1e343dfae77239620eb62a5baa6032976bdb194d21bdafc793c71f7a93572cc9ff365706a9288e00f4bb60570e56933fbfe771243d2296f048085e892664618769d8f9074d7fb8d6392fadce4f8f29e3b1e67abced18601a566d448e631c9d25e4c67d941ac8ae481f28434ef3dbea58a21bfb2513cfb30eada7716f48c7d391a47d73d1015679d016ae820a1bcd15a84a6aedd24b25de26c195c82a24dccaa39b4a29ec50c24964b0deb7c1c3b1d3b5ea29baab9ed82c90b0e532ec28b7fde04e36d6f53cb6b9c224975e71a8257f15cb768331431859bb4f724ba621f117e8c2431278c67a49d837b349f3128364c4a6c1ece80400ae5a80b2c3d480a58f61f3a7dc61850b461e892e36f236317765a4f2f6d558c928fa57f37852d0113de30fa6bfc3d9b180ef99383c06739530dd482a8538503afd5a58b5f8a6d411db5e5d11d151d50cd1e962444732593adec0e1ef0a8c6eebec63eede518a9eafe86c8bc705e296d0ef26135835b46bdc0de01d1d50a630fa5d341e6f95d1d7d75e3c072907d845622a69d23110d1266c16ff122b3109b8b21f3ae995363d79620c1b3eb6951711b6630a411f147bc9197bc91442c0605cf6688e46f27b2027c571ccafcfb0fbb3f54d7aeee11a984e3a0f5a1fdf14629030fc9011015cb581c2eb84b1a1ac9b575521d5881f791f632bfa62f34b26ba97d70c0d4f55adf050bad0cb60cbfe18649f8f17cd405fece0cc65eb78dac72c74c9dad9443542be5ea618378271071669bb99195db26b98fdb5dad09026d28fa04ce1041d0f4908c9fc73ea40c264da0ab23041c9926ddfa3c8c639f734900a4c203491a5710cc6ea2fefe73c908addf6cb84c08f1da1310ddd9fba87f3bd8c87e3d4a350cbb9fbae8d0987b4a1547fa48135ed1c890f58e7789acee064026678dbef5cd61cc5bfd4262ea8db2fc575459d1e3b3fd2a4a5a8b2697f1080d7514f5a4d7910295ec71cb7b92198c02f4042727147b3ea069dc61d78693725783ce0ac74ec023ce32b22f5c741f95ec432aad87cce5ec02b6e41eecc0a5e1177018ca455a043ed7a438f9238b4054ed58a88a15625e5a3984fb07f6ed0395b062c04545adea8983c89c6ebcd4b6f61dcba4424608890d0deae79a21c0830441917e1eb54b358830e4ae0af73d1e0b0bf75c7b4b5c44a625175b3a25d54547850504ad7f297cf876766b4e80133fd490603e073d3567425b88794828a9292104244c9e40875edfb47468a2cd3953c7131431991afcc6a2703f14640520102eea0a685a7e8d6de479e85c696763af81a3b938a8545db1ab86ac802f78c703f35d5ef17f99217b846b9463b8b0be685f1c531879089cec0d3988dda7229561e06ecfa80ab0c6c28721bc7938f9b273321ef0b220a785470aafd629dedf904c71756657380132f58930cc75949dd3c4106ac9d1f6224e1e5733142f9d72bd66040b830ec9ccfe2fce0f2a3977fa558f0c9a7dc19ff934284f1355291e8be38476c2732f1c1a9368c5c6c87caf8a7155ab39d08fba21f1a47578e570d7951c78dec9bfba0bb7438e5c6e2f27aef9ab5d23cd8f82d9e8f22e2dd024e6e652756946a4292a99d55e34f567e7ec33e011ac8ea801a6caa706ce31f58407628c9634e0084242186d350bde42b9c6c78383c800cab0cd64e822ad54dbba03fef09b3897bd69e2e3aff6c6a916bafdc53a267cac8aa395c9f4ff4c0085a2b935aa726e8d68827f4ece1743e48922beadd6f0d1aa4c6c1dbf3021d37f6d765a5fd369b1fb624b592ca32fa2230486c91a0121ecc9bef072e393cc9c9b03356364907c7c67034b4f1e64b610f280e4f3c7176b6d823df179703b7a6bc1d0edfec3deb833411d5507a93e8b18804a5885ff372165f6207c0db929bbc1dcefa6ee6aa367af6492ec7d811ab640c82ec0833d467c4cc6a43b18c70fc58f8208b6267e3198e1c98d671cc9fffe71020518927bc00c4581f8cf7c4f9e3313a115acbc8802de719bf0fda72d5eb6e4a503652d39e6d1715f53a07ba686750428aab47bc8200eda3c872bc79f2dff4a30fd24760b51154048eca16185b44e7a23a6247a90fb05bb31e83aeb61a64faecb8f82a191f7d73a19fe8d45cd0e7526a81751cad37110c3b25a549b5eb9d8cfb5d7929154298f81c30782e3aa476e94a064b7862bc36cd8619f55234c7dbdc3dd2a77aa635c4520b43fc413a4975975f6e76d61876d0e64856f9a14eaf4630fac103106c38b5cebeeb229a8a3b7d8575be52638ebcb8561fb8828f81aadccbe1a7434d7008294936ea0e6f03903552bd5f072b4eb87c5d745e47122a4f4d4486f3280d5d50485a5eee34ad904badb1a249d3f009d70d3292ab5466b4dcf3d5d7551376943af1b37769d74e0e42e7c55ab8fd5eeaf78066979bd7458566344b8c85113eb4e773e6fc8d4da7194c9b5ddf2116d6807d4d337dd310b28639fadbc5812a5dafb65f1b3120131fadc50e3fef3b00e522921c048f22a0657a0dde27ceb27bef48cfa4f1dba7eb7a96a0cb930c59df42ba0819342f287c99e604e795b3c17c7efb7118986c6aad10384737c5b5e6f03603019fded56fdf6adc915870b8cfbddcff333813187ea65b2e8aeafd43b7ccba38a74338419ce02e9616ac37bdcbddbac1d2a1e9bfabe25d8f8aab48049d8af0c5ee7d5f65fcf5de5ab1110c2ed937a14af8f4c616e2957fe22048b9da8b411bff0cfccf2ebe0322cb07f9756b694a52b3b0fffa34b9424f9988033c99f74a6dc51d2c903f9483b39ee88e06df2df0b933597c7789af19b21e561956658b28e8ee0b55288c98f1ba71e53046845794df4ed94df21a2426830a3d1031de2282e2f95f0bd616f8304218d52a4526562c7957922f85cc0e7537588f072e9c8086214bc7abad166af8b50b313d47b59ebb7237baed7f013a08d53e8c27ab96a0b642d39dde05bcbeb9a464d943c67b3ab4b9c118c52d92397ffefb12034704545e2269c74aaa844bed9d5d6f70eddc5900e42daf240753a7be7b7ca89eea89b75113a3b37c4f2c2435bce19b5bd3a79cac35b5c143a8eccf7d9782a0921178c7c04ff6de4f246db84eafd5c6f4910290b5102326963fc75a9d9a204ee5852115934f2cddbeedc44b64eb3ec78f422b9aad30ffa8526de5e2fb9ba735289082607c74e5db822889cbf899eae294f4feb92fe8a7d701843a94d275a37199193fdd984c33497cf829f4774dc92a1bd48a7bd301795754d6d4b69fc74a8a37e7137123ddf8d3e7ea50993ca0e99edb5f358d20e75f80529ae563df1f322f3716783963f3493b02c1dbcb35aed7b273e037cb1927dd4cce72ba15e9ac03c2820a77f0250782d4144c87675e82241f21ef37e462024499c7c10b0c400a47c15f33618502f4f3768b6ef431bfb10027b9ac22e06547aabdc316bbd128473b721c408dc5ad938e33cc84042552ead23eeeba84edf2728e6b2e01aab546f3c7daae1ce1c3534e48940a6441d7e1cbc7a7fe8b055b405dd3a8be5a3016f44a3ad8433a60b3dffd79da020526fec2608037dd41c1a8794aa2d2bf29292b5bbb5445e9701219bba24d0ddafd8d78acba9033972af20bf9b845079666d8a79b388fc81a4c13fd109110d97f88c34a295ca3dc2005066cca1997131a0058e53649f96c51424b83797a40f943dbf9409705c539fb9bb53cec32142c6b602123fe5a9f5f44bd8537dd2d13a159c3115619934f786633f7008223627739083ee34202f20f7dfbe60f25f1a42f2a6b81057102ccd911a374f5cfa31e19bacb9689c69e0670b5c50af7a510ae294ad0f9c52c5d86307230606664f01919989decf930b88b2b74c116db3d1b51d599f30f6d410d197dd1aae6e8ec4cae575f6d7c7122220bf6452c1dadf305ac741539531c12d4d83a1869094abc266fa94b0d3bf4ac5eb4d3b9e9929417c1106f3dec17263698a4a869b1e03d4d141cc813961e9ac88164a92fcd7e06e103375cf7edb47a43ec45efacd50c2a1065b8e4353902165d97fd2c5cfd635fb7bde56b0ea331ca654f531965b70ca96659b75632c94fbd8926c695235717eeea6407e4ca766a704b37bafa9a28db571bfaab15451b125710bb2306254bd873b1ba463283005f9f827b09fe6e4fe57b3831f016ecb852a77cdab1619c9737015b107785924022f2899d5b2731b350652841cc045b9df2a3e9f5e480de55eea3363d73a6841c2c197e494c02dea4a950c7403ebc55a8dfd913a69f8daa1ea14457233f6de68402a28bac072d161158cdd795393a47598a41cd33350afe114dbc820fd37b3bc1be126dd2c3e06cb822687b40d83d6136a66d810d4637da63cc2ad0b9ffbe67a3b355291370feccc95d39aff384c58e26ccfa154e5eabdcb4899e27da528e6c5ab007b5b9f6ad241583e1f962d52c43b6b58a1b0b88704da09c8ac0b09623b8db545465529fbae84991967553334204f2d39d22e9e9da03aa7a527aedef4785aa48d2532cb063e7ff791732c80e80ea60153e4148a59153a097c0296e34b0b2bf21b9a353fc913c89c3ec3c20c8844695aebd83569d069ccda65a9fba8b00d4fed6ba201fdc4108dc87fc768ef57c7abc3f9611a1f4a5acb400d851d624acd0cd3fa734875dd3c6cda4e3ec12acf4641e1eba8ae81e76017a84405493c87b4cc2d80c4321fd6bb8886a49c6049981341c67275805b77a9272a9c13a5bbb15dca5ccbda5d513ea46cc269ee60c7cafab1964769aa83cf78f096b0ba12a7b6bd31fda649da17f5d30fce8a38698f4ca2aa7b34a111a77919676e0797a98821f1889c2e5e661c6e32edcb536de6250c0aed44783aabd8bb19ac9dc66c217a90c66b0308ff9ff282ee930d7827af45459eaee3c85de46d7ea6fab3d4786433a082de6b6bb7552e7c0d6864528a4ef24d11b4986ed1bda3570e555664844e8896d3e44dfe5be8e9955d2db1a06a7fcadcac7c78eb923b71c0b5c54c4d4a81706ac94ea412edefefff31c89cc0fd3d77fc30b0a194ffdffb1a96d2b6a08c05594c3bd72ecbd015ed897e9428ba60966e327962d6650076fe6f655ac736e9d2e2d4aa067a1e4df64efabe22785a9ee49dc3307bc244cec224b7f65de169b1e7093f5c6c5fe0cdf27930b33c2c768b11d5e33698d16c4a994962bfd02a1df5fc72871867398ad081b0b6fdc23e77fffca5fa06c33134ce2ddd1c8c0639c666a504db539ece60edd0a70be0b7d2521d105949c338782f6c631f936b9d8aabddeb83817ec4a29d972d9bad8d0840cb2d6b4df02cdd6ccca3ec12942b2c1c9bc137b9179ed7f6fd927313fb6b6f05b86e3e040662235a92c6c381fbeb37122b87226622d06bf67736a86c6a95260a923d3df05274688aee99d97433a5b912a8000e937a74b0c62b8d7f78b2adb8e17047a22cc8805f5050af07bf13b10dffe7f23e3578d6bb04b91437df555f1f26f1a50aadf13362c5ec45a77517ee845e6d789fa7ae4d8399d317827236aadf261c3d5b610befefbfbbfe14320a9ef13bdca6dc3f52bbeda09b4ba3691752ee0309218b4d6fbb230a134b088ca8fee1efce16e21fdd94e89cb4e9ba5064422f45674deedffe2569598f552e0a2897f0e77ca486d527fd8e8f0df26b07dbf0edce9bce79c138c84c3fa340e9952f0a85eb1aa83e0eea78eaa2ac779326abe54820d8c9745ab3d2285aae09c2b1c5e76f2c7354d0eef4ac0c1c0e7b66f32b59a8c4c8220c58f2dfc879efb2137a1ec137d0f0caa3b9f745ff5f9fd668949ed5009a453f240a75d53b4dd96c61fa2713f44b8f6fa0d2b2e1657e33bc77232bd17813967369e788357d8f87a7fe6b63a96d4b08863d94c038989faecf227e3f19bae1a08389b60e549865439b56cc9c4a464f172370c3af10440c78cfe3d3fe8c0f33bc631614d644a09e3e3085768860c42f3cd8add9036725d7485a62510423dd93c15af487d17a52efb24e3ff5ea5e0656edb826099f8307c8a0e080968131871018cf2eb3068ae4d5429ab4101aec80754784acf73f3671493a4d616fb4b18168b21a81eaef426b2f08a3452ee5d18f6717f9bda2c80a91faaa827aff71c2f7e17dbe93c4e6ad3bd828abd9a4eec8057bdd424fe0283bd2f0365a2f377cf02413915794360de635c40ab39e0df79ae284b67c229983ab527ff88bd4ce8815aa066991520de83a170efe717a38acffefc6c6e023d41bf5bbfe2145b48b80e99b4d7e3376bf6da73458791b87741b06acd8698b221399fabedc6fb82d111a88b90640785e522b87a7c097048bba192c6200687f11815e0095353012e6f0b6e84fb95b5e5b7d374ce70e4967d307eaea9bc319c11db6850fc18d8e5e4f5c59e98c6ddf16aec0e12633e9332a70cbff073ac0ac6d7e3de6f0fe0df279847c089d55fa8b2cfc87d8c0a948dda997ba8d0bf2ced3e6063c7ecdfe9cc3eb657ef20dd090d88bccbefb61c190b72891e753a2d325848b3826bd60de61c522446fa030a3719e135203c4603d21ec8d93fa03301165f16136aa3a412ceed895920c742578854db98105b8edaf3ccffdaedefe273dddb9cfd2ce0a82089c984b55545c1d850cebb33e985eca15f921c19e3c3d252ea16c3dc3239b17fa36e046e7e3f12ce1aa4900a1bde807e350218bab8153d2dbddb0c36b9f9b42994d42634ed2d2129c4edc0b42dc82291d11490eedbd5fd42607b0b4afbc329c4d4f46e928c0a12a7a376feb7587e2c9d22323892d6e1a1e97f52524eaf305d0716a438db504222eccf7b6ad684e4eb748456b3ba26b9fa09a6f6bc4463027832c8a02a1d5f8875030ba15c8c5ad757b7d42e2bf5c21a8e961c891029b598e6576f6bc046d6dd72d9541f3ee1aa18f93083ef5aa24186bffc269a5c4383ddc945fea68e284e76a7d6a074e12ba8eb3cfcc3d1fa8d8298b96306cae0b8232f73001799145af19e6113b1536111fffd88bf3756e25fcb459b400aa03e8427e2aed9837635001e5b3e6db9419729f6287c8d21cc7fe21c8750c6ebce96b65fb68529d92b921d94c995c4f0aaae1d4d249c76b748c336d9c132b2911b3e503c536e8ef838ab088fff70ef455b15693942ed332810af2ff5c7ec952c762685d3884d68260f27109350eade146e2e3f1ffd12ce44ad54f2aa8d0bf1f1534dc6fdac5dccc0b4d0d2fc99abe01e64db9b2be0e34fb97b85287061a3bff8f1009a8ee523c98dfdffd463f6f0890c68386386f6ff5fea404285d97860ea32de8088363f03d9e1781c7dad6fcc46b02e56b847f0365dd9443297668c085c0ed06bd9a0a778226dea29fc112e97c3ef468e9afe99386c0da1694d98c66d2f8648ba797358c2a082bd182ac2d1bbf8e2d6ed4dea424006c79960a2b0f4628c5c71f981197992ce9067105a9543c7089c91cdd8f693e2ea76b911bc6eaef282cda868da561071cce6b8114684ebf57063c71807f44bbcc3233ff4998267cc1cd4b3dd75fcdca4a3c1ea2719f1020902aeac91730a4dbe3bf22cde0d87f9b3daf86313977f6c489b6daaa9d26c0c32bc198f97f2ebbe5f8cebdfb7de4424f9a5df4779d8627180a470fc6c63a68de9fe9b568488d0f7e6d12d2d0ff3f75ad86be13e147914239ec0d1cafcd78ad675a69fbe3a9266e20011ea884203f9b430aad8c08048ca8094426c6ee22ba1477475001b8c7594691a31a752d46d904333ef7f31013e0743e79d631f7d6b870dfd8707de835274f0fb583d36b553cac43799c047c988fc857a14806bb95544e4de6f9c2d19a0ab1e36f553df035ddda41408375e7262d252e898a47c28a073aa94da253c58edd24011ac8df84babad34b60739926931cded718f2d0e5785e8b580a464d136d2434d8b1f354029490decae95a839a8fe074300357c1990be9a5e21b549e7b3589f64f7e1cc649ab158c896bf26f27b98a4a524495b82502b9233ea5e31127f4afd66fa443802e3fdc05dc39863957654748023095438e993631569d93130c4dfdb5ab6a7641af0091366a8e846e0d21bd65867a16b47e39685e2e888a7fc11ca1e4e60636b4967a941ff5b31953d84cebcf9d4c7d29dcc67704d6d5d81e0ff1490bd6157b838c66313579ef63d46c5ef1bf9e52b217a866ca6590e328463eeac298d49c29abd23bdfee8ab281fa3fe10f3117052b06bcf05dabecf3f5b8f4e3779ed6539e5ac71bc51adf02852307b1431b7e01d1ed63d554155464da694d44fa0134369e2d6ede734cd6481801ccaccf41d97b7a76cfc59e373bf217a329e5ed0aebb6a7d66288faa192c8bda71456d13ac292cab2f66252964e7d2cf92212b1d6c8aa1e9e1f5f7585512620df9a6133f2b85cbbf231c7a7b02c0833b9624ce294a0294c8b980e9776afb36ea43ca3dc6b0f16f1d0c624b66d56c193be97f826db417fe1fe89e9968814ca570cc2336ff704f2c41d8393f1045d6da41acc491331d4f4dc9e34a82b6f257624a58912078908a2aa7a6135aa81ab7168041f8294207a227d27da341f2d024adb4c16ea9900824e016e4f979c1356ae53d3014c52d99a2ca6f7e066a46be1db2f43dbd1cfdfb0afe63878d34f985aa66fc53dc43c12e9e586eb3332de6e59c694b58619aaf0b2471e527404af6da0ff2faeb2acad6e47688f8573391e768322a149513ce82bc12a3ca1770a4aa099ddb9c52b732d10be0c559b0f1f136c74be8beb27ace8c7a3cbe3003385d047956a505f7a6da7e8e93d7b59ed58861b146e61d71999c3eacfd725ea701ba20a0f12dc1500dff287ede33a5d2974e05fb09c365a0d94f455fc874f25f2e7c283897d1e076942adbb997a077a94ac756c43340432e4718b26c7d0c777dd3328939ae27cacb64818b549aa43977013c11816b9ed41b71073e2ea4d90229884b2a41f422548ab9a0ea9ea6c98bdf2944d8004c919e48ab4540223c0484bb3c4eb5a0c294c651b405e048c788a0f633af5ab73dccfa8a3a7fc777dcc1d1a82e9ea15d78159a80f290cf89fc1d5f23954946a297a8511edeb1596407e5797674331eb555220bf03a4d6537cc1e422cc028715ab45300dc7dcc53801658ada78efd722f6c52be3def0bf685a3a3774c75e7b6172b2ce508a7b1a7da55b6f30d0f735e5bac92a33d6ecdeb2deb3c97dcab8797eed1fd3f97442cfeb62be21055c77205ab01ed8f3c251b4dfdab17a32797e3078a256c584dcef90e1fd0ea63ff53fb0607daee4d017188f0800a866524c725d154f0ed23fc17f85ff8182038c0c57d76d4f9112f9ea25d0b3be5d7b44771bbc2237a3ee905c897bdb7ad702fa639c7e3314c974678c29e643c66e6789d1edf8a52484fca0dfcad0c038d8752c10a68707bf14b25818b6123509602e58b55e6e1212d25728a2b0ccb1ff984108669aa9f25908791a77c7ae78b815263a827eed039a6e7473dccea28e7968e0eba05207f73589d5117acbd0b5f87749de7b18d3857550cef35b26df99f8027453e3bc6ec7e6b2b5fa4c4f6fcd75f4b70fea7c00ca7f323e3196dc71f8549df862c59f37c5c67954c0ae14de9cc71eb8d7ec8980e701a7edb931efa8db0abb562f41c7c64932ede8a6b890c8553b3df93ba696ea297746b84462264c1a8204a30b7ec6bb4dd2662e8f5fe4f773ec3915c91e78ea12b3f015e9fafa521ef3e76bcbc7d46e55a2791226ec942ac34a8e6f8d75f3593b37fb11b33474ad3b6caacb18773909021a72e6504c5537e00a584b2733c9313c023907dbcec841610af7d3d8844d1959cfd78e0856f90665d6ebe08f26ede2d7984364192109d043be281e16dc3f51d7e7c506096e01c646e35078afba0bba884498842a231be7d35e3f98e202aedfa95f51772f0bce76fc3580823373a7cce3b6ec3e159a218af1304a02614c35ae16fc55870ec722577bdc589869abbe73f4a9db4ec1a3163185a98aca4e52b1b4b5a6c3f64a4d65d011929708f41507d2ad03d8cc3225d8d009d9d268d9b7c1b095fc9a10d80bb8f30211770fe2aed956b27cbe451067d949aaa1f6850b20b5973719600d4e04e894998c540a5898a04980e9b014dd94e164c70b77336934e5b69d1e9b513672a61a36581db88770ea207f760b64ef3cf9a45ee22b9ccdd60024426e11f33f68dcdb912e9f4be48c124e8e0a6eb0e4f5d78d0c9f905ca2f16abc20952a257fd9a11dc6b5999ec7d609262f989ff1280181da5b371903bd53336e34d77d687eb19dcfc19182a99880385662aa912f29e7d1a18847b90570b6e3ecaf6bf45a6756e101d3bd764553b3f6f1f106d1f4c6bb57e732b6581d66431782ef5d53425c0863eb47f4ef93f3c5629f698472b6e0fb13438ad5412bc57313492c1b0968bbc1e5d2eb5f193a96316cf82a8a2687b0209fa4193685f58d585e5ae28fcfb500b5f7ddd652479d7a8ce09cffac4c66010fa566638617c73869074ec434277a5e887eb886675f1e39a5d49fa442689e5b5763b265ade7622b49b412a25fb1344e539c725f30dac266089ddec3b7d935eaa586d79858d964a39e738e8ea9fe8c6f32847fd1ad5935efca5fdee52d7e4ac662ede1ee88e06cf46bb0bb8ca5f8089a6d1927e5fae54c237403d52ffd8f9ed370f677a776ef96bb383dd1f958b853f5c39d3c4ecc0421b5be4512bfdb3e22420cc7a2ccc07c74feca236ca951c28cb7a233b7f4a29d4b63c6d1cd03ac3a2da87d910bdf69d42c15cd1490376a431e304fd317c4b4e295c7a60c8b015e683bf8b9b08e932637bf3f55aa2be71ab1f9b02b19b839b2c41583151dea9bf6a6eb7313ace007a31102cc6ce099e0b3db0621e989de549448d58e24220ac01f1a71b9ca67eedd4efc268736ccbfa5d868372380e0f5f4bd430fea2388b64db060040a01a9becd36f7e045bc36a37663f032b84af6dbf82555b89e710b7914be045af031ea114e1dfb08de030cf4341b29cc5d200fefab2c7f80e058b67ad731b697fd8aebecaeae8ac39c2956c9aa61f2e0864120a18f2b87369024218b9cc7dc5d4e6bed550f644a93bc1f003a46b4a8199a22e3a89e84045d241241b7333e481bf471c3741ac955283c01953ad4103844779021984d25dba1e298d86efcd97cfba2b51dc201e5d7f7f6d50c482c346455e9740a7e90ee51177bfaa8d1cf978cec9d95aa81916f8bde4816d0052d56d171c25129d6ae561d0a92c26e84d6dffcac6e79b1111de2ed6b4bd24aad513db07ca4931a3065d083fb98177451ed0bba4f19c7a7c763d48f0be88234101376d2823c615a5ea8c7865650c6fa2b26f9a7c9c027f6d5bcd83dc91a65dc907aa12c932637c59694d6d7bce5e660828badf100d0d042383e9bf70aed75f162e0519486df9ecb06b9b3230cf7dd113b7e082532f1c52961e8cb35584bc626634611c1ab3cf8275b0c255d23457a857def2e16be7302b9a6a81049c29ed7599763d7ec54b63e3deec63faae94e04e3a2ef2f85c50e3a2e79d4209ad1f2c02f6b45ecf2e5851bb4847391072a9a4b56af038ed4d1158ea4259c7617cb522aded2bab3d0ffb6fb653d79fd01c3a7bd7b190ea81b2aa8012d31f88c3e8f890c3506524888691542cc184b8e99f63090f31366f77e011e9a15092db1d3de03241f0215017b184762fe8dee1f7bea358921323833e0a7d56ad987d10fd6f075095b64de1c7500043843834ccee73c786b0d45e4c1d33ef6b71743765ffb2fd72c44a54e184dfb7eca7ee250f734032a1bb8d190b5f95b998b22ae86b0031e6ac198f840129e8e4024d370597bcf17c5632b2446275fc02b806fd94ec7b6829f8db49a82b1f0d73d1bd150a1d0e92c625b882d8a906235e2dc8bd3b9f9c42d3c27dea897bc167504fca18aec3e518c3604e0781b0ff0ec33109a8391f3cca0f635a3f695f42a5624a61193156adb433e3d443d01a7eb28347ab0edf1e209ffea33ea0b9ab5853705683988599a81efe842ce894997a946a91b8e89e1ba5d72d0fc1db33051664f907711b12d73fd2c16c76dbe8eca901129b202be39570e7581bc386235fff440a6f868a9e04231b5e17ed74c430e527ffb672872d3db281e7cb22b1fcbc52a68aa517358acd5b11d8d0054f82f7bfdadd343e665518951949e7458d863d614ced3ab2dff8f78a5e50b76897ba8c78a37bb2ae50132be47669428b5b96a5414f6b0e0190db91bdfa99f7b8ad5297fff8af753079622ebfe53f9ed03c622cafb3284f48364bc74d51cc642829857b402491e4e91f682f283ec1d51b40f89a12811e4a749791f0796184c6dc08e8e824f0ee746672a0ac73b50420ea8d45dcbb183705eff93d3aacadf1ee696bf0351d6e4ed02a157b81c2312bd3205fca04be9faa6ef3a357a58b1c0611ed280f974ae505eb015be8580f4cd3c9987959d39d93815da931985a5d4166b68ee60588f931a80b8a9542c751b0dd34469a9031970387b5faadf6837ad87ef1fa9d19784db1ce994245fb46431392c0d0c3d5317113fac2286c9456401c7135dfd9137030484657cbc1afe2c47dcd3cf6c82acefb3a62e6067dff9590e6aa2285de1f661a67566b4027ff52917b8877ecadd04f822f27d57098dfaa875fd04aff122c344f0dfa72bad5fb5f572b7177d30766303b3f27f6c8ef6a7405c855f454e5c17a9372294e2318c6045fb00360e6075b8168b68b2adab080b72ed631dafe1e23f153a5a1911cb98094e560d02a7607ad92a1952b78bdeebf0a10372c58bb3a2144dca9a844913404be50f9b43cf715ed496c7fe784e134543b2875f43e29037395e83298fff49edac91c50dd9db0966ac0ab9db4ddf2fbc1ed9af5f6a90fb671fc4201c28973d47fc0e33c4d14b8aef360731c8935962d994a7867da6141b6cf74de90d097ae766c46939067f595a40042d3429a558f9238383a6b823461c0e1a7f53b4c11b626b02221daf4145ceb3f864c65d71dd1002d64f9ee21703098d6f0f4074804baec5f64e4da76155ecc1fa2f822d6171224bd2e46ff4783f72a72724cb49b2509aaa9e5bf9d80e842fa541400c9ab86dfd1d12ca6a98bcb78666cba13390d3a5b17107d88d9455a0eeb02f1f17b37c141164bf6ed3943dd63e44e36fa5efcaa64fd149ae00f2c0ad3b2108c138fcd2eeba2dfacb999a5d366a8e98280f7b1ce9794d245da4a325e7fc118a87f58be216fd6804ab17fc20d63ceba6829116da1bc28f6a355fb403e89abaea59b5ee20d88ef09c4db2f9cd2c880888abc602d751cc93315f14f2e624572c200880f2f34332457e87beb3eb6bfaa2165f31e4aae40897e28cd10e55022bb2bb55cf45f3136e864905c12afe7a40ce13634460fe3cf234bd7f7df9cbb51370bd06b8f96f5b10e4e9f604e64f33376b4b715b5692f0b5ca80f4141db5df8d73de2aeb709827e82f8dffc2fdef9d472469e459746b99a07b9d6c0eaff341f5dfff19b0bc01261937fa43d3d04de974283168f13bf05c2d2d2e7807d1c542f2e50857133929f96ac7cc3205b0a3fb4a999f2d1652db081f44eecdec5c3d1ae2c3ae5fde2033b06cc29bea8d00b4d215f1368e18826d19a76abf798e12411a1a7b0078982e51ae0f948c2c23bb80846de30afcf32d04e471734b8c874e8f15857d98b5121496f0dbfe90221b20f7ebbbabbbc47bc54afc73f3ef7d8da9f799118f625f5e8ca7ec2f8fae10b6dfc7fb90f06cbd2fe527c62bb20bfd6d91bb551dd66876a5c615c5aa70276f42dc640353dbb5a9027539042dfa03cf9f12a86f7c7551755308a86391e6c45b34b546297d5208ff324cca47494c687dc36c571c710a0e219c25f58b0c9091a77c1b580822a8d808d73b5c2e55bcbd308476692df9e5d1680edf175f45a118216392566d20d73699ba2973dab03580d589c22a58246cf73356012c9bb3bcb23ca3f6b5ff1a14af1e74a93e1be56392e5ea74fd6034abfea9094b9f61ecaa5f9bd10a69d9aa149f2edbd1ae540100d55c494cbe0976f81d06b351d019dccd83cfa4d70c053d308896fccd5d67ebff35518650e6667ee2b3c633dad0660b5d32e244fba4d93bb5d31757be7e237ebc66e35b4595375a46202e91f01116de86964ca25494a1ea53b234da1b0201757399b811116d554c1d711907e711b73eede8f0d517db24b87fc0518e8aec3d20fb5e1ab88d7f5c07af8bcaf3375517a1c8adae77ab356c46107478b85683c8c0b7b90937c92f6db2fcd3570c165c5fb879b8a5470e5d570f4f8c06403242fb12de6b7047b9a25c7517d2ef940d40fe2632ed82e0b187b1d42bea3deec34e2784b278a8741dff33b60aa740bf35fa7bc96e8a88e81af22a15a0bd2cfa049c00aa322ca25d986402226c53825414af65e8f39a3032493f2aede43973f58c34d4217b3525317c63591844d664a40f7dfa8f344605ce94bb25122dbcd03260b0059b8a4ba31738b9e477e7a4bf204ee53eec415fbeb1ad7552242df9da81149446fa79e154e5e5e0ffbfb97abcbbd6c3597d34a5023200ae5f5c4fb0ee7597f5901f1ff373137d52fabfff42ed0cc9cf4ca5e2f11bb011a5781b5574135cf1083a5c4ff213ae588e60ec262be1974a968c1abf9aad0b0692f02c1071415f3740349d9471d87dac9c8af2bc8b98f3823a8096c1c8a978d02cdcfcac95201a1d09ddd6c7f43077787f9ef516302964b3b401e6b5d79a963ef25447323ebb15a9c0b455a9600c81c528fefc36c7d993c4781d47bd52fd26e1811055dfcdd8e88aa186911ea8ce76982ac7688cdd4d2d73b254c3c9146eec656a8042f7583570d1e3877a5d7906cb66e47ce50a38adc69a144591d9238defe57342b0da120d440310470a3f3bfe0c8e74f9a9a77fa0effe4b41e4f3400aa225d5638a5b532968feac8b7c51caa207f144d8f897fc9bea2afd7d3f8e7ec9a50bdb8ec6510b53ae044d72ca92b91b42d05e5aade04b45c2af2bd7a43dfbf4aee0d915ff9d9e1a15dfa9216ccc0b45e3bb6506d9fc3ec81e69fe4b79573d4c8e2fe7f21d411efeae1282db5b8a3b485bb95c71b20183b18604f9272c6d5bd5e5477ad86bd81f6705e67b1e06e75cea082be53878be76a9d3862316131954bf1c5881d8990557a8f6153b854ed49d446b83fc1c0aa25004bdf91f217d72a40a78ca679cf93e342888ded710ddc84ee7031569ea2792b7399119739047a94c4761965ec901b2850bea2e5f7ade8cfccae9e732048e9c818dd5d655a10e1bbba51c2a198c7fe32c4bb06d8df1795c0756ea9e052ac629a914647ce1d1a3b594b00c8cce93ca630872f2fa745d141afd1bbe4f356f5bee5185adec5d2bdd137740568d35fae34b09d9e693bf424e7966d29381a0bdb74358672709e3384e0f673136ceb4749ab5f447ca5f802acfdd3116897bb17d75a86a2835fa749751daac02cc18b7f9a01fc3acb3eb8261794cd900e2f06f1c7399b49e1803db6617a773a6a10ef35cd9645de0fd9859729543512ee9acb8a81fb62742d87ade0b932e5f91f452dc94d2ef2eb998f1fa1ca54d0f4812e14c3e681b2c92cb1319erootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootnginx-1.21.5-150400.3.3.1.src.rpmnginx-sourceperl(nginx)@@     /bin/sh/usr/bin/perlgcc-c++gd-devellibatomic-ops-devellibxslt-develnginxnginx-macrosopenssl-develpcre2-develpkgconfigrpmlib(CompressedFileNames)rpmlib(FileDigests)rpmlib(PayloadFilesHavePrefix)rpmlib(PayloadIsXz)vimzlib-devel1.21.50.0.13.0.4-14.6.0-14.0-15.2-14.14.3c@aMaaaim@ad'@a;Ha/k@`@```8@``~@`v@`hX`KW`:4@`-@`+_1@__/@_ _w@_w@_ts@_3_)M_@^ϧ^@^1^@^@^g@^_@^6^&^C]@]@]@]]S]6]$\@\!\@\zp@\(@\ `[%@[ݍ[[^[U@[ZZ?Z̧@ZZ_@Z_@Z_@Z_@Zz@Zz@Z7YY@Yp@YY@Y@Y@YlY0X"@XۡXf@X*Xp@WW@W@WWPWN@W8dW8dW8dW,@VV V V Uyx@U*^@U*^@U*^@U@fschnizlein@suse.comandreas.stieger@gmx.deilya@ilya.pp.uamimi.vx@gmail.comgmbr3@opensuse.orgjsegitz@suse.comilya@ilya.pp.uailya@ilya.pp.uailya@ilya.pp.uafschnizlein@suse.comdmueller@suse.comilya@ilya.pp.uaandreas.stieger@gmx.deilya@ilya.pp.uailya@ilya.pp.uailya@ilya.pp.uadmueller@suse.comilya@ilya.pp.uamrueckert@suse.demrueckert@suse.deinfo@paolostivanin.comilya@ilya.pp.uailya@ilya.pp.uailya@ilya.pp.uamrueckert@suse.demrueckert@suse.deilya@ilya.pp.uailya@ilya.pp.uadmueller@suse.comilya@ilya.pp.uailya@ilya.pp.uacrrodriguez@opensuse.orgilya@ilya.pp.uakukuk@suse.comilya@ilya.pp.uavcizek@suse.comilya@ilya.pp.uamrueckert@suse.dekukuk@suse.comilya@ilya.pp.uamrueckert@suse.decrrodriguez@opensuse.orgilya@ilya.pp.uailya@ilya.pp.uamrueckert@suse.demichael@stroeder.commrueckert@suse.deseanlew@opensuse.orgseanlew@opensuse.orgseanlew@opensuse.orgseanlew@openeuse.orgsean@suspend.netchris@computersalat.dealarrosa@suse.comsean@suspend.netmrueckert@suse.demrueckert@suse.demrueckert@suse.demrostecki@suse.comcrrodriguez@opensuse.orgachernikov@suse.comastieger@suse.comachernikov@suse.commrueckert@suse.demrueckert@suse.demrueckert@suse.demrueckert@suse.deachernikov@suse.comachernikov@suse.comavindra@opensuse.orgmrueckert@suse.demrueckert@suse.deachernikov@suse.commrueckert@suse.demrueckert@suse.deastieger@suse.commrueckert@suse.demrueckert@suse.demichael@stroeder.commrueckert@suse.demrueckert@suse.demrueckert@suse.demrueckert@suse.demrueckert@suse.demrueckert@suse.demrueckert@suse.derodrigo.oshiro@emc.commrueckert@suse.demrueckert@suse.demrueckert@suse.demrueckert@suse.demrueckert@suse.dedmacvicar@suse.dei@marguerite.sumrueckert@suse.demrueckert@suse.demrueckert@suse.dei@marguerite.sumrueckert@suse.demrueckert@suse.demrueckert@suse.devpereirabr@opensuse.org- CVE-2022-41741 and CVE-2022-41742: Handle duplicated atoms in mp4 streams, to mitigate out-of-bound reads. (bsc#1204526, bsc#1204527)- Updated to 1.21.5 * https://nginx.org/en/CHANGES * Build with the PCRE2. * Supported the $ssl_curve variable. * Fixed connections might hang when using HTTP/2 without SSL with the "sendfile" and "aio" directives.- Updated to 1.21.4 * https://nginx.org/en/CHANGES * Support for NPN instead of ALPN to establish HTTP/2 connections has been removed. * Now nginx rejects SSL connections if ALPN is used by the client, but no supported protocols can be negotiated. * The default value of the "sendfile_max_chunk" directive was changed to 2 megabytes. * The "proxy_half_close" directive in the stream module. * The "ssl_alpn" directive in the stream module. * The $ssl_alpn_protocol variable. * Support for SSL_sendfile() when using OpenSSL 3.0. * The "mp4_start_key_frame" directive in the ngx_http_mp4_module. * In the $content_length variable when using chunked transfer encoding. * After receiving a response with incorrect length from a proxied backend nginx might nevertheless cache the connection. * Invalid headers from backends were logged at the "info" level instead of "error"; the bug had appeared in 1.21.1. * Requests might hang when using HTTP/2 and the "aio_write" directive.- drop vim-plugin-nginx, now is provided directly by vim- Add CONFIG parameter to %sysusers_generate_pre- Added hardening to systemd service(s) (bsc#1181400). Modified: * nginx.service- Updated to 1.21.3 * https://nginx.org/en/CHANGES * Optimization of client request body reading when using HTTP/2. * Fixed request body filters internal API when using HTTP/2 and buffering of the data being processed.- Updated to 1.21.2 * https://nginx.org/en/CHANGES * Now nginx rejects HTTP/1.0 requests with the "Transfer-Encoding" header line. * Export ciphers are no longer supported. * Added OpenSSL 3.0 compatibility. * Added the "Auth-SSL-Protocol" and "Auth-SSL-Cipher" header lines are now passed to the mail proxy authentication server. * Added request body filters API now permits buffering of the data being processed. * Fixed backend SSL connections in the stream module might hang after an SSL handshake. * Fixed the security level, which is available in OpenSSL 1.1.0 or newer, did not affect loading of the server certificates when set with "@SECLEVEL=N" in the "ssl_ciphers" directive. * Fixed SSL connections with gRPC backends might hang if select, poll, or /dev/poll methods were used. * Fixed when using HTTP/2 client request body was always written to disk if the "Content-Length" header line was not present in the request.- Updated to 1.21.1 * https://nginx.org/en/CHANGES * Now nginx always returns an error for the CONNECT method. * Now nginx always returns an error if both "Content-Length" and "Transfer-Encoding" header lines are present in the request. * Now nginx always returns an error if spaces or control characters are used in the request line. * Now nginx always returns an error if spaces or control characters are used in a header name. * Now nginx always returns an error if spaces or control characters are used in the "Host" request header line. * Optimization of configuration testing when using many listening sockets. * Fixed: nginx did not escape """, "<", ">", "\", "^", "`", "{", "|", and "}" characters when proxying with changed URI. * Fixed: SSL variables might be empty when used in logs; the bug had appeared in 1.19.5. * Fixed: keepalive connections with gRPC backends might not be closed after receiving a GOAWAY frame. * Fixed: reduced memory consumption for long-lived requests when proxying with more than 64 buffers.- Fix race condition between nginx and logrotate causing mass reopening of files (bsc#1183876).- Updated to 1.21.0 * https://nginx.org/en/CHANGES * Added variables support in the "proxy_ssl_certificate", "proxy_ssl_certificate_key" "grpc_ssl_certificate", "grpc_ssl_certificate_key", "uwsgi_ssl_certificate", and "uwsgi_ssl_certificate_key" directives. * Added the "max_errors" directive in the mail proxy module. * Added the mail proxy module supports POP3 and IMAP pipelining. * Added the "fastopen" parameter of the "listen" directive in the stream module. * Fixed special characters were not escaped during automatic redirect with appended trailing slash. * Fixed connections with clients in the mail proxy module might be closed unexpectedly when using SMTP pipelining.- Update to 1.20.1 * https://nginx.org/en/CHANGES * 1-byte memory overwrite might occur during DNS server response processing if the "resolver" directive was used, allowing an attacker who is able to forge UDP packets from the DNS server to cause worker process crash or, potentially, arbitrary code execution (CVE-2021-23017, boo#1186126).- only recommend installation of vim-plugin-nginx if any vim is also installed or selected (boo#1183710)- Update to 1.20.0 * 1.20.x stable branch.- Update to 1.19.10 * https://nginx.org/en/CHANGES * Changed default value for "keepalive_requests" to 1000. * Added "keepalive_time" directive and $connection_time variable. * Fixed "gzip filter failed to use preallocated memory" alerts appeared in logs when using zlib-ng.- Update to 1.19.9 * https://nginx.org/en/CHANGES * Fixed nginx could not be built with the mail proxy module, but without the ngx_mail_ssl_module; the bug had appeared in 1.19.8. * Fixed "upstream sent response body larger than indicated content length" errors might occur when working with gRPC backends; the bug had appeared in 1.19.1. * Fixed nginx might not close a connection till keepalive timeout expiration if the connection was closed by the client while discarding the request body. * Fixed nginx might not detect that a connection was already closed by the client when waiting for auth_delay or limit_req delay, or when working with backends. * Fixed in the eventport method.- update to 1.19.8: * Feature: flags in the "proxy_cookie_flags" directive can now contain variables. * Feature: the "proxy_protocol" parameter of the "listen" directive, the "proxy_protocol" and "set_real_ip_from" directives in mail proxy. * Bugfix: HTTP/2 connections were immediately closed when using "keepalive_timeout 0"; the bug had appeared in 1.19.7. * Bugfix: some errors were logged as unknown if nginx was built with glibc 2.32. * Bugfix: in the eventport method.- Refreshed spec-file via spec-cleaner and manual optimizations. * Droped obsolete conditional constructs. * Removed pkg_name macro.- Drop nginx_upstream_check module, there is no support for dynamic loading upstream and the module seems kind of unmaintained. - Removed patch check_1.9.2+.patch.- Update to 1.19.7 * https://nginx.org/en/CHANGES * Change: connections handling in HTTP/2 has been changed to better match HTTP/1.x; the "http2_recv_timeout", "http2_idle_timeout", and "http2_max_requests" directives have been removed, the "keepalive_timeout" and "keepalive_requests" directives should be used instead. * Change: the "http2_max_field_size" and "http2_max_header_size" directives have been removed, the "large_client_header_buffers" directive should be used instead. * Feature: now, if free worker connections are exhausted, nginx starts closing not only keepalive connections, but also connections in lingering close. * Bugfix: "zero size buf in output" alerts might appear in logs if an upstream server returned an incorrect response during unbuffered proxying; the bug had appeared in 1.19.1. * Bugfix: HEAD requests were handled incorrectly if the "return" directive was used with the "image_filter" or "xslt_stylesheet" directives. * Bugfix: in the "add_trailer" directive. - Since we only target sle 12 and above we can skip all conditionals which apply to suse_version before 1315 With changes in nginx itself we will drop support for sysvinit. http2, libatomic support and pcre_jit will always be on now. and we build all binaries with PIE now. - Moved the last 2 path macros from nginx.spec to the macros file. (pid and lock path)- Update to 1.19.6 * https://nginx.org/en/CHANGES * Fix "no live upstreams" errors if a "server" inside "upstream" block was marked as "down". * Fix a segmentation fault might occur in a worker process if HTTPS was used; the bug had appeared in 1.19.5. * Fix nginx returned the 400 response on requests like "GET http://example.com?args HTTP/1.0". * Fix in the ngx_http_flv_module and ngx_http_mp4_module.- Update to 1.19.5 * https://nginx.org/en/CHANGES * Add the -e switch. * The same source files can now be specified in different modules while building addon modules. * Fix SSL shutdown did not work when lingering close was used. * Fix "upstream sent frame for closed stream" errors might occur when working with gRPC backends. * Fix in request body filters internal API.- Refresh spec-file via spec-cleaner and manual optimizations.- Update to 1.19.4 * https://nginx.org/en/CHANGES * Add the "ssl_conf_command", "proxy_ssl_conf_command", "grpc_ssl_conf_command", and "uwsgi_ssl_conf_command" directives. * Add the "ssl_reject_handshake" directive. * Add the "proxy_smtp_auth" directive in mail proxy.- Use the ngx_* macros from the nginx-macros package to simplify the spec file.- Moved all the modules that support dynamic modules into their own modules: * nginx-module-geoip2 * nginx-module-fancyindex * nginx-module-headers-more - The rtmp module is replaced with nginx-module-http-flv- Update to 1.19.3 * https://nginx.org/en/CHANGES * Add the ngx_stream_set_module. * Add the "proxy_cookie_flags" directive. * Add the "userid_flags" directive. * Fix the "stale-if-error" cache control extension was erroneously applied if backend returned a response with status code 500, 502, 503, 504, 403, 404, or 429. * Fix "[crit] cache file ... has too long header" messages might appear in logs if caching was used and the backend returned responses with the "Vary" header line. * Fix "[crit] SSL_write() failed" messages might appear in logs when using OpenSSL 1.1.1. * Fix "SSL_shutdown() failed (SSL: ... bad write retry)" messages might appear in logs; the bug had appeared in 1.19.2. * Fix a segmentation fault might occur in a worker process when using HTTP/2 if errors with code 400 were redirected to a proxied location using the "error_page" directive. * Fix socket leak when using HTTP/2 and subrequests in the njs module.- Update to 1.19.2 * https://nginx.org/en/CHANGES * Now nginx starts closing keepalive connections before all free worker connections are exhausted, and logs a warning about this to the error log. * Optimization of client request body reading when using chunked transfer encoding. * Memory leak if the "ssl_ocsp" directive was used. * "zero size buf in output" alerts might appear in logs if a FastCGI server returned an incorrect response; the bug had appeared in 1.19.1. * A segmentation fault might occur in a worker process if different large_client_header_buffers sizes were used in different virtual servers. * SSL shutdown might not work. * "SSL_shutdown() failed (SSL: ... bad write retry)" messages might appear in logs. * In the ngx_http_slice_module. * In the ngx_http_xslt_filter_module.- update nginx-1.6.1-default_config.patch: * remove geoip_module which is no longer compiled (bsc#1156202)- Update to 1.19.1 * https://nginx.org/en/CHANGES * The "lingering_close", "lingering_time", and "lingering_timeout" directives now work when using HTTP/2. * Now extra data sent by a backend are always discarded. * Now after receiving a too short response from a FastCGI server nginx tries to send the available part of the response to the client, and then closes the client connection. * Now after receiving a response with incorrect length from a gRPC backend nginx stops response processing with an error. * The "min_free" parameter of the "proxy_cache_path", "fastcgi_cache_path", "scgi_cache_path", and "uwsgi_cache_path" directives. * nginx did not delete unix domain listen sockets during graceful shutdown on the SIGQUIT signal. * Zero length UDP datagrams were not proxied. * Proxying to uwsgi backends using SSL might not work. * In error handling when using the "ssl_ocsp" directive. * On XFS and NFS file systems disk cache size might be calculated incorrectly. * "negative size buf in writer" alerts might appear in logs if a memcached server returned a malformed response.- Update to 1.19.0 * https://nginx.org/en/CHANGES * Client certificate validation with OCSP. * "upstream sent frame for closed stream" errors might occur when working with gRPC backends. * OCSP stapling might not work if the "resolver" directive was not specified. * Connections with incorrect HTTP/2 preface were not logged.- Do not arbitrarily limit the default listen backlog (NGX_LISTEN_BACKLOG) to 511, instead use -1 to choose the system's default (sysctl net.core.somaxconn)- Update to 1.18.0 * 1.18.x stable branch.- Use sysusers.d to create the nginx user and group - Remove self-conflict- Update to 1.17.10 * https://nginx.org/en/CHANGES * The "auth_delay" directive.- Replace obsolete GeoIP module with MaxMinDB-based GeoIP2 (bsc#1156202)- Update to 1.17.9 * https://nginx.org/en/CHANGES * Now nginx does not allow several "Host" request header lines. * nginx ignored additional "Transfer-Encoding" request header lines. * Socket leak when using HTTP/2. * A segmentation fault might occur in a worker process if OCSP stapling was used. * In the ngx_http_mp4_module. * nginx used status code 494 instead of 400 if errors with code 494 were redirected with the "error_page" directive. * Socket leak when using subrequests in the njs module and the "aio" directive.- Update to 1.17.8 * Feature: variables support in the "grpc_pass" directive. * Bugfix: a timeout might occur while handling pipelined requests in an SSL connection; the bug had appeared in 1.17.5. * Bugfix: in the "debug_points" directive when using HTTP/2. Thanks to Daniil Bondarev.- Use systemd_ordering instead of systemd_requires, nginx is useable without sysemd, too.- Refresh spec-file via spec-cleaner. - Add in service-file Wants=network-online.target (boo#1155690) - Update to 1.17.7 * https://nginx.org/en/CHANGES * A segmentation fault might occur on start or during reconfiguration if the "rewrite" directive with an empty replacement string was used in the configuration. * A segmentation fault might occur in a worker process if the "break" directive was used with the "alias" directive or with the "proxy_pass" directive with a URI. * The "Location" response header line might contain garbage if the request URI was rewritten to the one containing a null character. * Requests with bodies were handled incorrectly when returning redirections with the "error_page" directive; the bug had appeared in 0.7.12. * Socket leak when using HTTP/2. * A timeout might occur while handling pipelined requests in an SSL connection; the bug had appeared in 1.17.5. * Bugfix in the ngx_http_dav_module. * CVE-2019-20372: Fixed an HTTP request smuggling with certain error_page configurations which could have allowed unauthorized web page reads (bsc#1160682).- Update to 1.17.6 - Feature: the $proxy_protocol_server_addr and $proxy_protocol_server_port variables. - Feature: the "limit_conn_dry_run" directive. - Feature: the $limit_req_status and $limit_conn_status variables.- remove -std=gnu99 -fstack-protector from cflags as they are no longer needed.- Update to 1.17.5 * https://nginx.org/en/CHANGES * Now nginx uses ioctl(FIONREAD), if available, to avoid reading from a fast connection for a long time. * Incomplete escaped characters at the end of the request URI were ignored. * "/." and "/.." at the end of the request URI were not normalized. * In the "merge_slashes" directive. * In the "ignore_invalid_headers" directive. * nginx could not be built with MinGW-w64 gcc 8.1 or newer.- Update to 1.17.4 * https://nginx.org/en/CHANGES * Better detection of incorrect client behavior in HTTP/2. * In handling of not fully read client request body when returning errors in HTTP/2. * The "worker_shutdown_timeout" directive might not work when using HTTP/2. * A segmentation fault might occur in a worker process when using HTTP/2 and the "proxy_request_buffering" directive. * The ECONNABORTED error log level was "crit" instead of "error" on Windows when using SSL. * nginx ignored extra data when using chunked transfer encoding. * nginx always returned the 500 error if the "return" directive was used and an error occurred during reading client request body. * In memory allocation error handling.- update to 1.17.3 - Security: when using HTTP/2 a client might cause excessive memory consumption and CPU usage (CVE-2019-9511, CVE-2019-9513, CVE-2019-9516). - Bugfix: "zero size buf" alerts might appear in logs when using gzipping; the bug had appeared in 1.17.2. - Bugfix: a segmentation fault might occur in a worker process if the "resolver" directive was used in SMTP proxy.- update to 1.17.2 - Change: minimum supported zlib version is 1.2.0.4. - Change: the $r->internal_redirect() embedded perl method now expects escaped URIs. - Feature: it is now possible to switch to a named location using the $r->internal_redirect() embedded perl method. - Bugfix: in error handling in embedded perl. - Bugfix: a segmentation fault might occur on start or during reconfiguration if hash bucket size larger than 64 kilobytes was used in the configuration. - Bugfix: nginx might hog CPU during unbuffered proxying and when proxying WebSocket connections if the select, poll, or /dev/poll methods were used. - Bugfix: in the ngx_http_xslt_filter_module. - Bugfix: in the ngx_http_ssi_filter_module.- update to 1.17.1 - Feature: the "limit_req_dry_run" directive. - Feature: when using the "hash" directive inside the "upstream" block an empty hash key now triggers round-robin balancing. Thanks to Niklas Keller. - Bugfix: a segmentation fault might occur in a worker process if caching was used along with the "image_filter" directive, and errors with code 415 were redirected with the "error_page" directive; the bug had appeared in 1.11.10. - Bugfix: a segmentation fault might occur in a worker process if embedded perl was used; the bug had appeared in 1.7.3.- update to version 1.17.0 * Feature: variables support in the "limit_rate" directives * Feature: variables support in the "proxy rate" directies * Change: min supported OpenSSL is 0.9.8 * Change: now the postpone filter is always built * Bugfix: the "include" directive didn't work inside "if" * Bugfix: in byte ranges processing- update to version 1.16.0 * 1.16 stable branch * Bugfix: segfault may occur in ssl_certificate worker process- update to 1.15.10 * When using hostname in the 'listen' directive, create new socket * Port ranges in the 'listen' directive * Loading of SSL certs/secret keys from variables * $ssl_server_name var might be empty with OpenSSL 1.1.1- update to 1.15.9 * Feature: variables support in the "ssl_certificate" directives * Bugfix: the "proxy_upload_rate" and "proxy_download_rate" directives in the stream module worked incorrectly with UDP- update to 1.15.8 * Feature: the $upstream_bytes_sent variable * Feature: new directives in vim syntax highlighting scripts * Bugfix: in the "proxy_cache_background_update" directive * Bugfix: in the "geo" directive when using unix domain listen sockets * Workaround: the "ignoring stale global SSL error" alerts might appear erroneosuly * Bugfix: in the ngx_http_autoindex_module on x86- update to 1.15.7 * Feature: the "proxy_requests" directive in the stream module. * Feature: the "delay" parameter of the "limit_req" directive. Thanks to Vladislav Shabanov and Peter Shchuchkin. * Bugfix: memory leak on errors during reconfiguration. * Bugfix: in the $upstream_response_time, $upstream_connect_time, and $upstream_header_time variables. * Bugfix: a segmentation fault might occur in a worker process if the ngx_http_mp4_module was used on 32-bit platforms. - fix changes file for submit to Backports * see https://build.opensuse.org/request/show/653792- update to 1.15.6 * fix for boo#1115022, boo#1115025 Security: when using HTTP/2 a client might cause excessive memory consumption (CVE-2018-16843) and CPU usage (CVE-2018-16844). * fix for boo#1115015 Security: processing of a specially crafted mp4 file with the ngx_http_mp4_module might result in worker process memory disclosure (CVE-2018-16845). - Feature: the "proxy_socket_keepalive", "fastcgi_socket_keepalive", "grpc_socket_keepalive", "memcached_socket_keepalive", "scgi_socket_keepalive", and "uwsgi_socket_keepalive" directives. - Bugfix: if nginx was built with OpenSSL 1.1.0 and used with OpenSSL 1.1.1, the TLS 1.3 protocol was always enabled. - Bugfix: working with gRPC backends might result in excessive memory consumption. - Fix vim-plugin-nginx rpm group.- update to 1.15.5 - Bugfix: a segmentation fault might occur in a worker process when using OpenSSL 1.1.0h or lower - Bugfix: minor potential bugs - update to 1.15.4 - Feature: now the "ssl_early_data" directive can be used with OpenSSL. - Bugfix: in the ngx_http_uwsgi_module. - Bugfix: connections with some gRPC backends might not be cached when using the "keepalive" directive. - Bugfix: a socket leak might occur when using the "error_page" directive to redirect early request processing errors, notably errors with code 400. - Bugfix: the "return" directive did not change the response code when returning errors if the request was redirected by the "error_page" directive. - Bugfix: standard error pages and responses of the ngx_http_autoindex_module module used the "bgcolor" attribute, and might be displayed incorrectly when using custom color settings in browsers. - Change: the logging level of the "no suitable key share" and "no suitable signature algorithm" SSL errors has been lowered from "crit" to "info".- update to 1.15.3 - Feature: now TLSv1.3 can be used with BoringSSL. - Feature: the "ssl_early_data" directive, currently available with BoringSSL. - Feature: the "keepalive_timeout" and "keepalive_requests" directives in the "upstream" block. - Bugfix: the ngx_http_dav_module did not truncate destination file when copying a file over an existing one with the COPY method. - Bugfix: the ngx_http_dav_module used zero access rights on the destination file and did not preserve file modification time when moving a file between different file systems with the MOVE method. - Bugfix: the ngx_http_dav_module used default access rights when copying a file with the COPY method. - Workaround: some clients might not work when using HTTP/2; the bug had appeared in 1.13.5. - Bugfix: nginx could not be built with LibreSSL 2.8.0.- update to 1.15.2 - Feature: the $ssl_preread_protocol variable in the ngx_stream_ssl_preread_module. - Feature: now when using the "reset_timedout_connection" directive nginx will reset connections being closed with the 444 code. - Change: a logging level of the "http request", "https proxy request", "unsupported protocol", and "version too low" SSL errors has been lowered from "crit" to "info". - Bugfix: DNS requests were not resent if initial sending of a request failed. - Bugfix: the "reuseport" parameter of the "listen" directive was ignored if the number of worker processes was specified after the "listen" directive. - Bugfix: when using OpenSSL 1.1.0 or newer it was not possible to switch off "ssl_prefer_server_ciphers" in a virtual server if it was switched on in the default server. - Bugfix: SSL session reuse with upstream servers did not work with the TLS 1.3 protocol.- update to 1.15.1 - Feature: the "random" directive inside the "upstream" block. - Feature: improved performance when using the "hash" and "ip_hash" directives with the "zone" directive. - Feature: the "reuseport" parameter of the "listen" directive now uses SO_REUSEPORT_LB on FreeBSD 12. - Bugfix: HTTP/2 server push did not work if SSL was terminated by a proxy server in front of nginx. - Bugfix: the "tcp_nopush" directive was always used on backend connections. - Bugfix: sending a disk-buffered request body to a gRPC backend might fail. - changes from 1.15.0 - Change: the "ssl" directive is deprecated; the "ssl" parameter of the "listen" directive should be used instead. - Change: now nginx detects missing SSL certificates during configuration testing when using the "ssl" parameter of the "listen" directive. - Feature: now the stream module can handle multiple incoming UDP datagrams from a client within a single session. - Bugfix: it was possible to specify an incorrect response code in the "proxy_cache_valid" directive. - Bugfix: nginx could not be built by gcc 8.1. - Bugfix: logging to syslog stopped on local IP address changes. - Bugfix: nginx could not be built by clang with CUDA SDK installed; the bug had appeared in 1.13.8. - Bugfix: "getsockopt(TCP_FASTOPEN) ... failed" messages might appear in logs during binary upgrade when using unix domain listen sockets on FreeBSD. - Bugfix: nginx could not be built on Fedora 28 Linux. - Bugfix: request processing rate might exceed configured rate when using the "limit_req" directive. - Bugfix: in handling of client addresses when using unix domain listen sockets to work with datagrams on Linux. - Bugfix: in memory allocation error handling.- Add nginx-source package- Do not require insserv on systemd-only releases.- update to 1.14.0 * 1.14.x stable branch. - includes changes from 1.13.12 * bugfix connections with gRPC backends might be closed unexpectedly when returning a large response.- update to 1.13.11: * the "proxy_protocol" parameter of the "listen" directive now supports the PROXY protocol version 2 * bugfix in the "http_404", "http_500", etc. parameters of the "proxy_next_upstream" directive - includes changes from 1.13.10: * the "set" parameter of the "include" SSI directive now allows writing arbitrary responses to a variable; the "subrequest_output_buffer_size" directive defines maximum response size * now nginx uses clock_gettime(CLOCK_MONOTONIC) if available, to avoid timeouts being incorrectly triggered on system time changes * add the "escape=none" parameter of the "log_format" directive * add the $ssl_preread_alpn_protocols variable in the ngx_stream_ssl_preread_module. * add the ngx_http_grpc_module. * fix memory allocation error handling in the "geo" directive. * when using variables in the "auth_basic_user_file" directive a null character may have appeared in logs - Use %license (bsc#1082318)- Recommend to use TLSv1.2 by default (boo#1086855)- update rmtp module to 1.2.1 - just commenting all places where we fallthrough conditionals- update headers more to 0.33 - feature: add wildcard match support for more_clear_input_headers.- update fancyindex module to 0.4.2 This release contains an important fix which can cause Nginx to crash when a directory contains zero-sized (empty) files. This bug has been present in all previous releases, and all users are strongly encouraged to update to version 0.4.2. https://github.com/aperezdc/ngx-fancyindex/releases/tag/v0.4.2- changes from 1.13.9 - Feature: HTTP/2 server push support; the "http2_push" and "http2_push_preload" directives. - Bugfix: "header already sent" alerts might appear in logs when using cache; the bug had appeared in 1.9.13. - Bugfix: a segmentation fault might occur in a worker process if the "ssl_verify_client" directive was used and no SSL certificate was specified in a virtual server. - Bugfix: in the ngx_http_v2_module. - Bugfix: in the ngx_http_dav_module. - updates from 1.13.8 - Feature: now nginx automatically preserves the CAP_NET_RAW capability in worker processes when using the "transparent" parameter of the "proxy_bind", "fastcgi_bind", "memcached_bind", "scgi_bind", and "uwsgi_bind" directives. - Feature: improved CPU cache line size detection. Thanks to Debayan Ghosh. - Feature: new directives in vim syntax highlighting scripts. Thanks to Gena Makhomed. - Bugfix: binary upgrade refused to work if nginx was re-parented to a process with PID different from 1 after its parent process has finished. - Bugfix: the ngx_http_autoindex_module incorrectly handled requests with bodies. - Bugfix: in the "proxy_limit_rate" directive when used with the "keepalive" directive. - Bugfix: some parts of a response might be buffered when using "proxy_buffering off" if the client connection used SSL. Thanks to Patryk Lesiewicz. - Bugfix: in the "proxy_cache_background_update" directive. - Bugfix: it was not possible to start a parameter with a variable in the "${name}" form with the name in curly brackets without enclosing the parameter into single or double quotes.- Install /etc/nginx/conf.d directory for custom user configuration files- Install /etc/nginx/vhosts.d directory for default installation to house custom virtual hosts configuration files- update to version 1.13.7 - Bugfix: in the $upstream_status variable. - Bugfix: a segmentation fault might occur in a worker process if a backend returned a "101 Switching Protocols" response to a subrequest. - Bugfix: a segmentation fault occurred in a master process if a shared memory zone size was changed during a reconfiguration and the reconfiguration failed. - Bugfix: in the ngx_http_fastcgi_module. - Bugfix: nginx returned the 500 error if parameters without variables were specified in the "xslt_stylesheet" directive. - Workaround: "gzip filter failed to use preallocated memory" alerts appeared in logs when using a zlib library variant from Intel. - Bugfix: the "worker_shutdown_timeout" directive did not work when using mail proxy and when proxying WebSocket connections. - partial cleanup with spec-cleaner- update to 1.13.6 - Bugfix: switching to the next upstream server in the stream module did not work when using the "ssl_preread" directive. - Bugfix: in the ngx_http_v2_module. Thanks to Piotr Sikora. - Bugfix: nginx did not support dates after the year 2038 on 32-bit platforms with 64-bit time_t. - Bugfix: in handling of dates prior to the year 1970 and after the year 10000. - Bugfix: in the stream module timeouts waiting for UDP datagrams from upstream servers were not logged or logged at the "info" level instead of "error". - Bugfix: when using HTTP/2 nginx might return the 400 response without logging the reason. - Bugfix: in processing of corrupted cache files. - Bugfix: cache control headers were ignored when caching errors intercepted by error_page. - Bugfix: when using HTTP/2 client request body might be corrupted. - Bugfix: in handling of client addresses when using unix domain sockets. - Bugfix: nginx hogged CPU when using the "hash ... consistent" directive in the upstream block if large weights were used and all or most of the servers were unavailable.- extra modules were enabled on sles due to a typo- Submit nginx to SLES to become a http server for RMT(Repository mirroring tool) [fate#323994, bsc#1059685, boo#1057831]- disable extra modules on sle- update to 1.13.5 - Feature: the $ssl_client_escaped_cert variable. - Bugfix: the "ssl_session_ticket_key" directive and the "include" parameter of the "geo" directive did not work on Windows. - Bugfix: incorrect response length was returned on 32-bit platforms when requesting more than 4 gigabytes with multiple ranges. - Bugfix: the "expires modified" directive and processing of the "If-Range" request header line did not use the response last modification time if proxying without caching was used. - changes from 1.13.4 - Feature: the ngx_http_mirror_module. - Bugfix: client connections might be dropped during configuration testing when using the "reuseport" parameter of the "listen" directive on Linux. - Bugfix: request body might not be available in subrequests if it was saved to a file and proxying was used. - Bugfix: cleaning cache based on the "max_size" parameter did not work on Windows. - Bugfix: any shared memory allocation required 4096 bytes on Windows. - Bugfix: nginx worker might be terminated abnormally when using the "zone" directive inside the "upstream" block on Windows.- add upstream signing key and verify source tarball signature- update to 1.13.3 (boo#1048265) - Security: a specially crafted request might result in an integer overflow and incorrect processing of ranges in the range filter, potentially resulting in sensitive information leak (CVE-2017-7529). - changes from 1.13.2 - Change: nginx now returns 200 instead of 416 when a range starting with 0 is requested from an empty file. - Feature: the "add_trailer" directive. Thanks to Piotr Sikora. - Bugfix: nginx could not be built on Cygwin and NetBSD; the bug had appeared in 1.13.0. - Bugfix: nginx could not be built under MSYS2 / MinGW 64-bit. Thanks to Orgad Shaneh. - Bugfix: a segmentation fault might occur in a worker process when using SSI with many includes and proxy_pass with variables. - Bugfix: in the ngx_http_v2_module. Thanks to Piotr Sikora. - update nginx-rtmp-module to 1.2.0: - DASH improvements - OpenSSL 1.1 compatibility- update to 1.13.1 - Feature: now a hostname can be used as the "set_real_ip_from" directive parameter. - Feature: vim syntax highlighting scripts improvements. - Feature: the "worker_cpu_affinity" directive now works on DragonFly BSD. Thanks to Sepherosa Ziehau. - Bugfix: SSL renegotiation on backend connections did not work when using OpenSSL before 1.1.0. - Workaround: nginx could not be built with Oracle Developer Studio 12.5. - Workaround: now cache manager ignores long locked cache entries when cleaning cache based on the "max_size" parameter. - Bugfix: client SSL connections were immediately closed if deferred accept and the "proxy_protocol" parameter of the "listen" directive were used. - Bugfix: in the "proxy_cache_background_update" directive. - Workaround: now the "tcp_nodelay" directive sets the TCP_NODELAY option before an SSL handshake. - changes from 1.13.0 - Change: SSL renegotiation is now allowed on backend connections. - Feature: the "rcvbuf" and "sndbuf" parameters of the "listen" directives of the mail proxy and stream modules. - Feature: the "return" and "error_page" directives can now be used to return 308 redirections. Thanks to Simon Leblanc. - Feature: the "TLSv1.3" parameter of the "ssl_protocols" directive. - Feature: when logging signals nginx now logs PID of the process which sent the signal. - Bugfix: in memory allocation error handling. - Bugfix: if a server in the stream module listened on a wildcard address, the source address of a response UDP datagram could differ from the original datagram destination address.- update to 1.12.0 - Feature: the "http_429" parameter of the "proxy_next_upstream", "fastcgi_next_upstream", "scgi_next_upstream", and "uwsgi_next_upstream" directives. Thanks to Piotr Sikora. - Bugfix: in memory allocation error handling. - Bugfix: requests might hang when using the "sendfile" and "timer_resolution" directives on Linux. - Bugfix: requests might hang when using the "sendfile" and "aio_write" directives with subrequests. - Bugfix: in the ngx_http_v2_module. Thanks to Piotr Sikora. - Bugfix: a segmentation fault might occur in a worker process when using HTTP/2. - Bugfix: requests might hang when using the "limit_rate", "sendfile_max_chunk", "limit_req" directives, or the $r->sleep() embedded perl method with subrequests. - Bugfix: in the ngx_http_slice_module.- update to 1.11.12 - Bugfix: nginx might hog CPU; the bug had appeared in 1.11.11. - update to 1.11.11 - Feature: the "worker_shutdown_timeout" directive. - Feature: vim syntax highlighting scripts improvements. Thanks to Wei-Ko Kao. - Bugfix: a segmentation fault might occur in a worker process if the $limit_rate variable was set to an empty string. - Bugfix: the "proxy_cache_background_update", "fastcgi_cache_background_update", "scgi_cache_background_update", and "uwsgi_cache_background_update" directives might work incorrectly if the "if" directive was used. - Bugfix: a segmentation fault might occur in a worker process if number of large_client_header_buffers in a virtual server was different from the one in the default server. - Bugfix: in the mail proxy server.- update to 1.11.10 - Change: cache header format has been changed, previously cached responses will be invalidated. - Feature: support of "stale-while-revalidate" and "stale-if-error" extensions in the "Cache-Control" backend response header line. - Feature: the "proxy_cache_background_update", "fastcgi_cache_background_update", "scgi_cache_background_update", and "uwsgi_cache_background_update" directives. - Feature: nginx is now able to cache responses with the "Vary" header line up to 128 characters long (instead of 42 characters in previous versions). - Feature: the "build" parameter of the "server_tokens" directive. Thanks to Tom Thorogood. - Bugfix: "[crit] SSL_write() failed" messages might appear in logs when handling requests with the "Expect: 100-continue" request header line. - Bugfix: the ngx_http_slice_module did not work in named locations. - Bugfix: a segmentation fault might occur in a worker process when using AIO after an "X-Accel-Redirect" redirection. - Bugfix: reduced memory consumption for long-lived requests using gzipping.- update to 1.11.9 - Bugfix: nginx might hog CPU when using the stream module; the bug had appeared in 1.11.5. - Bugfix: EXTERNAL authentication mechanism in mail proxy was accepted even if it was not enabled in the configuration. - Bugfix: a segmentation fault might occur in a worker process if the "ssl_verify_client" directive of the stream module was used. - Bugfix: the "ssl_verify_client" directive of the stream module might not work. - Bugfix: closing keepalive connections due to no free worker connections might be too aggressive. Thanks to Joel Cunningham. - Bugfix: an incorrect response might be returned when using the "sendfile" directive on FreeBSD and macOS; the bug had appeared in 1.7.8. - Bugfix: a truncated response might be stored in cache when using the "aio_write" directive. - Bugfix: a socket leak might occur when using the "aio_write" directive.- update to 1.11.8 - Feature: the "absolute_redirect" directive. - Feature: the "escape" parameter of the "log_format" directive. - Feature: client SSL certificates verification in the stream module. - Feature: the "ssl_session_ticket_key" directive supports AES256 encryption of TLS session tickets when used with 80-byte keys. - Feature: vim-commentary support in vim scripts. Thanks to Armin Grodon. - Bugfix: recursion when evaluating variables was not limited. - Bugfix: in the ngx_stream_ssl_preread_module. - Bugfix: if a server in an upstream in the stream module failed, it was considered alive only when a test connection sent to it after fail_timeout was closed; now a successfully established connection is enough. - Bugfix: nginx/Windows could not be built with 64-bit Visual Studio. - Bugfix: nginx/Windows could not be built with OpenSSL 1.1.0. - changes in 1.11.7 - Change: now in case of a client certificate verification error the $ssl_client_verify variable contains a string with the failure reason, for example, "FAILED:certificate has expired". - Feature: the $ssl_ciphers, $ssl_curves, $ssl_client_v_start, $ssl_client_v_end, and $ssl_client_v_remain variables. - Feature: the "volatile" parameter of the "map" directive. - Bugfix: dependencies specified for a module were ignored while building dynamic modules. - Bugfix: when using HTTP/2 and the "limit_req" or "auth_request" directives client request body might be corrupted; the bug had appeared in 1.11.0. - Bugfix: a segmentation fault might occur in a worker process when using HTTP/2; the bug had appeared in 1.11.3. - Bugfix: in the ngx_http_mp4_module. Thanks to Congcong Hu. - Bugfix: in the ngx_http_perl_module. - changes in 1.11.6 - Change: format of the $ssl_client_s_dn and $ssl_client_i_dn variables has been changed to follow RFC 2253 (RFC 4514); values in the old format are available in the $ssl_client_s_dn_legacy and $ssl_client_i_dn_legacy variables. - Change: when storing temporary files in a cache directory they will be stored in the same subdirectories as corresponding cache files instead of a separate subdirectory for temporary files. - Feature: EXTERNAL authentication mechanism support in mail proxy. Thanks to Robert Norris. - Feature: WebP support in the ngx_http_image_filter_module. - Feature: variables support in the "proxy_method" directive. Thanks to Dmitry Lazurkin. - Feature: the "http2_max_requests" directive in the ngx_http_v2_module. - Feature: the "proxy_cache_max_range_offset", "fastcgi_cache_max_range_offset", "scgi_cache_max_range_offset", and "uwsgi_cache_max_range_offset" directives. - Bugfix: graceful shutdown of old worker processes might require infinite time when using HTTP/2. - Bugfix: in the ngx_http_mp4_module. - Bugfix: "ignore long locked inactive cache entry" alerts might appear in logs when proxying WebSocket connections with caching enabled. - Bugfix: nginx did not write anything to log and returned a response with code 502 instead of 504 when a timeout occurred during an SSL handshake to a backend. - changes in 1.11.5 - Change: the --with-ipv6 configure option was removed, now IPv6 support is configured automatically. - Change: now if there are no available servers in an upstream, nginx will not reset number of failures of all servers as it previously did, but will wait for fail_timeout to expire. - Feature: the ngx_stream_ssl_preread_module. - Feature: the "server" directive in the "upstream" context supports the "max_conns" parameter. - Feature: the --with-compat configure option. - Feature: "manager_files", "manager_threshold", and "manager_sleep" parameters of the "proxy_cache_path", "fastcgi_cache_path", "scgi_cache_path", and "uwsgi_cache_path" directives. - Bugfix: flags passed by the --with-ld-opt configure option were not used while building perl module. - Bugfix: in the "add_after_body" directive when used with the "sub_filter" directive. - Bugfix: in the $realip_remote_addr variable. - Bugfix: the "dav_access", "proxy_store_access", "fastcgi_store_access", "scgi_store_access", and "uwsgi_store_access" directives ignored permissions specified for user. - Bugfix: unix domain listen sockets might not be inherited during binary upgrade on Linux. - Bugfix: nginx returned the 400 response on requests with the "-" character in the HTTP method. - update headers-more-nginx-module 0.32 - tests: skipped the newly added test case that cannot run in check leak test mode. - bugfix: more_set_input_headers: skips setting multi-value headers for bad requests to avoid segfaults. - skipped check leak mode for two test cases using malformed requests. - doc: claims that we work with 1.10.x since it is essentially the same as 1.9.x. - bugfix: fixed a typo in an error message. - bugfix: when the nginx core does not properly initialize r->headers_in.headers (due to 400 bad requests and etc), more_set_input_headers might lead to crashes. thanks Marcin Teodorczyk for the report. - update nginx-rtmp-module 1.1.10 - support for nginx 1.11.5-style cache-manager - update patches to apply cleanly again check_1.9.2+.patch nginx-1.6.1-default_config.patch- Fix the logrotate script: we had a hardcoded postrotate action pointing to /etc/init.d/nginx. This does not exist anymore on systemd hosts. Replace it with /usr/sbin/nginx -s reopen, which will use the pid file passed in the config file or the compiled in default path.- update to 1.11.4 - Feature: the $upstream_bytes_received variable. - Feature: the $bytes_received, $session_time, $protocol, $status, $upstream_addr, $upstream_bytes_sent, $upstream_bytes_received, $upstream_connect_time, $upstream_first_byte_time, and $upstream_session_time variables in the stream module. - Feature: the ngx_stream_log_module. - Feature: the "proxy_protocol" parameter of the "listen" directive, the $proxy_protocol_addr and $proxy_protocol_port variables in the stream module. - Feature: the ngx_stream_realip_module. - Bugfix: nginx could not be built with the stream module and the ngx_http_ssl_module, but without ngx_stream_ssl_module; the bug had appeared in 1.11.3. - Feature: the IP_BIND_ADDRESS_NO_PORT socket option was not used; the bug had appeared in 1.11.2. - Bugfix: in the "ranges" parameter of the "geo" directive. - Bugfix: an incorrect response might be returned when using the "aio threads" and "sendfile" directives; the bug had appeared in 1.9.13. - drop nginx-1.11.3_ssl_stream.patch again - refreshed the following patches to apply cleanly again check_1.9.2+.patch nginx-1.11.2-html.patch nginx-1.11.2-no_Werror.patch nginx-aio.patch- update to 1.11.3 - Change: now the "accept_mutex" directive is turned off by default. - Feature: now nginx uses EPOLLEXCLUSIVE on Linux. - Feature: the ngx_stream_geo_module. - Feature: the ngx_stream_geoip_module. - Feature: the ngx_stream_split_clients_module. - Feature: variables support in the "proxy_pass" and "proxy_ssl_name" directives in the stream module. - Bugfix: socket leak when using HTTP/2. - Bugfix: in configure tests. Thanks to Piotr Sikora. - backport nginx-1.11.3_ssl_stream.patch from hg - refresh patches to apply cleanly again: - check_1.9.2+.patch - nginx-1.11.2-html.patch - nginx-1.11.2-no_Werror.patch - nginx-aio.patch - enable a few new upstream modules and move some from 1.11.x to dynamic: - stream_geoip_module - mail_ssl_module - stream_ssl_module - build fancyindex unconditionally and update it to 0.4.1 - New `fancyindex_directories_first` configuration directive (enabled by default), which allows setting whether directories are sorted before other files. (Patch by Luke Zapart <>.) - Fix index files not working when the fancyindex module is in use (#46). - The module can now be built as a [dynamic module](https://www.nginx.com/resources/wiki/extending/converting/). (Patch by Róbert Nagy <>.) - New configuration directive `fancyindex_show_path`, which allows hiding the `

` header which contains the current path. (Patch by Thomas P. <>.) - Directory and file links in listings now have a title="..." attribute. (Patch by `@janglapuk` <>.) - Fix for hung requests when the module is used along with `ngx_pagespeed`. (Patch by Otto van der Schaaf <>.) - New feature: Allow filtering out symbolic links using the `fancyindex_hide_symlinks` configuration directive. (Idea and prototype patch by Thomas Wemm.) - New feature: Allow specifying the format of timestamps using the `fancyindex_time_format` configuration directive. (Idea suggested by Xiao Meng <>). - Listings in top-level directories will not generate a "Parent Directory" link as first element of the listing. (Patch by Thomas P.) - Fix propagation and overriding of the `fancyindex_css_href` setting inside nested locations. - Minor changes in the code to allow building cleanly under Windows with Visual Studio 2013. (Patch by Y. Yuan <>). - added nginx-rtmp-module - make all modules dynamic that support it: - ngx-fancyindex - headers_more_nginx-module - nginx-rtmp-module - manually install the docs instead of using %doc - unify how we install documentation for the modules - restructure contrib file handling - moved vim files into the normal vim paths so we can use them directly - new BR/R: vim - split out vim files into a subpackage vim-plugin-nginx so we dont have the vim requires on the main package - perl scripts are moved to /usr/share/nginx/- update to 1.11.2 * Change: now nginx always uses internal MD5 and SHA1 implementations; the --with-md5 and --with-sha1 configure options were canceled. * Feature: variables support in the stream module. * Feature: the ngx_stream_map_module. * Feature: the ngx_stream_return_module. * Feature: a port can be specified in the "proxy_bind", "fastcgi_bind", "memcached_bind", "scgi_bind", and "uwsgi_bind" directives. * Feature: now nginx uses the IP_BIND_ADDRESS_NO_PORT socket option when available. * Bugfix: a segmentation fault might occur in a worker process when using HTTP/2 and the "proxy_request_buffering" directive. * Bugfix: the "Content-Length" request header line was always added to requests passed to backends, including requests without body, when using HTTP/2. * Bugfix: "http request count is zero" alerts might appear in logs when using HTTP/2. * Bugfix: unnecessary buffering might occur when using the "sub_filter" directive; the issue had appeared in 1.9.4. - the following modules were added: headers-more-nginx-module nginx_upstream_check_module - added patches: nginx-1.11.2-html.patch nginx-1.11.2-no_Werror.patch check_1.9.2+.patch - dropped patches: nginx-1.10.0-html.patch nginx-1.10.0-no_Werror.patch- in the sysvinit script use the pid file in /var/run- update to 1.10.1 (bsc# 982505) Security: a segmentation fault might occur in a worker process while writing a specially crafted request body to a temporary file (CVE-2016-4450); the bug had appeared in 1.3.9.- improve conditionals - merge the 12.2 and 12.1 based conditionals into 1 as both of them are out of support now. - enable pcre JIT - make use if libatomic_ops on Leap- enable dynamic modules for intree modules. The following modules are built as loadable modules now: ngx_http_geoip_module.so ngx_http_image_filter_module.so ngx_http_perl_module.so ngx_http_xslt_filter_module.so ngx_mail_module.so ngx_stream_module.so You will have to load those modules with load_module. http://nginx.org/en/docs/ngx_core_module.html#load_module The correct syntax for this package is: [#] For 64bit machines: load_module lib64/nginx/modules/ngx_http_geoip_module.so; [#] For 32bit machines: load_module lib/nginx/modules/ngx_http_geoip_module.so; Examples for all the intree modules have been added to the default nginx.conf - patches updated: nginx-1.6.1-default_config.patch - added load_module example- enable slice and stream module- update to version 1.10.0 stable * Bugfix: "recv() failed" errors might occur when using HHVM as a FastCGI server. * Bugfix: when using HTTP/2 and the "limit_req" or "auth_request" directives a timeout or a "client violated flow control" error might occur while reading client request body; the bug had appeared in 1.9.14. * Workaround: a response might not be shown by some browsers if HTTP/2 was used and client request body was not fully read; the bug had appeared in 1.9.14. * Bugfix: connections might hang when using the "aio threads" directive. Thanks to Mindaugas Rasiukevicius. * Feature: OpenSSL 1.1.0 compatibility. * Feature: the "proxy_request_buffering", "fastcgi_request_buffering", "scgi_request_buffering", and "uwsgi_request_buffering" directives now work with HTTP/2. * Bugfix: "zero size buf in output" alerts might appear in logs when using HTTP/2. * Bugfix: the "client_max_body_size" directive might work incorrectly when using HTTP/2. * Bugfix: of minor bugs in logging. * Change: non-idempotent requests (POST, LOCK, PATCH) are no longer passed to the next server by default if a request has been sent to a backend; the "non_idempotent" parameter of the "proxy_next_upstream" directive explicitly allows retrying such requests. * Feature: the ngx_http_perl_module can be built dynamically. * Feature: UDP support in the stream module. * Feature: the "aio_write" directive. * Feature: now cache manager monitors number of elements in caches and tries to avoid cache keys zone overflows. * Bugfix: "task already active" and "second aio post" alerts might appear in logs when using the "sendfile" and "aio" directives with subrequests. * Bugfix: "zero size buf in output" alerts might appear in logs if caching was used and a client closed a connection prematurely. * Bugfix: connections with clients might be closed needlessly if caching was used. Thanks to Justin Li. * Bugfix: nginx might hog CPU if the "sendfile" directive was used on Linux or Solaris and a file being sent was changed during sending. * Bugfix: connections might hang when using the "sendfile" and "aio threads" directives. * Bugfix: in the "proxy_pass", "fastcgi_pass", "scgi_pass", and "uwsgi_pass" directives when using variables. Thanks to Piotr Sikora. * Bugfix: in the ngx_http_sub_filter_module. * Bugfix: if an error occurred in a cached backend connection, the request was passed to the next server regardless of the proxy_next_upstream directive. * Bugfix: "CreateFile() failed" errors when creating temporary files on Windows. * Feature: Huffman encoding of response headers in HTTP/2. Thanks to Vlad Krasnov. * Feature: the "worker_cpu_affinity" directive now supports more than 64 CPUs. * Bugfix: compatibility with 3rd party C++ modules; the bug had appeared in 1.9.11. Thanks to Piotr Sikora. * Bugfix: nginx could not be built statically with OpenSSL on Linux; the bug had appeared in 1.9.11. * Bugfix: the "add_header ... always" directive with an empty value did not delete "Last-Modified" and "ETag" header lines from error responses. * Workaround: "called a function you should not call" and "shutdown while in init" messages might appear in logs when using OpenSSL 1.0.2f. * Bugfix: invalid headers might be logged incorrectly. * Bugfix: socket leak when using HTTP/2. * Bugfix: in the ngx_http_v2_module. * Feature: TCP support in resolver. * Feature: dynamic modules. * Bugfix: the $request_length variable did not include size of request headers when using HTTP/2. * Bugfix: in the ngx_http_v2_module. * Security: invalid pointer dereference might occur during DNS server response processing if the "resolver" directive was used, allowing an attacker who is able to forge UDP packets from the DNS server to cause segmentation fault in a worker process (CVE-2016-0742). * Security: use-after-free condition might occur during CNAME response processing if the "resolver" directive was used, allowing an attacker who is able to trigger name resolution to cause segmentation fault in a worker process, or might have potential other impact (CVE-2016-0746). * Security: CNAME resolution was insufficiently limited if the "resolver" directive was used, allowing an attacker who is able to trigger arbitrary name resolution to cause excessive resource consumption in worker processes (CVE-2016-0747). * Feature: the "auto" parameter of the "worker_cpu_affinity" directive. * Bugfix: the "proxy_protocol" parameter of the "listen" directive did not work with IPv6 listen sockets. * Bugfix: connections to upstream servers might be cached incorrectly when using the "keepalive" directive. * Bugfix: proxying used the HTTP method of the original request after an "X-Accel-Redirect" redirection. * Bugfix: proxying to unix domain sockets did not work when using variables; the bug had appeared in 1.9.8. * Feature: pwritev() support. * Feature: the "include" directive inside the "upstream" block. * Feature: the ngx_http_slice_module. * Bugfix: a segmentation fault might occur in a worker process when using LibreSSL; the bug had appeared in 1.9.6. * Bugfix: nginx could not be built on OS X in some cases. * Feature: the "nohostname" parameter of logging to syslog. * Feature: the "proxy_cache_convert_head" directive. * Feature: the $realip_remote_addr variable in the ngx_http_realip_module. * Bugfix: the "expires" directive might not work when using variables. * Bugfix: a segmentation fault might occur in a worker process when using HTTP/2; the bug had appeared in 1.9.6. * Bugfix: if nginx was built with the ngx_http_v2_module it was possible to use the HTTP/2 protocol even if the "http2" parameter of the "listen" directive was not specified. * Bugfix: in the ngx_http_v2_module. * Bugfix: a segmentation fault might occur in a worker process when using HTTP/2. Thanks to Piotr Sikora and Denis Andzakovic. * Bugfix: the $server_protocol variable was empty when using HTTP/2. * Bugfix: backend SSL connections in the stream module might be timed out unexpectedly. * Bugfix: a segmentation fault might occur in a worker process if different ssl_session_cache settings were used in different virtual servers. * Bugfix: nginx/Windows could not be built with MinGW gcc; the bug had appeared in 1.9.4. Thanks to Kouhei Sutou. * Bugfix: time was not updated when the timer_resolution directive was used on Windows. * Miscellaneous minor fixes and improvements. Thanks to Markus Linnala, Kurtis Nusbaum and Piotr Sikora. * Feature: the ngx_http_v2_module (replaces ngx_http_spdy_module). Thanks to Dropbox and Automattic for sponsoring this work. * Change: now the "output_buffers" directive uses two buffers by default. * Change: now nginx limits subrequests recursion, not simultaneous subrequests. * Change: now nginx checks the whole cache key when returning a response from cache. Thanks to Gena Makhomed and Sergey Brester. * Bugfix: "header already sent" alerts might appear in logs when using cache; the bug had appeared in 1.7.5. * Bugfix: "writev() failed (4: Interrupted system call)" errors might appear in logs when using CephFS and the "timer_resolution" directive on Linux. * Bugfix: in invalid configurations handling. Thanks to Markus Linnala. * Bugfix: a segmentation fault occurred in a worker process if the "sub_filter" directive was used at http level; the bug had appeared in 1.9.4. * Change: the "proxy_downstream_buffer" and "proxy_upstream_buffer" directives of the stream module are replaced with the "proxy_buffer_size" directive. * Feature: the "tcp_nodelay" directive in the stream module. * Feature: multiple "sub_filter" directives can be used simultaneously. * Feature: variables support in the search string of the "sub_filter" directive. * Workaround: configuration testing might fail under Linux OpenVZ. Thanks to Gena Makhomed. * Bugfix: old worker processes might hog CPU after reconfiguration with a large number of worker_connections. * Bugfix: a segmentation fault might occur in a worker process if the "try_files" and "alias" directives were used inside a location given by a regular expression; the bug had appeared in 1.7.1. * Bugfix: the "try_files" directive inside a nested location given by a regular expression worked incorrectly if the "alias" directive was used in the outer location. * Bugfix: in hash table initialization error handling. * Bugfix: nginx could not be built with Visual Studio 2015. * Change: duplicate "http", "mail", and "stream" blocks are now disallowed. * Feature: connection limiting in the stream module. * Feature: data rate limiting in the stream module. * Bugfix: the "zone" directive inside the "upstream" block did not work on Windows. * Bugfix: compatibility with LibreSSL in the stream module. Thanks to Piotr Sikora. * Bugfix: in the "--builddir" configure parameter. Thanks to Piotr Sikora. * Bugfix: the "ssl_stapling_file" directive did not work; the bug had appeared in 1.9.2. Thanks to Faidon Liambotis and Brandon Black. * Bugfix: a segmentation fault might occur in a worker process if the "ssl_stapling" directive was used; the bug had appeared in 1.9.2. Thanks to Matthew Baldwin. * Feature: the "backlog" parameter of the "listen" directives of the mail proxy and stream modules. * Feature: the "allow" and "deny" directives in the stream module. * Feature: the "proxy_bind" directive in the stream module. * Feature: the "proxy_protocol" directive in the stream module. * Feature: the -T switch. * Feature: the REQUEST_SCHEME parameter added to the fastcgi.conf, fastcgi_params, scgi_params, and uwsgi_params standard configuration files. * Bugfix: the "reuseport" parameter of the "listen" directive of the stream module did not work. * Bugfix: OCSP stapling might return an expired OCSP response in some cases. * Change: now SSLv3 protocol is disabled by default. * Change: some long deprecated directives are not supported anymore. * Feature: the "reuseport" parameter of the "listen" directive. Thanks to Yingqi Lu at Intel and Sepherosa Ziehau. * Feature: the $upstream_connect_time variable. * Bugfix: in the "hash" directive on big-endian platforms. * Bugfix: nginx might fail to start on some old Linux variants; the bug had appeared in 1.7.11. * Bugfix: in IP address parsing. Thanks to Sergey Polovko. * Change: obsolete aio and rtsig event methods have been removed. * Feature: the "zone" directive inside the "upstream" block. * Feature: the stream module. * Feature: byte ranges support in the ngx_http_memcached_module. Thanks to Martin Mlynář. * Feature: shared memory can now be used on Windows versions with address space layout randomization. Thanks to Sergey Brester. * Feature: the "error_log" directive can now be used on mail and server levels in mail proxy. * Bugfix: the "proxy_protocol" parameter of the "listen" directive did not work if not specified in the first "listen" directive for a listen socket. - removed patches already present upstream * nginx-0.4.0-no_Werror.patch - refreshed patches * nginx-0.6.38-html.patch to nginx-1.10.0-html.patch * nginx-0.4.0-no_Werror.patch to nginx-1.10.0-no_Werror.patch * merged nginx-1.0.15_docs.patch in nginx-1.10.0-html.patch - config option with-http_spdy_module is now with-http_v2_module- update version 1.8.1 stable * Security: invalid pointer dereference might occur during DNS server response processing if the "resolver" directive was used, allowing an attacker who is able to forge UDP packets from the DNS server to cause segmentation fault in a worker process (CVE-2016-0742). boo#963781  * Security: use-after-free condition might occur during CNAME response processing if the "resolver" directive was used, allowing an attacker who is able to trigger name resolution to cause segmentation fault in a worker process, or might have potential other impact (CVE-2016-0746). boo#963778  * Security: CNAME resolution was insufficiently limited if the "resolver" directive was used, allowing an attacker who is able to trigger arbitrary name resolution to cause excessive resource consumption in worker processes (CVE-2016-0747). boo#963775  * Bugfix: the "proxy_protocol" parameter of the "listen" directive did not work if not specified in the first "listen" directive for a listen socket. * Bugfix: nginx might fail to start on some old Linux variants; the bug had appeared in 1.7.11. * Bugfix: a segmentation fault might occur in a worker process if the "try_files" and "alias" directives were used inside a location given by a regular expression; the bug had appeared in 1.7.1. * Bugfix: the "try_files" directive inside a nested location given by a regular expression worked incorrectly if the "alias" directive was used in the outer location. * Bugfix: "header already sent" alerts might appear in logs when using cache; the bug had appeared in 1.7.5. * Bugfix: a segmentation fault might occur in a worker process if different ssl_session_cache settings were used in different virtual servers. * Bugfix: the "expires" directive might not work when using variables. * Bugfix: if nginx was built with the ngx_http_spdy_module it was possible to use the SPDY protocol even if the "spdy" parameter of the "listen" directive was not specified.- use libGeoIP-devel everywhere- replace custom "kill -QUIT" with the kill signal setting in the service file- clean up conditionals and use bcond_with* everywhere - drop passenger support for now * drop nginx-1.8.0-passenger-4.0.18.patch * drop nginx-1.4.2-passenger-4.0.18.patch- update version 1.8.0 stable * refer to http://nginx.org/en/CHANGES-1.8 for 1.7.x changes - enable thread pools invented in nginx 1.7.11 - refactor nginx-1.4.2-passenger_fix.patch * rename to nginx-1.4.2-passenger-4.0.18.patch * remove zero_in_uri usage - add patch: nginx-1.8.0-passenger-4.0.18.patch * fix "warning: comparison between pointer and integer" and "error: invalid type argument of ‘->’ (have ‘int’)" - drop nginx-1.4.4-passenger-4.0.33_fix.patch * webyast is dead, we only enable passenger on 13.1 and below, for compatibility. this patch will never be applied now. - drop nginx-1.4.4-passenger-3.0.12_fix.patch * this patch intended to be applied on < 13.1 machines, but 13.1 is the oldest one we still have to build against. - update fancyindex to version 0.3.5- disable libatomic-ops on SLE12 for now. the library seems not available there.- enable ngx_http_auth_request_module- update version 1.6.3 stable - Feature: now the "tcp_nodelay" directive works with SPDY connections. - Bugfix: in error handling. Thanks to Yichun Zhang and Daniil Bondarev. - Bugfix: alerts "header already sent" appeared in logs if the "post_action" directive was used; the bug had appeared in 1.5.4. - Bugfix: alerts "sem_post() failed" might appear in logs. - Bugfix: in hash table handling. Thanks to Chris West. - Bugfix: in integer overflow handling. Thanks to Régis Leroy. - no longer install the init script when using systemd service file - create rcnginx for systemd case- On OpenSUSE 13.2, it requires libGeoIP-develsheep52 1674721871  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~1.21.5-150400.3.3.1      !!!!!!!"""""""""""""""""""##$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&nginxCHANGESCHANGES.ruLICENSEREADMEautoccaccbcccccclangconfgcciccmsvcnameowcsuncdefineendiannessfeaturehavehave_headersheadersincludeinitinstalllibconfgeoipconfgoogle-perftoolsconflibatomicconfmakelibgdconflibxsltconfmakeopensslconfmakemakefile.bccmakefile.msvcpcreconfmakemakefile.bccmakefile.msvcmakefile.owcperlconfmakezlibconfmakemakefile.bccmakefile.msvcmakefile.owcmakemodulemodulesnohaveoptionsosconfdarwinfreebsdlinuxsolariswin32sourcesstubssummarythreadstypessizeoftypedefuintptr_tvalueunixconffastcgi.conffastcgi_paramskoi-utfkoi-winmime.typesnginx.confscgi_paramsuwsgi_paramswin-utfconfigurecontribREADMEgeo2nginx.plunicode2nginxkoi-utfunicode-to-nginx.plwin-utfvimftdetectnginx.vimftpluginnginx.vimindentnginx.vimsyntaxnginx.vimhtml50x.htmlindex.htmlmannginx.8srccorenginx.cnginx.hngx_array.cngx_array.hngx_buf.cngx_buf.hngx_conf_file.cngx_conf_file.hngx_config.hngx_connection.cngx_connection.hngx_core.hngx_cpuinfo.cngx_crc.hngx_crc32.cngx_crc32.hngx_crypt.cngx_crypt.hngx_cycle.cngx_cycle.hngx_file.cngx_file.hngx_hash.cngx_hash.hngx_inet.cngx_inet.hngx_list.cngx_list.hngx_log.cngx_log.hngx_md5.cngx_md5.hngx_module.cngx_module.hngx_murmurhash.cngx_murmurhash.hngx_open_file_cache.cngx_open_file_cache.hngx_output_chain.cngx_palloc.cngx_palloc.hngx_parse.cngx_parse.hngx_parse_time.cngx_parse_time.hngx_proxy_protocol.cngx_proxy_protocol.hngx_queue.cngx_queue.hngx_radix_tree.cngx_radix_tree.hngx_rbtree.cngx_rbtree.hngx_regex.cngx_regex.hngx_resolver.cngx_resolver.hngx_rwlock.cngx_rwlock.hngx_sha1.cngx_sha1.hngx_shmtx.cngx_shmtx.hngx_slab.cngx_slab.hngx_spinlock.cngx_string.cngx_string.hngx_syslog.cngx_syslog.hngx_thread_pool.cngx_thread_pool.hngx_times.cngx_times.heventmodulesngx_devpoll_module.cngx_epoll_module.cngx_eventport_module.cngx_kqueue_module.cngx_poll_module.cngx_select_module.cngx_win32_poll_module.cngx_win32_select_module.cngx_event.cngx_event.hngx_event_accept.cngx_event_connect.cngx_event_connect.hngx_event_openssl.cngx_event_openssl.hngx_event_openssl_stapling.cngx_event_pipe.cngx_event_pipe.hngx_event_posted.cngx_event_posted.hngx_event_timer.cngx_event_timer.hngx_event_udp.chttpmodulesngx_http_access_module.cngx_http_addition_filter_module.cngx_http_auth_basic_module.cngx_http_auth_request_module.cngx_http_autoindex_module.cngx_http_browser_module.cngx_http_charset_filter_module.cngx_http_chunked_filter_module.cngx_http_dav_module.cngx_http_degradation_module.cngx_http_empty_gif_module.cngx_http_fastcgi_module.cngx_http_flv_module.cngx_http_geo_module.cngx_http_geoip_module.cngx_http_grpc_module.cngx_http_gunzip_filter_module.cngx_http_gzip_filter_module.cngx_http_gzip_static_module.cngx_http_headers_filter_module.cngx_http_image_filter_module.cngx_http_index_module.cngx_http_limit_conn_module.cngx_http_limit_req_module.cngx_http_log_module.cngx_http_map_module.cngx_http_memcached_module.cngx_http_mirror_module.cngx_http_mp4_module.cngx_http_not_modified_filter_module.cngx_http_proxy_module.cngx_http_random_index_module.cngx_http_range_filter_module.cngx_http_realip_module.cngx_http_referer_module.cngx_http_rewrite_module.cngx_http_scgi_module.cngx_http_secure_link_module.cngx_http_slice_filter_module.cngx_http_split_clients_module.cngx_http_ssi_filter_module.cngx_http_ssi_filter_module.hngx_http_ssl_module.cngx_http_ssl_module.hngx_http_static_module.cngx_http_stub_status_module.cngx_http_sub_filter_module.cngx_http_try_files_module.cngx_http_upstream_hash_module.cngx_http_upstream_ip_hash_module.cngx_http_upstream_keepalive_module.cngx_http_upstream_least_conn_module.cngx_http_upstream_random_module.cngx_http_upstream_zone_module.cngx_http_userid_filter_module.cngx_http_uwsgi_module.cngx_http_xslt_filter_module.cperlMakefile.PLnginx.pmnginx.xsngx_http_perl_module.cngx_http_perl_module.htypemapngx_http.cngx_http.hngx_http_cache.hngx_http_config.hngx_http_copy_filter_module.cngx_http_core_module.cngx_http_core_module.hngx_http_file_cache.cngx_http_header_filter_module.cngx_http_huff_decode.cngx_http_huff_encode.cngx_http_parse.cngx_http_postpone_filter_module.cngx_http_request.cngx_http_request.hngx_http_request_body.cngx_http_script.cngx_http_script.hngx_http_special_response.cngx_http_upstream.cngx_http_upstream.hngx_http_upstream_round_robin.cngx_http_upstream_round_robin.hngx_http_variables.cngx_http_variables.hngx_http_write_filter_module.cv2ngx_http_v2.cngx_http_v2.hngx_http_v2_encode.cngx_http_v2_filter_module.cngx_http_v2_module.cngx_http_v2_module.hngx_http_v2_table.cmailngx_mail.cngx_mail.hngx_mail_auth_http_module.cngx_mail_core_module.cngx_mail_handler.cngx_mail_imap_handler.cngx_mail_imap_module.cngx_mail_imap_module.hngx_mail_parse.cngx_mail_pop3_handler.cngx_mail_pop3_module.cngx_mail_pop3_module.hngx_mail_proxy_module.cngx_mail_realip_module.cngx_mail_smtp_handler.cngx_mail_smtp_module.cngx_mail_smtp_module.hngx_mail_ssl_module.cngx_mail_ssl_module.hmiscngx_cpp_test_module.cppngx_google_perftools_module.cosunixngx_alloc.cngx_alloc.hngx_atomic.hngx_channel.cngx_channel.hngx_daemon.cngx_darwin.hngx_darwin_config.hngx_darwin_init.cngx_darwin_sendfile_chain.cngx_dlopen.cngx_dlopen.hngx_errno.cngx_errno.hngx_file_aio_read.cngx_files.cngx_files.hngx_freebsd.hngx_freebsd_config.hngx_freebsd_init.cngx_freebsd_sendfile_chain.cngx_gcc_atomic_amd64.hngx_gcc_atomic_ppc.hngx_gcc_atomic_sparc64.hngx_gcc_atomic_x86.hngx_linux.hngx_linux_aio_read.cngx_linux_config.hngx_linux_init.cngx_linux_sendfile_chain.cngx_os.hngx_posix_config.hngx_posix_init.cngx_process.cngx_process.hngx_process_cycle.cngx_process_cycle.hngx_readv_chain.cngx_recv.cngx_send.cngx_setaffinity.cngx_setaffinity.hngx_setproctitle.cngx_setproctitle.hngx_shmem.cngx_shmem.hngx_socket.cngx_socket.hngx_solaris.hngx_solaris_config.hngx_solaris_init.cngx_solaris_sendfilev_chain.cngx_sunpro_amd64.ilngx_sunpro_atomic_sparc64.hngx_sunpro_sparc64.ilngx_sunpro_x86.ilngx_thread.hngx_thread_cond.cngx_thread_id.cngx_thread_mutex.cngx_time.cngx_time.hngx_udp_recv.cngx_udp_send.cngx_udp_sendmsg_chain.cngx_user.cngx_user.hngx_writev_chain.cstreamngx_stream.cngx_stream.hngx_stream_access_module.cngx_stream_core_module.cngx_stream_geo_module.cngx_stream_geoip_module.cngx_stream_handler.cngx_stream_limit_conn_module.cngx_stream_log_module.cngx_stream_map_module.cngx_stream_proxy_module.cngx_stream_realip_module.cngx_stream_return_module.cngx_stream_script.cngx_stream_script.hngx_stream_set_module.cngx_stream_split_clients_module.cngx_stream_ssl_module.cngx_stream_ssl_module.hngx_stream_ssl_preread_module.cngx_stream_upstream.cngx_stream_upstream.hngx_stream_upstream_hash_module.cngx_stream_upstream_least_conn_module.cngx_stream_upstream_random_module.cngx_stream_upstream_round_robin.cngx_stream_upstream_round_robin.hngx_stream_upstream_zone_module.cngx_stream_variables.cngx_stream_variables.hngx_stream_write_filter_module.c/usr/src//usr/src/nginx//usr/src/nginx/auto//usr/src/nginx/auto/cc//usr/src/nginx/auto/lib//usr/src/nginx/auto/lib/geoip//usr/src/nginx/auto/lib/google-perftools//usr/src/nginx/auto/lib/libatomic//usr/src/nginx/auto/lib/libgd//usr/src/nginx/auto/lib/libxslt//usr/src/nginx/auto/lib/openssl//usr/src/nginx/auto/lib/pcre//usr/src/nginx/auto/lib/perl//usr/src/nginx/auto/lib/zlib//usr/src/nginx/auto/os//usr/src/nginx/auto/types//usr/src/nginx/conf//usr/src/nginx/contrib//usr/src/nginx/contrib/unicode2nginx//usr/src/nginx/contrib/vim//usr/src/nginx/contrib/vim/ftdetect//usr/src/nginx/contrib/vim/ftplugin//usr/src/nginx/contrib/vim/indent//usr/src/nginx/contrib/vim/syntax//usr/src/nginx/html//usr/src/nginx/man//usr/src/nginx/src//usr/src/nginx/src/core//usr/src/nginx/src/event//usr/src/nginx/src/event/modules//usr/src/nginx/src/http//usr/src/nginx/src/http/modules//usr/src/nginx/src/http/modules/perl//usr/src/nginx/src/http/v2//usr/src/nginx/src/mail//usr/src/nginx/src/misc//usr/src/nginx/src/os//usr/src/nginx/src/os/unix//usr/src/nginx/src/stream/-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:27553/SUSE_SLE-15-SP4_Update/e573f90e36049fa20d0ce44f2398225a-nginx.SUSE_SLE-15-SP4_Updatedrpmxz5x86_64-suse-linux directoryUTF-8 Unicode textASCII textmakefile script, ASCII textC source, ASCII textPOSIX shell script, ASCII text executablePerl script text executableHTML document, ASCII texttroff or preprocessor input, ASCII textPerl5 module source textRRPCwF Qu8autf-89cbf426bc5cc607c2d260a325cece5e4a808124c7c5eed2c7a7f8cfbeb067908? 7zXZ !t/os]"k%nԴG f2cfܛSg7h.,u9I2!U6`+=69T$lFyo%s) Cx82laNƃ$[+u([)ccQFvTbk(2Udf=Fhm8P xYeK M*a"AT4V>u .#a'i{2ѱA Z;8Czגb%o L 0240VCo-&0zf9Q]i/Ƌ0W@Τ՘G 0>[odh`5c\H;4lATZR&PCǻ?Շ)ysV{M%Ām!SM`%!AWޓ'bE<#" :Jr ]ײ,5vK^c*Vb㤶;ak5Q߆pŒy].#erYrًp!Ҥ&јXj2eEd$ ׊6KKGepK{y/'p9j֡19hCt1jHL𪨃ƀ;:;ux,\-@H{>@SF›!裎t_mUAyiTҥ&BTQs}I:XBmAGZ`9c~+"Qp)Gߕ51-'f8<;ܜx-ÉJaXդSDkw1l˄90x+ZٯS ׸()jk;L#v<>R# ȣH>-Jx^/%hb ?=\}ggU!Ngp1%T+x4-IƋ.qZj4-'X\Q8RZ::wdgO.{hPr.O؍#/$7V45]5;_t>h]XRk|iܗ\x&h}G[ֆ,>vԵ9/{ f/U#WC _(ʽ7ck0`]7*$ߧ-pدb5D; YTw;y͵&{K fJ2&#֨2{n F mnR(B CFQ_, Lt9z I(&X6n7*$E.֗p is`/[6)f{6I!C]1( NU0`1pLU)\+q:ޢL"`P )Ez)?4eOzg V-%@xoK- $iΟz(F,@8b.Z6Uկޮ"rL{=bWsơ:Oyԛ$3.jDBE*OԼfJc<ClWDkYDf&Ъ.X-5'r4ߒNABw Q *!2)"ŗWqp8kjA$4(ڷM2f~ s}RxZU7_/r޳@EDބcN9wJ;Y!۬L'i6k65&fp@+1@O9OV\kԪq{!4.-FHԢ8'!`"]W-2H!ˤ%꽴'KТͽ=8oF7XRyH9nvV ]w3?^ŏ!k~`*C(D˯ n,7 :|0j, G? N ¶mZݺy껋to10d~E: cKyD4hkҞOIU%Ӌ G0p{qL^ݪiit9-5KiW٘BA*rU54||b k]1UQzZ= +"p2 |ʈtwF6$~ hl$˻rϋnsI̭dOIK?FV,,uf2atj3vpp?L=S?ؠӁ{S4>hwMu׹_>M-OnHЧPC@E7,wV؆똝*=NNP޵6 gmŗDx=xbU}k3Gd7sh QĀ- jl@$TMgk8V Mx_~WԉpJ;.T]+g4!T8j=`҇ Bf+7Н TtS1ߌ~{刎J#΅7TvcdRf,^0"GΏC{B hx_Y,' vUy@_d~W wGly|1p 36ϒRxAlvT.u`C= 3miT"`}(T{ID(@kz{P9 KR4vgzg1qGMw $ *r űꐌ"m0g~~sD4jgј᚟) 24ie51#K2LcraU ~2  ci`u1r䨹d }]m^ۉBȎUQp6[W|YLجcmc*ƗKY2tm Gb'6ŵ(9:eoŃrc`1" LTt[UTn%=$^8(Eir*F,k?NI躴r7fBv.,JzQRM[|su ZXU}q%Tu5k6xRM_`]ㅸF 7b- &ϨF(9@I)y``{)MtӉ;l߼z: n Gee;K&HTm$[ZH)-E\TV %DfP9bgؼ!S$_cM_յeWyVDp$eo㤼* _+AVA MQcĉWE߾P3gPRi[/k-N.sn3cPTIB3,&j4ULXnݹ⅗gԾ|qDR쀎FWplgמ؟ tDfS;U3}#=v)KM 2g!{A4S v& 1bFq8Ä ~9LܘFXuE|CPɞqHǶ3nNP]ќ[΅8NC;iH Rcǭ˽&s*%hߥum_arD,J6_Ѧv(ܥR Ŝg57+R6p[Ep9n?3>^^y HBM35'zr)D|ᐓϷ̌ezvtϢ'LJ' {NGK 01txI­=wSs 7<[rU=ގjL&*`Rs1w^LKUM`ڱ=w$8`6rZ 0yu{ݽbf}Ё9s7e6%)P~GSҠgP#HMEN)$Z2Vݸ7 /(#r{+VRT0vz *G ea{އl XjܔZOAZ0q SdNw-G@{|2Gm1K;^F2k)IRH^yG5 Zp#+TD?.3TC} `2, bxN/:͡k;<񗊾h*f=YȤf7F{}A!.rU'o SFNāh05|][XQ!UՕeP#\" , ix?LK }{z!=<=Jn@1aQ-7Ħ@?EEfd +gPmzz2အzVd]It%"8gcEOpH9aBQC"2Ȋ'©4!R ۓiIZ9d# t\U/v1ޥeoSXQXgYѩ$a1'M bTʤ#lxETS)_O.51-X;rK* Oa |V~2]Ҕcy4 Q\ T,@a.zyf%z&$/ r23p^7!}X܆fV%+*5+$N!a_ю$^ekhM&\}H;F ǥ=80NJiCac_ZrAXS 6.Oy~Phk`૒{K.B8s o b.UDϳ'"㯧(X+V6WO ty4`EgG Sqj^?{#Z1Y2iXȊ|P%5BRq9wVvdٔLKw[~{$._befʾ0|cw;EMѪJ%R1#D4?蕏@:.uZ~ YPoK7jvF?Bd&!ǪȐz\EN*O$oO%h){terl1R Z+/YJ<65yճ)E[]$[5+iUBdl$]6Ap1.M1Mf2o`Zb(aTRXV(WjF#~dwphpaw~–<-o]e* ږ="X&Y̑Z2 ӛa ~ߠe qC"A#Zl`jVr}w)ZzQ4,g4LkY.bD;%! ,0sӴSSQmMxk?9IuynxxH9SfI%}Q&waxcK.g!vߜ30az,&{2AU09?O vkej $~M9)7to$R[,Pn&0#RIU]sl'(i(/ \PI~Tc|~\սrdt|]: MR4 ]FHbf^fj;buNmbS/ŞKS-rt]`36&px4Inv# VBy 7X-S~_u<֣~(v\ Yhw h(!hZbɖнy`X[ʈ2:&_Y(57|AFnfMudG4/|)7~H\0rP/&JAԚXB+4ta}Sn{g*Nkw}M=<CgaZCK>VKEB8aS=afbŽ,h"|%e^l O.ؚ{B% fe(,˕?g#]S^|,L?1]ہa>25gҸl>Uݹ;eT b~^9a #f#~ϒm4-$L3E>`4AQU#ìֹY\E~]d6JF]Y氖t=P llzݼfR+X'?2)Gp1( v(ھ9\|1xLO?Eih@ Lp!4KD'S͈A_> $5an!"2㵚p;cݹ)l@sc,uu}K`Q?v |m P^v;N~o kٺ4fID >w)5϶qGGI! c;b'>CG&JJQ⊂B}%H)n^BNY}z[ ; p^L/%}|2BsemLGB-A*9-09}2%3k_P,jrIs: DHEDոSP-JM]G=Ɇ8œ: >G3gL=5ç5\ʊk$QVJǶWZYD%!iuKCF׺t)^1+Y08܎=:_ՆI)H>kX\nJ8ϾVSdžKhv6ʄ"W s_a{י_o}Z⫔R@YqCeG .n4CQP>!;sF1@'o(*K)R3`S٨rFqA\Z^iHeLw#Tvu>!]I OgkzU'f_Ϧxt3s#LʻSjr[opo&wSa-H[nkmTȋAT*!j`!?kQq#R3smL~#݋*5LR:BMN-t9DS9FnݷVE<9҈ri%4dZdۓZ M"6e焟lCME#Sr\J|J._ ~ɼrvSĐTDB$tb|ړE%}Z^#L]q:{icNl1uk_iKaY])@ww~/ ݊ЭV@rF^1b[F rRW \9g;$/Cw"ŗEYICжU3-F2tխ/=xԶd\HwACu{4=dƙ:gfFcХCL!ScM;L r:l/9GtދL0owj7+TWFNFͲ8s=30Sې¢xMKPa_Gmg v)Lxh LsS7prsEvR c2ms.97"G'x+]^Ȏwҡ{Ͻ+nhDpCs&~ۃa ||=$پ>5u>5!ER3?vw5j2d;?5LC"t鉅ejYU^/oY> $/jޛ* {6 }bX7^(D뷱<AZkB%^{65Z̓,.9!rݧ }:&b 5"0Ǵ|є(s{u`z} }kjC=jkJOXM,o}Vج!KCoC!q9ϮwPUˌ8*UxA:U~ 7]Xt_`\Ie 1~҂p@@X֢*؏>ҡIj5Pjl'lhZPר8hA(_hi9[^\Xw1! 7ӑسݛgs7Wu@1^;7'[%8P\k@/)_?S$mRX0[ݞGGf~Rxa-Ҩ\Aj`6 Cq Qkn$<1C?W$5D`g +6Lry9oPh,hDX e/6a+Q͌*8KPO!0`0$;bqRA#m7iO85u,Ro݌mh.7 p)mb vvN t\T3x ~9J!kt!K*p!a] Ƞ*wa$k7өCq66V&BF`^eβA[Gͮ1&*si2ÅFX\ qcM%=sQ"N`@5`0f)H~*lހ '22qJ@Z-Z$#㡆+߻~k7lR0wЊ,M A?٩B" em< U[ ϴ +>:knIpxd$lآ %XVQ 3EAD[:9NzP$&FȦRu |&H ~˫.cjNcI7=Y3Mr^4d,Oթ>6~x UZGjKSg ڐJPbÂ4 &*6-.bmWO-Óyev׈s֩n뺶O+CKBh~fUd}cExhVR!$"Scm TW;Q L"" FJ!^wN>β$_}&h^3⟄7|FɁǧ68";r{mss9q},${ B^Ž_C7bY/S z{KSaYcB C חBTIZ·#`4}el=ZG nTQ_3ZQ`ΗΈA?L/{ tRfI>?wie+kr}e.0yswz$G|Lj[loxz`h3> RLnGwadȎDM -pNB\cn7uY# GJqMv>`o{xb"`ymu2UDEteQsk)޷߬C6]B4wOٰ`[;4|!ZPMV˞eL#:3}EmA:V8q|M_kT{v]')}_gKфi-/pYp5NKLFFY*o@1<;;8#|A&[sSQ= ZfyOs$尞.J\`0}-Įt5jeRDq~K#~%p;J>g|royظGxHPApM̛,u7?Y 'E/=fK<@' :bd͈{+#L1Fh!xy^w@Է뗞 bO7=^~[`'ZR:P(Cj(O4Gq#$_} MC3g 85}|W?A ABHWl6PkzwE@R;dHr9mUϊB٩ ּ˝_] ~ph}ovhߞ U#A^ b`E}]ʗ!MN'@IaآK/O^ZM@KR`S#2ݜs1`o~ ]8p`ib428PZ%?OϡU| QV<3u}@C ͫgbu5;w;7Zx_jmJ >DFv$W?p Ђ:þ@? (gVH= h\KFLOqiimrl 2[6 :,N:ue;m2Vl=k-cؙWL\计b-F+Ռ AlF#Q,k`7/ !SpvQN%lVd,jp/B 2S7^)C*['r'k+Og\޲: [DgMDf)?1yK2,Y`fټ[u01L`iY#'^Ҋghօ#ʎb, F2߉k΁ \c mlے@˫E׆ٴ ,COW{zz+]Nf1sW/(i޿19KL*b|_+M"ۨZ *U3n % 'nPc&rV4UcKyPpM!XP<3cv`Ir; FfSb-Feq#Ȅq#nh*ԪtBz-H Ct}雵n6y܃:eB-0GҾaO;~Xħr-F ` ]I^M"ҕY<&JX5X!(&8Wŀ 6Ns$ kS2"ïϧ-G"Tm_Wփ{S|g֯ȴ/ bh @`٘U:Rv1\x"q;RIJ3ڊ?1zlLows=\~pa糴c2S 56OTSGi{H *PSVƧ28|pAm$8s"[7~[qUd&XL7-u:O丁د > O}hgPcnԅ&̒@/ _3PDv z7@WL]MDh_TMiV8u^`?utI$Nw܋,81 [c"0Fw 3.eկH0G (:.y('O7}CcGƳpƛȯ:]"(Խ&#\ŎB_54'*q}KXRL,D~d #g~,?ҹkyfg4IE+9fi = VOĴ:`奶G?Z3:fE)zd%j_asȴ%†F:?6 c5ጤӔOPOIpmQQNLV.Ǝ>m G)\ڦeC#^]GxԠ5X9", z:@儓ǵ`9gGGPתq&QO5м WmXW/>Їw~ g/(GrVq/Y;T*Cmd\$gΫ2{ޣ3N:O#6v^%"ecyN)(;. ?餑eQ@eaym~ϗqX--2md) #mb:A%CT?Hb |R䇭RZjmˊw3 fp\iLwƉ|('9Y>ɳM ۉy gn3Va,qb\uY ϝB!g/[$ٷ*.teHjP(RY2oTaQ?:hD5]ba窐u~`IGJrb`Й@eABPyf{Xew)26Ew*Q[ޓƻ3]a=r@-CiV 0vëKޭAX%7wՀ9_m3EMP`h:_Nhɸ7v-~ܵZ$|,[߹ ѣF\ -GKy˷!:kU[ J WFiǺn+w<9Upȟ4=o%OwxђHm/[\ liTj9S{M|ݖjXk'N@!A48db)N8|(@Im.='zT$cڵ0AE^  by$FD7JnXl22S_m%>:!BҡyyAHPLr(0 LWA-]{p\+>HzӶ׌~bs8r!ȕY2FWR%Y:R؂!6\Yt'%,U`pԲ3:ձ {mڂ[=QjOm!s*HhC"h}̤oPZZiDg#w"Vs+@N"o!>[C YnGX5!eC c}m}.YN#B8P+&gQ$a"FBNe`pv~@+U~{F:(L)9d7 `#XoU Bv?‡R`E|uVA?Vu?~0,=[+?bū)̥rk&&GA[RL{ݼG+5[/Ku`=n5[vQr]@ҭymQ ~KӨN=DR:Y@ ]eL5*^xG9.+Zt#t=ΈsWuyb'Z.XY|; =7Wum89[p~8s56$8yl7X,pA'~>1o1}E}\ _qo5QcFHW xʍR(P|.Z*Gy+?%]R3 6 ȦFGȘ _CWɶ4]-7OdM/|R5!e}3jF68 B;v3Y2h3Ȓy4 #G*]Nɜ$7m\ȁp}HZEqa[<n5ԒP,:,vch`Qhb~]\˖4);ױJQВE«|WDwK;K*S~qR@`eK?=ewW $FZN>opc',VR3Bg.fIӔ쌚ZoU8ݩ#ɉx˽MF=u Ii8/*QX2a_Mޕ:HXo01|'7]x2M^7 ?P}"nB+ۑ! ȏf. %hnrc6 Tq.lo3,x ٻx|c(/LHkPׯ.wdG TBho\iZvF _@+읏b7HjBfS0Wl6֠ _#v+~E?W1;rXgT"$Y& w$6 #>_;7^`6WǪbNȑ100/ .FH]=l/ 3ZviS!W9:㦹%4)$\Πу옛Wc`S6-fs u\6.RT55sPϓ|9WΊ O5D)MDLO桁ӄ@yׁ1Ĥ܀}#__ z;JXgǓ/v9įX;: .VE`6;i -F"򔚇>mm*z_ķ5|Ä]J/(o~Nsw4QMǜtXTtgwQ`q‚QR`#^[JK{͗,zUF9̏Xj>TU8 *\|oGڏ='JpuaB56%("y]Q"W1i[H_K$Q=Vv"$cJǙt NDܬAHB !QQNSAфռl7Da#4.!͜ K': ԟINذ -r[8]οANI[ kt&_?şR Jh{>tfܩ 7 ]&>]I'd ʭE'sgGFP\\g%N#σq_O59)NAF` vuQv@sІߦkN^fY&Z.BY ZD:>Xp``SRv, aFPf#*?S1Nc4겜&%A;Ftf,&W8^nR󺤳*^K>X 3Y>O>ZT~D,xqY]ġprڲK9U~f{i\3(]N[A3ҳBJ..'| ዽVKuG\$#'8u nht,H&j,$ԙkaC}V.knuTy -Z~DI4kDwN˖~j)p~e~il`x{vj.r.Oj҉fZS\SA7ȡibd|{2!` UYSh"vneX=E^J]2B/`BO; qNU[}ȳvo@+F+v}aPLKSd&iȰWM͗4'9Qwm/h%ПnKZׇnϯ-yi2O>Eqo]Jػ {s1 N,Aj\{84|*m fP`^W_Y|kئS` bb;^%Hx,W?OV5lq^D5߹Λ˨~jfIՒOdxuv5OjZ =1>sMl!̉Ӽ]T|JAL{:~-p|@7V5LVk#yZ|يD-L=ߘ N)㸄Qo$ԻG8˄mpcqHPwRϣ|X"UDsudDW&?1Aa~a'8vE즆.z9> \| DZt;Y<LJwsHVm1Ӝ>%40=(]:[uj7р"O! Evgzf}/&9;MۦX3}$WD 8HBy|7}.5<1.V`*1su ʞ@4eBVX\ƙt'|Ѳ,/.<9_slLA>GmTF,.EN$GB<~dls 2 |F'ģI>h;Hf ]B1܆?|M)5H0?][mLĦ'?.OV-%U'j9,n V`q | kϣ:L~ʼA=g8iþk?ףF^j֭Qc7TꐒZzu p Gfl<(l* gZ_YMݚBϰcVD9By) Kwੂ~1ɴ,\vu̎Ė+g;p{3ẄW1ck=ipbfC Rd,%ˑE8- LS+fQߦT#r,h-l-I=!{=ӂl 2uS54S$jN}<sL{dN'9Kr3OV[ozY@J]HNuh|c.I<{NӿzV ytdX$Lv(ՉS]IwTQ;f)2ҝF&t G#^K^AdɈUg,ԭE$.5:llz ==cӕZu/:UEC L: CoUƻl)>`8}p?͒gjćq-6R>a"Y=z~ Z$ZY7K=sAƸ3˞=?\Y~˛aUnևaTqɩ1;U`Um`.2h<5$QU5Z^C4ҝk O2- 7)ΎaKQ*ԵH d13>7ɦ;'qs!!u"3M!5;^,x\w@JE[/9Q$8 lnGL0Xlp.s!L|er5;[s\O\1P:Dl5f+RxN GQw[W}ٺH;&#aՒ;Z7;3wb1C7xihh\636:>&3Y_j[cܣ gi2cև&;dv/G$V 8^4Z+ z2rȗgXΡ{!la8A5k"j{5r#bE.{=?A#5~x|02D.` KrzC3ŝ27#B?ݒ~.Zb㪑ExeY'~!BINv]!b+2G+u?Mf;Jqq =7cӞ[CUU^*G]RޟSyc*|7*h<%m(g0,AvjD"&wQ!e 0QV "bk^~E}|MU[e+!S͕;OVQ\=e]hws!KOS{thԾ4sUjYhZ2c -QjXZT3մȗl xUūL{ʼ47 o)Pk~6q㐹,v{P}=U! RK]GPKG|!zJ^l7shTxDea@gFR5<er#kmEe:-w 1l17kMY ܃K*--59 =U; &ǤPߟ0b8ul4,NQ oZmQ CHC]CGyI "^WR)̞n16/IluJG%uxWG)"VOWwߡc/pvOCZE~ĝ 53}gDpUぇb"Vn=6i~T3 =3Z]^,`ҩfR\dS1IohpJbXqf[;F}o 0egƹ[Wqi_ U/bh;C,cmD躟afYc7zG1ss27^8 0UO,]Luf~0g[ Ջ &l,C;易@p*F c^u"94v?ݰs ,`.\-kng0עrR?YS2*њoM=I?W扩s`#56O$B%^,ur9Ppg_c8G WSEj%U_-Gjf ЅD'̃ς\p61E匒ao{WXQAN櫼f'l)3ƺP]Id.QK"ɬ嵚^!``W媡.S@6ð96;9W2js.F]r͕ȦA ?6)CFFf6%Y̦41(Ȯ/J3,DEXi]RW>ݵDX*է]G] c"~$Id\|(/ xQܱBM< UYNhtL=m.-"; 3DV4w#yR`TY㲫{`j7K|8{l=2Qf%p 61kU`gS MBGH[DŽ\ z<#H;lfylΎҰ &3Hznn <̰#> a5&w4-+ݝlc/{S0ϐ%<Jt4v}G=6PJ3,,j#h[]\h3wET_'O@,' eپ^!v/إ!llK7[.}9e H.Cd)ѭ{')S"-\t`TҥG[EfVo-ׅ{}T9vTR]K.R+@> ˭Gb`P,yӖ{ e z]J_YYxA+Ty1mOT^N3NG*v!V9|N$EY̅Lքt.|r}Piũ[T^4GSmЭա\rmZlRsAP_@)bZ\& YԸ#+/s F-KԨ# y *RjP IU+w!!CvV;R(ZoMʳ<$5[Rm~sﵚ*g Υ8I7˂yZ!"V#=`XWPNkVF1o y-5N,QNw-΢#NADao벪OXl5@S{KAnͣ>|<=2H[gfѻiEoqČMٝ 귘睁tK?P/zٔfv'vK]|_~'75L@f- 8vdiԃ\j{+!/VVթb% )X|ע&,0..xh._ ڎ][KQxU8*Aǿ09>n JFΗlѫ#p$7[r3J@9\)'a[މg'2*oWl0@1*_y8R`EvŮ)%a':JmB`ksBW[՟oYgH#RrL7oNjv:E£ Ժ =*c@fjZLf|KojQKy+z{;?Xjp& PCe$& %鱛Y4Mp]=+=<ʡjZKCtϏ1VHl"+$F:P#dV%wMh6sNQ$3do `7Xz5> G7$ؤ8B\)! YblG^Evh͆p=-ֶL¦i)To+y!UyZy4{_V1=c-0?:'OTB |}&Id;: }L4-R T!y{}I 5QZo[=Ol=$I0<ҚF }4sݳZd C@rC B,lNm4 ;ލ>)AMMQc'^8H>z:> Puvמ7\B[Cnv>@[w#c[Z-"F~\)??!4$ 3rFx2dJ̈́_Ǿ"7q ,&:lߋvz>;}v0#BN1,ܷ: oxV8CXw?'"p_V(Ri6M33]I]jpz4!# O]y:o`P:ЇyE:sJqG 8o8]oJ2d3?8S| Z+;k\>p?`o L!1"J}fgvf }佑XF+ӱ P3`FRNI@+JVF]^-Fq۟^j*vLMtyJC}5NP^GSXnˇS y7A6iY20bG@Kt4L(o(;@*Zr!1։SISjdSjc^>I7tVnh3)6!D0τ@\DLCӎ:$Qu% 1LrҳToaU@o[?=*d p#KFRltEX2 /~Lxb !MCASCs,u;$T "I+IbU0=ŸSivث뵑/=F8i @*R@6JYr i-qĚ5( BOu^\YtǒYmAL yD 4L/.vj,5K }h:oR4ʔ4l먘ByOj,%/h9BnS nJ}ZxC3?85;'[ u>JA c+"he0*}p%2 S)_f_d`68: 5; SϞP|-GR*ؠ[{}z:jDqZ҆Һ6'xcIPvو6TRlab&J֮&0K_=ZD V;n~?4tu̺$u Tk?|̄!_PIWՋ2ZCɰq `(L'qدIC>5<=Q.%F~$!(e)ENC^_sf܏qJOR/" ^GbᤝRRa~f[4Yp(+LCE¼ہ5*E3 .gC?6'.iÞ?Km/jkgicB[;|@:J/h`kZS{@;R& _Q)C?ًŝE4(UTa}b|Խ )y:Z J3ǜ.0zm~ 8bBߔ>_ՌK > ο$‘R*g.r^$%1Nnv܍Y(MH)r_d6@nZG8ڿ?Y6`;ͨ;/0*PnphFLX*K [,$sYf &d0"䤤րt:_IMMז++AC8UZ10D=i.z_+N}H7) #"%, ;C 6*J=) ; XOl2 aYHi,(ô;q ]v\ ߆g(Kʾ` Nھm"@sS[0$;_ܫн#s E[}nċ@xְ G(C`gx4wL0BPX:l&f9NQl|RнKc< G #N,xl7sFPKσ1Qdukaݏ⵪:M:'XcɦDOyPb߻AMqUז'!\Dp 𫈀E iτ;^'zޡ șbd(+)9 ͈b&`r:fUfpCMZҠ="d2ڋytƯΜqԂj,-΅lTDjL"Utltnrqrg]/a,Yq n^rWrS$`0:3^wud(\+O+E;0Y`i6 ZW]  8[`{4sKd\49›ej!ւ3wItd8O[#[ݕ,k"[3cpww7 3X`ׁ "=h~Q?JO_L +@2-˩ GĴI2roV2Tl!i,)W벰ʓX1uom;6w+8Afe.'X9qi+JӐ =]X{l4ˈ9`J5=HH0pZ1wNWN2<& Ȯ7 lۭ~Dװ]P1!͂}J Ra2aw _3Ҷ1O0C%O=o&~Y !Ҧ/E}׎/JMagAh4J%$)F#(*8U¦)w,9IŁ̉̚"Q ? _]B>B^`(~V]18Jͅj*CayqћX"1A"uKDŽY^H]ri / nEpOA4p1w+&Sv UZ}}P'p/EӻeVRX :-/񰢼TVBq)H4ٍœ_SR#䳇)iQ]xLp;97% HژA(hVSQM41CQ9҈=2 0\&Ǔpn"8`1PRI ŭ0 )U!*8T@(߭-ZX{1 aR2HȖ- =%b8ˤ$>iW;*R,ƺzDg BaU~ڝ6ABWVdƹ5M7>*#&TJl/RM~1/JARʎ38<`M%u zRſOM7#ֶt#r}2݅qiK=zXK5I#I3\Nْtfs 4\~ǩh0$6~pI yAY&'n~J5WFf/MWo\ wO>sƋOL8Z FiSb^\gx#sjd~*JZ$T, EC5JfJ,%SN'?Afٵ,>ST[Lsِ^[[ckZڐ|d_ E/E*qBoD/vnrf3PgLF|BAs2|YPr'ͨւ[ } ?`7Gs`;lrqs#F(ĺ׋A?ߜab[#N ^aar8(ֺkP&X۽@ޑM5m}*!^mHk*x.MFbKHJfE7rУn$uM|EZx܋,6tsB^&M,t{#X.IhM?ѡ}& 3tlgHxV#ꓕ'ȗ n҃(òP<C'q[ّPIR 4ZM14YzHE4ny/=ǀ*gvpDG"!^gbj_F\lp7:vcW=d`㜌S^́lcL-G;׉yGV/{{ZV]@/bM@7h'P}\r~RM+@gnNxaMh6zX |?Ƃ${ Nt{@.RR W؋cmόی{!3D6Y:u.D 3HRup[Eϓq8b츉1I]RgCI|tyYKDJ5NOrS#Ǔt#B#>͠.!%S v.u3{! qMۚ2)lwRTO O^ e~OWuܭ'./]D!]xzsyC<^fI71@v3O o0pVƃ p# X8R}¬+Ztzx̦!Y)"ڔ;i՗a>78҉~' Bc\yKYwxEeْva 桥2zG3naT>x!URaLv?~lϥHq/4- W >\_MbC%YLEY!6즩NJr{$|d.Ԕ8s죵¸\vdW-rln=jasE24BbT1sl6Ÿ5G:' > cJf +:U$zPwjR鳹eO9e-_d|qwi#ĭ|)fl`H^6'k1!q2(&eF#kkkC#>! g:4g@ "H3f uB/ 1&Dإt'CZd & PP-^ ln4x[Ƕ7,+30cI?1ӥ5ƏO d_ e3y4tFnVu}IhyUHzI:ʀ8#$: ~Jļx\V~>}4\TvrovL=z+Ug$f ~3P{Qj5J1Sٕ-ܖ>&oZ.*{QG>4)bxsI~a%a@cȷ)noFmw ԋ0)V9 p{+GQ24P Al(UҜa 9§YBFU0Ƴ7(*ljݙdT륽+ye5+)Nuڑ|K#E9;eDZbȋI|cg}zf+#ܒʻ1 ۪AMB!QiضDsw910^3My=Tvcf3zHLC! ȪE4J#Qk6^sT'o̭ҋ+s:X7I ن3tkе{pQa߹;s>=$Oo b[(R(˒Ǫi'ݞQ`e:t5(TůME&bj@Xeq3g P$iJ׷}~1Sl=!9碉7dpr(2QZV{^fӡH*tԯ7S&:eIc[QMʘ; 9yΊ'c%`S6N2@@'}S.P}14Aupy1 7y 茍dYÌg&B}/dHW.BbfYB3RӨpvQY"H0H0jPM \?Sw ğȣVu;nv9CXpz驘Ve?K yiAl >8tG3xCE)`V]۹gB|{3 DJYs:װJ- "μJ-ߒnIY7 Օd;h#}Tkwmnϧ$y.1zӟv\8 3ӯ@ S;Š@\ ;F^@5ةbs v3әzp}Ui+gUL_|g\[PZ.!lHz2e4TʜHb~-Nؼ޼1b2!BAnRO$k }nb&ԪR}_J}t^2`m7~VKͦ}8<ᮔ3UQuS7O ;fKjmPB-n5I`fSv CS632q^KZ6ͺ'?F]2oLRr&Y>QthHѭ*c9Dl%W/ljd;TE84OVY#TxTy 'Α Jc2.J"WYF-{`nJ}nܾ\6cme<*<ф+V]߫hvWyQ6a24/-o;37M{\۰|rG*VnZjc'A?6w#d:^iBr -ʎ0ϊGjB 4TT6[Y4QMcBoHBI.Cޘ ہEԣ=:B [g?[fu<)*iS~b]N:xBHw6؍4VZ5W;] ү/5AXj,(%ih0FZ|AZ "G FG>!0QUg%>U2E|J_RzF 9˓btg";RRwDN1Lz޻9k^80r"Vny?(QAt3mE+ RQI@6Fq$59˩kٛahvz!33—APشOs,جJ EvP<8#ěQ⇞Ml 1#r忨yHHAAmqadU2!ϒeK>hmzt BDոF~eυzNNm,bzBz+1*}N]o=sNX:&;w-tE=2mB[#BTi{"Jjl(iP֤q>ik ٟ~ݔp,W[P4,_&f!Qq(|=efяellDqEšN.#*QL6guNx Ƭdq kpsIhElg\0ܮboxɋ7l6pH(MB6YmxGbQ߆PR|S<"Gfv׵{m#<YBJtl4vT1C&9˿B1DKwc=_. ' @{ kXHbԇ\pįTWk]0{!MGRxA#@(ݖM!ܯfa?$ rڌdW@/і5E~|_^ohꄝ5D_[G&GML ۸3]ޛ(\SZCZCj ["˩CR@,^㷻8asɋ?xT縁Fتkso=L}ÍRjNFsLK܋S5=<3ϥm(Yʼ꛰<~O`ÒIEw;wo52&yZCB{?˜ #Pس/1:N*/QNv3:a aE/:v1^lY1ؗ{>o雋+;x-,PsKQ_dE\%:qP+3a*Ep>?߿7Bj_8^U^~Y:7yvZPݲǥe>Asx} 23sX_% EGϧ&TǒIDh03ITXo ׋=ySЍ2"W)hi顃3;ڿY ECSj剀h1=X`vP5Q"&ip7CY◨޲comXحkMlӣŅ`Xe@n:doٕK#.ALLGܾY5!i*oj_5|n*.A9.$ Z0+iRcI*A_XJvnME'c&Bkesw:7FCK_'?kC'dtX)c#8mo6Vy1c: ~ D4X(f4!m%%>NCv˟ƇJ{迁6Hj'Ipi9Y"$t%b ZHނK+yCd(ub9JSOUnrenZ|?ADk:sf>.P΢'6G` tɽԂk_}[L_~~{lU ?_,Y)Eӝ $+*{*~aǿ텢kp~7inw=QO4(uck=NGE69)IA"Bx"*%B^) }k4al \7ifsQq`IZE#CR x|c M(H§[ut)bai֑~szk# 3 fC7ݟH B_#(jIhK}I+soMإ(E,B4^GOI'myLƆ5s{7PXHZA׬468IFls 7=l褻黸/S ڈLޓ2?Qz' /Wn*r YwtgiHOY3[ @`iQ`B1ugb+?c!"H`8$˙2/P;UGqdBʇ>_rlr HurIN sw &l?'Ìc' M>yI zTɓ. a_n(~5#;s_@. tvJF68#`-A;*X誙کr@[FFѲl{*SeU.od"%k*~}JEp檉(PPI#]o+4:8\$C ohfogxtm#gjG8]|ֶf3غ˂~:6xs ӥv4C/=}LV bE6| HD/mg񴩷856=^#ejDF[ u [0\\WyCiw9?g|J9u|ou#T;~IOÞc Oe_&dhyDX&b{Mbf!~?|9yz|ZHW&d,0kw xDG*CQ ud4"Ӱgヵ-$bI? $hmFR]}+2w"M 㥵v7*g<~]kh%p4>czOuPbrn<2QdsAc%T69H ڱCF/e{JTF\4;Mٯ/8~4$[1_Qo&Ks[MTE:k u˰ Okj cCKMl;®i.̵Ws&g(iEﮂ@V+qO8 'H~;Z26hs}0˴(r7`Sv+_u XsONH*BVㄵȋ e~~/tWUdEI}.0 rʽ'2I.;_N: cIDZ|_QLdVHSYcۉp`WTM,`N-n oz,5|$MEf0}+meE_ͬgnDb \.!Ôe~H"R|,䴔pEQoV2􉝙IG`ق-QD[U'K²UsiH3j? 6l(WOIHpUgM[ט5[`p.|`]sL`Btٝ]`+N`'C$ w|IHBI+&[ OmMR'Pf~zPs)$)8oc 9X6aj {=k ͐MduV#GVh*")c وp'  %)x[fi3Fw#`3N0⫳@Bbo j# p\¼LVc`F vIB!Y-# Ũ _ "]e0UW \P1v3|4|m%/qp \[;_]4O Qo(BV æ3!֣@nC"~[}OR35IQB]H x&YoHFee0`d-kfYԆwN:}FYZrֺF<a$g9@y͹L5𥇞}q V_,[Wc^IP+%hQK%񎄝_Suޕ/5cF!HWvmPMF^ʙ(o~~$vJPUFN UEfNvIwGXp[mDtG6o 7?*‰\cPV?m7Krϓd̆>|?jJs;A‡Bʻ@0cˁ$_i<%CveۤgYxG^IWcKaYE#23{ZhgR(lp00 6d25Jet8 A= ]_|NcSR5(tėajJx 4;oJHJ .g.B%˷z $5eMXZ!N/I;̢2w,q/w-PQab"Sh6*kbV6 #R_9~HxIܒe\|GT*PBhNT+ pvs ?7恹h#M5h Ge@%f 1!1 128u{ZG‡/' n6!y3*ûMgQ?0pa>fчz&/d*eSxTYsfuZfp5mRz?pszA&QjKTKS?ϵT?V:"OEK]w쒞sx ˍ$n+Z./Uqǧi1=|=ݡ+.L97v~eA|@ECGZB>ꥵgU,Fg/؂ )*;vn:!Q:O[Y'pL+s0> 0[L{C-c!+J'3MXdШ,0V~)bt$bH(I ս+]%5”i4I  D}H\/b|`߲CW[4y; ۈ]9ce049KyKM8TTW6ӄ׽*| nuƫRyO[*Iz&]N@e$RsBDyītǔ;u3S3y n{;n.VLSfGKh*R%=i;2E?yp?DQ;%\N+k,nW"gۦhUN.˜OQ}TBA;j$:s|keG)*y@}Χ-[-Bw`aM,˰ 2Ir 4xRa:)#Ieg}Y%ޑ# R))N.N.R3x JQa|VH6{\WrzN#dYw_/)kkw 1C ̩~dҐhuN`W&afB#{դy~MU%黮 TuD O̠'XD6˗NQR='1+Z!b^Oucw'\md(453DB#z3EVJ>{ U׹1ӻn"c6Kڜw{>wJ"0ƷS#T OD ᶀ]RLb2'I ޟ U1f\]h$Tq X kC؜ 5Izc>9mjv'K+~2ir^±~= k \X, tR-` DlNs{~,79 /ސ`QKr }>y)NAh}АR8G2LNgW\ 2ϕus7/+ptDd _H t7HuD1rO'cN@Ƣ'Qz*pV3qՉv{-| ‹fFqʐ.bqF׎ᐮo a"1yROs㿕8˫mؚS\dn u2q66[a aR{`Ygq0eBiR"qB>!.%+OS,"V :,E+Ʒ$[7}˴]t lkj sHuUrtea%{OUlQj+,'bP;>TI>DuJ՝Ϲ쫒?57ȽC ]QQ2KOO,C̡9Z3s*bk=:AoÚf`X0a.s\q[ rh lw|\S!}37lj#bwLd? ;6-j%iLYs֎ _R!]~5=UTJSܻCKxӆR(͘8x4n,lk6pћ5RvL3ΘS'5d [.>ckOaS@Āׄh,ߛwꋞ* D~>zL;/eNp"5㴋gͻ rtA1@Uy-.C6{W=u'G% Pa{&`سz eq CH7J+ \l"3?b mrRΊEfYS>1 ) ;7,̌12!6Q>K@_HL~!;Ap +vk/c9xÄ }R#O%pb%>&|ra#me3t.tЩ0*H˒7+#Qu>MRhBؐ;+Du(3Rzٚ¾N1B'j$-$&F:]2VYԳn{m'nIKݧ6k\ StB 1q1ļX߯׉H'w4R7!.<=9]î:$|<3h-`!4jMeqfD'tXb4P?ɐ'QKVoV\"4B򦜼Z0܄{wi/OP<29=E\#nZ HwT_-5E2PЇzH8\jC[Q{cZ|Z)]<l t7H&S"<2ʬUrI{aQVW[DJ# RFn$=%&}aNK.#Ã׆2ǙpFjFYi2XM| ԍ-\}x_)X8*Ԁ=W=cv7Lĕۇ;Zt-6قuSenim$NUc ~"xc%T惱T"/c]M1)J2;;om2&kLgwcRs%z՗L/:>L %9MҜOc$Lav*=Dv@4D:[;l2ٜWt(ڂ;Q*r5y|Ц"Bc LD@Eðv:Lqe>OB-&ZNa\F&Zz8L {J7%d*/J `8FFkX=6XyP9?d65YO?c~"qjg{/_-U~fKML)qLw6$R@x+O] .}5A={9&ĵL0x=J3t &CyXؠNXކI6fJ Q-Bfa{˳oG,L9B]Q5kGGpv>fAP~2,F%;.('ӛs{G7,UdهټLZmF6-Mog20?h&%7QBg =M%"$;(GUt۰Ȇ7GJFi dWYSPh/?Vh9TK2A8 55by)'F'ImCW1P/ M6iɆKx :DPV#* h0R`ysgq\hlX g`$1[.|B5GL@G8c\zD+U$Ed(0o'OuH#mцUЮs|_>wAdߪ$7"8Es`WI >m'%^Hhd)6SJ2)І<:k}Uc"B_M4}urjPKr pAr)u¦~xﻺ7*2˝"*S vÆ߅M}j׌#Q9!*Xd|} C!0"_ ϮZ"l+`%hhw-5Մ 7:ֹ<b1-f,emќ0a8a5BvXfSAz˘^EP\UKx w0Lm%R\~&O(wt %)#E9 ]q+]2/YҖ=#sgiI+,!ȺyI) ǒ]jniÑ.iC d8[02*@J,bN=N~UjF ŎV^9XY44 }.> 3F"{uL05 :_9jKy's͠X'(h\8a(7h㬄,hXέ R l[ժYNq]˙V)FT5udQQ깤+h6Op5DQ 0e]u%ՙXҜ=`$V^gi'=(D[{*'h,j.hn5٬"rԟMI>b J4=֎dl,Wt6FЅd2sbVCVMኀ~\ږ]}Kٛ'p J ik[]rOF;twj68 ǖLSqΆ$ qۿ<$xMݥZ%!#N}$:wO:k4 RM6U.FY^K9 9mÂy v|-Ӯ {Өb1Qjh;^7xm|HVPV {CA2^AXg83x}9}Qq0jtŁBܝJ f/*7ǖ捱7%9wCRFw4Aq$5Ykڜex=h1u-:^BtW>n)r n9+^!B*X@=0r .s]n4Z{2@aPDMB:/$1_O6s{NL JZ)*df=\2bk6o>s=<%uF<:WziJJ %/AG߉f؜rm8 ˩)'WIٛ=m( 56*^)rQ>;*4| <ãѫ1r qiZ*%£wC,8(>8~#'crP|V490R({e:j[=鐎7A^~owG >U#Ћo)B?-j6WѢ/cj[:-sKw?H6DXm-RPp;B %$%T GvoJDdZC !`b|ءC,D,D%:=XyeUPDs'"g>mt0#MN[sF/(~V`?o@9ns!S~u,'D@R-2pX͓x' ѱv%8qSys ĴV hj <0upbH+y!+W6<5[>thI/TC'g-CFz<=͘ u< >Õ 5MF=V5atxƯ O(xQTr2XQX5{ؤƹDcd;'ՇjueoL"4FacZsMXc(ݦ[(u9%CX7Ѣ_A1յ9EkI@>\n> ?꠆b}ϠqG)K;dCk|vԳwXViH&\tP"aK,Z:d&BznrUa9eV+_#^ '+lޢ]Q)u6= 6sF@?Tk*mk2ɬbPIs(Y-gWrs̥*4F4xTw 2I쳯dnAgINkS:f!3+sAV~ &8P`'5-AnBuiJOcMa-h8'lYpsQl6 n5G0">m7HVe0=bn!9z0ܰEHab { ( !w`4z+5p44f氜j=AhY4sg絆 (BD~(9٠;51a2^B@4Jy.usYIb["d8 Q M姀HЧdkrh"gn2W5 Ӻl VG`4oHX$ft?b/ƥK_'i}2<X6`9NY UG:C4͏R8pMpRz[raJi~$̇RЅ3m=d_![jN Y]W6Qkc=ztdqOܯxFsR5k9'@k %A=2`mNoX4jLfD _e߼I?^J \LJ}O,ysD~EN 5#dII)# Q - A(aEd?~o3m7.t)Ϥ2BJb$Lvk;^Z`J,R]D}۞6(Nl"Sd> !ZfI}~~#0@k:`TT fd1$BN zpoeE'}}TRRPiRr #^8rtEni\1]*9; 4N̠͐kٹETTY̹m*;@ w?W6ğwbN\eW@ m]ժ肷z~P=X[%)<ÔAH6Qg'my&%bJh:#6.,☘v;hu9V"s7K3e*# H<ʐ {/NcS UKJAUyCNfWy&/یY#I٥~M  JM=J_|a& y\77ڗ"kn8MnMG#EEIٷl 0 EL6d )y9ʜI`~-;>0Pv*Ve?HOМ]2 :AcHBʔWhEsq)}HW_C6+}-Y wGbSl@n{< 3w7iu 6w@S pST Dg5$F'O18"duJМHPǹTsיSOwޮXn"(K䞯nf?ř-!kļ 22i3N6y*Lw;ԌMc rX倓U5[eYB"ZD/Kq+TcGK:F1k+vW>3g$D1`ujoyԫ)8t#;<`q{ixIjn=9;+~*1:Lz:J-TͅXSҦxѿ:=lZͷz2ew:#zcLS ی;"Q5p\ߒwKqFCoARqXLN RjMj=3g]nne?Nᤙw3cKLoahr0mdHI>ghtJ[S 7Cl1l֜XH X9d7L݊$Н5{˞7s pvœ ,BGualVG)sOoz$厕 u$ Gq"XI-t`0~M.&|Л%auZCGoH-;g$Ul9cvAbɗlS`ShhR*'/ih^(Rjgw"~C<6C*Zrx{m(=ߠޢ)Bڽjs`+&2$Vj!ڥ}9ȝL&P,$xnl$ܶ/s ahxx-VL!STDX̂ÉSaf3k>=Xj[~* iD`pPu,Sg8t]\,UWoDJP`@'ce_۩,"͍ZP=Ǣ9|5e!Xr*WH P=>1PH6!&'zڤ`yQG6K g):TNO،Ĥ"M 5w ~PYCLуp6:w"%d5\#pۛg&:f@H5;hnVBX-VR׾T/}ax{lP2 N3$ӸycT.iu|{9XPZkIC,Am6ilIS1deĉlia;bs@f?%"kGp$1[ [B Ǐ"cbt(Vw;02OS),l+"w84^^ˁ/=Lcz SF䥲#5 L(Gteydqx ȟn6 (VwZg uQq+2"M {7tsy~ 狼Ar\|xY_B}ŧkQ*9w/x;~a\xƸ[(/VNJJs 8&& eZW_tS<ͻUdq*pt'=w@y1v )jg3 =$ՉQ3ƗA*"fs6).>n֜{/8_|4vRj$>ӓv)T'VB~jnXJt[iyhlTbx( )@#qn'۾!5ۥPF_f$*/JIqy\VY\5oWdra}z[P黼s8VܧNZ9ݪP cxϩI3£俺laR"W1zګ$xWxGȩ6!o}whC+oJlIjEH7('ggYsuPz|A\g0G@Ha:yL<NJ1-=GhpALj$ %;̩on'zȴQez+Ј#عMmaln;6JqR> Z[~,|+ ޗYC|1\-+ju(4gΡnC)n+ Lgv"ϿkG/ƪrapN97 JE݌YtK׷EQ2*S6|ڈ2p1zS$ >aKbc3jRBq~v>nŠQi6&/?y7c\G s;ٽpY wX}ҧ'hV9N]e=uwVt;NW=`]ӪZ58ʞaOk=_.n?uz^ppc'&6$",$S,G R.`!hx(Pr940~W` 嚅94cKcom`n;Q!wUƖgЙ'L$8R/mghcc{)y +)\Ƒfߥ`Y;$?Qo ^ByqЁrƊ*"\h~f9;vXUL~pۯ2+de,. Oe&P$ù4FF|"7[WlEUF(ݧ Fg7I0 _LB}Ojr#נ@j6,H3uB *|l$iٷ.zu4dc^7$o-dUEpoebʵT\{g}mJT _@S2/v^LO7ځ[(B1ʈѱb?"w_*yH@ʄ1KɟR~"Gj8ObUq鄭ԗn67u>w(%KWDݐ4 [i(\LW?Q=hӦM/%~)Onj\SxՖ, Jc͸ɓb>&`B}k|Tʣ}gv"K@"8mDCov34n+ҶӫV꠬D$ )hƤ;,#6+ԷDn5.1KIz+[40RB} zZFwlW֖銖PT|Fa1t"XdpV hb0 rnB)f$-%:"9cj,iVwϫ7B;1,=#CU07HR^˽/,Ym71mxm*Bњg.cB"r; NGN7e C9XJeX:Mg-CR1s0_XkKԣ ;[OÀw=6S95 'J ulu]E[Х=y9)Z0T2[{xtoJمE ΪITr`]exr/OvUmd[A@CK>@"]H Kp)0L19N'\=`y1O#oNc5C|3L<< *JGe% f[Y#uNt4pp _J"Vm8Zj+D_#r.,~X5l7.HC{NndW$r0 ,z[:al&C6s7hؼ\4 -!jo gKL lqRSJ*̯a1aTҚY|\7=\ U}ju#pTA]TVMUY$w|[@q\Ee˿Dnѻ$/h&t3+ԈˈY=ϕ Z\pfJ_G>2}@9yl!*pJw>|i }Ny].gN,)GKEDl`m:U34f?5Ƣ|H3 xL~0sBe>gGx&mc2[m-^#VKAY.v!S_,gi?("\yܡz%yQ8Q{ތʚ5?V}_ڄe|W$~J 6aR;7tHըH@2]go\UVR7.ho} tٶGTn&NPqT:b;umޤaJ]`lAG۴:#} `dž Yw,"z|K} 0zmzJq0fz{ 42u@7@?~ VJ8kҢX)6CbQrZX T^5αI% 3UlH#K]ȆS`dt '#pZƀar[xtBiI;sskSs2هnmP5S*ӟ!Bw˿ۚފ,1b9v k !ɂI_P(f֤cTnj&, i R5 =1r2)~^ k6^Yc߳JRٷ +AbfwR3q0Ppl8y!Zh k*^+q W^w]UGTo/?bLJ]Y^QgD9l'#e(]'B8(H>S!cǯs1ZR袈5Rh(lwj4ҷj| ,J72 kmd Nz+uV^ wvQl܍V:=G@&z>׮_+8O"QZMB_Eo9CL~$ק_ء0Ȁ^s+-g*DŽF;I8..ȻH^rReⲷ`DYzR#t,s?kqWȁ9~]V>qxT>J`bVZ|gDHh V/m!?A\!R;æ:{qݤWw:BKfsp=?$)c&@B5\?+X螩_>;A4CaZJ\=2{C:ЬicsnZ 6IEu?cĉd'`y<}ȀXk:s' H/i2ERkܠ oEULD德/|`5kgzzkSq/HoG9Ӯ,)1*b !uv`>zC\sg!#;T7bx{ueㄜkv 1GB7sJu_L+<J6.!(6`Р j<5+ik>k}v ,gOSM:Q/ 2QQcD/Я`p[4Pqj7ă$"0W9VBdzu$d_Zlo870݈AIIp}=i``OH(תe=QmxgV7uXAj@ɼLч~r" >4nd:AAf[?wЎ2^8=ؿ %Z^;Pg`J/d0}q;i;2] N</XWi1Yuܞlqg *Fٖfl>UΗSݼ8c;iD3IFt OIgtF#صǀTYN~u6–J|M{8We R?OvҮ] LQJ}8TMc_4l:6AEO[Gzt[;ۀ`$07#tĂjUw%Qv<6G %mB Vo+{ (LVvΑ- 5YJiUc]*0La(tBwЯkvn+0wzVgH<3* IJ"WAٳj?F qz_3d<GJA{PgBb0><-ԴW iY|i p8tOϼO E.攜{Dr/ ;sG'ywsxOĥUW_딬qXg3^,xOoW4= E/6-֔ѥF}H|2x$J<}ՖOK⣻f#x,uoL?*4"]@~ ^OCBYeGCFwAC`$n'd蔇j?b{ vTUYх֭Yr^5.eG)ݟb|A: C\ F 9pjCռ%?D'9Ly[S8iij@-cJ3^ U,z묶֍̯^%:gڳT6|łL>GU?%ԸR& GZqi[vq9̧o&&M E2Ї aF,=M)jG  obCrau=OJ-#}@HTL bI-cl1 `J;&s:ScUȠC&D@rt\v+j%v/=t(q_$CG[RP"ڹS?P}^8= n7 ~R.M!9 +Bn417OL`?H#V059űiDAʼeRS UFzR) JB3ZhO_B(^BrS0a.HSi?~1^GZ]tߝ&|^d#AdЁkxP;{ v-Ŵќ#$S=Nh jP,$/Iv$)]U4Gz-Ȃ$R0YgRtk1==ALh4n.&GW\0;؎b`W$ %Ȭس~UN!iS@=02vyzrc#=RqiS:=yQ< -X^A fvvSԔ!͂}S##@ oǡ-o= Y]W} K͕ 1eCCICDd]}G\w{>ֺ VdAM}e3ˉ\Qoӗ/2}v7fH鯻1Y~~SC5[,F}^ij[$QnVwiAeqy1m@@CeikG* PPɝrOS"`<9q'ϔ>6+i"a VoG`<^;ZctB70wڄ¥=FRs>*kAĦW`-9#-UFNuvMSUrg>ž>`8Ob4|4ۼj0Ċ:+0ax"2#1%zk)O~2B0ˊhe7@5_0 QGpF qiۉ71%MvGga*s)Nˮk1CXl~dX$N apZ[.GW۲UKm`+g{(@@!FhҸ^9@$:E'_\\~ “~EBL>eӸ'<80w"0k(溴X?ͥB ]A\4T#跡J lLN;` .ój,QJ郥 WEBԄхzi,f)eBvqzWUrsƱsK q۽2d@0](NA|ff3&Hʖ^{g1r7|q@WRZpI0(΋ͬ(P ~%8$G(Dq*-W9cWZwDEtjq ,t Jxǔ:-IF$2:*RQrTLjE㐙z߉j41#h^Kߘ3:}Zpdw%^Y|65SXbLp EM3ۀeZєEڭHmhST'sfEPfOs< SRK_xGsR8n۱S^tm/EFs 2/lXL<L!z%%8c%cp=/ ަ&Щ.1JcI6bʰd:c e:%|4EVV%V>;˾17Wk^?trBupx6 Q98ډ!ꬎ"eRb{YVn%(<Ŀ, l\e&ҏ(CZ*/YcdhŒM!>~,1G~Ad!|H:1z>:A.[Ѷ(.ݜkPJEE_U2OgZ0!He6 gMɏp=N)z2%7mqn0TGUے{y{vy޳1 ,-(I}"c4PsmR2 p HPȢt*~)}p?ו 8/ DA\M c[Ʀ;wi>چ}D/^c@$M\y.pk&_?laO6 a+e;U.81딼) ,) | LV#[=wG_;Xiėun?bV4tGsi58E)8qlhyp]S,Q~MzCY/kvSA1(+٩]^o+6/xK GxM+ɕ!q,!9 N J۱gUdgy!>Brb!m?|*TU"ͷL%ynO=7:'cUŒN@q?(xiS YK}qIfSLsfFw@+] QLp0=Ng>P{ W9wb`U`U]NݮOJ^3=2Unx}\’iRPs4Nz)|z'`.u\] ۞uʽh^ #`w*2"I`ADX61k|$ciQR}^czn3m Efk/rZdYLUB @F.T?.c8Fkh%)c/Mwj ^5ə3#Q?̢}JQP>Jd쉱4x']Mh_tb(2|0*ZU;.IFJd##9E8ri-T/6QZy@m.*s|$gj bLc,:M}.H)P*7XQ:HKIFG|: +(T\²9p u˱XiN;T|7.Zy߉˪. y<ɱ"AG"FR m3C3ii^J55n/\g a稊kb3S)T˞u|r2%78צJ'>2z7 h͙: 3πR34WuqNF.|괼ܔMU9 I b|#YC*8j!/Җ~S;CY{sǝG,xaOz n5GQ1?&|B~/_ߍgBTQ7 TU!G=#$ u-B *@׊F(ekY=i"b8l#{d䋲* .%F}a89hE)ɈԌ*Gv0뉟}i=.j6;s]|TP-UXxL.2yr|:2]mZԘҭF\{`hJEl|TcM ZoR'[lm}qGxQӶǖCy/]?WսB!TۿrԬ JyY2-D[ȏ q1AmwpIaYueCb…@t-|i^w^L\;9\z-s{b! h˅Moޥ2+a@j |l`P. . %1 O^=nmuHMdëg"g9f3"o_mN+\]>vL{ ,-4TB{dBx6(LsiNlSxZ7&-cf]PpFmaywOV0 Wj7bqlMgTOgԽW,Cl"3f*w:o ʀ^ g^ϙɪ~!2?6S&/IjwP} (LDHV],OiQ4@0o2MT>GZ6g6 J"ۃGV3 Wp 8ldo{ ZO"&拱[i`#G] ;@o"4j$'7A[I1fK.fw gTO/ LE$tdI7@L7,V;Bl/l,QP1sʆ\MF@VX+E4F@?tE?P0if#9J?kIIqgc&F1ex#>' K7'HrQ0'ʂ4~RV 4#b~Y^R */kxSS CN BZ41HiJ 2g4nQ({u5Ao3*̀_Z߀(1VtѝgQ8N.%t34`:ĽzZ-+X >+k'pRPJSn'qт]8?xLxy?OփrtzKmj{cǑ(wE2&"V W<@PSbiDj|ٿ g\T$+%E@۫#`{N ۴\4?>xEkF%wM/\ ,LTXKWFuQŌ\Pz<@ꝳ h!˱d!Un]abwlʔmoIUH$t=mÃ/u9צ3#W ퟋs *M9oQv+x=("Zʄ,};˲yYt@;]sA5jO}=pj)ZKUw$}~Åޤ}"UfNlK % 0q8lv03yFF6!2}sN1ǂj FnZ2tx][u'eac^ z Z|j|#7IC^^[-řrL0֓?h}YiY~/5z2ZGWXX @#d*C~^ ,`ch>D R:c?8ޑ#jP)X|^%G<~/2MYjױ~ U= S8jA|6JCV_. ^%ߪ2k+"bHGz "(6YDTWgrLB.ҹhMwXzLh O|ke֦*w蹾mTk#"U1pH@(K56M٪8MfM8lK3m AW["Qa 2WQnmơk'glsdsw }緄ARCF-ӄc q|*2p׳o\-'ۙ [*qnFvXk-R6~sGw!SNv)0YRCR{V6z]qXe}@8ݔgۭu&lW0ԹP jKW[Μom^ Oj$DڲI 4$ձutL%Z x9  nR*r!=t 򃛉uԭ7`D.]i-h˦W[!ײrEso5'<ȐA<:߃it& Xfmm~pem JYhyEbzF I#AÊTyz!/t*%oIsfKt "^cM@fY?AGv݃OO)r֌; ﲸ/P^1n~F# %*QӁՊe̬wҍ}cPl`2BuIu!12/_ :>ŐJeUvw3)E zнt*īM1ƉVurk =J8kpU( &R.cH3thG.ݣp8MWmCߗB;l?dd*<} XdJjbu'Gqgh^D[fh*Tue,lR0VM;a6gƓ2^>}5x(怮0laYG_BצtB2 2Gx&>:uN7$[QąSHtvxS<0DYOT֠'l$ZJc< ,+Y0pPc`^֒'4Ow#zFFs+8ZW;ℽ1,iˋğ!l2 HKb P~yrjH lZ:%WoPi5CJM_I2K{J:#,d I:&&(kE8WdqZ sYh̦uՔ:2+;4|~spvL( Oұ(<`#]uG%ad>!P:".\# F)w}s9&+Wtu+LQλ6`XkSFEttXC"jGUMm#vӴN.|96]hxdg:@RHMhIxPQh(@uO(-n93{/A *w G_52uPIWOMX[:? F^Xi668dkCH^M_j_4V^N M GKCfolW +jgv*8na׺*,R`mo /b ?{2Y{[#B^QtC5gYMnD3A3;5KU A/Nd*3ޤϗOɔ m i:T}"V[[7&m Jmr٢8iÇ䑽h ~?n]dv͓QmBBk6t8/w6+̸-=rf۫'k݄)T(mEɊsC"#kS$6@T/OCF P*2.ZD [y&f0VsJDo:G;I6'Bt"<M>{vFL>}1Iի/q$(!  (M{0y#gLC]w˪{,ׅEcշ=)՟d3`\2Pb=tDgtm1e9ϭŖj R(ၶ%\I`P{DKi#Ҿ;Pae TXyZjx9+='LSw9%Qu 4=,8P"o 5n(1&"+y1+`7 :La8`uٴ_#w 1i7r(PS1r{0a%aà%D>7pZYNчDmg^GՈqp9þy3780hX܇\i D]mQp*b j֕ AyULR).Ne( 3͜~DJwϫI/v$'cqEK:i 2 E_Jyi^͔d7͇ >a7{Pfw(hf!qTN=&CA0>m{"lٿ#Ihxtgx3a_KlZfqY;@3dyۈĈ[_hJ2-GR1^PH2k  aMvg=zy3q#?/#V"T @o EqҢmڝa`'J)-h )&ߢPϐlvbcNzxh@| ܃d/o:|l;'vQ ~ iƾGGuʋC=EX[3Itϲj[6j?M%DlmA;A׏-5 s&9prSw ڔvЦ?\y%s*7Og"տU rpِva$HnȄ[nyUIÿoe 8ubFAz֫Dw `SST!A ?gЬLX ?3W]!S/ ;>51 Թ,=NIdvSTҹ\)@͝-Tvh]i?-]ʕ^5&]C@thR&=j(N<F RKԴUӷwzi+ ket9xeCS.!rvݺ߲bM|9b!$lPwm08`oR!KEo"toԁl,SloU"t j̓> u@xTѩ|R_N߮Ҝ頡EjMȏ%*,#F,_4]һ̒ { 9eH^(itΎ5n%[,îTp#DXZZNQհJ=&h"_ \Pr+eUh>5,$_]XJ֝6.`2wDPh%Ln6e?ʽA3/&%/ 1e<09Z){*!sbQY]$ ݵGMP%c#أ iFH=͆ 8Ⴈ^@0}Ӷ@ٙX0gEnF6wB=-Ey$B?`U;R)bl1nd KмdBiY6 k&ܛ Hgc [Jj#7M wmi.iR4wT6EAb*X9J c%gݢ)U`ӹg8#xM-Ơu(pt,$~RzMGm0qY&\ T=1ZfЭ6GlGnc+[g}֘]7xf1i!Ef$UƩY*U͖Q;ﰉ.n{fr4nǒW96 𤇜#& QA"pr2SI` D16sU!ƴ\V JR /Sxh1?&3 sH'9'tn2Yz ޷Yz3$ʆ4p-b:e9T!ޕ8tw>a#nU;xM(hW8_uE{obDӆ=Tfz[M+3Npmi Z stL| g7sDR5BWuxaͻƺ)K7GrBRd&Or̕0;/[hJwhN# x8TKc3Es[DzJWjszo7YI;HV5~aB4C[?R H`R9;(|'!>b&I1)uzu-.06t%_mQ]0~>3M F| T N! /WsqS [*QI0-a AHXtVj'h'܃7UmĴѫbɶXUTt Qd)u#Diw( "xgWE[dڸMflr_@;8h)T4-;ŷhR'ݾ dr(unQᐉaz &3\A;E^$WII27zs*SdKjfRk9S J2xLU\H(tM;C 7GD{G{O*k-꧙v,gM =vctuJ0!]9?qtCp0 CJ.7'E1HUg7݉4B5\+꒯uuPn0lVBo 1]澭71 >>e/":J#gއʳ%J,[Bɍ b5 ˸Nzc8.Hf%T+,K 4(-AsV'i%uOMŁ-j ^м0B)^GwilSGv&d=6sKSA6O,[q^>R Xg[ekoGA1~] ~=_;)u@*nu-wbHv,1B`Q葓V'MͭcCz;"ˎ!D4$ pm )F+jBНRQO)~T4[ioiV2GǂiP{S+;D7J?(ǚQFg} :yAؐ܏*03P[Y_n:I4؆&nϟ8XbBP˽ (NTUv.єulu|XX`dw-fPP?zZ$wwŞAPjRSBv\ngt ٻ?c݂oh }Ư&X\5yʷҢmb\{T.Pp咴Inz*&-X&kg0JO?#9f* r߰ŵ }+Ƅ+t9!/F{dAUvv(,>Aw_Zis\Ya"ɥ0HBǣ/Eȹe=4;-H5Y `z=qeH+g)\/cpEϋ!@S B#Ge>ݥuQt=JB,+ȜUO&6 PӃՊO(yl zںA}m=w R=y*+D٣}*i01)۟X2xNn\B\S=yya,|c IeKn}yᔞHĚpT08%'"W "] e]bkeF`MD{EPƠybX&Ph/5՝c''hXG3[Q\8 oib8#Q Pv^q/mSHǦOT 2f~3mK*<^cIr{.drK; yy5ùe?]YYGbZI=ki$_hRZz;xcQ l?1|Oq8G6jgj-M:dý]N x t GWG) IWldE",0?>Tu;弜m]|oTϧwt|θ2J$ iĬO)ԛ~sG>H&x,MbiL,n L?UݰHb;w#UhT~ F̉ MI뎇Q5IK8'->u(*d!;o] e=NvU'(_ժF~{,: RNjH* ŠHL0D0FCe*. ;jVޟbɄtM/ߊ^b {G 8ua79kMQ7Ofi^mb3 0s!aIHbنz?| e>&.Յ"nm|x.va):>U`Ӷ"J\kŋB`5E|-zY4|]%AfIK;UB!皂V̩ʖMx.p|4 վG"yݳQ-vSo'ό0oh)|x=#..GMjS.R+ߙK/_Rzgq赦4n1+Gӣ>W|0aa^s3 n &{pzcGLpAqPmdqGZf<Ҷf;Kz_x~Bonc?Zх(VtͲ/ב+N| 2K);3x =בK"kY(jɖS!Ccs$C.,"j"IaccalѤI(g#6 lx% V"\!і7p1:%1B5P5 Z~?l&H[٥=`}9b1-4 T&MB-Ǹ>=vF //2?f,q,N*M55>'Jo+5\MjJ8*)`- 6OD˜6-+62e*"+i酫lq8ܓ(6Jh5d]65G"chLFi`Cepj jgчXCJ[tx؆})a- Aq~&N݄z#0 EƓ>MV 4EY 5$+leFOTfG3>T >W~ypG&`(%}py?f,hMS vu>6tq?DVv n ھ!JYԳ# |R f^j\}û-t$mlJBAȼwqn?04la2˦C~S“SjyV](X MOD@/lF.c߰ThSG2j~D?1,!qz< %pݝ@3٘kxK,'6CoM5&@2;ʴ7i AX}1 /MI Μph n`dXU,Cm sRnTAy.9[,B`ؙ Qi5U`r_c\WtGsS3t`7L3z"-@7/ޡ)֥,Q%TPwS)w?C=A]+ւlWho0J&tc&iroW`\/)m OJ;,#3넗{%G٧.|sL BsOkOQ2tmrSZApq[:@g/xyBl2 v4NneoxLG^b(41Lϳ?iuaLR|"2k`p7d9@`r gB?;gR]B(b+ sUlwe*bܫ_&'Ӧ> Fx=k5; <-8Ʉ$f )(Fi** U<?hE'GmqVBIH HUh4bFj^q)DaFC=aCSǍ) xD^'Ci4V-mJFL5b\wBԆӰY Q|K}*U;Ve@̒$#umuFh Z(% %La؝i`èrc?1@a \}K!+EhXa2\}7jup~f v%I<'|)T2)xN)c^1IP:-S-w DP*N!#se^NRB6V6}_;R1eựZqB`2%7+12 OzЗGJ9?=UaQzڒ:!`ֵ:Vcc Vk37z47^LfCxUVφ(yꨌ6i&Y/Jv ,yITcFNa{d(r[q>{ dL)H5^1&|gĄm:+{8JOY7CU~aaP[4fOɮT~ް(q}OR̮}`DTΫq;;_p&neHQB$H_ &F*\^RW8wj谠Q9FlpBʷ~e=1kj0=Ctf;jBw0%w&G]͟YK,ͮga{ZO O9Zĉ$![ -401/?KNX)Chه/N8̀[4!('B 8GK-SȖS԰'Y?οAhJMXkMB5,IjҡGhc):QU@A=H4sg|Zx~!"X;k.#rbwAj731ppA&ws([.\BAQF)ioEԬ=!Ч|#6 ;u r{M9ܭ&/_,r "vw0u#SߤC|Bw?s5Vug+WjF;q,e])'Ycڵ_Xyߵ`wⱶJ| 4;O%t5b;3xҧ@6"j˻i(qDUӭajwW9w!N!V ]YS4CiO~խ8}yZ ,}%boף8}^pE\iwz/6-+):nTk/ava]wz ڎSčq(DQ"#?7Pp=-% BCve#th|jN.)U-K9-BJs Ҫ }QRkQU/^q56P9JrOٚz߹+lz8p/sWS՝NW&#s˗XΪCE<.J$ӛNke|Pq,lgzuw'h`^c3͚s"Xu޴CiyP}pgt oB^brAUv}qMØ ?Y)~]Du'/L<Wܩ́؞J`#absG9)8<᢮h ߌf_ >w,Ӷ҉fd: #[Phoh?6{V#p(ԝc&;mvF՗nV;췀&rbyymx>)|V{?KO-n%q$R- `6 hoz,"jk;|`f*NN}BX|Z>G`4ڹT5?_x Q's?=I-DF*~, =:i!}.+LtX"I65xH4z v &@IFH$xL%(uA/k4?.ʎLY>a4VVvT'vмLM D0?@9Zږ߉lAџhQ~SLlQ0„A6~&z+IW[@ yG;%ÑpS4w!];"Wgb:pv{4XhZ-цt@o` <[$,:fBNklgw/6P-9+Tiݏ@9&׼q&^~]{O]NUOj }{<0L k#^1Z\HL!Uג[h%!+ Dq*V !#V "άk]#t7xzJ";yWbzBκ6?VXYxtȓ`z6 ' s] F0Ǖ|֔HnWH+_A_hA~?eW'YH; ۲]nk/VUra+:n 7 ظ%E iK&RG'Zzʣ6p9ݮWP%vQ&S@<%Jhr31v[!H*9 c3CK͈("pќ{/![xMgZ;z!M/P=floޤP`&Auժ,j7!Xg6 ˑS"ʐ*FLny۶jm$q ̥tO(*ҏ(`[xkO8=u+qgve_#Y:lܽNK;/> #5T9lϦ KSJ89O!q C;H$pvgS`Xɰnjܢ|}Aia.aXU !܅m ^ YLTfTY?;i=TWsךm;iH{UMg۷XSE9Vp`exaK"R("b-EW"4Uth*|/-Gv#QͲPL-]k}s533yU56Q[">LKI=vDIcq Wbܒ|mNYiԯ6l~ὄɔF3Rz@j0*7_z$a(-]&LNQXtU%ְrz6ު Uߥײ)vLWY}5y[ D {ŚusznJ漁2ښ4ݟ>M2`H*~OGCx6[1aw7k๸W@)$3Q  D:z)o]AKF :n9mPR0ΪV$4>{ʰ \KZȠ%?;?+ ugM01@4dAKh" ,k+&JgL՘GIBWbO J#F&}d\O[7fɀiи߭̅K{u Wc~;xz:ˋQo