server/src/tests/Controllers/ViafControllerTest.php
author ymh <ymh.work@gmail.com>
Sat, 07 May 2016 10:06:26 +0200
changeset 158 366509ae2f37
parent 23 037687868bc4
child 306 3fccf43160a7
permissions -rw-r--r--
Add controller for themes count + upgrade ember for app-client

<?php

use Mockery as m;

use CorpusParole\Services\ViafResolverException;

/**
 *
 */
class ViafControllerTest extends TestCase {

    private $viafResolver;

    public function setUp() {

        parent::setup();

        // create a mock of the post repository interface and inject it into the
        // IoC container
        $this->viafResolver = m::mock('CorpusParole\Services\ViafResolverInterface');
        $this->app->instance('CorpusParole\Services\ViafResolverInterface', $this->viafResolver);
    }

    public function tearDown() {
        m::close();
        parent::tearDown();
    }

    public function testShow() {
        $this->viafResolver
            ->shouldReceive('getNames')
            ->with(['93752300', '56666014'])
            ->once()
            ->andReturn([
                '56666014' => 'Guylaine Brun-Trigaud',
                '93752300' => 'Sonia Branca-Rosoff'
            ]);
        $response = $this->get('/api/v1/viaf/93752300,56666014')->
            seeJsonEquals(['viafids' => [
                '56666014' => 'Guylaine Brun-Trigaud',
                '93752300' => 'Sonia Branca-Rosoff'
            ]]);
    }

    public function testShowOne() {
        $this->viafResolver
            ->shouldReceive('getNames')
            ->with(['93752300'])
            ->once()
            ->andReturn([
                '93752300' => 'Sonia Branca-Rosoff'
            ]);
        $response = $this->get('/api/v1/viaf/93752300')->
            seeJsonEquals(['viafids' => [
                '93752300' => 'Sonia Branca-Rosoff'
            ]]);
    }

    public function testShowUnknown() {
        $this->viafResolver
            ->shouldReceive('getNames')
            ->with(['12345'])
            ->once()
            ->andReturn([
                '12345' => null
            ]);
        $response = $this->get('/api/v1/viaf/12345')->
            seeJsonEquals(['viafids' => [
                '12345' => null
            ]]);
    }

    public function testShowMalformed() {
        $this->viafResolver
            ->shouldReceive('getNames')
            ->with(['abcdef','ghij'])
            ->once()
            ->andThrow('CorpusParole\Services\ViafResolverException', "ViafId not in correct format", 400);
        $response = $this->get('/api/v1/viaf/abcdef,ghij');

        $this->assertResponseStatus(400);
    }

}
2hyLFBQwL%3xw8bqL:GN3ѩ}_1ā}^ʑ U`2>-q s1'nrܹthV^$$5_<ͭj pv`. g㞘WA3F]>[A>PA5&'A!d@ س'^g;ե &̉o*bg{m ] TrPq`oo;,X>!ߎP\T-n9Eb1~xǯb%D^ s8Ob ޅ[si`ʭ#axLn;3yBO\ΜwxΕ SM.*\M7N] bp(Iz`h!A?:ZHC0\=MO_He%T<+Gj茭&3c\S! nVȱU{}d$`l)YL+UpՒx #QȖ(fDBj9y(Vn}kM( rŘ hD©p85K}Z="[YyOdC7_!zEkn=ʶm$gCx{ktL\)ȡ=ؖئû:3 U:Lu6 O1/$RHtzSFZMMGuݯiQЬYmi)Xm@3#xԒfq1w;'5[;a;cRH9g/iU'7tv%z2njY/${^fK1F* ȀIf7^out'uUKNЕB#KJN)ro0~vR>1~$7=̟\qVܫ0nCPΞkր<9O)o,r#‚6$h"8AbO]\ `npj5ȿ-XoYf$ 1:dϖxpux*HDF<;Ҥͤ;#T'jX5 <C3kgp\#Ŭ_Iv*"ht#=򚖜\<ӏՒ/m }'uOE'Y{Sd&T*U 8h"׹dHgp\ge }8Hθ)✼HCj'Dc}-σإ=U!? -T%"&Oa)袰kP &?O? DŽǴΚz؂G%Jde#ѭur{iD-dʕ|Ʊ>nR5l>+ʰEag7ʆO"Rz Q6CLBmWw 1xϻ#U jcH)lFDU6= 6߻3|}৚$VdrLj+ f23>|"'zPR=K(77u-_-zllŜz5}9ʀN`zCX3lE]'0d^0uePQՆF|Щ~p _5E9Jl`B6t~2cN-],OdSˣXnFYABf.Q(Gc Ǡf@ 9%ǜs~*[0՘:vaf|w퇞_iXQQ'+t.8m,yKBK 2xsjn3e6 ,y FIFT00'a7POh%Ճ3NV ZLT(42 >-:3Brn67AAmpolG{ʊAb-f})=z z)8b@u sk5|Q&̈)Pv!K]zDSeэ.~JJI3o f<q YslpZp2[g!ځbݐmsD]D刦B&{(Սc/23c#=٩!AF ڪެ?$Ct 中Pm|8<,V}f} @*8%9~eQN(A|f8^ =SILIj:QKjJ+ҼQQnHew;٪j dÙb`Ӑ"YA㌇60(C(;a/>/u&T(T "N9^ap'~wJBR&R?Q\tQNQ7 q6E=,#x41m-)̔JF/bjX.ތi@Oa[ {?"Y<ՓrhEtبx{gLGpx emY1ˆM{ Fohy=Jx\!qtYx(8r_Tcj4nE|ܹr;dŔ,\'$,(Mﵶ}wY+3Ҳ؃t_-bu8~ ,vkmQr/MK[Rރ"稢 oM>.^Tb'1ũkrro-arLذ һ_*lK%I F4Ժ,ï׽k܋Fy[;է*~]eE9/zcа;I܀;IwT8]RyqEht<Ֆ{ )Rv1ޥŧ$0 L_-ذXAdDF3 ޘOfeˈ/|I&K̾`ABת wƂ<mtp=ΈYqA'% LNsDo࠿W"e=df!Bچ26hj Ki<2-Ff`Y<#18m4Hd^v}R3[)51̓G=P;jγ.m^;y-sq48UbO6[N$AF]S&k%^jM RMLBw-H_@+1Tȗ9KLT4{N'[)uj[zP{=@tR:QrAƲ2С;8 lQeKlDb98kwBt)_qwzڃs?);G=ySA $Hr#jqq 5!PDRy4s`%V,6je'SrhJWulI #rz hAۻ y\t} , 6e8PCf=VQ zݞ%<7/Qt֢\@z<jO}1mRuPW $]n벚`b LbH, ph%GVF0@.IN=TqLzÉǿ`/m|3 `mBsW-{[&>1ӻ3Ze} m-\ybd؈ jǧ(,/h%BL @7rOpzb%@D*,.`GTO?/PN7?)5mJ _7ro>GApO1AR*Rҿ~OgvC0끇6aďӰSCvG#qʎpXyaݥ֎88I 78U`6it!`ۃŪP~ vi^ym̢^c A{KB."t!3Ԓ%\|O,KVCj]OJ hɮ8O"AW#rr[?ۖ#H]= Ϸ;#YXX'MH39|f"x6'Y)C yȲє4V17S RgȜt>$㕠a*|7>\D%%b2 Gruh@Tm9WGU|㱤_+Q;-W8S)@=!z2[: NaF];3edu+k=;6CqSϮ|`u+@'@2K}bq.ΨÅ7x~˚-DVn[nG̜N`t)U[ yG &GHmRv4=ro;{\> 薑0=|/+ZҲ0Q9P}}=*׶O!4Ӿ{A׆E58ӥݑ8hl))ݴ4#_ǤKr_)`"?Tb.+]Aa 5̉RZA .$B">+@WN ͥWIutz?7h2 sn|k^ *~k ~U0N8؃t{U|RRJP vueȚ쟯|T.Vò$OV©S1|/9]?֘ʇh#b|8mys{KGǗ4Ey{OHr$Ϣ1KMĉqBsneC!'4G)]r?u3YٽRggZL7B1Ly!2vGێA31rLᬪKiwۡ,EN*wF)ץ-j"E#igm/bëeCFVΕ p8}ov.9<}T$mKДDgl%b"__Άdf5qD,Nёb+.aQE<|Jx}?NJE[1$CA%}sr!y_ňDOEHuҤE .,yȠ=eJ􈣉6% LCu+đr-!!\A_>h/VQmA ؝A#@"4]g3ak$.Z[(‹ЉmK)([YH=TTO^f?>}Ml_;險v$<${%je]ӫȒ揱u1([,ї>̲G=&[֐+JG=:~UNQy ގ|J: Lʌ>4 T'/I0zuq9Qi"<#7Q}K>svY9&ůJ"WfgOqⳁx볞8D"x& y)Wá'"I{|]}غgGsTjt$nv*Iz3 Y%7 lo?S75}341w5ˌ}x5[ _s?`E^O\Rj#sV s'kگ7GAN{4#)l|Z=˽.{B?i0ӡ;Gsȯ?4]>n"GU͈sM0n ,>>^j9R"v IlE/cTEC~gYEAEa޶gcw %!J꘭2.Մ5*$ 7rLuqM52H{6JJ:%C)q ǣB@)YSh_WZ.(x(/䭉U_&cY%GTmȹk=.@#yǪ]x?EoDǽ1ZMo0V{; RIߊjk'?L/%} \h =F뙯vUO`?g$rXoIf%9HދqGC-Z( a)e55.C82Qvh4=qX:(F%4ٕʼnqG TWM/>aR%@zתA qSm3Θ-PR)1pec Lv|d3Uiyn5,z.QhIW4Wy>p<޴3oc!5MOcr*-, gm&uj ^ڹqRPWD rC=AQi}kЎHt?ىS$͓aپ*aqm!\EeK0^f|$Qe)eu(sPZ۵yiDnl@3W/ h0MzBВ|H _+u]tXZZC6@cD+[}Lٓ Eb?(>USV_l#Ϣ]0)xR u$5)~S@SgN?rqgxxk>e RF:SH Z ?:&K4/BA6=z!&ҥ2-[QvJe#[3M%,}4;Z7?;*?V-5JbMQ HʹqeB}:6$R %@HR}͆RXw|C[SŀUr _ײmw~Y~׳~&N7p_/i pR̖d( ^zWADMV$Ì{ǩyW/2tD^j>> {.G/|SqsT! %Jle<)8WMoU&>olK]xl@E=Y).<3g*EsYDItU"O #lٷ/ #xN 湷(`4B @q*fbC.Xm1p`n{Ǝ<1&Ky-ZW}qA91(W\Q"LDg72j!" 7$3F`2؇ (wmK,]˪4Byю , Zbfx},BqR8APk"(&x:XC?BOK#z/<_^ݛP.3^0p]Z4d}ne% ρvjHf*CBGNMp9a+`F?/ksKXȶ#9@pK?fݪl;jYtw:N+8&;e2K&0i*ܬ֮,8PCNPC $ݖHkL~[(?4`2 5kzρ+1, Gw` PYCETv&M!k'M0LuL5}h4ck%6Tsb_5M ǀ/0 pbɷyH`X|3Е%G5|Y1FG*TmߑlY|BG5ړ:zM?z'ODBFY;:kiD MDOm fz#2{1_ ׺ɢPSH2#*v]>CpZaZv. bXk.uSP.*Y+!6V|[6 Q+kĴ\U)՞l %qǔֿ 1ybzP'{wu#j= OfݷA`(S2\pg&hb IŵݦY!H-G%>M1!O@<P _ BxbM|yڜx2ߕ yFm<sx*$1'r, [cW}1 9:niPS T]($+gv/kP.&ee& ; Fypj`UZT^τsPRrٍCo UA߉qϱŞUNdosο?^4B8PPLCǘhTϩnLfLNbaw:Z$4E>mpEy}sL6caqG3ý&ۗOb}6_Y S^FU\2@Ϊ$OPs{_ᴛwuIQҴ% A3x"՝3갈foT6w"KfR89tT"`0S_lEylf˩'-I\lg=fF8NYQD: sx*LD"@T>Gqءcԝ+-ݹqPoG*_!NEz 4UXHJ´ۅQϪC51oԙtRDׯBw:zANC(.?<Ա}ɣIx\یׄ 9TA]#|!`(d>I=p@hZTDcCXg)%WHl۴-qܮhZ2Z@֪ūVט9KCP6#eis]Wu"#nںQ"DJOu{X=5܀{̌DzCHl<X R8Bʤg|pFp499JiWx{t[nJty-gv3{ǡB7w~I+* tS"a5`9[7Md?(Q׫t?`W)HXXqo1F3TvrEa"ЙRf^ZPk/8v\!ߢRmZ^F3 `3cbOSWI`:,W!,خqr fmz)rz :iتsM-`XE_t2jZ_j0x̙b/Hןiim1N5(&Æ ܘ_aZ=S"k*ɐL7gfϹj=jEʁPZ⮧ĥ$ M_Lk(󧀡/fJmNCSZm3W,YE~NăC~Cg 49+ޔI?χ3' b=P>B$4ggL$ #3f~_fWo2i?h9MUfZZ:,)Pȷ9!VĒ~O E9HNq㚰ŋt'eOyղ0ZfmKj Ug1(ħdH(p4j*kY>bAzq kSX_Q9H(:U9y\OHť-lc#N2ٞSqΜ&бtkzr|5.N`(hi*cղR$R6k"˝wD /GU9 -3oP؃A%T#]IS^6)I/* J8YDzo5#Jdw56:J}OS8džI5BE9 \o‘E t;HfpMPsKJ6'\c`ifn7%-ĈsY!(gvՁUT;.XD盞OP)^R*;BPct`̌lc> tavuN-%{$9BQ4_+^\@֦:һNAڂÒT881eŪ*B{~']7[_`Hq;̒1riwQw3eL*<Csf7:fuy,MtR!Czk%1EE 3o2P%)!t6W{wMR1 ހ]&UK=3~͋Xhf*3'..>?MK (&6K'S*sU|P Zg_Mo cqG,s;0d _E W= ਸ਼>xǯ󧕶t}(~Mڼ̚Sv3ĜU,2aOdfbjA̾"=ZP3^{F A '2k2Ph=~&D7yִ9;sW{&`oùLЃ#3fE_s d}VQEq;_o볻3l@MuU)h v -[Ѻv !2E2[#qAFl٠(1>:|M>tY&o:r~.%Uʱ=hVYWPvF+ ͨ6cU:7VH+Zڠs./~GODl`QX OFk̼X(沗{wkZA# y"eiD, +G1@!W UxN7k=8ݥEg]0(L_8fَfLM+{V&^/~|~A9XSŏ'tӷ#^Sp%7-aɀ_χBUQԹ.̞Lo ꫊^؛tOA ڛ :/#``  7 ]4=E =[\@77i:ϐw<\eE16Qq-sw^*Eד!p$d+qA(,Xz1 $ ]Ft-oL)}(i} J).%xBfh[FВTJӅ跻bGC .P6#sr'~pi=UƋRi-9k6\GM$Y [Ţb5k-bA,S1gxOɷPO~/&-_iԡ>;铎#o9,(¶ 0]H˸ƶ oe4c8Ld dW<شL}C3ZX-ieվՒ6APf=r_J&2iW6 ͐hwKq'umf wq"P>L>5WE$}}yl]*Rz,M\ڬ$Pn"8ym]4CdX9/-s.R,w[E}V4)N]vZZ@؋עt?ZopODKIJXߏo* )9 A2[FgI׽As.oK{n/>^xɞ|e<#@:Sd6Cau@dֹ7+5޳o([j[4Lڶ=Zz(G`Z %T!VܹVkEa~NMN`deKSr 8g ˑ{IȱcH+@I-Db XGٳnDUIl]3ڛ;Xbq_⮼?HrNO*0'xQ?q/b/e L @&,PEtey >]E͛:Lk֯~heŒMp_nwgIRNWhHN%CXH+4mjY=<^Ohae W_6!'~&l(g[ͻQO IEn8,סp\wdZPLcƕTv|렟^D/b+4|EXTuz&: ;ەWFma!_6/}P wƢT@.݆m5ug"&=!F 0uțHZgzxΈL[!shu#Qn_1=1e->Z\Iބro&zݑJ6#OO >N &] p.@`L*;a.N y>ܕ 7pF8i;(lrh^HP`”1(ԝpC|G_ sWO/er}CC{']-bh0@E\']{>,8XtB"= 3+Mݾtp5 iLfHHDl&P8[7[E:ZNP+_e}T88Gye-I:+Xv 8D:1[&=l);R,;-h'\SZF@ 7A)T+r.30su (߁cb/gQcVH`RZ2j$,Z)>P U)_w F9TJjsx>~D (sԍĻYajC]fhfVqyd? C^$IQ6t]_y 8X DHy2sC=6yua*٠79[HyƌU-),]ߴy6 4SW񙎥EJ2h*s(4gc_-sЙTDC <<^Ϸ tK$Sfh^lAF?q-Cw:CoOa:i+37dJ̘k8Q6&J` W`c#[)&,6ɋQX )Dj8atiw5y 4Q4 A><\^=|>s?Rn?(e)ӣ@3=bH\tf -lIGoUGs瓎6lƧm3i\l`,mo} 9,'MP|l|=: ft'06$DV6taGLű'| 㿰Pyz$[6~桗s#ϙT]հ,+Y?E^,}U%6%1r,p$'L!=ڟ,nVr蟯c8ީJ4!!WV6B \|hNf1ljDZ7SKsz[tNTB>) EON =ỵI0e[M?pka{t5r-"k. Pqa}vT_̫#&(݉0@W% /M{k1<~@5\ km&P٫# E6͏q#X=gvv/#+}2!aQ;Q x60Z~d)B'?, fSe}Y;B6{̻ e=+g/N$Vknlb"5l'/~T0 #`!kiBVt}2 1R_`m$.\(Ώ Ds֌ZL3^X1MG tyI_0dm=1~4^Тj}}%kl<!y'DO˸\i4Xgo$BZLS7Bl꫾K,YV.}x#ggpΞф&޴)G3B[똾L8lt+:;Ԃ PPgj"*orqu( 9D͓Tpdax>d_yPv$i0uHKrWSGYr8LJ3 3Q2&Ӻv?9lj;b1]DA{FEflJ(XG:;Peq[VC!.B׃hĈ`B)\b1E*?#s9w=tPp{dt?@O J])qqة! aـʻp^YZj;L76ӄ8YXExs>VPr;O,|z3S m4-K]^݇ƬFe!p0f}F朆/ڬs+L+o XTݡ5Ԏj ć T<9fC] ԭ+ c9d2J `Qw =Wò|1%/f_($D6+UWgN`(D */3~^x/x  ʚQóm9F{ _xq':/a X,4ue9"1Ra7}cʼ, 6H/S  oh5 p Rt1@W yQz/< !K~G]ˈHEMM] 60\4RC/-LX[Rd5 "~y@& G{.]܉0W4ŁTgA6r+9;rz͌(%x٧TԪεR6 BVPTM|m G!=fCj0iO#38-K u hXcBHNVO7xZ8w1hJ RO}<"p@ }[BԘQ(o3z e ([:RI{WkgLf߹!B-eۖ,s@@=6 ^N q|7<<8% 7g;EoL 5$I/YDh'i;lu6G1f`#o8MSx6+tZlpNkߒ*V2SK̶D&sLr"/q@YZ& QĊ?a\o.~~[zaT4 (i }0O'c̈́~PI)(JR]-%he t`&dr>6 OSv6}Os/aMHW+˼ NM-^ t V/wEӠl}pPHE?#_Գ֩nl=~hw@ɑ~^|WN*:smEr <_ j4hLS/Fél1U$q"zHDڕ<Ǧ犬S$QX#L,9ωš"tI VDN_0-/EDJO૩+U*,L:,9Ղth ӃYVZbLDspî;3ڣuѿz׬YOCW&Zgf8C#jc5_ OKJL.O]}{0B?^ehW쪛.Rfz#/ S#NŽ*GXdcu$~w|Xz,)OaWO[d.oW#Cqr"̽WDAR!1Qߍ$ݡP]&Z#)NBTg8LC6?eʡEp闼dsgCb,ZAo' bE)9ʯ7FO6MɵD̹VѮM_Gik iSaJEoOHK^Yj^٢|ǻ[{k-"l"J9l0;@Ι5/^qpo&ڄa`ؖX`$ #}l"@X+h㬪ր%)7%4qtwmǃdQoM6Y:J T:%OD _.Q=vStGQt|M}q0\B 9|c "G]Jj9f.('OLE鍐Ԙcm/ly^IHHRi7:辐6Q[,Pϝ*{! a%wHBq /F7*ɯ"t;SseMK>pOCDkWk'>="+QHE|ĭ@N' 9;w58tDU6:\?C0\x\K浿[%\L-%C L4#lo/&dw- 3Y_Ub QPڔ z,ii)ZЩyʥ8:$_eޮT/_ vb>zpvLwSgX.SrsT%0t$"^3S l'Nʾhdq;R@ЗJ"`Q(2azPcT8WU.cƥ#&*9 fWrh֭d4(\4[[b[_4P.Dz"BϵdXX5j1ͣ}6\.m2i?JoLZNd:6+!THHiS^vB17qCxHlk, >Oũ3tAրߌ}#l t!B WcWtCiG;(k!^0wm: 8;n.Ƚ覗}q } 8 ta^懐|K+qi5ŽdMg31%dsE~Ġ eq{,LIDi8F998]X@LŪHjKVh9=1t<ʮ Ԉt"}H[p؞Ǽ6'ձsR.q ,g,1*Z\DI$$*\GX@KsKZ#K@yRqDWOx0FME4GϹV{iUYݦDHUy@R4-~?kA;nݪ dfrb"CZbaEmŀG ] ==^DWe00>C2n"ۖ,iIy YDoV rrR]hFպjFdibH(~%F-Ճo QM)Ծ42uŐ9T z"ڼ|w1pa(Y_4#0"4Lf Iu;ܬw}e6HDU;PWd|i@M*\i<{>!Gk-KMK ?4%5-KAs~e#t=om.@ÖZ T]'uEYJCZݪ b7%aa~,T8koY z,V|@~]F%^F͠|I6?\$8]wϖro_ifs0|[ q^#ʒCswN׈̖Ǫ0O {-;ywHD,etH.cZH'?<>hdТ"9@X"Vaz$s?Nz el*dp>M?mi1]̐]CBaF,C1t`]$YV!SǓhS*RMc1}ע(ppȬ(OʹXf4Clz-<晭S$fI|?rt6zKct͎1G';.VhDyLt׍L0 T}7[i!U9e-"+75_aMd6F<"E ݐeKQVWl#61 xF"QnY4H9"WxBl?6~jN}LS-@& YE`؋ EyL/ r@{BTe5^@+vv]g}>۾={]w|ᄈY_xd1=Sj ƓyOi~=OIȚoS Ҟ2OOQS1Sf 1I&z) 24=TB{RiQmMAi?)颙1jzdOA42Cji46G衞bz)SIީyy)MLM2mfi OSzP&2dƣM0'16iMiC SMѦD@Ld$=O&LMɵ3IF4z4MM2zMOM5C CLFQM=C54hFdLiO&GcDib Mi=MFmzzhzjzb4F4M1=F4hLɣCM OA MF2i2&#=4SLbS&hBd`F0M4&D)4j?SSzdiBzd=zOE6I OM 4'5<*i)=54b4=6ji=FOBzaQ茡~)&D 4RA)̐as~6sJ2 @n *x(/j⫞-˔7}jٳ,@c5 NگCCdZl"Kr9Ce <2zH)8mnՌ}͹i=jW^&8|1j(UR1'#c+t0$털RdSD5Ipm(EE d_6]#@YD/3[S+ g?Un_Bd084Dm X2(?M~P,IY*o~LQ]fPIj߬[h'/}ᬕ(tN <|ܻQ5Lu1.26y=y`d[ zu]sZҿzd1h1}̌rU9ߊXld-S^` )@ ave ȶ?m$(5Ե%s$&7,x Q" TwQTʄn{>Ĺٞ87XTRcv LW,lPŖ ̠8W7bf{;f5*`fz*vO[k2" cd s i s*5R*δ52A;lBj $*XBl#f6cuL9د7qgkǘqE#__^`a'n4Y~8:9*›r[3͓#{e'^Mm8n &5M?xAz#CBol:}㥖T 60p{%OՙӿPGrc s[)vq@fVb--aGyypd&@L-qi)/0:M[⨎dAalGjl$0ku-rgUA"]z&A ɹ[}E@ Cct{*o%ю>|FC\A]=H 96d+ wM87XLi'gތ`_xeH-ɽup=#lyZES}dǏO, ZijNT ,RxMfՎ+Pv!m-yحE] gN?2dv֤CY ^W_ٯDa#w\/M0$+H|EhY(GȝDe_Fϰ74Kfϻ6Rtϖ!';:SCGS k ~Tbr|w9h[5Vk\Vd&?9`[19&Υ$&C>^ )j$ 0EZ2"߲c=Ɋ#~Ntg!dr떽n>]SP†؀)_Xa!Yks^a/!]  zzږDG%<)6Dg4zW)ο>̓p7z0]-yWG,[N9J΀fqVGoQ̈́CE e܁{ԭ~_rڎE5nE(;+JV;h9rKW95Ŵʱ a}0 T"q}'STZ-rh[?l AYSBu_Z8Ap $Md!~=\׀ƴ ]Y:izG"soaX%qerKQ9K2!d?6:Z!2S FV#S>(>o?UyMSP?RgRuPtTR*B= v,ZXߓ]5W 4-̵3c2Q955~3F8?3_7#ѳK*6͌iT<^1 uLYsk&oT2cCg2UH\PdM`{OI hYj9wݬg(* &v /p{MCjSEj@Rdk(,L`ɓdGTɻ !,Hzb>sK Y'7뗵Iw%dd[[,&2!^(eyj8sV-DGsid p7x5+[_1 ߲zpgp6P3iOQɜԓm֮k䡎x=ZH]*m6x=,A6Js q],,Lv4˥N$iKSS(o4҂PwVꏯϩj F~!ăarÕ'2nu;y;TEwڙI>'>&=Lzc j=_d]HlZ*gٟA +(fE$&35 #oL x#b vdda](:4rwib :7i|.S0B @%pǢI4m/ekb3 sb/YZXdhPGDi8}5jR"2ada`3N;Q&AH[%>N90^Xa u5i0~ /ݝ`l;j`Z+;1&WfRlUQO3WLlkTMP`rUGG-BWj `o Ԕ=}GFsу1!'n9^}:slY}ssK I~ln=,qhJLTL J:3E!ubܲQoOA8. /塵0T䲎,Nݜ&nԐoCi8t uC\cHg=WN3:[y'7 u-Ky}7;6ș0Bk -:);)=,kiZ &*goZy'S7E1YPM# j9$.p Le$`ټ4p\r Zy5BTPĴ8DuဗDrmF)>QٙpC.ݝ%9z$$<+_0ؾLt(]BBϴ