From e60748537259cb719284fe1ba1f57232621f019d Mon Sep 17 00:00:00 2001 From: Iulian Dragos Date: Fri, 17 Oct 2014 18:27:28 +0200 Subject: [PATCH] Release notes for 4.0 --- .../2014-10-17-release-notes-4.0.0-RC1.md | 138 ++++++++++++++++++ .../images/blog/tickets-closed-created.png | Bin 0 -> 40586 bytes 2 files changed, 138 insertions(+) create mode 100644 blog/_posts/2014-10-17-release-notes-4.0.0-RC1.md create mode 100644 resources/images/blog/tickets-closed-created.png diff --git a/blog/_posts/2014-10-17-release-notes-4.0.0-RC1.md b/blog/_posts/2014-10-17-release-notes-4.0.0-RC1.md new file mode 100644 index 0000000..f8025ac --- /dev/null +++ b/blog/_posts/2014-10-17-release-notes-4.0.0-RC1.md @@ -0,0 +1,138 @@ +--- +layout: blog +title: Scala IDE 4.0-RC1 is out! +author: Scala IDE team +disqus: false +--- + + +After almost one and a half years of development, the next major release of the Scala IDE for Eclipse is almost out! This is the biggest release so far, packed with new features and improvements, so make sure to try it out right away: + +Scala IDE download: +Eclipse update site: + +This is the first release candidate, and if no blockers are found during the next week or so, it will become the final release. We'll probably try to synchronize the release with the upcoming Scala 2.11.4 release. + +## New and noteworthy + +### Multiple Scala versions support + +This was, without any doubt, the biggest shortcoming of the Scala IDE: support for only one version of Scala in a given installation. Finally, this is no longer the case: Scala IDE can now handle projects with different Scala versions in the same workspace. By default, you get two predefined *Scala Installations*, one for 2.11 and one for 2.10. You can add more and assign any of them to your project. More details can be found [here][scala-installation]. + +### ScalaDoc + +See beautifully rendered ScalaDoc right in your favorite IDE! ScalaDoc is currently available in code completion and hover windows, and fully implements the ScalaDoc specification: inherited documentation, macro support and variable substitution. Try it out on the most complex APIs (like Scala reflection) and see how things become so much easier! + +### Save Actions + +The Scala editor now has specific actions that can be performed on every save: *Format code*, *Remove trailing whitespace* or *Add newline at the end of the file*. + +### New File Wizard + +In addition to the existing Scala wizards you can now use a simple [New File][new-wizard] wizard that can use user-configured templates for the contents. Quickly create a trait or a class, and you can even change your mind in the middle: no need to start a new wizard. + +### More efficient resource management + +The Scala presentation compiler is a powerful tool, but comes with a large memory footprint. In this release we completely reworked the way *errors as you type* are handled, and buffer changes until the user stops typing or invokes a semantic action, such as code completion. At that point we ship all changes to the compiler, leading to vastly improved allocation rates while typing. + +In addition to that, unused compilers are shutdown after a configurable amount of time. This should bring down memory consumption in workspaces with lots of projects. + +### Editor improvements + +Many changes went into making the Scala editor more convenient. From better handling of spaces and TABs, to [smarter code completion][code-completion] patterns, auto-indentation and template hanlding or [indentation guides][indent-guides]. + +Hovers have been revamped, and now you can change the font and rendering of anything displayed in the Scala hover window using CSS or the usual preferences window. Debug hovers now let you inspect a variable when debugging, just like the *Variables* view does. + +A few more [quickfixes][quickfixes], like *Implement Abstract Member*, *Create Method* or *Add Explicit Type* make coding even easier. + +### Scala color theme + +The Scala IDE packaged download now comes with better defaults (UTF-8, auto-refresh, building in the background), and with a special edition of [Solarized Light][color-theme], better suited for Scala code. Make sure to try it out by selecting it from **General -> Appearance -> Eclipse Color Theme**. + +## Stats + +As for every major release, we'll take a look at some statistics from our bug database. + +- 519 tickets closed +- 322 fixed tickets (the difference being due to invalid or duplicate tickets) +- the median time for a bug being open is 49 days. This large interval is due to our cleaning up the bug database and closing some really old and outdated tickets. If we consider only tickets created *after* the 3.0 release, the median time goes down to 16 days + + +
+Tickets fixed:
+    78	Simon Schäfer
+    61	Iulian Dragos
+    40	(unassigned)
+    33	Mirco Dotta
+    29	Mads Hartmann Jensen
+    26	François Garillot
+    17	Luc Bourlier
+    15	Mirko Stocker
+    5	Donny Nadolny
+    3	nicolas.scarcella
+    2	danstryder
+    2	Grzegorz Kossakowski
+    2	Jerzy.Muller
+    2	Trond Bjerkestrand
+    1	Anonymous
+    1	David Bernard
+    1	Hubert Plociniczak
+    1	Michał Pociecha
+    1	odersky
+    1	pelotom
+    1	Pouria Mellati
+
+ +The large number of unassigned tickets can be explained by having tickets that stand for bugs in upstream projects, like the presentation compiler or scala-refactoring. In other cases the person that fixed the bug stopped watching the Assembla repository, so we couldn't assign the ticket to them anymore (thanks Assembla!). In other cases we simply couldn't identify who fixed the problem: typically an old bug that was fixed as a side-effect of fixing another issue. + +Lastly, we looked at the distribution of the day of the week when a ticket was fixed or created. It seems that Monday is the least productive day (not counting weeekends), while tickets are created rather evenly throughout the week, with a signifficant drop during weekends. + + + + + + +## Thanks + +This release packs an incredible number of features, and includes the work of many Scala enthusiasts. We'd like to thank every one of them for their tremendous support. + +
+Commits:
+   371  Simon Schaefer
+   187  Iulian Dragos
+   162  François Garillot
+    92  Luc Bourlier
+    90  Mirco Dotta
+    15  Daniel Chia
+    12  Donny Nadolny
+     8  Adriaan Moors
+     8  Michał Pociecha
+     5  François Garillot
+     4  Jerzy Müller
+     4  Grzegorz Kossakowski
+     4  Jedd Haberstro
+     4  Luegg
+     4  VladimirNik
+     3  Trond Bjerkestrand
+     2  Tom Crockett
+     2  nscarcella
+     2  Pouria Mellati
+     2  Alden Torres
+     1  Emac
+     1  Jerzy Muller
+     1  Eugene Vigdorchik
+     1  Jason Zaugg
+     1  Eric Molitor
+     1  Mirko Stocker
+     1  Rafał Krzewski
+     1  Robin Green
+
+ + +[scala-installation]: http://scala-ide.org/blog/scala-installations.html +[quickfixes]: http://scala-ide.org/docs/4.0.x/features/typingviewing/quick-fixes.html +[code-completion]: http://scala-ide.org/docs/4.0.x/features/typingviewing/code-completion.html +[indent-guides]: http://scala-ide.org/docs/4.0.x/features/typingviewing/indent-guide.html +[new-wizard]: http://scala-ide.org/docs/4.0.x/features/wizards/index.html +[color-theme]: http://eclipsecolorthemes.org/?view=theme&id=31291 +[scala-installation]: http://scala-ide.org/blog/scala-installations.html diff --git a/resources/images/blog/tickets-closed-created.png b/resources/images/blog/tickets-closed-created.png new file mode 100644 index 0000000000000000000000000000000000000000..08f142bf6bdea290aa6918cd41efed41ce664326 GIT binary patch literal 40586 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�s)IOg0{!&hjx7|Px8I0U5ZIN_g60tFp2c#`%_wv@)VkcA2Yng|Kju$AU{uNb zh)Z@0Pp5rF__}zCYLPaVqxwJFelq}ZpkR1gz@vn+U<5HGt*LN6{va?8ZVSM@y~C}u z9gXtq1JSK8!gCmcU{Q#)zig+SK`8$`e5LkJo6$8u@WfisX1Jd&}~ z69)D?6gIy;ej6Q)33F$*`GG$bac+$UBvBrwQ6cHO_O8xh*bz&>C-@zp?^#2etB<#) zO||Q!+zz}xl48H6)0{h&Qo@hQo<02_Ftly=6oujBkx_Dr<^^k>z9#_kV@8Fd_2sd) zvE!hnF$76d8Il0*DBShTiOdMz_IZfvV$?drp(`JylDG@an&b(hDX4xLouuCNb(0%_ zI1cl^-i_3NKW=ya57y*wa2f;_$95w%;7v1$rb4k+47-^1hr!EH|2lgQ`wxs|Iq{4h zFgAT3CJMy<7l1AS_$#qqF7I7el7+F#ezD%M*Ix)yL!cW{YD|N5h1f5KBiWCnHw!yF z+;t^A zNSEl{F5JCF|1QKoTi}J@e|I7B?>@wkzw$*^rX(TP)3%mQkP4Qb^gT%IEXUizXt?9JT!!DwU zk08L_>48c^h}$a8zdm~kaZ4Xx9;_%QGdL^a$K-ZN#P`cl&dyDXC&H9>5s_`k$UI=$ z+A^u3uqnpQbdF-;ub~qNDX9*Ot|4IQauD}PW`B3XF2e03RvIrPmcKiIY#rxQLk`!L+T-1n2U33 z@w)9+Ccejrhn?m&8R1^Yc(-++zIwcZ)}6N?1D>(TcxuIXBQll42syH5G6mI(GEhR z^tn-YFGS$mHs->VA3I(wi!shi1dy3ZscXb!=e|0Wf|B|~&r+@Vg)W(N*fCE_T$-5p zmsyd_N}m(8bHW-1##_CChkb1lsfpzjF8xB%z?yZT)N!|Y2j{L>jx4S(Zdy@)r-X#qPMUMMU{11f$q?XuXEVkcuK zq_buB94Ib<8GO(c$AUS15r=j2N23j!WaP>$heQ0j2B-7tY?*u+m71S5NuR?^>yAP* z3E_vRNZ~dWCJ%vii*X2Pe9SU1USdjuY^+C0CL*?RMj?7;m{6h}& zQf#gwW(s8>DIMRJj^!W2jd6;s7u>ZPqRZA6dM1zg)jr@3++3C&M8LLbci;uTINhrA zb0O{-o`S6`%;nDbz@-$H6K>g?}h1p`5O9MI!?&!n;3hadlH1=JED zm!fJ2bX-~Ng9rphw5^z!S0f}VI7~MvWGP2V+&c7fRK`9R?HtV^lQ<;(2&r7^f(S%n z;IzKB;#U>`*{J*eSI#5K6;SB1R-x4|ZJ#mBi*Wk=MhmCE2Xh(s{rY@7<#gu7NHC@4 zjd4=_;8w@+ST%M9t#k-1JHx53+-cgPLPRFrdBu8u9I3IIO6u7ay3Jj9TTt=lvS=V7 z?Q_fdwx{agz}x&8w4Qf%7g;}LJ;gWIC}} zyU;musp$JoO~4xunwIW8_(hbnix5hP)O3`r=_M@@1%!1$8K8h}H2-e&Cyr!Qe|`YM zoj*wH*3VE`Y8wAdgp zqt$5rr5yW}9Nift&%qkDbU#leY4;bMkgai$!h+HcN`uNFYn6b7$Mz-Xt+0ll6*d87T9TGIp#r{i3VEF;!{-$CC*5V|slXgDT=8gmk zt*gL1*rHu|;oaL^&%TMC)_0{^$B@g}m+cIq~ zsskQ4OuQ?9=yWy*uMLU0#t%cMci4g#f(HN*9XOq^Ysgs;M{7SYK7!qD+nDPw2sLnA zn|9q<5kOj2EY~aS2eES|0n#?fz2(}w?#u{7Rct(a6Z=6dJcy-)^yMD)U2_vo3`1qq zcKQe0B_PS(zYBsc5g#SBjEx=C1$Vq?O$8>po3?lE0y0hv9Y&ds4jtjQY4k= z7v|Vr0LV~@;5msNChjtXjTd0pw`(ww&_A>A?~?pB|Nk>f^6xTip1$yI97L;I=0Z{d ztmc?X<}@ab$2|p-K8dHXcw2|JK4U*3-T^(R7NW}CRK|c5UmYa1EDuXxfafQF-1o(4 z3e4<6;vJo%Ti-fCb_I(APQ;e{7XYy2#yuJg7#l&3ZcZu>EoMLs2hfExwTR>Gw4N+V zt7aNF?kSd+N|)&H~q#IEOM~HgJg8rT6FW4#Swgoj{p)D{mxwH>mq5( zLKK!yc$Y^a5O>-~SAxMM!H_F4>UN07P>yWTrLAe|>fMEw2t%8k@fX4df@h(Ab&Nc} zc1;%p5~ryEYp>4w1Y!aYu2Xkk_UWgU5x4c`j-q`K=J3^#GoDAiJFLF>!k`)4`Q}@7 z>pRb~i_2hcYzn5O*+HEEV>ZKCaTYp_#e>b-wG5#qqQaSozL`!Nf;PjUfT!gw6=yS= zIp{H~wu&H+4s&gcIDjp;6v{_WKMk`rYy?1dzb+GFd-)24b>zc2*0?YjJ4S z+G|u4zyg@k70#kWrlzZzQ;g4HGx^JK&7Wg&Y#8HPs)z&9FlUJ8xL0WPm7&7D5J*TQ zfb5Hpx3`~iQFBG)mNU6f<#VAJ1VI1!r38g39ciJcTm?y%PSu(hvm!n)cdl8fAIZcE zfR0(A-V?_QxY03oM2KCxLyjI%Q3k9-(E=7$6gQ&82+#FX3n7oyI+AI4uKHEeVRv#qY-WC>jC zyrw5XfO%fQ&xbo9z%>M_y&R%qVnmeM4>RQ9CC<;q(f%wV7yNKPsHR;IuD#8I38q&c zBC_}&?cp~t`%MqrRD0*y+ZZ<`A5)4HiJpck-SLu*b%aIn=QhwPYjSW zWOD*G&NgBIQp9jLjvMoYxi~OjgUGnB3XgN=ID2f2WxpRLxV))z8#l#!#8kZ4hp5R2 zAn1B{gn~EMkSszIGXNQQj`-YhEUq2#7YsyO&X2dTJpS@V_s)lGA-=WQ2BZ$I{MV1q zqBWhw6jzN%pbubsrcc^}%^=M3?)5l1SIFOV0kd9MuNh7Tv(@!xvJtZ_ zFsJE-U>#5-v;TepGpGNBS^85~JbC9%%&tIYRREFJxezltBfQDicT^E-C3Y+(BlWG& zXG6U{{CZl4enFWqbqHa#A9G8^jwRaTFvpbo(Mmv_TKs<-UsBhNJm0YsUIY<1!wOGw3O1G5y(?3v#W3Pxk|M zjolf^7L~h^ks!+XGF&3gZ=rlVua2Kn{m)dKEFXluF5kve4h5dlAB15Xmqkd==9o`* zx4GUD=bMxM=FdWf=(|QAQ2kjyGOO$WmD|@;fpOG5TUVGpjUwlW z%%Te>DU63}-6A~rxq(zZ1>jS^A@a?>W7jC55+WM-xz&FtRE!M`rTPV|YZ=&|;4$2& z7*4nb|09uPYr~qVVaRGWLCb=PjDT0bf1bf7VRAL$td5sSKniR&O#$f$dr;eyxeEz% zE!tUY@{KodvV7Wyo#@eliSRCKQ#3WwilxEv>1g{0DKZ8=k76RQ({x+ec-UcS%nJ5h9=(LJ2ZR0@mPu7M0=;gG{zU zN>qiDBC}TX2MA~)=je80NEIf8jX;zEuPLlz_h&%-@x(m!2q{}^CR35cua5`SK|!FC zII|0Y)i-UXK*<@j?)y@?U%RkApHrg2uO&7IEc(-wFp%S2L+AGQInyV+6*j#K z4C)+0(%~=rRc+^*-ce9n!9%t@yKlt`?8#!-#!?u=b72QpOmm>^d8bU}KVZa3_TUp2 z#B2R8&#gWzgkz_p5TzB=V8N)Qm({d$=OSj_Bn#OEf1}`lkH;`dOc{R29xK{~@e_|D zM>~^WBKRfNXJBEZL;^$A|`hxU2>s zJq?LOtkiEC#xz1{S)5F*;V$cO63&J*S zALFyX4QBIZ;jZv(N1SDL-B}U*WmXjzHcx?t(v%X2vKP0EZr7cY5b!;CRtP(5*l*B) zc9{0%W1?MmmW81v8M*HwdAz~TdtXo6RWSSSGHmY`U?ToqhJUu~zo+51(^z##S3)yn z=YbY{c^I*kNRE+HJ}Ew>)~rL1!xwu2^VT9CXDw;*L zLYdTKFHsIBhkXY%>tc^X6$qmHMVi6zLP!?E;}n6x&94Z4oqq7y)Cmt`Jo&Cub`@O( z$yY7_)c&_Ok2!&FD(n6DQXMj=?olFs@A*GN*K;$z+ z+`>(70UWdtQt1pHdaSeV&epV13LuJpakV%MEAp1gfsF=Dtfc$ysCy7vwGEgNbx<|6 z3FakL=;lFjKwqo6ha20oWQ?QTDM@Av->tFNzGgJ=_1erg)_#9=cLkjwBFqSPqEY3C zP_*ERghOO|79cn8v@|nZ0hxP0zN>6Di@)v)6j`^dOD{l9mjtr3i;!$b;?|)EQ}h$6 zt&J!l2M$7oi|7ud@C-SbGhnTjQ;!6aF}%VbBEW zkAyq4Abm-Pbz>5Qi!)&xXOUca#%NfB3IoXNmCxF*PU&>k7}c=1Ak`Nip!uPN{A+uI zj2ey!bPzhY4XVZ4yXr9M62Z0o+9d{AcBT@iFb5{Q;xH6M@*aa)SKWKV2oV5GzkR4wSl)c`;eYz z--5YVgQoNJsiiTOsJ{Z2(DF}~*sP9+Lq~m>7cx&s>6-UnzKz*Pn?OV{Sq@1W;5!<< z+7mErNa@Dm+>F5uhC*xv(kS{6qV%cKeaF9mpe3`sH;48`07xLu!l6ooLf1R(br|8< zECcl5nN3`8B*h%j>-&*PMnv72!J?Q9E!Ehy=iVQ;r9osIizvThLSR17q#cDAa(x=Q zS5(@c)84x^4fQW@ULHK|4hWwKP&}wsl@eY-`057T-*`hI7n7B(fYrq-A;$+Tko6DG zvAQ^ggv!7%7&Qf7)wsu@{=Lp_KEo&on=vw?>#g+-HVf9qq-B;)j6jl27Z#L=z5sHH zu&iP)y8VQgw)aV(ex#fC8Tr4ZBLqR-0gj8XmzUwFHc3j6AkFN4CVI)M$F z_1WJ`rZ?|9V)(xy;_dF|7I}%?LRd3dPSP4am5{4>l!QV4#3rqyMR=TNJoPlYwlr`z z*Q~?P`bh6Eq-_?9@z6JfTT=(+iBiU%$sO0)i=#pV=m5bSmFQ=Hij+P;YE456Df;;T zHA)62_0Sec`nExdvO2mm&v5p;P=z!5hUpvjTV;TM%qRp3_L<6 zw(T{RI_*ip8m}STUy`}d06<^S*=%R}t^PCeK#>Jvl5f&$I6A)g70*V=r#}%cg#MJS zF6$-p=mXup@yYuZ`_>2vEe}WT$HU$K*M;j}BWNNCX)g|*eEad>%hik8q|q1tIw2Ww z_c-CZyH|-A&hg&reuEbo8y5>{9AG>p$! zGi7Q0XxXd|-+=`ml=Zd_-ItW~0p%MW_UWvhNj5J^K*;^U-j~Oj!20M{HoV!X zrhie|cVeVV@0Mj>JygwQzGwo17(M+{t|Y&3+9ySq;%HInk?!C2#Fn{Wz(MYG_1DBx z{+WPil4@wg#p*r+%4bGIJKY9-600Fq!lNIkw&MZ!;<(%hH?Q=SEBYxjh_v$EOoR{h zTtT5km{kz@un!~!B9OxC&tAJIjzbKm9J<}wPWd4HRBOE6pn*a@@D^kfdDB0R+vgU} zXQeO#_0)pXP_(P3guFja(f#cGPaw?%vW zg15KQ_W_L}?hfNA*z1Sm$;ffwx6pL+!AlPvxTtjJjn)H<)%xdamBbx8P6wRTzu_WO zUov-h9Dm}Xhqcq&t9|7LjOFBGMdwA;|_Zgwl~t_?s%_*VDK`RLobaQ;Ol z-QC^HPvYIpc0JLsyZ5;#WA@GmfAQ~h|2y4(9)^E+_y48F#P`mY<-1IfyEflZ{qTyv zuB1V?l7^2=ReVBnd(d+HNGFK}l)h9!9zniYQ70*Vz%$vhX6=pAO=JuCr+_Vm0KmQs1}N{WH=n|3&E6OPok4(x*~ zB_jsHZX=M{ebYOkvqe)5y#o)xiv{8FUsI31dghz2~<8ncHI93K#zzaPlv#Ncax zGMGSPD)(kgQPGHhDKxKFLWJDYP%8ASJx~Q2RBOaV`O@h?HZ*f4;O>@-n-wb6yS3)D zEhFGNh18i>ljq>y-w`k>+P z-R%1@>ZBMa(Mx;CW~o|@2@yP44)gRVP(Vr60pCnO*M92mT+v8{7XJMijAO4?1K+w{ zE>?r#SKRRvQ$OJi@=aQbv+hAd=TwF1$P^IM$K+`|gLs2+DQCb_d_5VBbkwT38l#T< z>H(Akc3$mbh{pIiDq?VZEU{%+w|5zjA??elL4`Ui*%^br%$VsF2uP$t0j!G`yg5=B zBqU0|<xvNIF39s#`v&5$q2@)}(yt8^+7KiuG15D3Pm>Ghjc9 zb^nxCp6<5_(>-$pcM$SfOu&rw1Rr)L!r;|q=I4;P_9cQ=EzKLtCFRYSVB^^VD@(HP zkgt9q#yj<8I?cm2abS+wZpuZ|R#rj7$MeCOd7Flx5wuQa_mI_{KxoBeD1JxslMPzH87HLNL}BV2&h>h@c})q`9I5eLcSFTY=LD! zjd~!786N{iIv~%6Q&iygEX;PERyY@t@M?e=&?|pZ$@d+KW}eL4`T)i$3Tgd>AXzQk zC?z&m{#|LMUmG|@BH5AnXwKp(H_wyn$FKFim?_XbD8xQa`z^Ewx*-|+Nto(F^uZ6C34s(c;-g`U%2b_Mi26$5sZ%`q{B<6Hm zUE)&-)y)Gowi*<`eEnf+ke)=k4FntV?`onqBNFac>C15oa&x*~7Q)jS(i*^iYK0PC zX_!XJXVR?f6`2FkIT7ang3ux*8ZBg{#-lNcXIvcXd*?H9)-@sO`D1E8T~G z8$mdJg#(uc@zoY@R8obXvz`4u9nD#!^}bYoR~cS!ZnF_&U*i~QC|U^nB0wcReEH*t=jffu6)W0rIq!a3%I)$K|F zx)O{G>fP#ZE@j^F$a@@)f#o!zIUT>V3UgLXFgxtmEI! zo)vh7wO89XX5=lb`|H2n)9oDU2H>&fb2oLiFO7L&au=TM=0^#lokQJ#p{{wnXWzaw z<^}gfc((Tsu_D3k>($#Mo};3kbmy~?pMqzTxFWstK#r8aP&d?{?P@dd?=oyps$lrP z%ka+z{P#5ccB=o6G)fFz8#1X|X0kW#Fj6Hu2;R?D8(-m@z3o_1&gO5t=t7RtCGRr- zc1id@yiI&5{K{6h&TD+8+;D`y_GBz_|4@bD_l<7@Xh^<=vO+9OsTZ;QW2Z}1SF0Ij zA~%Zh?fp$9wvA-|`G?F;P0@T58dHP-`)u-9^LUqI06g0-n>-YX&;Sm!DB(IEbX0dbe#ah zdFO27&gKOER0zPh_*QnOhGpaxSX9owaN^&#$>v<0J^5BQfXX40bjKTloZ!InPae$r z=ZtNco}o7Yna&=LY})xo{&}$eZr5UWQs!5L;7UVxDU)^*g!M;Z0{_ojiX!psBe*Y( z01o&;3MGZ?!}iMi-vDe(LDK_uu1NcSja4ppGFSIbXZ&u?u4rbiFU12JX4maZw)Af+M^F2l>UhrQU-A^2l$dr9(ez zKN(qtC`co7YarZgoptw26}{?|^EC7}OsLR_{kgSTrB84~#OF2rdI}(sQw?3h)O=y* zrz5c8C`W5}BIF!uCP%xBpnaE3qJBl#jO$U-6l zK~*Sj3yZEvN8O|MfzGETqX7WyhJBN=+v9_6rYi?u>^tTkaZ1)@ldk!V541rGohLe!?Y=iKtTY)B_aotE?S0(-_C-M92mg8#(JYIz#ts!4ob1J^; z5ex;2C6PRaVIrPttUgh`it)-oT_chECiE|XDXoH-mrtEMLj@6a({pxP^t;ZOnZDW# z%yWhqK_M{cqPF_D(&=VcwOq+^ljnptrZT&J z*a(t6HSxo&+vfVGQ9YLLC`hE58deIUj?8i{D~ z1md1lL!a|0BS^)I=a0|VAU`R{TH8>|(^NNUGt5)8;XZJ!7^H@xSfI0nGMx4ESzZ(3qSQVi7?>RDO<$9QHM@0sqWa8XH_mdK&i~-4Y&?ChB6EEwj z?wiN?q-EtFIi48{GTF!T7tls74ri*lPhC+JXh4MvIeT^0DbW4=^?^JZ=|wq z5R&V`X2sAlj-a-(|Nf<;i!Fsi?4stq0Yf3WR>%HAlI+w$jR^}Vi%v+6YbF{W8?fED zkp$>X17KT-p^81!x%naxtb8e-|1$#Z5I*Tlg5^{h$%56>FrxbrI#2)#pY&3`|2TSb zFbbYNkyJZuxiQ8{AoHrFxjSGTF3L$$gu zlJpggu*er*Ypb)9HFB-2{FDK*`%z7mhl=eCS_Svz(pQ6DAoNiKr1CR^e_i~68uldc zp1l$nmq{Y38JIHGptkslq*mMd-iOB=P613QldPdrt_qh>>7fce#eTqQG0cQ{Xp8rK<~o5{KN~MrE(%#0<5f7Sf^LQr%L41b{$G_>~-G zBgY}=j~`^Va__>$wqkL+X|IObrx!5%%fm;9ltCL)0HN0@?V{k!SrZELu`D`1n_NdZr)=r79}H@5m(mQXZiU03efV*W$6d5v-${ z6$ig;&myJ1)BS!%pw}_?cq|QtjR4kwWExfbhV7n!z0Qe|R0K)AjL_ccGdIA~Et9aa z@01~PGk|OS(Hn~;-mrPAdI1C&mECvSftUY%gzeSbi}T-F1qa8AzxvN@67*mYxWG#uD=;RX&;`;tL7(rkfI}UGF5v&%*WCQ%e!O8e^97P!UjMV z*F#_51x)giv}w)oaZQ;F{aMWgh!ljW><*q%&J?%`jr;7b^nP~q8ETpYbJrbj(FU8J z64H?jptp5#aR;_(Za;QwM0=}kXRBdv>&rU6RD;p5JJ(=Y{e~5>yUHBd1-50Jq}6)` z3YXlZr`sMijY=!w;ST8B5sLk@TA3}TR(G}Pdze^j_3id!B z^gR&6$-n_==oCJqVB)|Eh&qn9T@IT5jur7;%Gymq?kxop<|%vu7YhiZ z*=~-vRWQ!_K3&{+)_E1sP3oNj``spi0@Bx zod++CImaJ8`_X6PksEmA6=1|t&%ZLcfjZD94=CDP`gj+uH8mN*cRe<@?8>~$n~vC> zhHb*8T(9o;p!k`rX6S>_t=3}&{Z>Fcm8DpWXL_~skr8%SU1}-3-R{HR&pBw}OiZp`g>(Rsa;bJt>Fwi)%-5odBMLNZGQ5^tP zKfUPdxXgyz@Gnpv*QK70m$K4oV7`j{|@Uxgu#$yAkE$fM^u;F`(&dlkLn%1_5xDzO~WfUZ|uG9+xkpUh$)BFTUR_XLi!8 zQJP^9)B_dmQpbV@=Y@!6NQ4dl;Wf%6fx-cEa{|mPQ7BzX5P2P+#s$jvj1JYFYAy zuP*|J-nTJs?;w2JTx>7^kS6q56bn8iCmlCA8sIezw{M<*52}rwsi!7WjKCB^0Q`gR zouG+(*kL{)INz$KgZEu^;HpS)2|_8gi3_%q9QsTqSWDz_D|In@=YZ?P{5oJ*(2|k{ z>5s?#M>x0=wE$adFjKXk$B&AGLFep<#*9j8i+MY6NoAj~s$EbSspG2#Gj+4s5Rcp1 zCeRt8Xm+S+nH3nZnIp5(=C;P%rFZ(oBL`LRz*klcn>1>+10L3c-_LESKetdGO2gIC zV+=z=bpZOorZW%5h5F#gwrnW63LS?U@FUC z6ZysXB#3WVSTYy_eE~nMR6VhmxnCEE^dmTf65{|USt|uv70<{95n6TXI*2$i@p!x1OE%B&# z=T7w~HD^VmeL)?q-tDPGGFtd>DPK=Pfba0Cejh+Tn)&wf0uAdS4Vv7lh)r4qTfUfj zTxd3CJ4*v6P_f)4Uz|}ueI)F8=a%&mR8;V(?ys!fd6vMM#^b3n&vS)o3kkd55(L&5 zI{C;XArUV3rF4ld=qOrb@qJXM@%$__JB;T_!hafv@!< z)f3`Nc5}~r*NEMn!uo_bigMClqQi>?)7{0_&S>Sw5RDKog=b^NvSi!^3cM=o*mEz^ zXz})+Fs5sde5^%(j^e8(Mx|@rohpdSbEjfL`WK_kKg$Ia2{w&ZO%Kko&r9|=M&>ye zvoB)m8)_7hYF=c9tsA*cE)ET6bdELiGqDSf)L7ov}HXcy~i4XvwddF9Q zGGXEkDsGR+^W7b>Q*nFpdMG_fEbGaC-IAtyOICSiR&RFB7Bs% zB+UA=b}JcZqM)CTUzTM2r5!lElbRPt*l{vrXQ88dL}!iI`2N10!y$-EZ)B3mcz4mq z{Z0NF3)u!Btb5N=HLh|a(U9B>cBPF+cYFm0^Fd=KVr|T5RnI~`PYzgzyw4ieP|L5o zbSMVi=`edRd&*~kGmT-FcFN}2g|BpX3BW`2_DYLi3DS)azEX=2^uyr!KI$VKcEv9=Ik`4TQQv$E?2FRzxHINmIozk>&>2;y6_=3G zKgtTCbOPyLfyDXv7x{qNsHt0DPN%lYeE)vsEgdgf zzZK6ULeNht{n|!QRA^^3qsV2g&`9!Y6Vn{upOn{GqC$vp*9~fl_0d zny|U!N5{aBUHss2P$uC0fju z!&-;%ggq0oN_g&M48Cw{Ec6zE27hye#3twVr>yK`g8exfupYepixAAQOP{V>Jk-!r z!c5NzW~(;RQ=HDXm*gU3s?=G3KBe?bPt+mArd}91;^fUhnFKKX)eLcttiJU`WQl5?C)_UzVhcK&8zSQ=mJZmO8KJ~nl8-o}lZspAx70mof zRxGdhOGi;;MnA*5Le%`-z9XbTLelbW+hdGc%c{9hlP#syo=1+V?|r-_>2vJ&3Twut zDCb$h2zq6Y;<>5=ZZ&9gZ!m5#KzRE(3hQ5ESD8InNC>&2YE^@n;8x0?v+{@2L-C$h zwzL;Yr)F8f4_$_rqBZ50l&ZpnNRo34zuP4@`5!N7!z#@v4#%5hF6Q(Pd!7p_OyKS+ z9h~i5%L}>pZln)|D}co^-?vuB(H1oH9ADDjDRoZwpzu6k`O+JT(i^=iF#X#89C>7Q zhz$0YyBohMm^a0BFqW017f6FR3b(_TzAIl<3%Zo`jXs)He@|*%BdQ`fN2I1#>IxvL zEt1nFC9aest@-7S?19X(BaDUF>OZxlu}S3!Tb!d8#Xt7GnK#k$lyp^a#ln-pr|e1v z6&5DmDox4l-TlrU{q_;s5MkM4z(?VnyjsI9jE{H@hxhda5vw0187G5$d3#tL5EtjlKa9H5F$4ts+cO`!Jxg{hd-v zDlxXjaqhJ|xq2C9)g!JbN+O5g{gqr76A?&R;etVyqv}^=M2hIUU^zQgD}jzed*i8| zEQkKc$uq=g^JBl^DK||vE$Lrm`+v$UNi+3tm0o|7H*w(ndinGL%{`fv!BvWAP7;0W z`3YeXrRfN%Nfp*9y8zz)o1jtx%WUlRaAA+oJlW5IaHc>HnGSN}xphA)i(e)VsIE_o zkec3cn`EmYs#f}K@w)K$+varK>P8iGXqW4=SE+5(aqb{Y<4H70o8;136quapm%NgZ zQ3%3M4C1sarO7@d)0=vl&{D2aW>~ksC)9LBk6uZMHea|rgxOoWu+wpPV^Sjf3&bPB z+2^)=g(jjv&mkRYSR-69QdeECL{)z)4v8_04-@y2AHR(XjTic6u)N>qf~`-Zm!e3o zV{U725kl)om7~n*=@m&#f`2w!sq-=Nnq`toiwQL+6~$P(k`*jxNi?)1OVd+E(P%jo zB`F5R7IbRyg{NU9R5;g`DTuA}5w0OvO{;Lm{d?lZ`q-Djrvm6Ft`~qDR>I9lq}20= zW{^J@S*m-4)TUvATW*@A74Wx(O5LY=((0RS#@qPn_vy|+Su z3x^WOKOr7VeaeV7Cn&&Ma+beXnx8$phr6yD*BrCw88nmk_^MN0?C*0akD9OLE?h~< z`O?IqbFjGcmj;{E1DJ*$X$_JOsssC+vrhABN3myxsch*gIAtQsfkT(5VGmQ6CVg;S zq-dw$dei`&`y86Q^45@iH)K1b)iq851MYz``Tt3rAtCUn}}(Y;Kmv$RX@%+E$sM>EjhCPF9zIJ2#P#fCrmvB3%2 z-uxGIpMNMtzMp_XR(|SGbz&nKzBRc!mcp#Q`qPu)ey^pnyUs!N1aU&0hQp15$=_}1 zG1u5?=%0nG%vp(A(=P^_DvjAR*|M15Pn8vnX_L7&DTxzi0@7Ans;wnLR7$0tfMX>G zlMG?9X4vw0Ti5n`ScmE3hm|bh@l%&SHrYNFxyzo1-yZ>;A|&zgfIMCm5N9?8W)EeC{JK|B8q%&W zBz#x38*}wy+CpY5(_5@1%W||GIwKXTM02-ph%|w3j9~zy*BNbgvQxZ(jmAxPx*HejlOhQ}bKw~r9`j&C&nF}7h zAw}dIXYYXaXmhAwV#7cGZc(p4cP5yx8InkacH%;dy>X;$@7R+sW7zME-hvR zdEAMD)@>2KwbiTUBF^Of)s=E@H0-SONN*aqxxkdm!=H4ZK1>m~X2ylfHvTx-zpPsy3vAOSAE6%ebsB#T&Cgm3P07hyR0=7-ul#B)aKh} zBZ2o8^nKOh#zAj;ww(PlTeHH&$yEci7pO;@I>V-`<>^8l>39`GZ-I)Uw0Wbjm-osB zbrZ8s`;uqY9_ZG7b3Ze@?My8s8YNEMEQq7Ke{Bf%mFhutzwKpYJy4JQB(zV<@21I0 zg1G>M@xWUgTA}eE9rn5W=S6qx0k)pMH7CJapq1GjzoJ>8tj5)@FkO&ruFPrbg1Us0Wf)Eh0tUA#($ zZlwo4U+-_at??sWY_Tw|>dKn=but2LcTnBC*h2^^s7}`^Ig}GStr0$l+9dU(b@kVl z?a_@>e+m6~7qtd!01M%!- zUJZ~SZoq#uT}U&~U|~A7-JgQpsN8wbW#ZS0(q9hB$T)f)i8*NL1k;bp4_v^U79Er^ zSy7{~D{zCz0FUnXEYB%fEj-2Xq*a9@x;vjfCt+c?a*%oM@#>dhiPY89*3ifmokR7b z1W7-t{70Fi(KP0teSZ0Aqa`pUp<=tSR5US}a@?&|tdCuG%Q{3%=-71S1pEqK!X?j* zs*AmFs8Vn2sP;ysR!K^c)ZjZzWJfV#5@t>>qj zbm6%aV|TSpj1;z1TDSyy+_o>&GH?;SjoKn_l>en$a-Ko&46jeJk#-zYZ@&RmCa2Q= zF6^+(;p|Q<%gHhdm>%2mUg;6SCq=Z*Vfq*hrmr zI&QgNqq{pLzwY)S(C&|@c%Pm5I8%sZW>Ne8k{xIdSxCNs>sXnjy`0dXhBkOLPRa5* z%auAkrt9ZImAs-nOAFOF{SYfS^1~gmwpYJZOrunN*X;`0&vRqrZMsd*R2_%8bXUOL zpEiEaT-xXX_dL}FcTa{6?Z(E@_I25XM=?=@A`!Sw(UmukxPjkB(N+^{ z7NE3#la+^JJd_zuGdZ)qxdY_ce5i&=ttQhpIr!iNm576-NM@i-h>`kuHEIyzw)_j~ za1 zv}Wz?np6(HTDcy!rfd*keGz9gzdmy^Tp##R@I6yl+Pje}N>N z=oy>J0l!NTnzOqpyVXf+((E!2i%rA@2H#!{aFy@xnqk^b{tv|Y-w0-8z2FJ$5}%`X z|Fne6>IT?ohDbvDKe5p;J~ryu)boGX#pM7Sr8Q>b{)vr_@Uc-b<+XphfaoXyY;