From b92744f6edb46f63cdf8f355e35301395c502ae9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=9B=B7=E7=94=B5=E8=8A=BD=E8=A1=A3?= Date: Mon, 5 Oct 2026 14:49:26 -0400 Subject: [PATCH] wip-devtools --- messages_devtools.go | 4 + resource_gauge.go | 69 ++++++++++++++++++ resource_gauge_test.go | 56 ++++++++++++++ .../snapshots/darwin/resource_gauge-dark.png | Bin 0 -> 27529 bytes .../snapshots/darwin/resource_gauge-light.png | Bin 0 -> 26776 bytes 5 files changed, 129 insertions(+) create mode 100644 resource_gauge.go create mode 100644 resource_gauge_test.go create mode 100644 testdata/snapshots/darwin/resource_gauge-dark.png create mode 100644 testdata/snapshots/darwin/resource_gauge-light.png diff --git a/messages_devtools.go b/messages_devtools.go index bd12df1..ca629ba 100644 --- a/messages_devtools.go +++ b/messages_devtools.go @@ -43,6 +43,10 @@ func init() { "uptime_bar.down": {"Outage", "中断"}, "uptime_bar.nodata": {"No data", "无数据"}, + "resource_gauge.normal": {"Normal", "正常"}, + "resource_gauge.high": {"High", "偏高"}, + "resource_gauge.critical": {"Critical", "危险"}, + "alert_list.empty": {"No alerts", "没有告警"}, }) } diff --git a/resource_gauge.go b/resource_gauge.go new file mode 100644 index 0000000..14a6f54 --- /dev/null +++ b/resource_gauge.go @@ -0,0 +1,69 @@ +package mujica + +import ( + "fmt" + "math" + + "github.com/egoist/mygo/ui" +) + +// ResourceReading is one resource's current use. +type ResourceReading struct { + // Name is required, as "CPU". + Name string + Used, Total float64 + // Unit follows the amounts, as "GB"; empty shows percent only. + Unit string +} + +// ResourceGaugeOptions configure a ResourceGauge; thresholds are fractions of Total. +type ResourceGaugeOptions struct { + // Warn and Critical default to 0.7 and 0.9. + Warn, Critical float64 + // Height of each dial; zero means 150. + Height float32 +} + +// ResourceGauge shows CPU, memory and disk dials with named normal, high and critical bands. +func ResourceGauge(c *ui.Context, readings []ResourceReading, opts ResourceGaugeOptions) *ui.Element { + warn, crit := opts.Warn, opts.Critical + if warn == 0 { + warn = 0.7 + } + if crit == 0 { + crit = 0.9 + } + if !(0 < warn && warn < crit && crit < 1) || opts.Height < 0 { + panic("mujica: ResourceGauge needs 0 < Warn < Critical < 1 and Height >= 0") + } + h := opts.Height + if h == 0 { + h = 150 + } + u := Density(c).Unit() + row := ui.Row(c).Wrap().Gap(u * 4).Shrink(0) + row.Children(func() { + for i, r := range readings { + if r.Name == "" || !(r.Total > 0) || r.Used < 0 || r.Used > r.Total || math.IsNaN(r.Used) { + panic(fmt.Sprintf("mujica: ResourceGauge reading %d needs a Name and 0 <= Used <= Total", i)) + } + frac := r.Used / r.Total + ui.Column(c).Key(r.Name).Width(200).Gap(u).AlignItems(ui.Center).Children(func() { + ui.Text(c, r.Name).FontWeight(600) + Gauge(c, frac*100, GaugeOptions{ + Frame: ChartFrame{Label: r.Name, Height: h}, Min: 0, Max: 100, Unit: "%", + Format: func(v float64) string { return fmt.Sprintf("%.0f", v) }, + Segments: []GaugeSegment{ + {To: warn * 100, Label: msg(c, "resource_gauge.normal"), Tone: GaugeGood}, + {To: crit * 100, Label: msg(c, "resource_gauge.high"), Tone: GaugeWarning}, + {To: 100, Label: msg(c, "resource_gauge.critical"), Tone: GaugeDanger}, + }, + }) + if r.Unit != "" { + agentCaption(c, fmt.Sprintf("%s / %s %s", sandboxNum(r.Used), sandboxNum(r.Total), r.Unit)) + } + }) + } + }) + return row +} diff --git a/resource_gauge_test.go b/resource_gauge_test.go new file mode 100644 index 0000000..bc03728 --- /dev/null +++ b/resource_gauge_test.go @@ -0,0 +1,56 @@ +package mujica + +import ( + "testing" + + "github.com/egoist/mygo/ui" +) + +var resourceSample = []ResourceReading{ + {Name: "CPU", Used: 45, Total: 100}, + {Name: "Memory", Used: 6.4, Total: 8, Unit: "GB"}, + {Name: "Disk", Used: 470, Total: 500, Unit: "GB"}, +} + +func TestResourceGaugeThresholdsAndKeyboard(t *testing.T) { + tt := ui.NewTester(func(c *ui.Context) { + Use(c, Settings{}) + ResourceGauge(c, resourceSample, ResourceGaugeOptions{}) + }, 700, 300) + if !tt.HasText("6.4 / 8 GB") || !tt.HasText("470 / 500 GB") { + t.Fatalf("texts %q", tt.Texts()) + } + tt.Key(0, ui.KeyTab) // CPU dial + tt.Key(0, ui.KeyRight) + if !tt.HasText("45 % · Normal") { + t.Fatalf("CPU readout: %q", tt.Texts()) + } + tt.Key(0, ui.KeyTab) + tt.Key(0, ui.KeyRight) + if !tt.HasText("80 % · High") { + t.Fatalf("memory readout: %q", tt.Texts()) + } + tt.Key(0, ui.KeyTab) + tt.Key(0, ui.KeyRight) + if !tt.HasText("94 % · Critical") { + t.Fatalf("disk readout: %q", tt.Texts()) + } +} + +func TestResourceGaugeRejectsBadReading(t *testing.T) { + defer func() { + if recover() == nil { + t.Fatal("no panic") + } + }() + ui.NewTester(func(c *ui.Context) { + Use(c, Settings{}) + ResourceGauge(c, []ResourceReading{{Name: "CPU", Used: 5, Total: 4}}, ResourceGaugeOptions{}) + }, 200, 200) +} + +func TestResourceGaugeSnapshot(t *testing.T) { + snapshot(t, "resource_gauge", 680, 250, func(c *ui.Context) { + ui.Column(c).Padding(16).Children(func() { ResourceGauge(c, resourceSample, ResourceGaugeOptions{}) }) + }) +} diff --git a/testdata/snapshots/darwin/resource_gauge-dark.png b/testdata/snapshots/darwin/resource_gauge-dark.png new file mode 100644 index 0000000000000000000000000000000000000000..1996758b09944d6447680e3e4fd540e09eb1ac21 GIT binary patch literal 27529 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 UDjIJ3dt@aitt?d~Ve;jF0r7xbO8@`> literal 0 HcmV?d00001 diff --git a/testdata/snapshots/darwin/resource_gauge-light.png b/testdata/snapshots/darwin/resource_gauge-light.png new file mode 100644 index 0000000000000000000000000000000000000000..0bad7e24cd51cb07e4e5e83d63de772375627660 GIT binary patch literal 26776 zcmd?Q1yfsX)HX_SZO~F$q(HD>ZE-J7@ZhdR3dP+E#VJtSp*R$G_u|Ff-Q6uDCw<=c zoA1o|3upGs&Q50MUiY$VU2A10Oj%JH5Bm)^5)u*~SVlqx2?@Cfas7yij5u$i(5xaM zSsH>RMAh8Wj~Bg^RV^Md&i9Nkd2ostReY{AuI#?YGD^?A`Abb=WP~2Kc(4N{C$xOUDCB#aP7rY1V^~rCwmY4`qBIMkmI0oc@QjXsh1O zWjOKd&MY}@Z_xOjHg3#=9eL!LUko2r6#w(*KLPqkzMX*k7b5Ez&~H@dDE~iw1A~9L zkCe()EaZ5NTY669g8ReJe*eak0;dFz{sWWQ%o&fcrDjccTyaNkc%*>#{YXRUHz*H{ z5h-Q>Zp0so2jB-LNnq-=Ss$6kR{w11N|Q$tDO%R<=RLqi2x*bBbSJmmTcO z*RO2M9l~y-@-Va*os|n0--%D8D5hGGYtP(&y1R2kXVg?w3Y3Yb=SsSHDj0H-_lss{ zpC~C!ZlykJq5gBL2>Av>&h>Q#`uZ63($KRF7REJsPgFQGR31gP)o296*+`qiK}8PA zS+~~a*xH zJ8z^}YY@ad+$McT0fB6ni%M519~8R>r!px|KTJ5%OddFw7%UBF+ZQuoy?QlI_lIp` zoz3`u_a;|*i2$NLGve}g^_lbH>!)wg+kDYIRSX@htRjSWRZDpm*4Ag_ysrz@W_6ad z#!`ehXiREyzY9H~KrO#~S-FI<<#ypyu#z@4Re!v_uj-E$@;$zQFW%jcn1(-XFE4vX z7Cc>ucZ$?3_tMPf-QGqi7!x!#J&cV#ioAV$q*^$2dmKqkqi}bJho{gVMOR<9LbbK8 ztnT78vUomS>!d1FSTvJ?#UR4W#zdRb+Bz)Y>Z|skKXSalp`)V%=%*)-R-$Yag8eBz z;`uFMTTZFE+|t}kl7ubL!YQHVP5quDJ%xnf0*0YnxE9G}?8nw?Pbw7$6U)42IBNqdNW zQ{)$y=8_V8VnT}?!3%p%XRB?b^#>!#mJbKpxl@Ho!vlX0PGPIldD=Ct zB1&Kxx#vH!jA|tUQB*?qG{WX1hY1B0rgQ{!S+ZPjBCA4fdnp&)cKZVO)<&#B9 z!OUr525!Vg*HlL{letHx*6hM2ELlJxx}1P+LK^&id=opGb_&IN^$=OaA>h$dln=35i65Z zHS*RlZ4I%FarU9qR9)yFeMqIl)U1M?o!9xVwvLW9Jz&m4jRk&8M#c$mVHJ75hnE*Y zjMlM~L|YqlS+2O$#kn#|!0i=5lf3io?d{>g1UDyV>S;l~+^fZfi{W~STEX$8P;8tB z@wp&0I&SV+c2>`rXHv||ctP)Zaf#d8u}Wl-|;mo814i8j8&Zk=jxZ`zzgVD z#MN%8JKgx`=P-NVPN;=i^qY=MrRN6{~&oZ?|s<*j**}Lr%Ina>9)4E>}n&8-H@cDz))}RSA)4U zJCK;8**3~*vBOj0lp8-54YBNykjAnTQB%_z4_^)SGGa_rMEqAa;0A9sc7Dnl9WCFw z080>mbMY;`g75SDNtr9!uA2FOGBU7uBV&1CLm+n!StYe1> zC#L#x%iTQ`{-&nCxA$TGA}_a}FoS`YB5dVs-3b1t8#bP_YkhS#W7pbj{Cp$?@Y+-Y z&du~GM4H`6dx#)C7kcI*&%MbLc7<}{e>b~3Lhz(?+8rrvLEyV(6uxkpZYkT8nB6as~M5Lx^EX5 zW!Xz#p-8bCwL5Lw^X|`OUtCXAwYmQPmrY5@g_Ih^W1}qW1sjhpeyNRLXbz-~_rls#>urusRWTjHmP#>YZ~JQ1MI^!tLcSxjsm5{fId6~DZzI5QVXUumI>ZiJs!w> z@%7#KJwpbEaZ2k`DB%A|ow=LfG!yo%-tW(%l=btLwyhr|UUp*mRmf)R|E?l-khs-x zr}|)uRx@w4yiOFKvl{LE?k&`=^`ZP7Cc7X!{*7{7qWk*7p25Py!|6&(hn((&5T9^* zyA)of9{jp*#n7)oq~koPQBZ1wv$$NWDw&OLstZ+elo^S!x#AIW0Z@{JnOLAgMB{oTQ|<(Ob4EQD zNFnUK9l?Irs4~B6If5k82|%d+-%B+4`O|&^8g$R5zMX;;7X$j&;3JFXukXCZy!snsa8+%_nu`l8WTaM2kWGOlJ z-PMzW^N+efz27AqsgWE<_O0#9w^!Dk9QclzE z!0xZ-O-Of6lHuYw3XHTS6GD1-GrP=J6JPf235U}AoXuqm)=-`v&PQsli~K)Y{HM$r z>pBA_4aZfOVa4+n249o8lZX7@AL5d9hzsTMJYCzSgGsw_Vp1Nr%k3~ax_;lfTfoJf zzOJ^qPp8YW_GONQ4JLv+qk3q_oW7NDT1%48tB-XRw3TF69TXQDFtQ3{XZldS;pej6nmWut`d=0Qdubzv3PB1iMyI7E z0xt#qAbSa)Yg{sZ7q`*#T6Tg<7^nByN@jk~9TAvCG9LL$YWIX_-comp*q@8za~g4R zakpIzym=Zk-|L)ZY7) zRR8M&0Ls0WY~qfO*B#wTti+VFwOk3yaNKwL7SGUMOroq7y0!j@`!T7S`$HOMqII7e zXGE&)ZsNi%V{CtdccG zE}KBXTH~^~N&1Hf)%c*YlDq`nfB@C_{c9GAS2phut9OT-UQquR-LzOx&?r;5IWL`% z&WiGH7edq#e$>JdTM@ekw8u9dQRSr~xq_3qjKMiQg~{;^_?-O*wLH!ui}Ao1wQ>(& zY#wTeLaapDR86cI-`P^@AIUJ#apViB!k&Xl0bYZ!rdlnQKBQdkSHgjS4e`5s{Qu&) z0=?rXHY}ek%AB_>693OB)(0LtO;cSbRb4q#Yp1KGde;)k*6=2k{)-pwzEa-}^{!d8 z6B*EcWbrdGIy>4A0L?roM(ksOgRw=>fgDDDvq9A)lb!zICEX<=LL$8mf-U5J2(h}M zCe|zRKEm1>LZDwYcbB0e} z`V(GhGx=?whL@@J)!sP6{(d=JWnxX32jRu1vdWEP@mxGPu7_n8=ggDnjgwqRlaK ze~16J(QPR6bM-k(9v&SXO?Pv8bNJRWRnZ`|)pC%g4CDW8ZrBEf$jBx6n$SV5F6&b? zF-d#^aYE8!#!H)l_i|%Lne zg!6lGPmsVL4=Dypa^NaWe!cq=*&76Zgr%9z43Xh4;#UxXW1V_(RX0fs{;cfVovXjH zlFMlu2FaPgg)w)y(5Rxg5LsaQ5*jLd6I`SgJXKR}_K*W4iGOtlr9N8^%Uu;5Ghj*0 zu}kLLyIHGX&~wyxS&-~Hh++SZh@Ja!A7Rw{e)4-daCJt*P3!9QVS#Sa${RPI<=eXk z0rDtyYt3SU1c1;ZevXO|L4s_JVDC9@*|Oj=^g*P9|K3MVx@DG+hHG>TJ{lxtfMa_GX z?8?q}f`Ffm^GAGZi(u!IA9GS_na^hn!UPFiGhB)x3 zaPE~K4g!a0|Ac5Q&$&5dNz;PZHIu@NK4U6LsoDD4I89#{#hWqdpj2(;QoM?gj4blD z8}>pZl00<*gb2d-S%qedS4eUqi{yCaawjTEv1FE`z>M===rY1fbG23tORq*-V&b6d ze}d;c91%SF>(UZCmeEDz$T7g)gJ;I@avQ6GMcC-XVVn+Nx-8!T>#c^xIST{tiDLgl zmjKznB-{C;69B}l;uMUtC;T~GZ^Ax(Qta$?9be&E8WuWtoMPqu_|GMc%Eupw;! zM#uvFt?-riSWR1&$Qg3zQ2#qn1_fq#49E~O;FXPbi~AG$t8;Oy^$`5mFh$vpE_SFs zA=<;T`uL5T z0`+1#NS?x-(1srt;!EQ`-uo^=RPR7-M34hu*ZY9DH^eIsp`vp=uJ<|6 ztgT{k*`LDX;AyFYyd8Pn9d@Cwt&WUCJ@R8>}RxUA%dbma#m3A4IT*$|BIINt2wcb5016^h##s*^ViB%;9>Xws-?(Y_w|!6rO% zr`$M}@&tK~Z5oSyyAm52x~-jt%?6cc*B6fmO!WP??ra6t2BW8@Es0{W&MoI+a0m`^ zDmo5wf9g$V$iHLsHaq0*KEuDLwc{uNIM5^dV(^5zai}*~jV?!pT5am)uBDB|UL|s4 znrctUr`|HL>#NG7qGrvvzKo?>zjjscZq+K;axvsFou;4faU%p7L`lBMJczJx2knFy z;W%PT8NKcU*D>1XplVmDIU2K6(w&JX1ps|UZ&IlSik)7gL zSu9#hy7J%Wqa!F5N{8Xt4HOG!oxK|+Q|9$ni(eO}8?f1+5VOR`hdBo4BQE)MvP5ow z>Jn*y_6vk37q`R#EYMLYwZmwVb2=%^fZ7b54FzvKJjj>lsvMOaY0Ym%weLU_gzs@x z-#lzD9F%;V`+TN6sYrm_Q^9bn7Xf4s&k;S`ZoHo>W-Hak3w02ns0jp8}xbUPj(Zg zIut#`i36=pE1?oD9#w0hP57u2eNRTk@E*D6f7>~^%ibe~d5Wuj45BNzYWR#Q@w1~q z{8ub`sBDsy+9KKPtj5ng2b@BIv-eZU=S4rF8HT?<`~(g~vMhZ%Iqsn*D#em5kPgjB zPVjPexxM9QrK5ds@-$8LLFR9AypD#qI9Rh{Gz`VF<2j*I_vx7i5gv#DG4FtjA|ign==1b zs3J-~yA*_c8aA{D@W%AsXQXQO*{JZ7$R9X2TS)qRWnAQ^qDzN|pTHJbRLf`dI-3)Q zkBXPUeWB;S)xmOcV&ePyqF6AG{rt3sgovIo(gm&a!TN!$qk`X^Te?Xt5*?Tyb-=^O z;B~WWNDtyWvvK-o+qcUhr~3DAu^}FQcW7Zr6zg|ifnp{I9Untwmym;ve@tKIaC)xB zrw_k8HLb(45;{x}b%0Eqw)kN7f{AG%YB20pzMZ&Xo^mElnA(v!tA>2Kfrj_$r&_zm~Y|4IkNvjqOC*r#{wn1NS=(AE*Xh zqkv~j43nt@5o-<&W#jH*v!<_~kqWjX0u5*}t&H-JZF?Fskf(Y@tsw60WFH;8jdfO9lzc=RN!6BJ<7xmBo7JZqENemu}H#I-=nfFJvphqbRp#Dn)s&hB(YZn(c=L5! z=ZCz-vyn_c>zUeKo?#AtDG554@Rsy67w0{{__sC_L8eP?<@fv^>%jE*Wruff{?)k| z?|pM2Us6%E)76aUt|wY*%)`}O-Q66I|KebXAFCG}FikF)b~ORDOGs~%bqC$H-1X~H z3uY>)_Ss|iGJ#{2iMbLzk(0^EB4KntkhFFT*JIDzL!I3QQ9(f|8n;e$k^K69b#5f^UVujN)_N9=zpdk8y6Q+AY4gCrq8&Q>FgcY0|tZf$0* zxB#tapVXQubE*?#$G8e>8_tqiZ%zt5<50{mb-2H@yI!)Kk*iWOvW62#YATjxaOAXZ z7sS@<=gB@rv-@3HlMhUykFBm_{EHzqs%Fs*HwB5Ek_x=x;o*>XmIoC$Ik`(rU%nMN zLnO>t#q(`|X97x87D9QWijpBxqmSo?IthzgA?nuH#I)~ml$@3-49VBp^uSBy^sKZY z`DH-_+f}qS|5IqW9>!-HuGDEj{cOpJ2~HAV0j&=kkhfENFJ)v;$QKlYOa-mYzvOz4 zei_L%mX6-pch*EWcK!qZZ=1ka*JKI*q_8q_+A!pBf)SKVciJj931$1@cBuKF{!V#+ zL}#d3mO>D!?LuvXrD;lRxm2%Y^AIcZYSRdSK@Bs!V!6g8g0?>VI!Z42aa9Xhe8nv( z{yA1cl-M1&kj8{i&Q`z8>sck??IB3@p{;uJ?a8K!@(+C8f+6+)BE4tvemoyXB)}-X zFM6X9;?&{LhwS@0ILo)%X>onyEbqGHliH-Gb(y+tF@%3*#qc4zSOrt#}RtK71)l<%YAGLT_4$WXq*iT0QCEe_;$Q z9f2G14Ku!|z4j_K2gCqv{}utldfV9XvFfGXbCTPC)1;(b7U^wEgZ-y1bD>8|%Q*sXg$_5Un?vo4;OcsJ8w^qP969Ut}iD#T9!MV?}fZTEbcWDNk% z^ErAS^&tf>|3_2nttf|1ojm^vZf?4Q)3vc03R*TTjZflNaD&T8eF z6)(WWA2wq67D}wJ3WDG5_aPv)5I}%B>R4NKwAj-X+mKyim$;l!WgZq=txx;-@)(~6 zfb4Kd{A&&`U64E$SXC>!KA#8MV)&dMY}7b}=Q1;Wmm_COx{hiF*ZoH@JhK7%wPs0t zxOu_m3wIWZuDr?33d%=(vh>7cJ62q8pAonDLeOzy4wfbI@ z5er^r!5>Xm{b&OMs2U|92$+|;rBHTkG3vi`rqg8BwiXHBi0`9v%pmZ7@U42Ik1N!i5YH&B^VXx>HSMGR0IlI5FnYRS6>S9q4Fo7yu zS_aT}Dq2I-IANWUoWDD%@uM#k%CI@r1gsc&0vCFJtKWwl{S4WRot&ZG>q18=~at&xVxG zZ!xF~V}=*9W^T=+6vmmhR4ArtfB0%JG29>|6N`)em8}97zt?(>yz+83*yxLp4GW1! z!CDPF)NXMs*MKrl&wnx`%If&2!+NKo0mmktj<3q1cd>~UpO}F$`cO?BZ}<{|8PKi` zi;Jy>AlwzdLKpt4uB^VUY@Td5)jjd_68Z~EBvZwaOV$lT-|fXYT%L z?csi+zWi?h{rQmSmu}bD!#DR#bs_;d9CIuS&Wv({3nk~B>u|+Kw)`cI*8%pm{-z`K zt;6CD=jRaX!L!9WRmATOvE_Dy-(F<)+8-8I4%C;4MH})jwTbt;sXQJinw@FE>Kv0; zL2Q#Bb}vJdfn>7#*+>2kVv#2IUL5U=&29~&?63&*o8v1)W?lXzIAPV}OQXXkk5a`9 z7BPuTU=(G*J~!2LzzmRQIW9?jV_o7}2!yb(P1YSPzIF8TL#Apj09ex^wr)-0OU&>g zUC^C-?`bCDe``m7G`%V+)0wfE!b`nv#|<$9+f!|iiBA%iN%K*4o{>&KFyUA#H5mKL zgq4wsm17bm{c{`18eZ|yK^)*Hm@O%<|*)yNdENyyENt!%!draYtHR0=72r=)S zeh0eueyVV3+wy2gs0A&k|CZ|G^Yg_l2ZUU)923VzKMUuHiuuU2-KEaolpx{bi=F^t zHAhMsu^sF8X}dOB*}$(5d99_6UJ>0YOBpb-kOqq>v3vO$28T%;I*9Lq0nXOU6awN_ z<5UoR(S77l8(viPVMIsZ`-h_sV);O;_=T_B`y~%5uW`|{%_~X%H7Awjj_g#;veAZ8 zYO$$H`FB#IDJGH|i^Yiwsdj0p6VyPlbxQ_gOR_}$4$)Qm5EDzdrlHCt9!PGEN>sT{ zDYtSz5IXfl4uR#Mw&VIt=1F?T|p#4fWFK*cbD+_apb`5p4 zsuGykn#Ml)N5S8ql(bp9#jHB`=0ijbB!*a0TMjmM<+s}W<;cGjg%B7N90aOB623N| z0v$9Dwt4S^gnVVUqI2fw(Wc0e3!+{|>U}g0Z;eU)z-Kqj%$a9GwK7u@l*3%M_xTHo z+}qTK)Ax>j1_D&3%ww0@LSBuG=e!4eIM4X;<7tsKa|^yI4E|dpKklcM$}TQZUVeQE zjcScwb9|K0~StSUNL5XYxgYPL3{jdxR74yp+Uz^{9+p;Ljao zvi|7wMlQ`SCDa79__oAz1TSa<7;X|rI##oHom)y4(W6tlsqLfyxc?NL0K_IYU95lF zPE?g>YBGU1OQ>cm;Xa>RwWk8Zy8E((t6hMK!}~RbqK#l< zKXv8rzZVB_YcTv^iKyARp1F6Nr6#HHp#*E$QFUM#G6D(4OO+?0Hj5X6Kdgj<7> zx@bH7H{9Y(wlj@!3Z4#*i>Dv|o|t=$jO|DgBOdcM5E(SYl!P1*>dwN_KSYh_`9d4v z>eE4zO?t1A#Eo7!kT4b+G1vZ_Oyy=`!c?dL+Qc^9rpPlSaU=bfw{mh_YAD#28zr=I;_x~kg_T4r3w88;itJw7?QLIVnnOCw zTGH6)6Gp%42?gfyg)T3Ah1c&~@sun1^sn=jO1>J1m1KrV&pf50Hm~-NnixcFc>j>K zKG!ry0U&=&K?wLB5pq3y(D=QRLI_>)7=C3i%0yEW8er)$}p+^=CYM0)`De z0zuZu3Cu>XAC`<^b!r>Nsp?a^QPFqM@%b>;_rM?omP>ciDmS^7$?HZ*h{vQo94$Wi;S$NJ&v3`QAS^0Z8L0mD) z=FZRHr~Fa%Aj!)1&TVQSSdCjMr#jfAW8WMaD`BP(HuMIGAfBygaG<5vv+)IL*Vfzm zpkgrx@Vk6p|M*~k<9TUaVXx;%I(pS&j!4vzOfH+X_6mCT^$Nl4IfL1?X8EM-Y3hg2 zX@a)L+eetlnxEh1lQC^b3~+&_HApA7k36}@KnTK}Hewa2vuUh+QOWi-VW&tw=5a_z znCA%qAh-*#C zGs!YVYmmstc}FwM^ta<@Mi+l$c8XY?{W2$cKhUgJ8kE~qm)ozXka_u=`B3E9c@5>M zVG6QVT!4)9sls@Q1eD1^sjt!8Hl*UFIjGvNbnHA( zpC;W9w@Z!4%aL&|K-5Jal?n*(uvqJ~GIg7NuHU4D+#EO9-s}lA_PYUo#V&j%-_TWe$&F;{zPltPcJm=cbV583)yBy)l3S}(JNJt377vZXd ztdk1klM+hQK&X;HN_0VhkhIYizT;UU5G0gXy_Ih{i~)+ZLxe3a*BdlFcT@ac zQg+CctKlrH(_Se572Njk-2D%JRB|Q_v7f%{<-{7y28>g2R1ha6U24rDi`sWNsbV7E z{eJcNoA%?wFcJNztK{?P3gr@fWbJL#;|!Q7EeKfY&)%xvKs`jHmMW)k7ibj!N4#U5 z+78F)zci$!0}*YSJ~Piyr4uH+59ogHeLP7v+l5yVnGsK(rfg^;F2-u~`gTJ)tG&uz z8w_?ygQYJ_!K$|6X3I?Hy#|!3Fz{kAzItjhL#M=R#YeQC8+kA5dzS*jN`O^UE;?A zL2sELSUvV%zrOW+l!Kt5p?3_Mp?#O2!xVc@(~>jN?J+~>D!2cw8*_K+jf!6t?OH}M zbaFYZ!FCD*>An4W9LBBP*-DGW$&nz^DY?^<>wYgk?>FH2am1P^em6Uq`C@#{V?Gd5 zkP@5x9z`SPqwpwu&2twmWH8U$Z>Y7Kzi}f!+Z0o0Opch0ej;_oN*|U~hj`4Xv^1|| zWar~Tb-tbLO0{CoT~fpXGZ@*= zfLpkpQ2AS)^22%R7@;u$Cr_N$O8}0Yx-rOe|A)YUnAlTP`i)jcRcdHGJ}wcrXAU}c z+H}18zAmLFhJT;9D2ksdSnaXZucDj|TE$lZNAtB{8x9^yXbV;l@v^s0s7rToLZXF$ z&ld0AD^iH4tE+RF-u{ra&X>y}L=~0FaeOR2=o65#sdt6xULi691yk5->rDsxPlx9a zaLI4H(%&C#9{rx2F`~8_3nr`0mezGm7QvO2APGo|)y9Z*c|v z9c8{PB}(^u^Rj6wxZTFVbqi^QQ2S@!&BmDHAewJ~#49ewOI}$D60@B5V1{?@pH4|@ zV_3A_9s}z@)6}W?J`Hb#H#Ltd0JlSqDKuZ#an91`dus;Z_oF0RyMDN|mLnNnQjrvO z*8SyN!-&F_FfSalK!=9(?F0J{#3MkXcbct$9z^5Uv&0(#Z2gS?qZ{A*6rC!}1QYei z^-ya4rHBdx@nm>}!dbbN-+|+e+fu3a{_lhcX&&=BQGZ2j5*tYkRiOd2v zsFb7Pb(5EW+)ksW%5lzPHvt{#wVO>SQY%)&fz^IOP^*H&a|@eSN9*6>Z!>aJL*__U za2?`Z#GK%OZtxO?QDhR3@BA-jnjUfrTXXi{Pyaj?)83l*w?4+eGdwi zU{G4ncYI5ZgxymSoqO@eXKS7!eiElUHjAIUFKKgL+tX2chJ|!%b)HwIMwV;FO3>Mb z4gLK2GdVd?YD+)h9WJ`5iAj2vtQw8wKzc3hk%8^nxXaCJ+5~=gC=F(SwNTcKX3O45 zsxbGG1ZmPdxwm89+r3utJxzzd&j&_9J^nV&+gCzf9cCIz={Aq5hG};n3xkCKk)0o6 zftln&4PJ0kq82>0U@Ij2QfM3R-auFP)LwYSTHb&s$DVt_h=E3Ss3kSJf>&6G!l*bk ztC2gS-Z}t1Y$)*FRf@LEC(Y34e5#Y`Ct<>`nu&EPhL_bZUw$&;l_xp$W-{2siVg_q z&L5ttU0k-hI4%msJJN7>@&aL_W(Tq$qXSVV`|h{8Uun*Ey%36x)mOoY{ouNP?nmEojo>~2 z%IoQl+q3iAg80VoiQv(BXm88}2S9wkmr5e z@aN&Awz{3%x;HMby}}y4nR15%Ng&>w1+um~vAl}RMF=j3N%=UA{4GQb9ro*I(RIs+ z$9IVw!a$=k>NWohGR{I=a6V)ARmdY!-_2Vd2E|OL&27Jug-rYguRDu4hDa3A$|}2) z7zi+|fpR)YXd7wLKVfwUg}O020!aCY1@N))9TWFQ_B)qRYc_|Xp#=fK;rnrDbqFk{ zwJc6i!m-qIw!Sq}{tg^G5x8yrc%)Deh{)Ls_NbKx3*C_0FojDPWdKc>xs7g+$ZU*@ zedqVTY3+)lV8O2}07+z#y=-NF5qBVH=CJY=YwFa@7WYz{*PV6)5ON?FCOg14Hnqa~ z`5(qoP|Vv;sBJv{p%i4y z!BlASTL_^9Euit*OXRCUzHu&hJpG*G7^i#g;$P$^pHGZ#IC_7ZaSP^IycWWcB#2?spQnBK{wR`I^b@|kjNmmhWjH<%e0YP_kvi<#`B%P@ zr^R}Vxeyaa((03znjkUbIYydS~-8sF{UQ{O|PY#!Gu-goz0g!0OXzIdwc}DoCzPV3kj-XP- zk1&&HAZ2()h;U%9$;|Hd&i3~1_V$;$re<%HStIsfTqIpF8P34IPnMj45~4C?xE-PH zjPmOM?l9S;V5N2u>w8oL_Tkd%Z^j~Q7aE<-gGU4Q%Q2)i=GL8@wH0#76@e(=yO*c*UySw9%gz9LycNtcoT@np1hn3v~%+sgO}a%~4>VVfOkl1^zF zf4x#ss5H-bG44c(jpP}#YA;<WyVrpi>s(b4M>9tDnxA)uC3 z7|j&#@NSH38v?j9Dz5_&JO&?iYty8rrtUhg12Jj!r|P8ORx2Ms09siEpi)>Vrpe_g zv_d46#VOwVt{@{%6r&?2)hBoY`r(4C6QJF zts>Dc8W^AVZi)II-=E6~eoYQp{k~#5HZsFkbLV_0%%ilYGw5i|7*0>$N5>J|!7kYRnY+rY9cf4TJ(@Zik0g3c6 zv69#5S{w+~;L-84p+6o*L$-eH0Z}SG+oE7*=ROpd8cwJVocj%+b|` zFBCm>4Xach|AJN}Y)Itr3H$m5Jp^nQ)<*#NXcz3JP`*Qq`^(8NkJp@_cbzb)0Uh4J0Km@RHuZ;_ z1=->ltqq4`#>OM_!@Vzq%=M$m0h*o3r*P{9sS?Sz1~F7eqDN;-BwG63u$ZBf~cX1ETJQ1j2N3p6kgPB=ayFpFYXy>$hzbe^0%1s7N z9LE$|PK1qx0x!np1WUiL>Tp^-9qs!*x>nizSu@&n6TJ3ZM+`oO-UL1Sf84rLDpvbz zE4lNV66-`eq|ithw9^no|Kck#_(R=F>8Hg zaC>ynK5}S5=uQZrqYU>CsY3!2CMYmNij@Q3Us~`+y~U0cT%$YBQ=!8QeW+-IF19A2 z*wrTd?U3Khw)DUZQ$Pgw*XVY|p7sj=cA><8!O3=)3So`?u?ZG z%`xKS)H3WMnXpcCiqR-4%XpyN;btT`YJu z?_aATRiOBW_r7Vbe`Nno?QrR=Rae8HD>Lt8xk)ZpN-6Vla#_1(?F~P)R|)n==T*SX z^6IFT>?-7?m+|`gUi-tI=&XL^KZsPNq{^Aut$v9`2KL1mG!&togEfu{xfGb)k_pL77F^% z!Z`$?Jn7FG?cj9D?18XGKd*~k7;2Q(Xo32LL_A^E?9vjo^X;Z%gP!Qii0$PoTFf^Z z@2D!>JgmcE@X-vKTU`5-B*VMYC)eE{;K9N4d|n`q`%>dUT!-Bn#hc%$@WtV?)@Plk zTPy)smD`OMRplQ1lYs$@)X;ZiJD)KeQTRarul@P0ce-H)9Iw=zj09CEW(i+Rb@;qD zzsAhHIL(*S%-Hj{E4eneF`_JaEV{rlF(v+&0o zzU!NZ3Vc+=z!ojN=y!FQP8$<~=O0~JRL#l$RK|-dc3$Iw+fEhClvfD**sKn-kEKIz zM&V}@ZNpVtYio@T5pChzu|UnTRm_0SZSa;B)w>I2LBaU{&5zqoB}ja69w!JyL*Gny zgyMOUFyiGb205N?X`|ZQ|h}DbK9t8%@SQqa6XF!&cp_;YNpkiIc% z`YymLdTI8Xvv>HjoKCR z#y+Ri7vq|O@rw_wlcNkNpB1d_SdvvW45~hBFW&kc+pOxvWt2(cZ^MP%D%E>%5-fF6xygsU^h&#ZAZ3J- z=;3k)2QfW#^@EFh@WDkwZdDlLsa}$I#Cq!+D!I)J(J3n4{*mnbWRcvIl9KX8s;{kV z3BCh=5aiEzMU+NNKp>sVG&3_pOV;u1dgQq{g7|Cl{QQptd%kVswLx)wU&H}xXM>tl z-4EBT32u_GUEd*eMVFJ~;NgKA!iAwHvu)1&E4>~cVaFXgIV-FEJJmg+=qHOvms%IS zIV6TGu|5(92PrWStP%}2$`9Rw_j>LF4>Ds-r%mb5k+tLSFyWHikwbgd_wT7=WJI3t zdt$%2gdu($4jYu|6Z6YzydUnP|5_XwC_&f=FKTXH6oFR-G|IgA8FEGk5WW9*JT;$N zd^Q)^BxxRlI`=%PPnrhOE4gxVawZ?u-9sN_NcRTmtFu-}*$oIa-#ug(hY@@j=M&4` zZ&?w2^{OY4{VFNt#d7r<4y&cv8vqrF=M&4w;GmO3ru<(tbpGaMeu9m{)79aTp&{ds zWVg561@uxD-+RtEaquENAFuzP-o7d-j^_IoLJ|n>?(Xh3K#<_>B!j!V6WoHk1q&fS zfZ!RN03kR8_u%dh!_2?){p8+tU+%+Q>-L$4p6)eO)m7*0+Erb(2a;FS5SRi=(vQF% z8V~8SZu9o$VyL4W*a8fO$uP(Z;D;G;hy7=j!T9xWx5EepzMZZ~HAG4@Fu#axO8sVhzb0ULFw!4$+;|tX+0H z2>fEE|IC0;*&)ALcc9jxH-W6hVw1D>$vp>JBcraryWnA0^{0QB7rpoD$}TzoB}xEkS~TJ}j5GpO@ShJrq4S=~5+a4m?Yu zfD6!^5AE|2Vas@ujxPFN-Bgopy<}NjGzz#0Y_qU2)oET75|CdPM%Gy}Wl1XHNo&qweo(HzYVOE}%z&wp*PcE?H~cC(8us$*v4+ zbdbZXpS?>q6~)Cp#o+;Q%1SolhQy671D=MvMV*~J!(#8{OCuv;=+?RtmU=TF8R{=z zD{x3jFfu{IE@S}eoNt=f8Sq-hxJ9=-!nAbs^eVo5kz$o$_0Ek0?yi^0d?n%Ij`g-O9l4NeV$#e@;o2&V?cBz+z)0t1p#&leY)reo z@I`!CWZsP@YJplyVc=jRDTJ$lJ8#)gIh-bc1f3T;9h7W+R++!wS!-@Y7)#47>HI0(oQ;JP!PV=2QP zqGZJ_KS{*9mlXgEsxWSrQ(+~N@ZqwvJ|@aBJpX%8ZY3gNA0zn`U7fiGq#>0_Xqi-rJE6Ig@OWO0h zb{{#u>mHQXTtbOz)YQl6Yu?9Eu?By+E8d9y*GWLthW?&Ztl7Lw$SKY14>l0>EQ}(C z_@Mhh=`+Y#z^(gv!BlriJ(q!wOg|O@NC&EM{u(&x+K8j_DazmD|Jcj&-EH#*z=3Vd zbUV9!3=9lQUcZ&aZTFc0c%JYiB29YUa7Gf8A%5u8$EBj00H6mrc>m4*Unj746?X)p z8mYgw_-r^;vQ33Xw=Fj4D>DV|o7UQ|NdEyT_oANKKl-SwqtSVINXOmWM~JsQXDPh| z&iSZ_lXi`bjXJt|cDDA7LHF;}v@P(mdMPBlJ)^VK{IGmQ{Y8!9g2}dZP+6<0Dpf~S zViEs#WFLuwBQeu0dH1!nhN_ng6Y-8*xpZSc@rcu6((sRs<$gzDXI<-(v+APf65?Xv zw3}*H?L$BXQH`1MF59&2E{_h54};sxINUx{;Kptp)!MY2tX9sZahV}K;iC7N)0vBi zkk=WgFs2<-9NYMh98sTbZ*Q*`ufL3X>Hpxr;L~8po;iq(7oid8*aJ~5O2lVu#DfM04XQVmBN47t#>fQjDja^gvtWwH*)i2z z@By61rm?7*G1ZqM$`Wa8s-Qerl%Poh8R0Zcxi0HFWI1w}kTj1J6!IXx<%v=tU$_c$ zEAKH4UkPnHx0dp@Zq9*_a6-XBPrBt4&tl$TvO-hv;VG@2Ma$pKFwzFmC4J7%Leyv@ zh|#yltsy7Nb#?L3m+?cZEnmoOEmsCvw+J5Y?x`cRw6*wt^N}(nXoCuJy*Zp#etO~O zba?)({vfvR^M*b(zAFCddBBDif-fC$)QVcy@!@HF%i6+EM=UNZHB5zEwSAH#zof&% zgZTKkmZN3&t!TQ#maj<(F&wPytQ;&s24}AQiv+vsg)Q}U_4Rf3_V#hWy-T$N~P}Lxn}`>V?TUAX|HKhX1`(@G`aI6=}&(! zql>~ip16MSI9i1G&5e!rX|e$Uc~wyg)ah%&j3)t7GO~C|A{>P;&CQvEmK&cdWr{T( zg#QG;Q__mt4OCa<810+yJE*ir?`3|IThbrdAFK>@_i!)ek~dy3nB4c=a6l;XU>#!1 zCCwWdF{aX>jbN8IH29F3D+lPfxVj4iE%nyqEjM~qO{KG)UCxeR0=UP9tbqdL-gl|Z zPN*CJ(>!O8W9W25kGWmrnvydnMEBh5LF;oynY7;7Ye7!Beryp^^DD~64Gp~@4IcBz1l!` zFW4RuG(RNUD~D&kyQv)cMVzZLVW~A?S&6Un+m`=jnlyT2@5HZ({uw#eGl8aRkS#lh zXhF^A&!4AONBFsf#sflcC(K^s$mFuC0@rJbJH>2;g1N*N?L84&-e;rz!1}SKA4!F< zie|)KJ-P(;N#cw$p_gpddaKI;UK+PQMGrltQ7oS#L6_Io#^XUpaFI1uFs4mGiIf5O ztof0Ez5R;)*j(&^tW3%(wZsArsX60{S$#zX3yo-KS}#BvN;R0n7sACLxEmBN414?# z5F{oUz0&-?xOy z(yHe2vPg<{?z!Or+dV#Z#k6C`3Rv{rtC?1E7fSfeHkZlLri?`AFflOz&u~Wo4S&Sk zSs71@VbEdK1s;?h-)d!yc1Na)%IIn0AX*R9_^{OSKw$n$5NbY3blY$me;~VB7y$R( zQrJ)-dsC0_-kE#UDfbOMDontDHU&UGgQSL&Gfr^yH;-@e?bv?8XJj*PPy;9KhD zQ*FLPq!CmRT_LC;c8V31x%Sas2H4mxM6@Y;SA$br;Py|GwyE-i;%k0-f_eobNC>9g z2tR72?p}{a>80y_HSCfP#%sMiEKt_x5D*k#{M>F4EOI{lg{L&1Q3MAG;jE?GX$BBx zN~{?xtl~sKcu6{;sX3u(2WSM{Tp8NCv+_(#(i0#&2-D*##+Q|W-cafM+X!#H9NY?X zAcpozm1P;*)Zx+;-bHb-F@D`aMI#!`g{JVj2G8(LK2YK0>SYj9Qy+g$U!*_c1 zQBY7~YLHliUl4#~etE`JgqObdeIp#z6yU(XDOz)tq_rm3Iko(`3@Wq@>v+@}u3TKq z4-lz2sc~N$s@Jzdta>&*Gowx^A+l_KcOftg^joK&)>8bnZ7c}@as@s(1tOR4*qR25 zvd!~){smCy|FJHi2(Z2L!HE$V9P)JFWiCa!Y*Nz}{Ro8Tz+$3T?pEKnYgs7@;IVce zu8ARXWk9i;aRTytg}pGY6$@2(1qGVFHDc?aV9O*@i8wDd4+6!%NAY+~*Q?J3##zJo z%Vs2=H9iouJmAPE@iTCNYqgow4HN4e4@E1gYUA6~4i5GuM?#pNB9beO#Q2m679^i^ zP<0IrA=gXk>GbBWIydEX40P-iSyq+bZ_j>PCe1Vsp&qV=53DvJ2)Ow?!byMOK8sNB zWekgozD5mu;}m2noo>!$i`Hm>V@&1LRImi;&=w1t-=Cg@1TA|v`gA^s%-)n59Y^0G zB%CfjAkd4;^1N?PpvJy?e>Sfwn75TTT3-<%TfKx` zfPq$H3rDX8M&cIWQ^7YIlAjOg6L0Mv#Kk4D6^=Z}LQpPx-I2HQLbNqp^|yRK8V(U(_vg=y*SQdrz9tzKD<84_+5{^kdtPE61I16#M){=kCu@@ z>_()4&)|vE+6tMSn{D}G^xc{|_;Z!LaX@}|)5 zA03SdNF`FaLz6e7$w6CpGy_;7FwNx67N$f%$mcTny&3U0$^RO#3j6{40B%tn{5MgA zpQ7*YLjRv_faUzw^Oj#o(BqWyNxT${Tsmo>YbZCxKZoFp;%hK)Qd<`~S%frC;}9(c zm4aGi+<~BlSRmhBq~WTX&xwck+OCkJi-gZ)JE}T99Vc6pX(r=Oo1MFmw>b)By>9{i zlVFj1G{scMlp!jgr#HBtW+Y9c{~A_5=DH-T>q;^>S%HBu&F;E&28J85gCX-Q^!-1n zZq>8P67q}0IQXU$>kiH18L1aa2K&p8d;mR8yr&2Q?AbZeIf$??3ESP<+uM!ghFw;! zxa5zFbO<=)jlmmxdDcf+S-F&wKY`L<7qF{=tC4(ex1lTS$WOJFkwM@Ejpy-D(?#k< zhJ(Hqz8CYZMnZj5(xt_wg-dNu{-w5>#p}{aL$8j92Qv8e%gr%TjK|<*{nD>E0r6SY zCOgNy;^lQ)T7!{moXO8ga7a>8bHmJtg%Im2qDK9$(k0=ho%LFSo9EVjBL?~P#J%5+ z3Kq;=+-908W2Nz!03u!Xp)BUpXebO3Hl)O$n99>&jtl3*q4_km?|!>8`>vKCzCSIT z$=KQyTyQW(cj6_(BGrDP;edJ-|kUyzlj zuWPuyb3&MfO+-RrmlIL)r51L}7BO+-v}CbqZZn$GUnAva#uH_RmPROff0c$(+-&T0 z(R-0snJ1kVmid|M8aKcVk6X*g#Q$b`Aruzctr$we#%r=-LJ%4E(CVK`okyA{7y`M! zu`2um&5tuHEr** ze5hSk`7Y~cEw4RqkJj3#Xmr5Fg;{w*Lf+1^xnEa5u0oOSQE005l+kf_M6w&yL%<-J zFW-y4H-2Vgj}g_82AcvbDG&lm*4A*vQmKy_1^_V?slh9 zWzt2E9*|yOZ4EH=aSR*jReyzDU)3(#TB>8@U8b`tksXpX%vy4&8XLLR6cyJX(oC;WO-&mskeFNi9fv&xN?w~>t#cn861m(pVg25x z%KbdNr)Yo1VA)W$_NOWLH&HG{!qoe#tDVzxCOvZKej|4=BcZlPCRFy)JkhtBS8X!^A zdZ#NduOKfgM;)<&yP*`XOhnK5hf(TgnpkA~$gja>JkNWtJQ(I z-D3D{vFkfHa za)^V!oM=q(tEO6B{I+y_)=cj-2rTuv^1L;mbU9{pU%KjN{24xd*jpa0&sH@$`i57t zp4*P5eC~Ak_w>Z4sRJ!OEkE&({2E3<)vb`ag?jV90Jgb``4@hv&^Evj@3KPBrOs=? z?1hRG^a5P_6Y15?)tBMLZB@oA#h3xKBkrq>P*74j`h<(gc*^eZJ3m zk16qo-%Kyw)Cry4Bo#5o5!0iDotV<8 z?9aI`;%@{GK6fv#ZEvb(_5;kO^7*uZ&AJ=v8=NY!6Ie$#W)J2-!hfKc3pZB0BN)!) zbL)CKb!GU>lQ=3?Je$Hlz&{!mea$b8?My3#-izYS+^3|Oe$R#5ilSd@EFsM8yM2*S z8lCu{3^hdVe}>2FmM2K7;FxSKhdue5q#n)Vi?ReiR`xP5Pb5Mp)mA1h0g9g{J6 zXo30g2jg00q_SmBK~vs^xBMy5zgBvmp43-&Nu!GEOD^pDXLMb@0^lM?6kn4LUiWwG z1rGPC1(nb?Ky3opD|_S$U84EhVZ#l!?y6-8Y1y>XSL`8WQwM4kVhkAR7x&QQZ^`wk z^@O_dYURTVd1;RxoHDWJNQoz_1<-TJC1F5Ial_-oz0?^A zEyQws3OsD1>TvLa)d%`7RX0?wi2#*fD^)zj8BeZQYk}L$7g&mt__n3ZLTvM8- zhIEKUIaTs#sW1YnVt~S#2~w+q)rnitcHV}tvk02;E7hr&;XOl}pX?TGxs9qh=%}H*%cxvoENxrRD5QU{}yq1 ze%+TE_VI*LwKggt|3j3Yd>5vCX`Q?wo}j=;4`PWJ_6iATk^%w2buIfWT0tsSiCI(R zrLs=gd*JxCfxy68EW5p_QGy#o^>2g2VyTpLWMYSS^hz zU=pizcGt6s3^-r#*&Wrd&1l>VjS_dqj4#hOkpFEV)Eobos}cWU>A}CwK^lqw%Ck59af{g@XD276Dtc=H`LLau>cx=yg||ZQ9Hz|~ zn0XivUQU~GQ^yiI>xFiAlbax|?}_+FS>%3hVU$=wM?(FiWgPw(NChu?EVy~vt$GV7y*9CEu$CWA|u` za*e)MnN9MK&U*R2H{n#DW$}6OEFswiHfEdifwA-X!uK6dQM=ro8b;9<0mSwVis}er%6R@z&T2+%#5KCWSQ^C$(5ArLXEJ2n#%rY`EWBWJu zvTaYIn4lZWIUZgDUd(ZwKMUX-Jq zzz#XdxJtCD^r{V;j?S%?Ul*|eJK+*3M6G$V->qJ|j~r#!Ds{H%1tySP5eIbLygS}4 z3_hVRKrJ)hL?g55AKUoZVNT2lKfPZHX_KIzHtu>ZoeWI>XgQzWvPD@SuZnfk!mrM! zG6mxe=+$P*tSzm5C0yHC-XQzkP}z*i^QlhJ)-luZ(Mj-8$Z5Jx4z@D?Q;S&CXKnd4 zKcGL-8`HNMElZ;B_SC8DcI=_`g2YiQtjwrrSZ&}Rkqfr(E~iOPhAg(hSw22qry&kq z_-XGRjfF$^z3R$}<=qWx4|01Ky&rQiq&%c@~eBww-KMm7+AR?YMN(}8sC zbUc7b5kJ#6HakM;gW9t6bUvBnMn3Mx!Nkw611<-79H1v|#xBbKQxA^Uy?P+WYvc*N zuFiK!>jnpvI{0z`!2%vKWEm>#JW*9?tgH7U_g;r_L#W%z-qYLjr>#7H@{!l|*oTiK z>}Z6jk(Y!c9uO0l3;bf}1saj1rS%)03Kh-(|EH-}v9B`q(AE&1^>UXf<)r5WZ;-c) zuMzpnw!eufab{V%jO|RN_eqdV`rC0=b<3FbVBCbs5t))@p|)hejI)V9>w z;#(N+vp0{W1jet;g(zXve6-ft2|KYWW_C@oqaVxzsxEYOyX8VY#y|TD6)=QnU8D9@ zRTau6DcP4siJfZjg@y4S<uF>+>l+kRO#KvY z(&Rt$usgTb?shqSuKft;OeGQAjq8yQEbuySs;w`*8PP_cHoX!SjB;9Rer4iW&x!gE z@FAf(W*qv4%0rX{65lCU7rKLkp zi0WLG1eRJ8_LY4qkBEr)u-f*Fs37LQo(bP5i&sSUdt6#V?(q7o=fli94)hJE%_SudB3V(pFkl1h zjERX!7^Kx#4+j$U&XbVGqr*nYWH)xNz5}ZBechyizIMx1T^U}EIRHZLkoG^Gi2KwM zIAJ~xL&HP&jS{YtiV)`i1-T*L*nNA^$Rs)LuHrAj+~{dF%1Or9yG!RWr^u5_OKkY4 zbT;x2T_Fk_w>ZxSSJU5SgYRIWx0?7EnJ>ET@`!@kSgBEXJ!VI$ms;L2w`v4dWSeDc z$n7?{p&l}%Gz>g!!Us~y z4D;W+LZFb&v%tY^T)&vW;o9aq`O^kumDVQFlOeWII?`jM<60j#_OxKx$9-)qW6%m9C7SqFEepE#8Q{i(73%>v6M8~bOH}aT;W5x5 zp_ctP9Y%26c*z$07wSRp^`L`k7G>)kP(?zjt!_mQT`^ z6n$h|1D^tK5V%pMB*J)YSW6a!n?(I9n=0!z?}xsY%0b>V^2&XY7?tO4_(>pqYUQ5X zJ6eS^T=p|EJ#XmK#!l?-@@3(~N38cRDiQy|;b`Q)RF1#qIo=b^f63eb!R7vceubHx b!EF#CmcnJ)e?+hUouXEhQ