From 99618a46b0c93186e2a53658ef6f7e612e10bb4d Mon Sep 17 00:00:00 2001 From: "DESKTOP-PUHFO60\\dsx2016" Date: Mon, 19 Oct 2026 18:07:56 +0800 Subject: [PATCH] Add CYD photo album with jpg/png/gif viewer and sample assets. Ship TF-card album UI, half-res decode canvas, prebuilt firmware, and documented flash/upload workflow. Co-authored-by: Cursor --- .gitignore | 15 + CHANGELOG.md | 9 + README.md | 57 ++ assets/photos/01_blue.jpg | Bin 0 -> 20433 bytes assets/photos/02_red.jpg | Bin 0 -> 19949 bytes assets/photos/03_green.png | Bin 0 -> 8346 bytes assets/photos/04_bounce.gif | Bin 0 -> 8351 bytes copy_lv_conf.py | 13 + firmware/README.md | 47 ++ firmware/cyd/VERSION.txt | 16 + firmware/cyd/boot_app0.bin | Bin 0 -> 8192 bytes firmware/cyd/bootloader.bin | Bin 0 -> 17536 bytes firmware/cyd/firmware.bin | Bin 0 -> 650880 bytes firmware/cyd/flash.bat | 5 + firmware/cyd/flash.ps1 | 98 +++ firmware/cyd/partitions.bin | Bin 0 -> 3072 bytes firmware/export_from_build.ps1 | 58 ++ include/lv_conf.h | 1127 ++++++++++++++++++++++++++++++++ include/photo_list.h | 21 + include/photo_view.h | 22 + include/pins.h | 24 + include/sd_info.h | 21 + include/sd_put.h | 7 + include/touch.h | 12 + include/ui.h | 9 + platformio.ini | 59 ++ src/main.cpp | 91 +++ src/photo_list.cpp | 101 +++ src/photo_view.cpp | 496 ++++++++++++++ src/sd_info.cpp | 136 ++++ src/sd_put.cpp | 121 ++++ src/touch.cpp | 125 ++++ src/ui.cpp | 296 +++++++++ tools/make_test_photos.py | 75 +++ tools/sd_put.py | 150 +++++ 35 files changed, 3211 insertions(+) create mode 100644 .gitignore create mode 100644 CHANGELOG.md create mode 100644 README.md create mode 100644 assets/photos/01_blue.jpg create mode 100644 assets/photos/02_red.jpg create mode 100644 assets/photos/03_green.png create mode 100644 assets/photos/04_bounce.gif create mode 100644 copy_lv_conf.py create mode 100644 firmware/README.md create mode 100644 firmware/cyd/VERSION.txt create mode 100644 firmware/cyd/boot_app0.bin create mode 100644 firmware/cyd/bootloader.bin create mode 100644 firmware/cyd/firmware.bin create mode 100644 firmware/cyd/flash.bat create mode 100644 firmware/cyd/flash.ps1 create mode 100644 firmware/cyd/partitions.bin create mode 100644 firmware/export_from_build.ps1 create mode 100644 include/lv_conf.h create mode 100644 include/photo_list.h create mode 100644 include/photo_view.h create mode 100644 include/pins.h create mode 100644 include/sd_info.h create mode 100644 include/sd_put.h create mode 100644 include/touch.h create mode 100644 include/ui.h create mode 100644 platformio.ini create mode 100644 src/main.cpp create mode 100644 src/photo_list.cpp create mode 100644 src/photo_view.cpp create mode 100644 src/sd_info.cpp create mode 100644 src/sd_put.cpp create mode 100644 src/touch.cpp create mode 100644 src/ui.cpp create mode 100644 tools/make_test_photos.py create mode 100644 tools/sd_put.py diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..a47f425 --- /dev/null +++ b/.gitignore @@ -0,0 +1,15 @@ +.pio/ +.vscode/.browse.c_cpp.db* +.vscode/c_cpp_properties.json +.vscode/launch.json +.vscode/ipch +*.pyc +__pycache__/ +.DS_Store +Thumbs.db +*.elf +# 构建产物不入库;firmware/ 预编译包要入库 +# assets/photos 样张入库,其它临时资源可忽略 +assets/* +!assets/photos/ +!assets/photos/** diff --git a/CHANGELOG.md b/CHANGELOG.md new file mode 100644 index 0000000..5517c56 --- /dev/null +++ b/CHANGELOG.md @@ -0,0 +1,9 @@ +# Changelog + +## 2026-10-19 — Photo album + +- CYD LVGL 壳层来自 tftest(触摸映射冻结,TF + SoftSPI)。 +- 扫描 `/photos` 与 `/` 下 jpg/png/gif;点左/右或 `<`/`>` 切换。 +- JPEGDEC / PNGdec / AnimatedGIF 解码到 160×120 RGB565 画布,界面 2× 显示。 +- 提供 `assets/photos` 样张与 `tools/make_test_photos.py`;串口 `#PUT` 上传。 +- 预编译包:`firmware/cyd/`。 diff --git a/README.md b/README.md new file mode 100644 index 0000000..6e217c8 --- /dev/null +++ b/README.md @@ -0,0 +1,57 @@ +# CYD Photo Album + +ESP32-2432S028R 电子相册:从 TF 卡读取 **JPG / PNG / GIF**,触控切换相片。 + +硬件与触摸标定复用 `tftest`(SoftSPI + BL/TR 对角修正,**勿改** `src/touch.cpp`)。 + +## 功能 + +- 扫描 TF 卡 `/photos` 与根目录的 `.jpg` / `.jpeg` / `.png` / `.gif` +- 半分辨率画布 160×120,界面 2× 放大到 320×240(适配无 PSRAM 的 DRAM) +- JPG 过大自动 1/2、1/4、1/8 缩放;PNG / GIF 等比缩入画布 +- **点左半屏 = 上一张,点右半屏 = 下一张**;底栏 `<` / `>` 同样切换 +- GIF 自动播帧;右上角显示 TF 状态 +- 串口 `#PUT` 传文件到卡(`tools/sd_put.py`) + +## 测试图 + +样张在 `assets/photos/`(已入库): + +| 文件 | 格式 | +|------|------| +| `01_blue.jpg` | JPG | +| `02_red.jpg` | JPG | +| `03_green.png` | PNG | +| `04_bounce.gif` | GIF | + +```bash +python tools/make_test_photos.py +python tools/sd_put.py assets/photos/01_blue.jpg --port COM3 --remote /01_blue.jpg +python tools/sd_put.py assets/photos/02_red.jpg --port COM3 --remote /02_red.jpg +python tools/sd_put.py assets/photos/03_green.png --port COM3 --remote /03_green.png +python tools/sd_put.py assets/photos/04_bounce.gif --port COM3 --remote /04_bounce.gif +``` + +## 构建 / 烧录 + +```bash +pio run -e cyd -t upload --upload-port COM3 +``` + +或先导出再刷预编译包: + +```powershell +.\firmware\export_from_build.ps1 +cd firmware\cyd +.\flash.ps1 -Port COM3 +``` + +## 目录要点 + +| 路径 | 说明 | +|------|------| +| `src/touch.cpp` | 触摸标定,勿改 | +| `src/photo_list.cpp` | 扫描相册文件 | +| `src/photo_view.cpp` | JPG/PNG/GIF 解码 | +| `src/ui.cpp` | 相册界面与切换 | +| `firmware/cyd/` | 预编译固件 + `flash.ps1` | diff --git a/assets/photos/01_blue.jpg b/assets/photos/01_blue.jpg new file mode 100644 index 0000000000000000000000000000000000000000..d15d9627cd141e0e825ea2310135a4d1bdd2f029 GIT binary patch literal 20433 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 literal 0 HcmV?d00001 diff --git a/assets/photos/02_red.jpg b/assets/photos/02_red.jpg new file mode 100644 index 0000000000000000000000000000000000000000..1d687797727f0c1cce523a9ffcfcbc2d85b1a0e5 GIT binary patch literal 19949 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 literal 0 HcmV?d00001 diff --git a/assets/photos/03_green.png b/assets/photos/03_green.png new file mode 100644 index 0000000000000000000000000000000000000000..12e1b343d1528b479557ecb2974b8f34d8a3709a GIT binary patch literal 8346 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 H5W4>ZjVs4& literal 0 HcmV?d00001 diff --git a/copy_lv_conf.py b/copy_lv_conf.py new file mode 100644 index 0000000..ca4f24c --- /dev/null +++ b/copy_lv_conf.py @@ -0,0 +1,13 @@ +Import("env") # noqa: F821 +from pathlib import Path + +src = Path(env["PROJECT_DIR"]) / "include" / "lv_conf.h" # noqa: F821 +dst_dir = Path(env["PROJECT_LIBDEPS_DIR"]) / env["PIOENV"] # noqa: F821 +dst_dir.mkdir(parents=True, exist_ok=True) +dst = dst_dir / "lv_conf.h" +if src.exists(): + dst.write_text(src.read_text(encoding="utf-8"), encoding="utf-8") + lvgl = dst_dir / "lvgl" / "lv_conf.h" + if (dst_dir / "lvgl").exists(): + lvgl.write_text(src.read_text(encoding="utf-8"), encoding="utf-8") + print(f"copy_lv_conf: synced -> {dst}") diff --git a/firmware/README.md b/firmware/README.md new file mode 100644 index 0000000..b440dca --- /dev/null +++ b/firmware/README.md @@ -0,0 +1,47 @@ +# 预编译固件(可随时刷写) + +当前归档目录:[`cyd/`](cyd/) + +对应板子:**CYD ESP32-2432S028R**(ILI9341) +功能:电子相册(JPG / PNG / GIF)+ SoftSPI 触控 + TF 卡 +版本信息见 [`cyd/VERSION.txt`](cyd/VERSION.txt)。 + +## 直接刷写(无需重新编译) + +1. USB 连接板子 +2. 执行: + +```powershell +cd firmware\cyd +.\flash.ps1 +# 或指定端口 +.\flash.ps1 -Port COM3 +``` + +也可运行 `flash.bat`。 + +依赖其一即可: + +- 已安装 PlatformIO(`pio`,自带 esptool) +- 或 `pip install esptool` + +## 手动 esptool + +```bash +esptool.py --chip esp32 --port COM3 --baud 921600 write_flash -z ^ + --flash_mode dio --flash_freq 40m --flash_size 4MB ^ + 0x1000 bootloader.bin ^ + 0x8000 partitions.bin ^ + 0xe000 boot_app0.bin ^ + 0x10000 firmware.bin +``` + +## 从源码重新打包进本目录 + +在仓库根目录: + +```powershell +.\firmware\export_from_build.ps1 +# 仅复制、不编译: +.\firmware\export_from_build.ps1 -SkipBuild +``` diff --git a/firmware/cyd/VERSION.txt b/firmware/cyd/VERSION.txt new file mode 100644 index 0000000..ec9a464 --- /dev/null +++ b/firmware/cyd/VERSION.txt @@ -0,0 +1,16 @@ +name: CYD Photo album (cyd) +git: unknown +date: 2026-10-19 +board: ESP32-2432S028R (ILI9341) +features: jpg/png/gif album, SoftSPI touch, TF +flash_size: 4MB +offsets: + 0x1000 bootloader.bin + 0x8000 partitions.bin + 0xe000 boot_app0.bin + 0x10000 firmware.bin +sha256: + bootloader.bin 3D234A7471F67B013686DABD4DEE7C1FA915C9928463616A94BC9297ACF1ABF8 + boot_app0.bin F94C5D786A7A8FAB06AC5D10E33BF37711A6697636DC037559EA19CC410A17F0 + firmware.bin CB21DB25D8AAC041B39C10AA2E63E00D2401D1A7EA4F956F9B4985D1EA87C8EB + partitions.bin 148B959CBFF1C38AA8E1D5C0BA9D612C54997B945E56A63F41223EEF650653A1 diff --git a/firmware/cyd/boot_app0.bin b/firmware/cyd/boot_app0.bin new file mode 100644 index 0000000000000000000000000000000000000000..13562cabb9648287fdf70d2a22789fdf1e4156b4 GIT binary patch literal 8192 zcmeI#u?+wq2n0Z!&B7Ip%ZdwNPjZydJlFk*h+E9ra}_6R0t5&UAV7cs0RjXF5FkLH gk-)3}W&dyVhNuJx5FkK+009C72oNAZfWSu}0Te{nn*aa+ literal 0 HcmV?d00001 diff --git a/firmware/cyd/bootloader.bin b/firmware/cyd/bootloader.bin new file mode 100644 index 0000000000000000000000000000000000000000..d592359371203c87798f24f9939173b4ba97f0d0 GIT binary patch literal 17536 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π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 literal 0 HcmV?d00001 diff --git a/firmware/cyd/firmware.bin b/firmware/cyd/firmware.bin new file mode 100644 index 0000000000000000000000000000000000000000..4ed631d67e39fd377e4088b60edd3905f9a6009a GIT binary patch literal 650880 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

c(nwNjyaodGH*5%(~ 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⋙4J(>{ zlc3E0M$Wk}QyDq`IiE)ToRTPl!K~dDUAh#fQA06^GWgbi>zm;J z)i=~<=Oaj=4^tLi#^pE!jf|E?UOTMRoIkAPK~0J;!6W=XG`S*k(Kn z(Vu%2qZW5S)8~@J$4NG)xjA2ag?5;m@|n;hq4v)tugmhmI@`W=4Y_mQW`fFpq-#?F z^9hofdzmH$SI8B%&~}4nWdqzFY=DCt&y=CpT4->OCzkb zyF1)zhB)mo+gj~4l^2KHx<79qL4e?keq+T&S499oifie`jY|UnCT%SL1%TbE5}vf! z4Jrb{`YRBq-%-%yiYsezI03EBILTKp8m3*etgyr{j-Qa2dMqRJ7}O&A!o+q%u-l+s zp!lIH?mL7}JQ6H?MEcW8MNgNT_X0hGp3X4nWyr(z*dkA#gLI|1flgbl$TbG&9Z&@e zb+_deowxF`PI~NZd7}wjas6$1+4Z;bah+0VlUb{!6my&|9XI`DUAefwR2MG+ z*KS@XRMI?dl||{(HzmUEgiLA}Q})pj%s4Dc_5!k_+gpn57Bic?mqf5jlsIR6gzF<$ z>q%ZzKq$B8nlPU%e7Ek~1ZaUz>`WyI7y^2HN7P5841l(m&d|ga=yDaF5?tZ|-*`(~ zjby+2rG)oe`Pe-qUm3}_T+YXOhVq^Gb-tga85)cjABZiFM7(D+?a*RRp7*OV8DK43J`@PA5v4T~}Zl!CU z{u&m8)1j$yn%G@ZoI!3^O(jXi=XT!2fRSM{DM)dqK%3=p!_A{%l!{@2CJA%tngw6i zCD+fbYlY!$3%OZzMq zW@LJE^ZcfzM^w4Z%}blAJC%5^Zd%_KoZH;EGz6BfIFh(5`5yYZEtst;)$P9tH&_IA z8Bgb}P+7Pz-7&DTXe)g|v%7p76qC5$&{!HUI1+w_#b?%`=gwd5lx;C!!C5@=`1-eHctubb@J9iR-XdV`KfehTE>%_0ofoXI7LJ&x0~w zQM{y6vp`$CvQ4qTQ2g8i6MMe&hyv@qlDk+6JFtt&Avxiy9Dl=Biu3xS!}Pss^$4m> zExfAQ72#`Bi*EdTEjw|3j|UzP0*`uVwH$hxTs>t=N{iwp$GoN`PIK{dj+MT{7urft;R_IDp+Qb- z3Sl0_?KuVeSt)>UdL>jnEESkL0&o|VHX7A-WAGt+M*)wxMh6f!;&AIe1;UG=!_pRTL~!RFo~#R#YuBRM?l9%6MvN1Zh37{CZb9f*5yU@aG_AYaYkBVp|Y= zec6pcn7Pv(&H_gnc;DeHb5w!%9nLC;y^Y4ZUHnk0e~Rc@+Je}}iSkwWLDC@zF#}+j zK-f%8uNo@0Ao1@QR>a`!ky4oXC8padIN&P3K->b2U4+K6Ve7X)Vx(9~J5^pQQ;&v@ zrM;D%Dh%jtNY~L7)`vAX&+iG03sU3vV0@2N{0rh-d#u7+Qcc-~jb#^L=EybCq+F5m!k{ifKixfe`x zFZkaLON)*&6 zfC&M`?A_s=8YoUf_L-ge?8Q=$d+ge|(x(bEo%^68|1$$D<{{K@ zrNmsN=QYW))sK-DTatHfIUAdP`CRU!(5>_c(u&fcHRz6@9X>^fi5b-rO!*!po% zCja@Z+v$c){=8

96M#r?xk|O1iZn*}w6v^EGdsZ`d5RzB#t$&GQ@IJa2mrqHvV? zFXz|qpm7&F&tW(F&JW$re$Zgc^6MweOf=3V=o1_09C!Zf=NTnAwFyU0iwUI<;{r<% zqa@2*Qg`@NQ@(IMX>>&5Q(?O5P>+f0DlHftk+g$KEDXck`}|~&iS5G7?J)`eTe`G` z&NgG}5#N%g6yT_EYR#0gHr3RPQ>v!Arr49Lp+XHPgAX_$6qOoi`qMG-zoc**)$n5B zJ}h}LIfzpUU)3hVw~U4Jk1thp0sOThzdY>q2mYv_Y?7X+jRtNMUvTSV%%P&7)v;2Hs zNmyN>omb?o+Jxd&QvUICUh{k%oxK)(!Hp@MV)R<;W1xdsOs1QelG`dD8a^a>4fwuF zDmGMTTZQH6z)WB2%}3h3@Q0N@?|eBLGl_EKR~V}!=^is>{oVPcFA+C_P1+JKzLdpM zr`N;OphE3?_BfC}ue| z`vJamYHHHYpWN^63E!t+ca=72I~1+X=-q8e^Sm}->oT6NFxHnlthPK$LAg5r?(-P8d@?i-Dl$Ka zet2N?cHx39URb~4Gqbk~3uO@2#A8zSlTz&Rpx8QM(dMY~6v2bQct_6{(rxX&1ML>R zT2%C-8ck($q#{l5P`kMUz&$qCdamS=z44C>wRnG^#Xp}LZgEp-lR<9rJ8}a%hFkp3 zP>bKbt;KSh_|~l!_cVb&%GYdnJdL%FpoaZBrJMCbQh0>#{JF#fVMQM*7@Wum?WlEr z3yzh!1PILN<`^uSJ%5!NswZs~T~vKX_b%Jh$OmSy&CJ}NP_Jz%W!x&p)1 z@`MTBy04on@?7} z-$_%<#rdtWepF#{?`t`SWx8ikQA;q^@ObG3%}Gd3 z%x;*2DcC=w;SNP#F5`F}vWCnLh#1isf`vK=o|k2Qt|h(u9^vO_N}J4b@7BwOTLN9@ zh~5S)2(;!vf~Ok%ET^$efs|Fn+VO=8wCY2W?$FitaCz1W^k)M4^Ci?H_op~Q?oXB> z{rRqBDm#~09cEg5u6jGY;z_^VK%1=RR;)sQMkb~W_2)*?pDX@o!gskpNwqZQ9JxQ! z{Mmm&ba<2SL@7o|?Sa9b*9I}!78jJ1hn6p^s{L>fb3HnP{pTVWb}DCWnu<+haK*T_ zUqkZ4z7d~b1Py9eN%hI-Cfx|kzhf6`?Qi^SOAbpaz_uOpADA(Y+cbt8sKhh7%#|KRJWK(-U?SneMNNho8h~j;^5I3^eD>y`*Xqe<`v$$05W{~O zgsw-)T_0>RJgoV40fzmlK{AIwDWB=xDd8#=L^>4a7Gk9GUVm$K?PC6;PP%71<>o`SrYDy#qieTN<*WZncE)32qz?@CnYg0T4%41jgZ4M`{~Of$8l)0v z&mlXvWM${zyuAe&_1sI9H#?A9m|MzcSZe<+4m58IlST*Z&9Zl-H@P}Tcr z^`9x`Jl?W*P|S^LpnF`(JQxnmtoYl~XGw+JZ%b=;!rqJ@L(1%)D&Xr{Kv#J)V(-W`tj z(0wMf|Ndd-h63;MV26o(=qV%_h3`lm7zS-jvjNpW%o-X8YI3jz3W)cVW+F!&^!!e< z7+(t2>S@3{3v6LvFkjBM<8)}mPG*jk8 zE*856x2z9k{~J)2MVV~aj36HuL--J}BA){Y%HACgUkOl!iiRQf%$fb&Ej+|KOJQG)2HX|kR)nE;8-h3^Wj7Gn&(`Yi zd6C#%VAlxy|8^dFL+>IRcD=yk>WZ_CTx ze=9F{pCWBorz-C^#Gi3$;1$~rk$}FD%-fJUYfP}ij%D1I z>?dp22XI`3BAtU6kuY4wB!)N3BK#*#Ap4F2*qyD^7O<3W@WS=nC^HiZ5nu;w9>cx=?DBqMyZO&p_&Tddb(1tWD{AlDu6 zfb)Com1(YGk*Vq|R@dO_%}JF{oHbXStsbM!Dag%E#0CiYI|pYV8{019xEu&tlKpJq zqSoY$n7OzMV+V>`we~p5S8=w*(G-Fi+9XU})MPrj+_3;??rs}lw<-m#!eR1O$}OKc zzM42T1g^LzF0aqraop2jhHzEHEk?^xv$$xH`FDhp%Cs#I%*2zRB$8nPW}1!UwD1rp zbn-w;8BeiY##7ieOiMD63Au})qzNEOX!)c}%ij#qlD(hMvKmOf16p#y0a|9w9iQCu zrHr4M@}-<5q#8X!*P`(3=Xr}S=`2yPvf2^b;^hSI7;;?1W-SW%t^h%^7O8(E<1=HO zo{4ye=!N$G?10bBrivpfs5C2@R&^?&;#`HSuMaW|?t{_7?*qCih{p$qe6o|a zKCme9unj~)^M~SS1mvL^i(r|DF%1~9N|Hj%5Y(shgvLhD+4qtBmmq*{aB){dI^i{! z+q}r9I=jIoY+a;Vr-JC1qwIDyz%d%8A~s}1Cvviz76Fm8Mf^cOzsG|2Q6qfUzrz2< zMZP}#bB&8ObTQ<1R@Pv7Q~^F*3DNBUEb+l#U~x(r7WXH>5|bD4?*?FTBS!eX`pOMg zSoMpB9$pxR_5h%%0PWj=17Y9iUjdD4A-+$(B9y-t0t%s0ZU(ZQB1e5B^&v#+oJ&e2xM%c9u_}^R=Cw; zSw7cdu_TtyMJX48YD?c_2H?e$X&)37eF=p#S`*R18dDIO5)n%p<;+!Zp7QrD|wT2jIN^^{7l_0X6pOFX)c=N#7b6cEglYCAwwq5#oT;wz}srPwZLc_pEeS z4;iuE`7t$q=-)Dt`h-!O8%t+TL#3QgS`nx*7%vrr<*~3yq{>t2?CDgw4shxU9klH! zzwg1X+El_vA-+ufvmb?gvL3aE1Ye+Qe?wK&FrzK`s)-RWBhXjRbl}xifLD4;@+f?Z zu*9h5lbb>M#REZWl2^;)CXu9@2Y0nyT2d>Jt?yBvQ94jHlt@1mJwrYQNk5pz* z=hgWwtNbfo3|ir^RZR$jn6aj?jV>t`n-=j;1hwvT&;VE0%0K1L-VeQda4jxaE3-cU zY8X3&eeaht<=J?)VYZ2t7Ixxz)7Tx}3pIM;-}N{R0xN!wR&hTs?1WSUyVBG%)LKkn zr$#~dt`r_wL|!_X)BltWE=s_M7$Bc6^y01)(ffS25C#V621dh{sh`y#f`_rjL!d8+o#yqKdCH8b;*3VahAiIW<+*W1plwym%6l|AnmlqlDesx+1o9{fls7+mx|~6vaDWozwIag~ z3L83FFb_hiq`8d2rb>s_iwN{ibA5-WvI8eT%!obSb>1!*7y^n@%eg2Rr8u;Gut;7& z71yjO&nvg-VyU7jW1FrN`zkh;%wC>FmSI{w4cDowVNx-bDz-PBsi?%3U_r8_(2qU( znBoFNh|gc3EUv1sE{JI;_QO2Dhi|q*KUT54Wp?foeY#HD>cGXTM*dPp`7tJHz4tDN z4&TwI*JxXJ;nHj6x-Z>_^H!`O8tfHM8~9!RrSX#yvFIE6^m1+MPUL_mN=CP9*WHYU zyGRoGoi?OepCaXkH2UQR>>M1vRRvgpcft<-EvhL$$F;^8R~3u5HmcZMVJ&flI-E+2 z(LX7sCx{{v%h*M`8fkTnL{?n0np`BTCNim=r((epFOYP*Re>$S=tT~#`|vepJilR` z&9<`1P+LnJDKuJ@w=#mJVURT3hks@w_?Ol-@Hk&|XnSgf9+WXyH*Nw`c4=0;9u zfcksm>1c|0FAMa zUmu_1hRy9iNZ;@tLQHfH6S>QK7e>T!xyL+6thtjE9kRlxHDDrKQSNUlJEyy^_^6|+ zghG2Nz5H^y-0x9KNxzGSZ|nCPXMWZ1JN?**6iiU=64Dt> zaX9Yb5x)7i@;$eeKmYILTLtgr;;st2<4j(;zj(5(+z*7ZXGqJyhU`K5bcwdL@N!`Q zo%y>!Be6?P6hNc=;{;k>3E|$nA_Fh@3nnOVx-=hWDG6}(K>;)Ium6q`Uf(acG4o~TCKcwE!sUevlo&mG>C?H|)*Yy_jK7rQ+O?DP_gl9T%`Sq+ z&{7dVYcN_`kyd0I#xEEmbY1EK6;n?(oLsRK=N#t@||%pjE53wrHE)ow2R8)?0qh3fk$+ z=luRj_F8-Iwby#r?OpHXdC5LF5bzXGSpl+-%?XG+P+{L(v?m#AThq-&i1#$+N8k&G z8*Yf{A0!8gEWGFo!$KA~5Bi!GfzSDN88S`HivmZyC;b=KaI$`vit%&Nhn1)*>r~EF zE&xYyULY!(SFjD<2XE?A62^=+J?)=I;7DmFjbq%ziz_)re@ew!=i-+Ld07SPC_&MY z9Nf(!yy3;y{aJrW&6?xA$n%q1NBLuC5u61(Mb~r&ffiB;!(s>{bbFyS)|cV57rC4% zuY;0efp>$TsI|GVXyx#vIIwt*h0VjS zcm6o)-hnIW1%V}7$K!Pi8WFyLl(R@^scYQb>?n~*5nqgHfvmbuJ+epQe#?{0X)=wr ziet{69Q`0nc(!A7EGoBC-Z^?bDnd3T1h6q?*&jj}dX;O% z%8~~4xV5)qs)<=@m2$Hnky@o0VX={}ir$nmx~+B5$jGg=w?{rtfm7_*^PaOV%}Bij zGPa<;=!3lJn--6*itJrKy0Ia|mfCYL6*8%z9+&0>3j93cvU#u+g^9)=X(?87;KHBYTr+w6T%5F)ifXs9|nm=yui< z8h#bHF&J7m@XEJ&-xGp0)sI?+h7*a_w$NhT`$C5$fE`4Y?t2LTv6Pj!m7gZk((4bZ z!-F+OsnVap#{pkcPn@bz4=pVOtc6-ZE!+|^g{yYRSegQE37yBF=+Om|$pVIFriHEh zzbSmRvAK~IQoh;2Rql|5Uq2C(3x{#l>|j^{zouBY?7cDUDwNsBW}p3}KX|lfe+eTz zs8O`OkqXT~%#og+1=c-Jc;^r!=d6HfnRds`*%k#HZCvURo1~+|Heq(~c&|Mq-7ZX2 zkHE)WG4W=MCGYR#{t=1FE9zsr)F@VbZ1^w&?0D)Qry0`J{T!_#p%6jcQA%?_a7AS|ma<%q0Jj(~pE(LwoO$cgP026IAi zS886sS3R4$#9ot*emC^V86E&9N6v!~A87cDs6_xNse+5fZtQ4elQ>_9#@_@nJA|%a z)r^3g3OdEHdC&xG%u+Q)${uhSh~y9`WLd5pnE(L@r!+r0NHW zyuMV2cV#!hH4MNwGjI=3WRGLB#|K21SaV>Jv-T&3pOT)k94)&wg`bhC*_AT2Bps&t z`IKh*$m^1h&6){KhEE#zg_OP)lH$0fNo8Uk%^@?zjWe1zaI?}=AlOTJm#}?3DJ#=$ zbc=@41P}Db5*%pXGtiWcBZ-)9E<`w`rx=o$gv8U(i;79&S*Td1EG|tBBr0$?nG8)a z+?Hcw=b(T|i%ZuBO8Y$$$%_$i5_dd~WheouD?x!2?x~W9o)sx3h6u}w$0M&=j z*5G}`VmJ*eVoC(qhZuEWkOc14q5v7%@i3731ByVZ@IfH;JW@~LyY~aB<@m7b$;G8> z?jZ?;7OrXH;!=0uYe(>bShVYBa_2Ra7_+!k6iA##A{y z&iaSxNAuS}!Bw7&wh_MrcyJml00A&WtK+`b;cv|l1C*z+P~yn-X63IeeGW53C0#T{ zq;}jNKKIVlv+((u?Ky)d2fu?o?e8AR5Koh`-qGx9O%vjnl~riQyVyuW@gnrpfqMO6 z>`}lv;~WSFwo{A};!9~wFdG#i&;6td!d-VrN~TO*7LX4U&#vdO)4b>JO0B+o4o2Ce z(!S$?iPQ&gIKm*iC8`F>=W9ez}*6>D%9jvfK4*cb4y z$~*S(nup}!rD*405ZM(T?V8Plm!MmJ0r5IaFWpa6G)?@34UIqr8^qErZEjZMNzM;0zX}g)piOVnzznjUsrGHev#s z4M9YO^PLcb*DeJ$Qkh(%W`pBDnY)msYifpXm5J)U9y$`Jyg06C?N_u=n)eygD}SRW|~#mt_CRUiYy=L1pcfX=okIGyP>zX)@oo zqxb$*!_<#AZYkMzSZhfeStD6vu|ypdE*?@;Swc?OO5y*>bJh|;&>T@>+EM-*g^PB& zg!yS};1h59a8di=q0m0MYB+=}kc18i(NU{JHT2SLlKN!YsKAA=Uc@ufyrq%Xjza!u zI1oA+0bs_4~(2NXV+1?=Q~$c;UM7?fX!;b4{QxRmKOH zO4uw3g+KB4v71UhCL96(-~q8kJ>rBA#1gg5@-$e3fQ#$`Hb5#zz!wVU1J)fkw+SQ2 zW(j}XED>wu4!iMHti%8C;~!|DqQ-S42!h!{k0O3QLO`96A_HZLQFg zZZ2In3)I3$9$6=8Y-_YdEe)RHu!n4WJt1E>{2pnGTexr;>BQL&2IO3HSvODhM7DQnb`d$`V)P^%x0jC$f>6NQh7MWq_DwOgV z&+s&8gO4=U(V?gh+7EsyT>nnTk*_A5d{&%m9=g+lSU;evjqN>pwg3MS0-*|waGNH$ z)gHz0iHe2-$5s=8CMG0Q45gqcf07v<%O9-#41|gAmJ~%^wH$hXCGXO3aU^NNd zIUG!2#?sgz1CN9`tJQ@M2=HD}5%Ardi~YJlx{DZZ)6PZyE(r$l+SOxbFBZ-#qTMza zewj`Ll}3j=eia0+@RK+2E?%1FAL4ifLYK(YAVkr9#3jnN-LDl0t9Q;X<7B^fm6=fZ zDkEy_YR1kvTvj+ctF8H63x@9x_Z`3GyK}Kv;)?i9HZ@&ER36BWTO-6V3wFnGV)W&b zJT4WZhefRJI7eroS|fd(|L>|PT1ZUFGXs5B#z_*DXO>CI3l#!kMzW$1Y93Qz&{6XD zO=a)$t7HGq<6m{7viJ96|Cj>|;GtF3K^`dujn!9`9x0-a-@2Jl!Q#+mfaYbT!Kod?OjYRD(mX_3R3lcimPGU5A=f$H--m@utL2%V z^$)2%G>=WDR3;%_B>B$uWb$HPDWf;_ebjmLqcdEFoA1oZEt#E0x1>`w(?$S0S#6PS z69&~Nu$C;1;zMHyY*2=4rg<6i8SjH*&6`HGrWMQxBh0HBmrutY!{y*J)Z{esKZTNh z6s&gm)3+0Yo*K1ATb1VZrkPVT@?~iPIpSjFq-#E$F~43$>j z`n8Le!iM-MiU}*5HY6{ch1)Kkvqae5{HX1|HKgro$HNm!fkvGnZ$X4}ZQcV+L$l+* zPbA*Jp8I+16UI=1njUW~=Bcwq1ha}fze8*c6{_jb7J_wwGrvo#dUg?fwb^WNV=t<+ zgIPTLA-P9@q+7#iz~~<3Vr@{p5hT5G+mhM{MO{=%&E~3YBJ z9`(uNJS--r{r{E+=MV57V}1AdIV_a`_x#s9;%C+KZ+S%IviINeV85se;G+JjE)tZt z=ii+yc9wrsEB-9kb`yv^x)3dDxpmz-*~+eGn*9B&)V`#PJ?xoa67J!e#WefZ4DKhl@nV- z`DW#ltyVz**6TCBS@~3}6>GBjxu?uZS*w+go-jWrGb<;zZW-@`=aH3wMUm34p*+){ z(E@U=q^R{Bw%~16I`0y&&<4-@ZBa34cHtb$;03?$Hfe2y>NVh<9FgB_G`60+!IzM25@$P*Tl`>!U(Gn2y zLx^LgSGelreN2=r&6@&5#}sm`^!fMj%;6F8tPdL%As^|wd8+LX&kz?Ko=<%r7jJa) zOzQjXX~5|+?IY_Cu_X#b{R)gte4*Y!F%ipyvP{hzf?#Ts^=flto~!}LI!RQ@g3S$x zwjPgHeEaU>T)y>Q89K|9T3Mr-Ct4+dkB@J1rPz(l7h8c=8ZHJKI?*kd@jc&dv zo-_n<3#W?Y;HxKED(l{)`PF3Y1(Zv8PS$6cHbQ1YV|Ci+#W4SUh`3U<2Dgdj_Vh5c?g4 zq}j*}1TIdVoADuBVWh>+r{^fhO2bwXWww*8yehg85X9rl z=Q#nKA2J4rY=rV03n$a)b3rMBxx?p$lo${&`97;CJ@pVH-+8N|H1lDX9NsUWep0G) z-2HrceB4>|#JEav;l(XfqP&|cRon-t^uL@4d_Mz&`mQ*)1wK7Zw00n>##k0!TU>6a zi7T7x>7UxoEpMu=GyPD3iFKo5%s+3cZ%L)DQ^xM)MVAcpo)?Sh%@U7J?JV z+qc-gaXo#FPvV>JppE!!zQNrh;Tfxx_3Ftu^Z8;YN8_TcBo-;2+%&S;Lf%4l{hClE%1! z^91O>S7Ys)Yxig%y$YU(6+de-dAY^iWdk+^NlkXdH0Wz7sxyPajZqME& zhYxoPoV#eFVXCoHHn4YUbTy)Xof?dWwUjfKHY@p76XrMeda1%_%Y0j^ zYns_G(V{Z;uY|=$TRdx!St0_hLiIWVmWNy7%ci$s zWHS63B|02|^yo+3%|Um6Jy_#MZ`D=`?AS)8U*o`mm8*KY0;lV5^|0fHkPaik)QXWX z0W!L-x_6SF06E{S0EX8ZvRar?I)BGK!<8TYM@5q9s&Xghk@GZ5wO!decrje5Dn*q@7m zTyK~Vc#($=ATLJO8)A%xSX0J*WME2li%m~gN|*g)mQSdcM;jd@ZJSnin&mO|@>r&l z-Mb*V`Y7Yx)z-VZ-&~2 zo^$L30z-CJDpZ8p{t;tb1V*ee4wa5H#z`?YQF~+m0!#m@>8-HqI_h5~wWW$1IvN@q za)9l6EPTa587!HclPb5bVT7?S4~$iRg3%Cd8n}nr#!lLvXp!2o#TFQc_P0$3>crrG z0|)yI(R}J~R)rJu0Z4HPgaxq09=<6;H^7lv3?z$gE{y$`KZH>>vJ5tP=X;lX-@EMS z3OU%J={$ZJB8JXmmv>K?jNff;dSeH%e=!?4#Pgz{(k6%Th1dCY zRlI56<<9+=A0c9RE+dH}96`kBy*!49fw*`QXI`a6Qup>{09rgUl6jFB$*=}=`V!ws zj-}W&f0fkjf(4q*z#5WV&#j7gcOhk|V-3k;ARkPAC{E%HTku|8sP(Zl8MPuoBNSq0ke3fJA z1PGi1>58#*A|%LxRn4h?SkLKQD{O2CX?6QJ>vwTKLc$H^CYgZ8khz9~WzmiwRUBjSN_HDrPNQTAnc*QtAz2U3yijhs|!>yE_0={x!r1r;|4Z-!*h>=3Zs=1n8Jw0!s-#)$Nzx)&| z`(6o#F6o_*e)mzo2j zK5P%LDl+{qoOrl{W0)MN(=XR61gM8`AWChBo?3RRl+PK6JMM{tgL73+ zPgOU^^p6Sv?{S=qI4ETog(HW+_liG1XOT!7cc6VGP7ea#T5#q?OJt>pKLv_(;UU5~ z-0;`r)L*3QgGPhCpz|`R;Rs#)K60|~ed907(Wwr!zcn z%s8iENzOTG7|*6PDvoLR9o4IHEIOUyJ+)%6mSa>LU!S(Vx})R_hr|lVNUfEW%bkZP z4SOaifW3%g5pH2SGWCJQHCZaQf35kRi4dnTf)o>x01T&PP21eQSyP{HP2a-Nm@}+| zOM?IBf%dIvn;;+&zUm*ImY<`GL)%-9`+fH)(@m=7G}d^A+j4=N7@&(RHB!EpaEROP z#&?D(X(q=^XK5XDmL;S;k;oT^bJWHT6b{0YKx0lIqPoZ2RLMmu0Z)LLhx1|uWTsYy zq};!(z{*Z0^1PBLa?AX9Trc3C}kYuXa z=R#dkF?RO3Fjpe`T)0JJelEgl>>xr)?>>p=bUtL@J)TC?RFy3#{rY>r)Z%zUERVsT zHZ@;L1V}sRA?KtvUXm(;^3~mRL5|5(>B^Bt3lck|1N?lgbR|DgEmgp3W5(}&|3f9_ zu!?=EKi((*2S_x<4Y*_ktYUvXo9}E7|M8W2#*_isX)j>E9&YjSnRU8RyapX>t&9*%ird zUuI<~LeJ(nXJO1HcI2-~DlW*LZRM7&FV9w0Qt+wEL435u)GMO73<7BZeY$YZru<7r zc12l%S=F)3+3KMO7Xx1+sVQkwqCwms))sWG?scYA0!2e4EB=p5_>5~-vfK2vK%RNY zrA1w&Rs@JjD%P_3mg0*VnUz=@^3jeNulY8BAZvXX_F7s4MH9KuYQ~alFZ`0BrL%y$ z1-ZC33m?wj6n9B0=Oq^C6den9(s^~14ufy+gREI0c)&36k}HpV^!m3T`5Vqw%9ZC_ zSW&t@2a|n(g~APo`+Soboupv%liiciOlMOiI)RK1!7hw&Z=R$eTX#I)m7`7Wn60Ms z-2UXkHMv?I#Y8c|S+>m^5k4e5NVe6xF~7NVoxrP=XpiR?9@e{o>|*Mvkm~t;IUrr( z>7pZz&OH^lRIwFDMXnrZ2K8=JXT_Viw&Tp~b5y`nI@R3;PWOl`KgX5r-s0*{&Sh&u zU1!(eFU)m~tqpg5$JR!eb17J?T=7%MB}O)XS&5EMwVPrTh$}DH=J)C(y7%%;QI$GF zQ1R6d=80Uh&}GZq(&G!jm& z)klnqoPQS16F`v&PkG20u<+R`T*dJ2qh;r0s_~rcz7LMluH0pA=M$BKEB#bWabbLN zvVx|hx=-MeT0FSQPvvK$T|j#!Eh~LbR8|bb77PU)tzo24V3Nzg*g!`8-Ulm60yni9 zt)jckTFxu`Ui#iRILC*V$6-}?hAcBvu|lVki(FhhO)Uq}O(~T4Yw^W1eAurNO1xT8 zmQ(X%b^L6UuHb9Bd9rHqA>%BK0{E|?JX55%LyqjAkB+1vTs1DiqxM&@Uj^Ozu{+jGLrCun& z6gI^wwS9?AyL#m+oqgTvEvpo-=@Qkecdk+;?N6Mx`gqd$79YOhwMmR8^OqUB1$K$A zr{WcCZl+$0pr)!1Iuuq#1X`GHm#7qQ?BCr*3#L<>^dGniRB}purE}p2LxtTz*2$8S zsYiqDlFM@EaXiMfB6fj1esy?kP<-1H%o}rq4o(nSPu{NINo{;_vu(RAV+CMc>;p{D z#_F8a{j0C7KKqKGGxr1WHdo<5f69zW_U}kpreX@zbh=QNOY+^jYF-Kce8MHGBCIa+ z0~P`ZQ=`!!5LfrjUfNy0`%QXqpI@g4t$9PC2xr8#yz=m*spU(O)|Kx}I&P1W#7e=1RS4OMYv~D@O4F~ zX9>kF;dZU-I{sC-J+3zQt0nf8wOhX0Y2ROa9-JKykSBK^UXm|;Gt@PknS?^EB2AB- zlx{85px@3JXw{2;@ZUDWCHdgr{E2yq-;<^E9}j_y!sfR?wN1$uG&Ytrl96hnS$2hc zXPbPE&etZ$&m$e0yDILr1^H7~i&m)$qVuO&E8(t1jDxdNio zi8obODg;EIfaf;QU=lyNXwkt#Eoz)K@h=-U#>G#dt24NXh`F063S^Bc~pmCoqXV8qOM(=QC|??Bv2;uj*>h&z&3y!z8_#jf)SEjL4HsZ&JIV_3-=Kj~@*}-(O9ABPWzCg#zVxk%WS(2NjbC}DQ#Ht9Ot!{~A?kQ8YkX_O}_HNwU?IoZu zZAd0s*G7lB?w8h|Jnu0F1hyQg{yq;P)N@qsJ(p?AV&AX0^IjA zyJSBs(m%uhKBURN2kB4o-^<4BH+}Yijq|9;Z?E%Ha*derxEa@rpy}7~zaR86{pWq$ zz=dxfE_z{`K>qhRi|*}FX6SmKyvU53QHimJScYs|{}i6DAP~LQv|kj!1E&gfK>tDC zH&L;Wht279-mAz+RkPn_s+rh1y%0T06b4#r;G6D2g8@f8lIOh3|Hao8F&c?+v-3Tm zLa>TnoMyW941em=N}ae7lnXL zQf1xiy?WscAjedWhiAAmp6#Yp-;qf`)Hg3m;3@@OJ*j~+qykw-xoe=%i7ELd;|ynw z1z-_X@5oFC?h{Vy<(Ik5X2(Ai4$f|uSpLTgEb$9qWeM4j$^#jL zg-y#ZOc7ZV3+(tQWNQjy?ADsXu{u^3s)B@lTwBwrHe+AC#hTG!|C$N2nX#v-mxXGsAG&K@7Gho|8Gf$oIvHm(=|pa++26$lfECt_ z{7)HvX*e(O2dVi9EjL#h_eB1urRT>dUf;v!hsG~~9D+hgT19AS+&G;gtn9^f=uuLk z@FwLOL*-c))W*5Q)(~lPT&OXQLa?)EM=DWsu8$0mfZ zwINo;-u7~02R9lVaDBQ1Pem20-+)j7R#Dkp(eB`Ju2t|by&YspWrD3WL2O)@^T)vE z@MBQXEZHKQbO(?5soGCr4EUx9p&Juv!Fzs6{=@|)LaQiXXld>bHB-Bx(-;*{F>Z%y zb3PBCqUcAgC>H+|r~`*X(IIL@cj`L*9sxLK_X z$@_6^Z`LWp6egbh)_LtYj*+J+z0GA+)b{ng%mtHPzg@&cx%lQ>%^9x8@szLmt}$1W z9dtoEKT)A57}g@R3ci`IZC^l&9_3LGjsNV=et3TD0V)0PU+xJ4VNOx!rpxE8iF1c1 zU`HU-m`jEl8Iw)#pJyigk~UC=znx!18{-RM_?UPdbIa=Bz7wBTTF)yz7L@4Ady=v!KdTFAyM*X>TL!u5!IF^R$vjxF)6Jcl} zW$%&F@%ahAA)gmyHG9VlY)V&ADQ(Tr9`2d1R*jeD{G1-TiIl7ijn|AH7>M#5iz3K? zf78SANyCLY7<6la{eOT4PC$<6WvpYa^K8&qY@a@!E&R~3zBv0D+tfqr?Hz%1G}6gP zXW9#GyuNU|+ZK1|aQ@V!y9HOYs&4zK4E^vr*3>QFqSSeOU0g`%i+%v2k13%Dtu=J} zd{<5&Jx7bt`lEgk_EzVQ`aT^rTYR6G8q!r2nggCIe4m`^qMQwpaKQ`*`tPL2x^?g?xAd}P^UDgE@>lE2 zdx5{P{Mz>G$W`LdlN;!9&z-+NRp`ZMwi3*jaO4 z^}ye`^gNtC@C%qZtZ*o+(|Dd}mygLz&*=mFDDsA142Y8+Lem?YpQ19iZV4_b&Q2*Y z>!IdXAOHDw&QHv%@hfk}^5fTiqdor9T)uiIl{J5J9=a${=DbH`I)C@5OamrWz@T4a z999zc$C9&s=%Z(^hjPz_(r3itzl*P;tDP=AT!}O}m?K;wA|YiBs{`B;*^aTVnk$B1 zf?yBy!Dy`7VsGw01ZPM2D%p&|p-)VGMPw5WcY$qGbq6VM zCZfp0Si#^EfDfx3DQX=@?U?Y(M^O=Y#L7+o@I&OD+NHJYR;$~LdBi6l^cE1>6!~N@ z$T`D>cfq56ydK6o$K?!!aXn$gumTPSsGM{?#~j9)fruEu0Oky3TGIM*T!oFp&pFE~ z9@9rbrs!~(n&zMt5DtU8ab6#51$q@V?dAd8*P`C7xuDi^v^rX+L+J}{{>`!T%&>y=150ykTE-H;CMs4Kzdj77PT|35#(e7b z08os?jqf&Z5Gz7?Sqk%dMRJmK2jx4VPsuc=q-AGf~Ok|wWy3V~Wx9R|#?SyN1AlH5|4p6KWnoS~2MREsP0)iG(r;uCvl zJ&h%uvow-Rnt1;hzHX*D^+P}7^m2Q)%%$zi9dHQaSA`5XLgFnV^UzOo8Jw~kPi!W9 zO;*K6v+BcP$V<1#iIE?~@*X`DsLp%ce3eJPwBzfch(11+jBhZV-VGZH>qDD;U;9^u zY0};lWu&6E>QJ6GoM)G-4(O|vnQiiytE--qC#E*Av4m(8iE2uQ#25bhQ0|)|acf)Z zD_jgG^zFtjS=FEnzQO4gHhE!5rah)XfN=&FC_b#}N!tSS&esmdk+x|=ISW5~>|0PD zN`t(mn<)>?=?*ge1uQH2g$YlO_=He!kA8)||K*aR`PmE8h6iX4S>d2gQvI(#U%h+k zVJ*$UI9N%>!MZSJ+gxEoIAcD3n+ei_GP5^t;MIrn^0ny)XNb3MY%r(T&FdT1x2;*Z zK9>80~XT_Sj+K2)=-`$bz_4U)*mnn#m?K9+nBWuR`Jx*gQu}3 z3C|!Ps8c!iTt{xEC8h!HP#9N_+KKit+^j}kx-EOAaN&{}m=xM$Ki|$xXADcqJu@WK`e1U$;ar(ykq3aOGwg`O>${rWd+Ft*p^2Ev3A z+L)DO{Fn{Yot$4UGb*=V9mc`p6&Pi(zcq6UtzmKIY^mkAwOG_%wTUuN%Y>-81sp`qzdY1)3SjZe;`ZPPFSJpEXyRD3XlF1{^-HH5fSR)b_n zYMbW4vB?n1_Gg(5T&p3>H&+kj>Zq*){aHtY*#08lJiYV^G^?`j`-`skXFaM3_7EZU zXn%zo5$7N>g`TW%TJ<=?nzaSyPHNMxb8Q1{=ggt;tTrEp#G7`U!^xJkQy1U#;yG4Z zXf{Tg9nX_36l)hJ$uNZ{bqe}kU>LT4fis*_9lc0LLBI1^J*jV;YKDH(`g8f4T)}-4y3V?iY#E2HSq&kDTgCRS z@9cH9PM3O{JD+?Y5Qxi0=ZD%i6?EDZ`Dy{|!2V)2Dvhre${fCR;Cldu^Lsif!&8Tc@RNjosd9>o3@Z|Nge#!OsX@A7cJi z-SS-Y1Ew;#XAcB6w}5u{f!}d*^9HV39&$nqtMzeWi#XR#+e6zF1!@Gh4Zgv>8g!J; zJO$ATr%m2wuygDZJMbL}iVNy|AM^fs8vr-HtG}eNRFU=iqhB)4fHqOS4|x_tS$4i$ z1N_vSBFp?N%ls6}e6b~~A*ZakO<}1^X~@Y>)ks#;zudx5`bd*c<$F>?ECtR{SCtRAv^+BDrS2>4TSq^jT=UTtwr zcr9$3YU^sI);87b8*ZsNR(+dS^M3s8-=KX3*q6}Sf?pSnAg>%UM8g4(HN>+N_l2Lb zxD2+swqi@uVfQKfVM~|6US~E4hZL}c!tnJ;^?R0$O@XPVBX_-K}M9C)7CJ8-S{YNt2TwzrZRd{2_I3VNUqv!48skxqsppHW3^Mq z)(EsUz^JM&>B*vsZ|b=D?@Y_HydaI@>4cQ@0Jp4JYT_Q{k=5wo!+98*RVH2#GmBjk zM(l3($$W?P<>5MR*-}%m>jfRozlQ`}0e;*WNroHBq?3wkieZ>#KFb-3Kgx5vUg4Ja zCN`TMluPw-YGrtaVOYsTlpE9u5kb$<0vKWOoJo4t5R7m7j+bk`z>Argi$p`=eLQw= zrQ4-8h*XpGR(X^1A%y+x%s2 zNLl4kw#2S%+l0(%0GJ;99i=hEE9t>H%GFSoed(t&bkzaxGPmyzi<)lrfaD5fp1Sp|uw5iG4>B($!g2<2ADsOgpO#RRFPB>f)}wUCXWEZWVm43G3L5j|jH<(J(e42winf9z66@ zrknJZb2Hz)qoxyml{wv*5UDmqZLhZOp|&X{Ho?V{lr7u>mA$u3kRi3l*JKCi#-&QR z*U3P$7$6B6+zQZNSHq>Bs`hzF+kMB;pBPU((w!h}-UdK7g)tMl`Hfwh`wxv+noem_ z06dc!l5x#)Z6?3{PU;6Et_HP|syfn$Qymm0>{-say+s3i%RGA*T)A@U)ZxRdJj8UA z?~z9g$fY+V{ zD)K3L6e-Bg($eUw)L~`MUjAV>Odj2M=l|!!zy50Ao0e)_o*Cv!$sujkwFO zLC>gzQmsKLY_^LHQe*V1gQi-uyI9mVC@nz7mFnytu3S+&MqI^~UTgOEnf-y{)ba?N zkzM}MLPRX>xynDo4VXHK~9)dL$Jye(srJPS2ok4ofm1;dgUrz#~dA=Oe-iWc!^=D)YK7&FK>--ERAfQInm2#ceZM^DJ@{D?~pVcOrwaLh563yDD)!Henc9QB^d0*c(mNdPKP1^#0!n$DNH|u-oC2hXQgc4o9bq1fQ@w;wdBd`FEyI zV4`=w9w$U>-{&g4RK^6oGfk{hhQp1j=;h5g;=@In8NbjTqvJlqJXur} zx1B%0ecE#@f#F{bK5>8+tf!bKrE5e)9z?g***9G`h5@!p|9Sppse* zk-Jn=L81YK2z_@FxK@)+8Cq19TQtBsJY3YvyMh%qqG%tlsEF4Ce7JJ&fFT_3=?syc z{vy(N(+i~CqRUOH)q+JL(>4F4rr2TK@-Wh#%T1;mT{D91B{sB3?%^uzFIu_Efmw3T zEXB~~z8%(CO547ZuOD*S51`+=Y3nT6B_Iltx~tYdgd@C5>N=)+svK}+@DFqy^YrJc zW)O?8yam)b?#!dSZ)fTxaj1y6M29*_R5!+nO91-LI~QmlDrssc57bjti&}#HM)&*y z)$~1uYQhC{d000;cKC9W?|PRRXSx#0F?R1KZ7-U+&zfh=wT8u-xtZ3IIPvg-+Y?{E7luv}4O2v`u zr|(@KPkrz|JlIjLz_=P*;YZ|!79|335(|5BY@4nx=X`hhuS4(m9lOE5%4hp$_!jUj z-`(JgEoOt%EDyQLXSRziq$z+Thy>@NGekIR$J%D9AlAQ*smUa*EeRr{imn`JEtG0svLx%tnFjI$DrN}&GNzHU^8 z9u-#Ea*g~XN5D$PI4g-!l}ACq_54F=gQ$#GgUW}O#pO@+D8sdeNG%S>{Y8aG&WK@E zjc!!^=UB6R^Bw{pigiqO&KKZG-C)!_(HSvYjb{1gU?xR$^UsJ)bIK>bMT(m+D0A;<#uha%shcL) z4?h;clPouhQD#VCk{sZxI}r&PYdF^wt1r{msE1$8&l}Di!{KmNa+zT9EGBY8a8_$` zV_`@^>bCIA)pd1se?1e-CggkiqiPLACX~*V>ctTKs>;if^E1o2iG?;vL0F$WUyrAf zlxKo{8Qej@G*m~>0wvYC`LFeWitj6*Cwh0CjVC=6Yy)ItFu{z3KyFXDjR(;m5C$M? z#yo(VYJC`Q_$QXji7luPqqlWb+}tf;=kwyB(YxR$_}g*3#8m0PE$PZz-GXw&+Ttg2 z%fgbH5|ycWf9*1`%6t;&B&wiSX9!k+=by&CzaFuRej@;uCc&!^pbS+uPpZG2*Y8(7 zU%tZK|FYY$BU?aR(W%a*e}zHXUQ~AQeUe5*1_nhEV;<~(omGGJIHH{Hax6qMpQCkAdhEgN8)A>A99GffxQ8I<#5gz%`?;x zzkgiTrS(0_eOI3<{VS`S%^E}6r>c4MxAQexhRMj*s9)>NNOj5xbV;&me0hFmfhWIE zZIl$yO!y!U#-0JJG^XqRE*d`m`n!9MBP*cW9+nf$XepqgSfIV4Zy!VGtrlP)jF%uk*vst$(* z5yy9h-xXFqzcwc@CShl!lMTaX4k-oAD>ZXdlrlA+FMaq-|7HRd{v0AZtuV zpY@wmZr7t}!YG~ZL?Ow`T-iw8BEQWq?p_|TINHK|nU;3rdQr9jf$&qe`dqYa5d{^|i z^qu3#xZ7xMhK`b&t^7`(?tqs$xyQ`jF@EgcX1MO9$9*4@tJ!J>nnkX;F;|jRD9`GX zL&e&D+%=e`0aHwT(^CLP`LcIr(7SP4zn~ZHo&*o}tbGK`JmrYF=g`X1HcGqK-?KlZ zr)T8~btB8AfQRoqT*l^5uscj=CNksK-eM;A4Zb;Up_23F_>`R~z+~O%4zUWR0+OqB z(sXHNP~X;`K6B4udE*hYIbMWPFP2ebMM}#lEk1Z8B~#1tDAj>7HkWD%L8nlA?)LP` zd-}ZiZhOJl!PGUiOG-&HjU+3-c$L!d8>Z{$za`_zxys%w@lGo{{E^QsjHD_hQ0dLntPRtH; zvMr>+P2-lnHQhzGxc!a$C57`q!X9&K)<9~Hd*up^_e7Mav~c{ziQ{qfaQL_8&TlJqnP!7{!Kj52JybR|R`S$%Q#`@-8h(}a8o#Z1iIa_bh3wKV& zE9hC!{ve?}Ua1#M1??l32Ce<6=OF3OLPB)ko8+ZHy+YERbjxD@R^_Fm+?Iu8ZcN(I zg4(RTm6DsXY8M7JLPRZ8(q;$r8X*_oyuD&Ym7{@FNxFrz;xHL6|JI>4Qnol}YaDms z&S!q9P)`+Uz_07{#Xsv*&jwM>EoJO%%7`xfoX&gKkJ*)#=DoNN%lB**ElBkXG^iZp zmKmw5;w`B|(_MKh`n>gyeKUEsQg5zz_io}u!92BXH~qbXV#YC%H^w=>*nIQvAsb(5 z{-Tv0e39CXI4diu6FcaZI;uW?;?V6C5UC&McyrAIZ-0lG;yu;)y`u~*%lZfZ#BcZ? zJW1y%De!Jrs=q;LF8t z^FQJN9sX`065nAz6Dq(@dg(I33FTW%WXo5e3-`nhheyuE_eoS~qN`>7uZR!}V0b^i zmYJ|)GZWqNDb&J_eY2A%h|_A`xL75U0&gP&>Egl3T4L{i@x!mcw2Pky%Pz`irn6Y1#n;$% zijH^zm{jy^V>&yo$m6vX>s_Xe{uUq*ZGG#0OTb_U+AXVrr+UAP$hi7truWM{0Ni$a z(c$ovvt=*b&0FF0irtr5V%#+|Awe2A_0YZR)Jw)_$~C1vk~-yPqp8fPeG`k)yoDue zjyOuZ;#r3bKs$D)y~5jbxv0f^15(lzJH1P>!zE!L$ecM@?)hjy){*%MJNS-$EXCd9uMBw@>SXq1`B$l`-)$yEZrA=8pG@9sI@17ZwjYEfb5ibv+}(4+9>dS>_BW$YE@QUm2Y1eBTY}>FoLQS zK!8nM`vqJL>NcHDsg^NZqjqWrn_*o|XN0DgR-{LaGfY2SRDCY1+FZ3vUdy&0H>gi% z<((^9U@p?j%dHw#M@MCNii*N(JX(5cDWAXg{gm7gt#)daTE6unKVyJ2Vs<Z#KJMK2mF+S>k}A?9>Z>A9>~W~_4stj3xLuPOw{iU?wqDY-I0 z-c+mjpG&`M`P~1xbejM+6e%fHgXD|=8a0+Ev7Rp69aO(}?wS&$*!T2}Zl!7$*Wr|> ztZ9Vc!$~d+zkVRV(g)IEA^&>JHq_j?w6P?Itov!hP8o>NkSsD>` z%&g1R8F{t3M-=~aSySF==E*ktt5CCJ-$D&m2CS1Pk{yUL{p8m<_AyT`b<)=z6ij;H z5EdYQ5lm|)-dr9$)~Mw|Osf{sKAcs+38%au^KB(F7zeOzWtJd-DZCernV%k zN^gTf5n?OD-e~QY0A*WIB7>w?r;ROEoz5zRBT~we`Q#N4vCn1fVO^% zuG%RFGl?iXj)F$>jxSS|Ha6zwXshRIJ7>UhAu~P0+|74BEQ2FmjKz8~R_&n7oilU} z-b=4atqBW;FAt}!Paot^Y{Gn7&bH+5>rcd%a$(RKYg)`lBiH`;(RyMRQZ}FY2`K6F znTXlD>8b_t`W;`cD9O=1$5R`HtdgpI4t@=b__{&PO{b*DO`zIU<$U%zDj-k2884Zn zNKQ^l8;zIDsb90ED{Qs0Iy_dfcfX>LD#O`Dqg0eo+7gapKGpfbsTOj0^g1P41k@_! z%W}OQL~SaOz^M9Me~L^iFBqr)+G7aWAfAW7SY^e#BIuSl%9c7*e6w8gY>9sOWHGqa znBf5f_k@BRqP_7Fpy_)Rl4XifqeNEi9Zi%d2JR>8%lK7=@`YOj$&1VQ3&Yh_Raxr<@D%0L z6kaP!w=AWcbNL7idMDLZEc=}okn9yDdb_ z)Rpdy@9cyG!d6MZh=6UfVRI`^3EG0xo&(WxQ)eJTKwD=Z8bn&BN}YNcJ12w|0>v{J zR07&*h(>|RXi}|+mr2kfSeQ{ewbrpyb(+?8+8MQ?XvMtWwF8~LbI$Mc`Mvx>*4}$v zp7pF}J!`FJJ(pdx2Lq0ZO4jDc2DUEUHkz4J-L|XkZOeQrC$!;pO&~=;%b~VNtm?>P zEp|E!{xL=H*1h2Ewg+v$YgGmB!X5vN`(;mlR38=HUWn2q&Vlx&^R*(% zS_VTG?R;u5XjE0QbwGA>N>1q6?W36sS~txfZ)wvyjf8J0n-arDa}*IC2Lm3oj?Qdd zdsNiawC-M1QciV=lZWbm)LN1`uys^L>O4AS)BHDEYrpo5Zq2EF(8^~oaazlGFb3NF zV34dOnQ#Y)%pYve`V8cu-9wcc++>t~p5}*qkcG>@ebghA#4mcfe}HCm9dGU z*mUU3bkJOE7ViqoU(OLRRwAs3Hiy0@1;icF5~%UO3%FrdR%8*;`s$EC+$T2FWaamp zIwZ`D6C%f+tPY9ycUfq2pqTJy?8%wDTs0B%#{{gVU-L^5uoel)s`TkYY-78+CH~JO zzr8&M58fl0##7P8_oCrwj(mGMyIYhC4@gLJYtaIqGDK#bkYGnf@=qRfJ{a_;4W5V2 z(Ln^bn>2SWJ~=*m$V~20gNsh)ZyUUxhh+SD|1^$S8vdQ*qz3YuZhBbwDU_+fKB8{p zT$Ab|=NjDax9wsgalU?{#%NJC!FkPw0M(xc6O-O!f423HgEIr$cDa z1iQ#b{Fs^OkZBc?>MesrOL}U&MyY~6JI2z2_p9dG<@uX~AuYFS^It;f6gWvR>7z{g z87BQ>CcUy=Tdz0i6-3cTA8yi5H|aT(KGvcMQEeJD>HRU!_+FCT>_UM_o^LeHR^&kc z`LUrM6Pwal;p_zd97~Ca25oZf58L++dLx8T-}LJx_t}QP;<%4X0OsaaTzW98aOctf zyFrsC1nz_)IgzN-?s)4VG5J(&x>^ez!OwhVP0Q=1nIwcpN{chZn;AW5UorKY zHUQ9tH_+L{;}zJWJNA*sJLGYw7mx3d{IDupF_qW9#{8JD%i;P;V3%X-`FFb<#Kic) zE{F5bdTpq2x7LHKvs zcSRciT(*8P8xZo+cgbuB`&LpvL# z{$@Z!huD`-P5nGo6CIYb4IvCfuD&$yKYbeZF}&ZuP6MJj?TiA^Xh0UJv_?;?-wm-u zc*lL{Ypk4cQ_DW4m>LOTxt5J84x_VPqBLws$#n}Go>AnkxUFGjCU!bDlx>F6w*x9$ z8&;J5HlWgsP?Lypq^Fa#yrI2?r)P^k!laMPFDNaJ4amqW&E6ZVk>_I}%%88+X!GsS zQx({R+l+>SVrV|*B}2ZYo1dtKxI7>v)j(%mA(nmICPGJpK3)1?NGs2;GZ43E zfUoSdJS5jn2}Q?*!QOoLwKQXE{3?TiM#x zVevmRPa>b~eCd%``s2OxFunBc6r7TpwE6l2Q%cPtM`qHsZ&FF(FQ(Ia8@!Z~FU()C z=~)d=(C`*L^tC-YY&d}V3-?zaQZU{DS)KIh8vb6AQqE28utP*^SXBa74tB>^LIS?` zD=i%&@uqZW39~dv$bCa(_`bt(-TWE&!donBH6e~tNvEFA{{^3)&T949S+PM+3Zz6% z-#3fyhnB|Y5!}xucD=ZNE7mP%_kd$gu`cg(vB_6*yW+Z?RqFL2TD@$4!@jUs_~3Yv z(*tbpA;5R7k5xv!2r9n-h#l|xbd^^z;2OOWRHVBc#HXV)`WcFtt6Yf$M5R6Oh&XhX z=W8?}`u!06QJvb-q7V$BMz7H5r)l($Y4n^%AFI{oYj_I4xO!(5XGg3AC2B?dcvb*O zhyg6(o-9^erjh1m6|a`sV;)x|PBEkuFO%-uv0SltGCmmcLvhan9Z^_cXhDf99tXZV zeTwvt#l=1hvdbnk6x{=Lc=!1f5AO6Akae3?YNDrRZ=V7bF%by=22bj>3-AHYQA-VH zppfvWHXF~>H(lD8$M+YZ9yqNJAS+M)J${wpb|ce$w6E*GN4^HvDzVN1zOF}nX2sO8 zs3(Z$Us5NN$o2Vj5B|)@EQPNr$9(jl_IaP)X51S=_rKy>D6XyY!Eo^pK3(ExU^Zgj7>jqZQn-z}Lp`yP63X!GfMZ=y}W5*6&ox>tM52Y(SMbV%yo zfD2}M{)B=Z!#k~FwHQGM|Y=mO9%&v>6D1)6-ihyZ-s zybgZ)?D{CXenzLZQ=g&<(SQqma7NEQrdd8UC#5{bKL@xuC2-GT=Tb}1AB7b65=OEW zkQKwvevm~U)v9gPx9s>S77pOmZVQA!N+IlhDc3zjs>YudOC7W5|LaACBZW?3Q*_^nprC3vCpbalms?xx+Cw4X zSXRAB)LJ6Ytg*Z~mVARu$tv_a}i}4?iQ`b-dVI zckzDzZjc~kUkdGG>Yty{utDtdFvT|B>*+f9=?#g4ubC>a{vbHO(S=3f>J#9E8MGxO zbotc(fFZuNEC4orOUksYK=B5G?hrqEF#9b@SuKj?XuTi_gz~blq#cy7ge{+{DzO+s zC3Zt!Z6J>GT%eXsT(VXSJFW8Pjx!E;=p-{34*}Y(a^2Li5*jy)wYgM>rKF(hGTl>V zl00NqY4viKJ`^(k@&wriY5sb5Nks5^h$(}MHo~u-))tU&4k-_xqE!WKC|goi60wGS zT2jEtAKKXKXk)8<$@P*lX8MxbTK4fRqWt=r zDt#OVRM#V114FS5%7^h-ceTr>a{tgNz7~RzPl)<#>q;&-j^D3h;}CQR#9%8jwJ$u= zRg|BvW*)#ZiqTiXb^~8J?;F07>sozC$!#!X@pSCq;;QJRFT!bv;j8phwfZQs)Sagk zmmi{1hzUzBa7ReJotfj+K7FRkVY8|2`ssFkBv2bDfDplP(nr+H5o8>)^<@;+3UfPC zx8_$sf^659ST~D(x~D(aFAvi%$F{8T%;uHwf1%L_V2RP_6H3-rv58uJqLxhpXM=F$ z)e>wH6qOG#KeguHK1O< za~g01%a)sR@WDS5=a@hBDb5P}{|Y&7@cNxH|JQ$zuOG>4iKUj}D?#~ARd)ccSH2?o z7x)I$y0dpM&$}7K08~WW0p0Zf5#=LMc>T^7xG&{|-{)Yhx{X{(dEf(tD+2t(p2V+1 z7(vMmtx95H6a4r!=@S&*FVGXXL-YQEpxLTYT=s5gZ%kz*RRwZj9NyL3IwsQGey}Uq zwgwUQP!Vo8bO}Bc%j1DVCdCtfhi!eJYRz0LQw=YR5#{H zDrj*5rI;2*dK5wEpfXhaYtltU@m-z_aFLDPZ3ZWGyz`~aRmJzi%md3jCqqO z?}z>ohy|vfq7?U}{5Zh2q(h5{?H?gyIK=$O+s~2;4q}&u4bVBLgkaRH8GX?(X$WJU z=W@sv%Nvi5TtLsghjsAq)g8cHl)slqNW`(A1bn-f+>PPMa7K>a>N4^C&7R8I;b}e?c)Im+kd83GESG= zGyIwtgis{w1;C=+Ci2elDJngDTEZdSS$&IPs ztasU@q$4gs$Atm9hglv`k+JbV?7Bi{|=#-Nibxzs&tp%i!=k7V0r7~|I+{Q zqbh>E(DiV@{^v)gt#Y_DtiAB)L{N7CtkF6Mcv2WK>NdR_xt_3$i}8?2z~%@w8@3W& zzyP>?<~1p(!TLJVdYb}1iXbl zr{b)=e=quPDEIk|rWHpI1)G_vZ;6c1LB`+?yz4G(&Udd<%zby`+VU1!eB%)q3Iy#% zA^hCy?|-DIcam9t`q2iGA?t%j7(K~Ky8n-lpu%a`4IUQ0FO{wxBn6>I2#GJ|Y{}Z# z?R4#tM~2^tJN0BVmiD{+dY~OCUemaqKBWQK#~X3b(u8D|zi)~Oi?b3x&nu?p(82TX z#-w7Wc6^qJeY`I8C)v%yhqD{!Y1kRr%@Rh0eSdan08WhA&0;(I*u$mdlQO$mL|k3L zX$)%7qu2+q0tEfTBnTo6L~?@9<-5ZoBxu7VA2F5I@E>t9h+1H18~@}8=0D*~-e}>a z??fIB^`4FIb8Cu;gh~C(`(Tblu1}F;JN7c%cVtI;?-8K^>{sv-&Z<(%0&>f^8r?GK zP`ZkHpG3@(^Lilj?vp_FP?e>*dG|Y=Fs-4vW}SM*`<Hn?2S5N<|zs3Ikt|9#``nUeBvg-f;^taw> zn&|H;e}992=&%0Y`Wy8B-QQ}8R~}lVyCO~JF0xd9a%pmmTRD68OlUY^`aM0vyIiMB z7v&c!FFGDw{BUZ@sYlO5C#URAPEln+h{`S3DIy+~Bc|^His(KjQ+kB5#c?d1(zD_y zhTzPhy5Ch^`!t1Iwb4{;`ZQ!IkC>-t1ICHS@i;Od9^S;`WA_(H2~`nxejf+czOWLl z;h`?0%Z+j4O)y}8v9vs++?ZK&`htzZZBOKTpu3NJj3i?z0x7&DaT-tOTWfIV1iPsw zTM23uXT(Y8*P{+;6Rt*j4xfKt+D3x&)M<)_`ZLHhhP{IT+5%_#^R7;Vh3 zspD|yy?6dsILb~#R0KE}qMQ4dAHnhSe}lvOiBAkuShO41XF~*CwCk9{xBCygRfK;1 z#4PbXB13zN-erlMHG>H%-z_(>kty^{*0v&{w;o-X^)0)&ZTT+;gPfjLh594sze@%kjcEgUvbw=g1AEJU%> zO)R^q4FYYrpk0&WHnA~zEiD}+=?OmVoP7FIcx^ZI`$YnqphS-dkiJv@H<00mzw$sjZUD&ePo=|>Z&4=#u-Wx6eK;Y7N+t2G2VMu$ZIRJ7U2;)-pkM$qNWh(rge{c_7&v;qgEzBr)<7r1NWqVl-QoQ)| z_sk3s6?7RcHaxgs6WH9aX#?E1c!aLlp0yunAaxkd@pb%y)PY-w%lCG?LD_zxhE~Bv z?jFLY5*Sa2NXBpdV?ozm^!4xZUCbLHpKJ$9iBuCba}6g@g_aFVp_7)*hp0)*!qv*O zIa|rYw4AM&Um2w-Y}CfJ8>=^#<+dwA;~3F}c1lwgqA8QD7H*l8QK%$`{{Z5)`xCYI z+Gt*0#?3o0=_N7%yfywT`hKS4>gcy{Ym9fR$-A!#44;kOC}5_WRhQIF|5%JKO`U&RtTG+FA=Pz)dZuTP-!KtOb|UqnWz&`&xFI9RQbwE)!=gXRAd@3z|j#{Fl|Z2fO%%pyGVv zUOmy54?+R>BdWMY3dpUbKbaX1#GP9V|rSqCoAjCd!6Pnz-wSK;}Y*#B@Z6<+^a;h!*$NaC!Zb^}%pB7&> z@!?J-hl#= zTTF8IJAGS_S?uyL{d3AzRoC|Un87(^t<_m>AM-SMlLeh0i%00s!)O=EEP; z)hBwDMA3fsu{C4W&An^;a(@yB=-^aPyF#n1?r zL>>eG{iSbUxn0jPlY)nwoqc$*8q6~WfI6-fdD{E1xc5I!wg6dhDuwlbCe^bTi=oi_ zyl-H!U9Vy$Id`FycPUCm*ZviUoj|PIYtDf79FS9!iU(@?$&&wJ0#!p156NNDpuwL%`2GGX$X`&~SEY~9V!Lq#wMtMc@)!z{2aOKALNu8vR9F=q z&<9z-dVig$aZ}L%GDIE*00sWc!S9PN`Y3f(U!Oi2SW&+SJh7?U1JtX5BsPUr0qN>W zg0K`enxvN_9i76mB)!6)Cx)b#Asqt|F3!V(5r$z%IFxH6SO}&qr~99$aO=ScUlVN+ zFBAHCC48Dwk}|N!&N8q^Fv(J$ zL*jf)m?WxcRT)=Da~~E#^!b|9EW>fG_dZy{lIE04zGU#kA|;euh8!sueaRb%J(QxD zR>$@+Q;erBlzw<2O?}-Ho_w&>_-V9pD4HS)B~-p$o)|-J+EU4=OI5wOG$it76&o+VvfDX(~1zG3m8+P*h2E>sdt=t6Iu` zD8`5A{8}UVQta*~wi5x44gR%l3YM^?g;=(!HC^xr#T zr*Ox0++(ysD1c@Yx18ddW!(Ek-Wa)K)u^Gb2uD1j*Za`>csMj#{O#vJp&;jV-V+%X z59zM2&A7}rmz=;sjTmZ*;`N66D0h`c+A$rjlgIt&mC&DxO13i$Ue#Hy2adn-An{2ECDcx-a>#005FXa4s=;;=+b44l0CNH zJ(U(ZdXUF-=)gB1Q{}B!zbLv=2~>Vj)cBxV7_aBPEIJ_~C=wbZkntGy>iB#5|Iz*) zv`_Qx@8R1AR zyeG6gJe0er8(KQ9M+*Z9=)OMm9f|l>*YRlIGq+g86dpwY;v4-0!5B03Y!9}vn&@oS zCb)8^`d6OzS3Q^DaC$VJnEzb&IbZSEmuGY5ic+GplVfUloK(ko?D5&&;fcOLKQmke z^_kIeoe8tt8cN`ydxQj@;r}OiLj3UL_~9w^v={vdo=<#EE#S%F&H$dAAK(!Jo*eJ# z33%G`Jg{n+Brt0m)BIC_HvD58Hmn_eEG%{=UB`{jB*!|P)nax*+F+bd>4-{uinmvvZovw?rvx(emI>J&&()&oj zU&xTUQ&<6FKButsGGXK2G9ULaa3=*J0T`8HD4Ni8T;fG)V=We5 zwB6B{X323~tfa_{@g6Jc?CZFFaTA`1SO|}|JFfrm*jv41eUY$_F%;;!lvMo+f+FZQ#(eb3N# zz3c)jbFou&&j#3Sf`i@7xEp|45CT#{p{HBq^-}P=QlV*lnuobUJDvc*{j^@V=Zc~> zj1UCQ%%o|&QS2DS;6DYVVH-;6*^tuG(p4Ase=t;1ah*?^4)~hP$;KuTu%tim$d4vH z8w5<5T}S%}ItFj^af?%Q#6%8b+}_}J*-E@W(Y4pRVIgQ!d3yz_bhllfXn_1A(4^)4 zA7xT6H1g|QgU-}`r@jyRN*0{4u_{4tN>=@AH&b74LZkjsnHcx>SKP`JrFW1b`cUb7 z6x0_Qq1N+~&MZu|3KHmQrQ3dB%oOPOVQg&^BkRZsKz*Qs)QSufD{dU+kwB(XS8JEK z6-rVVypMe5(4qLW=*H!|b{aSAOOrP)?y+F3gj5@P7T3f>Ax=3kc9D|eMZPI27lJ>_ek z>-I+B9_Y2e{(piwo{+YuxeYUPTO|ENbPBv?&UR~Y4umd21O#ThcSo}{&Z;m+Sg<2S zg}jhjSMn(NjT+r3^b0Yv({+A(!|DV#T;`}^-KjmansaCO(3#Qh=S|PYWd8FH&(F%3 zWzR6%x2oJ3tR3F?9@x#%9$Y*p&O>Ij}5x< z)XJZTz6cW%y(r@{_nKe2Ba0%-A%nv%y0mCs#&h%XO7d0?W1|6mF{0sLpSh%LW5KGm z-Uq%*svGLY-n=*J%kr{t5|)C#Gk)jBssfgR+=wvI3fE{~t%ciED{lLD<&mrzx$ayT zj^ew)1ioE+&6lyvJzjsSdP(LdWgPsDs~a02>{yaX3^Se?{U5{|Of*WF4!Z zON7OHg=F0`%S%Fww^<@Dbx!Z?x*zmaLg$=w#&y=Pp3qC88^R{obIh{NzB=Y^>Y8`+ZS~Do_r)Ok z-~;z~I#=MY1Qm>ag+Sb&p!iMWx}2CaVe)Ku@{oIPlp->XGDo}3vIaJnK0E)YJQv_3 z8`q8d&@5pqgj;AvzLJ|>k+vapeXM)~LbR<<2sT4ux-LPan~g{#Gj0-`p#K|H@ZHA! z#iwf<$LSIkcNzLM;~3qjf@8-|@H~!FVEB^HuUeNyWT2o!lOThUTELDX>(_3PHoaN% zR-oyk&-hM_tv;l_Y)CZJ189O$TO~S?D0N%JjGH|Y_^oa|*yZjF?3vaPP7>j7nxW-u zrmYg=8>YzlkR!F3>uKyhrWtFAR0&V=H`&^M`l{uB$cEFOS+LV{d&W*?98kMocMYnH zCKY_}BzFjmU2a5+#D8eQM_Tjpj2+SS1+AIh7I>LIf$-7MxK(YT%mr^r?E}R6p*0iU z?9B!6N-*#|9zQAIwo^<;kJ_4T-#uWx)MkNosa7MCp-@7!*fUwhVSluhfpS}C(k8NaU0Y-DAL@e}+Lhqg^cu#S&jhd0O%KvEz}s4c=e*P$}t zm&L6EBUN_P_?a%rV_m0&dQz(lOXSwVlS(Cg4TexGY6m6&v(k14;>l#?9as^khNT{l ziHk_4EHY)Ql4_8tI#1fnN@Z(^(j2m2Hg=%k`^jmhmmbnJE=aK$Pt8759Bj6ebDT|3^Hkm>(q&~z(i9A zdprkwR4xrg?%~kKt17=<=5E?!Y*jYBQOH-8 zd2m2x>Ui8(AL2$x)a3aGXL()0lJ{*sAGD22G(SVmBPHFMGuAK9v9D<*XmxAGUD}$FRs?g8s4x5#s>|hzz65|zW4;?0a13_ z?e@HrHa4U&r6W47%^N=*fdFR32eK>$YBLGL8CDq|qBA{^R1AuFRUnKtbJiP6cdCaH ziG58ifOHR1CL_B`xY!5rhEb#s}IaTsFw6pMM91Q(Xa~{*YzoLh1JW5lZhI^>GpaBD=x(#E5Wu^ToG z)iGA_6KFu8!(G_Mvh}TWt&ZBjR>TcR%+ofco_UYXnnkVbA>QdrJKT{yk(KUa?$TrK zgGY?zK>^wC1wfvi{d5!#&tyRzDAJUP)7YG{_-H0Dk4=cKm80&`e)5srANLoT*$(+Y zcn@vf1d-klx&Se^x_)ix9e3rd4*9*K+=it+^mR|vr&ET75G!nv4y-+k3&iEC$`mCJ z8oBtg1U`O%DKWssQca&Ik#$&dUyX|3qLhXCPef#ED+&c4Z`vJe`K zCyUH#a{X@J)C0?kR`swLrL5}gqf>F_rYn|0q(=B84kC#22m4uFi=c|7;mo%cs`+$h z>IN1PkJO=5LOVE45P68HOoFZ~{WORNV;qPRl2rtNU6rd=MYvBdCv6XwdEZ0pS%37A z&i$yFvp%LrjN47nirRWY2|fdX@|q&V+~v&)fIK!46Pd~mzvXud;aF4DPwx9OsnxWi zCeSXVW(pg-OhUn2#}m=T;eyC$#BxC_=tPM*QD>&iPYvB*EU+~LY&t1a<3S7-PM|Fp zlm|`Lms3$v?w+7C_DU~0g|j5$#Uf*H;^sfc%}$M<+9_6Cc!=BM_^IV|NPK8obV54f zg-H_<=S0B4<>uQ7(#_WsA{e?KZbMu+nldTGaG2@qhjj{1v)wd?Jn0+Qo=h6bQ0^N9ejt_Wf>A~-85BByH!aSXvEXWx6;k))@__Rd>EDv8nQ4c!~UqO*sK8FQ-axxoHZkOB)2eJ({ z+0DT{;S6(B{xI?=umNwffi2BbbJ?NUx$>;R^(Vz1g4M@FCg32Q(%pbh2x-c z3yNx?tii+5$mYn0h`kBK493@uCE-^9JH%wLo)CF23l;?sy1`N`q#(io4B4R?MU1F~ zURtQ-sMM)X`Q?Y)T_2jjWgl(GB8VXUpFh!mB>WheUo<2_hY*h&?Jc7f*S{}e{d>Yp z$_4Ef$jI&zSM~%)Mm8GOqC2n#wXd}N-WnGl{X%Q|)#Gsq(KoSlC$e&?y7_pWWufZy z@md+xz#@PDcfL0AE574HI5tz?URasd%?XA@y)wa#H~lw#rUMHbO#JI<@V(f;S5u7x zRcW1tR-HLcc%G%bf@E*Ha}$P~iP&Qjc*>}^#QJx9D@}CPe^57Hk)^Lse#(7wu`Ipl z<_cNH9Cuzh@6@?;wtLMRZu=g1W5{3X&d77$ydis*X6lmu2xIC0Y|V|03)C^xS3D*PkYTifd8T<&Pszy!XtLwm+zCcej@wlMPQQ?UJ4QOnvYV zxb{D#$QmnyTWz!4x{dc4VJfRhA?nO=(dlSdn!MfA)TU}^h0kvM zZW{kp4!R?U-kTd9m+<5Xp>3zT=|2P7X8HYi9_gY}+Xj+jOgU<0qAHI~W=;659RG#R zh)_)SR9Kt2<7@@C<|J+JBO7DK=l*jiWa#m6Jx@4B3$a^47$NLF*v!fH%qbSZWL7ZA zB$$F-6ZTs5`Snin>mG0D)4Wz$+5{nz1(;I zUayI-HwE>YWz;OP=Sd!~H+UAx++F;^%^F#Hn%jiUnL9CBU2r^c7AwSJFJLn#u|j&h z9U?#ZQ9F)r{$Jaf=WmDa%vDfVjXLdk!~fC}n4q7=c^_3YSH&;Zz@vo@#Gb5fdVrm! zxZQ$28?Rr(t(o|4q64+IvEU9H7=H4)?5AESp@}{vcj-a0JlLX2bWi{x`tzqKtR?>p9pGbX#2cxGL;%N?dm78%O72uboB$-*|VQ8 z7ba7^0~Z!jk;nRIgrF0&9KQ(ZIoBp&ZN#^DWGh3D+ewyDxoQ^=F@UMtN$e*40(V>m z1fw>cR17x@SKpK&K)S&yP_&7W+peds?v%B)_0|XfrLJ`;Ad8%U%PIp*=3sLQ4D#r} zk8woq&_x;Ls zb8pnie-f9LpHvc;mXwrJ=Tez$QD6@Ju~b}INV%4-ok^8f(c&bWh-;NpQhc3dgvixr zP;+xgwislaJU6^f{@L94I{D{GR`EUG+>ZVc-wWnC`3G@nQ40s^s(zgSnK4D7dq-JJ5*DSiN)BL+g_?msW;hH$Mt|p z*44>rT(h$6RDwE73}Dy-iR!ImKbk&_3B;W_IbMy_nLkS0is5j%Zr=`mXp7)nTk>6tDFLi=o^d=)oag&*&-{HuyOe-#%{#akh< zU(s2g`ko<`{s0)=f61p>bnL2GfKx#A!ebc-e%6Rnn$k8?c0TJE+B?UFw6P7Q1zp4y z5pYT5X^Uw1eh3pMI!sb(2+{p0Vgq%*a0vD;T`cq$$=2MDuSImddS;+motlQpgcAdi zC;r{X_6f3h4NV@W&yMG5sKJ(J2#7>JvcJ2*=YuCL)J5V8lE8wC+GCDcF1Z+aORr`t zd+deFZPu3FG|Q!PcAKxI_sOk~AG6#3i@b~3I^$T<1Col^8hMQ2Qz2U;j`Qp-Il(m_b18yP*&SaFzLel{w_$&A(D2`{(JbhLFrZ+B) zQ#NM4#D_P@WGn}a%GyHY2a`uxWCbP?|p4Jf2s%i?0>un9NDa9fde4 zq8x(Fp&c>V7t*{t3IbP-kaN(EbYg_2XSnNf`GXoXj0ibEP*AXe_)nq8w>8fI^&L%k6xgDKT zoskiiTVO3%L?5qzjn1MF@ij3=Bci$`+S7OQcQ-GS?pmrn{T;lxzuUYlxN)cM&tr|T zo4=cb@PCT=zDTy8_aPHstyGE{>rH6Sc&di=EM!C-Wx2G=lQU;)y+BhYhv?f{P^FTa z1smZ9Z!GBBpihG~-|H#6{Ei)ghtCFel%1gK1&9U;CoA6feWRJ*N+S;-G=Xz?@(JN} zgw#|$?3!;DAVR46hH5mkF}>&7!TH8=2{Ul5XRCXUd*3_sx!08TQ+Kf;>w`+#2hDEV zx+85rcb)of2F7l zzMztio_|XeDxgL?1nxo{k;&&cYD2+WqGy8}Ursso-O#-9 z-_hu7{Mx1>cN?3qmQ~3VaiWw!DsesBIGno6OjmAet}2ru6!15DSb!Lz+|xW$dgbd) zY48}%L~2gm&3K|_$b!0(UCqx1D;C_SIwL>o^P9s^1^dQ;!@&JQqFI5>(Q5b$>>@Y%wBwksYe&oBNyCWz zjR1d+j|<5>EPcb>U_x+_r6yMn6Y=?ypyF^s1pjSEe9#6= zJq)(eRnuUy1XAfHOAZw|i)So2$749*MQE7*Rx}pS9Xv-iryv)h+jGmH{OuT|B5}Kn z5EZK@?(HwA1lLvcZIuu(2_0w1!T_FwAT>n9VMD;W#!Vdo4D^j0Z~HoNEE?x;5lmo4 zLk;#BtLcY5%8urTl{kdrW<0)AcI89l>hr*7Wni~>!Fld`7%26qx<%aR_l=2(U0s}6 zmYVk0z4A+#3b-}FF2gUo+o-~+OtO*QD9_+Skm}Y4ByXtEO$#u4Bo(6SO-JihV4~cg z7emht3LDrAb*kH5u}i3j()|g+>r*5YqRD{@95svJH;mB1b2W|IjLCN@=cUQ>X3deO z$#s7dVHK&zF5m*`GeZt?%;auKD?+9lj{64Wm(*54|Sa9J@SJIW#CgA^jAA zsD?$BG751=H_%prZQtTf+AI?j9h1`K?p5-vzmq*j_47xGCj*rwKCUs>9v=_?pZr;_ z{p3+xvK!VFRxdtku?Z|WMuhYth(ww8BS)25r6H7rjq>{)*gRUFXOf0({t7~}InpJG zro1piv(Q9`!9yRpI1Q`LJlZMGO+hHRoEiroqK?$#IEtG|LzJ&NowNZzy*Vbw7-=7O z|4$udR_NU#gmgxCnPQ`3t86PG*|=1eT^@@SqJ8U8 zc5$YmvJh4wS5~%fIlB3_V-*N_nWR5~vM-OtnIDAEUUw9cfbfBpz~it`a$VOkZKl}q zrqC*BNso`u-YXXdTUxUXbwc|}fh7*76ee<5+VnxQ@||W|Qpo;3xOM}UEJD-JC)Vtt zR*NL8TQY4`r1!S3(auIItJfT@qlsU`4QdkTb7la@#ZX(w3&5(xVUjOp9g5ci9Ip$_ z;<{eiw!yuIUEZ!gT8b!_r2tm9V+`}pgf%3lYma?-j6Isuw14NQ7VbL)56dxEpF`Z> ztA(=s`NpgBWwt$iU{M;|ihZ*K^|lqZa(8Jd9x462YR&Q(!>@(*tMfFi`Dtj_Rr?Lt!B=#4!{V zPWXgyUhQe0ebmuMsb(KlpXq_gw|)69!3FYh;mv*jXk6FE9{o#4e_G+;3MtYBoV(Bz{c=N>DSC~4`OCJBSM1BzjJJ(ReX=m~U=Jjy_LyIufCdpRdEwCX zYkSPg`CV@NikC6(x#NYV7*alF4PKD)E5^&?)ZbgEZtqznMSIY`I7wNeUq&#uLv%*H z+qC>;Le|vN0uZ38;|Kz^#N#RvKWy1F5<_=Pd|joqsG@Q6Fx1cPp_B>4Q$uTrE=APz zhG=0ZYb!HGH*cX$19xXm(R$`GQ|g^&=T-gn(u{Qtvl%N+A1l)WQcfo$k@6fB>ARZJ zr+r`WWr`^3_C423R>fW~6R>4MR;6mqOi*nUT=&f7Dht)M1Qd;G8vdujduwV~pyAiH znZhjSN)UiyAD+<83YxZv6RxR#ePoW42YktS9`MLq&zg8;iYivCiqoqShx%T6VA~tA zubi$;q~QFx)FE0J3Ak-fG`bbleRBfrXOnFQ*SY3X{=Aq-By$hR9Eq)@d24a1bp3WZHBA&X8rPG$DpRjYuwGlG z)~n(#ogeV@I6KoZC`{z&)Fnd-@VIV>=v884ujL?}}a5bEd&Y6|G(Ci?7zx7!?N3UJoC~LcS z(K9nfo`c?a3!J~jQ5G>}x4jhk>OP3F)2WtTBEYuWD)1h8aSr)YM zTK}N$>dUeR^2iB6V#db(M%2asJ)K zCD)!XER$rN@!4(b_Dv78+cxc+PQ&MwzMbmFu@a~dw6xu-+D!pZPrOR<;Y9?voso>i zDPNV%T|4U2+bKvEDZNdom&<(0hwdfTd% zZCCUMJ}a#ZdEw0{=7=Kvh2SGlosNfwEb;!Kmk2-`{avLSYxELo^F}xnenAT0kRgej z4K~lgY6n{t{ON7KS{d=K-nL<7M7Q4d%F4Fa7i_nb$*OGO1d02k#c=^zTa30$R&mRs zl5M^>j?A0?)x73a<1(=wl7gkwdZy>u5!ILv(bd1}U|Wr1aB@pU+2-0`7s18Hn}(I4dksT?*_tZ{ed8U?Yn&b6x$lWnzAE z>k@m0>Fg9i@aYQl_k@s<;-+QB&6bL^9}sG{h5t{Cl89`GdI$Zw`-mk!h`sI-!MD<} z;995e2Rtb!pzFA0^;CAWAt0@o$jYfkB&{GsThS z3eU>4>yWra7S+!6na|%x;bDX`OOj&RjykslSUn9@ktHo@e;bz6il{N#pXG!Q^^*+4 z^qM4hVyqpf)n3Y?k}EzLWB=sS{bGz&g?=NS$!JwF@ix>uOcQ=LUhhn?)w5LJ^7NOr zh>Oa&i`?KJPkSi4C&S_iG1(Y<*(5uz=7mR2&`Z{?s@}M@^;-R{R$0A@+@^VV_+`n} zRQvbuVIQL{qx5Bhjr=!myZ>7zg^LQ|uqZV}lvfkiBj!Yf5MaxN zFUi>6uM$9gDlG!`#}Io)q{(4_PvoEcKHeTJ&>VP(QH$*6c%aH>Q(O1jqke0N^aJMBi+`_#Wgj0wJZw`Y;QFJ4WzXiMN zKg&R#9xbpRc=&I#=5CX~?;; zjC1EoFAP6^&@8)b{=kpHocK@F3ejC_*yaIr9U6QDtv@CDGIBA0wvcR)Lu z)1%r050j0=1q`x$leYDl_q3<)6wgs&+O z0NVoZfR7Lg_q7kol(gZzkI=^=(n%rI0uBy_6o*ZHCgva;;;cCw_l$^nKVSPw_HkOV{d>tO0$cI% zENjH(KAb`p?C)ZWQ)tOo(WtgtJgDZC0SDBI#0NOPoLL^Nl7qggwTi zH3yCBKm|h;aJD!U?%@1qP`m;5Gxr_VHB;V)xa8$EnzAiWc7WUfl1uMnKEKSUj8Y{L zdn}fH$@`|3hy;kLxT`M%_pMGD?5eykXE_#<~ho!E*6}qmw{paxRd171k0_j`VY}lx+)GyU4Hi=G1 zI#t|8ty#5i+cVCe9_|kGF3}#BCNWU|7IJToU{PSAc<6sO;@X|zPdna1PXM!!L!!~u zJ{Q|@0?it{*+rn~+l=n+9C5Y3?ni^8ZDhR0HoR;~;&EeW9k0b}#mf!;mmJczZR1V0 zAbpNB-Un}iJ4T#|q<25l?n-po2gdQc9TmImSH)dEXEeTYKh^4_kHovM1~`@IH@8UJ zsRkPDNxI4#&KZOn7HC&X6=#E;Q;{9WsIr{{KH%HfkO!1(s#>be(9c_*xC-5zk#v7;xyV8}W=BA~kVH-9CijC*^BLJl`S1X52G4ZyiE| z|4GKQQiLHI786)B?K#}*BY7GKLwO_X8lW|qS;$k9!-R*qOr!sydZgewscM+`CpUu5 zvM&0Ze?^^Kx)wSkT@q3!$dIqo`x{ax(HaqQznQ2K&A&ELBf7JBq~MP~RQPLD$gjG; z9w|6`$kl$xUzK6gNah(lZWtDknhhIK{&oK+$A%G1+4iQaG|=lG0Ea`((`yi!$Sd&p zDk$NKznu41C|BrDb0p1o5%sP65j?Mqc;tYGOxLOrPYaSI$Wb+t`PL!K&2a$Mj=1b; z!=i&OBU)H90xd60BVgM5@`z^}@|`ANdVe|MX(nAmc_g>u{kGc4guZqVe8p)MXC1YeH<4k?&NuM2ua!m9Qh!}5_$RVO6m$*V`n z4*wU8?OdM5Q8q%nn4#NT837odfGI=iNZE28C{VNG7b68rK!ZGm{Cvdo!XbYAe?GES zM@F>Q1)Eu*id%+(>FIS1O9+L&fQ~511Ij-?;#tg>(X=-?mX74Hph_AIE+xbPVTI4R zkl-(r(A(DmglAx!xe`=&$3L|V#Q^Q5Kkd+scz*Y;e>{suJkjIhSu~<)zvPKOl&A4e zF|KgLlLYWSC#WMhuG4|dI)WCw+cWX=${|2+|&QUtKli6&jBO+gqn>; z#|O$g3+eHJ;%1F_ruaK+NEz{LAMdPs#Pi;}F8h2^)SEowNy9_Fc={vfZwZXvuL>Yx zChP!<=+bAL`vHjKMnU5yP^o=g))c_jfmenv3v|7YocqYvFUTGfd6ycrFs;j?Drg_Xx5HAYGh}L{=r?q0jU6T_}Js8Zh~py>}XE&~6kT9&;7~ zx!!X??y%Tpw>CzIca1so3Bvybx&Y+%J$TnL=3Gd|BIW6mT3;QQkMeuHG?LlDMxd`)u% z^6Ot|)`l_XeMAj=~&PY<)O-iSOto-9*2q0x_`?FrexDfaaC&{ohM%1ny zbA}MO3?~Y9^?LGMJl{0XBc6|t#9a3ZP_niH9dt@i&f8m{kn$Xu?BA##_HVvB|JuJj zy7L34@{ZyC_!f>M=?VV$5PA5WTh^a>{&b5F;Nb#Y`UB@pBn^kqC&eb=IIB0@NA_`6 z?--q^hRlY0c$k>J_wIO3yTlH@zRw7uaR&>463LkJQ&Rf@REZ9Uk2&8aE&LvgX;%b4 zaj`Kre0PT+=!!Uc%xUE((0)H{Q^R8M9-niVukRh6mK!KC4HjmF1D69lL3b8FA|V~q z?k-u%qQ(<6Y5X5|JlkAk8FPGl$J5{vFM34IK>lN*w<8P*oB%t+#?Lwa_lDj6_uk$9 z_tlh&a?MfWxB>;tFPZ^ z`5e>O%y2%_bdw;Q6-?6zrW>J9IG-pKW)Ou!$NI4!3@eaPX(sj;s<$E7P!5ZF)G)mu zx(v8$&p5aaJ^B3M54ll8^#@Lr`H>mMzxrn#?_cXg|9EqILrWNcy0!8@j&1&@?Gt&b z-*@6DXNrHx6gXE=LUEhNnkdS#X^b3?3GP%UoF?|AnSqVrY~WlTZyqY8OsIhd$RnS! ziuj389dZtBvhUtyh=6~Lmw>lL5?wasaNdQng2>x*w^N40(Ytq3+B29r`*urH?0;es z_U*=P1#Cg)ru2pC;zb(0P$QUZQVBE~xkdm-cEKi@SfdHm2&5)$V5{9E2-3`>GZ(l_ z^8~B@4`E*)(ByUfAMz$7(Gn980ox?_P^8*IqJmUc5-B2rKpcuzR}y>>?YaTA6P?{c zY%!p2iftuS*ChC8NQ;u#7Ybzyu~KU3s@Sd8)eY^Q%~nOgYSpUweeM(A+TVBEKkz(x z&OP_sd(S=h+;h)8$Goa)m31C}Ny8#qB%2?X#F%g5MyypMb*aPlH6FCNb~f&J8`@Ls zVa$g&;4mn;ZWV;N_zH{y>s z+;C(gU2<}913KJbNO2johJbDqi%f!HvZvybsHbka3_3^g8e?V{Ac`AYnS4WF1_3aJ zIW;~iaKmMo@#F6^@x5n$m^0Q#`EOXAFV>q~hM52Y2H*h-qjOuUnEqFAsj*eWvcZPt zHBAlOEnaV=uQfvUK<+P=jkbpwnr&br*#q6p-W-EB!gt|;Wuwu@zq;8N)++9bVD>6o zq2N<{m1bzzV&-(PxB=DHCWjGbrWV~KMCoH(`U%Fc7+=@~)a}y8T8iXtMJiudY^#{p zDKF?$v1^syTrZ3XuPNJoR>#GoPXPcnfw0AHsn_T=9xiBm+tv22zEzBSdK|>SQ}T`? zSuFXUbN_dyOxY^-Im(zd#HuG|b}0>zb3*Dw5DDx+_;YyA!29R7->a1EfmWe0pksci zG>gJ~e4V9C-d3jaiEx_>#Fccan61k8Diry>(&j4n$<8H2ORT-OWFI#;B$oGfw3S&w zFi2eqQXcl2dkWg#;YbxS<#!82a0O&7cj0BR1U&8@IJWX2z1`O;eEgZVcbeOL$hRnG zw}aXhsJbuMj;f`dvX5l8wz`d$`|Fh4LxMT5Ny)X7U7;?zogNAKtk$S&vv-T#owY%Eh(Gx?%N~J88 zP+6|DhWd#sdZ(X&kovW<(Pi_+ZBCdF(eTl&xcPCCZ5=z>Y}N*@e+bHd0A&F|iJ=tY z8Z&`MhjQ?;k7b@8!yo?v{6Y@@e}n(<9y~~;3zgtO4H1EmqhLL&exghNAff@|BfCmz z^MNv1EFtW@9~3k=li4yQwi3YcRj`Fgm?~p$^0}l5r!U@cj#oXsbH3EZQ4Tx zZ3l1nU110r^;2+21vtbLw7JrJangk7+q_mscujYkH%WQRz4B-mMTZ!LGAOlTkTBDt zleg(qK8`6m<;fu7CrVp`r9`;s9eG?5JDOWalApJeV=%1|PwJ!O^LL3p>hs zBiewt?O>!;uVV8t4VkB}45iCG&05mS`K@jCyI42ggU66MC$aI$bS*|`Wl;7A8Otv*#t67BpvuUQNfG0m{9|t@ zNK{9I<1BqskpuBZtq8UE_SnguF+2D_Zg2VhRk1(2TY&Js>={|YkKvd70RFOq`wdAg zzkpyjbJ$Cs;joKPri3fQ{7dnlKhi>IU9%oHJKm)K#Su#71dUkTMaU0AR`=w`IsJtw zSCB-YfIY1sT2YYx3f-ndE^aII9B2WXxiyEtVa)-Y+0oA2;xMwAL2F<}ogCqA#>V<0 z_*}z7K-8%aGUo4!|BQ(kps#~>h!n~QdjGPYEPOv@2|M8@>WLs248Q!Gxe;QppFo!V zK=&~_tJyFm83lS)NaY)vFYn02l$eXf?34Y54+`4eB8wr8u;`B!kaJMO00P%=Su6qh z;2ub;*x-DNKEl;Rr((!K0&`TsX-ZVT0y;?SP`SLGxGMn((ahf7f1e`9rUbnV*MME@ zu;TV~(?WslB~5TsmpR0M@;R!>FMhBinKg)# C%|38%y!^UZ`{%4?T`a{ZKGwh~%;ei$^^CluEQEIB575#S z0uiC7h>l0v`D=VlBns<0P{>&1i38d6VTDZ&)zKVI)Dcd9WV=G0MgK|he=4Fpf~)*a zP3^!%{X@}i2FkxFC~KihpXewj`wp{yvP+-T?j%GjsS{i;(GLc_SJ1oc`wFW|Rc~z# zuM49l2D7o^Z}{F8Hg~VwI}1apYHYtBm}vcAbQCc-hnNpJ zXoSfp{K~d-yfW}ZUP-#s?sqvo*`xRmgAM~V6S&Pj)B_kOs4zpfw=sLA-st^zw>f0A z|43Lm1kqLmmR<~y$RB`EA1TUxaVKQsR=Oo`EHZ`fFDY^r{8Ud45b0MHM$Vl$~ z;n(eGbKGmp?-fR}9njt0AK%^%psCarvLIv9Gy;ZOkk8#BKhS4G|4!U0CfpR_lG=N? zA%iw^sHyt@gqp5Z$TmYaaP5IwSEqoU$KE130CNVYVdyfr-lzL-kviG0Zv8L)bY<&( zx+Qfg1pi;w^r!BJXFmC#`19|7aM<#`}fc=HS5K{azvEp#6tpIW(qZ356K@F}4AbT{_ zk$q&01X|YsI=Blz(VyNTY6i1ffel6)XZq1UYS2H%X)WV%Qx*n1;Pk%zrc0mP_Esbm zG1qy94ly?UF*o9DnWCKR6*k}I?`LF*gkN=JZh^&8!D7N6^;H`4Zm6&54{v1?ZUG$f z@p-Smd0)R60yCL%g;~h$2t$StA#9vzS_yW9r3x9@0k|^hl_B*ha0@zznXfa7_!bU? zOw=NkxAx6e0cImpq9A+;`9pYq;7#MX2tCpaUi%DGX4<0!ph?-c$)0a z+TQk~ql~1x=L1Wt0Cr}htAPHEf*7l)&Rb~>qrT#2J;#}un8$87($;A8T9-aW8>aPz zAr2}uG2QJgZJ4f==vB~!jIL!&MF_*Yn84g#>j(1T{{DOG&3n8oV!i(jo=5uIeFwf> z4@X9=tDJiMc7M0sKRaI!wUgV%3)n)1G1S*wzxi(WHD)}Ut1$9815T(%wV@uRpHvXu zF}l_;S&9Oq1vSy0yQKX2A5rY4b z?7biV@_X=HUtOiQ+~V}{-Pm+fqi(qL({39o_0wJY89p`QHZ#+)6#W+Jd9#q65mL{a z$XpOpS=`=%WOW(l9p$z@@V_B@s?0mpv=c4S*qp%@Vf0ZWwewcH0som9iZqTvA4%Oi z#&;+&CH2kZPQsu=Q23EGI~7$THWQupBe1DI05djEV<|Ek=-chLID{L%PX$kpLH&ts z2RVzw+v>K1{#KE(Ig(1}Sdjf4Hw@U{Mv-xgn{P#e$vblxdrq*F@(%rE*eKhrR$O4C zejWO^?iTbzkrqLF=W%n9t-GJgMEAH1bB%uF$83flF(trfbOO;c1#}Yn5c2cf4{Z=V?voR&B_u!p3;aLt!INdAIgyDb$`2N;-*R&P|FnyQ_S%1as8J9lY zsDB&+!YH4Jdn=({0FX;R3pI>Ycs*~RJ9N;`u`&0P{RH%LvLLkmpgqik3g$CH18T=! z&!wMj&_4kJELa3GIGb2Vh-bcm#zTl3^*=$8kiCZNV?sDzyN44}zPXr=(b%8g z`VYDQ{h&f7p^`2eiCo>sjE8ZGnta*&+#9YViMI`EZxe$W*8Z3uFZx(CZx1^`!cdpB z9Fk_3&Dcqoz2+a|AezerQeFIISn?dr7DSxWax2Ha<_Cd5O@8(?<5%xOl>MhF}H$-(%WZs^wWj6&**SC73Jd5Z(pLGzRbB8QnJfj5M1EE zH}+-_acQ@BTKP=;C35hGfYY2ma4Vm>5qxufgCx=_k!vJl@5TZ7579&7V%YZYe-vmW z3t96_v#asNw$Hn{YOvuuOpLi@}NK6o_xxm?)h3|r@k21GW|9`H8?iO!tICb zUrqUVE0vso9R3^hkG-wz@Wv4D0AVN8(^gwO06n!AIuhDVifSwR+g z#8zi{s+(`o`RC$qrvI!DKcxR8V}a%VUjyArUw1Ty?+h{X^4Tx(?^($*E*<6XM`RO_ zv%GGHv0K$r(_ZN|1>}+?^185_;tN7t&Zf^wNf~N6r~u#Lj_xtftUiuiHjm^qm0IQaL#Q3_b3Rc>?v-jpU^34|{Tn`vsr2jgW`EF*-D5(@5c;Jn89OqFGx&P%SXc zdY`MOb|fb$SwozMQR1Z$hogiG#zfv;wIfb|yw_YGIFU_Ix5G{lTz71T^91 z=Dj)sKFw&$Ykted|5XQ*OD4hyS4TgX9=D0yk;m3>xJe`b5zNBG-_-KOv0tLu4e=#ntc9M5fI2q{gVyMoyghycss8@*JH(gIqJp49l8?Xc;dvKI-LB z35iQd0iQ-5(2PyqYO&;tj=WZ%x$XBN#G z03V5zkog3WOq0J-A)U!7A=OeqF8u@GYk0`_;LCo#%IK*8S}r#=K)liHZ=1LIs%v8;ctMP9T=MMO)cMiB9)CM zBZI?L@pt47^u2L8gOJ((dt88<(hbcV0dD3Sf*WIkM8y3FTR=LT=?UV3_okLpq)KuV z@!psqR2c`t-W?O*K=rRG!a}jbQWHmOS4*j>L%>?E%eoe9B2f_tjT&%kYP7OJGj^M9 zPJ>3iO}8*LTBJ2cV)}C98^(7ATW|rWKK}(tSxh;$#{as$oMgj#wqUA+B#E{27~$2~ z@Ou`rpXQgvWEmU-k(n0Xfr5^=AYzzf`C7+7j4p5>%^{Ot?=v-;u-Y?+nhFLKe}d^>bR?s?OHMDFPG7ZmBMG>W5r@`Anq;fIRngbZ5{b#kQr z3{q~iz3gvW?JwErx73uloY6*p?k1#`LoB7uZPOzWt*m9^Y)Qg+5=l9ZWZmssiS4h^ zkUM*nOEa!S=chLXts14pW3Bm9i^bz|?A50xi5!lSWY0p|nKPQP2+wZ$ssHFt{6~xA z$wmFz!$RX>Me_7!&t9BcdYW;SE8O9>AX_oJroezcDl5s1oGmHKMC$Lcj%j`*04Gy7 zGWF%B@ivf)dz4T>kpC0+ zNPryWjrmh0>_x~2`fuN{d-D@=_*uyQ`_)OJQc%xG#jD62-7za)nMJtsHx~^DZfZ4= z8LK1X#>F0793^ob8JsKO*FGJT9wfZ?35bX!3*l1;sl=rcWUDTUi-WQ&D_@DhEZA@n zrPDir`r{zFb@2{g zxKPK$AjbVduwI9`Qt_4r5{c08r~K|UZeIeAJSSZjUk=9AqP^k=d0j%B)pZFWBKXwP z(BwGz{WKIf@=#HCPs$@n^!W6$;8yOTE`?bZ>=M5~Ff7L< zB1`7Nip+(M%!Q9+LJIySSdi)W-~f(JC`gm2;ulVqWPM9c+v8jhBfs}B3}Q??L=ym> zz6e@!+ZR9fNcOka0$tH@v)r!CZ?fc_0PItNQ3O;YP{OHje>R?>xcTB%!zgiA>D zK;62= zJ(MsvuR)&TcN>4hHFvl@t>H+)&PJ&%v95#t_#zRtyoMtsI~#}b%Qs}XC$KIJPisaP zjEh(_NPL7vGx%NN4c`$n$JJ}=rb7}7soskiIuY~TwaKDY<5p4YpsSWoFB2D(3s;Ss zNy(%$g*cbId~LInJ$tQ7hitY-J6~GA8_(EJ7E|WUH5Kv;}g9(Kj2tFMua&( z+$BMoP5A&kdrkaJkXKIi;4eoPoQlX0{8N=09n;?5c&1G^r#*lW@yVSF-;ECM4-^Cf zQxH9$+vjlV@#qa#t)=6wrLk5)1tNLLa5)bOFg#KxADaBtr7extlupo;#>h6a^9EZ5$c#O25MdvPi{^KCbRR3941&cn3FMR|PK5r| zc5qHw0Hmb(k~`<5oq1OQib?{3G^jG6^^^-tdMzKW&}8_gUu-e?x~HL+#-sJ+XuXL2 za(F6o2QCXZR&lR?8-{kt#}BUVX_PG=f0_64TlD0uBmcx-5)Zc&s-E@tA(@+oijyf- z@ss9`MNqE<&6qU3txz_0Q!_tfl1i1a1_M=J(Bh4oLeSEG9d4-vQZ5ZClBf^2)Q~q4 zZxIRChg-IjH>3t7!+m@hFD=f-W9~}Zu*Yt{+*nh68Zo=I>PRasZ*Ix za5*bv;Z2pELhIZuq!^OBiEwiG&Fen3+!hv4kM)_xx!@$DR#>0Rwmw-LFh%)H<6Wj` zZTG+~Yt)O<>|?gd#+v#}$dl~hZJBRv&A zczMw~5e?k~R<&H?a3oFEc4s2Qe|(w_chF~Qwax+i*gB1G|BHzb6A%zWjcF2f__E9K za*T(bc)7tj5Mu}K{cGSpedMEA~&6AHGInpI^ zo9NFji({bMii~s0jdQAd{Lqh1r){@6(?NKYL5(ZBpgg)3R{&k=(N>4U+&y5awfNLy zTEY>Bz&-q4bW5T=&8GKt!`skmn#6Wqj!J=MV~YJ!%E z0e=vlSZgJ0v9=$afrZndvm)@Hr#U&jIXO+8zIKEfU-kgM_Lo5|HO@sv-DaYL{r>dZ z+|;J?4_&fq9l`V`hAuS^rKvk~Q#O!EfDmpZZ-<<1CfqNJlX_%Q$NL-G_C)$bxd`iq zTpnlT@5V?!iAYW^*&U7?h=H%HC4cWf z8y@x6Uyi1Nci%-Yjqc#TcVYlbGXR0b6Q{;8UX*y0?WjBeEWZDb`ErO#FV-Aukh^M_K}Kt_gV$) z1W?XgM;6WaQUfRr7|VA+btKT?6O$_$)GzY)=J3T~!3MRkiV`8_?lzs}j$C*|x9+l* zme*c`-#daL9NpU`pbss0Rzj4)7*30NklS~#On#g-PxA09#ope%?E8aL$>n>7$)7E8 zOX8-eJPTWJqSlIgx5LkdQY^!V74no5Y(i?&@Ny(PCJL9ZL^Fq~9WKz!L7F?)9AtS) z6gXV|7F;8jQnGMW?M91gO`pqp_^Ksgqe`_V%E$A4FbjwmUPKrPqHVnLS*w6*4w8tD z+`0rhFomgqU-0eWLHkGnUvs}Z8}^bIWa)#r#LPa4U&-1UFQca4aK(>irroeQcy)*B z5FBns4cXD|%+LM?+o?>%?52(nwj9$a#vyAeB2F$Gr*WxbFxxY@%Q$Z>NNg?)>~%TY z3N(?05AHQ6lm!~qNOc0>WM?u2M1n~*RS<9?sbobFAph4cWwtAGkd+thp z?eBRN<-(Q!=GXp?SLLu&l&KoxW&SF8#X5_7d@rIrHK?PjM>VajGR0M?CmgYR_I0dv znI<-v9;`Awv}n;JbOL-mJl+_a>wpU44Pk$e=Qp6Y?7sbe*M8VmN;=;2v{3!|R;Q}o zS(Ows+4JGQ`8`Rz2Fa?QOWW*`vhOO^sj6~TH7;DthrHZs$T>A?gEfzXG-_fL+B5~A4?n3}+M^;)w_)vtc+jQUYBi8DNVt4Dq0 z{lfY6c2<|~Q%}d&o01dGUhmoMuKj5-W$%S~_I8b;zPnB|{uDq&AqS1)Pa;pJOC8td zRpWnmh0henCg%s#witOwd?OixFWqADRu$&?i zSsDmZhFgxgOylu16l^&S$UhIZc=7M(VD?D)F==K=rWFw~bNus$mu#==ejz-2q_KPM zOnz1dZ(yffCR{E^w)^L$)XI3?Eew)GG?>Dv_wudkQH?ckrX!1K`XsWL^1`br+upHy z?A!ioHLDdvoq?fK0V%Vz({rjUD&ng5=mCG*Km1*it4?>ozfyjNh>pnXr>=Ld_S99{ zYv|quBkHl`r(@TyE+Ts0cRP2-W+Gfmjt&uZ=j)2MmmkX>UR{)9Te4jYqY5-)cIhDg zG9!1^4q5p2m3!*Gs=Gv1h`NJTK_;>De~k@{_erKzV4ai6oDA(NoIL&VJ#%;P#glp2 zXXfho;)i**fPaoWC%aha>sBq%7b{!&OA3o8WlvjTnpepdEC`JlI}StH0+oUK3({X; z+$AH_s!KJ`?P;&E)RXhHP@1TW?1f10^oHMKcW<}6w9pRC!*axb#BMKaG<9U=%$tY( ztjAXWBCI8Km2-DQXZOQtIDJ~0U|*>WhH>WNg0wq{D{pjMOqZ2Oa_sS~nl+csfrXH%!+brD8(JFXrGW9=Th z?4-js$5A%NVV_fHa%`Nls?u?8j=j*ac8*NET!M&;XEwdFp)ue`Qk}ZS@T<}7iSD%C zZd;+{OMlbWo$+FumwReFcA~OQI8f)mZu@R(c)`{=$oMp5vz##1DQz`Juli3Ej(mFS z# z63?t`;G4c`o(k(I68iiN!T`F2^EYsn!^M&dM8Ejc1x~*paiOB(d2Bmj4!{I7W03R{ z0k-<&tSKL^v3%xktW~s27hZF#*|O2HC@svViA1j>xfx7zFax6>IR*m`t7Z&-+jQ_D zTmQfgd6R9!wTzbJ#&Cx{(oWL(d>-7l0=>;VdY5;Fz&s7%c*zZV)fq3p3%+&(+ z`hvKZrb-sSJTLqDt`Dj^OpEr&gc*x1MEsvbCQRy?{4Gn1MMe>?k0J`AQ8PND$Wknt zpSh3zynSTLW>makuzjShBY=e_bx;iDbIRq#FH6WE(x-#s5xldDl@}9~eDOn2JlUy( z7(-$yXZ{$ZHeX>DEzlmgne2%yi%G^A7CC}1UVzkoe5yB?QqYVsPK_C#)<2K~v6LoQ zCQN-X!ex%^BIP@RFmCGSqAN)ZKuqa{hzy%8H0~{!E8_PY56+a&@1BBb$fyTl_nAjvd4c^MhPm4d8A(}d>zu&hPS6m6M?7W|7? zXSJHqBwDS`k|r?j*6U**rBnevoV-+@xwy+8XR(fItOfCa-M8ByCcp z{sFFij$ro5JMD8+koLV6oT=X2E&ecAHcbxt*p^_5kaSn=D`XK)c#ALI#LNCB>cxLT zwT>FZmOW#^Y)RjXtwOf)3jGA03Fm&3M{Ua2UvU{>MTR}NHkc3}o-l`B`(iNa`hbC- zsnv`@)0TIioZi8tOyRL>03J@?Z^zqFtM>EH-ymYMN+0>53pO!n%=Q|$pix^{C@ z=ZWa@*p;o(?cuPiznc_Up13bT3gNUuzS>qEzEUre>uq#@^p{iBS*?VRoxD2ZyYwlh^-c0OLAs!pWJMDEM;4x52|{DT4nbiolHur zCpE(!sIo==)rKg88_wWnc&sgM1cA7EE|PObh$_zlB9mCp0&S8)-S0|MESEg2;AcI` zqlfZlOJKep&U0*3!P}-JA~@+ehOZf8XP>j z9+!M(xW>ltI^(IULED+xlDUmbw*S#->(35AE!>tFITwEJd|kJ~36PG1Zr?MVR2|l+ z2F(}<4NINH70qiH8?&=X?F#2N@MrKm@jQF{&Ze=xa6xy93x(PaT1YAOC9J5nkxkP+ zz_BT8GO}^-L<1E@L#oyoV=&C{IWm}`y+YN-Fq(W8i6{Zr{%u$X)n^b}d0YPjIl8)SlX z@@cJZ`Euy^Q(i78^Dll25x)^?&h4XB`6(`EYK++J`}Mo*bDT(cf>WH|%R>we!4%Ql z9nVZ08gS#Pyk)>6@3y$GW%fCgB(y2};dNU|qdL~c#i{RJk7z1Nj4|DF9oP=$%IIHV ze&K$I_#Z)Bmcz2*a;m#4Fl#K(XqWyqZhpFlIYeOJ&Xqwr#ukacxE;-p_T-s0(tS~4 zoDzuWwhNG3r^r$P{#Tn^MyDF*4aZ?_ZO-oEFKx!r!zJd-0@tAo?=sg`{%$1q{6sY3 zsP1>9{c39z=3MOAsP<6<1(Oz0qtr&%WXaYs^F4TI6=+K5G9|$l1h%0~K{w*dsMud1 z=8?;NP&PX52KD9zmt#fZLF(0Q&2rJ<7vTIH%U&M?uvjWM25&OiBh*iZ z1A-Yo1&y9oE~A)LM-8qJj|>3|KFlM}-Xzgz&J zhX)}ZzPW(YKq4oOUMP%p$wtdIko^JshYPa#0P&s&oAe1}k584*UxNNtK3bq1hQ}$N z9VYlcy5$`c!asQ!huu&q>HZ6Mu+UAY#^(^SZ=UyxfqRM!CF~ctb7ukl3N&YKtcare z^a31AFkAB28w;!wzU)0Nb<|YJruRZ|8sWtY4UgWOXXW#^f9phMVJR0Xv+hJV5`TJ! zo%9isug(j`%)gS zEWS5o-_BG(ltqc9MFj=l%KCUy;#C2XV@^mRDjspO-Iym0s6TT;tv?btA@lY-KM^qj z5=AqX;4a(S7t585LnLvoZ7A|vGDTp%qgG(EgbDfu`i=QRnD+xGI`#E1?;+|+Fl-GA!C1FQ9sTI2Gke2Gk5E;4K0Y5pOxnpX*n4nm4`blg9%c@xfY2WR5rF*1 zg4lo$#~gj}c=3Vf0gG0#Pb@&J8}g7r;DqccQi@M~xnMbYbA?$Yynu*MgBY_|^gtd` z2!U)|a{K6LXjz>n_euCUWM##tkB<(#CvWP63wVdkCn3|!_wmt=b{y@uwS9{Y_K@jD z&8wP2Y1x-r`HNNv=o?p2p3*NM zIS!88v`Qi$J}Yu1g;AegxAG&$pB1|K^q;Ro!eNuhp1X>H{p31qM$}J8GrNeAN`G?| z9MyN7oUoz~AP-%Krm*P?e2zHRp)@*u0e6b3u$C&hW7O!HC!DefYv}}8niZ#`#W+}% zxviyfR>7KvQh7t^*oM+^4W&^bZ^Q|lHzHZZz<;oZaocug%-uF(lMjkU-+3nnCcMi+ z@7;X!q3D@~2)|+oC|w64V{|0`pr@JX%!^7IUmT_FE?J@|o>85!L}x2Bs+Em}R}0t0 zYt`dz<&AY!>TyecX;eqeoT1gk)eT!s(G8}^bx}(auEax!BD=V2oWTQ!x!m|(3AWUr z>gEeA$MBE2U^BKjVPV+Lo*is7zW@%fd#Qg6jyN+~x)CkrKr%^l{SY_<8b=IvsTUUgU8@{cJHI)yfny3O6r0 z@*3 z)$1B-u6l6@wsgtN(`nt;i;|1r(G$0%+ZdSADw^kAvYk~gK*kzVg3C0+y;G6K3^xlSw5Er(rc^C| zO_hGwtRFGzFUdxweic?dtvIvsbegi@r^10E`M@UmQe%VZkp|P$dYze)rwOh);rRre za0usoMg9U^e{py66aJ+-nYaqaWTr8GHNW)ror%V%E5fU4(xy)vy;qNYH+ga8az~?V?Sz?) z(zO$&73dZgoSL&K<`Jn4m0C@Y^qZ!9u9%9>LF0%ANrAht;~-NNfsQyOibYGN&K7}N zj>VQ;x7%x~)N+bMi=$(0(#6qH zu!YC;h48-LZxWhK53@gyIH4bb<^AdFM)jzu%h!yP!YZD(RF5juITnxKZbbnb`Z?6g zi;nchbbg^Xno^kymrm#rx(M>2h6i??doUKWfqLdb$U}l{8#M6OJS$24CyY##lUr0W zGA6;=ku{m@Pv3`HN#Hw!*+%dCujhEydvdpwtoB2&_FnY<>2(+j^_-!w1+GLdNE*#< zYyI2|yWf*JuM)M{3#EJZ9ZW2kV})VT@p2&NNk?YDV)xf)R@nXPGgsSJXL1%qq-SP# zT(G4?9sf?ME5ISMCQjOv&TN|#*yah~IK19dk?CLWS)IAsGf&?Fmkwe@W42w$Iv(UD zOd>9DoM3Z-S`PzeEm#_WY;Ob6K*qT;9|(H(q^F0>qu=G0H2Xb8P?eXMTJ$~0y^Oxu zDtJM}<)NkgcmP76mSH__yAkgllBY6@c)Uw9Uhidk|2ldPpMIeC&zo}l3O#3Q+U zTt=A{*+9zzX8I1ao7_M^N9_w1kMcBoik6H5P4>a!Q3yB1_>Dj@N+wBV!`x}b*`7=^ z*%s}{Jac=RW@4J=WMhJ63n6?dMMImQ^#8o^aP{;wr;YdMX5v7A-aME% zo}93bCw)?;o2pF|8WVZRIw8(1pjzYJrKczmKi(HV&MmqimW{5HGvDO3fRH*BoiPf)nD?w`q!}@^XaX@mP*pK?3Q4Q2_!a}q#bP^Vc+R@^acET{TUwXN9s0D zpoK&Z{WQ-e?^Vmj$R;>W_+`?gh!A~rP2X(C7aQLnon{(1Z%s$aY%BVzU@(B5`sQEd zmD1@YIx9T!3T_03J{4WRF*K~ce(Tz(+WkS^nLme-(BRFgI=MaNBlXvM>f^k#`d)Qo z3X)(UZ{G~3zz|4lMR<3rFAr&#I^a{+Fub<6bK-ol!sv#$xM<#{z>RKI+X& z-135rF_{O?p69;)I_UVV$g>X%OqYmQ_t|wp$I~KDky~9*s9vI{{*-4+k&WLiw(Q(t z)7wql!*Yqe^2=8=4ogFKThiome(~5W(?Gok8Nt366$r_w(IDqu+cVNA1d(V<9 z!=iU1&+2SzAafgMjW~MkXm4^d-{<+pA?3)J2GN*+)8s4snM?mipJ?URhoT^oI5v6#{|di>AB+N*q~sXoWH$WC%b*I;@SX#m3@o6M$# ztR?~;4Du6UyUIZ^MA80jK4%6ILr{vDODDn_BN_{LO$I(-Ll4}==eX3Mj*7J-p+|#y26D(Ym}a=td<+rm z&VyX5Wr6{Uzx~1=cEkCc4{9jk$rIq{?qI(<5;_?8|q*42rN5JP&c>7LBRmQ<^4IbGCBk2TyK_JLvTJwY{WL_OQPn0*vU`X9E zN#(4s%Dy63bjX~V=`R_GTKd_2t0e32lJvjq}hel3fqcSzSR_Gi^myuwa&_& z@K>p$t?CKuR#d5D>J&zG?7H|RI=F_mY=@|ODoFG-dMN}eh#hr-C~Zu{g%+<1{o!GF z5dr+~BNBpo@%*fix>jrFbkQ{gt-H)Ql??kFF^9EZ^li8FpXwbwg`b=1* ziCy&Ym|~=zj4Lm+swWx_N3VlgR8dXUDT}9*`Dun^60fSEw_;=SWej9zLBS+4HbuPl zLeRG`NdB>Z4EDSM|6_H8RU=;itNOK$eg0~rt-H#ktFCGpt};!Ri7jj5-$_e3QFHY7 zDMxWxq?|vV9!*He4caOlwL2{3@uTRmx6iwl5`z2ErE4r};|*$QNslVyRqI*=u{sXB zVvJS&fHX5>UI3ioF09Xt=?q{#qtRhAE|&<_@4QG5d~)3Klq+uLOUcj4-ym`*Zf zL88&5Gn%F|{|@ifpKvy&#J&iuC;MXUAW$y>@ zzb-F?(_xvmC%XJsRi^0bc(Z9jxvt6-V>ZQ_)kj0 zP07!jMUQRRR8babe)6#mSIkeUs-G{no-nO1Lwzqm(Ryg6=~-c(X!)psCho%-4`yTM z6AgXcR%qxhDOWBjFP^kYfkWQ-dAclf5DP!{6w*Ln5b3`^47h93`&La`GU+2d^|QQQ z{Z>iT3FH!u997Eid6Wm8K~}$8v~OcrW7-L4`}UJ>o_t&izYS%;6z4KMctrQEXMDpX zJ`rat`0kpnaQdmdt&&d!Vw|P8)KTc04?U6-rr5HRYjIq}`G?4|}rRN<2sG{ciKN-To8Z9{Wj% z(TQ&9cIWO9eg96RqxyT$T^Q)D=n~fH*?E_2dhy91Z?>%GWH4bmzm^L26Q)qboZ=)) zD|;e0Dyi32Sga^7H*^=6P0I54CCXymD$H4f5N{QXgNh7kaXGYF($A>&_p;zgr6k-LIekS~I3Tt%gN zDfWNSGfl}W=U@}Kl57H7L#%oO! z@wBjaC%jtZ&MX%?nuQoPk85dJAZffWY1~<-8;Y7eg(}D^&-66AOjOAVp<6jnCPxa0 zrGW&6FG21WovrN0mEF9&;>vO_xE=|)Qm_Y=33~E)yu$olMiXT;C1C9^t0`Nz*%WV9 zC%Bbn)1>tBf<wr4ur zew(-Lps=27a@`@I)t{6F)<#aI^j-nccIx79n)#S*J67LWSG$uOOVA}f;iL>YzO&0zMxV4U|L};JX{_$ zsvm7oE6L-dF7-HjDHM>F=gjKy#zWEejjMKGz6vQd7N^?v!QG--Oj%;HlMmwe z(|oY6jGW}~nYrhey@@5Y8!F1s;Ir^$Por1o64xVQcVhoBh`yadJ$9yFK~LvV#{S@U`y};Q$hRp!; z8xU*h65jSvJ9RGmAT|yL)5G+;xuDSTn8>41snurn*s^gY2DP%{ML$%m5*z-;xl7ZI z8Jq>4<|GfYn!)|fwWtJ#NW=!{g{u;H}V+I<&B zp;H7cPFHs#{qw6`;<#l{x;`8g2fOrAU z!DKyWJ{WAQOmwDCTc2q&c`}=HZf}yVUWYqKGez^T-8MR+7rz{f9R~IHT<_l3xLq{$ z?K$E>4F6+X|0MpwFaH&s`R8EmC9d7z6yKI~9EpVIa`s)Ei3;E-OijXElg(%2&v{>d z4Sn$o@*2xLi+}8F+*ijObsvPQp9V*N$1hGks1f8Mu7^bvxu^hs`g!QA zfw>0tXt`u=OiCAQ^h?c2V)orZMw?rr^LGhx3A?XV#J)2KGovRHi%EK>rz~-#B(wkF zX<<@BDEHV5Q`jk?{z%i@-Ta;eUb(L-O1XIaXyYQKF^ae$<1*r+afM$sEqfEYOz{_L z$~U;IuS*0YOHHd7nV-Cawv;^b5>7pm8&axpPnP(~=hPjwS>3A>eI8rJ0a1# zMgg>%98D`<=Hqm~3em8}D;GzNv5p^ST&y%Y!V7Q>e(^ZmyQ1?(3g2nMwJTs8MZbBD z5R8Yt@HKKhpS`$F zJ})eLt;g13o2QN`!e(A-J8~GJqdO9arp!ND__AJ{FhjTn$p)^ZA$(7B_{ti?>?5%rqKmg-<@N9^X`V5bl$3 zqO_JqB5DGHAZSX*Y7P*01&t#Ot_p~TfT>8P^Ne#|$!mC^uizk*{&;?u#M#xv{Nx<+ z#^s!wd~l|Z8w>8)#>jAr58gq4wA6zcE9Gks&#SDHd| z`ApPxAse123*Q~SZ$eS~nWoNwl-!Bm^xEv$FJ$4;54LsqKTqdxYQkyO?4e(69`8QW zY9Uepk=$lVr|$UeI4Yq=^6Db3~SD#Bf^d%qJiLl%d3yQ`mgI8RPhPyi>s1oGT6{Mt0IX7lZMa8tL z4}%!vitHW4g&=-35*yK<%zr_GGo6Ho`90Y@tC})8x7CHk6b<*-&!`{lS3eX`N4Fn` zf$V{+P>D&7=Tg@prTy4yyVPzUZd?c}l)ZZ?c{v?5De{B~M!gMICyX#1?M!?w!TJ*( zP{tHh9}nzz`1WH9eB^M)+f}CVjAF#)aKLmW#aij$Yy$%7nR6&yrJfyQJENY_uTBl9 zlZW@%UHcn7?sZ{gx{SJNb5<`raeQ5O{aWeTb*F9KYC_PuW8CX7$hk0Dwkzt?n5fJ# z#g!Z-vM~imOJrNx+AT~>uEz9O;-N)8o+j+7){&8n`yBeKpf9or4($%#fk;AL+uIf< zVnpp|B!i_c#b1qv_wWvWRw9q-Zsc%!+TF)DT%kW7SuQ5lppKwXZZyjm_Ph)0zy+a& z)K|;h&*qv)bq!bEvU9EMB59PE@^dAhiVFTDvZCR()qP7lUA-CpZZ&*j+0@*wQ31y< z2-HspK^YcNSS60bQVIGT4nki{XO-zO_SA6J0kGEz(*>byg8^Nf+3{9S4>>=@875AQ znXYeI5o(OtiP-~A`Q=5oZ^QT03-~9CrQiMr$L)_p=>FjxAb%HZKZ7IjFT=c@jcy-v z>|Cpm{Qy&%{`wr&RLmvz?77sWI0zA=xs)$?GRfZB7WcA2dI~ZDDozI2?fNT2HobKPvAXM_M}8M21LKv z#qT*5EE^Y2-r{7n-v?n-5&t>Jz0QINfqcdgV9=Vssp-M^Sj}VMK=KtC!TA_LE1?SK z63|pWxDxl-RHz;NS`}WI`B;Y%tk{e5sIM+j@62Bg+xMu%x2Q9h-~`b+zbq#jUT>{@ zEG$&<{5%Q!ZSIz(Sd)cRB{9;!F~2M(pPYjrAL9J>LXbdJ5f?|7S&nDs3Y=19i#SP3 z@y^5l4f??pXo*^rkXm;R$$NP`XMw$o*t8$1lsCC+4r*GdW&0;jhh-G)Ye7~ zJ(jx&_SxKq*RfX2%1!Lxs!sGUh-cTLh#O>8aVFcV^nNaeKBPHP=IqtuOn zTJLCEZN6viXs7d?@5jdvvM+0`z3%J1K5u2Yg$moeCoFXum<5CINly2F9nYup|~L2j*TtH3rcI^G|?K;JgdV zjETX)_c3p2J1?CvVTzk$i2#`$#Rw z!&VW-esi&x_c@0R^|@9;H_XSBF~>ebPUJt6SS(^T5mdAJy{Yu0h4kRl*c+Jc8+0RP zQkrT$#-8a6pqDJLw@d>62}818DMkv0#ZYLmHv&45Aob4XokY6k#iX^^9^M>v{fU^( zJEvfdsc|9(`3ze6E%%2)S0ou$fyMUF<|t7w5x3LJE^7L}9Z#4}rsCy*>hvA7U4K0; zBmbZW)#nGM0rN`Je@Q7xTd*M~ZOw@cP5+fM^YLm7>2D#us_2d)BghL(J($@Jo6d0L z?d4Tl5Nv!EpglMCMTlgd1$w`L!RVwVI}<>ds$#FB6S(4wC?VUObshVPd%jW(xDPCd zUKnQawx_y&VzyNu(Dm_{F5=Rb{dKSfRL&!=?x1c;lMmwk&Wo-aWOv_*qfTG}Xw>pZ zOJr(`4N2oIMX8SE@PH2=fP=f^=v?~CLQj9I0|6pFj%U6oL^}1c)($Z!CUtKsLtpd1Gk#TJe`mg71MpeLMR+!cv;b}U1B`6Z0!=8LN^$h7sMu_p$C zSu!#22ChdW4n@oa{0X9Z10*B9Oi2IwTC34ouW-4ojrG2H+^Y}K1EQ#m!yjWHXq{#5+^!Usa=G8CUxuP88N zSS#k$XEiJIhKza5S)}+KS)}j{eBo_&6n}u4JZ&%ns09|rBbpv`nmbrLB;-Nq+$D#kxi&%0T*%9! zGG7ZdQqk}w=$%9M;Q44H_Z&a?Oy$1^pFQ)lHp@o;EwT z>mmtl?(i?7orNg6i*G5*prwq6A9!xXRepMX@t$57V@~q9J_JVr7 zC)-+8oShe(Qq5)d0uQ_W!MJN8QtR*TPP2xk>P} z$loFRYuUxD>vit%wCq6)XW2z;^tki&5Ap)zPl&k~46(o2wSD_dKz4xp!(`&l+%Jm0 z81Tb0MF|WVe$8;NqA9Ej$E-O!5!Fabiz39y&G7^YsFL5_QHtkz@mM*Rpd}gkwJGrS z%*1|?e%%~ z@x#D4J;z8XGNWe&KOWpr4kZbd2pqyj-wDPTcT^};#R9^Cmfs;Z7N-OEAxQisRv zBu;ZC4j=oL-Q8mDw80#kgiiTup%KFTV(=L)g8gbv2<1JiMhLwj zqW?LjyBC9MRiJ)a1YF5-n!+;lQeh&-kv;Ev-P5kcM>z&(wFRvAZOOT zLJc*EqQd6MlVf}L1t{CJe6I*vboJa_`GX?e-T+B7l_wRry@gX>3d#{l<8iA8mYjK} zsJAVU8<9GBMW`|&S=_J-qYOMQnyL7Sl8wJdn+ToP(Gahg02Vi4P$hCo6RSZ#Kr>>7(I{gnAnmKH(RAX3YA2>CSq1! z_ERe23!LKXo2z{7*rUl_TkFWsAT<$M5r;pDNiKx8gHq2bJDGeA96qH^F1tpV!T=!! z_k`5N@4QxjU>B^OLB}j<{hV0Kh%v_W)WW`@&Ov+>04GxlJFjDJw5~xZC@bFTQ>5Zw z(h8q-a1rHG{0jdLP=g1&7GIx*&qAvTOIIXC!ptTi`CL*4|3OOFoGJx!0;O&4kobG% zVl3DzSFO!d&&!ik^6_;T|8uQ6pNU{ll)1<4(VFeQk+jMt$x-VFK zYj{1g3;v9qq0F!EVj}#6RYc^>O!ufoyr_2cJ_gdFuSEkS`XrHuEsyltq}<4ur)1aH zB4QfP?i=e66MB$+>RYU%@Az{EGz{kaszM0FLZ430c`Y+`Cirj>S9$kI`JN_^ei!}E z!ZS)!27T+n9`?_IhTMa=5=2 zstor$$;e0lz3@!`fSd>&=-p!wn!wf&`BYuwL=vGR2%lKqst<2@W{}i_g=e}*v2Qa+ zrTAqgJgtho>9@fuIsvy0T)?9uA7DQzR8`&cMDZW{Uu+=QOd^;ODO?*-he;@j9Vk4} zgohj_?fn~Kk1OzuIT3uu4oG`p-Qx)%+3Al9VG>l*1TUJ1)XzB~_z{wAmlUGV{8lxt zp%8ePREF-CrXImBdsqs(1^4TuG8gPoZL@K+yEP278TUJqkUfSVih#By21hTE2L!O} zkTmXKFAr#n2Ve-_lwwCDG^uFWlFAULUj=8qi??ytvj1OLb(Y*^%FsqXrYIS6F_=G# zcvl6f04YSwHX^m`qEO!29vNv!Udp zet+7MN@1U0iBq$wz5Vs3zjzgb!3hFyf#5_3c98Kv?VZL!d_NAP#~S#(;#;e~B;H@$ z@HJXjZ%#<$`o^D>cZ9H^g}ga++BPZtr|Q+vEkNR76}g=*s8GNMX568B$8q|u-WShF z3#}sHGeT>RzwUAUKPBBMX}MxsoBsE_oaP^cI4GFB1j!s(Z%DzhSqge{79a%W*J z4vVC{K5x$=R}UfQ{x$}^9Y`SVdjmGno<+eelDydmOZlUme*I!o79fs}5_e?s8jA`&@|@Q@Hx&oxs@2 zLfojcVn9~o_?6_Xjysr%tXK}RSW#K!&7n%Y43>xTiY`$^R=iv58yM6H${!6LZpFH7O@=b_d$wUd@}UQ`q`q&`xuzMp z!TRQfGf$k|DyiN(S<#OvlS zyvX7{XuAg5)r&W=Z8dyMCQ9OCB3a3Uq2#_HWB1cgaznwPJkiy2a|gyLwTZrd^I17* z#p&QUvcC_GBU494ZCwxdS3~-CGH9|)K`LSQB;2~|XZyo_Zr{&GkG^#i5&@J$uQTwi zA-{wh9JvXD%~)a9X_YGUXHDXElJ>A)kU_9wi@+GrhcO1#zuQS5Wz~X`$k4u%9TK0f z{CG8E{8_g%-`?cAov99fi2M@E?{hc1#arc_r%QB~H0tS@vqiFl0ZbJ@Ic0D zP6A|5V2XVft{-F`)vgUrBVxdh>XWVOi<_8{-iqia6_88=F9**^|Nb5QtLn9(e-l-r z-aiE@NuB9;4bP>7VnGh-+VQ3m^=0!7&$%y|bUU5iO4(VN;E>^8NXWPish7HySe+7@ zxt>j&l(C6dxiK_&%et^`p;JZf`35&@Ghaut`35i^(0n7vXTzg_(ZD9gX~{EUs1!-I z9TEE$7CPAAUlyh(?p!6;BoIMpw*)&&dcsbZr_|&0KK|0$L!#bUf@W%`Qr|j3Dem+- zJr0r(Y?{&aRj*z^0Tc12_S8q%3dh@X`!C%kn;+M=r2+ zEiI~80L6+@x<11=Ur;dEurMH4R0L0r$li|wrO+j(o|Os|c`%cQ`0{7R_<$HvD}Ne8 z6%r{W_Q4*Z{n`$wGAM(mMz%_><5KQc#I}ygySS&>kXQ{fqi?W8h;jyv|z$RDqUfk!?L5W#x9vJK)4E1 zDwt~{6;Zvn#RwN9lX`uzik7U;P<(q6(_$KnEwb|-40WB{&gPIwF-(;WSAJYf#(Vb-(^sS^j) zv;6A#PA?%L9v?T_e2)EaKG3M6+${5wA=51hR_w!=0b+}QmvrBlaIaidz!m<>zZAd{mj?WxMDDu+70Tgk*$a7sDUKkM^wD~SNlGy3$~k`eO1;=XjyyM4kG`~8YS}YyiuN( zCi|yx>_jAt2|#ko3So2M&1|2BDV=$KHu!2WmvMV*y9?V1{UXm(5%UR^T!;h~8!^i$ z$rG@T+%E7!D#p#e4GCFEHgA^!#!*~|iNbH@*k5{KBmwzgfx0YxrS|2;y!{70P8W`0 z7b8|4%am5$%7aZoX<=FrN@;_(&;dxr3halQzw&T$ve00UlNaXll9eW+t574f>p|X< zH(~OG*ePt{?c55*)`Rz-$0IR;AVbX9AaCJ0-hxx^#hac!{BkuniAdDpe}?;oq2=h0 z%9um*L{K1rd?A7f(K5&WEBB=lxyyjNYmQM^z+Z$)N#*AS(&}cCMmBEG2&?1wQS9;M z_rC-7rFH_(_}1PW5EXo8nZJzaI-W^BNb3#te{3%Jh8TyCU>eJE_x}r$OC*3{!}74? z8_7qNv)SV#-69OY&46cb3m8R?@BjP!PdJkqq$lp*M=+1wzZVMU^_+;pFkwh>E&>P% zRoZgNC>FS?FTGS2m6#Hlm@PBM3dHatCFXh#Ff%}8Mh|5L7T30P z_LNGoJBYE{4k1@&psApBIry*rN?T& zS_14Cs4q-Psq5S->C(MmG)qQguS(xJ-hNOqn-akl+2J2oPPCob@TqOhi7Lu}BmSKY zTgNDc;6zKQ-RW`DDdz2E@$fkvREG|PEIRB178yL`uG~uMv6^PR_5#lbbXMb>O%`4b zS#-)b0K)WXz@xyjaAj1oME7B!^IBI!=ef;qM_^F-ft+A%Ru&$BwAch2hzWzhEQCEX z*pfCA{obuslY7(V!=i>S0!@2i45Lc9<+OKtx|S|AKO5Tnzk#Is6t`>$M-bot-C}+| zvq>=QB6F+` z_0>5MtPzAbzS9^^PdC7|?$^>f3@qD3VQ68DIif~r9i_aW*=2Wmo_%QFpG3V$f@kH5 zZ{h2Mzs~BVZ+DvZz5S3ww9ICkX^sWTtHjn8Kd6>&|1N$AwqK!eMGk=vnwquWa-Vl1 z+G?wMAAn~7*`zfTFMNpj&rvpkIlHa=3urD-sg6)o_U{m1qgGs$p#f0)>Iw12cz2?; zdGmiII@1SxX8LqS-p&W=oOKDtvf1~ZRN!?VPv{sYi#aa}N< z7#??dgR=d_?(Iu^r=NqQ73*}29L=E=@Xdj&onP?g^Ntho-*ck?gR*7IqMjRO=sNX{l;bMfxv=zrY zghiBgqQD)#$Q`e)+Ri;;7?5|SJKy`k#H1qA;s*ibj1FxP9fv2Af=?Ve5$vsvIw3dD z;FSrD!bx?(=*}|HfLy=_MRUFve~rmpZh+V!{o^o@j?QIv63> zu|VVyHd%y?D6y^yC2px$AVi^c?syc+K5Rh1MT;;RRVKlkrNJsATy3!Qsi<<}gDN*U zv|CsOp2Xa*uQt{pTy4}&F@|UUR81zCbeqZf9z7*kv*-Dmz2MNU=0Z@jIEOawXEm!u zZ7RZ_ME3Gvh3H^~;{H#C95WT@L@qK|>UzG^-#fImj0mMpcW9^oR4SsdIfO<`nv*z2!GH?i4NgX3qPWK|NqLUrGKhMXEUjS37i#C}RqO|89lt%iUxr*wfJg818-#!1H5k~E7 zObTOo^v}Bo(<@jYcNcm8V+Jr6gLQitbwl5vhaB2D|EF%XMt)HLvu=-Yw^7=9tUi9} z)l%BuQ<6to)Coip;6Jdv#Zo`8eGz4;b9w9FZ26YDu0g&1&*|~Nn`-yPC*h1~F(pu@ zL{>ZM{}6)qG;YGxpuJD^_Mp8_d;#ozbU*$WluL@~+20|ax?_H-Wj?C-Qtchb{D&>` zA0ZnO_M>{&wr1D1I!oB@)`#nz+nSyHHE<91ZQJY+0n91QYEiS>;*-2}+tTA{HSn0y zC}Mm;0!AS}s1nO^g=M+YBA#1&91>H4$2k{(H2EWVFBIA*qgM1}R4ExOM$OGR#2W7V zf~gx{k>|I>JiQgxYX7|Gswa=x?+UWyv-S#;aa`rv((_wZQYlJRM1V?BsJtYi#q9#6 zsP&kqc3aOY+fKf+?c6Kd7K)w~?QRJvlNZDi2*An@KGlS0KUTkHTcx;eJgol3ZJYnB zsIS>Zu4`~DLePz@$OFs6j_s0ux;*T{E>T)uQ5*&F`qVe`TdW{9Q%94Ixzbhs+esg& zYHkyAs1Wv{f{u_^dmK_iOO5G-8M*^)vH|x6QoC3YVg}^CwU-*`jPO1HJo#5H{9?76(MuM=f~x>3PXm~?K^SxyzrrNmXWk{o<_ewDHi z-(W8kpeN}O7a*3H>Jg>L{ueNAe0YgSYI!iQL5VV@(Etb|#LNphrwZ9U!D`OdGH zxzMSEq0y5^EL6mvEHGMI$2vPzzZb&)5jW6aM57nczF&{@2F>W=m|u^8unp1%7I9jM z6%GvwC?VM8<3zV$nV%LMFO0xVy*Gs*kTd-NfI?ZnxIac9sM%l2Jzu?wUSIlP939j{ zs`X-U1*#aamx?{$i9SHWkj(-pkm@($#H4iR5ZyEC9OQhX&LM8vm~)8LjVj|VrQmr9 z3PGXF;3fQb4zf?ndx`r70JBbBQpUkb4QVEf1a%P(|1x&tO#)3<$R6^TKjbYF5nhEOq4J z&Nf`ghzyuMtezC1oXy<3z^l_x4D!Z}CmhDNGQT;<>hOLNRs-|Hg$9B(!P|YZvu-A? z7d6BQz(%m|7C_G;V)p~Y6n37G(%h7&{2kBaiYmLsxw$LxNu!~}Aj$PF17pv27Ie!A zUB?_ou6IuJlX1n(4k@=_9No|Xkr;Y`Xfki2fDVx&FE_WcQ;Yy9gm@e0`!Xm>q?M!F z$^3wh<{e%-vgP7^-x-V!;chgiLR$Ka*bC!e)l;6!Og)^~|rTM@{rZY){CjgoJLybgDX*a_rX+gft3~ zIpP+orW_4Ifzd+&Yj*q}q$z8`6*W;-Ggu=0EQjms8}g>j9WtD|5Vq12Mq8^b$zt@! zTd~r37}HRL7WK?0l&x7-s9c)XT0O*t5p;qj{$cfcYWp9g+t=37l^4N!nPP(84UN?( zlrvvkP5Fp}!z<(s+Q2dwTZ^(@q)gG!zyU(2It5h5WJ;Y5MFSO|wSqFGCqeEPlSNae zDM^pEuhp1hHR>?R6o;5MJvsAMK>U?Ot&2zkf(da2oJS`=`f_xKjGkdY2cXaPuXdOc z`u(KWC9L9#Mhzlk%DfdCb!>7pV3tVwhCTec(};9xGa>Ps9W@cbdk9ZL0#dm zP=3N!nU2Pl#1~r@rTP}<{c%qu*=Fcpl1RD|wvTTgxW5=idjq;}T+l;$Xv2dSs44T$ z5tue$%Ez$J-XPkL82X&vlkrDfa6@{J=GEX6@;>JV0C-^MPBxs*K!pvw`AYxF!Ij=u z#qf^{6~vj(++OLe5Is@bS7#18^La%s34kl5kN%kD?~u+LWM4sT%)5mvy>Zsw>jA_i zG{<*`AQe`vH&E$iJ27_4{z6nR^ph9e1R~$DcO=I>_*V8Z<;@)T{E(_L*AR%nj|%id zaqDyPEw1zvQMm{tE@3aX`h^%b;+Thsg0r-V(exD$g0 z!TL7dP#ot1B_^#T1kV#n5Kjo61xQOoJ>hm=fN7{h!0f(Y|K?Sc#az5V-@f2E_v!$l zu`UH=W%bw?pM+pLpcEm3ORQ$`r&~M3-BQjTK=TnK7AfakgsZ0s6Z&GowGX#Kc!WWM zx)qA#80M3kNhY#?^R{_x_l;azEVlpr_D9e+c?DB9f$48aBkMU2=T3)&Tdha1(m7;x zd^iH&A$VsJ`?&^@z~1#L>>r-hC&qqAbQ%vYX;E;i^qAq?Cjp%Cgd!dWMe$StNT%On zvOaTm%zxiNX-6+tshSHAv>P{s1ddlmr zY3shV9D8c=fOzbQFEd1%fqrXeZ&52pMfOi$%8IIBBXfoO&`gDNA?%}b~`hB!eDx$s9FRlcG43a7-hAqV_##IW>kS==A|l`m3z`hU^l6Z643+I+WmK4_!sH z-!1wryh!!sKvudc<2$k)ti|TbzA@67uFUHq-XHZK(VifNvoxs9*8bx_M%bARdVj&7 z*${!q4({f@{n#q^7M zeMOeVy*39>!uKPvSrTIr-!n0;L$t-ys4hrnVO}Vk(_&j;O}CG2QObaeR?;~^&lq$$ z^L?xH2D7|%c}1Bsg^Kxgc?r5GL5Ga3)|<15`Zvq(?+NwVAkChqX0;;?Q0#Wd0QO#^ zuVnP;%Bg?@D@d;_)~mO8a0&Q9HS^YwSmIKy0}|DF;jf4niZgeG?Rw@1;9in_{vQDy ziSSo{d~2bnH5BF@69ne=khLmFTpm8YE*xmOAjO-^b&VFAp0MOO3)FQReQ=mCzc-hS z)Wc?f&sFX@z1c7wL<=ZY|5gKZr0WBMtU-dBzAiA&uZ)xZ5AOZ*1{>DE!ZLcvPFdDz zeZTHD^fZ9zF3U|(jL#G`tRm*5+!G_b*GF`xKg%0;B=d1m!*hYGLFH7LoJ>^W>=C7u zraiM^5!^jqbo5`b&E23n`X#7*)o;E8CcWP#R2;zo!vh@FC%i|;to!8`^X95qBc0wX zzv4)?+jeBWQf@m^l=-@-;THjzu@S4`P{ferri|ze0q=*y$_Ss%BOMOp~5EpQafa zfhV>yI_+0G6d$6?qY6-W5oCw3a1n;qJ@^w{gF%1itpBC=-MBDklWA|;Yf-&UjfuHV`{QDC>-SgO}^v4hG2~~lZ@prL!cmm^l zOnGvFCrSmjh@WD{vnxgx{S-5vTY+QsLCpA>sB6W@qAK5NGccHvD#}gT{~IozQ1T{{ z35bHde7x;?L=J>D3yNaZbA(BD`KIZLY7_5}T5hG4uA}hf1Cc0V{vHTQ1u-!p7=%m^FZ{NJ!Ia#aV~+Vxz`8bg%M1n}KeXw2 zk>&h{pFYzq&7D7o?EMas?&+D|)2=TMSN+>naP+S#v!x9c*X1U%A7PuDxCbJw=0ts*hGVWwxki;$w z8=|B9bokiiZaMvx9*^e8@x(!gd+D&T%L8)mOMOs#ooxl;UY!Svf7VBEHfBadJ$C3RLlBD;41X(7H_MI$Gs~uJs&UB4h3KpsbAhL^% zl!>l^B=}!qoE;>M#UCM19dlH=9R6dp|-4)0-kVdn( zSWhlMd1P1dPY#hadW%?h&k#`RnAVr#)!KH7P>zg&%B3f_&@nKssQpKdR=d4f`+-=b zn8>cyW9Q&1#H(ld~8v43zsVu(%C_fvlI3n_&T!?7IXp zOESAK5(z`5#2V8~3u7`yPF<~soL{VN^Q~)kQzD$v> z3B8&_=jdywC_fdwI>XYU4m&8qeD&({3Rued&(?;+jJ1C)a$Q{;-rnBT zwLT;1dJO_;oI8ANwcAI$rq>IS>T__`ugA9Rb`9DEF45tLp`I)VdBxaxl#|%^uUpS0 zU0ZL(yGB{EN;!#ti_R&3E1o-eU6zOL^L*Ec#B}KxTIMi?<~$QG>kIG;Ld2Ggp#i2a z(i5;rTi;GDpgqPV93;sNLOn`Y@f!k-glb-mns8=n35$n2|10Jo_zWxZ1+MN}rUv{sp?b`Q{ zs3A$PXi@ozyj*o?&Z6>MDq`q=e+1p)*nbbvYRG#^kRLhMp%z-3-Rqo|)$4ul6p^YP zUi_7b9=Xt}PHH}7N@=r(pZ==pYrrq1eQoJnoU?E+XD#|papbV*b-7WF$C)d3u=BZuK;|ySkhe?zQb}WnTsQ_v6NbPp++7>%$>vtsl6;rWetqFix)n$+-{0xe zrUa0_-7zyFCiWf=%RWde{A5;NLJ(6XwV6gZq>d> z`R`;}NWfg^UD(gWo~A~qUa)U1xd6*FW>D<;10Iy)LCFQBIG2vFs&jsMeuxeqq{Eb| zocTjak)n?`P0vZ(z`mr%Q2_Qp79YQc{crsn@;&X&dHZHP=PX#8Qc*Hjdh*4_zA4bG zkY#2KAld*fhI(QKd%_4)|8c-UM*wAvQqQ#6&gZo3Kn$Cb9a7Zt_kRDK50t+|G+D4O zBv#OWl?;hnn902l2?QsXH1;J!B1vS?o?nsLqtLc+y6}Q$QDX-bN#%^;LTflC@Akv- zT!|je&0Er+A5x|4yj6P!G1iW4p&b1}R|`Z%GVYgp z8E+JMa!z9(g-SMD2{_aFDKjRiodY)Ga2k z@hpWwt)$-v! zPZ@%_gE_NyX9$?M$#HoF>7}M2Dtr)8q&~vVAZ8ZpE%u})6CmYXTGwNcZzVF>gr<-y zTIX63A6TSYBWTUr>=Nl}1giYF$|%)isusH~w$1;pv;X+AE$H%K5sL{G@HjAqpJ}gm zgwJe&-nvxKq8C~0HYDXKiPw?%7d*9)1%#Lg#MDMfdZTR+SA zc8829pV-qLkIPT8CQfN$n<8(u~&h8cMZ&(ak0M zM7_BJ0N5Kpx=UhfskljHzcb28Yxe&Qwvt9&sqP7~Ex&GEwiV<2<0vsKFsU5HD$9b0 zWqz_3cy?Ns?ZGhK9VIUo=zEW1y==qi{tA^MmRxwsOv2RnG+LLvL)!2?dFI;Ga4aBL zyb%QxVwAfx%2y5LTXYYTJSD1Sd&nF5HeZBJPo!-m`#7I{oCos~F}L`;2HkrBBl>E8 zXl(JxN^9TDuJ;=b20W{*12SY`?+kmYteBc4`y^l&14hR4YtXBqfEntm<0f7po*8Vc zp77mDY1!{eubUT$WZ8moKyzjZj33>pU2iK6E1?1D1us&j8PmO#J&{ii)KYpN|EB|0 zwgB5*DgAN2MXj<`Yu8&F&so%yJ%!fwRwYDDjn|m5Q7;wMLPa0gV1aV@Y$pi{g0mKe zEOqDMtbD}JM-btIg;=i>td|Ty<#=s$d9ly7&u1&HbEqG}1X#4R4yPyrgkmO?UK@J1 z6^h?UV=$V_fw+x+>N>h&5EHJr!k%>c@BW^gDvu0KN@__@hZUO`LS=BdH~C?HI%IWm ze8Z*y-zCTbKv;7VUQ?%wx9ac@7_ zGe7vg0(072m-AK~-Ib4zI!x)YRupM-g7VaGo%v|8*EAP#k@th-$>=()!}-PYTChh| zTQUD>WxhF94|?m7>0llksP%%#@?FskMWl8_bC*t7uQ z*O>zWnHUwDdTR5|7?NCakCe^5dp|%D{cu2r;BuB(J1=-`D?lx#Tp*kyW@FUz^y_rms-6 z6-4SSZ2*DQ9^6c@CDF_eM*$p2U?oM3YWnCXj~0lVwsginx(aB4-4ascp3zs}>OuVY_3K9@L3T;Q5p2uD$NlXzc<-EMaE?`$(fyRZ)$|ro1UVy2{ zK9yhM4i6rG+4+7O%(>%H|C$S^(kN6#dk$(uwvcaBs`Zny>MJN3Y=KdlnwDO^WUok< z1sJ4RMt|0sx5)kxK+2#~P_FF|Y#B2IfZf+r%*ygt4ibDX(qiwZ%bsTTJxOfkxo-jr zc!DXXq_ys-5k0*Hq(5b1!HB8LzAGM~xA@2@#*{5Rhg4BF>v>S+y9iqeO zERKG4XZm)x??96;bGJxWCUDkd)gN&CAQst^1m$bp3(_Vt^gdP4g$`!@!aU zn6fLdZ)9iXE1$qGI{DWZQftX_<=z~1Rr3vFz6b!DN7WUA=1oakxuHC5%{u$$9ZNJ+ z!rHweEJ6)6EpyhA7HXP?nqi^T+n4*wpORK(z)8M616*MRm4FVe+vVH-g0!79p~<}3 z>?=2wXTDVv>{9e}?HA=Z&~t4K`%s)Z6Q{^tT+CRzcb~Chmd+7a=eZlIp(wm)cmpru z*Cq_NP}6Z?p{W1&2l2HEYGyACVKvlDR8iK99Mdyrz1IK}A-I>=l!+)59wu;za{_DM zS&x24Kuo_ajGyhVjed<`;bBrm0C(Jp$xlY9F`Y@jV1?+g4j`xPzRbx}trbmQTbqGT zzJ0&6+-hkjaE@;0cK4ucH{`1pXLGjIX7zz0svImG(!tmMF)h(myYnGx6tUbenMOnx zNdFO9U~q#9szaunY_tjJzXjqUCQl&&Ol2C`)67#uStwJ@oJc2MfTV#_lpgxxH3e8+ z-NS;?@iHxlV(#_Jo?{J!D3&qL4jWGj0jD+)()Iq=L{i>^$iGJ0#ul@>b#aHR#Z0xD zmX@@b6I#?EE#{ffb`D6*Da#zT?TB4~B?DNvEBVg!0Z1C+xxJTFb3^f|-f4oQ@nkK< zm)zz3S~37%N$yA>NsEvGlzCdxVq~Vw)00f_ZKupLD2Vl7oMeutFXsDu*YKuF^q=|A zB?40OlL2F5I6{JOv1roPTWHby0$^eo6C=tN%iw`ll7R$aGC(8=sKju<{G3=$B}ODK z?)_(g!t;B0j{VEt*Z?C6kFHyeO+c1_J@K%bQSzHMyCWaLy8aTFn)QmjQw%!-$%uvF+rjD+uj@nqJc>p9m6IY!bik zBVH`X2Kr!t*w`39yaUzhqTg)zNn65WSgT$O>NeN|WLK&^58_uT#cJsgVItExWOv)4 z14LCCk^fJ8wH zfijY?E>Z7bfY6dBk&QSD?h25-B$gaCkdqJVc)vjNdo#G`E9^O)16rETGUcL%j{>e7N`6Vbnd`IbvNRY?Tg%+lb^RDMO3k(+dv7Kac% zQHpb_TZ%)7gucOUyM(M`TsDStH-=l)SIfeews(kHOd{M8V{t+xx%as=sQ0yDH@o_o zB7HjS1+k_**EZ!87r6m-nz-u{3L(}Vi~Spk$MVk>V$I2+WbB!Wz#-yFseJc%Bee0~CR2dUf# zdxrxYx$5sCS<$s5Kx@NN;_3B4prMpJ!nx|$Ct<(4QJ=BNQMvX+ENs(xI>;_a&)Eos zW3WbgSo%47VsTaAVJy3i)QmxDnlh@QC-w`eF!ghzZT6=N4(4iOD|+H`ZGxWU2Ia+1 zPnLgdXYDueuRq^UseK3L+FtiPt0?(O+7gj#v0bfe3)?!y_sm>nXwzFuoD)7i*)-r+ z3QFFQm3$}j_QaA7`9kQW)D|k<9X7MbR z{y{nl{YTjZ)beTSOPef_xzzIMElz=YY!l32Ti%ocI)qw2Lm6Qy%Iyx~OT=>)2*v@E zcs(DZFdFP@t)K-OqEj2u>bgcROnvJtYFMa1cd*@BWT_y=Mcad8g>+tOIw*PoTeMI! zFk!bhmmg>=Le9;}A|z$b^F@++;W$Q^M=Ji+317S{=sNz^RFSW)yvyoMnZEgLg(Wt3 zb7kc2*TXC+Gj_*FEmhOFv%#FNDnOh5Xa2XQgdRBV`yy4aeT(ma)#pu_@qzQ_B~0HP z6N(aue)$Xv36{XmExTb8{41B}%&`lx7QEN6V#Q20Hs!>PqTcxe_T;zp8@faTIax5A z`8w`=zN%kFCX8?Hq0}jsh}_(_1aLvheG?~ne12={TL}}eI)io;0{@90?aiA!S2iHV zBR)<)lkcdA$Chw8pyL%WiWBz6O`Z$)Uo*!1v|pxwF!SsD*G2m>zEtkjRK!EMjjm%? z3$bh3@&P^4l#we2Cdb2>JM+jKJR)qN)W9p*o;Nr1J$Wuab@M}oij3`ba{u#$`K>^^@$y##5_@hFTe~1fTMv3*RKP+h&(zP zfDe}J2*1E1GhYYots6(=>JCw69LH`JHoSL#od?exdh_`GxfHx-wg&HoLL%^F71y@d z*&nZVi}3SjohN$}|GULr`vbRE*Dc;+r~jFajzXnE-VX6M}Dqg6NBv~ zyPWge`n-Eb2G)*mc# z*#G9pZz$*Fz#XAOom{XC&|z$NKG`tog~Q!KP*-BEbr|#t8*Enls0W;uC$9 z%bi6l7gug@Q!A^Ls`9)dMP9NtWoEKTy=)^+IARy{?FbP>&+Ha~Er2`n$g2ByK%ZeQ zjo_Q6nIJ}ylD#-$UEHb70R%UUXz&=}$ZXqJAMsVS#kvn8fK}t-f@UYmn% zp#wVJs0f}!Qw573CY6?QLolv}t(qD&meAy84!MC-KXYybb%hm^OTC&Z!u{Eia;gZ& zvKnSbNE)36bfc#Uq6*LT2Eo_55t#eSeuOIKr_vL~;C9C8m6;W+G| zA_#gay8ld|_Y}cOK^K6}X9q_f=*f!F=Z2s`cm!_0{u&BsVR{x|_DRq8et#7J&E`!+a2r9okyCJ-(p)*wVkI+-M&m#24sy>;* zy-K=hmv7%8$(_)We~GOMWlCLBSV^bE=|SY15&P2bPc=6Ruio`-IYMALvf8TI-(E+& zsM2e#)k{k)>R5s~hVFh=);m#fXHwj7p*7@%&a=;>@JdM2NH z?ydtlB`zbbSob-9J}BXNp+9In>in!O&yug1vNe`jcfE9btP zyRxQIv~K3g%Ce|Rs#HUQ;_x~m@yiv=dm{v(28bFc z%aVPuxjn11>Wzrx6;-yJIvTU`MPkoJtl1!j@eu2^Yo#yN75gmea78hGt#T}i2fJaWq2#Uu^k3{HL4|MjVf?@T*2 zF=W*==Z&*}54UqoUIBL{2hyAX>(V?%duU?lo>$#Y|BI~*Sz7O7+ zbX{FdVjZ4_S9fTYVkHa0pG@|=3z28%iZ+BC)5wH;9obu|f2xE99P*u~sy zPk%XBF{vgYJbyCro2^L*+dY}!mpCG$YHa1J*M}t@6V=#YRxkQMEsVe3;bRljfX+pl(q#GW8$=2FgY zhaGMQ^e*%k4jExES-al0Hq3%zilSvoUY=@klq0U+{`js=iyh`9tDEewMQ1PTg3sSA zcf9NK+seB--A?9`uC*HHkJo09aNx-zgo<`jaX#eAqYbvM%`;iMzrfJrxuT0Sm$W1{`5=V zx)y6s`|fq#mWuG!&unXbj*6(7ipZ)q<*d#LtJj60RznqGgB1~eDt?f9YKZzTBK^(T za>VUCTz%a1)#4$Oge%r5rzk^Lw{95Go?6^z>a4yeZ-auol$mn<%x#By^12p_I&yt$ zaERsqME z{&#cQT3bK!zU!-6St)Z_x0ov`GAq!b=Kfw-zlPTI#c;8gT1D3S%80hgm6KbkN=@6W zm6@`|*av$A=>-;$J22F3g>V@-SHOiN7l6iK+Q1ecy=f5B67x$Fd}M=*)x z@*U7NK#awu^0%u9y+bZxCsvCD=8;$BN^z@ycZL#oVMK8JI3coH)QaosP_V|W_HJ=o zcx&@zX&WM<3_vc}SPiZoHoQY;55j$Repefb@HQbXgM>RK_IDQe12TfMmErlVzu~DN z5nVpwN;k(ok5Ahc=%wyAT~f4&{ejaaRDsT~hKL5^=>v_X3z}C@!xG=TT*JlX+!y!#VUj{8y-O zKNS{sl5pqj^?+9`_##fEoTgL)b`(WDcfqd~esNbcXcPK;B?zPj_de%9kBI1RSzlA#sv^;n`2cV zI{tN)Z~~lJmwE@f-_1KE>_0&l6Ws1xoH%BkQeyQ!DcQUuk__at;@z*sD)JN=1@d{Z z4YvZN*U#<Gu!fkp_)(djKed5XFL$dtspT&FsPBkK<@^V>!76QOXNh~ zFe^z`*$8RGPQDRKGcr?NkIUnS4AYOaqp5gFiVH@uBLVY9hMhFbT)NEsZ9)2(x?HH= zcg|ogUgi!3TSe$vPays8bp)KZB3$<_`CcwY8O%eT&-X-p&Z9fha@HJ+>c_S1Q4$RN zSma+*(N20Jhs-iZfVhRhSmHeqjEaKH+FU|P|3Zh4rC+I2PRQO^_u7W-b!#wrPPAq} zp0;U2UD_Je4S`Y|{3!bDbU=4BQ0jd{vSg-EIU&pcsv>hX1Qt#xRgbm*LeaJ)xk|BD z@!CG8IL?YlbV-$p4X_qbMjCB`14TPv`dYF@uszS0b8v_1_y20)%r?B?dAYtr!oAKZ;|QzqH-fq(WxB|ZgvQU~9TMj9FuCKt9fouV zis;|gBRSei(*H$<3uO2}Mq*KLhxmNV*s$_(7)fx?UxgKrL`K|hN&k5MyIv_70GU{D zlxqhA%C0$&X|m>gw*>O&gEG&`dhDe{OJ?GT!htypKMO>^x&*1K*H%aW^*rHK0RnSA z$g7f$h4#wRQ^zeM-AlM!e5al~hj0ix1rievG&KEQU>}0^YQbQ?~AFndattG|+aQ5RF1QR7pE6)yJ8DmQn}jt+X?>o%%f9qExG* z?X>oq-**RXJJ0j}KA-m=$Vv9um$lbkd+oK?`Yu`X0TI##r!u%nA~y4>@H}{e?Y^A- zr~q_g&Lbr*RemUd{UESuqkR$?G;}RzQz`*Aj+9p3vLXc*6KFNiO|0T~7S(H#K&al? z#SnIj&IFT+^PGy&{YoWVgrU<5Vdhd3qX=#LEhz+Kv!Z2@cSmn>Mv`JW0Kk z`{Sj}h5GD_xXZ&b|5&8%+By9p<>as|GqT#YJ-9e}?uZ`z^!$)Y`#X6FQ?FT?JqSe& z+m1GSS{YsP5>BeX%T}gNMIVg@HWAb$-G`y&aesiMfH;uq%t5dh6@IDAryzGqL1z#s zHE!0I%r)}-^iba2*T}}WY96wcA&;5YOCGz=c+!-33hoL&9U^BJ z$w;joXI(OXAD#CI^xe_if7?GOBy8fndc{buM&J~QtXK`!!1?yf6#|+V2@y>!GC}-< z(dEWJ@1`Q9@|gkfZ7_6Y^C16G_#T{Q)zfTJ&w>7}uSqUA-bajPpQ@WF zKpr$=Y=I6#M)P@yM2HeyMEBq4pQ4Axu$(hvST-IeK!XDsRKE1F=#x^a^BMcy(GFa9 zbXWMgx`p9LM+ML}Pk?3L<7`z$$2lZAfA8SDcMIZ1`t6INsClM+`?f&I-uL{*gHeb8 zBgG!S^nCQ-tHhgF?-Y=w=}Y~qAm8@la3mkClg*62svnqq$YnUfj{dTrJ@ zXD0QtO}Wm@#KxcX`1-fM?>JIFG)4keBf3wmx!QLu=n6VswKgO)R`U&sO_ex-HO8

vMYrNXtb3=t-__s``s`1c3A7zLdxl?>wDbNCyq3g$E9MF39Qp1b)bO5AwU z`_8#JtqrL!f^U2~DA0lTejrL$^Q%rB?iz{moEGzkX8&T0Je{^+5Xuwm)u%^oDdcT0nVFO6K;pfi3sa(TnxODAY}6$T~5 zI=PF|{q*d}Tfc&m7ms}cw*w>w-1ZkD_h1J>PVtN8`ss-qcddAdWpAnCCEouGjRiKGpbtvC z@kPvm4VyLiL)N;0>-FZ$RSy77@~6dy?Hj_lMUO?RHDtH@5`nMYtYUYu2z%#YiOzcM z?r5Apu$%IUyJEFSlr9$A<8KXk_94%2Z;M_P%&!q-XAjkzV`{ z=0YOkrHMHjARhSRIldC5AFHFQcY#H(VnBE26crM!4n;Vd;YC zBJ!S+3J2LxVZS181XZt@Mi|#S=t)^IA5Be>o7LK&pN${%AC(4c$XfgtZeY=D7QhmmflCFZ9AB8%XY`~IrM4|(cR2jKaJOu3#`x~wM z`&r^24_>Iacf(`ETu(1b8CGP;y>Fi#lxOxUlyR5}iV^`pRziH5;Ekv5|HiMQYIkb^ zat?n7&;tF*Tb(Q(`jo_n*%2RRUt6V*aUS}(_tzV%T$uG|Mo7@yN<)Ff_Bpw9R_G{$ za>GG+iF8;3niyHQqCfY5K@JWurcrQ0!RCN3^9t!M4V8bb>WnPRYGh+PjySx{Z-YMh z#YWHvaX!Hx&Cv&PrG(Ju3@%i`m*t?31eQVEL`aH#JHzx@0{VQ^PoU|flzQhEMmI79 zN(Qgxs|pM8%~Tp0>%AlB(VpMWbP;eh(D9iuFAXx|u&Y-|T zG918WVmw?hJb>Hq#^7|!0cC11G@CySjp>u3l>Nk5&t7}3eP|j#gM<8k4Fz}K?9eE* zNCNwY`9z<{uZJYTT}XWpzllVagLT6C)r}mK_}%+fsN~uWw%rvmGX5(f49F-5m?wCjXK6RUk8GjwiwJ&RZW(p?XDmZDUJ7m71h_k zm`AP-O;`0u(Itm0%>R*8=e}P#BEg0?`2T|t(GAIAkgT`he|<6X>{Fy)ePKWk5a_jU z&p9^VO&$5>$R)ZRb1}3S@7#ClhY)EL3jTg>ocIp)jzeeq^ow!#!`RMfxQyRT^vYj^ zbZ=P-3kQ)|+LsG2%0YjDp_>U_J-cUTB4lbRPQ=l;%8P?Mr-QvAY!`$#FxRMa&<~!t z`UTN(P+`Sfg-s#dUoD8HF(7ds0@Dn5cdniSCMf^%AhKV@VO&6my-^kFqM5pmfpbrh zJ8c?+$A4BZ+csK|xJH9asowv(@)SX+4cf39*T1R>J{)4II#9~Um`T}iqQtILiEi%} zxFEoQs3Ql|)kSl+h!Gg%r4aa&+#ixbTnZ7X57z+P91;qAeB+3lnwIx03M0)I4vh8B z;A3z)gd-x@Ib2YOFjbgIaIRVi*guRRxFJODO6q?gAIW(NH^}wR#)Dt;R?Q>X1<3Ee zJ4@o|(8QlZ@G+rcGKXca7~#pMRPb+HS0*l2m~EYa{<$P23M)mb5ZnUGWPQ%xwKy^pvV7}SE6NJ$H{tR)mBNx{QKc<@_&eC0*;c>0u z*_66W)e7K9-A*-Zlh!Rwh=_0ux$P39zIifep$qUv)*UL*bs%6*1-LSoT292A_WmW(B z6kSe6sr%*X-@i|G0E$}vCso7m!(B+&WNlFK4ROW)72X{L(Om|@aLd4*VAi&?xXNT>bpKrxmSca;4YN!n&lHwFsI>}(1g?avkJR(frH+NOpwqUL^N)}RC0S=)4b~YRQo|4P;YK!e zY%aJbn0$V;b<*mpbBOx!va*_*!a`P9)b3*kVvktL9}4v6!hkrwH(kSmYf6u;yjpMy zp+Mm)Qblm=f+8EXlj+PPKwcB}TQWDCCJYC{ZMq0Yq35F`&d|l$PiSt5Zmq}AizL2+V+0ik=KW|;9geI zJ+OYnw)o<*@XeuaUU(>T*Ni&l`SzYv<NNub#zzfDaa{5~UNpGH!5ozJ^b8I>yt%!7(BHjf{eUe3?-M*_6A=AU zJ!4B-xdl9To9%@Q!#FQ3h0O6rpJgR4zhb+%yASW)k2W{yv+HsH3J(#Pt^X_v$#l=1 zeIz<(2~i+qx=(_IY$L%BZDMoS=^R!Jr)X+4!1=T(w>)>cJXeH*DYKPW_S`8`UPIJ6 zB3fb4(U~j&wGKXW_9^&P>VA8+&6&JsYvP)h!zz$W|4Ptu78mF;+neZPO63H>3C7rF zIv{(=;GV*OyiIfchi@{xS}ZW_{PrwVFFN?!v&0&NlDc1>g|!Gd2jwX7;F&PGcJS3fSY#7kcXpVDTDnC}P|U*I?8G~|iZjZT#nIkv$YTN;HQ(IplnCvO z^?BJ?KTT+!J*WZ~JcS!A&=;>iOK(~%Yr>1}iIcMuN!}>c1Y27Pl_0obn zhvl|U$ZuqOTyhpJK+yQkg!1nkl;+AkokQ~P-1a0Q~kqH zwsgz$(XdUD)Vfh#%A)SMPU0&mYKmTrC?RxLhJ$5hKgrx$W&Rg}{K$L_Jm0Y>#`}#W ztghm@v;CK>J{C{-JQW8GM5I%d(R+?Zk8SH1*+wozE`=P{&FiLW&bS(i(Vxdg={Y98xFx!EYV{ft@chFh7k;igR!jR9h`&_TAGs&qgX2X zwV?@YvnL}Nu@JFY@h*b509ETAs zqYprC_4~4F*$U@<)w$38san1w4)#gi9L!XP2qT{UIT$;Pth=UYOv1!s_ zsh;+}euLF*6v`<`x!}{`mdX6tj$5EsVNApHl#vXH@*aoynB&X)!aJMIP^3)m7CWws z{4(z@3yIX{Q$>COqJ!^?^zgTJTM26t-IJFtdu8d5u%U00IkuMUT%OE}@fz1l2PO8> zK&hnUP*0zISD?%h(--3yQVkP#SA-(y9{lkB==-8|HCK@;Wp(_x+Z2o~Qf@2&at(yh z&*v}>J1KFX@%f0Xik>G}MrAU6;*ppdb|gD0Ox1yvbkADT1A&!s>)FCxLq>R^Q`Cw< z8ZH9RuI%-J-d_j01!Y8=CaU*$^8R(WJxyub^59eRE6eOC`#J9m#a@L)41h^u$W4YE*9brs+0ZaS6RX(Y==`^fd!7 zqE6y@y~gfKvpsdiq#ME97z3fr2e&}3d}C(QLle!t_ttt z5DpJ?YAz*?E zceS^#Hx`HSa^U?~pZv4>tVUM_Xkh9NG&=%f9i^)cxBq$#nM0r5krp099mX(7OhESf zG~G{bbiwvWxC=Xc+Tlp=!&d<5QBfPF?2QTYrr91Ml}%` z?@>X4Txi4ciQS>W3S51+)aTo(vJ_5?qAzVY3U=X&D@e9_;;P<6zM zlV5(SFA~$@T{Bg0%3Rm0*2_jmmGh_m>Cr3ezlikc=Xu@_xu4zW(Q7tGe>5aUGS4+R zC$A|r%9!5$8~63D{a}qa`H{VUW7UUrJ|QK2%4CL^qAYv$#6WSSN8L7!T(cu%)f_)dbn%)5g0p^lhK! zFUUw1jHD_lO7g4XU?wVP^`?KQOz8S3yck#2m;9GMJ^q=)5TL)Hp$}&`nw1+j<;K@H z;+#O$uM6PUx!*3~937RHEY!RHi0{S^N0N=`uXOSG(9H^-l@MJArluPe{*+Rj{QmPa zHFwu|<9A&(J$GKa@$6Mm3V7*--$#?jq!1K0>+-Ik6-UW$pp9+KMUOk(c6Fw+rd@23 zcCKviE(7RnPj?g9iv*IU0ZwJH1KQvx=0Da9CLl^e0+C(YC^}^MQhRq`Sdvo!upAv@ zDXdgRAzkR6J|HbM6%-mp80+LzN?)PFzZ^&fMaqnSFCfROvM%{$HwvlPRD}apB@}`D0y4{*g&k?(OkZCRql$m{dN)w6W z2kW+H*OP)7fu@Emxv4(T^$7@U2cQ&6W(NTM)fUJ~Tz@C#sm3vx;dv1;x;efh+M+p7S4pv!=XEBce3oonchz;w zacXd^e_NRke!r&W0if9+=Z#ZH6a_Uu(9rs#t6>*C(M-*KUV+ruzo5wR*fUn^ZP+Fb z?CRkr4~@PwEW0E>p#bcs(~T;UxrufCEyEGG7myM7mB%gu8>Cg3ZXCMbR%A4V5 z_S0>mblK<`ae0C`)?C`q9U(SER{bDxd|;7Zn(C1*XqDb}q*HmTza-I9qHZlo`kYhV z+A6*KbLO*m=?Rw7wu-|My0>PJM)=*KA;#vm#E8y;NbUcTdptSH2vN906qaaw{hirU z{uk~0_n(Luj)Xrzx1?2A)G92t)n0T+Tnsr>XCh*7C8cd%>yOt=!!P>8(Fll1+q)q` z6nIa=3h}x*{F@uUc++A}*u8(pvEEI7C&&cmR;13!R4EnKhIs3XUtMqcY&S_f$9i%+ zd)LO|rq^Tl-g(iA#}|7wl|HX`>BYv1&98u$JTJbialkPw_aY9Q-icW@?Uv1cCwWh= z>GKT*cU-v6s5hJ%zBPDwc48x0lkN42&7t6XN~Id=9hm90b%^dy9SAEg`d2 zj{J=_>%~?(+- zJLnSUX^>(A?vuQx@}4%kB%>;*M!pw@IK}Tm)HP2|Y{)JSUk8N6CHh2!QrWY&Pon!7 z%1!kjj0Os3RB$5z%(MGa+9q7+{5S)$LWS?8uw@ zU-P~c3ctG`{O;{|*Uwn14p5T@*baU<_bxaJXc6NtHsjsE5&ORV_CW@nm%*lgjghH; zDis;4`a11levGPIn!)H^1m`gKgOt4v(U}DPjCL3{WiLe0`efP7E@}D(g__rN z_bKpVN4D8UR6{2t?KDSR+^>NTGV{vu+00W8D=(_?ugm#F_%0Z_F*uW?9^`^GMGv%gAuNz z>P$!8V|3BMMG8G(q&)7!8sDNR zug&7Ps&DD8aAdOF``rfk2D3~o78K9DXXO4_l9V6OEjSFmEis-t?zmGh6hw7rmChe3 zXv{-q?BxW4`|u#AIe?RjH(%joK=?QSm3Y=jJeks=f)yE2Hwt*~Qn(_Vg5GsCrq3y4 zLoO}%NL)!yA!|iO0jknhScQdoY_yTomosAb<|>Sg3d1rUk^o7|m`PU)Mj?AedQ=@L z(KO;UC?IpI^Co6P4(?#Yq#nt7Y)_kq1a;Fl_~`YUhdMFHMN$PQ!TG+U^#1+I1<>&rZ_-78^cecacE_nix4Va#G@Ovb>6H#9 zUd%eijy())WmYKAw}3vNS-wFZ0b*sR4qr;x9XqaDI?lTIcj1{0X%7c@?0!M77Se_BYkr6|-- z(;}l#>uD4NJy8yYd?QX_zLSX?xc7;i|>NKmNVhYLprId7uEI5x|tB{>9sRf;ohe%19`_)H0#mf&2q0MsclnAivG zCECpNUwFnkZ0}#NGSc0Nk#%l&?SS3(-i5&m+oQ7+K*oefWulD?obR+~Qgk0Ctum>D z++2$>eLbYFXxMv;B7bCgnuD;F`*2Dw%H?O4jr@=9bsY~?CpG4YX~{JYLOa>ym5XVb z20fCNMh;d$`gx6(na=UFl+lV4;rw#RW)$@Z`I~e%mx6Uws&&zdw&hf71?oK4OJO$sZ!iBm8j0R#4@+>drj=P#LB2M zz2wehumYMPdd>>Tte^q!*)lBSOwwqDrt$=RNm}L&#+WgH8}qLFN}j?hW%>RB5WS6AbgSKz@@5bf5EJs8EJP@Eu4^RayjV&-b7YGFv z5$B{a8@nrJjbUJ3^XzFx-Y6i8+w4D7v%gY365ZF?yf*OuJCDhfw`MN6Un`1RI@)Gh z5Y2gVX#6o*nd2$h!Kh8Rd(cratvPL?OK5+mq@w1f6pLx2SgPtZ)#g~lZulm>h8T-X zTxO-?eCajKLUvJh}zvbHOX->)dfeVSP%du&waK#5*BC-Pmdd804Vvw~XK*7bIXnrS)NH|<vu~)5yngy&YElTC51hMg*?0;yqY4}jwErk`S01mS z%I=%2NNJ0idb6Ss_^^e2RUdtMzq~bpn%UC&Q);25Fm!&~Y>H!H{lXK)2SelYDdN6C z@e3#g@wCSNS-@m*dd9^#Jozu_(;H>gZ#J!3myn&SU)ugewyq}^hAQ0n!I!F!72@qb zl_Nl^lPRxY?DpCkHifMdVteXi>In*d)Ka4mS0^OYtm?^&$<69asW%FV`JJtTs!mX| z?yvLwa;rOJ6(SqCFxUF`)&l%+GJ}Lf=os^qrt4u^FYEY<6;kyH2bDyIr+dblA*S_9 zS>g7e#*7r_W6k>Yw)?OI@hNzpc~2UxD1aK+th?8YyzN?|%6N5auryrCWGf@3 zy0G_-nY<^tyA9DNG4<~HKuQ~GsS~nWg{+|2?A{$fGRQh63t#FWNOm8U*O>iow-v%iSg4$* zIZ!j8R0oGHG{nm(g(;_&!1)9dW~(b^x2bBn;aVEq-7;kOjeO9sJo_%9vZ`U=J-lzg z?iDYX){01f+Z82IN+%Y9YsrA`HcybO@nk5vyUl7 zNrUF{2^nrlB2L~)LC;rx@cz*#Vm{IRmzg{c8b(`EeEkRd9YcoKS`Z3Ac_OHz5pI%R zYZ~xc3kOGA_M{y5D<#uP>ec5}{v+RDJ@{*=l&OV2a!jS%2UN8OrjeJ0XFxK*8{22i zDmdRHP!OHP9A8AWZ9U^)@{i}_%L)uG15EI6pUdlu6S2D+CI#gJ0u?FMxh~*dajaao z#B7rie>#u*@VFbdnou9!HdiwahJRhl%V?+D-YQ2f=YLw|3?I3)ACp{e<=*GH*F(y&>{VyS-T>~pKw3Pv#NldBit$d(Vy;6~F zspb$kW-$-7OzLpxIjGS1O7HT1##eojgEx342|kaURbY7`4X-v1Xf1&hM@nUi1vYt< zpUeUf0zj}e2cRii1(@HWc!BYL%&W^H@bfr>sQqS~`Wh}(6)M7qs^INrhhb=hXVU7J zOeDiVE1O42O+vV&Zv7?K$nN=hwUz+dOR3aa#PYU4SzAek=r7-@j_mCeW0X5TQ54@y;irqX>~tW(^)NB8Cjja zQeVB)k+4ZecRhzL)-j3bBbiiikHBh+0Mm%1vQ2d<7ErojP|~=?#nlOnW1z9+e@?E( zXBE;wQ{6v!bvBvUn-nO!RFyq9uQu8YiZ>d_03YO;ba;MS0x?!?rC4LBt|%)iWgd~L zKZQic+u@n^)?BhOv{lI4ouozI`!T`x9szMUiQNi^t~-OAmGWJ8F3+NiJ1OmtJN&-pFct7>1-;+WVS%GoDtIn4 z!A{JIsGxTAYenvOmjqh1o5oyY6PVLpy*2Xe`k2b%@(?x3IAfOflJhU8_#}iHOVy=! zeQcx19XMLR-%WKyLVUX%TCf}-C^3Xat{VRG_Lxe-`*YGm<6Fr< zwgh+aRqd$|#|{itn~k_sNE>^l8B461!}@l$kScF1C>=EKn{vlCz^gBiwR2-Fc@x1? z@-R<%j}o5h1W&axjFm~RW3=Cwk->~hu1<)(-Sd|~U(~jVwMGAb5;Dw9psj0ZLl&)A zOT;6_>O#k~WK>%))NG4`NvZs{i*o`Uy(DWsJizU|`it-NQx|io>WjI4>JE{9GLYr1 zOy-S#PTm|5#G5Vkl8gC&>u6Y%la7Yv_``D@O}r^aYpmZ&QEfUf4q(i*GEwMXHCJ*| zSm|(x3)7Yr($J>u8NRA8snIZ1?{vHS2MB5;BM<)W3huFOze8px*udqKM?v|EDG#jB z;J1l3=mX!aaqm|jRW+TSn~#@yD}xOsy|Ln^P;(e+EM>)|oliwSBHer)?2UqR+lOx6 zrRq+rkarF~PwQb9>vdPy9df7J-Y*cr2J!Z-Xd9vxEg^^D22Xbqo(>lLJ5LAm|DC6U z`nj`3cv*s{os5(Shi}()@J{ng=XdKmxb%On>tH$&55N3h>-vAn2ZMQr`K}&Y&i|~( zrX})W>;I}JEGKVn4>KQC?LQwTq0P-dLQaqq{XpVQ=l7Pdf|g}6Sb=4U{6{ys;>crdTY%_sZadZxwxFiYexZGBiJ~;JB%@ScqITT1 z9EYgLZyW}!W9;4j2;_m@ca-?wV3rgxo6Ev7*n3;Jo&BU82(dv9o4f56WbDEzkoX6U zNpe=f8m7%^c_p_YU)DNiDnR~%Nwy#|l{i@HYUc*U;QRb7)> z6%4Onjfyn5k}aC@yD6fMTyz?_7mNz6l^ZIk$bXXOd^tw#2OpQfUa)PjMRTB4(DB@$ zS0P8{9z{B@&>0mO3Y>nbD~#^1R=gyGufSr7LA~UBiFk7JN-

!E%yeRNUclhw}0wm5Mbe-}MLTq09ci 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∋5{@%Qx!dDFij5dUy98{*^%n890At9C*9 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 literal 0 HcmV?d00001 diff --git a/firmware/cyd/flash.bat b/firmware/cyd/flash.bat new file mode 100644 index 0000000..bf983b3 --- /dev/null +++ b/firmware/cyd/flash.bat @@ -0,0 +1,5 @@ +@echo off +setlocal +cd /d "%~dp0" +powershell -NoProfile -ExecutionPolicy Bypass -File "%~dp0flash.ps1" %* +exit /b %ERRORLEVEL% diff --git a/firmware/cyd/flash.ps1 b/firmware/cyd/flash.ps1 new file mode 100644 index 0000000..c80479b --- /dev/null +++ b/firmware/cyd/flash.ps1 @@ -0,0 +1,98 @@ +# Flash archived CYD TF+Speaker firmware (no rebuild needed) +# Usage: +# .\flash.ps1 +# .\flash.ps1 -Port COM5 +# .\flash.ps1 -Port COM5 -Baud 460800 + +param( + [string]$Port = "", + [int]$Baud = 921600 +) + +$ErrorActionPreference = "Stop" +$here = Split-Path -Parent $MyInvocation.MyCommand.Path +Set-Location $here + +function Find-Esptool { + $pio = Get-Command pio -ErrorAction SilentlyContinue + if (-not $pio) { + $pioPath = Join-Path $env:USERPROFILE "AppData\Local\Programs\Python\Python312\Scripts\pio.exe" + if (Test-Path $pioPath) { + $env:Path = "$(Split-Path $pioPath);$env:Path" + $pio = Get-Command pio -ErrorAction SilentlyContinue + } + } + if ($pio) { + $pkg = Join-Path $env:USERPROFILE ".platformio\packages\tool-esptoolpy\esptool.py" + if (Test-Path $pkg) { return @{ Kind = "py"; Path = $pkg } } + } + $py = Get-Command python -ErrorAction SilentlyContinue + if ($py) { + try { + & python -c "import esptool" 2>$null + if ($LASTEXITCODE -eq 0) { return @{ Kind = "mod"; Path = "esptool" } } + } catch {} + } + $esp = Get-Command esptool.py -ErrorAction SilentlyContinue + if ($esp) { return @{ Kind = "py"; Path = $esp.Source } } + return $null +} + +if (-not $Port) { + $ports = @() + try { + Add-Type -AssemblyName System.IO.Ports -ErrorAction SilentlyContinue | Out-Null + $ports = [System.IO.Ports.SerialPort]::GetPortNames() | Sort-Object + } catch {} + if (-not $ports -or $ports.Count -eq 0) { + $ports = Get-CimInstance Win32_SerialPort -ErrorAction SilentlyContinue | + Select-Object -ExpandProperty DeviceID | Sort-Object + } + if (-not $ports -or $ports.Count -eq 0) { + Write-Error "No serial ports found. Plug in the CYD USB cable, then retry with -Port COMx" + } + if ($ports.Count -eq 1) { + $Port = $ports[0] + } else { + Write-Host "Available ports: $($ports -join ', ')" + $Port = $ports[-1] + Write-Host "Using last port: $Port (override with -Port)" + } +} + +$tool = Find-Esptool +if (-not $tool) { + Write-Error "esptool not found. Install PlatformIO (`pio`) or: pip install esptool" +} + +$needed = @("bootloader.bin", "partitions.bin", "boot_app0.bin", "firmware.bin") +foreach ($f in $needed) { + if (-not (Test-Path (Join-Path $here $f))) { + Write-Error "Missing $f — run ..\export_from_build.ps1 from repo root first" + } +} + +$argsCommon = @( + "--chip", "esp32", + "--port", $Port, + "--baud", "$Baud", + "--before", "default_reset", + "--after", "hard_reset", + "write_flash", "-z", + "--flash_mode", "dio", + "--flash_freq", "40m", + "--flash_size", "4MB", + "0x1000", "bootloader.bin", + "0x8000", "partitions.bin", + "0xe000", "boot_app0.bin", + "0x10000", "firmware.bin" +) + +Write-Host "Flashing $here -> $Port @ $Baud" +if ($tool.Kind -eq "mod") { + & python -m esptool @argsCommon +} else { + & python $tool.Path @argsCommon +} +if ($LASTEXITCODE -ne 0) { exit $LASTEXITCODE } +Write-Host "Done. Open serial monitor at 115200 if needed." diff --git a/firmware/cyd/partitions.bin b/firmware/cyd/partitions.bin new file mode 100644 index 0000000000000000000000000000000000000000..2108af95027991013a6102b0f11b62794cd18306 GIT binary patch literal 3072 zcmZ1#z{tcffq{V`fPo>etQg2Z1*-xW85kY_#S|DA@=Fp^5=#cs$mde zNGvEYK#>G;fbxP245Bc3Lri(bCI$vgps*N2aY1HU8k!S;_A@gu*aPJm8ItphQd3HE z3y{rt{rW!&n6A4{|3}dR5#5Ac7gY|VWur)raz;a7Gz3ONU^E0qLtr!nMnhmU1V%$( HgogkCc&9@F literal 0 HcmV?d00001 diff --git a/firmware/export_from_build.ps1 b/firmware/export_from_build.ps1 new file mode 100644 index 0000000..6a233a8 --- /dev/null +++ b/firmware/export_from_build.ps1 @@ -0,0 +1,58 @@ +# Rebuild (optional) and refresh firmware/cyd from PlatformIO build output. +# Usage: +# .\firmware\export_from_build.ps1 +# .\firmware\export_from_build.ps1 -SkipBuild + +param([switch]$SkipBuild) + +$ErrorActionPreference = "Stop" +$root = Split-Path -Parent (Split-Path -Parent $MyInvocation.MyCommand.Path) +Set-Location $root + +$env:Path = "C:\Users\dsx2016\AppData\Local\Programs\Python\Python312\Scripts;" + $env:Path + +if (-not $SkipBuild) { + pio run -e cyd + if ($LASTEXITCODE -ne 0) { exit $LASTEXITCODE } +} + +$src = Join-Path $root ".pio\build\cyd" +$dst = Join-Path $root "firmware\cyd" +New-Item -ItemType Directory -Force -Path $dst | Out-Null + +foreach ($f in @("bootloader.bin", "partitions.bin", "firmware.bin")) { + $p = Join-Path $src $f + if (-not (Test-Path $p)) { Write-Error "Missing build artifact: $p" } + Copy-Item $p $dst -Force +} + +$bootApp = Join-Path $env:USERPROFILE ".platformio\packages\framework-arduinoespressif32\tools\partitions\boot_app0.bin" +if (-not (Test-Path $bootApp)) { + Write-Error "boot_app0.bin not found under PlatformIO packages" +} +Copy-Item $bootApp (Join-Path $dst "boot_app0.bin") -Force + +# Keep flash scripts if already present +$git = "" +try { $git = (git -C $root rev-parse --short HEAD).Trim() } catch { $git = "unknown" } +$date = Get-Date -Format "yyyy-MM-dd" +$hashes = Get-ChildItem (Join-Path $dst "*.bin") | Get-FileHash -Algorithm SHA256 +$lines = @( + "name: CYD Photo album (cyd)", + "git: $git", + "date: $date", + "board: ESP32-2432S028R (ILI9341)", + "features: jpg/png/gif album, SoftSPI touch, TF card", + "flash_size: 4MB", + "offsets:", + " 0x1000 bootloader.bin", + " 0x8000 partitions.bin", + " 0xe000 boot_app0.bin", + " 0x10000 firmware.bin", + "sha256:" +) +foreach ($h in $hashes) { + $lines += (" {0,-15} {1}" -f (Split-Path $h.Path -Leaf), $h.Hash) +} +$lines | Set-Content -Encoding utf8 (Join-Path $dst "VERSION.txt") +Write-Host "Exported -> $dst (git $git)" diff --git a/include/lv_conf.h b/include/lv_conf.h new file mode 100644 index 0000000..94de0de --- /dev/null +++ b/include/lv_conf.h @@ -0,0 +1,1127 @@ +/** + * @file lv_conf.h + * Configuration file for v9.2.2 + */ + +/* + * Copy this file as `lv_conf.h` + * 1. simply next to the `lvgl` folder + * 2. or any other places and + * - define `LV_CONF_INCLUDE_SIMPLE` + * - add the path as include path + */ + +/* clang-format off */ +#if 1 /*Set it to "1" to enable content*/ + +#ifndef LV_CONF_H +#define LV_CONF_H + +/*If you need to include anything here, do it inside the `__ASSEMBLY__` guard */ +#if 0 && defined(__ASSEMBLY__) +#include "my_include.h" +#endif + +/*==================== + COLOR SETTINGS + *====================*/ + +/*Color depth: 1 (I1), 8 (L8), 16 (RGB565), 24 (RGB888), 32 (XRGB8888)*/ +#define LV_COLOR_DEPTH 16 + +/*========================= + STDLIB WRAPPER SETTINGS + *=========================*/ + +/* Possible values + * - LV_STDLIB_BUILTIN: LVGL's built in implementation + * - LV_STDLIB_CLIB: Standard C functions, like malloc, strlen, etc + * - LV_STDLIB_MICROPYTHON: MicroPython implementation + * - LV_STDLIB_RTTHREAD: RT-Thread implementation + * - LV_STDLIB_CUSTOM: Implement the functions externally + */ +#define LV_USE_STDLIB_MALLOC LV_STDLIB_BUILTIN +#define LV_USE_STDLIB_STRING LV_STDLIB_BUILTIN +#define LV_USE_STDLIB_SPRINTF LV_STDLIB_BUILTIN + +#define LV_STDINT_INCLUDE +#define LV_STDDEF_INCLUDE +#define LV_STDBOOL_INCLUDE +#define LV_INTTYPES_INCLUDE +#define LV_LIMITS_INCLUDE +#define LV_STDARG_INCLUDE + +#if LV_USE_STDLIB_MALLOC == LV_STDLIB_BUILTIN + /*Size of the memory available for `lv_malloc()` in bytes (>= 2kB)*/ + #define LV_MEM_SIZE (64 * 1024U) /*[bytes]*/ + + /*Size of the memory expand for `lv_malloc()` in bytes*/ + #define LV_MEM_POOL_EXPAND_SIZE 0 + + /*Set an address for the memory pool instead of allocating it as a normal array. Can be in external SRAM too.*/ + #define LV_MEM_ADR 0 /*0: unused*/ + /*Instead of an address give a memory allocator that will be called to get a memory pool for LVGL. E.g. my_malloc*/ + #if LV_MEM_ADR == 0 + #undef LV_MEM_POOL_INCLUDE + #undef LV_MEM_POOL_ALLOC + #endif +#endif /*LV_USE_STDLIB_MALLOC == LV_STDLIB_BUILTIN*/ + +/*==================== + HAL SETTINGS + *====================*/ + +/*Default display refresh, input device read and animation step period.*/ +#define LV_DEF_REFR_PERIOD 33 /*[ms]*/ + +/*Default Dot Per Inch. Used to initialize default sizes such as widgets sized, style paddings. + *(Not so important, you can adjust it to modify default sizes and spaces)*/ +#define LV_DPI_DEF 130 /*[px/inch]*/ + +/*================= + * OPERATING SYSTEM + *=================*/ +/*Select an operating system to use. Possible options: + * - LV_OS_NONE + * - LV_OS_PTHREAD + * - LV_OS_FREERTOS + * - LV_OS_CMSIS_RTOS2 + * - LV_OS_RTTHREAD + * - LV_OS_WINDOWS + * - LV_OS_MQX + * - LV_OS_CUSTOM */ +#define LV_USE_OS LV_OS_NONE + +#if LV_USE_OS == LV_OS_CUSTOM + #define LV_OS_CUSTOM_INCLUDE +#endif +#if LV_USE_OS == LV_OS_FREERTOS + /* + * Unblocking an RTOS task with a direct notification is 45% faster and uses less RAM + * than unblocking a task using an intermediary object such as a binary semaphore. + * RTOS task notifications can only be used when there is only one task that can be the recipient of the event. + */ + #define LV_USE_FREERTOS_TASK_NOTIFY 1 +#endif + +/*======================== + * RENDERING CONFIGURATION + *========================*/ + +/*Align the stride of all layers and images to this bytes*/ +#define LV_DRAW_BUF_STRIDE_ALIGN 1 + +/*Align the start address of draw_buf addresses to this bytes*/ +#define LV_DRAW_BUF_ALIGN 4 + +/*Using matrix for transformations. + *Requirements: + `LV_USE_MATRIX = 1`. + The rendering engine needs to support 3x3 matrix transformations.*/ +#define LV_DRAW_TRANSFORM_USE_MATRIX 0 + +/* If a widget has `style_opa < 255` (not `bg_opa`, `text_opa` etc) or not NORMAL blend mode + * it is buffered into a "simple" layer before rendering. The widget can be buffered in smaller chunks. + * "Transformed layers" (if `transform_angle/zoom` are set) use larger buffers + * and can't be drawn in chunks. */ + +/*The target buffer size for simple layer chunks.*/ +#define LV_DRAW_LAYER_SIMPLE_BUF_SIZE (24 * 1024) /*[bytes]*/ + +/* The stack size of the drawing thread. + * NOTE: If FreeType or ThorVG is enabled, it is recommended to set it to 32KB or more. + */ +#define LV_DRAW_THREAD_STACK_SIZE (8 * 1024) /*[bytes]*/ + +#define LV_USE_DRAW_SW 1 +#if LV_USE_DRAW_SW == 1 + + /* + * Selectively disable color format support in order to reduce code size. + * NOTE: some features use certain color formats internally, e.g. + * - gradients use RGB888 + * - bitmaps with transparency may use ARGB8888 + */ + + #define LV_DRAW_SW_SUPPORT_RGB565 1 + #define LV_DRAW_SW_SUPPORT_RGB565A8 1 + #define LV_DRAW_SW_SUPPORT_RGB888 1 + #define LV_DRAW_SW_SUPPORT_XRGB8888 1 + #define LV_DRAW_SW_SUPPORT_ARGB8888 1 + #define LV_DRAW_SW_SUPPORT_L8 1 + #define LV_DRAW_SW_SUPPORT_AL88 1 + #define LV_DRAW_SW_SUPPORT_A8 1 + #define LV_DRAW_SW_SUPPORT_I1 1 + + /* Set the number of draw unit. + * > 1 requires an operating system enabled in `LV_USE_OS` + * > 1 means multiple threads will render the screen in parallel */ + #define LV_DRAW_SW_DRAW_UNIT_CNT 1 + + /* Use Arm-2D to accelerate the sw render */ + #define LV_USE_DRAW_ARM2D_SYNC 0 + + /* Enable native helium assembly to be compiled */ + #define LV_USE_NATIVE_HELIUM_ASM 0 + + /* 0: use a simple renderer capable of drawing only simple rectangles with gradient, images, texts, and straight lines only + * 1: use a complex renderer capable of drawing rounded corners, shadow, skew lines, and arcs too */ + #define LV_DRAW_SW_COMPLEX 1 + + #if LV_DRAW_SW_COMPLEX == 1 + /*Allow buffering some shadow calculation. + *LV_DRAW_SW_SHADOW_CACHE_SIZE is the max. shadow size to buffer, where shadow size is `shadow_width + radius` + *Caching has LV_DRAW_SW_SHADOW_CACHE_SIZE^2 RAM cost*/ + #define LV_DRAW_SW_SHADOW_CACHE_SIZE 0 + + /* Set number of maximally cached circle data. + * The circumference of 1/4 circle are saved for anti-aliasing + * radius * 4 bytes are used per circle (the most often used radiuses are saved) + * 0: to disable caching */ + #define LV_DRAW_SW_CIRCLE_CACHE_SIZE 4 + #endif + + #define LV_USE_DRAW_SW_ASM LV_DRAW_SW_ASM_NONE + + #if LV_USE_DRAW_SW_ASM == LV_DRAW_SW_ASM_CUSTOM + #define LV_DRAW_SW_ASM_CUSTOM_INCLUDE "" + #endif + + /* Enable drawing complex gradients in software: linear at an angle, radial or conical */ + #define LV_USE_DRAW_SW_COMPLEX_GRADIENTS 0 +#endif + +/* Use NXP's VG-Lite GPU on iMX RTxxx platforms. */ +#define LV_USE_DRAW_VGLITE 0 + +#if LV_USE_DRAW_VGLITE + /* Enable blit quality degradation workaround recommended for screen's dimension > 352 pixels. */ + #define LV_USE_VGLITE_BLIT_SPLIT 0 + + #if LV_USE_OS + /* Use additional draw thread for VG-Lite processing.*/ + #define LV_USE_VGLITE_DRAW_THREAD 1 + + #if LV_USE_VGLITE_DRAW_THREAD + /* Enable VGLite draw async. Queue multiple tasks and flash them once to the GPU. */ + #define LV_USE_VGLITE_DRAW_ASYNC 1 + #endif + #endif + + /* Enable VGLite asserts. */ + #define LV_USE_VGLITE_ASSERT 0 +#endif + +/* Use NXP's PXP on iMX RTxxx platforms. */ +#define LV_USE_PXP 0 + +#if LV_USE_PXP + /* Use PXP for drawing.*/ + #define LV_USE_DRAW_PXP 1 + + /* Use PXP to rotate display.*/ + #define LV_USE_ROTATE_PXP 0 + + #if LV_USE_DRAW_PXP && LV_USE_OS + /* Use additional draw thread for PXP processing.*/ + #define LV_USE_PXP_DRAW_THREAD 1 + #endif + + /* Enable PXP asserts. */ + #define LV_USE_PXP_ASSERT 0 +#endif + +/* Use Renesas Dave2D on RA platforms. */ +#define LV_USE_DRAW_DAVE2D 0 + +/* Draw using cached SDL textures*/ +#define LV_USE_DRAW_SDL 0 + +/* Use VG-Lite GPU. */ +#define LV_USE_DRAW_VG_LITE 0 + +#if LV_USE_DRAW_VG_LITE + /* Enable VG-Lite custom external 'gpu_init()' function */ + #define LV_VG_LITE_USE_GPU_INIT 0 + + /* Enable VG-Lite assert. */ + #define LV_VG_LITE_USE_ASSERT 0 + + /* VG-Lite flush commit trigger threshold. GPU will try to batch these many draw tasks. */ + #define LV_VG_LITE_FLUSH_MAX_COUNT 8 + + /* Enable border to simulate shadow + * NOTE: which usually improves performance, + * but does not guarantee the same rendering quality as the software. */ + #define LV_VG_LITE_USE_BOX_SHADOW 0 + + /* VG-Lite gradient maximum cache number. + * NOTE: The memory usage of a single gradient image is 4K bytes. + */ + #define LV_VG_LITE_GRAD_CACHE_CNT 32 + + /* VG-Lite stroke maximum cache number. + */ + #define LV_VG_LITE_STROKE_CACHE_CNT 32 + +#endif + +/*======================= + * FEATURE CONFIGURATION + *=======================*/ + +/*------------- + * Logging + *-----------*/ + +/*Enable the log module*/ +#define LV_USE_LOG 0 +#if LV_USE_LOG + + /*How important log should be added: + *LV_LOG_LEVEL_TRACE A lot of logs to give detailed information + *LV_LOG_LEVEL_INFO Log important events + *LV_LOG_LEVEL_WARN Log if something unwanted happened but didn't cause a problem + *LV_LOG_LEVEL_ERROR Only critical issue, when the system may fail + *LV_LOG_LEVEL_USER Only logs added by the user + *LV_LOG_LEVEL_NONE Do not log anything*/ + #define LV_LOG_LEVEL LV_LOG_LEVEL_WARN + + /*1: Print the log with 'printf'; + *0: User need to register a callback with `lv_log_register_print_cb()`*/ + #define LV_LOG_PRINTF 0 + + /*Set callback to print the logs. + *E.g `my_print`. The prototype should be `void my_print(lv_log_level_t level, const char * buf)` + *Can be overwritten by `lv_log_register_print_cb`*/ + //#define LV_LOG_PRINT_CB + + /*1: Enable print timestamp; + *0: Disable print timestamp*/ + #define LV_LOG_USE_TIMESTAMP 1 + + /*1: Print file and line number of the log; + *0: Do not print file and line number of the log*/ + #define LV_LOG_USE_FILE_LINE 1 + + + /*Enable/disable LV_LOG_TRACE in modules that produces a huge number of logs*/ + #define LV_LOG_TRACE_MEM 1 + #define LV_LOG_TRACE_TIMER 1 + #define LV_LOG_TRACE_INDEV 1 + #define LV_LOG_TRACE_DISP_REFR 1 + #define LV_LOG_TRACE_EVENT 1 + #define LV_LOG_TRACE_OBJ_CREATE 1 + #define LV_LOG_TRACE_LAYOUT 1 + #define LV_LOG_TRACE_ANIM 1 + #define LV_LOG_TRACE_CACHE 1 + +#endif /*LV_USE_LOG*/ + +/*------------- + * Asserts + *-----------*/ + +/*Enable asserts if an operation is failed or an invalid data is found. + *If LV_USE_LOG is enabled an error message will be printed on failure*/ +#define LV_USE_ASSERT_NULL 1 /*Check if the parameter is NULL. (Very fast, recommended)*/ +#define LV_USE_ASSERT_MALLOC 1 /*Checks is the memory is successfully allocated or no. (Very fast, recommended)*/ +#define LV_USE_ASSERT_STYLE 0 /*Check if the styles are properly initialized. (Very fast, recommended)*/ +#define LV_USE_ASSERT_MEM_INTEGRITY 0 /*Check the integrity of `lv_mem` after critical operations. (Slow)*/ +#define LV_USE_ASSERT_OBJ 0 /*Check the object's type and existence (e.g. not deleted). (Slow)*/ + +/*Add a custom handler when assert happens e.g. to restart the MCU*/ +#define LV_ASSERT_HANDLER_INCLUDE +#define LV_ASSERT_HANDLER while(1); /*Halt by default*/ + +/*------------- + * Debug + *-----------*/ + +/*1: Draw random colored rectangles over the redrawn areas*/ +#define LV_USE_REFR_DEBUG 0 + +/*1: Draw a red overlay for ARGB layers and a green overlay for RGB layers*/ +#define LV_USE_LAYER_DEBUG 0 + +/*1: Draw overlays with different colors for each draw_unit's tasks. + *Also add the index number of the draw unit on white background. + *For layers add the index number of the draw unit on black background.*/ +#define LV_USE_PARALLEL_DRAW_DEBUG 0 + +/*------------- + * Others + *-----------*/ + +#define LV_ENABLE_GLOBAL_CUSTOM 0 +#if LV_ENABLE_GLOBAL_CUSTOM + /*Header to include for the custom 'lv_global' function"*/ + #define LV_GLOBAL_CUSTOM_INCLUDE +#endif + +/*Default cache size in bytes. + *Used by image decoders such as `lv_lodepng` to keep the decoded image in the memory. + *If size is not set to 0, the decoder will fail to decode when the cache is full. + *If size is 0, the cache function is not enabled and the decoded mem will be released immediately after use.*/ +#define LV_CACHE_DEF_SIZE 0 + +/*Default number of image header cache entries. The cache is used to store the headers of images + *The main logic is like `LV_CACHE_DEF_SIZE` but for image headers.*/ +#define LV_IMAGE_HEADER_CACHE_DEF_CNT 0 + +/*Number of stops allowed per gradient. Increase this to allow more stops. + *This adds (sizeof(lv_color_t) + 1) bytes per additional stop*/ +#define LV_GRADIENT_MAX_STOPS 2 + +/* Adjust color mix functions rounding. GPUs might calculate color mix (blending) differently. + * 0: round down, 64: round up from x.75, 128: round up from half, 192: round up from x.25, 254: round up */ +#define LV_COLOR_MIX_ROUND_OFS 0 + +/* Add 2 x 32 bit variables to each lv_obj_t to speed up getting style properties */ +#define LV_OBJ_STYLE_CACHE 0 + +/* Add `id` field to `lv_obj_t` */ +#define LV_USE_OBJ_ID 0 + +/* Automatically assign an ID when obj is created */ +#define LV_OBJ_ID_AUTO_ASSIGN LV_USE_OBJ_ID + +/*Use the builtin obj ID handler functions: +* - lv_obj_assign_id: Called when a widget is created. Use a separate counter for each widget class as an ID. +* - lv_obj_id_compare: Compare the ID to decide if it matches with a requested value. +* - lv_obj_stringify_id: Return e.g. "button3" +* - lv_obj_free_id: Does nothing, as there is no memory allocation for the ID. +* When disabled these functions needs to be implemented by the user.*/ +#define LV_USE_OBJ_ID_BUILTIN 1 + +/*Use obj property set/get API*/ +#define LV_USE_OBJ_PROPERTY 0 + +/*Enable property name support*/ +#define LV_USE_OBJ_PROPERTY_NAME 1 + +/* VG-Lite Simulator */ +/*Requires: LV_USE_THORVG_INTERNAL or LV_USE_THORVG_EXTERNAL */ +#define LV_USE_VG_LITE_THORVG 0 + +#if LV_USE_VG_LITE_THORVG + + /*Enable LVGL's blend mode support*/ + #define LV_VG_LITE_THORVG_LVGL_BLEND_SUPPORT 0 + + /*Enable YUV color format support*/ + #define LV_VG_LITE_THORVG_YUV_SUPPORT 0 + + /*Enable Linear gradient extension support*/ + #define LV_VG_LITE_THORVG_LINEAR_GRADIENT_EXT_SUPPORT 0 + + /*Enable 16 pixels alignment*/ + #define LV_VG_LITE_THORVG_16PIXELS_ALIGN 1 + + /*Buffer address alignment*/ + #define LV_VG_LITE_THORVG_BUF_ADDR_ALIGN 64 + + /*Enable multi-thread render*/ + #define LV_VG_LITE_THORVG_THREAD_RENDER 0 + +#endif + +/*===================== + * COMPILER SETTINGS + *====================*/ + +/*For big endian systems set to 1*/ +#define LV_BIG_ENDIAN_SYSTEM 0 + +/*Define a custom attribute to `lv_tick_inc` function*/ +#define LV_ATTRIBUTE_TICK_INC + +/*Define a custom attribute to `lv_timer_handler` function*/ +#define LV_ATTRIBUTE_TIMER_HANDLER + +/*Define a custom attribute to `lv_display_flush_ready` function*/ +#define LV_ATTRIBUTE_FLUSH_READY + +/*Required alignment size for buffers*/ +#define LV_ATTRIBUTE_MEM_ALIGN_SIZE 1 + +/*Will be added where memories needs to be aligned (with -Os data might not be aligned to boundary by default). + * E.g. __attribute__((aligned(4)))*/ +#define LV_ATTRIBUTE_MEM_ALIGN + +/*Attribute to mark large constant arrays for example font's bitmaps*/ +#define LV_ATTRIBUTE_LARGE_CONST + +/*Compiler prefix for a big array declaration in RAM*/ +#define LV_ATTRIBUTE_LARGE_RAM_ARRAY + +/*Place performance critical functions into a faster memory (e.g RAM)*/ +#define LV_ATTRIBUTE_FAST_MEM + +/*Export integer constant to binding. This macro is used with constants in the form of LV_ that + *should also appear on LVGL binding API such as MicroPython.*/ +#define LV_EXPORT_CONST_INT(int_value) struct _silence_gcc_warning /*The default value just prevents GCC warning*/ + +/*Prefix all global extern data with this*/ +#define LV_ATTRIBUTE_EXTERN_DATA + +/* Use `float` as `lv_value_precise_t` */ +#define LV_USE_FLOAT 0 + +/*Enable matrix support + *Requires `LV_USE_FLOAT = 1`*/ +#define LV_USE_MATRIX 0 + +/*Include `lvgl_private.h` in `lvgl.h` to access internal data and functions by default*/ +#define LV_USE_PRIVATE_API 0 + +/*================== + * FONT USAGE + *===================*/ + +/*Montserrat fonts with ASCII range and some symbols using bpp = 4 + *https://fonts.google.com/specimen/Montserrat*/ +#define LV_FONT_MONTSERRAT_8 0 +#define LV_FONT_MONTSERRAT_10 0 +#define LV_FONT_MONTSERRAT_12 0 +#define LV_FONT_MONTSERRAT_14 1 +#define LV_FONT_MONTSERRAT_16 1 +#define LV_FONT_MONTSERRAT_18 1 +#define LV_FONT_MONTSERRAT_20 1 +#define LV_FONT_MONTSERRAT_22 0 +#define LV_FONT_MONTSERRAT_24 0 +#define LV_FONT_MONTSERRAT_26 0 +#define LV_FONT_MONTSERRAT_28 0 +#define LV_FONT_MONTSERRAT_30 0 +#define LV_FONT_MONTSERRAT_32 0 +#define LV_FONT_MONTSERRAT_34 0 +#define LV_FONT_MONTSERRAT_36 0 +#define LV_FONT_MONTSERRAT_38 0 +#define LV_FONT_MONTSERRAT_40 0 +#define LV_FONT_MONTSERRAT_42 0 +#define LV_FONT_MONTSERRAT_44 0 +#define LV_FONT_MONTSERRAT_46 0 +#define LV_FONT_MONTSERRAT_48 0 + +/*Demonstrate special features*/ +#define LV_FONT_MONTSERRAT_28_COMPRESSED 0 /*bpp = 3*/ +#define LV_FONT_DEJAVU_16_PERSIAN_HEBREW 0 /*Hebrew, Arabic, Persian letters and all their forms*/ +#define LV_FONT_SIMSUN_14_CJK 0 /*1000 most common CJK radicals*/ +#define LV_FONT_SIMSUN_16_CJK 0 /*1000 most common CJK radicals*/ + +/*Pixel perfect monospace fonts*/ +#define LV_FONT_UNSCII_8 0 +#define LV_FONT_UNSCII_16 0 + +/*Optionally declare custom fonts here. + *You can use these fonts as default font too and they will be available globally. + *E.g. #define LV_FONT_CUSTOM_DECLARE LV_FONT_DECLARE(my_font_1) LV_FONT_DECLARE(my_font_2)*/ +#define LV_FONT_CUSTOM_DECLARE + +/*Always set a default font*/ +#define LV_FONT_DEFAULT &lv_font_montserrat_14 + +/*Enable handling large font and/or fonts with a lot of characters. + *The limit depends on the font size, font face and bpp. + *Compiler error will be triggered if a font needs it.*/ +#define LV_FONT_FMT_TXT_LARGE 0 + +/*Enables/disables support for compressed fonts.*/ +#define LV_USE_FONT_COMPRESSED 0 + +/*Enable drawing placeholders when glyph dsc is not found*/ +#define LV_USE_FONT_PLACEHOLDER 1 + +/*================= + * TEXT SETTINGS + *=================*/ + +/** + * Select a character encoding for strings. + * Your IDE or editor should have the same character encoding + * - LV_TXT_ENC_UTF8 + * - LV_TXT_ENC_ASCII + */ +#define LV_TXT_ENC LV_TXT_ENC_UTF8 + +/*Can break (wrap) texts on these chars*/ +#define LV_TXT_BREAK_CHARS " ,.;:-_)]}" + +/*If a word is at least this long, will break wherever "prettiest" + *To disable, set to a value <= 0*/ +#define LV_TXT_LINE_BREAK_LONG_LEN 0 + +/*Minimum number of characters in a long word to put on a line before a break. + *Depends on LV_TXT_LINE_BREAK_LONG_LEN.*/ +#define LV_TXT_LINE_BREAK_LONG_PRE_MIN_LEN 3 + +/*Minimum number of characters in a long word to put on a line after a break. + *Depends on LV_TXT_LINE_BREAK_LONG_LEN.*/ +#define LV_TXT_LINE_BREAK_LONG_POST_MIN_LEN 3 + +/*Support bidirectional texts. Allows mixing Left-to-Right and Right-to-Left texts. + *The direction will be processed according to the Unicode Bidirectional Algorithm: + *https://www.w3.org/International/articles/inline-bidi-markup/uba-basics*/ +#define LV_USE_BIDI 0 +#if LV_USE_BIDI + /*Set the default direction. Supported values: + *`LV_BASE_DIR_LTR` Left-to-Right + *`LV_BASE_DIR_RTL` Right-to-Left + *`LV_BASE_DIR_AUTO` detect texts base direction*/ + #define LV_BIDI_BASE_DIR_DEF LV_BASE_DIR_AUTO +#endif + +/*Enable Arabic/Persian processing + *In these languages characters should be replaced with another form based on their position in the text*/ +#define LV_USE_ARABIC_PERSIAN_CHARS 0 + +/*================== + * WIDGETS + *================*/ + +/*Documentation of the widgets: https://docs.lvgl.io/latest/en/html/widgets/index.html*/ + +#define LV_WIDGETS_HAS_DEFAULT_VALUE 1 + +#define LV_USE_ANIMIMG 1 + +#define LV_USE_ARC 1 + +#define LV_USE_BAR 1 + +#define LV_USE_BUTTON 1 + +#define LV_USE_BUTTONMATRIX 1 + +#define LV_USE_CALENDAR 1 +#if LV_USE_CALENDAR + #define LV_CALENDAR_WEEK_STARTS_MONDAY 0 + #if LV_CALENDAR_WEEK_STARTS_MONDAY + #define LV_CALENDAR_DEFAULT_DAY_NAMES {"Mo", "Tu", "We", "Th", "Fr", "Sa", "Su"} + #else + #define LV_CALENDAR_DEFAULT_DAY_NAMES {"Su", "Mo", "Tu", "We", "Th", "Fr", "Sa"} + #endif + + #define LV_CALENDAR_DEFAULT_MONTH_NAMES {"January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"} + #define LV_USE_CALENDAR_HEADER_ARROW 1 + #define LV_USE_CALENDAR_HEADER_DROPDOWN 1 + #define LV_USE_CALENDAR_CHINESE 0 +#endif /*LV_USE_CALENDAR*/ + +#define LV_USE_CANVAS 1 + +#define LV_USE_CHART 1 + +#define LV_USE_CHECKBOX 1 + +#define LV_USE_DROPDOWN 1 /*Requires: lv_label*/ + +#define LV_USE_IMAGE 1 /*Requires: lv_label*/ + +#define LV_USE_IMAGEBUTTON 1 + +#define LV_USE_KEYBOARD 1 + +#define LV_USE_LABEL 1 +#if LV_USE_LABEL + #define LV_LABEL_TEXT_SELECTION 1 /*Enable selecting text of the label*/ + #define LV_LABEL_LONG_TXT_HINT 1 /*Store some extra info in labels to speed up drawing of very long texts*/ + #define LV_LABEL_WAIT_CHAR_COUNT 3 /*The count of wait chart*/ +#endif + +#define LV_USE_LED 1 + +#define LV_USE_LINE 1 + +#define LV_USE_LIST 1 + +#define LV_USE_LOTTIE 0 /*Requires: lv_canvas, thorvg */ + +#define LV_USE_MENU 1 + +#define LV_USE_MSGBOX 1 + +#define LV_USE_ROLLER 1 /*Requires: lv_label*/ + +#define LV_USE_SCALE 1 + +#define LV_USE_SLIDER 1 /*Requires: lv_bar*/ + +#define LV_USE_SPAN 1 +#if LV_USE_SPAN + /*A line text can contain maximum num of span descriptor */ + #define LV_SPAN_SNIPPET_STACK_SIZE 64 +#endif + +#define LV_USE_SPINBOX 1 + +#define LV_USE_SPINNER 1 + +#define LV_USE_SWITCH 1 + +#define LV_USE_TEXTAREA 1 /*Requires: lv_label*/ +#if LV_USE_TEXTAREA != 0 + #define LV_TEXTAREA_DEF_PWD_SHOW_TIME 1500 /*ms*/ +#endif + +#define LV_USE_TABLE 1 + +#define LV_USE_TABVIEW 1 + +#define LV_USE_TILEVIEW 1 + +#define LV_USE_WIN 1 + +/*================== + * THEMES + *==================*/ + +/*A simple, impressive and very complete theme*/ +#define LV_USE_THEME_DEFAULT 1 +#if LV_USE_THEME_DEFAULT + + /*0: Light mode; 1: Dark mode*/ + #define LV_THEME_DEFAULT_DARK 0 + + /*1: Enable grow on press*/ + #define LV_THEME_DEFAULT_GROW 1 + + /*Default transition time in [ms]*/ + #define LV_THEME_DEFAULT_TRANSITION_TIME 80 +#endif /*LV_USE_THEME_DEFAULT*/ + +/*A very simple theme that is a good starting point for a custom theme*/ +#define LV_USE_THEME_SIMPLE 1 + +/*A theme designed for monochrome displays*/ +#define LV_USE_THEME_MONO 1 + +/*================== + * LAYOUTS + *==================*/ + +/*A layout similar to Flexbox in CSS.*/ +#define LV_USE_FLEX 1 + +/*A layout similar to Grid in CSS.*/ +#define LV_USE_GRID 1 + +/*==================== + * 3RD PARTS LIBRARIES + *====================*/ + +/*File system interfaces for common APIs */ + +/*Setting a default driver letter allows skipping the driver prefix in filepaths*/ +#define LV_FS_DEFAULT_DRIVE_LETTER '\0' + +/*API for fopen, fread, etc*/ +#define LV_USE_FS_STDIO 0 +#if LV_USE_FS_STDIO + #define LV_FS_STDIO_LETTER '\0' /*Set an upper cased letter on which the drive will accessible (e.g. 'A')*/ + #define LV_FS_STDIO_PATH "" /*Set the working directory. File/directory paths will be appended to it.*/ + #define LV_FS_STDIO_CACHE_SIZE 0 /*>0 to cache this number of bytes in lv_fs_read()*/ +#endif + +/*API for open, read, etc*/ +#define LV_USE_FS_POSIX 0 +#if LV_USE_FS_POSIX + #define LV_FS_POSIX_LETTER '\0' /*Set an upper cased letter on which the drive will accessible (e.g. 'A')*/ + #define LV_FS_POSIX_PATH "" /*Set the working directory. File/directory paths will be appended to it.*/ + #define LV_FS_POSIX_CACHE_SIZE 0 /*>0 to cache this number of bytes in lv_fs_read()*/ +#endif + +/*API for CreateFile, ReadFile, etc*/ +#define LV_USE_FS_WIN32 0 +#if LV_USE_FS_WIN32 + #define LV_FS_WIN32_LETTER '\0' /*Set an upper cased letter on which the drive will accessible (e.g. 'A')*/ + #define LV_FS_WIN32_PATH "" /*Set the working directory. File/directory paths will be appended to it.*/ + #define LV_FS_WIN32_CACHE_SIZE 0 /*>0 to cache this number of bytes in lv_fs_read()*/ +#endif + +/*API for FATFS (needs to be added separately). Uses f_open, f_read, etc*/ +#define LV_USE_FS_FATFS 0 +#if LV_USE_FS_FATFS + #define LV_FS_FATFS_LETTER '\0' /*Set an upper cased letter on which the drive will accessible (e.g. 'A')*/ + #define LV_FS_FATFS_CACHE_SIZE 0 /*>0 to cache this number of bytes in lv_fs_read()*/ +#endif + +/*API for memory-mapped file access. */ +#define LV_USE_FS_MEMFS 0 +#if LV_USE_FS_MEMFS + #define LV_FS_MEMFS_LETTER '\0' /*Set an upper cased letter on which the drive will accessible (e.g. 'A')*/ +#endif + +/*API for LittleFs. */ +#define LV_USE_FS_LITTLEFS 0 +#if LV_USE_FS_LITTLEFS + #define LV_FS_LITTLEFS_LETTER '\0' /*Set an upper cased letter on which the drive will accessible (e.g. 'A')*/ +#endif + +/*API for Arduino LittleFs. */ +#define LV_USE_FS_ARDUINO_ESP_LITTLEFS 0 +#if LV_USE_FS_ARDUINO_ESP_LITTLEFS + #define LV_FS_ARDUINO_ESP_LITTLEFS_LETTER '\0' /*Set an upper cased letter on which the drive will accessible (e.g. 'A')*/ +#endif + +/*API for Arduino Sd. */ +#define LV_USE_FS_ARDUINO_SD 0 +#if LV_USE_FS_ARDUINO_SD + #define LV_FS_ARDUINO_SD_LETTER '\0' /*Set an upper cased letter on which the drive will accessible (e.g. 'A')*/ +#endif + +/*LODEPNG decoder library*/ +#define LV_USE_LODEPNG 0 + +/*PNG decoder(libpng) library*/ +#define LV_USE_LIBPNG 0 + +/*BMP decoder library*/ +#define LV_USE_BMP 0 + +/* JPG + split JPG decoder library. + * Split JPG is a custom format optimized for embedded systems. */ +#define LV_USE_TJPGD 0 + +/* libjpeg-turbo decoder library. + * Supports complete JPEG specifications and high-performance JPEG decoding. */ +#define LV_USE_LIBJPEG_TURBO 0 + +/*GIF decoder library*/ +#define LV_USE_GIF 0 +#if LV_USE_GIF + /*GIF decoder accelerate*/ + #define LV_GIF_CACHE_DECODE_DATA 0 +#endif + + +/*Decode bin images to RAM*/ +#define LV_BIN_DECODER_RAM_LOAD 0 + +/*RLE decompress library*/ +#define LV_USE_RLE 0 + +/*QR code library*/ +#define LV_USE_QRCODE 0 + +/*Barcode code library*/ +#define LV_USE_BARCODE 0 + +/*FreeType library*/ +#define LV_USE_FREETYPE 0 +#if LV_USE_FREETYPE + /*Let FreeType to use LVGL memory and file porting*/ + #define LV_FREETYPE_USE_LVGL_PORT 0 + + /*Cache count of the glyphs in FreeType. It means the number of glyphs that can be cached. + *The higher the value, the more memory will be used.*/ + #define LV_FREETYPE_CACHE_FT_GLYPH_CNT 256 +#endif + +/* Built-in TTF decoder */ +#define LV_USE_TINY_TTF 0 +#if LV_USE_TINY_TTF + /* Enable loading TTF data from files */ + #define LV_TINY_TTF_FILE_SUPPORT 0 + #define LV_TINY_TTF_CACHE_GLYPH_CNT 256 +#endif + +/*Rlottie library*/ +#define LV_USE_RLOTTIE 0 + +/*Enable Vector Graphic APIs + *Requires `LV_USE_MATRIX = 1`*/ +#define LV_USE_VECTOR_GRAPHIC 0 + +/* Enable ThorVG (vector graphics library) from the src/libs folder */ +#define LV_USE_THORVG_INTERNAL 0 + +/* Enable ThorVG by assuming that its installed and linked to the project */ +#define LV_USE_THORVG_EXTERNAL 0 + +/*Use lvgl built-in LZ4 lib*/ +#define LV_USE_LZ4_INTERNAL 0 + +/*Use external LZ4 library*/ +#define LV_USE_LZ4_EXTERNAL 0 + +/*FFmpeg library for image decoding and playing videos + *Supports all major image formats so do not enable other image decoder with it*/ +#define LV_USE_FFMPEG 0 +#if LV_USE_FFMPEG + /*Dump input information to stderr*/ + #define LV_FFMPEG_DUMP_FORMAT 0 +#endif + +/*================== + * OTHERS + *==================*/ + +/*1: Enable API to take snapshot for object*/ +#define LV_USE_SNAPSHOT 0 + +/*1: Enable system monitor component*/ +#define LV_USE_SYSMON 0 +#if LV_USE_SYSMON + /*Get the idle percentage. E.g. uint32_t my_get_idle(void);*/ + #define LV_SYSMON_GET_IDLE lv_timer_get_idle + + /*1: Show CPU usage and FPS count + * Requires `LV_USE_SYSMON = 1`*/ + #define LV_USE_PERF_MONITOR 0 + #if LV_USE_PERF_MONITOR + #define LV_USE_PERF_MONITOR_POS LV_ALIGN_BOTTOM_RIGHT + + /*0: Displays performance data on the screen, 1: Prints performance data using log.*/ + #define LV_USE_PERF_MONITOR_LOG_MODE 0 + #endif + + /*1: Show the used memory and the memory fragmentation + * Requires `LV_USE_STDLIB_MALLOC = LV_STDLIB_BUILTIN` + * Requires `LV_USE_SYSMON = 1`*/ + #define LV_USE_MEM_MONITOR 0 + #if LV_USE_MEM_MONITOR + #define LV_USE_MEM_MONITOR_POS LV_ALIGN_BOTTOM_LEFT + #endif + +#endif /*LV_USE_SYSMON*/ + +/*1: Enable the runtime performance profiler*/ +#define LV_USE_PROFILER 0 +#if LV_USE_PROFILER + /*1: Enable the built-in profiler*/ + #define LV_USE_PROFILER_BUILTIN 1 + #if LV_USE_PROFILER_BUILTIN + /*Default profiler trace buffer size*/ + #define LV_PROFILER_BUILTIN_BUF_SIZE (16 * 1024) /*[bytes]*/ + #endif + + /*Header to include for the profiler*/ + #define LV_PROFILER_INCLUDE "lvgl/src/misc/lv_profiler_builtin.h" + + /*Profiler start point function*/ + #define LV_PROFILER_BEGIN LV_PROFILER_BUILTIN_BEGIN + + /*Profiler end point function*/ + #define LV_PROFILER_END LV_PROFILER_BUILTIN_END + + /*Profiler start point function with custom tag*/ + #define LV_PROFILER_BEGIN_TAG LV_PROFILER_BUILTIN_BEGIN_TAG + + /*Profiler end point function with custom tag*/ + #define LV_PROFILER_END_TAG LV_PROFILER_BUILTIN_END_TAG +#endif + +/*1: Enable Monkey test*/ +#define LV_USE_MONKEY 0 + +/*1: Enable grid navigation*/ +#define LV_USE_GRIDNAV 0 + +/*1: Enable lv_obj fragment*/ +#define LV_USE_FRAGMENT 0 + +/*1: Support using images as font in label or span widgets */ +#define LV_USE_IMGFONT 0 + +/*1: Enable an observer pattern implementation*/ +#define LV_USE_OBSERVER 1 + +/*1: Enable Pinyin input method*/ +/*Requires: lv_keyboard*/ +#define LV_USE_IME_PINYIN 0 +#if LV_USE_IME_PINYIN + /*1: Use default thesaurus*/ + /*If you do not use the default thesaurus, be sure to use `lv_ime_pinyin` after setting the thesaurus*/ + #define LV_IME_PINYIN_USE_DEFAULT_DICT 1 + /*Set the maximum number of candidate panels that can be displayed*/ + /*This needs to be adjusted according to the size of the screen*/ + #define LV_IME_PINYIN_CAND_TEXT_NUM 6 + + /*Use 9 key input(k9)*/ + #define LV_IME_PINYIN_USE_K9_MODE 1 + #if LV_IME_PINYIN_USE_K9_MODE == 1 + #define LV_IME_PINYIN_K9_CAND_TEXT_NUM 3 + #endif /*LV_IME_PINYIN_USE_K9_MODE*/ +#endif + +/*1: Enable file explorer*/ +/*Requires: lv_table*/ +#define LV_USE_FILE_EXPLORER 0 +#if LV_USE_FILE_EXPLORER + /*Maximum length of path*/ + #define LV_FILE_EXPLORER_PATH_MAX_LEN (128) + /*Quick access bar, 1:use, 0:not use*/ + /*Requires: lv_list*/ + #define LV_FILE_EXPLORER_QUICK_ACCESS 1 +#endif + +/*================== + * DEVICES + *==================*/ + +/*Use SDL to open window on PC and handle mouse and keyboard*/ +#define LV_USE_SDL 0 +#if LV_USE_SDL + #define LV_SDL_INCLUDE_PATH + #define LV_SDL_RENDER_MODE LV_DISPLAY_RENDER_MODE_DIRECT /*LV_DISPLAY_RENDER_MODE_DIRECT is recommended for best performance*/ + #define LV_SDL_BUF_COUNT 1 /*1 or 2*/ + #define LV_SDL_ACCELERATED 1 /*1: Use hardware acceleration*/ + #define LV_SDL_FULLSCREEN 0 /*1: Make the window full screen by default*/ + #define LV_SDL_DIRECT_EXIT 1 /*1: Exit the application when all SDL windows are closed*/ + #define LV_SDL_MOUSEWHEEL_MODE LV_SDL_MOUSEWHEEL_MODE_ENCODER /*LV_SDL_MOUSEWHEEL_MODE_ENCODER/CROWN*/ +#endif + +/*Use X11 to open window on Linux desktop and handle mouse and keyboard*/ +#define LV_USE_X11 0 +#if LV_USE_X11 + #define LV_X11_DIRECT_EXIT 1 /*Exit the application when all X11 windows have been closed*/ + #define LV_X11_DOUBLE_BUFFER 1 /*Use double buffers for rendering*/ + /*select only 1 of the following render modes (LV_X11_RENDER_MODE_PARTIAL preferred!)*/ + #define LV_X11_RENDER_MODE_PARTIAL 1 /*Partial render mode (preferred)*/ + #define LV_X11_RENDER_MODE_DIRECT 0 /*direct render mode*/ + #define LV_X11_RENDER_MODE_FULL 0 /*Full render mode*/ +#endif + +/*Use Wayland to open a window and handle input on Linux or BSD desktops */ +#define LV_USE_WAYLAND 0 +#if LV_USE_WAYLAND + #define LV_WAYLAND_WINDOW_DECORATIONS 0 /*Draw client side window decorations only necessary on Mutter/GNOME*/ + #define LV_WAYLAND_WL_SHELL 0 /*Use the legacy wl_shell protocol instead of the default XDG shell*/ +#endif + +/*Driver for /dev/fb*/ +#define LV_USE_LINUX_FBDEV 0 +#if LV_USE_LINUX_FBDEV + #define LV_LINUX_FBDEV_BSD 0 + #define LV_LINUX_FBDEV_RENDER_MODE LV_DISPLAY_RENDER_MODE_PARTIAL + #define LV_LINUX_FBDEV_BUFFER_COUNT 0 + #define LV_LINUX_FBDEV_BUFFER_SIZE 60 +#endif + +/*Use Nuttx to open window and handle touchscreen*/ +#define LV_USE_NUTTX 0 + +#if LV_USE_NUTTX + #define LV_USE_NUTTX_LIBUV 0 + + /*Use Nuttx custom init API to open window and handle touchscreen*/ + #define LV_USE_NUTTX_CUSTOM_INIT 0 + + /*Driver for /dev/lcd*/ + #define LV_USE_NUTTX_LCD 0 + #if LV_USE_NUTTX_LCD + #define LV_NUTTX_LCD_BUFFER_COUNT 0 + #define LV_NUTTX_LCD_BUFFER_SIZE 60 + #endif + + /*Driver for /dev/input*/ + #define LV_USE_NUTTX_TOUCHSCREEN 0 + +#endif + +/*Driver for /dev/dri/card*/ +#define LV_USE_LINUX_DRM 0 + +/*Interface for TFT_eSPI*/ +#define LV_USE_TFT_ESPI 1 + +/*Driver for evdev input devices*/ +#define LV_USE_EVDEV 0 + +/*Driver for libinput input devices*/ +#define LV_USE_LIBINPUT 0 + +#if LV_USE_LIBINPUT + #define LV_LIBINPUT_BSD 0 + + /*Full keyboard support*/ + #define LV_LIBINPUT_XKB 0 + #if LV_LIBINPUT_XKB + /*"setxkbmap -query" can help find the right values for your keyboard*/ + #define LV_LIBINPUT_XKB_KEY_MAP { .rules = NULL, .model = "pc101", .layout = "us", .variant = NULL, .options = NULL } + #endif +#endif + +/*Drivers for LCD devices connected via SPI/parallel port*/ +#define LV_USE_ST7735 0 +#define LV_USE_ST7789 0 +#define LV_USE_ST7796 0 +#define LV_USE_ILI9341 0 + +#define LV_USE_GENERIC_MIPI (LV_USE_ST7735 | LV_USE_ST7789 | LV_USE_ST7796 | LV_USE_ILI9341) + +/*Driver for Renesas GLCD*/ +#define LV_USE_RENESAS_GLCDC 0 + +/* LVGL Windows backend */ +#define LV_USE_WINDOWS 0 + +/* Use OpenGL to open window on PC and handle mouse and keyboard */ +#define LV_USE_OPENGLES 0 +#if LV_USE_OPENGLES + #define LV_USE_OPENGLES_DEBUG 1 /* Enable or disable debug for opengles */ +#endif + +/* QNX Screen display and input drivers */ +#define LV_USE_QNX 0 +#if LV_USE_QNX + #define LV_QNX_BUF_COUNT 1 /*1 or 2*/ +#endif + +/*================== +* EXAMPLES +*==================*/ + +/*Enable the examples to be built with the library*/ +#define LV_BUILD_EXAMPLES 1 + +/*=================== + * DEMO USAGE + ====================*/ + +/*Show some widget. It might be required to increase `LV_MEM_SIZE` */ +#define LV_USE_DEMO_WIDGETS 0 + +/*Demonstrate the usage of encoder and keyboard*/ +#define LV_USE_DEMO_KEYPAD_AND_ENCODER 0 + +/*Benchmark your system*/ +#define LV_USE_DEMO_BENCHMARK 0 + +/*Render test for each primitives. Requires at least 480x272 display*/ +#define LV_USE_DEMO_RENDER 0 + +/*Stress test for LVGL*/ +#define LV_USE_DEMO_STRESS 0 + +/*Music player demo*/ +#define LV_USE_DEMO_MUSIC 0 +#if LV_USE_DEMO_MUSIC + #define LV_DEMO_MUSIC_SQUARE 0 + #define LV_DEMO_MUSIC_LANDSCAPE 0 + #define LV_DEMO_MUSIC_ROUND 0 + #define LV_DEMO_MUSIC_LARGE 0 + #define LV_DEMO_MUSIC_AUTO_PLAY 0 +#endif + +/*Flex layout demo*/ +#define LV_USE_DEMO_FLEX_LAYOUT 0 + +/*Smart-phone like multi-language demo*/ +#define LV_USE_DEMO_MULTILANG 0 + +/*Widget transformation demo*/ +#define LV_USE_DEMO_TRANSFORM 0 + +/*Demonstrate scroll settings*/ +#define LV_USE_DEMO_SCROLL 0 + +/*Vector graphic demo*/ +#define LV_USE_DEMO_VECTOR_GRAPHIC 0 + +/*--END OF LV_CONF_H--*/ + +#endif /*LV_CONF_H*/ + +#endif /*End of "Content enable"*/ diff --git a/include/photo_list.h b/include/photo_list.h new file mode 100644 index 0000000..b6cd027 --- /dev/null +++ b/include/photo_list.h @@ -0,0 +1,21 @@ +#pragma once + +#include + +static constexpr int PHOTO_MAX = 64; +static constexpr int PHOTO_PATH_MAX = 96; + +enum PhotoKind : uint8_t { + PHOTO_JPG = 0, + PHOTO_PNG = 1, + PHOTO_GIF = 2, +}; + +struct PhotoEntry { + char path[PHOTO_PATH_MAX]; + PhotoKind kind; +}; + +uint16_t photo_list_count(); +const PhotoEntry *photo_list_get(uint16_t index); +uint16_t photo_list_scan(); // returns count diff --git a/include/photo_view.h b/include/photo_view.h new file mode 100644 index 0000000..583ba42 --- /dev/null +++ b/include/photo_view.h @@ -0,0 +1,22 @@ +#pragma once + +#include +#include + +#include "photo_list.h" + +bool photo_view_init(); +void photo_view_deinit(); + +// Decode entry into half-res RGB565 canvas (160x120, shown 2x). +bool photo_view_show(const PhotoEntry *entry); + +const lv_image_dsc_t *photo_view_dsc(); +uint16_t photo_view_canvas_w(); +uint16_t photo_view_canvas_h(); +uint16_t photo_view_img_w(); +uint16_t photo_view_img_h(); + +bool photo_view_is_gif(); +// Advance GIF frame if due; returns true when pixels changed. +bool photo_view_gif_tick(); diff --git a/include/pins.h b/include/pins.h new file mode 100644 index 0000000..44adc4c --- /dev/null +++ b/include/pins.h @@ -0,0 +1,24 @@ +#pragma once + +// CYD ESP32-2432S028R + +#define TFT_BL_PIN 21 + +// TF / microSD (VSPI;触摸用 SoftSPI,不抢总线) +#define SD_MISO 19 +#define SD_MOSI 23 +#define SD_SCK 18 +#define SD_CS 5 + +#define SPEAKER_PIN 26 + +#define CYD_TOUCH_IRQ 36 +#define CYD_TOUCH_MOSI 32 +#define CYD_TOUCH_MISO 39 +#define CYD_TOUCH_CLK 25 +#define CYD_TOUCH_CS 33 + +#define SCREEN_WIDTH 240 +#define SCREEN_HEIGHT 320 +#define UI_HOR_RES 320 +#define UI_VER_RES 240 diff --git a/include/sd_info.h b/include/sd_info.h new file mode 100644 index 0000000..6b6e755 --- /dev/null +++ b/include/sd_info.h @@ -0,0 +1,21 @@ +#pragma once + +#include + +struct SdCardInfo { + bool mounted; + bool present; + const char *type; + const char *filesystem; + uint64_t card_bytes; + uint64_t total_bytes; + uint64_t used_bytes; + uint64_t free_bytes; + uint32_t root_files; + String error; +}; + +bool sd_init(); +void sd_deinit(); +SdCardInfo sd_read_info(); +String format_bytes(uint64_t bytes); diff --git a/include/sd_put.h b/include/sd_put.h new file mode 100644 index 0000000..30deee2 --- /dev/null +++ b/include/sd_put.h @@ -0,0 +1,7 @@ +#pragma once + +#include + +// 串口协议: "#PUT \n" -> READY -> raw -> DONE/FAIL +// 在 loop 里调用;返回 true 表示刚处理完一次传输 +bool sd_put_poll(); diff --git a/include/touch.h b/include/touch.h new file mode 100644 index 0000000..86e00fe --- /dev/null +++ b/include/touch.h @@ -0,0 +1,12 @@ +#pragma once + +#include +#include + +void touch_init(); +void touch_read_cb(lv_indev_t *indev, lv_indev_data_t *data); + +// 调试:最近一次触点(物理 / LVGL 旋转后逻辑) +extern int16_t g_dbg_phys_x, g_dbg_phys_y; +extern int16_t g_dbg_logic_x, g_dbg_logic_y; +extern bool g_dbg_touch_down; diff --git a/include/ui.h b/include/ui.h new file mode 100644 index 0000000..0cca269 --- /dev/null +++ b/include/ui.h @@ -0,0 +1,9 @@ +#pragma once + +#include "sd_info.h" +#include + +void ui_create(); +void ui_update(const SdCardInfo &info); +void ui_tick(); +void ui_reload_album(); // rescan TF and show current / first photo diff --git a/platformio.ini b/platformio.ini new file mode 100644 index 0000000..819730e --- /dev/null +++ b/platformio.ini @@ -0,0 +1,59 @@ +; CYD ESP32-2432S028 — 电子相册(TF + 触控 + LVGL) +[env:cyd] +platform = espressif32 +board = esp32dev +framework = arduino +monitor_speed = 460800 +upload_speed = 460800 +board_build.partitions = default.csv + +lib_deps = + bodmer/TFT_eSPI@^2.5.43 + lvgl/lvgl@9.2.2 + bitbank2/JPEGDEC@^1.5.0 + bitbank2/PNGdec@^1.0.3 + bitbank2/AnimatedGIF@^2.1.1 + +; JPEGDEC 声明依赖 bb_spi_lcd,本项目不需要 +lib_ignore = + bb_spi_lcd + +build_flags = + -DCORE_DEBUG_LEVEL=0 + -DUSER_SETUP_LOADED=1 + -DILI9341_2_DRIVER=1 + -DTFT_WIDTH=240 + -DTFT_HEIGHT=320 + -DTFT_MISO=12 + -DTFT_MOSI=13 + -DTFT_SCLK=14 + -DTFT_CS=15 + -DTFT_DC=2 + -DTFT_RST=-1 + -DTFT_BL=21 + -DTFT_BACKLIGHT_ON=HIGH + -DTOUCH_CS=-1 + -DLOAD_GLCD=1 + -DLOAD_FONT2=1 + -DLOAD_FONT4=1 + -DLOAD_FONT6=1 + -DLOAD_FONT7=1 + -DLOAD_FONT8=1 + -DLOAD_GFXFF=1 + -DSMOOTH_FONT=1 + -DSPI_FREQUENCY=40000000 + -DSPI_READ_FREQUENCY=20000000 + -DLV_CONF_SKIP + -DLV_COLOR_DEPTH=16 + -DLV_MEM_SIZE=24576 + -DLV_FONT_MONTSERRAT_14=1 + -DLV_FONT_MONTSERRAT_16=1 + -DLV_FONT_MONTSERRAT_20=1 + -DLV_USE_TFT_ESPI=1 + -DLV_USE_FLEX=1 + -DLV_USE_BUTTON=1 + -DLV_USE_LABEL=1 + -DLV_USE_IMAGE=1 + -I${PROJECT_DIR}/include + +extra_scripts = pre:copy_lv_conf.py diff --git a/src/main.cpp b/src/main.cpp new file mode 100644 index 0000000..42bd0e9 --- /dev/null +++ b/src/main.cpp @@ -0,0 +1,91 @@ +#include +#include + +#include "pins.h" +#include "photo_view.h" +#include "sd_info.h" +#include "sd_put.h" +#include "touch.h" +#include "ui.h" + +static constexpr uint32_t DRAW_BUF_SIZE = + (SCREEN_WIDTH * SCREEN_HEIGHT / 10 * (LV_COLOR_DEPTH / 8)); +static uint32_t draw_buf[DRAW_BUF_SIZE / 4]; + +static uint32_t last_refresh_ms = 0; +static constexpr uint32_t REFRESH_MS = 10000; + +static void refresh_sd_ui(bool rescan_photos) { + SdCardInfo info = sd_read_info(); + + Serial.println("---- TF Card ----"); + if (!info.mounted) { + Serial.printf("Error: %s\n", info.error.c_str()); + } else { + Serial.printf("Type: %s FS: %s Cap: %s\n", info.type, info.filesystem, + format_bytes(info.card_bytes).c_str()); + } + + ui_update(info); + if (rescan_photos && info.mounted) { + ui_reload_album(); + } +} + +void setup() { + Serial.setRxBufferSize(16384); + Serial.begin(460800); + delay(200); + Serial.println(); + Serial.printf("LVGL %d.%d.%d | CYD Photo Album\n", lv_version_major(), + lv_version_minor(), lv_version_patch()); + Serial.println("BOOT_OK"); + + pinMode(TFT_BL_PIN, OUTPUT); + digitalWrite(TFT_BL_PIN, HIGH); + + touch_init(); + + if (!photo_view_init()) { + Serial.println("WARN: photo canvas alloc failed"); + } + + lv_init(); + + lv_display_t *disp = + lv_tft_espi_create(SCREEN_WIDTH, SCREEN_HEIGHT, draw_buf, sizeof(draw_buf)); + lv_display_set_rotation(disp, LV_DISPLAY_ROTATION_270); + + lv_indev_t *indev = lv_indev_create(); + lv_indev_set_type(indev, LV_INDEV_TYPE_POINTER); + lv_indev_set_read_cb(indev, touch_read_cb); + lv_indev_set_display(indev, disp); + + ui_create(); + + if (!sd_init()) { + Serial.println("SD mount failed at boot"); + } + + refresh_sd_ui(true); + last_refresh_ms = millis(); +} + +void loop() { + if (sd_put_poll()) { + refresh_sd_ui(true); + } + + lv_timer_handler(); + lv_tick_inc(5); + ui_tick(); + + const uint32_t now = millis(); + if (now - last_refresh_ms >= REFRESH_MS) { + last_refresh_ms = now; + // Keep TF status fresh; do not rescan photos (avoids reset while viewing) + refresh_sd_ui(false); + } + + delay(5); +} diff --git a/src/photo_list.cpp b/src/photo_list.cpp new file mode 100644 index 0000000..0f63c14 --- /dev/null +++ b/src/photo_list.cpp @@ -0,0 +1,101 @@ +#include "photo_list.h" + +#include +#include + +static PhotoEntry g_list[PHOTO_MAX]; +static uint16_t g_count = 0; + +static bool ends_with_ci(const char *name, const char *ext) { + const size_t n = strlen(name); + const size_t e = strlen(ext); + if (n < e) { + return false; + } + for (size_t i = 0; i < e; i++) { + char a = name[n - e + i]; + char b = ext[i]; + if (a >= 'A' && a <= 'Z') { + a = (char)(a - 'A' + 'a'); + } + if (b >= 'A' && b <= 'Z') { + b = (char)(b - 'A' + 'a'); + } + if (a != b) { + return false; + } + } + return true; +} + +static bool classify(const char *name, PhotoKind *kind) { + if (ends_with_ci(name, ".jpg") || ends_with_ci(name, ".jpeg")) { + *kind = PHOTO_JPG; + return true; + } + if (ends_with_ci(name, ".png")) { + *kind = PHOTO_PNG; + return true; + } + if (ends_with_ci(name, ".gif")) { + *kind = PHOTO_GIF; + return true; + } + return false; +} + +static void add_file(const char *dir, const char *name, PhotoKind kind) { + if (g_count >= PHOTO_MAX) { + return; + } + PhotoEntry *e = &g_list[g_count]; + if (dir[0] == '/' && dir[1] == '\0') { + snprintf(e->path, sizeof(e->path), "/%s", name); + } else { + snprintf(e->path, sizeof(e->path), "%s/%s", dir, name); + } + e->kind = kind; + g_count++; +} + +static void scan_dir(const char *dir) { + File root = SD.open(dir); + if (!root || !root.isDirectory()) { + if (root) { + root.close(); + } + return; + } + + File f = root.openNextFile(); + while (f) { + if (!f.isDirectory()) { + const char *name = f.name(); + // SD lib may return full path; keep basename + const char *base = strrchr(name, '/'); + base = base ? base + 1 : name; + PhotoKind kind; + if (classify(base, &kind)) { + add_file(dir, base, kind); + } + } + f = root.openNextFile(); + } + root.close(); +} + +uint16_t photo_list_count() { return g_count; } + +const PhotoEntry *photo_list_get(uint16_t index) { + if (index >= g_count) { + return nullptr; + } + return &g_list[index]; +} + +uint16_t photo_list_scan() { + g_count = 0; + scan_dir("/photos"); + scan_dir("/"); + return g_count; +} diff --git a/src/photo_view.cpp b/src/photo_view.cpp new file mode 100644 index 0000000..edd5c84 --- /dev/null +++ b/src/photo_view.cpp @@ -0,0 +1,496 @@ +#include "photo_view.h" +#include "pins.h" + +#include +#include +#include +#include +#include +#include + +// Half-res canvas (fits ESP32 DRAM). UI shows it at 2x -> 320x240. +static constexpr uint16_t CANVAS_W = UI_HOR_RES / 2; +static constexpr uint16_t CANVAS_H = UI_VER_RES / 2; +static constexpr size_t CANVAS_PIXELS = (size_t)CANVAS_W * (size_t)CANVAS_H; + +static uint16_t g_pixels[CANVAS_PIXELS]; +static bool g_ready = false; +static lv_image_dsc_t g_dsc; +static uint16_t g_img_w = 0; +static uint16_t g_img_h = 0; + +static JPEGDEC *g_jpeg = nullptr; +static PNG *g_png = nullptr; +static AnimatedGIF *g_gif = nullptr; + +static File g_file; +static bool g_gif_open = false; +static uint32_t g_gif_next_ms = 0; +static int g_off_x = 0; +static int g_off_y = 0; +static int g_src_w = 0; +static int g_src_h = 0; +static int g_dst_w = 0; +static int g_dst_h = 0; + +static void canvas_clear(uint16_t color) { + for (size_t i = 0; i < CANVAS_PIXELS; i++) { + g_pixels[i] = color; + } +} + +static void canvas_sync_dsc() { + g_dsc.header.magic = LV_IMAGE_HEADER_MAGIC; + g_dsc.header.cf = LV_COLOR_FORMAT_RGB565; + g_dsc.header.flags = 0; + g_dsc.header.w = CANVAS_W; + g_dsc.header.h = CANVAS_H; + g_dsc.header.stride = CANVAS_W * 2; + g_dsc.data_size = CANVAS_PIXELS * 2; + g_dsc.data = (const uint8_t *)g_pixels; + g_dsc.reserved = nullptr; +} + +static void free_jpeg() { + if (g_jpeg) { + delete g_jpeg; + g_jpeg = nullptr; + } +} + +static void free_png() { + if (g_png) { + delete g_png; + g_png = nullptr; + } +} + +static void gif_close_session() { + if (g_gif_open && g_gif) { + g_gif->close(); + g_gif_open = false; + } + if (g_gif) { + delete g_gif; + g_gif = nullptr; + } +} + +static void fit_size(int nw, int nh, int *dw, int *dh) { + *dw = nw; + *dh = nh; + if (*dw <= (int)CANVAS_W && *dh <= (int)CANVAS_H) { + return; + } + const float sx = (float)CANVAS_W / (float)nw; + const float sy = (float)CANVAS_H / (float)nh; + const float s = sx < sy ? sx : sy; + *dw = (int)(nw * s + 0.5f); + *dh = (int)(nh * s + 0.5f); + if (*dw < 1) { + *dw = 1; + } + if (*dh < 1) { + *dh = 1; + } +} + +static int jpeg_scale_for(int w, int h) { + if (w > CANVAS_W * 4 || h > CANVAS_H * 4) { + return JPEG_SCALE_EIGHTH; + } + if (w > CANVAS_W * 2 || h > CANVAS_H * 2) { + return JPEG_SCALE_QUARTER; + } + if (w > CANVAS_W || h > CANVAS_H) { + return JPEG_SCALE_HALF; + } + return 0; +} + +static void *jpeg_open(const char *filename, int32_t *size) { + g_file = SD.open(filename); + if (!g_file) { + return nullptr; + } + *size = (int32_t)g_file.size(); + return &g_file; +} + +static void jpeg_close(void *handle) { + if (handle) { + ((File *)handle)->close(); + } +} + +static int32_t jpeg_read(JPEGFILE *handle, uint8_t *buffer, int32_t length) { + if (!handle || !handle->fHandle) { + return 0; + } + return (int32_t)((File *)handle->fHandle)->read(buffer, length); +} + +static int32_t jpeg_seek(JPEGFILE *handle, int32_t position) { + if (!handle || !handle->fHandle) { + return 0; + } + return ((File *)handle->fHandle)->seek(position) ? position : 0; +} + +static int jpeg_draw(JPEGDRAW *p) { + if (!p || !p->pPixels) { + return 0; + } + for (int row = 0; row < p->iHeight; row++) { + const int y = p->y + row; + if (y < 0 || y >= (int)CANVAS_H) { + continue; + } + const uint16_t *src = p->pPixels + row * p->iWidth; + for (int col = 0; col < p->iWidth; col++) { + const int x = p->x + col; + if (x < 0 || x >= (int)CANVAS_W) { + continue; + } + g_pixels[(size_t)y * CANVAS_W + (size_t)x] = src[col]; + } + } + return 1; +} + +static void *png_open(const char *filename, int32_t *size) { + g_file = SD.open(filename); + if (!g_file) { + return nullptr; + } + *size = (int32_t)g_file.size(); + return &g_file; +} + +static void png_close(void *handle) { + if (handle) { + ((File *)handle)->close(); + } +} + +static int32_t png_read(PNGFILE *handle, uint8_t *buffer, int32_t length) { + if (!handle || !handle->fHandle) { + return 0; + } + return (int32_t)((File *)handle->fHandle)->read(buffer, length); +} + +static int32_t png_seek(PNGFILE *handle, int32_t position) { + if (!handle || !handle->fHandle) { + return 0; + } + return ((File *)handle->fHandle)->seek(position) ? position : 0; +} + +static int png_draw(PNGDRAW *p) { + if (!p || !g_png || g_src_w <= 0 || g_dst_w <= 0) { + return 0; + } + + // Line buffer for source width (cap to avoid stack blow) + static uint16_t line[640]; + if (p->iWidth > 640) { + return 0; + } + g_png->getLineAsRGB565(p, line, PNG_RGB565_LITTLE_ENDIAN, 0x0000); + + // Nearest-neighbor: which dest rows map from this source row? + for (int dy = 0; dy < g_dst_h; dy++) { + const int sy = (dy * g_src_h) / g_dst_h; + if (sy != p->y) { + continue; + } + const int y = g_off_y + dy; + if (y < 0 || y >= (int)CANVAS_H) { + continue; + } + for (int dx = 0; dx < g_dst_w; dx++) { + const int sx = (dx * g_src_w) / g_dst_w; + if (sx < 0 || sx >= p->iWidth) { + continue; + } + const int x = g_off_x + dx; + if (x < 0 || x >= (int)CANVAS_W) { + continue; + } + g_pixels[(size_t)y * CANVAS_W + (size_t)x] = line[sx]; + } + } + return 1; +} + +static void *gif_open(const char *fname, int32_t *pSize) { + g_file = SD.open(fname); + if (!g_file) { + return nullptr; + } + *pSize = (int32_t)g_file.size(); + return &g_file; +} + +static void gif_close(void *pHandle) { + if (pHandle) { + ((File *)pHandle)->close(); + } +} + +static int32_t gif_read(GIFFILE *pFile, uint8_t *pBuf, int32_t iLen) { + if (!pFile || !pFile->fHandle) { + return 0; + } + int32_t n = (int32_t)((File *)pFile->fHandle)->read(pBuf, iLen); + pFile->iPos = (int32_t)((File *)pFile->fHandle)->position(); + return n; +} + +static int32_t gif_seek(GIFFILE *pFile, int32_t iPosition) { + if (!pFile || !pFile->fHandle) { + return 0; + } + ((File *)pFile->fHandle)->seek(iPosition); + pFile->iPos = (int32_t)((File *)pFile->fHandle)->position(); + return pFile->iPos; +} + +static void gif_draw(GIFDRAW *pDraw) { + if (!pDraw || g_src_w <= 0 || g_dst_w <= 0) { + return; + } + // Map source frame lines into scaled dest canvas + const int src_y = pDraw->iY + pDraw->y; + for (int dy = 0; dy < g_dst_h; dy++) { + const int sy = (dy * g_src_h) / g_dst_h; + if (sy != src_y) { + continue; + } + const int y = g_off_y + dy; + if (y < 0 || y >= (int)CANVAS_H) { + continue; + } + for (int dx = 0; dx < g_dst_w; dx++) { + const int sx = (dx * g_src_w) / g_dst_w; + const int lx = sx - pDraw->iX; + if (lx < 0 || lx >= pDraw->iWidth) { + continue; + } + const uint8_t idx = pDraw->pPixels[lx]; + if (pDraw->ucHasTransparency && idx == pDraw->ucTransparent) { + continue; + } + const int x = g_off_x + dx; + if (x < 0 || x >= (int)CANVAS_W) { + continue; + } + g_pixels[(size_t)y * CANVAS_W + (size_t)x] = pDraw->pPalette[idx]; + } + } +} + +static bool load_jpeg(const char *path) { + gif_close_session(); + free_png(); + free_jpeg(); + + g_jpeg = new JPEGDEC(); + if (!g_jpeg) { + return false; + } + + if (!g_jpeg->open(path, jpeg_open, jpeg_close, jpeg_read, jpeg_seek, + jpeg_draw)) { + Serial.printf("JPEG open fail: %s err=%d\n", path, g_jpeg->getLastError()); + free_jpeg(); + return false; + } + + const int nw = g_jpeg->getWidth(); + const int nh = g_jpeg->getHeight(); + const int scale = jpeg_scale_for(nw, nh); + int dw = nw; + int dh = nh; + if (scale == JPEG_SCALE_HALF) { + dw /= 2; + dh /= 2; + } else if (scale == JPEG_SCALE_QUARTER) { + dw /= 4; + dh /= 4; + } else if (scale == JPEG_SCALE_EIGHTH) { + dw /= 8; + dh /= 8; + } + + g_img_w = (uint16_t)dw; + g_img_h = (uint16_t)dh; + const int xoff = ((int)CANVAS_W - dw) / 2; + const int yoff = ((int)CANVAS_H - dh) / 2; + + canvas_clear(0x0000); + g_jpeg->setPixelType(RGB565_LITTLE_ENDIAN); + const bool ok = g_jpeg->decode(xoff, yoff, scale); + g_jpeg->close(); + free_jpeg(); + if (!ok) { + Serial.printf("JPEG decode fail: %s\n", path); + } + return ok; +} + +static bool load_png(const char *path) { + gif_close_session(); + free_jpeg(); + free_png(); + + g_png = new PNG(); + if (!g_png) { + return false; + } + + const int rc = + g_png->open(path, png_open, png_close, png_read, png_seek, png_draw); + if (rc != PNG_SUCCESS) { + Serial.printf("PNG open fail: %s rc=%d\n", path, rc); + free_png(); + return false; + } + + g_src_w = g_png->getWidth(); + g_src_h = g_png->getHeight(); + if (g_src_w <= 0 || g_src_h <= 0 || g_src_w > 640) { + Serial.printf("PNG bad size %dx%d\n", g_src_w, g_src_h); + g_png->close(); + free_png(); + return false; + } + + fit_size(g_src_w, g_src_h, &g_dst_w, &g_dst_h); + g_img_w = (uint16_t)g_dst_w; + g_img_h = (uint16_t)g_dst_h; + g_off_x = ((int)CANVAS_W - g_dst_w) / 2; + g_off_y = ((int)CANVAS_H - g_dst_h) / 2; + + canvas_clear(0x0000); + const int drc = g_png->decode(nullptr, 0); + g_png->close(); + free_png(); + if (drc != PNG_SUCCESS) { + Serial.printf("PNG decode fail: %s rc=%d\n", path, drc); + return false; + } + return true; +} + +static bool load_gif(const char *path) { + free_jpeg(); + free_png(); + gif_close_session(); + + g_gif = new AnimatedGIF(); + if (!g_gif) { + return false; + } + + g_gif->begin(GIF_PALETTE_RGB565_LE); + if (!g_gif->open(path, gif_open, gif_close, gif_read, gif_seek, gif_draw)) { + Serial.printf("GIF open fail: %s\n", path); + gif_close_session(); + return false; + } + + g_src_w = g_gif->getCanvasWidth(); + g_src_h = g_gif->getCanvasHeight(); + if (g_src_w <= 0 || g_src_h <= 0) { + gif_close_session(); + return false; + } + + fit_size(g_src_w, g_src_h, &g_dst_w, &g_dst_h); + g_img_w = (uint16_t)g_dst_w; + g_img_h = (uint16_t)g_dst_h; + g_off_x = ((int)CANVAS_W - g_dst_w) / 2; + g_off_y = ((int)CANVAS_H - g_dst_h) / 2; + g_gif_open = true; + + canvas_clear(0x0000); + int delay_ms = 0; + g_gif->playFrame(true, &delay_ms); + if (delay_ms < 20) { + delay_ms = 100; + } + g_gif_next_ms = millis() + (uint32_t)delay_ms; + return true; +} + +bool photo_view_init() { + if (g_ready) { + return true; + } + canvas_clear(0x0000); + canvas_sync_dsc(); + g_ready = true; + Serial.printf("photo_view: canvas %ux%u (%u bytes), free heap %u\n", + (unsigned)CANVAS_W, (unsigned)CANVAS_H, + (unsigned)(CANVAS_PIXELS * 2), (unsigned)ESP.getFreeHeap()); + return true; +} + +void photo_view_deinit() { + gif_close_session(); + free_jpeg(); + free_png(); + g_ready = false; + g_dsc.data = nullptr; +} + +bool photo_view_show(const PhotoEntry *entry) { + if (!entry || !photo_view_init()) { + return false; + } + + bool ok = false; + switch (entry->kind) { + case PHOTO_JPG: + ok = load_jpeg(entry->path); + break; + case PHOTO_PNG: + ok = load_png(entry->path); + break; + case PHOTO_GIF: + ok = load_gif(entry->path); + break; + } + canvas_sync_dsc(); + return ok; +} + +const lv_image_dsc_t *photo_view_dsc() { + return g_ready ? &g_dsc : nullptr; +} + +uint16_t photo_view_canvas_w() { return CANVAS_W; } +uint16_t photo_view_canvas_h() { return CANVAS_H; } +uint16_t photo_view_img_w() { return g_img_w; } +uint16_t photo_view_img_h() { return g_img_h; } + +bool photo_view_is_gif() { return g_gif_open; } + +bool photo_view_gif_tick() { + if (!g_gif_open || !g_gif) { + return false; + } + const uint32_t now = millis(); + if ((int32_t)(now - g_gif_next_ms) < 0) { + return false; + } + int delay_ms = 0; + g_gif->playFrame(true, &delay_ms); + if (delay_ms < 20) { + delay_ms = 100; + } + g_gif_next_ms = now + (uint32_t)delay_ms; + return true; +} diff --git a/src/sd_info.cpp b/src/sd_info.cpp new file mode 100644 index 0000000..88f9b53 --- /dev/null +++ b/src/sd_info.cpp @@ -0,0 +1,136 @@ +#include "sd_info.h" +#include "pins.h" + +#include +#include +#include + +static SPIClass sd_spi(VSPI); +static bool sd_ready = false; + +static const char *card_type_name(uint8_t t) { + switch (t) { + case CARD_MMC: return "MMC"; + case CARD_SD: return "SDSC"; + case CARD_SDHC: return "SDHC"; + case CARD_NONE: return "NONE"; + default: return "UNKNOWN"; + } +} + +static const char *detect_filesystem() { + File root = SD.open("/"); + if (!root) { + return "-"; + } + root.close(); + + uint64_t total = SD.totalBytes(); + if (total == 0) { + return "FAT"; + } + if (total > 32ULL * 1024ULL * 1024ULL) { + return "FAT32"; + } + if (total > 2ULL * 1024ULL * 1024ULL) { + return "FAT16"; + } + return "FAT12/16"; +} + +static uint32_t count_root_entries() { + File root = SD.open("/"); + if (!root || !root.isDirectory()) { + return 0; + } + uint32_t n = 0; + File f = root.openNextFile(); + while (f) { + n++; + f = root.openNextFile(); + } + root.close(); + return n; +} + +bool sd_init() { + if (sd_ready) { + return true; + } + + pinMode(SD_CS, OUTPUT); + digitalWrite(SD_CS, HIGH); + pinMode(CYD_TOUCH_CS, OUTPUT); + digitalWrite(CYD_TOUCH_CS, HIGH); + + sd_spi.begin(SD_SCK, SD_MISO, SD_MOSI, SD_CS); + + if (!SD.begin(SD_CS, sd_spi, 25000000)) { + sd_ready = false; + return false; + } + + sd_ready = true; + return true; +} + +void sd_deinit() { + if (sd_ready) { + SD.end(); + sd_ready = false; + } +} + +SdCardInfo sd_read_info() { + SdCardInfo info{}; + info.mounted = false; + info.present = false; + info.type = "NONE"; + info.filesystem = "-"; + info.card_bytes = 0; + info.total_bytes = 0; + info.used_bytes = 0; + info.free_bytes = 0; + info.root_files = 0; + + if (!sd_ready && !sd_init()) { + info.error = "Mount failed"; + return info; + } + + uint8_t type = SD.cardType(); + info.type = card_type_name(type); + + if (type == CARD_NONE) { + info.error = "No card"; + info.present = false; + return info; + } + + info.present = true; + info.mounted = true; + info.card_bytes = SD.cardSize(); + info.total_bytes = SD.totalBytes(); + info.used_bytes = SD.usedBytes(); + info.free_bytes = + (info.total_bytes > info.used_bytes) ? (info.total_bytes - info.used_bytes) : 0; + info.filesystem = detect_filesystem(); + info.root_files = count_root_entries(); + info.error = ""; + return info; +} + +String format_bytes(uint64_t bytes) { + const double b = static_cast(bytes); + char buf[48]; + if (bytes >= (1ULL << 30)) { + snprintf(buf, sizeof(buf), "%.2f GB", b / (1024.0 * 1024.0 * 1024.0)); + } else if (bytes >= (1ULL << 20)) { + snprintf(buf, sizeof(buf), "%.2f MB", b / (1024.0 * 1024.0)); + } else if (bytes >= (1ULL << 10)) { + snprintf(buf, sizeof(buf), "%.2f KB", b / 1024.0); + } else { + snprintf(buf, sizeof(buf), "%llu B", static_cast(bytes)); + } + return String(buf); +} diff --git a/src/sd_put.cpp b/src/sd_put.cpp new file mode 100644 index 0000000..2cd2623 --- /dev/null +++ b/src/sd_put.cpp @@ -0,0 +1,121 @@ +#include "sd_put.h" +#include "sd_info.h" + +#include + +static String read_line_timeout(uint32_t timeout_ms) { + String line; + const uint32_t start = millis(); + while (millis() - start < timeout_ms) { + while (Serial.available()) { + const char c = (char)Serial.read(); + if (c == '\n' || c == '\r') { + if (line.length()) { + return line; + } + continue; + } + line += c; + if (line.length() > 200) { + return line; + } + } + delay(1); + } + return line; +} + +bool sd_put_poll() { + if (!Serial.available()) { + return false; + } + + // 只在行首是 #PUT 时进入,避免吃掉普通日志 + if (Serial.peek() != '#') { + // 丢弃非协议噪声到换行,防止堵死 + while (Serial.available() && Serial.peek() != '#') { + const int c = Serial.read(); + if (c == '\n' || c == '\r') { + break; + } + } + return false; + } + + const String line = read_line_timeout(500); + if (!line.startsWith("#PUT ")) { + return false; + } + + // #PUT /paomo.mp3 4143009 + int sp1 = line.indexOf(' ', 5); + if (sp1 < 0) { + Serial.println("PUT_ERR bad args"); + return true; + } + const String path = line.substring(5, sp1); + const uint32_t size = (uint32_t)line.substring(sp1 + 1).toInt(); + if (path.length() < 2 || path[0] != '/' || size == 0 || size > 64UL * 1024UL * 1024UL) { + Serial.println("PUT_ERR bad path/size"); + return true; + } + + if (!sd_init()) { + Serial.println("PUT_ERR sd"); + return true; + } + + if (SD.exists(path.c_str())) { + SD.remove(path.c_str()); + } + + File f = SD.open(path.c_str(), FILE_WRITE); + if (!f) { + Serial.println("PUT_ERR open"); + return true; + } + + Serial.println("READY"); + Serial.flush(); + + // 窗口协议:每收满一块回 ACK,避免 RX 溢出 + constexpr size_t k_win = 4096; + uint8_t buf[k_win]; + uint32_t got = 0; + while (got < size) { + const uint32_t need = size - got; + const size_t chunk = need > k_win ? k_win : (size_t)need; + size_t n = 0; + const uint32_t wait_start = millis(); + while (n < chunk && millis() - wait_start < 30000) { + if (!Serial.available()) { + delay(1); + continue; + } + Serial.setTimeout(50); + const int r = Serial.readBytes(buf + n, chunk - n); + if (r > 0) { + n += (size_t)r; + } + } + if (n == 0) { + f.close(); + SD.remove(path.c_str()); + Serial.println("PUT_ERR timeout"); + return true; + } + if (f.write(buf, n) != n) { + f.close(); + SD.remove(path.c_str()); + Serial.println("PUT_ERR write"); + return true; + } + got += n; + Serial.printf("ACK %u\n", (unsigned)got); + Serial.flush(); + } + f.flush(); + f.close(); + Serial.println("DONE"); + return true; +} diff --git a/src/touch.cpp b/src/touch.cpp new file mode 100644 index 0000000..d43b68a --- /dev/null +++ b/src/touch.cpp @@ -0,0 +1,125 @@ +#include "touch.h" +#include "pins.h" + +#include + +/** + * SoftSPI XPT2046 + * BL↔TR 是矩形主对角线镜像(XY 对调),不是 180°(180° 会搞成 TL↔BR)。 + * 先按 rot2 得到旧 UI,再做对角修正,反变换喂给 LVGL 270。 + */ + +int16_t g_dbg_phys_x = -1; +int16_t g_dbg_phys_y = -1; +int16_t g_dbg_logic_x = -1; +int16_t g_dbg_logic_y = -1; +bool g_dbg_touch_down = false; + +static void soft_write(uint8_t data) { + for (int i = 7; i >= 0; --i) { + digitalWrite(CYD_TOUCH_MOSI, (data >> i) & 1); + digitalWrite(CYD_TOUCH_CLK, HIGH); + delayMicroseconds(2); + digitalWrite(CYD_TOUCH_CLK, LOW); + delayMicroseconds(2); + } +} + +static uint16_t soft_read12() { + uint16_t v = 0; + digitalWrite(CYD_TOUCH_CLK, HIGH); + delayMicroseconds(2); + digitalWrite(CYD_TOUCH_CLK, LOW); + delayMicroseconds(2); + for (int i = 0; i < 12; ++i) { + digitalWrite(CYD_TOUCH_CLK, HIGH); + delayMicroseconds(2); + v = (uint16_t)((v << 1) | (digitalRead(CYD_TOUCH_MISO) ? 1u : 0u)); + digitalWrite(CYD_TOUCH_CLK, LOW); + delayMicroseconds(2); + } + return v; +} + +static uint16_t xpt_read(uint8_t cmd) { + digitalWrite(CYD_TOUCH_CS, LOW); + soft_write(cmd); + uint16_t v = soft_read12(); + digitalWrite(CYD_TOUCH_CS, HIGH); + return v; +} + +static int16_t clampi(int32_t v, int32_t lo, int32_t hi) { + if (v < lo) { + return (int16_t)lo; + } + if (v > hi) { + return (int16_t)hi; + } + return (int16_t)v; +} + +void touch_init() { + pinMode(CYD_TOUCH_CS, OUTPUT); + pinMode(CYD_TOUCH_CLK, OUTPUT); + pinMode(CYD_TOUCH_MOSI, OUTPUT); + pinMode(CYD_TOUCH_MISO, INPUT); + pinMode(CYD_TOUCH_IRQ, INPUT); + digitalWrite(CYD_TOUCH_CS, HIGH); + digitalWrite(CYD_TOUCH_CLK, LOW); + Serial.println("Touch: SoftSPI + diagonal fix (BL/TR)"); +} + +void touch_read_cb(lv_indev_t * /*indev*/, lv_indev_data_t *data) { + uint16_t adc_x = xpt_read(0x90); + uint16_t adc_y = xpt_read(0xD0); + adc_x = (uint16_t)((adc_x + xpt_read(0x90)) / 2); + adc_y = (uint16_t)((adc_y + xpt_read(0xD0)) / 2); + + const bool irq = (digitalRead(CYD_TOUCH_IRQ) == LOW); + const bool in_range = + (adc_x > 80 && adc_x < 4000 && adc_y > 80 && adc_y < 4000); + + if (!in_range || (!irq && (adc_x < 200 || adc_y < 200))) { + data->state = LV_INDEV_STATE_RELEASED; + g_dbg_touch_down = false; + return; + } + + const int16_t p_x = (int16_t)adc_x; + const int16_t p_y = (int16_t)(4095 - adc_y); + + int16_t x = map(p_x, 200, 3700, 1, SCREEN_WIDTH); + int16_t y = map(p_y, 240, 3800, 1, SCREEN_HEIGHT); + x = clampi(x, 0, SCREEN_WIDTH - 1); + y = clampi(y, 0, SCREEN_HEIGHT - 1); + + // 旧 UI(LVGL270):(y, 239-x) — 该空间里 BL↔TR,做主对角线镜像 + // (ux,uy) -> (uy*(319/239), ux*(239/319)) + const int32_t old_ux = y; + const int32_t old_uy = (SCREEN_WIDTH - 1) - x; + int16_t ui_x = clampi((old_uy * (UI_HOR_RES - 1)) / (UI_VER_RES - 1), 0, + UI_HOR_RES - 1); + int16_t ui_y = clampi((old_ux * (UI_VER_RES - 1)) / (UI_HOR_RES - 1), 0, + UI_VER_RES - 1); + + // 反变换喂 LVGL,使最终落在 (ui_x, ui_y) + const int16_t feed_x = (int16_t)((SCREEN_WIDTH - 1) - ui_y); + const int16_t feed_y = ui_x; + + g_dbg_phys_x = x; + g_dbg_phys_y = y; + g_dbg_logic_x = ui_x; + g_dbg_logic_y = ui_y; + g_dbg_touch_down = true; + + static uint32_t last_log = 0; + if (millis() - last_log > 80) { + last_log = millis(); + Serial.printf("Touch UI(%d,%d)\n", ui_x, ui_y); + } + + data->point.x = feed_x; + data->point.y = feed_y; + data->state = LV_INDEV_STATE_PRESSED; +} diff --git a/src/ui.cpp b/src/ui.cpp new file mode 100644 index 0000000..90dfd2a --- /dev/null +++ b/src/ui.cpp @@ -0,0 +1,296 @@ +#include "ui.h" +#include "photo_list.h" +#include "photo_view.h" +#include "pins.h" + +#include +#include +#include +#include + +static constexpr uint32_t COL_BG = 0x0A1016; +static constexpr uint32_t COL_INK = 0xEAF0F6; +static constexpr uint32_t COL_MUTED = 0x7A8B9C; +static constexpr uint32_t COL_OK = 0x3DDC97; +static constexpr uint32_t COL_BAD = 0xE85D4C; +static constexpr uint32_t COL_ACCENT = 0x4FC3F7; +static constexpr uint32_t COL_BTN = 0x243140; +static constexpr uint32_t COL_BTN_HI = 0x1A4A6E; + +static lv_obj_t *lbl_title; +static lv_obj_t *lbl_chip; +static lv_obj_t *lbl_index; +static lv_obj_t *lbl_name; +static lv_obj_t *lbl_hint; +static lv_obj_t *img_photo; +static lv_obj_t *btn_prev; +static lv_obj_t *btn_next; + +static int16_t g_index = -1; +static char g_index_text[24] = "0/0"; +static char g_name_text[48] = "-"; + +static const char *basename_of(const char *path) { + const char *slash = strrchr(path, '/'); + return slash ? slash + 1 : path; +} + +static void style_btn(lv_obj_t *btn, uint32_t bg) { + lv_obj_set_style_radius(btn, 8, 0); + lv_obj_set_style_bg_color(btn, lv_color_hex(bg), 0); + lv_obj_set_style_bg_opa(btn, LV_OPA_COVER, 0); + lv_obj_set_style_shadow_width(btn, 0, 0); + lv_obj_set_style_border_width(btn, 0, 0); + lv_obj_set_style_pad_all(btn, 0, 0); +} + +static void refresh_labels() { + const uint16_t n = photo_list_count(); + if (n == 0 || g_index < 0) { + snprintf(g_index_text, sizeof(g_index_text), "0/0"); + snprintf(g_name_text, sizeof(g_name_text), "No photos"); + } else { + snprintf(g_index_text, sizeof(g_index_text), "%d/%u", (int)(g_index + 1), + (unsigned)n); + const PhotoEntry *e = photo_list_get((uint16_t)g_index); + snprintf(g_name_text, sizeof(g_name_text), "%s", + e ? basename_of(e->path) : "-"); + } + if (lbl_index) { + lv_label_set_text(lbl_index, g_index_text); + } + if (lbl_name) { + lv_label_set_text(lbl_name, g_name_text); + } +} + +static void show_current() { + const uint16_t n = photo_list_count(); + if (n == 0) { + g_index = -1; + if (img_photo) { + lv_image_set_src(img_photo, nullptr); + } + if (lbl_hint) { + lv_label_set_text(lbl_hint, "Put jpg/png/gif in / or /photos"); + } + refresh_labels(); + return; + } + + if (g_index < 0 || g_index >= (int16_t)n) { + g_index = 0; + } + + const PhotoEntry *e = photo_list_get((uint16_t)g_index); + const bool ok = e && photo_view_show(e); + if (img_photo) { + const lv_image_dsc_t *dsc = photo_view_dsc(); + // Force refresh even when dsc pointer is unchanged + lv_image_set_src(img_photo, nullptr); + if (ok && dsc) { + lv_image_set_src(img_photo, dsc); + } + lv_obj_invalidate(img_photo); + } + if (lbl_hint) { + if (!ok) { + lv_label_set_text(lbl_hint, "Decode failed (size/format?)"); + } else if (photo_view_is_gif()) { + lv_label_set_text(lbl_hint, "GIF | tap L/R to switch"); + } else { + lv_label_set_text(lbl_hint, "Tap left=prev right=next"); + } + } + refresh_labels(); +} + +static void go_delta(int delta) { + const uint16_t n = photo_list_count(); + if (n == 0) { + return; + } + int16_t next = (int16_t)(g_index + delta); + while (next < 0) { + next = (int16_t)(next + (int16_t)n); + } + while (next >= (int16_t)n) { + next = (int16_t)(next - (int16_t)n); + } + if (next == g_index && n > 1) { + // still reload if single? skip + } + g_index = next; + show_current(); +} + +static void on_prev(lv_event_t *e) { + LV_UNUSED(e); + go_delta(-1); +} + +static void on_next(lv_event_t *e) { + LV_UNUSED(e); + go_delta(1); +} + +static void on_tap_zone(lv_event_t *e) { + lv_indev_t *indev = lv_indev_active(); + if (!indev) { + return; + } + lv_point_t p; + lv_indev_get_point(indev, &p); + if (p.x < (UI_HOR_RES / 2)) { + go_delta(-1); + } else { + go_delta(1); + } +} + +void ui_reload_album() { + const uint16_t n = photo_list_scan(); + Serial.printf("Photos found: %u\n", (unsigned)n); + for (uint16_t i = 0; i < n; i++) { + const PhotoEntry *e = photo_list_get(i); + if (e) { + Serial.printf(" [%u] %s\n", (unsigned)i, e->path); + } + } + if (n == 0) { + g_index = -1; + } else if (g_index < 0 || g_index >= (int16_t)n) { + g_index = 0; + } + show_current(); +} + +void ui_create() { + photo_view_init(); + + lv_obj_t *scr = lv_screen_active(); + lv_obj_set_style_bg_color(scr, lv_color_hex(COL_BG), 0); + lv_obj_set_style_bg_opa(scr, LV_OPA_COVER, 0); + lv_obj_clear_flag(scr, LV_OBJ_FLAG_SCROLLABLE); + + // Full-screen tap zones (behind chrome) + lv_obj_t *tap = lv_obj_create(scr); + lv_obj_set_size(tap, UI_HOR_RES, UI_VER_RES); + lv_obj_set_pos(tap, 0, 0); + lv_obj_set_style_bg_opa(tap, LV_OPA_TRANSP, 0); + lv_obj_set_style_border_width(tap, 0, 0); + lv_obj_set_style_pad_all(tap, 0, 0); + lv_obj_clear_flag(tap, LV_OBJ_FLAG_SCROLLABLE); + lv_obj_add_flag(tap, LV_OBJ_FLAG_CLICKABLE); + lv_obj_add_event_cb(tap, on_tap_zone, LV_EVENT_CLICKED, nullptr); + + img_photo = lv_image_create(scr); + lv_obj_set_size(img_photo, photo_view_canvas_w(), photo_view_canvas_h()); + lv_image_set_scale(img_photo, 512); // 256=1x, 512=2x -> full 320x240 + lv_obj_align(img_photo, LV_ALIGN_CENTER, 0, 0); + lv_obj_clear_flag(img_photo, LV_OBJ_FLAG_CLICKABLE); + + // Top bar + lv_obj_t *top = lv_obj_create(scr); + lv_obj_set_size(top, UI_HOR_RES, 28); + lv_obj_set_pos(top, 0, 0); + lv_obj_set_style_bg_color(top, lv_color_hex(COL_BG), 0); + lv_obj_set_style_bg_opa(top, LV_OPA_80, 0); + lv_obj_set_style_border_width(top, 0, 0); + lv_obj_set_style_pad_all(top, 0, 0); + lv_obj_set_style_radius(top, 0, 0); + lv_obj_clear_flag(top, LV_OBJ_FLAG_SCROLLABLE); + lv_obj_clear_flag(top, LV_OBJ_FLAG_CLICKABLE); + + lbl_title = lv_label_create(top); + lv_label_set_text(lbl_title, "ALBUM"); + lv_obj_set_style_text_font(lbl_title, &lv_font_montserrat_16, 0); + lv_obj_set_style_text_color(lbl_title, lv_color_hex(COL_ACCENT), 0); + lv_obj_set_pos(lbl_title, 8, 5); + + lbl_index = lv_label_create(top); + lv_label_set_text(lbl_index, "0/0"); + lv_obj_set_style_text_font(lbl_index, &lv_font_montserrat_14, 0); + lv_obj_set_style_text_color(lbl_index, lv_color_hex(COL_INK), 0); + lv_obj_align(lbl_index, LV_ALIGN_TOP_MID, 0, 6); + + lbl_chip = lv_label_create(top); + lv_label_set_text(lbl_chip, "-"); + lv_obj_set_style_text_font(lbl_chip, &lv_font_montserrat_14, 0); + lv_obj_set_style_text_color(lbl_chip, lv_color_hex(COL_MUTED), 0); + lv_obj_align(lbl_chip, LV_ALIGN_TOP_RIGHT, -8, 6); + + // Bottom bar + lv_obj_t *bot = lv_obj_create(scr); + lv_obj_set_size(bot, UI_HOR_RES, 40); + lv_obj_set_pos(bot, 0, UI_VER_RES - 40); + lv_obj_set_style_bg_color(bot, lv_color_hex(COL_BG), 0); + lv_obj_set_style_bg_opa(bot, LV_OPA_80, 0); + lv_obj_set_style_border_width(bot, 0, 0); + lv_obj_set_style_pad_all(bot, 0, 0); + lv_obj_set_style_radius(bot, 0, 0); + lv_obj_clear_flag(bot, LV_OBJ_FLAG_SCROLLABLE); + + btn_prev = lv_button_create(bot); + lv_obj_set_pos(btn_prev, 8, 6); + lv_obj_set_size(btn_prev, 56, 28); + lv_obj_add_flag(btn_prev, LV_OBJ_FLAG_CLICKABLE); + lv_obj_add_event_cb(btn_prev, on_prev, LV_EVENT_CLICKED, nullptr); + style_btn(btn_prev, COL_BTN); + lv_obj_t *lp = lv_label_create(btn_prev); + lv_label_set_text(lp, "<"); + lv_obj_set_style_text_font(lp, &lv_font_montserrat_16, 0); + lv_obj_set_style_text_color(lp, lv_color_hex(COL_INK), 0); + lv_obj_center(lp); + + btn_next = lv_button_create(bot); + lv_obj_set_pos(btn_next, UI_HOR_RES - 64, 6); + lv_obj_set_size(btn_next, 56, 28); + lv_obj_add_flag(btn_next, LV_OBJ_FLAG_CLICKABLE); + lv_obj_add_event_cb(btn_next, on_next, LV_EVENT_CLICKED, nullptr); + style_btn(btn_next, COL_BTN_HI); + lv_obj_t *ln = lv_label_create(btn_next); + lv_label_set_text(ln, ">"); + lv_obj_set_style_text_font(ln, &lv_font_montserrat_16, 0); + lv_obj_set_style_text_color(ln, lv_color_hex(COL_INK), 0); + lv_obj_center(ln); + + lbl_name = lv_label_create(bot); + lv_label_set_text(lbl_name, "-"); + lv_label_set_long_mode(lbl_name, LV_LABEL_LONG_CLIP); + lv_obj_set_width(lbl_name, UI_HOR_RES - 140); + lv_obj_set_style_text_font(lbl_name, &lv_font_montserrat_14, 0); + lv_obj_set_style_text_color(lbl_name, lv_color_hex(COL_INK), 0); + lv_obj_align(lbl_name, LV_ALIGN_TOP_MID, 0, 4); + + lbl_hint = lv_label_create(bot); + lv_label_set_text(lbl_hint, "Tap left/right"); + lv_obj_set_style_text_font(lbl_hint, &lv_font_montserrat_14, 0); + lv_obj_set_style_text_color(lbl_hint, lv_color_hex(COL_MUTED), 0); + lv_obj_align(lbl_hint, LV_ALIGN_TOP_MID, 0, 20); + + // Raise bars / buttons above tap target for hit testing + lv_obj_move_foreground(top); + lv_obj_move_foreground(bot); +} + +void ui_tick() { + if (photo_view_gif_tick() && img_photo) { + lv_obj_invalidate(img_photo); + } +} + +void ui_update(const SdCardInfo &info) { + if (!lbl_chip) { + return; + } + if (!info.mounted || !info.present) { + lv_label_set_text(lbl_chip, info.error.length() ? info.error.c_str() : "TF?"); + lv_obj_set_style_text_color(lbl_chip, lv_color_hex(COL_BAD), 0); + } else { + char chip[40]; + snprintf(chip, sizeof(chip), "OK %s", info.type); + lv_label_set_text(lbl_chip, chip); + lv_obj_set_style_text_color(lbl_chip, lv_color_hex(COL_OK), 0); + } +} diff --git a/tools/make_test_photos.py b/tools/make_test_photos.py new file mode 100644 index 0000000..316b0f1 --- /dev/null +++ b/tools/make_test_photos.py @@ -0,0 +1,75 @@ +#!/usr/bin/env python3 +"""Generate 320x240 JPG/PNG/GIF samples into assets/photos.""" +from __future__ import annotations + +from pathlib import Path + +from PIL import Image, ImageDraw, ImageFont + +ROOT = Path(__file__).resolve().parents[1] +OUT = ROOT / "assets" / "photos" +W, H = 320, 240 + + +def font(size: int = 28) -> ImageFont.ImageFont: + for name in ( + r"C:\Windows\Fonts\msyh.ttc", + r"C:\Windows\Fonts\arial.ttf", + r"C:\Windows\Fonts\consola.ttf", + ): + try: + return ImageFont.truetype(name, size) + except OSError: + pass + return ImageFont.load_default() + + +def card(bg, accent, title: str, subtitle: str, path: Path, fmt: str) -> None: + im = Image.new("RGB", (W, H), bg) + d = ImageDraw.Draw(im) + for i in range(0, H, 12): + c = tuple(max(0, min(255, v + (i % 24) - 12)) for v in accent) + d.rectangle((0, i, W, i + 6), fill=c) + d.rectangle((16, 40, W - 16, H - 40), fill=bg) + d.rectangle((16, 40, W - 16, H - 40), outline=accent, width=3) + d.text((28, 70), title, fill=(234, 240, 246), font=font(36)) + d.text((28, 130), subtitle, fill=(122, 139, 156), font=font(20)) + d.text((28, 170), "CYD ALBUM TEST", fill=accent, font=font(16)) + if fmt == "JPEG": + im.save(path, "JPEG", quality=90) + else: + im.save(path, "PNG") + print(f"wrote {path} ({path.stat().st_size} bytes)") + + +def main() -> None: + OUT.mkdir(parents=True, exist_ok=True) + card((10, 16, 22), (79, 195, 247), "01 JPG", "tap left / right", OUT / "01_blue.jpg", "JPEG") + card((20, 12, 28), (232, 93, 76), "02 JPG", "red sample", OUT / "02_red.jpg", "JPEG") + card((8, 28, 20), (61, 220, 151), "03 PNG", "green sample", OUT / "03_green.png", "PNG") + + frames = [] + for i in range(6): + im = Image.new("RGB", (W, H), (10, 16, 22)) + d = ImageDraw.Draw(im) + d.text((24, 24), "04 GIF", fill=(234, 240, 246), font=font(32)) + d.text((24, 70), "animated", fill=(122, 139, 156), font=font(18)) + x = 20 + i * 40 + d.rectangle((x, 120, x + 80, 180), fill=(255, 200, 40)) + d.rectangle((20, 200, 300, 210), fill=(36, 49, 64)) + frames.append(im) + gif_path = OUT / "04_bounce.gif" + frames[0].save( + gif_path, + save_all=True, + append_images=frames[1:], + duration=120, + loop=0, + optimize=False, + ) + print(f"wrote {gif_path} ({gif_path.stat().st_size} bytes)") + print("DONE") + + +if __name__ == "__main__": + main() diff --git a/tools/sd_put.py b/tools/sd_put.py new file mode 100644 index 0000000..72b3fab --- /dev/null +++ b/tools/sd_put.py @@ -0,0 +1,150 @@ +#!/usr/bin/env python3 +"""Upload a file to the CYD TF card over serial (#PUT + ACK window).""" +from __future__ import annotations + +import argparse +import sys +import time +from pathlib import Path + +try: + import serial + from serial.tools import list_ports +except ImportError: + print("Need pyserial: pip install pyserial", file=sys.stderr) + sys.exit(1) + +WIN = 4096 + + +def pick_port(preferred: str | None) -> str: + if preferred: + return preferred + ports = list(list_ports.comports()) + for p in ports: + desc = (p.description or "") + (p.hwid or "") + if "USB" in desc.upper() or "UART" in desc.upper() or "CP210" in desc.upper() or "CH340" in desc.upper(): + return p.device + if ports: + return ports[0].device + raise SystemExit("No serial port found") + + +def main() -> int: + ap = argparse.ArgumentParser() + ap.add_argument("file", type=Path, help="Local file to upload") + ap.add_argument("--port", default=None) + ap.add_argument("--baud", type=int, default=460800) + ap.add_argument("--remote", default="/paomo.mp3") + args = ap.parse_args() + + path: Path = args.file + if not path.is_file(): + print(f"Missing file: {path}", file=sys.stderr) + return 1 + + size = path.stat().st_size + port = pick_port(args.port) + print(f"Port {port} {path.name} -> {args.remote} ({size} bytes)", flush=True) + + ser = serial.Serial() + ser.port = port + ser.baudrate = args.baud + ser.timeout = 1 + ser.dtr = False + ser.rts = False + ser.open() + # 硬复位 ESP32 + ser.rts = True + time.sleep(0.1) + ser.rts = False + print("waiting BOOT_OK...", flush=True) + deadline = time.time() + 12 + booted = False + while time.time() < deadline: + line = ser.readline().decode("utf-8", errors="ignore").strip() + if line: + print("<", line, flush=True) + if "BOOT_OK" in line: + booted = True + break + if not booted: + print("warn: BOOT_OK not seen, continuing", flush=True) + time.sleep(0.5) + ser.reset_input_buffer() + + cmd = f"#PUT {args.remote} {size}\n".encode("ascii") + print(f"send {cmd!r}", flush=True) + ser.write(cmd) + ser.flush() + + deadline = time.time() + 20 + while time.time() < deadline: + line = ser.readline().decode("utf-8", errors="ignore").strip() + if line: + print("<", line, flush=True) + if line == "READY": + break + if line.startswith("PUT_ERR"): + return 2 + else: + print("Timeout waiting READY", file=sys.stderr, flush=True) + return 3 + + sent = 0 + t0 = time.time() + with path.open("rb") as f: + while sent < size: + chunk = f.read(min(WIN, size - sent)) + if not chunk: + break + ser.write(chunk) + ser.flush() + sent += len(chunk) + + # 等 ACK + ack_deadline = time.time() + 30 + acked = False + while time.time() < ack_deadline: + line = ser.readline().decode("utf-8", errors="ignore").strip() + if not line: + continue + print("<", line, flush=True) + if line.startswith("PUT_ERR"): + return 4 + if line.startswith("ACK "): + try: + got = int(line.split()[1]) + except (IndexError, ValueError): + continue + if got >= sent: + acked = True + break + if line == "DONE" and sent >= size: + print("OK", flush=True) + return 0 + if not acked: + print(f"Timeout waiting ACK after {sent}", file=sys.stderr, flush=True) + return 4 + + if sent % (256 * 1024) < WIN or sent == size: + rate = sent / max(time.time() - t0, 0.001) + print(f"sent {sent}/{size} ({rate/1024:.1f} KB/s)", flush=True) + + deadline = time.time() + 30 + while time.time() < deadline: + line = ser.readline().decode("utf-8", errors="ignore").strip() + if line: + print("<", line, flush=True) + if line == "DONE": + print("OK", flush=True) + return 0 + if line.startswith("PUT_ERR"): + return 5 + + print("Timeout waiting DONE", file=sys.stderr, flush=True) + return 6 + + +if __name__ == "__main__": + sys.exit(main())