From 2a96f15ba63d572e9989a99fd4c4cc32a8d6b84f Mon Sep 17 00:00:00 2001 From: Michal Ptacek Date: Thu, 4 Jul 2019 13:34:53 +0200 Subject: [PATCH] Adding notes from vFWCL in Dublin This is just to share notes from the vFWCL exercise in Dublin. Issue-ID: OOM-1900 Change-Id: I76cc577342a8e25a900b119462ff6c7768189382 Signed-off-by: Michal Ptacek --- docs/images/vFWCL-dublin.jpg | Bin 0 -> 130332 bytes docs/vFWCL-notes.rst | 337 +++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 337 insertions(+) create mode 100644 docs/images/vFWCL-dublin.jpg create mode 100644 docs/vFWCL-notes.rst diff --git a/docs/images/vFWCL-dublin.jpg b/docs/images/vFWCL-dublin.jpg new file mode 100644 index 0000000000000000000000000000000000000000..a943a5d493cc9210640ebbffb614226c4b4397df GIT binary patch literal 130332 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

^E19-iC&hm#N#Au25~YBX?uIyo=8Pz#+AAN+ z!RdjQ{vQ3}rCs9LPxI;L*Vld0a$U;<1|NqqXLkPOiGegkL|;A(pldI1kIFh7R;_>E0K~hr1VZ~J|hxN zpZyCNCjZdCsgadQ27KM1LJ##NiDSs&B$)#!j6>cc%+o})wh4D!E;@m~0O9JiOmg0% zEoVX#2KQ7z0+*=ZeiIG!!h~}ajP7Ve&;wRNIai$b9bG|o(b1fT?Wq{on3wELW;ZjZ zT2UaE@j3%lnD^+R(Dwk=!_rgQf&T;>eN5D&iM$0~XhIt2=Q4;{zKtl(02!0hGNcPj zZHw`Muy7B(ZxJl?&F6x0Ye$grf%5aPtqd~!KDwSW4`iYFCHCKdz z@|fR=?%}H@d_*KYUYl?b6DFTYm(2!g>Rg)WRQwxOfxp6J^WLK!A8OLnV?Jq-FaxY> za}GRn@M4CoF}PX}Fqu9W?OFn@K3;2cc@2H)n51V^)o?$!>o1j_Z*#$48wu*Unh?6mE14Ig zwuSxKAP0Tl&H=~Tu74MTQ&uZ1Gg2}+u}{s~;;k|S`>;{Ko46hH(WjBAnk@0w%opfZ z)6o*22avZkN2Rp90}n`IHyZqL8lQ-4_ovzK!@A3CF?g!;jSxu^nb0db8VmQzR+=IF z=Fe$xDR(_wy8CQ^cRxtN+_6Kf4mRaO5^oqJjo92Gva+p-tC{N|eNIyR#2$)v`G8TA zIQ`~|K7+&n!VafPxy5Ydu1di<1W-Dpz}^Ws@P2o{3n5DRKmS{^WL$tK#$&rN)p)FL zyYA$_BruW*WqDqx0;Bz|5YiGuZXHEkFHulI_5zL;`W%uNU#jwZGx>qA%8@FSDawn^ z!fz;F{b~#T;v7=MQNb5|yUINCIgvz6PcyidcKI>uX&Z zXynkNpptQJ^_aqf3|Rc#EBM}s=lQS<^d*}Q;9Q@iWvqBk~H)AplRR=xy3rFQB3@|MBe2j_2t(P zFz?J{;<4VKs=n|{ZB4JVW zlg$ET)43|%`33<+BTuNNqwhR)G^=lNEamXcRGmV;N*CloI<0IbMXK2pS6VKiBI z26E6mSo1tRJT5av%9sB{QAe{U!6)C9!|VkMf4u@7g&98`(S((u9fHjqS5W;yXvt;~ zS98o1ksNXw&u*ZWOZP~SGdhBJTL?st??a!T0Vw^VCmfZCYzT*^{R3K3to{z(&#?$q zZfOWr!7Qw_{|HNzKtaJcF%%!mG=>o4h7P0<{N+oD9L)UO>{@)yMQ_z4(D(AKnVq)d z{z4Yyv9_Qkk*|oD5m95h!~hH#BkRGm(y(iGrSY5yLAxT4fLL{;mjtB*QNd zI7GlYfdwXEUHd>fBsmUu^CklH0ovaoIc#&hdCjwaudq@wLW1(?vDVxII>547AQS}! z5LNP0s?7NS+)hI9Rj?S`&ylye?0zq~eN!w!Bd5oeN$JTgz-Zca4@9@g5|3%*IQ&b_ zF1ron1#&uj2zlAqX$z_X&sIC-@5plGXgh|qLzvozT=z5DRs+hDi8fdVW#!J~`Mg^`rP zOhQ-|iSN?!H7t7&r(y@#U)Qs~qPgItEq=9y?K+1%p?`7GRkxCafH*c}p*+V- z0_+>=b*}=O2id{t39v{2XxNCL^eL*`5N!-}hC7IMy21jrOlL{Re!L8j37eA0q4HO?3T;0J+(Sx3~$udu~cZS}~b(A-;;1U!QK zZ2(R$>Z(Ze2$FDdk7DJYKc$&j$;ArBO6fiN6Q;BRMp!j3I{rt;EjIQe(qc{@k8~v< zctU^=qsqDQYO(reSd+Hq0zlsi@3pBfbws3ug$LL}rIa|L{1vs0$nMh_BzRC(bo*$) zcmZ$Ft_TFbmPK@t1N3cvXA5LTelWb-?v{W-n3$G9QW-L#9BEp3bo~c9q@0%>VV3r~ zUEK><*8Kw@#I(`^fav>qf^s$FK#T`8@l{3uXFKQZq-_V-U6SON12ji~*c~}^4ppSB zzM{=UyP_#@&sS$h*TDn57*&nBa?LB@=f6>Gpt+^M-TrHSQ!w;A9m@_#DDA#TnO zILQLCLKuvtFaS9Br?C{hM|&U*{2kO%AXhn6*b+bq!J0+bUR2rA#MBJ^cm`#+F6ilF ztU$kAY`Dw(Hn(Xt!s*mWl9o-@dx9#=(EBV^6{=))R>E2jLYw(G5Znd=?kz7o8=&3a z6}Fs8v}2hJQb#scPoTv%A9m~ADLCGx=BhuZphsar4Pndlfp75JZC;|E32w)G!d8vM zWVMbQ3ptVdNfwR43uqHRX}z&ffvDef&I)2XxaxXmR$JTo%v^>W>mKW2Gi8W2SGmE#;_0-(`{i;+X9l( zqdethE^P1g?K|PpIH)AvEY+9rbz%1ciNwyXdbA^DEoZKXq`rKLsfh?+;jy##CY84+ zMr^^@tpR%dl^K99d8Qvq(yI?$jH#PKM|F909s~_yDcnLPLEZDEv41OpbE8^vx7Z`o5QWf(@;UW6`e3Ku&t0 zFX8?O{fI;#-!3Rkl-_c_tcH{})Nw(DwspgaprxaQc-3KnaL@|-h!9nPg;awda@-xj3U(ym<qD_ycb+j`Lp!{{c zGn=KpVOYqPHgM2RD_9 zL+vW^s%k6BleXbE=j)znBqU6J7{(Tr3DV)Omkr?KWY>Wv`x!9bj^<2c`O$HeED zKftn`hPS%ao#>DBd&x%omUgfq_BIKfnB$AoZ}u+u`vBd3HX>W_3arn=l!`#mmOm2) zu1h88HM6)|V%4|(Ywic&&z3(1)8H5UNo!^9LfU!Ya9exVknl%-AjV5_;^}RQi2vsC z0Nj4LNd8#A#fsPt0kCwZnC8>3vxq9}H(M7nAUtZ$z`4L!94hR?uO!~lP{5WIVX8?P zsAj^Q_4F16^MAbkKbjzV?8^3r9tb8L)8$#|1zl8A#v#%MPY{zXpB5KPec3D)1Sui` zb~Zi#MXDf#^pnjEMNbn^4${ZK_n@`TAIE66obcoA9i&Yl7*1;i=nx?(|%Pm(-~`mOc{ z$8u#?=uzN2RhKe>I02*#pEroa33ElEAdRq3U{da5RJrS|$+}H8#Bj48LaCfEMLdlr`S$`sNmmzTv&`6(8(nR4~EI-;Mu3fI&2MI2Lnj8 zh=2bA4>&b1)Q(VayHFOm4G0P05X7JDsI2}CHg9f$o|FrH`D`c(LwA!3 z>=z!M%lUq`BT2 zR&3X8M6+U_=S%bcC{FP(jzO`+iY$248UsSh(!7p>CAq&y!UZP6pBu4WN>Rl;vg)ca z*yvq89Rv^J|3T%HE3{OytF!Q;qfCuetrKz_ZR%^{X~HZ~<++ZHY4zSxB;8vR-bYgU zKDdJpg0rl8iaDxrAbZj&Z1L~!I~>=r=ssXq3l06 zWi`^GxB$noh$-#>C%)0gaK!n)?tyUJ0z*ou9Jt91KMro!2Crj05TwDy$Db8K;J?{u z*P#kbQoWNF+aI-QtTGUrQtAtw;w1!!)wov_hCh<`0+T-`@1XWyhmauO8bT6}xRo*1 zSpAz~=_(-?3_`W{XM?bua_F-`SPVY)Gn4W!V8VdU+cOGyMiC~DNn&ln@a(|wt{78a z{`Y8eK3+B%1ov2u{+A|`lI3;P|k=QcVF&mLq6 zT|Ebchrm}hGBqbMyfq7#(k?eJp6!;#-5>+9RJxrHzY~TsNsH*RYFl4QRgN88$ z+Lgo>1gEWJF`Tg0Wuc8HIy%RyO^Ke!#vV=RMKF_*d!su@Ls4joECI-U0yZo;?s#`h(fQJpB{gZgP(pe^sW`{A^)+)<+0oTt;cRN2l<{m*)v z^B@0b3FV1kA|{eP@=X2u?TLULp$zL5R2}?c{}^P?0}|tk}jLI742Mgmv@86 z@d8T`B=DUFs#$#v5KN_d{yxDBcY%7ol4; zK>F$ggZ52MQo!AB^+~UegMn#@b{v>cu;TyL2`7<=!Gvc2Etf)0ZHX}=k(S$V_o=MuK^_+2E~?sUfEW+)7Am-6}K2ZeYU( z`LswWm;NwA2xP{-jB8kiHqH4*#h~*a8I47L5D%=(wW6IRG8*(6JtCu_c>kv5sDj?R zm_V*GW~6p4H=n^d^4)Kmji`L(=mv@jq3)<4+w91oz&khv;yiKmaLS z)axD07JHy0vCnGOXcAh*=GYX#3Y)3{YMO;fn#I>R~X(oT&1pI8XkhHD4u!OsFY*zI^Z41adF{ z2BUO_cQ0k*;R7nWf08Go8bE16zb+xTf-Qgf#|1MzSb&_>a06OYDv&SOzGo(OB-ad@>0BmtIBWh5(o;nt=pGq+07QSbqx3K? z6I^qq2*PkK44s*uKsyTK13u3_W)PMhW*?u-48tEx%H{|Tl{0?2qW;%LX|T0Bh$<-2 zD2){J#WWn$?j3}gN{1V~OKLxeD<=wBc%j!)(CXo|5W8jIf=(Kxcq-pZsAqz4Gqf85 z20D+ey!6hA6cS!t=*2 z40OWtr&32xk|RxhnzJz|&hoIxN37y?M=|0Gx7h>mk+X0@z7tmfrX8nx%P!Q~;`&3E3gt09Gi{^3&(&qqq>Bc3Z{X z3wKe9Qg^ZoZLe6x|7&@lsowK-r-O6sdw8^ma!5Lme)s5Qxv>1kQL3dVj|BVQUV7We z6wKYrOL+`vh~S55<8!_S4v=QjtCfL<{e!$T7HzJz9S`GGpqRPd`DWk-*w-Eyr~WR- zm>9Vp=QXAmRjxO=n}u z>@3t^++hlYbK(RVpZpROCpDxa7g7Mmysvtvt>+$4jsDyd!6tel-dcaTVCnD8)h4fq z=~~kr8+D+rLD$Ups954`hu5k3iV-fBy=s;sE^R;BwEgRf!y{rOUHO-3OOWeJ@r0zq z;CmqV!@M<=1deef+Wf*C$|NvsX@0fC4}s(o#&uKgPMB@*mH`etQ2i|jo})wfZ)7|o zU`IeLJ%y)_HvblA40}~e2kJ|}a3j;HYF2ZBB9Go0al09!i8YLW_CDCoxq`n2oAt*` z;g1j_MP2yZVO?Cvh7Rk;>TU4JVYxG5Wp;uMTwl4urMN{gT1HG;!Oj}v|XKL{y!p#!7`4bqnx?P5uV@rmF%>7#1ZYY>qG z;~z7Z9N9HrcThX#10;DuK$1WR1DAN1P!$W={}?@N;`j zZ?G;Vc-vd1ul!+nBo#*3pP@_p2w5KiebrP2IY3Wyz5|hd|A@2Wff#^?2!?k8{7LIit{G2NB@9uYCNcvs(Vn7E_82Lu+PieG8gqQ*^KC@I zi}B!#Vcq(yK(}wcOL?o_401m}9!1pL&ER&v4oRko9mt!*I83%;&H?^S)L|inH*sL< z-jYY~5} z&5Q#z2(Nk({WvDxitQ%#bt9kWFy#+LOSI(4pc0eG5OFwJv?Gx7e#Cfz^wglA(Mcdg zVvz$N*nA9!OvT;tV9^ELy0vZ4i;fkF;t$ZD%xdNZ^r8Yr! zN{-;mb?^&R1$0(t{@1|5H|*G# z5pWli84~~;Jo(%~9f)==nPq~39r(vAb<_3gdEib?5X7c?a*(u>4rKvo_Z^2?qFMo3 zqW;YmcK$XhH7tXYsRiJ?FCEk{ARaoX>lvi}pvM+O&=n0qx$Jx^A07+(%K&FuQNRRT z*x2!5Jghs+=q$xcKt!O6nzmDj5@n4fC~Kh5E=;>hlr?~Yh;_xVHFG=1Zcx#Y=a*nk zLDJ{41p)_bgcEmp>vb^al_69a6JgPPP-vpwN;(cdR}OuupWCpf^GtFMCDVT)DqU|K9FBd_?xASf= z9?MB7&jnjz)C-8~%y8%xm1M841B?7(%@HWF#<{|9rFoNe@M3#!LU!z7W*3w#a4?y_ z*Ddn=G5F-=VMI0A0)u93iw=XC@cRNe|MzBWNs}nrjgsowAYB+9{?^2aM0j-A7-+fH(JUxj_5ejRGry}t zT_+?!Jh|Gqi}hvh(u|l~K?AA|A^kCTiMf=sTn=HW(HI&0Pc&v*Yt0jS$T1+?JrqRUMzShM~>bjF*rMGJ{P`y1L_^!-+C5QP_?QOW!Hw6I?5&1z~TzETP-$(7VFIA#D|h#)*UHgXi^bO>+%I8>#R2h*U~ zL`NlrP{ahMq(W#F&WG3ieS#D48{b^^k=l@5Km=+)1MxN{CW&?6*bofA&x2es>&39~ zFvvBNqp%?s;-jAm(kz+!y>Rr>@57mTKM!Y$M$$W!x;A`HX8@fEqw5IxnYI`sPEwg8 z7lD*mHjp);HNp4|{XCHIey&*11?eQ6MjX2YaDy)1h!8alh$o?jaWB{Ya}9&68qh%} zY8d=}E{I38rRoHh2;sDnK#ZR!{ArXcjIhnuLLWi%_4M+TF%XNLr+kG+;=!192WkO! z2S${A(mEON>}IGPq#CNZkfV+ve^tNmB*A{1gb?jIBM%_WJ{8Z32l30S+d7cgdHIW4h~K%T%~5J3cT$wFVugU$I0 zW1In^40v8hasB}^lG7z<%&fRiS{4ce`XSi3CZeM{aOszh>J`wZ9!Kp4Td_6J8}`yH z<@J8F`F-FIpw-MTWaRb_AZ<}4n(LT=c@~spcjcJc9(CCqAmjqd2!)eQ*gvB0VZd9m zNjX^15?{?ttjjfu0P!~d>_Q#IeC}!FqbJ0n(H(4EC@kV|%ClJsp^*kj@lrq-I+=Zp zHN84;tDgd=!mEBBykv7QPp^@uzCf)h|1x;VVYojJ?l#i)kIrm^N3<}JCs>Vc_uo6S zXPizUZs_1jk5`9xV36g2y@4sM@YGGFyFF0xYQ}tUUpLV9SF}usY9hHpf|UsdsXRP0 zIvI9zro5W4XXjxlECLMgE6|QLu5_S7Bd0L1lta)*LJ)BKn&tjU!C3Q)KoI|(7sEgq zU%BLwi7E#=2zgI%mv44Y%`GqBi+9_?ZlskihhNxpcQv~JID}~xA7~u$8NoQ zg%4oA0~U#cobfdYVB5ZQR(nMU6mrxz^b26xD<(CF$Yq0Ni<$v7pU>l7Yj*>uJzldE zgDS>qIVc`b2~I#RUhw%mlLJZkO1-D3YH}vTl6u#8yG0~|N}vtrneZS<7SKdhpCg|H zyJ+PJK$N`rM*eu1;~Km<0KD`DOni`?LDKli!9c=!C8Tf?kbc2#0JtCqT=jq#>knHj z^;2V0iO%b|C=t+WzCa5-`scw*>R+I(+V}}crAxtY1ibR)Pat>(P|0ZUA$SI7x9U98 zQG6FT3Kn7m+DWk{Md_INbKEWNGsYQ&s*qRF>f75>Y zL%t%5ABMn@IG@ikDQ$pS5&>xs3XP$T5o44CboL=?6F8=%9jQNoiO+jE;w7%d_|<(W zvPIY=^j|*9z2YXi5%3PFe+Ceu<*RlG-Tm*#>TyRK@s%XefoV2q=a%vm*)6e21N#g~ zxcpY2r)r~LLSt2!D5_EWgp@hf1I7ugf9K-9$fhna?@31Jt58jR6=l|r-xlmyU|f|| zP_Zt`JAH*k@}okdx_Q0j4e5h4ml)HI|1!O|p#Hl6bzgM*T#=}4sr3P2z*@+>OnuKQ z&vsUi9B`OEv@^yO>mDw$Kdjl_-JI?8Ms54@)&8x8nfV3LPtGfSUb$zfM?P(rhYsJ2 z?e#vx_sV#~4R&A^e3-mZHLARJZFR<`gZw=QWApnMnf%#43+GD(3bJ^?l;3XMeQ;6D zJuZRhKb$Ipa7s@-oo28=hQH=Pm|}Z6&+?gdAVbt+!hQN|GTOO0jpGaUXe3_z#Dx~! z06#_!4cpmddSqVF`Gy-a4|yhajxOq=RcdcR^33Uf8tCZF0u6J5I~YRDS17gqvpm6u0-{qF65hPx47? zO7TE*Ry5|=c$c=E{*HeU^enXMP)YGX`-nVp;XWPp*ny3!o)^E%b$yL?x>jJ1@r_+E z#p=;I4Ig8ZkYgOovuBh`i9w2tRqjR|X4IY=X>n|dQwIN{>+O-@k(9fKQApR+M>0tA z1EO)gh4^gEoj})yJhx}-_=+fx2e#wWLR-wHcv{7uF}*at+Hd6fzBS43!y}8Aa4C0{ zzKWa(DC&w}_{cZ~89R zR2v;DnLG=9GTquTInYzIBdL3LW3u(`Mt2_*FZ$Zh(x=^rT4|J4*A=FCk?Z(k^5qP( z4YnUo>f7c~U6uH3)FJt19b!V7CpQd1_u#5P>VYfZY36u(JQwb`fXO9EJ?K-*BXio( zhAD5el?)465Mb`7Uc;?t-NWC&B#sMyW+IOHbvRU{FW8PUZ%uk6znzr(G9+pE`Qk+X zzTb!ita1r1>LJN>ZRe{GzRfgwHP-%C9nJ4hfywUV&0FbbENk!Aq?_&E_oQ^{B=V#& z6kf6dLeK`OerQ#eFep#JWei=Z{TK-?Roh+b zSjPDkd9W{sF*yH$ybNS2rwrXi8n71`<%851H@-g~Xc2B3JR-J%Gva;S>zxlDRje-7 zdw1;83Dftl9@a0Lwr9$Qb3OVHKk6N3AESR4NWZg{@rJEeThQx%;OhDXhjm7j9x%$C zSGefptH_3v=cg>#wsMef{DMvfTK=%*INJ_gWmuRyL97mtTg1(m4{3{Fw=1vuXB9ML z$u`PQ-WbWRwVgO^=Xq70GbhPG5vsIu)tofP2Fru(tIW}}?8$+y2O6xx(82BpI}FAM zb1(M3x0i*yy0gM_@7ty0BfaOYuyX#%d-jciPch-@o)LvATfewoT#r|jM_Q%deUo*k zLk~{jkdaT&c#GA&T4QWbF)gamjtcS0?D3B+Vq+T*Ejg}Do;g-?ZbFotd+?VByU$luhWl?DvY(o`r4r7mTtq*eKdv+8$aU4~ zz?Esjm#ll8ed(?pwv!_kG#_8sL~(a{=CzJB_xKOR){^)I?b9yiAp=SW&X;7-i;7?4 zW%!+{KB7n|7SJ7E-)BrlO(T~yNgNxlDSXyWA^svp6FyDu-LPmADZzcJ}vfYgW1Q7;y)xGwsx zTy{}@B4w*z_6JR3er8$VLZiFyUBX8{IVkE%d$+XMs)2QErNvWX_T=$po7E%B0(BBS z==!z`J!(w+!oxhnNI%N=Y%6qQEERHyG-* z#h%~F9G?9XUe3-K{n53ETj*Kgqp~~T7&w!^dF-C&!p^a$wdpkF+7MuE9? zrf2v*3p>gjvpCS_Owt?m!sbhe8|JvQBwZ=&KPbur$=pZd(-j;Y{aT*<7E1mRLi^g?Z=kxHS5~xVCK8> zNPM!_i&PDO(QQ|)nvBonj}ho2MReu|-HTKm;}G=^hwjMTo-)=ZCEb0V{~>J9n4l61 zqjPs&oV@d5@R2JEce)E;7giTU3=QzWZeH$XJ{^@VJ0ibj1;mT?f(ZXb;ah_|%X7&9 zXMvE+qAI4}fZ*pAF3%(>0?XJG4G)S(qbQt>f1Kh zM|*Illqol&9?vBmO_T?(({QX8gML4?zeWzu$Vqu_Z8~XDVzBIRz_xK+vhBO4S0>nZ zMA{|4UKzis)2lQHtsk*KKeQwxFlfR+*}|$vbj9R53yksWyvmLbR&7oEqK_2ynchS5&4_1#dEXYPq`gs5Nfl(2+@IiUEbeNZ;!|9_s!>2vS(iwa2@!N6t-~U#2W9SIW zkq53g(}AS)M2BNR9xXrN6e|mr$M8NFmq$e3S{Z27@ZRR($nY7e!DI18^5tI{^h3+i zDr&vyo&4q*^?M@iIh}1!3}%r;r}ar$;nMh^^qcM!rE`K`BG$ABsGs+-kt?j)RF+QG zBa)6Ib2?2b&5-)Y054vMgndexRS2Yym=UpXEaS=S=?VS~oF6H>Q}`D5{RLwZ)7Siv zmHr`q(;MA0A=9&LK}?>QMAh>nnnf3rMLA73IXmHU#ZK(D_{^^@p_k(EEwAJOo z4_wbb?`s)cxM$6;S}sOsZzIM%y?KEb2;o+_a) zhQf$Wa-a1|#A@m#zZ?xI2Z;4L`aRC99SMZh2UiPqMSk9ORTg zN!XP&Y+BL#m5+l$^y*}Oemj}bdG^23KxmGmen*#9Sv%i$$0p`4^1F|Y=?s3FW$8ja zojdzYXI9qRjPjaV>nhRp!+Q^Y9I{E2F~93r(2-aw1B=-aG5F@$TBVb9Z-XUi6tWBR z+VkDP0Jp+1J92v(_L7CF#*U%yK53m?Tbo!#bk zxR(Altq~ozi4?(3M_yuLv*mm|;Y*R)m>C8k?Hf~Vx^kcA+rxDEltkGHj@)s5mL{HI zY|1-s>QuUNC;aG$`-P)lS--e5{4}YLH99VclIX?Yl7tlMNW4_P=z35+r)Fv6{#c*e zTPW^Ur48H>TW6k~c<|QnZAa>rP8;X^8f~e26zhF-_+C_a#Z_=PhLu?Tl@WT6>AJrm zM;qJ155S?p{(>gHe8H**co_+xFL7W{10D;b0GnhRHJ6(;muwAa?cR;{^di0NqP%3k zu=Q0IGfeM(G~3Tf)oS7>(PsKlAb-jrrkRAVY~g3_}KO%RbkPVV*>{^upD5@ z?qK<$UUKQqh97&&@oD-#{s9Z1lw%y5rFQx`4(*y?6eM+neO*{F8=vkT_cOJ|r17Aj zW>IzG9lnt1cep72?FW;+b59ox54j#bN%~VvF-hp%$PDgoV9NJ;htl75Gb{}CWO~6_ z6P~Rwt<8UO#mhLnDKB77vEwS51{uh`IM^#I$+2ztVu&fO;bvY11K08nMZj{6g@U|u zC{w+Id{X6BWbjiFF@w*~9cfc)qY$IToZe5X`YIX4%EI0q6jZVQF?K5{0 zPY30D#XP&S-EF|t=ndxzSraCufZFO?>m|S2B>x`s!1Rg_Y`<;q>zy!+`s1+n{U5!& zjQqlvyv%Ps{^5gzfo=W!!6Q~p^0Dxe-Lw8tS|O}+4_43T757|bv@wHe;3z6qm~a_0 zen!%@3nBnBui^E^%~6#uQq3!da0Sr`v=+(I8ofv3RgBrf51CCNQp&?9hcsc~4d1YU z`=$+NcBN~DZ?!aujOCp_ztIAfPYpgL^**s^VV&_D9#P)tyrdAbuXbw%usY zL)EyV^<}q8_6>Y2Sa#stDoeCu(7i)momti<#V?VDpg`0HZ9KpK$|tSTq9__&)VLh- zq7#L&tt9d(>Bv$7*@Vrgn-W@kLbvs=(=U;J?6&Xr$-(g zFL$`&dJow>>p4qrc;qwl9h)jEC$@Z7RKChvW1?N*md`GK)C3@6Jh>2P1#AT)2NEhz zA6Jn=F#jg*v7`RA*E=@LAp9%r4hp-CJ{gf}z4W#pcilrxLjH7%;%Aor(sY9p4LxSf zdCktubd7fN;Jpdf1}C&n(7Z%k{D<9%>KP*BWOq;g!ay(4h~$Pm)t!0@8v8f*`#K2q*|q5s(_` zf-!Pmk7PgVS$nUw?sczw6AH!c z>jx^4yNY%8A`*5a4~-*hRxN5U_^SroiKmuP4E}{qv0T zkqcrKzUV$Vcbani3{yxfO=ARJCyTS9YJwnMbPU?$Z|+(RHS*#%2!-;Rv>AZ_PqYmh zJ{>9U6DjrSutGoZt1O^zJL2<5v>i%`{z!8aL3n7`{hZ;ph?iJY{#pJxb>6e^rDm$E3uyY{?EJLXHQ zj_(ZPgx6uBM%`Cr1eQVE=HFty^$NHe-gNpEsiB`nE9jt^^%h*fBzVfENppU!dO(T5 z?go-8%33*t!YZA8s79p3hxOr7YHoSP}#5z zN@?(hR-gMHwsiN1UU4-+USU~b0m(E~Rnrmr_K)h-^7 z9Cet-Jc&KI5p?aR3}S%l(PF3e6;4)}XP(4#p44(B!k6Qt zTJLz#4H+)Z9NU-EETr`oSP3=XE+Y-TG_rNjwhgBgvm_# zBFe$=WedZ+nqv3>5M59vqt#%E`R@F*%lrBE6Aa&85MLAXVZSCRv*^206(I}~6u7V? zYz*j(`f!dmx*6J`=_^|4?fljyBU92S|0Of2wzb*&*Lrd`tEIiV-WcHx9?!^CgN!JX zn6MQ!Q7fQ~ZtS>e=TMR!Ms70(%OwqD@uE{SZAe+*?|eKhP0~nW1tldKeSzpZ|BJB) z{V+8>&CE0vCK=&r+ra6x&oCK}Fd3@a1i##eWxG67csxVHGU1{a=*&Y`SM#Tao4=Af+!B$*4_x*n$IXj-MMR&kocy5)T z!F)t6tq4SmrgR3|XQ{ai!DIrK4+gbI#do_lG$rZ7$wLWlX)|D;?rKccM;x0inJpX$ zJ5qe>lw`9^j}sl!DT(HeprqfbaV0MG@RH!id@~n(!_4?&8C7R@-=>L*3UTXSMc1bw zA03r{JOQq-@xbx-Kag_=DZjsl9K!plG70NU&Hs+0FIggmY?Z*dZ`YAeU8W4>f8q4= zpdEK{e?S=dF&FM5xa{aF-ZIDa-4=Blz!S&4%$0F9_f}&ZbE1#H&w*1|D44R#Fm$ga z?$R&~jZ*`z>ZX1D-Flb7|0m(YJWIJ5%a=nW568xee<>xe-G(1 zScBT)fAf7kcpWlT+!NtNeZu5&8x$avU;&+ zj~=?C5uc@pZa_9KADaS7!9-0xvyW6zDYp{VYbjt#`lJ|tb24~=n;^S)S-;mzSbyF- zBW+#n=OspYU{;jxg)JYjhgIz6!cknfG^x+Ma$%mjO)GZ)6WJLuieub9ILD0t^;>Ki zb{Y#c2IM|HZR#Q&9lfG&R!RN6%)Im4wF?R;ygDq!!4wghXg`4TW=p)W6c$6i(BRL9 zviJCurV749 zgr5(E#F{lshNK!gFMPwi^GloAtqAz=#mFq%*yc{Q=fB$sY-7q6N9VU!9E9o5kgb-; zP-0@h91^{J9OR|+7-9}FH+>~U1tTYA>NZ^rYbaPa?MK5l9xODL3q|1dX*K1>y1ka^ zixOEY9EF7{tPYgESU2Z~v)_uB3i#)CSAPV`_g}~7gnqO-D%|h})2ZDmTE4x=PL*70 z$W5t7ULU!u%FvK5D+L^gNTVHHiTgk9BP^F#&Mw~*?7o+TaVlMJ+ISveQhb21z-qY5 z)b01AgL#i!&Qq{7{%<@e(Eq@$9tHFKa(qYpsrBmQ_vH3B>CB_DIMS}ybxWcIIeKn8 zFSfn(iTH+#v_$nO$ERX48#2mA_WWN2{(N$*4Qy_9^7v~(6CGrd!8Zs3{~6nbQWh{3 zG5&al{&;tz4t3sPl{by+?mI)vpsZV}NZkk;CX+q7a1rs-YXnZY3@S~xS4^hI=0cXi z?Vb4Fh*f<{A7vPVGNy;mV7gl_mzsc#6^x{>-J*;?Umr&uqSUby$?9Zu@qtJqRdDsK zb&kBdzTK=gA>l)*^`KIybbhS1$O&s>H$U(n$p84TE#KC3=@aE41O>3HD5XI4J-*+Q zZqVc@V`i`Z1CeY$>x<>}*Ox2WXmP=UM%Mc3XjYR%`!ze;;Z|Sx!!+}1nkn}xv8DXo zMb8%=NFGC0m;qXG3cTnQPf9Dgub9t^2QQimsaQCyLxsEN8+{G_e*FH?pXlukGfqH% z1mH|N%)>u8bYE^5?JEA%JQg{$jExHf;MPflrWhDQJ6X)V+q&YaMg4mC-Pt;5|M?Cx z3ZB*o9u3B%!}I?9#>K-G-b_`jjo^~Mquwb0wn)pJ?z30;boz3Mz8qJN*MR$hI?;ellaEgUc z;3=+@>!XP>0&rx-e!}!6+|!jYPpWofJvi1A+SGpI(bX@->}3|SDI}xkL8*j`GEQhC zKt>lte!TbDfG$LY?8*(wOnk$kIs(z)^=c3LeG*-o;-^w?>Jxzbd4w$qa_=SxtqMm@ z|B)60aJsSYC_94ky3|>IB zV!8oh@r*z3z?%{rCD#ggMMC7Oxm<)s4zt(av|0JmhJw-26@x)BMhrRXiCIv9n^&xGa(_MD%8*~rHK_`}c|&(S|o=E9Qem$$Gy zXceVrtxB|TtqA@ro-Kv0wLU^^J)cE0(qDRbztejy`B8-+sC#a$b#JIcMo^SS#P$k$ z!#H3^TgFz#q?b{7n+olodmYkypnRxkO92a=0&;qyI4)|HGF#VZ zj!@CN79tww5qSI){d&GaM$--VZrn2`RzvZn2Fo1`Ih}|nNel;)5m-)O12DQpVT3vu zFI3T zbA@hqUotGMpXGeQsiS3S@G#LU*PLQr?-RMZT~1L=ce$5GSvK0wwo)GER-(KdsK$$B z?mj+2f$}+`mu`zt`RjXBuLy*2zUsI7n`Th?ChKlH^sq?Z8l;)9b!3sNn$yjxv45hf zT8;CSt&5_6nBQIXS5V~B$#MT^_IY)#5P+;k$})S~RX+pB5`f>Rfx@5K%1MgASWeeF zEA@!S4u7s{g+lX7htE2Es~kUr?mK;@gEy^|C9bavGxwwi#t-IFu2)(o^)=t29=QsS zk}Il&2s7`Hq6A8h=m8ANg4$huVfLtNMdgTWL-XJVqC^HY7sMG7+O>hpB|wD*RiwEX z;UZ5hj*sV$)$$Go8hDSX{iw{rDg5$_{$cpGV9D>^y;FT73sAyRnu~4=a1ry?6>%vO z*xK&12Cnz~KC1eCYR4_yHcXdeA+q;pk6W%FtAIvkazURK3vL-7i$BrMkNVu}FdbVA zL<9>@gd`8kb&aD+obR+6R}NojX?m&swcz9Aomq=DqZ6YX^o*w`lY00bOi#pxq{3Y(c`m5Z zTQjHYTI-X=T3TA-N6&t*%@Tht7r>!m#kdBzS4Dn-NdRG$cQMHL41&=ULW zHSdd`sV<`1-HwYnC$S0=R==?zXiz{2hn5A*C`*T`5?VO+jY!p2iZhlWE8dsn*QIqK=1x~5 zzj}SIhs54-OYyKpj`yNK#N2D=H;y?P01QeYdcxY3)4O4(n!oye-Q6L3zYX|&BYJUq zmMh=?)B_HVF%E=W?>~_G&{q6M+brtYVb%J7AOhQkG86kvl`hDJXEX00KVtn~z6<|i zC!fagNYfEhSDK)`t4oG=Te58tf6pYTF~q{%8ZV_XL?}+JVLD}crso=yl+9H{h_(uU zuW>5LM+N??ZsK7n5;=-J@q1qkc=(f0>xx?HX#rVJ$-!mn#dMvDlFD+SztDaI< zh-X4~iEghs5*GqbjQz#$bka|vuO8;NLP-%OGHeW$F|_eA=E(3n=K+%1Bgf?Z1UtNE zf{DL;Vei0w<5xVL@5A%avkND`xfUN5z`fz(jDW*8`j?m699@vC7NA`J@8(nCl~v5~ z6>fW@-*q5r=1`A5$Vl>uBh#iW$1=3wDP4>D_-SZSOpjyM0| zW$&=})o@PlM`*4*qs`=E5Bl&ObGluXvLDA#Df15B}AH_t6(%FIaxY$HLtYZ(XL!JcHuY7#e{f z!|g08y)W!$^$!b$0>R!NE{CkWXuL3hz}MiqH`_&hTtsW|V_sul z(RWTv3jlRC<>NGUv5idi<(->3rOR+?eno_{s zvUPej#xB=xJZFtYCJ)ii|E+wunlMl7mp*>}li=|8=wq1#C5SK%@4+wb0?w{@9__$I3AczHy*dG5KrTP#<=di%7UXDI95Oe>(-^~l=+mr#O~xeSuO z8noqtq}; z*Hpv@*S`B1HJoSpsd!l2%1^yT{?jSLv)OVphC=ff#2~#7MyjON6LG3LJ4AwYeH#~B za>=klhv(B5`)RyynGJn_>q>e`HB1HN>VoaAb@qXs0kW!4NBnss^4RNY8|&k(QJ$t; zw3y)1n>O@f@BTt7Ij1vHVSW38Kvp-lo-?+U^&Rl;XQ!?1qUdz1T~L{WJ<-V`$RKs( z6??1E?r}4jOgti7zAF)SSEoNF0usDbkMA1xq9q?@w_1|8)PfPtK|SIZYw~pQ;lUdU zA-80?QY7-=t?w*PX)wvZq)n+xG)?MzIQOrmBO9UZY}C>yhBld7%IoSxt3}zUr*UPZ ze?iH&YdK-E*Pgf3+ni7}oZXJ)c?^|~9AlmV3$$oAXphQ8k-napLXLW>VEzSLi`+-^ z1eK#U$f1vQ=d2FTYmREKgE_%(szfiIE7(bWB60fX;9r<{`gsgcAb*jP1Y2l<-YWGNp#4xHkbQ&uuObYjLoayCz#_- zh)idf1y|F6rt3;IQL`!9llsSpwQkIuQnnVXS!tJMpr{Q?okLZkR@2%?84-aiB$A$H zS*PzGnt)g&=(67Q3nH~Q@_a4Nc|W~!NAp{{F>r=%43gOd+BJO_MP{^+P(sk%g3CK< z)eqO1vs0(*TOIuyP8Jd`IB?0K-Y@agvI|{>Cx}C6<;w4({+j>*qQ55n<;urDrFL+t zWA8__4uGsi#jT0$of_LIZb#i0%e*fxO4RJVsWHl0wrs@#-957`u>{ubb*1U8a_@%_ ze5GV8pYJ7u_qh*Nn#`)z9whRllz$P>OzpY-oMpLCrT6##>>t z$xRJOnJ`z*l;D*I!gkN~51qWPS#b83$(vf;0)bGgkqQt-YjkNNIXYG#pLAU^uKu9L z(EH$U`9ak{AVNE?s@$|RF5H1lMeD}IMZ*+a0|$jmHn#^0=JQLG)?iC60B$@k|07Zf z9=(sX!DlY2T^CxOYgq0niX{ptoNZNkJ%9Ff;zAK*9Yh#PWj@BI;{6USJN`%uwNMIP zQo4M(L$xdBU)tw|HhA1+d{P+1DiA!N?1pTQE~P?gSE$+`4I*chB-!L5ncr=Fm)rh9 z_!<&+i#C2yf`Qd|(U*~~>OoBja*3s1Mq~V=X7X+XcvF3`#EftFeRW2bKtf;aNt6D+ z2OcbaE`fGr(_OK^<gcg%A(;CxW#`#@mkYJsI& z7V!9_=^Wk8Ke=oWHA=fWrHws~I-p+%GiJ{bOCcbiaL`_G$|B35=bl>kV8@j!{a0;v zdM_{P3J)C%>w?ayI8ZQsNdE4YCWhP}hle?f`k_f@R&)HeTYkqL7Rk1vB#>2WW^t>> z_G1NAM2;^qr=`!2q3={|9?V3y!u=5>=O-3pzY)o<0z*2Odi^4VLW}mt#mj}KPh}0M z{Pa5y;VNGCC+7D`D^S0tKMOVx>2sRat}^PoWfWe$MJB48`~^}TdgXiCsvUG3d+sdv zCyU4Vm}|wn{%hdx@c%M+Jm2*vujv_6+B;HcDr88dEN_juHVDZq8943a z$oXx+jyVjHUwD2s>%)c9u*E)&;t@Sxr#iN%ovRZ0Pd-h{s*wxi zQ08)$KfXBLpa1ynFs+?!3wuP%^@J&i6gv_`T4*10X)s|*&$nC$(|C6g%9Tx?boOR< z)r3F%$*7s&zPO8_WmLPBw9h4xy+qfP%0ek6$C=&wyF?S`&EmFSv~m6UyV-x)z6_qc z_tEeXSC!>lX-^AY&<6n%a0?=ah61#gwK;b={$^zy(mrgiAS3H9?Eyfg>?V_4MSS^x7?vu)M0>)zt6M)jGlx zf8oKdap<19fPlTDdzvmS_%InA0@CF4%v&Z~B`BW>;(y}Nf{W74Fz%^E@=9-5oN|$4 z@+);UH4zQTq#vpKnmHGKa!5qx?hMn-P%A5#9-I&mc8AJ}a$D*wl&4zPo+ld7@FyLJ zAn^A7+`Pz@L?0i?bEapkCiQmYdt)80yVkhw9$%q1qd6m}LXK3AJj-PLBWNQz;AwE2 z#r0jeXwq8UrC{Itsct^}xq)$K?V<;JqxAMgn8VVV6k5Y_4u#u0&tUIq>D|r8Ic?Ac zuO$1bqF3?-@{^GS?Y7ZZ^luk)L~orwJ#(b3sly>Yp~2k1oGHjF-Dj2&V*b+ablUo; z&rar*8q3pS65p+4JR_Yu1o;dpOMH=2?dK@5*yzy&)nCPv4CiCM=eJvizf9}cc5SUc zXnPO!N6JTf<%}ckiLyO?U(9gtpLN;#t7T_jGa)VofA^Amv;1c*3g$+^?=(m$r9$F-dwJI5 zD+BnpT^cA`Us^0%ys^;Ae5oLx^xaJEczqY_R(q5N+;fQ?WC>ss z8BbOWf=K&uzh=?a)!u&s?)q{?c%3*hG1jN{#f{c0k*H`Y=aVr4n&H7mzypJ@*pwZ!~A6S zv?}B~Ul(2qqw#>_-P8AZGd76WEGP@dMWo9q>&|<9@H1?juIfM*U6^4AyrSxLFP>_r z#CLx9y)R<<&e;)FNB8`Jbngrk`DiSOyD#DM*G<0!)ln#bCbV7OTbhXk8)x;o$uNHA zgo_NNIz7U_WCNy5p-15CTboQiQWgj{#9%=|NW)J^B*O$@t}c43@8 z_~U3{FH!+(4|XnZtD&Sgr~;u9Tx-yZ^||%H^JSW1^L?a>+_#rSKVie4%Ijkhxj+VW zz2_3V8!G9F3Nz2@5r@Z!nvBQgOWq7BckXWz)#a@{%DnA>Sj`$`jDSA7AusS~cY#Qm^j02YcM3mf708KcdVU1^l6FY{5m^ z6%oX4Bcq&o8zB4x>I#v2_{-RW(~auPb4Npa8VuzhJl!!I4m!Z^RIND6&fDY@L_rXs zTD?{6jd$rl%M;yCnZ2aEEhy}Q{j&XOn8VGt-_zyG%Z`~|reBVnD3k}xsmFerj-$`K z-wyDB9sf*?W&CORlH(`aR3PVFbSKVmq~AV{T=AUcl;red=G>))xOlSS*H*o^K994j zvq}(`E;Zr;1N|d}8SNIW=fgvX&yINf)iIX*{PF|aTGRzS%&b@MqB5XK=4bWI>&+$2 zV?=;eeRG{sQ25E}t2Um`zQ^C!4WaV6Uen+Yv8sc9wepCm+@%kGSK7Z)a!F}5q*OR* z$DuT~U1oj>o(;rVmdENbm5OQ zq)P)aT}`&rk-Su0h8*)u-Lnz(-FIhkQa$eldrs7W<7qV-^??KFx-3c65&5LPwBNWB z-jSkNwjgAyxlMesl?%Q9!6@9TxMtQpVJO>2-1s?TTu#xNi56C6>1ECo@=`&>Rt3sq zv>YMYbqNgaZ9dh`I&I))Jeh%1BngJ=h=%iH+vfxKou}*yq1Qr6#4&NmH4zm>klidK z_T3D}gV73O?RT!JoVAwa2sO$~3gFLVPQnHB?_z~;^=h0wb}*s(F*JYp$`RW1^iQ3) z`hw-}&xenH5?S^N%dHtPk+hxZ!KFFSUeTpDBhS|4NXa=-1vhe*ysrwDT7a`9(DR@ zrutb?;ha589%i4k8o*12A4jyyw2np2Q6;($zz$Nf*5~B1>4_f``?p#Pd-uei-JmSZ z6Tg|HmGhk64Oz%`jQ!<5H`@Jpbtws^gfexSR&TYCc^U$!s)acASFIG%#C{FwjVeBf zyFmIW@a;UK=IQF+tEt_2RQ%i!Er(j#i%p7DqwH0Y`2kZoih3J4z7FccIj`@9L{|BV zd{k(8IjC0rI>3m#*3&CPH2jADOI9fD@nI?>g2LL>649H#ycE|iJgpC34kB%WjAHJu zi;n5y&VPMQ*x6YI`gmvj_0V7bJh=KYYS{z-4){#-pf<%b%$J+>Sr60SHfELD`{d=c z9X6}_8`PhFpV=K;=cCp(mZiy9LrLkA2hEkMxoObDcMNos^s#mz6^E*|(Cl&LA5C!n zO)YBK64mJ8`7!k1FkevLx)LcT+mv#>K!%vXj9fHB^sti{F5F zyFy2mYwTYK%n{0k687$z2}Icn&A!%ws31d`>vuo;NbKd<5Mn-i-885@7x4H_InFn1 zG_#G9J^f2~C*y+D*`EK|`1>CXz<+-V4>PU;#-ydBgA?Kp@ud+h)6*f%F+u}8IX}v4 zD--4Ys#Ao&J+$TIF%EuV#mQ2}9EyZ|WoW$Jm_+%G(sc=eX8xtdl9{I8P1W_kt5%9l zJF%X6)Mdhg4P2`NEWzmL|5STd#%8?!TK)Vm=k<7_T15Ej)wIDA8U*fB$XYg=E4e&& zN^G8=uPd`=Ou^Uy(>qiZgs8YwWlPpblUjiJ!}Dj@be%i|R6urLhXbr^#Xz@PS46|S z%10#3RwV3d0p;?eF@0)UU_8Q`tABK_S7Rh(qx?nwx0gL?86D1%Lm2*jv>1Xkht_aA zP)m<3q1+aU#dZJzc|ad!AD!|5x?NKOvgXO z6s{x2kHYDLjbkin@X!m}h2=?^DR^E0YC%cMnSLD6l;JyR7GTx?|XWaX1_I^y8xW4#g)h)<%QJZLODE)+-KIhm0 z)1rhXzu793PWyR-vZeL-QNtA3@wUh8h610w@=(;^-3mxEC#!^vAX?MA(Hf1mQFgh^@s`$S`sqL%`cv zm?Ico*aaiSn((5#Ti}J?)9bs_q7&Wftp&Zr+nHRV3Pw6Jw_Xcsrk%wciyU6$r-)P( zee-VdYqZ|D<>G8A&>WuQnEbp#b)r7D(CkX}*q837ax6WO7a0FetW*MjXzquZ4AHk} zCE!({e+7s#Tz(54;*`~yUnh+nS2%TzLD z7^i>?lC!BP#lPzx$Z@nrd~f90Pvc0f2!!(_R5H$u7;!kIX^_`@GCtN!K6@n4Q09GJ z(@w>5fy-p~glXxb;}WXqdiyvOTGZYgUR701@p8my%-#ET=VU@xw0k&G<`V}6z9rKo3>&N8l#wTo^RsT`!O^pNM-7bU^SYoe_}6;)_dy+Jf8MZ3=Q<* z`r>O68a86s->aFz@`Q}*usq5@M)$%`cz@iAvGCH_d60QVj_=%dyN<1L2XDWbEfMs0 z8EH(X2gcVw4PMtNv0T3NT$i8Ie0dGSOWH$0`toI`|l@}a#($kB@2r^ z2+7{7^Xi+ky#3>QoCru{;}Tk&(q5u%{AqmGGv1*l-JWV!}d z1Jbs-r=5P!-S^_b$4Vt+7KD9t0#yZC{&oMUSUPu2PeMZmOIs2)N?WbKOni$}| z?9c1G`Is+8JyB{gS10|%*p{fES&747;)z7x2Vo+Ajjib)i&ocD)_;HvPKpDbr~yuL zKY8^_MhM`)O3MTeVtDZ^ekz(%QFA zCs+;w$#}4}$lET5nx45lRW#wR9l_Ci=H2+M+unJ^F#)-sek(6Ho(Xro5~v2}_K?f` z@hzCAiqmt2J}lTCi*!-*Y`g39!X=5R7QoZDE0EkEm3a6i9)Uuk#cBx zpn-}Y;2}G*6KGQ*;^rl_h0b6;E%U* zQZ;+?N}5)dIA&*ETsLM4Pfi9;7IP8M;|o52gf0h39DmyXpzk8577LA5Kr!!Xxk2>H zIZ&&FzTXZjl&?G0w5Ki6(CnE1bae5#i&IP?96igL;)al^^&+%AF^?NuC+G|#x$wlA zQ7y;V-<>U=P0lXYnro={cUM1VnfOdU!;>(#K#&yr79tgEVJInyty7BnUVjeDJGcA8 zuWBm(xxU6+l$xy$Z;OUBi^R3{tgPV>2bpKVpfwkLMMZ3xH(DAxTUuc5y7{MB!tN(> zcS!Oan|K#>p-qn#P601-H}MyD^cMLDTr}yce#tgm+z5QHj!3(crIt$a$pgSQ3Ol)g>S~ zdtt2Du7jLhL?DTtf8R?XZsGY$Lx{l`7n$W8A)DnZLBUgm< z-`Ve7QO(uV0>f5g$=6V~PUqeLgi#l!Zs{5N_)2oRpbzm@UzOAQ42d$F*Qayu(YX38r5_Y{aQPnVfo;>(tQKCZc6H)AKHmm8` za|9LEPBuxm%6|j=o5(>|ezYbD>1y0S8OG5fTR!9tX-#}HJKq~-((aKqQXv7cz7u6M z80A~PRP%?BSPzac0-$i;RLFhY&CT$DT;51Ek)d7L`=>HIboymgE4iFv3i@EV#*m;$ zO#tM=COjgxHxv^-Xy>&Ut!YA@Qa?wTIu~V)p6~^U$hy@GeGJ#arp`}PsPP?yh}!D& zS}x9uqkJse&I-a#!xh0w*-F6;7b6^(aj^~aRklys#HYg>hUP6y{=RHFu;?kxrG@hw zxc?~XJqNRXJ*lrt(d&v7pc=F{lx#FM<`v^;rP%?oO-eM7nwdL0(6?WGD#_%}}84MdcE^*Y?rEuKI5T5oOM*6J$1)Z&KC+fT=|w4Lr(AD z=VW;23|b0-alyui{!B1@;>uQ4biad+&3Ge+b!{oD>}PRh)|XREUX;6i-88bg{z>?5 z2;F;UziKXjAV+z|?QBVC$#}|%W0xW8r^K^J>0PdT3~|cJCQM@TmPJiYSW7l~CeN%m z=%?O*oaW~M4*N6+$;%X zoUiv}Ey_iGLHY9Q;2bCx?x%vA13_a1b_XNnf|BWxzI2Fd7-qe32^0He&Un`C~?c%f^)_w>E- zy;wCQw=4=p*zFN zATxx#)SVM4)fDgWv883I>fzP8a}9<2U+A~GVh2qo{$`32ixhr@uYnUZaStdtua@B= z8;^D3i#K)JwVOXph1}6uBdg@UqIkS0(zS_nJMrP$-6(EB3@g|UdW~(sB;g{V3^`zd znr~T0ok?j|U_8XII;*-|n%YI*A<_TJOB@e=aNjpCqWQFoVtN2y(ltTF8MF;BUak}s zseyjf4%Cp5a9TA5yDP9LIHnJ4SA4D|etpqM@NQoT=bS2sB6jV^-{T=~_`l(w;%gdX zC~-5k^sD>TONbd-OX^obc;l8wQ~FSh+uuq8*xd`Chh=XqYEo`ytzdbUHXrw5{mXp* zQ2qwZe>tBStCzcB1To?fFgz8_j{XTIXm>%fmKR+K)2Z2h7JY+~-P4%0;(rVX*XF*c z&}jYvxyMtZ!rZ$N$NGft5vSB+yY)&e#hQQqrc5I96h*kN8#G$LmYpkT4N|b<)^kAl z8u9$R(W~H%6`w2po*83e#XKj@%(jkkZZ#%TR!G<`A2gJdA6T?er&Fa~@pkT;Z%UIx zEG03={??bQ;pRY|_ma7g^Aw$GU4{YO0HxW5Jq~TPE8Wm(JfOY%F`(TacE8=Z9r6A_ zlF4ZOLk}xQ`OGj$=6xS{6Fvd%gHOU!%+tjXF47cBT4|3r!y>3+7?#R2qa!pw>!>o| zu2mFK-n=-vihb$l^!yz-woH=;YmOQ)!-WDybR~u@btX+;fehtAKLqljgf>UQG*cvL z`umm9^Hs~AQsd@cfK`QT)F-7Li$> z!eVnToW1Ln@p^{qUmiWBb!++{mmym|*_$&~EQxhdQbrS}kwIv4!G1QgCEo1*&A;lEd{0nF*IYQ|hAW_A zx64bvf<^--g=+bisiIFKp#a9J?Q_oF=(VvTN*hDRPWO57)3^gf{(QtoEt_!4`-}{^ z=Md#KQ-q>;Wmy^4qc!u zTIJc3Tv^bcDc@NPWlE*x0ZY=7=(cWNTye4E!lLWu`3*b4X1}2aDi1SRV^S+kA|keR zoem52MakyoAN+$Q?2B4!8YUn7{cfv6s||15IC{@+C~M8u=A-~0s(P|o`3)bZ;bCqo zJ1KGJdo5+5(%-!bpFmbq&GfQC!A55Mo74WHaW6E#ryMy)&@Kh@hiI4xfDuWSPJZ84 zYDAh`cRw$BIi$@L0b<#QLU(c>U5~PB-P~e@hj_G z_3rGDQ&B`+PkQrnk8 z-&XhtI$69=$eBL*e+8fZ&wdxqTEVk;V@{wY%7C!$7T7B?KmWGvzRw4rmeg7&qD$8b zuVl@qvsS65%!N%F)%>)JZTie-eU9NK%l0 zo){~pZ&wTEa7b{6>Hwzn%kvxOfPE5%0FEjdlS0lEDK?Pkj;j+dcKV~PrLMBpT(}X@ z^GkREh$lFNCD%&~L+^a7o2nl+QEd8L-xBK?y{2>0BlzB(7txp51dLtYMS=8(<@KEc zN)s)NGE)2w;3SPcZ51xszQ`P_9s8w+ge}s~-u_!Acosi+?eEj&j2pmdx*YoK;j5CV z??4b`rlXKG%i%0B28FrOFzN8CI&kfzHCWMzjoxyJ2lJVwzVtZ>lIyNHU%pH?K90!_ zJe5xIK(JFqVv%LZa*9iuLq9VbAI>(aBagUe%j_Pe7pX&gau<`bPpAOwJ?5H{S4T`_Imhgc#sVRP3WAZl-h-fx^5;nWOxE zJ7I)*va{%#jg4sjP>pf(j|s!GS1~1qDW#+@OZ-ShT>+F2L(iLd<9w!BNTbHz%e7w~ ziRxn=ejO;Y4!hE{08=GGIv;ScU6cU_H8^$ zY9F$gu_o<<1%ni2pCL5441I>w=8jNV#&uQc@H$>+657({yBamr7UICez~i~9p}t-e z%zp4YYtkl+ojHi%!8|yG(I!bv1UwtSF=G>wxd-Lj$RYYVpFf-+pK$ID9SL;)eFBp7 zmXlR-EhkAC^6vlMhjkEbN?+v;#*~>`6O3Ecx{1H@&2hZ;!+aIxjk_~H zi%hQODm_`V9bycRDpr7=$;JeP{Fj}Bx~L2>z)>cSVG$xs!xckgD`N}G^qq`Vso_uL zg9nITxWtxcaG-a4y*{;3J)d>W))1e~@zZ z`*S{f%Tsoil-%W+XOTxxe4|~9oD_UKLxxnP-;WHg67N!x&qmSv1EDPBgxRZca@V(+R&gPA71O)HCf$Q_7CLP zO2-n>1{DlkuEu}dZCx9;zNTj3MEks)EUq z{afNwE2a=Xu-}D z-YS&;ij$p!HkjkM?+%BD2Oa+sWTs-`{Qg$Io0)V&TM%85q1FnJWV+|tB>`#6gt6ZH z={>w}=cVoo4QU`n9reG3``wag-;^tU%zJ`mRfZ395BwH5Cj%2i#&dy?s}~6?w5VDE zt11ROMs9|hND3`_h=^=WqNYO{}A?{;dxv6t6i>+S$^<_ zNz_g56{jYsrpjAa2+JQa3AiS_^}-5r;s2_)SBv&w8bk?j79e`vYz8Ka5;gwn*YB9D zvio>?k$lAPp0w`s^Q+hN)1Ha%ReZbcfXz=7doPoPXaQ-)4_=hA_S3@@BgTKf-Vr2)Yd zgOcnHh2Zf^z|FaTAk-E(DU&IT8Q1(*knq_q_8*AEn`3wiQHB$5iA*JcJRP1DEJv?4uBd*S4T;Im_m&h#=~^L10U=9>jqN>L(=p52hzK7 z1ot0TP+vqF1upfmlKTiYmY2Z^T?3FqBvk>Y3}BAoH(oJd;5UYj{sT#!!7`^^Yx@Yi zx-`3gv31H)hn15N$>PpRCY+zBBFBC4+NlIUw*2f~S5|E^$krjaq2<7*FQtIww_}b_ z=0)oPx+hvD@#B(kyLj0zm}0FA-3E`H0<1|EMa(l8UJwj=<0Qi{j{E=~p2Gh?Jon>W zlnyhrxl_$Mq`BH(p)EqA%~Ov}n;bjcw4w-mJ>w~NWYehd&qZZ-VY5fG2Lz^s5qNo# zaC#gTxHX3XiC3h07$3-;ybJh%0ph! z{4w}nwlHxF$?^d>&Fl@@cMQ-270ca8rOXpFS4LSW3qGUQzXFq7^KhoFDdW6r z7w$k2!;hyF)PZj}n8oh@wPiuTxBDO0kp3Un={xhEmhhjKX(){O&$cQ0j|&A|_&-`k z=0BNljQzh%MJ4{1sX*ud|G!s-6mnA+*)D6D*j&z z9{**k|1#Bo#s2>frb$J#8-Q)890>~+vHyD_2r&Zl>_kdBGYLz;GS2wnfmIW5V#L1_ zm`9-P0N<(&^nXhZ5fqhfSFTpYcDbo23NFr2Gzh|x?ccXAahP-%0v0eDsRzH*p@dEm-vwCw!Y zK*ZpQ>x@S`?|uJ}buF`!gnuB@MaYhf1NV#TZ*Z?~?eP~smPy5bpJ|r>|71`%=72BT z)!gQ+t&Qu~S3m2&uY}^Otaq1=!k5dIq|kS$;26)HKdGnl`fkst`t7-kt0n!-Fb@>J z^!@75!5T5P<9VahFoy7xmFZmauER9H#Fgg`OO`z5hly^X@A?Oe6eV9nF3rR-N0)xM zGFU-=fzB(CM4e#^2d_7XoWbuXfv>Zuue{z0m6~Hb=7=w5Z^H>&j)QRHX zt@jxxW~9&?L)w7uIMT%j(690xCU)&V$`U*!Ugh#;{9G48<9O}0HAJ?i9LI^Pxr4rgu!c;;MiZaPEmC7=qLiTx=Le>eP zY!i|#CcDH;_AS|sr7*}YGnO%CdH20MpXd2}e@}OJ_j7zdpX2w}{fEPGOmEY5UGM8U z&)4}n&+B{vEZKoOlf5U-#)$kCeSg|_|KfqNu_gR9ua&_06=?00RpirKS#zPHm*ktJ zBv(4#r9b*b_rPTHCmpd3rJGlUKA(Mvq#A=TQR*1uMahHo;cX6pH^?c-EPJe-YuMj6 zp%Q(t&}0YJ^hQWd%S?Hl3<^Ye`TT5mHt6w}BL()q&R1j7E%fq%DUe*81+QeGGOfdN zlNau*g@@=&hEvKXri=Q1Bty=1hN~4Y3r~jlbU0iq^LTI-tnQj&-`eT1Y|PB?UV|*_ zp{yh4{T!z;ic$R-`E#a1j*SSOFOLMier27GgFwG7A&M;eV!^3U2UAiwC~!V zayp(U+@AFPJf?$G1<$uRkOs36`D;yb4>N{%8(!lWVci}OS^PWFW`MD87SJ_ZY$uv> z&}&AGgoTP>$(5`jRrTkwqK(=$qfaC1)%5`<_k&By7%CoUC{v*mL7(|p8lD3w!U3VU z%(hX>$*ETN)mg@otmag-aUW3tDmQ{v-IA-xg+={`{oHm^zmu>*oDk5shO9*_d6c`0 z`&-PmK1seWTTbnmM^Nd_y=!3qr%0*}VBl*o^%|={TOn3D)SWy;;Ak&`W|thxNLYAD z@sOuS97%}9;eV%Q0qB)e3`z=HkgAZw9h|7IbM-^#P-!$vyly#jP2UE;b`epVFy^Yb z`M6C4>JfNT7_GSm+Fr_^G--L*Z&<%eO)K?^Mb%M^%>4D3$-N^Mja#JmSKZvA?MB#0 zTVlsLRw9@{kPEy!`}j+o7vNNm62+nJudksAXC4B(<~SbVh*Lq#H*IwNV-z^ zvS9sNTl%MNf$Mpj=dvZFN1HEfSXQh;&K;aYEG{a-ew}?@JAiP5CM^Q44&n#uvoYxx zQg40Fju*Xebu|T+C8tl2eqO^I2H-i?on%lb`@CcT?;)niPfzvDpE)6xAYILlOB?rTrDSA&$J5+P_xL=C7chQddV@=Qi0Z4 zosc}d*FiqHMQQ5WsbteVdkR|#*{|-rJ;~0~l(0(dd;ILI8n}f~ZU)(`Ce5u#rTCoS zhmTmISjV7xgA#B&P}K-#=%h=9>=(p24T4@Q1$}>Bv?#rih9tGH)|25)k7*U?p7smm zzM2al$!^BTXg{w@%6VH{6yEUNM4xEVZz*%UM*C2lkh%UWTez0~$nUc?di$yO7s5cV zu@ij7Ky^!Ll#ZOU@hIZpL=a2|B0;5tG$ILJfqCDu_`S+DQU!73xJi0yDLg+->eYic zdD2J}z)}3*+GgWn7`(HfZ6V$WgSldWyCoYfp0IxOX$~`7-(*FLdfgeux1m{KyTV@o z;KX7-a-}$&EDp?^>7Je$=b*+H2)QlD13B8=YLdk}e6-xqGeJP70!8D2E29ygGq9i0 zb7~koeYaaG=x!AOcXTRo5d5GZ~R@v{ZGAzI9$8*-3< z79nnD3s4PG?h{36$|*zpl=i%T-;qxbd3Ne$oZlan0+{FDXmiyuBPt$KN;}=>Ni^|aqP;4#R%eIz*QmT_U1kARv|L9`h;@@OW&{kqpEF*>b}7c< zQO9m?livQlF~~#G6)#4geQyliutsc@_>j;5NTi*z?6_L6c+*#q%**SrX{d;x6mgg1 zRymW`?arlW*dmUDZ&gN)oLSNJy5$PwhTIaey#Ts+{)P=aUGC-KX3h!5VPIVUgQwmb zJRbjVneBhwxcz_pjf@A|5UQ(BhsYxX%tM)U6?mh-53aq7R8fvgC$uo-jt;d1QD|6% z5fDA9CoNc^#<{0~omh92YCR34n7ve}_@~bNqIS_sG2U=?gzeovHMy-ZT`60PZY3yx z5nnIM6D&M-d`*9?@$-okVe*2tzfbzMOAZ#KOWyl{oVA|gW3X&t7!uRHb!xnUp-H#k z6qYKn03Tg`DZg=+cS2)Vn-zEw6(Lt8d^?kTl%F-ewY~Mg-KcKE>LYQ(X;Wxdvj4GS zqN#)D#qjXa&~mME+LLMr?vc61=X0XU+lhZ=^0*95X}Q3WRdh7yw(`h$H|Jm)-Y{>JSLyK4#J_BpU={ ze#OAwQ1^#%C8^j3(wr$7t{woxoAAH*1_p|bW7J`|%9Edia53OSLL+$uP7o1T+IGHV zV>;p!Y1ysp;@CkT{D*!;&;qTAbJiDws;D=lUdl#&JpK3bm5LlU} z6>2@_!&$JT<8}i8>-Ax`0p|&m0NT4VnK}(jtE>{W9j=)Hv(`&YL$6te?-bDp(IcV8 zzjbs&E22%(e2GBN4IGzodyAq9{$&}Y7;^f`JAm{2bu*$GJFz!wA>eH2W&Cu2wa|l# zEP(|aXVp}*TniwMaEtJ2FgOGlT#HmJfM%UL5v<>i zDI9ZjpsrQ2!h+v`lLL)R!axi0{_t|AVNWBh6XFC{5x~BhczhufDpX|0qpK8IeC7~X z)8kMbEgR~N9Kv%B+6l`sAjKBavitn8{R@goHo9HnFF`Ln%mbeUovw#r-J zTtrMKgH<=95`gxdD9{Djg5p+Wf(`BVgG+T5`D@GF&O(!45F3_Z|2{PJG|(u;fxqm2 z2Q6f5;#~N(UG{$giLr5*HEiiIBx6r4`zanM+h;St8#ff{YzAtH&j%hu^m8j3eW}p; z%m2YMsEys;tF*RW_}}>9o+k|%E{iECGTE^p$*1Ik6ef+FW*CCa?FDq8fM9Q=XA>U&C57&+z|z{tc_ox@v$si4+{o{=^-?IyB)cZyT2CTWL)nO=gD`{ zf>SH~@pL@*AEK}ij=sn_Lk)STI|U3kT`Is_UtnsAxg)A>L9v$`R)e=g-8gWblE0@9 zoCLbS!oNs(n82U1g4-&moXTM%mWDdNhKBlojDH zh;eZHNM9VkS;n%^P<<1l876_HIa90CYl&MBXCN{-=SdHtIgLp)eJ>*usF;@-6qn5W zA#xf2$BAkNvgnC!ELgvYg5y9_VCN|VH24Xcb3*eXrybgm3nk)3|AA>0{Rl&`@@&kv zW$EWYH7Xd)&sz_m#exSQf**Otz6nBUQb4vX8!f^ssi{P+El;N=D>kft~Ljix+Tdsv|4{SvlP#mpHkOqjs zIb*(x^?1V4f7o$ZY1R+C*zF*|dYpo4Z*<`}TQ}8Ob6m91)0}_k+I&RPkJ#dwrovVX z7OXSl30JtHna8KB=vXjD;3yC*vHWJvfxsL#fMe41G5}&v5IEZxykD_oPf=50-LYx{ zYirhuysun9b|1x%9nlMyhQ?VLuG7E( z?T&}0Ex_1bxQIK>tO0Zl#D|>L0dS;s>C$Wu3f5BvhVcWy(g!D%kk{FbKe(cUI;EU` z#UIIi27v1l>6B&AYp6caEgG(k7X=cKCDoVcEYe}=_oGV#v~Mb`5O!uegqdAFP7(uP zZw}zI7gL`Iq~Qj~C5dI!8yKjqf-4RHDSiWkIMhmyPUfs9a!-m4+;dd>lu?FAFU9 z?@X&N6^S2hgv6JzXTPaw{vJ?f%l;OSrr#+;jh=U9fiG#swEPS&OXq&VpcABkwOA1o zP8@P1)dK3y1iMbhMU}GRid~^RfA;e!0!!En`1Q2!sph+Y-%g(Kik|$hX+QW=4r3t* zv3ykB46X%ikO~?VJBgnA2k&9e4iWgWyJcavPZTyF42g356_9|uiX)Ay=M57-^}BR+)F3;-VX%u@+d zAk3b)=`vO@jurr1SU*;n<3i#b2#qVUBqi@Tfi&zC0L^;mTu7Th#O4e_6w120z+`7Z zOSt*$c{-S3L>2=DqMA2BzyfTLdmPQd{NO5u;*kX$_n>J4e%u>a*|or|M7*FuoFHx> zCiRNYxrt2x6cSL5|Kvu3s~-dVeE~J;3!1sp@OAWe$O;W7@XvRkx&UB+8fJr`1)91! zBLoOs>N8Y8;a_Ggp6N=x1-RV5e&}wzf6Kq3-2drs=mh*12GYDJ06B8AgETeg$l2D} z!3L-paXO0gvl7a>5v?vGU zLS@ng?pEi2cA3Ur0XmCRW5wWsjYvE6c82vSntFUfP}1b>-p?X!^0#c-8#R4C`NoF3 z?|F~lg35KU2fds-ln5K$@KsUKOuhmNT0s75iLFUXzK=Q|e6uoX{kHIGaJoPMq*-jr@ zNrL?6)PS?zij7wLn;H0b%KmR=;BRK&f0r4k#P=Kl_%;B$)=g(9HBe1DLpg}hZDVq% z?`u}6%6g?}lf00c`mmO7V*dN@#RW@YoM0&eOA~562QXVXUnGcB3Py+CIb~jKkcZAL z9Ap$5y-Aj7Zk_#WMgav9jOCk3F&SPuoFJDbPxDe$zno0AHqD~xTYbQ;`4M}|VfjL( zOXkeItILl346H{Qlpm;HX_y>aG5u#N0{6aJ{XhKSAA_p!bBFEFi_0o-u-zn94yyB| z;^C@gVArI{a#1u{c5qBI2Mdf{vUmwTaA0nymn;Z3G$78|#Rg_-J9FHtVT$9TQv@cq z8EBjDjv3=bNRT)uu8^m-uqS@?sTX{LF$d7i(m|*kO}>y6DEEBwzX|PMU}Urw`48TJ zi>dI>sqbzc)@D3MSkeiZC(DiuAWfraNI1DS(s_V-VRl&q5imd(Lo)ZP zjzYH$m*s?@Zo&}6(J9!^w1L)nVEsQgGDygd`GsHN=Y*96&;n8dswa2>SN(1b5L*k9 z`}3ownB$*@^8nwX_!qEwF^7eO>LDsWC%D%dj?%gU1DqJfvIJiiPliK1G+MkPUNM00 zmzf^|T%QSv88#kSMYjJLXeX(ALuUkgqg{sMO6-@&(lR#^2U?)a~Hhp`KP!trK!dJnu5_%iP~%b1Jh)WDY~NCivmxRw5$ zQ_Il8d6!YtpCRsXmR>9T7`2A54#s4lO8y(1n{FjtIun z4_tvJHD8m3h7il!T=<#H=pS5~b~D5+Q2kCuJ@EF`{_ty6{Y!G65aABaz2gxIc{RQptf%Ge0_adFBxA$eI4NI7Ohs; zVql5RrUHI~wR!^2^vEHoC!HXnTh|t%$tKu0P&pAlhhsIf5NxntQauCd{67=8C~y@1 zgQq@qG6vEYoZ)rjxK}^}{?ohv^g_XJo?Ej#@O#_&tyC9;WqVRUoEQO(*JP&-6|tY9 zH-dn~5WkYhxlc@AfJ+dEOMY-!T$}-yKs1rdy0_nhIH6`15aeA-ECDo70r}O($WT~~ zhz?i(grK4pJN{kO{tqA;)#~!AdZ33ILI0fH8jud!Bne2NO4mA6cNi>HyvygEL_%{DxSxyirb9gqP zRK@UzwIwy-mE2QH?+3>xh`F=a!%%k)SgCZrh|BWP8SHwn!J!fN84sYF43j>h>CzJj z<{EMWDiLl)OtIGio2&uG^-5iZwgXquFz_pmB763iT<~*mLO4f@zA|sVT3DYSgtR$B zm4G)QcaDPl*N?N2Q?Zb=Wf)k2KS`q{op@3r75^9f1o+zDGs7qd{)wz8 zrT@eQw?|Ep7jD*CPcV~^zb1EG`mujTYoyXighSqu^Bn$@D+whTV}O7;kDQx1>R0~3 zF@tj*zK;gMA4{y^gtwSxo6uSE!YTRa#ZG)Wp6Zy&PKM{BBo{v9NPh}ebI0!6j>qYVr)?ujrN-SIr2?35p zJskxQ_&Ppt94U-=z{Ey?#7}azH60KV;W;XtKp4Eg4o@S(8-FTjg5Whx3YzB_BLAca z!F}kLIX7JgQg-m?6UeEI!$98lx1|SWh~FmPl4rPkRQdmqOM5Wz$6^I(^2#;~8%O_D z{;VDPed$6vi+>c&F11XXe*twWwxE(G5OX$`yTP#@(*m#3A;%Ixx?fZurWSo&4wGzF zA^uqo&GHt2mVZ)Cm|un%SE3>>Ghad=4>{u9L7KiuL&3=&@%LPMz1I9}eOv!=2=TET z{?mV1wdeTP*0@9Q5&H+1vKfO6ShRh=N3HiXehYd#^=?g)4qK51mZd!Z9l|b-Mg9bG z_1R~oskued6aWEKr{HSzR%r4>I(frNM&iS-$YTU%gmlq+W!joKUrq&XL83u*fJJvOM*_y&%B4FE(pP=U}wdD>;t?}+3`HZpn~?2qL*VGq$N zXjujC3t2b<3?WTW|Cu;;{#LTc5j)hw#HQhXLk7Fzb8+l=#|jcl@+g{f?3DR-(iECA z%%0#7raqx>ft0;wiv~Eo^;;RFA6(Zg0AevTQCcCTH-fzq=mnhYI|V=pq-KiG_ey_Q z`k|8wow9}H`@*>AapNxb1y;=CMTu~TXQkm+D`o=1Ul!}AUxw4Sj- z=LjCu`d!gNSM6^zcjK&6bc4r#NW+05q@Rn;pDwQKwVR;28(65{ zWZsSr{J!YH4qLelVq`_p47Jf;m3^V&HQ{uuPnqahaOzLf6gfCmML5uZ{(NgKPz@fo>A0c@_O-iV&9}y~~On|D5&opVTcVO^Ezy%1*jiFL7evcU4}F^lI=< zGa0@Bi!|cKE+efKm!*`NS%Rg;An@TmodWTHV~T>kp<%u5r>d_hkcwQXC#)}J%Q2@Q zrm5s{hcZa}`~xgLLz?p(8kxchgXHf-638A^Y#Ibs{^}2|S;Uyd*l%jYpnot$Xk^O* z{}Yfz*V0e~Um*&rCfhqhK>PsU-tsOy7|%2hC>5HlDWyOC&ROBnAPZ9_Fv07YPy=!n zISm2l9sgaf8>qZD7-M;VaP{n`jluD3F-zos@DTb4Y8ac^+RhM7(s&4H&BGP{LwXk2 z>Q{eLw0~2ye^a!7Q?&n|0^GkT+P^7UaAosviuP}c_HT;zZ;JMBiuQkpqHRE0Ap$|) z!c?H_#(-#fdQ>8g##5zJ)jkmouMfHu-bQ(wB`;>;q!Hr4 zJ%9WUE|6$G*31J@2q23YF_G)FhVyz?$P2hNL9`+`&P#FS)A2RqlXBl60XCA8sCFpR z#>5qoZ|Gk-u*I_8>W(qx=5DJn`PBEIY+~q|a!AyiQ}YhKWkEMj%4{u8ROf>(C(UbP z#@a5)^ci6gxb+Oj?(y|4;XwaR1-NojYW)Nuh^~)^Zg6LCd@acUw*Gi2Y z9knwDdY@oL3ovEc{f*@&N4}V4Bx`h?a*ezpK$Q^d_2zXEk7f%XQJv25(&hKz_FmhF z)1{>eUG-jKHxxIM_c^r7DfZ6YeOGaMaEpYRpRnP<6qn+t)mbs^OzS%2Z%JxGaj6_2 zm^RbUkJU_5Fd|U?nF0GY#cRaE!*1()lIL%P-PEs~k(PU}t%JpUYGw=G@+5vll}wZKsFuGbhg1rSIF<*8qKQd;6u>1v_k|3HL$ zKLV`)HY%oLn+3nRVI6TX^i1#JED@Ke#`6r@bu(?Ybk{D?Bjz(^?~IPd-|5I%d&Au7 zzy@3uiK^v7C6#C55W1{$UoG7%dF7R!f5@Zq<`38vxbSWdTjdnZ_gWzIRiN|>Bl119 zbr#BMqJL2bLPrK6sRoZ!ukNm$SvMqq&r9Ksm*gF1wBHu<1512!`42KGrUXCv#?|Mu zleq@FNEHK&-PN_e?A>V$kS*gR73iH^a9312;g0d9_J4KA`mSK*t*YlF+M72T;gWMw zcI?(v@Fh@sZ1k-##ala7H7cGT2bkkuB}2Vs0f$k(UZJ4uw!K0#J+7#@BMaqH{Tj=g ziwU}RkdIN_^=;%)-5^;P$=*V!78k9w(A31!aeCf-!xtW#mP9$OzM2?n=H{?dTfyPs zl?wC5xWy9&ZlftLj4)}*57Ry%xc-z^A|yM5(*GT0wNLX|?gzkGo-*sRKh?WoPZ8BS zIPCM_{WO#D?+&G#!vcF&n3lDdJ4lRNcr^GbzNEBboY2KF{`ymTQ1pf6^lV+ z!}>1~2_2A)QQ0E=7I87X(VjmHyXxori?e8d67@7f(Dpub#}<+A<@#*EHo9=%UE;a| z&_ThoZ(r8#o3}ocb2=*{kMB_4ShrSc&9Eq2z;1ppq}iX0Vk{5oQfMN{>!W#_aFsR+ z*9v3Yll>HrM~yAnwVeyxM(e`OY(f!}n7(FahLg3ve^GkQ>;ri{0iJ3P*@{L9vu0dx zIpirDt>FK6$Ae-WxuscfHrJ+!`_}DFV_jD#l!K7dk)nVr(o2ofHu;n+`elXp4 zNQ2Kshzc}c;!A6mHb%6!D~n(!ek`|$;pEURQ|M}B_Vx1w{cTGA{lxXgbI%%sBLbu8 z4?r@_QJ1D&zF^NYJQlFPLI+Ao=xZ8AUtyqmGp1DUs624Rx@0PmkKMDW3R~K}-K&Ss z)OSzG!q&S=LPY%1ZW@L@VSh!w`ApikdO!>^hO)z`(NVfu17w(Bds@h`q}k8vwRzF?MO$udHk1U zLSM+l*mABc*Zg_z8|`HdmGduhq(74TMPunN^85`g4Ejt;Ow|N#=V_`$9^LYN&$PXX zsmw>|(H&MPmt$exLE2VYsWsidWPigc>5oxm{D}GaGftcIioZR|U?CLY-{x;nZQ{Vl zqOLM#Sq6-D9TH=SaFvm}q1}w=t|4~H-pXnFysluq!|1p_`mosgRl~x1)eu!T%Zctt z>yJq7WjoMrld{}CXm`n9FKok#mSbCc%1TVX)=?bDw}mbQ%L!s{b8~M?hg(wW8?!5! zAqH4`6%FLixgVDW*(yWE&g!L#X1}YrASFVt^reEf{8)6sS1Za)p1$~9jj>**1P_A~xC8p3b#LP=ZC#wjGM*4fMJxmw=mS#RH;GwhP6i-`*N) z20G_l{Mey8?S}sinaS*<05vV31~p!Y7XoIfR~D5YU9QS0#^}xZz2ju`8Trt+hW4Lb z*ELl0AmBmznA^zhqJ>$;j&EJ>314la@cG}ey3%huxmfc*etWaHU}OzZ>BE8I1IMMe z|I05Kb+s&K{-NRu{i;Niy+yM|Ly|i7^k}AI?@nUc6q5axl*dT63YrYvX6cU z(9lkh48^5r`ZeA>J1oiTRsk7w9Ju*w4c1f#4m|>V83xorj4+XZfNzuM zG=h_e*J;rexL)ax{aZR+GMjtlDnqQ3dm24etEq(|&uRrl?UPw2Z&D1_>nNRfQyfmE z$32i|U2v0h+4oMcnz+3;=#7KqR zM3stZUwwmxu8g(u`eJp$)lT|Y-Dh>Jvjdxn8oWF#V_4j&9MR+J%E^O;%Sb&HV`B5j zeC1&^m#LG83m4IQ``oOCZzrn1HX#+DD?g+caNA^A`BP?I{=|i{_XXjcSM3^GQockL zhCP!hc`gqK{!LL_Ij{KhYzPrvhLqV*%PkCd*}z%Iws`}Nzt*lOX%6Yzs;VnAGe=(q zMJZUEe#ob{s-qn%&d{R=Ga_G=G1+&6&Io*JSr)G?XH2Kw;c|UquX$pFG&gmyg}duH zs_LpN4pwxFFfMr44m`HL$oz%U&I0`%SF5Sv$}!TZmWH=n?(GWE94XSB`F2X~+M(^% z1&)tMg2baLeM zI>f$3Q;x;Bh|cH^#$H*J2(Z5sHBTuhD2;B~?ziWV+~khp{tavS?pYYK`8dff{EWJ0 zp16hDigEWJTn+xl6Ei?H@giET59|=%?}?t){4*D+uvwFmxL%zQFA*QLz))Me15!?I!qWC^kz?QHz6B3_(+#w_DV4roYB7L<7WT5H;i{sjP52qHl$5Gy*9Rie z?d)A=-gRVW@$kfYx)TQiWS-XUy{77J1U-1D(V0X%!idOX-(ctt?Q?GOq{mRdhE!eE z?b1W|Ud%nJao6|aS<-Tf`?mcxhnsreTNn;QHS$7Lu2;QhYcZKh?PvpkqtfWX+^pS$D02WQSZe(e~xqnIbe_)^*#B*OG1Q&xkBP-R>eQX`ACF zH~gIGvN!@2s8lY?AAPTu+0#z>mL6KqSia>rvwi2t-FsaRHPVuZrg>D++7Ruw&qICS zca4dg$iUkTd?*gzI_2S0k4U6l{@Tl=ctE&3T*@wVkdGpBnPY zsSO)<-FSQ9VPl%WvybVLr;JY`^e>{fd7-N5ZrRxi!`>gR%7{Pw zau?&t5q#hMvw)fKK7Ij1(~8;vu3|S`mC2#M5C2pVbbQH;w_sN%V$p_B8W1e zKSx0A97eU@M_~sVo}zMMk2_aAuQcC4tgyFHuRI2}&?8JC?x2dMmd{Q4C!L7+C{o$|jGcx@)%oTSytoU$zak}G{O_(r>)C#P6Yd$dov7GCbLi&__T|7a3W(;IibWF-b%;{YB!{e%jaY<_Yq_F`_GQ)K#Ta%5_y65kh2g*A@#Le_Sgjz z5{kvU(+O_Uq@t&jKiMX(gH9hM55WQ~1wb8fC@+S!t>g9ChS zF)FH+jnMTysrF8Xg6zzmypYr0f>&Cd;V)4Xd4WHUs03c;LE>(=cKT2m19y`s(Gqp;Z$URlD@1?XQ>M1D-XIoJ8SmY zIm^*GeZ~4+%0_RA7Fl&S?rx2oiUZohoNRI>QW#$`R@rn!AyM+td$@%w=l-jM`u=aG zhow`{3<_J9xV?U05D~}o(Y$;JhR?t{I;HA-Zi>2w?sZ>9h zcje7XAE5*LY5fSL+{)%V{PB6?9{$r2naB{e%LGlw#O#zTFH~FUbw~Hnu*0@dT_v|l z>u&Zu`(|$~b>+m_dlB>EV=MQL*RASQa_kwaO4u(YSVk=)CQ=JoLpo2s&nzCZCVC#D z1fDk!u#f3#oAyrX84iwpeXXfDBsi;IpM|o!YF(A(q#s>j%kQ^_pr4(Xq0E^c$ocUK!d<>;~N@Vm9yKe)c02+0Z#es-@L^*KSDF*D3F z5GW-{R&Z%PQ3>y61Z8-EbpMk(SNaZ^TT;q@p zzn_!>gFubYap);2c%jne<@dr6_IAGaGWI%3nc`Iwwx z!ycm<cSg(0ld$f3krSEE$33PK9LHdS_;PZZMnlFVN}yQ0|RVv|wR6{?uX6n?{OR9cvm@XYrt)(GKadQV8ES?wdQ&@A5@?I><(HF|Y1(qs_ zJfd(kwes4$j(892mg>8t^jLCo+qDaPc2KV#{hZNO8vSP9oakc#;YLO!J&fTyjCiby z4$k++TxxeHMGedG^J-G!`D*pNttx4=&kY@AVtkgRFW6^%&a)3ak`S#xKc3}pl6X4QxJPTibsu=xL#yK@^P7#^*A4RtK0k_ zA(ZVnq|aZeYTGV)u8WYB|6b_~v6Sp$n=Lr{^~Q^eaI@3Xd70XCXGvxL5?*rjkyUs3+Sa2UH{B<#BiT+31Pq9%X;IWQ zwc6M!$`MLml)IumvOba(tb8atMfcR`osFLUE@`gss771o2H!PDB?8&7UN0ray(~AM z+wXjxgLF!+dpgN%@p?6Qq;_les|4R057eJ0>|HZT;D_rHRH(k~b){oie`vp3k%?w2tR~xI6bY=a9+Pd_f^V4^* zqFkd6o{~8!U8x{({9*�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 literal 0 HcmV?d00001 diff --git a/docs/vFWCL-notes.rst b/docs/vFWCL-notes.rst new file mode 100644 index 00000000..17a49399 --- /dev/null +++ b/docs/vFWCL-notes.rst @@ -0,0 +1,337 @@ +************************************* +vFWCL on Dublin ONAP offline platform +************************************* + +|image0| + +This document is collecting notes we have from running vFirewall demo on offline Dublin platform +installed by ONAP offline installer tool. + +Overall it was much easier in compare with earlier version, however following steps are still needed. + +Some of the most relevant materials are available on following links: + +* `oom_quickstart_guide.html `_ +* `docs_vfw.html `_ + + +.. contents:: Table of Contents + :depth: 2 + + + +Step 1. Preconditions - before ONAP deployment +============================================== + +Understanding of the underlying OpenStack deployment is required from anyone applying these instructions. + +In addition, installation-specific location of the helm charts on the infra node must be known. +In this document it is referred to as + +Snippets below are describing areas we need to configure for successfull vFWCL demo. + +Pay attention to them and configure it (ideally before deployment) accordingly. + +**1) /onap/values.yaml**:: + + + ################################################################# + # Global configuration overrides. + # !!! VIM specific entries are in APPC / Robot & SO parts !!! + ################################################################# + global: + # Change to an unused port prefix range to prevent port conflicts + # with other instances running within the same k8s cluster + nodePortPrefix: 302 + nodePortPrefixExt: 304 + + # ONAP Repository + # Uncomment the following to enable the use of a single docker + # repository but ONLY if your repository mirrors all ONAP + # docker images. This includes all images from dockerhub and + # any other repository that hosts images for ONAP components. + #repository: nexus3.onap.org:10001 + repositoryCred: + user: docker + password: docker + + # readiness check - temporary repo until images migrated to nexus3 + readinessRepository: oomk8s + # logging agent - temporary repo until images migrated to nexus3 + loggingRepository: docker.elastic.co + + # image pull policy + pullPolicy: Always + + # default mount path root directory referenced + # by persistent volumes and log files + persistence: + mountPath: /dockerdata-nfs + enableDefaultStorageclass: false + parameters: {} + storageclassProvisioner: kubernetes.io/no-provisioner + volumeReclaimPolicy: Retain + + # override default resource limit flavor for all charts + flavor: unlimited + + # flag to enable debugging - application support required + debugEnabled: false + + ################################################################# + # Enable/disable and configure helm charts (ie. applications) + # to customize the ONAP deployment. + ################################################################# + aaf: + enabled: true + aai: + enabled: true + appc: + enabled: true + config: + openStackType: "OpenStackProvider" + openStackName: "OpenStack" + openStackKeyStoneUrl: "http://10.20.30.40:5000/v2.0" + openStackServiceTenantName: "service" + openStackDomain: "default" + openStackUserName: "onap-tieto" + openStackEncryptedPassword: "31ECA9F2BA98EF34C9EC3412D071E31185F6D9522808867894FF566E6118983AD5E6F794B8034558" + cassandra: + enabled: true + clamp: + enabled: true + cli: + enabled: true + consul: + enabled: true + contrib: + enabled: true + dcaegen2: + enabled: true + pnda: + enabled: true + dmaap: + enabled: true + esr: + enabled: true + log: + enabled: true + sniro-emulator: + enabled: true + oof: + enabled: true + mariadb-galera: + enabled: true + msb: + enabled: true + multicloud: + enabled: true + nbi: + enabled: true + config: + # openstack configuration + openStackRegion: "Yolo" + openStackVNFTenantId: "1234" + nfs-provisioner: + enabled: true + policy: + enabled: true + pomba: + enabled: true + portal: + enabled: true + robot: + enabled: true + appcUsername: "appc@appc.onap.org" + appcPassword: "demo123456!" + openStackKeyStoneUrl: "http://10.20.30.40:5000" + openStackPublicNetId: "9403ceea-0738-4908-a826-316c8541e4bb" + openStackPublicNetworkName: "rc3-offline-network" + openStackTenantId: "b1ce7742d956463999923ceaed71786e" + openStackUserName: "onap-tieto" + ubuntu14Image: "trusty" + openStackPrivateNetId: "3c7aa2bd-ba14-40ce-8070-6a0d6a617175" + openStackPrivateSubnetId: "2bcb9938-9c94-4049-b580-550a44dc63b3" + openStackPrivateNetCidr: "10.0.0.0/16" + openStackSecurityGroup: "onap_sg" + openStackOamNetworkCidrPrefix: "10.0" + dcaeCollectorIp: "10.8.8.22" # this IP is taken from k8s host + vnfPubKey: "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDPwF2bYm2QuqZpjuAcZDJTcFdUkKv4Hbd/3qqbxf6g5ZgfQarCi+mYnKe9G9Px3CgFLPdgkBBnMSYaAzMjdIYOEdPKFTMQ9lIF0+i5KsrXvszWraGKwHjAflECfpTAWkPq2UJUvwkV/g7NS5lJN3fKa9LaqlXdtdQyeSBZAUJ6QeCE5vFUplk3X6QFbMXOHbZh2ziqu8mMtP+cWjHNBB47zHQ3RmNl81Rjv+QemD5zpdbK/h6AahDncOY3cfN88/HPWrENiSSxLC020sgZNYgERqfw+1YhHrclhf3jrSwCpZikjl7rqKroua2LBI/yeWEta3amTVvUnR2Y7gM8kHyh Generated-by-Nova" + demoArtifactsVersion: "1.4.0" # Dublin prefered is 1.4.0 + demoArtifactsRepoUrl: "https://nexus.onap.org/content/repositories/releases" + scriptVersion: "1.4.0" # Dublin prefered is 1.4.0 + rancherIpAddress: "10.8.8.8" # this IP is taken from infra node + config: + # instructions how to generate this value properly are in OOM quick quide mentioned above + openStackEncryptedPasswordHere: "f7920677e15e2678b0f33736189e8965" + + sdc: + enabled: true + sdnc: + enabled: true + + replicaCount: 1 + + mysql: + replicaCount: 1 + so: + enabled: true + config: + openStackUserName: "onap-tieto" + openStackRegion: "RegionOne" + openStackKeyStoneUrl: "http://10.20.30.40:5000" + openStackServiceTenantName: "services" + # instructions how to generate this value properly are in OOM quick quide mentioned above + openStackEncryptedPasswordHere: "31ECA9F2BA98EF34C9EC3412D071E31185F6D9522808867894FF566E6118983AD5E6F794B8034558" + + replicaCount: 1 + + liveness: + # necessary to disable liveness probe when setting breakpoints + # in debugger so K8s doesn't restart unresponsive container + enabled: true + + so-catalog-db-adapter: + config: + openStackUserName: "onap-tieto" + openStackKeyStoneUrl: "http://10.20.30.40:5000/v2.0" + # instructions how to generate this value properly are in OOM quick quide mentioned above + openStackEncryptedPasswordHere: "31ECA9F2BA98EF34C9EC3412D071E31185F6D9522808867894FF566E6118983AD5E6F794B8034558" + + uui: + enabled: true + vfc: + enabled: true + vid: + enabled: true + vnfsdk: + enabled: true + modeling: + enabled: true + + +**2) /robot/resources/config/eteshare/config/vm_properties.py**:: + + # following patch is required because in Dublin public network is hardcoded + # reported in TEST-166 and is implemented in El-Alto + # just add following row into file + GLOBAL_INJECTED_OPENSTACK_PUBLIC_NETWORK = '{{ .Values.openStackPublicNetworkName }}' + + + +Step 2. Preconditions - after ONAP deployment +============================================= + + +Run HealthChecks after successful deployment, all of them must pass + +Relevant robot scripts are under /oom/kubernetes/robot + +:: + + [root@tomas-infra robot]# ./ete-k8s.sh onap health + + 61 critical tests, 61 passed, 0 failed + 61 tests total, 61 passed, 0 failed + +very useful page describing commands for `manual checking of HC’s `_ + +Step 3. Patch public network +============================ + +This is the last part of correction for `TEST-166 `_ needed for Dublin branch. + +:: + + [root@tomas-infra helm_charts]# kubectl get pods -n onap | grep robot + onap-robot-robot-5c7c46bbf4-4zgkn 1/1 Running 0 3h15m + [root@tomas-infra helm_charts]# kubectl exec -it onap-robot-robot-5c7c46bbf4-4zgkn bash + root@onap-robot-robot-5c7c46bbf4-4zgkn:/# cd /var/opt/ONAP/ + root@onap-robot-robot-5c7c46bbf4-4zgkn:/var/opt/ONAP# sed -i 's/network_name=public/network_name=${GLOBAL_INJECTED_OPENSTACK_PUBLIC_NETWORK}/g' robot/resources/demo_preload.robot + root@onap-robot-robot-5c7c46bbf4-4zgkn:/var/opt/ONAP# sed -i 's/network_name=public/network_name=${GLOBAL_INJECTED_OPENSTACK_PUBLIC_NETWORK}/g' robot/resources/stack_validation/policy_check_vfw.robot + root@onap-robot-robot-5c7c46bbf4-4zgkn:/var/opt/ONAP# sed -i 's/network_name=public/network_name=${GLOBAL_INJECTED_OPENSTACK_PUBLIC_NETWORK}/g' robot/resources/stack_validation/validate_vfw.robot + + +Step 4. Set private key for robot when accessing VNFs +===================================================== + +This is workaround for ticket `TEST-167 `_, as of now robot is using following file as private key +*/var/opt/ONAP/robot/assets/keys/onap_dev.pvt* + +One can either set it to own private key, corresponding with public key inserted into VMs from *vnfPubKey* param +OR +set mount own private key into robot container and change GLOBAL_VM_PRIVATE_KEY in */var/opt/ONAP/robot/resources/global_properties.robot* + + +Step 5. robot init - demo services distribution +================================================ + +Run following robot script to execute both init_customer + distribute + +:: + + #  demo-k8s.sh init + + [root@tomas-infra robot]# ./demo-k8s.sh onap init + + + +Step 6. robot instantiateVFW +============================ + +Following tag is used for whole vFWCL testcase. It will deploy single heat stack with 3 VMs and set policies and APPC mount point for vFWCL to happen. + +:: + + # demo-k8s.sh instantiateVFW + + root@tomas-infra robot]# ./demo-k8s.sh onap instantiateVFW + +Step 7. fix CloseLoopName in tca microservice +============================================= + +In Dublin scope, tca microservice is configured with hardcoded entries from `tcaSpec.json `_ + +After updating operational policy within instantiateVFW robot tag execution, one must change CloseLoopName in tca to match with generated +value in policy. This is done in two parts: + +a) get correct value + +:: + + # from drools container, i.e. drools in Dublin is not mapped to k8s host + curl -k --silent --user 'demo@people.osaaf.org:demo123456!' -X GET https://localhost:9696/policy/pdp/engine/controllers/usecases/drools/facts/usecases/controlloops --insecure + + + # alternatively same value can be obtained from telemetry console in drools container + telemetry + https://localhost:9696/policy/pdp/engine> cd controllers/usecases/drools/facts/usecases/controlloops + https://localhost:9696/policy/pdp/engine/controllers/usecases/drools/facts/usecases/controlloops> get + HTTP/1.1 200 OK + Content-Length: 62 + Content-Type: application/json + Date: Tue, 25 Jun 2019 07:18:56 GMT + Server: Jetty(9.4.14.v20181114) + [ + "ControlLoop-vFirewall-da1fd2be-2a26-4704-ab99-cd80fe1cf89c" + ] + +b) update the tca microservice + +see Preconditions part in `docs_vfw.html `_ +This step will be automated in El-Alto, it's tracked in `TEST-168 `_ + +Step 8. verify vFW +================== + +Verify VFWCL. This step is just to verify CL functionality, which can be also verified by checking DarkStat GUI on vSINK VM + +:: + + # demo-k8s.sh vfwclosedloop + # e.g. where 10.8.8.5 is IP from public network dedicated to vPKG VM + root@tomas-infra robot]# ./demo-k8s.sh onap vfwclosedloop 10.8.8.5 + +.. |image0| image:: images/vFWCL-dublin.jpg + :width: 387px + :height: 393px -- 2.16.6