trousers-0.3.15-150600.10.3.1<>,|gp9|Q[4a.JF -"FR碰 + Owl_4vЛc%Fq zܘ3F BD6\ 5}EKdℾ*A`R}o&mP<nB7(9l] 9KC=HևD"lYwG '"3 Fa0^̎hրfK[ڈ@Fqd!>H1?1d   V!BO e{ f c ( T  B `%<(8 9@ :, =%>%?%@%F%G%H&TI&X&Y&\']'h^(x b)Ic)d*ue*zf*}l*u*v*w,tx,y-$ z-X-h11111Ctrousers0.3.15150600.10.3.1TSS (TCG Software Stack) access daemon for a TPM chipThe trousers package provides a TSS implementation through the help of a user-space daemon, the tcsd, and a library Trousers aims to be compliant to the 1.1b and 1.2 TSS specifications as available from the Trusted Computing website http://www.trustedcomputinggroup.org/. The package needs the /dev/tpm device file to be present on your system. It is a character device file major 10 minor 224, 0600 tss:tss.gh01-ch3b SUSE Linux Enterprise 15SUSE LLC BSD-3-Clausehttps://www.suse.com/Productivity/Securityhttp://trousers.sourceforge.net/linuxx86_64/usr/bin/getent group tss >/dev/null || /usr/sbin/groupadd -g 98 tss || : /usr/bin/getent passwd tss >/dev/null || \ /usr/sbin/useradd -u 98 -o -g tss -s /bin/false -c "TSS daemon" \ -d /var/lib/tpm tss || : if [ -x /usr/bin/systemctl ]; then test -n "$FIRST_ARG" || FIRST_ARG="$1" [ -d /var/lib/systemd/migrated ] || mkdir -p /var/lib/systemd/migrated || : for service in tcsd.service ; do sysv_service=${service%.*} if [ ! -e /usr/lib/systemd/system/$service ] && [ ! -e /etc/init.d/$sysv_service ]; then mkdir -p /run/systemd/rpm/needs-preset touch /run/systemd/rpm/needs-preset/$service elif [ -e /etc/init.d/$sysv_service ] && [ ! -e /var/lib/systemd/migrated/$sysv_service ]; then /usr/sbin/systemd-sysv-convert --save $sysv_service || : mkdir -p /run/systemd/rpm/needs-sysv-convert touch /run/systemd/rpm/needs-sysv-convert/$service fi done fi [ -x /usr/bin/udevadm ] && /usr/bin/udevadm control --reload || : if [ -x /usr/bin/systemctl ]; then test -n "$FIRST_ARG" || FIRST_ARG="$1" [ -d /var/lib/systemd/migrated ] || mkdir -p /var/lib/systemd/migrated || : if [ "$YAST_IS_RUNNING" != "instsys" ]; then /usr/bin/systemctl daemon-reload || : fi for service in tcsd.service ; do sysv_service=${service%.*} if [ -e /run/systemd/rpm/needs-preset/$service ]; then /usr/bin/systemctl preset $service || : rm "/run/systemd/rpm/needs-preset/$service" || : elif [ -e /run/systemd/rpm/needs-sysv-convert/$service ]; then /usr/sbin/systemd-sysv-convert --apply $sysv_service || : rm "/run/systemd/rpm/needs-sysv-convert/$service" || : touch /var/lib/systemd/migrated/$sysv_service || : fi done fi /usr/bin/udevadm trigger -s tpm || : # bsc#1164472: adjust potential root ownership to allow tcsd to open the file # as unprivileged user. Be careful not to follow a symlink target. system_data=/var/lib/tpm/system.data if [ -e "${system_data}" ]; then chown --no-dereference tss:tss /var/lib/tpm/system.data fi test -n "$FIRST_ARG" || FIRST_ARG="$1" if [ "$FIRST_ARG" -eq 0 -a -x /usr/bin/systemctl ]; then # Package removal, not upgrade /usr/bin/systemctl --no-reload disable tcsd.service || : ( test "$YAST_IS_RUNNING" = instsys && exit 0 test -f /etc/sysconfig/services -a \ -z "$DISABLE_STOP_ON_REMOVAL" && . /etc/sysconfig/services test "$DISABLE_STOP_ON_REMOVAL" = yes -o \ "$DISABLE_STOP_ON_REMOVAL" = 1 && exit 0 /usr/bin/systemctl stop tcsd.service ) || : fi test -n "$FIRST_ARG" || FIRST_ARG="$1" if [ $1 -eq 0 ]; then # Package removal for service in tcsd.service ; do sysv_service="${service%.*}" rm -f "/var/lib/systemd/migrated/$sysv_service" || : done fi if [ -x /usr/bin/systemctl ]; then /usr/bin/systemctl daemon-reload || : fi if [ "$FIRST_ARG" -ge 1 ]; then # Package upgrade, not uninstall if [ -x /usr/bin/systemctl ]; then ( test "$YAST_IS_RUNNING" = instsys && exit 0 test -f /etc/sysconfig/services -a \ -z "$DISABLE_RESTART_ON_UPDATE" && . /etc/sysconfig/services test "$DISABLE_RESTART_ON_UPDATE" = yes -o \ "$DISABLE_RESTART_ON_UPDATE" = 1 && exit 0 /usr/bin/systemctl try-restart tcsd.service ) || : fi fi.`\W"#]~^^A큤A큤Agggggg^S_L^S^S^S^S^S^S^S^Sggg^S^Sgeb009b7d1132ac33411e8f838c7e272606c8dd1d8944bc8b82ee28f9114e82fcc56f762ff401646eae0b25769c79234e22cabea3e3b4f4c7bc581a23787b36f44b635e9ae00264cd370fc62921814265679e2a15fa6d6ebbd468e40f00af48f4caff21ae6e8e5a4e029ecb4d459634217c34e2b905f8b4364b7418e7c3d074aafa066fc32ac644d28c5ae56f62feae0e3b8639565dccad1cc4345dc71577970ffccf2c7a906ae571849fc1bacd98f3e070e4da85b2ec6e937aa45ca1323b55ef1ad596d12e7471549663c03e280b5b5d084a2e853fb86e4d766109818f9d7dae4a6bf595610b97b05728f4615d54faf290fac3f8bef836a5d919de070f3cecc4842cff0de213dbcbe03bdcc03c3dcfaa48e03bf45eea9d18e970cef4411f4458686e9d62dea2df5433d4a435602c3e0522b3bb68a2e75c39c80552d6bdddd948e10fd3096b3fca327b01803d91959817028371fe8d9e1970256bc56aeb1bdc1138547b7d669844a1d7d5b9075872b6f5117996c0a21d78e383e79ce7eaedb8c07ef598700d70a9cd14ba28950c7b048cf21ec2ac2297013e5789830b58ffe8baf09355ad0bc2e91d802c18654c2b9219ac1a26cab805879a784eb8a030e02c437cef9d8224b158378505c02b77fcdaa05a2f9ecc1552e95ad6d71b5ea96b690219a3b32565147e2a9d085f67d3c83fd4b93dad037fb966cb0cc5499d8fa6a568d7c26f86aeb0e601cd2358475047161b619bb46872f84569448031f3649619e35e3194d734c81d99d6cb679ed5c24ac97652b068ff12eed215e1ce382a4fb7dcservicerootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootroottsstssrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootroottsstrousers-0.3.15-150600.10.3.1.src.rpmconfig(trousers)trouserstrousers(x86-64) @@@@@@@@@@@@@    /bin/sh/bin/sh/bin/sh/bin/sh/bin/shconfig(trousers)coreutilslibc.so.6()(64bit)libc.so.6(GLIBC_2.14)(64bit)libc.so.6(GLIBC_2.15)(64bit)libc.so.6(GLIBC_2.2.5)(64bit)libc.so.6(GLIBC_2.3)(64bit)libc.so.6(GLIBC_2.3.2)(64bit)libc.so.6(GLIBC_2.3.4)(64bit)libc.so.6(GLIBC_2.32)(64bit)libc.so.6(GLIBC_2.33)(64bit)libc.so.6(GLIBC_2.34)(64bit)libc.so.6(GLIBC_2.4)(64bit)libcrypto.so.3()(64bit)libcrypto.so.3(OPENSSL_3.0.0)(64bit)pwdutilsrpmlib(CompressedFileNames)rpmlib(FileDigests)rpmlib(PayloadFilesHavePrefix)rpmlib(PayloadIsXz)udev0.3.15-150600.10.3.13.0.4-14.6.0-14.0-15.2-14.14.3g@f4a\>@^˳@][GXh@W,@U@U/@meissner@suse.commatthias.gerstner@suse.commatthias.gerstner@suse.commatthias.gerstner@suse.commatthias.gerstner@suse.commatthias.gerstner@suse.commailaender@opensuse.orgjengelh@inai.decrrodriguez@opensuse.orgmpluskal@suse.com- make sure that udev workers have finished before daemon-reload (bsc#1231071 bsc#1236457)- fix runtime requirements for stat and udevadm (bsc#1221770). On minimal systems this can cause the %pretrans or %post scriptlets to fail because of missing tools.- update to new upstream version 0.3.15 (jira#SLE-18269): - Corrected mutliple security issues that existed if the tcsd is started by root instead of the tss user. CVE-2020-24332, CVE-2020-24330, CVE-2020-24331 - Replaced use of _no_optimize with asm memory barrier - Fixed multiple potential instances of use after free memory handling - Removed unused global variables which caused build issue on some distros - drop bsc1164472.patch: now contained in upstream tarball - adjusted %setup macro invocation which seemed to be wrong- fix a potential tss user to root privilege escalation when running tcsd (bsc#1164472). To do this run tcsd as the 'tss' user right away to prevent badly designed privilege drop and initialization code to run. - add bsc1164472.patch: additionally harden operation of tcsd when running as root. No longer follow symlinks in /var/lib/tpm. Drop gid to tss main group. require /etc/tcsd.conf to be owned by root:tss mode 0640.- Fix a local symlink attack problem with the %posttrans scriptlet (bsc#1157651, CVE-2019-18898). A rogue tss user could have used this attack to gain ownership of arbitrary files in the system during installation/update of the trousers package.- fix wrong installation of system.data.{auth,noauth} into /var/lib/tpm. These files are only sample files that *can* be used to fake that ownership was already taken by trousers, when other TPM stacks did that already. These files should not be there by default. Therefore install them into /usr/share/trousers instead, to allow the user to use them at his own discretion (fixes bsc#1111381). - implement a backup and restore logic for /var/lib/tpm/system.data.* to prevent removal of validly stored trousers state during update.- Update to version 0.3.14 (see ChangeLog) (FATE#321450)- Check for user/group existence before attempting to add them, and remove error suppression from these calls. - Avoid runtime dependency on systemd, the macros can all deal with its absence.- Force GNU inline semantics, fixes build with GCC5- Cleanup spec-file with spec-cleaner - Update prerequires - Use systemd unit file * replace tcsd.init with tcsd.service/bin/sh/bin/sh/bin/sh/bin/shh01-ch3b 1738925250 0.3.15-150600.10.3.10.3.15-150600.10.3.10.3.15-150600.10.3.1 tcsd.conftcsd.service91-trousers.rulesrctcsdtcsdtrousersAUTHORSChangeLogLICENSELTC-TSS_LLD_08_r2.pdfLTC-TSS_LLD_08_r2.sxwNICETOHAVESREADMEREADME.selinuxTODOTSS_programming_SNAFUs.txttcsd.conf.5.gztcsd.8.gztrouserssystem.data.authsystem.data.noauthtpm/etc//usr/lib/systemd/system//usr/lib/udev/rules.d//usr/sbin//usr/share/doc/packages//usr/share/doc/packages/trousers//usr/share/man/man5//usr/share/man/man8//usr/share//usr/share/trousers//var/lib/-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:37368/SUSE_SLE-15-SP6_Update/acab3358446069a4d3709cf4ea8d3d73-trousers.SUSE_SLE-15-SP6_Updatedrpmxz5x86_64-suse-linuxASCII textELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, for GNU/Linux 3.2.0, BuildID[sha1]=3825b35f93bf1c9f3ad6d88d2586bdaf4ec85582, strippeddirectoryASCII text, with no line terminators (OpenOffice.org 1.x Writer document)troff or preprocessor input, ASCII text (gzip compressed data, max compression, from Unix) RR R RR RRRRR R RRw< &-*# this scriplet and the counterpart in %posttrans work around a packaging bug # that was present in all trousers packages since around 2008 until 2018. # /var/lib/tpm/system.data.* was wrongly packaged as runtime state data # instead of package resource data in /usr/share. After removal of these files # from packaging, during updating they will be deleted. Since users could have # created their own versions of the files already (by taking ownership of a # TPM) we want to keep those files in place. # # to achieve this we use the ownership of /var/lib/tpm as an indicator. # Versions that still wrongly package those files also had the ownership of # the directory wrong. Therefore if the directory is not owned by the tss user # we apply a backup and restore logic. [ ! -d "/var/lib/tpm" ] && exit 0 OWNER=`/usr/bin/stat -c "%U" "/var/lib/tpm"` [ "$OWNER" = "tss" ] && exit 0 for data in system.data.auth system.data.noauth; do file="/var/lib/tpm/${data}" [ ! -e "$file" ] && continue cp -p $file ${file}.rpmsave echo "saving backup of $file" done/bin/shutf-8b221a27c0502601f15d87aa828f667d23ae2a26ea41a0e267b44eb100788fc84?7zXZ !t/o|E]"k%460c>ͱ;jAmInqӴIm<ܕt6$Bm|􋻸F_q >Q/[ͽhnb ?B#H+ u3Zv;td;>ENOsGxӚȟ glԌH\ .dߺ xkN.Kq?u+#YI9:_$}+mGp {)kQKf|QJ~R$K:x&ԯv Jc7cH]̝D^G()bG_GVߢ ZX&7Sn?yV2wݩu<[ͱ |\r"4dK\`MnvgLpodzNc#^~Rr1fgms m쨏W`3|t#F]NK50d'ĥ+ĵ S_&8#YTeAo)ٮ0~,)q8RIp'睹`foEXF#m-MFB*#z,f˜%E#<oA; \P}g"tftOqt1^t3SǓud[o/&\_;\Q͂LQ7[+LoS$Cu-du6fwC?fNiKPVGu'^8U:5 VX-A 3rp :tX٧l-PnUlUwdfK`0 c1 $px͉?ϭ?CUTT:+k%|+/3Y҆"guvkh2%?!]Gd<ڈ*И=6)a]㋳K1|՘l(ɿ`ډ:2-?WPpEXڋ`:j 7 )t0w BbP\mR(3+kT TE (i8[3" Z?[HWr)p̆L4rU2M^g ~0¦#5u_RBY(QhB])~DT&eǗO(xaSv#TG؆ǟŮX #[3->m$FN$խDzQ ]vV4'yC(?ۉGYڌ㇛UM><5QI@=Q;i&7~+?*) dv9H<:֣9*cy*!~=Y^KVR 3;Vu,fXHPefq'"sSVfbCCf^ [PՒ.ϋW &th=Y8{PCGDٓ)_F>X6WM((aQR5y97j bzӝU~BμɈmwGWnL{zf';FZFTeK@ `|$!Su : zF}Y\"\r{ Fʸ, "K#ܙ@Xp:5ז.+ãy} HF6ȕ,2, w%`7𼯷h̸\+K ;y %|Iޤy#h/ \E;v{l_Ku4w-A~5ǡ>\ ~M%<-SSq6""|\~߲_$sMW@p%`79FS7|t~~BTQnW}Y_H[Y_φ}5{ldT);~fj*z7݀ v%nca}Pȷi=2S?ѷ !nޡ/fZ7$1*00rc=`8BJ Q@&L& Da&-9HLrl"lϜa`siRUİ8c(ſہy4~"W?,bRuB(%6>pc vxSm#UCDΖLgq)]fyXAԪ"%K{ͫ?l:i!ATI͑V;6&J9I)u ԛC ^@BsɒԪ\j(T3Zeadl%E!gEwq3YRkجvŘOmgE1vzE&z=q2^\ּFf5J-Its( GGηN^eŽ$J֞B5# Yd4Wz(Y)SV.HDAh3B= U QrHxV",/UE" y4|7 a˞s^9ݩ mъiAu(2'om휔r A gI3Զ t>g"inϪdX>m8,tv h;7'י5s~NAK! y]fӜ*}{+Ÿ1I,; ( hAqvTLlʄ,t܏ږUW'a#\Op:nu_d[@9Al/@Tm8]P""ۡSsܐOj>w "J@TwsbOuְ(gw ҆b>h|$sÚ2ߪ}(d-6Ym.PE%|KI%bwGg8Ѣష9~X'O'VJ+b\r|Q(]2hlz%!] zRV㨑D{ /Ix }~O&%Z/3 Tmd jc@l{O?hvS˽\ar⌂.k#bkQ&DSG |'} \#[/͇j@DkfRHK[}>hi7k otR LŒqBWM?9kK;kg%:ظ'OgZQ[_Ns 娢B'@a9zKp:Q]ۓ bp~:=\hqפ@+H'[ʼ.k=R,9 l7^yd;ÎRaKe'Vzӵ"nHN_UqMivgv1vOKڍp 7[ ˨#EV ~/az{faPApl}R$>#)̈́c@!o`@Մ?Z& 6jX !3Fs9ֱa!Xa9|w mU}Rg4DٮUL,ud\5VU'5#Y5ƜgkTıe;eaói 7Dq :!w,eb6Mbz5縷-A-^u/KE3fwߘmk?E@2AèT1(A5LĦc@E2c%;Y|(vZk䰭%f@#y2vkƐD!@0gH$k)!~ʤaLZfGhx$rf-E SQ%9f@ |`&2M"uPin$LDPXwm#Yy<:?8Pu 8q(G8E'4 5${JЅ--R][OgP1w0N[ >H"\ Il_T')|w醪4ڋ\×i/Q3&7ٌU n0L>էk 9A'\{I'Em$p|N/znsdeZiO B_q:e5"t!EଗJfԴȇr:u,'h4[i ƒNF 86cUoRkm!+ '2Q^/ZMήArDm?|+yf=+ )~ܪ rE*o@\MR!wYmfܖxvtxq(a:P6b|ŽUR@F;j>3,aH€JYvK%]&hq&*V/Á;wWWyЛJ !B_^4Ǔ>vN75A8FFѮw3!jXhvq4>JR j.(Ł-N;: _̼6 KqlF&|O/~n)1śOl~7>ʬ.1Ų,Jv{]cO9HGʈ.vr,A}]A}H-'"_q˻bCylY zzc()'#px5.!?B*Gl҈S?kkIjU>sÅ<6@ =(Y{n$U M̾XFZV.~ /<-tD$pn`ŗ[TKڲnԈnz& A0R["מpA{`a C#K!C,wL:&y+0(h-C wD0m3gcҴ6Ӛ{A[Vqk_JREAJ,l%:k{:ކsgKzznK}(T~AQS0jN `P{¿r-,44ʟ[,ʌH@-u04 {M½ecw*lw.]&ϼ9+q\icXJ(Lwĥl#hov h- [yV~t p7Uɕd裀Zx')__I4v MǶ;s26U _2(9.F;͛s/bRaOA- ;edQrBm]`bPuLQ#^lxʬt!d dæYW! _J 70c󣣄ò[s$HuHu()*sя!j@D2CC&*tTqV9A80g+A0b昿=ۋ]"MzZ@qT0wz(6Yu ұbn;.<,5v2y63XWT/gL+r(5 M"hF謿py5}$fT<.0=5 Q $/TsGF ^DGlǪo_U |d7ՒdW>|w*ItgΦi(HO*:A*4c#xPNA"~_^ ੺^\$ZxP{R$7~u Lk]Kidw _uD@$}zFX߈:4;Ү;G~VB*WT5/bb1W$5QO6[dQX |8Lzm$W zR,Egęڕauk{|̬nj}D<Ǒy0߂? ^ZC'AV(r>4~vo;sh]ؙ45IPs]Q]ȪU} \NQTljzm42Wyǘq[% z~$?w5T?+oPMVhفV(PJ~!n' F&&s\jen =Hr/C``%Wkk&²MC8gUN6=Qeuʈ1 ֞#ұ 03/G<6\c(# c׳D[gej| 6KEl>{\&)մ׌4fs]<w"vAAeB3U P|Cg(%w2Lc+}Hb>ZŘxP /*$.`~A ٗ3=6!i@`̾mhGDGު.'(࠰ d9M΀+pj,g#.=w^D%(vZnCE.&&UtV˜h[”p2Ԩu{`XE!I6qvYݓJ_xW@ LMY [~_GqZH 0e,T@G$ޭO`Od/7z%ھ" kXgee!'iӉ?f p0I>qZ k|,\A/'uXt,Z'gg ;!>)vF&K=Nx'ctTQNv=@.<䠜ς4_R8$X%}'gD-4=3pkW켢a& $t6|q{sIA<&Ue֓YeS(\URQ(%3!X@PٯsBoG\(V8ybhsP1d mbeƮ[\ rPxtc=%c L'|ƽ0lݥ?a'15[v\2|d`@Av2`>o^&Y.u} Koyb)C:C]\c^qzfFQyt?"XTZRm8B{E?j; HEYRPb/4>N]U4+--jN_ǭ@;EM2OusIXP&o}^ؿ̯|wϽ wa? Ҵ.mőUl)ZC}SJ3 :R'&5(i$[>Y[n/9D֍X>{+i75TLSӦP2S5ퟹH[ґȿYEѴ $(F}dx&IEnݫcLXfyENf*WYkrъ)#4я#3SR]HBCGxv54JtX4x= Ie yj1\Fo]IxMߺѭ;W0|w⺼vW;{Nq8iD}h5vv~ZiZO-i'62/VGzX2:\ۤJ4FH3tw粼-QO.]$(,߰ݡpR?' =LVSvGH g`sX{:Ix`a2\hg;\J A $`^(g]r<'z-Ȍp 7e"e4s#ⳓOĄ.ݕb` f;;o:`ok A:bp-ai2AZaf6:ƓaKi,,f.Vi'vkĠ*#DJJPCZ s@ o,pmCfji5<𑯲6y,eݗ M\>h qqmmu?`?òf{7pT@ )SU:{֛:s3(MΊX D55חeLqs ,@\Plf|oy)O#}6{v;>ʃ\,d:P2jEٵ*8ftrŠ"h0 ְI*Xb3ŗ^djb-K0H\5}Zi0~In[t\51b@ oh;[#s^}OVj@]֦<*ӳVHoJ3+m[3z#+uR J򦁏ʳ?.xm#,ݛS/-L+w}vgTNI-D/wjq=YHq?ڏ5"l דa$*@6NZ"br# m'!05,x9~ou^8#PE`f6@ji+[x%ȴb)b'|ɶI:pE zJUGSWr8EyY~Y3-W%~ztkk=^Z)8NBPޤ  ;ꧢWj*<ck|ONL ͨAkqy= ݫu͑t.zdly{ee629"tV29T$@%9@iWzk1BDGK?9=kj-bQ>TM/50<6Bs(s:uDUMW/hFC^f[fS_֑:+R7&_zMd4yw2iSGUy s,E.f1 ˻5P"avܐt\Aھ.ܚwUiX|h *%5B7wͪVx=!,6F^nOu4YէZXuKVef\e⛌ krJ{[`Tݶp\KJu*tmfg,bfٕ]&dȖw*5k:N`[U72ٜQy5jM8spfa?Qt:Lvt(§o V3[@"KR$ci{=kPAsA~@3=,(ɱ2x)m8-HK#gUSsSQ#Fz'A>Դ MyVv~<'|[H|hr\ XbFg<%gR7EIQtȢ|Ӷ {m"\w)vПdZ,yĐڐ"ޏLgGV6g S’}W孆UwzQ`x79v)0=kτI 6`hF(?8m8Iac2/Ax\ Oϊ`䤨ݽYkwpW>᷁lBru|MJ2$ %ڳ>*k<^=doU)\mRiXガYTFV%Sψ ֐xPD7*Y69T"3;@ltbtզH[!'TY+s8mC!ƍH 8[gIs9"tkI,%|6N(" >d5kZBr#v šeJk{?u*ڙFRZ iyotˑw/fIRyldut ӭ҃9_jlW@LZ#j\,~NldoT8 @ɻ4 B/e:@Ky5OR󶰙M^K;&@Bot@ޜm9'rhj{u,`t4zYa?N%p`vRӐ nFCn&0 sD{j/hxue?TGA[dǂ JTu-l.V<`l#hƆCAa#; bQQڤq`L(dx{PK9[f gE%W%=MOV< @ iAlLXPPl.zѽ a-)U ip1 |1o^ ɬ%edkνŽaZNn{G:-|Sl{]P*0#WX+V'o+5;K*ꄲjT'5>It@}$Oj>DGĚqp r0%'fMo m$Ub0ģtqEu ¶ :ԅi̮ãOkf xNnR߶?K~Nx!oC h϶W*TN9X+!d7]$ڏ(KW1M4͞GoIgBƘ X&u-[Vx ǿyPΏC̝(q בoK2>4i?,ZJɱt,PqcrJoDQibs;9kk`B%UL0E榷 5^e)!g4&^.4jT zE%>>T8pTM?HOT3~:,NA,J62/ןZpw%e7[śZDWqI-G|eHobW rxئ\QT-e#29g{VSc<$<\1>/d$sG1 8;~EXNn d_.A"1Z .dv?d-EֹeW)"gر`! en1#(L@DA\X~:9&v̠0ff/VS5CTxd]tM.W zZb Nv!{"r,"tٝ kx+&7_me5:Ӵ۰!r2 ȃ3ۢB57ztv?wzx `2Gys6, fDDX?eG8D7%mBN_BGUB)b#љJ4_q.nm#(k|)qq uuE>D]vR1\0۟qBz꾲 PmfyM%ż=4\OC'E4hgl(TJ3l z u7?XP,Hz}*mvAؕb4XVVw&LVGv lx[~%KmX\65Xͯø})H_o\BVCn87&4%eqg׌P*^ڡ@u?Ɋ72$mNbGҎR3A[xt8*N榬&,qN1뵱w<R}ji~(v9Js>9 C*>摸R^68Mxy$k:|4>͒A"$Z9H~3+Qj| !ᤦ c8FB44I(VݳF5 JH K@]`b//{vSҰ'  6T6eJ+yR̮myWb\vwy@$]go<ƨ gXs`\}lM躂mׯV7x}`)!z8/nyHA;1uq3Y/c_ 9rQ#5}S˻&ErPS>=T(X7IY*EGvb&T\| (I}]%פ`(Yd"De0bcɟbwX-;ݥsC[h|xX~/W<\ gI=-v٤cs?PTU77W;/{1!ȓLHk]P$VkMQsuo"RE' -^Roq'-x8E%tվZcBe`ZBq#_Y8?#A^Ҳ9QgLʓQ?&̋+=R_Osgtࠅ[ 1 ]N; ;+̪Cɍ5׃m8cx]AoA]m<#ۯLͻhY>Ս_7 ~bûe^=y<^#p%"u5u-h̠Cq#+ɣ,WuYܤC~Ψv(66x Vl 1-RH-,\Ќ.(`"H*MlL 9ݟ=?s\zG[(h|<RD2ruK`ݢ$߶4&꧗pw4Žz1׭v8&3#6O6Ӝwj" Hc^xoÎQ`!r*ƈ\ΟEu,cI#*6>0t)/o𴯖*mBw"U;:78 )7$7 e&wf ?1 {i>=gHbwZ܆9U Lԛ/&"nï:O2oeDfb?/NpUMbݺVH:4`[?b-ހilR4D>dKe ?V(~ pl:6wlw~+h?sRʏgG@/!bͣIOfT':Җ9ɡf4EDn`?ѷXrYΫN_vhRtք΋UVבڄQN2ñ|-.w+\%r ~pQ TÜK@GE.V Dti/PKs Y<4)1ʖY9hb|RW *ʓ ]]J*E4ŞY\[?C |ɟͻܦ&^ae )~|@3Ӿ]$f|>uq1^i9'uXܮvqwѭQ;Vh`dc,LlzzZ^IVU&1ꈗuF8V@İuP2hBXm'8>$3) ?V6ߖIu 4s + 9~[ H\`p.EOou58O҂3:ڪ5i/-}\4lg-B%~ PZK,&׌rlZY7`@l00qJuPjOS5 cW򥹟mXM@F)0(m[']}(ɻ {_YQ1sUo |*M&$D%IhDYM>Xh"NP#`z#T>Ft2_]Xac2wAջV4 O),O\ T&5'YlI.iu=m֩޵%"d} ˂yS7E=3m?4d9XM]v^@TKa@4o`\9ݿCXV<^?{lH71 1mqeC<@' 'N@٭.}X+ihS1@`va^pN*_u isbA0Z޶o i6";HBE ,_%s:? z !td۲g\nNjmO[1H/ ^ &h#!R ̆bO%U1hG  rgzPJkNI$7N6e&D@֞l%2᫫:Z*m x46v%@oyG-o]D5q#ɋ<6 +K q%_f+^%qj5bL]mOŠAGQw\Loz*ԹWپ޿!CGBup0-K z̸>Խ|IPO.hۤU?lAjzE~tSX`^g;.EVQh0lXiWģw MKF}N=IYq57c1 fݱZ@H?a:+5Te%n\¨0m5l1<ݔaDʘ >J$E [24c>^*pmtBҺ =n)Cy59{{x.%a )N94bA!7 RT1݅& ~FWloBd@cK^ea!ӝd2(Ҙ[Owx]tE$q܏{Ǥtx&ug#Y6D}B?J}M?39硔`=MPVA++*x11)%|Rw< XO䀅&_ F+Z=?p+BrȵLGV;Qf)A m9\C Xszܦa!4oE3NT㬃bYE,Rcz<4ZNLcvc.]< b9 bֆr$aGvTd~Ne{\cqA^˒Wvj36M0[!qZİ'NٜœKjuYN8?ߐ'XrpP6&YX(B" $܇YJO\dAvBK LXI2 >C,[e.WCEWFBGE唆2]Cyni8Q\ئp-1w_ XVz-anHٶ YZ