From eae0ab1d51852280ba5d59dbec81607ad11be888 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=BD=97=E7=A5=A5?= <1366971433@qq.com> Date: Sat, 27 Apr 2019 18:55:04 +0800 Subject: [PATCH] =?UTF-8?q?Hive=E8=A7=86=E5=9B=BE=E5=92=8C=E7=B4=A2?= =?UTF-8?q?=E5=BC=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- notes/Hive视图和索引.md | 252 ++++++++++++++++++++++++++++++ pictures/hive-1-2-view.png | Bin 0 -> 32858 bytes pictures/hive-index-show.png | Bin 0 -> 4590 bytes pictures/hive-index-table.png | Bin 0 -> 36823 bytes pictures/hive-view-properties.png | Bin 0 -> 51621 bytes 5 files changed, 252 insertions(+) create mode 100644 notes/Hive视图和索引.md create mode 100644 pictures/hive-1-2-view.png create mode 100644 pictures/hive-index-show.png create mode 100644 pictures/hive-index-table.png create mode 100644 pictures/hive-view-properties.png diff --git a/notes/Hive视图和索引.md b/notes/Hive视图和索引.md new file mode 100644 index 0000000..97afca9 --- /dev/null +++ b/notes/Hive视图和索引.md @@ -0,0 +1,252 @@ +# Hive 视图和索引 + + + +## 一、视图 + +### 1.1 简介 + +Hive 中的视图和RDBMS中视图的概念一致,都是一组数据的逻辑表示,本质上就是一条SELECT语句的结果集。视图是纯粹的逻辑对象,没有关联的存储(Hive 3.0.0引入的物化视图除外),当查询引用视图时,Hive可以将视图的定义与查询结合起来,例如将查询中的过滤器推送到视图中。 + +### 1.2 创建视图 + +```sql +CREATE VIEW [IF NOT EXISTS] [db_name.]view_name -- 视图名称 + [(column_name [COMMENT column_comment], ...) ] --列名 + [COMMENT view_comment] --视图注释 + [TBLPROPERTIES (property_name = property_value, ...)] --额外信息 + AS SELECT ...; +``` + +在Hive中可以使用`CREATE VIEW`创建视图,如果已存在具有相同名称的表或视图,则会抛出异常,建议使用`IF NOT EXISTS`预做判断。在使用视图时候需要注意以下事项: + +- 视图是只读的,不能用作LOAD / INSERT / ALTER的目标; + +- 在创建视图时候视图就已经固定,对基表的后续更改(如添加列)将不会反映在视图; + +- 删除基表并不会删除视图,需要手动删除视图; + +- 视图可能包含ORDER BY和LIMIT子句。如果引用视图的查询语句也包含这类子句,其执行优先级低于视图对应字句。例如,视图`custom_view `指定LIMIT 5,查询语句为`select * from custom_view LIMIT 10`,此时结果最多返回5行。 + +- 创建视图时,如果未提供列名,则将从SELECT语句中自动派生列名; + +- 创建视图时,如果SELECT语句中包含其他表达式,例如x + y,则列名称将以\_C0,\_C1等形式生成; + + ```sql + CREATE VIEW IF NOT EXISTS custom_view AS SELECT empno, empno+deptno , 1+2 FROM emp; + ``` + +
4uu>8Y_o_S z<4--spwliMGK*xEouynfa*qOtGXC7aR?^3$%O5m;9$L#EBHM8X^=QvAONHDf573vf za)6rp+GO?({A|mq**^=Z3=v#UT({s^zm+bd-axo9~bh=dmfSKT` zGa^?|TljX|%E7^k>#}(#`0x53B6IR#_I>m0Y;YA3<;nXmU2;gVqxB{>^!+8kH47B# z634~2=qXf!2MVrgdpX~|l<2q45i$SaIQ}OS#=ua0g}uls>-dh#GVFen|J&9auZLXZ zjECi}qAH{Q9W&2<9!GmqN%6XLVNtW96#{qWEx!?HDpC4s>|Tp0;;d4-r_GlMllBTd zn#xTpZQV%#e}SMr$5ZlNCq%PwGjH|DA9$z8w_uZg(8C>or?{E0(70Z@80o#KxE!z& z(FL#?{cb0}|Nr#G+kC>kf}t?Rwc&L@qHI+4o>n^ct(LXy@)*t~^;~3&{|oD*kyW?4 zkQ;U*!lcc+KepYJ7zbbcgL%fMWk=>2@-aS?2h`_26g$_;NF*62lwN^7A4Hk{&f9>N zgo^D8HWzySA$_8}8@eq*1GS8X+&u;QQD}-BGu$*{Q2@f*dDp7Uve#gIBypg2-f~&8 z+Q`0OAoyTg9o2sz<0k5mS|MlyE21y)^8h9Qp?mqSt5Fdfq#O5>bZl8G(F$$Yr0@L) z_4C^H*_10cR%v!}v-i2a5Ze2a$uR<~=Zhwju^l%CL%?u9^YDPFj~N>1cjBC}XJi{^ zTd;K8#vzx3MQfn_P58_N&U9>gODj`@Y2Zv9`RejSO8V!olX2g`k#$hDh4c$9>v4nm z|EC?#c2FO5dmnBr^y0`O_rfhRMI~LX`1cN8%@oTp54C5v*f75W`7b#}X9fTJSb0V( z53}l=2xs3JrdtVGa+9DYoxrnrLs@e|`dboj&(HMHU4$dnh%ftyB?AP4a7%R|p`1L4 zB+;!=iC^-|R_pJ}{uljtJ4VP-TW1Ja^Zko7dY|CiT72A~%`Lelxje(lr?7%cy#pPK z %{Uh{SnInA>p?yPh|GP_a7Jbj%TcVV&7=D z`q=EYP)_xh8X|yDY+!s_l zt@M`wsQc`4PR!uL8DOv}$lH>!+Gen&8;>(T351=tt(06r0{92^l8 +H)ZTU&@d0qAo(~-=*6h9Cro^llWK=5E)2T6nQvQUehT}x$169Iz$tonG zY`=`y_B33w;XhE@2N(cs=8pR>XqSnglNmSv%NB_R0sj--*9oF5S$%AiufMRT)d)9G z1t1c;cy-xOe+fo0b9GI38ZBUT;Cv~}>plNDS4jI_&5DPHOoO;cQGfD9lis;uR?u~- zQkB48 p`wL`&SJSU1FR<(i{qVQfX}-h)Eqst5*6%c| zY)JWu@QNUZRJdvbXY=T`;(sOhl$Rf77g)*_tW*qcWovFmtO3Qkx#+bj&ptf5|2@5+ zgarF^$SoX)sUj)Mk&|uVhJd?iwF6dI%j4g0!DapDumykYcM6L*v1;uQF_Vm6ukMrV zawWUzcEFdqaSz i?Fnoo};jMn1QzTzJZa?h?NDh7Xd-Q7em3ea17VYKvi0 z#Okb&WXN^k`_tRz0j5U!I@FnwzdG8uAmv6yNG++4mBc-wv9^E9Tpiu$8g-kGFhV4) z;USI5a7go$?_WkOJm8Wk0Ugnrs=UDzT~;|@=;dwy+{D|G9casy?R9k+77(@yeq*06 z_OJDET}|8QMgBf(-aDT}O5V #6yP`f&q@{dykMY313YF2JiIFvsphAbCYDxL%gYk@q5*9%_Y*P6oIl zlrMjzWyTlLZW-sCYqDW)T^UHD4utBfH>uafy+iU%f#1Q2_ki5yQvjk67nMfZM99~= zb>lt{A&s^0=we9Esb Bs06!ImWm+omU zz{OcO<>`6%S*x87VqGS4l;vOCt@;mX$;|2kyUw?^3Vnr2YNxpU`Q)Ew1<~UVNiz{? zUEg>kJw~-aVuqZ4Qa5*&JZaT? iz?E*`l&Vm;KBqJ5-r&Eu&V@U92LigxZ_EM&grWXYc~ zdm{B8&Gyp!^;@RJXqoj~L6VSqWg$m75h}y3uQ5fS9~%hekot?j^RrN9Ntw74Z-PKy zG|})d1^V((`9Ret)3Yl^aM$78HZGW=vK|EM4hp301pG!4F0Y?W9Hv@K{}b`kNRs}l zc0OP>pD+FPPmcBA)l8^pCo(%&$B#^O8f zfp7#zKP7= pI`h`>)1f)B@3fl9~^dY5d>OhLgvY4hsh9`Nt4uxKCJ364#gFJaC$ z?Gt(?Ta({IMtdY9H=&w>+`#)(hlUGaMU1o9`Q3~3A>5-b+umf9!BQ0p25BFfg19Fn z$_saZ-4arQx8VTEF2l_5y( zG+HyKl2_ytS_5m9BNO-Ht~j>ZMB|Ss{V-es zum#%$aeJ5u6t9@f;Xh#HHStdvaIIrWzSc@LG^9!vYc>3)kH+?6euRFV>hN dx7bk6L>mH}K 96~3% z(-87;`QJMFcu=1ocNVIE>*#YvV5{mfZroY@_d7FKQj{H3$X@-%EsUoZI0q=afHm%} zG#};YugWJ;-@gQo!!-^JzhxRLR=?cAygN>wkN$^I9_~`3qbXIny%vluKQP(oHTN*k ztBJd<57j>|PAUEt4RhvEb9J!I6!TdtRW%x?4rP<)Z#h74OArs3a=hy)Ge##oBPt7` z&C~Mw^yn+ht=V4 Bo3b9p9JJ~;VRp=RIv+YwCOgua z{H=9QOXt{+kT7y&;|wr!k (vsaS>)=lJHGJ1Q-Qht=0PLZpHVvTpxj zG!%8iRECr>#_CYk%5C1Rfqvk}|L%iWeC8iHm~1~j#euE%kRo&@5cn~wuEIgL+-SJ8 zk(I_Un(5H0(P*vcH&R|IRDT6Q2 z|IiN %#{R>`4g>hd1;NHce=Nq8KlchK~b+%pVml2n;w7TsxUD z*?%ars|Xy9i1MTi1WW+R17%OF|EKNM>3vG6c`6fVyfOH@Ys60Wnvvx|()WDGRVXvC z8yn|`qEJDauz-hr6;d;Zt)R!Dcd&zmFyA-M^>=f}$qLAnZ;dpmjA-8lVvl-zbiOcd zM8^`ycrYvbn|2w{?z%9Z4omk|rs8M)Yr+ZCd9DkBl9aenbx~M0$^jH@Qg$HoH8KhK z4a|50W7LlQuPiJ^7AW+eEX-|v^}n*PEWD>t1`_s^Cnc2C!woU+(xEn$%FX{&SHx>~ z`3lN@v7s6odVwHLnpquz)yL^USmQSCUlC`WIjmV4h`$NE9sGx& 5;g-8}^vF z(*gw#e;`yiAZnBTl U(z8X)Vkpr)Ct zx(BT9P_#H?-*@i9_@@b?l7I=|4%9L~8 dJ37Yo$!s=ny^2_$c7-Xzk^0^LaxcC+ zh>?cB+)Gf?l+=}}W}^We`-)_Gn5?VC ?sVsYJw{DCS z4sgZMy~GohvCa}Rl|_2IUZZ_;eftW%g1FSU;1H^~)s;FB#))=+Q_1=)75%U0*2#)T zjH2d+c)oZyGycIu5L|qm8wIjkk?jreB|DGdg!2it+BLVI5kl8%3_o4n=&w*O|CaBz zFPFW%>0@rYmIW7Ibd3m|5~CmRxwe2wWFhCr5j6FXV8pG2ELz?OeKWvyeQHpN59>J_ zV2hiEuAgEr`q$zJ1e}y%xw$8l4a!{?eU)=cu)LxV1eZm^0?BVL!huu+b>M_K>~pCS z&dG~lN{fKl%l_7x=((0P;zZs$u9(F#6Tn1SRtuCdbh(&EgDd#x?KAEpFe_gfYSZy{ z-JqXrysPed %|w-(y~F8DvQN&-@*?{SOD`>>?wx;(Kv@uy_%ZgPwRNdGwFJ&liq$^t8neRn z(t7(OBGHo5=jwards3q8-`%SARHd#KQ-71kOvNfys;3KWZYzsb1yQ`Ft(9?hmv+S= zN5TWATW5u=`LjRZzqL;&|Cji5A!^*+@cjBb_uJYYM`RmGF6gJBXsPz1~Nq}$gGwpFLo!gs1Q_$$m`JuLTaiBqVV`MJdJIGXkh#Wk}JJeAyB z3abN?%)k~>g^mwA5uBdO!9Ojw6yjtwypxVn?r+0Phka2*o0J)coOoOXn&1lX_yLzL za8G6!L3rT*Q%>v!gN zKsCV%Bk{q %KI+Ybgx7!#c`vjk6Kqa&rxTW20J3Js8m%L)x&f z`UJb|>5f5&FX}46_?OP#busj=Fq=gnXC*`z^YkY`8FZ3!^XgwN7EAM@^D0C^;SgA7 zcuUYiU)pq7if8do{pw*6*;F}xoxXB?!q8ucC{*`n7PjX*?q88+goRUe7_+Uf!ESTn zZiUhV5`Q}~unxqey$7Quf!1ptYPui^_IQR^M)A4ez<)|RPjIl+p9W?ic%7_pyNLw& zMjk6&NiM8Clg{yQ{wHi3c9UI7HA2DoVUgmNjGiw0lciJ4>o;f?he|kLA#`i_gtO+B zWY^~A;fzkin_}y3#5=fF8_d408);#|WoK_)Xs*uj4IqvZFb>mB)-lKY_N7LSC}T~z zuG#I4ar|nOhxjbd7PcT+7&rHYR-^j$-JSEu?+5?I0$}s5b&- OLE >D~y?8s!ukbXRELROeBCEAuU_pP17%ebuL*yL12P`kV$?^5>28L))dxtS6Ho zGoLpJ+ZYO|>tjs6|KF=V(wd-%7Gu%SKyjJjtB^~MFH?{raDVl3;=W+(eR&NZo{O~D zl0fTpuLj(~al#@s`Ohfct2pC}f^m6exR%F4==tx?x3cXZAa4QAUycfk6GLWtGG;mC zH+pT?cQ}XN3fu&Bw#Z?{m;iZseQHVHW~BM=vWOh44_el8`+wGcbSwZ4sY*bDzi#1g zjX#|a5NCW9zrJA%YA7+ALLpx#9sAF`AmlI1Fjx#?l~29qbMngg0DSr?+y0dHc^M6# zx;t0ov&}dU{tc@a|K%3`r|$!-{{QX!82Z8l{y+ {`@T|XlggUC5VB<_jC>_qDEpR?eP;+^P*k#SA?w&`FqZ85QnF4=_I=4V z*)t5rVE)h0cm2KZ`}_URdC%#b&M}&K=6UYVeP8!=-PhfrI}UU1{tNr+be?g~{(IuX zkyO4J$MUWs17Lp^!aXA|aHIUbsFIqfe-HTD0m&!(6J<}oo9l8=6NtIn5PSD9AC2s_ zjuT)bxJDv@IqAP~hVQXFr7Qzx!*uq17k#|kdE#YJSB=v4*{)Fo@-KeqQ-1aI{AJLT zv9#>EP>@rrBSAXeBnB8q47rdhIK3S{&A}QgOEq)Zy{kpZ%c4$+s~f!I_y~Q-!ZW1_ zHI)rLVftxHC}4YF`pDwr);KK$@Z;q$9X#r%AYu?EVlIlma>Kq+lrg!7`F3eE{Lo^% zXxERr3=F|*n|dzs?XU3eum1d}%g1xI0UDBGW(1mVTF=~xyn=z#$46ehsR7~82tKFb z#i5~ZnG!I)8I{(1)^m*~Ez@xByFP 7U70-TWQR^(lVRb-uI;` zh;%FmmbC+%t;&Jx+v8IBCk2?WRAlqNI(uMdl$GmdoU3#2;rOYdnQabxSno&gCjgN8 z7``*@pllldIeL(MQNu$z@g(4!;R2+o(AA3O2WuV!W h0AjJ*2!1=&hCH zm==$*YjrOjQ_Uy)NJ!S6#hI6U`CuB~Slq+p`LJGRmhFuFr2IkzMI{*8Cs-_(;}_gj zO6q?r_-HOW;A}ca1^HFk`}G{%Hi_jQ`ks%4JKcHboSHCW{|1n1%U?yLBNyT;SY`nK zcXZ#7`{+)5Ig6p$7%LH-@smuv6doTdlc-Emt_ X)wPsb%Tm z7qy*6wnHO5;3=U|tWbCQ@s(%)mhQvgpBf3*T*JjAN)5&!q6>ly#)L`B!=wDfE)h{1 zVZ+G7vXa`F@AL}T+IULBvx<}{6x>vn!Uf7m9_IBL{rbE+GcmZD)OzvKZO9>VK5QuR zq2I*Z%tEef=N#=aXP4hqY!sJ&9nrmfSrs;~sy5fGrb*DmN5A3h1@HmqY!-}VrD??L zWu@?R^QNMUhsV!KX8|+Wn$7G`pG@PJ!uuY~(`eREpKbf`Hcz>IwmScxG9WaWF~fav zri;r>2Gb7Zy%ojq6}5QQvyu%L-eLqk8;L`#;Z9TSbp^ZkGm|B3hi!s +-t=Z!@ mAG)=0jG>_N1 z&-7q-|C=m1`l-0pi-4^cmv#j%yU8ZF^zH)-28LAAOMl4A-vkSR67^<6L%_|tJsLj; zs`JJ9{r|4k)(~Ogs}+sQ6uXtPom)J-jR6N|eRVl{lRNe(`F$;cgwJ9fz<{h<;-pZuvH9*#(vK(X9jawe<@m?FDplKSB6z >#{ml7b^_7FQwNlLa{7LEfdXW8f~$z_e!Y(&L>nluM&-6QF;zkx2?Z$DZy zL)rJ{?{KcQ`h8ADIqfs4ZY6;L1Np7bXuYs!doHIYuCXmVO{mRRe8)^u>Yeine7P0y zb9?GE@Dh}#)8?gJJ}lKb1~Z;S&NCd%;Whj=DwZz&37*b!F{uH*;TNx$0RYVC$|d4d z9s5<*t*FOJ{s9>3N?C}slmm&!+=|->L*=o8E6{h)T(c^0?`Y(G8+S7b^V#wkDslr* zF;bxRDQ*rc5T;j5FlLW8)Z9aLyiaz~H6;1N;T<6aIJ}Q0sZp9KaXc4Nk{So;^Y~sY zUTlCzxB?>s7jx*N5mC)GXFO>t`gbobRmJ{%6<>RpfYmBHXmb@X_DAOYeMbFH8@IN_ z;*Qz9$)4sbm=a-ysk=85oL !je|dDJYD|F0mA^osw7C&fF8e*t-~J}H#{0rKA0jsa3`XO)AyB%z8;J4-kq zzT_0(i=zPiH;>G`C4tG~D-nVzcwq&1&p4l-{Y$^Q+slpP5zqcH#Gd)!nt0IXi?Jyu z7Xf_y#z$%!j#O0vM9)qP4!o4KApV*swutH!N @UOioi3hI*%QSH zPy3%BWc|ajrR3XJrhQ(nH!Jz#_XIF4lf0JJ#sAi;ZT>&J+MQRwo3T2kJke#bVm`^0 z #0b zU=rWhK%o{&5#>{EsvI%~kLUJ(Yk!?q6|+yxeTVd&xbH`@uM6AH$^VBvTa~$~9r9@I z^kjX~_rfQ0&vq}=F|2*}6PF(Ke?9>}1FGA*K3w*g1_4a0O&hS-q`EO^xSz3y^gku> z$ !mM CK{??fOR3#~vhW!Xc$yw|<~yQ~bSil@dX>0{r1Gbe&m2I< zo45n}NEi=Sf%z+cZeV4}wn*m~=<2@5K)TNdVem+3jgw)TFre826YEm()=R;4d~K1* zD49019$^5FEyTAye@E+iv}cU=59OCZD^dp5lIHCF0IZH8+*})Y91r^T2dhxu6S`@w ztI51zuvu*_=#Goo@P0kH5HVkT5!Z)pPDrJYOT}Q3G6HF`2|?y@nX)oh!2O3pvsw!8^G{Xum_A%??ZMImAhXj=kU>xZ3Q{mqF zoZoHU2FO*O4=ja;Ol`sjniMhn3N_j>vIUWvZ^6LY5WxoDF2D@_Rs+52lY0mZg(1vC zD ?9VR&cMYJ^V?z6c0h(pX>%`0z;AT#;s!dLO#EvW zb0`>zi+FfW0xrBaH*Uw)GF1$lyiV>;ftYI*^Y(by4o}5W|sBO!u#l-_XB7en?ZY zL+#_uJEyMP1%%rpWA{0m=l6&P?^Ds!Srgpo8|-JnuOe)JEz7B9C=Zvf+A_-PUXR;0dcN1gDdEs`M4&%DpTU!<>o z#4r|Kdc{%kA6?pr$?W>b$Fq9-HYPK)BuxS?4R{LZ{_f`c6W7Tjh*vwaonA(^`0s6G z%hS`a4e-y#jYcy}eOr-_=Z3$F{~j9nz8jSEj7K&LM>)sX?SJDw9yeTb-=&4(=ys_I z0TT#*nxp&AAh$u4+$iF)vuL}=tLaLiIjfK; p9VJ&*z(3oeM62! zYS9e8uY_L A;8YZ%uwwKia-j&I#C*XrJxay{>&7&4#CaCO+PL;PkAFKvJtg4t<7||7cswt2>eH z8w?9#nMD#`Vb0SaoNjE`;~p+c-F2TmNhsd2T;LWzdH_ym{_ieX_JnY~-75rIW*`4n zSbf{BESz??u~ChI`9u@P;c7CWsZHaMhws?ALjD?Be7uB!omG$RpF#Wl%&~t3@T~kE z$N%C-rh<3P06$~mdJ-@ !Et^Y)hKvDkfXxTZ@$vME+sah0RzmeTmn#HHrVyV fTBtNXZB18tPC3XX} z_`%10h7kC!duyz(rt}DH3wUVPeJp|3|NLoE?suQJ$x1ZNFJH6(Qw?4lbOc*8E}ttS zJMP790FxTgf1J)=uAKk;t)4@R<6Z*&nvp}F*|>f?C{%8n`}GQf&H`-K-cZO%05)kl zoj>N$ &*=IE#`+eJry98Y zhEJ0EI9yP6`$pihAaGY^bcGgmfsKd{7sJH)&O`dXsilZGl!b>lo41}dbUtgy&HkGT z9qXd0?p7RHe_Suk>9evQ?l#Xh2N&a~ z7ijw91Fz**Q{q>94W&vm1;+d1 9f50)3)**u&roU zI3D{n=|1U=eq;!G6eI*twY%PoSz71(+N!y&1~2oae9F;&D0qj?Rwjkhkg#GveV-+# zeA`7gH(j_e!!M`zEMP;Y-!Wneawj)Wc8it% @?x{2cCfFp(7fw#~fPXq@8u?P%elwr%#zzOTi6!m{(1dD)L` z&nsBIAbt=pX(6WQDP9}um$5g(ZUL^I8*{}279PIJz=iT+S+fZ$U?VI3TfmtrdQy>a z(D h30p2qQ}@%#bpixn-o2GLP??`Gw&pGA}}ce|&|N~pmlqV^LWaW=w?G`oYt z*oLdjLTWM7pa59#+4Q3-r(C^X!~X3Cl>57guu+;xydWS?YlH`7jFLC(p2YoS2jNm` z6t6$W`5)^lTVRqB4Z-CKjrVBh;)8Zp{8cx#6(kE|xar)Ic<|WWPaI;68)e;HEv=7J z6K^-ufQUdYqDz7OtNGf6-^8CJo=^6k`YLo$=Gmcglwwq))E;51)_ Uw%mR|J1jHz_On!`=AwjQ57_?BA%AmtD)HsH1aob(3eFzl>6Mr^la6dqjmhFWr@b zVGM_VJYmjy`L@Q%I&g2L63ykbRg^i+VQGVN_!(d6M4o5Rp4o&;0s@m@Re`t*oZ) >JP80<96_#hX;|0pdIPWuQ=(sb^j7yKWR)k zI#E^{e1FjTLBz+t4qDqtA4i$@877_0IYms1jyTyK{d#!ymIU9Wq6UvG5MsPA`Q9EP z!UWk|)b~QfZbz(9=B+0!FU5fFnhV{|D7|gEZ9I2!1J?sse V?v~ zQ**f4+sd7GIQY{E`NS7ms)|CtZzR}zE{>slr)2p*k!wT&8 ^;aQq^=kPMJ5*?O!mbv))gcor{HFT6W(@ zz@)%<6WE<%U~ahte8fpdcZ6D31U>_c?t8>j@H){@ZdVNl0>@03S#4 zu=x~V`%Hgr;!t&VjuL&Z!9{&;SqO6U!-cYQF_4hb2L| d%j(t6Uxz~QmH8@A^*kL zQQ$pl?d@r#?P{PTxH?Dtjx!0rk(+89LqeNDij>=rm>*(02Jt@lk!9StuD`W!S_{9p ztm!q^r6~j~Mq_qHdb0xKJ-11pm#a%&22HP^uCDrOw?)t1M^61UC?w`F#mA+x?5%p} z^J=~HYLK=}i>}nG6C!g+T)%#7HPurZxNmsPlk}}wnE(92%x8x=vL+6DmjDawKAjEd znsXTNbkINGq_+LK&a2n?UhPm~Y2mlEC0|9?*~V9h=%)>dy9UNn?GM5hCMBFcLvV~c zqe(|62l?TAA19Vpm=|+ybqu&=+Ffc<4vGa&vm1>(E-7z)lvX5MQMa#@>J|-aofo|x zoY`S~ehulo5}bLcWGlfZQ0N ZYVL8a;gWU)*N9V2y6ej~(8-VWcyW@1 zwK>E}0ZP|%yT4N()@BfIZP_w8xb{=9dJ|$<=SLRRds<1MB$W zt&35sqmNyHhq*KiU7c!tMCDoh*roVHE(|;ud&fFjfOzovOKn7f=zh4V+VTL1Y!Z&+ zkOx*>4_fC>y
zvepsZj#e9MkK|J?7Lq$t*xE7ix&VdwIu^)Md+6z~Hp`1D;YH0zcvc)TZ-;ADK16rG zI|??vQsQu(Gvj)jmd2J2I$)%L`#E=qhA^!Cwcz@$E{fgt3_sn}5<+G}`SA08lmJFK zwX~hqz550@!Jv#D$k{o#_huh}eEs~YBC$Hz#Z$5`3lFY0MJj+G>T?%>#LZ86{EB)q z>ovH95#Pz`{FWP0LPvpHqh4IxfT1t06D^m$;_UT!nuHU*`FuYHHD;9$H68&5fJv(8 zft>BZcgn!1Sc0jXCvwrYIxG$1y%t_G3Lzn3K@$IufCv4~3FfPb0SQ fx0qhfZOf)OiR!VBSc5dLTFb9 $7H(+|2Z3{^K#tMqiddo2_2KUax(7i!3Qcc;$c1~iH z^h<_9A6xa<0TGhEkPwo16^IcP#-lQCpdOWv(r+Y{rNMoXj1~ZpOU;AhS0o(+EK+88 zdGOjgw>;)YS?}`~M*0j4T^H*X0CR48m`9fb@vo~k*Qbx`G(RftgBZCY&~y@zGF5KK zj2C$8OiWBH+7^aWhxR?H#k@<)L#|w-wWn8U_7I$ejU((SSjar?NW$)~VHM=|vbQHv z*VaapPDdu`CKX4cjI8F;) 98enD{mg>}q5cS*4sQ&@OEZDr7SfyX@=ztqQ6l zR9Ki(@65OxAb{SC^dr-}! S>(3B#U WbC0=D `a6#4|}&i6stsw|zDJ9bYSeoKqnX z!B1(IvL6}A7-CQ8WmKPwS p2i$g>8x!)$~S0`Q%cKY=@aBBB!> z9SYw&=n>$2JA?TBA!;o;A@L+8pKz&D8-Pk*BUzo$PuL^+4}Ql-;&2epgU^Qpd?h zOufh+F4>y&)rh`oK$N*qA{gu!waP$t$;AN_>-pX;w^aIusYPu@z?OWAj?&!b2gkX# zPV(WyCQ-?M7r=W{w}I*{nKobSS&i$JaKC_c#EJ0lKq|h1Y4GDo*dbO}0vL$mVLQJP z>FxMc4aa_NyugxCD7n(X{tXy0f*+xIG46>9M^N<$v;$Ghb&N%=B;`s#<_DMd_5USG zMKWvKQy1-I2^Eea@=BcEgc%$AHw<;(Cm*CO`t*P?NJ0`86BbuwvDIf{KexG^Kc6*; zq-f%hatwHT&%4S9TT)Y7+t+7o&qKrTm-sbGKJh-wV_wvIbd>zFL<^}cNOqBFHa;aq zgKcLolhs$#r^lXexW_&mI?2km11(Y}IE~odW2nD*!Z^=Lqxc$J4pCzU8DV`o+*h@) zBNRd9Tb-EotCoxGdO*w@Qc$vcOiGIu1NN(q6$RC2adm1y-7fnY5mOwZ3uRO|Styr9 zd5l#JD++~n&Wj8M<-u=@X*@a=*{4DAh+!wsWe~0^rjEfv<5`}i>hMH6(QzH@S|7M~ zaI$ykQ>R+lh@3PIJj1CpU%8=tpq2Ulr(fpb4ArYVIM-DL3Pc~vDm*b@@4DUW7JYYr z =|!i}W|)+7BSgPrYn1#=#xw{vE*d+VD7Ze3BYR${5TO0E_a zHlAMYv4O}gVc6pq@F`+FyCv~>LSd`-mPSVlY+UVB{-2S4=Z{D?jQKOtE657(3IjJw zhfZ6-?=hXdkhATy?vP8>47=}!oMlQKVqDiT#RLJD^O$%gVz<2Z!g*EVTQTmzWL)0+ zZp@qK(W|e|_fj0N0hy_?m{8&xsNzRrTt*PtxUr3U^l4vtjK3M^duw)zlB@(`vY&!9 zeIPL)ufA-2{?LkooM0Y~68*C$KWj6$*n8CnH LVa-itxorvo^Nw0ZANyt}I08dN5RB5<|kTmsNRv5ZqQJfii;`X&pK| zUR#;jxakSOZnU5pKx>Xpw`8p+{qU>){f$QGPBeVBb$)Ve{Ow2_#49BlWuHHbv2;aG zxK7 i2_t2SB_%h(tL3=t#D*RSi@r;t@XrxZM82YvrPScl&s?;?<}> zXe_NCo+9-ajzh_}aV*2VAHW6;zei~R?cWfq8d>ifUFD{78>avZDZBS<2NT1RUq!=o z;jEc6bWd^NQjhvsxXI!3Eybu_2Y$Y!7oESlwXVBk^nMq0DS4+KN^N=#S7D1y0v;8h zXmBsz-lJ&QcBa4r$0L>D=y-&%$u6!q)(2Z-3hVVO*rUBEEXB8i(k7|$Yn~(wajD%J z;tHR#QZZuMxbm`jwH^Ipwq?%d!?t{ZG9T`qj*zZM3eVZv@s6{`FRX4V0TpA|V`EuA z)=QPNvgUp>HRoaii%6>^-&%^;;9|LV5}TJ^Ui_UnEtd+0Tl&mTPF?~CaeQldKB__^ zf*s?v92V;tXQ>*-$A2YfWs1bOBGy^H?6A}*S#1rPVhwa^2Jvl^ah3N3Iu}6vttArO zsRi|9v%0ee6%`gF?o#dzP(LA)$wAnF-KuXC3Xx;JX_*g3w%c`(g&0y-;=m67ou ? 6@&N@gQW!S2WS);It!fyy zZC;Pv8(N-9dahMzFgGKF=&_G_Ag+Cz#ZFInvumUHrW^N H*q{I3Rux5i S?4 >q3FkYg+nl*hsgWnz@X80>Y`NUYUo1sum0J10m zz1ol^O~HL)W9FCpjvMIL(!X3G5{F6ir#kk+uu?zGqmMbm=py8=R{+|emAkvdEbhBq zOQAl4#Z(phH6E6tR JuudoG|>RPJZ-U2*lhCW?5Z%XBXFR*$=@9Rc{uSI2p;X zQ0Y(sr^`z8m|1`o=o_;TvZh|VRd1c|EDfHtvYkJNZ+#)K>w1`fr$9TaasJjwhrYjJ zt|61p^d@BDszSZetR*~~7?@RPuB$HO^r@_gPC2F^?XuD=dEdJ6jHfh6EQ32SU}ec7 zNQ3aMhhOVYzV|Mgll0PfKivS8#@%~WOk~_r@3Z|*GYrC)K5qOSNH+>KkBVPnT&UWo z2B2K^1&-YUS+F;#FcC5@YDc7_5ta6|XQwko{s`3+7Dong*9~o8 Uwk6Ckt?Eg6Q-0IWQMN{+B*v$? )SD=w0@xj=l0by#6`TG9uM_ z44(H}Es5Z{MSKgu_17c1U;xr4l>rIF7v!XVV1re5NqAWg#fP~B4%(e0pPosDGMGVl zw$_Z2WtqeQ$PDC9gJST6m`}TeJEeOC;G{_CNR32pNbF#D?t+RkBf1ibL6M~c+h9K2 zT_7CA2>-osOgyk_adLFL{3{Y488Jl8FPE;2K3mZbpdhom0n-_zjm))r3!SX+#S4(o zE|;Ctyt?>(thoSVxSXv6yc6g!c z7P)$qoo}AXtcj5@xk#6g<%sr^y==d-22w$O{_gJ@WW71{d#oyxBC1C8+TM?= dsl; h;K*Y9)qX$}wLcz2{HV CJrsJaP|lkpK3RstZ)QhM=0G^Bz)5}>+9?S}_8 zXC*x2BibwVr{Yit>w!=cd8Xu|1H3@U9Y=zKul;|c_^U%I4DUG`6dM^ad}%`z5BvAF z_wCIH)>@4M2`&$ytlBpb?dVklqy{evXdGH?DYGA6Sme{=6>}{TIN!@zj?}$WIt|Gh zP}+D1f5zH{mO314fTXYWL)U!$PUGt2{$#tD;iDBkq%K~6;@)FuTeW{z8Q>`@Wge}G zYTsG0Ejf6#10)lPJFwccMn+bcIQOIeP!SW4yleIV3E&fP gtlLb| zFN@gE={wKcjw3!B_*>Ji9A^~t8akm7AX?eY2W*uWrNZw&xBoVMs$ VsdVq0 zd5TH%$liM1cK8ur;FG2SdSYyB94Nx1lqE)K3DBv(r_sVy#<1g7&5K;os5w$@o}QhD zKyNn~=^^4d4rJsXInXs9&=EjI+D8FQ8SUbqOqqa*=;K$PjAQ33m+#G1Cidzo>c)Jn z4`BT^`_w(?o2u%0W_U~LZ}`?^ugxlN#Ra$Z%?{36F~ynRjpc?d$4LKV)9RAycyv@# z=f!WajgeDlv+OC3`X+qKDX0xn>S)-wKPg=}Sq$ieP>fd}fJ8kUJI(^2eNk$Rx#}dr zc1B@kGb;es*V=;U)vw>K-(S`qF~=dE7ILa9PlKP@fjnhd#QB1^b|Q!Dw=>iCb?*3U zCWl5nM?|Z30!;33B6LGo;UN3}L`kIGOx~?-=LF=0? )XU04b1*l>~v9zG!HP(x!*7Y|9P|^Et;S=zj%=Q*b z-K?SGik_b@Aw6ipe>%0rmh317chMiw$v&r(mgNVu=(egpL)5#_3m1U?n+~C_sxoEZ z%2ag*NSgU+ETmnW%g7Z#UhWe4CW3rxsr70xcF)L1%)!5*U-OylqsEmAP~Ysf(=w1m z+O07k3`Tp?dl6mahMGT({Nssu6kyPP;nB>#vo1`3)er9Tr!DO$HaaYf5Yy)Ysm1ap zhi%~#5q=+Yj*uf F -Cu3uSe&;C(cOI+^ZhQyS zjxN{MTJHZiNnT#?*O1kI`r{5BAO$q*^_XFGaD)}mvJ$~8NZh0;?+3eP0}0Rx%dn8} z8wOIcBhcj_otPN$uHN`FaVB~IK_4)+SGsM?MypqdAz&mvqBd|Mg>|hqccSh)Vq5dB z!zvy8K_teR3pbT2vUKnCPL-$1XXeOi(yJpw&0+6HjPt}1I+;Jdt5bv)ZG)M~wk58^ zh}>=K99xQ0_2UHSWXS=J#3lGhk*xz1SzTfiKd%sW99FgJlX17c`C9s$tu@}h#5mUu zb&~ct2AQE+Hgl9ZSl~9<{K4c_;EGLCV)=GxTJO{srY-<%7sb}D@uY|25?qd$<|V{n z#L`{C{u~f#DOrI;xedsG@1=0Je3nZ!*2asgBTI?WL+I@I$T4#(nATD~^^5}FnroD^ z-U%lHOjl_nW_WCr$?2EmiXu~h(2kv^Wr*6tDS&c;5sS=j17KVrRF@5CeMB3zzrF?j ze)ua3x&{Ev*dEhv@xRHB2F2$g ztKYyfuZ1wR6G5WxL?Mv!&OZf@z~13avlu)!z6)#NuV<=?MYvdiREbaFy7I5Y=h?<_ zl7wIRk5=5#Pnsy3ZjKyfHAX;NdBF@rjuomMh`fo$USk1CboJoI6J-BduN@zJJYifI zTT~+8G%)3kPVDjpCR^g?4H(hggM`;W$_w4#?e@jWyscETE}wCFK8A4aKsNvd50QIJ z7u{W1?UrKA9phUws~!GtX<@q83w8fYdk(9jgKY=ar4Gw+mS4X>(r;o6$_4xZ0Rd_W zfZfbrI#?XyaspOF&$7jgC<~Yl^0(oWUI}23sNY3_qtq9-aekJHA{)1#?HOj|>I&l7 zo(CRty1)tm=~I5G1tn(1#Qu|>e+ #b^K@f#QBfqsn22K_Bnu_kliC5 zmW-K)^24e)feR92sv(>Na?9`S_|ug;_#-uI2TOZ QMuJ1i+%R+v$%1>Col5Mo zazCBZtdC5}o>MC=d;bYj2kjBj288`w>AtEei6B`38gB2Ag&*nvEHcX{v$Hm ^iJ4sV8s%GxsK84scjRzhA!N+rFZ30GiJyY8Ix#~G$yj?juI}p{yIQ7VLZ(ycuz<1E zfg<@wROI;u4I=?RwM nuT1Gw3By$@5>r6^%PtOrks&lh#H((N+m{)FhJR92Ay fZ; %G1PJQ7B aC%%OwZ?z3QAO~_aiL!$Fy~5v21O6XcGPO4V literal 0 HcmV?d00001 diff --git a/pictures/hive-index-show.png b/pictures/hive-index-show.png new file mode 100644 index 0000000000000000000000000000000000000000..9f42bdfb9eadaa8603ec849d9b51581ef2efa0d0 GIT binary patch literal 4590 zcmZ{o4Lp?g_^Z)(+umAOW?f!mW_jTRh>;B%?_4>TO*B)GS zu-?5>c_#=2+HGrd_A&_c9ZcdoZ{H@lS{`q>Dlt0(ZLWoYK(g;Pew&`?%c@9j?hQTX z5_$!BD>UL}un*`;fM4LvkWioNirsWcU%c(v(~fs?ICR+kiCftA#lo!Di3wP5#iS$h ziAP>G-N>Rhb|lGmb+~<=J@b?DPq?$VAI>O-29iEl)2*^)9pegNHIN5!ro893i&l?6 zhLGy%2jXU}&bS0`kL++LyxD<$B|~!(Urhr#s!JDSVjpw;&sP*!R}3HxB4L+xC2uEb zU7`9M*{?3bNP8nGNz)wBOL(5hZ!TOBVq*K%f#}sia$%E&aE0W*#=pGaNtncrBHLO# z!q@WH)PRHtM>w?S?U(23iE{jBG0!3r?N{ug_J|+K{)}7a#i_TdqIXHd&b7KRJnf+9 z#W)ecVx6eN@=8Wp2Drm?yMhG?twXeQv{M9+b7SwqtG3=|A*x3l=Rp_5#~MNQrB}x< z$Iu7Rv+qa2d?G N5r!g{R)0<$aC<1TPO(-nbBK; zY*qV)I1{0&wjdv~9KT^R{Ys_1tbRL*8vx-Ta9}C`^=Mha(hH4aJa#xVd*Vm~K8@ zOjkiC%SdC+mAfs>pGR7X?Fx?cF9fXm Mh!WGo zH0g&2kqrOd)JGyWONZ`>>yVc^ceh`_N*&PI8{F@tp2nYtXhvK$eNHS0uK|#ZxEOP- zZ>Ga8YVBnsusXFvI`q_ce@C9%=k@1DnI`_d;s96rrZivER!Hr5*9k7>y0tjfcM=@= z^M-+5vqdt>hR}7sR*WhuTX~;^6r`1x(0E;S*pCt%-A00P1PC4A6{|5<)Q4q-b79d~ zS_itW9y!7_xri^%d2#tL7shNPL7%WR0Y~gZ(Ur) U_;)?{Yux+}G4! z??Ns8mDT3-Z{2^Gf9<^gdh)L{esinyoiuYEUbjhRt{%gx0cUCHi)ze>^PHD0EcC$) zEykU!iJ~_dTEN2^RnPW6P6w%aU;DI#>sV5>gx3B1X{oLFf;!YCyM+byYi@~Q*fekP zV;kG)< X$#~`+Eq1*(hA=u6WzV}7-*TLs)(P*1$iCp31b%jB zMLb8PqVofefzt(b+T8kf5#qGC>|>aUC-%d~)Ps0j+ZRFHF52t_F~j#!d$Ui+q6}s? zcj2r$bkgLSeh&0qGPEQG7Bn$oK4CIGgxwKC+ QCDb?TfIr74^T&5u#9&?o(-qKT*wDx{y?#FQQj+lw06yxc( zMXTsisQh}S0wlI|Wy$^tTSOam3V&I59wB~-!8F!u2^d+O{^HveP%O 4d8$mOJSwd}WZ>kCg9W+llR`g) zyZ*A1-c&rV$=)7%!o4*rn06h1C(t;0`b06jf$+xD!dQE_;FO{TK4P!Un}XH{vu#oE zoKPoo(c>ZCE+4GOULE|9`B0>FC>~`F|5d39OS||s_gBw@jG*3b^ra-3Is^YoG5pN; zF{qmlZ;y)(DC5ASavlaZx@5GKnOCxQY0%mSPgCEQmzM(OW|xNLK+h&agE&ibjOoR_ zCFJ!APM5b@QPC-m$B6uO3qQ4zE9tJ7pVUm(WQfTKYjKeM`|;`Xhgoi~!k)eOT`%Gh z+^ZyKiGK A{ouqKmq`5=)Dvm^{g-Feh+pxJyCeN$egZR`ekVwZBQc zeG+_WynQ8-2)sjR0EEQif;78?dwTp+%;Cb3F!WXLaZv(A4uS8-fc@rZ-z}$hzIlqp zBpA*wJrrqcbCzV57o2Z!y|u4$0xs3UWK71Y5T-=t1J)oHV!V}Ktel)Sd)hv?b~I3@ zhxz5=AB|$&@?m;)mX^uhYJ@fR?aa}iQ6c+|l88*CaCLh(wj$_@Hel0v0|gB$4|s8F zD5ZSjXtW5|8L?m$*9o!P@4RD*F$`>Q0v-c9ifBL~TV)@Zo)$?U`PolBj?HM^65^-U8dBT_E)U0oNJ@ 3uzs`c`iS@py^%o~Gsy;}kf7BD9MMZc> uTWq!ptg)%+ z$$j4p%(<6l@?o85@~txb8=^NUN=D09-qWK_r$hB+=YAkB4&W7h>r&BkkpG5ezz1=S zg}g9D!7fWzKNKae+*dKf>T!t9psk$~`%!$&1ceq9&LnQxygnU0yfoq !+O5yo|3B*fA@)eM zg%+c#cb?d5K+Ig68&LF)KGvEy7qG)Xi!G3GJ}u$(H46GL1#Mv6x)|EmTqh+TU1aVJ z1zzis(AD9QYpto_GR_13|Kn)Wyirf6yc1AfdF16=omscd=#CwxZvxFJNz0JeQ-kV^ zU8kc+;JXKoek($5CUnT3uZxJejb9j|Qpv6 mz>!r%rJt0Yj|I*Qvy9Z2!eGQT6KZ6g(5=I5X_oOVp1 z%NJ>B@<%PVbc~C9XO_VJl@?h(wm!zb1UWMHWNYC9F}Sjq<;z<;lheU5X+&$bv%*xt zRf7A|40FMjyW7vhu!A1f_PIrub&D<*O_vV#&%D!NG1JrZ4&mKtRNLpzqUuZE$|X?_ zmeesm ZO`HFQW?D7SwAC KJ*6iOof<6a9fY!(QzxPAQma)H}W$ z$hl^ug5x5iS6mcKEIJ{)6WI9LN*M1OteJt7VvMvLIf^UMDf0@0UuN&s3JLJm1Ws9< zNCOnwks7v7l>nnyv6mSa L)OlaYUXTZ4o+YNIXUNCu8M{pzQp0lnhz+384pYA5YYqNG%KttSEU$m;I> z2RWh&IGch-M1IJ+7j>>+?5Yd`Hg$(*T9N`TnQv3g)|V7SluK(S+F+C=$YwAtlhXi? zAj4Be-gQ)~MRseNxa$=!&wS=*9AY(;ex4H~wnMIR=6OOQZDN%11;Qv+j%TCIMgsM8 zs !auELWe@G&J5?X%JvS{~!^AtJ>o>{-p`xPS~5Gmed1b&ko zkmW-*vbXmbi#qTt{?FuVRob*n^o M`KW;V#p!0Q!IZ zJ@7{yIb5o%AkDv(|DWSiJ%U1tD1EiIDgT}nNZd!?jE??{^jPwL#kkV<(Y`hOcmUzq zY`OS|kw!-_Dh&Sq>Fr5ybIP};C2&Jmr;WC{)c^>}Z>?SlY1*ATH|l7fztHqmAC|cs zn<@dtkb{ICA^)2m8(?T)BA;EpZhEfZD=Yp39#EQ;W)|OQCW7t}KjXjadJWk~()OIg K*>bBJ_x=s$gi S)0a#pmP&co zPD?X!+-0sj RG-}re6D}U#V_{#hZV< zeg9Kh;n~3W=x5xmXIdjKSsFu7vskVvAB2mN)6A-2ip!-L86t9e5`|ws4B9vMbBKQX ziR1^h@EC<3*DoKriIc1xv`2$Ttm+O7R<1BjD1>1;LEB2(1iGLHXd3)n?7YBHRHs9D z0jvtuC%dV)rNV3v4McE4!%sf#$c{d1>_u@yUmPLC=n3c;aD6vS2YchUe-NBEcj&iS zT~F9voMggpAHu%1FiGgG5!fe?7}{Df90e>&eg-Z{xJY1w#kCP=pqS4vIE+t(#OrB3 z>I(ENff0${08fFv4{flMU^FFu9h7B*Q9)uaLeYJ&hC?v=s<-#I gek zgkA!pl&}(59=weLa&pF98}^Ezb(9Xq&UbJ1L3%!g{d&QJS3ja1BR2^=&``(}1aGC8 zn+};uC~LOUISh)q)L{NqfmMVaiY_EDgYj3kWUylRxvZ?)zunCH3Y{5|s=>3I*hWxR zmHoV&{bz{rgJ#fz!!{0%XT Tt5kudix&{Q$;ZlgEZ-hx)=$$RdxC zLs%Gr4qOMjD)Iu~d 9%JH zc0=CxsD7J94FOhV&Ffy+`n @WyfC{Cq6`MlOs_Q*qB~7VxJu`^mRN7ff4%hNE!+~x`Gdy^oA2~-B};( zh_-x@=t5*89c |H#lsP}2zVqAdahmU`3*!=;GI?8L n}h&@uAJcBaK=q0|`2cHr Ald)M#jt-d-IPf5t+@gm>=jH*o{fnT zp>v^c;8?NlOeAt*OV7Y>Qb>=5GDzJJ6Ab3y!szgA4CC+aVG ) zPWE6}U8YDga`o0hQIk?W-AK+oeP@-rM*2sSYDO2Q%_;1B8*bSm(7?soxKIF2kHB$L zD3TT+(#IlkbKR1ANu)Uo$zpMdOHG|G$Lv`)j0sHV{kS$53&1$Vb#406_WEu}pf9a5 zr(39aTqO_PB>s>0^ktV}nV2I8-bf>x+?EjFs+nhA77C1A?1mH5Ro)}&ws4pw>iT#a7tzEWDpp~4AeUbx_koOvxIOcwC~f*Z zyp{LXM|F(q%HS2)Al_gFtZ$7dK{J-p3?rILz|PkDStAzC1uALT5FGxkrFL6}k2ME^ zW<5_F8jn_y#6LkZ&=C!57a%&j^I%AGM?Yq#%77f=rh>{KO@8v&p;9Lzcueu8DL6VA z24)-K-DnINnk6S=BYNTJcSJ8G^iE=tzM;0(OiENhs^OdalvQ$#S%y(dw}%)kv>|bd z-mCIxb9t9o0jV*mhU?pztx+YIJOEESM8amtLE&^94(T#w?zRb02X2+G>kD^=Y8mzo z?7$0be&vf-f993q!G(mbi(tY1$_AG!ZktR6V7Lv8B`VVA%5q~>-vM1B@iQy1%i@&d zHVSog#;@ C;q>dtbV^UpUh!$uhPM3qT7?<$=@ua<*GjwZ)t2Et| zd_y|m<% g4h1JSJyiKtQ8T7h!XKOR z_#N^p!wWy?Micp-0va2Mw?eJ2ke5YCU-Am&GOXKLj4eZ?$&NLWP~8Znq5XDw3Gs6i zd!UmADa9INkUj*TjU(<{U>r3(qnzjE6_CrPA2RxHoDO|}k(VPM8e!0{ryR?~Canx! zgZ@OPL$R>i7{)=WVeMCI={viiUgXV=Q{)yz^mR!>B&_I*`!+A}xSkDNRmoSh>`jt^ z!g#MDhwX?4QKRs{#llmr%0t)M^i~#Up2*b?kPY-{b6glx5G_nub(?p8j?Bd!^5G^^ z2*H@ZHSM<7Bb eqOKZd?4-u6)CG)zr+s&N70m`U@^33pl6K!`*?4kRzO+k*T;5(cOd3 zb}`*kp+)kD`^YrloP?G5jBUM%)y?X;W@%;9J8Khft}R{z&pJLO`!qhvG<=GQl~9EJ zWTX$Kb+F-y*UmSj7K7W`j+*eIs#V@=PBC6uD;$veL3hs@xix!qyDZq6keZ;OEuytn zLCC^vt~SyA0Qta?xe>VKr!d{;J)nM@4@t`RhViZKY+!uI>$d56Em3X4hx0qYjQ)mu z(t=J8>5c_AtScTwtvzF8f+EdBa`$h#6(M>TC+Tvuqg@3qEX0~6B#-UfJT2*9H&7@) zfMGD1W!`>4DG_gxxz^U9l@sz!Gd#!2r@d0 y2!8Zp{;u|%=KidSn8-*{$26;Y zQ9Ne)^i|IM(s>;xqsnZa*kLQ#JRa}&ds)`VX;sYk*bbkiWtRrliHZXV5{Ec|=;JS< zLPi7Ex-CXIr8UufFKZ_T2D+0BV^#P+j2a vlIo@?>aIr;FIs=pyXD5-{@DgL_GPX~Mv2 z?=RoaRIkDUYx5W7WuiR-^e&Sl<3H-*I<3I>%WNi<%61LVqQHHtgu9^HoK@}MGRAd# z<2B{;rSdQbW7x$*6R_XCMKly)?*pAE$BS=NK_TjsyPGn+xxd#PiW#+(d#b;e RvYjd_P%|)a z^~p7$OmYQRfBdyDB1^i#=NM(A6ug6Hc}Zz`q+2=fCi8Cex1tB&b0?)1AG^c*W0SE} z6$; uWm)Pl`;`RnMl5gY_xm*ptucIPki9x{(%}&LYbX^&Ux8-O?<+uy8aOqR# zn>s2h`z|3URaxF=IQ;zg>BeOTgH`F4DNCf+wGScWw XiK)5(QZyhJgY4by&5cP$0{NF{R2%e-jcXOwn$c7`eg$-))T Z-P&_P-A?F`aDpXMku_7XtmzacN-GqP>xh^X zIf$Lk!&0lF#u#lKiQuJu1m&cwn~>hk>g5U?S_FA^!);g6trK>CWLUtDOUtU%k&21g zn&ldIrw`Xi6}M-jrDHPrkcQ6p;?rxw$`vh%M2{H_AGS_v+#r4ncP3kOi}PT)MiVdD z*kv>`vL>i7M$Xn dZJ3z73J0`3vbr56dvZ=IQi(~iE)+9UQ~7A*w23zb z+Xp-t?BV3S< lvKD>^>D3pn?LVc7{9y>EiFf0ub5A`?L^Ch{=?h{;3m3oCN?*^%AMVW6~u~3 zOSd|TbuI%M9<^%F(M@O4Y9a;{b`FF0StZ8C7{my&usx40U3hnJ-=Ti8rI}M^s|l~} zcED!F_7lsWD1k4F=}w4xnN 1Ud>43#Gw7Y*e@IimUA zcFdaR5cSdT@NeVdpPI3s!prVwQ!{0#B+PndSj6BeBpaVzlb7HPtc|<4WiVW*Hy?=( zQ>l3xzw*p1s6Ztn13%0(tS5-DNC#~T`uDZWy*h=t(w`^vjCd)S>(0kOPKJ+kXIXip z+?yH!MR5NDN0+Fin=;1zI!^0yz|WF4&?-T2ZWiwKSf~*HBl`_rwTFfg6YchPEH+U} zu8S4sDA03_X5eOK&tzlMpjo(tPvilUoJb}bvBGr8YNZc}J9vNi%@*1+qLPc~z_%=D zGa?2FZn&&S7(v{>n2Z`jc~!H1?1sO*T`a*s4@&w_xo?bo$|Cu;BxMwj5m3q2_Ttzk z2JT$bK8(CFw;3HeYT)NVeN$*`rJgz*bL)7yj)uOciG7U?O5LhIUv0*8F;*Hymn9)V zgrl77GI-Bb9YImSba*7bXzx886k=hiZ1`-ar_sD$a!xBqddgJD2XE=ycQICkD2N6$ zkG&{4;E@p)nH_bbpU#nqQD`jtCw-{?e%^=Gg)%Xii1wb%2jbz@C(SwuT5F*iBA=^q z;~@d;PluYsW<02X^7e9PUOmTq!_G`)cjY!*2$@Z=v0{Ox;uQ@0@VAPR&&+ >x8_d+=FN?j)Yw%dv6k+O#C!> zgZP{NP{L^Mw-56ARJEcPpoWS +7wrU0tDLg(KZ#*xEKGkwTzuvai)f{5E<6`FMC!Bonz4=Ko zLeIl!Zr%k{^8iwx>1`7=4{jbMyW7mkdMk+5>v12U&6OD@K1Sm`-VpnQfhWOxIwczx z2Ho^hZlYjgbvA;!#F|C2N+VIhc`5BIVNY&^QD(*##LUhb}nm<%wu%01+r;D{;6 zBiUw7{O+hu4S`-(rI`n5O_OJyHhklGA(pz3{u|}QN8%qU?M&2uWr}rl%02fPH2Y^R zQfUM#QD3JSko7YIm(oSgb>~wh2Y%Q=lh;2U3HGPYtK;S GO`9*m6F3BQv!^K zE3wp39eL^LG$#rvv&A;;0c(o7*F4+c`fZ!0BheckBq4r=F-DrUfHC)?`<7a|JcGN^ zPVaMY`YbqsGxPnT0gjVDCU$_$pj(CP)4uxc;MDlaI0}rdB;u#GKEc`(?|YY@oG2RG zb>D>g@I$L!h7|$OwA63??>Wj#rf?#q+S{H@nHW_)w@HE75z^4?O8xCP9(GuW59EwN zrD*b;l~U=pK=b%f&-# luY`or zyw#(3!$J7=nBixYo2(axhO0{`FDye#8R0$_czKi%MvWfc`H<=c-qwIq?X1Ywj#!<| zg{S$(b#E5}968+0%?^3jwr`1z2^e{s?#0hdc4@3F%*#2GI8~G}QrY;#y(O#*QIhKO z8BLL*uxcd{S|e3c;^Y$b&6yj@+;Nrfc>SA=(sl`M{_qDl%YAo&3j@O(`9Gn-UNx4^ zHO(&(CHL*15+Gy|xdFfS#$7d~udXsEnR(1u JoL{@t``E_GcCy)N}Js z$z>_0tsmf6F@uek8^i}C<%Dxh2$^r9;En0f?PHBAeCK)kc1$%rARkL;ncIuP)Z8C^ zXFVd~3RKNp0sYwYLHOtU_!CVWzRIOK6l+^No))9Bu T2(Eh23OmQ7@yiO>P)(X3ln88P_F5 zLJyNfMxbYQk()aXd~QhEsj)1IhO15+pM|g7w@$F!-6RL3msm@+q&DwF$xUgeQ6sP8 z7imte54xl1UWbOf$Ym9lF0 OL}5(cr<+jS zE tHjiN+?Y1C@QLM{~z~@{%$^Ep( zBMU7@y&!RK%9vP0gOc;WCM22F#5?2l{T9En4 Vxgy(?!V#JLd4y-QxnB-Q@ zp&%;>cpEu@MKxm YiRF=N-B(zt;^bX04tP|kA@qhqwjMe)m0Th zb}6!PU7mb*DT=XSygp(~{pBBpR`@}q3@Wo<=$RH*saIHI=z;K^sb~cE6@-@`4eiwS z3pC=Z%REjUJ$}Qd6j)#l>Z U|d&g87 zNu%yw@RX w7b+n>=UtFUV1{KP-{D~YA?shF=)=?(dJQK@cX z+q5{Js9}(wher9jlLhV5J3#U99B!Jbj1Sglv^_(R4a^9Qfdm?6dovgAWff{@(U-nj zI!`HkF6mMu=uOwH_fH_arFS>z 44OG}7l_Tgan@TIA+RR9a*dQN2j$W`RDA7` z44V(4(%=`V`|PP9GSW}3Aq 6w}wzss*Gwc(lF9sWV z(_1q{0Ynju@X&wKU~oTZ*smI_e?2_{Ax$wul+5&HB39^hi#l5OCLu2yD-P&~ULsS| zhhpJzjOW(XGIdO#F8Edc2J?bffVChZNs0m7$sVWarY3$@nA_RrjzojliYxqk+@T&) z)E#$NHFV%@vf}yP7vu!hnd6!pADv3$p3|H;yxv)N^EB2IJ?|7-9sK&Qv{$H(gXd?X z2gq#-KzieZ*6tl#zTOYsWzKnkVw3R+F__kT%uh}|q@4kMBF%bBg+%Q1b!;$^PXtsd zvPCAUI{0ltjCA0)44x5W*0Q_el`kcF(1!#AZcf F4jFF4#fFKr g+ zK7ywc-XwD6CR0?zjD4QrM^N`MEq3tCaL8Q>)f ULw2!t!ayp{)m9 z2(! |k7vv;&+T=zZU9LQuQ&EJfY% zm;;-wpbeG*HMpd$s=k=+Cq}&|E12pDr6|s} bw#wHFJTXQN ztUZQcqAA+bPQ>U3TVGpOCiQYZalTq3HIEgJJr k1W93>w9x=V^-eWCZOv3 zx})$Zg)xC=B4cOk-JLH}vfdgD4Ro;jlDjP=B4cD4>Em`$Ym1CMSbk@*Wsbxt%bzp& z<7b@~XjzS=RKvYK(@q}d0~gFaRXlaYl-2Vqc`(t+)Udl0+k$K}+*vRKX`-TzZZbcg zcdZqXo*w>kl^dfXKEnne@WY~Y(`dPuz+=TY@;L_#@aV*puc~V%PYRYV3Gh+H%n6u9 zwxI`?V~UXye$@%)=i`{+2>-?uOK8i|NOepJ7|{zgZiXwK$jOe{EOxUhvb8~(2?C58 z&ZjVTb5VG#H!oNqDDr30&F>}QO>pThr^0Kqv?l7)AAlu%Or%x)GcIw%$y^rD9Rbo? zY|)(?ok3As?|h%*9x#|^@H_C=$$NE5XCSii{X1CVcN(-rf~cg=mCPH$QCScA@W2@} zGgGEadD|+2Up83IOE`jZO^S+pkR>o3TzJaLJpNrcn2B|==7Cg%?>4VCYk3%0dZQ`G z9(2`YqJJ-M5M+EV{^kn@?lDagow0g~kDk!G*Eff%BT>7zag$@mgX@srgH-QreLeK4 zKP@vlC|P@HeDlT3H;0Z%p84&1wM}<{9arp+ATPhmjstaJ;L+%y$glJw@}e&_E1gE; zLdGkZ>xF=dDLktsl)e9?pxH`BUC~#MlF6f%BF{+@{Hpl6)uCTITL<;_+`xyOJCXDp z5;8Qqe->HmJC<~@8nj1-n|+d*oem50F$ecr=9+b=qVD<4ZNA@hQCIAY2=HruEYwNi z!d+DP&0Dgm y1{WL3#0c*WY0VZx1N*R!;^{ReA^Se8FYb z1Ci1<>3g4)Gh)k_I8O)d=QbM*uBNSaCMwZ;kx!Iz7$oLa!BmkLEhal~0BX`5RT^1d z%y?{Y1kWDPdtsy8EXW1!B76kwG(#Rpw=PW5-J)->i14vXzFTSM<~&pK{Q%F0+eoM$ z1r`-fGA73L2POq`Q>l#s$v}awalfnY2v~TfG%obEi2UA1f$+0{xwI!oz=$BYf`k4P z%V`Bsl~K+>TR}Z`r(EdY( H3tBx=cMel)J(Sbu#;t?^V0c*0!Z*WDY$`*ZL3% z^R)MHf{=fnBR`kKrlw4P!_OA~1IWC}6pspNe4Z)Dth&nidD#9EGtoEHpEa|i>AvY% z$-2xTwZUxybsHwxzJB6)`8rbXi?JhPLm@Jm$d{rUl-(3lPWpnEzIuo#$eyKct!j-S zSoBln{>B3IM|tvZbi33}c_`S!w5qMIx66zQ0Lsmpjc2Q^JK{a)8)63?jYt2%TFUeH z8n3) u9wzoyr)qQKLV+T@mnjoOCpmivM#lA2uxievGsShn;BggSg_? z)ngYnxG0(Gl_eeAku(bQcJGWueKtsc4pJSK N }A#iylS~tBCyMQg#EblSVoJx}v zb!9T_DNpbay(v64G~~aLr!^Dn=9R^qx$DMl2Fw`d*f7c1G>&LbOH-84OWhBm;_%So z(;7-G2@Q)j@d0imN4q}@#Wf%ewcC|HzqR9y6U-%85EswZPjyfqWszn+gCzY6omCt7 zXOk;FVT 2FN{lD<&N3mZT9{BLKW z4cgsY#$v%S0_f}Qz8x~ovc;;fx>9}Ti~H-FT0(20^^#h$Sx>Ju?^%)~AEEXSbh!Up zZWc#$uPoUAk$wsM4Rn27`w7k(m59&VfE1&B{Fli?p2H6rapzWnM^Sc10T< jrt9`haE`uz1KmvvK96>=|7T<&kM~ z^BjgaiAwu^TEy4;a~i+vsO?vuQm5`m^&_*4Zi9)2>#UD;lu6A$c~_MlE$t2^i2p=E z@vPPA_apBh59KadkkE#|<2bdz{1))={JJ!El>#H7awCY`^}{Q(DyhIaF&WKE@@O#X z_Kd}}MKS$_0b%eMeS@6iLY=Uf_q>v-uByq+7y0qBr%9X~PDE1Qhb~9oR>$C!wAy$T z(Y3{clt}Ew7qxvo4@?NA9_p;`=x6kXEJc13Ns)&2dsN?*C!#y*UH0+=94B8aw^zSJ z6(8v65ehL(owFe9E#AQAPcm|nHa{WW3mHWs{8a^4A?c6-d=~}U{*9icxh(YTg`h|j z_h%c7$q3$C4dccRKC{1Cfz1^q&wJs&&yo+}ysRsVy`@KVO+l9Bca0=Uo~$$0fq6uc zZaHP55h^*OplZUhzUUe*O8abJA=JwX+D|Z>o#yqnFetMt^m@#=D z7CD10or&(XZnDicIy%G|MaLh|f$3{&mX=aYrz{xJKX~}BLY{&F&9gqKiyU^+HqC&2 zneA?Dx{-g5*3wkAwJ*?qRy(|6J7u)}O$^{uukNce1*C {>F@! zBj7Nh#V-y5A*Ri4qmM6>8Px7s%}9KaSM3wpr-5+2@y@T}o;<1)@VKNv)Xh4T3}^wm zf{|*~mTu^UX92keKe>1Ip%rWY!j0XXL47lL@NqTbOL;0 < zzcM+56ybN_Y@v-2JVewTxd2&fvz)h>iAv2vP9w$oHT;g3a%t }dCpy73xvA~B5z zdaw}aCWhC4orh$rn%vb`%3EC?Z0Tw@xq#Xw#euAlU9&3U1TPRIV6SM%qU9;dQNRq6 zAQM-A<3pnh3Cqr5cn4H%Zlj@YLv@IUdc kt5%)aR>J}H;WpVrew0mVYle^B~j=9rcMqDFH#?AylL6p7WadoR;_4$!|LjdDOB zLub*xPwBmsGgpsjThD|8c2 $jsovE!FXS87UIxmKNSBb~UIh;IFw1y*=(C5De>G#X5yhSc&c2y90r z?qgyW1DOupMAe|Tezc}2lQ{9TEO4$n@dRJ>2aoo+UnnZn8srIX{!<#bwKumN8nxjx z%P})=5Ti*CQIdhPy3kWJ-{b7t4*h;q{28A`?ov7Ha(Z*mggGveYlAg#Zep&Tu+l2a zc)0l8)UlGQSo2h6RNkXb=LM4UFY+|EWe>kJ{pVTW1t1GlU|CP!!<{{I5XH5D_=7ps z+)5htW8^G8tqf2_r%L$q3(lfkC2C@`+9~~xge;jf5MHPD_v@;JZP!e#SgzTS4vp5a z-xc>PW9ENhH?e`wAp!D2O1WPGz`YsL^00Xc^6uk|%I;@2``!~7oO+JaAN(>fN7#W5 z8hWJ^L9$KZIy&3L*7262;)Y)LE$hn$jAd3IdW=n{GutR<$mpvs`38N`QO24x*IW!P z=&-1|?F`#mW>WdyeA^?ugQr17^wV_{>p{EgJ85V!5fAUo>R`!!aDP<zW|n&Me$1tYnW3~-sL_IG_$016y9 zBTB>Va2Angbzy*Es=E&auiv}P#@4OQUa>Y=d`0r}b{w}DbyvqL 9re z 5GS^jgL@%_@ID59BH$SxxKWZ4_u~d*OeQ0s i+YiTRGd1qhnGm}M4N48SV#Q!%$5^f4n`Konpv2Kdw zvFy4Fyxkg{btK9M0u~EEd+E ^FUr#czNdH@_FAMHg zs$16?_OA&jjNLeKm<;6KE2|y(HU(P(chf!&2(4Uom34|enodVe(<^Ddz797X>Rwmk zLrJXprKhA;;%m1)NM7P@$jYZQ)+gjT6FrYZ@O=whW^xWWiS&*Fr2H`@>X3u}cI^vx zGKNp!$(i_PhoJao$dT_|>K| -bQrv0n=CZs;fLn{PjErWxMmZ<-Y_ zbGjVIDPCT(nY!McUIYk>&-Vc4Ve^d3mbHpu-YLvJM``5GN=O?p1X+szpqCuoD~689 zo@#M?UVBSD-KYrIfRFh-t%?wR+nrL04--HesVF@{P}o2FN(ngv`+$OdluUTlK1cL1 za#Fetp}nRP^_S8K;p^qJ|0yQ`55R&eH)J*_h4$gDSiS?VD{L(_9+BxZ<4p)Q_gSUV znDd}bYxLl1jK~>H_KH&a4SqjBilkfpo4%5hbq9?2XB9+k9T+RwUyCM1>Jk9&@;Yn& z{yz2LJ76k)aQa0lP5!-7swVm+!0XVe_hz5|tP6g49I(5U1esOH4%c%<5d$z;QJD2^ zf+uQK2lJB`ocyTl8qv5GUJE5(%KMZ0=?jm({}|v&{V~8Bo_;Wo*I|YMiUwOo&eya` zF;rR1oRZW8fx?$0r9Tv-Mee&3a}qU(s_NnR&{dmJ^d)fm8VpB|+qC>06gJ{Vu}{Kc zH`5;S3+^VIvlY8p<$b=l&m7L3FkheK?_;-NNjqtHp_}1(%cRVigTe#cgIZwO|Lpit zIpl$u6G)zfcGVc3mpiCAm>?a*bwFF`AeSp;d=kq2G0C$L065Ph`sQu!gCnNZE?TXK z4?Y4u3d`F7MS>#&7$mac!G(|pz%>`JPq6t1A4D*76#IdG6RAe~^wFN~O$Be#N$!WW z0IoeI*`bi{Q>SKgQC^L{VZHAVyIJAw$Hj5_PcS#T$P|Ath7WnGl(a+Po;-zu$-VvQ z3mv{O ABBU1$sJl|KjV}QWtl6zj%$61$m(QpD;EI_H+TFfuv6C zXR|Kayo+t~$lX_90&@vUbN@&%l7rm~AH(TacAGiUD+)x&64=!kLoE8$Zu|W_AlcHg zRX>KPa>jM8CNC!cl={z;y-z^07yJ`?e(iGu^aqA}`(x4LvH&Uo7Ko2nkUztuAr9bh zB>MW75cXuuF+z8XO8lSww4HlG>vwUgv|=HUi{i<@mQXg(a5Hm9lbD{*o;%*1by^^k zkE4e2E?crArtu^Cog)g6l0M{57J~`omr0*Kcg(&q{xx?ogt}{&D8Y)~As?~_y(=sF zi?^gyIW2$PKZ|l~525Jpd)ua><=2$&=9Rnja$Hb7YT0vO!3)UCH;)~rFaPCKFMVLP zTTJ{?Hl&y8as8a4rA5Q}`OKfigd4KUw~Czl=#051UffTyV`-;jiq$akkNd6(`gbxt zto|>V-V8Zf=YKKNGkG_XM<3ccbF>lM)0oE9{qay~=G$_SqlHDGN4*@toxtUk>)p`x zUq(mAwhYR?$L*eRxzXq^@6T`}$anbpYpa#}aVlgVx<9Erq2$>uGrU@J&A(FByE^Tm zp~@?;Hd2 W=ga^w~VWu!z=E#0NT=kcVAlJq!wOZ_$7+-QwhxRO8>&KwlDXGg)A6N(+BZ z$W5E1OpO@%TmK29Wry>erQ0BhPpf^TBGq_8Si#%r-*$d#zO6^l!71`;`k+fElXv7l zbkaS a}HyzW_HoYT$tX@CL}O_;FTHJEY&I&6WEhZvrEWq%i{`t9*-gN?kN1q zYv$}9%DwO|Nj|E6bR>9T*+e`5I~ZW8P6Tk|>CP{~yc|iiRHfyj#Ka3+gz3w8(I=oZ z)q(|?r6&ebK+W3_O;x%WoWNVR!FTwztW}_XuTgq8xJ(7!0?<_hO25%n_Zh4cy9&+f z)umy9Vf+q{lPWWyuPS0q-@(KiKmA3@7uJK=%853* _mT62i2?ky^o@7WAo5*D%{LswtwhuJwIYinAN5?P&py1TwXaz6-q+J)OXYIbgXm& z(>%mK(5dKa2Be-63 oBANnpDY|HoJLb7ItzsU8b85>oY05r+=|;>QB|Ob5xtXW-uuf_0I`; zZa;4OR#Ks;G0D(ywcQeG`>ZCnlj)Gu#2*!9d+O_Vt >iUZjhxC)vN{>#BHXzJz-F3MTN%*8PBm_GhtDdlZG#4q*b}*gF G#uF zWer$fj>tkNVP|Y>rkeInE8XRr((i-0>`8{PpXKaHoC3C DUJNY1B-tJUszFh8 zG>|az)s3*|C(A+~_R84 `62)qot|bMv=H }+NE zacWWdF5wfB{p>F!`?*an)%hQ69{}=7Xl?He6+d8ak^D)Uoy7nkwb$b^VpV=Rruv2# zoulK(Xs%L+e;8W*e`#njKft6OK@G10^JE%}A^R0;Uz?1?$jDCY9i~=XFLMtjUaYa+ zkq}s#7NJ*zCwG-M^RrHl$&d`oN&31^X<%ibTj7TtB;?Hu%}5XOu!wMHw%DUJDJhRi zwdOr(#p*WQSg$kA(P%NKW98IWF91lJ)FtR1Dnd=#Cb_itT@sCu=1}O?nS)GQh^2FX zNtO*P&d26HbY99X4k-1k_&f6WA>SJZkj%nGirJ3~H)a#Jo2$Gh5`R8U^_fE(tj6ql z>dBpXa(6K(+lOUOrvSWza#_YZBr6r5Ny)pZA`93B`Wt`qubj=pdrF+ ;%Kt_=4w-lA_$9Vd;v4m6{62K_ zO1`b`>ctbCGjUtf??~}q&{ey?(N#~J%kIjJ{I#ofldDimBxBNp#5OGhdf~-oulMmQ z2+z0r8Q$SZ)eTwn8v;?pWNYcV$bv+gk34?NzARAXSMqn)!Zao>hWOYRL;oJB%C?wm znrm2g`rXO8AAmn`vJ#i0ijYfA_xlODNP1Nr1b)3Vy%PRpS7|`r8E1K*A_ s>J85 zLZY#l81C%rrbF6>RxAtE+ Gx4Zrg5;PgBe!AG1_c5~9cERd^kp&QYMTrRl;PII*jPXivafod7J*LuP??Y&_wm zqMxPHTyGIONhl9hl{LpmyU$XAy4ZMl>TX5_iCoAk;dVc1v0L612z?{-x|eh+e>yc0 zT;Ie3D!w1-23V=5Hq8A35~5kme`MnOoyXa3EOgI@Ks%keWIWeAtfNd}Kj*|(Mj@Tm z8PVNU!fVe>s+Qi($Lzy|HD~jFf+=i9ID-dt%o26=HY&FT>c=V2`C=O5DtN}UTv#;F zRv3hTU*rlEWUjvj&-YSK9{TI-&pkvu>NghPw;ZrfyZp^@{6zbYZp5qwf}Nu|(sDEC z%qAQ#loOGTvpmfA`{}aa{feUA0i5CVq021qzH8n%1QW|ZL|^?vM-eW4AL#~IQYWQz zavY?BvX}mWwp#~j|Gey+R!Z|co0G_q+}H8wPUSgS>tp^qYl)oeu^~+%X r#H{bzGiC(DCqV1~uP4ydYNaUo*UBW}dJs z9H)cA5A2Rd2QWr}iE>O;32>;LCZYh}JOA+k7tjybp;*K3@fzsMZFMOCeQXBxoJc2& zyYx4-j(jO@3VzCXBx~`f+|cDUxL(AA R`{l>v{@=f$W9El$7C>~tqId+0IEZVJ%s zK#~^78Ek6GTULh}^4Egs23K&MSYoJJkFzT&XI!SFji!TcR{0k#l)aP}r_X^1Dhl<_ zbt(@%E5v;PVl;#HT{>lPX`-)l?%_M;Wu+RqYML1J^@MD1vW>=lklY*e;DJNtq}aKP zF>vp8%n%{fk(7E?HCfV?73Mq^MmKJvUs;*849SC(U%uwHHlbLSK(Wxuv7UzF?yt1K zs4a9e?ZaG-qfv284-6%adHWyvDgki}pC?#1f)Vg|20{e(1 zfH zWi?m#bcNL3iy&?$30}dEwq_X2w7%0z7hHhp_$V50H r;$m&&l&H1`yeCo0is|2B+RYG@uKZ#H z^hQ^X)@ z`A$?Fb`_#} zLZV})%O`lV02k{q`oW#$k>e(?P1hd>I ZPo%-XR1c|gj6J`T067q5M^a59K)r;m`mprtq*g{SFhF7MH z&sx@>t*c aG}m4OC)|lqR +>@S>xd%n44?P?d3%F@FovLfW2+0oEAfQLb8C=c`H+bM!Mr$t z=Y}f)_)}TUJ#~j1?Y^-fN8fa1+FvredVn>L4@eR*;%a4+g-gahvVz)>`+RRK9@g_K zqx&auWRXKu@f>LCaTL?A?HdDsb`8NrMdz7vKKbVkziZ5ii>D;}I-q)^>Cf#bHzU%? ztBzsM&EM0$(zMye+o)e{qX47eQsego9{>TJxkSB7fS_K 0th^paY8pDdoM~s546du1ys_