From 4202c4b6a93602313a5e510b6c5e5d2024653866 Mon Sep 17 00:00:00 2001 From: Emil Ernerfeldt Date: Sat, 2 Jan 2021 13:18:21 +0100 Subject: [PATCH] Add an eframe example app --- README.md | 8 +++--- eframe/examples/hello_world.rs | 45 +++++++++++++++++++++++++++++++++ media/demo-2021-01-02.png | Bin 0 -> 28419 bytes 3 files changed, 49 insertions(+), 4 deletions(-) create mode 100644 eframe/examples/hello_world.rs create mode 100644 media/demo-2021-01-02.png diff --git a/README.md b/README.md index 820bcdbe..40ae194a 100644 --- a/README.md +++ b/README.md @@ -45,7 +45,7 @@ If you have questions, use [Discussions](https://github.com/emilk/egui/discussio ui.heading("My Egui Application"); ui.horizontal(|ui| { ui.label("Your name: "); - ui.text_edit(&mut name); + ui.text_edit_singleline(&mut name); }); ui.add(egui::Slider::u32(&mut age, 0..=120).text("age")); if ui.button("Click each year").clicked { @@ -54,7 +54,7 @@ if ui.button("Click each year").clicked { ui.label(format!("Hello '{}', age {}", name, age)); ``` - + ## Goals @@ -66,7 +66,7 @@ ui.label(format!("Hello '{}', age {}", name, age)); * A simple 2D graphics API for custom painting * No callbacks * Pure immediate mode -* Extensible: [easy to write your own widgets for Egui](https://github.com/emilk/egui/blob/master/egui/src/demos/toggle_switch.rs) +* Extensible: [easy to write your own widgets for Egui](https://github.com/emilk/egui/blob/master/egui_demo_lib/src/apps/demo/toggle_switch.rs) * Modular: You should be able to use small parts of Egui and combine them in new ways * Safe: there is no `unsafe` code in Egui * Minimal dependencies @@ -97,7 +97,7 @@ The obvious alternative to Egui is [`imgui-rs`](https://github.com/Gekkio/imgui- * Egui is pure Rust * Egui is easily compiled to WASM * Egui lets you use native Rust String types (`imgui-rs` forces you to use annoying macros and wrappers for zero-terminated strings) -* [Writing your own widgets in Egui is simple](https://github.com/emilk/egui/blob/master/egui/src/demos/toggle_switch.rs) +* [Writing your own widgets in Egui is simple](https://github.com/emilk/egui/blob/master/egui_demo_lib/src/apps/demo/toggle_switch.rs) Egui also tries to improve your experience in other small ways: diff --git a/eframe/examples/hello_world.rs b/eframe/examples/hello_world.rs new file mode 100644 index 00000000..fd8b36fd --- /dev/null +++ b/eframe/examples/hello_world.rs @@ -0,0 +1,45 @@ +use eframe::{egui, epi}; + +struct MyApp { + name: String, + age: u32, +} + +impl Default for MyApp { + fn default() -> Self { + Self { + name: "Arthur".to_owned(), + age: 42, + } + } +} + +impl epi::App for MyApp { + fn name(&self) -> &str { + "My Egui App" + } + + fn update(&mut self, ctx: &egui::CtxRef, frame: &mut epi::Frame<'_>) { + let Self { name, age } = self; + + egui::CentralPanel::default().show(ctx, |ui| { + ui.heading("My Egui Application"); + ui.horizontal(|ui| { + ui.label("Your name: "); + ui.text_edit_singleline(name); + }); + ui.add(egui::Slider::u32(age, 0..=120).text("age")); + if ui.button("Click each year").clicked { + *age += 1; + } + ui.label(format!("Hello '{}', age {}", name, age)); + }); + + // Resize the native window to be just the size we need it to be: + frame.set_window_size(ctx.used_size()); + } +} + +fn main() { + eframe::run_native(Box::new(MyApp::default())); +} diff --git a/media/demo-2021-01-02.png b/media/demo-2021-01-02.png new file mode 100644 index 0000000000000000000000000000000000000000..d6aff2e68fdfb14f0a9d81e7caa96e220168eb34 GIT binary patch literal 28419 zcmdqIggV}h?|<-e4KmK0v(L_ZuY0Yv!&Sj@k1)tE5D*X^$-j_(iGc6`4!qw&LjnHXV5jmz zK)~p#==VJsW@-@2XvRqNkDob~SO zLmb|iP6^UMOcpM#MDS+<^Z2}0nEZv_0G+N95wlE}x=ji}AiEKZl4aSsSpABhqHL3y zU>I((Sq2lwgD2LT87Bp-j}j}XtPQ809}C3a#t+0J$*OSc?Zk5ok|#QRwza=(iM0l= zUvZm5s*=@y3=m$)fUB*ngITnzdcrsdS-vY7%D<`^7+T>nKXmp`tNf8R7?Z*`2(Rf` zBBi8EF`x^N9Umq{@)%w{Nh%YOx=uPdN~vnpZ7C9;p3&t#aYlZZk__k9wIeUDSbV2a zGhmdw#@bJ>gp+jP{NtgS8^kTo)}H7smF0S9|0zcTA%WrnEoywK&0NRJU(r zSwgX$2BHwzfZ>_C zCP%h+lIp!AMA(SV`t-!oHuMVulQ6L5=9d8?w;1kRybBgE-=)p*&g=Zg^ntFO>Df zB|uIb1Er0b14}fJ6D{xngq$O}6^m_#mLgRb%e{(tAwjK*M1Vst`7{>cy?9C1BUNe* zqy$OSY=uqBO>!6HCS+G}oGf1}w6~}}0l3LnCEs3s#uY|&3ng{rAV+2oR9{l!M;!{P zZ>M)e_I^+vR`Jb!iA@KiHBb)Z-$VUenz&Lr4VRJ*OJ4jvE^ZadQ}Kv6j64);$yc#n zPy){=@2({d4Xh`o;gAj_lN?T4B?gN}7MKMD&gAMbjiHTUKfAF^znVVPQ7#pjAnb>A z8LNNp|9mlJvZH4ELEZv=DZ(0q^G zRKTKjf-*yAp<&_5ux6M9oJ2m{Ov#B+Chn#Dwmf|v*{JJF%Aa4-($X^0BImpXzRn3Y z;x(!}@vU91iN+`NT9{EDNmd27BzV8`PPz8K&XCL|QEOpB|G?6xr9i*-Yz=)aURZNM zA>-+AoDs7TgAx1U(>vLKqSr;=RCP*Yb5%MQs({Bvl=+{1|eO1d=%f98}Dt7YxDh!@(wS>-W|#jhz+= zEVpbwS~LyU%wzF7bF8E!q|Eb#4L%vXSic$&V);zOM)V*OBa%X~ioSzuwrZwoF~Wk- zB*A9<^@&AvTUxMy(0a|lh5hd9bbFtv%ebg2`B%-d z&Go12r}|enr(du&!c@bQu?Mji$iJd-nRnP0o$NO~(25Md7*j z6%HytQYlsgIrI@0_8jh1$Cyb~O2WW0Rbke+#AIM^TU=Xyn~Kzcq%^g1wxgBm=FrGj z&(LF}W3qN}5^h_|sTIeSgMkC1^_BIoVfNHJmUadcO=(3s9w&J-&DCzE{USTHm>lIC z`tO6B7@U}<&rD@aeM}=w@*&P}t?v2oN$5s5AHx#930^eAJC*~z&t7dyl3^hin9anb z?61CVPMAb>{)}X2QPXLE<-~xSN|LIRaGpTeRs1@Njx)Y5K6F}iM`TBvoPCIG2sD|l z2lL6;$W_2D3LdVBGoWeqUXf`Kcgy9 z9(p&Sd zg0W0R@6M*&)n08c>`~?8k4H5}6Kjubv8Hs=*)!Su_NQ0tetyGAraTv`v8$VHaX&tL z0B+lr+-`@rSLjXY+22_moA$=6=*8F9**VYE`3c!KzxF!A9)8jt`60q70>v$KuXIsn zQSrDeqM^|vWD>MZ) zwY03Y>`FpQ=*OiPi88FjetK0^c2%vvW-Y5bAmFDLI62yYWj3pzX4;Fcco(dfE>9l` zzA=yx(P+)_Z3vj8vU}&S!%yr|-q>6AX^*(XC^~&o#K=wJq`fXOFVd5^n|)26tdXVV z`ck1UAz+<;Fs8iA;ESK#ZEf9l+oZ$7K`W#-;04ORcbp zCZi|5Wj4;XC9T^o^_BDaUp|@IcXxt^hnUa2_vagiTl@-b47KIlUECdp+bOKs3(q=( zexW*0T8NQ*)s*ARY9HtvLJsi<83|icZncUKhy~ zX7(*VZaE6sjXajRmD*(|ZXx%k_vSejyu-;C>sw525x6Rx%q;7GbObrbICL-Cc~;!s zPN81m4AL&ss)$;6lRsuX&%6D3Zn-hcYGl$XOsRKDcvric`m?@ZzisiVi@U2kgay~8 zicnlNBt9O|!yOAjK^S4o4dDf5!P_nQfP&kH4CvR48C%Vaow)vet_afEWD#Ezy|P(Z z`!F{7zZ1!LB2Eo~3+@OYRq4ALEL<}NCSp-Bt&kA6Q9cYRomT1^YVk`k~$;D9giN4Hdw(=#DRRoe>a-=}>6w1wBM){<%UBcz^#f zI}O!8m$=x7(C8?uQb{>DnN#twJ!j*f5yhaQq7rs8vk-hKE&Ka+;C~`CRxU1%g6!<> z?(S^v+-wd`mh7AY0s`zDTo&Wjf_npG*_YL?@gZ}NUe?A4e zOB6$x{cqQcVwmN}mI0$dZY`~%0sMV%KQzFPEAY$o`!DdG^Ot^_vIp?@o4mAyh6mzK zI%+b3=0qraGUy=`?ZLC6ER(KM5(G6Y5{_mDjfr4gB^z+EGZ?DdmPRCltj)p9^z0df zH2u@Ss%Oy4VK2X7TV-8M0}%s}d6DDvjexCk#|}Ln?nM#Ty~e1S8tdc2_;7zT=zm^g zPXlD};I4go3IF#CMk?xZR0$+$@&COP#Kk3BkVZ7~|4#ugpxdM%MBM+q0`NewAa+C- z&8H7&sQ&lDgTF=jZ)wt5NJw-rMFa!Qi2qav>L1*Y@!!%AahVVi(GT&&wG;kZ8VyiA z%m363DEa^Y)yqOds++YJnk?32<}+?b;(PmRlV&W7M&?gHJWKZv_Q+q9sBL9IPxHII zu>X3oeoS-ysW9VNKX0+x-~P*|r=m7|b!)Eeb-X?}A1$=E`H{zFeZgbp(b?s8MUuf| z=4^?^U=N=S{lzP7^x>=-rhkS}^%jW>AAYshT;WG}H}AgK*u2+NvXpVQJ3Cox^}XHa zu#{88^*uC^4Nuhz8i2Cde~v|nCMrUSQ=JnJi1ZyLCL5hC`Rrz%^LZYvYRG86ynE^T zg7NoU6~{$0V}PMzkt`+ZJISAIWcoFQQTk4OxjCJ!wciVUY`^KY;A!c10}IEWSLU17 z*siK-I9QEWaq~Dosy$ouTb%dW|8ildHF|vY>*osZ)a!?fp_G2t-wiyLLsDujbE9~j zgm!D<+4q5K-RtL^BCobeD!7V!s5 zZxqK#)9HTCeHohA6p+|%&5ya9NVct10iR13_fA6Xv8G`L7I z&X>dX_L}$0Zw)g=SMlJTt7-Jz=83vpn2^2!IjFY6U6omW)$f%@W%M8g{m^+xp!*PG zcIRRv)1AHLAkato%lzBzGJ~_d`I6yG0q26|b9iJ)YZ5#N{ZKxhq4BYOLpFhO(YYYH z-IPP?jef3dR12|p<65G#^Tv>?wxMVK3dJN}KRt{&zqOVSo-is_tNuG|D9BUcQ!nJn zKPtgh#SBuHx}IEVPW>NcCj8jLM6KPW1uZXEfKik&)W;&LoYA z+K^upzN4)Vk?AH6M5Xi|dEz!@EIPMbR=;qRtrRk;YDoVAnlyQ%YV*5wS>)(uG%#%) zW8|}8zuO;YIPB+%diFoX?l#2kAa}QCt?FmZ?)wYnHk0KG>Jj3zX7S48m9WB0-?v*_ z5s;i<4`YqlTAK}Qv1>>67NfU6>G^D@IM`vc^$z>DSBrN|k!(#&6^MGqWuH<@=waKT z)o*bB4OIaO46)%LBlmgNdHd$wb%CWXvLCp6F)R3KwqwL@dwS6v_$!xTDXnJHC2|X>WH2IJs3*G2Q2_L~yB5jFv4HdmRopt!y zT5UOeD#niGjef>y8p!!j4@I&iA3hBi`?Yx>rky01EyLP@4o~c|) zY$T_Zi^keJYQ-NFm4kgaCTDNGJ{rHtWe;YBPB*nfR%6{y}m@4Sn;QJ3qa z!N#jP+n=Y4etv$WKSA9wltuD_BN2A=_8R5P>vTfBto`$KLa?{i1KH)BOTKLRC%kAhp>-dlWN;g?XH z74!8ws2+YzJ@obN*6VKP7>iza#!H@5*!_C1=fsE7%jC zU*8uLDd|Z{2O8`+gZT#zf@xpiMnNA4f8baZG8AqJcJ!x>CpYrijHhSe0d?LjLC7mDEn-~#1F}YZ?WJ?rTCYU6qh)n z=TtgMQNuv5FjId8c7tZu3El4cqzj@vue`--i@_tTiz^Q7_3$#zWk9gn@< z8)a-YGy@)22A0F< z2ByUX&PdSOX7z6jG=_ZNv!1Dz1If#5Uw*w@+Im(d_FWSW56!*!}5C4G$? zkl5*zsloO{*_X*Uz9$k=(s+?5t4J$&2sdG>2n$X_a`h~YPEMfYtqih4dmWL^yD^Mvs z{A0L&W4XnwE zt`$8&#E#OhTbWQU!gLIHjyOmiZ4C74MdJ>ov!=tod3;HU`!|K#^Wi&es?3rZ!z9muH z3!n{FypW4t#!Q#K9K3>0`~Swf&imci@+EydMvARmXnYp3b{}k;P@iia-h)m`y&~mt zalR5QG*tU$yw9um&?0nD5eI)b(33KIz7H-IGCTJp{6nq*1~nc zVr!WO2_449<>Nrl9CpViPN0LavIKkebK?%IyNv`oaK=C^5ZW_T84J((RubYV1nOZgXEv_IeGW-S8#XyiqZgPSUI`tn3^c< zgA^){adKXvA*5QH@u;>L|1T$~ivvuTQ^tY)0R<^%APLc)Xj5e%^o>k&t?N z@!6Bfx&zkkePZx?>&Bo4Mu{)Rbk1olkBL?jz}?}U(!pF3wyig($MF?9N8USAm44e{ zof+NeOl+^!2-95>>q3Ij~XR9(3Rcp-9PxzNl-MGGW~`WwsuTZrI^m=A|K$H-*xd)mXC} z;lkI`W4xjx)C%S|W;|e?k+2iAHSdggDs@HlKGCW`Zy*`4pKE|%<2I8C8VJfitj)%RPv;h`+OQE z^8wTyIe?_fG8kOl1cE0HGE9Yei!z4LkVbj~_ygP-(o2v#AQ{YG%ChgHKc$7I63lky zAHeQ_2yKq(8&)R8@-4zFVWtKfOo&xYeRdOn#l1WL*Jgp?*Lm;fCosl%BV8AU zd>hhBJ(wraQiYaV)Uu$q7IJ3(6vk?U;X@ONh2;dqDkkdaO*nthBO+unURxa#NGB1T z1+TgTTj-pZD$#Q#ZldRr%2k6(nle#hu1D1aiRNRTM)}% zrmQyUOQw-HuN%J>)|1Cnxrl#oM-NeM?h?=9&-BWaFU7iC;X0%nCuQjuRfIl9xBEAX zSCGg8@Eq4PknVhT@Otl_iqBF}dLi<};KK!jJ?i#7gBSTjSjDNTY|CbF!fr z!b+=i7>4cHO#QpXaU%7Ss6Gu99nr&bi>xyLSrg(0xJ)|GirR@+(aEn_Hlw1q5K8LvGnV;h|8M{})l^EO#gTRVsD4x75{!`;@F&@E3}&?Dk9LM%Lh+-eJX>&I z`?oEHOkMJudU{lKFC9kX!--HSu?NGSRVPcPY2uNB4kvPXD+fI)jHLwTZ1y~-jtF0M zg>JkfUkiQ{Tt;FJ?5U}I5|7_+8JI@#T=!MVFDyEW?KI~juU#E1clgYJg@_gkaN)co z{e0fEpZu=b_&2kHyi4DHJa{}4Zka)7?U~!vgsA4w@O}&HEPWpjuBK6=@=xr_Dn}z= zf$_~)(boR}3tgPTr%fbv-rLpByWPh8{P0wLuAjX%&82vIzPWyTrnW>ZjQ;ZqTwj2i z$??#?S{wv#;mw$K%&j7Te|W@w8QNg6^bJYNDUJ38hl!W=D{K1JXY|bK@68`X;=}8l zm^M~1RGt=q7J)cDUyy3Az&-cnY$3I;|EJ3BwwN@dGy1_hQ>7O32lgXMR{6aQ?XzKn zyt4y1*Y6jI2y&JBA7+e!OZbMG9exVorg`L|bIY3s2XG=RU-Z>(*^*J)8`EJ$>jXc0 zCg!Wr>~u2BV0+B{?KpEx%u7mKL_WpCX`Ix)FxVp*`e)hE1Iy0ifQR3+GQ4B3FEA3Z zk_pRjf{vRSs=B1<+w8V$Vk#fshfc{&J%q%mMLEz7MP%%dn$l@cyB=yAb8=oEIHW1G z{!w5kJi~)VDE%f4)U60TXzvHV5fn~>k_oR$NF~Sh;VwsahTyF+Ta;q!`9F=aTqs9( zK&PkC!@h}nWj8*9g3oYSDNbM_viXEQ9z2{O;uE3Nmo2iIZK+CR-pTZXt2VYW*m4p@ zx9zfQfuDLvdhQ{P@CXiUlU*2;y&O`JT-b(y_T53ukHP6v42X&A`!{A=>tK&eQJ-RB z{T%xRZ{$U=>(*GWnD+AX$i_>#Yk`u5nOSNSMdA83f;_Aj=rayL&UN%H&Q{<<5OsTaJcFWg8ey)| z!rNFeN(ulgnVO-Zhnnbq0U+Axd&5`|D~hE>uxlj=&ROzRRBV36YXPjG7u(@eomLOu zHAH7(dND9fq69%Wms+xov*da}vXo4bT+7NgB$8=u{<1syfa>>d>CR^NfQI zE&=`|DC}m#yAz98ch6CJVUTZe$Mn~omSe;dG=;tF5W0{nTRW)(>M=nLWls^X|IvzD;u)CP5e1-tdE1HEy#U5_2k zz201*t1S;AEGzShSDUu6J|xLNXHe;0%ic&a$?ATVHkX@qsD%4QR`~6RUS^%&!SdM) z4lHIJQM;AFZs%bU;<+am0(R+cmB9^hBU=AP4}$xy$hUHNnXbrM`$44;s)H8Ukhk4; zLXshg@<2zw0O~k;>U2dx^vc7`^RfS?v@M*~f?g|F zk3*mS6D2U^w}Qm7A7gz6&4rM~=X!P>n$hmv=cF58rBq(lI;)lys0Yb+?1rUr*(JR8 zPVTq~53iut1->m4Er_(_43UWZ4xDJ|Ieu>JDa4Y+l7BId+=CM^RIg9U&>=p7eiv5d z^rdmW+5ODWeumF#geo(lQh)Xp@h(Q>I?EP|Y>IA;qWNEOVa(ydi2{^6JF?f#XKFH;NBJ3)g$ny+l+68%R`5bt16bqMBHs8U5wJ-^gXrgz)RqCBK6v zk?iwTRw!whjZ(nf4wl;De!|~`F zxoCFz`jCw4)d-I871ZvsLt33nH#SBn*}dt-;HM%JfE0P%8u2W$^&N$XV0;~M?tl_m zf#h$>QygiF=e}Mim(fMee;)_Dc@zj}0YMFeTX}!F7l2LTjktg`Q!kWr`gfFoH_y=? z;K3ikc}wE|Tfmwup!Uq|L1$?H^Z+2{j8LJyfbv0SOTqsYZ9Y5(6dI>y+D8o{%Bj4r zgCBX0pFX*;#U$f-O}Ewb=lS9(xXFAD8AjsoJ4tl)xvcYl=_@CJhGkxKM}iUB=0B-3 zW~$r_i`}_gci8IvLMeLiKTYX{e3n|S?5$GWwG>n(nWOFI_G*ZLPK z{vC$CKyjUSe!srUeVPR(4p{!0?dlJfw#rl$_fP<7PD+zfEk9Z`?@*ffXVu)_G}9Hlaw*6zg~Bkw~Q6LYif&F{HkF{l)rCerXm z!6^F5VcZz(zw`H6CJP+G?|RR0VDnv%WJ?*O z9WhqG{ShBtvy9&JeS^uIQhZ8C`l6E8Ks@?Y@z$gI2$+9Y8|A9O_o5G_G=)hMsE6} z81YxsUr%RjngLbpQbQadAR26D>&k>KR^!#X4Ljq?%0L@oShS@we<&wlC}p#TLiheT5; z#@xNE)IIit55DCGum(Dumae$n1FpcDKiRzol(B0bsJKv=_gq?s=w%z;VWV`8LH~~7 zOxJ*+NxriI@v7S9Mvde(Kpr>`$Te&gms~5Y0#kDqXKP4syL5`dG3H!O>|VVAl(zmx zO5gJ~pMy5kaZeFt=-K{atE>RW5=Bai+_nEhY)95tHIB?>HShHt+mPo0-EU81OV?TP zhnr1m-QQ`xCWSDsX2}Vku!GG7pi*phGEpP7^*VU%H5PW{UW}=$G=9&Oo24Ju3$_4| zpZ8Q7O(YBaj5ZLY43NcX#9%e}L7MXrB%VRp34r!`uDWeFN;|m*z)TMsUbE`Hmlow_ zgx{B|*OSUm0)gvVhjY-=Y|v`5JiUWC(t}6pol2(Yya+Iean|QeZo6A`0FTPPutP>d zy+rBrON~9luGQ`nCPbO7@3jGz6$3bJGZc#y&O2>}Uk~UWS0hxg$0$NC5#PVT$)+?% zJDYc#9ds5~HA%x%k+$S_fnGTQ-P4Rrr1MSWsE1a7ab0$tw3a;zBzKNY_PmGvGze6% z3v=rT-Uk+{sm6EFjI>e~eU;|H7mPLC6kg}IG_Z>RbZ7W#_bCx&S2WjXJAN;v{ z!HGC;M+)s;5cUD)#~y&6%(NeM=tY0)z!wE1Ty`W}1&>dSM34&rym?6&uCy1k6B~MD zcLF+Ma%cJW@z z+A{di`50XXg7Y+{N+%XdAR{a_;6ozn?Qz26{hF%R*=;pWZeq&8s9|6DarYDVG)l*r z+vj%m&i@PdOq37k0SZ_b30V(`YQfO(f|l&?7463kStz1puw%fz5)agL@~(ORYcnwz z$_n!y!N7&16)Lhd(&^|I4?|ZPYOTT$fYm3DBtTrMu=Z zinl#%hkC+YK=5q9XjfEu%v|;=e2xr$>0fOLIOf|IGN&8B~q+;k}ceo|OW1JkO`h zE2!L6vT1bo)*EJN=*Al_SNhAp?hsX8Bn1W-wYU-%J~z;FimfmDd1q}`766HiatOpA zJ%ya13r}JHdJZR}nH%B($mx#kSsj}6yjGa zj%lEcJRmEWvjgOyJ;1NviX(g=9<_Zw+U)Ki$FJn!R2l-R^uVT;HkMlbf!Z*|g@!(>6>}+a}te?aANrqbh&vdb6dYWAx%zwfOU47J1-n_S!X=xMm zKWs0KM1~UZ9s>eeF`$DX#!%dqH^3vv@E3P@?>omgfRe!-ZXU&r^ps*4ldU1E>**R3 zjFmjpF$L(bE@$UJy-S%=q4skimY#O+w9-+7H?bkzkcBgVQt98Voix1P%AEl-LM!1< zDd7VTd{F{o!}cX;c+>%dZ9y_%n>d~byg(L~>Ii*QVvj+7Ht%i}=AK#q;2yS~a9*h< zNzO?sfrWOTiyhSPzW5*QB%NgpVrm32E~Jj2rB0nq=sC!|mt&$KSz&<8$N<5j^o*Q4 z4sX9vR{-PC?|OyOK8k1JV3`I@n%iDsV<>&TX}f%Tr2&1Bnk|*Y6+RU%fbCTjAIzVz z4WvMmVcYtEGOne3lE_6$@Y&^hsV%7FjM8O9qFlWYd>bVbYkq>RN%^YYe%Ey1ULqia z^tU-zU8d2&Qq1IaFb-#+d!LaR?YKDkgsrRDLimH8jyhKrjjzOr8P02j|=$pghhLN~ktLxDT+Z0)FbxXZ`8!btS(qow2_{MqPAebVo~06Xs2Pjeu6 zD(*M4X{wxf9AI4Cq=9(sLhY$o#1_F|D(Mv>+$xT^qSB`je73Tk z2D|r3A8m4i8#-;`*Q0ezS{5ZbQWda|0FsqgEuJ74wwE*m59Y_=#P{x9eczQFFaAQ= z(NQf)GL3~zFX z0Guzz2S)(DpeO1N29NS^y}$^S$j5~XyJM|io@^)S$dy+CHGD`R>7OHMQ=|%ju;xD? zOuQ2psDM4GFm#vxSY{;EdaU<4K#nxVlHcfgWJauZ>Nru#4oMwQ2eTWig_cI4m3Q3j z%D)!3Uqa(gWB5<^zg`VFN19Mf_Y|iK>*$D1o@3(O0_+)9)xGrJYNa+8s7%n0@aU`3 zHT|MD#}7re!+{e(?LWZ}H-0}>p>N)a4k4nTNyV^!q-*xn77uPrbIJBQ3rJATG708S zPBH7IlWnKdG3K&b?Pc%|aq))<#8cB*l>!Eb4+B(cPp^}cN$Rsy3;@0rNnX;CWrFm( zW&0_hvX)nm5S-(B4Z@`$De6|ll{?0!gevf9xoC1-)3vb!&kOGuJowmf&I=YTY1=Pr z*fGpW2Mj1qSewZRwt<349tFZLWsm9ty}ofun1G3^p~S0io}hUR7iSU1ACNY#f9Sw} zxKiraQyc6P8-j$`Ey{4X9L~T>6^WU$7I9p6oKx3W9uZj;`TQ7BQgbW>YocEgtS;tXzqmnRfow9pB{; zVy5EPk$7;d&pk~Y2sYpR5e2rXg0Q9)lF$1e$OZ?!whrbWrs$u)hf7gpJbhwbW>L%2 z5_x(>ivLWSAo&cjJ#J>(syUHT(vi;&>8=xpnCwqwg*WUb(0{`{Ra~TJ3Q(yJ8os4U zFN!cyq&cLi1HA$3Nwn|^B-F~}WU$U|R?91SSHEQeN>NqCK|0Ekl>EDuc<>KW$;g4J z0TNT|gQ*)*4uR9k{EXTLXb=<glIe5k)=j|Qg?qBAxB>LZcoB%Um(0t30l-SDI^{_AolgSY6 zw_$=)bFfqdHmW~(X%W%Gs-FpEIwkM)O3HbBI((JND4faVlzwlW*lnr&$Agt8A0P2j zrQB_^;cxbSh^A2rVyD1M&@V^olYu5NQ`Rc}ty&d83usT=ycsE@M+)JiW*H+$xG0e5 zP}}&+%RGxlaG3Ud2(EcZU2R>erfJokX$>9|poyhNWQgXfOms{x`sJ%T@z<$#-{2`E zG${*gTI$x|<^oRi!{;Ad!0SlR-3?>&KqlRnW`BV`jcPAaPh$6+P};kAMiuZlA^M?4 zvdhZ}q~vS)j|yDf9Oxfx>Ho;vKyFzi{lKhSYBDx1`olP#ec9??bcZ z6b|D+n1>ouiR#}}&IC_97~e_J?fED^E$qj~V2@WX1=*b+tnTjtZi8V)cFqg|L&ASO zk^rPpHG5!;8*Lg#*!26-3MQmLlQh&MZGn5A6eefoR?#2(5e$3UZ5Ybe zkj;xuJ%kot6Y6cz9`t|94`%=^<~>alaJJYAPf_!U1;ym#_|T|YAbsSu+q$=YqCWLr zXO-lP;>gbQyA_Bx;_9?5>?8U&;|IKLfLpZJUB#~A42i`S^>9!j@48ysxN}F?SfUim zLQmS$&ZwENI{lg6@9FR?1)!ej7e#8n7~*r_ew{Lj^h6wz1{sD>M@$p_Kzl?ZU35>@ zQ0Am{Ced|8${U#fE9pIde$PYgMwhe_N>DMiA1d4@nb8C>`5Z?%z~Y_og41^?LQpjd z|Cy8GKJ--78O!PS>du@+s@=M?>54L48p3c6^2thXny63H)lv}7Tr9N|SE;VdINt*n zw_wJWF`BuC&`uB0NJ1UbnZF#s7#+~Wc)7B#y8v@!AFs>{DbuS5``pYmI?r2X`m9p` z+1lB9szbq7Fyn;Z1FQu>_q`n=o!5wb)}wjvJ=;6-a94mtyA-JJ;@tV+N+bmZe!0=& z@5!I_^`3QGirxcIQn}aJUb#WD+t&|wXNF)%rk`l#vk$L}uWqkW?2lIWOHAxi8??$^ zH4w3WY$VjO+E3IgH_-g})nc3{hLpQ&-g6_}9u5m1zxtKEjCaoz`4xa#fTYM(H$WU3 zuXU8_@b%N%I>sc;*)fvev!&?1S8H2LAEID60uMgX9!}w&jCvw81SF=4n#|0D%9`-v z5;w>BCcB*w0pi%OBOtGG0RW_;>lbiwE0Unw&gQ)x@C?9PO~6iDUMe_KWv*BcSVWuu z$g8_yJ&AD9F_FpKP3(Ry#76ox*bPPu}MM^lWeT$&0_M9T8{` zB8j!AAz&}I&ri@gDg^R^e$94Imyi8U8O~G2UQN+YlFl~nlj3`0?2u;^xF{2;$>k>; z+RdQ(THsY7INf_rkXrL^NC=q0j|B|}&EFfAc;_5Do(-Q++Ha09&g(fu4XX@-2AeJ_b0gy+{|?FSNkC*|+~B_{ZxT2Uyx^E3bVvBv7BM0@Mtu-_o?D zT+?!g(bbha>CVr^J4$;Xz?OX6y!f&`Sz&}iUkp{aFT~niY4l^_Su2YhcuV)|8R?Vd(6(+UstX;h)IV4Cx zh{A%%-Sb>iC~-#*-Jt}o^_ZGs19;Y+ zzNFA3WF{paViU~t`&*HT^+(Ep>`nA$ z;~got_nvEcRP#dl3fUF|rQjziz&`UPDEbe8rbfEOK|r{>6Lkv$j&^X!-Jj*yO-D^5 z=sc~%Q6u$R6<;T$E*~G?~WDFhHUtC?LWSpPyAFbe8yuxckZA_J6@tae17i;*2-5P zJS)-o^pcEz?Tq!_1n0Ur(gv_eCNW~7IU0|>`dNwf#)~y~fpY*=fLfREX1w^ zeDv&U6K((@jn{2wD%tCYz!ac-ms$>IXnlEm0-rS&@VoT}7D(`53U}eTw_})}4K|=) z0DPw1VXMUL<<@wKU0WdXDZt;(mg-htTi4G61aB$e%dT5X)FYY%7<|7b?|XGbc9^w* z=E-lRLL39>Sw1uDf>L+B$u%9psP;_)t6tr}&C8-{ee?TT8;Hq8d;gG)q0lb26Wd5L zEi><5KLu(z3sBO!#jYh)W9YV3y$oFr9gp~2OuT#F)AIu6{V_~vzb+oNVWX3|`x)TR zf!F=SI4p94e_Y3|ehRy%{kG>Cs~=mH>o<dnVf+(7-U3|sW4^t+TMGeqzz*EhYKe3?kitEG{07Kl znk_pc2;Bg(kwlOFceG}D^uQV&QtG-pTkozVbZZ&vTB`a(3P)tMbac|lPvyJ#%Gt}^ z^*FiH8o;sK#-Nn^`kp}lG*Q;40QPT9ww&scEdu7*cVVcr%kNI72ees#D2 z6!Qka*FL4dz@7rqf?&TJ$09%)+sxWlM?KyVzS^k{MV@11Sp&#q9wc8?sPk>+-F4xW z`!-_@C@AE-pcUAun||VEirCP!S`I;=y%t&x5bG zD_V*2gd$L*r~n4K+Vb<>%#Q)uT~uA>laV|#FTRM7f?nj7U~Ry zXtoeMCOhirVP~Bq(UsdvV817fXMLjBz)qDaNxnQ+ZXh%Z>3)*#=MEH?w#fT+QK$0o z2K&|LtCQ`GIYrPi^zfX39;PDrla9|nnbS1%=GLnrlGNzi)?|gly@KI$cXM_qv#s-c z2d@HCu~Hj;*H=Hk_L(*}-}u$f??clS?h(ZzeA2>r2ieh>mvS$B5IrVn9fsbTzhb30aU zFxy$h7I_e&_T^A=9@8aTXI-8xvfWW0B?7P^R0Lwp_N1?Rn+zTa2T== z{HHX!z2CxBbob&$%!*Injc4679vl#K;v&yPUVrm{eb{+rEScu#o-977E#Tc)sFZ@Y z@+Pn|b0q9=88hXzFR(af+e0vS0ctX$v9Lk%Zxf&5ztDqTxgCi~=SaUMq_fq_&X0Z~ zM21VOAmpS_Z$C?1Mn2VlF$nb5mypoftV<~pm9Hqv!)Z~;m!G7S(MS?)P9L|_>ww9EJ1^S`YWJ>OykOtFT>c&8O|f{zXz}Fg^LE=d3cWz+>DYi>6uXN8V(7P{h1Rz`815?*FR`9<^pz)ngnZ|S)Id#u-FG)((=%*2F3)W2k48<@Y$;U)#@wuxZo6%0nSv2U7yDS|}d}2O*1;>43^HJc0 zP~wy((iz_MqF#;FG7%CDxrt8uvuI3AW4y{NQ{+PM-@Qlq9>a}V=-Sb+#{vhQa3XxS z*%{uOsG(P<`T=p z19U)=zwO=aja`y~8$_$gxWkbBBNNfpbTg7nh{er@7!J$j*w-k%u~i`1sJTD(@jMeu z#0%I6V8ivmp)z}?onJqHm~xpccZHNfR=V~aHULgPqOttp?|rg|52!1>Hw|z!p~UXX z$;4i{EqFnA<(+6aG)ybvw5E(6ELXwV!fE`Eh85p_&msbL=09{$#`O? zhnSXY%75D4;|`Q(Eu0Mqu&=I8cjwbrx_m5Y<-VFSYn6g?>8jZbW@do{Q?KY)$flZH zw{6FY)OcMsM{4>;l|v-_V^hvK@MX*ZkoEs6`|@z8zc=g_%ZO@*vSeR|>`R2QWl5IE zzC;XKEsr*kHx*^gAR)^rjBM}o`F*4Bd%b_X*VT13mwY~s zbDnd~bKlQ>KLvggWtF_tTb>{5A%`R4^x&XRP5QhsU&hXW;XPr9;yk+eS^%?#yTeBv2~}pk+*@(kV&C4Xf)^eGU1wcH zXCVw4ekrTUR^0IXRBRht;<7zGSbz5cdCv#5sS-9$A0D4<&wHFNxk-%8z+#-AYXw)^ zoPg`%nGVepvLwN*qyDu}`hS}^MmD; z&I)n?Iq@Sdy0Na39A^_QNDEJwi;Qt5mwsjVy8a$+F1EJ#2Aji{Q*Y_yE#K=94r$cy zJv!8X?)iJ&Wd1)CY_6V$rb=x2QJ?RQko$SB7f`A5TILx2-R~oK#f#{MLY6Xja~_t6 zRVa9(DX2k%wv1lgaIpE7QpK)|2Y^nJRPQ7z7UJ_aL7KpA4hXcj)CmtvD?_-L#Zz{1 z>u-_l@odA88~L)tdUtv47yI+G_k$rhfHvs!{8`c4 z#Sqdz7v4Ov-@?T3f%YWmb?);P9})R8bmSlZ|GxFPFezs86eLrMX*WZ1R1d~zJYcr2 z@W?!UUoVk^ae<-0VRHmmcW^LLsB@Rp$`9bWleF)jVxX2>yH+rFE$a89Ptu!vlso(; zzLIUYa6NjPLrst`#dKzuf6D9V#|iCOVGeVTkKa1bY|J>Aw06jZ@lR@YzZwJA6upj; zWdkB!NZx4U-1fqXMh<%)`}Gj^$tK#o@5Bt>Rsoz)3Elv2^_ESyCJu|1ZWb}l;<|TC z_wTfzbs?4MIKS*S-D?AO54Y|@o9FnJW1nzMLSgKn1*%#DxN-Pmm(a80HnI*o7i|AT zu&FTQA(#6rOBLLEKQhF9DLbEMmnL^Z;{l5Xp=@;(s5H01>cFT$`-OiM!N6AX?S#yo zB3aSjHQD{lwLL|$EQ*os+^HIm{ozCba31YM?51viU6iN-02*->168{m4Df5s+1NkERd6!GRUf`Ao0O)>Qxm8jxfn zEof`5LW1)gK*JX>OFJSkt)#Mi5v%!*#P`hVe9b)}Qjb;+%T^rl(_E1vVTOS_C`GE5 zQt2c(!+!vK;>DuM@U!_T9=V|rxTYX|Va-U0R9yA#0GpV{ukY^{L862AdFGNQq=_XN zEH-P8r=a7{Jrv)1^@c8Ao+cOO+WZ@lzK)}_Zm2m>;q+Fe;dN~JJ9)1Dz#%nQeO50` z63)IwAnTS8KM2WgEfM5|NM$;vW1AT$j-@ppt^PG^=MTVGzUxC!>&^)QGY2*&tySPm zPK0Tz1o9x!HNljXfs!O6n)oNBG!NLJ3@u4B zHNKh>yn4ZS?e~KF`s%WWW4&s_N&*n%Q$H7)FGo(-ryDaZQV)}c8cXYnuZ*>Im*BKk z02a9cMxSBSDp|uV{r0ZCnIKbdmA!JoHCfEUZXenqd+7JPfh*?^-HWo1jF?YnZD+D7 zv>xuDNDve70qpxTx71<;k=uv(2P-Z+Oo15e9zGC^@1&l4U0wqG*ZRF$Y=9K7|Cj`} zXz6m5;Ldm@GHP6`UO-$(dlcgR*8XD%LCD4kDrvluzzDBqMcKZQDw!_J#z2EN*HnsBLAyVFPR08;@_aag{yA=*=A^i!N`hn=Vr2g2w z>IQ{fv3WjnxYv6GQhnu_faA<14Wyd_Uef5mo|$Ww0%z~A zD_z*^AlWopd%8$MM8SX}zvuYnNCW1Ul!=wfPCT`@28tsps#M z?a;V>M6Z%v6)t%X^)I2eteh{H8F5=?X*E7Ec z%4*!-TWwISWhlj?5>Uce!|~yB&Q1nOfWVPI<$&!Nl;CX^{y0y;YQCAB){4lHYw6$R zJ+aGcvPF`P0(NTkBaD8lG$xknE@w|=SAQ3{UKuYKhl2E@(H-t;g_%5Q;3?)Sga+W? zMLHqQTK>>>biynWdBw{dH0TwRr;1*8AhxuHHtl*rVkE;96;uIJG(%vm_yH`--ZOqH zX)=7wyHkSjp)%Z|tCW}U#H-?62sOL%6kW~pBD7tyg599*&;^3+=r;tY(JT=#f=JfZ zq?3%*+Au0h_!OOC@WjiJyNu4xqaa&8>$toNKbx)@v z?2&qbcE`wu4!CG$3tu#>esM%gbk2fCvZ(`$O1)`r?_znIMboa9Dj>P&A*%;_=#N!YMD)FMZ{yC*p`s zWn1E>J7T>a+0&lDe~YP>#YClh%J4k{14TycZyJI&<`dBjhBMlG{fprR#DGqoGF(>T z<{x}~lG8atFelFasp!F1cM0Ehl$?TQ`m6F;%`)Qku2o+7+Qz&uwTWZB;sfvp&T`@& zqKLF{^{oF*-$9W&W6tHtdK%OI6A>(yWet4#0c59$0)`oRm27jCnM0LdzW!8$>df7~ zxjOZ4cbzl(cFl;Z!P@ttgGF)zs4wX%5PL!|+orCSAOK-KSR1lJj=5dQ`siL4hCE1A z@&0D`dj0p5Sy6ASRR4*WpPd**ZkEck*kd!b%UOflF@08rO6ZDyzcd0Ld)mORU z))@PSr!bR1zn5{oRdJU0#fBG6d4?Q(M_3q)g9p;;t(hwXS^av!3*`outivv?=pplp zCfm4A8G1E_GYk0=99?u9MnWUQeN!;TEc{pzurv*^r+24(0}Yy-@L<5xu|VEw^Pkbn9}dYTtjkckqTdRpGe~iw zuDlcqZjaPdF{68f7b(cLEUnuGq_&f zP{;BnfV%km8NO2F!6sKv&=A<6j3JwU7d%_NI^Vtsbu!^gTB9#~@Q6asZS}Enwg>fG zUOJovnsnf4_h)r$aLAyIF}-zfdg>@RH8ZXUlKiXhfFQC6aa+}BB5Kr-u;S?hSjjs_rEuP59F|*qoKK%V=Y zLsM+g&OJ)?3_*pzfw;RA)1>6VUg?Zpl(`churE?Aywmx$9{Bg1G?&$JdZ19hmyA4@OT@5Im5hX~oxlIbw#S^PXF&`>v=$Xk3U%w~( zxy1<@vf&vFUJ|cRI?V44pypy_ck$`b36vLWHUAF!?z470bNh|4Q87g`1Fv5bgthq_ zp7Z{4FtQYWKm~93cRQI9n$(Y~ElX>#c+YW-*P|@ipvwP-uaN8$rNkA}6gRaulCjp- z?%ML0$Cy5m?fLI>GRR)QEE>`DvAvMy=g~R-w^koPb48exPihGhzJi+JIM#E+Q7~t* z22B*W6?;Nv*%jxpQ=9i9s9X^?WA40B(=(x`D#CV7FPaqZ>D_>v#l3`sVaeuEbX24@ z=^H3-PvmpgY7o`QJc$Pv{gTjmH{Ims+~@mXXiHb?F4LVeR$G2_`X-^6&g22QJpuRe z=&-UjoOTaezgKU~&utA*X|wF2ten;JOF@N>C0pH$awIZK@kzXiv-ntiMz8u3*%AbL z<5FG6Pn{BB*2B|iKeEg>ZK_@W?aFz?=Lt(!Lr|I<;Zp`m=#lo=0%%l$h#nS5mSIr% zw4D~m#eh5UT77wxMREC%lHU7@=-ipe#C^)M14>Hq`;{f)loL4{?aV6G`&qIrqpmRr-H9p1!LAh!5+U|ZcIpwXGXE_t3klpd<2Py|Wj4zV7TO#V3HEwl zZ;zk5io%hOBnqaL>mID#SRGe4D)E-C?Jz_M@iKOo{5oRkVJdg$Bj^-G<~^hN9#f$L zmGODNF><%vXLaG-a@*%4_o|)9S6Qu&`LfoyS6xZm!}HYFT?FdhT7c)y2E@K<&? zT?E(mxTXw(sP(nTm{n@!Ar9|_$xqFXjAumN@<*cjjnTs|Tzk%R>h`B5y3^J6!>@Ig zx}DX5gFS3FyA0nsg_92PLn-?kU1slIc38Fif3}bv!Avw~9ugIAuSX2->?!ES)*+<{ z*C1_evO(hztS)|*`MnE3j~QDr0S4D2vM)FlE{*n{vb*qp5AGM>KMSr!X`4W*xZq7p zePi@q|3t;eF>J306aVxD0AFP^^gjiT1IJ0W9A?TopS^uoHx)#>`=Z5|zTv_mnlj#` zJA^D)%$ZWI9p<2FuC?W2Z>5uGmn^;La7;4Pw%ZcPv@m#W^LzhKFhPmIF-qc0OOVAp;YVu{3utuj~hm~n$x}CMEY<6J<>Fq%;c!KeV^zzp|omv zIX<8zj@upSNyR!~F8RD__Qs`F-5u00dKR^5q^#>rkMx{iwrPwU8=X>fxIDKq9!vl8 zK++$8g+SCB8n&8TJ1XZo%h5# zMaVF+ZB`=?@6bLNf>Ok;0$!HgQ0(Kjc-avfwwp)g^E>*vgC+Ywo**n|_n_12OojGH zzU_;rE4KSsuRO0_G??DX99z|pS7Z;R`J7-^6;@+5HP)jcqGa?^coPjN4B1LvPNR?d zOIF%HC~Gm;+=QJb^Z1oVoKhp}+rsR9G^FFpM4 z3mOo`N~P}8J%2d*|NX2adSI!>hDGyl{r3g5y7%oEDef=7G&f1{ss{PIjf^?Mo0z|Y z8|cvnKyl}xv4a=wx_nyFw$R<7PXmM%lYEbC08?m&ihK#Gs z+-Whk3QQtyU?+oXw&HBvoV< z=7?CpjM#;1`1P(IY~c1))APD$|5z$Txo-G6XTo6Jc-GZd)rbkBt2*E1iCxum@%Y~? zxxxF$*x{5Xm!krnU0eIz4gRdtK-z~u`Vb{7%-I#FQWgpk)J ziEG(4M}`h}7m$1$sk(ma%)Sh@;H97%709XF08x}*`t(%!{aOoeXk~*Z0QVm-KV?wK zJvX*yTkMp%WwL4&gBW7+l0!ELgur7$5))u^C{2+(eZcYuEZ%!Cr6kCNim`zo;P?u3 zX!`+o%*nf|yioy9`!q9~)D}LPJplV^&^hergv6I!hGgHS( z=8k5<~I_XbKAA3?SyavJ9 zXC%Q!%#1bQ$Ah|3kIpWN_83%7T7YkGdD}<@#_!(2f}*WmoFp4w4Gs~KV4M>1W&afe zE%rNT;IQ9aA<~5J%g&+k{}?z^42L(;X|EgL+4;_BC@~>j821jpoU@dez4Jy)N%DdwYpm< z()mhClEG_qSAK-aO-Q@1{*HZbBG+p4MI?B4t;Mg!aJcUUq8G2>t) z$6)o!p%d2!h3xJ0iPOwBl9*2GXQeX&|De ztWr~NEZ_LuR!%CH;Ar%2&U3Jh?J251WVZW4g0ToP#^#JA`VyC~q_T!rGcYMjfrpSr zgD<6ssD+;rUTY04LEzopb^YxRln_xZbG9 zY2JrcI$_=oCyhJ!7d+ReejU9lhatb|xLuuparTY58+>^Ra6z~ zrIBcEY0`%fdQo>ch+s)tc z^p-ViBDOHu+9z_Du~a)7{G)er_NDH!J6dAd(lQyx+>aZl@HfvBXw!a23iMa>#dg7l z?FG7P#yGDA8$nA%6)b{%)VWRh=i5V>W6b=m^?Yhr=1#TChas=XysI8* zW~^rg&%c>5pr8E+Oqf&Khw!a+TF1aTwM_Hd5Ep1t3HQ-Utd}KHk@NZj2K5~#7*S(p zhRvrz)7Tzj$81@r+RL6ZSHB>}NwUO>9JvDJC_G_e^_Za{Iu|L4R6v{0!;h6%oxcFD zIH3JrBs*B{+X4DqQBqAT1FM(7YpQt`UP+2asBVly;N0>g`esuNLMg)8j&K^XGe>JX z-5T)$!m}4ketcDv(x-Ym2gZl0>k9x44;NCkcU~aGhn;n!qv~G@rqy_d4ThX1@!h*i zPvi?Ug&U*c>z*vZi_@>a1)YlF%>^YxPw&vrfzn0j6_C&9Su4!+!)Py~IA=q-(`4V! z(s4n(IjyWdT2iuev>pUS{U@18?%2WjD)}fSORzBkDe^qFclfm>4_=A*8uYLo<2)N4 zm4|E+rRAx`BP-lK8O7op$pJ}5Ia!;-ZpR**M+J;D-@2tn zQ9NPig|GYz;FtMMebdaKHAH+&t3D5jO@T?;OYBGe3e}nR_uDbCkZXA?Uu4K%H1*=3 z990`)F;=HCmKq->oe9wgXL@9pNe?HewX!O#+iC({OS- zZhVcV1|sDh@Ev8XK^@RUkVQkzj;_@fWR8|l>7Yi0Pe-dvq*-|a!! zEn;gd7DJ^_icAf+o%0NP&Gz1Z-&2|W32mEYvSpq7Z=;k-GoZ!HWWP>MFzMm#CzPY9n#P<9)cMj9vJ{bY%Fe9oMGEC*g;AB+b2nV+and8O@s`xc;2?M@GZfs0Vj;uYQ>MuQAn5W<`BCDU zA(+04MSpn*=}`T&(B0~&tYg?ngG~VeI(%Li1{e^%huh8tLq0tO{YLfFSLiW<`!M1S zO|F$ZeuKI-j-{MAXYo~Rj`mG$ZTKeYscQ{EiPJ0p1X_#2nLmL4vL>WK(_*jq5Flka_tYs4#IuAv_4 zk(j@6q3wmJQZno#%T3YJZ%0*kyW1rs#?aZ2?vJNoM%Erg^XQuiG1-e6;`mbR%7UZ9n}DUAWMSutb6o>g4j~pQRdSOmXT5gU z*%rnS*d<1_vowM+UXeOc5e23xzc5JaPNYAub16H`6)|vJXz+a($u?9mD~i9`A=CtU z=h0z(UK>dkuSp%-=g&cs*zHMDqYMqxhUVOHJo$~Qw!88Znn#AcR?a3Q=C0!yG^Gsp zj(*?}!))oQxlQgw<0l#iFM(MZRL*qpFd;sj+^$79WRu_@H%hB=R(6}C2J64~TPF64 zFf%!rVVJ}4t_=V46Th|gas7?ORqUy!n*EF&j$B^xbd=8pR?_DuoH5ysMB5mpxOlY) zi#cHZuMj0GFBp9cY}0ld2?`5qnbgxP=W9*-bv%P&nBd=2PmX(Hj4geR%?X11456w0 z4aA&S9sIQABa)xQtlAAQOmx+jr>l4g)Sd47El2F`(T|cH8Cf|j{oRGK93emUB z?qqw}q|3{H3w;thY;f!AISq6+pxmk2ecHPTm3e@EJ-UR5DgI&Gcdz#q)*oQSiDWLx z*V^ZEeF*)0{bbTvvT&!G2|4py`^~?H?K*R-HR1egSA0fe2o2a$60LDD{dW%HWOV}q z7)v@ieY2)e9Fq-4;t1!R&IX>8aUSL?{Ae9DqU`d}Ay~mNtnq8q-EmS~hmLAxqRee} z`3t9F(%;qZQsf>|8{{aY;-pT#*|o@cg8w>)8$Q=(@I%QJAEV7G-+eN3>rwtQUc6C3 zaq))>?#PA9iRI`Oi4ONRrg9ce9Lrv_>nWJuqMF5c0A1Z!di(Qb3x2mtRObV&=p(!< zb_(SnbL!~fwz}`=l(o%6(|SYwpe>(nfjQm81&7Ta#n%Urz3imhU# zjNySlP!2qG>G6MGfJ69$!twmUExrRjB(Wg;!RWF4wEw;!O6R^Q(C`~Z=Q-wx#QXo( z69kP33r4!KYlTC2G-rmuCg z*t(R6kUSK^la~KZgTQU)9fUbhG}u6;9;8_5iyPbW&7XWWxhReN_YvFlbd0o%G#w-U E54eUaa{vGU literal 0 HcmV?d00001