summaryrefslogtreecommitdiff
path: root/drivers/crypto/omap-des.c
diff options
context:
space:
mode:
authorAdrian Hunter <adrian.hunter@intel.com>2016-07-20 11:30:35 +0300
committerArnaldo Carvalho de Melo <acme@redhat.com>2016-07-21 09:37:11 -0300
commit25af37f4e1e0a747824e3713b80d6b97dad28b7c (patch)
treebd62c50bb1cb1f58e7c71e3425d41fd518038c6a /drivers/crypto/omap-des.c
parent6f6ef07f412c5bfc37cde57e94b1fec789471907 (diff)
downloadlinux-25af37f4e1e0a747824e3713b80d6b97dad28b7c.tar.gz
linux-25af37f4e1e0a747824e3713b80d6b97dad28b7c.tar.bz2
linux-25af37f4e1e0a747824e3713b80d6b97dad28b7c.zip
x86/insn: Add AVX-512 support to the instruction decoder
Add support for Intel's AVX-512 instructions to the instruction decoder. AVX-512 instructions are documented in Intel Architecture Instruction Set Extensions Programming Reference (February 2016). AVX-512 instructions are identified by a EVEX prefix which, for the purpose of instruction decoding, can be treated as though it were a 4-byte VEX prefix. Existing instructions which can now accept an EVEX prefix need not be further annotated in the op code map (x86-opcode-map.txt). In the case of new instructions, the op code map is updated accordingly. Also add associated Mask Instructions that are used to manipulate mask registers used in AVX-512 instructions. The 'perf tools' instruction decoder is updated in a subsequent patch. And a representative set of instructions is added to the perf tools new instructions test in a subsequent patch. Signed-off-by: Adrian Hunter <adrian.hunter@intel.com> Acked-by: Ingo Molnar <mingo@kernel.org> Acked-by: Masami Hiramatsu <mhiramat@kernel.org> Cc: Andy Lutomirski <luto@amacapital.net> Cc: Dan Williams <dan.j.williams@intel.com> Cc: H. Peter Anvin <hpa@zytor.com> Cc: Jiri Olsa <jolsa@redhat.com> Cc: Thomas Gleixner <tglx@linutronix.de> Cc: X86 ML <x86@kernel.org> Link: http://lkml.kernel.org/r/1469003437-32706-3-git-send-email-adrian.hunter@intel.com Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
Diffstat (limited to 'drivers/crypto/omap-des.c')
0 files changed, 0 insertions, 0 deletions
D$2Wn''z󒍤^S$ EDCoagʻM~]4sP"HGԹ;r#)bTKF0q25 Ic y01u>j@TYse4a0$nqKfNz !+$jlbAuӢ7\SJɂ.TPH:JiMՊ1[~x+S(01ݞJGgқ/tnea/91~<T?;zU!RzѫMbeiZ\?4$c&hъA$$BB}?P~gf`&ilc0C1up"64ͮiv 5% ғ@٭1%8.C4:xAu*VoLD0oBe2IL yz$ǭ06<:V Y h:olrF$1ݶڃEUT=Z.Bep,j +tPB8 &?463NJP|)+Ox[f0D!%fgN^nUZ;3Xh ,VEmaBLdOrumkEꦁ 9Pf T'1jLecTXڲ<EZQyFi7KQNOƵVuIz[J3ǽ$7 ,9aL8R`a`%A4 -kX-=Iaخ:\m[y:)mkpFSd.o=sy>6Y׆4l}Z[olY|+m{,%.6"Ō[m=R ~$'Vkm,WZ6.]h/L7;7|B:j2٣G4CǿsGgHZ:"mhYiijj6s|"bBhSGAқԆ8-g쭖c-eĵ+o㟄g7>`y'mF76۾Swt/mՔUԤ9A`J D.nVs[`L*;Y'G+8dу5/_]pA?.k^ք;U;@ v lh͛0g=0O`g{Og ;5 `RE2p SI[vޮǐ-#"y=5՟-n%yrnX/k8VL|hK(0XQ0 _*`p65j͖>M0l)ը5p ^d]d$xm^#>VP@w(K~#h>s l.ȪhaTɳ\H[!!}~4x^-W~d.U|&rsd= $STJW5c 03FD d?Nmf0 *qB4CvhLOcxFhvcBhbCINJ QXU %-4񪥢XV ~v0zj)/pjby: Hi|*h DT݁)&yY` ` M؃Wnwjho\ ZAHnց7lLcy1}Xz1;LE5+t4rz7?62p- ' koo,bȫ!)Y=}s%ޞ~=τqyۓdjâm"dd37Ec*5/}l&E+%iGElc ڢl`T2ti(xR399tkUqUQ_'=롮%)fM%v n]90ٌ{-4ګ,[ᐪ׵)s]\&:gס1kyxDŽ|nגRgJ7gkg;(챾u4m]Ux|eh+96;'ڪEaʓV]Ů6ArOk]^yon:aK댗y.ɸ]j%ڍDGDόMf c]}}/~d;x_4 Z5wTЁD@/f  a{rqy ®岢wgi,ل+ܽ1OXT`h^+[uiiU!X_}ldMmv{y]+ t{O JmaOTGRo]3~*N=S쓱0lrQF%c*\yÇ#l3}m|_;gYld]g'qJ~}{ng풟]#W.s~ׯw˧gz[Te.SEf^ ׷m=1 nRzмRKr|ɅbeYvq ~hoL47Ͼ75Kc)_3K%07 bK>޼WّmK~aZ|˻*%…*Qz)ae}5Mc DRB|4qCsQsBzjκDXRz3t>E^޶{&_7|JQ6dI$#ʣZZ[ptoDF*XՂ1Vb qVH U?c]VڶUm;wwm[-Pj%ߌۢzΓ<<ګm[jmU[mlq⦪ڴkmU 6ȄHx1.mLV[V9&I3"F]u-ky ;񁷃7$>,ӕ%d#o+[ȗ(UJmq4J.C>iḗ,]*V|T:_dd7",wds;użWS˿.7m, NNTv[5hLklgw]$I$I$p]/gf@UA~Sŗ|NB~*̿ϱ:?lͅ$,t.X@@5"_E E9@ȮaA0@N!@\2D1`{!"7 (8YOv  BdR)"há?_' |ȢuY Rc-}}6Ja`]:z=V1,UĤi]`Asm" RPgV7>,O##(DN$z'gpQR\! !%%)P?}~ߪ>OQ"A^@6?|&p?j\VFN[ἧg^b??2gI[K~?f SoHIg[t~WmT:]He% "}(9L3pE3 A 8fK սOϽ5~ *ި9ŲtQ d%Ձ$Xa@ޫd0AAܢ&ᠶbxSU<#36C3> aWd=OCB?]%^€,˝   ?$̷/_x=sb3˴U%XU@҃!/Il\ybSt>tfu ۧaf*"I\CIn%IA,^wyE iCXqG=+&oTGזC#:G}BuYV:- I+q7?=S`كSt~ TzwmFzy5!~?N/kuәYs-A7 A-vz]v3ju G&~H͡~N,2D5 :|*@g>A4db*rĭXoI2KvB~A{̀կhD:?{ԯ>t@۔eR"? мG!]_]Ү80ٽ$V]y;ϕ6L| K+ m_WnWԹv:$` lCt q~  /aZ )_{{F傠@Q #ua {" }Ag#{9<x+Z(pAZbSݯW>J!>}7 L G9!ӓ`|7t/~i Vw^gV us.|UJWlO¶Ak;JR D"#F+u;i!/YiӦZfvu[p%WQ%X6,y3:ŋt//WYw^Lb֥˺F[S՝*}_? "~t@Y{ *F(b=SX7|ufd 3ַ]wnuylP힣Ia$/s/ܒʈc$Q2cGPtؽz)ۥOt h6bF$^VQ(={tC 45WH(覰XZJUQCvE6`Mwh' }|2`۠$Ȉΰ#5vbM[V=}~{{63Q -1=#Ѐ;~ܢv {>~{$Y p]j) p^԰zb}gp;<[@&Oϧ~>cQ,o\fsvC3.! v widj0׺^nw@8ޗpÿiF0Hy_[F;x&c#IR=6QpFgS*'G1WfƗ/qvZ17_OAT,P^63058/۠4dN].C6<(B 1 }lPPZ3I^Y wpmXČY$3:mZ*V$ʞf?yGC{b"/A%xQYW `I GnV\ebMRo%yð,@DnI11B^61D0rx#zJVxI%Zqp}@=q֑"Gb%  Q9 d7(a%  4] .tטv%u뾨9($ACO+$k~v%e#>=G6t|#l7:z]m֟?_w~p<؏yGDŒ,|'='C }2~zc = (xGF㳫nRFdkÜZ_p9n6gJHW'Ɲ{e!zj3A]!Ϗ9JT7ۜZ;Qim wXf@6v E|$T ;vm!qDqw썍p>=y|W+:mx멖NǏmӼ,׏E8:ݨѱΝgIp뱼0 { N%=]z!!U9פOSGf7?Ǘdt^h|{5j=)*]ۚkhGE`1k! Yww zzSlBМ8Bnpk}n|mxxOۄڠg7gꃺ骺 w+̵SGݣ.nvqZh-mK"zg{0=k~9Zf|ݺVCUێT#Rt}gDZaǓ9_>XtJkM;6nu@B/l'ZݸN~k3 R1$s8)\ zc_8r:;)cT:;,;p˜zd:pA\+`ԨvMC[,T;,]2uclf+=Mh:;V_ lXŃ^#ʂT7uw+H"o&PA3$&F۳ ޔſځt5m8[*Z۷>巳K[WNYۭLe?qyU+=~(Tȥ~MDMX~qG4 ·l!2.vM@V[/qG{jpͻ9Bos%[ {hveaл 3ҿ- (kߪ,Jp]r{2b2K,2b!C0aNCsM"brT&qFn}N|E7ض==BcoH&r/(ia)@" K^VѡRqo= 6f,^SdF2P9/7- YD\e@N 6.`acftޖso1bf a~ݵ̠4NlYSl:\EkpGXLvGpЌ"trBԯ.w Tت%36cn2ުxTvޱ~ϲ1e KMDgP|Vs+(z3HVco!VMh;̝.S>gϨr3 sab\Kn5RjLZ!{0OGJ=~<6ݳTUE.tdsυEXJٵ420[N! Ig%H7q~uq#clyBѝompu]w[f 782\,'ΰK3:5h N\l7D~3=x XL7f΁#|B7~:z ƌPCY6??~k7ceyMk Bд͕xip%^) zoO70~FDNȴ 6NsI?ΐ+e"(Nѵ&& ] *Q(PP U"Ku寘%c=Rv^PHM7bڭ`aQ~Y,1* 42tL#Jx] aMs?_EC5]orH 坨"1$]{猼VV]0L" R;-;P-C\>IGFL ͫh[ -`0em Rq<w*4fӇoD x_+Zڕ+\Q1yyg`ߋC~F7#1uy˃sxvw?`Vz6馫dA7hS肂ŸBΫ^ȸȈks/D+_%箲/xT /nAP*@] / tQx@99- D @\k;+@ %wL%bn )s[, z[(!@|gw]cbIjߐ΀䲃q98`Q^ Ƌ'm\/9G-߷PY&At4lXԱ89'٪tb-cwαdroU@q C:[H+ïukLSMlQ!Qb:^.nG^P욭y nz]-xLH4X/1}Xpt0^]cVGL݄m׏WOo^Wz|GN0=de A;Bi F4>r I0aK+ď~'8_D^*vj0+o$!?^v ШM,m," >]) ^t@byD\:`:k ӿ>R'QܢݯPzL@wYXТ^@3OW.xe1 fm&؎74?f+}9AcNz3y@{ە'UbwyJ|aeEmF3g?pίtӡYN @$G^<}+LCg?'Yv38?<҈GȈ@(N=;+݉1MOyd[ܤ2_%͢=<֏X<w0e9 蘫 o+K[JfE %_7C|Q<,a1k:@z_/L{<z5:)Ǝn{] a:X-  cDc%]36@+iOϨT!qDQt{"9zz*y<?=~km4TgY9yܘwD{1zvݰEnBꘌ_U4pnziѫ:R"èg^J'3B狸p O1B9[kok0lx/P0pI^j:<5>|}aoxYtQ;Hj"VGe@Y <-9yr]Vh[@q\nvF忣d`D8XrQ! Jp3lI$ PK7.cvп-~h{(1\r.t7kHn[`* )Vߠԥ_N\-Kw:@ͪ:vD6̝.6#`dŕ\9dӪN~([^@+Rh.m+2Z;` P n?+e57m`;HF]p?-rCmw> -?cYqC h5*:vs%u]ISC݃r% E3E & >s/ӊ~Jo`U: ɬK%>/}?̠LAؼ Wٲ5r"rtѱ6eMFʌ>rPթr9Ƞ~ǹxyl,P\<JLxX:%a=e}~Rd^8G.V;~k7٠x[DP>AGӹz:lƷ?pK<`'+mG!n iy8NPfTUU鴿/Df } YfXkDm6ip:'{uAo3ÛXc<##dM/W=( JZ:2UV",]K0ݮBt*,1[D݆/r\Qaw,螥i$|}}eʈW|% W7U_i^.Q;'ߖQi OxudT?<_HpGToEk>LJ!~p{4o/P}nSu|ǢhCSgylk+ZHA Qu7'N,Jʢ O|-np^mڨ%a e$HÞA: Q9YN=o krQ5 0|_i,lac<q 53dN }ZO+gnj R]L59bqZI^Yv:g҉ T}URb-EsXr(|Ðي NNN|4T+•Ot%AIYI~%1s02 a@A4 "qrÀh'S^.}=˃xD9' a6 +`m T}YՐiˌ% hM΋lگlTKݭ߻m[9' sC !>+9dj 9:I߳;샪&1C@ xg!+D}\+Bݿ|CwtLv{⛺U&SHqp `3#>=19 /)R a1J % zRʢV H/ fLSx#_gI*5,IpHϯ9Ԝ_lWfxx yc" 2ܛ2:6zq[sèm[]UwkށcBs}pr [3h k~QK5G u$ʜF;lEQޯ`R@D ˁsPݾ\l6 ;9ñ h/W{k5_ 1WE ATsmgvۼ .C׮D/RPU|ˮtS&ƕ6qp0DY6D}~w~[Cwa ;mhGVv c`*VFUb, a݆=q%NݠnJ0oiAં9pƪw`#Ï K;QĘplVrB6ssp7j@oWa~ xuuj@*R~dG`2a^ <>&#R 7)1+@ѝ՝L(J6Y O{ۇC'uꐪfhPB4Vļz龐٬dc$6-[G"YseqMK㞾˩z &dI#:agNPCű@9@& i7R]l#fA v4) C6eR7onA b9}S-p}8g`+'|c{2E/h^th4tci%5 e?>?~kE;S5A]{# %PX *UR6-hڕA`z*PEp6ˣfaЁ|n?_A~ *s|JĄp冣@g;ګMf3 -E Y *ݟnWś跽0_'%l brg[&C+185p8(5z+sJ/{ PUv0 JHC;/%'W WfS+Tuf (8[2=6De}>wmaO G Dw#zWpp)=|}@fj$7dWu[ꯏx;<[!!Ӌװ8ZAN]G rus^t|Cs]ZV|1ܟ ~aoώ/ޙm9 $CHkWט i0dP1߷y }K\0P}ϨJEO$9 A)*E S᳈pE_qhcmhR6#@ԟ=n,\=!XsɁb@to٢ {a-IZDjܨ'ny÷KN/pݹ`;SjUrqOv0B08e9jӧv /X!Q\8cOtg]' T֠^!1Petqj#xue q,dɦc5~7Vf y?CXmy)h*E0' YNA™8gRk5ŒPHҌjZ]ƝS&y8sz<+Kc:p.B0CWM=x㜭u(Ú46q ):= 7uzۨ7%Pzs nc5+Li&TN V:ᜠ9\QDGd|x+^$6޺Uy>C0gZ"/ҥm|rޞ^#*wÂT9z55Nz7fs`∻A5Pw[@m| >3p|Re,^Uۣm9B xG缲eEnNra\A|d^",x 7>ޛyj϶ "~&\y݆ͮ}A}s)D2O֫;=(J'KҠV)^DI`!Zo 9'á-3ZIoIp3%x lؤBfR}wW :zfRzwm,u^]t;;r2CMN ;ϥ<֜]qPtF'\gc<\|aj.\򏞪AUi^= d^dccÿmG#?[j{˟V3G9D0i3() `0!+{T9p pWߖ$4zە>nj}/E. C &T}u6xm}wknWwL^^#TbJaX} "$LaonS4|on^W6P$ l:3IiqwwV 2HrO "gl2u?oDC~"IxLR(fq/Qn#7#%uw̰sPZEKP@8>3c;~k[kYœ$u{b?6zcg|)|)÷cIuQ̼y Ee9Eơm`0<,LN>$0c,p9jXfDf/r|&j*[{S`JD&0$,cv `p H7?Yb0P(xizՒ,bEWXpr Ngy5n/鵮?^+|t@0cᰈ {o JKG[y8|3@̎ Ȥ(t\d$db`LU?(lvj%r A.,6m]լu!nx ^ z_/D)u$=ҭ[0̏|w [U Cn;w[~ߪK"po[(=gKL'Փ%""$*`RIXy1z`ij i(zy+M9`MbPHQQ JD]^.28:hxMYG=XFdZ#&ldvj-4֋qFf3.G 1Wie24pwN캰l :VԄzzfaV6mG޶\i8I bl2/|y\OP ZP9qW9`0߻{9WC019IB(^wn~%\!eҠtvqՖ`Zl48am顊"AOI/Y `hïmyDAmg*!Ͼ`ů*4a:O]|9=ۃ$wHV y#]O!'KN.ꝚX?|>fc(sX+L(PW}8xsnhS@P=\2.X*r}Jt}'{0q. Psn 36PӼ71 |,;dw[39ձ]TՇN7 6cjۯ*  0_ 4Ҿ}}wq.jxE@ϻT tQ: d͡>ҤRp ߋdR܆"[@t(4D'A2qwl% YC_m 'ʊf5C#InxOrK8بB&4m`_S5 A =dAG׈zwKF/ ˋ"6*=I5^ 4 ѣCҺP=9{cD":DV {=T1֫tܲ 6%! UEń6&![X,@\-ʱH% ~wb&N–$XLK9q *A(B L,dɽ~}ǟ9ϡٳRaS%ұ]~z{kkUYW=zdu~nM:;n%}A&BmHNGs-~\+:4u׆`ރzsEq9,Z"]]n~3$|(p\v@^9Ё4 },T^Pm~թ˱UUGl3[β\/N<O;Bi90Dv\:ZuwtYlHkflLT¦&L:.QП.oqR3Qp%$cK5{W_-fqB Kǘ^uu"7EMG2o=nt 5F)QIrM}W}=p2Bz#|tr3ttW a0d;?u|]Kg9A!ӹV/cN<kL+-?BOL;C35\{t$D:m/T,OqO"v²:HH`Jv!UQQjQ6gmN _nspC?rId?/iqS 9=x(Fvs+AUGwf-P ZI(85a¸R h1;J"Cȳ%|Tmsã24C G|q=W+c| 59T Ka'<G2zrهv#L1, x?.%w=R( s`=v0*yQCSʇ\ѷ%Qϸm7-aw{SA.3Ngu;1jwMKgmO!sZEkA" +{=Ti,ɑl *&!$5/Ve1/4Lyc%Ub9ymFG{׼ ; g~6)`lfYE"%xT@hV7VQ` 4 @xRjGBnP@ZaA??Z ρ_u-=qN=썛kz4mәI8ղq^aǃ篷am0w2ďS`œzaP g{`ur${.}gSӾkIǮXǻE !%1 oo8ғ/̒Ծwu?=gS3OY0p5qh޷-vQ99 oIcSӁ~0aL#UN?qM|z6հO/W.1T d &K)(`2Z}z `F; lcäo}E =@(O]o8B;]@)>?6].$9&A=|I߾)nuUmUmg#Ƴ zbӐ2Xx|vl&c.phGk=C3]wu팬ֺ ߋkm4r! w<_4 uDWT#Z-a )Xk**C U6~is"/9zuL*gXf >hngW5: L  1g漝 ! 5)qdo9\ ɹY}]nySUUAXГ E߬(j^8Ĩ%z\.!N=PsXzZ:{</oy1<;e+๷:\Aҽ?1}2llNCa)t1xp('ČLжbNʏe @Ev{55e6S*=-kj"0Lms~"xs0%QApkb KRHY"uȑ@{sE,>.S.hqxX%S裯q9nLP2vQTl9yҖ3-W۷#|QaW'U0&u]bx%N-r#ՂtpvGg}HtIӝel=oo㵣v\칐9ͬ(zRGT_겯|*qI B}SP1| $\vvzY`wD˛*OgFEA1~^!.pxω1xfR9AۼՒ&$XHnUN}C Js$|vt'AaC 0@$IGoזO1m V¦_z*=:%Y\f RΜ2_PRDu!.o+ ѸԤ  I'B i=QfW*W_f{v;sc$ϯ(]Y >p&,2]Ufz Sp#)LDozC';k~dLQ屑d^R/Զt]h*K?+e:u%!Kt)ϯDx&LH:먬ĴJH!$s0Su4=Y𷕜e7M鞾!NݐʜUM`=+^HQ ($(E0)akһ-[d`*qv.(F3]C#[Awll#G|w@ZC'^ V ]ZhǤU,2G;>U4a`zNZmN| !Bu0AM+Hl>0\Q: 97?W8hB#w1ـe=NY|8if=U qsӕs PEBK!,ZKrT8u  9s^h˺)[A~5&ՃLvqG8ҹsDyi&4 Yz_Zw]/'3ҲsF xFQ !zҺO+ϗ7'~T+m#~,;ͷb;'paE'59K.M,g{b\sU"J5_6YId~&S$ K&$ 1R||}Wrs8~,@[F{>80M}NjR6/LZ׷uoeI?T]3ҢR{CүdUIȅ®Lg-uGIR' nD`B%z s¢78[+N~<_x] ?kZ28\0rUTxm1yW8}RuLH Lrx]r, ex'DDytc&l2f*Mtia}l7D<(3 o3lCe*NYL/z\Ko 9y}1p>hyfo?>R./m! @}I\I r9?gI2I*9xp,s,mHS9^3a==x7'D(+0Av[M|SS@,!VȈg16DOAeңq.<2N2י!aři~N'm "=Q3,X!|.(O^ow9mv~;*1,莕|:ð?FYcq~Q=|^g~∢Z]k7-1ӹ}i-u2@I/qo)ML h&dy^D:9,C^{!=tMZ~PDMw7-~NѝWjsv\.z ]=Q|,&t6s]+K=Hd'1i!,(.G[<T)#3 ]2 GTNvV1ٚ@퇈3x#ZVK#\2gd} WCK$J?X 6hӗ8".M8Vh1Po'eBL‚=5!"fMfkou]A(ҟp?#c=csJ틼&8̝*QJɻlE`T2ft^VK-^A4AOO#0#FBNBY7M) YJU`"ZփvQöCK>GCwOΰ?8дy=[pL4gC0xYfsk;ˆW: $ ʨL4MD%>9bQ\=v'ϿVspBdۥ@{"`FY=ΧƶPPF%.WUb6pj2Ap+r0y93.: [)s_^p%[e?U,G8UѸV]O06!rb7l\+5G/0(2^o:΢]^h!ݞ!ۙ u!YܒLNޚ:0uGj>Rs,>SadfrY JۺITGD@i*VϞ".NЮP9 k&jZ׿!EܗL<˲\OYeьK#1 m,."utIhK("T~^<+<'ؠ:[9&q*ڧKm}47a ׸D!$4>sy6;!ڀzMޖSԵF 1}|iU2$YzxCwxqIo1.;uݱ_UQE_k1z!^<5Z3l{QB[j6<=mnmln?s٩0OlMCTD!jEB0W+tN&v#S #8u 20Iպk]>;^ZRx "?q)b=Hzi4T84fW'-s.B NU8_"""j .IUН|;#۝"& V L5T`ز˨U"wsOd]uH|b)21;H'Cr1Cv:„&?G}\ȑ_obKێ8͛՛įe3YX2U=KңunK`[h|/rU qakYP Ay(%9rpAw_h(va9/ u*4&lgl_!@JYؗIPgʲuy~DCqyqD+JSDqcW?*ǁ\K16#ʰ*= 1FϿZrmJߞ-mt,29@߇XV ̃[7lFa\I$?%kThC-s6`er Kل~8D3xz1 F"D;^qd[z7cdYֶqRs8S@`Fߜ75{t9\;Ď[4& $^ /_S_DGy5aXF+f<{5pA^1`ʑ!fZT.=))`X+M g%ktKj٭zQNs'=!K8kNg ́x>]w³톍3!x'q_det쭆?:ATݶ{ffgj8n6JVV ˅%4=Szhs)azOG{(pLRdͱT1AAQD b,?h$7v ~ˊx>P;#ܲ PWYwT]umGuZFJ=?b=\W=ד6beR14\g`(2d!oMNiV=# "nk]J>θDT5x)E+CGrBNjw'Ayň+ ʹ4߳ ֔Jjڨ"G}ck1xHNu.AnNZMK}C缈Ӑl?s } n~ +yuDZ]=ֻEYWYW&N 煺L@yFF?OkmLKtPWCte u %4wA&N9 Hf_4ca1GoJ@mQX5{g;93ֿdk_>X uLA0K2ݪ׹c6Z#c[ɯP𾅭evrrR fՖյ~[/)ܱߺ5S^BӔ9=,%yٰ޼]qބP XP839-nƒ|h*h̖10" ~X[\t3Ճ nׅj`}<`ҖDq dx@o#t%F&6/P瞨{6>ӜYtNslNh90S'!O3. \@ƢlS܉3sC}Zs5-M'gMr՞n!a% ]!"ZWzcc$:Ji 9@.PEosXt;5x bܢWD ZB@18$Z4"Y$?"C &]<%H T(sZ @@!n. ώB CB? MT^؇J8죋^ifiJvF3IitUIUh3aίRWm,,i[rY~&W|9dNJ9&FBm \zS*R|yq䛑K'0,SH% NryC엖3e+F!h2WJ `^Zϖ%c9/׌/ eJ<(L*" Nуԥz uMnf?uJv0ղ@>b\6|#:;ǻ5$r|, Igkh*{狦PYZWsnrC' em%Bw(_!aqovo268|h~/^j> EYnq&bę28icВKV˕M&/F{Wr5B"~љ|T`.``V1ER"Å]:~3OiN" 1P(>!ciU]?e8 ֬x}|CC@pˊ~T~n+_}=8A': ~~ðJlr4Xo0 .\uuF;OtyB8:] y(Ġ(xp׽ˀ9~J+`d:X}_[ ;sEeχ"8aVLxC}}+[C)Kl; PS5c˃Y hxXeQ|wm5]+f޶ c]l]8owX6$?X_H~!cݳ1 l!MR3?7jǛf=kd ZJ{?ɚvRQ5FJo he .vqQ(m:b@, + tǿ;]t[U#ܷ0E{Иb}0w^+_ɿiMExZwɟ[ WjHZ0!ng.Zd'hJqãÛ+vN˜p,QlwV zbP'gE6PrJv m{.`z8).-gIG4fTqVn͔<}}%id_.bG6I5Cvwdz!N{?XayϜ}]yw5=89g&H:E./Y"⦓a "88B'gEDox,w>"C7ʐ9+Ӎi=)C2Xj[1|"T*/ ǼyMs4L҃&<3[*~I;ZXeFrB<$—ΰbì`Tm~{3c;{"ƤʽaFE sKWS Z/4L:hY텎xV<3wni8br23q-GCT;Lo{㣊0rtjqtFۜcjÈވ8Ctq;9; Z/P0+اQ{Т5DFd)YMWnP`w0֎i_eƫIJcwg91>۩'=R_e*@7NP{Dլ]%*H>Ӳ wwKw{-Y\%}^$G>+0Gnq jìuO5MwVW9yPHF[Z vk8kaa.5t5wN, Å$muJõY;I-xu-7i^;hɷ:Gb88m 6W e[WyݶExcMl}kzN\}PYgc +~QF553FC'ndcqLrsl˜kx{΅Mɜ0!61xy\TP)G zhBRv֮^[Y"JZfm&m9N‡fngj^M_]Bx%i~ l 5%kddL)8o۶98棞9Zμ YPh+:7(27L^cE]De´7ծ w8u1v2=JS$$;fé~==1lc eX5]  2"s/aYȲlֳ0C4n?6'5˭!`ɓ1nuQapxZ$,=1"LG&N͹B^a7pU6ۙ6aP@ HCmGg}JZK OgmpVƷsn>R>ަ9u86AYDgG&,eM9kY5} =E=rOތ/$_,qO"`+ (|9UFq!ܚ(zQ+_;j̯g;YC8t-OC 4p[s;׶U9JP891ww|&$Ep'}]wJsչ!b0Pi&<}7/0>Y;d`IqȪDu78&}ݤcOit∎gʣҧ ~9;'$T呦H*dG1af_X~ Y.pi3ޟ``.d4<`.IYqB-P0i˒wY)O릎aM\gy?&ՕޒqEVy-`PDC &sxHApKl\*# wV7箮Zщr>v8x+>:iXQqL*BX=/(W s~ZMQawSiA o6SH7*#\ SUnT ! xnݦlM2&ے躞4)M187>\c,A1L/l膘{5K~~$b;mbJvtʢ衿+Q6|yWQPWN x3}/?#Ųh @ @/ ^Q$OBfYUxMW=.% } E#XmœcFwIx-|!Hm~~ q# &C_MP9Cꭟ9k՛#;ϼ4ZUDvZfٻ~Qb ("y(qLvUa2Szk>Q%xg|eI0/][o$IMB`}T x1И%1EDR5'q)Gz)s|INJD|C ">q.‥^(N>+x۬O >D`2[e-7c$[#@$?c~+-m*z7'?Ef l&Dv| M\`DӋ adcĬ=2Ľ Ar9\o&s9N(~3vHhQ?Şz>gz>+KX5^ka=R(f\"قf8~ٔavXz?-ѨӜWs{I~SFcB \z'X;c nPNtA J3Ԩ\{SɳzeӽS""}[, `x8U_eԔe8[byj^:m/{SF"ƿ _(4E Ƚŕр;|Vy*=O_.pu~M,V#z= [>cuCىmt;KNt.P 1JIs~pr &o|>cF{%ڮ'r S>h &?wE>ag>mlbFrBbw zb?k,ʟȊjt6_t/&_1>yRm_N1-?wgф3r~DbWWtqt sްO]*h~B0Tل\sA !D:g4Z9z$Oѭkeϥ69 4[ak ^˄Q4sgD^;֔nCL7i]`e:~$;g՚{u8\s]vtϳe\;U: s7fZm~ڶU-"&ߢ;űM4^]Jˤ^"N:!H$] b*&y!E#{xr<^64{+9yy:q(O,} n~s΀?U/ fU G\Y0rНKz;z]qйr׬RCG-'oZq^*z`kNj4YDtTva3nc/f/i&Nb=tcM">+Л9ۦܱ09'oo뇚,)Kz"}A_~Tn;roBiVF O>끄˗F T@H` DI7D~d!R$RF @eD(S̠7. ?t- P xbk M4x "ž &#@0hnH0mT4oξ69}]C6OEKB f6Р0WJ~N!#89/'Hz (5Hy\ ^Q5@_:vF{,J۸Avݮ1NZ/B:M3!!}z7] }yf-\x~!CWIOf4A-v/kpw a1_5/yKߏ-j]]68v`X b<~jk{^;p.q%K`Q!A @Q2jm8{XU[%0< 8|X+1V$+x[Ր~ fy9:HDNa+vn/Ӳ(=*}U,M㐙D L( 8*qI%x l5i$HDӧfNmJ#msގ8s/5LV}0}0kZGwg]Ͼ3mRkFIRέAoKzl7}Gʣe-y;Ƹ_>Xp/|QՏV*QwazU^E7B]E|=VO+``ر2ID 8M*zivBsn_c,6yk'7Qьݩ^s[X,+%}[{+\JC{.,^zC@Ќ\goXԘW##XX-z^.e[E`jStAs|汙Wߌ8':>*hqNw<}$8PSO0u.k+\|oY W$i%o߷]EH_/]N%rvWj&uf)zbQ lP/'`JeV~Q]=-9ׅ%FFjPssA6J 2Kr&4V;wL*MBn^ל?xF|7 -Н*Ƹ?ls7]猳3&Q?-ݏz¦OF#>+Fw%~GMcNˣa4R,$ :Pp 90C ]7`9Ź{,xsEA>2T.,GEy\{+oVϫje/?o e0b>IΔ*Rۇ>ܷϢm`l8Zj8;}EwAVɊ@#\<ḶYGi~gq+ݎ%f(T=WI$BOVae%eZ 1!z?/Wd'`W??J=JuF%6{%x}îaF0hf;fe7#{\ܪyGL6r^+\Y[1.uZrœiA dbu uxL99DԁA:UVhP9z'O 持||9sZ46y?YNumuH˃?BB!m췲5u v:M@CfGݺOcN<`v$zuz8DU pI;<k%Z JH^ .Q^I&0t5sw@MmIoyڦ;yRO#+Pc.@+ '[ =\r}=Rr oO<wmߔ% v|׉)5!*Lw# f0f ikn<3Ta$̵L3'{(|LrוӕMy߰6MYjF ~Ö{OHBۍ8ij"0 |}VgT|(1XmQudXV/ocio˻RIϻ[bScy $ȉ`yAr$~guY?SmamWw #}<~aB^l񳀜/WEErwAQASmSlu0F9G(nG78z1.8R1["k[,}FW7!y=k7v'/{QK%zGY??8+5r+ֽd^ ~U(#yoƮ.{d.٭v{v~n[#]ͪ[ճkؾ÷zaIaB)it;y}[1Dvˡ+1pPߟFxe3G h(UIE _ŎWn܃$f ckȭٽ?R#l%Kr7WB%ti@fja).@æbv*sGs`~a[Mj}vz9}"l 2uJL5`i>"qczgK c!b6zJkêb㺿UւuˑVJRd(1Cu'CQ__adk*{ =갘ohhwB) vbXdt ?|cfV<|I H]İgW\ֽwz $ѝa'u=Өz%ב_/,#"Idc>MqZȷ^gNE}rX}jta;XLۚO-wYV֯۹k΁ F}4}6- H$Pw3rȪY?hZc!ʔ`u{.|m 0f# L[m&1wVEnhe|1:@`1OtHJ9ժ%'[S,VN?(KU?vrV_q{qv}Xa/<ۆk=eL霪(ũ]zlK][; B[B8AUT4J2@Y_uJ .qbk0k .bʏ i$&0?{uDyAUm$SB5."ddnՄeMАUOo p)H0Fx `#9Q"mX^{}WquO9p:ʅc{CpnG3k(YS5ꪗ^ƒjع\T VB=8Vq$97\~B,af>'VzX/w) H3]j!gϡl[ .:z9щO78o96ִ}piK+権^UގϏ:R0~ ЇZ3vs f[]o{m|)(2+PX_[TۨJ*ELV!3{o}Ǘ@~}I=__d/;˼F Zw }sЖϻ@Y/oET1|Xa0VJBXTyG]܁sTpڬf6 MACZ:L8BZ]ξ"kE`z,~] nr5s -0,Pࢀ\ o{QIsCdz%TFa(՟NꫮڲI`ŀ?M)I/'lY2bԳVǟtkHʄT|Li6 O2xO9G*BbHb@xHqpӘ<%!$<?\_{k'q<,2>,Yj@NQ-=^kGw_9}?A/pAצ>\P`F .W~>ۇ8i Dx$A#umx+!1e$@m$,m` ,5iYD놐|yZ/ߊ^u-0~oLctm 7e[</ vAaSZJ)CsٜH^ʎ(au֥;pQk.tɎاv&8뜖?_>u2xİ -a+ /Մmɓʕ`}H (}XD S7dhc9%)05vZ?RЧ5=.1fϲ>ѕjݺNܫ! 㕖eI'jNDa]UL`jf5dR'a+vH[cыYHnpoe(Da{d"Ts' r16(6QZoƉ4>td̄!ALǧS@zz!yE`:˘-s)bZrp™^0V񸕸1Ԩ|'lxs8)oRb];u)$|z8_ЍmVosj<\!&~;CC(P6M䁊iiy&@"pAPݡP./)̆><ӡ1^+Ljcɻ Jii-,\omezfxB^xuK+*5SPVl6e1j}HWB}AQȞ#SniC#H.x1Wwد`GX,̀m8J uH/2# @g]*inXA1i".5CBqE.wfF!2JުL-tzUP]mvbBTm {3'~&(uoQIx^e9V7p(\<%nwS2_.5&/RKO,j4ۗLj{῏ 遲|u}8 ll56ݦ͖uq lĂޢk?C=ub@"a%Dĭ ) ]d .g׻b12 qJtT t7G vc\ӆ}B^xCvhuɝ*?t\A::J:# _+n-8CzW _>y~{:2! _=v\. E|..pV8 >+#/궟]tl{^'3kL]-$"[䡨|u@5ln\cu'*Q k{@NFscF8 xc~C8 ^Ac[-1-`UAݭxA?7ݘဆ-I6zb2e#^1Rkg7C L׭[I%ۆfD܉SAw7YwAb4j |^##N3/h-3=d;/x5" u2-@pan8jj Ԗ)J;23&(a` 81u=EVCdCb;/SތBiT|ܣzc~39űיִѩS` J#?t֌n|3A^k]]SNwkTtmu r\Q" %q [@7"%XmI_{b){@b*Էf]\Mbxntg7&pǁMU,+jEUHf9, &"LlW6)*[&vX D.s  (s`m#5Hb8*[;IW=(0}F1PC{Wջ{+84>ʖ[dFE$"jz_ݐ1?,:_[y m?*6ƆO'?E_>d(.Y]`E$;qN>gxwBmz"+~d=Na;H>*ikSk'=3h"hSm=A+6h"R)my#q@UY_©ߦn`d^p+ YxpfHI"\01lXbmcle2}A4MJhjE>}7('@hoScRN[t֐NR'We_a<|M:痟h:c`O8PKW1ֳA?wCs\rvQ(Dr3~GH VȆnoeG]mNR>5z~ח'*`pij?sV>z^}u_4?#tUKa2قiS~ǖo& '3϶}7l~0 q!qQ=y**> ro'XXǺQܛECGӎPNЇ0 *ҿoUe/z!UDl;ׯP_bx]s 4LD`lsN%,ԅ戡 @$@w\W9; w"sPb'yQ&>#@Q,Ab/`9!b-|IH>Uys } "HJyz3GV87E*U.qE+o3hL<Ν2mDx{D/T'VцTD|h*H;f}.Hb7 dw dz@$Y &(4#sn6Kx F0m@2A>MiQ]۰fɬd*vz;ĸ`57A5|EčMkŰ$8mǜY;ܻКwɯ-QpV2be$(BJ&J@*(j(j)( F(UR/&5[~]G'W=9f)lB=G͌ V7 31D,z:F G}nl/jCNr$I2ʡ7t7Ǚnݫu) j4za/{i t ,oD xCon0$3"vmFF" )(!;Q#E<ܽ&4m4X!R%( a&J(hF"%J h()!@O*&6;P#j CCCC6+Vul2 $VڱBZ#@RK/Nɶ6b՝[!K!Kն%aWp=mYڱgmVcjƩuOU ,@S[^<`ӒYucXì[iTqпE@.uׅAY=z@Mb=!GTf#-eђ@ep r5zNϯ\JXa,cUQ~yol'V1: W0HnNI: Q N0fFē=3/J#s ɑ"׀vYp5N(NSp3ҙ8޶H=NF(t15bBCp;$4 -&w[i3 n7hovI~ g$>yx[9'xfi&اlP:V^:^&ɷIm34} s"Gf',nhwuaFa hK6t9AF O&8,?[,t\{kX"!*R+H!E P!EQEA&D(˒"d@ ᴪ(^b*P䰴 CBU5`fXǫ|`C˷SH $n~)M-^%ʐJpOFt}Ǧyl7 &9+Wv+ >%9[W-z /AϿ΢.2*<떖71"" 0NBu-_<ӎq³^d K u~Du"B_?~uK|YS/I;]b0O׀MCrxf>l+T˅˺kD?!{Hl!g-̘L}9]rkn7m柙Zbqϵ,3 JcsE8iB@I FZMj]xs~罹6؆ *93$̵%»,|$pmE4%,;Xat707[;>[,Cx]'tez!mug:x_冬;ua÷ú6#佼ޡW9~Gz>**",W_&akPiTK,NP([bX)^)/uo1NC ӹ|5b1Wx[$df^_ևUq\{׆tyf! G"on?rfȮք9s]WîA~^#́H7*NA~11 3kY: {>k߻3dH%Sdn*$O%I  @D1#Dv^U ǭ/Fbt8~':26UR~AnvC30ݳPvN_4y0^fkYL HYcK;UJ{8RB8+^Ç\}[f`cc 辆St雘9˓2wd1t^Qn@u̴IF K `Y% TXP5mцP)֖JX22bo: F:vzWzS$'f#; d'CpIFhېaRspu1BJ"ѠhBfamdR:mbn9XwI_ItȎ"+U R{9m}O-}/ٶr-ca(lt8ʷ_IB6c7;W Lp Vn=etKO *h snK~qwمY-zB \XP`(CQI5M *N (D,h$~ tv.!0kwRE\p1w7|qm5_{yA@$>PIſf} aчsD6r&(V-O[Vy2 mB[$ZdD|}:C^or(> ymaFcxhfd_&J2Ge{XZп4eDt(#~_[a`^a]cE|x^G2˨9/CpnZ\=􂋕ZOfߛg1h|m?};/iR}8[oNd9Q-_Y+Sվl@ yּr0#c]<HƄc"RL#NY4YZꪜsS9&>љnc:_ۯI:|C 0-agrk6`"9,6!2?ڌuxHn12#S:%.QȵWl@dB=EM?vvh!J`C>*?.q|v=wO_PyWnh|zz4˅kJtkȊQKǵUK#30чxQO 6n?$(S(y`[&.A](K?¿~= :XI$d)Gy/XT4|ȣ 0I$ZY˻2meP]o+$h{ o9./g x@fJ2w}KSu%d>$"PP|Rkmorَ{gĂA"&+qN47n:RnXsڙ" q^״NdΙ jO30rˏć g] *?N;B=SZn_._|jLpmeiW*2LFҐ/S\P( a9he@fS#n"zgb毌$0h\5@m_H.F(nx< EWۋ @4P;FynWJHggyF,:Twt| `#0rIޱs؜8vi};8p;Hv.nEDdr.\Neplc 0Ȉr@Zp  .[au}}߮PaKM5vf%ƺ/R0$ '[COzA?9p]O$ !lGKmS^?KkFaF P$Er"]?Mrqo*uEtbq2⻾Vʋ~ PBVY-II^0`* @oQ-O?t gakQ7#f;שH$ BKy=3:B5^k>Q`yywL R"bEݗ@uOOhmV `~b f//;o l6UM{~"puMW'/f{{ډ[텷r"dwl1KB (%#^@0UaY2l&[lܣj^\]@/ Gճ>0 z({Y6e EY%ywEót6kv0@Ǽ=cr*$4#'vO:iyvbmrՎ݂ 0x+#sVZ4վ#}\RI^4^O=8/x78]r6+p"~jsZ/ѣKa)V1)Vr09h'/yTv)=7].`,Dl;"blaoٝkxw\2b&z?O: tl'[ N-Դw G0>czǚh7946BXIff}{fϺwVJJ;g.l0بuoID/ow:]x?x)4PT ce6oᛷ|XɄ!b