From 9696427507705ba8467a1f06cfc46d1990177f0e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Juraj=20Mich=C3=A1lek?= Date: Tue, 27 Aug 2024 14:05:31 +0200 Subject: [PATCH 1/4] doc: import Embedded Wizard article --- .../index.md | 67 +++++++++++++++++++ 1 file changed, 67 insertions(+) create mode 100644 content/blog/easily-develop-graphical-user-interfaces-with-mcus/index.md diff --git a/content/blog/easily-develop-graphical-user-interfaces-with-mcus/index.md b/content/blog/easily-develop-graphical-user-interfaces-with-mcus/index.md new file mode 100644 index 00000000..a59ee996 --- /dev/null +++ b/content/blog/easily-develop-graphical-user-interfaces-with-mcus/index.md @@ -0,0 +1,67 @@ +--- +title: "Easily Develop Graphical User Interfaces (GUIs) with Espressif Microcontrollers (MCUs)" +date: 2024-08-26 +showAuthor: false +tags: ["ESP32", "ESP-IDF", "GUI", "Embedded Wizard", "ESP32-S3", "ESP32-S2"] +authors: + - "vanessa-reingruber" +--- + +## Introduction + +In today’s fast-paced world of IoT and embedded systems, creating an intuitive and responsive Graphical User Interface (GUI) can make or break the user experience of your product. Espressif’s powerful microcontrollers, like the ESP32-S2 or the ESP32-S3, offer incredible capabilities for embedded applications. However, developing a professional-grade GUI that leverages these capabilities can be challenging. That’s where Embedded Wizard comes into play. Embedded Wizard is an award-winning GUI development solution by independent software company TARA Systems that enables engineers to create high-performance, visually appealing interfaces with ease. In this article, we'll explore how Embedded Wizard integrates seamlessly with Espressif's ecosystem, helping you to rapidly create and deploy stunning GUIs on your ESP32-based projects. + +## Why Choose Embedded Wizard for Your Espressif Project? + +### 1. Optimized Performance and Efficiency + +Embedded Wizard is designed to run efficiently on resource-constrained devices, making it an ideal choice for Espressif’s microcontrollers. The framework only requires a minimum of 16KB of RAM and includes an advanced graphics engine that ensures smooth animations and transitions even on devices with limited processing power and memory. Embedded Wizard’s lightweight runtime library ensures that your GUIs run smoothly, with support for complex animations, transitions, and real-time data visualization. + +### 2. Cross-Platform Development + +One of the standout features of Embedded Wizard is its ability to generate platform-independent code. This means you can develop your GUI once and deploy it across multiple devices, including various Espressif microcontrollers. This cross-platform capability not only saves development time but also simplifies the process of maintaining and updating your GUI across different hardware. + +### 3. Rich Set of Features + +Embedded Wizard offers a comprehensive set of ready-to-use widgets, effects, and animations which can be customized to create a unique user experience. Whether you need touch input, multi-language support, or scalable vector graphics, Embedded Wizard has you covered. + +### 4. Seamless Integration with Espressif’s Hardware + +Embedded Wizard has been optimized for Espressif microcontrollers, providing direct support for Espressif platforms. This seamless integration allows you to leverage the full potential of Espressif hardware, from touch inputs to display outputs, with minimal setup. In addition, Embedded Wizard comes with a comprehensive [Knowledge Base](https://doc.embedded-wizard.de/), with easy-to-follow tutorials for Espressif platforms like the [ESP-WROVER-KIT](https://doc.embedded-wizard.de/getting-started-esp-wrover-kit), [ESP32-S2-Kaluga](https://doc.embedded-wizard.de/getting-started-esp32-s2-kaluga), and [ESP32-S3-BOX](https://doc.embedded-wizard.de/getting-started-esp32-s3-box). This ensures that you can get started quickly without needing to worry about low-level implementation details. + +## Getting Started: Building Your GUI on ESP32 + +Let’s walk through a simple step-by-step guide of building a GUI with Embedded Wizard. While this example uses the ESP32-S3-BOX, the principles outlined here can be applied to any hardware you are working with. + +### 1. Design the GUI Application + +Start by [downloading Embedded Wizard](https://www.embedded-wizard.de/download) and using the Embedded Wizard Studio to design the look and behavior of your GUI application. This Integrated Development Environment (IDE) allows you to easily create interfaces by clicking, dragging, and connecting visual and logical components. Application logic is written in Chora, a platform-independent language similar to C++ and JavaScript. The design process leverages the Mosaic framework, which includes essential components like ready-to-use widgets and event handlers. + +### 2. Prototype, Test, and Debug + +Throughout the design process, use the integrated Prototyper to instantly evaluate your application's appearance and behavior. This enables real-time simulation without needing to compile or upload binaries to the target hardware. + +### 3. Generate Optimized Code + +After finalizing the design, instruct the Embedded Wizard Studio to generate source code optimized for your ESP32-S3-BOX. This step translates your Chora logic and the Mosaic framework into target-specific code, optimizing images and fonts used in your application. The generated output includes a set of `.c` and `.h` files that define the GUI application's appearance and functionality. + +### 4. Integrate and Build + +Incorporate the generated files into your build system. Include files from the Embedded Wizard SDK, which ensure proper hardware function utilization for correct drawing operations. Compile and link all files into a single binary, adding any additional software components as needed. + +### 5. Deploy and Run + +Deploy the compiled binary to your ESP32-S3-BOX by writing it to the device's flash memory. The GUI application runs natively on the device without requiring interpreters or just-in-time compilers, thanks to the efficient source code generation process. This ensures minimal flash and RAM usage, providing optimal performance. + +## Conclusion + +Embedded Wizard and Espressif’s ESP32 family are a powerful combination for creating high-quality, responsive GUIs in embedded systems. By leveraging Embedded Wizard’s advanced features and seamless integration with Espressif hardware, you can accelerate your development process and bring your IoT products to market faster. + +If you're ready to take your GUI development to the next level, download the free version of Embedded Wizard today and see how it can transform your projects on Espressif platforms. + +## Resources + +- [Download Embedded Wizard](https://www.embedded-wizard.de/download/) +- [Embedded Wizard Website](https://www.embedded-wizard.de/) +- [Getting Started with ESP32](https://docs.espressif.com/projects/esp-idf/en/stable/esp32/get-started/) +- [Overview: Embedded Wizard Integration with ESP32](https://www.embedded-wizard.de/espressif-esp32) From 3209e39cfa9ec92534f7cdaeaa10d4fd7a7c2fd9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Juraj=20Mich=C3=A1lek?= Date: Tue, 27 Aug 2024 14:10:45 +0200 Subject: [PATCH 2/4] fix link --- .../easily-develop-graphical-user-interfaces-with-mcus/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/blog/easily-develop-graphical-user-interfaces-with-mcus/index.md b/content/blog/easily-develop-graphical-user-interfaces-with-mcus/index.md index a59ee996..b3f1c0d9 100644 --- a/content/blog/easily-develop-graphical-user-interfaces-with-mcus/index.md +++ b/content/blog/easily-develop-graphical-user-interfaces-with-mcus/index.md @@ -64,4 +64,4 @@ If you're ready to take your GUI development to the next level, download the fre - [Download Embedded Wizard](https://www.embedded-wizard.de/download/) - [Embedded Wizard Website](https://www.embedded-wizard.de/) - [Getting Started with ESP32](https://docs.espressif.com/projects/esp-idf/en/stable/esp32/get-started/) -- [Overview: Embedded Wizard Integration with ESP32](https://www.embedded-wizard.de/espressif-esp32) +- [Overview: Embedded Wizard Integration with ESP32](https://www.embedded-wizard.de/platforms/espressif-esp32) From 67e2b8a3dfb19625b60f6898f645a4d104cde229 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Juraj=20Mich=C3=A1lek?= Date: Tue, 17 Sep 2024 13:23:24 +0200 Subject: [PATCH 3/4] add Embedded Wizard Team --- assets/img/authors/embedded-wizard-team.webp | Bin 0 -> 4370 bytes content/authors/embedded-wizard-team/_index.md | 3 +++ .../featured.webp | Bin 0 -> 43912 bytes .../img/embedded-wizard.webp | Bin 0 -> 23758 bytes .../index.md | 7 +++++-- data/authors/embedded-wizard-team.json | 13 +++++++++++++ 6 files changed, 21 insertions(+), 2 deletions(-) create mode 100644 assets/img/authors/embedded-wizard-team.webp create mode 100644 content/authors/embedded-wizard-team/_index.md create mode 100644 content/blog/easily-develop-graphical-user-interfaces-with-mcus/featured.webp create mode 100644 content/blog/easily-develop-graphical-user-interfaces-with-mcus/img/embedded-wizard.webp create mode 100644 data/authors/embedded-wizard-team.json diff --git a/assets/img/authors/embedded-wizard-team.webp b/assets/img/authors/embedded-wizard-team.webp new file mode 100644 index 0000000000000000000000000000000000000000..aec588dd006117ea7f2e351d264fa94b99a8a3fc GIT binary patch literal 4370 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 MvsI7UzyJUM02)1-OaK4? literal 0 HcmV?d00001 diff --git a/content/authors/embedded-wizard-team/_index.md b/content/authors/embedded-wizard-team/_index.md new file mode 100644 index 00000000..9dfaed77 --- /dev/null +++ b/content/authors/embedded-wizard-team/_index.md @@ -0,0 +1,3 @@ +--- +title: "Embedded Wizard Team" +--- diff --git a/content/blog/easily-develop-graphical-user-interfaces-with-mcus/featured.webp b/content/blog/easily-develop-graphical-user-interfaces-with-mcus/featured.webp new file mode 100644 index 0000000000000000000000000000000000000000..29f19efa140d46ecc86323a40ee3f156a2268f3e GIT binary patch literal 43912 zcmcGVQ;={?m!-?LZQHhO+qP|6Z}BbLwr$(C?W*~ryJz~J`TKS<;@s?u6PXb^_g?GC zOeIM%v4Bbd0CiCz1vLc@4JZHr0FZyaS`YwrAb@`&1X5)H01lHt*??4aAR0h?i6Yrj z#f4R+q$pOF2}qE}cAu1~+@U|&sd$1vRKfU18zWQvpE#G^?Duml?Gs}4qbh91T9o{? zzsS2;I3HP$y$Aj_ycHg|ZMCL;_+RE<@!`KmFZDOQk37xolRs&1v(x%ny@&q0zm>0? z-|}C*Kl-!3zrO~%HM@_$bN)FmOW$L!w4cov@E@)3^6R}G{%^faKR5g>{;l8rZ_q!1 zKlZ<;E#g1^zdz@@$Gvaf5WgJ1vA@3?+`sTQ@jtz(^w+sBy{^BHK3u;I|NK~a3;4IT zMgI=|_uJsd@dxuXES_)ADDxuh8h%`qS|W`kH@(-;7tUXZAPkV^)Q4 z;rI9#`wsXUeNO%p579s7H}^C94*Fa9TfB(;H}|d^+i&m}dri26zSxmV8Mr7Nm!$8U z3|x|dOEPdl1}@3KCHen%P(%)zJF>w$!~@!L%&a97v?jmg?Z2l0J|J3VuA7m>jM6Ged%YqCIzH4V9iZ^KBi|!ai8E@Gu68b*D;D z;+p~v#Ju`ow1SiWg_@aBR6nUbk}CqmP5t7I*fO%r+iqa3S|6ecQC~qVSj@)!3cZkp z`RQn$SSbpVsScio2-AIykbreDbP}Bg5squ05#Mx#RPH`giM*MguC&t=3n%iJwG3?L z^=Br5zt@I7!>KpTh0riZHQYrfD)3j!fD5=8b2So28lT!r#N=!IoR1#T-4z9QwOt>; z_p)w0zD<8wCWz-A?#hfe^s2u~&~JG+OQRb!2ng1B0N151uchBT&E<|W6=9PB58TBa zxaU{W=@}AGp+0N?L<*28K2$faP~-eTDtLojoCJOTuJo{J4|U67AvgsVQ{r{1vMMr5 zJq%v+8<9y1wSU$Azs!%UWqtq}xrkr>`wPVrI(JNUGKH5KWWjk)Qg z^sLuF^&qTGeRkwD{0j`J`sxfXmipx=kIC&Fm$SNkTJt^j)xC)Q5e;zXHA~rckw({3 z6d)b$9eN>iJvnn-*4w~+L2vOdu}I{%IXqP8bv56eFuu-rQ7;)fr=0K$7W3hap-FP4 zv3|v&B}<*eyTp852f}P(a|_XHlE=s{ai)enAFn7M>9V0@YoeM!fKb?{vW>NC-Mf1G zI#5$#_7`x345r_=a&d8}FF(|~A$lPF7a|MUqr5%nlBK~S233t1GW-mP7g$AgAd@>$ zLQt)g|GiUXe6Uh+p^32HjL!?Eef5Qed*DC7&o@g9XT#pB2^b78B$BW!MRpz&(t%4f zY4(z7lC4MR;uzBR2@}=TerbJ8Up*W*i6YyW-BH9ibig0I#MH*{;sU56ydsqOL%RZ< z``iW2nmgRkbd%8(Zr){Fwd#kXyW#}$s6-&?Ia}jUd(yvH=V@p5j4c^UbLWE*&YEey zartg~_uEDors0(I{$)SIB`M>T_IN?bA@4)+ns3~(J#H9!u^gR5T=@;To(GFysNrJ9 z6@<+~&@zWd^T+H7%3Cv^SkgKgU_^kwamF>hap$ZDNNW`9AkPh4T_P_)tAG}`+}89z zflS#6EiAH}o(TUBMJ(Fp!DPZ_$Qx)gfy%{~YA06ZuWWp*I4yy1XtZf)GZ7tT4%okE-#7DMg2Cur>*;PwPnj*&lF7ODnK zo(Ye8XAt!C+(dwh1=SHRhpK5wBfMYqKi zst4mU6c&!Y7y+vg_gdhj+Z4RU0j>hvF--{Us>L-b>=^%6xTRk$a@!NZ_B2?{mg zsh7#svX(=Pv(V!*L`iNwTN5=+=kb@I*~{~n9~eMwMboV_gv-RMyDB!(Bbm;LI-TT! zkF?RaJY+|tz-ZfQ>(Ls$_T$B>{S6{KGUbcw`rPGKOr)X~*yrrCi^B1Xe%$edts&KG ztCaWYzmn6|s!A2;dL3p+sIBF5%Jd+S_GTN49AQw#JQf$aOJAupZUHR7XzcTiIjT7fhU zQ;m*n3)|%NXMBQivQM3Agm*m!kVjF}@Vv{rT=WC(iFOD%Zp4KzyqFu}REAXy7lSqB z;DF@ypR~7Tp?>V@Vc&VwCyH$Bkpew+%q54!gwC>Rxj!U%;^d1TPjo{wDvdc)!3r42 zYwioH4$rej&E`Nl0STWB;Os-$)VBT2j+Q^PolNvN=J5hBSdvWw4~*fqN28g73Hz?J zMQZirH;edzA!(%yT#~*wfG%EgG2avTA>(l^wxt_Q525cL-CqkHG|#a^Rxn<@^R$oo zF=)5%kt0zXMp-ql8pR)TxkE4^M44>s73CsDf(FL2ajy(pOf0~um6|=yo{T{O6ayGM z%=q+lgT(*R)xeJPbx%3>9w;l{9tAcM*&CNPRjLfK=?o@NN{ce+a34uNj}v*lF*Uz) zvb_9keb-K`G-*NH!=lYz$DiGg=Zm4G-Mj@@cc<3X)=YW|mOe!MZGkQEmKv*SfZ8*Z zYht!Wk_!!R0bZhh?jMlshRj&621`N>f%n@hxSo1k0?>9YRtmp&16>KZI))v=16WOaljqR)a0l`E!?N+ePD+>~w&U1!)y}b(+u1x4#Rr-z^|^vAjXv9KCyu zBKYuhISY@MkN#7|CAEPSY9LTrPMv_i*S$exY&^HVMf_I`I>g#$>}$1L1K=ia&wEj= z(zy9kG8+Edo@~xPbu%Jf6blCh9M0rzSl8R=$GdA&nt)^z^UzSx_D7BQtf8?DTvUgDYtzMrha-w8>;K>ab;z7!Zv_;ow zp4P*sa%ibmhLQ{V4zK8)?-%4wgC&AVJu(l{w`9939NV@+Y@If;wLjL&=j- z56c4hhiwwwA6^mW#_LknTyp0u7>wSFvH_P8YQC#1efvrdwZXjBTjCtuj+R-+5i;tf#x0mxW$SnRIkcqLymSF{w4ohf@3%9I04x9*2@)4fV z8Q6Ot+Y<9zM7m+E#@VH!>YOlvXU)GfEVO-@iwPg39OI)KpgN%7TPhG?Io3Yky`>Q= zMbie!+IIboVsENKzr;&6*Y}z2b{Lh*hZ^OJo_l3@OizxlCHL;~`mXq--eMl-Y=H`X zeF~@dCZ=ttJ#HvK$f%(XtI4?*V~cU-9>g@}2OE>6D_dPws2~w84n{Vu@E~*uB|}P7&Cuc^Lk0-(mHG+#_>#UiycBaVvgT(^A-VQGBzg zpIetEF<-yFaA#*hRQjaL6nD|OTb$&57DzLg>_{4?{UxA6Te(z`d6t`&{a_^B%vkjP$s5>wVLs0nEOvwsne7n&_WIG!|#=X z4+%qcB(%{K`?CCMv4ZzSdEyrK$oi857L@nhN&1Q&r5i|&e~y=PKE1q%%)A4bq+57t zu?NKqVMM{r=|<5Dky_Ppf6leyNu?K!kolNn9aXog-`HA%Zj8=Y|6%hYGku#D34QsL zo3Xj|ap|e#%Kn?*Hu#^jB4uKOjiZPF%RmM$x5{huh-}q=r_iSs{Jib9T<~iHN(Bdy zA$u5nh_g{+D`ag5LSwS5{VrfR8YgqoO^>N$Eh*PqjS3l6AKq<^77`wuJO6HOEb)G} z0|Puqz2XHMf0vOv9X^h!YK6AwNf=$8L8&5v@2_h0>mAsd&e%HDGJV-=50j=~Ab5SK z(7KaGiAo-swRzd9B%!(pnObIeR}OIVS!Far>rCOMAEJ4U=$6nb2_8$$a0Qv@iohQ*J=3orE|Y5lR%UILZAT;RM=?y zxu7*(Czu2n1=S+q04VGbF3~oijd4o86-hh2RQOloWfg;?%H~uT%On9u%r}7s4Wh8u zZAKEVPJ@+m11%EB#pc{i(AkVUxa@p){bCGorFt@QkKz~!K_6?aW&ds;tm^mu~a2b25>}(Mh1;Dy85o?7ttP#Q}*E4JkxBm2b53VmKl@`ueTdO5{=4afSlVe3~qUKfk zF=r@r_xAwwf}`cWbT@JIE62DfM4rG1`KtS6x0-~H!(a*&48hlq3Ic7V0MarcoB`TI z)^qW?JIHBj1!tCG=?60-46h;lKdQo0^W3FP0=n+#_YQO2rQ{B-uw%F+Wt>nBTcKu< zYL73V&@yH2%=4inrG1heZqeQ#iDn@6BKhQyrDFdW}R!_ z<>O_^`3e5dN!r|obefJ`R4fHbM?FIduk_g?j>{;)zZr-Bz(5g~jf{AY>a$GccpcX& zc7aQxIX#O}S3uIbq`hhn2I3#1LC~WN^oUjAbPq!IoCLST%wUtPL(BB`0)$I3 zr5D`vxDQRiaRZkSlOvJ;tm1!!OcX2>Evdw=oqd$hLOlHnq}oKL@dDxOT)Mng`!uXL zzO&}RL*x)MNl(1%%)6cFf!ilxCr-l{vCwc2NPH`}Si-aMv4|SU_mradu~`B6#!p^! zs+|&d((m_p4fjIWl;+bje}|bm+#;!)F4o2GRE4s0-w!Cy1r!Z=K7m@eerzn#{@pvt zzy-|QdB8*y_u!@fl&r>$kVw!gRS)YUss>z2J%%GSGm~JXuj!~1QHb^EDy0Xqe$W=; z;s(!Flp|N9;z|{RANzZYyhU{7KQM_(tnd3By3RU`zHt~k(lPuu>iRF*mfU2QK6a)H zfT_HOf|YzU;5N(|9u|^Qs*l=syG1W$V?6c$vbh;=lI!MH9sj}9oNakWH5KHDl=Jm$ z)LT}ErQ;n(TE?f9D+5`+a9hz5zRc|y$kMs%vZgV611!>!f2DnrZ_vig{9SAk`EpKg z^#d7xU)TT-i1mKHa+C&0zUJ!5rb6PE9G__2ePFxj2-Rw%HozkPyG8s%3_0CV+b;HG zuCMT!BQq<3M>~5rk<(8e*$2F8-Mk0P=@{1cL96Cdxqbsr{?Vc+A22G01v-ZRH)A9( zu6c!6Drzg`k|DQI&L%@{p`1yE+(bELo=x#`*F2PB`fup*Z>sTsPN)Ad$Nn=2BLML8 zjm>{>ANA50yGD>e_ZWeFO^@9yIWp$I%8LEn}+RiIuR zYmz8+T?_pSfYy8sXabtzI#~y>+#GaE<^8LGjXY&0$P*+JW^O0IBa=a7}#vta+2C1jmY{(f8@aQ90)aZ9Kp-_+DK;I*#diS zB*j90BS5QfEL9j{Rdi7jVGYGp^s-B&m;G+)WBvKWb(g)(3a9JeqU~d=xcd^>@Y>fP z*uc1^-4l{YzX2`kD+FQ)!gK=t#)zCg9V_@Ums4&7Bm7c~u^o*-?>NRP8vm*wnJc9c z$+--B+P)x`eIf`Fp8am2eYsQhvUm6*T`J?k7iN9{$uN7V;_~9snU(j<^`M7O;g*HG z0o^QGouxTaVA}G{Ku|BvtlJ&ZdD9GGjA)7X&T&y^7h&=!6Qsb(K@OUBKMTW;DmZk> zIj&Y`FCR!4cfYb4oz&I(yy!iHTRA7`8u`6KFd~PjZ0`~XgNgkq779TL&E;WV#p0q*|T%Nki_Nn@b%x~5v1mvH~h z@w<#$Sd%qDL*LkTkd?_8%{A>;HT5rXZO%U4x*RS<)|t}vuDA<;1++1K)qAjUhvh%h zu{7-4T&UWKhEs3nyfJSf16Pqfc%g@__kFh9+#Z!+H&@Az(9GV!_ZmZu-F{YcfHym1 zY)io){O-E*-KlV5>`3%$F=_$b&MJszUdRL)65w-OnC!3~dY#03y74bBx51N@5f zpV_`1U1E03En@mb27NEwH?nqZM3t2Yo54)`>ugK2M+UmKWD&&%zv&+gOtS*0S*5wd zEBN-S`-b`#vH4-ZX;Q z?r{i6N{F<(Z764Zm@{-}Q5~v~FWJxKWnu9|m@?yC$!;Zc@aXcFuOs5)0JcJ~X${f0 z&ky4>#uR@Z)NH*YL?*kpPk$m|Zy76k30@byTGIUNk(vYE2smj?oU(G?{8`fDQgS?g z@RwL1tlIBOkOzC4X&UmeY-N<;zGTkDOpe%&SURaUW)F3YUhNR$;@oxxQCD5zo_w`y zN%`yPliT6wUedl(aNM-n5hg$ku=5&oya0FXZ0}TKwCT-k86K-Cm`Xjpa<^M1QiDA- zs2|=&YaUgiElcfR=K2iRlfSye^%1Un7)sH!U`9%;nX+G@0pq=>AY4nZ_@QE_lc5^lVU_Sa{x> z;TpO??aEqdq{;!lhtM&Z%W0aKWMeP3=y>WyjpE@ITy3_kc=FXc>{d2)PkS3aUUZ|* z1wUxnjMHX}RxR;mo)v&|F!#%m8GaEw@qmx%b*^|1ZG|{1T8x}S>hGVX=godm?jehj z78Y;F!6F|K_fa7;S0%V44Z`t;*)!+y2kO#&B0Fwi=4T37Q^D~P;dpN(aai7EmU(k; zOZbvV?;gTiYuWR*UQDC({JV<&)hIJr6ues|eOpPs-0C6|8HuhQe0=&qxwy8Qt?Gc~ z^c?<5d`YXB+1eYrJJI#`BQK6yC_iY&4v*iKA}@>2xoBzhhbBUR+qoWwwCQn zxr;veT=s@xUartoJRRBX0gdDWVXi5`3PoE_-7*+XW|<(5<1PW{&8cmtZe#Xi&E1&?fm<_e9_? z91vjLGP+MhQIMOJEl;u9!s_a^MWYxCwvr$~{_+@ECB(kalUcEDK3nRW!Nwy|_|<|M zKb~Z1pRx=+O1;SGbyHy7@0#<=ha=qWO+2!CUfG$5ua)X#^x%(AgEg-g3)+n)!}|3^ zyeqH=09D}EjSlxOmf;210seK0-5k6;4bw|ZA;0((-n0LFGy$JZ;)0{OJi!bOzJkjn z_jviU$d7bD5d+BQSQUFi^yf1e26hP{pCi3%o?!Z&B|^6d{_gCKz50>Er*VYYs&3Hy zVUnC>mEi=&mZDc{RA}eUooimk)G;>ntsTlU^4bF1!zt(B9mGcJW+-l$m{d6^JJ(TR zYB4s9%tQ*h`im_dI_Kj$*-PX`h6ePtP23x`8(a^a)i`qIz&xIF|e;`$U-D< z=n)9f)n5uVCMr|2s_Q^`eV;pbW;1Gzg=yZ1z9XCGmxCyhMACWEy1%rc3_Mal5Zqp< zwaGC}`8DBpZ#U&QPL(Lh8gcb8ECKK4Z{a(U=$BF0X0w*SC&CfutAv~Pt+ck1D-Z^!*N43!ik^~o#vF5bk#VL%r3*3DGRvna&rq~}W3||}*!rW6<>dK$hJ+1f{W#K%FDZT3A25balR`W)b_* zyBx~z@KVHbCz@H|H!MU+p+p&{EI+9Fu5+HwU@IU5)ZoZ#0O%TASFQ67pa=O;YWv}`Zk+{^AxU0svuJ9;j*1H4Rp3>eUvd^qiJ6^&q$I1 zphr$?-AOx0&xqB68>3-e`$6r8XfcViY0Gxhb#mm4>kLJwFk&+;G>-0Sk#SOOUUz6@ zYcXrB)CAH7YqVA^s1MS#*IE&2Frjr$!5@8}Irk|@?(WmJcx8SPsbj{t$4LWrk7mjj@G7c1H_l%a*R;~0JTtrymW)&6f97KZ)wLt#WY3QC?eSNEqgdyhpk!x%M z4mDLJpyr^HRGo2}@wq~P-Y2Ev)ROstu47tnq!=;>a9Q-`5~IRva<&rnz-&}015RBp zIpaDR;@ED+!f>oI|BMz?w7lBa)E}a^^a>nEM}iNvfQ|eO2>uFBPu@s1kvk(2-wqwk zs@UQ<{)ANZy$4n7nM9N9vnv4uH>3dtYb%2E zDD>(0vA7_1g~Z9(O15&h3~e#=Hllcd>Eg&(_0)F5BIukZ29a(d)27D$%zi?Ki4zY1 zLCuzV9nax2T;!P-RF#B8PqTB(xjeAR`-C1a_M3TFkuQ!D9L@)xMQL!esJ%B-HqIm? z4b#b9?BM0=wMtaWMFZ<7t zfJHzU0dJFyU(}9W=&0@)PY%weNT{t*R#>pOF@&e!`HrYGTQA+FQTFmWsdR`g{_F<< zpiKq%Xk|-dC5_U}<|3_qDnLckP z_(k-!TU6y^RVn}4%ql`t9#V$n<&@z(cPdFrKj-0=-3v-N6k~q@aK##}7H$rZ!r8YQ z!2Y9tfwDk^O}a|fd8PYjkoNtc?*Wn%*Bjk4Eg>Xx7O|9-=F(2nS9w zxt|q>W*7qz-FQ^9^=10yG5k6M9>LYUuBu1{8g^PRIfBz8I&pT@pCmRHL%Gxa?pS1& zO$|a7Z^VAMQN|@U>gLWaV>%=^!tR09koLY>S4Hx4YEfDcG5H{^#BpWLeuKykh(?(t z?_(3{0XNb*6JQg25+j2?42{69wr|Fjb62SMlgSEkGKiGP0tbm6{GL7^t}tYRe{(gS zNs6VP`tX({=5K|DkR@xbm)?b^^mvxfG!+==LcO)Ba}yMl{@iN-MOMR)*@rPym4uOi zx1A%KnZ-T=8EO;MW^w>Uy8A_**^S4`YSbA0Q{*74F317ecg+DCf%{7wX`wbexoTPC z9Z?Qr43y72BXsdx5mC6ZR#6 zL`GiNniJhiVWZycw&KGbid6oz^?fFALoppAO0RBeUZqJnP6;=~cznLk*E%9~uZ5(9 z1?)j9ViU@}$x{FC1k*QunMEzXx@b+F?6`aSE&IOh&@dkea8UYoDE)h$t=hX!2?`-Y zGf691a-$^3QENWSV$79lod`xs>YRA6HBxm138s14F>NWFdKjhadkivHl`T1z>C?~! zdw`)>ia`-j8E0Y+8@dc|baKb5d(LQ|<~;cH(Nu8;33BUug{_0k!Cy)zVxS5tn%*c0 zewFFx85NvGG?YustDES9*M{|EF)u`|uhAvQJJD$^XRbss#ggQ2aUI$C^8j|bwf$Fb zbYC{3mEg97lii3rkGW7XEyh^i3^>rRBfgP0{>8dlnuq{(&MUr%#G^+AU_%ilRmUgU zW(|%UbY5xtvDg+C-qj$F7yW{}v`_RSCur6_T?#4xd)l3BDoFhT?3gDSoXY)dy$pQa`+Pd%? zRU9RdyzwOi{YaK;K!2LJq`vp1FZJ2-!}(VVBMaH2<>kO&BM1k%cI~(ujFPuiDLK&n zf=0NE?;NT8lVe3N{n*ixxVUQ<=ySE|;X&_j9rxyCVsXiuP3QFjcOL1sqXBh1@)H1g zQ4uH?l;%%LLL9c-!6gj)&vv)}c-Iaz$a>iQtalZ>Ma`)SCBAt^5*_kS|0zd6>OjuB zTOz`Gwj5-{9_UOZAEfnqS%K*=*@`=8BXghs&J0?TT9+Mf6i9t*H|u>wl}B;EN2WLG z5WkW02>uB>YjY6p>64;<2DQ>cJ^g{82oE!onpq?ZJ|0!rF1f>qGwvQzI{ICQx3Yn> z#QDblRS?*L`6{Tz^tZI&^Bkal_E$e+Drx1Q?|xYaA^(7~ArUoKIZSknkwIz5%S)>n z9k2w{O$9`c?ozQj&2AWpFuJ<#rUfc;z7wAfhuxbhn;@7yzz0q8m+O}T$Hnv2%wa&f zq$4zEwVxPt>o}@Pe-`<2qgX00ryDO;zKH@^4ZpwyI3WBD+B8h0Q+R97o5VR`nHe7D zY3!SI%hJ=F<{skZX~yvq;jX&*RC*5cW-YZ&8BeUog*e{e3czPH z;d=9ec^_V72TYu@5@)Ws-jnt;YbYm=^5!6QzIO!F9jh(*n%e1CI;Q6Vn~v|ZJ^f+g zb~8n(kT6+?Wk#q>14^g5z;Z#d7zOe30Tn~Ve@^^0G_-;zV79dyF>HPf%WB28Hovtb z8w0nZkKw+e#VQAV@F22&wb1ALMpmJ-FYTCW@Jh4sYA7Q;g&fB|vy64Y^HyJIUu?(y zWFtm>f+?i8w46zUz#%fqgESL9*;$21Qcn5^7kM(aecbb4(eDw@?gZTHGD>ONHERKa zechMRXQh`VH0$n=b^y9+FnVrxX0K`T4mjKaFeQAvik0=6n+CO0%_IMLhWV?HFu}>G z%9VWn5u6|RE`;Xq;sjtJULiPm`Q9nI_)fuy@ET??<0uUWoh_7r|5#&bcF`ChLC@E< z*9(o|>m$X5+~7$|M3U#^NF;PwY%)hgsaitX+eKp=!gW;yzO<1+@v;^M%%na0;1hd$ zNOKVQ<$kbg1mKQXs|>Xe4(SU6=@^yB%xy@Ba9)2Y)NuDHmZ&@r!K2gsJ%V+&Sz@gB zD?O17Sxoy3{_dkck)6kL&w`-JLy{W4E8q) z1DwS$pv-SS2IKRiLNK?8CPL^tyNNIc+vgsu&-{&YQ{P}Tbuxv*^iGQ>8Y-E)bouQH z8I`-`7YY-qiR?A6FFB2`So$DhJelNuL~k|D7(G_@?p2V5!Txg$IIQ^~Q=Y6OJ=mJd zZRv=7!zCj~z*A^zxYbZ5zbNCNj2KEu#6q0?PHBqkeGQ0$?Aiy4v1ERn3?<%dtYAs- z%BE@NAwSj@M(jo>IHV-yjOG3gCh!|U5Q)A0Hw7j0RJ7gPlrZisk<|q9pO+Kh75uvp z56$sGD)SHi`U;wW!>G^Nv`gp@`|q$4P2orbfLSl4N^be}^#wzSh_E|xW!3Legv!{I z*0#WCFDou&kRY&58V6}hFiRbhA*st?tkH{k6KRHg_D~hFz;>?!8+6l52WM+V*S(^Y z2-426l7XhC%^kT0mzafBIjPoU$3-y6CVKR_8|=^3J@%30NZ83*`}71DN}Ef{Kn0V(JPL0$w|j`a%Zc#hG^HpoJnDIfLU+h@ncaiAJMX^oKCGIc zj5p2lN+Vkr>yjOja>3=43F@X6J%ms&tt@LsT6{Ty5|35tXco|Gj%%l~c@4Yvn=f&d zTR#)p*EmU@eCu(x3+gFG_kScD2z?A)>+q=^HUfMGmdkXg%eQ*HvM5B1X82X08s9LEU>~Y0ODDQ%AzTQ$&zs@mbnSTNJ(8{W1Z-0Vk^L^Xr`8 zKpcCK^;iR&E4r`Fgj4pRLKk4*3?J#j7ZJR>(XM|e|K1B6m##$$rUg*!M@-K0AI?CPDptq%D$)Pxv)wx@Re$ZCpiPf_4mj?(2*2kmVgy1H<_h97E?<%O79Sa$ux}W zm>?f6PeHh|0%A0rl`zcjb)`pos(R5Gul%@~%Eu{S55+|SeK@>wz?9tf?@!796-Iv{ zm@B_&b!)X9=XeJWE6wbANU4x+eZ5C7eM)leAWwm9+k;OueEP;Mc)?lzV?i= z)`}uOV_2c)-x$v$r^KuSPZY?Ha)zhcKHP;rg=rYp1AePDkqEpqzYE82BV`zbbd)Y2 z+r)bRsMJjmyTWUsoX+MFF}eU{Q@B8!eW-~r%GQ*N#5Ib^W3MogwE>O=@1(}O<;P}l z@3;dRV$a9VBVu_Tm=HB00gIxpVsplWsKs>kWpF&=3>|y7Y4gi~sDICbXJ%MjKhlIQ z&qOB*0JWF!qHjcE(jVypszo*G#RNS z+qzJk9syr?Ktdmx0z;lMkw%d<;5`ck-dnO~iIV6oJigUAPzv8d@OQcd8TX0^EP4r& zly_-*T#rYigVf-3(KMtsPy+zKm!GSkfvu20+YX{_|liheLxA)aHyn(51NT zuXM8%WhcDKwrv2Zhc)55dc@`uxE7T_H8g~Nle+o2)exw4iqn^8pTEMO7Gz%}v;gYn zAHd0WR&v6x0o&XA{;uQqr!gY-5Y34QY}DrfH=xR?Bip2@3(thy{J#SjN;pw}6v)_1 z#LKW#63nLPLkSQ!Y86N4{t8RX2w9Wec^K;R{Z?8O?%*g&*MEkF5KDbQ^*zs(OKiFl zrhd@^Yyq-RSv7U9c*BNSli)#XLn6X##IaXqVCTS|GAe^qvI@y7 zn)hZChB@6pf8Bw*HkKRKwOMB@htFKhN&m9G7a$RQ z5ZYX}Ob!`0$t0A=zZ1D)q(7JJ#P>elHxyP;XD9n`VpDl8&z%BJg|)>fTjaCszS<`h~?RRzD}KcW%v8S)#tbP#?SQ6=Ak~& zNtM?5i*}?YRKR21d((+^2muD$EoqF&(qx&-M;sn^V81TRHNm-9Fo32Gb$Dc|Jd3=r zc(_J55ApT}Q!cfz#3BZA*iUZRX%hydi82@J435~VecMeBkI5>{5j6slQp1|JBH~Vn zaVRC6M_u+~{$pR-q6a^G>Y!cJ!qXBw(B)SMomwu^3C~GU@8+)%4+^Cs8LAz>`_Z%a zdF!jYkuW=w3al~5l9v_TBT0GPV#^)K?`%8J9>J&{R5;NWggf<8Ii28MPLqkp;*kSc zgNeYxFEcvfVSEgjpK<9qW><@(-Q}HF(T&NeN(AlPv2s9xilwraDNda%13np1tgVD> zbMM#$$6jnEd>QscpZ2g7W6WPOYz+Ly7u^(oZbg{8a386+cxl`|RFJWqANsx&IBo)q zsrI$3h}a_;jxD&tKYh>rPA+)zHteX~ZBy7*qK_+CrCW+fomyS61|!D~TOZoo#W{gab4#Ut!Z&}kO|^i#mMNC$F0L%{+2mDNJL9=)F_?W& z!(ET&SEXZX>`Ki&Vuqovb9)AVt{w+tYswIL4kR`^u2xysfuh)Z#&eQTnA(Jppa>&{ zMT1jR87s{^5`(dt;7W91aoi_|N)z+h+_V{A)@kmES_jT(dCL8Q3R4q0FX$d^|Is z>}vqI+eRy}zX9y6aPxA4I1+ZWR6%P`dePpjQ*F7kAGWTN%M9K=+A7d|>PqDkIMM&+ zHx0UD=MrZH^Ki}zH#y`NsE#2KNU|!%DH@5c!&%}}LI!IdxWuehp#v0Xt}51m2^wC9 z2ICZ~jIo+*FIXZWQ>mciX>*HEN3d7}=L`0HDI=NmBaKP`vBgn)FDMVxSy8s`F{oZP z1T@g~PT;igQQvzWTh2WYt=XY)$+UFxlPXlSAbg$8>MLT72domb^E~m`KuoT^>+oQ@ zRc;8rLG@!bVh7owDckLOB{raPfV(j$^THOGLx_ujV`E}sX4=a;n%wGlqTZ+OYYcxT z;uh_;@Up1KL7*aw?dGlx3I@t!xwX?MRi3JlTz3fk1A*X8F{GrIsR|juQ~*f5Z}`u$ z?nFTGA>ai`Mi6a^QQu=2K}+&z;s+{tLH8r|Z20^-bV{#1x>1O*2gpKBK)XleA3MbI zgWzlwC1Pvf--sJ^Bu#s&J;77Dm0!v;0=Fjesdda|8&{ugEWrlxX;%AjW(Sv3jTz2A z2Epb-G45b9x%TA>;87~M#vqCLc$~cqP#h@0G!z3YqA)p!{Sg2wGv23z#)qH8fm@g? zqbC_699JeDoP$)(*QW$CY*P`u9O1wlYrFUtFHaR*C<8wbOJgMZSW~ucb<4*MkiRV`HYnQ9){ctVC8687O?B@VfkJMVLMmUlHN1%ZYx~Cf4=af zwntrI&($1qr@J43LNgY-dwgUjb22BbbJ1(5#+GNk^!Q%PxS||xJSuI;-s_*JhR~ef zX<^i>JExcVKVfYw2AOSkg0`>>Y_@H8wEi%^eoOZ22Y}gRAARRIs8;7Pmk&IIV}wF9 z*$2L?y6gNB)Tgj4lB!l#JkZ5Q26ZC_%s zjM-MKr6$5IOuCpHm1v6USeV*yY|tA7{S1tZxo0$(lDJVItJ!Gu#-f=a`aA8$vzUxZ z8eWrjC)iMegWg)lOo+S_(2}}L zp#ZtKj)PMhM4b}=O6`44O51_xZphq?TsdFBv&DB8C$2!fGzdCe81^VM{V947%D7e1 z)!;a&(Uu<~?FW+p;-@haH-iot*%U7xs;mTmbd^jKw*=yMVhVblW(qWxC}C!tl^3q_ zk;2ccC|=(=oBuoHiRVX%WZ5k0X0mF7a^6GrD{(p)l^5r}t9tl4p?++TFbcylr-PI% zaSL^-3yaWcYlirwF2J}{?{6=0HObTuEg*#FRI1u zu;_!BI7H2Yi^~)x`@0~NO%h%r+dFjaY?ef2=b5nQj>a!XC9qdH?w=zK0j);$Kh*=G zG3MhT_r+!fi%s3i!3p7KKLN)wNeUq}WA4SQqrJW-m*6;OAp zp;(k^41#LQXfD~gvafP1w}m%hbZzVRH>(qJ5E0^9&DrAYvan9SmHXRSjfAV&n>tBsD>2 zzve-oQT^CRX~)okU9ubi{0t*ysu6=v?m&VH8yGKrY@JKOz7%2d^wO*fD;k%CWA5r| zBg&HJ0q1NxCTa>|SQM=RmSa(J(LG*EwH}c%PjnN-f>{YfkcRFXV$9HiEdqV9 zWH@iU7A>)W_#kY@XX%aI*l|cWnY%!@ATE!gY%Uv`ys+6tL|@W!G+y90g3^ zn$x%$P^s2UcEuDnJA92c`+%~TXtNoBtDw_B*eItR)j-Feiw~+8>rnV~o`1!8tT8CW z%cYhdNktNkhjWJP}6 zI5Nr-b*2W>UHIRKW51BGls=77LwN`bf%iz`7#;u$O*2|_Dw;u0lfXbdS@DsFB~<+0 zDEUo(|I@7X&kpQUC_|wih&2OJd&rRM70vDo=%(#6$dbgY71Hz^JQ8ENKP%0XMRH}C zJCOrOU5V_QGz!|QKispek+4wovv38tC zK_|2Kn>R`kc!HDm?G=Pb+7naExxJEc5x;sBcgKz~x|XKNx7g2tJgD6kKhVyAzj zC^W}w%5`}7L{_4D2%HZCYGa@gI*Bx&Y&c06$XdLli+c^NBnxfJkhM0Ft+ufJ{-aWk z<@F^?uMu4{aTKxo?y{5TLxUS_lq4$I<9wN?2Y-wSvM(R{i-ou%mAog@2+`W|eo`dg zjo`UIe3v==eRJ4OCzP}(_l%sXcW2kG+?yLiTB_&TcAacom2w^3WnlCS?z(OdX6~Mv zg7s>eCgxn<*AIwo=!m%+xqif4TMR>b|Be`Om=*k@F$R#GoP=h>qA@~A;j}8wB%{@q%1;Jo6>~6` z3$|X)b+f&Nxn{h?%jNk==H&3Dc45T`ltA4HHb?6I>y2O&(?=-zgq=frK|DVFM-puPubb z(`Fi-r3Y53+`BLr?}LtOn;-T`8a?yX9*yzZAsyp2Sx;9=i4;BwtZFps~t>6+p+NrTV}FgRs~E3?q1Ehv^i zjg|Ts&RUDPZX?fT(36hM=l+9lzoOdf4rzDG_NM7kB6>diUd${BrXh)_A)FY(H;ACgyopt#r4{KfjXJK=59OCZETH;Ywrta7wwUx;%sU(o3+^VtU0MVB~3UxyalvG^JY{%GrjYf zLSiQ28S%qOTb^)%H)s22O{mH+tKq~nj_lc3H=$=7^WmD^o@*Zw?{L1GPBCMPJnUrK z1=70w7ThM98}`U=hxe(lc#-ZZXuV{K*a1!F)?km~LAWsc@>CpuiMh8B!oKK3voqyA zh%dyYgat83(u$VPIu6&kL|q~A&|wwqp3_CykPOzwYuq9$nF+@W6?pyB+*d|o&AM@w zfOhfLK;=w_kksVCjDNUX{}9j+d=(-(!WLv_-AT+_3;@MCZ$0@;&?utoB3ep$$v)o2 z(v$!p?;VfTi80?{Pw>~7_kP?f=+XKjA6K6mBhq+=MWj87oXrw3Ag2=BHoX4e-u0j?ap|J@=ghcqRBmvWBqwg+uIf{LA3!30o*>(Hr0ZcnhI)ZiLxG}-!?NF!? zSm;&MD+QxvnDg*$CMHFRnL8-W+Pz%OId7aGjKH6j6&f3Q!~-Cc7lTm?mygHG1^xU9 zs$sChb*}c&7u(j4TSfW~Y^{Jy%!lJ7pvQp0LK7odpO4_3;94XRgTcSncL$%{a(%Qd z<6MR16c9Q?XoD@>zBFd!*Zx>JZ4~{y)9^MR2@_^cip(kLH#s+VWZKqwGrQzB40W~D z`0lmq-Y-uapd+2nSi}iwmJnL6*1lpD%B+$U;8$g~Nc1XD9vi^d*X~UKQ3a z$gxkJX_L4$6)h8LJKLUL3+nx>oYubHXMdS1(nnE|K`RbfM3pycB(fH1&%L!vFO~Dx zFy#2}r6_(tk6e)e4#^N;>lXZn0wUX?#4Gn50sa9&QuXBW>Tiznjpl}a=ah|449;!a zG(h$x6y>L|8k7nq?$ma}a2PZ+_8Pp#m`&Ca^6pLRTyFQMLt36;+SsIe0i$^HRTyH^ ze+t(RTLZfxs9?r5Wm-z?)IkuToC{&L(bz zLRP9l zBn>qjl=qG}FcKp7cl?aEuF}Ic*4QirQA6lu9WM!cTzq_MQ~iG{?HcdPF89W+mc-%& z{FlwRcas*oZ1cOotYzx%DSUsP&KG}EE^jb?M*?C3gQ2rObn#6qjf<@#AYXb_CU&H? z20pDdSt<{h7XVIQK=68o-c}pP*55b9SCa;RdsJfH>iBpO#fq7yo2DEDh zQRJx|Gc1~)IJsBFivWZWD{s07GxsoyBd05`{y3WpzoIk!+ifxA@Q zw~p#8hNbtai2J9n{-h5aD?-2kJBQfVTErp0wA62eh;aV+dQ97uiI>A{Jb-q=D6dR! zx_eQD$cC4X+7f}><9t^2<-+}k&LRP_Y@Gyv-iS&bK7c}{`vl5NnGi+?kw7yu%?xoK z8IC8x5Q0FkZ6>cDO0o#;=HzRAZ4Hn=q*auVHX=}Z|04iwnUI1uJOW&uL&xu$NRI^DkuoCp* z2GY2GMfjKYo|%Ck@%$k{n>24W8VMXrcv*VTM^lGAve4C%HbzX66NW*-tN8_)Rzg<6 z-~mq$gZZ%g3z`sb^pH)%taM@?^gl%XDGT;F{dOpCqb;XPxeIq=246;8^-418Lq;)p zuV;AFG2R<6g{kI-179UA^LC1U?JbxZ54&SLM-G1S0SIjpWRS>nT!+?pm4e+JG8$qW zKK5N4CTcv_5-OT>`VZPUYmbnFes3&z2@HfaH+s|A5pW>MC*nyo4G)6;c_?=NamM$j z$5pqw>*MGxSq@O;F8@LU@ZFNuEnS;d`nuyZ3wNb{mddKZZ9cOi9Bf~gv$PuTzE$wR zzSjb)TtfXEtQAS%8$*SWRp~1+r!w%sn<$KWEF4{6-sA7Cfq72nez-ZoMYa>Izo-EA z&c|8+9z6cAS9oP`kTq-*eqep}e`+5|qvRTLGBal*UQK0AeE|?%`ZmO3xvTF0hgccD zxmb{(s{8WZO{nK<5l()>uN=FEP6LGl&)7KISE|v!^#LgQFSux>2Ux;zs0Gj9MMcCP zCFV#Aw5#G5`yb^~TnAQYK0l|vOG_PcP}BHky2aj)Nc;Ch7(H6YPH{8sXAyM+7p_m>uEbC)J;(Vxh65p zg@QcRwPH+3PEHqchGi~)`d6B&zzE2&A32CQ!dyro)G{E*ZqH-r3PqNBn{#MVvvAnl zLp{EsiUYRW*ncmse^>I?h!Y1j?tPfuvsc3Qn@9Jo^_}3gF5(@DL1^jQU!e-$17fR2 zx;l^m9T)E`nXC%C=m=m1`a$=W#im+1+wEDG9noRq;b1{$L2)NaE4<$Jv^Cv~aO9#k<#x?@uc<%49*X*C z%T#eSTdXm13+Co>NF|Pkn3XC48he^UZv~!kja}_Tb1_>W03mhWhg3azf;1-Ggbf&L6`|KX?NX+gy34(T->hsStkwUsNRijom()f4Y z-+1rGiDyKSl$Aw8%K3Dt4q&ewNbpO#HUjsyjfUkJR{50*jM!|)nr~M_ex?&<+U~0@ z5Wu#(T`-K!3GH_&To6|*7Ffo^@@G#9uwT-V{{-L~F2 zB14dzz`S^Z+@mOU?tZvNq8Y1DF632nI%a19Uvm;G9%Uzh6H#(O?0%zoG_`5bAZean{q)vnUFUO~?uB7k7E}R9o}atlJ&FsOH|jf^ z^EHhP(KaU{H45hnK?Y6;d?77cfZiEH!0x^f^PVgt^_E5XihGQ8r%6U>H%7Z%1x~-7 z{O9%6GPJq$xX14<`a!>tUYa*pX|vlrC{qggs!BpmDbOkavj*8UXj`c<|Br2uHa;kOJpE7h?M#X^_ag87rk zF1o+-_N8<^`O7CHHVpOv_A|ZdMI*x&9R03wLyhZ2e<L1{d&XDTH%R;)s$OcN!&3)NU^}o;NfQ{4_lLbaQs8U! z{_Z3rW})(w=3U4FNigf-E$i2{(mXSJs_GO$3}XI;7xFZxZda3`+35Uy4n5pk5uvHl z<@n9+wY`}PFZa=;#PwvSJ4y&*8iQ$%f`->Vzm_e>1yI~rK*kEtiL#m76ZX5EY7c16 zO^l^>RX;gUoSX8{$#Z1srJg;$fqdm6^9aWp=%g6%VmpultUX;+aAbh4NcG0v0?Tg} zkER60`pk;f^e;Ft_p-R>ZY{|Y9muVj&v?{IYkE4^0Xa6rn)6Q*-Lqo~mIL?(@I3Fx z6dy1emnepZ35I`2xgW4q;wGuDH1RO6&g6UlryYkf>+7)!8yIzi#iR^Q?l!^AQ)r%^ zGXgH;YCTpI=5GerPgjObKLcW1*L1~*2E#UpZo?NWkVcRMN8C22Q^)MaAOjYqyGHTQ z`^2v`?Q(?i*-f%}ms2iOG@Nlb)9PswQ(b0zP)(XH+UcEHeT2J1!Vr+gJ%xeLWx(3w zL0Dp;Do1;hD1k*dc}K9R-?$zpCXXXHS|7aDLFqi5E9a0lGeo}66`_72Ii<^nA? zNE>4Z&>i}T&+tE%#EK3%RTpTZ5yh;`T8p@_wucshXx4XXs!Ec+;QkVhVn^A3t?A^! zELnm(?0$~TN4Hgc`*#BEuSLyYu&vtUP>9RwLFOCYF=dU3W5TtL4D(hwdzsT z@7Kw0pv@w|Z8XMCP`+8u>OT?Y=BLJk+-&4XdV-6M# zvJLghxzV61MPyK0h8&sdr39S4I))jZ;aSQRtba7-P3e@u7 zGQO!1vpnrD?5DWqszW8WNC13?TLI*I^W8A!OQs1N3K_IWM|d`x{|Hn8F_fK~R^~$v z(Mpd(o;DCKt6Ey4V)DFs)mi22TJRE;6`(+jp;t$oXBl@zU3j`>UExWF0wlZs4=;`|-Zyy@pAVrMM`DLBrTZHaGMLq4j~kPnD;TiLgfqWseJ^ z9#V}(vYJVE05QO<-v+h zMAFW02tSB9$LG9%S^3Wj7}g7zfqDte2rwt5Cpu0E6YQx&R-OYxl~h=>md7m)x1Z-o z_X3-p^P*iwEA_pkU4K*s&o>;``!@VtqnyTxQ0ZG?Qf)jvCLrT*M@ulXn*-Yc^4)$; z(#5+^kQ@YkO%w}CmB@g31q8CLS88koEzo1bEV}u4`_MdO+YUXS zvg)w9TS;gMkX)Cdd2C zCb`q@6Ps9N_|LhTf+ny?0zZ69=zYvSM?OISx;)v{uiE2 z6MXRAzv7E%f@Qa@y^Kv{b?ayGmlTA_Qt!NA{~0HcG{U1I;*|G$x9wT1 z#4N-TC|Ispcad^N>7G!2_oXe!L-_-7+}0u&UaBE#z$D+-a#v(*SY9^9`&d<%#=j%u zs8uKP)8XpjjA3J2kw--kYMX0?Fq}mHt(Hfi?N69RV=ghc1pLn+j7=fUfJFSq{3iaB zurl?Us9B{J)A5^<8%CgAo~VYU$~-U=byh|*VnwUc%Frp0Ddk}fvjqsK^o=fOt}OAl z&&AB8GZ5n2T(ttRNv)OiF2&x7t^gu@%v&zHaXSoH;sgU4ELqSDw+rpGQEB$5#Qvqd zJz?2hrxcP~S5uzrYyh_zv8Vzesm0b;R}((M7(T;7;K>2vtO#dC6l4vEAE|i~MsIhg zJrRa4d@v5wfl|y<5Y?Aaq7kH{Izwy7uT{QbY#&o3fKx&p!4l~C>r&xzGDL<9qyV6`D!8Jib=HWnZRFymJ9a2RQZNiWKW+)Zq1&}=xJ)qzr9+rsqS z`zOu_nz}FVx`SqZKCb6CATI#&K~i}ZV*ot#W>AGf!qw1l*>5O*NDv=i_k28l^VtT= zo-IMj(X+wdP<@j~=`ui^ZzP1YBo8B2QC)Il<9QGtG zDajv4RfCrQ(W(27-w>FHTLOS%LlfiJ>YrOvEJ#lYk*TOZD-}KdZtGC;Bu;!#QCg)= zu=0}n1F=u2reilsp1*tHl(5heTDX^0${+9xmiF0gOp`Xht=JRQ`L*oqF?}#W;!{O zB=SQxjr_7NGNTHbCkoJW88$vXK;oePf{|d){E1JZgU@K#Ym`4rUrCix<ai#E%~;!PfOsc@vfpIz2jDg_NeKY>X% z>T+zgy}dXG1nJMO`0u?^FGb+oeqUlKn9gcBaiAP98*J5LKWWP`@<+PfZwy7XZ&h&8 zO%HGNIr&s6C+ptE`1?iHI$#w(Ep$^6)^{w;Rsr3u;DV zH@wMUb{#%E-7#t=tZ1zb^UH z&ppc{dnm611QmiB68>IT_k43fZGozLE7xfs)wWM}47 zBKw=YJ~AwtIT}}(E8^_=kIM-QbPAlhz`=}1L5He~R5Ff27BVJFZRsqTc$Q?mWZIhv zeyVG*bcF|`lw@P8|2X2L!?8#Tu$VZSRnTZnwoyxDq2>hGvCxy!bSajC^8F!fd*y2r z4q#gxP7tU8W)>k}1&px^;u?wS!(3W*oZWo%lR`E&V=L}S)*c7xv}_;HZ00^G0B6p? z(m?^iuxyQh`9i+d;4sE**6q*4Srvfb+J3K$RX93bj;+~i6RJnbMxHTN27G@ zFHGgq%z+quG&s0VcFk>D0u3Bzk+i6VR#?ymW-_cXc2`lbNyjN^xXr-5#^0m{ghxP* z_MqI(k15b|o@kQ$Gb@0YA(A;AEk_P}8}?zo#=N?jBth1rx|NbZBs9zktK9%4x7d5J zgBd_wbF7V#}Frnj#9R+D}Em7%nh z!J|c`)EYg65gERgEU=jF``E^V2)b}0XctetxNJPW(pJTXZg_w_ASU4yblYgOLJ7bC z9e@b$pNP|g<%$$FyJoeWQku&D%lWRZgc8%A6Y6XL00003dRscBm1@ji!Vfl81*c%M z@O)5ukZN4ARdj{20w4#{9T~Y7%>xE)zyPIY!yVP_(zQT%PX*rg9=uWpV>gVPnKr-F z)%VIa-Y4k}G07bS+v;z$6v~_;Cs6t0mQh@ikP^;$(QXK*jl9S}IHg@Xh)ymL-X6Ed z(|;OLnlrc!;3ci4?Et7YiD?_Fz**y@{RzN6Mr$QIx4S) z#*S&}L;rf{b7NH7)uyLuLu*s>GbaD@9Ws8aVyF21z(SH82#s?v_yK{u_>ffBiG4CZ zzv$oI-x!s5r?Ie?_lsP?Itl&6<_HX)WS$rvv5b0PIPSz47O(m;QVY;p zH0OuS*^+xwsN`4dF1(?;gep;x#a)ZO)Dwwfvah zkLqK+I6j)6M zKa#|pfsZ85a|wq`ZKcYLJ?9l(Hk?lZLw#SvUnR>~NJ&Jho3k`ipmwzMmyKT3w>Ghh zoIG1i{ff7^VqkNX-eU}yyx7e!3Z6s&Rl}FqNvw^`_))#j0i#T46xiDR7!J)5mvyYE z(_6@E%;2#Xk$F^4NR$;t8pui*S=Jxpqk-IA)O_bFLi&uXt>!CR9tg;k#6P-g7YIE z0~UM*tiNcc2haXIR(@N`zLdIUkc@fjydhSTwkEjT>SJAzL?agA%25)_yHhMZWwFN` z_?KaySTos(SdsS<=|baZsXaJm^b>qRpT3^L;F^I4V!2xm2{EyYH;>~i@ttytGD!cu z+#w4dJ(Cs#gh~lq4mg?bBT5dsqj?8#%pY&37T{*@Gk4No+vW3m&M7uF-VITP45g+Z zqI~6JK1tGAo}K)Gu!M><0Vp7WY%3@D+547}5d-dudZ%0G!25>!P6ujp(>4r-pZ^;9 zwItd54vflfnmaI~dGI39VUa@}W9k*zGS1eH6M~`?s&`^shdq83PY(DmO^PMPUk1y? zmf#j!^pX+2q?lulLeCG6balvR5H68R z!#06#C{g>3>lj}Swu1`i5wC{ePzfe zkCG!g2npD~r2E_IMX?n>x>J2dbB+t8O?m;tvJ|tO{2}gVp9%QsfqsUXp)KFGVcsVd zBJ$EXu+!#>|J-L8yv#9q>wdG(qsYCY9hwmv(rv*SnaeJp38 z>#!u>rz@>k1B%Z-8K7DcX7BzIO$+rP*m1LvhgXA zNm^Oo-md*mqw4ac8Y+abxx=d(!BN`eZXaX7kk~G9OI9Wmgv-*69V!!vKf z-W24y)8i%QeCH1(pR?$_p*tlA@~I07K(TxI;hb-fBx5lM9Tj0kuKw3CKLSm}NOT`E zjN2LivZHDA_befudbDbQEvPSLYt834B=KMO+JlW2OtMGSKHLKS)+vprdm?M-eTU>rX0XvQ%#+C=sfY4QtYjncARQ=vlHtbLS|0@g?hjgVYqA0^5WZomAzNfBHJKPM%QCXI#78NqI7>C)VVg z65=WpQGgrk9;NLi-x`Z#Lo$aHFHA+hJ7}8Y8!?tVgq=~ycUqQtdNvoAXI5H4otI>IzZBb4odzfuxC#S@Og}`l0 z-+A43w4026u*4FB0FE?)9~Y}PYSg=zN!3&_K_Dna5kNv!P!be(lo3Yp8~`W{U5|UO z^Y8t@fQnG!Q--q&Ub*Ukdxb&j^>1+;Qv%iSa3SeXA-&PD0b1-nAs9Aozsx=>n-qqi zO4pEbrUv4)rt~cK7g@N)Sx4}?WnkBZoT{Po`(9sbBUVp!|Y{?5f>b_#-}Y&*(f-0 z;G4G#BfMbg{G+rA9mj*UX-DQ4SDwOr-y@7Cxeo5X2X@I}2jB7a`;w}=C*uyoC0-O$ z(q}h)xCYC-pRyXIim`LhBS_Jr_LLA5v=Uv=$jz%ndzl^H+Z3qvH^Kq6_`d9Q0tpT2 zZ&P&U`Dl@95yJGwdtS~NPj+a;X6VZ$&*#=DJ?uV?{Z^#*wIa&?s8GJYix(If9e+H# zhROics-%qJb?@q5hQHqG^UhPoc@l4>Sv@v9wGd2~%kZ84g9@T$)*oocj56e2ziemf z7A$2cXHSQ0QHZ1NO}MPxjm$Z0w8_FNTAAxT;y^G*X{A57{Vam3C_b+zTu0);Hf5I6 zNlU)Z+7a#kqrw$|-ZemKKsqDPe>BmzXCcq-nILSb0? z_dY_E=Uq~xSNuWP+fs!p6k2#XQObh!O`ToyNG;_5l z-ajW8vi=8FdLo>&tSOH5%?L15`V4)&?WuUiNP}GT!YY8<)1ji*8FA|U$7;R6T)W?)_@ zY*JuSlJEkoHnKU1fRvs$8&^v@O)yzoMY{WGs0v<^e+8`GJ-yT^9o2i~6;)yltMI8{A=^qB1Y9>2%?t=hbPhVpRDkorVS0Ww|P z@~9rEmfaN!?c|z2iHbeM1-tJ*8=RboQ2@{QV!tShB|knc>D3f83v(5uSjfQ}2+kKF zSUpG@H5v&KB#pM~7l6e)@bObpNUB5t#3cT>{T(CW+|RMThf6kkl$vUv>(u@mw4bnqpP%!ssH1yGI%&kgwaWLF{!F;TE4ynu%y% z;A5@zjM~)WFf!+`>4O)89S{R#8imSZ9 zc&|ectZ`V14cXBNkR;ySzxRO0v1V04nn`3A zA#EmqyeuP%Wq}ifpOE7fr;&0pxSV56Q7#j&>V}6$!NUVZ3(~9{68|9-@{F=4Z=rnB zSsbhXRH5J<&W(m5S=A;)DD}DV#xact6MOwvn`JF7G9I~ z3r5j<>D?9?wUFNTrvLf8siNm4R8s z9dh|ao0J8M7yk#HUm>$JIHc7WN-h0mfMEB5DIF9Jisa zG4qzzX1ghh%IxP53*x)!`lRx%q_mHee1=FlYZwr`t|@|YrnM6t-8Oc z=I)9y=e4Xof+g9Nl?R%{ap|cVVGoQ=mTuFT`rFsl%cI8De_Aon73!Sv(==S1jRnc; z5=y#xappWaGsvxxgedj$diZ&X&Q>mw4X^mAyAb%(?=+bC2x{=?bk)Jq3io3&#IRL* z!DlpvHT{O3Td2XwQozp*lgg#C&Q2sxwH785A@>1bDaBLlyy8nNf-e}+!K60EOQE8P z$euY`A#~vLpw|Kp!EG74GEJFT4~HpSuXtG*@YmceQ%EeBRv^`cN?Vt71h^iH70*}A z^WHGl@S{O!O-j(pIlG72o!;i3ByZr5Q6yRSZWpBOu*Lb=w99Ww>pL5)TZPPSR7d5u z+!dP-%Y6M54Z>TxEcolquMtU-kL%g~$MmD}klN^^Mu9eC_Roz|sKieHQ^Z0BH@R$w zTG%>CinE0IJmw=lsy?>o0>1dci=NN#GKL|eJ4i%~^f`o95>nvm|EUM>vhJ95XUiI@ zCgh%X$`Iu;JijN~5*t_u^a~!tkN-oGL-Kpb4_8PmJ~_?Cir!VAdW5Y{U7Y@xMWQ}A z9yVu1E_?`9%IrQr7a~otD}WYAHc`{nu=B2AIlF6=@V1U2!~WzxA=-+BkZ0*LcQ{=Z zRDP`ijBi(_{PkA7ip4bynq^?D69v}eIO5p{yX0oml$IpuqMZId$W3HS<;xD2q^hKv zq7T<#^zN-oF>IoxD6WkPJK2WFNB(l9XP)cCpG2>2=<-eqnfXgvqnP=+U@%zA2Om zEm_?~$U(X+RI$Pf27&vpw>X!H+c?rA@y)!a8flv701%aSznS>a^ub#&m<%3`@>}A{ zkg$txo=jL7r?O`>RQn^R2MIk|S%y9R(1&V0Qjo2J^M0ikbhFwrFrvDkMD*WIi#fdL zrxD^&L6K0FVKB;(ogQjBVO+|2((YN@DuRqCE<`1T9Tsl!d1;V0;ia<3FYeW!Kk@xF zcU)dJgn!6YbYcqRWqu~8j>@=R_hg9X>+c%#x@K-W>+$%~pXSaunW;poZ zlMybijLUi3jH$eq{*6z`#UB|5C?cG; zz$#wFq<%9<`9|%ajlFXMc`Z=5K3jOlOv;p-gSyBrj}=Ms_-zwvvAB~Hf@?eX&cj23 zJfXL<(U1REY!OJ69O&$k%K;4Zeniv?pZ{l zn~}NElZO^PTd`5(SIpg}oj=g!PfYY+GMbSr3f>cKELcKGp9jSOcNF_5>0dFwYjZYI z`mN3zy-0eI>Csq>9Pj4=Vos1RoDdZg(O_P46q43F79&34mjPsGE!(}smF~pg&=wAg z@r#(V7ZaepuS^a!0gEJgrn;KE*wXFnrdYt!NqLU2VQklbn>R}x__f-=cX1H9S9B|N zLI)09KBTGUldOYfM!TY+SjYV`1?JvtJ3DA&OXWEI(F7k| zSkrag^*DVu#;8hP%(1yTeo!2aFUiCGkYSBVMijTg_9rI*(Umi&fZqibyofah4_wIK zJ}=_Ot8|j1h7W_ZL?$vRQC9&v@-8w@B|F+?xYn88px-=+7Y>}6#?%X$K@~bc^hb~P zALA1!aD*hAY>BZBXmTZ)jCj#TeZbrSbKd%A1sPa^!T z9S5FH?t_PtyH(xkeBkjrzu<3o&7SENLiWAn3ZUNV*tHn=&{M3pzR_19*1e|d_pj zg9wV|>V?qh#09YI+8%x$naE5S^OZ%maFh;})6MBNh@X}EPTU+YImj!=cIRQV z$>yMSki}Bh4p}J7vQ#}o+&Z5_5g{gz{1p4XwvlO_1C6sB%E zbEV(i;(&4o=icp7zG@k;a3UfA{EL5w-N<9MbQD0#$y=GlR6 z{4_1m^z~P^0f0A><1)JN=>>z((&K%@Zx)m^CGD^iJ(oW=_J(6OsbH34 znmiI!0hRH~*+^q~$lEt<$M@7A04TU4)$T4z1nW>E6|}~L zJMwP2&_uiOmdfI5lH~#KR&F5`!R$?<+Gm)xWMCD@Cuh z9>L4xpx>zoc0cX`3O@OIX`J=?qsY7Ua`Wl$g&!Ox;xPza8aslmdoo+hgl1%tzoe2lQab=laOjHUCpEp428HFLV3T@f?;`u%ibt+&UC#P|8XekuR@QXf5&shhTJjyRQG!GVMFJiv zUDwIm!|aFe+LmLNM+f9WpRMw(RO!m>JL#)1}g#OCz(o(HR9>1Bh4|4 z>fySvbSWHH2lgA^1^{Jg;=~5grhe^_|U}nr!AGkzt16p>W z0MMVP?Mi75_u)BLhF8h@`RrRcxwo_3Iu2=Dr3zi>L4uULUB!1U2cf~P8|*H=!>^gv z0PS=35iq0Aw(GBO$)t#{*d#~qc-=Do7k?`W+0?5eL;-1K}*-$3cvE|5OMdT>=d6i)Y=RJ_`q^ zF^w5T-SWTR@FV?%BeA++IHX=k9JnlzJ0VJX*Q|4p>~Q|*eI;kCeXGB-I#PYLl{Me# zv(cb$z8ECvtS~(kD|baUprX;*B7Lw|QyAb5#0*g*?2RyUYZj@Aq_GQ*Ny@|qAH3X$ znE@#QE#=nlux`(9tCU6mIxkO>yw{IhKwPN9fu6A8nr!hiIkxVZ?2*Dnsug{uKP5{o z6^qttQy}@q+c0Q8{@~AOqX$4-hK@58wG%>U%q{BLl2dejS;ej%5FW^82)*jZI?;v# z{+~q-u`D_O0?ut+H#YIxxHUGE8a(cA$!>~DZi#KL28tI8>Hvc7Mz9B}W~BWzs0EB{%M z+q=P7D05EclowUr(0wV4(_{%F3o!rFG`$S#(fk=_3v`rwS(52_vGN?33T&MdHLVe%|eg!~hqSi?@+^AjV^ zGl36}!NYCel(E+E!l0CD>B%x&Zk*zA+~YEx>kF zz?MKRf9^8Po~QA}>JE5me26+v#>_p#ExfZ+MR@Q$pIjv-JOa9V-99pv&1EA@)Y%|2 z(XMV*H@ua;Aq2wIMKtjtDct^jKN*T+wFk^z$YhWQtJm+ZO&jWe(iw#+&TiMGF*|zF zudPFUBFQ|wXzUDh5!4S>JdCVFvJ=j$Z5I-MF@tGmWaM6^Mj-Ia?H#YSrX5h(Jr2lg z8H7Tb$m0ea$^02f8mzvP!>yyrVq`x_<4R&Vc(2nx_|f;Ce40OAQr7ej*|qd=kWbvp zBBmtD76S}oyz#R8Z?qNkS=25ht)mPs{PE4!v_W<>1^A60 zFCcioC{+PpmqXXjd@?eODo`EC9lkyc&puajp?C6Nb^7z4ex!CcTWLCnR9;Nnr?mVLw8?gPjINV_bar6L z7UPFEICZYm*NEk&t2ej=cV7_v_L{2-4A(hPq_A}wMD;vWw2zyH;dnM%zxagWfQsXx zeCYdEsps*J7^OL@k+i`-x6|Y^5r*uHc%9N!Chc}cn}=b{fwn%leSKwA9nHEX?(WWp;I11B?k>UI9X1*^?(V?}?h=B# zySuwPK@yw*!*}MMduPp>GyS7iRrRY~Pjy#!)mt?pR1}~WzTQg8vA;&Sn?U2B0Q?x1 zyGrtVol}Bwo_Z(@V#qe0nd|02Y*?2{7bp3hvSIy~V$;jnv&`MU4VpfK|B~1%h(P>h z%j5~4S}T@6vxQj2UGBFXsRh#x8qfhrR3&KW@^>%%OcVUtA*5*X7%IULUy`_Z6uh_>oUc)kzayD2Xj=A7#?apkt(S^5CcRa6Q3i$xJSh% zq4H2XOaTC0N;=OE433Y|m^EZ%cb@6 zFFWw(h_|SzNH%|5YrRCJ7K=@ZcN*uWqs$ z^t8LrADTaYPr^ufVyf7PrN{c(MP8PJ6}R3Ri7d9f62z}R-(FKIX~Xo{C@ z&4+Uyt3=8*9IPCG3Ym}Pqvsv>t*Qs{eo_WV`{+45=i;;BLAN>PqKKL&#&rCIx+H~w zRU$HnQraXAmQHQ>Dib=ASm7__+%Gj`u&D@7v-Z?U;tV&}D*1ej7+aN^LMCr4xaO{d zq5UZ%fWBNb)_<`YV5{4LXc+Vbf`J?VVxWQ}=qJb(&9Jg8XPA`szIuibLnOWy%JD74 zfm5ny?;%PzTj6=WP*JxFUG5Qfi6|uB=H#nVtbv&sUtaJOU?#!Y8bzOp;j+iIoCgsw12rkbs&S&E`lZgN5 zfsiYIm->Emr>O74Y-H^&=y7LkD8;Od zM`x&m6Si}-KAO9Y5pCzCUbEM7X)$SMxDwt_`ND}w3Z&d>3>L&O{~e_2Jo-`EUsI8i zZ8GQx3^NHn!n zD#2eNK0k5WXl;InD1tckt^_a3+~TGAHC(|bM41d{*ek$!1hIup2M%U&qiVfqF&9w~5K@IMX&;6wjm+RkRoR~u4h|yI3OMf~Y*evbaWlN! zWx7(MAw{HK*O+6rz~I_`3(+I@n^szSbC-E0XYg|^a`oKsYyqiS50^|1&4GABB&56@ zJv3yllR&bw$2I-V@GTho43EqS`?pJ*yuRiV@ao5w{5;3!l1>!;hMCoj7io|F zaq)Y&n>imV3yCEZ(Sx8a_D#Z&WFedNUQlSoOvD={fx)YNKYX6HtpCC2ihF z`BBYdLxk_h-x7yUN<^%?ld_pk;cMi-yuuG6D#m{2Ij~DgE}Ke^!g5Qv{hn7MqM{F` zxSSx;stg%&5XeX#6x=7k$u^_aUgE^}%j#9{wCxYTfm4I$0 z!%!pQ^Oj!Tz(YQ_X**VsBJN=7Jrfp6yXYbzi||V3@tj?GLD=f>79yx+AFxZhat!-q z*-xRfNi{(G`(BCi9g)Sr?*{+!aCsV%bO$)05yQ8glcnxMrdpLb^whp4)URdCh;-TL;pCNe9yb@5y1f@K zE{5C_YE6!5)A6@i#x)$1a=C0m}K3e|N-y=NoeBIn=jAebQZ`>RL<3_r{8M{Jp8sFXen$q>q zd=@f2-s;9HIm|$$&e5O13qP{?7eSP zhGa@GYX!XfN67MX>^3h>JSk7uEI(#{yKx%IY1zF@SYR<*C(TZ8%CE+eP7=}u@^Eb4 zM?7(F%M;#MldJV6nP9H--xQJ>Ob%E&~?6K zS&>m=PTTYLyidM7brc)~aCz|h1iK!+Pm4njj@kbCkn2+oxgT%F=Mi3vyS!@=*#Nr`6?vg2P&7L%vlr>w4M}Q8 zm8u+H{S*N-aqBV?Hfj~U<+y3sR;R@B0Lz(^U^eqvRDRZz5ZPN?U9uo-kdv2We)Cye za&SH(QER*SUk%fcQQjjc!+;%c>~CC&c@QWFUMmbkpTW#~{LklmApNBW9oZs=d;HP* z8r>W?r=PPOYDqGoHDCCClE99O2T*dt?Mq0dkCPYzYJOyfCe08~RfNiO|0Ro@Rk}<@ zyLE=IZ#C!mApvvRXfj1l{p3wm*`sUJ?bQB7OrD-xMNfriF4$L<#I=pnmrgV@9uv8n zBg9Znyo45wrP`79tU=3-Ej7g!B((3G6^`PJIeua!tw1s%O7 zXn|Dswbds0+w{?Vu*Vf)B`XAf6NJ|U`w~8=2$C;y^M^snxu!x~?g-!Cpr}naDlEnR zwMn_+o!Y)3vjvQ4Dpq<#+!~~;W!E1mEyze(O%26zxNq0rEpTzz^RY1JctH4Y*l>SPt`j9&ZQ4 z32*x~BYl1g2fu}kh<%(ZwW&>@fD$z@zOS6_tNXt3WDcD%zpf!-7T@r*EJ9Gn8NI*J zWeviLUf3#Pzm7QmHWH}uCB&n7+c-# zR1^#EkWe&fyb$4sE%e0)5a09S+p5EKjtBb2de7Ab$wyi@N@-Cjb$0}-WT(rOK%)t1^n)L%t65V3Glp#`UucS zptE#7g}5?%W#~NNYs4KLVseq+Jgc# zBt&m6$!HdqNFHh9V*Pba_uE?f)6eOpL(o9#l}-mPR#PI?X5sdJ&moAH>4Nz=WG?zS z-_U=7eEA#~4PQs4PkNOkEXT7RZQ{=crnYZ+Yre~hy>e(Xb3(J_&g))eIgTa&=%77Nc^&S zhC?D*Wbgp@mA)Q5rGKOT#{(D*x0+k3ucD~<_a`luJ|f_3G5z>%^+Wm_|MaA7a;805 zrU%(+wK1e6#yZ> zXTmRBL(?(-QFiY);>Oi|A2=s9pbpnFq^EnTg{V@V{w1Xvhj%EZUa6H>bCrI>L*chR zYtp%ecBcCDFzj)h{UB`_N>ZyRwxtbQifN2&o(A8=Q}L;3C7g|E2XnUVModF=y?lK) zL3;aJ9`S~`WtDBpMoW9ud%pXw6!m;Uv{Ah{>*Lrd(jBsivl~f(joDoBZQJ}RT~qzA z=k_TJ(Q~nxHGTjTOI&i0dSJK|H#u9-;RWcnVH3cTlI0D>1mB>g$JxsCJu>mAdPm|- zou~|BfHoWagw9#OYp<)SVfy25JTG>+p4sEklrYFahD!Ue1}$e$;WwbS?}+U40MRxk zbj%(C33dQxuO~t<%eXu|J}{nv3n7TM|QD%4)LDt)P>zxY;ma z0{6WymY!${d#pf;fhuFqQelJ%=g^)&Z(vX@gKjv454K&?sl-0Jd% z4>tf@Tr{eJq%x$0d+!T%8yN;PEMkC-D^Q{ZWB6Ujn;;Q@iq&1CI1dJF@p{N z^J93r@9agH)@3NW-h&k$QmK(w#%IYQPALg_@EG~nKVE<~+4b6h1wYp%k$Ot5mhF{Z z;;C||B+WA<|An8^0G5%Dsj};4FUo`9djdXWHhLvBGKA#E%+VlS95<_Y86fqa`ZmyC ze$sc`8jpnW%?P|fmX&^Mts-GzKb)AHi63p+t~}T%u^p5KB8_XM_RLCuo$G2Vnn}xb zL>{c?dWm-(lUMcRY3EZuUsb!e(%MU|T&7KxG~tEEMC$dU}pu~jBqxsJAR zFV&RFOeg2|!h@WB;p&n`S2Gk}QE6vk+kd-RG7jc~6K7)5i%{Kr_+*++6`NGdX+aa@ zcTzVdE|I`RBQUB6?7D2xlU=P6CL-8dT$t+;gFE(aT2H8lKvspT1Hqi% zwCRhi!3u9$&O=WvHo*(Z+XSL*m05VUEXh!jQ=M{SEHkoG=S*8e(j?ao+`C~;`YVo4 z@a1r5o_Gtm5<0Tkfl@KeotAbQ3F%QHeOMKMAB-j=zPVQBloHa`gMi8{INo#aJ3l_qvjtv;0!KCfR z`;#|g7DHMFDRslAn~}|{;qLuJuL_8dZm7C~GNXULh4%0>4-`v=IYoXMRh~JS4-Q62 zVe{F81(8ACLf4Qih51OgM*~Pae-mN0yl$H-mdB8Ouj?WetK`pv5vpQh3Z!5*5*I|& z4k=FaF8&!?f`r4yT#j3=@St2dAs8)d;zv+U%G;M&O5z;$j3(s&{pF>=O)pb#(`$>5 zc@|zEcD{!v#Z#-*{>fxS8S?V<&b_cgYfBRMZNj~2z!cYj-&c}K`*++2nazC-hEJg# zIqL+?6S3($+l}IeNy46-aJJ9#b+en%&~Hb(1k@pq#ag zTt9(amTIHRAsoV{Hmz%BM6*2_e$%-i&%S#-iPJaTWY~>Fh!;BqhUJ<((2MCx4%34I z;ZJ}8v|b`qlz`byFT8(mz7baR-l>v!iyyXu%tElb4|(|By&Y=K8WY7SP|nbe++3j* zm5Vg&^D2>95!e}eunI|gbb`7;ENh`379m`5A(XP?%bt?TbW#lTn@_)&x2fCg^21`7 zPj%ayP5q@FjJipDQ|GmXBL3_$2+P=m@g^lGXaI#g8FQCWt9z$?l^pfUq%jtUy=)v3 zkI9}l@0i;z%x2C~nL&NkMHHm%BK%t%Z1EJTUwR*(?hcJr{wq$vUlH@Rat~SvUJNeA zn6M4JvcVM-tJ#RV_HQ1E`ql2bcjr63;u?dU#SVKpBSt_8gk@P*|oUL8>xMLqseo~U|_@BD6Y+7O*Uw4rMa3LIUaJ`tU0 zE-0L&#AZj_bM!&RNWw*XBi_PNzrX8Ywu0^(Hlj$Pxc12;M^uejQ zhvx!YN6S^JDF@2Rp;>3MReG$ocYl)DCRttFkF(ZdG9V*C!`wfc@&wX#Ro7G88IBx; zdnG)44DkFP$M|#0%_P%^=1+Ug4HD-}>!Il)D=Dk zvMh#tSBr~OxbXm7_2~=e*AUzcK9n;Y`a>4e%Z}Sn`=Wo`U&xAQ=$nH0_4Cmo*X>*N zp4ssXqx`v`(GD`dzGFyV1?0}LUv)vN#&J&s&B*dCgZ^PjyAKnv;?3g`q3rR6=TDxI zfaX~zFg5V^1fnge2+~^q#!u<9Z+f1nv_=OtBj|LV1>%CHyk z5=+;k)yD!MuFTThuy09eLnvsJb-wr;NKUok%oP#MHeaQtp8}cM81EG&9TWy$ZeXNd zP8zSfj;=|HgZ4A4D4C2(W0$C0nnGQ}n_A5^IQK$6pVu!m5D}yd3nl|yd$#-(JF;qM~kfas7YD#2@4`yu4r}(|DEwbU> zz7ckBWh{`{vdj9LQQtkvX-8p4qr)n0-9VV^dsrBfxrUC28GVqF(sc|^T|-*+m*bP2 z?jM*rA$C$IM0jkeN=w!YXVK0p+8F24!18q6k@}p8CLmJN?Tqfk#}BXX&I!@llDA^awDv#ul=ReY@HQs%B7A?1 zUhjz7l-j$|(1N{RM#)OuYFu-)@(e0AM?0_dVlP9kHc3V}QYDDu@z<1MZq9|&?qrOM zn1bkKSvqbZzs{@M+2F9Q0eXb`YqR52q{Xhm;bimzwLBt`g~cKCBcBFzBw?xkDj%0g z%gW|Rz2$v0Bgn)KzlLE~d2!;zZLd{9NYIa%mLH>NZx?)mhw&g(RJ+gk{a*^UsT+}Z zx@oOAwGnt~GhT^nH)F`jm}{CgZle?APe-*LTA~w1iK1!TSu98vu z~Gn*N6PuW@=h>UbjDz(9Zs1uXOMS$XX7_( ztN3VeLgr6G47SSQqXxIv35Gc`w732@9+y)wEvj^X5lEC9rpETt)DrqMmm#j|{!6MQ zhNmZZv3O4*;hoDEk(KbLDZf6dz!GsmuhFB+-)B(#qMCp>jje@Rz@vICc+(l|A0?5; zh^-=E_}pbR`70^=r;S)ic>Q#N5lbKhhJkAd?q&d~P6(%~)&RTTPBXcrrB^x&w>}`o zU`R{g3(@jqe~ySJY_!tgsJL-zSS_QasbqLEjkHoI`ORKSUgyZX-$)opcoJ7g}qysn2Ew&OwI(!*&MbKjAFyNWQsN z2OHfF_jIY=LoI72$c?rfRGNT%vK6?~K(VzS!@5tpwm+(AM8c&U7nQF2aK}R2 z*!ZFc{kP025Q^RpG17~cD2sYoHUkCaI^-Ho{-RN#&nXFsF#ONu`fck1E#u>BaHh#W1qQP7>@ zn%8Q9f*{%a*^-R13rmkQevHL0M`^F!#u(SM+w*~3?iBG)dtU8n;-wVvrbeW9Jkxzl zH0RyRW7q@xG&<~IrU#Il1G5%(9Yy8>LwOkMr=OT39!70=#aN1b^OF@;QCDFytVu;g zqqFtEg05v_Hpubryl0{oQhehX<$)D+zo>UQXPQSntF#5{t<;3i%ffzbX)z!vPj2ci zMR9i^Ld$Oqwb)-3x~tixVN*NJ+Y+{}LRBP7<@wi#^#wFB#8t`aoB9ZfKFDQ524;jf8+?3*M+HH&(* z&{B=?FL~R{Js9wj@jvu)ySR_qYs`<|mP=t^Mf8w5b>w}VQ}Rr;6mHQBD@s@%H+s2S z6h(&ze);+%R)z%re2gs3x25@;8{K$;Tv1p62?7U^&v?MuEf6>Km=CP_fS6f>ks*<4 z5jxlNTuMfPKclp7lzj^Hj&XHfWA0#_w`*547XFEYSIy}wRNLAoMf`#t^9y5BEhd}dIFOGKjLPcf1CS_`cT>PqY z{KoI-iT`DDUh`-p4m zA72R&ikDiELJ24HB|mVJuIE}S?wSz_&4!&K>;kWA@%Q(hUJ^XkkCaqGMO2s`p4Oi+ zb%tQK%A{LpMGzPuNV)ak_i{p6YhA7lTC~&*ed;zADBtoF#RYkn(lXOe+(`}L_>gmS8s z`qzDBhF#M~@W_JO`8*y-8usWJtxJ5i7pV*A7zfAX*)M^V)torIs2fYvqXiyQRGt>g z*{$bAi=|nfLx5tA+`KK6{MZ<^WrcF3Zx}ya#*ZoRny*?k0v}B$zH7!ebzr3T2}k!) z*r1qA!fojMuV<}()^YZQExJ%Ac<*+`y2veI;o4?7m3@xtK0A^p<}ee56z%(EIrxMq zH{Gy)udmATHIY+wq4N+>pyzbe8lW2~WcNMdC_5ae=M; zmOdLn0EQ;tY3aNnsvBYJ?`Q3*VEuq@D%QdF*+UKE3ShQ<@HfI`6@P9=Fp9!2a*c5_ z9ft&`hwlZ+diB#5uXYOOqA0eKiP~~L(1=!ZcVVoVmBF3DN|^*4rbQ)TUiy3Na!t=3 zcg#tGM7d$Nw36e|e;TcU+*vX*(m$bJdK)KnBLR62hZaRlm%crz==*)|R1P-h!KbzSE795oak!i=0oH*ab&uE z%Tai?hya%oCXcez_8y6Af&uicz})?Wuti+AdXUz=mIj`k9iK@t&sP_41ZAtKc2U=L zeXCLhdR;~AnE3OETqI6)7(xiS7q$>D+^NeTi?kEk=K5|(mUOCL^ zgYf9eq;qBWg$#;Ss#v7!n{!)pat=;2$H}QA9%^ZqzSbdmuE7I@rOv28KmfQ#5qMg< zMbJwd^EU$=KClG=foQGt0Hw#eYMwD9t43ZS>@UAP`MG-L07w@3<0`*gwsh7A>a(5{ zu&?s__^}rL2@Bdm^-Z%a9VuQ~*e0#o%=9(cMc(3IK;FTk+h!OhuwAZlCJwT+Lg+of zWp~&LlR&rxMsp3ZOm+Z2O^El#5xUwp)OALI_+9%sDA15Juy!@;dUkM1ttl^MF zWrg?$yDlJz?77i2^5_xwQ8f~%ACNZ>(7Bh4D<_o)wi0Q+h3h=|#Na*v4ULk`O;wPn z&xh(PCyxk*-4pZ|sT_B3*I;N88Hvh1Uk;l09WD~3>zGFcX$L!1~GE9N2@l_j0 zfno?iD%biA0qK)G!lh1GlJiPIj54Z)$QUl;^;5&611Obkk>j}tsVb|@%Xm>drdjPt zR`08(Z)wPHD`qd$2NRy+Y6F!=VWzbU*1e?_6?g-I^Z60C|KOA~<8|8V+m{!!)E@aY zfzzR;=#!Ra0E&#s5F4gTsGQySk}a{Exl=PrLcd;;W1G%V!K=%K>kt)_8H;}6}$O*u~&B6zu)3R|i2YI;C|BFFU zkzdx))y>4w%tBT|kn%$Wi;ayrzc?4W1e+8WHxMYs!Okuz#V5tfE6N8H6BlLU;gpnM z`!}xy$jsfr!qM&DyypMI3;d6~|G>e)=|i)Gg^SHs3v($KkOSafKJ(lBXInV`qrCs( tHUH1HaQ#PK)(>M?|Ebykqo)5|^Z}oLlK&0ekIa9A-@@?&@h%_G{$HJ*vey6r literal 0 HcmV?d00001 diff --git a/content/blog/easily-develop-graphical-user-interfaces-with-mcus/img/embedded-wizard.webp b/content/blog/easily-develop-graphical-user-interfaces-with-mcus/img/embedded-wizard.webp new file mode 100644 index 0000000000000000000000000000000000000000..3fbf3073b300612f1b0fb9c4104b0a9b05645edb GIT binary patch literal 23758 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 z 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
!{$TY!^{ig72BxOabKb21 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�KPa8WPnRwAUG^c{Ql0OmP;(-2yyWC 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 K?znvl?|%ToY(=>M literal 0 HcmV?d00001 diff --git a/content/blog/easily-develop-graphical-user-interfaces-with-mcus/index.md b/content/blog/easily-develop-graphical-user-interfaces-with-mcus/index.md index b3f1c0d9..70ca78be 100644 --- a/content/blog/easily-develop-graphical-user-interfaces-with-mcus/index.md +++ b/content/blog/easily-develop-graphical-user-interfaces-with-mcus/index.md @@ -1,15 +1,17 @@ --- title: "Easily Develop Graphical User Interfaces (GUIs) with Espressif Microcontrollers (MCUs)" -date: 2024-08-26 +date: 2024-09-17 showAuthor: false tags: ["ESP32", "ESP-IDF", "GUI", "Embedded Wizard", "ESP32-S3", "ESP32-S2"] authors: - - "vanessa-reingruber" + - "embedded-wizard-team" --- ## Introduction In today’s fast-paced world of IoT and embedded systems, creating an intuitive and responsive Graphical User Interface (GUI) can make or break the user experience of your product. Espressif’s powerful microcontrollers, like the ESP32-S2 or the ESP32-S3, offer incredible capabilities for embedded applications. However, developing a professional-grade GUI that leverages these capabilities can be challenging. That’s where Embedded Wizard comes into play. Embedded Wizard is an award-winning GUI development solution by independent software company TARA Systems that enables engineers to create high-performance, visually appealing interfaces with ease. In this article, we'll explore how Embedded Wizard integrates seamlessly with Espressif's ecosystem, helping you to rapidly create and deploy stunning GUIs on your ESP32-based projects. +www +{{< figure src="img/embedded-wizard.webp" alt="Alt text" caption="Easily Develop Graphical User Interfaces (GUIs) with Espressif Microcontrollers (MCUs) - Picture" >}} ## Why Choose Embedded Wizard for Your Espressif Project? @@ -63,5 +65,6 @@ If you're ready to take your GUI development to the next level, download the fre - [Download Embedded Wizard](https://www.embedded-wizard.de/download/) - [Embedded Wizard Website](https://www.embedded-wizard.de/) +- [Embedded Wizard YouTube Channel](https://www.youtube.com/@EmbeddedWizard) - [Getting Started with ESP32](https://docs.espressif.com/projects/esp-idf/en/stable/esp32/get-started/) - [Overview: Embedded Wizard Integration with ESP32](https://www.embedded-wizard.de/platforms/espressif-esp32) diff --git a/data/authors/embedded-wizard-team.json b/data/authors/embedded-wizard-team.json new file mode 100644 index 00000000..dec337ff --- /dev/null +++ b/data/authors/embedded-wizard-team.json @@ -0,0 +1,13 @@ +{ + "name": "Embedded Wizard Team", + "bio": "TARA Systems Gmbh.", + "social": [ + { + "linkedin": "https://www.linkedin.com/showcase/embedded-wizard" + }, + { + "link": "https://www.embedded-wizard.de/" + } + ], + "image" : "img/authors/embedded-wizard-team.webp" +} From a3251ac04cbeeb7d2de63715ba23ef8254cc1dbe Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Juraj=20Mich=C3=A1lek?= Date: Tue, 17 Sep 2024 13:25:52 +0200 Subject: [PATCH 4/4] fix gmbh --- data/authors/embedded-wizard-team.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/data/authors/embedded-wizard-team.json b/data/authors/embedded-wizard-team.json index dec337ff..55b71798 100644 --- a/data/authors/embedded-wizard-team.json +++ b/data/authors/embedded-wizard-team.json @@ -1,6 +1,6 @@ { "name": "Embedded Wizard Team", - "bio": "TARA Systems Gmbh.", + "bio": "TARA Systems GmbH", "social": [ { "linkedin": "https://www.linkedin.com/showcase/embedded-wizard"