From 0304ea4c92f5ba8e3b72c5722250ea3a82685da3 Mon Sep 17 00:00:00 2001 From: Pavel Tisnovsky Date: Tue, 28 Jul 2020 08:50:51 +0200 Subject: [PATCH 1/2] Sequence diagram written in UML --- docs/data_pipeline_seq_diagram.uml | 79 ++++++++++++++++++++++++++++++ 1 file changed, 79 insertions(+) create mode 100644 docs/data_pipeline_seq_diagram.uml diff --git a/docs/data_pipeline_seq_diagram.uml b/docs/data_pipeline_seq_diagram.uml new file mode 100644 index 00000000..7023496c --- /dev/null +++ b/docs/data_pipeline_seq_diagram.uml @@ -0,0 +1,79 @@ +// +// vim:syntax=plantuml +// +// Copyright © 2020 Red Hat, Inc. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Generate PNG image with sequence diagram by using the following command: +// java -jar plantuml.jar data_pipeline_seq_diagram.uml +// +// Generate SVG drawing with sequence diagram by using the following command: +// java -jar plantuml.jar -tsvg data_pipeline_seq_diagram.uml + +@startuml + +!include +!include + +header Sequence diagram for the whole CCX (external) data pipeline +footer Copyright © 2020 Red Hat, Inc. Author: Pavel Tisnovsky + +participant "<$master>\nInsights operator" as operator +participant "3Scale" as 3scale +participant "Ingress\nservice" as ingress +participant "Insights\nstorage broker" as isb +queue "<$kafka>\nplatform.upload.buckit" as upload_topic +database "S3 bucket" as s3 +participant "CCX\nData pipeline" as pipeline #ff8080 +queue "<$kafka>\nccx.ocp.results" as results_topic +participant "Insights Results\nRB writer" as db_writer #a0a0ff +database "AWS RDS DB" as storage +participant "Insights\nResults Aggregator" as aggregator #a0a0ff +participant "Insights\nContent Service" as content_service #a0a0ff +participant "Smart\nProxy" as smart_proxy #a0a0ff +collections "REST API\nconsumers" as consumers + +== Storing raw data sent by Insights Operator == +operator -> 3scale: Insights archive +3scale -> ingress: Insights\narchive\nwith\nauth.token +ingress -> isb: Tarball\nfrom IO +isb -> s3: Store tarball +s3 -> isb: Here's link to new object +isb -> upload_topic: Link to S3 + +== Applying OCP rules to raw data == +pipeline -> upload_topic: Consume message +upload_topic -> pipeline: Link to S3 +pipeline -> s3: Read object +s3 -> pipeline: Tarball\nfrom IO +pipeline -> pipeline: Apply\nOCP rules +pipeline -> results_topic: OCP results + +== Collecting OCP results == +db_writer -> results_topic: Consume message +results_topic -> db_writer: OCP results +db_writer -> storage: OCP results\norg ID\ncluster ID + +== Providing recommendations to consumers == +consumers -> smart_proxy: Get\nrecommendations\norg ID\ncluster ID +smart_proxy -> aggregator: Get OCP results\norg ID\ncluster ID +aggregator -> storage: Read OCP results\norg ID\ncluster ID +storage -> aggregator: Here are results +aggregator -> smart_proxy: Here are results +smart_proxy -> content_service: Get content\nfor rule ID +content_service -> smart_proxy: Here's\nrequired\ncontent +smart_proxy -> smart_proxy: Merge results\nwith content +smart_proxy -> consumers: Recommendations\nfor cluster + +@enduml From 071d4ccac9332778529a6985457aae8d4810a5ee Mon Sep 17 00:00:00 2001 From: Pavel Tisnovsky Date: Tue, 28 Jul 2020 08:51:10 +0200 Subject: [PATCH 2/2] Generated image and drawing with sequence diagram --- docs/data_pipeline_seq_diagram.png | Bin 0 -> 136624 bytes docs/data_pipeline_seq_diagram.svg | 2527 ++++++++++++++++++++++++++++ 2 files changed, 2527 insertions(+) create mode 100644 docs/data_pipeline_seq_diagram.png create mode 100644 docs/data_pipeline_seq_diagram.svg diff --git a/docs/data_pipeline_seq_diagram.png b/docs/data_pipeline_seq_diagram.png new file mode 100644 index 0000000000000000000000000000000000000000..3ada137a0c713ca9ed7871c0a7a33852623f224e GIT binary patch literal 136624 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�T)!E#%f(J_D<( zzV|X;OD6f7wZ@eAz zD@tT{C0QJ=`*{Fk7t zL~;x!5bsH=YGAe7Ago2A$qI;Xs9Q#ejP|{G#-&I74Hj38J(tbAeD&%VFo82F zOPVA{ax0NcQI5-WRb6pOmD=9Da|hqJJ81R>;vFQzp}AALvyf*tTM_4f9X&`fBO)uGUA;FAW9 z1uV$S&c@*&o;p?8YCb#UEWWAZ#K!rXxPxn?@ie>?-K$}M{d;vM4FAYzWtuC8tdfy( ztm9Tf#5ni%?A}eJo1SSfm(G!;0aVf~=Ici`C$}Y8CxML$2Zh^Zk^`?@BW~W<*{A~{ z?*_xqC3S)I@7`Hvy@sqUAnNE!7#$vb_d5CiQ0YuJgos91|YIv z6kWQOa-80TO|l$yL3o?ew9S8${kco-0qdC4h4WsvY6#YT*Q|4*W3`UGTY@2kjJD z|Aj`_`d2)XcfiSlR5^Y=Ve`+7xj=yIySBdQ^(7;U+#jWs@=}ODvCzj{!0sF`YG466 z@^u~JFnVGlxSPu-?H~b1>R2*JnMI4h7cblI4FE*u{9p_f_EEoxD4UJ5(3*2zRwG~Z z-2{YV&$c8XSlJyA)7*&=H7mv4{Tn_IEnI}7?%w9J#Pr!Z0)^lz)%?S?87{NNYqIP~ zL1{BBd?Qbg9R3El14_;mdt}a%HrQVl4EHf@jXhcX321w>JD|i!gI5)g6a_wJC|CyE z{koKisT$~;aOOF9Dx?p(gJXmRIBP(&q|k>*J+eUy`(lABVH(qgipLUb>>G z%-g^hyeS|ovg)4NrS9IlkkQjD!=}QY_f;)939sa~tJo>b5hRc5IvpFThF&10fQZ#` za_xnd4NWTQ@xs^&0BYDR0!r~cuEvDP&|9gc3Mex9aA|v~I0sU3>XmQ4g0-1E2RMs* zLH-Uy_-voNwfsjwRO<8FKan+B;@HJmO=9DOx5}YNk$6iG@Awl#qH`S7 z0YrfbW~J*GkK%3OO5`Yv!XO}%CyMcu=o~=w28Dz`5kT}-H#CAwWvfg6G;9YgKDn_H0&CCesH2wI>SejRp-!Q!ZVKJhb%9I7)Gltb zoQ%hcm2zq*-|24X2hSjoe%5vy?p2I2>M`mxYOy5zHl+XI2wg0+DEq;Dp=H@Nqy>W7 z@(osNf5#!P-_o)Z9Rs?mU_ZZv8H(a^>pTvxko(!=<0tfbHIl4OCT!WF#fy9GPTDJ86o27xY)7Yx{RZP!B14Jb4?B$(bJ61nMcx+K}fRdkth2RcHn}rkh zSW$>uUyH_N=TY>{_?q7CWs9qb^D)~9o5H=o3&Q+H60hN_!^r{&xajq3zPm}j%w;zP zx7qSTLUumYME`_S1-p&3(!Q;Q$iMZrg{%+6zU9^8;vH91Bu;(44Q#^5Yim!5$Vy?fPZK02WKQy2yqS_|8P8HcUYg25&-tz2D%84J>2f4=ra=xc=EZ$PZs^DFopTu2n6aHi!cQUk`pmP|2N&DvJGsU`~+HdZl|AR6QuAyoE1= z_?`lj{}{r=fAG4|G3c3>+ykC6r;8A~$$DB^cD+~cHez3rkOYD!20a@|HYgx4v<6@v z@9!B!4#XJ5wL%g`h;sY+=NxP)oL7S#&3fbq%LgDrsqe*rgzqR?-DXQ#^uW=wzBDZ< zKxe=txMZP_nJ*YP6Hofmn){93g9AOM&N8;5m(>xp`?Op`kas|Ea4=j1X)f@O80Vwo z1wUq%0&S}oG3Cs!f;m}W9_5?#CqTxxNi)-Wqd7e&TZE2+Jn0&J)Ii_dnQfNFE6e4qE7BH7yA> z<(91iGIpNHk1F5@hKY{*dKQ{rq``a{ZVs(wNn_QL?m2jkz_CA*msoY;uNr$ozI09y zk;-2YK%wa2VV8s{l2AzT+W{HkF*?vcxFwi;f94|w!jR3vrV|D-6KcS$FNN}lHA?`5 zQP5zktEi-5VV|dkN9_Yd3^FhA1ab&Kgx3B>uq(Ys@)00?x$f2jhk`W-VOyJ-k>pz> z#$5Nj>-JPdA*pj(217P^Zs`eAHwHU0%wK7Nw#335IT(x zrT@%G3p0oLj4dMxFy*8u4)=x9Kc-yE&Pwebd42mk$)Le3pM6C^;At;ncQ@qnp~J6_ zBMO_(UBqMJ9X$sGG|oibKczhn21Ng6w~n(8MspS)TP<+Yncxqo=r@y{CjUVVPL~i$ zV~ULDM!h~GA?nVN5!0PYJjU!w_i_@N6QINCVpQ`ux;EKMvm_yxCf&9v*Nc8>&GHF! z?LHwBOwK7vY)(D;YK4ltz97$j!j5o*Fkw*C90j`VB_*$K(?C4^aC;iZKJ2dL;GohY zBQoutDJ_}!H%cO(7By1K8hm*~NOJ2>|Fd}$oW#taJb_TAG$#&&cHsij7@D{;Mx;q} z6VB04GG&2&MRg}x+=%smU|pZ%We%KH&UL68&U8eL47QdMQv~CQ!RpGDy%$i3;PHi~ zBQ&`74%THc?TKI5u;OvGuMjcdcu}UM7{s8&RlsSAbx^pEBo4-hfy*ZoXtKjIuSMAv zcnINegg5{d-U7N@0#hs92*>obIT>lYuJB;Mh}8v0$9k$nfrVFV$2bUgj^z#{%a7kz ziLL!V5g;Hz8~1eyDl#Y)@WE0}Ue=EgE;2*CuOIpP-fF)%k?H5kE0Mcf)HXq z%Z^*fSsQi(k`jV<#lT{L(4lr04YB(^ccHG3zOd_7c1=ztMr6!fVC#%k1<`JC3gSj# zpL~S}r$Z7I>)=H^BL^~oCm?&pni0iVSJZ4pR=Xg~1&UNfz&1$jff;JhQ-u1Xe%imf z>znd4L&Il6jqnqQF|<&|WTVr6kR!~J$^0A*wm+q%+VX^+Wz@m*B*qU+5TF1I%-FqY zZfD<&YLE$~(*ST`)B+;z0@eov><~p;vjmFW=1-sIV)&-cJKbFw1!2y@_Du-WD5u1a zVZP7t!Bh48;?lsNpsl#ZkRuOV(JX-}m1vZ1y)`~+J8GI>HYie&)ztqbve1cZ8pnN- zm&(z7l>Dpyv4;-L>+ja+t>)$kvuEZBv*J4IR1%wAlnkmH6SXg2j-%5;58SIL>3gSD zz4;KcrOeb{O1vLjH#+n~!W~9H65o*;2$GQ|!ZLQ_XkK z-w)Yt}%j5fw*C9T`I(Y@#H zUXIfT2)52Kv~lc(c2r)HZ0ZmnN0>HaWXqIF80B50@I{3mq|SY4cgQriZTUnT>15t! z)jN%dsF>v|GLEtWiO_CLO4MHW?TDMnoy8<3X8E^Sp81TpaE6L_vNB=81(vq|J93zv zmQ*`-tm)mI*gMls%RtEjRMnek5G{!Fm*Y($q0<2;LMVrJ3sHbsnb^gCZjcN(XtuF$ zPY3CAHn8E5>{P{5y+`8Rfw*7xMv~(%J^~4-tddP8f@&I&)zKidG?~Ytt2E_(RaiSh z_`P?}9-_TgR(=LkBFTh?1dLY4rSyH58>!wd%>{uv5P9k8rD04YiKq~3(Hi*diE8a< zd;5M8iy0E)PB@FYgvS>|qpv>W{RwCb2#@vptMB@xMO|kc-dB_56x;%Ra9~R7 zr=T{ONa-3H3fIVk`BqVsQB>wGdH)`iiz&*jPvV7Vzk_7?LDo_q*#9d(F>@pNCUwD}AqW zGS@FjPtiD9B&6XSmt1gxWO8!rgeXx+co-6ExVuPL#VV1?98oj0$T&b3w{J?mfw9TY zPaCTs3=9;oSOFsU($Z2OCOC0nBtiIxX0|PIw9fcuwDTp3DV!{9MkA?Q=mUPE`hGi0)5^Qa411%SNKWnJfPQY-tdm#YN z?>otvR*A|E`^5u{uGXVpy=2|w&F$OtIy!OWkcwN39esfBskRz|)q-W+k|Tk5X^)Jv z`7i(=HAoTrLu>`hN=q4sTiN^fGi8Yraf!JxPGo-&QAmdPoTMUMG4UNS95E(oSm^i$ ztsd?k;)aDb6q5v8sm+5~^s(+5m^1FVMN60@*$WF3JNj*MWMNP3=%_p|A3aGGb)^Gu2to<-rK^AF{?$nca zbxm8GnU^z;BpkI6AfFeRHqTwK6j-N+8{EJQg#d)z$u`Vgs#mXG1tB&9xv$|#uK<64 zSw!bU$#L(5r4q+B+&;5OmAmxk|GR2O{|)s9jqnA@UnE+Ah=Vhdf^8Zabg*Qo09#Jj zOfA8kN>Tyg=kftfV5!>6ygYP0=%E%db|>FDycj!?QTH66U2MUcjxM5x%yc6LYqX>1 z+73S`hlB|LgnvK)!NQ475vlTkxUTD2o&qp~ZWO8x!H!m($;r5=u)fl9Pj2Ko&GYi} z?${quaXEh7xm}A?T9aJ7kRvh795_JkCh(-+U(fA-aFFDyp>3C^&|Ix;K~kb89feR5 z=RWCr7HO7%fv(fQjpnzR!)_bn7SPk)zkk7no!D=e6NsmDmZh+qbr`9T@CMe8py54t zxY%0Q8G){ZoX~)Q?|1T+7;hs6Ys+A9`X~z!aM6XG0BbZTHeRVH^h3wcxAYX?RbxkV zv3hpegX!D2n0fLnn*^RYiS)$@;o-~EKeXtUKE6)7?Q(76VFA2~n>McP)+~1py ztGRAIsex6tR;iyOm>X`;Vo{r^ zfR9-f_BMfJyg+9Gc^J-0__T1=95gU67=zQDd9pe{{JiVMRVOd()({kWf-x@m+kZT! zT3btN=km*V!gjSu%9BkWSdN8`$x%Qd9=CB-^23K4(+}zB_=7xBT*){zTdthH=H#WT zrN!62iNx2ju6W|)rtfrOMYW(+`ddI|5tJWmuVl5l@75!4=Qv*z_A*}y z#)l)U18cJ0p(8}R%oxZ!1=#IXmH7L=I>21z7SYh&lLIYA5*VQD*(d{w z6-GUJ58c0?=4-UI|Ly!g$&NVZ2@E+~hBz z$ay-3-GfZ*M3~HzUHDcVW6S!}X8+6VH03&uyPW*d=S&nH_KT=I{q~OFos5r$MUb#} zlQ!u`d^_a-p2i%S=S5*{0~lGw?q4;FQC7C$wJxq`xc$Cg)o z_S#2ovnKDomFtKBWPVuiNKDp<*yJA^KNn5!aDv`I<#pvZ`2|^!!1$WCG6r(}!0|oA zd&R`p289!W>6l~K(phR|np#TD%+<6NLgSY}*A(#pZ!ShgQTl$N^uf1JY;9P1fwmvj z(_L~%`7h>?5x_p@*uR42rWWWNm@dc8szczJhPr>ln_a$(36&R+E2O(dQ_JK9V>2Py z0E_1lIyTt19gZHoBjSuMliUf9_Zu!>~FLc~xDJL?@OgO2nU^dXU1 ztIw(OW-{|sv$F>=Dc~D6#GZAuvAI6Dc!2Y+A_oO?E#NuINF-%;ne3qRbQIdz14b(vu<~H&O)I)qAfciwDl9ln7K77=wD4M@>hj!$u5>Yxk%OE*>{eg->q_b32nAV zBT1IsS_0*Xex;0H=4QPG)zU%O>r%)66ANr=qX&lX;^5E?%~#Wa?#4LZv_d3WY5{Pts8UkG<%X=Zqn`5blF|GbYCwjT8e!Z+k z>*-1Kfm$@e9&1#$Di?sNMPo`f9jwQDyMuWy^E?hP$ii#Te)tE6Kj&3+YVV?TcAfL( z=AmJd@HOIDQq@la!IOv2BU>>0(WmBSuF93}89k;Ilo56MU8vI1#k!GzwxK+iL@XH( zBP+pNPC26;7cqX-4gHO!Z$PAxl?_$MSj!$ElDdbKx1mF4WgS%$a&RDz z*l=;UUWhgJYPIqP;5BqS>q2A{WN<#TaHXJrDnVteGVy$67a;z?ZK(cyb^#=4XXuyv zkUck3_V9y)@zmFwii8whhhQ`|i>Kxr(H_>Hutf7-KTv<$9=bHVVEx&vXus-@k$Ay} z=whr>($lvpy5NEG5upNNS-~%vw-sUz>rFzVyKcQjzD;-RHmEFf6>!Pwr8=O9n|qx= zuGaYwQmst}!Lj6`G>|6Aw4)v?_Fnq6K}&F?SZS=-cntHkguJpUH78L13KUe7xr-qc zPQ@~~tln2*zx^V9BYd@c>bcn1yD@Tg)?Nace@Jdt&RA{nyf#SOS0Xzhia3k0A7ljP zKFjj>dh#5R5|FtQlh-yqKPN8%;xc*p@*pIA)XF;oZq;v$pcv(nMUYWWVD_>4>7md| z)ipumb=8>UHIsO(#bg_M_ns%lYw#pe_}631Tj4r{n1oQgo&;EZCB^wF>F0Mzoa$CZ z@}79Q7S9 zf#2YghI*YVj(s5uv$~rulE7zDMc_!yk%ryzY#I6Z5kC5+nmRU5aO)c8%1jscjZM+4 z#Ia?fO;uI`4rnkSIkJ#JgeV`LObn^O56m7n`We>$kXd7{sH|#zX4b}EFPSChV)!DQF+ddbWOFU?zPD7> zqs1k!(@pN_dNuOE6`%qYcSqOn5>T*jh#YNa6oj_-;sxiiu+d3qupWg2ZO-uotfNU!2!??i!b&Z8WzcuU)P_ZXLQ?^j!V&BPqRBfdD{&omx zSu=jJszr1G`DRuQb=7bo!B+>*G6b3)bPk>aBvj?(x$>5~lB1bkX{iyh4X1OLlLKmH zc_n2mj^2-advU8TwUV?9%A8v&*5a+j>Pi_EX+U+DH<}( z0Zfhhc!e*~ z1QYEhrS)#)VoAevh)Do*4Bcc@$zxu+7$gB&%;4z0GxA7j^wGdi%19)9i?hK9+3vU( zAWRW=(m=*on1%opBd2=E#t!-@h29m4r4nG%26pgr3@yN0f}UO)sW!ij{v8fi0?{`@ z9DtZ>-)FxQd2fSA+pMLhyizeYkMw4XB4-$>NHBnqZs;_%cL8>d&%7y=uD5!A5T`v)dU?Kh56NBAw~Q`5lk zG-mLhdd7ObMJE1uh4BtnkIlT?e;ft{E46eDt;Ltt0s&EeVPOc8bKJI7CRx}2Tr1Hy z-lz&L02=pZBm+Vx(#=6acKy4K-PZfLA|0$fz)cQs=i+!w)~s(6?1oFdxv7bWuaHOT zJl}-hqjqrbc#E0li4QE!It+V4%YppBcQR{|uZgk=$ z_u-q>((1ztXW8zvh!@%Z2mnmsZc zEA;i+_g(1sYRz@GdDJ@UW+=IhJg%MNKA$PyPdN51K#c7mjrI7KVPncbHlFpdYQhaO zh3sKZ7;C3EfG)E(91OMzM@^kz%F`}@)ttko2Dr6?bxayogo9P0_tIqQn_XJgG zkKZGcwkmXN&A{`7G(@Dnt`QaejP}wUE2yB{T&Q#e3@$cqd6Z{#?D*#(_CO($#M!Q1 zwF>z}sF@i+zt>Ah(BNhnfSy>s2k#}LLvRWQ$ka!6$Yj8~H&;N)1X}_MEcR(?ZbDOu znhLt!7I+o9zwB3#0PIr4YBy0=E0-zI81pNrv~VVX5_XMdy1Cd2LZgAD9DdiY9{>P` zhZZ2aJ&31R<^DwaW9HQ~i6cNNGyxrz{5ATpZD85J*pwE6UzY!!4Xd8l#j7+f4 zce*n=6LNVl=G0=VgjK9Y&dWu-2Er!Y;IEY`&UqZ z0KDRlj!%UwWn*GvdEWEFpGHO=w8BWXn}3hc@-X$(g4+RgM&>pYOP?-VpjklfAOpbi z4n3l)qz^06kAoaU^aI(_hxzN#CV5 zHOk}DC&=Tj4{V4*5Al| z*h|K|^O6Ty1z`>A6tG9wcUxi3koy7CT|1l&wxDxKG$+{(b<14C(|;HO_SGv^d?ee{ zk|O})qKlekXj~jAv3@=9Wpl`q@leB26ms=yu}#eYtG*VEuR{U@&+_26pZ@&p_Xh~z zIGYdL+IQ#juQ*Kb83&E9l)U>7+~wJ?pxEhd0_yD%h}^vI2Zyt0W%Su)beNvN=4v{1 zm>Hwrq4e-m=2KepE#FryJIhPYQ+Hnw%h=9k{0KBrHw+8kFGhe5Uo5?hGFGMn)Af~A zDiQd`BxGeVolFZ0E3y|bbmU>6wBv3cVPQoVEa|h> z;vPhH%Hq&);sJz2Wlkrz<3`Z>)`3lEE?xiViR8KNIXw{Ds^W72U6AF5AJaQjC-E=L zC-AU~T3r3M_=zI*Sk(hxTUt(_k3?zu0nL&op1YYhG>+lB1dx&|+6wxS2%s_jLG)sT z-DXy_CaWCv?cC4;Eyv*H@Ae12Ve(wm)qq^CsHouSO_XJaYOrCxj?Ee8re{9^a16DX z7E>pHI$75Q^24(~`xTnkOf0R(UFL!X61hdn8JLJX`^k5yBqJpz7V}wA=_8+X_A+VN zS3*!&qn#f_8|#1V+F!_vMFzj0ABc<3WXGcLD9$fXRT~tQgRxQ-(o@eVs@qN4pQ^fDe6-&Bw}w)AKC4J z#A-l73*1kCCYyBNaReEGqqLdqy`@lF62P%L?k-T(Akn;N-NDae4P_&o7Z>Qtbl6(@ zu||z--Ak%=sB}aG?GVYAv?5C_O{DaTt-UI)@c%$*oq~#I&x9PVP0nic&rS14Vf>LH z6`2fNvP=rQ{|)(^idOztj)08CH#Yp11H_^s|FSo5E%#zoS=CTQ1tldT)sFseJq~xu zmV@7`?*+>`d-iNpI79-W2uPPo)DC>JnIIlQ4A@!V9?(~lU1vzR7KlZ6Jw@Cx^+F<` z6j_Pr>ntC~u-K>%Nb*OyT^lo&(czZ%k3|(Hiavud?1cFMtzZ?hz2QWfzy3V99A)2q%mZ(o+D1 z&c{HMJ%j#)C`kT(x1z94zN8#;4Ggt-YGaj2uuw8BK;L@{rZ{kwL;58SB#j^U!azG3 zW5^uep{>d(QU*y3U@!pMuvdU+SKv{nO(4!_|qeBQ0AYzQ9M>;J; zCXyH@+G-sNcrjF2!U=;A`y1#Nx~Zf8^3&%VCSd-FCj3F}9se6QQta+-N$=2GM_4ot zjx7S3TCprC#nM7;^>NXZ>-ETxe|t9M?_-7|zr0kf?Z!W44chz6iJA)<5tjqd2cZdu z@rERykrN3<rKMkSQ6T%Db{E`xac&#L$Ql*0=!2+=|fe2j<-a z$UMt|xG0#)rw2gos?^snhPOK#*BCdI4i+AFJ4tL-_8~5R>#a!8-KQV(jfM@!g%vbp zXo*gt(Z-*}7RD4}2F>KuEWv^iK#{O$kboFK%_(H$HscZCDYK_@%i>c1y@prbdE;JWI(3?l6azkwYt7ACN8E@P2Lko;fKj70&>a zwR`1$9QGz-Mw)U$G3O}xH_V_4uhVrpNZ3r(e%&X z8qInx{kPt}uJ5h8Z(p57ZS-V9n1c~3^}-?0Pz6^3uFGFS|A5Nu8S{JuAaOe~k|AXJ z<*y&+Lr*K;1)l}PbODN1>le=vw$Iy<+TI+_^TUQP1viOk(dfi^jHt^+XR27s*bbYk zTVW41_**wvfXF%-?2eKh(`Nw0^73i;g3{Anp&P2_vxguB*I5#FJ4kIF9?eH$jxO@g zDLtA85Ebi!Mz{L`F>wtTO&rF@;@!sl)HNU;(A&4K8)=LXtKxWE7n|^n85L(EI+(A{ zK(d8~C=H;4nWBHi*A#+V4M-32a&UbA`RsR`Uvp#&^Yc+Uc1sCx56r9D${1S;Vby`& z%tM;&u$DC+=98uhokrjRo(k4sV{?Ds(qYBA#lAIp?sevtROF^-4BzM66;(43nsjlaGI!zHDN+n3`*@=G zbBEEF5y>>)L)Du%DgN9ar%E;FvQqlzj8%T@oxFxa9evn4%cyL$kXv@I?$v?O>{q1* zmU@GJ^cZKW8-J#EC@Fp8PWHLuSYI^^e!KQ$bLiNPilu^v;X*9rbW7?eA>S6H1!2Z#2BVe zE9fX*7Z&1ZQ^%2o1PLnUAZ#04iF7q;do>>wU)u?CQl<9x3py zI9VZ(d6=9$M4ZmVjQ-Sj&jvu9HizSLffFCl(h@=%5jak)U1}z2M+_ySc(Nlxz2I2D zXoiF1h7yGa!Fn4?E!io#UQ0(u3Gsc9jSzw0G=d~4B5)R;*(6CqKY0UWRWP?pCv8_% zEx_xd*(Q`3&YbK1{#+B2YVlIVf%3!LI-kr>Q0A~Gc#*n4eBNU!?gqtm zqR-Apit0@R@_@B^OSd}3zm>rZNJM=nZO`lI>IT63D13Z}&K6}0OQk|drQm(~n*RbT z%Iiw{r_0$v?t}`C0(p5g#H{=1DF)sGipm%}0UIDDyx0Or05vUofskQ$R(6etXAmeJ zkkPpvaduu6RqjDX?ptmqM~tfskak3r=uT-JjaNht3m_K;BtIfqK&h&V$iZcfp4oFL zAz+~hN`Q*Fr%2ht&PqQwtHnwU2h+e}i8XTR`yjrGx52V=3kwTt;&ljmFcWBneV%CR zDkGg+V{%zkyPs`TC;0-9_qwcmpei4Cc?Irod;$1M@QjIUb?SDh9W_Me%HA6rkK#bf zHo*Ohhj6at%*q*U1j4{0f$31Xx*n(o3>AqmYGED#HerXy4m}bT3t2>JMoFTn`XFMx zlK@$iH-iNrtIy$VFEbkEOGwGB{IBbFxs7yeM{V4PKc8v9%{U$k$(&z1(*3Pz<>)#w z26JQUDcR~yRqsV=3s8)O_vX@HDbnoK*#f0{#}Bf-|82Q%Uaq`t)861tdT|C?+vCU1C^LWMb&xqj7NiN7=Xr*`pxW})Qgw-Qt3n`rYo zQv8u}TMcm?XzklTVX8%4D3S%n{j@8mh_z<>dK{H2w+aDPlwd-YVYPP46*V(1iPF#+ zOo_tV#hM}~gsw10bWWbfkip;=-yode?Jvam3!oWOIayyibmH+_K6{9+F{PluRbX{j zh;!>*wCDx~)h0R^`7e9py1~4`(s`Rs@9_J_K|FkoCEDHS=>9A3vu9JOuZcKLl}DpS z-_Y*b;?nKYpCa=m4VTIozAiv^&hQuV{;7^%&}q2j+S-fO69m~w z3uOXR3ySihdp9tWeOd^mByJn&?7}H0`}xtYy)uHrMXMsCYzW1Fu^Cc$uj#srSnp!> zxA5dvy$#C9o%|ZlU1<3R`tom|+L)aZCM5H>KK=@YPC)@Tk1;qS^5?$sFu@0chY5c1 zwN@yLeCF=#T|+GuP^UX(@s)&-3CF0h&(zv}{!fNjKsgeVw0QyaGL5 z%)hv}(r@*X68*nD`-S~-J2II#%_b=?dHzVMG$d-CUAuP4jm#x-YES^69Pgu>P*BK7 zOq59`sV;!`%1>bk!=|fueW!pqbw{ZPzdNeLPZC=@hHN#0jYxMo$>hsOt*x|`M7p*B zfOjBd1b)N{$IQ>o;n47AKrF4Ttqsl$C@pVf6x^8sN)&hGQ~+M}XM>z0-k}c>l0%Nx zv%bL_kM4=5<46W(3+`^FtY=4CoU7MAKp|i3!@ZAy-6^U{tD+1cyb|9@FXC0%hzwj-jm#>}^}19j3>gN9HoL0R?iuLMqSw}e}Z%b9~-}#g6mMUtlBby*2>4rH-Dxi zcV^wo=;UqKamP3X^PVf?qmVy4C5yP`x^s$kCzU20*L=}!$X|h0Tcj+#n^BP5YQFCK z0^3))n=;&%@47aye#rgn9}?^&KQxl*xa9VhtlQ@s6xaOY1D!WiyS8*KwNm?d%*Fgy zIQ97)3&>&-{B!B_*9`^}-Q-yL4N!>~O_u*l1Kf|5e&-whk9hT8VtA-9ns_l0;kIn_ z%-CF2a-oj8z@v|^Z1GpMT-UxXB1&yWGyglyDt`$E$`^Y9X%Ramh#rO{Ga^Wj8qhA2 zO+fiBtY^Yf2ZUgZl6}OG^UJ0?g0z6^i}p$=S8BQ zXA$XxbGPaJMkeJa2|odAB3Ao3Xn#p7gPK6JnI9Z0tN83e*@1@yhBP@#})@R6W z<31goG8h)f>f-c6-{9QqM~pWwxL^lYB_25?YCW%{e)7CnC8F{pCp{!py$}vcVK0x~ zOx{!N4_*kw5*i%VG*FPFOH`Iqoxayvqo|c(vIQR!@3?ytWi>)7d0Y^;QW!Wcp;P5a22r@csXItbpG*Q4Vj z!>*V>1urjnpE>nxsTtpcJ}nZ^$*dPl-n}qc*(qx z_1oTl)4S{%`^SsOt0Wf@)a@pmMBP6Z!YR2c07{7+)@5Wt3pQ(s-J(3ou4mKNld@BD6MGq+l}AvEOIl<4$Y$WeU#{ zgr|-x_|gPb*HHRyiD0Q*H+r({-fuFM&{}V?Z|%cY4X%8$el^~P1cyS*35C>z{qKXF zmoBAeqyW>RxPG!V`ecX;3^H9$p`FV@ucD~{aT#E(!J;Lf#lgIpD~1QbpqeVDc_HZ`rb+=b+J7|En$9AycN$V*2=$mtH{6Tv?L=4furm> zVl)*^-`z&;+L=)A0Id9t1>(y6mwLC8Ed1(OnoI ztSUzbx58EMa_QiC?uwiZ7n1YA{@DUglhJ%Nf0qqLPk+@>2K)5bWB0D8%{S zoZTH9Z+>Rr2d)=&i?IGj5!e>u|8aaWFTMwd30YmlfvyDTE>UewQD`xofskE+J``do z?H63o($?n8SGm4^mard;F3bQ2PIDs88QvLx-dGj?#DAHhAFOx(S|E1rg)P!Tt8nvp zeoV2h_h{fqUe9_Lpoe{zY-&Pl5EC8k+?mo$))0&=-m8J-*$7dFuigIHWKZ48n7}d^NU*06@fe2!bX1!`QZyV7eY2&0 z(ab;ee`Hc!_#LrR8(jaYnElud4irlo=U-Huj?3evuCW8hFLI@KtE=zk) z;coM_T9OfT=Z6+RcYdGQ2+B)+&}jZ%-z3O?`@c}>Ha>AB7av-`nYxja7WSP>ze-Do zh#4|N38Dom>-!_HZ4jOOd>n?=;Z~+;(;<#RQ4aRb5a!7~L%^N_-V4ytgP%VKQINL= z2YKq`ovweFnA9IC|FIGR>`)^WjLhz&`Y9?GRd2W=BLn2v8sLe-0E!>lQMW%RznoM{ zM$3!yn1wFz3<7y(=9^%$$kZmdb5+-PB-xsuReWxsMZSnxhwk9KRc5Wb)zqzx=iOIZ zb>~w*dMGx%UHM>IC_KYlH|CJt+W#QP?(r5^uT`5F*H2L9CaetV9zxAG4)){55y<06 z3L%!&6C-vDbgNBo+m@|t8d`>yD?o?7qE#k7CI{j8KktnQ%WwECbcM@Bta_tog~UE; zJGWyr31bO^`L`x5$qLij4IV?MRFEtB!apxpDmqwqs-=(FQ`eGW@?4fv4D2}3T?7h=h~*4s<%4|I@ohe#gZ4E`uFen|Mk5j^>Q zOSvQd!&r3neP8-|?_;5^?JAV8x}MKE|5*5qO{?N+*;R2hG_E$U5pyW^o{=Q2q}p@e zQEqfxS)n|DJa9m6i>CasaI{v3<-YBHM^ZE&9{6xOtS8VSGRAH1u%COSjJ*Jgx5*+^ zBrWh&=k*6kK3YuM_)mSos~+z@vGM3B_v@S8?yU$UI`@fF@%nFKdUai|x>UsJi;i_A zf6<~#rQ4M8t5u~c#L{y=o&q}Ky9r!dKC=bddIv1(G6X z(>;5+D_1_lwbf7l(WKDMSK;@^pSVq*uXuCBDq>>|pT@P9E$Q_rd${_}y7_{Kkf z{tW%cgIwFUZ`Vw^b}wJ@CS2D$c4%cF&`)p?5(PW)4B|$;K zxrGJjdnQ4FP#=^s&H~0T^u(UQK?Vi}FcDzq1ez;Z)EPMi?S;;x_=bkGgL2AUU0pEL zb$?(h7+5#1VnY-Z8Zu}s13f)G9i1w$C%`!XTu~1kz|{}5a8;kl&(DX}U`<`!u~aQ* z0}@%Vu(*hUm{Ipa!L0m6PkrZjzL-3M z0L1{G<7&)XIxu@X$~jgX#gX@9E^%%E@>`&&0}Mf9O!87tt~7UN-Pr$p`czfp*9uyG zRhlncvU9~3o!;D1+LNuk;b;wG0?(ZQvbg_AM8pla85Xs-Y~Bnkjw^k))an<(n=>Rh znB3VN8q(I*285EurQ3-0EWS3V-$p1oMJvA1B)v1du&@x#5fl_;YK0Yo!gQ9vbt{eW z^|m)sbrFKvU@Y+G=b8-lU^sLLaLHz%JjJU8`S={?I?K5G)1^82d!+_e;V+wE!dpo;EBR+#3XcPf=54HhZ&X6v*KzYK# z!U8kdv$HjW1v3BZlc+Q-EG%?)-xL=Y_mw&62P#0>3eVnGy=uH^AWniF707sR03rm4 z&RGG;^qVSvZQbB7=RwasOC;J`TG9+bGg+FQo|g8Zn_G5H4zQAKVDcYJG!B|T@bqd3 zUxTphk&9yCXG|rUyivF#cMXn;*6^Hq+=ipDq1-qo6WL09>nz16 zt*2+7@>tISeGguo5O8|_{6>QkX0+d+pol6>o?*k($(UTZ0)F4M?@!ptwq{D^%0;Z7 zY~b`N63-bBYD3U&I=$4GqMO^}*eE(rMXA!V8?XjPZ?8u*|5XGvW5^zYtm z5fWQ)E~S#+%;P~@km7(_AN>{Y&YV4eN4UsXl$V*h)LpST%Lswcx}9r_O#SyF^R(2J zhpL&GzQaY)zt%q@icP&Or+neJLjiwPfgASjrjoMnt&!)~|BABGD#HdA;q#B?E&NZb z9}5c?&EX%h4;a7hDF2P$_w5|G=Xc>k_vI~bg!c&MyF#p`Wi8cln06{^%9wLRW zVarn~XzfXV{dkr+aqq!{Agt#oItjl9xVlN1k9S4mAmfKVcGrAK?RHxGctFbj*l?L6 zdgQonG87s{)DN)HsQ=TkUBhb)!luZO|KAwfU3-3>k=Fn9*k1ADHhP~? zmPZeBSyD-^{NR}~GI`hVZ#O>U)DJW;HS~c^MI;Bg?Z)O$ASlKa!kQJMPKw^^Mr1hZZ46@9GlOo?nki}XhE!>ZXSu>^JnI@nhM(G*J~HZ*lv?n-Hfp- z&H6YKnt?Gz3?#SOAKkJxHH_jtLvY6=K0_}o2Ky~ufoMKN$FkCh{1wJ2C`>J#D%4wb zKVGH#P-h%BMe6Mc+|hRBM-rN}VIgcUtHP{Z`S_EsoqQtg!m(B;F87T#;2TUn;t=Nd zyYKUpDXLE^pdN7^cjJEKMfkqh|3pCC>>ZBfu+7mwGndu)mA0d9+l8#k?M{!Xm z!PBF@SZ?a)Ou6~|N&alH4qHNPFk2w>1yimI zJzPh>1;`&MvRyI+{4~rI8!UzP-(enp*A4YLKegpFgH}56`IoT3xqsgp@VcH)pSQFE zn#~`Z>E~By*BWQA3Owrv_aD&+?ty>5ERtcIO6;*$x_-YU-53A42b#A3>jeZ2s6RjY zJ*w$fz-FSS?;C)j4u;jj033pTtfIQwzff99i9E$8f#7ZJ+d9@?>A3&S+#uZ6e_d}$ zvrOV(Ed@CiWJ3=qMUgZ(wX+-#sfYwyOeFmFn8w5%?pgp?Dw2D2|32 z;joa+=e8Z7xPmSd&?+Hug&y3!d-sGw669wqUqiqM3kx%-08#~r5n!l~yT$>KXaN`n z@-t{qOI^D3c&e@(VkA5{^yIbT?SKcUr>7SmA3u_b8ojRJVEsPuN7$xFBD3aIPSJu0 z(T@wdIQ@hYHZJfd!SX`Gs4g8sXuKLT$nh$dUcpStOKrvdH&h{P7k>oAXrL3~VsQz1 zI#hA&^_B!z*5ZQfh@ z5{Q`gR#q=M_QXQ(ODytgOd-VEQyDN2u-(pa7w{GhvUCF9Gg#>NUe~a)eqa92gV*(i zgRg7-oiOz8m%}5tc82<$l}l9XBqNC7frlUb^Rs`aZPD}^&fcMzWk+y|1swyl*g%H` zcS;{L@nltyN6(&xL_WC_@gtGP+O}|E=8VA)8}PJ6D(pE5WAMdCo4r>b$j>_==-u2sVOO-wS9*~lw6F6$2T^T2MnISpZthHuIW%klc({a-ZR?TU>VjjJ(6R|EpQmh0U~ZFkiWoU$!oMm z6dr#qw%Y+d{1KX17VjB#duUaKFu?tX&Ld3c(u_f(mnKRZ+$~(!$zb2dIzRRDQd=s8 z=63N5Am5TFHvsL_(NR8-Zve!6b%AiafWbmVO>J*&-J0i^`u+0L1co1_dmMDCO8lVD z)q)n4#QzpVI?q5Amx(chYu|}%a8wN3_l!yMzOel-`@+Z@+E#pbxlJ4#=HNxcNi9M;G%#h>~8`xa;LA_T>jVhnOH(ZtLQd5RVyl)1lDB=|O* z&W7ht5G2C_$TaYhx}K&f+u^YQp3VR5aa&<*8w92tqiMYcKtO!7Pv?{q2>RlCA*C`G zm!xa8x3K}rwjbu2I#3S5m26(ig$q%=akswi0CGWZFjdqI`<0_}t z3RsHw_k|AUK)+S#i(I%mAv3MxznFG8~GEil{=( z2)5X1_Z1)_PtVM_fawVIe}!`-h(BE9DBffFOu1-LOPyEcMU^QUAN)K>syLzXL{#VU z%TY$vnM#^Eig&9c;Nir$CN#XuzB7zh9ngCY>DEZ>^QTH1*g?B_@3*@h0JUJf8h%kV z#<`}~j|a405+f1!>legc_R^JY^EKR1qRHwU5RQF7lgshj>wmbK+1%rw#$l!g_LuHS zz7%ZNHhJne^7R&4!^*!PyI{RLT}~YB1%{^8GFR`&|9W>DiGsi?4NwV)^NP zk2$@L8oz$N>#E~^rC>Y|hW;vz`^%YTQ1YZ(euH#nM^-=QuN>9p+(3Mc^T$v{qL;z5 z9U3rLb~XG^sJ#utiHwcK_?rwq*_g!i8!)L1P0xEo|O&u~@pnAZ#y^jEG7;azZE!ntu^Qbg{h(k)M6nd4j znLD;^yCN<9ysF||<7=0Y*7ZWFPdl4Lgfo7mlfF?PCi;3suA~Mh-x!%nVA83g-y`Vts+_|sS)ryf< zpY(vhr_KsOQZ{~?OD`|WVZs1|!2mpM*$PJQ0OttGuCtT=vt97NdMfO$NJ_e048z67 z9usYLv|Q(U>(3B<^zh+3&H8!!jiB}^kzQx5&U;6})%9P$v|dS-Q&8&a>IxbEBX{@Q z>};4?rx{Uu;>3x$xj6?1hf7jYuokj$z_<7C7#$sj97i+Rzztn|4kWVVq<9Es@L+o& zr#CNL_E?U~+xdD+QeWrK3azGR<8K%JF|Kv5_+$~FLxU+{+`D%oz+Hnba%(NyAiizO zwd$YcolQPGBYE5QMV>Lz)C{muj;@cv4?<%Ql;1KOiSORM^ux^H)fvIwtx}g_7U(0Z zq3nFq&TZR(p!L8;jF(rXR^jsHPr&Mcn{Al|QjK-Ldv$k0PeM>g2xxJK;%`h}t_3G+ zE%DB2BC-1O=VyLk!xR|wV=Y?yqW@2U`M2Yg z^W@E&Hz41##aG_5`1KkEKG4!-Dg4X!1^#-U6F^@A7Vqg{VHY?+q7i)h`hD_f zAO9wBUk6_x*7(DF_MC=+;*TG1v$rQgiGBk(qyJRK#XzP$o-y!Sly3`z;)kMS;9t5l zkWXAo7yVRR{P58uCUJCLRMc&JtSWR+_UtSwDgtRaxQ^ICK@NYQ2tY;!6*kbiHg4KvD-_Zr&w}64-4|Jb=Y+?qB)_glN8gq2d@l4sqa)v?i9mfv%i^6p zi{kwq!4Sr))&q2MvZMlt;n=vh9+$@?`Oj@-JZts}y$fN{{{t8u<;Xr)y-_K6J=E%c z!k8sQf1r|*xdQR=y7^A&)7d!4b7?E!Uu3nUCl zzn#4w3##&?M{wRhE~a)tKTJ0GsS?UwTygtDDqLK?WGta;Y4RfmzXk z4rQqq{!Jkq$EY-ZHef0Goy1RY$=dD$5OM6_%w6e0Ea z!8=YgCNXu!$0RYWcdJbsalX9}D;Vi`d6a4S>0IJ+e9YTY3xXTq!-&_;>ou!&JB~+t zy%wACXk7&tv4$Jm6W2ZJPHFoMiHseM>`3v8?Y(_q;~I_NUkC=T`5}r!Q=h6tbJLdU^J~xieuu3$o5`>0h$4fNhv#aT z(t+KFp?*d9;gE=+sEk7t-)=b z;g=%@+H;BU{c)k;*pq-D8f>Aa_J%Xs*=ber*01zOswYRmMMRkyQn^0duAceVH zFb`fB3h&rhncm(OC9?yFGcy1IQc+PsLF>C8JcaInCq&(RUENj7LUO*aRiyz^ zj1tUax895gL+dx>Kt&Hc2hcCWES`R_s@YEu_8apcmw|{NAuj0&LuIg71P8~vxHxc4 z*s*I@!+;G`<)IxN9U$8>GB&262fqkFl;!}Gg;2Sfl5!{-*K1+%*+_*2^}^r3Z+JKu ze7>8T9l$&XTFwI*>cQa|q=kH3Z$^;?h6F88a)Unk(QlRHPn0K8>9=gLg1qoiz%Fk%qt(LH+#Ih+PR{8@fU=*a%j5#?y%$I%v5QrC1I359kn^|lDL629kQio`1`M^IMLg$qsdmF5Yh4Aof6ZJZ^DU=EI z^@_@o6Fp$zRqRM2^RtR;Ym?!oB~bx%1Gc+wr+Pa)5P&8I<#fv12!&{9#;cj8YgyKk zF$_O=<^1O)AJV^BTK@kN5 za4doFH3PK~gXiUUA~010{s9OIxfGB*f`Y^0Vm`sba#ldVV`}YPuA7oXm`B?~#`PFyHte|PDq46p% zZU{8TuvLv=sF1JkNhaT`F|<2@_tCz*pgg{7wM$Du@$@bb-2~cg_MJQb>rBo`!UQfb zSR5J}0)-n7NH0Ky=Cl38&*IcoAAAX*T}QA1|0u#;YnW9G4hNq%@BLZ3|66N&L_jnG z<+d?5U;4iUx(Jsj!?{~TFkVb))dqjgzY4->BdGxZ*+BQ8fSGtCuk1NW+)4;;Uq-A0 znz=HKoDz+~4bO(G8~W3}PlJ;kxv_Aiudg~ZQRx)8TouoQF}_;78pwq+4=zb!R=XC( zAE9VPTE?yBZT86_Ah^pY^!OiVeP&h`V@+si^^GVpBuIV^0`VF2S*jnwpvSwjAh>;awg-cC6TOo{FIzrK6*RL?R)t0doL2 zP|#^sh)!K1Kh>-IhDX+dzgY`ZLyI3MnH%tUM+b+;ydZ4aw-YAM&48Bb3j1e8Wx%Ep zAz)pRcQH)Ry7%e#PY?%-Kf>uKa)TFTa2UwA8NN*Y=Q=%Ty=MZ0>zNN$u_(0s_q(G_X>R1%=0%gR< z#FPPQ9Iv)Aq`$J4o-D+!QVisiF1!!3X;%40$_tG#XLm;7KEfLOzcf7xFGMT?$ntyQ z7(U0wQFzYc^m;uvr?mNLrn}=8Nc3mOjMW`(2GGG-Fa;R;7t5&5zg?S068cyF<3y9Z zF@D7&naI7eV9O+IV{Ny1=*t=}#f$&9Eb9L+_3&pSb)E9>2NL(M=w8Gcr;vi8`5{vB zPSb1LdyAj%mLlOPTde4sKMTAZ9hm0iyvl_ozp5;rDBSGRb;@O6-Hd^4Y0H!aidzLa zYxS$#p+f#5Ud}w%?pwdNmK>gU6Gx2@k0%9VDi4BT0As4xquqUZuw;QsZa zfSpr(B_}IAs+l?D)hg!vd}x|t^+^+dEdnm5%WaYQbvk~28FF>I%<&yFgYXl% zc>n1NO04q0^p)6S8o_p36tfe?E`rr`y5Y}=evNk*;VvR%x7Zot)~8CX@cRXR#_}X8 z;GXrnN9$UJZ_F)O_m!OW(UVY~FVu4ssO04->U)lvT{e$B=HO934#a>)C^(MUEe??> zO-qFv|6W%Hk#`i|0xYWJ&lrYkIftF z65Dn4>qsK~I*?xtT&YA1O5VjmEyter0TLcy-Q2lZzRvU%qI%JJFf!1o(;%}jW8KVu zl?(7Q+yB4O@lT}!G5uHz1{~tKJfLCf}FC%#fxCaEMch*y}xyC&ej3R%a;*c z)|Qs@i6B@6{|39JJ<#^rx_X~_wJ*1<2j9PuYE|Io;jx0>-1$^3&IKlK9cE+%`?5w( ziKG%X1Z-XM@q&3wq9j_?ngJUK$Dm+;!DYf12&f1%GxKjbJR~m~qeDaglh*&?1aZ;lGHUu$+Q+GxY7Va&rlmrHtT0^OD>|_P`fk zOs)jaw*F|GL73p!w{J(#SV&XA^a$%VF)@K%*|vSV@#2jBbj6Y@%a{|`(in7sJ5i^5 zd1YmKpUY3!hr%qV)>+wCria|1(*;whKRCmupJ{E*@kKKU1 z46b`@?CioW3pST7Jrv|NKLO}VQxg%y|4l}GVBKbEZ;t_;3Kk8 zjo|R|CD)NLAsBh~_3JrMwd(M-uj)Xyqom{3S4E0cDLj_!amAZQhx+2T5B<{Tu;UYIA6Ie;6F;XIu$__jnLB3L0bcS0jYNF zqHU5nbdb!g^Mc256MwUuP~tf8{!)g)19(T^+4Wd-?8f?tN9({rn5GE2C9qXdi`P0? z^&4c%J*9`V^tGw&j}L4z!J3R7O%FJDiy@zWW+<`HFA4`Fn^Yek6=;sYO>1g81O|U^ z6)(_%6q992uYrBp^^pql3G^nKV(}(W)MV!7uk~6EoBnpHf8enF$=Xqdf|7L0Fgh60 zOPxFi6ta@#Y_4Q=4`2}z0{0tz>Qu3d^jjP() z&gKGO2I%zb+9o&s1RN*3O$)v%C@Md=e;>5hQrzv^|1FpJLFq`C7v+(>mD!Z~U+8DK z`c6RG!mhj$K)u$us;PPI`p3=CI_Kt21P>ypeiXEL|CDL8U4beB#2kr(qUd63npwm{4$Mf^?@d*g1b3F0(ZW3oo-jWQ4m5)6a zS8JrlQrbE?cS}l(EKug_E_Fso2fS)3f(OIj6s}2ER|*tr43wmx?>k_A6!LIBzG;v= z|6+bg1%U-B$P5e(`v9m1E&`MRCs|o#*$?E?^8?Wofrw2?N&?Y8uw_r5R*J4K6K4Vl z@!xyel%DC^J4@B!rNnwW!2RJT4<>BuU`+7i4=00#??|ms$N%4ri)3gA~lgg zubf4I9J*d7blM04j)F26z(*qyGwPr|LC|8stp_U83h>rTE1U;e0?0D7w6#6`v?u9F zz!HOIGaTO^fh>(&k&t^(URl0hx~^wtUi`PXmX6^jOFtld<>TP)FASlU}KMEwG>F5Mdq>lcA51aWSKr#rS6zZRU;BvnTInI)W z-!XODMff%t01p2ksDk+om>5K|4U$c2VL)1FD50St?Pq_r-fmt+ZQs6qpe~7QB{NAz z`hJm&mERF=3#c@VLdv&x#NZAm4|ez)RoA&~qWODtkur+~e&9%x3Jl`C4-?10Yy+gc z2|C$V1H<*e{{}cv%gf8KI}Ex&=UG?&tI9Ii*=g`+&6GIja1C}Y%&8>*>px&_d<$@R zPEY!g?!H@VR+})`v*-umw70NJ6l;OlH15N`GChn(T} z@070Y2ywD^j+J=KCr%pnvJ71)8Ob`?TO7oERt=dsp@(e!SW3O`7vcBK#?{s$uy5~F zN*`|+iB;C$Dw5tV+W9_99Z?|CK*Flj@U1PVtAgOn=qzXXcVGnz+?_Jcgf`*YSI)bW zf%@Eq%n`!f7S5k(4@J$HHHF8}CzKffFSLuIdtFR!mCN@7dHquw1x>fr5_M?v`YZXr ziv>tQ0dlqRuud^i1;EZ`H5Jy4#p|>#nCJJKGF`E6ndjW@ZkWSA z7T2k^f;OjO%@qX^5&F*3QVJtsoSQCJ$i_Oa(?-{OlZZ-AWuf|qQS<6*`kW{hFZ|&{ zxk;98*%+#5#Qk%ctpmdaZKjJ)Q)a>w9gnmd_hp_q{CYqwH}Nd3?@B5WRpwb=n$Nsv zWjeVECKb%}IJNUMr2iQH-&E zP1>25z$p^gBPudK+)aPZcHzXvZU=n6_oh1DlRae(REgbIIUAxq6)kRKogQFllAK$M zrrZ)@p4>>+trU1?9(Y1Pl1>|CF8Za6K|y>>Iv=fq)aFyEw~w^@nW*C|@T5HH@B+j7TGS%r@4<7$EJQoEvvwFBqgBt@Qzcr_ z*Jq!gp6ytd>$DtA;sNki?XuaVaBR?Gsk}{yb<1$a?D*XEzXJ%uZyI*5k6U3cJfZ@U?H?%A^Qs zx03C6Xy+0uFJaGOHQAeleN+UpJ5WUw6cj+50&RLFJ-2SB7)M?`BujhOd=D^cnMQ#15d|CI|S@UmLXQN0-e{EMGqwm=GJAGQ~E?PyJR{UU_wc+m6PCQlkyrQM9#R zM+T-ooLOLeGk>uvLys7}RpjVwD9H6>H@%FCVzCykKJG1I1v69OV-dkOU67nUCFX;% z13veh<;tA=SPZHV1=b7BiBe9Sz9`WShaF&T3l6yhea%Xl7>ia>e!<9|53PdP9(_ zmiPgCoP9Kh1Vr%!xSZg9JlIMFEqI^N@O?xB3-V$CyLuihYKQBiz0rDKMk~o%xJ(FE zYk65kVMMX6zY7s9EvIa5yvK*9FA-{PV9)N8Ul}i=?j+RMiAm=7-m{5ji#_>$TrTsY zOL`bi=Uu3%b25S)K8UZ)Gfl$?zc`}j!z-CTp@Q^M zKkIV%+LxPdiC=^l#_(Vw1ZX+AM*%}>u3f$Q;=3wL0{{~tfwxoS(e6;oj1{gdLoYx^ z7RIuZ2ior@37tNyzXOWLNZ#4E6ch$#(w8nEXD24k*vBh@@upWRY~q4I=QAw|i*(>! z&yL>mm=xR|)aUU<_CQWlRD!75lqN1?P7?>utsqdfy8jO8%~yc?ie!CVVHkA#hQVg9 za?^l<3R3nXgbKIC!GLL!0ZGMl*}s2y3K^JDWke|`w8Ed94T#VIzIpQ@Ksbm549W_N(96ZDXF!SyJA-Uz3WY(Upd>)+1sc5I zKM2VvD{CKUZv_Iwq0jaK2sYqmut2{8LkdpXbddjlp`7wbcGG84wG_Mr=LEKi0dib-Qvw%@;wu5DtYP^ zfzE#x1lT5{B}T%R*`b_Y1`FT9k&M=aEKNI9u1i4;Kfh*Ca$xnv^b+-+)wS!GQ9+iZ zpS2yl!4qwYwiig5rO7PJDl%I$5AVihmDc4QL(|x-8m}R3Tc>QI11ku{=UY20CVX z{PlM;iD>B9f}cxKA<-X>{3Q1Rhz^Pu9!XvEsaLc_5~rt!+wxzvdet%?b8vRXzP!MU_iBtzwpC>9j*%Fb@N+ecBZN|Z{Rmdv~fXBj}b!}uHM zw3Y}xV(u`^N(U}D*&!G3r?U%VHUg)B@!P4q- z3&139FV9t-OaTBzFc~B1JM%}6c4sIQ!S|d-N`1BRlW+kNqF_sIP7Xr>W(vEy0dL&6 z;aMW)s+waUDPVjpOI*#=cdkHRn%n91am`+;`GBWzzr zuA6O_{xufw{0kTCUyB!p5=J|xOKJpR0Vm9&n%&N}PxOP5>a2OoG#o^7r1iUdA{>yK zMA;ILK@k7UHi<3tM*si;A(Qv^m!zB6g}E+o5bi*r>S!~3g^hpG)D7GK;5IC{)h(2I zGYiZo1%$WM(Bfmg)Y}J|t*E>=2@La(h!RB>-f!Yf%xVd-7u&-~N-_7`#j#YIfM=hA z(OzGT1ng{V8mLv>U=-1<5BIku7Ay=xIE*|Aj6RTipg{t|1Ov~!mW67(xyk5H0v=)_ z@QigQxF-N67P9B=&8SDaK?A!oR6LZ;L;!vJE1ou8c;+)KOspqHyDV5fXu05e*?l*c z`-H&xQgV7R3+^~=OVbQhS96DG)8Cn?U;Ow`+hX2Rrf2T~LBW%^o-fA+27W0nj=t+c znUyu2HEdA84(P)7o0zb=BCdQ8_`}WAO%v0`}gbna|B6HjmA$-7f3H2=q2lk^+bb^Hi zXi51PD(^Up9bgP^Dwv+WF~n18Nv#Q@CaZ>6FkBiQ;Pw-2nyvP!-%>CRQ`-# zSt*B}df{BB2k7|Y7wSXz!Z6Yda1BHFZo&^H+qWg#Pj<8GwN4Jk5vdraKd&re7WfbK zR^{iT2nWMALM^O?pNJJ^)J~YUd_UQg78a&R&2+d!mG{1@Yri{F;H`O4tQ5QIaQEBc zrfLBmo(U3>zsY&2wwCg1t$Htz6ksoaDE2bu8@EeK%uSd)U?2@>FHBjAJPB5m%%R|Z z2&fA*+EXJ6cR&5)4;I-ptucv-0s?Iu92|U0YPhO)*~O7G{V+JI3*4+}GY~&SQx8q&e-n9>DnFNK~5S}^vCEX)au2(q{;yAvi* z5vnk`O^4gBTT#v#7zJw-EVmPT#P@Ft|0ACF)l0~{&TEjN0WbM3>%bgg{j`Y7n;198KbT^%e&lvdhV0GeQ7EmRYh z6rHM*1sx*|^dI`a8XkhFEQ&G<2A#zO=tqD%zTQMjsNUUL{8vX^vv+ARhGW@=cM8$; zy_KoUY_Y10i8=MjJqYhjy8M#q<2L4i_e7AsJ?PE0F0`~BT5KgKWX`aez;nT^^R(j@ zhgWlEo0W$`v=0|{WI9W3g>sBs59H?NHse7E%{gy-gqJ{DddKo~Q{i?bCO(S@Iilv_ zw36f5Fn+D%tgt;dOXdx@asUVdzSDc!nNQ-WufprddjTfwKELo_6g`qYrk+?Zo>>_3 z)YAo~eEXk~yoGg=(DN-UG${*LAG>?!d)n8|TV$h|#F3?Ggkg*wph*C~>L*=m;l`*m z&c$CH03_y66ybbWg>DYtz-+4vcnF^{Yt{`2Sb65B7&MFdIy=yH=C+)Xo?cEFTWr=m zj7_&`H7AePy7Bp$wtC`nD!-yKv%`_OuZCSL3Ww_pF$BPN;2h5N_KroyF)-{_czw95 zw^!(zYoB#BNnz<}waC7>LSI2<=9Oo;xsd5O_h1IO3mnw*-q_iW^o)u3R|*(Pw+dv} zJOav5cED2YF5;f~Yw{LqZRy|l%@#lLPCRgpUd*vVta2}VU%_~^#eAG8ag-=uz;A|+ zov*VJJ2Ladi&}n^BH%{oe9us}zJAK}qOB87wm>lGEx5$P%R2>#IC)Mjs4te5mTp%D z+K#rJBdNl8=VxGF1G62AJ@Am~zH0jjBeurf#g{IaUCMh_Fc1|4`p6kfP)w~6i$XAY z5CQm{6^wt}=`Aw(7>xx3=LPYVDe+Dw=b1r3y~9_W_CX^}5WSQI%wgbZM|yxdZxpOY zzeY$=>+9<$r-P#->Cj8?c=-+&`KZdqcQ904;O1j*cd4$W`H(EN;EpHQNtkOl9qBI? zaQeg7GB*1bzMwe|^w2py+teEscxK9kGFsKVSJc$du3cn}#gp3G7d@Fso#M;2$8>#P zPWOOSY<+~g>B{o5qDZoamW7~+PQKP52BBJI* z4v#OFy29LV6Gw(33bQP9hvp_^^YbiJ5Y8|Y>1O#${)IR>3&)x_u5)uI7i=$H?40q| zT#2ylykIx&n=P2YfZh>%iI#KJ0$O5qC7{Oj@ThYSUnZ>7;o@zrtggo4A7Ny;r-sfi z>xRSdC@;Z{(C0gZHi>O6m}@@+8v?q02hh{8J*!EAw;`SQ<2g}-NuOM}+VKmansUkm z6I&b7?96?9d?vH|#P|f{AruiPw~!R#XRT~UNaID)s6rR5&G^)4nTKaBJ68sqo<4rX zax47mO!nd^WSA>AvuJ4E3BDo@_J}!*<7N*6jE*${t`;`a1bxWcMW;qr59160|xf!!T!^1E8LYWQIE=rb+#;9QI`$EwE zTrN#$>_UrawMSe5$xcF|=tI79(_{bfptGdPz-XM8m)FW%sj00k;c+Q=GeE|EME4{* z9EM+?6R=lN#drAY1v<<#YOky$Re$*KJ)hW%Z!#=fX)xGA@BbQBEJZ_4V{Rb$97gc2 zLu#2D+;{u|LD|fecc`CJH|j7x8Uvi+J=fjI{qIPZ-rY6(aHxG!-9P)uBlN~&y9@1> zTS*OpEBx7;ZYsVeRftRM(;s76NydZM8d~h5Ak&D3NNe<0u5;(nL)O$TuZ;S#l(sLm!9qk5hMmMs^Ue<9i^i>$1uT|4 zWP0i{6Q$(j=7LaF3lpV$q{Yp;I!*<|4w3oL$m9uaR@TzvQW*#2mAQ51)XeOf5{T2L z;50kcD^~SICJMw_Gz)RB@A8;Tb{}AKXA%w0G}GkZL|H7OYu+qBDk^Yi%2C9y2ZSy( z#4sLP>g=q>%ygDFTnq{d5ByTu<{d?lNI3AWtdfC@nI!ED%>zKtQ{&u9eor1fUQDrc ze;)Z3ZemYdo;2=PTzO9aT}@Du)HFR{Fh&v-E7;dGs92I}$j-<(HeZRd*}1>DoEGl{ z8S8Mf72t=Afj}ZC8AxOhTauozQV-Tl>GmIcte=xs+!mVep*|yX%R7KKQ>J2N!rM>G zW$VGJZE_Zk{WI~|&S!}9q^aIp+1WFA!rjWiPp?H)A@8v$3LDh5_w@T}#R`R?$Q5$A zV?G*CLhH+fl9Pui_0I*BJS6O|T?0&l13gtK0<$obYR0DNDR<||UJ5I0&K%%{9DvlVv~<#&+fToo8kS|Tcg1io-70N9AY3oAd|mzKo3ykB z03fAaWAujejk`+WV3UkXUY)5@Pyl3de*5+e9?A6BE>(M>44tN~^X^f&8=sb>F}@BY zOtq-D4C+YE;wTO-3X!F8*;K*ReFSQ-~DI(QGZV}1cYn_O|z&lC*nY`s>ot zQK{_RXFcCm6)mpE}UO$LmS+MNs?`NU0+JZ#N?={XkZY`QNm7=UXlV^BAQc_e+ zi$7kQm|M8AzdXtZ9FtX2Ya>=7G7blx9pN)lde(w*Qg*z$p`}^S>ewc_ZS+?X^_VY6 z#=mzZ4b-bhc_$=7_p11b1mC&dw_jAOj~(CirIPLzi)*+kp&$}q+Ve^f`zB9-+Oj#2 zKR#OS;8r?S#TgZxW}v|&gshB38rCfO+J_B&%JVdc4my=#yvX``l5=T zPWSfhrKS0<&!@Aq1bI*<+zfu$*o?N~luzl;tmxjo!p2H(P`lnI+AHcVQh(e^b-Rj+ z#JMhG6sp4baPhOFq9=B@pM6mlTbfrIXHKF1BD{aWFQK3T3r*?_=<)(x1(Il)IT|%U z>wg*h`CxPBn4ZH`vTWVdQ)^61jYob?Ji$)wfNXsG-g)yzoGc z@2P&ll8F9sjf~;8ou1!zC?4;xZrWCSpYACN|0(=z`u6S6w_}63az3mm!_57hkE@4I`1 z@m*~A)uRmw?Md1KD@jRl5I@-VsMIsmM@2qi1eeTooze?1dNSp@L?4eTazMqJPhFW= zOhhj=YQ|sx@@#*tW#c>Lz1sn)-7I?mi6r3_D;lnPUXlb~THbT%nVp^c$qUnwk7~v) zzk0Q0BXv{4NZ9=x8{;NIy~OM40;H<)*RD7%+hhY0CRU5)=(m0Q@QF?o0K3)jJ&ZW}f*;~45P%tbeM6w4*#5f$1A zmakg2-Vx<|k`N8ne1NWz=OsPAa9r=h(JC!wB#d8e;=2ZfFw3LE2?oDAU$>%dUNBG~f(v&=c|Yt`@eisJ?%{ zJnv9*wza5sYwLy$9JrUn4qgFXVR5jWhnHxS*nM5w#)MK&Pf|B)Jj=gnE>gDoQ>nOK z%8AU|@`f2(RqohfAt2`*qMMNl6-(V>82#9IvnWiwZG5-$&_$1uV_`r~YD-PF1liAq zMHvZ;$ht;?_(`FhQyjwxQApsgK6ysDTc`iqw;Y2K>e^a+XmagC2hMAy&UfCFL1qNl~j4$%fSeCXH!!cakC+%gk?-ThyM4M7yv?*0oi} zGtDFrFxB15aIyE;#zB)4;PMM6LG|2cKnXYDHA>uqyUH6ep}vj1R~pZXk&mP zSe>$|Jc5n8K?14FEb{qS=yX?#g)XIdp}q5r(*s-EbVRI1f~<^{fx-SXi}t7G0SS~_ zJmLD08j*Cw;S4mpGWS&O^wVeb=N=nvD1&jD_l1VDtwa4aT~(VM%UHAPqR&mLDQiYv z8CGx3h^Nf0pudpyzyQhWU-szIGlK^JQ83@)yd+B58i5bL)vT+nHg*ijB6m8udfni9}3_;4u1p2atY=AD+U+oSRw zCDzwReH14fKEd94F*WhzZE4fH><=$67}Yqjo{zP)@rKm{ z%E}nnA}0k5tI)UmOq(qD3@&A5XZt?HmU9=;v7=qF2)oDo9(2$w(LYSP88h2(7`C9S zzg<9J;L_3*(=7k#@dq9G1X|%)lU}*dMPi{FHg+E!|B-K-7Bqu>Qr*y(>roKURP}1N zDj&%?iXi)b z;bkd_vKJU~ST;HDns_Zd?n#+=c&tW)l5%=XxYfeINUM~fl>Wf6_WRf!bm@D`yCIQ+ zoeoWvZ=Q!14XdV=5tWI0m9E%@$pn*~YEAfwx!$qvDeECFCFShn22W)qU2M9NG&VWh z9Xhp7&4$=I3LX8o_Zh|V{2#FkRrK_8$`xAC?kIuDexP**qH4O>`$t%iSFfkfhP zb%tN$gU*KQ{qaoJR;BbUaYKU+&oB?}j@peJcP71T&3dLS$=>Ys zOoeYwXxqU%7P%6de!GHpm;Plp)z<_r~f|nx&<;)AXy`DE;cXx~lekQ>7Z|u9r$PCO5e@3B!Fe zD_U^{iIhl`!r?B5!}K;rYnwF45)`#kUW)Nc!N%j{)Ct2`5=YN0m%w%D$$-BlJa$16 z?~7&FGrobO6vbR)un^Oj4j)oU`IeF(&*yi+v0VzIl5mx`EkB4&YT^vAwCK9HRWt>I z*+uHA+??J&|M z#>}5PRBO9qu;7Ht&Ye>aA3lUpJ3u3ZB?MnO9PSY=yklu0>vc1Gz}Nk{tsAaTe>%tG z@BZ6@U6gdgE_h?L<`)JkOk*u{3N9ZsA7a&D+{G=9D)%MAM9U`yp1} zxXE=x7wD z{5I7FG$}_eRBSIIb`;srC8ly~zN3=`6Qg^!f>5vYDOH|dS+SVm{k^K=HgCg6o0A`4 zNfF)%iQR|JgbS3A#i0MBNVK%b`&gk*^*-rby!-Y^vBz0>9+D!C>F=d|`y{D3Q8RUb zQTU=HUfcO3FL_7489HO$S9L?f7@BnF1hZxbXO!i>xZrcSXH`;(;|{EXg4*;9V8cst znho}Pp8aKbN%kyi;8V=;>{tVNU?lc!>Q>ittXHBHGM^FTEVnjo+JBXJd$K(t+&i~mNCb;`>ED*)9Wft|YOiK+lL7P2#6!<_mMOq$3pL;Lya-H!& zI1K_8q1w_dne>~8<;1yzniYk8eUtW`ddqyycM1llE!i=s8kYCx_|LGWl0bkHGi_7Z zUvYF{{Kt=#p@XrHptqT&1C&oLNJ>`PVcMbFVk!Qr=-TLXcO)&NwMwpO*d2d1ehrm% zBw1oSt49^JT%}jnP%z$e2nKX=_B%o1!llrLNau#0l9gT?WlXs|pTNSm0M@%&njLcY zT!@7c0hV`07qS-lGl_CnmC997T!#Lq3N!Wkjn^0G!48~l_S~4@&wn5S>dw8@Pd^P0 zpUKp;zu);zoL8%?99)8OEJ|FQ7E~K>EyO5r@wnBt24~96e|}c>H>|&$d0zqyJqgn} z{oRuegE41;L+Bk*&ODCHC+xJRa357lpxk&?LuGaxfh~U+_8t_v4bJ)*X|3x<8cPakj$sy~>wIf54}+Gn9`n;Eb2( zTRGntUiA!3hg;8A9y;Wu%!3A9L$291Bd#|}!YRb$l)GQqfq<7+omai+I$uUN4T2EY zT)U3j{ngfCLgt9v+UuA|>?E5&MPH<(fBsjk7aDyG&wW{Cv-qou%t+tJL|bEHgWAe? zRfUrIw^{zFM9d1*&|BM6AIrXbbtYNi$RgLnxuRnK2W_V2UqS=a)P61wD@Dus`eKDt z4%m3p&^`yBB2kT3&W!%h#jodE47ZU9!TI^VNh9rtSYx)u2h`60muWyM z%9v!BHJ^l8XDU5)Vy$oOosO&Q;m-}>CxPY9&+p<=_-s(Db^lg(`ksBG`Ig<$5-u)f zi=EoT*Bwrn8X6AI&enuwtO@G*f#-EkZo__U{<1K4V@*;G?U|4EwyDq9?;|?C&Xg5k zF!}yy;+uwuWk*mAWTKPjNKt=wNVhJeh=xIn@l*kR@s{EXmLMq^tQ8*TdlWjw@5-3~ z&v7NLJLm4)_uQS`^ykrHo2qkJx%Lx1%eU|^USftqaqMBA-`y7NFHu}`Kku5ZmcC&p zt}YaL;D9m^R_f*^=Z1$9A$H!ghgN9XwkK$;r@%7|DI&3x-Ba3HH`UWI*C^s?X%%g0 zc^W*^`bkomn#>0&7g;3G>Tk|}@W&l{S4@3M@KSAO!6Ctz2FGd9q5N+&bRRwG9)5iB zkRv5o2&Zw?y3gx-*?p5cm;*?py||mgeO7dS>I-ZixI5!RrE`3y`eA(A0j-j*3oEw6 zN3ASRA3GLn=L7I872GL`@nwm|YkeQtf-@>Ro4yFUW!YHqOX@|0yYt0o>$^vMEZn!O5k zetj~0N(4Hk>rSgX+cwY+C9!FlBqgJp^&ZL}e7w9{v;Frul&u$5y<>I5Ufi34(8iS7 z9yQi*vMtUBt=4&`UJDW!_V(0;zoO30c{neQ?m$G1))SQuU-+IVyWN(8rlSY`$ffw0 znp6_YXav#S*6y>zA`)@0*mLvoz1+-e{)ge`8J+-v4PFBa>vCS?DaXv+I&KMRInSUPEdk#8Id^ z*V58Tz08=wp-kwsvFYvn(DFumj$fD=+mRwAKXPBU2COsC>od zWvOGrdu6Y+A0O5iCqfel9i6KK{Ad}WR6X&!-p%iQ#Y=JN#jZnf(k9Q;t{|}9(}V`g zml-osNok}uE34?+qr{z+(Z~ezqNX!L0?fzk0cmgfqk4F0-Is9)mQGZ3WUh8**}|y% z9Pj;omTrpyCy#yLtq*-mbuZxoluzQ~f^BUXQ`1_C+=f1;N70=7>uxQQoH4VNaF@dY zHbyrXkK6@~xg;LX>^ohQIOYAP`WUGb+z{_cMHL{bJ3>zJvu7((04H{JTJG3+Leq zB{CTEzHapnw$Lw+Q2`ANOu42rhR*lzpW$Q*4dzIpix_$DL;pELDRM=|!2$K~q425= z((eWNwhZDb!Ve!QH1zwfqRU$*co_eChay8sF$ z#LPGGE$d@#^4_}=b&`>8?_;g%Lmm8B1+m}LQ4Cr#o^Go<=^s+UH?QB2a71+_7k>%f zCmH|Z;D?JB)syiXZOWyowGhV~-ZIY1QJw8&Zq(Jx`&{Y1dMK)*Gk5IN<85V6kByw> zy1FlrMB?0Ef!`REKE6%m9}ttd(Th2MK0S?u6XaGwamkL3(g|aOuPHZ=_UU$%E%pz8 z;u!z7)twug&BM(k^fp2vBk@9t^gfPcA};0uKErb}wC~&3uP4F!q9TI?f>{p_o??^e zZE6~w|M3LhvG9dNy80w^#QkNZ*tu}co%Hs0l^sc-0InJDgalJh!E#*XWBdC*$wa)+ zqu>fbh(MZR#3QylWID~iN_e>N3ktRoxKpNH<5|8I=Oz#c z*u98+ab=<|pqIq8wew3-v}|58^JJ-V0!**5U#kz)CPfMbu;xj6o%!oQJ_bm&#)u|*<`|Vz0g=5^bCs1_HMhxcz5`;iJxe2Z zl!js2B1)kuXU|IIP6s;Jr2W^g*Nu(oqYd57VHdidsOA6otRW-hAeLE!*nV8g)pAcQ zy+on=0R5)sVJ#>iWXJ8#a9u1UHRe(`6%;6;lRcUmj|vH*FU!2@+gNVKb>QBgCln?1 ze7-2a&DyjZ+oWk}WK`lX;f!;S3J+h0O%OHqj6uA(v{hV*d*O5vz8*S0qj3qGg05S| zcw_IkZ0dSxMA@@@$L1=ZRwtUS_dM7K`~@eE+GQIZe-$whX|u7F{@F$qY1JL2lcA}~ z%gt1O<-QR{{?2)#oMwyu(GxCRt*wA1xRh#Dcogwzhkt0i>n*-SDf&{>{N#vGOnsE+ z$}hjX+%)cjw0)GtYo~@18ek%LaX){ekTB4;w}ap%B7ZO2p`V1oNI?Du$P1xG=+r?5 zIl-i;)=YwD*aa4Ei-`#+TtI=LDQY4(hV9q<58D!#4F|f-Rf%gv$jI`Werz9Jg52On zp@9kr&aT61^_=bBY|Oq-dq63yzRr~mv|z>dXUpGBbVOjSOsSDLz3*co&(3%&499>) zue|#@z{pk7*?JRVv}@OUaz7rkOy7Po97>giAirRjbJmw@YTsPKV z`U!(pHO-m&<}4thuF}qOyaJ~L`CrFA!|v(RCj@GK7P%UGbmi=`j_0G*{SlkPfWW>? zn7Z|Rh{XPtmOs-8ysLJjikuu_H#cGLY!@q*8lpN97hQ>MFOvY1;vqEOw^;`|Yn7R!^~xHB1})~xUI%qyI(sCz6e4MRr7eLl)$|!Z}AsnWo^aE6!Y3-T6y=FvP4}1 zCSA)hyfXOGzg-dsQHQV!O3^D*(pu|`WaO8ySnq7n>GRC@3axi|wO76-ezK625tl#k zR+v}Oipk{C>sO543;Z3X)bH?@d`JMH^jcjVxVaM@1$;RX06dAM)5xj|F4Wf0$lVt~ z`sFYop!SuAnO{Qj9Lc(vn-w(@#WylIC|AxdyyAoFOymyW+H7iS0STL?LGyRR-#VdIh>{od_CibPq z5$&vZci!THNLcaxUA?{aj&Sfv6PVSAK?)YM#TwQ$NY?PA%c+FHZG z_tfMc4N>8S*48o~Op{ujwl~atX{a4%HqI4tAx|05*M2Z+MJzvJ4ytm^KcL2N7qaQn zy{=Y`-~mUq`d{FhXnz0x!#QeNpbKJ zLT*)*H+{U4Bb!*MQ+Mo`)E5&h)Z<)d5)x5u zLu0EMua)&VQhJtX!mm4uim~09?t0sq9{KdyPVR@zEJN|)#tlxu*l#efZ8<^S4^ma8 zjV#NH&F(Y|3y^IpDH6SNhi1Mlbv^Y0E_e@OnV%!@_WEWx-HLpOogXAAlsYzGS^<3K^bwF76J|)1{KGVH-3o^;AI{KiarBdmod;Yvc zhW>z`*dEy|qU5DJMekLvpVuXk$l*zh-@o^Nwq6LU<>25SE-PP&C^fLS;XKuoFW#=t zr`xl<>UXBu%vk_|HIk_uEmqTQQGTXjC3jVJ1q}1}#VXx*QoOfh5XZ#Ua%<_{A1&vX#4d@t z?A?A5fB0QG@4kJKgKXc?ebDHJu76`~?X)LP4E%yIiC7E- z=PZ70xuwo`Rm3vUDV?3^=avXwK`5TSAe~0#i$~<2MPV_G7v*;rJT~6fB~Rbu?5Nq? zy0{fZl#8j8wak#K!o^(3r>$lo;k8s$r1pS1kg16Y>($eo`5~rq*ODrMGa}{qbIba* zU%vMCg)RItli^KG`3c0)R>vFxV>u{uDur@N?sAtD8P{Dn;5qZ&M*}*O1?bLr-*{H3 zk900+FLNFKtT5e^|7;rLv|`$nCwrUX3Gn1XwRXC7L}=%VB4m;;PTlb|`!(c;du?Gf zTNiA}k{^UB{Zm#o;jVm(uU87g_2iwCS=yWnw;bSWYRA2OFzb*i<{XgImL%Gnu0nthg%>F6AfDAq1K)S?V5uDjRc zV`zG3dR*5w4(XIQ*g+}W%|FO{be#6^deoKsiDBwulg?iC*~b?ms>K-SX>T%htNXuZilXD{>=!e7bB6k*nJu{bHJ$JggktJ_YEq2$e|M z=!Hvk#PB(;&fQN?+vYVQi|fjDXlI3mr59hjm~TGYmnLYsm7-snWK*dNVcqqsP@;pH zx&Rt=-)OcQ4(D7&tol;q+qZlg^XXlkB!@7?)%(L{8}+|ee^R_-uBmQO`meHbAQjd2 z-VGTaCjzD+;qI>4{9sb;J0c4y`dbFXXHiD}#t;tb=?#bRiOc&xtPARk5Q^@;KIOBI z`MPLPhQ_a34om&O686NKE?DFD7HLcNq}0Rq&+`YIIHFhT#Gd>#JOBHVC8qt1=SIWv zD87qMf1$p>q`?Q zjy`N`)^suqB@!m}S>T|Yjn8aBFHeb~)B&20$w%VA7l#O|w74TdKachL*2_p!{v&TX zv6$=zRoaO^HC!t(6&(-Y_dzKsO`7e{FDN+$UW}Q(uhGSm^C}82N8{P>b`PWq9jC6Z zt(W(veLJ-^vL5j>f(U2KSBUaXv(8vV-GH>C^`%Oj+*JiAoR2~3l4y8~8dtoxO;+9Ey<|w#p{7U`fQC{HahsKi{OJu(YX?3eQ+RozJdal5Tm=6B4T1^WH@3x@799 z(NU-P!=@=me|Q!ug!?)ysStkt2e>!^o-_I9c(t#$7NJw4pfC&AgZ9Z7qwk+(mZv@q z+2!X(E^JIyHin}O5!m1PL$?Q+2m61go^$Z^hn7@0dAbW6w*0v)-a%&Q`9zzuA9YQr zaNA$8o=FD9il{Fbl!bYJo(0E3Gp`P-5VF3e#+Rn`(4ma}Qf0qaTMS4tKvQPOB#0P0 z?{#K+k4~NHjgx-x^rq}LS_V3!Nd<+5ZIOYc?7X~OfQZJdZ$8Hh)qvxTKE>pHOx2nh z)0D0ky*s3kRc={ub_5p4KNaei(I417<*nG6r;Z%`(GZ>+E3R7VlyHQ-8lqNF1orFj z(W5a-v*KSmJN<5mSoiUr9gKUHTba+_q6279KkKzH%yFY2#!+K34$ zQ4ox2S($m>PR7PY&|Zu@3PzY|QKlN$rfKbP7s__oqcF28ex ziHwkCtD&Z0g9Ib}!3JY}_Vd;dCgdz02zMX$_eKYs_NL#IL5Mw0YVf_a)>e5*neDoH zVA$`ygOnsGMc?p!T$@&(IdYwFo9Cno>gip1+tRSs=a5!NPRgm#+%nlwuoy{B2s%@M zCg%m#U(mXbM)_De8Fkj+cj_ICX(NRmd@L-p>;A-oBqz(!rkMXlW6>w26l!AUwBq4M z^FEJIua3g@=Ra^SIw1EmfKAtXq&|#ALK}<3jfnZgtp|NaHd zpdHy9qL%EB=iSPj?}Vx-rGVw>>O3el4conP+iAYme_POOgOf07(o`3w?-;eDyB9$y zh69IWjlLJ#En_Y8{7A<5H(JE9$!QFR0&4r$dX{o~gvS**u{DaF9ULT~P!GO+$G<4* zE?rf4db4h3m(x~W8zmLvEBFydyrf%Ra==@QPi-kp{Be@bSoAy=lh2Xr;!4pII_+)$ zXn{=Pw?`fbJ4hl`CnR-Aq~OK^bGnnK!>$$z$L>ly{-~VP#QwSabcNOVAHOWx?zE?= ze`;z|P~uo+tvmmfM%^3wD7 z^QUVeu#z)`gO)Gj=U&p$LM@6stE1DGz$TvD-TN&!FVEh2j)loVl`<`R7fwf2VUOh- zLsT;UmGI0cjr(rfVX?C!Gy`7a@xy23E`lp`PgWuKacw)6h()CwA9k>MA z$=d1pR#WFR4AMFyV@?x+u?O})YhvCG$8l;oJ7keXGUfYGm2rq_ID#c2sg+#j6OIqT01foN{y|}&eD?Uzo zH5T5XR59TK0U*;T_67|D>V71Ab6$*&r?6 zLP{pR3=(i1t9`Rc4lk|T<<7jdtGD)>NOXu6^N~xZO>U-Cso}dB3)ptc%J3ZhCVrKx zqST44Jmhm^4#>bu!TV$zBpC|b*ZwYaQ|`T5I>z@F)Zd@taZE^Z&v4>69a^2*jkKhL zaSF4@#Jvt}^*~e7Vpx>-L48FN>$rfU`WeoV(q?K(9aR`V$Z;A2H7R6fx2BBit}y2- zEdLA)YqnoDmOG5W9BA{*E}XNeXd6UMlc*S4^y=y;hfG#Xj_Xe~mMhiR#|gyW@DgN1 z;gu!kb|JECXaNhDrhB*ps3TLO&4R}f*ckzjj^X$sUd8oK%2z%WR1Mu$6=u(`76T(e z$i^f0rL31SC@GVN?W*})(@4e!#a48X3@J`OP|Uzk{IYh!OCvvs<$d@`pQDqqc7t{# z(t>b*miirQN+ta(dZ|EJTBhbD)uCG_Fu`wnAt)l8OQlZ7zde@sZh(_r71c2rg9}@? zf4RLb!0r4OLf1^`Y&EWe71nq0!qV)v_H$*yRYw<(Nn)0weHaI=*UhIk27Fw_4V~v> z8|sPI7eqX`Y!HOgnx;zA=DnT1r+3rdRQ6ZJ@yT*|mr>|;Eh zdC%!*mr0k{3p=2MDbu0oa~@#nA7|&UY!7*BMu2G zuPT&YN(O;e1_Y!J9(N=8)Jna%mApyMo+YO8ZCNOR^Y49h?jX7DFDoHTd;ObsAVth| z`87o02iGZj2;vI}lI;gHs>3>vJlRFZzcb`HYnwkNXB(^$Puv^O*QbLVg9i3Vty2t# z<%BQBe#epOq` zXMjd`tLI0ig-+e(0-(-b!b89jAsi`bggrOwl7Ej0q!AXH-W??Sp47V!d#$}>%0jlC zD!}!1n5wc`=2JY?H}hqQ5_fY>Z{s=Bh#!r*_&1v47e|8Y8g5wj~tPnOQmaf=}03j5!2s#XpYLF zaUzn~el)=KXgtyVWfuy{#LhCq7beQ4z2OoCeIhRJH}SmvVu zi4u2e&_Vio%4%i0rGzBMlE--F`xn4hLf-_icmU5fXmNc9ksr|98+Sf=Aonub zoqM_iwejSD_esu$wnCe+m&}z0-#|y^y@;l`dqtI}b!(!8D<_|X?0w{aVN7m|TWTnu zI>iljlIeO9YMX}9t5hjk3v5iTssG0Mn0UxRZtkR)FF_XUkrsU?K;fXK*r!exh!zxT zh`xQkMxbf527*g@zmz=BwI2p_Dhe_PdEeXh^76{hpEg1gC;sVEA`~M5;jE5DwY9Nx zuK1q{TgYW6y`g7zvio6H#F$9)5ZWB1>EJ98_oiNoiEC4TR9PvR^c)!xn;7P-sd-9V zJQDpGvoyt*s5(s<{hN#J&O`tCPQ7Z+E89w>=dQm}Xv0G20D&I&UIa zkmfg!_UjW*;T>@u70n{HOoNjhf_1{Ga$0%jri|+}S9EWR@goV{6CXPfXD}0%j zc*gR+ahvP$)R_7^mmRtj0=K?pJ_-yxELIv}YMP93fQALnI+1VCD&gr#tJ;12T8Ck7 zu(?WO^G(pxtyyuPg^=Xq#?!84s8`_HFK@2&GBBQDOKFm4xRZZQ*1_A)nzJ*N+Ed?P z=s52}igA?an=L33ijR+*#|Gs*wvvs8Z zHU?u9qO_A_k{f3tKIzzRgBlgh3Og@lE&s8t*X9cE`qZzfjx_f2(d}Qu$AH4ctl3Kq zO6{e>}*xCA^w%^5qiy-5vW-hlD$h!^6JyX~fWQv5DJw zldT^ghCxHas#neKB?Ff+B;$A(jJUk#&&sD>1+)r(0a5aXM?rLSdgQ2rZm4Oaty(pY+_=Si2S+*R>Ph6*q7s~ zMeC!RDo9??EwxZ-WJnJV3If`G0Re%W++3~_{LI9mr8YgkWqQAzn*kd)hijLCh6CnT ze|h|r-zOD7!#oRBCuS3(8kHpqen>DUkJ=4_Oy67 zeXwXg(X=p#5Fvo!`t0-aLCorseU<$F;Vr*o&$k2>xddZ)nxU+^KViv!tbp;vd}u-f zAUit39fwS%;Nh$cAy+TRyZuX=Gn?VZeinKJuT@8J* z9I8CS4$%_3OKp;9HBdG_pG?FjN%M?cyT1tAZ?a%RQIABHP*7M$I>>P5?ldUuG?GnE08PSOekq>FZ3N z`eyr&w6rXmHJq3j>1e8|3Ro8bEtn2+M|&!oEB|Un@{grt#Yl4<#fg+=sBSY+%iM0k zS}Hro#jeP`)4#XGywd!7v{6@4K_TFbvRWJ0$I?m%5vHm3y*3`l?s~4sObMO4dpUS$ zRPA;8(p+0g@XMFO4dD{ThHTIX2Kgl(&h6}dQs3VUrfzWx7nDaA2Dp4TyO{R(hrQ&!^ zemU+!6@ijH@#P3nmthr1q}7+<6?8u87xG!u9bY-G4@nn!UyXX@=$`Xkts!S30D1%l zye-)utU>*Xc*DvuK5>ar@tyVVzH@I%Br<(#OZuq9*x7w)YJtoKBzwVZPIsn*GD8s; z;kc2_Ewi!fGd=mN0>*!>D=R1@qOLNuz?vMrm>q(C#KiNg(=K1#X!|CyGH~<9^Jp-P zu*0+qc+|_eTeg!*<26!3FPrncheB&da_~Ebr-I%)MQ{W`B}~BPXssggOB#cm_cT?Y zNY)~Z(j!YOM*N6s68bL$f+~)8N7T{B?K%S?DJ;2_q0tMS1yzJ>-C< zsX>}9sK>d3t`I;MA`Ne6vI*Zi#K@TP%YJa60erOO$+5Xh60$eOrQM?T#>a6=(H+0_ zpty%S+v{A5e$0)!OZHbiTr%h9yM-QTrDfQMjqkMftGq+YpSXH_kc>S;SWkPWEB0D5 z_m1o-5yg@llAPr^``+Jsf}yw>R8rPR9DzR7@S&>nWFfx zh6qB&w|5qe63~ktpO*IJDZLmM{g+V1(b$DV%Gsf5TH8ILTDi-2Ll+-=!|&?7M33)f zwgCYvrB3Nw$m^le<(kV5Tt0#I%>i+DM4fl*y>L_$%kBp<=CT%hOus2UoXnnWnlji& zft`cv4~q)~gc6gITHK#UI)y|!lOUqUI+!N7_Gkd%hkjyeiuAI1~@ zG2rYONw0_2vjtGpkGhuI(OoRuA0&LlNLP=C(=&J9`xE~f*=I-`f-W^8k%2O@FFk(r zJ%3ie_lMndm-MY?OMs9qEG&!`cXxnuev;F3pu(JyQ3SwU|63ku$8f2(Sq)BR7cC{yQJe`9(Kcty9Kd$Wp{=;gmySdgF;^In}~ zr|v$|{#kO$BX-oowDZk7&$@(Z?@Lqt5Itt$@pnB&*+uxfrz&Nya< z8VHeP_*wBH;^NWI>On&A9^uK2K#>K7*I#{?M5%8|qkeB|fdb05o>^{aZ~^ERpks>I zACMTm7V4O!842S%M}IHgG}6z`bb8}UH60yK-L^9;+2URr>LGaIp4xM5{Cm2lz0*Dvcsr*?*BBW%g z%NfED9DO)1DMs~5TK?(pqs=&psOA?)Hmr^Vn%=z6;U|BzcU!zai0Ba2Ef`S1QAyTh zj%4U4%ez_ca!_N_x5r-REiNwd%id(WOcYk4T+Ifqb{F;MY6rDt(v8ny7ctVm9sRV( zRTZ=50VW2xT)*SpytEs6;OYd=`dsP0IRf_(%G}I$JCB;fLJQCvl!i%kIuX?!l`567|p;&g4J54=h zuJ)>`N4FJ0db_EKkB8^B@}4a9tbOJ_lsllx!J=px79wuAau(G2LckFiH{Yc>IVb5= z!jjx9+Mk}#o4P0Q+Z=X*bJKj+wpT&StANj|EqRRF75&?p0VZ@HS^SEonnp}hX`Q89 z@{wK|&IPDynDc#EQkHDKD?NjkP65JMzq+fr#Ved{EG7C+M6a30w66 z{#eg7N&4Pr2d8LB=H>s1uZJd(FeI1ZU$Evoj=y@rcmq251O$g!Pfx35#?)E!{sw>FL7_i8 zd}(QsxM)JXiU9+ekT8axeq3bzy-(6>%fM|OI2LeYL^+N-JQ}d(PjG+=Y5OPG_(7qe zwMtCqgsFyovEuoAa0lAiNLYja`EZk^b56t7{-?V?eRDqRxi*o~4|iPZCUnbEznzvb zhY8OT>sb(_%gUe%w|-OU)ZwyDvD$CL>=q6&29Dk?y$ zE*~BJtP!A;b#-;8e11tUE9EO&J<{5nPm4oz9X#@0uj=Hf&Q9_VB47imL&h4t#^ zm+3G5@iHMggD8rbL>gpX1*ILoYd;kL8f3ZGj)5> z>00^Vl4fUKyVg9GZ3h*=e3MHw6!V^b8HK^zzCQ|iPnH|{duwSs#5yD>i!@N_x5=CS zz4@fD@z6WT{b2YHga-N~oY5?E0j|F!;3@++47B-HSyR(0XXWSj2<6GKJ*loAj3)0(%J!Z8U`ydN*YN%I2J+6a%3EMWWbw);>RbUf1?l9r(7_ zu63w!;_@Dh*$ztac&kl7f8Dc#6F#?(W(+%q9~=<#s()V$V*wFCY|N3x#T-+dh9(uz8 zdQK~iy_GNJC@pkzSrvnMa{S;wSALYirA<++0by1iPR`Ge)89{KAybp-$w$axASRn< z@Xu$d92A9^{&RGx?os{MJW?h8*Kkr%hW}r3zP~R6Q}}y;jf@h3x+rAC1`#6`TOhU znl^%F#nq(`jF*2>gUk=4iWi~ZyuRU$luXiL&?%~^bYGh{%x9D{))9)r+XB5Na9(~d zag=Y^C&|Fi&uW(hEFYneSpsRu?1%g5EWlNKL04!qkkO#_XZ`H|^Z1XBpx`FnzI_`W z?g|`edqB#%W2fC|95a8SKtA3y%dZUF3}$TR_S^hRFglcQ@pfE4I)d51KYc z-yz#JJ_J<}{L7bIQo^MVfr5MMYSazagH-OSK zWT=q$-_#5D0_zCWk6p`f`@2AIYKS(PIIauO)60_j50S($B7nr8CwKZ^KV0a9^gz|!1)Y3W7?U9t+1uao%^MxPw+*-S`&c(~? z39Q%P&dACh06kU7-JeVuz)tE4SAg^gz%qA0-wJw7fQPq4NgCA-V#U#2Aqw~xH_$v= zPoa(8>JG@fX(wmug47C-Ku!;N?`{r&fREk!kIuwnA;{z^1QXK*4i2;cXCr7Ue{O23 zaGKFFGCHpt|L)?&iw7{6svi3)9gN$Pn54b!5BbPAzwL!D{FpK*Y+~Av66AmFEVU^w z`5bLXK9L4stYXsR7ZzUEz*9upMm$a?(29ESyL%d1xhJ3LaKy&oJUN_cI#z{&v0Ii5gR z0Jsbyo!qOP(BiCUHvLj3-mp<1j%cZo+*$KQqqt6E5m=$~9ib{2x_@Ep6`7r9`&_}X zhFzLlM<&;3^C1WlDh#S7Nhv948lk$UI2O!4zZWkw3aweax%H%de@9RM@yMn8llc$6 zfnqTpj|atwB9kx2OR7!JLUZ#nEDs-9^M{~!8sw1Y z`Si*5s17nIWT(9ygMU-+PnQxGC&e@T_#sCARqL$-+&nxXq;4=YS0IDADJOGxCpG!4 zz`eTfMYil0BV%bgUbGkN_hYz)#bP>i+G>ExgnR_4>NHKj{R)+rG1&rcZ=jY2C9~Gw zd*#$;kV+)EJ{;jOpQlVY)ty6-q=456=GD0YIJID$t#04mA4#)T$-KzT&d&Y~U;)l^ zdQ}w^{iG#=_+|~WJ}B44da9)ncU~9rBenI?k#;S#CHb%$I%cHn1pDzGdpup%=HuVr zf;xaV%Y8jPHr+ChbvsK-o{Kw!RlXrEidzr&&^buepY7cf9K^!PS`PM&&c|v*^SdXC zi(+vO($jBF=QbBu_t!7o_NpBo9$v@CJi%{NGP@BC^f7V=)%o|=+;sg}5#+4~XQjBx6q26t;ObupRfyz zeEQ1WMXp^7&malAPzHgDo%WBr^5}5B;9<~17qRSm2r;4J&9gR8@`eR}iVn@oct)ZR zy3gySW4YA-tfD~iznz*V0E&YJa*%<6*WOv_JdFH>3&xOKhW)@PYY=Dteen0`{A&My zIV4nP0U-7J_y7JUaPNP4O;i*=>ObHA|2@V3{>~$&|Ms~kUf6$L?tlIK&@Pq1)iKw% TrG~dDpOckQx}9;;;PL+hY<&V6 literal 0 HcmV?d00001 diff --git a/docs/data_pipeline_seq_diagram.svg b/docs/data_pipeline_seq_diagram.svg new file mode 100644 index 00000000..140f0a0a --- /dev/null +++ b/docs/data_pipeline_seq_diagram.svg @@ -0,0 +1,2527 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + Insights operator + + + Insights operator + + 3Scale + + 3Scale + + Ingress + service + + Ingress + service + + Insights + storage broker + + Insights + storage broker + + + + platform.upload.buckit + + + + platform.upload.buckit + S3 bucket + + + S3 bucket + + + + CCX + Data pipeline + + CCX + Data pipeline + + + + ccx.ocp.results + + + + ccx.ocp.results + + Insights Results + RB writer + + Insights Results + RB writer + AWS RDS DB + + + AWS RDS DB + + + + Insights + Results Aggregator + + Insights + Results Aggregator + + Insights + Content Service + + Insights + Content Service + + Smart + Proxy + + Smart + Proxy + + + REST API + consumers + + + REST API + consumers + + + + + Storing raw data sent by Insights Operator + + + Insights archive + + + Insights + archive + with + auth.token + + + Tarball + from IO + + + Store tarball + + + Here's link to new object + + + Link to S3 + + + + + Applying OCP rules to raw data + + + Consume message + + + Link to S3 + + + Read object + + + Tarball + from IO + + + + + Apply + OCP rules + + + OCP results + + + + + Collecting OCP results + + + Consume message + + + OCP results + + + OCP results + org ID + cluster ID + + + + + Providing recommendations to consumers + + + Get + recommendations + org ID + cluster ID + + + Get OCP results + org ID + cluster ID + + + Read OCP results + org ID + cluster ID + + + Here are results + + + Here are results + + + Get content + for rule ID + + + Here's + required + content + + + + + Merge results + with content + + + Recommendations + for cluster + Sequence diagram for the whole CCX (external) data pipeline + Copyright © 2020 Red Hat, Inc. Author: Pavel Tisnovsky + + +