security-tool-2.0-1.88.oe24090>    f ;G|`u` ^EBw4Vq+Z+LP’Ea81?1d  8PThlv EKT |        V  `    $0f(w8 9 :  F G H 4 I \ R hX lY p\ ] ^ 2d 3e 8f = @ D J   Csecurity-tool2.01.88.oe2409openEuler Security ToolopenEuler Security Toolfdc-64g.compass-ciLopenEulerMulanPSL-2.0http://openeuler.orgUnspecifiedv2.0.tar.gzsecurity-tool-add-grub2-password-for-legacy.patchsshd-delete-deprecated-option-RSAAuthentication-and-Rhost.patchDo-not-hard-code-vendor-name-in-source-code.patchadd-secure-hostKey-algorithms.patchfix-function-allow-rpm-q.patchremove-sha1-in-sshd-config.patchdo-not-create-allow-file-while-the-command-does-not-.patchUse-secure-MACs-and-KexAlgorithms.patchhttps://gitee.com/openeuler/security-toollinuxx86_64XG &^>fsfsfsfsfsfsfsfsfsfs49567738ca4e5256b70a3b5539bac97626da2f11c9a44a9c34fd19fc95b7f794efaadc0e29f9432d4f4166fa472973e82c78a2760d082600b246276e92207e5bf46c7037c5b13c965e3d251f54b592ac3c7f9f0eda0a10cb25c46f73d4101a98e094b21eac719e564707bf63379730c38aca27d372f57c371df501116622adf59b53b27e8aca22300bce92164afbf18f62e190c335666589d13ab9150c7c576e67374f0a262c51a185712610dad6d9288304382aa2c1a2012a7e65b26dace6f7e9a88c7d2165e60aa5ca090101ab1f820e5946ea34d4c657a60a542463e627d4545f85b1cbfe832392600a3143853e14b81ccda1c4c4e0dd82121728279a44c411242935db5890e7e8fdd434eed037129989d0336c40205a470e5742e300fb79cb742724e0833d102686affbd18d83aa2fed027dcabdc4a0d33ba6538e2cab9f rootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootsecurity-tool  rpmlib(CompressedFileNames)rpmlib(FileDigests)xauth3.0.4-14.6.0-14.18.2d@cS@c @ccv"@cBc @b5@b@bbi0@b yueyuankun - 2.0-1.88renmingshuai - 2.0-1.87Chenxi Mao - 2.0-1.86zhengxiaoxiao - 2.0-1.85zhengxiaoxiao - 2.0-1.84fushanqing - 2.0-1.83zhengxiaoxiao - 2.0-1.82zhengxiaoxiao - 2.0-1.81zhengxiaoxiao - 2.0-1.80zhengxiaoxiao - 2.0-1.79zhengxiaoxiao - 2.0-1.78renmingshuai - 2.0-1.52- Type:bugfix - ID:NA - SUG:NA - DESC:security-tool-add-grub2-password-for-legacy.patch- delete deprecated option RSAAuthentication and RhostsRSAAuthentication- Do not hard code vendor name in source code- replace openEuler to vendor- replace tar.gz- Unified license name specification- fix sed keyword error in /etc/pam.d/crond- add secure hostKey algorithms- disabling the dependency on binutils- fix function allow rpm-q- update release- remove sha1 in sshd_configdc-64g.compass-ci 1727403936 2.0-1.88.oe2409Do-not-hard-code-vendor-name-in-source-code.patchUse-secure-MACs-and-KexAlgorithms.patchadd-secure-hostKey-algorithms.patchdo-not-create-allow-file-while-the-command-does-not-.patchfix-function-allow-rpm-q.patchremove-sha1-in-sshd-config.patchsecurity-tool-add-grub2-password-for-legacy.patchsecurity-tool.specsshd-delete-deprecated-option-RSAAuthentication-and-Rhost.patchv2.0.tar.gzcpiogzip9utf-857530a375408ddc297d9b52406e1de42421947cfd2912bd32927b92e60e5070187a2293f1c9db43554102f9936d164babcc34a305bd4f6334b65e890150bbbc5 Summary: openEuler Security Tool Name : security-tool Version: 2.0 Release: 1.88 Source0: https://gitee.com/openeuler/security-tool/repository/archive/v2.0.tar.gz License: MulanPSL-2.0 URL: https://gitee.com/openeuler/security-tool BuildRoot: /var/tmp/security-tool-2.0-1.88.oe2409-root-lkp Requires: bash setup pam util-linux sudo crontabs cronie Requires: shadow initscripts ca-certificates openssh rsyslog dbus-daemon Requires(post): systemd-units Requires(preun): systemd-units Requires(postun): systemd-units BuildRequires: xauth Patch0: Use-secure-MACs-and-KexAlgorithms.patch Patch1: do-not-create-allow-file-while-the-command-does-not-.patch Patch2: remove-sha1-in-sshd-config.patch Patch3: fix-function-allow-rpm-q.patch Patch4: add-secure-hostKey-algorithms.patch Patch5: Do-not-hard-code-vendor-name-in-source-code.patch Patch6: sshd-delete-deprecated-option-RSAAuthentication-and-Rhost.patch Patch7: security-tool-add-grub2-password-for-legacy.patch %description openEuler Security Tool %prep cd '/home/lkp/rpmbuild/BUILD' rm -rf 'security-tool-v2.0' /usr/lib/rpm/rpmuncompress -x '/home/lkp/rpmbuild/SOURCES/v2.0.tar.gz' STATUS=$? if [ $STATUS -ne 0 ]; then exit $STATUS fi cd 'security-tool-v2.0' /usr/bin/chmod -Rf a+rX,u+w,g-w,o-w . /usr/lib/rpm/rpmuncompress /home/lkp/rpmbuild/SOURCES/Use-secure-MACs-and-KexAlgorithms.patch | /usr/bin/patch -p1 -s --fuzz=0 --no-backup-if-mismatch -f /usr/lib/rpm/rpmuncompress /home/lkp/rpmbuild/SOURCES/do-not-create-allow-file-while-the-command-does-not-.patch | /usr/bin/patch -p1 -s --fuzz=0 --no-backup-if-mismatch -f /usr/lib/rpm/rpmuncompress /home/lkp/rpmbuild/SOURCES/remove-sha1-in-sshd-config.patch | /usr/bin/patch -p1 -s --fuzz=0 --no-backup-if-mismatch -f /usr/lib/rpm/rpmuncompress /home/lkp/rpmbuild/SOURCES/fix-function-allow-rpm-q.patch | /usr/bin/patch -p1 -s --fuzz=0 --no-backup-if-mismatch -f /usr/lib/rpm/rpmuncompress /home/lkp/rpmbuild/SOURCES/add-secure-hostKey-algorithms.patch | /usr/bin/patch -p1 -s --fuzz=0 --no-backup-if-mismatch -f /usr/lib/rpm/rpmuncompress /home/lkp/rpmbuild/SOURCES/Do-not-hard-code-vendor-name-in-source-code.patch | /usr/bin/patch -p1 -s --fuzz=0 --no-backup-if-mismatch -f /usr/lib/rpm/rpmuncompress /home/lkp/rpmbuild/SOURCES/sshd-delete-deprecated-option-RSAAuthentication-and-Rhost.patch | /usr/bin/patch -p1 -s --fuzz=0 --no-backup-if-mismatch -f /usr/lib/rpm/rpmuncompress /home/lkp/rpmbuild/SOURCES/security-tool-add-grub2-password-for-legacy.patch | /usr/bin/patch -p1 -s --fuzz=0 --no-backup-if-mismatch -f sed -i 's|@VENDOR@|openEuler|g' custom-security.service %check %install rm -rf $RPM_BUILD_ROOT install -d -m0700 $RPM_BUILD_ROOT/etc/openEuler_security install -m0600 security $RPM_BUILD_ROOT/etc/openEuler_security/security install -m0400 security.conf $RPM_BUILD_ROOT/etc/openEuler_security/security.conf install -m0600 usr-security.conf $RPM_BUILD_ROOT/etc/openEuler_security/usr-security.conf install -d -m0755 $RPM_BUILD_ROOT//usr/lib/systemd/system install -m0644 custom-security.service $RPM_BUILD_ROOT//usr/lib/systemd/system/openEuler-security.service install -d -m0755 $RPM_BUILD_ROOT//usr/sbin install -m0500 security-tool.sh $RPM_BUILD_ROOT//usr/sbin/security-tool.sh install -m0644 security-tool-2.0/csh.precmd $RPM_BUILD_ROOT/etc/csh.precmd install -d -m0755 $RPM_BUILD_ROOT//etc/profile.d install -d -m0755 $RPM_BUILD_ROOT//etc/pam.d install -m0644 security-tool-2.0/password-auth-crond $RPM_BUILD_ROOT/etc/pam.d/password-auth-crond install -m0644 security-tool-2.0/su-local $RPM_BUILD_ROOT/etc/pam.d/su-local %clean rm -rf $RPM_BUILD_ROOT %pre %post sed -i 's/system-auth$/password-auth-crond/g' /etc/pam.d/crond if [ $1 -ge 2 ] then sed -i 's/readonly HISTSIZE$//g' /etc/profile sed -i 's/readonly TMOUT$//g' /etc/profile fi if [ -h /etc/pam.d/su ] then rm -f /etc/pam.d/su else mv -f /etc/pam.d/su /etc/pam.d/su-bak fi ln -s /etc/pam.d/su-local /etc/pam.d/su if [ $1 -eq 1 ] && [ -x "/usr/lib/systemd/systemd-update-helper" ]; then # Initial installation /usr/lib/systemd/systemd-update-helper install-system-units openEuler-security.service || : fi systemctl enable openEuler-security.service %preun if [ $1 -eq 0 ] && [ -x "/usr/lib/systemd/systemd-update-helper" ]; then # Package removal, not upgrade /usr/lib/systemd/systemd-update-helper remove-system-units openEuler-security.service || : fi if [ $1 -eq 0 ] then sed -i 's/password-auth-crond$/system-auth/g' /etc/pam.d/crond fi %postun if [ $1 -ge 1 ] && [ -x "/usr/lib/systemd/systemd-update-helper" ]; then # Package upgrade, not uninstall /usr/bin/systemctl try-restart openEuler-security.service || : fi if [ $1 -eq 0 ] then if [ -f /etc/pam.d/su-bak ] then mv -f /etc/pam.d/su-bak /etc/pam.d/su fi if [ -f /etc/pam.d/password-auth-ac ] then rm -f /etc/pam.d/password-auth ln -s /etc/pam.d/password-auth-ac /etc/pam.d/password-auth elif [ -f /etc/pam.d/password-auth-bak ] then mv -f /etc/pam.d/password-auth-bak /etc/pam.d/password-auth fi if [ -f /etc/pam.d/system-auth-ac ] then rm -f /etc/pam.d/system-auth ln -s /etc/pam.d/system-auth-ac /etc/pam.d/system-auth elif [ -f /etc/pam.d/system-auth-bak ] then mv -f /etc/pam.d/system-auth-bak /etc/pam.d/system-auth fi fi %files %defattr(-,root,root) %attr(0700,root,root) %dir /etc/openEuler_security %attr(0600,root,root) %config(noreplace) /etc/openEuler_security/security %attr(0400,root,root) %config /etc/openEuler_security/security.conf %attr(0600,root,root) %config /etc/openEuler_security/usr-security.conf %attr(0644,root,root) /etc/csh.precmd %attr(0644,root,root) %config(noreplace) /etc/pam.d/password-auth-crond %attr(0644,root,root) %config(noreplace) /etc/pam.d/su-local %attr(0644,root,root) /usr/lib/systemd/system/openEuler-security.service %attr(0500,root,root) /usr/sbin/security-tool.sh %changelog * Fri Jun 09 2023 yueyuankun - 2.0-1.88 - Type:bugfix - ID:NA - SUG:NA - DESC:security-tool-add-grub2-password-for-legacy.patch * Tue Jan 10 2023 renmingshuai - 2.0-1.87 - delete deprecated option RSAAuthentication and RhostsRSAAuthentication * Fri Jan 6 2023 Chenxi Mao - 2.0-1.86 - Do not hard code vendor name in source code * Sat Nov 26 2022 zhengxiaoxiao - 2.0-1.85 - replace openEuler to vendor * Thu Nov 17 2022 zhengxiaoxiao - 2.0-1.84 - replace tar.gz * Sun Oct 09 2022 fushanqing - 2.0-1.83 - Unified license name specification * Mon Aug 29 2022 zhengxiaoxiao - 2.0-1.82 - fix sed keyword error in /etc/pam.d/crond * Mon Aug 15 2022 zhengxiaoxiao - 2.0-1.81 - add secure hostKey algorithms * Thu Jun 30 2022 zhengxiaoxiao - 2.0-1.80 - disabling the dependency on binutils * Mon Jun 27 2022 zhengxiaoxiao - 2.0-1.79 - fix function allow rpm-q * Wed Apr 27 2022 zhengxiaoxiao - 2.0-1.78 - update release * Mon Feb 7 2022 renmingshuai - 2.0-1.52 - remove sha1 in sshd_config * Thu Mar 18 2021 openEuler Buildteam - 2.0-1.51 - do not create allow file while the command does not exist * Fri Oct 9 2020 gaoyusong - 2.0-1.50 - Use secure MACs and KexAlgorithms * Thu Sep 17 2020 gaoyusong - 2.0-1.49 - Upgrade to v2.0 * Fri Jul 3 2020 openEuler Buildteam - 2.0-1.48 - rm zzz_openEuler_history.sh * Fri May 29 2020 openEuler Buildteam - 2.0-1.47 - Move -- befora path * Fri May 29 2020 openEuler Buildteam - 2.0-1.46 - Do not set umask to 077 any more * Thu May 7 2020 openEuler Buildteam - 2.0-1.45 - Update LICENSE of files * Wed Apr 29 2020 openEuler Buildteam - 2.0-1.44 - Update LICENSE to Mulan PSL v2.0 * Fri Feb 21 2020 openEuler Buildteam - 2.0-1.43 - Allow wheel group to use sudo by default * Wed Jan 22 2020 openEuler Buildteam - 2.0-1.42 - Fix problems of script caused by "*" and multiple spaces * Wed Jan 22 2020 openEuler Buildteam - 2.0-1.41 - Fix the problem of dbus-daemon-launch-helper's group * Sun Jan 12 2020 openEuler Buildteam - 2.0-1.40 - Delete password-auth-local and system-auth-local * Sun Dec 29 2019 openEuler Buildteam - 2.0-1.39 - Add copyright for su-local * Thu Dec 19 2019 openEuler Buildteam - 2.0-1.38 - Delete unused infomation * Mon Nov 11 2019 openEuler Buildteam - 2.0-1.37 - Modify License * Mon Sep 25 2019 openEuler Buildteam - 2.0-1.36 - Add requires * Mon Sep 16 2019 openEuler Buildteam - 2.0-1.35 - Package init for openEuler ?yTD@ (k_'IЀp NF` N 4kߊ mut(Ty::`.t*5 L/ p=ANhhe`m]@&3dv cd6byC ;6_d, t'D:U&+Ecx%]}P*W=#pЛ AYKbȗŠY^ 6%ta l 2 5SAl.-u2mй}!o$@" _VY@L Lu[~6;Qb_FOR{~MmZ?V_`O!38lphyΔbh4pABȴiV_h Vz,2_V2RW%IPsr.͓ÚXQMS-1~ OF`(AOEǩ-8wVay0RG3'qR=ut:WB*!@ZzP||,8A`+&J$p(%|QE Pb5C BY^$@M>:: 6.ēwvC%;$x=7C0`yQ}- > s%W_Ë$* La0. BYCs+=L*mCpcÅ.Hې>T=44@hE(wU)SDtd$,Z'::4׈ w.QP/2CC= /AɁ|AUE:*&4ɋ6Xk ޡ?Ļ$b (Gh@q4Gph $PK&1~ Bg VOExqd@$F.ǓI 8^BPC11 vv6ߍiOkbڷgg\0=aCO_ؠ's@$57tTeߠ ʨMO3CL&'qi$͛o5? 1Y߲xpLKBk›CbylC?̓x|"$D&h(wrCB uH 2W+1OCpGcx bH ,B X OXgXg:L.!@ 4_a1tOG1#ՑWHeȟSk| ~B@\Ȭ?9}E`4 ~jU@#K>05L<Ҡy? &O"J} ϯh.F#Hʋn%A3P[;])gx3' @vz< nfCt',%(p(;Qꋀ~9+Y!_Dž|Gl! T9n7Ls{8_'rK$*;'z n4U&3Iܿ&%"'$7*=Q $Hx:ߤ١?{{Y0,SM۟S: xu"dq5/JؿiJ%\iZk6'>?<^թ=2T+?ckKLG?-ߘgxSLjk|G7jxt|73{]؉Dz,wV':'=2nZe7ZT< tuMx1Xf0}QĠܿsH~VM"fe+>ȱ4_97:`TѪ9@i ym$cɀZf7)X {sM]o]]S먿|B>Ti!NP߮;5|$:xkkOG0|T~͆7}FҲSkv]$R⻄C?m|'Jq7 Nȵ4Y>IqiӃu;ajo|ĜAc%={3Bm](1 *muN|x֋_ j2^$zlf8/r+~= aև^v;l48oBآ|rcOipuc9R#cȰFX{'ԢX֝=wV\ txVbSZǞO2[N};#av5FhИDO37´__\]a@JJMٳE*[u*icK? ~Srp=#kRp9deJA"zOV2ƺST:>s[Ry"O"d[/8?kSp7M|Jz$4;쐛]ro rw"Ǭ8?-5&oJNhq[ n3[>pӂti׹bbxPޤZ5жWFg`Ь3Toyv']$tpbn;ugajEx٥^uc:99m'V#P;>A4덃KL?]RY}穡ǹ:SNPN-V?z5lAsdih#lJNFF[G/ RSCU;-"ޯK"7"zl=5=lPk' T{z]zWT:?V:P&ދϣd.1rc´UݟGe9׾+QS-yZɚ!fH@vCKEg_RV8=>nx3M3cP'.]|A-aʥGk2-r8zәᅱ[߮qC:?߳brb+>ffiR/xWh U^Uojͽ!ZCkZAieJz:L8AKIJOuG0֛_$dŞf7(@Eu_t2-=d1ݝJ@祧ùW)eybK[jJ}ǷjEkf95)Bmڂ>-婲2/=>;ŬCڭ_QMx?F b^+̉Z1-㉾ Jvp[^ .Szz'^ΒW'\0PPKVy}xXu4ѴCuK0 zd,r5`c[/he]s&'>_괭h!+ W,S߶Oyy'V٭ iC%כ)ȭ+.Yo^*L}R9c{*:P}(JI&I.JY]zYGsV)Ѝiy+GDoF=v@)I܌[ItF!-G$/! ,/yvw|ǯn˛7KP\dG^]'/Bd=S/9o2C,.+$;ZAb|HW:Z֯88ye` =mcb'DF^h޲0bbE '`_K+OdDv]um|C8{G!ڼ*Fj7Ֆr,7ϫ5\^WD~#ڡugLLW/a]U>^~,s.+;t8X=/Hf7 >NUz9ajᯜ!nBuyy;H wWK+.V=+(;}TZqQ]H~fcgttQ"Z]︉qkxD<ى=!qMv#?ӄV v.i;7SӫU=-Ҟ)w}"\Q&DrԖv] X`봭)jlvqS+Yvǣ[+K8y#7OmnUT=~Y`{`aիFZMh%f,˛1,ݔ OoFtaaBL}WHT:2DIeܭyV&__v3Zl$/L[M, ad-CO܍;RMOX[bV$fz_9u-;`(zKvO4ݒ%}8/X[?xN,&`sĵsDSBOa1 [gxL%bP* %Wfl!(G%,U.Jז*2[,Ҝ}RBEI9נ/2 $ZIMsI_),rD%=gg$9!0 uL*;W>EDYuk=/ȇ)4]ISuAj-[ [-$^ut`{6'O;Ȳp3ÔEFfj W|h G53>Z9rXPƱnvgtIE:c #Kse%ҥ9#2:߼:+~gX_S]^xQ2&ZiWNf{f|qs-w[jzFݺ6-.uy3$QgPۖw.^Dbׁ} bEOUnylyqpgk@@5'5֛soQiϲ[&; - @ksMt.\Zp<.K. ͥ!|h=t,)RH4oU4^eSkIgzo< +-LD~o=vk϶*w$δ*$jZGKcX5s}77l4QL`ߍޫWpL4jDO4囍= }FlzxA 1x2'gM86k~㖙Ny6w)_-l[]bE;OS#ž[ӐebE-K3姵yQ.j2u^g|O͠O O=o[䥘-|{NviɃZ^çwu9][m&iqoaC3-]P=YQzQ+xS Yʯ,*_ך9vb4w ]@qjT~/EtOei/o[ fɼѮR5vOh㨵y4"i%c1W^../X,+qfGV匍= {3ʬ ºEi} "v7Ao012%7GOeĚ6omNZ5HiIxFtlfJrdM[JsA%8}s lmƮ$&`v8-SD*킔5^&]+)7?wEZeܲLŰN>ddKo%kjZ{BL=SRcfM  A3?KE8J0.f [cűsə<ۙs%1n_G:"œlVpA6>K.=ih5Eb!Sljؠ6۲U7۠0VIkŗaqEϑH| Xk=h?q-HȣEngKEv<\m5B~U-GUJ4gc@J:K$jCPfvGY3JO0׹Mn𹷱'-#++^tQ"nwfz陁Q}P 0UaV7N3:Z^a~YJj_{ק>\77 ?;{T3[Τd ʹr_-W{n,*?ͯ[@W7/[{;{A=&JN'VPp@FiQ 5]Gw+hx8()>=E)oHc4Vt.Xm!1w>eCǚd2kct} =u~6ŪԬ)w$lgis Ot7ٽ287lX>Yf k_ƥ; ~9_o*/l-kuHʇ_[I;YRi1vQA4ոowf[p`F ac{s4i+/}aggzn]ZGܯ}\*r2aܓ=Ui?_u #]K3{`GRR^TZ2CcFӜ^IK{ƍTPLgvUD]OS|C?Z=Rt߿ng"{WDYoѫ,h S5+EN>[p!F6~U؄Quۏb=22^58NҜ!A&ߓx&=k\Y QT0>6ykw/|,&#.&s[^ojǢf.vܭ~hSճҟξ@V}Bztɻ-b{ 7Nt`3uv#=Kx!&/JRsAؙ4\F۫E4EKZ 6(>sr{sј#cXg9Pl)Uk7}3;gOdHfn]b~FBͶ2΋ s krӷec?`NݠvU⫯ecS|]?f*%V PZ}P*R^ [#nZbǘP@y}2 Saﮬ3~+No2ZU<<mLtcuZ~h b7~OT_ U]s- ^uLf1 moGgj<y7*$BoqeF|,u*Mʀ,V/+ureDI;g?F.ȖV.NU{4# Ģ3kp;q]RW{zv/?rݩ+hjAݍQI pۡW%W&7n rqfj<[VN ޕ&SkO PHWqjKUAm7m k7[u|ݽz;"LLF= J7@' +[K_JtCu7manZ: ž`|pW8$G)CPGӸ$tE}` 7,ȹo;nwʉgJ6DMd.n nX? vsS[+m63н-mc1 F]yDWbػ=#C +0RVޓJ r5g`5P* ,oVLИ!l#^řN2 M;-Vڨ8ܙ i:An3Pr1jFĸtЌM]Eh'u)Ϝ?bBd ѓU]`q=sbWcеTǧ8X~oW2[>=uoό{/?KJZάQU~UP8qfr}ٔ6 ,5+U,*@D߶Df8jtۛ3N}G-r82MvݘG痘 xfܘPv?zFzaM-2yo=Gζhv/; QHw~xf#--Nj{Iև dgBwIXXMEӏmה(<$љ}fm [Ke]6aC=s`S"+ǜ[}-P{Q`PU.QxԅqV:iuZ;==f)͘Oh)KY٭?]QK(1i*oNRT {_m˽hK"~fg&&#j3; ]rGI/Z,Y{fVuʌYO-[=*#(~ CM5Sݔ %N̑-efK \ct#f+^dR/av=&x7cgr!Mcu-(gٔW{ _5K,*-ŵ#"w_ndU6X6K# E-_\4CڮjZ)[]w^ܒ>Q]LX½/;++k֙α9ZXRr 6ጏcdԱaЊRCƗ\du7ԙoa[WP|&]Kyb-Q=dCLeh?D.L$|yt>i6ج#FpŸ;?ĺ߷ӠV]5v5beX˫5۫LݣҸa,\bn!gcLZp6*i{po>XU"6KX$&#x;A<&(n:128be!|N/ฬtAwTfFoW8$Km Ԫ\ {ѲyۨD7vu١۪7ۙÎ?gzoUdbzGo4Lzaf{ bc c,;IYO/LjX!51KP{*Zﻈ_zRA1v]$bH8A6*vDN)8xl?2p(Pcn3˲' !k4ZQ;(Bb_!%hŽWgIh=]ybhYSJ%Nkϲo$ăh \yG oN"yz-)#} t1mQãx._NQ;v[k9f`CD66 )!x9c`T9C,˘Cx d.NZsWB9=l_{k,X.~5C]{ wu&]]sdz"U DFp:NjJ8XO'Msܗl9\5WA^Jvsiv5UN vhCR6O;7޻)HQcY;Lvcs)r6u6{y啜[LNVKEl}po}X(5a-K2} t;W?\Džv܇/HJ7*I=n/Ŧ|l]ju-nJAemڻ~K;eJ=7&x{yݨwP6gN+bkr weՇsn/kw7# "]jZUPjA ^ڔlϔ=gL-$,>kKtFnGR\5WG>{+rn^D||sA|ւU55g;{ZpqȢ(Sm=Q;_'s) ;^Qvs d=MiZ~HY<¹*yb#LGglY Y5tX(iKf9TW m٦?t/i(RM.t^`mѪuN `H9|]rlX1csǂH{6alF z*yIEmٴNKĮ$!Γ센m%WP6u{sGaٟӃ;k:p픅BIM!RaGdlq;7JFJ3)g^F†Ub~u`j`zV4Wmpx>QcrwŒ* QM_!.4jmyʸ=o>*uqJF+̐ צ:Dԯ*se4S x!Ym^ԥvYPnC[PfèڇN\>]pSlzuCÚsc:UW]+qruָW6Zdֹ6f*>ϣfXXB 5u{o;Y!V𜒁*11eE؋l=Nݩi@ΖudCPnIX 8!d燂gvZ")[zFBveN⬒#C |Zdv繗f}~ZEVj *5dKg%SLCl3+<:6#ɸd{ ]PNe?EH>YLÄg] fY V5~;<[^] o8H4}Mwkc]l!.(˵<Ŵ엹݅?mӅ\] w޻<{6' 0zaxP[GO7A"^_ۣʩSYtOr:9=0'E輬akByŒ}j`,MzEb5%%Gdjhry`@(ECǯb6į{=P6ѿ#:lvcҫyTpޮ5 4\pZCsa sR"=55Uj& ݍs44sij: 1ҕM)7m)+Z{o]ݸ$Gx}Ǫ$tAǕ5iwg;ҋ|d1 3Nevl98+9Sns+ףMMKڲ ?Ss[Π(U>;i_ WbcyI.]<#0zue޷;΅V^|[[m_LBky]]$3:t>Egs ]&&Hh093cցB Xuv_M0D:ƀ)!t8jt(itȨ9zF@R;ss/_"Ff c hE@ۋ ;'1pg>f,*kd>&V% XX?ʰOr0ewXk5KbɦH9rf)) s4S1@kucrb[ 6ӕ>tH5.a0?CTA_8^?*KÂnG WNPzߐ(YKk{0Ymi[}`Uۏ !*#^T (G)S\ mv|RY$t6`d@^A'1Q3sek=5i!{ .l^ >w3tfrH1Cذe-5M['d|H"M6A'r{P۷n5fQkD갛uL/B͘JΊϲ=tVž8喊aIeKe; VĆ!}XyLl'32n]Hi[pCLd7+TB0uwS{މV˙FKjO3FƠܕꪙso1h̠]j(/X=7B^[]\|~P( v~cH@!_H4R4-S {h%s83R*ҽNw*Q paޑT=Mxe$A4Y.$&#*f?9~wVs?|}}ѭ ZD}U CO[Mdz SGL &g +@8jTT,ޣ2 ׀zSk((wzS }.Ɋ$gg4G#|w[k䓆b+R#ϯgc~W!&Quo&w4հi.Gx?}񸀞%ˠMbhצ\{ Vs9'l@ͺ|nOBrI>,*-iegv \ HR%ԫa.zw^^xz:#N׿n8{;=I;`'AKĝD>i?~ gű-!HTؠޗ.=N;"Z!K?HƂ%ոuչ`4sE(:a( "1od;~lLOLl?;|!%@ 1 V.گcٷwMTy4:L[* /q|pI¡jmDO͖.cSf; H\Q{Dؕ]{qIn8̶Ƣ:pg4pkyrr2Ll&uTvQc| Ѐu97Qmkw^dB$V%7BGgD ̂ kRb ߚW_c?_}M^Dxͩ=_exgFD䵕5ӏ$4>X`d12ԕ {>5 mje | ٬NZQ9ݮu~M*5+e FC{]rr6L|(1 r".; g iQ6y"bʢBi(1L, SUg+.cjKI\XSI32=IM݀8tCu/=@:wdMч9hD1&xG}߯Ke.ylh1Zi3t/K:xqrb&J85%b?bV3䤞ļ٪f9ENL9+3T%A@: {5DhIgM?-edCNߊDnEUw&b:%IG|57vGf=5@ 8UJŷqrÖ; ōoX }I,9|[V ScH{LwA5Q9^m_ 1RF3z*v ϖEKXTDyzB2~OZş=gVL7K\Tbymo!jdr$XR}.TB~ԺXPHREBsyGͷ8$#{~T8.񋫓v @YP;rq8EKWPf *7&2[;GOJ ȹ#I{} 4hМ[ oYsG[oy5#0;rh]s=Xv" 4rV3mpL[^ 6XN >+S/6Z+٠X+LCEYCƄJ#H|}!ճf0PpYDGSVY;ZL#-GQJ~srM'#]CG(k ; lΛqr&2I%!sg]%_>k.dDZ\gS؞9:(=dLMp@:Yٟj<<k S].R WoMпpF܈9f&aDȱP2eC6Bx(m;Ses,]ԋ{e29YLc[C.0EgYx c(6y:z|Y,"c+saөﬔ˹VАHLd G"3L)t{57#IQNOVNhHm KYs|Oc^o=((I]E5=)HJJ* <"LdHWN>*E"-\+;%,2ѴFl>!\FfRBRm P7{To؛KggCƠ-~bF{[k'i?6.3A{~[d\visb87'?"zAҧ{e4=fttd<3Н#T!"+#]eMTc7rʐjo*3]۱D\ qZlyC ߏ+j0 ?fzi\ _<kHջ`Q=guOF闘1Tt$A@L˵JVqf|^ ^J]Fn-݀LS0/duf1* Kڶ%,ҳD[hNfm!jg(,kԐ~V|Zua^8WfGS5q i ѓEƶ%xCABJ}As}LN)SawHX~&ρeVowg:<GX?H pc36㴼bޟ4,cbM)otz끟(n; [J\*#F<^צ ŪUM\T(*9vrj{Ƙ/OJqqmϗELWqtO`K`@Z 4gi'ՎWSq/g_fQe G?ӎ n? ʱ-HA}y~Fx`tJZ ɓ .}9 ou~1Wsbi_Ċ