From f9709d08258d0b839ab89ffb5ea8d775e4ea03e3 Mon Sep 17 00:00:00 2001 From: "Nicolas Schoemaeker (nschoe)" Date: Mon, 16 Feb 2015 13:02:20 +0100 Subject: [PATCH] Added pictures to WebRTC article --- ...15-02-14-Lets-Have-Fun-With-WebRTC-Part-1.md | 11 ++++++++++- css/default.css | 6 ++++-- images/some_code.png | Bin 0 -> 4154 bytes images/webRTC_logo.png | Bin 0 -> 19240 bytes images/webRTC_peer-to-peer.png | Bin 0 -> 36601 bytes 5 files changed, 14 insertions(+), 3 deletions(-) create mode 100644 images/some_code.png create mode 100644 images/webRTC_logo.png create mode 100644 images/webRTC_peer-to-peer.png diff --git a/articles/2015-02-14-Lets-Have-Fun-With-WebRTC-Part-1.md b/articles/2015-02-14-Lets-Have-Fun-With-WebRTC-Part-1.md index fa9c03b..3cc9989 100644 --- a/articles/2015-02-14-Lets-Have-Fun-With-WebRTC-Part-1.md +++ b/articles/2015-02-14-Lets-Have-Fun-With-WebRTC-Part-1.md @@ -10,6 +10,9 @@ Today we are going to build an audio/video communication app with WebRTC, and th WebRTC is a new technology that allows peer-to-peer (multimedia) communications. It is not intended for browsers in particular, but it is true that the simplest (_read "easiest to use"_) APIs are implemented in Javascript and thus, we will use these. ### What does WebRTC bring to the table, and what can we do with it? + +![WebRTC logo](/images/webRTC_logo.png "WebRTC Logo") + In this world today, all we can hear is about "[The Cloud](http://betabeat.com/2013/03/chrome-extension-replaces-every-instance-of-the-cloud-with-the-far-superior-my-butt/)". While it has some advantages (data is synchronized across all our devices, it is backed up in case of failure, etc) it does have some drawbacks (data is hosted on private companies that can analyze and sell it, these big servers are the target of some criminal attacks, etc). WebRTC is **not** a replacement for the Cloud, it has nothing to do with it, but it brings some interesting features: @@ -30,6 +33,8 @@ Just go grab a bottle of Coke, go buy some candies (_sugar my friend, sugar..._) ## Let's do This: Skype-like Application in Browser! +![](/images/webRTC_peer-to-peer.png "Let's build a peer-to-peer application") + ### A Little Word on the Workflow You can find the code for that article on my [github repo](https://github.com/nschoe/webrtc-fun-part-1). Here is what we are going to need to do to build our application: @@ -651,6 +656,9 @@ And now the methods, you will have to call them to build your application: **Important**: this is quite honestly hidden too deep in the documentation, but I'll say it here: the whole ICE process (gathering candidates, etc) will not begin before you called `setLocalDescription()`. You might spend some awful lot of time trying to debug your WebRTC application with `console.log([insert insulting debugging messages here])` and the answer might just be that: `setLocalDescription()` is not called (at the right time). So keep that in mind. ### Some Code Now, Please + +![](/images/some_code.png "Give me some code!") + Is this the moment? The one? Yes it is! Enjoy! @@ -1214,7 +1222,8 @@ And tada! Now you should have a basic, Skype-like application in your browser. It comes with comparable bitrate and quality (especially since the new WebRTC 1.0 review, where H.264 can be used as a video codec, VP8 was the only one before). The media is truly peer-to-peer, so your media data flow from your computer to your peer's, with no proxy (see the following paragraph on that note). I hope you enjoyed reading the article, and that I was clear enough. I am aware this is a pretty long article, but I did not want to simply give three lines of codes and "voilĂ !". I wanted to give you a sense of what was happening _under the hood_ and **more importantly** I wanted to write down the tricky parts like the fact that you have to add the stream to the `RTCPeerConnection` before calling `set{Local,Remote}Description`, because it is often omitted in the code examples that you might have seen on the web. -[Any feedback is appreciated!](mailto:ns.schoe@gmail.com) +[Any feedback is appreciated!](mailto:ns.schoe@gmail.com) +You can find the whole code for the Skype-like application [here](https://github.com/nschoe/fun-with-WebRTC-part-1/tree/master/2_skype-like). ### What we did In this simple application, we used the most talked about feature of WebRTC: peer-to-peer _media_ communication. We created a simple Skype-like application to transmit video and audio data between two peers. diff --git a/css/default.css b/css/default.css index 87ad428..dcfa806 100644 --- a/css/default.css +++ b/css/default.css @@ -116,7 +116,8 @@ header img { left: 0; top: 57px; height: 3px; - background: rgb(148, 194, 228); + background: rgb(100, 194, 228); + /*background: rgb(148, 194, 228);*/ transition: width 0.5s; } @@ -248,10 +249,11 @@ h4:before { .figure { /*border: 1px solid black;*/ text-align: center; + margin-top: 10px; } .figure img { - box-shadow: 0px 0px 5px 1px rgba(200,200,200,1); + /*box-shadow: 0px 0px 5px 1px rgba(200,200,200,1);*/ } .caption { diff --git a/images/some_code.png b/images/some_code.png new file mode 100644 index 0000000000000000000000000000000000000000..e13ac19bd8ffbf21e3b8375bde0426372e40fbfc GIT binary patch literal 4154 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 literal 0 HcmV?d00001 diff --git a/images/webRTC_logo.png b/images/webRTC_logo.png new file mode 100644 index 0000000000000000000000000000000000000000..ecf577fcab97fb5d3eab8bbd2ecb1bbf2fa009c3 GIT binary patch literal 19240 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 literal 0 HcmV?d00001 diff --git a/images/webRTC_peer-to-peer.png b/images/webRTC_peer-to-peer.png new file mode 100644 index 0000000000000000000000000000000000000000..4c0fa13d8422a323248a8c613168a83149310a15 GIT binary patch literal 36601 zcmc$`1y>x=(giw5a0mnl9vlWAg1b8em*DR1?(PJFySoH;3rvE$6J&5FxWCDF?|tk2 zgSQxlUOnAsPFL;PwNG_5QA%H=&`}6c0002GjI_84003JG-CjpRfWBM7)Hgx@AQ;O@ zi38sL{p5F-B}4ZhJ4%0b0RT|3|NX)MGPCiaI}u%F6eJKgU@=kYdGj?N{{R4F02y%+ zHP4lkZm)DRGp{p0p>x8!+KPyypwfcQ3|oYtCCrdU7*Y10R2Wo8X+_iU-Pa>&K@bbr z+#M=!{>*fSkWX+)s3B3mqi8Y_;zr0KgOTDWLJYYSCS5c&HRnGqUI=cG+AP_eR|=@P zsV`Pm?t|6UZgQ;`wQcI$dM6!)evVi>NRFA`eu zpB-e8Al(0)@c;WkMyy67|7LuEWnRBvxIkt`c723o(`+-~eX395xv2yQtFvZhH z{>>eL>Foyp{coI9!2N+8i|<2Tz0GlN2oC^DI2@*Ev#-fE5J?`*QvA?w?|`pxi58BG zA`n1X@7i0UcgpkhLLB60`oANb<#nHRNc+6Fx`wk@|Rh@!yvIX~kJ%RRZ&m?`R6IG)>XkIfAg9G!kbOkpHsRWM&g`|&C zmDSw$uW)F<*-#9)IWUc(7ANQ10;1Dar(j@zBbPEx`#+Tb-z0%Z#~iWzS5!g|hY2Pd z0v=*tX{vjAq{+g`^O4}AgG*G4k1cYjx=G(uZAg#}X9H{JwlwL1)jAPOq>n((=K&U> zty(R&uoH=YZiB`ZqvH{+;@bT)o{-0CW2-+(^E9OX>8SvX?Jvzcb0G?E6k`r=A(U#4 zXK&n_x7DMM zARn-P7qV|RtRC>{q4nfaM{c(K!{pt6FGtDHJeI#Xj6Wt_(jXt6n0t3HY z{ek@**{Y=$)`M6Q6l4Dk*L6KC^jzHOyG#1}&&U4|hv=8-o&>**S6-ou&Np-<0sNL^ zo-3xl596`iW|C??+BI9>psr+oTNfg9)2!7e_tC=)4U7M#01eYZ>=Kc{m-qh3q|cjt z0E|p=x*?Ja)Uz0*6xR#ve0eyHyci3?I}gvJx96e1D^U=GZvrex1ENwCrBF-LYuOO{ zpOE+L>p8%>;w#vTn#cobUBvK?WQc?zUE_u{p4ix)%K>lLx_|isq}_YxvZ4O@2YYh7 z?6phm*A*RugnV{{K_^vmDHpSE0Uco;vl}1G?g`)>Y|-i-=Y%$cTYF+snARVmUnWoW z9s13M1%jO3<8Y+DwAPehqqcV-W4`j(e4UHw&@ru9s%trTEk6nV=Yl)PMawxW)#iUG zHuPbTMPaic;q}fZLFk4GWfUPuDP+5x0*eVnITN=`0n2a!#E5E2@B0LIF8pu-qYS;e z|0Cjby!3|ieuoRix0@?R4GfV8!s(OZ9ee$s0lXp7A~xt%0f6Qrsf&ZRXE@IiCm!bi zg4(fzj#RKu=)N(_@CLVN$DLS4zOXokPCL^~Wk)T-F%{i-e<1+;ir7O(=l5U8Wq%Q^ zizj`Z&nxua!A!9Vfs5k~NT8lxBY2DZ?Ftm`|8z3={&k-;-}yQb2u&LQ2lZ^`c!3A} z^XG(s@cG5}3o!W<%Cd51a6bcVtRqUqv|8durUyNb&V}BQ+&d@!k8x^|kKJsac9@h+ zQvfRHSH6aqr5CHwv)s*fex$d3fR?unKG5yJ)dvn}g#OD)1G+93K6h71b_sos>p!Pl z4kM>4uB{kVc+Tb)_0cESUR$Sn#1;Mve~<fu+5lo773uuVOMaw)P?T8|2RfG-+f&$FW8!VkUwS`)N-&m8z>jMEkXUp`-`Tw&30|>I|(Hr;pQ=In{Siz!KX^{Q!hhC$IcUHQM!OYlr(f)pS zhQpZ*IXF>MeioeOt8D6d>P@6shaJfDkuBZ?Zkx!mE4g#08is6;TGW5l7nrUmjWnTe1?ybBz& zRLDV6p@`=m_OAR*Ku$NYEI#7bV|tU6cws=gBRF)5DHI4lkC)#stk8BXdU-# zYQKlbV8UZT{fiWpKgatxF*emu7=4XBWT4FDl?+;cgRP8s592h8jUzEG5ILl2Of=LG zOF01)v}VBUT<2VMByw6&7^7*?QufZBeOx&?c6tujYnuuJ5-vv{`1oDJYuO}z3(feC zOSFtbGgdwW+R@?I!R=Qc4weuh z6rhEh^AxAE)y>+I+}P#e#dyUR4Ok7T z@`tm}?86tfy{7WK2=pLWW5X0OrD2s42fL9}+i(THtoDg8-l7Lqvm`s)19-^Ha%c{j z{|B!Ry18`?0mUOe35$+zvrD@j^`l36lk zZ}I4I1swUn=mL6>=w4G((67LN6A4e+*2b?FTX~*n9X;5@@j)So$gI@0=j(AbV!9_A&^gBGzx!Z znUw>X6w$zH%Hk{ytQ2JSgb~Jp=z-}JK~_Ld^1&;PVX0wde1b3ts}hEx7vVcx!)80f znj(-PK|Ll@T3`pic z^O>(3ByRgKqAwwy>Wlv`7QK0=wITP@Cce*0tSNFO5&{@W*myrbIuMGgtS%CT8)df~ z@{h%W(DwDkf$zX>tWCBA3%L!cw&1Vd@**-xjTe(pHoPb8Pxw{B@x*zjlmcxCHp{s` zPw-%W==F%!K7de0&1Nb)>c0KDoW?6F!!QFd3v-ueF<6Xc8T-} z4v2}#(#^mZcNFGu&ANebg{*Dtr)`{K@`$M^BrHxs7U}*#n2=Z?_3EI^o-5MONz|5W zHd@m{`Jy#GA5VB$o_F*l-`lfGL@JYy6P+(cdXNfJ-yaC>>ll~*PnW0Bdd6TYe2^NY z%>)6KL^YAePrTD&Rzw2w%+k^*k=SyLZ!jesk#5Cy8AjzhcvhA)#O2}KD(LkyYz_S! z4a1y8hQ`@v3l*tF*#WnNEh?w*u+*!-q!eNaIS%&JEE)}7n$%^QY)`5R8c9qCIZJes zpM|MYUG?#;ijsFNo@LIuorJh3fx4L7XRmkpHl0d;{3%nKjoV#@pO&>RQ9;>k$fm}u zWlvCB@muW2EDar%e$KkqZpHAdaIMA?3%!s0lt&awHOm$8S~beS-ays=7(f1??vgHC9f8#ni-3?7 zk=`D8^nZQ9z@O;Q%4hyDDb^itk>{N`xzYwR)YC&9z&tl~!P8-Xe=->Hew+}2p#FD! zEm8eU->`A1F1^uPZa25j>@Z6m@uwaUH8lt6pG}K!)w;vEcplw$vk&|IUn%HTG0Bf~ zrPMW*cj;j<@}>K!@g#7HzO%$G{V=!U62f_UthXIj?jR8l z8>9k}QI(R@%Jm9xLFPbQ4)zk(UiOoZF;msR`AbNOsEKznLV7-j6wF-P8N0LJOrRA^ zX%^=y8+C6u#a%g27eAJ9Lhu0nVsK62ulh0q@o6)mC=jI`8>Ez1orFuqsamOVdZv2QL0jl&309P} zLSc1MoH_uYwC61RR8IQLeiY#l;j^c3QtkEBK0@s6#44fqo|OORs0JgRG9jr^CI>9W zWz*L18us#R*Nss?dcylTW#NfEIi9D z$F{M6b~nTp(rUwc%RV<8Sd#ew!l=G61j@$t&Eg66i83~T%3QgK$vRbZ(_Z*HIyNn< zL?clGcd9XVu!71OW~Mk?PRi;kkwc!M+Lfu=!wv`iokAcU&vDtR1{f6{p+Bc<)UmI)MeZa}YJl>dVBg{b)}t~Q|B0vF{rWpk^wB3K%x{?ruu0KjI73#?RJf$?hvZp=ofLo)x9Lg6 zzcaTjq%4Pfis`-mU|~$jn@-qOGQ}~~|MLDS?!c0eBndHO7*I}VI4zD?-vwmCh_Ok# z44Ttj4KZz4K&loOO>0c5XslnOTa}T><_O<~)K^$S)&vnHRQvbK!<)#R+8Y$M_evAD z4=NOtByi_rK7&`eqnx>{6&no{sJB&@5ZDVV;$ARG@B&4VD2T$F2~SAG4{5pbJI?F0 zo+$IQaAG(&Ld;g3VaG5j#QR`co>ra6xB~;>Y^&_VBs6Dw!b;R6+kA&m=4{;5=y7?t z#nUHd!n|Bl5W~a2=-ip;OGnQ#{ZLXHy1o@Lah&$hm^gsl^>REJ!c``%yKjT6`aHb( zy5Jr4gxe4)e-zA}n8T!*W7OrgJB~+eE91OS4rO{(Y>Y4TT$|$K{g}o(@wG7?o`?v; zbpv3iTy55V7=_dOzJ{p6EF4yu>Pr!=F*Sya7B+ z4qFL>%Z*92nxebTvCoeBc`@_x@8V}~3F#N!lG^47F4J#)oT!$zU`LcM_vHK?C~yd$ zD%80hulCLk2&W=*B}Y=Fr7m@fNKG*c{SVHSz0Yb$G3X~*^YN}Nem0PJ=F-ykE!ZGp zh0iH@>nP(IC3jQRk%))(7m&xs#mlNHzL%!&MWmsj0daFT?FdSvpl~ibevdIYeNyK? z7f9gPBeZ4b8ld5;WWjaHRH>Wa{D>N}ch1ABA#~Z>+u`?+pieB7XEV%pK%}3Q^FE*3 zLY{YlBq_p5O(;WP!q_h(XCZ~Bv`I2$Z;|jPd0QLWinEA+vy7KnaBTxH?pT9khP@5F z&%)5>w-m?R62IjD2O2!@$A!7XaT%|w2}?Ushn_N30cNk79iQ8q%uji9Vb0oasPE88 zPzQ`g2f_={r3fyJOYpzi!0=v%?^;ghV>>K)YX01kD<^;V8Gym_$s}<(z5&)u=_F$0 z5~sq_&WK7?zk*z2wPrD^s0@dQ^myaOZh~6pqVTUOa?DezC&z<7@6(CNDC8|7{)!{pEY#|K zqs5D1#8Ljq>q4SIR8=6|PmYMe1Nt3Gf!x6rYDE$@u#H(7A!+lx|MtqCyI~*+wH_>8 zd}sk{tKZB}7=%|MCn{Zq@mxhB*=a16sc=SftL>Iu#tu%2p3{4g{Q8HRp#@T<#=8t+ zw>_|kpuHFR&m=9C-)L0f6-WgOOFHP7!A{d;1^GC^wnv>?d&^XeK^cq1E%Br!AF;A< z`=g8#>=%*TnobvaKTa@m*Q=#;AW|H2qMK$85#AIO8)Icx?3x&-+u#^};EoNgG!KUj zk`Zf&2B!}{eKGsv!MU0zUg5Ju_SL3pt~Q3l@LD9oOwHXF5Qa`_=5y~&(R?8&6ebFD zqpb&}wrCvrbjQuWD5oSpEKZ#)qi@J*Yt%$@z-wG5s50RZhDK%ZQu$*4W;};@x3}x< zHcT3q(NQ8?Sle`z+mVDt(mU+Z;_IyV?}P{l8UhVdZ}Edg9IppyttL-FpHbp7qV|-N z@pDvCXkck>$rZ$GDwF*8*~8ERIkYO~s06+IzkSxQqHPafAl&+UW9UH*^5&LZw#Y75 z*}}2eEEZIurFm*F*B}$d!dPGjyvKXLQlC5%r1~w7?WLLn991N2LA97{J>6Uz<`(}B zF0d}y2gkL`uc_2kApe8S(ipR}J0ecMu0@~%Kt0enPc=L~SDtVTMONZZy)@kNoTuWU zyY0!DJ!~_UKwQUt(F>L+9isMA`B?`+_2@};N6;@IGssBWcl-X*L}v$W3HbIID@sX> zz;P*x;;zB4`ImO$z_nW4RjOG~|HY9TH3AAgDm=O#3 zntJaWF1QGa$VN17L>3qHI~~R&h(#m`HAL4DHIhtmlY}4u-8&E5b9xU-SnQtKj2qsU zs2pN55br05>qUWb+Ce!$zqTcj^aX46rIt80u55wxbM=VE09c5;sH)3VM8JY(ms1Eh z+nzEVNfbRWqP-U?dT>fXQXaU?0Hv@W$kwC5Ass#v}xjGj<{7J_cs&D_QcO- zd=7-KMNZOcPIIieoSUZNX6=MzQ)n?r%7Ea05t3?R&%yn^rAxm)DfUl|&0_pItbvk* z9XUzQJs$?qjy-?pV?8;-3dmRItscm)i8oI)*DtX5iA0j+h7RFKh;gt+vauCzm(#V* z1*yz&*yL{jnsCcbc+MUZEWOQtVU%}EuEoA8KH12;WL9@hAUVTeb z+5@aI1ca#^hi9ugqAHu$j9Q4(g=sfOtJ^Hf^I`BTsurgdekJ8i>UPIeR$X4y6_?xR z&7Vd^ygies(U9mg)F{vrZ&!P~i2lwXksb}o;VDr;X3#|U(0Zr2xl?@LS1Xh*H($q& zCbsm&f)9V=%1DRvwQes z9M7Jeu~sHr?gb-iZmYE(fnF7()j8I$G!3uDn45wQ`9@^adudE|4HI1^q~Ncquw4x? z4kJJaWFrm}WQ)q2r~}Q9)kikW{4lK4Vx)P@B}BK3^H@>o%<4{nseucXk`lJT7|?G< zH1fjB$CbV*qri?-ed3LcpjKL|A@%9`P?j`Dr7SvrJYr>&C4MhCsUCQ%ynba7*dBXo zCe%yj+znN$OnkhEuH1@C@gX3zX*xJsMq6UAM2YSpnLH{!kGn2s3ev19@+K?&?&k%M z$Z(CS2dvV86YP5!`PmbC?&F)4;O*B%c{WvAWwch8EcJO6pjiZXi zM^-6$)3%$IA=@i@wKP)S3SB7@#2xwg>!qCJfeU^fFF)4UHhNOIiQ|?uPTcBqW(s6w zb|+s(vq}N$;4ns|Snq8NkOG6jP=3-ua1=b*xa_eNj9F&i5a`{#pqx%$Vwh>}`lVrK zrV|)eaa^cf)6(6m#8{}p>@g`E1;Sm4o{)W4YUOULU8zBTV8BL3WRtZ0^oh9Dr(366 zBcxM!_TERT^7;MUY0x=bD#v;x3#Hw%Lv*T&b!pxLPN^v8qm0YkPi$+^UxdAm4}@J; z97K)_j^rP~s>q+kd&jh%!}l8L5*yQmX9Y<$wsg4%HH(_=9F&A!(Si76KLSCYY!esY zsR~mv5xkt%Ouy$WaLms67okvjiOO*0>T;*{udYf74hhwyW)l8a#zaMUZ!O$iHaK4a{8` z@~u;Dqt4S?cM)#7+@1CZCDEV60#Cg-@5?*XpJqfFA+R`>RmHC+9G!jpMYYwwl z{)tPbzy^H~U-T_}Bcl14@BjoT(FbJL^34oMWH#=*ehi*ia?bgISvDN0O#ugzpTqDa z6tU7ddmkv;AbjIp(+P6Z^~_}fZyW2$e~>tQ#we0P9iose`DV+ARmxVROYec!s>$#@ zccyD#fcm1lHcn9(hgHwA;<JP3lft~yP^lDzS}#J2 z8piE6ukqyr5BYj?AP^*Beiw!LEo`G&k3%Ht2}Xh=p;`>+Lj5@L7+{3MNr85(oF=H8 zTqRnB12?@H?CGIOqa;X_G+RwuSwOrL)35ixUI36!`RNOHlLz4v*4e2=(1 z9$WmeD^BT9Ih(=1xIZjvmaNe}1#;5kTKQ_9c;;@nkv{e0adJY->f`sVQW(Y?QH1iU zL&1ibu#VqQWa7d<2dAirpui4*KGYN}AaOwAbQX*UkBs@X*%}%EOLnlS4rA`Z*rmN3&+&h z;4CpiMsS}~R1gp8OICZOz$;~@Ckd_40p@GeOtcHtAk9ihx2qjxme#3P3Y2(-g(0(1 zqQPou>=XRC(MAv39*9o;gkSOZMUhl2&qmT^I!JXC?EKjn$w@69f-JQB%c{^4$sfQ- zTJJd2K59h&{nZ|;s7$%2R2I~ek70nCKH9ee*D#WTdhAL{d(-=S>zlZY8;x^jb5l-% zd$`KwFLeo}Ju+*=R}3S+fZC$cFk_fzW@XjU7A%B`&Fj&E6})iCGd>pHF4TZ*i&X zC&YWUMSq&kB;tiGb=8s%zPNWFCC1zwYLw!ny-E(uIxY@6PQtT^fwAmM4=mz+iwl8O zg{92TRLklNGl)*N`a4kH&mszcxlY}LrUgb)xeDl z{rR53oqN*o4B~!DXe9G2qJyZS*$rzF0sZnUOCOkW-rEsA{QL~~91Y5D{QOZlZqD0; z{KHGOyrtaio%hj}0UNcGsq`9g3J=oxFCh`12xlKw7My53%2Hu9izB(5!@^-FZ_B{U z^h9*(0ax!7IcnD*(UlsN6!LhTpc~(|Zfyys#CTtXi-TL`6QYX2hS+lKfYRw1*8|_% z4X0UoM)SzRFOFZHzd-0E%)?CxKxkM+Jc(saapmZrAM-_&LsSWo6e-q!r_k6FK4fNc zn^KgNbqq`Ak}BlG3e#X_3%}e4z!LAMrhi0LtGijqU`bVu(M|7Qt|Xax2otml{9weZ zC$jy76r6AJQtrCL^3Ld}-~D4+yMG1YCPM;=Xr2v4MuecBTNVyp;k4wsHQNfig}@oS z1?=I0&!CBPs8uaIeZ{X`R6=p#Up1&$(YKV~n0R@z?>g3U7ImM+BzpUR146Irj#?AD z3oa(fFJ}X4Di2VvxSx%A5F?6U_TBArV;Zec?nceTtq;q|(g#>EDxEOLB!FTG2~OUr z*mOA*k4%yR3pO|`a_viEgZv8_++2MsHKC>Uk%O-YRX;Q7Av4T7!KS^`F$m`NKSE?j zxCkej;!=GFcJz3Bz7sScX<)dXdcp6KvT={C-!|IuS*N4%^>VGci6=688?Eqse=mOc z{8#)?a#@=~-ltHFetn^0bmfj8{X>sRrG#nQXH z(jy`|pJGZz$_AMXC2cj@Uj!R+lE&e`Kd_FY|Nf-%Xk=W<(ejcc!cgPCZnNA(>@|uE(BuI9GZVT2hf_bAcXN_f$6}F`r1J z1Ui@mKh6MWD$AVqJ#LNqIIxbSdB&vq*h@|!NLkTC7Q{}o4S@yhuy|53suu3^kxj^6 zUptDa36D7mwA_S`_f@dI`j?Z#lYr)<4r&+1X zuJKqOY1fbBiza;k;bNr`#8jkpa!e-A;7E*B8bdI7=TpT}!;<|tgH4@~5a$K@kR;7s zHIVq3XPxRXwaJ>RG}}CurJ3sQl|=Rcq8NC#Ba*xJLp)<24otQB8Y8ZN zg_*3^n4#ShqwxO(IXzL8+v+bGOK5r8?${Ljd*tF4N0rM>4+k8jTRt&+?fZ{I)3FsA zRPb6PsnjjjEQDyVX!8%Os3enD-p+c^TOvRll)GJhXV68Fo{3{@c@O(H^0NB3Z#dm5 z6@%W}#+fu;6<9%(p_k{XQ&D(Hp>i%Xazs^Ors8%j2pQjy__#E1ev>;MG31<`Ge6=I z+FlQm2H@PTc!U5AV1h*p91Wlqt(I6Cz3Zjgkd-a#)-be@k{Qlcr8d!)bfnpq6xkA{ z92&v-V>e)lA-<$ws4IZq3)a&pcr$Nr>?4ep9)Ow9IGfG!Xt5+QNEU#mb=9lqw*ggV z!uvyk3s6!hOL_Cfwv2OlJ^-d*Sq=OWat-&1Wvf}SnkFw3OjGS)rW2-ZT$t_goi62} z=#)ZA;rvBiWXdzKS~X{0jm4^dq^8N+oo!dh$*3X$Z*mtD5@l!F+1`=A+JK(8Kq%X6 z@W59a;{4T@5sxk0NSH3nyZaC4lSV9IeoM7(vn(g{8ZZW23q$8^7Mr?zwQF6QF?sb) zvH?9F*Vm{swrCJ(Ty7QW6M9yEf4e6nJFeT*pmS2nE_3vKvGm)-k-EiWM?DV_dB#d_ z@~%Lm4Eh@M?C-5LYLa@+$@U5kg=1PO3sxC)N!L63@)f1bMmuy4V&aZ^c>3K}>DygC8L4oap6KPnFJJZL z1lks7TGbue5$1Ky?p#estt4kTVj!!J@`egQ4HcwX?$KvHXq$)1n=`vtog^fS63x0+ zK1_5tG2Gtwk=Z`t>Fy}-td-wo_v4?f1&`zccoBT>Ed9Uy>XZvTCpGDE&cwyo1$bWL z*H_`ZFb(n`3*H*n_9j*r(o~X5HTrmBz>8@>i7~n;+|r?kqKCgo8J-CGh1nDf*gQbxbBAI-c)uf&<;Z+crDS5*K@}~^po>nI{HQ#} z>+BTS_+qps0{&ShlfwD&^H0KJV#{+SW<0KLElE1)a)}03NC={yun<_|voDp>^4B=( z;(K@Kw3YRpGhnT|*GYk(V)A@rdi=92-MiHmWjZ+zsAT6%p^;syxQxnBuF=?UE=`2- zJxAJY;dC%~Pupz5VR$S!Pz25##nk9{xUcf3d0$VJg26^t=E8gD%*>=_i5fuz{)*+g+iP)o9zD{a5M6tz z=wpO#?|sLdU{zJQa%nsom@*z9cLIQ;|-(fCsINuf1sw6%F{b?16z80*_UJT6PQUWCW31vv~DYxF8 z%Z`z@r*Q%C#=BAJxEY==ixct0aXs6Nj?aACu8wO5;_#TNyhQXPh;ZLVCrNp0f9FG+ z$tQ{@2kRSF2b82JW$21@_kGixI|5D9+nH3EaZnXqi4+SgP(3Kee3Uy&nx^1?z zZe}4`eJcn6AMf#_s!{}-t(L1-k;LOwu-Ty$|DuTmDyGzXpRTmrO?nUty(g`&#p8&V zESd=2(uKwhDIfICkrK7dXu*$3qc!+Kf=kV3w!-rQ`{(Kmtk3ywf76E{Vtaf0U?CT0 zgRZzD)~h(MINsqH1WOTBg0lHc(Q^ubW{im~JuX^frC~@zK_l}J+^>{TIRjF_g)>qe zuSg^{-UyYqLf}vjDDHMZ1F8TdisW!xL)G?mvp)Yi0c*Nv?^JTC%)VXoVW~a)s~=CM z@V8tx79O0d{SqvFc-?y<6q1^>=@AGFvmd~T+^e|rp2(2XU@mEYO54cqUMKVY zC^F`0z#EOt9PbEAno+>EDMbmM3?nwA06lTr>Y?Y&XMZn~uUPT<>AYUcQ3}}Pwr8d& z9X)-{GL4;dWQ+4o|6%fWjWRm{m1K4y89uz`(7F~DRFBbi#HChi&3ilPnx!jQ6FOw_qK@cKWbu#NP@CmiY9q`Ti{zH{6sc91hD(@J zv`Hu5u@7~sKvnIlbkWLk?Q?9hn6nN}MOmp|E+b!Cvy*iTi?%qxcP{P*i6;+?Ne5?| zu6LSm3!ad$=n*Ls%oD7$l$^XNccGEbnHa#4evuadsjRVl*}8m(YF6^e$ouhLlTQ+bo!( zm3$PDc}xQm@X3;d=UGQ49g1RB#ukGpeTW&XJr`S~SInzczitdU5#`htm}k$sFAZjc z#yc!m-IS}`j>kM)On&5*U0s|Yy6xTFNugqr8sWR+l$J!zMC?{m4&VrzRvR1`R}1B> z-}g}{LOLJ3SbFyR8#=Wl=8x*XlvGm|5&E3|ic=|F4)92e{knC;=J*<3Aa63mSfPsh z(jp0;>Wx$SfmIL5ag>?@D>svlkYkkhM_RN^IEPgDa|PWSv8VKB?0h&itJC7Uw7gS< z^mx>|QA-tCDVitLf(h4B;z^P4HFw@s$=~omtWpKMXXo}% z>MV8-C~BiV=?fQ02LX+F+k9_|kC{CZV^#Igyijs7_`}OoTm-V~k>bd3Ti05g+ha1p z2Oda4=83F|w8vlVf4!~k3r0-(-!|T7^*#`F-8R=LIP~tO>RdoOkI_l*`w%aB?z&mJ zUku)E3@-5kF7fUUq=cf6>w0^RkA*J!;O?g)1Ve>hW`%}W-u|+9_*UNt*bEN(IwJfQSkgt7Epb;*aevrf#jD|Efy)Pc|6Ue7}! zL4tzus}8*+8;=XE^)CBg(9qGhc3A>=?7J={b^RZ9UCQOBbt_rJ7K%A-YT6IOGy<86 zG&~6^b+cWy#^&eG{I%n1*=HtB^bGa~Km6E^Ow8VDXYsD)K zw;Et)f{NOf^(PAXG^AaX3{*XFi)NMnsp#D+2KnwG0%Ll7VOCnHf{nqSWzy-K*79XX zmz${!c&$-St{q739rbt4t7_Bgvz+zLzk)D$TwroWN4+c>*mQhPZ43sJ6$PXC&e|w( zODBci_yu1t6Utz3!intr{_aj&+_U99pym4hmEpgh5)(k4J@?(`^W2W2t#>05rV;HDupbRa?Th_Fr`cN_h zA3bzimE89}zd79O>lLH?RW}LC*I^~Ld*H6s_cJg3MeS`eBtT(2*6l=E6Q?MX3(NGJ zXi(W*W%Ah_OxN}EE^uC~yx8Ym)26DF&{LxjD!}uoqHJa_IO3Bxusgui6kh0g>-}t= z$H@{5z;k(2e_{1V;Ll?C^mI2WY0^K3w~_fdV#?{0lc8zOM-^}fY!HGFH!Xbn1&=UMyy z#XTee(s5iXR-)4XwDIQ8|Mq-!)$#t`^*Nk76AgfS_1r@8aB5ps`pEAD-uR_A^GXtJ z!yO&Ss=P>W&;scjRmib=oqWeeq9?F{ozFNLyg(SV@#+cu_@qRy!07gs25Z*2BDVQ> z!qO+8SvyEza`-Xxsymt*posxT^h9v?iDGW>PafaNUODB)9S8)P^4eWrNt$Hq6nBXz zlNZ=Z;?ws{CNphW?7pFfMVQcDjTm{4VN`EPf#hZ?CX4Fh^jfLejUtR=#P7HXm=Juj zT?=@70R%#!w6)nEa(~;}8&_4=L%7=N0B$e=Z*pVQcKwwF^!-kzbpn%kY(jwrz3(_^ zmZlee*M08Sb}@iTtEctJ`+(f{wlPnlS$imzN#~;fy+0;{X07c>1UJ*<*ix4l8*|4& zq2-qQZ)#xLsOPcHMzmN2MnPTOdk62?EC2u;Pco>$wI1r-9lzLp=GJz*Vl%tgxu5If zxZ!sf6nT*`>5I_&dfbZvSZcDu?zt{u+4?)m0y%S<~(z`8u;O+qZJ?HU4zir+uJ?mOsqDtn~kJuXuz|PcXvEt z`s_-4f4Fq*ek4u8?UT#4({h}zU1QisnEm%vv>|X1QIXlpsH2#&ly?p)yMQ>n9y^^^ z*~Y)02;JSt|Mu(X0Q`3uho{(eoB!gl#?4sG9{*CzVrla;EuHnZ^L28-%5X;wye@bT6FGAU z_y;*S0H?#BScNRkt@}$z+gZo4f7{`mFLZOr z#^6c&AB@|MYddE$XD=@=D-yoPe!abffG=U(cha`T9!9(GpEh^DcKR|c%FCP z!2&q#*CM%kAI25#&@nK!UGkoY{f}GyQR@O;j`1FrGXW)ix{|;B-VG1D666wj{f&qs z;&M6OkMI$owJ?a8Ez`D#xnV|EYRM{ts*?nGMYuYB^sYn3+=Zucv7Cz45|~OQV4+5h zd(-z1MjgNC(&QX<5$BAS^?nC6^oTrE3}#2WJQ9^1iZJjRWq&<6ZLe~smhUY4dwfG^ zTLyB|uHPL#5mFp-$nFda(f(;wMtcun=Jr7<(FT}c6<@*_KK$Li&&Ycq0Q9j<@`s$R zwnF-X;Qj&d&t<%ap{FOlBL5{kw4*nQ^z9xD2u$mJ-c^#_Qq6nB`Q&rL`Y)Xg~=tiSzdmgRVpb-Vd z^X#^Oav8Y!eQ=c1KF0<7_>*x@GJ}*TJB;;~mShdX&IV{Op_5Ouv#&09yv-VS@J!_Q zP66A-nQ@b1^k&;bRDKL72T``<1738F$&*)oG;CmF^aBp&3r&6dF5xk7v%@VGHG;R- zLJHvJ{v1sX58^m1_;kSHSD!6!oawZ&J`S&&2`NUycb@Yn>H- zI(U~itSCM6@Xu;zo#%ppJ_h|ulxqEMLQQ=yYU^ggv+g_nXK4P00d$?Y)xiP&Ar278 z)wP9=PeL;EFF>z^-mU5trAqivRr9_WXDB5*py_Jn*iRQQ7Gv)|s92pf46MDT`((aKZ-##@P`e zZ8(_~`;$XzW}svnh4#~1=`#!0mP~8hO0+)b4k`KXDj)@ygl0F-(ZpNV zm|U8P3_XXy~N^@+5ZUhcYoi6(G8ohld>||C$&$^9NkLm%VNW0g-Y>I}mT^5_U zzu-2r%SiH5v)Sev+oRG|FkN0Nrq?cm0Wz8F{2SCVY=C0etD~wq1iTe1 zr6(n&o)X(lvG`xcEH&HU2|jOGrjP!^vd8%!s~5fF#X3X)F|VuT$Wt#=O>K@a)cvGP z;CCKb1y!=z<)RN~uzPf_?6xJ5KH_dv ziCt4~Q_yhH)bVZb>@YdS?sV^Q03PiK*-O2pF{$K|?PQPOSO*xRyd23^r{~akw(~mYA zO*LAq)w_qLpTO5w|E}j<7DPbT<9ry*0N*J%yy|WZJB(4;aMU0DxAD?bob>$QbD0TiAK`@U^|K-m&rV z+fZ$wNZ5QDCaxxQx8_ozr{+EOC@6T_kg)ZeHcws;(Y*R)=6nvHc_jOb+eoxx=61VF zfyvCHg)u0iyvl9KriWYsqUa)OshFVPPuu#i)_i>Cps&km4}Ba>1Ygvnf*^M0;Q?Qv zV+^5IJ7@B$e^kR6Y;qb4dtqb2rZ32U!(l;%=U=K9d;9d5`V3!A%^>f$A%zJ~G9*nU zf29il@U1`^?RL_o`w)fC+WDw?@bW}(Gi`EP=96=Kbo!&fT-w6XI8>=H+cLE}cIM0R ze`1f5b+fkJKGd^lADql2s7KdzTp+X7Psf^Yabo2az-!yu+G?7>0kqgIf0HC)={)&S zN;p=V8JFR`_V{V*T77Z{vB73kJZ_ zb5GH8Kg0rSnevXxm_06dIc{paOz6ex`sT*S*cdk8863bblOlh^2I#tsbNC6>6H0Z9 zmw)bh@HXCF?^t*=ge^_~UCl36Pt+t2(XNm{%4oe^ zs}b*`Y9+g9V)Mf4vL8=$jnNQ8SlY*p_-V)GxtPY-^qn!5J&Zi%+)8=#8H;+vQDCmh zdMTHVeL)45J-zK>(D^8uS&zE_J?a4qe+)(eQW-2ximN~TT|O3hd(@&JWD^< zV{b{o(EkH);YTX>o!SOZJr}sH1#~}~s?ey!hxQ>=-E}vRE=^5xtGxT-o#f;goc1-v zr^BfSjUCgclG2nc_PCLq%i5mX|I6$ZTb|WoWOdF2No44r>!c<_j`Y|cpGe2*g*GNG zXwyrBt=HW!?WkMUu~1eaL$~bEZTNi+h3j94r%Fm`@{*-T0MaJ)J_|VB4{{-ZE{2t& zVz@^zpX0p18PPc3RJIRoG5quo#{AIr7$DH#so5aL*UFAaJoKOVf|7?O{q4~WZ_`5C z!(LW{+p)&KM8)lTfXUo-A^MNtml{kE|6JwXk)es9VMuBYg3z2^ZWbZ`CWbLD4)TG!o)G-|Znj`Cm-;tzp2LhuNz`6hO}Kwnd+d zPYa4`Ty^GuS-QI}$s?k8wGsdhNkVgM0c#n`XCp z4N8Hnw=2*6-S1?>kis+T!U$5|Kpx@yW{0Qg<$CiJUYQt_WsW;8so#z0?|_%fM@Y*V z6^ejvayXv)>#U;k=KWs}nUnY#n4`3mbTmnMlZF}#mI?+-ADb`hPf!j@HoKI?urTK9W&N@*M^e{8 z@nB`&1q(kRqB9!C_i?o_Lf|F~9>#zUxr_%Sujwsxc8{JqY&`wv`S`hh zLFOwl<3k%zM4Bl39&_$1J7H`1t^FjibY;<<|LWcE>Dq$*va02|OXBU^;=|;;Oai{G zUcyW@C=M`_`)ert4)o)eDMI~+3PFwiAfD41F|T6HA02SI(^QZeahKNAtz=X|fygBJ zvZ_uBltmo&XY}iCAMAkRb=TbtS3^|}R@PvbHk1VpRsjKlA+hE#wem1>;7+^4g6Z(^ z@PA|$23%GSjxZ|e_}+j1C@3g*b}t;d#QYv8_dXCe$*-+tjyuYIrul(kh5pg-mT=QG z@PSw3;#5lAsX(x*fD{_N^96duMnSc>_lN1Hs1&tVcGZ`xMTa~|%8+FgI5GTq<4JG0 z0FBo#KW}2CN%K0P#={-xDXUMUm`o+YC70tFp#gFG2c_y4AY~I zstX>q&^^yC&mB=$4z*eN#roB4iE5_-`MdLh7pg(NF+rSLfU@=5V|pp3y41p7T5NQs z!k#%nBst6z4#{f-cz8ag`?Kq7>A>t$0daA0MQFDv0Si?ND)VhR6Pu7(Wf7TP(jguh zr~ssJM!Ow9Y94Ygaw|Z@JfKoLX?V;oPU^THg{pM!7ADM?MCiG0uY8BTtUfnvpD9;ca&lwB+6sheqDP|M z6gChS#Ofp8ULF|N-kLsT=h-aT9FSNx3(Ni8Go=3sZ+!NoPn4(44lNv%DG;w4{z;kD zA|*RJ>(|rXMoj=m7l3U&+Q4jx<;o zWc9%o94Y!+CW-p{&?mUHWO7AN5xg702*OslzaL$HTCn2gxMl;Y$|bI?y)e;&RgjHN zBz1z4aK{{D=_UD1C`a-v8ozYTQ$I1X`pV^rrHxJ!*rQrU|Hp=PdB+wL(Ro~&HXpT{D3?60R;_kKa4 z=hEkrVk?>wpRjE=5@{{PtNwFOG1LsSLS+#^gW1Po7j};{j3yLwb`q@q#~#NblSfP@ z*3H=jKpUc>j+B5;@eU)Di!QEhv`VZmno%Uc6-=YA>a$cbg-ike9VeEzw(svSzbfj~ z17G{0__B4KW924xYnnqVf#Uk>lO5~&HCr@~&>!Pf$Rf#aWXdw9oCU9cQM5$dQV3%y zGfl3<{(l3=sQEOL?`X0XQeB$Kk*8{yrGnoim#DukYneJNTUi+$jpJP{-iL z!_}h+ro_6|b$MaOd;60JBX0Uh_HE|HOok-P1%&f_OXP~9%urjUHfh5v^4}OsH&0>+bf0%2c+-C{*^%K{AqD;rNL)cL7(<_EG? z-Ex^GJ&AOZ)P2d1VMD(DChp2IvHF|Cp&I#VgKzoUZ5A+0e6|45)kvTu$@?YtwY97< zb+fDlfKKG?Jdc{kHwQ7hX|P|#zeFbqjjV|Tmf~JAj zo7=C>*Z#MZY%b*$lND8yFM?otN_I*%%B^Sbp2HWalp|*2`#-jkHj;^VdrDT|O?UJD zqr#ACGAxR#JLA7Gu}@3tpj~IQ`ojE$=bw|%v$)%AyWSI+JoFU4kFAO0!VQ-B8sbt9 z?5&mNDGSq9>_u;OOffFyuv_2VA79WEsUpYdrqZB`hZN>8`7sjfJj0Vq@7wV_Ra5WfnQ;wO8-Jd}zNFx0Ur@p&& zZmkACF}T|q$gSbbb>{t{i^)3~K<__c7^IQtoC+&U-?BhTJiLnqDSfJ#nW1FjK0BdJ zD@uxMb`Rp&C4c<4SJE77D4g9*G2=jh^UF=SbPjj%F z>7OjqtQ<9Kd@;$C5&dObob&#kK+^Yyz=tV;8L45%ye1YadeNcUJ&-(cJ6$eCS8O!57HP4g5sEx*Wz=n zwMBrFn@F!`b440N5|g22=~er8#hozaybd>?PCD3Wv9wBtlL*j)7A2SLB_iFQATF%3 zTg0jVia*jkJRC2l99X7Iu1?V){m$4h&?6?XMY@?cn5K3=&1UmKo2pcxS!s_?F>|=C zLJRu0*|6qmq{C3^#x5Q2lKmP-YN6XJ%X4is+B^ z**H4~KLn8u+8_<{J*(Le%(gGIqJ(9dsPYUg4To{6+LZUGJc{yuksF&royw`Y5SQZN zUixzKD0ibym%@ERKXv3ni>pbJab+HE9I4aXV*F;+rm>#ZwxHBH#)S#1YwNfE-N+g7$Sd8*f4sqw7>og`oez2)HAd9Uaq{{YO4zA0D4(q+h>;(ri z^*J6AI_r#D4CQk*ivt?upbTyX&36<7Ku3!x5EYN89t z(~A_BVh=@z=9kffhL{&`-Y2!4@7I^$kIT1_n?cm71#GSH;)U`(7 zc%^eO$gI%G8K}fVy;*IdZY@`eyE@&~8jm72xcPK@pt^8JJ=OmHrH`i;|J(A7&OgMs z{6Z`dg5vLiaF?Ebe=^efWnauq|NBSX)5+Sl$kT3B8|)%~N;cJnJypn4;wos(n7i5& z34!(KJ0eeo)G%PPxr8$#t!DxZH6?n3yBXe!{t=f*2cGe4IkP30d=_gP4x+@61s#p3 z8e~GrB2wyC$_*1nr``^So%3yVefhS6L{$666Q?Yu{3k@Mo>P!BM!G`p?|iE< z@LAYp>O8c<`xyFX;rwh9c6LUI^f%pvJ%AFfj%#z}BYPUZWo4jd7!sj^fQ=roNtwS( zMB1G|{Su0dxmg*sqYBS|fWOG8{AjQqRpW!oV8@9?EpE~i&pvwV-{6Z8SvK9ClUYWJ zSWtGo9RNcH>3Q>bl&Z!0@;Y?s6UGn?L_@~(Hyl=dM)HjoA)}PIk@CMu8)Qf=iNok2 zfZXG1-`Uj}n+Y$kZQY2|?bp|?J9YFXQHIWVG1M~h&>%R<&v%35CAJt)f|4>r1zhPf z+wLZVMUw7+1xFh9+z+w|74k=YeuVT|n52B_{Tqz;MnC*!;705RviE$4VjJj@c)^i_ z67eA|KDO5pKO@Y4NJvqGgiqFW$BBYpI;&a}=G%HdzE*x^!GDLBI)f}WL@|tBU*Tv= z?t-;3iW32tklur0@){2I^hGRdJ1O!S8LQMal{_r=dSdWA$ALA&q5QVI!SPkTR!g53 zy~pc@@_7h+YqtS3KptTseJBj$pj9J>_oD?OQKW{1)yUdkx}LhpOZq$n-)G^FC$db* z%VlnHs$LsY;lD7$(P{T6u}CPIn4ozTTuVERj0%79#55rvkWl32LoZpdhDZc@F0R3? zSjz=xVrJ@UqL>p2Pj)KN!Ij+M7!*_1%_|0r0TVHZmT_LX(IXz_ zw=Vn+d+)f^>s21T9Fm{sbGHoc?jE@GrdZeuX`!=G<;!WED|^Qstd0WkhlmO{0hhMg zbZ@Pb`?xOm!vvWHy-p2(F@il2z^EZFY(SS6}^9MHHbC=8NFUp>ml^*spVzf)mw7!5;q zFfiL(;!s9?Hv$m=DibMu#6>w$xe1|hd4ehiS%KDu*nfg5Qe1~}#sJeM!}7weBGb*| z;&~!nAn)gvRcdXGXd-|rXCGx_^vwCgYxOma5&P{gL4@;N@_tyb8F8JBpPsOE)<`%8 zhS+c|rWitTamuZ?f8{tN?lXXda+ScsXT5Id<#p}PC(X-<>!_CC`Cs(W`FoXg&G34c zU$sHomSrq#S|;!rQ}LyqV#|RG7us<<9k?Op$iVJ2nVU=WQmFR7*`5cU9v$Z zU48P*fv6bvi40Ej*?qEsgu)rqCc&;5i2Tk%Cj$~GBRES@hb(cLeYN5y9{QAx3IXfZaXsjk>`n%u+h3EiQv zZ49bh=|gAZ;}J8mmTcPJ4AyiZu-+s|E01JxWB2d0!%ro$Pb-V$XIAfn4rO1|3nf$^H-bW|5zg0ga(14R{+aU}uR@H< z?RRk}W88yQ3Ro2l0ucZKlCw6`UcO#$wpudqTVd5Fr123@x)X;#G_>#$?j9rFP%C{1 zDUO^Ta}zL_1q2iircH^o!7?Vt(EM!k8NFE!Ni~02_EgD96=WMz^#<#%5iCX-oy@SW z8uVxZGIT^&$-zUP6t41+vxtvs4K}&AJq?5C*o(AjjV@;U{M|89)CgVsa$pVp$t%+N z%Q!!y(Z}DNZHO%G!RWH7RsAx!!VtF;zw@x?9k`bYVJrr#={7{WTr|Y@hs!c`J@UXl z0iu3sWs8<2C1m{pSje#WN!&m<&a_1<+2RJ%;(X_2x&d}gdVBaLHcK9Dt zkJ_5ha+n&$MFlLM2>|DO8qhLX^XinStzu-M25qmzOw&2Lz9U<9u>%jB87At?3mWv( zKQZT)ZE$rZadk`TiQdy9rg(H#DP648m-!?acffumBHGCfxXxL80lzt89jG!aR2e{6 z*o(v&TMzWfX_YqVw2faVu03NwI$N}>vigdBOaC6ITMevP%jBd;>` zb94;BqS^Sfg+hAF?a!R>l@?+|H>FrbD)Cb)H;- z9zDg%@=>oFbD1{njYXWYQpa@|UCHnI7(~rZYh|yJv%(T0I(lX@#;!l+i69@!L=tg2 zJI`3IK{Fion0INPhQx}LAX;d@RtCqzq44?FC>9hIBuxrI5ujMiL)0rBK+t=Mk;JwxGznHWndERGW}pn-n^3QQ1XD~PO!FB$&E zzY!%{f@akNc^>}0>~3a2q~N3@h;l#X&UPp6*M(h9V9Z}+?VpAsj*i#ua~=q#t$h(( z{Okkj$;l@tCla1ocws5J-7ZnK?k&y(u64e?F39^@Tp-ED6>M|wXq-8#C6GjwtXQ&X+& zD{9Z#+~l?f+cOc>>ip}wzgldnQKg(AV=kAzkUttAF~8D;DIkhfm^nMmayb5^K}wm!IkB9WX7zCnhZH@~QfrY{Vzb{qJ<_HVVB|jgFYt z1Lahqbl0eJlYcC(zh-l+1=}N8Yx7DXu**nC)Y0&|$U8xWsgMcoL;5J`3lX{Qf|c=@eItJl+Bc%3WCEg>>IFl|`gUl; z=PVvsD_4K6J6S?)Nob*c8+@BEH6qqKNH5 z-GDF9vNf(WD^N`o;WJjzxi%-MYCGfODASXj@dY)i7ss+HkS=!2rrAeV{6I6W!;r#- zCUx4(>Er|xgbb%(*!|jfI-%}&b3<`dYrA>X|VES;# z`?8=+oe21UQ?_*|H}03k>LzrY`l}<s}cF3~~Yk*Wr?X^yb!Q14_dV0)+3 z@Ft*KfHD!u3}YDximm|PuEo}b0m3L@>X2m2F{YJw&hkFcqypX{Tx7wjZ08FeBRs*) zttI#kKTS_13^AknUy;iG=fb8Qhiq)!O!~%MYVLmt&(hT55a_!I3-awxHL#1RTkzQ8 zV)1HohXdsLn?yE7T_+ z6N8UWIJjC6iaM93)4a|Sx?J=6jI`Y+V*>-*3cZWl+VW&Nupz~=6<4=$M()*Uv?3Hx zRHs`F;e+@4%o==?y!>N3DZSB&cRow26>sFQ&bI10Ye-w-1ujuWMVVavRc7Q$SHx)5XfU#-d=U2(r;qm77x;IVpId<4sI+sh%vHb zpSOS)5I(zCclP0y3rYFSK;MNmHXM#fv4VYB0gmZtjeUWeI;c-VPIiTs4W<}Bk<_dm zRet;NTBQW%uKOjA((_T2UBNg;wby=9^WszDa(0|U+^E;M&Uf$%*kG7U_}=hl@wArW z@ClY(&bab+3pjoXcjsYuU$yV=auWU%x?(4$>c~1lH+s{`-_`Q%*?cHjO@L_)+ zm8zDJler5yIS?xi-tu1u9j_>26w!(`tBHanUl6byzJc(aVOu#dRtj2q2|Gz&uNH&< z`53iA*fsxh>H{V&MM_Cyjz)xKQO!bl>}%H+bM@Q?r(BS!=1vuTtf0MxBuY`g%)Aqf zrz;oy-OZC2c@vJ;n4#@#F;FoPR2lH$#G{_2xg(N|y8^|A5UC%J*>|)NyILk-i(o9* zsTmAk{4w|Y*WY@3ztR&~{v<#8Nbndi?q>ntmUcn68#@R!44$+mC)g3)gd2xA4QEhDcXOS3|rCnU+L2Kf3RB* zH>07T7Jysvv@9&$5k5|U@ZTd&JjMZATt>Zj>PdWtv}rA-(q1 zzR)4qs+*Ve!B){ScCbC7)e)yrvQ3_Dzf!lvRE={7!s#|22cvp3Z|R$bF}PV{>G;eu zM)2GDk&3em*m8gtN~TvaJu%^q{z#d-{E4LPFe#USBo=W@VC-lv>fFDF51h=tBKQgq zgjlu}#5hzD;`<)J>FF)rXhC;_drUm7*Q6}J2iA=IR2&y=yjPH})Qj=HbO zCnv9mnEY-Y7VVyNW2Jc@Qvv>q{KU!W<)%}E-g(*HLviu`F~3n~SHg&Dm|8t>`(Kih zrHGg^8W91JxMLtrV@v2qZ}3oe@O$pYF8`$ui@t#lAD^@JD={FJMBvx3R)c1>s3%W* zj%@;k(;lFMohCw)Cd{NDC@LnMJWRw=3#^O72x6KM`ZmoD zRcE5MFhhlfQRU_q4;x89xdDX(4?Lz;$;cMjO|2Eh3{H(;C~-3mqF+fAbV2voerSB| z7pL0{a!39KZkzsEjuBFvn+0q1=geE+b~0~=XeJN}3^o*PsUral(6ZP2A)2@> zh>ZJh?PwMoSNQ>2v4`t)w!}V*!RN&8dz4GP$hxxlvrxwBU?UU-aFQ}W__DG#-CA7I zZl1D&x1?v<1?qgJNV`DgTksz6$Ae?Jf~6LXrk1AD)g1vbk6&3ysDesmfm-=5nD~V> z(0?)l5_~yQ^wl%=r*4D@3B*$6+WnJ@8UYqI(dZD((yGdimrj_4bCr6P!NC%Fy=qNX z9)U26FJUYws?{2M8db>)n!6O)6V1f#e1Z4$HItKtl^w`mCcZ#Me8+XYFy{ z$jF!{vr$-YwT#B;wY6!M#Wz|w3~`{pS5CVRl%da2!p-1PHlJjyM(`KTnX$h+VjWc2QIcy+VFYL+SE2S=CR8d7Fp*0sCtQoo6k`b$xi(pjUdGWWR4 zj@a7dc%2Qxo#FVG$8LZ0_=ySodME50M;B2b%=Tbe1Sf4g;PJ(S`)v9+kC>FCZ}Gs~ z?XZItk_5&Nv7|=OIEeF#Q><)lrQ7t@wYspCxT#A(<0WdLT_Av)hkHR$Bepy;GSB_< z`R}Er@VQU~+QtbxOi$E|2+_!i`W^T=2SAt8aznlLY~J+IjA%V<-EFGL?> zc*YPAIlDC%d{_bz%5vVLddht@btrFcC$)6a=DfFt=feI;37{2QFtwYLmj0^vNr{C5 zT0CQsBMh4T^Q&@rloTOL41mHPw$gQ!GyvoB`?i^gl6F>mxr)tpaw>FKr24}#*kDAf z`vv@X)|fXuct?=9h&fSp4O5z{&WvgirPIx_M4Qc_DO;i*#Vw&HY$ zjD)CYb5Fu`LO5IviCuj`fSohE=E~u>^B<;BYTwXJqmKi(7n??(c|BdC41y99Oq%Pi z?=EdWb*+fhBBDj3cpZAm^JMJvV&it41x+l$@R&4KF<%A3M@!$SLbbyc+a_vvqb!BuY6V}w_&qM9xsY{_AIrHI0%ZZ! z^dO>kWs%v>_Jjhp4`Kvbf>H+!(F_@S>})rF6BhW-_$ywCTy8QW0~lBn4DpleOnw#0 zUN$^NMb7IBxOhGnTYa&Sspqp?f*qizK z-7H>oNvCOOAq&V?C?7XdZD>t^Bq628I{Og0qb$%$)60nR2NSruy zntA&-m&vWU29*(XYpAe`9j0*jZPO$+haDiBey8>b%8dW`gNo7aow6wHY$mygSiN|V_Ro3lO zOT61BI9cAK&75`&YnOmcB|OI=c=ik_;Qwb#7^vZ&gUBYxUA3KFDKC@oQ)FYV6);?5 zGm@WjzIpS2O}C7JANIAA?^a*n_6~g8eCglU=qp$3JH?fq>-=Cpl*O=@IVZ?k-% zr92f9j*8vHA(08oqO_EiU2w=00X^W;_JZre#JU502Ck;oe?4BP4r(YB)yaw8IriyA z-p`hO@*W4l)9@God;6bF?Tow;NWlv^&70p`Cd}wX${9pRwVegm(}JEqb<`cw!zCI? z+<#&PL>OhO9kn-OW{y_)cPYwOVld#J*1zl=OYgn5FhKQ-G`{Tpew6om zEmz*Yy>0%m{pk{koprE$=^w|B+R^sO?$&g0*meR$Z z*DLq?P`KpEft$Xia>%HM4aOlb(M3@w4f_KY0GvO1oOB*(Q@m#fMTXbVH7mZV+@7eF z0AvAS-^(-MgQe_}l8qK7As;f7|`XoBP0B}(MQyh14u2MDDX+WsMy=9_{KwqUy$GsT3 zOi~gS-%Zbz^wpNGk{O=T(#OfWIV)P^iZR**b%>M0r->vsn|0;a;%CYbtMOaa;cbVry}<}5 z>8ze;gqi&(dG>`HF(`!owMNtoeUr>L>`$ELm-WT=a;mRJ7_Pr%K&fdeoj1gqxi8Qa z%mVS2$1^75*e8zHu)!D-oIs$=i%wy?e~QRY4@>m|jE;66EH$6?bd4-)v#1D~7Xd89 zN}7#dpLo&4V^)#I-F_oqS{Q+qhppL9yrWA| zc%1m0_3~^sa#pcGomR?Z}sk7Pa|$^rnML zIa?3GDW4>2g2&wfjc6&d_?zB{6tmncL4Jb+jIq_JaMCTRazwctn=-N)pa3Kc=qgGTViT@~^swCM;NE;YB!ds22s81L9ZXX9*) z+2!A*ZJ^`f4sKYO?ZckOIBJgHXg0Xl<4&}~CAFW=6WlGCCkV-0^r+A)1s;0lEl zDf-C^9#_a>x&OXjLGL@0AU1J{Fy=QAc%@jwW9ij8hmlKov?n!SAp8|T^{KLvxsN6H z-5~|ed%RU)ZC>cE9b=`*xmSKhEm8G``%)_qd}t}0&`-22@=E}L!vFEIYu5e}i9#Bm zDwqLQ^IO7IQ=I%HXoEEvJ8z=b!=ErYpe9}J{8;-t^u9D9Owp5GJ8zFePDxLrl@n5A zbxuB1&+W^Qwk@M+y+t8i-7;FVPHs-^zLDj38h~o??1IqFGqA=xuu)M}U4WA}D!1D} zV;tuvzx)6C&6=sD90%f5yLbue!US8&BwLDk$$z?fEG26A{B9VjF5f(FlokI%28BJF z3mY$U`cS2nU%q7g;+QtZH?eYqy{L&h;!0s<+2)%24LQGfM@KB| zf^mLA=oZ8O&;Kl<-1yl>y3xguFeq7MRRof|Nc9@`m)yyduuYl2%{ZmAZ8<~%s}u&X zZK?dD^`CGws$(xk^+!p6ZNpQy+VKu5{yjVo$P>}dklu}RG`Y>3$@es3Wib^yej#e?kb-z}1b&*$sQ)DTLU^0-#15_P>LGDFHR;n^okA|m5Lc|+QQ?Xi7>O^e zYmbJk2c#`aOUVSCPRQNeJhli~s#7L1ez`@(gi}JM({riU9=4~rA?xvyuDZRK&5IWf zt;^Lk=IYArogolfPl}v5L=J4_poyJ`SS@r!B$LZY8%}m+F_P;KDz|IA$2_-d4$l>W zC56?}TW&N)EB9q}S2N3f~JVkNS z5j_1YN9X}JuzoE_J1Cz;h|4sD+$nUAh>EIcYa^?BSs1%~U&`%;Nh*n1NIRJH zjy+o3;6T={G^D8N*x6UELHPFe_KS@@)TOQXT3@O$T>f&nRa{nGPt9+i?-Nm1T26N9?pYQ?H&75ilR?E#sU{0J-^t zqj0gmcoAS!C=fMs7Vo z5t9j=mI`g=yR;EswOtGGxt@WTnQJplwxhFSjWo6O4TA4Jg{34$1u7}sBBpsb{O~T< z9(){%fnYGKY$yKvW&2-mVj+)|-+ivf2kxlqN7J4zPpP#*Zz%YSvjxhEecbjbj`MF- z3lDbuOZE_;eY|?TJuamasP}sLzJ#zv!=K3y8NYdhWW{wevI34l_%B%7=cutPRyd(d zFDM0?atWT&IIeOphKfRaWss1F+Ju}9@xhmTx1NNw*CL?nAylp%Q>8G1{p!0~tU}Ge zVx-IF#n$o`k`0j4Rb4Je!_*KbD?39&y~(x9O<*^IA-}~()n-M!4End=Gx?u3p;mQ= zk@w@5U+1~LCwotS1p?jCAlZTzSDwf783m10XtCky&f-y-?^5{GF7h2*2vjXwQ~6Kx zuHB;HI6l~#D_v5{lNr2it{G0Kb19h2ViwCy9IjS~L~#bc9MEsmeW;Zs=1d!TL4!a#4zC zbnHjz=?^>$3u^30Dw$IX{~J*+{eh^SAyh>nRLuE7NmUiS{d>R{{}I%gZ@@y!NnZ^iUbq0n0t=wxoDsB0wmt;_GA)kR+t9 z?Pj9wa$r$3Xf|idY$j8PskF*MGXA*~Dt+l|$VW%`|n~AJ23QV(Vrd!ec%D#5-zH#n}17h?a;m z+2^O&EU?eh7lf1UJm`;PHZ4^iH%kvZBI$ZYqE@(1QPUha1z zcv*Bx``%F=#FGRm@-m;gB+iD00+BvgNmxWFR1pNstw~aYBLD%^B02fxcb4t1k1g;habjtgO?>c$4)FO#do+kIrJw2kN~2f9g%Cy z&ZnCVJ;Fc)4h}YjHNA(Ewgt=SW>2^Lz~1GYG*&jQv-vAD229C{-QxrQDF-p%FUeM~ z-++lv`s4pZtuY6{hk``03h>m9ibXa&`cX6M=1Pu}}DB(I_x_TC3o#ZU`j zt^Mr0HW;_iS09>68TFv_y-vvYJF``RZ|YUt+*NG7mm;b0Old5Y!=j8>@QGFJyCx8~ zc|;TEm+Jrw-k2(IM~To&)U^j4fa?PJlVxOXE`*dvk=Kl#6&(jU)PE|E?MV6&NH;RG6fgu*l6`^Iv z-if&g%5wha-Y3(ZrcPET?f?Fr!>bFY_OJGZo_E*7FUf32KyuZq6G(~-y@-V@9Nq|Z zRMYlrSK@!PTnB4o+dBKOwPxfF0y~_3a*=ACI9qbUqLvk;7TXC>7|aGqat%#am>pM4 z%@q^FA!| z{Fl|NUC`wiYekMyHaA{B3vkO`eqaHUkT4mi3U6NV>RvBDg3k`QdyU}?TBu4nVmij$ zgokd`&V!j18gr~eY^eDVy`oiN_Az8T5wQ%#A_Zi_B9M4hu`r~gWJM&QUiD}?6|!^f zhH$?Z>}qgG3UP;yPf?aOK`m~$aHglxucRL&dZk<;&A zu&gs9?ojOH994b(6sh?nc;8+hq*429X|QZ6%=@Vp?`IW`O!ibu4)@nVIiM~E@E{d+ zMrgrw8b?Bq=iA#RUOJJuM%miCQ(xBJJ6TtkwH|#~&M8|~z~SEd%2_kVyAVR>w1KFy zAu}2Y?_SnVhl0*rOq-7D5$~t-9)!$`RcpepHr{lnC9;Fg?Hvx+#no9L8D+^IbY^G* zz)S~(6gG>0&rfoaW%^w~dta1|PO}4poQ^;lz?D7b{5x*5XVBWULH64 z8(|A+3AMXY)wu~3wHfH9?&bz0O)E|@RV)uxwv}Y~&+03Hb^bCZaehS{k$lghE+W31 zhj^0`T8`-V)`7!IwSFr`p~~(R4Em1D2MKKYFog0j_t)uoljd|j9NEwP0mqkjY?h|&I4pe^zm}X6*X@`kA#Dr@~>Rw0P0;iSI z8Pre46Vb%F^!=9nkXFR~K_I#|0IpKmpD-19Mzq*9Ut^jF=A?(lh+570+=|(mZPm(h zS{-FZRvM~~6qX(&DpnxXD|oSM5cWtdEi=N!KP=muLJtT+q8fF>J$%mDZ zlniq#0-n{Z84_K;%#UmSy>B^rl`3 zOF1=oQJqJG6N;2+xz`k_a@D6`W8WyKV=E$6gGHSI*NsId=ABw zKdpi@FIFf8YCRUr@D`n2?WR862s4h4J}a;-&V!nv7pmCxZ$_{D>gpTBU8qIC-+-1V zTE?Zow0U;^foG$RRKg9-Ih_&>XbrexmYuV)=Qqw0pn*8ZliTjXS+HCUA0J-?qRCgU z-Je5q-M%}9rL;j4cmvxke5c;|s`Y`B*d45fYE`{jxrJfA0|9a|Tyo&SgXo;JMQu)$ z%+Q349^}K%7Hw%eZzMt8|GYJr1rZVvYKx>l7<=8`VANCu{^XQjJ;}QFJpW?S7$l!U zO!mPRG}kvLOeYi>dQbQU5QZjWRt-X8XVd!^X~rI!nhM=J>UJ+ys%Crnvxa88O@2lk zwde7IBmINwSYHI!cW4c^Sj5% zr%qT7+uE*?8`poAJ;mh8kJ!Sb6$ttf7)RGns-lj#UgI;*OW=qk?9Yuhyx_ni{9J~8 zoKg-%gd<*;OFwJ&^=pSU?Q{Ztsf;Ej{~PyR+@Y+muS0fI@g+l&fG}*&P1)0?#-D5U zNJk^y&)C9oP61f`>BC>f)VBCu#@0hsFD#>30Kk(c-4CoMvUec;{!G!$9$x+P#W99n z0O};BSq;L0H#N4yK%U06owC!<%k>0dC79x@l%7km`G_KNT)wzkjm^b8UZEuIzi%UD z(af#{n;1J@HYouxIN>)9_9w)G&~$3|AtBkTBt831b0B(i78xi^{Et5{dA z3>r!KgVkoi@ubYW6t!P|r`%+e0o6Q}e0l2M&IgV-l7c-J z7K$Q#u=cKJSrD(L6}DJU;9f@)I*C|mBZ85+fraqM7C=L{rO)C9ioFOc<(A5`2mRwF zDItkQU;2?z7%YKwJd<hHgG*=>D>|UqNVNG_+}GobHnctJpjK-(IF^B}vK`FPyXl0; z?Yeqn)aYExgL8j7SBdau^&i8RpdmYl{|diCrVjs(N)XH6k5>k*8DZ4ohN${NMoK%y zAi@oWO#9#>V9K802@6YUTKOMfC56HRR&3Gt=MEq0Ks8=7e}ki>j6@L1U`Lz6b4L=PYF9 zKvO}4+xmYWHI0$$=2=;tlMCt0MO{ULSM#+R^uSPnG5#=~ED_ncE&?l;()U_JA5G=( zR`>}CpWpwv2@OJvbLgt-rob|xUAC>Au^eX0e7V)7uU)k&z7#|oDpDgXH`f3qE?(t| z4=l~I>GyTm@ZeP04^WmWT3C-bQ*&;1x7eRA)(<^Cx%&x64DKrsvZEzFuimEJu=u=C zF0m6adg0?mSX2-d`-9CwZ4yIm_`QPVzHltR6t0e^qQVWLfSFq_fvy=Q(CI!w z;9vsmngUAa?1l*1T+7-mu=1Oou3Nz+$uR0*UFeqk=e7I3v{a!vY|K{;q*DdLw*RZ< zT>P2r`#4URHHXb%2$@52%ppmlHY{hx@}t#JYfb5=lzf4!+vh)ARVMwSbwa>4p1K6&Xb0 zDAVVgJ!}`db1~*nI2$wbR7PQf+G0<&3|RL?_7r0R;e(S3-D;`D4$Fv3)jJztJDl>t zJ5JX(y>W-WpF5LAc7?fz=y=8f6AVCWyS-hMgVAyrys&Fp8-Vt~!GdotTCBF#=7PmyY+QKebq|v;&th3ZvKItk-urS-bhn;+wD%L&sZ9=JQG2-^T#lPyM=eIOJUymo0xfDhh{tah|0A=5)u+sqwqmXg!`1jgN6JMQr zm(9uU0f_L?k?4rp8jf}Qt>bugqX!Wpp47};sq5S!8{13EQa#c-&E_mc?rZWE{n>dR z9CHSfE;N-p>{byJln325OInM>u2Dm|ZyO03=8Y{p3z!;2goV+*UF#(c6wT^j*T62X z*L0DGg$W6mR2tBkDnR*E=AqO4QO3Z*i#{5whFeIWXy+TE6%%nk2v~a85G&*2p{&6d zTTAJqMs@34mMpA&s`r?AUc6q=1z3NiK$Lc=ayHJ-9R~Eh@Yfv)Yhy))6L&6dbFlG5 zH84S156!#w`8Q*{1v!p>d2GOwyXBf)w4 zmn=-RFLAu}@rw%$n7hPx^N5={H7JGlb%W9Eb{IoI?Ndy2c_Dc;8D_moVJln`hdaJk zb#c~5txM@+m5Q+|SY^wE`uo=9s)UmF4iPqGl~cgN<-s0%+!H@2YO5;I_-vp$y8{o$ za~Ck!Rijgw7+BaJ^+Y0%V!Z7!>8&WF*|H_uytNfl#;Y!0Y7l7q9)TQ5-#3nUFF#gm z>=!+toF7GhKL-+YKf?cHh}8{8e4fPeSCvXp9kZ%){LQh8S{w?NW#*+js6rg<%<4Pg zKR9Vtn=QpTZ>I@e-e{HdYvjkh>Cp5@lN*4&LBW5dMa_TMBYq)|hdVk*n=f~i0JakDrM*Jsnax71O%C9n z$W|iq(QXsn;aOV;TZl8}MowNWV9E1YzUzw@G7)`bshS$C))n9vFA3r`*slF`{YFcM z{%DwoND#11Ug_1Q1|u#xRw;QqL*ms~%kO*AqUo+x62>^^!&$;28Hrsg>|@<1e0kmL z&A0p0wD75uf}{u$O*fm~ZDAQp3J6^7lB0@jklH&T+R9F7dD1E^Y$?{L#v_-py&%h? z6zy1<-(pPis;K47(&cL?hQmd_bIt@iuR+a zBzvN~!MNPeP8n4C_zcNgX#VDx=y}g!)-G9)ylRluxci(A)#=|5lVbd57VWE7ViY z0*+F}?n$PoJ_Rk0ouTms8eL7b$TpQY4CS*UKvDwLNxhOKxc)fdVPokT zU_;ABDA9v>M8?&;%Ff1GNLucNw@`Hs)WC2>u34Cl{hT?+d6pb{d+q9aIry`~Z+`Vu zWof?sQ%n)CM^f5+wHIrdo3vE%`R({V+h}F|8g3RJ(JsOy0i08`EdC9EBLT#OGFi2a3g zUX)TyIr%Hhc-Yz#&1Fz)f;abn`e}Tg_xH31*I)W+F`moz^ppMtKc)C!Z`d#G1>`U7 l;qbTiBJ2NVIBj&B%m4ns{ZGM?mH+bbWOv3HS!?MV|6j|aON9Uc literal 0 HcmV?d00001