From 931509ef44986d6af16a4da7a03e2f819ec1d62f Mon Sep 17 00:00:00 2001 From: Dzmitry Moisa Date: Mon, 21 Mar 2016 14:49:08 +0300 Subject: [PATCH] Replace PlantUML descriptions with static png Replace PlantUML descriptions with static pictures as PlantUML is not supported in gate. Remove all the related stuff from configs and scripts. Change-Id: I905153ef7d93a1248c76818048f58e24fc1d556d Implements: blueprints.launchpad.net/fuel/+spec/fuel-docs-migration --- Makefile | 19 +--- common_conf.py | 7 -- conf.py | 2 - devdocs/develop/_images/uml/astute.png | Bin 0 -> 17267 bytes .../_images/uml/cluster_deployment.png | Bin 0 -> 37177 bytes devdocs/develop/_images/uml/nailgun-agent.png | Bin 0 -> 16481 bytes .../_images/uml/network_verification.png | Bin 0 -> 30217 bytes .../_images/uml/nodes_provisioning.png | Bin 0 -> 48462 bytes devdocs/develop/_images/uml/puppetsync.png | Bin 0 -> 32121 bytes devdocs/develop/architecture.rst | 84 ++--------------- devdocs/develop/sequence.rst | 85 ++---------------- requirements.txt | 6 -- 12 files changed, 14 insertions(+), 189 deletions(-) create mode 100644 devdocs/develop/_images/uml/astute.png create mode 100644 devdocs/develop/_images/uml/cluster_deployment.png create mode 100644 devdocs/develop/_images/uml/nailgun-agent.png create mode 100644 devdocs/develop/_images/uml/network_verification.png create mode 100644 devdocs/develop/_images/uml/nodes_provisioning.png create mode 100644 devdocs/develop/_images/uml/puppetsync.png diff --git a/Makefile b/Makefile index b782a89f5..fe710c701 100644 --- a/Makefile +++ b/Makefile @@ -1,19 +1,16 @@ # Makefile for Sphinx documentation -# # You can set these variables from the command line. SPHINXOPTS = SPHINXBUILD = sphinx-build PAPER = BUILDDIR = _build -#PLANTUML = plantuml.jar -PLANTUML_FROM_PKG = /usr/share/plantuml/plantuml.jar - # Internal variables. PAPEROPT_a4 = -D latex_paper_size=a4 PAPEROPT_letter = -D latex_paper_size=letter ALLSPHINXOPTS = -d $(BUILDDIR)/doctrees $(PAPEROPT_$(PAPER)) $(SPHINXOPTS) . + # the i18n builder cannot share the environment and doctrees with the others I18NSPHINXOPTS = $(PAPEROPT_$(PAPER)) $(SPHINXOPTS) . @@ -45,19 +42,7 @@ help: clean: -rm -rf $(BUILDDIR)/* -#$(PLANTUML): -# @if [ -f $(PLANTUML_FROM_PKG) ]; \ -# then \ -# echo "Have installed plantuml. Creating link $(PLANTUML) on $(PLANTUML_FROM_PKG)."; \ -# ln -sf $(PLANTUML_FROM_PKG) $(PLANTUML); \ -# else \ -# echo "Downloading plantuml.jar."; \ -# wget https://downloads.sourceforge.net/project/plantuml/plantuml.jar -O $(PLANTUML); \ -# fi -# $(ACTION.TOUCH) - -html: -#$(PLANTUML) +html: $(SPHINXBUILD) -b html -W $(ALLSPHINXOPTS) $(BUILDDIR)/html @echo @echo "Build finished. The HTML pages are in $(BUILDDIR)/html." diff --git a/common_conf.py b/common_conf.py index c3cc9d1ad..b4b3ee795 100644 --- a/common_conf.py +++ b/common_conf.py @@ -1,10 +1,3 @@ -# Add any Sphinx extension module names here, as strings. -# They can be extensions -# coming with Sphinx (named 'sphinx.ext.*') or your custom ones. -extensions += ['sphinx.ext.inheritance_diagram', 'sphinxcontrib.blockdiag', - 'sphinxcontrib.actdiag', 'sphinxcontrib.seqdiag', - 'sphinxcontrib.nwdiag'] - # The encoding of source files. source_encoding = 'utf-8-sig' #source_encoding = 'shift_jis' diff --git a/conf.py b/conf.py index d158fce31..030439700 100644 --- a/conf.py +++ b/conf.py @@ -36,9 +36,7 @@ extensions = [ 'sphinx.ext.autodoc', 'oslosphinx', 'rst2pdf.pdfbuilder' -# 'sphinxcontrib.plantuml' ] -#plantuml = ['java', '-jar', 'plantuml.jar'] # The suffix of source filenames. source_suffix = '.rst' diff --git a/devdocs/develop/_images/uml/astute.png b/devdocs/develop/_images/uml/astute.png new file mode 100644 index 0000000000000000000000000000000000000000..f481847beebabaef5ea9bc1d70a51e1ef09f1811 GIT binary patch literal 17267 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 CPXG)6 literal 0 HcmV?d00001 diff --git a/devdocs/develop/_images/uml/cluster_deployment.png b/devdocs/develop/_images/uml/cluster_deployment.png new file mode 100644 index 0000000000000000000000000000000000000000..2a45557661a7d37cb93bd05df42eac2508d2dbc7 GIT binary patch literal 37177 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 MbXF|sgx1af0xoiMs{jB1 literal 0 HcmV?d00001 diff --git a/devdocs/develop/_images/uml/nailgun-agent.png b/devdocs/develop/_images/uml/nailgun-agent.png new file mode 100644 index 0000000000000000000000000000000000000000..9f69125d2f53ffb49feebf4b01c1d5543e7ebf31 GIT binary patch literal 16481 zcmchmP_S*R`*G?X~t==Q`K94N{bsz``KLKtn^rl9EIyqoLi_L_@p9 z2)PYD5x-wI1^(i46w`EkW&6g>+QifmO~T~0iM^qti7};-8>P9U;~PFUwl~&>uN|Fi ztXUmwo$OzknA+N#nXtY#apW^oBLSo7xvOeA{^uGrG}k0ArCx>Brvxp}$FFzF@kuF3 zWEHXR-{t)M;Es%!w=nc_A6NqOw#br@5+dMzg9oLP5#oKnz@ra zr|0B354YC-oY8}(@fBsC5-AKOyx1ikb=|jQlCX!4u#IzS#iShPG;JbJNR^IeoU7~m zk7f7Vk2>$@$>YP({REbHd^MP(T$mw?ezxY)M_lbY4snKI_k2FhZup%t2*)qHjq|_= zNnthYys|g{Xq4?2g!9KT%KrXn*kEp9&#iVoe{uXN_2sU0PC>{=FLRz^4YAmOc$_FJ z!=og{yt|>5>@$q+T@Ofb$PJ6*(;xd%O)7oWGCg{;sI9*l#;A#F$T;WbH|5^2)mUk3 z8M#iC%6_?vrO8-blOT=p6b((tTM8kf>N>HRjH4@eeBG|3jDY!wU%lt*o*gHklHRxN zYSCH@=`}aL@a!e#HvK32`=6H8@XSeyOK8-Zv{Qy6LPfIziIMkW4`097>kdUNGySlbkvmmO;<2VYF7Vm)?2AGr`_MJdnw5-4g@!SYGDXI8p zuf&H3QhzSNL}d2r)nKFB{v#IchmYA8 zPj(lSJy`LAn3{j}?~1mhns zE@`kyd0y<}kn;R$Zx3Mfmy(h)C%XrnCLh<((^J6zA-O>9+Cysb51)5`|9+V-Gy_&= zXYSj#_gJrZ6&dzA0b4t zpD)DZQ-$PwIyGyU(jtk)YCVo$pG}tcXu3H)<{p~fIKDv7~v_8UGQ`6H7 zNoxuJ8WEpL?Sy{u9ga{g-?vnsD_)naDfwi+GLz>zw~VBnv!7@%L4$u7odMr7Al@F# z!3kA?xFiGr*b`GzLzX|vON0b%H=l>K;gIpEw!mVlQkkE>p87nVz-h6!Uec2O_bnxn z6y7IP{-gq~iea`Gn3&a)SMT4ySD(&R#fJ?_b`T#db;k+1AAFARIzQ@X z3$55JmR&b`@#5_~ET#qG5MH4!m(jyh*FH2^Y!ChmwKBuy@}Wa6?FQdtkr?$(@CS65?WV`sa|y1AVO z;nUG4Sv;lbOXklhD3}D7t*oq={Y)`2HttCgOpO07pxP?H4R?|zo)c1qTTj(S=EzoC)Uo7{& zbl0{#*_lHvzG1Hbo42#m=GD`M2i{mhzp>{8pP1F2H+f#&rn?nE3um0~6wNG?ihd#` z*v@uXxB&K1o)N;|HAg;K=<-124;9gS;Ij&e+(kB%)e{pF!_7iz8l4eTqA(b&HnF3# zvwvW~=ylX|lSdps126CR%nWdsk;*=7GQOTqY%)x#i5Y;adsSI6y{WakWn7Vky! zA7YX{slqK2qjbh(aThk7vkD($VhFUQ4Gd-{CrOGj&|onVBGTfYc2BP3Z5tP({g;=S zC1hTRTSe1a1_c;_%6dQ(18p@m}M zcyEbzD}rppu5~CZ`+X$^CJ`Koo7OfrKM&6{wXzC9*->4=O+-oZ{Mlk1qWyQx7X=?x=s- zIQl)9x5d7Cd0(-)fx{+Xfia6~8O&H6}@C@L0YxhW~PaRv+36EL>>S(7mIuFe`h zJom4-xbUpSh232XkB-KtosyvNLZW6R9gR<}@H(X2F}L5Z=S}6MdBXL|kyn3z|H%X$ z0>bH^n@cZU8%D-Y&gV$a!=nj{EcH4=qjZGo&#s9Y$>=ppi$H_vyyf>PuIz0T6>%5f zUGljE7y-Nve-zy;O-!opn-k1>pR??zWcmC5sI(X~{h89_x;x*|A(=FQ2D><4o4BN@ zuH;%LAV@RrQ%;!m*uwZz&(6)w&B1{m3!nSqXny+@O9cPhj$kUlxKd$2M+=TmtR zXq&uU`l;6=uXT{p*4I7ezdy()m^XcgW`(r!&3@){^iA+-R z`~8kzU3B=RkBoSGd(*(T_@#J+DdC^(R(Y&O3V}Nv+0Y{}adRO-`wq=?O|-I3QMO-O zy4Vnn*LMDp92UYL1lURX`ubN_S72ddBHwtwK)zTQu$!o~i1CSzilWC{xQ~uo2}w0w zW-r0(s#B4C6w{;Iqlzx3FN8~l2+aL0!Y7|10P^Q2uM3j?+ejw(ygnjba?&r4NZp3o z%aMW8{d-Svag9?zF!#0WBg7#6-Lj=T?5?;BE7Pv!L&UWo=Kd&6whnu$z zRTleYn-snBndp^BK6cdY-Ltz02*~`(U8g~eyM2&=8vxrhp9m&w({SX!bD^Cfff&<%*gRdnV6Z));q~` zIjim$oV?sl59K7kVq9ha9Q!NZ-2cKgMm$nNfV2MNx0tkm=J5`%XO(TQUlBs7wln_D z9k{6`CbY}_`#U#DUv$`k^Z4)8)w~lr2mujQ`2W0yu_XR>AUceoXk5EML57hPPA-w0 zO$S3cMj$Q>384aiy#UeEPcGwiiNO3<>_!V>wG@aOsT0b8_im*S6Lx%K@4}}d|LBYI zC#WU&Qh3OIpRRGh!((c~ZM53!?_OK)&`T8PMUjo+e1Av7?XRtA&HLn`0#h{^DhtqB z*aZ<9j7J4`6OeCkTYs?<5>-CR+?y)Me|&jtaIiJqB!!>+h$Ufs>>)PhBx_Elx2d`b7G&z`-W(oFO|-qPz$ zHW;CiBbb|R$Z2p|{}e~0a!6lnfRn=hqh5{aPQIB!0%ufm&IIvXieN#5^X3b?feZ<{ zU<%$U@huvPRIEGqKPjs<+f1s5g)Qvu{}|p{&XSQ}W;y5J%e32~(VEPnqA@1vRbT>u zeWBh7v%5Qb$+l)<@Mfzba$!XGxk;b{uOE_me{LTB!KN2~q%0=AFXZJ;L*v?<4Jo*P z|6Uz2Nli%bgpTGv5-ptM#B2HsV7gS7^$k9U<7P){8R@pODgFH(00A@8^Q>VIbY!odAHpPr2HNUf` z+=6v&(q`KavdqhzSvm!p`1rKy>PPFNZ25K#xi@C=jAnhf&T}>NMXTrC)z!o!Gdkvm zO_%z%0bLD^<+*PhhpeqsqGx1+Yh8!)ztS$Pk}}g^o>v#Q)xv4;*mxy&PwYq;3_d~v zut>hl#AW#wKO`WS`w`N7E#7yTJ5q#||GK`AxwEHG!eZ5pIHz)JD38p4s8)|8@vD@S z&_<^4wSbgb8*vRLn2X{*qGR-@&-rt5*Z?~Y`#*=-2y^o>zXomMoCsn%i(H6BVEFMr zJilT-bYS&#@d>%@<#O9RjL(L%6p5E3B%kf9C^0{m2iX($bM===dsl2~nNQwPn|@%& zcyXkX%!DCvAOLO3JfYzEsGX1tZGN`br;G8cD)XDL;!TD zCvf6FeaW@2+DE5eFcpZfvN}{$Pmv{0Qv9$C6M9dvtz&ro09h0_6qgRSX6? zI_0kww^1=0aq@>{W!88_Np$^{-jnxCN-^6=pSg>cvc_kc3Qzk8OIwyRi=$%+Y{cjJp`(r)?}8_3o6n6K%~!ak=L{%;T+ zni1FnZC$JKlGZjd4*7Wx$*qro$7z(@{}@ZFbou*xkipu{8RB@0Od(~ev-;D$dv(rR zQ$kNnDdOLHTO^&Aekhb8W`PrTkY1nuyvzOO3z~|?=(Ug=OiEtpqK|)iF)-pG0xvZ5 zvZ|KH7u=A%`1`48+lMljt)z4*;L#q(Tl!3>V3Eq}kfciK|CEiOYkX^U&_lb5eP`!H zNZ3GDWp%sO?jzT0jWteGLd)gr@U%NJD0Asx<-4ZAh5l*Jx?fc(@2IO15v8;|aIrf0 zoy+Rcrv&HWev7F_w~GFZ-f*%>{Y?+3teZwr@$EY`%Fpt%h69tO)j@>FW`qv|1S~h; z2#rFU@wwLH-kBGh^}Qp zW}4pW9?7_=+k1|hu0HPyJ&0hpu8vRX;>&5ioesp?qJ5CL#IJ}l#9uW$@f6@TXL@0`ql9Xps^zuh?4JABx(XIo)$;EYOX6JDK_l;F=Y4f0UFejT%mjmlmarm zj21KZpCHe7-KBIrchCu^3-3Ceu6W8apFeh|3fwuXE}AM?DZA6G$hMgK4!lRl^RYPE z@7#TCsVy(_-xb~iGy^^!-h9S)k?BqIlwZfDGhK~eYa?c3;ioRupKe271g1l%e6dJq z-24v{U6%}9FKI`hbq2ka$b60Tz26dY3`{*Aqa0WQFd%8QEAr{9)o_Pbun zyEew$i(jK0^~;KV%0Y8|!nAL1m~YDyuBUlb%L6c!bH^KD5cfTIx4eQ+yZnZ|me#f!lj*5$7BI#lK9e7jQA$S-ZtVH4a*4c7D zZEck+DZOSrJ51@irX#; z^elVE+L)T`aB+G4%e}QHdsb3r`Lf%8j{>d#yRVzMmv;G%iikLIGQv{mc$EQcMM4()X8`=84Xux`@*r z_^`%(LLZR`EpE}If1Y)%c8!16W+@1ILxC3bW^%h_t}=FW_EA9dX}=8ZFQs2)zo7kgON)#2YDmVw`g}#% zvnt}H!)|i6E9HV4*sK}a_Rreyr(5_rPWnM@B4Xmo%6PG4j<>c-NH5;^?iy6K8T|J+ z%gaotari6*8ZRft0(H4h_Y<^fZ-Ai%w0ubJWg(`4gCOx;Jv)^=k+>P~V%oe&-a?+E z)iv|j7ZQJ8O6`@$7pq{!drEX-rM-TN=d}HvIqE1gfkFmqpI6cJ579_>J}2$WN_wJn zQek1C>{3LjsYc~OzU;qaWJjzxoTZr%b-KV^Q_P?wHcbsr1c|hITT6Y%( zJbXPWMcbNTu_~b!XS^KpExTM4(zb`Usdj`OSR7wEQ)B-B7wLNRpi;( zSvZC8pZ5d=1b_`I^~rOuG3ox8r;Q{~3J8`VHt)OTRgpqQZD;h5{)g%K}3Xs?;PJOdJ*VA9VynRf;=ePnEnF>xA zO%X?Ia#~lv8LP=`YDEZ$IhAbLGL1W=LKht}?Vej5yGNh7YinzV))wT@cGA8R1tA1I zjs%?6R7Gexjf{-u=jOi3l5vq|7AFg<<8)YMcd9wsJc*Zqym zh4%39f1bgCX*)X1flWajO_$8;V7k~52^eXRYcinrREXT$7sQ^Q`xFjOf*UYHA#G@jFXCjStWQadQ&} z|D*~@%Bp}%mQa_tPgMPK$xfcUuzI4{*`A07Hc5U^#Wf@U)BC%Wn2xYJAiwJlUEGhw ztzEfLdEY=WpQimQ=ppFmAUb>op1bKej|aKtV(>-YLe)n1zETL$;ggM0lIO!tjS1D_ zpg3rtYNYzvNoeq)%pNWvX*bEX2VfwZ^sgFSMDL1F@p^b8qReqeVZ?xCJd&m5J^ZE}V8*7XG) zJ8GV3FY2nVe#Z`b+$Ddog18UX3r4`Il`^-yT!?S~@H75nG*AsIuEbLLwy1>58{a%v zM8%Vuzp>r;E4k3Wi{OvVOZj3{`BQt?zn3VAD9TtF3eoxf=igtYIM8p61pm8^kSi+Z zo~Wc9R}r$kh04T#AAI*Zg46a}ub_m#L!&At;_n2hPT~N6F-V!TAolMEuJ=TmR8pCm zT?-4y{(b(}mZ@-Qyh$F+ImvF!;10k43|OLgqBHVfFx>x5W>A>be;%F*fH||G&)sbt z4*sX_Jr&SH2+&cc^yL&`DFXMqdcKvVV?Vk347FmA{D6Gv@WI!6Cul#o`$k775b!%_ zAiKZFrgOc3NWE{Ewb)na|LYzQV|(wudL4AQo16K6roi=W)MYJR-uPtA6}6POLnN6P z`pqh-^`0I{ml~1=e?R=v6!?AYnT)HmV%>a*VH^H`rfT`eZlX8Z6x)*zmW}^7%}ebL z%0hRYM#aJU3X%1n@~;2ar6QlNATtN`dwj_qAT|i|mQ5TEjdsPBahp&_O1d9yFjW0a zaDv>_^VsnjJ2lMYq#c7BQ^38}r-B|La%q@ZSi;E#8LO86@)2Bc>jh6?#vpWbJbu#$ zgF&*>s&}D`L7?Ro^YNqQ0TpT{i@d;57QRYMa`-%W$sg$p87_FM;*GqSWXTWUR-Bi~ zX8;7%CUY+ZY~yvjHLX|g*grhX_58Vlj7)Tke8OyRZ|~Sxt>L%# z<=lowM)rqmYNp-_3JRu3IKA#J*Y)A3f$+tS=xDJX78cfWU-J24XSAh@zWN6{4KQo+t7V0&qTfVn#x%}8# z!StBde$i#ts~vf~Ir;p_lRx7XW+19NJ3FU5w%MXICK3^*)1~u7~NP~v$V0fJl}2+ zc0cIo@3$K-HyPe)Ec|DoSX#Z&jyf|RLO6cw#tG{dk?mFo{D*OR&MC>Ih1$!Vcym=& zqnT?8Q;+Liw)^^Cs6BUnud(*o-(MBqsLkU37MPUx_Kct@sN8bg-QD*_rS`9P+bK3O zEuTY)iTS+F9Ery(EmRV@ZH~4}az}hFcH2>8UCH>+(81Z^de6z_`Eg#K_GVvq@UyLa z;~$BhP{#5*H`~XaL9+8RaqRmoPj6jI$@4O0;D~?|T3h`P6%_@#zhz=iFHOEVIXPto zn_}cSzh7Kj1nKiJF)=%qm$tU{a9>FW%d?}BLZ^Wf(0~~~Etp2w+1Y_bvB*?N6$13S z==+Chb{K}*M1;B=4Dplhoo!J=GhM;Yc=@%sj0yj$=2!qyxFib zY`>3xJBi;Vj3nyQr!lZP`G+LLN{!-@)PM@d0o}^o`Foe;`wj(Gs)qTo5R)PmOK+{j z((-b=AOwY{Vr1INa~c|Bke8~o_a|*zk^x#3eW0fDp-DbeF_P>iM#RX!EnW(VVh^3% z+;)=`wO?{rN2@@+$Y|S1Da-P3 zZCKV7^ikgdWLxY8+9wPu*>AQP%9%3nS<%9^)?*S3MxJonObnI1YA54&{&fOCPH1T8 zbK4o+0+F^Egp*`K7blkR1+!e?M$0PQl+!{kg!Oq5y3%gX~RX5e!v zrXnXNm&j=W*T7NDDRf?5YX5ZM8qEe5bH2%xihR%1o1|V1}@9sO0)3>aBh2s3m z-Er_BH#cQewn0HlrxI%D*<@8dpM>J8r=VWKUPWPiOq z89m5C^;kLe(vUAQjhHIxCW+t8e|uUQdA5P`Z-(@JGw8pH$X=YeLxTa{07LgP-_T;R zdp3SNKUJ9|^k$^o82av?`wPmmC$DLGCtuu&`kQR>#rHb%C%q$Wohfc|jiDZH$PX(n z47{}ZO=V|pp@TD*wY^PHL^OUS`->`^kX^g?iSGp|PCHwmWGB#0zqpU}P5=42gci=k z#54q1{{j>g^hY4=*uiFwLS#R!?PXX0MGyuW$b$j~^g{Jx2yn!M!$XGK{d@@&aqbfr zgU`z?Za^9Y+AOuPu|a>Eh*kF=5|Ts^WWd(c)TIA{zbiE|{Yr0BwM7qggRwssf zsA4)KD4xTt+?T_&=jFFy73AV75_xwxB%-vsI{S3FH*tA+*=22rA)f%F!s(#$G$-HF zW6o{2Vuw5$g(hBT!K^2%S%&SsuPYUaeg{lO`P*vMZiu;goSq?ROo&OZRZp_UM ze9+>s+_y1a0V0BvqvJ%C)$;G(Z;m#!ijA^H@c%cV3P1IK2~`?}l!|H|K70szxLw`d z1+kA$I|l~JEe5keW)Ka)&T5(Ba`o^?{PYRL@miPd84xgox5>Zx-a$9N0zb}9P874A zGB8MeD$01Eq6az-s?~MIIdUlM^BDnsJzXE`jS46jcA%$er=g+2AnJL2c??o969dC3 zNX!hL{pn(|CxKAv727v&-dI?yPB*xKkSt(5_EamDrA)K1s7TQBWGC^tt&sbH`ADG_ z=biCD{%eozrnso6z4;%Qyj-o|mceacvi#S9l@irYVy{3ttFfKUhMslT?;NZSa?*|O zI@5Bt>ZxCCJ^TNvRtQbkSHzZ6*{3d5D~bRhy)j)eBvsHu{7^toPmdkM+ z18o&mn~n813n1w^UJ?d=f5sFkd6hRpL-Qssw#9>4RVDL{nVA_?O<1<=o;09|?vXI| zvZ3}7T2{!;_H~tKwZ-6j@9F93tPOZ<3b0KiWuEg7DuCHW1GIw@% zM$*C)ax4v4Kr)>=9lx)@3(JJ&r>w24jE#*++5~P$E`S=YXEr?@b|&N7Gpk;tt(M%y z%H(sbN$*V$q$}{(WS8HTGZ&-P7{_o?fg@KENlQy>+jRIS)Me$DZ(G&|JFpD#_33gd zP-sc1PD%M(oi0z+IRNq1_k?#v-ko@cz()=PG)%mCVKmL>Tl~Z**mD`III>j+L{{%i ztp+kXOIofN$42^fcYgq$(8PA>PfEs(%fO&`{LULMtu>tR2Cq&xw0_7X3=Iug>d1kb z5lCC$bDSLbt&Q)#CI?u=KZHPXiJ(y)vT}0q+J%MLO4+;7P8<#rD(Zu|7t;#^Kv$FC z@FSSe&xTCxEC1om_?FNvrLej>-cXSAKUvCTNQD29FaIl8d6UnO!ei&x8vjSyk1_7x zxu9UOo|&g-V_2Ac&Fg89^)%GgozIVK0I*cnm_|qf0h#(*ti&I~$A9ep$uAm!92-6+ zj@&Q(0G|C{Y83G7EbRozNqFA61j?XXcvPL%9T8M=37o4yidC%FkeO1M#OK7Q)-6eu z%;$7=FsQIS+wxO(Z)eARv^aU_NmO+7=H{kO&Fi9~BDw4&pn|)-Ypkuc zwLHPH)YR1Af+zeo%58#;nQkPg^neB%LWAPg6x=01ZN z*JqrsWP~Hf`4W~MdxL_>UDvR)2_0o2z*a{=GSbuOg@7Np0{I2%r> z(aImCkpFUY1*j)ep;|81HOW~;%E0k9YU?n-8O_8(dmdwwubWcvnsdvuJ1r<&o97pz zuV|lfk$Mh&Im=CR3f)Y<%L4BbxH_r~Z00C$3^UMPb9V1&%qS8!0KKWUcDY+3>|BcnzZK#+^J{Y^S2Ktw#quUJsQS82-)VIJqRjG5nq_*|5^<^)+4motBI8=1vXEOrZG9 z4NpMFCbzJ$c^KX7(}ex$y1|OOKl3M^{RU#Qu+++VihGvv?H{xQYv8xuLbzTaRaKXQ z*_!j_YFGkpJF+;0{b>5?Men2gVP6MZRSU=BoQhTjyePuF{ef}s?~#mci4-FH%%*W` z{|i53W#xoDbtD0%wdlvE0gW6)h7H8>QJ*k_D?^ma=4V|yvS^FVSN_;l&#QQgtZGbh zF4aLwY$p?#j_@bmOxrLaaw$O*rfHKXe(7-v*+0|;I9tF+SMYq>$Af)N#X7PKrUzn{ zVVVE9o$f{bdVl`R8#m1}g-E!e-Whl#Po7N24*AjJE$`gZ2aGzqY%P$wg94odII>aj z0qjQ6V&alr97K?5jC>q^oqF0PBcuhoR0GI7dBZjec3-+)p|55Y$R}{2B_hCATXa!C zrKc(S#?+zE$CK5{A4)~FMEu^!-~Ov~>DrRjTX6l9M4l_0G{0PV>KII)m)nhf!~+03 zN~Cv(2!lpvm$K#afk!XrQaFULPMA4DhUO0q&q1%afq?;PE_Ofo9*4o``t5cNmWc90 zoA%NXWxX50$4hcKf2JEs8WkKZ6{r1X$Ai&N?`6$eWi!ko=-02FI&7;d{zn9}(Ko~u zg6fBw8Wob7Xhk?tsjz)G?TWQgg=S;>M-;h67$}}KnI`PXAE|m})ln!_Xh!IB?DJ^#=sjlE>Qe)>~ms^0C26&)NL91v~r>Eso&6wPhZAXI-X^A55;U|yW* zd!$IFjtNzlaenzwEM&~I+OOZWCv!f_WA<=T5-FRd2#bVVun=UKG93wMC=21qdn*MH zt*Ipi;?7wmV_@YgwpiF286|yu^yLZ*auW0>&47DxqUtlbAfE^lkc=~YxZ1C-M@zl| z;^J2QN0`lidXGwQo1vAJu&^**T1}0MqN1X;HS_i?JTetG*sK81O2>%BxmE|3Sb#9XV3y+gY~9G~F*a=IDU|ULX5OD3?sK+!J=PLJN`Kxt&|fr*bp-LLweBun78`A4x@; zSJb(s;s{sLGw`B=VwwG09TgSTy>3w$+d+u z>po*z62HH(NN3LvStrHCCF&PY_6Jl0>_l7_zgXS1oyVH5=jR=!9}<7OfCt)AtjT z;nss~iV``yUwpGA!mRVlI{YECpCAkK*nrWA_D&UuRO}j`&@MD+ksMLx4EOaFx*Ryk zkSL2eGBJ^2(cv~5xB|u|(XaUK#p|H|k{DVZH+L}#$=rg(H@E08(Q zTOYqZ+U179dFDjPk^8^#4$RZ{Y_m*71 zy%nqi*ZA_P&0!~W%fzCo>6Wt%j`Mupz`p&Jl_rJMCyxk{oSajHY-eb+U=J}TmWMt(enm#wwsY9}taLmu!kMt?{y>MnnDDdBEGK-!A55YT zQoPO%6raXhCdsMi(ON;HW=D#;$%O<&V}~4;8|f6t)m}wnLK%3oYk?{)}R3@y7Or z#Os)*cLzmRZW|5#zccP<6c~}ybl+`^Gt4*h~Oqdj~uNG57 zt4SHo>;iJ}K+ydv#H=!Y#r>nZsg z@zo1fW3z13La^x{Tt4TY3b&k|c-u}CW=PhaO3V`?MIHH3Y@_xXCGC0*qZwRTATJ3x}z!Ne($=B-QrBCrPJv*5kyl{GttfV-9%G)#(9NyiMoK< z$$@Zps29C#;|;=gfA%PIjgn!6NCL9H8Uu;O@6^k_Fl| z7|?0u{R4=S;GE_9q$EjaEnX99M6NPax!Fk6(aEVcNOfVNSRZR+xBxS>5l9$&{2BG8 zpVmBR4wpeyuv&6GXpboCWIH?j?er@ z_P4>fvoSWljUAu=x4QT9OM~2>4?;~6BEy}^LRPl_nVR6XYpbd1RR@IZRM~>n>(8;n zl#F}j|1Bo70b;V}0bMO$e^y*Xx%^RnTTJT^Z{IjN1mKv8X(u+`s2tL9ZUBU%d(nAq zd1$BadkzI~0{zNAZ^?ExGR=%*;Q z@e^icp^637ZyBE+U|<*_+kb04IFEbspdzFS1JhCq>2$W@`jf#LK18Ln^hexfeI(Kz zpJc2sUSCN`fW!Mw&n;e9j3sfFopV$YDI+N~>fUAI!>ls{&E=rEC(&a)$~7KHRaUQ) zv>)NZ-r%fWWmVNDM(@x(hJvA}Du_!h5O4bWdWWJ6s0-!e`2fyfZGf{J!6EqR8OKLk z)5*#E2djdP77KH`Uf#{0vIl1E7MPbxY_2XkLBy`Cs4x<33#X{Ij$iP*r!t0nS`b^m z={f(Mt+8jU#fBI0xM5F5O5O!-6kE@dKWSoO@{BbTgF@wcADj=%M~bho9ltX5TXQ_0 zkqT;&=X#)2V=b07=5xj2i$(hMOAPA~h?g{U6yD3puk8_%f2f1n+ODK|fy6l}nT9R^ z1A+W-ub`K?3eQkW3s0@@_HA$2>>GpBh*()b7zw!9(@mZ*({Y)gjQN%po$~J+J!W{y{4^bbEyv!l;4M&1Y@n#DY&k%~gB}qO+Q+A+&c5Kz`~uL3q}O{3&^W8FuRmb2 zDgoWRI?LgFaF(VlnzPT(9xwg%crZpUKm&1DjjsJJzh9_yX{qwOo^6JQK`h3aJP2cR zde-p)p_r3p*^>sxO}pq(E+AS1y%>6`C-S6rCp+R>n1|(23{T%M#lk`O`Gm{+*9|0H zPr{(oGZ~l9*e!Y8_UQ8oMl`wM$U|!QK}F6Jlw{fF@+-0J-Ew^fCMG}%oda#hG6<7S zmTIP;kq=`1!GU9xmcD+9Bn|O1qr0Ihv}|;A0k8mTiIC`{bfz?D5CZP2Oz~%PwxtCe z*K6^<%%5gTSRTldQCC;TBw`&>gmx(eK2I#d!xNB`Yk;*3ebPeeo{1oN2v255b7M3l zl{P1;R1ioFLuK%>q8y5JDr%He+!d=hpEr@Y9-` zn_;kxks=*99A2cZA4@Cq@#O4mpaW2`vJ3VIAX(J$4%`VfW5NmF?(K2sw8=jQs!UzI zYofC9UWz5Wp#CRQ-r*_ z=%9Q2I=jo5ho}WO?VXoxe1UAtgMw2^G_J z$ZWfJN(J{eW10!X&7wdAs)z(0Lu{w(hwGiz)6>%@w3qucB*0;`U>PPhwx2+sa!yVK z&bs-Ff)-5F1DI+>wo;A87EZ;T1aUV8xY62Bp2yKfUOyi=_=p>X0Fog#HnyBxKn{Nr z^r)U6m;elTPdo=o`{|YjbnuHV)$V=?SQ;ML6_kQp54I2Tm%;6G)7I17*=AJTSA5OI`78qa>A&Z-48d!Q^XEzfcvJo-o zojHHY=s30Zc_=tof>s3w1qe=w!si1}2K+J)i$;6v-a>>bWBq^(!`K=P3TvT^r-XCi zrvVAf1^FkB1zajcmL~xegh?-w$y>z1I!JYu)zCLTHl2wge4nMGBIH;@#IRl#uuH$ z8G!A;kdp0(OLfe&s1Nr$_dNv19AlcF1iow$X2s3F?BPQ@y!}7#hJbU=KuQMwApW;sQ8I{|?@(u>0h1tt z1Uud87Wn<_T~E3c>@N5+#`k`pBJ-n)BWGZFc9UR1@R_0l&??cN^Xp=*+3CTr@=;@B zU1Do^1uJ$K5Q6(Zr_IjgD?l+$3t-?Y&I5kkLk2jNj~W>8?R)Qlg0HjSwE+F z&+p24@RQ>7fg11+hpmW;t*(Woqp7}uEtZ(RxxTfIt-ju!7mjyc+S*$3z+jf9I_9=^ zW~R(G7IxOU`UV!(hWgCr`nEiV&q=Vb&eIOM zxc8V8+sJWzeqN;e>-NLo^B2rt+Q$s5hPth8Q^|{%$3z*9*c%w`N52rcFHI`?@y5Fc z9chYAkx3KkmHyt6<6j)4<-eU*X7g*%!Oe^t8~OHdroQFr;d{OjW{js4cl+wuNZDM->T53%PEV@8{ALxjVUfNUoIZJ zt;sNWCplPcA@db}pj=yEp=A@J2^;ziWqyPEy98>9H}2Pt1RVF{Q=@bU@hu5QR(mU) z`DddHTevr(T5aNX_%=vwch7+hlpt(%=OXym9S;7&LSTM0hyCxD2~f=cpZ*lQY;!~% z@o`#j+Aa2AU%JG@%}o~;Yh@m>eRLkYX(@N1?=7A{U!`2OZ>=B$9+ZIKezU;A5?c}? zJqY1gEbK4fu%_KVRBmq}=22~n2L?r)YxCQxZf{@TXca6WK{+fJ^(OaI9IstY+8;eR z-jP4qU(6kx={nDP4qRei7+k|~I;>aA?I?=Pu*u(Mu-MGk#|Js#!=Rz5DdtaFrc-mN z#(-X8`io9Ya)r&T3|&cKp+mgbwfwziuF*P$4x!+9)#AbgOhRppv0DD)n$-l%aV_@3m4kuL9>H0-nK>FII|DU2M}2_ZDHYOY#6q{Evi z671}Rggf`||E#S|lZ_YXg*z>0JkRV(gF8;&HkzNBqHY~=J2@J4J8?1j#y(&eGu~lb zWL=Hs9ma={j*}M1-=ImX?ajL#J)iB7JA)!%CL}Vq)SE*8?-h`U=MlHAt$CAICUy+>>PL z-4A5~CN=69-Jc)s)|_jDxJ#x&nV6W+W-6jjh)n!MIf&d-Dhyl6^*83)lky$6x|K^f zDQ9M8B$~Q98RbpDE>G%2R$Fxa|9|A3AJ)Mrh!b`Wl8b;c+ z%&Ha`NSmxmE~Z?+>5zE`FpbOV($qImspH`{!E)Bx18U|Y{T+NITxPo_a3Zb&r9~4 zoE+9y4JC#p8z0Dcl{i!6Diaf{tJM`|WLC;%$?00-_|;>d80{P&pP?RFO}v|r6AK_` zl11$=WcvB}CBg`l)Cz@R1I`dkyxSJR>)fF?ZcI#1>#H~pnw31|W@GDIYSfS9BC82! z)}#+>&^ty?H!5eT+{M;c2}|oT5G^>8XNg_5ST-GXn7qzyD|`H%HSmm-Tw82Zh)G4is@3 z*6-j~Fq6kxmmU`HvaLE=>EeY$gr1Jj;^g263k&mRu6vfox45{-zyyInuJ6zZS0buR zoLuo}$eb5P z`&*)|Y7Sb^bZGU;aJga2N4jk)UapD<&zByJq!$!yjD33>!K7}mOW&y-je5}CVEGC9 zCo%ud;iu{PAL;xbFaJBUdyaXhGK|lz9Us(+309e`Aga72roDPcHPZyE zy+AE-hpYTpC-WF+tbH%+OiHehB57f?_j64yu85CIFM}^;nT-g8VuWA=Gfm#BKS;il zSH5>C-D~O**su5w>0~XzOyMU{Mc5-dwQ@l!;b=c=Xs{m^vn#n#sVZV z8t>}qu-?|$GPXLBT_~jmk(MuX9j@I~aD3FW`z*y4qi{L7Z(e8D_`P2tjg2FT72)Nk zRgo@T^0_0$S6$CRG&L>F7Y+&zuSriyb*9QqgSKOBPt%5}Tx26E zR}eQ~PYz}v5FHeh_u_|77=v;S9EAV@0w&g3{B*WjyCNu_A8&ei+$NkL(E2WrC8epC z<&1{{Z-PZku%3hxp~Pry2ve(qyPOMT?A4b7PV%DeQ|i`dP7oYE1m6p`gg#*=jO1wY z@X6{LliZH$1E)&bAKQ^$Xwl)L&XcAUPR>b>sSg`jYDGRNv6yca84O(=IT`N~W83#X ztf%Snx=(quT}E_LB5&opxoL|JF_!|61$=*MadB~J>28Q0Meg39uTgL7UwPsXlu7rb zZ|A6s)@_K~wI58o1!`wwvU74ODJm|3A_?v=>Ve>~UCU15ER$fX&j#bk34X~~z#Fiv z2~Z`l4>EffMTiATcj5(G;7z*)k>6u1D))XmCa=Yx92$0KJXcj!J&Z8GjO+0nGp@3- zFZ)!pCN(0+u66V~bvR7xxW_U1i}iHF(2&Nl@GJ1i&53H9q~hXj->Un^yA(yOnuRV0 zudM53=Mr%Zb6~Sii+ZFLm0G=`Vy`woAMs+yj7Bth!3*GuroQG^ZE~HcX#)D z3|vF3vx${Vt-3H5HG8cTmnA~cxuGRZP9tkN11j6~m>tq)v-Q~Y>u#%>#-{L}pSS}MSHH$U#{}qUa`}~fPXCz`@v4rc0`JXX|BWkueeUd+{((3D{rljT{)`)2 z4>q=quqzEBh-=|EykNEsbIqF*iGRiS5ge74dZ6p#Pb@Z1r>T^-(ve**i!$@%;*rls zsb*R_xBY;WIS&_`neRJbf(E}$Hq|RQM<*-DO2*~jIrP>xnCHk9hmUBcL4V}x`^f5T zlFOmYB23Ah?P~&T2vOBsu)Wsp4NwiW+JyH`)Kz5*C5HzQ3H$Hd4U_W zk|*MvB2>mECiZ-&C9!c!qOJBt2EmgE>488qjDo-pXM?SMK)vp^PJ;&Byc)aLP&X zsPWa+D(6!J=rwr|k9fA4rsf;mwK7!tzi~8hc9wT;CCa!_4;tow{HDCaq-3mE^3Zm! zZQCqffB4YJ@s;06>`Av-n8Xj3(hscUeQMBw$VjBi!FDXKJ;CV~3`_yDB_5a4>zfmB z8`1uhLUne*13|J7{&^3S13Cq0hWaf60@vfc+4yNQRW{q`Le-r`C*0d7vJY_Xvk>B$ zW<#=FnRP&Ii{Y|320$|z`dnFgV?0>qRXm?&E>x3(VKXsAAYY~nvVL{g%x1ce0`6Ag z;JIJ$eu1F+c;lAof&8G`VZaUB*(7u*`xwoQpBK~@AFm!y?tyFxK<`u74O!^Z*_wN? zO9GBaI1DMEG$%siq8IxadU7=RnA@_rb!s1-BuL0u_H6j^18<8~g~IjD?g+nQt2o_} z4f$3|oU;-6@*IBn-0txG-U;wwPVeHL8aq6cax}^iTgE|~6B924G&<^6Ledtu z5*Kwn;InoFZlvGv}++23~o5Oy&0r9Z`a-N&$mG~ z-y}bVxgLKG6|}Ni^DF8B8=to0_tPFo!k7 z#Qdrp&g3BKau2r5iIv69p+fAM_W7FQ&5638056=fg}w)|MqYIE4bcy%I%*~*_K<8Y z`zl3#{r$dNBM$U;zLv&5kEbD`Ici&Ph(G`Eot0cGpAVo4&%I$_^VPICa=1VveF||; znaQ#2VcxjH)vIn>8zf_MbDz7!8@~z(8qu9p?#(FlEPZdd#Zm56U0qaJ37_yVE?BKP zkwUiGkD8U~A>_)nV4j$z!J9e$?y=?8_SkXxHItSpDVKd~nwCbJ$tS0IkHeVIO$QB) z!ud5pXNR_#W{aL)H>-*7X&bY(L-wPaJ(~circ4l^Z%gdEA1Wd$w4)70-Rp7b78Q6V}XOa^nfd6sfUE zNqv<(yo5QuIaVbqF?)I3pI0<3RUnDe>0o&lC$}R4-GaYmh)-4W#r0C63mZin+1A8T zf9`bSx9w#Hrp=}hnv$n!#>+l}2;0bU*|LtEtS;Zf!{>rKAsKwKtqkqHD={+C(ps8s zM=bbP=zO2z5VH#zhoB##5K~xrjhTYP6e(&FF z6_wp&P$(?oe{cEj-9>h;S%xinx`~%Ih)-?)TQ@xyId8Q=%DW(r&fERgd#-eGIx6YC z7J(K~aQI3CsctS@CR=lTcvurePDXi{NmLj@XF5ZEGf_P`M1$yLul1pw!X>_~#KZ45 zZT5HUoz}h)F(@%+ecqj$*m}Hu|0*5cxAu0qxUk0o-H>@Pt|7~TTT6mrd&F?D2Ty$48x$DuQNq&J=Q1!RB6hnwbzhbmK z3};&C6PbawL+{ga`}4z(VN(wbTe_yEsz{VZUJY94Dbm759cG&RJJYJzQEer{Fq~Oa zrVsb#MC_%~j5^KP_WRY1y9}on$Aa$#4B07%>PbGX*2->&K>8_#Q$M9{PNl?3+@;d3 z7sfkUk#&m(X<1TK)^3MFOf54n@B%a!>d7>i231P^?7^P}VlY2=KFW~%nL)CtBusH2 z4Ld_eW6JgG_SVE)d$X{o#`EW4X-eCRvuF^wbkni|j*V~Nghvl4^|$E2cF>PsP|$Ki zT|<3ov<*HiLpLY?- z;~n9uXl-8VkdX_?Rv#6xTd>(vZdg#TALTdNUaB8;Eq@v}P_fr+l1t_T@6+eGcVFOD zD}M>ea|u86WtRKW#AQaEto7&cdwR7_YAsxCvOBcr+A;+W*X-=J2Ok#`79H+Ra!pB& zpr_ZnyVaBPOo4{7b0Ccw;$0LfdSQyHzv&9zgsVy&Cuk@?Ppl%;`y zA>x&UN)x$lbM!?=rGd{(OpMEl_Aj_auEXADFFzu;#>U0j^bI%(xqc*PDFVTn|El>3 zx}5>-AhAHs^AxcPx^??;d2TKbim|%RcT}miL8gB)%~Ln{rRP?lBP%4*BXYJ5MrGwz z#1Ff3-;6q0JV59~%-hynS9aT!^N~yGqIJWfqM>mFVQ0ebaHdZozLdo?tB5Nur=W=skUlqXI{*PuOg^7-&~n z`Doq24hWVBvuy18F35P+cPCqogJcfn)>dw>k#C88gY9X3&!1uM$+ipfMlTGOtom_{M8?JC6z5rH zegFPMP*6}zOpLkm!{rZuCEu)n3ud7BGjwZfOBwE%a>y`!lSanD!Qmsf&CllMY$Q_6 zI65ZA#lV7$hwu_~WVjYX&W-49=Arf_9d)d@|!v-Lt(I+J=a4!F6_ROy~M z4_cAOj~`1*ODiaJx}6-1jvjB9NT8;5{m6KWv$8%gz#?cwuXK1%J%Y7C29GEdY6B?Z zV`3OQwibIw9cN?ZBU$x*@((G2vKu@2-p6MkPuFWd1C6$}llH{fL#u72XJutQ(EX{B z1Xb3s@>r@Zd_AqZJc5d8Wd6s%F+INT-n|n9saxJ*DX;d%&6_D}U}Dr&E$(8ch|Y~x zx#eyU9zV6Qs}ls$AhISpnivlc&t!ALnSu-sBYI6kPjyp%bXR zoMzE#Z2AqM*bo9faQDX2aCn@Tm)FuJP+>DOGeepOEvhuh(0<{sTzAL48Wf0#h#oz9 z6vJu8V?|DP@zSM?l5mVfJ0-k*AEr@k8ddt9qjn3Xye zs8se`ab10*dLUOKpguxR)5yd4G>O(EZ!_?giuTJOlAvvNKrK-i;$&cuykVu!^+ZNp z20rqpBFM+*n!vM;bg_G~5!i<}erA+wC7IHr+97j1KEA$H`wI+D9|a9{5C6q&#_i|` zL5qe8vR_VCXnh*T4B5T+;kkX4Xul#tix|~+pg|9Tj6_xwnu1H4+rZh@oWXRZZV+(?8dtb@#aW}@#x zP~pwIu*1&9tsi8~9Rgeg_N>+e)@U@rlphdi(60xycYLxAQX?LdyhmSkB<(ZQ0QPjJUKb}`_G>eI^)$IZbyq+gQit(C$2D9 zE{KIrwsTl*keHh8?xMWB_Egh^8v9+KnoGs<6tQg&y|!2zaaz?ZHtoloO}od+#^&dr zsJ(f^C@MT$wDlrT-j?(P5}f9L06I46vZG1T>pM0!1_XrS!ot$>@`#8Cb(^f|#t87< z@TL?-yLt1VTw;26ee&pFCpSI)LDu^Ac6c;!hD3Y`urFS$qvZh7HxkKXXDJ~iwYjlj zV{5BeOMm%-XaKp{?(@>DEYq>CuQ3^hcwAmy{_yCCgIF3Q@kftd%Uf(Gc=ARxfBpIu zgb@8Q@GjOn%LmJq7gE~#`gZH60&pG%-0He|yC99p`Dm+GS<~*hynJxz1{z&mT|E^# z^<7?}`JG8!;N8o3BQ_Ym>zJE)h-WDMJyE z%g?nA+Jy1wLQc@#hdvBByT=EsDTlx;YmMQOy~a8sCL$6RZwPWqE8oTkkIv(A=gf0AU|#K2iREC2PMw<%9Z|&Tn0qj$)q=K$SW!) z7p7-q1m_Mcj47(A8S^L+;i>^;p%b_&xz0@CxdWcU`2(f-`SNs)1q*!!;|U8Uz1ix} zn>VSj^9X`2=${|6uR0js-&#yz0Xh{>qUe|)*RFNJrc=|72267I_V-Mh0NF#|uaH=9U&*TwDSBm7!t#Q6^!d7^;s* zBY@E+71Ct9@t)pgXJ@COF`TLkk`E`IhF*N&?&*0cCFPc0K~X0G{$8!%v5o`r-rgQ7 zy%Pd)2^$;e`O$IPfp>+EcdAZ^20Rgri(A!8avzA*iJX&;Vx}hp1kDv--_PG8)~Iv$ zeYk#cGm(m_$fz?FpGs8xE+5|^(3<7wf8cE*P+JDtDlp-M4@Uul#}2@IQ&0%m;x$@M z5S6@cUcOum7A(f%c%7`i>IIu_t^f15d=@7i+wVX%)T!}AZFWeC)&_?_P1e`fAMpDD z|2!j;|Kj=uNCDJSfeg58qBPpJx01MC>aY1de6JJZ` z()TxIg<#BtjhTu$KEf)@YdWr0(5)#49)zy#JFA(K~j#2??Od%M#X`Al2m|c=Z zG~U(RgS#+2eJ{-T0IKD@o{^a&KO+Jx#)aA0621Bx)9CsU@@j9ODax5wvsL&IR@tLGkhN!A;rO+1@{z0F>-M}PUk z5-Vef7yuv?BtSvSG537OnWiYW_nWeO0GZ0~PEwpi1_!_3TuQYMy>tw#U!3FoSRmA9*Fl5pW+EFYUd-ITn!P94mz2@A!4b2$Ll;o(T|H2?ZsxU>1| zx432O_!lRhQkR#&1DP#9DOwDs*pX%Wh@>{o6~)P6w;rc`Lh}Y+D`m%*rSyge+O)Zr z)Xm+lL|S|gx59gFe)uN&JhL>&xQWmy(!xg`7Ua1l11JQv2sYla&ydGvKsf{yKe`FuQ=g=;EGy9+c!aWMaW2 z3g2Y@0DwEQXK$Rxl=5M`I?6kz00BvHx~KH;Iza6gDv``s9xSfyN6A7zD5xVC;B@iL3pE8W!8%rR)#Jy(s*F z1)tQ8L;8?~nRx}E+w!*IR~c~Hn}kM2M$}B09-M+o9j&PrPeNn*js z9dHW-2UD-QBVw{PptZS~-)^A`*zOe0Ymc_Lq9Ma(vp-(#p{MOfUAUe?00^?Z2FT4S zARE%semZ_7B_&-TqF`!;w0G_ZRT{TOv8CnY$dD}nc5-xhNJ>W59n|{G9Slg~%ErvV z5CU62t?Mv_)4D#*;QG(Ht{go*Jq^f4y@@`a!R7h8!k(mj4quwB5C9lYoRd(!1`08aaBFda4aSt(<&)eSyuOX>DyS&_yO*0EI*jSo5hv6hVd6*1ofc*EYHN zW=o(=|0xH^`5-^Z4Lgr}K*?P;<>;uXsh^07Htd)Zjl9s+g)*un`0D}2m-+cK3$bc< z^-n*N+_D*Bd~AI-X66>l6XVIbxtAz7>^wdNMJ{e30j}|`_4@5>rNO>F+7-$JE*Av= z`a#&6A>45~7OuD~^*!JM`DSam&39?Zbe)O8esBO>u-oq1I8W>fSn@=ZjoH?!)yf0L z+JYjXr)*d8Bksp6hqc|L1gKM+rZ8ObU}u$r&ta{$e)RUzJsKJc z0q4>pE{4%wAf3_Bq_G*c(CX7|E_63qA9*bN;2L$NvT&PiiB(!DE^4h_IyNye(Vq>U z>{m+|$cAb}mv-HJx_SQVKyoynqcsA7yw%asVbB_vErUgPOn+B6i6@vS=P7$86dlI@ z@Zm0SU%}2P!Lcy&uU$y>cuQQ|+S(ccTa1f~18{et^|~hx5$hCSOIlv7@JP+N{(-eB z{YC`ryHXo<$GVN{ME53zUAdLza2*t7kA6 zEM0N1v8~i%RKSQTDfPod>VX@`?C$Gxm}~n)#AZ;K4$a0kZV07o$W_*eCcNdX*Ls?npfq7Pb^!9AyH&G|%+0|o z+^biuUcJJ-ejT8n$~&mKrY4+g*W|YRZ~;5wEQBPbQJ>WoVQIq z$j!|Kk$&>}!etyh9mHiH=WMsb_1fW<4S;lp*H+55#%HVV)7VT1d(x3wMuN+zOdyu-ih7_+p-g16pI z4`fB@eDF2qtKEaIvaNiZ<~SZ(LFlrqP|Gn@)SQa0Vg&6B7^WvA|A=>(a+vN=EN_l~ zA}MAiTcyg6F;N+_UEP!4Y?q6q8Ym(sn>{;k>*1qnkWdmVuVj;KX z*w+t4Yp=I>;a({FA_moN=iza&ul`xRr@ki+T7giOTcvP$`wm{`*=1( z8BNVtWJqY}Eyqt4;CCw$5)zuX7aXJc*}?i_wFQ9!_bjs;6vyzeFwnCS6)Qpra+ypT zFVG4>!JTc5cLN+Wy%}_XD#^*|94&cZz69X8pr9ZC9YIH4US1xAfbm(3$SLc>f4{rC z`~LlV&Ows6w0_|WeTBcK8?MU!vMph1YO2NyFQ(|60xwUWq%>uvgAgfVjC)-76_F*JOiDbY_znr zTwJ|NEL8x*TTT8fD=%lL(g68a(yRyMQUMgWm7Q zAY1_|V4U0^$M5vw#S6wokFe!t@@RPd)^!vXl0wK!UrtRe+IhbBCA*G}4o|F1x|F!M zrHze(*fbD(#bX3q_JN=Z?y8If#exXa$J{8`0M?~}fqxkq&bGC+fg0I}(9w4)@FD>F zJ>0}@mNnk2Bxxl0ke;Xq3yn=@%6yvRx8(%<*Sz>!34rwPiW3i;EJuUb7s#l zX9?pGmC1d!1TjqGijWhnqlu>ID!wZGrj4*c&KBY5jNYZw{uL#np9>>YKu&70^{+$S zH^>&d6+(oOc@EDL-FMWOqH45pMk+WI?<6Owqw8rm6ElB>R{uFn^luU7+7TUvzyZ{C z?4N_3l&;zC$xZavu!R65=~`)j7vs&%fqVRLa z0Wby{P&E^v%MM{-uz86+Z6nY-^fiTaYgrzKoEDP;2_wOG_^}8l2?+^><5bYO*`PN( znRi?7-@m`Vx5v%HLyS8My1uubD{F>@hEh)hNdwR*Kheq6)%fUW<2@k)fBhbkt~c{? zQabopwTHxxWw$V+}wL><25~`b=7$we)^LLm$|8_lRtkJr&E6ZeDB~OvzZ!Y(eC}l^%`cK5Y~LxYYqHFJKNe4LR0R<7{`Q%6Vyb!Cp`o#k!460w87fi z7N(^cK6~~IaMu`M(Ec7@wc^_v^d=1rO+oWO$&0rsu|3tpS{V7WD`e7WddZ_*610GM zT_@S@kc1H}OEXf_(A0uIn?empKi`k1Y7zhC%a<3o_BoGIT@c^=(l>RqwXyQAFiXMW zoY7D1_`jE0O~xS>=pYwtL_|DrrdkD0D&)CMdKlY10OBIr1#XKp-qiH;a}|}onctVi zO-J{1n~|f#^b8}-VY?6#5`ygyTFkFszm92!x90M?)kOhQBZ&kc7NGEG4+vC(n~6!< zR5+>qorlM~El=l#d(_mWWo7BPX3Hw!r>e^~*c=~0a{NQ^nFWdxpdfe}i;$pW^z3`w z8P8Aj>%52S9Y~FA^>qv!AvO~)Xdm4=E02FkD4UDhUxU7GJIf^nAw-PJm>x_>l7kV# zQ(@OLfheZhHNM;JaZCu&XjgkG-Q#?5!ubY{>WFwW z-%$-3qT8AFPCu@}0uqS+R(#;}19-P@w~Lr7&vM=>UMQ=R)w$DpkBLk|Bqk9AyclNozpDx7DQpRK%Qzt?#bhY=d9`){+DabAICEN9Wx&or30DU?3prhFSv-R#jCs zkcAOEdwYA!OG_ikf0(}gBd_XF+QInzIS~zkfl1Eckl@!s8bcQ&W1y zQS&Y8CJF5?iAhMptc8UyAkOjsDtdhi1Vx-{;Ft@5BLJ?@#`ydDd$wM}gd_suRQ?S0 zrKlf*(3kyfL43Q{MA`Y;4b*qmuUs4)-tgW1eflskxqw(NWCC)Mn3$L>8ok_KKy&~8 z4CU5DJx#n~FI?*5!}Z`rY*apt7;r*BIj>z5`8OYs(0}~+O-xM8cq|o=jDgJE($WI3 zILM%&pB)plpm83EiX|mG)gBN)0EEvFOQ53mqN?q7*L=s00H4i-)1Vuy+3D?!V2Q3 z_t1mF8CbHj@+nzOatg(jIG8{_e3mAdf8gC)a9L`=a!Zq2IE}$GXr5Fqq$++4s}Bj+ zE&?~lWGL6zZv%9@o~Hp>cD_RnHT>WTvfPoX{Ds0HK82n8y+LFZvd!*9E>DjZu{Ns~G*#Qob|G8$fTELay6W}=EuP|QNqcj7#f5r4sx~h%M z25|Y$pFa;otl6e01!d(l`o|IyK82y%+UnR3{Pp%V*ZsXwZ#tok95TyyASITzk;aAd#Y>rL{USkr;XbG;&}d20%Dj z?Y=*TgoLD15}F&cM`Mf)Mr@PK#FP|~;UUls4k|fVn6R2Hpa!AGKX9t^sux&X$ArWj zrQVm;`g#C)5H%ov42GMmD}fXAar&^E1ahr!hkj?XutCDFjK%J1vI%8 z8;lYQm2{mMrNa!q2F=m;4BEQ7sCB;pZ9zT?P`%r?0WP53a@t-3vUncfSHYvr&YSn8 zcDMP^)sSuo(E)JPK~e-w>g?bg8l>B|r=@2}JxSTxWicG_ZCC>Avz>-SkSF%GbK746 zlh2kXR=)q=ARsz6*38iz$`;9MpL3d_O8R-l7#DwdUMHC%-QS#N1BVv5S3DL(Onz?^ zaP9^}H#EgS-L%eL(GUjmHd{Lcu;xG!GS4}Y@ZRss4^Fa%b7|uA?w=XEpKEZahUqjY z!*4!3(l!q7ug972hTC%d;?uk=IN6ITM0>0stJz}3qGSyIYK{9CbsD0}Tpx(37*b2be=NXN4b37WVp5 zeblMeh)D@{L>OjMW~~v^dHZ_-jp46bn>+tYNax4|oCNVG*?r|QMqvPQJ=R$!0j~(F z5fo?oxpwWTXz-hdfZcWpdxkULeChn3lyfSk zVA30}6by(7fIgh*E5Ck(JZPoFfVw$XA%fRM>rMX>BLtZkUz(f43t!3!34zjd0J?w{ z78Vpm!~s_b?+`du7=+R-jExakeOaq6DGIP~{TMkUW{q1F^VY^;4ka2)22sF)x_MO#Hi__rVO!WN)Dz~N_aR04c z{QsA8ipV3+_MK)kuvmjbLhvXAOjU@^tliMejEt$lDxMMLKY9id43Qb%0)a)#Msi&CKqWUHdT4KNKWzyP8Rk1bOlm$IP8hS7kynV8Y)+-x z(B`o*Z4}%>6(5J|x*-gBb0&UpLVT26PY$;z_O)MR;=0Peh4#Qa;J6zGRO&E1=?C~W%{J&ZuoFAH8 zOC(BJW5x85L&iK&ui+|?vwHxZ*C(BfEt1c6Lg!Mv6929RnM=W zAs-GNB@=YPgznf41%S)Y2Xz4oP!~~yt@tnIV^h^oWgvO>N{`}W&i`oNG|%gyqVJsU zG3zAH9NHDJcT+e`S1Gm_iUY9J>PqKra8%(>>&pazNe*f6j4d`efa!t3K^QA;+wzyx z*=&o=l^SdVsLFr1Z+|iZNCY~U{@sIv$uj>uj0FA{YgqcXdh{C>y*hu|orCe^xG$f| zqXleUT$eBZozFJUqZ05gV2r=Hj}9}Zrj!vov76gTS66&E+5ey=8KR*3MqJW}f}9-w z>{)_hMqm`b_@D1B;JAcK`nlT}WUt1ChKY%Z&<3FF*VWYlI367x-PhL#delB6@X5%s z!AZ1-6Q{i(T?oqlNzCLYaQw|YY8rl-KcGK(dUZ9|_=&!LihNFPuDz92o*-(@|1TGS zcbU)|8$f3T$5(-%V{Ky-Cb530CY}!v<0j*GNN><13FhTz;oqF%+qZ8B)JPLcj}QDI z56=zZ(>137<+=#8j{z3n4$;!mN?|>f05gEMv9Pn$4-lEIDhvoU$q&9QsUp7Z)19S% zL)lnnm(?0Jno6z=SxHF5Tu#FVE9a=0C-^}R3URLG zkq_zBqR=pRg<_54*QcT3*)<=qr18bpZ&78M3tt45&sW>K(tDHi;1Z~C?ky?POJ&yC z%oa~HQVli%l<$mX!8u*Mx6f$USU;MpP7-+QoK8Ghjcf=J)oLR-%heho7|)F!*|Vyb z)k(n}7;3(+%=-Om#{t%v2v(~W5FhIj$stLpcRYgrbSKqJg~0X&%lnCjfz+<^Bt7y#o7p37y^ zZzci*uC@1F%u21@1l41p#6k-+;>>ycZ^W7f1sta%Qu{o{p(uFhv|u~$L=nfmj*@fv zPx@?Q0}7e7xcK{m0-KjFUxMcu=%av*03`BBnj7GFD;}mD;mt~zNUi;?6^Aj8rE?(} zCCil0z=9Yh{ldB>b%_OOG8iuUb9|=`?EMdX+x1*eyx|y87c5^Pn{Vj6Pm`-|&-Dua zVLCnqwreE`r?%6aE7mgLlgJm@gQXnG{vpJUV+3bQ4LpS-)lkR&Y$BQQdGtdV0Xncb zxTF`HHhtdEAUhVC&DaT!zvOsgl%m&W26C~-b;>(}xyxJzcJVKjp*A@3>$Vca(soKv2oiwOi$3;5y#@|x2g44zB+tdmJvCwHB`QsZ1W zr5WN2n_@ugiaG9DnDodqpDLVWu_hokN-s8C+Z2bVG7iBWfWNKdQC zcC3gd-$ePX4>lx% z?kHnGAaBn`vFNS)7-P2aEB5gPSER^q$UGIZuy+7EcT*nkXmev#AfRIt4$1ablE+W{f*R2 zjg1Ei3}vOHKFF_Pddzy}L`<9_IZVPGJ}CN}sayZiAjZ)R`7@-ar{`sI2cRDg4-Ptk z&RAd-$}IpD3nT+DBOha9g@uI+K=b52IAg`dRnoIU`e4Y^3=cHUfSO3`cONWRS|?o? zkS2gY(XdS27|z6o8Gf1ek405?4RiH8ABM~A@rYQHX~cv!DS_IXQybp1(i?)OEqt~Y z69)C$lL7?P0J>CDBPJr+i>NwG@v6<3%C?)ADFKgR$RgR$R^1mfpkbQ}R-ZE<|2brsSY^E{0Vhf{P9y~FA_s1+ZdeCXFeR3YL{z`%COVB@6zOy zMBq^9bsDzcq;2gjs}#C4(yMqh(l+fE#FNc^0(*b!)O&)YA_jAc$R~@KlWv#PSt3Q8 z_9AmB5b2;lYr-3@asHROv^`Fc87p=)M}QJFz2*x{eIOP&(rtlYLYDvSX`L!*?%U-* zq8VykY&%iF(>@iW3cWxZ8#s*3s(J2Io7%+s{~*d41I%zgm}ABlnw`UrJ3YcK)0R^H zSYYWNXb|;fvI*GRUv6SN7Ni{CS(h+7v0qh{8+e)yYey!n8PFbn`&FhHGMH$$u&@A9 zv*X4L@RL>7E){7v4!ps7c_2P`82c(Fn?^8vz{HX8eCAi+`%yh5ePl*+R#Nz~*Yc ze#O$mx3%Qk_&3^Y#@+tS@g8w@8yGAyEqZW>-Lhag{P7(q$EIv{osSPd3Td<;K+WA! z5yU=);0iy-{+Qb7mX8Xc@?WgCtD~uYE8T1Zh54v{;XxMzYgt^t>^S}~JA9z^{%v6M z?M;O&4EO?Pogb+93uF8`)fe@bJ#KYz5CMxQn(F?&d-eD!zXkB0`EZr~k)=<|i2@ zlJ^V+F5F!&tg4#QtYGJ_p>rO7t{_lht`t7&&{>ZY{z?sE?{)?u-)Rv7?CPxo#B1|w z2S;kH>z*M*Ly;0K=b)^2e8*-TfTW}w+qyh2Gv0sUKG|?^0KCoX_3LvOiUpP0D%Mmz zqS15wpu9z?z-D}~l(rzj5cN0N9GoXm>&+AN@t9;PQy#UWl}WGNsAwVE#w zL`C?uSRVec^&oo!8Y;p4GDoRrm01s+`PoaSGSJwKXIid>yG2c&4XaD&VIZ{u_>3Xz zpu6QErD2y62zjwxZ2sU4Ustle_(_rx59#iQ4e*j^ixyH1>fpK@H zTs^uxCt_rjj{JuT0}yu@`fq`zhXy<$00R;LMLw>+3ZP||G^Qd`aDa*&x_@|h2;^#6 z*;ddp10F$gMqf`!ZecRiGv<`uRTllEr2GYUQ$>@~b90p&0D?|c`jj<$hizE__B#?g zB~ar3qxcGf2h4zW{ioo08yF}I4sL-iNG%|S$;-3aEhs9W*3jr+&7i35bj*r^huQo$ z-j$CBVGlsTAE8$D*|WdM$#aHe@=g0$6@H`PZADBlE`2v z`^_k@=_v`ovx@Y#;@#Ez><#{OM{yFi#-}lmT7*kGg3Vvcgm`R_2nC+T9bX=XxB=G^ zAeBBIT;=@1G!-;{%N0DF0d1$z&=6tW5Z?IPP=2HJy+FoIZ|7#NAzoytli3HpTQzmI z{-5hdWt}5YcjPe+$&~?$R`7h2h9YG4|54j_$5Y+E|5MVSlB^pMLgpzeWarp>XB;A< zvJ%SPn~+WR){R@qKB**Zv;X-1^Xrd#oV>l>>-D-`*Y&)f&*zDu zyFEv@y`sE%A5}|^6oDs>ia_=A;rYTzWi=gg3qQ@S5#MZALbx5?-00NS=8Ysn;Jir8 zlOm6T`>fLr)5&Mu+b>cNchMu%Lsa@7FY$K==)a*3=w~{dL*P<;U~C_eP8fkj?H2Vn zTV$|G_@#(~zJaZ^I>KeI!=oCHbWc!GkM~654-Ie(t z?2X>@hd^xT#n?j*+3jq~_$gALFBAfSO!v9vd;imcsOuu>(2JRKtU*+SKyw9wE4VzR z4|1}z&wg8z8?By7)0_i*1-c-?>WA$i0;D~;*?GhcoM#KWE5gmirG4Yyw^0qcf9}6K z(l>FYK;i^?uWkzvv3T7>Mz^Unes^Uqi+Q!O-6<+U-NK8B3{#F}K?*cLkh6iQVBmsL?_Z-#BdU zcsz(O|M9!sL!Jpf6Krr5$@&2=J;$UhQN$_W4EdWC3q;`9)%`%1QkhO=8X|TDD&dt5hl987F(A4y$uMZeMphWA_x&UC( zU0sXFUlTE^MGsIcD$l$hnyo2~Ewp!g5AtIljscek&fA85#cUZ9e%$qoq*_`t<|laB|lwIc8yLG&ILO>A@Q@{0I7Oa;%6s(S6j?A%n8ok9BL#v@hN$?@LmLrdBS%w8;2 z-0l3PD!@060bB&a$pKNp!!uG?pQ;s4TDAu^*{n^i_3Q_rpLeyiv;gA|V8Hs_pQz~* z$bl8@;D$t$=ED2U%@o+FN!-~sZCsv$_3aHnoc{Lh7l^@h6N0lSk6PD#=}Y|)dzye} z{iChzhqSeKj~y1Y6-nq>M|5Bh7bC@LXHED=uIV`Gmu}NXZ5H@pQo?X@7l#ORt&UpU z33XUZ$&!Xn$?9Rv|93_4w&S+e??!hW>m+eR`)YEAipldKx2Uauw5m7$wafkRQi9vM z5rkVR!b5H=LNQI`)L`Y+*`&){xIx%}AQCD4zuSUW!+Jl31J-dLh`wZS{9plW*^aVD zK)|<2;{}4lF#oU84a@z^nzc$)ZtEVfWW{gBTo5A3$Tiu3b%w7PQL=;h;*{6HFa=DHvL zNl5~-TTx_cBEB5z0a)OVpx`^BZSwWL~n zP)O28B_+*FPWG3aQ+N)n%@ic2LuOK7fZ{f)xocqon6uN1b5Lp|=PDrq9()w%O_UmP zfW(oOM%UKg+xw?cZU5llAaKEf>H!Ft^=kmwfT`spVPb9$&~Qh6E#$!MsW(#+6QKst z($e~C7o=jqqI#oulG!T0bP2jN%xXeFCrL_5QaGclb@3x;DwUL#fzF%zsDLH5A!r*k zEh@=;A+!Bp6ACR7GBPs04C?My&?kc{TDK55$U#pnFC6n+*r^C?%K%9W=7wwwZ@L5% zPA@JdE}q`jt-7Y3En`&e5b*IHwIC>4TUTqH7uZQd?|XV; zewON$`C6>a+B-YvT~91sT3qC&2>V2?Q;J!bn8?YoNAr)if-nn6=I$FHoV#6a6^*+# zQfgce;32Ff2&WzC;s;P>-f=}l$Jl9NH z`}*@%Vv=aTF);bu{u7J!0G_-em{X>BHobBL%LHJq!N}Ze!ywWSFO<-UFD~X%1g*#N zZfmPjn(Ew0jZ;`Ia0B%#ZHo^t&9KV;U3d4(qN31l+&vo`W&LHncjz-A(x!Lrba~&G zGcz$!)6ro`y|rj+Wz`(E2a6ffO-)TrC$3Pu!HZl2oVa7E96pm5wfL@zx#EI5y7j(E zoq?-}Pftrzso%N@+MHLG9f^rl`$l3z8d8@@{^DbvnEXt<>#k!v8hW2G0t!*Jt2xs4 z_RAnHF%MN%RHPAd$SEtk&fznWf!`OE_h_oUr2`YC>#_YaL6{1Sw-6HVkHMq$jQn}7 zBploTLmExd95KPtXtezKf?duN%vwTjnRk150ys)fBYM{5AMaxA9UVnHcFL8?%7;OR z3xN*&zIs@}8LKbK0&?K>B`nMjLKG_s)zRL*2pUr~>$%RfPNH%$h)fYspoWDhIy*a~ z(T$*<%~MKxznZU-s_;=Fi4OC-$@g9>W^ zkL1y!ny3k#TY>PtK zT=kM)-BZ20SsB2E8R4KBoVLYBN*vhH85VQR5B3+Ikuc?x9GA^}W2V=nt~^R{SPx13 z8qMdBGB|gk;z?>AiQhYWNa8xlv2XXpGP>kF?FPOJ*ac44zxyzT!rGH9g=Rg;<_iXRQQp-G@!wlz7BD?UHR=UTu0RqdUc1=XDe89DCYE-^f#i!i58 zWAQRZCD#jzgjLDB9C7aIwHJQXR=vN5SHl7~M+*F}>=WeTNf%6iT)lsTHW0s)KU1{p z8RV4ItOZ-2!h_pOt`U2eoQ8SYYk^#z#Ga%!=Np$U*{@Z03j{S3hf~yO?59X+$tP4ba`JKkUe>9F)8$pnD<i!$jic%<&M|hGaNYGZQcvy*6 zd|FRDb%M?`D|vA39X*Ns3Y?e$Iq~nKG8(x;P9l}Z&?ALg!}&*n~@W` zX5zbE_uSpu-E|k3`}q?{Sp^V*!OjJ!k&jl!8aeA9d?{g!4wfDTvKCCd$q}cA53AKr zGK+|c-rfh1la)Z}IiT8u^XKY1Afk12kug6OwY}|+69kKAabju z3a`%(@UpN3dR2m_N-i4%$tk^LQirvB9!bjoG13*>SmBvXkW6q=aOfvVUtwo2QcU1p z@4%=@#l50b5a80RT1|$ihP-2fPNIk|A`nZ!CNn=j58Z!=fyzld0YAYxIxgIY=M!FQ zTifkZ@VTb}^xVwi3JSc%ezz&2lO zT(ViSXg1b)mj_{DrKEsU)l1>koRS<Ff}Ro_w5 zcaRLn9;2qvvLZm9OBS<}K5C0sAhM`vO?pK((4($$J;n`XLiNL#kQ^_V5!SlKmv!F; zRSW;=dWQQ;#0_}U&4(*8gEFE=WB0C%w52W;p@b~q(NeT(jc2DAshei{^Ppb^q(6rb z2ZBk|`Nd8AQ|yPYg3DIE?jFK%geDI1_feX7lqceK^8Ndw9Z;f&O8RJ}XH+9$NpKfW zg6wy&`Jdsy%E7)qa#8Iz?uUw04Ru}&eaXGBEopAQM_lB02 zL1A&^{q{WrP5&EoN+*n3u4)>6ae-&x;c!EP8Pv`0h-F25d_1H) zQ$mo^#ia#c@Gf2m8R!F2CQ`^6{eu_?KvFYa3Ed8^Fba)lv=`A0MB6 zwlP;R0g%be(0M5i!vNPMl3Kc(rL38I$W`2H9JLR}!&n2mP_i8cFQHh8=f6BP( z_{?$M&_AaCWaQ4e)Sk@=tW}l~%gwI|v9Vw<;UmUoq@{J&)Kug4?SV2g*-0kY^}&k7 zdIl&%zt-nu)An;9T3wLVCTNsBnrzJs1-Gx5(hPS4 zfHtR{yF~B!O9(Q6{ZVI_MKL9!xSPpMxOyGba)6a+GQuqkdyY;{#;2yX>0CTT&`o$b zn$ePHbB+yy4e2MU^Yi`X>ueh*D2IVPMW+tD?O;Vq? z!D2L(k8SP$x>t!&dnG8mQJk)t)Xk-%?`pa}>w>Dc?kS2>|FvObWcWQed?>5YHM62b zo@spyygkyuI}FspF73dbr2yL=%XZqdi=Z_yHI)iLJaeHkXoci1H*ySYyXP|P)Y z<6}Md2VQv{BxF#|b`iO`&G{2}&9rW9r9#>EgG)!p*|a%o|CI$cC61XLC4O5kk?In* zudVI0Yi73V1v)yFb$FG$9f$z{6fDZy-7lggfUX9ojHgidmGKap__e(qeS?acdSkk4 z9Hz~)eH}nd0Oxvm2|+)&d4+{tLAid+=WTDVJEXoT)Wal=V)o? zXDGF&+F5ulpK@K5^Tt@=tRC+;E_Y@gPrR#^JT*1B2*f}EUS0v7`$F~^9`?(G6nNcN zL*jQHbdy~uORA81XJ*!8)0V8t&e7wjiSpcY!iIBH)tozhW+(7QZ;jJh;R-))EO-?o zWlP)~K~c@DsfyksU)RSuIhf9%F_`q*dUXZ)`ArU1$_55R`Y~dU=k-by7}x^~hDcw& z+DuAGiKblb1KpxZ5KML!K3@!8M%t|eF%NgKbkT3v{beXVJD6mhV`Fp3$oIs&_G2T( zk~8E`j7*hL2A!%`g$bv7T8dtTx~{B#7I^sZ=Cr{L+Yc(~i(pR1fs@LXtqmZ`@3E3S zZ9Hero7l{&D#4^7^VY<7#$F4V zDX!{99-&XOc`c>%RAd5|<8-arVk-4U-Z;z4*YfG2$ks^}OeNxC&NxkN)xN}VhK5r=sNRjH05`OXCyHhWRR& zGANU2RLIE-J$AlEOQ-$!ue7ufw8r4w{?|$ihg;6BiUv4v|_7R(3qtTGriWEP23p_K)uL z_|@Al&$8y@|Gw&Dr-QIqCuL>f&-qHEvQPkB!)DBEt>Eo=$fq%+vQfzPlq&J^nmIr1 zdMjb99%*Mi^yaT?(UgiFNujQpV@A1nC=}Mk3zP+*FEL!I4%S-E0u5E!c0ig^< zIsO?Lc3)GKICMQ*+vWHlW2+M4J(Qp5)p4*xu_nHD-Z7z*NB}&eb6{;(+BL1TR@fMb zKe2zF8%ejP9)f8$q|M|rhA-VX$sU6ec49x}ni)4Lz0#9;tM=Dsq`a|OHf>A7?HJEH znqrDH)YN}Hvgin>Na9a@PH6pYgB<5u2|6z@w%W`LNmrQ)d$T`yE8A{CD>nNI;oU5B zV;Iveu}`Z^5b+E>-69t@?^zgA9SQj@E&0>9+V+;Bxs`EzEv<${L!B6mmMCZ2DlW48 zNlFo;D0)B{@v$t z=gy0}Zx22|y&|`^uDK+#1;FwUCO`Iepj}`Bcy9I{GT^tI|<$0VZ{Wnf8Ku@yIb(Q?Bl4$Z&*%AI;pl)W)V1zbP}P%6cjXcij&Rk?3B;`dQW5{8|f@!ZxWU_ z7x0X#fS$`iF^^u0?+Hwb&KB|gDuqun+sW(nO4?e%t0ZxYgmJN#qiLa*Z7VjY=hsB0 zCD;8M&+jj%jFT0GD*ar2f82C_Bsceh(U1vMO&+B(A2ahp)>GorJ}JS`+#kt(KZMsc zmZ$b*IJJu|{81g?UmI=wqEAnYLiDm-Mq7TXp_(S!fs*=9zgU8V^H!18tRt0(3nq*Fz%T^(2pURLNPHwwNa91NJN_}^tC+|9gjm-wCvFVK zXgBD*8=Mq6CxH$bYpOqi<%J}#%X5_4TWIBNzgevWbHD33}Tz(GY z5UuY70(JrI-FClD6XjliI87XWl8OPE`K~@0zL;I*jX;UP<$+ud?LVzndsVIWMCmv{ z;^ph>3s=s=!*d1%*}10wxNdSl-dwVt4BGpCKFO}b*J4XsOpjZ)=q7SL#sp;wJUAov zkH^DF0Q1I5s7a#I)YkuUEH$wT&K&m}($ju0a4%Nv>J{u)z#{bY^gyMd$0?IgbYfic z=_boyBek&l&rHbdhKcE%1h&@hb8t;(CtE(bvEYVM@vI80Nab@Wai}aP6j@Ihj~&$C zw^WytJ0<*Zf#!U&mzdsM9#>Qg*$b z4hhGSnhGYSHWYZpA+LDr0`G&fazDskKIEuA!Tr?gI^dSzQ~@HAT0V**k-gKnpvycL zRB9+hX04Z}`gHU=W%<*Wb(*}Cm>W*n@cy~6>z`=`50R}0@`fv_+gEI-%ULaTg@uFM z$7wW9YG0^yzRv-srV|zAmiJI6?_bukDH8EwBXYj_UOwMf*5>R!?Kg#6oalsKF?{ z4{b(@t{23{iFiW1y}jw@GNesROq7&}_Ze;?Xajc3G7#=lLu{>NPj=za7Zz65Floj+ zmtw(CBXio^Jd6xz>IAW%#WtPyS@ZW~eI2iYiweD-xKtMx29`SFG6^DERNajo$E%I|D&>;WwH?(qeTqn`L1FXmqfB)_w#pj=h%+c_; zEVe>dJ!-Q9x*7CP=YgA+HduzhpA5=_GpiwHi|H{2f3bP&KR!B{>q@C0wmIcb#v#Y> zC%V0ucWMd;`#&j;&WW|UTs^YHoPO#$t)cxqaohfiqT_-P@$n`mn#U|(qT}NOy()kn z23M^0Q%0IGgrN7U^uI}iK^X0jNe4!My4gLTqOvdpcQ;^)A)uqp)whux0 zHDT7&VCslJNV?PidXT63TKOI2Z%sM99%4{e2)souf<9I!Hn0@7C?%rsZdH-fdzG9c@ zRCIZ;&Rb?=GT^x~1OY0=U=}<*rt|FaR9P<<)_NOxe*$+ zTQJUJ`%cA3t`_Zb$vU9i&eIgtAb64NL<4gA3`*6in5cHl!4tXr)=ro}tT^8;?_aDrOW#b6rvEg$nD!dA31PQt zDqj@|a*S09#-2Lw#L%^Ub0Oq&Cn+{6@14q9;%xO$Wc7Mm%%Qh?_)OIgCw4~C+CfV8 VRT7EgdThwi@@N(55-Ahk{|Bl`UcvwX literal 0 HcmV?d00001 diff --git a/devdocs/develop/_images/uml/nodes_provisioning.png b/devdocs/develop/_images/uml/nodes_provisioning.png new file mode 100644 index 0000000000000000000000000000000000000000..23c94e9e1e2b6239a96b0ef814a71b1736c2df2d GIT binary patch literal 48462 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 G8~+0CY8wRr literal 0 HcmV?d00001 diff --git a/devdocs/develop/_images/uml/puppetsync.png b/devdocs/develop/_images/uml/puppetsync.png new file mode 100644 index 0000000000000000000000000000000000000000..4468455e8f04f9ea1885e1280b310f63c1c3935d GIT binary patch literal 32121 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

UW`_TH6OPeKl5Rp8q&CEbVm#*eD~9p}9{B#HYm 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 literal 0 HcmV?d00001 diff --git a/devdocs/develop/architecture.rst b/devdocs/develop/architecture.rst index b5b0a16f6..74e5bad1c 100644 --- a/devdocs/develop/architecture.rst +++ b/devdocs/develop/architecture.rst @@ -21,30 +21,8 @@ the hardware configuration of all discovered managed nodes, the roles, environment settings, current deployment status and progress of running deployments. -#.. uml:: - -# package "Discovered Node" { -# component "Nailgun Agent" -# } - -# package "Master Node" { -# component "Nailgun" -# component "Database" -# interface "REST API" -# component "Fuel Web" -# } - -# actor "User" -# component "CLI tool" - -# [User] -> [CLI tool] -# [User] -> [Fuel Web] -# [Nailgun Agent] -> [REST API] : Upload hardware profile - -# [CLI tool] -> [REST API] -# [Fuel Web] -> [REST API] -# [REST API] -> [Nailgun] -# [Nailgun] -> [Database] +.. image:: _images/uml/nailgun-agent.png + :width: 100% Managed nodes are discovered over PXE using a special bootstrap image and the PXE boot server located on the master node. The bootstrap image @@ -59,23 +37,8 @@ file into the *RabbitMQ* queue. This message should be received by one of the worker processes who will actually deploy the environment. These processes are called *Astute*. -#.. uml:: -# package "Master Node" { -# component "Nailgun" -# interface "RabbitMQ" - -# package "Astute Worker" { -# component Astute -# } - -# component "Cobbler" -# component "DHCP and TFTP" -# } - -# [Nailgun] -> [RabbitMQ] : Put task into Nailgun queue -# [Astute] <- [RabbitMQ] : Take task from Nailgun queue -# [Astute] -> [Cobbler] : Set node's settings through XML-RPC -# [Cobbler] -> [DHCP and TFTP] +.. image:: _images/uml/astute.png + :width: 100% The Astute workers are listening to the RabbitMQ queue and receives messages. They use the *Astute* library which implements all deployment @@ -105,43 +68,8 @@ modules and manifests. This agent runs an rsync process that connects to the rsyncd server on the Master node and downloads the latest version of Puppet modules and manifests. -#.. uml:: -# package "Master Node" { -# interface "RabbitMQ" -# component "Rsyncd" -# component "Astute" -# } - -# package "Managed Node" { -# interface "MCollective" -# package "MCollective Agents" { -# component "uploadfile" -# component "puppetsync" -# component "puppetd" -# component "shell" -# } -# component "Puppet" -# component "Rsync" -# interface "astute.yaml" -# component "Puppet Modules" -# } - -# [Astute] <-> [RabbitMQ] -# [RabbitMQ] <-> [MCollective] -# -# [MCollective] -> [uploadfile] -# [MCollective] -> [puppetsync] -# [MCollective] -> [puppetd] -# [MCollective] -> [shell] - -# [uploadfile] ..> [astute.yaml] -# [puppetsync] -> [Rsync] -# [puppetd] -> [Puppet] -# [Rsync] <..> [Rsyncd] - -# [Rsync] ..> [Puppet Modules] -# [astute.yaml] ..> [Puppet] -# [Puppet Modules] ..> [Puppet] +.. image:: _images/uml/puppetsync.png + :width: 100% When the modules are synchronized, Astute can run the actual deployment by applying the main Puppet manifest **site.pp**. MCollective agent runs diff --git a/devdocs/develop/sequence.rst b/devdocs/develop/sequence.rst index 295862fe3..8b3425b32 100644 --- a/devdocs/develop/sequence.rst +++ b/devdocs/develop/sequence.rst @@ -3,91 +3,18 @@ Sequence Diagrams OS Provisioning --------------- -# .. uml:: -# title Nodes Provisioning -# actor WebUser - -# box "Physical Server" -# participant NodePXE -# participant NodeAgent -# end box - -# NodePXE -> Cobbler: PXE discovery -# Cobbler --> NodePXE: bootstrap OS image -# NodePXE -> Cobbler: network settings request -# Cobbler --> NodePXE: IP, DNS response -# NodePXE -> NodePXE: OS installation -# NodePXE -> NodeAgent: starts agent -# NodePXE -> MC: starts MCollective -# NodeAgent -> Ohai: get info -# Ohai --> NodeAgent: info -# NodeAgent -> NodePXE: get admin node IP -# NodePXE --> NodeAgent: admin node IP -# NodeAgent -> Nailgun: Registration -# ||| -# WebUser -> Nailgun: create cluster -# WebUser -> Nailgun: add nodes to cluster -# WebUser -> Nailgun: deploy cluster -# ||| -# Nailgun -> Astute: Provision CentOS -# Astute -> Cobbler: Provision CentOS -# Cobbler -> NodePXE: ssh to reboot -# Cobbler --> NodePXE: CentOS image -# NodePXE -> NodeAgent: starts agent -# NodePXE -> MC: starts MC agent -# NodeAgent -> Nailgun: Node metadata +.. image:: _images/uml/nodes_provisioning.png + :width: 100% Networks Verification --------------------- -# .. uml:: -# title Network Verification -# actor WebUser - -# WebUser -> Nailgun: verify networks (cluster #1) -# Nailgun -> Astute: verify nets (100-120 vlans) -# Astute -> MC: start listeners -# MC -> net_probe.py: forks to listen -# MC --> Astute: listening -# Astute -> MC: send frames -# MC -> net_probe.py: send frames -# net_probe.py --> MC: sent -# MC --> Astute: sent - -# Astute -> MC: get result -# MC -> net_probe.py: stop listeners -# net_probe.py --> MC: result -# MC --> Astute: result graph -# Astute --> Nailgun: response vlans Ok -# Nailgun --> WebUser: response - +.. image:: _images/uml/network_verification.png + :width: 100% Details on Cluster Provisioning & Deployment (via Facter extension) ------------------------------------------------------------------- -# .. uml:: -# title Cluster Deployment -# actor WebUser - -# Nailgun -> Astute: Provision,Deploy -# Astute -> MC: Type of nodes? -# MC -> Astute: bootstrap -# Astute -> Cobbler: create system,reboot -# Astute -> MC: Type of nodes? - -# MC --> Astute: booted in target OS -# Astute --> Nailgun: provisioned -# Nailgun --> WebUser: status on UI -# Astute -> MC: Create /etc/astute.yaml - -# Astute -> MC: run puppet -# MC -> Puppet: runonce -# Puppet -> Facter: get facts -# Facter --> Puppet: set facts and parse astute.yaml - -# Puppet -> Puppet: applies $role -# Puppet --> MC: done -# MC --> Astute: deploy is done -# Astute --> Nailgun: deploy is done -# Nailgun --> WebUser: deploy is done +.. image:: _images/uml/cluster_deployment.png + :width: 100% Once deploy and provisioning messages are accepted by Astute, provisioning method is called. Provisioning part creates system in Cobbler and diff --git a/requirements.txt b/requirements.txt index 897317fb7..03f30c303 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,12 +1,6 @@ sphinx==1.3b3 -cloud_sptheme -sphinxcontrib-blockdiag rst2pdf funcparserlib webcolors -sphinxcontrib-actdiag -sphinxcontrib-seqdiag -sphinxcontrib-nwdiag -sphinxcontrib-plantuml beautifulsoup4==4.4.0 oslosphinx