From c017fac22966e73edf96c8f6afaa29f499d9717f Mon Sep 17 00:00:00 2001 From: Leonardo Uieda Date: Fri, 16 Nov 2018 17:51:54 -0800 Subject: [PATCH 01/18] Trying to setup sphinx-gallery --- .gitignore | 1 + doc/Makefile | 1 + doc/conf.py | 52 ++++++++++++++++++++++++++++++++++++++++++++ doc/index.rst | 2 +- examples/README.txt | 4 ++++ examples/coast.png | Bin 0 -> 96411 bytes examples/coast.py | 13 +++++++++++ pygmt/__init__.py | 2 +- pygmt/figure.py | 4 ++++ 9 files changed, 77 insertions(+), 2 deletions(-) create mode 100644 examples/README.txt create mode 100644 examples/coast.png create mode 100644 examples/coast.py diff --git a/.gitignore b/.gitignore index 2ed01fd4098..0c4771da997 100644 --- a/.gitignore +++ b/.gitignore @@ -10,6 +10,7 @@ dist/ .cache doc/_build doc/modules +doc/gallery doc/api/gmt*.rst doc/api/generated .ipynb_checkpoints diff --git a/doc/Makefile b/doc/Makefile index dbbfd4fa302..0625119aab5 100644 --- a/doc/Makefile +++ b/doc/Makefile @@ -26,6 +26,7 @@ clean: rm -rf $(BUILDDIR)/linkcheck rm -rf modules rm -rf api/generated + rm -rf gallery rm -rf .ipynb_checkpoints rm -rf tutorials/first-steps-* diff --git a/doc/conf.py b/doc/conf.py index fe6a36c0f0d..de2e5afbb3a 100644 --- a/doc/conf.py +++ b/doc/conf.py @@ -1,8 +1,14 @@ # -*- coding: utf-8 -*- import sys import os +import glob +import shutil import datetime import sphinx_rtd_theme +import sphinx_gallery +from sphinx_gallery.scrapers import figure_rst +from sphinx_gallery.sorting import FileNameSortKey +import pygmt from pygmt import __version__, __commit__ @@ -18,6 +24,7 @@ "numpydoc", "nbsphinx", "pygmt.sphinxext.gmtplot", + 'sphinx_gallery.gen_gallery', ] nbsphinx_allow_errors = True @@ -35,6 +42,48 @@ "xarray": ("http://xarray.pydata.org/en/stable/", None), } + +class PyGMTScraper(): + + def __init__(self): + self.seen = set() + + def __call__(self, block, block_vars, gallery_conf): + image_names = list() + image_path_iterator = block_vars['image_path_iterator'] + for fig_name in pygmt._figures: + if fig_name not in self.seen: + self.seen |= set(fig_name) + fname = image_path_iterator.next() + gmt._figures[fig_name].savefig(fname, transparent=True) + image_names.append(fname) + with open("/home/leo/src/pygmt/meh.txt", "w") as f: + f.write('\n') + f.write(str(image_names)) + f.write('\n') + return figure_rst(image_names, gallery_conf['src_dir']) + + +sphinx_gallery_conf = { + # path to your examples scripts + 'examples_dirs': ['../examples'], + # path where to save gallery generated examples + 'gallery_dirs': ['gallery'], + 'filename_pattern': r'\.py', + # Remove the "Download all examples" button from the top level gallery + 'download_all_examples': False, + # Sort gallery example by file name instead of number of lines (default) + 'within_subsection_order': FileNameSortKey, + # directory where function granular galleries are stored + 'backreferences_dir': 'api/generated/backreferences', + # Modules for which function level galleries are created. In + # this case sphinx_gallery and numpy in a tuple of strings. + 'doc_module': 'gmt', + # Insert links to documentation of objects in the examples + 'reference_url': {'pygmt': None}, + 'image_scrapers': (PyGMTScraper(),), +} + # Sphinx project configuration templates_path = ["_templates"] exclude_patterns = ["_build", "**.ipynb_checkpoints"] @@ -101,6 +150,9 @@ # Custom variables to enable "Improve this page"" and "Download notebook" # links "doc_path": "doc", + 'galleries': sphinx_gallery_conf['gallery_dirs'], + 'gallery_dir': dict(zip(sphinx_gallery_conf['gallery_dirs'], + sphinx_gallery_conf['examples_dirs'])), "github_repo": "GenericMappingTools/pygmt", "github_version": "master", } diff --git a/doc/index.rst b/doc/index.rst index 1e90bdf824a..3944cefda0c 100644 --- a/doc/index.rst +++ b/doc/index.rst @@ -42,7 +42,7 @@ :caption: Getting Started install.rst - tutorials/first-steps.ipynb + gallery/index.rst .. toctree:: :maxdepth: 2 diff --git a/examples/README.txt b/examples/README.txt new file mode 100644 index 00000000000..0c8b9ee8dc5 --- /dev/null +++ b/examples/README.txt @@ -0,0 +1,4 @@ +.. _gallery: + +Gallery +======= diff --git a/examples/coast.png b/examples/coast.png new file mode 100644 index 0000000000000000000000000000000000000000..01c187feb0c82b46b776631910ce39ea11238872 GIT binary patch literal 96411 zcmX_I1z1#F*Bue0kw$6hM!I{D?rtgR?i4BM?k)wSL%O6vx<@q~emHt3wk)cxF{{B7GsaKHK1Q7(0VV^Iq_@p6^k%>!u7e#vh84mHk z&lkijwiB6qb0duL9px1PLHfe15mkf1hUrYHt{%rd7G(Khx$WFZ?o~;?cV&MBMiLnZyqNy^G8@$3?Av ztVFH)gNfP)rM2AHwZ{fGw!NJY1C;ug+cU^_JWoAG$tuPrs(@bWD<}$8g(2&&Fqfq| zUVUn^vs#pGJ}?iInx`tv(B|64WUU*NuZS_hG}H-dg@+{29q z5w`ZvZ-9AO@&X1Lk&8>3h4RHW#Aco)n)bhvfZMe9K?Wet_wpfv#xWL?T4;@EwEC?o`}>=k!s;oG zyo+MsBB{L&Ldo9QN^hP0{ftz;#=M${AX%c+sM^0vY@>szQ{Kz}_R10-Bq;<*AVDU0 z``^+ia=tsK4+Tdxy(;*!9%Z|SYq!LqyDHGXyO#5=jKFQ9`!@`UW>a-S(De}+m9uk| zv%tx{w_78kFqgI}WSmi~FR}3X)wI9OOezR;E*&1(ay$`%DN8nCk{wnB#V}!#&bI$##DYqBG#TuQyqW(#^v*=UlMH(KR*wWn;O6srI)q>cu z8YCp!4qj&S3m5G+J^u2*yR#NGLP{qUYtr?zp~NCT`^?vqL5_rpslmaF^wji18*L}! z!ybn!mcP4dy-WRIgv1RSH=aCO`N1&cOF5*a1PMj#o^kjVY;3B^SXXXL+?1GOUNbW- zF>s3fRYHx^=C@<)Z%>?%xx<-5zQ|h{;oTk}-)7(v(X+DC_H9(gbZuN)V+X6_=6;6v zuq=P__R?@)e6gN{^06ql z3-KoM_L|ZA;bvuba?nD=bfH}e?~&;iVG%Dqu_FDB(@o(q-&Q%Fjsa?K4UQ19&1l{| zBZ8plhxMaevB;FKdz2iDYXUhJh@}HM=9+ikZo5^$WC`~eqyP4$y$o3b6j)igIi<#= zJ(*lS8}8s7YTm>W>7D=DHS~J`cj5)$AfPo@*=~G8Cem7*`FH+kFij>yKYj1D^56ktF2 z$I@hR7c<9w`4(O{g2;ukiCb^q+w{kEYSm=lT&=X!d;>5y>y)b3QS`#tI4o9+8>H?t zO2)INSU?yG9c6LdUNB+d^Db7|1O@5h@2lbBEWHsHUr*j%d%3SY!ZUdi%jIRBE84|e zG^Bjwy9-1J9|U8rC+~UJ4BWTZbO~ji5*XQqi!A8JLbV;29%O%6Zto6b0Wcy^vAa1L zi`91BRn&Y{cdGb^)5}sgsqgwQHnI%e$NkQhR1k}~ykcDo(M(&6(91w>&+h;Lc?o9O=(i-l>MAd` zUK8k)$%KV|#pY?0IoD{W;Ai8%ZCB#yC(QFTGqcdsF=upkI^$#hVC;pz3fZ#D#Lr0W z6SlH_G?6BU%~;}fwBQnKI!fRYM1J2gCS6f=*WEtJK^dvjc&b!!w)*4u{N?=zq?UA1 zQ|Fdbd;l%dsrV@a0)G;>66*ygCu$4~4r%Mv{lfqLw456b!I7gYK1&__E&$tt%GyxU zny8+Xj$)Lp;5rx_?6jrHhX#iR1~ZU7x>HgzA5IWMagz6+vfp|IMMYr%3r{Y9iek= zX{r9w@P+kTB7N-PhAJH`4WycFG z?YcG{b#5arJPkJCtoJ>im(Ky3hwV?AwPJjiBPjtviR3h3k z553(Kz4bTnGbp0hx`wP}oMnDZL8oS$nrXRw*#!@`WaGfzxrOQ%CC>d0;Dk^m8T9kc zYeU(A_CXx&Ol?t&MT}_uZMH?I%firT4kv)@kF|v+Gh#4{pAS<0DCtEtomM#}0|wa5 z%%Fjku_?*{E;g?^WVd!?ge+pGq}gxG5*s%qWePiSVyeQlbh>k+T|2oE41R0r>R)?2 zoj%#`*S>Plj#K`7;&Coo?QyMjfqYmZN{@6;ihGr_(hgFoV87(cV9Finq}vgjZZ+tq z+4kebmdUrblo)t3>cZ!>Roi?K8lLcqy2QS(1^>_*k}#$&*N&|g>&qwAXTNm?o}l}h zhuBc_(jo&k`6(N8kZ0wKHHO)P#tvBu@at!`L-oyj zkYmkW(lr_-+Yf5~B@b0_R)k~G{)A=J7diQ!7ccAAyBT$a7Mx4r`zREq zUufes#nY_KJ8DTi0!i_++>uFFQPY3+K?o!j3<9HsP~_cx=zcsj}*al|PSSX0TZOe5q`M37oS68({vG)G>762z<5UyRs$5*8Mm6~&0gTc0FjGI?Bh zqCgU3GXf0H8XIdJPLHkWDtXHvfA(&`!Tz4pL|(pA#`rt&j>Bie!inE*_MX)MaoSle z6n1=X(kv+mLZWXEO_gR%pG=c#pKvc$A_bkW73q{cF1m{mgNJ!Ou8 ziHn7n2LOTK>V|4v=kJlrIk^(|pJDvNA%#-Q3y?ojgYLISbB$eE?AJCuFiRhbZM0RE zW~5hMw-volfCo^VzNmHY{;e*3qX22Xki)LI#X!q=pK;G2s_ciocx~RU`<_A`xKo(B z@bWia>o*T3KO@HJVLzyTYWj+l4ml=IZ5{AV9T=pna%Kl?WL{vKvgEhG9!{s5Pe}^&~Y~Xlf;P zflF4WTE15-4|Qp*Hg6!kbVGv>HObqUbUH9M%&E*4*L#lH>VJdd4#JpdcTP z?Nn<%HMDa(6!fdX;rEzV^tvi#kz8dz%GKwA^jA}Aud3v|VlUYaadFtvLcpqUb#uD58y>Q;EV{&mrdS_=KHL|%r-;zNgu^3+; zGa3Mp=2SWfE#Dl}Tnt#mazi230JuFk7*b{qF1;A_=y-jVJ-LhOfp{=a9PLl8w=_SJBqYAXFL z8XN60IIa;fHQ38aqf;4qLHFaH5~pRP^@cnJK+?4dbCf-AR|udB(ex8&2NPC%Yaa_P z{#-`qf3*N+QENGW_Wjfi`QWeDR`UAH<-IJJd`ovjD)4d@th~Q}2+4zD)aB#BGn{`{ z0fB0b9}jre%XH5%$l3oQbM^j$LxJJt4|(??t!%b#>bJb4-Z&_~(^_x6PI>U3NJUlZ zm4YL(h9IMd*gD>BYU3F9qF&sP+pEtcW%ofGJ>zqLb9YgA+n#UgIk}lRfUr?MzpERmmg?$ z&81`G(OQ`uwl?w_M5Ofs<%!4}3{)QTv>(Y9BpL$+CP3LiUD;_bhuZs;X@3`7XWj8 zEMB6OPrgk@q`2@3V2mw0fXQ1nS zv-gSWFs$z^6hD#P2B+xmpka`vqOZ6rRt)a}V4%e`-j=)?b}EJSw(c>~)|($rPpf)d zIev|whFd{M~iLf915jEJQV0oLz45c{RNhHHUD~Ac}dE+5C-L(zW%LB|;?~VO}upxNJ&g zFl*N;=e**$-Rd#zH;Tgr(37*js{d-5-0nIW4Qq>uXnD1TSH%d&?pE!Ru zc=qtX_+$|#c<4i`6VY2&naSK4D)0NzRZ(lP(D{Kic&^?ZW_%n^I2IkFQ1v@HwC1K@ z>K9@E#QWJ}527P)G@o(bSu9I{jm=q1+5ft{i38LRwlaE#(h}O#sOA2Dk#a<-Ba|O) zX*8P*q?Iv^jCn`REcMV8yFY{iDULYi%lQ73q9GWxm1Nnyrfe;?sG%wX!y$_=DkUgj zHaG4eHVQPXNt_H1AS-H@!!b%x3H=Mfg;a&Bp9NreZ8pi$=P{J&H&tK-{IQF0!#9Gi zzHwkWbm0V$hIm_jU*r^B!y-g*D|w4%JQEZN)Dxo{v&kWP;?=HZ^iLI6+sUlM7CP^@ zd`_aH(P+gWc^C9E?97nClVZZ@+l>Igr)+8}Nfj{whQ^V4+_^ld!Y9yXU;pU9_RmWl zfdg&Acb%oBH#3N)jgvjPOLT#= zyaGU)uK*rrXt}iFL&lwhEXl5E>amK%A42yyvNeU zJH{$nCQ2e5NG!K~=qCGBuq!%XB5-%Ihp0CEw5;-==D%NLrX^Ep!Jw;o*A^&Ne6L#% zA4LgP@<#JKs$0D7vO~ffIX|%2r+FC{D$(<}a@r8C-+sOBU@?K3UU^*a_5d4=4NY*A z0$O7rT8PdJcABr30$rd#UWC&{Ki%6=k%0Y;_8c-=@U|C~gOLXE)i2Q&w0~Vghk!^t zje}h}q!*%Q^pzRjQudqLzj; z7MhZ&X#=xMUx;6bHsMiw7LsA|&4k{~(NXKk5Dy?b10dw4+%40aH#91j@EztA1gKxs zdqFrF9wbl8ay`}WZUdXLC++RKpX{+$vU8gIX{zV~@HT(bIy(;o1%2vhse8~*ztE#g zps_HM=ir`+LA%Xnx1{crcrr=V*S8NRsQ?JSDk8j%_Xyh;+y2a~r%u@4!>hzeOhXjT zWbMwbfU<8r+*$OvGU(H{N?Saf@jeLQG90D2zNiwR<2KiiQI22mVc8SnBEE|n<3A5n z_yu9y=o-E?=K9cflmj`Xg_y3}=MK_)xrzm}*l~GNN88E|0b)^-R^(ZsUw$ZBb&mcd zXl*wJw&Wd85o74ms<79#==HZanM8d*RJ5JUD55&tHX9n-7@5B1p%lbI^u>dgbs>eg>!0u^m? zvBK0Y{0W7gp8jgVg$N3gF>XIsvc#xbB(8x>kp>qWXw46~vpm?0*(oWv-J7*PCzjk>H`uEp`2?u( zv@&{H>F=Vd-A|`i&fcdkuoosA634`P;aUE%n;SM}7L*Nrm#R!SWydZ+#8jYWYO+{8 zl-Bzc;B}RyX7H*m)tPs!c~yqGt9Dgkg$-A7J`WG>nIMTP3EpJH-+y>>^O}-THazli z>8YocE%H^OUC&S#f^aX;z7PvK^F={9l?Ai_O&v{}6Q5)rc6B2_GPhHaWZ^2|@JW%l zJ*6@G5Qh}fpJ9j87*8Lll3Z|GCyq%0>l4f)KZ}G+$9*SD8r=7q1c5DhtjfmJ{q%a^ zN-mwBAC2Xxz;e6utDGERYO5_nK!BSI0!}|AU3kI1pHnpHxTtGtMfk z|29g`&2caFX+vPC{#19dm)oXVf2^%9)V`B7vJRgWHzMraYE5+s4~vuUSxmAgQ~R>g zwO?%bXNDf+Vxfp248HzFsDMC<24hyTzn_GD>qS($Ycie71(8uu1fb%R!O&2Kr^#{+ z1*j;Rej?sZPGot1n;_q*oyvjj3&;fdl#$II59yh@?ou~F`Re|PPvMN0fXJ{`!;?)t z40d>P?VdkUvIQ(qp_|po@8AF}Gh;YQZDVFLMmD5L*F~#M$S7AAgV97h9 zMn=_pIHmchuJjSEyn$z0DAGAq1Ti&^YntPXv#;X7a~#7h{u7e?(ex!Kh!ei^-~KER z)~m~U51p_Am#KP+rAhKzxzTBnA)A}_iigG*w16rf@_BTVlL2luY{AFwx&X*xRGwr1 z7fdLLt9>O3Wpi4qt@X*+oR!C8R1l})-Sd1J)=+Hfl0WF0Xz5kj!*BUq0Tper)Uh!} zmKj)(IkZ`FZU7voq>;%`9bdUw1B$A){c~KX$~q3zd$Iy}O8n0BSl|ABTM+_k5W_~w z!FbG8sbrYoWzP~`Bus6l$~On}>gX3S1t6H!3OZVS+C@&bP;7b)&8y?qdscxJ`-dYB zFX@bxtjvA-d7}GUvByN4r*Nv7!$iuiMt1g@B~9~IPwy``&4Z)54VZNM8!E(MNy^La zYmgNBsROUL)p&NurGYev#S>@qiwWl!VG$W*`ocmDcQKg}6r$Ua@5De7BFOeE2hrf0 zG|Q_)QRD>FZdn}B$%knt>VlPZ4yfdq{^teIn%)GYAq2Aq$-bT@L>O($o$Uid_%>_` z?nGS-j$~eW=PC=EoC;!`+9Y2a>wzp`d42GulHz*n^~pqp5k+q<=3$oy6TywnqVu?I zj>3dTN=iwIMO8PWFz+sID`r_j|EsnA-1fKiHWKTG2=tuxrcE~I+=<^zdV&ike&3w# zhsArOw9_CzPArBXF*f!cMzkiNg}_G5je0F$Gg9P6m3cIDLT*WegS+z^4sH&^M>|Tk$^3USX}=<<>$sCZ zR8jdNkUr6dJpka~mu{BXq;5vSV`pN^?O!5q|2z$IJ&mT^+DM%)Hsdp={!_1v3t!GB zg-d!={pp+wrfMOj-j9qy@|PGfT}saKcG{>o>hSNr(*Zhc{Ieq6%QuAU`__^ULYJvW z&0=7u04%jFMz<>mtsu>9RFxsXvZSZ4UEQ3nMYErxa1M69v>sMH;JovqWkny5WAtYH% zeq`f!U*1_-ZMD(XT28CzM@ezaUB}_It}_TOQ}o};oV=%XNZiFs%^fTg6UV@Xjebua z;PAt*%9~o~f0MuhL4vQBRuyckbsPHemB}V!hTgq{R9_6dt9qO%+lSEaF#`R+R&+(x z1?cE_-o)Z$SU6XSt4AJX@%js2h_jOY^AMXs5_^NoT>y%KtM$i~1p`F)6Q7jGyhO1; zL&c^&uyS-3msNt%u;Fzu>2ph9@sUTlLPO(ApZ90O;K`?6rfD;G>;s@r*K|pnzsG)x zj#c`>TMw}k&@$GanJJ1T4gJqf0*dbL94{CDTvN^UTxZ=il{j1w_8?7YHbsZMJ}E;P zIir(PB7t*F^>2Y1hvD6^+bjas_HP`u@638MnO@I~3)yth8tfThFOrdI!&hUf4bMuc z%@Wh`DHQ*8z}nQnf2Fmj7Snd`{Pt+Bv{M_eyCH#3bR<6bNT6FS!vhf_D5daQRknH) zkq@Oj^mwn7#tYn>h>`$#EcK~T6Z%KODWpN@jZ%7D%~XkPL1^YHT{+)tCsHFosq7_y zR3*ejGw6R}gS_V+MkF`rDlfj5RN1N%#Uq|1h#vplGD%pPA9&i5lL4a+a`IBeh}W09 z`zg;Dk;6jas#0CY24-F z^}he-Nzm)1I_(KVEL0?2?B3P?H?rghGx}0;hpY*JDT;71=0>Y*woh-86I&ju7aVqW zW;rG_%_(yL3UjpJCFSK9NY`R(k1gYaLxab#y2&N3PkVA!3W%0avcr~(xOqI(Yg-rO zbask~LQzS-q!vca7e9+$#G;9|Ak%W_R>j^1$R?Kluh+0a#;(%Ww2kn=k{_4y5xcki z18v(NjG{3+Dgd3n8S!gDM~0oj-HwFXe#(-1-unPrk1ux;oXw%*>` zG8GuHD20ZOdefn0gq99oH}HD8+D8t{V2v6_`SXXoBVr51$-*Ad++yu`T-1$m%4|!g zp-&Q&;p(DfHgQU5rp%uZ6x3M}qRaFnaN)XDF{`relEe6uzjFu~i`itxh)o!bQzWoP zZ&8N?#<0$Bd|`4)W?2J0j|J;_EU2pB<8|z_goTo485>fjTVL%{FB2?Kix8Jl)&-*+ zp2m2-XDXNL5fI9xS9+pn(8u}|1PC7#L+)SYUs18+8kx1Q;5aGU_x9m!PuY_+@NI!d zaOfqAD8|Zz(RKb*g;9_ci{}?E(HB>Q+4zxLf7dPt@~E|@csIBA!_a8X^aKw0h2 zhN0QD6u445lpk8J+u^?HFhviW{_TjnUng7o(O-#T{O;{x3rpF%^?Z$qUK}y1WrGKy ze!0&zbec`;&3MyQ3^2B6p%<p!uFotBu8u=)aZAW)A2Z8Xuwrobwn_FZlq zj?pHzT8nWs=XOCGi`;Y6Rh|i$=3v={sa+=7=x@*H`RW;XkYGh^ZE*AmU(xt|b)Xj{ zLbPOlmk{7ej`G)5x_uGlmdX6ywPC>NI1B9#(64~X5a`T+tBbw6fHY!!I1h&&z#o4a zq_-|Tq%fSJ^v1tZ94y^OEmnnHrsQbdwai_FeMqY{RCjf6a$tTV>IyhEYe=fcK`+Cj zRSop#wm)P#N?MCMnXf`ao|rufWK80C`C!|XH-r<}PwB0ec5xv`V#6Rfdl+0oH=8T&cNvv9!@R_UYcN`}@<)iHg7%{S2^7n>83)_BPCC4O$~ z3rcd5_&WS7d=c_)BO1~BXkiJ&l<@rv=p*Q&7Sx*TKmP8#^(%b%!sxqOyL=!bcm;S255aQ5!Pk)W zZ?l8cdxDCcNN;NKq{;BUhDI7yXi>#ivQuiZN3CQ3 z)lrVF^4@l40LpQO$AgN^iNU7R#MkDT+2*DSHv?CJ&}DG-@#Q@*6-h9l1Sn2#_BbDg zdzuSX2j^sENQ_h`IDNIknUinv0t_jKeC`y#W8Xa3p3ntYajco}O`_^yfA<4?xn$4# zvpfuu#C2pOV$x*kGec~XdgUcO4zqV}c3ItL!kV*v69Ik>4|bT*k-d|4xO6q9D=--a z4B0T)l@sKfWL`JoaX(u*f*zeR})!R}QdRd_s9U%_%14s$?YRaB>Ml(9_UbW1l-dphv>( z{}(ScxVOI=Ooc8VBfG{R>~ApJ z!XjtDQ)@6*-)|lwabl?gY!5B`%Ym`uIoWZdZg$Wo3X8N_cEReXl!f{sn<+VDKgdW{ zK(eoFzPlwT{CK_A{20uwn(v$o$gg}g4vbsIcF?mT6pv02a~9oPx%Cey2>NJ)Ami>N zkD#x^Li_izA|^isb_>##C4xl)u7N@X;#4AB&=y*@e;hS|B!d`qp%h;`}Yi z$2#%I4ny7AT>ZPnGd^d1%wFwitfA$@m!$ie%PGYzbKpnxG|_t7e4el!Pd-Y+058M4 zxeo)$xq{w6&>T+2NGvXir0y90;xd&>*ktwQf#SBV#b1|zcZZWybZ``DZfR-s_o3cB zcOHHsTIuh_d1y9Xs3u)JHM;y>c6rGmeS~prXuj7jwWakfwrrLRLJq&-etu#KK7u0> z!obms#^7O*;Mlkqv(HD>%+p0Rkv2MktNpZ7;lE3)5$yl5N4~PQ9T=o?p~czPtLVsl zTLz4M-27hk;Xs-o#?THS7!YXSS$+H2=?D&P`lyN$hdn#i1bc-=)aUwc`Cth);M*Op z>1_yw5L0_UO26@Fq-@9T9WfhHGfq}nfN$CEf8xKBhM=|qH<{@eX^)vUwEgKDeT9I& zr0Y)08tGkWy@jSDIo*`jkEGJd*BJ;HShN?mVm3>i$KJ+2Dbwp6&Wb+}G<&7&kchD4 zWO?P3EKA5LT!=n~XS)aL1D$Vy>k2vSuU1Ovu#v%{Uc5W=u!g`Ai@$o-jRKP*s79;b zie8{XRnJg$S6AY>`u}mB4UQ**?cmqhAzb`&WCs4sf< zZW(?qRdttAQvp~vGX`-D+Sfo6r|(1ogEn7SL}|t-RkvwYa&7qnTMpMd8bhTc8K{_k zrhDw-sgb)N(01-f{A9^QQ+k0pQwZb8uVi2}$S2SE-rX9u&I44Ik98Qg?!Mr^jHIen)8c!)swLWbc`pyL?-Gs`hS)Y=GiB|2CO*yIZV z0G>Cl*w1*YztkuB=79f7lx!TF>>alVxS1KawkDO^(EoN2SOKzV;9W{>?v<6RmKw7P zxn`9bAy)=Kipzfm%gEZ?YI@q}S+Pf)=%_2hm~)Tz&vjtuu3HLaa|W~1ZF9W1dyUr; z4r>_gozLqRci0m^wY>nJb_x`+7Zd*^4atV%FRuWD0WTO}WodqQ5MB|}^U=8R)Ihrg zsdm*rjp~}=H4dKP&tu=2T{`1*V7utXz|pJ|YcNX@zC(svol@}s9BX<4*Me^#tHYm& zI<>K2Ftz^n>n_XE-I)N^caoflo;%>NBJqH5jrGcS&3QYy$atyzc^^|vbui?{`2!?Y znw>Q;aQ@;42hl$Un_4^n+?S+t(=jyfjO!|LkWNJW2!bWX0B|JgeaL!$)m1cJ>$O;{ z)+)VLO^}F+9DQ^I{WZ`zya)&=I!iRiUa*_?DoUNgrdE%+blPUm`%#jE zdqoJUww7%1L-jlO@e-A`(LgQnhHd8ZPfU5G<*U2*BZna(*P(`&fLp2brT}FnU4*<{W3CM?Y$pic zrx=Jc!8eu*4JxGdf$69~aOmDa zJHUs*y?5rl73%;7wA@{zOXgzQye=-B2TDjaT0qy~E7RKSB-dy>| zM&PUk8>;}1k~1$|%R2{X09Fi)GVP+EBh4&Ys+tpMb{f(IK?U4 zW_;m(beC!@+1<{7?E?zgS9$#UP9`W0evf4);}TswW=%6;PG=Z3Pd zWoPLNlvW4%4jNNeMm;0VPUD+Ux!!5Fs~0l_p6v@e7j0n76~h-zAQBK=v8ugI+a#gSkm1nUMPmbNC0}E@FK}c zJfoJf%uJmcbHvWA0Ziy`e?--flY(hRsqrf`*8c^d1|$HHk?;(c(!KN)W4%byG!?>W zv&bWI{r)bT0}&|d-3#m&L_CLVA|mrosm6Y$p0Jd>1q`gL4sjedn7(WhXiEm6y!Nz3 zr+;G_qDF7DNKp7Tqu|Z!{u1+YVMM91Gizs3rjrg`HMPj9hABy+rWI=Y=zt5f@ibLA z)ChUIJVm^ZJ@pWlaCIHut)KPt(-=dy#!Pk@9I;K);ptLCZ2+p~~M&ALnvtz*Eo2>5SJCHFi8ABKa6XFdy{#j{Oq z{Sp~+eSi5Ulz8KB2F;Kvbq$S5K6d{)CPrC?IU-gq&+X-*-z!d#8>A8mHXLiA*`BvK zbK5b!+e$J0v%Cnxk7Y2N-B%o)SgFi~vYCzR8U;HZF?xO8U~D-WY!#@nya_ogYo(cD z3@tbY1_t;g|1y{-pcyJ~Dfhbvk^@<-=roRVqySIW>^IuUypGItm14m7F=h`AEDe-U z$_^9raQDJm2Q&r1My(~a2eGXq9pTL1)Pw|JQcSCk4(68VDG*Y+*`=a?mz{-?JmVqZ z2@@OdBvnIe`pDFd6B~$#-Rdl3Q1cpE0XchhN^Hp=m=6{#kWr(HStBAhqS5V~E-lVp z%R4M!7K%iPF~5CtrPE|tikpNK>+5Js$Wgfm_$cl4pJc!S&G&2LJrTBlI_pyM;xr6$ zAHRFBxofqcq zm;P2EW|L$Y-(m7c97{2^#J?V}_hlF}sd!g#X`QpN|uL_DqB$^;#@ zTKA1hITn)ah5`9{UUW-BO3P+y%Ip5dcmhzb@mfrE!rUI78gPDzJO>bLDFUy~gaEIq z2L9H;-yW+fO?X&&auAM+*~t@y8X>XqGm>_ z%lE9fO^QUOqdh6#Abk46FSjG+#B)s%simvVFM$^i2LxVB7f^v$zy74oxJfta`-fVv z32x8H)HJk^2sPZJZn0AV zjx*^pFdCDV#b~u)n`p?J(SWcU{&==fkNv^Zl3Q+kTmJ4F?z z&7eIoT9?%8Zs$5(N7T}qN3rCpQCgK!T+ss;AkW7Q@_aP#l{-o>NipgovHoC^7t;pe z5H7!`NSmPAL}ND66mrmgh*Cd`C6LH_BX|h-Qqj=}O4RCoDj z*egE{oyu1Pgvmdaf&5jxj#!3~E$QML*!42fvwdiA(N>c&xRiMv2B&4%{;5iUKsAv3 zwGw&|9u~gQ_zrb)_MI5J=!tV~$K`?RNDlP1KmD79-94A{OF-bT8OdORy%a*6_X~`O zj(1Vdjq7SSav*eQRKWvW0iw%+y9D9#=7~1YKd_E8ZO9Cb_n2Qy;Z^j068BEeo)VVY zy!N+bqaU4ZF7{Hw>wH&8*lCweMTbiJuHt;vO3+4ur?tptp5lgf1+$uU`0wa`a>*{x z;hThKp!Q99Q1On$W;DQv7djMIN3JljJ@R&Yxi-J101%5GTrEZf2~K8n+;X}ef0mI6 zUun8cpx3fY9HJ*N=~ecH2C`v@`y4oZhiu$MYtf?ry@ljg%F59cmZ~~_8(bA8)2CAc zFE=dwXsPjIa0su$KG;MV81ciESxccH`r=o2lB)f^5?z@I8LXZwi}7w@78X#K2Z zxFGB|rvJ1)j#w0Zf^$O+7+CGNTl!8$0g(>y{bskTkuIk*uZIrw7ycaNbGjY@B=5+B ze?06n!&($QVno~9n%Y{FM}`#z|6q?P22dqPsr9+|>2MXaSe9&e%YP?40FKXl*+QNB z!RcQUlY?)F`!x`dWq7@Q$nPSgDSNLJ67c;=*k)+!zFKT=<-D%0$K?K4vo$imZMi$-@wl|K z?|B=tu=gY{H52F9l3ho!NZevzI-4b|N)GrPPU-XC!EX$<4IX;}P$s_(p8w=g9+~66yVe|XhZvDe9k6VDD>jTjB+5}9S{eNepcofA+F~7!{ zdz~NfeQ5zm1q3<89YrTOzthMW3e{BZH9x1#(G6d?f@||9Yn1x!jPDeTNAB1v^nFU0 zZp&@(TZC9ukpnH_t>L_RhpZFZW=Y|C`qES9G=!+r6AT|==`IZxv;1{@Y{j4YF%3Xy z)5;;3tk2lSw0FE8bw7onn}_0m$;Sby^1*tYW0r2otA0|IE-4_8)Ap3)uE8{}#m2j0 ztCfJ~6mSae;|4@ehk>c-QOJVqRqrtwFHK-)mWxVaj z#clF&q1Rdak3#Fz?{~&Q+3{}bFjbNh$e?|6_AYB_YVAw}b^K(R9B{biA7&RS|IrW< z7V5;%(OUjU{)!&nKY<0+JC|JWZr&W?Oj`yR(cSOA05+jwTZ#q*17BWCO*AgyH1ytg zXx|*^tUV)#aXy|7RNJN_h*EXM_`sc;9v7-f&x%{*1i6NId1VT28 z!27y`sGBYxC@VHRK`5YO$l<8I)pxB99~cl3hf z3N@}@Joh_kbc;HMjV7Wn&kj2u0L_- zp6bQ?S{PDfPb{y0CF_1*+|k+@Ts8GYCmgDaGGwVwkm_6u#rzrPqf8I$iS4%4dlsjUHC*|9FjwE2VFa!Ra-JkJ6S6|EUcdfTW~DO7 z(dV=OK+C4K6S|hgz<^00*O~pYkm@th;C|Rbtm{0a+t(tiC@?-Bj8*i$_cI|=!LLrw z59LxuGM)hL+-BRU7XwqNgzQMj;fubU>Yl*C{GSKKVckg{WU7v~#{V|%=o{DyP;;5x zT)XX^vn$+yI{lPd_+nSMYmPHMQL*^qXK_a((#oC6pZENJfM{QV>-aV51I21?_vg+l zQU_{YQAz5N#W;+@Z@-G^>fhJfjntXliB*eoX`zltD%8;TCTK)cY$0Ui` z>Y+xStsa-fF5JfpB0t!??GME>(Ln(Tfn6sK%puvfGBr?;`wToYm6Lwbn5Mpw5%~PA zXY99ixH29s4c||H4SH$5Gq|h4I$VeGDo1_C*bl0_{c{1d!z!DLZ=jwkbA!HxlRM)A zHWUl`--&#c`+s5zCTJNftFcy-<@cMc8gkt8Y#Yeggi&GP^$W<&s!y{bjdsS5<=y*R zVD7azM@eje-wkzU$P((4r?I&j^zZYq$Lqn9BjB$F8X${iNk}59^9}53Dp0$XK|EA0 zvIFyaOA91>YbkZ7fKNc-Jnyqz2vCoP{#$SdnCE;VBEw4rpRAOw+!aDZgo$6@MXJ-{?ip~vO=%r3D(7?gOqHvLZ^e9$sX1rU)^>s%{Y z)Z3>2N7P$JRn>j(--niNkWOg<>F#c%6p&CrLRthQrAxY{yGy#eL%O@AyWzjM{XW0P zfiGkX&)Ivgn)901{A`3lS988ZdL%gXKwm=2u(W9PAiaET(iZ1zGR&Q5!DEEiE^R2@ej*A$Q!cXmWi|uX|6N63E2C zLBX&<+1?@HY_f4jIcIF_uKhCD1>2724&!!?Sxe&;(;Nve>%whgk?fv{sUInq6`vvp zuU40~R8%}-l*OwS6~C*2*=dXoI6Yr-r-NR`f2L-D3UIwD%}<}>$9vtpIGvT9y$N>5 zkjy|GGB;@#ebT+Y9#V%OUGUd;UeIla`%KG_ee>Spm7Rd z6rREXVHfD?N+eu_^*atW#``!>j|crIP*19+rgrQ)Ikm=MI@DntMu`g?KxW$M^JT(h zc?$AMp5?y0%$lR}WS4O|-ARlI!u|s-ooN%ydudgJBfYTr$uy$6>AMFSOxMceyP1#2do!_dM@N;EaQCG#rnDIl0&gi z_9|R+6_e!3{C(J3eulfcAt-J^B1)@&QbCmQ9f96jG1W?2XQ9>BRV1cVu)pMQ~tr zp)Y$DkZ`=fF@jrRJP`X;$!L^VSE`f5sRt&T`GXMi$w=RcxEx!?k0|^mwy!=f2@He8 zK%JB3S*x{rU8R2+5FeC4^JJrV9I8?TaRr#1I|3C0jfohCW{zPqy>D1H9dkUC2=OGV?}o~S}1;8d2A zlk<_|Wa4@65?_gi7O9{v*JKnU4KvLbru^-&HwEAg3`C_(E@!txt;m10wXO38dRJc? zpFP38LZdWOHBV1>er&fatfmT(ARg^5Je8H3-kLv9lj70EdLUPmMIc0tI<`l^?8-6c zl!?f%mb@jWu*1Pp>K?d1yT~kn|`_>)qYQF;Mxep^IubXSEhVSs!d$5o7lmCWe7kx;6@=7{HuW zDl|w}H2;=P{)Ad;*;x3ejR-`f`hOYgpW~lI1OyT6?!-JcB36$b)kU|N?>p;xYgv-y z%l54ZhqO=_ItwgcN$DKkBClHytt4gJ9Ns73h;&OJl``OT`7{j6kkEs4<>OirDfLQ! z6lGUXA`>gLSq3KG=C3Zr*QJ4~G%<@3c%8-ogfc_)`hjv2lcG9EGi4g~n(MZCt|UF7 zwz1{6hL3g28|_T%^1_uBUM>d$RwM7Tu1zbwerTs0bn!MyEl;(y?W6C)pK`k%GIvkoIGdx!1h5tW zx(Ft)Vi7H_Ta#oyY;gQsN=V9kIlIZwJ}ZQ7WNXkHH%Ao5RD9RJ{J7rQjm7WhvTS@K z8gx7uN1_6DnqT`E_8t(C{(l!=>3d5fu&-{PQCNw^hQJa`DK!v?M}_iJqDFyBK=or2 zTr(Ai;ooEy65ZNs%+bv=b|Rq%=cSZBbkTSL8`RHg15&MSBuRm#uysZD8nmv;k_NTY zgueGnoL3KTd!x8@I;)S|oyXoQvNLjsEVn1}!cRqzN?H4Ja?wtS`h0PQK}PY={(;fsbUnC1KLw}%5%`S?t0m96 z1b(FGVO%Zp+BK!uz6?GHouCjc$A3dsT(-m}iU6EVgP7h$ps(+aY>8Z&t*eyQ8@?T! z=jovd3*hkjuPrF+hjVbA0zU$0r5^%^fcCrgzblx7ZN{LB1K-W+P4wxv&P_w{Sv0)d zdaQNJOG!i|`00@4A`}LWnZNYr=Tk+Urf9oZ5xX}*`3U4J8!{x-Sn|Izmvv5@tWEzc zs(yKENA1fFus+~yND?yo==20K<$nwaONv{Fef0j0+(;JCL%3ZoL4x|2TZAT!oQNhj zNAP>y9C>qF=S_v0-F7E6OJS%dRlpa8;_M57#NQgS-x2D-eQfn8n1Zn=duE8e6-!Z| zY2hGmo|;dLZP=%-9>dxTGm(KM5l}kr1!iJU7sP3saO8O{wdg8^q^b2>Oww$jl)1hn zjg7=1Cp%Le!1sT%Tw{tbYPR zn^6qCh3zJZx(0_IhhYqEohJBc*9!eyTya{}Xi=PFEHr6rDwp zb)U!NS12OHAbDYTC0b?I$K5tfQ>O=2l((UwXnmY z#MxAhesa!Xak!gsEWc$^b5*55`NHc%O&bi1vcUgS-E13U&Cxe;y#w|JAcI~u8)KS~ zY$S0PTOP2uJ(!)S!UoDo1(n&S8GfKGb@Fo}S{KYVy#SXfS-NED8%AqrI$amKZpR}0`i+nTa ztkFhYd0M~rgG`BLV}MYy`_OK;U`#K${Ypr4^}s+hDY?@b`KjsnQULTmy*KF4W!w(J zb4^CefO^eniQtwjAjOz5{!u87WsYi(q>dsr3 z(~RO5>|>Z;k9n{ZR9d#dqaeE*VySYlBqiG4ejT-*skOy?)2(5PuZvMFpiy`O7&SZ& z7PW^ia6I4X5G{mzY~O#hiAwvP#)hX;tL)Axt<%ST6P7fLpbo!f#?DCk&5dB@9aaf_ zqljWCag77B^QCHc#HD;df#y^Oz1p>O%JRsZ?JP9)ch3ES)-}QJX_)XY zBV(|PAdiUnUys2iO0>*haU500e`H3TQSpuJ1Yurfk7Eb_;{esGJs$@|*jdUYi4(CC zUHPiw8ky8aHK+=bZ;1&MiHMvw>?zS^YCF(ZShq&LXnqdqu+C$Djo zTYFC(?=|51kLR`N83T}1h%6^NR653cu9gJ0l`)fSOR|0j9fiLkr>hn&gZnbK3#-urnu)O)?42OO}l>j zqugpFkw0xefhz~-twZ|p5!^^{Nl6Mzo8$=yb-AA$sr*yA!rpf32B!o?5L(V=sdrEI zVy<=5Fa5dCFXMt|`;yS^0sbc<)YXsBl4+W5aS{f)iRpUj>U~C%@h=jldvY*_FRO_~ z{ZZ=)&9=~$W$=`HT86C>r+{Jf_v(0RjUAl|s*MxRlOSj^20GaLipt@SlpjrjWgMsl z>YO??Rzq^n7oDLD+B_-y@O__l70IXtxT)|xnc(;|1cF+r_q!+*x8QDk6;0t~E{Slx zTq=Fc`rlCaBBW1rd{IuajG+9q_n4TsYCDIPM!w8*(%ix`qb$)_O%jFOOozE9taWvE zRn+_hNGGPX)Jm|u8^>$^|FJv`2ESC43Y3jL3wdgpwlm%M! zGh1j$SWB{MA`tJIB}#Y?3g$6E2cEuuZ9QNUGNRVw8bEnM(@t*i75vMOK>N*WOu+~4 z()j}dF>Hji#Aksk21^qmjJ;Ol>oFLwqAyKPDU(;gtH|6asPFPQ{XeQqG{4|}!LAE& zgpI(&EU1C!>M#ev(l0^BC0%#qR7wJ@ppV-Ogx=6k;3$@2fpHWq4cO7tzClMPjb zZKyurat86y{aY8R?LH&=q^AIk4Z1IMF~c1G1r(^C=sGLb2K{{xGeeej%a$W@-&Dw1 z686MMHfM#m<3?{=0tmr*;8SPw+e8A19>lvTSVW_(GpGu3=F)cf??%Ds!w)Z5qI-|U zd)3~b4m{JQfII}SY}{JTKApR$iNitUlNwaqXRrmORW-+E5x)B>iZDkkcQ?J$a`#bL zgHh2R&MT!bws-SDKP+gWF>^@TQ366tg6$ga8V*vds7$Qtg(~b{U4X3rECAE?d*8p zQU*3M*e&EuXJmfjNferOa*npI#F9;&<;eaxCDQMWmjSH+mwe05P2Dv+woEam){1h5 zw?&hEms}o;INCoL5Bm)xRZEvZ+wr8b>mO<^-5lW6)2?>yx&d4je;pe|g>sq4UH<9p z{rvq72d_MWb0zX6OGACy1;vv(!}kD9u$i@k2}dw&&Y-S-&i1vB)G z{wR5@MlCpSCo=#e1N8Oppck21kkwYt5Ug5tbWs1yLt-0k>!W%%UQABoYuUl5Vum~_+Hf4<7!(rfvB=2MoyS^lwW!8NI`GKPs%cH>|uM{eA z(fwZ4kdgaC$I8c%p(vGe;~&GNTzY&BP}joEe{K~s~?{2V6|3sq9H zt7ZQI);Y|DmlG0q+~=taOIsj&PQ7(;TW5%zGR4AFRti56zmD*DXyIyUdAV^3!%6%i zTE+ILR$1>A=pbu%&J_4rod0*RhJ>otgDJExApAF?2Bgo4M~{8_)0&l$6CV5 zS6+Y?m{>)!WZ?Bz6feL#DS{&vzSwU4z}Ii<2ATanAGz6v@amIRld3#oIqnPoX2!Vh{Xmam(bamd5dF+Lb=^f!}x zi0?~%7$Ck+2|-NA^b4?<=&$q)kA4wlIofaTD@_flIH0Y;szDCl1E^w>pya46 z$B&;Cp7AE)QP6T~SZ#SaO7q`|Hcr|J;<1 zoG0*8s&3=_a&bzXO~T*KlDeL5PJ)G&?pN$18TX=F1+`^=4@?g zq3>?Z?&14I_l+~!%OTM!Rjzy*H7;z84OMgwTgZR3Np&15Dk}ZEx#{5~UMlNGK=W#F zxBd>Keblfk-^n&#-x`RR`5}fl;m!)Kh+oc4MV@8J7fM4DR}>P5&A%UDrRu0CbJyzE=Js^jrUm+X*;j0f4PMNya4WFXK zC?=0tT+cQokkzWn_>nN-jLYHsD5#Ip7=_EqzZxHo0ZvUbwt?Qmn|a-Sv$s>V-p{+{ zKYCd<Zl_s~qDWT( z{Rq$9{r!gz$unbPW2YNY%Fo9Q^mCp0u>3Iibcp3rH_3e+=)k8nFW#)&Nb6}R-smfn zB=~d(X#~_27jXL_|F)q2GdAUJ^0&4TRAa&;?4v~yMqtq#jIM0-y%Paw0POq9PeXek z9R_)9Gv=BXaBbw|hGyz%y!+j}4k)llc%6&ZAsdl*IR=V{TChW%0k8bBNXVlvE-Ex+ zIs>)PKVrq9ytVjVsA+W#@LTlVGkCUO$Ao|#vzHqLI#qezRAH2P@Cv##o`^KalTDn; z%vt^dWBaq=6;fQeS1ec`g7ZFX?`JCe$|B}IyJ#-_WSIM z?<#G*Re4wMFD5&S8=1h;>*ajDGDc9>z?>Qdr%re~BNlek82$M=V>k;=uuZ$ABAj7l zVeinPX}>}^A*s>n9yBHO>mxq4ESp@6So*|CqDJ(A&7HD@jtf}}oxAf1+xqMgn(ai& z!d6kk(Fpv!ML^`aZP%#BMc?Chj10e$r_E;c+otG*NQvLz$pls3ZE7H995GwD?)qaZu9Bu^#Xfqs7_6 zGGF=gtR(yqc+;rAluE|nhNX1!PRivHgI3Qs{#T${AWS&bvrd67mfe3o*_N)L zA)sP1PU|Se@lBO@#+alrktGTXvbQzb5Z+sqk_y$Y;<4eL@ zJZln*y)I#!706&Gl+80RrdElLWTEDa)=%LQ86k%{nbCKvUP@?X3ylc&um8T8M=?)5;k$y&6m^IqYLuM`I6rtPYU(D@;A@yAT(K*Z0v z)|!>*Ll(8*yXhgdgBid(0y+K+dW$$YIcc5&C=CGDZLN+h?F$nQ%T!`(pgm>W_bN!o zf_Y`mWMxD0u@tzDn6r+7A$v+PpdC0Z^qkE7-PON=G6HufNkq*x+T(jNN8)8arXvsq z908rt7YCrSN0=FJOEE_0LAv|asV_UteFY~$fC$9DcB_Z5^GMxCwp z=7@{4r(6fJK8C@Q&3+tNKCTHa1Y!x^BFrJBQs{H-L92Bf+O7wD`VH^-B?O>2Ij{!- z-&G6n+Mm|&*MW%x+)w}pLaQPM5t^sHPY{AuyNE7c76ihkOadEK0M1g*f4;w#hyqM46Z;*5&l>_yW;0&8|d?lVarCq4@SxIvM(i{_hy>9O$HW45 zSItmR=4tTFN?M>{xt-+G*+5X&F3XF5%pyT{2gaDShDs43*kQuf4CrsN5IC#K0D4$iV^Sq@*Tve^P^28PH1N7eN%@^&*cAb zf+aEF8D(ajlnHGfg*MJB95n$T@2~K&~B-rCC^v~vx-`M zi=1=e>efHmDr{N)%2Jcq8bh?XEXD*I?3xMoJ#j7fn?(ZyKg{dnZ{V8uD7|p!y6f! zniOCnW4<+T;Fi$zt-ib?>bu(m-+QWoyfFz35ExPH16MUj0kCxSuBtF-jtzvemJKpA>ixbxrH~aWX9;qI7m1>?0xqfse zf*toA!uK6o&8IQwt}8HP*R2R^WT+4fC{WrBC)k>zBNsaChl!jT0)~?xs}%1EE~6k_AG~v*l7U_^{UAcwJ{a7n{$zpLxUV+lH%0 zVmfm5PLqvU-L1wT9|yq=)+upVb$#XMWff5T1L8lpYZRC!_NyEgi&(MY%0Tkm>t?uq zan66_hurcJ)od^_Y+%xy166D0)Nj5No?7hj04xVh11`VYsdBxu&U+;326#`0xq7bWH+q!+*4gm{ zM-lj@)#O59V|u_R2U6DBl5dw#H?s190ebjXnM$f$b;bK}pOT>f*NgA9dt%QBiA!Ls zl&99G+svSU5^%Uy!D{(BKHPNm`1S@veUnx>luR4!Du+KBL0KC3oGYYz8!c9KWR4`c z8h=5Y%=YH?i)C)ovBLBL_oYdCdm&u<}so8&gKmBwSqyKnJMSutKG+%EJ*S~v0a~Cf`<+;DX_t^A~ z8&2kBcL1#@=WVZ3)h_9uKb&2SHu|UQ20#K8@Xp?Kq~0ok2eo}Gq;Wa!FML5jdApSQ zlwW~9fy{jV34<4mFe4oYqq~`|9^3$*{>YP$BhrfjP#OBiH)m+bogQI$@iG?@PG}iTXiE{7Ld zuW^{+!`q=`5`Z9f3f?i`JaF%84+IOv=2NmjQvgH)_a{`p-Upa7o59bV@w5`H{{30* zPU$VR8G1J~=j9GEckuU;kjln?)eYU_-HXj5m+OvZb2j}Z;AA3OJTaotIt6bj2^HqI z0k@4cdPn+Lb|eJ81I~>)oDAzQ?1YmSQ2ZZdnpK{EIa>x0Cx8b7a3-68SaCga&Alk~ zUzX^hcYj8vOe*-~tp)bj&ZmUyRtWj;`pP89W?17(zBtl3TU?GA$3lRNd4nWJo zLT$B**1I=l<(-oOMe-?pu6YyL*qu%4&du0VLr||~4152_5b%8*K`j+5$k=+W@nTs(*Dc1mb((31h2yY+0s{f^ zXR?`hw}ADT76#K$>0k+b(xtK=Bo6~fy3=mAi>XMi`(Bk;6^|#gcS*a+}eG@^`HPa5Q2$&7*0VS&i>wDOh}{0G zonaY*xb08dq9HiigLyN>FnQN8Y_Li3v&jR{lNwE}*j`FVGT_APeH=Xdd@5CB21!dq z#QH30u6Tr&&c;WHz(WthWaIk$@g$%*iq|JtLYDNa z5eF}9vauv@cj&qVJ{uM^faRS+aL^+EMnu`;hcG1NQYuW|Vlv>!JxZWf{hP_^B`LEb zh1bM!+HY|Tgm0=QUpau<0ufzWrNPIcr)lIYP#9x7dFW%wk6%G^-D>H z>IJ7jA$%uBWxL6X3_;(n0VT`4GaS-IMB@Qqh{ZpxWG)305Qh3*SB*?6l2Hqqe&Z~NyYNAXWc zYg9BelGZ@w_4w%IG0Q?JLktN9HH}uZf04^TJq|g>DnCUxDPpqB&PvR-ifS?dBa)J@ zO65Y(Uoyx7kv(do5IUf|$$DcBSdU+PhJo}xCpRhDba{R3ssicp76H8JpcM1mleqDk zo;yI4TT6gdG>VRf@o#4rVpTkwQvA1YLMyE5uwxqxgylI6CPx6p_p(L$SEH+KC47ZX zojmO6pQ6CXm(6eMk5IolI7sBVZ^2aUd$zO7Rpr^x(q zG_tD(7w?2jBI~_yu0A7u@POf+wylquP#oLPr4-$ttLo<1Kvep;6~5@?xznHbW2Vr%kE!JPj6X$SBehUb0|DJ60Dv#cD>HHKAkr<@{esa zcGIZih4N=1FiaxN$!{Vo*;>0jf4-~8im6>sSUq&+;2u_dyw(o0C@3u0yE;>!yz^}n z$>`ncI5e45OT86Z{%jZBU3BbtvA2A0bg|hMR!D`ewFMC?XJJ$&JExzx2x~-OACHvY z(96B3oBSEU{#luHsm4_+zOPsAF{G__Y`5z)N$!3|B4;YK*WFv0 zVZ^9u{}Q}rZ$9pT&hwkkk383*bfg@;g7d@0EE(I8+MnLv=Mqz5&YO`?%SqIT>&Lf()d&kIqRGM7%T|IW z9~$c$cFBAh$6n}dSiL3uTX$+kh^KjPhv59w8#O}z((sjrjd%nP29y~OM(ENa+qjMm z;cXemcr=prE)1eQ~Z+9iJ&kjw#3kN)0$Q@S&m;L_wcBtWCB<3&vMm=?Vp^tvI z!IN+~kCm7G^2=J<^$JQ>7nHF)dFQ0*fCKM?ub| zMp*dhuctLX|7Zt?MxJ;MeewnGs+LO_(LsKG=}t)~!*)~uo|OEAwzcG@R3O`KyY=Z& zG_OW+@akRbueRddzo$dZd%~#Ie5yJFqz8^9O}hKD4-0?0Tdq?d8yuCFDufAhKXn={ z&+<%^!Z%nzw?+8D{1_Y@TxfQie~gg!c-*=>5}e{BotYIk=O>IO*HE{&_^fnDmR|CD zrQ=p#l|N{%_8uPN{r7>zid}T(-=ZDc?xHC{S!i32KWZPCefM0uFK(hw2G+O&!uWUf--)vd-u5peTE*D%YU{P3R$OX-_%@(6N1YIDP}jI09y8HSoVmfT_BnvDhyWIa zpSbC_Ob1kF#87l*CGDRT-_3EDA%_$ls4mByC}d&M;c2 zGb&r5r_Dg?iJ_Ac*IvS7=+7naxOGEUOq1LVIyHsf8|t8=E43V*>&Fp%YK;jV)tl`s z?A_MnK0IHpt#Vj@d-nH_h`^V+CShrQ2c>=)**t|LO50XkGoBSn??{{L@V?4|b-b~h zKc^|d@*2VS&NhDu3{R}@3#;1H7gZ&(Bq|1CN0eQ+>e#o7P^L?y)}1oc(GF);WFFI) zc_)&wdL%!&h6AU@y(6aE!4qGijGKG!4Jdw0A1s{@~YuwmLP_*86^9Fh-z$}MS3`_ zc(*_+u~aGU@1kBpfyd*VR+c$zFI=6<+X0??Rcf>uu%?9L%w=mm^l_>rT@uvnq*3ba zPVQMeF1ewZ56%%2AL8O}ytigu=L$3-lT6hvlnQDX0ph&ekPac zE?%PUUV?{+Nv@tMRX_Ffw4X>+<`h0^I6#mB?XwG`3*vvL2KLp7-|Ff>nWzY*u3VIg zGMjHCah^{NcsxlzO(#DRjhb|^Jv5AaWG?T`tc$q})qa9#wLA_fYwCv{H$j>nd-Qql z$lPz6pSD$~(de>PJ&ldWUM&P?ZBTt4P7!FdR%cFlQ;Lzx`Jsx*;>KjTO1y;g3*5*1 zfx383e$4iKo|C3&i2IDk2b0V0!#;x72__EcHs);+nNci>EH*#l!mMMllha_(DL^Z3V}NV(?| znowH3kxKU3rGt9tfo#}i!g)$9vOwLc)6w?HQ$9CQkgEW zpwVh)(i6AiMnlq9y8e~wN{B?CGJ8DzFFSmL=^b?t32Z?j{*qh>X5?n!yKmrh)@cTKIOqN9b1dBI0a&WVzXm|12E}o&r@m-;4>d zCPOK-N;yB1plIS{;-iydn}%=jblly@qS_o9ofu2BXrQh$-|dT*r|U(Qhjq)F!UPAs zzxnd~Md*(WnZ~nha*Pp~(r+)Pv~HV}s;1JYiRpO9Y*-AB;w;R3X83qWzvLMUCLq-_ zmqy>EnMW3}ovS3&79bPUhsoy=!j;O|PoBOKW5ItahkJ5u6#-9BJi;%t@oS8ablO%? z-{qg)5GtMXF!y^8DUHbWdbOn3ZQ6Wl#)tu>9)l%kr;%p-@C38k#%PnNVi>dFZxGo6 z`XD2+SmR`Y@8mI_97qUh@w}F-KW>nF8!12Zd>QA&i<{2~wHM7Z`@5noi!j?wGlBim z5`Vm`yaD&iB11T`=+ezsENL@v5h3TXJ_y_KKQ}p;E2URO3tmH8?S8^H!tUabNMRiDo|Q0su~eh%N`>~NJRFl1;?Pu{E0;9$OchDE9fqJ>&w%q?;V z)_@ZjsuRJB3AK8E3}5A*?IbRF#FRzYy83W(*-zQ7twF;bdOeS3^j*zR2%lDrf89)K z_yub+XfW)OupYEH8hX^N8O<_?2K;7~lw5s_MS36#!TI%L9Ns>Ul%!y@QnhiI?eXH# z8?y{2e}?R@4pHev^HdN!*K}Pf-}@eGCMxtzCwTap{_`6<^A1(kQM4@yU%KkB9a0Dc z-@cH@TlG2^U+7}L7a9D+xslEGUP8!qcq%6UyK%u1ACDCYG50hVtvTwGaXfv#!lZZZ z$lnqFrs1hI*R_1(*0x?p?&IX~BL`W#b)LDSOPB7ZBB{O=%T!|=E8zkO_uW@WWCTPl z6OD2>XsyVLQEt7Mwc3S5FMVCgQ$?ZOy&4f>X{9IYyIZP`&G%N`9jsydtVhwB|7@#E zO&q&&`A|iXdu!Jt?MK*nSeBaeL3#EsgE;dWF*p8Jo1vts*wuHHctpm5jVZF}5jK3$D?TtDdF94tHEt-8UmE3$x;!>!g&?h$=WeeHuseW!G+l|MJCC z(s-_N%k^4ttntH+v~a(XiYIB-DxGiRm-yWn3$O`?J*{n=>k~NNp8vL9x)HsEL1xrm zSg%cbQL8fg*{e_xDNeXIj@rFEdRb~!9I5^Ihw0^=^f0q!bj9i+Y6Jufl~5Y2 z*&|A-s#r{`V5w{72p5>S++e8f482_3z!r`4E9Iq|6Lh_n&1*fq!0Mo_*GG>|vYZ}7 zNfdVoS0`7i5IZAlx6P@kpXsSmw6-{;W;{qrM}7(ENCbXLUCpO^sqR-B#njy~B|Nra z`*zsXI{GHQ@@QxGoJn}#+JwFB|&EpQ|6}f3SOSzACT2KoqTLq9R8*&@=c~g)re5OeX^2eC5v4~ z!|Ntk!(md>DC*u%vEpr$=Q#liuTwcL6+UzNwQB8?*ilH~F?)1(KiD|_BM*W(55bIgp*M{#6Lcn@>Ac2zt5yEW@2LD!Ba`x4zc zHhzBj2p*)s4;-rRv@>jGx4;UPx3^@U5MtN!J9NqXP`(`lkDC!UQm#WPT(ty3ev?dCkKW zTjSAbd;6kxGvt1`*&_${di$;Y%0V_9uVB6hVSUW<3Ui_;N|OrVeSQLK=7#%I>ci-t z<*LQS#o5{S44tYn6MmVVa|f4Gi3?8m?LCb3v%)Wa>QW*oAMG$<}IU>5*kUrkEoi<%lV1W%RI zNv19gvm}*!)NdB$HLKq~h~eCi?vJme7b{JqHkk~Ix7(llb*fAWp+HtV@M zz18Zm^n0=W{_a|~BSP(Rnf$4u(bJ0k98K-*j*m1uZzG73vcha_tjK+@v&oyY5ifD}jFiuZ z2*^-J_pZL#f_fbxMghU_D^=r27^G0MOyjN$m3G@&siWVo>u!Mw$sA9{+Mr})gJF^N ztaN_BLbb~K1z(?&_7aQ_Y=nIK!?v>d79q9fjE;V}wHluJ6cOtePHGd*Z(|8#XP>_O zinh!6zymEug&LRnV>+E?7Q!b+SQ5*P=>;Q`^uuD*PQ9EtH!M1(V`aOcjn@^*q_|rz z9VUe}kTl1}<>GyAJ3M6HQ>hR(|B~roK ziN^0Ya~Dk)xC0f;>iS6TSV(OCQ6JbUN3Mrbt!Ug6FfAQbGUp_qWqckWJ1;t;hT5oz zMFxd=V0!t*&Dr+Z=3z5r;79Q3n<^d^i6R$`qc4}~h{W5W>T}4aWjZ20MKoke1oM!n zqY1Hb=@oM_>o+hzD8yP{dVj8Hqe5w_B61GYj#TXU)U1rsXvLAFZ7|RT8{f?+By&G= zUHo(UyS|0*ZKTAoDP(1&m2!=E(vQgacra%Fe%9T8W-kKdNlTBv??#^1W+j%?o$HjK zB8|nM@II)8>+fd-HU=$_ymGf8&#$Spcu7E{-#i-^HbAzaX(>`NbfK#_L1@qSww-v0 zMO^SqTqEbB#&@ZiixQtKwq8P0Ix_;5eaO4&pMLP@-e$xv-M*K-BW=NvScOzjV5>gu zv;B&#LQ?ZJ4ZUm#CE@H?(mH;+N5*F93*0T6K5-65_E^v6_c)c>TjA0E%&O;RkTDf* ziO6BH*3i(v&dv_I)=OpH5g}|_pV>Lc0)j>>%S9Cru!mBr^V;~F7_~4kuvnmDv%C+A zdZUUf6g~ZGxpj;^`h7Qoh{KLbV5G7OUN9Z8$d=!*&5m9q{^gnc%xs)s$R!^(s@veo zod+7B>#xl`R|FaFOFmmL5{_Ub*uh9pllsbM9=9nYzgxku6aXtMf;JR$!`LK2%7^eZ z-0v_S zf>=o(zBMLB-ZeTy67R&n{)zGf*tm5J0vf08_6of}PRTJ4pfjv_PAQZeaTvdur)AhY z5$n43c>b2X%Y{oQk-cgf%s4jv`J4T4Gjc406*tCj?8u=n*G{yl`9UvGt`)3!;(n^6Ux zbeQ)@&9m$Ju% zp0LzbJ29u*dN=*Pf91K|uk6iS9p?f%T(eeLKja#id5j!m=hQG1lrP zAMfeSo_#}fn)Bd8&E~*$90~D6Z~FDN`RsVf{_}8Os&T|mNgA|P^&CYzqsh1>#SMcO zeLJY{ci~Jq&LeOBPPaIp9=ppS*w^Q@+JLW_>k7s{T54kSc-%#p3R`wPd$=Oy7ou$< z7+JcNYneuThh>G&T8J9ixKls#a_%dO2`R}zvn1CqV_FR|^Euy)xVlNy5>luEPb4-o ze@<14Je`6$e^`iK2m^Xe%3z_t5@22sH&SEi5}@GtU2?5`Rs2!DLxd&{w;O8bzLvfG z^w}eN|0)I+3kq-i#5Poxo$SpEF1HEepU6B$D~jf8tU>BHU%>=z`!Zn8Cf?N4F`A>kp`e)U0Ei)R z)|VYZ>c=i+LJl4vBgo#GjFP?*-)v`CKDou3hV0z1e?~|RszeRlNcO)<<+tZ*8^FD& zKJoY=<{+<9mE=uEZ9L3U5;YVtK~kH3u4xF&Y*6*wlc7l6JEo|f)EV1K{2JFn(JfUZ1r9IR0Z|=*cZ@O=Tw8M?03DH{L z>9I>Sk<9P}#&!12T=!)nP<>kWIN3&jJ#bsq^58h8GmMNQUJ-X=Xzhv>(7^%bhfKrb z((LR>So?S{Q)9-l{7_-Uwg!|kmv^8041Y~1rRLL)gp`IKv4GN~a_d$6Lrg|=tqdK( zxYe;EYZHgS&-p^b8)6sP4yc!fGG|g7p-E&qfhOe>qxH;V-iYv{+ISO z@Ot^}0uFC^tYd21Ke(LjMA{1u&xhIdxw9Pb*3u0^!HVRoTY!?>ui~zotvQ-SRZkUa zL7BgQNLIaU!O9jP_Dka;mijYB(sg=>3r@5(=~eHpkjqrDWdHqak2Ynczv=3AHLeSf zOjS9BvBqwXa}K4P*Ijs*CRMO)hK23H5}z`a?NwfuMC{oL{hSlGx3jUBL6@=Qfkbr) zNZ1cc5=$iy{U9E7e&|Q5e#-XY1kFI?ydOr%sn>&_TaH}_Dy`X$`)8lZl);eN*rH8* z=MTw*pa>Mh)ES783;h> zofYUsU3wkOHO*k-ETUEAc_4-fnhMdoBZj7fFO`2^N)@k-g#GtA_HAkLbz`+6Ue+pP z5dX6U!Z$rp1=uwa4yfPIlQQFS={O-J^nbuqor5*QDWTzxJe!+$>)hR2Oe{hBh9+C4 zdi{sabw}%lC@~CU0v_L4f9kyY0;a#?f^ur_#n!UM!uEAS_vHZMDQ|qZ9}FwmxRR*^ zA)17V*a`6up09@ZiaVGLNcfTZVIe7=*oXSdqMDCj_4NZ)y6IIPGZ5e`nN(7oW^E(qq%gkB`b) zkUCaX3w2W`XoxemGy4W?+{NJV@R$^_cDSFoclytE1ggk^>5?m#J4$pT$5N(AQ!e_+X+Jjz;_F` z*y$m5x68z=mLerY8*lFWNG%cARmDzx@_iUBDO`s{l4HqHG=Jl6;IcZjE=^(KPrw+-J; zY#oiLlzk44JGzCL%eF0$6By8QWY{hc5+|w*&~%8pYmf}s>I%2bEIanlcMKm#euLQ9 zOuU5eV-~(ReU-}Z1@Wwu)LF>X%%JrZA)d{&=3(2^$4xO`uK6#r#0qOU*q3}`_x;7= zdfxGORvUqf!QIs6s~IHC?xn<%=BMkE23l)h!W$JV-vKk0HVy%G9HE-})!);)#|VK0 ztTDfNb2cJRQaz&8j<=>y?{NRdYJ~H9m~i1k`NX?8C&e&9wWm? z`gqJny$^>E(PE>YtSCOQXK6ex4|7+4bbY+P(b9K|;acm3H{)T$N>_CXCBEdt!jX!P z;!UjKQ4$MnblTBOHDgkXfqgIUg5g4kC+w$WL@S5~4U-NlTs`oEV}IMhICx1H3?7fT4-iuuR;l>$(I%Z>J zXo{1v=N!`ik#Ykc)P=@#Q{B#n(Hn)@Fhd)1R>5z!OFt}wGl_&)TIh%D;r{oVQJ|~w zK*w58T*Rty6RioDQ0`)>@?dCw=NvZlAp2QReMumo%HydU%=wqwji7?BfP9wgy?2cQ*YQ@dI@P<@fDP11LJPSHRhI}+MR?m$frrmP@1`mF0vV z)rZHQ?ZpBTt0lRu;3!w;KPq!@t(f_{F$zO}uKA&UL%)d($6;hRsjTX}cM%9-GpW@h2P+!;Qm~S9YSfe*84r z;=leMO;-UF<@F)Y2 z{=War&N#!kyYD{l^W1yxIp^M28ugm&so_~iEbCff$X-O?T?z8TuJ@t={mo7EJK;1_ zs}M+siVQyEOMc~C-%XvD;L}*(E>f*=+M?#a5ct4E8O%PyJ-*ZE{IMC)qQd&R;Y2vW z=?OZ>5RA-ByzcChL#4Echvp*hiGuG6y^#@P8C`d3yjoX4_SbF(Kp@h$(EIR*T*6#l zgI&K)m^45;&ar&z`GYnFvUtVjwY*dCwhw8n;7gU7VnnoIBs5pzg+Vd&UPy^TfCHzZf)6>m zqm$S8*`1Gx$J}o;v3OKq?v`lRZ;kEsjSXSoP$8hSGQ*BQ!F^3^Z9q&_a`%ObBi4np z=0f|3R#KIS@&Nv$lUMQ@g%!`XUOFw~SPLz)(Ru#xbPM>z{KSd6N%Gx+Hnf!|zxGiQ zR-0-lC#aMTKIdBKW+myCJ!D~b^N#$*AB7M-crS!dw>={Dp-2un<*sj`ywT1Y4KYQJ4uJT9&~gQm`e(1NXK3m3WI3JyY4W@T)7W=B+Q5JFkDo(XUF(Va6O7qBU1Cq->~a z+kV8<}*s`eT?ud{C;OIY(S+!wO1pQXY zQ(Lf~8rM+_=#1^KIRN$DncE{6unLzO zED{FD7+hBICCy(`9ggi8rZN@cv3#3q!>r0#yO}?aUGe^IHn*UH5d+%~Gm|-tOjx){d=alfN}@ari3U+n7>iIC{3HQLK|5%{NPfEBR*KY0SG@ zuHk($&I84;-$mBr%T3z{t*3VCKV>7USqz*T%54R&i?fSRE}t19#hF=sxakL|zP;sT zj-+7ixr-snpDk3S)^6@Lm63E7{kObbe$NZZddWzDg|n0x5>y~hre#-JRwhmp_DW%y z3bE5M&osW}k?v?ao>;7I`Jv4}W|BG1ODkd2f#w5bmq2aV8QQ-+B{^ zQv}^?^IaXc2-nizYqY&=YAT3huJN)@s<^Zxt;3-6Ihrqto>tdrt|Q8c5&k)1_ozX5 z5n<4{hib=PTM+2d#S+a^RU7$B^)V-}*Un$Dt?sJL_ZAlnv`Q>1KGcQ>vH^U(qU2$J z-l^SU;~9mA@F|L)r7Vi^=J(wS&?fs`f?~}6p|H=#^$mHCLl;vJH>GI1NeN~oXXv+t z%b0s!t9L}{fE=3iauFHbTpVgV`ULic+>4Wb)xn<%o=?yBue>|Hd{2O1;kzd}qn?$- zFo4TNMC+-n=Diiu7;wJL0~$xEpH4~kgf6$0iK=flVE~q#O7GF&HhwH1%LsWIYnLgJ zUCECEQ1l*N9*yZ=Jeq=2gb>M|^QLpV=0~ccJ1$s>- z-6ntZ@rPptICp;hR~8pVP1zy{%+Y66 z?j(fsU7Om8#4i`&h!XXbfN@3p9G4>o_HG;*+OLG|g%A`D*2KBfwo zF^6LT&ZNqz)vVga+oCW0CEb61ez6{~Sc~%YPl=x>B}!!AU4q?ATUPvl89irCa2^e$ zHaNAtm%C}}YJBSaMt+9t#plPw81+)`hTKCAU&N`r^YquS#afHJdGMEn78@xy;Jx!Z z+cs(Z_n6R z&v%p+Ig1_=IervnlY)l`5F<}f#f&SH%8lt7RYtwW;D3V&)$Zstcmw6@E7*9jcg9zq zIlPW$5)6*~vJJ1n=56phSrQkYI0Q%#;~CvqckW{wXLBWH6EdrBEA@%tvv;b&vnhTJ zu!U81KV10GPY1DCglyCM=8xx|49O`yej_%&_FQD&Za?5xh5Szu%}N23gK(k%G@m9l zMM|me90dfKJDZx`Ti^6MdknG!NBoR3AM3PV z-XOV{Q#k*c0y1P zSqM5H`oLXNtF#|lwod5dK`R@Npot05%Dma=IG|L{)9EAF%1M1=AG<@Q&X|Jtzi=vM z$Y=05ChP$3X0R$Pp2iy)-@1f^goz2=iA-BDyp-y4l5DpMLWC0L5~J|$c!EO+brmGR zf#vCvAv@gU%Vy;Hz?IHwr-OsvFd3(Gs&Kh~g^w-s2jA@P4i&qvAGc~=M?^toL3z1# z+JLOM>B?Q>NNyN3^frBN)4&A5cmF052ti86?99-Cpc2eS)=VbXmnYqwT zrJmdv5D?%}`6cv%bfeGqte-2_tZAoda=EDo?9)PNDJN}`Uh6iO$yL;o_@#Y92pY}a zU*R=Ro3q~dew8L`i!>$)IHDo=Nplj|8p2dh54Q{_!`6KjVZNWTQsr-+6`r-BoR+2I zo>l#9Wic4ioF2I+Cu1q5cXe%td$h%7T3&ukuD&x6>U)E}T3s@;6fG5DhavxFL&ghm*leN&V847*OfO;HKmK za38dEV<(D1vRrObo;W zxbSlKl=<4u)Q;xeI_@$@Tgpn~plHqrRn0&&wcyq;Zb}g|D`IO+b(4aNvxKs>fT&;` znU-7bXz&$F#_-)A=6%hW%Jz8{p(zE$q=yvJi zFl@g--XC85OC`~0;(9pH^PpC%@X-C~%=dX!jZb7yTxCg^^H%g0En8UDY8CMWKD(+^ z4X|uM<;HFA0Q4~`!nR%I@rNoP6j(E5KEz)~(3QN9eTl^i{p4`-hUm+uGT-NX%`o)&Gl zinyN7_ne1l8I@$ocBYT%ky^7Ks;dnbVG5FZqanJMwAP#F%jl~G(d}7Id6}KcD!`sF8)kr|@fS2a&_rSOB$a9^Bg|rD{r)p1BI~)a`urg3!h<>=G(@uC)GE}o& zm&(QRrrKk@R_3cN*9IKEthskI*jPSEu$Fl0!DFZUCyp_ zp?|vAa5foYhqbeT)gWw_C^emfvh6OB)^x9U{ruk;6+PGYE$7)^lr~C+mJe%%`z%{E zmdrz1px)C-<#t!O&3`){i}pEI*SuRF>!-P_@@LBX6L5DREth_`tQaI6f3T~v%W|C$ zLHz7MmNtFjNRkmQly8HL<6)FjqMfFEF^M~S`n8d?- zq&@4tnb*_j$+^ZYwe>Mn`RShCK;ux4Sh%B?+V_}G!A!{)hsxq_C@SK+kwU$n6{$Nd z=GRo^AWPJ3`wUeXGN2r)?iWt2{z$lm`v9}5P>yVrS;EHgeRo+^L%D$v*|3iK97;rj zSNHjlx22ul5GT32gKf6Od^!b!KoXLQOy~~B!4sUXO3&^TnIGt#Wuqh!Bhft#qR}C^XEA$qg5@K zN-Q}OzY>#^vjywbV5zdUl&eiN2ekH2e>l*jq$F9L{yI4s1$9?H z_T9F@;1I#m?t=oo`Ez#t@7km2_U~~kqMpq?SsZ*bu>DEakPi{#+wCed>a<|;(B#Js z&rolj7^wcQ^tDBT1f)&rA>#;lrj^w%W{!VLtzTex#$@<2^Se z6Ar4~EBGxQBYJfuE7?toI~ zzG9e)04Bm@F|ou2Bj5DL!+=N^Nl8?@G$|Z@RFU(pk_s zSvo98geVc@e|#i1((L(pdGrDMT@?bQHmr^v=&i{&v zB6ngbQgfHahLe>-IHY0tFiX77rs=%$?6|*A@$&R=veQFHR0({Jk?i$h`MuiCzl9gpJ{T!y^eDnCNiH=De;)^x&|1PmG{NKNSHy(^yYW?s( zl4{*uCrUl~*5G~>`pjK{`3C2Guh2XC5AQ#8gFQ1A5SQQLhKU$i8GlHI@=g#Ki`2TUe9fccpYxcIH%rmy_kru zB0ARdcHEiW^RC+g3d>a}nf?%+USMRi{PQR-A8I%Ab-s`oNn%nTVRnMZ>nZNJv za#da1t!pw`-c2`{48($vxz-RjYGVthM z{GS&fmQ~|T__dJy!If4KW*f>*#yclMeTpuk(&!;ApDaI#;i<;vKL!-=75&N@NjzN0{n`=5B|Xt9Nolg3`5v=409Np znMp3#Je{e5pF#=F2~a$0C4G(6a!QBY6tozO+lR}@eWulppGVZzWS+DA`$nP)@LjlY zXiVs7fzcUq575ulI8k3$=p0AP1wYpsDkT(D;e`!&LxFL!35smfmqz=1*8%MMr}t^D zH|pl%LcuZgi7f7cYi<%X6OIu(HRj>ExIzyzw8FLA$Z@ny3jHqD-2Qpu^0RsgHJL^Wxcpn?wf{>%#8xnPpPoUn-aTZ z_2_>Lrhg-xmor@)!Fv|TQ113K0(k{-ypR-UEV>K#zoSaGkQcCq>)DSpQ&GFzJi;otLy!SG7Ver*0^QWSXo&aT;(@o)t(5? zaN^GC1%)pfvMjY&N)IsN z#a_ctacY@ajrC^vvt>_{g5s4~|I?kO7 z?JMf)WL;e*BLkNxl=(8+FX*|s8;wV`tU~V7#R;C54E1<5oAc$Xe#+zduclN|gg-gE z+H*%5mM9_+Uu}!4hA;QjH=(A|j;rt}qo#k!n?=RHxF>8X@q7B0&8^6vWU(Zdqroq^ zi&5k%s~T_46c$tjTJdwlT*rFu4Zj+F7B*&zP5G9jVcxAUrmUxIvQSb2rCZZ-{Uv~z zO^4V?3=Rb1y8U`$X+t?p0D0%5(<1-5^beyu?x}iS#WA;Ya~>0IQI{MmlSf#d>oGo| z@w&pzz82HhzBzp07W~PkSMPFqu4W7WbwJyJ(?BO z-B4~pByio0yUCm5?z88J2kRZrWG$_#SysM_`wg2DU_}37$m^=Hc|DP*5`>44N;C?2 zzKyy~!tSwh>V39;_H0J{#=-KpYgw?(ryBddPM&lW6;X(3@q+DqT3^HZqUbZ2Odpu! zUs)zxwlg+nXs~;?bS$dI{vBh(+LvqHN>r{j=b!jS)+3%hWD4w1(>>VgTI@a9saTCO zfvDU`4bM@HyBo8O{mmghs1;<^!99nl(Q0-B@*bqej6OJDp`H4_RLOATG(uA=tAjZANw zQ~gycsr%wc8tf4)Ob$)U+5(FoAk;&(0RLs3`in*ktDfX^{qV>LEm1d#MeA4tTa-F~Os)~C<*b-g+h8G>vcUI>?66Md8<^x{_+4-PD(eROl?$dX zJo9`5|8joc>IYg{`L%Dm0o;O$uSlq#PWlTn%aSDxkbO$RyJayCVRqYzNu{g1c_y2* zYNWT7(-~ zI5u^$s0g@_s1*kGGz-Svad3U294%j4-WygLn;eNENyNL7+J4Asc)5h4w74;=S# zo_fAV)2@G#-i$5%blvD0xi1;TlDguxtO5l8qo$Ju>VxHY)Q_E8tS3HB&d$s6Q8yrY zem!TH*L7Q%$xY!Gs;V`#H)m0Hne4gu9c#S>1rhMD+_K|eFxdmr#v|5KQhqb^SE<27(h ziro36lxYRt27l{pRfIrY`Wbk%D{2mm-!o;d;>E!PxUW^}jmO!NZm1zdG1Z1*I@CNl z7Ax;tx|=r>25Y0Z6}^HYe%irPx#YS9+eGM{3CEsvixl0akkv_q>SbN^t5% zlp5Q6YQNwnctmYpy$qISji!?UcSRt|jVA6sdG}8DB^mVI@DPXqKM2>m1aC45)6Oc5dj1?Iy8n*{9%j$D{G5L~E# zxd`CR>|mW9dufmaAxbiopVNTj`j?TSb2Yb(CpG@-_O1-s(KMxztNj~eE01GSk!(U# z+qR)duHfY4JBd^jp`*5$U+PgK69$)|!Q!W;{jkoMRq^Y`8C$J-k`wey!y!cK$_L8K z1xsAxZk?-~x8Ok})x1x(Sw6=p^1i+|$CL6TF6eYG$aQH(=u{u1-i^mUIo4ldGgY?g z<+^C>!HScaSJ%K%g`MUYjyfV;Xq14mV*H@AM!nr`jkD(cm#2(H57p$@TCD$4#Q&oHnXV$r_rc9u zTcXCwGZq}Zw&E3IuQRqvAKLaN1$Xp!kA70K{7;MQ0Y#Eez8TN`j;2I5)yVv9BiODI zLKV4B?YF#;mQwCyeb{y76gt_FyigDO&|-28Qr=QO?fPuLr;5Hbx;0VySs=&;{n*}# z6{S=y>jC#V{37$Xm-l*YiF(-T-*!Y)>*h7mS1{VKC_(;(XcN-1Yu|C-_`5tgi>l-D zJQMqujhPpq1?8;7_DL)OL4^SahWWV2V;5Y8Vmd)#>Dul+e{a^q~{{Go+sTz zj20RADfl~a378w?i#_oaZe`^qZj@vRygM7A3Q)Xan&t+Z?Mw<%&ZWx@a$kRd>iQsl z7=1u%B5xakKr~<$KCD+qNpV|zbJE&O06?$iS@2dxLFy5>7n5)!5a`M!bXm@mZmW|- zaH|N+tL-3CDF_E$SQLHPU1<8WV9;xz??aZJqwOde+2r=?l}XtzwP-un7v{W&>qf9FF3DVZlsuQ2$~cBIthH1|jWT;fh{Jb>7f=)2Gs+w8m`q){{M3KxP=J zl5lE>+&xI0XmU7u_I61rIo$K62eMupgx)4w%_zN@T1gZU_?@YaEI{5>3@SZWLm*-# z;dmx?byD`~4Hzb({#0}t(9&%{2YyW0;S@N<=HsrNUtX5AwSxR^Pz#UX`IKb&^4*$U zq``gE2^H0U6_nHq;LwXn@Y4%A*Qd5ih9cV>w;rx*pl%C9d2hrbtG(i*3greGQlcR& zhX)J`izr8y(e{q*7KRgxwf|K@&d>TTm0FoGA6(wu1-xwf%UIrf@&fE(SsS`4fJTH>snI7yGN z%&0x`V)(VBtD8c!TB(*GgKJn4e)`DjkNge9m(2d7mCIe5i(EUZ%7`qkqiHT)Q1E^( z9%Zk*o!jkXRd$KGt?=Tsc95;7`#MKU72yGi^HurFA^#pX_Jb zeD>yFY`q<;@yW5T7zd4IOGjSH!J|pBL}CWGV;xFVM8{W0EehjaD(}UFz+A<6%T~op zjr5aweSl)5BWgF8(?`5e0%!3e9dJ6JcIWc4XocFIX9FyYQTF4On9!8Wx>Z z*y0~0NX*n&_NBWij>#_X9{Cebf-aO-U~Bop5YE>-%Nq&^g#AkBrOWC0&&|iEcF(E6 zO33*_{XWiToN6Uc%|n7ND8#@XFuqgW$4-<2=LD=DsCG1(0oO%6{(U=>K(Foj-$>L{ zlUUQ@9Gp&NQm^4vuqxO*_${E|C_JIu#OEsI?koQI!heJUOWjxUbKl^jBtlRV z{-uI5ZpD}gQ5+6HBpcHOL*YpD+ab%)Hl66vY~v~4oxu2|0?y~i!IkeWL7&XQkhRvw z+EgH%T2j?$Z@C(Hei!z`+X;jZ=k6%u_+^a6@BW_hkqTO4JMD_WEq#Pp4=7>5{F2|x zb!+Scu z*sEU$xA=FOgFUIGC5iq~c$VF+!3}%eU|=a7PYe?8x)5K$J=4beDUL5$T%k-1WB1ee z-hBgVK|D9V*l~d)NTaI(+^UJiGU^+B_oxs$V1MdmdlC<#i;~`(U+f&_D1^qBSWjA? z!oGmFJwT(Yf&3AHfr4=l8L**D95hs6M|Y^(!d7HEL2qGfl_bN2K&*kEM`m-0E5i#Z zuxBNpY}sXARA_K<+jmb2{9OZ1iJ#-p2;S|<0`8}(m~n$K4iKzXs4!G$i!dP-(m2Qr zJSGchzJo{q3b5O@zTenq>UI1kKI(Uc!UzQB2!$UOGk(>-UZ*>hmPyj&)vSs#@J4j+ z7YR4=MFsPNFqCepby$eKuEtz<`ovV9$D&G${XpE4bDvxs%%k_pldli6Q;FeB7*)On zT6sXrv&2;J36JKm#E8FqA(SVrUaAO$OorC!2=~4Iq^6om&4S9Bgvg_@i*Ft8b*)9{ zd%1K^vT;(ZNzY#$f2C!6l;@(d1e`j@huD9HL~J{`%+WE zJ2Lmgo2&fphcuhreNxurb9y+6OBKzGgN67Sx+nXkg|Vm>b=yx~9Ul;f^3tV4dsBh2 zpc+w)7}Uh2nfH8N0ah>ci1+I6G!5q#wA_=r&PJkK-IZ{^GirkgDz&X)1$BAyo6~e+ zVU{UMo9}u{kvA&!%e#uK>4zz@hUaaKz02|`xDG_V)pw~fU450fEJ{3>T^^UDLXYXH*6HNbDMfO!6oTw3=I z_HbOvL(k=)MELBrJ%9FgLEnxz4c%}{GJ-kc#O9UR0aRHBy)A>Y;Ib(LYN2NE6pCI> z%@wS_dD!w`;%DQQIHIBAn?uz6$XrlWJAwCawLbf+Burqn3xAN6+~TM znQP)Zj-9$leziYQip)vmk#6Q2nDq(g)W?bXV;VTRwWdU>M}O0hQRRSQo^UOi7rRyd z9@kn)^jbOt%lCUC7rSO47D+XZOi3&cMCM!a158Bp@+w=_pPL2cHz9j&E$g3lpEmp!IjU$PHxy(Hry4esSK&|~#yeu#9oW7imS|%z%w3#@ z1$WfBb5wX8q78THDQY70y<+M6z^A8AB=Jl!bTSQTH}GeTF<9xdS*(pQLhan%{a@9gt~K zXAYkMh=phVIal0dk*K9Ug3N- z_lp$DJ7g49hm2n?R}GPONpzsW2yPQ{G*hHuz~}Wq+E0rVv3X-&#irv zEy;@~dBrMW`z4KP>u)d9(|mBg-l0r2qEGmdw=PWjwa3jYl`*QYInMb>-nGg?ou=D8lQYTqY?r*rN5ENw!hRMyvb zj5I(#z}Ayd?a%!lTkmUvBz2wi2;;(R97CZo0(?g-?JKD_}B@Llg;s|K<*I%WZ49xiP18;?QzqUD! z0PLMVH4|3!nm23r#=udsU$~EdRo8M+dn;cE3J9EzS|XS4D1M0y%nb{hA?;wrW%sy8 z8vRAN`quQBZd=P%R^|1MQ!cLZsjBYN!R_C)=vWAi()i>RRJl!J;*_`%Wz*=_$P-Hq zEjEn>=sK^mi>Rv*J@#D}^}TL1;dDED|a;DzQ|J zq6R3)dI;-eR^$nx$6HT}9xl~+#&qdI{u=D{Q;a5aN9M)^ViSv_uw6Hz!&MxRe1o4h z{WtQaj(MhS>Q~lgmoEnPgv5`Zy+|m4nK)1~fn;B|anyOb%jJ^Y|ClfC@@%Tg0;!A; z6@{YXs&CTP1A?K&50s-DUJDifoB~;oKbB;DrgtZ*_yHg%qP%Nm92Kfl{lO4L{SfpS-2fzH^- zNRQClmJAygEl{GwaMsJ@s_q9}@sxlwZ)bkYkYcx<9XP3Z!L@2*?I>PM`M(br$4FAY zO>_IbqTB1sLhl{?8$@fsl$FdQO?}J8CIg& z2)OwZQ2^FjuzmTI(C8*~@AQgc1b>Ds@5B1-S{|+ddQU+QDSS-q zaIf*OOO)L`@f-cjS58L$bdmx=4KXMNY zI9eSFF}e7LuF-SzaT#}Dp= z!=MAW3FaVNWa}SWZKQlrDhye;$z&CB8)1+K{q3JoC*&pDA?Tnp|4~2&Yx4&6SBGSq zyhv7x$eC#=eDY*txP3yPvlM{LYyIBoVGKUdD%6!nKLm1earIeOIfiE_{iR5$SM-=A z+6ihpYge3fU478t@B1ZiBXwEnJ#Po$Th9!8+D)V>uWk{@Y0#Do6tdUF=)TAP3w(-z z)A{KDk4rRB%r!~y)NHrB(GqV5Ty?JZD4)f*q^MP57WbR@gG4!`r|SXanfWkX0v4vF zSAkKTr`fTRiyheG8*8HK>f`vHMf$zL|0CfEzbSJru~pR^5EH&BiL1XsrnHEx=Z zit9!I$v;hCyku%JM$_cOzwTa(ycU%yZxM*wu?`ke?JjPL?TjlyNODvidJR*tR7u{4)l zH5p|;cEzW2%SscNyF|f`MIqe5RIc3Bnf2=~IG5HZetKwUw6`=5aq|v2$B)0EDTBB2Q3YGHp%f*iCI6SL$wjX(qS3!llYS|@&J-UXQ}2_ zl4CJC5=Huo+)hKJk=lfK*hZ2vzps6ic#bCOA?KzAp~KQt?aO??kd)WhoO`xe!*g^rk|Sif!&&Fy!LK-JB4 zd(ge1?e5Wed`**`3ARK7CBPY|hQqE*3b-%rVmh7{DN9?6%y=XuC!hZlATq9{%(}|` zH-G?~uk+8!JIh)&Q*_n{blN*t^B!SCQ&2(w9?%v`FKfA~Y6;J9*Y*|C07oL;&T^?n zkxdvP`xI#fOEn&#Cp_xlSW6{){W1wgyg;Ts*OSa1-qASDeRar~^&|BelNL`Pv$K-j?;g!}h-vioG8EmAtoM7DK-8GGN2jPC<_ zZ}bYvFI)7Q?H* zi?sUl{H{5&i2cq`+m6wwx1OX<%H%a)9VUmSn1lqfj#i@#UO^P%z`Kbh61c9+;kbo@ z%GI$!Bt2chsy1Q`4H+`RvqZsI-l!(eKkM{<)ajhtonLC;yn*oX+m=ZM9^mHvj3n)e zE#_5q9(3k?Q~uFSa!$07e?1JX`>AZu6%xZY%;?+9Pt`Z6|NUP(GG^*+q-GMWA`L<6 z@z4-6ZRdv&Zb7!kfp<$wz8KNs@0pq+mmi)eb zLP123{7?|P%V8^#Z29-B%=_I#{Zg#iNNTeZ&3ESAR0OK#6v0GGKg6cCs)Jj6r*Xn{ zWJBqul>U{H6H7!{0`ISnlK;;OU}ice9Xl%0C$?dVg7DFS@f^4Bad2{U$(u{5RIfjG zr~32fi}cT1E8imZvtQFpT33Nk^(LGSDV*VsIQ}7kuepOiZSTu8{xy1Ud<9e4K?GLEq-NI{*^}HGPuZSTCDd0NHIe7r7B%~$M5+hiK4x~1~ z0hD)f!vk7ujhQ$3?ITAeiN*g7VB)=$;4gno5OZxH;bCdIX33kC`v?^q1OnUW-$ao` zA%e}r+Vd>Npuj$g=lBO&C~`&@46n(rIPE)BWacg~e=_K%h}V9VNFd z1_={1j3f~VpB7e8ny~xNugI#eaxp=Y&&a9nKr;}5NUV;Y-;f%a3cF51!BU}sOvH|H zAKMBnWJr9uS@-1~Z69iQUZy?x3c(63|4A6b%wTm3HCmkoXxmKa<%ep*O`CM#(1*7l z>^JZ_4(Z0Z04q>rWT50zLq1NUrdz3X;vOaiY$JsmzSB!^eE19c9?jqO6OX8RGt01^ z!+eH+4I%nP`ku8FmmSi#=LarFg!#l0L+~G=cQYP8n8i8(z%>nlUBYFfi+@NlQ&2Dw z_>l+=I6JZsRh}hlowfHQ;d0?Vtf~ctDeWRLlwa&c@4g8DfKD3=Z*^VpcSAdpgPOlc z+oc89kO=Gz0st{ji|mG1_uO?e{Y;TH>a=EMqQw~3S+)8G)JVwqim?hSPX4U&tgD5@ zo)2pS29XzA7x5d~*6e6y9>xW68e5%?M)trVP?<|j;HE8Cd$RFFW-yo_$xc#+N(EM* z78zoE)V)PRaMXn_zVCYPcEm%cUz>per^$6;`JS62 zk_RxoEI?Y9h59rt96lz;T{o#_OG$@ec7e@S>hy;kpk0lNu1cpeMB6A)7yR z=L~kq!sri6mLEID2tp5(2<-62nVIsj*KS#0QI9eBo0~9rp76BG!?nps zxo7|iB9-*}T({gcc-8?)X;lQ`a8Ad!Rp=LF%4qAcjH4h#{nRwJ(=lTGEsrpVdh=Hk z7e`IWi)hww-CAij-}=bc-n=a9U(#D=na$g~CsNQhsW6}=lr64=9@dio>VfL3xSQC? zDlO?od^hPWJ0M*JIZ<&~RAGgxUspC6Va_H+Mt=Lrsrlu~|9Wz%MAmJp7Fso(YI6}f zyUX_L`w?6KCS^3+h>5I#?pEdG*B(v)7O0kp*Yk{zp7b z$c*lAql;!$n|kCvqSZWXPRgx2*51i?RTqBH&o3GzM8ep^yj z=CC;_1Qs$o*gpCvEdw+t(X=qPt$N1Ax0HB&WD@9%WlLj)a5&`#!PCB_ds-nx{L%)* z>y~#QumPZyLCW4s3EtzCKz|Zq8$7J1mA6;xrk&G<`j^l0)&E8h-(Ll#D+I5o4R#ay z5EU~tLqwlTDdE8TwY^=8{^q)_Gki<{joaEW6D(JK#O#vu`C(@Z4Boz+ljiC|W9fRF z;u}^0v4>Q9VCF%$t1N<19#T$J&{rFKzIW53>n50A6m3+W61VTn{{?-oV2W;(_DKcd zP(}VCFh}HXpHY2<>0OP7=tZq)bhysjAy6aq+o787u=156aA9v?)vi-J=6L-PP! zi$vaXIIwa>gVhnB#a@%Q$5&+VJ@uBG2e3xl{fX)PVz3?%dtVg%ox!+T(^iYs(SLK}G8 z*g5zDsW5(BRczkmz6>qPtRZx?EfORl&$<1FDj2P;PG?gZs%1vLo#w@ETN+&IuqwjRn340?4z=W{ zt+jl2{PxM}-^M{v*_m|wuum*0o(u#?| z+#7$dymMlLXGE|}OV-~1A@brjOr#EC?HzjsWW@!v;~h!!=tgOWy^%z@xjn*uma;*c z^<>@9AT|0NY;z!}_?{H5dBDws>30JaORx}3IN~t&DNNYm2`P=F^AP=&$w z+Q#b%w5k?J^^`j}C=YmfA2%Of*z5~L_4gpP3ZZbqa3=&4$mFIYRQC~b^;(uXz>%G= zf+uqPSw+(a@jIWvl|ZKyjq85jnw=td$>&SG+crvm)a)v{W%|pGMjjdELU$rD@{QbK z8|a?Tv7k|i1S1qR9VlQKc~Nt?Y1NaLm)bXwqn8#f#%;y}T655m(^+~o+YNfHi}lp7 zVr7t)n(CId7TyI5wK0d_Gn4uxblbTfZQs3T$wlSSZD(8CyV_C_9S}Brao_7-sJ%ysDPE61`_RX{ZK@aFP-ay z{S}x~u#a<~C&vB~#ulX)YO%GUivGmHH75i%r$9s?@y1;W2#F*G?5k7~Pl1QVxlNP% z?aSVP*CV<`LyoohPpT=?-HnDh#5*{=9?+N!Xm_XX5;oz15$b{nYz%N;{h)jxiZVQW z__$YUy&((Zmx@kgU>)m<`@*Xx_u*9ziMB|nUX5_moNm4Y-(#9EC!jgv;_txI)Ub6H z13I0KA&-_y|;5|VQ zc0REg#=lV>h>k#zIiSyuY-+}njUcT4O3>{-6t%he0PRm*ii??9Zr*h>N@x*Dj=@7u z7;s4h4cQ1}JkeL#N+=4G30DE4wh;U9L+>!Cvl9-9+Rhg?+%9 zJ0Y0P1SZ)GM`Teu!A@;l!( zuqZ>$IG=^J{Axn%<|o{ z>2WoBl(GN1UXvrL&eaDu76k8F1#3S+Wfb?yHe}XW<6EkXk@mT+W6*_xoDz2j`|}k z?~F5d8L<7eZO-k?zbc<1iT)I*jbc#??U)djS}XSHH9+b9D*Df>|Kb-WeySYFE?*?o z`zvK18I}wds!82bgb^4KAj4nTQf0r)^=XrCh~nd5_1fkh*$_HRZUi$=H$Tkg)*SuH za8c62h}Au}#u1Lw{cKl)Zq%aa;Sp=}bffe`7?JauoJ}Jz^^C$dj$A782+*K`;ua_i z|ICPQV_IPcmH71$1?K3Oa*o!1yOFnuUY6V%)I7~0l|1GK-m8xVKH z*c1*0IvYZk*EbB@&Bff=?puz(q{;zVThiR;^0dsQuK1IA#$buuV*%6qBNi|BUmfWB z-;cIl|Hu_31{89?m}$vn$YZ%4awx_~^J*$Ib?uMybqD;;&6 zdfS4z5i~xc9*d$BPrJa+_vGrtZxD!)Pgt)P@WfB)e0UW%EBd;c$cB*V9%VgUS8vva z`xSCg#cdw&7S^}4H^r)h(Ui+nes+`;Ut!-E+N>WnT|#I4!PUSshev7M;nH2YVMm~P}CPr zq*Dgmy=u`X(~-YM`V#nS_Hzy{jdaa-cVG^D?evZDzi4_?sprWsS^#~Hk8`BW(x73H z4Zg`4B_${!-Kn&sbV_%3qm*=mlynOSNXMvjw{$af*UJf6ez5w2P73O3?fuCMPyclbd2CfjtybFT{7(58d;5-(Lc0(r1JX!?Z z{qmCv;fKe_R1r2YGm``!R&BefXXtR91jc9HKAQk%m!>h5*=?tL}psm#Fw`I#~bPzbR0S(`uLz+>7 z9)@)=hNq@nx%~Y}gN5n@7FNzVt$Kp+^3Kt9&BiO4c@Iu!J{*ifU?Uc!E&oRnh9828 zUJ2;PlS(x*%CM1qI>IN`t)^Knd@f8&d*&^-1Ykk)Zc`j&snAv1e?$ok-a%?TJ-RMDifZ$gafnQ zeI4B;f_IXvLR&;&WxbL*6A&HG>s_Prp(VXbZ$g6#g;^2Hb(GR1sePEuK3Dta!qv-bjgVgMu^KD z3d&4A=Z%4@s|@EwR@{rpSdLQ%GY>zXA^4RrIvx4J-y0=jxv0>yOEjfi`1rG5*k=f~ z3j4jSRs~<IB_clUG%Y48D5AM^*NY}C>H*6**orH|lFYsh!ig9;{Dw&bg>e}oyndS{ z;?I4x(sG<-FqJi@ryt9+8z|y;lg{cVKmLpIt}1H)vBxT?e|rp{_nJU(NNzaK4YytN z)!X~84i&cx@4E`u-))QBzzurkKir=j-dgkR&)n1^u7fwDx#ZsJB67LL!NT3ZD}R>7+m%4Yh5H-mdF4=+NJ4MoVe9$VD@_vV*vj2u za+``ar$d;knHT6F+IJH;Q0|CPV6;cS7z=i-x~d@Tp)KI`=gr zT<|x)iCDZY)j24DH+4F7Hn16#e)AVSbdA>0K}|2~_3{OPX(yF1B(A~{+qYhde-X^6 zcK=ff>`@_&?DQxsr zzlWmURbB{C`t($H6|T}^45tWI;3_d_FlV)kH)=CzY);jiF67^bCW+49dOp zx(gq=Q%}oKbQ8;|F5gJJ{v3Gmt_cs6q&FKYC5Z3Pa_=WXRQCLF|Fp@nq0kbHrB`J-SUrJ1@Wb(y4Au3_8fV_G%O&}goXiZW$-H2$ z;zdoFol|@XUP;nW!DE;g+Lrl)L06v|Q6swkJe^ey`@o+HyuOO4S<8%{9G-be{T9N` z+S70sdh5w&bcm=ROXD|LEr&f8kt%oMAJNvg_z>mo7n_Z_^Q%JJ1gAlRK_gWrOO|Jq zA^`8N1qqAR!0okLm2Q~LT@*vrhhn+LFqtHSH^a8iagnw=Z9D^oZ!Z2l_p0m{AmTn{ z3?Dw((d^Mur{YN7Ar$~$;`!Jt`5)5~9VPJ4_o{(e+Naht{zJhC=Z=0-AP|0RTshzT z2GNu9Iype+z6O!KV2;nClFAK{-A3doaPmu7PlSXHGT;?C%9@ps1zWpdYJ4Lz$B}Ph z#F={XO9{uyD*6g0Z--B@>{=;S`5Wv7u+Wc9=NEY=kUfE}5%BYzHIaJY6q}CBo|*NV z@fP9vrau3jQ=4ksx#~4#$JYt0&+k_-sIMXTajRx8?&CtNwR;F9P3#gsV6WDo6*%PM z34}^`KQWEIo6=wxhC7UOLh=N=iwMtIEz{iA{-i%Fny9~la-V~iFY4;DJTZ<5 zu^4=b=>sj){a-c-OOYv|I88)HeXS|TTGAg6UDIBrSR42-I{LE~wMKJFqaSU_&j!n# zyE`{|{A?_>)OK##8YzvxU<7zUtR=GsvA)Nu9o<0o==hi9N_Dk@wdcwy^d{XY;uwQy z_xctt0yjpgaK-sl+>JrG4`qw=8|@V*sSr9H;D`~v-pT|2yN5$X4yqudE3=XO*AZu^ ztpb7ZOHAOY_*2kIWt5#reYaZePS@Fg<03vepEuN+w)_Nf%BzxQrGfkMu||syJ{bK} zPB~&rb@w*atIJi6yLve)JI`VeH~JJhP73;Nuj|O%WVyQJiVTvu*}JYUHnLLW9%)r< zh~d%w8gHLbhJ#qNN)a3`-Cmob@3nof(CmJ=c=xZq?FC#j;43(M7ylIR!im%J<{*DB zmaRD6(6bZI%LT9WcXJ+DeciRa`*Sy7M20}{^4qG6RozHK)3Bd4zH74e7OZQo{uXVl z;pw>UZo|yVS=gn=vdzfIC$TDx8%j|WelygXa$|4uQhv-q7zHho4C|Xc$UR+LMCR!G z-bqGyUj-^NO5ipm_~EKUwJzJO^%RVWWj^`LU$C;H9yvVSX#>1fTjr7ubu&H&C%iqQ z$a0pV_|@IkLPnq*+QAA>t~6P%%F=Y0$9Apg_k+FSGMl$A@<<(VsGLLm(#RjNGE`_* zXtIQq5x=PNC``kESruYjAa9F0ftiN$bI4hz6~g3_?k&IFXHkdcXSyprkyruIfBT<- zz4FrZwgHQT%EH+Tb0Q9PMQ?JNLa@11o>sz}Sl;|0m*zP3l<%ML#Emagsu;3PLn!)n ztlJ!P1@dsoH=nnQ(DDd_H83oEW0TPyuJ&*IsNtV7-HAfMdz%-@5xicFZq#xI$59v4lJ}ac{P+Plm>h96Cdc~t=CU{b zT!HafWgZCdAgZ>?)2N^(FyS$$f41a5T0E~YX+yV#6|(28$=VrJdpcR#Ae^5kM7`64 zEr>ZcX|87gK_8`*PtWJDTx$L2ywm!X$lcgdO=|>GKXK>sBkIPwQ50P-AD+UlbA64S zKeoVFr&Z@%PfQi4Qa4{=RsB6giiw=L3ZL~!P@oBUC{o^z{l>TG@(NUt+5TL}#Zm8e z<@h!Gb>C+7Jz4E^;`;r_6HJ8sI7w)eAL3{%UhVE~=~^T3ASwGCPCHe{e4JcCUk5+Q zGL@?*&cb<=KMX>vbh#ZzTZj=DYlfx!t8-fx4{FJ3v=8%nqMCR-YqZlp{(a(O?%hzI znparZTr7~$&o7+I)hS7A%5A8uy3PO zrV|2Boao~l#)(a|z-HZ((*^0JwxBaN@tjl8$Y$vo4gIVrqgSP|ivaVz5C|R+nfGF< zD`>H%EIR;EvT=PcncTtQ)>Q$*!aVK zui-<}yVpmU;iLN>>Jt$4NvZRrV64-fo!9{A$P2bKK8Xb#I zuTUWG>7QYB2!+mm9_SfRMSnW>a^i!oY;!f=0-sH)LVI5Ry&cYW^4AhiqCP{p_=Z{k zJY?5p4A_qU5v6a(g-*$#Gy@^gx_^w0&V75|+P~y>ciXZXI#lz={S!2@PavOEU-RI? zKN3|~&dw-LnVY4ss^tfP1Chg?yU|m0wVQzo-urM^_~u=oQs05nM@7)W_eA(*Ny^A9 z;wbkQK%GKcI_6RfzbFjlxNR#MrUEbJGm($QdSpOWzAhpAdLt-(kvc={{t8!0yySMu z_D%m&OEZ2f_)%9s9x>Q6vc4S=uyB>N-mm#g5q+zvTEBH{c&Bx36$t$=k6)4b(I-hw zcZH{zfp9CFUb9J0Pp%$Zz3*x~Z*lMt?I4}O8ozl;RVgZHo`M`K!8u?v3y^uD@R4$`dJy1(_W((jj-K9yAZmf0x?uV;x*?nXstwU>$k7F;%Z7mj$-w=FJyEQQu%ESN#HOxgl_H zE_aG5S#w)kv^VClMg5$!vvXjZb$Wn+H8U%wto})XY;mRvZWT&v4nF9OGPcsaUoqrJ zV#J;^i7SLg2M(&u`O!;0Jyg0$?#aze-aJqJ3ra2dlOye_MBppYJL2AhJh-@9ibw$m zpU>IVuTe-~R_lZPp_&f{}f7;sCTQJEXXfEz)d*2$iE7wKtY> z+F^0lZ%1Oc3#iVW4S$5Guz#w9>mjTmbQuGSQzfju8PXe`CR52%wNGUC@*{@b)L{^Q z1SytPzC2&>Lx@J}IOxmemUT3=_WYysnFg0Pv~=c^rveQ}bF5jR#^@fLBkQvAcD_}q zVhk$q6i<0Oi`5Y&VBM0LwMWBb_}dws7a(MFpfyZV-EV&Oq_Mb=l<7O*-~kO86 zbo!r$3HL}@P4Kw&pub35Xj?HhHooKGR%G!Nwm~?hJw)U!f}q5lc9QrWC)hl%-I3DL z@vi^wyGlLZxj{wxUsnU!`YU!p8nh29$@~m!ij$d#jabaPHHc!9#`ii;+;wk%-_+ry zyj45$KLd)k=IWjb>}Ppz$+jKbCXy-_k~#spHny7gow*dSUvxn*$^0No)zUsy4+ad3 zGxrFvLP7w+Y45MW=Lgi(fE34+T()t*0OCH#zZpPhgiwvna~36C6`ndZ zA$8;{RdDyK!CT{L|GM3ekZgATw>qtSdmFCA&h)2zUdmpFx1Ej2(cBSi$BuFePJ}_u zqsZZp!$f~>#eHFlU8G0yn@Dg%|A^;+Q^1+bpgYdlI+f%4py1&R@*-TF1)Kp?b#biE4PWA?s@*M5AhD|_ew!7ym6_0v_Wyb79{wUpN(Ggvt!@mZwTmCP=Dn9T!sL;Lc>U ztNBg2BwFrLg@TUOXYW^}v&0*BZd0bek+|Dk2#viAMwn^cM>O1A?Zt`XgH4m22L647 zok%&?03%jDf5kq`QN!gwh<>`RVl0E|5#O*!;b3V&1-8zX58AHZ9L2=sC4@9y^It33 zBw#Ol2H@?oNp?~p47uuMokBsyaUtCw%>MO5XUI$2dpakeMp+$`!boti4#rOGmEt@C z`e|?`c_#q!5lb?@F%bMX8!RZ^&n3K%qn2C z#T#rIq>FIyG13JSWVMB&)I)bjC~qPxFBcc}=ihnAovxp_-9^JB``Xn&98tT)b8J&x znMJQ|Hw~+Ik*}Kn_5+$2I5@fCGP;!w(;|}dYU&uv1miRWRvGTo&Kt`2^x>Q>>SdEw zT&}OHlff?4!>M8GZsALmqcPAL>3hRa#oG ztKZz%SYHCFQCeZI^UaNfN_1I=EZ@E>ev4gKU#c`uDx0y+>^!Aa)&)PvVfWyUV`k>W zG7!3lhDrN3czzo>=&)VLIj((jPHLfmKuo$VE87{NUo6O@Bj=WuV!Y9~#Rm&)#~eJ_ z(TAc)g(lqPybpkVWOsMht=ZOPw_?)jAe4gmS|K~@3vA{6O3#nvag}aiC<4 z7pSXu

~ORN-$2r38}3R60TNTc?x-E5UX~dvEQT!^Q=cuC!sp7mtsSg7>jDFP|^ zv9%V-nKY_QtIHjHUr7cHvD@-NXrD32^k}%|*O0fWCXHuvV@F^zQeej{S<|;ah{E|k z-ar0MSmrz-jvtN5{>ag?qI@Rlvw-SMkEE-+>F9J5KkDkU;kd|b8R`Eh0r5pmr0k-s zS3X!RqR;Z#0x+oi3!qscaGtkuMov`#FO=+2%p&RfEi$|ZuW|BblwWWZuu~kN`#+>O zi!H~?^5vBZ9N>bkqRJ)?gHqgJnl&J4gu@Xi09}DuvEvq&geC%3Yi!lRrzbeA3nr`1 z+TP0TPVH7;T6f=I@}mhjRzEQazzmSL+@3&iSy?7&QyjPPApvn9Z-b=0{q%W&pDfJ7 zOnGArN7Ig7B#TctrH(22mD>S?rG0j3DaCK|BnvE=Dma!#jZjOW3b7N^r({g9(dN4@ zL4Q&&4h#zK+Wn6{6|f1ccY^0)so{7GXySDj==G&4vkn(;v}*P+6LE$kpk8;bYhq6p zgpN**0Q~(o1rcHgV6qhEb)v#q6cP0Y;)q+4iXXd7_T&KdD(B{{BljEUoHgTJbmFenpZZ%-j=h4R)HOsk^sQD;r00P7bY8 zNrrN9wQkT^{`@~E)94zxN7)ou(!`8-?ub*x+m2z)gGI`(s5%sOLCe)?1$5723au|3 zt>2`5+WIw>llEl$w`s}-E3o(;x+Gt%TzN+AEG1wz7NDW)ddWR1-CP++*eGyE| zv!EZIBae38e+j2`YEb?|nzQD1L-j>x%DUE~_io&M1$~~1195#0>%xq(MjOe;wdz4K zlIZ?*gRs8~8QesJhU@Xar5{edfKbOKZb77@ww$+7C0hgkP36zyt+XTe8X4ih68Z;G zIJKVBq#b*7WiWlh&3o}<_{(Zd-hsQpRb8Rw28LtfJuQOKb*rtb^!1#mZkjKg@(c&7 z8|V_obYVs_Yxi>3UEnM7W9qfszh-XI=s-q~vgDS23I@>`NSR>3N*CoMpW{pxXE`>% z$H(UVrlnmoSh7nhkjL`jtd&PU#UBVg0}H=kOCZ5usJnU7JD!3RdfPrGq>H!T67l#& zBxS6I08pfF%DvNvs2AFW=AVH$Am6K9igCB46+Ut5@Pxcn(`lP@D3Hhm+zb`HA{sEg z{pcMR_W5t;9Rq|8<#nydr4{1&;~S=9r%Ts$tK87%+^2eiDZ}_PTcAwn0`6ht9G0LE z{nE4k$y6di&U-u2NQ~(qYt)Nt(J;SFEutDqC7}1apetvQGUxhg+;8=jUtw)a_9fD1 z^Jn-5F~6>=&m@kQ9)nO0;wum)9|x^cpy5`WofjO%%IR3Q$C-9I(OtY3Rt1RB@+mG{ zbTQ-!<8NuER$-s`sKps&o~7NwL)Ov8%UKJP?MA@(OM07$7zE1uJ$02daHBw>>euK5$@1y*hA*lFod(?$!V4>BM*T3fA`^ z{I;Byf>|ikRN4F3rplQ7CfI3GlfD9!k}55oBB-l)tz96(kDcg-Z_x&~jjD9dpN|ss zt7Vn>Ub_QXWUvyq|1qDZClCy^XZu&Cl(x7n;a5QLi}FTOaC)9_ke>UUymQ{*!wd^GHlTpDf66S< z1RT>}o%BOrgxzn)J@U91-t@m1hPpB~mZrN>Wv14D?sQT+biK`R?DaLq>;M^PXpIM> zJ#T_{0*3NVU;irJUZx*^2pqE~3f*uy-dPoV){S08X7ncpsO{jqJk?;*7tFvuAGqjq zI(Sb?)1znHTdXp7270D#Rg zUZYD0;}xI}R-u|iJ3w0WR37J)2ZX2*wd&ZmPPQ2j_#f~gO8i@WJ|8GozY1{EzJBy zCc{+dK+0=&4YT~_9+8a7Uaq1Du{-J$CG2s9!I~1lHA@~Pu=c-yqvgdPs|4p4)6?qSycFGI7t z%geha8hjXU{vbbM6A(x*@kyF>XrUAHKFDtJlgsy;-R-E(WqBC4wDC@m&X{?;^y{{O zE*Uizll@vOa%~$eXw+IRt%wKvTr~P7eY|tZpq1aw7Di7WMaRiJz}g^Kxwxw-``aXf z8EOOcgrSaaCdd%c@LrT^Fl+}7W)S1JbocafOoIp9U1a;DDEdl3?iqA&cN;l3~B zHx*ciNd4yPiyI0?zoR@6Aq&~!t92tFsU~Nk9)pU%JbR& zHMNZ>r(_jA&-7-UbE7%FeVv*zlISqcSIGl}d|M3GB_V;G4R5{vT1iHRaggwbQb9!X zmeic_7t?Ed;XTM}JCC;sCgA~G_}`by@$BA7H$&^$Gm<29!b!L5Eb4X@2AZP}ctxNwn_ucPTT81NPPjrPz z{~!awgUqHvR?P$PZ0OHM>6u%ErG@=*V}^jyF~|y2ocn~y|3Hlq2exQ_!_k%FRHe&R zS!;GLWo!kcXhTEN-{~Oa*O%uu0{VG}#y(UhCzD9t9U0}(G?(!hK>kt0OE9_t5U||) z(zui7p2AA&DU{-`UXOM4acnZQ_z#+#er|3L@4M$Qh4jzgYPq&G4zUQ7>3k6)^$8V(HC1vY3O_za08$elAwD>i1 zq8TMgZ{Fi*!&+l0*U*Rl1hnb%8W>hr$S+xdcn@_h8#iU;P5* zn>M%e{e>h6M$tIz*Nackf79VKo*{!9Z*G?W%NShPD#4?YpeB_c2Vtk0uNv*BPwXty z5F96jGGsAeEAWynmN}#&x+?{NiWzqE1Qy8sUeerwV}=!M6hL*x6K>L7o3gN8*WM0& z_CQ#`f~49c7i45ul{f1vYgWgrbRL3_ca6iqsDvsdA0pl@|++cxR%eWn3nve>>xIpLXLhX$&#H z!9TeM2*>16i3u!T01meSBWBeeUR$8m_W*N#O62Gc!fjM;#3GS;j7hRkiT7EV%D3(P zIU8wX4_&#ED%9qT>VR6(QwW4PpGuvj=~2PVpZ!$^ZK_onIXVgmdqIy=p?Zod0mQNf z%nc_jYE$5m!-hzTpQyLDOk=u(uf6^7Z5E5MH!syI*Ak@)FMTpafWcLeiI$7!v%$8e zu&gw^VIH=&Btg`@U-_=l8F$G=3--VPs+sp>jX%%26MsaD@X6dA$QlJGH|H9aobuzS zy85mbFqdkPA1j;^Cm6zQw=_Uy6bDYn>BGFztvy`D$x?}`Br@g6dk<5%VX!A^p9+KJit8+XweciQXR|ZVWFi15KQ^D26bL-R?~N zSDADJ-w}orJkAK59m$_cHWEkp$o#D40;;tc|fSwWzR|wR=+H! z-aN;67<4B$o8}8|5acTtJ>=;8oGZMwK{TO|I8F*94hS zfzrk4dc50;sEG~fS5&8mv47J^540Sk$c+#4bxaG$S!-lzxlNIdQ8Rgd7igWu+`iQ^ zJcM@r1dDY^>)B%-@bymRO)^RTGHE@&K{W{EYq00ZF@S}y`*YUk{~^R`7oS!egukUY z^0sfWBTdA?(_%UTi=~H62b2vowLcb8l!D8>im6t0uRn|7R6(I4+}!FMRkxzzPuo$I z^U>@qP-B$Ny9Z^7fBj3{$06)f>-Q^As*q(rFw5FRxH>Gk5{gbg;(K*f#-mSq#@sr! z9n&Lp#G$}bCctZR7nw|R!U49S{5VKQLX_Dt6HJ{w&I_^2b55?~P8&4J9*FM?hz_be zXgKxe+YN1}xkf;#s2+jR56A(aG6KC09`?O=uV1B5IC`X2t3m;m{Teea;;P7hVa3oF zvv1=};a5C zn}J`AT9uuff_UOy1kClNyiN>4W&^gH2w3T}9)do#LAcvF7_EDy1K)>A#wiVmCWCrK zOszf0x-IUil05JD2v`%#y2Kh6cSGvA61LR+?m&x$qqQ7ID-(9XfxYPxO#ffJ*v z2JC!c<}>44ty^BpO(i2JxTQvouSZK?#xkZpNF$tzEcXA!#=*~dagGA@sEo;FK$ys1 zsbxyAVAF>`w3(f2zR}cjYBrXbO#xbermoo)%`Q z1MTWgyS?9?^_|*Ep4awSe|Y6CG75FIuGil6bra&BTXQQA(a@JoIT?HY+>j1h?3ABc zYq8*=vqRhD4S8{!?=faX&D>?5K6|+}h9>Sf8^u|v)&m6ajds2)#r@xN7bC!;l;-B@Xjh@0JOV}N1FzI+ zWr;xDy4$#mifkQ?a1pz1Z;od0}K5|aE(sRO*RtTaF zwjSC;vJg4FF01@zpAr`T`u)o1%2Q${?Wp#chBW8s*L%9N!dRggw79RH9};#2D>1@2 zSmLg<`VTtCSs!yUKo-x<`}*`v6Ll}$?iBp%pF2ChnA2xSPTMt9T>oWC>Y}=DyQ;dT zRNn!Y{I!t5(ssX-w74sHV#3D5X4#Gz4b+JLdjWLi-Zpg;MH$UcbiR>O*fg@q8snYN z(s&LD=m9_gL~XB?#%C$fCVvrJ_cm{!z9rLXTu2WqlHg)(r{NuHABg70 zg+L{O-^AX5daB*(Gp@CCkH>8xlE6;e@P6a;Pm)z5^6w9WqCS8U11E zFN4W9y3D;QcRe?Y%m|QwXPZ$Sd{&k_@Na#;rk!m|b+E}h$8c8X65#lJwcmF^1XLN- z8e_XHvha>i`}&8P(tx?Qdp=ZS#%mL;IE$(|F;N{)J6zwn;|;lOm6SNicSx{PQsg9+ zq14Yo6(+*s=Z;k*0p`6}9Z^;^{U`A>YF`D)?Dx)~ynYJk`6B`oHvm7BxbYA|%dQCe zfBoCag72)}Hq=T`0WP_me<(Gd_thYcI>O}fqcdDo!5-k%+l{6FnqK>tj6uME9)~Ld zdo~{u7CR!^qFEuEXX}iAFe2NTelPda(X`mI}v({vza8HK^odbx03|txu_pdM|s8E#kpS=aSBAu8lewJ5HvNb zq3S#94^gL99k4y=g;w4WW=r2`b?UZ+ju2^ymT?9jM@Fm^M*9Xlx-Bvn=gs9qkQWpYQ{L zzrsBE-y{1XP?g|3SCEb~-I;QKv_plZ`0WR*e8@yXzN0|1;`JOil0%GWOO~=CFgcBS zXM&dm0!6sDQk!&U!;gxRp|IWm{4^9+D|N@qjbXjC`U3zf29R>%b}QA9yW-XVG@`QW z5DM@Z7#!R`JOtu)%t-;p^SJjQ{UoO1<}0+|5r<>Nk$^P&9X*8pPD3BD6E$T-ECZY^ zrJS=W<}+_Z=Egvc?7o>2P~#;BM$8n_hci(jWAd+=2S!oO6W@+|%VyjcQ{~mJ)M}R_ zBqfHzLvyKSGc--#20p$e!7jg2WVgx0b>o-=9Q%G;P z6j=a|n6hsxv77}uLPMyr>5cHi@-FO>!uUe>9LG+V=I7aA!f?@TGmzd)?tm%Mv~hF} z7H-ri>j~n8XgFN~;Un?R?%!|Se0|B`M61eWlh-<-pbVU^yI}hvN(zw=0(;7MMZ4J$ zlaVLmb?1vb2wH|qA~%6$tk3OUu>iD956$^cJA+o=J5Xakt^D_mj- zc0$TqlZU;FJbeF|^nYt_5wr{VN1g@H++Cj-jp=~%{*)P=xG^v#OpxaG)wqpU_Wp&u z%Jk&-H~Dz;BJ3~o#J0^y1`GQua_P_4UD345lE_%8x5^9}QaeUD)!=Wgc5B-GN;Y~6 zRFr|MIO?6yQL9R%ZAU?sF@TV|uYo<*R9$^diL&G^!tHLTc=Tej)01C#4&x@6%?T~j3R>Q zWg*vEUq*pKd%s9WIdxF^Ly1X4tt>~O3J|nV4S`Y8bx?ztQFd=T44eX`#*{wHqnaW( zzfS-X#38S(s-2M!LaXcsq;(5W_m=c*pq5(%Nf#*BgA;uOqJ6+{(LXy6BuiR56qQD4 zCk#KvISlMPX+ZitoBfJBoqz!f#I<339sLTh(P{m_=Y9?R}ojYMP ziw!gTOuL+n%K6Aq7%0LGs!P)^v)_9RB#;Ax5BM=A!^DdUV=@CyH(NSuLnKRUQn~`! z{m5KC32ZSCcb6LBC&f=wkdzF-$^wLT$I6gLP+@jaTKohD*88m2EBGgN>>!83MC!^x9c|t?hMt*wVSV;Jf^|2^O4XkvrAo}WucPLT)o*l>xUmb$GB#bY zK}7ud!k6Zw$qZ15F}6`---Frt_%73wcFhR8LyZ?jxu_6F6z>jb;W?JtU?_OlQq#YI z+N~M$ImJ3CS!~_>_&%iRJA?G|<36d~- z+RioRFvr4Icjtm%B#uJHnn#vSKnJ15y@>w{0w@><;ve^JAUep_M5A51cKD@g)xL`Z z!k6#BAPmetv1w?p+8*HoYXC-8 znoLQ6I9OgWXOg=D>&LO1yd~MrNl8sB5ooHS|IB*_JTkb6C1PU4I1!MDDqyx~=*F$l zF0X?^?He8ad&0d)j=!rBF37ayKt7}x*!wv8QQwN;5jG`23 zc19|*=FR?+`}<`e$;; z!f3+mtyosUf4N%S&M2N64uM#tio6N^(!)?aKo(7WadBa@8_4m6b6yxr@gRBi*HjqQ zzFP8CRE-cyoTlJj3PWQSC1muixK(+jK&ZEhjoo?-c+`Go@MI4%e4F2?{MsgJa8i7) zRrKTsCw$jtKdD1kl29+_rpxOx4Iav&*881FgSHF8cUgaP`Ses@^CbyRT`FElJQSFx z-mcp4ysEz|;CTl}dk0^5y{8_T(!-rr-+J(1ZJ*@=j-^~fQV}G_u-0FX*s2%EOa-y% zv8I5T)F1BfLP0>Nf7x#;!;w_yN^C_O<+DewhzP`JMVQimy?3?W|D=u#tP4wQ=k!-8 zDjT;Ip^Lt!D;Y4P8)WPLe`9V>=@}i`R6Ujb73|_z7Q4%t*R(jBOATqvr#R&)#0CfR zj<4lBn^l|VlAD?_J3ze*acO^B+`?|>gvj~afU)@&dc9U(vE(zpk`@Y_I_?Fz8KPv6 zSTSP3H&Q=AKovGmBuNx{B!yz5sBdO&KDY12w5AMhH7K;4ou1Z2M7_>%^Gf(~cK{+p z`mfnbHqRPb*|$^2oxJauA4YxWE!>DZI-~$He>pq{j-FUd^Z&G!Q!~E{x+~HR5VKii z@N56yy30(Abyb#Jgtyw^{!uTqZR%S~_;B4DvwTn7u3(kl8)E`9;aV&Ptw-SpuptJIyKSj)}hn}8ff$4Pn3JJi>)xwzg^G7o|E@ZCh85}a&lZKh|>mYyIa2Cb&csXLeotI*K;4U#`yIX}%vYhRQW|tV;X6Vjm$Lzo)HJ zY%IU0@AZ>O0bnb2?F3l0C;IAqzacb$cjkNcxqD9!iB&rnvtD^ShZFj&X5tSvE*4Vv z$)O}uS*T5zc7LBeQI=OO`rTdLg4(bui`&%HnpECjCCidW(U zw44*-0Tv1DXqhTN=zdtayGKE0eQXy`J_j%E7IGm!%H~b!&BG5|y6?!u!Q4t&J$d%T z6(F#xg%%^2_fpM5JAA=i!U&Aa!;pz>;4K8XBkTub*dzA3# z_P-V>vmZZ6u9u%A7|L-am^%FyxhECzI$a^VQ-MHc;(}QUm7Ytj;c{Y8u77So4NzK_ zV}xQhG*=UO;D2XTQ$aK#1r%BWiV7+w{RD@5#nxwc4(%;HJ%(A=b4-6pVZT?GVozF+Vo2~$B(aslk6w`+5p5S zh+-qlx0AQ5eayO6oi|qM)Mz_N61iU!shjsWv>ql*@FZ~G4SRLyyMGly_&vs(N{0RT z4-R4fB%8bdmYsG$%VYc7&a(RN9_+>4C;^bW(2tbO=YMbvtY4Jh9REU;W_-}lvul5F0Q13^$Y7D=`t_L>6;$rm^mZOZtq~~x z=qK0*%@(IaJCKIkC|VDzx+x;ObxVo<-_3wQOiH>7W!o;p{gq4@|9xBPgZdrDp=&}n zYCzC`inNvgd+bqd{jUusi-R1pBo*R%ZvSz-hdwF8w?LDK+MY$z8RK{p^vA9L-6NZ9 z?ps?GK5HuSbP2e`0q8b0muUGQvdJzC!4$_A{;Dfeo0&>P!6R`ET<~#cpalj<616w- z9`n`;glfeO50D2{nfIDl=*6H4v4@u=$vyYJTQi~yA77nxyf{Jb&{fZDUaVj`*oiB0 ziuv*30$?vaE3tOjM>r*)C@~aSv;`>Mw#d8xPQD8C|LCuP61#qx7 zu#Nrdu2yP&l--PGfLBO>5IE4@>4(MgR%S;Jll=#OuYd&sj$?}(Y5`qJ5*^8*gFE=N%&CH_^^VJ_jaEBx!how zDJaW>N;)CYDg`*Rbz4e5>@B!L+AlU_PTI5vzbUE2IDZ)LO$bsC)1BWayqUtQ{+0#^ zq%P4ciDe)#ZSel-HF7z2S*~rU#laqT#+V|0_23)RX2Ni5>W}4B>M6i?J6PDLTc#YbMyp zxr8TO(!jZRj^KshzGgJ!M$Bx9}9&tpxi2EmLuR{CGN`>SY20jDttmf#2J$-g_C zPHiA$2C(Zl#HD{DyXF8#Uk4Pf+yQM0A_0Qt!Qr8f9q^~nx;KAZnnushag!|OO93XP zmjBGp=N!!j*GEk=qmKeqXrambHGHNNE{|P+rQ-54@W{4Jaruq;xVKJW?T}4+NS;oE zcro-D3DU!BxkmtJ$mZlZ{hL54^OB@)F14|-aZ4(f*Q&kd%QhZO+^u+AcM3s0$W~GB z?tsT;SfSF%U1su55F7Hoivb2KBLDeL7?A3H8hvn271Iv4=G8k}#c;$QmSeUS#%;R6 zQnWXk(rk8OiF%oYAl^9uKXL{&iSKcQ30}eoC6()Ly0d^ZK~UcXy~F(7u)@JH){(ogLgNNMLy>T9@@LNL}-l z%k(jOUwvRJ#5!p7{`8rBD|Apu1+4?Am~}!=Q>m5k=>sKp8qs3$HUyi6*Wtia79X3( zB4L%nlJ{+_uIAHic0a0^ZIOOqJKL&U`iHJAeR7*aiN1Dlu@zO=*5wD*=!P>MEFL`M zT!#j+^u)N>5S+v`Ge+$3`jr6&9F3ZOoi!!+$h#KkC@>4~J@9Z4dt_l|jO)v#AY%cB z41V$bf4?XoBUOX{@9=~s^28w(`9%*MhP_b7%`3x3tyU7q*sI^ZO{eeZ4weBxGwBBS zHRCFzUgfDI_0>CH<4^`NmQi|B+WZwpDZ>Uu!^BY1QRj}89-wPX1Q71K6@w_DG?Gp1 ze-BcPPf6~^1UNw{R<@5@4pf(Dd6Y1^i-~%(9m2R717kx3h$oonS`towD-#_Ucr3Kj z2rmQ6XM(m9&Yc>B$_wm>qoKiYnCwp&cg8z$Q&6HyX+@%P+o45&4Y&DRXqgyfOj~D8 z{Y%DCltegazvz|Nvzltctmo^XMmsh0w?U9p%M+ZLU0h%j79Yq9@QbtJ$LFtf?ZV(Wp zMQH=+7`jUuL{gCM5(()>Nfl`jlpI3o?!0?E|L=bHx?Jm=bn3PFE0^Bk{DJSu5y=ANufn)^~Te?EmV&CoLL|epj;Z;Wnbs#O6F>*0WP(Svn z|JktCp~&!v0pQB#@{qMU1YpUzlMAs zjgY!cSqBw!RD}?5LMj|^dr-ZxnvRDit+mAC@f8`@(PG9Y%L1!@%1RvAh<2E zhq<+Ncpf4HUutqL^+Ijj{Br*>wfoAan$8^Ffem!@BpbFb*HI2bqsaK72@??xF$G5R$~g)r0(w z8{+H8#Br+U-mjXVT+GcabypcoLrLOq`q=@9G83&feG%0$bkNtvn9r?%=;K|j7=bN! z$Pc;C!K)*4^Csmhw7k{O=U(|r$Vr9MrwY(gkY zAvT__C5&`>rDfOEI`Pbt9U&RzTG>-xV2QN}jZ67?VRnghRX;PJd*`x9WdtEY8$?9l~^@>)q#l_2-6qwualXt^z(1 zWJ#47^<9#_2T=J+mUoFR#n|QP)7KK?MBkw>E`+3mTT`AyjE?NevI)3Z>)8a8)WfLi z;~COs)8m-rHe(I4!eD<-+gI6v(;)T12LGBRI7BN|+*6?GQhSxJF+2`#_OlLwU{K7^ z%Q+w=jCR}!8~yc1KJ9eH#5-GM=cNXfSxtCjV`IIir8oCA3o|>%d-&fH$x#r*skifk zV4P4^j)ho0$;qplT>egdUz<|b=5KX~K%8piN2CmxI$G@oyl}}H_197O=3E;`%O&-1 zc+21Lj>pR+=h!>m)0ABOBsH<^nxC2_LghoFKC^oEm;G4dTN|(%k`c>AIPqKCT-1VP z?vg*nM6IpbMTrrJ2hs~yboH3O$P0vQ`0ZqtL6Z@|RP-LMLHuFAuz% z$EA-sA#L|EQ3V;4-{&JPe5SopCr@Qbt6W9>Y38)RrYs5SU)kfp@TWk?o!*47_yAQH z8JJEB&6|v2^Fz9)+`>!&yF8wlST;I)!a5>6e0OS6$3WGi6DVu>Rdy&9Ydw3gUdwKV zZ!X)-B_{Pp=Cfzf{_4@KyQx?kY})lnP$zQeqZ8VHCj0_G0g%7rZP{%z@UONJxClfw zP?+U&~apuySu|xx@W2v@)WRU;O}1j7!5nwR&Li&n3n^ zaDma^E?%xnheRI8?*|kUzB3G&$s%{ik=+bIE7g4q{^Rfo+K-?YH0Blmzt)X7W<-O+ z3^ik~D?!x5IMt^y`48!OPPdr<2>9sWo_1&iytw#65wl0Ex?rw?Dg7|%() zwLG|0N$37$^H||gIzQpE=ZF7x_i?_S| zmyy^eRS*0<%f}0^>P_OE)Z-{m`A?G#r*hf8^86zDbNB8rCq4}9dGoGrSlj`c(trG= zi_{D#L=j`}3+x8E`zZ?rJIS@PBpN_Q?^kioHe>TA5B%WTI~Q)Q|;SDOq4W#E^~Zl1Twzx}e+t)a80O?>POKF>~V9 zSlP;o#;Yo|{O;#(l*V;&udh_beD>DRp3|x1z2I}3?XX0t3p9Dr`Wv5V{jKSy$D3VC zxLOvjbopU3aO|2|wk?&EY!b4@#Qg)GuyEH=0(EItTsA*~C-}u2?nf7Z7 z4wi%}TSn1lS^<&0)&AC(v!9_fvd=VOPX-#WA$xb@`!IA~nV6g9xCBtezMw<_bRM8@ zhlpzZx(>DVN0tP)r~vLYtj&L2T$)^XBS&In9d<^Dz7p@S_#>+EQfTGTF>slm)IaR~ z+-lJtaT}DOY<_7bxse6&xqKzL#RQL3aC*|LRZ;fFI>nb+ZJjalQ+)$ zF2(?#4bw07ayX&g3Q$;3-VZ2e0}MrsL!7{ddDE+Tt&PxYUo~Hgf|;D0-&>zYN;I7B z;Zg+jvK3()Q1=K@BXE}1<&e$Xs}l3lxVw;9fxqp-mlcs5OhhV>S*RT4tV4Vy?9JO) zqA7hvtS0b)dm-Cc)s$&nb=-O1=#55fP>hdmaLRgKY;$KA8L2%jYT+{Hz{)$d-u zh{#dYn@|anS4^ZAiK`@oUirLUV1_v9u7aJQ@%A%FD7*>E(WJ@BpO(N>b# zrSf%2yrfI59E?b(k$rGYzHQU*2;y^yhM@yzmKxlcJU)b89*dmJ!$f=cqO9RG448by zb!C;Bqvj!b>Ou)G7c-@V3ln}s$1k;b2@zt*p3VN$8qbseREq<7DNQ3+DyrY+@I7@hFhE>WY*S{x z1#BY#*`AlDfa)!%mcWaUbwZ{JFv89~EQE}uYHVP}9KsUZV&wHm$oS*6-uoc=>K;r< zdaNsksT#}zkUqU>5&VLP(D(Y(& zOjt4DAK7s`Ttg&F5sHw5uLhvWhSOWmASex%i++)fzCg)qMaRteN$v8CuO z&~M@)yF@mz%SPj7C4(?oi=A^+i;0$dKq0w7PpLfmewwLFP4tCF?88o)PDJqqRlnF{OR6{Pli^& z{q|>Z(1mCQV@I<2x!qn}U5yIF3FZ}Xff{+IGpRCVLo>qVAfd*pQ)i-xdj!yvoT9B0 zHecZTBlFIy+kFa9UZ8}=Ww$lz5tXwb`({?Mtv$GM5;S$FB_7cU;X;_<$qOaFhm1lw zmrAq>f9)xPeZ6b?+TMs=L;aVih@{Pq>b;xm%Z-HgW4>SI<&er1*XgdNwEa4R#*8_) zhJ#rdSgf`0GniRij{9Pn8=v9yix;Xk$3~BJE^U}O_ zngFM5zWc~`B}-4!J|7Ia2Q&Fq)qEZz+I~{X>_^`*H6S<_vqR^(mj8_*vJb@`mX9e0 z;L_?#Vk-zUOpt<=N(7)6eDmOu&psP^vov(du?VuI{<5ylqET7u=NFNIIT}^fjMjA6 zvTngZB^k~0u{aPBWtS!f@cPb`?M(5zWqeh?S@A%@x9yf@jmbxBPw0PhA`kiF5H&%9 zpxqUCc6A&g=gH-pT{l*}EY{PF8S)N3<7XWGV9YZF_Wi`&Qt9{$rOhyh_t9XQ@#YUM zRZ8m2#zxVxF_Mu7(ouMuZMQCDyI&MW>_St@Qtpe}+XX|QqtP1<^5c>Lm`yIf3Ava4<>Wi-GQ63wa0vZ!H9OG z9S#L1%Caxv_sR-e02&Q1JCeSIVo&&6d})R{o1U2HF*IPM>H#iu#G~;cCJqQ<=?}ZX z_`07{cCZ3$Nwi^DM@H%|R%ph-rfLt6)atu;HkhxqbJLkPpfy6$dzLMgoMm96kKpJM z<0r$=2efMnco#QuKU4{(;aqh7z1&A7a`n0!^fmpfy@UV?>=6HXNElfyC`zRKV}TmWiCh@;i3t258dKm7zrJ{oT@5Gm`Mkih}&j5 z${NJM?f@^yY-yDPv5g)=EU%pWx(J!e=XBd>E?N8Lk64L@dwj}6a-;|BRw`slL%JsxMqm-Z@F^zGX6x5Tk?)K6+mc$EdMt>8FqV2pM}`=U9ZSw8SH zPf(Zsj(o^vIC}}sgUi})T>nWA)l-LVYTg{R-!LBnrNoDMU6RRLcmKs z+GWJ6v+}v)zI`wx)bGcf59WXorj+1zcLbTi225yA8s7dpla_amPxE_}vnELUc9i7bo2P-3z zy7{T`FQtR|KKg)`jjy151v~6{%=yGLk7M5@4Hyoe&n_sO1z+4yh}tp{;Gub{p>Y`@ zas5@sthPK5Qcapy7Qf{9M=?=}3GT>0-~7P@2RpHQc9}ujJ;mf(M$g+#XOhiGgxDt+ zVBsW2pNb4ds7k++>HQNVBz9ikY*z8etG7rYD`jg?MZ9|khMW^b=&-~OA|WSu(RM$R zjR=TI=$V_{mi*d+ptX(mG6f1UxAZ7Xg}V68Qz`th`Fja?5fYG+fboV~V0b+m?bc8J zH!^RuQ*3XgythNN&N9QsMFe`}Eo~yoQXJ$LZ2uUv*;Jojp4mym9_oBRW~^ZN{u07x z<=N(s1>oyoS|aZwaMZxgPcGX{`$r0VtcE{w&t2N&TW9vq@7IWxXgDQA#sTbKmzTx=u|8jNCvWUCI;Cr z{e#a8cydN!+uzKx^fA@gKk02MubvmA9WiHaJcW(SL+&d+kB(RDf3gau6D&-_1V7Z@ z?9^VBSWX8#%FS3cA)E#(u2b{ z2p<=PP0ax!cED4td;L+aO#5OjcrtI8^f3LJABN2VUsO#!{Gv0!R==XYv+f8y?9Jd~ zJ%193OAC*&F~h;2yUqAHJT@Jfd{)S8_yPKM`BgZeZ~{+7Xm8sp&qkiiyg$i33^6CBM zfOR;w{suJLRaNIbdteV_nqesW4X4re8XN@eQy_+8?6_hN7h3E}VJ6S*n4K8U8!$x` zF#L+iPakx}2v{n8s5LU2Iw_A|pM(RF*CtfJ^V&ubCO)7jeydY-Us%}UxCo4K_By>8 z?Ifq+hy2o3>Pp`O`G7e@<~~%r==u3mcJyPb0kLiii5(T@_ev2vF|PH zUv?}?PD!z<9_x?5sgiFU-hzRQaXOBx3vLR~p#x&vCm zPX7rguu74FAJZ1Ws4~aBTM)*3s!EoM913KGaW0FwF394E5|X^@RPx0@JxIaq$~wBr zeCT{l7%7HV2VU`Oa<(;ar( z_~ask-i$x26w^JE-{r_3@8wwf>F;REx8C4eC}}s{OwiM|rd4Lcro~i#3+hA57_>v% zWn%LmB!gg*2Mys9{>#7(Is9IR|MT0+!pW%$lLVs1-+im%xujtmapAt$R#b$?96ima z6eU|oeOHSepmkM5$WQZM+x_1>`~JBq1V#L3Grgzc%Dfx~E@wOW?vRd8+pA;KzD&zN zbF>)IobPR>G+4~X9?5RiY-Ht*ey|uHH%kqP>jcz}Zu7N)YdWC{o&7SMwDOSEuM(U`i(r&AjHRJ@iue^g`M53ejb)%a1CcDuu z6EVS47!n(P?s1SZWz(`5ZsS4!_S$ne0*r}$0z|JV(|AC55}~RMouct9P%fuj4Gsti zvu0^u0qW*V@j8TB>;tH*&J#aftdR@ym2Z8_Z>lAWM-goC1$zcu^*PZ+gjw_^>sz?+ z1No3PSx@Mzw`Li)gO+tGu0DZjh!=s#{WY1IC^3GXnFu9_zWBxrK*V@O=Ryz#dCO@R z#OK>X%sG0Pb5Ky6*o^D83T`n^v!l1aC;aaYKt4*Ist-ivLoe64uM3;UgF|LhXDkU@ zw3YtLTKo`IumT;TaQQ$8bl!c(|85`LLgLFSLQX{yocFTq@xLtZT?_Sdz@F7z#}5SF zy$vHrXx=4&Z~{A8(j@*8LIT&6bPXq{Of|A~w+Iu);b0NTx01A?XVlGe^_a)z?;Cy? zC0tp_Uq+kzPcB322$1b9xhuIhFvFP)ymwikeiacZ_3gv6n3yT3aqaz?E_tPLmuA`* z2CslqtlyAnj4ZhFY)#|PJ z(j0ujnK~`SIQjYgNw+yD-slkRK#aT1eAA^l*)SVF)~CZzF;M-nweP*m|JrR7YDDL3^-|0AM)IGXgV8@n+@?r2P z_$FED{)+WHCi<#=at>iTKB?lJcwN;|mcy49!T6)+rOP&wc z+~k<}Zu>fB){sCxDN99knFj|7j_vFX1kp?$mM*vi6Ln=X z@pXxuM(l)4_8}0SdHOCkneP;3(AkfY?4>d{lwtx+CXKtyF8jLV%IEs{&o^P+Kp>b& z-}xsI#z}lCA^vO*B{3Ev0h;e_^tOBDzl4{ z6C8zuL=i`{cx`DeGa(CO)m}}TMC+Dq`%MSoC4X$z?VfFYRl>C>{JU*iK^J*3Fq2pC zU4#nMm}hhu(*5@N!Nw83)_6{zBNrq}Y+CdPX}}RLix#9M=nYwz7%j8-zM3==|JQii zdA=W366bEjLf7TKa?C<*+35hGUh`AymWGv;vF)Oqw>`V}4fnZ@qowcfD&yt$SHhZZ zkzZM#It*)~INo0$;Siy5c=#>iVNThv(8PE{fwZK6BFeeSZ~@qLvjKw}2)B%ubP{+| zn&WX&*d$XcPsjO{Z!fED3?k0mPdj$u=x;cB&w!GKrrBk4rW8ls`;8_1X}n>!`x%R< zVehxaEo&qe8nAKz7;jgu9h6#R_cqYs@piuMDDoR!Kc>{JG40V1DECmVrg;e z++bL2D~;Fg@Dm&%>dSIgF1~tRXb%I*gj?@LUg$sanXGAnNw>l>=oI3B7~{$IfZGJU zRf~&@MAc;$BgJuJn62*gJ%FeD>UP*Va=tLoTLFjonk3-%&)og0@F6WVtVN-GZ+(Wy zV;ZablWv#e@mDxRa|U3vbD}cUh9;eNwI=988}oMs*4=I~YuoKF*WHiOWQ(uc?T8 zAM8?&%-F0`kk>l@mEYMtJ3Zz!Xb{M@z4vrrBbn8XmU_SqRZ5P7_ZjtSnJ4B#R3MfF zW1!2lCJley_t7>@Gdq?KimX!85Gnc~4BAA6nj|3RO6JCE4N3##?Ck855`*xjv&At=@si{Esp|bR zPOsBLx^Py(MNSuoK18-;AV)#QIx-OJa~u^L-+OI6_3O%k72a3F6vCeUEyaJ<1gXt?f&DH=eSc~qTw~9o~RjxgFgkD@=~`*D*1|Sf_;VGvXSHbYYj3&M9NcL zM}f_&w$8E7Zn1G^dU9wMX~j_Cw`SgNc#1bEEs}lA+Y~B7D>~pU`bbeNRW~u&oQFJ& z!>VV-hTjxh@H)b0Ret*o_j6lkWDv1Ydz_j}j=F-K2!0rE1M0zp2lwj>X^%@CsGE>; z-*C7Y<}IXUg+iM7W0YpZ>rAFVk8w^lj#?D75u@r4ST7%OG-ZFRZsn3sWlDap%p9Om zq?MPKr#pFr{X@dB(%$E}s03nlvS6%i%x>W^x)YqLRM968vS>rMoDX|ZNpbeZ0+Rwy zn4;P}mq@=D=1kO*LhIE$^#a^B>=^_(cOUr(EJJ_mQhHfa-3#Tb2rFdmOP3+iJ2f8@ z@UI69O60}9h9EErdnSXczFMunq>_tlZZdn-ugAXLl6z-}z9hXp`2=mf z&?Zyw6OvmIvOx-OZ+?y2i%A3*UpO31MPyd`aun;CKqlU1_gXkhTMPt7W;{FG=uaU9 z0gBbvsXO|-m(N1YYlP_VaD4W*kdRE_=w{=Py`v3sA?&_2YTT@Uy7`_d`Ny?@!D!xw znoBc_wLjRc{jNr`NS`=>MsZI(gprJh-(B4+0(f7tlx@MBR5ufI2~q1B>R+Kd+5O#> zlJ+WympGstPS4J`Awnz;3i-m+r-J;Uf=i>w>Mfxa$Cq|j5vw`1TpkX+O+EZ#@Z6Ix z6L2Fr@_pl(*-uO)PYv~JJ!f@#I5Oy`WY86GVxW+(%Q%x&O)J?RF+zvzp?qRsL>oAu zdeoxU--Lr7GwM!QJO0AuSQ3A-J=8sp|LjtqJwDd>(=Ry z%>-nL+K7~>6{KkiBkyjVb)=o~i+&JbxFDh>ps0 z>DR&s^!pZb#Mi=DIdsP3h*+kt)&hEq50jYLvlEz-tqTb9_-@SXX5PG)Br7HBe&1(i z!IkBG*DuY}^8S-=G%8}%hH>xkg-h7=1?aNn7;_I-4zf?dlg;wVIPboHbM^+S&zAzG$!pC3pIQ< zVY1-np#>LX*mcY@gBa>EMN&(F%wM6aNUo?dd8p_V(z4jCuOfCh2fOf4^kk!zNc?2O zIPDg{;o)RBjYmmrXTwV#ck!c;fw`zgBF_^!{^E%yS1ZdGOCk20tEUT$fubBfUsxVd zCmdweQi>l;c0XyVp6?JWW~aFFoZf#y!E_Rru*I92#;mM^KYmJzdnf)c{ZpD zZ&G`#?2GMgHJ^8YrJQn`?L1$dIp6;@bv#rmcj@!9SNyQVmj0@VBG*-PX8q!fVQbx~ zj}B6U#Kbn`&c}Xe^d=5Ot7W3xa#_iZ(f_9wKm$*=j~m^@ zqeAG8Z}eklXUDl|J7wK#zn*o5syq)@5&4nyHEA zBMX(LgDJ){)3uk)`voq3jWnlim@BTefN=5mMFD;;vN7P)u%Y*l))<*M7+v>Vn)f~r zulCw{fQv3lYuNlrDPDX|f)y#~8rmX_tCH*vE9WB#mdsfwr!Nc&Zkk>_Y{(`<%uUWR zDs$@9@tvRiHV$K@elL$@ir70tmF%2}OLMczvR6_V+)jWH8~0JM6gN(wQf39fS;8+B+F)M64$2bRM}(w|7(+Yg%CboiQZmT zXcY7JFGYn{B4umez$XC)0F1q(eay$xHE&m>rD!KI7xEibH9ylH23V`45rBC~qtonf z3sC-&^Yx{p>c_!Y5^Y;rf_-J=Z;hD|36Ue1NNUMvUgB%K_~{9n)q*o(?HB2(^VFm# z%~AKU_(}29>BQ8Hfbv@dsH#G(!pDWf;OupBKh_76A*9G0%3}#@Q{99U3tRXUFUU7j z$)T02V|c*HJsD}%H#9#y3Sag<<{!zF`mwpW8Ai%U=>Enii8om+Uy}ti3*;N7cl%H= zJ)*usH{Rsxc{aTk(3-Qb{G15S$4Leqd4nQ5(kCiBJp6ftZ*u;y`QYH7)qQ}4b{9wy z*!gYwLpmgzxeWlrb?rw%#uF07*6ITE z#}05T?7E>?Tr#V@5&&c>BPIuw3djY^=dr0WQAeg2bXqKv_6X3u%~V5^2>&wveMG>G zZvCLAA#u@@^VaZVud<<76qyl{(D*#O1mlC}hT?MOGdFzA4dly3!`m-J z$CkICjved@PM@P{^rIhXYUvIzP@&^+klUJ zLhF`!%*Dtz3{U=$B`*kZF;;!cVV}y*L|uMFp)A$W*;!)HNa1<-ETrmbhLF~muLBmV&JYU@}sYs$&Y$?m$h+{q(b zOY(pxg~JbXqDNhr*vte%t_Nd%rj=pW%0~M+p??%q4!;XzYVai5Pk)3bp+2BRMxB;# zZTiaE`%%AxT`o`mbC~-%1LDl%I8vcDcATfRVYJ>5yK!C zJV5!Hg~Py+%#-#&{DTL&qp7W{zlc&SQbR;nSHXeQ8_$U@s7q#{)E9~w(>&}(U#6p| zy$;YpG+r(*U(VJ~omzJhST}7of}1vg@v;b)lB*`lp5THZY)1~gOgnASwK+ME<2P_$ zX0)l8+WJO%?#?ZJkybseCj61ogvY$QG?kJ=ZTTUa!vK>Wo5B{x%OEv#)PZ=Lw{tBg z;Alp9fg10=4J$>Y(}H)b`+Wwkk+dh7qVHMgA5hJ|X@-UCuLnM!HX?TPrI7}S$)Qc4 z(+`^-=>Ao~rTbV?{DWqE;w~O%d>2Ik58D7Lu)vcRVr@X4t#0%PRilVBfr(aeSF=NM zUl*Eg@n)xmh0Shtn|2>Wh?(+uCX)z6)?$aUe6r}i=UFHmQMZIO_ZmQ{XZ-&ygqg=HuRm>O zI5#0Y0z(B(kNRPkS(YF{wbxwu}e97;spcNu2*01XM6IRYTlM>tz5v7&85xRSf8z9J+;il=$i8_ehcl!_0n1Ea z5qADJ&I}>cIf0qWzV3+ZGXQ9s@*?#T53P?^e6zYY(ZMM#OD)^Jucsh;J4o zb+SsHovT|fkPO0DB~^zI*uU<;yJ3k=Xx?hx6P8i73E~4S;n{Rsri6>UbGjIo>&QlArzF zaFn+OAFbvW3rcpd2RqA08ptRlOi)&iT{WOQ{89g7-$-f-MP zMS}4`zqVvFD|H@US590d+e19Nsx}g9S37Q;1RqH-Qzn3rZ|+n{UTcsGnq*E{*wA)6 zXHYNp>GFKxP^RRMF@Z4zl{!{k5+1JB_djhS zB;0<8H~(~{rDn(eW(jt>HGsIZpe3olfO?1gxm=zNGJfl^d78DKH=|GRc!b)6Xhxw2_xUs zI6i)n*0`$%Y;9;LEADy|DK8!)te24jSOTp=xGFt?gK4b#6}sUj8WBs@}CAf5hdRXL6sh6=*7gF`QGDiUcV@#DLJqCis{k)W}dZ}`3E@JQI!IMb_O zicg#EX2;&ec^}yIg|6&X z{06ZUcy&#dZ*Opbt`(@ww7^5OWj+{HbB-ODyJl6A)b6;WMxj2XdpGw!6|HN^CHpZ3 zoS@)nROkZ=xBjHxb}XL0Rb-cBO|OtyOe3?{$yy7h7rFxUri+{^Gi* zH>!HcD_wPIw)VjPRWtSYYjt96z;K(ChE@h#_9ObjPH#_U#!ip-y%!Y?2W|xmW7f{|G#jz)Ua?!AMT!ESOY!TT)G$%C{K-q9 zc*+%n5j$^;ZcHy_ZJ6dYH`QI23g&18d=Xmm1q08f!BbikLbfY^VGLwu{}X!ehZM?mu)si_?2SErh>fr-$Y2q{NaW75 z#i+kMCxw50$WjnS`Y@fPdP5?NN#H2$gDp)@z<3S}Y1L%@TiCd-L4V%ynB0v2z5iXW#=&A^_99bV z&3%vbMvU}I;bx-nii4aJ@*_Pk%QTUTzINjhBGM5W6IW4#p_~!|5Z&p&c-;-z^w60G^!{uZ5RxW)0Y*nGo5kGcb*u|M_n3@zGH+m6a z_tMHyRW=w=LFy>y3RX6s@o}u4GgF=a{)qSXS@&9sww_Ln!!p=MYR@HYH30z0*5m>4 zUGs6i3f%Pm&($cEZ2{i?=gs$$n6Kmbyh#+VsV`jRBfud`21Ic9cLamuR?jye3OL=L zINQ!2e%uu|lWVDJ)iuYgPDa@G*W5(r4B_8V?L{0qHTP7pCZh!i80U>()v-vEBxa9#Zh9Zii z{9nw4BhKV=k^IW@(|~Qve+P=j>(%N!tA+Pwk@q&^nD;0+F~*)oBZJGIz@xEG>CM|6 z!c%&HZ%Y0VNn7dg(ARJP%73?vAky_G)=z3i)i?mV8kb}id65ejqRO0afHj5|kNt?m zc3N3WcIKl%oOV9>e}&vvT;Z!gVqg?G(8N)J(pe94>^5iG55}tbTT;@R2R9zn+N_^q zXok0+5wyA#+?)TIIhfSCqc(JHe(UPrtRHn5VYXC8a;I(dDMqflkbYbmd`8zQq|MIr zl#3*Bg=!B$>j?TECp!ZXH87#0qf4%`Gl8KOGQI7a)*i{pCITFrg^x9=kSfP}sNcZi_z4Xj&Lnx9C)lRE-rUZ+607v>UzHMXe1 zeme=>+&I+IS81VndzG!%IfPyR#e+(0pv;#@>XkYbDk7*P;u zn<>}rpYNb5;ydf6zOBZ(%Z+YOlfGA!ws&NZkAjNSUc;A?m zUM2`*!}VVZ1J8D{ZP70USMW#f|>eSxrcuV+VsT~FF2<9 z>9Ug?DN+z(!MMRxucO7nCnZ0p4m!rxd7IIgz=E{-%)^e}FE#{g(+vO>DU>Z{%M5*^ z^WTW)Jj<(|sv|k7)66Y|ma87hW!5V}l97R}2*;-k)SA+&mfgNCnk-@;H(^*rNmDT2 z2c2MHKOkAGOui^V)G**0hJt+(7(kH;gljxgRHJQzOw5pyNSzuC8|BgibekqB=IlS2M6zff)9sx7U+>>22BhXZj~2=b5fa z)OESREzC&x^<(&Taxu599OM%|6U(wDcg8QbzbgXdmtl6Jo3P+4L$%I4{5DRIk$fwi zSqeYNhzyhil7)il2Y-#RgFueURu4JLnbqWwuz3A@g_LYG7Zv>0`7160l1P7sfN&&o zMHMb-TYF_`GHwOBCEY8?FctFd(ky%|D8OLZS&DZPF#QSO zqFSRj!ovyF1Q=AT1n{+sw31R&*NhbJfX8?T?_M*(jz|gnojuNTL`id+(z$~Zr0g(! zTh9VXcH2xK`?WD<=_vk3Ts_!daWCC5B~q)QO3qvq!65=c$Ajfy&zxkwb)Ur913FUh zHHlVRNa|DhnvObON#H;EYZLP?ZFpIf`WaX(`S@aryssF|T*Z9B@1=)StR*GI$)c_w zgF3Zq912Tj-6EKrfb3d_5RcBENbI1mcdfw{oB>2enLjzOP8a*q3#s4*b1X$)Ln!9Na~;f1NiZQY2)Z!Lk-bs)pw z382Udhk@U`FO(zk!EsVagkdxrmh?hMV&M7zOkFS0z<%n4+5wr0 zRi+aY2J-*%^!C14@#+5t;sn(ZZ~XP0S4Rc6QYkw-JLjh(?FLX^-zX=BbV3-zO9CTY zgf@4*?`_9(7CAL}YJR*WI}C>F3frp+pd!eU=Nv&&2niEt34-1%ijdGGy)XNG7lG)T z1gDHiqm|4)K(mv42CG)R-r%}=96zheFf{irhnubhv`yi^UBV<}8y_vz(@lX0c6X~o zy->0D`4((CIp0e0$o?8rSpVn@!GO+%M<( z|GdNY7aW=ooJ0{E>=SI5q~L!nbPNSEe&5#k3efpUHZeqgMf&;So-$q10T(u0J zPlNe2XKZrQ9!5xh%pd)!grYx3^6Z9fFPCX}e zS3$03o^Fr?-7WDv-vVxg=$2?xRoy_@{qdOuqZBHtQ1Hix44Bn%V>ny zlDNf~K%D~D-kq5AkNaLU0}c)pJ7f?WVayQ&3sFf#1DO1J&uzDz^MyDNuz@+v(`Ivy z>!gcLtPfj7Z9<~_u)4F+sZGE1ac=svG5kmX z^CPA*fIX-2-uosrM_=Wp4(fF`!!hQ=#HR7Eseb+Nm#)oQC=uHBbY4HI><^3;dH8vj z>q(U&9(>In+(Z>RzyYN~ZtSuU3p|s&zbql6n5&`5PtK#HH0k343l0(8Kl6@^fNW&l?zy5cJ#2l!K%^D@!W7hh+ER^R=9LL8}M zhk7QQjg|ngytPzV5=eY@(tF;}>U|p{HP6!Lrc=Uh;-;jgR;e@bMh0Rv1Noermp5wz z>8rw$CYFD{dRnK?z=IUVu}K~2YRgFFr3$?Jo3dS00ZKtfI}*lL#dS_O%Jn!pi7G#R zQY+A`TS~e9uWag81e~{qpvV!&>FsN13fh$5P-uOQ`#Y#>BDHpPBuh4eghr@Mxc?xo zn0pf=p|MH;^n9!xll-a9`XQzfo1M%0_f>ZKbMUjJVfm;d9bdA^Mh%X#o>VQfH za|f#@A5S@|TuGmD#JhV{Y^=R|1?Rm|qhg(_PlAA_17Z^`S78fW6$a4vb{B&)I8cF? zV|oo>7(9D#s)&>0=@^6-HfQTlVP%(`Vi!2BZU{Nc8|oYB8%JGb4K2+af-GFtVG zyTWyw6oh}}2GLCPm3}PLH!jk0KU&O#1j=vJF{Mp&`L6|PHqn1u%amxH#MpvFfgAnC zLIZ1e_M}_1nL;Pf>d+Jtf4k?|T7?8|IZ+RRV$`hr-j39AOw0Y=^twVy=z-67m0 zZh=f4K{4TvYX}5sx`K?PrgQlJ{M*2R3gn73qW$FX1WJM$U?H(ahUYc0+&(u&WUx+f zl#^GeKydQ4W->8TNkt`(>n~qP(6}lkVTidH-FQ)8>+4nVXBRV59C){S6x#t6cv3!R{~oFAa!XZxaNykgu)rm@`w?S*F=x%Ip+v zb1>g&MsmZi+Klk*EJZl+{PFKZKa=36RBm?(g64)w-h9#?i`+@Ou^wOJ`S3|X%^ovc zum}r7DK%O~eX?6u!ZU=-NpKZ4O5vr7hVzI&3@;g9+o-kw3nY!uxU*B)hQs&vRgK>w zj0BlVBFQ56@88S8j1T^-y7Loxr(V!S6gHIuHdU*2@{?AfW0_b7TnrpW*DaIWk|4Kf zUmQ%WsF$eDxR@-)v_-z5*82J;McCQ8oO$)Zwv>9obNIS}Oe+#Df$sVru+>|dsES!7 zBh_CwU(EojST1C3#SA->u!h7a;4)7rTA0k-80RVpQqrI#{8k`-I<}Qq07k~DhrwiM zXU73ltNhFE^2lrn|NZ+yC4|Acp+Us4q2Q!<6nopJ!5+Y${*nDj_jS+xiIMdT0$*5w z3Hd}$SzoH){nK5{BK!?X;;c0vtvS0OY?zq!+&ejg-|Go``^$flYNqF?8a zWjYmLDY7en0oMSZExqe-{9uGl()mBC^V!Wsiw@hrEa^T9-re(YUFH0_;qLgt@&yai z4KVp%pWLg#{J0V=5xDzP>`sF&3uNbnpt2#I9=aRklXi#SRSs`A&QC8gU&dMR1qYT_ z`2X~D_loX*wg`veV8ipxrmdFwjqLPrMlwF9j z3{tj2_BFDMedc%O?fd!tJ@YL0eeQGabFS+;_cJE*Z$=39fX*2RwCO&J)*SYi)>FFm zp!DU|eV#85k#U9Jj)88pweV+1+GbmYVcN>BKh3lT$7!mZ<0W5}M5`2_L7f&-d%frL z9a_P3^_*K|6qDw;4Ook1YBrV!VI_@PfH56&8zds?Dufp64<^fdq~xV^9N%nED7&Ec ztjW~vc0W$?`G0rK7vm*MfBx%@EZueHx!Y0DPV?<4Iv@JIqOA!%ZW9)z*~5i}VFwsK zmDLW3$9J1E?t>MO?qxk7Cpj(Xz=HeH13;oS?dWXwJB`MHITS#DOOd<$j-7@s|DK+g zHn~3!D>Gd4Z#+LtX~np>Lf%V;^qp4k97k`azm;W|zV`;Cz8Wg(uzQ!D^Z~9MG|1=7 zYWjkGHAjQ{JdAYfu8k^RB?`20;l1EIYxL|w2fGZR?6xI@B1JcK!IMEw3+@nsaS(w; zId8ZttvcQ4{Z-aVd+XTvVeI~yIpMq{!taAZ^^B36cocrT@ulbP_`m2Dqwwf?_KZ%L z3FWEJ>Az^t1q$0c2^IVlRx=Iu3$7uKSyXNQ6006$7cjj`S)4YN3>QH-pSgobf?cENpFCk27 z;+*KobJlJhw`AQFSrE$;Cqa&v6yTqCd1HM_x@v1kT6o=Psza0`%CYB)-GT@!dNNiC zo9+#o5J&>#<_RNn-nwjVI48h$5AubW>pKRT9zvQ*z%{uU;zTzSl618yJ;&L>gm8(Y zj@lnI6Uy8!a80$w>zXWvTnw9m1+U-x5-}5Okh~x%pVd2i3qCV|>*z`fbyIHJr ztO;%PoWKg|awSq%wlfQl@)!FSKwJS3fypXS8Q@g8BBEgE@ zD+9x+aVswLiFuoST6zhq>9O&0i8&V*J^1i|f6CgdLFwl;C^X!J|fka9-gSp zkbCdBr{nno6vB{IQ>_-S+mNuBgclt5DyL{+te;qu^%DUl5@5W#nGEqobQ zT~a1q5C_g_WxKj#aOp}FV+-eKk!tkvRj5~}=U9r*m;nSQQXa+C}b1}5Q%gVt@UYR?brW>NaSZAn)bSjwNim z#FHmtxv?T&!45ehe3U1_wts+AQP%4`Pg_UvH+yBrDG%?wVNM@OKNbPsn)Z|tmfr02 z5Q)ev{;Bztnn0e2hN~HhfhjRQiw{2TSYmmrFQh5v1Ry=5?<&S|9zVqs6o*=`LYSL! zeGI?X^+E%~pE0!7dMMv7M!vSW5!r2D?dev`38{9JJfo0FSp7X%O%Fs1aR;$vg(zV~ zvg?O)P7AMm_kJt%V>)URM_mBr&DCN~tG!1}>cXIwaqTr{DPi2VQ!BX)KOeG*JIKRV z$q{7YLDGl~X30uDtC6b6yQX|Zf1kkl6OS_{LRi;$nH4i8QoH{Y5Kk%iU|c888|kxQ zVnFagYMC^Z6|%B5d2+1Zc3R#I#e2%6?%KFGn^E3?Q#(|clqYLNP7AO5{YTXQXZRvR zS=@Qh7|yKZK5Kw*F{6@S=|A$eMDDyX0d`fZY!DUqX^)Y(vFS-LS^NH`U0zOqL=vX0 z?4K?4P#w5leeA7Ly>fl>$Mh2WWP$stEo9VOLO!E~6r!Vto>Tg}!CjKTWA_@3R9=j-}0Igx;5Zxy+v8FzBWmLT&UeZ7dhw4Jp~izYCNTPJ1xfu?CyUIW@< z{$AcHiYq~g^MlM@ybK4vK-9?&n7br&7D*dSe06%hoR^BM@}Ht5lvp1(}X9dkZjoJBp-b&^7OCmw)&TV8W|&l>zFTgkwJMmJ9jA!EDg`ix}_<&PcZ# zO1cmCUUBbTWS$teHTzK~;cm?{*y-yuaN2P#A(N@Xf27Y#YM@4YPHUm*+e)>|doL!V z530lPeQ0xC3PdM@`(-IKB?gxeh_19m!VULhEM15X8uZuJJaZlBHkc zHqB=XWLeSaoX}fj*X%7EKRT7p+$**_1P63QLA8i;`^hQr$R+5BLvM)hHK7WA-L->c z4zYDI3U^Rjq2V!fQoZ)TZioebmtm}GoZop2PNc&@o?|w8t*YGnCy}DLx;;WCj@G14%40@jUwNS1QtrG5t;xzA)j9ps(}Gpv5cJXfdAQ}t48QqJ z((09o=>mDS14flI2UyS-J>cynbQII1x8>g4Z!uQ9p5^lW%$c?{jd!i+u>VNK{U%u> zF_lLm_4jAaK@=N*x;G-ITW2({<8aQl#gX^cdkCffNDh6eVcM$%)(Hzgm&5v5HO98n z19eF|`zuU#D_8$5kpWzHRM6T6^BmLI&?eUw_1g+wg|6D!K2&~-#{-F#=0sm~DN1_q z;)QIV(Z#c%kG|kw^0EAzv53&sUiuQ9)dfEUNGCk)O$mQSWu=x&(rPZK>!NTCVsXK{P^^V1cxg_K=o&uk<- zQ>N}23fv!pK9%HAF0(wyf+m2A70sF`-Uf({U37N69o_HxFAgUpF@$6RVnpidxKyE{ zYq3|!ZJ%P6D8e^V|?cl!<7d@)Z8twesay2u&tt|VEa`mmTo3_jtZ7FbyrnDBh>H{c{&MjWZk__^Rbs{T&f@f%<)sqS#Ve+kpDx(!w>SMD%l-R1>?l{w@2*!>3JX!S zQIY`xm*FBnDbONMi%$QWAOD5hcQHqr-NNel?gauvg1|?QGCOg3wR<)ZTU|Z;U2}cy zkl`Qi7!pg2VW$VOIREd{^_J4Al|1f`01gCeCgknB>Nq)_Xwh=RM}JquwmBl2{K24dIxx=_8x1HhS@yC#5Ksmz3U^ zCS{9E*<34X$a(&#xqW8q|JP3GkDGVzYPbY4YX{~)tA<0&1N^nKe@f0ikpS-J=&Wc~ z-(Qvk`eqfScHjTy>lVl(OWujx0heq~4n7$3=Ft;slfJ78?@61a;zu#8Sqqx+BSY$$ zJJ=D|<1au#Xr>pB$(E=+@yXJ^cUYrt$NJG?BTSnYN2#I7Z}NN+D;819P{txbcD3~rw)oluv$-zN5DYDZj?rR!Mu(P774f+M z0!~H*Rk%nFA?J^&MC6MAGd)v&8KUD5$0cX#GsX;@< zO^*#g1zsr~`?e~hfvM7SESg_%-x5?}LX+%arql7mUtTMPjEIfsEW94qZq{L3y$0>kA9@u;wmWr~xJIN|c! zeBia&1z+nkb~V=j1P}jb;~#$Wn)B7G1Lp69g@w6>@yK2jT$QD}QRgYDSff3*=&YPr zZOvs3M`N3S(}_fO3P-Vw+Bqq>(-w!fwvTIa!!K$uB_b?9>b*V3`O%Y9Ybw>!YJ2HP zvBL|rO*Jd&1YqadRJKOP^ie{C1nc}4*vv)m-Q7A|`43#o$GCXu-iUV8m^hAVH%eL) zKyHG*0Pz*aUNzkjUDCvUq)W_b&f!>F)d~$o(qOdo(rn{)6Jq*eFsSS81zS2=w9VfG zdvtpgcyPii%bdb3%3Rgh7@`jBuV97dbD)7QrMrwYOg!~(K*`BuD$FeT{r zbJMJlGe)>Ib!x<{01^ssL*j$-CS~7wb2+9#9NeKj82&#Q+HmZYc_^wrd?`?56NQw4 z^CN_;b=4R@a%g<BjEP` zY1-Zn2_QzGqef!vSN`#hiM?u~_Epn}Tv4TdTb&8%gi;>4Wbvf9Vq+R~4fb<$I{wg~ z9?b1u^^Y!_mgy-0ri&?y`&C|qz-^kK_(WoMuY^4~c#|}jJO4*+4fWSxqqbGzH+Q^Q zZixsXSm8na4lzLc*XVn}^)^UO{08yMPj2$bi^>fZR0!@PmMN;u>b$h5l)JI>?_h@# zZ(<*<9)Do8px7jmqk?DyQI3$J*uDfVzoe9tn*@+_IP(-JbDl>m zu3Ue-zV$7@FBnr- Date: Fri, 16 Nov 2018 17:59:51 -0800 Subject: [PATCH 02/18] Make the figures accessible through a function --- doc/conf.py | 8 ++------ pygmt/__init__.py | 2 +- pygmt/figure.py | 19 +++++++++++++++++-- 3 files changed, 20 insertions(+), 9 deletions(-) diff --git a/doc/conf.py b/doc/conf.py index de2e5afbb3a..0332e15ad24 100644 --- a/doc/conf.py +++ b/doc/conf.py @@ -51,16 +51,12 @@ def __init__(self): def __call__(self, block, block_vars, gallery_conf): image_names = list() image_path_iterator = block_vars['image_path_iterator'] - for fig_name in pygmt._figures: + for fig_name in gmt.get_figures(): if fig_name not in self.seen: self.seen |= set(fig_name) fname = image_path_iterator.next() - gmt._figures[fig_name].savefig(fname, transparent=True) + gmt.get_figures()[fig_name].savefig(fname, transparent=True) image_names.append(fname) - with open("/home/leo/src/pygmt/meh.txt", "w") as f: - f.write('\n') - f.write(str(image_names)) - f.write('\n') return figure_rst(image_names, gallery_conf['src_dir']) diff --git a/pygmt/__init__.py b/pygmt/__init__.py index 89404c92bb3..3a4943d5236 100644 --- a/pygmt/__init__.py +++ b/pygmt/__init__.py @@ -12,7 +12,7 @@ # Import modules to make the high-level GMT Python API from .session_management import begin as _begin, end as _end -from .figure import Figure, _figures +from .figure import Figure, get_figures from .gridding import surface from .modules import info, grdinfo, which from . import datasets diff --git a/pygmt/figure.py b/pygmt/figure.py index 05ddb94c449..c0bf2c19bd3 100644 --- a/pygmt/figure.py +++ b/pygmt/figure.py @@ -23,8 +23,23 @@ worldwind_show, ) +# A registry of all figures created in this session. Keys are figure names and values +# are Figure objects. +FIGURES = dict() -_figures = dict() + +def get_figures(): + """ + Get all figures that have been created in this session. + + Returns + ------- + figures : dict + A dictionary with all figures. Keys are the figure names (unique IDs) and values + are the :class:`gmt.Figure` objects. + + """ + return FIGURES class Figure(BasePlotting): @@ -65,7 +80,7 @@ def __init__(self): self._name = unique_name() self._preview_dir = TemporaryDirectory(prefix=self._name + "-preview-") self._activate_figure() - _figures[self._name] = self + FIGURES[self._name] = self def __del__(self): # Clean up the temporary directory that stores the previews From f4e015bd17519ccb328efae5249e3bb831e101f8 Mon Sep 17 00:00:00 2001 From: Leonardo Uieda Date: Fri, 16 Nov 2018 18:01:50 -0800 Subject: [PATCH 03/18] Install sphinx-gallery master in Travis --- .travis.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.travis.yml b/.travis.yml index 80bf0f78849..5b7dd3df3f2 100644 --- a/.travis.yml +++ b/.travis.yml @@ -121,6 +121,7 @@ before_install: # Download and install miniconda and setup dependencies # Need to source the script to set the PATH variable globaly - source continuous-integration/travis/setup-miniconda.sh + - pip install --upgrade https://github.com/sphinx-gallery/sphinx-gallery/archive/master.zip # Show installed pkg information for postmortem diagnostic - conda list From 75ece6c7c9f272eca6798ca47e825276c548fd65 Mon Sep 17 00:00:00 2001 From: Leonardo Uieda Date: Tue, 22 Jan 2019 20:02:30 +0000 Subject: [PATCH 04/18] Update the configuration to the new package name --- .travis.yml | 3 ++- Makefile | 1 + doc/conf.py | 6 +++--- environment.yml | 1 + examples/coast.py | 4 ++-- requirements-dev.txt | 3 +-- 6 files changed, 10 insertions(+), 8 deletions(-) diff --git a/.travis.yml b/.travis.yml index 5b7dd3df3f2..6b9b22c6aac 100644 --- a/.travis.yml +++ b/.travis.yml @@ -121,7 +121,8 @@ before_install: # Download and install miniconda and setup dependencies # Need to source the script to set the PATH variable globaly - source continuous-integration/travis/setup-miniconda.sh - - pip install --upgrade https://github.com/sphinx-gallery/sphinx-gallery/archive/master.zip + # Install the latest master of sphinx-gallery to use the scapper + - pip install --upgrade git+https://github.com/sphinx-gallery/sphinx-gallery.git # Show installed pkg information for postmortem diagnostic - conda list diff --git a/Makefile b/Makefile index c3115396b41..f3a9e7912fc 100644 --- a/Makefile +++ b/Makefile @@ -18,6 +18,7 @@ help: @echo "" install: + pip install --upgrade git+https://github.com/sphinx-gallery/sphinx-gallery.git pip install --no-deps -e . test: diff --git a/doc/conf.py b/doc/conf.py index 0332e15ad24..5e72e3872f1 100644 --- a/doc/conf.py +++ b/doc/conf.py @@ -51,11 +51,11 @@ def __init__(self): def __call__(self, block, block_vars, gallery_conf): image_names = list() image_path_iterator = block_vars['image_path_iterator'] - for fig_name in gmt.get_figures(): + for fig_name in pygmt.get_figures(): if fig_name not in self.seen: self.seen |= set(fig_name) fname = image_path_iterator.next() - gmt.get_figures()[fig_name].savefig(fname, transparent=True) + pygmt.get_figures()[fig_name].savefig(fname, transparent=True) image_names.append(fname) return figure_rst(image_names, gallery_conf['src_dir']) @@ -74,7 +74,7 @@ def __call__(self, block, block_vars, gallery_conf): 'backreferences_dir': 'api/generated/backreferences', # Modules for which function level galleries are created. In # this case sphinx_gallery and numpy in a tuple of strings. - 'doc_module': 'gmt', + 'doc_module': 'pygmt', # Insert links to documentation of objects in the examples 'reference_url': {'pygmt': None}, 'image_scrapers': (PyGMTScraper(),), diff --git a/environment.yml b/environment.yml index 6c794fa1862..3d3fccf369b 100644 --- a/environment.yml +++ b/environment.yml @@ -21,5 +21,6 @@ dependencies: - flake8 - sphinx - sphinx_rtd_theme + - sphinx-gallery - nbsphinx - numpydoc diff --git a/examples/coast.py b/examples/coast.py index 4026b735419..765f58be6c1 100644 --- a/examples/coast.py +++ b/examples/coast.py @@ -4,9 +4,9 @@ Use :meth:`gmt.Figure.coast` to display coastlines. """ -import gmt +import pygmt -fig = gmt.Figure() +fig = pygmt.Figure() fig.coast( region="g", projection='W6i', frame=True, land='black', water='skyblue' ) diff --git a/requirements-dev.txt b/requirements-dev.txt index 1ccd7b0b7a2..870f9b75cbd 100644 --- a/requirements-dev.txt +++ b/requirements-dev.txt @@ -11,7 +11,6 @@ pylint flake8 sphinx sphinx_rtd_theme +sphinx-gallery nbsphinx numpydoc -# The following are installed for checking possible conflicts -basemap From c82b853a3fc2060f7067923587c0120f69f27ec4 Mon Sep 17 00:00:00 2001 From: Leonardo Uieda Date: Tue, 22 Jan 2019 21:58:25 +0000 Subject: [PATCH 05/18] Add multiple sub galleries --- doc/conf.py | 41 +++--- doc/index.rst | 25 +--- doc/sphinxext.rst | 79 ---------- examples/README.txt | 3 + examples/coast.png | Bin 96411 -> 0 bytes examples/coast.py | 13 -- examples/coast/README.txt | 2 + examples/coast/shorelines.py | 14 ++ examples/plot/README.txt | 2 + examples/plot/points.py | 22 +++ pygmt/sphinxext/__init__.py | 3 - pygmt/sphinxext/gmtplot.py | 272 ----------------------------------- 12 files changed, 65 insertions(+), 411 deletions(-) delete mode 100644 doc/sphinxext.rst delete mode 100644 examples/coast.png delete mode 100644 examples/coast.py create mode 100644 examples/coast/README.txt create mode 100644 examples/coast/shorelines.py create mode 100644 examples/plot/README.txt create mode 100644 examples/plot/points.py delete mode 100644 pygmt/sphinxext/__init__.py delete mode 100644 pygmt/sphinxext/gmtplot.py diff --git a/doc/conf.py b/doc/conf.py index 5e72e3872f1..9bf998736ac 100644 --- a/doc/conf.py +++ b/doc/conf.py @@ -7,7 +7,7 @@ import sphinx_rtd_theme import sphinx_gallery from sphinx_gallery.scrapers import figure_rst -from sphinx_gallery.sorting import FileNameSortKey +from sphinx_gallery.sorting import FileNameSortKey, ExplicitOrder import pygmt from pygmt import __version__, __commit__ @@ -23,8 +23,7 @@ "sphinx.ext.intersphinx", "numpydoc", "nbsphinx", - "pygmt.sphinxext.gmtplot", - 'sphinx_gallery.gen_gallery', + "sphinx_gallery.gen_gallery", ] nbsphinx_allow_errors = True @@ -43,41 +42,42 @@ } -class PyGMTScraper(): - +class PyGMTScraper: def __init__(self): self.seen = set() def __call__(self, block, block_vars, gallery_conf): image_names = list() - image_path_iterator = block_vars['image_path_iterator'] + image_path_iterator = block_vars["image_path_iterator"] for fig_name in pygmt.get_figures(): if fig_name not in self.seen: - self.seen |= set(fig_name) + self.seen.add(fig_name) fname = image_path_iterator.next() pygmt.get_figures()[fig_name].savefig(fname, transparent=True) image_names.append(fname) - return figure_rst(image_names, gallery_conf['src_dir']) + return figure_rst(image_names, gallery_conf["src_dir"]) sphinx_gallery_conf = { # path to your examples scripts - 'examples_dirs': ['../examples'], + "examples_dirs": ["../examples"], # path where to save gallery generated examples - 'gallery_dirs': ['gallery'], - 'filename_pattern': r'\.py', + "gallery_dirs": ["gallery"], + "subsection_order": ExplicitOrder(["../examples/plot", "../examples/coast"]), + # Patter to search for example files + "filename_pattern": r"\.py", # Remove the "Download all examples" button from the top level gallery - 'download_all_examples': False, + "download_all_examples": False, # Sort gallery example by file name instead of number of lines (default) - 'within_subsection_order': FileNameSortKey, + "within_subsection_order": FileNameSortKey, # directory where function granular galleries are stored - 'backreferences_dir': 'api/generated/backreferences', + "backreferences_dir": "api/generated/backreferences", # Modules for which function level galleries are created. In # this case sphinx_gallery and numpy in a tuple of strings. - 'doc_module': 'pygmt', + "doc_module": "pygmt", # Insert links to documentation of objects in the examples - 'reference_url': {'pygmt': None}, - 'image_scrapers': (PyGMTScraper(),), + "reference_url": {"pygmt": None}, + "image_scrapers": (PyGMTScraper(),), } # Sphinx project configuration @@ -146,9 +146,10 @@ def __call__(self, block, block_vars, gallery_conf): # Custom variables to enable "Improve this page"" and "Download notebook" # links "doc_path": "doc", - 'galleries': sphinx_gallery_conf['gallery_dirs'], - 'gallery_dir': dict(zip(sphinx_gallery_conf['gallery_dirs'], - sphinx_gallery_conf['examples_dirs'])), + "galleries": sphinx_gallery_conf["gallery_dirs"], + "gallery_dir": dict( + zip(sphinx_gallery_conf["gallery_dirs"], sphinx_gallery_conf["examples_dirs"]) + ), "github_repo": "GenericMappingTools/pygmt", "github_version": "master", } diff --git a/doc/index.rst b/doc/index.rst index 3944cefda0c..fee8c484c7c 100644 --- a/doc/index.rst +++ b/doc/index.rst @@ -10,29 +10,6 @@ -.. gmt-plot:: - :center: - - import pygmt - - # Load sample earthquake data in a pandas.DataFrame - quakes = pygmt.datasets.load_usgs_quakes() - - # Load the builtin Earth relief grid as an xarray.DataArray. - relief = pygmt.datasets.load_earth_relief(resolution="30m") - - # The Figure object controls all plotting functions - fig = pygmt.Figure() - # Setup a map with a global region, a Mollweide projection, and automatic ticks - fig.basemap(region="g", projection="W200/8i", frame=True) - # Plot the Earth relief grid in pseudo-color. - fig.grdimage(relief, cmap="geo") - # Plot earthquakes as circles. Size maps to magnitude and color to depth. - fig.plot(x=quakes.longitude, y=quakes.latitude, sizes=0.01*2**quakes.mag, - color=quakes.depth/quakes.depth.max(), cmap="viridis", style="cc") - # Show a preview of the image (inline if in a Jupyter notebook). - fig.show() - .. include:: ../README.rst :start-after: placeholder-for-doc-index @@ -49,8 +26,8 @@ :hidden: :caption: User Guide + tutorials/first-steps.ipynb tutorials/plot-data-points.ipynb - sphinxext.rst .. toctree:: :maxdepth: 2 diff --git a/doc/sphinxext.rst b/doc/sphinxext.rst deleted file mode 100644 index 6dc7ad3a109..00000000000 --- a/doc/sphinxext.rst +++ /dev/null @@ -1,79 +0,0 @@ -.. _sphinxext: - -Sphinx Extension -================ - -We provide a `Sphinx `__ extension for including GMT/Python -figures in your documentation. The extension defines the ``gmt-plot`` directive that -will take execute the given code and insert the generated figure into the document. - -For example, the following rst code: - -.. code:: rst - - .. gmt-plot:: - - import pygmt - fig = pygmt.Figure() - fig.basemap(region="g", projection="W0/10i", frame="afg") - fig.show() - - -will be rendered into the following in the compiled HTML pages: - -.. gmt-plot:: - - import pygmt - fig = pygmt.Figure() - fig.basemap(region="g", projection="W0/10i", frame="afg") - fig.show() - -The *last statement* of the code-block should contain a call to :meth:`pygmt.Figure.show`. -Anything printed to STDOUT will be captured and included between the figure and the -code. For example: - -.. gmt-plot:: - - print("The variables from the previous block are preserved.") - fig.coast(land="gray") - fig.show() - - -The HTML rich display features that work in Jupyter notebooks also work for the -extension: - -.. gmt-plot:: - - quakes = pygmt.datasets.load_usgs_quakes() - - fig2 = pygmt.Figure() - fig2.plot(x=quakes.longitude, y=quakes.latitude, region=[-180, 180, -90, 90], - projection="X10id", color="yellow", style="c0.2c", pen="black") - fig2.show(method="globe") - - -Installing ----------- - -The extension comes with PyGMT. All you have to do is enable it in your ``conf.py`` -file: - -.. code:: python - - extensions = [ - ..., - "pygmt.sphinxext.gmtplot", - ] - -However, you will need to have IPython installed for the extension to work. - -Options -------- - -The directive has the following options:: - - .. gmt-plot:: - :width: size # Set the width of the image (should contain a unit, like 400px) - :center: # If set, will center the output image - :hide-code: # If set, then hide the code and only show the plot - :namespace: # Specify a plotting namespace that is persistent within the page diff --git a/examples/README.txt b/examples/README.txt index 0c8b9ee8dc5..2fee3e77c68 100644 --- a/examples/README.txt +++ b/examples/README.txt @@ -2,3 +2,6 @@ Gallery ======= + +This gallery contains examples of what PyGMT can do. Click on any example to see the +code used to generate it. diff --git a/examples/coast.png b/examples/coast.png deleted file mode 100644 index 01c187feb0c82b46b776631910ce39ea11238872..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 96411 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 - {% if stdout %} -

-
{{ stdout }}
-
- {% endif %} - {% if image or html %} - {% set center_style="display: block; margin-left: auto; margin-right: auto;" %} -
- {% if image %} - - {% endif %} - {% if html %} - {{ html }} - {% endif %} -
- {% endif %} - -""" -) - - -class GMTPlotNode(nodes.General, nodes.Element): - """ - Sphinx node for a GMT plot. - """ - - -class GMTPlotDirective(Directive): - """ - The gmt-plot directive implementation. This is what defines what the directive does - and how to build the rst document tree from the directive content. - """ - - has_content = True - - option_spec = { - "hide-code": flag, - "namespace": unchanged, - "alt": unchanged, - "width": unchanged, - "center": flag, - } - - def run(self): - """ - Build the rst document node from the directive content. - """ - env = self.state.document.settings.env - - if not hasattr(env, "gmt_namespaces"): - env.gmt_namespaces = {} - namespace = env.gmt_namespaces.setdefault(env.docname, {}).setdefault( - self.options.get("namespace", "default"), {} - ) - - code = "\n".join(self.content) - - # Get the name of the source file we are currently processing - rst_source = self.state_machine.document["source"] - rst_dir = os.path.dirname(rst_source) - rst_filename = os.path.basename(rst_source) - - # Use the source file name to construct a friendly target_id - rst_base = rst_filename.replace(".", "-") - serialno = env.new_serialno("gmt-plot") - div_id = "{0}-gmt-plot-{1}".format(rst_base, serialno) - target_id = "{0}-gmt-source-{1}".format(rst_base, serialno) - - # Create the node in which the plot will appear. This will be processed by - # html_visit_gmt_plot - plot_node = GMTPlotNode() - plot_node["target_id"] = target_id - plot_node["div_id"] = div_id - plot_node["code"] = code - plot_node["namespace"] = namespace - plot_node["relpath"] = os.path.relpath(rst_dir, env.srcdir) - plot_node["rst_source"] = rst_source - plot_node["rst_lineno"] = self.lineno - plot_node["width"] = self.options.get("width", "") - plot_node["center"] = "center" in self.options - if "alt" in self.options: - plot_node["alt"] = self.options["alt"] - - result = [nodes.target("", "", ids=[target_id])] - if "hide-code" not in self.options: - source_literal = nodes.literal_block(code, code) - source_literal["language"] = "python" - result.append(source_literal) - result.append(plot_node) - return result - - -class _CatchDisplay: # pylint: disable=too-few-public-methods - "Class to temporarily catch sys.displayhook" - - def __init__(self): - self.output = None - - def __enter__(self): - self.old_hook = sys.displayhook - sys.displayhook = self - return self - - def __exit__(self, dtype, value, traceback): - sys.displayhook = self.old_hook - # Returning False will cause exceptions to propagate - return False - - def __call__(self, output): - self.output = output - - -def eval_block(code, namespace=None, filename=""): - """ - Execute a multi-line block of code in the given namespace. - - If the final statement in the code is an expression, return the result of the - expression. - """ - tree = ast.parse(code, filename="", mode="exec") - if namespace is None: - namespace = {} - if isinstance(tree.body[-1], ast.Expr): - to_exec, to_eval = tree.body[:-1], tree.body[-1:] - else: - to_exec, to_eval = tree.body, [] - for node in to_exec: - compiled = compile(ast.Module([node]), filename=filename, mode="exec") - exec(compiled, namespace) - catch_display = _CatchDisplay() - with catch_display: - for node in to_eval: - compiled = compile( - ast.Interactive([node]), filename=filename, mode="single" - ) - exec(compiled, namespace) - return catch_display.output - - -def html_visit_gmt_plot(self, node): - """ - Execute the code and produce output for HTML. - """ - # Execute the code, saving output and namespace - namespace = node["namespace"] - try: - output = io.StringIO() - with contextlib.redirect_stdout(output): - returned = eval_block(node["code"], namespace) - stdout = output.getvalue() - except Exception as e: - warnings.warn( - "gmt-plot: {0}:{1} Code execution failed with: {2}: {3}".format( - node["rst_source"], node["rst_lineno"], e.__class__.__name__, str(e) - ) - ) - raise e - - if stdout or returned is not None: - image = "" - html = "" - if isinstance(returned, Image): - image = base64.encodebytes(returned.data).decode("utf-8") - elif isinstance(returned, HTML): - html = returned.data - self.body.append( - HTML_TEMPLATE.render( - div_id=node["div_id"], - stdout=stdout, - html=html, - image=image, - width=node["width"], - center=node["center"], - ) - ) - # Always skip the node because we're inserting things directly into the HTML body - raise nodes.SkipNode - - -def generic_visit_gmt_plot(self, node): # pylint: disable=unused-argument - """ - Execute code and generate output for other formats. - """ - # Should generate PNGs and insert them here - self.body.append(_("[ GMT Figure ]")) - raise nodes.SkipNode - - -def depart_gmt_plot(self, node): # pylint: disable=unused-argument - """ - Actions to take at the end of a plot directive. - """ - return None - - -def purge_namespaces(app, env, docname): # pylint: disable=unused-argument - """ - Clean up the execution namespace. - """ - if not hasattr(env, "gmt_namespaces"): - return - env.gmt_namespaces.pop(docname, {}) - - -def setup(app): - """ - Add the directive to the sphinx app. - """ - setup.app = app - setup.config = app.config - setup.confdir = app.confdir - app.add_directive("gmt-plot", GMTPlotDirective) - app.add_node( - GMTPlotNode, - html=(html_visit_gmt_plot, depart_gmt_plot), - latex=(generic_visit_gmt_plot, depart_gmt_plot), - texinfo=(generic_visit_gmt_plot, depart_gmt_plot), - text=(generic_visit_gmt_plot, depart_gmt_plot), - man=(generic_visit_gmt_plot, depart_gmt_plot), - ) - app.connect("env-purge-doc", purge_namespaces) - return {"version": "0.1"} From b4f2310cfe29fd3008a5fb2a65765271cdbe7e90 Mon Sep 17 00:00:00 2001 From: Leonardo Uieda Date: Tue, 22 Jan 2019 22:29:06 +0000 Subject: [PATCH 06/18] Move the scraper to the package This way, packages that depend on us can use GMT maps in their galleries --- doc/conf.py | 22 +--------------------- pygmt/__init__.py | 2 +- pygmt/sphinx_gallery.py | 37 +++++++++++++++++++++++++++++++++++++ 3 files changed, 39 insertions(+), 22 deletions(-) create mode 100644 pygmt/sphinx_gallery.py diff --git a/doc/conf.py b/doc/conf.py index 9bf998736ac..738ac2290ba 100644 --- a/doc/conf.py +++ b/doc/conf.py @@ -6,10 +6,9 @@ import datetime import sphinx_rtd_theme import sphinx_gallery -from sphinx_gallery.scrapers import figure_rst from sphinx_gallery.sorting import FileNameSortKey, ExplicitOrder -import pygmt from pygmt import __version__, __commit__ +from pygmt.sphinx_gallery import PyGMTScraper extensions = [ @@ -26,8 +25,6 @@ "sphinx_gallery.gen_gallery", ] -nbsphinx_allow_errors = True - # Autosummary pages will be generated by sphinx-autogen instead of sphinx-build autosummary_generate = False @@ -41,23 +38,6 @@ "xarray": ("http://xarray.pydata.org/en/stable/", None), } - -class PyGMTScraper: - def __init__(self): - self.seen = set() - - def __call__(self, block, block_vars, gallery_conf): - image_names = list() - image_path_iterator = block_vars["image_path_iterator"] - for fig_name in pygmt.get_figures(): - if fig_name not in self.seen: - self.seen.add(fig_name) - fname = image_path_iterator.next() - pygmt.get_figures()[fig_name].savefig(fname, transparent=True) - image_names.append(fname) - return figure_rst(image_names, gallery_conf["src_dir"]) - - sphinx_gallery_conf = { # path to your examples scripts "examples_dirs": ["../examples"], diff --git a/pygmt/__init__.py b/pygmt/__init__.py index 3a4943d5236..b96cef9d94c 100644 --- a/pygmt/__init__.py +++ b/pygmt/__init__.py @@ -12,7 +12,7 @@ # Import modules to make the high-level GMT Python API from .session_management import begin as _begin, end as _end -from .figure import Figure, get_figures +from .figure import Figure from .gridding import surface from .modules import info, grdinfo, which from . import datasets diff --git a/pygmt/sphinx_gallery.py b/pygmt/sphinx_gallery.py new file mode 100644 index 00000000000..fe2a5950d7e --- /dev/null +++ b/pygmt/sphinx_gallery.py @@ -0,0 +1,37 @@ +""" +Utilities for using pygmt with sphinx-gallery. +""" +try: + from sphinx_gallery.scrapers import figure_rst +except ImportError: + pass + +from .figure import get_figures + + +class PyGMTScraper: + """ + Capture ``pygmt.Figure`` objects and save them for sphinx-gallery. + + Pass an instance of this class to ``sphinx_gallery_conf`` in your ``conf.py`` as the + ``"image_scrapers"`` argument. + """ + + def __init__(self): + # Keep a set of figures that have already been saved + self.saved = set() + + def __call__(self, block, block_vars, gallery_conf): + """ + Called by sphinx-gallery to save the figures generated after running code. + """ + image_names = list() + image_path_iterator = block_vars["image_path_iterator"] + figures = get_figures() + for name in figures: + if name not in self.saved: + self.saved.add(name) + fname = image_path_iterator.next() + figures[name].savefig(fname, transparent=True) + image_names.append(fname) + return figure_rst(image_names, gallery_conf["src_dir"]) From a4312606a37d1b44e7303537ce36deb430d51fb3 Mon Sep 17 00:00:00 2001 From: Leonardo Uieda Date: Wed, 23 Jan 2019 12:24:39 +0000 Subject: [PATCH 07/18] Make sure works with notebook style examples Replace the first steps notebook with a gallery tutorial --- .gitignore | 19 +- doc/Makefile | 2 +- doc/_templates/breadcrumbs.html | 10 ++ doc/conf.py | 4 +- doc/index.rst | 4 +- doc/{tutorials => }/plot-data-points.ipynb | 0 doc/tutorials/first-steps.ipynb | 194 --------------------- examples/coast/shorelines.py | 2 +- pygmt/figure.py | 9 +- pygmt/sphinx_gallery.py | 15 +- tutorials/README.txt | 4 + tutorials/central-america-shorelines.png | Bin 0 -> 120813 bytes tutorials/overview.py | 82 +++++++++ 13 files changed, 121 insertions(+), 224 deletions(-) rename doc/{tutorials => }/plot-data-points.ipynb (100%) delete mode 100644 doc/tutorials/first-steps.ipynb create mode 100644 tutorials/README.txt create mode 100644 tutorials/central-america-shorelines.png create mode 100644 tutorials/overview.py diff --git a/.gitignore b/.gitignore index 0c4771da997..e1b1f7736e0 100644 --- a/.gitignore +++ b/.gitignore @@ -2,20 +2,21 @@ *~ *.so *.pyd -.pytest_cache/ -build/ -dist/ .*.swp .coverage .cache +*.egg-info +.env +.pytest_cache/ +.ipynb_checkpoints/ +build/ +dist/ +MANIFEST doc/_build doc/modules doc/gallery +doc/tutorials doc/api/gmt*.rst doc/api/generated -.ipynb_checkpoints -*.egg-info -.env -MANIFEST -doc/tutorials/first-steps-* -doc/tutorials/gmt-python-* +doc/first-steps-* +doc/gmt-python-* diff --git a/doc/Makefile b/doc/Makefile index 0625119aab5..2dc7f06c844 100644 --- a/doc/Makefile +++ b/doc/Makefile @@ -27,8 +27,8 @@ clean: rm -rf modules rm -rf api/generated rm -rf gallery + rm -rf tutorials rm -rf .ipynb_checkpoints - rm -rf tutorials/first-steps-* html: api @echo diff --git a/doc/_templates/breadcrumbs.html b/doc/_templates/breadcrumbs.html index f9a8b3d406b..ee8e5f31028 100644 --- a/doc/_templates/breadcrumbs.html +++ b/doc/_templates/breadcrumbs.html @@ -11,6 +11,16 @@ {% set body = "Please describe what could be improved about this page or the typo/mistake that you found:" %} Improve this page + {% elif pagename.split("/")[0] in galleries %} + {% set gallery_path = gallery_dir[pagename.split("/")[0]] %} + {% set example_script = pagename|replace(pagename.split("/")[0], gallery_dir[pagename.split("/")[0]]) %} + {% if pagename.split("/")[-1] == "index" %} + {% set example_script = example_script|replace("index", "README.txt") %} + {% else %} + {% set example_script = example_script + ".py" %} + {% endif %} + Improve this page {% else %} Improve this page diff --git a/doc/conf.py b/doc/conf.py index 6ef917d016e..9ba661eeecd 100644 --- a/doc/conf.py +++ b/doc/conf.py @@ -40,9 +40,9 @@ sphinx_gallery_conf = { # path to your examples scripts - "examples_dirs": ["../examples"], + "examples_dirs": ["../examples", "../tutorials"], # path where to save gallery generated examples - "gallery_dirs": ["gallery"], + "gallery_dirs": ["gallery", "tutorials"], "subsection_order": ExplicitOrder(["../examples/plot", "../examples/coast"]), # Patter to search for example files "filename_pattern": r"\.py", diff --git a/doc/index.rst b/doc/index.rst index fee8c484c7c..f7e58ec2cb7 100644 --- a/doc/index.rst +++ b/doc/index.rst @@ -18,6 +18,7 @@ :hidden: :caption: Getting Started + tutorials/overview.rst install.rst gallery/index.rst @@ -26,8 +27,7 @@ :hidden: :caption: User Guide - tutorials/first-steps.ipynb - tutorials/plot-data-points.ipynb + plot-data-points.ipynb .. toctree:: :maxdepth: 2 diff --git a/doc/tutorials/plot-data-points.ipynb b/doc/plot-data-points.ipynb similarity index 100% rename from doc/tutorials/plot-data-points.ipynb rename to doc/plot-data-points.ipynb diff --git a/doc/tutorials/first-steps.ipynb b/doc/tutorials/first-steps.ipynb deleted file mode 100644 index a2395f71563..00000000000 --- a/doc/tutorials/first-steps.ipynb +++ /dev/null @@ -1,194 +0,0 @@ -{ - "cells": [ - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "# First Steps with PyGMT\n", - "\n", - "\n", - "This tutorial will get you started with the basic usage of PyGMT.\n", - "Some of the examples shown here are from the [GMT Tutorial](http://gmt.soest.hawaii.edu/doc/latest/GMT_Tutorial.html#session-one).\n", - "\n", - "## Loading the library\n", - "\n", - "The GMT modules are available as functions and classes in the `gmt` Python package. \n", - "So we'll start by importing it:" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "import pygmt" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Our first map\n", - "\n", - "All figure generation in PyGMT is handled by the `pygmt.Figure` class. \n", - "It has methods to add layers to your figure, like a basemap, coastlines, and data." - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "We start a new figure by creating an instance of `pygmt.Figure`:" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "fig = pygmt.Figure()" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "We add elements to the figure using its methods. For example, lets add the coastlines of Central America to a 6 inch wide map using the Mercator projection (`M`). Our figure will also have a nice frame with automatic ticks." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "fig.coast(region=[-90, -70, 0, 20], projection='M6i', land='chocolate', \n", - " frame=True)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "You can see a preview of the figure directly in the [Jupyter notebook](http://jupyter.org) using `fig.show()`." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "fig.show()" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "To open a PDF preview of the figure using your default PDF viewer use:\n", - "\n", - "```python\n", - "fig.show(method='external')\n", - "```\n", - "\n", - "This is useful when using the Python shell or IPython terminal app. \n", - "However, **this command will not interrupt your Python process**. \n", - "So using it in a Python script will not work because the script will finish and delete the generated previews.\n", - "Use `fig.savefig` to save the figure to a file instead (see below).\n", - "\n", - "There is also the option of inserting the figure in an **interactive globe** using [NASA's WorldWind Web](https://worldwind.arc.nasa.gov/web/). See option `external='globe'` in the examples below." - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## A note for experienced GMT users\n", - "\n", - "You'll probably have noticed several things that are different from classic command-line GMT.\n", - "Many of these changes reflect the new GMT [modern execution mode](http://gmt.soest.hawaii.edu/projects/gmt/wiki/Modernization) that will be part of the future 6.0 release.\n", - "A few are PyGMT exclusive (like the long argument names).\n", - "\n", - "1. The name of method is `coast` instead of `pscoast`. As a general rule, all `ps*` modules had their `ps` removed. The exceptions are: `psxy == plot`, `psxyz == plot3d`, and `psscale == colorbar`.\n", - "2. The arguments don't use the GMT 1-letter syntax (R, J, B, etc). Those are still available as aliases and the methods will accept them (see below). \n", - "3. Arguments like `region` can take lists instead of strings like `1/2/3/4`. You can still use the string form but the list form is easier in Python.\n", - "4. If a GMT argument has no options (like `-B` instead of `-Baf`), use a `True` value instead. An empty string would also be acceptable.\n", - "5. There is no output redirecting to a PostScript file. The figure is generated in the background and will only be shown or saved when you ask for it." - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "We could have generated the figure above using the classic GMT argument names (but not the module names):" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "fig_alias = pygmt.Figure()\n", - "fig_alias.coast(R='-90/-70/0/20', J='M6i', G='gray', S=\"blue\", B=True)\n", - "fig_alias.show()" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Saving the figure\n", - "\n", - "Unlike the GMT command-line interface, **no figure file was generated until you ask for one**. \n", - "That means that `fig.show` won't produce a figure file.\n", - "\n", - "Use method `fig.savefig` (based on the [matplotlib](https://matplotlib.org/) function) to save your figure:" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "fig.savefig('first-steps-central-america.png')" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "If you're running a Python script, you can tell `fig.savefig` to open the figure in an external viewer:\n", - "\n", - "```python\n", - "fig.savefig('first-steps-central-america.png', show=True)\n", - "```" - ] - } - ], - "metadata": { - "kernelspec": { - "display_name": "Python 3", - "language": "python", - "name": "python3" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.6.5" - } - }, - "nbformat": 4, - "nbformat_minor": 2 -} diff --git a/examples/coast/shorelines.py b/examples/coast/shorelines.py index 2a6e357794f..2648bd35b21 100644 --- a/examples/coast/shorelines.py +++ b/examples/coast/shorelines.py @@ -8,7 +8,7 @@ fig = pygmt.Figure() # Make a global Mollweide map with automatic ticks -fig.basemap(region="g", projection='W6i', frame=True) +fig.basemap(region="g", projection='W8i', frame=True) # Display the shorelines as black lines with 0.5 point thickness fig.coast(shorelines="0.5p,black") fig.show() diff --git a/pygmt/figure.py b/pygmt/figure.py index 15fb4fab273..41c78861674 100644 --- a/pygmt/figure.py +++ b/pygmt/figure.py @@ -23,9 +23,8 @@ worldwind_show, ) -# A registry of all figures created in this session. Keys are figure names and values -# are Figure objects. -FIGURES = dict() +# A registry of all figures that have had "show" called in this session. +SHOWED_FIGURES = [] def get_figures(): @@ -39,7 +38,7 @@ def get_figures(): are the :class:`gmt.Figure` objects. """ - return FIGURES + return SHOWED_FIGURES class Figure(BasePlotting): @@ -80,7 +79,6 @@ def __init__(self): self._name = unique_name() self._preview_dir = TemporaryDirectory(prefix=self._name + "-preview-") self._activate_figure() - FIGURES[self._name] = self def __del__(self): # Clean up the temporary directory that stores the previews @@ -282,6 +280,7 @@ def show(self, dpi=300, width=500, method="static", globe_center=None): Only if ``method != 'external'``. """ + SHOWED_FIGURES.append(self) if method not in ["static", "external", "globe"]: raise GMTInvalidInput("Invalid show method '{}'.".format(method)) if method == "globe": diff --git a/pygmt/sphinx_gallery.py b/pygmt/sphinx_gallery.py index fe2a5950d7e..77e74bbafe4 100644 --- a/pygmt/sphinx_gallery.py +++ b/pygmt/sphinx_gallery.py @@ -17,10 +17,6 @@ class PyGMTScraper: ``"image_scrapers"`` argument. """ - def __init__(self): - # Keep a set of figures that have already been saved - self.saved = set() - def __call__(self, block, block_vars, gallery_conf): """ Called by sphinx-gallery to save the figures generated after running code. @@ -28,10 +24,9 @@ def __call__(self, block, block_vars, gallery_conf): image_names = list() image_path_iterator = block_vars["image_path_iterator"] figures = get_figures() - for name in figures: - if name not in self.saved: - self.saved.add(name) - fname = image_path_iterator.next() - figures[name].savefig(fname, transparent=True) - image_names.append(fname) + while figures: + fname = image_path_iterator.next() + fig = figures.pop() + fig.savefig(fname, transparent=True) + image_names.append(fname) return figure_rst(image_names, gallery_conf["src_dir"]) diff --git a/tutorials/README.txt b/tutorials/README.txt new file mode 100644 index 00000000000..2e1338171eb --- /dev/null +++ b/tutorials/README.txt @@ -0,0 +1,4 @@ +Tutorials +========= + +This file is a placeholder and not included in the docs. diff --git a/tutorials/central-america-shorelines.png b/tutorials/central-america-shorelines.png new file mode 100644 index 0000000000000000000000000000000000000000..2638626ec7a577dd2290a9763d41c7545a0c4d79 GIT binary patch literal 120813 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 z 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 bGeX Date: Wed, 23 Jan 2019 12:28:53 +0000 Subject: [PATCH 08/18] Fix lint error --- pygmt/sphinx_gallery.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pygmt/sphinx_gallery.py b/pygmt/sphinx_gallery.py index 77e74bbafe4..1029a4f64d4 100644 --- a/pygmt/sphinx_gallery.py +++ b/pygmt/sphinx_gallery.py @@ -9,7 +9,7 @@ from .figure import get_figures -class PyGMTScraper: +class PyGMTScraper: # pylint: disable=too-few-public-methods """ Capture ``pygmt.Figure`` objects and save them for sphinx-gallery. From 95c00426f9d8582d2835711633d751cbcb571c77 Mon Sep 17 00:00:00 2001 From: Leonardo Uieda Date: Wed, 23 Jan 2019 16:40:17 +0000 Subject: [PATCH 09/18] Add some instructions to CONTRIBUTING Need to finish the tutorials part --- CONTRIBUTING.md | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 0fe45aa4ac9..a45e4c4cef8 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -37,6 +37,8 @@ read it carefully. * [How Can I Talk to You?](#how-can-i-talk-to-you) * [Reporting a Bug](#reporting-a-bug) * [Editing the Documentation](#editing-the-documentation) + - [Gallery plots](#gallery-plots) + - [Tutorials](#tutorials) * [Contributing Code](#contributing-code) - [General guidelines](#general-guidelines) - [Setting up your environment](#setting-up-your-environment) @@ -104,6 +106,35 @@ download and install anything: Alternatively, you can make the changes offline to the files in the `doc` folder or the example scripts. See [Contributing Code](#contributing-code) for instructions. +The gallery and tutorials are managed by +[sphinx-gallery](https://sphinx-gallery.readthedocs.io/) +(currently, we need the development version from the Github master branch). + +### Gallery plots + +You can **add a new** plot by placing a new `.py` file in one of the folders inside the +`examples` folder of the repository. See the other examples to get an idea for the +format. + +General guidelines for making a good gallery plot: + +* Examples should highlight a single feature/command. Good: *how to add a label to + a colorbar*. Bad: *how to add a label to the colorbar and use two different CPTs and + use subplots*. +* Try to make the example as simple as possible. Good: use only commands that are + required to show the feature you want to highlight. Bad: use advanced/complex Python + features to make the code smaller. +* Use a sample dataset from `pygmt.datasets` if you need to plot data. If a suitable + dataset isn't available, open an issue requesting one and we'll work together to add + it. +* Add comments to explain things are aren't obvious from reading the code. Good: *Use a + Mercator projection and make the plot 6 inches wide*. Bad: *Draw coastlines and plot + the data*. +* Describe the feature that you're showcasing and link to other relevant parts of the + documentation + +### Tutorials + ## Contributing Code From bef2f0f2ae3f61c06e7ea04ba2ce3c5c97f23e55 Mon Sep 17 00:00:00 2001 From: Leonardo Uieda Date: Wed, 23 Jan 2019 16:40:39 +0000 Subject: [PATCH 10/18] Add starter tutorials --- Makefile | 2 +- doc/index.rst | 3 ++ pygmt/sphinx_gallery.py | 2 +- tutorials/coastlines.py | 77 +++++++++++++++++++++++++++++++++++++++++ tutorials/frames.py | 49 ++++++++++++++++++++++++++ tutorials/plot.py | 8 +++++ 6 files changed, 139 insertions(+), 2 deletions(-) create mode 100644 tutorials/coastlines.py create mode 100644 tutorials/frames.py create mode 100644 tutorials/plot.py diff --git a/Makefile b/Makefile index f3a9e7912fc..92f0ac80ff7 100644 --- a/Makefile +++ b/Makefile @@ -2,7 +2,7 @@ PROJECT=pygmt TESTDIR=tmp-test-dir-with-unique-name PYTEST_ARGS=--cov-config=../.coveragerc --cov-report=term-missing --cov=$(PROJECT) --doctest-modules -v --pyargs -BLACK_FILES=$(PROJECT) setup.py doc/conf.py +BLACK_FILES=$(PROJECT) setup.py doc/conf.py examples tutorials FLAKE8_FILES=$(PROJECT) setup.py LINT_FILES=$(PROJECT) setup.py diff --git a/doc/index.rst b/doc/index.rst index f7e58ec2cb7..e3737c27283 100644 --- a/doc/index.rst +++ b/doc/index.rst @@ -27,6 +27,9 @@ :hidden: :caption: User Guide + tutorials/frames.rst + tutorials/coastlines.rst + tutorials/plot.rst plot-data-points.ipynb .. toctree:: diff --git a/pygmt/sphinx_gallery.py b/pygmt/sphinx_gallery.py index 1029a4f64d4..f5ee90b7a39 100644 --- a/pygmt/sphinx_gallery.py +++ b/pygmt/sphinx_gallery.py @@ -26,7 +26,7 @@ def __call__(self, block, block_vars, gallery_conf): figures = get_figures() while figures: fname = image_path_iterator.next() - fig = figures.pop() + fig = figures.pop(0) fig.savefig(fname, transparent=True) image_names.append(fname) return figure_rst(image_names, gallery_conf["src_dir"]) diff --git a/tutorials/coastlines.py b/tutorials/coastlines.py new file mode 100644 index 00000000000..9034798b9af --- /dev/null +++ b/tutorials/coastlines.py @@ -0,0 +1,77 @@ +""" +Coastlines and borders +====================== + +Plotting coastlines and borders is handled by :meth:`pygmt.Figure.coast`. +""" + +import pygmt + +######################################################################################## +# Shorelines +# ---------- +# +# Use the ``shorelines`` argument to plot only the shorelines: + +fig = pygmt.Figure() +fig.basemap(region="g", projection="W10i", frame=True) +fig.coast(shorelines=True) +fig.show() + +######################################################################################## +# The shorelines are divided in 4 levels: +# +# 1. coastline +# 2. lakeshore +# 3. island-in-lake shore +# 4. lake-in-island-in-lake shore +# +# You can specify which level you want to plot by passing the level number and a GMT pen +# configuration. For example, to plot just the coastlines with 0.5 thickness and black +# lines: + +fig = pygmt.Figure() +fig.basemap(region="g", projection="W10i", frame=True) +fig.coast(shorelines="1/0.5p,black") +fig.show() + +######################################################################################## +# You can specify multiple levels (with their own pens) by passing a list to +# ``shorelines``: + +fig = pygmt.Figure() +fig.basemap(region="g", projection="W10i", frame=True) +fig.coast(shorelines=["1/1p,black", "2/0.5p,red"]) +fig.show() + +######################################################################################## +# Resolutions +# ----------- +# +# The coastline database comes with 5 resolutions. The resolution drops by 80% between +# levels: +# +# 1. ``"c"``: crude +# 2. ``"l"``: low (default) +# 3. ``"i"``: intermediate +# 4. ``"h"``: high +# 5. ``"f"``: full + +oahu = [-158.3, -157.6, 21.2, 21.8] +fig = pygmt.Figure() +for res in ["c", "l", "i", "h", "f"]: + fig.coast(resolution=res, shorelines="1p", region=oahu, projection="M5i", X="5i") +fig.show() + +######################################################################################## +# Land and water +# -------------- +# +# Use the ``land`` and ``water`` attributes to specify a fill color for land and water +# bodies. The colors can be given by name or hex codes (like the ones used in HTML and +# CSS): + +fig = pygmt.Figure() +fig.basemap(region="g", projection="W10i", frame=True) +fig.coast(land="#666666", water="skyblue") +fig.show() diff --git a/tutorials/frames.py b/tutorials/frames.py new file mode 100644 index 00000000000..87ac7072391 --- /dev/null +++ b/tutorials/frames.py @@ -0,0 +1,49 @@ +""" +Frames, ticks, titles, and labels +================================= + +Setting the style of the map frames, ticks, etc, is handled by the ``frame`` argument +that all plotting methods of :class:`pygmt.Figure`. +""" + +import pygmt + +######################################################################################## +# Plot frame +# ---------- +# +# By default, PyGMT does not add a frame to your plot. For example, we can plot the +# coastlines of the world with a Mercator projection: + +fig = pygmt.Figure() +fig.coast(shorelines="1/0.5p", region=[-180, 180, -60, 60], projection="M10i") +fig.show() + +######################################################################################## +# To add the default GMT frame to the plot, use ``frame="f"`` in +# :meth:`pygmt.Figure.basemap` or any other plotting module: + +fig = pygmt.Figure() +fig.coast(shorelines="1/0.5p", region=[-180, 180, -60, 60], projection="M10i") +fig.basemap(frame="f") +fig.show() + +######################################################################################## +# Ticks and grid lines +# -------------------- +# +# The automatic frame (``frame=True`` or ``frame="a"``) sets the default GMT style frame +# and automatically determines tick labels from the plot region. + +fig = pygmt.Figure() +fig.coast(shorelines="1/0.5p", region=[-180, 180, -60, 60], projection="M10i") +fig.basemap(frame="a") +fig.show() + +######################################################################################## +# Add automatic grid lines to the plot by adding a ``g`` to ``frame``: + +fig = pygmt.Figure() +fig.coast(shorelines="1/0.5p", region=[-180, 180, -60, 60], projection="M10i") +fig.basemap(frame="ag") +fig.show() diff --git a/tutorials/plot.py b/tutorials/plot.py new file mode 100644 index 00000000000..80cd26b8516 --- /dev/null +++ b/tutorials/plot.py @@ -0,0 +1,8 @@ +""" +Plotting data points +-------------------- + +Meh +""" + +import pygmt From c03e61ab07e1dcec34d0292592741ba17ad0af91 Mon Sep 17 00:00:00 2001 From: Leonardo Uieda Date: Wed, 23 Jan 2019 21:23:13 +0000 Subject: [PATCH 11/18] Lower the figure resolution to make it a bit smaller --- doc/plot-data-points.ipynb | 290 ------------------------------------- pygmt/sphinx_gallery.py | 2 +- 2 files changed, 1 insertion(+), 291 deletions(-) delete mode 100644 doc/plot-data-points.ipynb diff --git a/doc/plot-data-points.ipynb b/doc/plot-data-points.ipynb deleted file mode 100644 index df4070ec6ab..00000000000 --- a/doc/plot-data-points.ipynb +++ /dev/null @@ -1,290 +0,0 @@ -{ - "cells": [ - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "# Plotting data points\n", - "\n", - "This tutorial will show you how to plot data points with PyGMT.\n", - "\n", - "Start by importing the `gmt` Python package:" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "import pygmt" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Cartesian plots\n", - "\n", - "The `pygmt.Figure` class has a `plot` method for displaying points and lines. Let's make a Cartesian x, y plot using some random data generated using numpy:" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "import numpy as np" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "# See the random number generator so we always \n", - "# get the same numbers\n", - "np.random.seed(42)\n", - "ndata = 100\n", - "region = [150, 240, -10, 60]\n", - "# Create some fake distribution of points and a measured value\n", - "x = np.random.uniform(region[0], region[1], ndata)\n", - "y = np.random.uniform(region[2], region[3], ndata)\n", - "magnitude = np.random.uniform(1, 5, size=ndata)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Now we can plot the data using `Figure.plot` and the Cartesian projection `X`." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "fig = pygmt.Figure()\n", - "# Create a 6x6 inch basemap using the data region\n", - "fig.basemap(region=region, projection='X6i', frame=True)\n", - "# Plot using triangles (i) of 0.3 cm\n", - "fig.plot(x, y, style='i0.3c', color='black')\n", - "fig.show()" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "We can make the size of the markers follow the fake \"magnitude\" values by passing in the argument `sizes` to `Figure.plot`. We'll need to scale the magnitude so that it will reflect the size in centimeters." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "fig = pygmt.Figure()\n", - "fig.basemap(region=region, projection='X6i', frame=True)\n", - "fig.plot(x, y, style='ic', color='black', sizes=magnitude/10)\n", - "fig.show()" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Plotting directly from a file\n", - "\n", - "Sometimes you'll have data in a file that you just want to plot without having to load it into Python. You can use the `data` argument of `Figure.plot` to specify the file name instead `x` and `y`. GMT will take care of loading your data and plotting." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "# Save our fake data to a file.\n", - "np.savetxt('first-steps-data.txt', \n", - " np.transpose([x, y, magnitude]))" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "The `columns` argument controls which columns are used as x, y, color, and size, respectively. GMT allows some basic operations on the column values before plotting. For example, adding `sVALUE` to a column index will multiply it by that value before plotting." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "fig = pygmt.Figure()\n", - "fig.basemap(region=region, projection='X6i', frame=True)\n", - "fig.plot(data='first-steps-data.txt', style='cc', color='red', \n", - " columns=[0, 1, '2s0.1'])\n", - "fig.show()" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Making maps using sample data\n", - "\n", - "GMT shines when plotting data on a map. We can use some **sample data** that is packaged with GMT to try this out. They can be accessed using special file names that begin with an `@` symbol, for example `@tut_quakes.ngdc`. You can supply these names as the `data` argument in `Figure.plot` and other plotting functions. If you don't have the files already, they are automatically downloaded by GMT and saved to a cache directory (usually `~/.gmt/cache`).\n", - "\n", - "The `pygmt.datasets` package allows easy access to these data files as Python data types. For example, we can access the sample dataset of tsunami generating earthquakes around Japan (`@tut_quakes.ngdc`) as a `pandas.DataFrame` using the `datasets.load_japan_quakes` function:" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "from pygmt.datasets import load_japan_quakes\n", - "\n", - "quakes = load_japan_quakes()\n", - "quakes.head()" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "The functions returns to us the data in a `pandas.Dataframe` object that contains the date, hypocenter coordinates, and magnitude of the earthquakes.\n", - "\n", - "Let's make a local Mercator map of the epicenter coordinates. " - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "quakes_region = [quakes.longitude.min() - 1, quakes.longitude.max() + 1,\n", - " quakes.latitude.min() - 1, quakes.latitude.max() + 1]" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "fig = pygmt.Figure()\n", - "fig.coast(region=quakes_region, projection='M6i', frame=True, \n", - " land='black', water='skyblue')\n", - "fig.plot(x=quakes.longitude, y=quakes.latitude, \n", - " style='c0.3c', color='white', pen='black')\n", - "fig.show()" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "As before, we can map the size of the markers to the earthquake magnitude. Because the magnitude is on a logarithmic scale, it helps to show the differences by scaling the values using a power law." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "fig = pygmt.Figure()\n", - "fig.coast(region=quakes_region, projection='M6i', frame=True, \n", - " land='black', water='skyblue')\n", - "fig.plot(x=quakes.longitude, y=quakes.latitude, \n", - " sizes=0.02*(2**quakes.magnitude),\n", - " style='cc', color='white', pen='black')\n", - "fig.show()" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "We can also map the colors of the markers to the depths by passing an array to the `color` argument and providing a colormap name (`cmap`). We can even use the new matplotlib colormap `\"viridis\"`." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "fig = pygmt.Figure()\n", - "fig.coast(region=quakes_region, projection='M6i', frame=True, \n", - " land='black', water='skyblue')\n", - "fig.plot(x=quakes.longitude, y=quakes.latitude, \n", - " sizes=0.02*2**quakes.magnitude,\n", - " color=quakes.depth_km/quakes.depth_km.max(),\n", - " cmap='viridis', style='cc', pen='black')\n", - "fig.show()" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Interactive map previews" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Let's preview this map using the **interactive globe**. In this case, we don't need the frame or color in the oceans. We must also use a **Cartesian projection** (X) and degrees (d) for plot units so that the figure can be aligned with the globe." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "fig = pygmt.Figure()\n", - "fig.coast(region=quakes_region, projection='X6id/6id', land='gray')\n", - "fig.plot(x=quakes.longitude, y=quakes.latitude, \n", - " sizes=0.02*2**quakes.magnitude,\n", - " color=quakes.depth_km/quakes.depth_km.max(),\n", - " cmap='viridis', style='cc', pen='black')\n", - "fig.show(method='globe')" - ] - } - ], - "metadata": { - "kernelspec": { - "display_name": "Python 3", - "language": "python", - "name": "python3" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.6.5" - } - }, - "nbformat": 4, - "nbformat_minor": 2 -} diff --git a/pygmt/sphinx_gallery.py b/pygmt/sphinx_gallery.py index f5ee90b7a39..e59f103b7ab 100644 --- a/pygmt/sphinx_gallery.py +++ b/pygmt/sphinx_gallery.py @@ -27,6 +27,6 @@ def __call__(self, block, block_vars, gallery_conf): while figures: fname = image_path_iterator.next() fig = figures.pop(0) - fig.savefig(fname, transparent=True) + fig.savefig(fname, transparent=True, dpi=200) image_names.append(fname) return figure_rst(image_names, gallery_conf["src_dir"]) From c9dbbed17b99307d46c125db82aa3a83529fca49 Mon Sep 17 00:00:00 2001 From: Leonardo Uieda Date: Wed, 23 Jan 2019 21:23:42 +0000 Subject: [PATCH 12/18] Create link points to the subpackages --- doc/api/index.rst | 14 ++++++++++++++ pygmt/__init__.py | 17 +++++++++-------- pygmt/clib/__init__.py | 13 ++++++------- pygmt/datasets/__init__.py | 7 ++++--- pygmt/exceptions.py | 9 ++++----- 5 files changed, 37 insertions(+), 23 deletions(-) diff --git a/doc/api/index.rst b/doc/api/index.rst index 04e82239be7..630725844c4 100644 --- a/doc/api/index.rst +++ b/doc/api/index.rst @@ -3,6 +3,8 @@ API Reference ============= +.. automodule:: pygmt + .. currentmodule:: pygmt Plotting @@ -69,6 +71,10 @@ Miscellaneous print_clib_info +.. automodule:: pygmt.datasets + +.. currentmodule:: pygmt + Datasets -------- @@ -85,6 +91,10 @@ and store them in the GMT cache folder. datasets.load_japan_quakes +.. automodule:: pygmt.exceptions + +.. currentmodule:: pygmt + Exceptions ---------- @@ -102,6 +112,10 @@ All custom exceptions are derived from :class:`pygmt.exceptions.GMTError`. exceptions.GMTCLibNotFoundError +.. automodule:: pygmt.clib + +.. currentmodule:: pygmt + GMT C API --------- diff --git a/pygmt/__init__.py b/pygmt/__init__.py index b96cef9d94c..9c40f485c36 100644 --- a/pygmt/__init__.py +++ b/pygmt/__init__.py @@ -1,11 +1,12 @@ -""" -The main API for PyGMT. - -All of PyGMT is operated on a "modern mode session" (new to GMT6). When you import -the ``pygmt`` library, a new session will be started automatically. The session will be -closed when the current Python process terminates. Thus, the Python API does not expose -the ``gmt begin`` and ``gmt end`` commands. -""" +# pylint: disable=missing-docstring +# +# The main API for PyGMT. +# +# All of PyGMT is operated on a "modern mode session" (new to GMT6). When you import the +# pygmt library, a new session will be started automatically. The session will be +# closed when the current Python process terminates. Thus, the Python API does not +# expose the `gmt begin` and `gmt end` commands. + import atexit as _atexit from ._version import get_versions as _get_versions diff --git a/pygmt/clib/__init__.py b/pygmt/clib/__init__.py index b7ad181253e..5840e216a17 100644 --- a/pygmt/clib/__init__.py +++ b/pygmt/clib/__init__.py @@ -1,9 +1,8 @@ -""" -Low-level wrapper for the GMT C API. +# pylint: disable=missing-docstring +# +# Low-level wrapper for the GMT C API. +# +# The pygmt.clib.Session class wraps the GMT C shared library (libgmt) with a pythonic +# interface. Access to the C library is done through ctypes. -The :class:`pygmt.clib.Session` class wraps the GMT C shared library (``libgmt``) -with a pythonic interface. -Access to the C library is done through :py:mod:`ctypes`. - -""" from .session import Session diff --git a/pygmt/datasets/__init__.py b/pygmt/datasets/__init__.py index c3cca555fd1..44d6229fcee 100644 --- a/pygmt/datasets/__init__.py +++ b/pygmt/datasets/__init__.py @@ -1,5 +1,6 @@ -""" -Load sample data included with GMT (downloaded from the GMT cache server). -""" +# pylint: disable=missing-docstring +# +# Load sample data included with GMT (downloaded from the GMT cache server). + from .tutorial import load_japan_quakes, load_sample_bathymetry, load_usgs_quakes from .earth_relief import load_earth_relief diff --git a/pygmt/exceptions.py b/pygmt/exceptions.py index c39c2b81559..4f74c61716f 100644 --- a/pygmt/exceptions.py +++ b/pygmt/exceptions.py @@ -1,8 +1,7 @@ -""" -Custom exception types used throughout the library. - -All exceptions derive from the :class:`~gmt.exceptions.GMTError` class. -""" +# pylint: disable=missing-docstring +# +# Custom exception types used throughout the library. All exceptions derive from +# GMTError. class GMTError(Exception): From 1fbac2beda9f0d9c7457dbac1b7affd9f91b798a Mon Sep 17 00:00:00 2001 From: Leonardo Uieda Date: Wed, 23 Jan 2019 21:24:04 +0000 Subject: [PATCH 13/18] Add guidelines for making tutorials --- CONTRIBUTING.md | 29 +++++++++++++++++++++++++++-- 1 file changed, 27 insertions(+), 2 deletions(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index a45e4c4cef8..614d3dd0d60 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -106,11 +106,14 @@ download and install anything: Alternatively, you can make the changes offline to the files in the `doc` folder or the example scripts. See [Contributing Code](#contributing-code) for instructions. +### Gallery plots + The gallery and tutorials are managed by [sphinx-gallery](https://sphinx-gallery.readthedocs.io/) (currently, we need the development version from the Github master branch). - -### Gallery plots +The source files for the gallery are `.py` scripts that generate one or more figures. +They are executed automatically by sphinx-gallery when the documentation is built. +The output is gathered and assembled into the gallery. You can **add a new** plot by placing a new `.py` file in one of the folders inside the `examples` folder of the repository. See the other examples to get an idea for the @@ -135,6 +138,28 @@ General guidelines for making a good gallery plot: ### Tutorials +The tutorials (the User Guide in the docs) are also built by sphinx-gallery from the +`.py` files in the `tutorials` folder of the repository. To add a new tutorial: + +* Include a `.py` file in the `tutorials` folder on the base of the repository. +* Write the tutorial in "notebook" style with code mixed with paragraphs explaining what + is being done. See the other tutorials for the format. +* Include the tutorial in the table of contents of the documentation (side bar). Do this + by adding a line to the User Guide `toc` directive in `doc/index.rst`. Notice that the + file included is the `.rst` generated by sphinx-gallery. + +Guidelines for a good tutorial: + +* Each tutorial should focus on a particular set of tasks that a user might want to + accomplish: plotting grids, interpolation, configuring the frame, projections, etc. +* The tutorial code should be as simple as possible. Avoid using advanced/complex Python + features or abbreviations. +* Explain the options and features in as much detail as possible. The gallery has + concise examples while the tutorials are detailed and full of text. + +Note that the `Figure.plot` function needs to be called for a plot to be inserted into +the documentation. + ## Contributing Code From 5696c3629cb930c01964de3a2fff5d06d3931a96 Mon Sep 17 00:00:00 2001 From: Leonardo Uieda Date: Wed, 23 Jan 2019 21:24:21 +0000 Subject: [PATCH 14/18] Finish the plot tutorial --- doc/index.rst | 3 +- examples/coast/shorelines.py | 2 +- examples/plot/points.py | 4 +- tutorials/overview.py | 10 ++-- tutorials/plot.py | 88 +++++++++++++++++++++++++++++++++++- 5 files changed, 96 insertions(+), 11 deletions(-) diff --git a/doc/index.rst b/doc/index.rst index e3737c27283..a59edeb1f9a 100644 --- a/doc/index.rst +++ b/doc/index.rst @@ -18,8 +18,8 @@ :hidden: :caption: Getting Started - tutorials/overview.rst install.rst + tutorials/overview.rst gallery/index.rst .. toctree:: @@ -30,7 +30,6 @@ tutorials/frames.rst tutorials/coastlines.rst tutorials/plot.rst - plot-data-points.ipynb .. toctree:: :maxdepth: 2 diff --git a/examples/coast/shorelines.py b/examples/coast/shorelines.py index 2648bd35b21..929bde0cd56 100644 --- a/examples/coast/shorelines.py +++ b/examples/coast/shorelines.py @@ -8,7 +8,7 @@ fig = pygmt.Figure() # Make a global Mollweide map with automatic ticks -fig.basemap(region="g", projection='W8i', frame=True) +fig.basemap(region="g", projection="W8i", frame=True) # Display the shorelines as black lines with 0.5 point thickness fig.coast(shorelines="0.5p,black") fig.show() diff --git a/examples/plot/points.py b/examples/plot/points.py index 78d7f2b2b3b..c457354c421 100644 --- a/examples/plot/points.py +++ b/examples/plot/points.py @@ -16,7 +16,7 @@ fig = pygmt.Figure() # Create a 6x6 inch basemap with a Cartesian projection (X) using the data region -fig.basemap(region=region, projection='X6i', frame=True) +fig.basemap(region=region, projection="X6i", frame=True) # Plot using triangles (i) of 0.5 cm -fig.plot(x, y, style='i0.5c', color='black') +fig.plot(x, y, style="i0.5c", color="black") fig.show() diff --git a/tutorials/overview.py b/tutorials/overview.py index 6066e515604..2a87d510135 100644 --- a/tutorials/overview.py +++ b/tutorials/overview.py @@ -1,6 +1,6 @@ """ -Overview -======== +Making your first figure +======================== Welcome to PyGMT! Here we'll cover some of basic concepts, like creating simple figures and naming conventions. @@ -29,7 +29,7 @@ # automatic frame and ticks around a given longitude and latitude bound, set the # projection to Mercator (``M``), and the figure width to 8 inches: -fig.basemap(region=[-90, -70, 0, 20], projection='M8i', frame=True) +fig.basemap(region=[-90, -70, 0, 20], projection="M8i", frame=True) ######################################################################################## # Now we can add coastlines using :meth:`pygmt.Figure.coast` to this map using the @@ -47,7 +47,7 @@ # without calling :meth:`gmt.Figure.basemap`: fig = pygmt.Figure() -fig.coast(shorelines=True, region=[-90, -70, 0, 20], projection='M8i', frame=True) +fig.coast(shorelines=True, region=[-90, -70, 0, 20], projection="M8i", frame=True) fig.show() ######################################################################################## @@ -57,7 +57,7 @@ # Use the method :meth:`pygmt.Figure.savefig` to save your figure to a file. The figure # format is inferred from the extension. -fig.savefig('central-america-shorelines.png') +fig.savefig("central-america-shorelines.png") ######################################################################################## # Note for experienced GMT users diff --git a/tutorials/plot.py b/tutorials/plot.py index 80cd26b8516..6752a55b075 100644 --- a/tutorials/plot.py +++ b/tutorials/plot.py @@ -2,7 +2,93 @@ Plotting data points -------------------- -Meh +GMT shines when it comes to plotting data on a map. We can use some sample data that is +packaged with GMT to try this out. PyGMT provides access to these datasets through the +:mod:`pygmt.datasets` package. If you don't have the data files already, they are +automatically downloaded and saved to a cache directory the first time you use them +(usually ``~/.gmt/cache``). """ import pygmt + + +######################################################################################## +# For example, let's load the sample dataset of tsunami generating earthquakes around +# Japan (:func:`pygmt.datasets.load_japan_quakes`). The data is loaded as a +# :class:`pandas.DataFrame`. + +data = pygmt.datasets.load_japan_quakes() + +# Set the region for the plot to be slightly larger than the data bounds. +region = [ + data.longitude.min() - 1, + data.longitude.max() + 1, + data.latitude.min() - 1, + data.latitude.max() + 1, +] + +print(region) +print(data.head()) + + +######################################################################################## +# We'll use :meth:`pygmt.Figure.plot` method to plot circles on the locations of the +# hypocenters of the earthquakes. + +fig = pygmt.Figure() +fig.basemap(region=region, projection="M8i", frame=True) +fig.coast(land="black", water="skyblue") +fig.plot(x=data.longitude, y=data.latitude, style="c0.3c", color="white", pen="black") +fig.show() + +######################################################################################## +# We used the style ``c0.3c`` which means "circles of 0.3 centimeter size". The ``pen`` +# attribute controls the outline of the symbols and the ``color`` controls the fill. +# +# We can map the size of the circles to the earthquake magnitude by passing an array to +# the ``sizes`` argument. Because the magnitude is on a logarithmic scale, it helps to +# show the differences by scaling the values using a power law. + +fig = pygmt.Figure() +fig.basemap(region=region, projection="M8i", frame=True) +fig.coast(land="black", water="skyblue") +fig.plot( + x=data.longitude, + y=data.latitude, + sizes=0.02 * (2 ** data.magnitude), + style="cc", + color="white", + pen="black", +) +fig.show() + +######################################################################################## +# Notice that we didn't include the size in the ``style`` argument this time, just the +# symbol ``c`` (circles) and the unit ``c`` (centimeter). So in this case, the sizes +# will be interpreted as being in centimeters. +# +# We can also map the colors of the markers to the depths by passing an array to the +# ``color`` argument and providing a colormap name (``cmap``). We can even use the new +# matplotlib colormap "viridis". + +fig = pygmt.Figure() +fig.basemap(region=region, projection="M8i", frame=True) +fig.coast(land="black", water="skyblue") +fig.plot( + x=data.longitude, + y=data.latitude, + sizes=0.02 * 2 ** data.magnitude, + color=data.depth_km / data.depth_km.max(), + cmap="viridis", + style="cc", + pen="black", +) +fig.show() + +######################################################################################## +# .. note:: +# +# We normalize the data values given to ``color`` because, by default, +# :meth:`~pygmt.Figure.plot` can only interpret values between 0 and 1. To use the +# actual data values, we would need to create a color palette table (CPT) which +# isn't implemented yet. From 439d882a5669cd17f719b6a9edf6b3cfb0055d65 Mon Sep 17 00:00:00 2001 From: Leonardo Uieda Date: Thu, 24 Jan 2019 11:06:42 +0000 Subject: [PATCH 15/18] Replace the ipynb tutorials and add projections gallery --- .gitignore | 1 + CONTRIBUTING.md | 12 ++++----- Makefile | 2 +- doc/Makefile | 1 + doc/conf.py | 12 ++++++--- doc/index.rst | 1 + examples/{ => gallery}/README.txt | 0 examples/{ => gallery}/coast/README.txt | 0 examples/gallery/coast/borders.py | 25 ++++++++++++++++++ examples/gallery/coast/land_and_water.py | 16 +++++++++++ examples/{ => gallery}/coast/shorelines.py | 0 examples/{ => gallery}/plot/README.txt | 0 examples/{ => gallery}/plot/points.py | 0 examples/projections/README.txt | 10 +++++++ examples/projections/albers.py | 14 ++++++++++ examples/projections/cassini.py | 11 ++++++++ examples/projections/cyl_stereo.py | 20 ++++++++++++++ examples/projections/lambert_azimuthal.py | 13 +++++++++ examples/projections/mercator.py | 12 +++++++++ {tutorials => examples/tutorials}/README.txt | 0 .../tutorials}/coastlines.py | 0 {tutorials => examples/tutorials}/frames.py | 0 {tutorials => examples/tutorials}/overview.py | 9 ++++--- {tutorials => examples/tutorials}/plot.py | 0 tutorials/central-america-shorelines.png | Bin 120813 -> 0 bytes 25 files changed, 145 insertions(+), 14 deletions(-) rename examples/{ => gallery}/README.txt (100%) rename examples/{ => gallery}/coast/README.txt (100%) create mode 100644 examples/gallery/coast/borders.py create mode 100644 examples/gallery/coast/land_and_water.py rename examples/{ => gallery}/coast/shorelines.py (100%) rename examples/{ => gallery}/plot/README.txt (100%) rename examples/{ => gallery}/plot/points.py (100%) create mode 100644 examples/projections/README.txt create mode 100644 examples/projections/albers.py create mode 100644 examples/projections/cassini.py create mode 100644 examples/projections/cyl_stereo.py create mode 100644 examples/projections/lambert_azimuthal.py create mode 100644 examples/projections/mercator.py rename {tutorials => examples/tutorials}/README.txt (100%) rename {tutorials => examples/tutorials}/coastlines.py (100%) rename {tutorials => examples/tutorials}/frames.py (100%) rename {tutorials => examples/tutorials}/overview.py (96%) rename {tutorials => examples/tutorials}/plot.py (100%) delete mode 100644 tutorials/central-america-shorelines.png diff --git a/.gitignore b/.gitignore index e1b1f7736e0..c7d89b873fc 100644 --- a/.gitignore +++ b/.gitignore @@ -16,6 +16,7 @@ doc/_build doc/modules doc/gallery doc/tutorials +doc/projections doc/api/gmt*.rst doc/api/generated doc/first-steps-* diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 614d3dd0d60..1b85fd8fbfa 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -111,12 +111,12 @@ example scripts. See [Contributing Code](#contributing-code) for instructions. The gallery and tutorials are managed by [sphinx-gallery](https://sphinx-gallery.readthedocs.io/) (currently, we need the development version from the Github master branch). -The source files for the gallery are `.py` scripts that generate one or more figures. -They are executed automatically by sphinx-gallery when the documentation is built. -The output is gathered and assembled into the gallery. +The source files for the example gallery are `.py` scripts in `examples/gallery/` that +generate one or more figures. They are executed automatically by sphinx-gallery when the +documentation is built. The output is gathered and assembled into the gallery. You can **add a new** plot by placing a new `.py` file in one of the folders inside the -`examples` folder of the repository. See the other examples to get an idea for the +`examples/gallery` folder of the repository. See the other examples to get an idea for the format. General guidelines for making a good gallery plot: @@ -139,9 +139,9 @@ General guidelines for making a good gallery plot: ### Tutorials The tutorials (the User Guide in the docs) are also built by sphinx-gallery from the -`.py` files in the `tutorials` folder of the repository. To add a new tutorial: +`.py` files in the `examples/tutorials` folder of the repository. To add a new tutorial: -* Include a `.py` file in the `tutorials` folder on the base of the repository. +* Include a `.py` file in the `examples/tutorials` folder on the base of the repository. * Write the tutorial in "notebook" style with code mixed with paragraphs explaining what is being done. See the other tutorials for the format. * Include the tutorial in the table of contents of the documentation (side bar). Do this diff --git a/Makefile b/Makefile index 92f0ac80ff7..ec3c15fc1f8 100644 --- a/Makefile +++ b/Makefile @@ -2,7 +2,7 @@ PROJECT=pygmt TESTDIR=tmp-test-dir-with-unique-name PYTEST_ARGS=--cov-config=../.coveragerc --cov-report=term-missing --cov=$(PROJECT) --doctest-modules -v --pyargs -BLACK_FILES=$(PROJECT) setup.py doc/conf.py examples tutorials +BLACK_FILES=$(PROJECT) setup.py doc/conf.py examples FLAKE8_FILES=$(PROJECT) setup.py LINT_FILES=$(PROJECT) setup.py diff --git a/doc/Makefile b/doc/Makefile index 2dc7f06c844..d310fc02cbb 100644 --- a/doc/Makefile +++ b/doc/Makefile @@ -28,6 +28,7 @@ clean: rm -rf api/generated rm -rf gallery rm -rf tutorials + rm -rf projections rm -rf .ipynb_checkpoints html: api diff --git a/doc/conf.py b/doc/conf.py index 9ba661eeecd..d954495b3f4 100644 --- a/doc/conf.py +++ b/doc/conf.py @@ -40,10 +40,16 @@ sphinx_gallery_conf = { # path to your examples scripts - "examples_dirs": ["../examples", "../tutorials"], + "examples_dirs": [ + "../examples/gallery", + "../examples/tutorials", + "../examples/projections", + ], # path where to save gallery generated examples - "gallery_dirs": ["gallery", "tutorials"], - "subsection_order": ExplicitOrder(["../examples/plot", "../examples/coast"]), + "gallery_dirs": ["gallery", "tutorials", "projections"], + "subsection_order": ExplicitOrder( + ["../examples/gallery/coast", "../examples/gallery/plot"] + ), # Patter to search for example files "filename_pattern": r"\.py", # Remove the "Download all examples" button from the top level gallery diff --git a/doc/index.rst b/doc/index.rst index a59edeb1f9a..cf87876398a 100644 --- a/doc/index.rst +++ b/doc/index.rst @@ -28,6 +28,7 @@ :caption: User Guide tutorials/frames.rst + projections/index.rst tutorials/coastlines.rst tutorials/plot.rst diff --git a/examples/README.txt b/examples/gallery/README.txt similarity index 100% rename from examples/README.txt rename to examples/gallery/README.txt diff --git a/examples/coast/README.txt b/examples/gallery/coast/README.txt similarity index 100% rename from examples/coast/README.txt rename to examples/gallery/coast/README.txt diff --git a/examples/gallery/coast/borders.py b/examples/gallery/coast/borders.py new file mode 100644 index 00000000000..bbee00ad14e --- /dev/null +++ b/examples/gallery/coast/borders.py @@ -0,0 +1,25 @@ +""" +Political Boundaries +-------------------- + +The ``borders`` argument of :meth:`pygmt.Figure.coast` specifies levels of political +boundaries to plot and the pen used to draw them. Choose from the list of boundaries +below: + +* 1 = National boundaries +* 2 = State boundaries within the Americas +* 3 = Marine boundaries +* a = All boundaries (1-3) + +For example, to draw national boundaries with 1p thickness black lines use +``borders="1/1p,black"``. You can draw multiple boundaries by passing in a list to +``borders``. +""" +import pygmt + +fig = pygmt.Figure() +# Make a Sinusoidal projection map of the Americas with automatic ticks +fig.basemap(region=[-150, -30, -60, 60], projection="I-90/8i", frame="afg") +# Plot each level of the boundaries dataset with a different color. +fig.coast(borders=["1/0.5p,black", "2/0.5p,red", "3/0.5p,blue"], land="gray") +fig.show() diff --git a/examples/gallery/coast/land_and_water.py b/examples/gallery/coast/land_and_water.py new file mode 100644 index 00000000000..1faad792bb3 --- /dev/null +++ b/examples/gallery/coast/land_and_water.py @@ -0,0 +1,16 @@ +""" +Color land and water +-------------------- + +The ``land`` and ``water`` arguments of :meth:`pygmt.Figure.coast` specify a color to +fill in the land and water masses, respectively. You can use standard GMT color names or +give a hex value (like ``#333333``). +""" +import pygmt + +fig = pygmt.Figure() +# Make a global Mollweide map with automatic ticks +fig.basemap(region="g", projection="W8i", frame=True) +# Plot the land as light gray +fig.coast(land="#666666", water="skyblue") +fig.show() diff --git a/examples/coast/shorelines.py b/examples/gallery/coast/shorelines.py similarity index 100% rename from examples/coast/shorelines.py rename to examples/gallery/coast/shorelines.py diff --git a/examples/plot/README.txt b/examples/gallery/plot/README.txt similarity index 100% rename from examples/plot/README.txt rename to examples/gallery/plot/README.txt diff --git a/examples/plot/points.py b/examples/gallery/plot/points.py similarity index 100% rename from examples/plot/points.py rename to examples/gallery/plot/points.py diff --git a/examples/projections/README.txt b/examples/projections/README.txt new file mode 100644 index 00000000000..1eda71ff0d3 --- /dev/null +++ b/examples/projections/README.txt @@ -0,0 +1,10 @@ +Projections +=========== + +PyGMT support many map projections. Use the ``projection`` argument to specify which one +you want to use in all plotting modules. The projection is specified by a one letter +code along with (sometimes optional) reference longitude and latitude and the width of +the map (for example, ``Alon0/lat0[/horizon]/width``). The map height is determined +based on the region and projection. + +These are all the available projections: diff --git a/examples/projections/albers.py b/examples/projections/albers.py new file mode 100644 index 00000000000..255c5328cb4 --- /dev/null +++ b/examples/projections/albers.py @@ -0,0 +1,14 @@ +""" +Albers Conic Equal Area +======================= + +``Blon0/lat0/lat1/lat2/width``: Give projection center ``lon0/lat0`` and two standard +parallels ``lat1/lat2``. +""" +import pygmt + +fig = pygmt.Figure() +fig.coast( + region="BR+R2", frame="afg", land="gray", borders=1, projection="B-55/-15/-25/0/8i" +) +fig.show() diff --git a/examples/projections/cassini.py b/examples/projections/cassini.py new file mode 100644 index 00000000000..22da11f2e98 --- /dev/null +++ b/examples/projections/cassini.py @@ -0,0 +1,11 @@ +""" +Cassini Cylindrical +============================ + +``Clon0/lat0/width``: ``lon0`` and ``lat0`` specifies the projection center. +""" +import pygmt + +fig = pygmt.Figure() +fig.coast(region="MG+R2", frame="afg", land="gray", borders=1, projection="C47/-19/8i") +fig.show() diff --git a/examples/projections/cyl_stereo.py b/examples/projections/cyl_stereo.py new file mode 100644 index 00000000000..befe28e28dd --- /dev/null +++ b/examples/projections/cyl_stereo.py @@ -0,0 +1,20 @@ +""" +Cylindrical Stereographic +========================= + +``Cyl_stere/[lon0/][lat0/]width``: Give central meridian ``lon0`` (optional) and +standard parallel ``lat0`` (optional). The standard parallel is typically one of these +(but can be any value): + +* 66.159467 - Miller's modified Gall +* 55 - Kamenetskiy's First +* 45 - Gall's Stereographic +* 30 - Bolshoi Sovietskii Atlas Mira or Kamenetskiy's Second +* 0 - Braun's Cylindrical + +""" +import pygmt + +fig = pygmt.Figure() +fig.coast(region="g", frame="afg", land="gray", projection="Cyl_stere/30/-20/8i") +fig.show() diff --git a/examples/projections/lambert_azimuthal.py b/examples/projections/lambert_azimuthal.py new file mode 100644 index 00000000000..a9cd6730066 --- /dev/null +++ b/examples/projections/lambert_azimuthal.py @@ -0,0 +1,13 @@ +""" +Lambert Azimuthal Equal Area +============================ + +``Alon0/lat0[/horizon]/width``: ``lon0`` and ``lat0`` specifies the projection center. +``horizon`` specifies the max distance from projection center (in degrees, <= 180, +default 90). +""" +import pygmt + +fig = pygmt.Figure() +fig.coast(region="g", frame="afg", land="gray", projection="A30/-20/60/8i") +fig.show() diff --git a/examples/projections/mercator.py b/examples/projections/mercator.py new file mode 100644 index 00000000000..d2e54886e6f --- /dev/null +++ b/examples/projections/mercator.py @@ -0,0 +1,12 @@ +""" +Mercator +======== + +``M[lon0/][lat0/]width``: Give central meridian ``lon0`` (optional) and +standard parallel ``lat0`` (optional). +""" +import pygmt + +fig = pygmt.Figure() +fig.coast(region=[0, 360, -80, 80], frame="afg", land="gray", projection="M0/0/8i") +fig.show() diff --git a/tutorials/README.txt b/examples/tutorials/README.txt similarity index 100% rename from tutorials/README.txt rename to examples/tutorials/README.txt diff --git a/tutorials/coastlines.py b/examples/tutorials/coastlines.py similarity index 100% rename from tutorials/coastlines.py rename to examples/tutorials/coastlines.py diff --git a/tutorials/frames.py b/examples/tutorials/frames.py similarity index 100% rename from tutorials/frames.py rename to examples/tutorials/frames.py diff --git a/tutorials/overview.py b/examples/tutorials/overview.py similarity index 96% rename from tutorials/overview.py rename to examples/tutorials/overview.py index 2a87d510135..0dda1d6ff53 100644 --- a/tutorials/overview.py +++ b/examples/tutorials/overview.py @@ -56,10 +56,11 @@ # # Use the method :meth:`pygmt.Figure.savefig` to save your figure to a file. The figure # format is inferred from the extension. - -fig.savefig("central-america-shorelines.png") - -######################################################################################## +# +# .. code:: python +# +# fig.savefig("central-america-shorelines.png") +# # Note for experienced GMT users # ------------------------------ # diff --git a/tutorials/plot.py b/examples/tutorials/plot.py similarity index 100% rename from tutorials/plot.py rename to examples/tutorials/plot.py diff --git a/tutorials/central-america-shorelines.png b/tutorials/central-america-shorelines.png deleted file mode 100644 index 2638626ec7a577dd2290a9763d41c7545a0c4d79..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 120813 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 z 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 bGeX Date: Thu, 24 Jan 2019 13:37:50 +0000 Subject: [PATCH 16/18] Instruct devs to install sphinx-gallery master --- CONTRIBUTING.md | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 1b85fd8fbfa..f0d41891469 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -338,6 +338,11 @@ Don't forget to commit the baseline image as well. ### Documentation +> **NOTE**: We currently need the latest version of sphinx-gallery from the Github +> master branch. Please install it with +> `pip install --upgrade git+https://github.com/sphinx-gallery/sphinx-gallery.git` +> before building the docs. + Most documentation sources are in the `doc` folder. We use [sphinx](http://www.sphinx-doc.org/) to build the web pages from these sources. To build the HTML files: From 1f38a4c467350713d9b95bbda7790c719908610d Mon Sep 17 00:00:00 2001 From: Leonardo Uieda Date: Thu, 24 Jan 2019 13:38:04 +0000 Subject: [PATCH 17/18] Don't update sphinx-gallery all the time --- Makefile | 1 - 1 file changed, 1 deletion(-) diff --git a/Makefile b/Makefile index ec3c15fc1f8..6778915d89f 100644 --- a/Makefile +++ b/Makefile @@ -18,7 +18,6 @@ help: @echo "" install: - pip install --upgrade git+https://github.com/sphinx-gallery/sphinx-gallery.git pip install --no-deps -e . test: From 3a06761540a16c97fb158602699de801c22d69a9 Mon Sep 17 00:00:00 2001 From: Leonardo Uieda Date: Thu, 24 Jan 2019 13:58:04 +0000 Subject: [PATCH 18/18] Add tests for the scraper --- pygmt/figure.py | 19 ++++---------- pygmt/sphinx_gallery.py | 12 +++++---- pygmt/tests/test_sphinx_gallery.py | 40 ++++++++++++++++++++++++++++++ 3 files changed, 52 insertions(+), 19 deletions(-) create mode 100644 pygmt/tests/test_sphinx_gallery.py diff --git a/pygmt/figure.py b/pygmt/figure.py index 41c78861674..d3bc122ab5c 100644 --- a/pygmt/figure.py +++ b/pygmt/figure.py @@ -23,24 +23,12 @@ worldwind_show, ) + # A registry of all figures that have had "show" called in this session. +# This is needed for the sphinx-gallery scraper in pygmt/sphinx_gallery.py SHOWED_FIGURES = [] -def get_figures(): - """ - Get all figures that have been created in this session. - - Returns - ------- - figures : dict - A dictionary with all figures. Keys are the figure names (unique IDs) and values - are the :class:`gmt.Figure` objects. - - """ - return SHOWED_FIGURES - - class Figure(BasePlotting): """ A GMT figure to handle all plotting. @@ -280,7 +268,10 @@ def show(self, dpi=300, width=500, method="static", globe_center=None): Only if ``method != 'external'``. """ + # Module level variable to know which figures had their show method called. + # Needed for the sphinx-gallery scraper. SHOWED_FIGURES.append(self) + if method not in ["static", "external", "globe"]: raise GMTInvalidInput("Invalid show method '{}'.".format(method)) if method == "globe": diff --git a/pygmt/sphinx_gallery.py b/pygmt/sphinx_gallery.py index e59f103b7ab..c1252298a2b 100644 --- a/pygmt/sphinx_gallery.py +++ b/pygmt/sphinx_gallery.py @@ -4,14 +4,16 @@ try: from sphinx_gallery.scrapers import figure_rst except ImportError: - pass + figure_rst = None -from .figure import get_figures +from .figure import SHOWED_FIGURES class PyGMTScraper: # pylint: disable=too-few-public-methods """ - Capture ``pygmt.Figure`` objects and save them for sphinx-gallery. + Save ``pygmt.Figure`` objects that had their ``show`` method called. + + Used by sphinx-gallery to generate the plots from the code in the examples. Pass an instance of this class to ``sphinx_gallery_conf`` in your ``conf.py`` as the ``"image_scrapers"`` argument. @@ -23,9 +25,9 @@ def __call__(self, block, block_vars, gallery_conf): """ image_names = list() image_path_iterator = block_vars["image_path_iterator"] - figures = get_figures() + figures = SHOWED_FIGURES while figures: - fname = image_path_iterator.next() + fname = next(image_path_iterator) fig = figures.pop(0) fig.savefig(fname, transparent=True, dpi=200) image_names.append(fname) diff --git a/pygmt/tests/test_sphinx_gallery.py b/pygmt/tests/test_sphinx_gallery.py new file mode 100644 index 00000000000..ae2afaf0325 --- /dev/null +++ b/pygmt/tests/test_sphinx_gallery.py @@ -0,0 +1,40 @@ +""" +Test the sphinx-gallery scraper and code required to make it work. +""" +import os +from tempfile import TemporaryDirectory +import pytest + +try: + import sphinx_gallery +except ImportError: + sphinx_gallery = None + +from ..figure import Figure, SHOWED_FIGURES +from ..sphinx_gallery import PyGMTScraper + + +@pytest.mark.skipif(sphinx_gallery is None, reason="requires sphinx-gallery") +def test_pygmtscraper(): + "Make sure the scraper finds the figures and removes them from the pool." + + showed = [fig for fig in SHOWED_FIGURES] + for _ in range(len(SHOWED_FIGURES)): + SHOWED_FIGURES.pop() + try: + fig = Figure() + fig.coast(region="BR", projection="M6i", land="gray", frame=True) + fig.show() + assert len(SHOWED_FIGURES) == 1 + assert SHOWED_FIGURES[0] is fig + scraper = PyGMTScraper() + with TemporaryDirectory() as tmpdir: + conf = {"src_dir": "meh"} + fname = os.path.join(tmpdir, "meh.png") + block_vars = {"image_path_iterator": (i for i in [fname])} + assert not os.path.exists(fname) + scraper(None, block_vars, conf) + assert os.path.exists(fname) + assert not SHOWED_FIGURES + finally: + SHOWED_FIGURES.extend(showed)