From 0e9890ebd88bcd3f959d21076fa9e0cd96c8c57e Mon Sep 17 00:00:00 2001
From: Andrew Hazelden by Andrew Hazelden Dome2rect is a command line script that uses the open source Panotool library + MPRemap application to automate the process of converting image sequences between multiple panoramic formats. I created this script because I wanted to make it simpler to convert a fulldome movie trailer into a "flat screen" rectilinear format for posting on sites like YouTube. Note: Windows 7 or higher is required to use the tools. Dome2rect is distributed under the GPL v3 license. New in Dome2rect version 1.6 is a New in Dome2rect version 1.5 is a New in Dome2rect version 1.4 is support for converting LatLong Stereo images into the GearVR Stereo cubic format, and a LatLong to mental ray cube1 horizontal strip format conversion. New in Dome2rect version 1.4 is support for converting LatLong Stereo images into the Gear VR Stereo cubic format, and a LatLong to mental ray cube1 horizontal strip format conversion. New in Dome2rect version 1.3 is support for LatLong to cubic, horizontal cross, vertical cross, and cubemap3x2 conversions. Note: The Domemaster Stereo shader tool "Dome Viewer" was used to preview the rect to dome conversion. The tool is an early alpha release and will be improved over time. Right now the only image format enabled for input/output is .jpg files and a UNIX .pnm image format. In the future all the common image/video formats could be supported since the FFMPEG library is used for format conversions. Right now the only image format enabled for input/output is .jpg files and a UNIX .pnm image format. I created the following example .bat scripts to show what is possible: alphaextract.bat angular2cyl.bat angular2latlong.batDome2rect v1.5.2 - 2016-03-30
+Dome2rect v1.6 - 2016-08-18
Overview
Version History
+Changes in Version 1.6
+latlong2gearvrmono.bat
script that converts latlong/equirectangular/spherical imagery into the Gear VR mono horizontal strip cubemap image format. The cubic2gearvrmono.bat
script converts 6 cubemap images into a Gear VR mono horizontal strip cubemap image format. Updated the scripts to automatically create the output folder if required. Updated the file naming of the intermediate cubemap frames.Changes in Version 1.5
movie2imagesequence.bat
script that makes it easy to extract image sequences from any .mp4 movies placed in the dome2rect input folder. Also added a script alphaextract.bat
that extracts a transparent mask from footage and saves it into an RGB image file in the output folder. The encodemovie.bat
script will re-encode a mp4/mov/mkv/avi movie file with ffmpeg into a compact mp4 movie to make it playback better on mobile/tablets/desktop systems. The imagesequence2movie.bat
script will turn your image sequence into an mp4 movie using ffmpeg.Changes in Version 1.4
-Changes in Version 1.3
Download
@@ -341,39 +344,43 @@ Converting 1080p HD Media to Fulldome
Batch Script Notes
-
This script extracts a transparent mask from footage and saves it into an RGB image file in the output folder.
Converts a an angular fisheye image to a cylindrical image.
-Converts an angular fisheye image to a latitude/longitude (equirectangular) image.
cubic2gearvrmono.bat
+Converts 6 cubemap images into a Gear VR mono horizontal strip cubemap.
dome2rect.bat
Converts a 180 degree domemaster format angular fisheye image to a rectilinear image format.
encodemovie.bat
Re-encode a mp4/mov/mkv/avi movie file with ffmpeg into a compact mp4 movie to make it playback better on mobile/tablets/desktop systems.
imagesequence2movie.bat +
imagesequence2movie.bat
This script will take an image sequence along with an audio file and create an mp4 movie file using ffmpeg.
latlong2cubemap3x2.bat
-Converts a latitude/longitude image to a cubic format that has a single image output with a Cubemap 3x2 arrangement with 3 cubic faces on the top row, and 3 cubic faces on the bottom row.
The Cubemap 3x2 format was popularized by Garden Gnome Software's Pano2VR Panoramic tools.
latlong2cubic.bat
-Converts a latitude/longitude image to a set of 6 cubic face images.
latlong2cyl.bat -Converts a latitude/longitude image to a cylindrical image.
+Converts a latlong/equirectangular/spherical image to a set of 6 cubic face images. +latlong2cyl.bat
+Converts a latlong/equirectangular/spherical image to a cylindrical image.
latlong2dome.bat
-Converts a latitude/longitude (equirectangular) image to a fulldome image.
latlong2gearvrmono.bat
+Converts latlong/equirectangular/spherical image into a Gear VR mono horizontal strip cubemap image format.
latlong2horizontalcross.bat
-Converts a latitude/longitude image to a cubic format that has a single image output with a horizontal cross arrangement.
latlong2mentalrayhorizontalstripcube1.bat
-Converts a latitude/longitude image into a cubic format that has a single image output with a mental ray cube1 horizontal strip arrangement.
latlong2rect.bat
-Converts a latitude/longitude (equirectangular) image to a rectilinear image.
latlong2verticalcross.bat
-Converts a latitude/longitude image to a cubic format that has a single image output with a vertical cross arrangement.
latlongstereo2gearvrstereo.bat
-Converts a pair of latitude/longitude stereo images into a cubic format that has a single image output with a Samsung GearVR Stereo horizontal strip arrangement.
The left LatLong frames in the image sequence should be named <name>_L.#.jpg
, and the right LatLong frames in the image sequence should be named <name>_R.#.jpg
.
movie2imagesequence.bat
Extract image sequence frames from all of the .mp4 movie files in the input folder using ffmpeg.
TtU^DeOFkIYgk@+w$Ac&wgNCLE ziowQ<$M0yCRF3zQlmrizFVsF~!*T~s&H(QhZL8?68dn16kluCWWXv#lPslGCJiOw> z8Zn%$1Fw27v%;H#?-iuhsdZuimNanrV>HbdEPBf6sH%A~Hu*S=yoP*COHg`+T7uqW!PrI@swA^C1z|G z bXF7eF;Ty*&)4C0?gO z!;jcICuU^YGQtuda`2{BRL_QNWhbzgz&rR_*ExZL%cDM1oW&em6~r>^8m-ktGoNr4 zdxW%BUDsW=k(DU1%p}_7)3z6F=KU}pe(sJyCK#O2*`;&2x^FT3wNUDCqoV%kc~#DZ zHXW3D95860CY6Kl?=R5-?R^<0>h-u^_KFP$wj-AY<%{N$$*JLi{ipUdT9uBFbA$^b zseX4Asy})f>V))f8)VU$gCOQW`zyO>?o06nJ9=xp4&AWV1j{2OU$Ck9x4V(zz@8-% z*9HIMe^EzU5+jM`35!X5qB4ZT^IcqWt+K{E7opUfyp#LjQ)6INdn9-05zQln4N-d9 znoV6B$?uc_8mMsDnUa`l3i~) iIR)k8mz2k7APiR@9p%?smAMkC4hA&hLow?_lxdf&PS%qIkzW6 z$m?=KWc7xmNgS9swPjcGrtiKxzg)N|lG+5HTw}wycIS%YySN#?r9$djn;nUEcD%gI zclbhh>Lky7Q*=(8xK3zPoF0&ql7I!&_3PEI>h-PtJv_AG{d>wd?6K>fg_)wL%{*DU z+7q4}h)yjkuxvJ`ilHnVy%yh>^z3>hKzAWNaiLHXE&P cP{PE`?TSPHPk@r&AnwAK^bZH&1z zW}~NuwHlXNRc*BeQ0{b=R8;aG_e|Y*4UjD64F4>>sSxjv#`D}3a?<5=jDW?0QGM3E zNlOj${*6eLi`2 sfk6O L%z^(Hi j zM}onN!FqB95wQmq(hy3-{K}c7f5rC#ie*zig3kbgBA?mx6T3m*bprUGCEdF6aoC4T z;P%LGW=-XmHbgjIHB)x62|$je1k61E=PX$o&k71N{7q)^a{JgM5$nt5)*f#9l%@fU z9e`<0QIgZnB134wQkH{dg3%}_Ot#BkWBC%5-F*+MGw0v4$HZv}@|rWZLe1;Y4+-Zh z*(GIi7R@u>RkjNaUO^CV=KG@t!==<`=`S>(eZm&f2f+-GQVR8NV=yGIGZVJ80Y)!Y z8xV+qCH0g$kK+!Ej>H&^k^$&raGZ7un?@6&d9Zx>4Gdxhu_MkfCsc_=#6PHy!S_+E zU#FZW&)5^LWxoM=-L&z)1_V6})+8Oc=&)44DN>v#V|y2&-W9|jo9@fuq9y(`v|UM3 zj$9|f{iYE&0mA3OjhM;z!wz5BQh}IbxS_Q7Xk4Qt#+MSoLFqhenE6V|CEEPYFjC@X z+hPQ`0SU?Q;3qOc25i}@7Mp`rM#xCf1eU=x!bG06D_mgB``!g-wWT!oS2r0CKT2b8 z=RJ0wX;njF8Tk_!EWObT DeO+=KQ$vDI`2EIVfrt5s}L!Pm#wioXd2j)O4V2o zII|}003=9=_WMQbhYbAFU5-w@1q*%41iZ`Km|SPPGHamF&H1WhG~EFd`w9bPRUuHV zmU||jt6?OB6aqn=CF1v*C(k?Zt64*lCxT4^qRBLl^9!X!+fl^;Nj!zB`R@GFll~pM zSR!eAVUV?3EN!nDJa=< =tla{2|jFPY%o9@G7hX+EeLogCh zG;}{`os*~&D4*vwd#{8}rTJF7+8Er#e}oc2t=V>BxV)m-;eYY;?(t0b{~P#3t-8DE z_=%cBw@SD>>fkg>2dA<*E5#Hggq)eSkxsW{4oNYaa+ne8gb>qR8M&DZD~qXNW;t$) z&Gx>3FZcKN`~BCW2e$Y7{dzxN*YkQ_*Y$$lh&V|5x}F=~SN-i8Zt2GkD*il)uiN8# zdi^%mKNhqRy*r0)B@7zJ#Suu5)>!OXr<>3HBfl&HQUmg+s5e-b)k})-DbQ&VFmSm6 zh#-n3PQQhV 9W>CW$C6iS3Nop z2LfoQNtE?ON0ed9dLvW{z$UkA+nw+17XTaV@@$!}a0@<1yL|IUK~s&)UpwA Yw-~RefanY4OZab`( A8V@s^8{+#jh0G`|}3_RIN zw8fzKozhaj+MHdq(Im*CO@(??U4AOxSROi2x5cqU?#9gCcF#nRn)*&KrwSRgAI)Ha zLUPN=enJiWskRZ%)h^BbzOBPJtv0tFO+hzwhdQf&Yqy7Q;Xgv>xu(JzzCv`ZH7RJO zbKB|EIhFa8g)Tku=d~n#rx2@=5h@FzFUe khsShV;h_XO0so0AsP8$o|y_%*b>0@>b&~N7PyR zTmZgMKDPSS#-KKzD2 {AcK#7MyT?18BuI*oa25T`mDi$H!Kk(XB8kOr2>*3b6c)=;B)M9q zub46i&A~r}*Q06=1Pl$rc_Own8tr&Ehu}k`4)(q|b%qvtwZEA<6Z2D &U@MR7A`6uG26u8GAXOnkZe}rBQ5ibH4<#&*^Bwv^&$3FH+COf8 zUd?&+Hw1y$8(VqTT#&;@K!iu^gIkYfix;Y RAjS7?0KNugc|q^?Y;bO0^AMB#nNDUIuFdL69d1OYp~li1LH2%ri+HnU~l zexOy4a4LkW_e$hF8`aR3vi4szh6Zj8A@{ve93M|)&szTHJdNYu`b&dA1A8Oz`5A+h z9k3fRRUvpCczTqU5z~N3or_8{Fvws+%u>fKhvNebVs+kG$CXBA0WXGJ;qf9!Kbc)k z?210R;>WcWn}Nj5c#Y#ozzrNgq%yY(1Tf^;kQKd)aOOh4TSYMqivk~IwYBn`^IzKp z>8kHk)|`|+aj-=Pyn$ +Qcfe!OgIK<=%hx?S4+ zW lrK u4 z)cdJ0S&;*wdL97OV$*l=pt=DCk0i2beogz&etLS2=yxxEVY5jZlF49?I3j{LW&3%0 z;2tRyy|?11(HYb{Kn;Ty&8@tp9hnFwpY?!TwU12R7-gBGNRi_RzM<5CBfI02M8=MV z9J{F8Goq5Fem;eN|FvJhF~LLgUsIq#{1se?ij*%Dxot(~_LXtx@l zJR9*ZY`HuQ*anpFh2HT405TGnHY+m?sSe%KVMMjxZQ$JF_N30e@25A_&Nh%&m~Skw ziyq3W3LN8SLk+oG@X)A=fKB{k?<@h^p$xw1p9N$P{=gVm*7j!g5Wu!_RS5c#eO^a< zj0OUa`9B_8?D?ccowKay{#L|{83hL#51U+n&2QA+UZ>zIHN?zsJv{GGh&UQ4FiJj5 z!a_`30=Qhp0?sWXb=)}gFz;LLD#t-p2XWyy?igTk9b0IV>JL$O 0y_9ijV5CX z&>tUOsRSviZerms-8 <-s9k3b4jNCVGL#<{oQZxZk=qu3i$ zfQ)#U=*Q1Jy^(qpr6n4w586KX>(u4>fSCH-ot2ZHefY%D5zm#UqQHpxC?K;GeI@s3 zaPSma$Rxe}ZY9U#@RsCga1rFlg>PpXaMF1t=3m&EMQ`hh(pu`h#fIx0qz_A~MqZTm z4-t7dh%XZ@Xwj#=&cco!WqpSnwS_bEhx-6r7Rr>tfmxfJRAYt|fd8$Mf~X GTD zOAAd6)AM`XU#^S3pWRqD7{*xG*aBQ7y-Phiq*Jm7zWM;s3{t1k#|k8 2XPD9dFp5Ls0x>MaB*TWMh@xT{$B79m8`U+N`8i%a2>~3Yu2NLx(Uh< zkGqtw5cUU-c(?M!vEuTPXkJEY1`7S?+2D!%bC7;Kv1Ouk#Yi6E9*q%tRm!RN-4@hp z2d6Dvv6wPc6kGYCrLtE`!U6k;Y)hdxVwbYwXd!z9m}FI<7MRAmZ1J32_tUyG?xp#d zMVT)_oDQSF%Ki2hATcO`RH?dVzv(L795x)kL}}Sb3*fd~P?j@Icl9}isA67DO@`)J zly1I+f1Ayf8b3;8>mR*_%7kJ@?~}Ay@+F?dQ+lU2P-RAvh*;dTLVrPul7&4_@NMwy zdg mP7hV;jQwgfclvN7 z-qL2tmzTfgR8UG5N%Ad;Naoz(Y%B^)5j%bI{sw$9UO5u(G}uK>bN`6C;W#uIgI66E zUEIxDq-AJYK)HYH8_cjBw?%;U@goO`Z|E)GcU-@tHxj~mJZ8 H!m2Q{|cKH4&!X)o_w@fZE@!>aI_2KlCc0ylKyqe0E3 z*=eu0TK8ohF)I^6kzQyk!7NKwvbxDWA{shaQk`#Xbr2M1;`?>s;ny$%wuBz=CNecM z;awZ3-)x}9d3xc-$%EG%=Gmb4<*umz*|@jyMNQr%74iMvH=ox}50}GVfI*f=`horY z7ynh3W%><7)JVw3Jr2K=XX*oZ62sLkBkPvRoa4z&dsgl2lS+5GI38xi0zcu7tLxq& z0${PyR !Q|B5hai&ARCZ8NKTKV;BX%fMY(A-=CN~yi86tY)pNlLQ4+s5toMOkG~v8 Mo|~~jA?^7pr?FX(H*wibHJziU)VnDwfF?6SOLYn7CiqKmL#3*dAjD5 zzu*nfO}uiICaaO-#cn3I;T8Z_*-(Ar-c1lOGexD2hlp`Q_dfj#D_CqE+xItJW{5i8 z4Z+oCX(qR^guw*l9p>l|*<+IlE c%*&t!jrNS prIY_6^)Nvtw4ahh#t2xc_aLbvzqHf>yY z)ucs|0j`9K%eAD^ {ILD62z*N9Y%r ze(OQHo;{7guR36zlD@8G0=3MBIUKU|*jzVRJ+}hf3rVc}c*)qpM}- F%g$Q(F*gbislvR4U7d78ZB`6m4FZAbJ>52qAdrt{z^g;&wdVHy6e@}lXK8(kR zV9NH8cWjR1HB6{1L#uBkt}RK|I^LBC8V>F+Y03E!|9IhS)o*uMp9B;3SV;yRwJ+q* ztpaWKuoWI{3is~3o <(M~osr7mhSXDDWt@v{Ucg-i}n3fJ lCl>o}Iorkd@;)Z?G zDV>3Z`Dq0dAos{N7<@CYe8o{pq1gOL=5Co}a9|K@khcRIcLaJP)ue48t%drj;9F8U z!7xh|5~m(KZnZQlHZNb S%egQBkEUY_rCid4>L5wA)x7SV17A z<SUeser@?(Q2z4yP{K?S^CPw`KN53^|)7a9+h`)Pg%gzi~vj2^2Y5=Ml{yqsCWt z-$$93JIR+;weF_roq0VOI{1}V$(tJz+)(SyQE2kNW7MB3chQP0;0P^ 9x>Jn1s6QlToh zYQp^2NB*=xVQggwC% i|^Va2u+tJLdT zLt@Zhb#aSCk{` z%MCd|zQ!VAafOz^Eq?x0%@lR8yQElu4hw+ro#*eSd#@2*%UtXYWMc88g8**x7DAeM zj@#rujdz^4YaiUXOM7@pZMxj5!=@M|WP QvTg0=Q^ zB+_0kVi8PWMIb7(hju!E&y*`G3-X>(L4E0K#wLjDy*q0~L| OHQ4CVJ$h|nrB8vh-p2DUcfqjEDB+B{9Z zDH|q$ezvonIcNW5<=^Yj?d?^8vUq5smJ;VIf3hs+r q&XvO`9) z0LYa7qK9mC41HlnpTkTOxl-B2WeKiOB&ma;f5+NmJXsG21W4~`T-opqc%0pb^Z;!Z zSk^||CMTMP_is&u^UY;Wn&_#?rZ5QKm>9ndD40-epQEeBkqtpQ5Y{IFjmE{PgW?8K zZCAig14~3!AG!d20P@Noe;qG}mOYIVAUn^xwy~}fjy>M8fsGK%=&NwA@7>tn-ey#X z8Fd@UlN)~aDOt>3wh@;jT8O01(3fbfTX#B1?n(u8zIWolQScst_tML(yrD4>%ONBm z^%zOEf(q+_Ic7;Y|9=Fn* Zbj_{Dyy@*wCXs@Sty~rk8m}mD^WmO0MjN} z-%r^73=l8szN8BI-*7?my;E0ezE!;-wu>SB3ujL`32@A))~ZeLx>2V;*5E OSb~e3MLjS@RE=Cw%$@`PIxz3kAToZV~@t0oB0a}p~BNxojkNyA5KLmeXe(08I zgaoXn4#~DltyW;_3Q%6Y%T3vT63hyaptfd~U$gsE{<%;UxTHIW9CtInt4_c)mmlf) zlSN@t0W1)^Yq0&0V2UTJxP-Ay5krZnsz6>+`mF$U#wcW@&@_oXhFhaWo7-f0@*C7d zRO5-cVz>2oEx< P|7^4Cv=G<+ z1(l!|x-4PD4GKKaH}KCKhGjD{t^+royE(F(#!M1^2T+P+; zelY&w^d;Khm&lSF*?6;W*uwV4tmP~i0V_mNLK1#lv}MVDsgSR{p4Pzu!$J&i!YRD+ zj~}!bNlV*|?aGk(dn|xqIJEG4|XG3!kqW9J}(Y>e8$FeERr4&?)*suP5)5wb)9D zSNfUl(eFeVc#NFYUwUSirw8Jje*LKMJm($Wu2R_$Bd@>A;VPt9F8%DqmUb}@Mbl*# zI%STG3 ZDJUC{^R($%^Rd3;{WA68jB4`(aF| zcdll~<*J=kp>chtgw)>QRC1IBUAK1xW QUm z$JeTwTc%@iJltwZluUY0c>5Co}Uq5B;&-kjYlyH^7p34x7 zQC{^GD^W-OssZ+8M$#eS!rdy0mLH1?79E&CU|k=GQ@+%t;mQDJGgf_E{|^fmJeV zaMHZr?bKlQXq>2)A@q-3Q=*sDhcB+R@6LafnMCS(y36j`fnAnTLI4rVsBv1i3Z9jf zPCDK_yx5yySZ+8&cNxKhqKoR7c?NXZi%dq#suM>ww;BR)$fZXn1BHCZj;q&j#JwPH zc9fnI>>E=zW^A>Sdx~&zJ*<6r^#P>)nDJ5~aFM!^KJ|P5D 0J?I~iO66BG`>A0ukKxF{)U-n$N!F^5bq* 3%XCGcra zVsu~|A+=)1s@RRncIs8gkRdCzO`!;tX(y}$x<5A-zF~oj)!aW+UoQ} *dq;CWssG_YO=7{PQfr2piO(aM}n&NQxaLDJh}T#gFwc4eZM5iSPtD(1e`*? z*Ymzz$;Ul$iACK85n&}IF7`TX>$u7l>*}@vpvs!7GVb#V2_LKr8EhaGvO>jQciK9b z|6hU+sh{FOA{Le9TEH~|EP%EuH-xqsh+4J8iqpcVoVZ}oNS;z(+?ET5c@T4?H|?5j z#c*bV!b6Y^uhNVJTbV+M+=F!Y?btZtx}e#&CHtI449k#-c@OfQieSUue-7ZMs9F1N zR`=&KKJjfBQv_Ql0O3kaR;m|)@wDZ#WLu39(1KG;G)sZ{D{K!n7JR%$++a(&ARS@~ zT%TQfbwd*gUcJ@z{l$MB`_!S_{ZM`IC6N-TaE%>YZi%bwtnl`wRB{#Eq7T*?DyAN_ zi}p*%MfE%${TXFLqcQX!2@aW`&H#ezhd3`YNA!VE`zdDOGu8j79K;`GBLnj?$4Xw( zPe#K_E~BWsM9LDlncVWn80b9`gKXrxWSkZo#emPym+ieyWhqUw8%Ldy(~y@>98X9X zOMAc&Rr7@r;+aVGEFSH f(Tt7mb|$B|4eT&CU8w)06Uo438|4(ps5S@XU5PAc@r>&*c`Pw@e7rGK81 z`(T9gvhUDmqxm{oK5q`O@xf3=&$+K(&nczbj=$3 6 zv1q|9*^KI^MZ2zNB~v!`Zas2|i1~*Q`FeJosEM-P@}T_ ouN)z8wTLb?{vLYTtIh@%z^=^1AUXD-!AzJ-t^-2p14P5NA z%e{e9N~LUW%e}DeHA%$NRr*9fldv}v0DmFx$Pb+f_cLo7R@v) vLnaM^@XzeGJm12 z7IWziReUm#4ilF8A8N?QPh>By3}Vb1di>=4oZ1JoT#c)qicWK;nX?uMu_iav*n}a# zDth=v;H?T*9eK$tE6&<%$WIq4Nj)^ssT6x&O-=U)h(Svtt8^*``Veg1La#-2K7 Dsp(xRWnzwizZ1FF?86t&5bJbCq7qJ@8snr8T{FNEGs=J zz2}w@Pwc+DU0t2WQ~m&%^AaGxk$cn*{dBIK8shi!HXYl*B>@_#AN21Y$pOizDr z42(@aBG=wH5J^D+UVpaQxXbzV;4=`@-=ai+nfrRE(XsSxL&WEZ{&vOhD=~g30P=iF z&)o4#WuQnAvx*TA^EhuqQ{dbyHiU+0R_t?*K1AS(E;Fl6tlqpNgb^zni9TsG7YB93 zkF4%fudjl5PO4<`G>mei43R-xcgofH+(|IUF?bMI^|DF%Yl&WaziLaYhD;=b-r_CY z?}ElV$%Uq|g<5r)m-M2wfIpig k+^cx!deQm&bazQFk ja&%Tu4n#<0&i$gDD8f5TFZioXy7z~bHp*iyw{7fO zv^qz_h@U5`^^^f+)?09E2A)=~HiyMRP2#jFY~q{@IIOk;^GM^NHSw%kVp*_=J5$QL zwWNDelAyY(m6p`^fViW`?ici cTPJAqzrF9q=nveR=*Vc_$_I3fke z)XQsLekGLswWCfpVRu&z1Y8nj6JxEvlnOji@wL1~y{Hlfs2%5a`}hEd&XYDlmpE+2 zi -yK|2rrrYjR0&-|5CUoCSUY$}IMB%YFK+;RqAmbg=neQ45GS z5ug*NzYwudo$R| C0O4Svxc;EnH^_L5y9Dh _F}Y zgWGzU!-Bvv2dnJp!T(pEgH_JD(P4A;=%vv^%D3T3gd*SJbKQ!IXd !1Z+!xdQ$fy&A^4CizO4^^^yoihI0JAYc@6H ziaqnh8!DS0#jB3g$!KyJr~a&acOdw93LN;D{y!`1N;Vn@i QY2PLree>BJHHg28h~2zUv6rR_Bsf zGd9dy7mQ2$r>7UY9=Z1!J#F|Lu|RzP{9A&W10tZD{R8zu(Q`E%gJtCadvF^D`-vPN zG%~j)q45CP_vM65O@*1C+;M3TH#ydrxak; |@2N zEo4ed2?wr-PWQNByxk&-Kox?MLjHPYboXYApJYx>d_3-2d^neD^3rFDFN;;I+J6?2 z7?AN8nZWw4WY@RRpVnQ3wMMImZ1ohDdwxws$Zu*S4g=2PG{e!dn%`-lBbyU4o=m3t zT?)yj8zmlY#GVAhj616Ty($sx@q37#X16{0{S7RTKom0OevR*0`P?jn!u-yo^;f+P zN%oJ@T#B5iuIShXT3_ZuEW&F?YaaHavgXvBvTe=rNCS0BljWj =nBjPV5O>*$fUWd=qOR5MA2{Wu#x$=6` z;0l;jp9@!#DY=#>VBbN05Rs*8mX^8A=Dkv?KjL{SeK?v0{`{6!&vTzc7xok$Wd8HB zcuVNnJwZJnm&sANm{oDB%W6rJ*k85=h&9R4Dk}<#y@Ika$bgu|2RIyH;_}fhtuiek zTdsdU0)4*w9w)p2kz4k}Vn<+(bTM0I|NRrf@&)1uJj0Ar_ombF0IV@tof6q 31%ga)Xx(yQ2YYI}TuPD!|$~-p=u>oQ&VJ` }>d>Ptb>LY6{^kZ5@3WjL8<7?MmTJ 3dl)V5E^58w)x1U1;gz=Ea4YaMmhMJKeNO!5% zh|T~ai7xVnoAq_RZiCfK5*3qK;TCnzv2wg`u@Z$kxcb_AJ}^Q4C=)wxW4^TkS$jAe z;xD2Pk9WNDI+Gz<&$xvD`Sv4BEd?F8`dyQ~m<6^>>xw @}7Fw7RPtz2n_WsXJRn z;~HzZobEwax3oA6n!5dG)o4V{oL-S?8pGvE>F-AL`2P?=thP?uI{~-ZOeqJmp1;3n zTj;*g7dTLZdRD7``8F;05N2Q^Bt6ekQf@?9{2J!0bIPzsnoY9m>B$=Fl)m^EAJsi* zu?Zqz&$h~KX>X0>N@ nnCks zC^Z(vr#j{VB`uYrBi|X-1I=WZyJ0mLOM)Wyqi{5`(WaQz4eGIixurT`Ua2ofOx-{6 zllz0oRxI9K2D8<*5`v7GUzJXeU9Oo6`CO?sxb;2-&jWN5#h^dL;&L7Jca4CgZbD(@ zQsnc6B#V<}J=4t4)yeCl%)x6L?Y3NZnQ*4lu6~WZ5JG*I(Nhf5$;7>-LFN_%J)?C= z16_mF(`C13a5a1h#N4*e{whJcNbB)A9YYDr5BOXMj@HA-i>VNPInwjEdb0|Ut2Vc6 |%BdGbW7}2=H#F@%n?c+&^bxOHvA9Cn!qJUa1k}uI* zZU*g&=!G## 7s`I )01kYUfejg`wQ7pE&VW(Q^VVCs zd9>P)gxf2-qA>sINf?uuxvvSxWTDL }xC6}({cpnrQ5 z%& OwAS8jfAqwjTY&?Uy>ivGd93+oPB&De7+5CZC` z`- Ydwx$BO$fYebHy=zYuQ>>T>>sUE3SvS_>YZ(sB z-n6hL Jwkj;VR(WFJ zOBad-_F$Vn6I1_LQ1Ow*Z6(8qMXE@J@~Ne_7}5N}rmYm|9vrU0_%VxBR=;Vhd8d$L zRmM^nd|BGxPMr*K{r!_27CUMHULv~CiiBWumX&Oc%yzU%CH(`&&<<}U$?yv*N2T$> zp0KLs`Pz<8^MUJ&EV|4 0oeh>JEQ0`KuZl)2t%*$k8}zyo}PeMqqzXp{4-LTc$GP9 zSW##bmgoDhkomo;eif+kE+xRuzy_~@Y}Wl&mjfalPt@ut-D!oxExI+-Ow*zpa&69h z1? y=?6t405~O5- zqAerDuHMzwGB2cpq=12Ik==UactEGzKjON(dHyNXEGYiEt8z-weD5<(+3x9a>8SPv z(u` 9P+1yuFfXcM~&^ z3!sGbq!ly^gMcL(O(^$D+XY(-mkX2%u4&H0X@!b#Icw}x*ia!df;(fnqrMe$K2l5- zf$v+LUp%G`e#xZC^V6-%fRYKn7HW((_1)^5bR9t82xmY=5Afr~%#IVgbbzkyVEH5D zJ~)Fo3wewnHUMG2WZ>EMt13&PVliF>f=_sWd6CD|Jud%4K(UMjeuGxpf6W5O13qwU z;~H>N79nhvHO=}O$c!RdKI(D}n;NKPa%E8uwkw;6jD;N+Z^j6h9^{hD{?988!W3!; zO&e61LdQ|rJ22guIMb`1%64A>+elNWg=h10fkLYEMwc#bZJj 2>1mi2EAW;A8sh~@vTp{FT?{@EDM+YcX$(}6; zLDg=@KQis`sMh?A)C<6$UGw;@@m0QToarsT@Ot=dAX&>@g$#)>U5#;DVTZT>7j~Y& zOh~IxcVI;h6Vw?KW} QltZpw}-9V%0}=kOy!8R5Pr# zsvNTNMgZ)Tw Mbh*@)F4Pm?skHZsbwTabdJtHFK zuwzir3F9Myx%^AumMI%FJ=z2*r=BaoRu6%A&9g_{ =?;d+r5Fh6g z4y0)jy}YmHjbQ8CEaUZh-lUuv#%VHD5kkzmEV3p@wgY4AJFuV}1p!aY>n~kJX+pv= zEIDqmKZ-sl1#c*Juh|t2zDmv%|MP4E7gRH#=-q|!!{5PRX66M=XXjd@Q&YR6*$a@i zGWh$dmftuu{ZI8m*BwlgsUg~F;~iok{&|ld2`PqUk-=lSBbU*SJp{ChOqFOvD?M|6 z#eqZ%*4*^F%HQ 9@6D{ >P5OH=*C1{2duXA-0mzu1jq%9@2$81nooaPr~QS6 zIAtU+m30WeO}$7kr@JV#=I%I+iC~>zvd_i7m~ekT8OsRcI|F=1Ik|H8G5_J9jIY8B z#}Q46N?v&)Ow7{x@p}DQqC% zHzD{s_p znfg7dB&RW{@+=?P(t1AS(eN7eE)0`UFH-b*-CaX{i__DZQ!;%%6N;8L?9O8z8>s)_ zphLw4Nx^ckhGtm5Uzs!AjrFdn<#k})Dz+JAE$Ghx?E2i$NC~$FuaZOM7p l7);2=E>*-xGq(TPWU>2+=II@w*jcXck)vsEto_$SFX(|6exdKw zZQHC&G-#VO3umR`{%ZD|U0fZ~d{TNS7}IRy4nGsjyl1$T jWGL2)7)0-$ShQrk8AfO#u%?+jy#UPTQ9&7T-R zzC!!MoS*zrk^K6nXZ04knDY`U`(O|AC#glCFBEy{B#}Nu_7s ajvc_9j5Z7|7l7y!-ASAgD?#xS-W z9QX!S!=l2KKqL;1Wmpq3j0j*7fJ?Oehu_MpspO18E5#y_+?Ud#-t(rc{<_R9-2M zS4%mYps{WmY=RT9e)p*oQkDJxXARo?w&!6(@B-l;V+=NY4Q&t11b3AR7sEdf&`>lP zZC{(AQt^4!q)eY`D61Ip-Fl7yvwyB20YU7$6&47Uv(x)Ec)30atp420O^6MtN`;`= z%(0Uex*NriD6K+W;<6 YQ+`^@_845`0X&WX *VHui`%;6Xcehsu&Hjk(rR@L2}ZZvk}viK62KfBdVDXn@g=9MJma8RvY47j zB^Jr1Pdp! lqDf1n#G=im?cU^w+YBl2Zw)tquUhP z*Zi^54g @fqoAvh9ppPK$1<`NKa-%bXZHsCg>Le4*j z^n2aHc7G*5+j)rd=M+igG~9*9Y*tHZ6Z0Y^%V+jq~hzsv4j{zvVh z2CxgV>SU#CeQcim@uvqR4Ljd1^5#@4hJ(yUX8#k#xtpXfvqyqsL{4rDOKzFN97{kp zN(EG(7b8zc)Y4 6rj4VW6NItn(3h3B2)0Yw+C@_OvbqZ@<2DPV zIrtJ<{WQ~D4O|p55}41h3_qWo@Gj`wk ns;j z$Wld2$(30iB67)VLzdEyS18}+aAA5{Pn2|C9VyoVPI{D1dOwHaG#xK=^gYWE#lKXd z{`uOz10Pn_-qg0~8gj8OQ%&96T>p-fKdBe;m`rWPlsOxjUg_ie@prH35jJ`|HaDs| zFdrVTPDVPun}-s_PF+^Z>=(~Kk309 j#Lp>bj3T=*Mm$466g+beBpHMuQl}COsiPvVOhCniJlbY> zYj_a`@XF-buv+SEn)8Xg?GOJV_#{Tq(dLd|yse;eW`9(jpjoF!1HAVgY%ga#Rv)ml zc*mLmr{UOPdLHcQITK@a1D7gF&zkNgy!D?r5*j=4da{q%@z2I{U-#|5KFB880^%;y zUaD`a=z(8+Z 2 zvDD$FP`809k-P2E7zX@*f7zGK@G?Mq+n^MEyX% Q~ z&E%+BxFwN#T~_)U0FJG-KV)Da6)J&X z-RR)0C?pKoK)mIQNMwl?;!!;>LZ&9`Mma*h@Z0!(ZN|MJVidUcCSF_h+S?;B)|x_2 z249%=G7FsQDh6rhvkSeHGvBnZ?x0b#CZ6B&^6vgN^U3LHB|Yt6mFcfs?ofX1B=h~4 z=ZQ&Cy8zVWIr<~S3iYWhaxCjK7{POHfCNnfEd@$c^xi<7&jGE@L(_bBydRSomd(K) zZVtk{ib5-}(;%Hdb>)z|wN#%0wjJ}zT?I#x2?8FdUNX9y*|-gb>ck&=6~V%wukH4MqF5n-yC^4@J4`(Q#@Rx5yL|}= zaLNF&_2ou`sRAk2yQ+CQw+X(K#rpv)RUu};TwAmR(ojBxZ+HPITsSkiFi&55y<_fv z{WO3f)NtgY2io!EVAX5iA@QvJ)!^5)i}S?MI$1sJX5Ap1;r9jgU1f4S;zcyMt}fgv zNd}xpAN+>{X6DE8-y5h*yK)^*weP;l^c$^+|12illM%UeKhvvoNiw! BM@*eI#*fvM`4dW$wlJzC`4EQ##0X=-{Skm&mebL~Jd%>+LiTlQoN2*JNZ Z}quVgRje8`U0Inc7&Ulse)g6q%vhK1EN^oY-$ z>t}gfe41Ma4k&84es?gc-q1i#Wl>ht&c2|W@ISIbdjh40G@pq6xU%qe r*;6pc>}|H2jG6p8UI%V(j(pp(hd@VqD`549#TnFx7=cta>0OKoM`8%y772wF z7VbiUwgExkmCO7teYV51iP=spkUtn7G&R~;_}XVLNZmhL3`>&8d+%js!$JEc1aI$9 z!ItD}7!K0r(TFCE+1 (aU^c52Sq*(kkiDo2~3Vx52liTirBK@MpV?qB+-i4GI{aRc?#$SzkB^S z#!8_)5~M(pZtp{2--H&EJm#U2=gYAV0z@Pl0b@8Tt={tJLC$DjH3Pr `V+oUoU2)S1VX6G`J<3I?CvPGs{Svw0PsboUa3q?|Y@8PpLEnp2m zSdy!s?^XBsv789Gm+Hu3hT=@
-3PL)yU`By$Fo>5&uv-XvbK3+c8Az#Acp>On-;Wb%u0*sjD7Nl;J z9t%JlwX5)!E0^*%Mpq6zNhXb-EYztI1rZg}Sl8GHHUBVbcP1oZOPSy27rRA!v`#8P z7Ks!(;c2n`A_$I93J)3lmQK!aV9m`})S)+Pk0)uGaT%k4xU1S6tSDm|-YAV35%6n3 z?Y+(Aa!>rZY6Q@oGDT9X2y=ARysk<1elS;old62YU81Sg3DvJUKO8Y?#LV tiY?(xxLnE{B!uwJ^Qlz3`~LK>qCn3djw=nxKX)Mg&FnA{xco?@_tot zbpal&CHm5znZy9ZI)QdoWNx>+GJX=m#w}9s#IV5Wq2P3Ne*dGLI`1^}9?MWF+=I1t zwm+C}cM5j3`-Z%h`7l_DpxL08=U8~Iln?wBTZ+}e(n+D`uFK16GiUpu5Fi|`FYWlc z8=816P{d`u!)iTm OvXa4>dmOv^8 z3OL=DkzYWFF8V0Q4X)m_v9Mu4#T>@BcBh3^C4q{&PS 3Hb^!>p&V zjs~uK>Bu=c0YqjQdRnw=vlzInylb?8WI~Y&N9xJNWtfSj;8 n+m< ~+tHoPu>=EnI{nK0)pmht8(7|U# zYG7NY`rvl?!{Mo5`ePj_qh0zM%!A;v2zQ6_*ROrfA}yaZ`%h^tb)VO-5azN{dE^^f zdQCujejy!*@KM+q`qQnp=Y?;U;+f3tJFkQDQAZl%*V?;)d>f3UhrCe;`cDTSJE6SH z?^nIg+QR@f?GMAPnvqK
)am0d0Eg^UBRJoEq+rd==_@&E*F|c SxEC{H$h=*1iz@z@Vy6AiWGu+wg69xm$2y mg(m;SIQ( znzxcnr!NuxN c{Icvw_b|RFENj{;1OFAnEk5xUl?$`Y97Gs<%1<5{ye$}J(vZ` z8>E9y8+%wwQfj>Ob<+~(F|zCfY>kB>1C<3mIN+ZiV>D+(nj^MHHQd-|A?l77P_9JT z?N@^M vh8pQanQG#ix%p4jdich8UCa4-DeAoY9fN9&p&`SS9S*cO zxgRYgejWCF0+lg*DhK^(_W(behp&}i&+&lCf7-%lr{#cMwn+4gdV^GCSU`T%`*xdb z$8FwHJAiC17w*2Wx-(H(MH5Dr4Ng_@6i{Q#_KWqc(ODb~0dMHh+8_h6dUvWS(rvAs z89(b-dM2v `IU%eB!yiuENw0g)orzjeAY zbKhIles=$ZC%= oqiSf7BX%mDu>^hv9gq!bTU?y+owr)Z~$9PgC+d zeSf;p@ChPFL2^|#^duiR>PA>%(=F!dWLoEyiK-+%dXO8I7E>C#f gah< @YcJT2dqN0xcJA z^$L$=RsjH<8uS3whq<9rR=Lf*)odYt3ePMxyPz?0&Fq~yFiY{3rmIX3-`M{k`(?zb z$$4nUWj705lq(q3R5^jVSbT6M9Vnp$=ym1uD!9mDoaS62f6WYoa76TvT^)fj(>!u? zD~2ff=g9`k9X~;+%vYVfb0f@%j1*`H5*#ps66(dbg9w572P`) z^^!1^UtQo!XgC{lwIn+`-LL-@RL5hNcKo(MUm}-4I;B@?v)CY|5!)uMT S1;YR`~KYT!}We&*Y&nAE5x2R=pzfB zS?R8D*#D)8^PZ2ylYVPo@OaS)CHas& ncAR#y@SEIBgunt| zXy$!d_q3pYlLO)w=mIWZrC afFdMk^v%VjDZ54LD)3g~ zZu~wh7~5)Q@WVNmX1^H6tZhj|(&;ua9DK(j;bs`<8?n@0prEkEBu1T+nLnNt8%&xC z*${NNswuX4RH~Ub68dY$7CD`?ObTa~s%lmY*n;NK5Qz-ee;|UTu^Bh|jHNe6v~-9_ zOL8>E!V%~4Tc_U4s?;&WD>R+c9W!zopuxcjEdo0<(T-+(5aNV=neE% 3^WitM=;)&v;4|82SfA7-!gplESpymV7=zEl`FoWa^kxGHSYfyLS`}M;GV{> zUvvshDWS~5s1v4jUvbi-_EJWbXzz5e+E=f=67eDT-P%hO5+F;c`V~hWp`4 mgO?lpVk$tOM<`9~JmfUx<(w3iwkw29K)$B(u z5Is^*AqZE%u(9Eq^HAWm1&2CPNDP0EQ``c=kqLI#l#R-a+Zfr)U~CpMW%=r{;rg+O z2B0?;_)9q|gW%cO*+rW{8p;r)s8Vb4A>_hAMa@+{I0%F9cO23P&>=vPd}c3E`xB^> zg!8SkT#QAOKurubDk8hz%&_JL8RxZdiP91C=k54wVJDgZj(?{5ufzfzf-YHE>7_mO z1^a_;>P>zkpi-SWQR-Ga!~3%&GGrDvY6>Pt_6kGv>hi+)%}rZl+`^myQHW#byzZyA z+E@V_psAAE-1F<0viCA<8!dGr_Xa5iSYYtM`tIC!?%vls1tU^s#D>zyh@NO@I@S^; zB>t@?7oayU3m}Vl_Nlf$Chc&*;B7=3#O%f&sXG#e^m&4YX)e_{vr|$VQv>6ebw1Cr ztvlNOrl@IWfEJJBfHMK8uN*W~KlX{DJOjkolls~bY2jETAMj3s5YJ+~%}JEmpZA?> zM2(iribfQ?-mM#q@(>`WDBHhVivknQL!V_Byk~`LdQH&Q+$9K}a}fbJ-bgz7_=NWp z{G8=~a-W0E*R=9DtI{cWO0&(s0BT;1=Pt%enp6a7IX|>5nQ;d#`w%DoU1ebS9sSAq zo=yWORB`yb9*RH$1le1z8#)GriNFPb33mI2g{;(>5%RC^l+up>sp;9jS8=46X#16d zy$fNYYi$p~Vw-Q`%F-g|r!?43N9P?l85BCM|BK6xCpo$Q$u%F`K0+S7eC4~$AyTo{ zX{qHZ5DDQ5iB4_l$xx~WMqw&JNHlsu(Gdrb*y;VT`|5mIrJM|oU?!eD^g;ad0RtBq z=4JQ*S>?{FG7Id9O!S)PO|>k&)VRP7wY?lIyEF-_^wfuR0r`B9P_G=J0#h;p$BY0o z6aOLY*5=Z|nNQ&?(+gd;>ffj)hvl6i)`B{+oE&3e>>lFHks?X?$o(ojmyPn8N=j&; z9SJ3rN53mGkbIU;?y1-xaoB#c(R;_0TEo@aSR`DesBZgh)s0C3yRxP;`j=YAD-ez?!vS>W zBy4KS^l-Fhk_2lunfe2He%p$a0RYai61M5FZ9Meo0GB_wB(eSQs2~93(f^w^tUlt? z#uo*vj~Y}OQ&uTt=qf;8;ClP;dIghNS-8QgK7ZU|um_{!A$z#<%BvYhC?Ys8l!1!f zwK jS2TG^QeUmj&d!_#)h)KY$DQx~4sWo7o3eQrRt4HrsJWR`IS( z@fDxFk(Mr$C?Md0Ee<{u_)W-Y0t!KSg0Ja2hHOs6Ax1>eOz~8}m+cy|=Jz}o|&5qpM zz3H`@7|0lo_a|8IArFD~t6YXAT3=C^jRIjt^xZl#$xmUG6$u~Pf3exU*<(a@x<77W zfl*ac4#blr(1>m@0T-!WJ(4N>2p%@ascHtIY1OeL1f$8jySF^;&`tE617dog$W7GW zIn!BBG6=%j=NO%ik2*{d- )d(r}!94@2C;W0|1_ZG=E zptpMjb@9yrNAkn)%M!>{M|*F*LmXJY2nsX}@WDu1l#zr~XLNlcVK%mXQR1||)Osy;xpg&Q8TMpK%34k3R-ALs> kC~9lv zjtbVaSzoJ095{PNljJD`F77`$+FYrNh7@i;F@b(AFxysYIj%w6I9>`9N!D>>$8PNN zNmkuys4T}9W4z0(djcv<#XrhsS_F!Yhbc__{L4sVt8NIJmL^^z)a$7UDQu>IAb%S; zlOpmRh~Q`)R{x{4%GSJl@zUD0*3{K`)~n5FbL(~JweVe{zGC<(d>c5!msZ^NzDCD# zfL_MWH69+m#H<7^MS<(SJ$x)VePo`-yzOc=G{w53tSuuyy3wzGJ_wKP*~d9!L{S$2 z;)v=IkB6(4@RyxpgQ+LG{3~n{q2Q+evQJM8PwYSAYeN%g$(X-fY<_YDmd_y2JS6vG zVL0j-V?jnX9%_k)fz3FkM0&HdgI!X#=U$=$y$367bbhdIQi|qVr}=X_KaLOw1Ap+E zcwtlRS%4D(Ws5M!4hFn=loV9}4ZAFM%iN_y>hp~dUx+Su4xC*gIiu1Jb)(IIu;eWk z$L-CNGq)6yA~F!C#4G5ik*@vYe+@&gNY}`Df#bwpc=hkiQmV7*N6wvy%vqVqtE3G% zfB;8X0H@_2B1bZHgR;hUf==R6j~xj;K0v2WkR?it;lGaD!TtqTUf6%~$Ya~zaO%W` zPpL|0<@o8KbYiF0-v@sWx3!kpm{i!Ew>NeliQ~Se^JhFC_0KM&00aJ!4jjCE{Z@L( zV7f=EJwcd)x4#V;O$tzyQyxncvRe}Qm+zJoHRHQv8p)xK)|a(xVPu0$o3&tCBx%VJ zB)weJyPfeZAYGZ`{zT_CJ-szR15j055n1jd`zxBTt@Xn$?sZ@ra*Kkm?~3ncNxMGq z`%1!Y%>YflY3b+7X=}lkzk42ZuXrhn6&XeXvvJR=Uur`mAHb1V=sSI1&Q#9?q$5l6 zFXsb68h1=OTjA&U8GLU3Ek6idfiww6Ot}23_t@Nz!~(P90b` C@rPHof{&R6(DpC!SC14>}Nyr zx;q9;5~)MBw%^&W1NBG_vNtxy=CZYqZ4w{DJ>OkR8xPRwQ^Jp7rLL`QD}<>?$S)?) zGQ3n)H5j<`C3=P~oV?y|XaA4& nn9v-mc_E1j#kBaI=-DGN}M|@ zmlyyPui>)Bqw8zlnQHTA`x1o;l6eQ5M?W)|fuzWkWVU{<2 q79*>d)&D2=&%TsAHRp9&c#_U)sr2Q9 zlfVHGfw%53t|B|!e47t)`o|gLW5X{>#`sybv^tumL3nfbdR84UwAKHi&3GKI3kaPr zC`D&4_@#p#V62#^J}?m*GIFcQ@*y9#Aw11DE7fy9(;GFzbh@B{PQ>Cp-OsH+v0Q}H z9f*bB@I2zCRzc?E5sFCM_vuxk*lV18LVDz6J(zg9X*>M{>w`g$^<|S{JmMURR-4^l zFVIjX)QkH~za)s|z9?>Tgw!UmQ>&A1Q*WWMJMQnB2AQtL)5=br*9l^YcuIqL9uDQs z{8fGb6adsOKp 0W+5)l#Y3jzL1{G} $*p?MFOY4F)iGS>jg} zTyjQ-hb~)p36LC6u|K&4)vpD0o}P=|2jfJ8BxluOV>#+g7LA)R@U~q|p=r)!3T_`+ z0lB$~8VAKVhrD5MM1@Cx&lJU#(LBm~-`9Q>M>h|AbWwDg1*wwlB!{pH8uneI5otpG zC3cQ
$S!@E%N)qv#L{}!xg-XZ4b@ilaV;#B%@eZo zHoN0>?&OXS)fqOs^Aa>QDgp<~Lx?NVSVl|R))_EFMD`Y6eD`8O9=P5`fd68zBSEh= zbQ|h+T(h!}&rBz?lew2qIJk${=Uf#oJ)f-`sYB1W?Sng-TEqZ#6aKUT=cG|9+;N1Q zd-RYmoZ5mdcimr|KNt$6dPB@SnR6qjuADoeEuUUUjgXx`*O_jE$tiiNot=)wHzP0R zfQ4VW$o<&fiT$HesRz4Cy0N$h(I_Fm2@su6!vQK63Y+P^+X|vd)ua+uiSNX7FG|&* zjw4YV$Fo%AH&F3|LG1gu#1RaVE>XH`z29euiRIE?LZ6^PJ4)s_AHaYzlr7p&Gf@z& z)h3zKx4IAxn*G(8aN$4K%s!-kAM~n7WkmNc_6;1)8F{^354<*2!fWWK`@5s)bK@)h z^&hp9Ks*F4-UZIDuH74xQ*V`+v2o~SiTRM5-iub5TbqmO^*%Rd+^dypY$m6-twxpV zFD@ef;KXr;SR0@@nLU1%El Ni6npADOl}+vlxvE$r?Bz>6#$0g6UT=O z87nQUG9xE<`wmQxl@Ee1)gSdhzfOze$`bz+JRRu-j#!8Qr%wedpfQEPeRBUPYC3*z zH0@sseS%j2f=1JA`snMS*Cf3jaApbudI_TE9Fek&%yl{tZ}|o+*U^g*)ega;Xj#jz z&YG%bAePV?t1w5nX)0?5mEbXBn (9Q7p;5cTb*GGnpN#6jNKCH+l4n;D@MlThef) z$D0@k@|9fUli#Od4PbV=q#C*ZGRq=BA~Ru&e0TJuD_&N}0Dj}x! z#o%u_-+aPYr{=Wj28Wm~ztxpT%iJ4Y{;|;8V97D2 FVS zfJZwfU6ZhoQ#`A0Y6%QsxOYwM_R6qykshHGzj2N72&+Im--9bil*PQ UuH$2$i|oVpuW@ zk#$y)hs{B+VX;&;*xD(HK-@!)u3>|W0pbbLCm8o3r?m5sm)H_VzCGxuQFUIt=LZHk zXYt+5`}M$+S4y@%m}V>-sH<2Uwxsla7|&veg=P !V$eySxbd^Ba `E%p$5114z}-{eE}8jI&DZHVLFxfwXkx(_jxYyZU2Q7e zSH3mvxLras5<&Ogma?blpjTLDplY44LVABhUehdA2w3(s_al?5dvI{i{5R{TRs|1^ zDgBS$;8UDQsF6)9&}2KuPi|5Mo6N4a*H5k9-%sVXp}eIFx2M1src5>BX5}4 9Dv*`onPuI0N zQ2@I{)Yo-0UJvfL`a!roM40N^@}_>C%-=L|xHK@PMdoD)wlSslCl5PXQN#X|y96Gp zlED=PFn7U_E8vzv;?Kl%AfY0u6cDz&*knXggVH&(?qwVzg6@C ^-@j+3X`GsJQI*Oy zMNw| XFWT?2X@gjvN}Kzg=c^cQ1E-?my_sNL=a=)E@E3wm^g0UA4?Ux}amQaF zdV0EB)*85KjHhLMO4^~c&NAf~?8H?urntaF4)_dcy%3LMog^7-N1u8jYxR-#MlcCA z=6_Gw_63Nb98Vj&{g(H7fMKAr`!ovFWPmQu?f BhScIg$B4I?A zRtFxITrUs~1`cZf?0b>^IsHSFkj3FS{;Y>Z{RF>rBoI2orim{6|7s% =%tAA`%=LRJ$t(lg4?7Jj?9*jig^yS&O;$ZtuAlWfkt zXlT>he^ktS4}R#e*k zABe> ;1rT)8t{2eqXR`^BMxfCC4TW_(eZdy9rg~zq$k|!qE zY*8Go (K?c}7NM}J&S&~2{eT88F%GgI?)!E8@yUW@KuEVQv(v4yTltCzeFy^1 z$=6!f5*c1#`&jWEF&zRn@cQpM%Z 4rg&;UkkM=1ZXZobn5rlsl*m@lk z+Xn?h|H;J(eF@tL6~vH`iGXVrwSycYv`$XL&s5V0_Y~e;pu*GLDg%LN%E+0g=%=AP z3I9~=%F67V#uADmk29L$&{8FFM5>3AN6R9e;H-LX%r`)TtqIZ${A>OX{5hop@LqG- zl0OyuHiXB^@tOF6+@xu1>J>nw|L*z+wK&qWNSi 6Q>PO2Uu||twMoG5NdoXw_Ez&&}C8%wDw0H4b(rKfPX-oqzn*vDZ zkM+(SqGe14iC=V3^oGGY1!#xYD7;XZQ_V4$#p)3S2r-vW3kpXS_j19zoOd<#Owx&s z5qRu4D$$j?DRaY1(Y 7yBw4JQR7k@K>0^KIqpZ-kc&w375nk2 zg7V9+8l^)?BZL-6v7 >vM4B<^wmgO@=DJa`4fDwj?w%B=Js{)_XC+<0tj!H`wLe@4ExfB8*3*2B@<=_t3 z7E#b_-I-!iL^1qn+R~VOw=#mCF-Q2