From c7a9bac99224af9673f26ec140af48e1728fe3b5 Mon Sep 17 00:00:00 2001 From: Laurenz Date: Thu, 17 Feb 2022 12:14:50 +0100 Subject: [PATCH] Better debug implementations for numeric types --- src/eval/value.rs | 2 +- src/geom/angle.rs | 10 +--------- src/geom/fr.rs | 2 +- src/geom/length.rs | 20 +------------------- src/geom/mod.rs | 5 +++++ src/geom/relative.rs | 2 +- tests/ref/code/repr.png | Bin 29464 -> 29315 bytes 7 files changed, 10 insertions(+), 31 deletions(-) diff --git a/src/eval/value.rs b/src/eval/value.rs index d1f0be767..44e62c504 100644 --- a/src/eval/value.rs +++ b/src/eval/value.rs @@ -531,7 +531,7 @@ mod tests { test(Length::pt(5.5), "5.5pt"); test(Angle::deg(90.0), "90deg"); test(Relative::one() / 2.0, "50%"); - test(Relative::new(0.3) + Length::cm(2.0), "30% + 2cm"); + test(Relative::new(0.3) + Length::cm(2.0), "30% + 56.69pt"); test(Fractional::one() * 7.55, "7.55fr"); test(Color::Rgba(RgbaColor::new(1, 1, 1, 0xff)), "#010101"); diff --git a/src/geom/angle.rs b/src/geom/angle.rs index df2aca17d..acf3803d4 100644 --- a/src/geom/angle.rs +++ b/src/geom/angle.rs @@ -58,15 +58,7 @@ impl Angle { impl Debug for Angle { fn fmt(&self, f: &mut Formatter) -> fmt::Result { - // Format with the unit that yields the shortest output, preferring - // degrees when tied. - let unit = [AngularUnit::Deg, AngularUnit::Rad] - .iter() - .copied() - .min_by_key(|&unit| self.to_unit(unit).to_string().len()) - .unwrap(); - - write!(f, "{}{:?}", self.to_unit(unit), unit) + write!(f, "{}deg", round_2(self.to_deg())) } } diff --git a/src/geom/fr.rs b/src/geom/fr.rs index e7cd276d8..6aa0f5c74 100644 --- a/src/geom/fr.rs +++ b/src/geom/fr.rs @@ -48,7 +48,7 @@ impl Fractional { impl Debug for Fractional { fn fmt(&self, f: &mut Formatter) -> fmt::Result { - write!(f, "{}fr", self.get()) + write!(f, "{}fr", round_2(self.get())) } } diff --git a/src/geom/length.rs b/src/geom/length.rs index b01a7123e..a095b9adb 100644 --- a/src/geom/length.rs +++ b/src/geom/length.rs @@ -139,17 +139,7 @@ impl Length { impl Debug for Length { fn fmt(&self, f: &mut Formatter) -> fmt::Result { - use LengthUnit::*; - - // Format with the unit that yields the shortest output, preferring - // larger / metric units when tied. - let unit = [Cm, Mm, In, Pt] - .iter() - .copied() - .min_by_key(|&unit| self.to_unit(unit).to_string().len()) - .unwrap(); - - write!(f, "{}{:?}", self.to_unit(unit), unit) + write!(f, "{}pt", round_2(self.to_pt())) } } @@ -264,12 +254,4 @@ mod tests { fn test_length_unit_conversion() { assert!((Length::mm(150.0).to_cm() - 15.0) < 1e-4); } - - #[test] - fn test_length_formatting() { - assert_eq!(format!("{:?}", Length::pt(23.0)), "23pt"); - assert_eq!(format!("{:?}", Length::pt(-28.3465)), "-1cm"); - assert_eq!(format!("{:?}", Length::cm(12.728)), "12.728cm"); - assert_eq!(format!("{:?}", Length::cm(4.5)), "45mm"); - } } diff --git a/src/geom/mod.rs b/src/geom/mod.rs index a03e88b04..1a48534ce 100644 --- a/src/geom/mod.rs +++ b/src/geom/mod.rs @@ -59,3 +59,8 @@ pub trait Get { *self.get_mut(index) = component; } } + +/// Round a float to two decimal places. +fn round_2(value: f64) -> f64 { + (value * 100.0).round() / 100.0 +} diff --git a/src/geom/relative.rs b/src/geom/relative.rs index 6f6b152f8..4b6388055 100644 --- a/src/geom/relative.rs +++ b/src/geom/relative.rs @@ -51,7 +51,7 @@ impl Relative { impl Debug for Relative { fn fmt(&self, f: &mut Formatter) -> fmt::Result { - write!(f, "{}%", 100.0 * self.get()) + write!(f, "{}%", round_2(100.0 * self.get())) } } diff --git a/tests/ref/code/repr.png b/tests/ref/code/repr.png index 47f21b03317bf86f6bb5251e816da521dcb0fecb..be502800b0818b3db9074b623e4023bf92b98cb7 100644 GIT binary patch literal 29315 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�iE^a7)-KCdiYAW(j`fmMuV5~tNV)vea_Urg7Kts%`a z#WEt_WCi9!UK--+I;v$7``ciHlGz$xv8AUJ%02!$RB!2M=FN{AM4)q2MKUExT9|hC zRL@*TsS8R%6tucnAlM}Oe(7dXD9ukTj-kDFw3@2Jh&^)mZXwKpXcK>i zy=BFLmd?&4bX_!WbotI$B@roOwl6nIs))FsZ9Rrsi;cK?bv`=j^*eEzj}aH+X{k@U z5y=R+*ldhNlHwgf7&cbGoEqQON&Km_2*jXlf8ToHufN%;Ooyucw4}cJfLGo&K&CKf zqo9IyY$MFPW5jF-Sl)cIG&rPw%mU^PEcatG zI7LGKJ=$N?f;Rv?QNIry-&@qGIR=}c#chXoNB*P)KivFM+hLT?`S-W^BD|=jcE*@7 z+e@r}SZ=D~Xn0_~Wy;nx5=@5LJV-Yt zEt<-md-t9$EX<1WzMCIDq4XON4;?!hSr~tiFOc|K#oN8c#bS_90365p!=|Q@flyF8 z+Zy$jUDSwv9}=h`e~Vv_Te`cjwrjDXyLbM6Q@hVTW8z`&jj zBs4Pbx#=>sGWuYfuYHPx*CE97E9#^htzQ`uLcyJ0B|D;QSCk7xZpYr)Qt0Kbc^l z+YNQ}>GNkRv#*_V`!|0p-nU3$!-%Mf5>BkZi+jWIhuELnd`l0rM4;p}_8 zTwl=|A{A(-Ubo~Nr%IxeRGEykKF!VJ;Hd9BX9K!%Ne?_`3>~HABx13JAtcZj0>M zXrn*<6>wgN!e1_xu@J%$Wc76G-7G-Zeg>T zu^Q*v#R??i1BLMHPMSXb4+1~c4*(^$|7y9g64&5-UjKy2pV?JccQb) zYyqqerY*tK1jWQ^0UqddHw`LSWMt$@p0D-bL>}35F;{^s0*^K#48(VcWif29;7Uc%t4&fp#R^_te{!?l#`hWx z=D=-vQ{@WPM0)&YM>OAdZTeVa*K_tT9+DpQqtgx_ew0#ZZD|>uoUDDej9t^q!z1wB zb4!=U@VShVCUbwNY)vYuFTnnoZR2QXr*76oOeOj_R=1H;bePTu_KEH-XanT}YbPUt zGjI1(Q!{pQ3MNp2Vw0L%d9i=@+rj3-k?{=DsLeQ3_lumDMMQ~)w)T0yXJ%~rCMLa- xdb@f2{@)Gtf8svBGnBJE2>|(*UyI|rdY`L2*Y$G`D_!9)=bJ1v&NE!G?e8TtcBcRU literal 29464 zcmbrm2{@H&xHqnpA&RJ28bpyH(=w-!xs^FWri92mB^fJ2nL-vSN?~OxLu4L`lA)+1 zl8m8*L}f^PztukHf6n>NIo~oc++lLn)o#|%``N2G&DpS z8UoD)W*TKWn*ZT{Kh73WwXo>>EfZ^5=`}jhmH(M;@K9S(!2I-=gP9t!ykUL;0ds4% zy8jk)h*?}*Tu(=rvHimQ{?Pcev>hs1_)UeCkq@P3XbH;3DHkQmPQSdlNAv0xqNJo` z=bJaX6a$+%75rufmwtXF*nau)r3Bw6+PC)C2BzLTUv7Rudjvm8IsBoc|x?dw-nBmm6vnaYiMew-ng-K+csj;rO;53 z{rgXM+#E(>hg;6vA}Z)|_k<>y3KSbXDUmbo>@O-&t7pWe1}=Sv+rdit+lzNl+zD*6Ao zB5_<_Up#QZL#3HTY56hVi&WV-L;uMh3Afq4O7E99r4@pgT?Lk@zYqF+*59*d zkE^hKOxJxg_HpJrd2Nq369{MA+}gQ+6~)K1YHDf*kFByKszpC-YBD6H9|~yVG=FHv zNb%_@vPluOyu>`%m~1mY{V^|Z@&F?IZs}Sl(29# zOOB}WpXIrZ@87?Rii(ooP>!ak(9PU!xx>%HbNH^lKvFAyUfR9iLQYstuII%IZ8A53 zkei=xZfMBsrWF+7>gG26^(zzMF}+~p`w|C6o}($ENhAu>w*9Ov%7TYNRt|EXoc}f; zD)y{DvRv%=ns?ew)!+X>%FHtkYkg8?W@fp|`)jvv<0h;lopEv!8lai`@x$lbIlUuC z%xe9m5764>uo3&}g3Ryg$LulehVZyJ7V3*l#Cb?I{hIoq$zWFQc1wd$(SZYl zi|VfMv#}Za`L)~qV-@AQ+S&^&MotZhYN3*-yx+UxV4UR-ELLBHf6!BE#g5-KAx<^3wk_2^c0=xytnh9pMEAY3%8<0@u_D;HjQ<^ zrxglZZpT-j`__I_TKK?$0}>LRI2>H|0)m3?>w>Ky%gV}<&S+~huik54-A<4^9aCFd`{2QY#Kc53UI___ z_m$rJ251yQR%&kCxN-HWZX&*x1;;?CgCBTKu|c z0)5Q1w6q~1AwLMsGrsovLP@u8-^LHfy7jS+9t>J~+t83c7EnWeUc`MLy3bPDK|1QvZ#Oa^KR=9ktEW$zREq! zON)!B6UXex;x-+(52@H#)dl7n2`%2pd(%g};qv&x8WjSUl;dufAsn@?JY)7czmFB3 zBRxH))axm;yF)&4;>69HH&=di>Qz-$)z#IZE;OWdD6RIjv>aJ<*NEXf%rF#X?-6@N z_YSUtV)*6G;n30ty$ub#a&o2up$qFyJV*--rB!-%z~{60*$Jb6ecjekuW5$M!V$6o zzg%ptR##V-J@V$Wk!pR+c}!r-nl)?s#_3sh;jr~KHfH+&oFGb*-*mU!@qb{XshM3` zN={{FVluDr;Q7~EaG8a>U1u8y2kyJ6o*pjUJ8;9?uV232-fgeeoqK&GmD#H@ty;}o zUw?3D$j09O(a9&5f`0$nX=3Z-v~+-Aih79tvLN`Y%fvcT*oOueKP@TlJJhiL(4j*t zEG#Qe=-<_cgxJKreb*dAkPLhBd;Xhu%Jqt9gRpqMqsa{HPcI*7Zy#>E7bA^bY>=t3 zOwOz59C;r1+F^HNbrtQ)9{iR71x2y%)AYw`K}v(L6586uix-z0xmMlPepD;^PMVSg zWkp*GEUPQlCM|0luThFrH(vsgCN#y^&#<;ju(xLrMhjPR@K3ZD} zg_0ih>xLTd`*L?~4ph0HJQIiL2}?%%T~6a5=U z!JpoM?%a@wT|vUzw{KCi<>cg8RbpaeFEbN(0~>zK3^lsBxrMRj z8ugZ*>CDuO+ocp-V^!-PXy*Q|=KS2?;2=7I^qDtmya~;A4{>2*pFYiO%$c@q9`!=q zS_$M*j+kFkY^)8KUody?)xRZjMYMf3hoql8en&}3$$Es<9Y=s&$#v6iTC3?b@oR{H zKm-~)fFB~z4`Da$1?KoQ%5?t@7v)S4b8auUw6%3EXgiWfQMkO%(w|M{8d;P~O-(K8 zgLhg>EWEPQS5nhqVBD~QtwX=NXHOVII#19}p%4Zh0)em)^@N_ku_bXIBhT51w+U^d zfrmMoX%vqTDr`DX0rVIazhtNHrd?387Z4WCH!I;cdDi^o$z9a;!sNSISz!SVQ?D~M z+mc11qoRO^qCSUfTSdeGI5F=!C?_Q3)N+k4W8Nz&IvQ(y>eQ*FUsDQrA5`)m^vyH3 z?R%=viSc~GakY!#(ZTabE|Xi78UhcT?uk`cgGQ0iAp5Vk$Mi<)jl)Iu^79*#Ru{*)e{5);3AXF0IxEbhX1W?Q z@iv!iXrpsJmiYA9v&fqdOG_tvALZ-Q4KezhIfJ4Y8x_Uoe$oH9r|0(Nr??koysEmIiDP*z)m?z{ zq0Ch{n;Ce-%hPjn`$k5_i_Gyuf0}1zhE#88H?1Z|dwO|!`S^TNEHo{?#7e~W03ewo z=IBcHK5{Nc-5hO8ng80Y$D2^<)D>mDbe1?X`b||;wflj2IhG5%XCtTh1w+*PS8XX` znYO4?LXG&T0M}D*X@B*6_>is?ay#J8Bb?|>n>Ovyh+(}gIoV%Z?K#rK7MXS8 zkrOTbrY(x!t6bg_akO7|)RdIW;Z{_3sH>~vr}YK4kPYeSFK1QrK5N0VN~+*f4u>(?(%XV$=p|2^vgM;bhqvgZHd zQuu4m4i6^oK~Lu9zc2saRFnUnWIcY)OREsH^aD3jiM)COpcjXJ!-fs7!m0SFC~(mW zH55B7L||2#V)z~f@Xnn(4<8bL@HXq45sLs4u<~yGHH$&3!lwTIOW-`MH_}p5%|XQ& z+4=8q9FAzcc5!iGVcoiQM&YaBxw&6HwIsHszU%?2K-Kp4@_Lo9yD=3F_roJ+4$2Q4 zU*n+=8#_BA9s=p;(XVfF+1c4cudXBX8__kH8X1uaIiR%3X2X zO555G1TQau4$3EJT-_lbva*cx=vC5w`;da?@KXufCNv`Tie_92N)(YuynXQeL${Ar zsA^)CRX@P*mIKRdpI^;Amd&ODmWCf%S)S8t>H){V%klOWy?F7Ww6qir-YXG!3^hVb zL`2>C60^ISnb{4rzt7Jrva;+JW`@Xy=H?&Jb_krD*kP+byRDZ4sZINa_OFlU20Tl$ zoQ~f&Ee=@?Mm@r=3JMA$eL-7YTi{kQ9{=3YC@oAC7c^LoGUmwxA#m6YV8)dG8b>#uF&3|O4C2MiXV z02`|i(2zlto~gg-?A*Cyhl`6#g`1_mzQ@;hA}Y-b-$#;2d>j_wCOn_eH<#}fH#DfA zTz>xSc()1&d2Z~b>fcX<>dL?qm||>TWMt>&wrlfd9&Lrd1#zBFm$`#kTW7%if)!JV z_8TZZAFIv=DxVFHGCY8~WEH_oI&h)LvS@#3-zGrmF0f>mKIP(a(6)*B2Ve7yMvdQh6-`Zt zFK;M;7e3Yoq_AE~OS|uyAe&&*o+jTwneMMWD!3DPMus5A#>NIFXqfAQ7r{EId(X|y z2~zqfRv<4|0Ba&5A~x(%R8$0eZg3d9x>MmDDg)qV{at3j#Rf`K9Jij}A)L8}Be5*Bh@Vx85;*v-R-#`fjSELs3=i5_1w?=tP+tPTtzJYe^(h{~PYyDJMgD zg2bsXT!o`7_0y!@ylGYAx4D*qXf)P#C~nuGrQv9?cVJRoc5;3*CxHc%lDb~qRSo}+ z@&rK7#PWj1Zb7`l|7V`cT`e7*2cIti!OBQVI(OcSoyl5{Mr8b7D{O&piCea9%WxCC zz$}Ch1U7b|kd}%9ikNi<%Y}K7 z(5jnxmo$ZvNPF3WN$XcdiARqd8R8}0h+*{_Y6zzSAHni9z#oH5W1C;I_X47Xu?{g& z&VB3u`Rmuat}fSi_iq#y7GAt~7@$#+yxH*a^ZlW$0BhYl`E&2@4rAt$5)c>n09{8> z%hpRD3+`~K@Zf=n_4ib;$;yffDVH8r`_L!!f~x6?K~E)H_ccBVr5B`R%qL+_ zY6))L8n8Zos4@Pqspowa;@*Axj*-y4$OlQ3*{0a-WW$&`T171asPycB9jBbf?yj}g zMl87DBs!a<;SDYE@$rv0ZYJ~ak9@0N)zG8ij%4nWV>xo2!M;E|?Sp!`?t%Ek#p0F@|FAO!c;vsiz!>Rgr_z1lIlf(3tCovdZe}qZC7xD_9FCr5@{c(-0Js=Lwv`qN43BE$1!2XeG&) zyAK4LuV4OG;rHJt4;3Q)7Z`@d_(%jcIEoO|N^h1SY1D|Cqr@_=QPL1?AbP`dStdmz z0;esMiJW8En^t{%TTvietM}S+h*^C~Ia*v&;@n#*SZ6kK7f8eV?Af1la{-;lIi25R zF+v9_V}^7Tza}t`DDJy3W3%#^|5;z3#RnU<6nUq&IWsdeSdf8`)j##EcZBj}QQdNK za==S~aO>{$)C&j+0V*21xJ;tIr0h4FoqR9(gB{e}{^YTH+CzH&B3XvH+WaHgD`(g4 z+__VSp%|FIr`Q$?#lQoaSdfF>uv5YJ^OrAXCr56`yh8yW3QB7s~za;33# z8K?^)ztKsRVGIRD-`Y)C7k^hMO&J|g>HKUMD;o!g2@h^M2#1u6j8)OeC*e#SQde(E zLrWoj0fL$Ho1L8%wWv@Q+$rm}!=K5{Z-6LXhC|zaOQ9P@OjGl+^;}585DM4I$_iU# z7%OiQ$bAW z2%8+JPd8ke>rnDe#7(D=Z!3lD+DS_^QYS=g+DT$SOX1sz6sUd6{m?1P_cSI6o7|f-g3t)?wEXtRv20yW`G8-O z30iw`){m(uPy6_{6aByPcc@H96~54a`se>A)A^^^%oMjgzO5KE@%3w)bcOHKi9o?Y z_9PxO3TRpz!ZQFY{-q3zx9@~X3oMKN2`OwF1Y~2nCa_7UxUmrXC177IWZ5^jx7T@& z(9Oe>&^tlL^N(=zUskbJbzk3Kez))3*{!0bug@wg@7gOBs4#de;i7~uG~@7X_a8j? zK6OFwFH!t&jIn>am3Dp~h|qO^h)L_ED~gQsqJsg)!MQpKVfaJ4P0ZFUTi|g3j{l={ zo{WhlNNQMHr#tIgTZaHC7n)z%Desj9n!J2G9vj92_K(P@c+NG&HP*3{lS42rP~k2Jz46`0*z7*49>hX?N<>?Cj`K*Q3w@NJ2@#IteUA z;E;x-W5-Bfh)s6+pr+cjE*;fHUFhklQ#h<)9Cmn+4ESG;7yR_+>cSkgf9~lQJFFL^VdYz(GlL~S9fNT+tZb- zx9DkU-65~w^CTthv67(vyfGal{%{qZtHgWy0)at6(xMN~bn=tF04=G12P!&7!kSr{ z$x~I9V}#x^*L&L4$*$qE`)<(0N*0sS3)iR#pxUO@_@sYd{BQOeCL)H$g`cpg@z)@bmMN z`(|uEigP(r0D|M%Uvq=?VelV+8xM#=Vev0hWu47iTUv5~zcWsv?wo)r@c!@T6ed92 z6A?kFcWF_YYuo_YyUgXxnKNb<7B4h6K%)wr8`BBqk+E;xLiz$FWP!%K(u5o`9-zw+Kjw`a;gc-pRzP^jSXGW71?#&5AijI|&LR|lFmZ@(Y5!Q} znrbBEI#5?Demx=Kb+N5xq?(Fg*X!44Nhu5M%6y}x?gRZQOyFA@s~4HwM}s2houu0R ze|%18@;iL^u&=MLfk8rea4pL!q5qM!_Ii)K7~+4_Qe@w@O-0MsSElY1KvVqf+qw({X(w{ox~85Rk`4=T zV8}Sp`@%pu*Ft`dxAR+BKChwC1b-++#Qd~_LwANclPkxSr;dpii{0!092ZUD*s_Ic zrL?u>qt{BFev$KvA_TVi2=E6OZf+_8=M2tjP0dj!{0=mOxE*o%}*7~AzA{cn6&T;1MzcVNP>!vPb67iwjeYIc= z_VTDj)}1?ppI>JpB5@Gb{+Tm^UP3n;J%QS=@m)hVsY04n1rvh0XCySrMJ7=I{D310 zt(>skWn^T~qN>h*g=EJjzqQpSM(3u~5%Wl06ft}BHBO03tZeM;-WIq>W*)nzS2p*~ z5^TZ1CBXQ+yn5l?0*xInus}G$?aY});Go^vY4S0}uoqRdR8%e{C2jqSOn(8lhpXWD zvDg%WNo@!p1{~{6UV@F~bM`C(B8xN%UY{6v!o*50r*(fKQ_~*ZafS!bhNJ2n*s66|18_!-CU0c4vY*6DJvdY$I&-doEZE*S&f0xw!3ZL_a zHvd&3e`1T;bKQfh10!OlMao;arJc6$d;-F5K5u!Ivss_d&ao>mN#!o9CIK=Aiu#+1 zX7E+%tMWvEOBF2y5WK8XXbE{)%)!CIy>>HmbDb3oCfAKeQgj4sJ%-l)>vzFal1Y>d za}`t`!`xE9crK13dV1MpC|cziel9NiDdcMZD`_U#GJal+qb78i}Jm^$EbXWOWMiK*0zybA(vNaWg*j}^frLF0SRZL zmA+?ragLD(NL$#e^#(5TCbJNB!V$p-*7YlP(tSC+!X^cu#!Fx;vZ^?B7eIRh-h)N6 zC#8*k(~j%cuCeXfC7PgBQ&STa6%~K1J&h_8?gB4I2@e(;M%#@a3Oe+t_1y#W@u8u+ znN5w2s;0cxB+3Hj-LRMPO~hNF4KYKJdKgQ*@hmJ&0r`i zpi01mwFe{>6cqOC83F7VCd4EqCH;XO{q^lK{=~O4!l>xhs&)zGHDdute|n%k?kYXu zsdy8lhQea|A=Ln^Hu~211|BvQ0qR%X$CZq>#}s2Zx^ji=tJ(weiS@1@WZ)7NT$+U{{>e+; z`dtdTwB-rAb zQndEsPtC$m=9^~_heF*etLz)v!1DN}u$DM%!A!0vpLj;^ksR9#dXGy;J)Nv}`M008Gczk1Tu zMK$Aw*_va5=3dGongccJ1LbsIg(toq2%Os}Ym#dOXCe64dk1t3xONt|UVubbRLK31 zZN9Uy>vtOY4OOguU@mJ2nPexA-RD<#1EVI2`rp65@%zZw@zy_e2NV>jE@6fe(O?;Xg8%Kntr>CdGSPj%mVC*3T)2b?{qpQ2k$}$KH;%Ov1vTq#w zO&`~nv_4I-USr2<2u8=wo(R2dp0i7#8ZUm2yi49IEE<|(d?J-!UgetRYe{!q>9A{3;}$kc|VyiAK}Rf(lbsRu;WYkM^#P0d-&ev0(4M3Gg10&hEsT1O3G6ciKyJ;I!R{dKqMd3ng(Ja!0x_1U4BKDdAX z>5&*SGqW@KQN~tp_dVk0=ZCC3%&)4V!oUNF$vTF69ctLh{V6AcD}x+WK(YiWGZf~jjvE}KxVH&$vbSAqK>Yrv+wd_tJsjnwO(#|qGqwX$! z#en(mtIW@d7X^OGxhekRcbOR;W6mCm;i?PzI{_no}% z!Mx$zxp_3;OloQ98{y1o{%axuHV*Q`onzpE1kW}G?>w5d!LnOyAIjOVvs#SK4PrQ} z*WlwdZeG}{WW(1}(EuXHNY7)pKi82t^X4fiao+*kZQHg58fY57-|pbx;O6kqrjd>$ zm`Q!tH0m6&Z5UY;Kyg4B+{b)wY<3vKmkx>DTXcTKq=+r<){G* zhZ%ob@#()r-B2$9pz5vgw7ts$FzD^+DM2JsEv5PeOYp&o`=B&zk)MEsmb3EGexeJ9 z%lG9lEMIZ~(!+u3t15E1z&xswYqYempicrEhp`g_Wdh_khN|WYXq%Uuj@9P(K6j2g z6S){m{=^4nB^rHcOJfq{HgIv+UjpugT8N_DQB^`o2VLMBgj3acH$Q5e+Ht^lav}C6 zjz^RRchK@eF(QYEmmxzEbrY--+T^}{`=-~O_!|n;O&yjJevjPb0N}gHz=M_h0CM)3AYMd2a3)w&3vj7*L@CR0HUiY>`jjy(@!y$ffyk z$ju)SLJ&OEo5-&}iN9deppVD^6e;V3(rtvJ)X}YbJoiJMv2d_^qlYvj(TIG`pHP>f zR}<_QvU}mN{r?mcPC^t3^1f9b)dF&_zLl3e_xbgn>7TFBfSj~};~@}#)>HaZ3es!P zvSU}*2VGDI9?NhTbVt7-v9C^5BZbxk^oVmb)E~+S8MTZ6;Nq(M zS=J>x4{{00L)xudm3eC$<`4Mw;7s>@{22a>o|l(bEmPs!Kz%(x|FXZ)sI1cJvbXCV zWyz)k=cZrSN0ol*E=+H7ugtKf*Hl(k#?|93Y+}MAB1n6$AraVTC<#w5QjLv^Ye}Xz z*GV3Dw)oMbN5#cAP@y#l=#&oF@z7t;=mA#o^+s;RG}c)J$G!_rBF5oWiEP{%)CRrV z2U}WOmuB0<9wiOf#h^Cn@+PdKr;oNjIf;hk-cvMWB@wXtL6(Uiq;dN6J?xd*R+KV< z1TCbZh0Adh6K~%}6Q7=(OuKQTGU&H&EK&QWR3t0!{edT(&Tn%P>gp6%w^TWCNV)aN zy=GE{d?+a)u~|u~Aeg@%)otHT3Q+w zu*IK&(owBWSkfY3idjCV(v~|@aZ`r{yL?HHIon>od~p21&5Em6{jH&no7^{j!r3X% z_>~ltw+Z1>00amclMpEM_2VBslBW1TU$baHt4p0lY?6zUbLN;(-RepJ`qMk??K+>V ziTxg{D}VYN0s?+xgBZIh7>j6XowwKTzAP;xv#q&eqE z+S-^d9~o6QJur){(MP!krNpSz$4>qOw$|39i`BusmEI0WA1V3{$32mw9_a#)7d__& zg0i!-pPw@;W)95N>%FJ59YmGK2|!tgfqF-^=nNi674ROY_rAcqngl@Zd5a&4cmh{J zR#ZueHh?Ki0G9wU?%iRI_oa?mSfnK+czz##2HY1G76#V?q$DamSLmWGoNUiw zHO1Y@7lmu&Pd&YY^E8|NF;5Euw*Y1N_S7ozirzSUPK5pY_t(_c@-%LLU1&|sI@VblTkKEJLIXAV`--!zcSM`|a*yo;%z3@J1{yac zlDlND^=A=3Aqi45RU=1^9*w?oWp@~C!E6d;bZpGYS<`6ZSSs_qd-ov4gd&xJ3L`+N z|MM$VeBpz8y#Y!39Ya8(Z{7)AdHd$JHs}7D%Hrbh2!`Kv&G!7(f5^b&P1X_e8+=ZQ zCUArw6JiNRZDS(aE9DcA4LJRht#$W-L(MN=Qpg*=(W*qOs@T}vt*ktcCIIr@st%F6 zx8}UJxAzLK?LXF~qK z0c34w*UK9#@NLGW@`S-`xi}D14D+F7bQUJh25BZ{=C@s4qwOo_30lAc;i_2xcw|=I z9g}2Q*^fdSKGd8qu@F7y>pMnA@9FEC+%}5f_O|iwmn&i1o_x5~DVsD(B_S6NLUha~ z%Q(Hg!m`fmj~~!*-yNZgr`7@=cYN~*24%$^L<}npLT)^dD%Q%!$46>~MSWF!NM03k z9qM-_6N#N)n^WG)?yp3&+(T2t9EJw)yt`XgQ1A;zGTc6tiST6MNDXflmw_e(zVm$M z>C>kO1;G`H!0Rt8Epg?4|M_#&`BZczpl}J7>z>S{>|1%)G8NZ;?}{iCJEteY$ER+7 zX=dp(h9hu%(Jv7cpeB^IZS#cyXtLS?SULXnt8nl0WHR|hy3zmwH$6Q)O-=VemokXA zk<02AdtRU>EFN2$IM!V*cb6U^Y@?^{Xq@ zHS#pX8g~NB&*zBaK=Nv>{lJI#CP=DhY+eWz7Y_|>-m#;v`kedUR1_w4=FrlhyW^fG z%hDszC`^@#Q1lm^R8R+{q_lN)S4LB;(RiV<)YjCDb)<{!mvFVQd6E)$no1DXh&7o) z4Cw3YYfXh``a6k7Ufv8=h?uEJ^2Pi~WkJ{X5ACTZ>TN}JHMcr?OUsY)-eWUsy3E25PJ#uUABi_R(+rpQE%ZMXEmR96F;HG7hKG3*w89#< zDAQ3bvLu0x3=9=PzstlCr!MpP@&;WBzG~yMXM6$zT2ekbj*g#UXH<4XI#qNajTrJlVpz6!o*Sn?rccHF9})2Q+f1ppL|YR0O@}`pp1+RbRce};1`^o{Is?) zA+?E@iy;w{1g%{oA>&?U<@M+L3>_&f9(dF<5gyysD_45Z{b5#ESXclREdTif%WTod zc<48SG)6t(cSuM|Mh`|_xnf!$e28kkn-e{@#*;~W^Jb~cTwf4#g{XMh^CYru8^Tr6 zo?chE3!iUD(L3`4HJXEn$d#Cwn5$O{%*#c2_M#^oMeK)RP(oT-nn)bZHd@AX)n}3T zp`Df|L<*T>KGuf}Jbt`;_wEZU;-EoHxZfhHqM`yi0Qn6( z)X3vQqod)Cdz;(h_X1;$^X=DB#L2O^ZK}@s=Ug|O20KtFJ8V}%+K$&(@%;YVxhqFSzxtm?&z4G zoh6Ek_n@8m-CoKgtMLl%-@k

K`8)qxB`jROT0ukq_=?h4E)>OqZOPI5IW{IC6gY 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