From 1d1509d880276fb357a3af3d6735126b00884335 Mon Sep 17 00:00:00 2001 From: tadeubas Date: Sun, 25 Jan 2026 17:14:03 -0300 Subject: [PATCH 1/2] feat: add krux apps --- .gitignore | 3 +- CHANGELOG.md | 5 + docs/getting-started/features/tools.en.md | 10 + docs/img/maixpy_amigo/krux-apps-300.en.png | Bin 0 -> 53445 bytes .../img/maixpy_amigo/tools-options-300.en.png | Bin 61618 -> 64016 bytes docs/img/maixpy_m5stickv/krux-apps-250.en.png | Bin 0 -> 92212 bytes .../maixpy_m5stickv/tools-options-250.en.png | Bin 103044 -> 105577 bytes i18n/i18n.py | 1 + i18n/translations/de-DE.json | 7 + i18n/translations/es-MX.json | 7 + i18n/translations/fr-FR.json | 7 + i18n/translations/ja-JP.json | 7 + i18n/translations/ko-KR.json | 9 +- i18n/translations/nl-NL.json | 7 + i18n/translations/pt-BR.json | 7 + i18n/translations/ru-RU.json | 7 + i18n/translations/tr-TR.json | 7 + i18n/translations/vi-VN.json | 7 + i18n/translations/zh-CN.json | 7 + kapps/k_qr.mpy | Bin 0 -> 428 bytes kapps/k_qr.py | 57 + kapps/nostr.mpy | Bin 0 -> 18088 bytes kapps/nostr.py | 1069 +++++++++++++++++ kapps/steganography.mpy | Bin 0 -> 6938 bytes kapps/steganography.py | 570 +++++++++ krux | 14 +- pyproject.toml | 11 +- simulator/generate-device-screenshots.sh | 1 + simulator/k_qr.py | 1 + simulator/kruxsim/mocks/machine.py | 5 - simulator/kruxsim/mocks/uos.py | 13 +- simulator/kruxsim/mocks/vfs.py | 59 + simulator/nostr.py | 1 + simulator/sequences/tools-check-sd.txt | 2 +- simulator/sequences/tools-datum-tool.txt | 1 + simulator/sequences/tools-krux-apps.txt | 10 + simulator/simulator.py | 6 + simulator/steganography.py | 1 + src/boot.py | 57 +- src/krux/firmware.py | 37 +- src/krux/krux_settings.py | 19 +- src/krux/pages/file_manager.py | 2 +- src/krux/pages/kapps.py | 305 +++++ src/krux/pages/login.py | 3 + src/krux/pages/settings_page.py | 4 +- src/krux/pages/tools.py | 27 +- src/krux/sd_card.py | 1 + src/krux/settings.py | 4 +- src/krux/translations/__init__.py | 7 + src/krux/translations/de.py | 7 + src/krux/translations/es.py | 7 + src/krux/translations/fr.py | 7 + src/krux/translations/ja.py | 7 + src/krux/translations/ko.py | 9 +- src/krux/translations/nl.py | 7 + src/krux/translations/pt.py | 7 + src/krux/translations/ru.py | 7 + src/krux/translations/tr.py | 7 + src/krux/translations/vi.py | 7 + src/krux/translations/zh.py | 7 + tests/conftest.py | 1 + tests/files/kapp.py | 2 + tests/firmware/__init__.py | 0 tests/kapps/__init__.py | 28 + tests/kapps/test_nostr.py | 128 ++ tests/kapps/test_steganography.py | 55 + tests/pages/test_kapps.py | 489 ++++++++ tests/pages/test_tools.py | 36 + 68 files changed, 3154 insertions(+), 49 deletions(-) create mode 100644 docs/img/maixpy_amigo/krux-apps-300.en.png create mode 100644 docs/img/maixpy_m5stickv/krux-apps-250.en.png create mode 100644 kapps/k_qr.mpy create mode 100644 kapps/k_qr.py create mode 100644 kapps/nostr.mpy create mode 100644 kapps/nostr.py create mode 100644 kapps/steganography.mpy create mode 100644 kapps/steganography.py create mode 120000 simulator/k_qr.py create mode 100644 simulator/kruxsim/mocks/vfs.py create mode 120000 simulator/nostr.py create mode 100644 simulator/sequences/tools-krux-apps.txt create mode 120000 simulator/steganography.py create mode 100644 src/krux/pages/kapps.py create mode 100644 tests/files/kapp.py delete mode 100644 tests/firmware/__init__.py create mode 100644 tests/kapps/__init__.py create mode 100644 tests/kapps/test_nostr.py create mode 100644 tests/kapps/test_steganography.py create mode 100644 tests/pages/test_kapps.py diff --git a/.gitignore b/.gitignore index 02a62f233..937565dd2 100644 --- a/.gitignore +++ b/.gitignore @@ -82,7 +82,8 @@ simulator/flash !tests/files/* # ignore build-release files -krux-*/ktool* +ktool-* +*mpy.sig # IDE files .vscode diff --git a/CHANGELOG.md b/CHANGELOG.md index bb69425d7..299661260 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,11 @@ ### New Device Support: Embed Fire This device shares similarities with the WonderMV but stands out with its larger 2.4" touchscreen. +### Krux apps (Kapps) +New tool for executing developer-signed utility apps that extend Krux functionality. Includes two initial Kapps: +- Nostr: Create or load your key using NIP-06 or NIP-19, and airgap-sign events +- Steganography: Concel data within BMP image files + ### New Device Support: WonderK PRO From the wonderful land of Korea, a new creation arrives: the WonderK PRO. Created by an entrepreneur who loves the Krux project, the WonderK follows in the footsteps of the WonderMV, but boasts a larger 2.8" display! Computer simulator for the WonderK device is also included. diff --git a/docs/getting-started/features/tools.en.md b/docs/getting-started/features/tools.en.md index 48feb8274..bc2155e2a 100644 --- a/docs/getting-started/features/tools.en.md +++ b/docs/getting-started/features/tools.en.md @@ -3,6 +3,16 @@ Here are some useful tools that are available as soon as Krux starts! These are +### Load Krux app + + + +Run developer-signed Krux applications (Kapps) that are not suited to be part of the main firmware. Copy its `.mpy` file and corresponding signature to an SD card to load it onto the device. When executed, the Kapp is stored in the user's flash memory (just like custom settings) and this process modifies the last two words of the [Tamper Detection](tamper-detection.md#tamper-check-flash-hash-tc-flash-hash-a-tamper-detection-tool) (User's Region). + +For example, the **Nostr Kapp** allows converting a mnemonic into a Nostr `nsec` key and air-gapped event signing. + +
+ ### Datum Tool diff --git a/docs/img/maixpy_amigo/krux-apps-300.en.png b/docs/img/maixpy_amigo/krux-apps-300.en.png new file mode 100644 index 0000000000000000000000000000000000000000..740999f0ca26e1517333e7ae2d5d3feaaf893cac GIT binary patch literal 53445 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�cYB@BUIxd-5xI>7)*UO+h#PsGs{SERKY|z(l6-!`NRs8CW%sbF;d?Pc#PNb@LNG3-N6Cj^|OQ_ zv-tYIRG349B1*i48Ff?z65ErOfq{uMU!=!$r^fBuxePDbPd4uld@^WS1)u7-AN@aO zXR-8%{ZBdN475>(@|%ECDTz5!i&AZCwHZRqAv9XY#p-qtWRvAuSoOOl|VJ3T+e7-SIEw zbp`+SLV~OPB08qQm|+sZmx-w|G{1^WJvWVOt?45u2u@@AmBJ8^#6j{Ns)_TqcKY^! z3<941fKYKTQ5jJ*v{kCBH^uRJ=*E!gds+3y5?Tjn;P<%yAuwvp)i94gkqAYoVGK3z(jgngl^NL zraG!*!BgH=``R;xX7{48@P>OU#tvmhivR;fHS>}F{jLlDthn{HJDI0QVRHtmPLagL z5xfyCT4^Cm^(-%Z@mA$;eaoMY1llK$AQe$**xdx{j&qs@49aZ5H-#GY&;B zfN8GkPsGR8Tv+yxT6={A(sV6fWVQF?P7*>2G5q7n&}B@dI~bwNBZI(k?6jVj`_h>= zTs7gqih8#1+sQc=8jnTE0wiPOh!UfHNDtkfAX=X<{?0JyZiFT^{HZt^V~$a$QXj^~ z#E%9LdCH^lKNWo}j7<_?sDt1d3}`^h6)_=#!eLIQ6}vzAYv#6wu9$t+MdB6To>Vd| z0J;}`E!Fo%g%W?Ag<}rG8ZU`*`9eO16Rhol;jkzL%ie@&%HZ#ryELl2bEnM=|Kc2< zp8wBs7p3B$;a!r-)ATQ|)g6!Ctt z$?#w(>|v_owohZx&~U?Z`}JdWn!n>-_0IpS>-|C{k1<^hLPY9-UW}Q{kjth42x>PC zID)}nmaa%5zOTHTk3z;6b~KJ$;aIYc0TmTS&sy6IrvLx9J;g)bQ~7Pr=u!~LTS=$7 zLW@B4cd-)m8AxBLY_uE@?X&w(Jzs?HGw5ItWU{V(eH@>h}WM zertQ$Scx7pS&nsv{F54zi<&8@1KJNN)SoOZ7mC>Q+=m|ZWyBi<5;FM+vf{qM$G6yj zz5D=0hodi_vCsy0l#bwR5`Dg$2})|VX0Oz5+WWVu)VV_=sWzyT_b5&--#*`!Ar^%G zE0Y0F9Q1L@lT4>SCc&R2MO19`3rC_F>*pwreXooa=gK<4z51C}3POQ@+w)fhkg&wv zI}NCafe9;VbM|$a+PIKC?E#zPsS@mp&tfAAvx9C(N z3MOUEk{oPO&~72`4=th$ht!v98@C^3e>+%*TGvb!o@u`->n}luo4;Icf;c(ChW_vb z@Ru1Kx9dVc^);Awxz)O~$6$1gIggZz$GiLYpTvPdkl84>CYoVt4oiZ>^g(q2<0MYT zOgZnXnBsEfH5NS}Am$IG6XbY;t+O1O@BU3yWWV;{Ue5AT_)D^9FIQPtJRSN-A#+ zo%n-Obab4V@fYuh;g8HP?9_kypnxu=?RayMKrlb^N%}W+g-jqQNuB~V>I{|1Nz3e~ zsALS6vXo*cve4S)lfoq&P%9VWQ!mQ&WP}tjqBJ(r>b>G8 z)0yABOHyU!Qtn&$(0&8m=X;$^gRHW5%+=zE*rgNuoDRTUW4p1g_-I;9;+*UXOz0AR zg2|&4gOsCXThUairoa_|>KP;iS8?VaBHwzQ)WM0_gVh(O;A`b)Dm;Q&yWWm}pqzQf z5T#y*y1T;t+U}akU{?TVa_V_k)$HeaXW>|BfMih1&Zw{&ICerx4SpT!Jn3dh9KP7~ zs``Z+WqDL|xKPGxZ6dFnC@z*A4ZiC10CXK3Z|<$~Yqyf_s&B!8b3VMGRz#hdsk+ae zfx0E5;I)Aug1!s(#b$E4WapHx>hiJIvWu^O-!mc2*;fx@oV{A4b*idA*0#|$CYBWAz>z1VS@GR9?6LBYb?-9Q>Mkur}tu*MC(gAV`Y$Hqev@Q7qRIwf4=xkt(ImKCq{Mf2f$srnZb7I-ZHcPc z-cr)NYA+6*eGCe;z>*vB5y5|XDyfEV%pe|QCUU5e>oi#BVGCS!JYT|00byhAyTI;G zhmvk}_7WB;DwT)Vg$$+{5A|(9jR^F*RPxst#jeoteWHc8f*Kn2`uJ8!fJevuACFFP zrLj~ysm7d6pKLsd3CmHzxkL_)ymNIxq;MZHRN6!vULCpp?G=}m z%aP4DF3RmU?nggvZ zh^x=DKgn@)!^X5oVrGj9j8cI;KecCCfR857h{8VuCf;k4IZ0_it(&=>acZtc4IpHP z<1M_^AJJyRv7HwvN4Fe03hRfc zNRiiHL!_^n<(t{RJaAMU0}laGN5^Ya6T#xMUvX&&D4xqO`db-9D!FZ>buJ_`4bs09 zk%SwhA^t$A3#;Y&mKyZ;H~=*c`+(4t6NRA!vAI5@vR;A~m=91fB*h=ho0h+A4!bT-=T6I1Ag3vmap=2 z6-J;9CK#*OODn07U% zSwqufNF)40MEOk}C{5B}Aa;-+2hD7+6uvBBd%z!IeO0Ui8Kgqcl8U)*TK)$S&HjUk z_@$26Z{K`9#qA6k)=2gssX-p=*r83^5$n}Qdgr~+=8XU%ZaxS7NyN#?9Z86i< z&-4=>J&bZ(lvkp^*{pz;bH$z5d`3Xo27mbdK&D_~h!M?f~eykxX-7z&sDoX8eTg^nNiz`x675qMVqa~w+R$65~A;PLD}!qotQjx+!x zF1~aFKf%B~!KgRMu1sZA?qelpPZe?qLZoCxq2m;v88S>iNrPn68H`HYRcv&;8cXPc zw%!Yx03X%rkCh9R!GW)@PiK1**uG3fzAOq31?N&1=Cnk-uUriYs|xCNrQo zv+O#Ae@RY{-Vc3G{#RsCf$XE&g!=_ zZv;gds|cclOEx)Qxe2WsNSHzr-Q>)1=p(C|ZOsUS7)7C3>Ap?;#tasSfg+*otKm$- zeHKe}pM?YE{0tG0F~4EDhfRtj@I(LW1u#QU6_>_rO2O5PGwF8*ta22S_4!gn!k}c& ziEDEC0@a2ri%xP0ODOOjjyEf1;P-NP<}Jp;qE6=KS1c%d#e$udB)EOY5EVbUIvp96 zv!Xs^Wz630UArpXj6g>#axP=Uado!x4tx@{3Z{dxsO37gCdMQTcWb@~O}NJ6s=@x~ z`u|zv%eTThqM%g2S?&$6$XBr&@?B{8IIgCAu$iWcG<&=2A}>q)8|O$~CI7*yS)usq z`Slk8x^0;yuebU|5OplA#;u7}9G?_p>7K+!>j?q0KPola?+(mgHO(c$j*G7Mug?sfGO#YKCq>*n;Ui838r3tO{N#h%e8j07^nC_%nkBqxaSd$&_|VjhI+D zOxY569-yg$4MM> zgqFr!p?k3u$5Y5-8|4?~YBK&O#L5zos}8)Bip;)z2zxbjNwKKE)c6z?*7u1cGIfeC zT3<`~R*|{S-&Tcsbwc7eodkaf!|;aRq6Ly!VTqc=uLrni`#mJBVlM{%Yn{cMXEVn- znVFtpi#L+%yC#X!X^0q(E$RowQUjfb{q#ig3_>qD9X=1lI*m&!lT0VR8jiN#n>Q&7 zz_02fv(ZTJz)sY5Q@W}Z6C~mPuC$co8O?<6|EX_Qn}ho+>prGxY)014kLDWHf?D<5 zhNgnR_0mHomSeXQ(Qagb)|{kx@+6o26)T=l(-!d8>K*wSZ2=SkbDwcHk*8evk4|kk zm>$cI8G9I{uhu9GhWGRYL~#WgX|l4*atRlN;@#&i7bzIK-`U*5~ zAQfO=-1w8@1TJH9#;zTTM%|Y&QC{cOlJ{pTHRD7+q#I0L!q)xqZ_s(?$fmC-)FEi2 zx`@Ti zPE9S&m*xt@P>b*&QHX)tZ;7qI0#?yP?sJ)%))%q-!ZKH@vIE&IS1(y*>hcLr)3p!2 zLVJ~x`azO$!>=DBa_o)qE8{!&mooJoR#4q5qWQhz_|>|C-LgN(K*1S_h9C#KG()~J zJ;H74dkiEe$7I3{8TaP(s=?kf)i%q?tx1o91_=08?IdcyDWVYZ2Fp}7xe#_ddKj{qIGM# zVjCUXwrzH7+v(W0ZQHi(j_q`J(lI;sSK0fV_d7r9y0TWP=9+8b8TS}7L$qr?7|k1! zX-3tuF6YIF1w{o0s`jI1MJhx6M7<`9!kZUlxi1y+MB|injBDq)ZJ=%f2%r7W2=lW$ zjOW&>KmIf#t8qh$jM|I|CP4aOcD}3UhRu2dHH2c5s(H; zUGV=r(&#Mj2Ba?N4JEda6)IdiF!cpzjBew+z2$catq1(RsN4W&cTf*%FBtbs&muF6 zihXIp-M#$k@&Ml(QFD#LpHTN8$4Q6L%rY!Wv_9XYVya^*t$|C1l4&&;m}sfD z#%k_q-k-o3Dbpi*7BE^;Ly`OjJr$j06r?d*D%KEPJ?&7#I`WCY+&JF$Jg}6F$AR+ zt3XnjF^v}KAy3%r4VzyxLd-ZPM6avH?Nf};ttkbPEh-q|@0lc3Ylo&1)@cz!;xt+f z@MqeHLPq)6C@#$oLy#TOly_`C3j<1&M6v+;=aS}P?x4*mNH+iI7M000u_ae1Gi?O$ zsg?_KH@^BQ8{`uaC?$Ah11|1Q2;9KUuCY8EG`SVd}5ntGizry7q} zoQ*d2AwbCJUI~sTtccT^M2-KMq)k#IyB}Z_1gFh#7-N&lAcD2#Gi0s4c0C}Xb#_1? zf6hu3^|g0nzk3d(GKwZHAZzXz4x*V4A#ug0k173aj!H&q(HL-keDzUCTj421TRDsO z{R(`Vw)t3>wvV={<$s}n(MNF28<@iGfV4*an&38#xNFt`&_Xi6eh$b8^O5ddUlZ6o zJz4+(F>=MG>!n3{C5qqZf40m2i>Pg~OQ}&HD?>Za1XXxhhR22up%f@%z>q`}t#CNA zZ#DDAMoQk-&Z7xmfpoYf1J~2FFzTFTcH$(s9o!_V1vWF;PODhdjAlxWb8vrOJ@80CF2L(s<j#iUOMN$+HUL( zC&e{i9i>I=7oCGfvA{Kgn)Ift@4G4grR0ALklnPk_r^jIco5~iZXeZo<4HWlDL+(c z^hV8jjIln=hYPsm*9*T;XS7XR837CVkIra@2a2uUN&?rue9dgaL5vY2BT6`qiWIyyvtD6G3|L`BA>Vfc|yRw_j7V_27V>E8nZ(SD;u~A$VL6d_4!$;hwho-*s}n zCjy5{_XO_S-5xe9_O<4`Fu(Jh zl=OOigdv2Da9W0d?~un}0S^izmXbZOh^*xJ)yJ67C})A|qC zZw5ZhyFhLB&l=G6f34Ghuj4TQMu2PwBt3X?fKP<$VcjG#DfD+8SCc` z7FXvh&78J~;DBZe|8JTHZXOcCD8NI=_3aFxP)Qof)6agx8v zkJxRjl;U{;{;2a|!cmoLj95Vk_vb{IzJxL?(|xy}E?p>^(16tVbXC61Tag_>u+nxQTSV7X(fNJRFr@=#Vgv4UpShh|4C`O@fWBCgcYL&KW_!03c54CScn^7AAu4Cf@mN_=LP|r zlmDTd{xg8_924~bsiwW)R8Cu*V<>z0NxsF=+g#Y?V}=P(Ij6BX_p7k&v_!6<3~7>G z$H?FMYzsuSbO0ympC*YiKZ6bBZz`oVeuhUg_Wei4e-ft;`ocXtR-5x63KC$X`GEHA zuW+bIOZQ3gbi=hey|00+cn3&&M$Y+OIzIt3WRL()15g41xb__&z?le344iYv1?`J? z{1t8RW*l=n#@UAwj^`xh^8uW!LRA#_F_1hbL?7Iq5nj>27=3aHoOef_P)}wn=;%Iu^+4*%T`sl6FrsSJu_dk{TLF__}Ime{oD=)4~zd7%J^P*Q| zRw-OKrWmQp668DnEk`$&%G>U`?BTz;i4!|~w8ivqhA}5Ak<@YP{ zOQZbZq_M>z=WCZB(WB5|+P_TRdYU2~W*-@l#^n^@68+`%1(QBww38WT@%5Wd(- zso5k-v>5hf!s(5wsd2TYt9dxZ?;xmV$I8lAsA=W&`z}z`_5c4{_rGR7BO687gx_u~ zJCb6WP5IU(ZUAytV$#8Hz6o?96o0cDoz&`v^*4^i@K1>=B#|Y_X}r!DDD&FA|Nh6y zH&wLyijI$pZF{w0zbq(>a9lO3#s^kR7$0Q&N1Y{GEfO3@(h(59zJ}C8glT27lS7*4 z63Ldp$F6#Zi98c`m@ z|EjfSzX;ryi)7HY!K+5<^c1znB5(PuHVji555*bkPW>x@hQjhR6BA&L`f2+f)|}6u z#Wn^k=ZYNn-`P}zq+&}Kggc@}59*#v@C|;mwt|-;pQwOUB$y-}>Ry^sji+;do-FwI zE~Gbh!g5k){TE2-|JNp6UMqan<@vpp0+GJ_J7E_j6=sa;uP~ZNCL*RZxqwW}mEJ=^ z5->ThG}#1{mTwY%-Q&yeX*>Vd!;7}2I17--RK0J6%OEaooK(X!1_4bx5czhh%4tF* z+9}nH?G?)T-JwYoYRPKA`0m;4Yg+|<=G|DGfUwExAqGJs2z^E2BG@fwIgO3*Z8EP; zlRx?Z-l=5&dzCcrcEsg-Pm_f1*EKmRobOFbO=YNQEd*j7C0pEoC&Z0NuquyCGH8cj z1M9Mit8)&SA}Se2cj=pfTZ-(!2C7k5_xLCoVx}eqdtX!%6l*&LQn*Aq3ZqHC`JF78 z_4$U-#<*`f@<$R-Wu?;0&deJY>NJFE(=u91Ym^y1CFLc=roTDb@58OCo1W5DjjykN z9_w19Rywq?yNh%9|F4W?-rE@fTR>0%PGaP{OzN|79~?mQJr;&2TEf?54`N_iJ5_J5 z=VX`!qvf!)*XtGjZuXl5(n)IVdELZf?Emg>ffY0u1)72qOr_?o+(lw4f~ETFC@X)j zw0RR_1fk>u)i`YjFs+>m_u8Luj`Hll3Old_Ndy!jySt}F2jamnm6!DEw#g|8I4huP z3>*w|^NXBMvGwf#4jk$45F8qP2``Qv$SCzU>S!q}*|uh`)dI|@fDkdUV{D{& z_*K+397`G_paLEX-jQsnG@yDSi%F7698oDFK~aKo&xKT(_)MoEZr0ge4W(7*2G=?* z;OY)4-*>j{om<_oW%*@?4E?f0Msz|H1=h0lIfj)Hs)jQB;f5AU6e~$FWs^ygkZwLi z&IC{JMgdh(c3Q$0F=LPR-JapqBq;4xAzJYz??Ax_RKG>ou79hWp!h#E1IS4f)8+Nj zWoi@gJY1obQE=o)EXR;WFD%P9tX8cPHzVe@^b=LXqRzQT0&%Z+N;Oa54*>(js{LK1 z0SS_&^T;nvW6UuoP)0K(L5qPvP3qbBoc7E+3+G_ptl=Q4YWQ8qj|}_ zQEw|68y6n@QGQnnkj^7IvW-+t4$w-VHK<`DpH>5tNgTlR9GGoI0TKoeVMne$0 zF&)sF6SRTnkWP8W426>4R+>YkoliRo#uD=w$!w*XFV@N)UTO;0TVHq1+K#>o099X( z9>GI~J>r0-q!kOH=Mk2osHU_FLJ_u9U(_TLpie~E^3-rbia<8H&i*@ee4ku<$lwb) zOf^+Nka4M`D~3?p(tmFBRY_nxI&|?h`zVvvolZ);1ussi$PO@N=FRK~`OZg&sUPBE ztLo<074@PBC!2A&-jxFsge;jlI+Q0wO4JwcXg4fW;E4}Sv!)sSu6+zTI1X%guQxYF zOSGWM)+*=Y2WVZ%Di>f%oj zCpTrIUn5@9<8Ohp`r7y+vvJZ2m*I4Bk<&+31-MOz0VGJt>m0c0L9-TRb1?3<4QR@( zavS>h+vhI>(Vf@-E9tEOCB29H?bf3JK&wHp&J4N8eWzpeH5RiRj2t@2WZVrRd)LxO zI_h$v>2{*=ZqjKD(GKX<9>jf~&;~i({X!`HA4?se_6uy#`olvP{xf8Rg*32zbOsqB z$zpKfMdV3PxzK3hmBMKJboXE?BWq2w%)|96{PzNrLXq=$-EY9JE{hoWQ{J&E3|}3s zBT^;=c@mj$!U*NNIX|9AD{h}xl}}7DQPYxDT zveA{3k<*~aw`ZkP4?Im#iV37Z%JROZ^(rWoiapkz=JhrpguE9PgsFiN7zNOPuUI-v zjG6#pH6miIMK?egm=l5|n{VZSEhZ9FqT9mL9uJe?Gwu-Qb!3#* zJ-2-~2z;=Sv&7i%@MScTMheo?*vUDGTp-e9FCcj&urMLWJ1`-N;36mpzsf~nyDVUi z#PM=B`H@{->|6g+Y03jun!pafSM;DR8Kgr1^2NMe1fIqswIZdm273yt=7j8&k-3bReO`YQr2VQv5(TMJwYz<33H3q;nb!V4Ysrctv?8XHCpBr{GL z1$)Zu_VMK#heYQ385s|zardUbIw=%e54;5K<%f4-!$6*emE<4gpc~7{4La?8tmdd< zcyuFLwbiFM82T5rssoXDh8?LdhCv4_=i?wKuA(drydgz*-eHnlSrjtC2~v6SwZR`l z-wCdhwO^A!5C#=zI&EY)V(k8wU=54n0wn6mYNA{Siw2^!(bwSav0ep zvXJ84@ac9Fw_T<<4b1ZKcW7s%0QOI8;@wxOw^hbVK%!z#NfVUkv>u%skyH{j-%k#S5vaEnF-?h*(A zc%f3xr#gmuHDg(9^uMGy0f+qH2v+f49(e!`B`sK1;gG^_#n%$(faSoG_Q(`o*ut;Fx>On(+l18vb`6;x@NkpxG z6OvM9mIq?EC|Sd4QsQB9m@EQXw6GVv=e7xY5Fr%qvEv(?|M9M}1HG#sc{*eySlROj z7AfRKjW(P+B+J9RMZ%U5jzvT|jV|}RJLIa=v!ry2_oBqDgfc|*?}m@$e=H$sqr{H< zaL=P`hyGu7g^`Uzul0gsNTjjkvn4P~RGK?jz=ay!oaR0z_akWf%>;WuK=ufRua~Xr zpF@4sz9|A-aWn2$q)$^qYqpCJ7Y4R_M-?PU5_sqe+5w#u4WE%M$1Cb(hkfRqu7bR} z+2dR|0xa!;raV_~!97DG@QG{vS!mx;$5Dc*h@{s@3?jfAv)yYPNO}-qcFkmZrR}as+0#v+i!b6b=bxIihIMiX)g}%X|Sz zt0U`w0*>scHkRuwnpf55g;g?(f=HQiazE9hN|ez8VoJ)vh}$lXj!=s8#r}A+2c8Jy zqa=xdMy81Eyf=F@k?)Y3f+k&{Qou^6ie?`1Z6kiQclDQ7nCI1je;-Q{+1huCysHZw zggD!ZZ%bH&*M>?<4BVtuCi3D#tt;Qxn8a!YbueLc_E{5=akIF2**gH&*)(8`w$)9~ zT^U&U?)tw#M!E+=Nrb0lB=W|3$b5&7qy3nIu#J-!OW;J6BJ8R}5%w>3NU@6ebAGEC z55+nfLT~EfugW!{6u&>-w93K|om<28Bv$oSw_!wUN)~v8p0I1;BacwjS#ZJ8yL~MW zLXv)W=5X1ee#jyw@dj`hx;OgeniK8X8?LrL5@HIgwZ3h3yu*1|2&s=1yt=yI^s0oj zpUI_hyZ}Z(4Bla|w8WszPd+@C4={UzjQ^slYE>weA(g+KXPH+_?BpvN zZJh2xC1?7VE|qWz)d%hUU6pmh}oaGwhOof@|@6yEnoWWf&5raOr0=ITp3ajjbvcwb12na_nN{&T? zC;!c%vu;w`?`I;9{ZwuG=-E6&U$-{4cwWz|mHCL^Ss8=2+u_H^x|?)xrKHCB zKf$lw_uLZkJ-_rNKi*Qh?|)f<#(#5YAWVT)BKuHYe7K~T{@VK@-$oKp1 z8s6n%COIi-u(481@*VDG^Ak`hS{kSMZ3%dsII+F*01e_}LH>;!(^{}XQQ=_=4Z6wt z>awY=YU#KJ8BG#D;cfX*>etrD*Ya6)x&x>HXeBQ$tChW^jDj3nWoq;5QHb8Fn4sRz zmCQX3X#0b|uev^e3_N%)w8K7(|F9kYggy6Fhn-BA1m{*rP>xi_t2i(MO+!{=DtiJZ zGQpbd^kMDSHhixyzGr|6#eozlp0XSUp%xb_hBoil_FRNI`+OxdC&#Uaj>dRS8KY2C zD>5>WxsR_iE35LWsNq2M^5+y^S+x2wM!ex6V1>YU`Su;3j)C(cGo*F*Eg1m;|Ed46 zXj3IE<~;7=+PzF{)QL*oa{l@<0gIYagyqlWBf~fVq+TFcwh^)xS-Khm{EkWsfTRk z5_|mV4f?Yfl?$1!wvLaTrssQtFeaoHv||F>OU3i^PBfpj-WsEqI-M@Y)drmZs%o!( zmjaxoi8=hZzF`rHR7rN@dVmr!<)KBf_>;?J#e;8;Xsu*Ce=GnetzM+7$~?VQj!sYb zOr7A8Mp3_gOVx_3PoKrhdA&u-1q7{C=Tr`(y|s${8f-5F{4}Uyz*?i@SwHKx=Qam- zlG*7#|2x-yWMzA?%wOylNm>9V-PR?D)P9-n8Cv{n=72GYtw`{$?1c?7F}7~J^13(W z{dkZm$52G=EGmHnn~K}#%e!25{JxXp_lm=^-v^vR<>&b}Vbb|4jBw9o#c_`^WWGy- znp=~skd1&Jn>Q1az{b4lii;zsyblwis?%Fzk1(PhAyd0iWUI5rmy6CP4R(3HKhQpK zG6UmGq#H_H+F}L%B7^eddQq_^6^1*-G`yi32#yvkp>BBd##;7>`wp3%zF$adj_wp~ zHT`Hi>ENV8V}+O2#5Ix!RtQ`xDoWDajcy7bOm*GL5_*#p|3KkLMTd(=P82n6n2!}- ze_otq6_r9M{q6IDJ2ZLywqYoZ(^Y?Lu1C(MS8U+^vUr03YMX9Rje)hb_|-Y&0w z`0hx0-HZC-II`F9oa!RO7#*UJF#!XOuE(4%ej=TEtmYW=az45q!S0Lh^{LQ$9J}VB z#7LVY4T-*aX7rInFMwi4tW)FTE8AHck6+o^cA#`Kn%>iE=31PmI~Me9q9@dG9tSxg zdYdiM-X7ssJOKKurl-=1568%vf`irk=7B z0+%ddA}?Y4lM$H^8IFD-#=p=zdhpz2-WC6&Y+ zUDWrnuSMj@ufkS=`90!nx$$L5w%&I4Nc`;ZeJWdKz2S5|=B`z#E%%U{|8Ly||@* zAOxnMy5TX61w!E!gpfP5ElnWUH#v#Qrd^V0r`z&vdg8yU=F5{I|1Le1ytEOsMyEwO z_QN4io;o^7ulSI0rgY2jMj|dRPDTDfQxnN z!Iw~2s~tYY=(}$_eVLctGLHIJdJiyA@^hMAi)C9!c!Xq73gc01OY6gng}5}aBqbyg zOLi6+dWN>o&ADkkM>LTs`o0o10sx;QErvH+N3Tw-Al;ssjwrsq6@eeOaetmFT`yOq z{_Yj2e!g<@PBN#$D}Vm#%DDC4vBfWU%W`!02V!fnMrCX?jF^nI%UT}JZsCI*4RHl{ zQeaN(D;XG?r6y#or+%+*2(N@9n@@~hmAgEOun<3_dgOC^nM}n^cZ4mqx3bIx_c#WO z^_7SkCYlKjdCHp4Q+$Y}=Yvm=yRjlGTvql0f}Cu-_w4dvPW1OjLmFBvcw5P(npo zh%$4%3wV`j2`2b*iHi=Gk#an!})PSwEwf(>gOsnMTE(i>ulB}V`{K+&uyVOGyh z$;@~nq4rg~PgX_qY425wObsvUpsNYBD64Cw_+WaeS5}f)9aVSdaI2C|?RM4DV8WYMQ zUa^>--wZj_W)F3brA`SVgc2nkd|9nMyS#D)$^ItV-sh)REl@Kg^~61zGzyniUQKh> z`=FfO`N13S7lG=y91mLX@1$Z5^@dfy$vcP_)#|qy8)u%Bd28U`8*`~<>PQd3k`pk+ zN9t_@TC>G1vK(QwjOEl@AiMykNRE!|WQ2$*E{Yz|G;bXf8&vo@$TGC|kyT!ORO`3g zx6YK}z2QJM&wg~7BHio775ExHI=+$IneP1GVv67#z7wQc8FDpRv!a!)DRCk&@Kl^D z^BmGXTw0Ssrjkz8JYt~aMIhB(iqUF*UzkMFNN;Pdf?WX&RLo>wbz^MUs`4>r_N-MA z5*)>KDy%{MJtyuj$lG2L+x%FkPojUkkHy04ohWcU$yrlqw6VZB(;+?neDL|>O2?SJ zyRN0L^@01Szui9d=OtI*FEOzllARzb7<%Fo$dHhc01#I57$pTFP~sx{%EC-y33wiQ zVsKI{A~G^8ru~)RG_30co+!xa z&zT6WeLQ$wv|cb4pABFNQuRd{rpdx5ikq)MR8HNhV_Yz0jSN3UsdI-&p7bI9{CBLC z_O3h6zw+x3s#lNej*=mv zH9FYnwZ(+<7*{)udcDkx?cWVUd>%!@GYV2=Ea*lC4lUZ{@6}NMHuK%=a9fbh70yA9 zdE~mICVQp3AdS{bDiNoa~b}2TMua|G$Y1=|16x|Z&m~Phj{wDf79^mbIaa-|6XhA&i zG=np6cmZ$jlW#w%oGkAak5DqvXA6N=fGx4#Qlx{xt&AFsR|~a1?tHM&Hxi%8on#V1 z&REO}j@0z>znt3!r1@f+&24V{zV9DlKe*<-rU zs5Z%=-CKL&UQ{zgK{a401-G;tt!?xtZ2Ylg_o7>J2!&`_i;R!6hMX9g{Oa`a^HUwr ze9n|20@ygTFbew-!*Qk1G)W+!It_l=@eK_}hp68z7N&2`h(3T)pL--x*PY)XejuRx ziSSNdLI=Pb~h{#AV)7WR?VcQu9BxRSQ)YQH??o(;YiqGjt2TY8dtaL|%jL8CjB z9ei*wMT{ilh(4?kKF%AWW>6y|rld#_18z>_{119-amiZF&sZ9}rYe`D)H;`qGdgcM zn=IyU&?b4b+xb)TuEZpe#_s*iAK^3|=BV|`^bdIroK{b22-+VVz-G1JNc5&=nm_#R z4--fF&FLEyh*T|B2l@!xH*$IsBAOCdj4HB~hrh^y5z%SN6%GqxvG4Bz^3uzA)i0Uy zLbp>>5#kK8=)hjj+huO>% z%1Rk>hLfmuSS&O|ahuX#et042IOS!uT&(VP_siW(c}Jv8sVvfXyt4O@`rf75T% zI@j8GD~iZSNp*^6_`6+@(G3s+S6{^5(kl(j6!s&++6of^P@pt1ndeET4C(@?Qk9wD z!I+t=R0Z>)Cj2K)i)L@upDPa}DInPnJQu-R>6RT_Z?*!5S?v8vFmW3g?*sluQ~AKm zzvl9su5*Gr)=;(SC80xv3JD1lPa?#gc+1+a2|ayxna3#T4J-8<-~Yf40c29z9rg7? z--WJfRC6$3jb-b6+Iw9sO&=}My|y9bD{ffbQS!o+rvyfDTcx811atuCh>St2XE?%6 z`ooQ=0O=gbt(9X{>JIFTO5{Rq7^O@c*$88fBRzZlsgDV=&V62Jq-B`K{T^!j< zV0+KxEB0;W!{TtXCRtvmVj`}{H(@8BJ=sS-Ue~WjjZ~Hz^$fQ1qL~4`j2s- z_zpW|TX(Fvi@ZYcsTmu?C#~z}+xnM>)iX9|FySbr9fqAU5D;BxaKSZE+O%Ot1G&k( z8D%hA7nldcN#02Rvh}<#UQg+mrg(JpO1Bu%1>e+}NC%(U^r`f(aypA3(Z$;y&xtm~ zVH8utIPDu1+0v`sI*haE7P{V}yq7;81fW~)2DhBGdcQgvQK}IWqq`_Q0L5VLYSf>} zoIpA+UM$$f1A5AI64{*4bJ~`Ih^V^ zaEY5nf@hBQkCcseAK1l*c3E&|T}|rEcSEs$5Hul)V9SPbH@RBK5RiGWfi7qrVLdZT z2vxn=We^X)SM&pI!7|#*Jz$f3($fpEUJMzn}oF5s%7-}3EGCXaub zP>F(|1!68p6xRgFU<_DVC`gHKTrkO_>36v!S(ICF@d|ni*DkHNdio3g3S#hkoVy2D z*Ir#b`{7UMsWV>iuDWe6=u7Na;@c~G)6?871^lel^vo8JwGxk?hS+Bc2nSKclC$-q zGe@TooE}q|rgobHSF>$r6$|nB6{HNwPL4&(YDEq1WTQhZ4%eJkSddZ#KExL1byb>v zH+zGh(S?Juv`z{o@=Ca)Mz0zI;h^pvMM35q*`Q z`daypcisdSYD4MXs`Ibz@)yIo_!e`t^yl<8p-NZ6SfwmEJZRF_FrjA8C1^s^yr7#c|MUoBpc&bW!POC!IATGK85LXpbpf4g!9U9N|(fF=JqL4Bco z+L31MOXp|f?R<0A^&`Pd_q}JQv+i7UPoVew+wF`6eLiqzQ|Lz!I0J!THQ^B`GQtrK zwaSu!HvwT)q4qD70BR6&xTYjC8z-f=} zJ`|#u;>9lpCQGD_ia;LM1#hu*+>zIo@rp@UaD7meEtspd_LZf_eTSSJ??r3ygnKX zG2sOo3Y&(=k)dNi)y?a{NnuY%2}`CJZ*SywQxciS>_Z1Qc=-W`T`{(qv|b6W;v3@7 zm9a%4k#F_GID(-%F#dFk1aw;&)9dd+-~D@ImKt^~pj}?kztOELtFCeV<ZyTR-s$1bjXXMri-Ooxk<2 z>A#}+-_PzO2d;xoN5D?j(9n>nsj4c9OC44fEn*=Z{gMh`!OR*{lEsb*k1!boU@Xzt zOrxr?&?!5~W(&seS=SHPMPj;h>q`aB-A>=47Irxl%pDCbnSogUwQ`^1o~X<586?ei zgD+_J4((b-mYRekPPhkUcf}iJZa+P?{r-d=)e%M#)h64t->lu8WOv@^ju7jnpz-(= z^%%5*;Q!0*;%8@H&(ZTC#T?Sg(W&>(BTm}ajniA>e$SidJKr0aba^qJ7*hGAl5tAP z4sRzB_qcf1OOX%~`~N=De~z`vlF|(W&(v#-QmnJSav!(?Bd>dm!0LLplhm0{J zI}Ea7UD(*b295-do{qv6M@Q?IZ5k41@B}biZ+IYhEgt6m7*^7^ObcSa#R%q3gmx42 z#dKIroQ}3s9kqPa-Qgl%B0?dSMn8o4=f|pRvSz2KCSsAT@)BCwsL}suO4_Acu87|i zOk`7AFh-6pPx%QaTT>fnCX!PL(VRjhXzuv@CE*f^|$o*g`QfB5Xu|8O)c ze~NZBDv?%3+v&M+vnB7bQv_?yu`h^LW>u7&+|4B*z)>G0f;FC4<~YO@hc)$!O{~n* zI4CJ!WP5a*j7k_iHFZ{D?&jsJ{u64Xll|HmMj=1v&rR}p$LFH2!LlCS-8Boc_zG+y zEb0~+Udx1T12&c@bp=a6rcziC@A!B}N5{yTKy;0z28y@^BD%42jAKW1&hb@6rOwWQXrPdJJQC#W40zf-yxI~WGKK~DsHV$9*Oj^ITz`V^Rk-$$ z!pi-F&gk1yhq_%+jr+fFfU|P$Ck$t7D9lQ_4no={nT+3>#=1yMZ)Q$B6jIk7x%OVP_!~q#72*(@*>K zzNF3ff)9a0gd%q=XX)|60(p`#E_tkQkdY80EC(m2pqT}fKYU9@SaKGlrR*W|ZZlkI zOx%)1ZTxX9#=Gi0kGs5|@00uE{)7VzRa}4p+|S3Ey$=(EkADVlrGoFW{+$lY0jPnh zDjBjJ+))bPg5COR%3Q?8@FTyHfxY(kzkjG^SWGbxt$FKtqH5==1?(x-gRBXOR!G|3 z0ctvP{iyl7B-NyeN4zN=u>imP(ff5p&Nv0ABZ)T)cOglF+gh9aC_XS7Obz( zV};DH{juBxlw{Zl2R=7W-y)XZV&3||AR7T!LBr6Xic-H)=Q#egdTmEXs;`eP??K=7Q!Wh-Qk!AqBb4 z0?VO(dauZBIZn$-`;oD?+h$9^x;*7$4sw?E?fjl_ZnSkx23tWfZ9l`szr2htulvlp zd3K>WPD)mcEgn%jVKc!VRr5xs{ZM9jQdripLc@&dCkhl0u53d1aDz}HGAiAeGuO4S z=w|1h=P{i<@AI@l0fe2a=f{sZpvNJ5@8xjM?=M`vAs*#*k+X4Xir8~TJZ9?hfUKGv z9Ua6zml2-b-`duqsR*S~EhLbm#jIQK9Kb_H8U$rCf$B^kTU-f9LS2{w{}tCAWk<-l zmNiLc1eZIt7GpSPL6!K)LYz>L4cL(kErUKI!6P3Rz?d|M2tIjDH$@4pP|>FXJmUx- z5S>RXX9$nXtdYc$BB83Uo*Lz8u~*SuyUdfFQIFvaVd)-86T~wYux@SCjfmB{NrDWA zg;JpAv%s{+RE7=qjcu=GT?)A-*>Qa&WC%WBF#5e(zJqzTsWUCXDGiR&ho;Xv0D@+R z`N-iio(zK&E+MjYLH=yvQ~P2W)WA2Hm1_GRawXg%*&b3kASxKs{dY{vP5Ix1dg)(6 z+I$8qhnAGHcR!Sw7#w$1cjG%j$_`@ox#@LVUX@2Pp$)0v|A1Uuj)dCUv!bcmGJK;z zMsmvssEE4We#db(t`oM0xkD8Pm&45S&BFj51Iqh(f`9r#2LK?8Ns9@q0^J6`I1%sV zku?8Z@?L#-)w;gM{_xqq>UsIgh`7Xrj6$0+sHj{EYZMfPiq#i7!a$;0S{1bzQ#HMk z>ZC}8;=G^?2@u05y8f|%$%Uj$RPsACAu86iC33*Jngd0gPSA-}_c2z25Cq&2226&g zYH^(+8(To!FgqjWRb2@quwqS;T5XEMU9B)>lP{D^MNJN^G9W49$!}anpO5|F=MyYQ zL~yGN&CeU#52Cv3gFtkW8Qm$ll3Crb&mR&DYLu)MN%v}0-QwcK`8@y@>b;bAc8z$(69MeNkC~+K`WFolxo>Gv`LCs&|S|EK#E9YX!>wi&>~zLoGX_dqws8m zt^bMqiU70HZ0zoX&5^dto`GstWXn^?tta!ap(iXygtdu8>c`n=|8v_nmK4#m!RH76 zGE^j5V3pINSa{L1q-}xBjKL8d8&So02;Mq;XY4O$h)yd)Suo-mVm-ITlZN6(a`yp6 z$mjQTJ=hQGaKknbRFx;_aW&{}k=edS(D!ar@Aq3xZuo#7oub6L@fz8t!pKW1be2AG z8Me}RUE;c;tdk`HPHow8LVCE&f4f|l*(j+YiOY&+k!C!H9d@yl%*ph;PxD_7-jpY_ z{W?|-Ei*M%smT=Z@W|62R&r4_b`}sSi(Ik1SrEwZC|%ES=Ws_eIl?9lRg9k?_8WQv zHm$zFF^%wGhnAihLR)pS1433P1Lt|xOv=~H=uSIu|%;W;R4&`y0xA3M~lqQ8cg{?1NltVw4-=IwqB-5 z@zGEsGQ?;EKCXx3_x$!B`-;)JzXMXq`$=3Uz>~{#m zOSvdTaDESq#aB})hMKOznk{ZK^w{u~_)$4t!LO4g*gRMWdzuDHIL{zwG|oVmL}zdH zD!Ra5_|WF+ZP5%$Q^8w8Dsa++18{fJOH~-8YMlz7WV9 zg3R?ca3zOoc)+ES0;z-KCYjZ#ficwL6{0zpy5v%xsr}TK)4cQIn5Mv9(s^x(3#?PUzo!xus)wbaC{D<|U?`CYTmy7qEQv(sN4nPOE9d;-9 zcsWU?Oy7H1W%NI)uJ<(~LA-T0!3Jk;`01IS8tX8#+d&g#=;Z9-xtElVCNLHYpkkDs zpBd{jW}q0=2OdEy!i-}kbG;00Ur3Jzum&V?XoNZJMiy$JMz#3#_>N&iBHP%ICQSWF zfvP5M(3+)s?bb^78LHwr_QV|y%52$vlxRnGxfL~jmN>4?8QPH~j``$>!nYkoN!^|G z3li(Zv0Li%iL~0*YsBhM^lfniv_3Gtz^=@l^of33)7+?tRq6X40Or4)^2-2k$2kyY zfM!`=-PPfo{7KDeUSG+5jd0F+jyA*h5(9yw290Q~L*w2-?}Zs!hYzh7Rme50;a&wJ z6gvm6q)V-;laxco$e}9$0yQZ#!Eu{>g6?UO@aOVH=`DmOP*4^AC`2|vO!vlV^e z|8ZQ5ggxS#Qpt! z3iuF&dimIdi#zN(BDBFs3Q5d21@?F&&zDuQB4SNhVwlFW+*e<)akB=IFB`4Z`!8V)Sg)oR|e*iTNLHV zRo#^aSVjPzGw29`qU2Z%i=k18{0egi?m%3Lfwb%Uxc6~<0X&)d?d{C~%278Raqv+e zr~HKW(Eymj-}ihW_&TTW_gpHdFVlFdsAi?%&T~ccYs;ZPrl>7<+(o-^eP+O;Fr-Dl z5by5$$y!K>>E^19HCC-ixD{vb{}=2C6ZfYz`cT*Rd>W<#z=>?3@RpTg(rfPJEc1?e z>AHzjj3f9oNAOf^_Wla+e(Bl|Bk_<#>{HL%YVLn__j(Dz^mQHI<7}X1Md@Bd1d?vY zxOVjkBGi2D_e2P(Uk-+HVHQ(`LR{_G0ajyE9BM+>s|!Vgw?Vo4rdPW6yk-t#dym?C zL=r%>=EcG|ObAHs=*u%gj+6Gc*Y!bDeJ|?>sA+Iwt?kFV^+jKH`sS7gu0vQ zy?5XJ=WoCL_CHY78;32vj>F0%wLUsKJ^jJOy!$JgVLaZ9!@W`l<6fkyo54CcPg}?P zH1bhg5XTy@kT>I-G)%9E)$h4YkQM_SziC;H-=pT*viv3hE2yonkA^gHDDUl6l*;1t9WMbp7=sOyXP9o&L0>f5l&I-bJZ z=@Z{o%cQ{~g{-mcEB2N!#TLuP>-rfBUEP<9ZPJqSg5(P{Q5@x`i+drs7`xrh3+#bBm2uS34YhIt zFA|-~8eC9zJ;RT~$434ZJGRv%Cxdo1>#Y_m$UP z`zOEn^nHU%65feu%^Jm9X`PiZ09cfIA0?OoL5nUVn?{d*AGFSjhvm3B_$|m0p$4;k;v> zXmCEkN(9kU@UN@-NS9BD&%x=owLIOrv#lx`D{{A8y>S|DEeum{>>BZjprkp$yM7Un z36)`rbyD$7@k>ru)sMc-_gwb5zOQVG#Yne_*_J2jg8Ew*FcF&VXvzHoke&+)4!}s6+-6xM8{U)9xJu_f=`r50nzWS?w@@rrF z?)_I@(amNu6D5<93Q2Wea8-i1TG>gtBX*~*^~wZlJy8y-xysrQ>UnJ6vl~(T=S=s{Og)0yozlnrlAa9aZ2lyubMSWt7Q>0cPR0TO0 zHnX!`(a$L#lDe4L1I<&w=MZ7?{eC`w>L20?Ac$ zHsLlQdmvG0f{%~2>Vja<(_uUyN?3CJ0$j_i!5#MkduZ9zQVaYZ>K9Q5GaKp5Ggl#) z;LmoFE!4btLW`dS1$*Bq*SSEKcDptLFvT}hQ(k~t|G)?(_X7npA6U>4aP&Xa^l;$| zX8KgIw?Rt29o5FBt8etP#R{@HD>ex`p!JE}^mMUw_?xZXqK#|o#YhditfNg+eP#dI zouObr0@#K1;Lx1!w~(`RGN&4htx!2bti5W(@ST&sJW6w zw+5%CBB~Hb720lh^~sYb|NHTyNA!~)|M+js^ZYtIOw9A9p9ZiNX&A>}x%bk&zkYnY z!7z?EzH{<7j*pIioMs0)czVS|gO_?bolpaV*#HBrl6L_rHq)jeG zaBmKlP?!V%VovoFmpV}cp%b8h;=09AItf|7!L zesvsb(mX>6OrkLkZL)(%!y}Yqk>~+JBUBqm(0C*F+iLugk&}l0M&p)?WfD;_NlB|_ z8)DI>h8xCYrIbM?D8#135W-_A4JOW^76@)W)6Uq>)_JDO?WLYyoW1q<uTHqyjBN zp@ECCMHHYaRjCxPQ~$tCIf!7>$-#_(Qi@N)lDaf$9Dq&IT+c&^4I_4`R2@~AK;RNF z29}%%0UVr$xge;+vvVS;xNcw<>$$I7frBw&nH&h;(}}SOGOweXk=mU79MCwMHZoQzN^O z%Bde?tFhO+1n6RE=&-R1i6ywHTr9l2;6NKlmE11Xi-f+UHIB$Y9tbRIV`9q~5yTCj z3BN{D&a{Y#+Cffna9lt#bu^$vY;+2^CE1A_+HKb}|4p_1UafysKv3ydd+$@~k>1-S zDxwgrRyR?q3f=Cus0z}$(>l*on6=J=v-2~$-0r@A`smSj=UR21cYnCs?*7*cfRVlQ Z{{UjK{Gh!GpWIyK8WV;0}W)xH|;Tm*=hTty}lU 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∋3UF3*TyIiKN$Q*hRR1RoQ)GieFOkCCNDv0Mt$1n<9Tcz6*HB;H=Ebho|eR4+Ci z+Ok`ih{0{^{q}^H0W0k&TLK}Knl8$$=cNT&P2$XuwuG?Rxo=AO!UX89*%?=#mCao` z4k8JKD~dw`>&oyn_#2)CNAz;vkix32=I%L$e-Qx)tU2bW8v9C3^D4L`q=P9_W3svF z!_c^NlM!OrYNRHvw};<=QmX_cwmeu>R}ii*LpQ0#)o(u!DyRu;1b}8pJ}aBQL|c;v zkBR!3>h^0W6Xakir)uc-BaqF0)njlqxvErV`ab}PkRw%pGdmtLB{a-gv^%VmHqI<-zPyqpOtu9iVJ0yeqYRFaE+SZZy6zY{ z#assALdS5oe*B1P2_P;7idWoeNWPnAe^zGYLsj~S(m_z_VO94rGfHPvAvY#LUZ?t_ zCZ1q)k=_$h5YWKQ|BB!-{I%N7*Oy>9cSH?(hQIAHy$J&yw1%IF9wOl4U?hef>nX>q z%*v)KeI9G@OdZIsF`@QPH}!dsk5^wih1`y)zr+5RV2!7UQfSCi#D|txP5Zk2f6b`I zjo3TIi=pH4;qE}#2!K(D`fQ;PMa0#30R}$t&_g)9ld%2m*Kat@vob5Uv%I-<2Tt!h zj;Fhvs-AWnxN`SQbFQR-AbxPOefgg4jm|cRX<^{uwT5wo8tKy5*3ylbWv{>Q%-Ox^ z+I7nfFNy#MTRQ@Afg^mU)t++lf9St?6#xEn$MKP7mSJXAHfMS2T7&=V?Rh+XVFLj) zA`|yuUu{+L)z~AWbPhS`GUE>OCH8A_MrqGN4sqG}HL>ss1#xR2*QVnRHkTVbqDCXy zEVnzv2vA5i!kB^0ed4;cT~g=NXd+k4^`I&fQ+Djwj)OaQ;Un`i^ZTr9f6nsu#e!{T zr=SayicpMB=2!7l6*pv4KwO}O9jI8Z)pzY{Yld$V;q^X2#Q2sOt%b7}`7|CF3)Ilp zQceGDR6BAw9t$}C`KIepux)sfp-0Ffp;0W(h=)k9>;0z9&ro|-K6E8|pE&Sg zWIV$wqOLQ|Pij(llv1<`xfK%ANt649_6Hvu}8T<_GXJwNXWv`-FGeCN< zF(LTZL&Pd1-h|a~X2&vBo16rl5kyz7YB68}x@=XglC}q%S^WSqe*+CPES2?zSe-}& z94bfct$#H{ufFjbMAJQj#_D4TVE_?Q(sR&BvSXGoDP{n$#4|!*^bXO6-{bGP3y5#{ z%zOR*jo!JHHa@8LZ^yj+Yna#0jxZwM49aBswBdt6H))=Sc*+5HIC|211raB#bWvaM zk(?{q4z>hBQ*uJee@SHL#1hpOtbVmlcBGEY6chJRKR#v%0-KeQmE+fZag4%Aocj#4 znvqt%v!s~fr1}76WmY~Mg>`4A9&{)HFwVAsY=i5V4W)hJfi-fE}EUG8F zV$nf(s^W?2(I&H7MF-r`6kYsIfL`(&jSD^dQwhG2{{YzxclzAv48)5EG#U%Fa0=m z>J(miW9; zTqvPYf7V&Wb<^_+LtFvm_V3@1<>h6}&CTJCJMO^Ozy5W6 z;uD|1wr$(qH6Z@UpZp0{R#x!GfBeVqanFDLe=?m;@$}PAq^wZkO*t{XR9#U#vssz7IYSCv(x~TpLCV=kJ*gKd2sJP-1RzYlb9$>q*lnhgbH?)WGJfy(eh-g6 z`Y2XcSMmDmuj9mt6S#Eg5*~Tv5!`jxUAMcNzi=5026*I=M{xA$QCz!r4cD$+!=L@x zp8)`l9Xp0kfBMq^fUR4%I?}(_C8dO~CVus+xOVLto__l2_oa>Zy!1u$z_|^S1=lKu z8Dgs{?#1x3!#22+Q%XL6{C4}%Z39rw8F$=q2aX&$g2`lpef##|!i5VsbLI@b|NZad z;K73cfb-|izuj=KVIc_6qZLkCpgGaVGsO6#D$kpWUI5$cU74QSz?3j>V7|rl z{>rLVFqW8>RwQGzf=dl$c_C4k%bGr1U}`ow$2BoS4p5Yaty6Zqvu{6DogE|w12yPN zE^A9-M}(9G*%@lY1L_9dV2!)oe)Ra9{T>Vk*tTsO_V3?+kLR9y4yR9__IFlRR&e(0 zSv>dLbN=4q;v(LD`)%BR|NYppV+XEWxq?%tPT|UxD>#4tJl59MaPs6yjK^c_-Mbfi z_Uu91ws`Z+H}QiX`~W+5?!+3i zjFb|#Z{Lo8@pz2MWPHLXQP4T zu7gSw9RcM-RSY;wI6v;yS6{``Pd|;pV1UtRgu!5dty{NZI2>X;9)pOmefxF{heHeo z0{}pO+qQV?t+(*R6HnmoyYI$hk3Ht~ojZ39Pd)V%#^W(wd+jw`yLJsrOG~)xuDkHf zZ+;Ww@fbUH?7+5d+wiS#eGAvFUBlkJdodgi-_@9I#8EF_zKp;A>%YeQ{5-a8+vZZk z+S(ePfBt#A@WKoD#y7r!3l}cn$tR!0i4!M(aP;U=uj~5t>v-y^r?9rR1|q`IqetIW z|89R_M`#H(XQU(&E3w3eI89JrdnYZTiTXt&Qw`ZkY+=d7e`A`8w0ahcZWZCqKJ`Wt z!6rx88|^?hM6T>d7ezZ*F4lFHc$_L9W;GqSXJK>?x9;kx+Sm5| z_s68qh7TUndOpZ{`={gKP3zr$Nu&4KU!RqZMNRi$9bE3&=#x68;K^SJ!u_m5FNn<% zAH^3&-%ZKrenkx>&eXIshYn0_d|Kx??bN64VSsp}< zRbBSBczxPlZijwv{#!@&xU1m3oo3BN{^HD_c0L5O@+Ez~nGXt8Y*XlWR)(?o}s8@EMf@}{Ju z_+n1(;md~D&6YR0^Jb}b4Xr3hvi*|{`EB|4#$sMEvGGftPoYa&;mLh2V-WVSkh$Dn z^ADvo;Zp86i@6`lR;`DzI9HMW!{W4)j>=)WO*xfz{iOLil2tHH??bnWs#o5@!&|n^T92DED_{bx?M@BM-hsJajy{{zTRzP|N$(D~aFzu`x zgLCb0zGkk@j;Q@IpYz`ZEP-G{Z-1E#topP1MXpK|-3EJoIMBIs<_-GPvccq-@BBQe z>qhGk!1dPRDj_RExFkdV>Rm*|OYI7L-8(ZB_GW|h00w#$9_T3CI=W;gcoPC&Ml0Fo zcg3T})FZcJ+9JAuZ%P^}5gw(O*w1bhtBn$HXh>+${Cv$MrDe#@uoLx#Rd=kO9kzbp zw3veBZSgueCU(+PqWE!qKezE!{yQ!xm@Zp`1Q0MZIna@+`5;bBcnH=r)8+dor>&de z!QmA#HD)tM#}^KZ=I`J4_J0JSm8`k+WZK1VRmykJ>he%vEBv{;uI@jut>BMg+o$Om z-wZgy=KSvZ&YFm%w<>hd4@}dY2;1FQbX*Ol2pcOV&0S7;R}qx@^x;ocAISE&Gky}E zikQAjgSTR_F`kb_#Tnwx>Ma$EPUXIB$ z`u^jA)#Mf$7Y`2tu#301{SvVSww0BYYi<|IC;qc&-GhVZUrE4n_05zSw5?1Qs%_+_ z8h5i+v<5L|dv`B8oy>f_?IJwxc5O6_v2W1RHVq+ryAk&_Ap4h>oO^^Gjk!8Y&QJ=J zva8_45K3H>7pOsg0@%r2}o()uU|D5Sq>enYaJ4YA2;_|;}bc-Bwp zgPHUjaa7`2)OF-*M#isS*b>on3bCeUW^noVOJ1vfip=ZaOnE>3+i80$(XIG=g9CNo5VQkS&$s;`fuH@2;=H>j6o56nhpQc{J6llDmB1?I`mZop ztd*9Pm_RKQ6czaWa7W|t_z!tgIDnkw^PzIMeec}#BNS$ko1;HeirXy;k` z!f4#Oci&M#oB>($tjq%Zh(McK=@~0k?V*aroCqHlnq=qq_f09n z%FvQ%eu$XQ^;!wkQ9cZE1}e}77e`}tAflNfnAa#3%bq~ATu9A0h;ILHgsUP#_f*t6>)Xv2gJ=LNBX8KLuU(T8#m)0GrUu`E*SRbR6JX z_oA`=7E2#@vIL#iB(04-j}}4|sQmC@Uw~`&CxtzOcZMPWfen{wUcM@ufQ(?P^S>Sg z@9#9tJVT95yhU}_88W@o9Aoz?keKH}iNBW-Vewuofyx*Iv#7RMYqoq?vKraRFBb!& z4Mm`4`XAIqDYWxK7~bR1C(GKTX();H&@h_HhWwKyX3Q}&)eK-|w*d2T-8LGh5=;Me z>U#d?ZEEJ}dtPckavmI|_26X9c>B#nPli{S7z^*SiZmtDP_ZK0rv`>BCcIJc&>vrU zN=ML$EoW3%#IiD2xN*U|AKw3G-R(S}M~UzU>PrypRleAIN-P4oSSnXqmW z!YtKts(OTO?XpYNCc%1fD9V1j0Trf<>gTjC`u}hU_a)ntV{<+<*GK#l5d8T{qpn$Z z^zG>Gjzc7#IOJcuJBGa7yO>C~8u3}mMtbs7%ql{E1^kSN>QILMGxX3`uek7vHYh8l zdZ4^N;AR4~DqI>doOG<-^AeedN4-Nj4;Wb`reNxkY$BcWJ9P^dF3_tW2(d&lk zgd~F91ML$=sNEc*{E+#iq1js-`)%R_rYmBv!v0Uq>1UIlG5SMkiWUb4`s1EMn1a+zSd4lk zXc_La6Qx5+OdRjDLd`G^Vv%=ZkMv!bEls?>d;c+#@vocc7Y-71YV3g=)KAD4DJMf~ zet8lfbt2Ox7~qo@9=EaF%qGz~aj{-i(0VX0a|{7l!3G0k$KziAomWeDbInmUqG>pl z+IyBWdPF|#lhBE9JgMquGQ5m~K+!Id(c@c3J9W(2Rvr9h3ofXT5dB5Sr2nBszLYYg zkaT>7eO=UMt^R)8>G}y}tKv~^r2|TFab96&EH_9nwe=R8JP{#gprN=KLxly=RKDiQ zx-9+2B3}IbrSo2te8=ri1(%Gb1DtoHS{wSkR_bsX`@}njqq{7WRWmPwTpPQszDDsh zeIp=XQdh&iS=0B}5xYO+y@h7`VvVYDR%EP^NRHt6@eUna)P`u;a*mOg3N1r%dpxQ? zHFsGP%&N=X#lBmT6Khf4B$K7krAss@W(m0bL1;rOT#iQBMsTFO-(Zsk_YawvcI$kB zWWvJ!B)pb zq*AI?tq%|B+^FFNz9ipX_7n7IX+h4Z$-3U%ha`YL(eCem5T<-b(+bYe#AcHgeOvSO zD-${fpNzMx5d;UXIpkMHT73zvvwiVy=XoC~hX+gTV_k1qyblzFhl&v{-m$d1^Vzli zKDhShV)55kVx~Sdf20^yDN1iaEaD?9<#4QsPG&1?!MD>ASZpLbLM?~#Kjl$y624SB z*EFZ53)CFXbQ4y_TA+uRE+>stKO6R<7p=v0lPc`Y!aN>k>)}?@b!;~*FW%%4LWXQ! zt4bib3G79tn2UQssIS?JI2K=Cp`wX|2_Q8FjB~O1CHHJ5(tJ9(MU}a&v~H(c_DLMb zu_NQ=`u6cno5ror^bM4;Cm2Dyw5d`co)d^P{JI(;gnmL+CIN2-JtK;q_{rgCc0QqM zw;1^#NSS5r8?2h0eK&YZnvjK}ZBU0mIHT}2gOJ0pnK-2wZ7hD#K=lKuyDFA|Vh_3Q zl)#|J3;#^ujaZT+&al})L(@;Qh8InX%o0x?_)7MAMc}g&UJ|r9C|dQ(NzQz~_6?%h zloY#F;@H>EuaHV#Wg~oNPn`M9U*e8y*igOCDWO6;hrqnM*dtl(EGocT?ex0Nybpmv z`i(H8=0i0D^<3u}KTw<2q}OhcDxveSRM6F6W7! z23-|9KGW<^*ybG6GUVot;bB6i>b4Di@<7OOwVv?E!BJ)B_7XF}ddoz!imqp%$$gyN zsv#4fopj`9fkj7xLra{T#=L_h%SB0hyh_SUmIWb`!tUp7kIET=irEFZ+49#r5o!+5EN+Y650b5|N1dBurC7N2fhhw=orD~{_lCY*rrAJd4X%H{P&wv?T zBOd0Ab(8{})ctJ^Jl)msRSr`LUD<;R+m8$rIQ`S7_OpY#1A|MsTv_J97|5~$hO%eo zAlxU3HZ}=U@viJ$G5AqhS;fes@hXoH=Et@iXhrr-Dh$~@OEoG~%v=zhsW5!nk8(mw z%5$Y#=%Gy(dkHQ0sFhhCAi|b!4Bt=S&PurwsA<~0Ya!upWR+`;d;eX9m+Eq6&SNja z(XDA-K5uwxRz-t6bttxc-kI+NK?a*13)R|~)vWSM#5<2C9Qf)I;&y)n!Q#RS0*z*~ z+OAbb+b_`L_bq{l>QPtb8;p+d3RHUY)$cJtZH7(=@pZ)tev)`0I#&cM{IZ*cDJ#d- zm6ZVwi}hu1J`((Ca@%pvgR#ZKeU6(@R-djLL{J1BM64dgF+gdNr41B_R}B?v~snZZ%QmbhM8vCCwB6wY#C-?#x|_ zyv96H5&Cq=MCp4fRa#oQ)=Oj}yI2oHGn#m_Js6y=Yn_k&UxHDvJyr4AmP3oS&8S|4 zd9MYcKp@tm*}c;xx^SItl^x%<0Ce@fT@Q2l+k=)V;^p{~?vvc+2z31wrkSB*boqzV znA!=OyanRxG74i|DOu>}W8qoP-TPXr=VcfT z2oH(r<>@0$uuVq>%!Zqrn}3cBo6wF&m>$<3T&Q}|?;mbsTlXf-B2(u2)}6=P&m$u8 ztne1e2d&3#HqlATMR&@ya+hT8MaBgl;f=VotF@ORI(#k^{E@AT*Hw=t`oxiVo7^Qp$4(BdSX1YysH06Fe>_P1Ycry$}q?n#2G ziSLabEjD0(`!{6m4BHwZH{?`KlfI=T^8b;z?f1vOekUBlR9s8d=JvH8B`j~kANr_3(nCN#@ zQR}!l_Nmy(@)`Lz(zH4s3GVg6dS~=oKcIxFoL0qkuJ`vpz@U#_y*8ah?zt(novzIBNo>C{)dAw!e8; zkyS%(w}ZN+47rAFWYVqTW_VJ#!pU|!*CXx!GSWWUS&GyqSt(i4PZWh9A-;WAQnAn^ z*bB*qNRqok@w%<3FOmI>^PTHhHnz97xx~a`ii=r#He3{$HB3z6U_=3cdKmv{o{D0V z@!L!Cr1cyxw~S9r1f`@9US3^=;r7{v9kWzs4}UxM5FXMv+VqVn=S@OT>U-bI3Sh91jo-;4i9UP>>xYb|XGrRT5el$XU%Krg7`;#j zdw@m8Z~EZ_y2SIp(T@gxeq!nA>4M2N4i3Fo0!slf5d~1lUo$f|{hkj;pD@#uk&lj! zQVqwGe!qf=46RRh2R2SlJH+j^wfKNDW(B0>XCf0{+%I3g=t0|kh2Fh;ciML17iZ** z?joY z<1YT8>xdaFVpZ)bIXqeqz;9ztX+(`R5m1bkrX~_~?n8+SFWc+(U9mly{rGf0>(|VZ5K& zH~M|M-%T5GtiQ6b5UIyT80q!%k-K+GOG^txsLU%oDLFYL21Z5=5H{7-JjyC6G+&g? zekq|oPffiYnD!hci|bENW&nqZ)Ky09oA~fcd46byoUJW0$g6Y3&9i!1TEUT#k$=vY z)fbB~aHvt?Z`()j-}8_ttEpLl4FM~y#EglB1qbmFZ)-$h$fF^Moh;0f)l~ThA zQG1YQf==!Qy^hI^p^qMxJR}eQzC8=6fzNC0?(TNNn5W}o$DyGi!>NBfX_(oc_L-M_ zFNSYRI__AXe66gI!54J9jf#aGA0MluEd1d>(s0hm%Ilmn>Vk5(de9Ly4hHUC;8Ca| z{KCm*3`E6U(WBQY(3z!)he-Z7-6kp`CwSGL&5>P?9O$^zx#qviC5?c1NSj2L}i_RJDPDaJ99yIk~xT0xRBh zDQx;d;E6M#Vm>Jr7prdv2M5)Sj6mFTiHZ)*x*X1NyL)mQ)1Qy~S0 z+ev)k8O9rUwock_TpuhzSz`Sidf8nvIdre?l{!|pNTS+>Gx;(srCP)o?q^X^XR&q( ztmrB;1UEMePtDG5H0@-|sHtIB&$AU27PlT^CMGmXO*$xzjEtgVS@RoFd_*bxQ`ik|=PY?5z|SyW zyfAll#e4bkB}_*C^y!oH)5E`b`h(-+zNx9H_pkrUpR^^H@Xs6-6A(a=40{3M^TDWh z!)0n_CJ)>oB0eB@Wtc+~p^1s=cQ}yGVPV{&qR}%mI-v0Un6y<^Rn2Q@AqyC>WP4Z3 zba_)$S}F_51R?u7cY=3pBE&CCX?|o1?4>{&KWBZ(4d~W#Lw<}RNxGV%|4_vugLDp$ zjw@9}t%7FNlpgfGbbD7_LQW91owi|V#Bi{Qq?y>uGk%O3sm!Dh>b<1x{%(N|Q_{QX z=o6?R;3_cPtiGNfQ7RxUjRe+e!3a+<*C!+6eYaOw<@?VStW0*C1UL_X8Y9rWe0uUv zPD%M&zv%eOp<(&+tg#Q)^78WT(Ggab2w~JZP(u|Q9N3kVluluh05V1C?z}x=aB%SM zA@s0kf4bys_j}xV)t);k_%}m-p!eyM3pzs%W-Am73=Eh!pFwuU20L-`dfc`eR~lb= zba-fJEzLT+3+RO|&yP25qS;FMmDZz_IzXj$HH1E10r}Bj_tu_2YJOhd-NPfdqeG&$ ztfuB=et!O3qYIs5<2o`b4d}O^|7*A)=&?KZ;vi0{K+D{Ea(^BkQ}~}pjZ6XqxnKsN zH?zToY9vR9>1TR4+-fIFH@T62deM7~P=g}K#MoQ8@Rtjec6=;__QUi!J}sZ?be4bB zV572`s{_7T{O@e-7i!V|`|m&B zhk*e_DR(b#Z{kt$d$w3gu|ZSKa?2Xn1FXZEYthkP;D0El1yOhI?lO6vti-gpi`UlI zpVvo3pj}>Gu1)>a`ugpg0@y~DFWtAdf*(G7ke;zOH~%YUaN#Z-1A3;c6J}k_pa1hc zz(V*8`nPu}T_{U64Brc|sbXScfH*eYy=`g|y1c$7ER_@m(GAuG)`(g1pp9OPt*(yV zXxg-b+<}RWy#WeuYFl1ayt882xtK0wCOpU!{kF*K+(c$wIO%6ILKuA>zLc|YGXo2w zfUB1^E|Q88r{LP`%V5-6ZC&c*abzeX9L?qN7RKoz0n;REkOa!Ntm?auyM6EDfi7-l zY5D30aZOFl$H9bQD{g-N&p?_DWvQCjbC>G0_Vgso%F2Q@I@>!t7(vP)q(J`L-QN$w zfuFbMN6dp;n|jF{;FXKQKOMj65bq$Hul>%iZ{WV}$;cCd^`c0{!Y3 zsO{2o%RZ|4nxK%muUM|%i(6S)afygzgc*UH-^f9`_x~LMpysW21|k@G2nY!D-?-+U zfji(968iYQ_%HcMDp3fl$|+m^1SU7b1JYK@m#U6FLyWJF-ijq~mW0e=Y9ozy$|S_p zt$%LkaG_h*A9KGPk0jF#lzG8Bix4`vS>e2RgSdl*F8v|W93$U=|Fw-Kx|tL@M`n{W zgTIy4c3y&U{#&UM9Yv7Z7#JANC97_Dj2V(X_E$kfm<^RQl#K9QA5~|)xK|Zuep~Vo z8BX6A_q7=2B~Q$oI-Z;IH+E)@Gt+dbXfpY+8$thb$F=7PdT_;PSBLhe zPitg2$uipM?=~+K4a}3hQA8Js=Av(ZUcudz{S6W}pQCOtR?Lb`N<2R(moQ1rV{_N2 z{4?s zC&DwRjWw#ei!oE`PLN%$YB=pB9UI5&G}5i12ZD9ku4A;RK|6jv)9hE`P=Ub#n%a-$ zUz|OnH%oRWTO)J6LYzI-J{Ft)73W-uNq z(A{{D{%%>%sq<3UJvP|rrNxGGuAgVXFFm_INKkS_$u(BQKuK!MA7vpr?u>XdBX#)c zvtrcGX;v6;%j>U*R0rTl%|1Sw(6lBXPcKS$6eu zz#(Wka$Kb`>iFy2E~Cea863RDZ^?BB{Sl@m{AN48RsFu8w1ThGK|T)uJo2^ea)E<= znaZ2@9D{``4wWu~reCsNO{EMPr*d@auBpa{VyvN;4X`U|5EiJ5syZM>%o}!o9?sp= z+0D8R_p@b0SDSA`=NHe9X`k1H=vRJ_Mx};dmr}&e9y_uS4gNGaw0TiX0>8&64DG-C z@AF}nPQy=#YP0gUw=BKMN$#S||9uZ$GUJeFM^$l?V;+ zk-4v%+_c2!7-L*&1xzv}DWnl=L>9#EbCamNJff`yT%&cX(o#O{+=5SUNueCbuW!?t z;qeDg`I)lbC8@XSEF*ObNi*6gL;gQkd* z>6a8A?nTp1EV#Kg>^UR((OsjuHEJakMOoEG(MF%6D4lL%;hMZ#*( zQbP%dGQD)1$vOX}CY;}G;R>Zg1urt8_<`}7Mx^7CXIfJ7U%<&h)M;`cVlp3Zl=IuA z@>a7CRy*dq9|Y+kHg*no^7;ZsRI<6KLs-1_PGf#A)FVkvK$KbHF|ThGH}#bvk_ed` z1X&ZCh3J3HGrh!7EglY8#$_hP*cjIyu-Y#c%3nhX;Iv2j5W)#B3kS_zcE{#=a5TfJ zA*t+ksqr~iAB>iS@5U~g&*b8WMd2wdS%K5i@8kZbbn$(O3xs^E{UXV4;5G(-!; z?0nOLaAC~aq%u41(kdD)wjwQAhwc!E^IUv{@g9=}>t}L7V31HQv+`&L1imw66s_GR zl3f|UQ}I;@7ppV=D^_Sz&L0T8ZF3b%r`P^^6gV%ehzyGiQEy{uhX+;RN<@ThW|9Ip zA*%t)aQN_ADU^9RycTcX%LJ<{Dv$G$BdnbF6bjru=E!jcv14J zr0jI=QfQmjZ&?o85W4>?I!wvK-+G60MD>!a1RZniFi~*q&IP)oi~Z^KPdiDs9JV7l zvh24=7FVI6BSvD}ZEE@*v~Po1M0e+Ci0zTy4FbQCEv z?eq4e{0G<95RuWnJb$?y@?`pE4ke9pG;ZSxO?8$r3=Q%)o#M_p>EF0*)|Adv@cNW; zQbnEXpXnNO8m-ZxbnqO(QUBCYL&M`Wbz7Jx3A!Q3nsc@3CrrXQ{guo-C}A5tLl?tsfAq85U!9;Cz`x-Z z#x2y0j4_Bph}R^M6ClkeuN0wvoV1V&nWDF+#fc9L!d$C`dQ_*RBqyEp8=|e-;aQ#- z;n@iU4V;bVN+-qT2nHr#e!>+#BYQ^UNb51@K4wARP0K)~;b3gp-@^MF&B@C8>-P4R zz9~$Wwu}5yw|-}Sny^cP*eS15C}$d&Kn_NYIOLfn|ENiRanOuE%kSj~B5D&1&nU@? zRo&N>?V7}d614{nGKELe7fcd}(jM|-Xu;c=`WM$H{n#k4Zr;we7c)^YCCK0yA*X|v zyzN`Y9y(!Z;2fI9r9lME)#+L=HjlO@;9UR+g7sqw2?-^>p(n=XRm2Sn{=n|T`C2!L z{!PkS^FjG9fB^gPb)N-fn^N$kU(3`Ws}#XQ;a;CL(_~g6@(dEIz3Jcx4X{p@XDM+S znRnNNytKk_djaQdwbzi%6=ElffH)YYDUKiH>_5UrcNOw;fx8^7u-CoY==nz~uavqy zc6ycamrR4Rl;Ghl$uJC=AIUb3j(sqDlf`tgHXwyy)C+LPx%5+bnQje!(Y?o8h1Mk} zC!2yF-)61;qnMhWHcI3cu%8Q9eOz7z%)lN!$w@li`d7Vky@c z(D!A$-|y5t>6s4UYb%@eIx-^|Z4hWyA^AfgZYn`1QsDuGw8-cK+C-a?!8hZ!Zo;YN z&e>NKDc?9YCDl8tCGm|>1NGRTp8?V5?&Y;n*02(^^O1>}S<20gmml0gVqzle7~9&! zYyOO0u(~fOMZeDO@3tucjsp-j=fe3<6+{!w>bER1viM7?3;NUY#2G$C#&v|JpFBR; zSZ?>%Z*jRhRm_v-3Ig0|{vyqK7nqKb;0 zjlzNg=j|a90NHpJZC~Ma0k4~eu`#8&!>}dK?#YSu^)!HteSPwL0G{@d5fe*7p%TfO zU@zoVRIs3ZeSPWxZVnDAIhtYG)GyXpkJ6&T%hKYq8Ml6AESGlleE*)Fl$3OAYz*g4 zH0d|2#|Ic+MmS5Jjqn#Rg2LDy*lm@TVlFl~^`D+{-QC?u^UY56m;sH&x8vgCV(HNX zxP&5P;mgX(0M1pQO^^ha29Q0D8wwhGV5Q&?#iX8Emc{Vt;A%$b{E(tyxnb-k%bK}m zC}jC^TedHc%sEa5(sejK0a?T4rSvA6DVKirCzi7e_3V#rwY@O=*onLA`w2(QJvnwt z6=Lc?99SGVd(4&)Z@4uyqsp52)M8|*fW1B2=;&x_$~cR&zrB#!bIsK{DDYmy-JAdx zrJ?P}4-41kS`h|ss(_Cyn)Htzg z;uAN}(8CB(n6E8fDc^b7V;1J2mh|xvactTm1jve+kK6YmW3>mEr=iqYs&om8YY7UJ zUEkxxBLT#K=C-wo#ffP!h`qhY6S6ASdf&3!_Fye2R!~+eCsD~Rf){v1wIBvaAedwZkfSa_##>8CPk$4u$ z{Z6}b@ zKSD27kP5Pv2Ml>U<@xmlV_V^C2{n*0a`kDt6^PZA!q$+nnm$~4c3_13a<$e_9g&(r zsO){dBOHjuMW&7^bSc9dg4wI}>OK&tW{XC^Ofe7t!0A7mvxuX?i!cSoBfTnfDALnz z+!LzAZ5Q^~Al#G(nDm4F?<>y;;s(%9tje9|?XWrzKlaseV1^WE$VUtl*2TY2eY$pEVE6Oq&n}P_B3n+{ z$p9zN1^lKT?Cj3cMtzZCe+4%AD|Nc?y}dorMqOv{UlrC+~B130fiaUYNd0MrBXUDFl!YjA=+ zJpNO9^JaX0{`cSl5F;o=JafR!y?_6Hz>)_r*1Ly?vOYfd^atWT`f|*DU-#&LE-i9f zwThAjadV5%5tEJFSxZ=5BBNgBzBrZVhFi|K zIFI@FpBVkEpr&E7=ANcV66vI})!+mCmp9gRr}Vn|tSl_B32ai6{Z3J$}7DaJuBm6e_z_m>t->?l8%n+Nmp!+2-{ZvjMU$3Yd$Vuel zzTWGsO?1)h%onbIUHT62rFVrede8F$f)Io#%b$|H{|-}HNf@OS20?J;?B0nIn;4iR zk3_vB$!h09YbZo!d!U7x>QX~fKFNCd3hzz!JosDQF z|IG}u){_+d`E8>gztri&;8YGLgtUh;fHq(Q&0?BcN)&O>?G5oo#2HcD^0VJk`OxVP z$3Y5*L5<^=jJNbiZ{I}}`^TRqqSxHU#-_8`zzR+wEYBPY z*7Vqn9~2sx;SWTCVU4Ktqu2d;WT5 z^u|wFS$S0aQh%jadRoG%7A(c zGGJQRl$X2v+P|G|{fy#gXn@@W9M&cD`uZ>IpTPB+o10;aCGqe}V$<$Q6gzvzC8{24Ly(#+gJ%F`ABngdN^%PCnXi&JDQc z9MF$wIBCW%w|Kz@Sx)_^U|L9n6BS4spnU$?z{1An&5>`~1>D)$i4&tVDrhc%Rj+Q`G=?dNBIn%eqRfTZRE~LH z@Wgf>7eltj#FAb#8pGir4?)p*UygP7;GK%1kt9g=1cyKTFf!A?_@O90g5gcV8?8^u zGKBgf)`}xV5`uAtGKfS7e~=x88j{?6th3MX0+kQR9TS}%p6QBDTa_Ar8{V`J#R?(N z9f$hV4{`M$%Gz{cAa6g%Z>kM}1jSc)`%&e|()<}%1fB7+-!(wzTM2cAG>=(+`jkGY zRHYY<@xJlHpk6g7Jn_|^vH_~VWnl+hoMOIardn*TIaqbY!bzk>vK=L$it(gv-ha)? z!pgb;1b077vrbIJ^L@TwwLVa}LI7$K?TR53>7Vp&;-ZMnHVXX4%#?m;{eUNsv%r1NaT$bJN+{^LY_E>NRd$#ez{nOByVkP4se>TBI5{`|#Q_&Nz^bpaPL+sv8<!BuW|G|9trS*y%mklxYsR0;oj+`2V%ASR6v=>) zP983m)=W|LA5s0aQQ>-N3q|fHEn}(eB95vKoCQjb=7uVvNB4PXi6mP^fu1Curgd@# zYq)YjTq1z^K$sP)a#C#jHA|lG@q?#@_3pNCxnCQ0=*sw*iiL#U-kt&R-3fE#!pp6~(_E z{@0+t4V_9U*|f?+n;zF1T!{XY)40Lo{OQP?+@cvy;s(->kHH)rJIVK+Ul8%iJr2M4 z4VvO8S7$mW{o(Uw4-$s*-!nlV#yf)%HEPnByu!k;hA*k97QiA6157X>9~>o&*fW?9 z#MhS`sIQ;~nRNJz!6f%V)(U(A=p!i(6=~SuMUatK%0g-vzwJ~8g|fK9YZ)wB>3J>{ z#XUZ0`5xUKU%2IgKu-o8MK60zD=&G|Z;SYcTEr0I&uD&ILB;TF_G<9~ye2qEwSPqW zw_Lqz0=vcAgR zp`nZ;DvjYBl*ZYBDw#125tNNoyVQ=wV0$2=WZ4=p(GTU%Q&$%@kl zDFBSQnFB*YbYcTga_j3;{#cO#C}>xYO)eM!zzmT4K{LAEN9F{?I)rbGS*qWGiu!&-y6k=jqb1G5B( zBUrcLeSdh!20*3r<^b-s5>SdO?dN$w!QSScgduk@=JoO4T`0rHyROZ6LPTo=Ysv%3 zIqS?!(^TJSip;*;msN?Zzo@XkZ{nc-uzIJ17d`+PBL0or;X{Dr2$fZ1lEsnIRmIQ> zDYxh4?!br7u1!kkDwk+tD!@oSYGJV1!tx`_<>jc<|3!K^OK`UQG@kjZsQ^#W0-d~r&2%A`SxuvvxKOHi;WWpNPonq29R+ir|uSgh60 z-X0Tne1W-3HA@(Y1~CQ7Ztxj4oS4DyfDV@q0aIn1rrzG(fvnAw`Jqp|=wzM6gv=~* zMTxkaH5Ku#@Nb!n-pYT-dHv13K2lp2Y2+_wAhmOsV9d&6 z)UXK;=6yT^1Ib*qY4!}`-RFwhL`zg^l9 z4+HHt%qTy+9=t{yDqxqd)l~%AWtR1=VDPK zXAR$*3&}Ys8g)a;3PqYK+4!s^1!0Ks5&V&`lC@fDs61;kg(lZ=UuDjPjuSqE4vzF( zkiQSB{c--s(PQi#YQlO{8g+gB2w+YMiN6950Am&aIRoiDy8`zPlsQ4G!v9wJQUI&P z$*I7QgvLIanVE^nU5rWtRMa?tFj}t{pmsneXCG+9i;z_ZzPSJFW}J~obHqZxNv~#1 zP|D}x<_`S)8QFfmIyCNER+gNT6DK%{jW&g#5P-y>S7U_*60rB`$cQQjLcvKs(Czt* zEiC9jM0Q<0^78V+xFWzH>69D(en|oWN-{_iMl)YNrfP=AOcSL*8MUJ}+=3wjkK$ZZ z7!&3Z7^7J7zTf|b5*Xe@CP@4I#p?$E4_gyeIKXPeX(rwxuP}UH*FYk897ERM za>pjQY@Qih0aqgqUamSz zH!iH%1m1*gDBZg!d>-oUHB6#3+kdYG&1U$~qPRjr-*AbgGher^W5$>L7w7IjNdL;nk9-+a zhGAZl&$U=9GHu_88UcA_3c%kja50R215A?eiF(;SAikexNfqbrKj!EVWuK{q%OhFo|ZyZknkT z`Oi9MS(;^M!LU(YZ~k|nxh1xG;$71?k2Wr)!gf(}iB)Ec8&1dAeAnG*#~70oPVDf7 z740VUjr#7dyjJV^CO1aU<0TUFtlwpA-!e0Mz(AOcyEdp7ePQC4G_`egxg{kS;3z2o z;t@Qh4fhKOY<_n0HQd<16PW0gc}bl$%O0!()N^1~j-`?q*+8Q?O@;nTwXwC8($>~4 zk~iy$+<0@*&`s)yRZ#OPiy+|L*VoVx52janoq;1Q@&7SK9kY7Hw1#Z*_ZO&Ux$faR zk=^|IoIB!5a4{3iRa)_u+(Of)n@=S~+-xlbLcPYRupt-dHCx^KZ#x6P9^gS0fMsu; z&!7*7EgDGS?I#w%O=0r5uj}%7HM;?r!L<$GPR5Op9a~<0EFbZK0%QD}vl2z-)XMEH8cGj)tpp$lszCi)0)vZsEuQSwFBC_a8vn zupUH#Dao9Mh8v^h3xZVg2Hs6+vOh&R@mS&A^S&c|c71_FwalfMhucw=I*k~^;WtuT zXLOkRj>*dE&;P9$Q;Sol$~N6nXJv9M2sPmqpsu$0gxt7rY7%^MNv<(n_Hum>1)IgS zEAI-PmnlD9wUC>a_t$O<4ip}cnV_YGxRWnVP6h)TIc>%;Eufi+I&P7ytgT^>N_jGr z#``rbtqTlof_e}K&Z0R$O#gN`UV+2yy_cW5b}v4u4Yv^4y!oXzJL|7qBJiVtJitAs z19&iCdjTbxGHMe*q#n??&bWqsk+d5wB?Yl7k@qxb>c5=mUDftlwvAEb^l`}9Oqka^gEr< zn+J`P9cNgbf}J|Vyk`ujXaAudp_y6hONEUXyVh?ZXsP5`9tqOV4HSzZ3wTBJ8YrdF z?$u!p`q#@q5)+yu6!muOXNeBftNl2D8&@}|a+&0sh5$BmzE_};xa<#?MKsrluzA}V zr5G%;7hCL)V?&49b+s@28Jo|I72os|?dJ^UcUn7WaLg1ljNeo7B$p6almgNl<2E0N z$7Vwn%cozg6(DfDiq#*fI>di#2VFpG!~W8H?k_&j59wAoxIc4vpxSf<76HOWJyNE} z7LRq03&c3-tIoe`j#P+!>!H{0F_6kauet))V+7b@P;jbd$gWEVv`j8mGAGIkblt5b z2dG^B9(C6KjE|OGSpJHv0N0L(njBD3ns>lC)DTRN&xE0`%=wBQ$v2n19=vA%&nvb( zIn0WXFew{>MWW9;S#QxdAJL8XevVo&;!7P@RhtF#tpo*JqtkYKsanyRW$e8)j4UQl zqn6doHQiuFCcG6UKh+>frCPd-*+J9dC>c6@PbM>lg{IIS<=MuBVRRW>?vVaM4xu|k zS*SE-b8lYf;USEzv@&v=k`b!Ri%(eHVMV*np&(sptnfAH%jpAkGR1%vdxKS9-9mR0 zQ=8FA{C{ikx`RkoSg{(0sSNL$gpf9BqB_S==Utog@ZXzZq?uiqvIc7~v*d8+km?)j zuDU10Ow(ZX>9fDeLo1fz{`TPwhliTXyYG%|?pg;UiYC-K$$Mkc>Dw&OZ_^eB`DA+P z#OWAjhHl5Qx$Zx+-v(f2>JQwlubEHD+?*t0k32X?=kmaNynGSi~-(-E*E_q zeOq$>OsJi1h+nEAYwtmDZ`N%*lRi# zQmc><=?UJIKyD4gxBd4sUkKUrj@de!!1?ER2>zv%86wi5BIqZ8zS~=-B^7Z)B~CTc z8yhxGtd`7T#fQgf-lcv5I)gnEkdjGg05eFd(w_O7_U)Y9Y~xq-wnC4CCM53qy<%61 z`nkq5!OOYh1#fCvQAuxEKRW7=5ELY)-$!2?(^VHPUgpP?83&hr=iY-b6L9LC<&brZ z^NYMEmJQ(0l;VWWc=2CYY9KC0Rj>8l4l3zUN3qpbo(Yu{qqF9dt)nMp|FJ9hQA)tL z#ULFCnfj}&CYVgHL7X)vit#A&ec`~emtM_ayla~!;uC)WB%~bmd^uy7Y&APnXLkEK zio=jc9k`QZHFUZt(1I|$f4=bT&B&jw!LKYRb=lTa5q>oEYEwlf41z8NK~zf8ybYW5)8EA_ zj^-6|LUUGCZhWIlu|=fXfGj|zx`|&! zkpL5wZt?_*pVWjzi2dU$Ww-5Ij)^}_rP!rh!0hqY+O|sC~wx`MRX9D2dKU zEeEBcr&dWIAO{&UN8UyFBbA_IggdJr=3@=SJ{J>8myoBo38Gt<98*PKGAbtLfb^c< z3dzIO>=%pTP3G^;I{$!{zNH^KhjTg0H0T|eaB+JOjbm~n@ZpK>~lr%jO+)t)2M(4M;Vase6r$*{o%9bxtG5o570 z+T8m3;rCh;7cvf9C>jIn8f&3vZ@bV2y zOZex$0mcY6kcg|98ZS8v&&!!!zQ5|!Hhx1w+vq7L>>@JVivc%$z@&^k#AKZ!W3@QEf;C{Q^-1$ zBdBm*5ssy#pJj@p9z>I#`K26k%JFNs!PI)LXitKG9X@l^=v-~cTT@i}XuDxEF}mA9 z&ySi&(q67-2y!FMNeW&Zy69S>-z*Yrg=~v>lX(N3Q5|=Uk&@d5U(-J}>8uhYEu|ud zW3XE?vv_Ni)K0K+8gtpt#q_I64#0Y_Ot>#Kf)ipPM?$Ivso z1|Xh106GD03Iqb*QI!{f?k+AVahWyp0?c&5nmC~L!?3CPV53EEIxc~_R%bVB4s=@> z!ckCAD2iLI1HXw}8~~)62-Vh{~312naazNnPOn{5&|36C-f zhq?$=xi`o$1P*i|A=cQYe^3vl*Z-r5X|eY!7Qt8I4Tgy%wK1-AM~P*>{i@41U)+S5 zEex0)o>dRM8Js$_;$<4)&1KkaU(9PFJHR8KUX|8i_)cGcW}eg@d8YO+}NzK zAl#Q|2!P6*T~+lYCMIT4F!~bRmwK9N?|>e3{Gi|#zu$e+xVjEBPe7sM1}VRqoeq3e zF#ugYF+II)#dG}XySv^O9kg*t4&&UOu_uqZeR2Nm z(}#cx-QTYl@?yU;q{+r>q7YY_{E^s511c~fmt>YF0oT}^#1r&oQ9?>Q^p|7bD_qG3 zrIt-SE-@LIb#3u>o|pNg!?Rxel@TjVPz3S}2+0Cu{g(LGhu@N6pb{1m`WNw0lsGgC zjQLMoQlEMKx#AKOBu$p{!z(N*LU(+XwV#xhX1uop2IByB0z8hhlj&+JFE25NaGMvq z4#_FcZ`vXONdYKs3~giG^b%5>%YUsfTVUJVNueT2i&&#ejhn5HGB*uGZ(ZwXI1O8!_qDCb9>sZYpgE1)^pK`+iK=VvW9U(|bQtFkDI8^+SH7?d-;5y2U*vLnY+!eT6Ug7u2t za-U(JOXsC=WZya%`6B}a4{89wl=JWqb|_jRLtGpsV-KJMVqlSFT4?nZ)aEHRZNU){ zIDqI(172Jv}f8+(%FPZoa6^6S8hE{)_fT`3|0M3r?N2*w* zK?sKop)$SA)qO3P3kFbFuUwANZ^Yg0ycWk$rdI!0qdmy?BA-}?f=Aaxg{HVnv5KZ- z1{)*LP(0eU`#w2ee`7uZQxt3@W&gh&o1D$%9!wc=9=52;iMg z50?4=W26J2735ok=1YB)m6n_gi1!$c#ef6>I-}C4XgMTEa0bR^szo0P>Gty=q0TC> zp^^pb-{TLi?m7%CbpT#AdQL)22Y}uHPRXel_&ESDHUP`0lSxGmT?Z0krsoi|1n{!} zeB$Y3!{)6t78|GMa~ZI^3A zrp@{Dlh6t6>y_0V%B-=kzV3A2^EtdNmSGop$PqsGT3s-05@pSZNKb4t36bH>;ft;qM%_iFdmO=IFQB|~ZHwrY^zVEjdie{3%X=T`>oDmu@E?-utna@B;G2WPc4J_|c%U>53{p&8dV2$E)Y5vPS$ zyd54&7q>v${!r7PTaRVBl0^wmk zEI%Lcj((PJf!za$D1;720cmb`_Z5IkFEI3*9GE_qY54;H6r3UZgNq;FX~v@`P1qIE zQFD7}+I zUEUJ(%Wx2j_5NzQ$jM422CJ_W#_7;-z*)@lbR%m(+~Z;VHm#XYQt&>9)}|xWJlLc>=DC8X5$p|n-B3S7DuyJ8=pzN}#u3M3y0AZsvshN%8`iQ4=Rajv zc?Fk8nm4Yf{xkaDjQs-OKML~03Q!9Ha|`lV1U7?WKwAZ5S#+QpfTjs!kRKxecK8Y9Y7;!X_>Ep`3LE6fQut9mD^6%TbKW87><@>1eW8uwo5)p)d!6phHtU3 zunevam#!xh+Pd|W!99bVu^{G%nKjH>7Sy58C=4vzuU3+Pze(^$)Q3&G4w}jJrGTeU z0lT-j+s$}j0@R1)i+eq-cW~y>_(6gwQDH@I`9t$Cp2}xCN~uR_@jDC9+bUPYvj%md zc#r3nW^WW6D9o@0L>Whs!E+FFAa-rK!Bu?7xzQxjaMluVh)I4W3nOJ9%Sxzbet$06 zjsIO(I5|$_334|w-o?2jxjtGhAtwQxJ+pVl2*NMkACLcV-&Wiq3A!6EFwD)(<$yXG z62+PQ8X6jc^yoJ?Zj5=50==!Rt>s(;DER|cizcuEQj+7tUsbc*j&+(vQt7hAT%;0LDKZuTRl|VrQdlFWMd=@2-Bi0^UC-H-uM-T*%PLreH`IDrp63)2rn-@}u{?SPGIgnUlM z9gV$+(sJ_cgdj|v#PL5pkX&zynLjyE*sfaI;s_e?ENyHm*Ur6IS-f$;$X7aYFdkX7FCieQ+S2`TIF#yNorWxT2LGpA0bQJh9)!c&EBK8v67csb~rcd+mY5mKL$ ze0%W?0VZy2)~m{|3nv`OL&GG-sFPv=7Q~`)B>+8YX;s*jkl*@XU2v^9{IDC@#WN&N zMe%6K;gEHfiv5!NLFIe6uE#9T(jc#q{m!bILkNoVsgv{_f`)(Y@}8SXmZz>&z9O8N z412XToD;rx(SoDf`$lFj`1mw{8mk+hiP1j%c*2;c^djM@-A|u!*hivefN^Uc(}tC>(fH-V6Q~Nmsq8Iv;0mh@ zD@Q8yclgB+@A^EbNNx4zV^+Og8V1~xDAcUmYQ^VIqE&YeLjyFln62!J$eMUPqtr4@ zF$Px~72guZs(I{$)`hCVNoZk?$h6FgzmwElwlK7Z5qD-X9e#h10l3W&^+yf|7|dRq zXnU^!yP>m`;5W6!%PHAKv16q*+P|)Z7Fp?d^#0=}+)?oFq%lW0*QIFQiuvIpwb9tb zD!jN6GTZlg6_O~;lan~^!94Gd z(jZ@)?~XY#?{~W7J$pQ?X+AG@Bl#^io6-5htE#3iqN8KLq(qxIvC}HJD@@;ooE~=X z{`iBtA3-_V38&zBKs3fM_x9n33PAQf{n61N- zJv?c%q||w-Q9V@U_%om*(eMSifJ>{_;!8u~AEZ%ZPIB3;Wv8f_$G=qY)05uNhRo(F zga`dZ{DvTj&bT^#n1o5s?s647cwA93eq=I$k>qMr?p(dDu$#g~f*b=|J|lcX=XUfq z^?!ldQIXA3^tm^pWfV^&CEOyAW0H5CV1%V3GO(d!Cp&oC^zoq@*O4j^s91%{F1@5N zyGXt`U&?LK+y8>Of(#cK-^~PX7+;pmqw!nowPotc_1TtXBTvi+;iDI4gg27YykJ}D zB0LPkkRaPg>y9tbg3%UVQaeobcn2E+eP?U= z%@5yy0Mp?Wiy2-7yhRb=^tbT1>bk=C-?f&vjyHG3T3yM%%)*sSxuSwTw*X3ud;rdlE->MUr z#SB{W)v0r^yx1a_T*~_@iD)<$J=O8*UH_wRO6-SmF(EXGtvJ%HSV^>pRLIafiB_i-)_hO8`N!joAEEz^$wf% z*)5lvi2gi2T-iZx43cxx)4(z5nJi#|0XMIQU1q(_&1f^;5K!G2K)@j>X$K4xo3{QH z-gm0UJWmJdg^XTVSEpgItQ)NwA{)%rARZ%(eE=5j?ig`&P5i{Aoe0GLFlW{jMMU6C zh`ELMjLQ`g%@q<4%5%yeasMi#8NSC;K*V^9;6?2~a3#TssSNVqklR#g-hv7pm^<77 z>u3t#^&^>Kv)n=!EbW^DBY4n{28IyOwL$VMo-xsHkpDOkw*#HQf0C31oA$Kk!Ur1y zrssh70>B$~_X;<*&s$2KA@VF1ev7`Q=@b<|xbm)-nOn*&>f@K<2Tl!j5)klaVl^ch z5S(u5xKVLQvJwnN@@scKPV8d)d|AoIWgR``x9%~35s%<$Rb&cnI;f>deuVd;#?s6D zx9^AcPmJUtM43tqOoAbLG%!7bGjo~%gr9X#-phhVF2ey(OifMALIN`&OW4?;2aPg7 zG=aa2RGI4qNr}Z}U|^t>RqUrK(!rr2sjQ!X%vTyB3Ro`!797Mx0%AYba_|vEL`1Hu zZx~`$E$AZU6oP?-iXK0B+?f~n1ORe~OL`!{ky?&$D_?Ht1n7*NMJX|y2`=>Y^#NLq z;9sCKk&%~|hZS~yQ^f!l16i^Wz*Z(UmKuN_fTaZp>m+v(;G07iH2eeTSP~NxU2v%~ zS7^ESg3Hm>!)FmnTe@_b@%craa!iI7Z+C!PI}(4VDZ_#VtE+5ty&m93}GdHVDzgn3KGY2QW8K*0C)(*;o;*u z*`BVn1;7VD5M(SYSb(B1Ruv$}s|@e}Q-g>IH@COZ1D`eCO((Vz{+}@c@MjJNavdtb z^G5>)X}!R+2;%yK4+ZcQaEP$Yk&$45SSyeNFcg~sQ(%e({5Z%Q>ICvfxH&fmgZtK! z%eTO$;~FR+Od+B}!)ClT;Np)jE`~uE59BtatxW;9BxkhV8?MphV9uBhu&=Hp9#hD+ z-{~GWFU^+ghJq4*yc@FBg*?#!rUfxH3h6?(T|twuh*bp$hk-C0%C!M*V7mi=6yWHz znSQLm;z?N8)$r3CQKu=JzLD>n;0d6zEk7u0$XIh{QK$QS@1_0ggt)3qq)N)u@ z{G7~Fl+rnYT>Alc1yfa*gfP%r8J{nu(vFt{@4ajz;yNx%jQxv9@^bwSLtr^2oXWqx z1G}8`7IDSfLh*a=pb~c2@N2bX%(bH7aB=!qrS{sgrAsU(-PYhg%|iLpO}O7V6O4dJ z6$}CcsDL$k7S#ek=`?^Xm!8)@W6`_gpWs$7K>-nfLINclK%O#yIs&|*0iFWPbHu=v z0oo=pTJppDXec(r>tRjHV`bp6nPYlSRUnN5<9AcFpe|shk z(D`K-a62G>FhH$e=4&{I44$CY$fO?p|}a)Vp9q9I?x^pxod;ml`5ALBhUjv z28h5^3826Ys{s@Z>#UhX*`WCZ1V<={ffGQvkOe+abN%N4w3)BK=1{%O;h=F+u z4YDRg$V*A70z6)@+^D1FGFw`n0@~_^n*!52pfdv2LBLlI(0?JZO8dIqBZs+#G|@kFz@PJE7G92&Y}( z|A90EdIf;_Iu#g^;WVy1yPfX?>I|>|A#oEBcxJb@QbJgyvcQtx{q5B{un9M_m@12b z4ct`xFTV^pN~-sdc%4tYt}^PuNVf&v>tK=<4$?1@np*%CP^w*zgDZZ=2}uBf%m`Eg zpTO<}VF4jTET>&hBm|n~+dM^}c^BXbdzrw6TfLQ&Vyj$Ur9knUtg4z6#$%*L%hkL% zXlNIbvTI<4Th;WWff0uNcng1I;~0*BFiBFZm#5|YX@W?XmZjN|)bee4ia=pYN-gW; z%}{1B|3Y8SD3>sY%_WYXN=YZ@z>_wKB9wGX3|BN84saYmYY~ub{qP`9uI_FmDC`B$ zBEdNT&R2-QR$Pn$q%j_r;C=g8p%)I$3zu{lL^ymZ^c4v_J!rWCTm$E+V8_c@Ah`uM z5S+GefszQ^z%_u+ubqGg0nIxA(gF&hI!ncPR>P}i@Pv=t|J>RF(<~qs1?pXZv_N+Y zSdl>vRFQK4qXm09(yOSs%}pbJoqbIC{~UTSmQXce3t(dg3~We$1Mo9&8Nj;6&%RW% z8U@HFRTUWXZ1<*_AU7nie?k!9-d-0lMxOw3ConLjjh3SZb1N`5l|%#EHsn1IcYbyZ z(vot3x1K`;pk4uA^r#n!KYl!pEjQn5IZ-<1w3FK(I`th2=F58o+rTnOQG?$0KcS&z z4DOc6@a;y#eYAX+WTRk$ibz{7 z!Bx+pQ*-lGa?YsKOhs|8PRWAP_ne9ay`R4iTj!GPb@ui6iX&Emhh=CLJON-2ia+~w z@a1*H(@sQOQEwn~T!8_`tf1YRw1@L{nlogVukCoCC!a(4V&r3YfYRACz;bP!{Il4& z66@awub5a?FOzd`i>SG-O-a)`r+Ha#GPK;!>HM;hM<8^Ht4&-&L=M$&K|z3%899_N zHPg37Cg(11Wn#OR8BTCpxR2wDfBNv(R6I1}@n1$CG;x8wrgBAsCI{)Bmzq#)2SCvg z4dUegoTXo_q#b#fwmgDFlPBuneG%TN>rNoa)MKKCd<_K!1v`%JMvqpC3eur8pX0jv zR&3w_3iF0NY{PojBgLs?2>%=h2>6kXI02|qr@!-mB@fd60qc10($};v~UqH{lo*rwi9W*POz(K9kUXXY2t696itk zfSaRa&=ph$&@tqJOxM=r1ZAs;II}YcQi*##75^6_9xQU$fCxr}S6#@{?tT84B*#$B z)OG)BG5n)YG=Q12>o%RkS`t@6Iog5%DHPTTl4$sYT3~0Q>!84VhNUg=N#yGW8W3&A zKbvGrs2?-F#>~MfPWr%S^?`|4z2Qh>m0Z=b{?FV;b~{w5!mUgmQ~OQWHkR!&e=1&3M}(ps>ZVf!!{wH$!rg z<6}JF6&8-)3nd6an!yzTuXTZAAc@9zMUGZKD8vHjG86O76W2k_2HF?b764~sJ-LiKzk+br*@JJ(7RT>iFU`5B+xGyZ&0^Y&^!CqTuXes43Vr&y2ix?#h)OpUZ@uG%vsb3AB5to| z10sD1X$}I@DwGHfkP_FEa7|NtR>DsHN=%3>_E)>_tb1QiD2W{?`E(k;B6GA|)3%+Z z9jyRUHWwg+iv)`PGU&dx-5=PjgAg4w@e7W}Q;yfq!k)T=%HZVw2=)vH-Fs0{zv8vs zf{b3^kb$ZOJtL?M0!|2P;4VXDEc7?+%Ifo*nq$0ptM|Lg$B*A9R^^zr{U8b+mZ zf%^k8h>myPz{nxC@)0GiZzu`J8Z;2Y!NCdmmj?WG--w=cJ9>8QJ3RpWh4H?HSSrD| z6Y^(-CXvM<&?5qjS8WMTV3H9;0Y#Fq>$L=pd2I1CoQ;ZrcuCwj5}9^s3|D4nQd$fmCjcH}03P zU#8I5f)4K-x_+>;2ih(#i$Kb)PJEcHtvB?lfsPBOxeGYM27;&;9;*o zB7N{)JoBUiXBY{)jtdbI_w!Fo0hJOCrP2=ky}?1v88I@EkwqnSoJ7>QpA*W7`tiPw z46#e}Ih;oVLB(V1aQ&-W_|H6sy-4QYY3(=CYCDMH4H7>OQ;t~1=O=97F|XCm3{TI| z@2VnlV%kcVBGB89>iVw~BT&?18)%NVpQG9C?RT8bq1tMNLl&*j_0L=KgG(T>1yN*Z zKduj*+e43FkGJ4o|Dz6UnR=l>acqYT>o6Q>BZ4fr!8IcK1P;Xz&zA>e@V zdnDoPc3TU6(bduY00-p&&COKL9bntIAc7sq?*$A#j2N1dsDLV4mpEHp18k+1P?tfGR32 zpcAT9ArELkt3QdaZ$TEncrWh%^XE^-$Gc&kv2J&0&A6V@FM}6-4NBSpuLjBf_3yd1 zfJl!Gx{5oTj+15|R2bFuFXvCm-bH-FQ-0=O5|jNy7jVuQ^-Y+v3XYY?Y^ht`B85RQ67>< zqMn%Bz)8dA&t;-s5qL;jp|O=L_4*t=M3bBWcfuSFhx|AI-9?HA!?DnpMA+8wosJ&i z&{wpldYxO3_pr>z`_qew0`o4m`bA$DSQWT%FO>=M&3%hex|F8~NyO&)Q9`ZxP0 z$T-2~In#jkgH`c-PU|NikJsIZh>9+{CT#(=P^akF6Tj-Mr%!V(`%d)2wXM=khtE7l zZVo|#;S&UHLuO_EeC@w^uZ1|!>}(nX_Lx6QLDz&d2SIx8#^t%s3cm)ze6TOs3gbYYJBG7Da zSzU%Ggb#PNxn5pT!iH7EynQ`>XjGVBPkTsP8YxL>+YkIp?Si4n$ukOxP0vI%h2|ww z{TPb4LC~{G-Zs{xU39qrce6z--W-2eFSc>>^Z>5*iJ^WGyDQkP_7U*=uHSv*<4+lJ zv^h}gctN9GZ{g|H%2&8&z?sXou63q5bL^s1p=%-TbaD070%q!7+kKX7)v*3?xytw}DKOhg~v?mli5A z`A27M%RSojs+b&}QQdWOn~LMh-)#pA*i#OrZi8l1IMStZ`gl*D$sMU-+SlGrc;Z+=<{RTq-+v?K=7djYQ(rsysDC{|?lL!CZ3khG72K(B;~-!_2}z z?-UZa85-ZfqlnPobT@5FNLDYTvi645*`dGt}cgkT%P2`=Fdq=?pg-67?BxrY2c7~@O;9$ zJJO)J0}n%auJ^+jQ=no)hc{6S>b1kJv8CG076I$yhZBu8tGpRqPQknK_0iuqO>-RO zC%x>7u%=M@u*;;SYXdcUbIZz|mJ4HV&xLx5)@WQ5ty(uV?VMs;qQN9uO5_K&gjD)J zY+-YU#TFA2>Y}sZ+mIdEcjCJej$rNSq9Dwv*U`*G+n&jrox@Jiw($YTCizh<-I5XP zmBN;j(_aR#NUpBH^F1bh!e;*D#e$L8r7aCi{fWjDLdAH018YCCTsH~ZN9U5bO8ybo zEIS{6_~vuY?Yl+H7p_@4DYBEYrXA6A+!@5JY=KfMm>&dPUTs1 zkAS6Uvrx)s58tX z>xBa>1zK_#6^m8pC7QqaOnxu5aCrY|D~b*04x5Ri7f3j*W=nsYqyJWJ1>E59Um=S+ zLR{r)rAQxs8Ly=NhCleoRYXI#9 z@EIXSIn&o8iTNL7Z|9eEfn68)*e&w`ZJ*9IVypgG9oFOF1uA|{deeNv$Q#(|L2nqP zxa<4)oxTTCCzRZ_k(-^gUjF(GGRM6hb2#ZGGA=}&LDVACN}B^~!JUp=y-3(dI65mv zhWvrTWXQ|5_Tt`Qp($Rgykak)s;a}c1%ZY^D?1Z8QpJDg)L6Dk3Pbg_8=kW*Iov-^o>s}HwFkwAzJWm=vL zyz#=q>OJ)A_YgCrRW1@y;X z8TVxI#+^_%q^=h3_(xAUW_9kIKM9A*{5K&ik$NY>2}?aLJ;}%nHAk9qiC}feR?E_Y zj*8hNKMh+uV`${Ji0{JBvTcQ`?)f^UO`gXmA!K4w1jGT8wuSKjFg`6R3Jek>ld3n? z=yB{kL^!t~ieK4_2ZFH?B?MA}M|O1o_8#g)ewk+U05|uOMfWq z=Ori{@0_o^y

    u;Tk>)dtOo67F&bW(1XN3T1%su<-BZvlKP+o+~ubgB_y8)b{pJB zVup)J@tsSan!^aQ(P$Ct~j8M`f zae=2S;&wG@X&y4xaDkSOJ0OOQ(%D+w*d*SPLmM`MXiz`pCQt_JnWZ*cQj{{c?zc$F z8#@cDZ`owK9uE}rgV?W7C=7(=J&xZOF@tUi2SQ-F-IveOX(-RO#jb=P2`-k@uOFrYRTTsJ_P+jX=p3X9CeSKlduobc}$=bGb z?p3`Q_>|@{g6qvnCE{et?L<$vFFWO=R&D_zr|fpk$Jo7Y(R|$s(x<-|fY-l08Xx2*_kJjuxSZ49=vNTS%t%(5ybE;|uX?8a+vwpcE${xU6Z z#L2S%**G;n;<##IC_e~u68~4OW>rI!%A^`~gUa2AMdnM$&#?Q27|h4Hbzc`m|I&iD z_Kc3i3c?bgmbU_2w^Ujk^j$l_m)|NhIEC`x&B|7x(D$_@FqQjn(*XhL#6(&ed7Gf? zM!XUOAp#hTmLS}>-QT%ooe~OK{}14sc>Sygyw(?c#p#QsR*bjGeuukKxKEa0?Q^BW zlTEK~rS*wpOUao*|>C9Y?O@RpP@l$Q6l?cT<8m9G+C zeQzeGf?H43{?O&@VxS^upVG+69^02f5^g51WAuII?FqTb9t7P$UR%%z@xK5qfP_H} zGMLf*%M#2Cl79CS2F3dTz|6y=Pql*;c5cyrY4Km=D})gSn|fWE!iXVo{TQ_0x5j-! zUpM5a-6_|h{v8Jw7ijGpum3vw?Bs1?kGFi$&0G{!*D5`L%kN=#Q0|_=xH3YsCK-03 z|7@2{UFPbI)2G%vJ=xM7V(Cr%kCqTdU${Wz=Cw~dKAD~qF^hS)n5Pg?HeK_8UO(lFf1_Qqa1tOZ+~DB zyIaLwhk!l^w)-zlp|cYn0wf;$zYmT~2Gp3h93ET~W*HfAzH!!`&ygIYRODu&C*@b( zaR{5hkr-GAf>*P~^|{a+oSNAf<9I^*%EZT-9eW;*m}km-v=9DoAihlT&Oe--N9Q<= zb)s4D=wWR+_Yf&z89@?}Oba%5F2u(#G3ATwDQza9xZv<%eoa~% zdljW?zHhMVv+Mh`4q!`0M2%@&xU)ZEZAVhd*&&OpmzsYW&7~Vk9HRRVw2_u+Nqn*Rw)| z-2(TXdk!zbg8N@_K5D1yeGQN4=*n5fqo|(SZeCjI>E>^+`28Ud&<0?FP=}xaIcNaK zAb*(PKL`N_XcHBdlQ-F!K>hQj|05GX$Q5K{1Ca{IPr&frIo1xK&)1jr?co5N4G=zt zyoI3(kwiyZ?F1ao6i}uau;B=7xSi7}G5zYYq#al7>0EkV9O4*c;ZGWH9l%Y`j8;w~ zGG@ILljp&a93HrGle~n`R8U~uW-Y&TKGY%Y)GOzDdZ`U8YaBD&LG29j5K={5Pm{-V zTHT2B@7741BToKSk3lt%r;L5mE=AfVdnf@q%=Mm7E;Xf-Z=@9QlqjX+WxGw(fAoI4vh-znf{iiXeJ!N_3ztt(5e|ugxpz(K`5Hko z+!$@O1uOMgcU!>7;q7Iz#gChpcJpn)siDj}lic+o^xbE4H>Ij{`NWMo&YbVuh z!DL>(w6uuG!+uU@fBLSTv=}Yum%KF$Z)P1=-&H<(v|eM{49v$ZSrTXr?Io%vGBGpiFPdx5oH;o__u9 z-m$`%2ls4}JXI4@H*bI7=*VLri*h(d-U%$-d8$>cn&b1Ut!{+iE?+rW+zDR7;f{@H zJGPUY+UAHaKm;Fv$tR|GBa-IzSgpWn&-BZs&9;SjEEvtaR9r!`F*8r!tSLm8f zdFHH1@!d+G`yZ;3g~?NEc7$aa9`dPfp4aY{O)eVx>fvTW-{bI1$-M_sZzN^ zw>1F*9&7SLKAEYAd}3F+TDq__9N8(=?z9K%i=f2ikU%WtfqUdVnx1x4m!_hF5%>Fs zxyysv@nL1kL%y_e{~2`dH_gRHn%{$AuN(F^zSb}jpJlhYQ+dI7QeG85VVQY zGT^FqvaoDv&K5(`w)k#VAf}mT#!)UF^oB6HU08wV_NCb_MsyF89wte$(+grska~~U z7}2#*@7ZjZf`yiQ?18!WOOwe7SBT`Vo*W&^mc60u7;Q*RSS{@u9pP>ZAF9Fv3{CpA zTrVLdcYobHt}6*KGSl4Cg-v{hQuTWJn&9^*N3|*WcZdEq7PCx66 z^l_~;LRiRiN?H@O-y;A)AK7^$hC-gV?@`l>BMO!d_2VUMt zqTt+ucUROl?(uJl;aVtYeclwJ9kCTx2N5vz(rL z1gZ_?Vc1vjHNT=`^Mrflm>ha)%hOJ}t(Q42Q&l;L#3+{7UfN@8-I}vu_yj?Wg=Ju# zqB3YD69dQi@NI@-R2u{uH8%PQbFm|TBe%Ss!ZeyfvRPeY?=HVNbKA3KG&Lf2DkPX{7W|#Wx<%EIksN!`{&Pd}?{w--m%32;Vg@PK% z>t9+FXk^@v#_(= z@LUNAYD10V=?1$2YUGdNsBn%0658Z=H6mF%A$dFZ(qB(*-ac)D6>WCZ!M&6>H#pK= zs87iv>d_cHs%@0C?6TI_Cc>ho$^If*@4 zk&hOJ1@UA5@F|#yW{du2UXXm4O9p+oMhRNkfRDd=?Q>>4)GMc4%ZL?e1Ey>jYOmcC zHtV*NTN9d1t3k1?un&=0;Tm!WUnomye=!x|T$t_QFRR0(cp{Dry)O&52%=|yeOx4? zB=PcB-L?Wa3xip2PT~3NT3~llw~3und5hcTj>3fQprbmyR0YRJx-_|~X|<5XdX%^Z zB#NV7twj4O)E_3IJ=G6I%O|nVy=z$E)bYpX?@y`ft^c;xpy#d`lIZ_-wBPy*5NYZ% z#);bGN?#axG0zNR|B4HtDsSiFp9}Zh_jrgW=lhq=rjn!sS1zsrJBm`vPtD^>l*Xz) ztmC+5DYBc42UxSVC@k(fB5D{HRKeFIlS9<2i%h7)mg}f^Y%xc?n}JP^9vcW zPg_1Xw8@gp-BNTc{@jls9dEFY*XlYhyLz4))}DivTY>oQoFlc>>-hx%nfR8#A@=-s z+I)RV&OnFp6km9@;u)-_qq(r0NkIK&Yg_Sr53jL{>MSloV&{Ht`mV1lxuZb^vSuxH zz9no#%-@HE$UCbK3X%?n^UH3pgv%`<{LDi8I0?^^)=^Ij9lLEm6(Ts8;RYD!Kc>##I|3=B0eFs_>2my7pRMk+zcYWj~KocokP#+D&B z{!ja=5+}aSFmnc9$XvKsbD{bxI6IsVIJ%f`ybB}^!!|gP+buf6D@4?m3ku|TngBGNkk0XA@s zoPB>?N7JC6eKq~gVqafL(r`C(T2fD0YXCpwT~of+FYRaqmx$iKHvQ@pisoc=$X zKXJ*p)Zs`!L2WjVC%!mNIMWNJ`*1V!T2=wo}0oF{+5Ir z4@ZG1tL;}sy@Kwp>fV~Qt{;+HD?3y_I+CiJ&NEpBbJedBYkRT#S)v9#_&r;T^`)dgqqr~i2I6SmxgO1$1aCVsC0DrBJ<(EUs zo*}(C6dW{)VBMaMagv}(tUqdFxY&gwe=mB_-*IzVsD5qFxKQH!Gq+8f{g2}Qty6Vf zF$@>44Y4pdHk`JyrgOgrC$voW9d2YZHJ{4t3vS$ezBgC7YN-{v)-=sTU*VLV*%FCU z6)?iTEif&1Qm#s$q2(<~x_5v*4rpAxeDkM1CHtU~t8e?{mCx2&J9k34T&pmD3Z=66 zyRd6o@{d>fN=zfk=;nDTZ0b)pLnRSrHR67_KG1HKz!Ru@z6!bSvMBx3M`$lNpk*pF zxdP3c#+A{!pC`BzTT;)ff1nvvY~8Ptp}cNE`O#QV9+B#2{MtyJU`Y+;y&Pa+H@!zE zsBgwe*Ep%BZt>G+_o7LL1_L!Ac84y8s9oEMpdC70>X7@Kym6!j%7-g*zS~yS$#+(N zgwvlz#PiH_ohThg$ufQ>v9E_E=}?++yl!EhsmKfCQ&;Ze9(ET6msgDKeVD4n8*VEy z6|b)-qf5Bg3n)$)*J~QN)w&>ZA8+pm<+StVJ{z3Lh^U$-~?Y7EX zh3|yu03;La>o9&`l~OultG4VTJO1!TTkxkaaW0L1XK>p^9HtT7rgAe=V_%b!9S{>{& z4~Wr!H}!ZAOT!$(vIQDF^zSJHxTA^sEli{%D(Y)oN-P*Zik0!5RgdLGt|Ug&Fa$=X zPHD8`J!*86)}$_mFu6}Q-wZSnp&RwpLtCy4<{vv+rw^EyuO}OHIa}K*n?H3_1d&N9 zYAwGU+OPegILt2>cy1z3>Mw3SZ#u2)*Nmf4xcT^U61JAfrBy&(@mo#pw)HjZUADwg z*$!6{dmmc=d9ji!`0U4Ra?EcSNK4h-HNJ0V5oXn|YX+$j!m0|9lv&*z@p0p`T>jj- z2{yL&^*F#)J7DdaYRPXX*?F4niwpH%i@&e6m)EYCIx(qLT_w`w=~Z6|2wEOD=Jq#% z_LCf#fRAQ++3prdl0E7OndgEPWHR z-odg;bTg&dhAb5N^rD}2RX^@V@#I9YmNa0nJc@}gPA}G@#7vf1(|!u~tGDKUzw9cS zQ(mH#+i&_Shf|en%;`vwa=eDfL^w%A0T(!0`2zOiUn;%RO4HyFwAoG|nfyyu@*0(} zX3mz;Qm6Or5~GgAHBU4C+g2AF_D}tv3J=*Z>*Qn@2QPjhj{#W|()YDv0{js99kO+p z0mi!_mX}#su8;K8e}iRKab`UBs+%bo&~TCsPB^nR)nODj z)mC5Na;FpqYS{`Cwo4qd`Wf1)u*sP!ld9boLtQ>?4o_2#mHrtK__!6*vJ_RJN?Y8z zciG}R!d6P@I6{>%9zw%cbi)2=mz}N%7V*sT+o0g{S^@#MgneaKv$Z&>+2Ee~E@nms z3(w4N{_Se-$*_^Rq~FG~6OFOyO(;n?D62EtL5CV=Io%XU-GrvfrJWTk2 z>mMDQu_HYl4{^E_!XX0Klzf&ud~Fk@Z8;kgA6FKt7Oyxf;l3E_&?ut11^!r*I+L{K z7J658V^cR2|LXPHse5@|dH(clA^M*E=>mOi5D$_;k3sF{guC*neo_`fwxb#>vMEZu zzA>NT(aP^PZJ2(J=|-?_qEGMtF2V#A7+DuP*J}^H8)_2l>6Hs0lLjRs45ItZzSum` z^^-YEbG*AG&PFsJ+!7A?Q*i4QnkCy|NdiY9LF^7oh8sq6E)Th?CY9P<5~mB}1@=yK zzD~J@!rX?*FKX(nymQV)l=R{H>+-FK2Jn90Et0C|M(EifM^?~bW-)R)6Tuwft~oiP zIDN}nUP||uKJn^1RHSme+UEXQniY5BsrBwvpwX!nk-5ZvVy@vAUl}A}rkm{Xa8hb^ zqgWd6X81(!SymQhr5Q{^CT~6bor*eUS9+cm3wSwe*?;LzxuSly{|Vk94-}5r46X_+ zTk?Nt%#J*PUir&HM*8!#-_I{Fueq!yrZE?DxXYKrfAUfeI`)1Xu9Dy!9##KAaJ7(r zHhD+vJK(wPqD_+=hZe~i;AwIH)0G-7atv=FaVvr4H&VZ)?PgPzny#jI8=T^^u>!st z#9J3aJx*M2_}EWWL0ooH8ZM|)@o6wKP#-0@I-ler{Sorhs>YhFnt_`XloW+GCx(fI3261?7Dv37~_E%&Ppve=Qt zUn*YSx~kH+&2|>-;d|R&qBi{(mk8?5<)e6aT*hmgNDh%DQS%S0EwQcAu_kcIe@~C+ zTgXv%L~(xa_7XLD6UE$tg;H7O>Nfkb!s;yoWd@xPeddk^?GPs8S4MQ$=zN+WzH|dK zqZK(f!R79-X=`l{yo8L>U-r z$h`=H8|reH+N6puOmH{4{2u^RK&!u5lWusGUz{^@uF3hirPbxvgY!@wYW}wbLg(X& zmn?D_8w@LfCFSq>>WYneG$ZP#n$Lf=$=1o-9<2d7H^a-#g09_&vY5L@t19Xc={Qt4 zi`y|A(L2XmsW8pIZ?WSt>|P?exR-`l%t5ulUkk+G|0~i{{aAc2wMrytknSfRT;Cai z0>Fg6@U!MPAQ_@9Vk}ac!>(dp+<+|&ZJN*~L7N0JW!P$-k?%*N`^(32jx2xf-`3tO zGIX(L#FcTbnES{^LmP-|U{qYgBo-u75S=t41Mxx>*x4iweM?}})W_3kAi<<|1ptZg zBE1VH(y{oLhAeKe6d5kq6Cgx2%0ropFW1uiz#@rW#N%><{a}0*y%+C8nPV%614v2J zQ^jt^@OS4ng_wE%d#T-cpKgEVNvy%Rbu~w={J1Dp`mjy3)ku$Tm65bj5N=Kx`)U`5ZdbQ#19Lmq33pb#r?)HAEL0 z+Uog+q*aMid8X-LS?>)4k`Qldy*2)`Ls$qnnM5L(hHxqd4T^#rowSp~G9ht?Fd{2N*4OkS4h9)y+Ox0LzV>YV!26DE=dEP2yjDpPa>CZMh z=O!BU!r>gP!iMd(4i$Vu4J&X}>8$`}Sak`3#9UMcH6W0xD@1>rr)qNUI}2n|=%L~e zzW*YS$+#jtP#cE?72gY3WLi^G17&hQxFqqRfH$-*gWfJ;bDx?q4|4vl30uTTI_QYy zBzp9g(L!%O-GwE?=8n~Ubb=4V=-@B&JCgGZm8s?45EH8%TJrfFe)jSZsXpMMSKS-R zPpXMmlOZ92pQ(SMhZ}EzA?{?IHzU(FVgP?y*9EE1h-z%Qc~1#>2u=N3C!B=h9f`p zwiw`c*NaW$%u|vyaRfo{(5UVi5fDNb5xJj#-%QF;9ie}xOgSXO9%gDMjg!j~oqJyp zT3p)G@ty@>Yp_HN_TV)6PXjg$Sf-Ap*?K24q{lwn3})X8+l9H4z##2HG2$+MTbLTd z&IMuSF!&p-TI;63)_##mw$-=nWr5+}+!a{VqH+}o3IR~wC(x)HAvNxpt7t^|#Kt;4 zF3zb`&Cq|=3nO9yMgn|nf&f#v>yXClVX1Y|h5;0~X*cLWUIh{2D<-xjU2M75f~?8S zoa8l_1i;&Og3M9xA_vz%&JuQj74>!^8^qMVpulQC<=D{Bie8*|1dPMyJ`kCb)8(4X z;@Vv*X~2O5LSOA2n`J`ZIG=97GAHo1Ngy7+)VO~pE=Pjq1a}c1I~WE0&IBCEoJiU^ z_c%TAJxC9auY)-VHJ=o~1F`&_CSYA|(ou0EtZ=W`pP!lX&i6Dyre+ddHzYIZw4*iS zvQp}Gm+K=QF0REXpaUZt?5Ga+l|RQ?{ol@gRZFu@Lt)@Z>AP-HqgqEPTgN^L%7*Cm z-2#8~!JEr~$?@x|a?$|IpoQ@velPKdi&+DGGHR>COXI>Qs>fS{$i7;L=fbN8pv8U4 zz=T*B-|vbZmdX4KQq>7ZOm(J6F;O*iyEOPEAxl1t01zEEG&z0~Ef7#PS$%$N?gf(3 z))$1YQ?+WQ%81b5X#e)kd6}()qBuEd?7M$&lzn9YR=kv^LP@cwKs+sRF%~)`s;?o= zMhoHd55krve7|QGK_e3lm~<4PA;RWfCr1O&s#coR>Q z=KG+zJF)j6Bn>zvvArV$TcTuam#+=eC1WkXC zN|cdC4({Nq)FKj`m!R*~XppJBcepOAa06g9zU0_J*&NtOF@ui;P$oZ71$1G!t$*8j zm)Ar#xP%f!DlE>alBAAk#7Who|0FjYN~4M!u++grI>hhu$Dwk0%KQ2T1r%dB86|`$ zg|hnpe2#>V21*iB@jkoXjaEl?o|At`D!puU&F;r@^(mCyEytJf+ua1*R^BGz0N`#> z_T}>;GMDpdjqi`4oC%WS4678NAb~ciDCH`R$@T~q@nkE|sB>m}2%smC5Wr#7RUaqL zP;*DuM34Yls0OssxU^uS8x>JaPaMVyPM+XV(k=#D{SYV{O2U;}gsiU=fN zZ_TDUFnzxlz&K>@ezC!Tt%_Id)NMDzcL$e|H;HjG zyS#%U&6r0(A@1Uv0uhIOq#GsZf*S;T3(g%0e@Gk((TaaH!Kdy<=yG6btWnY#)B%ry z$wMmKm+V6=OnBKClK0lkvOJq#7#{o~vUSqd7hz1;w-#*5n^HFD6e4A~$&hghHp9X) z%cg{%KE5mGRiQ9&T77?fJGZ#WTnvlmMWBn(9+;e<_1>Y2TY7pktGv4e?K*{q2FLaA zkG#cMrWKRbh~;Q%d($8V_U)x0#O#NLIf@v4n@}iVb{v7-<>;|X(T6)MVjG+KeRLbK zJJ;nV$=Er!n!Zi?zIqiW(*OgHrA~>W+hU7;yXLnevTFjw!0~^`c*R_C&bla4Lt$aE z@L(G$8!SWs#lj#dQc11&VryV{bO|xAeF*EluY+Z7d)bMAWlc+DEVSGq=4vJPx#Cep z2KD}`N<>3s8Z~)NzI9}!-2kpH-2tkh&CNX+iq^Y1GJJ$U81GAw1d(Vb8Z#~@Sk_8O z$89TX&NI>`4Z?pu;Cod`V8ETwDS5>r5FAK@WqJ#wC%Fs+fVes*X|QdA?#NQT0>e$p zSd+R)U);`x;W{uWsq|4e@lV+6(%TVZN+iy3C88;gGC z=2l_Cih)4@Px&{gx|H#``6DEAuTp(TAme`0PdvO(_N4AX*`;A_70I_Z$EX(_d8!>9 z9n!m5nsst-izNz6JA&=GS)F}uO8;(F^W=G_0B5@xE~g4G5*-W(zQTRf2ZUkGZ~{kU zs5@GTH4=Xoh(d8(5_BZ?%$DU5cS5g?2b*Ttu*)F7JFa!zz1n|p*}D$?9l!uV>0N} zM?OmyCkoj?9F}fYY2~GZn792*P)0JML4*2Dez<>2@5b2#z%)bJjBts0o%cexlS=bY zs|cs!nKqRuketYoLB)wrK&BHtvE+S}ScC(*ag%n3WRfJdg{w0_1bL2W7WFkYi&8T; zYDen}nksHt8Wsf()nliFI2lW7%ZlK|MrXgd^UO^|2ufg$8@CgY)`@pvDBNZMcCKR2 zn^Au+5u7g0juOFHX>7q9g<|pOGm|b^;%mZ0*W45&0SXJj4(c00O75~%g)D?+o<&i4 zq^zX|v=4LBls?ud%uS=z>(9|J8|ol;xk-FqE%X60>IO&c9x&s+0PAiQ?NxRztk%d! zTA@<|haZ}(msENm$w>WXEfm(-n8z#M$Z&r@v8#sufyE{mX=;sP_k@N1s5psM`nS(a z(h+RK5XoE;!ir!O{MFrA>GR*k0JH#kAzReH%Py6`+A? zSe0lP)2;AWy7}q{B6gi7yMM11aVgUz#JF;4P{T+q>a%{38c&i#dta15S2XT=bDV8L zCc+{@9VL5-IVdQubM~R*@}Hp6QoaYU7Ug{{aZ3<|N6{ypBggmaMtBIZyCMAe++20{ z&qPWm3}v*y9E$2Gg00n&5l^@^^>2T!k$(=)Ikh#TPP!6a?tr+qKvr@-=j^#13H`w+ zAOSOEtG!H0-95T!x=Gzjy&_aus#iAOJ~3K~(H}N}t1}Eb+k?llVlD1x6-5(%lHxoLhe)jMM|2 zk$`9oVeNl~c2>TeEEKXzd9)%OAxCZZ*@~CaT z#Z&;%=0;TnHPt%c&=M+}nyIk?n0G$AO|ovPb}eCnn^|Bq+CYDNUP&9c)Ai@_|HoDi zg!?-42!bJ8_aZR05wA_kwP(a0gf0 zX}YWP+1*76_`!eRPD!yx(u#ha@#t5LxfScs^@sy6pp5gjC)b>3Egr_rxbosw(2u}H z&#Q&oILBvG%Gi*YvE9JeiP=Bn1 zea1Ltk^ZZe?TaVK0tbGSHHO_S2G<#k-wvFnAZvmy zdoAx5_lXQolzq7#+1~nY2L-#%ds05A$XXAdG)*;uzQ(O@ov@Z)RtBWu>$M1R4dQ)` zsc-cs>j!^!{eBIQT;uY(?fRSuJ+4rPr?s5s57W{Ev!-sV9 z7LpjwgzI_;W`MEnFdch`s|HmID+m$q0t|LZ9evkCg9ofvxq5Oix5SfGm>}+T!Pc|F zKD2PV=p=P?f$3!2+*KI+Fzrf_W1LD|uY>P=ED4e|JzETL`?>XccJ_0Pw&r9UVr4HX#tlb)5P-{v ze5c-*90wVv_A=ys*VnrUc7^g_z)qBR$q&Quy87@MZT+>tu4cMh-j}=}qS?wAtiAVg z{jYF5+v=i7L8b*)|+EVJ@V_fy=el1v@|SQ?-RyeEQ_M91fS_xebYXu%}+jL07j zjNm3iTj|EZnJN^DaRhgqL^dPqwG~cc5kg(yIm^V0O(b8~PU4^iDJZq*p!-L-p-+EH zwDcHrSxYC$dGao@eHZc35obMyAaN~gPOp;tME0ftJUqhU1{$N@Iz%nUy(Khsw@X3H zJVwo`J#M+DFwp$aLSkFH`6T;e*m0bhB*WpH$FR>DahBl6#w)`amru0oX&Em~6?Pq4 z%<|65N&+jI(7Re{_eFRW01%D98lHb-=eb6pLbE+>h)g^dPhewGT4GFvxbY~~9w^0I z3=X-x;wmE%hFJPB<6Ig+BtG3O0!p}?dql{C@MX7s22m_#I&St_)?m+F#?Mfr+!W12 zDo9xDu@y^;E;Kemgwbdkhpd35G6n#@wbp&k<{$N(Zyv}Y0H(&Ij%ra{zJY%OKox>P zD}9iif)GX|HTOenNH6zoT$8Lm27Fx=K!sIo%YK6&=O_G@*y?%X_uV0f)ZfIq`-fS2_3*jwYY9apR-7JenuGGKG#@!6=BK&8k5psNcn0e zvB;npBODRh8ar9`Uo}!{0XtwN2&(us)e6;%Mv;nm0i?=A?$WF4w~Rry8LC&bSWz|g zyHV70RM2}X`$oz#5@bK~$XLRu+JVuct!1T#flU-sv&<*GJ11*`nLvNP2$sme;)x|B zbuV6ksT`McB?YcmC5@Ok*NB;~5ZL#N7e>S>UZrm}@{CodYO8yraNlq-Ia?H9UTkPh z(VCsdVc(!HYF9Enh^MQ(cLsz|OGaTS#GM$Zz~pxii$*uX-)-2oB1UVzBeXlg zN-}BN{;qKi4jbgE(oCv=6VW71WgLm2%eOg)8tLbBBLv)Pi_r%3X7|@NU;zi;AfELA znB};f2##$BVaw;$McKTk-TXp?Aoc38O98Lx1@6~Q%RsvIuK9mTET2M8@r51e2GUzD zo1F|;hF8{x=ZIvh&50xr%o4-8*<<{Ca8Dp8YN`ayvg7j51*Hd#824bg)IH+;j!40^ zD0I_PL~b)EM)r-OEnM0}nbnU=YcFaW%I>4)!IGjW(EB|;}TqHcAsD_B?` zSb@S2?-H%q}t=Xg#%HlK+esAKcOfAe=I9t!N;MLU0%O-EkM|S?8U{{0mdD!bAw$_(;S2|XwDJ3P(Ir-PwN0_1>vuPC%4$#F|WvLOWxaw1`< z8k|PzMwv2jv2B8?gCUV`acd>(Y7dFQxV;(POr3S$X>_C#3X*`W-FQQ;djFmXX)2T< zdh36jqwhy+kpzS&15x9ypo%0x@G@Gd1O`DeCZL`Ph!l!}Ao_Pr@>3fU)AApbH_iOkm2$W2|BMZo<|%)Q zhidOeSVb@^aHv+H#f-TU>5f$#iHc;S)a?hTpm8%|&>OW{vdM+;??2 zB7d)%{oo%V4JGkVTAT!RGa>KvA2M zWuMAHNHI+;Hs3ov*`>&l*IZCd@ryb{hla7uis7lhUDm+$XmZ+c3pz3~!9KJ>w0jC) z0?-60R|45HK_pToxyY4!;KVFAVRfM;(McZYn-ubM(xOT(E2*~;ECb9SE$Dwl3?DcH z4TXze)EHC+%?ms+ns#6VOb1pcOc#YNhY(Ca^NJ3OZ|=ZGeAopsfjYhX6c9|KF{#3M zAX*f}DPr&ls6&&Xn}oe#AL|3T=Wqg3i?}KPney^_S72Ez8HwSmVurI z)&a1SGRFZpH45Kz5CThB#OlSB+HjQ$$=g;jVg6qN2$R~AgN=y4XxTV5?%vEuV2LH0 zL{h+reIJ=qxae%Wv>n7IdQeF21w9J(L>4^|zgw(eif0WAnz-b`Jsf{_a;s^~34ZT8 z9}Ra*F)=WKp}GXsn&QCABX64N;`F~t6;0S}^iA|%u>SW?Mu7WN_;wb&0Sb0o>7+LnbGlY^QBRXCbcy|$R&0L^j}%(KsT)3Nl$rz+-J zUb^MHcdvkT-_X2-x4?hZ!LFXdIsr1Z1N;D zAxvl*(=>E;DOUj{d1L=Zx_oPDgweU6 zF6sB4np=PA0n1bGKJ8w;>y@&5NS?U3#SAGlnZb!qxSrINyj~cK6KP{88r&Hc5>X^7 zhfKFOusDS{@oDJh)>XTKKTpQd=kC7d=JRV-rb#Eb{3#)AS#Xi7m70HRv$I)5&?jTD zoENWiDl{R-$0=b>k#HUgYgoO`~k@?)p(+>Ck0C*4CQG{=L$p zDxe$xc!59fwc7*`7w-X>g}V2ejHE2U2uN`9mMVFmsB>{{fLAg@Jvp9ND?2AB1d>vP zIE#P4nAI;OzaD#nMJ-^-742t7G>M)Tg*IEKV8N%IxGFhe{gAFcus*O)+{8D_H{$jP zrqY6u0%ZI=A!y zXl=3s7DICL9Jpjs3r@7W^dZhg8KN1)lCvdOqpf1)1Wwr2Sbhsc=o!1O#_jnoC5+B` z>>-s%-ljqa$%}M_Y!-+B^VHC3go6Yziikz;BYIK4zukL`(>VvXMKHg=Z;y+W)Z24~ zg+GAa6f>T#R2CNp`{M92@I1+L9{_*fD`Tta-pMKQM-GrWYg zEz}Hl0_Y^@P0%+MXR%SBbrN}l`%M?~BC$5TOQnm?oYi2O+YgLM*d8uYU`1^a&ip~B zCt!8)EZ_?3YCs7CgL?kh_h4382;l5xWRw4hLySp zpe1k!C=l-Y#DfLP7bc;j8ufcx^RcK}!zIpcCFosK6?IpuQQ( z?*on`o)?gYN=m1YbSr<-I;`*rECmY@KxPk!?i)kH4sDpv8_;y3%l~#_5GU1`!KxpA!-j2HYiYXI}x%!)EC{u_H9J z=sbHzbn|>H1u5JE0XN{aDCb~=GESu1UbQl|cHi(cD$+)!liPoIdWSAa05uFcc4n1d z<(?!hAsvcPk)R)h6?gO&8Wod?kBfH zR3!!~R7)_%pj>|jFB-TDK*Goho+#B$oi_WKrz0azd+1By>eQNNmG=sprzDVlIA)k= z5h=^3$<&BtvxH=(j%iXUG9;ochA|6|G2@pci}tfw%F`n=zyM1umBnEhNJUUKzk6Bd zfb7Fog?Go`!7bpE8*Mv-Q52>s2sVr2Pyv}1v`M|nZi9a=5@*Oe-FD7y0%bUDjK$!v zgjY%_Z9=%_CP`IgkN~~^V1&M}t&KW7i>gQ@~Me;6zBM0xv8(!L$^=^`ZmBV#FYQQwRxal5& z!$Z61L2-Z5Y!Oq4nTirmU8t2hwG6$~k)Ea>yC7GLKy_)w%9Nf9U(Xf+9hII?LwtV~ z`K7dGZmXt#uX=&0RkSH2JFtqX8?Y48wlpP`>oe(c=HsY2A13kAl)$a7llP2rh{zllzKUq7}spQljq`+L-*7 zrNIx~WF3&n#b%QR=EgOXixUQ5HZG`7Td>gH<;K4WtVt+gzu-=<1r+{J?co@)JB6OQ z=s4muY>$`8;@uZpCT1Ggv~Ftcr|h;klBG~ZAV2_Nu?ZDS8L12j1Sg+7vi!gL9k?(`(Q;ih*=UWftQUG0R4j^KwBi<5ot+`wPm1BfJ2@Sex^&Ny98l=s2 zWx!o4!VX6r`<`+w--+6Os-gM@f;W=GJfbAE)>xIuj!zx%IYt}{m+GZDX|Oy;N1CXjjZDkTEHvL62HAO?|nVl{K;(Dbtf zAc~lO*`GJn$Nrl**VrKOXA1aGYLb5<2y+eG0k!C~#BAQtNF-6mUJEO*Yq%3kYnx`D z=R#H`9_LS^8-YM$+yZ)GYfuKu6s7@aN+}%?DiRE}BWzcVj0%XoNyb;0t!mk~k*OAz z@9?TQb(s1xXLkktlb3*0R#)E)=&n0H6hq_?{fRVXG3<0ema@Pyf^#v$2t$9$)b>N_ zh+UF!Qg(!g%?vtp;P(z}Ow2W1uDTP0mX^)V2?oca_oloezV1N09pSa{Pvt;6@Cbm3 zqQ$Ld2fpGaT5*w|wtBLJ`(O~L@?!)xXE zj-33Ak%B>^%ESt97>PUkj-Z14ZfE{{j1uMWt2^r%5jTnV(GZ4`nScqnV=p)YMm;)- zhA&8cp^{Vv1?d5^%97GFUlf6+-bEkh?t_hoU$@Hdg9Wu0@t_5fxGsMxym1ADRop($ zYp@MWEoJ4ENthxbhM4G23Q0Q-Yjk^;8UIgHJQ%G_U`q~9X*17OE&ENUK<}Ie0$#YQ zgvQ)>8hv-gaEmO&KjE1<@b~UjX#Iians=87&kc7PN=Rwg;nEG7Cst0)gE#Tw_4_!1IPcm5E_kB8cR{1YVar9{fN!34 z1X5W?yd~KMr6{Vp)x8{=#*s=A@6yB%tcnd15HRZcA%ZHwC%S*#=G=vXmeKqR+4+6w ziMo;&G>swLk?x#Hp~zH4F2akr-x+paJp?96%z>ZAN(ARD>pXZMf$C~RkG<9nh`I0R z4+*$YBZJGrvB||z zCy_Q5-fxItDko?|p~$k&>hq00=^%-B4bQ44t1N4D04XByiHsHH>pAsFNlF0+km}Nj z873whK(R+hbRfAyh*BC0;I8nx=x)ZH6Q*-Dba<4F;iG>&r3D3m);#{)lPq}LHaD!f z-$H`|8s~u8Ud64%xFj-?B?3beuF=;?Xn@Zr{>&tQP4b>R4??%dsSz2*8gS&k^%P3* z5V@g2w8Z&%fRQS6SJ%% zn=na8yc>U9A&q+|W0_r}U_n6x61mz9#I7xORcyKf8_N}U0KtL6FLBv(=Af}tX?_MF zsYnvGHL}$}At2!-=2Cs%_()PU=AhjPAU#ngmK%XJuj~jEv{Eyz*uar0O&h4S#z%|5Vh75jEOTt@ z<4J!L>&kOgh$wJle8|}6rk4{FGlDf_G~=+%j@*=vBQ2oTy((uyqZt@PwXJiv@{83^ z)bVqlKoCT35nisP+m_jTtRHb>+<=Ms(l$_EXQ+bpb>X_>x7E~EoxIFAFWZPXbq+dw z-+`S$7i*%ljndZ~@nvVM<=-mZvbEK7Y&C!AWCyE^57zI=)?P|bcoIn7MzOed0dGnP z)zRf)+%nArG=jrRaCnP5rxxx)k{=Kww07(O;NP3nqj|szM9w*E zGpz6~O9Fen&6R3EB5WU|j?%GEn30?q4MN<4GWzHZuzhK6G_fF~ZfXoKowysXbp=xw z+qw94N1hY8SOwTR7Kk`CQAF8HG6a9$K%Re!vL-4Fm#TP@1(~WWLD+4DTNA-OyEJ+; zX@Ma+UA=7bBxs9BEIK3r03ZNKL_t*B7rGN}ad_~vrPxh<-%L6g3e7<~8HumT&VGy! z$mc6Lv|kiJcaf?UDW~i}?iBIO`)QKvHT$|#BZz01LAt0ovEf8^w3xK!#sYua(k&02 zh+Kif{!ATAV{5XN`vF^13RfrR9Anp)EV4;k4@5Vcg`e0s`x3Muo=9RuI-}z0C$$6g zJ!m`z47!v;B6qpPx#v4^IF2~#b6)3T3xW{qi0k3R(YXWDs}LHYpRmNlFj2I#RrdseE=bzFH%%c zVC3+c5GUkqnnca)3K}9jH*J;)rlh#HUPaKE#&bAEas|nQ3L-%&s{?;`6hQ`OuoK?F z^iApoTS+XvdLN z%6weOWpG1+l4=3kA+u=#V&7gOS{W9T-|UNUQjowP1s85YLG;l8Ram{B*VKS%g1My^ z)49XA)YaZ8Hz>q?fz5x3Gu`>@pD0+OC2UCFsI@;ij73uZ_S-BX7OjT`1L!fjT%bvp zySv+5(lEchKk0-_yR9*$5=U?+a(1iFY%^#Rrl!zEvGIXv=_ghOA%LMuGAC|+A}S4w z_KcV<1b{MGW#w9xrz)k!5??V;L_Ry>Wt{ndivTMZ30y}v+l+tuN*FB6mt`1ZYk)Ed z#ai{%K*EYdtS-qN^}x0Do8y=bS$>AJ!ROggfXIKR#nirCJSxoGXzFs=a81_x)2)rQ zKPENNPb!v1EU)if6%Ycb?YZnS!yR*ovQno66FGy&QCB(_8^RCPfDm!P-XY07x?y{> zn_Sc65>tm?>y&?dUNXH{XWu@jks@xL)VLH*T(-a4ZJ*id;blIu{jn+MT+}EsI9(d@ zfMQsyoz;HJlEPDivJY6Tx_m~WTfot8(-oxZ`6p^0t0OCXY(9gD#>*oJ6sQo_s4 zB9o3>h!)k4Q?^N~#~en@I~EpmE8a?j@k5*JnC8~$+DY`=7^8Z@HY7HIzj?FQnsQNtnt|!#?|{|R%Hh9 z@g7swR52D+W1Y`U*LSbNT1i*538)W%%5j?>Q$WI;f=E1+ystz`cnN9;USvu&Cvxph z$L79ERleA~o#JJ10Zm%FaRd`H2kdNs@$!FURyHqx-gU|(hYs2bg6WiaZTk1^aK#h- zI-p{C_(v1;*4+rIehwWxqEcgA3(Isa9sNt$Qj|IGK7VVMC&(!EEM%1$1~WO5N``Za zcVu(&0F;?VRJyvRB!i3%G%wMF5sdLRwe@I`v+qPLiAO##z z4L6~Pz^+|p#I_16(@!2w(XkUqss@DJVZd_7iwbx|6Qn$d97Kv_l;_IeL8(&Q7je(7 zS)SK|G?hTsH@pX*eGMPi^j*X|GbBXw0*PuS2*ZX5L+xTll`eqrbPkzN9guV2@b}uJ zzuA2P0+(#;wxYE`swL`%Br*aL93p>l`rE`bA3!WL-{-7--p$i$>CAS9Z2Ma-ueOb1IOh7qaBx_5dju|ZUq{>Dgd_vrQIEoi7RE# zOd*)U^A4pEP41{iH}-{1CdT{T>=Akr=S>E>&JW@3E@O(lTIJmSfst|30l^&b9nedV zgT#Nnr5&=38jt8`dN3^Gx=#P(>j~D2rm)8;jA%8Z7vLqdaY>B^<(%`d7Vo$q+ z-{andB7J$wKUeD?@_hY`@GuP(!NkM~#Z{+k3tM-H_B$e2s$FEXyEa zY~tEd)lb*!O6asHoT@m-#Nc)awmlxwaJGh{cl36688AjWnk`|>X=k2k1KI_D?ePiy zZ*cthE&6xgp@07!XFEE!H z;}G}iU0hbT&aQW~7j~_pxfA|&h z)1UDC`~QVcfBbixZ{OlP-H;K6J+sovJfY*naXo>-FpU`#QZ+)qPOBw9#Zy9?#V4GM zCm*5fKxL+Jr|{k2&@MUG*`}lgC@~}mow>-<>(;YUEO52cNaO>ait*MZQE(xiK*(d}>9?>Yf1Y>R4REbItbXgtSZ+Ga-r}!lBs&hRf>Nac{Q^8aOgvq$I6l4w{`5z* zckgid{0WbrKcW5fXMFtApCNzw8S?(4o%HhX0BslGIKXZA)uXZJycURc(Bcc>zoK{_B z2qdb^z}wQuKFbhK3C0t`s<=?N+a{9PMsUR0W(r`4=fkUd8R>AeA)1p8m5wO`y$wj~ zKs(G9fr+VB)KbrX>6(>5@d4v#xc>52^tUf?zWp1EJT?HA~cm1Uj-2tVJn@n>pjf%hOjrpmS`DkN=K0ZrGhSUJA99^Y%Qh^ zoUXeN5Pl=_=cjHG{f@X!HBD|FC|iIcS9BR@RrB^1!VhYH6!B$sq0X`X!PU_FKn+RK zfrkgd%YMb<`(J^-{0X0b|F6(@@6gAIM*w*H7RSd==+_C63;N?L;MF(4ixoZ0J(3_n*uCBrt^B|dT;9tujEr1Ton7!Rd1UI%BZKLSN^oy0#}BvU8N) zjUkBvvCR>L-abA9A3i|e|BCVPEzb8Jaee=c^OuhpKflNP@Cl-S&p4hY9=cmVMF5WMLpUcLPVp%bhc>b6Fihfmm{^m8F zfBX^8mnY0O-vi%&KHzxq8u;Nyv^U>DUVQ^RKAHM10uglyHEdI-MRyeotmzZLwXSxC zc`^_#wR!pJ~wEF?+{F1^weE==)!xpFi2& zmxK62nFMq}Pw?Co%?Jqdr|BCVMSA72P5&G#P1fS5KCXR0((Z6|#-d^M4 z2QJJd;sIYnzMJds;(t*-qwTvdZNT0n{om{7Ms94^;f&uFiU;-~QZH`a&4Q8peq>Yb zl~17V%A)sY`(5pk=hWO;o5FT8|+MDD>Rq+aP#sg4b>0_49kkpZvwM;FTX{9{T<}n@6lg>19^G@JuaRVyQryuP6Tjwf(!yE30>3)T|F$fH8VnW z3q)z3o}usGqdz}e@JwX4a3x80uAz|!1^mT%ZOIml0|w3V--_F4dP(Kc1cTlK7#Vkn z894#)kVh$sYwX?aoZ`SGnG-T5`gNjz`h@oG9rWkFV*d07pI^Sj=b!$F&wu?3#)o&f zUVnvu^v~!of#bWEc=_EMJbe3r)-M=ca3#*rZNvyZ=5@5&cn5-k8jb={j*NInfwZCW zjj_%YGD2N~nN~8XyW%5Xx`b z!6)s|;|28FA94QpJIJ>`;CTHl+RJayo*to>13dY4#&B#LLo|x(1L}n<)EQ^Y-f^c8 zJ|(*A;JVC_kl6hdyu^AAs+_!|~=N+S3Ip6VKNV7@vN|^G`(eXDZ@z>4=08FI(|<<$?gzA& zuOOEL=zeHojU{FlRnB7J%p^$WKGPV+0TTiv2;JuyjDZU*%RWWDIjza=Mq`0c4 z9$tQxv8t18B|s z)ZL3I&Y5u<1ec@%O4a)i*!kwL1!wAMQ^hgf;Q0Pq$oJo&eft9Pbg>ZI>pSSb{}uE7 zU-A4$;NyRPjTisVf5FS&{1c9Ez6CCic>jE2;>3hi;E@jK$jHW16ay_h5kL(FOMkdT z?YEG)NZ}ajR?boCQfbw4Y|>V(#-JdjouDlexbqF$ff>_>J5i=6hA562kNmZ(a(k4| zf~~IEoojK?aF$L;9U{|fy4XB?m2;pGJw?Fk=W zy~6eTZ*l#nAMxgmNXI!?@Tf~n#JqtAeTxd2Dc37&J&8^R4x?|DqB?xYfn%SoLC-KqB+-(X1U)YBiI%myY&upglf7o*FJ)@i;!=`hVeXxc>TQ z;FnK0-@V24kAKAZZ+`^-%g;Ez{SC&GWe-F|v)DF)o>CygdT(KUdsW7dyU)mi1C{)Y z(8Vj}u@`KAVP68se&c3D%|c)`;{AX$+huf33^*`Ui(nN$Nz%t4`91uMF961|-2!dE z$o;q$bPj`jHy6w-)?5z3w|`OgTd}z5XeTp6oZ@K=JUl;Ry#IuL4m`95JU!ym^%3&w z1?CU0q5t#)=5O9W-n@Vwhb{Whs0DAQgJfD{EK)>4xP;dk+Y=XE5%`iGGymsQuTx8? zat5466e6Xn=1PPW;;i8n+Orl4BHqkl6Q-<+?}UmD|V z%8=2VW8rW?s1|052tO5ZrZ&nxT$8P`z=%-VAqgVRD)4S*^W&`>pvQru3-sYzH2p0u zpMS>VyWipb%kS~|A&p3bod*J{3U+6#n2A79N(-wvuaXdx6#B*vXer_e= zNER-O>#4QY4r{RokAEb+fUqI1z-c2nw?HDg4bX+r#5HSsD_+jQuxneFsMgd3M}vv> z(2c{|%hHN9`dt!Z9oUpqG^P>&nNE4besaQ+6IBOW#u+E|u1)dKJ_6dm<52zV@&mwS zOgwzLqQC!$@yiG3^NH3Pa53(ThjI)4T8GzK#@5wJRdZuu?4 z7K;S-{njjVt}>Brgw0-2THB+i^yXtQw&m-pgRGwv7NS4TX}R&*4M~+mo;eIja2fp4 zV!hTziDXOa@G>!YWS-BF`&3u+$Yg5nx0xRtFTxP$wvI_0^SMs-$X&tcg5z?aKfFNy z@ePhoKj7&vzkkK~{dX9D{&!qIyvKa^3$B0qpTJ-KfaCrD3;FSTTv|sz71uHC%($U9 zOiPQ+0|27jlP1&A7-tO{!m{qWgr7>4KjZ7grClCG;_q*2g?a~U*FzJG$jb?@BEVtN zgFmYZRyDV}M=ng?xU(R_FBxyanrB}NY9&&s2hOXD=zp$aWr2c%38sL0X|)W}3up9c zR>osY^z$?H=Xd!0*I#h`^btcQW(Ph)F&-YEFQ3p~KS5s{fHcgZ7{fJ*4GuOO2@5Hf zm||ctqj;-QO>KEe`4G9@`*#~u;yc;Db4Da~TFp4s+N)E-DiH?CXQ_YCLS7lCmhdjakPQQc9`{l0y>;Cp?PGPdrTZhqmG`e z)^i)n8m!9wGi@G?+Kf$hxk98a@$oK1qa!WuRDU+;Plgn#!ilTja72w`bGss{AQnGp zc6ytebF+B+1Z4ePkq=rHO3lYcVv^aS@x>isoB=DZv~f3holAe`7}J77{`NOq|Mn9; zzkiF*^CL!U_}GE-asZDH<|9Wl$zz$Qcdvc!ytlf-DE)2gp<~7>8d!Pec-0WLXy%2Q zH-AP~t(=H;Mu?A9#4j+Ks(#e4n7hy)<$2~nHR>UZJRVsaOgoQIDp25_tGMDqYmvgQ zy?j5e5KjNbfjLU(mK489hf&Tac{dhFU41c)V zjvN~i*!yG!SsSz@#A8)7=9usSWH=LO6GM{7`G4TNVBzXokl+q=TSy5BkqfVIqlxAi z$;crVWp;Gm>ZlnI6|wb-v(GpNZll;#Ojlz(3Z8FgD|3^=xO1{5=FS4J$E)PVJnaa8 zr2%IEQNoFaGqcYq^c3LI(JmLXSAS3FuU?`(J)&I>%-JwtzVj2nlL!uU^a;qRS*51| z)q)%q^oY-{!ImX-+k?WZi27c=z=FZ&IZ=41y;V9|v=*PW5+~pVLF`5iwhSuukuBCP64{D0S0NMDhM zD;-Y-j&=_P< z)%0R5mhy0H%4>o`E-J^6CJqVQ=Fsv{P3gd!WKb?WsRfCjI|olJ;W>G!nUupRxGqRs zka#v{CS^(Zd}soGEx{(S=6|-@tkG9RP)O=Z7r=%ewO^k&g$xAJI{L!}?dbw}I4n3w zY#TFNz%>;dvzzaHjtI&T|33JY%EHeB{t_#YunJYiiM;DJ*4sIeA=iSb)Ge0$Cy_{m z;TqlB9&@`ysT}2=A?iQ?5@y_E+i#{A0u!T&S(&$UtQMCH*1Z|r4}XmUusET_OT}`% zGd{Xp!DY7F&E92fyTQ$h{`EP~ug_@L&sJ7R8fH77@&FtcNIxLxJi;S6sQ^(GhEh7_ zRhTpB)*g4;1QS=*fvUGhD>Ea`7zdEZA2+g%mWXd)AlyBvh6YRDw;4|nvU!lc&E@5Z zwQhl*p6{Ioma?E&k$>2PR;vBgXvpOe2)fv@$$XPmcMFH9Fm(hka9lk;mH5-{qYfjE zCD*2SE<8|3js_eDX6u+}7K-akp{d}|hOU-|JjLH38=KL&OI4d+Jxo$jVHDCK84}x& zTUe5KC)dW|3w0tVy89XfumefN3UO2tZ$*GuTnq_b%^1h7oqxgaZqYK+%E!NONfv(K zfQhTr3i!DWa`E8sft{cW_l!2;Me<+@G;wtZ9=SEl8Yu$I4pWpmnm+@z1(~-KFP+6C z3XsYmlP0%7nY^N!%sw~oaH*}%Ce+Y(4QJX`A{H3I^&uMjw>Hfaar)x}c9gOy$G1rw z>|3O`PBnj)DSs4(=K*XE1N&lXY6(Gv`}l7`g4;#7f6p-U_U*j7{RryXwlK>k9o^6N9qIyX2=ugrVt(@g03ZNKL_t)=6hEYZYPPvEJOoow>d|W~Xq0yH zeRk-i1=(xn)_ygILF}t3(H5}pmwhS$7=P0WoZ9g`m|j_y*5ED(6}9lsklG<}_8=>Q z$B~L^J7K^zYR<42{~NrMj6^itePrC}zw>$f9+{#4B~;18P=MWnKdnxGv*I890vwNM z{Q*tOT>&c*Zal**>Oh393N@Ns7s5oS!3fG)W{w^OVt-X2 zw6+5j+n7CU=iG~X!0bf10bNZVuJs%dAL9tEfXDWe?Npi0;0n9FyU3T3ar9Y6#`ZsQ z`+RaSz4fNi;8Ho~=Fg3zYL$}|r$671iQo#sRTX1c!2%U80S#ZRnW3m*DbUiF+5!o; zAK-ZMZ@0AvBXc+}7on;ZBNiz0y?+qpK`6Y!wL=0yDj3T-X<()unJ|-F0CeD-8SK%Z zXyWwIt*(`+wdUOEr2= zGG}a;WJ3pc{Fy~%9Ds>DHPs>F*`di*meVV5CG|!Uxyt3E!d0YgR%TGy$6kEsTw~{Q zS@UaRh{dT71+Go(2a4;oC@ASOj8QcfJNBP-ae<60hGMZpR9hQT#alyu3zv5!jQOrz z<+g{55ajA}(F|)Ec-|X|b3#`UyaWZL6)0JIXc_LFLwzEXX&tS%p}I*MgfC z8aS-rXIHm|OkfNJPN2;R^b%t1V`(DkjhbxVznxA@#o%V^SAQkCV^hs&EUPEwXYo$> zGILt$u$#^#?rPMf-|9p<;y4)gEaKK-0dt(Gl2V>B;G_0n$ZC1WRaGLFiR?A!&UEPp zmy&gY(*e{<7-o6^3KT&7!Vgz~0%#a8fA#Dg^Wg$KUaU&Ybyy3&5f#Z2*Byf4{e)}7 z7ls7hn;H3tWPgd9k|)H#5TMS82OLBsoMtAJpsc3Yvtj&pB9W$HnJ!azZOow}X&>PC zQ#||3=WH2g7N*(Tv{OVUJnfTxdEZgxHn0hl%P6yfm=4?dV)S#Me zFEHUJ#){*IMwbqjRpV$On~lh;#vEf@gtv#F}wY!_{P2j0PEF?yO^m5WXFH-N&# z1%)5Fr?C(W1EgpRNb5)7){VI z9c1b!+fMXpnR<8@=v5f zYI1M>6WHE1xi3Quvvt{k!YykYO;jd%Bl{`gCF>)!;T+BBMW?ye#%aeAscpodlWO`V zm`F64APf_NrUH*q&UTM+6xh_sE#s}DFJ?uppUaE9aW`IC*5@2RF^@Wi;-J-`;NHzG zT-$$G_{)(_wtj+h$ufkD0Ne0Hw|8ocXJ`pU6oyTqLU+{(xHA&vA(>dU3$}0jBuhP= zxxy1>6b*v!4KkY>j+qu^V`9bbQTj1L^J*}hYfRw|Gq2$AD4Z#ZCJdwd4dy_Y{<8u0=q$6jCk6Jt!A!wU5HW)+yZA5!X0+$#nrH{zPp^VBg{rnfkX z>m=?iT$vH!CtrC!0g``ii4n_npHr`{3ZVq(#Z^@#>=J#<`#Z63V-^%$^hS+Y-*11L zzie-}!c#Z3rT%G#8Al-riEevf!j&5(%0U)r%35&OCYY^(ITDJ7N!Ng+p)WJ1(+Ekq z+2FPbfw^cEp}lFV+OBK4>b$M5kX;xV01;}XCaf4rJSBhX%Mt5R$P-g>EcLS~II8f7 z1`ulVL{6gm4~6eY+FK$Zz}4^@^ST|=#y(MFK=m;Rj%me`3U^bt96Oeqh9GEA96E7P zm&P;!9)At5lc>v_vHdOkJNxwo;=Ut1ZrZr_3@mc)?tAyfm*Q#_70Yv*8nX;}<3NkZ z+1?jm9gO!qQ!TNqW(hf?Y9uOfQkIP$fm?6m96Dn!*4wm_$ut2E$sp)OqXEJ%R+h@uX<{4fH@-fHfWBd#1``IrQ+2J z($YW?EmGm$Z2y~jpT3X&G-v`eT^Ns9)6iDjSqRqCxowXx+YO_qBcj}sJ` z78H?+wZ|XdiD}Od{F$3%5G(`H zA~@)P9c&;v+_rJTk9-8+OR55#8XCfiYrbAyMTq-<_Ets%7@i&=%^0JJ{+r_H?ok*M z*BY2W0U#}pRwfujIA*(5zVk2Ek~vHT@{ol+hMe#Pa=*N-K_k~xR}=g|0h8nzT%rSh z!l&b=BNrug3KL2f8}XF%L1(`vL28-YNH$ppsHW~+uaM85f$M4eD7Ya??ab_RD)gk= zi&~8hL1@xl#5C*wO+lIBvluW7q9zq`4Y`Zob0 z0k4-GH~}FAE^b)u=a)k`0eyd;o}r(wn9?m8tRwPmPBn`x^QYarf@xtB!F^}5KACsE zVIp#1bv0!DKG|`($LDnYGvKjGt>v|Qt~rjwKi1qh0sK5RMI^*ad9OCUsPY_JCGu?w z^?LzgU#De$_pY0-^mblEdyzuq{sYgsDCTB5OCusvE8bXZT@??ixQqgc=a)e_0UiOK zmtZ*oUVk{DpHIwB!%xthz@sCEOI7U_8ryviH28_y(YVb+|0aN@4IR^pScG}9z;MA) z1`a5=B*q(?TTELaqD1J09}u9tf^crHJxagwJ~BkBg=Vl(CN>06%it-Y3H)66txuK# zE7(_g8LKDUqjN#=k8N{Qe-{8lAnjZ?v2@ZVmVZ(j(%cwt&k>mvoYQN{2{0sV5lw;1 zR6LD|XPxHT?g^)+-Ly#ov=(}YAC@2<lou=4LSeps^3vGL zT0`nZM%960r(fB7ttEmeY#F<6SuScC%K^o+P8{$MQfrsMYPm>`2i*t418$Xj(`C`b z5P!)RYN+Dsd!i{kvdH6uogNrj#`IDt|LUU-O74a5=0?gn5=rC@%WX%EJ5bq%8;F#M0I zZ8f0;LokS_HQxoTb!hX5Ek-Ij!ptC+(ti)aa>W}ZYHNFRpGnmrfgqHsVdSC}_T_3-4a$4qGACpt-B3 zv=Tcd0CasyCNe4$rcrvNsweN5VUWC4b>eiKisC5Icy>X7xKfT?2ML)>n6bpn9e-~v z+f+xe=Chd#>SnBV%*!VGW!*X+b9JlQY zOW+I}zYe=U9bsZj1vDfdb*+Q$mMMbSJ$Yv^rI&0X$4nv490H9SB=kJNg-9KYT$0c^ z256Dg)i48wNJ{BjQ~ERww{^QT9Dhf*?aHuiRu{2a_pp-5OYXI|PxuItn?jZ_+xb0m zt(JR|!~&6Go>-$TX_H8P=7cSXoB;9txiw&G5>DlgI4;VPa2i-b3Y4M_#y;(*%?3+> zP&8>lc-$Vc&_u+%gUp;%BS9;zRX9oPzPJVD*eZbX91Qx*4KjSU9%hrUa({QAk0k`+ zRvktZI8dDXL2gYFP~{yOpIAIkfFQ_RP**Zsl2NUIz-znZvo+(&06|{q?G%Hqlpi7o z-1?0JWo&U6!fFv@v&igA;d8im)=4J6s0ke ziefB$^xgdLV6=c6Hq-X&a-t%I89`&OY46iF9B~PCk!YwQte2!8l>XJWgG!?r-Ax5! z#7;C*@#2u|)>p`EQV5$;BjT&t?*_xm+I>g_Ut>uj6lN7IetU<3Hh(e(-s9>TI%-Mo zfpS?nkIiuHZNzH%VHOi!x;(a069)#fu?Sx#%4dX)U55UQL07094@@Hm$Kt)mwzI6b zsFWjhN_3k)ra5XjSR$9Vi5I5?JUXp}G^!B<^RW4ziTfHE?;*Jk)z7beEQ75RK|sXd!`PQ3jgqoN1_9#u}1LGm^5k=J%7> z*`_GboRH4;6iUv*RV^kEb*pv4&Ir9ZE(=5(nl@POsS)~=Zhu-CGQT2^qoP>UNLmpQ zD>bL^XichJx-h7wN#tbQghgznovBzM4HG3yD{hW6)DU=_5?rvTYX%W|fc0XUZ^$`+ zhUw5*cp}#{25NJrsYzpjaz|WL#8|BGJpV&i*m;&s6(xWK;H%2GPLr-KggYgU#2H9m zM`v(_fgs8ziGSDU7Q+YibGEYfmIX%MW5O4z9G8eO&} zH~C%_yfjuKNg!LX@v6_6aL@_J37Q?yn_|cn)E7+fDP(BCGwfhXKP5+j%)0FB*>@l;uwlSB8$fP`I005DB+ z!WF<1vHhy2q!=eP10b19eg_v6Wvw7L)W8uf_uPfs)OVM(`WGBH!`WA41s@a2j>>WE z^Mu9p9~2;2u%N0a3KXO?8ejE>#o$5&CF5`+O&4>mB0}}WI*b0?(z_THf(LlquaaB& z*OU}ZAb)eZDz2Vh8r&%iAi#7&XK}~|XtQDi!}7!jY!9y#%RW{q<3GUtq7!iA^US4B zJ}414;5XfsLs-v|8G_bNA$0DMX>k_hem7La!u)s)RO5Qk&M=_oiGB#s)jSenKZXM{ z#1Km=acM)i!iquA_!Faa$=sWd&9yArCW4Rq*nb1>Cc-8`BF~5kK->+&lY7!tK7$&g z{Fehbv_F;5Xv}9S49qa?Km_v;%uB}{YSDC)b3qhR8KTfJok*=X34}PFQZn(`|8Pb) zeGJ@Q6twrB)PBSTS0Jn^n2M~bX2~a$=k8D3L&Wq~;VC%cnvLS%P4jIdRjgpKYO%k; z&wm~1_yB1jxNU%Zv0>YC8^R^&m43(_CU;Jie-W^0yRJVio-{_K0%*77gdk4ehfzbJ ziX6s2g;ldj?%^C$0BxCsAjyOndBxiFlhUdL!NdYqDK<3-MVv6gu0+TbVWB?%R@Nw} z&sDr8g_z=dgb10_gF|%UkcN2x$5nzkTUsK>bivnRA6>^nW*b}B(gpE~_!FF1U}8cN zXL1X2>oTRTNV|ym`h{W5EA1%1b3!MOM8zundPpUuo-#)|?QxhQK<^lrj`QknUL-*` z?&n=<+0shTN`P87mlZ+*C;^9;K0*O}6-TK+OQWO$j6j^twj&SS!hokV%%hjjLIFD& z4vQ1eX3x*oybwZ*Qd$t;bPe`;9C&U6=a(Zx0VM&Cmq|kbO99)Ll|un2A#TB!YM|WQ zN+w!<=XWi}m<2Q_nHq4|zVvc2^;)MuR^0bSNlwky4~KY6S`egn;|`5nnFVecL7?Vp5}Gp;(h;k(3e?60U&>9e@7A__)!7C zBZOx9tKlkUMnO@eb0H7;g31*Dx?v?Hh-7~;5g}6g9F|Ht($Xjzm@S}ZhcniK^|U>J63>|nQ;6YORUGL> z#-=I7Qe`yDyXXPv0kg^!+^gAkTrap~idBt56Yy;w%EVVbmU!*RAT;6%?{Tm0^@bh4 zOmY{PXtqZPF;+h`P^nDC19>DhO$JaMB)7!~P+ue)ElF*EMUj%M7{vd?8dUsvhN57JHt*E?!E-f70yhHbneSExPtif=S)f1#R7^B zZ)kdQkz9@WOm%<66`O;5B#T=$nM)YLyz`)s#`Q>pZPmU~!lvW}O8F!;LS-A=8jP|{ zs8v%cmc|apb?XMY!pcJ`P;F2(qpNt(SA$#L3o~~fZTQ9?A4ASFm!%0J7fHOYsB**y zeWD!_aVddz@WdP#jjY>IhD$ThMw5X-3N2D3nBePTcE^8GC&xlyL#hXnN{CZ(oG`X4 z$1Y**=Bz1Ql*H!<7?x-!_#<)C=`O9r8CC`?E(UEz5XHqsV@{JAtp_NEOW0{AS#q{Y z|2o@tfWbL`^WX``&`5=B7PHS%bmvr@U`o0d9;6g;;HQ?cOe4pxz7Vt-c%Ref$2}r9 zG06w2BzJ$fa?Rj=Q)i0eAnoc^X+?0l`>+i&K2Eh-X~yfUlQ}a9Df+7G6!R#j#yZma zVu4jw0AnsoOAgW+oc+9$2FUd(&|P=XF4uRQMCjkV6PbAIKQO;9C(}{{aRR5;$`!yF0NTd&`QDK~7BjGFAH{UNFpI|0!7{U%3vxqbk zphthX`N^x>wm6nG9w!swynP&B0{`^?swAXF1ubq;*ATd6i~h<$0+E{`@)wrv?_Sdx z8h~P>fq|l0`Rbsz@qg_K%>cZBYWr`O76U*AGYDcYMCr`E zMj@j8H?N%`#LTt_b^Ac3R55DDr?rW)CU^R)aUw;L@(=!{8)E6^x*4!@JzI%Zwy}TN zcrAiLUGR$}Uj$samD&rNzLB2W_xs&1Ber2v0giY-}`1~XEEfPmu_1p z5icP6ij+KRcM6SoUb$)fOV=HK?-Jo&3!9*id(p}r>CTA@$LQbDZ`{iMc3pp@+m0lx zJEda+s$rXkjh0M|al`6vm&)GiT&gsz1XFp(`sTd_|AGVu?o;)RC@Y=2CCdU!oG2?+ zRJy-2?%NsM8TP)gdT)NYqPllj`CIz1%6*MDLtv=M;I^+@VHvSXVM+Xg#z7j+$I1{) za&TX6-2{j004g=07*naRA9?Ij$2UqH&rztx2iZdbr zXr7C)F8y!n*d6J)USA=&{oXEJxu?3}wt0_+yf4xB-yP52yZ*!Qu9tt2TSS`md@P9J zALxwCVokmjusSFS_@;M%z60qqzejCbv!MtS{v}_3>;9m>{O3)(we7>AzYP2BMcbnd zw;+gfz}N>#TKA;1R`^UAi3ZkKC?luqKX=!l46l{P?U>UgbaENTBv-90BqLn?=UaFbZKo{G}&Ia5}Z|Qxg@Na zNU*Ya1#gA?p_Noq;L|!UE!}TgdSXOprO7aAYDsFLgbYLl>9n4)U88bpoO=57Vr`3x z6b#Q1Ak?;EqzbL4t}R=yNT|rfeq=bKJ(pfciGfya1BK8n{4rO;eZLc6JZiM&dwTv( z?V%agRBI4Tv=c%M#=l!6_?NE#pwuL(isvbm%0C&&vyV@|GM2B%pF4E=e=+3S z7mbnuovFr3M%GbgMAA~7p0Bq;+)vu_0R?ne_^fDiR~@s&Bm_tEF_~-EV*(igsL012F+ETL?GErgin$gXa%68+dw1&CG4ANvE)wZ%>!8o z09FbW)hw>j1=E6|0a~a@YlVYLeDi_aYg8`D!YirUEWiLmaqF5LsTV z&-j-fuMu;O2)81}IfO8tu#+#)f+9IqFapP8aX)Kif_CaXfa#g$&9vCbD9Ks+cA>0O zRwJDVq>^|gSn7xE+%M!+&mY=^D| zdA{XMC8RQuDn=`KcEIqX7Q=S!ynJS~+%Ea0JlK$N3xI4{pmoboMSWg&X5@5LrR5?= z5Qt-K6n9Xn8fwq9OkDu@zJ_5N<^IC-N$}!XN`f_i$qg$^GxX0n700j$&j$7VSk(CH z#RBUUHHWMCUKG?Bnt~;fa^x+LhC!=MtjcJ$imOJgl~}m=vPw%EL=YSyoDbKR_-P{p zUkhFxf;Fx@CD|f9B7$r<&YA`{$*hp!&JmxmEkrYr1blAt92V5kO-SpKsc2$1=e974 zMoE-^k>3J9v{_n;*iRF#!-~~&7$OM~ifXp3_ajkiXdcAq9O&>o3Kd{94mGW~G|dQr zF6zhdkghD=Pt-!9YyPQP}x|b`*^d zB?z~~k8jA8NVHNjfwmwBC!>hN?3Wi77JDauEGIZ7A)onzLjjdys zVNd}be{EgGhgSuEy|^XJ14*sTFu*}q;m55*-dVMSt$iZiF^BENWm-T*XH*c?iJ5OG z5aod)Vvf?*8?AvP0WvAysV;+|#ul9r<^GA3+ z%!an^A-Vpo#02vs(><40Q2`?vZ|OndTaCnq#Qm}sTr1ZG@_7ow%KU8}hnJI40U>|g z7{_taBC&&E_UEsdxW(_qyWawi#lUkaGmFA>{I@JAp_Wzy5 zNFtfFX=uA7s~`!voO!X*j+->DvHU5`Q=3SJkk2)&A=*((uLwR< zY$WQfaJ$lARfSS3F3Ul8*GAXN#R{ikC~*lPzWE?`qd|qYG zbZbBX=tNUL|J*ro*cueD%H9ghc|)Lfl@|)a+{}9sYw+CqRn0Q1r;B(>1vTrZAejai zvPx!K(nS79h(WHCxFn%^$!B;l;B?Q0!QV;@O+gqb4@DFsJbf=}b0Pf{A8(Q7i&(Df zB1KOUpD%HsVROeK&iE!*=iHYvQvom@*u^cS zQS+`K_PV}_pp;j-)jTGlVijH`!B6A|ZB=$y`gtj1l_%v&e?>J}x|#71ZsP;i86l(ah6 zwCsQwapaa8)Gb0EJlUjjpEzZ1caEr8>ph(mc)N6y!}_ga$)_kzZM11)NH_7-gis3bf3VSR`s>p z9(O8_X@bX8tPHd|BV<{x6+|(Ja)gu?qhySKWn14WT$)R=noPsEa;REKZlAm83ZGq~ zkO0;J!n6n%ZibZV#$t;c=|#h}QYZd`$RuFQ=f_S@F2bTme z!x{__AxuMH6l1(vspih5OiiB%xs4?FTMVH}* zM{~1fW}!`#XL8?56skO(noJ!^A#-PcW;NW?D)$&w_|3&|n9t=FM?-r{cXCo$lou<6 zM`2QIEuD| zV=KE(yNKlYih9#2EZJAXqDt?0z%3HXdW~ShK)*CdGmnF+2M!fv+8hHBvQA{))n-b4 zxq0yxJ|v*}SS!F~oAd~<>J3CH?2riOd?6hNh0=B=Kyo8r1nXU3aO_jiSuq$LtpS(T ztbpdO1#EMwJ=~W+R{xDJdk|dK6fYo2N=kps4dOdsvG>PRkE*Pm57dd=Ar1lhn-8YBJG1l-YuCtQ7QthKmD?c03L2ECLK$imHD`=^N#DtR1P+ z;Uw_Tb3QbG6=RBrxu$9oK6U>GDHV1!bru$cr2j6|hy7LW8{ zAc+yVpNHl65yc?CAeA+n%Et;2sSZ+dEK!?UCW%OEDI=zt?tsW?R^UT{i~4!F0Bdbe zXnZycwcrroA^>CGp(b6jc%h-e^ueimW)$Fc?d?l{77Z+}V?W7L$q~XD%>@cKr(fZK zDwre{j^Zn(2qJ0I*Q(_?W3P!zM5ryMM zxQ)t2$ILx>FoxKlAovMgb1lAiJQ6#jZ8nYCfw>p9XAfWFDT0gmfiCKYYATXR8&651 zEIc-U@U<}Hg`UXHk_57m0^T_#jsma!klu*f$su(ahc9y!$RunJFd~jLQAXYzi)fdq ziS}IAKs^#LH{ikb%vjeNPbuTU4Ym``>Yg6VkcYKHl*FY+W zx*N2_%6<)*cC3;lvk_-tEO6Ncw%*P0e5fm&KX4>O$ z4okSGyZ6#xolVzWFZb`wJsK=^-O*f!6<`8=Dvo=$A%Uy5wNaG4cnkita&G5B!Nq+8lD`MYThdYU|n?1ah87LSc0Q7itGhz3&%BGGM4eOyg{fTJmT zM`%d^H9E%97+@7{dtiV~%dMCC8V;P%ezW5+!R!T_3K3j#%$0TnE_Hq=h*Myr$Wq?^ z{pmo|!k>eg6`bIgyAsYDaps)VvDI*!!r~Tya7Nab9CmZMu|yQN%%pE~pLA%|cyg0YUio8&g?RpW`A^J(b!%`=EONCPE{}W+~TFh_Do2_=Cx_R3*jydqTDCIcU)Oi##>59d278*X2N)Z zFh(TI`0UbW{7!1UiFPRO)^{lNs%1;-qVv;kQRH*H?|W9J2u}cq$M3d(Mw@}=Dhtz* z{D=ET29XF{Q}yRUc+&FiTT#hpZ?3|i0YrWG`u!5|Nv6&*`UeGytHS$pfmVeA6TqSz zImm=ISc@e7d%wpm!2HAZiB< zNJOs!T4~I1NwFe+-K-RU-YZA~m+5iM5xSZpxzS4R;!eG?OjLlagrG$D0?~z9>Wpg0 zPaV}d=X~}bxVDG(sKR)r68x%rZ_QPCfIF&5?LhO-YH@cYPyVpN;67}4``)Y#DG63l zpckVf**T~Qco0lE)GwzZfOMeuw1F_H%(N_fNPvg{T^VkMEk{6qlMDUu{csz2!vWZW z3m)H0SIv${x4ET62R~3#^UOV#d{)q#hT|eQPH`>4 z3aw0SRv3j#>hw-I!m>V9C740QiIhxRmI|eQfmd4bt_B@U5nPRR5Bxa zGS;M)+=_C~Vfl;&PvD2<%K-tgVW$er@v2Mv8X>ge^}M^p|B>qk&p63oX~h;C+!0y% zzqzU1_nO5>dlSz>7YjdEugAiDLki8JL-}vz+sJ#1aMR_hY`o5JmxlHJ_IK40Z{E4X z8DbOM?!R(>@6s>+@sD3O^S(#u_c&Z(UNmyvTg1|48+LXcyX0A$_K10C1}3gk(awoE zEO?3nXZ6iv5l(ff?UKoawDHYu+8K$^%+62w)2*?*UMDu{5$t2a0|JA!1mwdZn0%>rAj3y&u7~K?HA1B z0&Rzf%1T%$c`~+@bQU+%*j}ARz+mAOqFT6Lu;4FAse2;0e9wK2?oiz%d#tdoe}|?~ z-qrFq{a2OwC>sv73)}w6``#95kuRxp>fdo^U|NobaH4=xQ5+;1BSziiZT2B-y0{8N6T-v+qST}% zoNdQ`LlzvY2wL4pS^$@kcV!ibHN=LSHkNksbg5wl4_V) z3QFFa%Pzjk-_>WxaccRlwsQl=!p))%eI;_BOSfa0n)n%G2zy%`j47~FP+J3fw*Vo3 zpOa?kCF9XWu-!0W2SsPO9LvZ&rPljTE z(Qf*@6&4hNfQH?(ZXu3|Ov4wql80tlnY+Kl>f{_aErFZ>T??ZS*YpW!5g0e_-#a*6 zFAKi$e|)G$YX~6H5Y=1SbVBFhh-$un={W%%kT(5CZ7<){Rk#-HuE-FOM>G~Xkd`bn ztvR>CdY8ZzRSJFG0AknQEYdgy@?lFCz799}FkEqi6v3bM8QR06)l4!|H#;on!nS&z=!T%%Ru=w4KQMZr%NTVDy39t zz%G$h2QaU|dmUXYexZ6%%3v9Px9XiuZW#N}a zT~Oq9PK%EcWulThyQ#pL=#Uo6@?QG)(sfXU*Dk=KB57GXPKx)IWD>RVL6*r=2!2jr zo<{6?ngygx$iTDZ3HxAw6~HNs3N%7GnmPkPV599E8X|kmClZ$X(BCvTt@W?S^27{~ zQU2-8R8|zLfP1?*i-p+PEMa7!uaxcTc9=#OFWtzpD4HGQ_cnZ+<6>OPpp6zSmAkbuX|0F`s1be3DAZ_?%#?~g!{B@m`QQ5B}TMp=N7sU{IAUY)_AArc3Mg&3469d zu8W*pePxieJ7jEtghnMeYp7w9NGE266yU6hsZAIZJw8m8b6H-yb4Kv5Y4;Z{Uk z5PCDh;5m1c_8o$YSY}z{-drnjuZSNJq$KuW=jly}{k;!EC!_tBfAp&LB7@THYfV}w zho3Mwke*2Hk&3E7ErtOk`zBhGF+}i9(cfKclx5=j*mIV44IEYtG+A~`FmB~+%z~~? z@b+D}Cv`h2c-u>cL2Y4I;*m;>YmqQ+n?jaVV+}7_s=jp*=--6z!`)U8;j^2nAn=%I z_)#?)L7fF_g#hu&f3Xe=HI=cecy4!Tn_OL3l(61zY1eRg&`=2g;@MJA#M$Y5mus?3 zBkruxQJxXia_`E;7hiZ*0RoKi(0Z*33ku?M*gN%h9FcAaof&w7?R#?Y7Pz(YRo95B zmM9Kyw|`i&p{E5mR(_$BHKq`K3ZU^VHJc>efQSgR``Vw)e^O!3G?dl&T1#e65BqeS&D z*X^CW%QtEORQ<`yw*I|Rv5|;5w_+J_;z$_60)?swWIIx{2;9O+05`BU=+$N8K%7I# zvFC3>6D!i}7d=ias}w~Eqy(4bJW22yh6g?tGsW#sf4#Q*RY)I4QD>M16kNo`PsFIp zia1o;gChaq{fU8l!;EbYroAn~GCS86n7u@xgznPPj=+f#?zXrFo#}fl_N9`*j%c~k zJuSLX{yp)FBj)1q`-YyJ_ktMcG=%GpjM(ks+?iE5NbRBySQ)bwJf{N z`o@@RpHo$RZ(rjic0wQ$0)e6+<&_8c0f9e2#7ht_gy%>gUU@v;EK#B0I#K8He*#Ag(f$-aW1&d{Rb z*6#r<&Nb+MJWr*TtiogOdxuHP!5X+F;F;5^P4Mrnf0SQr)GzPG6#8O4w@txVn zE1;-~9j49_$8;vOM^~%uP7OX`iS;O!Rh7Kx*unKAEUf*qLi&a2BuTjq-p3JZHmf*7 zYbg9=?A-wx&s%UuiZFA!ooPzbt~ej+f3Pqhq5^KNSrR%;88X2F9i3oE38xcnPQj5C z#VLb1*)(rjkwrCylWzAKV7p85>3RcW+mnQA;kj??TN$sv7)~w?W~~^Y1g9x8TTxdJ ziSfCm?AESkCF7z3G<~(HN}V}ug_)631PlAFS%y-yMQ075c>-@vjqHa`xmf_^f8Z6w zw`D^7tPT?(HkBmd8nV-QtZ&9mG7UN{Z6R&Q!#ZC-R;d)w1X`#ma$BNGdIzg|sH?-v z=A<;@LOR9T$}WQwQo@xN5;=X_{`Rs6+zDCT~A>SFUL>! zvfGR!u2a*oG+l-{)3bfYJO`o#e(Z!W1(A_~`z~vAiWQ@%sMVTvA3}N2c}@1CqhN~9 zHRjgW*T4=^k1eWjUC2Z)MAsq-51>exJRT?+F2 z97W6_001BWNklA(*4&N3K)oq&0Qz>RdHsIWlnIiZ=2 zCE+=3;iv^D5%Ufrunu`6>J}raZ)-Qxsnoe>8zNQ&IdbtNi}*fj=RKrThdxk`7C##} zj*52RT+JOs$&`*6e;z5q9_(pGgsmwQfnoJ+bRtRewFq}=2>_*3JgNYKI_^lM4#MSZ z1)-%N3Q$%S%Vg<^9dRx)U>kMmo-9`2UtAEf3x*HAJPc@_{wMW4JCu%v!lU9Y7kz)-~`9>-v`V#__^8e z#uXW!;qyZ|ZRMR7+C!$q#&lP&s3goBN~%d`w8)+GPJ0J#>1s$jnE=EX}( z1L~e@GZ5d$e+K9#*oNSW=fZ=|Ii?r;18VCedqq-}o`{fESAx3K54h}Y>j~dXf@-kt zn@VYKv434!62~aT%lG0qm$l;!FMTsg4I{CqvlfwM5O_0DPFYIqj(Qxs_Nncpba-$r zwR0j^YI&qdY#tK9xz81KiufBb7m*k9m` zbf4szt$~2$uUt1BUAgA`Z8=^YJkT!bUgOSSJExE3I3geN-_$qosD7TNqMz zPKVtve`H%=uFta~tr$)>F=F8onx0AZ`s)jq+!KjUd;TLz-k2;pk|u*GS?9w_V#MP^Mnc4`R2nLPU%1yF zk?PoO()n<0=Zl5<^&!Jn85?iUUHXVmc$dSo!N!up(_RX;sw5F~d2&N@c*6W8|HI1a z?dCm#C%nEx*c8;;cWo$}mP%Qd5H*aep8EvGZeFd`CcluRFxEmNz2)W+R)=|a=h1ia zf8xB4{qwC|&?TAOa_{lANVWFiIW>CqX+wQzNE!n0Wi$ z+4|w4POKynx%GiJfh0%x+(6vAry~_ZWk+3Mw~2j@%-QCRY17AM$^p)NK%Y0K#T431 z__AE-a$U}^6B9bvZby)UU~{rEKcIEAOjVUnYK%`Ns-!Yu5|9ZeLAQG|t8!vBe*@a2 z4WZ#savzvPu8X%=UqN3VmV`_}WRf=cBrF?oX9TOIVCVXU`{60h8`bu{0emkDJG!|$ zU2RBiYRyS4CDm7Hf#q2~Oh=4Zz>)LyZx?oNc?s>4ES?b$tBIgCQa0GQ#6C8hM|2W- zqGYwhUsS7)a^|Mw`Jm^lw?9cne;x0%g_;+Je&FsmWZ(fox(0JhE!?*xK$^_1ySlop&AsI`osQj1J0`v>V3>=Kq)@PDz(+Dp ztoNAExopSs9S3^y%Ac%BtSU#rrh=^pUX!{0o5X>Gbrqd)H&7*)$VKDuf6fPJ+`Taa zYgev_M7z+E9rY(4M?0?H%;TX8lti)1#5EMx*l?CRn0gnccf11s;%V%6p2GFz9bnsB zfbV3>ZG_JF))8)}%Rsa>(c~bZOE}%a84gmg5sk>ZMh z4Hb^-zA^NH7U+sOlI4+6e;gmY;sf2hovdy?rJvX%w@lVVz0t(!1iQEZP8Wb)0Jb4c zp2NiO2nD(k8tzlJ@V28mUCzj|`fF+nfl0%aCv(SD8b%&~KW9ad8v?FZJ>CYR_RZ#A zt6K)=jOY5%%}Wo-0>xZ!jGq$s#_P$_>@V^X)TW#vcn=#??qO~(f8u=kaoF8!;BgEZ=<)2BBq`368D|W~jO5^}+hc6Xy|A=o0KZ zev&kY?RPx-5iqyhW$sajZm`R{z`bXHd(Q!v&jOFH0C@(`dw^WP8+(qXX1H%+4I6*( zR&>8rYO>OJ`3G-Ne|!E>X!3_FXk9VKyY2CP-U48A?qPt;2+qgGhiKa4sRNQ}h!YYq zV;tZt)xXOkZpe%!F1u4>=uNUbp_(;DF9h(+t}dOJl_Ws*GXTIdxUQz)p>5bNo`Jmh z3GCnVS0L9i&V|^Fw3S8NM>Lt$i zo`!t*qqz9^eA9Tzy;hO>HRhfIUo?%~9!IAjE)Yp2zo zthyLmNaXG-V0kLPze&j515rO3fao!Ge_mzUkx7nT;1dINZA2m1CcIQriBweGB1AM{ zu};fLF_WqGM3|O@9y;l-{uy)PQ@yt~$>q2ZfC`LHf7;{SL^C=8m5wxVVm0;itKPSP z{qi2hhd+w>1AiIY<#Ukz41Dw%;Jd#Yc=mbh+a+Ww#smf;L7Uw1ffQ zWFZd05ufK~F)n))6&c58-nsv+MC^|Iyic&iWGP)Tj*2xZ;wPsX_P|m}$7Nj4#34Bv z9K}}zf4;_!Sc*!s^}U|CuRsfjwXoX^s*ymQ)iiPH=oxbj9sC)s&l=N-6@cwte_^Ts zE->#r1NrdBaPi3Dgd^b&ba8v5{4ET zd~Q(k8)0nuxepZ~lv0QL+>D1ihn8n(OZCJmtmIH5H ze^cScGJ~(AUuT$pTbG%hyDstEE*&es+$kmbfH5~*JlYTg(p$h}5{PBod>7CDQ|UV) zS$wm?0+3m$pCrm|lU1geEljSM8ky2WRvmPtKz|-28k&q7EfJ}Q7v#%?WwHth5wNhILApI3~0vkKsD<*XJ(>(!C>hHTl zbtO4Q<2ZYqL6%))%~JKVI6RyLJc~MNZfz(LS=8lZ5V_?CNy3|{!a<-iaF%Eae<=dJ zd&0%X2QKeD2iXnhdl$HR?h;qqz?=%~Gt@peH!SRriOA6oqDuQKxtw#MbQvo0%rrJF z5RfP+StY|BBphbk5oeNtl7@odELTX#)Vn-0j?8fsayZBXIm~n4ry6W{$^ldSM`H#Z z`itZNnC6|=c+yjud3{qw;}lune=vt>UdYQk0@Pb5qM_&rQ@~(5zp^!_2Z5jTEvvay z-!6e?72|XVk9V9dE^vDG9>(boaHSY#xE5dzg_xhe?#B*WK6{T=(d_$XAsBkp zY6|}6Kf-PXO z<{QW|pT)jqwqc%5x@M)he?hO6^Bv<(0Y>J!-tuaoSICm0xi_ZZ8G8n(Wh2o2uPPi-;PL`;ae_W|*Uz(-fjI^Q3cUto3+6Y_Qi*G=i#Bxt zhqiSmKdbbFdeaC#ZRez6htBPU{K2n9;^WEAxlMP2P6-Yc?Vba}e@v<-9p$x@0Pm?)SD@0RYu7lzS1z3!6S# zQoNOB0rNA*0zX70ZP(o-ZCU0w&?hNCG?$QkCSVQk%1;!&!a{axk+5aovP^eVU~XQ5 zI$g71Xm-FQx+NM~W~+92BM2G@bBT>AoWPlSirlLVYbNS6e<2slTiCKXmu#sGxDT}p zHze-#S1%g|=gqAUKYi8_FeJE7NK?g3#8Q7)OLJdFB#v@%sY>N$l!~&$Ijx&lGZzPL zka2^N(i(vbUAv-XV3+b29aFe0rfRcE0fm)xmiBE(H#2S=lA z!UgB<1FR2rf1ibfdBXLf)+}*Nm-s~NAp9A`lxK&_f;(t8*1niw?gqP_&gev;YPdQ( zQ)F#=Ix|^^-bB(d&53o{%SN=r43mIk4OHv-1h{z3m^e;)+d=V0_BnR z=lFbt`wL{;*-^|e_u#w3n@vtu#BolO)3O|6Sd;Vte}5(~O9@GwZz zDd}4^dbe#B_Y0z-lypRF+#^7_LsLb}MiXRfVdS1=$K&B0$ZQH=12UbNd1j>h6*P!b z;F2!Ge`G*PVqrO|vaUN2i9g(UBWz-$73rC_kfQF`sg0x;JR1y#O+=|Oa~MA)Ivtjx z#qd<(KnlNS-+{Rs=G=kJn+TfjP+Vgtg9k9i#25o}O0DUzugS=5$y!s}RkrA%C%g!N-Ei821{y+VSh$Dp z1Z8UO#K*WLYR-8t-(Efa473Uz%L?$4Z zf3axal{04K;S0pnyJFT1lgS+!R)5vniy=Bwp{ua2OAUs()gl?e;N98hg3D4b>(s?# zzvdYfp;JgUT`AVfWs zqHU#G9|)*ntg0~wtf77`>K5r=qc#Mye+=J?2`5u|n5*DrN{u0+e|{*V z0-_WCZ}*Us3Qmyhi|3BFYJ$N7=u2YQI;Um}yU>_%FeOqdrTW(QJJ#w2HRRT)t}bfp znS(7gRU}|f^%zC|*_<%ON=X_8N^_sNj~cDQ&SzKU&l7c^U#`uPiKG*)?PJVt)!t&= znk}uRJ`2^ETj@P+$~;IP1|@n@e?zrhJdT}GOlazqWSuq>CwRs=)ljxpnj8BNg#RcA zMb74lB~ox9`ze7H^C2G4@km`8bZaNIYW1T>kwrLS(EMXmPoEWd4sJbGJk89ln1cWoEf1D)gZMViC z01VUc;8)^C^@taoG(7VNHJ-+nv_uZjq-n=06E>XpZYw9H4ek(HRICm>i_Kj*ww2P- z(@_%}N>WJ7kPOsfQZ%bv%kXDpo2}u;8DZbCpFMWIdmJfhxno}ganmu@Y45mK?KeyL zUBc8_oDlsk3I#ge4D`Eje? z2JaFZd+WZ}h=^t5R~f zQ73;8SnM^A-2pU2u-OQ0z;l?P0^R(WT!VN<6ly+l4(HtTbGnSuYRPCSL=Vq^Ps3ar zp_Y)x3@v-%e-j=7YkG$396d=*sH9eHkg0oz6PG6-y90D5ywse)hj@d=V30C^ZBv*U zt})$2m>y*rAr>+nS_Iqh?+mVndso$?L}{6MK!(-GtTaTuAs7)IS;;}0mIJ`{I8tg9 zsgr>)S1BWuM{r0NHk_jqf6+Ol{uqigoY@VaLXPTY2fM>k zV)nSTqy#?}r;yNF(o0v3@{0Of@0&J;E{u#5EB-(V6G1@G@ z0}ySqr23E|WKo7pjQRD34Iw>Ic5*UuGK|owh#GsSil&xG#yM-8QzkIX^BMDc$4M2Z zldBY0S2H9xoJog-VQ6)PPeW3MBK!;1dN>rue|A3$5Mk8R(j*z7!>f6T1M^F0PuCzQ z$v}Z)<$+d*#nKb9IVLUVDp6SC#V(Z4It}C6Ipd~+Z2)45Ye;sSk?H%o3!=%W3z10z ziA@?{XpBsN8i%Ct6d?M;N$ajFoOTl*mge8_1RGG=hpNC(EklhY1r^Ctk1ej-WJff) zDGvk@hPSjtWQU$q5AhHtu8PG0hkJZ4bo(l@qHUANyb6Y4@q7<4^~IM#f&ngnvc`s* zOCX$}v>@(;MR7pSSLbb&sg;0?YvQOOS$S4>_;qei8#h0lAxQ#;5(6s=b_PFqa-U}m z8QxC~z{WL;Gp+6wCwk5uagBurL}rA<8PcMwn>|bw#L4gB@F5Clrvghb0%&;x>0GO6 zb(7(E!f3)P7_5g%ks8t-VIsSK2IM@k*^ZN_YdPkjQa?t#B?Aet4`-^(Cd`B#(2?0D z(dZ-nR%pHjhFAlyD!b0m6UmrCSL-cIu)u}PCgq%{ISaKipUB2=+M;|>hhp5jM_+Wyb+)jzfr^yCaGvI8-VepLZN4w+4X)3$ z%`MuT$9|FlL68Y03&y2?B(9{J_`pY{w$hq=rM$#4yii+hn*pbI5wE_k9e1U4M(Y^J0VdU57=? z79O`1D<29K8)0fGH=JC{>hY9-hILNT-shL*HSc~RiGu2l0@32wH+dVt#R=F>{*-G1 znl>_OT?W9;&P2F@eSG2q83FajH6YaB^?|R$1yhRK#h**&o8if?!=v`yu*V?{q7H!T zYcC8@DD-mpu0$$-Z1)hSzvA#SXU%7{>uP>Y%HJ~C+rS}*&(pCbK(^#Qy8n+(sCZB) za1{aIX2s969p^n5@=1WP;aZySd^oO90Mb0^D@hgEzTNiT@@)W>sHcao?11zXjzlGX zwLG~Yro^&N63?DH9=`n2+=dvoC_I@eUd$_jcT_C4gta2v~F&J*I= zM)U3?e2nCo8ETo#25T`<8b;wVH^w**Y?QsZ-S(3kY8tZ$(^k)&Y`ZHpCqW$_OkCk{ z&u+6Rbeyn%+wPJJf-PhP&m|M12~aLD0V)ue3Mx=m3o=lT}1BW&C zimi5SV7V=f1Sq@QLbLL9hzN#RH9`^Oxq-V(*yd3p*#u|t?zjrtyZ{$A`@E(4+oy)z zA~ekTPInHOO|p@)+Zm2j!i|wG82YI;H<@62FAX+-@aJut|L8Elu5tbT`*?i+!Q0z7 zU*lxEJ6PCKCt``y+%BOSxh7|X@@cUEMI;0CM1YdeeyQBp=v4c{X_7JOkoE<$crt+} z11w-Ef(XP^1zq;!f*R?n*Js1^<1?ly#^zmMMKs2fG(lSaLjsshBui~FbTKGLwp$Rm zMYaWhp~n@wRJ0j_@OiY~sKk&uK$23+I2&iySf-VuiHL_-LVcrm+*3~dY3@gy3!-(h zJKB*MPMUT7B6ci4&HW>TuDKPFIuoyuWUg}M27N*+e2I@?(kRT$O&|h7=H{dVvH>y# z`#xcN_$@+M&{s00oO%E%{L7&m@SF1ti*nk*m4tlb2=2r89Al^x z`8XLwcU(VuACKO-k4N|KzqV};-@|r&4cs$~O}sw)?3=xZTI_Y^E+O_N;w2YOCs`qw zI|(EmHztA|?uliBM^}sKEFov^E2iH!M6^g7)&F zQc{Z0yIX?=MioM8M4LITeDKPa%qj_ghtUr|%wWeD00y0k)BREKh=O~uCC^~<+9!=X z56k(0@QLx5J=(jsUyUq6X13{=x=g%UA;y#fTo z6ZBj;Sz;FrY+o6Y`|tl|d+9&_)VrU5`0;;wdGYkK zn>~Ahsh1G~rZf$o9=W`=t&xaxhdP%97824Vh$iz)ED#Z{4pk!x#6n^ZGi1VzFWZyX zxs)QLHN%35It()yf^0+m8cmWx(oEqirL>faD)4)l4qQzTCHX_$T(6$lw%X|Hkwiy) z1#GSF=TZaSoq3d_m{N>?dCujF<(zFIoNgB9fj7>j&fYQtY*84aj#wss#<&@>-Y6xN zAoCkIUTJq$YrripKzu^3000rYNkl~8(Z$|RxI=f$lFptQ-F;S-CY$B6@ra~<6OiFF!4TJzZh{4a z>|ZIl&G(2qlH6@kc-VU+#bP*MIeouOB}6+;;!7 zpZWJM{MnEGefi!W_+D(6u)71M3K`K{0GjEEWeYacBz2`XP7C6pXE3+9u=+)thB;(p+J$Akwroi!0yF36jbgbkt%mihSgyS z&*v9pS}bRiaEk>H6r3Lqcz?uRosiNuApv);y)ia2AL6CJyT5MYwHqe|2F}3a_we}b zxA4wOFX5Hn|LiZk^YyR&I)Jw}06+2Gm%sEW{lxdZFt*F5@ezew+<}e@U)&_&S|V*H zGy*ykIbuab-R=eUG}Oh~&KTjb-<3-Sa`TwopiH#sA8l?;1J?8A-yz9&Xh1~t8?O>tF6>3@>3Jl;~W)BxXub zv8rH$z)Ufx=OVHhhes6L7W8E_H+oRNf*RF~nu8()ZJU{EGQvjUcafl{`cf<5H=5dB zVwNDYyS%j6@5r?WC4W)fmtb6;m1b318?cxGivf-1kCvTYRhi~H0dueS8J+`gGrahb za?JMI{e1S`xEPVsk?ssxL(JJw65*t`rcu%_lzZ>YlV=VP!0F5r7h2l@Hkpv~`#3+i zkB2XR{qZ+H|GC$$9=`Lh0sJ-)CiENs<7fWc)zzbCp1pVX?|*D+(C0q{xfF<;Jp2^) zk4QKuh;VIvg0QuxZ^9mGQ?`E>Pif2)LKm>DNMc2Zz^5GRwy+38$hLwZYSfVvj5_X&F;^T>X6VV#C zm%tZACdF7Le%12^30^G|zr@^bA4xO|i1J>qc9i^}cem;{RhX?kXd%k-uAh~7$uVxe z^aGHkB)yNjZNO<5hE9lGV?Ml(N8fw}um9m6eC>1p_J61T`PIV*U*f$30PKAI=J{K1 zUZ3y3{gi&!C%<3DfQ$_?26QMgZ4Hv42ZWtMZ>&hInutJk2_xdgp%(5jYgP9w_VU(D z>7y3GCv`2M!CO+>D3zA2mJlU|L{!@+WKM|9EY^Tl4#8CQa7u6?Mh)^`nu4LYN`G+XUx$=XWbVMUmJY0hg=DI2p5e{K2AR9VM;4??q!7Z`dxh>ZGQPxrWK-W` zQ74x0#V}_&En{M{Fw7ZiNEjhw>g>*|(Vi)7S0#)j>i&@u%=g6-esxxO!Ib;0fjf>r zfX=9kFi+*?+PohDQri$nGMUsLVjXlm_&%VuI)4wMlBm@PJ*1*aotPyFlIf=cpDUk3 z{OxO^KWPL$jF=7?of>jKyh;=po8aOEoYXMpHSE0yc>kNP;OoEoOE3S)r+@Z09(?2F z|A;x?3?xZr`*1#daR2=Fn~&`3>N$P-`RDb{y*qlkfSyiKmDVPk2weoxs4kUZk;n(n zrhkK|c0QplX4PD%LIglpUy8_6$@afhs%4U_s$WNnA>lxoMF3;?PE3iSg&=aCdySk^ zKPaMcTh!6>`Q(Nyw2UfF8W2Q4@>X2QM6gp6iq?<}~9`A>!W zVxl_8c7%->1PRUO<&MN2+kpWB$#0#=iGP&hlC?$VRxEFOO{PphmcOPh*Yul}Ei8dt zY5&GEL?q2EkEWHQY=+l;!kIi1Vw%yD^CLWYf2r>4dfg*0H*lbiuO{|dUXzS6$0$M{ z;xHxCP?fAmJPpBVOlik(wkh7Tr6R1t)NOu;R^_o zSS+tlNSKezyfmr0j6H@?ouG=Lp{{Fh-&?~_E&8?0ow_(4alYt)v&u*+8HYBsD)9DSv$_;x~izYU{mT}Z7b!~ z;U_kk(zbDFBBF};Jcsu`8-Eb!ULshAOB;iSj3yaVoS<3dffeS+V!Yt8ScseiF3Vbh zV1A)ms7Ulj^D#!wKcu8d5`3xubkIm5%*^-n!crYh$k!TZw|YDc7eg^lKDYA(WNJFQ zD#1ijdRSmA$LsqdAu2OzLwvmh$T?RwSnca74FR%z5ryX5C5gNk27fh;`kb%SHh5HW z%#UV6&M63!W>Vgk8cGmZNFen7=1Jr1b6>N}LxGyd36Pb0L-y&lb~5;NJZp z@UaO_o8V$hY&Zjt-og2eZ{qde|2_Q9zxc`X!qd4RfF1k(t@-vF zZ|?Ws-tnQ2|4rI3GJh1hDYmeUHudf$5~40QBqtolJc*?=qSW~T{+LDeEDWD_* zqST$VKij4|6Y!pKTYNu20<*A%08x$jWtZ}_H$!Sh2*uSz&L_-+@SaivY1nUN$8|dy zWhNn! z%9f_u3#p{$WW4bm*Tuba+th-Q$KDeMqLZT6@D~wCBhoYllaU-4x=JzuNdom}T7FQ1 zfHCbPGZjC#Or%a75)x};?n)COh?+zm%sKn(5%2l;EkwSsr1*fErfaqJvniamXl^R7 zjUez7aIpz4bbn&ouORO|z}2g-;N7o%6>ojv|9<7=-~FwBWasm50(j>Zn!c6L0pPK{ z_wcR#owr||kKTI+ckX@)V?6Dl8jV1`g!3SnKoA^(v8BX90!~R3C{7rei1EB4bOI{@ z6M)tRsG$yw`ix9OBfjXi$tHlBhv8HlcrN{Vf{%At>3@!poO}LV*;v*&J{e#93@Kvk z$mGN?%kzr?7S|62V6oRIDIgMsGIc+F5bPABNdQE#Fq>ew7y=#6E!3jIItH-d14{-h3 zt9baeuj2L3efG02|ITmzhlk&I`DbAE;0g46OS|WKy*b}__17N#@~3~#RG!`6c=d13 zPyMBjjUW8$m-}-sV7vPiaCrxE+Oi7?6kaGHzJGCMhAHADp$KOj){3mONg7Z9&(<7h z#U6sR?^A2mvb8-N!X7aai7iywkSB<$D8}&0ymOe9Tl4!NpC4+pAhi&QFTE#sOB@ns zaDLi$INsu!Rc_lHJh2LTX9*icwPhATGESN%;S^u86Qv;v=V)l%TFAr#)h>o)9>5m8 ztbck(5+(%E7Vc}P#+e@H?@~*0QdLdH@46k@0ZqHNw5r1;jeyxRed)R)$UX4kEt9(z zDQXlN7S2y8$FMjNbmu9snreJLVGT4Dye*_x?4|16AOg@i8LPJSK_kqiZ7a=e=)?); zk%g;Aum=zD=+#&3tv~$i{_yKx{nJ-I`+u3A`Q~T;_rJoodC9lCz-K)!p!ySc{@M@y z_>2GGpM2lFkA4Doo_i4&&pwNB?=I}}1dIW(0kx?9VN!(x*FcnYx^rq;sFLC+yAzdof; zKl3+EpZdWcdH(PI=s&#o$shRm#fu-p>AB}Hp1zB5x`d7kY;wY;13Csw1%GoBoCDsr z2eG#zVTsm8D#LA^h+oY~2T%Z!8&Rx0Hpa35r24Y?%T+SBxzATSuzP4?T=+OU(i+dP zl1M1!1rSzYMg3|fdW06jw8)|1oHWmmUOK}B#$@~DrXe75$X#Mf#eY#D7FZPn<@~G) z8@51JMA(RDXBynwzV8zj&VM-F6jKCet|MGGW5jrnV95UYl9GxQ;d6maD>5Z}_C?GT z`^DrsC!L{|_0By3mK;6YYs~~IO)mFB%O;oTTvQsBRU`(0o&B76gI9f#(Aj&xhr9q} zW?m9{*+u!1m^iZ<=})Q)5T-(D2E1?p=@W5nZwJoTu=lTE@4buj{eN%a(W|fE8~^J! zzVX#x__@!#^VKi^C)@Y`1KE`y|Fd_t(_4=|^wCdj_wIfF z_Uv)9Xvk?*>A?!%|;;tu9^2iPv47aQy}{D(UiIjHWyQ}22r8&n5|4!4`bb}sdl zgkcR3L<}UMyM$%lxql;?I}P32F4xml_f4_EF?x$65{7)HSx9;AF13t6*dTO?!D)ky zshPL|I767z7Hy$Y1OrhU!5FXKk^G!@TH*gsw?Q-a2VN zPt1K{OrI~*bEE-a?v>6O?ebhhO07f|B4;@!otRm?!WRiTh<|~Ep8opI93dD(WH^?6G<{@Yx)w)f2t-)*tyzxSD6eC2n3<2Ubr z<%^#K@M{3B@P8e?{vw190PkWyf8o*RfAew#`g5HD&qn=HrUu8Iv_e?1Lv~QBB-;= ztR!qdStPk^NEB0rMQSIm11YwF{mu!xF+i!Ml}>Jr6D6BOu>&)HBnX{crkq284jNxa zsgidyZ5!%OSyWUqvkdVe97rsenVSJ7f5)}ZUN}?#f`m`=1SXX?--um+D&?g1)+9D! z-AMITQf;;vf2kJ;rYdon|HyKUd*;h8PuQ|(1mXfl8}2xSjEbZ)UIT1UQy{$KdDhmH z0;j8hK-b|j1R8t7nt|mco*~#bSKTpp>{r)#{O$uhe*0~_`_fn6e(;qq{rUTED!g|8 qrQiCMfA{d~fBGwUf@l4MUjGk0uZN%$Yyg)40000&;|f$4*KZslhkM|FIveY+~oq$kvzSlX}{ixPD-R|MJb$rq>Pfm{p zpq6>;S1)0%HnhVq+8A2bTnop59+HK^A_AyipuAO4w4SoE+G-l>E8op8Mr*A%n;_Tv z<}7{34n@rA5%O9?9w%C8|Dcg}%`NBOffax1sVsRk88LU9+ZL~wZ$}PetoTdcir{fV z(91K%{}F2x1fdHTh3RWn{j*t0_Xa6i20L4ZZBp1&(ya<)c!5wS?{{HpEP*bU+R0N! z5H7m#HZ>4*GI@SB==Y3YOVOku5f+6bdyHYv1%1*$SS8%Pu^j3P$|G$7@7b)7OTT8;7x$pbm|MC6*z2oU}bDR3f>MCJC5QJk@!dX*R3Qu*8w>^7w z;AmTVK^+*Nhjt|0-QD4i@lN)ir}J9XZ!fUb>K}01&U@zOC(q1CmYKMbO1i6OMy5R(sd`$ErKOf>&&)aB=$RR9 za^{>zYGALPi<6pUoAPKHT1vHJlcy%NdCBIPAN8H~JU?3*7B45$EBy)ol5Rxm+@{_B z4Q3?ERD3BClSJO$H{rQBYYwZ$ru|VWk5r%o{6mB4iTJWUYYIP6QYVZo9~-Hk9wTL} zra2|q=k-)75?eCRshc&RAD@xSE$MdOyf&hpoA;d@nZqO|Pfci&G>#SLU)(3pXxf=+ z-|XC(=~>M;H96yvTw|W`k#kd;Z+2vCY;xw5B(fG4Cdagi*^2NUHefJfB%=P+h!rc? z@sF0D3hQh+606MKjNJTdFE7UZ$spFs3;AoVu=2FNDk<9YvmW0(hMw}wPoBae?R=5? zYRS@SFZiQTJyq!EDtpcKW1k+GobhQFHOcOonwp%QpPWZGEv%be$W*(i2f~L3CCg$Y zkx!1!mW3_)@?spdL`T??zGTE>?rQo4quauMBOHw^x=nbg zPDPe=_Ef$UaGS*A?uMCp&nW2j0gsqD;kJY6*o#yhGxPv>AElB#fywt_Shsz4Zt^^F zCdw1(MU>B;J1N=l$ck-vW2Kc;xsvMHmt*>JJQfMK?b9=!=`%Bvqq5)@XC`L{j(}OT z38}U(#^g*IpPa%Do*N&ZMECuvm6TgyS)PlUXNDwFT`)-^6H3n&J(dcZ-6nOxEZJEW zD9ba-B+F@%)mA34!7_K5x==3Fo@Ub1%7u*QR-h&cNh=d1%3G*(S0>Z3*7~5}wzFxW zTZdPuQZD-w3F9Ek>QAhiDvgHagHJpWK6q&G@NoFx0RA2v`08vK(@ksDzim2e`q&Gd z9i1H^rh~@Y-EMaW{^B1}`sF|Lfd4u=yQm(1x;ne~BOcgezJT@9-QCp%-G<-y`H$+b zzxg`3>Xh)uZgi4=rb-y-vbrx{{r@|?^hW&~jc-)HA-z%eM%CpL!Y^9|*)2#?lUrz! zY)O479rY*OdrnWzjQQp~r_N1{%z+ow-23d*$f#%J|R~=er&NDyHs@u}B%dz;?nA>)4=Jd>&3o}wJ81k~d>aGPpLIX=;AgM$6fmnk85)6o0?qrYnp8P1iGG$1XAgw{z*-){|!yH z|E4B8eovDd{)r|x{!>jBKc&e{|6G%$Khk9Rvzol;bDG@zFEqJDd{&cNAU~RD5$plY7KBPipdh@y$_muf>x|n!}s(ntVWfQ`6*L@y(DX_lduc z`SeQ-LjwZ?eM3i&VlLuy@kMn`H`39R)Nq9Ik5ImRP<-p6CJ%^j&uH=?@$EC3JSe_B ztI3DOFJm=Nh+qDoCJ#vsN2$fpfx`pX)(`j->Z!OtDrVlHb0|KktOKhrEtnX#&cNVbULN0(TI@}Gv5KZ?X!_s{?(z$Pa?NL zlaC^4)a0j-h?@K~k|s?)hD6fjXOPI6{4A1YO+Jo9(c}|IoSHm>1iNq&3HELjiCdG$ zko0RZ)ckiq!f_;{ntTcg);xhEp~;hC<}Z(E@^fP5UruQ9X)*J!YBYID%>270O`aAr zKeTA_jF^4Zr^#o;>}RSqc~;DReo>RpirL#OnmmW3Rg>q%>{mUStclsL4PvDenl`JB zq*Gxr`)>l8d``^%ctDfSBRK@Z%;^9GDy*x446x({B;bRKNS;9P`AATY=Zl9l`FZ3I zYw`z>JgLcEB-q0jkQ~?K4>~B(2F;kX+H^ zt77)=teU(cu6+z|tK!-p)N1mF#kJ3Zb3TFuobxN<+UKzJk4m<~oaHt7SH-o>Lz?^& z5_Fsu#I?7YG)k$S#x2I+Ak947SKt zNahfPcS(;EFpibQD|PN{kcstivqcoUwHF|04L42z+jo12m>>=A`+^r)w3 zk5$PQjRep&HQy^)qA?H+kNYHhG#=n1037<4b;(2v^2dVlWyunY#{$%%oxr5d`;{!f zl>w?JXWjG?Um-Gg$k|RzBgr%a?TCdv5(BU-(wammC=LVFyQJzQ%mtphfiXaM%oHy@ z*k(O>MaO<)ixw|o$7n)@?V>^Vlh2V}hV)rdkyMn=!G9xH;qMu>qhWul(5CYg(-SO@gD9OwO+U=)$^$ty6<7T#7{Z8Pe9;5z(9>vBN`>=ANb8^_G z^&~bizo$kWAxFF#2~1Nr?0}pqFm@=CT;@}^ok{314WbL(yqqwMy4;TB*skt;9Gapq z-==M^Y7UGV4rZLOmLkj4j>gFl$0CUYFvgx!*cD=!h>mrXGHU&7G7jEfRy8jBMjhwo zq<$r$Uo{M6WK#7kFY3V{g;3Ok>Uk)Xc#>f@!>G?e(ZWpXM&ps#CHw<3#G{5xGfc-K zsa3oiDRm@)-Gn3?Rt`%!=hxB;8Tdu09}+C4z=G;1OjKIskqcFeUxxBE8h6VSw`ER1 zPsWq0M(rsbiWxv$g$Ha%g*Qwg9#Zi)1l?tbIoX2alZ;0>!Z8f124xeahLMFS~;bl%2dw$tOZc^KZV>Z1A^PvW?N4c!Vldv0?A;?^#^Lh>N zijslwwmd7-L`$Rs3_~3EUx_CnhTE#_$wgUIrcHSf@6a|$;z#<0zqfGMu1-TNu_kab z+!<&%5~I3lKrz1>;=Y|x&&Fk@mbY!@OQ!{qbU@kZ1PaHdq11{#7kVWNr4oe9_|VliNg0G#7k3M?9rL)&0gOq(=-g;!R$S8;-! zV-Py1Y;00E9^77R%`w$vEEG2yws8-aV@MR7mKb@2J{fKHDfwN03kct`#hiU278!p)m4x_ zoglLd{SOTljT$Yxlt7|_X{^mL4H3{&%%ZC2CJ&ywXtZEtDpQSkG^qLw)gM#+c&9NP zQ}NgmHyxl3#T^WJEa`{;{dhq$TOcUL1&J}NIvES)W3gS>+v6AeSbr51E8%^^RZ>ED9xK~cUV9;OIl@*O zAV|YU;7r|&_33>lK@HNa+-=HDwwX-O?nThJrB&6r`SY`eGy!}Y1weulC{-bi`TPhZ zD{te(`FJP=SOaiVq`D#ImE~UB8@D+xhG|Y*G?hQcaNkF&eoV1aV6;>n;GPEatSlVaS1a zJPDHsf*K4R#d4k1GG{FZBn=za$1wWc2n_cab*wa>Y1DzM2obFU696nb3b2TKlBrcg z;tld}sgU0hrO;5X$`X~l4g-_dDI>O&Ce6z7>UWeIxd35qI@{lNPPQIC2n>Fbp<6r~ zwOBH!6ocmgpwzM)iDHlZskjl27`;#rNo*HmaKpykKQ$7&Liok7!|rhxFjvi}qxto! zc|z4K0iZBvkQ^|hKEU-sAGn5;u;J!`&0YdeL9VfS)uNY(Eg*CN+x%i0a65=1z$&=o zfmOpwZb&kcU@B+Zi)aw0C(`$-1?SJOF#}a_BMlk&Wkn_L3LLSVP`mj;dyIxq8rUx3 zPlbzlJ89?y=zR(#3>gQ*h97GgAmNofUb3%>!yaSpiu0+l~b+Ka`tOW*}9DDC|5m#Vi!z^rU?3>HO zcH(oI6W|9>5f%j}foUkiJ;&WoG8cO6N+cPNk)c-eij~6)nOUG6mY?{levw%t=90$z zk*LuKy+;vFHRq5rp0L7Kpz}TUB6EJ=eB7JkQE<++u?oR%76hr&eAe`d^XkE#w!_vtujVt33=JI~+IwxP+9VK3dx)gE+J5>-5B+(v=gDc1^teUXa2BIt zn|r-upAiPd8y~`Szjw4MBi``;6{9EUz2P*KM7{TV#eY_vul0p^Nv*Py5H@OkA(5~3 z)`ji03IT1@%DmIfs?i?4GrqlEA&iZBYa18y_0~2@=T=q-{$UL!VPwPE3KXKJauS9J;Dt&r(m;_sW@(r8PwNoa01-~s@T0N^4-24D(p;!i<^F9I|g zPpKV7|60((7GNKw1^lKuLML&Pn0jUtq}jXM&)LemO0&xnOv9DE88W$qtRze3-jJD| z%AZmt^HU+ScW02tDF{xH8AV?Zhd)_daj=&OLhX|@?(eIIdN3wNYu~%!+8*)25Z}*< zaTzVM!CM+8vYG^|6>u*XPzv&hkkK)cUnT;tYA~+G5M6~g4zH^aO$zpBk5vkGlOR~0 zqDg#Kr5($kMdJbb6-UdiTIlD&p(7ivTCR~p0v25xj3CaFq8-6A@KI0?30@hTII>iV1eV6gqaCdHw*K3e2=<62zq01k+L&?IaF%Bme1h?Rj1e0UdyvJ{H z3pWsx&8d>hUZ`>R7Ml7}aUX&fI3ve7=7PoTqOc(y!$VK8EGv3tdFe&pN<0=_ zU8v=;MVe%t+fHR{@;0}WuSZ4oxgr=2hu7II*n?m(Y;cVO_h~-yRnTX{CEN%JgE;ke zAYZt?QXvRsg4ue5D*UO+?8io@5V?t;PovfiR!fKopI%E;vu&*(p>4gd_Vx956Vocf z<;|c;DPA@B{%{?aPld~+lDkXcYT*>}al$|yJYRPA-rZXYyN9ri$7z;|X)|QTM7yle z%h%bB1*3&-ET|w_LAiGTHvm2udkt)PiX1PZ3su>>Rt@e(+qyBD@VC{z>8|2*3wI$N zn{Dw929`C*WElCyYrEo=pcXham=wG-& z5#~E(8K*`MStF+q0o#7xJA^$FuA>5z)l*dA2l)z0&BI)Ic7pGZb%HAVwc1OIZF5P0 zRq*gqxV2(zytW=HyQ`EHc7k)RQs%UK2y8)7I%`jQMkfvrZr%))d7r6+6v8p~+t33Y zH>}yAEkOa>85-k9YQMXukA|sp^=;60-nn!4Ca?!V4io7r4AppZ{WW{2{GKA5yaf?g za=V`s3z+U|;tHd2GRA`6FxYhOMx{}+Q_ztZ%`!)${q#v1iQmU@S|-L2jBz!D5I4mw zCq2juj=I#mc#@1!!G=@#bjTDk-Pt5P1sT(olKUwkllMKuvXN-MrUGeU2DKMx20!oV zI?6V)CnOA4Wj0(DPzr+yoU+bKTqBKy?UVIzy;!ZHcQ7t z2D^k$^GP$YdpIm-iaNibHnE?KZril`hRaDys@Zhn^d*qgQz)&%MA|s5Qn{gh82VFH zH1xUm8oKe}a8pKUbUmZA(Kt{aH87bQt|r#M3nMhLoPwfru*IF=BiI&b1cy4%HB}ry zsUis42=cd5C(WR>tC{wPI=!n@+@#6pCS0mBdCwD^(`<{>a|?QAx`I{2w(PK?Fymj?L`GiTZW1dxi2IGL~D#Z(tUi-1Ae|a(Je-^rF zZPqT>tA%nKS(#4_4t8{2B0Hi8|F}iiY!e(eZ*ARv>x-evLHlOsK3o%|qbDDQb<)P7 zKe^@j55ty>^7y^P%}xmpR@xU2g%IBxk}?gOofTV|?+uq{wuZ_w%FbJfC?&H-a!>&s z9Z0QIQ~O%pzD}gTyN|^RB=*Q>uzn0^1*?;zwDreS_kja*vpuJKI-{qb>!ek%8=`lV z!i6zc5fMNQ^ktyqN?`%=8ZrvqT6A^76UBi;%7?(ulAeTtkEN6>0&`N5}Px z=DkYcO5&qCO71qKlXW_T@KE6Ll_Q5Q{cgNDz$#yM_lUj;<<7^TmZ7MxV=}pd` zWq+pdTbE8(IDbRM7l=pWNhtglie32@mv}~~d~nE(A?ls=E{XNc{r`WY)GPJqXj7?k z)}vK@r~(%Gz4`GFiRlDvE(ltaCW4*=2_4?|VN$3)sI6b&Ag^VGgv58^)p~tly>Y#6 zy6Rf&Ka)%g;5bbay^hWCRzgcIk;`Q|-3+7vt&FhS$+3)VwlQ%b>r5iOXW&Gh@I~ zef`@c2KSYfJ|~4Ze2ef{5TPBmW)ybOH=IrdaUU*d8mb2G(Umkr?4XM8DO``-R4QaR z3Y$(2Ycc+;St*mtDa%I6BA-)1IeV#4vW(F5=)HN?d<#u+CdEdXHJ`1JN+ib-Tr+QW zGPxpIb7J=(YsZbcDL`a(I(Hk?sGZTT7T@fwkl`}KPGA_bIVfpeBNlma{|mJCqJVA3 z;J}H4O73beldDZ-$8})Ep1)zM6mI$M4T1(>=+0WMGfQ>XahZ6ofV^H_fe#CYl?d2= z>gtJhx7y#QcCD!U2i!EV>S<_^4QHLwCE3o-;fw>m0J`3lX+X^if<7D0_hUJ>A&ALr zxY!OGK^*ZXgCXHadB!nR4msS7yRa2yK{H^C9rqx>eepy{c;0;X-c17F&I3VH_Gb^F z8kOyr*uA&B!>t6M4f}Z7U&t1tjkIIe*dpMJf) zLp_*cQ~(*8TLfn_v>_0yTWg|i71wE7e`}_@ zdw*y5Si84-0(CP|%h@^F$x(lTE@I+p_I`F1oL{bgF^L^v1(C8lgGxJX>0Nl|tq`+Y zE?2R*un+eikR7W9NRUD}0}1=|WHO$F?>?x=-s3HTBKWu91P9H4$6G~@dB~L6xiU4qOq<#C8m;foV$ZwBX58&vr(fvjyJLP!<6So%dp zn(}A^v2#6ue%$G&04?qivkMn?X&-sl%-5!T3RpLUUg5k8X~f=TaNln%ci@Bm`L_-^ ziH(%q9|TPw9Pbmhg2FQv;hnc!!bh=>4;;^q+-BjRItwcB(2!8Z9v_U!wB3i4gTz(D zAUvwJ;o5r}`@5Uyx9z&+6Fkh)_z5D(cTe^0_qr2fz0=Quy*FJ#99VV3*<8d7!Z`f? z4QH9NY*+Z8)Dw$Hl}}kLk2W7k4a@!&ABF9W*Cn+GA7Dm9krj$?y+XcmyJE%d)?_>Y zN9#CHy!-KwM?z+zqtlBi{W{kkArl1%it4@?iy>7%1T0wQDuiU1_J7*j)j=d+zUVf- zSW9r=UY{W%{OyUp{fAGJN4nwca(1~&mh5JzW*cCVO&r@PZIbOg_iwR;{0Bm_W$!|j zgCvhIDQJJEB|=Km<+_T?KR%rMK?YJOoQDd~4_R5cQ&0e2(Q(R%8#vCEFpdukfwm)n;>UNw^Qz3I(?uRYI#H+yJq#~TsmpzV zqC({u1cy4vpiAOB?URRnmV(R!k718PaB^h}i?wIp?L;wf-9D~h{4QFG}w6CGL0Y?-FujG-yZK;-n#6N9D1oOe|;SXkR z7XZ!ohtFk>4-0<+yWcD9Yiw?G37@(B6%cL1C2|BvPPx)1GpHc_$4I8*>*(V3l6;XS(Jns0SEFkv0D#O%BaY_k(08t@e9 zx}!R>`Ti47 zY51=y7c_Ddp*xJjV})h^pv+$*3c<(@y#2;n_kqsS9X(U-K7?{?aOLQR1K~g%g3;q3%1s13*tz81 zdkf|4g-$2;22J;sCVY~?OnLCBpy|PF*?iNnjyTS{fAiqBRBo{#fz`0kVKmC|CYRk( ztghl+a=NWSI2e(5itiTgmm?3jgL<)2A6Cht;kz}~$JTIb=C&l1=MFs=Dz;7%Lp-9& zRrFJ-{tBIjE>u#mrfDxL%@@M3(cLY&ea0t*+8xHGVl5oC(%g3sJykv)X(N^AqySsd zFmP>v2x!Tt!SAm9{GH6e*S`S=^>)zoO+}V~!VzuYza8w^88n?O|MLx}!|8Cj5VB{G z6DMjx+`G8_MF)tAa|QEXd}G5|;jG{)M#0w*Y5IULrGF)8IyD*wT>n(m_svg zd`hjy4#74_?@ir|8G9syG7cFw~E97$41+0}Dd@YVN_SetQ+D z;JmPLYP3eUvzgg@K^pq`OWuZK&~UiTmY~3`P?0@m6+~)rpITf;i#;2A_KZrx9m&?! zVRSJr8RjP%_^ttHeAfK#2M33Kh*>urTf$ZPl|=Gc7IMw1H9~ozs~h>Q>d_THr$=M7 z{2ypp!N*oCLOFz)kNp{Hu!*s4!d=7ygkOgnh3Y>+bkzsWfDITGi@O3u7mJCcsxn;#D#jcSQ7ThXCEOsE1Tiz1H>@Xpa zvCSRHVw&WpvarVHm$4))kA@Nj4l5Oq}h6K;@bXe)$N@}++O#Gde!~i;~-#l%`b^0?bSqr_L{T8-OW>@7X@6d zu(Gq0e+`>_i{k1O(YcT77RR=rCHmAy3ce$vPeR}d-9p^wOM!Aw5E8?yR6K&JE5^lG zmA3;GyvooYyrgtsOFC`_%@1z7+9@jZ&ey-V&Hv|O@S~UDMYXjGV0U}&u+g~IYiEm6 z{xj|OH?G;3L$R!?Q)iBJ9_nxNF9<><7KP~ z%xUGSj6Lt}kKdB){NTd3O4^%;>*Fg8yF-X;ror2;0|18(ugh0(%-Fd=7r3;d5LBrr zGfq*Xob6tlu(3mO+kXL#H@`X4)9JnhZu{ayT;XlEg2317jryYER1y1FG;AdqbOi#TA9iPj z++}v}0!>PCP-Sf*H>LkdQxdy-=ntEc^&wqqDn^0$Q7=ZpnJo|uE3I%94uDy1L1X4h ziwEsqa`#GZ!l3#=+(i, + # "pubkey": <32-bytes lowercase hex-encoded public key of the event creator>, + # "created_at": , + # "kind": , + # "tags": [ + # [...], + # // ... + # ], + # "content": , + # "sig": <64-bytes lowercase hex of the signature of the sha256 hash of the serialized event data, which is the same as the "id" field> + # } + + # Kind types + KIND_REGULAR = "regular" + KIND_REPLACEABLE = "replaceable" + KIND_EPHEMERAL = "ephemeral" + KIND_ADDRESSABLE = "addressable" + UNKNOWN = "unknown" + + # event mandatory attributes + PUBKEY = "pubkey" + CREATED_AT = "created_at" + KIND = "kind" + TAGS = "tags" + CONTENT = "content" + ID = "id" + + KIND_DESC = { + 0: "User Metadata", + 1: "Short Text Note", + 2: "Recommend Relay (deprecated)", + 3: "Follows", + 4: "Encrypted Direct Messages", + 5: "Event Deletion Request", + 6: "Repost", + 7: "Reaction", + 8: "Badge Award", + 9: "Chat Message", + 10: "Group Chat Threaded Reply (deprecated)", + 11: "Thread", + 12: "Group Thread Reply (deprecated)", + 13: "Seal", + 14: "Direct Message", + 15: "File Message", + 16: "Generic Repost", + 17: "Reaction to a website", + 20: "Picture", + 21: "Video Event", + 22: "Short-form Portrait Video Event", + 30: "internal reference", + 31: "external web reference", + 32: "hardcopy reference", + 33: "prompt reference", + 40: "Channel Creation", + 41: "Channel Metadata", + 42: "Channel Message", + 43: "Channel Hide Message", + 44: "Channel Mute User", + 62: "Request to Vanish", + 64: "Chess (PGN)", + 443: "KeyPackage", + 444: "Welcome Message", + 445: "Group Event", + 818: "Merge Requests", + 1018: "Poll Response", + 1021: "Bid", + 1022: "Bid confirmation", + 1040: "OpenTimestamps", + 1059: "Gift Wrap", + 1063: "File Metadata", + 1068: "Poll", + 1111: "Comment", + 1222: "Voice Message", + 1244: "Voice Message Comment", + 1311: "Live Chat Message", + 1337: "Code Snippet", + 1617: "Patches", + 1621: "Issues", + 1622: "Git Replies (deprecated)", + "1630-1633": "Status", + 1971: "Problem Tracker", + 1984: "Reporting", + 1985: "Label", + 1986: "Relay reviews", + 1987: "AI Embeddings / Vector lists", + 2003: "Torrent", + 2004: "Torrent Comment", + 2022: "Coinjoin Pool", + 4550: "Community Post Approval", + "5000-5999": "Job Request", + "6000-6999": "Job Result", + 7000: "Job Feedback", + 7374: "Reserved Cashu Wallet Tokens", + 7375: "Cashu Wallet Tokens", + 7376: "Cashu Wallet History", + 7516: "Geocache log", + 7517: "Geocache proof of find", + "9000-9030": "Group Control Events", + 9041: "Zap Goal", + 9321: "Nutzap", + 9467: "Tidal login", + 9734: "Zap Request", + 9735: "Zap", + 9802: "Highlights", + 10000: "Mute list", + 10001: "Pin list", + 10002: "Relay List Metadata", + 10003: "Bookmark list", + 10004: "Communities list", + 10005: "Public chats list", + 10006: "Blocked relays list", + 10007: "Search relays list", + 10009: "User groups", + 10012: "Favorite relays list", + 10013: "Private event relay list", + 10015: "Interests list", + 10019: "Nutzap Mint Recommendation", + 10020: "Media follows", + 10030: "User emoji list", + 10050: "Relay list to receive DMs", + 10051: "KeyPackage Relays List", + 10063: "User server list", + 10096: "File storage server list (deprecated)", + 10166: "Relay Monitor Announcement", + 10312: "Room Presence", + 10377: "Proxy Announcement", + 11111: "Transport Method Announcement", + 13194: "Wallet Info", + 17375: "Cashu Wallet Event", + 21000: "Lightning Pub RPC", + 22242: "Client Authentication", + 23194: "Wallet Request", + 23195: "Wallet Response", + 24133: "Nostr Connect", + 24242: "Blobs stored on mediaservers", + 27235: "HTTP Auth", + 30000: "Follow sets", + 30001: "Generic lists (deprecated)", + 30002: "Relay sets", + 30003: "Bookmark sets", + 30004: "Curation sets", + 30005: "Video sets", + 30007: "Kind mute sets", + 30008: "Profile Badges", + 30009: "Badge Definition", + 30015: "Interest sets", + 30017: "Create or update a stall", + 30018: "Create or update a product", + 30019: "Marketplace UI/UX", + 30020: "Product sold as an auction", + 30023: "Long-form Content", + 30024: "Draft Long-form Content", + 30030: "Emoji sets", + 30040: "Curated Publication Index", + 30041: "Curated Publication Content", + 30063: "Release artifact sets", + 30078: "Application-specific Data", + 30166: "Relay Discovery", + 30267: "App curation sets", + 30311: "Live Event", + 30312: "Interactive Room", + 30313: "Conference Event", + 30315: "User Statuses", + 30388: "Slide Set", + 30402: "Classified Listing", + 30403: "Draft Classified Listing", + 30617: "Repository announcements", + 30618: "Repository state announcements", + 30818: "Wiki article", + 30819: "Redirects", + 31234: "Draft Event", + 31388: "Link Set", + 31890: "Feed", + 31922: "Date-Based Calendar Event", + 31923: "Time-Based Calendar Event", + 31924: "Calendar", + 31925: "Calendar Event RSVP", + 31989: "Handler recommendation", + 31990: "Handler information", + 32267: "Software Application", + 34550: "Community Definition", + 37516: "Geocache listing", + 38172: "Cashu Mint Announcement", + 38173: "Fedimint Announcement", + 38383: "Peer-to-peer Order events", + "39000-9": "Group metadata events", + 39089: "Starter packs", + 39092: "Media starter packs", + 39701: "Web bookmarks", + } + + # May have different meanings depending on the kind number + TAGS_DESC = { + "a": "coordinates to an event", + "A": "root address", + "d": "identifier", + "e": "event id (hex)", + "E": "root event id", + "f": "currency code", + "g": "geohash", + "h": "group id", + "i": "external identity", + "I": "root external identity", + "k": "kind", + "K": "root scope", + "l": "label, label namespace, language name", + "L": "label namespace", + "m": "MIME type", + "p": "pubkey (hex)", + "P": "pubkey (hex)", + "q": "event id (hex)", + "r": "url / relay url", + "s": "status", + "t": "hashtag", + "u": "url", + "x": "hash", + "y": "platform", + "z": "order number", + "-": "protected", + "alt": "summary", + "amount": "millisatoshis, stringified", + "bolt11": "bolt11 invoice", + "challenge": "challenge string", + "client": "name, address", + "clone": "git clone URL", + "content-warning": "reason", + "delegation": "pubkey, conditions, delegation token", + "dep": "Required dependency", + "description": "description", + "emoji": "shortcode, image URL", + "encrypted": "--", + "extension": "File extension", + "expiration": "unix timestamp (string)", + "file": "full path (string)", + "goal": "event id (hex)", + "HEAD": "ref: refs/heads/", + "image": "image URL", + "imeta": "inline metadata", + "license": "License of the shared content", + "lnurl": "bech32 encoded lnurl", + "location": "location string", + "name": "name", + "nonce": "random", + "preimage": "hash of bolt11 invoice", + "price": "price", + "proxy": "external ID", + "published_at": "unix timestamp (string)", + "relay": "relay url", + "relays": "relay list", + "repo": "Reference to the origin repository", + "runtime": "Runtime or environment specification", + "server": "file storage server url", + "subject": "subject", + "summary": "summary", + "thumb": "badge thumbnail", + "title": "title", + "tracker": "torrent tracker URL", + "web": "webpage URL", + "zap": "pubkey (hex), relay URL", + } + + @classmethod + def get_kind_type(cls, n: int): + """The type of the kind""" + if n < 0 or n > 65535: + raise ValueError("Kind number must be greater than 0 and lower than 65535!") + if 1000 <= n < 10000 or 4 <= n < 45 or n in (1, 2): + return cls.KIND_REGULAR + if 10000 <= n < 20000 or n in (0, 3): + return cls.KIND_REPLACEABLE + if 20000 <= n < 30000: + return cls.KIND_EPHEMERAL + if 30000 <= n < 40000: + return cls.KIND_ADDRESSABLE + return cls.UNKNOWN + + @classmethod + def get_kind_desc(cls, n: int): + """The meaning of the event""" + try: + return cls.KIND_DESC[n] + except: + if 1630 >= n <= 1633: + return cls.KIND_DESC["1630-1633"] + if 5000 >= n <= 5999: + return cls.KIND_DESC["5000-5999"] + if 6000 >= n <= 6999: + return cls.KIND_DESC["6000-6999"] + if 9000 >= n <= 9030: + return cls.KIND_DESC["9000-9030"] + if 39000 >= n <= 39009: + return cls.KIND_DESC["39000-9"] + + return cls.UNKNOWN + + @classmethod + def get_tag(cls, txt: str): + """The meaning of the tag (may vary depending on the kind)""" + try: + return cls.TAGS_DESC[txt] + except: + return cls.UNKNOWN + + @classmethod + def parse_event(cls, txt: str): + """ + Parse a JSON-encoded event string and validate required attributes + Returns the parsed dict if valid or raise Error + """ + json_content = json.loads(txt) + expected_attrs = { + cls.PUBKEY, + cls.CREATED_AT, + cls.KIND, + cls.TAGS, + cls.CONTENT, + cls.ID, + } + + missing = expected_attrs - set(json_content.keys()) + if missing: + raise ValueError("Missing expected attributes: %s." % ", ".join(missing)) + + return json_content + + @classmethod + def serialize_event(cls, event_dict: dict): + """UTF-8 JSON-serialized string as defined in NIP-01""" + data = [ + 0, + event_dict[cls.PUBKEY], + event_dict[cls.CREATED_AT], + event_dict[cls.KIND], + event_dict[cls.TAGS], + event_dict[cls.CONTENT], + ] + return json.dumps(data).replace(", ", ",").replace(": ", ":") + + @classmethod + def validate_id(cls, event_dict: dict, serialized_event: str): + """Validates informed id with calculated one""" + if event_dict[cls.ID] != cls._calculate_id(serialized_event): + raise ValueError("Attribute id do not match calculated.") + return True + + @staticmethod + def _calculate_id(serialized_event: str): + """Calculates the id field of the event""" + return hexlify(hashlib.sha256(serialized_event.encode()).digest()).decode() + + @staticmethod + def sign_event(root, serialized_event: str): + """Sign a serialized_event""" + return str( + root.schnorr_sign(hashlib.sha256(serialized_event.encode()).digest()) + ) + + +# ------------------- + + +class NostrKey: + """Store and convert Nostr keys""" + + def __init__(self): + self.set() + + def set(self, key="", value=None): + """Set key type and its value""" + self.key = key + self.value = value + + def load_nsec(self, nsec: str): + """Load a key in nsec format""" + if len(nsec) != NSEC_SIZE: + raise ValueError("NSEC key must be %d chars!" % NSEC_SIZE) + _, hrp, _ = bech32.bech32_decode(nsec) + if hrp != NSEC: + raise ValueError("Not an nsec key!") + self.set(NSEC, nsec) + + def load_hex(self, hex: str): + """Load a key in hex format""" + if len(hex) != HEX_SIZE: + raise ValueError("Hex key must be %d chars!" % HEX_SIZE) + # try decoding + unhexlify(hex) + self.set(HEX, hex) + + def load_mnemonic(self, mnemonic: str): + """Load a mnemonic, will assume it is valid""" + self.set(MNEMONIC, mnemonic) + + def is_loaded(self): + """If a key was loaded""" + return self.key != "" + + def is_mnemonic(self): + """If loaded key is mnemonic""" + return self.key == MNEMONIC + + @staticmethod + def _encode_bech32(data: bytes, version: str): + """Encode bytes into a bech32 string with given version""" + converted_data = bech32.convertbits(data, 8, 5) + return bech32.bech32_encode(bech32.Encoding.BECH32, version, converted_data) + + @staticmethod + def _decode_bech32(bech: str): + """Decode a bech32 string returning bytes""" + _, _, data = bech32.bech32_decode(bech) + if not data: + raise ValueError("Invalid bech32 data") + raw = bech32.convertbits(data, 5, 8, False) + return bytes(raw) + + def _mnemonic_to_nip06_key(self): + root = bip32.HDKey.from_seed(bip39.mnemonic_to_seed(self.value)) + return root.derive(NIP06_PATH) + + def get_private_key(self): + if self.is_mnemonic(): + return self._mnemonic_to_nip06_key() + hex_key = self.value if self.key == HEX else self.get_hex() + return PrivateKey(unhexlify(hex_key)) + + def _get_pub_xonly(self): + return self.get_private_key().get_public_key().xonly() + + def get_hex(self): + """Return key in hex format""" + if self.key == HEX: + return self.value + if self.key == NSEC: + return hexlify(NostrKey._decode_bech32(self.value)).decode() + # is mnemonic + nostr_root = self._mnemonic_to_nip06_key() + return hexlify(nostr_root.secret).decode() + + def get_nsec(self): + """Return key in nsec format""" + if self.key == NSEC: + return self.value + if self.key == HEX: + return NostrKey._encode_bech32(unhexlify(self.value), NSEC) + # is mnemonic + nostr_root = self._mnemonic_to_nip06_key() + return NostrKey._encode_bech32(nostr_root.secret, NSEC) + + def get_pub_hex(self): + """Return pubkey in hex format""" + if self.key in (HEX, NSEC): + pub_bytes = self._get_pub_xonly() + return hexlify(pub_bytes).decode() + # is mnemonic + nostr_root = self._mnemonic_to_nip06_key() + return hexlify(nostr_root.xonly()).decode() + + def get_npub(self): + """Return pubkey in npub format""" + if self.key in (HEX, NSEC): + pub_bytes = self._get_pub_xonly() + return NostrKey._encode_bech32(pub_bytes, NPUB) + # is mnemonic + nostr_root = self._mnemonic_to_nip06_key() + return NostrKey._encode_bech32(nostr_root.xonly(), NPUB) + + +# ------------------- + + +class KMenu(Menu): + """Customizes the page's menu""" + + def __init__( + self, + ctx, + menu, + offset=None, + disable_statusbar=False, + back_label="Back", + back_status=lambda: MENU_EXIT, + ): + super().__init__(ctx, menu, offset, disable_statusbar, back_label, back_status) + self.disable_statusbar = False + if offset is None: + self.menu_offset = STATUS_BAR_HEIGHT + else: + # Always disable status bar if menu has non standard offset + self.disable_statusbar = True + self.menu_offset = offset if offset >= 0 else DEFAULT_PADDING + + def new_draw_wallet_indicator(self): + """Customize the top bar""" + text = NAME + if nostrKey.is_loaded(): + if nostrKey.is_mnemonic(): + text = Key.extract_fingerprint(nostrKey.value) + else: + text = nostrKey.value[:9] + ELLIPSIS + + if not kboard.is_m5stickv: + self.ctx.display.draw_hcentered_text( + text, + STATUS_BAR_HEIGHT - FONT_HEIGHT - 1, + theme.highlight_color, + theme.info_bg_color, + ) + else: + self.ctx.display.draw_string( + 24, + STATUS_BAR_HEIGHT - FONT_HEIGHT - 1, + text, + theme.highlight_color, + theme.info_bg_color, + ) + + def new_draw_network_indicator(self): + """Don't draw testnet""" + + Menu.draw_wallet_indicator = new_draw_wallet_indicator + Menu.draw_network_indicator = new_draw_network_indicator + + +# ------------------- + + +class Klogin(Login): + """Page to load a Nostr the Key""" + + def __init__(self, ctx): + super().__init__(ctx) + shtn_reboot_label = t("Shutdown") if kboard.has_battery else t("Reboot") + self.menu = KMenu( + ctx, + [ + (t("Load Mnemonic"), self.load_key), + (t("New Mnemonic"), self.new_key), + (t("Load nsec or hex"), self.load_nsec), + (t("About"), self.about), + (shtn_reboot_label, self.shutdown), + ], + back_label=None, + ) + + def _load_wallet_key(self, mnemonic): + nostrKey.load_mnemonic(mnemonic) + self.ctx.wallet = Wallet(Key(mnemonic, TYPE_SINGLESIG, NETWORKS[MAIN_TXT])) + + return MENU_EXIT + + def load_nsec(self): + """Load nsec or hex menu item""" + + submenu = Menu( + self.ctx, + [ + (t("QR Code"), self._load_nostr_priv_cam), + (t("Via Manual Input"), self._pre_load_nostr_priv_manual), + ( + t("Load from SD card"), + None if not self.has_sd_card() else self._load_nostr_priv_sd, + ), + ], + ) + index, status = submenu.run_loop() + if index == len(submenu.menu) - 1: + return MENU_CONTINUE + return status + + def _pre_load_nostr_priv_manual(self): + submenu = Menu( + self.ctx, + [ + (NSEC, lambda ver=NSEC: self._load_nostr_priv_manual(ver)), + (HEX, lambda ver=HEX: self._load_nostr_priv_manual(ver)), + ], + ) + index, status = submenu.run_loop() + if index == len(submenu.menu) - 1: + return MENU_CONTINUE + return status + + def _load_nostr_priv_cam(self): + from krux.pages.qr_capture import QRCodeCapture + + error_msg = t("Failed to load") + qr_capture = QRCodeCapture(self.ctx) + data, _ = qr_capture.qr_capture_loop() + if data is None: + self.flash_error(error_msg) + return MENU_CONTINUE + + try: + data = data.decode() if not isinstance(data, str) else data + except: + self.flash_error(error_msg) + return MENU_CONTINUE + + return self._load_nostr_priv_key(data) + + def _load_nostr_priv_manual(self, version): + title = t("Private Key") + + data = "" + if version == NSEC: + data = NSEC + + while True: + if version == NSEC: + data = self.capture_from_keypad( + title, [LETTERS, DIGITS], starting_buffer=data + ) + else: + data = self.capture_from_keypad( + title, [DIGITS_HEX], starting_buffer=data + ) + + if data == ESC_KEY: + return MENU_CONTINUE + + if self._load_nostr_priv_key(data) == MENU_EXIT: + return MENU_EXIT + + def _load_nostr_priv_sd(self): + from krux.pages.utils import Utils + + # Prompt user for file + filename, _ = Utils(self.ctx).load_file(prompt=False, only_get_filename=True) + + if not filename: + return MENU_CONTINUE + + from krux.sd_card import SDHandler + + data = "" + try: + with SDHandler() as sd: + data = sd.read(filename) + + data = data.replace("\r\n", "").replace("\n", "") + except: + self.flash_error(t("Failed to load")) + return MENU_CONTINUE + + return self._load_nostr_priv_key(data) + + def _load_nostr_priv_key(self, data: str): + data = data.lower() + + self.ctx.display.clear() + self.ctx.display.draw_hcentered_text( + t("Private Key") + ":\n\n" + data, max_lines=10, highlight_prefix=":" + ) + if not self.prompt( + t("Proceed?"), + BOTTOM_PROMPT_LINE, + ): + return MENU_CONTINUE + + if data.startswith(NSEC): + nostrKey.load_nsec(data) + else: + nostrKey.load_hex(data) + + return MENU_EXIT + + # NIP-06 and NIP-19 + # mnemonic and nsec/npub + def about(self): + """Handler for the 'about' menu item""" + + self.ctx.display.clear() + self.ctx.display.draw_centered_text( + "Kapp %s\n%s: %s\n\n" % (NAME, t("Version"), VERSION) + + t("Load or create a key to sign events. Works with NIP-06 and NIP-19.") + ) + self.ctx.input.wait_for_button() + return MENU_CONTINUE + + +# ------------------- + + +class Khome(Home): + """The page after loading the Key""" + + def __init__(self, ctx): + super().__init__(ctx) + + shtn_reboot_label = t("Shutdown") if kboard.has_battery else t("Reboot") + self.menu = KMenu( + ctx, + [ + ( + t("Backup Mnemonic"), + ( + self.backup_mnemonic + if not Settings().security.hide_mnemonic + and nostrKey.is_mnemonic() + else None + ), + ), + (t("Nostr Keys"), self.nostr_keys), + (t("Sign Event"), self.sign_event), + (shtn_reboot_label, self.shutdown), + ], + back_label=None, + ) + + def sign_event(self): + """Handler for Sign Event menu item""" + from krux.pages.home_pages.sign_message_ui import SignMessage + + sing_message = SignMessage(self.ctx) + data, qr_format, message_filename = sing_message._load_message() + + self.ctx.display.clear() + self.ctx.display.draw_centered_text(t("Processing…")) + + # memory management + del sing_message + gc.collect() + + if data is None: + self.flash_error(t("Failed to load")) + return MENU_CONTINUE + + # SD + if message_filename: + data = data.decode() + + pe = NostrEvent.parse_event(data) + se = NostrEvent.serialize_event(pe) + NostrEvent.validate_id(pe, se) + + submenu = Menu( + self.ctx, + [ + (t("Review Again"), lambda: None), + (t("Sign to QR code"), lambda: None), + ( + t("Sign to SD card"), + None if not self.has_sd_card() else lambda: None, + ), + ], + back_status=lambda: None, + ) + index = 0 + + while index == 0: # Review Again + self._show_event(pe) + index, _ = submenu.run_loop() + + if index == submenu.back_index: # Back + return MENU_CONTINUE + + self.ctx.display.clear() + self.ctx.display.draw_centered_text(t("Signing…")) + + # memory management + del pe + del submenu + gc.collect() + + signed_event = NostrEvent.sign_event(nostrKey.get_private_key(), se) + + if index == 1: # Sign to QR code + from krux.pages.utils import Utils + + utils = Utils(self.ctx) + + while True: + self.display_qr_codes(signed_event, qr_format) + utils.print_standard_qr( + signed_event, qr_format, t("Signed Event"), width=45 + ) + self.ctx.display.clear() + if self.prompt(t("Done?"), self.ctx.display.height() // 2): + return MENU_CONTINUE + + # index == 2: Sign to SD card + from krux.sd_card import SDHandler, SIGNED_FILE_SUFFIX, SIGNATURE_FILE_EXTENSION + from krux.pages.file_operations import SaveFile + + save_page = SaveFile(self.ctx) + message_filename = save_page.set_filename( + message_filename, + "QRCode", + SIGNED_FILE_SUFFIX, + SIGNATURE_FILE_EXTENSION, + ) + + if message_filename and message_filename != ESC_KEY: + try: + with SDHandler() as sd: + sd.write(message_filename, signed_event) + self.flash_text( + t("Saved to SD card:") + "\n\n%s" % message_filename, + highlight_prefix=":", + ) + return MENU_CONTINUE + except OSError: + self.flash_error(t("SD card not detected.")) + + return MENU_CONTINUE + + def _show_event(self, pe: dict): + created = time.localtime(pe[NostrEvent.CREATED_AT]) + kind = pe[NostrEvent.KIND] + unique_tags = {item[0] for item in pe[NostrEvent.TAGS]} + txt = t("Created:") + txt += " %s-%02d-%02d %02d:%02d" % created[:5] + txt += "\n\n" + + txt += t("Kind:") + txt += " %d %s {%s}" % ( + kind, + NostrEvent.get_kind_desc(kind), + NostrEvent.get_kind_type(kind), + ) + txt += "\n\n" + + txt += t("Tags:") + if unique_tags: + txt += " " + ", ".join( + "'%s' %s" % (tag, NostrEvent.get_tag(tag)) for tag in unique_tags + ) + txt += "\n\n" + txt += " | ".join(", ".join(sublist) for sublist in pe[NostrEvent.TAGS]) + txt += "\n\n" + + txt += t("Content:") + txt += " %s" % pe[NostrEvent.CONTENT] + + offset_x = ( + DEFAULT_PADDING + if not kboard.is_m5stickv + else (self.ctx.display.width() % FONT_WIDTH) // 2 + ) + + startpos = endpos = 0 + txt_size = len(txt) + prefixes = [t("Created:"), t("Kind:"), t("Tags:"), t("Content:")] + while True: + lines, endpos = self.ctx.display.to_lines_endpos(txt[startpos:]) + self.ctx.display.clear() + for i, line in enumerate(lines): + self.ctx.display.draw_string( + offset_x, + (i * (FONT_HEIGHT)), + line, + ) + if any(line.startswith(p) for p in prefixes): + prefixes.pop(0) + prefix_index = line.find(":") + if prefix_index > -1: + self.ctx.display.draw_string( + offset_x, + (i * (FONT_HEIGHT)), + line[: prefix_index + 1], + theme.highlight_color, + ) + startpos += endpos + self.ctx.input.wait_for_fastnav_button() + if startpos >= txt_size: + break + + def nostr_keys(self): + """Handler for Nostr Keys menu item""" + submenu = Menu( + self.ctx, + [ + ( + t("Private Key"), + lambda: self.show_key_formats([NSEC, PRIV_HEX]), + ), + (t("Public Key"), lambda: self.show_key_formats([NPUB, PUB_HEX])), + ], + ) + index, status = submenu.run_loop() + if index == len(submenu.menu) - 1: + return MENU_CONTINUE + return status + + def show_key_formats(self, versions): + """Create menu to select Nostr keys in text or QR""" + + def _nostr_key_text(version): + def _save_nostr_to_sd(version): + from krux.pages.file_operations import SaveFile + + save_page = SaveFile(self.ctx) + title = version + FILE_SUFFIX + save_page.save_file( + self._get_nostr_key(version), + title, + title, + title + ":", + FILE_EXTENSION, + save_as_binary=False, + ) + + nostr_text_menu_items = [ + ( + t("Save to SD card"), + ( + None + if not self.has_sd_card() + else lambda ver=version: _save_nostr_to_sd(ver) + ), + ), + ] + full_nostr_key = ( + self._get_nostr_title(version) + + ":\n\n" + + str(self._get_nostr_key(version)) + ) + menu_offset = 5 + len(self.ctx.display.to_lines(full_nostr_key)) + menu_offset *= FONT_HEIGHT + nostr_key_menu = Menu(self.ctx, nostr_text_menu_items, offset=menu_offset) + self.ctx.display.clear() + self.ctx.display.draw_hcentered_text( + full_nostr_key, + offset_y=FONT_HEIGHT, + info_box=True, + highlight_prefix=":", + ) + nostr_key_menu.run_loop() + + def _nostr_key_qr(version): + title = self._get_nostr_title(version) + nostr_key = str(self._get_nostr_key(version)) + from krux.pages.qr_view import SeedQRView + + seed_qr_view = SeedQRView(self.ctx, data=nostr_key, title=title) + seed_qr_view.display_qr(allow_export=True, transcript_tools=False) + + pub_key_menu_items = [] + for version in versions: + title = version if version not in (PRIV_HEX, PUB_HEX) else HEX + pub_key_menu_items.append( + (title + " - " + t("Text"), lambda ver=version: _nostr_key_text(ver)) + ) + pub_key_menu_items.append( + (title + " - " + t("QR Code"), lambda ver=version: _nostr_key_qr(ver)) + ) + pub_key_menu = Menu(self.ctx, pub_key_menu_items) + while True: + _, status = pub_key_menu.run_loop() + if status == MENU_EXIT: + break + + return MENU_CONTINUE + + def _get_nostr_title(self, version): + if version == NPUB: + return "Public Key npub" + if version == PUB_HEX: + return "Public Key hex" + if version == NSEC: + return "Private Key nsec" + return "Private Key hex" + + def _get_nostr_key(self, version): + if version == NPUB: + return nostrKey.get_npub() + if version == NSEC: + return nostrKey.get_nsec() + if version == PRIV_HEX: + return nostrKey.get_hex() + return nostrKey.get_pub_hex() + + +# ------------------- + + +def run(ctx): + """Runs this kapp""" + + Klogin(ctx).run() + + if nostrKey.is_loaded(): + Khome(ctx).run() + + +nostrKey = NostrKey() + +# use try / catch and threat exceptions to avoid error? +# Could not execute nostr diff --git a/kapps/steganography.mpy b/kapps/steganography.mpy new file mode 100644 index 0000000000000000000000000000000000000000..6c2bc9060543d5b5ed27a6e27b2b2351b039cfbe GIT binary patch literal 6938 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 KCE<#??tcK314}Ld literal 0 HcmV?d00001 diff --git a/kapps/steganography.py b/kapps/steganography.py new file mode 100644 index 000000000..cd3ad486b --- /dev/null +++ b/kapps/steganography.py @@ -0,0 +1,570 @@ +# The MIT License (MIT) + +# Copyright (c) 2021-2024 Krux contributors + +# Permission is hereby granted, free of charge, to any person obtaining a copy +# of this software and associated documentation files (the "Software"), to deal +# in the Software without restriction, including without limitation the rights +# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +# copies of the Software, and to permit persons to whom the Software is +# furnished to do so, subject to the following conditions: + +# The above copyright notice and this permission notice shall be included in +# all copies or substantial portions of the Software. + +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +# THE SOFTWARE. +import os + +# avoids importing from flash VSF +os.chdir("/") + +VERSION = "1.0" +NAME = "Steganography" + +from krux.pages import ( + Menu, + MENU_CONTINUE, + MENU_EXIT, + ESC_KEY, + LETTERS, + UPPERCASE_LETTERS, + NUM_SPECIAL_1, + NUM_SPECIAL_2, +) +from krux.krux_settings import t +from krux.display import ( + STATUS_BAR_HEIGHT, + FONT_HEIGHT, + DEFAULT_PADDING, + BOTTOM_PROMPT_LINE, +) +from krux.themes import theme +from krux.kboard import kboard +from krux.wdt import wdt +from krux.pages.device_tests import DeviceTests +from krux.sd_card import BMP_IMAGE_EXTENSION +from krux.pages.file_operations import SaveFile +from krux.settings import SD_PATH +from krux.pages.utils import Utils +import image +import lcd +import gc + + +# 16 bits - 2 bytes - 565 +# 65535 - white 1111 1111 1111 1111 +# 248 - red 0000 0000 1111 1000 +# 57351 - green 1110 0000 0000 0111 +# 7936 - blue 0001 1111 0000 0000 + +PAYLOAD_LEN_BYTES = 3 # sufficient to ~4000x4000 px (OOM already with 600x550 px) +PAYLOAD_ENDIAN = "big" + +LSB_SHIFTS = [13, 3, 8] # 13G, 3R, 8B +BITS_PER_PIXEL = len(LSB_SHIFTS) +MASKS = [1 << s for s in LSB_SHIFTS] + +# ------------------- + + +class KMenu(Menu): + """Customizes the page's menu""" + + def __init__( + self, + ctx, + menu, + offset=None, + disable_statusbar=False, + back_label="Back", + back_status=lambda: MENU_EXIT, + ): + super().__init__(ctx, menu, offset, disable_statusbar, back_label, back_status) + self.disable_statusbar = False + if offset is None: + self.menu_offset = STATUS_BAR_HEIGHT + else: + # Always disable status bar if menu has non standard offset + self.disable_statusbar = True + self.menu_offset = offset if offset >= 0 else DEFAULT_PADDING + + def new_draw_wallet_indicator(self): + """Customize the top bar""" + if not kboard.is_m5stickv: + self.ctx.display.draw_hcentered_text( + NAME, + STATUS_BAR_HEIGHT - FONT_HEIGHT - 1, + theme.highlight_color, + theme.info_bg_color, + ) + else: + self.ctx.display.draw_string( + 24, + STATUS_BAR_HEIGHT - FONT_HEIGHT - 1, + NAME, + theme.highlight_color, + theme.info_bg_color, + ) + + def new_draw_network_indicator(self): + """Don't draw testnet""" + + # Overwrite Menu top bar functions to allow code reuse + Menu.draw_wallet_indicator = new_draw_wallet_indicator + Menu.draw_network_indicator = new_draw_network_indicator + + +# ------------------- + + +class Kapp(DeviceTests): + """Represents the page of the kapp""" + + def __init__(self, ctx): + shtn_reboot_label = ( + t("Shutdown") if ctx.power_manager.has_battery() else t("Reboot") + ) + super().__init__( + ctx, + ) + self.menu = KMenu( + ctx, + [ + (t("BMP Via Camera"), self.camera), + (t("SD Card"), self.sd_menu), + (t("Hide Data in BMP"), self.hide_menu), + (t("Reveal Data"), self.reveal_menu), + (t("About"), self.about), + (shtn_reboot_label, self.shutdown), + ], + back_label=None, + ) + + def camera(self): + """Capture a BMP by camera""" + self.ctx.display.clear() + self.ctx.display.draw_centered_text(t("TOUCH or ENTER to capture")) + self.ctx.display.to_landscape() + self.ctx.camera.initialize_run() + self.ctx.display.clear() + + # Flush events ocurred while loading camera + self.ctx.input.reset_ios_state() + + leave = False + while True: + wdt.feed() + + img = self.ctx.camera.snapshot() + + if self.ctx.input.enter_event() or self.ctx.input.touch_event( + validate_position=False + ): + break + if self.ctx.input.page_event() or self.ctx.input.page_prev_event(): + leave = True + break + + self.ctx.display.render_image(img) + + self.ctx.display.to_portrait() + self.ctx.camera.stop_sensor() + + # User cancelled + if leave: + self.flash_error(t("Capture cancelled")) + return MENU_CONTINUE + + self.ctx.input.reset_ios_state() + if self.prompt( + t("Save to SD card?"), + BOTTOM_PROMPT_LINE, + ): + sf = SaveFile(self.ctx) + new_filename = sf.set_filename( + empty_filename="photo", + file_extension=BMP_IMAGE_EXTENSION, + ) + + if new_filename == ESC_KEY: + return MENU_CONTINUE + + # if user defined a filename and it is ok, save! + if new_filename: + # clear and say something to the user + self.ctx.display.clear() + self.ctx.display.draw_centered_text(t("Processing…")) + + # Now save the file + img.save("/%s/%s" % (SD_PATH, new_filename)) + + # Show the user the filename + self.flash_text( + t("Saved to SD card:") + "\n\n%s" % new_filename, + highlight_prefix=":", + ) + return MENU_CONTINUE + else: + self.flash_error(t("Capture cancelled")) + + return MENU_CONTINUE + + def sd_menu(self): + """Handler for the 'SD card' menu item""" + submenu = Menu( + self.ctx, + [ + (t("Check SD Card"), self.sd_check), + (t("View BMP"), self.view), + ], + ) + index, status = submenu.run_loop() + if index == submenu.back_index: + return MENU_CONTINUE + return status + + def view(self): + """Handler for the 'View BMP' menu item""" + if not self.has_sd_card(): + self.flash_error(t("SD card not detected.")) + return MENU_CONTINUE + + utils = Utils(self.ctx) + img_path, _ = utils.load_file( + file_ext=BMP_IMAGE_EXTENSION, + prompt=False, + only_get_filename=True, + ) + + # pressed Back, no file selected + if img_path == "": + return MENU_CONTINUE + + self.ctx.display.clear() + # idea: use img.width(), img.height() to rotate or not + self.ctx.display.to_landscape() + try: + img = image.Image("/%s/%s" % (SD_PATH, img_path)) + lcd.display(img) + except: + self.ctx.display.to_portrait() + self.flash_error(t("Image is too big!")) + return MENU_CONTINUE + + self.ctx.input.wait_for_button() + self.ctx.display.to_portrait() + return MENU_CONTINUE + + def about(self): + """Handler for the 'about' menu item""" + + self.ctx.display.clear() + self.ctx.display.draw_centered_text( + "Kapp %s\n%s: %s\n\n" % (NAME, t("Version"), VERSION) + + t("Conceal data within BMP.") + ) + self.ctx.input.wait_for_button() + return MENU_CONTINUE + + def hide_menu(self): + """Handler for the 'Hide Data in BMP' menu item""" + self.ctx.display.clear() + self.ctx.display.draw_centered_text(t("Provide the data to hide")) + if not self.prompt(t("Proceed?"), BOTTOM_PROMPT_LINE): + return MENU_CONTINUE + + submenu = KMenu( + self.ctx, + [ + (t("Via Camera"), self.scan_qr), + (t("Via Manual Input"), self.text_entry), + (t("From Storage"), self.read_file), + ], + ) + index, status = submenu.run_loop() + if index == submenu.back_index or status == MENU_CONTINUE: + return MENU_CONTINUE + + secret = status + + self.ctx.display.clear() + self.ctx.display.draw_centered_text(t("Select the BMP file")) + if not self.prompt(t("Proceed?"), BOTTOM_PROMPT_LINE): + return MENU_CONTINUE + + if not self.has_sd_card(): + self.flash_error(t("SD card not detected.")) + return MENU_CONTINUE + + utils = Utils(self.ctx) + img_path, _ = utils.load_file( + file_ext=BMP_IMAGE_EXTENSION, + prompt=False, + only_get_filename=True, + ) + + # pressed Back, no file selected + if img_path == "": + return MENU_CONTINUE + + split_img_path = img_path.split("/") + sf = SaveFile(self.ctx) + new_filename = sf.set_filename( + curr_filename=split_img_path[-1], + file_extension=BMP_IMAGE_EXTENSION, + suffix="-hid", + ) + + if new_filename == ESC_KEY: + return MENU_CONTINUE + + # if user defined a filename and it is ok, save! + if new_filename: + # clear and say something to the user + self.ctx.display.clear() + self.ctx.display.draw_centered_text(t("Processing…")) + + new_filename_path = SD_PATH + "/" + if len(split_img_path) > 1: + new_filename_path += "/".join(split_img_path[:-1]) + "/" + new_filename_path += new_filename + + self.hide_data(secret, "/%s/%s" % (SD_PATH, img_path), new_filename_path) + gc.collect() + + # Show the user the filename + self.flash_text( + t("Saved to SD card:") + "\n\n%s" % new_filename, + highlight_prefix=":", + ) + + retrieved = self.extract_data(new_filename_path) + if retrieved != secret: + self.flash_error(t("Could not retrieve secret from %s") % new_filename) + + return MENU_CONTINUE + + def hide_data(self, secret: bytes, cover_path: str, stego_path: str): + """Hide secret into cover_path file and output result to stego_path file""" + + def _bits_generator(payload): + for b in payload: + # for every bit in a byte + for i in range(7, -1, -1): + yield (b >> i) & 1 + + try: + img = image.Image(cover_path) + except: + self.flash_error(t("Image is too big!")) + return MENU_CONTINUE + w, h = img.width(), img.height() + + payload = len(secret).to_bytes(PAYLOAD_LEN_BYTES, PAYLOAD_ENDIAN) + secret + bit_gen = _bits_generator(payload) + bits_needed = len(payload) * 8 # each char in binary is 1 byte + pixels_needed = -(-bits_needed // BITS_PER_PIXEL) # ceil of division + if pixels_needed > w * h: + raise ValueError("Need %s px, image has %s" % (pixels_needed, w * h)) + + # encode all bits in the img + bit_idx = 0 + for y in range(h): + for x in range(w): + if bit_idx >= bits_needed: + break + pixel = img.get_pixel(x, y, rgbtuple=False) # raw 16-bit int + + for i in range(BITS_PER_PIXEL): + if bit_idx >= bits_needed: + break + try: + bit = next(bit_gen) + except StopIteration: + break + shift = LSB_SHIFTS[i] + mask = MASKS[i] + pixel = (pixel & ~mask) | (bit << shift) + bit_idx += 1 + img.set_pixel(x, y, pixel) + if bit_idx >= bits_needed: + break + + img.save(stego_path) + return MENU_CONTINUE + + def extract_data(self, stego_path: str): + """Return secret extracted from stego_path""" + try: + img = image.Image(stego_path) + except: + self.flash_error(t("Image is too big!")) + return MENU_CONTINUE + w, h = img.width(), img.height() + + # Read total_bits length + payload_len = 0 + bits_read = 0 + pos_x = pos_y = 0 + total_bits = PAYLOAD_LEN_BYTES * 8 + while bits_read < total_bits: + pixel = img.get_pixel(pos_x, pos_y, rgbtuple=False) + + for i in range(BITS_PER_PIXEL): + if bits_read >= total_bits: + break + shift = LSB_SHIFTS[i] + bit = (pixel >> shift) & 1 + payload_len = (payload_len << 1) | bit + bits_read += 1 + + # Advance position + pos_x += 1 + if pos_x >= w: + pos_x = 0 + pos_y += 1 + if pos_y >= h: + raise ValueError("Not enough px to retrieve data") + + # Read payload byte-by-byte + payload = bytearray() + cur = cur_bits = 0 + total_bits = 0 + bits_needed = payload_len * 8 + while total_bits < bits_needed: + pixel = img.get_pixel(pos_x, pos_y, rgbtuple=False) + + for i in range(BITS_PER_PIXEL): + if total_bits >= bits_needed: + break + shift = LSB_SHIFTS[i] + bit = (pixel >> shift) & 1 + cur = (cur << 1) | bit + cur_bits += 1 + + if cur_bits == 8: + payload.append(cur) + total_bits += 8 + cur = cur_bits = 0 + + # Advance position + pos_x += 1 + if pos_x >= w: + pos_x = 0 + pos_y += 1 + if pos_y >= h: + break + + if len(payload) < payload_len: + raise ValueError("Payload truncated") + return bytes(payload[:payload_len]) + + def reveal_menu(self): + """Handler for the 'Reveal Data' menu item""" + utils = Utils(self.ctx) + img_path, _ = utils.load_file( + file_ext=BMP_IMAGE_EXTENSION, + prompt=False, + only_get_filename=True, + ) + + # pressed Back, no file selected + if img_path == "": + return MENU_CONTINUE + + secret = self.extract_data("/%s/%s" % (SD_PATH, img_path)) + + self.ctx.display.clear() + if not secret or secret == b"\x00": + self.flash_error(t("No secret found!")) + return MENU_CONTINUE + + self.flash_text(t("Found secret:") + "\n%s bytes" % len(secret)) + + from krux.pages.datum_tool import DatumTool + + page = DatumTool(self.ctx) + page.contents = secret + page.title = img_path.rsplit("/", 1)[-1] + return page.view_contents() + + def scan_qr(self): + """Handler for the 'Scan a QR' menu item""" + + from krux.pages.qr_capture import QRCodeCapture + import urtypes + + qr_scanner = QRCodeCapture(self.ctx) + contents, fmt = qr_scanner.qr_capture_loop() + if contents is None: + self.flash_error(t("Failed to load")) + return MENU_CONTINUE + + if fmt == 2: + if contents.type == "bytes": + contents = urtypes.bytes.Bytes.from_cbor(contents.cbor).data + + if isinstance(contents, str): + contents = contents.encode("utf-8") + + return contents + + def text_entry(self): + """Handler for the 'Text Entry' menu item""" + + text = "" + while True: + # Loop until user types a valid data or press ESC + text = self.capture_from_keypad( + t("Filename"), + [LETTERS, UPPERCASE_LETTERS, NUM_SPECIAL_1, NUM_SPECIAL_2], + starting_buffer=text, + ) + + if text == ESC_KEY: + return MENU_CONTINUE + + self.ctx.display.clear() + self.ctx.display.draw_centered_text( + t("Proceed?") + " " + text, highlight_prefix="?" + ) + if self.prompt("", BOTTOM_PROMPT_LINE): + return text.encode("utf-8") + + return MENU_CONTINUE + + def read_file(self): + """Handler for the 'Read File' menu item""" + if not self.has_sd_card(): + self.flash_error(t("SD card not detected.")) + return MENU_CONTINUE + + utils = Utils(self.ctx) + try: + _, contents = utils.load_file(prompt=False) + except OSError: + pass + + if not contents: + return MENU_CONTINUE + + self.ctx.display.clear() + self.ctx.display.draw_centered_text(t("Processing…")) + + # utils.load_file() always returns binary + return contents + + +# ------------------- + + +def run(ctx): + """Runs this kapp""" + + Kapp(ctx).run() diff --git a/krux b/krux index 13dedb84b..295343452 100755 --- a/krux +++ b/krux @@ -246,7 +246,19 @@ elif [ "$1" == "sign" ]; then echo "Missing private_key" else sig_bin=$file.sig - openssl dgst -sign $privkey_pem -keyform PEM -sha256 -out $sig_bin -binary $file + # ECDSA signatures using openssl vary in size (70–72 bytes) due to DER encoding of r and s values. + # Krux uses secp256k1, which enforces strict canonical DER, expecting signatures in the minimal 70-byte form. + + # Loop until signature is exactly 70 bytes + while true; do + openssl dgst -sign $privkey_pem -keyform PEM -sha256 -out $sig_bin -binary $file + if [ "$(wc -c < "$sig_bin")" -eq 70 ]; then + echo "Signature is exactly 70 bytes. Done!" + break + else + echo "Signature size greater than 70 bytes. Retrying..." + fi + done fi fi elif [ "$1" == "verify" ]; then diff --git a/pyproject.toml b/pyproject.toml index 0f7404c26..027464484 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -77,7 +77,7 @@ sign = ["qrcode"] # format tasks format-src = "black src" format-tests = "black tests" -format-scripts = "black firmware/font firmware/scripts i18n/*.py" +format-scripts = "black firmware/font firmware/scripts i18n kapps" format = ["format-src", "format-tests", "format-scripts"] # aliases black.ref = "format" @@ -85,7 +85,7 @@ format-test.ref = "format-tests" # pylint tasks lint-src = "pylint src" -lint-scripts = "pylint firmware/font/*.py firmware/scripts/*.py i18n/*.py" +lint-scripts = "pylint firmware/font/*.py firmware/scripts/*.py i18n/*.py kapps/*.py" lint = ["lint-src", "lint-scripts"] # aliases pylint.ref = "lint" @@ -165,6 +165,13 @@ update-glyphs = "python ./firmware/font/bdftokff.py True" glyphs.ref = "update-glyphs" fonts.ref = "update-glyphs" +# kapps tasks +mpy = "./firmware/MaixPy/components/micropython/core/mpy-cross/mpy-cross" +mpy-all = { shell = "for f in kapps/*.py; do poetry run poe mpy \"$f\"; done" } +# aliases +mpy-cross.ref = "mpy" +mpy-cross-all.ref = "mpy-all" + # task for sign_release? # python sign_release.py diff --git a/simulator/generate-device-screenshots.sh b/simulator/generate-device-screenshots.sh index 812e36d16..c9a870265 100755 --- a/simulator/generate-device-screenshots.sh +++ b/simulator/generate-device-screenshots.sh @@ -77,6 +77,7 @@ poetry run poe simulator --sequence sequences/tools-print-test-qr.txt --sd --de poetry run poe simulator --sequence sequences/tools-descriptor-addresses.txt --sd --device $device poetry run poe simulator --sequence sequences/tools-flash.txt --sd --device $device poetry run poe simulator --sequence sequences/tc-flash-hash.txt --sd --device $device +poetry run poe simulator --sequence sequences/tools-krux-apps.txt --sd --device $device # Settings poetry run poe simulator --sequence sequences/all-settings.txt --sd --device $device diff --git a/simulator/k_qr.py b/simulator/k_qr.py new file mode 120000 index 000000000..ce452c7af --- /dev/null +++ b/simulator/k_qr.py @@ -0,0 +1 @@ +../kapps/k_qr.py \ No newline at end of file diff --git a/simulator/kruxsim/mocks/machine.py b/simulator/kruxsim/mocks/machine.py index ca8dc822f..f140b1524 100644 --- a/simulator/kruxsim/mocks/machine.py +++ b/simulator/kruxsim/mocks/machine.py @@ -92,11 +92,6 @@ class SDCard: def remount(): pass - -def unique_id(): - return b'\xbc\x8d{%\x8e^\xc5Q\xb3N\x07f\x9f\xde\xbbG7\xddFK^\xdc\xdb\xbc\xb4E\x14A~3\x91\x12' - - if "machine" not in sys.modules: sys.modules["machine"] = mock.MagicMock( reset=reset, UART=mock.MagicMock(wraps=UART), SDCard=SDCard, unique_id=unique_id diff --git a/simulator/kruxsim/mocks/uos.py b/simulator/kruxsim/mocks/uos.py index db625f311..79d3a9780 100644 --- a/simulator/kruxsim/mocks/uos.py +++ b/simulator/kruxsim/mocks/uos.py @@ -23,19 +23,27 @@ old_listdir = os.listdir old_remove = os.remove +old_chdir = os.chdir old_stat = os.stat def new_listdir(path, *args, **kwargs): - path = path.lstrip("/") if path.startswith("/sd") else path + if path.startswith(("/sd", "/flash")): + path = path.lstrip("/") return old_listdir(path, *args, **kwargs) def new_remove(path, *args, **kwargs): - path = path.lstrip("/") if path.startswith("/sd") else path + if path.startswith(("/sd", "/flash")): + path = path.lstrip("/") return old_remove(path, *args, **kwargs) +# Avoid Krux code to change simulator execution dir +def new_chdir(path): + return + + def new_stat(path, *args, **kwargs): path = path.lstrip("/") if path.startswith("/sd") else path return old_stat(path, *args, **kwargs) @@ -43,4 +51,5 @@ def new_stat(path, *args, **kwargs): setattr(os, "listdir", new_listdir) setattr(os, "remove", new_remove) +setattr(os, "chdir", new_chdir) setattr(os, "stat", new_stat) diff --git a/simulator/kruxsim/mocks/vfs.py b/simulator/kruxsim/mocks/vfs.py new file mode 100644 index 000000000..311d0b617 --- /dev/null +++ b/simulator/kruxsim/mocks/vfs.py @@ -0,0 +1,59 @@ +# The MIT License (MIT) + +# Copyright (c) 2021-2023 Krux contributors + +# Permission is hereby granted, free of charge, to any person obtaining a copy +# of this software and associated documentation files (the "Software"), to deal +# in the Software without restriction, including without limitation the rights +# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +# copies of the Software, and to permit persons to whom the Software is +# furnished to do so, subject to the following conditions: + +# The above copyright notice and this permission notice shall be included in +# all copies or substantial portions of the Software. + +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER# The MIT License (MIT) + +# Copyright (c) 2021-2023 Krux contributors + +# Permission is hereby granted, free of charge, to any person obtaining a copy +# of this software and associated documentation files (the "Software"), to deal +# in the Software without restriction, including without limitation the rights +# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +# copies of the Software, and to permit persons to whom the Software is +# furnished to do so, subject to the following conditions: + +# The above copyright notice and this permission notice shall be included in +# all copies or substantial portions of the Software. + +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +# THE SOFTWARE. +import sys +import math +from unittest import mock +import pygame as pg +import cv2 +from numpy import zeros_like +from kruxsim import events +from kruxsim.mocks.board import BOARD_CONFIG +from krux.krux_settings import Settings + +def exec_allowed(value): + print("exec_allowed", value) + return None + + +if "vfs" not in sys.modules: + sys.modules["vfs"] = mock.MagicMock( + exec_allowed=exec_allowed, + ) diff --git a/simulator/nostr.py b/simulator/nostr.py new file mode 120000 index 000000000..4236c05d5 --- /dev/null +++ b/simulator/nostr.py @@ -0,0 +1 @@ +../kapps/nostr.py \ No newline at end of file diff --git a/simulator/sequences/tools-check-sd.txt b/simulator/sequences/tools-check-sd.txt index 00a0afed0..5b20cdad4 100644 --- a/simulator/sequences/tools-check-sd.txt +++ b/simulator/sequences/tools-check-sd.txt @@ -7,7 +7,7 @@ press BUTTON_A screenshot tools-options.png # Device tests -press BUTTON_B +x2 press BUTTON_B press BUTTON_A screenshot device-tests-options.png diff --git a/simulator/sequences/tools-datum-tool.txt b/simulator/sequences/tools-datum-tool.txt index f9d0b53e3..e837c1e51 100644 --- a/simulator/sequences/tools-datum-tool.txt +++ b/simulator/sequences/tools-datum-tool.txt @@ -5,6 +5,7 @@ x3 press BUTTON_B press BUTTON_A # Datum Tool +press BUTTON_B press BUTTON_A diff --git a/simulator/sequences/tools-krux-apps.txt b/simulator/sequences/tools-krux-apps.txt new file mode 100644 index 000000000..3966c4049 --- /dev/null +++ b/simulator/sequences/tools-krux-apps.txt @@ -0,0 +1,10 @@ +include _wait-for-logo.txt + +# Navigate to Tools +x3 press BUTTON_B +press BUTTON_A + +# Load Krux app +press BUTTON_A + +screenshot krux-apps.png diff --git a/simulator/simulator.py b/simulator/simulator.py index c0c093247..0b9d7bd59 100644 --- a/simulator/simulator.py +++ b/simulator/simulator.py @@ -115,6 +115,7 @@ from kruxsim.mocks import cst816 from kruxsim.mocks import buttons from kruxsim.mocks import rotary +from kruxsim.mocks import vfs from kruxsim.sequence import SequenceExecutor from kruxsim.mocks import uhashlib_hw from kruxsim.mocks import baseconv @@ -142,6 +143,11 @@ def run_krux(): os.makedirs(SD_PATH) from kruxsim.mocks import sd_card +# fake flash memory, create the flash folder if not exists +from krux.settings import FLASH_PATH +if not os.path.exists(FLASH_PATH): + os.makedirs(FLASH_PATH) + t = threading.Thread(target=run_krux) t.daemon = True diff --git a/simulator/steganography.py b/simulator/steganography.py new file mode 120000 index 000000000..3e7946c54 --- /dev/null +++ b/simulator/steganography.py @@ -0,0 +1 @@ +../kapps/steganography.py \ No newline at end of file diff --git a/src/boot.py b/src/boot.py index 44f80ac10..9637e78bc 100644 --- a/src/boot.py +++ b/src/boot.py @@ -27,17 +27,18 @@ import os from krux.power import power_manager +from krux.display import display +from krux.context import ctx MIN_SPLASH_WAIT_TIME = 1000 -def draw_splash(): +def draw_splash(display_splash): """Display splash while loading modules""" - from krux.display import display, SPLASH + from krux.display import SPLASH - display.initialize_lcd() - display.clear() - display.draw_centered_text(SPLASH) + display_splash.clear() + display_splash.draw_centered_text(SPLASH) def check_for_updates(): @@ -134,24 +135,46 @@ def home(ctx_home): break -preimport_ticks = time.ticks_ms() -draw_splash() -check_for_updates() -gc.collect() +def startup_kapp(ctx_app): + """Check for startup kapp needs to run before firmware""" + from krux.krux_settings import Settings + + app_name = Settings().security.startup_kapp + if app_name == "none": + return False + + from krux.pages.kapps import Kapps + + kapps = Kapps(ctx_app) + kapps.execute_flash_kapp(app_name, prompt=False) + + return True + + +# ------ +# Boot initialization +# ------ + +display.initialize_lcd() + +if not startup_kapp(ctx): + preimport_ticks = time.ticks_ms() + draw_splash(display) + check_for_updates() + gc.collect() + + # If importing happened too fast, sleep the difference so the logo + # will be shown + postimport_ticks = time.ticks_ms() + if preimport_ticks + MIN_SPLASH_WAIT_TIME > postimport_ticks: + time.sleep_ms(preimport_ticks + MIN_SPLASH_WAIT_TIME - postimport_ticks) + -from krux.context import ctx from krux.auto_shutdown import auto_shutdown ctx.power_manager = power_manager auto_shutdown.add_ctx(ctx) - -# If importing happened too fast, sleep the difference so the logo -# will be shown -postimport_ticks = time.ticks_ms() -if preimport_ticks + MIN_SPLASH_WAIT_TIME > postimport_ticks: - time.sleep_ms(preimport_ticks + MIN_SPLASH_WAIT_TIME - postimport_ticks) - if not tc_code_verification(ctx): power_manager.shutdown() login(ctx) diff --git a/src/krux/firmware.py b/src/krux/firmware.py index 6caf920e0..10dd73343 100644 --- a/src/krux/firmware.py +++ b/src/krux/firmware.py @@ -184,6 +184,29 @@ def sha256(firmware_filename, firmware_size=None): return hasher.digest() +def check_signature(pubkey, sig, file_hash): + """Return if signature of the file_hash is valid for the pubkey""" + + try: + # embit (via libsecp256k1) already enforces signature is compact + sig = ec.Signature.parse(sig) + if not pubkey.verify(sig, file_hash): + return False + except: + return False + + return True + + +def get_pubkey(): + """Construct the pubkey based on Krux metadata pubkey string""" + + try: + return ec.PublicKey.from_string(SIGNER_PUBKEY) + except: + return None + + def find_all_occurrences(data, pattern): """Find all occurrences of the pattern in the data""" positions = [] @@ -311,10 +334,8 @@ def status_text(text, highlight_prefix=""): return False # Validate curr pubkey - pubkey = None - try: - pubkey = ec.PublicKey.from_string(SIGNER_PUBKEY) - except: + pubkey = get_pubkey() + if pubkey is None: display.flash_text("Invalid public key", theme.error_color) return False @@ -337,13 +358,7 @@ def status_text(text, highlight_prefix=""): # Validate signature firmware_hash = sha256(firmware_path) - try: - # Parse, serialize, and reparse to ensure signature is compact prior to verification - sig = ec.Signature.parse(ec.Signature.parse(sig).serialize()) - if not pubkey.verify(sig, firmware_hash): - display.flash_text(t("Bad signature"), theme.error_color) - return False - except: + if not check_signature(pubkey, sig, firmware_hash): display.flash_text(t("Bad signature"), theme.error_color) return False diff --git a/src/krux/krux_settings.py b/src/krux/krux_settings.py index c78150501..722f6bcac 100644 --- a/src/krux/krux_settings.py +++ b/src/krux/krux_settings.py @@ -21,6 +21,7 @@ # THE SOFTWARE. import board import binascii +import ujson as json from .settings import ( SettingsNamespace, CategorySetting, @@ -30,6 +31,7 @@ FLASH_PATH, MAIN_TXT, TEST_TXT, + STARTUP_APPS_FILE, ) from .key import ( @@ -46,7 +48,7 @@ BAUDRATES = [1200, 2400, 4800, 9600, 19200, 38400, 57600, 115200] -TC_CODE_PATH = "/flash/tcc" +TC_CODE_PATH = "/" + FLASH_PATH + "/tcc" TC_CODE_PBKDF2_ITERATIONS = 100000 DEFAULT_LOCALE = "en-US" @@ -472,10 +474,23 @@ def label(self, attr): class SecuritySettings(SettingsNamespace): """Security settings""" + # pylint: disable=no-method-argument + def _load_startup_apps(): + """Dynamically retrieve available startup apps""" + try: + with open("/%s/%s" % (FLASH_PATH, STARTUP_APPS_FILE), "r") as f: + apps = json.load(f) + except: + apps = [] + + return apps + ["none"] + namespace = "settings.security" auto_shutdown = NumberSetting(int, "auto_shutdown", 10, [0, 60]) hide_mnemonic = CategorySetting("hide_mnemonic", False, [False, True]) boot_flash_hash = CategorySetting("boot_flash_hash", False, [False, True]) + allow_kapp = CategorySetting("allow_kapp", False, [False, True]) + startup_kapp = CategorySetting("startup_kapp", "none", _load_startup_apps) def label(self, attr): """Returns a label for UI when given a setting name or namespace""" @@ -483,6 +498,8 @@ def label(self, attr): "auto_shutdown": t("Shutdown Time"), "hide_mnemonic": t("Hide Mnemonics"), "boot_flash_hash": t("TC Flash Hash at Boot"), + "allow_kapp": t("Allow Krux apps"), + "startup_kapp": t("Startup Kapp"), }[attr] diff --git a/src/krux/pages/file_manager.py b/src/krux/pages/file_manager.py index 74d41e1b1..c7127314e 100644 --- a/src/krux/pages/file_manager.py +++ b/src/krux/pages/file_manager.py @@ -45,7 +45,7 @@ def select_file( import os path = SD_ROOT_PATH - status = "" + status = MENU_CONTINUE while True: # if is a dir then list all files in it if SDHandler.dir_exists(path): diff --git a/src/krux/pages/kapps.py b/src/krux/pages/kapps.py new file mode 100644 index 000000000..d69a813cc --- /dev/null +++ b/src/krux/pages/kapps.py @@ -0,0 +1,305 @@ +# The MIT License (MIT) + +# Copyright (c) 2021-2024 Krux contributors + +# Permission is hereby granted, free of charge, to any person obtaining a copy +# of this software and associated documentation files (the "Software"), to deal +# in the Software without restriction, including without limitation the rights +# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +# copies of the Software, and to permit persons to whom the Software is +# furnished to do so, subject to the following conditions: + +# The above copyright notice and this permission notice shall be included in +# all copies or substantial portions of the Software. + +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +# THE SOFTWARE. + +from krux.pages import ( + Page, + Menu, + MENU_CONTINUE, + MENU_EXIT, +) +from krux.krux_settings import t +from krux.display import BOTTOM_PROMPT_LINE +from krux.sd_card import MPY_FILE_EXTENSION, SIGNATURE_FILE_EXTENSION, SD_PATH +from krux.settings import FLASH_PATH, STARTUP_APPS_FILE +import os + +READABLEBUFFER_SIZE = 128 +STARTUP_ATTR = "ALLOW_STARTUP" + + +class Kapps(Page): + """Krux standalone apps manager""" + + def __init__(self, ctx): + self.ctx = ctx + + items = [] + signed_apps = self.parse_all_flash_apps() + for app_name in signed_apps: + clean_name = app_name[:-4] + items += [ + (clean_name, lambda name=clean_name: self.execute_flash_kapp(name)) + ] + items += [ + ( + t("Load from SD card"), + None if not self.has_sd_card() else self.load_sd_kapp, + ) + ] + + super().__init__( + ctx, + Menu(ctx, items), + ) + + def parse_all_flash_apps(self): + """Check if any .mpy app present in flash is signed. + If not, ask for deletion to prevent importing and executing malicious code""" + + from krux.firmware import sha256 + + unsigned_apps = [] + signed_apps = [] + flash_path_prefix = "/%s/" % FLASH_PATH + for file in os.listdir(flash_path_prefix): + if file.endswith(MPY_FILE_EXTENSION): + # Check if signature file exists for the .mpy file + try: + sig_data = None + with open( + flash_path_prefix + file + SIGNATURE_FILE_EXTENSION, + "rb", + buffering=0, + ) as sigfile: + sig_data = sigfile.read() + if self.valid_signature(sig_data, sha256(flash_path_prefix + file)): + signed_apps += [file] + else: + unsigned_apps += [file] + except: + unsigned_apps += [file] + + if len(unsigned_apps) > 0: + # Prompts user about deleting as it will change flash memory and TC hash + self.ctx.display.clear() + if not self.prompt( + t("Unsigned apps found in flash will be deleted.") + + "\n\n" + + t("Proceed?"), + self.ctx.display.height() // 2, + ): + raise ValueError("Unsigned apps found in flash") + + # Delete any .mpy files from flash VFS to avoid malicious code import/execution + for app in unsigned_apps: + os.remove(flash_path_prefix + app) + + return signed_apps + + def valid_signature(self, sig, data_hash): + """Return if signature of data_hash is valid""" + + from krux.firmware import get_pubkey, check_signature + + pubkey = get_pubkey() + if pubkey is None: + raise ValueError("Invalid public key") + + if not check_signature(pubkey, sig, data_hash): + return False + + return True + + def execute_flash_kapp(self, app_name, from_sd=False, prompt=True): + """Prompt user to load and 'execute' a .mpy Krux app""" + + self.ctx.display.clear() + if prompt and not self.prompt( + t("Execute %s Krux app?") % app_name, self.ctx.display.height() // 2 + ): + return MENU_EXIT if from_sd else MENU_CONTINUE + + # Allows import of files in flash VFS + import vfs + + vfs.exec_allowed(True) + os.chdir("/" + FLASH_PATH) + + # Import and exec the kapp + i_kapp = None + try: + i_kapp = __import__(app_name) + i_kapp.run(self.ctx) + except: + # avoids importing from flash VSF + vfs.exec_allowed(False) + os.chdir("/") + + from krux.themes import theme + + self.ctx.display.to_portrait() + self.ctx.display.clear() + self.ctx.display.draw_centered_text( + t("Error:") + "\n" + "Could not execute %s" % app_name, + theme.error_color, + ) + self.ctx.input.wait_for_button() + + # avoids importing from flash VSF + vfs.exec_allowed(False) + os.chdir("/") + + # Avoid restart when forced execution (startup) + if not prompt: + return None + + # After execution restart Krux (better safe than sorry) + from ..power import power_manager + + power_manager.shutdown() + return None + + def load_sd_kapp(self): + """Loads kapp from SD to flash, then executes""" + + # Prompt user for .mpy file + from krux.pages.utils import Utils + + filename, _ = Utils(self.ctx).load_file( + MPY_FILE_EXTENSION, prompt=False, only_get_filename=True + ) + + if not filename: + return MENU_CONTINUE + + from krux.firmware import sha256 + import binascii + + sd_path_prefix = "/%s/" % SD_PATH + data_hash = sha256(sd_path_prefix + filename) + + # Confirm hash string + self.ctx.display.clear() + self.ctx.display.draw_hcentered_text( + filename + "\n\n" + "SHA256:\n\n" + binascii.hexlify(data_hash).decode(), + highlight_prefix=":", + ) + if not self.prompt(t("Proceed?"), BOTTOM_PROMPT_LINE): + return MENU_CONTINUE + + # Check signature of .mpy file in SD + sig_data = None + try: + with open( + sd_path_prefix + filename + SIGNATURE_FILE_EXTENSION, "rb", buffering=0 + ) as sigfile: + sig_data = sigfile.read() + except: + self.flash_error(t("Missing signature file")) + return MENU_CONTINUE + + if not self.valid_signature(sig_data, data_hash): + self.flash_error(t("Bad signature")) + return MENU_CONTINUE + + # Check if app is already installed in flash + found_in_flash_vfs = False + filename_flash = "" + flash_path_prefix = "/%s/" % FLASH_PATH + for file in os.listdir(flash_path_prefix): + if file.endswith(MPY_FILE_EXTENSION): + if sha256(flash_path_prefix + file) == data_hash: + found_in_flash_vfs = True + filename_flash = file + break + + # Copy kapp + sig from SD to flash VFS, if app not found + install_from_sd = False + if not found_in_flash_vfs: + install_from_sd = True + + # Warns user about changing users's flash internal memory region + self.ctx.display.clear() + if not self.prompt( + t("App will be stored internally on flash.") + "\n\n" + t("Proceed?"), + self.ctx.display.height() // 2, + ): + return MENU_CONTINUE + + # Save APP .mpy + filename_flash = filename.rsplit("/", 1)[-1] + with open( + flash_path_prefix + filename_flash, + "wb", + buffering=0, + ) as flash_file: + with open(sd_path_prefix + filename, "rb", buffering=0) as sd_file: + while True: + chunk = sd_file.read(READABLEBUFFER_SIZE) + if not chunk: + break + flash_file.write(chunk) + + # Save SIG .mpy.sig + with open( + flash_path_prefix + filename_flash + SIGNATURE_FILE_EXTENSION, + "wb", + buffering=0, + ) as kapp_sig_file: + kapp_sig_file.write(sig_data) + + # Load Kapp to check for ALLOW_STARTUP flag + import vfs + import ujson as json + + # Allows import of files in flash VFS + vfs.exec_allowed(True) + os.chdir(flash_path_prefix) + + # Import kapp + i_kapp = None + app_name = filename_flash[:-4] + try: + i_kapp = __import__(app_name) + if getattr(i_kapp, STARTUP_ATTR, False): + # Load or create startup apps file + try: + with open(flash_path_prefix + STARTUP_APPS_FILE, "r") as f: + startup_apps = set(json.load(f)) + except: + startup_apps = set() + + # update + startup_apps.add(app_name) + + # save + with open(flash_path_prefix + STARTUP_APPS_FILE, "w") as f: + json.dump(list(startup_apps), f) + + # Unimport kapp + import sys + + del sys.modules[app_name] + del i_kapp + except: + pass + + # avoids importing from flash VSF + vfs.exec_allowed(False) + os.chdir("/") + + del sig_data + import gc + + gc.collect() + + return self.execute_flash_kapp(filename_flash[:-4], install_from_sd) diff --git a/src/krux/pages/login.py b/src/krux/pages/login.py index 1112f3d23..96b94655f 100644 --- a/src/krux/pages/login.py +++ b/src/krux/pages/login.py @@ -217,6 +217,9 @@ def _load_key_from_words(self, words, charset=LETTERS, new=False): if mnemonic is None: return MENU_CONTINUE + return self._load_wallet_key(mnemonic) + + def _load_wallet_key(self, mnemonic): passphrase = "" if not hasattr(Settings().wallet, "policy_type") and hasattr( Settings().wallet, "multisig" diff --git a/src/krux/pages/settings_page.py b/src/krux/pages/settings_page.py index 16045a923..2ce104f38 100644 --- a/src/krux/pages/settings_page.py +++ b/src/krux/pages/settings_page.py @@ -338,7 +338,9 @@ def _amigo_lcd_reconfigure(self): def category_setting(self, settings_namespace, setting): """Handler for viewing and editing a CategorySetting""" - categories = setting.categories + categories = ( + setting.categories() if callable(setting.categories) else setting.categories + ) starting_category = setting.__get__(settings_namespace) while True: diff --git a/src/krux/pages/tools.py b/src/krux/pages/tools.py index 635fe07c6..04a9698bf 100644 --- a/src/krux/pages/tools.py +++ b/src/krux/pages/tools.py @@ -32,6 +32,7 @@ # NUM_SPECIAL_2, ) from ..krux_settings import t +import sys # TODO: re-enable "Create a QR Code" (and keypads ^^^) once encryption is possible w/o Datum Tool @@ -40,11 +41,14 @@ class Tools(Page): """Krux generic tools""" def __init__(self, ctx): + self.ctx = ctx + super().__init__( ctx, Menu( ctx, [ + (t("Load Krux app"), self.load_krux_app), (t("Datum Tool"), self.datum_tool), (t("Device Tests"), self.device_tests), # (t("Create QR Code"), self.create_qr), @@ -54,7 +58,26 @@ def __init__(self, ctx): ], ), ) - self.ctx = ctx + + def load_krux_app(self): + """Handler for the 'Load Krux app' menu item""" + + # Check if Krux app is enabled + from krux.krux_settings import Settings + + if not Settings().security.allow_kapp: + self.flash_error(t("Allow in settings first!")) + return MENU_CONTINUE + + from krux.pages.kapps import Kapps + + Kapps(self.ctx).run() + + # Unimport kapps + sys.modules.pop("krux.pages.kapps") + del sys.modules["krux.pages"].kapps + + return MENU_CONTINUE def flash_tools(self): """Handler for the 'Flash Tools' menu item""" @@ -78,7 +101,6 @@ def rm_stored_mnemonic(self): def datum_tool(self): """Handler for the 'Datum Tool' menu item""" - import sys from .datum_tool import DatumToolMenu while True: @@ -122,7 +144,6 @@ def descriptor_addresses(self): def device_tests(self): """Handler for the 'Device Tests' menu item""" - import sys from .device_tests import DeviceTests page = DeviceTests(self.ctx) diff --git a/src/krux/sd_card.py b/src/krux/sd_card.py index e288964c6..e8ea6d131 100644 --- a/src/krux/sd_card.py +++ b/src/krux/sd_card.py @@ -34,6 +34,7 @@ BMP_IMAGE_EXTENSION = ".bmp" PBM_IMAGE_EXTENSION = ".pbm" SVG_IMAGE_EXTENSION = ".svg" +MPY_FILE_EXTENSION = ".mpy" class SDHandler: diff --git a/src/krux/settings.py b/src/krux/settings.py index f19eb609e..d5c5bb008 100644 --- a/src/krux/settings.py +++ b/src/krux/settings.py @@ -34,6 +34,7 @@ # Specific storage filenames SETTINGS_FILENAME = "settings.json" MNEMONICS_FILE = "seeds.json" +STARTUP_APPS_FILE = "startup.json" # Network settings MAIN_TXT = "main" @@ -102,7 +103,8 @@ def __get__(self, obj, _objtype=None): return self stored_val = store.get(obj.namespace, self.attr, self.default_value) - if stored_val not in self.categories: + categories = self.categories() if callable(self.categories) else self.categories + if stored_val not in categories: return self.default_value return stored_val diff --git a/src/krux/translations/__init__.py b/src/krux/translations/__init__.py index 82562adf9..c1277251f 100644 --- a/src/krux/translations/__init__.py +++ b/src/krux/translations/__init__.py @@ -53,7 +53,10 @@ 4121028614, 3270727197, 900375497, + 1329241183, + 276039542, 2693258820, + 2041172833, 3857613120, 1056821534, 1868069640, @@ -127,6 +130,7 @@ 1781892685, 889040671, 1505332462, + 502721119, 3838465623, 1883247725, 692902568, @@ -185,6 +189,7 @@ 972436696, 2176866982, 1792105747, + 2993872092, 2820726296, 2369474953, 2256441194, @@ -318,6 +323,7 @@ 2090568351, 1260825919, 1075810813, + 3089686333, 2272013587, 1232757391, 3303592908, @@ -350,6 +356,7 @@ 2061556020, 1128404172, 2089395053, + 3448560703, 1374262427, 2518890350, 2786714360, diff --git a/src/krux/translations/de.py b/src/krux/translations/de.py index 61c045592..4db368655 100644 --- a/src/krux/translations/de.py +++ b/src/krux/translations/de.py @@ -41,7 +41,10 @@ "Zusätzliche Entropie von der Kamera erforderlich für %s", "Adresse", "Richte Kamera und Sicherungsplatte richtig aus.", + "Krux-Apps zulassen", + "Erlaube zuerst Einstellungen!", "Blendschutzmodus", + "Die App wird intern auf Flash gespeichert.", "Aussehen", "Bist Du sicher?", "BGR-Farben", @@ -115,6 +118,7 @@ "Benutzerdaten werden gelöscht…", "Fehler:", "Esc", + "%s Krux-App ausführen?", "Dateien durchsuchen?", "Adressen exportieren", "%s wird auf SD-Karte exportiert…", @@ -173,6 +177,7 @@ "Leitungsverzögerung", "Linie:", "Adressen auflisten", + "Krux-App laden", "Mnemonic laden", "Wallet laden", "Einen vertrauenswürdigen Wallet-Deskriptor laden, um Adressen anzuzeigen?", @@ -306,6 +311,7 @@ "Ausgabe (%d):", "Ausgaben:", "Standardmodus", + "Startup Kapp", "Statisch", "Statistiken für Nerds", "Auf Flash speichern", @@ -338,6 +344,7 @@ "Schlüssel eingeben", "Widerrufen", "Einheit", + "Nicht signierte Apps, die in Flash gefunden wurden, werden gelöscht.", "KEF-ID aktualisieren?", "QR-Etikett aktualisieren?", "Upgrade abgeschlossen.", diff --git a/src/krux/translations/es.py b/src/krux/translations/es.py index 865eb4a2e..402b3bbdf 100644 --- a/src/krux/translations/es.py +++ b/src/krux/translations/es.py @@ -41,7 +41,10 @@ "Se requiere entropía adicional de la cámara para %s", "Dirección", "Alinea la cámara y la placa de respaldo correctamente.", + "Permitir aplicaciones Krux", + "¡Permitir en la configuración primero!", "Modo antirreflejo", + "La aplicación se almacenará internamente en flash.", "Apariencia", "¿Estás seguro?", "Colores BGR", @@ -115,6 +118,7 @@ "Borrando los datos del usuario…", "Error:", "Esc", + "¿Ejecutar %s aplicación Krux?", "¿Explorar archivos?", "Exportar direcciones", "Exportando %s a la tarjeta SD…", @@ -173,6 +177,7 @@ "Retraso de Línea", "Línea:", "Listar direcciones", + "Cargar aplicación Krux", "Importar Mnemónico", "Cargar Cartera", "¿Cargar un descriptor de monedero de confianza para ver las direcciones?", @@ -306,6 +311,7 @@ "Gastos (%d):", "Gasto:", "Modo estándar", + "Startup Kapp", "Estático", "Estadísticas para Entendidos", "Almacenar en Flash", @@ -338,6 +344,7 @@ "Introduce la clave", "Deshacer", "Unidad", + "Se eliminarán las aplicaciones sin firmar que se encuentren en Flash.", "¿Actualizar ID de Kef?", "¿Actualizar etiqueta QR?", "Actualización completa.", diff --git a/src/krux/translations/fr.py b/src/krux/translations/fr.py index c5f4b32f9..190c4bcda 100644 --- a/src/krux/translations/fr.py +++ b/src/krux/translations/fr.py @@ -41,7 +41,10 @@ "Entropie supplémentaire de la caméra requise pour %s", "Adresse", "Alignez correctement la caméra et plaque de sauvegarde.", + "Autoriser les applications Krux", + "Autoriser d'abord dans les paramètres\u2009!", "Mode anti-reflets", + "L'application sera stockée en interne sur flash.", "Apparence", "Es-tu sûr\u2009?", "Couleurs BGR", @@ -115,6 +118,7 @@ "Effacement des données de l'utilisateur…", "Erreur\u2009:", "Esc", + "Exécuter l'application %s Krux\u2009?", "Explorer des fichiers\u2009?", "Adresses d'exportation", "Exportation de %s vers la carte SD…", @@ -173,6 +177,7 @@ "Délai de Ligne", "Ligne\u2009:", "Listage d'Addresses", + "Charger l'application Krux", "Charger Mnémonique", "Charger le portefeuille", "Charger un descripteur de portefeuille de confiance pour afficher les adresses\u2009?", @@ -306,6 +311,7 @@ "Dépense (%d)\u2009:", "Dépense\u2009:", "Mode standard", + "Startup Kapp", "Statique", "Statistiques pour les geeks", "Stocker sur flash", @@ -338,6 +344,7 @@ "Taper clé", "Annuler", "Unité", + "Les applications non signées trouvées dans Flash seront supprimées.", "Mettre à jour l'ID KEF\u2009?", "Mettre à jour l'étiquette QR\u2009?", "Mise à jour complète.", diff --git a/src/krux/translations/ja.py b/src/krux/translations/ja.py index c002e687a..cba9a1d39 100644 --- a/src/krux/translations/ja.py +++ b/src/krux/translations/ja.py @@ -41,7 +41,10 @@ "%sにはカメラからの追加エントロピーが必要です", "アドレス", "カメラとバックプレートを正しく整列させてください.", + "Kruxアプリを許可する", + "最初に設定で許可してください!", "アンチグレアモード", + "アプリはフラッシュに内部保存されます。", "外観", "よろしいですか?", "BGRカラー", @@ -115,6 +118,7 @@ "ユーザーのデータを消去しています…", "エラー:", "エスク", + "%s Kruxアプリを実行しますか?", "アーカイブ探索?", "住所をエクスポート", "%sをSDカードにエクスポートしています…", @@ -173,6 +177,7 @@ "ライン遅延", "ライン:", "アドレスリスト", + "Kruxアプリを読み込む", "ニーモニックをロード", "ウォレットをロード", "信頼できるウォレット記述子をロードしてアドレスを表示しますか?", @@ -306,6 +311,7 @@ "支出(%d):", "支出:", "標準モード", + "スタートアップKapp", "静止画", "オタクのための統計", "フラッシュに保存する", @@ -338,6 +344,7 @@ "キーを入力する", "取り消し", "ユニット", + "Flashで見つかった署名されていないアプリは削除されます。", "KEF IDを更新しますか?", "QRラベルを更新しますか?", "アップグレードが完了しました.", diff --git a/src/krux/translations/ko.py b/src/krux/translations/ko.py index 4bb8daebb..43a6096ad 100644 --- a/src/krux/translations/ko.py +++ b/src/krux/translations/ko.py @@ -41,7 +41,10 @@ "%s 에 필요한 카메라의 추가 엔트로피", "주소", "카메라와 보조 플레이트를 올바르게 정렬하십시오.", + "Krux 앱 허용", + "먼저 설정에서 허용하세요!", "눈부심 방지 모드", + "앱은 내부적으로 플래시로 저장됩니다.", "디스플레이", "계속하시겠습니까?", "BGR 색상", @@ -115,6 +118,7 @@ "사용자 데이터 삭제 중…", "오류:", "Esc", + "%s KRUX 앱을 실행하시겠습니까?", "파일을 탐색하시겠습니까?", "주소 내보내기", "%s 을 (를) SD 카드로 내보내는 중…", @@ -173,6 +177,7 @@ "줄 지연", "줄:", "주소 목록", + "Krux 앱 로드", "니모닉 불러오기", "이대로 불러오기", "주소를 보기위해 신뢰할 수 있는 월렛 디스크립터를 불러오시겠습니까?", @@ -306,6 +311,7 @@ "Spend (%d):", "지출:", "표준 모드", + "스타트업 Kapp", "Static", "전문가를 위한 통계", "플래시 메모리에 저장", @@ -338,9 +344,10 @@ "비밀번호 입력", "실행 취소", "단위", + "플래시에서 찾은 서명되지 않은 앱은 삭제됩니다.", "KEF ID를 업데이트하시겠습니까?", "QR 레이블을 업데이트하시겠습니까?", - "업그레이드가 완료되었습니다.", + "업그레이드가 완료되었습니다", "검은색 배경 화면을 사용하십시오.", "카메라의 엔트로피를 사용하여 새로운 니모닉을 생성하십시오", "현재 수치", diff --git a/src/krux/translations/nl.py b/src/krux/translations/nl.py index 968f406f7..006d1900f 100644 --- a/src/krux/translations/nl.py +++ b/src/krux/translations/nl.py @@ -41,7 +41,10 @@ "Extra entropie van camera vereist voor %s", "Adres", "Richt de camera en back-upplaat op de juiste manier.", + "Krux-apps toestaan", + "Sta eerst instellingen toe!", "Anti-verblindingsmodus", + "De app wordt intern opgeslagen op de flitser.", "Uiterlijk", "Weet je het zeker?", "BGR-kleuren", @@ -115,6 +118,7 @@ "Gebruikersgegevens worden gewist…", "Fout:", "Esc", + "%s Krux-app uitvoeren?", "Bestanden verkennen?", "Adressen exporteren", "Exporteren van %s naar SD-kaart…", @@ -173,6 +177,7 @@ "Lijn vertraging", "Lijn:", "Adressenlijst", + "Krux-app laden", "Geheugensteun laden", "Portemonnee laden", "Een vertrouwde portemonnee descriptor laden om adressen te bekijken?", @@ -306,6 +311,7 @@ "Uitgaven (%d):", "Uitgaven:", "Standaardmodus", + "Kapp opstarten", "Statisch", "Statistieken voor nerds", "Opslaan op apparaat", @@ -338,6 +344,7 @@ "Voer sleutel in", "Ongedaan maken", "Eenheid", + "Niet-ondertekende apps die in Flash worden gevonden, worden verwijderd.", "KEF-ID bijwerken?", "QR-label bijwerken?", "Upgrade afgerond.", diff --git a/src/krux/translations/pt.py b/src/krux/translations/pt.py index d26a53107..7ebd7b69e 100644 --- a/src/krux/translations/pt.py +++ b/src/krux/translations/pt.py @@ -41,7 +41,10 @@ "Entropia adicional da câmera é necessária para %s", "Endereço", "Alinhe a câmera e a placa de backup corretamente.", + "Permitir aplicativos Krux", + "Permita nas configurações primeiro!", "Modo antirreflexo", + "O aplicativo será armazenado internamente em flash.", "Aparência", "Tem certeza?", "Cores BGR", @@ -115,6 +118,7 @@ "Apagando dados do usuário…", "Erro:", "Esc", + "Executar %s aplicativo Krux?", "Explorar arquivos?", "Exportar endereços", "Exportando %s para o cartão SD…", @@ -173,6 +177,7 @@ "Atraso de Linha", "Linha:", "Listar Endereços", + "Carregar Krux app", "Carregar Mnemônico", "Carregar Carteira", "Carregar um descritor de carteira para visualizar endereços?", @@ -306,6 +311,7 @@ "Gastos (%d):", "Gasto:", "Modo padrão", + "Kapp de inicialização", "Estático", "Estatísticas para nerds", "Armazenar na memória flash", @@ -338,6 +344,7 @@ "Digite a Chave", "Desfazer", "Unidade", + "Aplicativos não assinados encontrados em flash serão excluídos.", "Atualizar KEF ID?", "Atualizar etiqueta QR?", "Atualização concluída.", diff --git a/src/krux/translations/ru.py b/src/krux/translations/ru.py index 1327eb778..aeabedb83 100644 --- a/src/krux/translations/ru.py +++ b/src/krux/translations/ru.py @@ -41,7 +41,10 @@ "Требуется дополнительная энтропия от камеры для %s", "Адрес", "Правильно совместите камеру и резервную пластину.", + "Разрешить приложения Krux", + "Сначала разрешите в настройках!", "Антибликовый режим", + "Приложение будет храниться во флэш-памяти.", "Внешний Вид", "Вы уверены?", "Цвета BGR", @@ -115,6 +118,7 @@ "Удаление данных пользователя…", "Ошибка:", "Выйти", + "Запустить приложение %s Krux?", "Исследовать файлы?", "Экспорт адресов", "Экспорт %s на SD-карту…", @@ -173,6 +177,7 @@ "Задержка Линии", "Линия:", "Список адресов", + "Загрузить приложение Krux", "Загрузить Мнемонику", "Загрузить кошелек", "Загрузить дескриптор доверенного кошелька для просмотра адресов?", @@ -306,6 +311,7 @@ "Расход (%d):", "Расход:", "Стандартный режим", + "Запуск Kapp", "Static / Статическое оборудование", "Статистика для Гиков", "Сохранить на Флэш Память", @@ -338,6 +344,7 @@ "Ввести Ключ", "Отменить", "Единица Измерения", + "Неподписанные приложения, найденные во флэш-памяти, будут удалены.", "Обновить идентификатор KEF?", "Обновить QR-метку?", "Обновление завершено.", diff --git a/src/krux/translations/tr.py b/src/krux/translations/tr.py index fd1cc298d..8789f2880 100644 --- a/src/krux/translations/tr.py +++ b/src/krux/translations/tr.py @@ -41,7 +41,10 @@ "%s için kameradan gelen ek entropi gerekli", "Adres", "Kamerayı ve yedek plakay'ı düzgün bir şekilde hizalayın.", + "Krux uygulamalarına izin ver", + "Önce ayarlarda izin ver!", "Parlama Önleyici Mod", + "Uygulama flaşta dahili olarak depolanacaktır.", "Görünüm", "Emin misiniz?", "BGR Renkleri", @@ -115,6 +118,7 @@ "Kullanıcının verileri siliniyor…", "Hata:", "Çıkış", + "%s Krux uygulaması çalıştırılsın mı?", "Dosyaları ara?", "Adresleri Dışa Aktar", "%s SD karta aktarılıyor…", @@ -173,6 +177,7 @@ "Satır Gecikmesi", "Satır:", "Adresleri Listele", + "Krux uygulamasını yükle", "Mnemonic Yükle", "Cüzdan Yükle", "Adresleri görüntülemek için güvenilir bir cüzdan tanımlayıcısı yüklensin mi?", @@ -306,6 +311,7 @@ "Harcama (%d):", "Harcama:", "Standart Mod", + "Startup Kapp", "Statik", "İnekler İçin İstatistikler", "Flash'ta Sakla", @@ -338,6 +344,7 @@ "Anahtar Yaz", "Geri Al", "Birim", + "Flash'ta bulunan imzasız uygulamalar silinecek.", "Kef Kimliği Güncellensin mi?", "QR Etiketi Güncellensin mi", "Güncelleme tamamlandı.", diff --git a/src/krux/translations/vi.py b/src/krux/translations/vi.py index 28e26bfa8..f75c2648b 100644 --- a/src/krux/translations/vi.py +++ b/src/krux/translations/vi.py @@ -41,7 +41,10 @@ "Entropy bổ sung từ máy ảnh cần thiết cho %s", "Địa chỉ", "Căn chỉnh camera và tấm dự phòng đúng cách.", + "Cho phép ứng dụng Krux", + "Cho phép cài đặt trước!", "Chế độ chống lóa", + "Ứng dụng sẽ được lưu trữ nội bộ trên flash.", "Giao diện", "Bạn có chắc không?", "Màu BGR", @@ -115,6 +118,7 @@ "Đang xóa dữ liệu của người dùng…", "Lỗi:", "Esc", + "Thực thi %s ứng dụng Krux?", "Khám phá các tập tin?", "Xuất báo cáo", "Đang xuất %s sang thẻ SD…", @@ -173,6 +177,7 @@ "Độ trễ Dòng", "Đường kẻ:", "danh sách địa chỉ", + "Tải ứng dụng Krux", "Tải mã mnemonic", "Nạp Ví", "Tải mô tả ví đáng tin cậy để xem địa chỉ?", @@ -306,6 +311,7 @@ "Chi tiêu (%d):", "Chi tiêu:", "Chế độ Tiêu chuẩn", + "Startup Kapp", "Tĩnh", "Số liệu thống kê cho Mọt sách", "Lưu trữ trên flash", @@ -338,6 +344,7 @@ "Nhập khóa", "Hoàn tác", "Đơn vị", + "Các ứng dụng chưa ký được tìm thấy trong flash sẽ bị xóa.", "Cập nhật ID KEF?", "Cập nhật nhãn QR?", "Nâng cấp hoàn tất.", diff --git a/src/krux/translations/zh.py b/src/krux/translations/zh.py index 24f26a3a0..c235473a6 100644 --- a/src/krux/translations/zh.py +++ b/src/krux/translations/zh.py @@ -41,7 +41,10 @@ "%s需要摄像头的额外熵", "地址", "正确对齐摄像头和背板.", + "允许Krux应用程序", + "首先在设置中允许!", "防闪模式", + "应用程序将内部存储在闪存中。", "界面", "确定?", "BGR 颜色", @@ -115,6 +118,7 @@ "正在删除用户数据…", "错误:", "退出", + "是否执行%s Krux应用程序?", "浏览文件?", "导出地址", "正在将%s导出到SD卡…", @@ -173,6 +177,7 @@ "行延迟", "行:", "地址", + "加载Krux应用", "加载助记词", "加载钱包", "加载受信任的钱包描述符以查看地址?", @@ -306,6 +311,7 @@ "花费 (%d):", "花费", "标准模式", + "启动Kapp", "Static 静态?", "极客统计数据", "存储到 Flash", @@ -338,6 +344,7 @@ "输入私钥", "撤销", "单位", + "在Flash中找到的未签名应用将被删除.", "更新KEF ID ?", "更新二维码标签?", "升级已完成.", diff --git a/tests/conftest.py b/tests/conftest.py index 0a1426dd4..885f5b13a 100644 --- a/tests/conftest.py +++ b/tests/conftest.py @@ -105,6 +105,7 @@ def mp_modules(mocker, monkeypatch): import json monkeypatch.setitem(sys.modules, "ujson", json) + monkeypatch.setitem(sys.modules, "vfs", mocker.MagicMock()) @pytest.fixture diff --git a/tests/files/kapp.py b/tests/files/kapp.py new file mode 100644 index 000000000..d8af9618a --- /dev/null +++ b/tests/files/kapp.py @@ -0,0 +1,2 @@ +def run(self): + return True diff --git a/tests/firmware/__init__.py b/tests/firmware/__init__.py deleted file mode 100644 index e69de29bb..000000000 diff --git a/tests/kapps/__init__.py b/tests/kapps/__init__.py new file mode 100644 index 000000000..f4348b176 --- /dev/null +++ b/tests/kapps/__init__.py @@ -0,0 +1,28 @@ +from ..shared_mocks import mock_context + + +def create_ctx(mocker, btn_seq, wallet=None, printer=None, touch_seq=None): + """Helper to create mocked context obj""" + from krux.krux_settings import Settings, THERMAL_ADAFRUIT_TXT + + HASHED_IMAGE_BYTES = b"3\x0fr\x7fKY\x15\t\x83\xaab\x92\x0f&\x820\xb4\x14\x87\x19\xee\x95F\x9c\x8f\x0c\xbdo\xbc\x1d\xcbT" + + ctx = mock_context(mocker) + ctx.power_manager.battery_charge_remaining.return_value = 1 + ctx.input.wait_for_button = mocker.MagicMock(side_effect=btn_seq) + ctx.camera.capture_entropy = mocker.MagicMock(return_value=HASHED_IMAGE_BYTES) + ctx.is_logged_in.return_value = False + + ctx.wallet = wallet + ctx.printer = printer + if printer is not None: + mocker.patch("krux.printers.create_printer", new=mocker.MagicMock()) + Settings().hardware.printer.driver = THERMAL_ADAFRUIT_TXT + elif Settings().hardware.printer.driver != "none": + Settings().hardware.printer.driver = "none" + + if touch_seq: + ctx.input.touch = mocker.MagicMock( + current_index=mocker.MagicMock(side_effect=touch_seq) + ) + return ctx diff --git a/tests/kapps/test_nostr.py b/tests/kapps/test_nostr.py new file mode 100644 index 000000000..0e322ab09 --- /dev/null +++ b/tests/kapps/test_nostr.py @@ -0,0 +1,128 @@ +import pytest +from . import create_ctx + + +def data(): + from kapps.nostr import MNEMONIC, HEX, NSEC, NPUB, PUB_HEX + + # Test vectors from NIP-06: https://github.com/nostr-protocol/nips/blob/master/06.md + return [ + { + MNEMONIC: "leader monkey parrot ring guide accident before fence cannon height naive bean", + HEX: "7f7ff03d123792d6ac594bfa67bf6d0c0ab55b6b1fdb6249303fe861f1ccba9a", + NSEC: "nsec10allq0gjx7fddtzef0ax00mdps9t2kmtrldkyjfs8l5xruwvh2dq0lhhkp", + PUB_HEX: "17162c921dc4d2518f9a101db33695df1afb56ab82f5ff3e5da6eec3ca5cd917", + NPUB: "npub1zutzeysacnf9rru6zqwmxd54mud0k44tst6l70ja5mhv8jjumytsd2x7nu", + }, + { + MNEMONIC: "what bleak badge arrange retreat wolf trade produce cricket blur garlic valid proud rude strong choose busy staff weather area salt hollow arm fade", + HEX: "c15d739894c81a2fcfd3a2df85a0d2c0dbc47a280d092799f144d73d7ae78add", + NSEC: "nsec1c9wh8xy5eqdzln7n5t0ctgxjcrdug73gp5yj0x03gntn67h83twssdfhel", + PUB_HEX: "d41b22899549e1f3d335a31002cfd382174006e166d3e658e3a5eecdb6463573", + NPUB: "npub16sdj9zv4f8sl85e45vgq9n7nsgt5qphpvmf7vk8r5hhvmdjxx4es8rq74h", + }, + ] + + +def test_nostrkey(mocker, m5stickv): + from kapps.nostr import NostrKey, MNEMONIC, HEX, NSEC, NPUB, PUB_HEX + + for n, t in enumerate(data()): + print(n, t) + for version in (MNEMONIC, HEX, NSEC): + nkey = NostrKey() + assert not nkey.is_loaded() + if version == MNEMONIC: + nkey.load_mnemonic(t[MNEMONIC]) + elif version == HEX: + nkey.load_hex(t[HEX]) + elif version == NSEC: + nkey.load_nsec(t[NSEC]) + + assert nkey.is_loaded() + + if version in (HEX, NSEC): + assert nkey.is_mnemonic() == False + else: + assert nkey.is_mnemonic() + + assert nkey.get_hex() == t[HEX] + assert nkey.get_nsec() == t[NSEC] + assert nkey.get_pub_hex() == t[PUB_HEX] + assert nkey.get_npub() == t[NPUB] + + with pytest.raises(ValueError): + nkey.load_hex(t[HEX][:-1]) + + with pytest.raises(ValueError): + nkey.load_nsec(t[NSEC][:-1]) + + with pytest.raises(ValueError): + nkey.load_nsec(t[NSEC].replace(NSEC, NPUB)) + + +def test_nostrevent(mocker, m5stickv): + from kapps.nostr import NostrEvent, NostrKey, MNEMONIC, HEX, NSEC + import json + + event = r"""{ + "id": "a2d1bc19ed2bc8e09de9485d641fa53b89df75eecc042127dd2272d46afd6c8f", + "pubkey": "17162c921dc4d2518f9a101db33695df1afb56ab82f5ff3e5da6eec3ca5cd917", + "created_at": 1760632896, + "kind": 1, + "tags": [], + "content": "t \" \\\r\n\r\nkkk", + "sig": "17f972991755d25ec8d132b93fd1c0f59abba4c5fabd56274210e2bded9fe131ad294d73904f680bc18511a4e3a40660b2a67086179b332b0d2f670bed1c3c96" + }""" + + event_dict = json.loads(event) + + # Remove the 'id' field + event_dict.pop("id", None) + + # Dump back to JSON string + event_without_id = json.dumps(event_dict, ensure_ascii=False) + + # Error event without necessary attribute + pe = None + with pytest.raises(ValueError): + pe = NostrEvent.parse_event(event_without_id) + assert pe is None + + pe = NostrEvent.parse_event(event) + assert pe[NostrEvent.KIND] == 1 + + se = NostrEvent.serialize_event(pe) + + # Event and its serialization OK + assert NostrEvent.validate_id(pe, se) + + # signature tests + data1 = data()[0] + nkey = NostrKey() + # with mnemonic + nkey.load_mnemonic(data1[MNEMONIC]) + sig = NostrEvent.sign_event(nkey.get_private_key(), se) + assert sig == pe["sig"] + + # with hex + nkey.load_hex(data1[HEX]) + sig = NostrEvent.sign_event(nkey.get_private_key(), se) + assert sig == pe["sig"] + + # with nsec + nkey.load_nsec(data1[NSEC]) + sig = NostrEvent.sign_event(nkey.get_private_key(), se) + assert sig == pe["sig"] + + # Mess with id + pe[NostrEvent.ID] = pe[NostrEvent.ID].replace("1", "2") + + # Error comparing serialized_event with its id + with pytest.raises(ValueError): + NostrEvent.validate_id(pe, se) + + # other tests + assert NostrEvent.get_kind_type(1) == NostrEvent.KIND_REGULAR + assert NostrEvent.get_kind_desc(1) == NostrEvent.KIND_DESC[1] + assert NostrEvent.get_tag(999999) == NostrEvent.UNKNOWN diff --git a/tests/kapps/test_steganography.py b/tests/kapps/test_steganography.py new file mode 100644 index 000000000..0edbe5004 --- /dev/null +++ b/tests/kapps/test_steganography.py @@ -0,0 +1,55 @@ +import pytest +from . import create_ctx + + +BMP_DATA = b"\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff" + + +def test_hide_and_retrive_data_from_bmp(mocker, m5stickv): + from unittest.mock import mock_open, patch + from kapps.steganography import Kapp + + ctx = create_ctx(mocker, []) + steg = Kapp(ctx) + + def _bits_generator(payload): + for i in range(0, len(payload), 2): + chunk = payload[i : i + 2] + yield int.from_bytes(chunk, byteorder="big") + + written_data = [] # will hold the stego-BMP + bit_gen = _bits_generator(BMP_DATA) + width_holder = [10] # mutable value ;) + mocker.patch( + "image.Image", + return_value=mocker.MagicMock( + width=lambda: width_holder[0], + height=lambda: 10, + get_pixel=lambda x, y, rgbtuple: next(bit_gen), + set_pixel=lambda a, b, pixel: written_data.append( + pixel.to_bytes(2, byteorder="big") + ), + ), + ) + + secret_to_hide = b"This is a secret" + steg.hide_data(secret_to_hide, "in.bmp", "out.bmp") + + written_data = b"".join(written_data) + steg_bmp = written_data + BMP_DATA[len(written_data) :] + assert len(steg_bmp) <= len(BMP_DATA) + + bit_gen = _bits_generator(steg_bmp) + retrieved = steg.extract_data("in.bmp") + assert retrieved == secret_to_hide + + width_holder = [ + 1 + ] # change width to 1 will raise Exception "Not enough px to retrieve data" + with pytest.raises(ValueError): + steg.extract_data("in.bmp") + + width_holder = [10] + secret_to_hide = b"This is a secret" * 3 # secret too big, don't fit the image + with pytest.raises(ValueError): + steg.hide_data(secret_to_hide, "in.bmp", "out.bmp") diff --git a/tests/pages/test_kapps.py b/tests/pages/test_kapps.py new file mode 100644 index 000000000..1557060f2 --- /dev/null +++ b/tests/pages/test_kapps.py @@ -0,0 +1,489 @@ +import pytest +from unittest.mock import patch +from . import create_ctx + + +def test_parse_all_flash_apps(m5stickv, mocker): + from krux.pages.kapps import Kapps + from krux.sd_card import MPY_FILE_EXTENSION + from krux.input import BUTTON_PAGE, BUTTON_ENTER + import os + from krux.settings import FLASH_PATH + + ################################# + print("Case 1: no file with MPY_FILE_EXTENSION") + + mocker.patch( + "os.listdir", + new=mocker.MagicMock(return_value=["somefile", "otherfile"]), + ) + + ctx = create_ctx(mocker, None) + kapps = Kapps(ctx) + + signed_apps = kapps.parse_all_flash_apps() + assert len(signed_apps) == 0 + + ################################ + print("Case 2: unsigned file, prompt for deletion, user deny, ValueError") + + # one unsigned file + unsigned_file = "somefile" + MPY_FILE_EXTENSION + mocker.patch( + "os.listdir", + new=mocker.MagicMock(return_value=[unsigned_file]), + ) + + # User deny prompt + ctx.input.wait_for_button = mocker.MagicMock(side_effect=[BUTTON_PAGE]) + + # unsigned file + with pytest.raises(ValueError, match="Unsigned apps found in flash"): + signed_apps = kapps.parse_all_flash_apps() + assert len(signed_apps) == 0 + + ################################ + print( + "Case 3: unsigned file, prompt for deletion, user allow, remove unsigned file" + ) + + # User accept prompt + ctx.input.wait_for_button = mocker.MagicMock(side_effect=[BUTTON_ENTER]) + + # Mock file remove + mocker.patch("os.remove", new=mocker.MagicMock()) + + signed_apps = kapps.parse_all_flash_apps() + assert len(signed_apps) == 0 + + flash_path_prefix = "/%s/" % FLASH_PATH + os.remove.assert_called_with(flash_path_prefix + unsigned_file) + + ################################ + print("Case 4: signed file") + + # one unsigned file + signed_file = "sigfile" + MPY_FILE_EXTENSION + mocker.patch( + "os.listdir", + new=mocker.MagicMock(return_value=[signed_file]), + ) + mocker.patch("builtins.open", mocker.mock_open(read_data=b"signature data")) + mocker.patch.object(kapps, "valid_signature", new=lambda data, hash: True) + + signed_apps = kapps.parse_all_flash_apps() + assert len(signed_apps) == 1 + assert signed_file in signed_apps + + +def test_valid_signature(m5stickv, mocker): + from krux.pages.kapps import Kapps + + mocker.patch( + "os.listdir", + new=mocker.MagicMock(return_value=[]), + ) + + ctx = create_ctx(mocker, None) + kapps = Kapps(ctx) + + ######################################## + print("Case 1: invalid pubkey()") + + mocker.patch("krux.firmware.get_pubkey", new=lambda: None) + + with pytest.raises(ValueError, match="Invalid public key"): + kapps.valid_signature(None, None) + + ######################################## + print("Case 2: valid signature") + + mocker.patch("krux.firmware.get_pubkey", new=lambda: "Valid pubkey") + mocker.patch("krux.firmware.check_signature", new=lambda pubk, sig, hash: True) + + sig = kapps.valid_signature(None, None) + assert sig + + +def test_execute_flash_kapp(m5stickv, mocker): + from krux.pages.kapps import Kapps + from krux.pages import MENU_CONTINUE + from krux.input import BUTTON_PAGE, BUTTON_ENTER + import os, sys + from krux.settings import FLASH_PATH + from krux.themes import theme + + btn_seq = [ + BUTTON_PAGE, # case 1 skip prompt + BUTTON_ENTER, # case 2 accept prompt to execute + BUTTON_PAGE, # case 2 dismiss error msg + BUTTON_ENTER, # case 3 accept prompt to execute + ] + + ########################################## + print("Case 1: Exit when prompted to execute the app") + mocker.patch( + "os.listdir", + new=mocker.MagicMock(return_value=[]), + ) + + ctx = create_ctx(mocker, btn_seq) + kapps = Kapps(ctx) + + mocker.spy(kapps, "prompt") + + kapp_name = "anykappname" + result = kapps.execute_flash_kapp(kapp_name) + + assert result == MENU_CONTINUE + assert kapps.prompt.called + kapps.prompt.assert_called_with( + "Execute %s Krux app?" % kapp_name, ctx.display.height() // 2 + ) + + ######################################### + print("Case 2: Continue to execut the app, skip error msg") + + mocker.patch( + "os.chdir", + new=mocker.MagicMock(), + ) + + # avoid call sys.exit() after app execution otherwise will exit test and fail + mocker.patch( + "sys.exit", + new=mocker.MagicMock(), + ) + + mocker.spy(ctx.display, "draw_centered_text") + + kapps.execute_flash_kapp(kapp_name) + assert os.chdir.called + + # First changed to flash path and execut app, then return to / when error appear + os.chdir.assert_has_calls( + [ + mocker.call("/" + FLASH_PATH), + mocker.call("/"), + ] + ) + + assert sys.exit.called + + assert ctx.display.draw_centered_text.called + ctx.display.draw_centered_text.assert_called_with( + "Error:" + "\n" + "Could not execute %s" % kapp_name, theme.error_color + ) + + ####################################### + print("Case 3: app executed") + + mocker.spy(ctx.display, "draw_centered_text") + + dir_path = os.path.dirname(os.path.realpath(__file__)) + print(dir_path) + sys.path.append(dir_path.rsplit("/", 1)[0] + "/files") + + kapps.execute_flash_kapp("kapp") + assert os.chdir.called + + # First changed to flash path and execut app, then return to / when error appear + os.chdir.assert_has_calls( + [ + mocker.call("/" + FLASH_PATH), + mocker.call("/"), + ] + ) + + assert sys.exit.called + + assert not ctx.display.draw_centered_text.called + + +def test_load_sd_kapp_none_selected(m5stickv, mocker): + from krux.pages.kapps import Kapps + from krux.pages import MENU_CONTINUE + + mocker.patch( + "os.listdir", + new=mocker.MagicMock(return_value=[]), + ) + + ctx = create_ctx(mocker, []) + kapps = Kapps(ctx) + + assert kapps.load_sd_kapp() == MENU_CONTINUE + + +def test_load_sd_kapp_negate_load_sha_prompt(m5stickv, mocker): + from krux.pages.kapps import Kapps + from krux.pages import MENU_CONTINUE + from krux.input import BUTTON_PAGE + from krux.pages.utils import Utils + + btn_seq = [BUTTON_PAGE] # cancel the load of the file + + # Used on __init__ of a new Kapps + mocker.patch( + "os.listdir", + new=mocker.MagicMock(return_value=[]), + ) + + # Used to select a file from sd + mocker.patch.object( + Utils, + "load_file", + new=lambda self, file_ext, prompt, only_get_filename: ("f_name", "f_content"), + ) + + # Used to calculate the sha of the selected file + mocker.patch( + "krux.firmware.sha256", + new=mocker.MagicMock(return_value=b"sha256hashvalue"), + ) + + ctx = create_ctx(mocker, btn_seq) + kapps = Kapps(ctx) + + assert kapps.load_sd_kapp() == MENU_CONTINUE + + +def test_load_sd_kapp_sig_file_miss(m5stickv, mocker): + from krux.pages.kapps import Kapps + from krux.pages import MENU_CONTINUE + from krux.input import BUTTON_ENTER + from krux.pages.utils import Utils + + btn_seq = [BUTTON_ENTER] # accept the load of the file + + # Used on __init__ of a new Kapps + mocker.patch( + "os.listdir", + new=mocker.MagicMock(return_value=[]), + ) + + # Used to select a file from sd + mocker.patch.object( + Utils, + "load_file", + new=lambda self, file_ext, prompt, only_get_filename: ("f_name", "f_content"), + ) + + # Used to calculate the sha of the selected file + mocker.patch( + "krux.firmware.sha256", + new=mocker.MagicMock(return_value=b"sha256hashvalue"), + ) + + ctx = create_ctx(mocker, btn_seq) + kapps = Kapps(ctx) + + mocker.spy(kapps, "flash_error") + + assert kapps.load_sd_kapp() == MENU_CONTINUE + + kapps.flash_error.assert_called_with("Missing signature file") + + +def test_load_sd_kapp_sig_file_bad(m5stickv, mocker): + from krux.pages.kapps import Kapps + from krux.pages import MENU_CONTINUE + from krux.input import BUTTON_PAGE, BUTTON_ENTER + from krux.pages.utils import Utils + + btn_seq = [BUTTON_ENTER] # accept the load of the file + + # Used on __init__ of a new Kapps + mocker.patch( + "os.listdir", + new=mocker.MagicMock(return_value=[]), + ) + + # Used to select a file from sd + mocker.patch.object( + Utils, + "load_file", + new=lambda self, file_ext, prompt, only_get_filename: ("f_name", "f_content"), + ) + + # Used to calculate the sha of the selected file + mocker.patch( + "krux.firmware.sha256", + new=mocker.MagicMock(return_value=b"sha256hashvalue"), + ) + + mocker.patch("builtins.open", mocker.mock_open(read_data=b"sigdata")) + + ctx = create_ctx(mocker, btn_seq) + kapps = Kapps(ctx) + + mocker.spy(kapps, "flash_error") + + # Used to return a invalid signature + mocker.patch.object(kapps, "valid_signature", new=lambda sig, data_hash: False) + + assert kapps.load_sd_kapp() == MENU_CONTINUE + + kapps.flash_error.assert_called_with("Bad signature") + + +def test_load_sd_kapp_found_in_flash(m5stickv, mocker): + from krux.pages.kapps import Kapps + from krux.pages import MENU_CONTINUE + from krux.input import BUTTON_PAGE, BUTTON_ENTER + from krux.pages.utils import Utils + + btn_seq = [BUTTON_ENTER] # accept the load of the file + + # Used on __init__ of a new Kapps + mocker.patch( + "os.listdir", + new=mocker.MagicMock(return_value=["one_app.mpy"]), + ) + + # Used on __init__ of a new Kapps when .mpy found + mocker.patch("builtins.open", mocker.mock_open(read_data=b"sigdata")) + + # Used on __init__ of a new Kapps when sig found + mocker.patch.object(Kapps, "valid_signature", new=lambda self, sig, data_hash: True) + + # Used to select a file from sd + mocker.patch.object( + Utils, + "load_file", + new=lambda self, file_ext, prompt, only_get_filename: ("f_name", "f_content"), + ) + + # Used to calculate the sha of the selected file + mocker.patch( + "krux.firmware.sha256", + new=mocker.MagicMock(return_value=b"sha256hashvalue"), + ) + + mocker.patch( + "os.chdir", + new=mocker.MagicMock(), + ) + + ctx = create_ctx(mocker, btn_seq) + kapps = Kapps(ctx) + + mocker.spy(kapps, "flash_error") + + mocker.patch.object(kapps, "execute_flash_kapp", return_value="Success") + + assert kapps.load_sd_kapp() == "Success" + + kapps.flash_error.assert_not_called() + + +def test_load_sd_kapp_not_found_not_allow_store_in_flash(m5stickv, mocker): + from krux.pages.kapps import Kapps + from krux.pages import MENU_CONTINUE + from krux.input import BUTTON_PAGE, BUTTON_ENTER + from krux.pages.utils import Utils + + btn_seq = [ + BUTTON_ENTER, # accept the load of the file + BUTTON_PAGE, # don't allow to store in flash + ] + + # Used on __init__ of a new Kapps + mocker.patch( + "os.listdir", + new=mocker.MagicMock(return_value=["one_app.mpy"]), + ) + + # Used on __init__ of a new Kapps + mocker.patch("builtins.open", mocker.mock_open(read_data=b"sigdata")) + + # Used on __init__ of a new Kapps + mocker.patch.object(Kapps, "valid_signature", new=lambda self, sig, data_hash: True) + + # Used to select a file from sd + mocker.patch.object( + Utils, + "load_file", + new=lambda self, file_ext, prompt, only_get_filename: ("f_name", "f_content"), + ) + + # Used to calculate the sha of the selected file + def sha_return(firmware_size): + return values_list.pop() + + values_list = [b"sha256hash_OTHER_value", b"sha256hashvalue", b"sha256hashvalue"] + mocker.patch( + "krux.firmware.sha256", + new=sha_return, + ) + + ctx = create_ctx(mocker, btn_seq) + kapps = Kapps(ctx) + + mocker.spy(kapps, "flash_error") + mocker.spy(kapps, "execute_flash_kapp") + + assert kapps.load_sd_kapp() == MENU_CONTINUE + + kapps.flash_error.assert_not_called() + kapps.execute_flash_kapp.assert_not_called() + + +def test_load_sd_kapp_not_found_allow_store_in_flash(m5stickv, mocker): + from krux.pages.kapps import Kapps + from krux.pages import MENU_CONTINUE + from krux.input import BUTTON_PAGE, BUTTON_ENTER + from krux.pages.utils import Utils + + btn_seq = [ + BUTTON_ENTER, # accept the load of the file + BUTTON_ENTER, # allow to store in flash + ] + + # Used on __init__ of a new Kapps + mocker.patch( + "os.listdir", + new=mocker.MagicMock(return_value=["one_app.mpy"]), + ) + + # Used on __init__ of a new Kapps + mocker.patch("builtins.open", mocker.mock_open(read_data=b"sigdata")) + + # Used on __init__ of a new Kapps + mocker.patch.object(Kapps, "valid_signature", new=lambda self, sig, data_hash: True) + + # Used to select a file from sd + mocker.patch.object( + Utils, + "load_file", + new=lambda self, file_ext, prompt, only_get_filename: ("f_name", "f_content"), + ) + + # Used to calculate the sha of the selected file + def sha_return(firmware_size): + return values_list.pop() + + values_list = [b"sha256hash_OTHER_value", b"sha256hashvalue", b"sha256hashvalue"] + mocker.patch( + "krux.firmware.sha256", + new=sha_return, + ) + + mocker.patch( + "os.chdir", + new=mocker.MagicMock(), + ) + + ctx = create_ctx(mocker, btn_seq) + kapps = Kapps(ctx) + + mocker.spy(kapps, "flash_error") + + mocker.patch.object(kapps, "execute_flash_kapp", return_value="Success") + + mocker.spy(kapps, "execute_flash_kapp") + + assert kapps.load_sd_kapp() == "Success" + + kapps.flash_error.assert_not_called() + kapps.execute_flash_kapp.assert_called() diff --git a/tests/pages/test_tools.py b/tests/pages/test_tools.py index 9a62c01d4..668cab540 100644 --- a/tests/pages/test_tools.py +++ b/tests/pages/test_tools.py @@ -152,11 +152,13 @@ def test_access_to_device_tests(m5stickv, mocker): from krux.input import BUTTON_ENTER, BUTTON_PAGE, BUTTON_PAGE_PREV BTN_SEQUENCE = [ + BUTTON_PAGE, # select kapps BUTTON_PAGE, # select device tests BUTTON_ENTER, # Go device tests BUTTON_PAGE_PREV, # Go to Back BUTTON_ENTER, # Leave device tests BUTTON_PAGE_PREV, + BUTTON_PAGE_PREV, BUTTON_PAGE_PREV, # select Back BUTTON_ENTER, # leave ] @@ -165,3 +167,37 @@ def test_access_to_device_tests(m5stickv, mocker): tool = Tools(ctx) tool.run() assert ctx.input.wait_for_button.call_count == len(BTN_SEQUENCE) + + +def test_load_krux_app_without_allow(m5stickv, mocker): + from krux.pages.tools import Tools + from krux.pages import MENU_CONTINUE + + ctx = create_ctx(mocker, None) + tool = Tools(ctx) + + mocker.spy(tool, "flash_error") + + val = tool.load_krux_app() + assert val == MENU_CONTINUE + assert tool.flash_error.called + tool.flash_error.assert_called_with("Allow in settings first!") + assert (("Allow in settings first!",),) in tool.flash_error.call_args_list + + +def test_load_krux_app_with_allow(m5stickv, mocker): + from krux.pages.tools import Tools + from krux.pages import MENU_CONTINUE + from krux.krux_settings import Settings + + ctx = create_ctx(mocker, None) + tool = Tools(ctx) + Settings().security.allow_kapp = True + + mocker.spy(tool, "flash_error") + mocker.patch("krux.pages.kapps.Kapps", new=mocker.MagicMock()) + + val = tool.load_krux_app() + assert val == MENU_CONTINUE + assert not tool.flash_error.called + assert (("Allow in settings first!",),) not in tool.flash_error.call_args_list From 104b03fb6c7c00da1d42776413389ef04e69a0c3 Mon Sep 17 00:00:00 2001 From: tadeubas Date: Sun, 25 Jan 2026 17:33:29 -0300 Subject: [PATCH 2/2] style: black --- kapps/nostr.py | 1 - kapps/steganography.py | 1 - tests/kapps/test_steganography.py | 1 - 3 files changed, 3 deletions(-) diff --git a/kapps/nostr.py b/kapps/nostr.py index 6be9aab9b..362eecdb3 100644 --- a/kapps/nostr.py +++ b/kapps/nostr.py @@ -53,7 +53,6 @@ import time import gc - NSEC_SIZE = 63 HEX_SIZE = 64 diff --git a/kapps/steganography.py b/kapps/steganography.py index cd3ad486b..b7df0036a 100644 --- a/kapps/steganography.py +++ b/kapps/steganography.py @@ -56,7 +56,6 @@ import lcd import gc - # 16 bits - 2 bytes - 565 # 65535 - white 1111 1111 1111 1111 # 248 - red 0000 0000 1111 1000 diff --git a/tests/kapps/test_steganography.py b/tests/kapps/test_steganography.py index 0edbe5004..58ab92278 100644 --- a/tests/kapps/test_steganography.py +++ b/tests/kapps/test_steganography.py @@ -1,7 +1,6 @@ import pytest from . import create_ctx - BMP_DATA = b"\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff"