tomcat10-doc-10.1.39-150200.5.36.1<>, $g:Vp9|UX_b+GfTZ{aUoi hpAvFoNg%)DGq06-z>`D7YHQ;9WǞ[zD@W]e厇r먲C(J^y) o&NwII滏#kR+~fX"\ڲSmhq(.I`?gkeK?'RO-.]KI^ڄr$!sʆl7C[u2Z7ah^{ >A`?Pd % W ,2< !l  1  A  a  JX  Rd r   4 dt $3(48<w9w: wFZGZ Hz I XY \8 ]h ^xb'cdSeXf[l]up v w xڼ yz LCtomcat10-doc10.1.39150200.5.36.1Javadoc generated documentation for Apache TomcatJavadoc generated documentation files for Apache Tomcat.g:Vh03-ch2czVSUSE Linux Enterprise 15SUSE LLC Apache-2.0https://www.suse.com/Documentation/HTMLhttps://tomcat.apache.orglinuxnoarchU&kcU2 J9v"$(H'24!9?85%4(*~(O.lHQK*.3u/!/L?ݕG1' ezo5D0%E);!8"_#vLbc)<;;#9fUp4Mj>KSUO]DJM/DW?DJJDJDD\+W\k 8]&idaq_X&H;W$C8hH7GX<:)8եu8QW?S -4{%"7|I-z@ ,"KTV#% 5*,}0{|eh3{Q%x{bi۶% -8A$BHK*h*t6Bc79qBA*,($x8R;wD/G=x;>A./ gJMCBNsVD>T2 /<%***wUL4@07A'ID>{#tFVFj2#7?Jk\p< OJDCbANJ6\.?7Ao+|*`1_1&9'>/r;$Ap?)Z<$> ;!$0ѫ9*YS^P":/U&1L/*s*^("b$))Ww&fv##;,JyLE]i* 7SȅFs6v%w2D**E,~f,@. DC&J_D:_II?DN1jDh>ARs}%V -%%Y=d~7j[A=30T,N|7\69b4Zkh%:,y#P:P.7'}(.()J^^A>#mmJ&nd )~YP:5 =%<$'qac*='uR.0y%?L9,Rٱ*1=/:E7-8Z26/k/T4*X0&3658W>0C!2J(<+9<@Eu!*=7K8W88)N]86H8 ;@C78^7*|A-Wd-!-S,`=T2kKIp695FGr%D>"5K>-=|6:Ch=56"==5u\ 56%=568LZRTj@N@}L5555=5\8 ݅8T!&.0DG]@*]2o2Jem6Z@tn'+1@86Ě.!(3I*>0+>f*ih:> & /B0^,J&VL"4[[OH?k+B?[c $&7 0I$83|k4<6'9'=/U%UN1Rj--K/8/D=5l{WgI?0a0FE,ZY-\r,HQ'57"]%%%+=)iv$]iJC=82<8eo6[|"C2BoMQp2gj^E$ "[w(r3+,%F+Y@F!aGEAS"&%2 VE(64,; 22*";BJ'83R*a:8D>}'<EpA4-|N.0-BMFy(])9?)%A:CV$6-</%/Z.1H!;(4/K.4:/<0x.///].5..5/\// /</Y../.+2-)]zFl..4/.//X../.Bk:#a.n&Q`wa^v^q[Cs/]o!4444./M9*QBq^gZS[ %&/8ap,.B~X4d-Vd)aMMM~Mlehp=?YCID.6: "pK*~su6V$++,/?#bB] .N6p6{)D+F2=n*=*30-_zc5/6W(IAC&3n#]?)1FK(_H,9(9a19,) >^:Y1*R)T<`qM7g1BjpX&k(()ur3[#.8F4t5P -'$jP];^mFb# #gILCQ)84'(9Ex0Utz!L4,p,,,,[,y,2,p,,y,^,^,m )C*Xa>\<&u1(V;)>3'8x)v0^0P%q6<`YDaO7O(S/<<0;85 :J+V5d7/B0AT<`<,42;;@3I;% 0O,{<k(j!/D<;,1Jc&4W,0]!hD6Z.&76"c38224<&pue[L[86&:?4P//:Ez.{QecH9/aj"0b3i]D<!`RtE}C.$raMJ-1G{UJj%iBQ-,@,de7/-3q^5eaǒ\Kq$o0%~%V-L17 ͒ccBSY)4?=9}/8Mg;P:6Y2 )"08(V>/|QYVJ2/HP30RJsf8A@ 1a@f?2:vSB9$va3y ZU!7N/$("}L+_/W356/6J2[hDh&b&d/&5"a966g..)<P.T0F%9232H.# p:N?,B>QBH;d?hr6eAUVD+S0=aGkC?;95\k1jTA9e\@n3.fG:<JzU!u"m;KL0 [,8 Z?J!?6,Y)?0SA2+2gF9.%xFVr3( B?#/0rLDK`(.-F'->-@.KX}/Z)E*,NC$ *nT3'Y:G/_kV=///4l,}$.!vF.?3&!@L=&3 _'.#)--(51+)'qF=9D6"O@?*: (3_,0-*-)'1t60S:B?Q|CRFM1 :"U9E4!L3!>nDQ9 l}8@1B9+?4B &a3;e*P3?*3)!2@$4=k 8![#;?q19 7]J>C;U=(V;\>je6E<?"15H^7H'E  +t-Ww5@B> ;IQGV=K=I=s9ZG "|JfE|F=Zd{27'ia4\aOd3+$ m017s('I&*w(+B(T3Ca+q@%L35)/3/3 .*BD6,2),% 5EF%F>Bu)*%U*@r'+>11-o6YW22M*?B(9]1$7a'--)TIlc?0-,wT!eIQGF!MMg:?g:=g:?g:?g:?g:?g:?g:?g:?g:?g:?g:?g:?g:?g:?g:?g:?g:?g:?g:?g:?g:?g:?g:?g:?g:9g:g:?g:?g:?g:?g:?g:?g:?g:>g:?g:?g:?5fe5816103eb811c7c243bfc4c255ee60f007fa3d32e25ef4803b23b433049adc19114d09efabf57ba0aa8778cc1ce63eb20deef5d6716b8b66de0193020370e5461fe797111abc606cd4bddbcd861f11e5f0d2d44feb6c3be866baabcfaa62c15b519559fdb60336ee13cff4936a5c71374e25e12ad07d64f8551c3616f7d3f8fd857889d68d1a5c256b39979e27cb278cb6863085477dc5cbb82055c6c6b84e08415612c8c47211afcf2b541220e5f4434aedcdbb706fdfee5643cd36934c04f60966dc0cb233f410a2be3e3bad4d6a7a4d67c6c1139c3dab39cbb71c1a5af747fdcf9cf463ad9af4863a7abe673b64699b7efff6285d748544c93c9b021c491f0463f324d77218acd2591da30274cecfed3102c1e6b3352b6acf00e41d68407f10697490cbe60e1f453f4a68b5e417d297c2f2dd51f3cbe793e54c3c5764d416a3b2c3bf16d64f6b5b6d0f7b079df2267614dd6847fc2f3271b4409233c37fc9a93dd241f6b045cbff0481cf4e1901becd0e12fb45166a8f17f95823f0b1acfd56c75814e8dd474bd53b622b19152650c5595cf3c8bfad7a8703985105e8aa6c0904499f1efeef05641bd28fd7c73785e60f69ce9c699daf65af8b37207030ce844c4c202c352e3210a61fc0910039a70708453b0db6f29d4da9496f2711e794491b22860b2a9267b6327e19cb45cb999d290f167f7c87204ffc2ff87e457c06f765f3bed456436a8819b4d41fba66e537d88c90c4f46eb95d604c94086e3c38706b6ead21f5636ea9b79297a7976c59f8c1ff9242bf675aee5dce392ce985f8dfaf3a08014a60d94c7bbc69681481ede72a626307e40222bf371aa6d5192c9e4a52bac18aee4f3f90d05fbca603f5b0f5bf1ce8c45e60bb4ed3a2cb2ed862c69be9385be9317d3c9db2274afb71a72c8fd86bcb58c0805c6ff36884296611f9920f79ad1303bca85457cf951032ddd75be278f7f9a0385e8d0ca3adb4bead42e80593923da59fb2ab57706b761ce1a302d0421deafad395dda1f88c4321b8b470ef1e96b9dadd309b8b0ef83d042397a3e54e90d9bf249c9dc7294d83d35a3b9837a71b3e8da013bd2570adbf094f7df85ecc0dafe130d954304a4cc32e5a832feb3e104232260b5eb469c4c3b39779e5faf158fdd067c45fc5b5b1f753869dd4f1226a367a7043472b15b823bd389f419f432f4af40d5db44684d6029db60f1f9a64909607171e72c343b29264f17e3902b2a51016034c8edfb9333f05d4068c8d1687acf99fc5996066ebd90ff2d668f45bb8e5761b071ea85911b8420ddf6f448d2d5d6b5cf073a5f74057ec81dd733d4238fa0a105d8b063b52b014c24797746465a3c2e0477ae1fc222aaac65b6686538a478c092728f29ed4e1be549e9c74f8de4d37e9dfde558a8230942eebf126341410676681201b20ef248a35b61fee153e12d01708c8fd74bbb172aefe932fd4d10f610808bcbe1fd72afdc4d03bc0658662404b805dc03fde0472940d27e5f49f2105a63cd139f053dd60fad44d1afaff98db671085a2be85afb80a11cdd5c8e3cb09389fcdfa8675a01c59908830b3c7438d483d21623c3797cf27c29e0d3e3c285e0e2703439bbf626b6b1c9360db8c383c2f929732f6d1452617f7b8e6fbc13210139cf93a3c6ed160e819fe7b97c0a54b06f4ce1dcd279afb94a90544a31f799a29aff630fe78f69d99656737b70d169bfe54491a340955ffef2a4e019ecaed193d0d9419b9c6c75bd1983718d513629e2480d27c2a5b6b387124d0a472dd3c4e4505b815f9c4213db4cfa56d62de1f41b9a29921c9601ef051a0bde28c6f75536166623b8af5e80a6233d2064744ae79920446b7cbaeb5ccf92a933f405f206ef13e9c0e7420edba641b7194903b0c9906508a5d57aae66276bcb94373813c15fba01b02941e4c7a5cd5379c9b7abf20de9eb78cdbf71ec03ff5f555deb805d6cd49c1e886468ad116d3bac997ef1dcd104191650a79242f93ab4b1bf85e1ff79b77d61b2afa4683e3819f4dec2ec9e504a3dba8c31659cbec4f4ee41f2ca4f7aa2477ecfaa92e9dfc37f093c0784c23876bbed321783b7c3ae0c5ab45820a7afa6d127721470111f4eabdcc00e559a4e368db8a5b7a8dced1841a67b05c9906fd567a9b72bee885c21720c374f8a2751acb39084449c50f9f723ab3cf0e276c758e5ca08efe62227886c48d90ef169f59ac62939001b24bb5e2294030c7fac2edff49a543db6ac607fa73fffad845000205bd348f80b8f87282da1acab7bbc7cd28c55a4f0a837e01e3aef9232b1f6c3a59af7e2e10d3b2fccccf922c34a0a9ae4d8920dca45fd52b45199102d9eb362b97538967a0afd14d3c7ad19058f3e5492018d444e8e4d366cfa0c98bb3349311eb1ec93463432d2a004aa8d2b827f78acb5868092a97fe8f73918b6097cd5792dd23f3fb480f0f1f3b43a6d20777ac41646f75983a3fea79fa3fc4f9d67344c00f7a0c1b470cf35a59ded7d24c926e935268fd2755e290466ae36229c2b3907ca26b6fa1a4cc1a37f5674886ba9439b1d5ca894f47aebb5f99d123b09b1e5b2f3136cca8a8ac78bd41fdfa58cd54d78bff83e70a137043cb297fc8103c43bb7ab57b2e904ae3193f002d1fe8fd168045d09502fa2af3a4eb513489c367fef35d30c4f477b3f57f279db14e232389d49b0fa104b1e1e96f6aa828255b0c56c3ce3b94823904a93be8d44602b59443694c62eeadea44a7ff7784d411005b6df80db9bcd0187729fbeef8823d10f41e1216980d6fd7790d85eb7ba3f246e165cdc414e6c5ff2906ce95b95add5f293406a40c430055113727608eff09c4b2610751b4fe8e14179cef2de1e66b26a6330679624b38459a9e0c78df90077564336613f7e491fc13219326ac73cb70490b75e388832a7c3cc229b0a7fcc5fecc284dbce4d0403fc39e29d3edccc4f76f66505f9b2774d654bbc9a4dd3f0e5fd4a3f8165bb5b4689a16a5de2af0ce750dc3dda12645d2a8231ab74ffd2d1c2291d0f3140677eb207f4a14794ba9893dc539a662953904166d5a599c2d057c92488aa139d6e56a4d0b89cb7504b285b73047e31fa47aa300c9855e18ded6bdf5aa22cd942c581a66fbc1ce35e7d5e8c805dd6c957ffcdbfe963028d47b3586742b4b88b208e5581d4433a903cdd5aa4cecee29aadc2db94345a3c83c2e5b8c1f823749c5ac1e6fcc8d5305bfd4e8b8dc8f50a9a801615e6eb74fa8360653ccb826fcd5d8b4aeb385c3aed31311e16177c9d6ac918cf58ddcbf48fa4a819433c7cdd09469b91da9f60e54ff15d21c1f5d695c0e263c742518e97d111fe293b56effd69320ea9d27512f284d0bb10ef431435576e37d3e97b28cc0334c9a9723dd7eacc800ee654a9bea6bb101413d247c5d80fff7411f2f9970c9a05679f3580279fd6d3c6e1577f673814723447e69cdf7307be595018e2f3d06dea1909a160fc1d5da6618735ea1b4b0052aabce1643717e4d25e8356d11c570ea7bc6775f3921416988e12e674f5119ac466bfec5d4206b82eb5aae2a51b6c182a6864327c4860acbd0261998ed780a598a1bfcc05235a8683b6e0d5e1c491dfa68e6459c534e80f1f6c45a88c41dad49c46d29940bfa3d17435f4e155b3e9e55c1d9171dc875781b78edaf9479011c48c23a76db36a3eade4e910adf2f3b8e953433b6bab4a435115a9bc121a4d3ed20568fbb2cee018f0e5cdd0b5bf4f707081ea5385ef7f094ffce92df7ddacc72a74272b30c80bbe8a98d206929b544f84a0e030ab00872592e0d288e51687b80adfb46df0e0ca3c79f6d92e008e0b28f0d34f28eeec65a9ab36f4d243ec93ef08e30a082b2db89082846884878e2fdce19247e79161d1f1e0137632af1797dc87d868c7bbbc0796ba9b356d7ca4adf523f53e6d3dbf83e69572154cb3cfce1ecece44c40b03bac289a9164004fcd74a262a1183656a0f9d647e2d6b4043e4f72840220a84cb1fa78fbed247a6e1a3b914e689dd773b5c056340620145c8767d219f9d8c54dd3b60b2940b34bee20d367f18ea35dd67eb9ea92710765e127f66617194cece190ecc6109f4f937c5a92c667bd19782e601b57566e6282c6d5375909403ee38f9d0e7f420908bd29f268d36d140b3f630bfad19a38391c7e4db04e9559b8136ef0b51520678d87e4ba28521fbf48e90263a985ddb95e442b9fb8aee6e6871bf2195877e2efc02ab7fdcfa7c29226084f34d441524b758205b52d9cf4c1d8fe5a6b866d1a4e3b86b73591a06e367f2cee57050c2fa21c1739747bc1bca04f1c143e408c7cb7b7f209dd522f5e859d268089052d839cfd675538a4b2efb4f38e5891d2356b4de08ba4cb308831be28311f363548bdb6cbfbba0b56138f22d290754c1f7e40adea320c981d8f0682e41f97659deebca5574ac666e8e646241e8630da32d55616358b588804d5453e5e210baf7ca69a6f25e860162b3258e84efc62338b0cfd6431822293cae09766f3155f546da49308640d4130c17c21726a505322b02bbd110ae9aa6bf5c4f640d2d1669a32456fc38acffe78b523d2cafe8207364808417b06de26090e9af11fcfea53b41c3b5b27d7bd3015c6d8e394bb889e9dbd9e0b59338ba062ab987b27ba535b2c9eac0aa51576349c12118ba1d7d07f60c9963373d6cf64d0754268a79ab319e824c5ac1666ca4e04bcf183c55e29053797d9bd49e254f9e73936f313576afd4c6a8b27bfa76552ce20c60bd597d26330abc79632691c86797d2f651a855f67afdd2b9ccd909ed09b05db77c6264f1df49b2027cce618227c6df9a23fde52576c75d9daf90fbcdccf80f021091f9f88e8912661b260caaeeecf0b16979fc86093c91acbd1aed5a4a8b1a88456f4c4f8c31f4415304be68fea6c0386e482fc1770247c972b46e6ed965d35de492bd02da918b4d65410c2815d8b56e68e63e23b1f52dacc4fa5229ae4967c8d2e5a70a91171d9506b9754782c979a5208c57e9e2913405859699cd33468bf260ddb03ea8bd6a756ba6741f70430ffc2878428b25657f60842e7d185b01b83c828bbfca9dab95cb9010167ab64e76acb2ce3b1e6584b03363c6fc082f7dc6f8814840268b22c7e66c3d7af238ada398749bcd84d7bff401ba87984b491f77c26f64400c404e04a131b8b92880dd456d44c02d8535284e9de5774c0516acdbb50e3a47630fac2171f9abe4442acd4589abee4dfeb80143a297553aec0081fb697cd731cf6ac3ea931d334c99d27943352ca77d6a70d1a020fd9186e9eabd102084de453db942e1d634e66e75e6c51d115b1b0711038b70586fa47ad786a82242c508120090a0de6b0b066fe866f49abc7a4b7ae71c02795d044db16e4606abe249c5b42fd1f15c815eb1fa15257324c71f06f867fa53272b56715aa6e8325c9ca1b3bc855dcd6a00b1e90c7991e4a3ae3f17f6758abd8bfdae455efc7f0a55ef13eeb5b93004fdeb8cd1f6990dadb46530ab5e2f68932e074d9312ee5a0d8958c974ba8f37e9ee8f82a11033bf0e62c03a5698b7a83f955166ede29d1661f66c3baaed485db19065c70d21a0180e330f57ccf55f7d08b487748acba40139884ed7b058509699cd86370b6f9060433bf1b01a12fc57777c47943a449037736bacafff90bbfed3b662c2259ad103631b35333b22343a0c2ea667e10aeb0aa335b52b2ed9c1de099b3b22a96be1879a5384241c89ce91f1c7846cd44dc562a64fd0fe6ae8bb8a456f09ee8ff9b735dbf7af89d8e0e6da89be751a719fddf4fc07905affff7fe0c0e453fa856acaf990804b4ae942cab4674fc5b5c7bebba691501d72bb3842b0591f47dfb7b36d348237a45332745e9cdf6c7e1a468b98f9df77cbabcc8fc3b8c03a3f17acad0cb0726ae274864993f2a58d74967518eabb8f15236537add523e8700af6847814f4f0ae010e4dbaec7a91036cbae3a8cf64e570957e3178da954d52646fe64d0cd6e5cb578eb971f7a4dae89ef2cbb361eb2bf022620039b64bdb0153913f6ada84049cf68f29fc959c17508398c2ef63e3acc00901c19034a53157f0afa5cd8a2f377d9ad96fbdaa83886afaebc375ed10adc6405a4a16508d7cad46c783205d4cc075fab7a8e85bba938222ec0ccca15a2e38211d64183311a953f281a0c86903c11c3ecd04ff0d5f3010d64ecd831a51a7d766e5a766f4a5dbe1c56c81449929a3eac26703bf05c97fbf6733b25f531a935ab89060e31943b750f3e7c69e7f8e979d3e5b51865b56a2897972725f16abf7c91dd5152bba850ce2f19c894fef7b7cd4aad925b62d9f482910c79020b482aff49ee98a6821567b0f710dff73b6cb2df1fd922cab39f322fe67f8cc80e268a884576fb9e01a7fb25036dd14320e17ba25f76d143c00e7f0b61fdeb23adde711b592293215179a657331baf26361dc268c87f6d8ae0c52720ed0bfa166ded9ffd49bf17638632677c6f564798b4d3a0e2dc703663afc7f8144874cf8a03871e30d9ce5fae02987c8ab592ddf360cd95e81241773c50b8eba79d1225b923be9be5d2e1e45f458cbb3060f9d55df0a054211fc7dae40a60bfcc1ad81437ac11c76a70742cbdf3ab49d42bba9d420826101cfd46a4246549349b4f29aacc5c1031d5f6ce286fd033f29597f11296659adea5868f7976e77579820f24b60ec1bb5e2847965ada3b9cad53a9d3d41ad3cdc1f79ce569e7f6d5341cadb6371695ff22954497e23cb6250d8b5743d3d49ce9888cdb05676aff09521f771fcd402ef639cb1bdc066eb39e96a05c31f049345c629c4da6c37d35b3cf327bd6117e370154230ae2de26a090a2ee791206d8fe142e1395612fafe74dae46b3609229518b38ee44858238672bcb212039dccb84f7f7e3770821e74d84c1ba8c8a364be47a2b5d57c5940f1027cae77ff2beef842029f1ff9bdd4edcdbeb93703a9b92d52b8090c0bf6d343b5ea427184ea84317e77fdc6e10dc05eae390f7013ed0cd1c80ca6c2286db922a06ae9b111c3d9c2fb9ac3b4c4a4f5275fef74e34e174447acbc9ac1b14585073c58dac2fbf05ed07a742b519a1c0f236e7339f8c53a32d1595e253fc2281be066d4dbd205a8fda0c66429cc94b00d717f09ed5f00cbbad403682ad0ef791dedc11190afb188b3c9cb8de0d0222bf6cce6d4938f49cbb5b162ddbe9700732dd3b78a68a775243caa1fe70131565b523a0e3ec0ee6b928da9d632b6d695604b59ef1c96c0d13e3f7979f71ad10ad78ecfdc682c3b4542739018d85ef663b6f9fcf6fb36d602192e4e79d89e05764c6b0b37adb2358deba442da1bca8c03f00cd4ef655b9df207bad23e820961fb603243ef7e97dafeec0e43b43dbe12522041ceddb147f31e7baef4db945396f8a77655283be3870fae352dbd3b87e5b2cfef354ac2883eb4b0016f7559288782a5a9e58b0088c9d5750a36e7116029a7630969da8df0fac2603d4dd67ba983d6be71a88d7cc7cd38e4874bf976541e041468b23cdb24fbad97eab2bdc22c81e24e23660b52a7ec718dc88d90b168a38f29c2658e87cda4f2b9201dbefc296b9e129d0ea99f3f9e408d7af621530429c9c4a468bd372c0bc589a9439b8f7b80c3863231ad0ac334866d667f2a70fb58beaae4907caeb10d9658f7907e92fc37d0c0640ed11d9a903ce08872092c93ba7ea8e65a6fd1f6688a2b2c08c45b8470cb8016f568c16ba766a5c88b811defcd8510ef7e729dc4dec797db7a0789385a88767c6f9a5680286b0d5a3942d66c00aa1b6821b93ec2f0339a638e822ca7e6649eaef6733089364f0edd67c73cb8e8dde1e164ee7aa0a36d16df632e2ca65fbf9cd07aa707579478f9cec842a3480202f32db34329d61eb51f6484b86f409ee5883817d9a73067f734bc47af75d7e849927ed5c951e1cd7ff32b37e390d9e70740398dd8269d10c6926e947330117ff9a3f1d43ce037b413ed08593b65c04e56a5a814f1d997287036cd9ca8e3bbc247212bb2c06e59eaf8ba8e879dfbbbd63d2e47664e02fa6046582684259a80057f79d1311aa78a344b8b35d00e6a7a1fe329957ac483f7757a30620861ab51164b31072f18f1d2fa9a77a8a9319ad667496aab204f263d6d531bcfb69b54c230c4bbabd9a5fff1163d5d6a9a064332b91e85baaa2fd11b25fc43e4df3eee7f8882faa431811d42bc65825f13b6f982b7bd790d8c2c98255d1447e084d01f4d59272aa97d64a8eafcab5afedb0627f91c152eec8ae8f0d322a8412a3729f909b14ae887d172b77064cda89e561246e3cf0464088ad84ab23a8abf61999b914857c9e79e7c53444672d070f89c63f358460a8fbba891d3b9c49ef46bad38b1a61451671254213d8ca55f7d32dd5eb04db7788bed5f3d595e5bed0d472c9130efaabc3fdca300d9579c018458abf327b38364ff89da17982c55f8f1aac587ea8c9b19d4626a590f05f3b0a1f4fdc43286af80cfd7e2775f59e3ccf2e5402a390d5fcb44d7dbbec183689b20e17ee87585c7e189be1a5e602d1b789a65fa326bece42f75ad5f660711be6902b59612ef8fd8e496361a88de302d66c891e0ab58878de08af23601833815f0d855a9f41516803a7a53ba2a90eb417d72fb41dd7d2b9e9db21834f9f394cd4bf0caa392d5de9d9a78a3ed9ab2364774903e7ce8ad98212a2e699124b6f5c2c34d19ec03eaf551f42bc439ddbe79209c438572f6bb3e6a35a28067053e34f6a3c040c72f64f581354bc4567576c56fe318d2bddbd3ffe42578c0b8284fec1a2d3c274d4d9754a6c8caabd74877915897099ded68347b73ba8b8d2fe38bb7d51e4413824fe14de3b07134be798e48a2980e261cd13ed7050ff65651545fd2c2fb0ceb14c93a72970bb5f00a1d0cee5b0847bb785a740f46428eb89c12048584f8b1c015d62838e8a9cd26fc1725c9ba9f12a945bb1d3379fb9763cc8f4e2330bcd339158d27472d9b59583a57e1d1b2c0e548b08004104f95d07233ef05b0106b8dd0f1fb56a60f97e412da9f23bbc178235a93f7554afea0a91f6aa39477d80307da4885803ca191b17435c6365e95d70b8354da715c943746078af1bf53c4b1c708212ac5c705d109e7342ca120ab5e4ad24f4c7fc32f0c4f2a1484b3da8076b7a769a2ea80b4543cbcaeb512d5ea6fe4586d55107a5623e37636d192729a102c83f4002aa5d174bbec2f034b670edcd880376c982c3a274da0fe11e8d49be526337da41cdc7b363bc7df94831a6871f7ea3b010271e855eebc9fe5997994063b0e4961285b3174736a0c2bb5aaf7da648bfe94623a62e56de19095a7346c39b4210ebcef2a9ab9de3ec583e4ab4f289f84ff9c2a2dd501e83b11af0854fdf9154cd749f8513d13998c30fa7f12f3acbda0b6f7118d5f0ea244fda08004b6ae2e302623b7eeabe21a26e82e7d46f2948bb98face158983e9cf8fa9cc2bc530106473fb04644f1b661234e8a243a7045b7de32803b2228be135fce4772800ade534859d58a991857b5ca949f73bc7ee476306a7970a67bc2f3f623d0006f6a613ec22cb6d8aea2aea23da306c062c8d052f89146852f827dd9efd2bd7b31531d498b4343b4a12deb404f755d65287184d92c635aef5d8c4df925c871b32b9ea2c293939ae3121b3b8f511dc62ed922bd693031a0fd7830a4c4d8c80b64324f4fd6e12065d2ce987e40ff16d1dbdf5c376930f085bcdc11c8199847e2f5e7e2477340ff7ffa82d21b17f50a821f0e73471d2b85a4c95a9ebfdf991bc4ef7492395d017eda0cb6fa4548e27340d42cc54e831e2bd2e8055b941973bfa8d9aa0c8e006ebb1b8d937cb3116c2c39c3e2426fa70931d63318deabfb3ef3d83bd15b76d97acb8460a78b8f5fe3f5b61bea153cf24d8b9d6bf7be74ff2920d57307e558e7d27f769777c36e80ddd336385fa1f8452fe9e41eda378d8bbe7453f34717a5b31347cd0570ed3f8a714ec5481706fe207540a4ae906d25a00b4f75ade2fdf1fec89757e5ecc71581d7d68fae509329e0fefd02404b241cec5800d1be8757d32dbe67b858f8f69c4d88ba6ee1d8d9a87f5fa894fe77d397536da3e17aeae3ab741adfeed74ac2ca6fda2226262aad13854a568c2e835caf4b8e382af1e813361a7bd35f2c3fbfc19103a7d3a29012cffe6fbbf38f0adec38d6932bde27eb8aeac3a0ba6bd689d5a738268df0c2f579740944a6dfc0e7e73fd81d05df59c2f7bc274bd46d7a673ac13768135285553763eff8042d710b7b666e7f7075e60120219af067d0a54391d1f44864cf746b05c14e063a37cd4ba1bd761b47aad8f3ff475aa466c594edb9bb547bcfb99919ae3cfd2ec3656fa003f28e6a38d846f091702c19d2f8016d30ce25088785d8f9220f4eb0270566e8cc281b029ec040a43e8e00df700ced9aceb30da6601dadd644cae4e26a54dfbb32ec16292d5f40f66c80acae08fdd566381108709ce7344dc909ca2b9360ee6ba991d4dee7847355e3320645446eebf0fd3d9a7624cc70fc3a2f8d9a11b453b51cd13ff9e15c02aea06e23917e72ef021158a099880d46a1149f1e1d47d1a868e5bf75a6aebd64c71243344fa7a999668c802ab6c4e039ce44d06cc7b1720d47a1491e1c319bf07d064a853717765ad9263c5322d50a51864b96aa9cf0f7406e19c39d7e66c762d46da4c98796fdb95fd5cf3112ef45aca188f4ebecc4cebed2933f63c27887d3f6ff3fb08ea2de5ceee469422458fefbc20b5a0215592440f8357664d0b28034c12e7264edc207326e5c1e3cadf0053a3ac5fd790d9cd260583c4db1cd036c8f38e0c8bde5f741fcc7ca876308dbd4c78bb0d2c3d48203ee26ec24dac85f2e6810c0f3f56cfb63812bb1c2aa0a7dc0f01e54bb64d847dd8dd2c4007d538ff771d554fce233f87e6c5a9cbffc4783425c2aa0745e9998ec1c622764e3a48e83e99914641ef1e68e03e3fab7df5de275fee42abedf90eea15262153ecbee6060c18ea899b4fa9ea7c0816176e3f2e28154ffeea749a8ab6b408ff6b7500faf79fa5b64f53843c7e3b9c7bbcb9d81742f2b34b0338f7754079d63e1c3d7328a6b287dd1e1134d2a44f1a976c183988bdc8541ac355fa9ae50b8820acc947a412b4f912bc5281cc9a167f683af389b01f6e5c643ede2dba4d51bbea7711e4b1dec8b90e398cee3d1573e210e84877cb2e794e747c15c1bd2ad65aef9b85def3805b2512dfbafa813e1b5b4bd180d2405ad51caaa863d370d0915066503ba98e25f48e568db9889e7f16cf1d40fb472adb57d082862923f3b8fbf3f259fb11ff4d1dee3ddfd40e3dd11815b734cb3dc91d73af90ed491c631e4050b827b81910dba15630fbe1e7e6a250a51874c371df664f5fa8f9b7d41b73987ee2f2cfa06d92615f3a40018858c3cb4e14c0575ff374c9c321dad23e9ea0b2ba7d1037193fa23013febe9032a78753b85c72c5ab2681cafa6607d64f4e925d4164785e4f67b1eb7e781a8233f00b83aecc20e3c3d95191d82efce1d1d269c0737b34ed62887482a5eda2a74959a6ff0ca50008cdada4fa6b2de9048898b13748775d9ed04feba5c010da2e908bb7d507fe48b17e67b3c9cdfb567a0759c4d1cf908ff3de426c26f85c7d8eaca1d84ac1ab87d27f2c3034394703377314fdc4bada41c27a4b7ec8df06f0200f94735ea0334fcc141bfd7e3e8c654a17ff3c14366dfdd4676cf21ca82634df711c7401ccf5a4b7e814c77afbf289f5b63f01d9f0557dbcd406036ba62ffeca3178423b0d6800ba18506d40f209bdbb02cf96f00c02daa0b488fcd91becf476a21b01e81768916eb6a58b614b3e2848fb58f69dc163e0088ed942e0282ac2dc710fe721fe31c59b67dbf510b1d5cf3a5329724e159c5826adfbc8f9d3111fb6bfc60fbce0924af6cef4bb66f1b8002360402494a43b8a09147c4b2402ac8051c3c84c518082d79e753914804b4c389e6b4c8c3d6a20b6811cbb12dc692f3415d8a6e7021520885be94b694c615b2949cb86b821752883cd9b853e860d7e34ad30763a34227f2a0ce8ab7e89f66a13f050d8a4ea406231d3d6f14d6eb30a7c37e016d020e99d73fe741fff61b605bad1acb569fad88db028fea8f4237d166d45e12f795cc67f31563d47b320a4b9bccbe455c9fd5a6680d1f58a2022ab8cad5b59ca8ddc7d141f971280b04a23cbbcead24bb8ac520b96fa660f1c173622619cee7a829322980541071fd55a4cb773b4729a6edc061f5402c5fc1156b0dff7747540481d1537945f00cdbd0b6121aea83b532224f1943f784a170e5023e29cbfe8f26d1803649ab759cf6f89d0cb2f5a784bf32706f2d4fa6bd523835596078802579db22d4aac5a84211da6be834ece6ff3a02729bc86365b14570f63f77c23bf022d879488d44a9b9310b57a546d0a39af57fc033a5bbec78c3074b0ee06bdd01e07958bec32f92e69ba42b55a554a6bfb8f68a84564320ef2b27736c1b55c42f019e2d6a34a84863d40aba67cd6cbaa6407796565b6f26b07461c363ae3ded5cda3b99402f8f74173f0299aaedba9a247fb972fec965a6361f1c3e660fe06b2446fa6417c455d6d5853a1d50c35419948742de2ba262375cd958c659978c05b38390f5b1b99b67d359a6a77b9eee6f068a37442d547fa6651cb0c4b5c5a71939fb81edb97e742e89bf0b5d0e729cd37611e767bdb7f191a77d393bdaac8277a28b2e86db4c6b714bfb05c35ffd187bbbb18c1f253c578db23cfc3ba9042cd21821827940775d434a2df12f2e73d64c548c9cd666f08a44b40ebc29fc2f7a01c065c03faa6431028e1ec673bd49479184b0df85d96cf84bf1cd116daefc92a30712d880b8aef5f382df58b9704ef5a01bed6012e2a4507031ead18257347a9615d8357b4cea6be77b9d07b648094acc1c368974373b7645682a32f915feb1c8e3120fe564e26283c89938012948d089fe620dca028b6a7ba3910347f55f547b2969298f1e6f188c346be1ef8c74d0edad3d83144232c60fd19d14627be5a97930284a4bef4eb0da0e460644246fe946ab9b10e70c4fdb043974285265f42168c9e0629444ad99e5e70e0214877ab92d9b50cdc7dcc8dc6e56ebb1bcdf05a057b0262c67a9e01b40481e02a92b829cfc281fd66edd1ec9ce2cc38c246d194d00f5239d124957e9a619751f9b3122ce096f2b5db33525d296c1e9b1319893893c0bd42f4f43e010b746dd3c1b4c872447dadea9343db0f09bd80db33c22c55bde8d64722011ccb3df1d80577e3a4fba49f733da07c08c60dc7b240ca3de0950c00a016097724eaf8936cb7295d28eddb4f81592af147e0463005c7541cbdf1f5c966f3eecc26b2cf655dff696b6f5699445ad6caf7027809179cc893a8daae759483f63b1a54ddb0dfd4e1ed6749c4b23d2a0f896a60b0bd2963eb91401593f614a8d173e73f0f95aef78731233c556098eaeffecbc505f47690acc835e7d96277bd3d84f0d46958e9d2e7af426bbdf00a93505798d4a48a82fcdf1b272674737d29c4ccdcf1b3af68853bd1cffd83d3594cc13a6acf00dd7608f7be2144aaedfef65b3b5b6758dfbd104de188e01f4c4f1110a6ac111337aaf848fa51cbd44cf75db45766cef7f6e25d3a9d90d8f9760c9faaeafbc7d4fdeb797ce465c9335c6208763dfdabcdad5da77904d8fba379bddaa2a0fb8014c53d4e82c77dbbc6962844e9308a2fc5f16dfe750fa7a837dbe148442ab09b10a71ce751095f2596f369bdfb103fcbb6067a3a1912df2421dae35c01da1b2c0e4973005d808c7a177f169a010add6a1fecdaff93d833655fa6744a7983f618897d6aa37280045f1aa16a5d6c1e1fc8e169dbef991ce7234652988199879f220801a5b31a6a03cd53e81cf2e4d1ae0311e047eacabb1f6bcbf9464b30a6cb0949f5727c9d8382089f8d04762e4001e93282542df130e17d9bf1f2f4effc1c3d7af7336619d10a6bbf19d995bdf409f29776c76e3e2f392d14fdfa078c05c2b3af713ee011a819d29d4f189697ccde95231188ab314bf8b348dff4a986e71eda51697ac1067edbd3457423f404bce795ff1d1d169f30e8bf3145eb13d30596b68fe9376d3f01b57228be2c2a6b258f2ec42f047898f46731209e0aa436ac1d3110bd1ee266cf2778b075e09aa492c7f8d4c1deaf34d604865997634cb6d1c3ff653ef58639a1360ad4dd26d8cdb52d21ab953fb8d3da0f779d8e61c3aff8d125fb178740275f8a6781951223c8594cbe3c86ee78084166d9a8e7046137aa57d0b26040622796ba69797c3d6ac18b1e78c5ebeed753adcaad96aec98d583c7d902d8924b3ceff6e85fff299aa7f9334ff250bc9cb4712ebfa49c42b5e94b392ffe93183de8575b35bafe6b84b4a209bbada263745fa9cd283a655b7b6ea1cb1ffdc127080de8a929f43c78de0db044403fc5f7270fded921fb0dfa59764f381d79b517996244216e73e46902b3c811f5fd936f4cfc807655a6b34269dce232016d39988ebcba3716e682bf516bd35ce31b6c02949128d8cb359a17c7f6246932bbb50a2e4b2156e239d7b30f8afeb53ec58efebd7fa90b189fb8be1605327b2cf218c5ce7e0414813a0fd00de65ac1af2312207ed5174803b6bbfade65fc0429400836c38a9b0e67bcd4361da703fe43145923798b38d7d3fd7de35b30e61c155a6bf4dc34460060c358b2922a3400510d08e02549f18d2fae8c1804209a0e3dae3a39b8fd4906c2fc359d708a41a0ce90768726a8df6efaba3d5a056d726788f916a9602024e58eceab281109dc12d3e300d548fe24f0d6c09cef232f63820c7c8d07616d771fbb0ffc071adb8bdc1f193aa0e756c57be679092490292fa4628fa2c1bd81f59d7890e48521482e46a94d9ccc57fd3d6f422ba1ac3ad87eae8addc03d783b7b81e07fac144e3f19624105871da60c3e9e6ca56b9e019216a3a73c6f9b11724fffcfbf7440b1b932a698b02bd2a03fa46a6751ca36ecd28491a93f3b5317a7b7ed537a72e2c3ffeb2d1be1a5839154c9f9648e0217bcc7af71eb961d33fce007a6fb26119890dfe6e67334803207a213465a1c6e6a3b3eadaec14be612a81daebb7e44c4641948a1c1440f861075ef11c5e730ab2f156418914a79fe0148511f4ad5d765dea4cf781812c62d97bc4abc7a1d171b54c4c76d0117ed7803237e2d2fa46eb795df1f1ca7860292e6c0cc747fb01705d3ed63f2e4830cd3ce37780cb3d789e2511b7eb58290ede46a9cc35f1c4228d12e587c0e73a17310072d661dded817be80e63049093a13f98db29daf4df371393eeb09f3c252ba1168ccf58a070ceb93ea06bc4f3bd66c26dcf13bce79d2b32f73571e4b50d1f33ea2107f81aee0e9018b92c6d9852180bfb3e1ba774a4f3ca695bf0e17a09c5d23360d6c41bc4b692417035b38d55a119b77d6b03fa13a087e6c2b3e3705e3cccecbcba6afb9364d2782c18691ab57b51e43c64468e92f46aaaf3c2aa90b6b4673d37578f7982b3add6741246a0b8e2a3712b959d548737d48ebfb24d57614b3a1d0df06dcd59e63c63f77e42d55ce892a4ed46aced5e4a15fbd85aa1ca4d08228a5555ffc4c195c4f961190c2006ddc3585afeb8d91e244a0a59e2066116826278ad6416e30816abfd9bb2d5d44d66238b4b58328a3a4fa1d030550b9ffd3e118e916251a408e23f8cdc1eec1f2db8cdd1f5e2beed64c0cc7c5b5a1e982cdca1d6d3e11a773851255a20d98b3dfd2321858a65040b3668d4f3a3e0e527ec6984297ab0e429f62ff3359a99711bd8f30eaffdb9e99dc2d1c39dca55a134504f4af1cdecd18d6d99a0481c967ae588a89049867f37c14fe2856021f3cf8dce259fe3b98dc645359745b7ecb0d963bd2ceb8bc5011804e60bcaab3788f75312e74d6fd3e02c17145f9159db5c3edfef2e7c5804117b3a06566d996116dcf1a34156532b3715c12e616bd49c3459770258aba7298d4a48ebe0ad95cbf1981aff51037997bba9ba2cd6c52f9b5c7fc42df0ae0b12d0027705de8826aa9d9c36915e306ad7bad4da6f9d9ea185458f0b94d0515e30e1a27fd12f18db81a48d23868bfd0a144cf909b231cdcc6b2520a3f65db49444f0f9574d7ba97d8e5d2a55dd728befaf8ab86836e5b883ffe4f234c778c2fae06d4cd6bdfb2a922a204699282ee7d541a873066b9d67cba562634ef70554705eda6a04ae5ae9686f7958b13a4280675dee096b26d288c2e0b278147ed514813c035f20484b1af0073f7045a054007fc8bbd1ec4d8188545617d53c796162e1968fa3b7ffd0c3b17b724cc639a70a735c67689c5549780118e61fbe44aa1606faf0cdb603b6755d994ff34b38d2a037abed297ecc11afefafa6565374d23ad709813d52de9c87b71ee1dee7eb54006dd6a9315c20ae620c5e664bd38a0ba9a4570ce38854c9f1b18b134bd1cb315dec62828c717f97209b2e0935ecac9be5ab87b06a2f55efd54bfe3b77bfea450125d9901098e05af24556ce1321c4d28159ddca8c6cb4657be86c706c6698156a06cc94f75dd627cf43168b0831ba23bf106016018cbcc54ce2c91cc0ae984b4e7cb61894be15f62dff0c23a5d57fb59ed6d9b3bedb7307e4448c414ae78d626ad4d17dbe81849dcbcf1360d7f3c1525d0f44c304b9785a63210b6b9f2634263789779b7bd4813730c54554c39a9424cc1b55b63f4b128552dcadfb58f78d5e06dc926860feceee6e692ca0ab9489a8d7ae78861e6f84d41a75a0c8d69ac00cf8366090b6b41c3d469c385d04be72fb680a9a278cc31f0590a37304c900c133894bfff276a9844ce5b9badb84a5535e324df8835bd668b21a7c464190a4442fc0ed0ff79a9a2a93c3f6812aefa8e6785c5645102f8ff5b1aeaaf42eeb5e391864146c1d9ee227904029d4ba934c062b8f2ca9358eec186cb3289e5ab106243f4873b8bb2656faca7e0e9cf23085b51c7f1dca4145fea64c86a8feaa8215ffca79cb67ddb1c6598e1ec1aef5b936a6adc686f95f40c09daf407114285a1a847cb43342d9a17ecb217ea7f86040e9ad65ada2aa9a286a1309f9eacc36c648d5a1eb9f982594629b866ddae5a09178be8b47c25de48dbe6bb31acad0d97341574bc8ecc27b7ce1f733bd01e56f08767f5cbb5a7065201ff794c10b1b6cf479a384900f03c4d2f3a12d6c4e9b5cd1a511203ab8736d14c3c3458bb74790f8d948d1b12d9fbb9768f0311e409ceea6edff61e7181310b731b396a208cafa7866bfb15fe713ae3bec8c41e0bc39c0ec29411528223da9b1643562ab90d6753dbfa4834cc2afbd89791ec9c655cf565600fe0e2224285060770fd890ab5f30622e34bd0919b5bf32895a1d5b26fe7b479e6fb334d75f9eeee95a89dc5e2dbd3b1cfd2d8add308ffa33f6e7097b42bccb914252fa6153b6008f080328c0132c5c031fcd08b7af6e9c2537c48e772962c8475e5f7d086331925dca89c70649c42c989c484f96ebe53d33b4191e0277bc1ae22336f2fe290772fa16f8da8075ca607c5c6ca5c04cc845db065c27337cd38c41b198910b8fb89e4e2ac99ed9ccdc6f9d2460d6603588683bedf7bc70a36095bbaff4c9a746e6b1308dc3e36d651b2cf9658283d12447bc46f81dc9e2f6616c16e4980964ed18ae36040125cc6e8fe3555ad947205299a7ebbdedddd7ca4372dfcdd4bc06a780db61818531c8ca8357b22369a0fce5041b32b8410afb6931f28a4df599862bc393f4cb150d8607c44e98971af698bb28568948cc2e56cf4da3281f5eae91377ab2443522a6433fd9724d7e4c236b9f3fd6e2468628149e51b3a87ed6b81e555e2ed250f968d2d892c358e688c6e2f485810b66e5212b0a0a3065f6f0e8ed8d3ee650b3543c84e8e354b2906d549c9c9aec44f5a885ef2af8d7adea93bef80ca51675c8addc28f79d22493cc44dbcd376191916befdbfe1624f59f026868c9eae75be60f8ac9b10fd569403855cac95c41be9d5f31cbbb05650b0c5273c681f920e2fdd525622ae3b5b2be8e1ebae89bc606f32b7517094ea0f758a10cc9234dc53ed3ce1f6324e1ba9257b4c6e6ae102316d544f91d6c94e15c01d4261f39422185d19f5cd0497588ff0f043ba553baeece536b7712c49fdc85d5d2d570582ffdb2e5b6f4745118217e64466231cada4ff169fc7f8f8bb88b8e956dc1fedae157b8140a57a9b86e00a0e99ee94d6875ae7ee18a6fe157c7bbaf21efcc7ffaa21abe4504af8632df713623cd0b41189f5794c0cd77a30a0b5312edc6208d82caec4d214af48fd59580962e4217dc34d98d5d691b2891f14467ae0dfd95247109e4b8528e15f7c08bbdf87f11fd7df2ea3996371e0e71ff474217c8abc7aaa43232760770e2adeb935cea7892742606f24df34e213fe1957e1559c0fddc90429c44d7b9395d724653407617ec3e5794fbd36293a19b5f1951de001a718b308eb9af8760d6d2ba2d6c000207799bde6950bd6167ff61a3aa8b82af09b3bba593cf08cab75ec904b8634915c8a8fb97ef27e06ee2d99c2f3e6a8c249fdb2f424000887f6b0f4c24b4f2d119c62b7e43ff74e8d9161e599aae4d8ff7460d80cf86af52e030a74af87fdcd34d1e4642d4f0787f8aaf103801227559e9301e3e7a8b8b722f5f064047bec1b8ba82b73c1f40dc9d0097cffd39279039e12a9ba6dbee47d724247eb8b51c838db19b338264fd282a67a4c313d482e55162925d072a4cc1e57dfdb022f6f57db392844ef96a3fb4c8b302b8cb48671bf204f25c740e8a24eb339a29b8a7b5e237da8ad2e7bbf6ce30c54c92407320c6c086fbb49a665ff75a66bdb38b6691540ca643d6022fe7a5725a6c94808377e18345bf8ee06ceb59944d49fd9769a0313ce7bbf4f212a9b269460e1579a3cfbdb8cfc59fa0f488ea725f62571bc85c26eaae52a93ba27b0288a5d629e7867a14b5fa03aa50db4d9d440f9a7a6962a7d32431f8f882488f228a050533c70b63d895545d3e1ac5c72f71b1877c7cdb60382870b3337b6a0a1b1bda03ea6e8be6dd8e2e0879cc3c33bedc01d559b8005aa7eeaa9a3dd4693af175a38662be7a08f98b873aa841cf25bfd11ead563134c0a1558703dac644d8a097affe3a69fa5f6e188f50daf725bff4a28a434fa0539b68f960dc6a48740a2e113b484e0911f0ecac0563c9c9ec5483a04ab2426715cba3acca3e21116e77e37c96aadc723e6b87b3e1e2283a6208d53b9f423506e5e5b88e6dedd000d293e9dae0d8074c94b886ce42b78bae0b1438c4d0c8cc43d9acd7335bf7f99c2fd1a304a12479de0b2fed51dba742a3fd874f22e723ac3470dc1509fd242bfd256b89a2bd1a2d1f8cdddb36b7169da216bb182b75c278a70c54970c1a905411a7ccce6af172144f4b7ee9ee2328d71bacb8d16a5154333c5230ee5a07c89a8fc348d56fbcee5d875ca7253886a80ef25f8c479f326151bff6d6d2f9a2016fe3b7b801f8565c3193e7588451c11fd5f9b48fec60fa0c64b5bb26303fd21350ae9c62efa6977685aed192c3fa25118c2372f5eaa5a1ea6e7414512ddd3b61c9b8570bd74043c564f1f9e90523ddbeb5fa0fbb90f660aa7ca23c20c8fb086ed6e77de1d2428a4e404b670833253f18bb61037ef5ac3c5136e96faf5bfc743041cbdd13398f59e604c1fc30e89f39be1ee55ffb3549562d9728d8d8bf6cf9e1a42dc037d1175f51c47c52af625c35d56edc12a30b32ef2ce8ece72a0f1c1df361577442a691a200ab2aa17319b22f5ee668c4e2eb097a2123a6ffa7b5872b53936298419df9ebb4ac7b5d41ff63d54e4b4e37c7bfc035e233abc6422333f1c8b505b622378a5c494d4e671f1cbd1d55f9255079357262d251f908cbcf6e09415766c40b881041e39cccb3d6aec660264b41747fe26bf6940dfffc0d0b69efec3962ba69533e0c405c12280ffc3d3338ba6a76697d1313be13a49318a24727669ea02286c026346c44d0ac5c864d8104aae1d9b4e8da0a6760999dbd081cfde9ed898e659bccf799f88cd4c7de07965c418a3cbc6ffd1680db817980ed39fdee969e8f4b282cdb5b6445c6a087bbc7e08694a074bafc3136a537465798d1d469761cd39ada3015b0e074a1560962e90df833c3deffecdf5ddf0eff558a071efbb05c4f7f89b49c41c4062f1b18a341c1837011e6afb8b79e5afae7f480f772ed1e616eab60bda279f18f361943690a03942d2869e9d53eaf41326c59987c513bc5b0761097b3356d121a23be3416f2fd1a9390c0eefc4e4685610ffc2ad8bad3a1ef5bf285d2db998c7fdc55c6266d7495874fdbab4689b207a67dc4080c4f3f2f7a2a9d74f8c84cbb9ab81898fb8d093d7454f3be4ae128a430faf3335e7e7fa00416fc5d3cd3eb13128aaf1019b9dc588a1d2682d8ec1d46dca20390bed04ffdcacc78eb64b38290f74a46e0f8636bf8d7ae4a54f236ef7467982cadee88ae6d429e55a969502d8129a2094d4b60d4c92cb9324d7f659ee4287b393344fefc55e0af472fa25f7b796927e929fa985647d1742d62b49fa6ffce6f793ddf561ac473a79ded45a1c3fdb432475db10bb3c43a5694f5c8a57f346f83395909720b383c31d36c57d57a79a7964efe6cb3503c70fb029f6e44188840cb46acbd73e040a65fc85cab05e01caa2f679acc077e1759c4267c9cde73262b0e367a14d1190721e6c2a0e452915e99d0dc54c4bbf4df18cc49f0064203f703a87c0fe98ee8539e810265f37b4f8b579fc296efe065ef50cb574e6afb89d70788de4b8c35b621a44a404430217609ecdec4f73d1ee952ec95a2bcf6b47496c6ef1eb5f43f65f05424e30fd1db978fd312a9a0424f3166af0d6f3d69614356468f2b20a3ffb8f4a666f796be66576de3d0947769e3d455de6e9ac8db3893346770d4dbeedcd98593c0ac966d7918bc2734d0660eb3a50b4a18c09fa08ef4fedafbc5eda078e1ea03c4d209d7d7ddf2d5dafaf0935a553fe86e347b70853fbb1b37dc0a40a0ad63fee6fa639566a01f3c6babbb93acef5bbeb92fd4ee2ba11ab852820eae9cd2cd19571558b595c4358f0148480b90a2437ff4f5d1482857c7c75f53b67e6132c3dfb70521c7cf66fe4988e99b1ccec85a8fb5cf4f5703f79be5137fb259f98404135651ddbf986b380112af029615df528f37d99f96ddfa537dbd208b5d21914ca18ef6c2fdb4c4a600ad2a4a5b1cb5733463f8119340ce931b6c97a26383b75f86708ac5ae505b773b5e91aad9048d90dcc59a49c84d0199862d7125c723dbbbac9aa0f0db94b1569ec61b972f56ee6deb49bad6e2b96d0633589bc038800cd3103b08e042f6239c20e37a9058db21b52c99fb2f8723886bf1783f53122385a5ad96bef16bc29ea665e6f2e09090e1e7b521b105ab2cd2a8e6803305df4c7bbd0c23937c686d36bf40422e66b58376e6ea4a9dbbb37a7bc52e5ad862922b657fc62084d55094cecdfb0d82913af40e7461eccc8ec7332a9d906dd88cb6738e81ebd5b4a12a7a2ba05b9604663e9e6ed141856a0d8fed48867460d0aff21a592764a5d9c8b707f5b41811c75c6328684f211801e3c656d9b0079ffe165bf315422811d01ef3593698d7af12b61eb612a4457bd08021bc5b807708204b765a5c88d213b52fac49e62e0ac8d2c66b1bb8c56e88763f0d4cea614772be5df29e15d65abfc8ad1c20742dbeb247bb888fb1c020ab27eb25f7eb86d5a77a1f9ef0557f66e4e7428fc126d08dbaf90ce11a2c41835508fd4f9904686127e1b2f4de13c00cb29cbf9ccb75682ca59a8d800871cf9d33b1a7299cdd2a6fb53e439ea57f66cf053cc78d36e24016c3a7a44eda03917f869aed20183c7957e1a38d78ebfd568d05b0d9d9eb8b460b298109724da4328686e58c101f6981c67707bb3d9432dc0e960c249f1b1b159ba091396b2ee298d6e5ea0a27d18fd17958e5f7de3ea26f36765b5d1b2aa4a5d4bf06c0f6cd596555c39d9cd09fda6b220cdf188fc25afd0542f94c331fad12645266ae0a10386ee0f1fd5b20d9edc68266a39a4ee009d12c2b8ccf55d0a6c2f781de6be5c20fec45fdfeea87dceb81fc3fbed618a5fbaa5ed8f1a75747b40f6445368a65434f61548a1c4d7a0e9d1f5782d80091869ba7987c2cafac8c48076e947abcb0ea63fdd549a6d7b2bc4a99c4500b0fc12eb89965412b028c6d2fdbdc60b39e1c9cf590625b59db875de6d8765225590a0180af3758af24fab2e84a9432cc125ed6f4c1dd5b3bf8d7abc2389a8983d1389e8a5f3b72e2a6039d1c923cd3fb15ed6d9115af354d3e0cf51c66c4df0822fe83dd3281630c0b69f77446f36294978fa50dc675cc37ebe9e379e2bbeeb3637eff23029550af84b2a982138ca8ae3ad646620f7d8b7bfb0a5d5ffff225adc02b1dfbce7b47c949a1bcc232f8496c0a7701a16caba77abfff917c841cfca6b12336b4c4412b65daa25fe67c57c9785cec2dd099ffdd2b4c500416f5933014a6c8bffb92e9dcf59f4c980e441176a297c47bbf3436801dd29d889d3eff961e9d0190b72f9c8189719ad7f80a27f5e93a68251d725ec17291e39f280e9719ddb54d6ab70e4eee80b5122e07483dda0a47b287655caaee1079cff333b44d86625874a481b21330d37f0dc1bd810de1eb3261a9267711f1f38dbd43c9f050adaeda53c93d840bcf1fcaa90feb0a6d7b4b754118984163cd0eb7eec06769d1d581eb520e6360688fbe4b38472b96c3403ae8c96900af2e07f9a10749a865fde74b3d177550aabdf168dd5a32f3f2e20d3565ab9dd47fe990dae91cac236e39abf9ae7c369fafd60082bcf2fc2a55ed77eeccbe4abb422c1a2be3081dc7778d4ada4d37b6e135c2cbdccbc429bb76e1258e87c06becdd84193996ba3fddacb2f10eeafee2f06251084d96bdebf12fc975e3318571fa40572627f3a6650a417817803008b30a5e954265c4bedcf8ac2fce4bcdddfcd5612eccf3d56b871f3dadc799f8ae845c68b75221bbd683f8f94371fbd0f94b910cfb53bfe367825f91744844e6aa1bcd3d3c89f5d3241e7a37947e02abebda17a43d7340c252e3782d27e3748bc21766eb894233725c9369499a8c7f27d9f5bd6f9d6fcff00f0828fc398b81b64629f8ff2cd69ccca7f9b5903dabb2c79369c0562dcd7704261ab0d90dd1dc64145d53a867a0657665ad76d792bd4c500d29f91fb56abb03bf69aec14266a14c475341e8b7e7c7d064b92ab50eb65474225ef162780864d9827e94c4c6ebe76ef22cd2e54125f78eb054a7e27e9dac9e7efd41249fc4493bba2018948522d5d4fce4e9f04694c41167f1a4034ba307a814a616412dde4cf4c40b0fe2abbf41dcbb68a7c04d2eadc4d99c8a95915dfb5181eb96b9789c7f41df30f8f1767a8c6f5e3da8fbb27a4b9b6479ed608300f1f6963f379edaabee4c7815b4333b8efa5d36fc287589101ce6085dea36445a6a30b90c56b2b553f8c445321a7b1132b3b7d961d9824bc901d4642195c4e0a0c87f9ce3f0dcaea24fe4d972d5c3b2d81c4f352e7f2c69176d509e1bc9046ad8b8916f87f9ab3965b57f3440d595eaec1779075a4c28ff22c22c9a4d234ce98e3a3e192166a5a3706d213b3872b145fdf36e2e49aaf7d2b417fc8bd638164858da1842dc657ed078e3c10cb79495af43291d5ef3de441b8e47ff0cb18572111a50a23a0efb12f7e964616b73b3afee23534ea26b84a9f61cb7fe6c61a6cceef006a7ce955e796f7ddc7ed4010a810efb93ef0256c1731e806d34ae033fbf6847938428137f01637d60c0aac72b7ddf911472011fddc40f6fa1bae49b5f3d5e7eab251946c512e85737ea7ac62d43d3ef871722467a7d5ee3de32be7c9460c3e83f65d5f8534201a982712bf5e906b5a1c8aee344da51931d97c7f1039d8df323c56a0dd050e8132882d82dd3f09d1894b5d796487a09f54d844aed24e981c33414a475c079fb7811444121752eea045493414b964775dd08d0b4c3c8f779d044bcddb7f86bf73248592ba9293f80803018cb9567a53df326d5cc43815dcff0c452877cd56da4709685e46a54411ca9c9085f76b7bcda82e7b3ac6aa8551691ba519978021274e5f896e83eb0f44888ce4f4b1ff02001d2b55a9ecd580ee703489da007cc746ef4300897cce4466bc42b2f68a54a775b29168107d4752cdc71ed409b5df579168b5744d63f851e328a57bbeace30eeded8f1b005cfe4011b46d8a1661590ed1f31d853d989f2540712f9d97d61d6c813374447621f1499522179511f902812f8d3c42b446f098c53f02a3e8edaf3d8ee870be5b42c6bd69641a548bf7f91444673fae79215b666a34171236c6928e511e54d9c472e0ec32c9723961eaa5a216db14f2bcb73c92cf804a5b429e5e787a4266fa7c2f5416d7d3d0d224e4c5eff9f46db111d8897a33aa8257734edaadd9815522a8672904bed7ced799095d639b711b9db3c3d0809deeed398ed04eb5a3890e41c7c198699b97318287e8f9b199b323fa54402e44b9f0ce18595ccb0fb20bb1620ecf1f9c5cc1ce89670b6565295a2cf858eb4ec4f3cd6bd590e265426bc569f90f030fc1e14f2a7ac138feb419d4cb65cbce5a0268b4274c2ea5bd6ba6fdbdcc96263399f9a7cb9c2c33bc1f5209cd98725f723a221643f0e39d63e5d2ebc2bd1d0dc8f80a68aec596797e47cc581fa8d7379fcbc1fe1d137181ff9d60f3d9a5990a4546ff25b2c75bf7f1291d36977d9613d5001ed768f6d7d1c841343610026a6d00e4507b0bc7aee071df850e7a88e1d4da9889806bc6d68ab9b1d651a4b080c4e90f5eb4bccd12cde7b14b204eea61e4e9fd3a309d3de86bd506529884b3d92aff6bdd23fdfd57ecb41f6a08ff4cc90d3b58d313c32c19acd26c662c14b0f9bb452d6327983a9155f7c479f52b7d6e235bfe8094ece632146bb9af315984d18074b5f770b64c24d81b090b3d58f95eb44020276f7ec86ad849fe466d4562bff779b26bafb5377138b462a265c6d4502365bb541def37e1a6642b4881c4d3f1d41c678535eb779bfc5cb112a20a6e59f438364c81fe33c7df1eb3f90038c6677140f5c508444ec8834f846a8ba47cededbc0d0a4149cb39600fc6fc1d29c7ff61408caaed3646b14d3a98d8122c1463b51324a71d5b8e815ce651a15a6999519778253a99b912b451c99338a470257e2bda52d9f22792d88f2c1997e6faf154a1660b47b576363702757536f453ac364818d8529adc6e5640c010f9c24bc06fdd7b339a7b6ec43ee58a067bb68e3622b0498a4fd53372af0bdf9a231a9fc8fe757bbe87b4de82c53f632c81ac259c9471504ae5960231ecc34cdd72886a905cbd4d4c2eb408b204ab84f86586483dc2412b0397cddaa7b873c0c603e3d106c6b5a22bfbf8863579d54dea695867221f553fbe1f65487ffcf948de077e22f22a638caabfb429236feb3a772a3b44d60bda52b06e90c705f0c315207550397656c7f1ce4acdf9771a770395322bcd858490c67f6d024884d3ac71e75d992ff2fa56d422223b443278f1c5585e67c397467bb1a854ca1d0f0a9dc95c6599a05c8a70e9b7fc6876b39128669b3c19f27f8cd64c32482f849f6530126ba69872f6790bf8e4adf507768f7e4d3887e45825cd1cd788811cdb834afba15330882d0a22359611b5c9ef608115df5abe2fdb7e6cb8afdcc1efaa91c818aed6c49b38f4d95a49822f3428d25d7d7d99253703f561e2dc2070a2c7d8c485c684dd6dd5f9121c9e0ffd33dd7a5145085fc3ca3575877b863a603d41b3bf6fac1bc2f43b48d16d7aa524793c0f74063410ea52a9f803a9464576db49f42bc03ee7fb913340b8a805a79fe91f0f4da52af9c87366559258ae7659623d2f03276bc1435a090d8ac853344c66d433e4fbf22b5a1772c314c42e1060ccee00fa1e67b78a37720a384e9952140293aacbd196b1a53b203531060a0e193918b518dce0868988eb44b4ebddde7fcbc9e6871ba216fc602b3e5d346f503ca3fa1823ef0cac77b72fc4957bf9e10fe7aebc20874d5a8292d453bb5584ca6d576061a33d2be105f27662ba5c5abcba928eedc200691664fa34cc7391d2f97aea0e4de5fa1c10e9f5b5a8e67e6cb92f3c1875c99c39bc8639bf361942145a767f8306c79564b5c9560b3eb753424b455f0715aaeca8c43d35f7ec1df6fd0268f1bca3d97089a82824e628aefe4cc1d8f48452f718846d8861ae44d60e0fcaa1c1d269407388ed1e5495522791fcf8a2fd5b3aafd687c2946126ef54efe1185a26e3b86ac7901fa308d61e521d831a5a128725a1a7b13a0c45cfc77fd71326451c8b69bfb8d005a0daa512b92ce3b0b9d9534208acccff09faea92fed37aab0c224133fe94b30ff4cf7852c5010e99c6fcc90e814e43bf668e38800d6cce971492ab0fdb52d685b1eeed43ed73318dab2e289078d1298fc5b0ea0cd4c8230f7ab5e975b3913ee1757e98c061c45777bbb941cc39c21cf556a54be7d5c3b2b35992832c8e332189956f94659e85f84941fdc7f9dff0fbff1f9dd21dfc5904b2e66a4f0a459d5266238d3b7eae3944a8a4cacca339e22ac9dada27f0f8e6a3b3e6b7e28d42488f965c077c3112ba7493042148bf13dcdb5578e92aed32b7db644d0cf977c334b290d33c6f0a45f9ba015b559fa0fce348b8777f19aa67e965243ca1fe3857ddaaaef2a9028b5cee584137dcb571e9b91cc3cf5105a1d4feb0cec544d1841a062cf8fbe51f3ef64761beb6e9ab77887faa671444d5585828e8cdeb372632bdd284a7b4a32957d190fb810f6b00bc3bd27e71a1c17ffc9caf9f7599b497b64054b357bd625850c85dde8d9a84ff4137bdcf4cee8d438d663b2578fcf7925915ccaea30dbe3982572fab3e8d163356c0712bb6f84a15334bbac7adee902e38440862f2501c5feb5c9c5fda895563bd7ae124f7f69c800bea462d1e2065e13d4a8962e2c2d974fce4f4a1b7a14726d68d5cd1411ced4c31dcabe331f1f04b57c90bb5df7efefd07207aea3c4bf357ed36931ae4d210bcf7dc5474df772d1456537ab4c376618d7746cc8ead83133a0288e751078be9f2a6d803d12d3d03d426c50d4d5fd06ce8b7f7dffcd89311b91bf9afc555055588e6a0db8850215a849c3bbabbf486822bd69c2bdaee7b1223d75b7833a1d3c476a02f6008dfc42fa58e5754045a49ef10d2c4db3a96f8c51c84b2297c6db3b1f3e71aa28f0f9d9743b4ac0c4fb8cca5ae510563bc359047887af6db622ca75cdb68f0bf219eb28be1468423926254710fb24c6d693a3dc9a92f097e4c91d493060782179ec1fc582e7ca2a8a06a3db27e4f8bda8e2b80c2218a7b23288facd58447cba242b1a9a23300ce5c93ad9751150f2a7649fc3cf6b4123752e9f53267d44ad11d6564d541068dbaaf579e788b0ac7acad015bb526ae1470b922d71549e451d38018ec84a0ed5d6ef6a18a54b6dd14b2f3eebeaa194bb67a16265818d2988dd78c29cf5100b9a86a50309d9fd7494ac089ab58cc063311141371a048819ef659a2532e392fa8adb095b2f17391c2f18ad38b5053511a1b0860b7ab336e964ace8f8dc58172b04a5b4eff9ad17dd261c1c408e61dbe566f446acf97666e47282e665968175e0bddd718c97961588066c09dfd28888f6bc6325554cb61165044611604f04f9381e99795916e23ca7e60eff55b9256423e5cc061a526da6f3feff8ee02b8b8d140f410604dbfa7c094760672195942585559066825d42f6eb96a105c8a5b022dd60ff8eeebb4df8c6ebe7f14bbd73ffa4c1f66f6e452d72ade69a9361e17e876c1f6127111dd39ea8c321d006aa93c6acaf173b4153c78570ee819c39e8cbdc1d496319289214859ef99eabd4e7d12c984f6ab940b369c39578a31652edf211c6be46a82b58f7d165e521a6680318712804aa843fa24c8cb7c1f4a415ebda5c22795d6874f65631dbcffe0cf84bfe81692d06a9c609cc278876d644b7be83363d2a673ba5675bd103a65dea41c1de401f83e164735ec59a763d60a6a640f4bab89e1ea29720a0484b3436d5fe78ed320502eec31695b6db13be5ab32d66ff7f22f6777705b8a27ad9d48e2d0844a96bb535b100d0aaab9020e0b883598fe02f5060c8280b9789a6aff7d4a7008769036eb4521e3cd3e65cc198d36992b1da9d6c992b1a34eeb6982caed1f116a3e13ae96668ca01a715abf3908a4bd1313547be04a3a27551d05112c969ce07be4b606458fef2c24421e536af809283ad60cbf4719233c4200504e21b0c02625dc041cc55738ba38322158a01092689af5f991571717d7cf1cbbd1c128bbe69d7e52435d1e96bc9659dd791cc0fcb4c78fb9ec194d2dc70c88d2f077fde6a468b09dd11c16c77dc40e864b40be9ae7f82a152a60da0bc38d685806e7840ba6c726ffbf2bdb213f3aa7964f9fe4bdd1321bca8e7b79f0609700e973cc3da66cddb66715864aeb46eccf266ced785abed3b33c030d854b4298ad355ad8ee0211fd4cae25f5199f080c04a78a5f85c564cd0c190ace0d71722de54511ec5587c3466142da5f08d999cf760fc62cd196bc3cbea240e05ca9b7b0644059079b8a8533134f10b5a5e894b9e9caa7fb2b5859cc60f404b11d815569a408b0f2af1b9f4a9178caab871349c3d46f74b3c4c95387c63ab3d5207cfc198f8c1891754ae5ed5dd1f56de72558e592467ac1f4d20468e97f52d343e6ccd076a8e6f2cd218a3f3b38ba6d3b627de3a630af872b09e90eaca8b0d210677729c57fc5a2644acb34c629457538bd1adeee2bc5bc70df5b290b332e16bf234ce2cd70d63d875b4f5bacde37028ecd02897f46d4e85655a54aa5d75b0fcc6bae8a414f02dc55d0cb410dd27266cb57383d1ccfc9a7f7d36c49f6d1f09bf6d6e96933e92625465ff42dfa220942738cd70b60d292feb14fec09b40b5c77f5e66b557680b5f26e6c175117508d84aa86229798f99b7afd8e09d684cd9defd1450e532227335f2a7fa8ee4c7d44f667722e861e95735ded64d63b8eead56046e50fa744853f4b6255a5f5c1cc6aa5e18e36d542c5da766c76e9a7d6cb1f36a889a705fe09faca3c8ebf4b275d81d8efbdea6a92e32306b20ddd86abd7f2d7d976a3990f93782d28a43336ace022ad8dab88977c024ecbceffcbc5e36f87514bf53dc367ef7922bde30f9863bc03c5d2d9a0188f0384fda70f08deb21b996144f3c994cc34912d2c2c0665ebccdd7f4949906118c23464fd80fe8f628a66464ffd92bb389c9fb84e1cdd6a165aac7ef89552402d4081e77958b0d584c6b79dbbfeb12f1f6f005195f180b09d14e4977da80b70e3422387bdb5549530fcd9fb249451c949d312c90dea9fefc7a24919e0d2ba366dad30dc337fadac6647599df147753b39cdca24ae805614bb7423c55876067af569008371a48ad006decc02330e57e7e0f4b6c62cffa4735f19543b71b4013b1c987fe5d3672299306b95926d150ffaed419533edfbf13b96480452a13b13711fcc2e9701dd0d815987dd19d49f376dff102272f28f971bf6e3471c92e430abb5476520190d1a560c359da792c6580e8b3342f689006c9cbd82ed272402ba71480ccaf89ef57f8dc01a2713e3b51a2ab045f020980245e9af636c95a09b9c9bf974ce30d390c4b15a62440395c84c471a815a8afd82c1a18beff48dcb7d0b6e145e2800a76c85cdab60e7e038ba65c6e063cea4f7468cf6284f1ce510767cf70cd21ebf6f07ad0a055d35420ee242c5d4efd00d2d4be3d02c351d538bc719741b13ea6638b1f99510f225b65795e67cc406246a0522ba4f29788dd96af8eff6bb9f10e2d0474a66e7fca5459a9bd38df2e582024de75274747082a0b712eb8c5bab06c377cddb22b52edbadb2721de9fb7ea1153d13bbe109235847ae4283d5b1ad6c047780de246596496302791096a4ce888b60d0543acabdc489c588c5df6109a06077ebbaa99938fb2adb24a5b72625c1a085a51186b4061837f31ccb8fa89848baf95a081813c84a572adfcb29ed6cdac0ff79ba16d942a835423c85934353802fcb05f0ef92be89f15349757b8ab4c731fc394f01f88edfd74413b948686bb83ff22ee0860a717f5994bb2228cc4a3c7b9d9578b28ccf340212c0a85f533846fad2497a6df3dd6fae75886ea6589638cfca1d5bb5cab57ee1542cca7fab36c5d2431de250ef39cb28af136c6dc88d4e4e3428a03dc1c5ce3110768fe5cf2045922ecf55edb7b210e5ca76e9d7c92684e62cae5f2c51d232dade023a1cf55380cdf863d57a61cf683fbbfd38ea59b178f326df9858bdca95feaabb319e0b5723a87e90d17084ed9a2fe80183f4aa9c222ece9758b115f8a8176095708dec47cb53a40261638938abf23f0ff1d15ff627148c69e94f6e06a4302fc766b1cb97858446107f843ee0ba6d42726d956090cb2a7e6c4c0794a182c506e74645ee9fe3a149c85cff4f7da19959211dbc9a6ac5e37e16abfc2bcc4abeb89240251e8bb83c3a6d59f468df32733deaf517d3c07a373dd4c5f6c32707d34cea00cdf7a9f4d84ac36c72ff040733a9cccad76951555a2b46062caf40367f7ad17ee5daf57ccb90993fc34644587a6e0ca1ee9b66e0443065c57e837019d6aaa1bd6d8467f3e18217710552a4c4d215b461fac79fc90f17886dcea05dfef0704ccf7a9dc4451b6fe3c5e6614ef6dfbc0836d6f488fd2c826e4ceea1ad78425e18ed9cbffc29cc4d7505f9ac478ae6d7d4ed03f39514888e13997c4b15e8dd5a1c8609030324419bde7fa52c296298c47cda6f624fc680baf8ea609c7e2171fc2bb5900c297299e04a62dd1f0ffedee29a9d2934dbb37c1d5ca4c0559946f6c08d97aee1609d5053fee9e7659163780e9219573cdb6de23056c8cef869f6c8ba7085715fc542bc714b33d972c5ac0175e5a6f737838ef183cab4f4a737a2b442a18ed87a80351c869311a1092a626a7b04e7ec6d30a1f42d9911b9450715e1ad8ae338e62e0c68efef445898127d387422701116964149466aeb97777993d90f4f5e1c1b5913ea9c5cb7163f1598df1bd8c9b24d15afd961618c0df2ca8f74936aa73f27f64de5d8fc88b3c42474709e5217299f505f9902df5d158fbb97319767698b8b66ce3f431e01dd7d65ef1ace2c7080076a4fdefd58df9491fb59a9ead86250b9a3e8047fa26533cd971648b50a64a2a5664474fbee6914fc4bb2115060b3ad1fd64f520263dd91b7548aee26196badb68130d4e3dc0ea8615ea645c87ba7cbcfd43d2cd9f48eb3561f1873570a24f7a3a8d524e976b2010484cf0054cb586145e2693b4786a0f64936b0974aff370d84e759d9a4786d08344e5538b4780224896c691664e1eff7c1a445a847b40f194676ec41e048dc03cae57bbf0876b59e6aaca03065f786929612db8a635e5883177b6d2382e57f573a9aed4f8f3ace5205785bbcfb5168ca6ff44d611ab37632e9d4d2263ce11b0efab438823187cdb0e36d25b9e5948924bcf0cb23ac4ef6598878e8be93f04eaeb1fa443e2461040c9b0733f562d1f8b201976cd71f70d5cb4332b71f71dfcc9c833065ad3e6a7ef6978127871c8a72f2dee991987c0ad9a9a91f29f230704af739707059014b3b1e1c7999f6b03c5472659a84316d2bb0cce8de31d6ed42e1cab18bd0729624fcfbfc45ec9960c8deabb34b693ec93ac41d74f31ee6d11453d443b5c39278acaf7ab37deda4801cca4b915ca5ad2160f4b653a860debbbfbceddbd2678401084ae308d7ec54089cfe0c7fb73562f46b3fd2eab5eb3f69ffd12b4965bf9f0ba9f99ac76f80bd525234554670840ea8935d55252199939cf866b93949b97b37b128950a6672fa5ebc04158905104cc5306b64b66cd0099e72b7d13d04f2b650262bc508624b357d598d36e8944d952af7dd6be43346854a7de622aac4a3cdae3542fa684b2f4928cbe45e1cbf2986c8f63a3c387d2546cdadbb47508586aac591c475a750d21693016c7b8fd85a19b7ed98374f909fc5a63224543e95cc1b77dc3b6dc26d852d658a52c3177a16a0d5b523cb6bd3e452d36f00f8ebaca6f3f15ea8cc477d9be25e8eded167bb1715ed6ff81ac3f3a725380594d98c7fb892bf0d946a532e4e6f725fd7165cb68c4d3c4bb691db25202a131239d74f8ea2a65cb5a3d1c3fb807b52f4a9b4318e088c6576ac1ce7cba715d74e570e31aea1fce6d06e7dcc1f5ef4158117d5147da331bb65a6dc12b9e69db74fa7878f6006922efc708b4fe8c73961228c38e1128810d67b322bcf28867734429d572dc519c9ecd3a4e34bb7e15ef8700b7bae47f5fce0167145a4368b0d5b373831b2345598620ddbf55dfca0ff43fc4b1e13c3fc863e45a7c1393056c710dfa0be9c4e7e4049a89e4f1ac2c2c28366dfc4745def34c07ec25070ff0914a1a645cf49dfab48ac79fc1afc731ef7fd3be4bf8b926b6133a15a8d17c40ed5c81dd89dc4e4ef8d82efe52db714b9becdc9d164ff28d881395a2fb1751b539c78ae168e3d13e629f8b0f2bc9a02cc25dfeeed0079e7ee2b11e892e7df3bfdd3ae00573b50b8ac75c1f1702798919f6e0a8a9ce0c49c6bf98a94f9ef2bd8d98c4fea329baeedc3febeeedfa3e13816d22e30004fa41be31d7919bf1d98026f276891a8b4d161ba801598254f5018e0af10d01ef996e0bbd26a0c10f8ce1af6ffaa125968c20bdd5a264a1724347df2aa0ecef943a3a6cb199c0983905d9e383dd856c40955b12ce47df1244825decc80256737b02c07d2292bfb355f0cdc7fd37f6ca539f708600513b5a85ddcc52490d795e8d8329a7a209516bb546ec699587c1b54454f5d6d71f3ab4703cbbfa626da4e95d129a544d738a49380dcbbb3f512114b0bba9de156cf0bfccfdcf6ded8a69bc4f546f13a9bf73ceafe196c6658291aa7bab3ece369a3934085e7a813bd34b79416d52e7de07516f8202373b81079df31c378918d5639418d61d8a412c5af620ffed6b1ab572e614a1aa0125b2f020f1e636ae97337626f5f0efbd66931e1b124ef62515c8c65e5680743e9db39f5715dc0fc78b2844c87382d98ad5678c607bfae2761fae2d0930acd06dce94c4e6bc310de6451a2ce9317b27b381a8c7d8deb294d536f907e9804ed32bbbf0d0b4e4ff71291f97461a605d76b47fe3ca6cc3566b99a8538d44225ed6f8ca7b7b803e1f113a04d4ce9c950d3b2d41c93697c2a3516524c1f3d9066d27f6ba6e9ccc8fb147b73078fc4eb10a66948d0771e2be2e73b1cfe3a9cf62024e5221fbbfd23e5cd23cb6675b7226ce76b08d34cd20f4decc1488599c30b31700cfa22ab9f8754a1c49cf83b1b63f4695c7b3365f033b3ce35e1dbe9bcbd84b1d4a48e96817c9a1e32d241de16564e330ad28a8e54bd6e47f95ae516bb15a46ee8627d0b6096ebfa064b75291a36f6343b6940f6f1ed545942cca2befecaed5507f2ea3c7f44bef331dafd22243b2ea5076d532acd9cfabaf9e234fd33a8774ef6adf5606ab93ca00b59e61602e4a956cc3754acb343195c7b1578fbc689ee55c7a6770b81328e8a4207b4a32fa3a618524d79a81a3ed38f04a403c42b2369813e8d7797b98ca78045c3176856fb79dc5af2d05eebbb9581006b76ce34085187bad6add940e0650c79652bfcd3fb69f7f22106e4cc9aa679e40fbd2afd7ed289fea3d136e6c9c2096ddf3f52bc659a0dedcb6a5b3fe3846b48a9cd90c8f190b2716f46c9765ddba669882d086fe8b3bcdbd36be2d0d15454fae54184158d876d7d1422c46a697003f7195fc2648b59f8bb3792b5a1c008357227a4448b11837a51220538743f077de57637ebfa722ee7f8047c32823031b1ccae6cae27e6d990852f8f6aa94de71fa62eb9cb78369f41d6dc946290de36c35cdb101e2bf5797ad25c960c289123b9ab7370ad41e14c3303921ae95fd157a00e66310779b177366f9ef009be8235054453189fc2c4af5a7bc05760f9f69b98b71a4a130d85d026fbc5d6a55d9448aeb80aad8336a7f8bfce3c9f97edfa121b68f03cb246ad12d27cbfcfd9783f1f3fe173e466f1c4c258ea9509fd2a1a8da9c6cfc657c9b135514a84093b1de089ee4afbe7fa793fa6656ed56c02852e7ba3718faa27951a4f3ee531c7ed11c8e979548e455a1c179aa7c8f48ec44a359258fc3970ad19c092c0f72ab209e160d884d9d6d13a26814aa6132266e20c0e862cc4987c224175f5a53174faba7b1a181e0edba0bf9287ff6055e18bd14717b7cdddd3e6626bdb5142cc10759b3c6f61e95d1199eaee345290f1356bc8d8cca38199f95c46800e1962f760f977d801a039c704d8f1a469c0a0e851f2ab2254265323caadbb3a750e760bc4cea7b1d459bd137375b6bffc120b3d26163323b35be0b476d15b17f451756e0e52f4ad6893aa33575376c7786836d8fe247265a166b3afab19510974a8d3873b15df41d8d7c1fe4447832b2b08a18e6b0c09790676180f2741144805e5cc4389fea09be91c0609c4e974be1929f86c895d7ae69b64bbff1ed6fba39b406bb12055aa98c2fe178045eb63b52a20b82322a4252f3d934f0e7ef050377eaf55a33c735ec9a20f36493e822578614b921451ed8edc16b9e80d4cd889ec15bd478cf1863dc1f43761594a4b6b1e066d3f6f829bdc4faa20590ae48e5bd6b443f9c25c7583f8f7515689b43dffc9b7cfaf6a24084b6ae8b5d87e7f67ae27c4eca0dc055bd7db1ab91d8d0a4bc87b9a8b0c9a89ed9f75ffe27e0285922193c5e13ea309afe12900e1c56799e600a32972f7ac15b47ee64f6704ed1538e126d583e8b8804f346af0a2cdd91d7eb2c457fec8790487568e7c00f5ff37f64d5dd71336e1a8a6b3592349c384d4ba9115bed7338f0e32b49399739abf89e2fb5299a7177cb8498686e68cb124a31fc0b0f367f041e1bb9c62ad4db23729df7753091e87374e06e67620506b26cd6beddd70ed88683f30ad03342b818c93b4a78a2cc689a4d34250cc08a37d2dae8254e2560b1d324920f18dcf3e551493d3707612d7d0d12515487115868695880f36df99a85395241c6a3b54dd86a92ece7078230fe59982bea7639a860765447abb1fb956548766e68e2e11135ec8d630d7d20046a2126d127b7c196e8635f7df8c98c21d18484444f2fe1cfe3c46e8ed99636446a8eae1edf9a820fe416ea7127e93a937d937ce9d8ea10dcd571b22f18062d490e3d4accfd8115b75c0ce86cf3824a9db1b0a1e75fa220caf3c68bf2bd5a9c815c906ecd37f6eab9b1ad1ca0eb638cb18c7ba83b7cd0f944571b1137292d81d4b9c772f11ae1939b0112e078af22783844ca18d64df2531b74bba26f42970dbfd385688ea2dbf0a795daf23c03b41f6a8e64c3a97a7fe76427113304dd363de01ab7934538501cdfb7dbe2ddbe5521c48c83feb4cde4eeef1da5a3dfc07516bd9cbb612d4426c8593b2a2953446a3c7372930d23a9e4c403bf75383457313b2e06a6bb8dfbbd5e15da4c53297df75b8332b7f3a44c6d7df8bc9b6b1f06ecc748dadeefbfc7edf7b3cbfc1fab2e104f4408ae3a2e68e830f6dbc91c15df3adc384f211a1ebebe683b56666e0c88dc0dd16b4516f7162513076e71dae3c96f219be7e8d87d9715d82144b309cb2eedb60b9ad09e695150b141bc723438e16a08ac06111464e03f4697e6149bfe7c16d8cc2bddcdb456d51c4c8b5e3ee2f054936b543ed65940a4e9d1b85143df6498e359bdd0111879f54ad2b68b710a2461efc42b6050d756b12f51dec2fc0b47ca5d9c8db54fe455dbc4efd1e779a6665a52c3e3641c166af85bfc327430eb598a0b14024208d73ad84237c3d4191d219d0675a58643c4cf0664e2b23448000a3eff9db0c78c42ad948a6d04b4f1b156dd45b7bbeb2c4f3a8f7046c51e0ce86ea0c430dbe1e5ebdb8984d42e2214da01d1bf872a6100c3edb77ead10bb19f7f020348cd5b9112371c6050e7a8d072486494197f4d34805becd82659eb3ad92e0ef56c0ce2f7df9dfcafeedc17668428ea38d9a8ec4dcafcbd84177ac9e5c4f7416114ec1a3476fe4bce27df13d6f42c29d4f645a481f878f34acea2811db5611d195b3b9c94ea6eaf72cb13a1f9f5efc571793639420092735ca54f0ccc4c6b920f4069910caeeb51d1f1c0be60d71487df989ec6bcf7d902e3cfdb66566e5ce0c4af5c7bc4f24ffbf28874ae191f43f996896f8cd9fb7379ff9eed2f7e4166c4d52805aeb68c6f784251735e8c82568982785bd0834f7686a191b8e949fb409555fc6262d161489c50d7f22acc32ccb80b809dd30a528526f5095e798d56646dbd0189bb086fbcb2956708d35c75177843da37b5332e232cc83453b21d3630caa25515ea661c8de000026418ed85cca2f038b596bff966748c770404d5de49e922d3f6c28fb52c37a1ecd69b25e0d7c9955f473e27503d1ed437cbf68be1b3fffeb04040cfe34a3d0c444c842e114d78dd02984bffe71a7fef56f90bec7d83a9760709ebfd259088d9a1680e2d4e02be1c19a4cbaed6478bd325f6cc693e9d74584da5876ecbd2750e1161ad2253f486d7a58263017eab784fc46dcccd7d0c0cc3843ccdfc3fc6efd8efbd43b83e409c572e9241006d7c4e95548e757d0683bcd53ac87284feb424148852c12a7727402eab581ef5b6524a8e36d490ab6b1e777ac42a547f3cf4241286765f550fa4d248819f86d74fe1170472062948567b1f6093b00b530c88108742b2727b492d31c3b956e25227a2a92ba5c8b6e470a355b570811bcac8cf303475c767f4d0d00a7274f1ad1f1d556c1e07a7b454fc4a74aca9cbf2ff2db047a35a2ba387a7f63404f002ac1b46d9e11497a12bcb1160441e546df3d42a99f0aad514162aecc3812ef690c560a7352cdd5f5395e5ad2e878c11ed17da1aab2a0fd177cc0682a85068774fe75fa700d01212499041bbc80a1c33eb5873d9d965936091f3764d58f21845aea7200b1745b9252357f6f099802e77abb081fc1dd396873122c35c4b6b7da37af585731713bbd5c5833012d449fb98e41f5307da69fd6e4fb0337cc1cafdbe482d9ee465ca4c7991e69bb530badaf8efe97a9ba43d62624425ab9575dc1de5685b5a27a1b949aa8813321e81bff6b8e7ec0fcbf65ab66b13eef45cc01d52d7ae2215f2f0ef058621a48a991d38330aa3397b596e016f944f34c86ff5c4e47a7db24e4e67571d0043b849d2f1485b43bf7a44161dd901ed2d8870af40147bb7719fbedff8b2ded530ae8882bbaa4ff94754d33a5437edecdbee95322772b6069e3aaa54259aebdaf973dc17a6d38dab654a384689f6248acd250dc16d1dd28b6751c4754160754a098465dcfdf8107142b2df2a9853787bdcd24a0a9edd2ed055f779082a5d0b3cad1f560a239c2419793536756bd198ad188db6ed7434bb21b469c82a566c7299e5d3f1dd85ce2dd4c4407ab0314ea637a9a250a2c80100199656c04c477a3ad5188f6a2c84ebaae8a574667b6bf07f066c6ed8947cd8ba86dedadc8b0d5f1fe8c6101efe35993ad8214e69f84f130e662f4b29578da9b629b2cf738253b12c8f0a4ea09b60c355b47d9481873f49aa26245972e29cc19768d39e8723fd24aaf208f072af55e20084054f0da7479e61fb72332384f111eb602ec3c3176f82c7d9a99c71ff08f0108b8575bcfb85341730c06be78e37496ed2b414cdaaf3943cd0e07f43b05ef6d8fdb78bbe040ca5f457688b6d86305c7876cf927c78543df7966c506618ba0f01597a3d150f026d4edadd49a19c29feb0d01a93d49bd99b44cb51443c4d8773b9d43cc927ed60cd1807076613da628f4c22ce213bc452a8cf1b18a1d9cdd35ebf5c9e781ddc837164c8937959e3bfbbab00de5697a2f0b3ab74d36d1aec6405483e5c7a5852bbe6bc68e77546c11a20d58296877c1362acc28045b5a8515053810e46c23b53f9d27f180ec08224cfa6138e7603e1c71780414a41218f66f1a96254a77ed90143ebc435033464b1b464b64ff504c77fcc273158bb4c2fad98d6c926bff152effa6b5571c917db3d5db1bb6a6d691620e001444522eef602f9f3572204a9365cfe4a8fe5ed6f139d4f0901921dbb5a54e19a3a4cad6840238752b24c62681a74d90ad7a19aa51f503956206134a73d2e2b304a8fcf21c1456dc67d81fc9be4dd9c18227ec9dfd928fccffc4a6468d307c3f22aa5e1b0676dfc1ec3524927cf960792d3b33e34a8a39bcb4e278d015cfdda1d4215d6791601a6ee818fd387149377cfde347df69e9cffeef3de72ad004d261dd8be8eb383e0c6511a2bbbaf7915652f02f031037245e7437950c28591c36645e591e69fa7bfe4b9375a5747087e41dfaa82043d856ca5b95e9b57cb76ee23c2219f3ddb9299618dcedc7a3120f4a7877981fb3048d1913a0405f5208d98f030df04d971334ba564150ef6aee7838ef27eb0f10c91e77c8f121d4c53e467d7254a2700453d02edec9ca7a7c7db4a906dee4f15e8d67b91bb7c4128d2c2435c30c386f24b1e56b63661ecb9c8bfc8c900d3b3e6c18142cead0fea524b8070ead119c049eb52cd1788ebcfcec7a991e1dd5c2e4a4e763a40af72c6a71af4d64e2cfc1eff770fe698945aade23281450122ff1abe5b36ac05b527dac325bde83adcd2c8bdffe961b3a69841c8575cfb10537f8c4ce801f1586f5d4ed66f48d6629d61f40ef21116a95302e5206a613b0994a5661317d32c5d8372f75926a653c262f8d6a5dbfd2691ef1e988705a931f8cec878fab182afddd6d2737769a2f75cae5d36a24fd31cd79266569d06232b82b36fe881bdb84a73796bff6eed6629af092b1545d7ad7547ddb27992e45c75a82e60a38a37c787a2c28172f10c164aa4ddeb84c526028e98c3ae104a020736ac5cfd7972521a0de288e3b0d09172d2f6367b453a475d2e46ae56b341f72574b36a6338856dc32ae36257f5fc83bc6f0245fcfcf14c164b2e9918e6aa626a7f44ba4c401039decb275f0604221f4eda9efb423efe045d7827b4a3391b9b82febff3251cc453d6b0e3d7d04b47b5269107e131fe54b558bcc2a83635dfce723d5af00c53d001397d3c643b2d94676b33f679bb8705fee67fbc67b45a7a29b96cd1733b1c9b9a060e23a533ffba3d2a474ee41f38469c3fc53483afab2a8ce1314117fa74545da9d01413844ac07e6850b500c7bb785f1b8c34039d00197cb60c84c848b31fcce8fef893ac32815fd0a3a933ce3fc3fcd122fd966dd7b832087316708a314cc34abff2eb8fce6d7cfd4b5ff84138570fd6c385b2fcfa695edeb71113161651553ff0843dc7d2f42401532dc34103fa2a4432dc75323d1a3196dc80ef4955289f9ff588cccadffda99ff80f80e0d10f892d84bb1a8cc7987e5a7743a1236ae3ccc4107287fdbb7723b90343767843cf0d6d53debe9844542cb923fb466467c04ad8f0eace7452587048571bf39c8cbc8ed7e2635685ca64e9254dd88207eb96d4df5a83f69165458f3ef12b61b120fae6edb2b174324d415e081e2a7b95ac49a1a792878fece4bac53e7e8043e0a80d7e231c573e0ca206c834e7d38a8c56f63be8bf0fce6fc634405e037589f1efad39c063b09cd01021c327e157084cfd0aa470fb0bd9cc87c9b67335a17ec124fc0e8d76e17cad7671c90f4f7c9cefbef91c88c1f20da99ee2508ab61fe11768d4d19f64251373a80b1436cf8a51a08122657a9cf9b6bc54160a4aa5a91e0368615ac2bda23188fe8f09eb25a12309fed23fa1411d1907fe41d64ef138bead346496a628ca321b572c0ac1d277a3cb8330e21d27c966bb4f826f4f2f13e496d91c29ca5075da4afb90591552141cbadeb50daf4cdc3e560ab9b75238aa0016c0c9a26202d20346a64c1ceb84c13f40da7111a86e34838a0795c3bd658fcc74b53de084d6321c9d73a4cf93065eaefeedfaf5af6bb24be7b4d4217a57c9b242854d410804741c211d6113d40d626dd2757567eafaa9f015f71a361db7fccd21b10b69278fa98f47154c203e0e3739d7828cbdfa65f0024c3e2ed727033a855c2da9f7d627262ed1d1e73f8ce6d9c44faf8342f088b3f47e5924da8b97f0c574a38f9336f507ab68e1e4a949b25ae4f7b8ffef57f8f3271c9a97fea2471573943b847e7926baf29a8f89b229dbb83be036df202ae460dcbc903afce620efd8ce19b3bd972e633b49a01ee2e7364d8ca36f4ed6e44cccc463d7043deacacd58d640cc1ef93c2b933445f851182c6a5610931782c72053b3ebca346381f7e42b90fcacb439fa2d92c0131ce946b34a521312222b8a4fd2179e88638b7295d6c922c92f09f8ff86a11ae0842bd8cf56d9b66ae207a1f262c8f9cc147afc22d39a46fba0526c372db24f635b1e14a53e5a619d9199f8deb9007590f6b53b887d34f0b05d5df891ebecb88db8f94b88d06bc4f21fc294ffe2bba10e6dee061baae5897522b56e2d87a71eacb5a0efe9b524f60f39ecaab6308461917745918d3ffab9cb25726e4ef8af59ce13342da36ad8ca98a06e7968cc1ef89d27edfb34494c5dc39ef1a5425f73fc7d64613ded832517afffdac42fbda6f469a88c06722454a81ce18de353f62ebb8a7c888c75d3624be35e449cd9e351cdcfb418ddb3d4e413887bbe1567cba107f1d9fdf1c87a65abf6d32fcfd11dc0506f8a22834c48d960f4d4885e459f3af433135f721a6ce56007452a17e1cb28efb0b4a84eed681f99e5613d60ec32a961064b07a61e80b979cd50954f0be2e29bcc1389824d2cfe1c674377ea2d91be39e45dfb1e7a5aba5311b3fd805863060634d7921028ddf4f124824578b034921f4d35732b308ee92e6f7fcd336c4f0f883679b12c742f258ddd8bb4910d53bed6a09de34374941d1e3303daedabeff3d79e87d86701961c34b8d6c2da51995cb236573415a914555455ddd8c644fe3282302b8cb595c73042d93fb953a70b0d98b6077230db23a0ad84e362608a06ec3e4e9925c2906ebc84023b959cc2accab56bc4f643442e84998d6323fd1c9795f771d1f76b35509920f6a1c1fd9ffa589ddba00aa7a3e222580fedd2ae0e1787c3a4274c95d922a7b37e4f69d083f3d108d05759f3cf1a6105123b7151bb3d6d95498ae9cf70a3415a3bd5e4c22b626edb970fd69eb5acb78e1c5fb2858ddfa163d805098444f69bc301e757c603a7fb8ac83ff0d455aedbf818700be7987cc60272664597a5c4600cf9e13ba40849c510453f5e5fdb0583303ff411b41d45ef11bc1f3a726c9bda04a47729cf84ca2bf3e9c262953e31773c85a0ee20054680b1c90600c22dc4817d5ec57ac0ce0c0004a253e928ea84424219e6ed6a86592c4a948f2da2b5fef82bcee3316ce0e5031c55fa0b8fedead727375c3e4f1c08deb9069c9281713a13a1612b0ec4c5f7da4041b59bcb29b633845ded954b01e53d83a7b75b417a714aea35ca14a626e649cc6b456754a7124393f72f8ae0a1d3f26da587488952df0fdc3d296d49dd2d1593363ead42ebe375d5ab49e0b965f4ad8d5ed88fc4bbd62e9adb6b5699bae153a0c91fec58c55a99cc27c29220dff7cfaa59996349824cfa43cde33b3325cd9221f249dab80c0bb638444ac2d529f9f096acf265eda6a3e74ff62a1aadf4d4570c4da682c0e2702116aa8f551a111c1b4bb5c8f8fc813e999635dd4886389bab8b68e69b0a9d780a91bdfa85edbfc329129901990ac4760c01cd763706bf1b7ce960751378a4102ef6d4cb786bec3a3f66651adef2d3f903b551a9ecb7a3025a2c5e13d99ec38fe19061c0c3bac4be33d9ead71d6568f8535b920dbfde28262c7896a31d7a18452131fab1f6ae9f5f4814edd3ab5d0680bfcfc4006a2d6dd9bfa1093c41fd535c3eb103385ef55dca0f4a4f7ba1a527a3a8d0cd8a9c919365f4f1a391c1ef3aa42639a9118dd2f1b76c90b63fdc0b886b2bf464e75feece3094052629bbba7cf1f9188591d52f09b96cbbb384bf1940e81801088754a6d462171c6b46cdf3d17c25eb7e00dbc7fa2f059caaff6febc16f4cf6dd9b86c29bcd572143f146c699b7e79d91f47946443b11fb57a0c6a30b02d14c160c1648699dc7615810154ce72d8d6b87932abfeadf62633ce4c6a5c9a67304a300f09e0b08f829ce67ec6caae8ac7a685fba5230bfa594920ee6d004a6e76ba8a82ddcc730f9920634c7913096e5dd143e0b408a404938fbf850bece42a6309e3580c7c739574d72b67d282fc1ea9d96542cf189f9adb0541835b4d5a6bd62fae0aa9c276c85cf6ad3490b73582c06f7534228a2b5f4550ce66647edad0fc247788373aa8a4527fff4ba9dc95bd35cadd4b1905e8b9e0dfba07a97d6c081a1e35b92e8e97086866ce387af68123ea72796d261c10074c026ea71df1836692b62c80abd6c0f60a1025c44dfcc35f9faf56929195028a079bd92bb55621a82f02ef275adceeaeba8fe2da50fb361b24b584b7584437ad295032f5405fa1b7c36f02c5ed40ae329093ec54064fa3e23ae7cf6685c2ae3d6f4afb4622efe24e9afb89f59bce47ee4b8e329baa25b4ac5d88251fb71ddd15fc95ab39d28a79f1ea274536f12ed71b853ef5e3e41bfbdd56bb49c59433c0a3c65c03d0008a22e200d0ecc699977b638baeed6259be04d81e627e8eb07d5b2a1dc8a4552ac9b7385e7b81d1b234ad45231ce06425f222291f5a5b66ab861dd11106aceee27219342b37a105d2d257185f9ea1106e8fa0bf9f121f025afc8c0f5b09a301db64f913dfa130977adde411094d031670ba26b319e384b7c597c6d0402407ca6b450c57ae0da88ebf268132a95d83e5f9dab1b7735e45781e7d481cbac21c8a1bb0fea2cbbd7a612cabb35d6f30e020f738ecf01c47e6bec0b06bf4296863cf2b44a7935ccaf98d068ee001653bf54ef5de7c1829a2c3caca0dff1f730f09d3d471217b5f46c657de580020053746c20f50a95aa512f44a985a523e10a1ba6390450852959c67d863dc765fe0392495cbed0d519c33ca2848b677c959107134c02a605855d7efa56fb97d6295d74ea90d459b409587369060065d1a9ac8bb43e5bb8f2ed4a52a80572e1b228f66afc90cf70d503dd8688c6a9fecee39ecd48153162f2b65362857744248cb6bf011890914f2da65b241619bac23f9272e1dea108302c3ce0941f9e424522258c7d318a3b3c448d20829673f248786e920066e5f4c4a21331edd18879538bde7e9838cbc5e00d734f7ea84d62d1c2b02c6476f68afb98d1f3b47cc0911a685f772738007ea1ffec3679e6d474dcbe4cca41e6aa23546a39cae0b3454390aaa2bb6eeaa99a855a559a0730d4eb0497c0fb9777ec2a630e0ff517c95e2f9da84e15d20c4fc1a8410a95d361804b8058f5f9a344a134e805d8298b8204e2385498454a098cb2b46308988a0717e2fc10eb80a77da456e765681f04d34f912956e001c7680d25b3be9e7bce8ae6acc7d2b74f72858f6c640815a8d6fea2cd2589c47ba51e0ffae0b8e04d6ac034e91b582aa9a2c8763a6d744a4964e9d9ca931186a57b20e817e2446a3ba4963801aad5093d7c50af6e85c9f2d067c9b11299ed3ecafb5f9d5716bca61db6a57adc10bdaf688f1a561a27095377ec3161960a6d674e3822baf1a1ebbd0a7c3008a0ffa7cd670ccb30e8bed004e6342c20f89a508e9890458e574dcdca33ba08db304755b5b2efc28a53e0764d9b21cc6732df6b1b23a56551ea5f54f0e64926541f0e9e308a50866179876ec66276c6d474b7e1bc046292176313242d29b33d651670e67021e377875da58343424e145d1e5459da3a52cf133651efd8c11a5501669bc428ebfac64a5abcf369cf5224f1bc655558a9daf55db841be814298ce3e21763e6257a4c579771004780a804f956f2266fa39ed49af5bfbdd21e7bbd3e0e361df25e610c0bd62c13a1507d22d671513d79cac7e604153c42f5835713b1b42aafdc8160d8a70da3953c9004f4eb3c12e0b1c7dfb07fdb43500a32c6356af29178063dcba871f1adfccfd04461ed4a0466928afda1f632fef0c72773b6b378b9646406ac6f87a3f98b11227afccbb04267e743f9e8eca8d8016c99d78b785b6edbcd925d9dcc58fac3dc4191755dfd14b8b541bd3592702bbc30dfe567c27f72e56ba172701535746c864ca0257091ae71273754729f473410fea40dc4170f5ce50e551a26d05986df7a87ceac3e538a712882acaf461bda4c86798cdebca86a5e4ecce831178381cb2bbb9de579821bcf806828184ed3237561b9074f32d7bffc6e032969d8012b760fea1d20cb928eced4e87bb00fa9af290a59b42c0ef7b923e1fcdc2d430327ae295571440dc4d7dcb9d2ac11f071ca6ac57b560425cc633fa6f0a7c653af57e5cdbe9721abf6bacaf177e33537c258e12edda8e66e95a9143a1b48faecbb083d8fb228b4cbd9bb589f0ba9ad9aeb210287ab1d439d3e47a9949748daf483c5ec7edde59f7e422536b78bf7e0230759862c479b8a1cd636af63e42a2b953e173f71e281c0a47b600d85cc2efe0c0345006d281a4c3456ad1f157bdab107222d11a80ff4f6f2a50791fc2c96fd46f6dac4c1cd5418958592e66f53024342919e56954609fe16317e72ef541a3546174497b64a6d0b5ffcb06a467fada064e41708a3c7811d74b39718b9b6c48d9e4880ee02f6183abb85a60592def37d609a7a588f1620b1cc23b5de418b04d7b1f6b4a82890cd087b10661e072674141659b5d56b4478eef2af5fb2ca231c8916ea39564966f458a0bdb058f8c0cafb7f735090e94da02cea0f37bf8abcb8da002463aac43a0e793e637402750542d6c395fff1f796b69ed948b2eb664f8e9c46b7167b053443b8a6af54a2a89554d2321b336b08295c9c61006a1f402222ccd4048473bb47e60b2fa6b3df48f1aaf7ec283bcf86b3bc7fb09c56f6556a231ef0ff924f4b2818adb2f8173affce130411f02cb93625b96053e49be7945a03f7c51a10948351abe4979da0f2ab3864540c1d24bbf3dd873b5b68c4d8d63843afe888f4d15d8ac845b706818e9a623e207acd5041380381a7f5a0166cd8c131cbd6232211d71ff0ec04fc58d391f88f9d3becea02dc79ffab00d26b00ec0286cf06382e3b1c6a4eaef39f66f366e31670b478c9dc35fbb77b7b968d170b70a3dd5b9f22f7f82574d25727cafedc5984787bb8483bc995603c664ed58ffd57923fa4cb1a0e1f1e2b20cda08fb693ae799146ce4d01570b7794185d0d3d913fcb9f30cff6a96d8fcd4a267b6c7d35daa89281212dad7e8e73b0e85abac45baf60bf16695b6e5bd73d61a4704daf094a4a0f037e9db5728f490ba84eae4ab4b526327999604f0ca72eabf232fc37fccf7d333ed8d7a73a60b767098bab89c00894fcea42c5308f5695175a9b411b7557862a6e579c97ae6c54cc654161725f9d37114618e9fc97f54d21c05ca113eabfc700a4e76f5927ea1f083bca3f8bbc7271bed8cad75dffc6ecf267b951aa48acf04b3b1709251a777f985b504c44c399f98dae0c820199d69f9b6af16b6f23a84da7a43510a8277fb4659cb1360803ae79b88b0bb0da29a92023333c70215096fbeeb217552affda38fe654569d0edc5cf41570569168a32d913fb2e7a3fb724d2fb1ce576f385a052e51dead32301ccce2b9fb93a8d7a012cfdd7b1912b8d1df9ca5a82d75b1e5e305cdafac74a0894475dd5fd72d04a0d3e7dff20b7dc7084b29b4a1851ca3bea5ee37b8c53c531fb342891a7fcdb1abd013a435fb3f491104dcadbdab468d1a1ce3c8cc0e1c59a5e56a6fd4e1cd5e2c4dfb737960600b91440cd750c10be9b5501f232be245d015c1b59acc416b66c0da6507c8462c701a027bd005845520104dbfecc06a22ff9bb0ff868514148b6fbbe573742637352753bebbcc4e21c5bde96a80217e0236895c2f3bdf655c3ca577c960875e68353df4ea961568737fd09a5639cfec4e144a0a8f7b23f35b3b18f9d4c591da27e063c611fb280b8c66672ecbbe15d26d40f49ed6cf6c940add3e55671dc7f391b977a8a6aa9929c0883c910cd986f4f52aed114955d0481d421e1334bf33dde784feea63553a077d5d302765481825734ab19ec1f02cb0212ab078b560d415a8f39c3fdb3ed74a218f1312c2b023a9bb4c0daec8496c1bef4b23762509e440be062623b2a97c9c73d205362eadf8b0d7de62d8e869e566b7400cdb825f635cc0884a9316ed245c045cf0d211929a29240235d9a4b4672eedfb10b5fac13ec3b8720fb32ed9abd3ec82e095774b67c0ae8ca060a2980c91603ab4ab93203ef32c0074cedefd92fafc351cd72598ab471228d61c11adf3af7633ed3f6d0950bcd1b18b2ebdf2dd13a584a0c2e7f49b25259398265a032faf09053a8c5b028f8a706e1093d7726ddad5ab7a2f5b641d787abdbd084c4811dea4a34ab71db40a06f44bc9cdbb86db5e0a1557f107e9aef7f1b91c06075b3909d0586020ea0b139debdc60bce995485ba0405af7442138c0006d97c80d4adec70b4b8fa0bee16c875f8d37e3e94a20ccd51f5a77cd4353eed528d377231ec888c61a80630c6d28d9379cfe23e8ea85a1c5cfccea03312361391e3822025363ccb91a49df844abab9ea05f760ab70f3ebbc6c0628a5cee89af93552004825561deceaf2ceeaabced2b97d21967acf88140ba48a18f5eb96096f516cc2612f24aae8e7a794c6438d69448c6dfb03c33360792edcc6c87493fcffb649a03e52fa4d0a2e901be85b194a8195ba4c066bf1372fc0838f29566c51c8ac58baaa839ddefb3fa5288dc1419f63d221c4518aeacd09144c4873eefa7717ac5c030da10dd3b361333c9a4fcebea93b1d47ee38e1109a5594f83f2217437fe6ff2079023348ac513a406f0fe4313f94ad786f6ba64fb5b834d3ec83a127373afbcfa5e8fda82d6ee5207eefbe4af3de8293bb1c85ef122ce7e926846a9e7914f21ed927d6b4b274e5bd7d90671db2ba7334b761512643b32fb30a825fd4c024e160f736102d931e5802d39302ca90d6c94fb510c6471407885b9ab15f4488b7ce2eaf4865550526bc40adc6b5c5eec3134cf9bfa3d12a2602f2979e89da8900bda662b06c6e0977390ca54d7f3e194723995d755dc62533697410f9101b04464e113290d4dbcad850986920d1323e0a84b744efe1a57f39be2ae49895ea805d3633042d2fb048e1a58c216e89ae3b3345935ba3a8233c98b06d15396bbe0f185e2827be43bcffd3d80fb722e3715fdfc8860067e2dc153f5b363c4b0626b867a470d6f80e6c85243a44217d0a3ec91da6958dc27e71809b82e5d833cfebf3366940e1008642aa28d084c48fe21fb8d6c06fd81276d3d7384bc3594dcc0437c1946ea4ce51336bbda5ff43645edab6f1e456c2e01da5bebdba3ea69b7338cd233d8cf91af2f256188e72f020543a637d9736107eb3d9e10ec7ccc70fcd5f23dd51e764334c2de03e0b092399a4b88f07137abd62c3542277c2a38dda392a79fa223f1250e33c054bf698c140ef932df5fb8d9abef8e2535fe80727187239dc95dc7eefcf89ec9d9973a9caac685d5ff9d3515ceda7b2039f44961139c135839571b55878e360d5557fcb619602384f430087b6a24eccbadeebaefaa4716f83be00cef54646354647457a8e746030962643809e99f6f4a42f893907269fab3a78489e6a5a4b258d74d3cd40c2f1ec564c4de2b396c91a24576d891a8bb304602ac50efa171dace2398ae51e78d7e193086b604b4d310f7638fa126d637597d459218c5751ec9e9d4872b2d41a3911af827391db54c5ebb7ac6d51dfe0fe1112e7f7ecbf512a8b77de87c194d191326775b5e72cddb3c1c93c69b441acf39b52e9c09d0081fabbfec6754d0590a0639e2a4fc9496aef6aaa5ba7c250c1268897d7fd9973a098cb6c0d26cb29a970e28624a96dd4556bb1792d3f5421aee1b4e664aa77c2857d929a5f9c5034c829b9d84c74a88fbdf1371838083ef1d592bb1d7d568468f5356c5bea916705a339c2497f6e8b1dbee9dfc2c75839722619351d19de0543dc34b00c21a951ba572f371d6e2df98bfdd4fa13958b93fd8c163b2d080c14b37dbd9bf698154b4eab762c62b010d23362364202bba2b38f7942da027446c8b0582c5a56413194cd2ff68a5f2f5308d7cd9fd698923a55e1be6d23a4057698a871f4804f17f138f4b84392815d59a00ad86b2d861111522c44cde102f27ceac95f099bd49f2f737c9b376d19febd03059f85d29213e06d293f6c3dcab4d70b18121892d1eefbe82ff9fd3c0ce31cca757e077e699507533b072f2a4bc080412797dd6e08f334dde54f68905b499e218ed8dcaf535795124674876e3f3b9afa86a8770dc57e18240f297ffc8c58b1202fd3b00563fb6e76733b4fa6a75df987f8b8d1c9f729cfa98653fd3a8022c7e05831c71b56cfbe87b58d3cf2a9340db14c3c2589f9c49aa1e5f8373ff0b689d7e0420bf6a303e4b1a841331178ff4022636aafcd836938eec2961005ee445633f924e008a708eccd64b9aa8e5696a5f204806ed9fdd8a84e4aee44a1fbd8d1f93191127ba49b77655e1f739a8f95d8447cc6ac667a901d574b5a9871e75b519eedd6ba2a14dbad6e69e9f37208b20415b21d59bbe1d2447fd8fca25a0e387dda01ac9ffb90e5bc2c31b21b7280ccaabf90bdb92cf71770e0a8cd243a7a36fda0e930ac62976e3b7591ba1060f173f92500925747989d08c4c97ff60b081139c0706cedeec9b6692c38ea8fdbf3a19fa4c29c8f228818ebbee95bc84253d102b0547c5937d8f1b000f1e914e7b8434f5f89ebba4163ac0c63829e87eaab0ed1a890d46534c5cdb053f7fb9817d0726ec94d111f05beeee1a7c38a68e324747f8fbd97e61fbef11f306e04bc1298f48260faaac95091adebfb6c191d2e86b9d508f6f88bb38adad53d217d19746f93dcdfed232f5e0d125d6246ea7506b9b487c89774c264ce54c2a9311842dc33846b6e83d0c516e8cbb088b998ff9bd535ab7ab9a5acd6f6344575967a13403b87ad5647c8e726b97f9b41492fd92a0c985a7f3b8cf2ad881ca6833b5ace0612debbf82f66e79775bc12a5f32e5b7f48adae1e3cd50bb348d95f3792efbc2a7fd9bb3045c6811d54e49e8d9dfd0f2aec76dc9484fc19c2b4a503de456d1011dcaf0df21b34827e67798fa4ff323da5fd4e3067ce0cff0707d3d35dcc19491e503d462509301fa46e48bb34edd31e7d12774b0d54e4e963c8a360ef2249a1f6c77669e90e7cd1ad31ba8b5d8053edf85fca7dd38d47b0113d79995bb51018c067e08ddd012d95d8437414bf3f00b725abaa164879cdfbf24ac36ed79249b355dd73fa1ba5ebdb4dc7c1a59dce2a89254fd1482746987b4eee4fcbd19299e3be41b05e0def207cbbceae5be4177307290f04e5435428537696cc34c6846d7d22af3e94692d3227f2ea0d47f876c6cc4436f62d5050e71186f10aee1f5c9c3534d860faf96ba08e36547d0ec0a89a05cb3f4b451a2c40a05797c67adcab4236ec94c825d1db7aaa8a011291466a7894d1d0477099cc9293602008568280f969c744bfb73cb4737d76b44bc25dba0d49272160844636b5ae41266c79fa724ab44a50c37b2f911f6943135471ed7ce451cf5081ad20c00f413e8229c6137c094c410c7eaa8bb7a48cc46f29d4a6d8f7d1c6f1e5ae070f02e89d1bf3febdeb060821320ddb0fd53f2cc1f2d0572fc0dfabd490607ad3e0a353c45bf2acbe3ab479fcd599f4525d58df7a2bf94765e84bae2a7346a0ee9e075ec2140c2a0f4120ae9019ecaac2c3c592c5f8d3d89398c0556a56bae83d6bf6b703ed21b01bcdeadaeb6f21a6f6367c67d9bab579ec7d1589e98d110c8747fcd205dd81169f253419107447cc2117140eede2e3785a7a93814c3dbe05db6ac9713fd49fc6b32ca1d52bf06b2a738617bdddcbc817041c29442fa0d537b2092006bacccb517775022eec892dbaa974e3ba9b634d16dfd78e9e062f5e8b96edcf0da8447bd8472b283cf729c22583b2ebe92639ca50cc3f609f81ac98f1ec0bf0fdb48608e3fbab782244d59b61a865f8d599670a88263949ea4eed090dd04a8926b60bac96461465aa6e0e0a59711523dcff00a6276f052057b211e53cd899ba9b7e4635d9d4c5f8414d5ecbf02f33c8f06504aaf3c080da857d104d3e0e6fe97ce398c74646d3daf1664b37dfc3a89c8c8676329d94d645d58b33584aa04615634f08898f3a9073b68f2b4857595dcd0c61224af67057cd762924364b833e46f0733d9da0893b7664f1f8f4327d434255382acf6a623c41b4e8f8c9749ff90ea326db573b1b70809b675ca85a370cebfb14a86fe64e0764224d5de4f5ec55bbb8e1728be5bdb6097e2449dc9fb23434a32e46b16849b18af5089f9db0ff440fe632ca0233d23a6b548040721bfe638ecf28bcaab2fcb4bd10edd85389c752fc5d239a8508d8c9a836bde4f29925db3a500ebf2c7db395ce614f79069aa7f3bc7b38bb89c54f5a6d2fd21835275fb379bb892e029ea2db7f3d4f6da6cadc5c052431a4ac8a15b8d8e26109a2127f1548bad4ea5df0f6834f832fef4f03b8d263778375c9557be17d7b2cd1c4f8ab0b2d770762a013cff2bd38676b4886e958f456b4e7b6d1d7b37ca775349cf5311746c64f1f365cc805d8d5c89801946d1c3e225894b10ac610b09f1d93c865919a3974b86e4c2480e14b06e989634eb04030aa0fec52322c6d6acc90d4ad0818ca0a5935f10f964d22945cf5ec1738e875a5fbfb3f54e2cb5a15116308dbf249747bbc1ff0657e6869fe3c0372f3468ad44fd443f83a83a261e20602c8a6169e8dbf97bc2f6a8cb52a33f00de6caf542773297423ccf282dff77ea37ca9d5314d4c0d5e0b773a4e842c8496831662e06b444d8f929a63e97ff64655af629de1c1f4f5f6370d4698a25d597e9ec4a2fa90f3f1042bcd877a9380f2fd367dfe8b00b3ffe3b6a231f85a3a83a7d93331ba348f7ba13fae558f7e05ff6e0373bedbb7973eb9dcc39685ac9e5dabab19abebc379ed1bb417e4a65cfb59df0d69d32ba2e92fa35084e020a08f0b45781fac0d596967f0d9f9a596c65a11616cc0005c32399058096d137be354d67b5afd2c8d15ba29722a6a2df8f591c88723dbc32a1176ec85d7c1522750f4b327756597b431af8e595a67d6353b5204343e633b831b054315b626e0ff8c4dd417d5d0788ca530fc01b3168d66a725f7f8ccb5bc5e87a21ecc5e2cc33007f4b86f0803089cb6b47cf5bfca74771397b1bd0440b6e1ab587518a70f3369994fc0b60ac01c90b7b7ceffe308351dca1bdb84427125266a7eb2c74cbf7e3c0113f4a505ad65e0261adf8eadf21ab46bb1260de83a5dc9745df1c6e666c2faa17cbaa6c7de7301a53e5c2432fa330b40553e12d395508592c360e4ed5cef3db62ea6059ea6d72bfc3a5ea0d7733affa15fd976cfd14171e27b07a2c498e306be3dcfd34fbe5ba47ab1878351a575c4071bfdf28eeadf5866e81e99c656fcff0d23de1bbc1f134b1a3f154067dcc4e1740092238bdc3e974d375723bd16848b7eda239273c8bb9fb24f1b558608da3731f9f82274d6156bcd7ccd6a12445bfa75190ee0cb097e50f6cfd4c8fdff44df09fd71d443a0658b76616504d05dd85e481b84b592c8534cd244b0749bd60d62a491527d435a066cc682ce0d5496dac16b96082bcac9625b7f242b855ee4a16e938c46ffa40e611ac333a830b57476d7eafb46d24243ec47e01330440c3e8fea09506eba1e78f2f7cc100455fdf1db696f2b828804c82851e3785b8f436ef0dd4135d7ec3896ba67edeb7cb5b9eb16771e34b3bb613a359a56f52dcd28a4d36d73f2fabec86d766c0901f050276d62007eab4b64954444ea78de8a80f139e219ec9090bcaebc50dc9fcf17cac73c04115ac8fe0abb76d6837d168eb80b2a7d398d2556d8633102f6337992e5c00a5c162b10f8a3161afc792861e32c5e581a4939a6944a1449bd233a7266c2b0bdfdb1190462d9c47867df2f7be46965242271f5f12dbdd86bc716cfe795340b8b1ca1830996e3d69b4daff6fcac3ddb330ed1c92ac6eb01fc9f1cc81a8db43b4d2bb78230927ab355e01131d0c97410a6b63439df285ea8d2ca857f189e1d9ad7e7ca1bd8acb330e959e51db779a99525691ff76ccc5a710853d8da2972d9153434d40f1f50c9852b430beb609757fa42800ec60a2f5e7249d89bd097433d63a16f4f5f4a8c1ad7aa7be13a9c7d195a53a5a9c8229f44486fbf9c9032022ee872831f0bfa7ed5c2e8274ba34c4cc18ce3d6499e3177dc069ef151c09fc02f53de70f12903bb0c77fed930d9366dea1ba0ffb6d18f28d2db170dd567e99a4af6289be0f6b70e9209a4d230cbb6150042ea5780c71ae8ac69e22fd5d5e14772446408d03c9602b0a1d3f13aba10f4cf7c82c455d7d7b67199173391d4967c0c5aaea90001ead7f2ab9a6a288d1289bde8edf607465fbcde0cae8f3bac1f060de7c580c34e3b7aaeda0dc2638bd35666d599b23301a33782ba23319ab4c13d24781d747a1536a9c7421484fa35fec235dd6c2c684e28ec819eed2e4e5a67c20ae0fa2dad3aaf918ab03338277dcd31ef083abb35a7acfd0a4a28672a4058b3c23dfb4f783f3682a0837078a08133ca9aba7d8afb11d62b59c6b087323e247480dceb3d229f626283cdf6b95f1b24df45f855d1b755df74e86948df601e743676ddd78dee3fff2e214a4cf545928f03a4f41575e96c14b93121452e68e0cf654caab9d2bac555697ac6f735742d92a0fa10ffb56ab36c6e5e549326ea15a2416494e7047512054e02deaca6cba67ac9835442133ed92f26a11d0a683c568937b4619827c237dc896aa37602b7c8f620cfb610531740bc6db9cba05b69cb358afd282ff4e6c398696e44587603b6356a7c0974e9650b5182a6fab5003cf47ccab90170ffdbd3ea1de5e3c0da2992b4e2c224197f9830f1fd34fe80bc84f70ebb6d5e2358695d3080032fab4c614750b52fe33164c48c081837df9ec22d7b997960a55c1971e32d2d7147b73c0068ce09aca4993f1303c02ba6fcec75077631c52e6578cfcb85265f4b8083a7b0dce0f9b1702b6a97d210e4630dc854b33c376986f796b546cc70f6493ba25a2e61eab657537f231d47a1a239a8811916aba998faa0ba6634542f98be7361b53a06373b1b7246df1d6a0c115937630286d341e2af45d23962b9f50e06813bcefd2f4c3481199da711bf28690bb637a232beff3d35b89e03799c9b52c8f62335f9404329ea29fef5b407854bb6229b01c9ef04e761f4c50bb1a7f19cff63c18d7a410a1d2214b51ca3aea42b8fc600a9c33048c4eb4386bc9a9ef21a85062b2878970f1873113622a0801e609ef60868e35ef80806237a77160a19754612d20f7d13fd0fb77dd574a9d6bfc5509063d7452e6d59db2daf00e1a465c942564d840474e6e9268762a6d4d48f682f4d3446360c2d368d5cb77884011ca686a56e3759db13abf7cd58e6261d07d780018ab4a97aa8f1c5937cfd386bfbf896fb670c4f91546f75c8f21661c518e805c2e22781e6ff279d3f560eb2551a41ae0f74c7259c5a6b6ab4ab827d1a036721c1556f7b1ad866b783fabcc507b2caed1cffc9c9191cd21bcd164eaa60f6c4080749e75982b44ee46053f419fd28ac549ed3d6ed47f0847d51eccef49bbf357cea8b2f6569a81e3f20584c652aa873b6116c73a087dd4bc4fb3ec89a6b88c3e6d7e1391cd92dfa884fb2d36b5179f9a62a0d8d0c971078156fe448de63b53a2934436ee8d24fefd64798e315f202baffa9ba9065d9f514eff0fc8f745c50794c8b3fc2673f9d00920219f650b4ff5f797ad812d127f3360a3559437cc1f4d56bfbb63398a863e14fcc20b8c1ed88c6fedd34d4752482b5ed3898be21930a056b4cefbef8100d788d0562c8afb8a68bfbdfbf957cb100402d731b151da900d151cd3ae3b2a477f1907cf6db410cfb39a8fd8adce383794df5cfa276271fb2ccf5da60059abfce288a034a94c283a82753c57a3539a223d9cc97e115b4850d4da1ff6fa1e75d35bb760ada3eda2f942fc22b0c1875b9fe8d84bd4844cc03e792532884fde32b61f841c5878fe717ff331e7e8a152506f0a1c8d810e9b7fd84aebe8b76aed026e670023182af07f81003214b61208c22e8f78ddf498599fa3aee6193ecf8647aee23591f7e9427d1e8c01caf9f917cc176cb5dc98999fcd1d6c8346de6c933033fd2e7c46b483f92effe056907514ec4d61313f9a99955968de788fe8740c8807e87701fd407261ed978ee48dd6bc2348853daff583f97762dcecd7c725f051bd2301d843ec9f65b5a760991d3e94ea4099b9891259ad21fc578baafd152d890f80c7eff5a1c6045e43c2f8d42335f6779e6c6cbf6d62beb56fce7c2bad626e859b23b2adb5b5f6bcc69e50360e8e39d4804b540098408a5c2aecfdaff0fd6f4c8fb05e17bec03e03cef88640866995219b3b334cd9e8f22bbf55d67839af9667730e1dd29aae37687bea07c49d159f53629e1ef7214fe1b9cd7888942ed61ac7c79979d8b6b9c92d6f85d20a7670f8fa21a4fb8cd78a0d571389bf0033b81952a25de17b771e304f110c53860022f27ffe7465c245db106bf06873f0bbe9310d6e1b8e42ff3117e0db3fe85a1e308e8e00dec3c6e686dc5cd317cf9acc402bae287297ed26ed5b8266c3fc7b7647663dfa32ef241962f29b055819240e5856d325f823d3bc783581faf03d05e8fb7faf0edca83d5e21a4280ce4ebc05501240ea6e28bcee6a27d7e6b67bdbcaa222c39976b9972d016b84eebe1d24d203da12a5f1f4c76e9449478ceb16f0771e1799efcb4ea3bc02015f19e1c4e4ec471873f703bef61344033ba00dc0d14ba34d95fa77935106df5e9d80b67e13e852f5d8a3f31a0f5ba0b7419b94285037b631930099055e1757c398cb1777082602bfca85d8971904a0f5d6f978c329d00af0f0a7caf982abf308926176d4cf9bbeaa61812b66a6ea8259c801f6ab3b5cdaf7a2f841e708036d8f5197c47d3c2c2ef35fbf8a432e6aff725e25131633390118a2d29c81d424399fc307905a3ad01c8f7738c8e7366c63e60aa0426aeba098d404e059ea35fb3444a4e39b31400a9fef9831d2dfcac17faab375a711adebfca753625de5d9858b22a90a96e0d0b66134d9a81f3870bb29c4a2bd4395565d0066fa99df745a037a4c4fbd945ffe70b38e0bc547de9e7e54eeb305dd52a88a381a93acc60d41e5d511007bc1187e73cda3f5adab760bd3abbcf0ab7db2e4aa3602511b9f459febccf6ac99207a4a8badcc008678fb726ecbd0ad207029ad9b34aca895690b8e907e47f1aa529cc5fcddd38cbfd26fe1501a9fbeeb02bb2157aadf85f5334946a054be88f6e0a703434df6345ea9787af6b25b486dbd45c5954ea0ed7148131a7b1c802c5652f4633183c41551985520f790dcd8bf2ba9f66c1988d3b2e058b5670253021c3cc5c0d8b105da7f6475a5337c2cd9321620c0c73bd94f237e4fa41e346697bcaf9ea6bd95766d3af42c93afa231533f513b965bdf47495600f626f0313297aa619e3a66c26c57f9425e1c018111bcda517f2de50a4b6fd7c7e16ab02d3d4acfd99323f200b48c81e55770458acd80427ab68fede32f3950b8947fa7dc9b6135d71cd5f2da9fa98e7e33d695b5e15f9d39bf27eefad11dbb26a7d7bcaf05531cdf3489c949d738eea2d06430015e5697c299b2ab4450739d324ba632e0f132adc98f3f023a598fa0e4d3824b059bac29fa8ac3612249e138599086bbe566d30326c262a5fcd2666145872a587be4b3d8192af102e0d386ddf4073c111bfa2e4b564ca7e123b72ede4acb0271b3844b09d387178986556235c00fb3f7d5c97935e2855f7e125ccfd06e7a8f71bf4e55785fb19a11ca47d5122b8ce0a4485a3959bfc3a4d5aab9847baf69cb4c2e40c50e51757070cd3459ef053d093da914f0597295cdcdc53a37f0eb46b04f0d298be31b8f68f64619aec436699f08c402ffba8f156e9f7c7746f4ebcb6d3078c3b6e35f86dd61cfec5c3b993e1d32e93583fcc155ab3eb5e58bc7b329c2b92135c456fe6867df860d43b2dc4bbc21534b1b297031c48ab2300d55aec5ddbe70c2ce9709a3edb151a83c30a89115c31f1d56172f5b645ec984eddc9a66d48e931cc0cf8a2d8c984abe163791a8e14a1bc81340b7cae666107fd7c36361560f1273ce4ce12ec7c3d5ea371792e3a53266b2b11761271d5a1062004797690b58fad26839f370441ac22844caea6ad000f7c57989b775ecb21ab3c2032020c072eeba440e5d0886499ab06140ba093233c734da062a2119ead58dadf2ec8c1b3db2eda1c34ab4f9692fb178ad2982b29ba0245458f6b0c135205aaab86375700348d2eb288b78400b0f036d3b2696c056414371098e4fc2911ec5bc010b664c68d83e80023f2440b9f95bf67bdb35bed7281b2d655f1237770cb47c06f9346b397b8c996643b8cffc65b80888edc19ead0210f7b3b05a1427ea80b43d3315245d88749ba17072442762460ae4f10e849c075b78ec29b49980a0b876f0a0a1ab22a9e5968d590ec98332fd395efc2f9b18be43db80be801f58d44b40b04752b19ffc582b067346d00d2bfced0031197575f260b09a5e10ede2798cac8cdd5b6d36158c885ded3e752415d33109b36a69811b739dcefbe2cfb0f0516dd3513ac89f771a4024db7e60edf4986b5301c2d01fcc9dc45e631f98b3690cace5f089c6494706d66fc6ff437c42b1d0eff2005b3213a3410ce7c00693141d6ea934e9cfbf6da218cd6b0e379acb27376d2da9ffc9cd590ef79bc1f8fa27580d9e040f0a0070c673201c716a8560bec07e0e2b5d33eae5ca4046a3696821978db3cc2f5dfa07b378221109b44eaa45a5a6c2808cfa1918f3cec402afbea449f4ab7561af4a562eba4cab532e9a2d9f499923de53828dc7459e156a01fb0fa90c07ad61b5152b3307c3788fa8451c7e34a3a4008be3c3f58e5a21d021bcaeebf694019029dd053be86bc88c2a83a955c30751222c80dfae2f79cf5d46b0c1a491350bac7c0c6b8701d069b9c6d4dff11b7cc44e587df68756e822a4c397723fde764b540308d33c330a64d3c461575909d64f15fa1537fa360e3e99257cae827d83a81abba9418a9c37ac67aca32c8fea33d8dadb134538cc4d234dd2ffd7170db86cf0fcfc5b1824294588fd07dec44ead71c4cfb7f2b7ffe6ea2a8a928f1ae1e9d96eeba5b89224df260624b9a934a7e9de13decdc70878fbe250b330412aad8790bc994864690d81fc544f34d1ef85f5172c02d452876a97b09d628cc594de774f4fc32081666f94c1198c52dc1491ef72fc013bf0ef705d1043e7a17dd44dd936343507f6f54a19b65fa0d37eddd93596d9aaecf69948ba5c486098d96c95924b8ed5230efcab54e257aa3afb20670c67240df05a28e9f1ae2e9537fb08021307b4fa3ebe4738f1914cf063b5f3e16d95f2a1c8d0556ddc52d462059131cadaab319f7c405d82f069ac7bd0e868da79d7d38b94d8a7d9abf994068c7b310e1c35e52f2a6f40d180b7b9e8887c29848469f8dc79f115a1614a0fef70b27967313bb76fa5cb14bac6b410022d1e5a789ec862ab079d758abe39e243c0e067d901084e7625c378045e1bc0388ce9093e17908a42bbf2cc3f56cbc76854bc4c626d295c195cde297467d1413b6bb1486cacabead7183f977032479ca6b3b40e6c0f635f74272eb9faaad4e6589517c24645dd8cb29030a8e9e2e2df541aa4e88a0278b618567ec9558dead3e4cf66c0cad3f782c4a828a76c152095dee39f6809ec346a81107a4b57b165d271187f810ae2e8b246edb614c5ffeda97d3e0e74eebc1124c8bc0bba83698e4ec839f4abf326c4b71235fb83fe92caf28f7257aa314aca5cbb0eb64373d45ac97ee971789238afe78bb507a8b741532c5399292a63da30b569f382f318c63ed4f8f48cfc4fc68e543922483d3aba4ab1f8c5af5678154c9ced998f9a746693913e0add6d0beed87aa9a3ef4467260f5246bd66edfd9f31de6da566de31d52b937147c3f7126ba44bc5d1507d8fd7b80aab4adb94c6aa5a87c0f25bced9287e7c16ab2d7cface5bd685a7e024aa84d5ead7ada2ad5e3826cce45667fb6f61fa2b2e679c07cebe9f358843be8a60859f076e675ab05b5d426fe8dd93f42fecfa1f71516880d55140968f6e5802db5313e60b5d141c9cebeac1d6cb686982c2e6e38396e6098ce368f0051f606d8ec1f13ca7292f50071ddcee77cea78f2e1fd5c05388f23894f1a66eecd6977f09b737506fabe81e625e472ff65faf90811f9c08b3d5e4d7bd5dc6d6b21f9f415b0f58bf9386d9a5afc68517b253d7c85e0ecf5346352d21150452e75471e6b0fe1f11b398ee0c178ccb94aab0465cd9f8c3e3296c575d29d4593bd7a910b53b53e6f1487c108676d495fc011613fc16a0c9c79fa36dddac0eb31555a6c8b4de9ad005a9c96c23388d200779d9db5c39187c3b659a1af623bad7f360c70db8d34fae6321d10f76e06043ebf7eee48db505578f62924a115b82502539149a428c139b65e4fa5c7ccde2d9b4e7ae19c97d183b55cee45d8e91badcb7a84503f79c8b39b61236f183558d09ff05e0ab8b305647106b9d9eae81068c24299c0c255b54f1300b7e0b68352d9fa6e9c00d27647b6c50f6b8647849d3385003c7e12a3901cbe92c77ab089105f53fd82c979afdf1f99d24a90929e184df4f7731767f01882be7929f3d10721777da13dc9584d7d44779b8bd8061d5a51670b50962ada549daa7b2bef34fa2707ed14dbae6034a6f63e98c84156c68b20a3fd8612894b3269c2eb189f62bd093f9dfe30ea436b20493e48d2b3c0adae1aef2d21893a26e9f78581a92f4e5e28a70102284379481d3a80e92be0f90520fee6ad95f9b20e88ec6478750cc5920b10325d5c3b59af5a104deb0466503c9449737ff17b176f9c2e02429c62f922c57008e2fc60902431f885bcac655716785fbe8e7e00e47ad0773d066a0b63d6ede47223fe379a8e91b38fc8d3f229437c16f69bfe214207a6cf291807599f49fdc1c1c1900218fb7db23fff5fdeb2e4759f8a2fd377ca399f470386ed589a81e284104b988d2f2810f95dbf09cbbc81fe94a6ca605a5c30995afac002f42c1efd195f4ab49e63c721261988c4599502ae26bffe032fa9774525fedf16cb39d17f9666079d2cdec08021d63ae1d6ec0d0652abf3d2d48cea6f5bcd2499dccc3595347759cc4e6b19601fc11558a7bae5ddd7d33c216dab29b82dc49a4a6936a211484a48d8f43a59213dd431f0fa7ad03642f8309b37573b065a190dd1f15716660bf328706cbd8fcfa90fd9d24d5adedcc0e4808f674cd5b16614f660f7c1be70ef1f5909e63a1fdb42b11133fbaa7ef09a0112b62a452ca1509f3d7c9887bafd8ed041a3302acf834232233be46c247a685d2deacca7195881186ecdaa8f4be6184c834cbd14a68294cf96687566018edf71c45a582ccbc3693fd38d4223ca57272127a9c764fcd30faea4440365733a610783444ff60b9f9ce373ddeb859171b2add6b585bb21f531518d62e0be30abd7b580e5a6fa01bc994b92b1179bf539ebd7b9da884c71fe0655974e7740910fe5b2ca842c1af5f5750f6dade01916e924a4d0643f88e5e490ae4f9be09f4dc9b44a1fd749f8512b05d0049e1c8cfee335bb614995cab61eaf3056bfc6b25592687ad74b3c04a5b4845c3883568c355626eac01f25605f1e0bea6126a64a98e9681e643193b61437a1370befd647915ccafa6ae9f712924774bb0b0242fd86d5d9eae643eb8b57c1d43426a2583e6216aea3770162032d923deb5dafdb2f9b56b64be37a1038ed1c83395d40f4f2bdd65152109de497f0c00a704bcaa3ad8ab2ffe547c1ab2df1123b7181ad1623f165d4c96330b7dece451bfd8f437de0a23537f35bbddae5222017e99d9f93e60ab9e7d71ff710e5174aa9da707c6d35755b74dcb51ad65eb5e3da291c9783cbce0dd1281a765c2571f943b606b570ae42642fe32cd0f9eeb6f63423a54f8645576fdc6983010c4d8c41e05927b5f6aafdf80998dee791a9f63df6b051399cf83448e165581a48d0e1f75ad35ab6011c245d00a8c2b92cc978b6e30dd4e234d4bcb644b6bbc2c6af5d32eab743aad7e3355ffafce2fa4f771de1ebd826f7270a6d49a058e4ac7f4d6e216316d41470330337c48599c5041b55c5448de0f83121adeb34c40048cd3e6b8f966c53db28d5e23315045376a7404eee5a44df86c50681b2f87832524ead0928346e520d60eb46a42619918b132b97f8c7c5f120526dec9811fa81d781dbd1497d53cb7060cea05ffcc82bae9e57f2fb389218398cb759acf5dd51bc6f5766f3080ba283a1ac1cd79c4118c585f59122af28b887f9b8fc3fb371c7199946ff9e86cccab86f215436de1131b8f49c6b94db5a7eb713439b0c77c02841ab60bf672bb9624927aed8de37f518b60f80ee8fdffc355874acb84b50cc3b6addb15aa2d19673b8f8cc2f2784c84c1eb6bb3fb8085c263c1663560d79785d8936e552d1f3309f2b011a6e10522cf58fb6085f89705da1cb56751a8c13c567e5dafeb82d66483ee1897937919f249716070dde37c5abb9ba0d3f3da6ca4429b6d65868a3b0d2b666aefc888a0bc9f2586993754ec9165ed639de01366cc864e5ce855a2b283edab779b646933840dda4ae32b433c05adade9f78fc05b184419fbf3eabd743e768a836783b7caf7802ac09f91090d920115596554982942994f8be6483b587d7c612f838fe21d0d326f560512238389a20e018bf7e701939a4c4c65fd2bf9cbc39d3685ab24b5dca55e1059155548fa64d296c422d365c6177db64523950c1dd2072736a5ca0a3f68dcdd902938a9768e87d76e699266505ac8866932e5b1395b75fdeb7aeaafaa9a3da044f6516bc62d084b8ed37c664a19f35b1414a15cc291039add61f89b2698f7d9f3a27bec3bfff2967eee4fabd867f95fce63df4b0a80a3bb9f1cb8f1b3816ffe507f2c3736a9d7cc64612d05d1919f1627f8a976010b0464bd0652a48b060edaebb0acfaa53ea7b1cf88e458107eb47c60f09f1619bf78b9bbac2298ddf721178f2e3ce4713f56de8ee887a9824ee0d33ecd142640e967cbc129070e4b7d96a4f3b8609613b7d760cad6fce501e2a91ae492aaee46cce08e7bc3e5e7a2e598691dc658b0cc4b38ecce0b60f877e74dad2e1f609b7202b79c00892f88e483d7464dabb2a3d62a9ae3c046c6c094ffc4bc81a1a595320c7398608e2eba03268c9597f8714e7cd9f5656c8c3b0eb8dacde8a06eb0793b3cf0e05076f495effd011d8cc53c34d1f30752bb08864ad4cb2fbf024fdeecccb2614e525d260b04fa5f1d9a82ff8f2f753789a07361719c095eddbd1a354b0c154e3c899a21c326d29a10230be5409a21f6c1fb0afd4b6c1b48dbf693daa1c365718227f4c75fe79099de70d6d94f9b86b1eb42d8aa880912a520e7f4d2dd289dbc02c1b6bc60b86db174f4fea5e9728699cb58863434b38cff1b00052b097a55ce0a339f66476e5a470c3e55c026506faccf286582288b43670cfd8d98927a2f5986150f4cfa8c73d5414b89a8df5136d1a14a2f93fc0e032f17506f6e1a86e48d46a8f8d34ee5ef175704ee116c0678655e5e3b857724c85d7cd562c126d07486e0765f0274206e1b8c344bd6abe75ed037ebca8ef85a80b537f3b1de684d0eea6f8fa15efdb4aed728a63417005081f7a9c441bb72f1afab7ed1e03f18c63d6ab63a9a8143d9d3994e086126e69ac3d5526ee181e908786802451eb82de3ed528b6175400f070d4698daf4aa85fba58709d5f4003156862fc1da04d5993d0c6b4b6960c9fa898fcd2289c33794ea0576d9fe16a9fee38b89143ef229c74c349e0362ef9e5fd6aea5f174e4b646aa38bbacf6badf4455c425d2be8b60cffc5b9133dcacabb8b93cdb838982e1fcc3d1a995010d98bd4ed131b214c6a8ee1768e46d8c4994a3e61e0633832e07ee2ee8bf6a0edafd3af5bbc52ce61f6bd056866d833be24370b986a12cb84f7519cc27412b73874ed1f24044e58cf16e73cea6c667cd9847080c5663695a4aebe1112faee571a8c1874b7b653841d662c14c2bc63ae7f0d333108c1424d188a974b1d04cd78ac4ef5c8475f82c89d55b34dd49bae7cf497541a72f56688dc72a83898e1dd1f01553f8bf29c30005b69412113fb2557668e685cfec2f660b2d61533630cde0f592c0bf7f7e8612506338989730d93838d0b9d46065f3b33f5b108ec8e1e909c3a481a5c6f185937310f560c2652c138b06cad9f899db10619586847bffe02b896a27be2fc0021054f81f052bab6cfe8911a90ab22b9d4fac6fee1a23f25df5c2595213fe525a9b1a9d819961b6b949aa983207273bb957612eb379588de42e6bade6c1afed922de3d8266336dbc69bec3b9d0585a8f45936a45cf1fb485942ad14ba9ee26947ed86737a07096d3caa1a8067d390583db0c2280982135b51a1b2dd33996014a75571664e4877ad8b007e4c0b420e2d68152e23c3443eed0a6289db60e8cb60e47327a7e5674c564924a1fb4c906388965f9b1d40d3824bc5b3e3106553d07f6481445ed53f8fd6f98031a0738cbd04bb30567bb7616a350817b3840ab0bde2ca2d599ce775b0bf0024af230b9b67c349df4b66bc92d26731a94395a537e6b2f234e6ccac8eee6d13c39fe0ef5c0a49a36064d7b4641b127ccdd8ac6e77a443de118ecf14616f7a596cb11a8e4b9585df684dd744c653b211b649da9b00f621a61bd013e1396255a0ba53dbab47f99e779236dcb79ba04df00664c15047bb958e74d00ad91857b938fd7ee27577ad8bc80157554ea1cb98550a9806dc012b31e19fbdc1bd489c9d1bae21f105d0e800e539e856178adfa1f4626771be6bb0f1f5cd0d9ac962f004c40d1a46ad7143f1f6e0241197f7471c762fe92fd9c5a980fc57249bdcac74703d622d6e3e067d4ad78d2b978216ae9442c8a7113543fd836febcc6d78963468ed0b42954f3b6243399599689068adfd1bbdb4f88ede5711dceaf8f840ab7774e88d8bb89f8a3f00887f33b4795ae621bb3b04cb2cb9f712de27e197564a356126800d15c2ab9484776a379509c9fd4bb9897d98757634d5a992cff3390fc1579789c99d82655ab3780b6d103f7e482c178b24ae03a37f87912ac789a8f56b8375b66db774a4286d8eab2250dc8610394795175ef9b5540e256bd1e6bcc4f5a5c17e285b20e14ba813a55c46b406c9adc5ebd2c1861706f00f974970723f3098821e900e9a11728a702a9de56b88a1eeac6b249a618c8fc824d575c4290c107540a32c0e6fbb5e1ab29308bb90a8e5820136e573fddd9168b0fb29ef8e88c1cfbf37628501026c39b012246a09650fe88eadd4add399c63e18c3276f9ced9c9d6fea8bc93bc4b757bd3ddd15e07e231e5f197d05411d6ad711ac0b13bcd4dc0a677b0e58733985fc6fe3fc58c72c527ac046e43d3da8df30e440fcb3b523ed2848f8d62f9b83777712bfe2f4a1b0cefcdc84c1c012541ebd33cead09dab7ca772f245642401b80fac97cfc81c951a743d2b7e32fbdf06105b152783126d411c635b81885f6e65e62194c241089184e99ea4466198e8ec2394bf660f0f3266623fba259e38b42623c42ea65a7078ab5cae880ecc14bbcec504f08583d10656826f8dc27e3bda190ca95bc0e7ecf6534a7dd76e485872908930e1c84d85f1632f0de8bbabde6ad2654ec0b171edd8b617e9379fd4e0fe924b1eeedab19584c73283de71326557aa536e4e5904a685df29cf4fb4756e121431fca18de5e937ba77f4a09eff3a432e23ccef800ce60594a1e6a0c5e456a7d04c5513f5e87ed25f832358a6cd93c2e9855aa952a53ac5de70c7f9afab885d8663ef2d7647eb475127bec6c8a272fa37418b0c1dfabd4c4848887350f7052dbdbc92414eef4e55b2f7ec742b846fd950c47c9c136f3de1ba131b5fb40ddfc0f00df3fe4d72a68b4826bd59468e9c3b8b85485e1f9d076c2b7726fa309e2249f46ce745d227931200fd692e9aefd783689ddac1fcc3949f8000d6c141e7ff09e7373c28f4ab61be3730b56b9ebf3842c43be02680dfb1c6f8b3f6918f41469fc9a2e13e169327c239f9486fb6438adbe0b60d4826e30f8f034fd47dbfecf1f16933be9560df94849302b55d566948e1f935aef69b8b9b70263aa26275acac8464531cf63dc08ade787b760d5e33ff4ec99c9d8ab97a3019c9551dedfbfeaf5be06aafcd36fca2a7a8946d65883b483bca39b4f2b4fbcc1288d7c880de091f7f38c462d383397b87b3a0be625d3b08e0e1449ff5444b855d551d1b83808c65e535d67300fc9bca877aadb37330d6dba8c7f8d90b59464651a0ab4dc2a90083ebacfdd0a85689f91a9c11a92882375aab9a6e2fbd0656f7923ed0f535c1e7d3be8723be14adb15d221370496f98d8592caa4a0ca95dd09663a612ba7cf8bf9581c068edd30ebd326ca54790dd8bbd62c2bc91c55850c57ac765d1faee03b329ef715cf319bf9f3c2fd04f205c9af23d31a96c4cb506158775bd39d072006add52c76026b382bbe8ede4349860ef980552900ffa9837b13242130ff1473e706faba7c4bbda880ed9ac0d51b7f48040bff81abbd79f7e9df3f90595a8542fcadd1627640a044cff9020ec6dfff087def58fc1b2a61372bc8704fb56b7b833c5f6e5864da1229e99344e22fbf62061f93c50ee47c5fb6c41038a02e31e6338544a238f50f26c0bd436f553447f643071c05b0c3874cf4476366578cd08d86ebff5906e7061b4a55dc448ff7eb1bbde3114b6f4b55069579e001d9174fbbd0c9152a0158b71aefa667902cd88984088f38cdd95fd415ae25a4e7f37ce13c56ba360bae7eb92f8609509b15d59a44c26b6dd2dc175d0d27d867dd5e2190612c37b9e9fbb563fbdbf2c3e86cc38bbf60d87ad309597348b007eba8729795d4325bf2a7d4ea7cfa9e9308cefdcd924b81a274fc04c7f19dcc8b9833aefd0513f5eda49aba79b5be0617b1e30926e385a8bd7f11ef64b1d9c8aa27450477a33d3a8a6defa15838d8d86aa982dd04ee78a58970bc5dd15789fa50ca0681558f28555e03aa3bf9b19a99ae76cab876b73464c602c72b4c5b3ea77aadd0aa225ab4f2a4bf88d5ecebb83c3556c3826adaf547dc0f9c49168038099fd0b2c46644aaf53fc8fab35b07ebcc9d33ea390f91d7a31cb6666d88b627c2d712c05e9fbeecd22dc62a71495d18ae68a3b68b773eed6e4da8606687af8e4e387de48d5c2439d5206fad15ff1c796f3bdb1991ec2e51de598065f4544083c6bd8de5fc2b00fc50162b07116394d06bb1249acd63fadbb00638f63cdd10f548e7ec6689ff7e787eaef9208e8f576939a47d19b170e158e21483ce23c6547b498663f7a164e1dea2035f7f70d754f930ffa1f79eb8bc77213fabf179c254a583fd5e44bbad07fad21da94d552a452728e2dd4640e482a72e8c4f7e7c24a255f46f53dd69e4597389a929f0e6ab0903793761ce8fd573fb89b1965122b1c6d6f7b0a0bd274e00bb114b0c0ac13607818b10f51d7f9bb6f74ff8c1d41cee74dfe54bf62bf7928f1706247853f1b9d2478a32ac0c312aa405a03bc769b5b4f11bca266f64b0d977e0b915d0972ad60a38029cacdb575a24941156874082bc3d1fba7cf6ab6dafde07b99d0d8f799a6a3fe9662cb40db88d79547aaadcc22696704507915c79080c5efe478f13b37ea5524610ac194411dd289f2c088da184dc2ef19b20e4b7ca48a009908a51b5a9ef1faf5d457bc6639862ba47a23ff92af42e863844837dfdd2327e023c482629da0ea93311bcb6bbbaa8985a87bb73f3d17c3f65494e4c48e800316cc3c27bb3339f9f004107fab71b88463b6c9df1e717ef303a34235ed228e71bc3cd86f9dd0a2228f3390697027bbbc53e9f76d44ab20676190e157dc66b2cc9ebd40645ebd2ebdd5f068415717e3d34eb43fcd0db1f1ea5da20ee4c5320cea50141da308de97c9f1adfe0243ad4cec908ab0850578d3ad26520aa10eaac5a8808eee8587de0df58db05b0815034802e465713a22371085e29c99d4ec4d34461ed1b2e025c17639949a04f45f595c7754956f7574687a1306d08cb06235039de2ba5b70b962ca5125a0923ce29bad1e18e1bdf5aa6be3477295f150e62252f7fd600ae744f6368a4beec4a37a542728387e6d08055469692d6e5598f2f504752462a3a869689e8cc84b12188a95544c6a640b4289a4d63de48e697a2b1121740d81cc0723fea6a04e9912acb3b8aa15432b7cacda0a7eb3c5bd3ae433fe2f33a34ce0a8cddb89a6751daca409ee3b8de83199209b58bbed75a4f75e0800db48b8e23bb8d8d55b0bc7b473b0b183c7121acbbfa36ab531d995fba0d934d5a7788cc090ad072dbca5d61914e5a8bc4a5e6e65e76b4d94ba5da6634fe034932a68a3529148b78d21e15695a2d246ce5c160330808f3797627815ff5bdc701daace265a9fd874a035fda7ca3e0f9823868fe49de20babc6e83484c77830a29352625472decd8060373f0d6fbab5433695ffa8e208015852e8a677bfdeaeac23ec2ba3b01f000a156aca65dff62023cd52d86ef3683f66361766f1e2d495c4bec8573d33531d1d12ad7905b9fea5db510482bc898a65c15cc7470e3d24d3d412f48624e8f5b929896f0d98b7e28e40974c137f24abdf6a2fdbba6fa22de7af4deab7750e810b4dcd78582a5e23350d8e6a45dbc874db8123ad712537c73d981c32544b434fec9f0dd4e4dcf8db98c26584f949a4d8d056f5eeca4665e9033eea73f7d5913d7ad1fcaafb39b195ffed4ee61809ce406a55b7f95e3bf82d072a854b1dbf1c4748c868da060470d2ac6977b3d46ac0f638ff5e430e9631c66c541f373ec3c83b67e50e69028e5438e18c169154bb7dc18a2b6d5de7e3701e75f243a13e6d988e717e338f6f1ee2988ffdac4af068707bf3c67fd9461afa62295d35e94b36ea9fd4ccd875bb0d6cee93cbd19921334076c9d8e2a850e38937931a6aa81364d514dfe9a6b698873d56b44842baabda24d45d34c2207e2b2d82bb12767134715a86e36d0b859433aa199b389ff456339511183228d33a8af34ca50055b7146c9eccb9d790d1acd5bd2b71ffca53d1ad1d3828ee5ce6be4a8ca69408c7f71521abfb7b6f069b47faa5aaa45cacb1a0f268d071632a8b320404f2b16a88910c802bfc13e5768fb2cb86c9fc188126aa3334704092c6e7a5c65a1ed5ff326482dd70bce9b19744c1f9600f842247d25de2d7fda31cdbdeb7b4e2fb67cebbf0541d160a9d468c3675987cc4e134243fdf676bc9eb499ea1d8a7b5e40bdec1d1b44359f6492d975f21507e667d58544d3ff55fe7d9ecf78e6e6c07a3f387822345e80c8cf5f80ceedb6d23a8353fb09d17db940ba43221dbb9c158c20c75a67551cc4a3bb6c027d9f7cbb0333f103724e2fabcadd0ad0df9e73fb8f9cb3ee4726058a2c3dba9b1ef86ddaafcb6052cab39211bc6cf6781b5110c0131b35d330485401258af855bb8d36a6c3d488458f8ad61744297f52120b4d18077c2baee0a9738fbf09160e6a0a42516cdc07e9b018c57fc7e621e0d682e1431b0eff884b8ac66c9ba14f1de592982a83c2dbcbd56e6fa6b58449d729658af9686d7ddb02e9443a176b3af096e6b391099c6ca2df6e17b11035dd09904e36081355664bbda4703711df72c096e9d9f7b3fae4ea1b022d0ae9e0ca4a274203ab6aa98d3e9c3f6bfe03d09889d29f2cd4a732db06811ae116030850cf5e22cccf67b2738686a598f6221879606e684d61cae6b6087466707353793eeda6d04dc5f7886c5062de7bcc01c42bd774373a8a64f08e7cb728899546c319029daf9e8f5b9a3344734d300b7f57c5c0cad7013d1db0b9bb762bd92f7844b2397c9d8245bdcd84fd74d1a470c7c7158e0b7376978a7af53d2d09107d566cded458d9000df49fd5176d14fb70a897499de401cdc55a4d903ef4894f8df4450b023ea4d82a12194cbe974d2d50fd7cdffe2d32e6d44049af8854e06e0ea8fb3f74a5dcf7cdda225a75e1e0c2555fc9d2516da46c22d7b1cff724b58f74aed7d7816a621541d69eb9d3860efe441e84320e07657bc542ce61ba470b2220c58c7b198f937bcda79fc332a1539f094331ed17e32124f32523500c95ba37fbeb948193c002645b1c9192e77a3453010bbf4d59805531bc4d7934648fc3ed30bf355522f65cd4512b327611f478effdb66a46a7703e2efdb8726ef6182713df01ae177d9103227e673601abb262b663831a0875c0fc011ba6e6acd179904149dbae0adbe474021b826153c0000e6e395b6f6cb670cb8ff0ec9aab3be1a3fa280310aac77f301ddbf66b74d620dc946e769b49fc7157dc7af72abf49c187ee217e810f5afd72c42d213640acfaab8c712c6042188dfc88b119fd67ca62e64f4d8b5cefce450dfeee670dea1160adb4056da882f955a5b0e7c062225f51170823b7c05e5a8ad3f3a54ee21d0fb78d42efa83ff367ab93236d362e6eba53f6cb0f31499ebb16d86009c0a5b7fa672c12ea2dbe4afec47b420d537157c061f8ed8d10820297782d9ff31c61f5ee5229fd2c098902d2e9c7b1b919cd761eede08a1e47ed726e2eb1f033de6679a4a565fb50bbafdbb4dee1770cf6cc5a45d01964008d05ba110447f3170510520391c90027114da1e86df372f330a06b569c4b9700871350c64ffd17da4132c3e3aa0e437694e4fd9f4437fc01a8686bdbb922a013789dc6c43eda5e62b0625062ae33c039d32dac52b6fd1e999a226e82f2f4b5480fff028d9d2905ee0e34299e10cea8dd0390bf9c6dbeaeb6e1c7a53e1ec19bbaffe78dda252f66a8ca9314fa007fe0784fcdb8df9c6f11349c6db6c38e1480c58eefbcd5bec480d6edb2f8262019e32a26488eb1319bf63602e053ab93c14a0fa1aaedf7d901af4351d3a5307904ff502fec14dd7803ce51dff05437715471e80e341a807840071796441c3fe03dcb0168eab1283360233f8e4f9fcc8e4504b26f8aadbe34ce11245eddd30afe9a8d78585f7b00672ebbc9136ddd538fc31b02fb7807039ad19aed967c1170fc289d38b8dee078075550d790ebe901570494deafaea60ade6d845c17c74952fa3321ce2ff22a854de2253e2bf9000233bcb3d639434e9fd309c8b0a688531bd40da1302889d574246d4b0d7ac44b0c30be43d8555b9423af71366e39b370ef17e2043fc3a487aae4395e7cd621be42cce87ae3031c813b8d40c630bb3e0c0cb8ff7ed3121db478f46067f39db1b093589254c8567d96b16af82c421a8344e3b7538704440d2ea5ca56553155b5175dde4e55d237d01fc8dacea58a1644f269f8de375e276979dc860125804af2a9613eb0c38f401b1c99a1647cb9bf196f49faf908e89df0e0e2946a57853dbf13f5a52c77a491a371cc1c51a8599ad7d97001681a3ea3427e4b9c53d6037efff04adfde5186964722c73541d4ba99172d7389e416ba9387d882ec5dfc28844c6b69dc1665af6623c01cb6996437052d7d61b8f635b3bbbc817b9c456e4db5c1499da800393a948a26961abf475af1877ea13bd9b4b9ec348e00034aa5e7573191fa0c62ca6803e042c8b2ceb241d39e038094c2dbc56112637ed59b32ac5a93013b26950440fa803ac7d8a963104a5d30303e441838d33f35a79f4d6b009bab74fe2b14b7e0f5fecd452f4913bf7747e67922e635406e673e1118c8183d656b610ea171ada2ab9e85532aa5c71d94400cc324f9bbbe05fe3f4189aa7779dc4b08575d4186fcb49f4c9a8471028a22cab338fe081c874350479b32c0a8bcae51ace3348a6c8e5c6a4137abfccaa7e55024ba70773894646fd73d003becb041d3158429189795dfe5208baafd81430d82a03334abcc0a37f63250c310165de8c9f722be58405bec024e91cc29bfe534cd43bd1b3469caf2753d84b676d45bf8c878343d9ac0416f2255853414f30bdf7fac750f830397930b32925c8768a2d820428bb926a93be073de6665fddad8f5cd01b81ef493b6752b3e3ae54beed20994a11f20d990698390cf7fb2869788bf3908f06be3f634a77f67221b00448864148ee6d395a41f17d433289761debd726642f252418ce59f4a1f278c727a6ee8f806417bc4645447fa15758e640bca370c3fe66f3e4d7112e217242e7f90b23cf642262106c4f9459ff8216430d850dbaa68b64fa89fbbd292d96294ad3d58d5e0b44ff967ec9a4fd352650c1532aa72880bd40bbb861000a9855ffdbaa0add59f5a27d56ce5ea4c1dfb7093988eefa79f8999b1c18a1137c034687ce2b75c5ef293d4e4416750bd2a9b22402c742f14dedbdf28aae530e6e6a70356925140f840a9914621108b0162513ec1fa836cf18f0adf34c60afb7368d99b09505f3af964ef0382c6b70ca190d15439f60b46b68c65140fd1a8378cb6e8ce1205dfd8054c40dc88318d54a09737cca643f0299b160d5cbe8fdebcb9d02c72fe4688b5c8c8efd58a61ff5aab4c1386a1a0c47956e260bbdd6cb7d9c12ace8c2a835e34a52765f368b97296f5dfab7a58a78666a7e75f58e0b65a018024441f6bb126d012c439476b70dba0e46285f1ddc42f167a7f6c17241311dbf686eae5bf52bd168fd3be7ca31cd2574284ea88118788b3619399e6c830d35c1e5020d7b0d0ed8877f0b50a84b9d1afbf9971e259c6c7f64281d5f51994f72f2794120402db80b67ad74f0e1c126eaccd97359e8ec1c2c0aa634615f7274e842f4a912c5fca77f15899d050e3710a63383ddf1db93474bb4f60e253fd740dc68b41fd90158188094e6560ac39e4152a92a5a318f3b2213f865ae5b404597ddcaa67d478b737ac930ee39304b2c85d14960353c8cf94c0581158ee8998e9177e41e46b5b3357a3dc2a7af905c5e53d730c838040113f415cbeff9212ebc0640b763445635c2d1a9989a54e6dc1e4b80c25721089815ca577e9f45c448d9a02de14f7d714c85d19faa45b9e145d65c553e4921f70c5750a34d08d957907cbd230acd4af4875e2291d61d33907fd97533b8966d5b7a580b0aee35377dda1867ba425ed055743ab85cb94370b736a04945d366bd26a544fc7ae05c446e7a278bf64e4157a8d12caf1a9f0ec92fd41a7f4e7824874c88803610d5779d7135c6bbabdd421edaf04840e0d992d5b3b6ca27d7a55fd1a6d52523ba1daba3faa0dc337de9da5c78a90333d195a03df97ac5dba807e861da540af122c27acdf36dd66aa078df4de9fa0ee9d2f0f2060bae47447cdba0cacdd75da6b252569d6e00da4e8e4391eee918c7192ec7783a11e06d4a8998f130e1676e66085bfecc8162cfbb3b2ccf4abad72ae7cefa89c4ce2d48953c1bf08611bf49d706d160678abd7cd60d7f6afff465d9b1ae488d527f27ee779f6bb2857770062adc13da9bb13ae6770f737628509cb94f916b207667ce89a4f8fac62aee833579fa571a82d5b568bed4ee420c6984db08af6c1bc5c803fdc423aebb2cec4212a613f544805c19b5a2af49062c35f4a6b12e0247ab8eed8f88bdf27520b1d75c75501d37511e5daa17524fa2f4f5cded2a15d58e0118423dedadaceee92753c488dfcf733e70d01f9e53f4786d29ff083297d00e6c1d23c76bdaac3fa67aa62f43510b8016cb14a09b9e57fe813d33204ffc3ed0abe3d54d80980bfff1e84c7e246c99f9aea1ae3413422e513d6c36328c6ae1dca2494bf8295c606b44e6c79d902b4b20357c4cfa8d8f7bcb90cda5bbe77edb7273151f2f2f0508f0c3466be7e985e4ad3f60db7c168f4673acbb05a4a9ac6632791f1eba67a7543d248c7d840e1d5501f204e726385046c5f092c107cbae024097142161d18f6035071464f7b8bb4d821c1d5119a9e4150e72b67e29656c2f4a0cf963462136e373ba9df843be47e72271ab8e7e8f2c8aaccee2913d38736ce366310389fd07e7de0c1235c25eb74ac8419015ec3aab0649255757f9edca5f55f6a073f3715275b18f71f42e736bc3d1c55fbd1ed72918f4c15f6fd70c40fe666c510d2a67cb878d0c3f04aaef1e21c8cb5eecaaa4f0dbc98b17f514ec100e894ca27c82c8938308cbdf073a3558f53e8259e9ed471a51c200aaa0bbaa38d275e7c957622519f45e46ea19fdd26a29214f2898a78afc96a83d1407ceed7c169cfc6b3a627360300ff315e9d2902d4c2961210f212b81a1069542e80610e1a9ec297655877b895b2681ea141b244cf8a0c65bc6fefa6b078ae83b8384f17d36ee22ead92b95b44598204ceb349f609c4505b6ce8332186ff0e7477bbe1c0af928f0c526388c2a44fd004d36964ee7b8f6739ff8d9f46f85a287d449112d945619862d52c4913216b0c5b48f2040be61ad5e11599b862cc7e728de7c6d57195d997efa20cf8c3c5fc88738202d4a58ab13eb068203b4eab7ab62cb96d03e06f987755a2a0f2e13c3b164e007c8629067fc099a19c27aa8677047de830f822cc11652ab549e31ce41ffb64d3a72abecfd042febeb31a3805bed091409dcfec8ddf26af6ecb9aa06133d669590fa8a64c102c8d7cbefd093ee1815bcd6daf841f8d74ed1fdca529d893bb1622d0b9fccc65ad9dcad0c4f9fe2a3c513fb0684c2d3e4ebb09d5ae5455e4bd88e3d36231af7afdf718e8e8cba96a3b963da10ed54aab080086db21304c2208978f29b9068ed68f8788cfb92d4e62f90e4fa8e276148ea0c8aed13fd87b64af3a00b00da5749e6a724b01864dcb21e3533c2495685182ffe0c3b6e32f3457a05241f685e80a003c051ef5c253d76c92655b53e59f220f7cc7fc519022d4f619fdbf304f212ca427cd33dd30178dab9d77793bdc20db7b90d2831c8af8ec62e76ccfc86e347456d72005f89bf5214cc16357014f7ee44df04d6070fbfff3976d0dfe9cfa07fd8dd0ff1a7d31367d5413928ee7225e35a8448bb5e2e2570048aab4d5b17ad54073da6f92d3e6122f8da3db7a0ea6d87f5a82ad32c4922504fb3fa3facf8d2cbf06378d6f9245fbf7eb9550df26676f1cee1c2a2bd7cbfbb3f5e619a60b82dbe436bd7dbc5298b712bb699f82fbc292d6645f2c0c7a5fa15f6aa75462112be066b4f70fd7f40fddc330e2638487a38f244abbf9197cb322e70fd0008c47c066c329b3979416b6cc87b0b79becdb9cf697fa29500e11416bd464a56dfe88c6c5dd1c0e045ad5f9d858406096543dd83b0a78c77ee338795a4f56fcd1f80eea70bbd598f779c90c9bf2482303b79abc6dd712575944f309bf2b9b30cb27c956184ead5452b2c435f0e3fb5b1488e45d0af738d3b901f05243b8717643c49a2a2eea356ef1894a422c1738200264c6d1770dfe7298ea52973e953005238b68f1a8e06555f00164b26552af0724454cf1d2c91de293ce9aeb10f5a68f900194da6df2cedfa34fafcb6454cb4f7bbb767bfe911cb8cb01ec64edd2fa41722470a34ab1af5b67dd8f9282a316e3c917038a0c55ee31da6b807fbed7f63eeae7a03893c9251bdafa758e6296f385a86c457c7deb38f5937ffecdae6593be1004d7067f57c9414837d8d9a00ebffa0b58fe33914a22371593be9d3df52d023f65a89224666a3478453501de7b203ce5e9d8163099d01282c98fd3facebbb7288b7981c0a95c3c02e4e61b5861412bc6b6dddc8af14e4a42fb334c6f198135648018fa91da9b9a5e2e8bc3c2ff0a9b6264388066e6c26fe291c202130ba6150c6dc2357786ded9f0d9047d35454d8934a57a9c425ef898b94b64ba5e1517d24708b68db186fb8579e3bfd2226fca087ecd274106f051e05f37cf59f42d3a94892e4b37b9ae586346a81c8603e0aa72570def48eabf9f66628813f2b9c8fa71be7ac3f84ae4849d0c2390546ac8bdf61134198ac242187fac1014eb1467bd4f16679ba5d235fd94234f342bdb4af628ccfc26c5856aaf579fa0f659be70b33c54d4b2ecf422367748d33c2e4f4289b54d4c0a05832e1f8617a4d9f8dd6b123fc521cc4600fbed39288b9401370b81d6fee5bbbbcc5fc19d9d28cdbf400d11ff3ff0012ed46dce3e89f7d49b9ecdbeeec70aba41212125794b04fb69da5b8724b3a0d9f8da5f99e37439c72febf50fec97bddb763d116bab1eae3ef32c1a9bfc0ff8fb8d5ee5d583065d1df540f5473c8ce0eee6546b684cacb60d239df8db66281766de32a9a1bd57302cb76199012ce00b2b2f33c7a7d49f424bdec203b26f48376d2f8f50a23f712b2b4141574cca232de8fe5602cdf514958b80c7739dfc8d07496d8a63b68f4cde5b3b42a522123d50b2436a945572d7894ed453af08cb6c66035b1165c55ef154310e57d7ed5afd27d26f4666ea4e4ffd3d5db4ee818c962a7cd44f6921775b34c28da4cb2bcbc92dfc98f2c3f23a51400198d1e1352bb8d2a1abd93cf5027778b27944c6eb14f6658d262f3a0bc3bc6e9fe7e0abbea5e9a3ea16c97dbe2dcf35948c69512bc30bdd55ac768c5b338f650a1ccf2e41780b2a03ce44bfa42b7b3bcee552674a5ceef5dfd2db98ea0d42f876e5e7d64ae3ad08b13885cc8aafd93fcdd80b81d6674009edc4e2c5e2b42ca0454a1ee79611c4fb05679be0459ba848ecc394821907859e9f25c062de217df393cb8542fdf3fbf85961d67a83893f0d2696bb61e1e95ec29b6f1604958d8f97b247f4e3c5b13753d88f034386fcac643fb0b2bbd2c0779e6e58479b8e69d68ea5d8c2131c19d8d677dbad6963f66cce01ce57049275e323a972423d6205b53cb2275361274082c959994c846808672fd8c0f70b73664a3b811e9c8561a6e6ab37ae245794b792c04d6bd21599dae74f61316ba6b8533558caae29584ac86d0056f181d72d3b8d50dc530ee35bc3ecfb62748e8a14cc899ff661a1e0d7d974ad90259dfb948c7fda41c426bc0cccf4fd61cfa58e5454e9ecc1e47f59f1e6949e2b9601e01c4b8854b4fed1a654a32bb6940f124f6fefaa89b7dda2da2689f541f3c01060e85678091f0d55e8e6a5de2e85775c00887418f584b64da63a8400b941341e5a9e7c59a7ffc72d52c17201eea996173c53329f4c19635afff5f428b716081805a3d890add131b6763e37add236b0a4ecd32012f5a17094b5dbdfa4fc7fd65e07f5d52cc14c5e67e2e8592beea2d7de5dada4ee4a8390e766cf4cb32e3c0b16e6f9a62fe35fbf8f8eccae4ab066a74cac8926b10b0a8b213fe7df0092f697521f19f5d31bc00f8d1c607d461adfe78b2f9350c7c47b306402b82143cb048e073abd583c1d61dca5d33858fe363e2c38e5360a1d3ad2e4069cb89c3d1c3db070f3f7c96f1edc39070c87b88edac776517f95ef909500edc6f6ddb30d4c7d729ea161ad013a892f51fde7556f097ac23c38629c664cb2aaf9343b79bfe1f4c0d79eed375c460678318e5d997d421e21a63f7e7249b2aa0f79f1fd52fff13adeace2a28a9796f4effd20c7f92628e6ead12f8aea8a2fd105728b1007e606ad57458e1e0d13d57330ae5d1d23cae98e235695b8ae0b73edd277d47df11edaba8e2916d17bfd47ea43c8fc334bd1b8246f520c7e9c2e7cc5ca8a3dd5d59bef77b736529fe9e1c39053a5fd201fbf66de04744335ab8c588dc07e39410ffcb7dacbc7bc67b9c0e1c9a235f65ef58985383b2745b3d49fdc8553fcd382e017c7cccd56076a2e6d0238812a2a3a6a9f7f845cfd1fdf0b6a6129299e49904ba1b4e2b5b9c16c17ac40eeeda35c7a05655b0895cd16292399eee2884b4389971845c6a3fd77e095163c9b898a258b399f0430b8a20fca691f0803e0f4999c3886fc8c18888e02d341b4b53e9252e6bef011c8327d431b94d3cacc50da239b1f708ec952eb92a950ccda357397c90cae5cf53a9d89ce3e22ef04ca9a2829691e8ed0cda5f39b285a33f235d2fde56ef2a93f2c16272e81ac63906146d59ee9d5eb53181d82e71a6d1fbecaafef5ba4da1767508719b3e29e97db0838596979545fc871e9c6aaef272eab86d55f19999a6dee2006a45d7045c195c09eb6059d484998e1ac51f7cf4b346cfc20805e0fec2d88ebc05da17052e7e6be0a546b25373be56d3f438636d4a36f31e33ab8e7e69d7ed8728a0cdf73508a03ad1d6cb4d3f6412b552e16c6832552e57d0dae9d4d47945c7cbdf56bc64790166f387b280b115f30f4dc5c8749f01706075491f5add58a2a9797557cf554c97c89da3ee8574e0351efbc8997df951e2bb1f3600bae1d386ff72b0b495268429256324f070c9cb521afa4acaa17861f8d49fd13d010cd2ead2ef11bc60bf29c7793f5aa1a9a03a3a029c371cdc82fcde005cb765561149887435f4b25afb2e62e58de51ff2912507fecef92a86370dc77522436cdebc6548901ae2f7713fab8568d89e24661905d9c22616551c1a7a8071e5db25b0f8db8ccae5647cacccf2a656c4d9e2245f02417f455b38eac86c995f4f5c0dc37bdba000cb684682e872c9387b13ccb0a86226a9f65e4b1048471fcf28270fcf3f200ab68c74bedf2633a9da249f8dacdbcb9c428350e86ed8cd5068fe002dc5a501ca2ec5afdece7a2b30b3c751c4d56c1f1d26d49db6e9883a3c6c8b759386f5edee3e615c62fc187935e5840ecd57becc6e43f856442a600e4bb438c418e51a4552a627b0775168f155d3daf19e8b7303985a46a4df481664f5c1bdd69fb06ab23daa495cf5b941201423758df67164617419f91dcc32278429025c9c2f9043f7c3c1affae9ef6b7df3b8bb1e019c341124605241f370c811f35d4ce51148e559b2fc83cc33b791b2288d942f828ba59127807968dcd863cc490955a95bea0fe98bd0b4aa331308b2886f56b1a8ea422734272059b91473df3da39dd05e2078be2469adf5b1cbc8c2836a0c2af1513162f17e8b05577e1d086e009fc16d3446ab780591f826c8243e8b7fa3c165de8dcf9b4cf2633e80e317e13feb44c56617df799f3e1ee6ddf38a4438d63005f383d2cd2c7c8fcd259694dd3c6d725351a78194b8cd01c590b15fa7cde56d16c0aafd883a32a7acec05c43dfa655aa05130c3350b3b23ca28a7d7395bfea55b4273a1b8413be8f551b83ba919ab02e982e54ccd182576b08a6a777a92b98d1394358732809ff0e8bf52c74919edf6ed89a44865d5478a3fa1ca74d6cec7e6dcad022f9a148d8ba91ad1e4e1e648e92712580dd31cdceef2f1ad503443119cedae2f03a286302c67d4f653337ff1036a5dc677a13e856422289d31292d6c9fcb2f20ec0c7686416be5542db781ec49f60c37b655e6ede330d217867b0f896dff6bec7afb1bd67f72299aaf7995f33b28103780172cb3e2d31e68adc0ddfff5fc856502c8efac3585cd5185b754255d009a638fd143a504acf1b0bd6c2d95ceed1f5df20f8bb92b7179c8400bba072c53904fd38ab6510543a1925d08fa4c888ff88918048634e4872dc993c6473189b8ef8260f9d9ad60f8793f37610dc0ad43ef6fefd0ffa8feb95bf34a9805b4ec2187e3b0b1be435e5d40ae5db1646608145b59e079916e31d4f24b304d3cc43fbcff7c4df304dcb128fb21aa6113ad1680bb5d725e475d2c6254082e1d4d48f9ae19e47bd5faf9440fa4af6f7c11195c48640f27a9fde46188050aff050219c8e3b1c5fec492161c4f57969e5324d5cd0a59f223ab5576e4ba811f737e89d2b4a98826007df390e9bba33e877b876fa0897e325cdf257f51506dbc20e8bc9ec7ce7737b9ac6d08659f8526382c56ab067ab168831876089158e82f0fcf1837fd5e0468e4765bf6b22f86d4bad6b292aa5b7754fff21313bcf6779f93ee13d83d4791f633b4423b0667ee4d31155dbfdd344a682e1969146ad57babffe50388052f3691b197940fc64c77a423921bd48ce726e8106618504ffa93c3c64b50cd81f18a339eba07ea41ed71a19af3a36c0844385f01cf7cb34a80d23258d1ae110f4c80f8ef1a8a45223db0dfb0e7dac54dbdfab3c638c703155e71662c5692267596457e8ac2852bae4d19b3a0cc2a9ce88d052041c4c9a844c7bd3d4d81163a2a0092248ac45801b2bf7887b351a734a48352aac02e11dab94a47db052d1470429b40f03befef2b6f3d2cd5acfb59bdf5a9cb1a3bd47e5f362ceb1ea54d0694777c90cfbf541541ff15bc33dc5f734063c3e123489531f6f11f35dca8659cb0e8ea243411e490e38ad316c9646e483750e6f730bb6694cd3254c48e21a67e589bcdbcf61bab2f072d84ffe44f438b3c4197238e567f1743e02ac8d9e4c4d6fcd0ac958fda737afd1a3e2d375cabf252aebf78180cba93c9bf2dc8a30ea7ff52634d27b9e27a4b98744ea464b0e53ef48cc1a9e1b20553b7e186030c61d26adbf64333abbd2fcc2f80ec6d114b0cf960f4e605739449017a0c2b918200cb6162ca8a9180b4ef9ea4e518a801f25692c783103043803123d8411f7fc4557dc1b8002cc874cb048ef9f98187017009a2ffb1c2a4dd53ec32a3b9ebf1ae9aa7f89007ce51bd4dc582040fae27d5d3d4db2168364fe1aa3732420fb002ad3042b340b8bfa22678a96c3047a4d174b9188e3eaa7310aa5553eca72e34894e601455fc36efc2ac70043904b907be18096e1ba5e052fd19595cdadd9ecb0dd84a72331dc3cce41acceba3813c62a310fad4c086ae5c3186cfee30ac584e890ac6609645ad78ceae183eefd1258d4ed0b7a271285c6e848676c2ab26b1d0bd407eb19c72f8300b056b8cef3e4d175ee444f12e11b10d1480790288797620e83bece1c5f3236e16c3c2e31d0dbe7088a555aef88f5ef7fbb4e76105962f3ba09e83ec932b1ab6309b6fb7ac9c889cfd9f40e20c862dd05e9aa0440eac1bd1adb19e8202660bf00a4577e622d4e47ba2e09f97f0a840db1afa90bd68660f7c8e0183207323e99f42083f327b2b431510d030f380bbda892b4d2c2255d22379c639478bc9299400f08fed6ccffc0dcd1f17047d0b202edd4ff808193d635978822b6df5dec2023f98b1f167f0b3ec633d96eed5d5afd3a89b9d681411ec321e832aa9c6ec744e247289e4183e3846fbcd89e30468bac8a7ad6ef2c3ae83c84858a3181b6c44bc3a31754789286823bcba36a917fa9266dd5e3b2013f7bafe0eb3c68da3cc484e57b4d63ad7f2d7ee8f03822587523742249c8869738f5ac3cc3da213f1a1a417d41a8cb20edc51aeb241d7c6e812b466be9d66c621ee02a92543f751f1dc408e478e0e44377d73a7dadbce0405d1da6662946a42c50760a51bb568d229f0bf8c641c150be37b6e5498a40717ff0c6d0e6bef4ad8dc489fc2cf26684a7fc35acb0bc6dc26048741761397035a7e9c06ec87275c4a46ae2e695c645dbdb8ac3a392dc0c5d6d645aa04f0a00d4189b8d47de7203967d3a569b8f70bdc46b5fe323ed7d55c5b90fd3a207988ead1297ca7892329f91f6ad7172cc54ee0c80aced4dc8b56278790342f5d9066dd5d8a7e68be2b75fced007c624e515ecf45376a52725df1be4edd90782005985df78cb38c3b249b1651c1e5bd35d07f54d55d94b997516a573ca50c7b70d4010f4c18fd96085878bccebde7804b4e421ff5e1b461da4ca3c70486908d1efe5ad54a171addc043caee0292c2847fa92dd383e599630bd53e7099a64140fd0c7c4648dd09445a4909bdf8c73b4a030e2de7b793db1dcb6411689f635d6813d80be536398ab093c4f7a02a7e42fb3b7d1200b609ad15e194eb2ede34b96a53d68a2efa9a2d0e91e811992ad52a9fc482b9943ab9177f1c87b382535561188b2886c7ec59d8983ef8ea827bf1e23cb5cf57a533f8cf8ee5a82ca42327d10e807da6f70e027af4ba763cef1694f4e43cf8fc8aa42029db4269137dff57db0a13492ae2c5ce07d6aeea049055bf904d4c3fb1bfe8f301131283a0b2bb893619fc66cd550a2d07c0a717dfdcfca486578b4a5178c691a8eece8534a2b5dc51e60459ac65746a37cdaa07666e9a134f8cb6848fd0b5c4d67e3d006c3b6a41c1841fcabb95eda63ba5a8f637de01bccbbb736e33f893544cb79d57fc866dda4d5adce1ed8d0a7873fde9f8aed98996f7175e19901e47328c0950b95cc796b8b19e640c050a64747eeed802fa6fd015a3e437af64f79b5b9eefb9bcbdaf94296d324c5f410306296546830bac27f6611f9b4e2bde2116eddc4a6819eb477d85f99b3f87f5cfddae2c7c28e5bfd95a38b258d3ceb02547dbaab53de6c25dc18ff999b90bcfc1a4fbc4baf54d3f47a8c32e72a369804c353f29f15432699268d7b3e3d470287ab3c011c5794fe6f1d478ef8cf3e14f83fe992b3a45c86a168f95a67b95d73cea48a771e1f97ee657c38934513e2674c2e950c2811a42941ef62a0f50c7b3048f07c83d5b39b16b9dff8b5750bfa5a65984de1775804dea6ca3b2fde50073251a74b85d5fd236b835bb72fd4c111fcd021f44d2ddaf9e2428819fc811bc69336c11438b78027b266941408c4cafa66b9ce00d1aa2637df65227cca14535c3cef2ba62a2a3aea06d193fde475a30400b031d61ee6d82f719a1082e0f91624aee654ee5564253be2e56538b2509de4f68fc08464476a8881b8a048670b9b186fa188e2b91d5336bb693c043d11fd42ec92aa76540077ba0cb607aa3a078ff8fdce981a23c42f7daae36d6a79c28f285be6f23526ee201693bb0503c9d8c56a21001fca3b7bf8dfb09ae549dfb955503ef81ce174f5f1af342536d9f4fff42b0a6104e895b03b729f4471ec080faf875d080186a8fd79898a319821359dc964e4c374cb256a1edda1001833af17a2ca8c61063fec3a2fe18e56db90d25dd87eea76ea794c1332d33a53c7050c0597ec2d71ed7d66c0f9fd62014858989be9656c49d1e4630a371d5cef746d060b4e7be461cd3b882c842b3a1055a121c8d3ab437244600934036e760b6f802ce4cb8669630a9bef08befe3e489871c4855993aac77573100ba332c0c8fe3aaff9d2ce7011c5469573af96601e110c62f553e8dc9d9a9f7d0597e17d01836816cf6bbffe5ccca68ab39a374a98e832097ffc7380543116bb00c8ac8e7d85767c3752c22ba5074a23944d050378f1d471174223aa305fa5c4be6f427d06cfd4070b87c735bf5f8614f2a8341e58d8b107af87e5b9036130764f2895935ee505261e81a3efbc715a43e812b73d8b1cf4e8410851a9f84bed3b0f1b97b561034c9e5d734b42865f8575c8cfd53f97c0a5df8c0bb15d25895a0b92cb2befb3c7d85feb3d3a961c5d04a8dbf495e76a9ad7577835544ced0b2a1b45360723cca6ec0797e5d8584df80e6885fc8db7416df2055ec1044f2883ddf10248ba022ad2301115d60d82dc66e5cec2931e276557738485a6c77c4c1481001c13ebae2a5c6b6e04b20a64de1650425f7c50d32fe66047b5cd016880ef2b0077d47967ffc826cbea72c63f5e7774cf0115cfb507fa812be6ac62cbf5cc4cd4577c2e4093540a75a050e90808c699fd12c3afe5af9a26f2818a24fbbc1dd651fe15d85ebc97a64b0a08cf90091320061400acc5176e8a46008793a790b6bb922831d2dd6584101d6fc5482cc38b7b6b8d717f68eea4aae23947fa10a8616a74d3fe4428874ac2c2f0fdb98c774c9b448696de63ca07bba4ea8131658f1bc6d1389602cfbf8a82ca664f5a2e3fddf186c699dc09d8d1ced461f9026bac1118002f5bdbf78dabaa7b6d502301ac378f56dc8c584211bb172688747e53c201396dec7efbf11e2fbe546298ce92857b21274f2efbfa67f544e4515531310e4835878effe068f8dca69842047051a86c7065db7cf03a2536208986e2c3930f83aa8489dcefb567d8a0957ca985a19f8bd3f09b64f1b90b04e1d0439072bfeb9ec1ea2b8ba0ea8a13f4f94bf2e4c7c0b726a4ffc01e92be8af81e1d5296615fe813d40914349d866a7d1bdcdb08e9b4dd9aabc156bee66641e13fd0916227fa757b452ed71f7b7c53e4c2376c72096e727c4276bf3cb79b63bbeeac7cd45a4772e66122684e61c203e449247cedfa79a0d95372389f6777aeab3764d76171233ff98cc6344da1b45d94cb836701635582e2c59601a7688f3acf68cd90c69306a720c7727ea645b7798b95d3135d5c988f862d0c16d1331bc274185f37546b3569729a1784f6c761470fc9d97eeb0f645c132405745a3bb033c509b416dbcf71475b2a9bdef12be3566095ced19fe877a74d75b75b9d34bf65db954326fc35dbfc96f1b779df2d2c158a57cd82fe6c8cb7d387159238cba96c51818d28225d32540bc0674eb2297ea8a5921678b73de5a7c482f351591338c9aef5d397403fc5ad3c5d3878180204482b382a67dae7ea811ad1378a19f4b9c1744ab25f53bf35dda8025cd923c89e2f502cecc34024b4ae4a8d3070a5b5cf45d3e90610a113b92e89d8d48f6647bd704ad1f6e79e814d903d712385031a83ba9179fcfb9dc99ddd666d7a75cd6e6f36c10dec217a8f75ce65c45e00d174b3cc4e42da644710738a8472e4cd4f232b5e2008848b6ee1bfe49d3766cf4c093a6f7e75c41d511736e9f2617ce9ef04545fd580c2897aa51f968db537c730f1419ac6233719998e98e6b8780e1baeca71ab958e4a58a1be04064beff5b2a6104396af7dea13d207f7de3168781963ef5dc407b0e7d6998191a12827c2bc548cab1dc11d6808fc411d11b4321e668b2f4924b818c9e6d75c58a33d8a8a2ec64df5885ba5f8d9090ccad5125913389cd7eafbbbcef62836e0c45b6f5f79b42dacdecee7baf5cf220205d5efb118696a87a18807a049af2e1da78e3249b9cda207e33f79349255cb2b94a79fb43ea3227ddce210c0363cff59fc64ef2dcc7a25beed2842f97040e0f8ec022e3f98f4c9076b137e8caed2a8f92d7341baec628b576aa2e1ae952e631e03bd672f3a0c00475637ebdb1337ea20167ec768480c1545ff0c7b09f963241e57a5d6ddaf06b846ccb75c9e702bccc779d365063b08bccba0c6d9130b18937bec84db019730680017c2a190a8896fe3bf476e6c949eeb5e8b261ec8200784b68fe419e9f0b6ac8db70f0689aa8d84d7ab66fc8f13687aa5684e284de2d17642b47ad622f4b975f2aed4e817deb9701a37dea8d8c5a07abbf5f5841877e20731a6903d0ac1c90ee1b605a8c0d2ce4ee74c9afcd766e7a93bd08fcc5ca1a006544ce8e00e6b80df86f5b5a61252a0df1dd3f7c2d2ac4083765f0d995750de97923e32447d9c3984cc5a15a391698b1478d37f0e6e07bddd542ba31c027570dada595b2a682d4fc2afb86f3d4a6b828787950914bd9d03e0f5e3488d19ca12c6e90f542d814c69a3d6c8dc07634f1bf6b73cfe03e3ef56d53f5fdb8712ea71657674f2b58f81796766a52943a960fb58c328093cb5be9d6aa8ccda631f2d57bd45dd9157a72f8de553c3e40cf9e7b8c50480ffa9970f4c75900dc9664c8bafc1012410fe1247ca64f45222a38954b8a1d09148d4481b598e95fe8d1c166ff1528670d9617cda305d41a85e2d606724d04301a1824ea6f411aa1316ed4158968c20663decd25430c73a0c42561d81069d6a54df4b0bbba7d4ffe8c21c07d433e7a612a778f3b9c72967299ba9e6f07bda820670eb7e3dce0689370ae7dd40b43736e5b7cb305510bae5ebe9f5d9bf2105afa2e528c2a8af89240d5f75a04f4e534b7db8c153fb1caa9a112fa05051612d07c12296e21163b4a365da49d1ac4f0633538f104ee50e671f50b29351e6976134c5271261fbc0a9d39d95dd8b55f47732f9e7d9ef8b4cbd9ed57ef08e8dc8db482ef09ca4f66c6ce9eb5ddbfc06830ce0b137c52fa393c50b129c8dcd5a982de116450083d181c2087f5467192b845e3978330f834e6f860da0e77f1026bd90544bd9954a11c785cb249ef0bd9db95c2681f310498fd2be8c862244927ecc5d2a1c837a769efbb56f6d910d7bdcbfd456b0dc3702f7b2cf41dee45f51a1f6986a37ee51fbd30d4a14c12e0bf821fe16ded0aef77102d8eb45b6847bf6ea09c30b1bfd71aeffe1954597638c493f2debf366157284606f262184e841337ce36cff8cb7c77cf34ac64dd2f8e1fb207a6203572d64f22626848773bbc84c0a5bae6d4b9989b55d7e7ae3b23f95622f6f9e543826c6c0f3282a061016fd1637b487367e54e06286f0f928f6e9a899e51a7ad4ada0f155e5a5555c91c9caa43a3429f8f6948e943abec6c12370fb08875ca959092591e02d4aab1efc616ee127ea7c8b4a0cc7a6b7a0de464451e4896090e045c2e93e01bafe9b25b366c918360bff75751b3ac1c074782eaff96498130c3c23d39e5bf1e2a5a5b64edefbb400e987af5b0342de5f8b1ff42dba1f322037b022cb5fd4f2ab7d4d1c20a4b1e4d002f54e0bf794d058a2e195da0632a23b16f68440ac0262fd797ef0d6ef806f921330cd8919d2f3e39afc763ed90e9be9bae074b401045fa7315e932109d04f7e4e8569f8bad4a91d418cddae4ea86c949805b064f1ea99e1baf4a3c1d46d3da0d74212f7f211f0d9171bcf808e0562e2accbd1f2565dd9823e4adf034c7806bae908122a13779659c691b8280212bc15db2df8162f79d8f6e0cdd0551a6c0b421648ab48eb5eb02d0e78af8e10915755eab5beeaf7106a69cede1660328cfa567a7f3070aece1e2b4097dd161b5ac52c8f52282305626f87947710dfbbb084aa836536009da58eeb03047bd8075f97b14ced920a2ca807297ed0972af40b04e87757777e4251e485846dbfbfd1907a430dccae6e27db4b4217d0c2db0718660c72b46fcaab21d6b06483a396827e66942ffe02cabbedf3a32706e99127e0335f66abca37af760f5aa0ec3bed052770080d31ecab7b0ec937438dc4f7f5c79de1af1c6e341bca7d839cc383dda39f5fa201c1e51da3a617997936ca3da6d330d96d2954d408280ef0b54cb8863824ac6768f202276f6089c56a1ccf46f6034a6bca5628f64f46ae4f96e4d5516a4434c519508c20151f0487aac812d3870164aa875d01c58d72ccabf285bb21531c5a3f4faa7be9cab3f508f2f21e0516cdb36eef4beb240636c582be085d3d827bea5de3d56dfcb106bfd089d81bca294f62951c9283f24678273ee4974b465451861c4c6b55d9b5db22fb58c5659f878912053ea2ef40d8e2b8e79e9f4bd38cebd1040f82bb9a6cc94345168c2afc241174732ff416d4c51dfe0c619592e8994101ae2490abbdd967da426d90ced211bfb0f25610bc4b6a2bdde60cc5ca16c644170755c8eb5f51b7372f2e7dd119e0cf7c11b632b62128c879c27fc23ec4dc7bf2ce23040e9408fb404bcf4eadaf1335e3dd4d658a6d65912da4aa3a4137740a7349c1ca9d62ac5758963d0c304c6b606b58aa5d69017a639ff2cc68e3900e4ac0dae6d7d63726539a6efa59fee2b3ab22f3f0c43c8249ac897df670fcf7ba6da32983ee7751b4f2374634c9213650e5b2c4aad7c721169e7ec75df2fd714498c36752a1cc52fedc16709aae1a2862eea8b7dce8b5ec6efd665ce7d4273af81a78fce1e6712be16e37f3804c69863b8a80ce6f48fe9abbfbf7a015fec146b29ee5254347474dbe7ec450ee3c2d4f2e2e577ef4a24b1eda258d08d0eb21d4a291d45175bf93fcddf045d8df540c2b24fee97dba8fa8d30f3dbbce4c978cccb836fcbf76147870b6eb959027b747685cfab75b6ba3f9d9364fd038b57fbce8a88e31251f64184557ca99b09201d1b670374305c9b16ed41d7fd6a3d54a2d1f6ae82656aaa8b690162fd99cb1ccb23cb0e3b6bfd7a243fbd570d370632c661e3eb0cc5a47f989e9b29b069d2244403d8d5f2f337be76e47de681f4f3f21101eae26ead143c272aaded34ec912f24b578ab316b90e6125a194d22f4cd4369859317a82976689b1be70b96c2942e5d568e35286ff28fa48a8a8fc1e1657ec7eef737d98c57792d55e6fc950cadd41e3d7b417dade60b5e7c13b89b3b10abae61116d55dcf15c428f9b3d22105bbaa9101bbe783194d8a995bb2e3d862fd8bf8bf421a14fd18e6fdb4fcae72a334b85d1dbc63cebd4e8e4a087a8c7ac84e3d96e0b15a71052143285adf92f0559d990e3d10667169ce73495570c713c53c8aebcb4f225343f00b4bd12d4e1920398df5433db4fba681f8ec0aa2c54574a3a05ca0047010c7924ba4536d634e5dffe2c6423d9bb2033bfea702876c79e3581e058ac4e80eafcf6c21ee72c91180e5c75cc53aa2bbc842375d52271c0e72a1301b9ad205d10241830fc1aac83db76c3e0653d60d5f059f11c5f61f77f612a2c82d2a89eb6f25b19d68c51ae3e1d44ead7c1ca027f0ed28329634be645932e1ab7c321bf27b8cfaf9aed30f2cbf5ee4478952b2074e4b64cfac3a17618a69de47892e81023b97caf77e33c4db9048dfac1a09b96bef130eb3973332837cfb7a78f7ceffbef0a1fa9fb5c09c4d73747897cec363df762da7030aa1690cafb13bdfb1a7da23cf2fb5e1fe11cdc8c29a91555810331e1c9d5e720fceb5b656a61352229a3cb45505af6c47b4978dcbeca765cb3832f25f69faff7593cb516234cf015366bc064bda4c08aa64c72e187558be6c694b2b1d969dbe870bdacc7df6a4da78013e35348db9aa876d70761fb0bdbb39e3erootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootroottomcat10-10.1.39-150200.5.36.1.src.rpmtomcat10-doc@    javapackages-filesystemrpmlib(CompressedFileNames)rpmlib(FileDigests)rpmlib(PayloadFilesHavePrefix)rpmlib(PayloadIsXz)3.0.4-14.6.0-14.0-15.2-1tomcat-javadoc4.14.1g`@gw@gw@gAf@fA@f&@feZeeПe@ee@e@eoedeSa@e)1@e 0@e 0@e;eRdld0d?@cc@c@c{h@cQ8@bγbbN@b!b@aaaA@a@a{@azamaamaama`X`Q@`OL@`OL@`3__F@_@___FN_!d^@^^_^@^Y^U @^1s^%@^!^@]҇]Γ@]4@]?]V]@\\\r@\k\j@\Yz\X)@\LK\?\8@\'a\[v[u[@[@[ug@ZZ_:Z!D@Z@YYYY:Y@Y@XZnW@WiW|W'A@WWKV@V2V`VA@UlI@UlI@UlI@UQU hU hTTи@ricardo.mestre@suse.comricardo.mestre@suse.comricardo.mestre@suse.commichele.bussolotto@suse.comfstrba@suse.comfstrba@suse.comricardo.mestre@suse.commichele.bussolotto@suse.comdcermak@suse.comfstrba@suse.comfstrba@suse.commichele.bussolotto@suse.commichele.bussolotto@suse.commichele.bussolotto@suse.commichele.bussolotto@suse.commichele.bussolotto@suse.comricardo.mestre@suse.commichele.bussolotto@suse.comfstrba@suse.comfstrba@suse.commichele.bussolotto@suse.comfstrba@suse.comfstrba@suse.comfstrba@suse.commichele.bussolotto@suse.commichele.bussolotto@suse.commichele.bussolotto@suse.commichele.bussolotto@suse.commichele.bussolotto@suse.commichele.bussolotto@suse.commichele.bussolotto@suse.comfstrba@suse.comfstrba@suse.commichele.bussolotto@suse.comfstrba@suse.comfstrba@suse.commichele.bussolotto@suse.comolaf@aepfle.demichele.bussolotto@suse.comfstrba@suse.commichele.bussolotto@suse.commichele.bussolotto@suse.comwittemar@googlemail.comwittemar@googlemail.comwittemar@googlemail.comamehmood@suse.comamehmood@suse.comwittemar@googlemail.comwittemar@googlemail.comwittemar@googlemail.comamehmood@suse.commalbu@suse.commalbu@suse.commalbu@suse.comjengelh@inai.defstrba@suse.commalbu@suse.comfstrba@suse.commalbu@suse.comjavier@opensuse.orgmalbu@suse.commalbu@suse.comfstrba@suse.commalbu@suse.comfstrba@suse.commalbu@suse.commalbu@suse.comfstrba@suse.comfstrba@suse.comfstrba@suse.comfstrba@suse.comfstrba@suse.comdimstar@opensuse.orgmalbu@suse.commalbu@suse.comfstrba@suse.commalbu@suse.commalbu@suse.commalbu@suse.commalbu@suse.comfstrba@suse.commalbu@suse.commalbu@suse.comecsos@opensuse.orgfstrba@suse.comsean@suspend.netmalbu@suse.comecsos@opensuse.orgmalbu@suse.commalbu@suse.commalbu@suse.defstrba@suse.commalbu@suse.comrbrown@suse.commalbu@suse.comecsos@opensuse.orgfstrba@suse.comecsos@opensuse.orgdziolkowski@suse.commalbu@suse.comastieger@suse.comtchvatal@suse.commalbu@suse.commalbu@suse.comdmacvicar@suse.dejcnengel@gmail.comtchvatal@suse.comdmacvicar@suse.dedmacvicar@suse.detchvatal@suse.comdmacvicar@suse.detchvatal@suse.comtchvatal@suse.comtchvatal@suse.comtchvatal@suse.comtchvatal@suse.comtchvatal@suse.comwittemar@googlemail.combmaryniuk@suse.com- Update to Tomcat 10.1.39 * Fixes: + launch with java 17 (bsc#1239676) * Catalina + Fix: 69602: Fix regression in releases from 12-2024 that were too strict and rejected weak etags in the If-Range header with a 400 response. Instead will consider it as a failed match since strong etags are required for If-Range. (remm) + Fix: When looking up class loader resources by resource name, the resource name should not start with '/'. If the resource name does start with '/', Tomcat is lenient and looks it up as if the '/' was not present. When the web application class loader was configured with external repositories and names starting with '/' were used for lookups, it was possible that cached 'not found' results could effectively hide lookup results using the correct resource name. (markt) + Fix: Enable the JNDIRealm to validate credentials provided to HttpServletRequest.login(String username, String password) when the realm is configured to use GSSAPI authentication. (markt) + Fix: Fix a bug in the JRE compatibility detection that incorrectly identified Java 19 and Java 20 as supporting Java 21 features. (markt) + Fix: Improve the checks for exposure to and protection against CVE-2024-56337 so that reflection is not used unless required. The checks for whether the file system is case sensitive or not have been removed. (markt) + Add: Add support for logging the connection ID (as returned by ServletRequest.getServletConnection().getConnectionId()) with the AccessLogValve and ExtendedAccessLogValve. Based on pull request #814 by Dmole. (markt) + Fix: Avoid scenarios where temporary files used for partial PUT would not be deleted. (remm) + Fix: 69576: Avoid possible failure initializing JreCompat due to uncaught exception introduced for the check for CVE-2024-56337. (remm) * Cluster + Add: 69598: Add detection of service account token changes to the KubernetesMembershipProvider implementation and reload the token if it changes. Based on a patch by Miroslav Jezbera. (markt) * Coyote + Fix: 69575: Avoid using compression if a response is already compressed using compress, deflate or zstd. (remm) + Update: Use Transfer-Encoding for compression rather than Content-Encoding if the client submits a TE header containing gzip. (remm) + Fix: Fix a race condition in the handling of HTTP/2 stream reset that could cause unexpected 500 responses. (markt) * Other + Add: Add makensis as an option for building the Installer for Windows on non-Windows platforms. (rjung/markt) + Update: Update Byte Buddy to 1.17.1. (markt) + Update: Update Checkstyle to 10.21.3. (markt) + Update: Update SpotBugs to 4.9.1. (markt) + Update: Update JSign to 7.1. (markt) + Add: Improvements to French translations. (remm) + Add: Improvements to Japanese translations by tak7iji. (markt) + Add: Add org.apache.juli.JsonFormatter to format log as one line JSON documents. (remm)- Update to Tomcat 10.1.35 * Fixed CVE: + CVE-2025-24813: potential RCE and/or information disclosure/corruption with partial PUT (bsc#1239302) * Catalina + Update: Add tableName configuration on the DataSourcePropertyStore that may be used by the WebDAV Servlet. (remm) + Update: Improve HTTP If headers processing according to RFC 9110. Based on pull request #796 by Chenjp. (remm/markt) + Update: Allow readOnly attribute configuration on the Resources element and allow configure the readOnly attribute value of the main resources. The attribute value will also be used by the default and WebDAV Servlets. (remm) + Fix: 69285: Optimise the creation of the parameter map for included requests. Based on sample code and test cases provided by John Engebretson. (markt) + Fix: 69527: Avoid rare cases where a cached resource could be set with 0 content length, or could be evicted immediately. (remm) + Fix: Fix possible edge cases (such as HTTP/1.0) with trying to detect requests without body for WebDAV LOCK and PROPFIND. (remm) + Fix: 69528: Add multi-release JAR support for the bloom archiveIndexStrategy of the Resources. (remm) + Fix: Improve checks for WEB-INF and META-INF in the WebDAV servlet. Based on a patch submitted by Chenjp. (remm) + Fix: Remove unused session to client map from CrawlerSessionManagerValve. Submitted by Brian Matzon. (remm) + Add: Add a check to ensure that, if one or more web applications are potentially vulnerable to CVE-2024-56337, the JVM has been configured to protect against the vulnerability and to configure the JVM correctly if not. Where one or more web applications are potentially vulnerable to CVE-2024-56337 and the JVM cannot be correctly configured or it cannot be confirmed that the JVM has been correctly configured, prevent the impacted web applications from starting. (markt) + Fix: When using the WebDAV servlet with serveSubpathOnly set to true, ensure that the destination for any requested WebDAV operation is also restricted to the sub-path. (markt) + Fix: Generate an appropriate Allow HTTP header when the Default servlet returns a 405 (method not allowed) response in response to a DELETE request because the target resource cannot be deleted. Pull request #802 provided by Chenjp. (markt) + Code: Refactor creation of RequestDispatcher instances so that the processing of the provided path is consistent with normal request processing. (markt) + Add: Add encodedReverseSolidusHandling and encodedSolidusHandling attributes to Context to provide control over the handling of the path used to created a RequestDispatcher. (markt) + Fix: Handle a potential NullPointerException after an IOException occurs on a non-container thread during asynchronous processing. (markt) + Fix: Enhance lifecycle of temporary files used by partial PUT. (remm) * Coyote + Fix: Don't log warnings for registered HTTP/2 settings that Tomcat does not support. These settings are now silently ignored. (markt) + Fix: Avoid a rare NullPointerException when recycling the Http11InputBuffer. (markt) + Fix: Lower the log level to debug for logging an invalid socket channel when processing poller events for the NIO Connector as this may occur in normal usage. (markt) + Code: Clean-up references to the HTTP/2 stream once request processing has completed to aid GC and reduce the size of the HTTP/2 recycled request and response cache. (markt) + Add: Add a new Connector configuration attribute, encodedReverseSolidusHandling, to control how %5c sequences in URLs are handled. The default behaviour is unchanged (decode) keeping in mind that the allowBackslash attribute determines how the decoded URI is processed. (markt) + Fix: 69545: Improve CRLF skipping for the available method of the ChunkedInputFilter. (remm) + Fix: Improve the performance of repeated calls to getHeader(). Pull request #813 provided by Adwait Kumar Singh. (markt) + Fix: 69559: Ensure that the Java 24 warning regarding the use of sun.misc.Unsafe::invokeCleaner is only reported by the JRE when the code will be used. (markt) * Jasper + Fix: 69508: Correct a regression in the fix for 69382 that broke JSP include actions if both the page attribute and the body contained parameters. Pull request #803 provided by Chenjp. (markt) + Fix: Update the identifier validation in the Expression Language parser to reflect that, as of Java 9, _ is also a Java keyword and may not be used as an identifier. (markt) + Fix: 69521: Update the EL Parser to allow the full range of valid characters in an EL identifier as defined by the Java Language Specification. (markt) + Fix: 69532: Optimise the creation of ExpressionFactory instances. Patch provided by John Engebretson. (markt) * Web applications + Add: Documentation. Expand the description of the security implications of setting mapperContextRootRedirectEnabled and/or mapperDirectoryRedirectEnabled to true. (markt) + Fix: Documentation. Better document the default for the truststoreProvider attribute of a SSLHostConfig element. (markt) * Other + Update: Update to Commons Daemon 1.4.1. (markt) + Update: Update the packaged version of the Tomcat Migration Tool for Jakarta EE to 1.0.9. (markt) + Update: Update the internal fork of Commons Pool to 2.12.1. (markt) + Update: Update Byte Buddy to 1.16.1. (markt) + Update: Update UnboundID to 7.0.2. (markt) + Update: Update Checkstyle to 10.21.2. (markt) + Update: Update SpotBugs to 4.9.0. (markt) + Add: Improvements to French translations. (remm) + Add: Improvements to Chinese translations by leeyazhou. (markt) + Add: Improvements to Japanese translations by tak7iji. (markt)- Update to Tomcat 10.1.34 * Fixed CVEs: + CVE-2024-54677: DoS in examples web application (bsc#1234664) + CVE-2024-50379: RCE due to TOCTOU issue in JSP compilation (bsc#1234663) + CVE-2024-52317: Request/response mix-up with HTTP/2 (bsc#1233435) * Catalina + Add: Add option to serve resources from subpath only with WebDAV Servlet like with DefaultServlet. (michaelo) + Fix: Add special handling for the protocols attribute of SSLHostConfig in storeconfig. (remm) + Fix: 69442: Fix case sensitive check on content-type when parsing request parameters. (remm) + Code: Refactor duplicate code for extracting media type and subtype from content-type into a single method. (markt) + Fix: Compatibility of generated embedded code with components where constructors or property related methods throw a checked exception. (remm) + Fix: The previous fix for inconsistent resource metadata during concurrent reads and writes was incomplete. (markt) + Fix: #780: Fix content-range header length. Submitted by Chenjp. (remm) + Fix: 69444: Ensure that the jakarta.servlet.error.message request attribute is set when an application defined error page is called. (markt) + Fix: Avoid quotes for numeric values in the JSON generated by the status servlet. (remm) + Add: Add strong ETag support for the WebDAV and default servlet, which can be enabled by using the useStrongETags init parameter with a value set to true. The ETag generated will be a SHA-1 checksum of the resource content. (remm) + Fix: Use client locale for directory listings. (remm) + Fix: 69439: Improve the handling of multiple Cache-Control headers in the ExpiresFilter. Based on pull request #777 by Chenjp. (markt) + Fix: 69447: Update the support for caching classes the web application class loader cannot find to take account of classes loaded from external repositories. Prior to this fix, these classes could be incorrectly marked as not found. (markt) + Fix: 69466: Rework handling of HEAD requests. Headers explicitly set by users will not be removed and any header present in a HEAD request will also be present in the equivalent GET request. There may be some headers, as per RFC 9110, section 9.3.2, that are present in a GET request that are not present in the equivalent HEAD request. (markt) + Fix: 69471: Log instances of CloseNowException caught by ApplicationDispatcher.invoke() at debug level rather than error level as they are very likely to have been caused by a client disconnection or similar I/O issue. (markt) + Add: Add a test case for the fix for 69442. Also refactor references to application/x-www-form-urlencoded. Based on pull request #779 by Chenjp. (markt) + Fix: 69476: Catch possible ISE when trying to report PUT failure in the DefaultServlet. (remm) + Add: Add support for RateLimit header fields for HTTP (draft) in the RateLimitFilter. Based on pull request #775 provided by Chenjp. (markt) + Add: #787: Add regression tests for 69478. Pull request provided by Thomas Krisch. (markt) + Fix: The default servlet now rejects HTTP range requests when two or more of the requested ranges overlap. Based on pull request #782 provided by Chenjp. (markt) + Fix: Enhance Content-Range verification for partial PUT requests handled by the default servlet. Provided by Chenjp in pull request #778. (markt) + Fix: Harmonize DataSourceStore lookup in the global resources to optionally avoid the comp/env prefix which is usually not used there. (remm) + Fix: As required by RFC 9110, the HTTP Range header will now only be processed for GET requests. Based on pull request #790 provided by Chenjp. (markt) + Fix: Deprecate the useAcceptRanges initialisation parameter for the default servlet. It will be removed in Tomcat 12 onwards where it will effectively be hard coded to true. (markt) + Add: Add DataSource based property storage for the WebdavServlet. (remm) * Coyote + Fix: Align encodedSolidusHandling with the Servlet specification. If the pass-through mode is used, any %25 sequences will now also be passed through to avoid errors and/or corruption when the application decodes the path. (markt) * Jasper + Fix: Follow-up to the fix for 69381. Apply the optimisation for method lookup performance in expression language to an additional location. (markt) * Web applications + Fix: Documentation. Remove references to the ResourceParams element. Support for ResourceParams was removed in Tomcat 5.5.x. (markt) + Fix: Documentation. 69477: Correct name of attribute for RemoteIPFilter. The attribute is internalProxies rather than allowedInternalProxies. Pull request #786 provided by Jorge Díaz. (markt) + Fix: Examples. Fix broken links when Servlet Request Info example is called via a URL that includes a pathInfo component. (markt) + Fix: Examples. Expand the obfuscation of session cookie values in the request header example to JSON responses. (markt) + Add: Examples. Add the ability to delete session attributes in the servlet session example. (markt) + Add: Examples. Add a hard coded limit of 10 attributes per session for the servlet session example. (markt) + Add: Examples. Add the ability to delete session attributes and add a hard coded limit of 10 attributes per session for the JSP form authentication example. (markt) + Add: Examples. Limit the shopping cart example to only allow adding the pre-defined items to the cart. (markt) + Fix: Examples. Remove JSP calendar example. (markt) * Other + Fix: 69465: Fix warnings during native image compilation using the Tomcat embedded JARs. (markt) + Update: Update Tomcat's fork of Commons DBCP to 2.13.0. (markt) + Update: Update EasyMock to 5.5.0. (markt) + Update: Update Checkstyle to 10.20.2. (markt) + Update: Update BND to 7.1.0. (markt) + Add: Improvements to French translations. (remm) + Add: Improvements to Korean translations. (markt) + Add: Improvements to Chinese translations. (markt) + Add: Improvements to Japanese translations by tak7iji. (markt)- Update to Tomcat 10.1.33 * Fixed CVEs: + CVE-2024-52316: If the Jakarta Authentication fails with an exception, set a 500 status (bsc#1233434) * Catalina + Add: Add support for the new Servlet API method HttpServletResponse.sendEarlyHints(). (markt) + Add: 55470: Add debug logging that reports the class path when a ClassNotFoundException occurs in the digester or the web application class loader. Based on a patch by Ralf Hauser. (markt) + Update: 69374: Properly separate between table header and body in DefaultServlet's listing. (michaelo) + Update: 69373: Make DefaultServlet's HTML listing file last modified rendering better (flexible). (michaelo) + Update: Improve HTML output of DefaultServlet. (michaelo) + Code: Refactor RateLimitFilter to use FilterBase as the base class. The primary advantage is less code to process init-param values. (markt) + Update: 69370: DefaultServlet's HTML listing uses incorrect labels. (michaelo) + Fix: Avoid NPE in CrawlerSessionManagerValve for partially mapped requests. (remm) + Fix: Add missing WebDAV Lock-Token header in the response when locking a folder. (remm) + Fix: Invalid WebDAV lock requests should be rejected with 400. (remm) + Fix: Fix regression in WebDAV when attempting to unlock a collection. (remm) + Fix: Verify that destination is not locked for a WebDAV copy operation. (remm) + Fix: Send 415 response to WebDAV MKCOL operations that include a request body since this is optional and unsupported. (remm) + Fix: Enforce DAV: namespace on WebDAV XML elements. (remm) + Fix: Do not allow a new WebDAV lock on a child resource if a parent collection is locked (RFC 4918 section 6.1). (remm) + Fix: WebDAV DELETE should remove any existing lock on successfully deleted resources. (remm) + Update: Remove WebDAV lock null support in accordance with RFC 4918 section 7.3 and annex D. Instead, a lock on a non-existing resource will create an empty file locked with a regular lock. (remm) + Update: Rewrite implementation of WebDAV shared locks to comply with RFC 4918. (remm) + Update: Implement WebDAV If header using code from the Apache Jackrabbit project. (remm) + Add: Add PropertyStore interface in the WebDAV Servlet, to allow implementation of dead properties storage. The store used can be configured using the propertyStore init parameter of the WebDAV servlet by specifying the class name of the store. A simple non-persistent implementation is used if no custom store is configured. (remm) + Update: Implement WebDAV PROPPATCH method using the newly added PropertyStore, and update PROPFIND to support it. (remm) + Fix: Cache not found results when searching for web application class loader resources. This addresses performance problems caused by components such as java.sql.DriverManager, which in some circumstances will search for the same class repeatedly. The size of the cache can be controlled via the new notFoundClassResourceCacheSize on the StandardContext. (markt) + Fix: Stop after INITIALIZED state should be a noop since it is possible for subcomponents to be in FAILED after init. (remm) + Fix: Fix incorrect web resource cache size calculations when there are concurrent PUT and DELETE requests for the same resource. (markt) + Add: Add debug logging for the web resource cache so the current size can be tracked as resources are added and removed. (markt) + Update: Replace legacy WebDAV opaquelocktoken: scheme for lock tokens with urn:uuid: as recommended by RFC 4918, and remove secret init parameter. (remm) + Fix: Concurrent reads and writes (e.g. GET and PUT / DELETE) for the same path caused corruption of the FileResource where some of the fields were set as if the file exists and some as set as if it does not. This resulted in inconsistent metadata. (markt) + Fix: 69415: Ensure that the ExpiresFilter only sets cache headers on GET and HEAD requests. Also, skip requests where the application has set Cache-Control: no-store. (markt) + Fix: 69419: Improve the performance of ServletRequest.getAttribute() when there are multiple levels of nested includes. Based on a patch provided by John Engebretson. (markt) + Add: All applications to send an early hints informational response by calling HttpServletResponse.sendError() with a status code of 103. (schultz) + Fix: Ensure that ServerAuthModule.initialize() is called when a Jakarta Authentication module is configured via registerServerAuthModule(). (markt) + Fix: Ensure that the Jakarta Authentication CallbackHandler only creates one GenericPrincipal in the Subject. (markt) + Fix: If the Jakarta Authentication process fails with an Exception, explicitly set the HTTP response status to 500 as the ServerAuthContext may not have set it. (markt) + Fix: When persisting the Jakarta Authentication provider configuration, create any necessary parent directories that don't already exist. (markt) + Fix: Correct the logic used to detect errors when deleting temporary files associated with persisting the Jakarta Authentication provider configuration. (markt) + Fix: When processing Jakarta Authentication callbacks, don't overwrite a Principal obtained from the PasswordValidationCallback with null if the CallerPrincipalCallback does not provide a Principal. (markt) + Fix: Avoid store config backup loss when storing one configuration more than once per second. (remm) + Fix: 69359: WebdavServlet duplicates getRelativePath() method from super class with incorrect Javadoc. (michaelo) + Fix: 69360: Inconsistent DELETE behavior between WebdavServlet and DefaultServlet. (michaelo) + Fix: Make WebdavServlet properly return the Allow header when deletion of a resource is not allowed. (michaelo) + Fix: Add log warning if non-wildcard mappings are used with the WebdavServlet. (remm) + Fix: 69361: Ensure that the order of entries in a multi-status response to a WebDAV is consistent with the order in which resources were processed. (markt) + Fix: 69362: Provide a better multi-status response when deleting a collection via WebDAV fails. Empty directories that cannot be deleted will now be included in the response. (markt) + Fix: 69363: Use getPathPrefix() consistently in the WebDAV servlet to ensure that the correct path is used when the WebDAV servlet is mounted at a sub-path within the web application. (markt) + Fix 69320, a regression in the fix for 69302 that meant the HTTP/2 processing was likely to be broken for all clients once any client sent an HTTP/2 reset frame. (markt) + Fix: Improve performance of ApplicationHttpRequest.parseParameters(). Based on sample code and test cases provided by John Engebretson. (markt) + Fix: Correct regressions in the refactoring that added recycling of the coyote request and response to the HTTP/2 processing. (markt) + Add: Add support for RFC 8297 (Early Hints). Applications can use this feature by casting the HttpServletResponse to org.apache.catalina.connector. Response and then calling the method void sendEarlyHints(). This method will be added to the Servlet API (removing the need for the cast) in Servlet 6.2 onwards. (markt) + Fix: 69214: Do not reject a CORS request that uses POST but does not include a content-type header. Tomcat now correctly processes this as a simple CORS request. Based on a patch suggested by thebluemountain. (markt) + Fix: Refactor SpnegoAuthenticator so it uses Subject.callAs() rather than Subject.doAs() when available. (markt) + Fix: Allow JAASRealm to use the configuration source to load a configured configFile, for easier use with testing. (remm) + Fix: Add missing algorithm callback to the JAASCallbackHandler. (remm) + Fix: Add the OpenSSL version number on the APR and OpenSSL status classes. (remm) + Fix: 69131: Expand the implementation of the filter value of the Authenticator attribute allowCorsPreflight, so that it applies to all requests that match the configured URL patterns for the CORS filter, rather than only applying if the CORS filter is mapped to /*. (markt) + Fix: Using the OpenSSLListener will now cause the connector to use OpenSSL if available. (remm) * Coyote + Fix: Return null SSL session id on zero-length byte array returned from the SSL implementation. (remm) + Fix: Skip OpenSSLConf with BoringSSL since it is unsupported. (remm) + Fix: Create the HttpParser in Http11Processor if it is not present on the AbstractHttp11Protocol to provide better lifecycle robustness for regular HTTP/1.1. The new behavior was introduced in a previous refactoring to improve HTTP/2 performance. (remm) + Fix: OpenSSLContext will now throw a KeyManagementException if something is known to have gone wrong in the init method, which is the behavior documented by javax.net.ssl.SSLContext.init. This makes error handling more consistent. (remm) + Fix: 69379: The default HEAD response no longer includes the payload HTTP header fields as per section 9.3.2 of RFC 9110. (markt) + Fix: 69316: Ensure that FastHttpDateFormat#getCurrentDate() (used to generate Date headers for HTTP responses) generates the correct string for the given input. Prior to this change, the output may have been wrong by one second in some cases. Pull request #751 provided by Chenjp. (markt) + Fix: Request start time may not have been accurately recorded for HTTP/1.1 requests preceded by a large number of blank lines. (markt) + Add: Add server and serverRemoveAppProvidedValues to the list of attributes the HTTP/2 protocol will inherit from the HTTP/1.1 connector it is nested within. (markt) + Fix: Avoid possible crashes when using Apache Tomcat Native, caused by destroying SSLContext objects through GC after APR has been terminated. (remm) + Fix: Improve HTTP/2 handling of trailer fields for requests. Trailer fields no longer need to be received before the headers of the subsequent stream, nor are trailer fields for an in-progress stream swallowed if the Connector is paused before the trailer fields are received. (markt) + Fix: Ensure the request and response are not recycled too soon for an HTTP/2 stream when a stream-level error is detected during the processing of incoming HTTP/2 frames. This could lead to incorrect processing times appearing in the access log. (markt) + Fix: Correct a regression in the fix for non-blocking reads of chunked request bodies that caused InputStream.available() to return a non-zero value when there was no data to read. In some circumstances this could cause a blocking read to block waiting for more data rather than return the data it had already received. (markt) + Add: Add a new attribute cookiesWithoutEquals to the Rfc6265CookieProcessor. The default behaviour is unchanged. (markt) + Fix: Ensure that Tomcat sends a TLS close_notify message after receiving one from the client when using the OpenSSLImplementation. (markt) + Fix: 69301: Fix trailer headers replacing non-trailer headers when writing response headers to the access log. Based on a patch and test case provided by hypnoce. (markt) + Fix: 69302: If an HTTP/2 client resets a stream before the request body is fully written, ensure that any ReadListener is notified via a call to ReadListener.onError(). (markt) + Fix: Ensure that HTTP/2 stream input buffers are only created when there is a request body to be read. (markt) + Code: Refactor creation of HttpParser instances from the Processor level to the Protocol level since the parser configuration depends on the protocol and the parser is, otherwise, stateless. (markt) + Add: Align HTTP/2 with HTTP/1.1 and recycle the container internal request and response processing objects by default. This behaviour can be controlled via the new discardRequestsAndResponses attribute on the HTTP/2 upgrade protocol. (markt) + Fix: Clean and log OpenSSL errors before processing of OpenSSL conf commands in the FFM code. (remm) + Fix: 69121: Ensure that the onComplete() event is triggered if AsyncListener. onError() dispatches to a target that throws an exception. (markt) + Fix: Following the trailer header field refactoring, -1 is no longer an allowed value for maxTrailerSize. Adjust documentation accordingly. (remm) + Update: Move OpenSSL support using FFM to a separate JAR named tomcat-coyote-ffm. jar that advertises Java 22 in its manifest. (remm) + Fix: Fix search for OpenSSL library for FFM on Mac OS so that java.library.path is searched. (markt) + Update: Add FFM compatibility methods for LibreSSL support. Renegotiation is not supported at the moment. (remm) + Update: Add org.apache.tomcat.util.openssl.LIBRARY_NAME (specifies the name of the library to load) and org.apache.tomcat.util.openssl.USE_SYSTEM_LOAD_LIBRARY (set to true to use System.loadLibrary rather than the FFM library loading code) to configure the OpenSSL library loading using FFM. (remm) + Update: Add FFM compatibility methods for BoringSSL support. Renegotiation is not supported in many cases. (remm) * Jasper + Fix: Add back tag release method as deprecated in the runtime for compatibility with old generated code. (remm) + Fix: 69399: Fix regression caused by improvement 69333, which caused the tag release to be called when using tag pooling, and to be skipped when not using it. Patch submitted by Michal Sobkiewicz. (remm) + Fix: 69381: Improve method lookup performance in expression language. When the required method has no arguments, there is no need to consider casting or coercion, and the method lookup process can be simplified. Based on a pull request by John Engebretson. (markt) + Fix: 69382: Improve the performance of the JSP include action by re-using results of relatively expensive method calls in the generated code rather than repeating them. Patch provided by John Engebretson. (markt) + Fix: 69398: Avoid unnecessary object allocation in PageContextImpl. Based on a suggestion by John Engebretson. (markt) + Fix: 69406: When using StringInterpreterEnum, do not throw an IllegalArgumentException when an invalid Enum is encountered. Instead, resolve the value at runtime. Patch provided by John Engebretson. (markt) + Fix: 69429: Optimize EL evaluation of method parameters for methods that do not accept any parameters. Patch provided by John Engebretson. (markt) + Fix: Further optimize EL evaluation of method parameters. Patch provided by Paolo B. (markt) + Fix: 69333: Remove unnecessary code from generated JSPs. (markt) + Fix: 69338: Improve the performance of processing expressions that include AND or OR operations with more than two operands and expressions that use not empty. (markt) + Fix: 69348: Reduce memory consumption in ELContext by using lazy initialization for the data structure used to track lambda arguments. (markt) + Fix: Switch the TldScanner back to logging detailed scan results at debug level rather than trace level. (markt) + Fix: Update the optimisation in jakarta.el.ImportHandler so it is aware of new classes added to the java.lang package in Java 23. (markt) + Fix: Ensure that an exception in toString() still results in an ELException when an object is coerced to a String using ExpressionFactory.coerceToType(). (markt) + Add: Add support for specifying Java 24 (with the value 24) as the compiler source and/or compiler target for JSP compilation. If used with an Eclipse JDT compiler version that does not support these values, a warning will be logged and the default will be used. (markt) + Fix: 69135: When using include directives in a tag file packaged in a JAR file, ensure that context relative includes are processed correctly. (markt) + Fix: 69135: When using include directives in a tag file packaged in a JAR file, ensure that file relative includes are processed correctly. (markt) + Fix: 69135: When using include directives in a tag file packaged in a JAR file, ensure that file relative includes are not permitted to access files outside of the /META_INF/tags/ directory nor outside of the JAR file. (markt) * WebSocket + Fix: If a blocking message write exceeds the timeout, don't attempt the write again before throwing the exception. (markt) + Fix: An EncodeException being thrown during a message write should not automatically cause the connection to close. The application should handle the exception and make the decision whether or not to close the connection. (markt) * Web applications + Fix: The manager webapp will now be able to access certificates again when OpenSSL is used. (remm) + Fix: Documentation. Align the logging configuration documentation with the current defaults. (markt) + Fix: Fix status servlet detailed view of the connectors when using automatic port. (remm) * jdbc-pool + Fix: 69255: Correct a regression in the fix for 69206 that meant exceptions executing statements were wrapped in a java.lang.reflect.UndeclaredThrowableException rather than the application seeing the original SQLException. Fixed by pull request #744 provided by Michael Clarke. (markt) + Fix: 69279: Correct a regression in the fix for 69206 that meant that methods that previously returned a null ResultSet were returning a proxy with a null delegate. Fixed by pull request #745 provided by Huub de Beer. (markt) + Fix: 69206: Ensure statements returned from Statement methods executeQuery(), getResultSet() and getGeneratedKeys() are correctly wrapped before being returned to the caller. Based on pull request #742 provided by Michael Clarke. (markt) * Other + Update: Switch from DigiCert ONE to ssl.com eSigner for code signing. (markt) + Update: Update Byte Buddy to 1.15.10. (markt) + Update: Update CheckStyle to 10.20.0. (markt) + Add: Improvements to German translations. (remm) + Update: Update Byte Buddy to 1.15.3. (markt) + Update: Update CheckStyle to 10.18.2. (markt) + Add: Improvements to French translations. (remm) + Add: Improvements to Japanese translations by tak7iji. (markt) + Add: Improvements to Chinese translations by Ch_jp. (markt) + Add: Exclude the tomcat-coyote-ffm.jar from JAR scanning by default. (markt) + Fix: Change the default log handler level to ALL so log messages are not dropped by default if a logger is configured to use trace (FINEST) level logging. (markt) + Update: Update Hamcrest to 3.0. (markt) + Update: Update EasyMock to 5.4.0. (markt) + Update: Update Byte Buddy to 1.15.0. (markt) + Update: Update CheckStyle to 10.18.0. (markt) + Update: Update the internal fork of Apache Commons BCEL to 6.10.0. (markt) + Add: Improvements to Spanish translations by Fernando. (markt) + Add: Improvements to French translations. (remm) + Add: Improvements to Japanese translations by tak7iji. (markt) + Fix: Fix packaging regression with missing osgi information following addition of the test-only build target. (remm) + Update: Update Tomcat Native to 2.0.8. (markt) + Update: Update Byte Buddy to 1.14.18. (markt) + Add: Improvements to French translations. (remm) + Add: Improvements to Japanese translations by tak7iji. (markt) + Update: Add test-only build target to allow running only the testsuite, supporting Java versions down to the minimum supported to run Tomcat. (rjung) + Update: Update UnboundID to 7.0.1. (markt) + Update: Update to SpotBugs 4.8.6. (markt) + Update: Remove cglib dependency as it is not required by the version of EasyMock used by the unit tests. (markt) + Update: Update EasyMock to 5.3.0. This adds a test dependency on Byte-Buddy 1.14.17. (markt) + Add: Improvements to Czech translations by Vladimír Chlup. (markt) + Add: Improvements to French translations. (remm) + Add: Improvements to Japanese translations by tak7iji. (markt) + Add: Improvements to Chinese translations by fangzheng. (markt)- Adapt the scripts to run also with javapackages-tools >= 6.3- Fix build after removal of the default %%{java_home} define- Update to Tomcat 10.1.25 * Fixed CVEs: + CVE-2024-34750: Improper handling of exceptional conditions (bsc#1227399) * Catalina + Add: Add support for shallow copies when using WebDAV. (markt) + Code: Deprecate the WebdavFixFilter as it is no longer required. (markt) + Fix: 69066: Fix regression in SPNEGO authenticator when processing Base64. Submitted by Daniel Lyko. (remm) + Add: Add RealmBase.getPrincipal(GSSName, GSSCredential, GSSContext) for retrieving extended/additional information from an established GSS context. (michaelo) + Fix: Correct a regression in the fix for 68721 that caused some instances of LinkageError to be reported as ClassNotFoundException. (markt) + Fix: Ensure that static resources deployed via a JAR file remain accessible when the context is configured to use a bloom filter. Based on pull request #730 provided by bergander. (markt) + Add: Introduce reference counting so the AprLifecycleListener is more robust. This particularly targets more complex embedded configurations with multiple server instances with independent lifecycles where more than one server instance requires the AprLifecycleListener. (markt) + Add: Small performance optimization when logging cookies with no values. (schultz) + Fix: Correct error handling for asynchronous requests. If the application performs an dispatch during AsyncListener.onError() the dispatch is now performed rather than completing the request using the error page mechanism. (markt) + Add: Re-factor ElapsedTimeElement in AbstractAccessLogValve to use a customizable style. (schultz) + Add: Add more timescale options to AccessLogValve and ExtendedAccessLogValve. Allow timescales to apply to "time-taken" token in ExtendedAccessLogValve. (schultz) + Fix: Fix WebDAV lock null (locks for non existing resources) thread safety and removal. (remm) + Fix: Add periodic checking for WebDAV locks expiration. (remm) + Fix: Extend Asn1Parser to parse UTF8Strings. (michaelo) + Fix: Remove MBean metadata for attibutes that have been removed. Based on pull request #719 by Shawn Q. (markt) + Update: Deprecate and remove sessionCounter (replaced by the addition of the active session count and the expired session count, as a reasonable approximation) and duplicates (which does not represent a possible event in current implementations) statistics from the session manager. (remm) + Fix: 68890 Align output encoding of JSPs in the Manager webapp with the XML declarations in those same files. (schultz) + Fix: Update Basic authentication to implement the requirements of RFC 7617 including the changing of the trimCredentials setting which is now defaults to false. Note that the trimCredentials setting will be removed in Tomcat 11. (markt) + Fix: Change the thread-safety mechanism for protecting StandardServer.services from a simple synchronized lock to a ReentrantReadWriteLock to allow multiple readers to operate simultaneously. Based upon a suggestion by Markus Wolfe. (schultz) + Fix: Improve Service connectors, Container children and Service executors access sync using a ReentrantReadWriteLock. (remm) + Fix: Improve handling of integer overflow if an attempt is made to upload a file via the Servlet API and the file is larger than Integer.MAX_VALUE. (markt) + Fix: 68862: Handle possible response commit when processing read errors. (remm) * Jasper + Fix: 68546: Small additional optimisation for initial loading of Servlet code generated for JSPs. Based on a suggestion by Dan Armstrong. (markt) + Add: Add support for specifying Java 23 (with the value 23) as the compiler source and/or compiler target for JSP compilation. If used with an Eclipse JDT compiler version that does not support these values, a warning will be logged and the default will used. (markt) * Web applications + Add: Add the ability to set a sub-title for the Manager web application main page. This is intended to allow users with lots of instances to easily distinguish them. Based on pull request #724 by Simon Arame. (markt) + Fix: Examples: Improve performance of WebSocket chat application when multiple clients disconnect at the same time. (markt) + Update: Examples: Increase the number of previous messages displayed when using the WebSocket chat application. (markt) + Fix: Examples: Improve performance of WebSocket snake application when multiple clients disconnect at the same time. (markt) * Coyote + Fix: Fix OpenSSL FFM use of ERR_error_string with a 128 byte buffer, and use ERR_error_string_n instead. (remm) + Fix: Fix a crash on Windows setting CA certificate on null path. (remm) + Fix: 69068: Ensure read timouts are triggered for asynchronous, non-blocking reads when using HTTP/2. (markt) + Update: 69133: Add task queue size configuration on the Connector element, similar to the Executor element, for consistency. (remm) + Fix: Make counting of active HTTP/2 streams per connection more robust. (markt) + Add: Add support for TLS 1.3 client initiated re-keying. (markt) + Fix: Improve the algorithm used to identify the IP address to use to unlock the acceptor thread when a Connector is listening on all local addresses. Interfaces that are configured for point to point connections or are not currently up are now skipped. (markt) + Fix: Align non-secure and secure writes with NIO and skip the write attempt when there are no bytes to be written. (markt) + Fix: Allow any positive value for socket.unlockTimeout. If a negative or zero value is configured, the default of 250ms will be used. (mark) + Fix: Reduce the time spent waiting for the connector to unlock. The previous default of 10s was noticeably too long for cases where the unlock has failed. The wait time is now 100ms plus twice socket.unlockTimeout. (markt) + Fix: Ensure that the onAllDataRead() event is triggered when the request body uses chunked encoding and is read using non-blocking IO. (markt) + Fix: 68934: Add debug logging in the latch object when exceeding maxConnections. (remm) + Fix: Refactor trailer field handling to use a MimeHeaders instance to store trailer fields. (markt) + Fix: Ensure that multiple instances of the same trailer field are handled correctly. (markt) + Fix: Fix non-blocking reads of chunked request bodies. (markt) + Fix: When an invalid HTTP response header was dropped, an off-by-one error meant that the first header in the response was also dropped. Fix based on pull request #710 by foremans. (markt) + Fix: Fix bnd jar descriptor to include the OpenSSL FFM support. (remm) + Fix: Add OpenSSL FFM classes to tomcat-embed-core.jar. (remm) + Add: Add OpenSSL integration using the FFM API rather than Tomcat Native. OpenSSL support may be enabled by adding the org.apache.catalina.core.OpenSSLLifecycleListener listener on the Server element when using Java 22 or later. (remm) * WebSocket + Fix: 68884: Reduce the write timeout when writing WebSocket close messages for abnormal closes. The timeout defaults to 50 milliseconds and may be controlled using the org.apache.tomcat.websocket.ABNORMAL_SESSION_CLOSE_SEND_TIMEOUT property in the user properties collection associated with the WebSocket session. (markt) * Other + Update: Revert Derby to 10.16.1.1 as that is the latest version of Derby that runs on Java 17. (markt) + Update: Update to Commons Daemon 1.4.0. (markt) + Update: Update to Objenesis 3.4. (markt) + Update: Update to Checkstyle 10.17.0. (markt) + Update: Update to SpotBugs 4.8.5. (markt) + Add: Improvements to French translations. (remm) + Add: Improvements to Japanese translations by tak7iji. (markt) + Update: Switch to using the Base64 encoder and decoder provided by the JRE rather than the version provided by Commons Codec. The internal fork of Commons Codec has been deprecated and will be removed in Tomcat 11. (markt) + Update: Update NSIS to 3.10. (mark0t) + Update: Update UnboundID to 7.0.0. (markt) + Update: Update Checkstyle to 10.16.0. (markt) + Update: Update JaCoCo to 0.8.12. (markt) + Update: Update SpotBugs to 4.8.4. (markt) + Update: Update the internal fork of Apache Commons BCEL to 6.9.0. (markt) + Update: Update the internal fork of Apache Commons DBCP to 2.12.0. (markt) + Add: Improvements to French translations. (remm) + Add: Improvements to Japanese translations by tak7iji. (markt) + Fix: Release re-built using correct JDK version. + Update: Update the internal fork of Apache Commons BCEL to 6.8.2. (markt) + Update: Update the internal fork of Apache Commons Codec to 1.16.1. (markt) + Add: Improvements to French translations. (remm) + Add: Improvements to Japanese translations by tak7iji. (remm) + Add: Improvements to Chinese translations by leeyazhou. (remm) - Modified patch: * tomcat-10.1-build-with-java-11.patch + rediff to changed context- Update to Tomcat 10.1.20 * Fixed CVEs: + CVE-2024-24549: Improved request header validation for HTTP/2 stream (bsc#1221386) + CVE-2024-23672: Ensure that WebSocket connection closure completes if the connection is closed when the server side has used the proprietary suspend/resume feature to suspend the connection (bsc#1221385) * Catalina + Fix: Minor performance improvement for building filter chains. Based on ideas from #702 by Luke Miao. (remm) + Fix: Align error handling for Writer and OutputStream. Ensure use of either once the response has been recycled triggers a NullPointerException provided that discardFacades is configured with the default value of true. (markt) + Fix: 68692: The standard thread pool implementations that are configured using the Executor element now implement ExecutorService for better support NIO2. (remm) + Fix: 68495: When restoring a saved POST request after a successful FORM authentication, ensure that neither the URI, the query string nor the protocol are corrupted when restoring the request body. (markt) + Fix: After forwarding a request, attempt to unwrap the response in order to suspend it, instead of simply closing it if it was wrapped. Add a new suspendWrappedResponseAfterForward boolean attribute on Context to control the bahavior, defaulting to false. (remm) + Fix: 68721: Workaround a possible cause of duplicate class definitions when using ClassFileTransformers and the transformation of a class also triggers the loading of the same class. (markt) + Fix: The rewrite valve should not do a rewrite if the output is identical to the input. (remm) + Update: Add a new valveSkip (or VS) rule flag to the rewrite valve to allow skipping over the next valve in the Catalina pipeline. (remm) + Update: Add highConcurrencyStatus attribute to the SemaphoreValve to optionally allow the valve to return an error status code to the client when a permit cannot be acquired from the semaphore. (remm) + Add: Add checking of the "age" of the running Tomcat instance since its build-date to the SecurityListener, and log a warning if the server is old. (schultz) + Fix: When using the AsyncContext, throw an IllegalStateException, rather than allowing an NullPointerException, if an attempt is made to use the AsyncContext after it has been recycled. (markt) + Fix: Correct JPMS and OSGi meta-data for tomcat-embed-core.jar by removing reference to org.apache.catalina.ssi package that is no longer included in the JAR. Based on pull request #684 by Jendrik Johannes. (markt) + Fix: Fix ServiceBindingPropertySource so that trailing \r\n sequences are correctly removed from files containing property values when configured to do so. Bug identified by Coverity Scan. (markt) + Add: Add improvements to the CSRF prevention filter including the ability to skip adding nonces for resource name and subtree URL patterns. (schultz) + Fix: Review usage of debug logging and downgrade trace or data dumping operations from debug level to trace. (remm) + Fix: 68089: Further improve the performance of request attribute access for ApplicationHttpRequest and ApplicationRequest. (markt) + Fix: 68559: Allow asynchronous error handling to write to the response after an error during asynchronous processing. (markt) * Coyote + Fix: Improve the HTTP/2 stream prioritisation process. If a stream uses all of the connection windows and still has content to write, it will now be added to the backlog immediately rather than waiting until the write attempt for the remaining content. (markt) + Fix: Add threadsMaxIdleTime attribute to the endpoint, to allow configuring the amount of time before an internal executor will scale back to the configured minSpareThreads size. (remm) + Fix: Correct a regression in the support for user provided SSLContext instances that broke the org.apache.catalina.security.TLSCertificateReloadListener. (markt) + Fix: Setting a null value for a cookie attribute should remove the attribute. (markt) + Fix: Make asynchronous error handling more robust. Ensure that once a connection is marked to be closed, further asynchronous processing cannot change that. (markt) + Fix: Make asynchronous error handling more robust. Ensure that once the call to AsyncListener.onError() has returned to the container, only container threads can access the AsyncContext. This protects against various race conditions that woudl otherwise occur if application threads continued to access the AsyncContext. + Fix: Review usage of debug logging and downgrade trace or data dumping operations from debug level to trace. In particular, most of the HTTP/2 debug logging has been changed to trace level. (remm) + Fix: Add support for user provided SSLContext instances configured on SSLHostConfigCertificate instances. Based on pull request #673 provided by Hakan Altındağ. (markt) + Fix: Partial fix for 68558: Cache the result of converting to String for request URI, HTTP header names and the request Content-Type value to improve performance by reducing repeated byte[] to String conversions. (markt) + Fix: Improve error reporting to HTTP/2 clients for header processing errors by reporting problems at the end of the frame where the error was detected rather than at the end of the headers. (markt) + Fix: Remove the remaining reference to a stream once the stream has been recycled. This makes the stream eligible for garbage collection earlier and thereby improves scalability. (markt) * Jasper + Add: Add support for specifying Java 22 (with the value 22) as the compiler source and/or compiler target for JSP compilation. If used with an Eclipse JDT compiler version that does not support these values, a warning will be logged and the default will used. (markt) + Fix: Handle the case where the JSP engine forwards a request/response to a Servlet that uses an OutputStream rather than a Writer. This was triggering an IllegalStateException on code paths where there was a subsequent attempt to obtain a Writer. (markt) + Fix: Correctly handle the case where a tag library is packaged in a JAR file and the web application is deployed as a WAR file rather than an unpacked directory. (markt) + Fix: 68546: Generate optimal size and types for JSP imports maps, as suggested by John Engebretson. (remm) + Fix: Review usage of debug logging and downgrade trace or data dumping operations from debug level to trace. (remm) * Cluster + Fix: Avoid updating request count stats on async. (remm) * WebSocket + Fix: Correct a regression in the fix for 66508 that could cause an UpgradeProcessor leak in some circumstances. (markt) + Fix: Review usage of debug logging and downgrade trace or data dumping operations from debug level to trace. (remm) + Fix: Ensure that WebSocket connection closure completes if the connection is closed when the server side has used the proprietary suspend/resume feature to suspend the connection. (markt) * Web applications Add: Add support for responses in JSON format from the examples application RequestHeaderExample. (schultz) * Other + Add: Improvements to French translations. (remm) + Add: Improvements to Japanese translations by tak7iji. (markt) + Fix: 57130: Allow digest.(sh|bat) to accept password from a file or stdin. (csutherl/schultz) + Update: Update Checkstyle to 10.14.1. (markt) + Fix: Correct the remaining OSGi contract references in the manifest files to refer to the Jakarta EE contract names rather than the Java EE contract names. Based on pull request #685 provided by Paul A. Nicolucci. (markt) + Update: Update Checkstyle to 10.13.0. (markt) + Update: Update JSign to 6.0. (markt) + Update: Update the packaged version of the Tomcat Migration Tool for Jakarta EE to 1.0.7. (markt) + Update: Update Tomcat Native to 2.0.7. (markt) + Update: Add strings for debug level messages. (remm) + Add: Improvements to French translations. (remm) + Add: Improvements to Japanese translations by tak7iji. (markt) - Regenerated patch: tomcat-jdt.patch- Add missing Requires(post): util-linux to have runuser into post- Add %%systemd_ordering to packages with systemd unit files, so that the order is the right one if those packages find themselves in the same transaction with systemd- Link ecj.jar into the install instead of copying it- rpm 4.19 requires dependencies on tomcat user and group (bsc#1219530)- Fixed CVEs: * CVE-2024-22029: run xsltproc as tomcat group (bsc#1219208)- Update to Tomcat 10.1.18 * Fixed CVEs: + CVE-2023-46589: Apache Tomcat: HTTP request smuggling due to incorrect headers parsing (bsc#1217649) * Catalina + Update: 68378: Align extension to MIME type mappings in the global web.xml with those in httpd by adding application/vnd.geogebra.slides for ggs, text/javascript for mjs and audio/ogg for opus. (markt) + Fix: Background processes should not be run concurrently with lifecycle operations of a container. (remm) + Fix: Correct unintended escaping of XML in some WebDAV responses. The XML list of support locks when provided in response to a PROPFIND request was incorrectly XML escaped. (markt) + Fix: 68227: Ensure that AsyncListener.onComplete() is called if AsyncListener.onError() calls AsyncContext.dispatch(). (markt) + Fix: 68228: Use a 408 status code if a read timeout occurs during HTTP request processing. Includes a test case based on code provided by adwsingh. (markt) + Fix: 67667: TLSCertificateReloadListener prints unreadable rendering of X509Certificate#getNotAfter(). (michaelo) + Update: The status servlet included in the manager webapp can now output statistics as JSON, using the JSON=true URL parameter. (remm) + Update: Optionally allow ServiceBindingPropertySource to trim a trailing newline from a file containing a property-value. (schultz) + Fix: 67793: Ensure the original session timeout is restored after FORM authentication if the user refreshes a page during the FORM authentication process. Based on a suggestion by Mircea Butmalai. (markt) + Update: 67926: PEMFile prints unidentifiable string representation of ASN.1 OIDs. (michaelo) + Fix: 66875: Ensure that setting the request attribute jakarta.servlet.error.exception is not sufficient to trigger error handling for the current request and response. (markt) + Fix: 68054: Avoid some file canonicalization calls introduced by the fix for 65433. (remm) + Fix: 68089: Improve performance of request attribute access for ApplicationHttpRequest and ApplicationRequest. (markt) + Fix: Use a 400 status code to report an error due to a bad request (e.g. an invalid trailer header) rather than a 500 status code. (markt) + Fix: Ensure that an IOException during the reading of the request triggers always error handling, regardless of whether the application swallows the exception. (markt) * Coyote + Fix: Refactor the VirtualThreadExecutor so that it can be used by the NIO2 connector which was using platform threads even when configured to use virtual threads. (markt) + Fix: Correct a regression in the fix for 67675 that broke TLS key file parsing for PKCS#8 format keys that do not specify an explicit pseudo-random function and rely on the default. This typically affects keys generated by OpenSSL 1.0.2. (markt) + Fix: Allow multiple operations with the same name on introspected mbeans, fixing a regression caused by the introduction of a second addSslHostConfig method. (remm) + Fix: Relax the check that the HTTP Host header is consistent with the host used in the request line, if any, to make the check case insensitive since host names are case insensitive. (markt) + Add: 68348: Add support for the partitioned attribute for cookies. (markt) + Add: 66670: Add SSLHostConfig#certificateKeyPasswordFile and SSLHostConfig#certificateKeystorePasswordFile. (michaelo) + Add: When calling SSLHostConfigCertificate.setCertificateKeystore(ks), automatically call setCertificateKeystoreType(ks.getType()). (markt) + Fix: 67628: Clarify how the ciphers attribute of the SSLHostConfig is used. (markt) + Fix: 67666: Ensure TLS connectors using PEM files either work with the TLSCertificateReloadListener or, in the rare case that they do not, log a warning on Connector start. (markt) + Fix: 67675: Support a wider range of KDF and ciphers for PEM files than the combinations supported by the JVM by default. Specifically, support the OpenSSL default of HmacSHA256 and DES-EDE3-CBC. (markt) + Fix: 67927: Reloading TLS configuration can cause the Connector to refuse new connections or the JVM to crash. (markt) + Fix: 67934: If both Tomcat Native 1.2.x and 2.0.x are available, prefer 1.2.x since it supports the APR/Native connector whereas 2.0.x does not. (markt) + Fix: 67938: Correct handling of large TLS client hello messages that were causing the TLS handshake to fail. (markt) + Fix: 68026: Convert selected MessageByte values to String when first accessed to speed up subsequent accesses and reduce garbage collection. (markt) * Jasper + Code: 68119: Refactor the CompositeELResolver to improve performance during type conversion operations. (markt) + Fix: 68068: Performance improvement for EL. Based on a suggestion by John Engebretson. (markt) * Web Applications + Fix: 68035: Additional fix to the Manager application to enable the deployment of a web application located in a Host's appBase where the web application is specified by a bare (no path) WAR or directory name as shown in the documentation. (markt) + Fix: Examples. Improve the error handling so snakes associated with a user that drops from the network are removed from the game. (markt) + Fix: 68035: Correct a regression in the fix for 56248 that prevented deployment via the Manager of a WAR or directory that was already present in the appBase or a context file that was already present in the xmlBase. (markt) * Other + Update: Update Checkstyle to 10.12.7. (markt) + Update: Update SpotBugs to 4.8.3. (markt) + Add: Improvements to French translations. (remm) + Add: Improvements to Japanese translations by tak7iji. (markt) + Update: Update UnboundID to 6.0.11. (markt) + Update: Update Checkstyle to 10.12.5. (markt) + Update: Update SpotBugs to 4.8.2. (markt) + Update: Update Derby to 10.17.1. (markt) + Add: Improvements to French translations. (remm) + Add: Improvements to Japanese translations by tak7iji. (markt) + Add: Improvements to Brazilian Portuguese translations by John William Vicente. (markt) + Add: Improvements to Russian translations by usmazat and remm. (markt) + Add: 67538: Make use of Ant's task to enfore the mininum Java build version. (michaelo) + Update: Update Checkstyle to 10.12.4. (markt) + Update: Update JaCoCo to 0.8.11. (markt) + Update: Update SpotBugs to 4.8.0. (markt) + Update: Update BND to 7.0.0. (markt) + Update: The minimum Java version required to build Tomcat has been raised to Java 17. (markt) + Update: Update the OWB module to Apache OpenWebBeans 4.0.0. (remm) - Added patches: * tomcat-10.1-build-with-java-11.patch- change server.xml during %post instead of %posttrans - add libxslt-tools requirement- Fix server.xml permission (bsc#1217768, bsc#1217402) - remove serverxmltool and use xsltproc- replace prep setup and patches macro with autosetup- Initial packaging of Tomcat 10.1.14- Update to Tomcat 9.0.82 * Catalina + Add: 65770: Provide a lifecycle listener that will automatically reload TLS configurations a set time before the certificate is due to expire. This is intended to be used with third-party tools that regularly renew TLS certificates. + Fix: Fix handling of an error reading a context descriptor on deployment. + Fix: Fix rewrite rule qsd (query string discard) being ignored if qsa was also use, while it should instead take precedence. + Fix: 67472: Send fewer CORS-related headers when CORS is not actually being engaged. + Add: Improve handling of failures within recycle() methods. * Coyote + Fix: 67670: Fix regression with HTTP compression after code refactoring. + Fix: 67198: Ensure that the AJP connector attribute tomcatAuthorization takes precedence over the tomcatAuthentication attribute when processing an auth_type attribute received from a proxy server. + Fix: 67235: Fix a NullPointerException when an AsyncListener handles an error with a dispatch rather than a complete. + Fix: When an error occurs during asynchronous processing, ensure that the error handling process is only triggered once per asynchronous cycle. + Fix: Fix logic issue trying to match no argument method in IntropectionUtil. + Fix: Improve thread safety around readNotify and writeNotify in the NIO2 endpoint. + Fix: Avoid rare thread safety issue accessing message digest map. + Fix: Improve statistics collection for upgraded connections under load. + Fix: Align validation of HTTP trailer fields with standard fields. + Fix: Improvements to HTTP/2 overhead protection (bsc#1216182, CVE-2023-44487) * jdbc-pool + Fix: 67664: Correct a regression in the clean-up of unnecessary use of fully qualified class names in 9.0.81 that broke the jdbc-pool. * Jasper + Fix: 67080: Improve performance of EL expressions in JSPs that use implicit objects- Update to Tomcat 9.0.80 * Catalina + Add RateLimitFilter which can be used to mitigate DoS and Brute Force attacks + Move the management of the utility executor from the init()/destroy() methods of components to the start()/stop() methods. + Add org.apache.catalina.core.StandardVirtualThreadExecutor, a virtual thread based executor that may be used with one or more Connectors to process requests received by those Connectors using virtual threads. This Executor requires a minimum Java version of Java 21. + 66513: Add a per session Semaphore to the PersistentValve that ensures that, within a single Tomcat instance, there is no more than one concurrent request per session. Also expand the debug logging to include whether a request bypasses the Valve and the reason if a request fails to obtain the per session Semaphore. + 66609: Ensure that the default servlet correctly escapes file names in directory listings when using XML output. + 66618: Add a numeric last modified field to the XML directory listings produced by the default servlet to enable sorting in the XSLT. + 66621: Attempts to lock a collection with WebDAV may incorrectly fail if a child collection has an expired lock. + 66622: Deprecate the xssProtectionEnabled setting from the HttpHeaderSecurityFilter and change the default value to false as support for the associated HTTP header has been removed from all major browsers. + 59232: Add org.apache.catalina.core.ContextNamingInfoListener, a listener which creates context naming information environment entries. + 66665: Add org.apache.catalina.core.PropertiesRoleMappingListener, a listener which populates the context's role mapping from a properties file. + Fix an edge case where intra-web application symlinks would be followed if the web applications were deliberately crafted to allow it even when allowLinking was set to false. + Add utility config file resource lookup on Context to allow looking up resources from the webapp (prefixed with webapp:) and make the resource lookup API more visible. + Fix potential database connection leaks in DataSourceUserDatabase identified by Coverity Scan. + Make parsing of ExtendedAccessLogValve patterns more robust. + Fix failure trying to persist configuration for an internal credential handler. + 66680: When serializing a session during the session presistence process, do not log a warning that null Principals are not serializable. + Catch NamingException in JNDIRealm#getPrincipal. It is used in Java up to 17 to signal closed connections. + 66822: Use the same naming format in log messages for Connector instances as the associated ProtocolHandler instance. + The parts count should also lower the actual maxParameterCount used for parsing parameters if parts are parsed first. + If an application or library sets both a non-500 error code and the javax.servlet.error.exception request attribute, use the provided error code during error page processing rather than assuming an error code of 500. + Update code comments and Tomcat output to use MiB for 1024 * 1024 bytes and KiB for 1024 bytes rather than MB and kB. + Avoid protocol relative redirects in FORM authentication (CVE-2023-41080, bsc#1214666). * Coyote + Update the HTTP/2 implementation to use the prioritization scheme defined in RFC 9218 rather than the one defined in RFC 7540. + 66602: not sending WINDOW_UPDATE when dataLength is ZERO on call SwallowedDataFramePayload. + 66627: Restore the documented behaviour of MessageBytes.getType() that it returns the type of the original content rather than reflecting the most recent conversion. + 66635: Correct certificate logging on start-up so it differentiates between keystore based keys/certificates and PEM file based keys/certificates and logs the relevant information for each. + Refactor blocking reads and writes for the NIO connector to remove code paths that could allow a notification from the Poller to be missed resuting in a timeout rather than the expected read or write. + Refactor waiting for an HTTP/2 stream or connection window update to handle spurious wake-ups during the wait. + Correct a regression introduced in 9.0.78 and use the correct constant when constructing the default value for the certificateKeystoreFile attribute of an SSLHostConfigCertificate instance. + Refactor HTTP/2 implementation to reduce pinning when using virtual threads. + Pass through ciphers referring to an OpenSSL profile, such as PROFILE=SYSTEM instead of producing an error trying to parse it. + 66841: Ensure that AsyncListener.onError() is called after an error during asynchronous processing with HTTP/2. + 66842: When using asynchronous I/O (the default for NIO and NIO2), include DATA frames when calculating the HTTP/2 overhead count to ensure that connections are not prematurely terminated. + Correct a race condition that could cause spurious RST messages to be sent after the response had been written to an HTTP/2 stream. * WebSocket + 66548: Expand the validation of the value of the Sec-Websocket-Key header in the HTTP upgrade request that initiates a WebSocket connection. The value is not decoded but it is checked for the correct length and that only valid characters from the base64 alphabet are used. + Improve handling of error conditions for the WebSocket server, particularly during Tomcat shutdown. + Correct a regression in the fix for 66574 that meant the WebSocket session could return false for onOpen() before the onClose() event had been completed. + 66681: Fix a NullPointerException when flushing batched messages with compression enabled using permessage-deflate. * Web applications + Documentation. Expand the security guidance to cover the embedded use case and add notes on the uses made of the java.io.tmpdir system property. + 66662: Documentation. Fix a typo in the name of the algorithms attribute in the configuration section for the Digest authentication value. + Documentation. Update documentation to use MiB for 1024 * 1024 bytes and KiB for 1024 bytes rather than MB and kB. * jdbc-pool + Fix the releaseIdleCounter does not increment when testAllIdle releases them. + Fix the ConnectionState state will be inconsistent with actual state on the connection when an exception occurs while writing. * Other + Update to Commons Daemon 1.3.4. + Improvements to French translations. + Update Checkstyle to 10.12.0. + Update the packaged version of the Apache Tomcat Native Library to 1.2.37 to pick up the Windows binaries built with with OpenSSL 1.1.1u. + Include the Windows specific binary distributions in the files uploaded to Maven Central. + Improvements to French translations. + Improvements to Japanese translations. + Update UnboundID to 6.0.9. + Update Checkstyle to 10.12.1. + Update BND to 6.4.1. + Update JSign to 5.0. + Correct properties for JSign dependency. + Align documentation for maxParameterCount to match hard-coded defaults. + Update NSIS to 3.0.9. + Update Checkstyle to 10.12.2. + Improvements to French translations. + Improvements to Japanese translations. + 66829: Fix quoting so users can use the _RUNJAVA environment variable as intended on Windows when the path to the Java executable contains spaces. + Update Tomcat Native to 1.2.38 to pick up Windows binaries built with OpenSSL 1.1.1v. + Improvements to Chinese translations. + Improvements to French translations. + Improvements to Japanese translations - Removed patch: * tomcat-9.0.75-CVE-2023-41080.patch + integrated in this version- Fixed CVEs: * CVE-2023-41080: Avoid protocol relative redirects in FORM authentication. (bsc#1214666) - Added patches: * tomcat-9.0.75-CVE-2023-41080.patch- Modified patch: * tomcat-9.0-osgi-build.patch + make it more robust to change in number of artifacts in bnd + do not enumerate jars, just take all jars from the aqute-bnd directory into the classpath- Require(pre) shadow because groupadd is needed early- Update to Tomcat 9.0.75. * See changelog at https://tomcat.apache.org/tomcat-9.0-doc/changelog.html#Tomcat_9.0.75_(markt) * Fixes: + bsc#1211608, CVE-2023-28709 + bsc#1208513, CVE-2023-24998 (previous incomplete fix) - Remove patches: * tomcat-9.0-CVE-2021-30640.patch * tomcat-9.0-CVE-2021-33037.patch * tomcat-9.0-CVE-2021-41079.patch * tomcat-9.0-CVE-2022-23181.patch * tomcat-9.0-NPE-JNDIRealm.patch * tomcat-9.0-hardening_getResources.patch * tomcat-9.0.43-CVE-2021-43980.patch * tomcat-9.0.43-CVE-2022-42252.patch * tomcat-9.0.43-CVE-2022-45143.patch * tomcat-9.0.43-CVE-2023-24998.patch * tomcat-9.0.43-CVE-2023-28708.patch + integrated in this version * tomcat-9.0.43-java8compat.patch + problem with Java 8 compatibility solved in this version - Modified patch: * tomcat-9.0.31-secretRequired-default.patch - > tomcat-9.0.75-secretRequired-default.patch + rediffed to changed context * tomcat-9.0-javadoc.patch + drop integrated hunks * tomcat-9.0-osgi-build.patch + fix to work with current version - Added patch: * tomcat-9.0-jdt.patch + fix build against our ecj- Fixed CVEs: * CVE-2022-45143: JsonErrorReportValve: add escape for type, message or description (bsc#1206840) - Added patches: * tomcat-9.0.43-CVE-2022-45143.patch- Fixed CVEs: * CVE-2023-28708: tomcat: not including the secure attribute causes information disclosure (bsc#1209622) - Added patches: * tomcat-9.0.43-CVE-2023-28708.patch- Fixed CVEs: * CVE-2023-24998: tomcat,tomcat6: FileUpload DoS with excessive parts (bsc#1208513) - Added patches: * tomcat-9.0.43-CVE-2023-24998.patch- set logrotate for localhost.log, manager.log, host-manager.log and localhost_access_log.txt - use logrotate for catalina.out * update tomcat-serverxml-tool and spec to configure server.xml - Added patch: * tomcat-9.0-logrotate_everything.patch * tomcat-serverxml-tool.tar.gz - Removed: * tomcat-serverxml-tool-1.0.tar.gz- Use catalina.out for logging (bsc#1205647) - Added patches: * tomcat-9.0-fix_catalina.patch- Fixed CVEs: * CVE-2022-42252: reject invalid content-length requests. (bsc#1204918) - Added patches: * tomcat-9.0.43-CVE-2022-42252.patch- Fixed CVEs: * CVE-2021-43980: Improve the recycling of Processor objects to make it more robust. (bsc#1203868) - Added patches: * tomcat-9.0.43-CVE-2021-43980.patch- Do not hardcode /usr/libexec but use %%_libexecdir during the build * Fixes for platforms, where /usr/libexec and %%_libexecdir are different- Fix bsc#1201081 by building with release=8 all files that can be built this way. The one file remaining, build it with source=8 and target=8 - Modified patch: * tomcat-9.0.43-java8compat.patch + Do not cast ByteBuffer to Buffer to call the Java 8 compatible methods. Build with release=8 instead- Security hardening. Deprecate getResources() and always return null. (bsc#1198136) - Added patch: tomcat-9.0-hardening_getResources.patch- Remove dependency on log4j/reload4j completely (bsc#1196137)- Do not build against the log4j12 packages, use the new reload4j- Fixed CVEs: * CVE-2022-23181: Make calculation of session storage location more robust (bsc#1195255) - Added patches: * tomcat-9.0-CVE-2022-23181.patch- remove instance units from post scripts, they can not be reloaded- Fix NPE in JNDIRealm, when userRoleAttribute is not set (bsc#1193569) - Added patch: * tomcat-9.0-NPE-JNDIRealm.patch- Modified patch: * tomcat-9.0-osgi-build.patch + account for biz.aQute.bnd.ant artifact in aqute-bnd >= 5.2.0- Fixed CVEs: * CVE-2021-30640: Escape parameters in JNDI Realm queries (bsc#1188279) * CVE-2021-33037: Process T-E header from both HTTP 1.0 and HTTP 1.1. clients (bsc#1188278) - Added patches: * tomcat-9.0-CVE-2021-30640.patch * tomcat-9.0-CVE-2021-33037.patch- Fixed CVEs: * CVE-2021-41079: Validate incoming TLS packet (bsc#1190558) - Added patches: * tomcat-9.0-CVE-2021-41079.patch- Update to Tomcat 9.0.43. See changelog at https://tomcat.apache.org/tomcat-9.0-doc/changelog.html#Tomcat_9.0.43_(markt) - Removed Patches because fixed upstream now: * tomcat-9.0-CVE-2021-25122.patch * tomcat-9.0-CVE-2021-25329.patch - Rebased patch: tomcat-9.0.39-java8compat.patch -> tomcat-9.0.43-java8compat.patch- Update to Tomcat 9.0.41. See changelog at https://tomcat.apache.org/tomcat-9.0-doc/changelog.html#Tomcat_9.0.41_(markt)- Update to Tomcat 9.0.40. See changelog at https://tomcat.apache.org/tomcat-9.0-doc/changelog.html#Tomcat_9.0.40_(markt) - Removed Patches because fixed upstream now: * tomcat-9.0-CVE-2020-17527.patch * tomcat-9.0-CVE-2021-24122.patch- Fixed CVEs: * CVE-2021-25122: Apache Tomcat h2c request mix-up (bsc#1182912) * CVE-2021-25329: Complete fix for CVE-2020-9484 (bsc#1182909) - Added patches: * tomcat-9.0-CVE-2021-25122.patch * tomcat-9.0-CVE-2021-25329.patch- Log if file access is blocked due to symlinks: CVE-2021-24122 (bsc#1180947) - Added patch: * tomcat-9.0-CVE-2021-24122.patch- Update to Tomcat 9.0.39. See changelog at https://tomcat.apache.org/tomcat-9.0-doc/changelog.html#Tomcat_9.0.39_(markt) - Rebased patches: * tomcat-9.0.38-java8compat.patch -> tomcat-9.0.39-java8compat.patch- Update to Tomcat 9.0.38. See changelog at https://tomcat.apache.org/tomcat-9.0-doc/changelog.html#Tomcat_9.0.38_(markt) - Rebased patches: * tomcat-9.0.37-java8compat.patch -> tomcat-9.0.38-java8compat.patch - Removed tomcat-9.0-CVE-2020-13943.patch because that fix is upstream now- Update to Tomcat 9.0.37. See changelog at https://tomcat.apache.org/tomcat-9.0-doc/changelog.html#Tomcat_9.0.37_(markt) - Fixed CVEs: * CVE-2020-13934 (bsc#1174121) * CVE-2020-13935 (bsc#1174117) - Rebased patches: * tomcat-9.0-osgi-build.patch * tomcat-9.0.31-java8compat.patch -> tomcat-9.0.37-java8compat.patch- Fix HTTP/2 request header mix-up: CVE-2020-17527 (bsc#1179602) - Added patch: * tomcat-9.0-CVE-2020-17527.patch- Add source url for tomcat-serverxml-tool - Fix typo in tomcat-webapps %postun that caused /examples context to remain in server.xml when package was removed - Remove tomcat-9.0.init and /usr/lib/tmpfiles.d/tomcat.conf from package. They're not used anymore becuse of systemd (bsc#1178396)- Fix tomcat-servlet-4_0-api package alternatives to use /usr/share/java/servlet.jar instead of /usr/share/java/tomcat-servlet.jar. Keep /usr/share/java/tomcat-servlet.jar symlink for compatibility. (bsc#1092163) - Change default file ownership in tomcat-webapps from tomcat:tomcat to root:tomcat- Fix CVE-2020-13943 (bsc#1177582) - Added patch: * tomcat-9.0-CVE-2020-13943.patch - Change /usr/lib/tomcat to /usr/libexec/tomcat in startup scripts (bsc#1177601)- Replace old specfile constructs. Remove support for SUSE 11.x. - Drop %systemd_requires, which is considered a no-op. - Trim redundant license mention from description. - Make documentation noarch. - Do not suppress errors from useradd.- Avoid hardcoding /usr/lib as libexecdir- Don't give write permissions for the tomcat group on files and directories where it's not needed (bsc#1172562) - Change tomcat.pid location from /var/run to /run (bsc#1173103) - Use the /sbin/nologin shell when creating the tomcat user - Use %tmpfiles_create macro in %post instead of calling systemd-tmpfiles directly- Update to Tomcat 9.0.36. See changelog at https://tomcat.apache.org/tomcat-9.0-doc/changelog.html#Tomcat_9.0.36_(markt) - Fixed CVEs: CVE-2020-11996 (bsc#1173389)- Update to Tomcat 9.0.35. See changelog at https://tomcat.apache.org/tomcat-9.0-doc/changelog.html#Tomcat_9.0.35_(markt) - Fixed CVEs: - CVE-2020-9484 (bsc#1171928) - Rebased patches: * tomcat-9.0-javadoc.patch * tomcat-9.0-osgi-build.patch * tomcat-9.0.31-java8compat.patch- Update to Tomcat 9.0.34. See changelog at https://tomcat.apache.org/tomcat-9.0-doc/changelog.html#Tomcat_9.0.34_(markt) - Notable changes: * Add support for default values when using ${...} property replacement in configuration files. Based on a pull request provided by Bernd Bohmann. * When configuring an HTTP Connector, warn if the encoding specified for URIEncoding is not a superset of US-ASCII as required by RFC 7230. * Replace the system property org.apache.tomcat.util.buf.UDecoder.ALLOW_ENCODED_SLASH with the Connector attribute encodedSolidusHandling that adds an additional option to pass the %2f sequence through to the application without decoding it in addition to rejecting such sequences and decoding such sequences.- Update to Tomcat 9.0.33. See changelog at http://tomcat.apache.org/tomcat-9.0-doc/changelog.html#Tomcat_9.0.33_(markt) - Notable fix: corrected a regression in the improvements to HTTP header parsing (bsc#1167438) - Rebased patches: * tomcat-9.0-javadoc.patch * tomcat-9.0-osgi-build.patch * tomcat-9.0.31-java8compat.patch- Change default value of AJP connector secretRequired to false - Added patch: * tomcat-9.0.31-secretRequired-default.patch- Update to Tomcat 9.0.31. See changelog at http://tomcat.apache.org/tomcat-9.0-doc/changelog.html#Tomcat_9.0.30_(markt) - Fixed CVEs: * CVE-2019-17569 (bsc#1164825) * CVE-2020-1935 (bsc#1164860) * CVE-2020-1938 (bsc#1164692) - Modified patch * tomcat-9.0.30-java8compat.patch - > tomcat-9.0.31-java8compat.patch + Adapt to changed context- Modified patch: * tomcat-9.0.30-java8compat.patch + add missing casts (bsc#1162081)- Change back the build to build with any Java >= 1.8 - Added patch: * tomcat-9.0.30-java8compat.patch + Cast java.nio.ByteBuffer and java.nio.CharBuffer to java.nio.Buffer in order to avoid calling Java 9+ APIs (functions with co-variant return types) - Renamed patch: * tomcat-9.0-disable-osgi-build.patch - > tomcat-9.0-osgi-build.patch + Do not disable, but fix OSGi build since we have now aqute-bnd- Change build to always use Java 1.8 (bsc#1161025).- Update to Tomcat 9.0.30. See changelog at http://tomcat.apache.org/tomcat-9.0-doc/changelog.html#Tomcat_9.0.30_(markt) - Fixed CVEs: - CVE-2019-0221 (bsc#1136085) - CVE-2019-10072 (bsc#1139924) - CVE-2019-12418 (bsc#1159723) - CVE-2019-17563 (bsc#1159729) - Removed patch: * tomcat-9.0-JDTCompiler-java.patch + It was not applied- Update to Tomcat 9.0.27. See changelog at http://tomcat.apache.org/tomcat-9.0-doc/changelog.html#Tomcat_9.0.27_(markt) - Uset aqute-bnd to generate OSGi manifest, since we have that package now in openSUSE:Factory - Removed patch: * tomcat-9.0-disable-osgi-build.patch + not needed- Add maven pom files for tomcat-jni and tomcat-jaspic-api- Distribute the pom file also for tomcat-util-scan artifact- Build against compatibility log4j12 package- Adapt to the new ecj directory layout- BuildRequire pkgconfig(systemd) instead of systemd: allow OBS to shortcut the build queues by allowing usage of systemd-mini- Update to Tomcat 9.0.20. See changelog at http://tomcat.apache.org/tomcat-9.0-doc/changelog.html#Tomcat_9.0.20_(markt) - increase maximum number of threads and open files for tomcat (bsc#1111966)- Update to Tomcat 9.0.19. See changelog at http://tomcat.apache.org/tomcat-9.0-doc/changelog.html#Tomcat_9.0.19_(markt) Notable packaging changes: - File /usr/share/java/tomcat/catalina-jmx-remote.jar was removed. The classes contained in this jar were merged into /usr/share/java/tomcat/catalina.jar. - Fixed CVEs: - CVE-2019-0199 (bsc#1131055) - Rebased patch: - tomcat-9.0-JDTCompiler-java.patch - tomcat-9.0-javadoc.patch- Build classpath directly with the geronimo jars instead of with symlinks to them- Don't overwrite changes made to server.xml contexts when updating bundled webapps.- Set javac target to 1.8 when building docs samples and serverxmltool- Move webapps bundled with Tomcat to /usr/share/tomcat/tomcat-webapps (bsc#1092341). Affected packages: - tomcat-webapps - tomcat-admin-webapps - tomcat-docs-webapp - Remove %doc directive from tomcat-docs-webapps files section so that zypper installs files even if rpm.install.excludedocs is set to yes.- Require Java 1.8 or later (bsc#1123407)- Clean up OSGi manifest injection - Put embed maven metadata into embed subpackage - Use the .mfiles* lists generated by %%add_maven_depmap macro- Fix tomcat-tool-wrapper classpath error (bsc#1120745)- Fix tomcat-digest classpath error (bsc#1120745)- Update to Tomcat 9.0.14. See changelog at http://tomcat.apache.org/tomcat-9.0-doc/changelog.html#Tomcat_9.0.14_(markt)- Add pom files for tomcat-jdbc and tomcat-dbcp - Add org.eclipse.jetty.orbit* aliases to correspondant artifacts- Update to Tomcat 9.0.13. See changelog at http://tomcat.apache.org/tomcat-9.0-doc/changelog.html#Tomcat_9.0.13_(markt)- Update to Tomcat 9.0.12. See changelog at http://tomcat.apache.org/tomcat-9.0-doc/changelog.html#Tomcat_9.0.12_(markt) - Fixed CVEs: - CVE-2018-11784 (bsc#1110850) - Rebased patches: - tomcat-9.0-disable-osgi-build.patch - tomcat-9.0-javadoc.patch - tomcat-9.0-sle.catalina.policy.patch - tomcat-9.0-tomcat-users-webapp.patch- Declare following files to config(noreplace) to prevent override access rights: - host-manager/META-INF/context.xml - manager/META-INF/context.xml- Empty tomcat-9.0.sysconfig to avoid overwriting of customer's configuration during update (bsc#1067720)- Update to Tomcat 9.0.10. See changelog at http://tomcat.apache.org/tomcat-9.0-doc/changelog.html#Tomcat_9.0.10_(markt) - Fixed CVEs: - CVE-2018-1336 (bsc#1102400) - CVE-2018-8014 (bsc#1093697) - CVE-2018-8034 (bsc#1102379) - CVE-2018-8037 (bsc#1102410) - Rebased patch tomcat-9.0-JDTCompiler-java.patch - Added patch tomcat-9.0-disable-osgi-build.patch to disable adding OSGi metadata to JAR files- Update to Tomcat 9.0.5. See changelog at http://tomcat.apache.org/tomcat-9.0-doc/changelog.html#Tomcat_9.0.5_(markt)- Modified patch: * tomcat-9.0-javadoc.patch + Don't append to javadoc --add-modules since we are building with source=8 + Avoid accessing Internet URLs from build environment- Update to Tomcat 9.0.2: * Major update for tomcat8 from tomcat9 * For full changelog please read upstream changes at: + http://tomcat.apache.org/tomcat-9.0-doc/changelog.html * Rename all tomcat-8.0-* files to tomcat-9.0-* - Changed patches: * Deleted: tomcat-8.0-bootstrap-MANIFEST.MF.patch * Deleted: tomcat-8.0-sle.catalina.policy.patch * Deleted: tomcat-8.0-tomcat-users-webapp.patch * Deleted: tomcat-8.0.33-JDTCompiler-java.patch * Deleted: tomcat-8.0.44-javadoc.patch * Deleted: tomcat-8.0.9-property-build.windows.patch * Added: tomcat-9.0-JDTCompiler-java.patch * Added: tomcat-9.0-bootstrap-MANIFEST.MF.patch * Added: tomcat-9.0-javadoc.patch * Added: tomcat-9.0-sle.catalina.policy.patch * Added: tomcat-9.0-tomcat-users-webapp.patch - Renamed subpackage tomcat-3_1-api to tomcat-4_0-api to reflect the new Servlet API version. - Commented out JAVA_HOME in /etc/tomcat/tomcat.conf - Added "tomcat-" prefix to lib symlinks under /usr/share/java to avoid file conflicts with servletapi5 and geronimo-specs - Fixed wrong %ghost file paths for alternatives symlinks- Replace references to /var/adm/fillup-templates with new %_fillupdir macro (boo#1069468)- Build with JDK 8 to fix runtime errors when running with JDK 7 and 8 - Fix tomcat-digest classpath error (bsc#977410) - Fix packaged /etc/alternatives symlinks for api libs that caused rpm -V to report link mismatch (bsc#1019016)- update to 8.0.47 http://tomcat.apache.org/tomcat-8.0-doc/changelog.html * Fixed CVE: - CVE-2017-12617 - rebase tomcat-8.0-sle.catalina.policy.patch- Added patch: * tomcat-8.0.44-javadoc.patch - generate documentation with the same source level as class files - fixes build with jdk9- Version update to 8.0.44: http://tomcat.apache.org/tomcat-8.0-doc/changelog.html * Fixed CVE: - CVE-2017-5664 (bsc#1042910)- New build dependency: javapackages-local- Version update to 8.0.43: * Another bugfix release, for full details see: http://tomcat.apache.org/tomcat-8.0-doc/changelog.html * Fixed CVEs: - CVE-2017-5647 (bnc#1033448) - CVE-2017-5648 (bnc#1033447) - CVE-2016-8745 - Renamed and rebased patches: * tomcat-7.0-sle.catalina.policy.patch -> tomcat-8.0-sle.catalina.policy.patch - Enable optional setenv.sh script. See section "(3.4) Using the "setenv" script (optional, recommended)" in http://tomcat.apache.org/tomcat-8.0-doc/RUNNING.txt (bnc#1002662) - Fix file conflicts when upgrading from SLES 12 to SLES 12 SP1 (bnc#1023412). Added explicit obsoletes for tomcat-el-2_2-api, tomcat-jsp-2_2-api, tomcat-servlet-3_0-api- update to 8.0.39: (boo#1003911) * Improve handling of I/O errors with async processing * Fail earlier on invalid HTTP request - includes changes from 8.0.38: * Refactoring the non-container thread Async complete()/dispatch() handling to remove the possibility of deadlock * Improved UTF-8 handling for the RewriteValve - includes changes from 8.0.37: * Treat paths used to obtain a request dispatcher as encoded (configurable) * Various jdbc-pool fixes - drop tomcat-8.0.36-jar-scanner-loop.patch, upstream- Switch to commons-dbcp2 fate#321029- Backport fix for inifinite loop in the jar scanner for 8.0.36. (bnc#993862) Added: tomcat-8.0.36-jar-scanner-loop.patch- Version update to 8.0.36: * Another bugfix release for the 8.0 series. Full details: http://tomcat.apache.org/tomcat-8.0-doc/changelog.html#Tomcat_8.0.36_(markt) - CVE fixed by the version update: - CVE-2016-3092 (bnc#986359) - Fixed a deployment error in the examples webapp by changing the context.xml format to the new one introduced by Tomcat 8. See http://tomcat.apache.org/migration-8.html#Web_application_resources- fix maven fragments paths to build in multiple distribution versions- Version update to 8.0.33: * Another bugfix release for 8.0 series, full details: http://tomcat.apache.org/tomcat-8.0-doc/changelog.html#Tomcat_8.0.33_(markt) - Rebase tomcat-8.0-tomcat-users-webapp.patch - Rebase tomcat-7.0.53-JDTCompiler-java.patch to tomcat-8.0.33-JDTCompiler-java.patch- Fix fixme for the prereq preamble value - It seems systemd prints error on adding the @ services to macros so do not do that- package was partly merged with the scripts used in the Fedora distribution - support running multiple tomcat instances on the same server (fate#317783) - add catalina-jmx-remote.jar (fate#318403) - remove sysvinit support: systemd is required- update changes file for CVE information - Fixed CVEs: - CVE-2015-5346 (bnc#967814) in 8.0.32 - CVE-2015-5351 (bnc#967812) in 8.0.32 - CVE-2016-0706 (bnc#967815) in 8.0.32 - CVE-2016-0714 (bnc#967964) in 8.0.32 - CVE-2016-0763 (bnc#967966) in 8.0.32 - CVE-2015-5345 (bnc#967965) in 8.0.30 - CVE-2015-5174 (bnc#967967) in 8.0.27- Version update to 8.0.32: * Another bugfix release for 8.0 series, full details: http://tomcat.apache.org/tomcat-8.0-doc/changelog.html#Tomcat_8.0.32_(markt) - Rebase patch: * tomcat-8.0.9-property-build.windows.patch- update to Tomcat 8.0.28 * Multiple fixes, read upstream changelog at: https://tomcat.apache.org/tomcat-8.0-doc/changelog.html#Tomcat_8.0.28_(markt)- Some whitespace cleanups- Remove pointless conflicts on provide/obsolete symbols- Version bump to 8.0.23 fate#318913: * Multiple testfixes all around, read upstream changelog at: http://tomcat.apache.org/tomcat-8.0-doc/changelog.html#Tomcat_8.0.23_(markt)- Fix previous commit. Fix one rpmlint warning- Drop gpg verification from spec, it is done by obs- Fix build with new jpackage-tools- update to Tomcat 8.0.18: * Major update for tomcat8 from tomcat7 * For full changelog please read upstream changes at: + http://tomcat.apache.org/tomcat-8.0-doc/changelog.html * Rename all tomcat-7.0-* files to tomcat-8.0-* * Update keyring file - Update windows patch to apply again: * Deleted: tomcat-7.0.52-property-build.windows.patch * Added: tomcat-8.0.9-property-build.windows.patch * Added:tomcat-8.0-tomcat-users-webapp.patch * Deleted: tomcat-7.0-tomcat-users-webapp.patch * Added: tomcat-8.0-bootstrap-MANIFEST.MF.patch * Deleted: tomcat-7.0-bootstrap-MANIFEST.MF.patch- Version 1.1.30 or higher is required for APR listener (bnc#914725)h03-ch2c 1742813782  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~    10.1.39-150200.5.36.1          !!!!!!!!!!!!!!!!!!!!!!!!!!! """"""""" ############# $$$$$$$$$$$$$$ %%%%%%%%%%%%%%%%%%%%%%%%% &&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& ''''''''''''''''''''''''''''''''''''''''' (((((((((((((((((((((())))))))))))))))))********************************))(+++++++++(,,,(-------------------............--(((/////////(00000000000011111111100(22222222222 33333333333333333 4444444444444444444444444444444 55555555555555555555555555555555555555555555555555555555555555555555566666666666666666666666666666 777777777777777777777777777777778888 9999999999999999999999999999::::::::::9;;;;;;;;;;;;;;<<<<<<<<<<<<;;;===========9>>>>>>>>>>>99 ??????@@@@@@@@@@@@@@@@???AAAAA?BBBBBBB CCCCCCCCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEEEECFFFFFFFFFFFFFFFFFCGGGGCCCHHHHHHHHHHHHHHHHHHHCIIIICJJJJJJJJJCKLLLMMMMMMMMMMMMMMMMLLCNNNNN OOOOOOOOOOOOOOOPPPPPOO QQQQQQQQQQQQQQQQQQQRRRRRRRRRRRRRRRRRSSSSQTTTQQ UUUUUUUUUUUUVVVVVVVVVWWWWWWWWUXYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYZZZZY[[[[[[[Y\\\\\\\\\\\\\\\YYX]]]]]]]]]]]]]]^^^^^^^^^^^^^^^^^^^^^^^^]]U_```_aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbacccccaaUdddddddddddddUUUeeeeeeeffggggggggggggggggggggggffehhhhhhhhhhhhhhhhhhhhhhhhhhhhhheijjjjjekkkkkkkkelllllllllemmmmmmmmmnnnmoooooooooooomppppppppppppppppppppppppppppppppppppppeqqqqqqqqqqqqqqqqqqqqqqqerrrrrresssssssssssssssssttttttttttttttttttttttttttuuuutvvvvvvvvvvvtttwwwtxxxxxyyyyxxssszzzzzzzzzzzzzzzzzzzzzzze{{{{{e||||||||||||||}}}}}||e~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~eeeeeeeUtomcatallclasses-index.htmlallclasses.htmlallpackages-index.htmlconstant-values.htmldeprecated-list.htmlelement-listhelp-doc.htmlindex-all.htmlindex.htmljqueryjquery-ui.overrides.cssexternaljqueryjquery.jsjquery-3.7.1.min.jsjquery-ui.min.cssjquery-ui.min.jsjszipjszip-utilsdistjszip-utils-ie.jsjszip-utils-ie.min.jsjszip-utils.jsjszip-utils.min.jsdistjszip.jsjszip.min.jsmember-search-index.jsmember-search-index.ziporgapachecatalinaAccessLog.htmlAsyncDispatcher.htmlAuthenticator.htmlCluster.htmlContained.htmlContainer.htmlContainerEvent.htmlContainerListener.htmlContainerServlet.htmlContext.htmlCredentialHandler.htmlDistributedManager.htmlEngine.htmlExecutor.htmlGlobals.htmlGroup.htmlHost.htmlJmxEnabled.htmlLifecycle.SingleUse.htmlLifecycle.htmlLifecycleEvent.htmlLifecycleException.htmlLifecycleListener.htmlLifecycleState.htmlLoader.htmlManager.htmlPipeline.htmlRealm.htmlRole.htmlServer.htmlService.htmlSession.htmlSessionEvent.htmlSessionIdGenerator.htmlSessionListener.htmlStore.htmlStoreManager.htmlThreadBindingListener.htmlTomcatPrincipal.htmlTrackedWebResource.htmlUser.htmlUserDatabase.htmlValve.htmlWebResource.htmlWebResourceLockSet.ResourceLock.htmlWebResourceLockSet.htmlWebResourceRoot.ArchiveIndexStrategy.htmlWebResourceRoot.CacheStrategy.htmlWebResourceRoot.ResourceSetType.htmlWebResourceRoot.htmlWebResourceSet.htmlWrapper.htmlantAbstractCatalinaCommandTask.htmlAbstractCatalinaTask.htmlBaseRedirectorHelperTask.htmlDeployTask.htmlFindLeaksTask.htmlJKStatusUpdateTask.htmlJMXGetTask.htmlJMXQueryTask.htmlJMXSetTask.htmlListTask.htmlReloadTask.htmlResourcesTask.htmlServerinfoTask.htmlSessionsTask.htmlSslConnectorCiphersTask.htmlStartTask.htmlStopTask.htmlThreaddumpTask.htmlUndeployTask.htmlValidatorTask.htmlVminfoTask.htmljmxArg.htmlJMXAccessorCondition.htmlJMXAccessorConditionBase.htmlJMXAccessorCreateTask.htmlJMXAccessorEqualsCondition.htmlJMXAccessorGetTask.htmlJMXAccessorInvokeTask.htmlJMXAccessorQueryTask.htmlJMXAccessorSetTask.htmlJMXAccessorTask.htmlJMXAccessorUnregisterTask.htmlpackage-summary.htmlpackage-tree.htmlpackage-summary.htmlpackage-tree.htmlauthenticatorAuthenticatorBase.AllowCorsPreflight.htmlAuthenticatorBase.htmlBasicAuthenticator.BasicCredentials.htmlBasicAuthenticator.htmlConstants.htmlDigestAuthenticator.AuthDigest.htmlDigestAuthenticator.DigestInfo.htmlDigestAuthenticator.NonceInfo.htmlDigestAuthenticator.htmlFormAuthenticator.htmlNonLoginAuthenticator.htmlSSLAuthenticator.htmlSavedRequest.htmlSingleSignOn.htmlSingleSignOnEntry.htmlSingleSignOnListener.htmlSingleSignOnSessionKey.htmlSpnegoAuthenticator.SpnegoTokenFixer.htmlSpnegoAuthenticator.htmljaspicAuthConfigFactoryImpl.htmlCallbackHandlerImpl.htmlMessageInfoImpl.htmlPersistentProviderRegistrations.Property.htmlPersistentProviderRegistrations.Provider.htmlPersistentProviderRegistrations.Providers.htmlPersistentProviderRegistrations.htmlSimpleAuthConfigProvider.htmlSimpleServerAuthConfig.htmlSimpleServerAuthContext.htmlpackage-summary.htmlpackage-tree.htmlpackage-summary.htmlpackage-tree.htmlconnectorClientAbortException.htmlConnector.htmlCoyoteAdapter.htmlCoyoteInputStream.htmlCoyoteOutputStream.htmlCoyotePrincipal.htmlCoyoteReader.htmlCoyoteWriter.htmlInputBuffer.htmlOutputBuffer.htmlRequest.htmlRequestFacade.htmlResponse.htmlResponseFacade.htmlpackage-summary.htmlpackage-tree.htmlcoreAccessLogAdapter.htmlApplicationContext.htmlApplicationContextFacade.htmlApplicationFilterChain.htmlApplicationFilterConfig.htmlApplicationFilterFactory.htmlApplicationFilterRegistration.htmlApplicationMapping.htmlApplicationPart.htmlApplicationPushBuilder.htmlApplicationServletRegistration.htmlApplicationSessionCookieConfig.htmlAprLifecycleListener.htmlAprStatus.htmlAsyncContextImpl.htmlAsyncListenerWrapper.htmlConstants.htmlContainerBase.ContainerBackgroundProcessor.htmlContainerBase.ContainerBackgroundProcessorMonitor.htmlContainerBase.PrivilegedAddChild.htmlContainerBase.htmlContextNamingInfoListener.htmlDefaultInstanceManager.htmlFrameworkListener.htmlJniLifecycleListener.htmlJreMemoryLeakPreventionListener.htmlNamingContextListener.htmlOpenSSLLifecycleListener.htmlPropertiesRoleMappingListener.htmlStandardContext.htmlStandardEngine.AccessLogListener.htmlStandardEngine.NoopAccessLog.htmlStandardEngine.htmlStandardHost.htmlStandardPipeline.htmlStandardServer.htmlStandardService.htmlStandardThreadExecutor.htmlStandardVirtualThreadExecutor.htmlStandardWrapper.htmlStandardWrapperFacade.htmlThreadLocalLeakPreventionListener.htmlpackage-summary.htmlpackage-tree.htmldeployNamingResourcesImpl.htmlpackage-summary.htmlpackage-tree.htmlfiltersAddDefaultCharsetFilter.ResponseWrapper.htmlAddDefaultCharsetFilter.htmlConstants.htmlCorsFilter.CORSRequestType.htmlCorsFilter.htmlCsrfPreventionFilter.CsrfResponseWrapper.htmlCsrfPreventionFilter.LruCache.htmlCsrfPreventionFilter.MimePredicate.htmlCsrfPreventionFilter.NonceCache.htmlCsrfPreventionFilter.PatternPredicate.htmlCsrfPreventionFilter.PrefixPredicate.htmlCsrfPreventionFilter.SuffixPredicate.htmlCsrfPreventionFilter.htmlCsrfPreventionFilterBase.htmlExpiresFilter.Duration.htmlExpiresFilter.DurationUnit.htmlExpiresFilter.ExpiresConfiguration.htmlExpiresFilter.StartingPoint.htmlExpiresFilter.XHttpServletResponse.htmlExpiresFilter.XPrintWriter.htmlExpiresFilter.XServletOutputStream.htmlExpiresFilter.htmlFailedRequestFilter.htmlFilterBase.htmlHttpHeaderSecurityFilter.htmlRateLimitFilter.htmlRemoteAddrFilter.htmlRemoteCIDRFilter.htmlRemoteHostFilter.htmlRemoteIpFilter.XForwardedRequest.htmlRemoteIpFilter.htmlRequestDumperFilter.htmlRequestFilter.htmlRestCsrfPreventionFilter.htmlSessionInitializerFilter.htmlSetCharacterEncodingFilter.htmlWebdavFixFilter.htmlpackage-summary.htmlpackage-tree.htmlhaCatalinaCluster.htmlClusterDeployer.htmlClusterListener.htmlClusterManager.htmlClusterMessage.htmlClusterMessageBase.htmlClusterRuleSet.htmlClusterSession.htmlClusterValve.htmlauthenticatorClusterSingleSignOn.htmlClusterSingleSignOnListener.htmlpackage-summary.htmlpackage-tree.htmlbackendCollectedInfo.htmlHeartbeatListener.htmlMultiCastSender.htmlProxy.htmlSender.htmlTcpSender.htmlpackage-summary.htmlpackage-tree.htmlcontextReplicatedContext.MultiEnumeration.htmlReplicatedContext.ReplApplContext.htmlReplicatedContext.htmlpackage-summary.htmlpackage-tree.htmldeployFarmWarDeployer.htmlFileChangeListener.htmlFileMessage.htmlFileMessageFactory.htmlUndeployMessage.htmlWarWatcher.WarFilter.htmlWarWatcher.WarInfo.htmlWarWatcher.htmlpackage-summary.htmlpackage-tree.htmlpackage-summary.htmlpackage-tree.htmlsessionBackupManager.htmlClusterManagerBase.htmlClusterSessionListener.htmlDeltaManager.htmlDeltaRequest.htmlDeltaSession.htmlJvmRouteBinderValve.htmlReplicatedSessionListener.htmlSessionMessage.htmlSessionMessageImpl.htmlpackage-summary.htmlpackage-tree.htmltcpConstants.htmlReplicationValve.htmlSendMessageData.htmlSimpleTcpCluster.htmlpackage-summary.htmlpackage-tree.htmlloaderJdbcLeakPrevention.htmlParallelWebappClassLoader.htmlResourceEntry.htmlWebappClassLoader.htmlWebappClassLoaderBase.PrivilegedFindClassByName.htmlWebappClassLoaderBase.PrivilegedGetClassLoader.htmlWebappClassLoaderBase.PrivilegedJavaseGetResource.htmlWebappClassLoaderBase.htmlWebappLoader.htmlpackage-summary.htmlpackage-tree.htmlmanagerConstants.htmlDummyProxySession.htmlHTMLManagerServlet.htmlJMXProxyServlet.htmlJspHelper.htmlManagerServlet.htmlStatusManagerServlet.htmlStatusTransformer.htmlhostConstants.htmlHTMLHostManagerServlet.htmlHostManagerServlet.htmlpackage-summary.htmlpackage-tree.htmlpackage-summary.htmlpackage-tree.htmlutilSessionUtils.htmlpackage-summary.htmlpackage-tree.htmlmapperConstants.htmlMapper.ContextList.htmlMapper.ContextVersion.htmlMapper.MapElement.htmlMapper.MappedContext.htmlMapper.MappedHost.htmlMapper.MappedWrapper.htmlMapper.htmlMapperListener.htmlMappingData.htmlWrapperMappingInfo.htmlpackage-summary.htmlpackage-tree.htmlmbeansBaseCatalinaMBean.htmlClassNameMBean.htmlConnectorMBean.htmlContainerMBean.htmlContextEnvironmentMBean.htmlContextMBean.htmlContextResourceLinkMBean.htmlContextResourceMBean.htmlDataSourceUserDatabaseMBean.htmlGlobalResourcesLifecycleListener.htmlGroupMBean.htmlMBeanDumper.htmlMBeanFactory.htmlMBeanUtils.htmlMemoryUserDatabaseMBean.htmlNamingResourcesMBean.htmlRoleMBean.htmlServiceMBean.htmlSparseUserDatabaseMBean.htmlUserMBean.htmlpackage-summary.htmlpackage-tree.htmlpackage-summary.htmlpackage-tree.htmlrealmAuthenticatedUserRealm.htmlCombinedRealm.htmlDataSourceRealm.htmlDigestCredentialHandlerBase.htmlGenericPrincipal.htmlJAASCallbackHandler.htmlJAASMemoryLoginModule.htmlJAASRealm.htmlJNDIRealm.JNDIConnection.htmlJNDIRealm.User.htmlJNDIRealm.htmlLockOutRealm.LockRecord.htmlLockOutRealm.htmlMemoryRealm.htmlMemoryRuleSet.htmlMessageDigestCredentialHandler.htmlNestedCredentialHandler.htmlNullRealm.htmlRealmBase.AllRolesMode.htmlRealmBase.htmlSecretKeyCredentialHandler.htmlUserDatabaseRealm.UserDatabasePrincipal.htmlUserDatabaseRealm.htmlX509SubjectDnRetriever.htmlX509UsernameRetriever.htmlpackage-summary.htmlpackage-tree.htmlsecurityConstants.htmlDeployXmlPermission.htmlSecurityClassLoad.htmlSecurityConfig.htmlSecurityListener.htmlSecurityUtil.htmlTLSCertificateReloadListener.htmlpackage-summary.htmlpackage-tree.htmlservletsCGIServlet.CGIEnvironment.htmlCGIServlet.CGIRunner.htmlCGIServlet.HTTPHeaderInputStream.htmlCGIServlet.htmlDataSourcePropertyStore.htmlDefaultServlet.CompressionFormat.htmlDefaultServlet.htmlWebdavServlet.MemoryPropertyStore.htmlWebdavServlet.PropertyStore.htmlWebdavServlet.ProppatchOperation.htmlWebdavServlet.htmlpackage-summary.htmlpackage-tree.htmlsessionConstants.htmlDataSourceStore.htmlFileStore.htmlManagerBase.SessionTiming.htmlManagerBase.htmlPersistentManager.htmlPersistentManagerBase.htmlStandardManager.htmlStandardSession.htmlStandardSessionFacade.htmlStoreBase.htmlTooManyActiveSessionsException.htmlpackage-summary.htmlpackage-tree.htmlssiByteArrayServletOutputStream.htmlExpressionParseTree.htmlExpressionTokenizer.htmlResponseIncludeWrapper.htmlSSICommand.htmlSSIConditional.htmlSSIConfig.htmlSSIEcho.htmlSSIExec.htmlSSIExternalResolver.htmlSSIFilter.htmlSSIFlastmod.htmlSSIFsize.htmlSSIInclude.htmlSSIMediator.htmlSSIPrintenv.htmlSSIProcessor.htmlSSIServlet.htmlSSIServletExternalResolver.ServletContextAndPath.htmlSSIServletExternalResolver.htmlSSIServletRequestUtil.htmlSSISet.htmlSSIStopProcessingException.htmlpackage-summary.htmlpackage-tree.htmlstartupAddPortOffsetRule.htmlBootstrap.htmlCatalina.CatalinaShutdownHook.htmlCatalina.ServerXml.htmlCatalina.htmlCatalinaBaseConfigurationSource.htmlCatalinaProperties.htmlCertificateCreateRule.htmlClassLoaderFactory.Repository.htmlClassLoaderFactory.RepositoryType.htmlClassLoaderFactory.htmlConnectorCreateRule.htmlConstants.htmlContextConfig.ContextXml.htmlContextConfig.htmlContextRuleSet.htmlCopyParentClassLoaderRule.htmlCredentialHandlerRuleSet.htmlEngineConfig.htmlEngineRuleSet.htmlExpandWar.htmlFailedContext.htmlHomesUserDatabase.htmlHostConfig.DeployedApplication.htmlHostConfig.htmlHostRuleSet.htmlLifecycleListenerRule.htmlListenerCreateRule.OptionalListener.htmlListenerCreateRule.htmlNamingRuleSet.htmlPasswdUserDatabase.htmlRealmRuleSet.htmlSafeForkJoinWorkerThreadFactory.htmlSetNextNamingRule.htmlTomcat.DefaultWebXmlListener.htmlTomcat.ExistingStandardWrapper.htmlTomcat.FixContextListener.htmlTomcat.htmlTool.htmlUserConfig.htmlUserDatabase.htmlVersionLoggerListener.htmlWebAnnotationSet.htmlWebappServiceLoader.htmlpackage-summary.htmlpackage-tree.htmlstoreconfigCatalinaClusterSF.htmlCertificateStoreAppender.htmlChannelSF.htmlConnectorSF.htmlConnectorStoreAppender.htmlConstants.htmlCredentialHandlerSF.htmlGlobalNamingResourcesSF.htmlIStoreConfig.htmlIStoreFactory.htmlInterceptorSF.htmlJarScannerSF.htmlLoaderSF.htmlManagerSF.htmlNamingResourcesSF.htmlOpenSSLConfSF.htmlPersistentManagerSF.htmlRealmSF.htmlSSLHostConfigSF.htmlSenderSF.htmlStandardContextSF.htmlStandardEngineSF.htmlStandardHostSF.htmlStandardServerSF.htmlStandardServiceSF.htmlStoreAppender.htmlStoreConfig.htmlStoreConfigLifecycleListener.htmlStoreContextAppender.htmlStoreDescription.htmlStoreFactoryBase.htmlStoreFactoryRule.htmlStoreFileMover.htmlStoreLoader.htmlStoreRegistry.htmlWatchedResourceSF.htmlWebResourceRootSF.htmlWrapperLifecycleSF.htmlWrapperListenerSF.htmlpackage-summary.htmlpackage-tree.htmltribesByteMessage.htmlChannel.htmlChannelException.FaultyMember.htmlChannelException.htmlChannelInterceptor.InterceptorEvent.htmlChannelInterceptor.htmlChannelListener.htmlChannelMessage.htmlChannelReceiver.htmlChannelSender.htmlErrorHandler.htmlHeartbeat.htmlJmxChannel.htmlManagedChannel.htmlMember.htmlMembershipListener.htmlMembershipProvider.htmlMembershipService.htmlMessageListener.htmlRemoteProcessException.htmlUniqueId.htmlgroupAbsoluteOrder.AbsoluteComparator.htmlAbsoluteOrder.htmlChannelCoordinator.htmlChannelInterceptorBase.htmlExtendedRpcCallback.htmlGroupChannel.HeartbeatRunnable.htmlGroupChannel.InterceptorIterator.htmlGroupChannel.htmlGroupChannelMBean.htmlInterceptorPayload.htmlResponse.htmlRpcCallback.htmlRpcChannel.RpcCollector.htmlRpcChannel.RpcCollectorKey.htmlRpcChannel.htmlRpcMessage.NoRpcChannelReply.htmlRpcMessage.htmlinterceptorsDomainFilterInterceptor.htmlDomainFilterInterceptorMBean.htmlEncryptInterceptor.htmlEncryptInterceptorMBean.htmlFragmentationInterceptor.FragCollection.htmlFragmentationInterceptor.FragKey.htmlFragmentationInterceptor.htmlFragmentationInterceptorMBean.htmlGzipInterceptor.htmlGzipInterceptorMBean.htmlMessageDispatchInterceptor.htmlMessageDispatchInterceptorMBean.htmlNonBlockingCoordinator.CoordinationEvent.htmlNonBlockingCoordinator.CoordinationMessage.htmlNonBlockingCoordinator.htmlOrderInterceptor.Counter.htmlOrderInterceptor.MessageOrder.htmlOrderInterceptor.htmlSimpleCoordinator.htmlStaticMembershipInterceptor.htmlStaticMembershipInterceptorMBean.htmlTcpFailureDetector.htmlTcpFailureDetectorMBean.htmlTcpPingInterceptor.PingThread.htmlTcpPingInterceptor.htmlTcpPingInterceptorMBean.htmlThroughputInterceptor.htmlThroughputInterceptorMBean.htmlTwoPhaseCommitInterceptor.MapEntry.htmlTwoPhaseCommitInterceptor.htmlpackage-summary.htmlpackage-tree.htmlpackage-summary.htmlpackage-tree.htmlioBufferPool.htmlChannelData.htmlDirectByteArrayOutputStream.htmlListenCallback.htmlObjectReader.htmlReplicationStream.htmlXByteBuffer.htmlpackage-summary.htmlpackage-tree.htmljmxJmxRegistry.htmlpackage-summary.htmlpackage-tree.htmlmembershipConstants.htmlMcastService.htmlMcastServiceImpl.ReceiverThread.htmlMcastServiceImpl.RecoveryThread.htmlMcastServiceImpl.SenderThread.htmlMcastServiceImpl.htmlMcastServiceMBean.htmlMemberImpl.htmlMembership.MbrEntry.htmlMembership.htmlMembershipProviderBase.htmlMembershipServiceBase.htmlStaticMember.htmlStaticMembershipProvider.MemberMessage.htmlStaticMembershipProvider.PingThread.htmlStaticMembershipProvider.htmlStaticMembershipService.htmlStaticMembershipServiceMBean.htmlcloudAbstractStreamProvider.htmlCertificateStreamProvider.htmlCloudMembershipProvider.htmlCloudMembershipService.htmlCloudMembershipServiceMBean.htmlDNSMembershipProvider.htmlInsecureStreamProvider.htmlKubernetesMembershipProvider.htmlStreamProvider.htmlTokenStreamProvider.htmlpackage-summary.htmlpackage-tree.htmlpackage-summary.htmlpackage-tree.htmlpackage-summary.htmlpackage-tree.htmltipisAbstractReplicatedMap.MapEntry.htmlAbstractReplicatedMap.MapMessage.htmlAbstractReplicatedMap.MapOwner.htmlAbstractReplicatedMap.htmlLazyReplicatedMap.htmlReplicatedMap.htmlReplicatedMapEntry.htmlpackage-summary.htmlpackage-tree.htmltransportAbstractRxTask.htmlAbstractSender.htmlConstants.htmlDataSender.htmlMultiPointSender.htmlPooledSender.htmlReceiverBase.htmlReplicationTransmitter.htmlRxTaskPool.TaskCreator.htmlRxTaskPool.htmlSenderState.htmlnioNioReceiver.htmlNioReceiverMBean.htmlNioReplicationTask.htmlNioSender.htmlParallelNioSender.htmlPooledParallelSender.htmlPooledParallelSenderMBean.htmlpackage-summary.htmlpackage-tree.htmlpackage-summary.htmlpackage-tree.htmlutilArrays.htmlExceptionUtils.htmlExecutorFactory.htmlJre14Compat.htmlJreCompat.htmlLogs.htmlStringManager.htmlTcclThreadFactory.htmlUUIDGenerator.htmlpackage-summary.htmlpackage-tree.htmlusersAbstractGroup.htmlAbstractRole.htmlAbstractUser.htmlConstants.htmlDataSourceUserDatabase.htmlDataSourceUserDatabaseFactory.htmlGenericGroup.htmlGenericRole.htmlGenericUser.htmlMemoryGroup.htmlMemoryRole.htmlMemoryUser.htmlMemoryUserDatabase.htmlMemoryUserDatabaseFactory.htmlSparseUserDatabase.htmlpackage-summary.htmlpackage-tree.htmlutilCharsetMapper.htmlContextName.htmlCustomObjectInputStream.htmlDOMWriter.htmlErrorPageSupport.htmlFastRateLimiter.htmlFilterUtil.htmlIOTools.htmlIntrospection.htmlLifecycleBase.htmlLifecycleMBeanBase.htmlNetMask.htmlNetMaskSet.htmlParameterMap.htmlRateLimiter.htmlRequestUtil.htmlResourceSet.htmlServerInfo.htmlSessionConfig.htmlSessionIdGeneratorBase.htmlStandardSessionIdGenerator.htmlStrftime.htmlStringUtil.htmlTLSUtil.htmlTimeBucketCounter.htmlToStringUtil.htmlTomcatCSS.htmlURLEncoder.htmlXMLWriter.htmlpackage-summary.htmlpackage-tree.htmlvalvesAbstractAccessLogValve.AccessLogElement.htmlAbstractAccessLogValve.ByteSentElement.htmlAbstractAccessLogValve.CachedElement.htmlAbstractAccessLogValve.ConnectionStatusElement.htmlAbstractAccessLogValve.CookieElement.htmlAbstractAccessLogValve.DateAndTimeElement.htmlAbstractAccessLogValve.DateFormatCache.Cache.htmlAbstractAccessLogValve.DateFormatCache.htmlAbstractAccessLogValve.ElapsedTimeElement.htmlAbstractAccessLogValve.FirstByteTimeElement.htmlAbstractAccessLogValve.HeaderElement.htmlAbstractAccessLogValve.HostElement.htmlAbstractAccessLogValve.HttpStatusCodeElement.htmlAbstractAccessLogValve.IdentifierElement.htmlAbstractAccessLogValve.LocalAddrElement.htmlAbstractAccessLogValve.LocalServerNameElement.htmlAbstractAccessLogValve.LogicalUserNameElement.htmlAbstractAccessLogValve.MethodElement.htmlAbstractAccessLogValve.PortElement.htmlAbstractAccessLogValve.ProtocolElement.htmlAbstractAccessLogValve.QueryElement.htmlAbstractAccessLogValve.RemoteAddrElement.htmlAbstractAccessLogValve.RequestAttributeElement.htmlAbstractAccessLogValve.RequestElement.htmlAbstractAccessLogValve.RequestURIElement.htmlAbstractAccessLogValve.ResponseHeaderElement.htmlAbstractAccessLogValve.SessionAttributeElement.htmlAbstractAccessLogValve.SessionIdElement.htmlAbstractAccessLogValve.StringElement.htmlAbstractAccessLogValve.ThreadNameElement.htmlAbstractAccessLogValve.UserElement.htmlAbstractAccessLogValve.htmlAccessLogValve.htmlConstants.AccessLog.htmlConstants.htmlCrawlerSessionManagerValve.htmlErrorReportValve.htmlExtendedAccessLogValve.CookieElement.htmlExtendedAccessLogValve.DateElement.htmlExtendedAccessLogValve.PatternTokenizer.htmlExtendedAccessLogValve.RequestAttributeElement.htmlExtendedAccessLogValve.RequestHeaderElement.htmlExtendedAccessLogValve.RequestParameterElement.htmlExtendedAccessLogValve.ResponseAllHeaderElement.htmlExtendedAccessLogValve.ResponseHeaderElement.htmlExtendedAccessLogValve.ServletContextElement.htmlExtendedAccessLogValve.SessionAttributeElement.htmlExtendedAccessLogValve.TimeElement.htmlExtendedAccessLogValve.htmlHealthCheckValve.htmlJDBCAccessLogValve.htmlJsonAccessLogValve.CharElement.htmlJsonAccessLogValve.htmlJsonErrorReportValve.htmlLoadBalancerDrainingValve.htmlPersistentValve.htmlProxyErrorReportValve.htmlRemoteAddrValve.htmlRemoteCIDRValve.htmlRemoteHostValve.htmlRemoteIpValve.htmlRequestFilterValve.htmlSSLValve.htmlSemaphoreValve.htmlStuckThreadDetectionValve.htmlValveBase.htmlpackage-summary.htmlpackage-tree.htmlrewriteInternalRewriteMap.Escape.htmlInternalRewriteMap.LowerCase.htmlInternalRewriteMap.Unescape.htmlInternalRewriteMap.UpperCase.htmlInternalRewriteMap.htmlQuotedStringTokenizer.htmlRandomizedTextRewriteMap.htmlResolver.htmlResolverImpl.htmlRewriteCond.Condition.htmlRewriteCond.LexicalCondition.htmlRewriteCond.PatternCondition.htmlRewriteCond.ResourceCondition.htmlRewriteCond.htmlRewriteMap.htmlRewriteRule.htmlRewriteValve.htmlSubstitution.MapElement.htmlSubstitution.RewriteCondBackReferenceElement.htmlSubstitution.RewriteRuleBackReferenceElement.htmlSubstitution.ServerVariableElement.htmlSubstitution.ServerVariableEnvElement.htmlSubstitution.ServerVariableHttpElement.htmlSubstitution.ServerVariableSslElement.htmlSubstitution.StaticElement.htmlSubstitution.SubstitutionElement.htmlSubstitution.htmlpackage-summary.htmlpackage-tree.htmlwebresourcesAbstractArchiveResource.JarInputStreamWrapper.htmlAbstractArchiveResource.htmlAbstractArchiveResourceSet.htmlAbstractFileResourceSet.htmlAbstractResource.htmlAbstractResourceSet.htmlAbstractSingleArchiveResource.htmlAbstractSingleArchiveResourceSet.htmlCache.htmlCachedResource.htmlClasspathURLStreamHandler.htmlDirResourceSet.htmlEmptyResource.htmlEmptyResourceSet.htmlExtractingRoot.htmlFileResource.htmlFileResourceSet.htmlJarContents.htmlJarResource.htmlJarResourceRoot.htmlJarResourceSet.htmlJarWarResource.htmlJarWarResourceSet.htmlStandardRoot.htmlTomcatJarInputStream.htmlTomcatURLStreamHandlerFactory.htmlVirtualResource.htmlWarResource.htmlWarResourceSet.htmlpackage-summary.htmlpackage-tree.htmlwarHandler.htmlWarURLConnection.htmlpackage-summary.htmlpackage-tree.htmlcoyoteAbstractProcessor.htmlAbstractProcessorLight.htmlAbstractProtocol.ConnectionHandler.htmlAbstractProtocol.RecycledProcessors.htmlAbstractProtocol.htmlActionCode.htmlActionHook.htmlAdapter.htmlAsyncContextCallback.htmlBadRequestException.htmlCloseNowException.htmlCompressionConfig.htmlConstants.htmlContinueResponseTiming.htmlErrorState.htmlInputBuffer.htmlNonPipeliningProcessor.htmlOutputBuffer.htmlProcessor.htmlProtocolException.htmlProtocolHandler.htmlRequest.htmlRequestGroupInfo.htmlRequestInfo.htmlResponse.htmlUpgradeProtocol.htmlUpgradeToken.htmlajpAbstractAjpProtocol.htmlAjpMessage.htmlAjpNio2Protocol.htmlAjpNioProtocol.htmlAjpProcessor.SocketInputBuffer.htmlAjpProcessor.SocketOutputBuffer.htmlAjpProcessor.htmlConstants.htmlpackage-summary.htmlpackage-tree.htmlhttp11AbstractHttp11JsseProtocol.htmlAbstractHttp11Protocol.htmlConstants.htmlHeadersTooLargeException.htmlHttp11InputBuffer.htmlHttp11Nio2Protocol.htmlHttp11NioProtocol.htmlHttp11OutputBuffer.SocketOutputBuffer.htmlHttp11OutputBuffer.htmlHttp11Processor.htmlHttpOutputBuffer.htmlInputFilter.htmlOutputFilter.htmlfiltersBufferedInputFilter.htmlChunkedInputFilter.htmlChunkedOutputFilter.htmlGzipOutputFilter.FakeOutputStream.htmlGzipOutputFilter.htmlIdentityInputFilter.htmlIdentityOutputFilter.htmlSavedRequestInputFilter.htmlVoidInputFilter.htmlVoidOutputFilter.htmlpackage-summary.htmlpackage-tree.htmlpackage-summary.htmlpackage-tree.htmlupgradeInternalHttpUpgradeHandler.htmlUpgradeApplicationBufferHandler.htmlUpgradeGroupInfo.htmlUpgradeInfo.htmlUpgradeProcessorBase.htmlUpgradeProcessorExternal.htmlUpgradeProcessorInternal.htmlUpgradeServletInputStream.htmlUpgradeServletOutputStream.htmlpackage-summary.htmlpackage-tree.htmlhttp2Constants.htmlHPackHuffman.HuffmanCode.htmlHPackHuffman.htmlHpackDecoder.htmlHttp2AsyncUpgradeHandler.AsyncPingManager.htmlHttp2AsyncUpgradeHandler.SendfileCompletionHandler.htmlHttp2AsyncUpgradeHandler.htmlHttp2OutputBuffer.htmlHttp2Protocol.htmlpackage-summary.htmlpackage-tree.htmlpackage-summary.htmlpackage-tree.htmlelExpressionFactoryImpl.htmlMethodExpressionImpl.htmlMethodExpressionLiteral.htmlValueExpressionImpl.htmlValueExpressionLiteral.htmllangELArithmetic.BigDecimalDelegate.htmlELArithmetic.BigIntegerDelegate.htmlELArithmetic.DoubleDelegate.htmlELArithmetic.LongDelegate.htmlELArithmetic.htmlELSupport.htmlEvaluationContext.htmlExpressionBuilder.htmlFunctionMapperFactory.htmlFunctionMapperImpl.Function.htmlFunctionMapperImpl.htmlLambdaExpressionNestedState.htmlVariableMapperFactory.htmlVariableMapperImpl.htmlpackage-summary.htmlpackage-tree.htmlpackage-summary.htmlpackage-tree.htmlstreamOptional.htmlStream.htmlStreamELResolverImpl.htmlpackage-summary.htmlpackage-tree.htmlutilConcurrentCache.htmlExceptionUtils.htmlMessageFactory.htmlReflectionUtil.htmlValidation.htmlpackage-summary.htmlpackage-tree.htmljasperConstants.htmlEmbeddedServletOptions.htmlJasperException.htmlJspC.htmlJspCompilationContext.htmlOptions.htmlTrimSpacesOption.htmlcompilerAntCompiler.JasperAntLogger.htmlAntCompiler.SystemLogHandler.htmlAntCompiler.htmlAttributeParser.htmlBeanRepository.htmlCompiler.htmlELFunctionMapper.htmlELInterpreter.htmlELInterpreterFactory.DefaultELInterpreter.htmlELInterpreterFactory.htmlELParser.htmlErrorDispatcher.htmlErrorHandler.htmlJDTCompiler.htmlJarScannerFactory.htmlJavacErrorDetail.htmlJspConfig.JspProperty.htmlJspConfig.JspPropertyGroup.htmlJspConfig.htmlJspRuntimeContext.htmlJspUtil.ValidAttribute.htmlJspUtil.htmlLocalizer.htmlNewlineReductionServletWriter.htmlServletWriter.htmlSmapInput.htmlSmapStratum.htmlSmapUtil.htmlStringInterpreter.htmlStringInterpreterFactory.DefaultStringInterpreter.htmlStringInterpreterFactory.htmlTagConstants.htmlTagPluginManager.htmlTextOptimizer.htmlTldCache.htmlpackage-summary.htmlpackage-tree.htmltagpluginTagPlugin.htmlTagPluginContext.htmlpackage-summary.htmlpackage-tree.htmlelELContextImpl.htmlELContextWrapper.htmlELResolverImpl.htmlExpressionEvaluatorImpl.htmlExpressionImpl.htmlFunctionMapperImpl.htmlJasperELResolver.GraalBeanELResolver.htmlJasperELResolver.htmlJspELException.htmlJspMethodExpression.htmlJspMethodNotFoundException.htmlJspPropertyNotFoundException.htmlJspPropertyNotWritableException.htmlJspValueExpression.htmlVariableResolverImpl.htmlpackage-summary.htmlpackage-tree.htmloptimizationsELInterpreterTagSetters.htmlStringInterpreterEnum.htmlpackage-summary.htmlpackage-tree.htmlpackage-summary.htmlpackage-tree.htmlruntimeBodyContentImpl.htmlExceptionUtils.htmlHttpJspBase.htmlInstanceManagerFactory.htmlJspApplicationContextImpl.htmlJspContextWrapper.htmlJspFactoryImpl.htmlJspFragmentHelper.htmlJspRuntimeLibrary.htmlJspSourceDependent.htmlJspSourceDirectives.htmlJspSourceImports.htmlJspWriterImpl.htmlPageContextImpl.htmlProtectedFunctionMapper.htmlServletResponseWrapperInclude.htmlTagHandlerPool.htmlpackage-summary.htmlpackage-tree.htmlsecuritySecurityClassLoad.htmlSecurityUtil.htmlpackage-summary.htmlpackage-tree.htmlservletJasperInitializer.htmlJasperLoader.htmlJspCServletContext.htmlJspServlet.htmlJspServletWrapper.htmlTldPreScanned.htmlTldScanner.htmlpackage-summary.htmlpackage-tree.htmltagpluginsjstlUtil.ImportResponseWrapper.htmlUtil.htmlcoreCatch.htmlChoose.htmlForEach.htmlForTokens.htmlIf.htmlImport.htmlOtherwise.htmlOut.htmlParam.htmlRedirect.htmlRemove.htmlSet.htmlUrl.htmlWhen.htmlpackage-summary.htmlpackage-tree.htmlpackage-summary.htmlpackage-tree.htmlutilFastRemovalDequeue.Entry.htmlFastRemovalDequeue.htmlUniqueAttributesImpl.htmlpackage-summary.htmlpackage-tree.htmljuliAsyncFileHandler.htmlClassLoaderLogManager.ClassLoaderLogInfo.htmlClassLoaderLogManager.LogNode.htmlClassLoaderLogManager.RootLogger.htmlClassLoaderLogManager.htmlDateFormatCache.htmlFileHandler.ThreadFactory.htmlFileHandler.htmlJdkLoggerFormatter.htmlJsonFormatter.JSONFilter.htmlJsonFormatter.htmlOneLineFormatter.htmlVerbatimFormatter.htmlWebappProperties.htmlloggingLog.htmlLogConfigurationException.htmlLogFactory.htmlpackage-summary.htmlpackage-tree.htmlpackage-summary.htmlpackage-tree.htmlnamingAbstractRef.htmlContextAccessController.htmlContextBindings.htmlEjbRef.htmlHandlerRef.htmlLookupRef.htmlNameParserImpl.htmlNamingContext.htmlNamingContextBindingsEnumeration.htmlNamingContextEnumeration.htmlNamingEntry.htmlResourceEnvRef.htmlResourceLinkRef.htmlResourceRef.htmlSelectorContext.htmlServiceRef.htmlStringManager.htmlTransactionRef.htmlfactoryBeanFactory.htmlConstants.htmlDataSourceLinkFactory.DataSourceHandler.htmlDataSourceLinkFactory.htmlEjbFactory.htmlFactoryBase.htmlLookupFactory.htmlMailSessionFactory.htmlOpenEjbFactory.htmlResourceEnvFactory.htmlResourceFactory.htmlResourceLinkFactory.htmlSendMailFactory.htmlTransactionFactory.htmlpackage-summary.htmlpackage-tree.htmlwebservicesServiceProxy.htmlServiceRefFactory.htmlpackage-summary.htmlpackage-tree.htmljavajavaURLContextFactory.htmlpackage-summary.htmlpackage-tree.htmlpackage-summary.htmlpackage-tree.htmltomcatContextBind.htmlInstanceManager.htmlInstanceManagerBindings.htmlInstrumentableClassLoader.htmlJar.htmlJarScanFilter.htmlJarScanType.htmlJarScanner.htmlJarScannerCallback.htmlPeriodicEventListener.htmlSimpleInstanceManager.htmlbuildutilCheckEol.htmlForceUtcTimeZone.htmlMimeTypeMappings.htmlRepeatableArchive.htmlTxt2Html.htmlUtils.htmlpackage-summary.htmlpackage-tree.htmltranslateBackportBase.htmlBackportEnglish.htmlBackportTranslations.htmlConstants.htmlImport.htmlUtils.htmlpackage-summary.htmlpackage-tree.htmldbcpdbcp2AbandonedTrace.htmlBasicDataSource.htmlBasicDataSourceFactory.htmlBasicDataSourceMXBean.htmlConnectionFactory.htmlConstants.htmlDataSourceConnectionFactory.htmlDataSourceMXBean.htmlDelegatingCallableStatement.htmlDelegatingConnection.htmlDelegatingDatabaseMetaData.htmlDelegatingPreparedStatement.htmlDelegatingResultSet.htmlDelegatingStatement.htmlDriverConnectionFactory.htmlDriverManagerConnectionFactory.htmlJdbc41Bridge.htmlListException.htmlPStmtKey.htmlPoolableCallableStatement.htmlPoolableConnection.htmlPoolableConnectionFactory.htmlPoolableConnectionMXBean.htmlPoolablePreparedStatement.htmlPoolingConnection.StatementType.htmlPoolingConnection.htmlPoolingDataSource.htmlPoolingDriver.htmlSQLExceptionList.htmlSwallowedExceptionLogger.htmlUtils.htmlcpdsadapterDriverAdapterCPDS.htmlPStmtKeyCPDS.htmlpackage-summary.htmlpackage-tree.htmldatasourcesInstanceKeyDataSource.htmlPerUserPoolDataSource.htmlPerUserPoolDataSourceFactory.htmlSharedPoolDataSource.htmlSharedPoolDataSourceFactory.htmlpackage-summary.htmlpackage-tree.htmlmanagedBasicManagedDataSource.htmlDataSourceXAConnectionFactory.htmlLocalXAConnectionFactory.LocalXAResource.htmlLocalXAConnectionFactory.htmlManagedConnection.CompletionListener.htmlManagedConnection.htmlManagedDataSource.htmlPoolableManagedConnection.htmlPoolableManagedConnectionFactory.htmlTransactionContext.htmlTransactionContextListener.htmlTransactionRegistry.htmlXAConnectionFactory.htmlpackage-summary.htmlpackage-tree.htmlpackage-summary.htmlpackage-tree.htmlpool2BaseObject.htmlBaseObjectPool.htmlDestroyMode.htmlKeyedObjectPool.htmlKeyedPooledObjectFactory.htmlObjectPool.htmlPoolUtils.htmlPooledObject.htmlPooledObjectFactory.htmlPooledObjectState.htmlSwallowedExceptionListener.htmlTrackedUse.htmlUsageTracking.htmlimplAbandonedConfig.htmlBaseGenericObjectPool.htmlBaseObjectPoolConfig.htmlCallStack.htmlCallStackUtils.htmlDefaultEvictionPolicy.htmlDefaultPooledObject.htmlDefaultPooledObjectInfo.htmlDefaultPooledObjectInfoMBean.htmlEvictionConfig.htmlEvictionPolicy.htmlGenericKeyedObjectPool.htmlGenericKeyedObjectPoolConfig.htmlGenericKeyedObjectPoolMXBean.htmlGenericObjectPool.htmlGenericObjectPoolConfig.htmlGenericObjectPoolMXBean.htmlNoOpCallStack.htmlPooledSoftReference.htmlSecurityManagerCallStack.htmlSoftReferenceObjectPool.htmlThrowableCallStack.htmlpackage-summary.htmlpackage-tree.htmlpackage-summary.htmlpackage-tree.htmljdbcnamingGenericNamingResourcesFactory.htmlpackage-summary.htmlpackage-tree.htmlpoolClassLoaderUtil.htmlConnectionPool.ConnectionFuture.htmlConnectionPool.PoolCleaner.htmlConnectionPool.htmlDataSource.htmlDataSourceFactory.htmlDataSourceProxy.htmlDisposableConnectionFacade.htmlFairBlockingQueue.ExchangeCountDownLatch.htmlFairBlockingQueue.FairIterator.htmlFairBlockingQueue.ItemFuture.htmlFairBlockingQueue.htmlJdbcInterceptor.htmlMultiLockFairBlockingQueue.ExchangeCountDownLatch.htmlMultiLockFairBlockingQueue.FairIterator.htmlMultiLockFairBlockingQueue.ItemFuture.htmlMultiLockFairBlockingQueue.htmlPoolConfiguration.htmlPoolExhaustedException.htmlPoolProperties.InterceptorDefinition.htmlPoolProperties.InterceptorProperty.htmlPoolProperties.htmlPoolUtilities.htmlPooledConnection.htmlPooledConnectionMBean.htmlProxyConnection.htmlStatementFacade.ResultSetProxy.htmlStatementFacade.StatementProxy.htmlStatementFacade.htmlTrapException.htmlValidator.htmlXADataSource.htmlinterceptorAbstractCreateStatementInterceptor.htmlAbstractQueryReport.StatementProxy.htmlAbstractQueryReport.htmlConnectionState.htmlQueryTimeoutInterceptor.htmlResetAbandonedTimer.htmlResetAbandonedTimerMBean.htmlSlowQueryReport.QueryStats.htmlSlowQueryReport.QueryStatsComparator.htmlSlowQueryReport.htmlSlowQueryReportJmx.htmlSlowQueryReportJmxMBean.htmlStatementCache.CachedStatement.htmlStatementCache.htmlStatementCacheMBean.htmlStatementDecoratorInterceptor.ResultSetProxy.htmlStatementDecoratorInterceptor.StatementProxy.htmlStatementDecoratorInterceptor.htmlStatementFinalizer.StatementEntry.htmlStatementFinalizer.htmlpackage-summary.htmlpackage-tree.htmljmxConnectionPool.htmlConnectionPoolMBean.htmlJmxUtil.htmlpackage-summary.htmlpackage-tree.htmlpackage-summary.htmlpackage-tree.htmljniBuffer.htmlCertificateVerifier.htmlFileInfo.htmlLibrary.htmlLibraryNotFoundError.htmlPool.htmlSSL.htmlSSLConf.htmlSSLContext.SNICallBack.htmlSSLContext.htmlSockaddr.htmlpackage-summary.htmlpackage-tree.htmlpackage-summary.htmlpackage-tree.htmlutilDiagnostics.htmlExceptionUtils.htmlIntrospectionUtils.PropertySource.htmlIntrospectionUtils.SecurePropertySource.htmlIntrospectionUtils.htmlMultiThrowable.htmlbcelConst.htmlclassfileAnnotationElementValue.htmlAnnotationEntry.htmlAnnotations.htmlArrayElementValue.htmlClassElementValue.htmlClassFormatException.htmlClassParser.htmlConstant.htmlConstantClass.htmlConstantDouble.htmlConstantFloat.htmlConstantInteger.htmlConstantLong.htmlConstantPool.htmlConstantUtf8.htmlElementValue.htmlElementValuePair.htmlEnumElementValue.htmlJavaClass.htmlSimpleElementValue.htmlpackage-summary.htmlpackage-tree.htmlpackage-summary.htmlpackage-tree.htmlbufAbstractChunk.htmlAscii.htmlAsn1Parser.htmlAsn1Writer.htmlB2CConverter.htmlByteBufferHolder.htmlByteBufferUtils.htmlByteChunk.BufferOverflowException.htmlByteChunk.ByteInputChannel.htmlByteChunk.ByteOutputChannel.htmlByteChunk.htmlC2BConverter.htmlCharChunk.CharInputChannel.htmlCharChunk.CharOutputChannel.htmlCharChunk.htmlCharsetCache.htmlCharsetUtil.htmlEncodedSolidusHandling.htmlHexUtils.htmlMessageBytes.htmlStringCache.htmlStringUtils.htmlToStringUtil.htmlUDecoder.htmlUEncoder.SafeCharsSet.htmlUEncoder.htmlUriUtil.htmlUtf8Encoder.htmlpackage-summary.htmlpackage-tree.htmlcodecbinaryBase64.htmlBaseNCodec.htmlStringUtils.htmlpackage-summary.htmlpackage-tree.htmlcollectionsCaseInsensitiveKeyMap.htmlConcurrentCache.htmlConcurrentLruCache.htmlManagedConcurrentWeakHashMap.htmlSynchronizedQueue.htmlSynchronizedStack.htmlpackage-summary.htmlpackage-tree.htmlcompatJre12Compat.htmlJre19Compat.htmlJre21Compat.htmlJre22Compat.htmlJreCompat.htmlJrePlatform.htmlJreVendor.htmlpackage-summary.htmlpackage-tree.htmldescriptorConstants.htmlDigesterFactory.htmlInputSourceUtil.htmlLocalResolver.htmlXmlErrorHandler.htmlXmlIdentifiers.htmlpackage-summary.htmlpackage-tree.htmltagpluginTagPluginParser.htmlpackage-summary.htmlpackage-tree.htmltldImplicitTldRuleSet.htmlTagFileXml.htmlTagXml.htmlTaglibXml.htmlTldParser.htmlTldResourcePath.htmlTldRuleSet.Attribute.htmlTldRuleSet.Variable.htmlTldRuleSet.htmlValidatorXml.htmlpackage-summary.htmlpackage-tree.htmlwebApplicationParameter.htmlConstants.htmlContextEjb.htmlContextEnvironment.htmlContextHandler.htmlContextLocalEjb.htmlContextResource.htmlContextResourceEnvRef.htmlContextResourceLink.htmlContextService.htmlContextTransaction.htmlErrorPage.htmlFilterDef.htmlFilterMap.htmlFragmentJarScannerCallback.htmlInjectable.htmlInjectionTarget.htmlJspConfigDescriptorImpl.htmlJspPropertyGroup.htmlJspPropertyGroupDescriptorImpl.htmlLoginConfig.htmlMessageDestination.htmlMessageDestinationRef.htmlMultipartDef.htmlNamingResources.htmlResourceBase.htmlSecurityCollection.htmlSecurityConstraint.htmlSecurityRoleRef.htmlServletDef.htmlSessionConfig.htmlTaglibDescriptorImpl.htmlWebRuleSet.htmlWebXml.htmlWebXmlParser.htmlXmlEncodingBase.htmlpackage-summary.htmlpackage-tree.htmldigesterAbstractObjectCreationFactory.htmlArrayStack.htmlCallMethodRule.htmlCallParamRule.htmlDigester.GeneratedCodeLoader.htmlDigester.htmlDocumentProperties.Charset.htmlDocumentProperties.htmlEnvironmentPropertySource.htmlFactoryCreateRule.htmlObjectCreateRule.htmlObjectCreationFactory.htmlRule.htmlRuleSet.htmlRules.htmlRulesBase.htmlServiceBindingPropertySource.htmlSetNextRule.htmlSetPropertiesRule.Listener.htmlSetPropertiesRule.htmlSystemPropertySource.htmlpackage-summary.htmlpackage-tree.htmlfileConfigFileLoader.htmlConfigurationSource.Resource.htmlConfigurationSource.htmlMatcher.htmlpackage-summary.htmlpackage-tree.htmlhttpConcurrentDateFormat.htmlCookieProcessor.htmlCookieProcessorBase.htmlCookiesWithoutEquals.htmlFastHttpDateFormat.htmlHeaderUtil.htmlMimeHeaders.htmlParameters.FailReason.htmlParameters.htmlRequestUtil.htmlResponseUtil.htmlRfc6265CookieProcessor.htmlSameSiteCookies.htmlServerCookie.htmlServerCookies.htmlWebdavIfHeader.htmlfileuploadByteArrayOutputStream.htmlDeferredFileOutputStream.htmlFileItem.htmlFileItemFactory.htmlFileItemHeaders.htmlFileItemHeadersSupport.htmlFileItemIterator.htmlFileItemStream.ItemSkippedException.htmlFileItemStream.htmlFileUpload.htmlFileUploadBase.htmlFileUploadException.htmlFileUtils.htmlIOUtils.htmlInvalidFileNameException.htmlMultipartStream.IllegalBoundaryException.htmlMultipartStream.ItemInputStream.htmlMultipartStream.MalformedStreamException.htmlMultipartStream.ProgressNotifier.htmlMultipartStream.htmlParameterParser.htmlProgressListener.htmlRequestContext.htmlThresholdingOutputStream.htmlUploadContext.htmldiskDiskFileItem.htmlDiskFileItemFactory.htmlpackage-summary.htmlpackage-tree.htmlimplFileCountLimitExceededException.htmlFileItemIteratorImpl.htmlFileItemStreamImpl.htmlFileSizeLimitExceededException.htmlFileUploadIOException.htmlIOFileUploadException.htmlInvalidContentTypeException.htmlSizeException.htmlSizeLimitExceededException.htmlpackage-summary.htmlpackage-tree.htmlpackage-summary.htmlpackage-tree.htmlservletServletRequestContext.htmlpackage-summary.htmlpackage-tree.htmlutilCloseable.htmlFileItemHeadersImpl.htmlLimitedInputStream.htmlStreams.htmlmimeMimeUtility.htmlRFC2231Utility.htmlpackage-summary.htmlpackage-tree.htmlpackage-summary.htmlpackage-tree.htmlpackage-summary.htmlpackage-tree.htmlparserAcceptEncoding.htmlAcceptLanguage.htmlAuthorization.htmlContentRange.htmlCookie.htmlEntityTag.htmlHost.htmlHttpHeaderParser.HeaderDataSource.htmlHttpHeaderParser.HeaderParsePosition.htmlHttpHeaderParser.HeaderParseStatus.htmlHttpHeaderParser.htmlHttpParser.htmlMediaType.htmlMediaTypeCache.htmlPriority.htmlRanges.Entry.htmlRanges.htmlStructuredField.htmlTE.htmlTokenList.htmlUpgrade.htmlpackage-summary.htmlpackage-tree.htmllogSystemLogHandler.htmlUserDataHelper.Mode.htmlUserDataHelper.htmlpackage-summary.htmlpackage-tree.htmlmodelerAttributeInfo.htmlBaseAttributeFilter.htmlBaseModelMBean.htmlBaseNotificationBroadcaster.htmlFeatureInfo.htmlManagedBean.htmlNoDescriptorRegistry.htmlNotificationInfo.htmlOperationInfo.htmlParameterInfo.htmlRegistry.htmlRegistryMBean.htmlUtil.htmlmodulesMbeansDescriptorsDigesterSource.htmlMbeansDescriptorsIntrospectionSource.htmlModelerSource.htmlpackage-summary.htmlpackage-tree.htmlpackage-summary.htmlpackage-tree.htmlnetAbstractEndpoint.BindState.htmlAbstractEndpoint.Handler.SocketState.htmlAbstractEndpoint.Handler.htmlAbstractEndpoint.htmlAbstractJsseEndpoint.htmlAcceptor.AcceptorState.htmlAcceptor.htmlApplicationBufferHandler.htmlConstants.htmlDispatchType.htmlIPv6Utils.htmlNio2Channel.htmlNio2Endpoint.Nio2Acceptor.htmlNio2Endpoint.Nio2SocketWrapper.htmlNio2Endpoint.SendfileData.htmlNio2Endpoint.SocketProcessor.htmlNio2Endpoint.htmlNioChannel.htmlNioEndpoint.NioSocketWrapper.htmlNioEndpoint.Poller.htmlNioEndpoint.PollerEvent.htmlNioEndpoint.SendfileData.htmlNioEndpoint.SocketProcessor.htmlNioEndpoint.htmlSSLContext.htmlSSLHostConfig.CertificateVerification.htmlSSLHostConfig.Type.htmlSSLHostConfig.htmlSSLHostConfigCertificate.Type.htmlSSLHostConfigCertificate.htmlSSLImplementation.htmlSSLSessionManager.htmlSSLSupport.htmlSSLUtil.ProtocolInfo.htmlSSLUtil.htmlSSLUtilBase.htmlSecureNio2Channel.htmlSecureNioChannel.htmlSendfileDataBase.htmlSendfileKeepAliveState.htmlSendfileState.htmlServletConnectionImpl.htmlSocketBufferHandler.htmlSocketEvent.htmlSocketProcessorBase.htmlSocketProperties.htmlSocketWrapperBase.BlockingMode.htmlSocketWrapperBase.CompletionCheck.htmlSocketWrapperBase.CompletionHandlerCall.htmlSocketWrapperBase.CompletionState.htmlSocketWrapperBase.OperationState.htmlSocketWrapperBase.VectoredIOCompletionHandler.htmlSocketWrapperBase.htmlTLSClientHelloExtractor.ExtractorResult.htmlTLSClientHelloExtractor.htmlWriteBuffer.Sink.htmlWriteBuffer.htmljsseJSSEImplementation.htmlJSSEKeyManager.htmlJSSESupport.htmlJSSEUtil.htmlPEMFile.htmlpackage-summary.htmlpackage-tree.htmlopensslOpenSSLConf.htmlOpenSSLConfCmd.htmlOpenSSLContext.htmlOpenSSLEngine.htmlOpenSSLImplementation.htmlOpenSSLSessionContext.htmlOpenSSLSessionStats.htmlOpenSSLStatus.Name.htmlOpenSSLStatus.htmlOpenSSLUtil.htmlciphersAuthentication.htmlCipher.htmlEncryption.htmlEncryptionLevel.htmlKeyExchange.htmlMessageDigest.htmlOpenSSLCipherConfigurationParser.htmlProtocol.htmlpackage-summary.htmlpackage-tree.htmlpackage-summary.htmlpackage-tree.htmlpackage-summary.htmlpackage-tree.htmlpackage-summary.htmlpackage-tree.htmlresStringManager.htmlpackage-summary.htmlpackage-tree.htmlscanAbstractInputStreamJar.htmlConstants.htmlJarFactory.htmlJarFileUrlJar.htmlJarFileUrlNestedJar.htmlNonClosingJarInputStream.htmlReferenceCountedJar.htmlStandardJarScanFilter.htmlStandardJarScanner.htmlUrlJar.htmlpackage-summary.htmlpackage-tree.htmlsecurityConcurrentMessageDigest.htmlEscape.htmlKeyStoreUtil.htmlMD5Encoder.htmlPermissionCheck.htmlPrivilegedGetTccl.htmlPrivilegedSetAccessControlContext.htmlPrivilegedSetTccl.htmlpackage-summary.htmlpackage-tree.htmlthreadsConstants.htmlInlineExecutorService.htmlLimitLatch.htmlResizableExecutor.htmlScheduledThreadPoolExecutor.htmlStopPooledThreadException.htmlTaskQueue.htmlTaskThread.htmlTaskThreadFactory.htmlThreadPoolExecutor.AbortPolicy.htmlThreadPoolExecutor.CallerRunsPolicy.htmlThreadPoolExecutor.DiscardOldestPolicy.htmlThreadPoolExecutor.DiscardPolicy.htmlThreadPoolExecutor.RejectedExecutionHandler.htmlThreadPoolExecutor.htmlVirtualThreadExecutor.htmlpackage-summary.htmlpackage-tree.htmlxreflectionObjectReflectionPropertyInspector.htmlpackage-summary.htmlpackage-tree.htmlwebsocketAsyncChannelGroupUtil.htmlAsyncChannelWrapper.htmlAsyncChannelWrapperNonSecure.htmlAsyncChannelWrapperSecure.htmlAuthenticationException.htmlAuthenticationType.htmlAuthenticator.htmlAuthenticatorFactory.htmlBackgroundProcess.htmlBackgroundProcessManager.htmlBasicAuthenticator.htmlClientEndpointHolder.htmlConstants.htmlDecoderEntry.htmlDigestAuthenticator.htmlEndpointClassHolder.htmlEndpointHolder.htmlMessageHandlerResult.htmlMessageHandlerResultType.htmlPerMessageDeflate.htmlPojoClassHolder.htmlPojoHolder.htmlReadBufferOverflowException.htmlTransformation.htmlTransformationFactory.htmlTransformationResult.htmlUtil.DecoderMatch.htmlUtil.htmlWrappedMessageHandler.htmlWsContainerProvider.htmlWsExtension.htmlWsExtensionParameter.htmlWsFrameBase.ReadState.htmlWsFrameBase.htmlWsFrameClient.htmlWsHandshakeResponse.htmlWsIOException.htmlWsPongMessage.htmlWsRemoteEndpointAsync.htmlWsRemoteEndpointBase.htmlWsRemoteEndpointBasic.htmlWsRemoteEndpointImplBase.htmlWsRemoteEndpointImplClient.htmlWsSession.htmlWsWebSocketContainer.htmlpackage-summary.htmlpackage-tree.htmlpojoConstants.htmlPojoEndpointBase.htmlPojoEndpointClient.htmlPojoEndpointServer.htmlPojoMessageHandlerBase.htmlPojoMessageHandlerPartialBase.htmlPojoMessageHandlerPartialBinary.htmlPojoMessageHandlerPartialText.htmlPojoMessageHandlerWholeBase.htmlPojoMessageHandlerWholeBinary.htmlPojoMessageHandlerWholePong.htmlPojoMessageHandlerWholeText.htmlPojoMethodMapping.htmlPojoPathParam.htmlpackage-summary.htmlpackage-tree.htmlserverConstants.htmlDefaultServerEndpointConfigurator.htmlUpgradeUtil.htmlUriTemplate.htmlWsContextListener.htmlWsFilter.htmlWsFrameServer.htmlWsHandshakeRequest.htmlWsHttpUpgradeHandler.htmlWsRemoteEndpointImplServer.htmlWsSci.htmlWsServerContainer.htmlWsSessionListener.htmlWsWriteTimeout.htmlpackage-summary.htmlpackage-tree.htmloverview-summary.htmloverview-tree.htmlpackage-search-index.jspackage-search-index.zipresourcesglass.pngx.pngscript.jssearch.jsserialized-form.htmlstylesheet.csstype-search-index.jstype-search-index.zip/usr/share/javadoc//usr/share/javadoc/tomcat//usr/share/javadoc/tomcat/jquery//usr/share/javadoc/tomcat/jquery/external//usr/share/javadoc/tomcat/jquery/external/jquery//usr/share/javadoc/tomcat/jquery/jszip-utils//usr/share/javadoc/tomcat/jquery/jszip-utils/dist//usr/share/javadoc/tomcat/jquery/jszip//usr/share/javadoc/tomcat/jquery/jszip/dist//usr/share/javadoc/tomcat/org//usr/share/javadoc/tomcat/org/apache//usr/share/javadoc/tomcat/org/apache/catalina//usr/share/javadoc/tomcat/org/apache/catalina/ant//usr/share/javadoc/tomcat/org/apache/catalina/ant/jmx//usr/share/javadoc/tomcat/org/apache/catalina/authenticator//usr/share/javadoc/tomcat/org/apache/catalina/authenticator/jaspic//usr/share/javadoc/tomcat/org/apache/catalina/connector//usr/share/javadoc/tomcat/org/apache/catalina/core//usr/share/javadoc/tomcat/org/apache/catalina/deploy//usr/share/javadoc/tomcat/org/apache/catalina/filters//usr/share/javadoc/tomcat/org/apache/catalina/ha//usr/share/javadoc/tomcat/org/apache/catalina/ha/authenticator//usr/share/javadoc/tomcat/org/apache/catalina/ha/backend//usr/share/javadoc/tomcat/org/apache/catalina/ha/context//usr/share/javadoc/tomcat/org/apache/catalina/ha/deploy//usr/share/javadoc/tomcat/org/apache/catalina/ha/session//usr/share/javadoc/tomcat/org/apache/catalina/ha/tcp//usr/share/javadoc/tomcat/org/apache/catalina/loader//usr/share/javadoc/tomcat/org/apache/catalina/manager//usr/share/javadoc/tomcat/org/apache/catalina/manager/host//usr/share/javadoc/tomcat/org/apache/catalina/manager/util//usr/share/javadoc/tomcat/org/apache/catalina/mapper//usr/share/javadoc/tomcat/org/apache/catalina/mbeans//usr/share/javadoc/tomcat/org/apache/catalina/realm//usr/share/javadoc/tomcat/org/apache/catalina/security//usr/share/javadoc/tomcat/org/apache/catalina/servlets//usr/share/javadoc/tomcat/org/apache/catalina/session//usr/share/javadoc/tomcat/org/apache/catalina/ssi//usr/share/javadoc/tomcat/org/apache/catalina/startup//usr/share/javadoc/tomcat/org/apache/catalina/storeconfig//usr/share/javadoc/tomcat/org/apache/catalina/tribes//usr/share/javadoc/tomcat/org/apache/catalina/tribes/group//usr/share/javadoc/tomcat/org/apache/catalina/tribes/group/interceptors//usr/share/javadoc/tomcat/org/apache/catalina/tribes/io//usr/share/javadoc/tomcat/org/apache/catalina/tribes/jmx//usr/share/javadoc/tomcat/org/apache/catalina/tribes/membership//usr/share/javadoc/tomcat/org/apache/catalina/tribes/membership/cloud//usr/share/javadoc/tomcat/org/apache/catalina/tribes/tipis//usr/share/javadoc/tomcat/org/apache/catalina/tribes/transport//usr/share/javadoc/tomcat/org/apache/catalina/tribes/transport/nio//usr/share/javadoc/tomcat/org/apache/catalina/tribes/util//usr/share/javadoc/tomcat/org/apache/catalina/users//usr/share/javadoc/tomcat/org/apache/catalina/util//usr/share/javadoc/tomcat/org/apache/catalina/valves//usr/share/javadoc/tomcat/org/apache/catalina/valves/rewrite//usr/share/javadoc/tomcat/org/apache/catalina/webresources//usr/share/javadoc/tomcat/org/apache/catalina/webresources/war//usr/share/javadoc/tomcat/org/apache/coyote//usr/share/javadoc/tomcat/org/apache/coyote/ajp//usr/share/javadoc/tomcat/org/apache/coyote/http11//usr/share/javadoc/tomcat/org/apache/coyote/http11/filters//usr/share/javadoc/tomcat/org/apache/coyote/http11/upgrade//usr/share/javadoc/tomcat/org/apache/coyote/http2//usr/share/javadoc/tomcat/org/apache/el//usr/share/javadoc/tomcat/org/apache/el/lang//usr/share/javadoc/tomcat/org/apache/el/stream//usr/share/javadoc/tomcat/org/apache/el/util//usr/share/javadoc/tomcat/org/apache/jasper//usr/share/javadoc/tomcat/org/apache/jasper/compiler//usr/share/javadoc/tomcat/org/apache/jasper/compiler/tagplugin//usr/share/javadoc/tomcat/org/apache/jasper/el//usr/share/javadoc/tomcat/org/apache/jasper/optimizations//usr/share/javadoc/tomcat/org/apache/jasper/runtime//usr/share/javadoc/tomcat/org/apache/jasper/security//usr/share/javadoc/tomcat/org/apache/jasper/servlet//usr/share/javadoc/tomcat/org/apache/jasper/tagplugins//usr/share/javadoc/tomcat/org/apache/jasper/tagplugins/jstl//usr/share/javadoc/tomcat/org/apache/jasper/tagplugins/jstl/core//usr/share/javadoc/tomcat/org/apache/jasper/util//usr/share/javadoc/tomcat/org/apache/juli//usr/share/javadoc/tomcat/org/apache/juli/logging//usr/share/javadoc/tomcat/org/apache/naming//usr/share/javadoc/tomcat/org/apache/naming/factory//usr/share/javadoc/tomcat/org/apache/naming/factory/webservices//usr/share/javadoc/tomcat/org/apache/naming/java//usr/share/javadoc/tomcat/org/apache/tomcat//usr/share/javadoc/tomcat/org/apache/tomcat/buildutil//usr/share/javadoc/tomcat/org/apache/tomcat/buildutil/translate//usr/share/javadoc/tomcat/org/apache/tomcat/dbcp//usr/share/javadoc/tomcat/org/apache/tomcat/dbcp/dbcp2//usr/share/javadoc/tomcat/org/apache/tomcat/dbcp/dbcp2/cpdsadapter//usr/share/javadoc/tomcat/org/apache/tomcat/dbcp/dbcp2/datasources//usr/share/javadoc/tomcat/org/apache/tomcat/dbcp/dbcp2/managed//usr/share/javadoc/tomcat/org/apache/tomcat/dbcp/pool2//usr/share/javadoc/tomcat/org/apache/tomcat/dbcp/pool2/impl//usr/share/javadoc/tomcat/org/apache/tomcat/jdbc//usr/share/javadoc/tomcat/org/apache/tomcat/jdbc/naming//usr/share/javadoc/tomcat/org/apache/tomcat/jdbc/pool//usr/share/javadoc/tomcat/org/apache/tomcat/jdbc/pool/interceptor//usr/share/javadoc/tomcat/org/apache/tomcat/jdbc/pool/jmx//usr/share/javadoc/tomcat/org/apache/tomcat/jni//usr/share/javadoc/tomcat/org/apache/tomcat/util//usr/share/javadoc/tomcat/org/apache/tomcat/util/bcel//usr/share/javadoc/tomcat/org/apache/tomcat/util/bcel/classfile//usr/share/javadoc/tomcat/org/apache/tomcat/util/buf//usr/share/javadoc/tomcat/org/apache/tomcat/util/codec//usr/share/javadoc/tomcat/org/apache/tomcat/util/codec/binary//usr/share/javadoc/tomcat/org/apache/tomcat/util/collections//usr/share/javadoc/tomcat/org/apache/tomcat/util/compat//usr/share/javadoc/tomcat/org/apache/tomcat/util/descriptor//usr/share/javadoc/tomcat/org/apache/tomcat/util/descriptor/tagplugin//usr/share/javadoc/tomcat/org/apache/tomcat/util/descriptor/tld//usr/share/javadoc/tomcat/org/apache/tomcat/util/descriptor/web//usr/share/javadoc/tomcat/org/apache/tomcat/util/digester//usr/share/javadoc/tomcat/org/apache/tomcat/util/file//usr/share/javadoc/tomcat/org/apache/tomcat/util/http//usr/share/javadoc/tomcat/org/apache/tomcat/util/http/fileupload//usr/share/javadoc/tomcat/org/apache/tomcat/util/http/fileupload/disk//usr/share/javadoc/tomcat/org/apache/tomcat/util/http/fileupload/impl//usr/share/javadoc/tomcat/org/apache/tomcat/util/http/fileupload/servlet//usr/share/javadoc/tomcat/org/apache/tomcat/util/http/fileupload/util//usr/share/javadoc/tomcat/org/apache/tomcat/util/http/fileupload/util/mime//usr/share/javadoc/tomcat/org/apache/tomcat/util/http/parser//usr/share/javadoc/tomcat/org/apache/tomcat/util/log//usr/share/javadoc/tomcat/org/apache/tomcat/util/modeler//usr/share/javadoc/tomcat/org/apache/tomcat/util/modeler/modules//usr/share/javadoc/tomcat/org/apache/tomcat/util/net//usr/share/javadoc/tomcat/org/apache/tomcat/util/net/jsse//usr/share/javadoc/tomcat/org/apache/tomcat/util/net/openssl//usr/share/javadoc/tomcat/org/apache/tomcat/util/net/openssl/ciphers//usr/share/javadoc/tomcat/org/apache/tomcat/util/res//usr/share/javadoc/tomcat/org/apache/tomcat/util/scan//usr/share/javadoc/tomcat/org/apache/tomcat/util/security//usr/share/javadoc/tomcat/org/apache/tomcat/util/threads//usr/share/javadoc/tomcat/org/apache/tomcat/util/xreflection//usr/share/javadoc/tomcat/org/apache/tomcat/websocket//usr/share/javadoc/tomcat/org/apache/tomcat/websocket/pojo//usr/share/javadoc/tomcat/org/apache/tomcat/websocket/server//usr/share/javadoc/tomcat/resources/-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:38023/SUSE_SLE-15-SP2_Update/3a792d2650272a2d37029ee4702e4780-tomcat10.SUSE_SLE-15-SP2_Updatedrpmxz5noarch-suse-linux    directoryHTML document, ASCII text, with very long linesHTML document, ASCII textASCII textASCII text, with very long linesUTF-8 Unicode text, with very long linesASCII text, with very long lines, with no line terminatorsASCII text, with very long lines, with no line terminators (Zip archive data, at least v2.0 to extract Zip archive data, at least v2.0 to extract)HTML document, UTF-8 Unicode text, with very long linesPNG image data, 16 x 16, 8-bit/color RGBA, non-interlacedR2]utf-84114099525cab7991f65dfc02bb94561a80186d66bed779cceb031e978c085ad?7zXZ !t/Cs]"k%3fhn?Q՘ԿفQ~Is9xa/jLiopʩz•2?y .>,@H##ł{%jL:#hMbS(O_xQJx=W{X"}ByB T/R[^ ò`Q/ +þ<pyECW{uomΰĭ`@m[A:d]٤ά<o-OM#u B18xyK"k(o] F ՟z캷93jebXˡ#(W?I_RA62pKc 'R,k*`Z#ɒ\W;^ЭqڵҘD_vFeNЂ Ds Þ= ^ܩ;h1'LYz^ ?2lJ _\vVd>+E/a2;RO* thi '3;CM#$/]b3E7|w;c&p+!HR9^#VۍcPAcpm؜Eyb٤t \ `T{yM6R3>ҡGG̝B!S XGh+`3uqܒ1) ouR&:#N5<~Fsb,ŸbBYdY<񥚮sP9"Tgk<LI[%K7{ D߰ 6..-.%c;&m~³<r)ǭ'KshS) 5| S__-<q 7nd)upjf‚ftq@T`.}c1/@TTԪ a EFy2XxjI:_®ϒ/,pKQ<Ϥcm֨% \jXu7 j \n^@kw<ӁI&^F`] v/n(z'MM?5ޢ&DƊ:dz7APL`^\MuB+jcmj SUt܄OMSjbimp6M|Hk  Kx|بH/< e&<LK{!Ίh1YK- 7&Ôt u#pd}lp1itQ 0QP3ׁV,}h Ev_0]TbBF&*.dް: 8/Ǔ7bf-d TS}>KcZ32lP#qߐJ1(b4f=A9jT-Iz>1! [Ƹfuy/v?!b5.lR!(Z'?կʕ}^Ӣ>Y:9޽%9wII >4}L/m8"oTՔ/7rG& H6}_jOu&킅yT"KsV0rԹ~r?Iay rm'[Ϲ~2dziID@M'Zj'tC^?G_,tL0Rt v:Rs(l0ܝ p5 v{@1&춆dRk!NJNB EaT&qKղb"b%JezDcفegÓOzO3=Ftt/V5Viـt m9&ldh_ ބJW#DUʿu /Iv~mSO[Mus/R1QQ71 `Z/dtrߒw-'Baiv qͼ(&BMrMnAwrJ>22&)Ԅ2jU<<9ǮH;hӫƂu1b+cy=B9e?ғ/_#_ŇLciP7VIw Y2hOSs^_o5Vk?ɷXDuB M丛3uL"LnG*3 _?2q% 1bK6T4.Qv\(}+7l猙ɬðӫ&ϊ5tqY8.\P|-zIc;aE,]D%kLjz H1'gA tm|ϑ\2M]z{:1#>tF8ꅴSg(NJc[!Gb/cѼiC>GD%h4v#5'*:/fF0pL,ҁ4=oV=O=ӈ[lP ;F!=cD{5;,|"Lǘ.? g &.DC!_<(e!R:drL\Q9W|B`hD:iQF:_Ԝ 褥V.{|=5p1]yDwH[A\YlTc꧈u͚cc1k,E=#VzH6d[ i,Z=fԏ-˞}kxHjㄣgC4ϤE lM 36s˅@i^wy$|sD &ɠ9hIDdץ '.6rP^) C#c>R8~*_DUܝ&]ѸQy'BCyo*{r'J! h~Z#!lJ:rXP*:0}I5y[P Gv}X)ȶa !{hs6RP_"GsTPDI@s\(T{ugppމ,?ׇlavKR+q8vQJ3; uD{=5ӊuD4h'hӼcH7/SdQdu<{l\b'kk}/DF2lDB}#ΏlZ ݓ/yLf=~YoP^tAC;^Aw>jɦGJk7liOr? db@.g(e AA+AH| C4Љ (Pi Dgų=M-rn< &"|}#R3R^ ;Ҷ|^٥ 7/$I2fQHR]q K4)հN7nDz.c4zΞSiZ^s[(?8Řn7L)͂ ?ҡ{Vָ8[]YY/u.B31S)L~_9l`k [|Q28PXV襂@hy6EgIm {6(ζb,>@ X Zy=1q tQ̣Ncynؗ1/H:cYRekW 9N2#(9RD6"do&E K7Z^zDo4rd㯅,UD l+ P;ej^ |[!߲s^ u%LgJq`rSeࡱ\>nKYJWf;aCx3XT E8)V~ggtGVE wuq#un\"֎[EwWrAbhl,_(qC{.Edm5,@x=$ ^>@)8S)"LzBB.Qm+s]7Zq5Wk8 tQN i;c>ŷTyhHHRL᡺tUŰz;!pTQFQDa<@E#CN~~G-h^:X_ GrqV$_$eD1".̰""lEƢo/>epÒoEKK{p#};ZlJ53V\VV%_XHw"LZ34- NkX-O,M. M^dU f‘"ZH-a@okɏ"%!=ƳVҧhTA1.NkvXpAU-6/6J> )*NMR+4NS=e CaC 8u,ԇ^r;U_pgպ_z;S(> %ŶGA3K羸@xrId‰nr2P90`H*zqnF)]p#|Ox#n0BnCl\PR QsxV tcN 0ꅧQTqܖz6Yo{X[!0`pLS^|epv`IX% wJ1u"w-K'o &G'pP4vM0:Z4jQ&^^7 t@_Ame@b}t$A3@J W4x$5јtn¿:}o\иfF\j(D:П5i ̚q䗽aWw_^eI S( ?6|q_񛰌m`\le81*!z}˭ܽ #F-+;0^:J^irH|ŨBr|Cw l}2iL0S#DHq?fl"O]1M8fu fSG! Gpg_\̑3z-:p6@(9~ +ޔmΜ;ըa><+I!xj 1 5SL>ml5~kw».Uy,v83IFs#ҨsYvOI$"o-mZbG ][AaG0:%Ɣ./$LϝTSb/.62dcT΅ٳo8QQb; R):RW`goy c?V蟅&A]s M2I+qW& bq;t AP}u<:`?Wmw3"n"f~.K2F&3UT>]ߙz:3uy{_o>Yx9y0AIz1 &D;i`^h&7$i2rL_Xb-.}w*DJ.=<ТI bw`\k[J _~^־ AƲf1wd</P]$uI!*pJ)%@*5[5R%ĩD q5Mp@&=($8:Lt +N{Xϱ,`)JaGO 08r=7l^{QMм`ץx42@~dsVp;BVFdB;e\K[Udΐ/ .leT. ;0&_Ho1S_)Xӿq~a;>5Re/) (wB;TIT>Q0R$a~!U +@#_RpW^lЛ&KÜ0ź}l>J3yC񼯨xf yzK8.>S :=%B0`4dܛ' bc2EgJAo^ nbIn4E@QؔGjoG9*7pj&|:F1J8l**ANr`38<`pO_:}6_Ft(>L,sUzE܎' @$2>.Ȣ׉6#@s % [<-O7z#T#`J# lz+jW?e !œΚE8A#CNxQ2S4]o."vxd:_.{Lf`!hQb%kQrMm'm*V`ZQ],BEv_/6Bޭ>Gۋ,B"̪ؐa / ܓ6 lU8I]4#H /5_jg,T|H-X@J׌/ _, X 9c-ƣjNLR.c鸏X-/SvxͅN_Ndqs)?2f>d+fy;}GLLJM]y º~-7` tjt1{S^if|>(#d=~3c=SNeMYU+ ,HyV#c\:_ ;@ zU={I7h0#ϓt nx7A);sFVݧr>-g6Im$*F09~7ɍOdԬ-5U~MDhMCmioQ6lܑ dd;wnˆG;ɴM#*oa 7k M;&]exPhs֧ۢG\э$w?),U1Yjob6߽,H=>O'&ٹ[dJm8d֝A5h*w7'%ɖo:с+t0cȀ>EDlpFцZ|E[xf2XZ,иL%Y j]dm CfMD7Dr cꐖ:ubC0UD#KTy;n+~@$YKz`v[ (~:.D951i, A+?f}כ+6TMY`K(p Re<x_5*Xěl/o4(&b.V*a:7DD/afW^W`uQ?hZxq5`3swlvKQH zq.j>9Nt홴=F}յfd6bӏCC` "ѧٳ4cE2`Ð >[$evm mM{,m;y/R}E7¸xj$*"˅^'FDaIn5֨/a=m%EWH7~Qֆz ct͜%\]W+m!oHc B zRz >.~I$\2>Ɖ Yǒ9*)BL,J7YظU2qOfɖ;O lKo>)eUm֝6TE/b=#JtetىE&+) k8KX٘g,-\r&x~ ZX2)%2T1mZU99$bxdG(.cqp 52[=hѲ9 sFфҼ`}V|$pGD\r*3R/0j\@:{[dn&e6I̪]=zzǧ(nDz,1V|y0^g 22h] 1kvy@\ɍ+W|`9&z?c?큜|Ќ4y )/"hX;/ seT \лQA&>Eg^ӳ>Hv~7CZqNF* R,|xWN_$|POe'9㩶0F ^& g1ʖE`&(Bf2(z7|QAC(\uٲ6MKܙݜv). AeC.Ne'q\m{g mc)כwyً:5֤i/+'WP$ 7z 5 f7b4 Ο Ԃ8.qa Lp<ԍ7Ej()C$?ٱA\'g=9li >>=:;REɇI UT{(">am'x҇52BS y#?,~[(k*ox֨9όt] FLͳQ!ؤh֊\On\7t|hGfO+8>}8Wqʄψ\f"o)"ƽA5$pa1M{8O9g}MD`$AF4UekJ?D~ȪY&=HqgΡL- rшޢm{q,eYz {[|02Fs9A)=" {aCuf#Z~SO_ !3A,"ߍ ~$ĂkqzۯfU*vN '4@g%A' ZKAEx[7ko& a;n4'l c?HO7*҆e :y‘zG>4߹em#GO\ޱK "3'A?Fh" KY݊i[OAVh%,92jĺޗ,Yݡ׶cA6z)d$$^ߥT"]fxN~I2m"L#;>*(:lv84ǥ Y0|w$G7+ +F".?K.rcmaIAZr X urOg00E~gwb6gѬ1v?4]CB˚xyb<Er`JQ.OiUu"X,f_EUT3ߛȣ5r%Q:[# R{{q>=gùͥL5o ÍOvBOVU2SCǙDq]ywՕU4V H.n3>Sېs *d 1;^hi\Ry3YQ|GӚc6'ޑYT:H*+fli`MSβwW`cL_5\ooylQhՈ1& a{;k.jT?y`O+{!Y^8i7LmzC Hg2t(DҾQtzmp&u9jo Sej$%[zbB) &5GoC Dfϩ^Noũ-ѶE$aڵ-Bi^uA& u&NXcyT:s3/p3v2ポ&9$访 +Y{[&f>r2kA?[Z*C؍BwJrG 4k2zUb]-*z,A&>l6Jȥ>1uimȾXwZu[bȮrMgmlX(&pzox]{7#3Sd/gyd=M[lp1hwzo.v6Ӄ3RF!M-c^I^C"PM G[*ݣ+xr $w uL<=bwh/!\pW0`GШH!`$oD Ġ[qwV  7b$]?Ʀ0 `j4 n<-ta;XQ'XJ^l jW…p%OsO>+R6p~ ݯ.ͭf"/7ͨb 8 *zc2Y>{#ev$9c*o*$2$hj-|ZHg9Ϩh,{xUsIzvТ-STs۾},c0j4ri4Vk#\TkJBV: Ӵ}1b\>3@uew3VBpyWs=8NT ؃&S_qN@]%*՛ &rVy&ptp/`}> 2.-rNBwGޢJF3Iȸ.~Tc8.Y&17WP[Q3[&=|\=^I^٬k,|?k2&<"VOJToGp#]ʭpo/H^h7^]`Qw|\Xq'=_#YAZ@υ4V$y>u&XkUcd`)FRD1ԴgֲCGvF Ѓe ~4jm'Ih ͛w'.~⫬.NxH@ my`'2Z| SL'eMv{6Wxڶme Ӷ'.,-6ٟ{#M \hPË3 nV GP*g I GrT'fܻ..]ל,B&Ý?يA]•ֹ̡\|U M6}Jb.Q75]] e\f?vXN\6he2+P=yڳgG Y0 |yAplIN4"h@Wq]BwW=]Q'rg {[V|3|t2*U4,G LDƉ|ssrr[ 0. y9@qSs?)aRPKpu|LA nԄI[qFT R} %n61~ԇz*- e/pPw߽4xEީA2_O{6)gXPn$>$[MࠝnL[uW!(*vi $OU"~>6# 7" 'WA|qTkHD7Ӂ׎ZJۊ@o3#xc6Z2\?aWS5 ;a6/mE'ZK`Z@\q>m4LbbQ{ۻ3hlci BZȯ[^ E[nq{unN^tvZeB`1ĺU2Jwxi;cgk&g3biu,qMk̪W߅ǂ]iT[ G<\P2cv+P̾Y%ӝ)iRȉ[]B#ͱTT esFnřKРF .e|)ysg'o"SYܲK6acl:k6H|x#a6/w0\(`D*Y^׷)ІA4-`wѱd&r)5f ?+BJ*&RhK e|3,pI+ԲE閸QaL&XL]5Y_XJ]x:dp}ܠepe\^&,ι1i ߽e 88[%؁7jP,#`ڙ_7 }DؤpŽ<8ֹЅM'mB>*RY@+͡gY Tf&Q*:LDqO2QGwdzy'SЮgۭsiJsѿ/%#b݅em)V,Z8ƿ(sE,BXwḼЙhMa'X$EO%t"fXfB_V|Bf&/= &O\%3 u!Fמn$pY~ ;]֍:37/> Wʴ;A}Xxo3haaǁJ._1nX@XXs)p@ngs ыUH'lLPlo*f}sV;KԼ'aDb]~>zb[p';~F^Vg["7j%)IVRPwz({D?N gC(w昑^d(t#@#sElUFoYPTx>ZCp$r*3!4|1L9ٔ [JSe n~/Ibb\[{!`Ph+ |% 2 NrdI{e-xhՂ=±h%7x?u^IuU;(Ua7DX!aZh^(#CE*|hc:Ent˭ ZX5kٟDx_6UBsn^ޟe!Τ<:?EMg^:JFݲ .&1 1(,NH?-L/6JdoEvupeeJp: 59DuåwC罸GX,Z9=R ]rNҊ L Fg/ԋ͵۩2 Is5ÛgԣAB[\ 5xf輧7id2ަ%ʱhhqj51Y+ xFa'@#?(Dh^Su9ZƤ)SEVc" <olՑ>틃nrರ!pL$G+guVAF0԰ԕ]t$lqÃ6[ L}F99Da6= Ŝ L* -|g# SnafS#v叻tfVȍ `*4R/ێp Xq0;lQUI<<63Lw~~Lx S~ Oˎ~-d R/1䲭}%0[h1aa?w^U)&?x`Hn (9p<4 tɗ+3n)1 ˾N@$PņyqW%+%oL l)}=͘\'GN*{JEy%{- ;*MXo#~'\5EDEw] +o*HGS d/tBDju"-$-b`[ˁ>VU#e$ M ,bePW69l"hIϹ Ms՟YRk*vd\M险!@ ~asA{pG]#&: $OKt72gvrCMyE"0I-8v} 0sPR@H1p$ 2IWGѩˊsQ`6*GZNm;Yg+/DY1ٮAK?PT5e5D#xxKc?ťIY߇ 7yǸݶ;1_N XoFo dژ]R&݁[.yq« bwFA ]Vc[]<@C5toM4rB!/F".\K@OG 6J' ^ 7\sr/Ni>Varitd:8$Ǥ?RK^HF9ʻũgccEYwI41' :P4rj=A%;En7dMUӾzƇNs*\nKVY\_8'y?g+hbtb{o6 &ra,p$o'q(#)gPRΧw0+˨ =^BjUCWK#i`[4 "݌pqG&y8ocyx v |MHY}5#X 'ipؑ$)r{ʍKU a(Yh=@yGe"TLܡ֯_ĥ_6IͰd3"a󴿓̈́Uo e7-"~LƉҔ?4TB|OQ`fx9]*x^#KΤǶsI68/ȿⵒILf:+ "d]DdFLI+ӵr#.Q=kW -YV{ | /i_oGygcbPAđ t-qp-~qݡ92IESvLY ]Z2,_8k.b*67[J兜M$< $߬foBܶk1G-'BXU:)_#7p #"Žߔ϶yn#KǍ$"\u ^P~Ɲ;SE0yúۯ7,tt5r-~˹ꀥޟ&{(@"/{sjVfI:NӟgLW #}qAvS]OL-Bti#p<\w=Άp}wc4 fWjr]lk"~MtuTʁ"IV[SA"H{1ɡ|(~8X\<#{>[ M\:.ۂb!,uF+[-=$aǰih $V6=o3H1Sƈ7}1Mv}4Թ̩3XLH,C17w@vP]s3`h*BgO2[7 3ж6qt_2$3a(e ROCa{Zhh9yQw#9s']0N{[ fKgB8BP{\(4N[\| E5qG ]~h/)XL^&V͇ЂP 2qN]B2;p$. +Σl ?0p2bfXF#k֮bX<#7,F96ZoU"*[Lg# @c2:4w>ҍ ;2C7 ILNy-Wh[5疧zLxY0EU6ppWMcU`n 2{ʇ{a9-Y\HNK x N@d%) 4hL';z$3rMZ/ Ye;^^܅"y etrS:Ƀn6 :@.P Um#Xx~?6r ۡyΫlr#o\) l&Z~OfsS֝T)G?=˴]/_58N/zNg"FB>\?b+ צPJB&+N5WZA/RW=*D;ΞFWeqP:)+vq(h sI-J?mKW1#j3Ef H, <=/ڒド)…yg%9B[I'WF,Q-rD7}á$Ws38|[\G/XF=SB T~-^- Qչ#X ^^ cNҐ H]D#53,D0*,Qa#ȣ˦TUs}A3yhzΆRKR* n)pf~ t?b1TxZ' fTFx0̵U!׳NSi/Qv Gmb&NLez]&Ÿ{#<şFu"baOV 5aPO4K@1nۄ:wLǜk9A)Cs;2݂cAzJ {222LErH&|6%H'\HDرJ )P0VO/ 2/RcnwG_@miaTVeU׺(Zk%X@# 4.1 Fe=t> ֚]MPwa>MB7 !DQHPRя__Qoѓϗ=],%XyaLt#,)X].ll\jP J?V<T@rjOǿGiyþ# (=F3#zׇ[ -N.q<ګYK|0i'3cnՅps%*85x5$oR==ʨ?25=JiNn&?֙էZm~.(pz.jLY.i#b msJ-àV:>!صWC䠂ַƷ}Bk`/k |J[M~ ;<@I\m|W'2'x#&~U?jLTІ Y@+g=GFh1Ƕꌘߧ jM&g 𠔄E~ ] ֯ۻ =Md6y9Yn}۩ŗoK4permЮa[TZf:Q0&EH3M-iDп! ڥ1r@q IF |9@u]'논 L!#;<ߪPʒW{ epCb~``#{IUƕX t UldYnBV~f k w,;) q Ej̈́D*̗9H_ilԞ'd.kM'Շ1cncsD5v8T  =&Xp~hsg' ,2<ߗ}('#q{z jfhjhq|S97j[qxXy/Vy BMaQY|WE,Z69ȰwCU$)IpHĚuBTF@?~֩^4?[Zf;@-w *i8nn*0 ϊV e! ak1 <ZO3:8*,[XY۽ V bx![Tibaz!ݞ%Yqdfp|#=C, KV:$u6LOZk<{$D$:2=Zj{("٩%T8z|sv񚴝+ ÿU)imE~Hˁa]o)gXGJR5XWZ7vpdkfqSXǑʲ(g'J"I:CӠdn53+n(i"7tylG03| =  l'NYXo`BLeL%1jc-!F{h3dxޑI \,TiRߜsw%xh^x=FAyw߾vZuYr+I pE PO6y@Ycٳ_mh l4Λ # ^[0/M:} 9du4y[V"w(@+5:iI=3=)kxA fVf;Z.7Iczx@v5E(KRK:R,H\pJUUOK 5B#Sh.ͷh8\ #9oK- 3Y$eh(N_9G`eV#xO]-ډvuKTfEtr@k2ETB .DR)`u681l=!$vCHrhi1KA YX2|<ԉki8r3r&ԒY~O=2Vyxr㝣0tJ_/M 3'{{?l&>WUEb6b62z9~pԙ_+nޥmH7 P?]JpJ(%x B⶙)Ѐq 5Q]`\h.9sb1|f&c&(If0FbiD46-*t׷@hn3g @Jk=bȪi?䀶S %7,L'|DW9*8de{eouI|9vmX 6BעJmY7\*=_P) NM JB^Uښs?##>pE:|Z]':"ge&҈u>wt!=Q}mbJ D+ NGhUxU=U~uA!j j2{^g0vjdD TSH괗dV9J% f4\rٔ!q 7&ƾ`/@(x1y))ld_HVj\Qk9\1p_צYέ ,aIϾw&FLb:4ijضS|=HS/0C" Ύ(g9Ib:f9N;:^| ';8UyK}&o0U#[פERUKfKQ/,jB{G} QT>k?a{Q,S#+JsN*ɁAՠY,#H {rt_QV"S[[oBI4 K)UuY*s iDl(̑{K8s CKAdzX?SHt>HchHF,_\|S~rpI8=~"dhΏt7^ʾ'{a dka#(ψGUR(S:(z&^uW|Z'dIq4cճ@I{;bJH±Y؛؏:j\tkH_R: &Y$/p&49;&:XiKxäNn៴~m3;~ Cg 1wzNp0edaگGYZ&ǫJ4%/% rBC \'yǁډcV₳ԁȤdIM KBY%$7ߙHVtqd`ܩJ)A5o=2z1DL>F]cHBb\(=Lo\ Ci~HR QUjLIhZjkTTHbN@Z0?lz;0h@pxWEkꝖ`{e̜phpR@5`ʼn.j!d57eg-֓#jB% yY>opP[7)`3fj/w$dW.D ΋,d118V_zA,-icﬤrTu a әeJ"ȭ_Q馀^Ų1υ͛t'ڊUJ6e}Mԭh [U|b1EJBVr K &$N'ټs)F;XꥸFcf7?tv\"ɠNcg!թ"8JSWt*hvhrtIĿGf:Vܟk QF'#巜/"*k!Y!@j[xV.@7r*_ e_W${ cJ}Vn7<~5̱󠈌 yȪ*xۅ | Q<ʳI1wZ+pSPlT)gD|yʯ.7jk `|'XQH¨ dR6XU^#̝k3 ϸ,f4Ķ jz/,8ݸL?'CYMPo%KeCa1YXV0A}æ HYuo :kxͅ)2Ȼym&Ex&{ҁvE Xmڋ]~U ʢ^(^,ޓxn]$aƜLІ |.X+s 5B`Q! #-i[c(  64Y<l>+l׌EnS1|L+Fab"FjA$^Sa 8EUtݜ}ahȇyh * c):9><ovׇJG0v=ot>S.:Dz 2圊3!B wL`.5@{' Gd$⨺Iߔ>&k~M)-cwmI :;i6J3%O^CzJYUD~xL)`%gzq%҂ haf^rͳTVD$syǔ􀳹1| sK^ezs%wHs>03tQ7(ͱpAPZ^%kmtGy5m~r'4`H+ݣ T K1\Nr?JŅ{00_d-rVcMr]oC'}z3n{DdbAA ke&59V&QX9 Aw- ]aЍa0i3Y%| 󼠊E"P"bBlrg+}҉:gC52Zͻ1{@!_t#R'~9:D>I'ϗV'zୢԁ\||}Ⰵ4~MfgIdvcVֱFFwH#uKyM WbŚۈ}cNVηkf+HU%%9b[; 04Ŵ &% J -~ЗK gnhzy.ze{S51pzf1c|E俬e @iQZZRDѝ1uB 8Qu\˥ z}񢭚W'dUMizd+1[lWQ׺X&:&$߈OIݑfѸ~6QN e*02mZ+G ?(v>#wE2Y"549hIn2UX='~Y<󹁡pAΫO(n 9k̓}+.LڒTX׃&f1wQݬٺ؆iLZ{Ӥ^3 W-ByyXN v rL:ކB\%]'ӵOƀRUʿYM8an-^¬!Iki&lm[IZ+0 FgʅDF?!p䨭90cЍ02FGeBQ* ̧xxc<{r^bv:swK ڜeʆ$p:ڵ<svT\B+H0VixP=;[ó:"zt6cc)W6 ?? _w~0&#/lJ'NsD s[.J<0}v bkn2,KJ6߉7M僓F!HX[/0)p{WqP&9B׿螠} # 0d\"XjwD<ϒ2Gwkb^qde̘䫂uR"AŨETRo*mD+xC$^s4[]kvMc0BVD(K}>o`N7>UheS#տ4I"7?=Sv}s$:_qmp=ݦuW5<. _J)@qzGwY<L#D3K$,K[  1ӽ]ExLPU]xޖgҝF䐡ih7)cVӺUd;YEcגY9s}Xhni梯7iIJ?%"wɁ7&y$ËR1st)ۊ^e͐R b)${(ͤ`g&td.10o.1y4>ف{pQiJӪdv/ݠ 1nSu)n?g%SIa6(,RLI*xtuH}b]qvڸ EZVIxU5df#AV;Y$2 ٌ-Us\Ft+=͢sq]||]gEm]_X;:sF@%+ߤ嘈?:TX#~8cB` mr쪊JHӁo߽;JDO^?3v)|&C+8& %K/s wI1'h;̼[۝o*J|U^ʵ׵K{?9^^i F"ߺ&TƸC0US9evZudZ(v#O+.y@tHUm\ ̐W2w~(8"k , D  xJ[8S(d!o",o_QHtu.nVl;Cݓ:,˿ti}S'uSߠ8ֻ\\fY>)\e:Dh; ]Ci.喝smQ`pS)V ae){(~<4$iq|6ٝOXϾ( SfSh%4m"r?8kۘni>H68@ܔX->̀c ~cg^es@;W2,`xK' uߒ+|Qp*PTGeM_lb`SxE0h)]v_~is_Z{`{̈́_4rowkG,PR>O'sx=g`ʅc{Բ.\;8DofKEf&ܨ׏3`im6}  jiI\Cj aA#SȠ; *@f EmJ6-=΍~/N*F+,hلw*5ĠhbGs>iĹ+KOZw,eky[)R'6u? `0xi:Ԣ&{:|NV**B@:WʛLΎ>1;jw DŽkf0u^5*qձq?#,U(-xSS灭d: Ao;{2 w;~ۀ`7CNT (DPYKUaG}]zf^!x'%A*"s |h`)p6EpQɶ׼Ut.V_U?&Ϩ KXQo)p.v]0UBw\0B'$koWY%$~"BE`$*&!|j6'fU*1#BǼY>GR$e  \"tG"%wl /O?EHo|@Y@I tӵ{al%WGE,Y,Gld_-ɣMV1 :*Gaɼ5Qj5z>׼>{cf4xI7-auISrO1b_ EڨK6 , Ղ֙mƏ/V|ҁ>j}^α1h]Glo(/Q𞆹@=&muH@N9XqjQ4:׵+m)!$ ?Q>A.S,GXm2n˿:dʢs-yFGQDB*#Q>u/az~Z`VΌ:`A{4~D3: VAg<ίZ~[w6`/\*Hj [s,\) ?ș2`0So")Ur1ֈOp5pPyL.ItGś=<6aS 00-2FCL^a4ݣBK+ȨkRC t&hH^~o'uæPk_|## |۲?`Z!4I%>OVjI"AN7+'6Ÿo#C62N2۳MEc$+Uy#&u׌e;P{g9iѻw#z:d6,e_D,k %ȻTFmuG< iu±veݓNݿ-y0fN{=R'v-ĊqQEn׵J ɯ'eugTw/ZLuԦ:pY7XI Ri8`y}/9p87=(*$OP1)%.ӊc(1!{k9:Ż\׉q;V # %Hz)37tF>QzP{FT)aL':([k/&KzIr#Y],휾R)E~%+H)aMDG1br_cpuMy+T!UOnDh[7!,xiE%RiqdЙ5&m|]zl*@۴r-dc~bivQNCVrGT:Vzb/>s;6/0隚s6sV/b2aR3/LmEh-A!)d:Dn4Ez@jb?vI-&==w7VI$糡z\|P͐I>^\D-,]>_'7WԎ8ez3|i4("J{ 5찍wJσnׇ>!?PuR? lTsȻ-9d@!3F,FyL=}ӒèYۘ@9p'Y (s艏HdWOͥP– N叐3j\a O{I8]L-UCqI<|`sةfO|2F={9+P gHfԃF񋺵wylhdpv/!d[J0g",͑@@ s;:Ey "8+Ӿ.; s)3^:vP$}=t=yb 9ITuIX< x$=V_k8I&㗍a%8sJ» Kal{N:Voi6Tb}hU}EsxRaU|YL0:cL=YlLmN~U9r"Rl}z ǺIrԟKEWB?[5X=XZp`'ǦVy XMJsf[>_ ^f\Y5C5~ '|]G3J핏j %15b}땼"AOQC67;\O{unh7ν;87n7MR-\X!Mdf UKK54(p^!o]Yr:+I 7٧V_ɥ$& }脉O:^ SHظliS:V2[&OPtNG)p}e*%YwfR{:x..ȳCVڥ^U=kvڮVLSU)-İ#ғ/j^>(@--RQe ;yڹ#9 s.,"&/]"~4.ݻ!x>U(s]ˑ' v a@g9K&5y}2N4&QJȐdC]tc&Ei%? >MTf:yLn]tā`JyF/5"sx@CBORhAfE]RښGuOk9mX骇R):pb2gd;B \ b冐1:;%ԝ yk^!_we1k8Eu 5EBq>ǪFp:pN oщ+M]Q>n#kMaf4- ^TV=ụ8{/VūiipGsA*t;!#s9~}IrCd8O]Ú> ,BPg#w0x (;b)^rRsS[=VX+ùјiIgkC'L\+壞>he :䷉[8rZ~ӗ$5N:jbZu_KPfZfҦAq`KoQ@CgKb%m[Ҍʷ 3Q;TV&2u_!,J9&-&`]R4rB$zvc@DXkf#.蜳q(5"bmd!^X&0472ߐq wV#ؼ?f}d% ќ@3tqM1ll^Ak+ 7"8<0+.\;܈O=fttd-mex.Z? 6C=hKO>͖ku:CgRۼmHaB A^ !>ᄎ6,YLi* 㘠=ovd&jFgm|ߜ 08MS`M }#.*a\_ORIr`E*(hiUmԶC(,Oqtv<đFwm _6 'jfFC{dWZ ˄.Pޯ ]83b \Ybp֝$=qTa7î;ՠp-$]ei2,IrE,#,> ?=D+(JfxHM|]4!L۫JqUh/|g fk"2Unb&EɦHS9Y@J~Yj g5nf*ķtsMpTR,-YDyMw#q|j)0᫟뙹Az4(sЯ5+I}N=x\t:~h1R.鱀I1@+WtYHK?آvbopN!̗ c"@ʈ i,lW ;<^2̈lk``]cNG۽J)6*v'? Z0((tB"2S'-ڤbiŗs%i{XuѰ8-CW&e &L1Qw~\)W;;x3Ta7 ܈QK~Lq> ҎAu] F жHoImj=EҼ}u&++ _͡=덧)?P/(gfˤ% ~Ћt2شI(,I򧊲haK_Pɂx(! w9vqgI/ ЙBxD l"óÉ,;A^󝩫  ,w}#/ L{}m$ƥm#8}Aܐ O7VY6 wӱt%N@d3p qhO_aonz; w!6c4 }h$4i6Z73:کβI7dNYJ Tds^~z"$[8X =`,`{L=3}ßD*w (0ȝwa[ b(\i 4ٯQi3:e>{ %:brvKi2F=',8wa.'=џ& Q3rcXO=s43MA@@s"b9jJ+ӌt*j"ΧۖL6Z;ޅ$$!'1S>e/>Ȟ ?M~ɱ\V߈7k r)`S^ e}m*<ŹC=‚xbMnZ WN5l/?ew-9\Bw pBaDD`z*ެ!8 "lޕ;̓T{?M̕ ~62O~1B,(T%XGt6:^{!0N|tXOh,W)dhi6ȸ5L';@M6KFq{9F%#6'ZpEq MUF8P3m\2BX[*t3Y{cؼDţfla?q4[ MI;9lXG1dZo,%{8'Bcox{>rX `ћ#'9;ᣥ}Ce+l9/U )a WP AuǤx#5͸>UqO5}I8C$;:~AP̖NH{q ^7sIa8X]3Kf*7?۔ǤGG$fO{E-RjyQW}Jbe ZrvToٰYP#_PTe6{(Ə*m<5MT=GȰ0Jaql#궭-eu)tkD++]'uOOGl嵇P-/*v:WܗIz8#jhf=Q8Rgpdv Y6ϒbrH3?D{7+cx?͝y~SjޱJP5RCб }&3zh.Յq!̭Bq0~v%)l5W2\Uj"Ch(Magظ x\* "9ݏ$t6r~o?cFt-{%^[$Z&~6я|Ce`\@FL. T#!ndZv6Bv.S5Nzt.@*EPśO ^},nQzWL:w:&Bf~,osDW! -og$v6orYrNy{rwld"wml8~ ݀s;\"w.sdńS(̍?G}så1>t.?M(JO.UN$l| "|yJ%vcGWVh][osGbnH@m8* &T%qb+0RbfUH@FU2uЁoc2YEh*Ut-2Ʃ rC"(jE! A3qpYK*ȧ -8E+XCMr3(}!pmjpPn-)s;top-8ۦ"6QSnO*xn w1.dG5c٬"z=&8>@Eϋ=V$Ѹ i4u.}+Zw9,Q^ȋtB+8 9pC =P݈ϒ=#)~EĻ*ø#PB3D(2͓dX aߵo)c{˃^[x_ Iחw R4{ ?:i^y(;+ UX#6#%&]-6cM+ų b|7*NC`%0D+%x[mj9 5Xx94[?&f@ƆpnbgXQ,HIkʋc8<*WL!5+[5 z)Vr * [E ӯ?KQxT6OE|.c2g-B#lS:'̋W:Wڮ"[&[k^6Ga4F**7A9f@h(%^ⳏTM2 "D%x'.QLo2HrDȔPTpxmV%GkKcau11)YƟp_m ~M,:RȶlY4%~1cQm߷=g. vCMCP.,X(szt @3@2-F.pip=yxžq !&qK@:!?|[ޱnE='mMFtFuMW\eɟD064 7W#Ź jI%]A"4Hr8P7r9oV8Ԟݟ}B~@E{@>zۨ[0<Щ$'q&˔|[Y\m\)X\Xh{4Q\qpfm{ʋu1a~ٿѱ"K@l'W(+aCT^y0Oc#z3Gd ۦ}ށ|}HA*>PCa %1ZWeRٳ$24ik;jVMvX@2bQb\t Iɐ|W3[W-:Q|=| DZS|FRMYJ=dpSՂ{J!w&K0ըe*B /d(7d)f_M /zЋ/t%z[ oGm2QM̰U' n0˝ פ +#5P]Eq D(ZK4kKdU6Z; 3>D 7Ơj*R_a@!0Wȋ\'r |3kiͣZ)8hx5>Nl | 6tx}禶爛Q#uم] )gE7_ԴnCKUhxtlBQb|pME9+j|_Ͼ$m$q|42xTR: c^eLIл6q_L`;!}k:,aljV QRy>˸Jy5ơ|x:kCTjf9Vh+CXE"2ܸceUQ1-JӘn$eJ .`A77_X`M&y oモ2^& VV16В>CUѲa-j~Ρ*#wery.K5%dIJ n tMRᩓfb~u!}mHCiڙ#uP8@he Z'V^'"G+^1/=бjE]1`pPBKîbHADZ䷰P+!~AO_s0Ec,U}VEm>}|ʩy'5mvٽ_b]Tڬ.44byjkĩ?>>iec['1yLq 1pϟgpJJ˝o.s8$_xU~5怮A jMiKbK:UA <cHU/c7qH5N+fd+YoNYHs :4St]H ,7H9[lv"K@5 ]z|Gbϵ꿘?yRZJ9xC@'ncK^DEiDT[@ :egW\`z߆ jT+ȳ]$rTEA'Ds.[<r'5ts)7aj!DuJXpDlȱSݲb>ܞlؠ :w<5$gZn0x'yuxc vFQs"N%Sf9Q{.y#Erl^fI='y̪&{ !Ej9O_mpaii%<>ޣ;.mHǁA+vxf\,T$Fyeam޴,{P@xAv!XI\FoK?lYҶ2ᆭ{9hSSCs'aa)ѵJ۟y XV9MnzFWWv\p2s lQ]bOPm#X7ւz;.# P (M g]%?GK#14]rE[=AhE4+uZ) I 3$HZZ#UoV4 NP }\-E,s^R}cX%+ǎ R")RI娟$]Oj'INsϕOFnDvX{U$[-)!d H;ȧ*/'1iFxM+ D/D x 1znO]0N_ji>%ExHZkOnhl+!@'pcTCڅsق3p{V~pL6ԓ|"(.}4#~m1ؓa(:Y߳ KxY7tցl*D7UMmo|Whc>!GBB+pP@@=oGDVg!(zY-pj:mSL34S]EKVu6rG6+W-rq0E\6h9bx L:j jN 6V7E,NtV`!>GdД<$Exi`j2]~KE[L;ğ?&PIz7_$JP9ނ75ɱqa%*Qbؑ7oRQZPBl&׺ {LO*Q+PHW,|_ [ [eYqbi$hE:"ejNj;)lm\,,9blN4 z2ǶhÂ;VzQ{lkJLT"?%P- gڃ4ӻf+~{֨4L,.8$ф׾!8M&;4zzZ0ِ9/Tvx'j4q}B@oVwk.s{Q/+t&En.1<*KYFU&Q ņqrFa"=*7LC FzlP G4f}협~ 8nO>?L#k۵ nJ3ţtzA A4YiInqS +Di<6#P3rϘlY[ӜuCyr?E$ b M!aze Sw,4E>+4 0J֩+pxU<\#KYY.mO>WHV(kTOnjsS/Udzl҈};C( aJNe&SGH(+ArbrS^Xd(!Nv)ſJY#/aaY "Z$C5΄G.mLn]rCgs]͂ eT%+B$j!'O(c Y!U??M˙6=lMRU7%CBm~6@|]x )bs59S2 _~6kԜTiPtP6s(F$tƫ qbz)Zw3F3 5 B.^jK e{i;kISūU#G D6:O q(Dkh@eC!-v+% Fei#i8ga wnR0.]TdÊ@fb,W+4mٸQ2A/' $ej@U=T?;q(i P$&PfcS[ SscwCu[a,;kBP%Odt|N7;t+*0k3rJX˛irQi:/͎)M;-qYTW^iv2׍]B%+ś N_9=lPlaݰOSY4F}2߫y7= XB f_`?ɾnn%z-LVۗ<`1 h'DG ws;+7(w$YHm᩼dߛOkL5.F$pAW4-$JIœ͞'JbbЇi '#K$nX })Wi#XCȊT=`ˊVbG(cJ4%M׺/%: c=JQ,M_\**Fr竌COq,S}EVO<` V O\Jj$ wA>Jw5A'TlLc" {>}{Tbi.IS(w;ηGw"wQ*-|0#DAo{H!=29:N HUP`~&AjLӗ蓢*-/eq+b@pz`yAdd眬j'3< k\gm\3Ô@ʭTf;JCL~(Bzvʆc{bԖqw^ZT$r8]؋Qdض櫵e uxx;E%7sGI+*n,v6UnʒHeL4,#y^_joy 8wHDۦ ׹J;{:P74,xFz 2d)>g[u֮}Sz&ZaavZ˥ ( m0C׿p(oQ l/U4yN=F Hv'N6RaGʲzPNwV`ҚDʆ_g%ֿ^Aͬ1Y{?mi@嬀~JTgs t{Ɨ p4׃F!ˉ4=ObkH )x{7PW/ɈZRgN0._g<7.TCݓ8ۢIn `Sc"L#}ApC n1ž0-E8}:4k `A9.L^E@r{-Ղ_=]7' (d9YRD aH$!U#QfTV6l *IZ?g}y/Q4 \5=,/ZxXAQ'_Dztka_Lz LRGP]Y{[nI 6^+mE(*(ju Ê ph-lZBB`%?FU4Cq5 <G-=>R2#k<*ȐE%gNݙ1rmqI$ծò@,F7*!.#[SX39Uou`3FBXeL}=1T|=Κ%b-KfԘ Go`hsaد/OdX]aCYh/ɍdWipgyb.<т6^GePDdKu+!-c'jV2T]}Y>:" Z*d\v>@wmz13+aFcOڔkQ 6V-pkx@ Eo[(:d|p93m>n(K6[N]U<+q^rشf[£Q&Pfpbлr>X' :sA"&,Mӗܭ\WߓH~ enoєɦC`S2BaRRg<ײzP N B K&w(,;wCQV6;G"yo"8ϔdlt,#/[HCy6!h|_Lh8cx0h9 V[`ɜؤyݎZETg Iǜ?(d6TK|3iGӾU+;E@ H5CE Df)V/#|+rZ2Ν{Zvqۊ7C*0(x~Kcb yq~h~t7Qw(G䯞i0C_fG2BƘMbC'F FɆ>L7yU[H>P5aPlmݗ4G~a H!v[,+*07ʬs&lƺ ? m,ݑJ4dSQ]lrqR2YEhY{~WA+:˪$7aIg,^̡$lHP8rף˹ǯU<B/h0ōMTu|SOլq1Dd ;D eG0QeH̡`KYp]j:?,yք0sӘՅ`dnK:HoO 'բh 4Xer`v#~I8XΡbsnhr=/ GvkG4֗K?gгSfR4B 5!Mg8-zџrWK ܧ17w[zuϱjDOC5lqngat1Zf-k,-Vh\?+޾ċNd F\)3 %mWgi CP9ʸ='Lc 4Hz)ud'kX Qlz ྪ5iZErTR TlXe@ctˆnÈşR],hόwq"xHJ̟n ,BP)n#1{L}>?sʸMeek3!]zFJ#&(:.w"эeT )}| j=P"gv}"%Я9Z *+NKЊ,R~zU)J\|sH]xm)~Rwp ܀t#5DF/0r5ʾ6{=.KG/' ˴#aiufYhLqqMƈ-X^wPA dOU!cg[F6}3A ei|Az8f`ׂ]?u<}mn=4,-i1+7!I n8w0 _qQA&I碉vNNm~,:C/K!!$`'Q@R4 /2ܻ#{m<ǜ{HOHF*e{Hʴwfe E~/qΛcBl:'-ayacg5a]%*:7B~H0H0?SV+З} Ed'3O`:X7J7-8ǙFb%<d x{uT]OL,(-/K 3l{̳jsC,gXqP43F*s5Pm]~5wE }/T۠S,ŀC~VdrH'әsmktj6|W)nj]Iy: b)ثY#6)î*&/L<.1.,\..UrFpbT E+bg0s]بe5Rߙz>#6_BJS߫XD(9"^ zmu- , 3ɯKq)%h`Qv+a2Kn.'WJ{$W}qVCq3uP3O)G |VI/G7vB QG,o'49\,X|gq^u%~6Ⱦ [JҌl$xq%K'6//c"0nGay})X706Ⱟ$%ܟYI3ChN7c tUpԒMcN!~g7xW+}F5^ WJIG| 3| !s[Tд[Z-}#ƶfskSM4͎\LzC wdVLx&'Sy6CH:}eam>E{/XڙbblDGQ b8R8,:tU/WGKx:%Â;J9{p"779F|.ǒZQ:J\b JT{ަ-$5d0"ilكV?bn߄:1Jw*oF$pIoFC.+qޜ-)]"Ӳ6;7L~ZZ+R}=razPd4bR3Hqday4nݠ 6 ҭ2<Ĉ?4.siǹ_} T;]B%bDxqÖtW]QYEo%v ԐY#GvfƈѺky8 KXvλ61򌋑Beu @<9oEp+C g!^b $gKxEoPbH EM,a6ݸrJvӽ}&5:̌(^xlG0e i'DRsķiTtY'0tVw)B3''s3_Yx._@Rt Ã?ò2M2K ^ }eD¸M:3k஋yB:qc@⁞rK |_'&pH&)6x9Az>A[ֺMP:n@QTB8?#x~ #-[쎯KDrf؋T\Q#p> qڨSkN̶ .ݑF vqT)oc 3Ik6Xr).u&@3}4bKZ\{a.ВqM/?BC|X%܀' #Ev#H"Ba~eSx#o5C$8j tDC5zbk`unMm61}k}=a&m'70հǧ=*( &VP5-,rQHBD9Rdr*'&F䦖_⹬ UwjxF vw9FثS {7(-@[&P)E jXG JS3q4i}xR?mD"ndZI)X9hU9? e`DQkl X ˈu5E6ym8 < K䏦 El=۴Ӡ2޺њ E-؞Y%mHN׵x5h tLӊ흔Q:/^#9VvaVBHB[:u&fL)СO-nD^g1'頖/`IY ,_q"9@xhx0=Z^>JfV^=Pjb\,wvP|vL -"{Є&ek*i@nApehiE/A.HGa^SuB7T[{8i0  `HĢt2ȫB%YHcQ&ٽfl C]Du8TH!%~R-8 jkIScl{I8 sxoٽX|ݷP:xRm5(8! z5E80C7o" M ~QDinfU4: pS?K??/׫xrRA][ҩE$F¬6}f{{36Ġ` <(gv*wi&DCiyeb`5.˪D^^Cf?0֌T︊ץ ]- /!ڔ]=>w`8fmv63Cf@#O^-~~%}dV,Ģ!HA/sM !%TL%Vyau܆pNKnĚ,E*%<.*/\ 'd`/w3rT7sXq7ݸȑhj;*+V@!DF%^94ObG!y1@ c܇TF͛Yֵ.][Œ! ܎C $ܬw<҅IʺrTanZ D%2Pl* C d( 筛|µ,2 ?#"3-tcuG ζI ;u>]zM[f}L~T8kGZ$"Щk!0S\Y{VeZHsLikb`UixYć;yj Lʳ ߖX;3RygB4eCTTk[)'5E /䕾AHt~ BB7i+(K 7-hi;pkNP/xq5Z9wL'Gb)\]"Ɂ"&:w Z渿vb`sЁFwD.Mjn=557 XnhНIVKckI:D+){xðTCK 7, ϧcvJdGF7`jꉙNb\YAڟMmpܻW}V:<*Lm o'|[p糜f ,4ɧ 0t%*Jh$V^׫/=?]nO^ZrꆄjAR#r⭡fXYҏz@z[agV23C 9>)YQۢw[c?UhkXh8f8kq7FchĆck0b@]}'JtL*ZY`P 3m8J%ISȇV)MT8 '=GPdPHJl&w~[!.ri8ꄇԓ^ H?pxd޲gm 1XڗW(ͩw0- D/WNK=-`KBbEgߐ5CcfNQɤIG՚h_F־ iμJb@ߔ:(V8E ~r!-b՝2뻃4:Zo28^癰(¯MZ֝61O+18;mΞyUSf¿&U'E F;4EG;~̫Ҡ$D g!/wXp8÷$7Lr CTK+QbSaa<O8U2zoVc*-14LpT+r9;ީgܿܰ8,JƁaxBzſ Bo`!pD !u?M,cnO#z"fǢn/?DhvDc5uM@pPx֡)6rmvp 2)z R[a%c]Srb]j w#|gN#n7IVVWghaBM1i?YnZ:7mS܋g۲m$ǚu/=L"Z/6Uh8ڥt^#&BI\EDr~?VCQvU MFzh;/jDʒ!)FHĄIsX1}Jw kM ?m\_]UD!DHrէ0?6\W4;;1'nǮ,OG]N>>Bn?n٣2#l<9Cs*t%"jsQ`Lf.٫ `CQ_;?@ls;"5},,?MUWD;,d'GJ)R:)[FʗaB@Y: IpQLI[fYBV ӽFmgW5h`\Yb/MXt'mtklseR>vA*xyZIQݏtƋ.7x }i~\N_Γ{yڤȰ3[,Z%+{\O7iKl% ]x/,mKxb,UGn<2rJMIei$qA\7ϭ̧Lw~ ԡdU2\/Ac~"C7ߢ"H#{_.?̀|mE͓fH+w#fM`%p-L< iJ rglO B@=l^m_7c OyMl /*7W{ 0`}OpOڠ:iRX.6Q 8No/6KY=Nڷ9q-{s+o^;.vBS?"玖Q6ԅy!pUgز8bu3"ZuuJ@.,rYE:*Y]xF @!ӒT-.fooSqTj0Е8Z1©'ֲ0)JQ4m+ ͢b!i&Sqŷ\a$|'Y~$՗5d'J-1g;X {w$g:?1;4 aO26IgKhKGջRܖc}[";Gf9T%y+Y uLf wp/AЭ`p PO^bjpSCnd{wbaUEPHT}J TJ2d[yXNj-}Ak(OӺ st[ M5 SD IwpV1YSO|%[naƃv =ǀؚ ).$Df ]=(91y;*M.@vRd; I!7`[HrlcH2d8n'c{Qb)d,[hg ݠKqP)sv-KH#1-U EpzIIۆƛT$r2'a ]}ˋ/Fkgޞ5Y_ ٛ^r$?Nr.m(-,ͥJ{ %mT>6]#1| RH K</Şx|CDI~)?Phd/^ 'Yot@:Oe {mE_ěx{Lhǫ/&DW\} W>hA:»ViqTfˌ0>{$0Ш](co%J=F>QwKO/G y\1[]_f>F;ϧwG^~4bԩ^i|{qYol Cۗ̈i5ne%PP=v5jmoTڠ.5ր3.\v CBGb{|T?>dDH) K05vZgڑCZ@=4a # 0QNa+ Xu~U{EVEwi8yD/''E54D[2ftߣdGŢu^90 V ;K-~XI`zU4c)Q}]Vōvۦֻ.3#Xs[Oh;b#6H|\ۛ-1wknNX5O޻6+%N>X{;TM.Ym%$'EK̈́"Iɱ׿h\H@0n4}ID;E<PV$m*=tD͆!G[\|ӡkG?4x`k-鎏Z}`̞v5 Ѯ+[LbUQg-¨(׼a2JO{$U&KH|%դMWTLh6Āo iKvdɷ%z=[hY^(=3aĮ 'SLx`a[\SOs]3r}AK}(mԞUgGVpb u.ͨ̃ Zwhӿ.mfJQxd^A* ,Fe2Ud~E_*m V])FkI ʲ1NDnQ9RoEE,eUZ$Dm4"u 63%ܢd":NĎ;H-ȅHbjC36U.ɀ;ZWv]|q j]66*(We  4[Q߯~v4vw: }gs5ޡ).tT^j'.WdaqANZ}Άv@cg6XM/'\eHLNV4Ϫ,Qhqf׊}+gM&%w]aMX%u֗TQ~^Z@S/Us.O A5G|4%7x@?>o#IjV:+jm+65Ce] 藆u&0&(e6}.b1IJLG=v&vwX!oVa*AIŲVA)Ԍ= (XfFn3~Tw)_|7~Ƙfec X#`q 1gr`w 's+n]`7b>snxkqvps~\w&}7FGr9q"t `rmYw`;>$ޚ޾F+"A!5!>@uhm٤ׯ7̓.Y2 s$]:p{zaٸ5DD3i+ѸKNhVi+X*QiFӄyKP.rbBt|H>7 o*+mLڐWDz> 䲊6d4]9Sfh*4Pͦo&򁲢Ȯ+OkõIR.kMV1`Π+k}3sI9G&+4X,Сz`΃PP\ruNf*Qw|LL4cq 4jklqăKumV[5*tL'Ps>qjƴȜo͒d hV:J-'$ 혽0iƥ~\Gi(G(5[@S&=7iH*+͜QMC!ӪT8[E0sF|F/mJz=dX\A41W,WoA8UʕC~6}I*p#xqF6)D*- ^J@T[eP6aٜ8o鮐?$sEYmR ~>$QU [{WᖫƛԠjXV!!5n*EQf42#픩ž*2D]#SkqZ=^􄟡!*:&A*t;7"ؤ>݉H0>V^qwѶv~m0 cJN LQp=c{ Mt %:bhpW138gAY z,5ưAFr4Pqi|񖗍fklLޞaX,A/4YU륊RRxdjAAh*;Xe56ȁR 0G,FgU+%dL E|I u]X7;Cn纷ږ³;ݿ'.Y{G*<4j͇?*"ճ.N/3(B$01Q Ԫ*9~>UWͨޔ F0SIؐL\yiX.7)';%I3ԋT%=M6 v2n[Wv DqE5?tQ9aMd Oy?+ȧoΊ|np|"5 h48ىOQa| Z5Y!P2:R@jſv e .<:[40TCoI%7 %LQYԅ ?RW0Yg6^]DǕi'Osܭ;qzdwXNNV+bV̝;\S m"xtvai*ʶAD.4ڥÞÕ.5'SaሮxYBlɷ ,ǍO(wߵ\Y pfzcOQZĺSL0f{虺U17n&kB4E~ei;%z*Nd&K^8FBVŶ\8eq[ viCN 4 fF lUJgYyvA̺2n7i _,jYR.ϲU8lU1$:4މ/aK ^1wA#{NB B9. +-k56D݀H>"DBQ; lbnjg/'PFA̴W}`_}||Ϯ,#= .K&% X}]EwBQKޖj?]>(G>(T.{vAVpHkޑ w3 N;TqV2)BEwR$' k\Rnqleސz*xU7a7.scMG.7sm n7ĺ]%){yjB7wr}0;g'l^)&4ʺ+`g$C) rECQ昃6s]!aͤhVb{X+MU6UՅMOHWCݟ`*$jq49-Ѭ,bMBhmU%dk`|kM25oͪ:gbU,ߌM'/A| dr6ۻC!\ܝ¤n8b/!H4v ц* =EH$ PY5Woœ#&V"i"* B\ ǽxpRQ{ (6qN.{w 1?Oo&PF<5Rkd v`I@д'K1M?OQ=׮ش9/'.x^>^^n.1t#SSJl/1(ޅ8}e•py]qx`V؟o&p>+;:b~[DzP(}ݔ<*9khBs}f}٨H@&c!:Fu\O{#9\~Ax4Ɯ]"\.ȿ[pY͇3[p5Y _'o3!Yd_]OʍwX5TH|"&y~JO[3SAZEqwtp&StqzbqFx'n֛Ο[mc }!j[Xc<\S'7U28Xl$.SAܦGZ岒H[|2'B0 ܣXSќb:q'x朹C5ard˿~Eg=RXq*WHEqݖ5%4ar4#w9yL|Ml]d_lR.:$!#V3%p4fvle}=nƳ!\>pqCOY :pLf P~Ě.A]kb iܗxU} 2|S^W"37mEj.ǚfDc~.*| )(ǴWwoNy]/B֊B-\ME}P=,==smRcNz쾠~,JOꗊ5ZӖS(Ӥ M %g6TwIvXw* 8p;K:?p5֯)Ko֠j)|;ĸt!$77|C)Wh+o"(Vg_=.?{JsEqjEQr6s`JXplVߴ2\ L{t2@vtcqEqsUqh #wb6_Riȷp T90qu` +?W ?˂6&.A/t .٘!JP/|E~"ݟ؞l٭8ڝr&#~Xi&z\!~{ eEH8,/F-`*צC4Œ# /l8-|FUM_fpqgz1d4jae#,H"q1]>}wf ;_Տ~ע-ݍobb1܋gs7!:qyIQ&TP//z?fJxEl&cRbkeȖ\7j0J}78WcB!#xJxrq s]Ӕ5xr e.m&RGSXVwC9{W4Eb8p/}x̣ p:08zϯ6 .?{墏i>] t#nL}$&O7˻Ob]Sk0 z6Ŷd_3b<]HcP|z f[Kn)M4/𕑹CVp.Spdzu|+|FD'3űb6(5ɭУ7d=I>H}U4LSCg+paOZ#{VBpW$2y0GKĹ&eb9-fHN$z~Y|W׻jg9 qrLSY\,ZhKH5^4Wf'|E931N= WrjY} \遼Dž8M8J~Sx|5 EuVlr_TBJmsbjhgu4MeªrՄӻz| 77eSDRߺn۵7b2炲Wl*6 ohy7_܍% n2kP7FaonVwLλ&r~Z*Lju8"a}SNxh)l(&ΧWD&G|LCs|itOt#eܬ&F{g!^-Gv*WquIYx,zOx'^5 ԥ?GXZX*5˱#'QHlcrP-~!"tU9CљweZ&y^H''8BWzT:DA-[e?tV Q7PECNTOBUcHΛԓjE7!c逐JQ_Y, C*՗ \y/!nh, O8qb':#pJ]mnB4@g+*~T]ИL7Aj}AG2id,܁fXvۚ$<5Rj9{@ka(.IPsȇsD5x&^w?D?Oa q>cLf܇kLѐy5!O]`mvH.[&s*4ku]mnj0R?6Dž]wsQYX[6WvhFַ֢*TK-2u4qAvtAQ ."Afۧ9l›du׎`S)e!XOUEa9SjIR!Q;a߿RK@Y̨LQRBԧmѮ;-Uh:X{ zʬPdPr <HߵtI,2*J{Z_ky_vGTW AD8U9xF֐DEE;/SZR Xɲd{$ӏ3nD#]c4kȕlF'^-FIQ-Ihޘu;NU7=|M 2[Hx`\+qǪA!;8DQs )&ȿ c 43ֱh~Bn:p{fr嗼0GYf DU֚eN(u-3W%=e]8 |SyQp=&Ãraū-B O[YI-4ӳ7{[mWu ?O ]6&Ma8,~//7WMr-V!9^1ɹd쥇0F'.Z^8Vz)~ٽ=@Il`SPWySr憍(@F}ZVemPV Rf*w5`*J4jnoǦ _ӷB6rE7oM=Gd$C¦lr8Jjv x?6 [jĽ3ˏ[Lpc!l,mt@=eEDG[&L T1 ZHCp!vN e89bqH|@K`U%nhmUXc 3>Cn 1 TF*5qltM L/$S%ki [݂J vXkVT(qjƛk!aTbfpwX8QUK6-A/u:Pֶ΅QG񽕋 @%/<#J1'ܝq#ֆ.`,b-!D:coͦughѶsek;#q{f7"kX"QGb'j]*s>; U] P<YBKshӠC\s> CI%X9s"+@ZTnʦ>9p%ϚWz&/f1~8S 8' /,ad QAj&FO|sIAL"xfg&~fU>|ZܺNv\ \ogi 9Z餱Uoj  p]r$  D%rD d!kM1(st'\4>Ӹ0vP^0 Cr\QqltGզOXm B]ZC\V5feRgr@0Oޞ\I{$o 8>|p7YSֱt}lg3,G g 1m67 a|4n/ןE Mh<&izT>q⢄E4|aa0˂=< f!:'fSt77Ⱦq0]V`VA-n\HַhE34fF<;:E{d@9p͜-{5ߥLh}/iPz߸唯".}8`jk2甙  :.V JK93n3.O%i$x)@yG,K\!T8Gс Q ESUr6AKz :ҎjbJHSKgؘ3ݑu:[uBvH|d7$9@'@O gy̹Jna -_S4/k)zݬd@URQF9yħ,# jT6߰(!avN Z8@&@ÈJ3ٷ 5uN0+:D6j8RS|hVg y^qx˖6|U]l/Ph,`E 316~MC̖ V-SN֣|0+ȳNql ks!>b|)!([n AϴQ92Д cWlMO"Js}t}*" Lxhl,x+wxOU^̼m,^N#Ur[ޔ%Y9)75d?:JE{skL/q:AmzoP |i)N. ԝy_Sm[tΪf9ZTh+)q/7Oke>N+(_I7yƔZaJ)ڣ\ʵ qBEg6̼3w"/l;! b.ccOHgR],;ł\ZZ$pQo*`P4+G8sB`d6ĶFe8<QD RS`;QVZ_꒷ 6k9-:3XxIIJ*9K렔2JyW^t/*BQS0:iE:̢>,[_ 8=>xD$N?T|qeⴠOnk"c|](Fw͒\ kᦦ|/F@RF7;` qmRX&-0{TrsVPcX36,]m[`z)UM3 NG(Uк-ةIg[roI+=Wyؽm9Ve'+4No+2ji2MWmz=evH'nub1`Ya SnaOvQWK!Q.>ބdIm ?˦QpD5aT5*ܧǐ 7(=@oTWN5bXrH@|EQeUbX30iiy wN · I) {j{K#|4׵f8|ϔ(>A#h`AFmIi̒KYM3a> ^Vuw8Ii^})=^c?T FTOOZR~$M ZI7~fyxTBk݌j(_yyBЁ_!_S^L~vvtpc5;~6m*/d A%~FD_?7ĎWX$:$^]𕠅 3?٦;tK/F4^[ɯв:uFJEΛv0` a$HL I?w? MW89b>nq_91e$DHn/,Z^M~h.~rO Ca}Co$)5I+s)(p,=p>of|xIH]tll*yi{Xrf3=S& LիYg,8x,.&,*܆hVicv=dMUQLAmɨλyq`KYG5An,,=^ʃ U uhdms ?&&뵶>p}ȶ= _ק̜}G]dj"l>7>]b5}(X(_X*E-?T_3WƪXt!G!6E,,tmñC|zf ! ⭥!VDD2{^aZ$}@ُX!ڀdխڝeUgoz)Ze_y#%;^'jd|DïvK?=g# lpn+dxF*;\I7ro0u@˷T,r hȏXX,K-9~/ODchj+L.u1߬<,pQK\N.v {0M_AvN=>~ !,?e ~o%F/n.J 4f6P6f7Iܑ# 53u5JH ],"AQ ARt%Vr/6YzߠW9IoH]! pr>qG^0̈́ ]a/B:jǽ}/yG30 K4x&hw^do1RtƔ3$3V&F_<&?, p%rO00Y4|0lAS7eFiLy?'$}QV^ijc.kFرriO1Ψ^_[Fpn|+qap,1=$F)3 mh)=٫@v@ފ`_f(^FvO߁Grnʘ[+4pi̻eVьOVm}``kn%h (F0rp#2X+C @ $co8s)ˌkMj`_߽ muDGx U'"%{GĪhR;;nvVj/Ο59!7>e ?8= ʡ u =eL vFS_`m:d}e1{ ^tGi ]O2cYzzR$ätP\/CǐóМsטvx["w$O谞SS!\)ʹ"ʐquO=s#kl$FVC%Vs.n./U+]WzLHn< D,t4 NcD ě e֥|K#jެ&+ϽüfYж8W,ƴ#y40!LC=)l5C`kZFQV#jEgcc _χSnX|Y:m I*aͦ~"9"a4&Ix+K=~4~:D6x @XCQjm]f9裷"y9Pft-"KζX`CS.Vpv}f[YYiYWusELYM djf*k3]^Q8@opEy162by89L<*憬QNi3uxsbW8锃!t#PnW5Ѧpd 4+Zh>'A1OADatNvcCrP$!NzbO3T߾Ut{07a%Ac+Lf{N<$BDhli6͟ctfo:F"bw|3(tU55waeU?5PмkuiBݫi,/ܭfX(&̩ـ?^@&-..WCOQ|aߊ8(ŕ{>pYJPX"Q iBW$KWK3p[IJnnv}jll_2[uŞ9xf#HjaK|6)P@΀Lc])) ]Cmo:ޒ6 b#^;40r*uauzCk{HΟ5_--qBVSIIQTk`%[Nləc*:l1k:^w`SD%hiLjσ 0w?˗>P;^D̚8۲fAK``~6vSngM~v`<;0^g;Xn!(>X$+re[$7y&3cCc]r=,#rGڒ7 7L~ܙ1Hׂao27f nܧb.:hyH mI1·`&#Pme¦ DnCWR4 ~hB=Ú "\+3;%hKϊ8Ji|?@A-)p/P]L z<JPSmIo/;6Y(QHdYh xR᭡%;u0Qp)+G?B £rpFϥY cl >PWFx+!/H=ʛO3<8?㪢sQcbӦgViSM\ib/tzk$bol8^դmFbחj-ƜȞz8 *0w^q/|4sZ5X g@vKՄ's|1O(/kD_]+‹d✛҆4epMl3n:GEaɪ>>f:o4|7i~N6wUٳ `񧿄%2^1o Ȍ@C0[i -5Z/rd (BQxʣvHpOQWDs "fކRge;0pIbc&"'ΤDv/O".tѝI/0cUZ̊(e\ +3Ć(;"lFP +w(I2w\QڍqG8ܦ셎s6-}噬b7$Gp!^-fq4 -0>}:7\^vĺ:EUQ[6_DC oq2) ϴZTEm6/߮F-dX9o;8ʟ:4[-p*v#hCBpH-V%goD*{JzNJsIH|W-f& (Vv\nvT$K)::%LߔGò#/Qv<q `vIJ-,9fN'#N6IOֹRɯktts_Z[>otcڠIr8я0ؗtdU~$'MRH~m,MXCǥI@cZIρY=Ԃ` S=tù^`mh W4ML0ul|+Ŵ@řvM02gSv^w8 `MZr9d'?:P1puA"( wT s_[IɯX¡DCj&\4ӝGW*xOE _nj&N&K2wD|ݍ4;$=l~'t`},ä$XHPŘ~53R+.X(`uN«?ϊAQ 'b\v}Wb;΍Tƻ}O 4v܊.ҚI 94_)Q0-vn Iѱ[ \3VcBq-뫋Oj&PNse[^IM_,@;Hﰳ VYAZZW94ȿ] Y]X IRACJn>V!lT,ciT^KZAihq%O;wFs0񡜾 }F}k)ޔf,E-Ɩ Orx~oL(Tv/&,گ0_xv5NbFc*Se`q3AsC <'~Z,x9BS<wh{?L`d炫S$e 8T8,wCcu&/J!@UHnrꂋE*N|68#@~@s-tA\w6>1W$}]SQ.LP;*=;qO[Ho+I]yNsvP*<5i*iDL)%4b׃[xHLXn͆s)֘uhin_b?Qo6>q[YG^Jr2ք+ }iG,f߆k9fcY˼,nP$DB#O9i9E</nphEeċpm|]G¡uiF;HK *ZϚlܢvmV(4!ǧ$ +GeR'EC W[`V\MD :exRYH|]US Mf= H|o!W[|UmflZSF1O9}D 'Hz^NzQ{8CV!:O>?>%HJi+~@@ƎlK1+k :Xd,>vlk0/Tzk# ֜Ad$ O 2BA=R}2+4G>%Sy¼#|=P=tOwk9\ 7xHP?IQ^8V~wŸ8߭bzawX]UXm6AX7ur],5*OCZuD&wt C+#ONs (&Zw\IfHOa˺`v]F|hVZ1R7zk-,oZX am}{aA6"3X2%![֒ +|1PuMuFHۙapSn0WVF:"-f2l-3O=DZQ(^1 8RĵF8^6]B.Ik.3 wo |7}uJٛzKvx 吇RܴGs-- EjcYa&yoSj0[atݓo[Z]tMiibm׽NҎknBgui QFܰ':I'zo,yClH)v 6v۾:LVBzгŽ(|a5/_nY"Tl Gq;)؄9HHr"hbL͉% 2F~Tr:Rq>$O6YUCp{ʢ+U@XaqTAI Yy4K0S%8 6ϰ=04˗YGOX5nEQs gR!3 pղwӳhRݑi?軮)Đ$8r Fbd ~.`'gkՓ/ZV\ɢ'CA^FpǑC}/ gq ~B,Kx4ٶ%˥Fi!{vjw - IB` U 55u dނ> 1:9Y) $,-b24VeP'78\[ $p̅1lT1ܒG;z%pjpɄtmhO#uQ%֧5-đgFΒJ$f>Js8B`b%mcd$q5FXQ2SL7hZ'f̀mڎb>S$W p:bɼV#C!E ,bq )֞UfӉw$'5f}3%ƩVag%^>xt}1il14+ŚP`lp~h&(|h3-/lDhas^`K ث!9|^N֮Ņ4kR߫1[Z#G dGs3K3z>Icqu*b[YkxU:r1vzRTXM-o_DOa=/3Z 95JʌjefI)YXy \HY];q]}\T5WgtN[m1<$WB)ƪa91k6"2/܃$C:Rgb8nxٛ6Q|qqPٿVc0D OǰCo۳GuIGx>\o5Uy׍DD:,|@;#.^aSw_mm2~D&#Jo=t)gуВxDu׺bUZ+P]u'"[LcV [nDz1P{KJ*ؙik pC%qFN}fEsPsjbx(X(xq>5G8ms,C~ tlAspW sn\#33ˬPA|.vձ_\Aab/{wAj[z;9wKǹ zTaUW-sj[_ӝS66!<|kի&e-`J3e &~M49$c:x&& *ä07" :eDE.i2AO ]2N o[ / @TBw!ËǜLpj g6`6]2pdj 4Tqt9YlҴ ?ph<_|CP9/Ϟ՚B?]<#0I*]1B0J|\jj0F JZ<-Lur@{nNBx\߮ 0wVj5 %c[xkX+قi0Ğ!w|wdkw IVy"M77n6vbVtvd]dS̮QpvK -OH,@[C(M<8C`#Ű R%@ c*Ja $2ED 'c!XvGU|xhz٧4Zߓc(yupn Izf;"u79K=4!%9p7l( ĶӋs$w oYVhݧdhq+5#y$-dv { B[«7>!yG$?;&B2?y]d hSHY0S1>PY`Iz4Bok<38Q K { ATh; ;]^$Ktԓbb}e*EdA^qږSx;LPˏt>%-?Qђr`V;R8ڑhv,ohR% q&aM@M.=٥>mXg1_ѸYF{؁etd}Vy!?cc|NBU֊jd<#Esf"Tp2> Ta<1p* Kdb"Ofmfle-pL$L]هa|]@j<aG][.TL&pɣlVJYMƚv 8`+d2ƛ\+ Pzj6 2H^u!sYf>W#YV yٟC?:yK1P-Q!Ai娩tOAMtHq zf I*pW!m" JaHOŨ_-ʦeXWѵ`\][wQ.HsPp7s;2 A.'D[.y>~*,W8q] U , ^mU;DKu{lzùRםnƧ [oeo-%ɸ4N=h +pDCnHMG3^gEQ;{S0x{fmBG*jϗʼs}dѸ.+hMAbetuuտM/}Au{USx랢!'otܚutYNM, ^sDhQr ΰ`\9Qm 4vOީ {_Sz:{ [C|V5LK[27 c'K8K˛rx."XRS#9 -!zqYV~L۟O hgpf=bA)z`nI_DITyYWw»Tqq(nЇJnl7`vm}F"pn<5Jhl$O.*Mj FU.We,v<Sv w dy9Ztz58 ?FܾGRL{t4!(Y8.TcZ%- FUezD\"38NZV[AL@* MLeNq*>Z^ >}KPM>ƛ3,W %Zl2khR5G>Dq`Nt84t5",S(Tmӟ9geQZQ/ sWE?dr$A sS!#+䏲`7t I5C#J~X )X_ot W6wlR R&UOՏ×m6Ec˽da#xW%.BȢݣ<>23.QT*fWkU0>B FŜ¨řP/RG4c?ִ!͎}"Fl]kuiEv~w)(Y<,6cl3v)DRY gemb&+_a(2 +o^9{uS,e7"hUrFغJq0?~#1ʃ ^ɰ4,RJ[!LƦ%556z1 T{Y,;V&߼x@E[$N;rBZE ?lH]L{4Ǯ'\t(f{&,WX :{:*Sw$촛ԒcAJ**˸3a G徧Sru|;gtV- -VB ދD!6:RW i$4}W( q+x_z;Y Q*o0J<-(<>xytgޠo.xpgm&d3sLwkެ+zmy[ISbي9W]5!oСBt֏4AhʆE"fcC2ኪ&Wʟܽ[oH.W~p},R[5*UhZ$Kd^"/{n/򞑑__Lb!^4 3.>_ފ|Z8u >^bHR9aG[zQ$xc4cK\IǪ/(dl% vema!qt  Iu!{Q !-["o\f;](Zsʒb$aTpQy};vihs}gM2}ʲϨ+P|\dmM_Jkd7KHF6(2&;Rw7&bR|2IWeK5 V+>y#U[fiѕ[WL(`G<chD4E@Cvn:[З t 2ZDV($=Aw|VS$' 1iuP 퇊lSc;)tvJz` WJ'0JkMp`tlS9zg[j>y^vȳ14cd$0[#ba!mX6=v{ }Dg;&BdM0/{_N5_8zډR>#XΞԈ!ۖ A#pĜ)RIhV(dUu w5]eI3ZUI|jhJrfzddztP]& (ftϗ<\)Ǧ'$.h#TT!stŶ|]GB{(Y EEZ(l9j_CI?{uō?NY~QH i23dTLOiGbHwLVxhLo#*>pO[mcSTK^5?amqҌ[Ld KFU@TMN[Wꛑ!H,,PP5๤m%n*b7&V#ÒKwC߁{ ]~;P&r{pU>떞yi``J6<6 *6y%Dk<9ZU˽8EޝUL b^@ӑ,x 2TPQܟ ~(/EUBV"2=3W#Ap} ^"GJ K~A-ym1;fN*qeZDMo?i9_]}"Yxs-Ow:GmF F+ >O>OZVǵi0=)Ni3 d00իۖ%yLM695O%[9 {[hrߦYOzweɝ"3> nۏ.[GЈ.%ZuRHًSs5?u.g *P]ӂ3S/&^ʆЬk 3LsJL*m!wa Cd̘_ü7@ EƸdj (ը@uD nob %nI"L2$*7dl9Ȓ]RD/#-ڱlhHBewndbGFIlWz(O.uCc}j̱;-R0rQSi7KׅfPE]4}`uNW#bcAyoϴkZ}Nz'e1\ cDR=#<cSlMK`o6W:M=eU殚-TtRњvnԬ* Uo6_TU>%`()V A1HƥI&Z3Tǀ~*\krA4hǾ?84'67dog~_:Gk=94Ш1 `O 2~oI2t8(9TL7 Y;xKEbFf8_pHs3= Y4z&KFw/.QE;mS6ml}Z:zz7mj{KH`a0[D`uv^Nty2B"bbb aXcJ|$/^7XHU #%PȱRSexeIHWtCxhv3ϭ=vD[lyC9'5ID*x;ToTnׂ |A1̡K5Ec{ڈ`3KBk(?G+]FfIlv&Ģ;:d_M͖(ݝhohLS1nև41(?JZ)bYCm wf估:@eYd+IEz PX뜻M9x'JȎ R.._3y,rL8 X;Vbe2Q5Włlͺ#ܩ@Tm&aaEݟ7żǾ>/$0j>US?E?pDň`lֹ)mf[6Mp"%v;x!AhH/W/Fؓ=LdgQoR$sM)8KmXsj$ ǒO( 8hI;ufÉ,o@Xz~Ά($b4es۬sh˟a \yfXJn 0"M)`ԅ,b\Al3qVMӢc"R9c"Vc' Z2S ǁkB.&w0/E@וcm*+Af?F0%.]9.*u^!SH_IDlAB ?/` 7mP}i xZE(ަVm\.r]Ȏȷrukt6v EWvG65Mj5#&ڬI#b݆腍8v(:.Ȉ;i_[$EAC9= ]Wؗ bғ.*jjR-Iŝh28 >AuT:? 5Y"OϚ^Un{3u/{d8ɻkJÑcUrc7o6^9԰D\YZK4bK= &X6d%+)ˉ [2R.5^" Ć\3cAL>m2Үm#dagcK ?tHonMTrsȋHd,<&]{d8 XGW),,P˺^^&0]QENֹI&' |.?F JձQ+$UӺh}F3QLߞ(g;SAyWr{,l,2vC=> 8yʶ:!PS M]ɦ0[`_yCG6c(U-*2[1|(gy8Ry8a!2f9у̸Y@v2cFop37Yx@Z_IQOgOdM#f x:gݧΑ=,-#HwWNPKݐeFxR>ծJz_M-OzUJCF8w?ΪuZ)g$e^ XzlLaSsr|v9zTLCKɾi_H%p@ڤk CIq\j:1PЈ|it;8>M%:!{T]5njKpc-Whq'A ; ?#gf84l%NxeM<-GLX^g:8_CX1]c%WɳWs-1Ϫ¨=7*A91kTWAF\OF0Q}7<IߨD-c3>vmT-XW#(q 9r:i Y:7)h[( }ml(fpL|n" fVaJ!<3x% jVmxTF.-Lz/QH0u'Lp"mycX?a W_sP¡%yĨcQfG&ym!^ 5;CA3CU%i29#SBAi6 pH碃=܎a0͐Pq50dp&Dr2DnWm*3"d5-!|&wOɏIO.Q hܭ]؄: +ZAˈ(o|-Xe}j%Eԅ[-/;߿lCQn,?:B^#wm~Ed:"" O uJ,Tes/^JBiMLϹHhf;CŋwPnpIF5_3 :(#Y*N-1ku.0D\|}1{WRUf6Mrƅ㗌濁EExVQUw  oqw7R ^ZHv}e5Af&)tCpհ[֓]?}8|K/I uz3n"OwA጑sr8&Sb Av8xyJ:r/y{ 0eM pk _VGs P e矧H;4=x"z$DŽ`gU2k$JhP}Di>&e ŽǦ:K:^B$igF#_U_,Tz-Wɵ./rdE\eԚEtaS\X^)Sgz>y^Sd_J5zA/*XoIl4$ʳ_jJ9qmaj.y /֐A8Y,2^HEMÑJ23BA+2th셯7 y|w\$}"G橠t5α .;xJ)QcX#qMSHȞx{_:ov]+f֔'Q}#^Dvƕd6GbL#6Ш:62PZ+uys$(-ND2ԕGBfy0/Q]-s۫&߁l77BO./|NAw(jW 6FenT0rQaJ)]p:v,kC F x {}slH#Ey>OGXb9:ϋ 3$_z=%'[jXJok]Y(4̋r;/6RVhߋ !*j^Zp ~]o^P]J6vZbbMr7߀A0m O^[06OAhlBs?}؋\]hW, 0ʛ̉4̉SiakS]?ZcY70VF2%iįA)QXn1_w%h㪊%BMOY5pZӅI ȑE3_mq ź633սGg(V1Z$-JgcEs9&7ɰ}Qt-7tu8 Α<"zػWt>n"72 6˨ik6 Z,̵XXEuλXP ]}/ Eb1bi>$exM{3iP4?u5@ dg+"DP`VJL<7Exa~=y d'Gv7Y/{_t# A64Ы]MV%?f~ 2mFPg{d;ҍ6o|tmd4Z,&%@f]ڻ/sZc@{[M8 <`D( L[> Tl^ˣ =d3W1f9x{:!a[/wsE'tVcB՞-Ki4y:-3 FLa o`^Vb#X06\/d sIא -|3K@[wEt6l%`qF;FVr}4Hu4(ؠ >T~^Nz,~F҃rGlwݠ-|2"T(W}[l, ط9zXF"B ̘bjXy3p5|jƐotxgw&-3+L@ݗ]gD29ҫ]7L#>A.B@`=Z#y>ʃGd  IO1ϛ=`(}4MCp*HooN+urK|$h/PTVT4ɥAb ČzCUpGD12S8pJ!<%fǁM8 8/>wTT~fEROͱ_dOAe 15cSVd*7`Lh&kK ɞ%P.>\t: '%H%A(QS>n0~ Q{+bVw@3QNĢ21kfxfC \ u9ذ( LZ?-mH_6h]ONDOg>ޭ>xMݞ|\o>]\֋ =/Ab~Y+U,&H^FR 䜯R̵gQʢ3i4,:)N%fLH37iz:גB 0 EC|'wȍ+< 3\UsH#@kbA^,L|w`M= (<Kϡ3ty%Zg1"$>9Naa/^dmj.vMOoA I.GH<'ű#Jk'J-j>d-nt\M2xdy/ dӳ\.FBa,ۣ/* 8 h DGك cP1AITm^;N;?LyI\|*g^\S}Liיɦ$gu34jT #FG^??zPFKvQT0SQG(9uxfsQZyo:c[1k* s>h8Kv䁴9`y'<0#O@^5c{MKJKۦy9/|z6S+£?/D /SC$b+Oym1>;? 瑴(ZyT8J\̦Z.4]~L \əl۝;S`޿cAZj G5d@=A,/#Yh$#W)W( t _C%p+WNhF#" =*A#k/jD "LM@h `iogH%fHA^d̮@k1;Ȍ:y푿v u6Vd_2_E$R,c0%@Qd(~"W&]Hˢ MO.<ꏋ^;CxB ܵIj&XwʮiY^Sxd}ԵIF&`Ayxdk]MWEu6A'0UlxufH H| I  *r_O/i^:Ǒ݆j;ķ-3NO0ϰ]t;B]N'GSdU03˧Ւ4';'䰭ڽ }!ob2ȓBHTbkx~^@%|=1 ' ֵ$78TNك@.A| `Ip =83~. ֐r=wP:kb0S&1_ A x*ڎ %GK*`Yu%`sF /W!)0ȏn ʨ4^wż;%wBW c"J-e4U}e ’/ kxr06E$[)CH78W؏( YXK]wIWl5NLH;:U|;2Mvfī2Hv m25WudvXƃ)ׇwo\ŷQNmIO7t|U䷜\/|(5]*6"U>Ŋ*hXޮ!ĸ3 +6Nw9>󬒽,(^0j”;w7>کXGyrmHB ZiYHqb-eQwؙ[RV8X|CQ~Ck4_ݸ,F5yؽ4·eN"R /.q3yЗ0W.t!ЕKBdbtnv! ]b3xKȧl|d2>Iq1e ji|Fo#v<|-. 5A-0]]/F)mD`br P FP3Y_ "¡SaCIxƂ$=[Y$^s(+UH3%4ܞf2Q[fy6r/-$ǁo^뾰o!*J3\~wtօl( uVX RkwLC6Ņ$B"\ )$NwRc|["T~ma{%&oSΊ.+uIO=o^9"H'{?8NBTȾgǾ*m\}S\JܨxܓP<~*GU1 6uxAZ?R8ФRXj uMK7/WX7> QhAU >Sx&T{ ɡDAH ð#xal5u;~~;'L}V7P&Yq7·7]T~)sH=7 x<ʨ߿|- PZq%Ad4T{=gMU!35U@C nzL:'UIWwgT3p"QBnME"V*Y=˭; ?;p },D\VS yJm#X`{O&î+vaB& ڞn7IC V6)Z:0s-\u,MAgMU͏(l;o}#cj\KTo\bjsҝm/f&$\rus:#5'D.Lc}}@а%} 5#l),߱Q1`; v~Wa؁]2~%AAU:MyѴBY\o 1(e _Rz~^!;|ioػ&a&cf7J_ؙCC%܄XKH+zWfőVw%Ovfp pܳte,'˖W 3U7?_5]s fГ/ 6!V޳VNxG'O \%4NXP~s jsK[q#Dfu ]̸|`GC̗PD$*7nI_0ddYHSWYS`{3 0![a~T(,JGJ4둰w+AFbbC2Oj`HJsz R̡Ax8 51hGb*N";o mVJH<7if*&<˂ md3]q݆DS E~܈ܼ X<5Q(~J. Cp]|m!to..d9{C?a1*Q8g DKiҒ.hҢ\q;=Sؖ"/8'Q|*kqG))\fw0b1,.;$ N]d ?&2ADĘ /p˜X#NTxd[ҎF*vv;sQ-=)9 /X~bn fdM[~Kk# 1ëU[\W0oEtY"O"|{#R'1{z3b:1cL J1m" \e1L%7% DzSAӢ쁋CßBe@M>POtͱ'%Oha|F?8=X"C W-ޖ=-7F N6jPñ*c2YXH"f0c?:b#̱Ԛ$zyй5 u="t"SG4Avu_B͉#Dnm,_{ǝTǐg<4dP #*wǎ\Yw <9cZd]K%#qwޞZj,6JrEŒ"j$hφ PXI`)|x`L#-|<4x(R7tcաh1|ey0zX*.q.alS(m0rB [X[uML$S7et`)Tzn7yT =>piڍ[4I2Vm a9 a =>h6!{| cn#Ic(Jnҏ9?d(,Ї#QC]Rªp} wt,YK; 4^#*f.Oja֟:_ֿ@ 2 h 踪bsAn=_|3 F.}_k ٯ x'+Xi.@FRXiQmQkj~>p ʇy Ie좑MB;PdXUC;'+`tj[5G٨g<º~^ګJ[9g^Y<$£qs,J/ZeEp6*n"G#nx,ȆTg ^ԝR!(hP.kmALAxQ-*;Mػ7 ;5 9 gJZ߉:8i3$& q6~[h8fH@as ˛4la(̡zMnT[ڤ/;NR8=w&4z}/@q{1NYQdq)E I:U>;3IeR Zp=l֗5݁;L)*YR|EUC3'R%^릚/!pg BJ)iK&I<7q<uk]ʺnfo3Kbr]b$yGr10\c qa&n"(CBq. h@|qZ ¶{ӱ5kg\|jj% uYUepa zsl+?ë4S=A^8/ʶ'#.Y̟p&t~stP0ɲ!uc2yJ䡮6 в- V0s\䓪zhK&ѱ9ݛO|*PrR<"rh2#^0;nc#rЁ < (=<hZJKfmw? w30VZRGIW`vI@z+r1Y%lεivvs؞tbKzj7Ox(4b.>{-i`[q-\8<Ѷº)V[SVa"0ؼgDl r3e1xNpEv.:/ BUX^e y0RΩG RtzNowkeR㻣V&A3J}˺- _Q<.H}$ym%G֋9g("zUGҾr$M\0/JRd_ۏpX*=D@4& I20]o"}Y֤\[LI8a&;39:3BJ.&S*,jb7«J=ǖe92[ 1t{<-ϙ*IMW=FxpKzeUat `.H_w ()cKi3?ͮ|(n0)Mu&mYE&rފ?Hk44u|U 멊e͘ kJn߆4c*M(e]7EKw2V"KNjspH6MfRh!7Sa_3  РfLvnRV̈́:qz̿'OS{׭ ;D@E;Xmӵnvr5n:tJ y(ig%Phg?Tͽ5hiƿͩ\(iGXd;[*sR VM,Q!B`lEWcˍL柢Q-sD 6&yF\/)'_huñ{QGj\JhIacEԣIZ422@15p*:ɂqm9X̌{mh[z8Lɯaup@X# w(oPGme `1 =(»QA&}T$T#g3e[tݘs8 lT4Y$"nr"6BXE"بJ)0`:y}WLD\lXL*L_lPY<'+B##L[ű˶8ֶwO" P7Ь@`'wt hXq؁Q lDBQ/E42tñ6 #s\(̴MOSʵu"ߠ5д2 ɫE\|Fy(騏=l ^#pS`DYP^tzO^Z0/{FkD"cۂ˪9۲NQ{Y|9L M+˪SH:4Qb.Ƣ^kX+L0Gz_裡!20 1-Bg/dXOR)q ⨼&y7W|U7Yyx"- >5lzW"ZxcwE-Vc Ծ7A&jX0GvFoa_h*"1-~av O r@QW2tq^S-rF^Uh%j-p`n<ļonc1%wC.g zb/HEнN~ݷk"Wx(?I4Ѩַu*Ѱqyy .ot ϊ~?s6/WhOj[ EnMn{;3 cDCHՖ! FC,1}zUq`ZP4Բ d>ܠ-H Ǿ0‡b! {j#yxushT33k(XV "+M_LtN "RG'Ge-mOnP!2/6 vaQ"5yC/.y믱o^AFWmz 0-f9^Ie!5g49F_wNn*umy~͜]7$ljXPtlyà;&Op ȬߚŒ wQu"'V}貦|fEJWQu1G#pAmz(q[EV}`džG(Ji?K56rKCy5sCS_ikc]*ø*]7mݥR-w~vHd2[O|Y".?,`jJ)Ym!q 1o%2T,D9)ϠPɢ:KJqb4x|+0gy*! JYTע{Csёxx)hZn 9z [m,$f 8p<&`?nZ YS=7>@c#m2b݈ǯKaQ!r;N*%nzFBvF/mySioh,ó.kj +Z1J!l\x`%$7]/[ C6 lXlahgED[ wZ;N,6U]6 2,UE*.Aw;A]tycqȞ}qa]5x5j/N8Hև3e9ՙj>(u^>=r/@6#5 j`x4CȴtoMi@[$.3z_saCEra9AIu{!xROU1]Q^E4;#+s<O8Gd={W`eD/GѺ.mQkGddm#z !zYwYInvx!6EuwĕEhRFCśTWn\4ligi NŜvVV7:-މ}zpLKAʣXy| ůG; MjP:N{l<{dC!`vNzZYG]̖~x)Co0R=%5}∭MP%M5MD?{[轋 iV<4|f϶dnJyN0CՏWX4nbliڰt!\CsJ}^>kC>wquXh;cU`M{R*Rew `9|z= ˄0Jbq5AzLSG7dXϷW? gت 8x8;A-"$"*uab8'|&sJ >iq̎s,-|)$xFl?3,m !"ݔ\3B19قB0+AW)wl_dBE xD-S?Еe]?mSJ$h؋h|iqGT0լlmwnj/Ļ5pJڧ͇$j9,P^+|}, s_X[NϏ`T ҄FyF#,cJJlLp%CdkEi]%յp_8mX:gQsD*_e~m{.KhYm#i_GBɵ[/wr7nᱎu*+R? !k#,LVo$~RG+@"5:c6m49c±O|:Ӟ8b5,D< ="G &o?or$ 2)qE+f>!͓Ljhq.5oN`\<41sIxqphwg#}Ճ@DFxyN JБ#ɛu|σ.z> ]\G}dLmmo5(b3>$g.8  h;-oLj{С+[ |yndž*P!Mlq"14ݐm˦;*@^FpR=B'C,- /=](&Ӥ׷tWspʘɜ KF~$na}9;bxؒ Yh3Ҟț>Vڹ\4޲\ŅΈ,_n1'GTZ8t5R4[WZkeYA,o&ZdV9/mIzC %C 4~Xg!# ;F&PAhBGZ{%<-@zrntS`8 eE洌7O= sl(QJguTv7"ۆ1 dsF!4x~k XCg ]}QBDjiR Bʕyatxe&XjgAaّ~H8hirgAj蹤Z-y,A7e_+T諟E~uO7`@XH0-#eK,Ens$3+I8x衑)!4mϓWCFdXl_bpD cʋ, kOx&v}hr-/Mc-HT a3-Ц=ܮȳ]w2>U@ۊ=h_4u|/ (18'J( 7a(̷ǀÔe+ m}?4J͒j';5fjY"r_" ༾QbWQKّ'Շ}dv&TWd91 FŅ */ "dRIO*-r'?*;gKij3p7"a$vDAh{P?65SM->ɰ,1 Y{|FBp+C>vx1 ǂ&~$qևcR`$)I :fPhAWPH;` B3&QWu"\h>U;:dA pɼ"L{fφ<oEHMϴw%պiE^yuSH%Ř@dJ3>l\`r RfOV9@spI/#Č27"ezM ln{HT8gS{pg(p8sXQe}O4A'O1%,7 Xx't9{;ԻaApVnq6tH]O""xr Ysͷնj y/*nyѻZN2ST8 e1l1\zCԳ) =gx c_#ځc A -Ba.7z=0>Cռj>Ϙdlb$y Yj ͧ2_YUm<"AxcS4^"Um_5)@LkDEp5JϬ8g9p!5Al @}0xNEҢ#ь駣Z`j 2 k` . "yW3Pjy/]03BDA@fpd #/C+U}(`\[hE*dѕ<6lUr]vy8`1Q[(R|8qb9Aޝ9̧|БnY[N" }(.U#VgG=/~x,Hg@T:D#;+"2̯n/o.$JєVZTΉVR̹&j|*7ԫ<@t?j=D`vY>ܴBz*RIH|"+4< !0vK`۔k2eSS607e6KZ>H]!G#g97G>}YP:4RCگ1 * ۹ng=lz<6#tE' ȾFD{,es6 @Wî+vav¿;9ߤ тau%"Ut-t>(>4 k]t;YOQIQ"]N H>'A,EEk0@cB hf Z%Ŗ[q \"0U+!b 8(vtDCql:+ \='XO_7& ˗ވ`on쥙 ADeA;0Fx!KhᕥKrTLs$ߐaD6/*y}bLdDͦ.Zb*'xX[ZxDK:x@xW| [-ٕ-_g $iJnsԴK5MSy %S3/-G0piu164 8al(BE6cI~b ěA. ƮK"|~א` ·i;*1L)TN-7h`Pi޽‡'RR[ 0U*!hr DC,7UȻ*!H^>ko%=g@5f@byFSm(a3פ/ovczGEȪ(Pwv)ɭ鉭YM6߿LJ4X.DEFsfW8vK\hܙJr7qX %f{瞶-h1ZJSUaB˚1.+ޑeE|jwtc^ɖqNnH8 G̚ =:SsHs[nqvV=ZwlFAH`ᣣ]h;%*vE`gǏ()f5qD,?ַjv9-x@$@4_) B_yaCi*p/wk 4_-{U0'/*HY/w,"aq\X0\`!`0i) b[cKv<=5 Ȣ+_Nd3i)#-c5˰uIIw׎n9M]PqPxU]6cHe dܔPxCnެ0 M[{ѱ]z|^.낙t6踛:$|OcӾY5y$7TjmC.4S~#pR1\- }^_CgEp7#>q!K&v_r j\^vd*MEtf| SŞQX޴nȓ眦pIFw{: >%w*n2zݱ%h rY8Io %CD,8bI)8+铉Sy"60ӜxO뎌s[Ɲ7dN-nI߾tnK#TUr#!,ָz|_fey[l!{T!"zЅLQ' &ں9ȼ`̨J$> cHI}Ғ"GDᧃ <\9gūH(pX6~1S o~$퇰0A['gDӝE"獺)7hFp]tQ.QRT*OՈ.duIQ_9T|-{ΞTJuzbu}߮kuLA[r;SܑVP͙ӫfrמѝIo|XUWIUr˼XP iy6(|)TYz˂̧/ȜMuYΚG~@3. GcSV!}j*o%n{Cñ%םߦlUTY(XZDY6+@1"#R>9 K cu +p rA=q0s躱,3aNn4g:ɻ"%l鈮 0ݱe^pN_)]/ͳ9 I"q@eV۪9 /*.NŦ:.zMgf [@NI1ˠǞ$֦čQqR:I<<"9_Zk}(, +a`IR:3CW})l*Ŷ SujGSkJ l-j)'}Yuo^A"_hkzq%:m n?5;Ǝ͇d=]uC$sd٘(qwFS (2oErK!_tN<{J@n6K'O&U}uTVBA;g8?Nmt83|tK;VNi?5A6BN2X֙eF}2p9vODzҴ?F6؂''+nʛnU*]UcPCkw"sc`*'j+nM{Fg6? "?~9|ѯ4Wn44 {@Ne&φi1/^KK<v~3)?y9I?9Jl.]BN*:]h%1`Bz|jXA"&beɞħG1r>LƑˉh@8hUSZqg p6b85h nzҙy{>3C|7Yx:$.$0Gha켒?J81@gN6-+l,8y]D$%1tj5n6Y5RO]12&̫~RNjőZDet-#rtd{l^^;mGyk@Bژ&@h0TZO@Z7IքMnJbv 49H^Q V0(qeN*#ŢVNBOmaى] V;vJvJTX(fp>'UO65_Q(up/#_79M|9`?4^Wd!IP"k `۶i|ZA~lxb~'>}'>A,1rvo_Β+Zr2ǖ['2XwQ^*N -Eݐwo7<I+[U-*=<{xR9+yߩIPfLOm9t`yGZjjI+?,LCYjt*W[@ "TeѯzO`1`8 lH#ώvWgQO7FbgGDm6͸+A-Tf)*U*=ڭ";J&_3vӖN*daӢfIF '\Ϛ[Ith5 >=_kkE :x Qš^@GVNq=Ь֧t<@s`_ ?)VB+py" ( Xe4dg\x@w w KkQ&:h zIƃ9?TeDha\ 2cͿ7-ykoȖ6W@>=g=e|iKdf0hPUXUŒs>1E>k}պTqJ`'4~aT/ˢ6ԺDRr3ù 3&'u%flU5x[)VSǚ~˚p~`7+_<9\l@{pr} ~#` _hRC P™6 kCƫ {q]=Nʥ;Dg-`(peYYFz9{IJZ,!zHL[Ψa~EvTww[cdyPT򶚓_ dVc2v lVg3EL|yl,Fpo]lBu§o?Te!UD#-~QíhqI8~33-[N#,_߉#aי(fiw{̤Jet-wiy,]"~MzwG?h=DHw{1 oLѡc 1VɗSnn52m>Q#p.ifWK\ nBh]} D@5V^=Qm訶uĭ]K4 2F1-3A}_yAdfKP=-pV.]܋BlAMN E(/\o|[D]'g\ bXAQG!(=ArWbx235*(suXC_Btkwo(Ú-|ae2N4eIwYшlu]h`ɥI6‹/L,E&8Q# \j8hY̶8n:ȠS헎/yB QoG " -ᶹn\X42>9* bXhշ?g1&r6sw1`9l֎3aEcQmo'x6w#)n&PtPf n!%7ȹ{I~E3յ>6jyS!!]]A۽PSqB1D: 8>#[– k`]S%} c![eqi!a8dbk8"@)peL(hgP !"T4X23#7CXӯjCc jOgD 0R SB ]]\Ϛm^+~ճwS.D \0aYC#LZhP&ɇtB[_wSr=%Kx U<'`Gecה7Κc7/TH*#ZH.줰)y^"9>4 #1'B擭_N.wHy|ķĩQtd)I?]y$NiFˉot/{Hwk=1*w0%p`-9E+ku^zG.='?ݜQ;(4m 4 p /`]@9MV4{djoz;21"6szۏNEѤ~kuE40E?Jҿ 7)+E=QpTF8^z# ۟ɎLYHSF?9X\FAr1|c/i_!Odh ,Ff?wӖuEVm!N]iWkab:#0&4^筃,T"IF%3(k2l7%]lz.gDS Ng2Ko=+m8T,˦̩Iw*`C p%a&DBD] *9NnO6+ ᑡr MaiЁ$% !IΒ%?C;dd[d<!o}Y;&%CHfM75/ţQ;ѷL Ah6nj鍃EB}P bXjI xK:>.VTm"\vАc4iD%u\I=LЪfeFqcNlc7rM)X{dQZBA5vygz=eh]F1]Fι)01$̔Mq^HD'F0g,i&>瀼YPV79h7T\yY[7 Jlr2jnKOK0;,I'b( i,ꥄ]niѸ4hQL^oPܗitUItC䣖VZ}"1XLȊ5_gW4h`2mxHN:{5e4FF3 [= p%(KЅ33{*N,yUF ߕfNDN(lSfzY6;>~7L [%]p64'<эJuu8gv^=M]iQIə69=KRj]gDPϝSY ݟ,T9.C8➀CM 5")+@U<^2E5(s3Д SMȿEy(1ٸ $ܟtKÁw2wϬSBx3@7Ն# ϣZ to{Y?PW /C+#ͧQ?Rp{ 1Ia &."v['Gi_d/*+2= b]d8,X {TZj|l>f_z_7Bb{x3T" H*vJ?/ EԞ$›v+}=F㻒q\ A- Jn/47Ml>0"[I㒴JVAµY7WoR[?~J rO`EqNvb`1~G:$\c"aroOn_R'x 1 uAt$9$hPLuO\^`hn='pM@}S2LrA|@W:9y&4zx`XLr abJėQ݂,o ެꪧ,լ׿hM6Hzeg bAX%{,z!MAqVmn|M*ALHMキ88& UTQB&Ѭɷ(+$tVdExyuh^Q 9|90܅;4TCWhxП00DJ cČa {]`郰MK-,{^1߷K?a:]2EEyui^u) dmMtf4p7h.OD/ c(!ر}<;V?"x(0T^ V>(z׌\)^),Aʅ=Y .6c b?B_@eiWEw;QhsXI2I]yǃP]_9 }zxc^rgFxC!*+̢d0"w] @d`:ID>õhب߂ȃ BRr*!e{mda0'_ڶPVtȂ[k뼹اVl1w rᗤK(a@[ '+6 I㮔7E-6sҧQr.NevְC7=oQCP8˒0mHL*9i}3KCzE?xTPOzJ6\qr|L fH܎Hz I|iQcJ/~$Ϗ5C/GGcSG5h, ۂ,lWUg{0Jo^FB柗iWn =r2=+Wn}]n;Wf|Y.ϯٖo>c뚜n+T+͡a(µ^ɂm& ӭO3pwg߷q߹9+Ԭ|̀pUMSs0]X59h|,׾ 7ظw`c曇f]Stzjԡ*\fE+, DG]guG7p'i7!k Y,/ɰ #&Ѳj/6ƮEܻB,@/Y!JBhӈE!'DzhЋ0]@aE NE)P'3!fab/jC 9(+/v5_;S퓥e[kx )ȃPKÇ"C&HP\@3K?, I<u7n/~x5GEqkL- `^|r6n 6!՟ 0.[$Qu򰊡sNJBe5G(h?*:mųu'+ )3D=L"q5Y3h^FbKǀ"e[zER OOFX8\|1U{q<6H̪;i)ży4٦?7+»QRRe˷|xI":{h!$ehq8ʅ)І.׋ ?B .1SA&䧹j*tӯ~HWk1Ä́Jϳpgeђw0T'S< L=:F$ XG5ᰥmL0RZ`V $^D=FqG8\64IJ˅đ 4=>b\66`ah%d荗i[8[AX߉_6.ŃiA4Kx^{!Ƶ1SsCqsD,*+ G{D٪>Dn;47!eN{j9jL r 4QEF7yCULԎk9aqT!h,V4 =?]~8poGbkr?BltxL=,| a T,0c~5?BPX q cJqp@Eq'= '$"#PNUqk\[&o<68߬ǤZlDCX6O.w 7OUPȪ)ˁ9q' /+ FX_!s{`hlb ܏&3ٔQl93XZVɔF1\Gs j<]@eP+:t"AEU 7Dp?EB.5H{))Injr4)rK; ;=}v2&+P Op PJcupTBLSՎ??4bk.-}!~.UpwKO\ݱx𕒛 aKP'"D,a6e`С:{a6R†p22R3\dŌ%C! (OԔ\Ix׼82]`n6a]7FhT$4^62I_qJE ŦmE '-k7mEN#ïڏҮ~J< ܑoB02x18e84%2I%=xX =7Ny(RݣE@++%Qm9G*~-X΄z#!֠C,00Gzѷ51HpyQn))$S:0$ESi b3XqHXlئZ,N1QhL1tg1WeQ1# mWXZ pXdc}&ǁ/4 OL#ʪo{ļIqޘ_T+*{;;4ǏIĒgLjh,T$y{ 3Ev[%ڮ͏Zޏ6SObnο阪>'h_xW(A|Xx8 5"Xurj֠1=f%* rIfQ#adk*.>єg>BuyMiQ`ڤ_,jX 49ȱP!=.>RQzA"u0l%K%Ps%\HU,Aw sRXDM_=_!? 2Te[&Cd=|-,? =ܐwg/}sG M+47-| ;fb짱; ކ\Xa9Y}MuPNn櫮H,R_3? :/f,LvT*{i̇Gw&0Om(R 3!Yo |א 7{ԏx]Ts\#(i:0r ;-tL=$B6v)*Q11OA-{PBW󮜴D58;HW0cB< +k|E'>^f D߼z Xa0(=AVQ-veU9,kVO19PP巸) RXSƟW>uvx |-9K蟾}ylJ01P7jӕS6'oU,zHCwpad.4.N'G=C^ 'P'BуۛvTP=Tmop۟:\eJ{-Y$+6tdWfdۗY2_fJ+g(`Kq"I&]z79fd*5f(uY:ԁ |.P!7yn*dK9ǵxl~p Hb_-x7Z.+*Ӧ%&m4BFTb˦ޜSk7£Pm2:$+^k]|#sG% t!D8¤ckxE ,o DHu>Y` r#F"&r0㛧# 7eG95<߶G`)rW?;2(Y29@ Vioⓓs< ^ץ"|(6L8_Q:] TDclG'tʍ9=q${hYO!lӉi%+\`;Ji$B7D.E-}λko5覧L#0طe9WC߃piwYXsVJg L=wP&x9)t<%ddw<Odbm_]JW*g b7ܻC{;׫z}w 6vɰxe]ӵkWL]bVK4>No5A#lt!M"BR`roh1j9R1Iis`.3j̷36=3jtK  M԰w6(ɛJ+{1kQq。1BV"ӂ&`Hϖ=Լߑ؍$_pdg"Pފ8T9k&Qj0co^ ԯͫHU 11qE8r %57T: oT,8 : N tq6R :B1Ӝ5LI9oR"a E"ʎF,m+^A#|Y^C{χx$ OisTQ:CT4pn[VX{4E~w,Kr=|]bŭNW⡺7L@yi6S.[eJW''A[ "{PA|:4p77lqтIt=HQ˻ gr=Rgn:U99o2N΋;RHߑ<@A;,kcZAJTe,+>pӟA+''PHN̺8:V^ bMJًWO7OIv1pr$<ݑW[َcH cr}JҴϠBuV!~QmgDVIRV̹f,׹=Bc&sV;A*mnM=;r'}&Ϻ,1B<m@}bt ɬYYeYϟ)Mcetv{==`YDZ`X%.)0&6,_/LghyNGXM M2e0d/+Qy_hx`e{jpV d-UTYAA:s)?|tI O9H JuuB_s_LzBS9*`rNK*AL{.ѺصP{ &pjK"ιI|KA1TE2 (] [)Ejf ߨ<"] D#J(`B|ábJ=Q32H_ЌSnCQioYM`E`3MQm}V#usn<ƽ$%ǻ0|ŘP]>p]gdRїHoiZz/3uR8ҜXA10jݽQ]鲠S keWyFe㏸%=}xڴ,׫I艮<;%gR$};#m Rama(W@2a DtOMhq~#EDqQqW!8^;,?mh$z-<`튿 ?MY:R}NX]6GQ4)W} 昜-!,]Gm%ܹ vR05iMu{c-U0ym$"&OX>kʨ~Z$x&;, cKp_}= y̳3p~mO;(+`W-+o&3 "og;W}xdR*,UL}{l F2?[5p$$7yxH m xtcr)jCc53a< D(}hjw;KÂVguܩ(y𦏅<zZN ^XyYgJC9M.*ɨ%ƳKuRZsY5's;uMY`I iɺ) =MrzbfJ42kXOJ=]S 4aGK! h΍֝/2ᢨ>.pA9אIxwz:.d64oxLfEO(ʲp/ÿ#QENjw!=u\ŕLϊ%P:.ØylwqId弹]19Q&>7<݃4{^e|&?tmro4PC'>;ArtB\Ug^7=brwNȡ.Uw D+ySG/ꬬԬ-f tcRCZNukm,ؤawP~w{8U9ˏZjyvMQ!5C?S՟S; PC8`g!+\EG3i*uKeVɚrܣvb:(?d`Nq@Cy~C,~ bp|ᵜB:^3 Q {upFZajK1\_{/T S/|tn+]/'?0[dKyDn"$lj }4^G 8c6@Z.s2V"wD:[m -,Ck?po=Ph/yn Y%Dro!]gWi3`uۮVڑhpamI Iw6B 0NɄ!i`r.[9!QںDEeqBQތQ@+Fe1xٸ#m7)OIcgQW)?rT]>sqΟ O͖,b̗d׀+&`x7yuKՁtcRM6ԕBR!VO)L:'BvopEghϝ3e+I@pz$NŃ:c1kG2Oڽ ;/\?X`fl6/'s>{#]%pZN7~k:)[PDї lUَ082{a8$< )X'gӐ]OG'd!lpݱl]TGqm5+_d] U]=יO PA#0UqI?ҁ&Wh/pkVG2ŏw~ mSPvᐣu @ػ,qR4HxV~.mi)YwSWƲ~'@$n )ٜF#F=A0V\Yz[Wy#XߦwtQI"pq]ɷg>gf:H׿(~u:@_Z}쾭ٜM5cN#Px";O~)xALzdxQ]A+HVKKHʱ\&g!O8fJy˔=:.E3oI8q&%eod@k%YS>"36]E??S N(h49~R͂W{xV)?no!Kh]n+|C~JBy"jOXcՄkjZ`S|@$ۡ{YxlݐT"c59CQ(44Bs>kM2(%=Ev3g $KTǴ[o4-C#yEMd}^27&4N=_cސ_njeSY4Y.pw·BCpo)@CR}w%qniY[nEHXDpe&ZEtsuٟ{/?G'd_Y~\.9ٔ$o4ьhr "~fl Lٳ*DsDESSCJOCWH81zpJU`| 9$o6u0DWO5슐pM{J@-`Q8gИ"3;e]? e F;H 0+V}H* ɫ79~=\&WzxشРJH,Ɓhsw={jCptĬldnZ9pWIgD70Vщ{JFsЇHNMcTE_IiWqAX F0^Bjξ{nC%spnc-(;^AMRtisNO~顱2]d~dˇBp`Hva<_ 0+Wfp)1[GH.ުwE^"JG H)b8tD4KIJӥg;.\R?nk(йfM;'̊7$J _GajlR03Rq?M$NF)jLBC$kJt:!`A^cSW\?|%NnBDkAYDRo(t TqGkqZVr'SDT\x?O!J\t9L:rn[)$Q1%5vNS<}uzӔ!<W{;kZ!~h0$CY@Cԯ@A|_ryj ?)J@ѬmN#D<"^V2Hǂ6Sa- (M@R }5<; KcȔY2= jR^P[] XǘVծW5(ou_tM{>;ޯ?yi857`?0M4k،1Īz'Ջ-ˉ+'s) v0$gi0m]FCp˴2xu MUُ뛠uuVFeD.;aȚMss*[b} N0P»ލDmAmw;"qy5P] df-4C E d_ϳ/58[<$k v( $ꒊB *B +Q9a6,l@k`8yʞ2'GET'W޻EXܔ'G^}1Ԧ"Oi "޺ WssG`'" h.*WP2h_`aPQɏ5 QSu)#pA?*i._G'4游=_˔\QF_(đuW5:H-FISZn|8(sevUn?vDuH(mmU@VvMB`(iWL&{i!!G> G7 6.u*BsP1%{ <#!x<|D15qC0+!)Dˎ&(f3"#uRC/%>'5qi𕰥VP\%,&%bF`Sv{Kzbo ȺpSjry3:&[F7UhVYץ /?-< qn*#JU@ÞMnw6_T9d3ƥ Qi:8#0*T:m:}{N<ۆn: = "9/.vZ^?gaͶ;a oN3_}MGnȧ;}0A *- (ZSb}~j4sOx覘beŠnd*F_nrH3%&bݱή˳ =7tš#a_ĉ&R"kPF.   $*}>'c*˞FXX⡺敒$*OT1-BfW7b%1 /H3ͭó8p:ND4^<&é;mx8diCrrDħ:UMNɸKRRqN_y˯ y}2.3C1P1ƉjɽSU L5^I/Ю)0B-+xMMϴ{<:e<^"-R3~-kJϢ68%1tg$"6 t:-utjD`z~ yCqp޿ُ|1kwAĵ+p%5 t0qJ[5dEcpGZiqB'h]rb68ǻClM ~sN+TٲI _# *Ûy>mz_>.$<֞ j!*.z,Xd* BAK^A;HHfMD<0ΐh B +ԉ5C4`qWl% n4f:ؓ~+^c(Ҋk}qx?#p 8@SqXl˲e$,2R0d@ϒ.t4 "'›!}V=s|y57v^1DPX*AadooD1'֓G= $@619&o=ՃMb`EmqZ<B>4"elDLpPԬuO̠1?S=~Nzr30?c1:|ZFM)rSz#jھr+WlRib#б$hU`]7:GW?>f㑝2<нbvӠ-Vo~GQq T|D!Z؈,*nhJv"aCi~3\ l~U_HC myd+FJt;/B\gE!v&H5@։7GʳEk ?$Sԕ+W2^#9GpiꪀwUl1`k:)6p/i6xlÊ3 \E]QPL$l*Wq5,VNH3rB!՞'qkm,VT*`ڞo\I0R{9܉@7's^eKsbZ:;?1%o'9ޔg*n<}i {,lp_y;8 N4oN~u^c(yMbk#7H?dFB姀wIO.D }#Y5"n qo LWCs_\d3t?)2/#A-<NS[bp 76̪jߋ:qi($:p% n@SV/-ɾ2-8d-զU;jD /( &>ڸpS3d4;ݖDr7?edP"ƓƘP<.>j'KC``C1P*R)_D>4B4SPOӓS (Jўz| ΛCa`i/'Qka'SNKRծDTj1P06> @t DaRLPCMe6S[hk0ŀ%tqF]1#M}D2%.敇bAj?}jbgl&"φ?oyo|M_UZx:4(뻬4ү=ˢzK LӋy3zI)vN}YQo S9+g:W $Z][tkTh:mLi>~%ԖP|ѿn}aɺ2X\&b__ϛG"`vjSNHxPdgtv^j R|3.(1q_%zڞh\׭XL򣨝YmGΦpjUBĮPMoaSa'o }@ܗ*&{}"?L+e9xm=ry5_WϧX\J}<9DCuLA/}.fWr&?A7ջz9_#=A={?yޱ8Guݫ6P)&bLHuU1_l_q=)~ٚ?vO!{jtCz3Zh=)I+eBl8v8oęepYӽףX5ϑT8&1ae~loo`˂ [ Ś*-vpR1y, +9;5 *3?teEOs7o:v:zέ/#J~u(o}.|xC~VTۼ- Kh;-=N0/^ jo22=\POۮ?l$;p_p"7!]>Fc5,3pMTܔSH /3Q;E~=KN2KoSN /c(k6] |م`1N{%PD>9&/fF !^O iÅ : E {‰#%+Z;h1Q=OD R'}M~zy|-U˫ty=1z l]Wbv zm'߲F]"V{`ɴ7ISBA|no|6+ ^U}/C'^3Hj~iQ*$U éIbNE1:$AìJb^ 0Nmz| c8N̩YkHٰT|4cضWk_ b!4o+juc% (N@~i!kGLLөw¬ i-YӪkB˺sIrS4[*C\v Y V/ߓqxm&i_fIcZz~$;Nlu_cYzYW㙠QcWKWT8ӓMۗjÁ$xϩ#PCbD~܍w3mcR쬤&!=XK:^oodE-J7∶xӏ>>a\ 2HU#t!/01*8ph%(Y6?bm7uZF5w]CDM]hƭӵ?D= K҄JEz$])={Ӧ+ {($);!>o$7f nšIjSo󭹒;6eH{+{&?@.| 8/|*=CE$b'03҅ =0t~vu>Ԙ'-w%H%Ȳk(e!xAhtrfxXAX^u.d/R∉8˪ t9_y$f JqaLȕUE?02Ph:^X(¯Bk$;`7F$9,2N jV ,SUvdSGq;r RfI}!$RP͝YePByuJ Uhɧ+}](9V|^~ }GfۮX+rDWV&=̦e%Wxw?ԇttȣZV-@իdfi1?x%NFd" .`wGzw)PaxUSMWbZmI۫>򚕡Q.CfԲVzHiJGu6:'E\>:oAHX,/9H.ExM7%j0ʿE(@=jb~,]qXvlYUdn*K4=@Λ]bk>ds Y&пϼY|oqVPj_ # úRZ^F-<,LP.@o"?9)E8|#{SǀqKZ(g)0ER,fퟋkSr9^ŜقJ[W]8FK7O'w,,*b) |VnAQcIn1fO|q}ִ. >H*|~cLTO Fr\\(fvYN\8'JPoȵJ6c.l_?__-:AW搝k}edz8W,_k֖k Y]a->O;\)x fGj0ɤ|Gس3nedT% t4(u]/FJBP#,(z\7OD}rVG̲` o@Yhyx=曯rTqLIn. \*F:#1' ILW!k҂u[}M3Ot5> mNS>b5D (:um̪ Nmm:$ GZp,bWg0s_hOb 1x [1ZD4mP${Q%q?ƕ1a|&Z͸EN +ƺi3c~盍|;˚%YY'GGtK-[v䋯G#U{s[ esgWc2K^Q\"bTMΌî;dw?zn4ZvAzh t3vNz}8]?/V!n?/k7fnb'x" /-7^#2Z-}J7 %%Ҹs" jqcddf_ePl/=k7nFo™겇*uO߈Rv?onx S3:RPu.LtKkκ>i{@>Q)Xj6wAeLH3a rhala^01 hV-O.xCzkRnr.gc`9`LCMғ>j>ȧ/$VXb *P\0 j5ەX1iYMzM9e28d6/hPt]l!}:ǨJ2p W8]ArXw%榪 "-o2bF3th}>ׂ̎L))/Ռ~ɗPq lqкb+g^Xa]\q-̾ef}DF@{&dOJ㡪Xm7P2x> E-kc}<?f/˫HRy/jYYs].&IR\-`$!EYYy@Y{~#u4[ku\t=_z#?vD+EK*f?~b=BٔMz9 'HgWoo1+XVMq sC}ɵ]>yEe!Ǔ07ϡi?)&ZdYJ^ձ,n.!@*ĝmq9q~]j'^_5[%ۄ:LuK@Cy9ojOĤLfɰ,o]ͦ~[ga|ZP09%=[[/:(*#Vi ./8OeaAWDܞR2]_,/Uk1?Mg܈)^;0H[CFj$U}m,qYPqƭ3(#U,O| kDAꥳ#XbZ`Q1yӀBX#ڿk#;EupςXLK.: F ;#,;,&Gwx!ۧZ.kA.A=%`Z>o}gYcSn);8,cMvpw!(m|u?xgBykm޲FS]e$_o/D0Qh5LދJtv|}L2@>6 7FpSSLBmA՘3X+pG6f9dF4L, ^|\׋խWDeʚG1(,@&*XЛ'nLAם 1=0貸7/OOz#]0(*,z0҇OH40גX,#"S xv6--)ʄy;i٥_P8Y]@AH?פ7$[h OO!}1){/$Fw;=ngTn\A_T7bǪ߉ T cɗ1 !BUUp)zC X;AMx8p|/xٔG`QJ r-_M*8P/j/ȓ< &&I0SYցү`O<]|5LW:e9n6? 3Ӿ[W'<&x6Wq-6̙h_:,_،\Rf@JeqAp 7ē(3mԓB]ع@V@-VKJCx%nͱto]){x)?ij@ߟ]zw V#"y{b[-!+9dF*5KMb“OlL͋ lRGsT{n4 %|-쁫EZ_)4p(ӽ{h*W9r*3$Ȓ$W%׿\H$ū$'9bzH񲸮'i\?]^~}zYxNPťN=7m~TR*b)]m`iS#jp؄O啎>,3_:2`LbM B96ȉ +z/zs6&^* (،6J{eTu&P 29C5cdxY2("tAEKЕ}挞mFU>~8)fw@4fqp?9BN^I6GE{Wr7,[Bw[>֧( zyW(YGjblUx}k #R\yc8d miC)EL}ZO+@rC5ӬQ -ǙHn '^u7Kхkx|0FOp&?ʃ"K7RXDl/xurFHJ*X- ܆5!IOUvFxoo(=w,*>DI_`_;a}4yVU$ K\H#Kb8SI1  59XVt@@{gg8j:ʡRK2 (06|$z>}"k$A1:}K~Dw9[t!Qހ&F1{#8r?/}~ wR)βT3: >S\ND8/Ŝ 8OJBd#1a-6X(*]}3*eΝo45)J'?RTn/GȑU`e ,FM-!Gs/S.IK|XW1R0XߪuHn0rIa&fp(iH9u]:R!Z~6C!1'zwГRY^d׌8>.z׀w;' }?M4 g|qC+*~I":^Ls-"iN0G hC HT~Ob!jB /R `0L@**C.-F,iVxṡvذ "(KdJ0R"9Ž} s?UhC>Sᘹ h>Nn_7E0[.>0&1؇k9((@qGcpm4 e+%cL A1Gi0 $D\9*c3 w m~^j@V<u]c$FvFIGB[z=G@qm6!+chgK!]x_޲2s3G&aɠ˽ʬi$ZTq˃F `[Yg;[lh8t,I5[˯iv#I\!7/ӡjCA`+d+FS '"u1j&o.6iAAH @|Zdm4E@<+`+ 4^Qa_`n|VqCϚdxWC* ptb`!Blzt'< mz.hԈNB')l+D*,5*AXkB-yo*rh*|VUdem!Q->jhLa`U*F^VcQUQ^ r/(qwwd5{~Y| T%t#@Gݎ\x縭 !11(-yqhwh,<0t봅efD/"6D[5ZQZi <IMQc\DtYhw4 HnM8*m&k}Ⲇ2ܿ3ұ؜={Wu**](õ%ߗ9fLM%H~M*u\i.INa(ڢ2xO%44}廍xaOv*C`*Cqfjw<C8]>`{3bR^KO\X;6+d, ~I- ˉ! g2MdVh5rc"Q5?5tc#7$Hљz3Ý?h׉L$&Q5aH$f${]'9 u˛DhD[ doT5|,~s]Fi#䓸A.QT_g2}9:9R_Ga^[gG`8{g"!FywgU&|D(Lc}4|$ٔO '<&WQ^`ПjnSm)lGsѬ ?vބ"WmG~D[Cɝ).΅t `(]LŮ~maP[3]H%ɀC@3x=WϠ},w#ǮӸ1b#'*°9RvIT*@!6J`!t딳ΕB{p14 ^DE gczBحS:Wj uC?c Bx-oR5v3.7Wdz9oz[zWeaqzV1eUasgCvK r뫑M,SL`o}wKt.Q೑CYG[p]YQPEihh ӗV<ϗ7\J*VIXgƺofOLAmN/ X1lq1b2,5fz4O[:x\VF=\jC݅ nqbt1`d47 !dK Ľ'ă%u.m֣|Mv=M8=Vl1Y(щ $-Z'2!-ՎW_yNB}¼=PɊ0"Kɲ GHTި( aTy=[yJhYP)ÇCr|b(@͆p XI;Ew8b g4$JP 7@Aƅ`Ӕs3ptG!(IFڐV-)en"܅Z)&)%NI'!z&7zoG-ձ$ofm\/|2mGCTnm0--l-™{aKS ĞEz$~ ?$sġ&hA>O:+߶/C %8!b8 wn:a;1^Ƣ V%b'E$KںV09?b3Ysŀ_(-1K>')thq/Ly լR("ɶO\ m"mPǒz^RN K,.=-2 -]&ܼxD|HaAuْ/'/LZ aFh6s1Nvy$2iBL 2Èrk26N0h,kـ[Y0/hޝ'tЪl5,×hV Cno7juk P{kQP[:wElfD D^ k75A] fFw[,El1tj!`U :' |iA3%7D;9y|"eL4,9L׋<=D̪]AҨV%;ϔE&Mx L(XTDRg9[$ 9\M Ӑz&.\dV1=\ѮZn#t˘v-x-!me7_,E'd(d#}3?'C' AJ[4pk*]{ZD_I|׫ \O =%$K |Q6gIvD#itĩtti>F-\:EeDu}̼T?[4@Qs_}j¿ 0VE~425-|B\ llHm:t!'y:=ڕ-`B"/@YOij 0LųrQNH pr{o&=i)Y`vMh?ST%2PsBD)+ߵ~rmJb]K-jAf޿FL]hT,d^}GeţuCIP2;F)cA3.AH`r :~S@E<]߇!q4tdhPge58E Y:Ǭ0 A#cq[صL Uw⚘(Ah;^XpgU, TnJz@Vv="&qtX%ɚ7AqK3*łlMɪZxgo2okd8_D?,Nċw5G9_v܄6]8\umQA}@﬽Y., qzHI"K꘶ۉvpP.A>cRW /iҞi:j ŗ~vTGRlz1$-5Tx|{GΤꎴ_) o ߺiIk{nZ~0J!\gdėh4P[WSRcsZ' B@ȀGhr+a'Rg>_vVE->p:cIU4j W$ Z>C gT6a:WGHЄe$+A6 "h"3.qҿyIL\ 1׾S&G٬5 qT|AL!N$c.Y+D%w8*f+xOA%{ JPG~ V:+Ch4ՠ_|=G_ϔoW Jb-fk"-̇5h9*Ptx v>lŬVhNv4+Q+m9>x,{)9<kcQ]1s+"v/Q][}&1UDL"2@落Xig B"N^3 n!bai#0/"'ΠFb,AFB.={}{^ItY0E"lK! &NnFMBDU :a֨lJWWbnNaWyE#R6^M.-j:EQ[BծwEgWY;D鈦C?,AM8҅"OkDubs%Y!?{%'#Fw%D-΢<Ś;2DY,Chq+QzHH'vE%T=*]!.֒as_uSIr/<.<{nʆ%fʻz|=SY>;p+X[RX9 |9Ddn"\&5±xfYNYx#zҰXϽUfǬKU[5?ȟG'n>kZY^}}'5 恣<_hr u%% twO~(exON{Kn7jp Y,A-y~sXqG9vzob6kµ%Ɉlnߟm$m /ute+R8;owr2*XZג+H⭨aWi|u>mi^(eTN$`=sxIO'V:+p++¾ݸ CCBvqv v9$"H sG.3`oyyLbg6<ygTW[;bɳ 1AK7`F onšOD |$} k$/V x}Qݳ_H7eK%RhGkAƼ8볚;m @ʎ5kuVJ_WMɠJAWLJ`9|8* feCHa]3q&F^Y8ыš]KG%NsԢ/n+ ?\к*EWv(ՙ@^c'}Bwe<00t 5UŹv voiX  :j̦!}Hy !Qs8߰ n 5vM =J M[#aBh]#'I@[aOOzkgDـtm~E=k S/8ںv\8bzUy0"bUW e.z"9_r̒;jAZ[t ~׹B,Xn;f'Cb"YW(%H-8kbov9c ,0$6Գ)'#11 9x<향&pQb ڋUevFvjwDSP (>de-እS|>>N:'ǽ6ٹN:tF0>l 4PB) CE^R^$"59fHrl~sYIWǭxI>tj_8UZ%~UI]&k]Ցe6] a=R 3"%[ LNt`? 5\Cu70&) B$ UJcxeB\|w}55u*NGFqq)pQ^+/JEgbk5Lq믓9J^5,-@q';# vBAbjeFiOEH!yͮf>CCljjqDᕟhCn{lr l~nC. 3I2ܢ1Fz(] 7[Y*y[vT [hGZS;^CنJXlZeKHHd MxwlIO@~rbO[p1! tap#)f4`n#\Ν1j,QPzU(rbS <&)~:Bv{d˷`,է 8jc+3t}be<y@UU4ŭ\UU_NןStxd0ϸ[G A2]+7lq3/B+]urgDsrf89Y EOቕ(IJZ/FCZ?rJ!KԸ-6+ڃ4F܋Nf޶=1G*TY6i+N J Ze#^zw;I& uH&o 6v>w]tͨl4p. zfM NJX n&Zm@H0Q_S]E,G*;"W 6M3ا6Ej-b*r;4@=B fX} qv{h(q'B[G=6qU)XE׶mx &gˮ@Pci )i5vz뼋͂/lr)i{v!ɪ0'qICeo;G8.H߿P ,ci=γTH<l[TC {`%xz+<ѰoۺXoHIMpʔB!_籯-&{jfQN1M fs3{'+ޅ929!,z#ϰKJ͒R;Fu~NkI<81n:jrOb  nS{!6}\pTwGwKo7 CA)"KI|ߠ"0u/҆>9Hj\Meܣw]xBp|h\5 }%!R$4M6iN[ޢ sǬ 67 .( nYsQB+A$Q"Cz(uq;BryZ~?YVr]R|3AR1e+NqIԩ`M_m*&of4Ӧ4G:'UD*&O,kƝs)# KƂ{rU KBG%_} WZ=r Pꛍ33#kNaq+ff#V֘l@$96X)4:B 0{k*>ζ_{czכj>'|?b-Z±ʻ,9a?1N88;$΁f-c \cCBI\ z$&V°{zCJZeqzjǎԁ0jq#ޜ`1|766QkjA DŽ?rw /aQe!0WO/`\5QRjvuBA *dI[=\ n.\犘/2 5Ma^$,p~! JE_8P.([P>5q>y@^oe%}"r>*xj"JR`޵>/e4>EZ1 9Zʎr0{d.1ucUXިMǥ=^L̻i5`$ bVc^淳lsGW]@%h3[.n7T-%!yQ cS(XL[kmAoĈ/Y*m3B X+;א]%?2aY43=H;"W3TrXcvin0o?ZPZ 4]LLi7fӿrs7F=, q:Ljm;dy0t:윏{2֎=s ~1ci(J-!Wdr6֘L_f) K O߃h3.6ۥ~QS '=aBg6IBzXkRYfI3^/G648[꽙4 ’Ai#E89IV42 $/9GC5ɋr]C@2Fs/kG&N ط,Nmߑܧ X)Xޚ#ՖOKAckiNvbD H Z%oM <{/ o;"7}ǔ ֆG1rȰO!~#Q곋hv>]uگ͚ѽM=j# D3|uf<1+IĒ6 7w>{﵁~`%}5 z3poSWIXgn(e\fE6zi v]^ʭɏZA _a>4sv٬gכk<{D 8hQ=aMhM\ItN}}]AZ@D.%n0i+ b4WqJOp`¢ 9[ד}_{C[^oV׽ zt`Aohvrۧj3U,kHh v`nFwt>8ko[xYw`z{1,ֳkgɏ).X@׾H{zu{#6U ,LcZD 5./栳F5 Y&q&&٧O45!fǁŮԮ"zq a> !>_D?iZO  ݟܺ)R΍gF =GQMo+;U0[)/j~Lu?޿ywS Sp<|(㠐ר}E "P 0s vĨnEWwQ0v1`7k*̟8_2Ǔt߾݋l90ҭ~ݒK<#\'З>߂ی.6/e,2\Ík2)'0Y8yqH&!)t ^mo C"+/cڈ Qx޲ Gɩ:="WY @}$a\WUYZ6!n)za]upqKS:I@~g_A԰  J57wXsTjT1&%>YVJ-Dhz/Bwy4UԺ tC%sc^~Mg_U$j Z {a*QIj!Q"XՍ9 UZa]*Tݴ MƈËI:C7.I" Qp%4 0Wyؘ]sۂǬݐH0hU+9Lħi>h!*\UIp_V6QPzћV`JK3Ф…WuV5]%"S8@YR;ƅc>5* n9&pŧ}%uӟa2ehS кʱauFooQM/WĪr6^>}6v_g2tXQ.D7GU_|NW98Zѕ)'ڗzzY~ר3KhśEwMBP&N#sCi10$Jq9$sONBqλ2x3b.F>6Bk_jhW/feEIHz([G" O"s$N<G8M!06ӶS>O]fVS;\Lip];sL4vٙvhd{R=քGJ4A\+e:Q{' i>EjDpȄ$9i ъcIT-Hg@}@eZB[wԟ_CKk3u@<w0&ّe|D QqUUX|LUNq, 6飋!vchx3NS0H1=i;Z^ݑk}<ۛ?z\`vba;(+ k}욘Gch'Gl#̈B~voG <&̞下DA <Ǡ  ZQEˢej%~n щ? WEſ~m nĆĚ^B /1?hH}yl$q=Qq|<狊goWt"T] UY$yh!>#fk5 gP<1ĺ3HѰg{t*FA;3.//9MҿRvP=G@8&߈mo ؔkUƈrĘׇ|zY~X&(/߉!#q=j̛Mnhaҁ!Z!*Z; V3bLA&(>|a4 @3ozu1@d E"ds@C`*gNQN[O}ʿL-'y&N"J{V/]ZG\yڴp-e5jZ$7CP 6zV*nt|̏9ucc6$h%1*2,.d l8)h^j <*a4|̊%`w4Wt7ÝG_1$mADߣWm{t(_^E?~$Eo#۷foØ+W%%.% )׸µ@ ymtk'uRsBߝTӆeJCPգ^5hrZ=ذFssvT;0(nG/񖷊qɞ˩$Fn= I4>i'K-nps Lm`/Y LcpSҔqe*!:,nSCyTfa(CґnKqV -2nO6<]$MuE,.#֫Lk~w!zG)ݓf;7 Ӓ[gxl-z?t(gl'QB䧤>8bG/Ԃʼn` c(Ccp՛**{B>Eu EVg1XGhՑ}iC!?1#F)va>GNӖVԆGK[m׌w4#Ѧ9&!s*z݊:In.>6xU͇d;J4Ьx5]Q;!(!|6ehyA‡<~N)1 &HҸ^SUqNy 4i j@2.*C3O\h&iݠƇ& 3*|VyFq"ouW VE*7v[EB(m\c*v-):KJ^-y _1߂@MtڝQ2gh^# Np [|]Q8f1*E䗪T1qjp"S ]PD IU=/;ыi@ͰTV"XeZ%:5Q҅'a nC[Y/[ok Wk%tɗ3D$G 2I!k`apΰ(r)*kZZu~ԵkE]nVÓvK7xy,7_Ԇű'*&mUjY Cf`Ȼ'>T*h=P+o !ڇU55vLXO' '%bv>2N09a.G2lq쎲Yf6= (j֨+7ȵUQ81dZm.<+ҟvseODI߄9xv*dVnՊix e!sF Ju({=hwAwLb5oCH5]l':Dϫ~߭sf mv}A?Yb3&j?NL ]|졨wi"5t>qb4.J: XO jXۙE>|FPfی7B*K|J(O$AVϳxB-WZR{$z7]U)OQ&6Mٛ܈ 8Bi0p XaKpZlÃ2+E0~DX3:Du0\ÊaX,vjJ^躙ֆq7Wsه+k#pv@'juF"l͘țyt>$\L9HjTœpz<}zo/S=tkk-+ ġ}J8m,mmpv9ZQ܎B0;DiQ$Ct!~Χ6 y=b$M{q߯eWU8Xs qs ƚ,۾{S* ecDyAہ?(oj4SswwO簒 ,q~>$q&moh9ē}UTe}6[{rCvuUL33dtaO&ȵ]R6"JvNB3U>)58dhSf=4Y蜬{v; V86buA6KvRE$1~OJXҰQO\[{(pD2]nX3,K%iS*؆|؎4XC6uim5<oF)?y3i^ق&-W.|B+a> OQI, hKZ! o-y7uC3eB0ǸQ#˟.fˁǴNL 7fO R뭶s382ϲDN;~h"?pܗ}qЇ1t9uipk{k G񞱰/e4~*thchA?Hpu7SB?͡(CUzlk; ÛctZx!ᱯ̔}S9CA 2N;¾ч67;>E>f.-8W259D8*1ܝX.C~a^JmJ1=EB|nb0T-ŵr4}hZjxWqy!@! cܳ0kp1!ABܨ 4]L}U5TvjsNB0nN9Y",*iVl? veD]GXOq e:H,K9NJC5dֺB̚:/[,6M&ڸGlR뜱i53RRs@tw8FAHʄIhU;CG}Q/yYh[A\L mQ5Ui.iTZ&YVGb(oIU+FG،nobA'mHxe nUA wD:>zKG+c?A=!boٿRʀYIUYH_1J5Gހ\=XHwR9~ce#D//hBC{t TD;tcV=}/ۧQO##\L&U6cMbdm;J/n[GG?]UObံ W=2뫝__KuGhO|ւl{5[u; 2PH?1ZџcddB$WQQȈ7HfHё?iZYz8{OCXQ}WYBAT14bi.vØ28gv3B<9Ux,i5|GXwA: tP+T|SFX7Fx^VUp<-WWIQ';D@q YQ^6 ͜aG؝T+ nlf8hi ~r" YJS•dرmg 6}[ҿrv3җ4*!=oTѬ`=Ww [t%*b0DXej'Qybr?Lm3@![RJ(?&.΅E"[ZRH»G!-f{ .aRas0#ڞs|Ft-؝AA#?#4_Mfh"r]:MQ(Uԑ|P#n݂] j $rUupXz3fNg"vzsTQ *n Κ߄[8 7~}ގ_tnivLor*V]Ɵ`\$YM^!/n:ݨxIC?1^'-E0A<1L/GMr5]oN#L&!h ޛ_o'+-&Y}e${noIf3Em 55_EAqQ*qgh:C\7fbȨ lGM15m, HB6 [VITeTYLnSXP0Gg Ԧbeh+P:(…"ulFo_n%vnad{d]%"ϯupI0l* #(\03@Wci0߄9}Aw=8 Jlr(z_uI+x+:iOg62$ˤp/w'`YU\Tؑ"4S 'B,EՖNw]a/hGMb^DOW_Wy":R˴Xf !(E |^/.mwfjo.ַwmtJ6(ٸR3gÚͪÒV8QIglSNHtO#(d_XT8z {5V!4~ g8Bgn:i̻ V yaIvC3t}9_eCE$(¢ '@{hq]nh܎GST"wqEnk)OP.>Gœ_BЭ]^M'+ﳯ2S2ٜ'?\Έ0a^ \7RzN--"ɶO8S;ᐣqqܝ|MB}{ 58-vUB ^$n7# 7 ?ٙQ |w#H6*}-=l7i&29)-G5A]\eGe $5|S; <-+<u[~ iUFyN  xsdvk 󹉜 y[[amo+gE{Vo1gEFsVZM,tbyނR?)?]}cKq21<1N}X}^ Y?,۰QgSqc%Vg+G2L׷(9Q]Wt4yp NJrЮߢ=*_m9Ŭ]wkꇧUl2g)KMQpaPqr4=xŭE+EYh+e5qam 4e\IO$ |-бm$:B6=l+U=`LUyayV5/w34FV+%7”$TNHf]C2L v93 YXEZ!jheO%nO$J\ȴn;*JTǠm3fѽe;C\T_tx X8`/u=燿\Y?!@k<9&Hh V~5B%L6Ԏޡ%gq\kRI m\6?^i`2t¥Ed1N^H^#rVȲϊE,`Ϣ;w85+䦀wWh|<<?߆MFyV7ͨoL,fT3@oJ(ߣ/Pg5oH#6m'2ڌSޟPUY PoU}isq7!?xh8 t'mnw(vؑs2FAR;;vߋ9'Jj(7Su>Prt }ձx8 1X#?)!U7n%,R{KUɈ1@[Po4F̧`Ђ ޿ mw]1ykSC(\j{"Ooy 1tD5bߤh4CXqe2QEGd6"S2}Q򜡪^*2~ sKc ea2}>}rǴ-ⷀ$lM_yn_~ [`[yzc/peG=m]Mo#:6:p-U}xF2Ch0?ȵZ fX}z9ЖPj{%+\[&VBvd _X& W,r= |͉!F|ː=)11aEVd-~ߺwWޱLׁ~ C#0]T3ĩ-]f@S%Fsnu[nR%sz@}hhY2x0n{h=]̧-ʢz,]7oM?څF<R8CmM\gtEWőx*vk1%x6kh26%̭M*c+5M+46A&)e-XJFǧv}l\/ o$@: ^hu]Ƴ~Ztpcc0* nz8?)F>,fg#z]9#2:(<=Tt0太UԸG9'cΛA3/('"ǐ_xz^%^%JA(*nЬ =iGgS_c73]s|PWLGeTse߹{dYs.L'j.6seNX+<CȝtE9hVGcum ݉4}Pz7QZo;C .r)VAjLa??J,ЧHULʳ2I3 wVXƒxVpx8nh)+I˕:t?){KKr3j"zRGCf'ԩ˯)X'm`ML=Goe^_-9y7{%kj {f⁤ng.Dp>fC)Yv,(沽B,P<Ɛ),̚% _=T1<ĭL>ʅ0 Rl\us*2?st3 x -E`otOqSaܮJgi Va# hE= !p_F$^.Wftשn*&_lE<83S=2=^gJ, HYz8ҿl4$XsY buGfê:07#`@X%xFi9:L` "|S4·I6|;zT 7F&@OlTX#p:ͼ[e~g ҄ R3S4S S%I m]$7ˠPs& vLP`md3ǖ`{ fA0_6*[UOS;aX D mxWqyVk1Q;nZ6 ӛ~`3]XmhWf2Z v݉S`r;fqm6^:uyVDba+ʣc5=MrF?+R4 yZ`LT8gdqtp3ͼⱄ;Bd0NɊGtT3A8tz}/VBwoZIEͮU) Y1ϔaW,[iv$y2- 3=p%qfIy7sU'+ol^/s S=j^ӔRB.-o~ eD?v172OdnY?/nsziEpmF?oU% )ҋMr0h,(+: Iv{E%"lߐD+uXԫzꤻa3I$ɦ񪿄bھl?4͚Rs;>aL7,Bg >]u*Q$"PryK'eɌ˿hvc`G.5ؿ!vú h9!o <._~ 0 lO$PQG䪄sDR]{Q.p,0Rl1CGh vfٸEݸGymu;izF:{gxu\kfnGQr`BgQ # T>a>yC7*=Pp^kӭw_Mέ؆L)l2Qznhbn֨/n~DͦlBHrK;S9Tn~%DfC\k4u;b G Fl^t|"W/. #As opGq 88ލ@,*/ؚ(͖MhzLf%oԘR,Zv-V4G|KŰ1jj0~;=wz |wN<ʊ&Lp%b]PCr4@,h?jfbaU3>D"sN( c@,z*T' IK Qw&d=!'ċܠ56xBtdas!`Uir6mb&i}LSjS1ݝ'o%MO'o0Q:|A}˧@uS?yu]Q.a鿩QnH϶Z1m"Z%)79_q8:wʒj(%jT?Bcr!l hl͊% i|E z> yM+u)__&QJVpd~ e;rW,-uVW]K`Sb##gv^+$A']*M"*9㙦==Gy,EΊ%GC'u ׭5tle_6i%M j9XQg='P|w<@j>n۞ӧm~V޽JH ̺-3mU~ΰ`@|YM)&yǴt[Ƶ2Dz5Kٷ.n:5Mo/Snꁭw6#t.ߖԕDa͟.bt#ЇJҦ!-! |jt >v$Q+Ǒ[d }⁴awB G%y=]=TIƮ_+kM&NwُuM5:?-:ivk?, S @4=)K\e-V_:]ɳ{N\rZ.|P 0߁xp[U0BׂK~ZQt%"S0%}тmL֌&~tg!es]ufjDn=ĩj=*f"gW`P5˕7pvg/v။^9|@8TªfcZhb5=*HpiK=G3e7C&0xeL}-M b!wun鲘ZŤSm2Lu@'pkepr\<ȝwJZp9$ 71GTz'"GFvwgxA- j4sӪ@G#nE^SS} g9JQO8ϊ\)?e>(] 閏 p}F^붱V[21IV1J9+99N-< дv#9q Nv\V[֯$/_吾w#{A_0K7N`%_Ćȭ9/K ^>_pwBMtҝҮ~W5cХZvy] vf}S<+lMmL,*){Nە9KCSIwdz?:V,_.m0ycyGfM}v:9.cd8!fTz]rZ6ʛOIvщ2FÑsfyn7gj x4WY@c Mk< Ua 3CR5|:$ELUk zG36 "n7BE(Br[lfC_@[p:WN_FBR#512u^}h>/1?y:S(ޣa7AQ?ά05y3q=JRX DXf1(1cw[Obc'|?2~d,W}^!jI kaa{T}bQ® u!M\F 5eX%Yl^ 4U^Mw:}$U-FMd`VR)A Aߠ!BhFFLɆ8vuuAވx>`[{cIKS.,\ykR_JDi+ 'Ӑ8rjbB#d>X[hmniZʧ8h,lAt`{rB ê9C~ vlyޜͯkS%lܸd,vnDzD[ͯy@Y@ن_2ꍌT^\rqvp¬cnWI Z=6]hkRzft-6o`".ap{c~.њY<dڽBA2={/`f@1 G9'umqV? J;xy #S>$`Gg @d/%Gَ݀ɿ4>jR#@quWv5CT=\q!WPqhJ#)&GL36- ?/R-G(~*=C.ˍI7 RjJ<ئ{p\}lyMi{@{:nRd_QƶfБ=:)CϽS$scyu.rrN:УuΫđ2%f3t‘XԢXuSD=q&1ag#4Ny-}9WӢ6oV|7Ǘbi;%o(dd o6P ?RT{žm&jJxiV4`_K]lJpMkmyQ;_eDCV!=/]_*e#i{˒rX{^%qY2 Z3zLg:~&u s(R< Q*X;Uh'SqQda;^$w%N /oJothp*.f! Y_W)6 d}l ;lO!SX,?3`oz֥p7~כ>S? ߓ~d[7a =j;ӏSl?2=ߍBvжl yi`H}i"[>(-Mp,YS_s2 2D:}P@w tq;2K}5؅yQ*jéj)!R9sYMoËcR.JHTPbK˖XqWЗD;vf:]Vk+ԭ;O7) N 'iɮZ!~o yԦz;TBa#r=4 ĺ.4S=Yzn/}՗/jux{nA8ϩىvsZ-ۛ:+o4:*_A\ !X(JO=%{c1ʶKRnu_PFu]WγbM͕tLJFqL2w;t66򛨣UT}ro[3΢x61jvuddr][&Hb* Z3TUb ACvMOnmGLAwRDiv"v15>¾a@=> $"y(JulQUkD1TuN-Zn"ht+[9SI aMN0-e#ۧ¡EW$r>_,L /\eSqkR](\6P. ² ^ Ca NQF ri6B? _S34v]e77?("Wo7`m }kw["}7xRg\t4y]o-sDZ uRx'BubDj'kߖIP&9+.#2#Ҵ?+6W0QY >S߸- 02}!<(K(Pa !+iܼun߾mj2uy&bBHBw}#4R[J`z.1Tol44~fZ3@1(SGDd9o W-~2 A|t\m yژYYfz71c p$9PzbPRļ.<.(]Aq`s`mjjJ*OtKB*g5賉rߊÆÀVX^j8,u 3h"1lFh27*ؗ\sު Яb>ت*xEcĵ)b_Qaؠ9o4sT^I<Y";ܹǢ2?6z) r3SުѐA߼?|̏s':$b|^7|? \D?qgveC w}o oO¨ƙTHhfjk̺7Ԕ5XsZ!V~9/6ɛ;q;~TkUKm&+1K7 }f#Ih_` =MKu!q* YI$?кl:9;NF^+z&/IBh.|5e]cYYtLͳLrʩ2mYMIУ0l-m<6}V~)LYܡBbR2>u-AQꔲX keqQv]42gaW&$M 3hGP6%.Ūd;_T}7:N`݇ %`*w1s|mQПPmѩ]YEv[mų1a8 #?V&T}_^E%qMv͖/!{`()X?f+Ǩ tyLFTrc5oCPr\HY0cJ-"㚋v5ܼNKZnPRuk66o7] ޫ[p}3=?_xz8.gC].ײ%"JdoK+" bQd~еv}˻'`k>9&S-`FF^ϯ92Aߢ^=l:? d4Jz4lS $gHJȾtD^mJmXq% 46 RM"GJvyxhN;p!R\Kgl ƘD`"B /糛&=xt ќ)gIOv!hn}]2=fhʃsG!϶>ԥ51le`3 z,5ˁ/ge i߬)&wi&,?-lqÐ^$FD o+$T, [hyJVQ5\9^.:`s܊`/^е%h$M^$[iZЛ E n0),=ucYK]b1ƎhV5QCEITO4$;TSFC"_ˢe _&nŷ h V #yp/~Wr.gzLJi|U_قͰ>ÙQ_:vRݻ|1 PYaG@+CA⡜#`%Mss9]ycl&$9g#=%~ Z n6)j]j] Sz,my 8eΰ4Oy1ax&716%(ߜ`\Kl>o~ u@K7Tn)y{ <fZi=Ftɣ i~Y7JXd\Gm>٠~Pw1PJ>`e qwi-g8HK\*zl^cKo}mfo`s.^H7%WFY>-i;5r/oFhi Y㙾DaWƺĉ6\ S`z:=Nr]k?apHk}k>~k۽#Е^"Ϳ|{lP`ġ1o 5eN_lˮN~4|Ԉ ::ƨ}biF +)Zg`6u3 k DM'_r6`jdt7 DWz.>ҧl[VlC1Xs?\k }+18rq^ ko#}rsMZk7?WaJ1ПC8DSI7'7 @$2@ycr6^1A%;3?q/&͟Lb'}ݎQCJUEe6]#v EU 0^uGD{+D~z^҆DZw/5ٗ'"2\MWC԰;Ηy5k:I{Ҿ -@YJ?!1wUOpdYeɨm>uQus)_l( l_In=j~V8Bi6a?iY|bhp1XtV˞v"aABs);rV5u3R0ZwqEjĶ7)@:hçXV 0~)>δqP?`T Cm߀S3;_{9w7{j`Ŷ:@i_TU}i'܉`t\w“+6Z?taaF3)Ìz !*V_iE:_qb`!s^K4 N D8D2/yr||;= Ȇ|4}gCN# zrM I`t?TĀD{8g"u="U٢Hh jҠgUt1,p$7>EN|9:C{LT4dS L,ċgh]dP d az{>t= ZJbHrKe-/W˫j_}4e&ENdp0^Dg)]0DQs8 LR%ٓlX`\uWE72'Q j`*(Ipeswnb~`VӦvU\%JWҵ#J8R#Q|ʑT\`X#Ր zyG8^mrX0pmfhVە5&>nT . ^ %kܤqr:RSeTz{m .S]=&|*mV뗺TJ}]"2*ag \We2N`1Gs^|;OE&H"0/Jp\o2(\,ޛC[.lݧagt8.'ր ;T男Ci0FwD4g% :h{' V5!J߬=F|Go\r n{)Ǖ'N'VzS 䞌|fBԬg(JAԣ> q`A͜1D2}$ND+_3cVg/[YxMHb9<#(oq}p.8.F3?(e<䖽0c*P2A9VZ v֠J]"F|6G̉AFNj(ɰh''f6Ef┴n >>mmxI!5*A]+ʇnkޣAH$ӏH;c""vJ@Qgqx|qvݔ>/@j—df8WML) pIӱ\$j&B,EC֎G/W.sjǎP&5ՙdq5ErE{mYk^mƞ/{W:07foņ!6_ձWu[0V!h­ |mFe;;WƚrkazvyLn^RĨwNJ?CirړZFH vS:l"\cOvklzumUv:G1*Ε5vfMi{ar oΖE85 ϭIgu~tz>[b9tq՜=AAedţ7-erl sJVd $[I*Γ I޻)4N$7`\V͛=W k*c<9NtHzMsgdgy ^:=_7ux)'SG 1#}],5k\pg~;Zg ndA䊥DX4: z]CH?pu G(>_zt;PF}qՋ88 H?:]F^ww@خ8pnj~t]ܺ)0Ηze2< c@{D,;G~)PߴCxǰ{r)Ԡ1::x'wz b8)蛖~>c>%;2dz80rIqMj]a{@2 VB4И$x,u4&hqb=j3Y4=Gk{tmcT!Վ;Si? T=ᯧ8y6º}~G̺`X^߂ ru:W"eKVp)G|᭕y>vjr3Uw5xBD#/Tf)sJl}̉a'!Sv0uXNp':ьU`w V]?^Cʫ te8p|e4y<1!GO('fh/ٓ Jo9|lQ|@w/٣Xa )o6)f^Cʧ] 2r:e8P1BLTZIH=tGQr2 Pl?p3ʼndubB5T~kR4d(cu䟞i k\JcWM]U= w/D{-ؑ8e T4ZS,JIhwB? ! a"h4OMaJ1/򕉮a0RZ?] ,|D-_ǿ/J!CDEI$6:'08oprd9=?ŻW/x[=eLe_TSj4g^ k$hMs@OlL͝4wm AehU)Sjk%(M{Aݬ7! ={݁RVߢ&൯)5@\^]ʗqӺYxEt%7cYWX%TNإet]mm _u(PTUZu-FTɹԁƫZ}=j4Ux}Q;w }`JC&Ocg}cYs57Q O496Q4, r_-eP~i=X\ǏؚKI&'jr%r'T+9n*7 j ([F޼Wyvo $4ϋ=RN]!FcUtlBZ@iΌ.L<"Ӌq<|T$$ŐѷcKVqQSy~2v!qdByX}Ӷnh5&{ldĮkn- Uγ]~bX@[mM"z=1dKlA8d7[pΪ9m~rMEUnAND mcC 8&,ΆZώwwhyڪ 44F]a#V_*3ֶMWI^5%}%>vJC?Yx"V1oA ]4% \Puy/ǛfHSq4tur֚O@Ms(.gMb2 `ok8L1UuppbT?1吚*K(ehbaݕ,Fnt] ` `5Q١Y9l2;0] ס v]:8_ I;j 6Uo;,"[oxg0zqiZ}P77e?5JYn8k )H_{ zf<)kgo}DSp}x1] W7P'n3fv^YGJ\m(@}!8 =5=gcYg0̱S\ÅOx&:ϥoImĦe IExbx{'D9vȗWy%x≨B'h!eGdad#lp_D`Z믗|y}x ׳j;}^\/@]^_?Wf˫p/sxbz\7)̖jnWPYp_tF_?͇7bzNK˞gҤbh,v^mxH7Fb=fb{1o!]-ae0;rm2ϯt?Ookj kj\{[>\~ g "Vti{r'o_D/|¡=j7[?^mgw~[/Wl #a; /hzmnƍGu}m^er2 j5FN >+7GM]. SBŋz4|2(dX^{kbq6}-nlmo< lyuDgT O9Ytn?vmko:i I>1? |Y-75lz 9o=-P]^19cg LvRQ> DP^EֆF!]zd=B?AXA~GB5KB;,HE.2d>7TKo-ekmala3aM}mycbBłTQ)]`TlVsMR Њ6iV0l,?Id{s0opuя")#_3|ظlK0 VLkyxZ~L##kO_ j-46\n-nz~v>\!QK!P>Dvi:YMHߪwC|PktFIS&0mhn>5$f *Db;QfM"Ks )G|>>ԉvbsS蛫a{턎67 9i̤#^hKi#H6}`e>i,}3fxO]|ο \&6{I~yڏ3]c֟87ajXHx!ˡL^4[ϵkNjyv%OI1 7mt?7l_`D=1=":v~ǛGFgf/}thl~|#чG-~*a\Y3t flgn;atd0;ަnL]@ 8x D"@a./Uc+l&zzoZ}RP cϳӊ$T'{fsy| Yhl)EaE\M)5a;m{@'PgqYᾭpbu6HuGJ&YBqI3 G@Cϳ}qu,2_ zl}c3n=3в}ȂˇcrVsKl}oEj| $!9ʇ]ѠDRZgeёYq㛻iN ?ޠ%,ǧ?C޵!8A2B3#zl`yQ*`WPۿ@I6}p4OI:Cc6dtLSe:ݰPA_ޞZa@s0"D;H_\22kPNQ՛42Tz;ʘ/b8elPq]Dh7w^QԐk#y^.o|N5Iћξ7"SOÉہ>݄09໽U_%ѕ:>Qo#ʟ;rRh:wQHwhMZRCn-iwhJ望iB^LF+ CM+hͱCxi'm-D^6>]$=rUDIc "#˯owyM"ѣZ#h|HR~#C^lL \[D1pb\&CYE7Dvw5pE~ԟ 9yw1/y!qOo m|xo̖Wf݃Af3ƺsYt]d^ޕ",9j(kJ8= g R:qm$Y](_7tm 4 #ӠክyZlQ Rt;" $g62ZK,f\Yrxw` 4ExD.ME*$ JI$_c\z 0a( >VȎ)0jyc*8LeH[\d# :_r52?vva=<\7 }.g0*;Lj#bfz:3ioo߀ 9$ۉߩ7 \RGěR*S!-)I46qߊ扔Ew7쵰NGX?y;^#gQ" h>vcP`~f[`J# &s=pr B{Ѡr屪'Q"lZE3t8w;,-]{JLt<+0<]ZW}ZpRA1KNM?kx}ccE{"'OyviJh\iqR$V''–UG9x'`ռ(GL61?I;XcbB@9 {6rbjDbD4Ȧc@Fݰڷ*u{_W=oVeI66 Uf%|a5XZJK2)}ظUIE^g\v*G?a-O˕&'>#e\= I/3>:uH%'j6*;El|{CygM>ųQhB!D =V;8鳋TET9͗[$Y}t~zb.S8IfpcA?r.BDh?o WHl +`}d#FZɕC/0sc2by_c(ۚv) ,H"Henb.a7+M_/p8'HJjRE gm(t:) ź^=u"Jc ෨H0$ 8sqK#ۏgeNJHwъ/WoAs DoZ;Ϩ/K.;nHIM~eEl3V=µH)*ܐhHt]\v'Y`DqhsgG*̛iFu ҦIG}F`h0 e[$3}4b*Ѹw*~s3)VS6_ ǻk`mUr> M'T |_> Fmh7<(;]c:cD]TbMF l2bgAYW,oCTh XJ67Ĵcl+K,4GYf#G}D@[F$͐8pRTbLNQC§CRLTran 㰼wQeڠPy@_0ow=t[k|h@|>4## Ji8~n,?Jl 09_OMw9Ň>l 8#aH/@ɦv ` A$~H鴕W1wuh{ ' 3& IJ3iYg ٟ) srC@4!w#iMO 'bv+9ěCzjMx2{dS7J;z J"2-\3>ժJϢ0g;HMnog?X슲]98Q@(\YXb\O ԉzDkYhjOH~Ob/mj8ˋq%aaQP ,Cod2K&1-U1uZhM)9z1̇qO>j x5%.5e{ei-Ҏq#ϸ$Ԑ -2 '`Zxë^Ic᜘bK zz Xj.F GINڄZR5CV t"4XnKwxKvzEWz X$'w |"6T [pDNpNlҜZi"@8QbUG{8ݣI-+tpPK+hymoߘb; azBr*)II;e_ހgh(}w6l1P  B r䎜U.YCM0UWUnQ=}gx$oVv!Jz,mC EVSDqA@%La`{Ppji^ţ*{Lޓ6C.R:^#]bHsl%'v[b I%eNNKus8N\- Lx.FiCT0JԳ/oDQ3BMh$O['^DPܘg%_bwM-D)@pxSKl/Є^_khʰխ'x<_ !۩Ht;NG8 z ;uet]?xL"2'͟o46ʖ*DkfPdzT^9!3ssdo'_n]|({IngqL;hm4[0 {s?(0ģµ{DT}d$bu5|2u\F^C-)S zAKVHY^w.^r$2K[4%}7+xŠ-fEEj͇';_ E@MhzuB Hm1T.r㉃k r;#5=.bf~fLQTEUA5b*DwWU8γ-q1Lm>X񺒯ht_AT "1,Dd mص}ޤIr$_}Z$ϚnQrOê'hb|mYoVEx-v_Sz| ٖk9H[ G@Prc˧aU\~~hop%Cj68 `LY(=$ã|hehsN(`ѷ!Tl46J `Ε> =!FZ#mekpLly< 8nvy:E8ꯇAsH$ڦXU#[p!ף!wݠA~W0ۡoj,ĭY™2VFڞdm^Tעf+ E@X361F0H>f/ܡuwh/Ƶ̗©Au\ jh!˱H+T\q=FBLklNddG5 KA7~΋~T)V"Hf}6fmcZ?/y-@a?4![ iSsu#[g70Y6|Fy1}<&"v"g4u[gU]ĭV+r[u]eiK?Ҥ]Sj #gMS46D &mK1&o̱y kc]CE+T {poe%`ab ,>0X~{5rMqYE`B.: 5 Ȗdyh79UcSz< ox%=CE՜|hNSsݜRX[gvk/kB2(N#5[yi `{ O} yzjn}6|d3f;y[h2 9_dۇ"VgU<vv]p ND|ex{R 2{?_[WwrZͯ t"5REG!>2Y!#e;M-vys):G ןyG8#C` gӕipP .fXyfج)?qsnV^&6Q K:udĩLpanzg\8|hxT0ĩ-MTnnbM"z.U!n_.P]O=Y>g"3Dq߷ALy#ѾU-WTcQY9-Sm!5On8wO! F'>@ܠ7G.xCI#Pz<̢:Iγ2>^?)A15O*Y6}FVqQb'X0.4}~t0IhAnr07BxNS3IYP-cERzy[a)Zr\u hg7<$R+3i=$4I)(t<uwnf/yLsgH%dl 41t#~ya/Ei?łd0~EQv @7su] KdcGzb>>xuz|jk_xZXťZWZo6^Pvn.NT\ScX<"},9Y;: *'1q0:h3aOhqP\^KxeC5$B^tg5 pjF.GU^%wpz hj $c52&'Rw9L4~xjxZLcw&Mct`M'B\Ɉ#ِ.h[H~B. $%.]%xbb)5Z%'d¤ [|: ԫy0dg͜kJ6ie4ISPK|7,-UFV")2:^,EY7B(PAFN<ŤKC=8`1a-KH$jV?w3'홠 ޮ^fa=A OJUc'fWu?k{x!t dL`"n'"\U)uJ KYevt[=RZh̑,]!$\&H ln~ &x߂a~Iح3}Ę=0"#G!1u1~c)b']\弗cv31 .f=QV Zn-u V\ yS_5ճp,5:TTtxZBj 93"-xTat&>?֝GfuNRzzj eg-495X=}"樔#-q8p* Jf?5L,YM)Z wQY[ n^̼͊Dzu6/ Сtl\QHɂ-ߘ<;Ig<\Wtz [)b޿ȟǧl{LY%^S-E<&%41.1Lmki|p(%n~y" 2Jh2EjDoʹlAXM(]r Z {aH,Lu7rP۞<:VЩv[oߞd.⸫cOUrpBx2}+̂\ltf?ИtNiΡ)9'3Lںʆb}$ !UK :~ʘ;|Gp, D O*gevGj;Pc ual\ 9w{+~e:(W?NjO XCUѩ2=қ?y3[J-/`,a Y΍v(x4{Hk_& H/ Xp֋0.pA>H?Gh\ęVoDy_W"qrA\S 'b$JL\Ǘ7HD{e?~Q9~ֽպZ6,V52\tkf4c;v1(Dtf)!n 6n\fL*456#؜b6Vol4oR2#53nT뺪7] ú]cEFmsYDo/ƅhVX_(;<dd?nY}*j }-NN_cF4Δ/)`dwUlS[2F)\c73!2^MB~bgJЅoC`]LC/;E+M]٠/ gi2.͔k1_N@>@y=5Dc<2[YߢKCRLEى.hq˘2y)"ˋG1F*7`G v'et^Di1Jh5ٱӫyǸ "Օ:]Q܏1SbYC }># h%?T$S/O"PPz OIŴ&Fڷ|:;Lw )/{, l,uM̪r|^/V<MWՁͮ9e{.4%E'8}[zLct-$œ4W h|0v]ʲBe4(`qTa#oyKGټ|]Wi{HU|Ґ?1K?vG!jM'7!?7ii 7G߾'4]䗳<@# ynw8lpIho=2Xt|3ErVMvLƮɪ"W{]E^$\H pxN6Y?޾iq3 {ȩ% hR,n~vE *xmm%x &/,#;Ϸo'0(#ʇV@ሺw>QQj+گ~L{L=+ .+cal]ﭦԐ)2_jwX_* h@x\Eclh (d ^ce%SɏV ȨT%,AV}(lvqٟٛfՌ> >"ts]O!":෵@͞9]ۥr^IoK!㝷OhN[.vd+kc+&Tӟ|he0L>\""xI*>!`472a+OqAJ|N:Zst@y/oee#`γ R_Ti@>Tl m˸QwdьYr\ΣEgqy?p*7Y7܏ +%qkdnL>zRJn=&}e5zBJrde= lbb+.5+f@cvVYbk6|-&5ݠ]I\H٦f{g5d"yL*|ߨ1-Cg$_2!?D௿s GB#ZL)Pzh=A˨SRwä !-%K-[!H4/W7_HeLEd[։?asMoSgo OmmI+DEk1/49/<=߯4ޠWh:ɯԲ $_?߄Su89OhOƗ=OHAjf]%Kr`n-yɸ7~z5h kau( ;⍟նΊۼxMpԃ p+tiϳ]zGb )":BlOnTR[NІxeX mLE'U'V&ww#O0m}T6mGV;O,/dW8j<<<]Za)%vղz;6j-ut. #3L,Bh;DqStj2`PO0c W\[õxKaqgb7 ܜi'+MRANPK%J6x+@gS=M1J#0W!n8x.*^X5硔[mQRF$K h(oi3;H}>Q12F&"ߩ'Y =oJ++}ъ7V0jmr>HBygE$NqJaishZs}p_>STC-Qq6E&_A CSŧbقߍxe[n㙶ȼtE/ujFffPZjÊE}Z̍1#W"kpF .K_kSF4>hӭ>kYա}.Җ YPF]@@7>EEg|Ċ躬~Cɷ_ڲTjG(Ess|}ďkKx")d|>iH/bQY^g͇麋;$7ͻX32WR!zМ`N\lw9?Z/+G$POsRD0xU$4][36u|׆GۦnXVi,웚fhTSk%) ' ~[oh r{#ΦhJ$ESsMpy$ˬ#iN.=LSvwso wՀ};٥@r4/"lpvodhJW5EbB_J Ԝp47ppN$kz"d$RR3#|إZer抟tw8C9M |X;1vPAPu3fڄbfë|ЂtH"#!~Y-crf5`~J5`9Y~m8KAHrMǧ-9iNi~Dg'V*վ)U.\`jc @w#` 'QW~9QJF'\WÎ:'[';pQ4]qjIW<{}vw]]c^fA5(_D9Bcլ,VE JQA g~gSiȋǩ5SZ&*g徫OWz$A]/d~eyNsm&:BXS}{Ɠ0 2 >;nZX~0W%/˽VZq'{-]Z;+®>׊vd|0@1G|[bN#-/ Nui9n&;x/mTwÞ9kEg)*b x?H^Q% Xdԝ 'oJiB},vju L͢,n½†]EtgDWS|ip:Ť:R9P4jz}5zg$bt:> 7[S3}RD >317`)wM~W󼎵) G)&G|ʟ(=\?BNKlBVlHd螊>2WH@tz۷'dW~֯XIG=/L_d/*ue_`.M&he܈C$39xG͑f\pt3޾k9Ƞw~s\x W o4'Z]}: VyJNIՎeI@3 Ff [thG0{ɦ$׿{p}#g=":MxfȪ`lc AT;%(coyGz@?ųW{ &97Ĵt"VmdA' O 't_\dZ"#BUr~0}oX."[ri b))"Y5 [EoT4 = *::ڠ4|ـ(a?֎ q€jK>ś`,8~cAD?|0^T­6o^)S;jǃЬCb)Rʶm=+*; ]XqL[dD _o@?۷"Qƞed?6j7kL5Lz#qTY5C ?x;BMȺRi'E%Lv1S .Nň9 xB]&k)vopu5Rje嚹8VǢsۡfns'oX}m>!o6p KlJz%oҖ]kS5 EO6|p,8fS%B@ga΂!^_uFtv$]̓:d7yʩŤqjV[\PĘ=(AiQD죔H㑺~elK2u;""l6 hקXjv(.GpEļ޺O=]4t!UNupYc[{o8~?ދ{F?pWUNjŢ،.YHrϧ_H|HӻGw"uΏ_ OR%{$I>qR:O)5Xi*6'B^?XWZMF UZ<,sw~e|5( >b- ȡAWDoCӺ[]^f2R(z9O}; vߝo{`bEu^/ m"'qnz,uO8]uY׋^_.fzP,nV|cj}w7[Yl66,7"w5 rDoi-f?ro6wto SWdURS>4[o~"%Zξ||br%ͬ&}&ea7 tr*!R공Q:w>$>mzzxJaXw_19KlVgWojC"V obB׳!mME(a)€pwMwy=%2=6й?t) _Jn`mZIξ@ H&+,hDbh֓f w9{P|4, I"u#z}ȣ=xk^So6zKژ`SSnⱱkg[_g~mNCmi %mZr t0O2zA<ŖP9M]y|C6z"WG%+zIǭ^˓yw p{.X S_~矒 J0}HRVV3SfL9*5ɡM\ADڭJmD[Swm@jL2e`) 3kDg;Y5gj>⬮<͑EN!_֯^ 6Е^/y#OWBB^kIܲߙO5i{m7{8gYO=!P"7 ͖:񏂀\?9)Aʵ"Z5xdS !׫7wd0].9Z#>'>'V/I*RZ0^yD_с/StF6Dƾ(tzAq$s(=4/Í{:V~@_ي'Vm|GuU@7&? U$`+k~[|1y/m~>~a5- !s*(Ǵ p`E* 9x+TrP ZPǔ9Eذ<|g'>hl_fN +]ƒ]]H6\ |PG;2gq~bR=;nMynHYۛW˻1d)` eWÍŗkBb;mOE-O6vlf?n6c"yhr9(ޭ@>˝×?o׋ebB7Ŧ̗f1# )nkq}fDWal۫&M'ϣ*-B-:ÎVkz f&ogRAy7!쉼Hɞ{I*\2 nUֹ{.=}Ⱦ HMXb7W+Цpm2KUFJ.ǵT D?z}lsavL 0\QWV~dM=ujA^pPlCE&[3*Ndj΂,Q+> Z? @ Z \aґP\(;4vMk,{Chnjv1.xBn7sz`#~S5GB>3UK0풆!غ QT+6u&~R~:ϲ|ߑ;R W/OmgbfW Scu}ٛF+}sibM2'AIou7qݒhY2Oqmr/x#SuDV8 ZcS&0h|wn\edQR(/~'|֪g0ٯ8qGCi!0L a}?+@Wr{8sC+Hx5.0s;F1J1%sx*߽wO˱Ԗ>rtJ9Rп{g\>-tkzƲ<;Sֿ;t%+P`ZOضp vu948hP26xϮvrD^T7E ?ܖO'40CmKxN02QmW#`Ui>S"Jځ'j9 9~5v0ZǛ|]"&A81!`cz^%=`:OFW\ :l\}Ydh7K/9?I}}5D ܨM DqFa,%+smz1zy30 ipY) LH$ftAu1K@Pn>jh5wl֩fpTFD昪4V$jK^&Y"Jr±dA^Q}o+L̬'֤٭&d٪N2jY[ǪAea-UMC;{eM}a:zvq$_@U mV;d!>sW]P|uUX&u^cTi 3΂;qzyXkڿLMiݭW:Uf\e"VShuSvN'2p|*wkj4fd3kH%1FD.3s8gXdxa:ޱag{gE;U=jEcNjtsX?hTO$_*ϛzR\Ŗ8%6Q4,B Vۓ,Ƶ1S[-jXYbrSL- (&ՎlGb#lhkW2-%=O#vz}&g7__[~_"n4@ܬ,0[|OR 3J[x@Kbr ߬0I_.z3ͫ2[hmSatU LG (78LŻ%|%T?mhN-hS8V. paMOԢd5B4J)iGUnRZbNy5 ڪ`r ╚#7Ąi_WwXmBkM# h+>M9z QSB +2+h~X5ަodӪUp_'X/}'IzM[ FlrۤIRI !CkWeub=[ FKjy3~smLٓŭ,Ek.fMnnLfc\;'9K r{OJF:]i ^׃0ep麈y;6`xÃ+2H^HH =Y9}yP^Ʋe3f`HIL#/$aM)K7rɩ c2*DױnY ۽JM' &ۆR[ X2%W D}!{6 &XHs^ocڏ턨CZ8ѸyrFoC~B{sy Y$Ja4'e-> cVtf$W=XGLaQE|k3YOlBN܊Hos`a"-薫hk-7^qZL(DE#{_1](t<ٍ-=H1JwY Qx(im0ըogsU[H,N,pTVkCV4-Y|Ų Tx0Q\KIN15,fVaށV̶a&6~WN4e,Y+HɷFғ7v@x9D]2 էs3ctq&FGo= 9D&|JK#&6 +ڜrf>_]ow_״Ѹf粼fK]ItHhQUSP_=vTwv\@eL7j1 K$`S~Yu9;T̠*d'&>ڍ|cd۾o>FǣWv5q  J `Ϩ&V -J|E Y`0 *j.a-$m(0;,d:q綀՜0]#qT7?~Qz~*%&r,|0o(ĞF0#٠myl&m펙R22)z-]t c  "@%ࡀa]hv;Udpɵ=L % /n+uRV+?*ʋ6նfӗvӗe*GO x۽R ʨXE%8Y5R*VXs'e6Uק()۸8@l6LYg:6qzeT WsyI_=I7.t$hdq6ܤ1n4"hôf2[`51%s`ϽCjpoDY4>qM7=uy\.ަT B xoeI>5:\;w8~]<(#mv@L7 `q2,$xHze(0-IP*AqƔ;y8{@GGTOym m@|qJ==vǍ'gjHб'2Yf?{U&fz;fȷ Iwm0ڟK~1&, jϷߨ(IH6 WʞdAoҗGxM4@-%սw5J*jBߒ"*(x!R3Ja8A)hPjsw3񥖅ije'^&Bn%dmA=ڝ?ه=q81 HTZH gg/NV %tU#QS.`Cpb&]‹u)";[$uHmrz8UBH(3BۖcDcM1yH\]!u!F;t9P&Z`z?._;Ρ_G``_͋@ϝbP= hK?P! iijrzQyaxN?#P.wkK+|`JGf,,WV bn7' g GmMD/ r}VVސP {Ra| olQMRk!Ok5 M. ZdEK&08AB4j#yl Cԏ5HwM-ߐL7t4g><+ө mJjdQgYRQWТ&}M~:2`cb`T[ѽKרD jhj!*bfS~og(?o\=,꣹XL읐dSGgE;apAW6@ԭ-?) WqĴT̻9o΁kI($#۪_rxQMG eHxY2MМA 0][y?y^z>%; n =6Cym r&gƴ&b8_ .LW% [=G=UCx^lw\K4>?E4rz,RB`FqG8(^RokZP^"T8R_t:&YTݖpt51@p$>:C:4mצzeChS)־;x% BbA+ulm)vw (Y>0Ԏ^ڽ@lR<|@n@4L=gYSzu5Fy ,{tLlUG1P/%eaf6$/.,$2k6?5rTt2ՏqL&?M؛Sflg'b*%W3z-ws_7K0DW/U%MT40 ͬ!Oy i*Īڔߴ]E_ϕ`LD ma 1sh?N("٪I\AXR- U,&sc0[ugb^B$ ֞v4&צ\sPxM TJSg-k-, S jӧ6 *iCjT<,#]ڈɑO?6/gNST}}0(^ܨط79Oo-%q\?z@Z0kiڰܺ:vDpzE%ϟ튕W- :ze zmXJ::la^z G9Vu4P2W2kt% .Ώ4|Q5%-NHlnbo҉7U;N*`aovw14<?Ldf0F(3}mᙀbZny~{Zw }F0H{㸭BGh""]FeJc9EQbNfA2梀*{(:e2yN&`Uv5XecnJkI͋c7j?.`:K뵼ozfQO=EQ|!j!({7\[) %e¤i\O’_R3V#H-"a5Lɍ8\?5x[toC=LHf}e?&}?Juo5(Hr L" +qɾe`ݕX~WWb bJUBۜu9>ViĹbYp|4 _4}؀PH:?X=NSF [dݡx*=W;-ſq8^~%[jo<~z&n++'QaSרz|? $Sᘈ;avwC, x!h/7!Yt89x$?.GN]kg+B '΅KdȷI`5zw9E,?/Q_`]jP> {@lgD SUm# =(`gR%W'_f$/թHR6[8_cA KeӯHa膘sHH^iAqw<7<_1EoZPLcy4.jIRP9޼'>|Fy32JX*gfQu 5*OS cK܇n.b̶bf+R(⻹#juApH;9D#,;NTIj2q>Hݾ@ML8= b?DZG\!5 Y]{f4307ד]v{~Pܢ93} }9kj{Iv~+i)"*XВH񪘽c>K/noN%|־ea +&6bm*t%oMܔe>=IJI 0,]gHVultt7m gB_h$< Ff-'/}')mN(riU\cdKiO2r8 -1ATRN4=A{>*nPLGL?oHTS5n ֍dG 3}nO9\=)rV,(UapW7OpqN8bቒPm [i,> Jpe(X/qӘ#}5xK JT&j/j+㩉?p7tFj=[DsKtΓ݈G1줼Jۂb$6W!}guQܢ]hzE _-6ڑ([#ץ}z^AzE]{X/YA>R]U`nL]-HՕXa)6q5oKW>`<0tetq ')wqOwÝPd[]Ai\R^#W0ЄeVSr]JwG<ԱhS >{`): FfGvZ-iU^&REj+нxqŏ?0x!mE|)pv /1vvVBZI3jޠs/4fk Ctʮ7)W-ii5&pm׋ػZ̘_+]ttsgȩگdwX$vͣKB/|=6 AyopN;neUSl1^i:]^6* B>{ޓIsfҩv3+|m6s)5if44Fmz{=FJ;˹=inT4tcjgZ=rPc-QkIʟMwoaoR+l %,qYVVk Sg(FtKk@KʶRm-ѰmnT:vAi*W_. )\`)-b.О'Q +1¹E}eMT>L{*lV8[Fx-!K#~H:ϣWpJc K eLu?j6@.#Cۏb<̎ yP#yM|jS؟3nwecPd>gh[ *57n]"cmlu@zV5ͩ"9ğRW@'걄]"\C[썅BUEwbV_;+֖V5m2~B%a|6z-|9f7JP}w5|]:B7B.zyFwĻki,QFjtKwtxy͟;dtqHwrtCJurDH&U}Azk\>grD^Q %XCrmti)߻3M2ră8JQ1$xbV+{gӸ|$ yvJcըƇc8{+3*`(źXآ,uv|w 3Cy9K/Gi÷ eӂUwtcaH^c"$HSRU)5<+jZ(|XpD&5.SQIք l(JLra掃~i%3Ba9!Iå^ e>x}QUO$7=iPC W܋#B1o1Ց8tvi`X@~eS>\h84'A]amеJaS$ܿfg, 5d xrd-Q=Mq,hM͈NeF[52k{C<Ǒu`_MӢ})<ƅ{T0.dp_%WD/ޞ#{rCGdE$GHm~Dnڧ#|(!ٝ8CAN ?G2*}m IZi4e"|͖+T"dNOi1e&M&A{ZS*Kms7K#-1U17j7uanAi ;&Žgh\E=WMe|UUF)sZZFk=RK9ףޮpgr@][VN]kɮJ0dv^g݂1$.Zr1TBpċQ;etGEYP./N6RI?G?Gqg6'4Ƥ]?w7D< ZbjDčA8:~q}5vӻAWK> p|us!iύAG7w=`ԋB-6*J- /cfW@Z uQÉUI?,+&{;-_`Brj҉,ke^[ 06_@wU٫ߙ'Kk8*5*Oɫ˯1#SΠwFDspAoǜ~qE('l S ̍>NlQv1~\Xnf J)Fޞn/J%@csͅ2E˹_] D>;Ia܂UDU& RbX_InU W n(Nu'q)nm%F]$VM["%џ W[<1iWl@RCtO'ãu2>ixl ĀdumujZVe$/YוԑnO ڧNJB3u6V5p.3䘰URvHE6 UaH3v)N*kUJZ樫޼\]7&n$(v<$;qqea~>-RXLvt]X*,$GtaӁx0BxxHz=ot ъ8W[LQCr~#;=&,ǎਊyi7lm`-)ADv=$dN `VF9phi46kֈwò6*GH#pqI~#Afy! =5EvȔ?__ͭ܄Ks;4S<ãS_;by\taFo-7H/w 3t俺yG"taȰ&u\=8\.0mlsO>7m-`zAY;xJHIӍv{'`Eڳ\h_$\`gډ;/k[XuC$unAj?ekߘgurXgxpRkHm:P5KkNMiV>ff39Fy }ΝQAX )^KҢ!a%VS\"LbH`Jr;TUkq}S  XfُQ2Ŷ9 A$gĸ%ò}6YN''`bkM/_ l`!rpC曠+壬Lʫ?l[:UlKhVSssi@FA5Q B-Y^w(2aIc v6Y0󠼝<v9E-+{,g`| Ӫ V}HM C .2K yʬ}"z<=))U7b)H)Mt~w h: ^_nҏ~Z6 A%*Z)ZoHx!޸ƘHbqŬKɽRy喈]˛ V <'7uQNVCIV]H^ ;: % clJݕ-DfZOE`'too 7H2WV !²Ⱥ+&OU6uJ5ɅlGΨҾ\(MSy<-X}Ig+Mg1k*:Ǵj*vVm^`<]X~xboJaUZa=;MLS P643vJ:; BV oR;b/T]73p[;oq ڵ3~O iYb Kzs8QGoFMN?9^#V :N92!pS5[8 P~}ݫ6:hc P~1n<¾`- 5LQ_-ݕ}"^Tn0_FsǫV?d3붽h݌ܑwDw#^O.{MZꆲm?'HM*{cFNCvS54A,(Bn!6jd"RjIԺ\RBDNz%|4/BR>#>bm!i ?炙KsaߎY>9F2Z< E[%$^]c-5 bΒ;)#gCʭZ`+56{.=p& ye,0ċ z^<+  ʠm^7g* zN42HPVJ>zK q.ZIm9ݩTRpS/m ,fN#훤p#Sn:k=>#.ѿ<?7]2Q^?D?i bY_ t<|b"־{kFpA|_ٍc>tYh~WHx+<%;*4#@Shpo]NAv!K5,LXdg; ׅ <ȮH]r@dJiPU ѡ hɆ}9 &^Ї,?DyRm2[C%u4/ U7O]'n(}n5 5TUw#~<(Mg-ElUbފ~ ;H0`~u8Qp֕uD0Y=&~rz:%2;^ XУ>\"F H{}z:ssRVlAupÑm qDa1$e|,ɅMuie?&32Dc1*UFrl3C>g!b4rkqط~6.a?n?n߲?OדG@,9<|ٙ- @'+}22}lRG\rR4h \I;9ou-mKr?9lq+[#eC%q􄄋Nh%3sh$Fދet))4S <(ucXn|HY{XrJd;EoE:t=9gc)tw(}> LZK1m {\cv1.!ܗ4V~TW.kYw5NwkP%ZAz0A30RF8ZԽ'T@e9 L.yk0Q Ο<u sn!KSwmЎ9PxOw6_~Zв ٶ7q ZP'A]]~a|\ReO)<)kyiډΏѷz魾7ȳ='E 䃶$ׅעSC:vgЪa]D|ʡsS0U}Eɕ}-G=@SJzq` G_LogLo^%`crÃ8Ǎv48U7ϼeamܩ:LvI_ A1cPj ?+c^\RG8m. #-1:a\d0 sdˋ<ym$3ZrMSlb6vDM?M&iHP#aMf3yYx L.a+58yC1><˙}OHrY4@rMcr'[~n]VLF\b0jbˏAS?gMsTϨyUɷMz@m_i 86MބU) 0]̊cGSU?9F Uv7t6t/җ8RCθ~@*ݿc}[Jmɐɭ7dE#qpr`YQcyq6;D>u?9hlS=ŀY4zuiCtrXgyYFk馶iibz1ʩ><_E5:Β5z>rVT;$D i̫Nd1j0&ىo?A+&8WpV rZ̢1С\+U@kdea_D"-GUH3j+'PL6F6:J<n1c3ZݝJ]8 7'W~1-? AVHh;AqΞ} 7 mLיE܇0= w|/ r%JQx{/߼$WsB t޷'{RXnvl$cCIk.;jnӸ+lgru;+Z8%4cZ7cO߅t^PRɧ=׸a*)]&* 2(ї0\w w;as`6X$W #> T4V_{G,i.ڨԅe K?5N5jkݺnf{N pt㮈vQr0g7~`N|ob&KupT4G+fV[`Ջy {'+oud5_T3r5< mH]AayuBⳆ6|ra,tOaPR +r25  #o*4?8r]f?NG\^vF aAOG0R+bW 9݆2o<_!,W4T_n9;-o+;8ONѺG8j *ݦ1&?;CHKks?"t.mq}D0ǻW`C66~H4>TLAVaV=vͮW?>ՏѳYV `p;i8BTc&gbðSaO$S|iUBmK(1J5ȇo3rQ=PwؠEӤx'j0/Cާ ~}Cn#Eۇ!H \ +lg&WÈrሉ^әA7^2Sb|: 0*7] $ԏl}3/H* u[𹍓$0N݇JgN;m&sHNїe&z51h2?ٲx+Q k)!F΅3  kMt^^h/xPDɻnԙuL.K. wC^ lAu#v,vhtȹ $-:dT"7@ v@Q¨W?m^nh6=fF⼈Ü8*`tEߪ%2JiDQ?U*:y7VP}8- 0=.:PwP M[ šRe|`=ӝDMݵ(]d,SxNaV:1rrD Br.maqڻ.Ɏ$Mܬ*6h cC7 #<+<,SW0^:S"-.e7ڮC+96ye`SC;t3X(~9) } ltt}^|K}f^{Vz\uۃ[?\k:@QRA  Iim/&hێt,^Ǜ>yifSow10&(>Jԅ}Fq\01:@) Ӈ(?|rI!U#t^oef^ᎾDG  禉zԕɋMS#6x2ՠ$P8zh"~'ӫ8v;HjTu:i |]q5h%<"jIXC_$w97=O+u؇*i(F )ڳ2Q.q>)O)d $Қ l ~an'Mu?GX$6D{b;utE*^@S%YpY Ο`YM*~V/qTԚWX r/I/4PNYԺKT{2GnPj@ zʡ }&_+5-*#;gl `o3+O%RP4z1I")[%Ws5NoiO,?2>uN𻇄lPOzb붱2d>%cZ ?G)nr.B)w|@磙)/=1KO6v8qa rq1_ƸV YSS-}n0҆+ԣKӦwL:`0M7A/osp̥n#bv~~k>Ʒ7(]CׄFy$6C{!%>J󿥴o =quS!*~EtwJrpz|+-#9o[Wݔ^q:xoVnxi?lg>@8&ba9=9ɞvmFՍ"kN`-$ۂ/ *hlT30) qqJgj#pRӘIu մkzl6@dDKq"0ZN,2[HRk(* {/ڔW٠XK/',f$HgE*#HvFS)UXj͚lF%W86RY?~7DŰɻd!9/$xt$Rn!Ŕ ΃Lth ېڄ&֗aS&^ kqq^d+[|!Y=Crt>[Aw%d2 #C<}mqlP Ӥ AiAɠel @}d*ҨYF`̕,I8uiTުXXD~d=Ґ \n0CC6EY7R{pa)gj+cR"Z8Ihq* D($umQ=4{rwSX.|c͇AUy5QtTexφbj!t ovc%FMim+JrEZ/BWQRaFz4^ٕ#/(ߐ547*6V~F);]Cg)].}zRK[yAd˓?x(LYa4|_ Cf }$Ŝa|KD?GESQAxKbqv*e!=V_=!672Jz^߯xYQ?R5|l*ܴ=dn?[nA8_+>4b>:]k~=u眶cgzp]T.@U%97-S2[^1 Жi/'c+,׃fTl1F83SJ*U5Ua)PXѥ[D|݂E? ^ *ȟV9zYu<_|ӝk:&#Fe`~V#qyvBa\E%.I-cWnWkqz?e˨ڍz)MauxvFj|ϭYYoҔ 5L:rf!WbP.i5##qU2d.Wv$>,WT,U]=F#!$ϕN?^M-Ε &ݥ(ɟ_s ;#(7g8V^+gqQ9tXn/ã푹ڞbHco`mOX:K|yoVxIW@*$Dׅ۽fSRUzM:)ak.W@V |&οQc_h_iqtpiW('As]ҡrt(4+{(n~o ӏN!쳆Q -Aԅ!J86_B4M?t){l\1S@MӢ]44`Gh ۦM;ڀs30GB lA=5Җb[YBpUH$iOC㪛7P>tC2i/= QJ;T$wM_t+Xn24ko?OƋ-VÇ6 DpSucbvT͏ uZXhlQXg!|2^֘Gm8䣛%G 0XT%D2 lH)Hcؕɬonxʮ!}W|7싋cTn}%hid(A Y|]Oԝ.2q&oAK}hnxM-L6イToSbN`&7dDI`p7ٻSg( ZF8'7PWie|㩜@DsxC :(l"00ct<=W)m?ǹ :΍c*t Fu8u!:n <頲^Y?)5m/|daPh %ﰼ"2DCPh Q8sIraD)z_]RhfvzH4=%>$0Zbjth!n`ŀb0:_F#D '`bzJ/\΋% .' I^lzp׾6~| t4Mx_ΎaE 5 |vkM9}i=sM$֖y[{Ygd95OO+X ఌJnGHkPܸoW?loY_$r$qXm;l"SFe -J.ޞ#ϕ?te:gj\@/BC\4D齴]=ZQ^@GGd)D'٫/78lۘ π:BFQ16}sJMkYeI=/u@:hW'ID]|N0KxՋ >۝#hZ= DӜu/??8Iz|9upxcǫ//@c簿zo갪(UMym,1xb1[Z^쌁t^eyHRK:]ҧe?bB1vW~ILWUE\?xXsY\s?oH0p燸>9J\RCTqY֐WSg,9q .(/I(ޓK*M=Eঽ&b,$50AIriP5 ћcJNC#t tYW5z|g*V)oU.й9' Y:0UAX7!twrN+{9B V!aXXD# f8hIӦ`&gbWRQz Q+]o*ݚ걷Vy|= RZ"Sֹ0U]L)1Q1m{BvCr @A4Hp^dpVS{__葂6~DzZ4٩Ht>@sNa b'c Xk5~Sx\,c7 l|/tg)>P@ +D8nibJh@bUGgr~XcWGTx0AK&kƵb0f:swplukǩ崝]<0I4%_InJ$EJ$%fR|9<9?&L{v^%Z:Hirh5r\*=V഍N9VŶ6a"z:Y׭ĥ kt+$, Orٳ[03 3 Jq,ş~lJtqV (ZU$ ̴ }W}WGn Ezn2D;%a<)n.Rۙ3{kQV1BxBl fӅ/GV.Oh玓ŢVZdxirR9˯٩P(LӔFoFWBS}@TQɪX%\F ZĨ v.{KAW~&"Ђ h~n+ Ebc7؟JELM*8]e 7)rvehtE1k7RC !$q;M itx/c)If.Rxi%׭`Dmoo~DPb 0}oKnǙ7"t/w&,aoŒyO$!u(=ݏu6V2:-[&#c &IZ~$Y,񚟕j|b) 2#Ļm.KWJL|֞Bt]';42R zsX|p#y]36?N!ccͣ bk$<ӳ>®&L!n ?iI_8}=Gwy6cCI#}sswgn?v@ce'osYJ!OGƠ1Қzd=z`WkR,39&~71hNs^=0mH) !m9`_œc99&C iX3TCI65'-t[p9.3 C<% 42@<UW~]mq:w񻼠".kޜARٽBo^܂DeI .5Vv|f?3dxF:D,{\Xh ^BZE1%k:6C]زw>Iq ٗ2 pB9Qs&NBґG[<&Sօ^\: vΛT@~.-e>27вV5 ^S~WśRb10U@:9>aa]ۅz.\GP󤞁+h("IEFJ1HhTXB7ƔNZ1PKb:@JBduT!Cq039} #ww$\H~OP~R]"Chn4kUǡcdBP>ɲ;_揖K-pwC;Ssh&3+AS0% I|ti ╾n@"AjlφF0H5BԜ!-4XpQ:;/!4vVl ѧ Өaf0))HSfa}p^P[iJJ+.0ދC^\!<!\uT'hʘy<#B^spdP%T 5+Ŵ ͏7|;1QVZ1㽤ɜ i_@p9oˆ L"D#zEHUh4\ԃbAϳH>-$}͛GcBgB-YѠ6ݢ%o`p~rFGM%0ZouB oË0wһΉoL bN-} :ǥ ;-LPh Y{| 4brd^lhLz+|cxo'r=Gƿ1&1frWDY qY 12Rws?LZeګ P6v5XB'CkwdeH Va]Vs à ꡬ5$PFiO- N _d-vL"|η:+rROAq !F h}{WDc s&kGd҄JƃM@ A &fў:Clc35G 6-c@qi4 &'Q v*1+}bƊ,Pd<5x8+*u4s+:sևn[UQ Wك={2Qtj?w?=q>LLWT#wo`TPNAEsie4IIoo-i*hĵ\,8S/`/w2MA?</ qm~I0۳ ^B%1ˈDsGD s:JV~Tk8J4/TksK vRBiGԘs@NpK@Mic{ /}fZ O&Wd udוeÿ5B +ڧ-ۭGTr{a$vGBVo PsMr  G;iznѿ36e XE 8w֥ƿ#nty0hzGĬ> }9Vx>G1oÊ¡ᒓWMˎ0( 2rJ*D>}<\;p#,mFGWʇ=< Q#4n`mnؕ81!Y(6ּ Ht8)[ ZCk SK`ƤJ&gΑ q~ɎK4D͓]sBf|6T¥r>]8lv-N^1+1]-;,I'!_id aңn:{\` Ua?AT"OMo,a!QX(ѼLY9k]cUΙ$i37֎DK\Xl? +Q5wLIk'^XjmlsiJ!>[& h:;GeK!j(^>nkn`h+H%7ɽ*PL̹z~D^/M ҂}yJ(Ju ">3 Ĥ¯lV:T6;o3 PM횮*&{Tٞ Xe<S^W@ _W`wj+C${L_[ډݴMHzx9z&+Y}{C;dDD F[du6V83mE᭮ǔ+,t31aL7rK^4Z`=@Y ?τ)^KY|L}PR,9} !Di?W@KS ғ?Z?CZŸJ% iy'ꋚsg \3߾;ur@gHŹ<@m"$w^iՋlx9_;4(jr ש&[cM_y`/~sZ, 0`|b:::(xLK _BP,3u9[CwEHS#F@ޠ ^q)'ew^GD4?~LCls7ۡ/x9Iҝ7l5+xMw7#;ЗCtahǐ]]\U>l䨌Bw>(<Ĥ|fq [ ?Sz驼`Hb1 u: >M->2E$CQDS]I]"}VX |9VS6ܽ_/!},Z7L4|H8jkӢ3ҼȀJꙏy' \]Ꮞ!ޯԒl%g u$=Y #fXH?0V %Қ%ke4Qeb?*OHYBeV`$v}?8rL}P[V'j#"Fā/ei&Gm-̑bӛ9c0j|h2'[SV*s%sjSg>D C]v>w"vƓjj{uaHIT{xL+D |!K/=wheAyRubm!=JmǏDgt,G5c]Q~z=~̐`7Y?AK>6WB/La'Nٞ־a-Y"6t;mwR7#:J1x UtlJ+Aau\AR Z#C~0nHf LWJAJk&!.}oRO\t~'^tsl&mNLļno2vمDPeD_8MBq)k]A5_!6oېBîiM}#D0;N1xxM\ &ӌl8=Rc4]Wk&}*7QsHSǝVݗ>CCI.kcV]bРb9(o5$#[5C}0 @UMH%W ޚmeZMEBO X:/u(MZ9GW3:}4ؾQvz]pY.C fۊMb9:H݇WNޠ!rD C3z{HcSl1+p';j:cHth+(T 5c@U U{}/IH`e?3nE: 47/PMw*C~2VT&&@Qp˅zyTtFJ5, ʄˎv%KKz Dx6& */y,2.ꓔT#GbŻ\D'E:n.{-ǼGM#˕4,=;VclZC'~07Vg{R;7ZW]Xc=i'eqʲG||]s!~λwhVבCOaWF Le-h]4S~,^b7y]0ZRu|Lxo=KEFgɧ!pBtܢwm";v: %Ϥ&sKfݓ(<8J9'5pLY"R))!zmF\]ηe#9hw;tL^@*6*Σ/Q[x ^ YHU~@Eb~~\̛,ފK.bOT/Ѯ[T ]$N&bIeIm[)+ oiErεiU̴~lg{[ٚYRQY@,WXΰ! Š4',bȘ3)  52iO+7j( ڀPWn?maYW}RpemL-+86@`"ZBkuhJ;9kjGJ礁&{ν/N۫nUyM4a{LpϭgFsmŽ :-Ϯ<+} Q ٯ:502e1J&s0Ԭ8)L8Ў͂f)#SRE8#g$1fte B(V[9:02iǏB ScŵadA($5;K 8)?bBI4|`vn ,TEC$"K!`$ًv.:er/$,ȟwi2|Q|J]Z"<*:;?fc"sXЂȫ$!Q(-[NM&hx@>'sz +h DZr$I,ky@|N@xbGRCx%Ud>bYEy)hK :o~X/8#2z7F"@H /TOZBuV׬ Vy{2т.9EL3@tNRRHyV~!ɦ]Y}ks yg^`fDMv7tr ^D?90?4Ji 0q+|5m6~ը0lkADn{4SsxPmѓ}xn^G;RXۑj1|X.ZrW5ӃFzK3/{VVNʐJ*pTz" ԕ>K2 Y,xwϝÇwbZ|tD@g#_fed'Ar0HWR3v(e*<Ke}.˹ҽ}0%lUY9 L>J9Q4WA~?HsG)̽8x7gR0shXf ("H3{]R Db1KA{%{ .̿|W #+fo1WhS:O-[}/ZX2{YP%gSt &]B[ߖi;k[ou톲լ>9ix(QT|q8b?"8HD-@J;ٯzݢ v?_["v!)E~ʱH c]>?'T@7lGir!]-eJ lddJJ({F_8S[hm9yjWt(|TBṩ#Kqvz>SZ:zϚ "G-!4Deia Yga#p{!=Y)_][3?#[7_(x|Uϭ͂7gSA:fp[`KH Jw HT=8>Ջt:M_F÷ƊDցx ?c^on@҆$M{ZUkyLl1]mjnRD3˧ h^VKFјNjS&1jdd^Y?1:.ݴj~ɸ)ׇmUr3dW$;E)bK5༥jhC֌XW_VL5X_?4=&o׌qX2mz)zlVx7טY<ۅ%l0|ݥ^/"˵f"<j9IҤ,~+3&g -RH;VɧDd% d\5ؠ5ݘ,eRqYۇB[VBBh60:zk)[xj<k*"T8-;+c)R[{9ΙLK$-(~~]g;z!n1_zXF^t||2ފJn_~Vq|R&3m1 :/S[ُD+Ko-r$֬+ EJJ/\$*=o6֣}ga8E4g>dNE,OkJzVyMˢ{}CEe~HUh_ޜ΀ba|]˂Dnǜ`MghÆXC2~iu݌IS@FK КМPS .UHemu4.w7f/x]Ļ[84Ƙl^0(R]Pt @>(|bkSJu>gb(  !\"&҈`Ve)7G 1Wgfĭ#(f=_;QT+2`IWUV /}2&\2W?:eá.&*ZoΜicmJh&6g Ɔ|Rf;@@14d =2)a{:U˸Mܯt ٻ技㢎b Y45PVhHRb bJkuV |M I$gr:bQVU7f7lG d9yZƥ =\50OY(1Lmnd ddft/OXecI R,ϺX&c:}c]9|7 }E hM,HDaýcv2ˋ2F2'E$E.ѓڄR~̕:01?+ `KȮR,{+e!`A:C<DUiʛj޶ckbF͈m֑25(]E R,ů* h,bgMG .rdj[H)DG!d[#pD0::b~ThxK _UQ@—#oqz9%{/U+=*E.Xmo(-id0gX3D|m` ؁Q`5 =Āja*A[Cab,J:c_;hjS ED8DzId^O#{ϫ^:0_˺QLBtwZ%As"ψUgGt=.l wx}V~o$tvM`*U TvB] @(Ipt5ztm/Q5]&r>$pTQc xfٰݳV{[NCVDZDKtJ܆׍&|.ecXl4Z9f~B4K^6v33-utuVW7$?{i7 wFt!Я41݅Sr5Ѐ4=gQUQ2 k0$-U0~v /E/2,5-ԟ2ᰋA/{m`!Uc\afMdRʐ- "Ӷ>ġ.J| HQrO(1e$4тgiu<û?DfZ'zb#ƒny#s@?ОI}j_!g\c%QB &o>X*AGrFh_C&rwAG{(/߉8[uDn,7SENC&HůHSH8a 61¾6՘hB{lpFٓ9%_` & zHף@hvˬپd"@ܒ+b֦fɛȓQ)F{I'B3<$h":Hd%.|O؅]`3_M5-9 sC\C@waKT)UfrP!$#qa-7잝n"9]CfWd*d)N8͔-Jv5FZQbr"vo"J OJyR8KWw37x|'7rW,nJd3IaYY,}HsTP揞F|(5҅Qm8!U_XA&pd'/)Ox%y\<8Lw5DúQ^2fo3qPֻP**H'$9Rț׵0ݢ>CIn޼IR ^޲o ZZ`٠+mH(%S4si㴀zV<)qF2jJ~:*Ƒ&##cܖwb[b=<˶Z!0~DrMj)/x(Z-! JL~)z_}6x8Z`K8e$ jZj CX>ê"<5h"&[:ꊱgb^F+>=k$_C>\ =vFغz3_:(78u @48R6mZ7oCW0:_j6sFGYJ] M&E'k:J)&vBz'Zt2lg]W>[@HyǹžXii2FR= _xXPC # >Y 1um~xzDvSz5x.dL&^{ϼnB&"D {ťՋ=a0ͩRU'‡1j+،ёhP17a׭5ѺbF]DkLHv6x2ix[ÃkDߡI@`O F/z[;t@ ]iX50}jIkӲvV}P"=А93&Y !Ho~(0ă Vvf ܰa!gr" Viz-v `_pV+t51 nEZ M87<]Q:}DHKؒ++̗f20 ]y%Ii7ݐ\S:}j}N.D mJXn ƭq5W2F:Ԟ۾-S"^_r^Tꨧ\~\O_xHFN뽒7*_h-= 6"?/GE( the['%Y*F]` /L\ZiK`{&Qx# k%os`\ߡ0G& k y ë w^$ohR &*Ƭ*<@>V8˃.n[&ý^Z[s!o3P(/u좿GwݚRa-aIDPd\{!鿣&/q.Ek*yQ6E=j G|[pB#}'LI 6ubߘ OW*B3xf!Dܤʢ9szj5TU [8q/Sj4VwDu*vQk?Pc{WLng#!M9Mt4 ^ַIg1ĈAQ3fp/79Ѱ`88o!i}3x4@I$`0;C:/Cyd;8݀msqs0t#gOhF8B1 rZYHG'C(QYD*#T52)bn6g $3[-@z?8{zE/Bh-ƚ!cMxR xl9źn2>^꧟? /z_=Mu?FsHuaya)_ʥ]b"ԇu6/*ٚO砇0CNdžOXǠMCrعK(uV/yE \E'zrzÝQ]}\31УnXL`'9{ο0mO0|pi7CAqeWTk^_6Et)%3tYqs)QİV Cg!<@7ѳ~NnNPN\}e &F{9HKVSTlreNCia A.^t!%UgCM߅Z#&7aEΈZ8I 9z m\V n$ dI R7#]URA"&E4AtzN5+=l#ʸΛF$e"i[ yr MĔQ`o)!_ƑLPۇ\_J}O.aCٶ@eǺ 6 *'XGeOR3Df| @;>yHz'Qݏ.eaAh8ue[H$slFɆOK*.8n% UI.M V)p''Xh7.4=ގ8X 3:سlb7fOcqHçΩ[g jK@CQ1% ?~lQbS_+A􆛝Fgg!P]9azu}n$f ۰]mX.5XGۥHtVP*nc \[CׅWŪld#[P\ Υ.J^z?c Ο꠵Tfߝ&@ }ۃ2vedV9πR褀fUI]5`{0e2j4@joXB [=v`2Y?%+˛׺YUsF2M2)cz#/- x-*R8%8n:]L>} l_2 c|v }|<8ߤEw,Ŧ",V\Ð_!ZZTU~ Ƭ@ZިNFAwq*RΟg0@pAomE}}:O֝Ə#PP6/~A*asEk݃'h 't3XĸLDyΤS&q,FnWPV70g~Kn6s$ ^LAO*t|=p>yl0|0~n_l.M;ӁKgRguG(|.de8΃}w]ݸ4 .叿iڛM Dט>xH,<;-jgH"`1qd"qoWx"軹t n |t:tkFxi{ @3nbֶXZ*ʷ>z {iE86ede4TXԤM, Fk;f+:) r$?߳{W HB5VkRl2YTp ֞Cc>%tY0r~: wᗿ}7B+}XDB>FÁ$^* ^,*DnA쩍E=DeAޥ,bS<龳$#g#![?TI6RZ1!ʼQZs[deToQ:P@ZX憳0RgDž, &sQt]j+ 5nw-V,)騜&É'6;VޛN~!]|Rzl%A}k'E}NJ#Oކ0d&"Ixo2tSW+znAxZGu<@B:d@n2(2h֗x?,e?b3.( Oc-Ϲv|Mfߑ( WķD&>|l2:fHLhJqF% S4JY2=2L^-v\,H[ \Zu9a+o#`tP8SlHrkciĥOvXS%1RMsZ0s@I1a kZ(m$ ++_F_XI7&xhHF/(8'&QzPΝ$^[-]ݳE)z8S(Tnέ/- G'kdbPX PN\bSHc5z_P:h6/NS rڝ^,8+-c~O.(ҙ->Ǒ|C?\J<۸=<*%3zE0k]y҅OBj@Pl}I2RCryd v" ɠtĞHazɝ?a`-UGHH'y!LoQ9=)btϾ|2)25q0h)ܺ\O x$L!qqKjcO6AhGَmZ-I֪Hf a-{203=DUkm "Y<&̒X3o;\W+7JiZ:Cs5kGjia>|Wp&XJ:l0 z[ 5:=[/ Dlj#z>UXr˜Z0}Ia_ODP2[LޱP޳K=JBIzoijDJQw"UH0ύ$vԪ~6pHj :UIƌjqM @󋘼{ZF{@~{B(M|6A4Z*6ݢQ8U9'HRܩay&Z&cusq֋Ū0:Ͻ s=O4eQ9?HI-? DɏIXX\luH۞P_}[ PiX" " _6ku5DelXЭxbD tb^UwҭڞQd]xQG݋h; 3ߴpl糕:,btoǓzT13voSZ#0jV+iH9@lOr&%v23?eME¡ޜ_E nR湡6 >;>ȼqf$/EtWPl 9}2@6]Xa/'stJ_U裷h =W1yXgQMan.bc9bA|T$BY3,øW h*: c LOQ4ۇ77I4 B!v{j4.RR]aqW$ҿ^Gd߽_ DwƬɪ_aż@XOH&66fR}O 3D$ڳkU~{̗/줰,~b|_l]Su;oL }g]" [ˡ;qˎ;v(ڔGCCha5{5.񳙪rGLP2XM1D SkVw=ckzv 2u'l4:@E֑Fn M>7<~XrsB 6$_X?16|}u4wy^c1ixK7 a1fv ]oeMa. {'9X {X%n*2:-`)9ܶE`B5Uoy"Km~",i٢3,hIظ,ѥ_Hx ]j2ʒFW M?]mҶ"m&Re o4D1VDSP0X :;a]c)=[ '0rF9ӛFPz9W{#y4 0 LtLHN*[NǍQ͏ʗ'DBs%A2(^0W~ӕ;=õ:/THX|Ì*ClGHBoQdH-fLBV\Y/ǞjE/I|?{[[adT|̾!hjʻx<[HpP،<{]A]M3hvd^֢D·a3ǩ_'M #B´Wy7%lڷNr}^ .r&sf#Q0)W; M̽/2ڔr[u_roOr\fۇuWJ_˩B!k>Hrr^qGqRԻ>9vm?*,+6!`ю nL=82ȯ~hk1yOk##|>J  \g쌔'^d)i?Mz=8ܖ>m0iCX$CRЌ\\9\7*7C?M{5/64\86:-}& vWTַ”! v҅~"%K^ͅX*V%O$gIhezaW>Me*:E@s](M'YYn+٤hi!w^YT3"=@ iZ/~-V7~ _2 T* |!x@Aɭp7L)%㹛C}.(Ph.cMMiXRt |+@<cHH˂=#•VOۥ ^wKLx}Qw ۿ_QwU󦴬\#ÁԨ io5HဟP)tuGtKS\ot~ @fۀ4 UwmBMO]% tUFPK C|(a`:ܲd*O&Atd6 嵝pfٽTb =4-ݵ=/g k:<=ņJ* 2fBzOR?,jXaOn}&҉0ɮVո>J\\#zշ`Znt1Z=&zkC WWqul/VXO[<6`=z}pK[Vo܅ >-[+ִu%^06z %d#Rl\L_ ՐL|* #Z҇Z2Ya'sodH;^Fi7 "I}Htiv⸦_ҢLMxҶwmwJ}Gx|0}BL%I3͕CecPt(=Aҏls^r)?a;y Wf4=<ڻ+G('<}osys$O<C 9( 6^nd@YqFf[鸊khGꏆUE-Ҫ0=x1e5stn:+A:ڬ䃢gAP-,Ek?qߣuߤj1= 3F_) bXlb>hh.Ja8̄42##ok)ƈD 5Go&gB]LY!fNꝼKҠWVIcV撚)PůG3r'G_,g_.ɂhc쓁 ITGnjmt@1TD۔(#- S9~PpW|[ z' #VlР N慫kƍm 2R nݷ6lB<6㌲(qXYFREHÎVLW'[$n˲ޙ-KMdߩ|Xb2o>*2$15HuԙR $u98!Yo.ld?g G,Vl|LL&eQ'*&,yUJbJ12"ٳăpd(Ĭyw"DNxC("V_+&E\A .U0(deFt%Gค'e*Ob$ ӳנr!J$NA_[XHZ12B$ iOhx"_}sQͽݣbhBOUpZi;%aiDaFpx,+g3SRv?Y$6QY,:j [%T%}sa($Hsڀ`>>{,RI>fv~/CiZ\hĜm 5.Ô Zf<6X. WC~_N<V3dFAFt \͖ao>1/| @D2j$/;1C#܀ eU}"} >Npt APgewJ3_0ޞDbXq{LeP [,@LM /N񗍩4ԄFo Q°i%2ƎPH1a{O9M*)A$ڢ)?b޼ 3gFh!b'k4y/Ӥ42_+sbsw[vy[^U>>]%Ɨ1 Kpw:qMwV*}bͦ}_RIMM[ڙD #Dj+TU_D~ }3 :;%?@ 4[d f1JIGgtI#!U Sc²{mĻ9qs=7=1\<ĒVGu%'>l,КeOO6"b Xbλ9WL]KЧ] `J\<)@>[%H!OLB [jOەyBr a&X_S曵JSCvT0-ۗzN[A];kjb8.+~ss-oYûd0OA^v?O"f49ŷA{T,&sv!WWv4 .6ĭ!_8/\*1D12M[e~Ӊ+ 5u3E"gR5*mgՙzYt.{H);(*b6WE[lv@ <ưݔNytH8ֈ9tŐ5DoMHbsuTH77@"盇A-yYѭa 1{-Z$lR IM#|xb)-| {[ Zا>㎉0< y2Pf&Bfx,bR.zG qrPn)0B'P X!YY@J`;b>Fa ;gv]-"Yse{Z#` Msj :X!rFת.R4HE 7 ~${QdJ%1{Nn+'p cF;p<:jBF1BUUy{RAX* GmQ:G_8: ㏵۽#޽|}Xj\)̉=3Z]W@j{$;)]_<[ܶ0M@$&ն|XS,0t/ngg[St F׹;P}-dk"qJ^hu-c؅8iph$Uߗ{ cф-9fj5Qt,&/ȥo>N~#&aaƦdJ]rȖ\ؖ okj73]!VS4[Ӂ[y"aXi!^Y"MK*]PƽaەM[.Yuo;|Zn#Teϳ v2B즳tuƓ׬lU)[8oE^5%J`~v񶟭t!ҙmcZw|vOy!G291' dCB +ښ0lOy J0~K"`T|iZeY <,Ũi,-\Ck1[Jd[')KrWuT2f|k+;Q]~"CYv3/&mZԩd9<Ũ$z #;ǑCEQxOyu~3I1!,^ #A,6`grX r-i m| ҎaY?1xc̍) |i}KI;3'YO#,!^ ,7g՞CfiD8'$N8612^9]{2 7C$&Kg1M8C3x3.(5e%Mn*z0=h!j f0^_-7l0`RZ{_ c=FTa;.7O]R!: "68,W{#ĢiR{?+\ wD(Ulq0p)eI0d9$0z{$j9)G&qwBiZ>蔾qg,b5>N#I/ĺܼ¬,i$9NHJE+,O;=foE۰\ՠ(Ir~(jM$(RCCD y!AWΡOw[=mp7 @9jq_>4B^$><:gԑ3*V6F G&AoF6֌I6(2ʅd[%4g;8f!FZqBq,|Ѱ>X=l!Z5{ Ň!Ub %x=):e*x:5$$C0֫g1ywJmnYol"H&%̾)!1| huL=hj7w $׬Fڷ8dVsڮwL?-bLrasE#"mzY;=rǺ"[33KsnvlԽ(~F.#Zf5;e7PdF>\mOH K?[ լQ }{Q,qE77G*@tM_h;,u ,Ogh\b]yB}1D)]ZKցjD|iiX2+g%v Zjo.~:/!m\ Q{ns_GZ1=ZUt0%+Qb GvqD\a njƺ>Ǩ[/c=MG7_;"F(ֹb9 ڇ[QRy\ G֗ꜙ S{ٝD4!Oz2G_%Hб2ow nyknaEm31*7;$YXE^o~0}]6N_7fZ1x XoT"l DFl%NOᎷ: d~cTTNpgnx}*KHEv gںWrKueثcM<^9Vo$WRzd-WIk`#ϢHN o;;cfE9p^ϻ jTtB JBHt-FJ1VAyQP,m|P_@ ~xߚ\/_ )/h, Wi&Y iN †ik&cj`AgAl@k/J졃82N)A Ӄc^?-e}=MEYF)HCHN"P={w8)\ݠDEj:&tSu/g0BXCv;ي}boR2Qi8u+^cAs"e.ϸfHVu/uMugnc5b9@>8k1*g T)H׶ĆJH)x/Ot1' Ǧ!HLO4pJƭ)kFƗ|[ă 'zAŧ }T-Q|n}`fzw_`FwLv2<5d$_YW\> nlT\a`#VC+8TjܯT]25z |!Y(ak]arw4,miFUMD\/3x35tԥ+vmjQ9Mvsk+;\Ft=NϒS*l%{n(z-īē &4y݇;F!AGiO)^!cH8T'mlGB%lG1-LJ) &_Huc%`}crx<7ҿB2P<T*a'*gcL-v6 yTE 4b8'-1ÿpؑڔEǐ1p (+LIzC[߅TXk_QHkPBj붌G;'a@үL6?!-lbIPzPqޠ'cenew'Xc8DK1VgWX?žiz:;]"0 #_aީ5TN &=Ucu=  =Kk_C!S2$fQcN|H#Lԛ7YCyHEqйNGqU.!! Y%܊gm{nVU!v8ۊwD7:yH}4>v!cB>~h'ji#4jA/VZDFT»B- B}紙e:hIS0mf^zhT<>W/)EzOĆE*BqW%WnO\ttnsh6`ILZ#߰9;FE\IYI&+*&l*UX~VtxOSw=^R2=09,2늽VEĿΧCpږEj> ӕwZy7bbxbItK ?D_[;2]T, P\Bиr%};ϑ"^glCK="sʩg;Q"2wE^z"mbL~4*cVٝFnEF3Y[ilHhK!:N  p>$>?(XgMXFVf٣6濿VTO)^-N j#""udZ>EPɾLa 3oCzdwiLC=ze#ǯɏ7Aā-@NYhYM^8+ \T10?ȯ6MyC ܁fGX֦:'Q\e|rQkh&S{PAچ+X5Ӆ*']$cNOĒӬݽoM>uEW#~kҠ n$1[UH]=ed|и u|*[<(A"-_Sމk"@h$PXM(Or/Hj\D`@?T,'9VsАt) ͥM .d}0TJ[xܽ]X8'Uzb}MP9CQxҼ `7WaɏR;SK@4sưad5)eIP=@Bx)ǀ(`~quCWgvڒa{-/ `QG3͙|~G9䋭O,8L0Jugk#U!NN3AFgAI3A[YEbh^}C(s߈bNoKT$=7H:w@r'?i\^]Qf2Ƕ$a6F'iQu "8E+k]9rmrތm/PAh Չ&l$ÜjMy0 ,_w. ol*Gs}5_:5te;mcY)8 N^4 )x ԟ4LWW˱6b3d+S/n`޶hC@Z  7YIҟ$N9\cKR"%+HlT|ߙ7iMZ4PYxz [jR¤|{&IU|ی"FuevtKN15`+tDlEzq[nJԟޢi>(I>97UmT;zxNVb~QfT 5HN. i+^= NU]rj<)v2Ͽ#ȻRop4~ˋZ;ݗw,_ӝpކi,Q<] !7JAO#Uy <\A';A%O׉r9m=DQ'Fk|N}UYsa,cVnMhw=ҀDW;ReT@ttڗ`lJ) %D<1GB&幺;K V6Ħ&2OЁ ?\k鶶2,^WIvczΰ"E(5|\1bpR`[F@~ZS aX$"њ46@"MݥD.?$>3)|(OcFWO/I)ikNzϭ\s.f?a׳ ]Sb X5`WT$`?b/OrAުV /b-'K'{x(2ۏSpIPeut2U,`WD~4ݙ4^,DpT5\b)Š 0Ml/ty޵LU @bh݀'[$@oqU g|HYJ컫riLT_] ]-X2>7^w|7K905f}&**b7tGUUV/p?NM&4ˣYvV((F2#256$H 6wU.CVqu<8"!(HN?k :W f ZoT!N3* S% 9!`OO/W8o)5cꐾZ[U(K$2'-XYENF] G6ipوhRxZ#XS;GX::ԍvY-I\ՠ{}vKlue[LۭmZ:jޯx&z/7h>dB3H7"b[]LWEs go⼘8'Yf9m NtX64 y =ۏdaXoC8uV-,o"_YկbxV;n2>aHL훻y->gx-+q/EX dk C.bp{v12usyuPƾy0< Ÿ"zH*RXc|Hb0Ew{`39 S&=E5V:j XieiyBg=6 sB"m9ABD9ҁ(޴es5 PRgp70d|&$2?M;vRGoΔIU8I{EB#@`.nTs;RPHnPU 5go@ sj0<-/ B3B>1 V .t Q3t5,d/^ynHLP?vEw$2 iL'M=KЧyNEDCg>wr瀠ߔ6Z:c< -meQkM{5']BB|ȮU8 _NpCe>9Jbݫ+b@9YK>Zׂ:_Quŧ 969kl2Tݺ_my&yIBoʞ;Mv@qORĶ-u% +d$ӽzDZ(ym}I=NhAgpڧw0uMNq@s&򻩧7] 7@{T`Vy>X-}ЏBc)|B]4=>‰.=|z6?@?`^ PJOzq m`sż1I|kp[e=b/%n׀e:4\|o@CU+gj~5%iA:(y cmgP,]'SXv'* ZD*]I+2md'FFC{;舺CcOXf۫_f8DS,#\_)R@!ciHq0=0ExXt|si 4\}3aC m=0pX'Eݩ)| va.YW߬NlHffV:n3L} ܖO'Hw`C;)R%[63QtMWϺY4"/ւؿ_\lG4dhsC.Tb!&;-]"8` #6 UPt/y\5Rs;EU;D--JTjF$GZ5nh[vf;10(][x䴘#?8S|!6Qm{wV&17@Ečnp707}K\K qG"]uйaP4P~`8"TzmeZtq"sA9⨂>CW$Uz98K@Rû:(ʇ5tzT K5"BS/8kQ5FW!I;}X[tF.ones32xozl׭Uw:M~m@޿;T|;W5QdX@F0xv /*pxr$ӰMUDsbq4Az6]Tы:My;6 r* &b63 c'~KQlP'P8ز!k:Y0lBL{!ڄGު x+t/0I 7JHPX@Js#s[? 9ïj#!7&r8'(Z,tH GY* . k<|_j$TTa"~. ɮ͝>iEQ/94 fO;kt-<䢉NUM[v#5HѬDun%^ֶ*ݳY:#u.J< y3ğS>W/TH0e;HmNbz.+=!3h]^AfA0_ EKUK% -;A|UhhKdZ 3MQ0?]&mtʰVH2;@@uUKF"$C-R%gb/B+A[rۼ~g)I|&`kTM/vrͻHhièSڤ2AO]ϚiPےZ?fl?<+}G Eu⑘te6 ;oj@v"T?F.njс'$hYW>eQeqJ2[PEׁ$*.0bӣA(ig.wvbkXõǰ m {ZSza O2sGm-|7J`k.qY9q>,y| w=cŦg b(}mwC{ #_RFْ`Lh$&cGoϯb lqײ)(O?@+QvG첗_>{M)mS6X~sWHj)`=ڻy3F}R 떓c@,|_YAzp}Ly)DiMp2X,Lxh'((ƕIg'tlc廁m#?OG%p[ jP2|~{N+!vq1+9L!' ?Jc;^I)s`kLcXbcp[~…6ƹ#FaT9y."NpZWG9HsSwO\ "zUH v*(((o%I1n0 ~O}N~ ,|h/b\+!J49n:L!Cn z"=HD PY(M'ՑON I/_;Qoc)}ZG9BSEN_8>2~WYc'xV873ؠFw:>L 8ݼr}#a$?ҌRSM M&|˒ܧy%dy$>(6}<;"]jн;w;`nߔm:1817^{3TNg@Ju9Xq-B#"zf!aAV*i4U__|q-QuG~4:h88ǦY Ԛ oS·K-^f{@oRUe:ٸxSsɧIi\9oeF$vWWrZ˫tJ< %UnRLQi #@ gs3s}c|7*0auy?P iWE>LNХĦG}df;IK1a9*N$ F65/7ϝg$O1[<:|/Of ˙Y9Ny~ڪ*%ڞxߢ ȉ`?* ٘38: LR*%:I,1G΂6l3rK-}FP{Q=I;aZgRhTAߎt}=`#v-3nHC~iK@t+c1<ى" 3˨HDpU"_ Arq p1L>lJ2 xƅRY1o^ FS3]}UGUHFLdCd@4E/I'`kt^T凤U !1 9kHzHd.-%wT\-'oԘJ"n }7J;>)3c,7-K> 7ӏf@6x#/Qp[ X^x jeBe [ļ=$ PvQיxCC~-:;e*Nڙ` y˞Eoوgo:¼xZ4MӤ8~_M{x͇nj]2lpI7TMbMNz*&),|0'TUQ?g2F@(j5XHHd玤9[6z2Sz%f{~De-!V7ebΕfs}o>N|IEwiEDt:}cRԇNrJ9V[6KcU1+C%~ic6HIs'jLhx ;w@ |fji|:L]=&|ηޟu_*h6O̞%8s-vDEkDkWB()Q+ ?7T?TJʆl:*3Ա^{t|Ԍv&v"f):my-wF7m_`IRV)0 YI퍥 GӾA|{wSp4Z>H&t.sA1"A5Lr/7k'-Z @S̤NDu]) >If"O:<PdK,?v˓?Ț)KEu>Ab1DvtpGaMCC?K نx.a)dF0taר  mw}$O$=8CNDYu'ޤ U;M2'@Վjv6 >?Z$Tyш;0Aޝg)9沎1H]v>NQ@rwbҼYY1;w,Z!7@dAY9YCteHyJ BϏp j{g,Li%6Lt>>TlPPZW֠c!fa"x6Wl}e_;mx춱 q%2#qu '?}wO.sϳԘ*(K=p$8zH:m^>g}B٨, ݦQ׽Su~iFpc,?850N٦$뿪l&"޽rJjAU5x,doݝO~W ((=0I1:_dlPWg͏X\b⭾ o:JeQG:Ellnp1k7P{vT׸,yPo4Y&/o8311 rI]K)&L$3k dnb>x~_}kt-C[Q?7Rh>s/bV*% _վ(p ՇPZ]տq'1Vr E2u6:Djj15 FR`\k]zpq妧FʮmQk6Sq.8܁tkqmv8/,' ѩCQCn)rަ""iN$aLDtۘj#@`~r-ɣÏb;Ӥ3,BW%VH&~:z!bvȵym!W4(Uүʰϖs7d9|,C@IpU9+5ۣsIɰ 8" 8CZ L^ ' G+Ӥ}z9 17E_;6L7±rfDZ"ճ }ˣj3wd2.{f?ծ[myTaOw }~9JUY b NM{]S׷<X[7_(𠕑dAXYqï렼q2c'srnˁ؋qAq ihi2XhuK/ffNCpgF2Z m+q/H4e`+v0/7p#7\gFzGuJ'?`41=gBS!6c! ͹ڼSX| C!,#DE^lRNH:1uxj?   Frwt%3e U+*#؅XuD2:XM{Hƌa(g9+zl0FHn,e-G.@ I5>Ԓ CD@12Ā{UHOW.>LO_(։܋_]2$]Aa2gې-9PJML{#QFͨBi;C~Rw}-y?EZzT]ba8HN~/0 epG6QH 6u5ϿQO% r5a]PYXG-n WTQ8^>%CļQ`]#eė~9iv6'z>5>⇂$y9\(z4grC/(vT.Z { xv],{u7oV5n ([v|Xg?)rȓƅXeusMs\vP^?B ƈ[8ЙI΄$!v`pt õet٘;.l2]}̬FpvJ;`v\+hRiw+P'͵>fk)NjCG*$>+ޏYc$ȴ@uwvO7 r L5f$ŀ?$o!e/s6vĠZTn 7ffm2 4ui/cƨ #x\}O- ,ׯ?ZG'N6b _]E܀I(0"0 uT"Q ǎJsU\ЕZSYr e()EцP4 HzSV!iOKй%ۧko4P]tRE 3G@6( e (XH$gwdR 3-f6ivsHRbe %s#~0_Leq$L^Pz.uAKT"k5صKKt_yP؅RhܙB3cSd7_GtK ksߟD;8ck I1ӱ'ohzJxvL5[ H(NwN*yN ֿ݁F;V貚`cXj[H^M$;uuߘS`0XDdgStN IA^Ls@7!--qF`4xgVʢe"s&fEX iQmNYכ_(XCv@{,|1q/z@*S .]IK"GYFkEN%NmL0z7èn:#5u`2m,$azWs4nCKm' lbFԕ?"eWVXƽkjZ޸dԳ0qX=w))!rC,a$y~əf/% +$ N#r5x4 2f\km  핥sv8'{[eudǎ4^匀2{ív|; 7##Eg"\GdhE4`G} ̲oMD?^4t KƄ7ȸL%k~ KDJT~v^e -Kk]dmf@  0'+{γ ~҉J {7c.8F )#G 7AnkC4~sУӶK^{ mb3%éq5)2'f  *(% RLt|4f hR \E<&'&8g 0e5`*? {VVz_kJ(R8ŵe?}y؊fT 50H˞:J\qJ~໶㥖_`#jf't[q<q:̮I㦻3WNe.'#|A&OZcJ/4A 81*Q]ۍb٫+>?.J ̕l)qt@h8RZIS#8P DH ;ʒL }63<h&swvsWoN_ \zً?;9 ["K/D]АeX$ZkOk"R!P!ƙʯc(C|V[U"IES%lo5F# @ J-P'daP @M]$Tڥ'*Թyȧ8b?*M8\ 5]SD໘@'@!0%\P&'x[8]vL8hl-ƒFO$K)s/M*'8D7"!8oen ǀblLj"Pd$Oϱ5 6̹`2QpifnHoeqtv=;f"/ [l-nfm|e1$"7B 8Yd)+}THǞ,i␭:3XV'ܾDXaz?UxtFC:l(o,E7lrG6 I9qQW*z+gq€]z'mʸmQ>fCB[׬(բ;TĮt~0Sץ¡g~`7K/Vkչg+AMsGl*pt>j42&j f ۦ`mjl#H]17+47yޑ6:swK dtkdŧVՏt6N EmksX ڭdoTZ63&O}Ꮶ`eU| } 9u wmx. 8[uN$n:Y.̏N͋D]H.&,= ᙠQV6BT玖rn aB 4|EbdV0LjCɆw0K@ep hfKU\2~X5W\_3S3{q#wP%KM.ur6A`ln1u~,JpjX5OVHIKGM9've^ê#Eֈр^m5xJ;h.K y+dt@m{KߧX>VV[ͣ!\ee*p7qiLTS ќڷ:|Aj9zߤ[ (EcAՃ$s] 7vynѬ on-t*}w?>=D3ki ?EfLy):Ms{U$_U,izn=A"pl1Z1?O]I1͇"0sKlx A[I3C}bZ"P6 Bl*y5hPɇDE{A4 % owZ*!fI|:.{f[vN_*gM" %A.uʨ)ŕ;y#s!HOP|!{|"?86yuL.W_)I12shv76Czq7 (ԥD?hJlM_H?3Lœ/ʖ5lf/PS{"Nџ-=g<:]MFw\1|6O6*,2 .KC6@M AX{aU9.EilJ<$#u_U{ Ei8 ń =Q7NTt?-Mc} R%CŒ|mRSj1ǵXIk.0Rc[̏y9F}&|j, 7\CHOW9%OR7!w-:U|$&9qt&~L)m{6ǍYiUs/=;y@h/+I뱬Μlv$4?{vڡf*/`(6#żOiAl5F"`%_y9$< ?@!/Lz\C 0CaSziz)z|?Ƃ5%{k9O1\ːW ̶3p|fz}^ \x,f#1Pp(N= .x%UrT }}<߽eN0'x5F>^fkR D?|{؊xd$ԷMAϞdC٫PgM, .ќ(ɬprφrbXi ^MP_vb~ 8j:VM![6 *5yuxi7sqcg HP#sas*z a?@\ڽ =B_ ݶ!oO_6N)^}Qp~| yݓU{ƔdY䞡Ń*<3+0^_vy$=@AipD%,.vεTF(FX`f{|xhJ4j}ÈP I[F+QՔzǃЂٛ*f >vW`;n A2 AY:GS\#bVY>Ѻ`J0{aFD;Í`=KrXP~1]6t97+7( 2h!8.bm`m4uHƷG0Ьqx݊{- r=M6s +-:cx_:3/Z#*XZq͊k?ωPC-C@@P ͻb}g˛B -g[7a/٦ۡrR3<p| Qn%o@l︉ GHڮȟ0(Mk?ͅMf5;C%W*JeP IS-{`-d^ )N6-CI(Oge^P Y>Cq՘V__J7l^'}&9ߵ.@X kYqtejy2zb<`ktp!G%KFnKA$`#BZZ:.jtP]qfB.pߖqOBǭmûCWLPڵ `3i5?)Jmk)ƆǼ/>5N}N;mC|v=?I'ӆ7G=GWg 'â=Q'p SwX*bB#ux5-]l9ތn̜C]B'M-uaJ*Vd 7k:(qsO j<<&q\wэ°ULtn[m\c~RgbTbvbͬу\@MEu|ޥ6XVݡS3)J,Xk0#7{93>Dm.yqtZ9c՜ɕ~{sUȼE#Ӡ|&9vυi,C׊vtOZV~0IEU|J+"jYka*7>lz|IvYvgU }*1ejr΅eG_vKU1'(Ж.նv ^Hߑ3 thVw <Jw5. i {lsH0SuajG!6Yl`Ϋɶ(ڱƖ/-^<ʔu&CQ߄q Z#3!+79cke >P Jc]M&\ެK s_H]i2p;taonMdM06Z&ktީ"(K R6:\x4CP)D`vt򧓛q4ш_|&["#vHtϬ_aIqݯ:>@7愺6Wn[55:_C ՘ cN 8c"?ovInCn2[5ZSQ%4H|;*CjC=N6o弢$Y0oWux? f.o7`@گnrTt(l/|a) >nw4Ԟs Sg|@yxB8 [rSUNI4p%)jÀUmkv}ulc9_A}Wi ao9RmZ|?e'}MBD Go}z;g) %ooV_f SRH ]GkT˛0,͕ Ͱ4NCQxuc1 YZ