trousers-0.3.15-150600.10.3.1<>,gp9|2;~!7 @Co%}li%Y蝫 e{LC0A-uc<#{qh-pR2GWjo<*S C62^UM<7q.b%= )!y< $3%Ha`aBg` 9FL~ۂI::X}Xʦъ?Z3nFnށ4'dshJǪy}AqTuExF}V"*s6\3YRmJX6q. &ѵ>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/)W]"k%{f60c>ͱ;jAmQ"ޭ56g ?p%_fK7 UA寧zFx2& 9VtC:QI {bw5҅`jrw뼹 *-0G9֟0jNGl3)g-4:IWQ{6t!҃ҐCIk5 u[Vxm~  C/)=KXX`cvo ~ [z|dB@g{Fu4[kJen 9x;>&ީ41G[^U8,6d\Hn6<2n2 ,G1:>賨BVwR b$a7^[գ2j6}v%UNͨ 8MW8+Q nR%کeD IJeyC2ZZk~*<\oٲ)Tx @y1rp}C`v4Y9*Lȗ">蹼#z$I` Bj߶LWD; /}oLb$ 4أ71es\F+<\P gjv-فu  /բK)S'0Fqapy,7e.O&9m,rK rBp0]3ffEc AC6ܼi'^% )F8w?\&_t-t-[&4U(3 v^&6 ω!8ۤ紃 LH\ P\=7^<Z[N)$&1zMųVxЛ$&d!J+ ձi.{]r((O}mn7.ٺL̓-1zưlvt=%/2JNg\O?s tH!'649`.v{zob/N݌~X9Z"CXpZW:df*iny-T*uJa @@ š{a,N.EppKizkWxz<覠CtSr,٦$> * FNx)Pse =rccRxe/ۮI5.O@1S/Q&WYf1ě.Yq`<*5mC0ga(=r2N 8{{)E's>Cg }b u2)=izS ;7.E?y ݘ! aߥH9e غmM(K18\_6bQ)$3mX;S<}7^鐴 j{=U߂h ;>[ȅdњ6&'_ ] ˛)[!|ChB65~"Z.^ϼW<#±F-̺KWjE荩m T; cju i.ATRQH2F $nMJ!ffHIažԁ;dS\>SԤX9`Tr0f2ԍ0mAB_>pt.N(R{eP^9~ !z G WѷD}c4 [fm@'2?F˪҈̇#m_Sk"ۉ 5zzoOMLJ:|ϯ%GI+5_0F΅ \aËcfeO@0tuXJ~P(NZ{y2f~ !OlN~FQx3^g(A">2m> 3s$vZg$BU×kO= ~tO[Fe6e.Tj_}$KڊVɗobES. սV2h һų.UOxR̅h>J=GPb&xplE[ȓ;9| *A/1v&f.{@oQ jfpGYƺ7kUc$vw ɐƅ>3 EDBٙ*sYF#=AԘ/"~!>5K@D)j=g)QI5 Lui3h i}.l;H,MZB ZREk˃314= (9x^ˍ4\%]>!j$ AqN ӋF d}SÅ|EPmsx<2t9(L/BE uMΊ1n;qrhpR S&ADo2Qt1sd#" jŽpz:'=m=tPwr؏}; ia u^0x})fEj~7 T{ӳ\^UasCxӕ*^2G9!|@-svܙeY`r(eH%*/P1oѝ~X";I SS,7#:mۍGm//ǣRQG!%30B7D/EO_fpSdjk.$N5=!=nҠ.p[ b&C+Xw iBhTdc!>ѓUʥ-(땥[*QkżGtΞ!/_B( ڷnfjtc&(Un<=L E(DR V" .rpzʵs";/k;o{ ~N:>u!- ұ EAK6AC0&2,5%Ȕ [ыܜ5  +{pcrãavPWӏu B ̨@ݫfU.`B+@c$gm׏Y;%@6408*bJqé+0Es,)2Ji›G>aؕ㦁m1ulvr=6Z{aԛTs?%' I64D^?E>zeZ{=cPTp--۬6r"ey/ B$= / *"=UlPɅL=Z\ʂzڠHw+$mtӾfM}ڮ00M,SCQ(!3hν5<cTVqH3dfi=2{!.Kw&]M5*NJ|CVɔZw^T=`xE@&32>:Cm8 ͳ?I~V)ye9и.#d*͠0S}??}{hLLU(g |-Y'ZG.cw $]yRyc'@D;ncnE$R9Z<\ySG? Vrx0HsZBLZ-0$TDcFRt!I@ף_Cy+h1(p͐88yCOXnzV&,L!*pm.jnT`^$Ur`ClwDk 4~\mVP4lƢLFDhLCo-#(H8/D"H5a}ޠZl Qk²p幱ђ`-~)Ry?.gv*jBcR"TzL AI l ^[[='h g¦ݶ[{81Ah,(rZ?8 6>kuOA9yv7qZ &А)|@'4j=;[eJTzzM5z43=`PY0E^EoSj oSϖDl+b6 qf6N6Eݳ$.(.a2ts4͝oSBLGOunv](#j$BNXfmhG3,Dg׀,~y)8w+a;]ckzdu`O?' RYMGxSWNsDcRgןã/O0U2@(z̖ <{Bk-E[EI^-ۊ[q>@pN~t,hupq׶ye> J=Ax *i̩;Ku*9]f")}dCh]*K6>\ٓEO21nrUeh62ש|΄Lmt Ɉ7('%%WjVQ]lKƴHrnHdS6gcn08$W4ޞ6nf,дr pܤ R($_[m Txf+=$+ g ]5݌N-P8P{)^B7#ae-U$YCI^ @exeWd0+vy*JY\4e)Hz:2We;Śq$ Ojxۀe[Ij^eg*t±_݆S=%_{Gt7x1_nI15Q\~61ES'Yڦ]V)5uBbwuGe'PI@c.MTҺ0ڴCfik/hMoGt}_0[x7zĔ@w\e 9s{E!ۦ7/ȁ*ϱ]BW伞#N.+#b{ ~SR>cPe"|h4Zn2QhN&',r?-tjS+d?Q3*_]7BU% C6qr#!QvFf>dDQ H @] ǾzjCVI UAn.̀ ̘N]z7>޿)U]T2q}+3?KbvbgjZ٩C1vnW8q迷&&Q4F{S7DrG$''l s mD糄>\;B0 K7]Fv6_ͅfJS#gc3$hgL7J"yO ٫֩~ 3w7z|r-̉-d[cݷpW6d!pA}.Tm| q?;ia\=pz#qP @]:PϳjZn/]uuc3>@C#HD5:]y|o@vrN'R!KŢjZTI0$}n|\ 8H@+VY7(NTz5:Dɜ~κѠUQv̾Kro񵛤z2syQXCJbUuZ׊pCg15urZp m"d@4gAڷbug>tݫx+ajaZE[.Xų͕'TV2L:soPoFe ! {w( S$ /l"Лщ\Rmt5#w H0DIR; 4O|kѯ0hv!xAa?# tD( ۢZS, 2h#3QQFHE,cP)=gi5J' h /&+j\8}0yAJl^2ZiO`?*swhYNF͈*mG:?*/@Va{jPWb^ŢȲzAFWm l5*S:0ٜlFm?4xTA^ʭW4d5"'bPPg#ӶG)3%mN$= gR7g/B]B%|`ͯ  gG?VW>}<}(랉HXbSn'yT-[/c p9i?iQ@L3ePtfެcP}8X^//D/aҔUJ=KE*aWǰNYKJ1: } 'Lo_np"MmB/q|K\nG"5Qt(X9cEu2pzRޕNg\/[.Fzu6Yă/.#RQ?അǿĞK3lx(hbDN $ ʴ=S`lmGiC[JKiJĎf=S9@u:J57yYO3a\eONQqTwIiJk)I+8:GzvM: RN .j*TH7ӖuQl{\2i78J1M4!0_\osQ;{Ά#ߋhtU}#[b.dmp=\9trNfirx( 8bkڧ)E3ڂk:2)+DւIX`GR;&m)@_(w|H0x7DµT5^ўnjOp6ܹ[39Bb~i9]3Uzx\^{\;wf%$y=:$ūA r<~lr'pa:{j;+ZfK@K.N(ґX()asQra\$9xulEIpX~*IJGj}i+Q/#nݞ u|E>Qd|ܰZzVqY^Ɏ $s㢊 D L]+=Q[-Q*>H.|(aj] fdGo9 ^E׋U~zgIL ЯxzCڕ9áCQcY)ܛe6#fNV,E6j7li6(;DG"Ԗ@#<=IfDy _)#1?|"*jr 3B3wn_q)k `ʟ 9~YF$"vuرVL=#ԮLЅF16EZMv<>vf1$ pCv\GgdLAՎuM?\3[[T4b[ĭ-0.f4S.#k z 9He5JHKgr5;lelp&cHpۄItȠhhNX^/YγYֲ9g= ] V3=r;/Nz"a a"MgʿI>Ma H[m~#tg@@۠IQOӘfmWAv @l:b$-?_ţ:i1)[Y6WqPn ۰(z`Üځ" y'ϻuieY5;Q{76-,KW6*2j j/&P/*B#. 6j5$O]mz(9b WE_իڲY$7$lEP=:bIU^FI_igExFIXrBU8Jn*%U ac @00tP&Yj>_^isUW|mk!P[ΊRxH>}ml+wB15'U/ 6{hA9?^(wRl0G#Y =+Yg J"YvQ2\_^ǵ(42\j`?L'ڽs>' MB 1nlRg=wj B4cb5AJ:lt<{M= ?p;nYN߻Bm-mkTEG-1K Kv|!Nj<&γW>_c{L_3*`TS&s`+hR0UAEC~{mR&_4컛y (߭emjhr]F bL5!Md.dҀs*Cih iR)0-:@1[7D y&vLUcHݭ2 oOs"NCV3@6O+KK^1+}E{iDB mS=g쑢h9S`*l\y4RrFs AnK堹jI '$ 'cs47 H`)kF(nX^%L tߙTWSl"WC^cTkF#I:"՛1^ O',h;:EnF Z^^Dδڊ56gUCE7ƃy.05S;zԇ#/rK,nM!ڶ&LtJgc+6g}_L݉Cvo=|joyԍMrْGaR6TdL*U jm5m+BWq4K7> ^#o8ĞǦ|QJShT138RV 2ea-l,f9u+{7-NH/k"%iYR-iP-}Qņ8v9-#?Z$ - U^I O牤BY4K-܋y?Ju&4wTg/2T.2xNb"lշD rz>ٓw[-|Ik6}خCЍ?_\eo0^y3dP6%I:b({\]HMW2vr{8A-@v&:[~T2[NJXPfIRlЋk/ %a\>& \@f/xfؼ8xZ9LMP+Eb <&AEyۋIPN`poA @bڑyP935L :*tc!DTJ$):(٪rgcP2&EDUx4f BMN_rKÔNJx"Ӂ$N:,Ǟ@c'Ck)&W?32S J?C+Ӂ7_jjP]iǘ.xKJϖKv|%"ڪ,i`c~=ovt"8k.ckY8<ΗO3c_IKi=z3f9SBdmøll.g(KU: gf4TUKGS,rŅ̅/?O[/e"KJ!¸ʡ R]y}6dyJ; vE;%ohgRelnO 3oM2 yEa["4:^-Awf%!5c43`^Q#OC,:ڈ#Z}LMU$ T,LٌpWMWiۭCHr"QFԗW$;j}h ~NrOI $X;zH<"'j.p*.WRؒ- k($I/VH x4X@O7/~OuXpNVn׌5Kj yPST_-خkՋ6-H4ukYTa0E0AM⾲H F oTMusK1ft)ȉ|Lsw[0#zg/Կ9˄# wfvo\V݈j[[qM oe%rʡ.7<<\5uJu;`g (V3-~[eg.Gc?ly0p@OĪ+NM @{DL,>|2+#I$wHY7YofNY6xVmƂDާns7_#hKyּe%! !~+5JoNwn0v0K.C^ i?w#`[}v##>Z\ M]c;Ldc[4dʜR䐔ao7j"ފÝb)iBZijѹylܽяCLrX7b8!WG-zY:u L; CfW6N*&E}x*I2M*/<@0&`WԃfڙM՟E9T=*STV`niLAx=t>)}u-k;F˖lw&xs-%șS!h#N/e9k6<^~1^+Z@}(q?\VXrT[Nh΄NM#Ta.oN7|j}ONY"EH!#OV;ێ0&gp l6-<ĬLwi3}T]b5o'B pt&.#epO\}[ b) ],]*v& uEt\U|7kE.y 0 nK fk ν^)'@qR4z /AO@l&cR9iX$_1|=5TgF S_9sA,hJˤXW/k. hC {^ZnUY_ */A5)v+/A'<:ylmi=C>R0}oVR{0P\)=y or$S=f.r(UtP@|GELy}} Aḭw{B$-/rߑЅqў( "dxXQ&`H"K|C5:]6,&M,'(E hIl۸$X֫tBCv _İ O?--# N@Hq pu<%eA[@ɏR8@;FxSSGd[VF>/F%6,5FZ/'$Wj]%EsEd @56P-k;(1fR#%;3C-V{qoUw-.uP#kJ /IIPaeF_?3r:ZrԴKG(T:ʉK#6 %KsRL%|wĥ0ŗ#p}vBsrl5d"YyQ 31\mZGKCP4887|Yo^JP{&h9+@OK0Vړ*O'# a}(N JԚxl6OHÊ%#Z-`ٚo$B_~x/ PB[ٟdž{4x^tX q!^܂*!9[챲SCЀB>@~| Z[wXk &3 2"bf}D}I2sl) s;,4bZUU9z- nFXIݗIqq4AS1z+mkz4 ~op]0nVN, ێ`iׄ"8! 7ZS\.'Q8;Xq\3&DdT!A,k żB_zD^_}|g?ˁy+BǼzUtxM%͇F$ Pg+.|Ů b'sr㞗qRꫩ|sZW Yd]$/Ls;G?-[4uG;~ GS ]EW=̕H(P7,ueN5v?#F$נ]m%]B˂!%-GVu\oYb݂<@&HLH[aixEh}`M3$ SXhr<.8R5nFߎYdRQ Km6~Fw"{aq-|{'<>Tտ H7#5 =ݞbŬA#lqx_3u?/c!ٳY u.n%dK\ݢYSO' FۦcOۅ DvuCM]__?MK<tGMv)^77{Fz{' @Upn_ld;ñBCasM7;5★MI_3xT5ZFk I[ piM\&]Xa=fra_t%P?t9WK?Dk۶}3}j-.~%Cn3y ,F "1KھgrgڳhWDsdٳƔA EN@̅; A."vcH$\p 'oT@~>NWAbboߙQ\JOSG5̨6MHD\(̃/I&$1͟J \.gT$7 Z~V]芗#'Կa3?Dj]EK f #SvNi!E!3O['yY!3jyj@L ޴eH먘THc۵t.h:%V$NUV8nXɈvΫC|(LƆ*uo]3ga$r֭nFV6diZn.ȋ(09PTZ 8&w=/W+)8GRI|J}fp ^=C%8˪L )0[d=P*0J+MJˉ|x6qu-vR/5E`ɰ\"1!I ȝ?.\}nG(&7:rH-:,p_[Bm+(v1aͦm5@Hn&S,bthd1+qژerV!:}Nk: UdGMOn>9޹(T@'Q ={ظLo f2o|3:ʩeG[vG(1<$GS ch1ΎzpSGtet4KRVNl}4z~fG=+|s/Tz-T\T1vdbmup( m v+doH_Z+5'@rz1."1 s1N\QrGWV*hKΫ%=)LW$9Dj!w4,2wdĄ`7'? T<(<6lgސ)~h=ߑďґđ2:c/*g# 8/O2yvX[!e6vJ"d%ԸssdڭdxgS Gf͎ ǪUH98RP,%;/)x,vfieqŅ#zk1,O)pA/tAk3&GQ3Re7z(a#@`AU˙lA?52 sx,Qdp8TPKHiA14|(#V-JZ"=fͭj>~PifۥnRb9jb h[ &=.7Vd"i2$߅0Tk*s-əe*l&A<.؊4IIY #T / rk9`^[J*](omNLĈHge+ -SKlt,?Q{a(o ]mGSرKa_UZoe9X M/o^c)cwYuؾ2̝lĩ<7U'׋(Y􅚚䮦>zCU7]mm|H,t/4m _2H xÌ*^P Z NGCjP ~`Yj;O -`Q#BY<x9G 5r _QO/iDy;Lگvs'|%O~|%A|M~HNZ.q5ͭ`kptQ`y%6I3ld!ɺ&9SiL`ܬa4اcH'MNZMʰ%ӄNhI֕ңUO Oѭ0ڒ`eK 2 Į ޔ/$l"m1%9q+e8N-^8-eN'ɴoZ nքUdt|A01!&tl:)c{*$m6RKTW/&BfFq~Q.2dS++Kr 8f з+gTN~ѬrfYz'ZjcϒH?b11Za'FiʏfB$C+e*#O[ msP?~nSF<35nzDn/(Q4SG t7ÃIZZՄ !62U{ E`/6ޣ1=v~&%SFw .I=`0,}_^L*tPb HTAKd6k:O' fWrX7\PA]|`pRD[6Wka2$EqWm9Ce%JApk{fWv`_9d"XeT5<( .J5 J F] POE✋ظ݋<ԍ /hhCD >_rS(f5;쬑*Me".=M;gxq8 Vˌet6Yࠟz?fҳsz /8u|_7c{ QhB=˿{1)%^yDEAǜ,5D |& _FgL6 >R7 ^zrD,T"-IOV5E8ؘ^5KzQ;melЉlM?\O'k( m?pxC|ϰP'8\β-YCp+r6jѭli4$0s }i&S o%|)/Y"Y&c<(W/\Q3*{gŅ%{3MoMZz SS8+-g0UYSYTکgkTA^%^5q%Ox_@?lƄ vr6PtJ: <;c Q_왴 FK.hIM !)rq)jA>bu* /A=dˤw rBfjAZc@W8W V`Ծԝ>(wX vl#Cq L"_>b"ʢߩβ4S\HgX'tj_v7cIO`G xmWr˳X >p[_YhžbohnwS`Mg"D=2ACC6\Wmbe3-j}<_+xQnIfW4]x:$e>Mg6LGuL:ª+<Cjye(\6& SϬRO|̋I|"Yu@% (實 e-Dd J~7~o =uBQjZ[q}Ӣ〻ڐC}^UXi#$v/f;Z>g z- *{;ūl=XzOPʿ$?N$gNɞ )\S1AܚHy/ʸUa1hM"zU>նKkhNzَ髖VC ^ȯ%.vp@N6;c I6l?pc/lr9e+ךNCe]*!tRcwy&~0uY2t:Nx,d*4a{bIiiV|l>O W[px qLɉ^{&ߏK4q&Z=GhVbjPQ1a#j~7:A]zYAdǯTVO }$R>o%Bw| \\EN0pLED]rU-7zYxNMiurrlQ?3#}J߇kLYDlT[y:h3DjnE  0wy`^|`G_IOyVviWP$9٘] aqi>PJT sƦEF-@k:q0)^ŷ_HFQ@x5p%GlN-{>g$9;7-r ny"@/JBY17@@0գ=JB@w6VY@쁄Vaչ)5d rypsC )(P"gz"Mu_aMY nq!+KD c鯙x~_д &*Wya ]BZlaSj2\7g4AB:r\^Es4VE"%g7Rjũ.E9lj$䛌<è9µ"G,%t"TZm̬vwOˆQfPĶMz!!hLmkLhEM^svhEV攜$ O1p@ik*R/^ ♉aͥ Vv0!iY@Xt L4Wa[#O^-Xq_).BsL$Z9.'xYwe[)om ҵ:R4^Jn|~F0OE߄viulkV;Ecy-ͳ|כ\ߡAiԆt2Ǎ4K΍Qjϕ|gfvbyx p>|iRLLz𘘅BmWU^|A]~eTkl 4M77Zb#:Dvgfa)/F{ǭl7eZo1!e7l `xdgH|rj.;aɶ_@V*^og,#Dt6H5Kc]qqe=ۥx!F}%9['$-yIUG <+ Chrײַevv>GG2 ۈB+iS:모<,DŽ,; YZ