From 2c8b50734482351e6b495f5c2a310cc5dd2ea352 Mon Sep 17 00:00:00 2001 From: Sagi Date: Sun, 1 Jan 2023 01:14:01 +0800 Subject: [PATCH 1/5] chore(road): update farris sig's roadmap on 2023 --- sig/farris/farris_design.jpg | Bin 0 -> 80262 bytes sig/farris/roadmap.md | 59 +++++++++++++++++++++++++++++++++++ 2 files changed, 59 insertions(+) create mode 100644 sig/farris/farris_design.jpg create mode 100644 sig/farris/roadmap.md diff --git a/sig/farris/farris_design.jpg b/sig/farris/farris_design.jpg new file mode 100644 index 0000000000000000000000000000000000000000..bdce3482e283bec8e6f0a8ed55c4890ae70d2bbb GIT binary patch literal 80262 zcmZs?2|Sct*grlhvSfKGvXtd1lqJfVJuR{e!ywBfWKVXoW$0-^C9+epZzDS)BP3bE zjIon7W67RnW`5`9dER%t|Ns5@#HV{X=Q`K&y}s9Vj;DG$YK-)p^e`BVQT^6+eef$3 z20L_@mImAri&St0zvv#^GI58&L^Pm(RNj6b+AtU|O#S**L!YGi;lZdon@FDDqxsDr z@3r!pN%rBUX>RZ&+`Te)^B1+~O_A4u~Pqzw)-TC9RdX zEHkqyUtc0QI~6!H$Q5yu?|Ig!oDU!Bw-)WVYUU|ezKhJZn@^y7pUEL0`hS=CTXq`% z?SjyD7K|nz>eMw_yXrv1=Yb)5zE8)AvI_OSJ=Xud3jMCWZ_hsetAgobM5vXjm5TZG zcWBKgGcuOT*D2l#E;OMHRV3mX`dKhKwBuJ&8CA3cF45;X&>g0DtNNbxwnfWTwE0!> zwCRhH>5eLPD2-$U@*qe*>V4*MgAIj4X2xSshm z`HqU>1@kVTg4--k5~$yif=rTK1uU59@vZhmZf=T~x@@Cu(V8ijyY%c-X$Kl8o&@6v zie=;uuz;i7Qe9RuOr5SSe!&zks3hKKw-WQgs5B-+>SN&ko8n=Y?QM3g;6wKhlg%J+ z`R^(Y;=w%ddQru5#-~LhCeiU<4vGer(Bu8!zif3K6#7h4}rYCgaRE))htCT8p#zj50 zR1Xm=K&l)bl2fR^aO{Ba18x$Cl+SN*;%VVW{*S6!hOKaWPXxRaXelO3TiCvxmX{Ab zveK3erJSt5d+1oK;Fk=kW7+Xsz=N0-P9FSlbrLAY#E!mg2sO@!IN<5@@)Ri4cnWF!SQBf0uzs-(Lph(==f=j8zZx zStcu`C1>9R!nN<1HU>Xikh7xrAWf4kp&|GF&u&f{LlyReUjV^Mb4_c&V8VVAzjvp# zpHOPrL%lwi1&*r%V;=H4%}Ft4mlQ+06&#ffKI9+tOrvaJ}ygw7|*V(1eLh2Uht$-WKioq!LVd!Rs^&#b;e`;)fj^r}R!SP8?BV z9!2p8Hk%uW!-*6i38TUuLj{eiiG9_9l)6#zZkG&Yb#CwG^xF0hV;WfQqHx6Eiv+>p z8k~3mQtxaHH>JaO*${KhfX(e0Lto#gIk0}`Ob!uU{4K{goVe_b9pJsLat|mZN^9G0 zTdch=E_9!Jbl6||&BO(tYRZq9*WV^zGkARaDx|rAIo$Y`_5tUBSrgS?W<@k)r%7o! zvTFWr zgUb|i!(g`Sg6~obrI7ZFj;^wi)A9=SIUJOpZPlSJf#^#_KMMyI!^)plJ6k(lOkq)& z$XpAf1Lm7jpNTzVy2rt}@2;iuYA0fpz})S7hRJej388dI5jhtcM@PJxBYwWcwDGl< zhV~GYy2p@|GD0(yOU>EFAVw&D~+1@mvaHJUT;+-DT_YX691Hf^k) zD=Xxocmt;LI`E`lj{AvNDDq4j<^JzHFDENG@^ki00d&fWJTU$dV&$lV2KX55x9^27 zu0R>u!u>qu9Bu3A;+kBEz~ae)`_UAaegKAfn?Oq2djSd++hs|L=9?$C6+04G=$ZIP^T>EuJ&;pq;bgZN;hBkg1vF;bEu8fyX+!?k`wk z)#-mnfx#lzqa)uDsMxd-?ew>87`yEm&2}ux9#h8o$*xmY7o@$1wGkZ}j)>4uR84CU zGK!mqGRV|GK%+dArt{JXeljW%Cz#C-Zr6O0KfPFgb`4$15S*kdPqHq za?L95Ngqe&RcoT5Rqx5{-LzBhNhor4IFNS{SL<)#uS3pqQ5spcoWJtj{F29o14#l6 z7=-wO4p>*=Xs>{XU0He8RL2S>0fycCVJWS4!f1U#2eQBu)5e3uG(TIJF7sTN{$l|^ zDNGxa;LGl{%MBYP*HnRIO? z{GG$vBL_5RvL?tEDWrPAz7LCnI}sJ!li}`4M+g0kg0|tj-Gj zz`EwZx^nhk@vM~+abD!?oNL|;+8%0H$)hy;OSPc>p-f3O0G%i-|3q#YuTWS_c8M-{6VYV}$m|1RVqAb%7Nrj__j)Yh+WB|ep)9PvDqHf7!} z-lBg31}qPRC}edXr*zOTO)9Xo5aqiku~GiR9F#AT8s1sw&`r;^Qw`@|FQm=ZwAeq*|)B{W#SH5FW*d!2rSUe7$JXJ)Q zz^vfJ%04^hm-!V^pt#!yFdNJIv7zBF5tQ$t0YR8NFLv_1lv9F0{?uv`wD5=Du?NzS z-n$7~v;#&O#4yq(m5~3jv%uaFPa^Ngr`E?;9*BCQ?$jVRPb60XvPTjrnp&|4#Dm{2 zI+!VhaHH%us9sM!2h62BaNv$MqJIXL17cS+S@__@#bDxy9JCtF3em+`zTqVZt;FG> zQAORVw{np4mN2EJ&tD57adNr8V}YDJ=8CZ+VguL(2>Uy~^gwb*dK`Fi`WDkmh3zs3 z3IU3>=Q+4&cRI-U8dDDVX1tO^#6S4ne%SmwqNf7{_91rs2PAz!zrCtC$*?~pNIF9H zS=dwp@I|s&V<*qKBFa!x;Q;08YOc#Z|C@Iw^nwtO>)||DypFwD%Y(-A)E9RmRhu@( zc0!yKK)Zn)h&5qK9-$Wt2!O+(b0s{EjBV0I-}hFH<&5=REO2F1E;``rV{i7WQGjw% z`9!EZ>S#Z4gmN_58^rY|&bG=p&RA!Qcy}pa^1)^RJl-zE4+>&PvwN@$=|q|OgObWHoq8ZmeF1EByZSU(grgPCD^ZAnM*rb_&FtvIU} z{W=pG_=dDGfR5a;|7*REpnCmfg}6lrf)8j-N@QnEB5Ni{3{UY$MtY-M5Gdv4we;C@%A)k{?_`S zdWDMTJr%nV`(7JU3YexrwCO9nVf`A1*4kfcRu5-+V(EbZ%EgKum;M2kspW`Y0SQAo z|Nmqis|dhaII(dbq(pi?rAax(2;}SITw6_s|7>>#ESj!FQZ67{Kd8Tq3mezlg+l{f zWJ)=SY9nIuN4rY850w6BTcWz`g$r*^mWIRG%YD}z3y|vaSkCh4k^yxKN@ft8n+$a< z^6B>zH9^%e?*C|lAZ8XwZ1`|@&){Hv5PTb~j{KQOC2Pt=7g4rSRj}L9pVf$=>RUze zasYd#*UQ4;qnxpJix*P=uX8>y)k$bbVAT?m1}{oMOn0gjn8p8_U0LGpf$X7kZOKk7 z$lLdsjfkkqWzh?9hHKTnxFRPPRoQ$O|Mu-;xu)czq=hF8%A|XLa(Mi9|4fjG7Jt4E zkAw;?tuF>_FFtBPBrU(FI@|d%Ec!}6x3OCdNrb!N%cq3FgH| zE59Bn6Zi#OMo3l@VwS|L(L2@Sm4`boOS?-vx30zeMvvZ+MTfH7JepTHs@ZSw6R|>K zYspkv6ir-xFh4d<%(zp3PglX;97fqua>!PGI{gL|^yWmd5z=(U(hI-Nbz3DW0p_4JaR#g=Cs*>Z&KD7xVr8<@a-GKg4O(iGU|cz zuJz_qyCTaxr>hhW#Tz}+S-b7x^q%*^X=!<}ovX$_fVn_PK4;n(xFx9UfBHzedF040 z_5oR!)VHj-ewQr6XBTP|Qk*1;%*an2Iv(5oIJUInP4Sypw39WqiZu+QN-IC{0N-GL zk&-i=1N}c6#_+I&BhlYd%x;M1Gx>`OCvD~_2T1RBS9RX2XOD2(*(Bd)AC_0>ce%?e zGD)jt!y$Z@#mK6_DFpqdxRlr)B_+rrz0fSnUcUOJq|dvrj1o3yUyqEEJDD4;wxC|s z}MrQB%AVut5>8zuFScLQyw#Ktynr2&m zjKo?|mOO?Zc)a@`A=CRuzjHDP%g4Q$ss;_%hvx1VYhO#9E|2_d7W*KD7f~}Dw7D)J zD1$i1!ZwY$ofjFQd{nI^=ruhJhJNwaZC()<-3wGDziPwygRI`ZNWN3Z5rTgD%L*Ui zCO#h{m{J>vUW}kXK9!#JKvLg`q7Kss>PUf)9Sj#5(D1^_ zJLR&!0yo2W+DU&WOf}S|H;!(H3EmC8amo7mJM{1KwAeOzY0m;wvBmtS$pAKUN5A|E zjN^&Te=XruyOFMkue>yGJ1kAv;m}53>bHKw6}NlqvZ7dki|e!+j*$7(G*3YJ+n{4{ zmHp)+<;_$BOXU`#+DzbhOX@Alq~`5O-J-gnPn(s>6_>2j@yeruaEmJ~e(}vWTino< zQn5=Vv!*@P>8eHT=n7QvkF}|Xb>%l{_)x~zXpgG-o4t+NC{M{5q@hqj+M@K&4P$fh zx!bZL1gVlE(a%tg-J7P)|A^?yI*AgpzVH0V;?}H#MR<{ig;VAGgVts|Nu5sL5e~dg zN~hu7c#RPBV}H)}{22Z1K#cW3~e}nBIur=n&z2Lk6{?#Hv6)9#_IqUR> z<4-pyE*XdJRN_uN`++XVCae*lvSmYS4m)m&2V0ZgAualv; zRyn% zoiOLHFL@{3|A}y!E~^9G^F;3zw{65pTC*Jf{ITuyq#Y4q7ToJt^iy{})Z1&cx6jY7 z{20O6Dwb2$gzLx6mJDxNV7yb0gm5nJgWzI@KLR5cl_-x`f2b z^?AX#nr4`vIN7aAtGvEmgo7sjli$(*^s_`8Mj`U&_kkxj)Z30~9ew)CS4%0)3dd!ocA6UE1-L6P*^L1v}x8fV4=oq5_wykL{zAGMhyfRnrIvR)TYn zl|MNp@OGr$uW2)$3YOfp6GmQJRQ;P**H;Ty1-~Ql0oC}-LgE5@`8UtLK%)!eXoWr^ zKof>~5_8bGou87J*%4w*MbOSE9_4<*Zfa4bvMWc6UvZF8RbHwXyWejb)3Mpmhw&f5XmApm zEX0tb`~{=JoDVbyEini&dyCb>$XD4H=3nbUIQRJ%rxSC!>qnnUsNbsLW5z}@&7-K| zlA!f(k!pL)1NFo*N67yXhQEAUeEuQrIO`~C&j*JkU0~1axVLsMoc?^O<3YR8JneN<4oko5$pjYePpc0SO;oSLsWGa}pAAFC z5Mo{ym=R4xy|Gm)!#ngLyJ3)$-10|UZj7EjNo1jiN|f`RvPU+$|FqcGpT)QKJwjpF z-txx(cNPFVhox~f^Px5QD}rrU%ff0)fvTh+feau+L2Z^!&l)`Eh9zl$d9+_)H0bgU zHao9ov~sg`n7qo&o!D>D8e!G1ilpW&eHh7Kj*9t9-|TX14!_6+pq(I_a+H)93tRIN zXTUFrO%yg*Kyz|BqZJ<^PdDdQ(}`%WNu{2u6&8c;m-hXM$a!C+W|7~ZO{$sQ>H4J3 z3hO$;Wk0&fLnN(5<-7Nstg@|g_ZL+DHb7{;zoEv__g$jmV@bkx=O>vu&za&$@iUWfK;9qrDX*;C8-m7ccr+~|^*~(kyUS$z^vH5%3%Ky)|KU}Jiz`<-B z^_Q?$wI5r(vZUj?!{x-BngcEI_UJW#z(AS*d3 z6uW<_wV;bI^tG(Ov#_mHxHgqJWV~3vJHtO;i(2=m-iQY}oXYoyqEM>wRQkXo$g7KI zOw*d1*GWbGH($1LftaFII1JN^Z`gPsfno`8d!W~2Fv84t=Xc~Mm}HZcKf9Ef(oBfd zNW`*CX2)}q&O>JhC(?u?X#`ZHtu%v;;8?|5$46S^yX3i;HfUc!C7-lAw!29Zqz--7 zq0PW$lWaC@k(KaBAH!m@DK~mD_9T;Iw@CmCH_E$kw0`x38Bs9WTO(QV&x4cFO0}!v zuD$;Fq%s!T=SqM5RJzjLERd>l!8$q|-LHqAjCS?-Sn-7HslO~GFP#u*QeGVGf2Liu z3JM`*ds>2xud|r#u+2>BL!98-wm({TQ(YylFP&V){1`DhNxK^K6$+l?FGi=Nx5L*Z zq?EGGfAC_dE&fWv3in<9eiU}Tu?p4PJ9C1(@=-BqcO_!E^Qb|?$Jr$dBv_rfE*&iR zBESZ*zHCOPc;j@L9|QG%Q~HV(M`0f3%JfS7)F}z9Kfg(fbq$?FcPi!wNxDqroRO2$w1wRv zMB9c%$2Pbxz#?4|sCvsOtR$uC&JS@*iR+`E*5*K}dkzk?r21_54b@0P-2o5NYmco? z{NVPc#=wHZ<0Zdn%QT&-;Q4Z-*(=Mmx%4>|tV@HD?y>eK1twH2B5DB!Q+NmtDU{Le zC&%tWe^a~ljK(PLdUjMp!u*JL-O8V458W}tTSBMFmxFqYr!#Z@4ne=<6OSpg7hbfG zpvHVN36chWNB!MMmJlC{evhoP{fC5HNKUUU2-*R3xmJ?_2=*D#2n35(!DqTg(!fm5 zT@;t5dtQ49E5t?|Ua%t1vARB{g{hpC5}}oLb3-c*4Fjbhv5I-TnPnxoP? zZX5;3)jsn+lK}DUbD!Laq~uimoN~NE;=uOgrmBxq-CqtXFEw50+SpHXMYPynL$+aV zYnqn*Y}S8lCb%h=VD_*dfLxFyH(?5Iml=zGQ<6f5;{UE$M{f4ny6;K|bJL9T2I9eB zasXFA`m7v6^Wwk6FUzPZ8$il3oU6)tiT`kW9#^U8*J^>`>if?A-q;)k3 zYd%{G48FUTKPn>gEn>=7x{(+4dm6CxaA+4Xjc_rl-l*F!6bKYksC*rkR?_j}@ZH<8 z^B_{a-@9r>4A4Vi8@eza=Jp5dS~~D;%RA7HGcX2mz9lMh!Lp+xSXNLGe({HO3C9HB zWr20IM(#!?sqnhm!ayT=p1`#~!%>|5Y`wl9ek*0%X)c7I!}Ji6K_scX$ab+*HrhmH zwJDD0H6yLgGjyn!64H5rbFo*fq-!hkJ0~YCPAuk`hoHq>=xRWnSY{Gh3xtLx2aCtUxgf>}xPZurrTL(4EdnZ^V3eAHke~RCX z;m&)FtOUdsLwE1fwQ-6kj#>`jdlg^YZ9cvP*cI1VzZt@LmW{gx&`~%TZxLI-MAP-e zMQT`@(~tTmL=D<;teZc+0U%@<$EUO(0LKm1^l8WMXfo|qEhjot!SaVe_bmnLMw!fz z7QG`=G%Vw*ee=mpPvpOy9!l6P{lG8MBlRpQqZ}oAM!2h#)w}41DTclui(Y!v^3 zDAGxihhEsP*7l!~f+;KrDiBzrZiId+QMYvnW@Tg7T!1W!G;8!~Za{0RF~C&*nvmhB#CJEY(!gP#2SoRd3-xfu zZq@}Z4XWv8xV+i^<1;gEWJK?x9XQuifnu$5DKGAgMQ2$1KDI8gme@4?uvd%p`XaXw z-6O}FZ?3*WzwdL56g$1(Y_2pgxDxpU2%$1qdPRJSF%Sm(w!SONzR_Xj?*ow+b#VY8 zNdvp*&sT&ujU^$wecT#txc&h7audSU`aw z5qTp7-K2+D-YEK#Sy1VpOy{D#;Fh7-RK!D#xykX^y4ZRZB1I=?g*m4kBO7E{HdOZm z$x7o?UGq3W76!v6N`?oBwf_)eP^$C>q(o+`niOGeKy@UhNJ#izET0Qp1hEr z)ooYek~*}T-V#-z=Xc9-#X!to6Y-RA>c7$u|Gk#Yo=&)ubbdyujUMHh%|8#0hH8RR zS`2Ho#|-l-yFz+a+kww!5$>+J+5-p#;p?Mr06N$P)xXQCCBPjCh{JT<<|4RY=KLHH zp8n>Rj(A6&5hm}Y7ng^w5Y`ZX3e@t7y4Oz1OB35f3hqu7rn1vATpG{LFEG7eEldr9 zrM{G3#3dp+%2=7eM2-2|QWkK*JD~w!k+4Z=Qs$8R8QH2C2lP=uC!UcCw*aqC2K39= z41n7iU-#TG##~sir|EqfGjDMaB=V+>bsH_4N*aMu1dp9Op5f8i+WN}S%VyO-RrTQo ztP*V07`AIjU(V9wre(kfiyI1Z6bnnUrU)%Gn2#^om&97|TDx$FxcE&RaLn-xts>prER{I@BuVst(^Cd_<^?jc7EV$B9CH> zpBrv^!qtMnQ}pLlkMU zA?#6&UDYs&Mu0m7MJKa(?TnoM7c zg4Y|x#-a}~n&wy|ZJkbX4J8a%|ME{5A`BsL!Tr0WhcEbPj+M}SPZ+5%D$JYUv4}ikp{mkC+fhOm3wE(dz%oz4}}1$&IgN(0s+ zlsS~&sUhF@8fCrL*4<0M_zU^@^tA1MeuPo2+heMl`^!goRx=JXUD7}`wDZl4HAn=|9me)w$=1kr&gISqNCmh!TZJ$p#G%>wqypc!2 z=VhIlPLJSHfbZFhV{hcYLQ*@Cw&U9vaj|zUNAf{u{ zl_j)I9dc4uvPJPAZR8z7Li4uM-J*i&sm-7;Fqmm;-&rb{PJ@;N!VEgiR8S-}zumVO zkQB(T(__sXIP=5d(z`7E|6d);CH|}96-EB=FVmZEt)1Si4dhdm*s{<<@IN=7lm(Js z1l?ZeMn#89y=M>)cHrhc%o+n%o5!Pn$^R@pO>O_B!P z@;xT^n6BgHst-izQ8uo049if8S>2SA5F1a?L_j&P6lKF0$G;#pmCrzZEKzOGfwI#N z>r%slX*f_U7JwpoA02G8Q;>xPH&^|7MFlf-1qV4D#YLcVnz7bIf@RI7+xEAl@Da73 zm+5~wxZIC1$~q*9#1_HR_~$1lRseKR73C<}GUZHhnbD#|@3^YpataK((tOj`lFOf5 zCddNuW3*D;k0Y=&#S{j}h|_V>I7-LIRMI_2E=m`6wTo93$R6ML3LFpv6xibm;Fdifv-o7Z+Aoe$4j*8YUB zvkd?B^u`ZPBVW)b{ghc2UhC;0^XO0LQRZ&rGz}imy|juEH@Lu;^1Y$pnJMOSA;?(( zKwB9d;+yq5{7%Y?A(wp3YJa8>&S&zA5N29;N!=UrQby;k@FM&EYd-HatNy2%0T%2f zcS6<27p?e06?sa*8dL;?ZZ7HJ|G^I7N@VV0%-o08B|h%1S>9vbow=-;X?PE@e9`UB(48DbuLKvroYmzMZv*V zs!B~VP`?tMdl7W?>=Yeg!P^`%Hp6pY(|>jMSx^Nh^driX?;v@geS7_BQgelCkQ`CS z@RxyFy^^mfbC4;HbTT$VoBD~sHDA-@XXVOGVIPFd@>D>Y$TRwB@+2t){Se2~q(Jx% zwdki5$ohxE*FB*^DPF)Ca`yYl7pXr$XM3y1w`RFqf#baee=`znI`^&bmzN_*ZE5M! z-1&XWBU6P z-4)*Ek4wk<()o7|&arOZQM&{Z$YI;n9dO>U`Uxb8hrqTnanBZ?tAW+KV_ZK~UJC33 z;8M-E?OiDbv{D0-d8Qo`Oi$RHPTkjC2;?%b=_y3FCzEu_=2S)0VrFM1Jx{=bBUe>o z%H>G-aauDu=`DM8O+*tRYmb!&;v_Z`K*RaNjH%>UY-Pn{aW|O#1o2vL2dKdN1)SI* zU1aph{YKO>h{0536i)@5D2x>cn)vmtZ|;%yaTp>o!iK^4uVdYuMnyPucZy@PBMIm4 ztrY!;Keu~ltU^$iFs^Hom~#BEPE@moy{DSW-}(3f{p{lm_#2 zI^)Rq%+1)40dub3sgsxT#Kjo?8&ZM(-V zdz($K8B#YQGYUqRq3!fG**w?bTAsSiVco^7rDvCi>lNvvo)q1qT}J&Wet~=s65D0! zC$@!0#1LZ;p%Sr(UHUkEwP& zzNeV-qZuv>mbHI_I_>iZ{`sbk)FZIZ+hs(8=i5CeX#^Xx4u8D|X=WRT7OM~NklA8= zvw$P{Gk=r{n4*&q<;er!;Nb+=ULAk_&vgU9Fd|u%3Gx1--N%g{5O2?YLOA^7+@xRJYwQ~OkOfo&-`=yE^Q;x3z*K`&!d$hnO zRDdjSV%$mgUV0=DVDrs`?BCZC)Ztz(H^sqFVx3VcXTzOHvcWpC(xTuVIKcCsmDd*> ze~>t0*0Jh}SGA*6t8rO;)b% za$`@wx~8ASz2MNP%=Y`m;!~T$Lk`&6;Y%Ia_85jC30*?#xYZx=_R!9ag%eCvhr@|u z_|?yWR)=i~%n0<+jqQepU_U3GPtDukQ%voRdn2Ej|9tjS>{ZXnAdw3i5~8=07PsIx zb<{l7Y;M@zym!;~=Jh&DRY%!NSk_m!u~>Ng^3$bAmb+rzIrW!0qFj8%LASXJso8+a z&gNvhfkkgF4V_30^dMU--~Jq9P~m+nS1!JsE+FxuZ124o@r;r%mAKV9wopxV$R~`* zcXZ2EQx!Y(;kA+>=$wX$B4^F0&iC!=pS#2okM^aSF8c-py?`qE;$LEQl>)-4RNz1M zc3~`Hn@6unGlT!!SIb{&^a%pHtES#}I7G5pSmBM23pqDtlocxth7RBP^Ju9f)Zk~q zlg&3AKmU?;-k{3Du;`j*l=t%}t_mTUcEs|J+hT2{``lYhGd1FFSh`0!#sr&<;2#bo zQ6D3slituPSCV=;ERXJ=Dtv#^y6hnv)JRVI%0O&*P@~NL&>1Kp?P~P$ePIk^ZXx;# zph&+P^l|Ku>2G82NPWj5ayY%#mV!3M7X+WF(VwdGS(;g~+nrp#XpU{o)c#)4E)`QS zcW)?@WLKqO2_K+8jFf5*%1}YHlClz7n?C$d}lL z!W$l?#*>#IwcNN!%jdNdI!-SE3jMC^IO*&GJAhuWvF8~qLdY_6sr>R{uTls6j`!kI znbAuBnm;Le*fj%Bb2V(P&Xt%Ht;g32RTTuBt6v(L2iOn1R>1>yo>|3~V4a-kWb-1X z`NNWO$tzo3%~3_44?fqke~!3j{amXh zn{8$*>;~nrM16HAVU}eL_vscYYbVWudY*H(-Y`adcp;K(F(mDsZY>w*S zkU@qMTyR3VO$Zse)5(Z>x;$0~M0`TAyo>Kp`QJWUyVQZ^6sfRp$Cbm_D3UCa%? zVJziD9yz=`&E@TSYV*a%#ZN&2O7l64D0t4?Jrkn(30il3Y-^?ShT4e$0QrEJtaq*( zat-M>BkZ;QE@`j)nKU7UjIWSjj4KoF4|&j*MFqJHEO^#j1BX1~^Rkuc(_000X!{!D zeU-NO8pIUS0)bl_(=Iy&8zdiTFtSMl`*5GRT9B{ORPPuvx+@hq8#3;YYK}%tZlZ*A zh+d_ChOe-`yPPLy0{81Kn>zY}K2I*DV9k()){Hhxsw>DP2AweNw}@ynq$`O>tPE=bk5aYwe2bdmw=4uMPM?Bvfd?B_$s6JAi)D%d)J?@I*9suJ@BG^~3aFLOIn zv(wg`3v~kTT3pHC(vqu;t}v>bcP3Qo8WR~fnB?mUq_5sC2ud7ei!2NGg&#&T)9)Bh z3kiD0lCqR{CO6W_hPws3@@g0AeaRi6V%np3hkE=;sZcd!D3Bf4rVKQP692iN&Z`lr9W7 z)Lb&5$~u|BiuK8nytR53aY@EFcpPCU_?`Xd{4=d#nWDaz_77{Nd1>&9ToH6@=;45p z1Wpn1DRa-fP%4gzi3R5H85GORJryUf2s<_bdCShL*ft1^%SPu$7Z!NjBAh$tDf#R*YmUYSD0EMhb*>K;XC6kHSbKK`WdtKz ztGw96oh--zHn_4<1D(?sLSW~oF873U4q52~)#?eFI6D?7vkR~)TdX;KOig{EmdO1A zm_h~k;jmuExO0{(fH^z9ViTKU_|~Y>ML&?9_!*+at^2J8rPhyb59nOJ84gS(y_5d5j%{!+?mcz=Ym(gL z=SF9@BxO?O+=nGTnJ+pgY_|94);BL+{wH?GlQe~obiK@N@`(%R90nt=9c^T-I_o+J z7kPc-)LVSODHzLp5OOC>Ze&B=haK}mr=h+W#h~#f(_LJKP%(A?7I0wc_P}>jTROQR z&ge@Z@zFNDZuQ&z;DDbO)_rI>XMCn&y()+=FT9;J1OCisRyl_=GjM9uRd;uK(eTsq z^zdL)dRR`Um#dQOv%0S{Y0^FEzJU%wbx{ME2J1_|b_&u(vG?RgG@MJ66J{NYovXV5 zY3MvdP-QE~;;_S#>{_bvVQT-*pWqAl*j zuxw0X2H}sb0GY5=&j@MtDTR=jI!k>j#9j5DB6_|$QBf9T~dp#yK&Xv$(yYV;qWTUojYT0_~iDP*l z^&#J5ZiO|HHlGLiZ{vSi5Nv$z{(i2!b?WDjqnOatjQ`F8xN@IqU49|dDdS8f-oAQ! zXZ2C9H2GG${$1aIDtq}>c8oSA~y`xk5{LPEF%{x1t$JlvV$~mJx7_n@Z9rDC>BT6e@Y@F-E=Qj z;@{J=!*~S%j}!dZ)gfha<)kP;SG#-XowP~6<^niY%=w_+MVH9dh_`m2`2+kGwx8zM zLkVy%m^WDiS5cD-k(lQ@z~S#;(W##TW}Y_~L@CCT&zxUrvfIpxQu4`rYy7Ge9)pgC zMX6iD2Qy1>bMRyhLpsnY0SOTqgXV-1Vnm9d%XVtf@z_P>EP9i$s`A3)nR%+X7dCuf zG8J-w4ZzjK$$`@lLYdD244wQr!8+yGZ{^g7Vrk8kX$@FlfdPAjVM@u#Q^}WxkTK&h|!jK`Z0cs!RnbLyD0}ZZ=4XMPUArE$j4v`e$_DDW*c@GOz7l zedURZP*VVasT}~*I8n^4=;xOWMbO|*_S56|Q&2kteL&lQIP9`Hp|1DRS=RtwLD>9>!7gGKI79wRp>QM#lwZ#ecx2N~CExtg7$d(vJvH#<6oAS~AZF8@Y0{Z;?2YP)sNyYBoV zm2chdR=tAy!gocQU*#6f3+IMAGdAqjvz;A=-zJt%2=pu)IV2K)T(^Ag+>^9bc|tA9aeU#rm)SIaWiYcaMR)y*{{v!9gn<12{5hFQ+-nWm=;hh&dkS)AQGd!= zehM*XNPsF#@ioLBz@?HFdtJMMH*v=hc)~dP?}8_lbL@_DK@ppl6L%s4z5d)=zV&LV zhlf1ZAbBP--a%C|%vt}bN?amI8{?!=KZoz0$Qvksuv?<+2afj9Y>OR3VI}*#Ld0c= z#`NsD)+I@forjTcf#p3r#=Q2XgnoR!29k^aW$psHJ){*u;jL|jG!G&3LU{Ip3wEgd z1DD@m!};8B&k_fGM@vQ1cth`4N}BthaWm$il;?Ru@rI@e#9?tQYdE&`eRni6?yCu0 zFnvrf6poQ33hwPU5#1HBBNzRXE^Zf{6xWI>%GSO@16Ze@2m@a>(>^nYqyd?3w)vjI zK->$p*6Gkr0qyU1`3C_y@Q*F;OT%lW>3k$KoAV|Xoj*ughs?(Pmxs=HPYl2DFJl+Cg8kKnHk$}6bN9uOe+Tcnt1Byu^V3hm6^jeJ`ac& zE(+~i0?3h83i1BJVYX?5;v`}M5Hkd+t)x`}KN6&hv<-SyHeM(*UW5J1JDg2idQ zLWoMn(<#<{!JgNtILtK3-lfB8*C=a~j%zg?32a?~n6Q zppR)|EIN~?&yi=C?dVa1(6dh*$iuq&%(>d|jAw9+2QuLskzrNZ{6Ti15OQFw>(P{m zT>!^M>XHA-6nS$0gvSqvkNG{i;r#8AEFF8bCsbYLdH%1j1TO-+$OugQkb8&L-&Xyn z0M-J^5pV?ui#8e3J9pR2fsnIFgEA7(MPfdRpY1PsnRP9?A0Z=XOjPQLtqqt z{dZ_b1?m^(v&`X%Auj;ifv&%N5F8@S8VEy1h6)FKYTZ`T#MWp?X-m-R%56>C8vm}xL8aVdg&R75PNTf5+X;VY`3# z-u=T!c&?BMD&X>A`-?lqi=*dcCxyOPcV~K(v(P%GkwK%3ojxz9Fl%7T7^)SwNfN>x z@ue9pc0Y^|ZXL6B7`j}r-Sh92CJh2sEgX}=syctECrlc29G=Zs?*om>5wPoLzemxz z;Ei6RN(v%!G^e+I+9?-j-!lCB`q`C%hucCuK`xeXj8-^b%Ey)rXMkrCzzk@zKJb$Y zd6K`|;D3gANOdiA-w;OEJR#)Yzj|Fj0Z7O9`el!et$g1{mb;(_ld|mdV*lwspO43& zfkRqj(aHg<8xvt?#@?y9)ID6|X=Z(@L#ku>dORE+qm`%Jzu{`SSH`2;j65&97?68D z+z%t)*HsmQ9l-wjfX`?_HdQ45^gyTzJGS9J0bqJHfDZxs&)=6>cL7z|{K8I7 z7=>T)fa+0j{qsfD23=^35iCt;TbWgk6-0hgWKx0_$0k18jn9!`g8U~@I# zd8n#IWx=rz_U=a5)(_gJUgzeCX`6wr^06>@GU4Y|Dg!G1$k8*3xQxT$zm`o(S&fn; z=+$FyQYb~z_A>W^PILO?cJHd{KLNHD1l1t%Pm|-7`y#PC4HJ)hrh%A-Hzu$<4iaU| zrJOdC8yhk5bCpDI#NBZuXfvR0U%5xbI zZ^w8cBwGLojp+!{tag*n=+l(0aT~aX0d28r3|dQU1Jo0`E&I?K{8@B8Q}JEk)H?@u zAV5CnMwW6d(P#Oe>V=U`8#r2n_31}d$&w}YGFBr~hnk?8@+u@3h*9yrayUk4y$l~~ z&acIhIxu~|5cE&KDHWPP9hP6x5N4UPi)*=`pw-L`b>sWrzp;o&07#L2Jl1jFHy-V4 zfwmVI=5m90Zuo7f{K#D7(h#u9BCyII#xomVioBd})6Q=;!%sMs%90$P)q&I!yS! zgsV;bn_4{vYMQ?f_*}N$Ry*MWaJ@aGm#;&d{_K7 z5-#}Gy#VzA_#opNRJ^kC5Pnvr$m1@)D%k4P0o7=b#V4C z6%$|(Z;)JR`RW?ab@&zn2J9=zz5npKRZfaq?U|oBm-{sAGV)Mxs3iH7hq^E!>>zxp zFAR=hll8ficjOqh*rdY~`B}Wcl-H^Do6P^fC=9OMoUW<*k1GS;M*MecGf?=y5d4pX z9AOg*jiCeP5g~gy8#9(v6}ZA1N2+{{AFcf&`Zp z2FK)XreXyy4<;FU3f%^Fs?*9vVK4PPhhubT(m2vrFSSQ{7Pp_biseqdF(|p@A93yV z&5JQx0{`g=_BjJ2I#Cotn-u*t;Qkdl)Lvs7dVKvZ-?7a1klQ}W23_SMo}t!y_~uZR zBC93oXSFZ-T)}nTw#r<6mkj>4OIMagFKQVgu&uv#JNLSkNt-suX-`DX_!T=ZBD7Nl znYalWRM$M6*j8Q5-7e;dj;?^V5GBy#fNsn=XluTuFL#B3@_V{Lc3()A5dJ(CcssoD z6SDwt-WXE-=19Ydrp<2A)K8>hbMyy|xK^R-XV;t!wDDPGq=kVbl+TNq(W^0N`Y6xi zv;blS)|~mL{Y=*sO!R7l@`B&pDw~QZvMSW1KDMBD2I8{&mj%eN6#^5tj|XovMSZ=t zXP%=I`_ELyriDWL;Z6@Nr9>2IdIo_Y$;HxG^5~;L%RK{ajrNOrD+f-DFU#df8ot*s zu5Pc)eVs0Z#O_qsYf4F7>I1Df)f{6MJwVqHmkX|cprjKg<}T$&9Mf4Y zsF`R>C0SyH7~>6jglO+^7{f0Y9LL=wV=}erm~yQ1{0n1V_Nt!G4$6-4OI`isgOsg{hDAObBxpbsGs;A)MMLZ|*M@{8Whs1PE-w#HhsK*R1}v8!i5h z4SGP;a4+>X4F;}k1uTz?EshFv!*^Y3i6vXs9_IGh*JBDj65ZhZJ#)Hco31^v4i0w< z3A89EpU}yZYHFl+gpe-VmS6{e=wgGdyc}{uQjM37#?y`tV4gfiAt{E+`J>`P@>i^PuJH~DannDU=|)WFQ$m~k8l3n2carKp9QMO&XLw880G)f}~ zNF#_S4Kj3>NJ)ouqbMmM9fC5zP!dCjbO}nQ(jmyuIr~E2_xtwVe|$Xr@f^o}&AQjM z)>$`xhXu>fxLK3?pRckqDC@wU1j#08%7MD;qdse!aD_D?0ca?PcwRNR@&lMo^jbZ| z58yVM*JHbyjd)F$L}c zBZyxeI%G=WfZwM$#&xU9n`L%H|MrK5&qtA$mX$!l1_=fD=SE;E%d20BS5dn0FGFMblog=D#X1DdTz5YBvD0ICWQD?GO z^M0);zc`Oti7A|Nl(y7aGwRholSf>M<2LPFw?W2b@$Vz5*+<2q1FjN#i}12h#BMR_ z!}$sJxmhV0C*6nb?B54pyOz`aBnvf6z#4`>!yuKDEelR6BSsAKl3A9aiD9<$9&H@& z0wvl;!w;;}X~hO*>Q(M~&Q{OoUL6rhd=T6BlO@xy=MQ%)8zN4~5%JG$oll;dS}i5o zQXhD@NHn+cHA|lDSav$@(-Mq8NO~7#dHN^C8mt)@RdZ+%{6x;}0Ww^uq?Y>GoSSDmhJ=zI4_XUmqQ+M!klHk3e% zt>Pd}V-xt@u*0G+ykK-m;fwrJbD8owEjY zs}V2P@sh7NY zGD_RVf85jzzI5z8%zd1|t3N*dY(b+snsS4*!#p@E7N_I%OrE13kvW}O-X0I*M0#3g zjI3{jMviaEX7n{>UVT>up)9~NZ^34et2E-E=f@T zZu{Mb;}ydIB|?s7pDxRuOCLzS9aPf0#@RppDOo*jC{=&XLnNYEI3Pp{Ao*h_Cmp;J zY0{KY-4h> z8N_MePyv>LUq5^#v$t!9_3MuKR%bqSAPGA0-Jj*)IVfAV+V&)JF@U1(SmHLWU*rh2 zVDc-0W-8aylHPH4nr=V)ulWk?>RC^>+=VheLvSPguT1fLl1iF?Jl6H+M`PtQtNu}g zmX{r-RbK7reRj2MOruJvBiMggq@@c6C?`T_=XE1$W$?G`sbrjtbD)On>8cWr2XIIr!26Fi@=~Zcwn1$dcKt*x z)^OilHrFk*t7*T{#3K!^d+(mfb1TYwnt~)c8ksG;HuOm1;)9?tVG5NF2k$b#VD+QH zvn~hi9cBd`le8i~pLuuxoM&p{X^}YF%L-TH)}^a*bk~9QvF}*XuF&s>Hj&9)h)ulqA*)f5*wR;=Ac;rUL9yn4H08Ga) zyZ;CxVu?iGDr^fXAEtsi-pp?#-56hDPX-H(p9N0tXVc+QSP14yolPGV6085Lo5sX~ zwTT|=KSfUaC%G&AftqJ9p9Q;jKnx3YY)rPzS0A@;3z8N+fj6d%7kjES2VHkOrQv;V zP6q94065R#x(P#Y(2FXFlyQAmxidM~eos;4EyVff=wGoQ(HxgIU&Dg(Udcju%3 zmhD=ta@w@<$(K4Fn#P!(8s#>=myXVznP#$AWlYs}mrUSXO++W@}&6_gPiev z?I7F(?>~8Gl>N2`fe=jNo>A8CK6yGWm{SsYRYyHMcOBMxu(7;$LRH%tR(xu?Eh{U5 z-7_BL7RDih)e+AB=({=dpb6L&-VN6{B@32gSgbkSEG52R1DQj1ukjC_?QFihdN3m< zgi8&6K9+<#suKo-hBGZqf^|=mDRRZ#Sgs>Ue_5`4AI|?F*EfGHCQ$)dqovBqWxSO@Xe|@++|#C=<8Vi_h{I1u*481q=Aa$ct*CaD+4XL)>|QC>*cHz3fXeG1$9W zwYw1c`yVcM)`Awtzb~He&-@|^_PXgp=x2sC!&p9_IE5&>@hoyV8Sz7gD(;F1-u#yo zTj9t1cjWw)jlKn+T_8TOf;5_0{yCN3E3poBaJEU$7;^ZgmYY3_+NTxT<$YnWuJ**?*0xssydw+K|RVUE0AT-W2*XmU#EFUF}nL9-^Www`Ck3@I4sMnfiUyDR8KC8S^ z2c(Fo-}&hZ62P~1mQrqLT4R&$?SrxOWdh28bna_v{kBHaZ;z~zZ>e?m{Bz8v-%_)8M(1M}I45l6O^EF6cV%eb680p;SS3%U zBJawO^ABCK8OXu|SGoLVSv^n8e2i9kP%?h*W}a_ro@~3@+?yzTv3EKEMb(iMSt1v* zX1khue!e!lwBZ(JT^Fh=OO1Waz_B|P7d9r!*I;6pEGk~RdAQ;5lg7gd(eqMV{nOP+ z=`1+I&7HV~&hm)a$vM>h=hxfmHylg=xUqr^x5O<3Ycp#RT!Z!V?PgbK$pF&28=v_{ zjq2b8r_&m3RVDMVY~Fx2vz}%BN_C}&;0Fv$wbZ4~9)h@$5O(V0RjjPkv#YH;wBd`% zTN@`A@cSlQL{D?;pTvCt`th!KLUU!!zHcy znvH0^`0rnbd0sL}Y5P3{7u1ohvH7F_X)4HLnc^f0!XxoXL-<5{3 z&o&3t{PkKsBEmQ)3cNmytt)39Cud2(_BpEGN48$ni1y zlc>uQV~PZj=U7aAiDT=N(J*9G`pl^yB&n=vc5z_^Te&iuYgG%A5Z*zsCb%mPp#a>nkg?`HgMh ztg@|eShn@i_-p3D1*K|zT7>>vdInLB!{}0cs;#}RD~Ly)6>X$*M;&w9E|YgKDiRuG z6tHH_rKx|V7cTdk+bF0i{v}%)V3G4OX>VHn50>h>3W#P8mvc50?i;j|C5+pe1$@pO zi*Ml@`cn28mN;ISLX&iG{k!84xDv<`4gY`H5zq7u%djxD)0z34Byj5aPXL#Zu?UuP z#P!7VsUxbi@q#H3Q|44vXiaPy@#H#$orZ0D5&8_Xkh25-uto89Z3PQnFAT_6W?xjp zVuBJ9J#SaA63>9bHYVBNPnpC2##Os6~2MD@DNe#)%H7w|aJ5x*Unu9$k3CnN3b;WF=^ zy?C-{OU@|-9}~H_9kwh~cKzcCsL}~Ao(yk(JkGNX_JZs?P6rO9rj8^E><(E~NZd+j+RCr37%91S z+%sde7`QzhrAfTiUUYVQ+bju&Lk)p>aBTt*zsUdDzjMWEK zV%9Z~@ONr>A%_6<$+}m+G#xG zFbRvi+W5^vW(G8a|Gp8R;CeCq!(7K=#&0>5V40sd98oS~&8Q8VSREx`4>GUpEt{TDMAPbbt-Hx;&dq!FNag#Djb@=yT@l?@O$fA`f*l)fG1X z$t@vJyp>?g@bja9KfCwi+0|e6F1W^4u~h?S1DJ6I1-nfHmSPaO3IH`BO;_!eZnt~F z{32QKURU55d`TQp6o{&TkREALExVbD%4`*dKhz0;#H+QKz68(QzY{P)1%6|;s#jc- zMpucB*guahx zBuBn!6$3+OiAQv|7V{uzMHcyw*A4NW@`VHGqZz$Rsqa7K$FJOfJk^H?@tbT|2_=48 zHTg&7ZdL3))e$94pB}FFPF9&1jAQ(XoufU2qEE_Atz49vc!|f|rUV9vdrzp8etRz^ zsLJDn*Gm`a{0MkG@^#ctU3Yf%d6k0x+gaLmoAD^34qUmkl~)jWLBw{xe~zM!wMU9E zNxY-nA69x&pBK6ug9B=%sa4l`s)BD}7Fcyan#Fh3id@UO6XQqxJxLZd3FMJPqiH%h zFwKD82IVxhw7Z{JpSeaq-k2@g%#Dq?7Cz_R`MaL$O7NI)fWdnv*b2j4n(tLM@8^Y9 zXq%=Ob^e^OM#KZZKmGUwQV>X19|qj^XUjmlL8&1d|zbCrcQ$_jC>%0T+C~L)K8O5lUy(S2dV5uTQ z4~cL0hgEm8_+FY?WAJz+`0u%f5#fgZ3H8rHZXGO*jomMh24av$FW3apyKs%@nOg#$ z7(Ahf=tS+;DI=*ChAG?069F_=iM6iww~0X=UjFSaS)dw$TkEV2f8?-WQls0LO8^pj?eG-RqkNGBGM}FZ+)M!3mM z3wP2wcg^M#GjSKz9tm2qYS6WO&Br)>(z38yfgwREifDVcD5A-Cus{bPO$YVoh<}tt zEal>G8R#5W#e%<{op)fY?esyp(c&4^a@8oa&hu5)MIu`)yBu&#-<-WOKhg16vUjdE z>g2!cP(gY>D@jr95S4)v5wN6D7>x^-RMy_tD{t{tnrjgjssH4{8-%<%tEAIKaS?}) zKMVNm_N1@Ki6x$6CvE_6SzA}LUkcOH)3znhEr4np+7XM|g##|)uiWS_(hE0qdA7B9 z-7bdE$Am;HyCsMqrut*Wv%EqW>248l;9~nI;e~1`;^I;e%$WzDOhAIau@ihbVGH_^ z*adgE{kFjUeLuNlbf{Fo+3ob4?~qCwYHZV738HWOt2OEN=JUcO-O7U0TJbrwUQ>4L z+|)^O`WbtaaXeuku-#|ibhg5}K-f`YKXuyullp9tHkRZ#knMJ}U$w^(lM}QMpR!o> zBFBCP+5Ljfg$Mt?NWL;kd_2daoyF79bL4+6c?;&!NI;J1eqYKByN=-*hLSkrv*?59 zj_AlaEc;Z&&Ga=#Ei_t7Ki$IuZfc7JW)Up~Qj)o-( zn`^x7vlQC1zJryFBz-u&HSdK zv3`diiSSX*G=*_MF`fzONdhi_YEgo)HE{hMY&-@$<7GkXWU`asU1 z$vYslvqKoU)Em=_*}hcG7iun7|9;;6Ogyr9+RuTi8XeLk1{#L@L%#%BZEEX!CXu9{ zq_B{@(sljM4A=;oR0q|H_HHh@u=g(4F@uuqp$Oa*!rCe-X6LI~bPE;R@xq(=OAu88 z%y7%_)18A06678q;V0R^BfCr+7|KrmJ^|fl86EMD*57LZO_*-=t!6W}27awFSYrWR zDHA2;!ThocWqn(tGej*Q`Zrw5$OH!gxGE|`iUtYg)VSm%7&BW+coa#!;*NpF_juxUFI8xC@WWyd~P-ifR55bkA7RAYz&>ylU&33_sNeED*xtT0H6B_Ka zG=AS+6fTGH{#{u;f5;aD!PJq*xRFi6$`v*AhIrx9rGyhI0sr`Cf8w62jd{tat^(w2 z*_Gd~!6Cf?J=Exz7dJ8uI&QN7JDHC<4Xn_>jh*l?m~zp04&CM=`_jilqx+_SjwN_1 zG6lqKz#36Y5RTXcIG`ru?B(f$O+pB6%4J&RH5tu!BY_E z>u(88#SQf|EO1CpnbS?(@){RxtkedKJmUOMf#0v{kv-YFyYprzivdS=j^iaL>qtAQ zAI}2rHY!iaqhe>@$lurPF|^El3^aTfbuS$};4y&iox71z4%Q;wrT^;+d0>9GYL=>} zo7fr>oC~%|C{CPvNX79jOa(RIhT#Wu!g${|%#82t6YiMqKiNXf?Sx2=D}?j|{=Fm>YwKG| zd-LKz^O6&AwA|_fy}DDaW(4i~QjUK$67l{mOvB&{--8!CCg7jWpM8)^->&s&wORZ2 zg->nMj2^cHf$EUcS93SvBGs)u&uCoYBoKu_+T*D=OxHrCxS2_@_j>1v1pf54De079 zbUY>{6fs%@ovY2gQV)lXa7_-0r~~Wz-iI85Yje^!srsMiZikwGHYiAD3ZCjcv1ttF z)I>|B`-*XzmqPXc_0nsrqgB+EZFP~5;$6NAR@Oac4vN)q@Ab+s6+MDlVtc3AN! zXRh`VNFYGhdilSlG&bRZ>S$7UzoDsrIr=Se zc$`dwfDE8vF~WYnTA!5lJFt7Q3qw)V+UVke12&XbHgHm8p|hBs&_O{vRe_Qfb_gv5 zDm@J|j=>jZk!U?*aW&Kbx6%c_U7iRMe1aRAhs|rKxcy%7JUG>QT!QK=8k#nh2I<-( z^2C#gSzZqeh>yK65+`!YoC64{MHYk$Y-~2C{M&wIYA}dN= zLx&X&?!l=@c*4fXRP*iA^q`$HzQ(g9bY54@ot?k@kRw)1E$ILW^f<~vvZUV#D!CAj z&$@O0Y5E?Y3)ra~NlxmV7;B89N*e_N+FZ4+{?<+vs(7tZl(4=MLI+tA0TnPR)F_;9 zqvH@#w}MU!n?UQtWjkLB8pP-#BCtK~y*b2!0 z-<>$Wyk%ws9wh6|%^w3kXJZOpQ*2UP1)ddW4ISgq)X#=E;cC~h zh~CaA6QOpv7vfIh3>x^n!&iR?E|Sqaq~7Vo^ns{>!8V!`;res;ECjzp6#v}dz0 z`4MqqU`LTb+6D$|>5U)S^vM;kiUstpo{4}Rrg}Eu@Mpk&%;G|j<|X5`59+r@Y_~QI zZzb&7y#wr@wcsK%b3VUObLtkBsYY|2obvS;{P?G6;~T6&8jHgJA2C~o%%Fjw7tU2G zF3ruLzr+Z-h9>a+r-M0o1dpX2LYU*!i!T5{XA@v(?p=a=T%9I8=xs zB?@MtLqy*k=rWn>@N({K$;s&`r?_Y+|9s@v&t$NX9Yga_FBX0ib~<)D^-ocu8{`jG zO6;`u8`IZ{NZhEd7*2BNamkN{Jb@2!x@Vl<+(%s)Fu;Ziq=bAMN-cu8ffizdJ|#d< zgwK+_d<(rp0V?aWl5gw+vd*Y)bQ--L0>6~Pw#=~-Px=9Jp218bmD&`yu=3C?is;!= zf?CIH8=mj&BxaiQM}?1n#H!(H%2%oPZ9Z=+^a!I)u29Cj0m=g#;lN)Ov;Wfy%fxrp zd-1CJha)AFuBsR}S-TLXJ#;m)YLuy0Jcd=JtOs?|-8#^84fyQBP44dM4co84(`+lh6bi*k&e$^TE#B z*#xS-5kZzdq>YHdUkPHrESyIc!U77DN~`!*jRiTn zPJB2t%L!S%62QR=?0RM*gPaVu-%&$m^VEJ~d-FW?eggiNF&O((Kh+wQ71qXs4uzex zpndhqX`R=fBI`07RD_*)z%A`r%F(^@CFnx%8Q4e&9!yN6THH*6CQ_5g74&mufo*1_lSr^v^fR?P|rGNhpw6(0g_s@ z18~$n-+w47|B}AZO;^SKD>dF(PNx)O>a7RV#k9TUxF5^!Tbte5N~@Mj zySQFQ^2L@sqJ(Y=Nkq=o)?NT`X{NS&eTI`%S0O`&RCmvKyX1naXWd`5+Dfg4@n{5x z0TN8&_240ToMYpRFF+4-ZRx|`{k%ujfClj=bAR$dFfEjshPAR&esv6#ii}@Ej+2L0 zkl)h7h{BzJYs%oe#cee$_b7LGDfNc(GCn^bOEY zALbB;OS=f_3as_}l&+rFA<7ziJY7v+UTuZcyB;hwyPHWvPmNy={O!1b_ntDk>}}Y6 zI&*qj@$tD!Bce8YCSfh)oAd+aS)iiHXw0%Oqdb?r*6nnaar`dLr8cuNWs8=c-DQ<8 zJAr*J_F=pDJb<+tEFjt0QmJu|El`=IV?jv&U7Nw6!km)KzpK^y>#!aPUzww|Ssw*_ zh+VSO*+2vUEOonr3EY5~-)P6n)J_A}m2H|w9oJPQ@VB8q3bxj&S6}boR3J;^tkGRS zAM%bKLYlK;Jfe~y0}pR!4>gbO?TqN}TbD7IC&dQNTx@!hwe;SRZb{^0v6a-T$POevYCalzTW-AY)luk<_ZAyJL@5{JzQ0n8<$6DNp6z@Y}9BJ>*8(%yq zy_@zivJ==^6i;T)jUy-?s9epnGyGNXiJy=FuPDtPXJQR415 zzRz@gnuY6yx?$;SrYlMUArNe`ydoequ?Mu`343%vsNPZAzU=MDN?pxiQBDu0|DHb= zNb7|t!e2vFAP|6TKxEb_RdEXvtjiJe0vrRBnXrvg(d>&Z76|MVKX6R8pQPKH)WTyLw?IblcSwXA~&J9iA#m-F^Xq;19tIOOvx; z5y7g`7CC1@fFob{EtOUhkN$isz;@0SIg@qgx=*&ZHAi&*YU%fnThn?>V|sMlw*)1# zRrNwDUV(y{P^K*2De*Y!znu!q1T)|b86cJhw?sp*l~ce6shsV!?K9Dvo4cTw7*E%? zG1mYskpS!Xm;QzP~JUwuL$L9|alpL?**IHYwsDGDS<*}$ybq=YYRM+NnZ}ktu-FY(w~L{{4C8;C9DrYU@>; ziA`ohq)4#)LkJ|Tk-0=6^_6Un5g#CAb%kTA41M1@0Xv99-p!{Ah#0^dT5&az^>2xS{qL3D(;MsI9||jC+5t1Ker&IC46d1J>e_u6U{vn zonlN-p~w*cfs{J+IZRKe*DxJ_KqDBJHYflP6g@-6**MdQI(8S|-qW1MHTO zxUapPe~9|N*-5VYZkHGfveD$Eem!AZiyNqCK=|^)FVJg$^KFx6P$Yr7+`8(@cJI#i z<7q4`x1VvErW(4wCJz;>HGd87oR~~^Ik;7R6JPaS*xBQ0(hDh1#8+V?xNn+-R*~yP zmeML#_g?X(gIl|iUYJFn!&W3|=o@TE@C19_%C-4}*M|oiZ*Z*aBK(6?NqK=z?DMQg zO)lfn+!te-7MNpt+he}9+7;scEI1_1s&h7BeEH2~Cc_Up5>TjIW+W4mw+U6aQDwId zAAPK?$JU9FE==6sNuP(eWBbC~m3z&-u40L9qkV>RImABdf{hx#tnsdur7;Df^ob04 z{&1@ql8eLlv#W~LfcOz*m;ioe+3S4}i?%qjS4Wg{b!oMKv4!@aQkR38{FD&M|UnbTErVOtd!bERo%7tS);g%-I(80 z`{x490M0$4@th#%y|N6eNsSJ_vX-}?+3Lw{snKLb=e}RHL;6&b{aq%r{h@U#jQ(m* zx#=9w>#d|AxzB3x!nzc&cdg2fb-SQv#wReL5{7}=%Leulv2rbr-rg!Q+=3Z+z5=xU z*oLxVh$b5YNh4|_xRZJLwrQcgt0QC6JyC8W5o<@Mubj7;W#L`JNP;~)N^_htda(s5 zQO(Aqq!*A=Y((Pn7%?nykrb@o^6n#g!|&w;Bd+4#=A_V0M+F_*hYkF?M6;+>jD0<( z+Y8qdd$Pwq$I|!r61?HtB;T}-m;wq}2Kp5@_mhiZ*5899maL~x#!tAUqePujLP`s) zL>|Czh5<1=n(Xi!#U;mI4|xE{nh+%AoExcWX)tS-N+yZT2A22xa{T8(Aqf7$+T2Jk zoA#!LjBRlnF+Hk242uuVaL1aOZ>G~k$7z=)c`a}kq54L6ALAn@EF>LAuBust1pP{A?`JiFID7;aq;T{l?z}6v0b_7TMYv2BeODJ9Bl# zGpDOh*UoeRQ%_?WDcP2l_Fpk-Md=6P5S{-T#@K(k8-UvQ0Hskb)_w7W7gNOz-PXYA zgH<)|XxgC-{gY=iYb`a7$#=gCCeX#E!$NrTd{tG~8h!(QRu%BG{7ZJT;Hs^;nGX$_ z)&^<)5G@i2BW6ghf!qH5#@Xo)(1+8!MrsvEry> zdylkSX8p2RP5Z&WR(&Go(BGv=Rhs8~Prxmsmo%+b+3D>{CESab!b@w{Zu&zHEo3Qm zMff?G#^Uyy{g7wkDKMDgd-ov|6k)Ac2{-w0ExJlmhQFph|MBj@%PMz|9 zrH-7QvR8At! z%~CA#*dJTU!i3TBucabQ5mnrp5qSeV%^ht0i77t)85LEB3R?`?*}wF&@21{sg6H5C zywO~Rk!XF3bH5-)m?Gzr!0SI+ukkZ^}vpMm7Q0H~E% zP8W$;uJj7m`cT3Un*@S=TWDuJDgLBoDZXd|!CXU?op>r4zENuVyULcAEzH#AUbfzT zkYI01qOh_-nYgb&%Ij5_4;!ZRjr~NvS74ibcg3ouJ+#eg0Qo#%JZb+6SNBMt-s-w_ zN1zY|5D(U^T3v*bh`XmNXLkK@>xeWQ>1L+cU(^{gng zzB=70iQaS?pB?v{y_`K-YXRomglyz048=}U6evz#B4h^dHtcC?*gz@0WROWjWeuJ6 zFT}-$X}iCjd1bHs73Op2KG$=$`UdnNJXvZyQg?=c>s}>$AZBF!eEk)y*<^TX=zMPriyR_{vC=2YZ@$6N zxGyD18#fF#HkEs3Up1&sff3CUp|F2|oI?BIVAj%I+Fc*xh)fp;Oazu@-*$gpu^`#U z74(fa{tN|1ONqvIAKofGW!@=~j~dlEcik!YcvhQX?RA`N@JCoT?^x*n8w z%D-nIUoq}Y279r~dXMyaqP4d!+|5C2<(DP#9g#IFvKtbF8ERmNq5Ef_kp!S*wZnRCB17| z2s}5cCj5QX48URJB~i9FulezfqLF`T${aPb?ml!gI8nWwKSqENMsf#Ib65P?q;rZ#@Ad)+^l(D*c9}((mu^DmrU0Jr9i zhB0;>*)|~=;%BcAWSbG{=pm3`(XM)<07pu7mSr8HlIy1PQTnJjia3~QT$85>{Vx|?j-Asz zo4-v@`E8wXa)muWy3CDrUvuMbs_`+AU)?a)25p)|;Uc174=adiA-tHxW}v@8P=)<6 zBS5QLqKc7<+Zj+SUvF?>?M?yNqI2!!V!PzSnm^T~5Pn0i7q;}oP+{QtlpX@N(dQ!4S(n-?d&L86a*9TRJ z9-n&KR0*MWxS`4HW^7h-4V*R5?(@bI7`l*Z6X#6I-TQdc~K=q+1Xm@G* z^{C%hM8CO31W4HeK6bdP?dL3hDy z=T2Pj&|@ok@EzfDr-P&O{2r!z$rIC{mJgUe@IqF%eV|Nj$*=u~HV=;`R<5f3r8mc( zw^egy1oN(5vE48*R952^k~tb(JWPxW{JYJ!Wdrt7tF?0GfLgDXCQ*n$A6oq1*COX( z#$Ok|J4<1eyVFrxZxFwqF`z1u9kRoJse##zf5bpJps@b>{2l2QyI3G{ek&0@aI-Hm zGPgSW%-r3SCPfgEQ>J&9u?>&2tX&_Ji~RZFXh9&EjZI};iWVi~t=CB?z|yAS z{Pl3}xL%EFkT7vcL^fO=heIh=@k1)sxb?Wkt1@*K z`!`FN**A(%nP-!jsbFk3>1v!g7b^9cY%|{O%$#1ne*wOx8eF5oxQO?b{2pcBH@Qi# z1GIi0-Ruoa|N9Az=?532pKV3{oHZ(YV$@kz@TbIN?z|#~*eQOc*L?(Ke4?AV;Rniq zeVje6ukG~mWjKTZgOn)+*`rJ$%u7vv$d4ckBlnJZ^7Hp9!bdNJzAR1 zLvNP+(UEv|oLSbK?Tps9XnVY^s(13&ORtrhl~6*f=jkPYqrMU#fp!|g!$Fp!a@=-Y zYtZ`W;zAbP;je`cVlCbtIg#TzLM7pa;_xRo{c)_wSC>xLaE!^p6oq9$*Lh9AqgN=7 zyU8&kLK^s1CXa{s$zB0@^xRutc;PF%czB(5((YiKXZ!(#dgibem~LOC`PB zZ`H<*p*@^#QC40eI4}a=gxTyq=ZK0six^)kTsz$KsLFtxfWpe0J-y!?v^wz=YAG6J z6aE2vvP#`z2SuTrzQ<0tBIF%CRvR$si{wD|mF4MtV0+j-$cGi*%oxVZya3v@!t@e0 z<#?1K1rBDt*sO=}#E@fVdlLj#zG%xZ1;0!kI6i#xHW#=7&AtWw*&e;=+F}h}jwd$viuf zCCVm`z4(_%avTDZ1Tv>~Hq_1aR`R{Q+&xsYabHN9HM9Tb#w~MUiB@=Kc*A?av}?PCr?&IE|VFfd?^iH>gVN0h>h_~ENj?Sq|<|JpT;p`G33^S)K5 z*>kT@^CZeTh7x&1DesHPY)4yL#x!3Ce^~W7>M?u?2sFBND6C51)pzY4o4*{IN!q=} z8$dGR*9&P$i!Qd76UNj804RV*i;r`VJu-aDff3RBp<@5r(@pV%n=3y0Lln$)5ei z0btwx%ci{;{XNDIewg??-}R=dZ<_!A)^stqMZ+v3s<~e6rvFPqAgdlucPducJH+s8 z?knlaZp>i$%Xvm*75uCW@YOoRCLvo=?Ul?nLz)wg##rag8XzhGv85K{`taHS%#yDO ztG@c|T6M_(TI+K^F)`F{nhP1R%mY@tf_zosm2Jn3R;8)?SS?#K+fxUQxU&oh3wa94 z+adVbHhglvjCkQT*jPXk+0O3>d=OJ5k<;Ow#`Dj~-H-ZlKq&`BNuq`|t_KZ{?l>_I zek_we$^*2V1aPKTKQwYp7CgDqIB*7!S_dT7_>bxDSo})XHm)*4V3|uK*Z@41T<20!+VNt2u%zjJ={pqJBbm_ zf4dk)j@jiGE)2eVPZyZVE8^=J`#XNYGc{T$96SYmjq_S$Dn8de6!P)rTT(FpPT}(j zuzNif`@!I??PdNtE6CCNkeSfrke6Od?~a+0rRlQ-#EUj-jLmN{SJ-h+@kK#V1MCi8fMrzc6sOz7`cS7$31Jd@I-=sJF_pko0ixdxQB__F= z5!M$zyEmqfwTI}L+c*-1#ubif#+hVDR=kCE2xNxT#-~}92K&Mf8Y^8()B~?TXk18m z$@q%@>gUVT#Zt-k&J=Sn-GF{kfK$ai@U-D;Yca-YI~z)2cMwc`N0E3knw1IhpnND8 zwIZ@TFv{?)$@)9w_r=Wwa}@q=PLHU>sZ@t(`zHPCYU8G&U$9k1FDzsQk*mG~X9kii+4XC$rhU$Mgvzo$WV7S)Vtn$rF-!Yr|vKsZ_=HhCr zY`=j;(r>03kec2U3&m=bCmkd~qF>`nhUKwM_{@j&z}33hyu`2>2z+ohq!9-)>E2vR z;?EQ4!BDRwbfoQ=!-p5@`w@K9BPKzY68|WzR=jRj>da4O#hg8(sEwWxhA&DGs`YRR z0~v5XM9>56VFg{U!=zq;WCh#I0ijC6W3A`WZ*E4^gHrpcm8;H-E@_>Um#qhHWK@5B zK2Oq07VNni!LsYePDOTSjOrTyKRjSE{H+zARN%n9>0>kQ!L)f>pzrNB-bRo04FK2% zy^EtcyqF9d;_{h?ppD72X+1wncBQKcif$1-XG1mKY1P*?Dsr1Sm#UrL4K$=I_C*0> zg2O3=vQQidE)#TJdK3iIjijuzNdN}vc4ACpBeMRh&wS)aUqub=pS@S2Y9Sg86;#2@ zX;HZ0c^LfUm?hASWXozhF(Q5Y8ZxSzd20>WKwAS>hxb+%tvqpBuit?$%PHMCS#DyD zcXZQC=&ua|5(Y9f;emZBoQ}DZmp3Z(A|h)j3Gq!*P&2AjG+`R7$^R?vb@*KgJ{Xe+ z@@O`DSzY)S{FEaPaKl-2$+`L4-NQeIoM+;BI2)`?z|9xM4sjH`q;Vi$Sh~Bi^RCs2 z5U*6|))S>g!Hzt_JL0vZX;n&0wX$w~mZ>1=9>lY>C~yz!&N=Hz+LwjUiLp_@N$3b=<_>d1YVVf^%)v3Dfeus%EawjVV<3(HUb8SK~3wJw|6pC zj&tS$P;NNHBDGzGEP?98HLu)NLy72>Xf__DSq7OYkn%z>J4jh%#6%yN3ZJQmN7Yu` z`j&X@bz7$c|BJo8WJt9$2nC^Y=r+C@U-@(J%d}t8|DZgsWs?2>D#!?BRhaB%2e0q) zkR1=WKU#vexh(*Zm)Y~NUODw!-HXsL5Wu-nQt@AQVsLxF^+tGJ*faA5NPV;|Wgp(# ze6m`-1k9ZD$Z(tx!LPrBsB@Mo13KP7?tlKV6{Si2@4AenA8equ#4A-rhYwDOyHQ_H zQB(HlGxFYdOdAtId@%nkyM1|?53PFRHwfLr4aItd{T$bT4g131*>Uc1_;xhaL?s{A zGd!Mnn1yIvp?#VxwDYm-gUj@G7nR0?>qak&l!DQ|pz5;gg1NG=H#)UfBS8E>T>TH>+Pv65Z|@2U=ebqvR#?v+EK}YNr`(HMPON{)ih!peM+C8UP1~UN6V- z5544Vb(i#X9xHvX)H7MI{aE(&->6S5ov=ZOsGeQ0{D8fCsN0DF!Hhc*;EUN{IOtS+ zc3R4islqt*gSB?cJnyGSJBhzKcK_=Dg?i6W^L7I(1))dg??&DYB_0HDRdx2m38{1h z|8@;`W09S(R>U1=Ce@cziy6(0Pf2%<+dKC%2&!rHtkbXjU}Y8OagJk9I{REy@%{sM zblc5+%C~w!rNrj~X#(J>1ebIvdJR91K?_-RzTbr6Br@uVgF#tI$`7Os?=1ze~Rnssjc(>tbV> z;`IWNYoiox+-HW_P_WWc8l-t3WNC(-7%JX-4rqpIh2Hc_cO4L~bR>B~6lwGO&rl9S zfQrNec2xxyC=7Mi+o-`!>+HI^B>W~9eb7?cG>O|{_af(F0xWWrW0H6_g|lyCp?2AK z)Ij5`pXj*hnY97XzwQqQI7p;t*MQ{2`LxvgFbVpyt}9QjqqR45W8L-Pug&@nF{``~ zhT-mq3XS-J@APoy!_0X%2-2E}N&Qxn^oLi!{&^L0{70O&g8X2wo5#_I8V-b0Y;8oq z8Y?#Y(f(y)KAhOgo+`R;0J~5@xTub=m!5WU0*3mLe_YH@X*CTpAqR$&hn(i;pWDOT zwDoF0Vek2h^Jgq;gOFw3?pMFTm~-J5)`M)#3vcw>8zyP;MwaeyIT7I0|M5ADwSBRh z0ix&(lGt(W#!{EBKam6pjn_`M@q*YDydiQv5!0*637}v-b}bv@T$jMJ1~Ioz$3X6> zs{W7ZvU%P!vTArC51BQ5Sj%*ic~V6*LZCo^zz9liZ0 zyP&_pg*{46*L zF@A$EBoidxe*LDzxGApRkZj7@f(u>#8+OaGH#-DVjz4-S4?u!678NN#Fgp%DtT^-h zp_vYUU)H!)sZ0&;Nb*Y%hLX$II4EUa1g1m9^9vWVYnexwiCfM{VMV)#W**;d3=(L5 ztH3>58Tyt5^=KWrwsren9Zc)pKJxOMpD;ibqYxXdwUsGNWsQ}`Yb|tpvPU+rauiQ8 z!aHrvBpPKA?yaYH2O0ISz7OSr@a=mAnX_C<{$!CKW@@>-9e$+Ff|^+tZkWYu6fN1e zWprr1nw5p8*RJewI`tcCl;w~&Sd~?yJj}$Mo>hz9aW8ZDej9apfLH+8$cgL7Uk8YO zE0aTf0!W*bFZzRS7b5CCHV|m_RyAhu2vKu`X=?DvJOx5%yXeZ9 z(jz(Dp*Ls7LhFpP?d#SWn6FF^GI6Zr#Ja#CWSuyVKFu!iGs(g95%7(5Mhc!iY`ODx z)pOY~NKop!sgmNcU~$oPGHQG@=!v@xIk7__>dY=||7uMu%%a+5Y9l$UoYuo)XE>ug zXYM}F&b$&VaoGKoDSYu5MK!N&~YW#{}3@g%&JG-%P-wZ zJ&%BbHEj{hBa^oPH}qX5M@4o5vjYOrwUkC{;uJV#Wd(iB2zQ_H_A|`jTq6ITe3o1T zmTPt9-sMzM+1UzBGDt8nh&EhjoobgAkLwI=Ic0A=`ae{CcRUn+{Qnu*TSnOxGCO3? zXdvrj%REBiY}uX6icrWZQiwZyoV`ONL}zAYW$$_J?)TQ`^ZovQzx&hU5xwvIdcVf= z^?W^F`d5_El@&pEzp7hR^(;R$W^`~A2+$K3PADH5VhQ}t&bXqM#^W_+$MweFzJ4k6 zEO5S7(md|pJOnz4gz<#>{xx+`?&5Ss*=g&>_m4flR$NI6&Ep@>Mco8!3ZsoQ(aE8C zkw?Qkt~i{fYKaV-T94Rb7^njVW?hWBq+bgp3uk?Yz{%Exr~i`g`#f#3&oo%y6GQrL zhY%ktMnXTL+e+*xAh$S<-P*UbAY|qXOQ};O`as=g+w>2$%#nrf<o$fk<#3s8&W86S&~i}}7=MF60@ZEf8bBjOohFZ$zc3j{Iwy6eZ&C7P-B%gD zt#XfTF&gnm?+<1S;;SDwYBXBd%dC8U8j6oWns~kEc@GwLr0a|-4Rmbc@6q;OTnLTx z$fTS9>1FABl>Pv!iV?WB4v1#(Ngqd_Nnc*KjHG&`L(vMN_uFg7168m+WE9`gf;I2= zp5T8s5BQB3sBJj41vQPMs)S4OVTQR5SoS7zhnwV%%a`S;%Z-dmsD{m(+LG!#Fw zF@m2u6t^JOfDT2bQnUpxDm4p%auAac$RpS|*#fD>vj1hEothE`TS9atU65w;8Q@tz5?u`x|KvWxN(LyJA_++ zT57<5dwVpHPIeVMMk~;2GIl@gF#V97^6c(c-7I@lVqnU5_W9JJ17Q3;!S7NVRM@tA zrEL(6Z$kv?+1tF{MYcH+7@hw<;LbfDsGo_4yRRW;b<$DcOtuH4CxFUv_|&`Quc=QU zw#U;K^GaDl?w54P+Sr~sCmCp(dTKt@8Ty5Dyxgi>4R#ajMadMqjFyT9EjW$!u8Iy^cN~jvTbaRZIm3w0L){a?)g$C%8$Ie#H?T`uH zuSe*Pyg}Ip>Ug9!1C4KtpQSS(1}uLhOmt10&QD}wU4n|5ewt-%HFn4RAZj2N5VIf`n!FQfy{s(X6ahoLpFHT*f2xgZK ze6A1zhjhS*0la?9bkb^VBDp`GB`e91XKkUb@i?Uay=yN}HrMG4AWoz9eG83~_U1rl<76o==$Q zTpf${7+=WG^YA>a_B4=RLWZxjOYlz!UudTxmfC|?^qBDWRS-JW(!Nqx{sAr*}Dcy0Q>O6}d$O2&l{#(Olh&0@8rKn@DT&MEh3Xs99v@eOd#afji@R5`p`C13va^l2HA3M zzkX@oVdo8+&w({Q7X_5OcKzYJsE3|qO+a(l5GV5&fL+_X&*N#8yvI%qNxYHIg+H>$ zop}5%B;v-Q;5;J?;I3Q)M9Du=6}Qf1B9Vz5cE%T|Z-d8rzUxB#45;&qKM7Tl{DR)G zrO5j9QU)^6dD!rb>Yu42sz&@tElY9nmf4(Rt6do5z>`4czaKywME~8M@Gc}-*V&)Ej0a-( zW+=4Lh}E9+MmkCR$JRf?5Cmk;N*Lgo(g9iS(lRL|Ii z31`b5`20_+s>Q^xEKIhHDdk!%p-UK+uTnx-w>9Z8=XZ0kg`Ij7;Z0e1b3c<LMaN11U&F^bZu>-~v{xJKz{{2P|NM_}CaoAJ4{)JDK_H6(2 z2!|pPKg{k_SW5A8FkcuRB`^cEjK%xRtH_h}A+gRsoMJ;n(@CK;P%|Rjy5nPW~oXs*1X0*X7|VtMfJ9Qi@Hk9 z54x{;`djUGl@j*QbblG znb76mFAfPex`n+oF2SWDg{uoF7VBG<91d1m>Pk(QF%26|h&`G4Rcn4xUxGADQe*N- z_k;ukYwdS~o%ob#B1rW@j`7>C*R9K5icr;3#;G*f?Mrw@wuRxFv}ZYsh+)AbV<3$V z6Bd~Fc=pToDf7+t3%@W!p&YsU1E`Qz^8Z!V2Sf~N~iy*%p zK|)1fX^9npfPY`4p#J%Gv?)u-jtL;J5)30=ggnSApENPe=T5G;(JV6~%gnI3E@5jF z!okZbde#nsYp90%73mUn_n%I%d+NYa9)lgZ6cK!mje>)0+?uej!1_88CystID|_9@ z>^Dre0}ElGw>4o&6WS43FNXka*U5#b_-E2E^BRSwL0K*#W`clOU5|%_b z2+xk&KdYKBJ3VInUEo4Nw^%}uQ9BUy(d_+%h(Q~g9{JxiBd>q==YIpzm(#6u7?RKyTt-lStAfULj?B9IM z@?F{XWau7GG5P&nh)KH=lCYpVS^U@*rzK1~zOkH-S4Jue$yl&}eUk8=2e zN~u^!q@(l}th9Wy0Z}tM27JXu&tFai2!#C)M)m-~bcsV)4fcwZG+Rn?Ofp=CU19oD zE97g(>fY^vsI2uvq8!lA9IR}37v_G)1|HrMVwtPT_Ha0zdoLl`Fd@%{sa@VgyQ$i$ z&yQjq`a5dR(8g{}0{k0gO-HZDtE^F-WTKm4@VRl9#*emX5}EznR;FZY0zkwIjIeiJ zl$$)mV}C9C_~C;Q``Clh4?lTAm!wt`Y^|+uZ47u9E{eTJ-`4QOLOSQ>2)3NG;!=rk zvSPC1+H&e~Q-dR*C%{+xaJ&)`X=PCjqS(-t)@c$XF!?f zdLB1FqIL2!n|iQMUD{Tz!HV9dg*ANd zFbWk7c^YR%H88h1jYRvh>0Aa<*#DTeuhzMw4L8%3xr}+>50_i=R}NZ^cRyi7tZ?1N zkH21YI`=XOK52PDH2oq1eZF1+cdsJtgh^{~K zjGg_UpHg;+^KdcZm;_M{P688$pD%}6B!j|u+^Vel^nv3PyZR`C&*2Ayoq5+TYJ{5HLnoC>sD^}JGN)J`TLWvWzE@gVYSb1eUbT~p#_^)S}>zsc;o5nuqh_SH!aUE1)8v`QMc9tH+ig;vD*`5 z&?_@L@{#Z>NY$0t$q(x+N48f^_D6L;5Y7xO3Z@U{IuGg>y8i}shhx0OYhb34Q1-6y z%+|3CQb9Xju}GF@uuGHDy<8R-tn~we?|`-T5Z<8jXgv!^x&w6Iqzo-X$K?{Brbgy;ubk_6Zh_kolJZ4rursW=wwy5DJbXHSbm3S(wa=ivvfMNqovK+)5@TxQ-=Z%5ilv@ zBXdxF`B)8CN_;b^dZWZhW)a;umPe46;Bl?NrQ!>>uwQQCX_s@)xJ{#d?0t$tkG4k8 zm~wI7x3>6Px_zm+{2Sc%5a7qQ)mARhZ^GsbxC@A_KT&Z-1BE^)Z_uud%=`BVzHb(U z*$?GF;LNuDs)0#bwC^7PJ01tM+nHC$eRzz?5m%by9VKnmB*#PaOSTxZN_L+D^Xito zgg0-Gbf}_=R_@8Kq`pLr+gnXrwu2}Ex9QNP|MN}o`hDb&j~Ys)&u#ZdhiXu?IPxT6 z+-S2C|CfiC=wg-AexeCoaBAlqady+tDZZF_^?d>XKf>0$G(B1x`pv4IE}SKTe>Bw1 zT`JlF$rT)>NlYFSqJC558FU8k+I6aMd!EzDM^3Q+S(*Fkfc1cDCc65lOfs$|*mLke znK2)cistUBXYiz9rD$-OSHB1;`$y*eR0?HU`8*l)@~e=K(&$)MPa10^>Mn_dqCnNt zmDeFcb?%BnksZh5z$sWw>3V%3W6emA_q@k08s?@jnZz*G@rT|iE$cpooAH*JfUj+X zjoKZd1D&qiWBGJX_Amh<(Rk0^&|BsTm%Y+Br{+%(XG7ExCP3oH!x9u0`0*83DThX3oh~b2eg_S@7JrS=}r8 zFOV>W!lL;5>@?`KN3Y@6-zd-q0BcdKg^P*`;RSvM-a_@aLG;c zBbP&oAg{Dk{CxwHbVu_t$9${j%C^GFz;pL?YF_R87miz42viH9p|EL*%IBG%w)m!K_ z!dT0xL7lewXi9VlDzdr|X&hj&B@DykQq^zDz|gvIJ*=w{aQCxL<1N@gKYHfrvHics zE;Ry-o%Q^*nZ)rWp)3<1Y7=Ja7%o75j%(TZzAbu6L9SEPCF4mO&!@P&4(a$L==M)r z)sOeui%?uP2KmQXCj``mWJ0E7923s<=36&zkeAW_0EUb;yx?YAGQjv2k5@_7wo}@x zy-dBiIEoVg_>tiA;N)FjlZ)Li!`e|zb{f;#?s)N?bs~*2(@Ub@)Ubx{nLTT)>N+GP z|DBt_eO5ek+CKUVd%9cmou?(p@5FD9-tM z*hB)`IK5#)xks~^a;PhvfbiiJ^&~VeSL;qr1e;&#no*YfW5iz+N)U%D$NBNij$L8s zil6}!?pVq=2H7x}t~;?U)Pjg>o=7n|?nn@7WeoL8WifksLnkEIBJH^AWf{P|%&4eg zCbSz;)0g(5L5S9btb5&5uo@1v-Qm0OmMr>A`$f#pTTqx;)NyOD(HISF&3gPhyBr zs?wl({cvg^L_Tkn_ie?T`oI_xyozjNft;=y$rRIHu|F^egB={J{@5{a06 zF-@AWVPXPPenRDBDXTOq4;I`0W;w~OAQomBuJZoa%4uFf64w)t@ntI)ao*=$*CWMV z&a}_l_>8o=vtDHAm5F_!_KqR~78fu8(Hwc;Savf)D+TXrTghbq(ZxIs&WyZ#nAvg? zRf;`7?V75sDH#e+GP9}=EL;}$w*5(UXjI`}8^26ZscdS3U)raS3_QFMnhK`DyC-Dq zMsAj*pqGG7iLKbFKiK~|k%9D;e^uSBf(fOsmLEmK`r+}_LbGFMmzBOkAa2)0YP#Yx z1Gn3-WY!NP>)GW5E)#X+3tByGm7mD?z4`~$P=uGZ>%ddQYTYo;WM9V(Qu21SG zRiI7T4O>!=cEwbKVaB%0!9hhJm3dCZV_9i>M~9J##Qtsj0d&B3?sf^++o)D42I2uS zD1|Gm?8>=HTT#;9gs;#9w-0Dqi-S#Dnc_R}n6&WMohW7koAnkb<&JZ6Sn)yM;{ z8hTk+vd*mjjcV_jUdAcakCsB@8?&_UTkp~msHw#b8)+e<2lKvu_BM5XQ5>zF0w%KJX+Oi_w;`Mw-6Yg@t#4ybv_SN( zBt~pysM|a1JSBnHZ5!4eJyvHIg_O*>pJzH2$-j3D4uvE>GeHzDW7VoWHQ9^&W%$aa zEHtB*pR{^@X@;)9ag_;B;G>Cd4M4xVRjUgv+|9_8Q{hH{Q8$1ePsPu2G|zn_ zY}~-@rOFb%$}{Bu5~fXQzll6^-zWg4y!ZP*Q|3Twr)d!KklL>ZXo1J!FRM{BIOK0?`+B9r8i1Po$=VAtd@nDDyGnCols~ zrm6oWr0d0{T+Bkv+KURNX-g9Z%L`v>1;GFtfg-~1#)yOpSF6gt9&(w>xPyygsV=gW zqO0m!Y=g33nVhC8pM-^`qlLNVVq}zY*z_0f=sExEA@3Qkktcqv?zJOLqMF3`>to9F z+5=Nsr_@l>|QESIki*|3hULV?`kUJX6`gq|(0axO-4w0LL~O+=>fhA1rrMxId@x%K6fE zXE3?in~`?AJETd%rFDTupufc0FG9LWW-Ps4gTPV~Mr!aYH-b;PvzyGbudkW#_ca6i z?fZ>su{_8zOv_V{qh(1CL8+!|7{ak0+-txio1iP;o35(3RckU_rmv&+H!q)9m@RWGGIW$T>_c9qLZlP9i{j!<%W%YztfHSe#6jNtOt zS9L)}8S4<0W1JtdJ|Jn=g270an%ZKmWUUykkSAtLqA|r6+pZy_54ihLq?@P3m!B-# z5_kwlM^v{e9Wi~xP6HjhOi~0C z*rLir!k~mQ=(#D>88+tfd$NL^;ZqQ(Fx#$Ku;>U$S0!o{C5hZ)9yw1njEz@+7LvBc zGpTg($zK~xduOkvL+CTy4K+D?r_;)`%^d1j2GVgWNR^kVRRJ}`&;UuZWI3h%N;1tj z@cZ{nAaGUbnPn>{YD};_*upEe9GB|j2W-=fNq~4kS>f!b42^4Dc0GP+dAfv6c%5q+ zzuLj)S0?QWo4|P89MZo3Tw)kPRi!6jq;;035i5-uXzEK=!i_Pd@g^VwPwdeDYT2qo z)B3pk6pfO^7iEw_G`X1h=U%Y@EK7~_a3LdgEyWiYq4`wN%ctscU?hFy2@_X)o6hr; zL`E|3MLfx6VvoJ=I}hGw0C&qBg^Qq~3O4?sH|@fhBDm_rn8Mr+3#%MsyJt>k$HO4o zZU=ee)36x^cyxn^#R2pjs2wl-8f~{2Q^%BHq84M7TI&BXrAjhZ^rUdBHRX|vwrD){ zFJ&_2a4JMsBdd%9R$LZ~#P)5eA`5$;py6-lA0UdRj%+XQ#<$XJ|siCDK zTWR@jZixo((?g-*7)jVhI8;zTK4`7Wwge2mM1#^^VcalG00Q+5f^fhPWh?q!R@@u zbczCrl-FL(R6mM6VhCIKCH_6TR9*pyw~_%DGy=beDKke!_uOe)ICjD0HZlqPvnb_Z zjq3)9aT<+KwIZOfUv+N_`kx2*abCeys z>M#*xOcaAv)_Fv8wQ#urV31}=s;zGaSKEiEZ*pq$LpQOs9nFzX16vY?{p3V5`^BlK z3pn?bsgl3gT#Ccm{Clos;fUhzpGxH)Afx5?ZBKljd*!*9Z<%!HEp*0XZY%GV3{@9~ zCmtveR#K+P$5)@2H*B@|+UQP3(THQ3 zz}c#|&au>24se$}4p)^yFs9c-^1DFdgpmmP4Ad=O?DRJepg(Bo&5|bbT*k_Ev==ME z5cL&ce#~64vCmAdzQp6b*Fmgrjw?OI7E{iGf;-kS`}4|+k1sQ8WIk4WOf}SE z32J?xgPDv88SYeF%eg%GsmoN0a5Z3eWLu(5js`x$H_U4W0rdZV!#wyM^L+5wiFxR$ z84++?DBy)NXUvT*0m++dhnUuWP`Nzkp$7tht+PG7BS9Z0FE~?QP~beitsmBxUzrLn zG)>pJ9MKQ5z{vNv?|D5sDzDxA1JZ{L0P4{xhFlwsAZ=?8DoGAH$GI3tIm9g(=8MY{ zNJjp=gl(;6CxG7opfW7ey9*3F!ZAJ~;1 zKcwoi`8Ia(%bj9xH)^p&>~V7n%pLH3w6`JBTEm;`){m8 zoJ5byykm~V!RaESwt!8O$q9D-#ki~qv@;rQ6UpVpYvuS=Ra^@b83`meKGUD#897+Z z$4e#o1D;SBMT=}JBN1pMg4`9w^x7$5IqE>Q{w-e$%t@*V9R#e;Gp5-D%q!>p<`CO^d9mS5D45IFoKUj+%*#acd= z;&DB~DViauFH%?r(>J{P3_mQjnz-Elt}~QccI0z32~ek%jtpQRKEFM+n;@x^5XtTc zr;Aojq4W^c2_S*Qy@<@&;t%?2T+723$|X4JbE>i=mG`rwJVDDYD13WTyATVGlugC7 z^J7k#7*>|pGcY)?+WWG;{YpeMn%x)6kAszT6Na`(9T&M>*<11Grz!07ohyE zwQPQ5OB>}|1~+pbaI%rU&Ga!tzAdc$>2bV1g6wzl?rH)8*u4Q`GecQB0N za67@g$hdxjFeBWJ(Go~O59y`R*%cQb*AESju~r~z(2d93CHP59YwD?|e2ELNZ9lb& z$1@~H*|yC_CBv}Aoq^aJw!=#jBTEh&Xu`yvi;L8&YPcn==+zdiBe)5FthhPzq)2R1 z8&rB3DZODEyaDp!LMo3ELQ?_+R6j`Lc=*)>6Hj<#vH&Zf7@`Sh28WjQl~36(24F}LU! zor$OoK!d_=+ufhb-sSq2hg|ko(jKaoG(T&|59NL5k4w#0>)gR~46BcQV&W8z(K0>} zeL(K?(j(HvHXl8RYankg39iD`=sruIm`_curi{F>i7?@F`_1As>8Te^+TMNylHkdz z;`V>?|6280@D&|G=7bFSuU$_EU3QwWa1iBR!k$~N!vOLQu}h|iY>UWJJG+f=98S+V z4gzi1x)=(G<`0{X-F~+|C>D@wSX)W`t=i)Z?#pJ~-;Qvd`@%pGL2j+JZ;eaQbskvs zk!*2&2D5`XMS9q#^er~htpHy_cEKe!Z9 zG?c6_-cod^Y)7b@mlxWqnK92iuW~pBP~Xi#P6oPR@xX(l;7JoQrR616p$DG`QJJHV zFbTU9l}PV4O)x(<_Lb_;!|V6#E&Z@#07v+y{4y5oBZ1u26c%!P!7V?4Z?9LZ;_A(> zoN`kbUOv%i7j0X?wrmOIO%Fcf3%6StS~ep_go)sMj;`W-K!7u6V1*2|y<-AqU%g_d zKs{+rmX@sX{PCBz+)TJ~I4m^Im3XevVHnLrDChZs3KK1k;DVD_aM;w;>0Vf$DHbcm z*5pHDhrQr**rKRhH1NcnX2a%_q%o_9{u-GeLT$9{>nl>715(OWCr$3moNhCO=;q5< ze;S|qc)z-h&Qn`JOvshe6Cs{!0xQWr8dF3vy2sErQJqSu!ysXi>jEK?l%?0SZDUr} zB=UY@jm0Q7t%MHHhO2mQiJ8y82jnz)*PDPBZY*Zi=ernPu!9HQLboP}cJgndeCI;H zi+h1yyg0$g61SZHo!!ZzoUZTKjE8C%WbuNf&{+Sxy!LNo1)7T!Epz~*p7)qC{UsY) z?oJo!H;jl)d=q>QDb?|q0bw)u&}um9X5A}3`Uqfv;B!}<7^W!sgK_)Tbs9+G%Vb2t z&e;t<5C~*5`{^oHbj*YU1V$YwmW^*@fEFca1bNn_88LoTk0CXrqx!SWL;d*!zdB5< z<#-Cv-)|L4ns324zCn__DJ1y0b+nN#Y2VPw2Z)`~nb0P8zhj4GZPh?FllId;Gh%XY zE#3V;>E`i2?iF0SRVcQft(e8^&{|ZFpvAhXjBH{7L=X>augEwmGdn2GIyDoAM?syv zX4bn>Vs8EWpTAmR)pyXePA<8^xLr*ZB{5D5VR-MR&`?T9`jg&}xTYLA{H;3vX|_Pt z(2xJ&0yqt)+w{#wIs{2@yuZ`w+HNwMM)nea8z{AK2l!O^2ObeShusT$QD zzwm&h^@-<3tN{fpv1V_vF8Ofq*yrVc8y;n#*{@hKiJwqXn$#0eFrj%{tf=v*vEJIRFFzguFr_nE-8&H z+v2_xq(1f+Pk5v};5bYV6K zbX(=#D=q&U?R+In#V64rx|wQG(@Rs|+8WM|lI#NuyeE+@>XX7cl7;xm-+Jj!e2a_g zO5L&9Y2;5eCJ#1c-26W|S#c!T%Df(ZFSqXe9Ph{L_S;i04j%6S|Ibb{C)}oe{6Htx zVWWYdKAHRL-U%+Ry&LZayt1W@P&*;TV|fJ8+HmHqv0)xMQDjb!DX2q%x;TvNYhTlL^t9r z##UIm?tyhR(B=i5ev@Y?)f8;a3M$mHu;49b4LFIhb69>k)eAa_K*`j|Zvc~pcFV-# zrv^|t-_cao!$*mG=KkY|>e3AKuM&8NxoyY+VqbL!3ML`XKdHIeX`r|Kj`7z0`j@Sj zOxht3l9b)8&pz#AQ(yBd$@y%}V|0LHAy3{v3DTwzl*6SjeP6V1)?nz52 zKI8xEC)d={?psd%Jsbv+33UjybSx^Q0#yh2gfXSB=bJ?l1Oys#@<6BBp%CoBP}|Dw zz2Ezcj5T~+FLCV>7xCceJ?+Bt&Us-k$ImE3ZL{e>4Me_$_>vO6Y$C(hGg8JG{^w&l zEvdd`20{nl6?_%>X7$X6Yj2m$&A_Q6Xq-XOv*SV#A^^)abLf3Wj!*= z2>kZJJj+ZQ#g8v_|FRrLCvDDTx0;@g)OP%ySKS%yH@0cyWB4$nZ*(Ug*^0^jTQIno z@E6s$yv1aPpYz#l$=gT3&?;G<(&1>Swt2%jO74)heYfMhJ_5%PlM~QAC)%8U3{Yjn z^>k6n&Q-HorBCrWS)|_~#E{b~%q9LtDntqe(6FhoFF`h)YVzch{2`Uuy3PtAdpfdr zRLC?wu@wj0kMRMIDyPI->5xc*@)B{<>dQ|xR(%OnIZ#&pXQeTs?}$k?%9wJh9)RB( zy<|%B-=JJpcki;(s@K}8YP7I*l=6)uC+k~1|5o!N%GFenfu;y5R)8M@Tg#_e&gIkj zYiuR-k$$5H!DnTsZdTtv-Ag5*70sQaSNXBB4En@6^?F2xK<`3B`A)RN8x5@pj+w>@k4m^6NU6r5n zd*fj#trQU~n%CnxjRvFfxDO(c{9LBw=r99*0J@H*wAmL&vJ?@-BGbY*zyK~<*;MeA zVin%yUNMTmJ`o3dbEQ-m#xWs7It1>=bVW$EDjnVM!>MR7;pCz6_39}6UdB$1J8IMR zZ<@33OcOVu#_3y+Q58WLwHvrnIq*D{Vn&rmrpk49sS*08*T7Jgv^jQCFa2!KU za0jHC{0&pL4k7EqmJu^7+Hk4!vv%rmIjfC~aSAl%+^sihr+o|Dot!xphH(?g#{OTc ztL?--RK$s3(N@+4??Czy_Rq&$RrSEHAg6^So8B75v`@p@IXIOB7|0-F6+cnog*h>8 zh7?P^3%8 zh!ipG&o}T>hixK==D-GKf4AOEM>;NP^xET>2#oP;&yz_PfAl2TTFdV8#qM6m$>#2A zcb)gAHH!GfHvOhe|4&-v5&}W|1wEJ_#iyA?c-saUE`fBbt-UV>6E61LafX=$70jW> zx`>Wt^Teyw9k`3D^vG_7Lh_?wv)S{np~3|f?+4GE6Kq&KE+vK~tzsWK5TcqN?At1o z=5K^_w=BIYBDP3cJyv{mAcOT_U-O>aah*90XR-eG!WklUzA6pcj{6>}3FQgi*bvU! zlxQ!=A%SU|4w6GYNL?+YI#iEgAS>f39EO#BGstW#eX^*Kwl=-(d%?cxn3S60<{%$5 zkcSDv!9Zzh_4FJ>wLS?fzu&2LGe96a>13R|wr(JRFOi()T3GTg8?O6adcj6Nu1(tM z&9vnL5fk^CK&ikfxvsxo4o22q5|pp5M702EyzGsFI>e%ZS_vt~BsuxiG&3L8 z*7Xyx@m4mG@be&Fzz+)3hijqf$+a2Vcl}J#fLtfUjl`radR}RF_Gi4+{N}5LP)y7+ z6LD`V=!zrTd>SzE{@RUB)V`DY=v3!FAJJ$MKjeR!WPDQ=$nE)$Rje~i_d`v%noBZj%)uK1w1oG4%G_8PB;GZWf=`v*Pr>ir{3{R#$ z>7REf#2VcSK&KJ6JS5`<(3Y_D`TvI_{MVgY9|`#qMjb-&6E)4eG-Qx%7Hn^YBFPx} zZ9VRvz`k37!Iw__KG02t+zi8Me(zii z@73n&b*A{qOUhc)PArTC-`oS+RdqQSe*t#pxv;i-O2}|+;!1idz>c2?hxb9zUyButV zYVGqX`rbWprSH-Bf4DXi3d`-yz1ECvIYW@1hlq(eGEi-Y#Vp$6wKsK(O*L$FgC_Yn z$tWY=127RX_$-1^rvxEB`amK;E9}CB<%)nW|J>f1n`R)spAgBDu;5zFZoT6pIalU2 zOuhC_D~w?*+Ody?`d~{-IQ9wz`2^GjevVLK*a`fbIlr~E=$EMZ*M>=gyU47Rr#kQx zKcDJiE7(_A==^Al53iVkrGsa|1Z%qY0RbQdV4Q zbmJ$$c#GcRTQ1+MCTLuMvk;gE>VjF<;qE;^07fk=}5BvtX(3m9Albx zW|uA$rUk__T!H;R)$3Hk<9`jTG%Iw8{ONj#cirzo2fHrx(3_lMU}AbK>FyKgUx;ss z=8q{tk-l)H5ncFh1t!sW8$a5ukcxiMA^*5&Xpx!1sJD_3KLD8M9l^DCJO|ygK}Hs` zF~GSOb^$W0tN#_WZPUmTSuQdXpQ9mRbeeMOjyuy0Izb@@$M(N1PvZ|F?**!YWMYIp zTwwWIr&2zY9i!W|ao+zUSh7E&h+Eqi6OQaKjV<_99NEEb;HVhrzo637KSoYmR>oY= zO41eE8AWt$8J!g~?cXV|$Pn;%(*s(rBuAW6-#d@H^ta+@u&EKQM?}u_F|}cyYbK5y zx$mnSiO#7sbr8ED5?TzB5wJb=5COXP@;U`011}Z<=z*z593|S%2TE60)2v*Y>9BEV z!r;%7MRsM}b~5?*M=vs4f#F$R8QsiV^G|08Y=Q2)!t4xt-xE-fJU2OQfXT)$DDdU; zrhWYV<+}A(?0#5l%X>aE;(5-)`$&xx6+ts%`=dhMx4AKZi;jrqjtk`-tgHN5nr$)2 z4Bz1g_N$wwyBlYyqlf|sQhHCzrDOfb}(|C#>TcOE5t-x1+B zDr3RFcbuWSH4dI9sNs3;0&Q4wPPhL0KZgQg>+0?sH(Y770{6F|BPR!nNXN86F9axK z=dec#rO%L&pnA0=C0AS}{HZ1!hq_mgK-8ay-YFwzEO{FXo4WB*sB=>EbFhZKEoTR*EJ z&nls@9~DDMIbx}3Qw zn2&@m0JBmvP#9qVkH*}8gkWx}3N%0{Ww&Q_g#n8hAPCY)Gn;1W_Vnibp^5RwG~^IZ ze%SWstCwocJ7k=#{P|a+B3r}7O5Q1)1p2Z6SU6aO91@AaPq`f>Qm#KV{&Bbaqiy27 znLP&>UzOS{tD3jCNW=jb%`UB?P)sYZLD16M zLwKMfX6(DgAAb51Hci?EGSN~OVu(!;6-Xx5+H(t(j2zd2=g+=btd-$G*?JD52}7zI z*L4Esoz6ky<#M`d!ip>6kZ0!>8-zi7J*ACe?*pwn1SHMZ?2Py&{3^9it?Lehc?p@6 zp11(e4Qcq+`EIoz0%3C~yz9&Dwa6cuaPk9kNU~x5H6)cpz$SS7)p}(YifElg!LTx| zcS>6=&cz-#@%g2ULUQ}S$$Q37ZZ)-vfHAJFi{R2SuPbuw9}q~8SE#?l32ZClW?euxV~|M& zEY1dpEh*DJeE`u4x5psub;8z0a#pNBZTu1C8288Dr!UD$|E_V9n91@kx6*=5ut>Q{ z+oDxMVn~7qQo!^qB*bib*m!F5ZI)$0ssEv&isrsXjC$pY=;4oL3-OShX`;m3$)K#0 zM3mx5^!sFubMu^v?6^{Lc|=zW`>$K6*1MmAvI^&?OUa^v*HuLoGocsp%EHPi;Tkdo zG{*d!YSQTYvGwJAwX}PLQNRv~q>L5qnh7Z)I;9V_nIxrIo9?jbo~S46jpEl;?JGzj zyt$R6cYR`dBDXJ2b^!SS2&pl}%an@(ts4wX)Ot7ml(Ts)GDBM5YCa0qA^McY7NIl8 zy=N}Q59z8Nm)mKIeG`qGq^G(ip>7XT9w7=q0-c-X*NDB;yH+jrFZ25v22z(_F{2zm`yvDQ0EOD;M=Gw0v>i!O&fb#=Qb(JUpK@+pseN%o=@ zDh(#y#;4qZEu}mcSq%eQw}?G}IIfw^U3_TzO18AIcoca%XrcQ~`WhIwd;iHUN4i-a z)o)JLH9CF34y9Dtgh`_V-E$j>G6#Y%}D2otb+VlyT=pJ`a-o5?ZER>1V z4n1ng5qs!)9n4Rl)Y3c%(hk;0rX>ym(alU3?tfvv<&yu8mAIW%Tf4W6=S#WbAXDOjpsLwZv){C-F&iH|36<`~J{W<`8H3<^F5aWVw_(y8wRrig| zuWNdohr>uhbh-G2b{910PCJg-?v*R-+tQj_9Bzf2QmsxC-TV(=L2t(T?q^~O^@0lCKU<`5#jyzR;?D7%#e5LT~n7fQ!ApSsvLz`Ytu z&~U(eFvGd(Y1_7)Iv0g+t+93?*WMg0#u^N>Yg^j9Y_>}E7cM~ShF2{H=IMXKiPfBJ z83D?`gti0xz+*DbZ_cslXsU&9CQ0Wsp;uQezp<6?Q2j@BrtJM4!saq&FrVNyjNVaR zR~#|L*)o8>s_*qE3{PDSxmlw#I3UBj5^glW(Oss4`1eOs3_Vt~ro9pLvYT3-bdWGt z!yeq!>sOk>bAL*fZCa-cZDYmR_ORZeU{$x}59>+8XB3kk5Qn0FfuQD61UG2a7-%;Y zCkM4rnpX$^p!yG`w`=j$*)5YB zFNsbTzOb*G&ulIsYzU@Kr)sv0+69gqjC{BB&;5*os|34 zf5yliV!3alTRwyOC@ztXPn^xiy3n(xER3qHOvFE6`UPDslzui#^fJ-dZ)c&fhf^+e zSOZFt9c}Yh_LoFb;j;TPC*(c)XAAU=_3Padea3Vke(zlO$>fvE?GT+qMIQWUSvC(g zj`UVF{o5E3`iz&|$AG?+6n+Gb!MQ#Hz2brpZY5HBpj=>EanOrh)$))yD=^!)YMyXUj;he)f>B-_e? z#?_Lf?IYoa)(5uiYmH84#gjw&7qbPS zy}!mZt_B)-CcHjJ1QIo?%OV(~+mAWPAy)xqM1cY48+mp6N*mHn8)=y5nH~6b|5uW1 zYU~M#_2Vb&5fZ#V#Eesa4}h`VvVh((b=dj23eWnSVdg(Uv)6hFAYD@+M6dma7}opW@b zSeApZ3sQzFbF9p5(cAIVtNWF0i!an~(^`YVYM=~|Y^`zGU!P!oAy|mHNM!poXAf4k z%O!#xZH&Cdlzf|c`YPm&KPo6puZ3`d6|8n<|)W-7B_1gYVy0yUzZO}09xT3AamrgJL-uQxgT=|G9e2AKUg>VguJj&f=F1t&7nsDh7q|g$KvG`d_ z$7!3>&R;f?6W=VKSf%}{--yMP=2{`Z`&d*c zk#GX0d1Ml#{4-FPA3<~??payIx@TNpN!@A8;%0^;Wf-f$ zySbj7WJFQp*1r5Ova7vJlZ(2Ym_5qUohW15q~j+;IGD5K2*#8Rx19QK9eP!+FGW8I zn>DN}FxDvhQZ?0uK7|^&Pn6VpNT;CPC)WQDTW=i}^%s2$4=D}O(ujbRlv2`IGy+4X zgi1?FHwa27Qqn3lbd7XMNeT`_qtXnaz|hRRXZ+sZd+&Xp_YZv@^-({c&pBtGz1LoA z?X#^)ETi3yL7}r<7LK$Jn9kFE;B|nV34n$lc8+ZMwShMZ+t?uO)aTu7f{nyuMw!|CLl2g^z<^kcq za3>@ZyafGm!5cNu)~Q~VFc$1H7=F~@o7CNJ>nj(dd00xfKLn67j}HSSUZ1F)SGqcR z9^hJFHSg5BmfqVmBm@FxfFI->53)g{BIZ+BCQoUj1P>R>Xd@?;XaxiTKRUB|SK%iX zK`!bIvY&7KiZ&o=;i`XMDc}8t8xable>%|wFjh*G37#i&(QYi5 zSFT%0Y1p(CuSvw)ub~;EJY|;Aivpo|$*bJ8$G)Pkd3=S{(fNC*01Ze{%XjncXZ@2g z`!D#0<9MGKmmq5EhR482aXj774Ijv?;gVsOoz*n7pzEc42rlzX{lzQ$z{rgYqJB@s z(22iGnYk>NK)L(#J8VXzjg!`K5w5`+ffOvr0la|kDVILUD#nfKs6P*Q`u3c=KRikl z&VFacwfzee#iVb!{z$y#3DEKpGZdqSbUvG}jCrx;dArv&YhS8YS;s2nq_kbjQmW*2 zFgkcd@3QP0^AFC@LMNStMqgj61#8I-c<+wW@nk^xXy_lN-CRVgAu_*%T2YPyNgf3u~UKN=!W#T{)9B>zXG$=O{?r&?8GB`r`-s%Eo&64R6ivRU2MCsMtBSWG{A07 zd#acwN<7*Q=6b8EMq>`v{QdLn!xvbVq_RDX`I`n^uAx()sVc;(`{c>(TE}+t`OMAy ztJN_7n_?Q5xzwYjPYgMHp!+EK3a`MpPz3v*WWwuHR}R2_P>>@zQn7!C@JQzjPF9|F zivn{^K&`DD0s2zdv(uB8mT$b@UhlSX5WPXzr%Jy0>IME;udWYckPqU!kL-fW}*Xv_W<TPZxs19q zSn$XZ9`>?6*ULT_lEF>!#YwQJ=Blsu`Yq+Tk#U9xH}`6_ zKTx>t_9N=^igr|w_NLO9uojnJir_};pZ`oq1rzNmRk32{Yb%;V8C{+Gn?awhdB>%H zb~$^cDPV6j6hnQIOa|GQd#?I4j5XB6)uhbgo&95Y&xfdCg>*J|JtTNc}NCWwF zn21>xWO2-&%r9euK_5HKHgEUnPSC4w(%UPvFP&(IOqyI!Vn&xs7DLdcd2CVVz-)&X zb=`Y4TdMHPiI;QrsolcPt_l6kQ%1sGmZsl6AJ)jRY`)0D9eJcQ=u{@fGpNU-&p(KnFl)(iwlCbn7oAU1 zVagy6doPBh?c4w)XiA>#f3w@HSTf-u1MDG`#+0mIwG(t(kAp=;-SKA$ zyYU-RTgdbfr8U|gW{GQwzvD>E$L`u)1x9w3FP|@k0qc^3-;HN6q$t3VGxx$#nsDwB zS%DdU4tJM3#sn>JsqbLvI%!TqzXT}}4-f-fF(d*g-LsurYBDbSvb+8(v0djBkm~>) zZjorZy=-9>@N}CTZ{RPGX9`&c7W|_qE1BF{(|V-C3GE6adBm{uKGzSw;PcV>&jP{* z@$1bjcM7Z_c0NLt)i~RGqi%`TwUV+J$~9Ff;}o7#PE=QJB8)n<#mV}zto>|aq(xl1 zzKPS>(t2(KB=&QdIipngKW=heC_BlJbKg=kxZM8-89s8gvu2=yh{=~$kod}k1$U+m zYTF0`zyng>|C{W^t6+S>E$TfCW&k|DDh`j$!Exp-}mD?C8UcO#qc;i^XuM z%WeF(#`#GLElBqOAYjMX#kEuE@Xs>F6H9`|g z`Q0$OO3{8pP#MZU1fL2Q-orpUanW1bqXYqfwpnSMC%_1_`+XB|m4VGIQM!U(07|U| zuZx$5i$8b^6Wp4}?CXg&#PYwB`_ys?HQVFX+8?r&fYPhae%ERPlaF|mnfoVJ9i^cg8{iB1O zCD)6bNHv6=2Z!@>CpwU$bjSk#nE%bg>^ShZbhm>lgW3t?y-$1xX25YEi6LG5Yx53t zOuPcR3IR)Cta+(e@chFhpb4ucqx9R2`|W>ReUy*io8NJTx0)_1hveA5yd?gL;lS7e zeTQ`8ElpfWIc7EkK0;?>Dwr~021bK51vwyA(PUL{$mzaoG2S`NQRXBA9AayL(w|N~`bo9f* zAYt5^e~HC}A`+BA`%2RG8u;uM-gFC%iHSYHPO0?09N^hQAk8V-Pw(n?t%~=wJ}@?( zW}jB1jIj9B`snbFMCSYW`d+qY@~L}W1+ObqDf8YgceS#03imca&YIs4snMk>%Wy&> z8llJ6|053l5}Vt>cW=39w{Dkgj78;L%(>^42Gt(v!F{-fKUK`9nip0`x&9)sbpzNC zS9!rmn}$hN&8^n*S~Cay}voDW7{?-#h~UEH9pZe}Fcv z^S51%JYC$5*FJmu-ZEfqlSbkZOE7Wu5=H0QPhKOxed9qWN8tny#G)xRfVX@NQ_8~F z?3Ceo4H?qsG{A({4q2|GEiZ>2+?}BY)}NJaT|-SrgUugko}ER+gg%gW!d_TBL8}i>9U|G+c0A%Ok?E;uXJvb`DIYwj@ zb=MF3+S);t7{bL^8dG!_Z(}I+NDE)69#F>rz7nT6N*=8E{>rCzdK2W`5WReUJwW3P znZhW(-uod3s@ijc#SU(D|F@Naq`D;>yr&m*=duaUv3A*ND$K$hH6c2VZdaSrwi<@m zBhEIHWg$s@id2wlPv^-;dZgf_11)#UiO|?Cg%rinV8`W=Y3aP1L27kF2L-c*AWriM zjIKW6`rn`(iV%<5S}LmQ#8ru9o)l=;=ydd=AJ)s2N+y7iBIgL~whTL?dKHRlF zNsUB@l0Z7eK$f(Rb~0*O|lC$h4i_9?DuMSdXxRJ3Gn zK6FRw)i`r{{ZbaG6_}0j{@{z%F;vzM!+_e#t(6Jig*}Zhm`>KLVDL(e)Uh4OcWjKZ z8PaZtj>JpR=zoIN&kbfV0H!*mR->0|x6AHhQx9P7@ZE|%(C&>)-_oAA`#8u-nTHh3 zE~yXFW=4>iq|OV)Q_`6O2nPfs_D2kp{MpVzcRgLN1eS_spH^y_-Tw;so=V72wo_U8 z`0aIrHw^U*UdoUgT&tZw>`sFsNd})(592|?;`JS>-MSS)#eQi*S>iN(BkA{(p96x! zPs(A2r_u$pps_ZE=m6IP4ckO`xfrw=6owyN4Lk<;wEj!2%C8i{$2(+yZcH03bj193 z2mWf^UAQFgphZz?K{^`?gCe!7W?urbit^nvg@7b+P#C_oMR?`E2`q+;^RNdE05MVB zNvZJ1C`Wg&W+p=IM~;Muu6n!5tYu!hB!diQPK5Zqi-Y%K%*|hYh~)r&tV`P=6)4E< ze(!TNvv8g^UjFZ?BD~F8AU&*poCF<%_B=7!#HJ`Ug!=lcxL)IPDyMb)%Tft05*L_U z=IlHWyg{4G6G0`j5UB>(pwQzl@QVM0s)zrDu>avedKE6VoHOOs=>vU$#!#9M^GZoiN8&Z%ZblkDv#{2X*3ndhKawHY&U=^qTFb&AOQQ6;bk z1P8zaiHK??JLiVj-;*Z!xww(%QRhKPPqiMuLVHOd9@dDIT4yONKlPC(L)rx?5oBaJMvJFLZ>Zr7KmhX9-F`SNc3OYy+1xbSW=c32fV;sls#n6Ms)RBGs^| z?cIks7#QDl)J{aZ0N*z8GD~O?@H*qq9SxpWNzpL2Vpmb2e@`(1u@J~TUUVGg8Sx+R za0FB4IEBdJG+4FygX?{=T*Y@@?e!F2pRp$ADWyug-wOG9lb4>*;HvIc z5_t3ux){+ZXLdz?JD~@jt`E3`@uN{SF57l^kSq&h;)9BAFj}Q(=K{zwqk3Gvd~z}| zl%D#Q;_TWj+y~RRQ}w;5VmuVw+~#j#1rzVMY0|RbUW&I~W2A8`NcZoKEY5Rcre%NA zmDWJUWr)I*1y_8@1TO@nd{qS_LFHZN9eNt#HEa-?HgLsAM6h-~1nIgBKupLz>oC{s zz`?)H2zYp~NJ{haJm-uRVhH;r9SRhgc{CrK$sJIbvk4Hb!q6;By*)HNfafsiWsEY%X!kM{a5wuPDzx5LQ#Cp7GU<* z^lDOe^M^WNU0gjY95M#jKE4Q~M8Z9d-BRHf5q1bcODcwfsl9p zA?>>D+&04IaY)iAyXzhd+?&G8o2uH7*omvspkq|}=<-*q)y_eb^7NlUSvfY`r61M^ z4vVowrpyDwE37wVMQe;CUNr!al_D2&nXLUZmbNuGohC#2Qa0I zQXZa(9K4<~;z~ntr;>O}>pcw4dZJT-4_+Y)gadNr@NEh1(NI9P7iy`AALCpj9~)D) zyxbS^`)wx9mzQk-XGC;!k_B|BQteu42#5$uR>R;(BKxP^Lq>}1^ zOlXEL&%z!#-xPuJOMof?_WqeE0?@tr=XIaoUt(HVJ%)Om$FYy`fxoLYIMpM|!qxXhi(MydMNlo&I)u3g!RoS*RVIaoUquy!6^me+>AGy_Oa)lCyoO;r}t zdqQ(5c>DLYPH|(XXCP%B+>@(Z8_Ivar74%3irbDcfdB0*MAYrl4G=Li%rgpgpQVnb z-#K>X|KY7-9T;6}Ed1&G29QubqmT|GjiRIn{}m)TKcmMc2^hOfkwOJt-=TN_U|5oS zurPKY4+Sc;5Y<$-GjDE&u9IMfX-{#a*A1N%xsnm^pn6YKs$UP3MO1uk{ka>i^{iic z;Pe&R>=laY&{i1H^`5X>|D^5O9e+&dgMX_vTVH4{_6q0P#~OsF-f*J|+Aq#yv$ody zLPC|Pb~}1Uo10^-J)XO;LC`h}U$SUN3XX`4^PK!YfUW;)Kg!|)VF2MU+c7Xj(z(nN zx)bL!0gjS(pC>_v@^mK+AxNg<;$sL(wZ3~YtVu2{a#&4JN2>Z$=p9I zR@PNe;o59AaB@m2_}?H^;d78zB%Zs2J78=1Y%F(4tFmC%pK0m6gvc4De?D&C{iv7kB&!Qh+6JFRSRfv|7HKyEZM)9}apX9dt zpd$-z1?wyFx~I%SVA+%-RH{L_mV2*SUy!(O`>p(Br`XpE*-RAmp=wB8cG9y$&Y|qE zbAsvg@3?F4;FKU2OAywQ_07hAwX8207L!m*YXt7E`6C}N8+)|l*w{L7<^o0l1PAU; zFOBRajG<20W^LD1Ws@wJ&K(>VL?^sF0Y`U{or2re8ZBD`xBxhv;*ukfivKUCQ^aw@ z@!1!wgtR?~C9J?hg;$zWX{F0D)P6hf1rKO#+z>vZ8MdoTKj#->?hoQV` zUnZ1#mc7ek09Y`i*PX7L0}UA%`SacBetbyK!tBZ3{#KN4T{|Gq{j+}YpL=E;ce*kb zv{&e@F8 zxa3}0w;N{s#{SC%=l|{2zV^kC%ehd2BPa~OAGd3_Y=p*YH{ZlxG3TSZo|~|hj|b^w zF7!}}i*viY`|2egk;0(JC=mu?Lw;3rbqci5rJt%nYU{lb{sT! zr}VL7*4RYr-#uIq8?8P=c9&IB>h&)?zYsV9*wnyR zmr$n@5jWbsC{hdHA^vw+i?nTCLm=x@89UJ@}}4X_mW zVRo1#V>_7;u(xZ##JYc%{$-q}rrT=PdBHdHCL5765yHM7%fb~Bj=&n&xMlkG7e1lKwTPtt zc+9_EYh!_fsd2{~=`i7Gqkw%<;Kejncs*4O3y=&!)lAGzA3V$Nh1)YPrTrUJIrSgq7*28IB+kzx$O5v4ulN6^xArJHcNGZmeFMA-K-*yN|$ZvuC~GH8~{^+Rb7oLG^8OxWoW@36?Cfzj(J1g+~eM8APcO3 z1z8fegJdE-brE?XpcEPESj(E4MQ7^D4v5*|&kCrN#v>pWaaVqEFU~ z`ffGrV!Ui4-;^i*%dZt0Xm(l*=V)5MhfeRkS<_h<7lLm^!|v z+Q-|jwam9X`p|y#+sq-%`+mNQTp)K>iMSawe>|L%@p|12L}%iIKVE^dACG$rqRI^Z znlNh5d{Xr^AtmZc(~l!%{-8i=w!HN;0ppLcFxFlUJQ5`2^LoHRW#b3o^8aG&H5&=c zp+YMYXfoH%zHD2|Mr8yMxPRmR^P{yY?b46tx)*AR+r#+OYs@ZnSgl7Fvwhrp#7omW=f>!J5ug zV8`Ptoh+zZx7hgT_a8?qPv3gY7xmVJW}AqPD_o@|eR{$@j6 zw>{pFYYq5ph0g;`fy-b8R64-we5*|7MGG(|wNBXYHZH;V@P6n{-$6;$DBSuIjGlw% zf#_(6Rx&DGxDbq;(^}?ibY&ou46*k85!xhVfJMO7li~7Jt?fwh6C5WGfZ2!+S4nWr z8a6etvNqUL2e#q*9EmThtZ?(Cr7t9a+hkKOO3nQO&9%pK`A0oMH<>0wKKc9=7dUHS zGa%_kYOcpojGr^~=Nz(~z?z+K7p`Qa9^JJc@7|GyrGew z1B~L8t{ip?>)G%erNNFTPnKgGLC@YBLI8-Q5< zxBv^fPd(i|bt~HrC9(WGRg2`1wq^vdRhMRCgkj$rQ+mxvO~7o6mrjqZHMa=9BQf)S zsAd1}g7=oM@qt8ms~ro#b*bu4!=OpS%RWG6&0C&?QNYRzSjBCsT};-o+EY8Vcz~_E#Q$p7R6tCb|+F4v6~h-*%h>>#u8MIQ!D3an-ex? z$sxojxIPL*Ubdt?xb{r`Z)@aQFf8;M4BJiYul;*q^F%1L@-8?Z4ci^-2WFH}h(zbr zF}yxO1j7yV3xx^14{@8HeddeQZp$(H`bSLZm`Pt&;g}2^v!M;HXr`T6Z!TvEf&ZUF zgAP$T2ktQ)pI~#A{C!)qi)Yh*Sost>2&B4>pN_$l)G4QZ^BlN-r0pxO%QP@x?9tyW zGxOihs>y&4<|>zbWm~{Z+orA6?Y;Vql4NHTK_+v?2Xas=LEu`kH+`FSU!}Ci3L+CZ z6N81xym`yP1}dszqPACw`>f88e|c3@9)5Q%UZq*i1Wbj{J-Jv)8SnHu&DQd{NlC?0cP6bgptz+F?rOl6Y`zwJFhEqhKE>zv^zAGQ*Cf2kQsoRQdo&Khy8qpAM( ze;WzD5}q9bxx5t#f6RwG8C&VfrHa1a))=kTXA*ps5CEOe)OFY1qqYJ`lL~WN(cCEu zQ|hU)JyBH^Ddx-s5V2>)cGQnQE9<6>6xDrc+G{PMC)4!Ct3~{_v#Y%Kmy!Fe<`o_i zg01B_@aJlRri;m85g6G&-Z#&G;4x~cxEPUtEehJJB~LQqmLrYL`PTYWAx-ql>A4kt zFg2NVR0oird_iZQaT}-W|Er)^#~AH=Fzg)|vv<;p?MLhF=LpV=)x40$7U~5Dg0?YY zZ<}EH(x52$7A}VPc!rGG(vA74cgxlGe{p0%W5Fz;!DWK)=k!P1b@NgO?3d#UHXPEy zHt1y2!V@av?A$;*9X-FHkoYS+xB!2e3J?5Y*yu)_&R&wu%PRhs%|Tte+!7J)>K|%h z8i`lIE_xX|c(|EQcE2L97Lv*FiKnSDME2)p1ur7hh`YK*S0Yp~=9|0J13h+^`%3Qq z&1XR}YX{aO;XC{owk`Ri`#j=`hHjK=wl8#|3BRUklp06>W`4T=lsCMl&so07(dxSj zu-80n4^sF!qX_xBQ!8O&h$s{cEpjqBaXqhODPrrkWrb@r2xerkSuczWN7YG1KWnCl zyH+OXgG9nAvbkq1pk?hN3R+Vpg+sD9tpcDH{9iKW5xjnl`_+5AB*YM9@-jqcaAOb`xMM2FbSzxUL5bMicGdM&GUNJ`Mp8{!rAHXZ%&o zERRXF2JNT5XPZNm-EVznG5LK!@*qx-9)0M8rn}@l&Y-p{Wi&Dgb4l-9Y5)UOmRJYc zDS9!l7)ykVFn3ude+%%Cg;&s6JOtkSD0A9J4`s^M|MUfR(}K3}IW~{%R&>qYr76g6A@y8Bw|5ghzf)n7 zIGv#0MQbm3Wv*181t1XijHUwHmE~mcvnQSaP*PSpdI;~{%~3_qGX->;!^-S58zS4T zYP%Uoh~vVE$H@WAd+(FH7em3 z6ytdUi|pSU=gWk1KdRXR6$v6Juv%zQb zN}vm7iwMqlG8v(wD0VWL5DEz184E_1DV-$d$wKLJj=qpYm3F3nqUhoV&9~ii(JS4C zueYp$%GAL8)(GH+jrKeIYwTqFyL@nsk=3Lu!9}0%p|<7Z;nhP>e5Iq6r>49#kTA&S zcU^&H%5}mUS;x7;Sh@yrV-);q;_V2U!62Bd@7TIOHVi%Pw{25I^tE_!&nocmt3#vmoI$Vf&p-qSU% zdB3+RzK8;2kx@WoHe+P_FK|r%0WHXo^QsQ17*?)+L1StpzD^moLEzq`!=qu)>b-KA z-r`wSzskgBkSb`2THa$KL4Ep<)%nke8E`rQU%2VR1}p4t=+@xajiv}dg$M>jf%94x zW@?|77sVcSIjq|tBYiHH9QW9+Vk$tl+e4R(&N!(B_MY`axl23DS8UDMHyDfdz;PiT zrR36gq&pSTm!}BQQ=7aR9zvrVnwzZ<$Z1jIUt(3iZo z^~~KKT3;qnnt0^K&Fo7%bp9YjahsM5D*B}93!aGy)Xf1W*JE$74EA5zGWs_Zm-PXn zdikvFQSXXL>4l};MyU)3f+oQg%sX*KhKn^=ZI-5BR>xKaZI4pnv-JyvwG_+l!4#Nt z`Xb!x|1asZUbt8brYgeboUjWR=nPcK-z(apkJ)zhe+gDu>}J57m!{|of>A92W?$|U zEh7d>V)1Yo4aV#;owUmMsMH1grB{_713LFI|GteL*wrXxJ81#iha3zJnb`{6N*>$_ zM5WHJR|Rkti1K0`XkXrSze?!L$AG`|SVMvRtlh0kkQq+q$Ed_l{k!ePuPPu)&SkO^ z$*5HdyM#m}pQjI#c8<%h*WriJFIXidy$6QOYn)SuOZC)XmiXKh=xp3H8aSEF!;Yqh z{$W>YF%;}*eqltZz)(;2{Uv-AStIOK2t0Y2A~XS0*~#*9NCucrTYTVW?OUqSn2r%M zFTM;+Y;ese2P!pAX=p3?TnDCo_R`>7iOy#;2m*<5Y0Bt$KUlWs^-)aE-92Lftb!Pc z+y>wA;2mEgsG@5$c=R{^C#E`fR>b{PA1DJ z#xHgAV|_@rBmcG&_|nOixc2m2eW&X}2zQdka!k7BD?Xb?+szso1rr9w;q{)zlnezh zXoJ(-R?j_YX!BJ6Qb_q_q%)YUCH}7wl-Th<9QcAIayxgmR9&Y zt^Qq6g`?|E^$5$z%e%tzkeHVQp5K4DzW6oM{ler5RGo%PB3z40bcw0!dggHVpgd_r z-0;EO(A4yjPwUIy|Hv$WRK29`lcA4sVQFtbX1F6#@@sLIyK&|ptbb9niq(wM6@2U7 zukA|DCWr~fNnqhGM4$!Jy6Z1TQ=ZrIN7x9(?cE8P>fBlU99y?%H+jA?L{CF5(D?Yr zVQzeUSZ{Aw_v1+^miKv+UEmMB{SqW4n4aTl!_u8HSWX#ZJ@P%PGze2`uAQlC}opI%gxelIHNJCx!!Z<$B$fk9iq#; zM;2nyvrCzjG7N5^3GG(A$`SE_*H_AtLAKYLCaY@{9Z?j($6Wh?UQX=lFDDLr)%rz# z_q22Udb9HRITSTVEKR%b=b4DI!`$y*xs{#U8g4jyD?A9{pQoZ5v6Lp(p6FjdEnEz= z?Cu{ORG61sUJn)<40;c*xQjS+9t}1_o49T^R!T^!+XbI>YWQ?u)gm z{Wpe%hlIaPPVFD%k%7|F_pAQJ^KoLAEb=ah^77~KvAnyUx4*uY5qK3zq)b|=kH}U~ z5nEFqdwqFm5zgnIwwqP`@i2F}3G<0NS0=rHT)$zcpGu0Aafy68Fo$S%w?glRi^0u% z^=7XG_5#ew`6_5BgnY~o(3{)Ki%pC1zp5u@MfVzg%Os{7a*Q2*9S~=~W6mFB|Crg( zSIZh+J+o~5_*^>c0}}Jj;Q+IT+G7&Un*WYHJ@%Q~srrue$L@U#&hel2fdi-LkYhjW zFON}bNZ7~>6UirHjwaBmx&4@B<7l|+(^@5NrPO~zunJHw6FxeU$RZj-p`37zJ>4}I8c4ND zDeWXrU48BSr2bE~#e&)dkP5G7`K))Cu2@^hJc5*S=c0mcb5L@gW~o{||5L2ee> zJ#wjNAC>oR|2Zq8<$JVvxzHhfKmhr1kEOF_uaC|A&+UbmpkfiG6V~(6rEG`TQ2xDG zJNWyo@u>u-k?puRB^QZNI6X0<>PIT6!G`d3k-frGab8Xfcs{ z$?F#|lPi$>y@Twb&*fP-3du^UrNYIW25eR-9|d2Oqwi`Md{rk)ViRc$309Q674}Z{ z3%=Z@5wox+Zg;W(6Y|MAhoJMkkahW}oFSC^z7b*BbsG3uZ3BU=kZ{Y4VHeEF`4BxD zUT#)z-KsI&jb4lXI<rr@XPgC}VJB#?IKBYNXQ=}b#VAcv~>CTLsA zQse|!u`xL!3xAI8TAIlU2%Gty-xMi@n-h5EFNt%e9B&w$9r5n0{i+SAPi(n*_{f+(|m%(OO zOvOZ%Do0APj-zkwPwFr4+nJ-98@*e)1M4g0MW|dPCMYLk#hbQD!#x<{}|h)={-_ ziFO`yQEydjTet8J)aTmvH$Kj*X!3L?+hq(@>ihI7cl;JnW-{4EtC%Q7TA@=0%$5?g zhA_L>3!`;WiqP{|EJj|dd$nwjF*?PYQ&dqE)!U8+s6*Qt2j?rbMs7;) zr$hb<+V*1H3qlh3&p6wTuUHFKQ9&rzi{yF1qCn&xf}r-Y{2LxbmL$B!2c}nTJ2r`a zUgd8t1wsrdYqd&*jh-^uPIH<%$6vM(V;Tyss4rXe|MR&<0=1xBi!vgHyn?uOeD+m& zxiielc~#!!5SOXC?gxNlm0yqRjRcqaL&~*@WhydC*JP zWkb2?_f%S&jM`N72qL-IT&4!MA}w2n_QaRZeTUf^Ct;Ca46*9%mpx00p+4dY?jEH- zYd`-`HVJn~CG1Z7pED{fq(o!nk|jtQC1Pp>4r)U1tH^GppuMD!pVtK;^%+_Fa2`4giJ1-zt@V@ z3CD$3n-^5KLUR~JS{g((@onqI(&J}4W(?IYKYXfkC$2SGsB-;cePO~x9%bpiGzkzu zFjCO()<=l)!$tvJojh`YtIxkDzP?Ky^_W%?Ogu+PP{OcrLvE@MROyUz!8)RTKm3pebkJz`l?yW*ou3@HunxS*gt7cV+? z?ETTj$)Pi?KlL7zLc2X<;+}AozZ108ob9+qGGzW-XvJEp7@XX)3qf1*H0UhIbb^lq z{yI)P+`Ig{#L<4-AG&^>4C4JJYk%HWPH4JD2OrWXLgeR5nQx;#slp7vi6}#&?G*6i z5hQ|7Gg9j~TeL2s%<$@8z4beqFz<_kK%MfoRN z&v^i|b)?PuyHgc%ej#^5vI>Tr_^IFJFxV|H)(?%ZdZm06bVf1NggvR|Qz=da-md~LhzI*L)Y z@=J)xw--62jH`Rdzs1;dbGO^0;-q(<-nHG|L@hT+UOuIrvN}5R*qIMd1uvy(t%w$C%|%A3O#~ zW18EyJ@i?m3DK5h+r)EGRg$FnX9SP|{v2uc!?Vbj6+6xg4|H@Xx*;3&FRO0FwCfng ze%_H-A3~0u(sV0a$&r1+TS^cEaPWg=8koYt{yq`p|DQ{npBYQfwzE#gPsk<>&?TSmj%Zu-jmV0aRmCumcV%M zrkgxVZpPzuw%>sjx*+t)ZAwt~oqNc$^ueTKBW%3YS$=k;^L>gae||@dJDD-=_}Y`` zVw!Hd<7|`bRu5+mSRiw6Dz zk+d?Hei?Ytc9lX%DBI8P=O}9_QTqYHJttsK&GN0}>FxGW z#V>+RSVw~_6l#$Dvcrtag>`4$icvH-=wvbPV&qp~=)SbhK3-V##7LT@^y*!Q0F~)5 zLrB=2&v*-98%hrc*oLtxuaktSJSbL+qQA*B;cTCM^Vi$(Z#$`cIx~_l$jIf{ zlVbh`??+Qb?5M9lOZt8Jqzakfo5~lOu&2O42D!Ph<1*mr`B3iZ(L+Cn+*&2GH0^JS zyE#dwpD!7ZBQ3hNgCQft>H9~h+9xLFdu7`JuZ>&URG-hCt;J%G4%tHw_ZSIm^ZMG8 zxJym$qR`?qnHYnv+BeK3bD77VMZ9K)={C^qG4-<2x%G$!Y*A_ana^k~^T4csTc{*% zE5a8rIYYnIG2hRzn;k$pAC^6lfV{K{r4fqm4I5VoMw-1y`$8Z+hX?ugcC?Ht@KUAq zDCD=rhn2WNCWzef{SV3LADxaFqPa|9<4$_F&rfRS&_~ujtkm>VI}2gObiYIRBESK%J6f z3GOZ%D6T#qnJ&>VIk(94VSwbzWyZIRd3zNn7~BB_)v%)vM%c3(QGdv5wjQ?@Inr>< zix>^QM%bv5G3 zF?e!HchR$|GNUhKxX=fG*)S(mKGiM_)eKtixSZOQ?)a-~jI8_O2$K`3pp`P;eE!ao zpWa;RQjopT0@}UCe#nqMvV?S+{cx*g=Epk?bKWC#mZ0UAbEQygswM1X z$I)FXNV$mR?KjYFj%b?15y%u7EF2HwqAa&0w}HOGU%D0UwYmH1m?1H`6JoY0vGBA5 zBleSOimoRG=&W0hE^2mNDuxUze%GVezx#-je1MIz6~QE7&;3Avm39!OyRF<@d9AFe z&#S)Y@YkId#ajlch?Gh{LS@s%QO;rigPs?s^^KP~8qQt(;8$e$2xU zE!)}#nIR>ORZE1m-Se0+B$A<_qm_CY68Y&Edsqd#29Fr@|KXPjX z)|DzO8}%TJB~oN>M6GYOn#(})*`qr0pKKm)y(Jwq+Z3cUl!^&w)u%bUaXA_a^E2C1 z{~*?TBYIp+vY3rgva2*qLAl z8Qa-0IfEnQ)R_P{!FY~rS=ZqeYq1Jl>DI8qJwFJ7TrN2wVC7QkUjji)qT>xCxBV9M%nD7ebXmVcLp3-oXz4EO6 zrJHwdg!Q_>#i|*Z%cBopw|?9ptMEwO21F*uhcv!&`WJ$3ow1-Qr)l;zr7I(Zd6RyaQ)%6f(_QMS zO3~Z5N-&4bo>L#Ubn8-ccP-#IhHqaADyaCbDLi*fPi3C?&{2heht`$yrouJ0Q2>T> zI|iUhMe8NX)Nu*BXx;3A4{_0QESd_I-f+@|;zLRnpGQV2RMNSd$cai$S6Eg~$bRW! zhKxwCUdZ`f5^iy8fAlDSqQ^rT{@CP$o}E%Od7@$V^XL}=c`mi|&kDRLw?88}w+r<$ z4jQ)Pb=RR*x_E*|zPp`CFk7LDGAENwpg&}zKX6j+XSdBma+lILMkx3ZrW;wNxhjGg z#P_=j{~e#Lxeila7s+7DMh)bAaLMOOnYo_t=S%0B9Yc`LDSNkZ1r6z!3;AV9sDt}V zF?jg_FOJTvLdD!Rv`YH#OvmVa%ht@YDQKebCVCe0d;=v9_0A#gX!TV~a1bPBFD;)V z8BH)X=d<9VpR!2bTzo&M4?`ZRQ)qRM4Bnu?Vjm`{GgCuYN0Gr{R#HU~PLNHAE$63%t_9=s1%`HI8A zal_e>J1E6AkxzmNubG1uDf2MS7a+J!0|`6V(>PzI;fvi1{mVp*#)mXqy`tRjwdNhU zJAQw$LSpVZ#HC;5Lm0{`@(lZ;*>;SPH2TiF@Ja~UE0g%Wl|8<-s3m9k+K}NC16f(| zkhg_S4yyrULG=S#{JH9r;~FGq>$44?&t!-Ly*XC`VG}5XO{ygKie?_$nf4n zbkug3`J&Yi-un?Mpqzy7!ol#mxfm8B%E0!Qu4|{GO4zkc>7~nG2virFCQPZVG8_8& z`VSProfa4MjOS<2*`geO-A4H#BZ}wX@bK=W(~tyC{vbnifI0;fEFK38ynfbI^O#k8 z+C)W}GcP6`NZ9PR`FzP_p94dDf-sSIzy+l8o(;>IHx`iJl`}{fj_UqRNY3fkrt7pJ zLFpnZKF(lcR|IWS<=bG;Cs8W-L$tt6Z**65VugfQ$RIOQFC&fwwRt}vX`5xzS6*Yi zSNm+?)%x-I=&v~;ZAC`wI%=XGPygIqf!lm0ODJkz=jv#hVcWqDg?(IuO>`)Hp z4z}Z@f9q+Tk|`rqOU>@P&M{|y=XBUrdAPS4GP&oj+Jyk@J4uzqQWq3ywK zf0>b~?20FtOO$m(T-&IJL`dPs;#;PbO3XF{l4_4KX zxtiREDm;$)0#q@t1F*Kk-a8Ju{xrt(gGgAtL#6L>Y-r zkW8h@_5yDc<~$~pY4uw1F?)K^pdsQY(3*;_5MuuSbamzNP;X&>gfWdUW#5giimYV` zVNmJX6PhSyNXcFz$ui8Kt{ZiWLYV5xm{BGoOBf?j2u&DUxGjt=T@7X=Jj?f4&U4Q1IYyGGAt%*~Ms?x}Wtu*J&-ZifWFP7vi2|Wf%JB4rr->D2>?&I@ zANP11Hn;f1+bHDZ$mg<^bSf_3U=sbE$@ZHqRI5&j-?M5Q)n=}Aa=FMPI?b?cj7R+O z?U|Y&j9l@$WjLOA)Rzwn!myiuh;Iwsrl43pRv6&M%Mo*;LzXs zJ>J01fyud^*ZfoJ^>kbtspY=!%`@?a1zVkbMY~x2vaC#9UzZuK$fGUcb9YUne%l1^ zxGqN2ajXwB-&Z+H#ouwgL}mDU(!(5Rsqws>Rtc>wd4I(%@M!he7n%j5Ph+3?c`&12 zQrxmk02&%PV4gjofHb?a5%>TTr_hIGd@u|)@J^yrH@aBy7PiW|!eA$Xe(O7~)TSwO z3T0V}p?ne3spoX-3oSQA$G_XPn?BpYFoqH4Hlu2yjV!hs8*Dg!%|?(lx?CXmV{lKT z?^NlwAtBdVpTw(T>76W2#F0bwD`PuI^ZP5RzNXSX2gWoW7!rK*Y+4^1BaKM^@VwEd z>NGV~`gG$k7a1PBKufh)$x>~M{OiY|ww)du&0~%3VIEl< z%D2Gs>pz5D_|;ymQiW}ZDuL0sC7NBhu8d=tuXeQuM{7Bt$=-KbJFiL;<@sN^6yoA$ z=KJ@xNVad>xD679+4$P&>p-TNL{Pr?zWSAjW`K>*oJie~)THpwam(tvDYL_5WAI6p zy`<($fQ`C@0{iknaF4+Z{;n5ReWA|kd!Q|sE}OITV$MOpH5WLazWLynOdR9b6DDrl zLrvQgVO}6^Py6kb`&bMp%dPm!_?RsDXK&e*zWbZfw|`yUns$E2xzFW|@{04eZ!u@N z)KFbUB=F@=BI-W~6nkrgi>5Ne#LMfYBX-Im>MG+~REh(a!*i*WuY-B;=PVdoZ{@>M z#~x7_T_6YPcd_hMUU=NweXcXRMzD2l!??PL3cykAG*^T*{d_qmk~5+po^XXY;N#p? z$@;HKAQT33SC8zxV3n`>sgE)^_a*jAPNe@1-`s-%CJQUo&W%3~9~oF`1^ob+_l8xJi zT5J@A6n7;(D)oTF{$%~feRB@x-4^%#H3sNoYFp%k3tvqy)?XO8EbVimp};4xp^enw zcu>^)MzY`1ske$<&adJVTaf;GCmXD~o`x4B%tnC*gB-5N{?vy49u@%lq`XjvmmECr z>x<^X*6Tlb8~zP^tGyXuJ*MLuEzD}Za)63I^RW;sJi{CPR(Sp?2Yj)$ItU84QV%-r z0-Kd2E7dkFo&YNoy*P71?okDJyL}UVIY-_vY#>2{dV42T!847D?++N|`cm2;xz#mbMhm!B9KN0BQW`_x^`-j)xVt9Q*4GHXp z_&Es11K~{#xBGF51O@&vgulk%i89XeE)_A~KHTpA_doJt?DwXyGOOxO2hZH(?FGHs zgJZT|38sr-oa$#8za9ajht{vCc}CV2Qq2OaS|hrMk1rIap)!=U=el`R99jr8J4u0% zLvg208i{dcy5bVB=Ps*AAQ@?lr?AGpVpyAw+~* zF`Ddu)^t^BK(DdwU?%-@OqQMzJpawQ%qq}!GVR~WJG=c-^1DVGk3dzUZW1k<0p@F9UWw^!T${U0Hiv?AEc0OCbV z6g>m5{z!{mpFLAg#bIq&$Sx@JvQ_p1(T;N#~9s@9qtc(Hjmvin%20g_WN98$JXx zB&{bF)^l1kcDw?B&zCq$RxkNFbf*356S2mNj8w?8P+n38O`Vg_gB*R2q~P>+;9tgT zknc6tqYNVl$go9pd3Q_JqnL+)3jP8`u@MwgR%g2Zx{9@ljqoAs znnAhSz;=)WIgZ<6*I}Fx%r{O%U4Qc1Y9xB*{vW3dkCj>N*@TW8D1WyHFn-a9El##} zUymp?noe(%A9=PEKGc-^zpAFBe5Yv1x!!{Ceza9*>WWX96{`Al11sB|miM7%qtv$b zEHQ%lGu(urLz!`d(-PuAbmdY2!e1|5JU_+Ik>_x}`cKRT?XB^XcC@v$!oZ9Ls1ZXNolU%$TXkB2j6L=57Kz#^)=U(?s z;n2d&guYdo>VS$V&ftcu4X;{oInkXM3R7@~u#w{BqZ~3d?USfRslex`Vao*TXh4}r z$V0O)gL7-LmtM;P$7v{hgMuxyVvC}Wo%?N-+Lyp5t_cu)LzV9qMb{-AwG>C+E+%i0 z24PdAM4erq@#PV))6-DKgFp$Ngz`B@E>pWmhOZa8gl$lEj)gjR_x&lS3 zzy%xQ*9M`;t);Xuic;*yo5gq(bBiXNH%Tq#Hs}dk$Y-V=r%**gF1^I9T@8NUgD}=* zi*PZ2<1Jx}m;fgs6!)tt6`}C`$+(+n(mUX|yVXJ9_;t%wZxG#71>Mjj5#{Mhtj3JK z@IP&LntK`dEx{{_!8yQW9SAQw_~oWFRKj47PkL5Q2GCBsLWqM-5d&8WUp$&tH_p#L zfmea)Kp>651DRGg;|pmho8ce+cjzW=h#CF(VOo21sC8Vz%oV%l^jEW{uBH%$ARU?t z7XZ4&mkM0jc@s=)D!lIliv8v~@Ez`%P6C4mAWF^x#_%1*bm97#*y6R4I*nFsdsvsO z0bv1qw9M*~^woxLVwr`*9r{9Uhzo~rG)O}HVEOT#&1s>Qi;P7`6ryK?yj8{~h9Vm- zR~&>d4yDKd;6>XaG65UbV#XyIma3Vlt;atJk-Z=esdA`(HF`Jq=d&<%s z);^&{q7S7aBQW0~WV-&rUv@Yc|G-4_!e$~KOE}Rm0c0#|4jWY#TDAs!J|z+Sq_vaF zPv@fQB?+C7AWU}WyV;s4j)&JA9|Y&GCOO4Ags)4rT+8LI%1^s{XskwRe@%;YoO9gk<25xox(DLd?MH ztw3NMn}w_PLxlPgLF!R2%(QEk6p>=z&wp{^pI?>$j+`q2F-+Fxl62M_=d{A)07#u8 z#t5POqq=_%!pjoW0U}tdt3#E*EoVE5rMd-K&lLhNf;eqDMXabrj(J$eQdIv&=5fHgqbqM9AbV!_kgXZ zpq&4?nSoT)cebYAG*b**J=f>w+k*J`c1faVD$8qq0ntol5=Z_W!V;wjn2wyy9wd4= zlC-1812GQPE(<2z$xt6jc>sielS<+$Y1r$Fqm=+iBl9;JUV}v2O0XE_mqOQ5((Icz z^vqQR$wHKRw>v~ihRIs^(#c&Og66Cw3=3i&-8-nHLxdn4h6d46_ns1a_8G+ZoqMfH zU`6NwB=5!e0}CKZA?qe~{I&OT*T!B3!59+z$UOkJ!0X@<;y6gnam-?_+h)pho5T-MfY(tV1rPz_x$}1{W^+iYgg5)>(2`Zk~&wvl`zL| z@c(m=v%nh@s8ZXc`gCn@m{U+5gEXb0Q8v6c*TM|Z`s4+OE+$Dp$az{Rps3vrvWCkj zIRZq!${-}orJ=+RSJFi?5<@K<(DVwhfW-iPk$%1%2FvdSdr*s9*{ub_l@aoSIKW8{ z_Z93Gl-&t_;wFVWtP`^E&<0UVB?xG5UvDxnd62g0kpMI(7L zAqXOCj4)7yp + + Farris UI Logo + +

+

「UBML」前端Sig组 - Roadmap

+

在「UBML」前端Sig组,我们专注与低代码前端建模技术

+

本着“公平”、“公正”、“精英自治”的开源精神一起共建社区发展Roadmap

+
+
+

Last updated: 2023-01-01

+ +> Farris 前端框架是前端Sig组主要开源产品,我们在浪潮内部和开源社区接收到大量需求,感谢广大开发者的关注与支持。同时,我们项目也规划了大量核心特性、重构代码、优化性能等任务。我们结合产品规划、产品设计、开发者反馈形成产品特性路线图。研发路线图中的特性会按照优先级逐步公开发布,按照整体规划,我们每年会发布两个特性版本,分别在1月份和7月份发布,下面列举的进行中特性将会在**2023年1月份1.0.0**版本中发布。 + +
+
+ +# In progress (进行中) + +## Farris Vue 核心组件 +Farris Vue 是我们推出的基于Farris Design实现的面向企业应用的前端组件库,本次首先推出23种核心组件,覆盖前端开发主要功能。其中Farris Data Grid组件采用缺省采用虚拟渲染技术,具有高效渲染数据能力,为展示大量数据提供可靠的性能保障。 + +## Farris Theme +Farris Theme 是基于Farris Desgin实现的前端CSS框架,具有响应式、直观、高效等视觉特性,包含了一套主题变量方案,可以让开发者随心所欲定制不同风格的主题。Farris Theme主题变量不仅可以覆盖色彩变量,同时提供更高字体、字号、边框、圆角等高级变量,具有灵活的定制能力。 + +## Farris Designer +Farris Designer 是一套框架无关的可视化页面画布组件,开发者可以使用其开发具有拖拽布局能力,所见即所得的,低代码页面设计器。画布组件采用TypeScript技术开发,可以与Angular/React/Vue等框架融合使用,具有强大的适应能力。 + +## Farris UI Model +Farris UI Model 是UBML模型中前端页面模型的Java语言实现,提供创建、编辑、存储模型一般能力。 + +
+
+ +# Feature (规划中) +「UBML」前端Sig组在2023年的研发目标是为广大社区开发者提供可靠高效的低代码建模工具,包括:低代码页面脚手架、低代码模型SDK、低代码可视化设计器、UBML页面模型标准、inBuilder社区版可视化建模构建工具。通过以上特性帮助社区开发者在「模型语言理论」、「前端编码」、「可视化建模」、「构建专属社区版」等领域受益。 + +## 低代码页面脚手架 +我们将推出Farris CLI工具,通过命令行快速创建前端工程脚手架,提供命令行工具创建Farris Design包含的32种页面模式,帮助开发者从重复、繁重的搭建Html页面结构的工作中解放出来。 + +## 低代码模型SDK +低代码建模SDK通过命令行工具创建「UBML」前端模型,提供将模型转换为代码的能力,为希望进一步提高开发效率的开发者,提供更高级的低代码开发能力。 + +## 低代码可视化设计器 +向开发者提供可视化前端模型建模工具,开发者可以将此工具嵌入到已有系统中,获得可视化创建「UBML」前端模型的能力,配合低代码模型SDK既可以生成代码运行低代码模型,也可以解释运行低代码模型。 + +## UBML页面模型标准 +我们将在「UBML Standard」仓库中通过「UBML」前端模型标准,让开发者对前端模型理论有更深入的理解,以便于深入构造低代码建模工具。 + +## inBuilder社区版可视化建模构建工具 +我们将公开可视化建模构建工具,构建的内容可以融入到inBuilder社区版中运行,让开发者可以根据自身需求构建个性化的「UBML」发行版。 + + +
+
+ +# Completed (已完成) + +> 敬请期待 1.0.0 版本 \ No newline at end of file -- Gitee From addd23a6f19123166083ed119c4c571726a7c740 Mon Sep 17 00:00:00 2001 From: Sagi Date: Sun, 1 Jan 2023 01:24:01 +0800 Subject: [PATCH 2/5] chore(roadmap): update farris sig's roadmap on 2023 --- sig/farris/roadmap.md | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/sig/farris/roadmap.md b/sig/farris/roadmap.md index 6f84380..a270737 100644 --- a/sig/farris/roadmap.md +++ b/sig/farris/roadmap.md @@ -5,7 +5,8 @@

「UBML」前端Sig组 - Roadmap

在「UBML」前端Sig组,我们专注与低代码前端建模技术

-

本着“公平”、“公正”、“精英自治”的开源精神一起共建社区发展Roadmap

+

本着“公平”“公正”“精英自治”的开源精神

+

一起共建社区发展Roadmap



Last updated: 2023-01-01

@@ -13,6 +14,7 @@ > Farris 前端框架是前端Sig组主要开源产品,我们在浪潮内部和开源社区接收到大量需求,感谢广大开发者的关注与支持。同时,我们项目也规划了大量核心特性、重构代码、优化性能等任务。我们结合产品规划、产品设计、开发者反馈形成产品特性路线图。研发路线图中的特性会按照优先级逐步公开发布,按照整体规划,我们每年会发布两个特性版本,分别在1月份和7月份发布,下面列举的进行中特性将会在**2023年1月份1.0.0**版本中发布。
+

关注我们的开发者可以参考以下特性列表使用或者参与项目


# In progress (进行中) @@ -56,4 +58,7 @@ Farris UI Model 是UBML模型中前端页面模型的Java语言实现,提供 # Completed (已完成) -> 敬请期待 1.0.0 版本 \ No newline at end of file +> 敬请期待 1.0.0 版本 + +
+
-- Gitee From 8bf5d17fabdc620ccf002339337af290830dc624 Mon Sep 17 00:00:00 2001 From: Sagi Date: Sun, 1 Jan 2023 01:32:05 +0800 Subject: [PATCH 3/5] chore(how to contribute): add farris sig's roadmap to contribute guid --- guide/contribute-guide.md | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/guide/contribute-guide.md b/guide/contribute-guide.md index cc12267..bd8f2bb 100644 --- a/guide/contribute-guide.md +++ b/guide/contribute-guide.md @@ -21,6 +21,12 @@ UBML是一个开源社区。它完全依赖于社区提供友好的开发和协 有关详细信息,请参考[贡献流程](gitee-workflow.md)。 +### 路线图 + +可以参考各Sig组发展路线图挑选贡献领域 + +- [前端Sig组 - Roadmap](../sig/farris/roadmap.md) + ## 社区沟通与交流 有关详细信息,请参考[社区沟通与交流](社区沟通与交流.md)。 \ No newline at end of file -- Gitee From 4fa9106bf94e92658b206b078afe5f9e5b7fccb5 Mon Sep 17 00:00:00 2001 From: Sagi Date: Tue, 28 Mar 2023 10:50:12 +0800 Subject: [PATCH 4/5] docs: add finishing date to features on roadmap --- sig/farris/roadmap.md | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/sig/farris/roadmap.md b/sig/farris/roadmap.md index a270737..956c50f 100644 --- a/sig/farris/roadmap.md +++ b/sig/farris/roadmap.md @@ -19,16 +19,16 @@ # In progress (进行中) -## Farris Vue 核心组件 +## Farris Vue 核心组件 - 2023/06 Farris Vue 是我们推出的基于Farris Design实现的面向企业应用的前端组件库,本次首先推出23种核心组件,覆盖前端开发主要功能。其中Farris Data Grid组件采用缺省采用虚拟渲染技术,具有高效渲染数据能力,为展示大量数据提供可靠的性能保障。 -## Farris Theme +## Farris Theme - 2023/09 Farris Theme 是基于Farris Desgin实现的前端CSS框架,具有响应式、直观、高效等视觉特性,包含了一套主题变量方案,可以让开发者随心所欲定制不同风格的主题。Farris Theme主题变量不仅可以覆盖色彩变量,同时提供更高字体、字号、边框、圆角等高级变量,具有灵活的定制能力。 -## Farris Designer +## Farris Designer - 2023/09 Farris Designer 是一套框架无关的可视化页面画布组件,开发者可以使用其开发具有拖拽布局能力,所见即所得的,低代码页面设计器。画布组件采用TypeScript技术开发,可以与Angular/React/Vue等框架融合使用,具有强大的适应能力。 -## Farris UI Model +## Farris UI Model - 2023/09 Farris UI Model 是UBML模型中前端页面模型的Java语言实现,提供创建、编辑、存储模型一般能力。
@@ -37,19 +37,19 @@ Farris UI Model 是UBML模型中前端页面模型的Java语言实现,提供 # Feature (规划中) 「UBML」前端Sig组在2023年的研发目标是为广大社区开发者提供可靠高效的低代码建模工具,包括:低代码页面脚手架、低代码模型SDK、低代码可视化设计器、UBML页面模型标准、inBuilder社区版可视化建模构建工具。通过以上特性帮助社区开发者在「模型语言理论」、「前端编码」、「可视化建模」、「构建专属社区版」等领域受益。 -## 低代码页面脚手架 +## 低代码页面脚手架 - 2023/12 我们将推出Farris CLI工具,通过命令行快速创建前端工程脚手架,提供命令行工具创建Farris Design包含的32种页面模式,帮助开发者从重复、繁重的搭建Html页面结构的工作中解放出来。 -## 低代码模型SDK +## 低代码模型SDK - 2023/12 低代码建模SDK通过命令行工具创建「UBML」前端模型,提供将模型转换为代码的能力,为希望进一步提高开发效率的开发者,提供更高级的低代码开发能力。 -## 低代码可视化设计器 +## 低代码可视化设计器 - 2023/12 向开发者提供可视化前端模型建模工具,开发者可以将此工具嵌入到已有系统中,获得可视化创建「UBML」前端模型的能力,配合低代码模型SDK既可以生成代码运行低代码模型,也可以解释运行低代码模型。 -## UBML页面模型标准 +## UBML页面模型标准 - 2023/12 我们将在「UBML Standard」仓库中通过「UBML」前端模型标准,让开发者对前端模型理论有更深入的理解,以便于深入构造低代码建模工具。 -## inBuilder社区版可视化建模构建工具 +## inBuilder社区版可视化建模构建工具 - 2023/12 我们将公开可视化建模构建工具,构建的内容可以融入到inBuilder社区版中运行,让开发者可以根据自身需求构建个性化的「UBML」发行版。 -- Gitee From 61fde705ef9568c37629172d08f9aefbd3395ebe Mon Sep 17 00:00:00 2001 From: Sagi Date: Tue, 28 Mar 2023 11:24:45 +0800 Subject: [PATCH 5/5] docs: add SIG and SIG leader info --- guide/contribute-guide.md | 23 ++++++++++++++++------- 1 file changed, 16 insertions(+), 7 deletions(-) diff --git a/guide/contribute-guide.md b/guide/contribute-guide.md index bd8f2bb..b3bcc0e 100644 --- a/guide/contribute-guide.md +++ b/guide/contribute-guide.md @@ -6,13 +6,28 @@ UBML是一个开源社区。它完全依赖于社区提供友好的开发和协 ## 开始贡献 +### 联系组织 + +我们采用SIG(Special Interest Group)机制组织社区贡献,如果你对我们的开源项目感兴趣,可以找到对应的SIG组织与SIG Leader联系获得如何参与贡献指导。 +我们现在成立了以下SIG组织,如果你对贡献某些领域感兴趣,也可以通过在邮件列表中发起评审,成立新的SIG组织。 + +| SIG组织名称 | SIG Leader | +| :----: | :----: | +| 前端SIG | [@Sagi](https://gitee.com/chenshj) | +| 领域服务SIG | [@宫保金](https://gitee.com/benjamin-gong) | + +### 开源路线图 + +你可以参考各SIG组织制定的发展路线图挑选贡献领域,发起或者领取Issue参与贡献。 + +- [前端SIG - Roadmap](../sig/farris/roadmap.md) + ### 代码风格 请遵循UBML编程规范,进行代码开发、检视、测试,务必保持代码风格统一。 - [Java语言编程规范](java-coding-style-guide.md) - ### 开源软件引入 若要引入新的第三方开源软件到UBML项目中,请参考[第三方开源软件引入指导](3rd-software-import-guide.md) @@ -21,12 +36,6 @@ UBML是一个开源社区。它完全依赖于社区提供友好的开发和协 有关详细信息,请参考[贡献流程](gitee-workflow.md)。 -### 路线图 - -可以参考各Sig组发展路线图挑选贡献领域 - -- [前端Sig组 - Roadmap](../sig/farris/roadmap.md) - ## 社区沟通与交流 有关详细信息,请参考[社区沟通与交流](社区沟通与交流.md)。 \ No newline at end of file -- Gitee