From 37cdda8f33fd96e8725b239621d59825d90a76a5 Mon Sep 17 00:00:00 2001 From: pique_n Date: Wed, 21 Dec 2022 08:51:09 +0100 Subject: [PATCH] init upload + readme + error handling --- ReadMe.md | 25 + libopenblt.dll | Bin 0 -> 1393664 bytes libopenblt.so | Bin 0 -> 167796 bytes python/README.rst | 47 + python/build/lib/openblt/__init__.py | 94 ++ python/build/lib/openblt/lib.py | 1215 ++++++++++++++++++ python/dist/openblt-1.3.7-py3.9.egg | Bin 0 -> 21044 bytes python/openblt.egg-info/PKG-INFO | 57 + python/openblt.egg-info/SOURCES.txt | 8 + python/openblt.egg-info/dependency_links.txt | 1 + python/openblt.egg-info/top_level.txt | 1 + python/openblt/__init__.py | 94 ++ python/openblt/lib.py | 1215 ++++++++++++++++++ python/setup.py | 53 + resetCAN.sh | 2 + uploadtec.py | 97 ++ 16 files changed, 2909 insertions(+) create mode 100644 ReadMe.md create mode 100644 libopenblt.dll create mode 100644 libopenblt.so create mode 100644 python/README.rst create mode 100644 python/build/lib/openblt/__init__.py create mode 100644 python/build/lib/openblt/lib.py create mode 100644 python/dist/openblt-1.3.7-py3.9.egg create mode 100644 python/openblt.egg-info/PKG-INFO create mode 100644 python/openblt.egg-info/SOURCES.txt create mode 100644 python/openblt.egg-info/dependency_links.txt create mode 100644 python/openblt.egg-info/top_level.txt create mode 100644 python/openblt/__init__.py create mode 100644 python/openblt/lib.py create mode 100644 python/setup.py create mode 100644 resetCAN.sh create mode 100644 uploadtec.py diff --git a/ReadMe.md b/ReadMe.md new file mode 100644 index 0000000..6fd0ecb --- /dev/null +++ b/ReadMe.md @@ -0,0 +1,25 @@ +# Upload Tec Script + +This Code is for uploading the [TECware](https://gitlab.psi.ch/coldbox/tec/tecware) to the TEC in the Coldbox environemen via the CAN Bus. + +## Installation + +- Please install python 3.6 on you PC / Raspberry PI +- then go to you terminal, jump to this directory +- go into the python directory: `cd python` +- install python library: `python setup.py install` +- then go back to the home directory +- copy the srec file from the [TECware](https://gitlab.psi.ch/coldbox/tec/tecware) reop to this directory +- (If you are on windows, please change you CAN Interface in the uploadtec.py script) [here](https://www.feaser.com/en/blog/2018/07/libopenblt-python-bindings-tutorial/) some infos + +## Usage + +to use this script the libopenblt.(so on linux)(dll on windows) library should be in the same directory. + +on linux first reset the canbus with `./resetCAN.sh`. + +the use the script to upload the code: +`python uploadtec.py [all/1-8] [filename]` + +if the upload gets interrupted, the should restart the upload because th code on the TEC is now corrupted. +The Bootloader itself should not corrupt itself, so everything is save. These are 2 completly different and independent programms. \ No newline at end of file diff --git a/libopenblt.dll b/libopenblt.dll new file mode 100644 index 0000000000000000000000000000000000000000..f78d4f4bdd3c73012b633c817398beae72c79557 GIT binary patch literal 1393664 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

M@e>p-6?oisf*#of9>4mqM79SI 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


>_BPxx3gWW71V#1!ws0DxGmz=2#CrTQ{9h6B0R z5nue{Q4?&esW|yzNJ2(UI<40IQJdY6D>^daDa;%Ivx|?-s(2HNEK~=is;%KJr;{0T<_hlIjZ_$x)~o!|NKFBM;q`{ah(5sb7V0@fh2c%ar1>+`zal$&wZsk!dY5;>K%$YYJ z-}c<{6zhNK>nEXa;^Q5CbImv(ee*gBs8yyt#ue(Dib=)w&AkMjsW@N)f5I;x1buTU zCQxb(L+hKfaZb1=eY5XF6d0{YItc*jO#Mz6tz~8ojXVHL5|aZ*G-AUPRxND}25B<|>#Dr3i*`a5JKz z_0124_n>b^G9WAZX63O$g#vwJg_XWZ;Ch+%;Fs1bj1$%+)afA6aw@&Yt+&w%o8&7( z1Q0=&zWEIn=2R;)R4e~a^^MPZ0F6(qE)Cito-Up^XT{4wCLjN+ul2htuAc8V=ktv( zr8dRcZnN23EaqShCptiiu?|=#3AJOB(r!$t=QwE4aiDs$DX(7U$IRzSX{u{f%jfje zSH5t?3lWr`R)q(dGgXPZEEVp@#|tY*N@cU`oxM#X(9HdOTtAZ-uenK4*2o)}SYt2I zHt4!YCKf(GdDr(ytEJq`?q!m>wG9|dBM+)+-x%HB$b!wd0Z&p>UD4!r`e|@v!Am9` zQ#jF)Smc-eUNtzD1_uty$AgJ`!)kn9#6wTaD))708&%&mSA-sHgX$1gsWk<)m7pb< zt%sr{>|VG>;7tytn{f9e#xU=upgE}|&z$yWwn&`J-lBlImEByDsLZ|Slp57?87?PA zqFB2vZ>Jwdx4&ZIA$uE76_GG95m&TPXbf3&U&gHg5^UTpOXF-=8fUV`QICsRO(iGk#JP3#IH+psz?Q-0mjlP43oUz=`$5u*(*dznPCSw3EGI11I*A^ zbs#eTyLi+M_C;z#)^kv~D*7byX_J}Fy z<@+EaR}#&ucj*sDDG=p6vD&K0!hfj)+Do^J=xZooJz-lz`4?Wbg8W8hLpQ^yP&9Dk zf~ah;K(uE_@gt@7QR5o?%Ba+iAxOv3S7$_f2*zEpVMZ9N(8vKLFR%e}*M2N3=HFna z_4cC5HX^Am!NnYPPu77rAs!N0Hn>q8JH-T6!9Ye)@R4QHD=V#mL(TBO)J+rOV>D$N z1~TXm#FIk%!J`LDn}F z&9&lCFN1Apnx47m4K>hGFuOqO@?O}=I+%tVtBHv_b@@cC%fe>)O zk(?%%;%`D%LexG`I0Z5Y#oxzuj$YK_|J!U6Z>}PBt2t5l^(fzof~HVm`Au90P5H0( z`>$8`yxv>5zWwPc@43%oPaclJdpa4sA8zdvu(~_s@k57Bk5O?~-+8aTnfjOLjGVvIq zw$8wN>d_HJ;*JL2|Ev0PUYP5xk04U#;hY*^a=zGwyLWxW*&kxiSQOB{A!?Zy3v&9k}VGK&VVPO+wgJ0as+epT6q1ZKBN zwtTn+-D!@m+BkqZ0hFdOkNix#7f6BzQMJc1domI(BxITDqA&;y@7{!x>*Nxl=pN`I z?vZ(6SNom`_L(K))(6#IPy+B)_x1xwMM{F`1c$alsQ)_`Aspm4og003+F zP{9|ReC&0T#o25LBps@U>)hBN_u-vGxl_Mo5}qH|&wFFl`7u1VaF^~b)_9N@PVHbT zJcti1Z=mRnEZQD?h(B&?<#nrc8|@k{+c-}@vyGGStlRjiY2!JkjnA+}=baTi5lU6IJV5e+{zMoD^+Jn{j zF}oK&2Q#2o*`Kry#!GrlJUtVhTmtia8jnPO z))qp-cu3>>AoUnDP37_SX6%h@jn>Yn{cE#y+ESsC2qlL3M4~ITScD{b(%~WCvPt z*|S5kN9J=w()4s!?Ue)PcO);2r=A8K9s|$=NQcL!Oidn*+V`P0;mt!~Kv@Zaf%bda z>XrqYE&xha0n2#$Ij-;CwX0m}ee$&SBWlynPD`x`VU?w12W$u$@NVu}O58<25Lrlm zV|(oC84ypuqh9}jSISi)PH0KQ>eJ^kYL9pjB(1vk^xD&EXFgK9Vj&S|PjXQ|_zfV3 zwZ-j6$lBuP@nfBe?GRp_ur1&E%CpF_opSp&ru?|pSUYKAtYz~tnX=e4OrdKd%gP%U ztZ!NG$GU@dau(BO6f1BmVk>h^*guFbaY1+NbDY}Obwx= z_z3Y0dOpu0sa1Rpw`)F?Vara28sbh zrWRW86}WTRFW`@DW7eTW_8_F>F|VJm!e*OR2s}(Z;(E<=${ti!Pc;0kYVoQ~ro zYK*R@G+DW!0C^n%dgoVYIX+g!TBVN8=mx{a7<@W1@JCx;1t1->X=S z6R{}ZOjvKV`7}k_$7T0a!&~T8gB7T2k8f1exUw7@{opJ?syb^U*LGZpGhOe&|C*NWd?$W4 z{fTmi2=V@w?*sp`U))WG4Lo=sx%lT`U%7w~QIJ4j&XIn80~M8;58R7qJ!jeVpWW0T zgROUQe*>~PFS>$7dzxFE=Yn;z1M8~>)^phIuVH|~KZDcR}hjcnS03dYd zP5g%E-_GE;%B$|qf2+hV-;P&{GG7gso{UI%ng4Jy!8lQ;)^;c;Xc1NgOfvQHv3Fpl@-Gt zYoc9ve(&RdKXSfbdrb3fukYWFbodS5DEQH7p7VVeOq-D6JuldpAA&cmkY6vn`wHOQ zPylbIe!x4;3(x2LVJDUTgy6w!CQr0|@Y}9ec&!TFUr+55ya!Rtb>7kkzbXaq`^Dke z<4b~AU~ezy9nDpfit=_Pvxr0iagI7V#zu3^6+gGD_H@2-Ta-7b6(9qgK6&__^{TrO z4e-c`P|<~$EzgXE^1S76M#>$@Qu+E;B5bATU_c-Z*~2+SeNO)OGEAK;nk2vvBkY;veo=gY7;Gp2Otu}-5o0gxKI z*iRAZCoUjtQX!w}C}WWr+rCh>of*_~+a0BL+t;CnRi)crtlQ?V_2+@Ewx!rur)|wt zIgA3r)er;lkWZj}A}(hsz!WoiUM(L5?(@t+e0}7P>lHC5(dcCNkkQx0G8}WfQzi)03%w|-QM4fe0@I( zE^+5Q?kLC=gn&;LJXhp3Sg*cUSgjV9*5T9xH!QhEj8-h4(w~CyeoZ$zoPwsa}RC(w*T1W$23VHlu0*&WFOjJX=?oGs)hNY|Z= z*zRk!^~S$8^Ki!RF?ujQN3!fl>nI96>L>DX<3MK*z1)#heiFhjS&bEn#edXTDUkP{ zfDi@poZ2*k#EfqJ{sU-7;Ziv%8?}aUHD6NtxZVs_^U{h;_*>t>>~0y2V9IX~j;lYa z{8*O%cCY1OXK0{+T$L5)g+gF^)M^V6O(3ieqo0mxDw_45i716<+DF_-%;q3jJkH7X zXb35nbkoytrBFy#!?1#5H6obGje3eO&u&&ChyDt^fRA>Uq&8mEH%II@%2m%Oc{H)h zze4y#AEDH@l2lpuy=!`Y1?{iX^LH_mL^Jsj8@-O2sTgzOP?-Mk0oQ}rM?*u&xpB`y zUyX&#dvP9k5ei;B25n@*ck;Oz&wiD--oLcO88Yr?g4Fu~s<;)h8sUhtr6svR)(XsQ z{h&SdlwW;!8t}t;d}|$|CJs~XX2_g+gcPZ=_8X#TQ)PYYEpSWHZs%NDp6=!Vk|(-q zy&a%8_@m8RsBQ9vn)$K@7thG}>zdFZpN)CvE($D!Cj11#P1ae^{L&Nx#~ywg_*&J4 z&%F+%Kco&^6P$@>{xf+E%zH)UCGzraU@MQQyhV6+*IUfIJ5^qr&hw|f2Q_&y_^p6~ z?zT3+y}3KJF$z8o13?Di&H4~)4m|)fP zd|nV?&-l?wjjF=$es8$WaJ^u)qDh!jatmS+xAq0?a_a!SCp}^)%_}8F7Jjit(nHhwGc(+FH30~x( z$@12cATrQx=avXt)kyy84>lK*86$6K^X3n{ZC-_U>v|sd_0<7jF%v$y&9`tTMm)3s5OUW zmCh2yLCeDrHi1=e_=?IN+N-g`(jL(jzRIodawlBWhKQSgMxKLP=>t|H2Yyk29{H(f z>o_cgp@oI??&Rs5nl=H^%eaV#$CA0ztv5H3G$OckdpXXflwuRC zO#ASM_HS$_ulq=Km0p6=71wxLwa&$oYIcJJ>SeB|ftgPY;FjnPHm|^~4je{=oJ8Ps zhr($9OqB;GrYoEx^IyX=`^z*!ixEmp-AsM5MtE_Rjj!#Y^@AO}roZ~Kg{ zgASo;gk!lM(ZxVZi=kQwd=LRejLYK>-wD zEFh4a%??Xg03DWg_}K=G@xFEVSuAd4W2PDMG2!3ggzj(x9Y*8J*?45Wg})wlFkOqt zslFMht^@i=fk{N|HgQda0ta|y0^Md~q_x<$`u=qLPgpn1PBXCC?Rx)i*XwTAv)dx^ zJqyr$0)C5lf#YDC`n9DSl;dE;XB=d!GOjw8S6Jf6eCZ8(C8HP^RqFwTZ#b|}B=rOQ zwT}9$G73%hfOi#z5VEMQ2pRW&;{>P|g7?+|HJgi+61)a*jC;R_QiCb01SA)t=}*vv zery~3X$J6#*sGIVw*A)EeC*ZzD4^`sxYr8pRpmRy?bXEuovHXxe!_3kwr4PXSN7_@ z;`RzhhKz`6SMe#J}I5Fz9fl;@*U|*|@-3dyCV8j?}wXUm(!TRE64CJ67 zih=CFGpBxGW7W~e>g9)V$Z-_XpX0E%v#2R)jG!rp(QrY}>KkX2wNRJNMCSipAQTv` zWz^#{`=obnKm;lKWv}6~Pbj+(q8&2m#d6nqZPzk(*Rh*CSbbpf%j}XmOgb|;txw2A zh|J^YtbL@_pEOHJnq&)E&PO(_Em%K#ehY$w*_mDoR;1?%)AIy+?ijJR(YA**)WrHe zpfi0lXvF$PiZWvNAbEcPd+0AE=)Wj`$CUM_|JY=bo#{1YMf#7ag_7BN_P-C-jC)|R zj1H&?i$51>abVD1VE;S@?J?=G8P1MD!0Rumrcq@Qw-Tn^@r)R#5_?uiY1nyeD{Rd>l z8;c=&uJTY<MFu2rrmEPCUNmVMIwJtQ@lzas511 zB!bfu{3aW|v?TEB2_MRC2A9h)%dpOQTVhPbVv{|=?<4-N|4At4-$GCD`-J~j)Yl;V zq5JPgJ1IVIQ=8Ti;VOr0tg!z{tEun3Q6(=2ty*>%R5I^$TU$!(jOSx4EdA=vv+ZP%$bb!3^h zHJ*{kpL@wbu849Ha9If!x8%waEP3kb<6=Ou{t4W%w%>;5ycLCQI|%*w{TV-a3$m9V z&+hr};YS?;fXXH1KN1(;$vjNt^9lcHI)=XnlmO_hhU8Z zk{M?a*!Q>!tZsM>zBq)Lfz=0Ibi4Tpl!KT43<@YW|Hv0TZax4UZcTmN$IWL=gr&Yu z(3y&zUguBv0=!wbV^@N5^AE(KMUEe$rZ#2)x4bWDIr*(2?A$_u>FAIezSHr*U82)r z@e`2+n+V1R*IKTM*W1PGS=?1%geow@E--@y0B;81)khZG;4O}Cy0G~MyLbbOyWrs} zY8IfYrSRi@Erd4{@ETg6%uQEYt5wk^yJ!=Ox(aZY8eq+`3(V56X3@Ke%=hJP{XW9o zb6FJJJy&t}{Z}3CzJ#m%$!QffKbdW2D&9r`#oe!M@NgFZ4!2H6JfR@y$eQ5pGJ?)j z)cjSrdllZW@7r+qxS;A0MU!pfT=o3Qg?M3~XiR0%Ky)Tk19K&QgL{2BsToCDFq!KN z*n=jIsMD+?CCxb;FU2cLr@9V{EVx@>8v52?K6Rxhr8P8Q&VB{MVV}J*CN6!I9UO(? z%lRk!Lrik?1|duu9Hyibp?GFdWeDh72kgf_=~;

vUwcp#sB$6*Nw*s>4@Qd+5t+Y7NJ`}B1gqzE1)sg!{ z)~>Kr>Z&!wcsc2GM^L3Ob`Kqui>V5vaF9rVY zZYrIC`qtw4T_^%lpu^ojsv}AYuu+==sz9gptG|!}HqyM>&#(>h;Y^wUbBP-!ke2sJ z@fshbJ4XTOz4DMg%!@QeibncH3`Qc|>24s^QB9=T2$7C)T&V(`RyPDfE_`rdUO;XW zBn99*+<<|(y!(@TJ7Rv;MlZSBJoR1Vj%v);x(jG>vk{xzsz9f8Brta&jopH7nZrQQ zoJc3Ivr5a{2Ux0F@8#zoF8`zBLENy`?Lj0c@tKOB zp@8xr#;o;t5aJ*1fq7+t2f>=~AX*4IQ?Xfo!pGvry5gV4gZRupgsxPsWD_17YnN)> zD*w>h!_Pl_@kNKb5B|>0UF{#PLjlFzqkiY%uK0&X{K1F2+CTgOL1!vP{DD8=Z{W?k z1J020{yzo&;j-Of22R72r@#K;mqsdEw$#P7qWg5^$)}NTDSG97rYcG>L31$L5u$Qhu8c* z&tcgn{$c$tK)U;RFVaQ*!}p=R`sE+K41xHB{KFeZ0P`dBFmH1Wc1#x>cRZ#sSMHzj zvXwjT>mQB*=C%`Q*a5v|0f0!yR0mOSiNk`@OHGud9 ze3HnTiaC$l@wl@O0mM^bKxoYRUh#1P}TT2tELMlj97p^b zKRKoS#08k^v9gIHw#d727FrqD@({tq5fu@xbK}@^DDmoY5TX5PFA?5#x90X;euYoE zkq8~`26_r5eiuc!iMCjN`01>T+R z26~DnzVI@<#Z8{lg+w>eM1?$kH@mAn2Nd@p@;l}s-{z_Bau|=$$gg!5=qaGME0DJ_ z>7&E=1_r}t4&%SW_xd!pv2Fat=ZE?Ei%p%5M=|{Yw?~nnz-KB>M*-zgJog)qM= z)1A}-{{G?^g3eUjE#C z6nD3*@NifB#lK^QP{3X7FCInEnTk&N36I2&RgbNKpB{g4^G^vPeGgyGOHe{mM# zb^Y=e@eSX9zrVOWX4%%sk9dht)L)zk3GbJ`csinJ9@k}C`HQCv1l~74?8UpNzj!fN z-7kOfr_X(o{^E}@`L$kM?+QKH4+ev?jfe<*mefAgMcs7sdeF!j~0?vNsFMb+* zxqk=F&aT8_w_^0P#nsv7JnK$V2>%O;2kd5E8A#Fk}TfU@CfVut)guGXvApokg4Y@k6~g z(Ifnx@W1Si-hpHA^a#Hf{CDp|6OO*ppBKv8!qr=T!S|1FLp8rri0C11GTGjBlo}V4 zuEs5hdGHJB<7f-&#&Nt3Mjc!H;`*|QguZMdfq?8~Nt_77C6y&}6V~6^Np2k`8x!1? zi=D_(b^S+_8C7ais$}t%<*M{$6LHUF6Z$;prz}({ADSx^P~h zpi{2%RQ{)&-hHyjDW@Xivx&@=cst~Beq|f*6__9P7 zi}OW7y2z2u`b%|AJ&$|}{imdP5Xf$25i(iDv7De9ENraPRdQ`b-3QK!$N zJc34FywgOT=Ka(Ybpn9Ht#AH{Q?0z1B5Pug;&9Xifa~QaoI*p^pP|82)M<$LI}gbE z2u|G`3_Ph%7s<+=s8rRBZd}BH!>{a-DArk~eF)Mo71WytL__p9)66fNFyfWI%d-_1}sR!7@*XFhINXD8(lQ~)$MK?)}cH|FbD-y z6BM7pcWnbukdm zr{LH(M@S^~bNsa~UP8h;hktx3cp*$uW#`~JW~2U<=Fg2Q(xA6K+FC5g>0fnI7Mi_A z<0%Kh@g{7_Oh4MWKfS1Vn=l$L(KhrP56L)qJ$z|55|dHHmBpeTNm$QLfIoJI?d_W?qj;UQQ$gA z{I~Ce;HS%0ad_3|hGBpm^BXnTLi9rI|7dq7mqCXt!X6A(^1J; z%B%PicR$d-NKYGqk6OSL!LwXQi?hdY2W2I6bh;)w}Tu+DP3y*1656&O%om=?6Xd1izy8fET+) z1#g{vo(Dbh=ZF@?C`U{Usp=KKM|?0C=)xd(v})xX(+b487_4V}V6D90p@4K`YrIX5 zYWP&Xh(2@&^+srm#!IjVbn;?7uqMPrP*-j5nNR#66&K#(4%nUINR8YNam6*T zlUF5qQ)^l7S-Hq}M4^^+NTu|px<4PE>&tK`WbdSJB7*|fkL@QQl6PrUNbwwhwc~df z-IRr^ZEiNCpRfc%i3kQwHXr3GbE;Lje9%_PqV5`SRq%xIye1cxK!qD(x_pd2Tnw9y zy2P2J?}zwA3^&l}_n6V(sjdOow1y99A={+k&f3!4Qcn`DDQt38XfbOM&l7 z0a4s)|2w**KXodWDPC?J1z!+u+OB!YHxAbtB6*N*WCXfE3SG0ZaL})TBW);@o9e0{ zBM&`}m6HOjex6VDg|6zla+NOrC7d2^_1=fp}b$%Js~0O}ZBB@8m@& zqohPQg<5Q>Nw+VhiGNdf#a=t&23$Db`qL%}YrE~S&i;GT6{z%*7Tw;noX@*^U}OGu zAI$f6WA1?e8Q7bPMn(GYz=T=jKFSwH=pM3gHP_T%I;k?n$P}S zKDfrg*alY|SA<-L?)EgIow5Dj_~cxYk=oQ`y@bONR1nR9mSA>2EDYnhRm(uLmB8ja zwQT`%%qg`VE!JImV^eN;x2l#pT(Dx8I;lx-c72eIOnv1;>;p(%1XZ;GPlQzu@3I=) zkp1mdd@wVrI&i&}Um}DoHLrl{6d(fi-4&+}ABJtrEfX=sS86Oc-2c3&P@n$rXAU~q zFA)a-ZMH7Fo0>>2PVV45P50@K*E$etmoG$skkxf^#dV#mWg{mY{2V z#&%{z@>b^0yU@GL1ALJJ{^wf_@Q@35I{3yr)U0LnOAgUGI+5=<4}^=aJ*$6c;-HM| z2yT;iT*PDz=hq+5=R|ti?(?vG2z<|c9KCwwmO)r{0MbWdIj#;}z&Z!sj)D55HI1=X z;#Mcpu_`=6yOuq{L{j=GMtksVd)12f zn?B$u^!b3uf_X+j=CzJ^VC5e_Y8fgLn`*5JBq^wGxCHh2@3}|8qe@UG0Us6JI{kZj zEx_bPA)6C<>)W4f!8;w+KrtxtU2FzfU&67+L4rX&DZYCWx?W*d+A>HKj^J_m-OgzI zk_V5c6dpfcV(@t3YCk;E;nVkp?NdRM_Tce&Ne6Fui=(NOqiIir2k+ETF)s{WQ49E; z7UHK$a`l26zG(SQ6+UT8`n>4E>wcHtR=fN~h1V`NUPt)g1+c-N0+xcC!fictHqn33 z4sI!ir+m^Xlsn0^e70%%4p+-lJT1SfTE6KfLy^a>Dxe5tD7dHHurH(ThsIWnYRqiz zR>7deniz}%IYu4w^xyRu;jB)xxYN3n^|m6||KDg(|HJ#F<|mLh#Ct5Ccn`l{tk$F4 zoP%BQu4*DDUnS~yk_goE{pgV}2dUlG83cibZ@2HwPLEB4tE_qG|*k~)hs7GoO(g^3 zVhv1b(1;Cs8gLyU*xP2vf`5YsUl<6`lK zsZO*9OC*^jNQeJAl2u`!gd%P#ptDO@qj~IBTkhRBmSH-7ebi}Jn zo0qU1X~YfW~{AzTElqO&K^J* z5R)bhoe#M(g;tv|9bAZ#{nj%7;YxoSqUY?F;Qqztct#>RypgjSgyUDe5PRsZ`0;CS zwyD%7a%?%c8#)yMI2Q>P99u0N-vK++yv^xXY4bTyLexouT!jCCPIB3`h=MQ&tJEf!rWGKnX$JmG$rmCx_p-WVQ>%p+~O! z3ryaGN4eyf$jQvM43 z@PK&cnjNX?NTQ~?bSD;kZ*PQ|O=I3T3>Rd=fBPPd zA3rsg37^c>VsXDR;dd7d3e?Iv@k(yCNQbNo5EQW9ho6Fu&u9;2ZI|gJ0m=jOOs=}RxRV`i*+E0_F*}G%~Ca9g`=Q%#}6=7T|S88 zW4@e@g&@fV=~957$KK7ZrA(mJ_-(FjXH%$TU4v5q>EM2U7GJU4-B4tmFgLh zUe%h1w5rqMu5&UaehKihPQo{YRN(VSl9g#3bp$ldzwvP{Kvo^19xC<;TAU@3M-BLW z3~C*G{Je{#r(f=1SG!!k$&jgd_`7CuZ_RUhX5%=T(IX%w0gHNudcP3iQOF*|tKi5sdpI5kaQ$ zsJAXeK$sLW6NN$G&KfxCxi7d1U9aa3?n1Yq5N926nRQ%_xKek;4LErS%RQ0&P)4C7 z9US|TnpKR(uO@qB!CFdBYU(d`LbW;Pk_mC4S30}|Np`sEdwj7c2n+aTKu<22E6adN zRf#CJs%5}dH7np&&vf`W*3r&PuucFtZOOX{jU6hPM)#qi@ECX95t1Do$)8EVA^4H$ zL*@jcG&p>Sj1^9i~)YLPEL)x&!xex-94$i<^cju&F0>8=f zbTH0$1cPGu%{4{tmjqbM(%e^82PY%3#F_;sTO028zwKy&+b?ntfe{?d_%7!{Gx!d? z$QgXAgKw7ui8aCJ`GbExle<3j5B+IM2Uovf!gNFAgiDsUYa?J+U4rPw)fjk-;a!eI zL$r4>47VNGC{}(j6-lsh?g9t~SRgHB64V6=+d9VJqjH)~b;YmELYH%k!OJg*UxeqH z(Vgj4@Gh#A4&jy(EXo2#j41aqNyq{f6;tvKIdn2C!vyVgzwE70%{ zaN(r$5Q8Bg+C9x8%YqqZwSz|<>60IPG8$=n*V4GBALTK1s` z;=Jf{Di+YdnKJ~3E`&Zp*IjYM+Ze!0(aP@dC&8ckZEp+^72%u;J-B?m9Ti!^lnnRY z#;`S8!Z`7BI?B+OGRW|OCZR+p?3oS*pCwtaeJc4SlUu5ClT#t4*Iw)Bn1SayyfPyD zTlCL3&*<(KF#QrekSkS(ECeCU+s|Go^LApqm83vN_xql~i zE}fYyz#SPi*@0x!+YMh!`;ichMILdTy$QL9Ra&j&wo>;0vr zxnqd~u!oMMQbhf#^t3AYAF2n#mEvJCe6(^pCdfcHq(R@6R26GNRh^5PP*vY&3z={ueysf&`FR>RflptaD>BB- zPU-N*5OoyU7$cs!A>d#PjspIosaSB%-b^5IIrm%@(w%Wqs-+rECI-JRpcs*qZ^1*T zMBQOMjgl6bzYm%hX)`Jh8x|I&QQec6>Iz=+O-~B8-AnUnG|#9jUcB3VWcu4)_e7{z zwQ8xu4K&3oS7$FbsHpAv(=;^h)`aSoQKB|q0-SavXl_qK)PUpE9b788(&1Qce^2qt ze2TAccZz2_bP$x>xqJ}06Bjpt@5ih625@l?s=fac^ISL}dr2ug&*2^^HTFoU(ZZE? zyzjP*V<>iMc8`=@CE#3f@g-)Y+;V|KNJt%y_f590zu0G_uqH;z=TH+PWry#`NST6$ ztO1DiLoeUJsUASIs^Q%0`MCf=Knf@k$qU>_?xv7@;bMd2hv$2c#QC|&*1O;GL6S9r z6E^pnyD5w zQw`jzgOQA^p<$J)I({a1!XoV3h91a5__Xx&PL8>UaRuWloy~|BhCE6atwMG1aHyb4 zNL3M)lDc>m?8naDln`f8GvRF$Gd}acIG;;fwoeBSd{TQg$T$=k>{m&4e>^d!L!7B& zT46OYYGd^}7zAW%@$N0qfC3G!0(hrVRz3nf^NHFs&-*T#XrE8V(CAH?;L&ceF5Ls?Z zb|{E#sF+)%K|riE;g9pFQs$~+Dm0i1ai0qRbGg$7IQ0q4X#C~Oq#FLi)uj(P32{xh z(Sw#_On1|lVd8ba@9u`*;_FG8`Xk^3ZG48yU2qdY-6%qQYx$n`bsJ6dPuc6;!RJ?F zZLO@5b=!lF{kCB9R3F0C$1vr~%C#+XCs7ZuyyPA`Tn>LzB1kJ%b z+7`{r-!{3Wcm`J>G8NIeMvA}CWnYOaoYh zS~c6)Ny0Ngp_X`XgD|5r2*MnMfz!~P+=1^0q0kUimN11Ze@o~BU?!p~H7JQ0DSJ0z zzSFyxzvk}UzRJh`T#M;l)7PBdDF9QfhNRCJWlfCH5Nd)v-(U-w@Do@cwI1jECm4Bb zNFa9(u$zLO(cOOi>)=j0xaCn=Cr$g$+Y9~oR>sF-6iGfbm=SW99L& zwDkbjz_Ky25zb~O_l6;-fjLdg!Bp$f)~yVT>(HqB2QwdWU>pcR6PQ;k%+Ds~QH43@v=l{BT8p9(9e5NI zMdmAkX5XM}MW96j@kcXFq!U17RN#-^EIUAC6X}p+{sDm&0|<6LbiseIcRt*OG;U>D zieGMJx&yy@)X|~&5V0^)Dn{Lp7%F3bIBzGdF<7oz!9Ln0sAr?JWnFwU#)Y%ZrI}TL zGQ(PG&}gG!#*9(%EB_{NI<50z2-J8&B@Da}Uz-0bHrEyzpCSy94^lGFaxi$&i3iXg z2E@D7jI(v}i}WVHtZXBuD@W3UM17_NT6SdS5@t?1O$N^1%mz@Vxy^RWN%UIocd@g) z$d08KFH_?u&(vOoNT->+SXaXjvv(}riR~_AAjHUUnwwHPt;MF1mI*c<=rUEx)BcTA zxEf)1NeHdZgeFRz$>V4l0)16yM_%eEg^{NY6a~Q!)-FF@*}?f=H%j5InNCMBE?@^I zTerYC6(|MPgi<&fHK7zf&mLvMe}r|khGNSTLN$ve?qxRBi8>?yI9iwEw{PlffD7}l z&2(dag2McXvkm5NeZ_;hs51*QjRMSB6PPbXO<>;67Bb=MiTQDDg8B0$wxSSw7_tU_ zl|z=J6|O6>%i&^lf9$G|RLG6h49BX5VgzMMS+QW6XS|0Z9&{0Y#nQk5XH4 zqXD%t(WAobThb=Gfixv;p#e9;^RqQz7#*Po>_i?lUMB`B$YAc`1RL$7+3U@Kv@Izz)&f@gnIDM1wAekUqHz5fY)X#*0j zOY9f;OY}drH{= zK3FYV(}A!+cYI3{{^DfVwK>~cUp>nulaG^MoVo^*dy;=`!oL}eb55^pur5H1U1U)nL));&4f`sPuBAcowZ4%ayKF%+tJy{fW`RhE+ zA>>b1dgLWWd5O=7SmQAlGde8yMdB0}p2JrHqj{XNfqkzBKIlIdmaSQ1$WzQ(g_tsc`d=Ofa7Fs>4iEP_ z7inmMffANvg0oI^o4{(i9+`?YUo|H1Z!^Sug-m$M z*I)v_1icJL_*@dQ>7Ka}>o%#c&zYXcDR~XW0%4>2dcFE9V=;zUTNO8{w;>nkVhm#O zg7m^MD1FIDgY_*$-q{%jhg+6Azg^59d(6c6l{yNlz(62g2guWCFStnDU>&T7VD+wu&fi0Bs*&zF3>o3ov zx9E3+brvQh@VgllzV8eN$tR9;BRN_jxxbC%2`(fRoU2ypksw2W@$_RKcgNEYa#7$s z5Ab~y@U^EI3T#d|6i@?79~p}Q|0Cc6GjW^SD!1GedoH5?a8ww^MiY2Al-6QmD2A(v^YF`!&9QpRxBN5Hw{>v?JAB{cA z{t{?&6vKb1z-Vh#-25vCE^sp84)%?B6?I$as;C~SI3GI+ShlCq3MZBT!M2a%sgxoT zwGFxNGKC{>7r;Gcjj3wO+Vrr>(b(mRF;azIL`SbnKQVL_?iE3qbeZ2?C&~=>8>fQ@ zpo|=&$9A_&cr7BU)^sRpYi}JCh20jbK7`-W3|P0qZlr_n-OWn4sw6pf#m-3XuGr@; zZemRiT7mgp;OTwUp0<_v@?=czM6zCL+1#z3c8ALBgZ2h~#_rRV2tIh{kid!_I^Lg$w}Dl+7aZq4_@UH0bYs}1P0dPr#m?eWa5)GgTou$i^bDC9ey3C#M9yC$S~8^Ld`Rcg@gts7cam{ z9XGWul09AssIg&8ls90?PdM_9h!oRWkp=>8KoQjCVZn{+u`Z5hRTEQ*?ux(NK9nUY zNzzq#j%P5MyDRQf$x#`FEqmanGSIS9VW%z=hYpbo;)4COyPS$n&U=(J*=8rgNpR%@;^+1GJ6`B1%B`6iY(>d^%!O=rmmj*++`{HxLy=(bz61%kvo z76^W4hq@7LCZ>zs6&Ik?N+u#o41I|=G+D%8n1=PQBk!5;hChL!Q8-Uz=o%sp_K7}^ zS!Zb*z=5!o<+@H_IjVZK+)&k1FP%p1_N)zGR1HAJDfx~hqD4uNrHq9l{zxbS-{n74 zp;WcnwZNMrj#960Sh|e~I`I0dA0wCsry zGXqIZ-XH2@=g5rgWEd+LgbwB=_ta0N7Z1@-m6r}d-8$yV;-&0~L#Jpzse<%Q_Iq8S zj&IftRLV`(DLPRTleS?fpoUT@S~d$Z3c&H!`O7tcN8oTZfwxYJ>^6}6_bMNo^}o)~$M!r8Td%TT0DOm&vJ z6O%)9_ShDjyU;Dv>lSSOY^R^fBMW{A$O^Z+Fq4A7?`%r73|*rZ47gz^m$ab`QP2)z zLkFe0T2+&Hs&A<(s9TP@cFnb)SA@y!Q&27>Xw0ZQ$Syn_8hXNd**Lf5S0Y#FXTqD3 zei&&p75X`73B1Ws1KuQ|aOX+8*`>Kl6{$ib6&@2Dth0ABPc7U+Jd;J|a>Lm8fL!1< zzJwdZ#)Fen_%H>u*$L%pB0p202cSIQ)#NlE$_U&>|JBc_zGhEDFg$X*d-O(-_lb84k-L-tAJQ%69hPqbDbRV`;;W^INt zQs0?XZ9t#N4!0WFf_SP*q-NU>n(Hsv0RXgTsg}OuZmC4IG%GhNSA~*KPLq;Ns^lzp z$roaRQ&aA+T!jOkG_BdPffV8se$Q2PtK4;er0SjvFOfRu|8{eUTQPr1p8KM|laL5U zf6o-jGOFPsxCLO(%F- z!#(;N0FJi~gO5>6e{Zis)j9bI&&Q8-D;8z#v0{33$MJfEEb!=WH9NH~VGDXgr9G%# z)y}X?V#VZDK=>Qc51D4Qfnru@mQv%(sKzVcbExqqTM?wnpCQRoCHG{W9-m?Baj~7C z8ZSJoi7a#J@fxMa?L;V5l|8m)dmGQoOcO?ZCS8jBN5C>7*gcCr7FXnRZE)2ZTpgRL zQ<_{o)wk?xny{^aN0YyMgz0P%RlaOSCFYh|;av|Q^D1uizuuc7s(hB}zz*mDN{Cy61;ydv`#u*&E-hs7usVc+GxNxD;0M5Ujp5~dU(Ot){nF)5IVf1^HQ`!ckIhlt|BKMJ+{jJjQZ!udu zbUrB$olnX`k26;^yd3{RMGg$tp|7E*IvW0k8Xpb+^_j*)Z>aHTcpUngVbvc=QO^57 zUMJdwhhB}E@X!adg-rMsyjiOl6|skq>2M$euDY%}66;2`xBfSnD5d7bTNh#v(=~EWQOkFs1r7mblTaS zl`fO-Gb%$sJVfIMvsdF0LVy`ih=is<$mK(^+489^_1v-@lBe+Q*ftdRckgRx6KX)r zQ8s!&D25#eo!A16$0_jv@>!f%fvYclfA0|O>K{e(U|fC4nhv289L3c~Xzd!kT}cn! zbqvR0nzb0n@t-Zj1Gqq8&JB)w&W( zS9;M#u$?=A@uz5&J^nrT9_5 zSrg6dvPJAm6VjZ_Nk>sYsEZ$0_C?MfiGAUdvM+p6_9el}VqZjGqGAG)FatA)8EOV` z_m>^}a^ZL%`!WOtR0Jq6-eX??V20HNm0irftUXce%bjc?6aE~2tTPz$hw^Ur^y#cG zs6I7k-_`boYKLQUIex84@CR8b?x}PWEeB+oL)j+X(-2>K9wC)Gu&zl1BcA%x2okvF z5kl?jO%*kd;Ek@@!qnqY(XO5?gLXWEV^0|*9@N`BLYg?#Gy&tG*hLe=Czu##98Ky2smqk>ST=bh?qT(z>}Iscq^B?>2t5HS}jJ#TQG!zbhe=;v>+Z& zS%Z;bIVunz3xd=Jr-;(}E<2-KV#m}hls0H;Zi3*TvV6u?nHshNQ&TrPnEjq2x0!ZO z-m&Et5}-_tdKObtM^i(n{?iXTk|d@^`T;f0&28G$)M--_FPMr5sV{-Zi#%n&KwD#` zB9b=|QVYcNR77lzM;32~J5F139kAm+Tb_SF$u%@S8#4mh8kVwc4Q+Uhbt|$&S|jtt z)-1v_#kMtiS|YZF*GqNhXlwM8fwpEvJpjAR#&R@Z?e1>+O^gOMy#zVh)=YY!2 zx*sURpb-Wj7We7L!NEyT>Y~;HOnz&BUZVB@scjKW*7=m>R3A3{^uN6tOgReLdxcv2 zlWFfZD7Aw2UgjwLWZJ8TPhHU7leBn!YtOr01!jfFC!CVSuYMU3$JLaK-i!z&WfYF^ z6zOSD<*#QMklPBrTF(@y@@*l+?*wV}Z6S1l7kRo6+`96(aGr3ZIG4=p@yoDxRK4jt zhobRzM5K^haA?`Aw>tHg1sdC30Qevc^6SU0B>TPDz=Zov?A~u^@3_mBjD1riCK#vP+J3-khtb^ndX6_hpYm* zQcdemJtgIVZkx9}dw_o?)hSO>aN#PH>Z-nYNBuPEGFdeX;fp`HTAg-=oqLg;ds1$+ z&aJg`PqA|k%>@Ndm-IO8nkSo7icFD1#p{rbHQmX9l#<-u;zofvOQ0D*!{O%rTVvqw zTBe!adBZkc`@;a-9;!=AYkpV|~B9BB0b4v@X*z$xE04x} z;UG-6LHKx&JT|=c`)zb@h;|5)vSd^XMc_nxDY8t)RG%p_9Eci<96ZK{BAszVkq0Xa zDRTco#VPU~)C5Id7s7<^z>l>T)&)NXMU1}Fq~NvA!ggC3i2xL`eG^g8Y)@3WJGn`* z{VzwEPX2y$ekW_Jb=5wdWKFRBPSivvA0`?X;kZ=3Z@l%)m+`1{aew>! zFH&Cjw_&tTf8Y6n>2G#aVSisauy}u0peFk(ybXU3Ki1LEJlm$fqVK4{sBkYCA__7) z9kXhkcGx9h^<-6N4>rkD%W)(kk_p-G4d9Ha9I;cs&eVuh-=8J2|18yTr@rN?@RFVS zzN-RDWFN7!8u2{})55)WYBN)H3oMbn+Rl2-RpDYg^(|KgmdKuAXEkEhY+CrDo!ZP) z(*mBe)ppivt_r)_srWvlU4bRC-54rDgQ<gmyd9YPEkp_GD#O@cCJ!JOl}XI zjd5XTt8|r zn3@T?akMMin8@ z)mQeqP#&)Et=KC+kM*tAhxUH!D@eVzcZF}YKD4(6yF>cJzaR9o{QEok!B>biHb(ZE zkFf^_e(btqFg^JCmQ_5{liVY6f5~BGLt0Lacdwe(-I+XoK5hh$tIU?aO#4ln{x@x9 z_ebhqrfkTVZYcDrUHEfhM?75;p9}!Y;;B`kX(3cG~Dw(-u6Ed}cz& zBk|oj;;BwEMY3t-_mCg2fPxyKZjw2Rvz-xg?-G9{BYC(?r6S81(jRZ0sb9(?%LY$g z)gsd%gibKYhqD)AiE{H+p1U`{#@JQ;orsw6r~OauQEs=3<59|;m+Hc@n?}g&RIXJG zV6PDlCY0a?@WD@E7xqB>uXbDa=nr%My*hF=4~huQ$yB$bg&VndqBak-gi}*@`5CUP zlQadg_z8A}KQ4TNLxf{C`zP&VHqA&`fls(&fBm2q?5Iaua;gt^s7oxWz8jaj{f;7q zX=T$t;XuR@b8Kcg%scrfD2aG)Q15uEmStDAg_jy8BLzA-a{u6k!kub;rV7b=O`tj{ z%gBh^^qJt8!)1We|i3k2Bs}-Pk^?6xaJvGWg0fQ0IZdSV8|hK&*^njBwpu(6s9F z8~nLya5vT9ukeFO)gHhT4Ys2}R;#f-+8$51cs$iLW$vX4QjST?ggn+>nI~wP0PDI~ zBBtJIWk3O?*Y_eyYZc^|B6$?xTFLZG_{u3lfzb+~aSEX>%n{iq05D{{1;;6^GY}B) zknuMP$dL-jOZY*rE>u8%Ng&`#g8^|mLF}0i;sFJsRDt-B0`aT@(F_o^%gYga1lR^# zQVrqQg-|*xfJo|-x)s1rvbQcR9X#zW*Y%PTj|53V?ZGd2(hYRu&+3l=;HH7HO59zI zds^wVcI`iB3?DM#8Kh6yDy%U^Tgp{ZEtBe2mE|Vqo}lL3VRkuxDlZ(o9CIj46>_6+ zn?RK0p1lK~p1>0_8S2dq!c;+aT@^%}4QBqo8s8f0p>bGUgb22W_}97#Ty6()*0=YP z^eDpre!*fnFUP}zPRB9v_fhJBjLVEU+ORRsXxF|A25p4*Bywn zX?&w%2y{cQ7jB$%CaP_Qi%eoP?grqit6>1N{#l!Q1E!7-9QIx~?URWH% z>`)X(tq%DKzjw&MfMsDzk1!-xZp|7C@_?!dd|tH#hh$S9Bfe<#bHDogHDF}=JHXT5 zh3Eh& zn6RmDHLR(p&>RlHDJ&yFeYw~eZE+W|oZL}C{qIn6ki-Evdpq|4Jb}=8(KSCg%GFy~Pl6I^4FH6feY{>)OcNx#6Fi8X-bqlnTh%@E*B*72G){_;hA=33l5 zB*6W$T|hj+Z&B``r%t^lAbcf40om$j|5Ajo>63EL{FQh=Qa_eFk6*q&*+XG#Y}eAJ zJ>P99)q8=Qwp151l+!}5Lc6l zO)|2**U&=Q-WhYUVzT`ZYGQCKWDA+_H2hd?2>dJAJ{OYb@%#RRWjs&5jk#2o=>gzMT7_JfYFC#>8|`kF z6YcK55#F`Mb7_q;08Eo8z+;m5iZ zj;l+%gKJxXQ zDgOuCiXLh~6g>{7D@7o*aRf{R{1Y1mv;_7jD8NK4fjtfivimX;PAD7+Tr={R0=1>z zSc86!g`XVkjD>|kpRtgeV8+7mVBuI8jMzc3vG8-$#8|k9Eo8!z@ng+KfXHJFThmh!PJ$aR+QOs_})0C;~heyk-3jmU`3zJf9!BE5^!**of|$_t6J|3wn6W7{tgqQ<$@gY#U4 z^I2$F2|+sG!5PQ4CtE4Z!3ujazLk`#by{)g2UGtALi)M+;Cu@%L_wG4Ce1 z!>wB}4=LcU)<<6?=uE`}@)Hi?#~OxEiqc1a>Aybu5dmpYyznD8s#+htIL@FN@S-aE zsB4H1s#+f{K~11KT%kIisGfoNvqH57sB(s+JX<;ownm!m(MYpQM#=MvaXb$@K7{l4H>yDv{KxK^SS?WB%?$A8I8>jppemXFiS5(+`K~=_*G&=e_S{wN_BCqJUCRLonp> z6;$aUA69Dxbr(TrDt6nKKjB$;v(DMmjC$@3G~>CC4%7QCRG)v(jjC2qlWbH^f6s%e zD5#SL`k<;6RQEoDYO`P*zKW=JAXcsv)C8gm(@3iJ)nU5)-K|tlIvA4gF#USxPe3*O zp1szpX+f8ppjtIqdmG+w*X1FosHTCK78Oi^w8L~CYJ&HB30=d@_^~d4c2y43pFzm2 zb(rpT;k<5(8)vPWCfYck^1tkT3!I(9`TyC?ZgO^$b=GBxx*f6MAoP%6QxPX@coD2N zSmLsXSOkl+Y&BuiO~^V~4b?U%(v}vjJCTIyhDg>u?r|xpy39K2eu2-}=a&_nmj77 z&}|hd`6+vT8_4%n#MtRZ{#M`Z(P=(Z_Y0tE?9t7rLZkZhX8}~j9xcTfBnwqzkIq6# zpt?eS$_h}Cio2+e1gd>^m_GVwH7!y%4%1c}t^=#IFNro*>BCR`8epu_kB3;cHhmgk zt5~H543qL%rNJl(wzkSo*(>-_FT=2|xmDW4hx48RoQ+kwZflG4;!grNi&c7{>+@_? zFji?IN&@E>?13$?-LUBGL^!BD9pz2Mi?j*hv(f! z1Df-)*8%;V-#Yz2|Eh2Fo2f-|9^z+kWeqkCgv)c&K59{C!A3{JlrQ zCw)QTk@tE-ywq>?-&ge-((nA^Tc`hUJqqkW`PUKsO@IH^>3>9hoAUqm_5bkq`%J$b zD)YXRC@$%P4fWY|i7`p2gN4Q8VJ8Y!AiB>|p=Y zEq=HDQ>)%u#P3Il;m${`zyC1yBM*9DXF?tSN)OoOvxgo~ANvI4Yj1alT_5rL#cOLF zzbDuc=Ft_(*jimG1w^ew`=>B2JzjWW34i(}w@Sxw$Na_mj(N#g+=(|ljq1Du{$8s1 z6})!dh{xd!{Vv54!w7esX#|p)cLcx_Zj}z{+Hh0PpT1uC{pqpD57%;6WYEKumvirB{f!{5JDlKU+3Mez4_LWYBC` z|J?vvs<~QJf)QO7TUZio`5i&GRTRF*pRx_{rq01cz8+})u~=ihjA%t>><01a!CX7u z&FnYH=t|1$w>)w^PG-OP#@X*}{;3CZ4V;%^B4aAB9@n7P<796|lU|RrUqL-$4fsdT zez&uffA;&wn9d;&1u;=AIfznt=pZwB$Z?tPNXiBu53Aqt^Y90R-d6FOcP$T}d^^BH z97#D^Jp#`)i-#-;9v+L50Pvu&vTOi(xHDE5G!IY2foG(=owZQgT{hqaE91P!QdavHg&A z>J;m**K&YCulJ(d%!Zx1Y#G&CiPb}-b)n=Y0l^tL7p8Ana{)g4h8Ey#A{rDRle7Tk zBLv8`(kuZoktO9fPZRqPQ$CQu*<@KjfVHj>uLT&kG#)T_45&UvTdOl!#0c<}H~j+K zmG!n&?DUou;7M-=1PB15)r1czz#+_vE+dLx#K^NG1o-JcMS$Z)j%CI8QHwEEt|vuS zB9B${uE_Lv`RZ#0k?AimMVb@lK1HAP<*kUK#(8W^h_rBnj%s*ab9iq40znA4jF@>f z>!lP}e-l#D61|Ohnam1<2_`pX!cx+xxXlTR+Zs<^8^*VGer+3fptlgXKjx5Nl&3A8 zk5Av>n6e(a%>Sy-nf`%n>aMO#&;f_Rhve0QFU3WR<&>zLSC$E6+WVp^=oJ+-A=J2q z+d(#Nz{lm1%FDa=7yu=5drxsjl4#x=p(Fr&6A>TnVpOEw#w5A6&(r#AtcAMB^n+oBNW=<~6`3*G?GI_c zjc-D#x{^Pm6_7{vg=bh^6r6XWy5tq@o50(^#b?NEe3Pbgu`y9LXXvg_TTq(;t+knX zQAU2X1!cVfC*@Wwk-Hd*lhR|~_qdO@*ZPSTZH#c`UA!#AD$b zJ(hng*XDR8dEgh6c0sh&m5-3jY-Gw37ZX`he)EWH6{9rTilY=k-#Wa#d{XOt)i1Rv zthcRV)ZeYt&UrN;HRB}wPZ<1tq>&vAU#N=_B>>$p2GyZmfBg|`wFU7uoeg^ zL2YC6=xVIh4hl!3ScCuXuW88dyrieneW?$fcTzX-lRdyshLUpB zofllKRZ5y%y@|N4Pyb3+)mX|Q2R6P+o2IuMnQ@_M`| zmY>CvP`eaL0zk4<)b83>p?1f71GS@9*13| zG>30u9uO#gQm_F0BwqsjEaug$mr`K;9Z2!{S-$LW?1JS@ZpwtE{C<`$X8kNtrhuRI z#uuM!KdS=;bN0&rRW8hb6|p(}Eprl&!>QAR&vV0R`J7zK?YU{T1(vpAEqgt_OKGTh z3WnLP`&SCnp58J2gO-)ap#-vah#?sCF4OO|j8Z+ygkX7H+IEGBuw|7>3 zAK*-sKz%!j`R#_n%=*&tO!^MQzFS@2)A$yoZ`B4F^&Q)%`rx~WKzL$yTaj#rjp-!V z%4m8$K1XeT7bP38D(PQSYFImfSP#xtm3RAA+C5Dihx6 z7JdxnFx;rwBIZZ%#)=FC=W)KM5R*cdVvAs(unV03$(vIxv_A5$e)|tz#2XG~rf-eu-6_3&qh-$m66p z$jF5>l!r!+g;Wp6KZDRzUe4S)b}&9hosnY)CvoDz*ukB11ZnhC@_X=Lt<7V@stHcy zBdac&F&Fqfvg$1Jd(n(`ybBBf7K-)sM(bEyh=}x>1yN?Ol-42%{|>G(O5HlP4k=-z z)R~&JzuO>%5#=2)DBJQmlKK-*yofn`g36c~g%kAlnL z>VTzNn*G?OG&X!lR%~Gca@c<@KA{ttFIjfvN7MxE;~zYkU9NR*ooG<3i^FjJ#9a01jWljv zKBf{%J-;Vt%<;$Ix9xw}tYk3DZ&-4uN|rKnRp;w|nmM>|dkXd2r$6tS6uC${h?62` z*$1SwlRlJ}DuflLfnhO2Bi4|?11Ov*PV@M+{M`~$)(@Zz*xsi(Bt%vJD1G3P2pK9aH^ zP(L7lh-^VV{;E?yke0|`lW2k5bs7aOctM2G)_mAnnj^dxlG4&%PF}}4_cRSs)CmL% zpA3O>P^0dESwJ?Hg9%sad1#0srtZQqoW4FdW*g_@u7)z3uXUQiRU7Bb_I`}*)1*vW zOvV0ww$Ds2!fUVH^?x-O=GulT<{#Xb4sR;v5<9oI9bQH^07*=Z=?*Ur@%TDCXc{`b zl&|B<)y*Z+u&laM#BTy+qJhpW#EH!8&h2Vxf$Z}%lGYVM_jc9ueeB-EVvTijcW;hu zcw_5;AO69(_v?^D#m3gV9UT2p)6mwSgWD1_2J8!|`}sP!jWFhgl=|Gk`6cQS(3Bns zqQc@U;>Y%IQ*eT>zlSq^;`3}A#+$G`oUePk3M*&d&+e^v?W4E;;RlE<`A+$V$1>O@ zy9v#aCge)g^ABsE>0<+0WB+g`DAC3+OTaOvW z^z0wjqR0GxHlU0S$7@d*Zm}D6dtY?%4ZdzB;16#6G1|?~U4Jms7joziBJ5rK!5Zmm zJb%!k^H4)q!tWX8^aAVB;>2mcktOO_HWBpwE@k{0lB<{@==-e@dgPOK6sCKl@8(#`H$H{J*=4-FCIs{J-D7-%I}w!4+s}tLy*yRl_4u zJV2S?h?xnFSkM7ngm9UF18DlLCtMZuIe=!~-4X9^O#A;g-e0%vuh-+VZ4qw#T^^rZ z%#CNc+h{lAv#%GeP77T}#pq_aeD7KnG{1D4v3M^>J1N3RmF zZC?WL4@U(FPKIJeo0Fl^iQ-%~nT7i%SpauxEQcavxj>M}H(ll7+daI-KEt#0M>*de z>V5ps=4%u`bo>4NWuB4C*7q;;FI$`Vq4gfH%huHk1IyMDKQwA-j%W!J zKlD67w^jT#&7ZRU@TP9Wm_kQOObW&i?N2w*iyx{IuTV#SnvL_z(NMdR=Le#PPPGf) z1?L^74wwgfh7Js~e7@)ay!SSGXc=md^M)k6_{q`6uS50&H#DY`Q^yub@) zkFq0&p#N~baf2J2%gyE4c!J`qyFnr8WgIUs+JgrZ*(&^^iA--M|NOyS=Xl~dMcr}_ z#be!SpM?4xHsq7jY*gvW>2XGgv=#r03<5P?kaMjV`7q*FYmq-kjBKe-T=VYpi_3%z zl`OF0+WWqMxFlp~kHtB}WkQCYo-g8>ucOg_2i(+LEUIX6oq%;^@^S^R(!(YUS)Bj&)M zT%sjfd46V^xdOpmjfgukdVpz1k*W;7c*%l}78(PGZgq5R^j%ulIKFY~;68^w#|rs$ zZ7zVhx^_I=Lg?B*?#tA*I#<`~kUvM9(CaJ$DbnB`c&}gAOq|fQ^Q^8thbEI5C-gWR z?tF1VC!r)v!?<_&Q`U%z)QFdDoY3dM#tp9A5QG4>Gw+(m31uT^6{oGbpn!*v-GO>sAuW9Ne?dZ?oAv+gQ%?UW zUp&w+dX5Lmvp*C2^tqL!5i8!T6r&n%fcSMvdWU2^7Q{vwj^1g!zP7!*RR|ydwjn2S}P=lpqUn z-228|6;BTojP@f&Ut%Ph3Z-R_4!W`qb3aPGYI;x_aLfPgogx|gX^+HsBJQ+d!04n_ z4sRFHe0qy){vC%@+#KZY(|riBEEqt6H&+!nuAYE5;6VIZS5Qn>-*8FM2isZBGOB!3;yzX*KDAlxy{&XUx70)Sh`9o z$3vVCK!VpL#E4BjH84760S8Q?54i3CBVpD2B$TD4+ao8yZ%*O1@$Q{z_anPJ?a3ZD z6-p%r0dOVmN~!Ebq+R1+R377#&UF!7VbmT=AFi&H*pMyFg~j+ZSs>yGyC2GNK%uCos)x0rK+yi8A?@fVtiB|irHR2te$n)% ztexNFjOYY`qG3COvCfdK8rj4mB~!m)iq%GF=h|(VKLk|)RE~jjfM37@%AUwMA7SSc z@Vz`+93Fr4H_d;-^S=WtErOPt4adQTa|c0e z5b>;04+Cp;HLMz)Xxf3Tb>z&}m^8%;B4;Z3P>JrjbUs!(LY?>EkBVYZvt?zWlo+B* z43QE;P+}-c3`Jdo)XjjbXI~`%hX|BHL@`2=z0WZW?`RZb>EqQ;;J53{air8m7ODy` zbePB#xe(?*u5uXrlUfR)h6Kdb`tY>V+o*a3K}mCXd-5zc=#O6p(u@59&sr<&i{h1bHlH9|q}F<&?)*N^4!p!|RWI zmPgE4b){3Cf&qd7AD0q4hVDW926QfA^#UzjOE;EROMbQC@ATBVgGDjU>8acc%Jf1bePY`R%{%rhI<+vn#j_ z=54liHCpF$<5DsZtL4}Q zRywNs)35H883?puMESes|6vk?3egFhv?}$qsW6sR;oFQ`?@fhy>*M-qW_@QFhGy6I zf*$NRJ$CoL`oMSNAEinheN&Nf%6y&9+Q^?O$p<~)KYRG(&klca3E~ z0uIc?{0fm#yovG6CecT29(=mt&zj>yTw}ma4>y!Oe z>W1Fuhk393Lm+#0{hM8n447XT^v6I(BW0Z*_a94BDlWs8F1E6Sb5ikF*ltB(BoK5i z_v$**d5e|Nq1hO6wuj}NUmVWU#3R#F0*a;x-8;-pm3nP1Q80U|+2=En;a}RxDNNtx zeN9MkILx8WJ}yP2wa+rHkU>DLx`Is{sERvUrACm=09@mwursqm-Hnj`PPupr7Z?Mh zo)jsd_4!}2`CAnfKt|Eb{MsNpslz~3SaEl<<-wWcA$XQ3$K_G*`Zrq$1|hp7hE?km z)+a1X@9Ugk?Z+dtyB5@gGeqmrYEI`%J7J>-aRn?`Ecf-o|u zPge3~Xk_5f2DC-l8R7n00N@jT5wG6kC-K*_-nfM!6ayCC@QzZ^)eJh zz_2{ZhFezj!>}Yt0ygCP&~~5)tzrUj$=e!C{V{5ex*d8VWG0Jny*lBaGVMH zZuRaxQY(Mh4%aWa_E%5=Fg2!jz8!=04z<6nr;%rlbO2NR`CYoMU^<){=3dU%R01tW z)Vf4RN>V6HiK*)WSLTo|BA96|n7Iawh&QH6uO^rdRknol3Z^v1B8P>MI1VrXu@dQ( zjKfK8ypZ!Q8i7N9j|D3>p7eGL;kKF74?B#yBqO@X3bOA*Uu0UUXCK5b|DK*LKY=ed zFrlibI`~S>w{DAjsdGW=0B7mjrLFrBC3Doylzzto{%nv4+(DNdau=8}P>c53{; zuyPEJtb}2Ozz6t`zsv2L=E5EGrLj8;R7F0Y-qPdgM^sG(jvA*|F>&M3vkc8YeW3pG z8Rj>D+`;GsOhd#x(#}3xaW~geAW4}dimHk^q@SLJ?j9<8b-HjiMLGQ&SdOL86=;N* zcSl_eZ+teZt5Mg$#9I}uRotH}Dwod|1niOD-~I`KYkFLN`wdfJw*PxLl(et@Ht>?B zRqk}-Kjoy~D``AclAh1s)KXY?{+;enAZO|B!fG~KM@#O}pSRwCu@Un_H6}s z0CfO>7?7*(D#rZ}Ku*-G^CcjL2&1{kT9n+LG})-^@G@t;z>6pxv*zRV84sT{`c}zb~k?1IrA*`n|j!X zlIvNVBQxf)R=nPX-@CVU0#A=akiZJf|LcWE|$GzleqO#$h}1^I9E(Wj2X*`tI5f_*2K`7@6nn4>^(u zIs|V+%(H14YSb-w6rS?6R;Bq0vFD%i3(zP2fpO9y2;&N1{?9;#tL*yOD<~sWl0E;o zUvJ$5cRgNqL>8}?E(tA25Uk$2pDO$My%N+h9v#AP47(poEmP+O2Y3POz5Z6idl034 z@bshXerFFz8yh3E;l;mVHMxwo&tC!)wg1xB`JC?aTYsXhtY%ngNNotK!J+&9zr$}f zMy|e4rg7w(jz;Orm-YSQpi;S_h5p3AXm<26AYK5MGNg6~wAr$b*tio+=xsX!qiL)G z4G?{@{0XZ+bH0T(gM~SZklqoQTbX%$R^|)+nQ<-)_&fzwCx^;!L2?Ud{wH^R-o@KO z*n>sYJXw_H7_7BGqcu#3V6ny`_~F}{qOx3%xja~D2opnMJakoTipAjhP*)0cjR!}D zUsV82!znAwh3GyIO3*(!hCh)cv58hBH{s95$t~0Sff>miz>NK2tJ3K6%Fg85NWKlj zTRq=)@U0wgN@b;98Ej1KZ3DKL(T5!eqIooD&G(x86%a&P!c6!T9Y9+)aqI zD7n7;_Dl8wj73MsgIJ_U7l`nYi^)FFc6#yTU-S>bNhFQ^I=JJWgjbMoq(w(MMUDOW zk}gUw5vM6H2Xg5{f!2q9S_8^7S0Wc~K<2D}VPU$&(f8k^H&7+N@w&@)7)dtWZbj_2 zXSEwV8L?S1U7BqfG)oe>BerDVs@u{J^zvDrI4!q6ZFJkp{tQ1|?FT=^Cj6cWyZI8X zVnU@aVKx&sWI{eHUGY7^@w?iIzGMrI?a0nA-^=v(aE|XH4|AwJtdaO{_#IDmWFJ|} z2f3sMlf3PCZiO=nH5q|>!1)Lnjo2u1$&T#aaChUY!a;k3pxY`O007ZeD{%arhwU_v@@6gy!KnCqE|Ks8S z_Oiw1WlYs%Vb7Alert{WrSenuOZ=#P5Cx&JKONnYvvhjpOrnMVIFlRaOs;MOhg=Gw zf%|p*2D)}}GsxsBM(bhq2nTYYrYSAEgpnqGRTHJ!#1C~8V_iWb#aQDqqJ|(@T@89P z+%$$isJFOtGt$cfI1f1kn}e@K)T{KrBk%-oz8xUKGBn}Sz+|aOD{35VbPBVS?tT&~ z+0sN9IXS>#iE!h_>dX{Ik5u>Z>Lffa4bAd@KNm*v{7a2dtaADl5L`2IApIMWFEeDReZRr)CHQ8+uIs$>r0lgXc%^J7^upC15g;>8b+644n3bep{+D@HvUbz ztP}&Xf+X2>4LnDAeVyFajD|R z2(qo>@#%!joM1@{XYTb2JJn|7R5&YJ@N{O@*B6CZx$ix#1wmsho{z+RiAD4&!Jt64w8!12fF8udH$O-n;K z3Q2Cfl6lvM?m|NXM`LKNPfhiEVx!2{wu%$(ww~CLQ$0^i+^M|c>rp{{;|T~8P57lI zG~pI^xg_g*C#MU%@9ubu3k%2J!fz|PWEuCbz?vqrpmE52`aaI-?et=I+>Bf+f!PzbXi=vN={B#F8%c{midFanuC;*%}!%FE)W1 z`u1*O-u?jfLl3DU7b&{nQ6f5K0fC^$cR@ z&}v7FzjUkf5k?>&te+-K(^vL3-qe+tI~T&zn{j+zN2fTUj@Cga(4IQ=x*n_7=CVva zC0K`#f%bP6R@rIWMYG3V1b+rL%L?PJO+*-ppfHxePEq5q@unQbqUx}pTcUe4!4V968)!1GY4U5v`dTxN zyWMI=CCpk-<@Z#Z&!9T+#%Z5Auq4!>5+$KpzmlJ_4}MdO`@evkRtMR_QKf!^1Q>}m zn#1( zt@gXD6-U)G=y`Pb)n9<$Y)UPr6pWS`d`FoQRolR8)?pci=_7U0W>Jiz%e#`GN6s3`3rNA{C(g`iH129c8LBz)j~Y%SKtgVJ#;Rf7UrR4k ziu^b^h*DgQ&p;`z_7RlIEg5mOi-)5I5|xC_y&MrqhR z_~gw%hW3qyKYEEz-0pe~+9=&VPMKf=R-UbX;648ov*k~{lPX@(pPeL{J8X`FfYA=V zLk#c}s~0Jz))2D8C!fELnGyPp_)=pcMt2tll0?k0Q~Pf@59G_!aOf$~XsUe$ui|5ew=bL< zVSDLNO;|=S--PUhy1P*ml299f5JFF=Z<=*3!9QU%ydk|&=U*6851Ja(p0pK0V#{i5 z0SzipAK$D#82fP>ghSG{33`zpP@CWS(?WPu?cAa%NZ9tDuL0Zgp8i6|sZcP5_!B9^ zFGC;;Qp+L>-^0Wp-FN=^D01iejqjO|%HE!?<>76gZ2hr?38)Dn$JIe_r}DK`n_ou1 zIO3cU7ImkgZvo2ew%$5BN4ItU&9>V*<7}_na(m3UnlKqPLObH>g|n=}7pBkDN!PV{ zNfS&GtcmGc5Vo{)5^tQ>)*ttQyQiPdr_nJpl{)2QNdcuc^LQj!Gv2ahU7xU2^Jm)o zHwibd)OYQGvZy-$bd6S2Er;7CjXE-8dxLdURX5->G;M!$!i;=wB*Ia(lSz(C@~Y%< zI(cK0yeX2kLu98@5r?uK%ohBpCY?16juP+(=)+o8?2Vz`>Fo}A-{hq1lxxvrlwU1Y z?b?c8c@j(0e4_%^HaCq7MW+8;_(dat4|V(i-=C+L>j`h2fKQH|x^~PFIjF{DfZOjR zchd+RZ4g=k1B5c8;H{17l4T5pht**KPjF6T-nhz9GsEfIBln@+PKW8jk*hI7X1I5! z%f0>vW(kP|_kO1Het4#){S$Q77^~oRUIDS(B)^JemwTMX#SmaZ8M!yhjXa8~TTJd- z3B+Td2~GkJrDQ+N!+PQ2ubD)Mv`406_dM;iEW>DQ4m9wWp^pGR zV&F&2xMFr0+p3=N?cbR;Kez#pHXsXspe zcnAIQd3^LBJO~Kr8Pq%V;uAs;F9A-~8l5Nb4waI*FZ2xP(GX;)3TcoU zFm)$lyNP+gp&EY29{}ZbXI%2q@1m0^QN#ItR9KbXD7}F$`!+2MTEU|<0Miz;d3sKx zHHQBMzg*wMy2#0BCuGMFbkzKAnYHgR-4#5X%=6vYe;L>Gc(?g|*XT}x9mK<@`#Xq< z)TOqH7yn>8h;dMC-?#>owR@^+biP^R8kWSk=C>#b0A)Aur|b|^q;CC%(cyG_csunY zPFiZz@vxb*_2c^(q4~b-bt+5>%?wzvMx!4)J^_<8|Gwa~d4RuMe||8Pk?JX)-AHrf9W1a|TYeZq*6(EV957gr;t! zY1|W-P&I!!1)gp~r`<*{Xz%kvm>7%ew5yrsw+8HVY~z0r*@nXQz@J~Y9;9hcIvl@4 z^@Fbxl((7CF#2#eIKpN0{Yk^$gm5mgrd$qF;cL0C3>%q{;mO zi|p!0Ku(MP74%oYuZCD@#7_r!%5%kJX?`@rbMk8X-bU3>I<7M zI>dNal5?u@RmowXHE!pCZY!2Kptx@isNY75oYX_&r$|>k@Dbe=Yp;dwOk-_+fX8+R zQ1|T%7iaYCdsU);v~xTT2^Yagr~)+}B=`ap4l+Rr6wG~-{DRq47*KKa^;R&6Nddti zK;d9j1%|h@yuS&v(KhE%YL@jqRN(0 zl?;y_RauaX;4dQ7(iQWu4%n66a6Z-vyV8T^bD=g}EI+7ea1UMw4y0KwdVuNJu8Jk? zrEqelSNvJac2XaU-;K_WhCwbBRPEI~&1wqGD~u&kMv>M047T8Un)~PJ?i_ zkOQ`v1k_nF)2Zql3V6_eN~Z@IdfKw)Pv~DbnXA``D6vXmZ6!=tWxvSu)1d@Rv_xJT z5+W;e5((0TpG~o@AB)9OQ>!*(*^Rg{{tknZSuUC&Qjl@(7I=YD72T#PBgD{W#C0 z*;u|2&z6pai{=nto_g6v@|Oh?q?SiVs&LN*fRp|hTW zk+rNI!r=5UZ*2A}d-45x1n=F!33Cx`M*Zg|&|!^UMV@eCx@A;H2(9utByR5}rUrGW zQR1-_Z{#K}E$Tq=Q2M4`?HKmf1CBTnwva_JGdt;i)H{4J=NslTrOg;RIU{foQa-&U zReWj~sx`gxFH*!id|7N1PxEbA8EupxG1nxe-=YrCsKBjsni0-%LUKR;oRci!&-uwM z(uX0ak0y%$;gQhM=0crc>34oAKq#I0#IbSb>)xjl3W@7F7Iq1;YHo)c7aeiN+1r?z`zp%O3tQ2l^T)$J@hfvTy;NNixdb1943 z)W2cwor8={J-KA^zH*64We6_8jByKG1;17bG-rMK6wOpVooqhs?@0ivlttTsSB08CH^U>KG~JxhZ6 zX^b6dt9Xbtw3VHUA9WYzOnO26XRI2nx>s$3YB3wcL7_w~_)ML=+^WTA&`7kEp_ZS; z!cQ|6fk(LkI^~;CNRDqNv^jVQ8)$q6v};{xpI|oJ4^38At2}7yTWITp^@KJT5a=LL zW%&$f6I^JIi=*V>HXsAHatke>(@m~an*fmZuL)9}0;x_h_Ky`9o&Mwqzf?caQhgiI z8^-<}5s)eX!2ZD!XGxVMY5y4a0sA*wqZ6*@6dZQ=cI58BIw~6s@HLnY1-lrydHnt!?WivC=J~@ zzcln${GNw@v+!>${_TK&b@hQM)Sr zPi+A2;~WF$B{-nt4+eDn`L+jiPhqE%wV?}Z{5I4K=x#m7+R%M#d^S`@gcH=B$L27g zW@Xv`{vb-b zcfTDMV26z8uEa1ViydY}_r#gPjxyGOd)mm3Z?G=i3wBiWZAAA@{t?~#7qfDX=>CLR zh`x{L!Ypq*!Osrzv&W3+-aW&zXX-%#_Q;5?5#yXJ_LvdfttbgA_Q4Ec&-M6GuQRl# zXKneyH=^q=#z(XTAtD^`=j|s}V@Ov* zZbM0s{~`CFwUy1qk9q^+pmT31N?F|gSv8ruIN_(M<*ax8Pr_| zbDX8tW>EJcgD=`DHen5IWgS0Wu0Z0~f2zF~?7|8P#nD z)HTs}?(ZYo8`b@Bd=9$JsP6Ssh3>6bNn2Sh>5gE!v}d|kcU0E_)9a1uB3p%KE-ejB zT~Zoq!|#6hcMSej;NQQI7RT=#{4U17H}LN^{5uC}zs0}*jqARzBaZ*!{eQ`UT<7=6 z%H2#EbQJ&PdNb1Fh6T(g%|)`FPx|B(ZEZMhe%ro&%d-WGwpA2NwSh2u?CV(`F9d=M z5i?9^6M>u>0J5b9^1u`e9(l``7cvut!W1$`#0wD&G3}5;^s9Q~V;3a6A`*gy3V~ zk+?5Ma(3D7VKN!^CHhMfF@S*(OybTu5d%eE;--?wBrjtz(o%>9=5eUD@M%EKL1F`^ z-L^w-VWNmI?e>4EslBVKCw+eHxB2vW$jP4ayq?IR&%0b;Rq>RBPZiN9s64t+-0K5! zRRD<5=l6eVfei5jvAn(ju92tD1L{1K4hlds`h1-W?fJcZCsxXIueRuh*k`AU1@WA-qz>^JsLhaB{xxT9acOFQb8_)tx zIBGFJ96$X-L+!cBBPOc5^8WKheEium$e%6#TfAyL%QQDjMSlU96flk!vP`5L|8Kc+Ris;xhj18Jg%uxt@W@YIDe1$(Bb%P% zO^H>b|8R&u)F1_>G0oG*}{6jPQs|Z%qAffcn=9ej8!>9IBU)mq##T zjjsu)>$i9`ir47+@FeX=jBa)V8lp(Kn$Xa*tPmy)_k^IE&_U{4tT7q193NU314D#3yT>%46|AML;sC(H?Ba=dQ+Hx= z-JE{gc~wRunx@ANc~wjH)K#I74(O_4U66Xl={^7Pk@n@Te$q@MIuIFjBWi}>^MyX5 z5gnxFV7HS35B=M?1Q5S&!}L zUl_;e`c1UWEXHWWl zY)aDVGW#R;l{IR2tQqUs8mMqpSL2V>?7b{=U5~BB#r1pd5gn&Vh?K88wfG3f!g?+KsWM$bS&A`t&dLcaw+K6{G9;pr; zmBqk2PWKo%<%c;K_%v+4W?=CTJqFrF(*iCF7q#yL4#ZWN(N43OrLn{woqd#_mHXpJ z1hBq0tlS(~^RkkfkDAtWkFn(?e_eePN0WzfCpd=)QlU|tLzFEN=*+N1VvOwf=k%et ze;D>d3A!o{NXd?=O}Z-n)Qb3u4z=YT)(^Q6Dkjy?YYBMCJ{9*5!yS(dB2*7jk_w&o+(^Y zaG9+36jRbfs)yY-KKa>w!c?9FX-2Ja^^JDIGf&O(sBq<o+ZB>G5lRe^^Msk2S1Mo66>hGE;O$! z`5mOE2zzc1*-elAh!|C$33z`8K|ibYKcVlR&H-c`nx&Ho=El5WTmze@eZnZ^fOq&> zhSz}sE~J!$%+e2T>UbI#Z-mtZd-)ro7 zx|e6~_}NKuEMBkZSrg0j%yd*q@LmRj{onY&(2L~@5-N*mr=bdKY0!7AB)+AHNpRvd#+je zpR8f|pKQaa}JV-%yZQ4*1 zeUJ=ei9(H)9GNufK|A9iKD~uwn zr8%j!0J)!%+*g`o8n}+MBO5K^M-u97I&rDcw5CCwI0dos$2g|;uk9tcdqeM2=E+x# zgs}kC2cXi=s3wXtAod)`Ej3j_?UFUe#EcHy)^|UmF3z7%xq|@A_!X)Fy z?mfzzO4?1*MZ;ldv%{HJI zbjJH&z`D7t2QN{+G~=Zj_fb>Js9g)WMwoI2sU5bIC~`T4IiU_PuusB8R|cnZ%3TpY znBc7r+p2}zaqfvHTLQ;=Dx=1%5sm?ru)gzYe9}oP>HFb&jYJr_I$5V3qO(ozBqE(x zF|Q4Y%(eKS3*Bx2Vb(W`Kr^G4N!p=X2x;4>Qa`>89=?xY3IzBzq=$fxq^FO!>hxq< zPJ~bBsgh}nX*|}-?3(MA{D1q9VR|ti%kgLC6x0WtE6mydN%=`!@U~M&u+83yfR1_% z(<2y$~wj@U`ed#{ga^E zD#il<7At4qO%;Ll^LbrE=b_xJ1+lEai_@khr9J^P_vL0Rhj@KwWX2rHsZE-{^X6%B z3?$}h2(&W1cX*aCRgK3S5y%~vgI~~-ajjvHF|O#MC{Uk>k{%+z87o>avGXQ$vFWYV zJwx!$)u(zFy`;`k-#J5iVMD=ZAP`7rca)JC(;y0q>s~yl^TH#DmqG$Mp02DFq6QCCh#HVJ z9*h{T72=U2JcTI14m_E`MS~tQzYh5!&q2tbJHIP73Md2s{8(MOHIW>`te!%!BoyM= z!$l$XWesg*$KXeOS|x3}K?+zk*i=)~(76Mt0XN8_$h=u1=9ys<)Q*%u>mXUEFv)b6 zEz97xfWlK58*#zhK>XB(BGY-fk)%Xse2UUt6(i5WZHOx`h|GA4z^s^h68?|j`nxA+ z9YaE;K_7z$%I_FdT!(7vwET`8t7XRh0S9d8mtPAjZL1hJ-pcRU4Fd85fJ4<|Tjh`+ zOG17dpd+kDA01UcfbBi^v~>6IK0tSG;GOHiTaL%o zgZH`z?^6#Rwn45YJjCf({QB8PN8#9~yzu->uUND*+EJ;lWIqb^z+u-WEvDLG?a0jR z`v}kL_1Tp9>RZgtC8Ivsh?KLwBi6V+o(7m%UxRdTx#+ui&Fe$U$gD4vm!C^;>Hsv# z={cgn*Iv+c#p7Pf_cgjhf$uE*?(gf$#=pD#nd2vyXj_O4U@(q`1*^gDECGEVcn>#pH#T3;_68N zo5xyb-FI+*Sr72kGtoef%=%Pi5JJ}Xq8`4V-2?o^gL2fbwG7|I%!_Zl=r7N4eH3uq*_&-nN+8C$xNzOTV^IXYG7tk zjaoS%qsAunc1F_7W(xM{%+z);SS>&*RUyH_a#U@^n^RNEw62`bm^u3`rdC3A_)XO0 zXT93?;_|Pj2amtj|Hn9xE!CXPtQ&Aaa!cn_Bx=>51p0OG%w+_7PM~T$nO8L|{J|P1 zY*%ZM3CLRt=1|k{oXkAtJdTp|ENx*AexF zh;el^he!}6F2%$gtKLPu9cDDjh7s~l0h!~u1i-;aFxww6%}zuT>2r0$3DOpqrON(Y zhZ6g1Tm(cX6LvQs91ldD0pX#vmmbVkE&ZS*%ZWS%&JKS5B z*w&QjWgK*d{uAP)APV_arUgs^b{J%5;-xu3<VR{p`!yAqTA|FF7$-<~QL3g;_ zcWDA|I}Yc3$QP?Si#1@=xm~e@rdSAL9&on0qX{7hQnbybv=!#jhVz z5^CA&CHw`4v6FKX_00M}2J4FhakE1q@*uHLE=$NEMRQ+6tYxoX5kj&eRn~?FwbLe; zdMv(>Y4|T+Y540hR5)%zKA&EH-~H&k-!TI$;|*28b$!w0Zslq6>;5BERyz?}Da4E0 z2L5B;?=21Zi{$M6b3y$=g9}%l0AKS@^Mgtzo-KPvXOSA=4DI4zU@!h{?7swtE?tDbV&ZVt zBQBc4AMkAuI=Hzo8J*YQ5A8wN5!bw{D}vXMv&|wZREb>Rn7$z0q_apJdpo#6$Kigh zopKjk0Fd}E9CG$t1Q7IE(tD(L>nXETnJf`6JUsw69-)^FfzyLm*A(UKv#dSI%|DN} zK6MhlnlQhL4aWg3gV5=uA|0bO{>kL@Hr2SU^l#WC;ykA&wH8(4D$dH5mEj8q+)>c^ z0hnOkrw-V)UG4^n{0+UiI3T2EaAY2QF;@EA3I})NiQUOpPZVNJ67H`FmvCBE#*@3| z#B2Do3(6^iFF$rNF-)5h0i}b&l)}NGy!Dz&5qnwQi&$i-x(cc@{GlBmqV_OvSo+~G zpID083F8p7s6OVdg~y!p!_(ehiQ0Ll;R^i1W$D6dk_;lJ@^Eu`!Ut&$xcwF_WR{@5 z1Qa@{E9Ej)r)^ecJ2I)C^~XJRSW{uCmiB>|#Ya3yIbP1=`FiZ9g=hli3;#oIKH}8$ zEAfN6`J)%0h9&xoD+^Oq+_ADqo^_y6Bfwz&Xy7Qj0Cm{P&)jX4E{s~WAG)5bHAEK1 z8q`yJ0y_5Zu@a02_r@CH?Fd%_YIgvEA^7K#^(@>I;K}sP188ILA`_s%x|tdAu79%( zQDg?gaq!*257g6f{a~bV!z|LON@WFWDVlG)pribNsmLQ?t zhW?;b6WsfzP;z8WNuf*R{S!jt*ch*wSe>@)P^=2`%-bS^%I zlKbIm7~D=HM_~*A+O;+5V*WG`WoF@Rx3ySVHLv=L2m{5WEs@1WqB9=_Ty)OR=rFDG zEle8(nX0W58Zf%2=~@9pu)+FK#%ua91HYrj2!2PM5W%gMN42OQq1HL96=J>#zg-+H z0ZKE|GF$X<7XFeDoYAbR+;W*V4aQ(STLIvP(i<`>s}mcgAJaZUcF6->#0=32cjblG z25CfWD{YkVTmzVzMmVBrhxZ|vjO3)6rE&8KXNd8xCY;w{sLjSYa`8uy?EE+oU~z%UOnj412(p{iju(qpJf(I)}shxx~DMqSa^(4!&Srko-W)6M#r%^H&o#p~B zzsS`Rll09xb@H-bqg)?XC;H{fo_?C88#pakmmDLIB>%|9t${On(bXP#u$@8$pc3*# zo@W-MWkf^h`a;(_Btg-9uq`z2dwC`wtOzfRS|;ai0O=)yCMtu*%gjlG)y|A&c(gVX zN4ttlsU4kHYR$q-zb)O-v>$M`p7R*>p(#G(cC>i<3_;pWT$0mJ5cPWJ%jLAO^=^5* z07v{G#n?_;uV5gi9H28_wSaHVmtTSRP*ZCvb(<2wd(AVWgt=A~6^UGR6K+I*k18g5 z@F$Y+KEXF7x`SWp!7uGId{e^0rx~s9nRZPdY!WO8=aBiIYn-NIKme6vIsz?dpw_CF zyA~X!|AF{Uav+cY%8nKKv>ZQjzh?q%EYa1DU`@2Hw!qRgvg-+q%bax9&~!;M@S*s+Us=;JDC#0SB0;5 zj8-#BZv|ee4VFZ&9q+Wd1gb9M%e2Lm{&&QFRAYiEYybMR_vZjZh=Ga{y08r7@Ch`I zlHj{hOa^yGwX~P$@e(OIkK#(W;!2oI2^8~PRDMm|8zB8D?H?dbMF9+M-rLy@km70I z013A~GUPUfK~vV~h$S&Px&tKvpkx;r9qo#W)a95Fn$K}j=kDS)Un$z-wDC&pp92*8 z{AKtIC;c1>x&zNGRXfRGH$(Gy{DnhF&P5(?n!Da*6UooG;*&>7jAJl3I?;^HE+>^y zFU%+dEJD}pRbRoj6Bj3dU)V+C*R5%^e5U&pkIXxufIf*Yo2IUw%Ltk7G_u2;_7P2- zYe0_)ily+JldOT@+^t?WLR+iB4J?8MjRnPRj0GQ=UYFk1C5MQa1`mEo4&D5j4}$uX zI)G+aCnTs(KE<#Nh{OO&mT>0c7fU!RhV`ddNB&U6dJcZDes#!~$SmZVdqHYR4qF#w zs2Q;&G&aZ(!&wKLGsGv2N2b4l0+!>cL=pUHv~F2!nz{j?SADsh2?8cd3|NwyIAsKL zUA2I|j5t498lGbtpIP9~k$T95=ZX_>N-Z4vEZxJ=IdZ_Ee*;XZ41ww)r*=RsY>bhN zT1|PQoO8*pWQ?A$W576uzv=<>1(3mblt3e5`W)$Ql@H7YC5rg#|>*aIx?>v>K z&S{g;*UI7TGAqYzb{ReMOfZ!Z1~o7ZWH6=Fz;5{qOf!qNK!VNqU|Jd<+0vZ!a42ex z>65j=l|DIv3<4!VGu6x&x7pEaM-jGnPKD_99>)Xi_;_R|1~Mo^TZb(|AE`T4W4BCa zTBSQvm;=+3I_gd=tpO{$p~Tmdj;m}k-ROw4Oc%^W9i$+J>6a*I7cgdW1NAiXGnBDO zP2y9_;<|Mo%`EcEo&#=j?KP29M}9)1qcOGC0=86JZ`hp%BU=o9Vdr00kklNB?j#>>%E6pH+!Mfj|# zX+a8Yf|Y``kd2%vix$XCR8%HxZzW-s>bK`g=}*| zt!gR|i<>}#pA^7|5F2Woj(!~+b0CL|aP9zLV@mnR^rrM+w}hm* z_7VmFpE;^(MqZ$`0zW7bLvlTSqqJT)MO*u96nQf;P_Q-XdTqbW*kViDdhu1`Wycns zD^Wz_4#QDBl}#?8n_NPgTmnsQjLv{6#fkn}^pU(`ktv6fV~RB+gN#ma`!l&NsOqs2 zv6Z38GUW4PEEF4@)Tf^!F6gv$JzMn{m^4g9fp2gcP<*mHo0iM_>L-T~3HZ9CE=jBs zu~{U zl^kHBEWF{9ti3iE7NVEe`PnNsb?NEVCNuHcgl~1)AEj+-21LMN$2|g%y5k;Eh$rM5 z0pTR@TZL7wC{~0XjKWnGt%o8eoYbHWHQ+;ZUBvP{s#jdAS6uLmL%nt(qPv)-z)`Me zU`Kcs@X3C_qu?DR`aP3+EQO7(2tpKR0Tni=n9A_vj{%*J6bgv&jHNJ_JRC!yvBV{E%~ zL8ZPNi^_mYGX#0TRp+0~r3@_D)^bs~P8OBXWPxFQsBv4);zzN%JcSw%a|INmE>L!{ z&fD;$E?xc^tz{)jRU&LlCjaY5ORcs^8~vlJt8+SXVuH9b1odg$Lm)%7w$cb;thh+o zB`a|hhq<*4v$YLN?<)ZCrF#IPuo<2v(T%4Iccsjob=1GXKXrFf$3Q-~4S!bsJf8%; z_U(%S(DNU5po{QBu)fEwho20Aazg}M`F-jY|HQ^1PCc|$tdHGMdh6(suLLGG>Nv4+ z=)0WQ;O<}!g`;Hnm<23}5%5b}NV{3a8rsTQ@uTLi`poPlE~a+@e~A`W&%sP|<;Kw| z?Ziaj#f}sT#UmbW_o2E?0M#;$>LgUCQT@xy0aO8Cw7TJ)9H_D+P#vaG9jZ~?kEoWp zs2*LUQDwKUxjNZJb+SQqGEi**stp>|Y9FdiFZ;Q=o<{Zl%`K`0K~w=?wEF7p9H_D+ zP@RU75X%K(l*(Skk2(?OZ|WV|w-dS$N{B0=p7dk%`G0LLkz zB(?;Y^j-eWsWbRGoIT_$GnJ2v{Wsw^GH)5$+!VD4F>sxyz|{EQmouKl-dhN~Luq>( zz4U0hyF-nzS}snEfoWtmx)}TqpGYjSjfZZJZ&73T2pq?68@Z$g8pWwPT!B?~=pvcn zE0~`ch(gnDz>nM`3;=|MQZUQfwWHwJlh)$5iiWBNoQdP(GMzETjO}=4M$dOeqV{Yu zX7|Sa9kibgRFGjES9SHfsESLwUR5x99#yMPMD#;I{v&91kF*}Wm8atGz2H~zky^!f z+SInjb6@aO+>Z{Q4M)}@zZ>Db+IgzkkBlA|itjxzbPfLP2AO}3-%wFeQ9)rp{LTHJ z`QBaE{=aYE0tcj5o@D%PgjDmyli6RuU2ADaKhNG4jW*_-1mmUTdY2f&F(ub&$i)cj zshjHe=bnWzKsW~6;$`acH$Ll18*pO?j;)%Y@JE6+5|i{6B)+3A0UbpsDV?SS{Fm;d zkUd8E@SpbnOxllB@ywkO6+V11>%>UFO#T7qnA-PApdwE zt2DyhI#<%jNxpBMK?yk1A#}1WE4z|s>Ew4zawj^pmX)iLwL1A}ll&}_^||rD0UHg< z4sYPLD!RV{^-m_>EiArbZ>;g0-VRe~?ux-uK+$8wzADX=sIK}U%hIO>|6n^4BVjtD z&Dge7m>j^L0)~wEY1oc5a8^v$Hqz8KN|1GF7-Eu#25A^*lGpRoPzM?=KTFeKX#M9h z&6#)5Q3hy0-$FOr(2x)sUZ6-oLxMCUKtt8gW^fxF4=&#Eqdpm-<>@JKueCVF%!l^{ zGI09=X&Ip&eEl=I$!>lZ4mnBx1g=~h8A9n&z>UjNZyZk}Fd&Oh-6?XL(j3@>xN_n( z^5D2Z^;FO>v0m9FC;hW{`fm&=q6QFqxmxjwH&IAmMYoQeX-|z;`^h%lnBIW%cc>}I zV>`rVRJg%tN`a_%UwdIZHh5p9Gw-${J2S8fC(4ys9Xq z!dTR5CrPaIk;{u$DY z`fiC4fNW|*HJn!UtBjl^1Wc4n);rV>myPUN)G0}`>H+=y;_G+0njo#v4=Fr?p`6^LNhl&Age^H!erXWO^5(kK6(l?!u)gWH!V#^oN2C8y_s0sSe0{zOAb%qbTiZ%ZIKtmCf2 z5FW&ecbwRI5y0TF2-529t{c0bCbp21fMO)oLG-9H`eDmeH@}_^+Jey+bY2>9=VN-9 z?$pC>qS-5cE;>83>Ayk8&{UXHPx=LVdRs&A*VflWGuTXGWp3qPe=8RMj4kQxrT&&Q z5?P?_8*N})(!XJFY-jDR%fJA|)!Ud3pec&0r8G*w@HAK-Y0r(^t8<_6NaN~H{LZ$l z3EYk&1ZYUY*|P&-@@>T%pQi0Xl^#RH)p@3XquKNYC}#o37Wf>th5)P5tmqI_lqx=> z7Mu6lTZ>P|uSRP!plI{LT%7D(_;X50aK1uXG2QGIcrg2pS#T^Uhb6dT{r-Am{(?|B z8g>bE*4cMRWb=Bv7+RJ zb<+C2Ty;8W73ckttBwaZ2)6GdWoe?EvpPEARY{040s3&LPF!Nj!7nKBD!3z%Y5-oN z0g^^t_EHUy39|k1ySZX2_Q-7F1eF{?fj?1o)ZZv-Xc&eVh3QE;aXeN;wEPd(30o~D zU$HyQXk8YiM)s&FN$lJrWJCbXH5nog7y=AZ}E+i|OHmC_#l z`}G48?CyaORq86XfNUco^xH=5KVR(BKIR{pJAcmkdl@-E+tqpqnu2T1HJ%MI2PBV< zYFbZNk<%J=5AQM$-oEzHQG@ZAgLGkG_wbIhK(Gd79~~9Ok;SVA??MYCp&mwjp`q7V zZT!x(KoY7SmNpH%nb59$`1$)^sJb~irBZ!H<%I#nZgBTFm2%D*LOAQ<{ri7|u&1mduG zxyOcKE(r=UN-MOrx=)i6&k?Q_X#X&PEC@D5(>U9gpj+DE$VeUh!Z&yq(Inz*2pz;Y z>QqGdq@RJp^~QGj>I3{RA@uotw(ig0au*m^8-A)p&n<>?Oxvst{QC<3+oU(AeRMf% zF{2mG-f}S5c5LSN+pd3Y$lG!$7qz+If1CMp z@>}jFXZvS+H`vKbjg`5)(FYZoCzd1zhbZ7$r??h|aLj_kVVvCKRtZJDaW5SqtPRld z!Edw%Jpw{eHp8J*96xW^A0AW1UKmEhzxt{JnE?+Ls8?3TQzF;3A?~Lq=(hR954AFzuEHt|K$6jpa|61HdleH>(S7CzOv>vM=t4R>V7CKU`;<$T21vqgF(>Mi={CQFno z#`gnY;^{o5HlUPnrCulnKcSjyfML~dJMDlWvj$wwQs^eaToj0gBGVTMX#Ek62TqpS z+UA8HQ_)|f8dmclQ_NZvt7Bv&E%`+Qhyk!Iai%TOSeC0_v&HE8kR_}fP9T~3NtizQ zre#GT8tuNR;)AxpQ9vsS@Upu3RRvZOEzrmR*U>)JYLTL+O^!lDiLjbkti|DPd9^@;b%?lz`MlD=g#$ zd0e+>tl6S2wvt_l9J2?UFH8c6{>&S!osbh<= zj?H$1BTIedY>$+Ap03xm+RlO=d<{K#$L%HVz6~J#y+obvB|a>WUSdwU^p)#lq6xjk zlj!1D9L>S32Pagk?zVd2py$BPLx_z6`cVUk$U|6dnu*yYjoINEvk!n0n(m)4`3KB~ zv-4$1xCcD*sTb(D=i`d^7^N+0#Y`@MMD0m&DZJ;OU$yf2cFO}_nj4?qSbfm=t?74} z1Sd~uHT!hbQU-s%weqktqEgbrqw17}Mpdko^J$C4Kcl>|sxdrU0+^sa3`H z5Z4a1-ov__K6NuB$NwFv3)$tE(u*ykgec}ZhR+w0PAW0%I!JnN&@RYP1!C_ z4tqrw!GN~=?B9g;45s{4Gv&6gg((+pB21Z!A24MWJWluQVluS`p&bRykQlnLVFKML z=BspC=v?1NxiPwgXL8TPd}uZl#sT`E@YO=OB^Q*Ko>lFQrSu7s2Bc}A)IP0ob~@B!YM`P0gc^8_aPs`Fj)AJ;g5>L$y22X7wzgr{Ln1{ zTpiOhLSlMG0Kl_^11xIQdmK`rLE45@s#nafMp+?W8WQMqB+3Jgc0{Q0G&bI<#JMLL z?Lt#yyQ^K8KusLUMKY;4LQ`?jzlDlw-4h*UOiYh!1E7?kkibv^X-w(bh7W>74_ysrnmwg+M zAC2zdFN@7ag?=}C%f1@Gp6WkvOS6JoSP~u8hA0UDv*f321}ah$Vg9A5N(@8-eRAzO z*9gyE9>Jb0#jMJ8E`zTM5aAes?WnDCdI#3s>)0s4j|YH!?035XW|zCEH+{-PPSbNLjhWz2M2G)P)0a*kpNcv%LdMi z^eK!ZR;fbTVzZW$njA!TG1Rig6K8!u6^^ED>o#pZQ_zfdjs%%|Qcxzgsz+g*Q-dr$ z{p{a3)6T)vg^ZQQ4|2J4QiQ-cJO12 z1_u<#TFqLMu_%s?7>^Os;ERT;_SU5 z3)!4AD5e0n9%QMbZp2HfomOA`GD&i{6vrf$cucrpSXBzcnvD1(sI{d>jTkH+oP=dI zvSQdPfsi5EXbD&t+2}$5@enZRdf)_KoCx+`wLl&Hi3rry2)RIkZS5C<+WUSKcEGiJ znKqwH%LlMTsZeS9%;wbBJMfd8b`rdnLSr}iFobfM_^2e}3?%-7Wli?Tz*uQ5T#Zzg z>SIdrouw+AQfzAlhZV&BDa0;XHZ(S#YUhe!XXoA~xzWah?Od5_?A$iVo!Ypoom=2Q zZrM=LxP_fu=p@6`sIpVNg?DY-+fH^16Gq5R#!2UfXb2i*Gt3*Tal(x`T@oA>MhR={ zXzro=<{&X~2iniIO`c*A*?wcYe8{yKU0$ROo~i4l%Wun8@kCg>6ff=|5x9X*$QjzCCLkuMt2&j^)@apK-$)VLGO$-`4P@Eih%s~IYb zq63_}Xu?*^DpJqh09YDq$s#RDfQsPPF*>O5D;F0+vXh?j7LiZ=0Y=~NupMxH`K^O1 zkCz&gL{$3*dw%C?cz425bv9FlRW;DljQin&2%EBA?P})k3XGo6tKby|=aV1!O;AC+ zWF4`;jR6q7c`&U0c?(_;4-czbQD4u~gE#;qfPfLroc(F1pgobqrASlv!v|CUq#-1^ z14T2^+lsYO(Qq+FGJKv4s!dBa7s5tlHjdkQ#}j|w>P@`FO^VY46i))cS(Otk`waz1{vwah1DEiYiAn3)TpP{{XVFf)Mf2Pd=e zeK)bRR+IJ$b@t7ge-&ytq)hX@T^V_zqh~mjSIi)5Td1 zYBbJCF3yNL=1L7DqF%nv#yLh!O2aAkA2CIgy3Z!@OAa!@{yYk^#kC0@x2GHMFtvI- z82^eRtwY`N35AA|a2+!2FOxB&%qQPa;3e*fgMqNCM$Uj<-sH+Auh9c_nt8@WO_bhO?DbS?H5|iG*XmnfzL2@-s20Vq; z?c7-^6`L7Y!VKI@)c@m;daDAQ!_uwYv8W-K)ek( z5}(+f5{3w#-k&DnfBcDTkR>80Jf2^by#OeP(1M9DcnH@GVx$JL$AP(=m^ogCYuhFM zzL-c~AczO)4Im;3DLS1V#T0(Ufsz%h0WJ0;g(5Qbm#fc#OSFok(FT|&|M_A8Q#2)3 zBiuv#!f2>I^-Z?u-;bt{!Hm^Bf2B88(=MYlc*EcASj|z;0rnPsIA92WR;WXv^*Y6B zSQGyCDX0ndEGC9{@dW&+#jsxySvX%!qVWl|6>17xIu(W$XSRTF2%PXoiaCz~fvnf6 zey@S4C|qN~8eBleA`}9GwY|)j5Kk_OR6|-&#q8FuQ?Ion8D> z4;b6tsYmz7Vz?_4NYTm}4-vG*Gcm9)Z{38E@Sz35!IyD6fn#4-sz3EN_<$Ife5}MJ zqjSY=mo%JfM2@nBm_St_ZWe(umzzb%JOoR@iwd#aQC@2;pbU$Mc)oPyISgSrnn(^6 zJpJiX^x`w`LgWFtVM46RhmCt$V(N_agsNkG``AZQ%4QFC5BZx6u>ujE;4u841B+nMP=vA2#c!KK^6{;8`qLo- zY`~xVa<(2%)kWp%Ca6fv6-9t9k^h7R&?2~4ra+??hsd4N+d&RBbjyr9Sc>Omq{gc9 zDl!exW8`Foy&bYKbS}NjJ9HvI1fEU(t37nKxy&6p4g#lVNpD_-D#rM7G98-2S!oLQ zfTq-?UYf>hn%1Hp_17+QF71}4usZjOPBg8o$`f6ZK`N5T&rGhOV9C5#{pgRx0{n595>fxYyc6yp)JOli#LJHw&5tM6+5Bj_q+5Pes8h4j^!@wj*fg4s z&@>HqXnGHd&{nw)105EL+=SK35H2TE%gx615lYK^)ftG4N;_HNI>1?#SDy4IR`K?= zAK6U*F=vx6in?+RO!)UA3Q%&L}2q4s@#B^=7>7WX<-h^yM zT8!32APFxz_Ff&BeF9$WTttVwx%&rZ@9)WlBzbeE1ZMAuTrp?)3sT?^2CsRWGX-~y zEoFcWsb*;w=08Zbm{(!W%3ZU8`DS9&C-Wf!>1)|ATD-YD-L6hkoy<<>PvVIVX41o4 zSN!%HdajFbS^=8AdFprA(S)Glju|B%L`lj2Fa`>_-h=hZ{N#0{k5;IxRl+0*zWSDK zONDBI|Ky>SCsm-VrZvhL{Rpr?&zcus4^}hSFNSG_4l>8hi6Rfp$(T4T)Ppbg@n2-( zJdFtB!AtRjiSvbPP#Ab{L|!|Q*UOC~n?T=A%TM}M6TBF09@I~5YwbIiXyZD{2o8j8 zkx`$sceoS`Q1%i!sb^0_tau@IflI&Oj}Aym)C9(eW&~Ji=LBYNjrCiZjHBRy5!t7B z>n=bv=&xoQKnK{%2_1dQWGEY#JdFn6vCoh#-UuevHh@t(7DfxqZa#P2wrl;QC#gpN%#Q zGO>oq)FKR<9zZFawVZ0^hexaaN2%KHMQkViJO>H|`Z@Z(qn{g?0-36l-oS(I7CeX; zt0@~~RHv2s&hsn)>sYfGrrxjK%xdk-A zpbx+1I4K>f!T5D`9BFkrl*WK8>mg0MC{5W(1Y$C14jX5;0V1pEZ(UZ-;e>o~05Rt= zJr?N;s_HrXG*840;Nr^pSA%FU)$uD93bn;+UlH}V_3NS@tMCK$xDZyZgEF0M3_pN( z_Pi#mXGGPqVgJSvb}G)7YAs}H8dq)FS8Cdk?Mv=RuCgM0Sc%@kzJl4v;E)z+9H#+({|}-C|<0$iX1@kS1vgp zC?J7C%sZ;-^-f>%257~!`FB5IZX~cDQ-vhJXMxD+s{OVS( zduYxny$PbF-Q}ZOU02MDDx;}%CrP<`$jhvwQJ(j9)cWL7}s^;oqNf3bE%O5y@9F;M#E-QllZ0ruRj|N-^-5pZ>?mX z7goxBE}=GDj69}n*JwZd9UkqAzf*8<{H6%p_LUhAw?n3N&Y#DSGKEi{qyn(dD z{OV1|7F#DNt#Wy*wx#0!Nu2R%EV#Ry&E1-}njJe02&IY%SAkzn9wGiFci|wyNse+; zDK-Le9cC4r7r;U@=!F>frkwQW1zK-FEe^nn!n1iG%y}3t%*l^#!FjZvO)pn7=3*=X zL~Rn6w=v<)nI?fS#R9CePKR$*D%n=sMTO0T>m*^^UQ{SbS&{%FgoL>)0{|GeTnCG5 zmke+8(zFd%kr>KF3P}M0+9%43?nshr@}v99Z$Y5-OM+rrVW9OJ^mpO`*dmKdg@|^j z;MT%sK4Vo9D#C{XieLF8F7B>W1f|T*r3(PShKLhxIzyb?%am=b>9SlkOiZ)n+GV*i z^o5j@&(tE6VsXhLct8fMqr?kHv|(gzWwQ+fJFig7E}ND9%V0-qd=CBj+1h!L&6CC^ z8(!9OJU>FW(}9;2?-(0ibdN6K4Y1(}KdKylRN4HfN<8jqV^)4J*d#OsTD$GfR=b~~ z$8<^844cO;{RP?hHW?JV{b@P$TQ>ccoM8n4U56CTVH4?w{d^Z_HxrRZznV`Gu{ozC zKU%m)d$QJo>WCn^2yRo$SoSCEc*rx0cpYks>EJVTsF*6$rGH14B0P22)8c=%z^+1g z>OuU#{|dK#mXgz;vMT#5v}UKz7p1;UvZp~J!cI*^`Dgcao(rZkdzF)IzF4%lsb{o3 zVB|=#1*S}-bNeEa)uHxk%xK?zx_xJNNc;Z$thDbl{Gfd`G<-GJLRq=S7#3G3*F`g+ z-mjrZFOJA%I-v8ry;eF`~!ljpJN4vZ?mr}+3*FFcQ z(dPS8w`D+lT|>NCL%du={GI0e1?dnw%ZLs2*O^e?&`=N2Q1{hPLm&iQKMYWRqTcM> z$zApDyTWDDZG|$Vo_CVG-P{X;;P&1frVKO#W!&NOo?x28=i_h9;PVR2kugt6&wcoe z^xU?3)ND07t><#{xmPCCl^W{%%LVF{8tP&VbvgXFADzz`{B&%`VoF}f7+xVg7!ZyL zP1~8VWsyo6ZdgLGmKK0(kb@amNkDjknzk_6-a|@%4E)f5#Q*Ju-v@sSPu(bfxfDks zyu@vb_#!*jEQWcTeg7WcpM7sHs zFaHe?*;Y81+bqT}5_4y_i3L$_oS=+i9}oTo1$3NXcc^fC$+n8x4>o@UfvI2o0fgjmXF3f~*$?IV zIM@ves+u%aO%7GVJydO;M%55a)p&=hYoIc1sz{O9pSI^L5EbWMjel`pT1+k)Yer=h zY2v)N<|6UX!n)8%v;P9^sL$c~b!v(vc=%hcc4{y?2&0>iAJGm>73it3x*Eeh86?Xp zkcOF~c>0x!RB=SqR9=aq8U6fS7^^T zaF%&O_W9^?7Wm6N;R&O(?NXa-oz~!1`yLZZ7uy#5J=xI-IZY1V8c+_Qfef0<0VSp( zEc>cx*1POJcui_P#5eG8I~It3i6B=yQkQKgk|VEW|0UzDbE^7Aw5xr3J5DgxK;~2z zI*IyQNP20t1+tQN56xQ;Q@f(7FhU=;3Uje9xvvcc3fqN3`>YOHN8G$R4d6@zpw0mx z1>*M3d!8u=rv_)r>Bc|IjiEe$0iLx^xdkZzY{IwrQYki}FS-STQeRg}w>`vr7xDQH zCVL6o()PLX9359h-D)5(+*>wZm|LA3Vh7tL1V0Z2+>XG;F!tBwx@?UFcF!jS*!#z~ zfWBGFDGyoBxyvrCKYgm`YjeJ6c{N3Tsjr!{DF?zz8iDER&yLSjOkLUwiw%sOd@O

N@QN#$a;69ww1U8cb<76mRvUcs8Ap}4zklY-A~M7hnBuzE9xvdAp28y!}6^`tx& z=Y_?+<(r~Vge=~C>e2`VksVR5Rb(h9vms8I_(M`RtcLXnzumrw`c@kU->=g>Vx2}0 zgvu6zKm8Q&(LcDqR^n!306#;tg{m}qP<~4h%CPF&!}9qC{+lpfdIJ9_1OKibmM<~z zXY{aqkttu@!}58i{5Cx--)zc%0LM97d(BWRAF)=Z*6CD&UX7Av=-iM4l=P3MyghWz z>PdMWPacaQ@0-@?0Ge1~&LetkeBBJa4~_olYUpLsZx6lu=#zVS;u#+9{TZ(4&gx-# zTXZM&u)Hn0+xM`%ExI3b1*r%0+oHRyhvjY2{bLWy+oF3y56j!4yL(sVMIY$+KKizZ zraZ#^_|0)T=*E}l(gB?oK!mATq$V?-lZ&01=S^+&c}Vg>gBbN5N@soW8pZ`IPzFAH z=k3omI6j(?I=v^=2OB^!L-M9_X2ExCm>B@g4Oq?ANy$z5YF=PF)u0-ImJ(}hfAQt``l+pnlO1skwp0FqSJ&t zxy4U!_V^HPBp22vTWi+QsvAqOhK*b4O)N)Z<&x6?46FC+v4_qqfg%zJqj>3CZ;@V{ zpAG}vUYN$k9hzW^$V8=7-@90AVxglZ&UeNC)?BhV|1Ne&)e1lBYoVPug+ln;))9?<|@R*n= zby~9*M{VxbfLMYQ7UH=G&yKmDtx=;e-*s-(9EXS}U_XLPCL}I}CzCiEe+ZD7{si^E%=k1sZlRO$c_w2M-BKnWi6e8?b0YHH%yr4 zP;i_>!C{&LX5kBb>7RX>#6jL#CR?b4(jmH>B+Od=8j5dJIK*pe{QUeQaKLLSWa|o@ z@1BRqd(B{dqF+PSsKT=8*eHWn43y6I^<>@T;0evmD8onVxIqVXX{8t=1<^*J5Yr`_ z$&$k!pq``7vBzhvy6jAQa2$g50f_u+6v2Rx;ITtLR^YK+Kf;pH^C8+&_x{97h{$Qtp5~d(P zgSQxO@(m-*8s>c8xS6p5_$7J4FA)knh*_(!To;YVW-Z2HWxpD#A(-S3P4UKID@CCO z_jmSd-Tn(t#It21kJq*7hkb}pB%-(9VBYbVhfY4Sin(zk!*Z1Vm7t`@-a~8|N-PAf zg8x|CQbz*lTt3#Q)A5LQh4@yh2H_1X${xGna1p5JW7@EYLOS<#a0Q=Yhj^`XUq>C& z0Jige9Y=B>NRL?Kwiky2`p?70&?ONz|Ra{*!QJ2hltHBSAbLe0wg5x9zS}i?a1!x zzm-=11zo@N*h1eDI5cQ~clGa1tAD+&zu_3vhf{_A$3jSU78v?xrq%zouKybA`&s{r z?&?oWtG}laJ=yQ@E2*EjNij;`O#`nYES?eDJsnQ8T>==$}n z&!cwL7Twi9KCS+tx_&L|mq_~=7RWkb82O)=R)1ez-(vmEr2XC1ADdQxH(mcVT!yk_ zb7_Bf^^4Q$r}(i$JXl2h{iXfg)eolC@1^mVuzpb5pKcV|lL>xJ`yV1kNB(cq_!r`5 z$pC48cl94ltADSqznJy6koI?1|CY4+SL*unS$|7ue|PocY4y+7_2;mDskEP#Wmo-w zW?KCzx_&+D50v(ISAU|eZ^qBQx_*T9x03dESAWN}`djMyrL4cTw7H_3hCAdE@pR?l8WI-| zK86iq+MrdgT@o~umLKaBA&-LU<}stgi$8Tc{2~U|+0o=SdUc@urlhmC zW@Dt2H^UPiC@pnQLJ7wDE>rS7wA;yzXPE-`eqx}ne1b+e`FZ(C8j0Pd`$^ZPgqJmk zy4|^rd4>mq?);S96%YOkn`L!(-U7j~cRlggA%k$7jgZbg(H)B&Not|xXS92k2B$4*%kb08w-DJ zC-{4J1;78s!oR;0{8t%D$i<%rp6VHYxPSA?4A5JW$KX1rF3s(eH8kiFUsv2-wW>HK+T5>KQG-H%uWR(K3sjX_zHZK_H1x;mcSyiezVl6zfO@n{Jaq zxN#dTbLe$KGzIf||BwjXF(b+v#q4qNr8Qm0>^ZIO|05Z~madq;J`2F5&XCZ{#Q5mpatG|Z-sjMU+Fp}&10nDL@vkSsLM6-oXhQx{+x)a%4@>7-}Kl{1zv+*KxAZc<$W{<-+ zMr8WmC{6gjBIDJf73vQk0_XIt5mRHes3RaR{20cObl3|Hy_ZQSUD2x zS#O}^#xn?zQ&4TCnL)v3q`!tWjq&|LP+&4!-;ygl>ApV27Co_PvR>c-kL3$K&@|55Cj z^zrxn2R$Bt{n-ozBB00A!@uro2)M$Cr%tA2g}N#Osb@S;i+36iS1ko*zk0hzgWT=^ zw2^M96Ae~dAct}kYJ<(46ht7sGsqx~`{`fwKmwW}PR5W)jKT$KOd&ERV7^GZ>L5`MwV=CN0vA*721etIp zP=X~R)UoD7K{E~;CCC~|ZpBJ69ASXNR^=;vh-(RBV|*gghc(uZPms0kkX{0R_DBd3 zD8Ysg|JLgeGsAP(K?wJhuYT@{6Z&Kur={~9RXZ+!x-@h9BiCG4pAc#c@%CF~fvKbUsHmtqEvAGW#A=B|sQ*kKJ`VjKCOBXFD z-UX>v%a~<8oRGT4P8`6**nnje@NzYDGz1)m@HuG8^+aZ9i!*U$;W9Qau{#2Vx{a%7<)GC) zwOTv#EmsOg&Kk&pqnEt?JzeV>-;B-pQ!tatHtZR1xSreN!&L(Kwvx*%Hh~*dJO?`SSIJdGL z8*)-|e+&t({km~;aud4H>L zh0i4SkwV{~5Uz1Yp>Ho`H|j!RyHL;uzpa3$*NnpmwQ^|L$PItFIx0uHJztliBa8TX zdt0H|P1@$)z^~e4c+a|XR0E_vVQd^;-&v=-yRL`becnTEcW@yAOLwy-y1Rv-o!2OQ9vt@ zp{;=miYhWQZUlXk@I-0F{q=i#DLxzJfpAk4&=h|>GL2$fDLPsuDzi|`nxJ^igF^9s zn&N4s_^_i5#mW7ITpW-H(X4}LzIR!XFIG4!ImAwQQ73@3h@I5VB!oQM2FyZ3BIw5M z=ffOg^1YKY>~D(7QH$5rU@F}X7fBL1^gGphK z3%r)amf;(eKRku^O4+-EbtBRd*WcsAl`NWs#*N@gE*emda%@Ow03hJdpbzhtgFK$s zUHvcoV3zoX9(BC9l0E)_L^JRu6`=T{H~<;nM&XgXX+{bnpmD!N2{8#4Ffv2^h85$* zRRr=Yc{Vpuo}e?f?qBFrN8ouC`75J<3tl`Ey_C2Dt)JsB@~ZITQ;~f!V=(O5p!US0 zo_I-3NT@-JxD%T-D;FoR2WP3~0&s>Q+H$t9&yLRG*B~?2zFF9O0e84p95{ zeQXKiqVeLT59sF**mUdeygF(J5VDl}L$DVhgrTnP1Q=L34Q)jl@BtV#gVEr0K3wc#^^x5D__WJb~vVJ??2!^Mpk zbsOhmG|=gH&UnE6`9i_{3c4S-Z_~I7fV-N)9m)i=)vydOBQ%(MG?SRr@p%MX zv6~Q>eGACo_jeR=aP^V7q9?>sjFMk}OXC-5zI$i}vQZjYrAD@cMs~PHb|{bm%5%6! zHNEAhWI`FEp?q_%wERu>bUb*bhSHnz0GcVm^ zQpK1&2N@n=AKK%C5*aT(8SpC?r_uxx!&B{6Ap*(C*rGt5U}VG*$o)YA*fkN<+5)+Y z5l+Gl?v^Q#7o+pkR;0DMEGhyCz+~_x;Frr9BEMu*27?dKtXX%Dux1(f4AwlMh2kTC zOdcp=0dAxNnve4X8;28l`!Bi!{;w(hv-;CWFP(;P~fJ^VFdp4HhO7^pO+l zDonUwaW%_3Y?>r&^6vzM_AHoBtSCq}4Hx#il2T1};R&H!!^zq=NBxdVLadN49= z$nYpUz+BZR^FeRU-EVif zm(jmFijvSe?UmHwHZAc=>L?X;zUbkoKUwNywq$N8mFxnf&>Nd9Djw{D+LN&b$zxtB z*oNgzm=BwyI=A7_XqXH%k>t6_D>1u0u~wt4*J$f)wDm+=uhG`pXqhW$7aFv+f);%8 zpk-bvxOr!^ystQdTN|#_4S!{S;XJ-t@h5mbBG^?1VtmnqKMvYp3e zY3E`=c*CvI&SJFhI3h~4lj*LinRJmy)tu?cu#iEADHS~mh?@klkv*j-r8t&GtE=E3 z7Hz`~!6+nx%EG)7tEoy~eXJ*aeaeg#>kG$d$nR-UI|}dFn4uyceNs$mW)*cTc;P8^ zi(RUaUzGBIQ0H73cKTeR$2mIu<-{f@(rhyUAkgbfT!EX1nFk$4Rpg6K?8+M0k?{^R zy_{9>8@fS@_&axqh_~M*BK|IZpw2&ps&c???ifFyY94Cq&pP?Uf07%*FZx4tVF`%Q zgAww=Qk_mIwXzYUtFLq&(Z+)r=9UP%uu^QzWQ1~1BXx4IC zZ9hs(;d>jCKUe%e&w;G|gl`r`_zOcIrQ%O4Xn_*Z{>1ub8E_Gd1P(ks0mh*$!Wzp*Hiy>430<=HDC&!;ygw6dX7yiWigcbMi^!qIS#52gt z)F7l0qp+Nf8=0v=KFX6x^4eQPgM6eX$pEHeXplSMc*2%B0dJ|`vn^1MARA$Cr|YbO-3#$@DqdWt0{i9!Uj^|6 zTDJ$CJnvu~-ndnr&kDcv8PFlx*?4geWAZhr4m`TfMnouu$>(TKDqw;ZC0DtGU|jo! zJ)=Kpxi*yUfSd)egi!(1#2YT=d>Ai2{uUZ9+5x#;j2iCCh!^j;W2U`#JdB6Uw$4%5OB3XZ0jILqnMZD9)(Ja6ra~jWo_s`{2=aKtyR^(xd~zQE5-Q zdOTrTM;}K4Ukjw$#u89>V0F3!vTnBwf!qnyf?ca_bOo}MBttj}_p%)_1+pL7tF8hV z2;>Z}12SQ-m%&6nh6({v?+9eMX3Z2J11}feDMInC7K$^`X6=Bmz3Hv^G?T}}G@vas zpi?xUTFv7!03z0q?QBrNdIl?G7b`=(X_$FO=I)viPu}1%B0#u?5vL1-cc9=)XrM#+ zA$}MW%}ByP;*WMUUWfnYl8;o?yOUe3$v+CXz=s7e$1pgSX!1{H54DW_dPR|OH8$|c zbv5dVh?F<*L0jCfmT6aG1&UHbb!GF{NPXB^j?KRqDKxN!mg1j*=72Nh3 z?P{PF&uWPPdvzXijH_{!LEE5R4J>PE52t~yMni^&!(4GS+6`LqaM(v4w9HEdZ@bz- zE1r#m)^RmXXE0uzJbz*VKY?f&yW}abOI(dw0KqKkUw{;9uMWJjo#NZ9$BPFc^HRaR zG(x%>;?pE16DEv&qg38M-&HDs)~~?=Pv+~$6n7)gx-LEEapqtHe=0b020pvh2gN{U zT7fhl7eh?Pl_<0EOh+0*4D;W`T!KS6@)fORfm;Gd@pw;&oXb6H03L*mdNFQglX z1F)ys3o|{wUq8DCQ^A#Bx2M||cK;R<5dJyVs67*fL5$=6u@sF2nV#VOl_JxOH1!LFoT)&7iE^DU?%zc-(%e7V z&UF9YgSf!`^P$|&?%)4;2kd`21Kj<->HF0z%vTK@T6#APpY)}j9EaS?IF?-9i z`m>I(i0dM{8j~6JlXSD3n*+aKt?P`nR(9wSt7U&wH~DCf z+mMZZD;@r_v$~+4ZCA5la%jK$i-C|5Z(EtKv+8%v$Pxw`{1({O2+GyKtwdHvqUE>= zwl`WnGBFQ*jR#t^6(?J#V*5w zRXEU{u)7aQu27;3B+x}f)IY|3&#)GH*g8;jW_TS=Z|A1`m2ZK!e zp$2}U_Roaasez?GsQqW=nfAYj2T%LA2kb7|kEn&y|5yj-v;NT5?td`Iw7>sP(*6p_ zQiNE$l<$z@<`wjBNWDkFY{{+1ZGods)(Q&M!fGaTUi$b<&p({bL)!RF&!398Sy%b{ z^vlR+bqu+pyvE-8M!jCg-IjIhOuQ{e`*W2!2TH<%?ZP^c!T&r}p?ZTM<(~ zh&^Pv>tn3?)F;{NdpBg4b6&+%uTN?_p-e;|ea~;2RgzwQR<`mP@p4;SYPB=Q3s+&f zsQ&Qta7w@lXsEjmhMc;fu8ovVb3sH4#9A`gR9o&*Ol#x7-d) z1%G`yX2cHlK6Ht?5*T8>#H|D)Z8?!)C#e34=^=6w>|_gzHJL{5ZUQ7DlZ`rS4^{vI zv7qWzfc`$}U>mWRI~^Gmo#s#!Arm9M#w}98w@wp^CX*t+P?VI9?jrPa^;vE8YAXyb z`PlnExDBgk{lBYtw}~n2e+nxM5#eSXt_flPAE!ArW=!Y)zrmQf-u~ax>Hqt{3ki*} z|5p?iK?XFa7AO)(TsOV{n8RyN@1J$5@LIv@R9C^ANbCKp(2~x*|1G*0J)Eug>si6= zeP1`dKg^-X)BEq#3q?ngqFzE#mfrtk@qfPe`8|168KQjlC8PSJI`}de8(jTDM`0T} zKe(x3L=KfHB-|4Wkk~n z*~41}qRq=t1|PSChv3id`{K_Yz$u4)&*S-n;f#v0$E6GO7MdDB$jH-J_v-42-iX$C@WG&7Ym%p;L&8Cz+q4r z=Z2f+?V{n#NYn#PVh4DFPS)E)0f(2jniC7qgAD+UCYic-b9e!o6F4_4sdq|@<}3&G zULVC5RMhN`SAYk2YJiKLm&eKt$tNrIGzMu#m|LG7tM;O816>S9BBFMuAtO((V#Mo{ z)rTV(*$isvyz0DKt^wGzO~O%2=rxu|#6@@rsKbvUXio={b)`j2F-Wa=A>y1me9tbI zQh1-k(s*CYUyxkqV7YU9ol>h~__elBAXsjAG-@zPfCIIGRsn~$*QzDlO{+QE?uCua zI!jIr)jZOVpkOshQBGKzGo0RN#H!#*o!T50L0ZhRQG~vDn`I>*x3Y@J`!+P+*d)FEj!7S)dtx;b`g~dbg2SI!p1&jAJFT4bKL_3pT!jly@ zi#!-YVb#LG2Xf{!2Mpt{PitCI;AmQ4DpFf+A{vtBA&$_ZrWLhBxfODMk3;K_*pRrz z(X>qG9f@U%WyK#X|yNY3o#7Imae+u4QZ5dTLtW2I+FNie4R2t6&2e zO7IDOKwmK8esn)dRAg9SzvlZ&&U0B2rb{hH;%xOx@fh6jRC;5;M=C?}&2beK{o-E7_^9efiFD$F^B6EIS0blYp}wqxPd5b-&=gSOWMTAvm$FpyN; z&OoYpDta3Nr*T378y&l5gJzJUW;;-uYL*qKW`W`|XRfGKz2O99Q?n0UE^2lh4i?3L z_&t80W?w8}qwR(fsaCViq|m5Yc?O?`#fjui?O9Z-FEvo+LMUJyWQdY{Go zAT)6pM*}*4E;}kl_cUHrB<2ox0fgou8QVn0LvHklbX@d^nnVXz8$K0kHuNtQ7~%M) zAFBsg9A>Tz2-|X`@yDS;TQkBkHR?|s$3RuiibVM*`~qd4OGQ-s12aVRIQ&3V%V}PD zsEwHMp@$(y@K!`wVA_M^I_~ndh_@MVi5KIQmdGvz8F+8fcrUp`@LqG7;C)czT?i*j zH|hM%NWp3gf=k}0!=WpICaiNO6buqQgl$b(kX zG+8T$Yu13h73u|eJ)Pv?Kq_Q#3r?XnIkSH16L+G=O`)#{DO@P}*8z8g9$P<2d}*m5FDz z{r@BrUQLp5-XU**trNq?zqZz~+G>~*hh^q<;>q47W}rpz(^|_K_yQGD5#2+4x4@zj zvLURBHp4!qMeT^|;I=tHeswvb*whpDhNB#If6G(0l`F) zc0n#B@mn}$wji*6i1ispgd*`_h%nxS{WoVGi8U^*0&CPq0WAO(4De1Y9KE_;K< z;jBfl6W>Ho1B!^+h>wRZH#pZvAW2<{w_8NlW^F{oX?5{B?o-&$XEPcVS{v+5ieO94YO>oyuo04==~ z?jy{qOGsqUMi_SrpG@l-Ok$5oe?2sr`=tW2A7WhHX6}6SHKn2%EvF#KFXXYIu^c^r z5>mlocGOTW?gx7d?voPNNIt?SX`==ec2~c{6idi+Sp*Gjpqw@HW#}5*0%Eo4NyMRK z6P((u%hC1(eXLj=!^y2htb_#4IaUmnJJe?McpUSa^u>1a@MeIfub#DJV8g^Ziz;i@ za*q6;x7>KuqdvdLb!t8O@&3bqsD6Cd=*KxYQ$MSI+^!UzO7&{%$A?8fLcJQT*3zEe zrGoqpHxwoIb`+$Ia7!CuG~|GS6xs?BPDM|3=A2^KKjo+(2)}+d35A67_k<{ zMvZ!!21yq>a)`cl$>_+1j7ZvuM{SZ#NA@;cbamvmq&ibauEpf6b);A>r?<<9v$!Im zb)-o)N=`3SxH|Gt#2&Pc%vybnz0ToQ*E-UaHab#6b#>$^fZCmo9EdZ!AtX6<t`LArX2B-!@nq}MP^mUiufC;j-hA7 zN-W{8#G1(BtSi{*7``|B7e4s(CxsvWiRoWWcPHBpfgg!K_a=W@{v6sf`0muooefq@ z+yf&bw`OksLesk{|NOr@H_1~Tk_U0bePrF=7bZo`hdBB zh_o!^r4Lq-U%h_{9`pCczik%$eKra|?t}b`_ddM1f54mi-PO0w8a@Ulx0BU@QKHrn z1_mQ4moT1Qjf|S5Sm@<0GD|J`S9e^VJu$t!UG&h*zkp2o?S(%=h!gV-9%zMDY6QdxH1O$KHk@(u?Vr#PT7`2Qa?D?$P>;9<9S2#9ZVJ(I{`}atFCR z{zNjufklyWe0C%UsfX2KT96EhiaxhW)C&xR@J)1M*2%3acz^f^(&dGBeox?e7>+?l zU2;(`lEJ4fghD)7Ez3%9_cG@nOEn`BN=tpdA9)b23g^y;0l5%@3^I+A> zaK<38+N@I9b(N{AT%q+mdFCe!GfmZ!4Qwar`_qT|$+FhGOWHu^6PUgxmtiL!h=sc^ zW3od%iYEQ1NcK=~&i74kMCFphAz#?AQuM385>I^F8{a+!3X)x?Mqf zJF6@gpT?E@owC*qJvsARKB#A(BTOit1JPLJZ~$}yHkx=q{JG!%v!dgfNCLPi2(qk;(Qte5qlwW4d~UQ zx1gQnID?g+!o;|LMH3cYIP@xIOPw7Kl|6;Rt|E00`%OpUaYqUlqS2@dbu=s$9dj$? zjL0QVopHwJqB6os2{2WtO=aa@+9FC`+K0A9ED6QxM!GFW4pvGTq&3Y4bZ+`L(EDlV zBOyukorNJyv;JpZ?D6*l$U1mwxR(jU4I(-#e6t0@8H?SP_nOre>Sp+_>GXbq zDL*T{JL`Z{H&&qszZ(ysr@ZSY(%kf~Gt%NAY@gMl@}0Jj754Zpr;LTwAHSuv(H{2% zG5F#HG58V^h1Geo>kO}-nB+eQp40zYNF+XEh3rOn_>m*uwTI-Xx7c)gTCst6WWt@F z$q?x6Zp%CLrT53dx$J=)<-^(Ik)HOY!=JVWp^wg8kh6TtD_P6C{(NRl&VtWlX=pAP z5mAT3h?Yl7@wApKsD+CH#e5`%iH?mW?AWPX$K+bA?&?<`2u{aIpnKPQeub)I%a-bw zBK4GPxa|bNFJFF%D8!4eB8>OpJ6A5T`y6iavZeZ^NX>F#&S99`Ya z10I#NQI9si%ZZo$@gRwG^+?9|jkCs--3%QN9fSv-qZ1v1hllvEHy#%8p(f?55shwJY)Z6V;eG5w#C$x(eyZT!Tf9AVs zU%eCO;!uZDqPCj_>uja}yk-gI^E~#3?;3Yn=|2+*7^65Q=gK{BN{t0w#u% zze)a*h5yaM5vTCkx^S6>eYh@MmYkT}lZC%+9KO=u-xStGR&aSD=8Hx8YJnw=ZFIHr z&`k#0R*W%*160g=Hh277aeNt$M${$#tCy+Nie^)bZk9?}cG};(#(vLLo$H z^D5_5m6Rq|XRAn2n7MeVjakV?0Ko68rozO(5nyh8lv6Wi-8$~uU{1^`Oa))vO;+YxdCm{~%^Gq~j(w<+OFn95 z@m>s2J#BL^peC>g+brf>RM^Z?Z`hl(c*HDILQaAeuPU5sK_)$)2Ib2;d#yIG2s@^t zmG(2r)p&85^hh3j`I>V|9TNJH1RGcKh2$-CzkwI6H!X@30#>;d$A&BDA0mW%Px86P zt{Ej|t1&*JzWxo2XXtArWz^=CD`8deHJc% zPvEjIa=>L)C%Drz+??GLXyLaa>YUU)E8W}Qg$^4)G+nlml7c;he(#E8h29TVWH`7enG}amyEYyt^oGP z#O5Fa!?=t_GmKQfx}P?7Ixjj~vT=XiZkS9AKdn)-SUoz>gtTo&&S9!rwZ>-3z3-41 zAT)$;_dHRVZSrjb!+upu&?pl_1)b&KOoeXkU`=^N@>r^D>DKsVy63){NlfTM5WnZdQ$@$jc%dO z-2`T92KLud)Uuf3jX3`G_^a9T*=lZNK!YJ;#;3qE#srH#2L?bWTCW$;q9d3b$`pk` z2$UbOD?~xc2AnmGkb3zAcCLV?e+;*!P2?dfx)A&pP0~jgPsz7q@~aa>J;>s%=q*!LICB<9(WjwTK!q;dR739Az2bQ6%QRW zY2cESTLoCXeWp5w<35(%pSJ{u6QtBT*#4iqXNCVC)8LWx_{gm;=M1(V)XWA%+_tRA z52?NoDovN(GJd2!8zD<)p*~Ep;<2oMVS=^NLqjG%$o$i?=hw=L4Y{Qo4iykqp9_om zbT4E6%>t@ z9^F1={6+HUgtOTOE>94rQlk0fNESq|+GR^bM2-1MB3D^BrMp4KyW@n${1@#A8KOZC ziy4B@ppJ#Q!%G7OOM_3Jhts4MeUjqoB$vV`Ld(k8GO?x0#eOeGtIM$^+8=0n7n)h# zPRBKU@#5>K9dYKsr~!F_+3m=4Qd2Z7Y{*I^lm5%;qR+lQ>esg-S2HGPxq0#$8*NTByG2k1mEYgfN=Tf93M?e9;p{7HlHpo2MacKM(_kBlXuFs0*mKv zES*W?i8pCa{4L#{a^0S%z{JGO_+!CgjgY~q;I7+iPc@EYKn@Xux3_c4s_qR>FL{~< zhDC7U!N&jw(JVWFqUky0L_|{pkeCYSwBmRv6u@RBNN04Cd6CGEmlmgx2wXX;fNONZ zAPL3;E5vh#U_G9k!-i3SyujG76w;<;g;UfS&T^s`@teR)lZn)bpJW&rWgG{^@CMl5 zr>|!Gi?Wy8re*A@X95O;Kft7RgvcY=FM`ITT6!`EQEC6sh*X!;)&KfT*Z)bg3@uu4 z^*(WBiaBKPihGp$IHFW!j~0p{#CsSD4D&T^rFvm1*WQB~_{68?>3KExWW0Wm7GP|N=8MQnLgnf-$s%u~`8eDfTGq{o` zxCqWBjB*iu(kt^AV3Y%fJ_-vkjuIF z5F%&&*ml0vb{tm!+M;D8bU!1pH!5RaVMASIY`yj}jxeS%=CBtdtuyimHf}Zh3(d@O z?Dxf2L6Zir;C3}=5Wmb(%`>pWGK%pCmC$kngX#aaV#hHS62<6gSsv;3%Q~Q6LgtOY zcYVF^kT?oj-i!z<_JqzvA<4vEip1V-zPD}x>u&AlrPXC7>wbfY#=vg*s&`{yymId+ z^)8y&nh{Trk5`UMyyg~JRUKQ~sn~?rGg5A$ryS`()1?jk_%d;+n<;cKlWovvwsj2m119rwcL0TIRc57^8pDb^p2TChgY&q-L(C&4%_1oIKXS z6b@do&S_4%)L}+!jj3~plgB!+5>1`GoOG$f45!XkPM%9!<>I5*Cn+2a>6I(HPnb#e zzT@VniA2A|Q+AGrM$~{9^h?}s=Mf+0Bi*h`?BrEahZzoy)15p+&MNv7so-~|_%yK1 zzw;?LgE*MbFGKJmK2f<>7x28}g?VlYeBI}!dhdtEz2O`AepW{L`!e27NP9Q7z9?{` zvAex>`pdr-=*Tgsz4TH29KuKBm5WD!J8(w#I>J8EXq!hr^&V-2Tc^jV0ngZKn4VP# zRS^1OO@zL_o$M!orvL!{!5@G~&4iBEM;a|g8Qhd{@yVR&sjDl{;pX~bJka3JxPJIr z!h!mR59m)k;-%D_WP1_t>ErCqek6@jxqkSxr?XJXnxOPBP3hK}(vkR4FCw6%X99^X zKy?uZ} z&#PBvp_Da2=>@0>0N=<@@cC=zK!*D+AkB8my5Zwn4Blxg;att2ly@E$Bl;8d~O7YBwZ}0dL&Uly635ST0#qn(S#Z`2(vsbG(c{W zZp8z3RzfTAjLmx5Q#{-@%)+VQc0pO+9*I=$5bVi#@?h;L|0bjPIr+zJ1?l|T5h*$O zhk>8$i~mI+xje9ReXosVAI>9X1P2T$^|Yi3x2-foYNfXZm>21>UO4fx63037Cl5|u z8CHtnyIv--_n29ZP_RA#v5NT-SQeX74eM1c>_c)7S%kcEEeu8L(u&pswL}ihd0r?` z%c8X`T5lH}$WwBtvBfFVP|cD8%GR;0__XzW;uT>FP!x|aPqC1SXQo38^w|(RUW2h^ z2m_Ov@t6v3*{o0Vg@41qk^=LQTgY0x0VZ>T|QP$GIBaWty8c^Bzr4{d6iLZU~ zr;ggJ@qH^^>Dex6#qyryr)FLntQcZ5rS%?41wZN6+h=n%dae~yQ^C+d zHbX~6$NR|8GsZ)9o!)#&8jEV=9st)t2V2S zJ!QpSgw?8AS1|QUVFmcTVi8~2evrWShpm{jKf?CofZXMwZhg2+1@6iZWTzq2R#S3R z<>bmEDvzvWbHgLPsD|G;`{~93YFxWBw?cRly$i9?VJsRlA(m2sg`eV6OC@sl46OAD zqgUdnUOa$3)$ttk6>d|{% zh@bHno}AaX`GnZ>YH}YSgj3z-KM3hoe9+eDrHQk@2+ZCAw&$oQ&eh$|8nx%1$c&Cs zWiO)#IGFwp_Xi-i&>;85Phj?4!i?uto&)mB1B-kK2A9XTz87e1N1df~FK86MOFCoE z#t-_cD!$*>>M_{BTH@RM%TNow{n~@%>7EbZ4fHhjwpyM`CC&p3kaH^%8~1g9CDVbO zir6D(M5oIynz})FPsX-u|G^lY;`a?CGNlGz5?{ecYs_OKSUywA+_6m z(jS4@4RqcUr{V8}*d`NVZ*z!`5V>7FA@+iri9nAWr4%b@9#cLx8i-VkEXUYwc@iVM zAh~A3(6_B+-xMVKmfbc1Su0@ zRc{wfXe)f%NO8;& zzCddWKw52sY7W2^GQW{NVqBEe#1GH6M!z^sGhG5+_QyZlS)*4^Q!d&u8tr=r`9Ylr z=PTg28Mu%y)dx7yjnRA9mI-aqw~MOV_I!0bL@xFnr7X~TJBdLbSI0h|kXo^S#mK!I zzm%Os6c^qzkFy2OBNlWAWF}8tD2sPg?$LuL##T;BQb$4$^g;mRqMzoX|7=mbf>me< z9KgHrqaH>qD^oB1{N9-Zne$P)qK^I3QPr111k5SzRMmaFs`@0x$c;(xtgWh_z(aLx zU3Gldo9{00O&t0UqpH_@J8|^;wzj_S0CbsA5})JQ*4AejZN1su9&K&K56)Mk)~0Fe z$bl|^2L*uE);56Eci8}-p`P4NwDl_dR0SSBJzuNqft!#}s_UDO0d;)_V2Zld@j8Di zl4pMyJ%^*>Y_MLk06EWe{?Qo-|7K&u?BV>fPsUvbk*oWS4ZzN5$0k{bo8$v2Ox0^DC8xa z#;5K#s&8Gi1V1C|Tvh!{4pn^~RrR^9svZiIY`f9bF9Bc=boIUC!PE?0ecio|-lVQx z3!xHS-O6rh8*~>|l9IpGY~C)LvhK^oZj|-jz?-J5cX5$YSsxFios{(+zzk*0{=I{= zII4Q;{-Z{o)A)rPpylZ5g7r|>FH{L0e1H{Ot^NXSs|Q~6K&tE5E7aEaA>Kl5&8cW= z<(F?wh*yffQ1 zM_1QVSL3_f+`2ljKZQOx56ytC&I8xfrikrz)=WRAWOBe=zp>h8l$DB426J6(X&%3T z2{S_eTl89Lq!WJeB+ZkR)~GJ0teDR-%5kgUf2{5~-pXM5B+ z4NxoAi>mL`>e#2%L%*ajSg94wW3W8t8WUqs4ls5H3@d&JbP|k-v4A6!I;^X4us)Bu z1FAdLcO3oUqpATkeq^3{9rhn|M#ySe2}6#E8m~1rj@ktkU~cI9Em}@O*cX%i^ASuF zOZFpO@!<9%O~nV{M=giHvr65GahA!rAMoC3ezct!xLLyZtu^Bj_YilHj-!$ODNn)^ z6Xx%RB{IYOQRR)FRXz?qEEc=V{0(T;_}I$I_)(iE|10*W4z%9v^8chX{!bk>tfBEs zu>3L9q>5k<00Ox`A@-_jhg(q@d)2W1odquIC)=!VdstY%t%vnDq6&IyA&T3KH@t>( zO;f98Um3o)SIY2Riyu`Dk8+h70Y&fw_?)dOoW*j4PyM5zBu5wTgrCN~>Psx2V5(lf z4-#9_H^7a zsQL_sKZG=ZNv?U!CU8XX7ngE5j)*n%9qovi2b%ukO2;4%;$KHGOj~;BSG&G+dMqXc zLO&bjAylF=GEVn&X?+V;Fla?cs$go%n1->KixHh^aH)NvXVgNUFjyAqc@!iuky5d0 zRbl`pBm7#i%@GMp{C$;?68&zacKpY`i+sorJSO>D%{Texz0Y&zeIma#lOhY80q&+f z4#!AKkek+=rQDTS%9UkFy9N8;G(77>L3-_tCc(TvKwZOsu-{IuFl%pkKEd{mfan6okad{f#YSw>cP&epWY+X{1AtJUpoB*g_>@5 z+-B@Lk*G8FhSW6nT9}vkGch2kMqGRMP&5oTC{-Pz=4PlUW?Ck2_RLQrtSh;O?RWu) z-rK4-_N-%f1PbIQ7rAvC3m4`kk8ofs7j})_puD$%-LzhIQwW}>4Mc>2BZwj!NKcrv zIet>XCg4imyGJ`lWlxqggzvfjr13}M>lVq12-$}dp_R@YPXi*l0YmKu2+^;l5skYa z`3?p>IS@qud80S^+Ut|NM6v^6piX+kO)sC0hJN`mR^Ks!eEW4TbTL1P z9I*!bk6|}Yrw^Agd$`+wZG``FqR9r-kZ1NcQQ+Sg z?GD)AUFQ{eu?XV91PbT@8@SFLuxNi@;KK3@Ho_8f4U`5g{6D{ zv=ME@$lbwPilf7WH1xhD@Tv=yC;F8p6;uPGrYB=knhR&;5ro#%>sa2$W+*j)_$VT@5&lM^$p-X4Cy#r| z>Jdgx*Yc>pA9!njaQs0GKX&)bC-Dm>s1M}=;ed@fq|4!#E#EDKJcW?6vBNpPgd6m0 zS#&o;#0DxqSKJ#Z&~gS@h^c8JUps({hS{VM_JbL3Q1z6uj}fTQP~*i3M66W%wMak~ zpu$`141+tjjzNr;!XW+;mv!I(yNvr?DR}^+WFC zRGZ05tkK_0dvAjN>Mg8(M`)r2;)kbN&c!N4nU#9R8vXS-eFBT}zo;r2SlIXxLn1?; zLBI%~8So;4)HB!+XPG^XVP{VxrV&P?Tb9>s^lF$r3fetwg z!0bQbFD+1gIpS2D8DW}{ik@v@cLJM>rJ(bpC)pW!(~nlSUaCd4f$RM&!mEE_sx(Z) z9#pdnq$yeA&BefIVqTNAW}S_WYvK63Whqyp)XVVaz}58#XcN_Hq=CMJF~+mg7ig8R zp_j(#E{&(Fe4(+mtQl~;gpATj)8J2-OdKIU2ZfUO5YBClNn{c;b5Xq=sCLK|tyJS^ zCE1pNCiCi1eS@fY31dAyzu6Vuo|k3(c<`hv?Vi8-^0c0x%$~mlE>NeQXHE3{5Y$A^ zKQK~y{w2JrZE0r?Vf+K!hnUnn5V!D!QCA=OyR4%FHz@Nn;` z`Xrc&z{A}7QLpoOD+Jz9h%n7t1X5e?i*CupFhxahATjKlo}auUIkOA6XLJMi3}19u zHn@VU&LBe@xX&EOF4s?ueJE5o1w$mBgal@v$LO-t*6m%XaMvX-wK)##IZpeqy;ucFoGPYW>Xptnh&LWwahWZh-(Hd?od7US zeFjT-rEdoob@dW!LOL%(O#le)A<}u><&e(f5&Bxp(uobMV(XqjE58Br>YqUC%S;gg zg0d2wBgQ|^T^g;~7-+cK&i&C3d}=l003A7qdGdagU}e|xca+#7r3c@)sDa3Kbm=c-$= zN4~u#%dBMVk;@1=9vn1W#{DLEQzye?()I{WxpcHHlyHng1OtgfWrfb+SWiWN<<$mJ zD0FR`@dv|;hb8i6x+OB6(?b@@034OO-ZnPKt*D9K-ffulb`21zbFj9gdwb3gwn2{Y*b0k!&nc4E zz+)a0MBg7}ED-(DwE=Q>vMD!EV}IlTx{=n$JY#)msztuF?eW_*+XE+H89~NGBfVbG zfjHNSNXn8%(tRh=*czZP!1`QLZlTO33 z;?GuxGw=RSdB|!X6zRQ!ub+f80k1~a;!VQ));Bl{d%(al+JIP0QvTh zfN88+n$5$py4ShcY4x!ipQnfjUEO|kxRod5vF&WHZXZX)@!;-d_BzXLt!cU)AE}L2 z*Z)8E&ILZsqWb%rHlb;0NPq^)eSs9B6b-a!3Z-l@>VgFVv=Eic0tJID8tJBu(n4wi zwr+!{s6|1Fg5ZUVsL)oB6pKFK2(q>r_owl(iWd!Fq5816?p_JZIdTSM{@dJ?6bt))VQ*Us- z^oZj&*6GcFY221B9IBjcvXOBhp@`h({flY6>i_!WtZ7_ucj=T?vgOCjM(l~~g_7tzjZ4JFz zD;z&TP-mnt&Vq7HP{ZHGuXVf6?Lli3BqPPWpN#X9Ow+K#cS+zTE5{=-V!DFy(@{)d z2AR;56MkAC(0%ouJ!;;YCSLxRyshjGP(+w>hrP5%B1b9D(Es>R4_ZX`z zNgu#qnK8K5QHb%^EL*ean=5-s)vtfc($u7%q?f*Xe7a{5j%_1k8$6=PyO!=NOV84G z)1?E%{1r6mK#) z3uJNzkZ0&SH>*0`cSN1{Ihd7d(ch1#9;jdRJ9={Ni1F!3KlARv)Rpc#J$Yi#Hc>4$ z|80ozTL*?FVLl4e$fwKhFVbtPH-}d>f|D1!@I_Zh4oT#Yiy&!Qt<{RLN#~;rHgM>@ zepsW|;g>h~eDvcWA4O~iOUK3o@Pf1)^*!AA;IBt|ErqGDa_tbxE2U^+vG7bx<*_a@ zD1Q4-l#OQ)L`>_r95#Xyddi3w#jYN^ZP^6r`?~Pb3Z97*Dws%HM`SN z4+wKsd*^CRT-wsu;IpN zHuU78xP;qXE!S87(Om-x*SRQ?aPG{U&1${DeCrFDw)AOc_22k%XT8@DqGq7&SV{zS zCb4k4T-EW(>I5TNX5JWBc#}%N!QYFjv_nyqxM5sXx^$PIN?%(TRf*CN+S9x*FAazk zvn(qoLi<#50^k9A)I137ypaq*4&^_Rh6c?9ZTX8G?clP^kgcfNG}GDK5Y)^|nbQgW z7HgpQEsQtNwxkD{dv^|M^WZr}wXxmo_be$>8|9=n7n2hJRjxJ{s5S>M-nb!XCw1bC zIyQa@^1;mMWY3H@@Pc*QwsIX~a8th_A<=lI{m$0g?10raBzxi^Np?GnPJN^+XpHm@ z))-yIjX{z+d@D?3*<#YhN&Ty&ygmD^u<JRnyF~QPUEI)ZPkPiq{fJ+h`pjnE zCfZM=!BAbbVHl4TXY-djAZfQ6=-PhY-3o^MF;VIk7gq+AdpYC-3bZyUz zHEIIA-o!!B4abPuGuiV>t7&%g?6>Gq?dnk~;b?8zd1#A46gYVMAt)dLdvL!uqJdrU zTE~(G*u5it1Wcp>-qRKDe#Q=c^^filbiY|$QTJQh+wc@%0SbF5`>C@@2)} z*5%efyDkZOOrPoiu$~bP*NYs!8Ea}k^JCfz8nuNqYBPM=1O!Cd7QL&af{W_Qk!j?( zHS+$0OpGfW9YJGOPg~ME&I5emn-p+DSilKZzzG!4MFA%)+DrJI0D37#-V;XN2V$q; z!pJO@!yQK~=^bk@?gYl%5XM}CG1o_O?xJ^=Ao=jP;gOtsC+H;#KTr=?FIpNCSM!GG zAxuT8zdcL{ZQW7XSxx!v^hHkj=SAncE1&Mj?7P@4q9dqgdheYt@v?EC(>hnRz>w7M zWa-?~flMOs8uEMR%CC(AEoJT&OaMYA5?#F(lE0S?$yBxrm3FynNna$;8S^bFg;<(* zncuwYP>O~B3LoKAdZhos8K1^mcWxi?*4dqL-ui*^^wpogUBFu}WFy{!3K`;Ecgk2R zWSkg)<479C}uU}AmipIfLg`|97jEe&#ulY4(ctr|$r8Q{8_srUl@oTg6U@}3#_ zFHXxs;gb71O+RW$%huBh%V}A`1>lQ3MvA9uF5p(-RWic2>Ju<~|4?w9Hi>i?_`0p$Oe?$T;o;3RuEbj1*H68L6^Qen!7&~UQ)oJWeW&s)bK(nLAFu) zas*k@GUeduD@__BeN~d{C-QZNZt|niBl0^s+2GZlMV=gE zDYc9>Lv8PcD$aU11`K4u5=b&{k&mTDGl!y_OT+OYy-5^Lk{$<&mU3tmuY)1O!lk)M z>nkPyk83ugef@!Vn7ngFk3#_$85b$nyTSZ7nLlLqR4#v7=aDnm6M-Xua_huW&Jr5qZeX9bAzZPKBRm3F&5 zmNm$T85{3?99c~j%JWRYTE0mvcJZ;WltW{27J$(28;$Smaxe`#J_fjLZe!<G^gUt4#25}2?O=NTC)kW zV&QCC7h}-qJp7DRH3={60QPLG$&&w)P3GTUCEA>5DsL%!OXc^|;!NMBOqsi4@nYTM zHJCCtt6_unTS(vPO~Y$~wTn^v_vfEs90KRoz_dAgB%Wvs3uCchXuK8Yry>vTf7Ye-E;;zqjE$0U)w1-RJ9#d^9Vixjr<{J2T2P??k;b zTav}t`fI2sOW$fz*V&B}9me_{O5A*Bf_YOT7@K>c&Pk*D3K!z~Rr7@guaIE55W28xcn zoohNN)<{7`z_iTUeN$N*@;}hI7>>|G6`-b3+e#yP7bZ7d=*Q=OoJKSZzwSCa;MeDG z8IE7442;q$$Q#YCNBaDFuBbX3zoNzmTt1JkAbxejgwL@41}8#&j@^qi9d4lLu!(}W z%61tMfsb2kdzACz2zF70QHAa@ted`XBL?OBHf$aXkNjc4!u#>|hO_Y3UKtB_V`%zM zW#J<6T%MmLEWIO73HW*M)geDi7$6}%9)bKl^F`xl1(lV*&Kg9fjigXNe@f3#1b2uP zGy;}NVM}I=D}IwU!woCX`COgG5-G0kQtlPX&4(W^-uLi)4f`)Z;1N>{uaKu96s-s&%!%`O^2+BJe;Zw^Kfx6Fbc-_6zo z_Zz6co;T+Fn}=HAIKZ`2T8lrFwB$c1jSmK~7AL07AIo|hE(YQJi#QRAV8d5goF(qm z2vUK8neHbx{*N0$in`w>KXks0G`?yabefnW=*qXa`$IIJ80^`S^ghf;x>hWZ@DBM< z;EdrsMvlSW0B<=bm$P3Q^$MI^+G5+NCVwDqaM#v&t#`c;>|(g}{gJ_)(r|J)%=-oF zIX+U~LdA1VK_SOYUnL-Th>QRTu;$pK=5g(@+4kJP-{oS&0BjWcyF9^p52)X-(cfht zwqxjn?~hk(e^;@O{41!~<84J1!{6mF??u*q{EFRodYOs|2o-w^K&aT~>`{|b#SX*< zuE=ymmBwuVSp%Bx_0TfCA} zT_u(hvlA5eA6$7B zKiRAyCRerp_rgI>(=lw186NHmv92nT5Yna)bLUO#&2IKe^CI39jc35~Y#r1p)%(tm z$Ubmfoa`T#A+WE0n~ee4mmC+7-2phvThS5nR_AGYH78&gB&p)2uM!Y=>u1j!Z*Adt z>!DtF>k%9P9dF%U31W;ppc;(b*FI-sw}OhtZp~b$Xwt$F6?o=vsRwspuAwjt_Ps_6 zb3T6l>D=w|Cj}KjaWrTZQqZ8}RDdtRSpn<4Fe^@jvmFh#0)6Mw+&im?1~b*aF8ydo zgO8nBh6Vxx4et7f(O`rM>#Nz5hxhA`2Q>JRb6Sbh;G545Lj#;1lT5b9xuq;yt59C= zJ#-BXS>gayDWw5wCAE%gF^ou-_+~BvG`F7GUdac^^CoCJ8KO?+$N+oPUU)T8dL41@ z@%gXtu6rcJa&o}e6&V7R?vq#jf?sPubhdY$gA%z+1W1ID8zZ-i!eLtJ5JYui5at3C zZ|+|lsD};pAwapv7^wXBfKtLrr#>?r87Fj8fSjWCB4>U0`!SMG@w+>OJ*b&)Z+g=2>Tx*Ry(C7h}! zpw&kCAxP{ZHw&n0;bk9kK*tXU)J4XCBC>8FH+zt;>r zkvj|asyRUycb=fzP(nWulr6-ipGwb@K$f1jgQnbz?`Y=pzg*9Iv&X?#TYhB9*47RG zSbeMk-mi|KX?g~o1rSRQA5^Dv_|tEuzdIH%?*w?S2x`pVUGaA@Y?O^3FSbkScI~B= z7&!IrRJC-D@1gIEa_}9h-AkIdwt#tQ%j^YKTmCin75kdZD>lW!;oy2m| zdw^c(LVPTH1|N-OO$ODwqy=nEIULY?)-#oyYtJ~CSe@p_4oLHMM{U-DvOrFG_ltt| zHs>hJ|8|7rF4Dej%yuznqkyRN*8EZGXqNg%A0Ui@&dr6n1Oc~neYYv0o!J<>5!ihz z#@R$`dz~<5I?RDyt5?)&3|i-X>cg&_=JeWBqZD1`&_@%vlY);sQ_aE4l+e?L5Lk>$ zwhtV$5(Go%o8lmDlL%57DDERZxZ!0BTr&OODCniZK`#VB(8X}EtA?A*O4}rVE$$WC zST%2J_v#meOXaWg|1vv~2>l4sQv}L5`t2&tq(&K-t?SKGkpq6ifMJG(5rvb5RjV*< z)LUcJv}XS^7xiR#o@l={ZBi+1fhpaf@ogNk0o%9%y-K#KJI&$Nxe@H6Tf9mV- z^&T$d?-tUjkUAHFdPkbm2#F(gYS`j5CC2^OE1fz|C^i4XL z6O3B)h{ilS(YU#`*Bpb%$?9Fo-#j;>uwJkj?db`1U(<%WqIg&;i2c_Uu-Mn;_?1Ey zOHja+EcDs_1vKGHR%wt=KmSkSntW?&0{|L=O5gjqRl1>krNd-bmraHgqXY3Lh@wwn zOum-Sd?RC=Yx9;9jmQ(w8hjOAr#t+wE zwY}df$#G8E9E_$CHofPQ+B+3hNy6rEl?366Ma+07Vv>b@F!ek6viIdQ_0D`c;WA#I zHGDeBGMdjg&j0*W$x_P7i4d+Iq{&(ILAN4EMk^AZg{uGS*2Otg9 zBsz+o(irvM=N%EDwMPss+DoM38gPK10IUWGu;zKD08FJ!FNZBXz@NS6YMsy#y&c@ar%6@W4~&dC$g9{9om=@urj)<1tpZ1O26$8}(DP9F5E2cl#6?_=*K5%GLV{~DqOEL2RnYE)#Ii1g>hPcDatv}`Mbp(deC-lQoG zCdWj;{t8QbpGE_9#_99rW9G5)QB3LyCBj_BCvyfI2 zQ!)JQkmPGEjAiz+?km#cG#-$#wYv+Sw6>uE?l>I4HUqf82WYkjc3U#9_qWYTxTdIu z6Rs)xi}+WAa0?~2xTTotlbk@+3Rw2wxNv<7>5=sxdNLR{UYc4YTmdl6`}<+)l_l#h z%85kXmz)5&&K@trBeR4`g=Tw)ti>RKiIu^KGNpA~FI?2GaG-TAG{OHI=acw4z=Y&;c^07Ww zW#_tpef%u#%EFJGP(qgWFw1DegpCONTV_-`XbtBc8@Ruq!ia@Bl$)QRzz%Xd)cgcx;VkQ;cbQV;u*|uF@T{|9E>Lh!KNiW}hHjAv^Ru2g_6DROklvS8 ztghzaGHi#HGuC|5H0f~uC=;X@$OVYUn`iEMbwcVjyXRL$HjY&{_2ha zkUZO@^(*7A;!B=g*&HX`xsG)24N13eb1CVjc@r3D2FWw!gmg8Ibm!Wm=K13x-Gw0M zx?H99e)ah{pYVcPm;(uNKbC1{9t@J)j=t%ty0bfDEQomakf4~$lnK!j zmGuyDVIiNQQJfjOJ`8&&VG?|wVwG0spZWNlN5`c#Q(?L<`bKTsfc+%B3dzy*>D*z} zT9^nT=J-i5-1$l0?}ucOVtp3$s3ZfUC?u7{A!FnZ?u2&+#ii=C>B}a`vP!<~Bd(c4C}@U^2U} z=G_mDLIset4}e_kC;gIuY&e9S{iY$}U6O_%9qEzSeaM`)0sn%}E4x${1Ul~2spbi? z79Fgg&TUpF<9M%@>JpUl0|>sjE2+I!ozuh6WvJMW>GoZnutCkQ*<{ue9pNJ;J{u5g zQ^^EGWbHzVcgRn*uAPwb>c0Pnq(c!KoTH}yC^I_09xlft z5=H!vddUd7x=T_bza||N6!T4GDw1E@6Bjb$+Wmb9oss-nK$rx{TGWe}TsRqowJEd7 zT(R{wIRx|5S!5w35@o9tLSGsr%2xPEBT;st9}=QpP6=iq%N$(-)CPmo~FWh`l_P6GE z{n4lgi?TK8fd5KF*_mk5rK0R=Kt!TU=Pa_!;Wys{a4DO?{x8ciNi{oP(g`)YnM*6V z9rQx@wW4z;8I)`Wk@7xBpv@q(wP*Lj7_&8*amF^qp(2)@u`daB{!Qw)@gn?|y-IV6 zlvm-3OJsL+-%lTH#SfUDVN!y`x=WH5x|R$GLzFdCeO5StiR@cl0T;RNilD&m*HB;! z)EFN(!lhM4t2YstZf1q}(kR}HTFd5v;d|od7t$zCT z?zrxveqrao#+-s!PSmWi!}-}>4U3Bc*cE)DVlEIt2xIE+D}-z^l3L#gGc|fQqEYi< zT%%>V*i}s~*+h~}^l~nlv0^GnmI7=O(Mf+FgxO>ho&NgG4l0%Xd+S`mV3}ss@*Jj) zgv-eI+NrJc$q^8CsjW`Jg;8-jvC}zEd#DomT!}fg0@fX8D}lBv&^zg^Cg}@RmK;19 zhiP?#A3JK70uGi6ya>NM9lNW2hTaA^uu$s)>>S?3&X1!E;KA*e_8z6ZZRn{z|1?0W zJzF=^3UK1D(bv?LOl5!dmbfaoNUYFTKbHi~3UKOMG?>Sibf$S9U;;L1Dyy7KW%n28 zzWQhFQS;odSnT*Q^8ig{&&%I0=#jNzlPc@^F+BGx!qcB}-vNAw=jz5HJndx68xJUh zr$6QXG&#ZZeGbo^d3ZYocoz1RGjPW26Ox^+-i8*MYJ1K%FO9g6<#>2u(-Jb$x=~$uUoOh}eO(|)eZ?6l&6Af3U*03R2Rfh z-LnYQ14vIvH&KK`^*i*97}o+|ns+6Wnn7HvoS?dpoB;T{J!-b1Ag?Aw^Hx0uC6>N>+gxK}DZ zU->^;T4(4~cWslQR0Pup?CC?}qg_HX*m~FG!0cj(tk-_JChrWHZ*J}|?-I~i4B*a@1Srg*zz7TI$TsuPi zcqhb#Jr)-c>krH}05tQz-GVzIJZ5bnRSB*lQbE%hcaHBpHrRTUlq9ui@rh@^I?| zkx-hlXIvJ^gHQ0$|cF^r)FhLEfJ44TRDn z>*;pGcpb&p1pdJ3STTwgMc>CzYGVS1R z<@^#kX~??!^{Dwc1$k-o7B}9W?2oq^vNm(P9VK`^%Y1LQII8S*WRlo+;E zMc7UvJ%x2qievB#cP%0;!`3wKf_=&mRyo0Tn#1;Hd(^BKwtqwNI&8NvnGsyd{z)d5WEO3x;n?O35AR|^m6S8w zaO{LWMF84m+s{GXHOjW1cSV?Orls^%%}`zFOE_f!#O(>lZULH;3!N@%4`m=O z?LG&fh2F4}Fw>urTW2$;2%`^&7^Q>}5@S2gf1Ga^wFslX10a_u*yYP9F(F%P46`v- zaJ4OS+GQLNcQ_8cx!Rx0!llQqkLRky5!@sK4`;)G6gl2%bT7x1w>aBEML3 zPg;;9QbN*+>}(#)4CIFv`UQXCX7g$)*;0UkMSj8ZLraC8ZXYJ8Jl#@dJl*7nmh$d| z0bLo}cq>sd2y9teZDc4^Dkm({^(G0Y*UUe^`B}t2dyg-}KdbK!_~(Z02lLN0^r)fu zr<JR=5a&dLY2LS(&ItyY3C?cy^BDGX#>L5gCFv>rSniZ9cNTuKFqo!VAS_*UBsv+AKt~ZY7nFP@?j@(!l=F0+iGU<@VtEpTwFuBm;N|F{Bw0hh?{))G_#{Yh$|;O>{N0B;HTEnYG(5Ap2g`Yhzh{8@`0$(%P z(p?Uv$P!dE%^#-%jG}#2-DBdS{1+gCB;FQ8oG2eXCKBawNa~1~_L~xT(=K>x@RmKx z-cqRg?{HxiiR=^?#@pKqr@QwNiR`;vd}Sj09v8;j)WW;f)%}JjGzSG%;5T@%ez>GM zj2}@LAODEOR0R1F38TKOonIoil1qKmc|&&mkRr|{f+jGPo@X=hVZvOhasr?IRCWeP z%4m|x?&ZIAXKVep{_HmS^~4Db^h@M_%ui5QE>%r-XNs!5;G4vt_)Q*Bd%+i@*U$T} zmGj3cvMReM-%U{Lm@#pr_b6?FMJ{_RuE%!xn1$Y@P~D?5)@x@vgn8`SGNSu+^{dcL zwlUy$g77m7kjyfg1)KnOtp&xob)+#CYwzH~6^VA8578-Qn7$Hn!6Djl==%yTMO6Vt zhSZtFxkvG6uINmMCk#GyOT=sAs^h%&PNCUXfA#8s*Df0s@tW{afncbGMKXET?g)<2+XG)U@iKfEo`iP#VLs3QL}2Pb8|RR_O}gH`A8A%06@ z_+>}M@jKk%H!8&Mr7a@-ycd}RIc>~)npY6eq6+Bx#SFYmF_Uz_4PbO+l{MDRqr=Af zq02=wYb?j~BMN&KHSUwuVfvg)e=q4pV;W`+uh6N5hn{VE2K9DE_Su}EHk*Si^ccaJ zB6}#AFjF?+Rj5;lNTv|AEzi)gLFdGti$lLgQW~Ly+D(_oSG@Ce1VIbO zHRtXN>bXaSF-1F=whwfU_U_$ABr1#pLOT$q`sWi&Ei9k(f8NWqc#QgYehpp^N7bUk z$%3899afi1joWgK2C62p793y-SH_7ntmSxuTl$teb)f$JC)q(E!)aUh z+!LG+K$)#Q8%9!qzp_vV-!xTNcjvsx=0a*E<#*?Q!>>!L9o*aN75OX~&z>UU`tz&! z)mtimz5mvqzlt|?_sv`ReE0{EyqY~SE)Pc1zmZqZlfaFQe;E8N@=A(RhM`C<-w%-wSgyFTrSI!x6`c8mOYC<<^S0)nY?T55%O7NC_ zugIOqrYrzl{Wkq`n`u%RT4<(e!gS*DfcMz_rUPgip+^ie;pOydzK!2epfG(k>GOntdVm zsCnpnw98Fc=HIw>30ks@J;d&hrWaQApTIoR-5>2AU7*E^ySV_HMr@#ywR^i@-BYJT z2rHn&yOjD6Fi}0W8xr%BlbiZX`ve8h3C8NK3C=yRLktYeA88G@Yo*5GVn-jePmnt( zxpvQ0eFjDNd0oBTwI|}=2WOYT+MYy};k2qfd7TW99YJL>?+v`y8PcHEv#wGY8b*ma zhY=r5q>-M~w@`zYpI}moDt2}!{ z(AV-WJu|4UJ%&a)sIMs}eQgyv0q|>;&{vb=;T?{_{*CWz>T_}0Pe^ndlT~sdj;?rS zB(b?#w(^FG!h1DOYw|j_gG1;<;XF-i7tGV1yWZw$M_485&)~s4ZJRCGl0$5xiVoyU@@xos#tuE9>Iihz?}QD5 z_eczfxS1+qNVB>IzWB4~AOi}rS(d|>?ez{{)8P2=@ojSWmP9*zC2Vze;#A?Argd$= z5FZ3QuaYLKq@-?yn5yb@P@Q&D5WP+qg}4-Kl5%T%&B|P;CYkwf^Td(k)o+C;Gd`-l z0NYNvjcSNYh#i{}X~u}yAN|87iCxxTCfI&2hx${Q@p=2AI%swSdt*p+D?i>sSUjrx zcnH>_x=U`fdb={q1DTe>iSGN7D!#dG3JTN3n|PIu%4;L9H@H_Q>@GsrmDd=YmJ_Vf zY})uJ3%!(bA9gHO~;<+)j(tlEa+wJj961!Y~i{G+v&(Xfl+iU!% z9?=CK>ZJM(p7e@#9_hYi4IAK2?^gdT^*RN*lkdk9j-J;S+|IkK!9{M=$@eajm2w^C zHqbf2YqQB3S;*dNE97q7-`kCu9TuIhF~jj@Vc$|mY$Fr$iH-u6QQc!Vj4 ze{RRC|xsK(JigibN2IPy@+nYZ}o71u)?{Mqw79Xv*S6DW8=|=95oW#AcDs0PHmi+F{Fwgr973`TU0 ztNoGV@Sb(4CGM@TgQ7-uZWBdS`%$KRg;lBcw#9WXN>vf2Dy{2f7Y$ce#|Sz*E(9G? z>9k>Tx^v_ltM_aefx@+a2%y^gCw&^GnM!4*CbHvWF=zb^A`p`w%XG&!Sc@rF49%4C zMe_MN-RHZ51npVvJ@teYsr=WOVTA~Ub^Fw3hNB9FLXs(dxpc7#O`k_; zFSxtBQ|I-S5_<9`KZ2BmnCRC6Y)w)j<6g?=u0hXk)p4ensDKt?WEM%h2G%mTkzEh`LI(cl&b) zrkh?+&n`?YL@^WKYGE^<|30%ukq-60kAEKpUYq{@ zSG-=*!|LxW6`%5j((@#3Q~ydBEZjIy=WiSsZJ~vC6{ZH!s7qYw5k|{mRcI*e5=7e( z1wr&EGh-F1%yhhY4$wBE7`%wlY%3Gy9iXAlW=%%UEm}VNEjgP? zFePexf2iI}dVLDz=EAo6T%k{$IN-mMK|zVy3qD{ObQ)Ek>{c^%?*#ceW*{20uqaw| zh!&P$viJP6ju!2zF$;8Wjj+Q`!AWP{F3(H*cq@4|32e{T({}k^=~Fopopwt|if@)y z)X2K=HU9vg`S0@sX(x-cwHM_0Qq5NIteC&BOf>*Md0&l_AS`q7l}jFbRbDInPzH*D)e_sbIAZ{b_&b)8;2lX|_uLd{87 zuWR*5kIR3nieg~Hem-$$L8}`!`8k&S;s$yZ*ull#?8|)urkS~A4!7P#1 zHNp-Zu7-Y#45B?kR+IMGJbd);mg@;2`5kR$*=vO3+NauHoz5K$bBuzHqyZ^w zZ`x+bxC&LX0{4m#moWe@neaO*{ZlSJIeEEFmeDZ4)Ap=QH#SpasnMJ_Tzaf`$)BE) z=YPAZrwGS6-g{^}Uyg*u4(7!{HJ54A8$(`e&US~@&*YGzv0)d)b8$IkSQq4*mTIJ( z81m`AY`F%{if2vO%4CM3X zu^-T(?>%lqtvh6y<15#?Hzjg)-9;Wj*0#-q+ExazB^067?dKV`?hj#hT9*MM5CJLe z+$?SFHfFM~wzYTGELdZ5*5UamtEJEG*RGGo2QHhb_tiiBg<#;i`jKehLgcVVCFNaS5FeMEDzBWZpx;bRM!xl5)T8DK z9$xiGc+9^-#k?xvK_N>wvgrdDHwjN!np1jVTQ(iE%lj?mh`XJ}QOk&X$)~V;Fu2>u zZ)vpB1)xAbm?r%|u|Y4Cv~`8KwJh&QDx_llefQtcG!qK7<>j6d_NChMzXcFoq@^_` z|4^9d3cW}NZ+58uU3CO1qo0o*AI=f{Jk1hFrj;pBZt^B`la8c!V$p7@at3K@%1)QJ zgO5xmUkfsY36`pJSBC@uZD{NAo-wsVW19z(`8M(w4%-Y&K}};PYq6X(7o4KxM6^F~ z>$hlM-J3t#)oq7O)(sjPV5{CNZU%DItFabU^$I%_wsDo&Qen*$lPFZ>)2eyM4VtcS zinURk%67QYtNhA#{C_8=7(c3yXT`V`%4Bdkz{>=xEGTs9aJ&r1NwT9*+-I}!YAE*X zx12}AWRXy06)hV@OPA2GoI3vuGLl<|rqU+O-WrZSq?G2wBFTrTR?ukqKWHI*s$Qn1 zd+um`Wz(d=rVZiKWQeIsiL7(Gv`%hkW3TQ}_f>BQ5x2e}#3QSS>;6q14bS~*sz}eU z`(grdT2?;dkPt_zJ&`?9lg=(5IdfEKHsto*1ag=w)B`b7WL!U<%MHwh8H1pu4BDfg zbX83iRTblfi3Qh2RX_w7B=rsQkHl5B=RbW1EGvPr#KXf_J9BbS^csHTZbZ520&BWWQHchVf| z=8K}CYTm=~q3T-6>%RK;d?pyGUVNx%r~<$=?>Tg@K|_^tGE|KvCje?bYeUtM6y%-A zs+!xCSkSB?z`C~g(^SJvidBu+6l@@SwvO3RJz@Owva^F)SImFEx7CAgtidSci(Bkt zc4?UP4D;$~)7^|wEVaj+p`ZIUq#4UpT)Jn?2>dQq%NgH0_#bXi)S%|vT2kUBQ}|N~ zQ$qtKc5Ky7swhE?(DUsN#c6n>qv41P0~)UUWf2YS5}6zRP=FgYFCLJgBl5YrG}^>8fm#!Pr80Dl|6rjXiVZJUyT5J zzcbYKwp*Ov`Y=XQ?FG{b8iLc#DdM!VB2GKiyYfC)37d1pD$zC1Om2udU+*_lZIHkZ zR1) zT?6dPEQvyN4wC<$yZt5@HQ%^rk=IuIzV$PIArUrc>=`osluf3GIZ+%pc|Ut_pt+cN zbJC-rp`SIn5%c_Cmtbv6O;P*``g~EXg81<&E@`u!%2$4$d(V@vHGi|pPlflj-)t+& z3UO99a4zq`8sJ}&|AUA%2XRyRafbA+Rofv1sK5P`y+3Y0MsCG7YNyUn=(zjnPTU-L zk1>k*@WyQdUd`sf`)mL&U1byG@+ivr)4SCl@`tVO^Z*`~ku@H`5WsXf|ha6t}B67p_+a=f~N7``-l&1 zjbtJB$@nwzh-wtMXql$3x#^TvN4HWwgtUy<~{GDRkXBGZ168E!!bJK?TM z1#&5O*jTgNQxyb^QfO}6W#>q;x;+bNV3=0`#&$6w)Xtl9mreZ7SUPq@K<)EHzIIwX zTuHN#jws~J{%$L`C|ML}DI>dhZn~0KX!^?YMAqPV&3E{*aQ&dz4sX20`a@}tbs+}H4Fle^>14oOs*ckGn!mQ{ieHG z{I;(u<*o^1a9DqrDixw&&guJh$5UKaoMODeC`z%66h6QJ&=S?fo9AcM$lw;JqN4o! zT$fr(k=5_JL7&xSs4mnsg0EpLU2K(b%^)nI^otF7VrYVr7(?2xCAx}Ym!_+IoVD(7 z*ScqP9PFuJ?T0%2yc>uJ(`CFX;-Br_=i;9oUQhh9%ggd=+XSe<&&I(4XzWO~$;M_fabw?RiSZlln6(WSz8h2PwU)9VH z1K;>KA}=>fRsHrXg?C%NutALMeN`8Iv`k!_@M}|QI^WWG zI_@L^Ia`Oyi2>Qq`FA=KIl6i_bfdiBHbib|%3VwR1P}TNCL}i6p_|)k0BKei#QDFe zKYt-_0x&^#Y(VIMq%Qe6p1rf)1|G%gw~hLLHwnF&KYeB(znI(x1*{FqhJprQf!H7r z6D{LFU1ENeaVKR=2N_5D8J{XdDgJpkDfUtdDA8PTwoMh9N6wd|+wq)8(w)&Cmvn~% z34`GKN#G>i-)@UbI;twwH6?SiCeCtG)srGpiTQ68*4&23uKiJJkd)L0|KOMVF zcw3OZtFUI}C>691@N7{L>7z<=_!j9Q``G{Mfhnq@J`Ur z!=RkCsk|%CUmXVataL4FCRD_Dw?0YJxwo%Ins8sDQ193uN%?jGD$jfD;UJ)ArDK5* zj6Mg0QK&bz6wGy4rHV@1pkze2sM znSJ@Pu%SAU-HO(Fa(7w_C84@=6s|r4=jnt|9mJ!)r$VT!gam{PCj_-al*!QQFz!HA=Zv&#{WsakEP;1+HStKP{+hzs)9aL#ONti0IgT=Km$lD@?5PY%-6!8Up3eK5t>GmB z43a+asH;@^RaGjSdQuoA=%lE(slaNTD7&%AZN94Z*G#Glj|Xwc2&LsfsPg?b;Gbwe zXIK)1Q`OjU_ZC5GwUQ24IED_T@y~fBHS)qn34&}Bn)mDLY!y?-h&3cS&yHn0chn6P zd0RAzfGrxee}6vGs0RAcR5KE9H3%GcFr0ENH#Ra9QUjN8QpBX&_qm;#X>WVd?QKsQ z63Idb^U?;HbUXKr%5KVT4L)uA+A)k1L)<3@xKAwTpkQ0IESJqLv1kgjH3iw4MAkQG z&@=zM7P{d0B2Mno@>{nMu)3r|q*4lluqEDMCqC+qE0mkg*58dQ5vPzIB_fM0&rPbo zd_$x}KrQnQ`y9I2AP+m`#7*ZwSpoa%zh{q{=N=h}4;N~^^A5Y7*?+iFIA1IyyMSYv zG%rF`0w(6S{^=O1XWS4+^;FVR(p?`3Q2pEWMX1`{3V%Wy8-%KIg6e0;34m&c>h2We zwT7rxf~r|)P~#9*&IqD)9w=>6?%W#eIeG)%R&&K`k)^etw zW+u7X#C^`?@eZLvkQ$`>`gko*Cj&_S0mG|nkkQ4p1i&<}!fLsPk_O}2^i|49Ex##~ zZD0K!R@s^l^6)rs=v4{j_Mht zr=;c()syJ;F&8fYO!JOILmAW{$_c73&oxvR7{)cNLiILQ#2xR<1F_JA21-nfg8j>Q zR1navp51(BqRF1V%xeyt>v#pX+t$RaEi3!i{#kOa-0e3Qg(}&`90;?^xMky*r^{}o8FLw!`uG-WfrW)r7VI_>(l zSY=#_!f!1DX+RfP%}ZD#>22ty5X-k;CuhMqs&LG<(l}>?rPC`5lY^A1Dzfx(spC~N9yYu25K{$%ax)tZrijmVhD*Z~hRm(xs?$w5`ol82(!JFI)`f@6 z!}kgzgN%~lZ3q!3GTJ0Oz(E%|bvR^fJrjPX{)zOSYtkeAJ^`F-NIV#0*t(;yxB8wJ z>@=M8GqrWDg5D)J;$S-#FO+9$Cu-(DnZa2Lw&!KX=nY`qu~XiE|M7^NZ~Io9oZTw6 zuYS$^fSfmfGa@I|5hU=s*x}dbJGq=M+Y}$&RMx9u(F%!}PSh^DoW!e@MUk!OydLahF{k%+JW3+=A4*s2rEViux<^l6wcph$BfX=V{6* zHCyFAMN4~sK&r=cexICq(HQEaN3gv=`<4*Ve!R21lM&BxL>Jv0AbOB_MhLQD`TRHV zY6gSn9}bYeXiM_%7Uefo-z8KJbkofs>n&l{5dBPzki9l6+wzVgFBF}eShy|99$Q#^ zN{{u4guhW)ao%lDGcF;9~0e&)m+0{fXbilF&)$n?jO@R zNifZVgkS`~or(SI=??@EKtu0=+d<=PAjrK(V=d=8aiCpuF|((i@q($Hgs~@Z=j7ZvF(C-66iw-M(TPD#@fP`exN>pW`nOFNl>tcLE23Epf&Tj zk30+u9N7xOEE9YwffNwQb0gEpb!iUC2d)j2?V5$8aFpuRxZ3Bp^nEb4W+TR2-wko@=np{gC6h=~emVP7N zNuQx4I_b{yf=;>(j1=e+bkZ5sBrrqw48~$#V;sny!Yve(x=P&e{L{JHX&MSWuqf2f zvW9|~?e4UUgMct^YaKRyAk(I-DFKPX6{KSQou-xV$bopq6fSg49OdM6*wN>j_`HZR zMJQ+Eq4`7TY7)h&N!(M0fUrGM`8jr`hjF1v)+R)M2W#i6 z=&-DvYjpYF5dB}FeiY5xOyM&=N#{np1uz@CH`pme7zEZ-x;2`f+bfkZX}1BdS*^Qy z#D+93r=Qjk~c0B=EFtA4FyKpx6sSPW0O z_QWV;xpG`-vs=%`-E>0^K<-RcCknPmjj&wjJ;b0GgqzqLu9T>0i_5FMDOF8Ru?1d( zI!>d?(Adhp8SV#=Wedbo>Zh-P{;PL?W%Q4gKVIe2h&pw5^pxtX4*pK9t!z-E6smKT z4Gd3};6|ccVoGHLXWmyfXt9(L5?(-TPS4F)QaNSDCo3&)W#OkcaB|BXmr{xn{7H_)}$uMz&q+-O%=^Ps})@Gj=?6}igFO&7@GKGwh|$NQ}y(%0Uq zR;c|#zi)W5b}6`Hzz3lpoYn+eI8?w2Abu5*n7i^g`SsF*HTEwXuH$p@zGYNoiN(&Iwu%y zul#B>+5&SoAEwI5C2YW@^SCnn@3|;Ab6E)eBA^1Ag9r0ZV3Lpu))?pLGGr7dGB2LZ=`UzwOMhubTGZ#_j0xBAeZ4f3k2&X!}5IuPxz&?h=);W`oYPN0D=Q=4O1l zGR?&}(9ohuCg@70unoME`~-GU1OQNu`bAnr1)7M<1PUi8lSfP}18EhKe*Won?)IP{ zw<-aJS5!jb=W%z8x7Z|`2n85>$$-4b`(emSoa(T2W<^MPGB_rPNdFy@(5lYYSs!YL z80i%xN#p92KgpP|p&6Zb?tJxU;|bT<0r9&f~;h*t1y@s`oUNtIfegi`zP!bcXs_(q*XPBh+i zJX#*uK8KeEUL$IksX^4fAf)9USED8VCRljcS!=*5$msKh_mht7{j9{+WBqaMdi9{1I zobseYy3G{ba(DT?(}(AiZ>EuNX1ty~8%Lf!F;?PB5j9;^eQM71sj18@s=!l}>bk3y zPZboR?h2NfAl1e}sTATmHFX2dMSN?idO-8T%zRlMTFizcts|4(2m9dNX&ZLkma0g2 zL^)NW55oama5P|AHBx8D3zZnP{p@QVO9FUidds_+*3P#jrHt>Z=dcbE`qL!`u&_dF zP#KPMyqAt2H(sH=q^W|N8!{CK7imzFsZF}J=V!#=!$3e<7#M@jTwH0Gd4KtW$kFDLqitRnZ*66;reH$b z!Y-`Q1zip?4$ff>6qy&x*Im8E@sVW71ltSgcn;Zjj6P z1u7{2AXY*0Hd{rytWsU>J(T?kTDoiAcBJYGhK;pUh}?<7dY3l{*A4?Gn^B&!2LvC| zXrhkZvyjZJ-TEmN8RakhNa2PpV8Q=y*Xc#!0xpV z1sXc^zbme^{wI82WB-e$wu_(itH0_mMb$^Zn(Kfg!*eXEnZB=ju1bRW^G}0!vNSAr zJE0A#6;e(Iy=a3o%87T3W;sL!uI7zS4{J1i0un6KfyBv@GeCS!fQmUhgSVc#Bxa%8y{7U5%&^-%tB9HWJ|nOcX%;84O@Nsq8EBv<}wj*1;MRvS~D88%~;W11pk^ z&z1*Mn3Seg`64;IWF500bt5~%CsUM7SO#g@T(&r*Hf3uQ0M?u-lG5q~T50Tn$7XF7 zc15{w(re<8E=q2+peHpZ#M<60 zLV&M{ruyV67n40@x@_k@VA4%KrR&^TY1a1k_7b2!eFDm*D13u5nu1^;H1KW9XLhfy zzq~>gS+e-$Z3a*$XHTT0hI!fJqLLb{q=w>>lr2=0G!rN7Bd&RH(hWZphthG}o-d{$=uzF;$l&$BheVzz^YlO&e<@cYZH$Eth1 zM)CCqjViAn*tmT4Ob}GP-wVabdO}zu-^e2&`f8y0oEeVSi(XF=?%m5g7GJQHB=M70 zbjmsGYPBG3uS8}VBTToN2Vv^2a?lX)09cL=zs_5X_C^!i)`>(m6J+RVo;Pp*;Dfbn z9|3qT8K}A{3;nP^h+A4wFs{(J@qI%v}>6gwT zZf$4^N4;TY%x7tiCKqiegNddvN#A~y%>S95UP>t&^Cu%LCUadeIh@g^uciqKnU}O)b zl^PXtGZt5R-$BwF9%3AgjPnQkuA-yhLmYq@2~~SG&a-sk{Y}ymb|>8)df5Z*LgQpZ zH>i83nWKbptc^vNUm}jpf0lX`1C_Jep4P|A1UGNK!Ladcw-Oj1bTE!^-Mz``+hB9? z2KP?g8wb`=pN87rKR5z5(&P<(_mCI}zbyydH>e=Fnr-&ptPWw6V)hOlr`kIBRKTf0 zr0&ct%9XNQKq|`BV!2xUTw-5&Rfr#F?g`C#&M+g~Y(ixUIl&KYeZV7ahR_V5vwdq@ zJKtpXOF;XOj1_6 zaBemlU1ys1Zh1@^k+bPZ8qj?9Biq^`XwAVE6Z?`!Hd77m1D$%$Qf4`N^l!rT%GJPbPia1Yqfe9+kbHn>6falZO51X#1<9 z?N2Pb;+$D)tvJ=3SWh{cVTqZ_4MN68%6qvFG~kg&CE}UXoRKr8rs6S%vFgsT8jG=hkN%?hWpbz!2N88`&TbA+%v!@ zRJb3u!En#yzu?N)rCb@0EGwapyPUgbXIDm_E8|>O#(}O3bB=LkJn^WNF*~oyK+m_7 zE8`QTWgO({vGPc($6H((pLS*Z@-tSCc9Qt@SnSGZ&&!5P83&XrW4qEarn)j_x-x#k z16qC2m2tK!V{TN&F0PEZg}IJredgq52IoA9C`#G6D83UVIxHNv9E1keggnO>h)nf5fP!Q?|9@_Gai4;lTYSy+raUX4znai@(D~OKdeX zk3L(Se|*d^1$xYepwBa<(9}gxA(S;%GxC;t8hwGz}bRPvL}bq8Uv}2 z0LI#!@ZAIO-mezo!~ z92MW;V)C+DfPKn+{#u_VuX2a6J)=5SL^tDBVTTwp-{=kMpjo@`K&;aGh;S#>S>f*` zql3N>=sp@QAh|H069=y->jURFn$GVIBDQf6tNn;E%-!Jc%miyvm>k>OI&Th4ac7W3-@ zLd371z$dqaU;o+@l(LsM=Tl|)b@eB$t#>)Gj3S*a#;;R|iSg@O^;w=@*Q0L~@#{Yp2X!dn*WVEl-NS2@p;1L>9Pa^7(a)AMpWZU5;PXq{go|uk(IdmS1ND2nPJBEdR0m zy2Lr%*@2=`M7-_094&Ul5(0lAdi=xKM!|4KoZ8;!H7p0=XUQr;%GNOCg9_16yEJJl z?w$Uni0Ah&lC++17w+aHh#^ImTe@{Pb_DX7wy3CyLEHa%_$Lwgm9`_9sI9ive*$eJ3T zIG39ExSc{0nXFlEYpo`2lehQTuAAn2T=J%Y>?HJ+rkAtkX|iVH7I-Z6)uhPkHu z2RZ{0>SJ~rN(!5f=ZC1?1WSu(wKq9y#gb~_Een9H0ZMmv-tRW+SO4W&;=((oyM38` z&X8_JwtNgo%WbkKr6(2UOaa11sucX+^&hX|n*2V)S2&^$u|=l{way!j&H?$O4)G6` zBm55WuXu+zVL2H{8Fh%m6*6Rp826s2LnJ!ObclKH4m!lrY?%)6q^8-F7j=kV+r-;- zz#%%s%|Q~j1}SsYBQCR;k{+>yKzal&ZKRF5#K#moe3v+qB*k4~+($R7OYFPNCcDI^ z@7tU%ah1AwnJ)1ilo7hbg0M?`{fn-dYHxO3f=gjHvrkC%4HlQIPc(f5Q0fyStT+AF z_KCQT6!Z4M8$<(NcT;o8ejQAf-_aW5cr=c^-mjX9H_ta-cbp5Y$^{MtbFf$!Y}@57;XnjaBdelOFbn(#bjL)a=gNeodSZD zJmdN#_|F7eNRjlG&Y_aII_RJB9_CIY3M@Oz8Y=%`vHWQ+4;w1KFA38+LxtnIHon}s zjW-Sr$xVZpoj*jCZF0VFyIj@b+m6zzb?dw_i~%JlGti5gXcf2qV%H2ceIq&qVQfcS z=51|lT7UWUK<0e`aS^D%l!lK=v)9Lr!=Vw|bFZA(hE69ZTEs8yQM2|cP8RqFa~Ec+ zTKH)VM%;UAOuV$lM%-NG8pgRg##IeiulqdP+9T>jCNpTnX74Typo2S6EIo*uHdSZm zp72p_FbzSwu6Yx5D}oxtkCy_GlvQhKrLC1DgPSRGd=IxDBDf!c{HgGMi;v1~Vj*j3 z00hGj>=>MH#Qh#pfH+hp|Ez{hvSL!Mxk>8Hl=S%Qw*Hw(7MvdMeY?ZKSE5T?qGU;; zq<29q(L$G~u_RHWcSUwyqGoUVSfU9oQK}?S%6mo);McC& zB}$hhN_#(xB^v1xwU;Dn_pXU0`r`ver;d_DoPQikbeBuiRg$R7J1LgvJCP zE>3g{@+QTSE_F$zN|z)x?YcUa^bD6&CeMRG7W5Ga1BH4vMSoJ#3U)gE$%(tU;s?4)2nX zCD|4=y=78Z+=lCJ0=;YfDcQM5J&kU5pcn3hV?d@O)V4cFY9mkw79)lVe-W~Vfm7N$ zhY@7QnDU+8Rjv$J7u9t)n;`sv{h%iJ!(WAT4;-T!%xuIx*)E2?x0|xw%4? z7sDY74u^$`)wAfo!r?G**um#C3BL6Jb0~E{mVj)7Nm|=`OqE0VRN#a1*5y#1Wiy)f zD%DtRnve3=G~PkBjI-_<%3UGKT>;8npnQ0kIpw2#I4H;OQrZQS!y2@ETZJ{a4!hyt z8svJ7DO7w4N;Ro4$po6PpJRlO!_!yQt4$Z))$;n>m)wL@fR_cKI1 z@1{;_ir-*3D_8FhKTpK-QJ$-Z$kXNLiFiKBGp}r(s&4Aw=Zd&K%5`x0ToR6cu84=D zT%*e8l6>-WMO+-^x(~Z~oD!xlWv8bJYxWL=w4nrQ_LhAp_Sx<&ihpLjkMQXv>{ftx zQY4pd_E-efj_|&!y?=^2kz)}%oqKAPhM;G!3J!aZZ}uyrspwySqIp<#b{oIj+H|$rd+8K)OE;x`z>=h^OJ-r! z-ovp(H@QT0C5h_1@5K`R$|Y(mNz~?D7)x}EOOz=|l=03~qSrp>isnZeCqiwOmo(od zWNy$C+1oCG+@a7wCAPVcMGu}QnZjQbSKE6jYiqzrW`Kdh-?(2mM^WK!jxt-$Q6}jb z95f$tBi-eUZIXBfF&K@CM!4y#<{H?l`X&^ z)kP|7Te}zId$Y~EZN}400&j+o@(m|Bl+!{v?NBZ`TT;`p6F_;oW;~YpNW4)LI=y7Z zvkzE@`bMj_b6AOY`jzmlM}u2BHu=e@w!s8pD{$3BBoj_}+Py~>6stTgeNR8Sg-t{_ zW@%8KZw-+Lox}3fmB}-Ih&<>bmM6k3P{-Q6Lx;%2kXwRVlxM4wJTwIRVtf@YhZQv> zDfYh;W1nenb^No{`!=7pyDxtyT<7SLOV@e3K>k9TI-1}8Oy#LLZjIC*grfUA%0AQK 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 literal 0 HcmV?d00001 diff --git a/libopenblt.so b/libopenblt.so new file mode 100644 index 0000000000000000000000000000000000000000..73f1bdf6764d37e351ec5c29897f5a470c263029 GIT binary patch literal 167796 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

o@ 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 contains an application programming interface (API) for communicating with a microcontroller target, running the OpenBLT bootloader, for making firmware updates on the target. The goal of the OpenBLT Host Library is to empower you to quickly and efficiently create your own firmware update tool, in case you don’t prefer the standard MicroBoot and BootCommander tools that are included in the OpenBLT bootloader package. + +This package contains the python wrapper for LibOpenBLT, which enables you to quickly develop your own firmware update tool in the Python programming language. + +Install the package +------------------- +Run the following command from the directory that contains the **setup.py** file (assuming setuptools is installed): + +:: + + python setup.py install + +Alternatively, you can use **pip** by running this command from the directory that contains the **setup.py** file: + +:: + + pip install . + + +Using the package +----------------- +Basic code snippet to call the BltVersionGetString()-function which displays the version of LibOpenBLT: + +:: + + import openblt + + print('LibOpenBLT version:', openblt.version_get_string()) + +Have a look at the function headers inside openblt.lib for details on how to call the functions, including examples. A video tutorial about getting started with the Python bindings is available in this `blog article `_. + + +Run-time libraries +------------------ +Copy the LibOpenBLT related run-time libraries into your python program's directory. Refer to the following section on the OpenBLT Wiki for a overview of these run-time libraries: + +https://www.feaser.com/openblt/doku.php?id=manual:libopenblt#run-time_libraries. + +These run-time libraries can be found in the ./Host directory of the OpenBLT bootloader package. These run-time libraries should also be included, when distributing your program. + +Specific on Windows +------------------ +Under Microsoft Windows, the LibOpenBLT shared library (libopenblt.dll) is 64-bit ever since OpenBLT version 1.14. Therefore you need to run your Python application, that makes use of LibOpenBLT, using the 64-bit Python interpreter. + +If you use the LibOpenBLT shared library from before OpenBLT version 1.14 or if you rebuilt it yourself as 32-bit, you need to run your Python application using the 32-bit Python interpreter. diff --git a/python/build/lib/openblt/__init__.py b/python/build/lib/openblt/__init__.py new file mode 100644 index 0000000..92c4415 --- /dev/null +++ b/python/build/lib/openblt/__init__.py @@ -0,0 +1,94 @@ +""" +Package **openblt** is a python wrapper for the OpenBLT Host Library (`LibOpenBLT `_). + +Have a look at the function headers inside openblt.lib for details on how to call the functions, including examples. +""" +__docformat__ = 'reStructuredText' +# *************************************************************************************** +# File Name: __init__.py +# +# --------------------------------------------------------------------------------------- +# C O P Y R I G H T +# --------------------------------------------------------------------------------------- +# Copyright (c) 2018 by Feaser http://www.feaser.com All rights reserved +# +# --------------------------------------------------------------------------------------- +# L I C E N S E +# --------------------------------------------------------------------------------------- +# This file is part of OpenBLT. OpenBLT is free software: you can redistribute it and/or +# modify it under the terms of the GNU General Public License as published by the Free +# Software Foundation, either version 3 of the License, or (at your option) any later +# version. +# +# OpenBLT is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; +# without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR +# PURPOSE. See the GNU General Public License for more details. +# +# You have received a copy of the GNU General Public License along with OpenBLT. It +# should be located in ".\Doc\license.html". If not, contact Feaser to obtain a copy. +# +# *************************************************************************************** + + +# *************************************************************************************** +# Imports +# *************************************************************************************** +from openblt.lib import BLT_RESULT_OK +from openblt.lib import BLT_RESULT_ERROR_GENERIC + + +# *************************************************************************************** +# V E R S I O N I N F O R M A T I O N +# *************************************************************************************** +from openblt.lib import version_get_number +from openblt.lib import version_get_string + + +# *************************************************************************************** +# S E S S I O N / T R A N S P O R T L A Y E R S +# *************************************************************************************** +from openblt.lib import BLT_SESSION_XCP_V10 +from openblt.lib import BLT_TRANSPORT_XCP_V10_RS232 +from openblt.lib import BLT_TRANSPORT_XCP_V10_CAN +from openblt.lib import BLT_TRANSPORT_XCP_V10_USB +from openblt.lib import BLT_TRANSPORT_XCP_V10_NET +from openblt.lib import BltSessionSettingsXcpV10 +from openblt.lib import BltTransportSettingsXcpV10Rs232 +from openblt.lib import BltTransportSettingsXcpV10Can +from openblt.lib import BltTransportSettingsXcpV10Net +from openblt.lib import session_init +from openblt.lib import session_terminate +from openblt.lib import session_start +from openblt.lib import session_stop +from openblt.lib import session_clear_memory +from openblt.lib import session_write_data +from openblt.lib import session_read_data + + +# *************************************************************************************** +# F I R M W A R E D A T A +# *************************************************************************************** +from openblt.lib import BLT_FIRMWARE_PARSER_SRECORD +from openblt.lib import firmware_terminate +from openblt.lib import firmware_init +from openblt.lib import firmware_load_from_file +from openblt.lib import firmware_save_to_file +from openblt.lib import firmware_get_segment_count +from openblt.lib import firmware_get_segment +from openblt.lib import firmware_add_data +from openblt.lib import firmware_remove_data +from openblt.lib import firmware_clear_data + + +# *************************************************************************************** +# G E N E R I C U T I L I T I E S +# *************************************************************************************** +from openblt.lib import util_crc16_calculate +from openblt.lib import util_crc32_calculate +from openblt.lib import util_time_get_system_time +from openblt.lib import util_time_delay_ms +from openblt.lib import util_crypto_aes256_encrypt +from openblt.lib import util_crypto_aes256_decrypt + + +# ********************************* end of __init__.py ********************************** diff --git a/python/build/lib/openblt/lib.py b/python/build/lib/openblt/lib.py new file mode 100644 index 0000000..97d3096 --- /dev/null +++ b/python/build/lib/openblt/lib.py @@ -0,0 +1,1215 @@ +""" +Implements python wrappers for the OpenBLT host library (LibOpenBLT) +functions. +""" +__docformat__ = 'reStructuredText' +# *************************************************************************************** +# File Name: lib.py +# +# --------------------------------------------------------------------------------------- +# C O P Y R I G H T +# --------------------------------------------------------------------------------------- +# Copyright (c) 2018 by Feaser http://www.feaser.com All rights reserved +# +# --------------------------------------------------------------------------------------- +# L I C E N S E +# --------------------------------------------------------------------------------------- +# This file is part of OpenBLT. OpenBLT is free software: you can redistribute it and/or +# modify it under the terms of the GNU General Public License as published by the Free +# Software Foundation, either version 3 of the License, or (at your option) any later +# version. +# +# OpenBLT is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; +# without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR +# PURPOSE. See the GNU General Public License for more details. +# +# You have received a copy of the GNU General Public License along with OpenBLT. It +# should be located in ".\Doc\license.html". If not, contact Feaser to obtain a copy. +# +# *************************************************************************************** + + +# *************************************************************************************** +# Imports +# *************************************************************************************** +import ctypes +import sys +import os + + +# *************************************************************************************** +# Implementation +# *************************************************************************************** +# Determine the file extension of the share library, which is platform dependent. +if "win" in sys.platform: + sharedLibraryExt = '.dll' +else: + sharedLibraryExt = '.so' + + +# Initialize the shared library to just its filename without a path. This assumes that +# the LibOpenBLT shared library file and possible other run-time libraries that it +# depends on are located in the directory from where your program runs or somewhere on +# the system's library path. Refer to the section on the OpenBLT Wiki for an overview of +# these run-time libraries: +# https://www.feaser.com/openblt/doku.php?id=manual:libopenblt#run-time_libraries. +sharedLibrary = 'libopenblt' + sharedLibraryExt + + +# Get a handle to the shared library. First assume that the shared library is in the +# current working directory. If not, then assume that it is located somewhere on the +# LD_LIBRARY_PATH. +if os.path.exists(os.path.join(os.getcwd(), sharedLibrary)): + sharedLibraryHandle = ctypes.CDLL(os.path.join(os.getcwd(), sharedLibrary)) +else: + sharedLibraryHandle = ctypes.CDLL(sharedLibrary) + + +# *************************************************************************************** +# Function import specifications +# *************************************************************************************** +BltVersionGetNumber = None +if hasattr(sharedLibraryHandle, 'BltVersionGetNumber'): + BltVersionGetNumber = sharedLibraryHandle.BltVersionGetNumber + BltVersionGetNumber.argtypes = [] + BltVersionGetNumber.restype = ctypes.c_uint32 + + +BltVersionGetString = None +if hasattr(sharedLibraryHandle, 'BltVersionGetString'): + BltVersionGetString = sharedLibraryHandle.BltVersionGetString + BltVersionGetString.argtypes = [] + BltVersionGetString.restype = ctypes.c_char_p + + +BltFirmwareInit = None +if hasattr(sharedLibraryHandle, 'BltFirmwareInit'): + BltFirmwareInit = sharedLibraryHandle.BltFirmwareInit + BltFirmwareInit.argtypes = [ctypes.c_uint32] + BltFirmwareInit.restype = None + + +BltFirmwareTerminate = None +if hasattr(sharedLibraryHandle, 'BltFirmwareTerminate'): + BltFirmwareTerminate = sharedLibraryHandle.BltFirmwareTerminate + BltFirmwareTerminate.argtypes = [] + BltFirmwareTerminate.restype = None + + +BltFirmwareLoadFromFile = None +if hasattr(sharedLibraryHandle, 'BltFirmwareLoadFromFile'): + BltFirmwareLoadFromFile = sharedLibraryHandle.BltFirmwareLoadFromFile + BltFirmwareLoadFromFile.argtypes = [ctypes.c_char_p, ctypes.c_uint32] + BltFirmwareLoadFromFile.restype = ctypes.c_uint32 + + +BltFirmwareSaveToFile = None +if hasattr(sharedLibraryHandle, 'BltFirmwareSaveToFile'): + BltFirmwareSaveToFile = sharedLibraryHandle.BltFirmwareSaveToFile + BltFirmwareSaveToFile.argtypes = [ctypes.c_char_p] + BltFirmwareSaveToFile.restype = ctypes.c_uint32 + + +BltFirmwareGetSegmentCount = None +if hasattr(sharedLibraryHandle, 'BltFirmwareGetSegmentCount'): + BltFirmwareGetSegmentCount = sharedLibraryHandle.BltFirmwareGetSegmentCount + BltFirmwareGetSegmentCount.argtypes = [] + BltFirmwareGetSegmentCount.restype = ctypes.c_uint32 + + +BltFirmwareGetSegment = None +if hasattr(sharedLibraryHandle, 'BltFirmwareGetSegment'): + BltFirmwareGetSegment = sharedLibraryHandle.BltFirmwareGetSegment + BltFirmwareGetSegment.argtypes = [ctypes.c_uint32, ctypes.POINTER(ctypes.c_uint32), + ctypes.POINTER(ctypes.c_uint32)] + BltFirmwareGetSegment.restype = ctypes.POINTER(ctypes.c_uint8) + + +BltFirmwareAddData = None +if hasattr(sharedLibraryHandle, 'BltFirmwareAddData'): + BltFirmwareAddData = sharedLibraryHandle.BltFirmwareAddData + BltFirmwareAddData.argtypes = [ctypes.c_uint32, ctypes.c_uint32, + ctypes.POINTER(ctypes.c_uint8)] + BltFirmwareAddData.restype = ctypes.c_uint32 + + +BltFirmwareRemoveData = None +if hasattr(sharedLibraryHandle, 'BltFirmwareRemoveData'): + BltFirmwareRemoveData = sharedLibraryHandle.BltFirmwareRemoveData + BltFirmwareRemoveData.argtypes = [ctypes.c_uint32, ctypes.c_uint32] + BltFirmwareRemoveData.restype = ctypes.c_uint32 + + +BltFirmwareClearData = None +if hasattr(sharedLibraryHandle, 'BltFirmwareClearData'): + BltFirmwareClearData = sharedLibraryHandle.BltFirmwareClearData + BltFirmwareClearData.argtypes = [] + BltFirmwareClearData.restype = None + + +BltUtilCrc16Calculate = None +if hasattr(sharedLibraryHandle, 'BltUtilCrc16Calculate'): + BltUtilCrc16Calculate = sharedLibraryHandle.BltUtilCrc16Calculate + BltUtilCrc16Calculate.argtypes = [ctypes.POINTER(ctypes.c_uint8), ctypes.c_uint32] + BltUtilCrc16Calculate.restype = ctypes.c_uint16 + + +BltUtilCrc32Calculate = None +if hasattr(sharedLibraryHandle, 'BltUtilCrc32Calculate'): + BltUtilCrc32Calculate = sharedLibraryHandle.BltUtilCrc32Calculate + BltUtilCrc32Calculate.argtypes = [ctypes.POINTER(ctypes.c_uint8), ctypes.c_uint32] + BltUtilCrc32Calculate.restype = ctypes.c_uint32 + + +BltUtilTimeGetSystemTime = None +if hasattr(sharedLibraryHandle, 'BltUtilTimeGetSystemTime'): + BltUtilTimeGetSystemTime = sharedLibraryHandle.BltUtilTimeGetSystemTime + BltUtilTimeGetSystemTime.argtypes = [] + BltUtilTimeGetSystemTime.restype = ctypes.c_uint32 + + +BltUtilTimeDelayMs = None +if hasattr(sharedLibraryHandle, 'BltUtilTimeDelayMs'): + BltUtilTimeDelayMs = sharedLibraryHandle.BltUtilTimeDelayMs + BltUtilTimeDelayMs.argtypes = [ctypes.c_uint16] + BltUtilTimeDelayMs.restype = None + + +BltUtilCryptoAes256Encrypt = None +if hasattr(sharedLibraryHandle, 'BltUtilCryptoAes256Encrypt'): + BltUtilCryptoAes256Encrypt = sharedLibraryHandle.BltUtilCryptoAes256Encrypt + BltUtilCryptoAes256Encrypt.argtypes = [ctypes.POINTER(ctypes.c_uint8), + ctypes.c_uint32, + ctypes.POINTER(ctypes.c_uint8)] + BltUtilCryptoAes256Encrypt.restype = ctypes.c_uint32 + + +BltUtilCryptoAes256Decrypt = None +if hasattr(sharedLibraryHandle, 'BltUtilCryptoAes256Decrypt'): + BltUtilCryptoAes256Decrypt = sharedLibraryHandle.BltUtilCryptoAes256Decrypt + BltUtilCryptoAes256Decrypt.argtypes = [ctypes.POINTER(ctypes.c_uint8), + ctypes.c_uint32, + ctypes.POINTER(ctypes.c_uint8)] + BltUtilCryptoAes256Decrypt.restype = ctypes.c_uint32 + + +BltSessionInit = None +if hasattr(sharedLibraryHandle, 'BltSessionInit'): + BltSessionInit = sharedLibraryHandle.BltSessionInit + BltSessionInit.argtypes = [ctypes.c_uint32, ctypes.POINTER(None), ctypes.c_uint32, + ctypes.POINTER(None)] + BltSessionInit.restype = None + + +BltSessionTerminate = None +if hasattr(sharedLibraryHandle, 'BltSessionTerminate'): + BltSessionTerminate = sharedLibraryHandle.BltSessionTerminate + BltSessionTerminate.argtypes = [] + BltSessionTerminate.restype = None + + +BltSessionStart = None +if hasattr(sharedLibraryHandle, 'BltSessionStart'): + BltSessionStart = sharedLibraryHandle.BltSessionStart + BltSessionStart.argtypes = [] + BltSessionStart.restype = ctypes.c_uint32 + + +BltSessionStop = None +if hasattr(sharedLibraryHandle, 'BltSessionStop'): + BltSessionStop = sharedLibraryHandle.BltSessionStop + BltSessionStop.argtypes = [] + BltSessionStop.restype = None + + +BltSessionClearMemory = None +if hasattr(sharedLibraryHandle, 'BltSessionClearMemory'): + BltSessionClearMemory = sharedLibraryHandle.BltSessionClearMemory + BltSessionClearMemory.argtypes = [ctypes.c_uint32, ctypes.c_uint32] + BltSessionClearMemory.restype = ctypes.c_uint32 + + +BltSessionWriteData = None +if hasattr(sharedLibraryHandle, 'BltSessionWriteData'): + BltSessionWriteData = sharedLibraryHandle.BltSessionWriteData + BltSessionWriteData.argtypes = [ctypes.c_uint32, ctypes.c_uint32, + ctypes.POINTER(ctypes.c_uint8)] + BltSessionWriteData.restype = ctypes.c_uint32 + + +BltSessionReadData = None +if hasattr(sharedLibraryHandle, 'BltSessionReadData'): + BltSessionReadData = sharedLibraryHandle.BltSessionReadData + BltSessionReadData.argtypes = [ctypes.c_uint32, ctypes.c_uint32, + ctypes.POINTER(ctypes.c_uint8)] + + +# *************************************************************************************** +# Constant declarations +# *************************************************************************************** +BLT_RESULT_OK = 0 +BLT_RESULT_ERROR_GENERIC = 1 + + +# *************************************************************************************** +# V E R S I O N I N F O R M A T I O N +# *************************************************************************************** +# *************************************************************************************** +# Functions +# *************************************************************************************** +def version_get_number(): + """ + Obtains the version number of the library as an integer. The number has two digits + for major-, minor-, and patch-version. Version 1.05.12 would for example return + 10512. + + :returns: Library version number as an integer. + :rtype: int + + :Example: + :: + + import openblt + + print('LibOpenBLT version:', openblt.version_get_number()) + """ + # Initialize the result. + result = 0 + # Check if the shared library function could be imported. + if BltVersionGetNumber is not None: + # Call the function in the shared library. + result = BltVersionGetNumber() + # Give the result back to the caller. + return result + + +def version_get_string(): + """ + Obtains the version number of the library as a string. Version 1.05.12 would for + example return "1.05.12". + + :returns: Library version number as a string. + :rtype: string + + :Example: + :: + + import openblt + + print('LibOpenBLT version:', openblt.version_get_string()) + """ + # Initialize the result + result = '' + # Check if the shared library function could be imported. + if BltVersionGetString is not None: + # Call the function in the shared library + result = BltVersionGetString() + # Decode the null terminated character string to a UTF-8 string. + result = result.decode('utf-8') + # Give the result back to the caller. + return result + + +# *************************************************************************************** +# F I R M W A R E D A T A +# *************************************************************************************** +# *************************************************************************************** +# Constant declarations +# *************************************************************************************** +BLT_FIRMWARE_PARSER_SRECORD = 0 + + +# *************************************************************************************** +# Functions +# *************************************************************************************** +def firmware_init(parser_type=BLT_FIRMWARE_PARSER_SRECORD): + """ + Initializes the firmware data module for a specified firmware file parser. + + :param parser_type: The firmware file parser to use in this module. It should be a + BLT_FIRMWARE_PARSER_xxx value. + + :Example: + :: + + import openblt + + openblt.firmware_init(openblt.BLT_FIRMWARE_PARSER_SRECORD) + """ + # Check if the shared library function could be imported. + if BltFirmwareInit is not None: + # Call the function in the shared library + BltFirmwareInit(ctypes.c_uint32(parser_type)) + + +def firmware_terminate(): + """ + Terminates the firmware data module. Typically called at the end of the program when + the firmware data module is no longer needed. + + :Example: + :: + + import openblt + + openblt.firmware_terminate() + """ + # Check if the shared library function could be imported. + if BltFirmwareTerminate is not None: + # Call the function in the shared library + BltFirmwareTerminate() + + +def firmware_load_from_file(firmware_file, address_offset=0): + """ + Loads firmware data from the specified file using the firmware file parser that was + specified during the initialization of this module. + + :param firmware_file: Filename of the firmware file to load. + :param address_offset: Optional memory address offset to add when loading the + firmware data from the file. This is typically only useful when loading + firmware data from a binary formatted firmware file. + :returns: BLT_RESULT_OK if successful, BLT_RESULT_ERROR_xxx otherwise. + :rtype: int + + :Example: + :: + + import openblt + + if openblt.firmware_load_from_file('my_firmware.srec', 0) != openblt.BLT_RESULT_OK: + print('[ERROR] Could not open firmware file.') + """ + # Initialize the result. + result = BLT_RESULT_ERROR_GENERIC + # Check if the shared library function could be imported. + if BltFirmwareLoadFromFile is not None: + # Call the function in the shared library + result = BltFirmwareLoadFromFile(ctypes.c_char_p(firmware_file.encode('utf-8')), + ctypes.c_uint32(address_offset)) + # Give the result back to the caller. + return result + + +def firmware_save_to_file(firmware_file): + """ + Writes firmware data to the specified file using the firmware file parser that was + specified during the initialization of this module. + + :param firmware_file: Filename of the firmware file to write to. + :returns: BLT_RESULT_OK if successful, BLT_RESULT_ERROR_xxx otherwise. + :rtype: int + + :Example: + :: + + import openblt + + if openblt.firmware_save_to_file('new_firmwware.srec') != openblt.BLT_RESULT_OK: + print('[ERROR] Could not save firmware file.') + """ + # Initialize the result. + result = BLT_RESULT_ERROR_GENERIC + # Check if the shared library function could be imported. + if BltFirmwareSaveToFile is not None: + # Call the function in the shared library + result = BltFirmwareSaveToFile(ctypes.c_char_p(firmware_file.encode('utf-8'))) + # Give the result back to the caller. + return result + + +def firmware_get_segment_count(): + """ + Obtains the number of firmware data segments that are currently present in the + firmware data module. + + :returns: The total number of segments. + :rtype: int + + :Example: + :: + + import openblt + + print('Number of data segments = ', openblt.firmware_get_segment_count()) + """ + # Initialize the result. + result = 0 + # Check if the shared library function could be imported. + if BltFirmwareGetSegmentCount is not None: + # Call the function in the shared library + result = BltFirmwareGetSegmentCount() + # Give the result back to the caller. + return result + + +def firmware_get_segment(idx): + """ + Obtains the contents of the firmware data segment that was specified by the index + parameter. Note that the returned segment data is a copy. + + :param idx: The segment index. It should be a value greater or equal to zero and + smaller than the value returned by firmware_get_segment_count. + :returns: Tuple with the segment data list, address and length. + :rtype: tuple + + :Example: + :: + + import openblt + + segment_data, segment_address, segment_len = openblt.firmware_get_segment(0) + print('First segment address =', hex(segment_address)) + print('First segment length =', segment_len) + print('First Segment data =') + segment_data_str = '\t' + for idx in range(0, segment_len): + segment_data_str += '{:02x}'.format(segment_data[idx]) + ' ' + if ((idx+1) % 32) == 0: + print(segment_data_str) + segment_data_str = '\t' + if segment_data_str != '': + print(segment_data_str) + """ + # Initialize the result values. + result_data = [] + result_address = int(0) + result_len = int(0) + # Check if the shared library function could be imported. + if BltFirmwareGetSegment is not None: + segment_address = ctypes.c_uint32(0) + segment_len = ctypes.c_uint32(0) + # Call the function in the shared library + segment_data = BltFirmwareGetSegment(ctypes.c_uint32(idx), + ctypes.byref(segment_address), + ctypes.byref(segment_len)) + # Store the result values. + result_address = segment_address.value + result_len = segment_len.value + for i in range(result_len): + result_data.append(segment_data[i]) + # Give the result back to the caller as a tuple. + return result_data, result_address, result_len + + +def firmware_add_data(address, len, data): + """ + Adds data to the segments that are currently present in the firmware data module. If + the data overlaps with already existing data, the existing data gets overwritten. The + size of a segment is automatically adjusted or a new segment gets created, + if necessary. + + :param address: Base address of the firmware data. + :param len: Number of bytes to add. + :param data: List with data bytes that should be added. + :returns: BLT_RESULT_OK if successful, BLT_RESULT_ERROR_xxx otherwise. + :rtype: int + + :Example: + :: + + import openblt + + new_data = [ 0x55, 0xaa, 0x11, 0xee ] + if openblt.firmware_add_data(0x8002000, len(new_data), new_data) != openblt.BLT_RESULT_OK: + print('[ERROR] Could not add firmware data.') + """ + # Initialize the result. + result = BLT_RESULT_ERROR_GENERIC + # Check if the shared library function could be imported. + if BltFirmwareAddData is not None: + # Convert the list to a c-byte array + new_data_type = ctypes.c_uint8 * len + new_data = new_data_type() + for i in range(0, len): + new_data[i] = ctypes.c_uint8(data[i]) + # Call the function in the shared library + result = BltFirmwareAddData(ctypes.c_uint32(address), ctypes.c_uint32(len), + new_data) + # Give the result back to the caller. + return result + + +def firmware_remove_data(address, len): + """ + Removes data from the segments that are currently present in the firmware data + module. The size of a segment is automatically adjusted or removed, if necessary. + + :param address: Base address of the firmware data. + :param len: Number of bytes to remove. + :returns: BLT_RESULT_OK if successful, BLT_RESULT_ERROR_xxx otherwise. + :rtype: int + + :Example: + :: + + import openblt + + if openblt.firmware_remove_data(0x8002000, 4) != openblt.BLT_RESULT_OK: + print('[ERROR] Could not remove firmware data.') + """ + # Initialize the result. + result = BLT_RESULT_ERROR_GENERIC + # Check if the shared library function could be imported. + if BltFirmwareRemoveData is not None: + # Call the function in the shared library + result = BltFirmwareRemoveData(ctypes.c_uint32(address), ctypes.c_uint32(len)) + # Give the result back to the caller. + return result + + +def firmware_clear_data(): + """ + Clears all data and segments that are currently present in the firmware data module. + + :Example: + :: + + import openblt + + openblt.firmware_clear_data() + """ + # Check if the shared library function could be imported. + if BltFirmwareClearData is not None: + # Call the function in the shared library + BltFirmwareClearData() + + +# *************************************************************************************** +# G E N E R I C U T I L I T I E S +# *************************************************************************************** +# *************************************************************************************** +# Functions +# *************************************************************************************** +def util_crc16_calculate(data, len): + """ + Calculates a 16-bit CRC value over the specified data. + + :param data: List with data bytes over which the CRC16 should be calculated. + :param len: Number of bytes in the list. + :returns: The 16-bit CRC value. + :rtype: int + + :Example: + :: + + import openblt + + test_data = [ 0x10, 0x20, 0x30, 0x40, 0x50, 0x60, 0x70, 0x80 ] + crc16_value = openblt.util_crc16_calculate(test_data, len(test_data)) + print('CRC16 value:', crc16_value) + """ + # Initialize the result. + result = 0 + # Check if the shared library function could be imported. + if BltUtilCrc16Calculate is not None: + # Convert the list to a c-byte array + src_data_type = ctypes.c_uint8 * len + src_data = src_data_type() + for i in range(0, len): + src_data[i] = ctypes.c_uint8(data[i]) + # Call the function in the shared library + result = BltUtilCrc16Calculate(src_data, ctypes.c_uint32(len)) + # Give the result back to the caller. + return result + + +def util_crc32_calculate(data, len): + """ + Calculates a 32-bit CRC value over the specified data. + + :param data: List with data bytes over which the CRC32 should be calculated. + :param len: Number of bytes in the list. + :returns: The 32-bit CRC value. + :rtype: int + + :Example: + :: + + import openblt + + test_data = [ 0x10, 0x20, 0x30, 0x40, 0x50, 0x60, 0x70, 0x80 ] + crc32_value = openblt.util_crc32_calculate(test_data, len(test_data)) + print('CRC32 value:', crc32_value) + """ + # Initialize the result. + result = 0 + # Check if the shared library function could be imported. + if BltUtilCrc32Calculate is not None: + # Convert the list to a c-byte array + src_data_type = ctypes.c_uint8 * len + src_data = src_data_type() + for i in range(0, len): + src_data[i] = ctypes.c_uint8(data[i]) + # Call the function in the shared library + result = BltUtilCrc32Calculate(src_data, ctypes.c_uint32(len)) + # Give the result back to the caller. + return result + + +def util_time_get_system_time(): + """ + Get the system time in milliseconds. + + :returns: Time in milliseconds. + :rtype: int + + :Example: + :: + + import openblt + + print('Current system time:', openblt.util_time_get_system_time(), 'ms') + """ + # Initialize the result. + result = 0 + # Check if the shared library function could be imported. + if BltUtilTimeGetSystemTime is not None: + # Call the function in the shared library. + result = BltUtilTimeGetSystemTime() + # Give the result back to the caller. + return result + + +def util_time_delay_ms(delay): + """ + Performs a delay of the specified amount of milliseconds. + + :param delay: Delay time in milliseconds. + + :Example: + :: + + import openblt + + openblt.util_time_delay_ms(1000) + """ + # Check if the shared library function could be imported. + if BltUtilTimeDelayMs is not None: + # Call the function in the shared library + BltUtilTimeDelayMs(ctypes.c_uint16(delay)) + + +def util_crypto_aes256_encrypt(data, len, key): + """ + Encrypts the len-bytes in the specified data list, using the specified 256-bit + (32 bytes) key. The results are written back into the same list. + + :param data: List with data bytes to encrypt. The encrypted bytes are stored in the + same list. + :param len: The number of bytes in the data list to encrypt. It must be a multiple + of 16, as this is the AES256 minimal block size. + :param key: The 256-bit encryption key as a list with 32 bytes. + :returns: BLT_RESULT_OK if successful, BLT_RESULT_ERROR_xxx otherwise. + :rtype: int + + :Example: + :: + + import openblt + + crypto_key = [0xCB, 0x81, 0xA5, 0x9A, 0x80, 0x2C, 0x98, 0x1C, + 0xF8, 0x8C, 0x5D, 0x59, 0x1B, 0x48, 0x5C, 0xAD, + 0xE5, 0xC0, 0xD5, 0x98, 0xD8, 0x89, 0xD4, 0xC9, + 0xC4, 0x66, 0x4B, 0x09, 0x2D, 0x19, 0xF8, 0xF6] + crypto_data = [0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, + 0x08, 0x09, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F] + print('Original data =') + crypto_data_str = '\t' + for byte_value in crypto_data: + crypto_data_str += '{:02x}'.format(byte_value) + ' ' + print(crypto_data_str) + openblt.util_crypto_aes256_encrypt(crypto_data, 16, crypto_key) + print('Encrypted data =') + crypto_data_str = '\t' + for byte_value in crypto_data: + crypto_data_str += '{:02x}'.format(byte_value) + ' ' + print(crypto_data_str) + """ + # Initialize the result. + result = BLT_RESULT_ERROR_GENERIC + # Check if the shared library function could be imported. + if BltUtilCryptoAes256Encrypt is not None: + # Convert the list with source data to a c-byte array. + src_data_type = ctypes.c_uint8 * len + src_data = src_data_type() + for i in range(0, len): + src_data[i] = ctypes.c_uint8(data[i]) + # Convert the list with key data to a c-byte array. + key_data_type = ctypes.c_uint8 * 32 + key_data = key_data_type() + for i in range(0, 32): + key_data[i] = ctypes.c_uint8(key[i]) + # Call the function in the shared library. + result = BltUtilCryptoAes256Encrypt(src_data, ctypes.c_uint32(len), key_data) + # Now write the encrypted data back into the list + if result == BLT_RESULT_OK: + for i in range(0, len): + data[i] = src_data[i] + # Give the result back to the caller. + return result + + +def util_crypto_aes256_decrypt(data, len, key): + """ + Decrypts the len-bytes in the specified data list, using the specified 256-bit + (32 bytes) key. The results are written back into the same list. + + :param data: List with data bytes to decrypt. The decrypted bytes are stored in the + same list. + :param len: The number of bytes in the data list to decrypt. It must be a multiple + of 16, as this is the AES256 minimal block size. + :param key: The 256-bit decryption key as a list with 32 bytes. + :returns: BLT_RESULT_OK if successful, BLT_RESULT_ERROR_xxx otherwise. + :rtype: int + + :Example: + :: + + import openblt + + crypto_key = [0xCB, 0x81, 0xA5, 0x9A, 0x80, 0x2C, 0x98, 0x1C, + 0xF8, 0x8C, 0x5D, 0x59, 0x1B, 0x48, 0x5C, 0xAD, + 0xE5, 0xC0, 0xD5, 0x98, 0xD8, 0x89, 0xD4, 0xC9, + 0xC4, 0x66, 0x4B, 0x09, 0x2D, 0x19, 0xF8, 0xF6] + crypto_data = [0x34, 0x7A, 0xC9, 0x82, 0x83, 0xB7, 0x8C, 0xAA, + 0x14, 0x39, 0x6E, 0xCF, 0x10, 0xA4, 0xAA, 0x96] + openblt.util_crypto_aes256_decrypt(crypto_data, 16, crypto_key) + print('Decrypted data =') + crypto_data_str = '\t' + for byte_value in crypto_data: + crypto_data_str += '{:02x}'.format(byte_value) + ' ' + print(crypto_data_str) + """ + # Initialize the result. + result = BLT_RESULT_ERROR_GENERIC + # Check if the shared library function could be imported. + if BltUtilCryptoAes256Decrypt is not None: + # Convert the list with source data to a c-byte array. + src_data_type = ctypes.c_uint8 * len + src_data = src_data_type() + for i in range(0, len): + src_data[i] = ctypes.c_uint8(data[i]) + # Convert the list with key data to a c-byte array. + key_data_type = ctypes.c_uint8 * 32 + key_data = key_data_type() + for i in range(0, 32): + key_data[i] = ctypes.c_uint8(key[i]) + # Call the function in the shared library. + result = BltUtilCryptoAes256Decrypt(src_data, ctypes.c_uint32(len), key_data) + # Now write the decrypted data back into the list + if result == BLT_RESULT_OK: + for i in range(0, len): + data[i] = src_data[i] + # Give the result back to the caller. + return result + + +# *************************************************************************************** +# S E S S I O N / T R A N S P O R T L A Y E R S +# *************************************************************************************** +# *************************************************************************************** +# Constant declarations +# *************************************************************************************** +BLT_SESSION_XCP_V10 = 0 +BLT_TRANSPORT_XCP_V10_RS232 = 0 +BLT_TRANSPORT_XCP_V10_CAN = 1 +BLT_TRANSPORT_XCP_V10_USB = 2 +BLT_TRANSPORT_XCP_V10_NET = 3 + + +# *************************************************************************************** +# Classes +# *************************************************************************************** +class BltSessionSettingsXcpV10: + """ + Class with the layout of the XCP version 1.0 session settings. + """ + def __init__(self): + """ + Class constructor. + """ + # Set default values for instance variables. + self.timeoutT1 = 1000 # Command response timeout in milliseconds. + self.timeoutT3 = 2000 # Start programming timeout in milliseconds. + self.timeoutT4 = 10000 # Erase memory timeout in milliseonds. + self.timeoutT5 = 1000 # Program memory and reset timeout in milliseconds. + self.timeoutT6 = 50 # Command response timeout in milliseconds. + self.timeoutT7 = 2000 # Busy wait timer timeout in milliseconds. + self.seedKeyFile = '' # Seed/key algorithm library filename. + self.connectMode = 0 # Connection mode parameter in XCP connect command. + + +class BltTransportSettingsXcpV10Rs232: + """ + Class with the layout of the XCP version 1.0 RS232 transport layer settings. The + portName field is platform dependent. On Linux based systems this should be the + filename of the tty-device, such as "/dev/tty0". On Windows based systems it should + be the name of the COM-port, such as "COM1". + """ + def __init__(self): + """ + Class constructor. + """ + # Set default values for instance variables. + self.portName = '' # Communication port name such as /dev/tty0. + self.baudrate = 57600 # Communication speed in bits/sec. + + +class BltTransportSettingsXcpV10Can: + """ + Class with the layout of the XCP version 1.0 CAN transport layer settings. The + deviceName field is platform dependent. On Linux based systems this should be the + socketCAN interface name such as "can0". The terminal command "ip addr" can be issued + to view a list of interfaces that are up and available. Under Linux it is assumed + that the socketCAN interface is already configured on the system, before using the + OpenBLT library. When baudrate is configured when bringing up the system, so the + baudrate field in this structure is don't care when using the library on a Linux was + system. On Windows based systems, the device name is a name that is pre-defined by + this library for the supported CAN adapters. The device name should be one of the + following: "peak_pcanusb", "kvaser_leaflight", or "lawicel_canusb". Field use + extended is a boolean field. When set to 0, the specified transmitId and receiveId + are assumed to be 11-bit standard CAN identifier. It the field is 1, these + identifiers are assumed to be 29-bit extended CAN identifiers. + """ + def __init__(self): + """ + Class constructor. + """ + # Set default values for instance variables. + self.deviceName = '' # Device name such as can0, peak_pcanusb etc. + self.deviceChannel = 0 # Channel on the device to use. + self.baudrate = 500000 # Communication speed in bits/sec. + self.transmitId = 0x667 # Transmit CAN identifier. + self.receiveId = 0x7E1 # Receive CAN identifier. + self.useExtended = 0 # Boolean to configure 29-bit CAN identifiers. + + +class BltTransportSettingsXcpV10Net: + """ + Class with the layout of the XCP version 1.0 NET transport layer settings. The + address field can be set to either the IP address or the hostname, such as + "192.168.178.23" or "mymicro.mydomain.com". The port should be set to the TCP port + number that the bootloader target listens on. + """ + def __init__(self): + """ + Class constructor. + """ + # Set default values for instance variables. + self.address = '' # Target IP-address or hostname on the network. + self.port = 1000 # TCP port to use. + + +# *************************************************************************************** +# Functions +# *************************************************************************************** +def session_init(session_type, session_settings, transport_type, transport_settings): + """ + Initializes the firmware update session for a specific communication protocol and + transport layer. This function is typically called once at the start of the firmware + update. + + :param session_type: The communication protocol to use for this session. It should + be a BLT_SESSION_xxx value. + :param session_settings: Instance of class BltSessionSettingsXxx with communication + protocol specific settings. + :param transport_type: The transport layer to use for the specified communication + protocol. It should be a BLT_TRANSPORT_xxx value. + :param transport_settings: Instance of class BltTransportSettingsXxx with transport + layer specific settings. + + :Example: + :: + + import openblt + + session_type = openblt.BLT_SESSION_XCP_V10 + session_settings = openblt.BltSessionSettingsXcpV10() + session_settings.timeoutT1 = 1000 + session_settings.timeoutT3 = 2000 + session_settings.timeoutT4 = 10000 + session_settings.timeoutT5 = 1000 + session_settings.timeoutT6 = 50 + session_settings.timeoutT7 = 2000 + session_settings.seedKeyFile = '' + session_settings.connectMode = 0 + transport_type = openblt.BLT_TRANSPORT_XCP_V10_RS232 + transport_settings = openblt.BltTransportSettingsXcpV10Rs232() + transport_settings.portName = '/dev/ttyACM0' + transport_settings.baudrate = 57600 + openblt.session_init(session_type, session_settings, + transport_type, transport_settings) + """ + class struct_t_blt_session_settings_xcp_v10(ctypes.Structure): + """ + C-types structure for mapping to BltSessionSettingsXcpV10 + """ + _fields_ = [('timeoutT1', ctypes.c_uint16), + ('timeoutT3', ctypes.c_uint16), + ('timeoutT4', ctypes.c_uint16), + ('timeoutT5', ctypes.c_uint16), + ('timeoutT6', ctypes.c_uint16), + ('timeoutT7', ctypes.c_uint16), + ('seedKeyFile', ctypes.c_char_p), + ('connectMode', ctypes.c_uint8)] + + class struct_t_blt_transport_settings_xcp_v10_rs232(ctypes.Structure): + """ + C-types structure for mapping to BltTransportSettingsXcpV10Rs232 + """ + _fields_ = [('portName', ctypes.c_char_p), + ('baudrate', ctypes.c_uint32)] + + class struct_t_blt_transport_settings_xcp_v10_can(ctypes.Structure): + """ + C-types structure for mapping to BltTransportSettingsXcpV10Can + """ + _fields_ = [('deviceName', ctypes.c_char_p), + ('deviceChannel', ctypes.c_uint32), + ('baudrate', ctypes.c_uint32), + ('transmitId', ctypes.c_uint32), + ('receiveId', ctypes.c_uint32), + ('useExtended', ctypes.c_uint32)] + + class struct_t_blt_transport_settings_xcp_v10_net(ctypes.Structure): + """ + C-types structure for mapping to BltTransportSettingsXcpV10Net + """ + _fields_ = [('address', ctypes.c_char_p), + ('port', ctypes.c_uint16)] + + # Convert session settings to the correct c-types structure. + session_settings_struct = None + if session_type == BLT_SESSION_XCP_V10: + session_settings_struct = struct_t_blt_session_settings_xcp_v10() + session_settings_struct.timeoutT1 = ctypes.c_uint16(session_settings.timeoutT1) + session_settings_struct.timeoutT3 = ctypes.c_uint16(session_settings.timeoutT3) + session_settings_struct.timeoutT4 = ctypes.c_uint16(session_settings.timeoutT4) + session_settings_struct.timeoutT5 = ctypes.c_uint16(session_settings.timeoutT5) + session_settings_struct.timeoutT6 = ctypes.c_uint16(session_settings.timeoutT6) + session_settings_struct.timeoutT7 = ctypes.c_uint16(session_settings.timeoutT7) + session_settings_struct.seedKeyFile = \ + ctypes.c_char_p(session_settings.seedKeyFile.encode('utf-8')) + session_settings_struct.connectMode = \ + ctypes.c_uint8(session_settings.connectMode) + + # Convert transport settings to the correct c-types structure. + transport_settings_struct = None + if transport_type == BLT_TRANSPORT_XCP_V10_RS232: + transport_settings_struct = struct_t_blt_transport_settings_xcp_v10_rs232() + transport_settings_struct.portName = \ + ctypes.c_char_p(transport_settings.portName.encode('utf-8')) + transport_settings_struct.baudrate = ctypes.c_uint32(transport_settings.baudrate) + elif transport_type == BLT_TRANSPORT_XCP_V10_CAN: + transport_settings_struct = struct_t_blt_transport_settings_xcp_v10_can() + transport_settings_struct.deviceName = \ + ctypes.c_char_p(transport_settings.deviceName.encode('utf-8')) + transport_settings_struct.deviceChannel = \ + ctypes.c_uint32(transport_settings.deviceChannel) + transport_settings_struct.baudrate = \ + ctypes.c_uint32(transport_settings.baudrate) + transport_settings_struct.transmitId = \ + ctypes.c_uint32(transport_settings.transmitId) + transport_settings_struct.receiveId = \ + ctypes.c_uint32(transport_settings.receiveId) + transport_settings_struct.useExtended = \ + ctypes.c_uint32(transport_settings.useExtended) + elif transport_type == BLT_TRANSPORT_XCP_V10_NET: + transport_settings_struct = struct_t_blt_transport_settings_xcp_v10_net() + transport_settings_struct.address = \ + ctypes.c_char_p(transport_settings.address.encode('utf-8')) + transport_settings_struct.port = \ + ctypes.c_uint16(transport_settings.port) + + # Check if the shared library function could be imported. + if BltSessionInit is not None: + # Prepare pointer parameters + if session_settings_struct == None: + session_settings_struct_ptr = None + else: + session_settings_struct_ptr = ctypes.byref(session_settings_struct) + if transport_settings_struct == None: + transport_settings_struct_ptr = None + else: + transport_settings_struct_ptr = ctypes.byref(transport_settings_struct) + # Call the function in the shared library + BltSessionInit(ctypes.c_uint32(session_type), + session_settings_struct_ptr, + ctypes.c_uint32(transport_type), + transport_settings_struct_ptr) + + +def session_terminate(): + """ + Terminates the firmware update session. This function is typically called once at the + end of the firmware update. + + :Example: + :: + + import openblt + + openblt.session_terminate() + """ + # Check if the shared library function could be imported. + if BltSessionTerminate is not None: + # Call the function in the shared library + BltSessionTerminate() + + +def session_start(): + """ + Starts the firmware update session. This is were the library attempts to activate and + connect with the bootloader running on the target, through the transport layer that + was specified during the session's initialization. + + :returns: BLT_RESULT_OK if successful, BLT_RESULT_ERROR_xxx otherwise. + :rtype: int + + :Example: + :: + + import openblt + + if openblt.session_start() != openblt.BLT_RESULT_OK: + print('[ERROR] Could not start the session.') + """ + # Initialize the result. + result = BLT_RESULT_ERROR_GENERIC + # Check if the shared library function could be imported. + if BltSessionStart is not None: + # Call the function in the shared library + result = BltSessionStart() + # Give the result back to the caller. + return result + + +def session_stop(): + """ + Stops the firmware update session. This is there the library disconnects the + transport layer as well. + + :Example: + :: + + import openblt + + openblt.session_stop() + """ + # Check if the shared library function could be imported. + if BltSessionStop is not None: + # Call the function in the shared library + BltSessionStop() + + +def session_clear_memory(address, len): + """ + Requests the target to erase the specified range of memory on the target. Note that + the target automatically aligns this to the erasable memory block sizes. This + typically results in more memory being erased than the range that was specified here. + Refer to the target implementation for details. + + :param address: The starting memory address for the erase operation. + :param len: The total number of bytes to erase from memory. + :returns: BLT_RESULT_OK if successful, BLT_RESULT_ERROR_xxx otherwise. + :rtype: int + + :Example: + :: + + import openblt + + if openblt.session_clear_memory(0x8002000, 1024) != openblt.BLT_RESULT_OK: + print('[ERROR] Could not erase memory.') + """ + # Initialize the result. + result = BLT_RESULT_ERROR_GENERIC + # Check if the shared library function could be imported. + if BltSessionClearMemory is not None: + # Call the function in the shared library + result = BltSessionClearMemory(ctypes.c_uint32(address), ctypes.c_uint32(len)) + # Give the result back to the caller. + return result + + +def session_write_data(address, len, data): + """ + Requests the target to program the specified data to memory. Note that it is the + responsibility of the application to make sure the memory range was erased + beforehand. + + :param address: The starting memory address for the write operation. + :param len: The number of bytes in the data buffer that should be written. + :param data: List with data bytes that should be written. + :returns: BLT_RESULT_OK if successful, BLT_RESULT_ERROR_xxx otherwise. + :rtype: int + + :Example: + :: + + import openblt + + new_data = [ 0x11, 0x22, 0x33, 0x44 ] + if openblt.session_write_data(0x8002000, len(new_data), new_data) != openblt.BLT_RESULT_OK: + print('[ERROR] Could not write data.') + """ + # Initialize the result. + result = BLT_RESULT_ERROR_GENERIC + # Check if the shared library function could be imported. + if BltSessionWriteData is not None: + # Convert the list to a c-byte array + new_data_type = ctypes.c_uint8 * len + new_data = new_data_type() + for i in range(0, len): + new_data[i] = ctypes.c_uint8(data[i]) + # Call the function in the shared library + result = BltSessionWriteData(ctypes.c_uint32(address), ctypes.c_uint32(len), + new_data) + # Give the result back to the caller. + return result + + +def session_read_data(address, len, data): + """ + Requests the target to upload the specified range from memory and store its contents + in the specified data buffer. + + :param address: The starting memory address for the read operation. + :param len: The number of bytes to upload from the target and store in the data + buffer. + :param data: List where the uploaded data bytes should be stored. + :returns: BLT_RESULT_OK if successful, BLT_RESULT_ERROR_xxx otherwise. + :rtype: int + + :Example: + :: + + import openblt + + read_data = [] + openblt.session_read_data(0x08002800, 16, read_data) + print('Read data =') + read_data_str = '\t' + for byte_value in read_data: + read_data_str += '{:02x}'.format(byte_value) + ' ' + print(read_data_str) + """ + # Initialize the result. + result = BLT_RESULT_ERROR_GENERIC + # Check if the shared library function could be imported. + if BltSessionReadData is not None: + # Create c-byte array for storing the uploaded byte values. + upload_data_type = ctypes.c_uint8 * len + upload_data = upload_data_type() + # Call the function in the shared library. + result = BltSessionReadData(ctypes.c_uint32(address), ctypes.c_uint32(len), + upload_data) + # Copy the uploaded data byte values to the data list provided by the caller. + for i in range(len): + data.append(upload_data[i]) + # Give the result back to the caller. + return result + + +# ********************************* end of lib.py *************************************** diff --git a/python/dist/openblt-1.3.7-py3.9.egg b/python/dist/openblt-1.3.7-py3.9.egg new file mode 100644 index 0000000000000000000000000000000000000000..2476d9b30261cd03cf0609ce2ef44ea444598be8 GIT binary patch literal 21044 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 M(g~KY_4m`i0B7(JE&u=k literal 0 HcmV?d00001 diff --git a/python/openblt.egg-info/PKG-INFO b/python/openblt.egg-info/PKG-INFO new file mode 100644 index 0000000..f6b40d7 --- /dev/null +++ b/python/openblt.egg-info/PKG-INFO @@ -0,0 +1,57 @@ +Metadata-Version: 1.0 +Name: openblt +Version: 1.3.7 +Summary: Python wrapper for the OpenBLT host library (LibOpenBLT). +Home-page: https://www.feaser.com/openblt/doku.php?id=manual:libopenblt +Author: Frank Voorburg +Author-email: voorburg@feaser.com +License: UNKNOWN +Description: Python wrapper for LibOpenBLT + ============================= + The OpenBLT Host Library (`LibOpenBLT `_) contains an application programming interface (API) for communicating with a microcontroller target, running the OpenBLT bootloader, for making firmware updates on the target. The goal of the OpenBLT Host Library is to empower you to quickly and efficiently create your own firmware update tool, in case you don’t prefer the standard MicroBoot and BootCommander tools that are included in the OpenBLT bootloader package. + + This package contains the python wrapper for LibOpenBLT, which enables you to quickly develop your own firmware update tool in the Python programming language. + + Install the package + ------------------- + Run the following command from the directory that contains the **setup.py** file (assuming setuptools is installed): + + :: + + python setup.py install + + Alternatively, you can use **pip** by running this command from the directory that contains the **setup.py** file: + + :: + + pip install . + + + Using the package + ----------------- + Basic code snippet to call the BltVersionGetString()-function which displays the version of LibOpenBLT: + + :: + + import openblt + + print('LibOpenBLT version:', openblt.version_get_string()) + + Have a look at the function headers inside openblt.lib for details on how to call the functions, including examples. A video tutorial about getting started with the Python bindings is available in this `blog article `_. + + + Run-time libraries + ------------------ + Copy the LibOpenBLT related run-time libraries into your python program's directory. Refer to the following section on the OpenBLT Wiki for a overview of these run-time libraries: + + https://www.feaser.com/openblt/doku.php?id=manual:libopenblt#run-time_libraries. + + These run-time libraries can be found in the ./Host directory of the OpenBLT bootloader package. These run-time libraries should also be included, when distributing your program. + + Specific on Windows + ------------------ + Under Microsoft Windows, the LibOpenBLT shared library (libopenblt.dll) is 64-bit ever since OpenBLT version 1.14. Therefore you need to run your Python application, that makes use of LibOpenBLT, using the 64-bit Python interpreter. + + If you use the LibOpenBLT shared library from before OpenBLT version 1.14 or if you rebuilt it yourself as 32-bit, you need to run your Python application using the 32-bit Python interpreter. + +Platform: UNKNOWN diff --git a/python/openblt.egg-info/SOURCES.txt b/python/openblt.egg-info/SOURCES.txt new file mode 100644 index 0000000..ca541bb --- /dev/null +++ b/python/openblt.egg-info/SOURCES.txt @@ -0,0 +1,8 @@ +README.rst +setup.py +openblt/__init__.py +openblt/lib.py +openblt.egg-info/PKG-INFO +openblt.egg-info/SOURCES.txt +openblt.egg-info/dependency_links.txt +openblt.egg-info/top_level.txt \ No newline at end of file diff --git a/python/openblt.egg-info/dependency_links.txt b/python/openblt.egg-info/dependency_links.txt new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/python/openblt.egg-info/dependency_links.txt @@ -0,0 +1 @@ + diff --git a/python/openblt.egg-info/top_level.txt b/python/openblt.egg-info/top_level.txt new file mode 100644 index 0000000..8953f50 --- /dev/null +++ b/python/openblt.egg-info/top_level.txt @@ -0,0 +1 @@ +openblt diff --git a/python/openblt/__init__.py b/python/openblt/__init__.py new file mode 100644 index 0000000..92c4415 --- /dev/null +++ b/python/openblt/__init__.py @@ -0,0 +1,94 @@ +""" +Package **openblt** is a python wrapper for the OpenBLT Host Library (`LibOpenBLT `_). + +Have a look at the function headers inside openblt.lib for details on how to call the functions, including examples. +""" +__docformat__ = 'reStructuredText' +# *************************************************************************************** +# File Name: __init__.py +# +# --------------------------------------------------------------------------------------- +# C O P Y R I G H T +# --------------------------------------------------------------------------------------- +# Copyright (c) 2018 by Feaser http://www.feaser.com All rights reserved +# +# --------------------------------------------------------------------------------------- +# L I C E N S E +# --------------------------------------------------------------------------------------- +# This file is part of OpenBLT. OpenBLT is free software: you can redistribute it and/or +# modify it under the terms of the GNU General Public License as published by the Free +# Software Foundation, either version 3 of the License, or (at your option) any later +# version. +# +# OpenBLT is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; +# without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR +# PURPOSE. See the GNU General Public License for more details. +# +# You have received a copy of the GNU General Public License along with OpenBLT. It +# should be located in ".\Doc\license.html". If not, contact Feaser to obtain a copy. +# +# *************************************************************************************** + + +# *************************************************************************************** +# Imports +# *************************************************************************************** +from openblt.lib import BLT_RESULT_OK +from openblt.lib import BLT_RESULT_ERROR_GENERIC + + +# *************************************************************************************** +# V E R S I O N I N F O R M A T I O N +# *************************************************************************************** +from openblt.lib import version_get_number +from openblt.lib import version_get_string + + +# *************************************************************************************** +# S E S S I O N / T R A N S P O R T L A Y E R S +# *************************************************************************************** +from openblt.lib import BLT_SESSION_XCP_V10 +from openblt.lib import BLT_TRANSPORT_XCP_V10_RS232 +from openblt.lib import BLT_TRANSPORT_XCP_V10_CAN +from openblt.lib import BLT_TRANSPORT_XCP_V10_USB +from openblt.lib import BLT_TRANSPORT_XCP_V10_NET +from openblt.lib import BltSessionSettingsXcpV10 +from openblt.lib import BltTransportSettingsXcpV10Rs232 +from openblt.lib import BltTransportSettingsXcpV10Can +from openblt.lib import BltTransportSettingsXcpV10Net +from openblt.lib import session_init +from openblt.lib import session_terminate +from openblt.lib import session_start +from openblt.lib import session_stop +from openblt.lib import session_clear_memory +from openblt.lib import session_write_data +from openblt.lib import session_read_data + + +# *************************************************************************************** +# F I R M W A R E D A T A +# *************************************************************************************** +from openblt.lib import BLT_FIRMWARE_PARSER_SRECORD +from openblt.lib import firmware_terminate +from openblt.lib import firmware_init +from openblt.lib import firmware_load_from_file +from openblt.lib import firmware_save_to_file +from openblt.lib import firmware_get_segment_count +from openblt.lib import firmware_get_segment +from openblt.lib import firmware_add_data +from openblt.lib import firmware_remove_data +from openblt.lib import firmware_clear_data + + +# *************************************************************************************** +# G E N E R I C U T I L I T I E S +# *************************************************************************************** +from openblt.lib import util_crc16_calculate +from openblt.lib import util_crc32_calculate +from openblt.lib import util_time_get_system_time +from openblt.lib import util_time_delay_ms +from openblt.lib import util_crypto_aes256_encrypt +from openblt.lib import util_crypto_aes256_decrypt + + +# ********************************* end of __init__.py ********************************** diff --git a/python/openblt/lib.py b/python/openblt/lib.py new file mode 100644 index 0000000..97d3096 --- /dev/null +++ b/python/openblt/lib.py @@ -0,0 +1,1215 @@ +""" +Implements python wrappers for the OpenBLT host library (LibOpenBLT) +functions. +""" +__docformat__ = 'reStructuredText' +# *************************************************************************************** +# File Name: lib.py +# +# --------------------------------------------------------------------------------------- +# C O P Y R I G H T +# --------------------------------------------------------------------------------------- +# Copyright (c) 2018 by Feaser http://www.feaser.com All rights reserved +# +# --------------------------------------------------------------------------------------- +# L I C E N S E +# --------------------------------------------------------------------------------------- +# This file is part of OpenBLT. OpenBLT is free software: you can redistribute it and/or +# modify it under the terms of the GNU General Public License as published by the Free +# Software Foundation, either version 3 of the License, or (at your option) any later +# version. +# +# OpenBLT is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; +# without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR +# PURPOSE. See the GNU General Public License for more details. +# +# You have received a copy of the GNU General Public License along with OpenBLT. It +# should be located in ".\Doc\license.html". If not, contact Feaser to obtain a copy. +# +# *************************************************************************************** + + +# *************************************************************************************** +# Imports +# *************************************************************************************** +import ctypes +import sys +import os + + +# *************************************************************************************** +# Implementation +# *************************************************************************************** +# Determine the file extension of the share library, which is platform dependent. +if "win" in sys.platform: + sharedLibraryExt = '.dll' +else: + sharedLibraryExt = '.so' + + +# Initialize the shared library to just its filename without a path. This assumes that +# the LibOpenBLT shared library file and possible other run-time libraries that it +# depends on are located in the directory from where your program runs or somewhere on +# the system's library path. Refer to the section on the OpenBLT Wiki for an overview of +# these run-time libraries: +# https://www.feaser.com/openblt/doku.php?id=manual:libopenblt#run-time_libraries. +sharedLibrary = 'libopenblt' + sharedLibraryExt + + +# Get a handle to the shared library. First assume that the shared library is in the +# current working directory. If not, then assume that it is located somewhere on the +# LD_LIBRARY_PATH. +if os.path.exists(os.path.join(os.getcwd(), sharedLibrary)): + sharedLibraryHandle = ctypes.CDLL(os.path.join(os.getcwd(), sharedLibrary)) +else: + sharedLibraryHandle = ctypes.CDLL(sharedLibrary) + + +# *************************************************************************************** +# Function import specifications +# *************************************************************************************** +BltVersionGetNumber = None +if hasattr(sharedLibraryHandle, 'BltVersionGetNumber'): + BltVersionGetNumber = sharedLibraryHandle.BltVersionGetNumber + BltVersionGetNumber.argtypes = [] + BltVersionGetNumber.restype = ctypes.c_uint32 + + +BltVersionGetString = None +if hasattr(sharedLibraryHandle, 'BltVersionGetString'): + BltVersionGetString = sharedLibraryHandle.BltVersionGetString + BltVersionGetString.argtypes = [] + BltVersionGetString.restype = ctypes.c_char_p + + +BltFirmwareInit = None +if hasattr(sharedLibraryHandle, 'BltFirmwareInit'): + BltFirmwareInit = sharedLibraryHandle.BltFirmwareInit + BltFirmwareInit.argtypes = [ctypes.c_uint32] + BltFirmwareInit.restype = None + + +BltFirmwareTerminate = None +if hasattr(sharedLibraryHandle, 'BltFirmwareTerminate'): + BltFirmwareTerminate = sharedLibraryHandle.BltFirmwareTerminate + BltFirmwareTerminate.argtypes = [] + BltFirmwareTerminate.restype = None + + +BltFirmwareLoadFromFile = None +if hasattr(sharedLibraryHandle, 'BltFirmwareLoadFromFile'): + BltFirmwareLoadFromFile = sharedLibraryHandle.BltFirmwareLoadFromFile + BltFirmwareLoadFromFile.argtypes = [ctypes.c_char_p, ctypes.c_uint32] + BltFirmwareLoadFromFile.restype = ctypes.c_uint32 + + +BltFirmwareSaveToFile = None +if hasattr(sharedLibraryHandle, 'BltFirmwareSaveToFile'): + BltFirmwareSaveToFile = sharedLibraryHandle.BltFirmwareSaveToFile + BltFirmwareSaveToFile.argtypes = [ctypes.c_char_p] + BltFirmwareSaveToFile.restype = ctypes.c_uint32 + + +BltFirmwareGetSegmentCount = None +if hasattr(sharedLibraryHandle, 'BltFirmwareGetSegmentCount'): + BltFirmwareGetSegmentCount = sharedLibraryHandle.BltFirmwareGetSegmentCount + BltFirmwareGetSegmentCount.argtypes = [] + BltFirmwareGetSegmentCount.restype = ctypes.c_uint32 + + +BltFirmwareGetSegment = None +if hasattr(sharedLibraryHandle, 'BltFirmwareGetSegment'): + BltFirmwareGetSegment = sharedLibraryHandle.BltFirmwareGetSegment + BltFirmwareGetSegment.argtypes = [ctypes.c_uint32, ctypes.POINTER(ctypes.c_uint32), + ctypes.POINTER(ctypes.c_uint32)] + BltFirmwareGetSegment.restype = ctypes.POINTER(ctypes.c_uint8) + + +BltFirmwareAddData = None +if hasattr(sharedLibraryHandle, 'BltFirmwareAddData'): + BltFirmwareAddData = sharedLibraryHandle.BltFirmwareAddData + BltFirmwareAddData.argtypes = [ctypes.c_uint32, ctypes.c_uint32, + ctypes.POINTER(ctypes.c_uint8)] + BltFirmwareAddData.restype = ctypes.c_uint32 + + +BltFirmwareRemoveData = None +if hasattr(sharedLibraryHandle, 'BltFirmwareRemoveData'): + BltFirmwareRemoveData = sharedLibraryHandle.BltFirmwareRemoveData + BltFirmwareRemoveData.argtypes = [ctypes.c_uint32, ctypes.c_uint32] + BltFirmwareRemoveData.restype = ctypes.c_uint32 + + +BltFirmwareClearData = None +if hasattr(sharedLibraryHandle, 'BltFirmwareClearData'): + BltFirmwareClearData = sharedLibraryHandle.BltFirmwareClearData + BltFirmwareClearData.argtypes = [] + BltFirmwareClearData.restype = None + + +BltUtilCrc16Calculate = None +if hasattr(sharedLibraryHandle, 'BltUtilCrc16Calculate'): + BltUtilCrc16Calculate = sharedLibraryHandle.BltUtilCrc16Calculate + BltUtilCrc16Calculate.argtypes = [ctypes.POINTER(ctypes.c_uint8), ctypes.c_uint32] + BltUtilCrc16Calculate.restype = ctypes.c_uint16 + + +BltUtilCrc32Calculate = None +if hasattr(sharedLibraryHandle, 'BltUtilCrc32Calculate'): + BltUtilCrc32Calculate = sharedLibraryHandle.BltUtilCrc32Calculate + BltUtilCrc32Calculate.argtypes = [ctypes.POINTER(ctypes.c_uint8), ctypes.c_uint32] + BltUtilCrc32Calculate.restype = ctypes.c_uint32 + + +BltUtilTimeGetSystemTime = None +if hasattr(sharedLibraryHandle, 'BltUtilTimeGetSystemTime'): + BltUtilTimeGetSystemTime = sharedLibraryHandle.BltUtilTimeGetSystemTime + BltUtilTimeGetSystemTime.argtypes = [] + BltUtilTimeGetSystemTime.restype = ctypes.c_uint32 + + +BltUtilTimeDelayMs = None +if hasattr(sharedLibraryHandle, 'BltUtilTimeDelayMs'): + BltUtilTimeDelayMs = sharedLibraryHandle.BltUtilTimeDelayMs + BltUtilTimeDelayMs.argtypes = [ctypes.c_uint16] + BltUtilTimeDelayMs.restype = None + + +BltUtilCryptoAes256Encrypt = None +if hasattr(sharedLibraryHandle, 'BltUtilCryptoAes256Encrypt'): + BltUtilCryptoAes256Encrypt = sharedLibraryHandle.BltUtilCryptoAes256Encrypt + BltUtilCryptoAes256Encrypt.argtypes = [ctypes.POINTER(ctypes.c_uint8), + ctypes.c_uint32, + ctypes.POINTER(ctypes.c_uint8)] + BltUtilCryptoAes256Encrypt.restype = ctypes.c_uint32 + + +BltUtilCryptoAes256Decrypt = None +if hasattr(sharedLibraryHandle, 'BltUtilCryptoAes256Decrypt'): + BltUtilCryptoAes256Decrypt = sharedLibraryHandle.BltUtilCryptoAes256Decrypt + BltUtilCryptoAes256Decrypt.argtypes = [ctypes.POINTER(ctypes.c_uint8), + ctypes.c_uint32, + ctypes.POINTER(ctypes.c_uint8)] + BltUtilCryptoAes256Decrypt.restype = ctypes.c_uint32 + + +BltSessionInit = None +if hasattr(sharedLibraryHandle, 'BltSessionInit'): + BltSessionInit = sharedLibraryHandle.BltSessionInit + BltSessionInit.argtypes = [ctypes.c_uint32, ctypes.POINTER(None), ctypes.c_uint32, + ctypes.POINTER(None)] + BltSessionInit.restype = None + + +BltSessionTerminate = None +if hasattr(sharedLibraryHandle, 'BltSessionTerminate'): + BltSessionTerminate = sharedLibraryHandle.BltSessionTerminate + BltSessionTerminate.argtypes = [] + BltSessionTerminate.restype = None + + +BltSessionStart = None +if hasattr(sharedLibraryHandle, 'BltSessionStart'): + BltSessionStart = sharedLibraryHandle.BltSessionStart + BltSessionStart.argtypes = [] + BltSessionStart.restype = ctypes.c_uint32 + + +BltSessionStop = None +if hasattr(sharedLibraryHandle, 'BltSessionStop'): + BltSessionStop = sharedLibraryHandle.BltSessionStop + BltSessionStop.argtypes = [] + BltSessionStop.restype = None + + +BltSessionClearMemory = None +if hasattr(sharedLibraryHandle, 'BltSessionClearMemory'): + BltSessionClearMemory = sharedLibraryHandle.BltSessionClearMemory + BltSessionClearMemory.argtypes = [ctypes.c_uint32, ctypes.c_uint32] + BltSessionClearMemory.restype = ctypes.c_uint32 + + +BltSessionWriteData = None +if hasattr(sharedLibraryHandle, 'BltSessionWriteData'): + BltSessionWriteData = sharedLibraryHandle.BltSessionWriteData + BltSessionWriteData.argtypes = [ctypes.c_uint32, ctypes.c_uint32, + ctypes.POINTER(ctypes.c_uint8)] + BltSessionWriteData.restype = ctypes.c_uint32 + + +BltSessionReadData = None +if hasattr(sharedLibraryHandle, 'BltSessionReadData'): + BltSessionReadData = sharedLibraryHandle.BltSessionReadData + BltSessionReadData.argtypes = [ctypes.c_uint32, ctypes.c_uint32, + ctypes.POINTER(ctypes.c_uint8)] + + +# *************************************************************************************** +# Constant declarations +# *************************************************************************************** +BLT_RESULT_OK = 0 +BLT_RESULT_ERROR_GENERIC = 1 + + +# *************************************************************************************** +# V E R S I O N I N F O R M A T I O N +# *************************************************************************************** +# *************************************************************************************** +# Functions +# *************************************************************************************** +def version_get_number(): + """ + Obtains the version number of the library as an integer. The number has two digits + for major-, minor-, and patch-version. Version 1.05.12 would for example return + 10512. + + :returns: Library version number as an integer. + :rtype: int + + :Example: + :: + + import openblt + + print('LibOpenBLT version:', openblt.version_get_number()) + """ + # Initialize the result. + result = 0 + # Check if the shared library function could be imported. + if BltVersionGetNumber is not None: + # Call the function in the shared library. + result = BltVersionGetNumber() + # Give the result back to the caller. + return result + + +def version_get_string(): + """ + Obtains the version number of the library as a string. Version 1.05.12 would for + example return "1.05.12". + + :returns: Library version number as a string. + :rtype: string + + :Example: + :: + + import openblt + + print('LibOpenBLT version:', openblt.version_get_string()) + """ + # Initialize the result + result = '' + # Check if the shared library function could be imported. + if BltVersionGetString is not None: + # Call the function in the shared library + result = BltVersionGetString() + # Decode the null terminated character string to a UTF-8 string. + result = result.decode('utf-8') + # Give the result back to the caller. + return result + + +# *************************************************************************************** +# F I R M W A R E D A T A +# *************************************************************************************** +# *************************************************************************************** +# Constant declarations +# *************************************************************************************** +BLT_FIRMWARE_PARSER_SRECORD = 0 + + +# *************************************************************************************** +# Functions +# *************************************************************************************** +def firmware_init(parser_type=BLT_FIRMWARE_PARSER_SRECORD): + """ + Initializes the firmware data module for a specified firmware file parser. + + :param parser_type: The firmware file parser to use in this module. It should be a + BLT_FIRMWARE_PARSER_xxx value. + + :Example: + :: + + import openblt + + openblt.firmware_init(openblt.BLT_FIRMWARE_PARSER_SRECORD) + """ + # Check if the shared library function could be imported. + if BltFirmwareInit is not None: + # Call the function in the shared library + BltFirmwareInit(ctypes.c_uint32(parser_type)) + + +def firmware_terminate(): + """ + Terminates the firmware data module. Typically called at the end of the program when + the firmware data module is no longer needed. + + :Example: + :: + + import openblt + + openblt.firmware_terminate() + """ + # Check if the shared library function could be imported. + if BltFirmwareTerminate is not None: + # Call the function in the shared library + BltFirmwareTerminate() + + +def firmware_load_from_file(firmware_file, address_offset=0): + """ + Loads firmware data from the specified file using the firmware file parser that was + specified during the initialization of this module. + + :param firmware_file: Filename of the firmware file to load. + :param address_offset: Optional memory address offset to add when loading the + firmware data from the file. This is typically only useful when loading + firmware data from a binary formatted firmware file. + :returns: BLT_RESULT_OK if successful, BLT_RESULT_ERROR_xxx otherwise. + :rtype: int + + :Example: + :: + + import openblt + + if openblt.firmware_load_from_file('my_firmware.srec', 0) != openblt.BLT_RESULT_OK: + print('[ERROR] Could not open firmware file.') + """ + # Initialize the result. + result = BLT_RESULT_ERROR_GENERIC + # Check if the shared library function could be imported. + if BltFirmwareLoadFromFile is not None: + # Call the function in the shared library + result = BltFirmwareLoadFromFile(ctypes.c_char_p(firmware_file.encode('utf-8')), + ctypes.c_uint32(address_offset)) + # Give the result back to the caller. + return result + + +def firmware_save_to_file(firmware_file): + """ + Writes firmware data to the specified file using the firmware file parser that was + specified during the initialization of this module. + + :param firmware_file: Filename of the firmware file to write to. + :returns: BLT_RESULT_OK if successful, BLT_RESULT_ERROR_xxx otherwise. + :rtype: int + + :Example: + :: + + import openblt + + if openblt.firmware_save_to_file('new_firmwware.srec') != openblt.BLT_RESULT_OK: + print('[ERROR] Could not save firmware file.') + """ + # Initialize the result. + result = BLT_RESULT_ERROR_GENERIC + # Check if the shared library function could be imported. + if BltFirmwareSaveToFile is not None: + # Call the function in the shared library + result = BltFirmwareSaveToFile(ctypes.c_char_p(firmware_file.encode('utf-8'))) + # Give the result back to the caller. + return result + + +def firmware_get_segment_count(): + """ + Obtains the number of firmware data segments that are currently present in the + firmware data module. + + :returns: The total number of segments. + :rtype: int + + :Example: + :: + + import openblt + + print('Number of data segments = ', openblt.firmware_get_segment_count()) + """ + # Initialize the result. + result = 0 + # Check if the shared library function could be imported. + if BltFirmwareGetSegmentCount is not None: + # Call the function in the shared library + result = BltFirmwareGetSegmentCount() + # Give the result back to the caller. + return result + + +def firmware_get_segment(idx): + """ + Obtains the contents of the firmware data segment that was specified by the index + parameter. Note that the returned segment data is a copy. + + :param idx: The segment index. It should be a value greater or equal to zero and + smaller than the value returned by firmware_get_segment_count. + :returns: Tuple with the segment data list, address and length. + :rtype: tuple + + :Example: + :: + + import openblt + + segment_data, segment_address, segment_len = openblt.firmware_get_segment(0) + print('First segment address =', hex(segment_address)) + print('First segment length =', segment_len) + print('First Segment data =') + segment_data_str = '\t' + for idx in range(0, segment_len): + segment_data_str += '{:02x}'.format(segment_data[idx]) + ' ' + if ((idx+1) % 32) == 0: + print(segment_data_str) + segment_data_str = '\t' + if segment_data_str != '': + print(segment_data_str) + """ + # Initialize the result values. + result_data = [] + result_address = int(0) + result_len = int(0) + # Check if the shared library function could be imported. + if BltFirmwareGetSegment is not None: + segment_address = ctypes.c_uint32(0) + segment_len = ctypes.c_uint32(0) + # Call the function in the shared library + segment_data = BltFirmwareGetSegment(ctypes.c_uint32(idx), + ctypes.byref(segment_address), + ctypes.byref(segment_len)) + # Store the result values. + result_address = segment_address.value + result_len = segment_len.value + for i in range(result_len): + result_data.append(segment_data[i]) + # Give the result back to the caller as a tuple. + return result_data, result_address, result_len + + +def firmware_add_data(address, len, data): + """ + Adds data to the segments that are currently present in the firmware data module. If + the data overlaps with already existing data, the existing data gets overwritten. The + size of a segment is automatically adjusted or a new segment gets created, + if necessary. + + :param address: Base address of the firmware data. + :param len: Number of bytes to add. + :param data: List with data bytes that should be added. + :returns: BLT_RESULT_OK if successful, BLT_RESULT_ERROR_xxx otherwise. + :rtype: int + + :Example: + :: + + import openblt + + new_data = [ 0x55, 0xaa, 0x11, 0xee ] + if openblt.firmware_add_data(0x8002000, len(new_data), new_data) != openblt.BLT_RESULT_OK: + print('[ERROR] Could not add firmware data.') + """ + # Initialize the result. + result = BLT_RESULT_ERROR_GENERIC + # Check if the shared library function could be imported. + if BltFirmwareAddData is not None: + # Convert the list to a c-byte array + new_data_type = ctypes.c_uint8 * len + new_data = new_data_type() + for i in range(0, len): + new_data[i] = ctypes.c_uint8(data[i]) + # Call the function in the shared library + result = BltFirmwareAddData(ctypes.c_uint32(address), ctypes.c_uint32(len), + new_data) + # Give the result back to the caller. + return result + + +def firmware_remove_data(address, len): + """ + Removes data from the segments that are currently present in the firmware data + module. The size of a segment is automatically adjusted or removed, if necessary. + + :param address: Base address of the firmware data. + :param len: Number of bytes to remove. + :returns: BLT_RESULT_OK if successful, BLT_RESULT_ERROR_xxx otherwise. + :rtype: int + + :Example: + :: + + import openblt + + if openblt.firmware_remove_data(0x8002000, 4) != openblt.BLT_RESULT_OK: + print('[ERROR] Could not remove firmware data.') + """ + # Initialize the result. + result = BLT_RESULT_ERROR_GENERIC + # Check if the shared library function could be imported. + if BltFirmwareRemoveData is not None: + # Call the function in the shared library + result = BltFirmwareRemoveData(ctypes.c_uint32(address), ctypes.c_uint32(len)) + # Give the result back to the caller. + return result + + +def firmware_clear_data(): + """ + Clears all data and segments that are currently present in the firmware data module. + + :Example: + :: + + import openblt + + openblt.firmware_clear_data() + """ + # Check if the shared library function could be imported. + if BltFirmwareClearData is not None: + # Call the function in the shared library + BltFirmwareClearData() + + +# *************************************************************************************** +# G E N E R I C U T I L I T I E S +# *************************************************************************************** +# *************************************************************************************** +# Functions +# *************************************************************************************** +def util_crc16_calculate(data, len): + """ + Calculates a 16-bit CRC value over the specified data. + + :param data: List with data bytes over which the CRC16 should be calculated. + :param len: Number of bytes in the list. + :returns: The 16-bit CRC value. + :rtype: int + + :Example: + :: + + import openblt + + test_data = [ 0x10, 0x20, 0x30, 0x40, 0x50, 0x60, 0x70, 0x80 ] + crc16_value = openblt.util_crc16_calculate(test_data, len(test_data)) + print('CRC16 value:', crc16_value) + """ + # Initialize the result. + result = 0 + # Check if the shared library function could be imported. + if BltUtilCrc16Calculate is not None: + # Convert the list to a c-byte array + src_data_type = ctypes.c_uint8 * len + src_data = src_data_type() + for i in range(0, len): + src_data[i] = ctypes.c_uint8(data[i]) + # Call the function in the shared library + result = BltUtilCrc16Calculate(src_data, ctypes.c_uint32(len)) + # Give the result back to the caller. + return result + + +def util_crc32_calculate(data, len): + """ + Calculates a 32-bit CRC value over the specified data. + + :param data: List with data bytes over which the CRC32 should be calculated. + :param len: Number of bytes in the list. + :returns: The 32-bit CRC value. + :rtype: int + + :Example: + :: + + import openblt + + test_data = [ 0x10, 0x20, 0x30, 0x40, 0x50, 0x60, 0x70, 0x80 ] + crc32_value = openblt.util_crc32_calculate(test_data, len(test_data)) + print('CRC32 value:', crc32_value) + """ + # Initialize the result. + result = 0 + # Check if the shared library function could be imported. + if BltUtilCrc32Calculate is not None: + # Convert the list to a c-byte array + src_data_type = ctypes.c_uint8 * len + src_data = src_data_type() + for i in range(0, len): + src_data[i] = ctypes.c_uint8(data[i]) + # Call the function in the shared library + result = BltUtilCrc32Calculate(src_data, ctypes.c_uint32(len)) + # Give the result back to the caller. + return result + + +def util_time_get_system_time(): + """ + Get the system time in milliseconds. + + :returns: Time in milliseconds. + :rtype: int + + :Example: + :: + + import openblt + + print('Current system time:', openblt.util_time_get_system_time(), 'ms') + """ + # Initialize the result. + result = 0 + # Check if the shared library function could be imported. + if BltUtilTimeGetSystemTime is not None: + # Call the function in the shared library. + result = BltUtilTimeGetSystemTime() + # Give the result back to the caller. + return result + + +def util_time_delay_ms(delay): + """ + Performs a delay of the specified amount of milliseconds. + + :param delay: Delay time in milliseconds. + + :Example: + :: + + import openblt + + openblt.util_time_delay_ms(1000) + """ + # Check if the shared library function could be imported. + if BltUtilTimeDelayMs is not None: + # Call the function in the shared library + BltUtilTimeDelayMs(ctypes.c_uint16(delay)) + + +def util_crypto_aes256_encrypt(data, len, key): + """ + Encrypts the len-bytes in the specified data list, using the specified 256-bit + (32 bytes) key. The results are written back into the same list. + + :param data: List with data bytes to encrypt. The encrypted bytes are stored in the + same list. + :param len: The number of bytes in the data list to encrypt. It must be a multiple + of 16, as this is the AES256 minimal block size. + :param key: The 256-bit encryption key as a list with 32 bytes. + :returns: BLT_RESULT_OK if successful, BLT_RESULT_ERROR_xxx otherwise. + :rtype: int + + :Example: + :: + + import openblt + + crypto_key = [0xCB, 0x81, 0xA5, 0x9A, 0x80, 0x2C, 0x98, 0x1C, + 0xF8, 0x8C, 0x5D, 0x59, 0x1B, 0x48, 0x5C, 0xAD, + 0xE5, 0xC0, 0xD5, 0x98, 0xD8, 0x89, 0xD4, 0xC9, + 0xC4, 0x66, 0x4B, 0x09, 0x2D, 0x19, 0xF8, 0xF6] + crypto_data = [0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, + 0x08, 0x09, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F] + print('Original data =') + crypto_data_str = '\t' + for byte_value in crypto_data: + crypto_data_str += '{:02x}'.format(byte_value) + ' ' + print(crypto_data_str) + openblt.util_crypto_aes256_encrypt(crypto_data, 16, crypto_key) + print('Encrypted data =') + crypto_data_str = '\t' + for byte_value in crypto_data: + crypto_data_str += '{:02x}'.format(byte_value) + ' ' + print(crypto_data_str) + """ + # Initialize the result. + result = BLT_RESULT_ERROR_GENERIC + # Check if the shared library function could be imported. + if BltUtilCryptoAes256Encrypt is not None: + # Convert the list with source data to a c-byte array. + src_data_type = ctypes.c_uint8 * len + src_data = src_data_type() + for i in range(0, len): + src_data[i] = ctypes.c_uint8(data[i]) + # Convert the list with key data to a c-byte array. + key_data_type = ctypes.c_uint8 * 32 + key_data = key_data_type() + for i in range(0, 32): + key_data[i] = ctypes.c_uint8(key[i]) + # Call the function in the shared library. + result = BltUtilCryptoAes256Encrypt(src_data, ctypes.c_uint32(len), key_data) + # Now write the encrypted data back into the list + if result == BLT_RESULT_OK: + for i in range(0, len): + data[i] = src_data[i] + # Give the result back to the caller. + return result + + +def util_crypto_aes256_decrypt(data, len, key): + """ + Decrypts the len-bytes in the specified data list, using the specified 256-bit + (32 bytes) key. The results are written back into the same list. + + :param data: List with data bytes to decrypt. The decrypted bytes are stored in the + same list. + :param len: The number of bytes in the data list to decrypt. It must be a multiple + of 16, as this is the AES256 minimal block size. + :param key: The 256-bit decryption key as a list with 32 bytes. + :returns: BLT_RESULT_OK if successful, BLT_RESULT_ERROR_xxx otherwise. + :rtype: int + + :Example: + :: + + import openblt + + crypto_key = [0xCB, 0x81, 0xA5, 0x9A, 0x80, 0x2C, 0x98, 0x1C, + 0xF8, 0x8C, 0x5D, 0x59, 0x1B, 0x48, 0x5C, 0xAD, + 0xE5, 0xC0, 0xD5, 0x98, 0xD8, 0x89, 0xD4, 0xC9, + 0xC4, 0x66, 0x4B, 0x09, 0x2D, 0x19, 0xF8, 0xF6] + crypto_data = [0x34, 0x7A, 0xC9, 0x82, 0x83, 0xB7, 0x8C, 0xAA, + 0x14, 0x39, 0x6E, 0xCF, 0x10, 0xA4, 0xAA, 0x96] + openblt.util_crypto_aes256_decrypt(crypto_data, 16, crypto_key) + print('Decrypted data =') + crypto_data_str = '\t' + for byte_value in crypto_data: + crypto_data_str += '{:02x}'.format(byte_value) + ' ' + print(crypto_data_str) + """ + # Initialize the result. + result = BLT_RESULT_ERROR_GENERIC + # Check if the shared library function could be imported. + if BltUtilCryptoAes256Decrypt is not None: + # Convert the list with source data to a c-byte array. + src_data_type = ctypes.c_uint8 * len + src_data = src_data_type() + for i in range(0, len): + src_data[i] = ctypes.c_uint8(data[i]) + # Convert the list with key data to a c-byte array. + key_data_type = ctypes.c_uint8 * 32 + key_data = key_data_type() + for i in range(0, 32): + key_data[i] = ctypes.c_uint8(key[i]) + # Call the function in the shared library. + result = BltUtilCryptoAes256Decrypt(src_data, ctypes.c_uint32(len), key_data) + # Now write the decrypted data back into the list + if result == BLT_RESULT_OK: + for i in range(0, len): + data[i] = src_data[i] + # Give the result back to the caller. + return result + + +# *************************************************************************************** +# S E S S I O N / T R A N S P O R T L A Y E R S +# *************************************************************************************** +# *************************************************************************************** +# Constant declarations +# *************************************************************************************** +BLT_SESSION_XCP_V10 = 0 +BLT_TRANSPORT_XCP_V10_RS232 = 0 +BLT_TRANSPORT_XCP_V10_CAN = 1 +BLT_TRANSPORT_XCP_V10_USB = 2 +BLT_TRANSPORT_XCP_V10_NET = 3 + + +# *************************************************************************************** +# Classes +# *************************************************************************************** +class BltSessionSettingsXcpV10: + """ + Class with the layout of the XCP version 1.0 session settings. + """ + def __init__(self): + """ + Class constructor. + """ + # Set default values for instance variables. + self.timeoutT1 = 1000 # Command response timeout in milliseconds. + self.timeoutT3 = 2000 # Start programming timeout in milliseconds. + self.timeoutT4 = 10000 # Erase memory timeout in milliseonds. + self.timeoutT5 = 1000 # Program memory and reset timeout in milliseconds. + self.timeoutT6 = 50 # Command response timeout in milliseconds. + self.timeoutT7 = 2000 # Busy wait timer timeout in milliseconds. + self.seedKeyFile = '' # Seed/key algorithm library filename. + self.connectMode = 0 # Connection mode parameter in XCP connect command. + + +class BltTransportSettingsXcpV10Rs232: + """ + Class with the layout of the XCP version 1.0 RS232 transport layer settings. The + portName field is platform dependent. On Linux based systems this should be the + filename of the tty-device, such as "/dev/tty0". On Windows based systems it should + be the name of the COM-port, such as "COM1". + """ + def __init__(self): + """ + Class constructor. + """ + # Set default values for instance variables. + self.portName = '' # Communication port name such as /dev/tty0. + self.baudrate = 57600 # Communication speed in bits/sec. + + +class BltTransportSettingsXcpV10Can: + """ + Class with the layout of the XCP version 1.0 CAN transport layer settings. The + deviceName field is platform dependent. On Linux based systems this should be the + socketCAN interface name such as "can0". The terminal command "ip addr" can be issued + to view a list of interfaces that are up and available. Under Linux it is assumed + that the socketCAN interface is already configured on the system, before using the + OpenBLT library. When baudrate is configured when bringing up the system, so the + baudrate field in this structure is don't care when using the library on a Linux was + system. On Windows based systems, the device name is a name that is pre-defined by + this library for the supported CAN adapters. The device name should be one of the + following: "peak_pcanusb", "kvaser_leaflight", or "lawicel_canusb". Field use + extended is a boolean field. When set to 0, the specified transmitId and receiveId + are assumed to be 11-bit standard CAN identifier. It the field is 1, these + identifiers are assumed to be 29-bit extended CAN identifiers. + """ + def __init__(self): + """ + Class constructor. + """ + # Set default values for instance variables. + self.deviceName = '' # Device name such as can0, peak_pcanusb etc. + self.deviceChannel = 0 # Channel on the device to use. + self.baudrate = 500000 # Communication speed in bits/sec. + self.transmitId = 0x667 # Transmit CAN identifier. + self.receiveId = 0x7E1 # Receive CAN identifier. + self.useExtended = 0 # Boolean to configure 29-bit CAN identifiers. + + +class BltTransportSettingsXcpV10Net: + """ + Class with the layout of the XCP version 1.0 NET transport layer settings. The + address field can be set to either the IP address or the hostname, such as + "192.168.178.23" or "mymicro.mydomain.com". The port should be set to the TCP port + number that the bootloader target listens on. + """ + def __init__(self): + """ + Class constructor. + """ + # Set default values for instance variables. + self.address = '' # Target IP-address or hostname on the network. + self.port = 1000 # TCP port to use. + + +# *************************************************************************************** +# Functions +# *************************************************************************************** +def session_init(session_type, session_settings, transport_type, transport_settings): + """ + Initializes the firmware update session for a specific communication protocol and + transport layer. This function is typically called once at the start of the firmware + update. + + :param session_type: The communication protocol to use for this session. It should + be a BLT_SESSION_xxx value. + :param session_settings: Instance of class BltSessionSettingsXxx with communication + protocol specific settings. + :param transport_type: The transport layer to use for the specified communication + protocol. It should be a BLT_TRANSPORT_xxx value. + :param transport_settings: Instance of class BltTransportSettingsXxx with transport + layer specific settings. + + :Example: + :: + + import openblt + + session_type = openblt.BLT_SESSION_XCP_V10 + session_settings = openblt.BltSessionSettingsXcpV10() + session_settings.timeoutT1 = 1000 + session_settings.timeoutT3 = 2000 + session_settings.timeoutT4 = 10000 + session_settings.timeoutT5 = 1000 + session_settings.timeoutT6 = 50 + session_settings.timeoutT7 = 2000 + session_settings.seedKeyFile = '' + session_settings.connectMode = 0 + transport_type = openblt.BLT_TRANSPORT_XCP_V10_RS232 + transport_settings = openblt.BltTransportSettingsXcpV10Rs232() + transport_settings.portName = '/dev/ttyACM0' + transport_settings.baudrate = 57600 + openblt.session_init(session_type, session_settings, + transport_type, transport_settings) + """ + class struct_t_blt_session_settings_xcp_v10(ctypes.Structure): + """ + C-types structure for mapping to BltSessionSettingsXcpV10 + """ + _fields_ = [('timeoutT1', ctypes.c_uint16), + ('timeoutT3', ctypes.c_uint16), + ('timeoutT4', ctypes.c_uint16), + ('timeoutT5', ctypes.c_uint16), + ('timeoutT6', ctypes.c_uint16), + ('timeoutT7', ctypes.c_uint16), + ('seedKeyFile', ctypes.c_char_p), + ('connectMode', ctypes.c_uint8)] + + class struct_t_blt_transport_settings_xcp_v10_rs232(ctypes.Structure): + """ + C-types structure for mapping to BltTransportSettingsXcpV10Rs232 + """ + _fields_ = [('portName', ctypes.c_char_p), + ('baudrate', ctypes.c_uint32)] + + class struct_t_blt_transport_settings_xcp_v10_can(ctypes.Structure): + """ + C-types structure for mapping to BltTransportSettingsXcpV10Can + """ + _fields_ = [('deviceName', ctypes.c_char_p), + ('deviceChannel', ctypes.c_uint32), + ('baudrate', ctypes.c_uint32), + ('transmitId', ctypes.c_uint32), + ('receiveId', ctypes.c_uint32), + ('useExtended', ctypes.c_uint32)] + + class struct_t_blt_transport_settings_xcp_v10_net(ctypes.Structure): + """ + C-types structure for mapping to BltTransportSettingsXcpV10Net + """ + _fields_ = [('address', ctypes.c_char_p), + ('port', ctypes.c_uint16)] + + # Convert session settings to the correct c-types structure. + session_settings_struct = None + if session_type == BLT_SESSION_XCP_V10: + session_settings_struct = struct_t_blt_session_settings_xcp_v10() + session_settings_struct.timeoutT1 = ctypes.c_uint16(session_settings.timeoutT1) + session_settings_struct.timeoutT3 = ctypes.c_uint16(session_settings.timeoutT3) + session_settings_struct.timeoutT4 = ctypes.c_uint16(session_settings.timeoutT4) + session_settings_struct.timeoutT5 = ctypes.c_uint16(session_settings.timeoutT5) + session_settings_struct.timeoutT6 = ctypes.c_uint16(session_settings.timeoutT6) + session_settings_struct.timeoutT7 = ctypes.c_uint16(session_settings.timeoutT7) + session_settings_struct.seedKeyFile = \ + ctypes.c_char_p(session_settings.seedKeyFile.encode('utf-8')) + session_settings_struct.connectMode = \ + ctypes.c_uint8(session_settings.connectMode) + + # Convert transport settings to the correct c-types structure. + transport_settings_struct = None + if transport_type == BLT_TRANSPORT_XCP_V10_RS232: + transport_settings_struct = struct_t_blt_transport_settings_xcp_v10_rs232() + transport_settings_struct.portName = \ + ctypes.c_char_p(transport_settings.portName.encode('utf-8')) + transport_settings_struct.baudrate = ctypes.c_uint32(transport_settings.baudrate) + elif transport_type == BLT_TRANSPORT_XCP_V10_CAN: + transport_settings_struct = struct_t_blt_transport_settings_xcp_v10_can() + transport_settings_struct.deviceName = \ + ctypes.c_char_p(transport_settings.deviceName.encode('utf-8')) + transport_settings_struct.deviceChannel = \ + ctypes.c_uint32(transport_settings.deviceChannel) + transport_settings_struct.baudrate = \ + ctypes.c_uint32(transport_settings.baudrate) + transport_settings_struct.transmitId = \ + ctypes.c_uint32(transport_settings.transmitId) + transport_settings_struct.receiveId = \ + ctypes.c_uint32(transport_settings.receiveId) + transport_settings_struct.useExtended = \ + ctypes.c_uint32(transport_settings.useExtended) + elif transport_type == BLT_TRANSPORT_XCP_V10_NET: + transport_settings_struct = struct_t_blt_transport_settings_xcp_v10_net() + transport_settings_struct.address = \ + ctypes.c_char_p(transport_settings.address.encode('utf-8')) + transport_settings_struct.port = \ + ctypes.c_uint16(transport_settings.port) + + # Check if the shared library function could be imported. + if BltSessionInit is not None: + # Prepare pointer parameters + if session_settings_struct == None: + session_settings_struct_ptr = None + else: + session_settings_struct_ptr = ctypes.byref(session_settings_struct) + if transport_settings_struct == None: + transport_settings_struct_ptr = None + else: + transport_settings_struct_ptr = ctypes.byref(transport_settings_struct) + # Call the function in the shared library + BltSessionInit(ctypes.c_uint32(session_type), + session_settings_struct_ptr, + ctypes.c_uint32(transport_type), + transport_settings_struct_ptr) + + +def session_terminate(): + """ + Terminates the firmware update session. This function is typically called once at the + end of the firmware update. + + :Example: + :: + + import openblt + + openblt.session_terminate() + """ + # Check if the shared library function could be imported. + if BltSessionTerminate is not None: + # Call the function in the shared library + BltSessionTerminate() + + +def session_start(): + """ + Starts the firmware update session. This is were the library attempts to activate and + connect with the bootloader running on the target, through the transport layer that + was specified during the session's initialization. + + :returns: BLT_RESULT_OK if successful, BLT_RESULT_ERROR_xxx otherwise. + :rtype: int + + :Example: + :: + + import openblt + + if openblt.session_start() != openblt.BLT_RESULT_OK: + print('[ERROR] Could not start the session.') + """ + # Initialize the result. + result = BLT_RESULT_ERROR_GENERIC + # Check if the shared library function could be imported. + if BltSessionStart is not None: + # Call the function in the shared library + result = BltSessionStart() + # Give the result back to the caller. + return result + + +def session_stop(): + """ + Stops the firmware update session. This is there the library disconnects the + transport layer as well. + + :Example: + :: + + import openblt + + openblt.session_stop() + """ + # Check if the shared library function could be imported. + if BltSessionStop is not None: + # Call the function in the shared library + BltSessionStop() + + +def session_clear_memory(address, len): + """ + Requests the target to erase the specified range of memory on the target. Note that + the target automatically aligns this to the erasable memory block sizes. This + typically results in more memory being erased than the range that was specified here. + Refer to the target implementation for details. + + :param address: The starting memory address for the erase operation. + :param len: The total number of bytes to erase from memory. + :returns: BLT_RESULT_OK if successful, BLT_RESULT_ERROR_xxx otherwise. + :rtype: int + + :Example: + :: + + import openblt + + if openblt.session_clear_memory(0x8002000, 1024) != openblt.BLT_RESULT_OK: + print('[ERROR] Could not erase memory.') + """ + # Initialize the result. + result = BLT_RESULT_ERROR_GENERIC + # Check if the shared library function could be imported. + if BltSessionClearMemory is not None: + # Call the function in the shared library + result = BltSessionClearMemory(ctypes.c_uint32(address), ctypes.c_uint32(len)) + # Give the result back to the caller. + return result + + +def session_write_data(address, len, data): + """ + Requests the target to program the specified data to memory. Note that it is the + responsibility of the application to make sure the memory range was erased + beforehand. + + :param address: The starting memory address for the write operation. + :param len: The number of bytes in the data buffer that should be written. + :param data: List with data bytes that should be written. + :returns: BLT_RESULT_OK if successful, BLT_RESULT_ERROR_xxx otherwise. + :rtype: int + + :Example: + :: + + import openblt + + new_data = [ 0x11, 0x22, 0x33, 0x44 ] + if openblt.session_write_data(0x8002000, len(new_data), new_data) != openblt.BLT_RESULT_OK: + print('[ERROR] Could not write data.') + """ + # Initialize the result. + result = BLT_RESULT_ERROR_GENERIC + # Check if the shared library function could be imported. + if BltSessionWriteData is not None: + # Convert the list to a c-byte array + new_data_type = ctypes.c_uint8 * len + new_data = new_data_type() + for i in range(0, len): + new_data[i] = ctypes.c_uint8(data[i]) + # Call the function in the shared library + result = BltSessionWriteData(ctypes.c_uint32(address), ctypes.c_uint32(len), + new_data) + # Give the result back to the caller. + return result + + +def session_read_data(address, len, data): + """ + Requests the target to upload the specified range from memory and store its contents + in the specified data buffer. + + :param address: The starting memory address for the read operation. + :param len: The number of bytes to upload from the target and store in the data + buffer. + :param data: List where the uploaded data bytes should be stored. + :returns: BLT_RESULT_OK if successful, BLT_RESULT_ERROR_xxx otherwise. + :rtype: int + + :Example: + :: + + import openblt + + read_data = [] + openblt.session_read_data(0x08002800, 16, read_data) + print('Read data =') + read_data_str = '\t' + for byte_value in read_data: + read_data_str += '{:02x}'.format(byte_value) + ' ' + print(read_data_str) + """ + # Initialize the result. + result = BLT_RESULT_ERROR_GENERIC + # Check if the shared library function could be imported. + if BltSessionReadData is not None: + # Create c-byte array for storing the uploaded byte values. + upload_data_type = ctypes.c_uint8 * len + upload_data = upload_data_type() + # Call the function in the shared library. + result = BltSessionReadData(ctypes.c_uint32(address), ctypes.c_uint32(len), + upload_data) + # Copy the uploaded data byte values to the data list provided by the caller. + for i in range(len): + data.append(upload_data[i]) + # Give the result back to the caller. + return result + + +# ********************************* end of lib.py *************************************** diff --git a/python/setup.py b/python/setup.py new file mode 100644 index 0000000..5c00b1d --- /dev/null +++ b/python/setup.py @@ -0,0 +1,53 @@ +#!/usr/bin/env python +""" +Setuptools setup specification for package 'openblt'. +""" +__docformat__ = 'reStructuredText' +# *************************************************************************************** +# File Name: setup.py +# +# --------------------------------------------------------------------------------------- +# C O P Y R I G H T +# --------------------------------------------------------------------------------------- +# Copyright (c) 2018 by Feaser http://www.feaser.com All rights reserved +# +# --------------------------------------------------------------------------------------- +# L I C E N S E +# --------------------------------------------------------------------------------------- +# This file is part of OpenBLT. OpenBLT is free software: you can redistribute it and/or +# modify it under the terms of the GNU General Public License as published by the Free +# Software Foundation, either version 3 of the License, or (at your option) any later +# version. +# +# OpenBLT is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; +# without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR +# PURPOSE. See the GNU General Public License for more details. +# +# You have received a copy of the GNU General Public License along with OpenBLT. It +# should be located in ".\Doc\license.html". If not, contact Feaser to obtain a copy. +# +# *************************************************************************************** + + +# *************************************************************************************** +# Imports +# *************************************************************************************** +from setuptools import setup + + +# *************************************************************************************** +# Implementation +# *************************************************************************************** +setup ( \ + name = 'openblt', + version = '1.3.7', + description = 'Python wrapper for the OpenBLT host library (LibOpenBLT).', + long_description = open('README.rst', 'r').read(), + author = 'Frank Voorburg', + author_email = 'voorburg@feaser.com', + url = 'https://www.feaser.com/openblt/doku.php?id=manual:libopenblt', + packages = ['openblt'], +) + + +# ********************************* end of setup.py ************************************* diff --git a/resetCAN.sh b/resetCAN.sh new file mode 100644 index 0000000..462426b --- /dev/null +++ b/resetCAN.sh @@ -0,0 +1,2 @@ + +sudo ip link set can0 down; sudo ip link set can0 type can bitrate 125000; sudo ip link set can0 up diff --git a/uploadtec.py b/uploadtec.py new file mode 100644 index 0000000..7b2bbab --- /dev/null +++ b/uploadtec.py @@ -0,0 +1,97 @@ +# This is a sample Python script. + +import openblt as blt +import sys + + +LINE_UP = '\033[1A' +LINE_CLEAR = '\x1b[2K' + +def print_del(txt:str): + """print and delete line before""" + print(LINE_UP, end=LINE_CLEAR) + print(txt) + + +def upload_code(tec_id, filename): + blt.firmware_init(blt.BLT_FIRMWARE_PARSER_SRECORD) + session_type = blt.BLT_SESSION_XCP_V10 + session_settings = blt.BltSessionSettingsXcpV10() + transport_type = blt.BLT_TRANSPORT_XCP_V10_CAN + transport_settings = blt.BltTransportSettingsXcpV10Can() + transport_settings.baudrate = 125000 + transport_settings.receiveId = 0x340 | tec_id + transport_settings.transmitId = 0x300 | tec_id + transport_settings.deviceName = 'can0' + + blt.session_init(session_type, session_settings,transport_type, transport_settings) + + print('tec: ' + str(tec_id)) + print('connecting to the bootloader') + + while blt.session_start() != blt.BLT_RESULT_OK: + pass + + print('connected') + print('clearing [0/0]') + + if blt.firmware_load_from_file(filename) != blt.BLT_RESULT_OK: + print('error reading file') + sys.exit() + + segment_count = blt.firmware_get_segment_count() + for segment_idx in range(0, segment_count): + print_del(f"clearing [{segment_idx+1}/{segment_count}]") + segment_data, segment_address, segment_len = blt.firmware_get_segment((segment_idx)) + res = blt.session_clear_memory(segment_address, segment_len) + if res != blt.BLT_RESULT_OK: + print('error clearing data') + sys.exit() + + + print("uploading [0/0]") + + for segment_idx in range(0, segment_count): + print_del(f"uploading [{segment_idx+1}/{segment_count}]") + segment_data, segment_address, segment_len = blt.firmware_get_segment((segment_idx)) + res = blt.session_write_data(segment_address, segment_len, segment_data) + if res != blt.BLT_RESULT_OK: + print('error writing data') + sys.exit() + + + print("finished upoading") + + blt.session_stop() + + blt.session_terminate() + blt.firmware_terminate() + + print("disconnected") + + +if __name__ == '__main__': + + if len(sys.argv) != 3: + print('check parameters: [1-8/all] [filename]') + sys.exit(1) + + if sys.argv[1] == 'all': + for i in range(8): + upload_code(i+1, sys.argv[2]) + sys.exit(0) + + try: + tec_id = int(sys.argv[1]) + except: + print("error: illegal command (tecid)") + print('check parameters: [1-8/all] [filename]') + sys.exit(1) + + if( 1 < tec_id > 8): + print("wrong tec id") + print('check parameters: [1-8/all] [filename]') + sys.exit(1) + + upload_code(tec_id, sys.argv[2]) +