From a98f3f036909198b4733aa16a2d9ddcd7c32cf61 Mon Sep 17 00:00:00 2001 From: Hans Ulrich Niedermann Date: Sun, 21 Jan 2024 13:57:18 +0100 Subject: [PATCH 01/49] man: doc location is /share/doc, not /doc Both automake and cmake builds install the documentation somewhere in /share/doc. This fixes the former mention of /doc in the avrdude.1 man page FILES section. --- src/avrdude.1 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/avrdude.1 b/src/avrdude.1 index be7b0bbed..72476fa9c 100644 --- a/src/avrdude.1 +++ b/src/avrdude.1 @@ -2009,7 +2009,7 @@ Alternative location of the per-user configuration file if above file does not e Initialization file for the .Xr readline 3 library -.It Pa /doc/avrdude/avrdude.pdf +.It Pa /share/doc/avrdude/avrdude.pdf User manual .El .\" .Sh EXAMPLES From 7ccd4bc7b8b7076015a9ecdc7f413a6c4e6192a3 Mon Sep 17 00:00:00 2001 From: Hans Ulrich Niedermann Date: Thu, 1 Aug 2024 21:38:31 +0200 Subject: [PATCH 02/49] doc: Stop building and installing .ps and .dvi Building info, pdf, and HTML is enough. ps and dvi are not needed any more. --- src/avrdude.spec.in | 1 - src/doc/CMakeLists.txt | 28 ---------------------------- src/doc/Makefile.am | 5 ++--- 3 files changed, 2 insertions(+), 32 deletions(-) diff --git a/src/avrdude.spec.in b/src/avrdude.spec.in index b1e72e3d4..0514345a7 100644 --- a/src/avrdude.spec.in +++ b/src/avrdude.spec.in @@ -86,7 +86,6 @@ fi %doc %{_infodir}/*info* %doc doc/avrdude-html/*.html %doc doc/TODO -%doc doc/avrdude.ps %doc doc/avrdude.pdf %endif diff --git a/src/doc/CMakeLists.txt b/src/doc/CMakeLists.txt index 9c8030c3d..5831fdaff 100644 --- a/src/doc/CMakeLists.txt +++ b/src/doc/CMakeLists.txt @@ -110,18 +110,6 @@ add_custom_command( VERBATIM ) -add_custom_command( - OUTPUT avrdude.dvi - COMMAND ${MAKEINFO_EXECUTABLE} - --dvi - --Xopt=--quiet - --Xopt=--build-dir=dvi - -o avrdude.dvi - ${TEXINFOS} - DEPENDS ${TEXINFOS} ${GENERATED_TEXINFOS} - VERBATIM - ) - add_custom_command( OUTPUT avrdude.pdf COMMAND ${MAKEINFO_EXECUTABLE} @@ -134,18 +122,6 @@ add_custom_command( VERBATIM ) -add_custom_command( - OUTPUT avrdude.ps - COMMAND ${MAKEINFO_EXECUTABLE} - --ps - --Xopt=--quiet - --Xopt=--build-dir=ps - -o avrdude.ps - ${TEXINFOS} - DEPENDS ${TEXINFOS} ${GENERATED_TEXINFOS} - VERBATIM - ) - add_custom_command( OUTPUT avrdude-html/avrdude.html COMMAND ${TEXI2HTML_EXECUTABLE} @@ -163,9 +139,7 @@ add_custom_command( # ===================================== add_custom_target(info ALL DEPENDS avrdude.info) -add_custom_target(dvi ALL DEPENDS avrdude.dvi) add_custom_target(pdf ALL DEPENDS avrdude.pdf) -add_custom_target(ps ALL DEPENDS avrdude.ps) add_custom_target(html ALL DEPENDS avrdude-html/avrdude.html) # ===================================== @@ -173,7 +147,5 @@ add_custom_target(html ALL DEPENDS avrdude-html/avrdude.html) # ===================================== install(FILES "${CMAKE_CURRENT_BINARY_DIR}/avrdude.info" DESTINATION ${CMAKE_INSTALL_INFODIR}) -install(FILES "${CMAKE_CURRENT_BINARY_DIR}/avrdude.dvi" DESTINATION ${CMAKE_INSTALL_DOCDIR}) install(FILES "${CMAKE_CURRENT_BINARY_DIR}/avrdude.pdf" DESTINATION ${CMAKE_INSTALL_DOCDIR}) -install(FILES "${CMAKE_CURRENT_BINARY_DIR}/avrdude.ps" DESTINATION ${CMAKE_INSTALL_DOCDIR}) install(DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/avrdude-html" DESTINATION ${CMAKE_INSTALL_DOCDIR}) diff --git a/src/doc/Makefile.am b/src/doc/Makefile.am index 66b55dc7f..ff0bfdb13 100644 --- a/src/doc/Makefile.am +++ b/src/doc/Makefile.am @@ -31,7 +31,7 @@ info_TEXINFOS = avrdude.texi EXTRA_DIST = \ parts_comments.txt -all-local: info html ps pdf +all-local: info html pdf html: avrdude-html/avrdude.html @@ -76,9 +76,8 @@ clean-local: install-data-local: install-docs -install-docs: html ps pdf +install-docs: html pdf $(mkinstalldirs) $(DOC_INST_DIR) - $(INSTALL_DATA) avrdude.ps $(DOC_INST_DIR)/avrdude.ps $(INSTALL_DATA) avrdude.pdf $(DOC_INST_DIR)/avrdude.pdf $(mkinstalldirs) $(DOC_INST_DIR)/avrdude-html @list=`echo avrdude-html/*.html`; \ From af80e729d90ce4d668da6b2b5a341ae6508c265c Mon Sep 17 00:00:00 2001 From: Stefan Rueger Date: Sat, 3 Aug 2024 16:55:00 +0100 Subject: [PATCH 03/49] Provide current avrdude.pdf documentation in repo root --- README.md | 2 +- avrdude.pdf | Bin 0 -> 436012 bytes 2 files changed, 1 insertion(+), 1 deletion(-) create mode 100644 avrdude.pdf diff --git a/README.md b/README.md index 674c72617..e49258505 100644 --- a/README.md +++ b/README.md @@ -18,7 +18,7 @@ The latest version of AVRDUDE is always available here:\ ## Documentation -Documentation for current and previous releases is [on Github Pages](https://avrdudes.github.io/avrdude/). +Documentation for current and previous releases is [on Github Pages](https://avrdudes.github.io/avrdude/). [avrdude.pdf](https://github.com/avrdudes/avrdude/avrdude.pdf) documents the current git main version. ## Getting AVRDUDE for Windows diff --git a/avrdude.pdf b/avrdude.pdf new file mode 100644 index 0000000000000000000000000000000000000000..ce70bc612d7856e9b8389469d74201f9115e9ef4 GIT binary patch literal 436012 zcmbT-V~jA(_9*(X?U`q6+qP}nwr$(CZQC}Vv2E+V`~FXE?#bTC**X2GQ>hP?u3x3s z>b06gURacdftCe|WPW*M9f|>;9^cN;5{jD}icZ?Z*38))pM{+b|9>thI#CO2XA?(! zI#Fu_XA@x)BRgXgC|+JDCuc_!0~;v!O&evIxI%t}o<}NAc+%N{20j#LL1_fy`}#v; z=BysdX4(iKK<>BOHocUyX;b(_wK_ewm8u)ZyF(+c$cGDku@jX@xh>T-(x#%f)7}@b zpyJ6|bS>B0)f3iRwJo;$1?7!ZS3``tBo_^5I@xa8rbm{xo{QhY5+2lJr9f`O_NG3u ztQ;%}a#s;IS1LJ0c4BO#=C3JM8-)}*!5&EpoCeCr_Rjpt)jzvT5e|8u>d78Xa%6Dg zHxx7vgqJsnK21?gQ8QawTN_iI+^V`5k@sa<)?Fu}E8XsgGD%ydXVO4S`eHBz=(cg$Kh(#S4D6lsMqilOIH-}$VV zb{yD!QzS#;GO|L5PWllM7p4(6*{gjJ6om@R;Ic@N<|%e3o2UNDm~{Ot<^%%(s4 zwX1Ir!`OXCorWivViD_l&%9(la)M+X*kGwCEh||8>rH7cl#T>w$@-53#)=8xIRoTI zu4Ct=QR(pj=iKQm&I*kMv23rQbWuE%l-|^?s7QFcA|;v(VLuAj!H-uW?NFbsX4-;2 zmjI34SiMa_V)mI}nM1vri^1*tG@gtz9lzHvrA`v4#M8%i{9nP^r~EGmwu;mQ>Hy#| zfnPA9uQr)&P0gV!DCyxvEbxLf)mU5?;z+xH$M~BidioICS%IKTY>oeys($Dp;q3p&bm^(Qas8J}&7+lp*y$>iyw;jp8B?+QIiG7- zFo_f$y4I_mni-p&x>mb`qKd|v>tT9bvdhLZ-E4Oq(^D&3ua#dBDKE;&Fc6nvdo#Z{ zR<4$v7-HtGLaweBGfj4C2=!~lzyzfIdUQ~7 zgvHWD13IVzIHN1-6oR6jl874`Q@@uOrs553N{JzNNN$5{pwBBcAn@pljQD?OmQ92A zTeCvk31RacU>+PHj)gCg`P6CnoaQTW%LJjJ!m4B;s5hbgpgiNJA?siKL$d(aIgl4M z&MUy6GX5R(F4;*!2%H3Y@y=Z7sj!^wxX5qBr$&5^XQWs{BdCM?Cg{R)qzvj;^YMJ| zi`i>+T}f{J&we~hdf2`u^buCANxYT2t5hdO8}eB77wT)sUw%e-c!NQ1N1<6*hf#vh z;hf?v!8TxY?6}(><3_8c_BCO;WL@YT35Cs1qS`7fji;iu-QP0&&Fb#HOCFw%e@Dvn zACNM#{P#$e25b-L5qeIky1|J(^Vi`J$_b0({f7;tR0>ygg}CR%_k?BH?_Qs$5h7K+ z#Gk%SVoqataKAp*GZqY0Dw#5{vkTFa*WH# zAlCgMlP84+by%SNKyss6% zxh9pX!YbHiDfs~E3y1*qvEuN8DW*Tm?{I0h13Rx&$)H|4L|U#ozHGSoN$xzxG81v} zSZ=x(_cnb%Bqn7c3nH%3itn%d>+@vY;QKa<+8{F~qb@-%y)IF%qeF!IXnM9tFjI{C z>=(>E6l^7^XA*_cqM0>=;PegBV*PUpU!JwYI>0%4k*rZmD#!MhhNWdl&4uCMm zrE^v1O_Cfahl4eTOxF=Wf@LA>&yCyXk$x1P{%k{zLg!NbF{#4TYC8=WxH=?t2QZeL z-{4}vq(MIzsR)*tXU5xBNn2gCObZewEp^qLAkwS=XUr`@&ayH$A4U9cf`P~Fv-u8gZcp|lkx*JfE(xA?~B97^S;(UK9Fcb z^ThC)$`sB5e=$B9cwL0NnD}ZGsFOqi7BTG7ZqCFK6o(wJ1$S5Ce0Hmgc&X~2pW35f zOx|x0@a=YoEqSt635x6nZxflwU1E)EQfCEGKB=vZ;BKxAF9cA=|M0m8_YylsP-P9a zSlOPQV;R*nLkdqZ`6rk&;z&!fut&_!4^fh!a)O zC&(U*vR_bHU7j3Sa;+t|a$eT5qmuAa-{F;qAN zxnF6S#}X3`r}Jd?<)Ju{HZ&FnA4UQz^!k19VkCZ>UE2-WqFJ<4;yi9?a!f(pw}0 z)eH9+lg{$NYN6MwdeWtaV$Kn+rsnHsG6R3jMyq;SSOXAw_L7Z5TKNdv=84JW&bODC zy7%kIO>`>2JD2g}TV!G&k5|J5YAg?%zq)LmFR?TF)W9;y z5HBwROW#y)O+gb)LxZvM-mO?DgK8RAJXl>}6sro2`v%sZNUO34m<^x3ebNkFRJ9Ut zIw!Y!VQhnPvk$+OQOts+*_-6nwcFwta5QPo3oc$wF#9+}*4A|RJL)DGyur*Z#Q!k) zJ{odY>~lL92X@HZrRt{r!QMWabIWeCFOI?2fyq)al=Hztln>LRLms~sEJhF{st5bA z2JUu)R`_t8R=CIH59~NAXYlIyMQ8s=rj2t~Y;A^Y5WCdm!X5+y!U8vpV=Ngz&@$)y zI_mWqGdvDu^cTv;rh~YiQSVY}<6~ijT)Y!=^UFH>50!=>nde!~pi@37aQq6rq46Fy z4Jf-ka|NJJHLEZDQaT;lLp+{x6=W^Z(Asbh-rP}*kIS#pYR_uKZ6_++qUy0EMLSW?P$6(EL+U_{{=K8n z{;*)_IpGk%z(HnpD%3z@N1{5YK^&lQ^C`ZkPy_mVr{agk3l#VqT8M+HXRQH2+|yOp zA3R(PQh5(@M&(Eq|rEB%AYOKSZ-fw%P-!K?Irg{j0aSmw6e+f zXnuNudUoi%r(b}IP}P=yKiw?s|9-j|nHV_!=Xn30Q?Bc58K*=R82|ff;X^* z9OR9fts_<^qg~ofTIDEL79$B<3EL$T`c%b|wcrw?T3F5|Mqi*J%FmUiN`*DaY zKI7thafVRlI#ISNw)Nhwod(4sEUe70P=z`G@qF7dpot-$4iUc)- z_G(cJyQ5PRe6>GMCtsA&MC71QtO?+es5porYi?Q3!3p=hwtB8JEGAD@gS+&?mVk-|LYFs3@y6dI$u7NjV_zT-2u9Ex9oH{M|0j(-wqXd6+vc)8-U6cX$@+=_XDRqwvx72P1`` zBT3pdiqIASl=ui@N|qr<%41nnX3r56G^e({8>`;hwoa`d8W0+Y&#NU$^mYl7hPdnb zQxHSZ702gpP|W5x%0N*_f%O(sD8d}X(p|iLv~T~lIjvIZ*=~u?+5Wo>*6^&;<(%WE zd*cS5M4@u{QR;Jf7_55O@m}hwXQza%Xi6(ye>%8t?>e)>f__1EG!D~sW`UB+=t^(S zHKnqskzVW4T8^2G3X@?n%r(_Nn_20uK(|TvA}wQzKFLC;={*N}w6*HacYHGz_OTw4 z=6y9&A^QQb)WVC#5)_A>B{E+36wZY=$2X@2@2Y2HeSzkCn6LFVvt?Rmc=hS_7`IWI z?q_$hp%Q4w)LQGC8@DS)AQqG*Ob)B#9uc~Z8Joo1?@R*=JTsIyryXbv$9p2l+ci+r zR(0&@yQ}JjmzhI>LnnA|##Z_4n!8=DXy{6*$SZdV4|5!Dgh_gsUSRXY3?;YX5hS1` zq|!PcWDzE4m!H!+(?KyD;VOfK2Gvs~F+%7!BlBI*lY;)O#i#QQX(B28VSRg^x8!N> zR+ne5FBv`vO;K=an229)n}jr(8IT=`Kb=ArCOF|hC7y|`TL87B^t%7Hcung!%n^9584H#PE(MJaqEPK~JLrbI>Ngg=%hOphL`#M~#Xnu2gdYP@Kv(7ec5u+B zL;mFrsFp|GUH|bU9nanN0nqY&!L&Skgx~}_xj#B|;KWK09PRh%;>yGI+7r6hm?*fvkBIry}Axuj44iveWtcV1otPn{2tc>%5#;qiisX_M$OKsa) zmzmQKWaqm*EVK`~K;lkFXVS<9irjLS37Tfs~?&q=I{vKCV>#=@1 zkCh{ZJ33NU`C9IudPpUn&L}RVLJVWFG4yA2k_!Up_|xG~ID9Mj)}jyiOK!WF{_m zWl4t*uzPQ3hK_cd)Y8_={ivy5Uk2Tmr%Mks*&o^+JzwkHuNoibMrcq(30_1tw%pov zXw5}Nkhch6B!m!jh_j9Y<4AyfTOoc8CIoo~VX8i67)`-7JhQZ$dC4|);;sl7i}wR~ z&aeK5RXMKYJlgJIxhs=Uy!6`RvU1Ef1q{TKyh@krd;y`4@Av8%47`&|NX)rgYcq%A z*DH$BWh;;QT%q9^YLo=p?qG52G)Z0%&Ob1Nh2V8dxAU-ess(lnX5u9loTTv z6eW_;8x*pVB!l>9#bmysKxV&4xQtP|eZGJDIOoBuf-4qWRN-;-5V|{|w7~IGKrN6& z5-KsF1PIfJkO&yMUZFB|s8JCI$I?ULZ`fY7*6#Xd0(u-k8I%8|y0lXv?I z&lNBu^KXMiHk#%aT7Gb-NQdmM_UdgqJ|bosVTeRmu5J3w1RR{8LrJ3R0+F!N07Lzw zN^$uq3PB+h1~EVoUbSH8&~qj!*W|{(jK1Vlt!-ZypN>QD@30```Jhzru&v5OnIFH7 zl(+)ZKkp}kKowze-+*^PWy%10Ux_}x^v6vZ#N|uc?jslOTg*Cx&eh98)4R+pn&kL~ zwG5L(=p5CV(d&^s*71#7Q&>wsblpb2Rzf2_>9tM0Wtb>HrYr;OjX5|pV6S51CKqsN z-;6rO(4`aOFzslCmHo634&6LKFY2`e>NebUff((=jr$*GH_LfAH50-OS+o{nD{#ojLuBEW;i} zEV^82&_gsVtvf-Uu)7TlYmrCoOhe{FD5WZ zbrkI#s#ne^H0kEN3d)l`MGUzqj&_B2T2;G8#X)L0;n#0fO4>lb3;{wAZKuD$m1GJx zp$5`7UJ4^}#J`7E?EfLWVrBU6)8_3|8M`HV?9tnA6b{ZXcVEB#Q3MhEVAAkrV0&^K z@`T1>Nv?*tIApept&v(48OlsYb8EhPqu)F|#Y2z`XfiC4M8)z9$y9iz<=58B;T`X9 z`XMhJ)8LGv?in*Sr&;9ad{Hd2_uF72IF^+|?{~^~xJkzE48P2txv>m(f`rtZhiI}= z7)nc0W}k4$%Xc&+r+wxj2m*V()hbdFsITo(%o3Dts|!4cre~wB^%R+H7e;zIC78-V z)?RAdNSn5std9Iz90o0A?abq6QM>4n_!lwkmIE$2&zs`nXv_5)`*Okd>L5<1BjggE zoaWtz!MSdZ$mip;>{EoYc_2y`6tWKP**Tfa4DeJ}Z%Wm{f_D04DJS@0_A6dSQ8C=` z`|{!?2GI{!hEN`cRa0dWK?U*(_F-`!f}IlKz|!rF)YtE!XnxT<)WXidAhm-bQ@v|- zYq$plR@-1)>jQ5u>%iQ@Ejq-bNUrrazLVX^R&C`Mp1w;k7~!QedytgkI!qiq^iRi8 zM~C>Zc6+7=d&JW%C&VZ0jy)ts&tXtVUwO3a!pca?E69Zc{KPsWI6Tx(!%@Y5W|!L| zKgjiVisYJIHKdI zQP1lI(+;Uj?To~(cY&9dQ>7MKR?f`5Q4eJ<>Cm9KV9m21+A1n1a5RidjPY;+I0grl z6a^lUz^xzS{TKhgyXE-*Wd+I}_9pmra)y>l&NfhVviJ=2^#95W9G#r;*%>+hzd{WI z2OHCWn>Dm(=-B<~K=oOx+dF&-IXE68(Ex!acK8c6V;i)t+br{#pF$cdFJ%-x8gX1+fyLiwacIiPo$nM5Iaxv1q-dN1N*9r0N+3aHClN~FJsU+NWl~cyqlxe< zJw0WFbkY}y!;zHS3e_WgGtjsp7UwDeyd8pgiof6Y4`9L_Hz4652d+j^GSj-{%&@@( zSJjrY+ScrPGxz zJ@wO7v;6RN)sQKzyL8d2*@`hVUJ09c5^AZi%k*dwh;)JXtw5XFsQRe-FjscK5^wru z9(V!!+$)j2I?dxcQp&GDr(1qPK}4Q{DwXGUQG$@!WqbarwpbjSCg}>fb1(Tf4+!$CD}{KW!IVqme7EyD(K?0W#r5?c|7+FlI)|9Qb^PH6aJkHJxZ&IJt}}PJ;`}1k)UKhN zb#2`F*V?vnMlUkrMY^L2uk_C5?36_9jl&i8yjKU9Z=v?UGSP?-bxJ=5#?Z;i#GcU| zQy87fQeB`S&=7P4G7=euj9gYeJD**^A@Bg?{~e$s*Ol+icNe%1JOCYmjzmZK*Fa!C zhydhEfPN=3YM9}aR~3(AD#HO@tiJP|j>VES(2?uHQ`<+k>JsuZ@^)-OnY?E~z3!jo zU_~Q&V;AWl>z@wmLj7^Ljlo?M=IR`rQkXFX`r-1Vb8^Hpg)ZTu`HpIt(WulOQ({Xo z^qyAR^x0CP`xH)PEdRl=;u?C+jf_wE;aEqZ&sbIXr#NHn9_ zq3nBh&W|gWPVR+;_}GQGDfA>-9gCgL=FTJP9%T zF>=a64EDLhMTJ#fv;8K_8|>Ob@8agyl6VhDOu6b9zJ9mjW;YIVF`m2zP7^*_y~a-G z+z@y?TnGiOarBvlHw+?)?)Gta5A3}nqWh41WGN_4S1bn3X|uSbz*)|2tVLST9Ow^z zm8ctW%FJq^#AJJv{aJd-JQ39G&~m0TMss#yBD@H?g2;y8=ozpZ?2Nek7a~Z^C{m&$ zV1mcLmDl&GbZp4^^dmlqh{+3#e{4M3&Bus(u4oFGpRqUt*@oJk--ZXvRK&z2wuXxq z6+%UVh=W-K4wL+}dzBsakOCRcv%lKC%L|T(2_R@h9f!Qn#aXiCg`Dtc$!Rl_{-nYC z2s1&T@F@tbue#PVU?xl zI>{ux)LJYe*I5K=yMuJxK{)Ow9AObnXePFx3aBl~cmrJG84C*&L>{$Qx&!Z`zt9aZ~??cGe3l4nB8VIDu$t^ACO zyOu%R%mY@Vn7}!&1k@$!fV!kB%bo@I3{1XBiF`^{yssg~ru?%@h3Y2v?7GeRd|pM^xONl+2ye;{KfBU&7Db$Zt|{EK*xgZ^HX=NN`(%1NY&)))TJOk>N0Hg zwcfZOJX<--qp3T_N#6z@7_HOVv`S^gI`VGny*u#iqw(whgi5)+_QWLClU+;2W(DFa z&hAsdbopAOr5(7z1Lk?Jm*<8}&#daQYPJ&?%&+UGD0j{l^YQ+`OZrr$Nwd~WP2?`k zbAhYb(sUQ-+8{xU;H7L68|<$HH&mV48(??NFn@3zA03_D(VNJVbB7RTeQVhLLmNC9 zI+-1@H{YCX?Iy0i`F_Co#c}H8F^wIr?v4;=Rc6WAw*9(qZb^$pxAKhsp za~@Z&4jQ+tGoRw7%1Xx1)fb+%G#<$-?#(qPM-TZ_-9=|lr5W^o_xh8{(bM+UtH~E^ zOA%XScV=GWEx)u*H=oCrhgI3jwK|sicdX5B56AhUQ>*A{mmoQehKrv0gWq4r{Qp!E zXZ;VsEfW(X!+#qE#As-_9k#>z=IJFYrBR*^$Ch`s$u%);Y+t!%WlNOOZS#_|+Efuq z)zVHJ?V{rWNH!K_T;B&tAb@ zqYbyG+yA`1-F%d>_tO739@kBe9KH~;PB6wE2<#l59O&hCe7zpl-P+=U3pgNr3%ch^?Xp+EJVujweL$scK(Y%0Z53+;|S zy{3&~+~(!+`u?~(b%YDk|%7s0@yt3$Jj&`cML|F#nV7VTD^ z6)0@ql@j1d#k3RD!?pfUS3?BTHT-2515BLDf`hA`)k$r$L`#RRk?q-*b64{ySsJ%R zbdkR%XR>os5+NhghR@aB(eVp%@7AZc;6hSxg%gw3V?&*pu=XOhsT%L;va}I1pG$wK zqVB=Ltht5aK><@aA0USsBz$Ix)->v|OrlC`5+ysD5qVACWDTBUv%A@Gh_3TJP4!%! zzl0vIx}&tPUtLJg!9;y`YN90ttwjaBMX7UQ8#!9bMS!ZZ#bP-m%|5RA=Tdm#pt%fv zgG}Kqaux#*~Td6gA_>`FMPo8XnlOi!>t>=9v^syl3?0!BlCpHHCKz z2hwAJ;xmwAlh)B9JOzxw zV|gFHRA{-e+!;y_{hN(-jlmz}M=!I`$tg@|w0~f5Xv4GoH4N`_b&&_RR{eLRK45}n zX=3;&>B;x^7)JO5J`JWZUL;)3G(*X$BG<1Gchkrh`t1%-3sd-gEhl(W! zD?v1Z7n~Wf-1~TSO$($yG~Vp^{*EKiC%{80H>T#WGrdxRvoxJ>l7|C_tHOPI(}57U zYJek7c3-|3M^qiEPy1Fa5icWaDL{tA0R#`M12#}H^Wj!?Dh+TPakEh!`k5`iQ6)sx zpsjRX_2togoHN@h-Hzd25Ycv55-P;QRG_er8=}i`oPv%M>~Xy(oHS2Ty;Cw=KxMf3 z`B9;eizuWvqEronA*bE|fNpuufCHMBn1evtH8c>!HC>1E3-mW&`&mh{WFXc11ui?@ z;9oC*CZ97SS`-7yGNetQypT%+GIojlF-g>}@kWIcaK%tH>4@=mxuMiY&S)aA{OcG0 zdtcpt+NjH!?2hUIk2R6`m!V!kA!r_MzUz{tuvM@{FRC@EwBIxo`(1kU(L`EJyp1Pg z9Kx+|cf%!{B*qY0AhU9eY#-A%U{C-nhCrOjW&ZDl^z5Pnp!wU9uE0cL^zHQkWFjGe zjnv_tVDp%;Jb`Z6j5Kh9un`zeEDmx6aF~JsMDQR9`IJwQ z`Yi~`$@*lH{3RY$?Ky@HRa4YDdg#UQ=v|n47_Nl8>?0soB4*;hZ+;8Gk+mVRWybNb z=fjo)cfvU0T8r`qVih6$9cH&lo`_ng?YKjN2QO0(MCc%-jC_VSpJA`Nv^hx_(iG`} z=dottxv8!waLu`r#ZaKf5e*BHr(f*-?7ax{PlY^$D3~$y4o6_a9fnz4J4|nItOJ+GGlPDgcS+i=_H1q{NJbqv6 zT&C`^AUa1e`cb-=q?d86-vaP^lsBjc1N|wF3e5@JFdcH|2W7G&JeCpG)@ve2u+&^K zx}eJQro-`=mU>f3{Pm~Qh>I|6wc>E)2_g0;&8$m+tKOB;PnrgcuFwWp%-F_m=)T^vWGH&a^NwZpp^<)4P-ye$E-;C>AhL_`3rPs!zl zC8lLawXeNJNZPMpLxlENQYGo9VQxv+^(SR^)56qR^I6)YqVQThm8ZUF`|PB1FgPdf z6E2$?DWg0;@$9F!;HKkYl26v@Rr*nUJXGvVzQ&>W_N1H?q(v+tC4^AauDq@#=9`_0 zMOnW#NdzEZ*{r1~=H#Cv(cvcRA9|eTxibsu*QW%vmW}~p-*Q@jQrC~qGX(xApKpL? zaHuPCtmK}p1<2$+^H-%hNf=?i?6s(l(#OEYZSLGz0Zxzko19V!uZjV>^CV1Y$I+G| z=5g;Ff)QklFsa;AqwlE|APVwfHodpnuohZPLsv|*!oo6k!jEKTT7N^MOf*fd4ed;5 zuU}88=qOh~aF6~^4f)nNr7XAca(0UxGCX{7DN5bL;%O=jKXUIXn5ggQ zaKb2i_tT@58)R9pILqxcZzfQs8%D;}pwam}tcvg5`J^2k+4bEpO`6Xy2l_bXy6a~B z$KL0=gp^MmZKbu>m-2Gkgtw1(gJglNWHWq@t*O3KM}bKKDu-sq_v8 zd(a-B2_deM_LIXyItXG`6=iD#9*s(fLc%^X)4TQvy1*E7;Q|C*U<4dJ^8AAs4s3#j z{)89u{_0tiw+aCqctBFmLSQc(Y*J~Ll8fww3cM8`5Dg;ufF5)AsxQZpUpCt!anv^I zCf={8speDiyxJ@K0k`6l!Y;0MS`ZU*(^;y zkrcR{58lOwin&$#@Gcc129<^LJQ2_72>^b3L9>IC%;&;y*{8iMs5j*W;;s{{Y?wJi zhzsH~lV{-W(06i`J}G5gQR%P!+j1Sr;*KiWE@2mG-DV9iDmbfDGdH2FY9rwp$UFwdCVRRSFQkBc|D6)B1 z*Wlje7+dcF4TJ;3pm(3A(>Fn6t@oUcr_`@y3yxjOruO$%$A(!LubmmRQS@P74$UCF zAhLMkEAoRfK&(}niiywSDhs$Qf!HjEm-Ty`A%s~!Lll}y@Nx?Pqk+hmuvo4Q%&8?oUE zkp!-vhi^Mq>-)(SVed|Ggy0krCek^DL#|fh`$_vmgZn0NkOo6MK?xELm$(31q0_kd zK|=zF?hzJU$>Fj39c(v~5o5rg+<9e@Yv>o=)jtaqIptrYvKkPx_hxS7036LTwKJ8J zcBe4vod2|Wy%W+$WWC*Y0I-T=)p@aY>t}?szfo<0Pc3hfPZfa|1C#5aQwOw&2Q#B* z_Is2qzsoVsa8faFVNW?aaQkP{>N@jO#ie!nI8n1ZqQR z8)cV>9o*xH&kzZfP4JA~y*JLezGJtYzq;=3|1hs|88%v6cu#7NypdlCe3N3^LfNZ@ zPb`*i=;EhdJe3S?Ro_fXGY?E5l|smlE+y^Jg}-V{5uAfh@mW2G+iWRg*fd7ko7S@?FIr3_OvHg4 z3ODgjHr5REQ2~Y@H-CTv ze*S12eQy}bvZWx-@9)p1Rh^8j0)+dq^98 z68|;`b3_>RVMt?+*&OREHZ5TT&*YiHD6Y$+hhW){;=*7+5na+2Xe2rXZnOasi{i4n zg2aSUhO1d7u%71#PcWc8e)ADO#^fI& znEPD;_ck8&?f|mb**esY9>wforPo$1VN!^}6@P}&8aT`+u!CnwcTL9{Z|RHZ=?9=v zx*2e)m)Eks-ZLc;KHO_xRZF{s7OE@!pGZgW%506nJS)zQ=!wO!DuQSb_M}nTCG1VP zmG{3ky%a>i0v_8xusw2z*XQ4xGfT3WCwTZ6gBzb_wz0#@=eJ7i5?D^)sCwJFeK}v0 zx8#qJd;E2QpoyMe_@TN&KqB48lnN>(qv~;L_afT{-4{VB--xZ#`a4j50 z^TYn218b+Io;5Pi{yA(6rOTQ$fxOK%;yYB?y$xylv?>~Jjpt{_ESeVhJU#ScG#F8h zu>O<*wEhReTCk8JCta=?;@Zd4arJJ)%A;%q?2*Ip=WDr%UO(`FY>72^zh-bMyO`s6 zr~JNn)B@|+Hm>-l-FT`~w0yptdV>b3tu>NWsL8$aRc`5(ivhzJS~`UmX0c;_U?fb3 zA|{WEvWW%Jqu4Eq!(K`|OCJ zx9kU#1rhS>XLJL4zykizX<-@w0%p$Z6ddzThZ4HGUOjfI)YzdM-$Wq2sZDSBbKT4;S!UPNK-_4ISHC9>_iILj-!m&h8Mw#vqaWs zUYW9ja-ULQIS)`LFA=0d`&Woo(Bj4WtWx|YO^23AVT!>^zAtDWoxu5#J6v_5CQH|# zqIoS{-Fa~HS1-gt#H^NL1#FU@=~Pi4rYfxFOYSA*?7S(8`f4A>1EOZBSEtbfIwa(4 zgB&%^A}YxlH~4NS&K}+ZP;l=wV%F3BCBaoL@Zjn0$(3*>wsYvv47^`inqDRFWgS&jkSuKIG`WIQaI2qePh%^P$$*GzyUJ>^cwlnD@OEj@7Ce-E+e` zXRGQ3AI3RxBhvJ-sx~ZVi15$}rD^M)XVirU1?2A|7~f{oh#`0!?3IX*4XZ+?Y2|E)-y$Z`2+E_=>KiQVG1L5XY5Pnl zFYO3W3KfD12k!&P!J=|_WnCa;Z(~Wl9LS?qpIFWD#7l~V?B4m;{V;&-!{UaFU=6{+ z4^B+-7HyPr!^%A3X1$shx}ys$ta_;aAR zm8c{_d179gWlpa1+T3Wx`R+=QczCv^5T5$7T^2eOO_)>{zS7WM>I9v0Ltl<}_s*jU zgiZ?~`k7yNH8H0id%C5>y(xxoF#FB|Xs=_e{pXU)7`sb?ch7H=5SkIrX-P;*ar5V& zhbo{OLTt;?Y8w@&*4B$o_|hI+-YAZbf{)O~Z<#I1jN6 zE(V9xl;abo$Gh}5vo8Muu8)=&TN3r zG9uPDz!gX;x!=lLROYAacDs)np_jG@RE&xmR?pEcErj|LJKd<?9DUHYJsp~owZqaqM z`lZRYmuuEY_u&vyuA{g8;6AL?Xwt4l!wP$b$mja?uFn??}L z8*$V(z5cJBK2P!(S!@8ovx+wTn0Q?2l_Xv3obrshTOn%)+mRP1G zlJyDhn#Vxv!_^7<6HJ?5*w*LJh07Q4V}Spq>{?3`ix;-Z4m53=#|alI3dwzbzMP2? zAqnTaeDaB`(70|>WV~G=;eN3YQC{sw>IU3QNE^RFhYcHJh%5y7iBNAv{f5&J^Ul#9 zF|(?;g^P{m4!4DK7EdGWGV23=FOvg)st_?XRAfsBGoqw<-tpiRx4~qgxbO+0;^!qg zRpciyo&gkA#HI!JX0k6aNq@vQ$eu=8s&>Tfd+BB*Bz?M!B`6%4c%cw)N+=OZ zh@Ox8$d?YzeO^tJpG8=GBa__85{)Ov=c$KRd}S$I;I?X5E|WQwNP+eGKQ?2~_MaWj zQy15*o(ZMXKB7FCl@D>~6_djE?EH~=93Z+ukwB3a%lOwuL575^q@HSpZrJNvWG~q} z4Lo&j*yjqT<@Tr{#r8W+oqPDx`5HHc$BB;lJPld*1EOij;2Z9cSBV>-*h3zFb7n(? z=}Efzv5nB78rkR&#!At{QF;k9{p}#K@>}4teGB?+YK6mVZmc{02JjjiDPK>Mz>?w! zsy5MAoVs>3t&8i6K@12lel1!2joX6nZ2Nm41pM2W=pSy#2c>29)5SFNF!JuEUQehm zeH2)n6Pv`EJrGCG22Oo)ke#t;p16UGr#0xLr@8L^PCg|=?@#$f9)n}nW%3m8xpwR+ zgmr>|Y!;Abdaf*C=!CJm|7DK`fsHY`6nzC#kvZE%F@xL@fsg_IyH37X@-3jf zRpc=uYQ3wyi=&4isNE#cX3Yv$IosGiuz|5XAt8d&9>kV&(s&S8oB;yFx6>_Jro4)r zO$`4ddF)p)x#{7sqL8Gq zTx#&>C%|)w|filI&XyBLeM7vR2QUp>$ z>tCiES3w#M3eJL)y41KuK*RDG%hCO#1~;otMKug3u&~3VNlY)?1FBKgHmml6_cFiY zaCywFNdQrhT%iOS>~6>i0(N8;I9;-4LV{anPJ4w?o)k~@)+d`gb6D+M)SuEpt|jRikTW|g~n@Klk@;hYT9U6^jcl9Cp!0Mg#>~A z!R!a;Xn0HfqijKaezuzih3Eplmm@=eOxjX6=Aq)bJrSiLlaFkMPwEq#xf$+28m>tI zL(?3H=YE)}R*PsV;Ju&GK$E%j!q(MgEvdMcK%izl?Vm=q*u5!Kv8&yy;a znaLO+;l-8)YEJw_Eu(auT%-C6d^~6NEWz~&GIkQ#Z(&#mF<17`ufVQ;Xul{M{*t#m z*UQtwwZR%DbUDga3E2>BQU9xUM%6Tx-&QN%b2z=bJI)gMRJ3HReCUnVf-~4+3rpGe zQhWa;2!w1R!USx@2&OD?emRn_vL`|6HCWI!WnH0j_McMq6bMKWlbyo@n^zQO0ScZ1 zvRO3k*ge!2%o;;0@qu|?AcJ2h4Kf&rI(*1GHY*jh%`sZW$N4{l=&_4dhI@%U7@Y~j zjb`v~#f;(YsQ665Sc}Ww*hoXoH+MW?71yIzg*$ue{o$7Irg1w)o&RGHy_f zZP!%q%4na6#gDg1a}Ir}c2IZlXe93tvR&!Jn#fC$P8u%OT3*yex<;7z2K>7&OW<&+ zg^2)#NFJ;W4PlfIS-PdYy&}c4q|zvz;oWm{iiyzcI{rQX4`uHdV_Vy$jh1cOwr$(C zZQHKeW!v^HdzWq7wq4(T`}8?qC;jB~+sVrOv(}n3GZ`7U$AzZG0p4CVyd35T7~Af2 z*`ree0QonO0c0B9`nNy3Z_N^TI8YjW!`qs7n9&)-E;vkTv4Z1n1=RT=4Q06FV&@?A zu`6}}rU4gSquG`AW!^n*xqe-q2$$^ehms+%?wT1Rj-bf0jEO-`sfpDw!p(R{M*t9> z6}~~99(&P_*o4;l-;_Qm%)qtev)!N{>jOh+(b8TDlZOex+#9TMvLBn1e5TC$q*fk} zayJM-D+sN-jB=#u3XyKrh>a-Bj)$;=ut5Ucm;^8C6_Y{S2bw?Mt;hJzjYsYH!tZ}| zC13&__j!@y@d`<8WECL%06`HP&b+s}86b5d4Bc|yEE8l?241p6nP0HY_ZG(kqH6*D zWCvy(4hzgLENr0r1@V|4sahwQZJ19=dG2SMpK`$&;IhCTH+(%Sg;n6|0d{yTcXfFu z)0sJgq+YjifqtcAJ}H_Vp|jWP=;`h3CeP$~-3v-jQ%Gf@_oU zVA#43hzqN~^xw}_IqlOdT4H}&CFGwsB*-bUbx(gFhlSqm+7=s$*Kuc-9i>&(YPd{g z7`_TH;7*pb#6jOXL=6B?ojMWjiUC+g2zrJqK_@%T_NU?qPytz3aHT7(;W3F=)~~95o)?y8=J;)Q$-?tp%HJQw%$lAR|;U zBqW}hZm%?k-S*>C3VG0*T}tHny(@d18S4lX)DueJ#3+)%DS%3|TUQGps&G4hKmc!& z`D^7vxyEx}vd1Qlj*c85`n5i}UE>_gNOct*=fSV&w>A8v3hK(RMp-SroqDj$-`Q`u z9rOAz56qBCZ@AGzQ_aphKIgU9lZE8z&#KJ+X7jFY`f1Xo!z4Y}gk$N>s=9SX`E|5_ zzT$Nky2jdpBz%=-s%klb-(^(hGO;(^&K(=_IS^jRs?M}qHh_>qw6KS@6_qF|)=ZZ% zaqA2QQce-T!WUvF@rh#`%F|wP1okO3Gjy-`y7do(566FnkN>BR z4>Kdjf6^ZQjloAt+kRsd&hMrUVtQgcT4L_25guG3tA%_^I+$#Yu3i_1VtFukIThwt zGK>649sc%kDvIZC3WOO4il}Tt{=_0Ma=uS!IjA3!Xrj7^hoqzD6!}Fr*ZyGn8-39J z6QCmQT_4|v^Gn^tY>*!HS5XHiXMPk{<($v6F3q$~xn^kgC?fJ#%e`U8eVyfK2KSB@ z&9+Lb``yn0#_ za6+`wURQ(d-j|DBuG|?x^C-ah5WzDZE|%y|>gIOkE$|m=>2`b;aN~@>3vBs^{l7Ne zP-B(KY(y^?4dcV$f_w4pZcj%sck-Cdj?b0E(pJ=?dEDg8aRi<(&i9c>&>1gK&=QFc_fJ@?I-;#yj>zIRhF|Jx`w`@~{F~SoUvrJl7!045ur5 zlaeZqV}GCrE4CbXMEOouJ%7D_UL;3uVWHmq%Aq{2kiKPzhh&J4H6Wnv;*j4}eT>>_ zJ+A$>@2zTLh+`lg>tcYWrSFWv1`A9BpIf!8RjrzU)y4}YeBZ64ZPgZnPQSRaD{6`I z?KW8??%3PuoJa8Jo2C1zObbeq_OYsQ=f_ZF!l%LnEkH+E+b%4-YTRj#CIMIt;;+&i zFruf1`ha-9MDad=sh$`}DyHaSh}7%TpSXfs#S9kD;zyOT*LUBV{&aC0?!-PKvOI;L z-m3ZFwqLWEX=$UDUWIWlOS5~M?a*DYnaoJvsxA!^aok0%=Y@oN9zcg_*t`z#CCiWr zUAGM>hhOMF~Mr+Pv88~S(x*sTr;Sq}A5fmQ9&b^QCBoMj4 z881DmSkMZWWA_Q}CBp3_hDKd^Xn^GD6K6XCMen+|xb4Ud{E``u9kt_yBV?JNe|#L) zcqecWN9am`eB0d&HUoEyKJY;w`4VUbAv+$kYsO+>%*uI2ML2!PxSV^FlLZt8j-g2~}-HYFz$sFbePtg%fiT;?pbdHzp^THbbLI6#CM3nzW3Q zQUR()13L<+BwjWjgL0};;YWJb{|D24hFV70?3 zdIKo-7F{*8;WxEq=VlVC_tQSVPsXvlLIg8(8fCgwJbh_1ga2Ika)W!e2zB@NEu&?`@xd0H}Q^ zI|8gVmy1R`oq8bh`M$rB3`@lWQ1mF?#K*}n3e-)(>$ucz{L?95LIGBgZ$FyD7fADN z(gQ%byS}6G2d`44ojhWqlyt6_OBfRGIpW7-$Zs?I3ZBan!LbskH+nT#^gHB1gTtAaLzgH>PAY z>!h5?_@h9{NgUZs4lPCWE! zmG-zpopV&{LM{UkI_M~|Lc@}5>l4OI+aS6yaJK!1K&swUSo#|6L>%aZ107(f6U=+x z+-tC8Rl1;O-G5Z-&|CjTN5V)AaBc zy{6KI-5N*@KNLOW4JT+wkf&Anc=%ZWVAg2NA1Rb+~1B|ms%09qBwUSFDl zgiQ~rrCFYl79ny*%sciwYe zi*n)aYOhi?jsxng1BHV0$7k7f2+z#JH_nWwq&o&^4i~K2n{N?!^_D4YZQSlYARC%N zwF60sSY}qzh~vCuvO+6|Gx$u>%l^k>0%B&!NsN;>>Tsg}mhNx9qm+bv`Rx3$x(gnuL|G3t4h_>J9krsop9&E2LY|+ghZauGL$p z6_^6yu5IowlG}}`2bJ7qx$4H|){YzBWAb98n_!2@E%*ARZqqL$5EQKV#p#0qB_Cr? zf*D0KnHY$V>Y>j3(oh5>Kol=mfFMXoIk?B&bw4sXbRdq?&T$m#NU%rTEUKvkX2Kw2 z78&{wjq!#HdKmg(-Tvt@B~9w3F?0|JUC=YDs2s{zLg`ajmNBKB#n`|r%lv)UPQ;=O}wRShZ zyghPkBRHrKIeF9U)8BURrc;E8R)8Lg_^1*8)rek)61ss~Kf{u#Trh$)g@k2y+VTrG zo42!q)`|Y^Z!ej1dSe7=DoY#nAT=uqzH-cbVY4wTm> z5#J%sHjc7C*33h4iYh;i5=g(TU$I{aU=sHN#&J^RD}`a}DIxm_OWm>?3w(c9`sLQu zP2yV6Kq|nv7&qMFDkcrcdfLob`U-B_xn`kI)(0XtUs!dOT(hgY=4K{yUhUDhmr`5v zxuNBMGB;|F*pS)V*>I$Ii2iX;0rhDJGmiyI7mjNp)FIZ02wDZs>M-2qFoGVuNaPyjvv&6ZG7jqS^8;HxM&U zrLkA@=-lD0oHc$M!?QR8Kan&(I#bdZq3%l^ra_7AX`*k}zlvtVAW~FMEFEn;yH#VhtbqmcXRaPGWb01pb&d`ccZm{YTUbbb2a}UH9pIW5<^9Ylo@fVTBhS2k& zeu`FU+%TAALXSHl$$iBlORl&syZ|gBh(wN3u{RL=anTtKN;z((J(tTEFl5y5VW`id zEpj`7X4w=G3Za}q(|90zSpMWEm;}$i%`npnG`tk?@brGXfuF2ZPa#v3OuO6}YQ&|Y z1be@{F_agm_1*mac6{Z9P|VSLFLvnTXxfiX1IMY1R0mSxLL^K^vNfDWUE=AWkDEq~ zhBK82dgRuQ)Bxo-CN2H@rHrj^91NA%lLUM{D37?R4}vOPMcPp2d;8I zby?S#H_p;xQ&m)v))R?`Z6|>!h!&|{fZN9di7X!qgQAP-xM15&JHDh?fYiS<0)20j5kqlW|BWwU{AtKmy_B%b-26`$!5#owKom zcWI*z0uzVX1F^oRrYcBdSfTg+ggw9rX*F1IIlSxq9N{unrJhe?pJO0B?L!*258)-7 z$YfmjbP@2@I!pC~>1V@^_gRYH83->_$$JN+-a9~CMkbWwVe}XNJ`&HEFlq_!&U*md zAnAkEd{?vR-st9^K0vTX?Es+tU0PcnJQ?Xt5A-QMaVjtOA4o8<5Iv53?e%KW*}H0I z@h)&fXQFc}{j7tza!glg*m0%IoZx?%?l`&w@9#%Antkh)T#Yj zj_{K&%Bz8i=BF{}?m)0O>#fP)`0$=#eE#`YBV7~{!OA(xDsy4MlXG*%I8Z$MhKc9W z827Y#B&q^;G=Kno%I58q5psCp*rZ*izzh>4P<~XA$2q^8XdL*DuMEe1;3Q?GwzXTm z(t!dR6o7^v^8X-RIw}Ucdul7L6jnsAwfvoEqxeKXJY*Yniw(Se_Ris@O8_@EXCJ(} z#&ps-oh`klSzg1pc>-ZTqsjLfNPnTM!EtMtsw$>j@45UCcm#X*(O*AzlWJn3{;JWR zHwJK4#=R0ve%|i1tSq!SC*l zWb^XKEhaV->2KiX-peHSHxMT-LE~t=*bOCX@(pCc$ALD-v&>d2k6sMc5*VN8A}yhV zb0x>3?6vgq(y^0u&et@PT3_R^prtLx%7L%UFED7)?C~awB3vePqGK+0zDtp4`|aJo zLb|wfdU;+Zsjgmdyx%Bh>?^H#yAWH9jnyUGKRE;#qx)7uVo%eJhXE7WR*fIeo}alr zFLy19Q$v}h=eYo9w#cV=PJyDsJAptaC@g>6XvK19P^ffYf_pLXj%<5XnR)7hnmCK0 zAlb;V>XMtAa%DJKVsb~M`; zW12DTlmJ;TjpDY$<B?wwmhu~YsdqiAKIK*6P ze!IQ9FI-JgKU7}@mfuwc8Uag1S(kQ@65cc5%v+es5}53OV-iaS5%R#;gxMWe-W z8Lx799%ZY(pyC3WG(>i(nVjZ@miFs6(+)?wav3nKL3Lnk8dDlZ*r-PxlDf~_a#)*C)_?=4M>2LfZ zd87}ViFN8+#yst6PFPzzUtY((LT$UhO`!c~i84}ulfYm8)IFZvjn<}pZQ$Rm(#(04 zI`B&K=~unFao18BBL_G|HlV9#Uz)UOudYHxaibt z4j;Eu`dXu+HxOUFx~@3{n(e@sKX$b)Vd`Y;Se+XlJlH%E&3Q5P!36l@4bbcH&VTC% zAZ@(2`oC9SW(J1;UVT~r7iyz9>5TRp3@9P)KTyBs2~y&GZW7MTuw4TS1(d`yqTpnV z$}kVxqCS3%MI){bmbg~)t?Y|Gm_AovUJb1eW_RE3E2YVD}1*js=XGMln7$x?mi|+dH zVaA)}OFg4Gor=>ae_-O^T<)gslDwi@{n-(K4mB?@kjHboHITOn6^I*)e;}jHIP5Ih z+8jyZ3AF_t#5*#-xS0bp!KUB{bO}0zna89Id!hJ3g5I&^j@GJHw}x&PnKg`6S+phY z=(|uA6nVqZKK&_&vXLU}Ds3$W+vq0uRkBeIe#9y;uBrlA45}#;vX0Cdipm}uUyW4) zb4v~~j};Q1PQWwt@y8^>3*v+r1UrCM>JC_fR_V@Pg4W~pmd^^l8vSq`EGUr6(L!UC^EWr=IKUEWW5; zj0Jw!L(3fwzAG(HdsZE9ch9pj>Uo_X8=V6)6wAY3-Utn$s zd>)u|%pS20oUzdcfw|%xp5qX{zpY7#s=vPuVl$KDci8K0G0;*7s?^d4$O*GNW@ElZ zi914FIyo?|ltg!n{4RNRQk2cj2QWcctI#aclN-Q#-<|2{g+*V7D*+e$H!mP5=vqJ}^x&>*{#vfE(D zJ-IjVGZVY7bwm*w4N*1%H00sWU0-cR(!Dc=+~2?A4y6%btllXOywp>B44twLC9w}L z)b47k-?mYEh?Zp-!afLg?Wa52JMelNkeoi0iKON* zl*O?Jb=ec`-B;p_+R}aTD|~gEX{%$Ybe)Wluv5!s}%fc zRMtwL`@yxTjlpYj=4RYh9v||oe6~1#i}t4cnlOlJ$>Jv~s)KvNUtRJOERm_%#Iq|Q zzkIp>$zKY@Mc_hc46(tyr-ft^@*tT<4vvHDG{2-|D3MRbwfQr+(+^kn<`RcTnD+zV zNsXzAG^fxkdI_>;Y!G!t=o3}^0(qc`)hfLVZw=cyIc<)Weu%M+_y#vTFDWLE!f*DO zdtWx_QJEWAwyyY094u}i9g-1A!JJ@5);KAWnGwN+T;WBQYbBl$I6o%lUxwjb7;!r^ zfph%_eZ@S}$gS|U3-hM?53LOV9L}t((ffXA1AVP@35w$}=9ShSmH)(g`6Z_D zZ=Dn_6#sD4PIDBg7mH+Md_mFr)H zEJ~^sN{8Bsz)}_yf$)fQUoVX5K^r)$?t_36nV#mK9vSW+oIC!b&D*329ZSRA)#TqU z?mrW-=AR?gKf0&ln$$h#j;k&Z~%{W7kN! zoIVNU#*(1}Ea>|N9a$3m z90upfm3^TD9yw?LPzMfyTIiy+eZtJb*ZYi$Bg39h2!T_+Ta+UdK#eI70>+O5L=s4t z1c)GzFbNQWAYl_Qf<(f`V+0L?NyG>s0h0t0{51?9#f!%RlcLnmaWFQ297h0psTR7e3)5A_>cXdw4fw%%L7rS2-3{(~T_e%8ldT^5M^m%ZC>juW9 z{ZHY;{@>dr7S4ZPWiBUO{%;0C7`k~w@os`=%iVhN+SLATl29cjIm}jo2Pq`x0(G~3SdWbTx2OgH+8sDM`HOk2^L+OksV^4Z$X+Bbzi|>H1+; z3+f>5|c*I|?k_M_D?#y$`eJ9p*0<*#nQo-#=>5 z!IM68+-LaXEr&7?i#&M%x_>~r@YKH-y4#B5k3%mPIVY{)v%3!>_1%E zj3-eCs`v4dJQF%c->MTTA)6QeW!_3K4u9>qvWUTJd>*02IN56#gNA{%W@TcjKM^RlhB3 zpY^Z&^NotL2k>-BGck{iZ&^~QR08p$^aN0yb!C1Ahc5$##)_MBq@Zm^W=Xi#at|zj*b-oqO6K9f>a-mdsJwjRu zJ=fayw#LtApO>hjYW%<_Su=HTY}k77viJCxL+%KhmOVh$7_H(DA(}k*KROhg3O5|$nGP-Shy70$LwXJ&8RS18ea`3OK#AS_J7s${aw!k}>Y9u~?)6 z9k=E$S?x9|Dr<)E8+?aB^u1RB9_5`jalux~1G~bjm0-0|Eyb%=Y|l@7NiX-I z;MD_Y08jVR?$T%iF@FcVVUy%1$5j@s_Aq^<-qQ{k|47rdF#G2(C>Nb!S~y#iz9#Hr zGjRvbYn$-Rj#>UW^zg9taMDW}aW3v?@RoA`0u7eeTFxAl(7s`(T!6 z_^0sthr?7>rhmWR{#SYXzu{%duaUah6{uE8r5cr=RtZi~JoQH|IqXLtZG_DhevAAb zwBU~UriXa|Bbq{=kErs#T!pHt=~oZF+nd+Ro489y+eba}-{?Y0w70*zf>8%qe9ISRX6{($VdE4-K#pDTY2I4znMC zEB8^aCNy*|&1gLN+$lWx<^8Bu1o>h25MSlrJsAbBv94b*OTp}-MdYuyBKA>uGlO~T z(Lcy1>{iKWtp5~Y|A07RVrToesTMhyy3Pk}SG>Lb3u&rcjKoUCBF*w^GskW(bXy)9 zXPa9tDAFxUqlxl~?5!`eJ9<6}QHK=P_TH@8Ro`WCA|1{EDIOAPxE=yT1NJ|Q46pua|=xbtVT zr(KEsHkJ25z!&`?_mktnXlp$M=IZ(t41b&UQk$TgbBSt@TY>xmY(DD-c{6u%gXsd0 z-UAF#`EwupXXaME@i!gYVKbJDRdZ{^mo{p7fMU1(0G2|Fr)O>Tiz?;tHTKD^?MRVi z3tS4yMdkFylv+H=cLgx4q8~bT3#OS?|Qgn{H6y zt~R;08v72z>BESWIC|jtd{QEMY9w+CRdk)5d}G6h19;O`tp|o&?WS+@*h>8jcw-PADBM#5muD3c43^nvcqHiMZ95nNy?sBEh0pK`0AnU;@CU(`s9c}#HP=ntP2boh|ZOm zb0*~M1s*l9CZW;~u<4b6z){*eWGC)V1Ba%reVpaO0jAQeLs;apwKN}2hSNS`aJq6J zNxBGmr5GKAol#Iof;w=5sSBGmCK$dEx^Q~nb^$k2l#k<6<3d4in>k?(&~+Zl>$_R9 zL6>%-TRZfdvAdjBSa~%WGO^&7O`SKOd*p}A&Jc{sxljubAv!|7L(z^9fgT;yv5pL> zd@aa>k-wGvYEGOe6igi0OmxUxh*W^2yR!2j!9tbuazs53w{j~#jv%%OPhq22m#7Zb zj8LSFW{_w|I6(yis^qBvE@}RQD1>I0;?G%3WVgTFeW4|{WMkLy1;MSbVGT}Ihb#l0 zN;yX!u>dEFix;7QS_Bt0fB-mdP@P&l4jD>37us;891R5jL(EeO9+Hw$KkkQ02t9@w zi9r^+=f=@>K>z_)C#4Q#hDLNWC43?l53rlNH>v))OCFcKi8>JSm<9!AT#$eC%KOn3 za}RQ5+kwW_##T=W1_T8ng#<_)f3M#||K77Hlv4|WgwGg=T^De3-t$w?Oo$tz(S9sSboiE^sas5q}V<^I#hky#@S zBT?*uxPNw(iD^Au0$sZ999J(l-lY2&UriDlH*1Xl{%*}hcCq?+$=^+Qp55GFjE=REUOuxEzzAmp&b|pLGvM_k&JzD5vO=PCqvg_6T0o=8fuRTk#~L?24Ow@ z^gFr?b5j==(0V$XI^3Hl;v~Nzba}1IZ$-4tpQt=bBMz`MtWOY23KM&TUhkAIhkks}#Bg4&xxdG^NhTPoRCdS@prju? z!WqlDrW@dK+0OkFtWk7XmyD=T9m`#H+3KrC*J~7fa1h#gw(fsfZWB}DG8PR<+#%H! zt#R43%hfTYm3%r(i|Vs?O`vxalzvM>vriVndwVS?VAUl-?N=yK-+I_8sPk9!7a(Y0 zGB}!;mxw;pVqsPI=7Fu9dQ&VpB3?La@uJ$45XF=`_N?S2hswPT*ke z7n@XHOna3RSdy58I+K~$&0&}g?`{=QnVKJKbM`#25QBWvP}4hQGP2IDl2M90q4tJ3 zgUi=4#X|x*PAdEtH52vt7Cp1>bc&6qgDmQ@(hfKLk`r%XC5 z`*@BV`=b9y9zguG`mxmklUBo-kEam@R2jANe!Ts)VCW~3pmt&LCK$h>L7?jI(w?-N z`R02v4u-3zS09uDnh<{8p(IS!JSN>h4qz~h8>O%zC(nu1JZv{ zoJNN;>Y!g6U5nk>e1y-J?FVHPy$XkY0TELsL zv${mgwyNN&fOWG8a4sU$v{7v!rST_p)QkOOD^3aCZdurr8mW8w`uW0Dt;ms#+t?Ji z;NZr>jfGwIR6;F8>zB~Q&r4A{(rK}3F=^GNPH)FasSq&d`+PZWa{(FD3rJL7ydh(smZ4hv?+tU2n6dnIa_bX zcw|QV{rHTMo069wa!8Y8XU8ehi&m_AL*eXoA$z|A=e7@gx;yx-b8OqTS+vZDyz}0D={9QAyO3IF{y2fSvT<{)v z5@N^H5PB04f1_hBSddYo)a?Vr+dXKt9EHANMMdN1XayZT2~sUPHsbD+z;0W^1U_}5 zU8YPJ^0W~Cko5q~*F`^0SlXkk6A_vL0-IT*z0A&2HVK}+ zPiH5?qC`KbDC22pZYY;WfdM%|U@j=X#64iwcgh|B;b8nlhhjzns*Lrr!vIfw>QG%R zgqkhs8qH`#a`q$g9Rmo)D*?)v00+@2YN$l9&+Bu1V(v`{LSY!HO{84Y7lnh-3O)$l zzL>Ny&mkxMbJqlj?k#COdy8`l9c z4A$-hd?^IE`VvA6re5u$Itdv`^PagX6Y`hr{9hbxaE)mK)i$;=Kr35s1&v3;gwHC4 z=EY~^%_xoWZ2_aqsv$gl8(f40An~D9J|y*hc^2zZ1VE!=qGzs064vgx4dpM>1|?P` z0kUOUy+VDS1N88-^uS$LbHrECw?t_e6N^X;9TnH0pLTreY^};l0 zJ##2jIu@Wqy`aU?Lu%|b7gWkqV?_0%`?V}vKzId`VU)-}1j&Lk6weIEaHP&4q7)I& ziEAblN#I<#ledGB-J0$>QgkfBRCSDDA@xeXq?B+(5Iqw-593qTl*ohxl)HurU4UI7 zS|fbTkFTO;pApzB!T}Xv~}t;izG>yQ$BMG`q`v0;Ez z)JA!W%k@>oEvMQsbzVOT*d6Vfp;Z zprzbmBp~KEp%}VS5;+e6$yxQoxLg^2OL#T1JAlv?Be`<`=7#Ddnz0NdnS%D81vTJR z*RSP2)k6dmx~?BL60Hmr=-m%ZpV<_UG<0la)b>T{FzYC%B3}~Xqt|qH_iM3nq7h{v z%GvB2gd-UJRM$``tM1Na*c}vP%zj ziz;XsQeRs0>QPJ<+O_tX|Cr({uCa$BA+3I88~`V*^3J?0ckraAFz|;MZkCviND2?; z98v@^MtcFp)1i;vrLvQCB>WEb+Iy(R)98Hr-0$K8nYk{8ONLT-hKNavHV8L_KafJL zoHqkle;Ba<_$~6cdjOE5@KWFnvI4o6R7K=`HrwnPrBYu3sbWBWMDXDI(`}O)^ ziJ=G>9_%bz)X#fU%ibNn{oTgl&E1O?I0-Ou*l6YI+^KZ?hZQWZy>A~aoil~*x}pht zAKNQRVCQOxx0vX-01{6INp`Hk%2E>37)WaQ)7$y0W6tax!~VjDQz#Dq(MtBaW<>=@ zVe{-m`opUE>{tS9yaY_n@^&Ep0*s&QSPqKP3#5vKD;}%w7`TR%&&(>)@eEL989Q z)!p(0OAIY`&V)a1B;#aFwY@l6@^p?PihBiM+%29lA6^V^7dsy*T31|>4QH2;0>5=I z$GR#D5YN7T<9nwUDu*5dyehUX>NBvb$oI$Yu-DRgPr1L=Fnk~0S@85$_D0^Un48gr z)zgfW-7p(N`80HA+7kf|qfM4?yF|l#f4$sJ;9)|~rpwW651&7IEFff#a@l#hnDxvI zod(x*e;Ixc|5*?2lmra>rO0Z({Wy+5DMm&n(^^lxdl* z=Bm6Cd^$e-!-R(=Mv4!EZy0-f<}an&+Ub)#`yR6oqgOO_eE|KBAh51C5@@Ud_!Nhv z1M&~xB-KwFovo~Dxz-K*aWU9v;!$47LB^xIg7v!}{Q8a&W8aw{nTh!ssrObh0{xer z5spcT0Us6OOGnx)#R7{SbNT7s&y`~KcjxCJf&g5;v*?xyq3vH;zAvQfR}dLDCJAGP z06`=l#~M#;FAr~N3JKN|U)l5K+h0F>d6?tku>Wwp#rzK|X2$=|e)oT_;#2?92mB8- z>TH=3GpR5D390*V_-Lbb`<+U2`eD2Y69S}U#H)hjZ0*BEG&<@0^I$xRD;FmS5PIhh z9oi0^fq~~Ie*H90Rb0IHF?=-#_uZjQd;Q|>^$T+T5f0sH6G`~oSXLE5eZWbsr+Hu0 zv8}42k#8e?s>hVXnlpkB+h@(mtDk{Bie}h@h-^<0r(zNRN(`Fkk~0Ah^amS+mwsVZ z(u9REf50q4dAv_7iw!ZT-wtez!)_Z6y)8VPO=^M) z!ONRGK>pXB+!vNS`FMd1>+v+qWyA7n!wm}+Zh#I#6XNC%4+ORbTsI(1d7w2Z`H^@SyT3EWk3y9yBOOXlNY@+s4xLU`j$~@F4I~UL!W4MM-FvF%|VF&kO@61`&8YfPSo7 zm~MAdYsZa9Wzd2IwoHD5;>OgynZeL&Um@-Mz~sbk35%hv9u6u!C-|Ls7sX6#3S|-9 zzm#(2&pHQ!*AN6;6NnV@`MmFILjHIdd)Dr>;uV{i5u!gM;+HHx9@eFe<3fqPaU@j= zm0RPPA=Nl_mQohAmqJcsz_LTYd2#|EgxK}Dy0wspLD0#zy#+z*?X;Y!UkR@vJgc%` zWtEA-IM>EwVbnsHPlN$3nWf2q2Py;CL1sdYhY3;lPa~H;6h(=$)lAE?^513@bMTw~ zkYoxVdHG>I*q3r5(Tu=(&K;Uj%tCm<}8BHtk4<-r#Bf>=R`; zwR1X!QyI0d>&1@Gyb*$vsg=21CmAHxO4J}1rVcBNkMMAS&+-jG^Jb(5)&8peZTZ^ja>n(KMN`)F`sS>5`!cdVn;<;V^_2fP|5k$ zHEhf6w-t8e&XA*bw}MYZqL2EtzIU*=;Yo~QtBLvKC;aVo=jc<0y(P2MU=p4xJ)pg< zeqjvI^_|c4EnGi$Ab@=nTn&7QJrHe7;GG-%0dAi&Yb=m`YvfDOSaf-Q7$EDLjS9*P z;95atGhT<)K`^QEQ~p}F)LT^MF2CcKZ!=a=U+y|Fohc2|Tiu`=^s2G^re~o2O9VV6 zEX1bk$CuGC7d;cfzCfat#tF;%7+-Xw`LCpb=DvNX@i^?pdTdJ^0xftROVJ_L4$3v% zUo0(LI zlOC)`dAb$~dPSxZt*NG>BgjyQ$e?ViyX4}e2>oTaLA^FM`De%vH^1SCe7$San#4}< z=YVL<&|w$sub2E9IIxAF+Q84h5-dbL_<2qy z!+$(c=f45mA|@Mv7lKqXi8{EYbUynK0`PG_1MIW0zU8N3f90FGW+bjA6Nhlv^D22l z$81e0e@)Ch)Ou1_hiuiOeWAXajwb`8 z;p4`XVOdytV7Y#`I{ireB$#TM@k_*tg39&VcSp&II6Bd0&N4d~7DS9*Woy27~d0NNlItk}{MmToLl>bqgY~w5$Xb#FI9d0H0CJ5M}w! z9On=flKO26(i&Ebo54 zy!L1`#hqPo1dVxsU}HX`heJ=b3jB)OHD~e>2}r62 zM873zhrrA)1MtRS6D<$O`nAYGdJD`ArzEB+@TZ(sBH#q}M!C;CLKB!vSWcKW+s=Tm zA?B$IW!EqE?_LH@BhuY-ggGK+HUvHv${>crtndI6BvPap5F9W23Nbv+iHGG~2Y6gOEe)kppo^n(Hl7gy3SOj|E{{isKoV*Zqq5{Zxfp)nH; z{j{Y=dP@`jEYl%XwZ%^-o!iIy>4|;ryK~hW$3)t%o2XB>_Fm8Rjvf`Jy6~j2bx&<| ztq*Y3)NZ~Dd-aC@L)klaX|@Ghm}%S2O51wVwpD4{wr!)*wr$(CZQIp#`|CYp^zHQ< z_KF=5YtH#t)fXSz=+e5T)%#db#B!K8WXEBul8m4Rc_&Wal57w)B5v|EBSu}1bjsff z3vqJ-s4B@BeevZu@^|$%%JcPNF_eQ>Q|;S&mlp1{bhT6dR>^gHt&=rxAAaI@x3~~` zAVxK_wjR|GjT+sjkA^MX?7uK+?WPv85hHBW-*(Xf*E=;ApVC%7>>tV1b^ADVXCH*3 zZ>3)=&ZnAFan?=@lWn;wr@H7y|Dk55(CUm$AXPg@go|xhr#5(?4fZ;JFV!GlNZJQn z7RQ$%uQ@Hv`D2_l{mC(XbX1IK@K7$uEZ1wO^nUB;Lcb*=$HT!Ud=^EdroIw=*NXgB zKqF)AwyWSb%{Z7n6h$2I=4(&5EUulrpsq~iItC}?sTlTBxe10%haq<;+r~(d9zMZl zHjA3h@!(``QLQZP}c~e&cGh+T?IUM8?cpIl zO;b3im*fDGN>iTnC8OA!GazWH3VyXe#ZpV-FrM~aF!#j~i$hw{Qt)>RbGrjg; zfxHJmySsd`T{WVr8%6WJhu})Y^&_&+gR5iM{w(GzES`}E&l6{JQsiZVIJ9W zR8c22$%E^Y6`#&jm6MOBdtCsUNMO8-RLu5A76hXQ9X19YdY{0$Tjniiid3^mUvz1C zh(()TY<-q&!g!26rHH0eK}eD2U4n@mTk-=C1SbBe^;xG@ZZ@^p|e z;u}x<23Q!!zw6EOP~F_;gd9FF+N$uSi&b3lctWanH?unj63YNM4xQwgnxiiOCn3h+ zKF@b2LF}`kYYO2F!=W?rc}*y8ZIZ;S8B&APfSWz~K7w|KES%({aKchVb9SNmvh>s~ zfo8P`6k;n1F0(P43>;*te{)suikUMV(0mJwKv57(A5M=s!AV|FbYrr+N>9)Ry^_E| zOX{=>^Ltng1(SqQ3pQLfcC@@D5|Gq@iO#cttYw?z5 zI*K|ANIq8Pnje{X=?Rk(=$!wW@%>=R;@Nip@81>+E6e{@4lyxvu>D^dP|InuPKE4P z{}`mySA!|+Z!+WnA)NTutkOrYi@VwDnkR~QXVCy(yusb+RaBKo}xY5e+C|Jl(G zUme1py3LJmTo3xq13>}U0}}~Za(BRUXIjPA&a8@s;2JCVtIV-63b?BSec3VnwDgvh*ZTs5;O>VU<0tPOOOns}GZ zaGS6;aY`F+jKcu-{8u?EL=$w3&JaP1_1D{IczRwnU*TM`JxvcEJ7=>+U3#p>3Xd_y zk0lqmPSOwPv_PNy(3*1CD?tUy;oC_q3v7=l69dUe;PmIPCDk`SFvFv2GA+731>Ch?BibB{k`EIwA535A+fTSvH%)aV$80}c?72snu1=s+1LfT$058CLIF zC~u{Yn`G%;qbzSteR}_R*zK6v%v1!eLnC9-HAHVp44t`k++AZ!@*r9OE}HkoK2})fX!kTGmpQK4NvrwA zVE-aq+O^6l(n=#>gFbgYd>&qkY@3QxRK5P!r^LbqC)IgZ9o)w*{4>~6JR{V<`i9%G zLYbSK70hcKUK~2Lv=)dx)03gu_?{Z4(R=%{1lwdAs5+bZwCPG67rPRZLOWsx1fG`}a z845Ka?>kPY-plXIIxxBWKsp(bg@2I5I6Lv@%s3~B9A`5xnga`#>}#W5y38I^a(&dX zT%5a+55}B#g#&1VBN?L=Q5(3@v23N^jbcigR%kV4qw{)`{=)F>3?l`SpI+1QjJ@?2X>^No!&q@SVEygBwy#`sEn7{ED2wk)4sFVx9{x$ zu3O;Ilwvo}m4K0hQ)p8b9oTio(Gov*F996a*tre>v+S^Usq|qrd$)QL$_#v8r*rpK z>n2WT^ATc&Od2JtCjT+E1WXfALr^2b&1SV5E0&h^;^%xf=lkgP8Bu!`sVw=6;Jhvt z&7*Lqjs?$)cj*<#dSnMmFG&?UG?*U~I|YbOGn{7$7fwtl4u|Eu!>Ce1g4X7)s@>c8 z;ZoKY*|)efXw?q@YSz$pOML0QAPS`+4?7>SMBko&HUNfcWF^ZQ3;N{>J|y-{ zfP>eVH?{IN0Xpun5`+C$-=ITIHPmV6X*6FLwh08gj79x`#ai>|%$nvHbh0KV?9+7l z7rq9E4lXom0-KjVCT?UtGVGn9M7t`r>YpaI-D3t$9%lLks1!(hqmDr21sT!dUagB~ zZ96Dorva*1`0XZ@fk+J_>X5+b#yS0$cBDf9a4D5s5r32fqiA0Dk`op5JaylZ|M1-N zKstdh{vl7Ie2GD(vT(8+0A3wIGnK`w=3YSM1TdctW|bgAWIR#J-5(O*c5ze;VCi$_ z@6D7c{`uxYTJz1GdX7W_E1Bzh?lh9GVMh<4!wds^{!$AVtPQGyh(5`kShMEjkD+W# zF^N7+t}3}pyQUg(*Stn^;W?&2U829W62NwpUCc0t5)C}YgjZag^8~qon#z!(3T|Fvu@W#9QzrtM>OBgLv;|6&5BBban9Rm zp%xsHl6i4qIhn3+&yAkuh2BKw@T2m+-GbL5-!K>q=Ce-1vFbn|?vf%u^kGg&RArtQ zeHo8Z37Fx7cJxv7g`5R-FBFSvfYL6tJK#~wkL=)UV$jG)%$uV)p4>1;wFxeIpHabu z8e9)Or-56G?1!%k$JWI~$JOM8XVS|ogY1v=I>#K)v(GaU3F_0fe!YZP!K~kOYY+Ib z>ZLyP{wo))u@*$3@GUl+pwOMJ^Lv<6cMw00GoE?84jP^XJqfX+MH|McbgqZtFmU2f z510sZOxec;DZ6RFsI~{B0O!}D@=iqBOUOwzj3?WwY-5mPdN@`DTpr&JY=17IlLmIu z;3w!m&8W5)4x^x&pmI`FK}VC)C&4^%^SLFca!r)YOMw%dZf)Is>Q`Hql%RyJw2$kyp73qlf<}}u zseWC^r;=gA;y?)6+2R{IPTHQZIz+Tn_o2ti;?;#WU#BIQ?9j(dbZ+2E!ZGW(p;B>* z1+1t30mp=eW#YIms9+Gj8cXXR-&*GGZ^;5lz$(;cO?U)iuWUro2)0$xjD*fyg>c82 z^Zu#epRN`{WG^AkrwMDCQF)rmr|QVGL&7TbpouNM7VEfw_FH8It$8h+Ohy5t3|m1( zpW8XbC^d&5F8j>kv=U>w$Z-rmjWK>=?Mn+_`Q0b&SI3&5kLNd^g0HA^yBqE%@&BmT zZ2#ffVP@m_KZ{P6HKda^N056i)$TCri2bqj?;4cLHLb{2J5aR997xp2s8(s2NRb18 zV!~Ws4|Z>E&LN=U56#iN5X*V(=ggY|j=$9^1NW|qjl$&=m+3>GH>IVHS3I~UKny=5e{ zsV_TwJ^9wc!LwYmy*SEP%@A}B8`ehlByRAZy3Iv2s=58x4$E|_?Zqpv6S$5Yel*bO z?KVi3Rs)2yzV9ZyjDBI~@AP!{ym$BTvp*Ap-_gmi4Zd!BriVUVxAty60zH-fb+&x{ z8}x$s^bNk2blMwV{D<-LbjahAOrQ}C2xPABRb)zH8~%KxA5QCNKRkaM)1*gH_8-L9 za&_Z{7?k0mF&%p68Hy@-)@$TV7r`*96VoDWvH>MVB~XzNduGrR>D>?f^}+4lzbP~y|>O!6!D#dSxTCJ7`VLy4y`_+#nFX9gZ*ZUU** z?zW@AQ@guW49J_HxNv;aC&ssHw1qfI77Qxf|8nzk)sLAONcY&kHYm2J%$0P2H=nE8 zIGoWO^iOQl_Xrs#0*ze6271SLh5{-q@Jqh!6O#EaumNCI$vL1}I(B5{7Z7X&uX>zA zgXY$BqKGcqNx7j$O`h>C6$rEX&x^4Xh{L{@5b8q7nx?i2aMqqXYBsN(E_A>4o8+{!1S34^?lz31Ko590y3%&G4Km-O_ zdS0)%2CtTz(TR00vwlFF0EF6*F5K||5XNs!kmUnboU)fcUFJ_Em6_tYJ>`hOXTEyY zFQh7?MjF=S+>}-+mtVCsvs&l2jR$@A@vZCw9bM%4hlSF2S7&^%G)VR$`DaHYFb%>3 z`(t&WkeeOiQU^%dOXf0-J@Pj~`w{^J#0L`0)`T&B&O01cqf|bi=!GWLN-k+7XH=`G zIKLUyYG|Cf7uZ8swh>ce67A}^t(tyLzS+F-p(AsD!R)QI4teN@{s1#V)(vI#mZ>OR z8oWi#Ry1~yM)6`tWBV<)PFGZMRCp)eih_XyqD#m$NoTyO+xf%?9*rC@EX3t>6_^Re zO4TrtAwCzg-dtKwYm%Gly7ufURT~9yuV7ivW0xQ^yeTWPoI*Ho+)(&9w5)8x46x*w zn2VARPef+D)L%aZys92uX(RyMT~$5eyhrfD z#?n%u=%I$M)RDQYK;TWtMg{A|(4okuCbdnqw3UKY{IJo($1Dac{jqY)2WMq3u*h^<%5%t(j4m1-VeP z5rZkeK(&8mbQ@J*EYm5h{L~#&DHfOR32!Sskc`5Dz&O4*MjIDY&s|Hy7>%s6h8F@l zcy2U|N<4hmYUg#PLEw=>mOU#|zuc9_D?5{YH#t#AZz~aRRA9}%!ixQ=ixp=EVFjD( zUd|uNN!!P=K_Mf=ATc7qAr3y)c~VD$QlrQC%kR)!$?`rS5xEUou1jem3KWe6+5?KQ zPiBi#TAcq(_MZ>x;qm6Q;!@XVm?I(^fqtV+JhUP!c6gy@;Q;>wOL8 zSAa}ZRKyM#;~8AXiTT=%qCsR1<8Q5nBK9-GK+r3~tv^y#4Gy%~xA$nl z+M)FQ8w&_x0Y3e&=IN=SZdTk!wX=TVRjS8>}4!O56kN5RBT@_&F2o8Z&1+lD)i zx==UPssD__IpUGM0t%MkH;EAoj$(-kIzYN1AJ@61x=Q3mgknP72LO5**`oMD9+Ui7IKn`x|Z%gHB}V1vwWz@n!GKDtm^jk7Hb-(|Jz zxEIT4!*El6O_gB|tPaWG2{HLq7fNJo6h8kK#11u}d2 zTuCp-AHgW;DK4`Pjys-@J7Oe%80c-G>u>{V%*|LgXp(p%JM4N!+TRp-mQ&=6xY(Ch zUT{OuJ}ODQLDmN>#KWb}EFnY3AVp3br~Y+Xsy^%4k2lVJyL^UK>vo9BvzU*SsH?hu zrkF^PRaUdRCAFw#;9no-*m#aOu8*m$&9>b1O=` zK5Cg&8O1z#j4{jFf zU0*oyP3jiA8SXm3_;Kj_-@?Pu(|zR}BIQG4)QuT2A6bp~wli>g$;e=}p?G_+1dd ze|@#_pvzUn8?hPWk3;%$c^>vYUl_zsM@#&`Gv*rPGM50*^7S%WSYAho2ssq^62X_8 zh#7nPvnDUpl$nDL?wCwBCj-UEz#`!r5h2w68AlNzyOl}%CTmkem-ARHm4QQ?r~Zn? zOU#TBW`sP6uc(C;cn5PF7|JQP$ZpR;G!~(T4X1s_H-zEg%RatgPaaW4M;8#6 zX4}1&@38L@NWEOq&UY$#JG+e&bfT={-VL9*$%ZM3bPc81>g%PQ?$Y4AYpnpXzAS?H zk^K%!bVtNqZU;Q1u;dM38tWz=gDncmpJ zn|)A!llKN%W&%TIVi73}Ik(<}L_%7Q-u~)-N&RreHR_Qua{lRa&2x`xfP=4++odh3@CF77<5q%uI+Td5cy-c^KIpNW}$8kq2Co|kEF)vm3| zoqMIbLatzHUw>72P-jp|j3j{dB8CMNQL@KbSDcy!#y@}i24?zlL3=Ec;U1d*>yF?~ zNu`etai{0IP5sw{vI=bp#^|o?B5helqsE^`m`3Mh*{8P6>Uw1>JWpCysJYRE$POme z*)Y{1aDO&@hq@6fKa;s`vS}I>>@J_GX$$?kn#=P6Tvc*|jPnr3-VRZEeu8NN(o*H= zunSg%9&hi*SixQqi>HgVL>J- z`u6Y`a(65j;6iJ4$fOemAnTI|RtG}ObI|Hu$JX$pI_{eHi0Wo`KTa((2%$vHuhCD) zU;c-{BV*K5PzYjXK}m`aO~45}K2u3MSs%8$YNI4=x#-N5yln_i5L}=-rrGlz1kQAd za3sQs#Du}hj?vrg>krPXs99_Hf0>&Z&8I;T8qlBh)?wu=XJ#4}pGQ~CJ89%@b$ReB zz41;LyOAYYLoZdtla~^_8TPI|ZYcEF}^V>HTnm!Fo0qu z#_#|65|odOoJ;kS6ndlSOw%>wm5~#Xgyaiu1{FYb1-zMHP{ZL}S#M~XZrid6jN%A+ zeE1RPSJbHI#(UsCH6DRP#Y(1^s(nlhUU@Aq;di>dXR4DL&@kQm_#pf6}kqHa=EzQoN zj9Mm}Ru1q4V7+ynN{aV_n|(v=CDTuyrjt)?1svkXj{1irUGO;LE)Zx`L+m(A9qH4~ z|K4(H!R+jdT zSf`O5Tvk*sG45{np1ffGHP;wc94J-!r<^EENa^o@TV}pMP`%$ipU&U6+P+*`BKbA5bL~B_Zxsmkz zpgd#uwXXnZ58$7P)d3Ps0bPXRsszU^0(#W!*u;pCN^tixMk*~zOq9TS{|IcPmk!Bq z=o`Bcr@&5ul{NEiD$DINR`A8Rf5k2ClIM&qrmDq;$uTYB9BjK`<@|`9qNsi}bYca}&KNiKiz=W!LqixJ|qc+F{tJ!+v>?i!K zo?n07|KV&VK!hQ#V0%&rz42+xGIT$1%AlUg}{b!8Ol=Gq7oUsL?+eKfgsQ?*^h>3 z52+l4m{z@2y`GxZm5x+dm70km0@DHP$8%*CgaVe(Mf9JPkwQU%Jj(C&6CVs2twdB zz#sqU37T`d*Qmu@o~=2vUR%*=06Ot#04KDwMb#KVwnjQmtnl*uyWhMq!~}7YNI)!z zSsWZrwbbEV->>O-wgmFA3)SX=B*#?6S|;=aQ=_TOh!`HT;lPr=2gA!yTe61}@2f!* z#@GL7+b!7fX3@N(Oyz}G{~6qHca}p2EmiI1sDxLykYKM3p&;dgYsDcPTMNHoX5%gl zRs7TYpp8w|#e*704w2Xhy=W0nYw=aJb9auHzO)`c_rwWybTvqO5%?i39E!Ua+TFpG zFYX0Ou&KSOBuxXSWH{@0&7Tzldze1FbKZ@PFlsn30Sz54c9J6Kf=SZgrBmwTGy<{t zS0(R$%Oad?*ls?1_#h+5_c8-g*KmC!>b1pHA}f*>8hafAfPUu8do6=4qj>1YDw^Uk ztgu@O?in(<(a!8E@@QY&FSChqppAX4s|#)@j;O3Ppjpe?*RdEDI9}{_6JN``6I8mP z48Pu=XO8y_kR@>2D|=RzX=#hv=Y{lx6J-KQox6#*>$D~1kf?ZhiGL6>x0)7NW%z72 ztF4I!tC~!wMwxf8!kaSBkt7zV2nelMbY?V%vW_r4$ka<$%n<|T#(H6&tex_ERQjJ2 z_gg-{BSD{Mh;a4JoX+__Y*cvTy#SAtJIuv!!T^XP#pDJ4p^?28PJ-a1t4%w(dG$Ngrq z%jz$jiu=}K@ji-|i8uOvdr8lb6WNHB8`pCQ#9w}(n$N|T8tDPUPIsTCM2hTU*)xf#$;8poNzA^%uuvnEa8EM7Y3LsKv)+N)9IyVn~03S z3Xzc3dN8-66*V4LPI@s$R5T;DQOsN*7$Nr@@nWC(6L?uANm;V z`0k)G$W?IhcwX_(jb<+Vi?+Brp_TaIP5amV*0`EL_9LT%1bbwKJ<=?9#?K#j&X7p8 zt5fnR2}=$Y0oK3CQ8g|f@4hA7VG;7nHEFJFxEhp0+<_StjP0mfT;$^8f5~A@JkPl& z7K^@@PfXge!`$|abiP{0?A^dC0K1Buq>X*TkM74lzIHC%HTw$P^>unZV&F<4k?!ET$+s~4TN$EMqfCXX28tS{l&La%^M3}Gr?$@; z1M0}=6S+a_plTy31zJ+gL2j=%Ux$|5daV@!4B1rwSWdK5kpx$Gh!DH94!6BGp)-9k z3?F%Gh_WxDghinIQ>KsnkM6LQ?7oJkguxG`EKv55O3rt8LnJbk=KiiNCNn5gs6HHm z!2f`E>|{-@qUv4|AAV3@k!W;0kcPx&>nV6G9KE&GR$_Hb|!J6HRNJ2 zHN(q}Dn%tDeYf?XO~-7fVF5X5t9tslQ71Afw|49?9h8zC-pFN((k;FyEo)1I-M$}* zTGjyg_h65ZA3__f*vK|AE9w#^Ftsx;Yggw?5@7?LaY(Q)TVh6WD)1P z*%k9qj@YWE7b7-8jo&}3_l}n!=?_Mz?dYvq>PGz1Pi%4+;dId!dzC6a=!cEU1u8aq zQPVK!ZBt+e^)B&C&zVb%Jw0G?wz%=C35#^D5NkPZJWu!lyh4)tJ+3EhLnhAApdgeK z6w)y5IUqm1ylL=W2e-X^3S%pd`+^oyj({<4g7h_@{$+tG6-RV*_4^4*t&%H6F%)@_ zpLObOM?$6umfBG1EU1mq{Da|5J&~8YriZ`!DOTaMno_#PM}}We4bAXjkVW0*|9~mQ zpP}Z`KwrvwGH5ZuL~n%wWR0gg;Kr9Tg)h;jMM&>g z+Ejt6nd=bl;((F5-utLM zNLb@fOZ*Z2OOZXK(9&i_P8h>z97mXP7N(GG^q_$CttLUL3f3Or z>oPbV4+=!!-8|Dt$M%x-ZCpXef;eKhL?>{LH{+Xk(XIk^XJiF5V>H$)9zvli=vqq7 zlFU3(nLoT1i(?mOu!>aQ(K0*%0Ht9HNajm`Q2KF*?0F&8O$6-QLlJ>^YLE zH0nU;2WGHITs#!G#*C?bDbRVM(EqdmGU82@O913TRoW-%7S&=jfsR&1%6|j}d3F|s zY&q8obxmFyIn+dy^T>ycmEL{Iv9&XeEL!&NGciI{?EON?Ix{qEwV%X1F;E^U_+%Kc z>^-a@^p+_q-4u56`7K#} zeiuUM%(F93>TpgXi%en~GFB-{C(_Wc9q4N*r=%Wk5#xgk7JVXHq{3e&>yq<&!jO5T zm>BX-iP39Vxhho2J-xO}QpXATg-T6!UIKlWph-MDcF+TZG6GArxa{jr2ZPXL{xJ|z zW8flzNr6g*jbH{85Rewp??WM|PoZxN$9bCHmnzCrtuW{3ykf(TUU013ufzvCM*rd= zU@k*yz8im-Gl z-g!%oTF`PN@_|X+StY3}1tCw_xh?!5{cm@-m>FrEAzZ4|mj!DCNzTBdzCo_Ns9R|d zLWs|~>ZNp26LlNVaGE`0&FI`C&4D=jEs52C6^pb3o+TzJ|R<@NeJNwT5 z{=qTPU#=uDS5R)wrOw>XqBEhN2@>03gI5zN--;41ryFX1p#<6k*HMD!tx8u@cV{!_ z0l$^DHT6Y`GNg*LhuM@S@V=pv^`bpaR{=Sz2BVVbTb@ZJb>C`An3z2_W6-00|>;C87^Rj?RB-IHyPR6NIgOE9bPtyh^?RrYWlGHch=qk@B@)4(&4*btX@MYQ#FQmi?k)6AAr~f-xuciwjmHQuOL#{_- z3TS8%d%oE%eD-02z$XEUU7=vcyThov&L^mUjRi-WDbaEf3XGh?#x}9;4sl`|P5(hN z5*QlO%#-SrSCgvr>{f!;?|_jj*}|(34xh9$=?_kjrlKlLlbhj0ZWgCA4RCP@qWXGc zFygb4-}cBpg;VpGtXDrx7F?%oiP<;_@C{*s)QCqX2w#&3<_Jc5*|P^KNyAk6%6yKT z{$3txi*`In%fNbeXQmSxI{tvjmgc~X1egsqV767zoKEToUm|rYPq&d>27mO;xa}T# zM0JlS|MoF2u>IFMMyGeOjkiSKKmJC-F4o1YHx+*XUjnPRR1P8FQ#t6d?U4y&da_~L zupocbP!SIMY8m{j6LiM{cW{(S*ToKDXkfj3{olu=7eVZTo7b3ZV{%d&pkC0au7G~!E>+lq#sg<wfcGMWt%6Fe(Az&bl~U=ly&Lm zuUZN9qgKhRc`S*N+M#X}$3To@^Gaj;_40}-b+#hVmZQ+q;pOnHoKd5Kma16(+wE2P zw_E3O*xqx0mglB!brLD`L1tz1ip5uas9 zV`bxuV~~SxsD^H=c5k<&e0NSfgY{D)mCbYac0rvxg+p2U{r)tj6OU@Dml>0=_z+z6 zCJy2Y_TK=O{$4F%$G?wc1ZK^@CGo`C=u(2IkB{X{8Kf5GkMmW54QHOHCkdO%f`-LVzU+&WVSc_huRq;*?7!TlOS?@5 zvcIodggV*S5ZPUx$AobUng^Ct2o<%>VF3{>0!M|v<_8>ttAorD9*olcj&#jpjoE&| zrPdyN6WaLc+k|VezJ6WHbtP4I`Z@n&7Dsp_p7~Q`zDR-d#m2d*ba_PprMgV60qj&N8+!v5JZaKN5u%=#~{8$JoyE6mR4oYPVw~1YBFD$uickW3jSU>2u4kvRL$OGG0pj|AAEGGFdMa1*$Db#}`#E>p0 zOliEvD1E3kQ4b!%6 zeD33tFp9&#@W+F_EYoM`ZK-BSQAm;|SZy5Rd>n2WY|At`>-Jz&>E>4LgEguPO=&Ox zg*7PFy4H}!=uBEqh+`d;%FVsy+D)h}4&;BT2(|^W-SpmIc3A(ABJtosXhF?%nod|}Z^GspDab!*>9@GxsE{^&rRm0>in z#U+hmWH_~@!{)*>m_Tvl1m)Pwra#RbmV;8rMwrJBqHLHMS_|{5rWt>f&iLa!lJzdd zsmNbEQ5D8sPW-)brvHDgMuF2*x}zqSWLvo#8oohc?c3u%LdpXBU`azZ=>>%7xu7!M zX?#Q?g@AHG*B1_(iGhY?Uy~wM>3d^YMENS}1KE;_m_ce;0+kl#d7(I1pjSIZ3b0aL zG&(mlG*oK61TpKNS>v4Zi?-a?BR z_3N}ZV8`DfD{u)wg4nTa=7a=xbXcYRNO?hj+j*~%HpLx3Z~D6PN!4FIp)6x)ay@xTJUn-2|U zO4;HXw;bHTYTFUrv%g#qZmR z-(Me9GayQENE1lJKMu@d3-zCtG(|-87Xka9%Q7?}EIQ|dtCWk4$RasH2jgWEF$ zSFvHPHP62rujd03fJ(-(4XjLsU2qf{bR9mr2zFhu(ViArct8NDD<>-_IK z{>cXWPYSIE@pVizZ=R;76Ln8pFhr@D9FG1f|BAfq@q?S?`k-DrrlwW#4IP2gG;!vP zRXjeO>aoR2)&I-dWZ0ffhL%ti(3zW(^l_C-ee53^M5|)$0G#fNF0;g%c7!6+rY^%o zz?W?xd1w-9YCP;ak$heK^p1*Sv=j284x|8$<5l1sEhTYOh~iRaSnet#S_g#~nC%n+ zYCJvvT$gW8B(k;A(|0tWJV6VmxRs*BmX4*(jDt6&?63}dA5=+AgtZzLOWn_yQ?7ge zWyF5bl?<2d>6uHy5)-W_#e`U5qLTiZET{tijsfTE+*}sc1=a)EN^ut4m~xD#N>`4_ zz7A__O&uG3mWwCVFDF+>cjF%10;4y#=V@flFc;(=HzQ6&noWLy;PZT}bdPO@JTyP` zImxNX@by^d0SEDn=5OvPp zob#j^5S$9e?)1s#L%2}gtR#941=D&@taQCkwm#GR{&ippaqDIEIup1i^b9D}AaevG zlq+ufOI=cDD8G@3qC;*HX#Hx=$;~r2f|mvgMte>>xzuXuW=Tk2Rg`z=u1kNczh0A| ze&|ReDW!r&T2{!rjYe@@%KVgmKAA5z*!hD7e2IbUZzO2!7EA7_Y?T3j;t5LV9X}j6 zUHUy>j$gYgNDcekojpllwG)gqjZs#uOku_AOC5`QD(Q5atV1$DKYMr5r~WS@^zsBE z!ecn)YlSSdKAYp{#E32Wtfq(5t8v`Y;Ekn57U27qlc24)d}cBv0o$%W7;0e_z7E<; z4e+n~#8cFLL*E$vuC{yvbE+JjvJOs#hx~RbiAPa88D)%d;y$n{V}(LU%*nUayzIQq zMpf0M0}sVQvx7z2U0i1!0hT~lb$(^gWyO==e1sy6l+&gdi1xQyS(Q&6Az&D>CG@osDW4l^H+Fjo?`!zKIjyBQta0W4mdef@#+uvl}0Oa2?&1`5(CjxT07ZV%N!8Y}?3^vgZ`(9RMkz0{=@ zULkTW7_LDm#uaVoor6S|##MT<8#KM~m9#|Zc6oJ%9c9$)A%8s|zNDtH88G;`#yVam zpDUbq>ILW)AQH!EvBhRqJY8gcQ4t2VG$)!qDU~BwK?bTs?Ugp&k>*n`?+#LVpcE}c zG|Zy>!a9kOre<2G;=zI}V}8Sl9k`h5H}X=2KTr_Hrg-3*@5`KvE~k3R5M|lD_Cp3# zH^%rdaa296+FkoG{h&gEsnNxFd1`+}f4(3>yW^hSzXjAa!lw*hfMCa!p1ePJJ(bD>-n98vGxIG3og!h`*jZKk(t+KMCq7(Bb3Za^_SgkJvdiJS1 z^y8$*)Sly32j!kQcNxwfORIN!AYI84TT&k3;Oe&k6~n6r*Hc2ksMfTt=eS5KKcl+C zaMZX!#XZaT_b)OEhyz)k8B*sTx)6f?l{zV)Jp3w(`gFIS}2FMK)yYf4k$D;3F zZM2*YT_*z{1f}N=Ycs3~U`pVtGOrf)u3y6O$jk~zpEpB?@P@oR6dq%vX=sM(ZPX z+v;&#hkza|BVg*`Ndv$J7>iO-&AmY4&QhdxMSl>htb|(rW0d-5srz5J0~Y3gAxrW6f5weAkbEm(Kf0pHM z58lK=1PM+qPJB7^E_}TnOJ6VZ0naVn&oN9nKkqAX1#6$poCHyxlS8j2HtnzbOMhgy zw?8ybB`+*|K3Bhcb-TL>-$ylj6%?}GwHJ#L$*#LLz8`QDGcsl?+=KVTs7!9BR-JbBa&6kodB z*V`RNgMH1nlQXEQt6`RE$5t4d&k)F>;uwT|%o7Az3&?f~^1;hu@fWGUbJe;9kGCQ%wL zShH>0_HNs@ZM%2dwr$(CZQHhOYxbFlxjJveeE*#v4JeDhv)}g&KDJI!;8^F!k+e+8fsqhUtV=Yr*mUkS5*a_ z*Bj)+q}`z(8B~(vt*+RJB!z5(%ZpyjXo*2)={dE?NRd?z(?-8KoB#W~--?M2Dox7e z&e>$-A9LXIGBk6oRUFWs0h(a;d8`k@{K3k#w$@8R%@IkkxJ_iT)A;a*ulgG|OuTrc zB7f`!D&+wbJtgB}*(sxyvzCm|a#kh{VyG;g_Al1Il@4k-ayn`e=U1W}S9v8yEBbh3 zeq-A|z>j!#QGTzxOI6(U`_G&AKCM*}=P0y^gd|WJ=Q7Rm9t~NsFt!ifGbgp#Uhf2= z=O$wc_I5z`L`qJZ5rOGc2Rc_@X`TqM(F0%=HSP<-+DDv>8}IDo_Erf{IDmme+#W&C z6w){toIQnuB$|pKdVB=FieNe-f)HY`I3$oV3{C76!b#UuJ-ceOHT2;n01OZxMez2x zp=cj>fhZ|3reY0(X!Si@dDRDhd0@V}62Z@u*!|VsfpL$W3?Jh|{c+j(X?Y#xg-YfZ zzrN7(OHgTPZ$b|Y5DSFOA_7T3GaH%Pn7Xg@#8{M&!|bFX1hsk+AWJJBzsTbRVa&=yUMzMMzAxjJ@+dht#0|8^Vzk`j1{2k(R($ zl;EK=Ib2p|!Wga+WuMWg1V*sk3C2r~anF=xn{^P>z+_^{2myxWE$&EE3&#W2E=5!; zZfPL@Sb$wW(!rnLDa7CzdT*4SJ_#$Rfmek57K4N#bv%?Wr$A^T-H&V@REonCd}UHn z4EjVt3+fsrMOFQSwZ>1C#sv#3;rX!i&WbZQ*OeT*%s-)V#*XUmT(sGVW3GlLaW!Sk z8a7XC_h3Vw;+ek|y^f&{oaVl^A0^fm0b;pdu`Y{ET6p;hRGatuww9MKFoWRQFX5k) z05K>l6i%G#+YYZ`wlFGsAAckujbq%N5>MvroP|TAo@B2)loFJRFTmMr6PUxuyL)_o zeOPp0fLT78zI_hp!~PU<7)n9L%RW;iaq|KIJc8KtVFcMxaPmUm%@B;w5S-ov&mfj$D2nl?GXKE$FAb8M~9_l4q7O&Ex3Hpio83ZKMXYu=_NU?_?Md3~HmRwuA*9NLNy}=5w zh~%|xdTYAR4R|0h!gj+>ck&vvT={PRJy!K`0uCpn1Jkzlv_^8XQQvUu97WQD4ze2u zDTp_u&WzYrH6RMLyGM#Ot>oX4%dyRrZAih|v>}{64M2L6m?MZK@|ZxG$#@L&LJ0#% zKFXdg7!|_T6s^zdtu_6qP6WK|>V2MWZ>oO&3i7G?xfW)vLb&7UUP4cvN(knYCYFv( z9}FoVf`nZmt@QwHfE|DLqLzXxE}t<^F0C3f4vajte(f^y}vyy74B_#jw&D~{n}yR)MqO=?g~9%NGD1x+X)i}+mG>==@DZSWYBZ7FvHR_ zV&5whSXPPBE|)UM>$q>CGiT~g1N)Gm?94*VE;MBAfL*ACO0XE*4`Y?s=P1j>w1Ybv zkk!tQp&ehG>Lm|4+Bbg@^YZwB%1#JozBvso!ieut;^}g@jpf~+sG&~0b|bhmHQiXN z`xHW!?={M{=ckKi9wl_Ruh8xIN!p`^1VUK&k}sZ$;!~W0a6fVFVk&jhBFABbTXX3l z3n;{HuYwSdRXK*Q)VbfchE05dBoX4%3`9Rr{N1{z{&=Pt`aS%+=Wz`De(*#W!k*klPxCW4u<=ye-lEb+Umzddd8#NKlwQ6-)RfCnc@Q|oNrCt}soNpKc5yu{IJL{CoN6Ou~2m07=7+Z!JM>(LO! zhEP5hz>X@i_rtK%JZ{AZJw*w-_pagU$zye+A*<`a@wqPR)(?uMoF zN8v>az<#(9@-wj?Pnw}i(G%crgIWIlmRA_JP`;Ui>x}(U38$@5zIiJ314F_XmkyV| zgOPyD%j073S9eII(*xWq9*!i5hH4m-Tk>oB=>&vmhl2$7*I@9AT(iQ zPxHqxdq0{bSUp?d4-F`5ylz!EgKp;s)i?-{BjI;__L$YG8>6FDKOF2Mppa=j-`@&)u`>S5{A_?kVLD{?kiJWm?f z1OW3JGc_MitxG;7`_EPn|Ne#ap}Z&hl~7{u#)z-dHezHO|JYZ`XUY z=Yh1B7DDKZO~WsvwHnUk1!N9I&D(mdaq<97ed|`?_HK1wv<48W81KCDK_0 z4M-41FPyyJx|CBE5l%j(e2F3**-n5GL-wy0L#d1iddD%BGczUxrpZJr}E?JNH@d)k%X$*wR8#>zewIbcknq9 z;%wu6d&1YXS?niSNiM9ArJ|dmr{VPzl?F-QqBV2uWCS8e#WY24p|(&?jtR3 zerxUV=}s5#!_ersBLZ&U)C=Yxv$IYJbybTn4i4ya?TDM62mMpAMIn8e+wwFFaSLb4 z+R&bjR;12o;X0J?1i++b8{&8gF(*;pgD0`YQ$88Q-pLq2Qo=AY>sU(+Dau~JHo6O@q zHiR~TjhI-qXhMYLkn-?%TjLrM%tvxuA^^~y-=1Egqtu7)$k9}~C>EG2jN8@O=nMm1 zHbLoXdVL6SbRoj_K^~7UhEr`Dtq2dwBL38?Z_7$lvqtU)sBty7cIbszWPptyGbS-Y z>pII6ZomTfvQ?if$9h_JxTuFnC?1Q%6;1M~?smI1V!fM5IF#gtxeF>1{wx1FDvlDS z%C2k10&4`bFvPTa@@xbf7pAArQ@lLUe-D=UT!5nJx_|sSm5D0vHw-uYUDjWgim5DrS^?TsqX5nx7!1 zEE;VCb#`?O`q%fk_*ED*(1f6%Ni7&JN@O(DZ>41d-wy1n@K`FXP81~KMwg=mwJNAiU+jSh!a|*XZVu-0QFJnmWqMX_ zM!TGg=ph)2#{FWCH7iZ|yqvoM+GCK9ACCQ* z43D@=QIJJ)o9k9!snrtZV1Dxi4#vz{W@@o#PWmiSaE?X-d==wZvTTN2Z*GrjN8;6A z^HUBU3+%*2(a!5U^k%wyd>bwS?h&cuWmb-oAc&lg&Xi{u_BV`wlwL5BIzWk-x*l zc&%dVpCgTI7dAo^DrIy(UUk=fO-(mOPWnFd3Cu3B=jm7{XU9Nm4rtJMt+IILqu&7g zJQs?28+9{uMF8*ce8%obU*g5XP}9K9l$9zF$K&nlO6Bi!mm)&=w@|yf_j-#R7%Dz1 z(U^N&{q;JZW7tik5Jb3PR#>~$ys9)k4Eu~rR{>pcOt`KV0c1EC3Lc(Bv5qvpU-Q{= z^eSCxRQ7#{%gU+DOCS*Qe3S?zZdG8Dzxvvr7^`1CSX0*-JXD_xEUIP%eb`gix`4fu zRpBBRk%E#j$E52{;CO`XZhwx&!|4Dc`ScxO!o^qgUFX^ZmOFwO`l?z zw>|+GC-3OkED3yQQ+P5QdY}#XwZQ}@wU}Y`$%K3*tXGVP{7_;HV7E%O!Cn#jXf+rA z;c_eA?+}EM4(h!+KpQJiUhxN)C4P%Y+z`q)ykhg$~L{l6=D88U0|2&k*4!#8)SQ6UftuO#IuOK`*cVPndH}EV`Iq>eT&L9G%=$1RI>!0p$b85|h*kCqvOSc2jO! z`_fTd$v#hUey$S3$nsdXIFP}AFbF0l66KJ`x?_56_$*k&Yh z$eu{Q>ge<5jg=q2loJzuBHa0g0zrS^tth*jv7gJ!Wc+ypeU8U7Zoh6m2JHjxww@1v z^ilD6a|KuV49igq%;Wnt(o-Xp2&8|57-y1uq%ZPOVy_<>91klYAht#4t{)4G593Y6 z+p4-jGAFBxEIGR_2R@6NZ~G7cbfkJ>JQ>RAw!R*H=|?{k7gp_=!1pLam=ziMFF z{|n~G@&6Td{{Q>)tJO9B4`cZMSWJjnkmuRm#K#kjxYA8COvzLhXPCYHBqRleBBy}DygbP?Y`_8< z{f{n>*WWYgv&8r5h6H6(D)$v9ogPYE+Zj5^DodEEn@e?N%>)oUQcV=ntR<&%uUUyN z25ah%TXJTSG==L+1J3m(UCmY}eSYQ3k^Kvfgo@@7%3%!oGK3%dQaK6g!pE;=Ob|eA zysNar@TZDiOvE41wE$>^W|h+kE41fr`T251C}>L_`?P#$8k*B}5ISe5GW~OqKuI2e zYOBm?i*hr|Gdy2mC1KGPwgqcv>1JzZYPV1QP?E^B6a2Q3 zb-3c}#{6pyY{*W12rw@zss$!Tr=}~k1F#26P!h72@P!ca8_{80OaAI2xVP4iD-Z94Tmk%COW92Y zGD*SYgrNcWfE8fE>ib3^H{WF>u3Qz>~0(ECeAE79DgyH6gzU? z9L$*!LQH!X%#0AxI6uQiy`1DwTM53bJ#jna-~opz$-FoZo=u;Xl0 zI$VUB1i;WK(M+X}IcPqJ!@$0(+e@-PYk~3{?99}3vo1vf13xK$XxL^vppJFCN@+Ub z84diaEjA)d_(4c+%=tH{X79937c|2DN`_7%yZ zlol}xE>a4jM8O=D*-H%}OfRx=PF|klMvl(;ul}5uX({;!Q*2m#)P1#d#Ofc~0=OlG@sXwfQdaaQ6>X%(4r*BS~m0{+e(Waf`U z)#s$cCi<{Gtf5s&Ybg#n48m-5pbrTEf71`Z;vtCP6^G#0C`R)#;Z}QcZ>wcXKa;MpJRbzx08K*ZG#_@vDH*JP^o8Ovpqr!()T2lNLt5Ol!b83iBK8K1s{SHVqj z&NeqtH#!{* zNxsJ=+`}AS%L88+d1~T{4vz4t+Mgj4fwS#HPrhA1C&-NzoGF) z-aOX-4$zGXOlD1Od|OPMxZfw4lpX(nUcd{3aS zqw9KLvOx)sIM5Bt(>w!2N^vrV$4KkmTgWvPh)T#sOq$%QfYACq36?M4F-5+>D#qg+ zBH|LOA?DJ{X{v4B{lxLkl`{GD{BYS;ZIxL@)k!ZsiDJS1m&V?9!?b9q4m6Kmxy3-P zfGd(r&N-WP6Zq;0)y`UGC$zP4i{0DMWt3~~5r#3gI~M&m{LC6rl<@D(+~Lqpus#57 z(_hEcOuunyplf`NWaObMex`0lqwkyizeXKhr(0l_`lRSPSwhMZuChoo;iB6#L$ItN zj||&2enQD&`J;o^QicOyYUG)N4Z)p60S9iNTYBh(uGZ&Fg9>An$wp@R&R5X$o9vVP z{Ri=I+F~7vo(vu}oGAoONoA@WqCacZ*bT)oJ?(}^VhaD7#5U&`#2~#nZYPOcC<`Gs z)EaJ&9~s{to-F$&6=X9~L$vfyM9Yh;%7>7J^fQq>UpsG#Axvt_Pd-_oa*edxYy$)XrakOF zz3!X$ft`u%f0h2j>KeA#Z2#|MKZFW9I>zHnC}nop zL}5W{la^`%O(xoO1HHMmw@m!Y=9%5WY4Kh zTqgNLC)m1iMJBxU<3yNd3l`OgcM9){p2}BpE*$je+=iCeY5iN#>GdFXXG#aJ%Ce|| zGb-@pz$ul$?531jT;-torJ@#5<_cbUIU#MP(4H{yI7Qtn>NJ95I7}!jUW0 zaVABTaO}mPQI*ghhK%Im$^17M-@8I3qKc5AJI6O?^4+NgW>Fuwp(Y^XM=O|$Q~_fN zmM3&m)K>wZPp}H;1Vx~mRJK#iNX&e?495R_m!`)9s0dubj3_5E31s9Jsjp+e49N=0 zSPyI+<;R<~DZGH4xHxiBS$K*gSPQ?JF=_&!KRwWdY~|6U=?o$1lqiiv!OqU%lymbY z%Q1|gvQjQz++|cWeKO!_LLP>kf;$$R+^gnX#WbDq1huCM*!sR5hWT;hTNxzctb+>A z0=<}I;^r8EQGh4_K@^+Ij|`GJ;+~$g?U#o8goN9UjX-IMD|;MBPguU9!3NJ_Py*O8 z47g`AV`n&Ehbw=Ju`Ix}MNzF|V?Ki#>R=lW5MLi8&Zm^7g9nPF8_(ECFN*M~Zgqyr zQ;;YT)j;HC3=aIlAxTU0YHq1hG^I)05I~@f9n9jrFXxuNK^dkO?1K9r-XuKuZ-$ck zZu5#${1PDfit+U*FjhYY9QE;par6#C46l{_paJ}BW^OOSKlD~X9NHi%M=LBx0mKid zM+Fd(P=Kx4v=xb0W=119VIl}ax6hHvM4?37!vnO3;FG+S!9$yv3W~WstB1lH?tJ9H zF96TI?*O=Fpi~wtzL#$vBLo23nG7-Iy^_B38_@3x6X$9mdB7{p1K`=N2(Q_eZ34W5 zu+7s=l3T0f36tc7L_!lK(s_*`8Fe_Zv1vN#OL*B3NN{F*Qvy7`x8We0#Yk7hq^yUU z1a$L7@N6Iqw42%V@rzFeEx{`8Cd#Q6ejyeO2dL`Xv{87u$Kgfh-1CtvCvCH9Z zyulU}Yl|WA^OXyIBr{9X6%YE#CQE9|*l&Z|PN?8^L5g5&_>0Pe4~IN@u-JAnN!f?o zTwKimp4A_ciM`c<7 zB4(G>>%Bf-@YaYkpVp@qzUeG&R@Oc<(PAXkQj#^!e!9?~f=p8lfd70D4vjT%JYYq0 z+wUZZ*+uzb$QdUaM^`Qwp?_3MR-<8Q&o2(At@g|)jz6SrwL}JV!t{{|aQ>N+oA*G> zl41=jkWC`>t{yjv8N=mGbRxi8=`6czP7S}N#v=0zGOWd56#XHPM8~}fit15{&yG05uF#tP zP?04$!aJW;+djCPbMmEUHh#a*D5pwGEGFEgb$wv9qFPUqgG11TVKaVV&b028)8C#< zM_)ll3|&*VIS3Q-N8<;9Jnmuj7dc;-50 zB3LUfi?qNbNv>kWA6(+-FBTqY{d%Vr18q?v93f84+H-m&P!Mh~KLWK=3ouuYyAT6U z`4?9F&Oc$0QteudxzGN|j+g-09E0dlsh&UIqyrZrl45g-yp(Zmt@A5$WGqT;q8)vT zT=FbU`ROVT>;1Dy=5|+r*=)eyP^*QsmIne{8O^X)=o6t9k(kfkJa6q^7XjGlvne1R zTz8Ykaoj2Xzw>lry3zkp~1B3BI=iKD@C~XVhDY2P2C6Y_1UmTQhdWS)5@a^0kl=At?2ebkYZ9_fE zz2f)0CzP;JK~0t^v%QA0lz)Ct*Y=kda>TauZj(wN4ejpSG|2|aZJ!%&@BsUkX-!u4 z=8kq)hHmQMq-x*|tzY-v{C?~|etZ3kZm2Ovq}g&zuVhhWhpx-0p2?GDq<=?%_oPsW zG=(90SjJsaL%*0Zw@C&H?Pg=V0A!&Hu;INsb8C*QZPq%QV2&Bmb!yOO?Kg7QseEe{ zH6>eXv(@$@PW{Y1lN+P1ZIqKJQ#zWdN9)-_mh*NY%*24Kl@n1$kG$x&jlWLDc-3rSbx*}OWNh;r>&UL7d|#uuo#+G({?)ph9}sr0YiFIsTH zb>tArdGl=Cq1CjysfBUFHWt}ci3fV@nTferVEG(w`iU$z zxAu*iU#KEztPnxN5n$j;*OJ^d)g6|KN1i@^IW3qfpnL(xUWDZPm|vY-Br|QJ zz!ay8Ux&j<+xDWCv#H{TlZJIYlScmLm^8sAen)!0C_JyNz5YU*+_@A@90IzhcpdD@h#C{6rAhz9KM#| zjgH(gff48Syfsv!yj<~9Das?7RBw3|D0CSwTcYjLEuv*QA`JKCk4WOGIcpEy5)?R z494fR-PFfvoPo)KUTZKf;-S!J)|B+1CtB-fk+vrj7S>Rch>ZJ+R!uiG?x^(P^k>>R zWjkllmN$Z#1$35Pg6Xk4C)K~8al}gL+hmE;*tf94^ab4|%xnbaC4b{pQ$ zuaR;9C@0+We1NcMcI63z2J&R?)R{VvQtxq^0s#+F@&Z}0XHGyxRiWyij>K)ACYU~O zOuspZKw--1Wj;7z6u)04iD9BmB-gDSA#!6gB2xA_y4pjYGr2Um{61xuI+Xzuv1bJm zV4krDFNKyvo_C%yuMIBUefWL!54Ydqc{*|~Ul(3UpY^wS^vS;gd0>uv1Ve@B+JU1% z9m!01d8&y;(CUQ~fcnWw<0Yg<5{3u>6R>3Ms?=?Uq_0m?9MSiH?1T82lk(>v8x1t_}?!r5A!$y~hr#vviWfjR848T?at`ICV3ve!bs=y#Rz1;Qcp zN#t)QaAj$CB(%z$WqW>u8N_fKv}!5(emCFJLN3K0RnrV(bFtzN2Lt$L)169vK|y=O zaIn}A4q;)FV=3xcExfbMzM-_ncmLThQz!Bjhy{7Y$Lh1rND;Di zqFkVQfWXZV5A`6tO~v4A1k@Gq0T732WqBzLj|P}qzZ;ext<^yPctkASgj>TP0A~n zBgwFvO-I?Bp9-Nl&8R0R&;My;_4VRhQKpeHIi>0gn%$dB3MstC0NOHe^X*|3=h0T= zLaDC_K*i2{cegY`h$k`WVr?WLpozk0+NozvMmIp41{Z_BEjm_A{vF=v>rzCmVBh9k zq7#espo5MA@YGchP*QXNs3}40(){zSJD+EWdvdSs{}$QJGLjuDiB}?Z*y9^3YR?mW z`0F3C`l|o0hZ3Y~3dD6*^fFJ^${8(xqG*b#PxjKJ~%r^N?GA6VT%`S^@ znH6?Lef%j@IR!=foKs#BCBTt44Az`C5XU&`lHI^e$4@Z)$p?B%A9A?|5Pfnt3}~^} z;9`Ixl`#%_Sy%{hkbqKfYj{g2$dqF%V?agCwo;rp!M>!lm{Qb&a}qj)njr=#W^N2P z(NzgdA@hr>U|+!q06k2vhw^@PkUDZ_x{d4^`|-i08@&)u*sC3jYKKcLHA((qL=8X- zchC?KMRX+Y6IzYNjql8bC8IHcIu@@|^5qPv>Ax4;n*wi{U&y4{}OQZdF}NU&p$Z6B%a^e=||#fpG6*th{#F zHLCvL_X(6d)U+pUis5nrGU}HV&F!qt?+%=b-r|+i7%mzND_dNr@@9((5BG+)QS;BC zy-liI)-iH}jS|}yi4wu&00dCtXRjf;&}g3&9hYEPrsF=` zYIfeg8{)Ucr z-?M32V4ipga@{G|Q5%}W1LF5%_@BYpr+Cd zUt=c=Zz`wh`dhgg@vrT$sfvNzU9taWgY3RoTXsZ*{g!b_ z75d(ccHC}RQ<%h?`cK*TcK&`&kAA-Y2v4v6csi3GxI!cNYu*{pIIdk;mB3lc}eWORGb(cN!S9H5XNYlWMnW#O-X(g})Lc48b_ z7@|h9i~YT6t78ETUsw1Y1_SjDNk%gJlF!rsK;xnk0Rw&wyQZYieA5tRpM`_RAUT=y zEbwhn1)Kzv1=4(4t8q;Z_=pkeV`toW<$c8qYl<|;Hwy1oOC|~1YfE$MS0@J&;5a3j zUTihFKC8ec7KhyS35lS2?Z$r3v7L2xLG%RW3UuZdtgFBpio>&PUe0tcm$*@Q=$>%6 z$Jq4iI|z5Xm|%%9CjZ8wcl*3E_TPPhKP^M+Tp2-w$BlW4Cm0|x!bcS*mu`X>HPv__ zgfgbYOGh+jS>6u`F|F*Qyh+j~4L}YCL<9mJK+vN4m+OP9i@=1an)v}BnL$JVoNng( zc%`qG79YyTGTjG3`xQpy>61Q6A9~EuWD^pBa^Qsp1o1`;X?b%5b!RL22^^*jdvRKJE9V`Ttprlh1%H2JMy4B6u7 zTmTjkCwvGg-CNXIvIEu4JpukS_>o(~mLkuJRLt4ZM*^Hq$CNxE z{iQD#4U!=4PrfsYI3WQhVOEKrYb$O)XYaIoXns-Q-k$(PsdF;iiV34J?N6dlGqzhB zN*U50Kap3kB3DB7W0@Guzk!c|xVb|(P;LFUOwlX}g8f=}Pgujs{P|Q)U10$GJG`?X z=r0Ht2wy8QQ+~9+kd!H2S`ogqF2;@-Dx`+AM6kMs+fDeJ>8pg&g zAns7MIm#+Q@FUwC-npzeO}y`Uz9BVlbJVfE? zb7?tDXcX|36;Cttv54hhz`IYMy44(-;d6-wpJy!D_VF^(6^ou{K{N=s8yvsJ z`lgMlOaY)d85jLFXx|SeF0ZofafB24mpKrDGa3^>FO80=6bx!T%wbpL9Q+p<+cqYD z3lmYMWJZ7w7O&X{@yR1p_V4~h6CK;)Msc%Y5fE-5-Sf@F zHul*t-+a_4Eo(~Bq%8JsZr=}*$Iq{75hz>}fV>KTc|ecJmy^`p0~yfBIRCuqlQWJ@ zSnhBpFC?~1I=0^vIY#tpZ@lBXlcB;Qeau>_qCLWdslMo9VJcd8BrM(s`XYWYXva{- zIgjldY%cFjhNoq~_b*G(71-I-jKF6@Sku%~(yy^1<5pgQ}1mX>^(JXFipykjnpiH(>tf_x!)YZwzc4|MMxRT75fq zlNH9dx0lGa*?**&#P_DUa|aCOlVYQZ?y~N2SdwU|9#+eu=J#7X-sNg)TgRUezJwwj zsT|+8h**{IYlsS7tz1z6&!qDDp3G^(rk7}cdzLL=wc23cqv2t6db%?Az>Rc(0N$~F zW_C>x))%8b{@^~Eo%lY5FXzj?2<}5LxCsQr)QP^Bk?&(Wol2ep3_0`MT zyR~IK@@+(!>n^YTUYqz&?icWjgdZi6X`n!$&P$jOd^=}}-&Xgc>8@UJ>A4NxmvOPj zOB&riyHxH6J?DhD#*Vzuj4do`DRw^_$U6-y6i(W?g~>8T!v)Dr@P{R}Y^jtax51GI zK?zHLOe~d-_OLWk3OL&K`>32p2(GYZi%>pjax>tky5ww2Wr2-v&0UvYI$cjrH7=|1 zDeXwnlMvOG8?>n!+^h%cIuNM|q>R|rw8O7*O;C#~Gg5oD8&g6Su;Z#qXZN(A9{Z0i z*CpfugIiId2%kM`Jsr*gI5EyGSb2t{#F)Tz zJrGD2?3;IgQxDpWgC>L4Cn%w#MM)qQ&6`(IZx}K(SRj-bZG9+lJ;TCPV5a9ej)ACf z6)eDFPc#7l{DU)}t>#v$^*A9$_E$x#Ok&T$+Cr243>fEb45s#Mz9ru^$wpGbQM$1Anfq{`y z1Wb9FpEFH%vw&>hzd%gNBYM9v1M<@9%0HDjRsbcHNe953baC%nKLAU-j2=63O91IKvqo5XA80e~f(cCdGDQ?Fo&6u?1$?KTEEpQQ z9AX^0)G3dru)p9BLn~2R@h)~y_mq+uRIVSXWlL$rnfX71{-eQjrgF> zB8@Vv2an2*C0}Hh3|5wh{(S9JojNON5wT1&u5bs( zJ@yFc75Z*_Ol2!*1FQ@ymq*V_Fv8BLt1WL=J8`s8S~0W>`8a4I+BorIrd)p5*1dq# zAOCY5$K*$wcKv_7<+eq)(?Y`)OrlkGGxwrtElDMD@57Ypj6eb8Ab zlLYZ{Z19p`shr~HH3eIh*pn*z^XiH`^mSX&n-!Fj6*%p#MR7_76S(iv6%dqkE>kg* zI%q;Xv8S}#bZ9>W%7*Mj_k)Q#bI=7gt{i<^VJ#*nGY|Y^=cul$)5upmT+H@uP^CDu zj#iE8v(!|NQq4ln<>~E-{_O(iX<8@9Ct$~YTlOIOcFEUUXfZ1#N9_Q!z;R58%&%P8yl6}A#z6C0m(|}R z-C-2|H#)rFJr+4S`)r2}KjvPicsJj$PXkjZ-FIZ@qN^n*hBpfs#OV;CO+mL9s|0ya zRH~z#lQO}X;Ec?`g!`Q0fNb>;uJNM)`3ocj5y6kM;Lw7JeqaEp`sj>>Ymap``7T*t#r-YQ}*zzN@8T?`*o8 zOxbG4asQru!XIYQ2#gukfkl9DPz(rvwuJ!HSGA!3fU;AKJK8-f!$qUDrm5 zUs7Am9~qi=BeaCy+@7XkKR-bV|NCR+>PoRdxD@O|8RKqd2F~nsgX2ir>dld?o(Ga= zHbR40BbB^mh&2-uQ0odCTo%bb2(gG4sb~*IAE}LJ>~_ zs~tI10}oo8)B=HF@*YFtLUU*733yfgAKJkDLWapXs)*Vh7|A`~c52lU4oMYzBZmi4 zx0t(l`|kyyb7GSA9ykHJI@ww)OxlcdwO{$=!b$r%70D3tXd}+DfcPQO1KbrRCd(H*>>kx@YuS!0+veUeN=zq^3YwRA5pxTR z8bN#tLDAS7KP1v+4{d}8)GP18>fW}sZT4d7l#!O~5n^DioO^O4TP@Q7lK5lMm=+}m zlces7%#79s&xtXSsj;HOT)i+lIVyjN6Dxprfg*FCPXBoMrZ9x}5`lAMT(AKW1|Paa z=Joa~_sQgF7eyF)y8wgD(YA#S+H8>e>N5JKL1xW7U~w^+;f~GuVKYHgnJc%@xu#tm z#RbXnG)xT9t~hc$0-}eta082XiexxZ;oh>SaT%7C>KVseHk*pn=w%U+U(HeVnsu^j z{JcX=S<_v-zb4Q9lGl`yU@!tU>W9GGjXZaPtjMxK9Dk4-BCw`}QwI(-JWLeD67#FG z5}6%pq!j|1F=${TJ?q0?GiA&Ialh7yMc7(5V0c1OuaR5`erqTZB{pzvz#Gjymc$P~ zhZI~+p+ZMaZe?iUm~UO0#}vFN9sD_w9u!sb6ce}FVh7+K=8B2yqLo!5x3+5k5 zCfQ{Fu}0i>3HHkr-7;1@iMNn6xv#xT*vIV6D!n>{8Mbnz6Jpp@ngzWdirMQ%kI+i@ zj{h*Y02fts!nsC#tCrVNoEDd!I?Wot@f5b3~3TBTXnDv zB!pC~XAeoGO$2(dK&>c9@T9;K!BeSUQ<#VJdm-?#1|NA|{zAqb0|-=s4B>TvGeV0= z%#jSHv{Ft33NrAx8v4a(>}Wb*x%H{?`OtOVZtP=`INtDfBBIXqQakW9*$IJDzNuPP z4T0ZAhIi1#&{V*<1Xqk6M^bm0Gi$?-!!N{%j#Bc;_1kC~7t^YlYxe4;10|w+N8fDa z+tt^-F_36d7$CBUkw^Are!|H>*}ieIdqE>b>W> zZ915#z+g-$RzSACw0x;JW}EI*i?0wWOb`qTfNxt84{i;V_LxO)3E{I?hV7v zhZ6^!A9~hD9@H`)#d|vqM4#v+oqn(;yg=LM7J}}vCSf3wD3I5X30?jFFm_IjnP|-t zj&0kvZQHi(iEZ1qZF6Ef@5Hw4%$ak)FTOvpF1xx{S3l+Nh|^WG8ciQhtBWTsnx5oT zuYrbh9(c~JPlU^aGi}CtBmtZSHi>vbDdx=Y7|&H!P&dKuB|9Yc3rEqA-RYY;d6q}^ z;bQyR#GSW*9;0RSYn5EYRhKTbUxrNyIl^GHL_-1DQ$m{}i5(9?t&Mle-`_~wzjXKL z+C&a(fp`Z!3gM$RJ+rzRtoPk6)@QJm%H8MW5i>KQN82R9%Z0IV_#elsJIJz$3uk1_ zM9+1+xz8Y&*W|`WbkexqsN0RFmp1t0M8AAThRXxeAOJXk`vJDm?wlEj)r z4@rgdmX$|^-iT_v98%k`@D~`gdX=jl1b7U5$srwafa!3XAi^Gky$n*itj&c8ISdiN zGYkf8aQYp$#o3?n8LIIeDB6<80w&Fr6%5|YP7kCa90Bs4>mfYVTz5(J2d^Ld9;PL(9Sv9mIV<}&}BDiG61tO!Xf9xaSX5Du=uF50#(fl@A$@8UuPeW zs;*0u@<>H<^igXMFY^?$F^ZZutvgUI$ZP5~ZgVw)TsXuq1}R7y3Q(UWoW6uW38CjD zj!N-+5}7fJJqc&?=};|?e1dmS_FdG#gIzME1_}p$c|{IDg(}ERe)L>1Fz2wlH-a{>91Ik?v9nqOl>? z49eXspprOhHm3P_ybJwY5Te|1-Cn(E_rci!Vd{Oc!ne;@_ZP^DG<)&CdV~K6b7SUU zX8T{wmwi~ajvG>UKK|glOe$C2fLp0=A)KXYYDBa`kELfuDxxHvo1f8<2YmX@(_ zJ2evZ3aR^;jGZa*X3aSG@5(OweUF{zKI!gK;mBkxe#CFn+s>)`^;+ zNv|Wwa8tye{2zag?3?*lEfVCyO`tfe{ixf89X|u;Laq53GCiIJA;18D%ztcJ0WclWNal z{7{?@wP9v2JgcB&lVVuvW0DuVa#8QV9AM!`$sXRQQKefzU>U(Q2M1%j6&`_E)1`jJ zW~MJFDG%_hir7D21aUvwYe(bF)$(@8_SYvLpVWAn%F6nU=!CJj8s&9ax=G_4|v_wm@F z0C2wu(6P+>o1qnHZ`z3$ImxHaB}XlUBRa>cr)5>I8X)g`-J9DvxEP4$8t7Dk>{4L{ z3RS+lCQYnPsw;QPyu5WBrc91R&~$+#ivkf}oedV!F3Uj~0^0aLEm$Z@l}6UzE>3a> zdn=(c;~fJtl2UPeR;MK_nt0M+w8|#u{YVHiSkJN5=g5Y6VYS-y>BOW%Bn;C~#IFX1 zE%}Vb%-sF>y~#RLmG#S!)?{A1p3oUa;y%##*{@H=+HJJV1co}gV$KhaBVVI(+oKo5 z=B(b$a!dkNhLHh3g|<-Y{Y=rQpBhzq4%mUIvv)`j$>YEkcv+t zDp~i%9MQ;bdeVmt(8(S;-2)@(0FN8F>7ygSJ;8g8!2{f?cwt}7*89Nv1^b7qS0_LF z2d!3!DWxi)n!?K(+GaL|dJC90rr0%6-mdD4)V!r{ zW4yLoqsBNXd&HK_&yzk9a%nXr=}UW71iy&~L2o-19tXDvpq$_L{Dj*tsqk*BGbVX$}PO@DxvggS&)OEmi*{Iv|=Kh)vu; zTidkhN-1M2GGqdt65)^m)@sMqc;*(P@q6Neu~-+dr*5a-%waIire4!N z6yLbv5LHVPJq0n^)0>+jwcSyjTZL_1Z$_U11M;!)hr)9;I(vsV5>Jyro<{r8Bl=ZSI zX8R*w{;k;h7h~}cfQh~)J5?p%egEijI3fb~E#ML8uR=W>mXi6r>Z@J_=TWG-;8UHt z{w#2;td~9&PVnkOaiYC?iiAduAfQ@~lPx!c48j%x89WIbBP+{dY|?Tf=PqkbS8(5K zgegiW0xmv$TwY0JeG_HwZpsXCj5oB%mCc6^%>hfIXMI>HPCR-%A&S&Muz*bPNl!4= zotwrs4W2tXnXwxl)KN&~>?RpatQl`6iKd_(F%dJKy0{be=rDn>q}orENQy0B6f`LdiX3O zaH#kX{5uu{L!YSoGa8=G7BQJuP*Rq*$GG)r|b}CQ&A{NL>hIveyWqy zc^>-;p*|hC_c9TBC|nBtHz6IF`wcF?@F#GzZuKG^7-hW2-pI?F-!Q+X*di5=I<|aY zdoi@dJ&sjVX%an1X8(G%PLkd>uW9DAE)cUprij)!P0FRorwi*muZ3rUB^hH)I#`0- z+pwv~>`Oh(jjlGIruvnaIX>-Hi<(i*9SIFpd0i+m3|Db9NC9GVC;e1sye=Pr2L%0pfAv-(%w|0L12 zG8Da+^@aZU3Jan9y_e}E*EqoY=fcxlBA5hFTJ$)rB?fS|zu32V_6*KUuHc1vDA%Ta z6e6DlVYugY)m+<*hN^YzDd_kC5m|p2{;!(O_8&_=E>7HtXzYN%|{w#Y;4KbuZUuM2VyAkVi~@{NJbhVveZ< z(GSGLlOF5K*Za%)v>WZxkD(8pMW+1!R9bitmJ#HnkvNL!HE?<}JnXU3ZTT+Nyfl{CUW*q=lcnuQm^{ zX>`VjW;3pmLY&2UHh*jc;=Vyh=`Ey9(e=>eYJm6CwYR?WY3RoJPDn|6v2*{kyE4Xl zf$k?iFkE8**4@&G=oa0}QaZgiZic*jVNNhJ%%-FCb^s$C7*w>ZrachjDMCr`nLI2` zA?{qvXo`{G;PDcS*6cwH(iwoX2LBuHy1Qd!71vRjsyOmk+xhIc`i2M&r}v#NoTxnq zhm@oOsUY$Xi7|3$4Zxhc%zg+)fGL$UcIbXAC{Wf<7Oe)-7z~-Kzt524yb~NumZ0E- zt1}$0^RZ+hd2S4<*k9@{cejsSvdqkB3$2HVY7y@Gs&I=mg(%BR6p!9OdO*B6WAPo_ zzHFW+(-^2233kn~7v~i6{*;}-mnB$^bkmIyV1vWJFLgyKTNBXZ;QHwp%nyHAV=nWi(@-^50}I1=Ylkf6X@sxmKHcN_DJY0FalD5fRcA@<;!D7qPbrzX?qSBcXm4+e>BDM) z18SsKM2!2}S8TZxqQ45L``Jmp@lb99?}HdG_Wt{eJ7cYyUdrq9h}lvo;Nxdx#pl|M z{t{i}7Z?Emin_oWBr%$GK<%O(-_|P?BCmNH69)liVW!AF)PO`Pm~DG$id~qn+YX#z zC6A=L8@gf-s<=*{)lMyC4|`~6Pg>rfUq8A={LydyJ+>sNm$qcyA_a9&~Gi~s6H5Uhy2GCsjH z?gIJs#>Bt&*lfLu+JmR$C&x8xDBkL?1fu_H8dTfv#GfN7Q=ct2C5$nJEzkqOIqlZf z<7=bN0I9fhTZJjZmc;_|<=pJnlKGTMC?i4y7ogL$a^$p8t26PS166>Vy%6LxoogEO z2y$cVh$ttDMa)E(lZbtibNYQ#2ArdBbhEN)y2P*K~lt*cLmviT-39@9R)8lAowo|r}!X)Z9$3nl(A<8>mwJs zFqL&fQ558J{ZxrF8$4BWNrda21)*wS)Sxh*aCG{f&tg!0!weAbwK!J_qOK4~RHc@{ zMnKH(>Ff5DC3!09Nt11#C)^PC+XFxCCdeo(A4BDQt4%BIZH|%M5vbme?hk}iq?j3f z6yJ~ba0rlbYVtSXYLfB!`7>Lj1X`TK7GRG~yPE4rF8n0mD^+Wbks96)1HCWrsPTU9 z^K)907sUiq%YMEAZ>H|1Zwx(o&$9Y_zW%qvchwgy4Ry!@i8e(=xtju;)^-MBIlT;+ z?8uP;OJ;vcK5*hIKJc2*pKuBRY&k#FrIyVPR*897I>|K-8Zf9D>dS+DWoGT9R|9No z76Umr;j5irLOnG^^(xu6R7&AcODLZ|+gv=Ja@e9VAYUN~yIUbVwTPC}PQ|vbebO`3 zn|rXga-yWwBIAnWT7{Z8a1MsnOhsfKYJU^Lcx0PRBdBupv^Yxbd9!E;hrJ zjz;apvtmUEpvO{>vnY2fxu+lRh3)Bp0*gxYyO6|PGbtMbv6#u_0vku)7Ce7mL*M1h ze-uN+27L_iy!YS^nIkN$;Rhudjf!K1NyLIuxQ_+pWVTgJ%_4uTp3}$qLKv&6FAfd? z`A%Mm-@(Ltor5DOGF!bHk^C8x3Fc?E2EZXs+wF^T1hvD}`@su=o5q`xbpH+IdL_q! z@OXq+XKHd@1*b+CL-2O|mp@Pp;mU{jW|oG66OkUg$@?Sd5^&dLT z!SO$nsN1mg|Cw>FzWv2_PJr5Mr&aJA^@IEoIJYzkr@JHU&r<(z`?%Q+r!!vre@iL5 zT&YDEXuv`0Q6(2kMH{-bLhUo^llqPI>e1YuFNqF;klVy@)xp)AOu zNZd_0AVL}WkzJ%)-{1{?shLm}R}doiIVQwmGQBoGCNv&-jHRN=F0=?}ud3ZNKZ1|e z=&WK%^;^!n2T`Bs{};u)S-mAq$PTe7JrIc|<{<#W(LXlJF7kU?Fr6mQM=N6IIbVqk z8)!kKW>8ZHd_l?eDRT|)s3bqOn?*IXUh0aihZFGM3uEfnHXf1{Wz9jf6v zdsBe`!Q3w+H=tw{7qjLZ3f4$gyn?^V zs$GP{T34zlL==bYZKQ!rqvL~Tzy}Zhq`?HoWBBd7@&x1(tE4PbW$Dck)wEJ(-iK;j zeNy&a>?Kwp)-Vrb^@{tgkOHKG!R1O{Eb_U^AfRRGAn|XLM^HLV9p3Z1$;yHv$Eg~< z^0TdGsz~7eK@zt{c)v8v1>_hG)!1*kRA)Ze9ykU==U!C_Y5{fxq>%4Td`78okiDwL z*C3gqtJRL`!k*Oyfu*d#CAa(cbfJN@ux@F{vg@eH&#HexGUg5ei2_bjt`RJWL%C0O=hR-ERAjDMNMMSTQMDri_Vn3rSZS)2Soy9j{W_DSX7%Sb(~TJrFU5dZrifc}g1YDSl(%DJQT0?SLMdy<_O=+=z3!yLSh z@^(O=_vQirXnPdGDL>H>nd>~J8A>xp2llT#6LxUB=&v)CXe5I*Iio5MQQ@m_4eabK zjh4eF<@nl`YchdZb-s4^P;N-#Vx@h^9fKh$tB((}Q|+db10~cH{N$8BK7Au%mw2W^ z#67Vm2Mn*DMfTEB3hO_o(Th6>>}5f@`fPbT;tj*gg^wH&+CY$aYPw2f+<2Ba1(`7@ zTjwmxfLNVDvlWzoD4;@fdq!X?c&-_*aHj}Zm_p~+>IBjA7O5yx3vpAf12{ltDGP8Y zUZ_bs7gIw6PRshtKWkuWFBSDI#n$P5eH7*SIEu`Y-z}KkCDv;^T-fU|4>n|r$Gqc? zpwIh*_pk4hQ%la<-9GOougA5tGGtiLbTLD$HtZSK-$_4jAMc8*ws;A^<&3KLi%6&Mj6 ztHO$RR0|L@vRXd;f%9z2JDiE{C$7cbH2Fs|r&%(MSo0&I^XF|UsdZ?X+s8Wq`Xbyo z^?eLV2em?~ILV8G>hMSsd4v)n&#m<4qiuM>LM|M2lMilBcI7SZS|ANv1+0Q618vM= zm?CWSxrfUte_m5TQaX9o5xBKG85Q_q6OZUqLo=0O2?Ow!aFx||pTpB73_}-L3k=V- zUa@;e<*tBBL16-Z*&*T3z%4(OOvDEIFQb~G*kJ&Z=*eoIftT6Cm5`7+E zuEvK0fX6MZ{QpDLSpLHc!@|VQ`o9jJvs&5-TO26=Fk)vNl|inOugF(7!w@^$V9t1C zDHUW=Tqr&|kz&v&$4!6zE{b*dhug;;V}Q$LM@iJjH6hWjMc!iE)jMgEkF?5;>u(Ih zM)C;U<-VSFHIpXrh3*=YzFxO$8h%pDd#Ly{jM1-e6gEq4vbP(CI4#+A_^%PAlfmu* zpQ70oL!6?!w98D7pKDg-JMr!KGrfW%&S{v!$u|K5pEs+QJVZ#0N zz-|-EDyr<+ekl%*fHkaqilS+aAA)*+1t5+c&K(l8CWIJLSipVlHh+a_0yW^Ol~CU4 zWQPuQM#l2nsuA`MO-a<&_2wJkTXOezL#6wnJxOgXC*h=}Je#kdagwSK_m=-Z9$SB zS|*&=LFfsJud4$erl)fZMc2&U2g%IRhM;r8g@jT)Fe5knVzOQhv_Kx@o1fl0O)@s@ zs6edqGQu7e#7*>KdnrZG(mJ_nXAzaPoUQH7yZE=4XKBk9uO{SG>U6`{Ll~9Sbt2uo z1=sW9>)5vAZ?a@N#fnYQ;R!`ZWoMt4y}iqVk8K}MY^ZBg;g~0SRt-w$ZV}2w~(ZEJm zY3a}AFs{RXKvN0^MDYF=TZolaL>Xo+Z|jgb7@>jSW!E!@30=cmTO)nm8w=ilqa_$m z#waSoCs%#Den|d`^=6+Q)fmgGOzipSs}ZoT5XUrIy{CJ)BV>+WnVmXH&k4(TsRW^S zv|q?)hJT08pH8U)J`Yg4q0(Z7rTHo9vvfs{DvAM`vqnd4O{ApC;|is%&<8`m5;sF+hd03=k|McJ z>m&|cl162Nu+nYHrJ{ZEu&?Ywn&VWa5zYc-Ege5Qr^N!*xUXE%)^elpCuW(Za~R(m zt6_|ETg4+`%_frXA6w^-Citlv&v`5A1DdYmJXr}a!|Y&L>?{ZbhwZj)I75p@%~{ly zzjI&C6Wpx+K;z{%OYz)YJ{@>r{j*dSWUy_z{T>WSU6HijoAqh=bXEp;N?@bvW=kf} zSFpKW+1ccQ>aAC03|b7G5*MEA~p^2_Ekl&WGnm zb@h$iG|lNs+J;m$)FH;_Bba4ql-@UGW=q7yfC_@?rA86`HvL-~T9CC*#fm9 zWTw{o)O`}s&feUfIEa7jbw`AtU(^O95`66Fz&d-gV}99K8{yiK?hXr`4sQVNmI=l= zuy)>XQ=Lw-Uvkx(o=3+5AtEX13XHsh_sS$yOS-=tkBgy3plz6dVPI6p>FCs?!8bq^ zOV8%Ws_i@)cDe6>CCn96=}j&|DJL|M61vgu6x*}(Hsovz`}`$JyllC!0TX+me%#a? zq{uAP9C=U+E1)R3oFh4s>af&>9V!rm?)LQ@5&%ijq>Bxmu2eq_y6p~L?DHjAYx0*` zTkPCqv2uDem*q8B+*WJ_`-->=Lr-Gj`LrTW1e3SH`J-NzEgdasn{bzFAQLw|asl9- zHTYJNEaHl?T71U+2#mwOQp5&Lb=PbG&z?TnCqeywH6zSo5P>oYiaY~|LQ9K z17XI(&iX$?RMNDy6OR7fwC)-*JJvw7nMT zGA!VcYGbSEW5Qz7?!Bl_NbQW?Q`AFWR4-T48hKY=7l?`6AZ+No|7n;H&FP4U`W&6n z${|-4%@9v z@*8j7pGGg3_C+L&WFOp-jwz>9*izB~ZrO`6nDt-G`Ad9d556m5*C8U5@V{6+2ZiwS zh$`#OXCE>Y{@l)Au!7n~;oU5tsuBYS>54_r?sm2HLi2;{R)JnPg_n`2DxMm`P;W7QL&egd3sRf|}I=G9Ak+xv&qL=^?2Yyoo%7v;>4D zK{`C@qfXUM3M(u|;++s6R=hkfrpJMsL#O~LB7D_ zu_2b6pR~R7?#6P=)xd~_{AsPs^0~_vL(dI#GRkxqA8V_@Q7azgUH=t$@UReh(L4S; z=9)u{VQ!3PxqBvOU3svcrLQ<%?HV^ zfUNxF{53GB0s=ktASMuLiDH~dHKVY_`+8DKowA<_8^fgLaC%X3FiqkzI_`8jKl#Ld zL-h#K3tC*eQ#7b+fhH2Fl-pN#`(ab9_ibqz6|!%3J0#yRqj|J2^KDaGganfK78$ps zQiSirA1hb%lvpBj0W6AZRx6p&X{<^7*j8EyL~~q?gbCgBE7x`2+?Nf_cGPY`1j1W& z;UE0}hYd-9R98jlXa-iPBEc64^G_MCuq6knEUGX8frj~+NDV7IT!Yd#c$zo}#}l)xIr9}_5UisUs87r(B6T&R>+&MVx0-gUM{p}T>L ziEEXQ8i;JUokpuNjeutPY@9IQ%>RRD@4Z=sGIpf>lA3DHqCVgVSB1i!{5Zj@zKp0z;ua~@wMIfxg7Z|_W3Dn&|{7U$O{Fq*I zDb$VPvmPCpjwRF9!EdTjkWFF9iAY>Ce`?K>49rK-7J~392{+RSwGQNe?(=0QgRV|c z%UJ>=gpypY1#|097!FY06X&~CVUAcoeSeC1F7cmsU`6oI&q4TWBYHLLW!@tnUhYO- zwXuHe8RBv?B33M4UDem&552N?b2$~MMrY$Xia2-GzklMz^_hbB|e=k}UKDU`u~ z%{k7At_dFZ-q^vL?tx(N}{WdH@EW5PgI;X>HPM@rR^7ZDSO=M z91BOGLx|%uGY@OJ(!N18iT;QvpD5uXtJz8jl8QBHNNANk4Hs> z5+5xmj4{lx7+X36(xtS3Cc@Jivh*q@;tYWi#F?VM zNiWtF_+K%oVJMZWj?H!PhSW)*#VOWaw3#S4xkGH{!Rt{hVQ6sr|Ne=OcI$QSuxNHm z$*4k`xT5=3`n=~Y@*2V9+cF&S;}y(#>-oLY)Pe$RgI=Nd;9DJ$3+nA{_V7wykkLll z?rK=n8du054U%zrY9^-Z?vGtzqZ#Xy(dfqlWeJ!U0S-%lD}F)~Mt@vD;AItxA?-#X zzP7?#C^Eq@7^FF*Xq+DvqPiB#imaprXuStL7_?;Wt($53B_GrW_?$&;4Z(2VUY%^_v0NP@`oKHhJ0Oc*}RYBtitIvs(1E( z;&)FSl_?Wy0N-$iL_R(@wrj#kyqyZBcwFFux#^&N{6PohkmVl<&{`vl*5{xi7+=8` z{gS!eL00b}5<@S;5P_x(zjRE-V$N)W)u#6U7zujJD>4<;e!5gk66E@&rXL&=l7o@C z6pp*+9$cua%xFR3@1+n@uQWTAlySRNPT&2`I%9<&2*Ag-I)MBad81JZVeubLBkO;V z_n5gj{%0RVn%4IJd)or$4UMnJSukpf$z)uD1lYt|+_ahsXL*b+1DQDNQParf3FS8j z{9nn%6;{TA2z@=sZsU)(Z{t;3fc$OR;Vi7t-lw^8>Ru>;r7y2zqdW$3sj@l(qhc0k z9&1u8F?HtE_83FTvi0r9s_WNU0(v!hRomM08H=eNexE*yLfhH_rMf zvC-FNdlbiFNLh(Vejm^r$m{LLxw>THTT;$_UsyJ~s)|+>%p%vms-d#5Y{;3ixB1+K zW&64!fgXQsdvL22=9h=}6+G6C&>2RW^k1V^$f8#}u;dB3>wg;@HwhH zIR0=BaFiO^85e@I?P1p60jVmVVH5+;QK^;UcaRPHnETV@Jv{y#&f^(uu>OjC)4bH7 z=)@uLd%ePTRnqD?h4So}ee%%eu!1*7pq~A+X{`*zzK~tbA1A5-(AHH}8k8ETP$6d} z*9xk*v)L|8HPP#CndKSq9v)Q=0yM#A3z$JwB3fi;Qulhr%=aMaa&5D|u5#k6XL{Bw z7ZeExSRm*)Vs=yx&!%Z^7Etkqhyq^7vkYM=x{9sqkSl38b0f`g!IR@=o-mTixA#_r zw;!uO#W$-6#}^k13kz};B+dS&BtN|!X$l8wJq%;eeS2) zm!%GV!U_ z)#^jeI*TI_O*XJqExx_#QKgXirq}E~p>e+w$RvdpD21Y-_n01}`J&y-^oRdm&$ZSX zT?;_a6t~t8n@3XJJ?P{|{kudEg@VkZ*O&_)lL{(m&bHD+bg-T8+}b)?gVa~P&{yHJ zW4FKzF?INGn8~S^VuokP|ld=6{rp2U!+%2u7r>URs zq5g=~cz*=|cYxxXXbl8I0#lOO0!DM;%$wc>e}~1()^-VJ<% zT$>xaoJjl}tXm)J&#(gBc#~jUVTLG!@mm)M@4!_mN7=zZZJ{BXVf;15Rb@(}5rkg7 z@2VHvVg+JY8bJ1MWz3bJRDp5$y}km1W_=+EhE_uA*j)`08t5m8bL+1Mo@pza+VFeaw}aeJr@;%ZQk*SO_1U$fA>L6(!DWPD(*3PQvt%f?olIi+T_ zg&<-Ge4-CJ(T}y`cQKMi@GGN_UQvlexXrv|^0@0=JKN>#64Plm+EaqK`V3e4x@}F* zZ){7w%(AVQqP^o!O~;8L&Y1*JSS{f4U~UP1z4;;-lE4m6D}EMhexaQwOeN{`)jzoh z6J4|zs(=so6;g(b6;QZY!n+Vttp#SK11R;Nu#UrETqo@i@XW?O>*@falHWp8k_NKF zp$|wq1!6{Kif>w4z%Y@qT;NbMfH%1D)7MeMEwbS(;iK0jH|^YZxtmf6Sf~)NEy7QP zWR>(F5XvL3U7dszfmn_U7FW1u#~$=V9kZeR=YzLS?#27Y+DSyEM6=wj&M{w6KUKHdud8IiC|=S zv-8{g{(@5Nw_KSAAqIx>goolt>kUx4*)YLTmV4{N)QW{8@F31fk4dxJ@Lv1D9F<(z zehi2MWtUFaMncQkofg8)x4&w2M0u(Z4EQF(7Yfp8IZ=AKP=XA&bMWPTB3$hC7K&ma zFvGz@CFNuP(7bA*qBj*)6&MAXmc8yF%mdVNoX?Y*FX-fs)H$=-gRz;L8CsSCtuVf*{?&NIAeis$(Rd>^FyQILbq+%z57cx~OEZUg5d6WSmHvPE- zJUnOczlYFfz+jv0gXw$*S^cEr%H5O{SN^qJ*Cc>E^WL(%+V${Wj6b>yxI5SnGBJPQMAu z0a@<%&h}TBQVp|pj zl%{`c&GPKT*CNS$0;doaPY=`4AMH+-<26kNTuEUOCrSprPnmY;veX&27nW$HNu4G; z>Z24Fp_8=T+~6(Y>DODuCTS1)W@<{iikzu~D4SVGPi8MM*`(qShh(@|)<-6&$Yr0b zkaWjo$1E6U zotS8|)Ca81p!J;1_!&{!J`u)?R-snW>x#kosD3D)Djw|9N^S?;sxb75IyU?*ld=1C zK1CvHF;jjQqd0{Q!q#Epl6c502su!^BzavkXreii0uE9qwyMo!L**)ar5Rvb`jg<9 zvHpTUw@qL8WIqLWk-HJ$5_gFpOPKF$P}Ea2brui0;BOk&M~$}LaKyb`GT%eqkRfDU z{~|;v*Uq}!hR+08)*}W#T`pWsUuL#d9Qy?I+;?(#orjaJ48|x33o^}b|j_IT7vE}TF0Xo?E%GZ7R$DfIx=k@IDgRlhw z(h)E{(GqXSl8q4Sn})3U%v%VeCe2KlH=<{Q zhh{BO1)CbO!VYM3EQO$s(8e_q=Z}v;js`?XjS+v&CDX>WjZ}0?AmI+-Bq|sfBAKJ< zNX^IfmX>(|uW#ch2vNAc$I9CqysXRP41&ci;jlu$JC(gE_>pJxQSWe)^!XUW*->f zkn^Bt*G|I)*|_dx$DtkJTug}J30|+*R)W@LiHM}R#i*lFRM@avCO1)r>C!Dg0aE$Y z%9r@Yjpd#xOFs_B{Jw$mLr{xmJ0O3P?FtbC)W?HN#Mn~6B%r0$$j>lm<&g2dVr@i3 zVDVyUYhm%FHBs>q`s|aNS8$w&iM@$+{ZyR;R6TR$mx5lS(@zSg#(|7A8sZLUS~Cw* zr}7^ScVmShnD>fGX&$fZ9bt`(2UhA(C;Ez?doQNDS?E?|f&Tr9J-QcH-rju4LG-O# zOKqpSZJc3t`=_+MV}cbFIY&CfJ@^8^;|p(4(8-7l zfNlh{d7FRjz3`Xr(f#(?dI4$h_<{mMAa_B+Y?(L3gT0zKU6xwrFIj%=MF_uj%ZDLR z5r&eNgbGdd22V16V0H{d)L9iT&YFmkco2aPlrZJidhafYw|77o9=ElkTXp5@J)+zW4+WirM5{B>5-WrW# zSh(Td*;xz;qlN67!V~^L7hNc7if6}b$hXh4TOk-kn{ZzMu>2Yb%;c=#NRsr~ki>Rc zJeWMu$S0b}!UnKN?`Czvp(q-#f%B&`4BRfC?^gnWAvpgZPI$t<@K0~_jx*!;_*Te+ z6~n|jnewSKe@c;Wb%o@b+dn&q5q5sm2A zwQ#`^yl@~CAL}{Er!?X1{Fb2`3g0rLIA>}Et&Uw%%PuWMTFw{ZIZ!);n-_P20CZp@ zQc8oamayLfp)@Cs_m??Tr%G%H-{~WR%Jlv|P5SrrrhSlgyiHXl($`Xy)75x7{%%D%ycgTbZF$=im=i} zuhnw%#aQ`qX#QQNkbA;M!-Sog&&ROCufpPqcP&*%UDYwaX8KN2Y%dCix2n%hg9LAp6S<3@rTce za9AuIhZDX;!gD4l|nCY+^So`I;TB|Es?mj)=cI?>55#_mQ}OZ zWShuwKsUWHopFX?j(}5BcF82q)kmt3Z&8RLFDrDxL+EmbR3b4!1kPovX?8Ftc6*U< zj@6Urk%y{F4?Z`bJj?O>0xyCuE8kl z@57J}doxkcNzxuHA!AxDZ??MSFPZ6JgvB<=EE-2j@x>f~get^mtGRX6mhfdf$A~I{ zRdxwX{@B5OzAcmcVg+h3i7z~$A%k{8?oO}c@e$iu_;z<@`eybIl%_b-`m{#9`10^y zzwAM+pDOoV{f^f?=W8>|mH|^!A^zGPu4%Sj!ky7Jqf@_+XGsPbH5SrmQVfx@fHkR| z;?)MtMC18X?L2l$c)1Qx8`O@L8E&iOmtcHiB7MFisT@%&y1oSq$=qnw;4}bCJtV|7Up9 zFziBm+@YL4X&smrqS$~(ua^h`z1ztDG4@YEf_2dnE?Vj?+qP}nwr$(CZQHhO+qP|2 zo!)V8oH!Btf7p-fc}0wzbIi;yr<^z;ozlu~Zc*jh1QWL}@+E6J;cEqTOO4DPjJU4_ zLQ;*}Z9swlia_kV5?-E+SY4Kx5h%|}bvvHnoiMb)ci)1>vkyFYv7iaJMT{|FojK|q z0Qy)K=uFF)$xV{YYnCMduWDzvC?G1E?RRdT;Tdy|#Xf2YV{t*2TPChPh8+CpZYj}~ zJ(ctBHvpLmOFw7BIG636N%OYv*e$yui<_2*-4-ypFB5f(&BtxN;3-HnUDB#>z2dAu@GBPh+g7&AmhcDL< zdWfH(w}hT(*s!RQ2Pm`7JrkwlaWw5NJS_;(L>9|);QE*H<<_?7D|4)O^;q@B+4uwc zsg_nN86dW14Of6iqfq09g8Hwe3qWjVp6@UHH_2~6&{9@x{YT4=@BN%S5%Wq$>)?8`1DhU>fA}=*!wNQKMROtC~qX`-Y zK@-=_6$Vqg7o#U5uENmsa;GR|LUC|V(qWA>nZ1B#Dak=s9D*$hR)NM__a8D;VxFp- zu)1fNLGm^rcqEG1>#HD6UDvjs!q?ObpuF6x937UPLZ$RMNDv;hxyN{ofQIP_viN3( zK+8Ho;6`&ttCnT5#5EH_J22rbK(h}`f9FuGb2k)7PcaI`&PF7cv+VOfDSDpV*!Ks- zSCx z67nsAs-lGoa;xr|Xe8cbfL7Vjf#P6%7ruII+`Sk=-G_pF-Pv;aa!|^=^S0brClws5 z)YC0KZ|l-Zn!2JAvdSmQW9gIod)iitKLJ=aS~|H0eahpnSc?L>fNf=0!^43u5O6mk zm{vYmO{*swF0-m1tWZAG{v+$%7I$6&z2S$dp>nDT4LvK5Vd0Xcj?xxiq^17F; zq{$fHoF}?mTskoSp}0){VU?t(XZ^ohB~>?Vwpif)HO`+=Bkd&%ZzJcyRwp8nN31>D zY=#nv8HMYVFGo~}xo7v@LWOQ7O0TpColM z?wW;G3l2=jnr?km_t`riybqpS9Y|wwZoNA2p3a=yI8{m?cbTR-&s);BRnkGJ-z{hh z%TLi9+o(Drll$6m@GmIWVy=_BB7?XmG|;*7+W2sIcC!z~2JT@Z3eWnQWMr946fQ|- z5k+$0h$LN|YBYUAMt!tZp?P~hXsj+kGqjBUV}y2Q@&9Bsb1T;)VrPhYG#ZOYaWQQ) zYR*2W+2eS|QO|PYtkrzyM_SXpCdUSf-xrdkZvfEBkxS4ZYmDuDYn{m(qxDP zrS6bWYAmoy@doqf+KEVm1@9ck_ z{y11Z2|=RPo8M?EGR-pl#F>)Lsc#;V8en5%M;D&qe6q%aGBS{vFcUTYcHUMKUAF2hXx35G#RN(%ou@85VYH2^{aJkP!@EI<)GKns;-vULN>Ha z-Rh+8YsIGiyvl4L9;7ykW8kNq8?bP_D9Rp!gM&)hACHPl zQ0I1j5d+#|A_UAV+6NH+@z{VC%PW=uUnl{a1Q^+;dz6j&TH36TAGW6Caeh!N?_s%X zI&m%?>4#HB*zDpeLMTcYYU1A?4->_#s@;`gUDOSwB!zI8mEA*kqzxnJ za@z5I%7%#Y)1{Tj?!Mn*&qpo77prdM`7}OH#p;tfX^ z)yW!qOiQ(-cx#y_+8Wy^na5lBWj@rY^)ePk04)R!Vt9c|TxTw1yewBU?vh~3RExRc66h>Sk{ENsb<@`gLkcRPz#3*Hr zOp?mf*j~g=NgvyBE?zA}DIuK#>vN@Bv(MWqNyL3_@CS5#U6?eD(G75WoEZ8pw*S*3 zu98>?=k|eY!qgLxa4=iOBas&32Uxc1(g{UAsovqEN<>oKiD)Uf9Zj19Zt3c%?gEv+9JMK%qp71c*CH|KOdeBTzjfC^;c>JuWLga6($)p5qB(_Q5-QtFqL2*CT# ze@(gnN;$Ey(EVQx;n)A~D;)k+VVr-)ekhqdAWNQQr~aj%LHHtflXsl)Fp7nE4AJOw z9j}ioQSllLHfMQjDKnq&{OG?x8ul<3gzr>jIVw2+0iV0My~wi-_w&@jLn@=mc?cid zR^FGnlgm$I5>6q}KR=TQYi5-Q;%)b@LkiVK6%JG|98WJAR3P66ZDoPjMELp_H!WkM zN2l3ih1FldnM1k~K@PgTEAO`aT(Gh|G;My3lP8i5*ju=7wNVuX}R^H6_e)nb#be zey;?*6`L`2Gf?|Xl#Lwev#Tb)%BR+u$tSHX44KlLfW&g{)zx@X7{;oNT*BBUe4@a0 z4MNjs&yGiY#k?{Z>Dw5V&$5Ukn51pEZ~e9(xQ zxU;0|+wSdIv)VP#f&^+?@Rp=Ij;kJ2{NaC-$KQ8gQK9`X6z0p)!fD;OcB>Lm0lyjZk1DG;S}D{!pF8|H3trHoA1fsaF5 z<+o15X zpQ`~Qmsha%8~{M7&{c140|QuyE9z^XwhF#NME4nL=)ax(d!^LUW?=VRkZ%0QUcVFJ zA}J?kW+neUfk9WB5Khh%A}ZDS#uiXufFQz6N9xW%+<4U}nNbuZ!cE~Ey^eGb)aa>X zv4A4ER+PdDNoke z2BGbxy(KwFIqv_f+}J-QjVI)c9b8IOn_!7qoyk2eB8)=-D0Z} zWw;;4g-$;J9CCf}EqWonCt5Zr$C}i-P!t^MOmyUCccY#Ct-rC+q6BX6=MB7l-tRS_ zT#&AfDaLRQg3qvDFrd6>(?fzzgD$o9?+&DGW z9dds1cRA}M^CQrG zZk8&NaAJBBl!E-|k_~-!^>xNyyM;KS-H2b7Rje;{$>4OK(9FV@h_+r16Zh1y()iZ6 zF&4Q5HsA#IS}w>zGwd8lY}5c}eJy5{8byY1oa^68o@DWciPo)+&`mbiRR>~(|7E_< zMY3p;it3|V-3B=d&_f)|-u+@$n#4DAv^Dmp)j3Q4qq{jPXs**bgf$fSm<1^FJ%(Pp zmvihMCSrBEgViojIKKbNu#q;MB<+^7eNWG)Jzc!?MMVtBO|q@)S$SrGXKZ??zBEW} zvXUXt-XDWENpXFb>ffO8jA1O&x1%w|v z7A_K+zG#>3XFkbL7b?6U*b;ouFu?2l6dI7Czz7_(^SwpH*B9fx^0B zx~uzggEs2a_5^!i4L9qi!Nca8#~3J7yUMoQ#$0a46ILUcsTLD^|JM-&(C?13zdJ?S z-I7mso37ttti8u)u*jOAJ3aP+;DD&yCLAYzhR9hIP-E0dqj=$<0b(P#Gwgu&5U@bu zq43}x1NXWB;-{g+n5vAdoi=;i)8I5)_C*K}XnXkONTn1xodLN1U6mk+ zA2O#dtKn%&z`-`WE=~i@KRACunt2);s_Fi*i~&N<3F_C*^wtWiKPd`$L9ae329o_~ z=6q4aX=mtnQaDWj&^tA4pt{L8<_?A668X^e{z_s0k;35T1?=h)R+`qkCbZk^{wP2f&#_I>_<4+0^P6^U&t zwch5sE}hNBZ03Y*N$|_QfOrtnYO8355UX0FAI7MGlFF_Cy9zVTUh@S2Q8MxR4^jS? z$NJwr04$9EXDZ>en&!V{ACk{(EnFRRoPXG%bb*;3taS!7bxX74_BH-=pw)bfinf;c zjPY9R?!Iut6-B-3Q9iVs!cqGpXJ{x1P6+RT_!am_+);fi*-V{!wQ5eb*0+NQmNr08 zzu&|0)zxV3;2a^EI8`{SCXDd3!tF+{8fm7=a-tvo$>KTD9@i6X#Xmt_qWQ^4o|xIO z*{Gt(6z40C3Yr~1GI=?9CFh=(lXl-)AUg@8v!VW;`&VlM6)w=LP01;~%&>k^ z{kA#HZGo9v!k1p0+bzu&%Kl*V-VNWY&|KxTv;s*w4wt2q$|UdXj6`)P90)xYEgh=lwg z$Q@8WEGXqdg7fR8)zQ=HgQ!}M9tq2#$W+FzP(#w%aImfRMiZ=zLNPgKGugRCV=&?K z0x)6oZDaYk#ojFaaye9m*-%Fwi-3PPN3$>R7T;=$yzjLht8EXgjImZ_`fnVWSF>5; zW_ZpKtYT%P+?6;HA%?j&pfQL(f?ya~keEiYhJ5JmEH@qau^8CCaK2Dl2u8*#>zbtg zV{|BdpkohXQSfLHAN+Du`|HmYEablTG=4NZBD`3nywso$J&wGT0Z}nXIsBSLjzSbS z21JlLlhRZeC{RI|Wp_|OA-!8a5kzsFM{h3QO0bWEX6dHVdaRz|Xu#ZBwO8FC1L&R1 zZ3*`sums%;uK)+e7QYF^9C}~+!x+Vx8g-7pD}YtwJfq>LC=432n;+~hZK~p!zKDQV zlKD2{@PkoFmuUe+niPREjyxZ^^AnAl;^gze?Em~j>lQowsfnuT1g=lfVw%3<%q0qO z+$*KS%`0jYi$#|xX-!+ymZF%oj#|&MhH(|+1sluP_eAVFZg~a03xjAusQFyd$1i=? zkvfT(%a3l0&T@bMLsemAPW8*8`owmHVn&NXlywHi;en8TY>RBBnYrOX0@uY(s##8O zkE0)v<;e;frHCkhIfDF|YfW}Xd8x*~TMh{u&L>vt6o^TW`P|xHtJr(G>-7w(>B`7g z=NOP-Fa26PBazN6>^OqnZ`_h9HZ3uap%CLk#YG5}FE7+j%N^M!$nG}~y z>+*J}e~bZE{$K|jpRB%h1w!XKIx`}K%lF<`_<5eLwm}0=;RU@27!&_6C*9X#_k8aD zzO3c5eD86I!f(m1wflbMjd+)(=)M(j+X7yT67N)C_^ooji9rxo3aR=5Q$>OGVi26S z7b54Q6%6O_YLI}*L36|pR(Ny+hZ=`IRrN;6Eei0sVzgN23QU(;HJ(>k=dwOxP#AsM z;eD9M@@_kh2lr4Q!y%TX{#a!vj}K(0^4}64Y6)}FL2;^&-W7${aYsu(FOYWd#*A@^Qp%0IK@lF3Jx4)zicESqJ&QJ~ zvgl*>Cm{3wK5Pg7=c1W zi_g|Rq*ai~n??BB3b3ju0dHXx>dQTV+U_i`Xt54m$9d$4bodL za!xtVsA2Q0Bj@z20FeNfi+Xcl^m~TuBe!oSLYy*E-u=qE8A-bXDw`U1R628v>Fpv zC#6N2aPGl(q|?Tcb1iL9*n8e;s>1N+vQa_`x=at{1XlU$VoBMAdhM)xfi#u-?c|-= zsb1SsE!*y#+~|9EvB|W8HL<=xLGf*bILJf%1~#_Gd0b3hc8^(Vu`pYw~aw92_y%l7T5W+x)&6rXN=pS zjox>JJ3*K<6xPz_wiXgUU5t2^vT@zd61rVrWh40p7sZTC!~++a76-I^Z}Pfn09|kZ zr0-5;j)GkcLD$LykDty?=>4ny9*<5tGCD18E19Ts&Ws$cmo1IMQQO7)=b-m;m04C2 zrV++z8wbwbJ$k9U0K#-LZx1ob)sdcQK!{I?R8x&Z`xD>@G5v^;262$Xao64=Du!{L z88l1sEnZSv06? zFs(-U>vd)2BS*Fr7YkkUR`iQ!sn&cH&_KK`v+?_~?lKcCucGjNYH;$P#f{cnyy)O| zs~A66j{rnhTNMyxap#ivTF=g9!@I6Bxy!F-@{_2NiLjiS3N(VLu%)2J4&MHY)Pji< zVD0tG!PWS^PF%b$a^YSJt%j}sedMj+xNtVZ#d>}d#vl!ybx{z>){Y2WFD?gGWs`&C zTzyU2A3NP~32*YaPS_Cz^tNB8^&%P!&>X)+^^GF2?B!*Ua`i+&JTnM)|s z2#0?@f8s6GTq`{;wzs=^{Oix%4#en^I2`9pvxz#&+RF-&h749bv~%&Cj;(7ksX#t0 zPb}B;sndv(=GbwDTaZ^C)F`lg?mkRvRzNpl-utk5tnw?m*r=jJdkdC3X zXlHbE{vHse#mV9`^pF2t4gAUL;T6brN7V+TXnu)p=J(@Jfvnne|8O3T{Zod|NBG)L zfIFQjH~Il#&tnsD&Zfj!17t!6>kq&`VNjK4#8vJkoe~^PSQTk%UCu0h*)%Rl?(9)2 zka3)7pcI|2wj&Wv6pWu0X{}8tR;Xozz%SrfQ0BE}*+eYzFiHrvGf4E&1J)t(1|@T? zzj!(v7xGf^V98vo+tq(dx#jQJf0b|`Kw)jQH*=DB-eI;LQ35HW8u-ZggvA3&D#Wm! z9-6w(HgS>Zq0_>j$&&cRg}l|Gzol1>M6_MKr_}-)8mP6$K|WhOJAig{>EygqM)%NS z1_m?(H0UToyQkTv8-NQ2DA41)jKB0gnUa)orz3F))_Nm4!rIJ{CW+!ZhFsZ6f0w?q z73?oy4pi=d2<21-@nS>jwu;P~FZP~R3Rq!t8PV)Q7ldq}eGX7Po|^1$30vuBE3NY0 z0mMREi5{8>!;hV0(iZXzno`KMol+%7w=^31*X%1Y8~EUJcf#t`rlGiH1Xw2Fok(` zEKq2BwDS+arO#p#34lom9(*dNjwo{c|oK1{IHPjqiu&OiK%Le?IO^ zPSKWb!--j}OZ4~Kk*ji{0h4aT>&zK=CivGU zlj&`#9i!?H(k~?(MY=a5;9%24QE!h#VO~<(wIjewX7B&`TlF&XKK+)HUTVo0PFpp{0V`{=Rshg>0u{jZp%<30c>g{+;#VT zF~x+lqOVR$mY4BTqNLmddt!qFKj4zAx zR#w}pgzHJ{D?6}qpf#QuO#_%@0K=?mQHr?ZkD3JzLsO0<6wk}BOKBUO+}_H z;4t7QKXx%2=o0cj6RmHz7!2HJYxV75FruFx$PKak>ttt#_!=&iDP=WbZX=qvTA5`q)9$RHdBJ>)wd1Y=F3iI3(#k41 zKwc8qjszgo(w7X|tnx0jmlPlpcspAK0Q&=$d2W$$z4RNm{~Jcc9d%_+bztb`Wb7sG z%!#U#M$CbJ1YSoz>B2cUC%>!_(Z(6L9X}Ii>J*0U+pIVycYdDzWIShZHM|5?G9tj0 zHJMCe;^wUHy3H4^ynh`(JKj-fbeGR*515rXK-ph^Jv$}ti*O$U*$X!rfA|W``z^k7 z9@JS^;6>#HfL-6oG zI665P>sv#(Z8WP++HA5RZGTd>r3FI?LDA|a03ii3c>`p(EQ)7aF{sa_7(gZyt12v< z+@e@Bm{ zCeGhu7K71Y)Ps#3nIKvqBvRg5>8m&^#CYQejmnPnBu#Kqrbs4^y4-nZkhVPER>(wl zVSHwZa@-YR>B{az>&ULWBcFOASQF$jK;zIa=NI7>8GrCpTTB+VnfEL(s+)kCv>GSG zx}PntcVnv?w?4Wfe45*QDl3$bG)^8I(PR@RXTK$&P7m19)X-Q-b=!H)ER<_^4p@ik z$gf=9FC@K^MuUvn`Y|HRi#cx7o#I1>!)66IQ2fsFIT?6sR|04);DLp~&@stH!>F!C z4Y9q)&`}h`d07gk3JC!&cd4hv&ldhx>1?VammvF#Fy+DfbPiRK(g!g`5EKAOBVTk9 z(i7?nHK$~{|AEumg)-3C6XO|@CX)%gQTk>cfuNk-O1`(wT8sG|_xY{C5CFR}tS|oC zd7vn-e9q)p&&cI%Ze_80U9sAvsunQOpDJF-8-d5q!3DWW%sFC!yZZb+e408HgLKT2 zotXitlapmJ^0P1XWPb@5n5~C9Lo>kbKQzxWV1<7Ku;?-YDyOSq*iO4$pXt^lTZn#?6`*~I)+$lsS47^lL=F**uFB? zor%@%*hxk(Sn%cCM#tw^XmlR9vIK7;JeLgAN@a`oO6q{fC!8F4L9WMjU?Rlq(Dh-x zd2v4>CGyTW8bH_Nqbh2x4(@t>63J5;qahcGn9PZ|l_g@SVaGW1CPk1zeUe2EDx>vtYttLsH?p&6-al0b6{w^NK7f; zd6Y0$pEhzViQReO^H=%URxSCm)?Oud*&2EbdV<783E?|N7_c6WV8;wttkvK;+2Cw8`X>67Xr;| z1=6xF9|1JVIxy_7J&U3!2tA{NqZiExXx0)ZiVC^{IRa%>*auT*Pj4RC5f&vIc!)kr zDGwzraqh>3n-MekcXZvLe^E@jCtNXK0ikWDPk)dWwH8)}cI5*dpBp-P zY%|4!Go_;^kj^=&xDbED?e6~SXmFf-P4J69Yr>Ll@8TsPm62IKL^w;;f`tmC_Q0v) zMz1oG?N}UB^+J?Ur~F(XNuc(`f&|xqeJBvP^_&7^{>NoXN&#uC){)%Jmkcu1 z96cZON8yJTqmk}Ns1jMq)DD&4VxUe5=6W-b*8Wli?%ogUCM>$h^9%?UBU8ER@fbd; zspj|&%pZo9JX#j|CqZZYPH&U=Vne;!FlTCk`<*`+6)szpb9xq@P zi&#||20NjPdK)-VGAQ*8n7^P(Z6*oy?+E+f%#Itt1>n=;&X+Yhk2@Bl&TBvtqW;arstH6%L_rQ z9Ei9T%^va)Kz_iX7s6fi`BI4nFd=|=hfVd%>62|HvhDev+>$bc{HqGvAz(0iHmK9y z*yO-2j0{e5AR|6}hF{0`TLG6OaaKE?>v0*!d8&$z3E(!H7m+2w2AN|af;?@le=Zqc zDQR85++^hjOC^T$5afOz0rwE`ym-}txh#ne73qy+!P*qmq1?R9hX#jUGc^9JIpAr^ zpTA92rU}pW(AggABMzVR7*N&%U^Gw3fUaEnRZh4sy8#1CMqO{(iwq`{__L~w5G9aP z;jclxG~GZ0<6y3BsabJ}kr%ydAx>V`39DpES-ESRY<8{y`Onz@S8%1T*EQT|j8G@g zt)e1Ekjx;>Ka%Wjr2}8AKmk$bPbUo$vVbBU=YZ8Wk*0-9wWkc9opYt940uL3QF|

+ZImEL+RSGcojLvpJ_LE$5&H&@}2(~{Y7u$zx+;z(t%*nymv_K7^y z{m7J!Mqj*_Q4a^tayFt}P9vT9?M`Q_V9jpxO8>w#jy3rO8_j*f1WPEC_$MHR8YpZu`G@;5-}r`g0)*7bb0s9*)tHOBMKuChriWi5P4b8|($-gJ zomtz1E?OYtiO1Sj!Oi2JN7q7o*~^;8pwaR$yhTH5?9Erw8D5WZ&2{LnG!!=aXoQn` z9*GfQm(Z9SlB4{hjpd*{KfHra?+iF_XTK2K(y%LvozUqXrLJZaY!N_rq|LraSGyG_{#AP(>6o}6#Qi|6g z2cl>$=EACjD6{+bG9dQ*>0=rzae!2!iaLB&5 zh@Q*9QwT2gHWecFX+XvwldV6(H3nh6iy>YEF-0O0>%%0D;@B9>Q%_=g25+0CJe*aZ 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ℜryl*(1+Bp@)7N*dbFGJ#gW{OUM?42 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 X!c8Z1G`kJ&+CzxpzgkOO$M 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 literal 0 HcmV?d00001 From ccc856533fe7f34aeaa052b7c57f1c7672f5b351 Mon Sep 17 00:00:00 2001 From: Stefan Rueger Date: Sun, 4 Aug 2024 19:50:43 +0100 Subject: [PATCH 04/49] Provide str_ccpgmids() function --- src/libavrdude.h | 1 + src/strutil.c | 15 +++++++++++++++ 2 files changed, 16 insertions(+) diff --git a/src/libavrdude.h b/src/libavrdude.h index 0e39159a9..813907df3 100644 --- a/src/libavrdude.h +++ b/src/libavrdude.h @@ -1696,6 +1696,7 @@ int str_levenshtein(const char *str1, const char *str2, int swap, int subst, int size_t str_weighted_damerau_levenshtein(const char *str1, const char *str2); int str_mcunames_signature(const unsigned char *sigs, int pm, char *p, size_t n); const char *str_ccmcunames_signature(const unsigned char *sigs, int pm); +const char *str_ccpgmids(LISTID pgm_id); int led_set(const PROGRAMMER *pgm, int led); int led_clr(const PROGRAMMER *pgm, int led); diff --git a/src/strutil.c b/src/strutil.c index bd22e368b..209996d8c 100644 --- a/src/strutil.c +++ b/src/strutil.c @@ -1422,3 +1422,18 @@ const char *str_ccmcunames_signature(const unsigned char *sigs, int pm) { return str_ccprintf("%s", names); } + +// Returns a comma-separated list of pgm->id names +const char *str_ccpgmids(LISTID pgm_id) { + char ids[1024], *idp = ids; + + for(LNODEID idn=lfirst(pgm_id); idn; idn=lnext(idn)) { + char *id = ldata(idn); + if((idp - ids) + 3 + strlen(id) <= sizeof ids) { + if(idp > ids) + strcpy(idp, ", "), idp += 2; + strcpy(idp, id), idp += strlen(id); + } + } + return str_ccprintf("%s", ids); +} From 7cc0e08b8981315ac1057018cfc003026bd5109d Mon Sep 17 00:00:00 2001 From: Stefan Rueger Date: Sun, 4 Aug 2024 19:56:35 +0100 Subject: [PATCH 05/49] Add relevant usbvid/usbpid to programmers in avrdude.conf --- src/avrdude.conf.in | 81 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 81 insertions(+) diff --git a/src/avrdude.conf.in b/src/avrdude.conf.in index 02c29168f..f97b00623 100644 --- a/src/avrdude.conf.in +++ b/src/avrdude.conf.in @@ -1537,6 +1537,8 @@ programmer # avrispmkII prog_modes = PM_TPI | PM_ISP | PM_PDI; extra_features = HAS_VTARG_READ; connection_type = usb; + usbvid = 0x03eb; + usbpid = 0x2104; ; #------------------------------------------------------------ @@ -1714,6 +1716,8 @@ programmer # stk600 prog_modes = PM_TPI | PM_ISP | PM_PDI; extra_features = HAS_VTARG_ADJ | HAS_VTARG_READ | HAS_FOSC_ADJ | HAS_VAREF_ADJ; connection_type = usb; + usbvid = 0x03eb; + usbpid = 0x2106; ; #------------------------------------------------------------ @@ -1727,6 +1731,8 @@ programmer # stk600pp prog_modes = PM_HVPP; extra_features = HAS_VTARG_ADJ | HAS_VTARG_READ | HAS_FOSC_ADJ | HAS_VAREF_ADJ; connection_type = usb; + usbvid = 0x03eb; + usbpid = 0x2106; ; #------------------------------------------------------------ @@ -1740,6 +1746,8 @@ programmer # stk600hvsp prog_modes = PM_HVSP; extra_features = HAS_VTARG_ADJ | HAS_VTARG_READ | HAS_FOSC_ADJ | HAS_VAREF_ADJ; connection_type = usb; + usbvid = 0x03eb; + usbpid = 0x2106; ; #------------------------------------------------------------ @@ -1773,6 +1781,8 @@ programmer # ft245r type = "ftdi_syncbb"; prog_modes = PM_TPI | PM_ISP; connection_type = usb; + usbvid = 0x0403; + usbpid = 0x6001; reset = 4; # D4 sck = 0; # D0 sdo = 2; # D2 @@ -1810,6 +1820,8 @@ programmer # bwmega type = "ftdi_syncbb"; prog_modes = PM_TPI | PM_ISP; connection_type = usb; + usbvid = 0x0403; + usbpid = 0x6001; reset = 7; # RI sck = 6; # DCD sdo = 3; # CTS @@ -1833,6 +1845,8 @@ programmer # arduino-ft232r type = "ftdi_syncbb"; prog_modes = PM_TPI | PM_ISP; connection_type = usb; + usbvid = 0x0403; + usbpid = 0x6001; reset = 7; # RI X3(4) sck = 5; # DSR X3(2) sdo = 6; # DCD X3(3) @@ -1852,6 +1866,8 @@ programmer # tc2030 type = "ftdi_syncbb"; prog_modes = PM_TPI | PM_ISP; connection_type = usb; + usbvid = 0x0403; + usbpid = 0x6001; # FOR TPI devices: reset = 3; # CTS = D3 (wire to ~RESET) sck = 2; # RTS = D2 (wire to SCK) @@ -1876,6 +1892,8 @@ programmer # uncompatino type = "ftdi_syncbb"; prog_modes = PM_TPI | PM_ISP; connection_type = usb; + usbvid = 0x0403; + usbpid = 0x6001; reset = 7; # ri sck = 5; # dsr sdo = 6; # dcd @@ -1908,6 +1926,8 @@ programmer # ttl232r type = "ftdi_syncbb"; prog_modes = PM_TPI | PM_ISP; connection_type = usb; + usbvid = 0x0403; + usbpid = 0x6001; reset = 0; # txd sck = 1; # rxd sdo = 3; # cts @@ -2280,6 +2300,8 @@ programmer # jtagmkII extra_features = HAS_VTARG_READ; connection_type = usb; baudrate = 19200; # default is 19200 + usbvid = 0x03eb; + usbpid = 0x2103; ; #------------------------------------------------------------ @@ -2315,6 +2337,8 @@ programmer # jtag2isp extra_features = HAS_VTARG_READ; connection_type = usb; baudrate = 115200; + usbvid = 0x03eb; + usbpid = 0x2103; ; #------------------------------------------------------------ @@ -2331,6 +2355,8 @@ programmer # jtag2dw extra_features = HAS_VTARG_READ; connection_type = usb; baudrate = 115200; + usbvid = 0x03eb; + usbpid = 0x2103; ; #------------------------------------------------------------ @@ -2347,6 +2373,8 @@ programmer # jtagmkII_avr32 extra_features = HAS_VTARG_READ; connection_type = usb; baudrate = 115200; + usbvid = 0x03eb; + usbpid = 0x2103; ; #------------------------------------------------------------ @@ -2363,6 +2391,8 @@ programmer # jtag2pdi extra_features = HAS_VTARG_READ; connection_type = usb; baudrate = 115200; + usbvid = 0x03eb; + usbpid = 0x2103; ; #------------------------------------------------------------ @@ -2381,6 +2411,8 @@ programmer # dragon_jtag extra_features = HAS_VTARG_READ; connection_type = usb; baudrate = 115200; + usbvid = 0x03eb; + usbpid = 0x2107; ; #------------------------------------------------------------ @@ -2397,6 +2429,8 @@ programmer # dragon_isp extra_features = HAS_VTARG_READ; connection_type = usb; baudrate = 115200; + usbvid = 0x03eb; + usbpid = 0x2107; ; #------------------------------------------------------------ @@ -2413,6 +2447,8 @@ programmer # dragon_pp extra_features = HAS_VTARG_READ; connection_type = usb; baudrate = 115200; + usbvid = 0x03eb; + usbpid = 0x2107; ; #------------------------------------------------------------ @@ -2429,6 +2465,8 @@ programmer # dragon_hvsp extra_features = HAS_VTARG_READ; connection_type = usb; baudrate = 115200; + usbvid = 0x03eb; + usbpid = 0x2107; ; #------------------------------------------------------------ @@ -2445,6 +2483,8 @@ programmer # dragon_dw extra_features = HAS_VTARG_READ; connection_type = usb; baudrate = 115200; + usbvid = 0x03eb; + usbpid = 0x2107; ; #------------------------------------------------------------ @@ -2461,6 +2501,8 @@ programmer # dragon_pdi extra_features = HAS_VTARG_READ; connection_type = usb; baudrate = 115200; + usbvid = 0x03eb; + usbpid = 0x2107; ; #------------------------------------------------------------ @@ -2488,6 +2530,7 @@ programmer # jtag3 prog_modes = PM_JTAG | PM_XMEGAJTAG | PM_AVR32JTAG; extra_features = HAS_VTARG_READ; connection_type = usb; + usbvid = 0x03eb; usbpid = 0x2110, 0x2140; ; @@ -2502,6 +2545,7 @@ programmer # jtag3pdi prog_modes = PM_PDI; extra_features = HAS_VTARG_READ; connection_type = usb; + usbvid = 0x03eb; usbpid = 0x2110, 0x2140; ; @@ -2516,6 +2560,7 @@ programmer # jtag3updi prog_modes = PM_UPDI; extra_features = HAS_VTARG_READ; connection_type = usb; + usbvid = 0x03eb; usbpid = 0x2110, 0x2140; hvupdi_support = 1; ; @@ -2531,6 +2576,7 @@ programmer # jtag3dw prog_modes = PM_debugWIRE; extra_features = HAS_VTARG_READ; connection_type = usb; + usbvid = 0x03eb; usbpid = 0x2110, 0x2140; ; @@ -2545,6 +2591,7 @@ programmer # jtag3isp prog_modes = PM_ISP; extra_features = HAS_VTARG_READ; connection_type = usb; + usbvid = 0x03eb; usbpid = 0x2110, 0x2140; ; @@ -2570,6 +2617,7 @@ programmer # xplainedpro prog_modes = PM_JTAG | PM_XMEGAJTAG | PM_AVR32JTAG; extra_features = HAS_VTARG_READ; connection_type = usb; + usbvid = 0x03eb; usbpid = 0x2111; ; @@ -2584,6 +2632,7 @@ programmer # xplainedpro_pdi prog_modes = PM_PDI; extra_features = HAS_VTARG_READ; connection_type = usb; + usbvid = 0x03eb; usbpid = 0x2111; hvupdi_support = 1; ; @@ -2599,6 +2648,7 @@ programmer # xplainedpro_updi prog_modes = PM_UPDI; extra_features = HAS_VTARG_READ; connection_type = usb; + usbvid = 0x03eb; usbpid = 0x2111; hvupdi_support = 1; ; @@ -2631,6 +2681,7 @@ programmer # xplainedmini prog_modes = PM_ISP; extra_features = HAS_SUFFER | HAS_VTARG_SWITCH; connection_type = usb; + usbvid = 0x03eb; usbpid = 0x2145; ; @@ -2650,6 +2701,7 @@ programmer # xplainedmini_dw prog_modes = PM_debugWIRE; extra_features = HAS_SUFFER | HAS_VTARG_SWITCH; connection_type = usb; + usbvid = 0x03eb; usbpid = 0x2145; ; @@ -2667,6 +2719,7 @@ programmer # xplainedmini_updi prog_modes = PM_UPDI; extra_features = HAS_SUFFER | HAS_VTARG_SWITCH; connection_type = usb; + usbvid = 0x03eb; usbpid = 0x2145; hvupdi_support = 1; ; @@ -2681,6 +2734,7 @@ programmer # xplainedmini_tpi type = "jtagice3_tpi"; prog_modes = PM_TPI; connection_type = usb; + usbvid = 0x03eb; usbpid = 0x2145; ; @@ -2709,6 +2763,7 @@ programmer # atmelice prog_modes = PM_JTAG | PM_XMEGAJTAG | PM_AVR32JTAG; extra_features = HAS_VTARG_READ; connection_type = usb; + usbvid = 0x03eb; usbpid = 0x2141; ; @@ -2723,6 +2778,7 @@ programmer # atmelice_pdi prog_modes = PM_PDI; extra_features = HAS_VTARG_READ; connection_type = usb; + usbvid = 0x03eb; usbpid = 0x2141; ; @@ -2737,6 +2793,7 @@ programmer # atmelice_updi prog_modes = PM_UPDI; extra_features = HAS_VTARG_READ; connection_type = usb; + usbvid = 0x03eb; usbpid = 0x2141; hvupdi_support = 1; ; @@ -2752,6 +2809,7 @@ programmer # atmelice_dw prog_modes = PM_debugWIRE; extra_features = HAS_VTARG_READ; connection_type = usb; + usbvid = 0x03eb; usbpid = 0x2141; ; @@ -2766,6 +2824,7 @@ programmer # atmelice_isp prog_modes = PM_ISP; extra_features = HAS_VTARG_READ; connection_type = usb; + usbvid = 0x03eb; usbpid = 0x2141; ; @@ -2780,6 +2839,7 @@ programmer # atmelice_tpi prog_modes = PM_TPI; extra_features = HAS_VTARG_READ; connection_type = usb; + usbvid = 0x03eb; usbpid = 0x2141; ; @@ -2813,6 +2873,7 @@ programmer # powerdebugger prog_modes = PM_JTAG | PM_XMEGAJTAG | PM_AVR32JTAG; extra_features = HAS_VTARG_ADJ | HAS_VTARG_READ; connection_type = usb; + usbvid = 0x03eb; usbpid = 0x2144; ; @@ -2827,6 +2888,7 @@ programmer # powerdebugger_pdi prog_modes = PM_PDI; extra_features = HAS_VTARG_ADJ | HAS_VTARG_READ; connection_type = usb; + usbvid = 0x03eb; usbpid = 0x2144; ; @@ -2841,6 +2903,7 @@ programmer # powerdebugger_updi prog_modes = PM_UPDI; extra_features = HAS_VTARG_ADJ | HAS_VTARG_READ; connection_type = usb; + usbvid = 0x03eb; usbpid = 0x2144; hvupdi_support = 0, 1; ; @@ -2856,6 +2919,7 @@ programmer # powerdebugger_dw prog_modes = PM_debugWIRE; extra_features = HAS_VTARG_ADJ | HAS_VTARG_READ; connection_type = usb; + usbvid = 0x03eb; usbpid = 0x2144; ; @@ -2870,6 +2934,7 @@ programmer # powerdebugger_isp prog_modes = PM_ISP; extra_features = HAS_VTARG_ADJ | HAS_VTARG_READ; connection_type = usb; + usbvid = 0x03eb; usbpid = 0x2144; ; @@ -2884,6 +2949,7 @@ programmer # powerdebugger_tpi prog_modes = PM_TPI; extra_features = HAS_VTARG_ADJ | HAS_VTARG_READ; connection_type = usb; + usbvid = 0x03eb; usbpid = 0x2144; ; @@ -2930,6 +2996,7 @@ programmer # pickit4 prog_modes = PM_JTAG | PM_XMEGAJTAG; extra_features = HAS_VTARG_READ; connection_type = usb; + usbvid = 0x03eb; usbpid = 0x2177, 0x2178, 0x2179; ; @@ -2944,6 +3011,7 @@ programmer # pickit4_updi prog_modes = PM_UPDI; extra_features = HAS_VTARG_READ; connection_type = usb; + usbvid = 0x03eb; usbpid = 0x2177, 0x2178, 0x2179; hvupdi_support = 0, 1, 2; ; @@ -2959,6 +3027,7 @@ programmer # pickit4_pdi prog_modes = PM_PDI; extra_features = HAS_VTARG_READ; connection_type = usb; + usbvid = 0x03eb; usbpid = 0x2177, 0x2178, 0x2179; ; @@ -2976,6 +3045,7 @@ programmer # pickit4_isp prog_modes = PM_ISP; extra_features = HAS_VTARG_READ; connection_type = usb; + usbvid = 0x03eb; usbpid = 0x2177, 0x2178, 0x2179; ; @@ -2990,6 +3060,7 @@ programmer # pickit4_tpi prog_modes = PM_TPI; extra_features = HAS_VTARG_READ; connection_type = usb; + usbvid = 0x03eb; usbpid = 0x2177, 0x2178, 0x2179; ; @@ -3036,6 +3107,7 @@ programmer # snap prog_modes = PM_JTAG | PM_XMEGAJTAG; extra_features = HAS_VTARG_READ; connection_type = usb; + usbvid = 0x03eb; usbpid = 0x2180, 0x217f, 0x2181; ; @@ -3054,6 +3126,7 @@ programmer # snap_updi prog_modes = PM_UPDI; extra_features = HAS_VTARG_READ; connection_type = usb; + usbvid = 0x03eb; usbpid = 0x2180, 0x217f, 0x2181; hvupdi_support = 1; ; @@ -3069,6 +3142,7 @@ programmer # snap_pdi prog_modes = PM_PDI; extra_features = HAS_VTARG_READ; connection_type = usb; + usbvid = 0x03eb; usbpid = 0x2180, 0x217f, 0x2181; ; @@ -3086,6 +3160,7 @@ programmer # snap_isp prog_modes = PM_ISP; extra_features = HAS_VTARG_READ; connection_type = usb; + usbvid = 0x03eb; usbpid = 0x2180, 0x217f, 0x2181; ; @@ -3100,6 +3175,7 @@ programmer # snap_tpi prog_modes = PM_TPI; extra_features = HAS_VTARG_READ; connection_type = usb; + usbvid = 0x03eb; usbpid = 0x2180, 0x217f, 0x2181; ; @@ -3121,6 +3197,7 @@ programmer # pkobn_updi prog_modes = PM_UPDI; extra_features = HAS_VTARG_ADJ | HAS_VTARG_READ; connection_type = usb; + usbvid = 0x03eb; usbpid = 0x2175; hvupdi_support = 1; ; @@ -3163,6 +3240,8 @@ programmer # pickit2 type = "pickit2"; prog_modes = PM_ISP; connection_type = usb; + usbvid = 0x04d8; + usbpid = 0x0033; ; #------------------------------------------------------------ @@ -3180,6 +3259,7 @@ programmer # flip1 type = "flip1"; prog_modes = PM_SPM; connection_type = usb; + usbvid = 0x03eb; ; #------------------------------------------------------------ @@ -3196,6 +3276,7 @@ programmer # flip2 type = "flip2"; prog_modes = PM_SPM; connection_type = usb; + usbvid = 0x03eb; ; #------------------------------------------------------------ From 192a34f2db59d3b2102a7ebf827edce240f3422f Mon Sep 17 00:00:00 2001 From: Stefan Rueger Date: Sun, 4 Aug 2024 20:35:09 +0100 Subject: [PATCH 06/49] Provide dev option -c*/u for udev rules --- src/developer_opts.c | 115 +++++++++++++++++++++++++++++++++++++++++-- src/main.c | 2 +- 2 files changed, 111 insertions(+), 6 deletions(-) diff --git a/src/developer_opts.c b/src/developer_opts.c index 0330d3612..37f5e60ac 100644 --- a/src/developer_opts.c +++ b/src/developer_opts.c @@ -1381,8 +1381,9 @@ static void dev_pgm_strct(const PROGRAMMER *pgm, bool tsv, const PROGRAMMER *bas for(int i=0; ipin+i); const char *bstr = base? pins_to_str(base->pin+i): NULL; - if(!base || !str_eq(bstr, str)) - _pgmout_fmt(avr_pin_lcname(i), "%s", str); + const char *pinname = avr_pin_lcname(i); + if((!base || !str_eq(bstr, str)) && !str_eq(pinname, "")) + _pgmout_fmt(pinname, "%s", str); } pgmstr = dev_hvupdi_support_liststr(pgm); @@ -1413,9 +1414,54 @@ static void dev_pgm_strct(const PROGRAMMER *pgm, bool tsv, const PROGRAMMER *bas } -// -c /[dASsrtiBUPTIJWHQ] +typedef struct { + int vid, pid, ishid; + const char *ids; +} Dev_udev; + + +static Dev_udev *add_udev(Dev_udev *ud, int *uip, int vid, int pid, int ishid, const char *ids) { + for(int i = 0; i < *uip; i++) // Already entered? + if(ud[i].vid == vid && ud[i].pid == pid && ud[i].ishid == ishid && ud[i].ids == ids) + return ud; + if(*uip % 128 == 0) + ud = (Dev_udev *) mmt_realloc(ud, sizeof*ud*(*uip+128)); + + ud[*uip].vid = vid; + ud[*uip].pid = pid; + ud[*uip].ishid = ishid; + ud[*uip].ids = ids; + (*uip)++; + + return ud; +} + +static int udev_cmp_wout_ids(const Dev_udev *p1, const Dev_udev *p2) { + int diff; + if((diff = p1->vid - p2->vid)) + return diff; + if((diff = p1->pid - p2->pid)) + return diff; + return p1->ishid - p2->ishid; +} + +static int udev_cmp(const void *v1, const void *v2) { + const Dev_udev *p1 = v1, *p2 = v2; + int diff; + + if((diff = udev_cmp_wout_ids(p1, p2))) + return diff; + return strcmp(p1->ids, p2->ids); +} + +#include "flip1.h" +#include "flip2.h" +#include "jtag3.h" +#include "stk500v2.h" + +// -c /[duASsrtiBUPTIJWHQ] void dev_output_pgm_defs(char *pgmidcp) { - bool descs, astrc, strct, cmpst, raw, tsv, injct; + bool descs, astrc, strct, cmpst, raw, tsv, injct, udev; char *flags; int nprinted; PROGRAMMER *nullpgm = pgm_new(); @@ -1426,7 +1472,7 @@ void dev_output_pgm_defs(char *pgmidcp) { if(!flags && str_eq(pgmidcp, "*")) // Treat -c * as if it was -c */s flags = "s"; - if(!*flags || !strchr("dASsrtiBUPTIJWHQ", *flags)) { + if(!*flags || !strchr("duASsrtiBUPTIJWHQ", *flags)) { dev_info("Error: flags for developer option -c / not recognised\n"); dev_info( "Wildcard examples (these need protecting in the shell through quoting):\n" @@ -1436,6 +1482,7 @@ void dev_output_pgm_defs(char *pgmidcp) { " jtag?pdi matches jtag2pdi and jtag3pdi\n" "Flags (one or more of the characters below):\n" " d description of core programmer features\n" + " u show udev entry for programmer\n" " A show entries of avrdude.conf programmers with all values\n" " S show entries of avrdude.conf programmers with necessary values\n" " s show short entries of avrdude.conf programmers using parent\n" @@ -1465,9 +1512,13 @@ void dev_output_pgm_defs(char *pgmidcp) { raw = !!strchr(flags, 'r'); tsv = !!strchr(flags, 't'); injct = !!strchr(flags, 'i'); + udev = !!strchr(flags, 'u'); nprinted = dev_nprinted; + int ui = 0; + Dev_udev *udr = NULL; + LNODEID ln1, ln2; for(ln1=lfirst(programmers); ln1; ln1=lnext(ln1)) { PROGRAMMER *pgm = ldata(ln1); @@ -1480,6 +1531,7 @@ void dev_output_pgm_defs(char *pgmidcp) { } if(!matched) continue; + if(!prog_modes_in_flags(pgm->prog_modes, flags)) continue; @@ -1508,7 +1560,60 @@ void dev_output_pgm_defs(char *pgmidcp) { ); } + if(udev && pgm->usbpid && (pgm->conntype == CONNTYPE_USB || is_serialadapter(pgm))) { + void (* pi)(PROGRAMMER *) = pgm->initpgm; + const char *ids = cache_string(str_ccpgmids(pgm->id)); + int usbvid = pgm->usbvid, ishid = + pi == jtag3_initpgm || pi == jtag3_pdi_initpgm || pi == jtag3_updi_initpgm || + pi == jtag3_dw_initpgm || pi == stk500v2_jtag3_initpgm || pi == jtag3_tpi_initpgm; + + if(!lfirst(pgm->usbpid)) { + if(pi == flip1_initpgm || pi == flip2_initpgm) { // Bootloaders, add possible part pids + for(LNODEID lp = lfirst(part_list); lp; lp = lnext(lp)) { + AVRPART *pt = ldata(lp); + if(pt->usbpid) + udr = add_udev(udr, &ui, usbvid, pt->usbpid, 0, ids); + } + } + } + + for(LNODEID pidn=lfirst(pgm->usbpid); pidn; pidn=lnext(pidn)) + udr = add_udev(udr, &ui, usbvid, *(int *) ldata(pidn), ishid, ids); + } + if(raw) dev_pgm_raw(pgm); } + + if(udev && ui) { + dev_info("# 1. Put Linux udev rules into /etc/udev/rules.d/80-avrdude.rules (or similar)\n"); + dev_info("# 2. sudo udevadm control --reload-rules && sudo udevadm trigger (or similar)\n"); + dev_info("# 3. Unplug the device and plug it in again\n"); + qsort(udr, ui, sizeof *udr, udev_cmp); + char *prev_head = mmt_strdup(""); + for(Dev_udev *u = udr; u-udr < ui; u++) { + char head[1024] = {0}, *h = head; + strncpy(h, u->ids, sizeof head - 1), h += strlen(h); + for(Dev_udev *v = u+1; v-udr < ui; v++) { + if(udev_cmp_wout_ids(u, v)) + break; + if((int) (strlen(v->ids) + 3 + h-head) <= (int) sizeof head) { + strcpy(h, ", "), h += 2; + strcpy(h, v->ids), h += strlen(v->ids); + } + u = v; + } + if(!str_eq(prev_head, head)) { + dev_info("\n# %s\n", head); + mmt_free(prev_head); + prev_head = mmt_strdup(head); + } + dev_info("SUBSYSTEM==\"usb\", ATTRS{idVendor}==\"%04x\", ATTRS{idProduct}==\"%04x\", " + "GROUP=\"plugdev\", MODE=\"0660\", TAG+=\"uaccess\"\n", u->vid, u->pid); + if(u->ishid) + dev_info("KERNEL==\"hidraw*\", SUBSYSTEM==\"hidraw\", ATTRS{idVendor}==\"%04x\", " + "ATTRS{idProduct}==\"%04x\", GROUP=\"plugdev\", MODE=\"0660\", TAG+=\"uaccess\"\n", u->vid, u->pid); + } + mmt_free(prev_head); + } } diff --git a/src/main.c b/src/main.c index 09d3646b0..c8b8f9dc8 100644 --- a/src/main.c +++ b/src/main.c @@ -1123,7 +1123,7 @@ int main(int argc, char * argv []) pgmid = cache_string(default_programmer); // Developer options to print parts and/or programmer entries of avrdude.conf - int dev_opt_c = dev_opt(pgmid); // -c /[dASsrtiBUPTIJWHQ] + int dev_opt_c = dev_opt(pgmid); // -c /[duASsrtiBUPTIJWHQ] int dev_opt_p = dev_opt(partdesc); // -p /[cdoASsrw*tiBUPTIJWHQ] if(dev_opt_c || dev_opt_p) { // See -c/h and or -p/h From ee8bbe8463e1b56e73676a88357ea159f5cea1ec Mon Sep 17 00:00:00 2001 From: Stefan Rueger Date: Sun, 4 Aug 2024 22:20:37 +0100 Subject: [PATCH 07/49] Tweak suggested udev rules --- src/developer_opts.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/developer_opts.c b/src/developer_opts.c index 37f5e60ac..7b8b3de0e 100644 --- a/src/developer_opts.c +++ b/src/developer_opts.c @@ -1586,7 +1586,7 @@ void dev_output_pgm_defs(char *pgmidcp) { } if(udev && ui) { - dev_info("# 1. Put Linux udev rules into /etc/udev/rules.d/80-avrdude.rules (or similar)\n"); + dev_info("# 1. Put Linux udev rules into /etc/udev/rules.d/55-avrdude.rules (or similar)\n"); dev_info("# 2. sudo udevadm control --reload-rules && sudo udevadm trigger (or similar)\n"); dev_info("# 3. Unplug the device and plug it in again\n"); qsort(udr, ui, sizeof *udr, udev_cmp); @@ -1609,10 +1609,10 @@ void dev_output_pgm_defs(char *pgmidcp) { prev_head = mmt_strdup(head); } dev_info("SUBSYSTEM==\"usb\", ATTRS{idVendor}==\"%04x\", ATTRS{idProduct}==\"%04x\", " - "GROUP=\"plugdev\", MODE=\"0660\", TAG+=\"uaccess\"\n", u->vid, u->pid); + "MODE=\"0660\", TAG+=\"uaccess\"\n", u->vid, u->pid); if(u->ishid) dev_info("KERNEL==\"hidraw*\", SUBSYSTEM==\"hidraw\", ATTRS{idVendor}==\"%04x\", " - "ATTRS{idProduct}==\"%04x\", GROUP=\"plugdev\", MODE=\"0660\", TAG+=\"uaccess\"\n", u->vid, u->pid); + "ATTRS{idProduct}==\"%04x\", MODE=\"0660\", TAG+=\"uaccess\"\n", u->vid, u->pid); } mmt_free(prev_head); } From c090a99aa0f1f4c77e17a0e5f6dfb122097719c3 Mon Sep 17 00:00:00 2001 From: Stefan Rueger Date: Sun, 4 Aug 2024 22:21:14 +0100 Subject: [PATCH 08/49] Document udev rule output via -c prog/u --- src/doc/avrdude.texi | 167 ++++++++++++++++++++++++++++++++----------- 1 file changed, 125 insertions(+), 42 deletions(-) diff --git a/src/doc/avrdude.texi b/src/doc/avrdude.texi index 08ea52ff1..c73e3e820 100644 --- a/src/doc/avrdude.texi +++ b/src/doc/avrdude.texi @@ -137,7 +137,7 @@ entire memory of the chip from the contents of a file, while interactive mode is useful for exploring memory contents, modifying individual bytes of eeprom, programming fuse/lock bits, etc. -@cindex Programmers Supported +@cindex Programmers supported AVRDUDE supports the following basic programmer types: Atmel's STK500, Atmel's AVRISP and AVRISP mkII devices, @@ -361,7 +361,7 @@ below for Teensy specific options. @c @node History, , Introduction, Introduction @section History and Credits -@cindex History and Credits +@cindex History and credits AVRDUDE was written by Brian S. Dean under the name of AVRPROG to run on the FreeBSD Operating System. Brian renamed the software to be called @@ -392,7 +392,7 @@ Roth. @c @node Command Line Options, Terminal Mode Operation, Introduction, Top @chapter Command Line Options -@cindex Command Line Options +@cindex Command line options @menu * Option Descriptions:: @@ -407,7 +407,7 @@ Roth. @node Option Descriptions, Programmers Accepting Exitspec Parameter, Programmers Accepting Extended Parameters, Command Line Options @cindex Options (command-line) @section Option Descriptions -@cindex Option Descriptions +@cindex Option descriptions @noindent AVRDUDE is a command line tool, used as follows: @@ -442,7 +442,7 @@ there can be deviations from this list, particularly if programming is directly via a bootloader. Currently, the following MCU types are understood: -@cindex Device Support +@cindex Device support @multitable @columnfractions .15 .45 @include parts.texi @@ -522,7 +522,7 @@ combination. In reality there can be deviations from this list, particularly if programming is directly via a bootloader. Currently, the following programmer ids are understood and supported: -@cindex Programmer Support +@cindex Programmer support @multitable @columnfractions .3 .68 @include programmers.texi @@ -1136,13 +1136,13 @@ see the extended options of the chosen programmer. @c Node @c @node Programmers Accepting Exitspec Parameter, Programmers Accepting Extended Parameters, Option Descriptions, Command Line Options -@section Programmers Accepting Exitspec Parameter -@cindex Programmers Accepting Exitspec parameter +@section Programmers Accepting Exitspec Parameters +@cindex Programmers accepting exitspec parameters @table @code @cindex Option @code{-x} flip2 @cindex Option @code{-x} linuxspi -@cindex Option @code{-x} Parallel port programmers +@cindex Option @code{-x} parallel port programmers @item flip2 @itemx linuxspi @itemx Parallel port programmers @@ -1174,7 +1174,7 @@ start the application if @samp{noreset} is used, and this is the default behaviour for this bootloader. @end table -@cindex Option @code{-x} Parallel port programmers +@cindex Option @code{-x} parallel port programmers @item Parallel port programmers Parallel port based programmers have a few more options. @@ -1205,7 +1205,7 @@ This option will leave the 8 data pins on the parallel port inactive @c @node Programmers Accepting Extended Parameters, Example Command Line Invocations, Programmers Accepting Exitspec Parameter, Command Line Options @section Programmers Accepting Extended Parameters -@cindex Programmers Accepting Extended Parameters +@cindex Programmers accepting extended parameters @table @code @cindex Option @code{-x} dryboot @@ -1819,7 +1819,7 @@ Show help menu and exit. @c @node Example Command Line Invocations, , Programmers Accepting Extended Parameters, Command Line Options @section Example Command Line Invocations -@cindex Example Command Line Invocations +@cindex Example Command line invocations AVRDUDE error messages, warnings and progress reports are generally written to stderr which can, in bash, be turned off by @code{2>/dev/null} @@ -2307,7 +2307,7 @@ avrdude done. Thank you. @c @node Terminal Mode Operation, Configuration Files, Command Line Options, Top @chapter Terminal Mode Operation -@cindex Terminal Mode Operation +@cindex Terminal mode operation AVRDUDE has an interactive mode called @var{terminal mode} that is enabled by the @option{-t} option. This mode allows one to enter @@ -2325,7 +2325,7 @@ commands can be recalled and edited. @node Terminal Mode Commands, Terminal Mode Examples, Terminal Mode Operation, Terminal Mode Operation @section Terminal Mode Commands -@cindex Terminal Mode Commands +@cindex Terminal mode commands In this mode, AVRDUDE only initializes communication with the MCU, and then awaits user commands on standard input. Commands and parameters may be @@ -3420,7 +3420,7 @@ avrdude done. Thank you. @c Node @c @node Configuration Files, Programmer Specific Information, Terminal Mode Operation, Top -@cindex Configuration Files +@cindex Configuration files @cindex @code{avrdude.conf} @chapter Configuration Files @@ -3462,7 +3462,7 @@ the executable. @c @node AVRDUDE Defaults, Programmer Definitions, Configuration Files, Configuration Files @section AVRDUDE Defaults -@cindex AVRDUDE Defaults +@cindex AVRDUDE defaults @table @code @@ -3519,7 +3519,7 @@ configuration file with @var{yes}. @node Programmer Definitions, Serial Adapter Definitions, AVRDUDE Defaults, Configuration Files @cindex @code{programmer} @section Programmer Definitions -@cindex Programmer Definitions +@cindex Programmer definitions @noindent The format of the programmer definition is as follows: @@ -3642,7 +3642,7 @@ The following programmer types are currently implemented: @node Serial Adapter Definitions, Part Definitions, Programmer Definitions, Configuration Files @cindex @code{serialadapter} @section Serial Adapter Definitions -@cindex Serial Adapter Definitions +@cindex Serial adapter definitions @noindent The format of a serial adapter definition is as follows: @@ -3688,7 +3688,7 @@ utilised as a serialadapter. @node Part Definitions, Other Notes, Serial Adapter Definitions, Configuration Files @cindex @code{part} @section Part Definitions -@cindex Part Definitions +@cindex Part definitions @smallexample part @@ -3830,7 +3830,7 @@ arithemtic and bitwise operators. @c @node Parent Part, Instruction Format, Part Definitions, Part Definitions @subsection Parent Part -@cindex Parent Part +@cindex Parent part @noindent Parts can also inherit parameters from previously defined parts using @@ -3862,7 +3862,7 @@ Example format for part inheritance: @c @node Instruction Format, , Parent Part, Part Definitions @subsection Instruction Format -@cindex Instruction Format +@cindex Instruction format @noindent Instruction formats are specified as a comma separated list of string @@ -3939,7 +3939,7 @@ Examples: @c @node Other Notes, , Part Definitions, Configuration Files @section Other Notes -@cindex Other Notes +@cindex Other notes @itemize @bullet @@ -3995,8 +3995,8 @@ Reading fuse and lock bits is fully supported. @c Node @c @node Programmer Specific Information, Platform Dependent Information, Configuration Files, Top -@chapter Programmer Specific Information -@cindex Programmer Specific Information +@chapter Programmer-Specific Information +@cindex Programmer-specific information @menu * Atmel STK600:: @@ -4108,7 +4108,7 @@ least 4.5 V in order to work. This can be done using @c @node DFU Bootloader Using FLIP Version 1, SerialUPDI Programmer , Atmel STK600, Programmer Specific Information @section DFU Bootloader Using FLIP Version 1 -@cindex DFU Bootloader Using FLIP Version 1 +@cindex DFU Bootloader using FLIP version 1 Bootloaders using the FLIP protocol version 1 experience some very specific behaviour. @@ -4138,7 +4138,7 @@ versions of the bootloader. @node SerialUPDI Programmer, Programmer LED Management, DFU Bootloader Using FLIP Version 1, Programmer Specific Information @cindex SerialUPDI @section SerialUPDI Programmer -@cindex SerialUPDI Programmer +@cindex SerialUPDI programmer SerialUPDI programmer can be used for programming UPDI-only devices using very simple serial connection. @@ -4231,7 +4231,8 @@ analysis of UPDI protocol quirks easier. @c @node Programmer LED Management, , SerialUPDI Programmer, Programmer Specific Information @section Programmer LED Management -@cindex Programmer LED Management +@cindex Programmer LED management +@cindex LED management Some hardware programmers have LEDs, and the firmware controls them fully without AVRDUDE having a way to influence their LED states. Other @@ -4286,6 +4287,7 @@ Other combinations should not show after exit. * Unix Installation:: * Unix Configuration Files:: * Unix Port Names:: +* Linux Udev Rules:: * Unix Documentation:: @end menu @@ -4294,7 +4296,7 @@ Other combinations should not show after exit. @c @node Unix Installation, Unix Configuration Files, Unix, Unix @subsection Unix Installation -@cindex Unix Installation +@cindex Unix installation @noindent To build and install from the source tarball on Unix like systems: @@ -4332,7 +4334,7 @@ $ make install @c @node FreeBSD Installation, Linux Installation, Unix Installation, Unix Installation @subsubsection FreeBSD Installation -@cindex FreeBSD Installation +@cindex FreeBSD installation @noindent AVRDUDE is installed via the FreeBSD Ports Tree as follows: @@ -4360,7 +4362,7 @@ obtained. @c @node Linux Installation, , FreeBSD Installation, Unix Installation @subsubsection Linux Installation -@cindex Linux Installation +@cindex Linux installation @noindent On rpm based Linux systems (such as RedHat, SUSE, Mandrake, etc.), you @@ -4380,7 +4382,7 @@ to system. The above example is specific to RedHat. @c @node Unix Configuration Files, Unix Port Names, Unix Installation, Unix @subsection Unix Configuration Files -@cindex Unix Configuration Files +@cindex Unix configuration files @noindent When AVRDUDE is build using the default @option{--prefix} configure @@ -4400,7 +4402,7 @@ augment the system default configuration file. @c @node FreeBSD Configuration Files, Linux Configuration Files, Unix Configuration Files, Unix Configuration Files @subsubsection FreeBSD Configuration Files -@cindex FreeBSD Configuration Files +@cindex FreeBSD configuration files @noindent When AVRDUDE is installed using the FreeBSD ports system, the system @@ -4411,7 +4413,7 @@ configuration file is always @code{/usr/local/etc/avrdude.conf}. @c @node Linux Configuration Files, , FreeBSD Configuration Files, Unix Configuration Files @subsubsection Linux Configuration Files -@cindex Linux Configuration Files +@cindex Linux configuration files @noindent When AVRDUDE is installed using from an rpm package, the system @@ -4420,9 +4422,9 @@ configuration file will be always be @code{/etc/avrdude.conf}. @c @c Node @c -@node Unix Port Names, Unix Documentation, Unix Configuration Files, Unix +@node Unix Port Names, Linux Udev Rules, Unix Configuration Files, Unix @subsection Unix Port Names -@cindex Unix Port Names +@cindex Unix port names @noindent The parallel and serial port device file names are system specific. @@ -4457,12 +4459,93 @@ On Solaris systems, AVRDUDE uses the ecpp(7D) driver for accessing the parallel port and the asy(7D) driver for serial port access. +@c +@c Node +@c +@node Linux Udev Rules, Unix Port Names, Unix Documentation, Unix +@subsection Linux Udev Rules +@cindex Linux udev rules +@cindex udev rules + +Linux has a special userspace @code{/dev} device manager called udev that +deals with, amongst other things, plug-and-play USB devices. So called +udev rules describe who has the right to access these devices. They +typically reside in a file with the name pattern +@var{nn}@code{-}@var{descriptive-name}@code{.rules} in typically the +directory @code{/etc/udev/rules.d}. Here, @var{nn} is a two-digit number +that determines the lexical order in which the udev rule files are +processed. Rules processed later can overwrite earlier rules. One frequent +way of assigning an ordinary user access to a plugged in USB AVR +programmer is to identify the programmer by a two-byte hexadecimal vendor +ID and a two-byte hexadecimal product id in the @code{.rules} file. Here +is an example for the popular AVRISP mkII programmer (product ID 0x2104) +by Atmel (vendor ID 0x0eb) + +@smallexample +@cartouche + +SUBSYSTEM=="usb", ATTRS@{idVendor@}=="03eb", ATTRS@{idProduct@}=="2104", \ + MODE="0660", TAG+="uaccess" + +@end cartouche +@end smallexample + +When used in anger, udev rules must appear on one line. Above example was +broken into two lines so it fits into the example box. + +This creates a device with @code{0660} access permissions (r/w for the +user and any user belonging to the group of the device). The attached TAG +named uaccess makes udev apply a dynamic user ACL to the device node, +which coordinates with the system login daemon to make the device also +usable to logged-in users. + +AVRDUDE's developer option @code{-c }@var{programmer}@code{/u} shows above +suggested udev rule for the named programmer. Wildcards are allowed: + +@smallexample +@cartouche + +$ avrdude -c jtag\*/u + +# 1. Put Linux udev rules into /etc/udev/rules.d/80-avrdude.rules (or similar) +# 2. sudo udevadm control --reload-rules && sudo udevadm trigger (or similar) +# 3. Unplug the device and plug it in again + +# jtag2dw, jtag2fast, jtag2, jtag2isp, jtag2pdi, jtag2slow, jtagmkII, jtag2avr32 +SUBSYSTEM=="usb", ATTRS@{idVendor@}=="03eb", ATTRS@{idProduct@}=="2103", \ + MODE="0660", TAG+="uaccess" + +# jtag3, jtag3dw, jtag3isp, jtag3pdi, jtag3updi +SUBSYSTEM=="usb", ATTRS@{idVendor@}=="03eb", ATTRS@{idProduct@}=="2110", \ + MODE="0660", TAG+="uaccess" +KERNEL=="hidraw*", SUBSYSTEM=="hidraw", ATTRS@{idVendor@}=="03eb", \ + ATTRS@{idProduct@}=="2110", MODE="0660", TAG+="uaccess" + +SUBSYSTEM=="usb", ATTRS@{idVendor@}=="03eb", ATTRS@{idProduct@}=="2140", \ + MODE="0660", TAG+="uaccess" +KERNEL=="hidraw*", SUBSYSTEM=="hidraw", ATTRS@{idVendor@}=="03eb", \ + ATTRS@{idProduct@}=="2140", MODE="0660", TAG+="uaccess" + +# jtagkey +SUBSYSTEM=="usb", ATTRS@{idVendor@}=="0403", ATTRS@{idProduct@}=="cff8", \ + MODE="0660", TAG+="uaccess" + +@end cartouche +@end smallexample + +Again, each rule must be written as one line (and AVRDUDE outputs them +correctly): breaking them up as above into two lines with the continuation +character @code{\} was only done to fit the output to the boxed display. + +USB devices in HID mode require a second rule dealing with the +@code{hidraw} subsystem. + @c @c Node @c @node Unix Documentation, , Unix Port Names, Unix @subsection Unix Documentation -@cindex Unix Documentation +@cindex Unix documentation @noindent AVRDUDE installs a manual page as well as info, HTML and PDF @@ -4533,7 +4616,7 @@ compiler version that still supports MinGW builds, or use MinGW @c @node Windows Configuration Files, Windows Port Names, Windows Installation, Windows @subsection Windows Configuration Files -@cindex Windows Configuration Files +@cindex Windows configuration files @menu * Configuration file names:: @@ -4545,7 +4628,7 @@ compiler version that still supports MinGW builds, or use MinGW @c @node Configuration file names, Windows Configuration File Location, Windows Configuration Files, Windows Configuration Files @subsubsection Windows Configuration File Names -@cindex Windows Configuration File Names +@cindex Windows configuration file names @noindent AVRDUDE on Windows looks for a system configuration file name of @@ -4557,7 +4640,7 @@ AVRDUDE on Windows looks for a system configuration file name of @c @node Windows Configuration File Location, , Configuration file names, Windows Configuration Files @subsubsection Windows Configuration File Location -@cindex Windows Configuration File Location +@cindex Windows configuration file location @noindent AVRDUDE on Windows has a different way of searching for the system and @@ -4598,7 +4681,7 @@ The directories that are listed in the PATH environment variable. @c @node Windows Port Names, Windows Configuration Files, Windows @subsection Windows Port Names -@cindex Windows Port Names +@cindex Windows port names @menu * Serial Ports:: @@ -4610,7 +4693,7 @@ The directories that are listed in the PATH environment variable. @c @node Serial Ports, Parallel Ports, Windows Port Names, Windows Port Names @subsubsection Windows Serial Ports -@cindex Windows Serial Ports +@cindex Windows serial ports @noindent When you select a serial port (i.e. when using an STK500) use the @@ -4621,7 +4704,7 @@ Windows serial port device names such as: com1, com2, etc. @c @node Parallel Ports, , Serial Ports, Windows Port Names @subsubsection Windows Parallel Ports -@cindex Windows Parallel Ports +@cindex Windows parallel ports @noindent AVRDUDE will accept 3 Windows parallel port names: lpt1, lpt2, or From 74e1fcf13bf090bc4eaac749abd102b7fd569a15 Mon Sep 17 00:00:00 2001 From: Stefan Rueger Date: Mon, 5 Aug 2024 00:35:06 +0100 Subject: [PATCH 09/49] Remove comment about reloading udev rules and redraft docu --- src/developer_opts.c | 6 ++--- src/doc/avrdude.texi | 64 ++++++++++++++++++++++++-------------------- 2 files changed, 38 insertions(+), 32 deletions(-) diff --git a/src/developer_opts.c b/src/developer_opts.c index 7b8b3de0e..5422763c7 100644 --- a/src/developer_opts.c +++ b/src/developer_opts.c @@ -1586,9 +1586,9 @@ void dev_output_pgm_defs(char *pgmidcp) { } if(udev && ui) { - dev_info("# 1. Put Linux udev rules into /etc/udev/rules.d/55-avrdude.rules (or similar)\n"); - dev_info("# 2. sudo udevadm control --reload-rules && sudo udevadm trigger (or similar)\n"); - dev_info("# 3. Unplug the device and plug it in again\n"); + dev_info("# 1. Put Linux udev rules into, eg, /etc/udev/rules.d/55-avrdude.rules\n"); + dev_info("# 2. Unplug the device and plug it in again\n"); + dev_info("# 3. Enjoy user access to the USB programmer\n"); qsort(udr, ui, sizeof *udr, udev_cmp); char *prev_head = mmt_strdup(""); for(Dev_udev *u = udr; u-udr < ui; u++) { diff --git a/src/doc/avrdude.texi b/src/doc/avrdude.texi index c73e3e820..a364ec391 100644 --- a/src/doc/avrdude.texi +++ b/src/doc/avrdude.texi @@ -4468,18 +4468,24 @@ access. @cindex udev rules Linux has a special userspace @code{/dev} device manager called udev that -deals with, amongst other things, plug-and-play USB devices. So called -udev rules describe who has the right to access these devices. They -typically reside in a file with the name pattern -@var{nn}@code{-}@var{descriptive-name}@code{.rules} in typically the -directory @code{/etc/udev/rules.d}. Here, @var{nn} is a two-digit number -that determines the lexical order in which the udev rule files are -processed. Rules processed later can overwrite earlier rules. One frequent -way of assigning an ordinary user access to a plugged in USB AVR -programmer is to identify the programmer by a two-byte hexadecimal vendor -ID and a two-byte hexadecimal product id in the @code{.rules} file. Here -is an example for the popular AVRISP mkII programmer (product ID 0x2104) -by Atmel (vendor ID 0x0eb) +deals with, amongst other things, plug-and-play USB devices. In most cases +the kernel driver initializes a plug-and-play device to be owned by user +@code{root} and group @code{root} with only r/w permission for the user +@code{root} rendering the device inaccessible to regular users. Whilst +users can run AVRDUDE sessions as root this is definitely @emph{not} good +practice. + +It is recommended to specify so-called udev rules to define access +permissions for these devices instead. These rules typically reside in a +file with the name @var{nn}@code{-}@var{descriptive-name}@code{.rules} in +the directory @code{/etc/udev/rules.d}. Here, @var{nn} is a two-digit +number that determines the lexical order in which the udev rule files are +processed. Rules processed later can overwrite earlier rules. + +USB AVR programmers are normally identified by a two-byte hexadecimal +vendor ID and a two-byte hexadecimal product id. Here a typical udev rule +for allowing an ordinary user access to the plugged-in AVRISP mkII +programmer (product ID 0x2104) by Atmel (vendor ID 0x0eb): @smallexample @cartouche @@ -4490,26 +4496,27 @@ SUBSYSTEM=="usb", ATTRS@{idVendor@}=="03eb", ATTRS@{idProduct@}=="2104", \ @end cartouche @end smallexample -When used in anger, udev rules must appear on one line. Above example was -broken into two lines so it fits into the example box. +This furnishes the corresponding device node with @code{0660} access +permissions: this means r/w for the user @code{root} and any user +belonging to the group of the device, which the device driver might assign +to a different group than the default @code{root}. The key of the rule is +the attached @code{TAG} named @code{uaccess}, which makes udev apply a +dynamic user access control list to the device node, which makes the +device usable for logged-in users. When used in anger, udev rules must +appear on one line; above example was broken into two lines so it fits +into the example box. -This creates a device with @code{0660} access permissions (r/w for the -user and any user belonging to the group of the device). The attached TAG -named uaccess makes udev apply a dynamic user ACL to the device node, -which coordinates with the system login daemon to make the device also -usable to logged-in users. - -AVRDUDE's developer option @code{-c }@var{programmer}@code{/u} shows above -suggested udev rule for the named programmer. Wildcards are allowed: +AVRDUDE's developer option @code{-c }@var{programmer}@code{/u} will show +above suggested udev rule for the named programmer. Wildcards are allowed: @smallexample @cartouche $ avrdude -c jtag\*/u -# 1. Put Linux udev rules into /etc/udev/rules.d/80-avrdude.rules (or similar) -# 2. sudo udevadm control --reload-rules && sudo udevadm trigger (or similar) -# 3. Unplug the device and plug it in again +# 1. Put Linux udev rules into, eg, /etc/udev/rules.d/55-avrdude.rules +# 2. Unplug the device and plug it in again +# 3. Enjoy user access to the USB programmer # jtag2dw, jtag2fast, jtag2, jtag2isp, jtag2pdi, jtag2slow, jtagmkII, jtag2avr32 SUBSYSTEM=="usb", ATTRS@{idVendor@}=="03eb", ATTRS@{idProduct@}=="2103", \ @@ -4533,12 +4540,11 @@ SUBSYSTEM=="usb", ATTRS@{idVendor@}=="0403", ATTRS@{idProduct@}=="cff8", \ @end cartouche @end smallexample -Again, each rule must be written as one line (and AVRDUDE outputs them -correctly): breaking them up as above into two lines with the continuation -character @code{\} was only done to fit the output to the boxed display. +Again, each rule must be written as one line: breaking up rules into two +lines was only done to fit AVRDUDE's output to the boxed display. USB devices in HID mode require a second rule dealing with the -@code{hidraw} subsystem. +@code{hidraw} subsystem as seen above. @c @c Node From 98524b33b3c97e483a1e26dafba67caee52c35d3 Mon Sep 17 00:00:00 2001 From: Stefan Rueger Date: Mon, 5 Aug 2024 00:57:18 +0100 Subject: [PATCH 10/49] Document user udev rules ought to be 60 or below --- src/doc/avrdude.texi | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/src/doc/avrdude.texi b/src/doc/avrdude.texi index a364ec391..f92b231e0 100644 --- a/src/doc/avrdude.texi +++ b/src/doc/avrdude.texi @@ -4480,7 +4480,9 @@ permissions for these devices instead. These rules typically reside in a file with the name @var{nn}@code{-}@var{descriptive-name}@code{.rules} in the directory @code{/etc/udev/rules.d}. Here, @var{nn} is a two-digit number that determines the lexical order in which the udev rule files are -processed. Rules processed later can overwrite earlier rules. +processed. Rules processed later can overwrite earlier rules, but it not +recommended to put user-generated rules higher than 60, as some of the +actions they require are processed by higher-level system rules. USB AVR programmers are normally identified by a two-byte hexadecimal vendor ID and a two-byte hexadecimal product id. Here a typical udev rule @@ -4500,11 +4502,11 @@ This furnishes the corresponding device node with @code{0660} access permissions: this means r/w for the user @code{root} and any user belonging to the group of the device, which the device driver might assign to a different group than the default @code{root}. The key of the rule is -the attached @code{TAG} named @code{uaccess}, which makes udev apply a -dynamic user access control list to the device node, which makes the -device usable for logged-in users. When used in anger, udev rules must -appear on one line; above example was broken into two lines so it fits -into the example box. +the attached @code{TAG} named @code{uaccess}, which has the effect that +the login daemon applies a dynamic user access control list to the device +node making the device usable for the currently logged-in user. When used +in anger, udev rules must appear on one line; above example was broken +into two lines so it fits into the example box. AVRDUDE's developer option @code{-c }@var{programmer}@code{/u} will show above suggested udev rule for the named programmer. Wildcards are allowed: From 3c9d4dbbfef78a36f37b78d1da4747e374b84dd1 Mon Sep 17 00:00:00 2001 From: Stefan Rueger Date: Tue, 6 Aug 2024 00:19:06 +0100 Subject: [PATCH 11/49] Define sernum/prodsig ISP read op for t12/t15 --- src/avrdude.conf.in | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/src/avrdude.conf.in b/src/avrdude.conf.in index 02c29168f..9f3a91fc6 100644 --- a/src/avrdude.conf.in +++ b/src/avrdude.conf.in @@ -4033,6 +4033,10 @@ part parent "t11" # t12 write = "1010.1100--1111.1ii1--xxxx.xxxx--xxxx.xxxx"; ; + memory "prodsig" + read = "0 0 1 1 a0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 a4 a3 a2 a1 o o o o o o o o"; + ; + memory "signature" read = "0011.0000--xxxx.xxxx--0000.00aa--oooo.oooo"; ; @@ -4040,6 +4044,10 @@ part parent "t11" # t12 memory "calibration" read = "0011.1000--xxxx.xxxx--0000.0000--oooo.oooo"; ; + + memory "sernum" + read = "0 0 1 1 a0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 a4 a3 a2 a1 o o o o o o o o"; + ; ; #------------------------------------------------------------ @@ -4119,6 +4127,10 @@ part parent "t11" # t15 write = "1010.1100--1111.1ii1--xxxx.xxxx--xxxx.xxxx"; ; + memory "prodsig" + read = "0 0 1 1 a0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 a4 a3 a2 a1 o o o o o o o o"; + ; + memory "signature" read = "0011.0000--xxxx.xxxx--0000.00aa--oooo.oooo"; ; @@ -4126,6 +4138,10 @@ part parent "t11" # t15 memory "calibration" read = "0011.1000--xxxx.xxxx--0000.0000--oooo.oooo"; ; + + memory "sernum" + read = "0 0 1 1 a0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 a4 a3 a2 a1 o o o o o o o o"; + ; ; #------------------------------------------------------------ From 546cc8f286da42251e77f52ed7c4485bc62b978a Mon Sep 17 00:00:00 2001 From: Stefan Rueger Date: Tue, 6 Aug 2024 00:19:36 +0100 Subject: [PATCH 12/49] Improve messaging around read errors --- src/avr.c | 2 +- src/stk500v2.c | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/avr.c b/src/avr.c index 88c9ae700..3605e518b 100644 --- a/src/avr.c +++ b/src/avr.c @@ -504,7 +504,7 @@ int avr_read_mem(const PROGRAMMER *pgm, const AVRPART *p, const AVRMEM *mem, con if (rc != LIBAVRDUDE_SUCCESS) { pmsg_error("unable to read byte at address 0x%04lx\n", i); if (rc == LIBAVRDUDE_GENERAL_FAILURE) { - pmsg_error("read operation not supported for memory %s\n", mem->desc); + // pmsg_error("read operation not supported for memory %s\n", mem->desc); report_progress(1, -1, NULL); led_set(pgm, LED_ERR); led_clr(pgm, LED_PGM); diff --git a/src/stk500v2.c b/src/stk500v2.c index a24db1c30..b07829c21 100644 --- a/src/stk500v2.c +++ b/src/stk500v2.c @@ -2820,7 +2820,7 @@ static int stk500v2_paged_write(const PROGRAMMER *pgm, const AVRPART *p, const A // the read command is common to both methods if (rop == NULL) { - pmsg_error("read instruction not defined for part %s\n", p->desc); + pmsg_error("read instruction not defined for memory %s of part %s\n", m->desc, p->desc); return -1; } memset(cmds, 0, sizeof cmds); @@ -3025,7 +3025,7 @@ static int stk500v2_paged_load(const PROGRAMMER *pgm, const AVRPART *p, const AV // the read command is common to both methods if (rop == NULL) { - pmsg_error("read instruction not defined for part %s\n", p->desc); + pmsg_error("read instruction not defined for memory %s of part %s\n", m->desc, p->desc); return -1; } memset(cmds, 0, sizeof cmds); From 105f72df314f5c536bc394e44d321f2f8b84622f Mon Sep 17 00:00:00 2001 From: Stefan Rueger Date: Tue, 6 Aug 2024 00:31:25 +0100 Subject: [PATCH 13/49] Refine ALL expansion: exclude known exceptions For example, classic parts with usersig memory cannot access that using ISP. --- src/libavrdude.h | 2 +- src/update.c | 30 ++++++++++++++++++++---------- 2 files changed, 21 insertions(+), 11 deletions(-) diff --git a/src/libavrdude.h b/src/libavrdude.h index 0e39159a9..31c5a8e07 100644 --- a/src/libavrdude.h +++ b/src/libavrdude.h @@ -1320,7 +1320,7 @@ int update_is_readable(const char *fn); int update_dryrun(const AVRPART *p, UPDATE *upd); -AVRMEM **memory_list(const char *mstr, const AVRPART *p, int *np, int *rwvsoftp, int *dry); +AVRMEM **memory_list(const char *mstr, const PROGRAMMER *pgm, const AVRPART *p, int *np, int *rwvsoftp, int *dry); int memlist_contains_flash(const char *mstr, const AVRPART *p); #ifdef __cplusplus diff --git a/src/update.c b/src/update.c index 5fad8c069..2b65e37ab 100644 --- a/src/update.c +++ b/src/update.c @@ -269,17 +269,23 @@ static void ioerror(const char *iotype, const UPDATE *upd) { msg_ext_error("\n"); } +// Whether a memory is an exception that shouldn't be included +static int exclude(const PROGRAMMER *pgm, const AVRPART *p, const AVRMEM *mem) { + return // Classic part usersig memories cannot be read/written using ISP + mem_is_usersig(mem) && (p->prog_modes&PM_Classic) && (pgm->prog_modes&p->prog_modes&PM_ISP); +} + // Whether a memory should be returned for ALL: exclude IO/SRAM -static int is_interesting_mem(const AVRPART *p, const AVRMEM *mem) { +static int is_interesting_mem(const PROGRAMMER *pgm, const AVRPART *p, const AVRMEM *mem) { return !(mem_is_io(mem) || mem_is_sram(mem)); } // Whether a memory should be backup-ed: exclude sub-memories -static int is_backup_mem(const AVRPART *p, const AVRMEM *mem) { +static int is_backup_mem(const PROGRAMMER *pgm, const AVRPART *p, const AVRMEM *mem) { return mem_is_in_flash(mem)? mem_is_flash(mem): mem_is_in_sigrow(mem)? mem_is_sigrow(mem): mem_is_in_fuses(mem)? mem_is_fuses(mem) || !avr_locate_fuses(p): - is_interesting_mem(p, mem); + is_interesting_mem(pgm, p, mem) && !(pgm && exclude(pgm, p, mem)); } // Add (not == 0) or subtract (not == 1) a memory from list @@ -296,13 +302,17 @@ static int memadd(AVRMEM **mlist, int nm, int not, AVRMEM *m) { } /* - * Generate a memory list from string mstr and put number of memories into *np. + * Generate a memory list from string mstr, part p and intended programming + * modes pm; then put number of memories into *np. + * * Memory list can be sth like ee,fl,all,-cal,efuse. -mem or /mem removes it * from the list. Normal use is to pass NULL for dry and let the function write * to *np and *rwvsoftfail indicating unknown memories for this part. If dry is * set then -1 will be written to *dry when a generally unknown memory is used. */ -AVRMEM **memory_list(const char *mstr, const AVRPART *p, int *np, int *rwvsoftp, int *dry) { +AVRMEM **memory_list(const char *mstr, const PROGRAMMER *pgm, const AVRPART *p, + int *np, int *rwvsoftp, int *dry) { + int not, nm = (lsize(p->mem) + 1) * ((int) str_numc(mstr, ',') + 1); // Upper limit AVRMEM *m, **umemlist = mmt_malloc(nm*sizeof*umemlist); char *dstr = mmt_strdup(mstr), *s = dstr, *e; @@ -317,11 +327,11 @@ AVRMEM **memory_list(const char *mstr, const AVRPART *p, int *np, int *rwvsoftp, s++; if(str_eq(s, "ALL")) { for(LNODEID lm = lfirst(p->mem); lm; lm = lnext(lm)) - if(is_interesting_mem(p, (m = ldata(lm)))) + if(is_interesting_mem(pgm, p, (m = ldata(lm)))) nm = memadd(umemlist, nm, not, m); } else if(str_eq(s, "all") || str_eq(s, "etc")) { for(LNODEID lm = lfirst(p->mem); lm; lm = lnext(lm)) - if(is_backup_mem(p, (m = ldata(lm)))) + if(is_backup_mem(pgm, p, (m = ldata(lm)))) nm = memadd(umemlist, nm, not, m); } else if(!*s) { // Ignore empty list elements } else { @@ -365,7 +375,7 @@ AVRMEM **memory_list(const char *mstr, const AVRPART *p, int *np, int *rwvsoftp, // Returns whether or not the memory list contains a flash memory int memlist_contains_flash(const char *mstr, const AVRPART *p) { int ret = 0, nm = 0; - AVRMEM **mlist = memory_list(mstr, p, &nm, NULL, NULL); + AVRMEM **mlist = memory_list(mstr, NULL, p, &nm, NULL, NULL); for(int i=0; imemstr, p, NULL, NULL, &ret)); + mmt_free(memory_list(upd->memstr, NULL, p, NULL, NULL, &ret)); known = 0; // Necessary to check whether the file is readable? @@ -652,7 +662,7 @@ int do_op(const PROGRAMMER *pgm, const AVRPART *p, const UPDATE *upd, enum updat int allsize, len, maxrlen = 0, ns = 0; if(is_multimem(umstr)) { - umemlist = memory_list(umstr, p, &ns, &rwvsoftfail, NULL); + umemlist = memory_list(umstr, pgm, p, &ns, &rwvsoftfail, NULL); if(!ns) { // ns is number of memories listed pmsg_warning("skipping -U %s:... as no memory in part %s available\n", umstr, p->desc); From 8e10196efdeec5d4cd6f5a94a3073b3000ec9cd0 Mon Sep 17 00:00:00 2001 From: Stefan Rueger Date: Tue, 6 Aug 2024 14:04:29 +0100 Subject: [PATCH 14/49] Fix exceptions for ALL memory list --- src/update.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/update.c b/src/update.c index 2b65e37ab..ab6915201 100644 --- a/src/update.c +++ b/src/update.c @@ -277,7 +277,7 @@ static int exclude(const PROGRAMMER *pgm, const AVRPART *p, const AVRMEM *mem) { // Whether a memory should be returned for ALL: exclude IO/SRAM static int is_interesting_mem(const PROGRAMMER *pgm, const AVRPART *p, const AVRMEM *mem) { - return !(mem_is_io(mem) || mem_is_sram(mem)); + return !mem_is_io(mem) && !mem_is_sram(mem) && !(pgm && exclude(pgm, p, mem)); } // Whether a memory should be backup-ed: exclude sub-memories @@ -285,7 +285,7 @@ static int is_backup_mem(const PROGRAMMER *pgm, const AVRPART *p, const AVRMEM * return mem_is_in_flash(mem)? mem_is_flash(mem): mem_is_in_sigrow(mem)? mem_is_sigrow(mem): mem_is_in_fuses(mem)? mem_is_fuses(mem) || !avr_locate_fuses(p): - is_interesting_mem(pgm, p, mem) && !(pgm && exclude(pgm, p, mem)); + is_interesting_mem(pgm, p, mem); } // Add (not == 0) or subtract (not == 1) a memory from list From 00edcd220e80a7534c9dc2d6e683b59cc60fbeae Mon Sep 17 00:00:00 2001 From: Stefan Rueger Date: Tue, 6 Aug 2024 21:02:49 +0100 Subject: [PATCH 15/49] Make avr_mem_exclude() a libavrdude function --- src/avr.c | 6 ++++++ src/libavrdude.h | 2 ++ src/update.c | 8 +------- 3 files changed, 9 insertions(+), 7 deletions(-) diff --git a/src/avr.c b/src/avr.c index 3605e518b..52022d168 100644 --- a/src/avr.c +++ b/src/avr.c @@ -1599,6 +1599,12 @@ Memtable avr_mem_order[100] = { {"sib", MEM_SIB | MEM_READONLY}, }; +// Whether a memory is an exception that shouldn't be there for this particular i/face +int avr_mem_exclude(const PROGRAMMER *pgm, const AVRPART *p, const AVRMEM *mem) { + return // Classic part usersig memories cannot be read/written using ISP + mem_is_usersig(mem) && (p->prog_modes&PM_Classic) && (pgm->prog_modes&p->prog_modes&PM_ISP); +} + int avr_get_mem_type(const char *str) { for(size_t i=0; i < sizeof avr_mem_order/sizeof *avr_mem_order; i++) { if(avr_mem_order[i].str && str_eq(avr_mem_order[i].str, str)) diff --git a/src/libavrdude.h b/src/libavrdude.h index 31c5a8e07..ba755f446 100644 --- a/src/libavrdude.h +++ b/src/libavrdude.h @@ -1144,6 +1144,8 @@ int avr_get_cycle_count(const PROGRAMMER *pgm, const AVRPART *p, int *cycles); int avr_put_cycle_count(const PROGRAMMER *pgm, const AVRPART *p, int cycles); +int avr_mem_exclude(const PROGRAMMER *pgm, const AVRPART *p, const AVRMEM *mem); + int avr_get_mem_type(const char *str); int avr_mem_is_flash_type(const AVRMEM *mem); diff --git a/src/update.c b/src/update.c index ab6915201..66929a7f5 100644 --- a/src/update.c +++ b/src/update.c @@ -269,15 +269,9 @@ static void ioerror(const char *iotype, const UPDATE *upd) { msg_ext_error("\n"); } -// Whether a memory is an exception that shouldn't be included -static int exclude(const PROGRAMMER *pgm, const AVRPART *p, const AVRMEM *mem) { - return // Classic part usersig memories cannot be read/written using ISP - mem_is_usersig(mem) && (p->prog_modes&PM_Classic) && (pgm->prog_modes&p->prog_modes&PM_ISP); -} - // Whether a memory should be returned for ALL: exclude IO/SRAM static int is_interesting_mem(const PROGRAMMER *pgm, const AVRPART *p, const AVRMEM *mem) { - return !mem_is_io(mem) && !mem_is_sram(mem) && !(pgm && exclude(pgm, p, mem)); + return !mem_is_io(mem) && !mem_is_sram(mem) && !(pgm && avr_mem_exclude(pgm, p, mem)); } // Whether a memory should be backup-ed: exclude sub-memories From 4b03d25aba152a01b46c323c5484a297047cbd40 Mon Sep 17 00:00:00 2001 From: Stefan Rueger Date: Tue, 6 Aug 2024 22:17:35 +0100 Subject: [PATCH 16/49] Skip memories that the interface/part combo cannot handle --- src/avr.c | 4 ++-- src/avrcache.c | 24 ++++++++++++++---------- src/avrpart.c | 43 +++++++++++++++++-------------------------- src/disasm.c | 10 +++++----- src/dryrun.c | 2 +- src/libavrdude.h | 10 +++++----- src/main.c | 2 +- src/term.c | 46 ++++++++++++++++++++++++---------------------- 8 files changed, 69 insertions(+), 72 deletions(-) diff --git a/src/avr.c b/src/avr.c index 52022d168..95380ad34 100644 --- a/src/avr.c +++ b/src/avr.c @@ -428,7 +428,7 @@ int avr_read_mem(const PROGRAMMER *pgm, const AVRPART *p, const AVRMEM *mem, con // HW programmers need a page size > 1, bootloader typ only offer paged r/w if ((pgm->paged_load && mem->page_size > 1 && mem->size % mem->page_size == 0) || - ((pgm->prog_modes & PM_SPM) && avr_has_paged_access(pgm, mem))) { + ((pgm->prog_modes & PM_SPM) && avr_has_paged_access(pgm, p, mem))) { /* * the programmer supports a paged mode read */ @@ -1054,7 +1054,7 @@ int avr_write_mem(const PROGRAMMER *pgm, const AVRPART *p, const AVRMEM *m, int // HW programmers need a page size > 1, bootloader typ only offer paged r/w if ((pgm->paged_load && m->page_size > 1 && m->size % m->page_size == 0) || - ((pgm->prog_modes & PM_SPM) && avr_has_paged_access(pgm, m))) { + ((pgm->prog_modes & PM_SPM) && avr_has_paged_access(pgm, p, m))) { /* * the programmer supports a paged mode write */ diff --git a/src/avrcache.c b/src/avrcache.c index c4b7a2db6..8ef9d50da 100644 --- a/src/avrcache.c +++ b/src/avrcache.c @@ -99,7 +99,7 @@ * This file also holds the following utility functions * * // Does the programmer/memory combo have paged memory access? - * int avr_has_paged_access(const PROGRAMMER *pgm, const AVRMEM *mem); + * int avr_has_paged_access(const PROGRAMMER *pgm, const AVRPART *p, const AVRMEM *mem); * * // Read the page containing addr from the device into buf * int avr_read_page_default(const PROGRAMMER *pgm, const AVRPART *p, const AVRMEM *mem, int addr, unsigned char *buf); @@ -123,11 +123,12 @@ * Note that in this definition the page size can be 1 */ -int avr_has_paged_access(const PROGRAMMER *pgm, const AVRMEM *mem) { +int avr_has_paged_access(const PROGRAMMER *pgm, const AVRPART *p, const AVRMEM *mem) { return pgm->paged_load && pgm->paged_write && mem->page_size > 0 && (mem->page_size & (mem->page_size-1)) == 0 && mem->size > 0 && mem->size % mem->page_size == 0 && - mem_is_paged_type(mem); + mem_is_paged_type(mem) && + !(p && avr_mem_exclude(pgm, p, mem)); } @@ -145,7 +146,7 @@ int avr_has_paged_access(const PROGRAMMER *pgm, const AVRMEM *mem) { * + LIBAVRDUDE_SUCCESS (0) if the fallback of bytewise read succeeded */ int avr_read_page_default(const PROGRAMMER *pgm, const AVRPART *p, const AVRMEM *mem, int addr, unsigned char *buf) { - if(!avr_has_paged_access(pgm, mem) || addr < 0 || addr >= mem->size) + if(!avr_has_paged_access(pgm, p, mem) || addr < 0 || addr >= mem->size) return LIBAVRDUDE_GENERAL_FAILURE; int rc, pgsize = mem->page_size, base = addr & ~(pgsize-1); @@ -190,7 +191,7 @@ int avr_read_page_default(const PROGRAMMER *pgm, const AVRPART *p, const AVRMEM * - Uses write_byte() if memory page size is one, otherwise paged_write() */ int avr_write_page_default(const PROGRAMMER *pgm, const AVRPART *p, const AVRMEM *mem, int addr, unsigned char *data) { - if(!avr_has_paged_access(pgm, mem) || addr < 0 || addr >= mem->size) + if(!avr_has_paged_access(pgm, p, mem) || addr < 0 || addr >= mem->size) return LIBAVRDUDE_GENERAL_FAILURE; int rc, pgsize = mem->page_size, base = addr & ~(pgsize-1); @@ -263,7 +264,7 @@ static int initCache(AVR_Cache *cp, const PROGRAMMER *pgm, const AVRPART *p) { AVRMEM *basemem = cp == pgm->cp_flash? avr_locate_flash(p): cp == pgm->cp_eeprom? avr_locate_eeprom(p): cp == pgm->cp_bootrow? avr_locate_bootrow(p): avr_locate_usersig(p); - if(!basemem || !avr_has_paged_access(pgm, basemem)) + if(!basemem || !avr_has_paged_access(pgm, p, basemem)) return LIBAVRDUDE_GENERAL_FAILURE; cp->size = basemem->size; @@ -377,6 +378,9 @@ int avr_flush_cache(const PROGRAMMER *pgm, const AVRPART *p) { bool chiperase = 0; // Count page changes and find a page that needs a clear bit set for(size_t i = 0; i < sizeof mems/sizeof*mems; i++) { + if(mems[i].mem && avr_mem_exclude(pgm, p, mems[i].mem)) // Zap mem if excluded combo + memset(mems+i, 0, sizeof *mems); + AVRMEM *mem = mems[i].mem; AVR_Cache *cp = mems[i].cp; if(!mem || !cp->cont) @@ -607,7 +611,7 @@ int avr_read_byte_cached(const PROGRAMMER *pgm, const AVRPART *p, const AVRMEM * unsigned long addr, unsigned char *value) { // Use pgm->read_byte() if not flash/EEPROM/bootrow/usersig or no paged access - if(!avr_has_paged_access(pgm, mem)) + if(!avr_has_paged_access(pgm, p, mem)) return fallback_read_byte(pgm, p, mem, addr, value); // If address is out of range synchronise cache and, if successful, pretend reading a zero @@ -651,7 +655,7 @@ int avr_write_byte_cached(const PROGRAMMER *pgm, const AVRPART *p, const AVRMEM unsigned long addr, unsigned char data) { // Use pgm->write_byte() if not flash/EEPROM/bootrow/usersig or no paged access - if(!avr_has_paged_access(pgm, mem)) + if(!avr_has_paged_access(pgm, p, mem)) return fallback_write_byte(pgm, p, mem, addr, data); // If address is out of range synchronise caches with device and return whether successful @@ -702,7 +706,7 @@ int avr_chip_erase_cached(const PROGRAMMER *pgm, const AVRPART *p) { AVRMEM *mem = mems[i].mem; AVR_Cache *cp = mems[i].cp; - if(!mem || !avr_has_paged_access(pgm, mem)) + if(!mem || !avr_has_paged_access(pgm, p, mem)) continue; if(!cp->cont) // Init cache if needed @@ -751,7 +755,7 @@ int avr_page_erase_cached(const PROGRAMMER *pgm, const AVRPART *p, const AVRMEM int addr = uaddr; - if(!avr_has_paged_access(pgm, mem) || addr < 0 || addr >= mem->size) + if(!avr_has_paged_access(pgm, p, mem) || addr < 0 || addr >= mem->size) return LIBAVRDUDE_GENERAL_FAILURE; if(mem->page_size == 1) { diff --git a/src/avrpart.c b/src/avrpart.c index 2bf033858..dea8c8880 100644 --- a/src/avrpart.c +++ b/src/avrpart.c @@ -805,36 +805,33 @@ int avr_set_config_value(const PROGRAMMER *pgm, const AVRPART *p, const char *cn } -static char *print_num(const char *fmt, int n) { - return mmt_sprintf(n<10? "%d": fmt, n); +static const char *print_num(const char *fmt, int n) { + return str_ccprintf(n<10? "%d": fmt, n); } static int num_len(const char *fmt, int n) { - char *p = print_num(fmt, n); - int ret = strlen(p); - mmt_free(p); - - return ret; + return strlen(print_num(fmt, n)); } -void avr_mem_display(FILE *f, const AVRPART *p, const char *prefix) { +void avr_mem_display(FILE *f, const PROGRAMMER *pgm, const AVRPART *p, const char *prefix) { const char *table_colum[] = {"Memory", "Size", "Pg size", "Offset"}; const char *table_padding = "-------------------------------"; const int memory_col = 0, offset_col = 3; int m_char_max[4]; + AVRMEM *m; for(int i = 0; i < 4; i++) m_char_max[i] = strlen(table_colum[i]); for (LNODEID ln=lfirst(p->mem); ln; ln=lnext(ln)) { - AVRMEM *m = ldata(ln); + if(avr_mem_exclude(pgm, p, (m = ldata(ln)))) + continue; + int m_size[] = {0, m->size, m->page_size, m->offset}; - // Mem desc/size/pgsize/offset string length - AVRMEM_ALIAS *a = avr_find_memalias(p, m); + // Max column widths for(int i = 0; i < 4; i++) { - int len = i == memory_col? - (int) (strlen(m->desc) + strlen(a? "/": "") + strlen(a? a->desc: "")): // desc + int len = i == memory_col? (int) strlen(avr_mem_name(p, m)): num_len(i == offset_col? "0x%04x": "%d", m_size[i]); // size/pgsize/offset if(m_char_max[i] < len) m_char_max[i] = len; @@ -871,30 +868,24 @@ void avr_mem_display(FILE *f, const AVRPART *p, const char *prefix) { } for (LNODEID ln=lfirst(p->mem); ln; ln=lnext(ln)) { - AVRMEM *m = ldata(ln); - - // Create mem desc string including alias if present - AVRMEM_ALIAS *a = avr_find_memalias(p, m); - char *m_desc_str = mmt_sprintf("%s%s%s", m->desc, a? "/": "", a? a->desc: ""); + if(avr_mem_exclude(pgm, p, (m = ldata(ln)))) + continue; // Print memory table content if(p->prog_modes & (PM_PDI | PM_UPDI)) { - char *m_offset = print_num("0x%04x", m->offset); fprintf(f, "%s%-*s %*d %*d %*s \n", prefix, - m_char_max[0], m_desc_str, + m_char_max[0], avr_mem_name(p, m), m_char_max[1], m->size, m_char_max[2], m->page_size, - m_char_max[3], m_offset); - mmt_free(m_offset); + m_char_max[3], print_num("0x%04x", m->offset)); } else { fprintf(f, "%s%-*s %*d %*d\n", prefix, - m_char_max[0], m_desc_str, + m_char_max[0], avr_mem_name(p, m), m_char_max[1], m->size, m_char_max[2], m->page_size); } - mmt_free(m_desc_str); } } @@ -1170,12 +1161,12 @@ void sort_avrparts(LISTID avrparts) } -void avr_display(FILE *f, const AVRPART *p, const char *prefix, int verbose) { +void avr_display(FILE *f, const PROGRAMMER *pgm, const AVRPART *p, const char *prefix, int verbose) { fprintf(f, "%sAVR part : %s\n", prefix, p->desc); fprintf(f, "%sProgramming modes : %s\n", prefix, str_prog_modes(p->prog_modes)); if(verbose > 1) { - avr_mem_display(f, p, prefix); + avr_mem_display(f, pgm, p, prefix); avr_variants_display(f, p, prefix); } } diff --git a/src/disasm.c b/src/disasm.c index c35e59f7e..cb6a657fb 100644 --- a/src/disasm.c +++ b/src/disasm.c @@ -256,9 +256,9 @@ static int tagfile_readline(char *line, int lineno, const char * const *isrnames // Allocate, copy, append a suffix (H, L, 0...8 or nothing), cleanup name and return static char *regname(const char *pre, const char *reg, int suf) { char *ret = - suf <= -1? str_sprintf("%s%s", pre, reg): - suf == 'h' || suf == 'l'? str_sprintf("%s%s%c", pre, reg, suf): - str_sprintf("%s%s%d", pre, reg, suf); + suf <= -1? mmt_sprintf("%s%s", pre, reg): + suf == 'h' || suf == 'l'? mmt_sprintf("%s%s%c", pre, reg, suf): + mmt_sprintf("%s%s%d", pre, reg, suf); return cleanup(ret); } @@ -556,10 +556,10 @@ static int process_string(const char *buf, int buflen, int pos, int offset) { str[i-pos] = 0; out = cfg_escape(str); mmt_free(str); - code = str_sprintf(".ascii %s", out); + code = mmt_sprintf(".ascii %s", out); } else { // Nul terminated string out = cfg_escape(buf + pos); - code = str_sprintf(".asciz %s", out); + code = mmt_sprintf(".asciz %s", out); i++; } diff --git a/src/dryrun.c b/src/dryrun.c index 9e0c9074f..d47505e9e 100644 --- a/src/dryrun.c +++ b/src/dryrun.c @@ -155,7 +155,7 @@ static int dryrun_page_erase(const PROGRAMMER *pgm, const AVRPART *p, const AVRM if(!(dmem = avr_locate_mem(dry.dp, m->desc))) Return("cannot locate %s %s memory for paged write", dry.dp->desc, m->desc); - if(!avr_has_paged_access(pgm, dmem) || addr >= (unsigned) dmem->size) + if(!avr_has_paged_access(pgm, dry.dp, dmem) || addr >= (unsigned) dmem->size) Return("%s does not support paged access", dmem->desc); addr &= ~(dmem->page_size-1); if(addr + dmem->page_size > (unsigned) dmem->size) diff --git a/src/libavrdude.h b/src/libavrdude.h index ba755f446..986577e21 100644 --- a/src/libavrdude.h +++ b/src/libavrdude.h @@ -535,6 +535,8 @@ typedef struct avrmem_alias { AVRMEM *aliased_mem; } AVRMEM_ALIAS; +typedef struct programmer PROGRAMMER; // Forward declaration + #ifdef __cplusplus extern "C" { #endif @@ -572,7 +574,7 @@ AVRMEM * avr_locate_mem_by_type(const AVRPART *p, Memtype type); unsigned int avr_data_offset(const AVRPART *p); AVRMEM_ALIAS * avr_locate_memalias(const AVRPART *p, const char *desc); AVRMEM_ALIAS * avr_find_memalias(const AVRPART *p, const AVRMEM *m_orig); -void avr_mem_display(FILE *f, const AVRPART *p, const char *prefix); +void avr_mem_display(FILE *f, const PROGRAMMER *pgm, const AVRPART *p, const char *prefix); /* Functions for AVRPART structures */ AVRPART * avr_new_part(void); @@ -585,7 +587,7 @@ AVRPART * locate_part_by_signature_pm(const LISTID parts, unsigned char *sig, in int avr_sig_compatible(const unsigned char *sig1, const unsigned char *sig2); char *avr_prog_modes(int pm), *str_prog_modes(int pm), *dev_prog_modes(int pm); -void avr_display(FILE *f, const AVRPART *p, const char *prefix, int verbose); +void avr_display(FILE *f, const PROGRAMMER *pgm, const AVRPART *p, const char *prefix, int verbose); int avr_variants_display(FILE *f, const AVRPART *p, const char *prefix); typedef void (*walk_avrparts_cb)(const char *name, const char *desc, @@ -710,8 +712,6 @@ void pin_set_value(struct pindef * const pindef, const int pin, const bool inver */ void pin_clear_all(struct pindef * const pindef); -typedef struct programmer PROGRAMMER; // Forward declaration - /** * Convert for given programmer new pin definitions to old pin definitions. * @@ -1170,7 +1170,7 @@ void report_progress(int completed, int total, const char *hdr); void trace_buffer(const char *funstr, const unsigned char *buf, size_t buflen); -int avr_has_paged_access(const PROGRAMMER *pgm, const AVRMEM *m); +int avr_has_paged_access(const PROGRAMMER *pgm, const AVRPART *p, const AVRMEM *m); int avr_read_page_default(const PROGRAMMER *pgm, const AVRPART *p, const AVRMEM *mem, int addr, unsigned char *buf); diff --git a/src/main.c b/src/main.c index 09d3646b0..d2e8bb301 100644 --- a/src/main.c +++ b/src/main.c @@ -1515,7 +1515,7 @@ int main(int argc, char * argv []) } if (verbose > 0 && quell_progress < 2) { - avr_display(stderr, p, progbuf, verbose); + avr_display(stderr, pgm, p, progbuf, verbose); msg_notice2("\n"); programmer_display(pgm, progbuf); } diff --git a/src/term.c b/src/term.c index 473bd87bc..85cb2d4c6 100644 --- a/src/term.c +++ b/src/term.c @@ -836,7 +836,7 @@ static int cmd_write(const PROGRAMMER *pgm, const AVRPART *p, int argc, const ch msg_notice2("; remaining space filled with %s", argv[argc - 2]); msg_notice2("\n"); - report_progress(0, 1, avr_has_paged_access(pgm, mem)? "Caching": "Writing"); + report_progress(0, 1, avr_has_paged_access(pgm, p, mem)? "Caching": "Writing"); for (i = 0; i < len + bytes_grown; i++) { report_progress(i, len + bytes_grown, NULL); if(!tags[i]) @@ -1270,7 +1270,7 @@ static int cmd_pgerase(const PROGRAMMER *pgm, const AVRPART *p, int argc, const pmsg_error("(pgerase) memory %s not defined for part %s\n", memstr, p->desc); return -1; } - if(!avr_has_paged_access(pgm, mem)) { + if(!avr_has_paged_access(pgm, p, mem)) { pmsg_error("(pgerase) %s memory cannot be paged addressed by %s\n", memstr, pgmid); return -1; } @@ -1974,12 +1974,12 @@ static int cmd_factory(const PROGRAMMER *pgm, const AVRPART *p, int argc, const } for(LNODEID ln=lfirst(p->mem); ln; ln=lnext(ln)) { - m = ldata(ln); - if(mem_is_eeprom(m) || mem_is_user_type(m)) { - args[1] = m->desc; - if(cmd_erase(pgm, p, 2, args) < 0) - ret = -1; - } + if(!avr_mem_exclude(pgm, p, (m = ldata(ln)))) + if(mem_is_eeprom(m) || mem_is_user_type(m)) { + args[1] = m->desc; + if(cmd_erase(pgm, p, 2, args) < 0) + ret = -1; + } } if(pgm->flush_cache(pgm, p) < 0) @@ -1990,9 +1990,10 @@ static int cmd_factory(const PROGRAMMER *pgm, const AVRPART *p, int argc, const // Reset fuses to factory values for(LNODEID ln=lfirst(p->mem); ln; ln=lnext(ln)) - if(mem_is_a_fuse(m = ldata(ln))) - if(fusel_factory(pgm, p, m) < 0) - ret = -1; + if(!avr_mem_exclude(pgm, p, (m = ldata(ln)))) + if(mem_is_a_fuse(m)) + if(fusel_factory(pgm, p, m) < 0) + ret = -1; int fuseok = ret == 0; @@ -2001,12 +2002,12 @@ static int cmd_factory(const PROGRAMMER *pgm, const AVRPART *p, int argc, const ret = -1; for(LNODEID ln=lfirst(p->mem); ln; ln=lnext(ln)) { - m = ldata(ln); - if(mem_is_flash(m) || mem_is_eeprom(m) || mem_is_user_type(m)) { - args[1] = m->desc; - if(cmd_erase(pgm, p, 2, args) < 0) - ret = -1; - } + if(!avr_mem_exclude(pgm, p, (m = ldata(ln)))) + if(mem_is_flash(m) || mem_is_eeprom(m) || mem_is_user_type(m)) { + args[1] = m->desc; + if(cmd_erase(pgm, p, 2, args) < 0) + ret = -1; + } } if(pgm->flush_cache(pgm, p) < 0) @@ -2014,9 +2015,10 @@ static int cmd_factory(const PROGRAMMER *pgm, const AVRPART *p, int argc, const // Reset lock to factory value for(LNODEID ln=lfirst(p->mem); ln; ln=lnext(ln)) - if(mem_is_lock(m = ldata(ln))) - if(fusel_factory(pgm, p, m) < 0) - ret = -1; + if(!avr_mem_exclude(pgm, p, (m = ldata(ln)))) + if(mem_is_lock(m)) + if(fusel_factory(pgm, p, m) < 0) + ret = -1; if(p->factory_fcpu) term_out("after the next reset the part %s have F_CPU = %.3f MHz\n", fuseok? "will": "should", @@ -2247,13 +2249,13 @@ static int cmd_part(const PROGRAMMER *pgm, const AVRPART *p, int argc, const cha } if(onlymem) - avr_mem_display(stdout, p, ""); + avr_mem_display(stdout, pgm, p, ""); else if(onlyvariants) avr_variants_display(stdout, p, ""); else { char *q = str_prog_modes(p->prog_modes); term_out("%s with programming mode%s %s\n", p->desc, strchr(q, ',')? "s": "", q); - avr_mem_display(stdout, p, ""); + avr_mem_display(stdout, pgm, p, ""); avr_variants_display(stdout, p, ""); } lterm_out(""); From c16603a96e8e64370885ca6c404553db01f8ef02 Mon Sep 17 00:00:00 2001 From: Stefan Rueger Date: Tue, 6 Aug 2024 22:33:07 +0100 Subject: [PATCH 17/49] Make warning about unused fuse bits a debug message Different parts read unused fuse bits back with different bit default values, the ATDF files don't necessarily document this correctly. Rather than showing a warning that is ignored make this a debug message. --- src/avr.c | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/src/avr.c b/src/avr.c index 95380ad34..4d666c9d4 100644 --- a/src/avr.c +++ b/src/avr.c @@ -1384,14 +1384,14 @@ int avr_verify_mem(const PROGRAMMER *pgm, const AVRPART *p, const AVRPART *v, co // Mismatch is only in unused bits if ((buf1[i] | bitmask) != 0xff) { // Programmer returned unused bits as 0, must be the part/programmer - pmsg_warning("ignoring mismatch in unused bits of %s\n", a->desc); - imsg_warning("(device 0x%02x != input 0x%02x); to prevent this warning fix\n", buf1[i], buf2[i]); - imsg_warning("the part or programmer definition in the config file\n"); + pmsg_debug("ignoring mismatch in unused bits of %s\n", a->desc); + imsg_debug("(device 0x%02x != input 0x%02x); to prevent this warning fix\n", buf1[i], buf2[i]); + imsg_debug("the part or programmer definition in the config file\n"); } else { // Programmer returned unused bits as 1, must be the user - pmsg_warning("ignoring mismatch in unused bits of %s\n", a->desc); - imsg_warning("(device 0x%02x != input 0x%02x); to prevent this warning set\n", buf1[i], buf2[i]); - imsg_warning("unused bits to 1 when writing (double check with datasheet)\n"); + pmsg_debug("ignoring mismatch in unused bits of %s\n", a->desc); + imsg_debug("(device 0x%02x != input 0x%02x); to prevent this warning set\n", buf1[i], buf2[i]); + imsg_debug("unused bits to 1 when writing (double check with datasheet)\n"); } } } From ef441f58d3bf9f2fe4e918bee69d580d3e062cae Mon Sep 17 00:00:00 2001 From: Hans Ulrich Niedermann Date: Wed, 31 Jul 2024 14:32:35 +0200 Subject: [PATCH 18/49] Elaborate comments on versioninfo_* Elaborate a bit more on the VERSIONINFO_* and versioninfo_* m4 macros. This should help me get back into things when I come back to this in a year or so and have forgotten most of the details. --- src/configure.ac | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/src/configure.ac b/src/configure.ac index b1e3102cc..b4d053e9d 100644 --- a/src/configure.ac +++ b/src/configure.ac @@ -32,9 +32,10 @@ dnl 2018-02-25 automake 1.16 dnl 2018-03-11 automake 1.16.1 install-sh symlink fix -dnl Change this definition if you want to change the dist tarball name -dnl pattern from avrdude-7.3 for releases and avrdude-7.3-${COMMIT_DATE} -dnl for snapshots. +dnl Define the dist tarball name as +dnl * avrdude-7.3 for releases +dnl * avrdude-7.3-${COMMIT_DATE} for snapshots +dnl just like CMakeLists.txt does. m4_define([versioninfo_AVRDUDE_PACKAGE_VERSION], m4_case(m4_defn([versioninfo_GIT_COMMIT_HASH]), m4_defn([versioninfo_GIT_TAG_HASH]), @@ -64,6 +65,9 @@ AM_INIT_AUTOMAKE([ AM_SILENT_RULES([yes]) +dnl Set up the macro definitions for versioninfo_* which we hand to AC_INIT. +dnl Yes, it does work to expand the VERSIONINFO_SETUP macro *after* AC_INIT. +dnl For details, see the build-helpers/versioninfo.{md,m4,mk,sh} files. VERSIONINFO_SETUP() dnl Inform about the derived PACKAGE_VERSION From 50751ee5b37c3b945a127c71288841c5062eae6e Mon Sep 17 00:00:00 2001 From: Hans Ulrich Niedermann Date: Wed, 31 Jul 2024 17:32:56 +0200 Subject: [PATCH 19/49] configure.ac: Guard macros with m4_pattern_forbid Guard m4 macro calls with m4_pattern_forbid for all macros which do not come with Autoconf/Automake. All other macros might not be present on the system, and it is better to m4_pattern_forbid them and have autoreconf fail, than to have autoreconf generate a malformed broken configure script which then always fails with a weird error message. --- src/configure.ac | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/src/configure.ac b/src/configure.ac index b4d053e9d..bb340f72c 100644 --- a/src/configure.ac +++ b/src/configure.ac @@ -64,10 +64,13 @@ AM_INIT_AUTOMAKE([ AM_SILENT_RULES([yes]) - dnl Set up the macro definitions for versioninfo_* which we hand to AC_INIT. -dnl Yes, it does work to expand the VERSIONINFO_SETUP macro *after* AC_INIT. +dnl +dnl Yes, it does work to expand the VERSIONINFO_SETUP macro *after* AC_INIT: +dnl The presence of VERSIONINFO_SETUP pulls in the definitions at the top. +dnl dnl For details, see the build-helpers/versioninfo.{md,m4,mk,sh} files. +m4_pattern_forbid([VERSIONINFO_SETUP])dnl VERSIONINFO_SETUP() dnl Inform about the derived PACKAGE_VERSION @@ -97,13 +100,17 @@ AC_PROG_SED AC_PROG_YACC AC_PROG_LEX([noyywrap]) AM_PROG_AR + +m4_pattern_forbid([LT_INIT])dnl LT_INIT() -# If macro PKG_PROG_PKG_CONFIG is not available, Autoconf generates a misleading error message, -# so check for existence first, and otherwise provide helpful advice. +dnl If macro PKG_PROG_PKG_CONFIG is not available, Autoconf generates +dnl a misleading error message, so check for existence first, and +dnl otherwise provide helpful advice. m4_ifndef([PKG_PROG_PKG_CONFIG], [m4_fatal(m4_normalize([ Macro PKG_PROG_PKG_CONFIG is not available. It is usually defined in file pkg.m4 provided by package pkg-config.]))]) +m4_pattern_forbid([PKG_PROG_PKG_CONFIG])dnl PKG_PROG_PKG_CONFIG([0.23]) AH_TEMPLATE([HAVE_YYLEX_DESTROY], From 0b82a1f124a1deafe48afc79e1c587f9048526a6 Mon Sep 17 00:00:00 2001 From: Hans Ulrich Niedermann Date: Sun, 25 Feb 2024 16:25:33 +0100 Subject: [PATCH 20/49] CI: no need to install gettext for linux autotools test --- .github/workflows/build.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index a583fa968..d87a7b2db 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -43,7 +43,6 @@ jobs: build-essential automake libtool - gettext flex bison libelf-dev From a74c58b32aedd282cbb564f0ba66bf7edc4d55a2 Mon Sep 17 00:00:00 2001 From: Hans Ulrich Niedermann Date: Tue, 20 Feb 2024 01:46:32 +0100 Subject: [PATCH 21/49] Keep workaround for no-dist-built-files not being available As no-dist-built-files was only introduced in Automake 1.16.4, we cannot rely on that feature being present and need to continue using our own workaround. This hooks the dist-hook in a more robust fashion in the face of multiple dist-hook targets (and versioninfo.mk already uses one). --- src/Makefile.am | 27 ++++++++++++++++----------- 1 file changed, 16 insertions(+), 11 deletions(-) diff --git a/src/Makefile.am b/src/Makefile.am index fc9782714..3d7ac11fc 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -31,14 +31,18 @@ EXTRA_DIST = \ avrdude.spec \ bootstrap -CLEANFILES = \ - config_gram.c \ - config_gram.h \ - lexer.c +BUILT_SOURCES = +CLEANFILES = -include build-helpers/versioninfo.mk +built_sources = +built_sources += config_gram.c +built_sources += config_gram.h +built_sources += lexer.c + +BUILT_SOURCES += $(built_sources) +CLEANFILES += $(built_sources) -BUILT_SOURCES = $(CLEANFILES) +include build-helpers/versioninfo.mk #SUBDIRS = doc #DIST_SUBDIRS = doc @@ -77,11 +81,12 @@ lib_LTLIBRARIES = libavrdude.la # https://savannah.nongnu.org/bugs/index.php?func=detailitem&item_id=15536 # # for why we don't want to have them. -dist-hook: - rm -f \ - $(distdir)/lexer.c \ - $(distdir)/config_gram.c \ - $(distdir)/config_gram.h +# +# We could avoid this dist-hook altogether if we could require +# Automake >= 1.16.4 and just use its no-dist-built-sources flag. +dist-hook: dist-hook-no-dist-built-sources-workaround +dist-hook-no-dist-built-sources-workaround: + cd "$(distdir)" && rm -f $(built_sources) libavrdude_a_SOURCES = \ config_gram.y \ From dfe14e63ae1b2c051b935d3b78392a72d1873fa0 Mon Sep 17 00:00:00 2001 From: Hans Ulrich Niedermann Date: Thu, 1 Aug 2024 00:05:06 +0200 Subject: [PATCH 22/49] Only build and use libavrdude as a libtool library As libtool is supposed to be able to build libraries for every target system, we delegate library building to libtool and stop building our own static libavrdude.a library. You can control whether the static/dynamic library is built by using the --(disable|enable)-(static|dynamic) configure flags. --- src/Makefile.am | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-) diff --git a/src/Makefile.am b/src/Makefile.am index 3d7ac11fc..55ca6ec43 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -57,19 +57,16 @@ AM_YFLAGS = -d avrdude_CPPFLAGS = -DCONFIG_DIR=\"$(sysconfdir)\" -libavrdude_a_CPPFLAGS = -DCONFIG_DIR=\"$(sysconfdir)\" -libavrdude_la_CPPFLAGS = $(libavrdude_a_CPPFLAGS) +libavrdude_la_CPPFLAGS = -DCONFIG_DIR=\"$(sysconfdir)\" avrdude_CFLAGS = @ENABLE_WARNINGS@ -libavrdude_a_CFLAGS = @ENABLE_WARNINGS@ $(LIBGPIOD_CFLAGS) -libavrdude_la_CFLAGS = $(libavrdude_a_CFLAGS) +libavrdude_la_CFLAGS = @ENABLE_WARNINGS@ $(LIBGPIOD_CFLAGS) -avrdude_LDADD = $(top_builddir)/$(noinst_LIBRARIES) @LIBUSB_1_0@ @LIBHIDAPI@ @LIBUSB@ @LIBFTDI1@ @LIBFTDI@ @LIBHID@ @LIBELF@ @LIBPTHREAD@ @LIBSERIALPORT@ $(LIBGPIOD_LIBS) -lm +avrdude_LDADD = libavrdude.la @LIBUSB_1_0@ @LIBHIDAPI@ @LIBUSB@ @LIBFTDI1@ @LIBFTDI@ @LIBHID@ @LIBELF@ @LIBPTHREAD@ @LIBSERIALPORT@ $(LIBGPIOD_LIBS) -lm bin_PROGRAMS = avrdude -noinst_LIBRARIES = libavrdude.a lib_LTLIBRARIES = libavrdude.la # automake thinks these generated files should be in the distribution, @@ -88,7 +85,7 @@ dist-hook: dist-hook-no-dist-built-sources-workaround dist-hook-no-dist-built-sources-workaround: cd "$(distdir)" && rm -f $(built_sources) -libavrdude_a_SOURCES = \ +libavrdude_la_SOURCES = \ config_gram.y \ lexer.l \ arduino.h \ @@ -223,7 +220,6 @@ libavrdude_a_SOURCES = \ wiring.c \ xbee.h \ xbee.c -libavrdude_la_SOURCES = $(libavrdude_a_SOURCES) libavrdude_la_LDFLAGS = -version-info 2:0 include_HEADERS = libavrdude.h From c4d903e155608459daf6bdf28b4152d9df0dc669 Mon Sep 17 00:00:00 2001 From: Hans Ulrich Niedermann Date: Wed, 14 Feb 2024 04:54:09 +0100 Subject: [PATCH 23/49] Use cmake libavrdude SOVERSION/VERSION for autotools This transfers the information from the CMakeLists.txt libavrdude VERSION and SOVERSION into the autotools configure script and (partly) uses the information to build the libavrdude.la libtool library. At this time, VERSION must always be SOVERSION.0.0 for this to work (and that is checked). --- src/Makefile.am | 2 +- src/build-helpers/versioninfo.m4 | 2 ++ src/build-helpers/versioninfo.sh | 34 +++++++++++++++++++++++++++++++- src/configure.ac | 27 +++++++++++++++++++++++++ 4 files changed, 63 insertions(+), 2 deletions(-) diff --git a/src/Makefile.am b/src/Makefile.am index 55ca6ec43..5b9957564 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -220,7 +220,7 @@ libavrdude_la_SOURCES = \ wiring.c \ xbee.h \ xbee.c -libavrdude_la_LDFLAGS = -version-info 2:0 +libavrdude_la_LDFLAGS = -version-info @LIBAVRDUDE_VERSION_INFO@ include_HEADERS = libavrdude.h include_HEADERS += libavrdude-avrintel.h diff --git a/src/build-helpers/versioninfo.m4 b/src/build-helpers/versioninfo.m4 index 30e36d6e9..1fa441efa 100644 --- a/src/build-helpers/versioninfo.m4 +++ b/src/build-helpers/versioninfo.m4 @@ -9,6 +9,8 @@ dnl This must be the same sequence as the versioninfo script writes. m4_pattern_forbid([versioninfo_items]) m4_define([versioninfo_items], [ [CMAKE_PROJECT_VERSION], + [CMAKE_LIBAVRDUDE_VERSION], + [CMAKE_LIBAVRDUDE_SOVERSION], [GIT_COMMIT_DATE], [GIT_COMMIT_HASH], [GIT_TAG_HASH] diff --git a/src/build-helpers/versioninfo.sh b/src/build-helpers/versioninfo.sh index 58ebc9c6d..4ca2a95e9 100755 --- a/src/build-helpers/versioninfo.sh +++ b/src/build-helpers/versioninfo.sh @@ -89,6 +89,36 @@ test -n "$PROJECT_VERSION" || \ ret_error "Cannot find project(...) in top-level avrdude 'CMakeLists.txt'" +# Parse libavrdude library version from CMakeLists.txt +tmp="$(${AWK-awk} ' +BEGIN { v=0; } +($1 == "set_target_properties(libavrdude") { v=1; } +(v == 1) && /^[[:space:]]+\)/ { v=0; } +(v == 1) && /^[[:space:]]+VERSION[[:space:]]+/ { version=$2; } +(v == 1) && /^[[:space:]]+SOVERSION[[:space:]]+/ { soversion=$2; } +END { print version; + print soversion; } +' < "$top_srcdir/CMakeLists.txt")" + + +# Extract the libavrdude VERSION +CMAKE_LIBAVRDUDE_VERSION="$(printf "%s\n" "$tmp" | { \ + read LIB_VERSION; read LIB_SOVERSION; \ + printf "%s\n" "$LIB_VERSION"; })" + +test -n "$CMAKE_LIBAVRDUDE_VERSION" || \ + ret_error "Cannot find library VERSION in library 'CMakeLists.txt'" + + +# Extract the libavrdude SOVERSION +CMAKE_LIBAVRDUDE_SOVERSION="$(printf "%s\n" "$tmp" | { \ + read LIB_VERSION; read LIB_SOVERSION; \ + printf "%s\n" "$LIB_SOVERSION"; })" + +test -n "$CMAKE_LIBAVRDUDE_SOVERSION" || \ + ret_error "Cannot find library SOVERSION in library 'CMakeLists.txt'" + + # If GIT_DIR is set, use it. If not, try "$top_srcdir/../.git". test -n "$GIT_DIR" || { \ GIT_DIR="$top_srcdir/../.git"; \ @@ -106,11 +136,13 @@ if test -d "$GIT_DIR" && ${GIT-git} --version > /dev/null 2>&1; then ret_error "$prog: Cannot run 'git log' for tag hash" # This must be the same sequence as versioninfo_items in configure.ac ret_ok "${PROJECT_VERSION}" \ + "${CMAKE_LIBAVRDUDE_VERSION}" "${CMAKE_LIBAVRDUDE_SOVERSION}" \ "${GIT_COMMIT_DATE}" "${GIT_COMMIT_HASH}" "${GIT_TAG_HASH}" else # This is a github release tarball or github snapshot tarball # Presume this is a release version, because who would build a # non-release version from a snapshot tarball? - ret_ok "${PROJECT_VERSION}" + ret_ok "${PROJECT_VERSION}" \ + "${CMAKE_LIBAVRDUDE_VERSION}" "${CMAKE_LIBAVRDUDE_SOVERSION}" fi diff --git a/src/configure.ac b/src/configure.ac index bb340f72c..2abf92196 100644 --- a/src/configure.ac +++ b/src/configure.ac @@ -92,6 +92,33 @@ AC_DEFINE_UNQUOTED([AVRDUDE_FULL_VERSION], ["$AVRDUDE_FULL_VERSION"], AC_SUBST([AVRDUDE_FULL_VERSION]) +# Define libavrdude libtool version from cmake libavrdude information +dnl +dnl This is a very simple consistency check. If this check ever fails, +dnl the library versioning policy and its technical implementation +dnl must be adapted. +m4_case(m4_defn([versioninfo_CMAKE_LIBAVRDUDE_SOVERSION])[.0.0], + m4_defn([versioninfo_CMAKE_LIBAVRDUDE_VERSION]), + [], + [m4_fatal([ +The cmake libavrdude VERSION should be SOVERSION.0.0 ("]m4_defn([versioninfo_CMAKE_LIBAVRDUDE_SOVERSION])[.0.0"), +but it is actually "]m4_defn([versioninfo_CMAKE_LIBAVRDUDE_VERSION])[". + +This is an internal error in the logic which transfers library version +information from the cmake buildsystem to the automake buildsystem. + +Please file a GitHub issue for avrdude and mention @ndim. + ])])dnl +dnl +AC_MSG_CHECKING([versioninfo derived libtool -version-info for libavrdude]) +libavrdude_lt_cur=$CMAKE_LIBAVRDUDE_SOVERSION +libavrdude_lt_rev=0 +libavrdude_lt_age=0 +AC_SUBST([LIBAVRDUDE_VERSION_INFO], + [${libavrdude_lt_cur}:${libavrdude_lt_rev}:${libavrdude_lt_age}]) +AC_MSG_RESULT([$LIBAVRDUDE_VERSION_INFO]) + + # Checks for programs. AC_PROG_CC AC_PROG_INSTALL From 63b0b4a931da187137dd53eb6dd76933c0cebade Mon Sep 17 00:00:00 2001 From: Stefan Rueger Date: Tue, 6 Aug 2024 23:58:24 +0100 Subject: [PATCH 24/49] Reformat some continuation messages --- src/avr.c | 4 ++-- src/main.c | 8 ++++---- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/src/avr.c b/src/avr.c index 4d666c9d4..619dc0dac 100644 --- a/src/avr.c +++ b/src/avr.c @@ -873,8 +873,8 @@ int avr_write_byte_default(const PROGRAMMER *pgm, const AVRPART *p, const AVRMEM rc = pgm->initialize(pgm, p); if (rc < 0) { pmsg_error("initialization failed (rc = %d):\n", rc); - imsg_error("cannot re-initialize device after programming the %s bits; you\n", mem->desc); - imsg_error("must manually power-down the device and restart %s to continue\n", progname); + imsg_error("cannot re-initialize device after programming the %s bits;\n", mem->desc); + imsg_error("manually power-down the device and restart %s to continue\n", progname); rc = -3; goto rcerror; } diff --git a/src/main.c b/src/main.c index d2e8bb301..5806692c3 100644 --- a/src/main.c +++ b/src/main.c @@ -1677,8 +1677,8 @@ int main(int argc, char * argv []) msg_info("\n"); pmsg_error("invalid device signature\n"); if (!ovsigck) { - pmsg_error("expected signature for %s is%s; double\n", p->desc, str_cchex(p->signature, 3, 1)); - imsg_error("check connections and try again, or use -F to carry on regardless\n"); + pmsg_error("expected signature for %s is%s\n", p->desc, str_cchex(p->signature, 3, 1)); + imsg_error(" - double check connections and try again, or use -F to carry on regardless\n"); exitrc = 1; goto main_exit; } @@ -1690,8 +1690,8 @@ int main(int argc, char * argv []) if (ovsigck) { pmsg_warning("expected signature for %s is%s\n", p->desc, str_cchex(p->signature, 3, 1)); } else { - pmsg_error("expected signature for %s is%s; double\n", p->desc, str_cchex(p->signature, 3, 1)); - imsg_error("check chip or use -F to carry on regardless\n"); + pmsg_error("expected signature for %s is%s\n", p->desc, str_cchex(p->signature, 3, 1)); + imsg_error(" - double check chip or use -F to carry on regardless\n"); exitrc = 1; goto main_exit; } From 7d843c4b0c44124b6c85a7b0a8c91a6067b543fa Mon Sep 17 00:00:00 2001 From: Stefan Rueger Date: Wed, 7 Aug 2024 00:23:59 +0100 Subject: [PATCH 25/49] Provide str_asciiname() --- src/libavrdude.h | 1 + src/strutil.c | 29 +++++++++++++++++++++++++++++ 2 files changed, 30 insertions(+) diff --git a/src/libavrdude.h b/src/libavrdude.h index 813907df3..023cd3753 100644 --- a/src/libavrdude.h +++ b/src/libavrdude.h @@ -1672,6 +1672,7 @@ char *str_lc(char *s); char *str_uc(char *s); char *str_lcfirst(char *s); char *str_ucfirst(char *s); +char *str_asciiname(char *s); char *str_utoa(unsigned n, char *buf, int base); char *str_endnumber(const char *str); const char *str_plural(int x); diff --git a/src/strutil.c b/src/strutil.c index 209996d8c..8fc987149 100644 --- a/src/strutil.c +++ b/src/strutil.c @@ -412,6 +412,35 @@ char *str_ucfirst(char *s) { return s; } +// Convert to ASCII name leaving only letters, numbers, underscore, period and dash +char *str_asciiname(char *s) { + for(char *t = s; *t; t++) + switch(*t) { + case '?': *t = 'Q'; break; + case '*': *t = 'X'; break; + case '|': *t = 'I'; break; + case '{': *t = 'l'; break; + case '}': *t = 'j'; break; + case '[': *t = 'L'; break; + case ']': *t = 'J'; break; + case '(': *t = 'L'; break; + case ')': *t = 'J'; break; + case '<': *t = 'l'; break; + case '>': *t = 'j'; break; + case '&': *t = '+'; break; + case '!': *t = 'I'; break; + case '"': *t = 'q'; break; + case '\'': *t = 'q'; break; + case '`': *t = 'q'; break; + case '.': case '-': break; + default: + if(!isascii(*t & 0xff) || !isalnum(*t & 0xff)) + *t = '_'; + } + + return s; +} + // Convert unsigned to ASCII string; caller needs to allocate enough space for buf char *str_utoa(unsigned n, char *buf, int base) { From 9ef51ff0268fd6f8a99831792abcfe84430e42d8 Mon Sep 17 00:00:00 2001 From: Stefan Rueger Date: Wed, 7 Aug 2024 00:54:34 +0100 Subject: [PATCH 26/49] Silence powerdown comms warning --- src/usbtiny.c | 33 +++++++++++++++------------------ 1 file changed, 15 insertions(+), 18 deletions(-) diff --git a/src/usbtiny.c b/src/usbtiny.c index cb5b3fd0d..eb6c46b73 100644 --- a/src/usbtiny.c +++ b/src/usbtiny.c @@ -86,9 +86,9 @@ static void usbtiny_teardown(PROGRAMMER *pgm) { } // Wrapper for simple usb_control_msg messages -static int usb_control (const PROGRAMMER *pgm, - unsigned int requestid, unsigned int val, unsigned int index ) -{ +static int usb_control(const PROGRAMMER *pgm, + unsigned int requestid, unsigned int val, unsigned int index, int silent) { + int nbytes; nbytes = usb_control_msg( PDATA(pgm)->usb_handle, USB_ENDPOINT_IN | USB_TYPE_VENDOR | USB_RECIP_DEVICE, @@ -97,8 +97,10 @@ static int usb_control (const PROGRAMMER *pgm, NULL, 0, // no data buffer in control message USB_TIMEOUT ); // default timeout if(nbytes < 0){ - msg_error("\n"); - pmsg_error("%s\n", usb_strerror()); + if(!silent) { + msg_error("\n"); + pmsg_error("%s\n", usb_strerror()); + } return -1; } @@ -408,7 +410,7 @@ static int usbtiny_set_sck_period (const PROGRAMMER *pgm, double v) { // send the command to the usbtiny device. // MEME: for at90's fix resetstate? - if (usb_control(pgm, USBTINY_POWERUP, PDATA(pgm)->sck_period, RESET_LOW) < 0) + if (usb_control(pgm, USBTINY_POWERUP, PDATA(pgm)->sck_period, RESET_LOW, 0) < 0) return -1; // with the new speed, we'll have to update how much data we send per usb transfer @@ -430,7 +432,7 @@ static int usbtiny_initialize (const PROGRAMMER *pgm, const AVRPART *p ) { PDATA(pgm)->sck_period = SCK_DEFAULT; pmsg_notice("using SCK period of %d usec\n", PDATA(pgm)->sck_period ); if (usb_control(pgm, USBTINY_POWERUP, - PDATA(pgm)->sck_period, RESET_LOW ) < 0) + PDATA(pgm)->sck_period, RESET_LOW, 0) < 0) return -1; usbtiny_set_chunk_size(pgm, PDATA(pgm)->sck_period); } @@ -471,10 +473,8 @@ static int usbtiny_initialize (const PROGRAMMER *pgm, const AVRPART *p ) { if (pgm->program_enable(pgm, p) >= 0) break; // no response, RESET and try again - if (usb_control(pgm, USBTINY_POWERUP, - PDATA(pgm)->sck_period, RESET_HIGH) < 0 || - usb_control(pgm, USBTINY_POWERUP, - PDATA(pgm)->sck_period, RESET_LOW) < 0) + if(usb_control(pgm, USBTINY_POWERUP, PDATA(pgm)->sck_period, RESET_HIGH, 0) < 0 || + usb_control(pgm, USBTINY_POWERUP, PDATA(pgm)->sck_period, RESET_LOW, 0) < 0) return -1; usleep(50000); } @@ -486,10 +486,8 @@ static int usbtiny_initialize (const PROGRAMMER *pgm, const AVRPART *p ) { static int usbtiny_setpin(const PROGRAMMER *pgm, int pinfunc, int value) { /* USBtiny is not a bit bang device, but it can set RESET */ if(pinfunc == PIN_AVR_RESET) { - if (usb_control(pgm, USBTINY_POWERUP, - PDATA(pgm)->sck_period, value ? RESET_HIGH : RESET_LOW) < 0) { + if(usb_control(pgm, USBTINY_POWERUP, PDATA(pgm)->sck_period, value? RESET_HIGH: RESET_LOW, 0) < 0) return -1; - } usleep(50000); return 0; } @@ -498,10 +496,9 @@ static int usbtiny_setpin(const PROGRAMMER *pgm, int pinfunc, int value) { /* Tell the USBtiny to release the output pins, etc */ static void usbtiny_powerdown(const PROGRAMMER *pgm) { - if (!PDATA(pgm)->usb_handle) { + if (!PDATA(pgm)->usb_handle) return; // wasn't connected in the first place - } - usb_control(pgm, USBTINY_POWERDOWN, 0, 0); // Send USB control command to device + usb_control(pgm, USBTINY_POWERDOWN, 0, 0, 1); } /* Send a 4-byte SPI command to the USBtinyISP for execution @@ -718,7 +715,7 @@ static int usbtiny_paged_write(const PROGRAMMER *pgm, const AVRPART *p, const AV unsigned int poll_value = (m->readback[1] << 8) | m->readback[0]; if(!poll_value) poll_value = 0xffff; - if (usb_control(pgm, USBTINY_POLL_BYTES, poll_value, 0 ) < 0) + if(usb_control(pgm, USBTINY_POLL_BYTES, poll_value, 0, 0) < 0) return -1; delay = m->max_write_delay; } From 0b562510f56d0a18dc130c75857081984b7c511e Mon Sep 17 00:00:00 2001 From: Stefan Rueger Date: Wed, 7 Aug 2024 00:56:18 +0100 Subject: [PATCH 27/49] Reformat error debug output of function() file line --- src/main.c | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/src/main.c b/src/main.c index c8b8f9dc8..a4ab9d3a6 100644 --- a/src/main.c +++ b/src/main.c @@ -130,16 +130,17 @@ int avrdude_message2(FILE *fp, int lno, const char *file, const char *func, int fprintf(fp, " %s", mt); bols[bi].bol = 0; } - if(verbose >= MSG_NOTICE2 && (msgmode & MSG2_FUNCTION)) - fprintf(fp, " %s()", func); - if(verbose >= MSG_DEBUG && (msgmode & MSG2_FILELINE)) { - const char *pr = strrchr(file, '/'); // Only print basename + if(verbose >= MSG_NOTICE2) { + const char *bfname = strrchr(file, '/'); // Only print basename #if defined (WIN32) - if(!pr) - pr = strrchr(file, '\\'); + if(!bfname) + bfname = strrchr(file, '\\'); #endif - pr = pr? pr+1: file; - fprintf(fp, " [%s:%d]", pr, lno); + bfname = bfname? bfname+1: file; + if(msgmode & MSG2_FUNCTION) + fprintf(fp, " %s()", func); + if(msgmode & MSG2_FILELINE) + fprintf(fp, " %s %d", bfname, lno); } fprintf(fp, ": "); } else if(msgmode & MSG2_INDENT1) { From 9a750de07fa419e8944caafdb517f3521ed19b10 Mon Sep 17 00:00:00 2001 From: Stefan Rueger Date: Wed, 7 Aug 2024 14:48:53 +0100 Subject: [PATCH 28/49] Record USB access problems --- src/dfu.c | 1 + src/jtag3.c | 1 + src/libavrdude.h | 3 +++ src/main.c | 19 +++++++++++++++++++ src/micronucleus.c | 4 ++++ src/pickit2.c | 8 ++++---- src/usb_libusb.c | 35 ++++++++++++++++++++--------------- src/usbasp.c | 16 +++++++++++----- src/usbtiny.c | 1 + 9 files changed, 64 insertions(+), 24 deletions(-) diff --git a/src/dfu.c b/src/dfu.c index 34d47eea8..0aea930be 100644 --- a/src/dfu.c +++ b/src/dfu.c @@ -413,6 +413,7 @@ char * get_usb_string(usb_dev_handle * dev_handle, int index) { result = usb_get_string_simple(dev_handle, index, buffer, sizeof(buffer)-1); if (result < 0) { + cx->usb_access_error = 1; pmsg_error("unable to read USB device string %d: %s\n", index, usb_strerror()); return NULL; } diff --git a/src/jtag3.c b/src/jtag3.c index e164a1575..e8d5f81a6 100644 --- a/src/jtag3.c +++ b/src/jtag3.c @@ -706,6 +706,7 @@ static int jtag3_edbg_recv_frame(const PROGRAMMER *pgm, unsigned char **msg) { // Documentation says: // "FragmentInfo 0x00 indicates that no response data is // available, and the rest of the packet is ignored." + cx->usb_access_error = 1; // Also end up here on wrong USB permissions pmsg_notice("%s(): no response available\n", __func__); mmt_free(*msg); mmt_free(request); diff --git a/src/libavrdude.h b/src/libavrdude.h index 023cd3753..a35ee83d1 100644 --- a/src/libavrdude.h +++ b/src/libavrdude.h @@ -1839,6 +1839,9 @@ typedef struct { // Variable connecting lexer.l and config_gram.y int lex_kw_is_programmer; // Was the K_PROGRAMMER keyword "programmer"? + + // Global variable indicating usb access problems + int usb_access_error; } libavrdude_context; extern libavrdude_context *cx; diff --git a/src/main.c b/src/main.c index a4ab9d3a6..cb412318e 100644 --- a/src/main.c +++ b/src/main.c @@ -44,6 +44,9 @@ #include #include #include +#if !defined(WIN32) +#include +#endif #include "avrdude.h" #include "libavrdude.h" @@ -1807,6 +1810,22 @@ int main(int argc, char * argv []) pgm->close(pgm); } + if(cx->usb_access_error) { + pmsg_info( + "\nUSB access errors detected; this could have many reasons; if it is\n" + "USB permission problems, avrdude is likely to work when run as root\n" + "but this is not good practice; instead you might want to\n"); +#if 0 && !defined(WIN32) + DIR *dir; + if((dir = opendir("/etc/udev/rules.d"))) { // Linux udev land + closedir(dir); + imsg_info("run the command below to show udev rules recitifying USB access\n" + "$ %s -c %s/u\n", progname, pgmid); + } else +#endif + imsg_info("check out USB port permissions on your OS and set them correctly\n"); + } + msg_info("\n"); pmsg_info("%s done. Thank you.\n", progname); diff --git a/src/micronucleus.c b/src/micronucleus.c index 2b5fe6cf2..8bbc596ae 100644 --- a/src/micronucleus.c +++ b/src/micronucleus.c @@ -121,6 +121,8 @@ static int micronucleus_check_connection(struct pdata *pdata) { 0, 0, (char*)buffer, sizeof(buffer), MICRONUCLEUS_DEFAULT_TIMEOUT); + if(result < 0) + cx->usb_access_error = 1; return result == sizeof(buffer) ? 0 : -1; } else @@ -133,6 +135,8 @@ static int micronucleus_check_connection(struct pdata *pdata) { 0, 0, (char*)buffer, sizeof(buffer), MICRONUCLEUS_DEFAULT_TIMEOUT); + if(result < 0) + cx->usb_access_error = 1; return result == sizeof(buffer) ? 0 : -1; } } diff --git a/src/pickit2.c b/src/pickit2.c index 3ed519e2e..aa676db68 100644 --- a/src/pickit2.c +++ b/src/pickit2.c @@ -1109,15 +1109,15 @@ static int usb_open_device(PROGRAMMER *pgm, struct usb_dev_handle **device, int if ((errorCode = usb_set_configuration(handle, 1)) < 0) { - pmsg_ext_error("cannot set configuration, error code %d, %s\n" - "you may need to run avrdude as root or set up correct usb port permissions", + cx->usb_access_error = 1; + pmsg_ext_error("cannot set configuration, error code %d, %s\n", errorCode, usb_strerror()); } if ((errorCode = usb_claim_interface(handle, 0)) < 0) { - pmsg_ext_error("cannot claim interface, error code %d, %s\n" - "You may need to run avrdude as root or set up correct usb port permissions.", + cx->usb_access_error = 1; + pmsg_ext_error("cannot claim interface, error code %d, %s\n", errorCode, usb_strerror()); } diff --git a/src/usb_libusb.c b/src/usb_libusb.c index 487810efe..25d6246dc 100644 --- a/src/usb_libusb.c +++ b/src/usb_libusb.c @@ -63,8 +63,7 @@ static int usbdev_open(const char *port, union pinfo pinfo, union filedescriptor usb_dev_handle *udev; char *s, serno[64] = {0}; const char *serp; - int i; - int iface; + int i, iface; /* * The syntax for usb devices is defined as: @@ -107,7 +106,7 @@ static int usbdev_open(const char *port, union pinfo pinfo, union filedescriptor dev->descriptor.iSerialNumber, string, sizeof(string)) < 0) { - pmsg_error("cannot read serial number: %s\n", usb_strerror()); + pmsg_warning("reading serial number, %s\n", usb_strerror()); /* * On some systems, libusb appears to have * problems sending control messages. Catch the @@ -115,8 +114,9 @@ static int usbdev_open(const char *port, union pinfo pinfo, union filedescriptor * particular serial number, so we could * continue anyway. */ + cx->usb_access_error = 1; if(*serno) - return -1; /* no chance */ + goto none_matching; // No chance of serno matches strcpy(string, "[unknown]"); } if(serdev) @@ -125,7 +125,7 @@ static int usbdev_open(const char *port, union pinfo pinfo, union filedescriptor dev->descriptor.iProduct, product, sizeof(product)) < 0) { - pmsg_error("cannot read product name: %s\n", usb_strerror()); + pmsg_warning("reading product name, %s\n", usb_strerror()); strcpy(product, "[unnamed product]"); } @@ -186,8 +186,8 @@ static int usbdev_open(const char *port, union pinfo pinfo, union filedescriptor if (usb_set_configuration(udev, dev->config[0].bConfigurationValue)) { - pmsg_warning("unable to set configuration %d: %s\n", - dev->config[0].bConfigurationValue, usb_strerror()); + pmsg_warning("(config %d) %s\n", + dev->config[0].bConfigurationValue, usb_strerror()); /* let's hope it has already been configured */ // goto trynext; } @@ -206,8 +206,8 @@ static int usbdev_open(const char *port, union pinfo pinfo, union filedescriptor #endif if (usb_claim_interface(udev, cx->usb_interface)) { - pmsg_error("unable to claim interface %d: %s\n", - cx->usb_interface, usb_strerror()); + pmsg_warning("(i/face %d) %s\n", cx->usb_interface, usb_strerror()); + cx->usb_access_error = 1; } else { @@ -246,7 +246,7 @@ static int usbdev_open(const char *port, union pinfo pinfo, union filedescriptor } if (fd->usb.rep == 0) { - pmsg_error("cannot find a read endpoint, using 0x%02x\n", + pmsg_warning("cannot find a read endpoint, using 0x%02x\n", USBDEV_BULK_EP_READ_MKII); fd->usb.rep = USBDEV_BULK_EP_READ_MKII; } @@ -267,21 +267,26 @@ static int usbdev_open(const char *port, union pinfo pinfo, union filedescriptor if (pinfo.usbinfo.flags & PINFO_FL_USEHID) { if (usb_control_msg(udev, 0x21, 0x0a /* SET_IDLE */, 0, 0, NULL, 0, 100) < 0) - pmsg_error("SET_IDLE failed\n"); + pmsg_warning("SET_IDLE failed\n"); } return 0; - trynext: + + trynext: usb_close(udev); } else - pmsg_error("cannot open device: %s\n", usb_strerror()); + pmsg_warning("cannot open device: %s\n", usb_strerror()); } } } +none_matching: if ((pinfo.usbinfo.flags & PINFO_FL_SILENT) == 0) - pmsg_notice("%s(): did not find any%s USB device %s (0x%04x:0x%04x)\n", __func__, - *serno? " (matching)": "", port, (unsigned) pinfo.usbinfo.vid, (unsigned)pinfo.usbinfo.pid); + pmsg_error("%s%s USB device %s (%04x:%04x)\n", + cx->usb_access_error? "found but could not access": "did not find any", + *serno && !cx->usb_access_error? " (matching)": "", + port, pinfo.usbinfo.vid, pinfo.usbinfo.pid); + return -1; } diff --git a/src/usbasp.c b/src/usbasp.c index 05beb9a03..3966a3749 100644 --- a/src/usbasp.c +++ b/src/usbasp.c @@ -450,15 +450,17 @@ static int usbOpenDevice(const PROGRAMMER *pgm, libusb_device_handle **device, i /* we need to open the device in order to query strings */ r = libusb_open(dev, &handle); if (!handle) { - errorCode = USB_ERROR_ACCESS; - pmsg_warning("cannot open USB device: %s\n", errstr(pgm, r)); - continue; + cx->usb_access_error = 1; + errorCode = USB_ERROR_ACCESS; + pmsg_warning("cannot open USB device: %s\n", errstr(pgm, r)); + continue; } errorCode = 0; /* now check whether the names match: */ /* if vendorName not given ignore it (any vendor matches) */ r = libusb_get_string_descriptor_ascii(handle, descriptor.iManufacturer & 0xff, (unsigned char*)string, sizeof(string)); if (r < 0) { + cx->usb_access_error = 1; if ((vendorName != NULL) && (vendorName[0] != 0)) { errorCode = USB_ERROR_IO; pmsg_warning("cannot query manufacturer for device: %s\n", errstr(pgm, r)); @@ -471,6 +473,7 @@ static int usbOpenDevice(const PROGRAMMER *pgm, libusb_device_handle **device, i /* if productName not given ignore it (any product matches) */ r = libusb_get_string_descriptor_ascii(handle, descriptor.iProduct & 0xff, (unsigned char*)string, sizeof(string)); if (r < 0) { + cx->usb_access_error = 1; if ((productName != NULL) && (productName[0] != 0)) { errorCode = USB_ERROR_IO; pmsg_warning("cannot query product for device: %s\n", errstr(pgm, r)); @@ -529,6 +532,7 @@ static int usbOpenDevice(const PROGRAMMER *pgm, usb_dev_handle **device, int ven /* we need to open the device in order to query strings */ handle = usb_open(dev); if(!handle){ + cx->usb_access_error = 1; errorCode = USB_ERROR_ACCESS; pmsg_warning("cannot open USB device: %s\n", usb_strerror()); continue; @@ -539,9 +543,10 @@ static int usbOpenDevice(const PROGRAMMER *pgm, usb_dev_handle **device, int ven len = usb_get_string_simple(handle, dev->descriptor.iManufacturer, string, sizeof(string)); if(len < 0){ + cx->usb_access_error = 1; if ((vendorName != NULL) && (vendorName[0] != 0)) { - errorCode = USB_ERROR_IO; - pmsg_warning("cannot query manufacturer for device: %s\n", usb_strerror()); + errorCode = USB_ERROR_IO; + pmsg_warning("cannot query manufacturer for device: %s\n", usb_strerror()); } } else { pmsg_notice2("seen device from vendor >%s<\n", string); @@ -552,6 +557,7 @@ static int usbOpenDevice(const PROGRAMMER *pgm, usb_dev_handle **device, int ven len = usb_get_string_simple(handle, dev->descriptor.iProduct, string, sizeof(string)); if(len < 0){ + cx->usb_access_error = 1; if ((productName != NULL) && (productName[0] != 0)) { errorCode = USB_ERROR_IO; pmsg_warning("cannot query product for device: %s\n", usb_strerror()); diff --git a/src/usbtiny.c b/src/usbtiny.c index eb6c46b73..a5c53ebab 100644 --- a/src/usbtiny.c +++ b/src/usbtiny.c @@ -97,6 +97,7 @@ static int usb_control(const PROGRAMMER *pgm, NULL, 0, // no data buffer in control message USB_TIMEOUT ); // default timeout if(nbytes < 0){ + cx->usb_access_error = 1; if(!silent) { msg_error("\n"); pmsg_error("%s\n", usb_strerror()); From 41af587da88fc90f149e0b553b2310d129186b7e Mon Sep 17 00:00:00 2001 From: Stefan Rueger Date: Wed, 7 Aug 2024 15:52:30 +0100 Subject: [PATCH 29/49] Update documentation for USB permissions --- src/developer_opts.c | 19 +++++-- src/doc/avrdude.texi | 124 +++++++++++++++++++++++++++++++------------ 2 files changed, 105 insertions(+), 38 deletions(-) diff --git a/src/developer_opts.c b/src/developer_opts.c index 5422763c7..c105a7b35 100644 --- a/src/developer_opts.c +++ b/src/developer_opts.c @@ -1586,9 +1586,20 @@ void dev_output_pgm_defs(char *pgmidcp) { } if(udev && ui) { - dev_info("# 1. Put Linux udev rules into, eg, /etc/udev/rules.d/55-avrdude.rules\n"); - dev_info("# 2. Unplug the device and plug it in again\n"); - dev_info("# 3. Enjoy user access to the USB programmer\n"); + int all = str_eq(pgmidcp, "*"); + const char *var = all? "": str_asciiname((char *) str_ccprintf("-%s", pgmidcp)); + dev_info("1. Examine the suggested udev rule%s below; to install run:\n\n", str_plural(ui + udr[0].ishid)); + dev_info("%s -c \"%s/u\" | tail -n +%d | sudo tee /etc/udev/rules.d/55-%s%s.rules\n", + progname, pgmidcp, all? 9: 11, progname, var); + dev_info("sudo chmod 0644 /etc/udev/rules.d/55-%s%s.rules\n\n", progname, var); + dev_info("2. Unplug any AVRDUDE USB programmers and plug them in again\n"); + dev_info("3. Enjoy user access to the USB programmer(s)\n\n"); + if(!all) + dev_info("Note: To install all udev rules known to AVRDUDE follow: %s -c \"*/u\" | more\n\n", + progname); + dev_info("# Generated from avrdude -c \"%s/u\"\n", pgmidcp); + if(ui > 3) + dev_info("\nACTION!=\"add|change\", GOTO=\"avrdude_end\"\n"); qsort(udr, ui, sizeof *udr, udev_cmp); char *prev_head = mmt_strdup(""); for(Dev_udev *u = udr; u-udr < ui; u++) { @@ -1615,5 +1626,7 @@ void dev_output_pgm_defs(char *pgmidcp) { "ATTRS{idProduct}==\"%04x\", MODE=\"0660\", TAG+=\"uaccess\"\n", u->vid, u->pid); } mmt_free(prev_head); + if(ui > 3) + dev_info("\nLABEL=\"avrdude_end\"\n"); } } diff --git a/src/doc/avrdude.texi b/src/doc/avrdude.texi index f92b231e0..a05cc5eef 100644 --- a/src/doc/avrdude.texi +++ b/src/doc/avrdude.texi @@ -4287,7 +4287,7 @@ Other combinations should not show after exit. * Unix Installation:: * Unix Configuration Files:: * Unix Port Names:: -* Linux Udev Rules:: +* Unix USB Permissions:: * Unix Documentation:: @end menu @@ -4385,7 +4385,7 @@ to system. The above example is specific to RedHat. @cindex Unix configuration files @noindent -When AVRDUDE is build using the default @option{--prefix} configure +When AVRDUDE is built using the default @option{--prefix} configure option, the default configuration file for a Unix system is located at @code{/usr/local/etc/avrdude.conf}. This can be overridden by using the @option{-C} command line option. Additionally, the user's home directory @@ -4422,7 +4422,7 @@ configuration file will be always be @code{/etc/avrdude.conf}. @c @c Node @c -@node Unix Port Names, Linux Udev Rules, Unix Configuration Files, Unix +@node Unix Port Names, Unix USB Permissions, Unix Configuration Files, Unix @subsection Unix Port Names @cindex Unix port names @@ -4462,32 +4462,78 @@ access. @c @c Node @c -@node Linux Udev Rules, Unix Port Names, Unix Documentation, Unix -@subsection Linux Udev Rules -@cindex Linux udev rules +@node Unix USB Permissions, Unix Port Names, Unix Documentation, Unix +@subsection Unix USB Permissions +@cindex Unix USB permissions @cindex udev rules +In most cases the kernel driver initializes a plug-and-play device to be +owned by user @code{root} and group @code{root} with only r/w permission +for the user @code{root} rendering the device inaccessible to regular +users. Whilst users can run AVRDUDE sessions as root this is definitely +@emph{not good practice}. Giving USB plug-and-play devices the correct +permissions is much better. USB AVR programmers are normally identified by +a two-byte hexadecimal vendor ID and a two-byte hexadecimal product id. +Both are typically used to identify the device that needs new permissions. + +@menu +* FreeBSD USB Permissions:: +* Linux USB Permissions:: +@end menu + +@c +@c Node +@c +@node FreeBSD USB Permissions, Linux USB Permissions, Unix USB Permissions, Unix USB Permissions +@subsubsection FreeBSD USB Permissions +@cindex FreeBSD configuration files + +In FreeBSD a so-called @code{devd} config files in +@code{/usr/local/etc/devd} serve to modify permissions of plugged-in USB +devices. Here is an example how Atmel's JTAGICE3 programmer (product ID +0x2110 or 0x2140) by Atmel (vendor ID 0x0eb) can be given appropriate +permissions using a file @code{jtagice3.conf}: + +@smallexample +@cartouche + +notify 100 @{ + match "system" "USB"; + match "subsystem" "DEVICE"; + match "type" "ATTACH"; + match "vendor" "0x03eb"; + match "product" "(0x2110|0x2140)"; + action "chmod 660 /dev/$cdev"; + action "chgrp yourgroup /dev/$cdev"; +@}; + +@end cartouche +@end smallexample + +@noindent @code{yourgroup} would be a group that the user(s) should be +member of who wish to have access to the programmer. + +@c +@c Node +@c +@node Linux USB Permissions, , FreeBSD USB Permissions, Unix USB Permissions +@subsubsection Linux USB Permissions +@cindex Linux configuration files + Linux has a special userspace @code{/dev} device manager called udev that -deals with, amongst other things, plug-and-play USB devices. In most cases -the kernel driver initializes a plug-and-play device to be owned by user -@code{root} and group @code{root} with only r/w permission for the user -@code{root} rendering the device inaccessible to regular users. Whilst -users can run AVRDUDE sessions as root this is definitely @emph{not} good -practice. - -It is recommended to specify so-called udev rules to define access -permissions for these devices instead. These rules typically reside in a -file with the name @var{nn}@code{-}@var{descriptive-name}@code{.rules} in -the directory @code{/etc/udev/rules.d}. Here, @var{nn} is a two-digit -number that determines the lexical order in which the udev rule files are -processed. Rules processed later can overwrite earlier rules, but it not -recommended to put user-generated rules higher than 60, as some of the -actions they require are processed by higher-level system rules. - -USB AVR programmers are normally identified by a two-byte hexadecimal -vendor ID and a two-byte hexadecimal product id. Here a typical udev rule -for allowing an ordinary user access to the plugged-in AVRISP mkII -programmer (product ID 0x2104) by Atmel (vendor ID 0x0eb): +deals with, amongst other things, plug-and-play USB devices. It is +recommended to specify so-called udev rules to define access permissions +for these devices instead. These rules typically reside in a file with the +name @var{nn}@code{-}@var{descriptive-name}@code{.rules} in the directory +@code{/etc/udev/rules.d}. Here, @var{nn} is a two-digit number that +determines the lexical order in which the udev rule files are processed. +Rules processed later can overwrite earlier rules, but it not recommended +to put user-generated rules higher than 60, as some of the actions they +require are processed by higher-level system rules. + +Here a typical udev rule for allowing an ordinary user access to the +plugged-in AVRISP mkII programmer (product ID 0x2104) by Atmel (vendor ID +0x0eb): @smallexample @cartouche @@ -4498,8 +4544,8 @@ SUBSYSTEM=="usb", ATTRS@{idVendor@}=="03eb", ATTRS@{idProduct@}=="2104", \ @end cartouche @end smallexample -This furnishes the corresponding device node with @code{0660} access -permissions: this means r/w for the user @code{root} and any user +@noindent This furnishes the corresponding device node with @code{0660} +access permissions: this means r/w for the user @code{root} and any user belonging to the group of the device, which the device driver might assign to a different group than the default @code{root}. The key of the rule is the attached @code{TAG} named @code{uaccess}, which has the effect that @@ -4516,9 +4562,19 @@ above suggested udev rule for the named programmer. Wildcards are allowed: $ avrdude -c jtag\*/u -# 1. Put Linux udev rules into, eg, /etc/udev/rules.d/55-avrdude.rules -# 2. Unplug the device and plug it in again -# 3. Enjoy user access to the USB programmer +1. Examine the suggested udev rules below; to install run: + +avrdude -c "jtag*/u" | tail -n +11 | sudo tee /etc/udev/rules.d/55-avrdude-jtagX.rules +sudo chmod 0644 /etc/udev/rules.d/55-avrdude-jtagX.rules + +2. Unplug any AVRDUDE USB programmers and plug them in again +3. Enjoy user access to the USB programmer(s) + +Note: To install all udev rules known to AVRDUDE follow: avrdude -c "*/u" | more + +# Generated from avrdude -c "jtag*/u" + +ACTION!="add|change", GOTO="avrdude_end" # jtag2dw, jtag2fast, jtag2, jtag2isp, jtag2pdi, jtag2slow, jtagmkII, jtag2avr32 SUBSYSTEM=="usb", ATTRS@{idVendor@}=="03eb", ATTRS@{idProduct@}=="2103", \ @@ -4529,7 +4585,6 @@ SUBSYSTEM=="usb", ATTRS@{idVendor@}=="03eb", ATTRS@{idProduct@}=="2110", \ MODE="0660", TAG+="uaccess" KERNEL=="hidraw*", SUBSYSTEM=="hidraw", ATTRS@{idVendor@}=="03eb", \ ATTRS@{idProduct@}=="2110", MODE="0660", TAG+="uaccess" - SUBSYSTEM=="usb", ATTRS@{idVendor@}=="03eb", ATTRS@{idProduct@}=="2140", \ MODE="0660", TAG+="uaccess" KERNEL=="hidraw*", SUBSYSTEM=="hidraw", ATTRS@{idVendor@}=="03eb", \ @@ -4542,9 +4597,8 @@ SUBSYSTEM=="usb", ATTRS@{idVendor@}=="0403", ATTRS@{idProduct@}=="cff8", \ @end cartouche @end smallexample -Again, each rule must be written as one line: breaking up rules into two -lines was only done to fit AVRDUDE's output to the boxed display. - +@noindent Again, each rule must be written as one line: breaking up rules +into two lines was only done to fit AVRDUDE's output to the boxed display. USB devices in HID mode require a second rule dealing with the @code{hidraw} subsystem as seen above. From 1f72e0cf85f7870b91dd0bfe35a3d9d69172c969 Mon Sep 17 00:00:00 2001 From: Stefan Rueger Date: Wed, 7 Aug 2024 17:05:14 +0100 Subject: [PATCH 30/49] Update indexing of avrdude.texi --- src/doc/avrdude.texi | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/src/doc/avrdude.texi b/src/doc/avrdude.texi index a05cc5eef..c6b25bfd4 100644 --- a/src/doc/avrdude.texi +++ b/src/doc/avrdude.texi @@ -539,6 +539,7 @@ usbtiny's properties; for more information run @code{avrdude -c x/h}. @item -C @var{config-file} @cindex Option @code{-C} @var{config-file} +@cindex Configuration files Use the specified config file for configuration data. This file contains all programmer and part definitions that AVRDUDE knows about. If not specified, AVRDUDE looks for the configuration file in the following @@ -4297,6 +4298,7 @@ Other combinations should not show after exit. @node Unix Installation, Unix Configuration Files, Unix, Unix @subsection Unix Installation @cindex Unix installation +@cindex Installation @noindent To build and install from the source tarball on Unix like systems: @@ -4335,6 +4337,7 @@ $ make install @node FreeBSD Installation, Linux Installation, Unix Installation, Unix Installation @subsubsection FreeBSD Installation @cindex FreeBSD installation +@cindex Installation @noindent AVRDUDE is installed via the FreeBSD Ports Tree as follows: @@ -4363,6 +4366,7 @@ obtained. @node Linux Installation, , FreeBSD Installation, Unix Installation @subsubsection Linux Installation @cindex Linux installation +@cindex Installation @noindent On rpm based Linux systems (such as RedHat, SUSE, Mandrake, etc.), you @@ -4383,6 +4387,7 @@ to system. The above example is specific to RedHat. @node Unix Configuration Files, Unix Port Names, Unix Installation, Unix @subsection Unix Configuration Files @cindex Unix configuration files +@cindex Configuration files @noindent When AVRDUDE is built using the default @option{--prefix} configure @@ -4403,6 +4408,7 @@ augment the system default configuration file. @node FreeBSD Configuration Files, Linux Configuration Files, Unix Configuration Files, Unix Configuration Files @subsubsection FreeBSD Configuration Files @cindex FreeBSD configuration files +@cindex Configuration files @noindent When AVRDUDE is installed using the FreeBSD ports system, the system @@ -4414,6 +4420,7 @@ configuration file is always @code{/usr/local/etc/avrdude.conf}. @node Linux Configuration Files, , FreeBSD Configuration Files, Unix Configuration Files @subsubsection Linux Configuration Files @cindex Linux configuration files +@cindex Configuration files @noindent When AVRDUDE is installed using from an rpm package, the system @@ -4465,7 +4472,7 @@ access. @node Unix USB Permissions, Unix Port Names, Unix Documentation, Unix @subsection Unix USB Permissions @cindex Unix USB permissions -@cindex udev rules +@cindex USB permissions In most cases the kernel driver initializes a plug-and-play device to be owned by user @code{root} and group @code{root} with only r/w permission @@ -4486,7 +4493,8 @@ Both are typically used to identify the device that needs new permissions. @c @node FreeBSD USB Permissions, Linux USB Permissions, Unix USB Permissions, Unix USB Permissions @subsubsection FreeBSD USB Permissions -@cindex FreeBSD configuration files +@cindex FreeBSD USB permissions +@cindex USB permissions In FreeBSD a so-called @code{devd} config files in @code{/usr/local/etc/devd} serve to modify permissions of plugged-in USB @@ -4518,7 +4526,8 @@ member of who wish to have access to the programmer. @c @node Linux USB Permissions, , FreeBSD USB Permissions, Unix USB Permissions @subsubsection Linux USB Permissions -@cindex Linux configuration files +@cindex Linux USB permissions +@cindex USB permissions Linux has a special userspace @code{/dev} device manager called udev that deals with, amongst other things, plug-and-play USB devices. It is @@ -4597,6 +4606,7 @@ SUBSYSTEM=="usb", ATTRS@{idVendor@}=="0403", ATTRS@{idProduct@}=="cff8", \ @end cartouche @end smallexample +@cindex USB permissions @noindent Again, each rule must be written as one line: breaking up rules into two lines was only done to fit AVRDUDE's output to the boxed display. USB devices in HID mode require a second rule dealing with the From acac62846daaf32310237d29a440d219133074bb Mon Sep 17 00:00:00 2001 From: Stefan Rueger Date: Wed, 7 Aug 2024 17:27:12 +0100 Subject: [PATCH 31/49] Add dryrun -xinit= and -xrandom= options --- src/avrdude.1 | 6 +++++- src/doc/avrdude.texi | 9 +++++++-- src/dryrun.c | 20 +++++++++++++------- 3 files changed, 25 insertions(+), 10 deletions(-) diff --git a/src/avrdude.1 b/src/avrdude.1 index f36918dd6..1c802d483 100644 --- a/src/avrdude.1 +++ b/src/avrdude.1 @@ -1677,18 +1677,22 @@ versions of the bootloader. .It Ar dryboot These two programmers emulate programming and accept the following parameters: .Bl -tag -offset indent -width indent -.It Ar xinit +.It Ar init Initialise memories with human-readable patterns. Flash memory will be randomly configured with respect to bootloader, data and code length. Patterns can best be seen with fixed-width font and the :I format by inspecting the generated hex file or by using, eg, -U flash:r:-:I. Patterns in flash memory are executable and represent benign AVR code, ie, no I/O memory access. Choose a fixed seed for reproducible results. +.It Ar init= +Shortcut for -x init -x seed= (see below) .It Ar random Initialise memories with random code and values. Flash memory will be randomly configured with respect to bootloader, data and code length. Random code in flash will be benign, that is, not accessing I/O memories, SRAM or flash. Choose a fixed seed for reproducible results. +.It Ar random= +Shortcut for -x random -x seed= .It Ar seed= Seed random number generator with ; the default is time(NULL). Setting this option with a fixed n > 0 will make the random choices diff --git a/src/doc/avrdude.texi b/src/doc/avrdude.texi index 08ea52ff1..2baae0cc2 100644 --- a/src/doc/avrdude.texi +++ b/src/doc/avrdude.texi @@ -1216,8 +1216,7 @@ This option will leave the 8 data pins on the parallel port inactive Both dryrun and dryboot programmers emulate programming and accept the following parameters: @table @code -@item @samp{xinit} - +@item @samp{init} Initialise memories with human-readable patterns. Flash memory will be randomly configured with respect to bootloader, data and code length. Patterns can best be seen with fixed-width font and the @code{:I} format @@ -1226,12 +1225,18 @@ flash:r:-:I}. Patterns in flash memory are executable and represent benign AVR code, ie, no I/O memory access. Choose a fixed seed for reproducible results. +@item @samp{init=} +Shortcut for @code{-x init -x seed=} (see below) + @item @samp{random} Initialise memories with random code and values. Flash memory will be randomly configured with respect to bootloader, data and code length. Random code in flash will be benign, that is, not accessing I/O memories, SRAM or flash. Choose a fixed seed for reproducible results. +@item @samp{random=} +Shortcut for @code{-x random -x seed=} + @item @samp{seed=} Seed random number generator with @var{n}; the default is @code{time(NULL)}. Setting this option with a fixed positive @var{n} will diff --git a/src/dryrun.c b/src/dryrun.c index 9e0c9074f..f7c3a9d76 100644 --- a/src/dryrun.c +++ b/src/dryrun.c @@ -1040,15 +1040,15 @@ static int dryrun_parseextparams(const PROGRAMMER *pgm, const LISTID extparms) { for(LNODEID ln = lfirst(extparms); ln; ln = lnext(ln)) { const char *xpara = ldata(ln); - if(str_starts(xpara, "init")) { + if(str_eq(xpara, "init")) { dry.init = 1; continue; } - if(str_starts(xpara, "random")) { + if(str_eq(xpara, "random")) { dry.random = 1; continue; } - if(str_starts(xpara, "seed=")) { + if(str_starts(xpara, "seed=") || str_starts(xpara, "init=") || str_starts(xpara, "random=")) { const char *errptr; int seed = str_int(strchr(xpara, '=')+1, STR_INT32, &errptr); if(errptr) { @@ -1057,6 +1057,10 @@ static int dryrun_parseextparams(const PROGRAMMER *pgm, const LISTID extparms) { break; } dry.seed = seed; + if(str_starts(xpara, "init")) + dry.init = 1; + else if(str_starts(xpara, "random")) + dry.random = 1; continue; } if(str_eq(xpara, "help")) { @@ -1069,10 +1073,12 @@ static int dryrun_parseextparams(const PROGRAMMER *pgm, const LISTID extparms) { rc = -1; } msg_error("%s -c %s extended options:\n", progname, pgmid); - msg_error(" -x init Initialise memories with human-readable patterns (1, 2, 3)\n"); - msg_error(" -x random Initialise memories with random code/values (1, 3)\n"); - msg_error(" -x seed= Seed random number generator with , n>0, default time(NULL)\n"); - msg_error(" -x help Show this help menu and exit\n"); + msg_error(" -x init Initialise memories with human-readable patterns (1, 2, 3)\n"); + msg_error(" -x init= Shortcut for -x init -x seed=\n"); + msg_error(" -x random Initialise memories with random code/values (1, 3)\n"); + msg_error(" -x random= Shortcut for -x random -x seed=\n"); + msg_error(" -x seed= Seed random number generator with , n>0, default time(NULL)\n"); + msg_error(" -x help Show this help menu and exit\n"); msg_error("Notes:\n"); msg_error(" (1) -x init and -x random randomly configure flash wrt boot/data/code length\n"); msg_error(" (2) Patterns can best be seen with fixed-width font on -U flash:r:-:I\n"); From 57e236a8e65326b5c9a240c62fc5d40899cb4e9f Mon Sep 17 00:00:00 2001 From: Stefan Rueger Date: Thu, 8 Aug 2024 00:46:37 +0100 Subject: [PATCH 32/49] Provide further op16_...() functions --- src/avr_opcodes.c | 43 +++++++++++++++++++++++++++++++++++++++++++ src/libavrdude.h | 4 ++++ 2 files changed, 47 insertions(+) diff --git a/src/avr_opcodes.c b/src/avr_opcodes.c index 4eb9ceee4..e6c1e07c8 100644 --- a/src/avr_opcodes.c +++ b/src/avr_opcodes.c @@ -647,6 +647,18 @@ AVR_mnemo opcode_mnemo(int op, int avrlevel) { return MNEMO_NONE; } +// Is 16-bit opcode valid for AVR part with avrlevel architecture? +int op16_is_valid(int op16, int avrlevel) { + int mnemo = opcode_mnemo(op16, avrlevel); + return mnemo >= 0 && mnemo <= MNEMO_N; +} + +// Is 16-bit opcode valid and benign for AVR part with avrlevel architecture? +int op16_is_benign(int op16, int avrlevel) { // Benign means no I/O or SRAM is being read/written + int mnemo = opcode_mnemo(op16, avrlevel); + return mnemo >= 0 && mnemo <= MNEMO_N && !(avr_opcodes[mnemo].type & OTY_EXTERNAL); +} + // Opcodes in avr_opcodes[] that a part ought to be able to run int avr_get_archlevel(const AVRPART *p) { int ret = @@ -737,3 +749,34 @@ int z_width(int op16, AVR_mnemo *mnemop) { return 0; } + +// Where else could the PC of the 16-bit opcode op16 at address here move to other than here + 2? +int op16_target(int here, int op16) { + AVR_mnemo mnemo = opcode_mnemo(op16, PART_ALL | OP_AVR_ILL); + + if(mnemo >= 0 && mnemo < MNEMO_N) { + switch(avr_opcodes[mnemo].type & OTY_TYPE_MASK) { + case OTY_RJMX: // Relative call rcall, range [.-4096, .+4094] bytes + case OTY_RJMI: // Relative jump rjmp, range [.-4096, .+4094] bytes + return here + 2 + ((int16_t) (op16<<4) >> 3); + + case OTY_JMPI: // Jump to potentially anywhere in flash (jmp, ijmp, eijmp) + case OTY_JMPX: // Jump to potentially anywhere in flash (calls and ret/i) + return INT_MIN; + + case OTY_BRAI: // Conditional branch, range [.-128, .+126] bytes + return here + 2 + (int8_t) ((op16 & 0x3f8)>>2); + + case OTY_SKPI: // Conditional skip, range [.+0, .+4] (cpse, sbrc, sbrs) + case OTY_SKPX: // Conditional skip, range [.+0, .+4] (sbic, sbis) + return here + 2 + 4; + } + } + + return here + 2; +} + +// Rjmp opcode from byte distance; 0xcfff is an endless loop, 0xc000 is a nop +int dist2rjmp(int dist) { + return 0xc000 | (((dist >> 1) - 1) & 0x0fff); +} diff --git a/src/libavrdude.h b/src/libavrdude.h index 0e39159a9..d42c693b2 100644 --- a/src/libavrdude.h +++ b/src/libavrdude.h @@ -1720,10 +1720,14 @@ int op_width(int op16); int ldi_Rd(int op16); int ldi_K(int op16); AVR_mnemo opcode_mnemo(int op16, int avrlevel); +int op16_is_valid(int op16, int avrlevel); +int op16_is_benign(int op16, int avrlevel); int avr_get_archlevel(const AVRPART *p); AVR_cycle_index avr_get_cycle_index(const AVRPART *p); const char *mnemo_str(int op16); int z_width(int op16, AVR_mnemo *mnenop); +int op16_target(int here, int op16); +int dist2rjmp(int dist); int disasm(const char *buf, int len, int addr, int leadin, int leadout); int disasm_init(const AVRPART *p); From 9e78cfef101b273d1c5986a6ae76ee749a998698 Mon Sep 17 00:00:00 2001 From: Stefan Rueger Date: Thu, 8 Aug 2024 00:50:05 +0100 Subject: [PATCH 33/49] Initialise dryrun flash with realistic random code On -x random dyrun will use only (random) opcodes that - The AVR architecture actually has - Are benign, ie, not reading/writing I/O or SRAM - Stay within the boundaries of the application --- src/dryrun.c | 148 +++++++++++++++------------------------------------ 1 file changed, 42 insertions(+), 106 deletions(-) diff --git a/src/dryrun.c b/src/dryrun.c index f7c3a9d76..6d1ac0a60 100644 --- a/src/dryrun.c +++ b/src/dryrun.c @@ -294,24 +294,28 @@ static int flashlayout(const PROGRAMMER *pgm, const AVRPART *p, const AVRMEM *fl } // Write a vector table to flash addr and return number of bytes written -static int putvectortable(const AVRPART *p, const AVRMEM *flm, int addr) { +static int putvectortable(const AVRPART *p, const AVRMEM *flm, int addr, int round32) { int vecsz = flm->size <= 8192? 2: 4, ret = p->n_interrupts * vecsz; int app = (ret + vecsz - 2)/2; // Distance to application in words for(int i = 0; i < ret; i += vecsz) { // First store rjmps to after table flm->buf[addr + i] = app; flm->buf[addr + i + 1] = 0xc0 + (app>>8); // rjmp app, rjmp app, ... + if(vecsz == 4) // Put nop behind rjmp + flm->buf[addr+i+2] = 0, flm->buf[addr+i+3] = 0; app -= vecsz/2; } for(int i=0; i < vecsz; i++) // Leave one vector gap - flm->buf[addr + ret++] = ' '; + flm->buf[addr + ret++] = round32? ' ': 0; - flm->buf[addr + ret++] = 0xff; // Put endless lopp as application - flm->buf[addr + ret++] = 0xcf; + if(round32) { + flm->buf[addr + ret++] = 0xff; // Put endless loop rjmp .-2 as application + flm->buf[addr + ret++] = 0xcf; - // Then round up to multiples of 32 - while(ret%32) - flm->buf[addr + ret++] = ' '; + // Then round up to multiples of 32 + while(ret%32) + flm->buf[addr + ret++] = ' '; + } return ret; } @@ -404,102 +408,32 @@ static void putbanner(const AVRMEM *flm, int addr, int n, int bi) { } } -// Is the opcode of benign nature, ie, not touching SRAM, I/O regs or flash? -static int is_benign_opcode(int op) { - static const struct { int mask, result; } benign[] = { - {0xfc00, 0x0c00}, // 0000 11rd dddd rrrr: add Rd, Rr - {0xfc00, 0x1c00}, // 0001 11rd dddd rrrr: adc Rd, Rr - {0xff00, 0x9600}, // 1001 0110 KKdd KKKK: adiw Rd, K - {0xfc00, 0x1800}, // 0001 10rd dddd rrrr: sub Rd, Rr - {0xf000, 0x5000}, // 0101 KKKK dddd KKKK: subi Rd, K - {0xfc00, 0x0800}, // 0000 10rd dddd rrrr: sbc Rd, Rr - {0xf000, 0x4000}, // 0100 KKKK dddd KKKK: sbci Rd, K - {0xff00, 0x9700}, // 1001 0111 KKdd KKKK: sbiw Rd, K - {0xfc00, 0x2000}, // 0010 00rd dddd rrrr: and Rd, Rr - {0xf000, 0x7000}, // 0111 KKKK dddd KKKK: andi Rd, K - {0xfc00, 0x2800}, // 0010 10rd dddd rrrr: or Rd, Rr - {0xf000, 0x6000}, // 0110 KKKK dddd KKKK: ori Rd, K - {0xfc00, 0x2400}, // 0010 01rd dddd rrrr: eor Rd, Rr - {0xfe0f, 0x9400}, // 1001 010d dddd 0000: com Rd - {0xfe0f, 0x9401}, // 1001 010d dddd 0001: neg Rd - {0xfe0f, 0x9403}, // 1001 010d dddd 0011: inc Rd - {0xfe0f, 0x940a}, // 1001 010d dddd 1010: dec Rd - {0xfc00, 0x9c00}, // 1001 11rd dddd rrrr: mul Rd, Rr - {0xff00, 0x0200}, // 0000 0010 dddd rrrr: muls Rd, Rr - {0xff88, 0x0300}, // 0000 0011 0ddd 0rrr: mulsu Rd, Rr - {0xff88, 0x0308}, // 0000 0011 0ddd 1rrr: fmul Rd, Rr - {0xff88, 0x0380}, // 0000 0011 1ddd 0rrr: fmuls Rd, Rr - {0xff88, 0x0388}, // 0000 0011 1ddd 1rrr: fmulsu Rd, Rr - // {0xff0f, 0x940b}, // 1001 0100 KKKK 1011: des K - {0xfc00, 0x1000}, // 0001 00rd dddd rrrr: cpse Rd, Rr - {0xfc00, 0x1400}, // 0001 01rd dddd rrrr: cp Rd, Rr - {0xfc00, 0x0400}, // 0000 01rd dddd rrrr: cpc Rd, Rr - {0xf000, 0x3000}, // 0011 KKKK dddd KKKK: cpi Rd, K - {0xfe08, 0xfc00}, // 1111 110r rrrr 0bbb: sbrc Rr, b - {0xfe08, 0xfe00}, // 1111 111r rrrr 0bbb: sbrs Rr, b - {0xfc00, 0x2c00}, // 0010 11rd dddd rrrr: mov Rd, Rr - {0xff00, 0x0100}, // 0000 0001 dddd rrrr: movw Rd, Rr - {0xf000, 0xe000}, // 1110 KKKK dddd KKKK: ldi Rd, K - {0xfe0f, 0x9406}, // 1001 010d dddd 0110: lsr Rd - {0xfe0f, 0x9407}, // 1001 010d dddd 0111: ror Rd - {0xfe0f, 0x9405}, // 1001 010d dddd 0101: asr Rd - {0xfe0f, 0x9402}, // 1001 010d dddd 0010: swap Rd - {0xfe08, 0xfa00}, // 1111 101d dddd 0bbb: bst Rr, b - {0xfe08, 0xf800}, // 1111 100d dddd 0bbb: bld Rd, b - {0xffff, 0x9408}, // 1001 0100 0000 1000: sec - {0xffff, 0x9488}, // 1001 0100 1000 1000: clc - {0xffff, 0x9428}, // 1001 0100 0010 1000: sen - {0xffff, 0x94a8}, // 1001 0100 1010 1000: cln - {0xffff, 0x9418}, // 1001 0100 0001 1000: sez - {0xffff, 0x9498}, // 1001 0100 1001 1000: clz - {0xffff, 0x94f8}, // 1001 0100 1111 1000: cli - {0xffff, 0x9448}, // 1001 0100 0100 1000: ses - {0xffff, 0x94c8}, // 1001 0100 1100 1000: cls - {0xffff, 0x9438}, // 1001 0100 0011 1000: sev - {0xffff, 0x94b8}, // 1001 0100 1011 1000: clv - {0xffff, 0x9468}, // 1001 0100 0110 1000: set - {0xffff, 0x94e8}, // 1001 0100 1110 1000: clt - {0xffff, 0x9458}, // 1001 0100 0101 1000: seh - {0xffff, 0x94d8}, // 1001 0100 1101 1000: clh - {0xffff, 0x95a8}, // 1001 0101 1010 1000: wdr - {0xffff, 0x0000}, // 0000 0000 0000 0000: nop - }; - - for(size_t i = 0; i < sizeof benign/sizeof*benign; i++) - if((op & benign[i].mask) == benign[i].result) - return 1; - return 0; +// Put single 16-bit opcode into memory +static void putop16(unsigned char *addr, int op) { + addr[0] = op, addr[1] = op>>8; } -// Put n/2 random benign opcodes into memory at addr -static void putcode(const AVRMEM *flm, int addr, int n) { - int i = 0, op; +// Put n/2 random benign opcodes compatible with part into memory at addr +static void putcode(const AVRPART *p, const AVRMEM *flm, int addr, int n) { + int i, op, inrange, pc, end = addr + n/2*2, avrlevel = avr_get_archlevel(p); - if(n < 2) - return; - if(n < 4) - goto endless; - - for(; i < n/2 - 2; i++) { + for(i = 0; i < n/2; i++) { do { - op = random() & 0xffff; - } while(!is_benign_opcode(op)); - flm->buf[addr + 2*i] = op; // FIXME: relying on little endian here (and below) - flm->buf[addr + 2*i + 1] = op>>8; + inrange = 0; + // Last opcode is a long backward jump; the others are random + op = i == n/2-1? dist2rjmp(-2*(i<2048? i: 2047)): random() & 0xffff; + if(op16_is_benign(op, avrlevel)) + inrange = (pc = op16_target(addr+2*i, op)) >= addr && pc < end; + } while(!inrange); + putop16(flm->buf + addr + 2*i, op); } - - flm->buf[addr+2*i] = 0; - flm->buf[addr+2*i+1] = 0; // nop (in case last opcode was of skip-next-instruction type - i++; - -endless: - flm->buf[addr+2*i] = 255; - flm->buf[addr+2*i+1] = 0xcf; // rjmp .-2 (endless loop) } // Write valid opcodes to flash (banners for -xinit, random code for -xrandom) -static void putflash(const PROGRAMMER *pgm, const AVRMEM *flm, int addr, int n, int bi) { +static void putflash(const PROGRAMMER *pgm, const AVRPART *p, const AVRMEM *flm, int addr, int n, int bi) { + unsigned char *top = flm->buf+addr+n-4; + if(dry.random) { switch(bi) { case U384: case U512: case BDATA: // Bootloader stuff, reduce code length a little @@ -509,12 +443,17 @@ static void putflash(const PROGRAMMER *pgm, const AVRMEM *flm, int addr, int n, n -= random()%(3*n/4); } if(bi != ADATA) { - putcode(flm, addr, n); - return; + putcode(p, flm, addr, n); + goto seal; } bi = RND; // Make apptable data random @/space sequences } putbanner(flm, addr, n, bi); + +seal: // Put 1-2 endless loops in top memory section + if(*top == 0xff) + putop16(top, 0xcfff); + putop16(top+2, 0xcfff); } // Initialise a user writable memory other than flash or fuses @@ -695,7 +634,7 @@ static void dryrun_enable(PROGRAMMER *pgm, const AVRPART *p) { if(flashlayout(pgm, q, flm, up, cp, nc) < 0) return; - int vtb = putvectortable(q, flm, dry.appstart), urbtsz = 0; + int vtb = putvectortable(q, flm, dry.appstart, dry.init), urbtsz = 0; int urboot = random()%3 && dry.bootsize <= 512 && flm->size >= 1024 && flm->size >= 4*dry.bootsize && (q->prog_modes & PM_Classic) && (q->prog_modes & PM_SPM); @@ -709,21 +648,18 @@ static void dryrun_enable(PROGRAMMER *pgm, const AVRPART *p) { dry.bootstart = dry.appsize; } int ubaddr = dry.bootstart; - putflash(pgm, flm, ubaddr, urbtsz, urbtsz==384? U384: U512); - flm->buf[ubaddr] = 0xff; flm->buf[ubaddr+1] = 0xcf; // rjmp .-2 + putflash(pgm, dry.dp, flm, ubaddr, urbtsz, urbtsz==384? U384: U512); } else if(dry.bootsize) { int btb = 0; if(dry.bootsize >= 2048) - btb = putvectortable(q, flm, dry.bootstart); - putflash(pgm, flm, dry.bootstart + btb, dry.bootsize - btb, BDATA); - flm->buf[dry.bootstart] = 0xff; flm->buf[dry.bootstart+1] = 0xcf; // rjmp .-2 + btb = putvectortable(q, flm, dry.bootstart, dry.init); + putflash(pgm, dry.dp, flm, dry.bootstart + btb, dry.bootsize - btb, BDATA); } - if(dry.datasize) { - putflash(pgm, flm, dry.datastart, dry.datasize, ADATA); - } + if(dry.datasize) + putflash(pgm, dry.dp, flm, dry.datastart, dry.datasize, ADATA); - putflash(pgm, flm, dry.appstart+vtb, dry.appsize-vtb-urbtsz, ROCKS); + putflash(pgm, dry.dp, flm, dry.appstart+vtb, dry.appsize-vtb-urbtsz, ROCKS); for(int i = 0; i < flm->size; i += flm->page_size) sharedflash(pgm, flm, i, flm->page_size); From 19d1ab6695cc0b1f5360a6fab5283514c63abfc4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9C=9D=E6=97=A5=E8=96=AB=20/=20K=2ESato?= Date: Thu, 8 Aug 2024 09:15:34 +0900 Subject: [PATCH 34/49] Writing BOOTROW for Curiosity Nano (#1870) * Fix writing BOOTROW for Curiosity Nano by @askn37 * Terminal writes to bootrow will do a read/CE/write cycle if needed by @stefanrueger Co-authored-by: Stefan Rueger --- src/avrcache.c | 8 ++++---- src/jtag3.c | 51 +++++++++++++++++++++++++++++++++++++++++++++----- 2 files changed, 50 insertions(+), 9 deletions(-) diff --git a/src/avrcache.c b/src/avrcache.c index 8ef9d50da..590cec54b 100644 --- a/src/avrcache.c +++ b/src/avrcache.c @@ -443,7 +443,7 @@ int avr_flush_cache(const PROGRAMMER *pgm, const AVRPART *p) { } } - if(!mem_is_user_type(mems[i].mem)) // Only force CE if unable to write to flash/EEPROM + if(!mem_is_usersig(mems[i].mem)) // CE does not erase usersig chiperase = 1; } @@ -465,7 +465,7 @@ int avr_flush_cache(const PROGRAMMER *pgm, const AVRPART *p) { AVR_Cache *cp = mems[i].cp; if(!mem) continue; - if(mem_is_user_type(mem)) // CE does not affect bootrow/userrow + if(mem_is_usersig(mem)) // CE does not affect usersig/userrow continue; for(int pgno = 0, n = 0; n < cp->size; pgno++, n += cp->page_size) @@ -481,7 +481,7 @@ int avr_flush_cache(const PROGRAMMER *pgm, const AVRPART *p) { AVR_Cache *cp = mems[i].cp; if(!mem) continue; - if(mem_is_user_type(mem)) // CE does not affect bootrow/userrow + if(mem_is_usersig(mem)) // CE does not affect usersig/userrow continue; for(int ird = 0, pgno = 0, n = 0; n < cp->size; pgno++, n += cp->page_size) { @@ -510,7 +510,7 @@ int avr_flush_cache(const PROGRAMMER *pgm, const AVRPART *p) { AVR_Cache *cp = mems[i].cp; if(!mem) continue; - if(mem_is_user_type(mem)) // CE does not affect bootrow/userrow + if(mem_is_usersig(mem)) // CE does not affect usersig/userrow continue; if(mems[i].isflash) { diff --git a/src/jtag3.c b/src/jtag3.c index e8d5f81a6..78f220e6b 100644 --- a/src/jtag3.c +++ b/src/jtag3.c @@ -19,7 +19,44 @@ */ /* - * avrdude interface for Atmel JTAGICE3 programmer + * Avrdude interface for Atmel JTAGICE3 programmer + * + * + * Scope + * + * Code in this file serves the following programmers + * $ avrdude -c "*"/At | grep type..jtagice3 | cut -f2 + * + * These are + * - jtag3, jtag3pdi, jtag3updi, jtag3dw, jtag3isp + * - xplainedpro, xplainedpro_pdi, xplainedpro_updi + * - xplainedmini, xplainedmini_dw, xplainedmini_updi, xplainedmini_tpi + * - atmelice, atmelice_pdi, atmelice_updi, atmelice_dw, atmelice_isp, atmelice_tpi + * - powerdebugger, powerdebugger_pdi, powerdebugger_updi, powerdebugger_dw, powerdebugger_isp, powerdebugger_tpi + * - pickit4, pickit4_updi, pickit4_pdi, pickit4_isp, pickit4_tpi + * - snap, snap_updi, snap_pdi, snap_isp, snap_tpi + * - pkobn_updi + * + * + * Issues + * + * - ATMELICE3 is only recognised correctly in USB High-Speed mode this + * also relates to the hidapi and libusb backends, see + * https://github.com/avrdudes/avrdude/issues/1221 + * + * + * Limitations + * + * - jtag3_page_erase() does not work in the bootrow section of the + * AVR-DU series, ie, can only be written correctly once unless the + * chip-erase command is performed. Confirmed: bootrow page-erase fails + * for Curiosity Nano AVR32DU32 ICE-FW(nEDBG) <= 1.31 (rel 39) + * + * - Trace output -vvvv is not complete and would benefit from enhancing + * + * - High-Voltage Programming on TPI parts not implemented + * + * - Procedures to change the behaviour of the "Target-RESET pin" are unknown or not implemented */ #include @@ -1884,6 +1921,10 @@ static int jtag3_page_erase(const PROGRAMMER *pgm, const AVRPART *p, const AVRME cmd[3] = XMEGA_ERASE_EEPROM_PAGE; } else if (mem_is_userrow(m)) { cmd[3] = XMEGA_ERASE_USERSIG; + } else if (mem_is_bootrow(m)) { + // Currently, AVR-DU BOOTROW cannot be erased with CMD3_ERASE_MEMORY + // Note ATDF: + cmd[3] = XMEGA_ERASE_USERSIG; // Tentative for AVR-DU and AVR-EB series } else { cmd[3] = XMEGA_ERASE_APP_PAGE; } @@ -1953,7 +1994,7 @@ static int jtag3_paged_write(const PROGRAMMER *pgm, const AVRPART *p, const AVRM } cmd[3] = p->prog_modes & (PM_PDI | PM_UPDI)? MTYPE_EEPROM_XMEGA: MTYPE_EEPROM_PAGE; PDATA(pgm)->eeprom_pageaddr = (unsigned long)-1L; - } else if (mem_is_userrow(m)) { + } else if (mem_is_userrow(m) || mem_is_bootrow(m)) { cmd[3] = MTYPE_USERSIG; } else if (mem_is_boot(m)) { cmd[3] = MTYPE_BOOT_FLASH; @@ -2041,7 +2082,7 @@ static int jtag3_paged_load(const PROGRAMMER *pgm, const AVRPART *p, const AVRME return -1; } else if (mem_is_sigrow(m)) { cmd[3] = MTYPE_PRODSIG; - } else if (mem_is_userrow(m)) { + } else if (mem_is_userrow(m) || mem_is_bootrow(m)) { cmd[3] = MTYPE_USERSIG; } else if (mem_is_boot(m)) { cmd[3] = MTYPE_BOOT_FLASH; @@ -2150,7 +2191,7 @@ static int jtag3_read_byte(const PROGRAMMER *pgm, const AVRPART *p, const AVRMEM cmd[3] = MTYPE_LOCK_BITS; if (pgm->flag & PGM_FL_IS_DW) unsupp = 1; - } else if (mem_is_userrow(mem)) { + } else if (mem_is_userrow(mem) || mem_is_bootrow(mem)) { cmd[3] = MTYPE_USERSIG; } else if (mem_is_sigrow(mem)) { if (p->prog_modes & (PM_PDI | PM_UPDI)) { @@ -2323,7 +2364,7 @@ static int jtag3_write_byte(const PROGRAMMER *pgm, const AVRPART *p, const AVRME cmd[3] = MTYPE_LOCK_BITS; if (pgm->flag & PGM_FL_IS_DW) unsupp = 1; - } else if (mem_is_userrow(mem)) { + } else if (mem_is_userrow(mem) || mem_is_bootrow(mem)) { cmd[3] = MTYPE_USERSIG; } else if (mem_is_io(mem) || mem_is_sram(mem)) cmd[3] = MTYPE_SRAM; From cdce41e7d2c08364aecd724bab5f4057ab37b6c2 Mon Sep 17 00:00:00 2001 From: Stefan Rueger Date: Thu, 8 Aug 2024 01:22:26 +0100 Subject: [PATCH 35/49] Update NEWS/docu --- NEWS | 11 +++++++++++ avrdude.pdf | Bin 436012 -> 441942 bytes 2 files changed, 11 insertions(+) diff --git a/NEWS b/NEWS index 8acbbf1b9..5d48f27aa 100644 --- a/NEWS +++ b/NEWS @@ -55,6 +55,9 @@ Changes since version 7.3: - JTAGICE3 EDBG communication mode relies on hardcoded USBVID #1838 - avrdude documentation typo(s) attemps #1852 - Conflicting types for op16_is_mnemo: enum/integer #1851 + - Writing BOOTROW for Curiosity Nano #1868 + - Should AVRDUDE be run as root? #1860 + - Auto-build avrdude.pdf from texinfo sources #1847 * Pull requests: @@ -129,6 +132,14 @@ Changes since version 7.3: - Refine auto-erase strategy #1862 - Provide -P usb:vid:pid for USB hid i/f and allow long -P usb:serno for usblib and hidapi #186 + - Initialise dryrun flash with realistic random code #1873 + - Writing BOOTROW for Curiosity Nano #1870 + - Refine programmer/part/memory compatibility modelling #1869 + - Provide dev option -c \*/u that shows udev rules #1867 + - Provide current avrdude.pdf documentation in repo root #1865 + - doc: Stop building and installing .ps and .dvi #1857 + - Improve autotools build (part 2/n) #1695 + - Use correct file locations in the documentation #1637 * Internals: diff --git a/avrdude.pdf b/avrdude.pdf index ce70bc612d7856e9b8389469d74201f9115e9ef4..e1f26e764516bea83b0f687d296f3375916590cd 100644 GIT binary patch delta 102579 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

jdky_O2WSlJNDu5R~Y1o}K{O1r8oRR1<&_ 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 delta 96414 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 Xm#IvhaHL2a|J)HoYHCTvuZaHx&a-r7 From 28ebfa0a4bc65d2c920f34d97d7557b9e7cedfd4 Mon Sep 17 00:00:00 2001 From: Stefan Rueger Date: Thu, 8 Aug 2024 01:25:49 +0100 Subject: [PATCH 36/49] Update README.md with link to avrdude.pdf --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index e49258505..c00bd5eae 100644 --- a/README.md +++ b/README.md @@ -18,7 +18,7 @@ The latest version of AVRDUDE is always available here:\ ## Documentation -Documentation for current and previous releases is [on Github Pages](https://avrdudes.github.io/avrdude/). [avrdude.pdf](https://github.com/avrdudes/avrdude/avrdude.pdf) documents the current git main version. +Documentation for current and previous releases is [on Github Pages](https://avrdudes.github.io/avrdude/). Git main is documented only with the most recent [avrdude.pdf](https://github.com/avrdudes/avrdude/blob/main/avrdude.pdf). ## Getting AVRDUDE for Windows From d91128269ae32f7c937556cabbb36f28c2c2f328 Mon Sep 17 00:00:00 2001 From: Stefan Rueger Date: Thu, 8 Aug 2024 13:52:31 +0100 Subject: [PATCH 37/49] Deprecate obsolete features and options --- src/avr.c | 6 - src/avrdude.conf.in | 15 +-- src/avrdude.h | 4 +- src/config_gram.y | 74 ------------ src/doc/avrdude.texi | 262 +++++++++++++++++++++---------------------- src/lexer.l | 11 +- src/main.c | 12 +- src/usbasp.c | 12 -- 8 files changed, 136 insertions(+), 260 deletions(-) diff --git a/src/avr.c b/src/avr.c index 619dc0dac..bbc9a279d 100644 --- a/src/avr.c +++ b/src/avr.c @@ -322,12 +322,6 @@ int avr_mem_hiaddr(const AVRMEM * mem) { int i, n; - // Deprecated: calling with NULL disables trailing 0xff optimisation (remove in v8.0) - if(!mem) { - cx->avr_disableffopt = 1; - return 0; - } - if(cx->avr_disableffopt) return mem->size; diff --git a/src/avrdude.conf.in b/src/avrdude.conf.in index 960d0ed67..ca100478c 100644 --- a/src/avrdude.conf.in +++ b/src/avrdude.conf.in @@ -33,8 +33,8 @@ avrdude_conf_version = "@AVRDUDE_FULL_VERSION@"; # buff = [, ... ] ; # pin number(s) # reset = ; # pin number # sck = ; # pin number -# sdo = ; # pin number -# sdi = ; # pin number +# sdo|pico = ; # pin number +# sdi|poci = ; # pin number # tck = ; # pin number # tdi = ; # pin number # tdo = ; # pin number @@ -111,15 +111,8 @@ avrdude_conf_version = "@AVRDUDE_FULL_VERSION@"; # n_boot_sections = ; # Number of boot sections # boot_section_size = ; # Size of (smallest) boot section, if any # hvupdi_variant = ; # numeric -1 (n/a) or 0..2 -# devicecode = ; # deprecated, use stk500_devcode # stk500_devcode = ; # numeric # avr910_devcode = ; # numeric -# has_jtag = ; # part has JTAG i/f (deprecated, use prog_modes) -# has_debugwire = ; # part has debugWire i/f (deprecated, use prog_modes) -# has_pdi = ; # part has PDI i/f (deprecated, use prog_modes) -# has_updi = ; # part has UPDI i/f (deprecated, use prog_modes) -# has_tpi = ; # part has TPI i/f (deprecated, use prog_modes) -# is_avr32 = ; # AVR32 part (deprecated, use prog_modes) # is_at90s1200 = ; # AT90S1200 part # signature = ; # signature bytes # usbpid = ; # DFU USB PID @@ -242,8 +235,6 @@ avrdude_conf_version = "@AVRDUDE_FULL_VERSION@"; # ; # # NOTES: -# * 'devicecode' is the device code used by the STK500 (see codes -# listed below) # * Not all memories will implement all instructions # * AVR Fuse bits and Lock bits are implemented as a type of memory # * Example memories are: @@ -313,7 +304,7 @@ avrdude_conf_version = "@AVRDUDE_FULL_VERSION@"; # # # The following are STK500 part device codes to use for the -# "devicecode" field of the part. These came from Atmel's software +# stk500_devcode field of the part. These came from Atmel's software # section avr061.zip which accompanies the application note # AVR061 available from: # diff --git a/src/avrdude.h b/src/avrdude.h index 6844d4373..37665ed43 100644 --- a/src/avrdude.h +++ b/src/avrdude.h @@ -61,8 +61,8 @@ int avrdude_message2(FILE *fp, int lno, const char *file, const char *func, int #define MSG_TRACE2 5 // Displayed with -vvvvv #define MSG2_PROGNAME 1 // Start by printing progname -#define MSG2_FUNCTION 2 // Print calling function (1st arg) after progname if >= notice -#define MSG2_FILELINE 4 // Print source file and line number after function if >= debug +#define MSG2_FUNCTION 2 // Print calling function (1st arg) after progname if >= notice2 +#define MSG2_FILELINE 4 // Print source file and line number after function if >= notice2 #define MSG2_TYPE 8 // Print message type after progname #define MSG2_INDENT1 16 // Start by printing indentation of progname+1 blanks #define MSG2_INDENT2 32 // Start by printing indentation of progname+2 blanks diff --git a/src/config_gram.y b/src/config_gram.y index eae57dfd9..d266516f6 100644 --- a/src/config_gram.y +++ b/src/config_gram.y @@ -86,7 +86,6 @@ static int parse_cmdbits(OPCODE * op, int opnum); %token K_DEFAULT_SPI %token K_DEFAULT_LINUXGPIO %token K_HVUPDI_SUPPORT -%token K_DEVICECODE %token K_EEPROM %token K_ERRLED %token K_FLASH @@ -137,13 +136,7 @@ static int parse_cmdbits(OPCODE * op, int opnum); * MCUs. */ %token K_ENABLEPAGEPROGRAMMING /* ? yes for mega256*, mega406 */ -%token K_HAS_JTAG /* MCU has JTAG i/f. */ -%token K_HAS_DW /* MCU has debugWire i/f. */ -%token K_HAS_PDI /* MCU has PDI i/f rather than ISP (ATxmega). */ -%token K_HAS_UPDI /* MCU has UPDI i/f (AVR8X). */ -%token K_HAS_TPI /* MCU has TPI i/f rather than ISP (ATtiny4/5/9/10). */ %token K_IS_AT90S1200 /* chip is an AT90S1200 (needs special treatment) */ -%token K_IS_AVR32 /* chip is in the avr32 family */ %token K_FLASH_INSTR /* flash instructions */ %token K_EEPROM_INSTR /* EEPROM instructions */ @@ -681,13 +674,6 @@ part_parm : } } | - K_DEVICECODE TKN_EQUAL numexpr { - { - yyerror("devicecode is deprecated, will be removed in v8.0, use stk500_devcode instead"); - YYABORT; - } - } | - K_SIGNATURE TKN_EQUAL TKN_NUMBER TKN_NUMBER TKN_NUMBER { { current_part->signature[0] = $3->value.number; @@ -864,56 +850,6 @@ part_parm : free_tokens(2, $1, $3); } | - K_HAS_JTAG TKN_EQUAL numexpr - { - yywarning("has_jtag is deprecated, will be removed in v8.0, use prog_modes"); - if ($3->value.number == 1) - current_part->prog_modes |= PM_JTAG; - else if ($3->value.number == 0) - current_part->prog_modes &= ~(PM_JTAG | PM_JTAGmkI | PM_XMEGAJTAG | PM_AVR32JTAG); - free_token($3); - } | - - K_HAS_DW TKN_EQUAL numexpr - { - yywarning("has_debugwire is deprecated, will be removed in v8.0, use prog_modes"); - if ($3->value.number == 1) - current_part->prog_modes |= PM_debugWIRE; - else if ($3->value.number == 0) - current_part->prog_modes &= ~PM_debugWIRE; - free_token($3); - } | - - K_HAS_PDI TKN_EQUAL numexpr - { - yywarning("has_pdi is deprecated, will be removed in v8.0, use prog_modes"); - if ($3->value.number == 1) - current_part->prog_modes |= PM_PDI; - else if ($3->value.number == 0) - current_part->prog_modes &= ~PM_PDI; - free_token($3); - } | - - K_HAS_UPDI TKN_EQUAL numexpr - { - yywarning("has_updi is deprecated, will be removed in v8.0, use prog_modes"); - if ($3->value.number == 1) - current_part->prog_modes |= PM_UPDI; - else if ($3->value.number == 0) - current_part->prog_modes &= ~PM_UPDI; - free_token($3); - } | - - K_HAS_TPI TKN_EQUAL numexpr - { - yywarning("has_tpi is deprecated, will be removed in v8.0, use prog_modes"); - if ($3->value.number == 1) - current_part->prog_modes |= PM_TPI; - else if ($3->value.number == 0) - current_part->prog_modes &= ~PM_TPI; - free_token($3); - } | - K_IS_AT90S1200 TKN_EQUAL numexpr { if ($3->value.number == 1) @@ -929,16 +865,6 @@ part_parm : free_token($3); } | - K_IS_AVR32 TKN_EQUAL numexpr - { - yywarning("is_avr32 is deprecated, will be removed in v8.0, use prog_modes"); - if ($3->value.number == 1) - current_part->prog_modes |= PM_aWire; - else if ($3->value.number == 0) - current_part->prog_modes &= ~PM_aWire; - free_token($3); - } | - K_ALLOWFULLPAGEBITSTREAM TKN_EQUAL numexpr { if ($3->value.number == 1) diff --git a/src/doc/avrdude.texi b/src/doc/avrdude.texi index 047cee1a4..eb97eda84 100644 --- a/src/doc/avrdude.texi +++ b/src/doc/avrdude.texi @@ -3532,36 +3532,37 @@ The format of the programmer definition is as follows: @smallexample programmer - parent # optional parent - id = [, ... ] ; # are quoted strings - desc = ; # quoted string - type = ; # programmer type, quoted string - # list known types with -c ?type - prog_modes = PM_ @{| PM_@} # interfaces, e.g., PM_SPM|PM_PDI (1) + parent # optional parent + id = [, ... ]; # are quoted strings + desc = ; # quoted string + type = ; # programmer type, quoted string + # list known types with -c ?type + prog_modes = PM_ @{| PM_@} # interfaces, e.g., PM_SPM|PM_PDI (1) + is_serialadapter = # programmer is also a serialadapter extra_features = HAS_ @{| HAS_@} # extra features, e.g., HAS_SUFFER (2) connection_type = parallel | serial | usb | spi - baudrate = ; # baudrate for avr910-programmer - vcc = [, ... ] ; # pin number(s) (3) - buff = [, ... ] ; # pin number(s) - reset = ; # pin number - sck = ; # pin number - sdo = ; # pin number - sdi = ; # pin number - tck = ; # pin number - tdi = ; # pin number - tdo = ; # pin number - tms = ; # pin number - errled = ; # pin number - rdyled = ; # pin number - pgmled = ; # pin number - vfyled = ; # pin number - usbvid = ; # USB vendor ID - usbpid = [, ...] ; # USB product ID (4) - usbdev = ; # USB interface or other device info - usbvendor = ; # USB Vendor Name - usbproduct = ; # USB Product Name - usbsn = ; # USB Serial Number - hvupdi_support = [, , ... ] ; # UPDI HV Variants Support + baudrate = ; # baudrate for avr910-programmer + vcc = [, ... ]; # pin number(s) (3) + buff = [, ... ]; # pin number(s) + reset = ; # pin number + sck = ; # pin number + sdo|pico = ; # pin number + sdi|poci = ; # pin number + tck = ; # pin number + tdi = ; # pin number + tdo = ; # pin number + tms = ; # pin number + errled = ; # pin number + rdyled = ; # pin number + pgmled = ; # pin number + vfyled = ; # pin number + usbvid = ; # USB vendor ID + usbpid = [, ...]; # USB product ID (4) + usbdev = ; # USB interface or other device info + usbvendor = ; # USB Vendor Name + usbproduct = ; # USB Product Name + usbsn = ; # USB Serial Number + hvupdi_support = [, , ... ]; # UPDI HV Variants Support ; @end smallexample @@ -3656,12 +3657,12 @@ The format of a serial adapter definition is as follows: @smallexample serialadapter parent # optional serialadapter or programmer parent - id = [, ... ] ; # are quoted strings - desc = ; # quoted string - baudrate = ; # optional default baudrate, eg, in .avrduderc - usbvid = ; # USB vendor ID - usbpid = [, ...] ; # list of USB product IDs - usbsn = ; # USB Serial Number in per-user .avrduderc + id = [, ... ]; # are quoted strings + desc = ; # quoted string + baudrate = ; # optional default baudrate, eg, in .avrduderc + usbvid = ; # USB vendor ID + usbpid = [, ...]; # list of USB product IDs + usbsn = ; # USB Serial Number in per-user .avrduderc ; @end smallexample @@ -3698,10 +3699,10 @@ utilised as a serialadapter. @smallexample part - desc = ; # quoted string, the long part name, eg, "ATmega328p" - id = ; # quoted string, normally an abbreviated part name + desc = ; # quoted string, the long part name, eg, "ATmega328p" + id = ; # quoted string, normally an abbreviated part name variants = [, ...]; # quoted strings, each starts so ": ..." - family_id = ; # quoted string, e.g., "megaAVR" or "tinyAVR" + family_id = ; # quoted string, e.g., "megaAVR" or "tinyAVR" prog_modes = PM_ @{| PM_@} # interfaces, e.g., PM_SPM|PM_ISP|PM_HVPP|PM_debugWIRE mcuid = ; # unique id in 0..2039 for 8-bit AVRs archnum = ; # avr-gcc architecture number for the part @@ -3709,108 +3710,101 @@ part n_page_erase = ; # if set, number of pages erased during SPM erase n_boot_sections = ; # Number of boot sections boot_section_size = ; # Size of (smallest) boot section, if any - hvupdi_variant = ; # numeric -1 (n/a) or 0..2 - devicecode = ; # deprecated, use stk500_devcode - stk500_devcode = ; # numeric - avr910_devcode = ; # numeric - has_jtag = ; # part has JTAG i/f (deprecated, use prog_modes) - has_debugwire = ; # part has debugWire i/f (deprecated, use prog_modes) - has_pdi = ; # part has PDI i/f (deprecated, use prog_modes) - has_updi = ; # part has UPDI i/f (deprecated, use prog_modes) - has_tpi = ; # part has TPI i/f (deprecated, use prog_modes) - is_avr32 = ; # AVR32 part (deprecated, use prog_modes) - is_at90s1200 = ; # AT90S1200 part - signature = ; # signature bytes - usbpid = ; # DFU USB PID - chip_erase_delay = ; # microseconds - reset = dedicated | io ; - retry_pulse = reset | sck ; + hvupdi_variant = ; # numeric -1 (n/a) or 0..2 + stk500_devcode = ; # numeric + avr910_devcode = ; # numeric + is_at90s1200 = ; # AT90S1200 part + signature = ; # signature bytes + usbpid = ; # DFU USB PID + chip_erase_delay = ; # microseconds + reset = dedicated | io; + retry_pulse = reset | sck; # STK500 parameters (parallel programming IO lines) - pagel = ; # page load pin name in hex, e.g., 0xD7 - bs2 = ; # byte select 2 pin name in hex, e.g., 0xA0 - serial = ; # can use serial downloading - parallel = ; # can use parallel programming + pagel = ; # page load pin name in hex, e.g., 0xD7 + bs2 = ; # byte select 2 pin name in hex, e.g., 0xA0 + serial = ; # can use serial downloading + parallel = ; # can use parallel programming # STK500v2 parameters, to be taken from Atmel's ATDF files - timeout = ; - stabdelay = ; - cmdexedelay = ; - synchloops = ; - bytedelay = ; - pollvalue = ; - pollindex = ; - predelay = ; - postdelay = ; - pollmethod = ; - hvspcmdexedelay = ; + timeout = ; + stabdelay = ; + cmdexedelay = ; + synchloops = ; + bytedelay = ; + pollvalue = ; + pollindex = ; + predelay = ; + postdelay = ; + pollmethod = ; + hvspcmdexedelay = ; # STK500v2 HV programming parameters, from ATDFs - pp_controlstack = , , ... ; # PP only - hvsp_controlstack = , , ... ; # HVSP only - flash_instr = , , ; - eeprom_instr = , , ... ; - hventerstabdelay = ; - progmodedelay = ; # PP only - latchcycles = ; - togglevtg = ; - poweroffdelay = ; - resetdelayms = ; - resetdelayus = ; - hvleavestabdelay = ; - resetdelay = ; - synchcycles = ; # HVSP only - chiperasepulsewidth = ; # PP only - chiperasepolltimeout = ; - chiperasetime = ; # HVSP only - programfusepulsewidth = ; # PP only - programfusepolltimeout = ; - programlockpulsewidth = ; # PP only - programlockpolltimeout = ; + pp_controlstack = , , ...; # PP only + hvsp_controlstack = , , ...; # HVSP only + flash_instr = , , ; + eeprom_instr = , , ...; + hventerstabdelay = ; + progmodedelay = ; # PP only + latchcycles = ; + togglevtg = ; + poweroffdelay = ; + resetdelayms = ; + resetdelayus = ; + hvleavestabdelay = ; + resetdelay = ; + synchcycles = ; # HVSP only + chiperasepulsewidth = ; # PP only + chiperasepolltimeout = ; + chiperasetime = ; # HVSP only + programfusepulsewidth = ; # PP only + programfusepolltimeout = ; + programlockpulsewidth = ; # PP only + programlockpolltimeout = ; # debugWIRE and/or JTAG ICE mkII parameters, also from ATDF files - allowfullpagebitstream = ; - enablepageprogramming = ; - idr = ; # IO addr of IDR (OCD) reg - rampz = ; # IO addr of RAMPZ reg - spmcr = ; # mem addr of SPMC[S]R reg - eecr = ; # mem addr of EECR reg - eind = ; # mem addr of EIND reg - mcu_base = ; # MCU control block in ATxmega devices - nvm_base = ; # NVM controller in ATxmega devices - ocd_base = ; # OCD module in AVR8X/UPDI devices - syscfg_base = ; # Chip revision ID in AVR8X/UPDI devices - ocdrev = ; # JTAGICE3 parameter from ATDF files - pgm_enable = ; - chip_erase = ; + allowfullpagebitstream = ; + enablepageprogramming = ; + idr = ; # IO addr of IDR (OCD) reg + rampz = ; # IO addr of RAMPZ reg + spmcr = ; # mem addr of SPMC[S]R reg + eecr = ; # mem addr of EECR reg + eind = ; # mem addr of EIND reg + mcu_base = ; # MCU control block in ATxmega devices + nvm_base = ; # NVM controller in ATxmega devices + ocd_base = ; # OCD module in AVR8X/UPDI devices + syscfg_base = ; # Chip revision ID in AVR8X/UPDI devices + ocdrev = ; # JTAGICE3 parameter from ATDF files + pgm_enable = ; + chip_erase = ; # parameters for bootloaders - autobaud_sync = ; # autobaud detection byte, default 0x30 - factory_fcpu = ; # F_CPU in Hz on reset and factory-set fuses + autobaud_sync = ; # autobaud detection byte, default 0x30 + factory_fcpu = ; # F_CPU in Hz on reset and factory-set fuses memory - paged = ; # yes/no (flash of classic parts only) - offset = ; # memory offset - size = ; # bytes - page_size = ; # bytes - num_pages = ; # numeric - initval = ; # factory setting of fuses and lockbits - bitmask = ; # bits used (only in fuses and lockbits) - n_word_writes = ; # TPI only: if set, number of words to write - min_write_delay = ; # micro-seconds - max_write_delay = ; # micro-seconds - readback = ; # pair of byte values - readback_p1 = ; # byte value (first component) - readback_p2 = ; # byte value (second component) - pwroff_after_write = ; # yes/no - mode = ; # STK500 v2 file parameter from ATDF files - delay = ; # " - blocksize = ; # " - readsize = ; # " - read = ; - write = ; - read_lo = ; - read_hi = ; - write_lo = ; - write_hi = ; - loadpage_lo = ; - loadpage_hi = ; - writepage = ; + paged = ; # yes/no (flash of classic parts only) + offset = ; # memory offset + size = ; # bytes + page_size = ; # bytes + num_pages = ; # numeric + initval = ; # factory setting of fuses and lockbits + bitmask = ; # bits used (only in fuses and lockbits) + n_word_writes = ; # TPI only: if set, number of words to write + min_write_delay = ; # micro-seconds + max_write_delay = ; # micro-seconds + readback = ; # pair of byte values + readback_p1 = ; # byte value (first component) + readback_p2 = ; # byte value (second component) + pwroff_after_write = ; # yes/no + mode = ; # STK500 v2 file parameter from ATDF files + delay = ; # " + blocksize = ; # " + readsize = ; # " + read = ; + write = ; + read_lo = ; + read_hi = ; + write_lo = ; + write_hi = ; + loadpage_lo = ; + loadpage_hi = ; + writepage = ; ; ; @end smallexample @@ -3858,7 +3852,7 @@ Example format for part inheritance: @smallexample part parent # String identifying parent - id = ; # Id string for new part + id = ; # Id string for new part ; @end smallexample @@ -3950,7 +3944,7 @@ Examples: @itemize @bullet @item -The @code{devicecode} parameter is the device code used by the STK500 +The @code{stk500_devcode} parameter is the device code used by the STK500 and is obtained from the software section (@code{avr061.zip}) of Atmel's AVR061 application note available from @url{http://www.atmel.com/dyn/resources/prod_documents/doc2525.pdf}. diff --git a/src/lexer.l b/src/lexer.l index 230813abc..d33ad4ba8 100644 --- a/src/lexer.l +++ b/src/lexer.l @@ -191,31 +191,22 @@ default_programmer { yylval=NULL; return K_DEFAULT_PROGRAMMER; } default_serial { yylval=NULL; return K_DEFAULT_SERIAL; } default_spi { yylval=NULL; return K_DEFAULT_SPI; } default_linuxgpio { yylval=NULL; return K_DEFAULT_LINUXGPIO; } -devicecode { yylval=NULL; ccap(); return K_DEVICECODE; } eeprom { yylval=NULL; return K_EEPROM; } eeprom_instr { yylval=NULL; ccap(); return K_EEPROM_INSTR; } enablepageprogramming { yylval=NULL; ccap(); return K_ENABLEPAGEPROGRAMMING; } errled { yylval=NULL; ccap(); return K_ERRLED; } flash { yylval=NULL; return K_FLASH; } flash_instr { yylval=NULL; ccap(); return K_FLASH_INSTR; } -has_debugwire { yylval=NULL; ccap(); return K_HAS_DW; } -has_jtag { yylval=NULL; ccap(); return K_HAS_JTAG; } -has_pdi { yylval=NULL; ccap(); return K_HAS_PDI; } -has_tpi { yylval=NULL; ccap(); return K_HAS_TPI; } -has_updi { yylval=NULL; ccap(); return K_HAS_UPDI; } hvsp_controlstack { yylval=NULL; ccap(); return K_HVSP_CONTROLSTACK; } hvupdi_support { yylval=NULL; ccap(); return K_HVUPDI_SUPPORT; } id { yylval=NULL; ccap(); return K_ID; } io { yylval=new_token(K_IO); return K_IO; } is_at90s1200 { yylval=NULL; ccap(); return K_IS_AT90S1200; } -is_avr32 { yylval=NULL; ccap(); return K_IS_AVR32; } linuxgpio { yylval=NULL; ccap(); return K_LINUXGPIO; } load_ext_addr { yylval=new_token(K_LOAD_EXT_ADDR); ccap(); return K_LOAD_EXT_ADDR; } loadpage_hi { yylval=new_token(K_LOADPAGE_HI); ccap(); return K_LOADPAGE_HI; } loadpage_lo { yylval=new_token(K_LOADPAGE_LO); ccap(); return K_LOADPAGE_LO; } memory { yylval=NULL; ccap(); current_strct = COMP_AVRMEM; return K_MEMORY; } -miso { yylval=NULL; ccap(); yywarning("miso is deprecated, will be removed in v8.0, use sdi"); return K_SDI; } -mosi { yylval=NULL; ccap(); yywarning("mosi is deprecated, will be removed in v8.0, use sdo"); return K_SDO; } NULL { yylval=NULL; return K_NULL; } page_size { yylval=NULL; ccap(); return K_PAGE_SIZE; } parallel { yylval=NULL; ccap(); return K_PARALLEL; } @@ -223,6 +214,8 @@ parent { yylval=NULL; return K_PARENT; } part { yylval=NULL; ccap(); current_strct = COMP_AVRPART; return K_PART; } pgm_enable { yylval=new_token(K_PGM_ENABLE); ccap(); return K_PGM_ENABLE; } pgmled { yylval=NULL; ccap(); return K_PGMLED; } +pico { yylval=NULL; ccap(); return K_SDO; } +poci { yylval=NULL; ccap(); return K_SDI; } pp_controlstack { yylval=NULL; ccap(); return K_PP_CONTROLSTACK; } (programmer|serialadapter) { yylval=NULL; ccap(); current_strct = COMP_PROGRAMMER; cx->lex_kw_is_programmer = *yytext == 'p'; return K_PROGRAMMER; } diff --git a/src/main.c b/src/main.c index ac369dd0b..a43a3aa30 100644 --- a/src/main.c +++ b/src/main.c @@ -774,7 +774,7 @@ int main(int argc, char * argv []) /* * process command line arguments */ - while ((ch = getopt(argc, argv, "?Ab:B:c:C:DeE:Fi:l:nNp:OP:qrstT:U:uvVx:yY")) != -1) { + while ((ch = getopt(argc, argv, "?Ab:B:c:C:DeE:Fi:l:nNp:OP:qrtT:U:vVx:")) != -1) { switch (ch) { case 'b': /* override default programmer baud rate */ @@ -891,11 +891,6 @@ int main(int argc, char * argv []) ladd(updates, cmd_update("interactive terminal")); break; - case 's': - case 'u': - pmsg_error("\"safemode\" feature no longer supported\n"); - break; - case 'T': ladd(updates, cmd_update(optarg)); break; @@ -921,11 +916,6 @@ int main(int argc, char * argv []) ladd(extended_params, optarg); break; - case 'y': - case 'Y': - pmsg_error("erase cycle counter no longer supported\n"); - break; - case '?': /* help */ usage(); exit(0); diff --git a/src/usbasp.c b/src/usbasp.c index 3966a3749..b7005cd89 100644 --- a/src/usbasp.c +++ b/src/usbasp.c @@ -610,19 +610,7 @@ static int usbasp_open(PROGRAMMER *pgm, const char *port) { } vid = pgm->usbvid? pgm->usbvid: USBASP_SHARED_VID; if(usbOpenDevice(pgm, &PDATA(pgm)->usbhandle, vid, pgm->usbvendor, pid, pgm->usbproduct, port) != 0) { - /* try alternatives */ if(str_eq(pgmid, "usbasp")) { - /* for id usbasp autodetect some variants */ - if(str_caseeq(port, "nibobee")) { - pmsg_error("using -C usbasp -P nibobee is deprecated, use -C nibobee instead\n"); - if(usbOpenDevice(pgm, &PDATA(pgm)->usbhandle, USBASP_NIBOBEE_VID, "www.nicai-systems.com", - USBASP_NIBOBEE_PID, "NIBObee", port) != 0) { - pmsg_error("cannot find USB device NIBObee with vid=0x%x pid=0x%x\n", - USBASP_NIBOBEE_VID, USBASP_NIBOBEE_PID); - return -1; - } - return 0; - } /* check if device with old VID/PID is available */ if(usbOpenDevice(pgm, &PDATA(pgm)->usbhandle, USBASP_OLD_VID, "www.fischl.de", USBASP_OLD_PID, "USBasp", port) == 0) { From fc0169f6767c24937ad5932639f36bbe2a13a796 Mon Sep 17 00:00:00 2001 From: Stefan Rueger Date: Thu, 8 Aug 2024 19:29:52 +0100 Subject: [PATCH 38/49] Add more hard-coded usbvid/pid to udev rules --- src/developer_opts.c | 26 +++++++++++++++++++++++--- src/jtag3.c | 3 ++- src/usbasp.c | 1 + 3 files changed, 26 insertions(+), 4 deletions(-) diff --git a/src/developer_opts.c b/src/developer_opts.c index c105a7b35..68046378c 100644 --- a/src/developer_opts.c +++ b/src/developer_opts.c @@ -1577,14 +1577,34 @@ void dev_output_pgm_defs(char *pgmidcp) { } } - for(LNODEID pidn=lfirst(pgm->usbpid); pidn; pidn=lnext(pidn)) - udr = add_udev(udr, &ui, usbvid, *(int *) ldata(pidn), ishid, ids); + for(LNODEID pidn=lfirst(pgm->usbpid); pidn; pidn=lnext(pidn)) { + int pid = *(int *) ldata(pidn); + udr = add_udev(udr, &ui, usbvid, pid, ishid, ids); + + // Piggy back PIC Snap devices that can be switched to AVR mode + if(usbvid == USB_VENDOR_ATMEL && pid >= 0x217f && pid <= 0x2181) { + udr = add_udev(udr, &ui, USB_VENDOR_MICROCHIP, USB_DEVICE_SNAP_PIC_MODE, ishid, ids); + udr = add_udev(udr, &ui, USB_VENDOR_MICROCHIP, USB_DEVICE_SNAP_PIC_MODE_BL, ishid, ids); + } + // Piggy back PIC pickit4 devices that can be switched to AVR ones + if(usbvid == USB_VENDOR_ATMEL && pid >= 0x2177 && pid <= 0x2179) { + udr = add_udev(udr, &ui, USB_VENDOR_MICROCHIP, USB_DEVICE_PICKIT4_PIC_MODE, ishid, ids); + udr = add_udev(udr, &ui, USB_VENDOR_MICROCHIP, USB_DEVICE_PICKIT4_PIC_MODE_BL, ishid, ids); + } + // Piggy back old usbasp when new one is seen + if(usbvid == USBASP_SHARED_VID && pid == USBASP_SHARED_PID) + udr = add_udev(udr, &ui, USBASP_OLD_VID, USBASP_OLD_PID, ishid, ids); + } } if(raw) dev_pgm_raw(pgm); } + int reboot = 0; + for(Dev_udev *u = udr; !reboot && u-udr < ui; u++) + reboot |= u->ishid; + if(udev && ui) { int all = str_eq(pgmidcp, "*"); const char *var = all? "": str_asciiname((char *) str_ccprintf("-%s", pgmidcp)); @@ -1592,7 +1612,7 @@ void dev_output_pgm_defs(char *pgmidcp) { dev_info("%s -c \"%s/u\" | tail -n +%d | sudo tee /etc/udev/rules.d/55-%s%s.rules\n", progname, pgmidcp, all? 9: 11, progname, var); dev_info("sudo chmod 0644 /etc/udev/rules.d/55-%s%s.rules\n\n", progname, var); - dev_info("2. Unplug any AVRDUDE USB programmers and plug them in again\n"); + dev_info("2. %s\n", reboot? "Reboot your computer": "Unplug any AVRDUDE USB programmers and plug them in again"); dev_info("3. Enjoy user access to the USB programmer(s)\n\n"); if(!all) dev_info("Note: To install all udev rules known to AVRDUDE follow: %s -c \"*/u\" | more\n\n", diff --git a/src/jtag3.c b/src/jtag3.c index 78f220e6b..cce3e4d5a 100644 --- a/src/jtag3.c +++ b/src/jtag3.c @@ -1743,6 +1743,7 @@ int jtag3_open_common(PROGRAMMER *pgm, const char *port, int mode_switch) { } if(pic_mode >= 0) { msg_error("\n"); + cx->usb_access_error = 0; pmsg_error("%s in %s mode detected\n", pgmstr, pinfo.usbinfo.pid == bl_pid? "bootloader": "PIC"); if(mode_switch == PK4_SNAP_MODE_AVR) { @@ -1757,7 +1758,7 @@ int jtag3_open_common(PROGRAMMER *pgm, const char *port, int mode_switch) { imsg_error("run %s again to continue the session\n\n", progname); } else { pmsg_error("to switch into AVR mode try\n"); - imsg_error("$ %s -c%s -p%s -P%s -x mode=avr\n", progname, pgmid, partdesc, port); + imsg_error("$ %s -c %s -p %s -P %s -x mode=avr\n", progname, pgmid, partdesc, port); } serial_close(&pgm->fd); return LIBAVRDUDE_EXIT;; diff --git a/src/usbasp.c b/src/usbasp.c index 3966a3749..ba0b8a13a 100644 --- a/src/usbasp.c +++ b/src/usbasp.c @@ -626,6 +626,7 @@ static int usbasp_open(PROGRAMMER *pgm, const char *port) { /* check if device with old VID/PID is available */ if(usbOpenDevice(pgm, &PDATA(pgm)->usbhandle, USBASP_OLD_VID, "www.fischl.de", USBASP_OLD_PID, "USBasp", port) == 0) { + cx->usb_access_error = 0; /* found USBasp with old IDs */ pmsg_error("found USB device USBasp with old VID/PID; please update firmware of USBasp\n"); return 0; From c00321dd5293f250f9e217bbc1acb1060af4d600 Mon Sep 17 00:00:00 2001 From: Stefan Rueger Date: Fri, 9 Aug 2024 02:32:34 +0100 Subject: [PATCH 39/49] Exclude jtag3 classic jtag prodsig memories --- src/avr.c | 12 ++++++++++-- src/libavrdude.h | 36 ++++++++++++++++++++++++++++++++++++ 2 files changed, 46 insertions(+), 2 deletions(-) diff --git a/src/avr.c b/src/avr.c index 619dc0dac..0d8e82772 100644 --- a/src/avr.c +++ b/src/avr.c @@ -1599,10 +1599,18 @@ Memtable avr_mem_order[100] = { {"sib", MEM_SIB | MEM_READONLY}, }; +#include "dryrun.h" +#include "jtag3.h" +#define is_type(pgm, what) ((pgm)->initpgm == what ## _initpgm) + // Whether a memory is an exception that shouldn't be there for this particular i/face int avr_mem_exclude(const PROGRAMMER *pgm, const AVRPART *p, const AVRMEM *mem) { - return // Classic part usersig memories cannot be read/written using ISP - mem_is_usersig(mem) && (p->prog_modes&PM_Classic) && (pgm->prog_modes&p->prog_modes&PM_ISP); + return + is_type(pgm, dryrun)? 0: // Never exclude dryrun memories + // jtag3 cannot read beyond addr 6 on classic prodsig, so excluse memories in prodsig/sigrow + (is_type(pgm, jtag3) && mem_is_in_sigrow(mem) && is_classic(p) && both_jtag(pgm, p)) || + // Classic part usersig memories cannot be read/written using ISP + (mem_is_usersig(mem) && is_classic(p) && both_isp(pgm, p)); } int avr_get_mem_type(const char *str) { diff --git a/src/libavrdude.h b/src/libavrdude.h index 8182c6dae..9b3ec5930 100644 --- a/src/libavrdude.h +++ b/src/libavrdude.h @@ -233,6 +233,42 @@ typedef struct opcode { #define PM_Classic (PM_TPI | PM_ISP | PM_HVSP | PM_HVPP | PM_debugWIRE | PM_JTAG | PM_JTAGmkI) #define PM_ALL 0x1fff // All programming interfaces +// Shortcut test for programmers and parts +#define is_spm(x) (!!((x)->prog_modes & PM_SPM)) +#define is_tpi(x) (!!((x)->prog_modes & PM_TPI)) +#define is_isp(x) (!!((x)->prog_modes & PM_ISP)) +#define is_pdi(x) (!!((x)->prog_modes & PM_PDI)) +#define is_updi(x) (!!((x)->prog_modes & PM_UPDI)) +#define is_hvsp(x) (!!((x)->prog_modes & PM_HVSP)) +#define is_hvpp(x) (!!((x)->prog_modes & PM_HVPP)) +#define is_debugwire(x) (!!((x)->prog_modes & PM_debugWIRE)) +#define is_jtag(x) (!!((x)->prog_modes & PM_JTAG)) +#define is_jtagmki(x) (!!((x)->prog_modes & PM_JTAGmkI)) +#define is_xmegajtag(x) (!!((x)->prog_modes & PM_XMEGAJTAG)) +#define is_avr32jtag(x) (!!((x)->prog_modes & PM_AVR32JTAG)) +#define is_awire(x) (!!((x)->prog_modes & PM_aWire)) +#define is_classic(x) (!!((x)->prog_modes & PM_Classic)) + +// Set of overlapping programming modes of programmer and part +#define joint_pm(pgm, p) ((pgm)->prog_modes & (p)->prog_modes) + +// Shortcut test whether both programmer and part have that programming mode +#define both_spm(pgm, p) (!!(joint_pm(pgm, p) & PM_SPM)) +#define both_tpi(pgm, p) (!!(joint_pm(pgm, p) & PM_TPI)) +#define both_isp(pgm, p) (!!(joint_pm(pgm, p) & PM_ISP)) +#define both_pdi(pgm, p) (!!(joint_pm(pgm, p) & PM_PDI)) +#define both_updi(pgm, p) (!!(joint_pm(pgm, p) & PM_UPDI)) +#define both_hvsp(pgm, p) (!!(joint_pm(pgm, p) & PM_HVSP)) +#define both_hvpp(pgm, p) (!!(joint_pm(pgm, p) & PM_HVPP)) +#define both_debugwire(pgm, p) (!!(joint_pm(pgm, p) & PM_debugWIRE)) +#define both_jtag(pgm, p) (!!(joint_pm(pgm, p) & PM_JTAG)) +#define both_jtagmki(pgm, p) (!!(joint_pm(pgm, p) & PM_JTAGmkI)) +#define both_xmegajtag(pgm, p) (!!(joint_pm(pgm, p) & PM_XMEGAJTAG)) +#define both_avr32jtag(pgm, p) (!!(joint_pm(pgm, p) & PM_AVR32JTAG)) +#define both_awire(pgm, p) (!!(joint_pm(pgm, p) & PM_aWire)) +#define both_classic(pgm, p) (!!(joint_pm(pgm, p) & PM_Classic)) + + #define HV_UPDI_VARIANT_0 0 /* Shared UPDI/GPIO/RESET pin, HV on UPDI pin (tinyAVR0/1/2)*/ #define HV_UPDI_VARIANT_1 1 /* Dedicated UPDI pin, no HV (megaAVR0/AVR-Dx) */ #define HV_UPDI_VARIANT_2 2 /* Shared UPDI pin, HV on _RESET (AVR-DD/AVR-Ex) */ From a2c5b02c5d535e2dcf6be8c1c225352c595bc4d9 Mon Sep 17 00:00:00 2001 From: Stefan Rueger Date: Fri, 9 Aug 2024 03:01:49 +0100 Subject: [PATCH 40/49] Fix prodsig memories for jtag3/pdi/classic --- src/jtag3.c | 38 +++++++++++++++++++++++++++----------- 1 file changed, 27 insertions(+), 11 deletions(-) diff --git a/src/jtag3.c b/src/jtag3.c index 78f220e6b..86c8908b1 100644 --- a/src/jtag3.c +++ b/src/jtag3.c @@ -46,14 +46,14 @@ * * * Limitations - * + * * - jtag3_page_erase() does not work in the bootrow section of the * AVR-DU series, ie, can only be written correctly once unless the * chip-erase command is performed. Confirmed: bootrow page-erase fails * for Curiosity Nano AVR32DU32 ICE-FW(nEDBG) <= 1.31 (rel 39) * * - Trace output -vvvv is not complete and would benefit from enhancing - * + * * - High-Voltage Programming on TPI parts not implemented * * - Procedures to change the behaviour of the "Target-RESET pin" are unknown or not implemented @@ -1683,8 +1683,11 @@ int jtag3_open_common(PROGRAMMER *pgm, const char *port, int mode_switch) { } // If the config entry did not specify a USB PID, insert the default one. - if (lfirst(pgm->usbpid) == NULL) - ladd(pgm->usbpid, (void *)USB_DEVICE_JTAGICE3); + if (lfirst(pgm->usbpid) == NULL) { + int *pidp = mmt_malloc(sizeof*pidp); + *pidp = USB_DEVICE_JTAGICE3; + ladd(pgm->usbpid, pidp); + } pinfo.usbinfo.vid = pgm->usbvid? pgm->usbvid: USB_VENDOR_ATMEL; @@ -2250,10 +2253,14 @@ static int jtag3_read_byte(const PROGRAMMER *pgm, const AVRPART *p, const AVRMEM return -1; } } else if(mem_is_in_sigrow(mem)) { // sigrow sub-memories but not signature nor sigrow itself - cmd[3] = (p->prog_modes & PM_UPDI)? MTYPE_SIGN_JTAG: MTYPE_PRODSIG; - AVRMEM *sigrow = avr_locate_sigrow(p); - if(sigrow) - addr += mem->offset - sigrow->offset; // Adjust offset for parent memory + if (p->prog_modes & (PM_PDI | PM_UPDI)) { + cmd[3] = MTYPE_PRODSIG; + } else { + cmd[3] = addr&1? MTYPE_OSCCAL_BYTE: MTYPE_SIGN_JTAG; + addr /= 2; + if (pgm->flag & PGM_FL_IS_DW) + unsupp = 1; + } } else { pmsg_error("unknown memory %s\n", mem->desc); return -1; @@ -2827,22 +2834,31 @@ static unsigned char jtag3_mtype(const PROGRAMMER *pgm, const AVRPART *p, unsign } static unsigned int jtag3_memaddr(const PROGRAMMER *pgm, const AVRPART *p, const AVRMEM *m, unsigned long addr) { - if (p->prog_modes & PM_PDI) { + if(is_pdi(p)) { // Xmega /* * All memories but "flash" are smaller than boot_start anyway, so * no need for an extra check we are operating on "flash" */ if(addr >= PDATA(pgm)->boot_start) addr -= PDATA(pgm)->boot_start; - } else if(p->prog_modes & PM_UPDI) { // Modern AVR8X part + if(mem_is_in_sigrow(m)) { + AVRMEM *sigrow = avr_locate_sigrow(p); + if(sigrow) + addr += m->offset - sigrow->offset; + } + } else if(is_updi(p)) { // Modern AVR8X part if(!mem_is_flash(m)) if(m->size >= 1) addr += m->offset; } else { // Classic part if(mem_is_userrow(m)) addr += m->offset; + else if(mem_is_in_sigrow(m)) { + AVRMEM *sigrow = avr_locate_sigrow(p); + if(sigrow) + addr += m->offset - sigrow->offset; + } } - return addr; } From f1df22890212b52ddf7d23ace3a50120599a8dfe Mon Sep 17 00:00:00 2001 From: Stefan Rueger Date: Fri, 9 Aug 2024 14:33:11 +0100 Subject: [PATCH 41/49] Add bash script tools/test8 for release v8.0 testing --- src/avrdude.conf.in | 4 +-- tools/test8 | 79 +++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 81 insertions(+), 2 deletions(-) create mode 100755 tools/test8 diff --git a/src/avrdude.conf.in b/src/avrdude.conf.in index 960d0ed67..0332d15bd 100644 --- a/src/avrdude.conf.in +++ b/src/avrdude.conf.in @@ -2983,7 +2983,7 @@ programmer # powerdebugger_tpi # 4 TDO DATA UPDI SDI # 5 TCK SCK # 6 RST SCK dW RST -# 7 TDI SDI TX (target) +# 7 TDI SDO TX (target) # 8 TMS RX (target) # # * The PICkit4 can also be used as a USB to UART @@ -3094,7 +3094,7 @@ programmer # pickit4_tpi # 4 TDO DATA UPDI SDI # 5 TCK SCK # 6 RST SCK dW RST -# 7 TDI SDI TX (target) +# 7 TDI SDO TX (target) # 8 TMS RX (target) # # * The MPLAB SNAP can also be used as a USB to UART diff --git a/tools/test8 b/tools/test8 new file mode 100755 index 000000000..5725ae36f --- /dev/null +++ b/tools/test8 @@ -0,0 +1,79 @@ +#!/usr/bin/env bash + +# Published under GNU General Public License, version 3 (GPL-3.0) +# Author Stefan Rueger, 2024 + +progname=$(basename "$0") +init=-1 +rand=-1 + +Usage() { +cat <] +Function: test AVRDUDE for v 8.0 release with -c programmer -p part; + also leaves a file bak-- use avrdude -c dryrun -xinit= to initialiase part and exit + -r use avrdude -c dryrun -xrandom= to initialiase part and exit + +Examples: + - Prepare a part with non-trivial random content + $ test8 -r1 usbasp t13a + + - Then test ... + $ test8 avrisp2 t13a + $ test8 snap_isp t13a +END +} + +while getopts ":i:r:" opt; do + case ${opt} in + i) init=0; [[ ! -z "$OPTARG" ]] && init="$OPTARG" + ;; + r) rand=0; [[ ! -z "$OPTARG" ]] && rand="$OPTARG" + ;; + --) shift; + break + ;; + \?) echo "$progname: invalid option -$OPTARG" 1>&2 + Usage; exit 1 + ;; + : ) echo "$progname: invalid option -$OPTARG requires an argument" 1>&2 + Usage; exit 1 + ;; + esac +done +shift $((OPTIND -1)) + + +if [ $# -ne 2 ]; then + why=missing; [ $# -gt 2 ] && why="too many" + echo $progname: $why arguments + Usage + exit 1 +fi + +###### +# Generated backup file + +f="bak-$1-$2.hex:I" + +###### +# Initialise and exit if requested by -i or -r + +if [[ $init -gt -1 || $rand -gt -1 ]]; then + how="init=$init"; [ $rand -gt -1 ] && how="random=$rand" + avrdude -qqc dryrun -p $2 -U ALL:r:$f -x $how + avrdude -c $1 -p $2 -U ALL:w:$f + echo $progname: $2 initialsed + exit 0 +fi + +###### +# Actual test + +if ! avrdude -c $1 -p $2 -D -UALL:r:$f -T "fact reset" -UALL:w:$f -UALL:v:$f; then + echo ------------------------------- + echo Re-running to create error logs + avrdude -vvv -c $1 -p $2 -D -UALL:r:$f -T "fact reset" -UALL:w:$f -UALL:v:$f -llog-$1-$2.txt +fi From 08aaf6e3610355638565c05351cfba9101e67789 Mon Sep 17 00:00:00 2001 From: Stefan Rueger Date: Fri, 9 Aug 2024 16:43:02 +0100 Subject: [PATCH 42/49] Add programmer type to -c*/d output --- src/developer_opts.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/developer_opts.c b/src/developer_opts.c index c105a7b35..6454560b8 100644 --- a/src/developer_opts.c +++ b/src/developer_opts.c @@ -1551,9 +1551,10 @@ void dev_output_pgm_defs(char *pgmidcp) { for(LNODEID idn=lfirst(pgm->id); idn; idn=lnext(idn)) { char *id = ldata(idn); int len = 19-strlen(id); - dev_info("%s '%s' =>%*s ['%s', '%s'], # %s %d\n", + dev_info("%s '%s' =>%*s ['%s', '%s', '%s'], # %s %d\n", tsv? ".desc": " ", id, len > 0? len: 0, "", + locate_programmer_type_id(pgm->initpgm), dev_prog_modes(pgm->prog_modes), pgm->desc, pgm->config_file, pgm->lineno From f2be9b030c2d87e2adbbfc1bc9f739eb7194d309 Mon Sep 17 00:00:00 2001 From: Stefan Rueger Date: Fri, 9 Aug 2024 17:11:34 +0100 Subject: [PATCH 43/49] Consider bootrow for jtagmkII and PDI/calibration --- src/jtagmkII.c | 28 +++++++++++++++++----------- 1 file changed, 17 insertions(+), 11 deletions(-) diff --git a/src/jtagmkII.c b/src/jtagmkII.c index 46c1dc99a..dd71dbc04 100644 --- a/src/jtagmkII.c +++ b/src/jtagmkII.c @@ -1812,7 +1812,7 @@ static int jtagmkII_page_erase(const PROGRAMMER *pgm, const AVRPART *p, const AV cmd[1] = XMEGA_ERASE_BOOT_PAGE; } else if (mem_is_eeprom(m)) { cmd[1] = XMEGA_ERASE_EEPROM_PAGE; - } else if (mem_is_userrow(m)) { + } else if (mem_is_userrow(m) || mem_is_bootrow(m)) { cmd[1] = XMEGA_ERASE_USERSIG; } else if (mem_is_boot(m)) { cmd[1] = XMEGA_ERASE_BOOT_PAGE; @@ -1909,7 +1909,7 @@ static int jtagmkII_paged_write(const PROGRAMMER *pgm, const AVRPART *p, const A } cmd[1] = p->prog_modes & (PM_PDI | PM_UPDI)? MTYPE_EEPROM_XMEGA: MTYPE_EEPROM_PAGE; PDATA(pgm)->eeprom_pageaddr = (unsigned long)-1L; - } else if (mem_is_userrow(m)) { + } else if (mem_is_userrow(m) || mem_is_bootrow(m)) { cmd[1] = MTYPE_USERSIG; } else if (mem_is_boot(m)) { cmd[1] = MTYPE_BOOT_FLASH; @@ -2012,7 +2012,7 @@ static int jtagmkII_paged_load(const PROGRAMMER *pgm, const AVRPART *p, const AV return -1; } else if (mem_is_sigrow(m)) { cmd[1] = MTYPE_PRODSIG; - } else if (mem_is_userrow(m)) { + } else if (mem_is_userrow(m) || mem_is_bootrow(m)) { cmd[1] = MTYPE_USERSIG; } else if (mem_is_boot(m)) { cmd[1] = MTYPE_BOOT_FLASH; @@ -2139,7 +2139,7 @@ static int jtagmkII_read_byte(const PROGRAMMER *pgm, const AVRPART *p, const AVR cmd[1] = MTYPE_LOCK_BITS; if (pgm->flag & PGM_FL_IS_DW) unsupp = 1; - } else if (mem_is_userrow(mem)) { + } else if (mem_is_userrow(mem) || mem_is_bootrow(mem)) { cmd[1] = MTYPE_USERSIG; } else if (mem_is_sigrow(mem)) { if (p->prog_modes & (PM_PDI | PM_UPDI)) { @@ -2148,8 +2148,10 @@ static int jtagmkII_read_byte(const PROGRAMMER *pgm, const AVRPART *p, const AVR } else { cmd[1] = addr&1? MTYPE_OSCCAL_BYTE: MTYPE_SIGN_JTAG; addr /= 2; + if (pgm->flag & PGM_FL_IS_DW) + unsupp = 1; } - } else if (mem_is_calibration(mem)) { + } else if(is_classic(p) && mem_is_calibration(mem)) { cmd[1] = MTYPE_OSCCAL_BYTE; if (pgm->flag & PGM_FL_IS_DW) unsupp = 1; @@ -2182,12 +2184,16 @@ static int jtagmkII_read_byte(const PROGRAMMER *pgm, const AVRPART *p, const AVR } return 0; } - } else if ((p->prog_modes & (PM_PDI | PM_UPDI)) && mem_is_in_sigrow(mem)) { - cmd[1] = MTYPE_PRODSIG; + } else if (mem_is_in_sigrow(mem)) { pmsg_notice2("in_sigrow addr 0x%05lx\n", addr); - } else if (mem_is_in_sigrow(mem)) { // Classic part - cmd[1] = addr&1? MTYPE_OSCCAL_BYTE: MTYPE_SIGN_JTAG; - addr /= 2; + if (p->prog_modes & (PM_PDI | PM_UPDI)) { + cmd[1] = MTYPE_PRODSIG; + } else { + cmd[1] = addr&1? MTYPE_OSCCAL_BYTE: MTYPE_SIGN_JTAG; + addr /= 2; + if (pgm->flag & PGM_FL_IS_DW) + unsupp = 1; + } } else if (mem_is_io(mem) || mem_is_sram(mem)) { cmd[1] = MTYPE_FLASH; addr += avr_data_offset(p); @@ -2307,7 +2313,7 @@ static int jtagmkII_write_byte(const PROGRAMMER *pgm, const AVRPART *p, const AV addr = mem_fuse_offset(mem); if (pgm->flag & PGM_FL_IS_DW) unsupp = 1; - } else if (mem_is_userrow(mem)) { + } else if (mem_is_userrow(mem) || mem_is_bootrow(mem)) { cmd[1] = MTYPE_USERSIG; } else if (mem_is_lock(mem)) { cmd[1] = MTYPE_LOCK_BITS; From 78f0594971b8e58488d05f148ae4d96303ef6a3a Mon Sep 17 00:00:00 2001 From: Stefan Rueger Date: Fri, 9 Aug 2024 18:13:15 +0100 Subject: [PATCH 44/49] Update scope of jtag3.c --- src/jtag3.c | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/src/jtag3.c b/src/jtag3.c index 86c8908b1..4d2e3654d 100644 --- a/src/jtag3.c +++ b/src/jtag3.c @@ -25,16 +25,16 @@ * Scope * * Code in this file serves the following programmers - * $ avrdude -c "*"/At | grep type..jtagice3 | cut -f2 + * $ avrdude -c "*"/d | grep "'jtagice3" | cut -f2 -d\' * * These are * - jtag3, jtag3pdi, jtag3updi, jtag3dw, jtag3isp - * - xplainedpro, xplainedpro_pdi, xplainedpro_updi - * - xplainedmini, xplainedmini_dw, xplainedmini_updi, xplainedmini_tpi - * - atmelice, atmelice_pdi, atmelice_updi, atmelice_dw, atmelice_isp, atmelice_tpi - * - powerdebugger, powerdebugger_pdi, powerdebugger_updi, powerdebugger_dw, powerdebugger_isp, powerdebugger_tpi - * - pickit4, pickit4_updi, pickit4_pdi, pickit4_isp, pickit4_tpi - * - snap, snap_updi, snap_pdi, snap_isp, snap_tpi + * - xplainedpro = xplainedpro_jtag, xplainedpro_pdi, xplainedpro_updi + * - xplainedmini = xplainedmini_isp, xplainedmini_dw, xplainedmini_updi, xplainedmini_tpi + * - atmelice = atmelice_jtag, atmelice_pdi, atmelice_updi, atmelice_dw, atmelice_isp, atmelice_tpi + * - powerdebugger = powerdebugger_jtag, powerdebugger_pdi, powerdebugger_updi, powerdebugger_dw, powerdebugger_isp, powerdebugger_tpi + * - pickit4 = pickit4_jtag, pickit4_updi, pickit4_pdi, pickit4_isp, pickit4_tpi + * - snap = snap_jtag, snap_updi, snap_pdi, snap_isp, snap_tpi * - pkobn_updi * * From 80cd5a97cea930c38df2c4a9435f6d90bfc7d8eb Mon Sep 17 00:00:00 2001 From: Stefan Rueger Date: Fri, 9 Aug 2024 18:13:28 +0100 Subject: [PATCH 45/49] Add scope of jtagmkII.c --- src/jtagmkII.c | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/src/jtagmkII.c b/src/jtagmkII.c index dd71dbc04..7b0609b28 100644 --- a/src/jtagmkII.c +++ b/src/jtagmkII.c @@ -25,7 +25,17 @@ * avrdude interface for Atmel JTAG ICE mkII programmer * * The AVR Dragon also uses the same protocol, so it is handled here - * as well. + * + * + * Scope + * + * Code in this file serves the following programmers + * $ avrdude -c "*"/d | grep -P "'(jtagmkii|dragon)" | cut -f2 -d\' + * + * - jtagmkII = jtag2slow, jtag2fast = jtag2, jtag2isp, jtag2dw, jtag2pdi, jtag2updi = nanoevery + * - jtagmkII_avr32 = jtag2avr32 + * - dragon_jtag, dragon_isp, dragon_pp, dragon_hvsp, dragon_dw, dragon_pdi + * */ #include From 2ae5f08c9b02db082508fb9292e323399fbe6938 Mon Sep 17 00:00:00 2001 From: Stefan Rueger Date: Fri, 9 Aug 2024 18:20:51 +0100 Subject: [PATCH 46/49] Exclude jtag2updi sib memory --- src/avr.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/avr.c b/src/avr.c index 0d8e82772..ea37638c3 100644 --- a/src/avr.c +++ b/src/avr.c @@ -1601,13 +1601,15 @@ Memtable avr_mem_order[100] = { #include "dryrun.h" #include "jtag3.h" +#include "jtagmkII.h" #define is_type(pgm, what) ((pgm)->initpgm == what ## _initpgm) // Whether a memory is an exception that shouldn't be there for this particular i/face int avr_mem_exclude(const PROGRAMMER *pgm, const AVRPART *p, const AVRMEM *mem) { return is_type(pgm, dryrun)? 0: // Never exclude dryrun memories - // jtag3 cannot read beyond addr 6 on classic prodsig, so excluse memories in prodsig/sigrow + (mem_is_sib(mem) && is_type(pgm, jtagmkII_updi)) || // jtag2updi cannot deal with sib + // jtag3 cannot read beyond addr 6 on classic prodsig, so exclude memories in prodsig/sigrow (is_type(pgm, jtag3) && mem_is_in_sigrow(mem) && is_classic(p) && both_jtag(pgm, p)) || // Classic part usersig memories cannot be read/written using ISP (mem_is_usersig(mem) && is_classic(p) && both_isp(pgm, p)); From c833d9fae0f32cc538259f0fccb3cac5b5e96dc4 Mon Sep 17 00:00:00 2001 From: Stefan Rueger Date: Fri, 9 Aug 2024 18:34:46 +0100 Subject: [PATCH 47/49] Update NEWS/docu --- NEWS | 2 ++ avrdude.pdf | Bin 441942 -> 441845 bytes 2 files changed, 2 insertions(+) diff --git a/NEWS b/NEWS index 5d48f27aa..130a0017e 100644 --- a/NEWS +++ b/NEWS @@ -140,6 +140,8 @@ Changes since version 7.3: - doc: Stop building and installing .ps and .dvi #1857 - Improve autotools build (part 2/n) #1695 - Use correct file locations in the documentation #1637 + - Deprecate obsolete features and options #1875 + - Add more hard-coded usbvid/pid to udev rules #1876 * Internals: diff --git a/avrdude.pdf b/avrdude.pdf index e1f26e764516bea83b0f687d296f3375916590cd..9ecebf5384fe119a880b11e562fd95f933c6b6f6 100644 GIT binary patch delta 38168 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

  • cccvbXXSeNMr~ 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 SK+R1rE-6FL%d2S!r~eN&!KZ`( delta 38317 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�*r+Dhpj*iP)EcJ)L%qlg7V^cq5e_ruXge+2MWORKiFku$iM?QK|4i@ zh#ARLfAKV4N00QES^uC2)5U}IKT@fU|Ks4lSQsF=B_!AkwL)-gki*sx41f#7b{GKj z4{eyBfeSzW41%gwgE+e;eQb^+c-1{*&?b073sJ*O>qcp#RPBZz87FfOcpA-(LvR zAoH@qvnX0RS$o)!vT?Fzm}UX!fKyp&Dug_!qrV?Dp4b9b?^pI34U1%z)T?A`G12H- zN_}`uuvB-jH<^+GUq7saqqY^A&WVJGO#+1dtO7YeAdv8kSw;<|ouK6BGapvP`D%+Sa;|=3drHU(Qm~=jSO-?hqDT`K64X9TfR^$DLh+Iy( zDRGb31q;#nhQr!<@HwkhK!ST?ZQyelo+qS()g~&Dd7S!QCPNJLDLQCTJ0v{q&UK(CP}fqHWI_gYvj0i zraO=(($FqTD%YwFtmt1@!D`@9!oXOYsCZkD#6xvVoY_Q^Rw(#ZfNI0U>!H~pNMxjK znT^s54qmc_rUH~Q7DZ(`viplp7)^_KveTJX{!H5O;@NO&HJKF9vWgL^Vh(I36h^aX ziZ?L{2B_Ljl(nJ^(5F?17cT9vA+^lOxQjBYvQ6r2{&aAB(Q#>Un~;x^vApc+JYV9` zmSjpOpr=XWPJhJ#fNq%-OE#3aa^IbUs4%LUAJXh;Jy^^hx z8&Q5*pk?OH$ziolLZ?yF)3%2vkB6#P3*;I#kK@Tp2`Ds#bE%Pb)6L0@&?lb5K9sNb z`L-WVcPtPBiJ$6Q(v3p*w6h8x1<7HSEOARmxPUnd6x zlkUz=-biE#fVtOOoV{1w-OrD^C08tg4%ugCXD_>dDmtA|&V1H+L@G2ceROREh|}i= z1-TR`9m2`hlF5{;#%9ii6AXSy@uV@o97$&=bns>|3vqN{!guVC&RV`U1Pb<#)+ume5A8ETO)FDIQc4dbz^1e7_Xl9Yh2^jQ@SWQ(@x<{QoEKL zLPFee?Lcn% zzWgrHo<^fkGiCImpkzs>f7>jt%df_%RxoL#S$H17c#PHgC#OAZO5` zqqZ63P-!uSf%nHTFa=HCx441W@TOs2BCOJ59oSp6a)?f=3@x7nu_pVYf)>Zumm?y< z`R5N6nak+o9@+Wvib~0}@rs-E3iG8J515y>AC2mJ6_V2$-}2stn?O0@TVvg4F>TaB z{J9fXZN_m1S%Xe)$elj|NR4wZj@d3GNmXXRWaSH8W$4Z|0L^LNF%O#@o&?i^FT8Lk zgn?o277;D4N%sW{1`lL}G!Ty0aTfHdKG)L}C|f#Uj!)a~foF}u#j5!OcVik)S`|(2 zD{^{d17q-HA7n`m<>IN4TY|U0{IDdR0^K=JOy2CLzJ17gKZbwoPr9{90I6w=Cb=3B z>lKlm4IZ)XqxB|Xr2eGn(FoB>-^8mte?oyVy(5oj+~@)@GQLs$g$R}hfDsbF*(UA{ zfQI~!Fl`3@fJW&5aey=w(ES%}e=ECi8(}mc90r_=^*_$FwIu;kVgJFW2&2t73y_HT zKU?rJzzod47Ori-7C?aTe~fFxXa_jK|Dz99Tlye?3gIt({;{uZW*ShB@E_~ilGgy> z|ASpy`92^D{IBWF=U-Y$9s!ad{{auP?f48Z0{PeUKYj2TPzCuva0T51a-jZ~F!L*5 z0208{_IJqP|5=?uf^$LtmHq~Ng8$DEI4^6)?DSt4wdgsjtjnT)OxH(w7!yYS*t*x> za1&B1L{*kTgWHgE3@7x%s97^AxPbh1|M5EIYy5@|qn2Hz4#HEh%D49NvKlQ627LbN z zPMURyJ;6pys=&hpgOEDCGWX5aH8njUl48Ao&4X9`i?Yr$s%>DhW}l(H02QJ$K3g-C z#8N4et5|+QgNaZtP3}VSVYG2mOX)0CM%t|@aD-5fr4ZGPWt%_Qw6VEjdm@mGX@rf) zOvjIQ%Z-v6KhAT;l@S^;@t)0u&2vzcP+<_E0tJ=U1Vs~Z)2$??AO%x(ZDlE;_*w|E zzhCr~hq)LpbZ_)6N7bq|t~HAmG79WPFsmA|7Uvd&v-u=zNt@$j0OVwOoChPv ztRHJcgNDAn6XWZ2DzYD8zw&ZV($Q(%PO}hvsHxWOM76>jMeRt-D3q?E;{t zZq}w+y(#n!b5T(<>64M6G5(jn2lbnuTsuPhxl90PwwK)q& z1RV}O3Ww5Kjj5`liZrJ)q)V42BM;&sw!z_u!~!l@BI4UD{7^#XSH#C}bRo{`uJ3T} zWSjNvHY|sdmK!X~ZYtZU?cEV|K*gAVYziM@P#ur5^n zS(|HaO^X7cAj?g}ScSE$DKxp|RsLsaN;#>_g$8RfNwj`NQk_CR!$YSTNT8O&`-AZw zV-7f@F6u-e(gS`^B>ZJZ&2}K%k)>``;_KSmGlx@5v&NIpow6-OZhmJTFGxDEcg>UV zisy_m?lQ(ReYR_3aX|~5ZFXn+aH;EPqrz`-xHhT^#d}VDBj0L(q8I96&XmJ-^K1tp>OQ>>q*ruk{tpy(0do9T?ZAu!|qt& z$vpwY2NPqgYna=>;q-OP;d}y15xsk`qSkNB>5N>Ka+IxEL}Q{*xa0y(v#+@s5}!&C zX;wQB-<4RJYzCBV8q>q?U7^mr#E}b0@;ayCe%r7CLGJmzm_V?=U0US(A(@oMTVy4^<&BU6w3qH92dc8{gG`@ zaPR6h(hR-=3;`gbN#z_ z0qoXwbYAC1{m3`oaZU;Tf<+~t-f9|jw@W?T6 zQAH}viwJy((z7K0Xy@iqlC5D|1rgky)r*iL>BA%~SNGng2TyhHa5&ne6Ad>3nNbCY zW~RJO05u&?HyD?3DN=!HpkIH_q1vl-8W>42>WcXM?m}5=pKEz?m7bJCuVa~7`o{%- zxC1xAK}R=X$7k?sYz7TZ?0cu-`XwAX(`WcxN+fN#V^*C9Og@X!j%)~g(#Vr`;eJcJ z5{m2>3$D%{jr#8fAj{Y;4<+NLcuOU1{FEZp0dLQ}l`#!`fwT;$Y2rBlQOKsyZ@_EC z-|n{Qj>t0k)_AeC)P_rXgw_)4Ji>@F15ptJvOLYnAE2LDco(-0Db+=e0*XJQjnDrq2Kz+&y$giFrz7Y-Ttx1&ao|+n!2VTrU`0s*XzC2PR*dX1 zr}gcnpRj>S0S_K5bgm^sGAOabbAOd~E)L1X_pMsZ4|#!v#Mhe5OpW4ih=UC5XOCMV zNp#47^r?=xzC*R-QyN=J^pfqj3sqsBRx$4T*(Zd$?^BVnXccXWvG-^Qw3-e2LEt;rR`F~$!`+9$P zqZS5?55@9k7LlZ)+f-UiE(0Q6um~Cq-5;8{Z4EE9DelBNmHAaM43E+;(>vs4a*xAM zej6@bJ65I+c6=c{(?QG1?LFUROE2>{0H7@2t_uogwEet`%SJ)0xK6C1^%*VfrGdD3 zNN|-6x*@N=)iUqZa!^9=pYzA1vtg}TYS*{KWOaj`%3j=%IdW5|QU(&=Ho)H>8Geq_ zD+BWi0^}uUct#(de&I1z|E(>nSB*v2k)bf6I&jIV3O2>LPd0gHk7>#}B(?+6<@m{7 zBM9HTSE_~w;i@wwpy2~m@YyTUBjQE4PrgYasP!Avqspw7M7iZyFIp+&RqS)TS_K#R z-Ga8~@k)P-p6aCJ!~$)dBhwP>ewZ+Y>Ni~V^4LJ!5R_T8=t{RZJPCj$RdStGshICGj3+S}kJ*vwSU z98~LsMft4BT{|2Z*R9M4}5*V}qWA^v=&Vw(qDsPf^zlFcA@><jmM1G?&5g5I2OzW!c zwIKYA#!Ro2!J-1vi6+|!hvaIq7M75~#CL2t-0d4i!nECK;Aa}V zVl$oGOYYhu`fg<>Kr6f-+~C_~TX!eBqx@X^B@?+E~HL~p}aUBTxPM56uDeJ7_W+-0xDLBcnRpwvIioLd7!9`F% z-Q-!(_i*nZ9JvK`&wR>4Sz%KdTNjB@9(%`NmnX($pqi3;YC*GosM#RFt zdOC3ef-F#~$-Xy|_>FcOdmWgeG|X; zJ~1U?+<98&qK8hliG?F>t!{(}m-G3o_0)p-(V&52(;w!y>ml=lv8At(5H7C3qJZ;S;F(|QOI3Y-k}5G$0cs@P)etQKEUIC$Lo^USmd(uXV>|4+ue|ecrjekbiI0@`$bKmd+&pON;d`*d3Bkuqhwr2-?$D}H2b`c#4;#kCh}t<9C3 zr+CXgk+XP3Ge_F#o^+}?c&JkLR1*7Uh5F1bKs=PA-uyZb_@+XF1k#V~>3vOrrpcme ze>gnLzzHKE!QSF+=0Om4>>k&%j}G{98o$?mQWX3ofBJ*nWdgx_LQ#R!h1LSpwdsfn zb(GUR4}&r4d^Wfi*4TKfhVAYmZkUY&0h$?|UYf$S-^N1{A_)wbeDD}!v@YUEVp^= zRvAa&+mZC?;uw%u%9paes^XIG{}(P9LX)Z_6Bt`q~otvOlCS#5qnvE*Q`g>zCj{J zIfUQ(9y~NsSUxf^J!gf3BjDrr67fgOyMO1jDub=T1NfMv-F8 zxdtccM{e^(U2bf6s^B|ek5%XJ0*CZtP@X{D0F2_k<3MeT9aG3^mo#3PLNN#O71q#e zife&cKmD;U38s(_Tdk)bkY`{aoe>TXWSpj-<>kFRyIATPj!R52p&d>h(Oo-yu{`o% zfWmsm<~o@BLmF%cQ6aH)n8tbflb()tp66!kMx!l38aS(C1D0|x-95z%A}k-D>0l?g zsl(7!8zPXNLcc)xlT;&Z*|~A+y|9E_4e%rV=^Pz=d08#YGb~o$J=e!5K6eG}I1K(vG}G!=sg(;`C@U8I+lYQI zoA^Bwj-u0A#c3{6XM6<7ht~I<+emyQL%HfgtroY0NENn6MTt=uLB2ulozvl4(zbz} zotsm2nI%h|QwXJ3jF#?xDNVdqV3%&QIt_G?$0p;_nRveXtiRVe8IgoL`u0!_z32C3 z%v&wjCF%i#a+No4iNRPC1#?`qtDk}crnn!cY|GGo%nyr%fGuJBp~P$_3gnZIz;JBM z%hz@6)TJf%OK|HV1>?8d%c^yYL4v{_Kdyi+Pjc59WS?TYd}Y6GZ;)?3(8!rHS48;H z`ZJ8e%1>#f6pt`BKFZPu89}&Rzw5aR%*I)}{tCOmbhq3X`;_O~neS`;@>L)%XqK#Q zR=8)r5rsPxVtzsI#jiG0KBkc8VQrZoOW)}4?592aa%d!kG#U?}QxlRK_(jK8+rHhBH2 zg`$DfblxIpAJS#YJ1@uWJK?AYrha>fW=!dnv8g=I;cdCEFCLZrLOJYgkxe{n<)RQ= z%W5o-Z~R;U@$f2qqeMis=Xz1`9l*m`rlAlvl+TIxt)}Um_Dk9c5GZqL58Wp6b&CA^ ziH@ia`Q3O^2%ErsBHMRP!3zQni%0WJukx475(cH<(44fbJS7~QuArfE^RLriY*t%r z)UvkwK%9XjUh?L65TS^dN6e>6`;AF#ZhkcETrKa=Sp2`h&p%5f^E*5ABoK((mm5KW z^yCjJ@L?~m_gC@`K$tApnB23=@Z^c}--z=$^un&!celfdYtPGh4P<*{Gl?tpRPG18 z2rHOpf%4zJ`+hY_gp}RS!>=MJgbd5*db6Y@D}?#;D(fGcQO~l5q7XkyW*@u=zqSVlff+GM=2SYS%>I@#J8-Go+exD|t@X!(95T|w( z*Q7}>i%ehqcxo|+0q3PWNw`I&X`Fd{&fRm5-kMt}ZIk|DZ<5{pjmv>=CoR2O=`9_X zam(<;%_u|Z9NX%nv8$uI?IOMIUV2T|nW?+DqICUbE#E;@(RA)4yKJ>J@X~{6(n$sA z@<(Z&Nkj<@$%RsQ3kEh>dAY%J%HdHa?`jf7=j)_Ut0OL#+-;UMqf$55dHhR2Y|6rv zSiN)Hm-nK@c_jr_Pj0cU5I9no193<%BI+@xPim)LY1^kx+>f~vWF{qhKwf={SjulfhGjN;t|Sua1C}+N36+!7(&);V-Pj&lvq6_ZulPU*>S?POV&W@T?{e zKNf`;mNByFJ1DW_KYO>|Yi-R4Lm|VGR->YhoU?0hzQT%8T2roAyAP1w4#%!qyUK_` z!sXOg7n*Im1BUZ5?7yj`v$G||M2E^El8>m+%k`}GEhlXCprJGzJ?^Xe#2vjmS)H2 zmtxgxM5?BYZPmCD&ah*elk&X-;2$I9G4j#&Ra;c?TzHHsrTQi$D0`m|CW-3qpKyjx z@CO6CaJ570Qq$0;gdoSP_h7@XL|+%E1xqPR!dk&f8&)r$nn=wA9DXpaY7pXj1+a?$ zZsj;sBRJ=t-?LKKrPw?960k=X@cOPHw<75N5@O9^O)YOZ#E|~QCIro05lFl?bG(_G z=-0jV!AkH#_G9X3H-Vy=VSX5H!xp(lbpE1W*rprk%Q%SPLJV#Jf+rWp7|v>^!!u@u z2~#{WWu86e*{xfEiTlxxOxEwTJ@WI7%*(xP;#@T=@Gyfb0?dG;gNYj&{Z88OgF)!{* z5%!e)Y|XwOoIyvsY63PxI6MqLtkq6aCW-w~y8)Q7!E$vq52JZ$#?pqHHs4~Loz$xH zMhj+e!`<87ab9d7Mdw*py>9tO0cbeS8}gf9EC$<017UAU>8oTQGO)lJl-vx7+Fu2! zrR^w(Uqe5{VibeQa<~kz6vGX<_NJkcs-usPF^MO|aZMMohecxt=c&}cI;urr?)U<+HJO@TBBP3u!qS9>Zu#w8{mE6x zNp5sfXA4q{WWU^%fcG>M-EmNwP*_Na&{dR`Z#2DciOS^sM|@D$vO>5yj}(p2(~~XR z+u6gUKY#TQmB6ldPgq?B1r6iOzSjmc<*Ndva%l+E{A+&H7n8f!cMe;cfUk5=#GHCR zI8}=G^(-uo7yH>B2Gd|2X%3{cYs!!}uYL{6!P;mcV*{%`dTZ?ORY+N82<_wOKHK_w z$3)yd0cYM^WdEO%$H)2KK`J;0$G__}^gunm#C6{Pnmb=33sP-LHS0q#b~#_3&QLMd z`PGcP@cwk092>nqr^ik+^}qQm2A%GQIJ#j`V~5QepBCj>d#|?(ddIq?$is5NPso4w z-bQ_K#(BG${B87{?hF-I4R@5tQ@>>(Gdu9O@pJNRc*=_Yv`qKy@1>2DNbSW*U>fQG z+;3(bQ(V3)rTd(t$o0DPT5c>Aqce4`NiEdpd>3@*=Ykwy*NZpDIT2KUxIFn022*&i z>?UJ^gytMhGy%*ixw6DE4w*fD=hDVRoi5KPJ&ch5jC+r9Nb}fp-RXnK^-H^*n+nz1iDyaPE}_;_uD}RZAn2RnD*L7%riY;FSEyg%Yzz(GeC$v6d{apHS45zv z>o0-bfuGL^K)cSf-@v2aMzLSGCY%_nLlztLYa_ChmcgF1%fWua;U=s5wZKSMLnCIl zegr?gEhquRg@a~(!nAAskVuZJBGI}lWB>ke&0#a+{`Q`O=w5KZzVCI-{3t!pipHh0eMFxXF}hDq7n zJoS3u75zPVc&Sb#ix|)k)E+(-gZAI$B7F%-${&=pz0zcGHEr9%Df|FJM? z*O^oOoi{~1H>jX`&C#6q-(fpe0vh8h0jAzQ*kS)bBrl`k9~s?`@Xr6(?cN7o=qv;Ai6Pu}`Mbkg|Gm z9YGF-J4hr`UhBeLnB$V5%iB2OZXg~7g=@dIWka;o5+XnQQV>Rktd;Mna`mC?2k-B9 z-@BQyyK^yc0&mrs$Y!R;s*8X?jT|9hcPF6W(?#fZCL8oPyl+n?E9T3UV@SGt#jMmh z6DtM*O0^bzHlwo!_MO6?+VR*DahGjPdL_Lq@OP(`7rx=qVHhrz@+ouzwSFo08lWDL zsMC4#iPy{-V_9g?$1_&AeAlLNeMdK~SXBt0#Zz0$GBzf+<67>YQc|*-?tIq*i|fN~ z&vJei7AwXMgdX<7E15=vp|f zXviGk*P~Vi71M`+QA*G^c1eKZLtia11#pySUcIO#%kv? z^TN(#{0)9Cp0eq{Y)mWI5J6z61jmT;Jh1CdR&rf=utn1J;l=*2_7kF^^OE@Xhp_YY zQuX-0yQZZExW*S=6-TDT{*?>w5qE+zso`6N7GVN`S#YQtAun zXub*pLh3!$hg>TxKdZpNYWb-SE7*8`_ie? zH6#^2Y)8BNqCg=-GWjYT>wGFLwssZZ$yHu};zWRiy?N~vLQz@^K(c#R3nu%CzbuXi z$1@h9K}*L6YqDSP<-Kj5E1WP6nKW^rpv0Z`6%kVMcIvqg;z7FL)#(?l_9nj&3?U@{ z9GvS<{b|`$keL|Wj#!%jvFk*vL?j4O?8J@_X^!aB;&)Fo27~! zrqztL-r>6N=k9{o;S(kqy6EC&N4*O2{v#k3ScbS=+*xa}z8DkPEbwKswT8P_Kq7LiBqo@u`ETw+EW1Qy-T`O_(%0^T@-# z_@f`Uk7OwzZ? z4nD6@T23A9Su(||`Qc#sjsWN8g#_S9H!O5i)We4^D+pbX44RPnIx;CzR7IzFMGLmW zkO67?(u~fb1>$Wfl@TFrcqA7&B7ceS0HV2eY`gx3EnHsiXb@0jM)pz@WER&1;|8am z8i6LI!hHGDzxJ~oRvfCG^g;Z{`aTFDWrs?(#5J+TX_dt_TLMYsy257_)40F|1!C#_?rQZ((O@KW!ZB@WIb@u&jJ{DJW z25^Dq=A2Ic+yfbZJ*9*Dy^kQL%{&-*}1H5Om`>i6%hAzYN5GrKUtYZ15`*xw8 z9QUNnj)o10@5_Gnq>7!b!3OCdIPfv;)wRQ zQN?+6;7Q)7I{s<>$R++KUIhjewp+~+!1UBf=zB*4Cu zIT8+;Ya{B8AC2u%7g&S{MX5{#ha*WH-;yZGoXPJYS0QT|u9`EVgX03T^uAxyPREBU z`FlIKjmQBpDMnx6C!Ab)gM_j~Lls*p%Z|bpciH)u$-jW|brulIW*QOsrnPRxIPJaM z>hyf0=7tjGV0z6B!sX6zBGi&fLh3?;4-C{_7{3K*Nq^;?R5?zs|=(nn!=@ z%xy?Kfpb0qRXeeyRyDhS&9%mO!TNM7pFOXj%*@W89#xAW5@g40-^JP|e&kS~;nRvy zI#X&$W5eS~n4T(l4B}&tN~MRMURB(NH8btABX>Dip4`o;O+(JB!DlVKI{|i@4c}zU z$q+OIxv6EOfZ}R3@9eTBSFh!cMKvq_sbZ6Kf~kv-7-~;;l0Qt43mN}l)?rIq_bf~& ztPp%eKjwgpOgfyJxA4Q|XKy>*WihW&e`*NSt{ALK-UX>0DfUKj=j1#iJ9#gCP5O+0ni1S$!^r0^NlvA1xW zkl%gIgi+(cV9&vRmRm%A1GkXDUy6;%DA=@5KS$~?bBsO!%MymwhKYsy6Ze<<#ftwuTIY%rC(H@x(4pKORxc%cJz`MeE@Gxqy%zQ7~|R|Br`XK6Fz8Xauc{ zEn1Traii63vmid`ffQ-2&To=baYnSJD4cvGRyR-_@i&;nq~q~@yrhWB(!#GAl(JO8 zyi%S{t}%V0N^pFs8cgus28`*nDAX8U& z3RpUh5o9RB`WvBeGDmK4Dv3<3+~trdswb69cCft_W1JWz_yMNLQix%;baFvB*y*tp z-x+NHZyGQdI+PtKF~Mvp{YYI8(Q;M(a!9B{746x207yR~OWfzODo>pXBbU3C84UnX3}%_{^C_80{tVn>z&0A6TK5wl`T$xrwDvSdJx?dsuq2WSojBa$UZ zb8H(fnGwiA(-Xl}0<=5(>t-_nW6CJr2R#yzE@;st>uG}t;g(Rp^h3iF$-|$6JNv-M zzKt$lI^Lah2(rRreXALY5QmT|j!!6A*fmS~e!!ISeaqvA4UwoG-7!+ss$BLxGH@Oj zDqgrwIR62=X;8Y(%96@3Utao;vcAsdLhv-2i{D7HfMN^V4STQMeDY}03;GMTG8*q! zFcrFrCR|BuIxGxrcRRm%7@a+>4fxGVYupb&hxHDNj_FzzN;Zqm4etd-J$m;(eTCf( z%X~ctsD-bFG(QpnCFW67&H|YN4`{+`B4u_N-_SIudL&E;gLrmsreu*nreIa=O?m@8 z&Qrm}91w1Nz}KGQP%Cq=$=zOe23{g!Mj||yU7-K5mBar9YDqnW;+3Ymuo=8_A{X00R zA6LASWbv1G_ow6pM5jG_Q z2dE?61R=!9Dbhp~ZFb>;0gq9A1QK1#`><;X67E>gEmmrft8OvcNY|=c%6#=XvAnAi zeewFmKhE#zt(hU%JTOO)2g*H8tolM>BHB}#ce8_3I%f(#&={|aO{j8Eu)%dydd-~d z(R8CZM-aOg)??NyVvo>Vp39##9izaZbF5Z*&J?{nE0JJ`;^nzzfG$@@M_gcksNdoZ zJ_E$?_K9f&RWoAnIHqT;g>mbs@@b|a$*oms#4`TXr7C-UzWoqj#&tzrq+R!$*4DjF zV+LVDb^TF$Ufen!{I?$1!@{{9bO|uKxcVxgyMh4_lO;!9pJW>W1q;rowVErh0T^i_C&B0S>P!u?}MvHxNH=>W@+$Wm*mjF^?Tu<^}AH z-4jgu6R&hFW8f~lP2x-1c3?^C4BC0SU zr`je;*G9p+6ruNPGKLl~0!s)oQ-x<6d#`dcD;n_eee8L^cr@eYFxWcVLL=AlU*6pZ zQ}LWQOl9QWxx9+U&ZB~d|7gYnjQdax(j?GZru2l#oqP!@>M}P=Gl@7;nCxr_wh0yT`9sZ%`k*3xYc? z`ucRZGloP?x1$L^r@5U=kUnuPdaEg)VE!B955dinwkrq04$k@ips%#H|AW5r-|iiV zJDse#NWY2uCN6{jQ_Z?K9F>+~FQ6|auYk`L5cu)*J_0xh4B+$CbwjCpyzn&daqzEN znPkDU;nqqTc8nfL7)*|Simt?U#?x?+augCD%yOKT`0a=!L3U~3Ai5XJmZ^C(Ljn5& zkbA^_if;VPhw`ot)MeSLvJO%!6>^zryU1TTv*XCAj|{vRN_2`=GbW`+%v?4BD;*Lw zYQl!3k5i)J#7)c72izZk;lVPilfhsI$>Bon>&0fbL1k%~4SC*w*Z; z99F-7hX|F{0%vXHcAU;$r)32G z>CqO2H|OZ*=E=MIT<0;2)EW!>^JcUow+qCDNsWb1Ndzv2H)4)T8Sh50SSnTG!DVCJ zemaXlW>{To?^#5HkGILPUa7O2rI(l8>?y{njBG--bBGgNcbxV<(iv)GS?-O^Khed$*4*CNPB z%F6>8%zJ&RrNA#%h&wN5_qm7f_bkD$4HbOv-mmWPfZNUZGCp+ zR>pSn+SXJItrTMrB>atUdZ`Qp_7WP+tebJbru>EOY4f>me}-^*j_Wx@{u=nVbnGW~ z>e~2?84Y^wPILt4zdK|IGtG6^rl(Y!uFDkcVlf=5R-yPURk7Wb^M~rLTRlV_=EBP0 zw~L73tqi*D5;&Rj#WBsBA!N28GD|SB2KWT|iQ5gr%A0DI!!@GiqOHE2O{(Un>Q+fW z2jl@af`SbhSdg2?g6C7u-$jBxZ4a6f^Qta8hkyaMxV_bAhre5U;%6fiHCVZ}51F}A znPNk~F`uWQPf4famfkjlL>1(t!hNQ|SFoMD+9z*)tr-rzE9Ky+PSI6rwm06jT->?0 zqr2zxBWlY0wSpXg<2kuI!AzLoX?g2VjuoX3<)82Tz67Sf+e_t`e5D*5N74V@!c8Bd zT{w#t=sAqu?gwnE#62}DLQsZA{vMkil7c*08BVf|p>BQ*^~?-NJX(>u;}KW@ekWp5 zBfISO*OqE$hnL9qey2~Je7hDI&b)ef^}1>W0Udg#&2fZK1|J^WKA+YOZ(8p@Oxbny z`~^C?aC2-a;yMerg>;j*%sKUK9khfxinkiywrlF{x&?^YAp1F2D!M_H#Tk8kU`sBQtJM-Yk)U3VN~N{-z*veomX zE63$q&!t#gA9sq>QP0|(AGLLC6A%6FkJTis3@8VXc(aQZ&PSa0AX%CJi*}_0;@UWDaNhd(4;L6zK$F!-ou$7nc6rC?>rnW# zqpXnSQPyaLtE2y*jlEj&2ooJD z2-MJf)fw9VYo%ne+1&KfV&AkDO17JT$XfsI_c?3f@My6XfvTvAPJ3mQ9)%Q_9<8$5 zBzO1Q2`?#?MYhE#F>)u(ZY=1=5^H8}=h%KRoTY5~(hh&NHY4blDaLJ})2=;2>qNM# z6&9oBx8LDqkCGSRe|Qq&1^msoOOt&+Elh*t>BiaE$nj*b3)+V$Yba5tYY+Ic4Rh1uU-p}LabtZ8(uml1wyF2^JTMcl838-b%$0XA;|{Y z3OXdQE4dZc;LEq{SRxYfnOvuHFp_0XMvwDv7qMDsCG(?i=I~}Es1PwCx%Dr~2*sLw z8nRH)G9V;zuA}}dq3S|BQ`xqx zgMvA`MLcgd2T&0-n(K*CFVWFNIn2+&7F0%qbd?MC&MJtItn8A|fIo$PDx~3t=ccOu zq1NQ@MEue1E}3#HE}NOw+HH1x@Uw-RVAKAN+w-ku`yiIf0Mk0Onl#%Bf&lvD!?+vK zk&5C8fE>d*${|8#Q7$L2cE_R4voC%`+jOZHsPCLO$FKb2ssMYxk|6=nUwUUnWDNDr z&_h1xz2>T_T1|L^3smn?gNN@psT#VeB>U4IZsO-hG3%QGq)GaHxYmGn0y_*x^F>7? z0mO6Dc|m=zDC0Mt*AiDTXtmA?Rbzp-kk0a5x}}v}Xq1*+TGX%?*81DGGgjcq+gb8m zNPr0SZ#iW{u-RJfc(uU8#*_t9pO+zXZ=-M;hk}vm(FRA$6tMO5TsK(%^Z0>aK)92; zy&wr1smX7YU~=D7qE)$&;fJKQ`;U}PUeXzgu|QDT=T@_tJ7tElT8^}!-;X$k(|-K;aV!@`{MpqsJ`mQaU(i58S1odqLC69=g4aQTU8YRGmgaw$Ty|68L(K|0e6xJ-3za$4`fu!B1GC}dVlw8-wTyYX)85`PrK9QU1=K$Jp80&9>3%l?$ZxJIM&hO}WF_jc3A=H9Z-|sPZKgeJ>Y~T&D0rEcizrEX~S< zLw6gOh0Dwz`REV=nE`T@mSQA}Ase>Gz+JBaPWvIjrNg-t%`nF)#!l>v^|s1ID-XK3 z_e=Y+53|pw&5U;c5G?@A)QZKxievYaWVIFZ@lPQAGK>o|Gz}D_w{Bh5q@?{>`5<0< z_umFv?E7_SoksT8M{EjKtd13f+=sROfMKGr1btrWmOuPZqc9SF(0?3X$C!cYuD;l(f*vVxz)Lz z1AhY?DAofd;UZYnxelyz0Zl&3me#xKsCd9>1}!+HE8zQ+Onq+m0Ljh%RElEo94_mK zV_lGl+`~7Z-s?3i`@9;-pXHg^W9nWi^d}@pua=UU`#nQ*=`a_cmE(`nejf9^3btr_; z1Mevvo(qe?s;j;nx=e$>U3{PyXx{kuYCB-yF}h_Oe79R*nWYhB#GA?Raq z^+d!fDsj}e_7(CLtYfP6%jOgMe-T}MEwX43+5ca<3+^=L*DrVcw3b~Q0mpx_QgPS$ z`XG}yJ5|!=EM(L?^=?S;V$pWfc3GcsiSd$^51*VhU63p%<(fR|y_kc$hwbbnn}fpr z1kGeoxY}41*>_HbHQO6pOr9`{LSKdFziRC2!+8x6nwV;j!7J*AzhP}PwSv-C2ee0s z<^%ggqp+3}V1bpWKf|l&cU4<e3pSHQ7RkYsEE|Im;mIV0vXF)J zg&o_q#ir0%O(#`vx+U}sEv!r4wF%VGBEc{O0z%VGesSRaj@W~+C!w)~+%PdE;`isL znOU3!bBp%Qk2C0m00#dJVVtUJCH_lAFEDBabbPE86I{m(KPR(yopv1rck3 zlOi`ru}l^Z=>DWyf;9Tclh)0+DU(!`?6v-Mqe;69XW8CX$yQ{%=1<>75pguXZ|UC& zq)*e?J~WK;kVPG2J#06#>X5O&1?^cicS^WAhHLi!D8aJ#^mXjhuxKt&Ph`P3P>7 zpPR~q6v|t(ol)Sjgu~|k^#2jzt&`XBQq#=vwcZyxScrjp*NrY*nnzaSGGjnWrl7Zp zucP^OXrctv(Nq7n{JPhmD@WZ3+`S+k$;_>Aq6OwoPY&1Rs5Z`)qy>8KO1`a_ zhs@bZ(m!*zCDXeoFCKyvA=O4FE&i9o;X((Eq#IO+$V$*z#c$*^w{{wTpuhj4-%SUR ze&>=e|NMf}llBiD%QmR)cK4IDu7uG~1xu0C#@9P56e8k=89kLt>gXIYy>@pi=X@r8 zy{8r?p9|&@L)1SFSq%#?YQtWl_60rqpR1w#8Hy5dp$<54XB8ddPfz~5+WF93_B_wO z0^5g8O#ZyYLp6eoP_ounfF6sCX^d{Sn_?H0GCMZORBibV` z-M+{)vF=R7l-oIo9@kn$!nu4$VTCFX%_7#8>P!BmlAJHhn>Nm`FZ}<= z+O5_`kC_kVTV&m@wQ`$7yu3T?I~xUim~Jj~MPQG19N`S5$%&U&rG=C zU3KBFr3)xJ6YRB{5nb`6AB*7KKk0SGWl!cSs!yu@<_O02+APr_?c4xXsXbR}>!x|D zFFPOK;CC`b@iqN%z}e(ug_4x;a|F2k(sI6gW|F2@y)hE%Y4Ow@qTfB&7o60GwDnn| z;UJ$l-Cf7Y?{7iN0Q!(8U!rxS>RkHpZLdI=7H+JtSQon5T80@%Mv}7wX3nIA;&Rkpu`6lcw~6dm6}~YVXU|9sv7A^ck_UjX z|9)qw9}ap!2{?PaL$jLkVj^bwi#n(;NT5XFfwf>KNNpGY7sy>iOe}ptkRj|RYjh3U zHcae+=jAJl!J`m&W{8^Q(`$R44JtcsY-!NXTgJw5Z?UH@Pohz=r>?LffmiH{jGFJU!LvV59e#wYO+pYmunoa@N zjK!G42+LcU3_gs-nMFXtuoSEuz>H7h;PzzemLEw&^kgy3`Y;qL6-yNS`OMNe%Z{Cn zi%g!BL5&rTsK7%4WK-G_DN!!E6{j}fohnQC=}&gV+&pqffS`aF)-TPVx`T>Y4(P+9 zLFvzrp(rpCb8OkZm6lcsQJcHMnVjamyObY+|KdZ?2*A&^rQnd}mYPllDhn@?qzG_O znjyqs7a6%$-t8?{#_GHht-e6vcF>7XER6EG9kPW{l7tQdp^D7=+#t&VaJV#Ai!tl& zzMIw!hjyL#)gZakosxe;Yu}$r_GFDB@Z#9wq|D^o{2>PQu3{$9moIUVLD^LLf%|$z z&UHR{T_&x2MKv}K9!DYIs)FIwtcsQ0j#{I87=uQ>%H#;oJIRoOkcWi66kOy)Pnt(( z4?;P>&(KETRZT81vl^`6s8ozIOOMe>6T+BVPWUV&5WbHV76N914+_p4hM5eN`JYk4 z1poRT(tL%WTEe@SMy?V)9t(hq{6Q)}Oryw|#3Zjv493DdcmM*=q%-z2Ov6Dx$9gbl zeFy!&FA7zpk7*65z=O)Hv_;y7$m|z40(M<`1+1-U=-diUES>mu<@2aD{0FVTh#Nig zn{A#cBtEEt&vcdiyi8%v(?@h4%(AV?crARF8BneQ&FeS;9v5(nOsr-`+zTbBe|T+( zR9?ord(%E0J;{Qdiif@P8F0-Rg{dCQoP3OaFW&- zz$qAo%ZSJ zg5F%S7cuBweW?4T)70q!EPzmQw{O27OV|5Zl%@trar2$(UY}N&dj0&p!vkrM{I=?j z!Yo%`hv53WlTDA`T6DKO6(W@VMe=|Npfh&ic13tcAkUC8>Yx##vQF}t^DmVPVHz43 zR9woV$qsZ>5ywo4NLhy|lJK+9CI~{-KZjs8rifuNatq%!=D3$;#sZC*6V;Ctmb}P6 z-);$>=q~1cT|qPJm&1*j8|@trk7(N{!(>kvb=bp>s|D;vZrROnrR!R%N{HBMDeXq4 zTLllBzy=`02U+W)x@^JshoLPYtSm>b{tSXaBbNo$1z*zPa`z)_%X16_ey0r@D`pfkYMy_Uq^0?QJT19o$Hh^`83c)?#)Y z-50JpUPsm$JGqw_JE4c;^@{fsc3vC*#!}qAChQDZD`3K=J&5AD5yNE8<04zIzx#Jy zai6nBs$8&YD$GV_*{5D_fp0emFhJWNzKRYY<%qn4VzR_X0 z4Wu`n{z2QI*L;!fvn(flL1{y_`7Ny1tYr^W?Xx-4JwbeRH>t;$ebgdHQ&2It<}YLi zywF$UoxaG7{}EZZnFhH8V{MQcbZJVl>uBf5(l@b!Or2#tx**KLXP<^eodVomWAaE^ zsHtMwfOLKtQU1~g*2)Or){Yf~9FW7lK)eRnEN0;2A%QBPc5~s)N4AdtXNcYAwg&-o zhxtTu=}Q<&`kx{jw)myEz2WgKCZjWcyE(C03c!!PQCDfyHG6#JlzP2k+g;Rx*mvCI z*3;#TnRS#-zS#>aDknPx76FX;A)$t=#zK?_w~&578g11!3*eDYUT}v?q4~}SnD_fB zbLA+ubn6O~OSSOcS>6}(I}olvwp2P`%#mj}5pB?jRXNktJqMzEJ>hGZCmEp_7e81e zIE~vFea2LN17nm)%n%P??F4XqO#bzD7WKm9fPH9U_4jJGT*;O>}6UUhRl=mb}O zs2kazp`;^ZU<(Se{Cf~xJ}x{3>e(=^;ToTVY;WgQpW+ukqs$Ufp&0!%;f%QvMb6;B zz!jQ<4D)`6<*_~)8ya?NRVn#cmnJoD`c=0H9BRmco_ep2zq<(VzHUB?IV`-g8+Iek z*QH47Q%>?mB%Viaq)tBVOe0Ar3&k8WRKWHUy{{Ylc#+287 zK!5v=kM>EYfqg6Z*0qj&SLYVjbY2j20W7g3*uA3~T10M{{D6qRuN*i@Q3a)C*>47D zUG?C954C?Yb6sG^GS>+$8ebzu+&Q%FM+;2N-rBP&s zW)q9N-xgt9CI6lwe;&O8VdIF)FUbDf#Z7&T&j>j``5fKzSbY?i#qDwo_xB5CYf_1_ zNB`JU^p}CBUIPc8ga&Ael^N9BxA5_m*S;6tSXy;>5_~=m2p~vV4#VxAp`l>;Qq`%C zIId2zx6|=y{ZhTy0MHycI8;O!(+eO>^0to?`Hc_{dHwxt49OJ)YG{s{aG!f-_^0Sa z1gc&Dm}p=IzZ1^tUOMc&br`bIHHInWEPozKIZ6*Dekm$+WrH){g;7NaBd^QEDkRJJ48Il2-IRz-K4jE%Ex_50swDoyJIU^3XxcB8fvBWimBB zc9_T)X{iw#vW$^j%``u>mq);XxhrV)(2P2+Oi-T4@3H`BHNuUCAE$~Kmf+0tZgO_6 zEm>q8rYgdsN>B*!YM>^mF;8mGmH*uyG1~IElx>@kEy*0T5yl$__Ob$WtMVhocV`+e z9z!N`O3e1C)2*v9F2SZ5>s$eCb-%G^FqGOY^GRd+tu6rLLl~hoQB1gPjWg8JJnU|M{4uB5mHDx=Huq&bK#0IrMXXz)a~z{D3q5vcvPoa=T(0W zH2d&gBQHqwW-1Drr6tI?d)v(itfF)5eiKkj4j!~^|K0PMW>=L^L8t>gtVG*J)`1Pr zUZa%*V%)mOE{Dgt-^k`Z(m+0FiNRMQ-nV8Q(@6tjSG9iW1J3EDnue`CRXzuV$bOxY za3MM_ZNAH>&*|)K=5MNg3{vmUaRq^I7b-!`Tt5acsoIy*RQYVcKL_TX>7GwAptob?u6+yk3F^ za;t$X#M91L>zcD`KeewKLYoCc2bW7Fz?uPHhRQ(cewnKUVGA)E`1BY8az9Odn4G!CCxE7R)uhrLEKr@d8`HLQZ%{dm6KR}}Jnx|j7@Aj_dm4c^WHyCLcgVR~M_0*#JR z3wLXY5;>&C8)!SMDYs-*n^vwp+Df*h+UPsKU4Q6l z{r}st+9K04`TrnUp8s1CJ^#04c>e#TW3OAl?`}G#lF{FdxA!0LekE@5^YeOPe_QeR zDrf8S`P%+$eB}LsFkXpKgoi6Kb7i_+2ar&UbBgE8u z`rZodYaqWSUpe*N>`6UA=E`M4AuH&wFifXotX9ZBy_tMICwIqxDGff^b{oY_-6iF! zgbKi2)k+f+9;-{>5N-9$d~Fsh9pFWCfmOF;a}`^k-uc}5Ot@%u$!-ai_NjF3?{V%n4mNs@pV@OGllN zYky+vaZjK9^g>YUG=KV1>%+`z zinbdGE06~(1N>6kOq&v&jBxg-bHSE#PX}s$j2$`oiN+-zVQ1K`uF$Hr?xSn+jT5fP zHchZAwV-IKiq;Em&7iB4xbv>f&x+THuXJ~4A zn*G=W;j8t&W!u`i{ICXtMwL9qs&66&1_~t)e8wda!g+)xaF>8h9 zfCDdJGLKVM#*T3N2-|c7Ic!{vpGWEG&x2ZyG+OdU7~%%5U<(R`>cETMs?T2!=p{FuV@$S0^)(`Hli30 zZRMRp0-y-RbxMf(>6Q8CxeF0vpRq%X*x(CbSVw7-*8bhdKp5pki_>`B!oQmnZrj>B z6AW8a*RjLtklI3uq$L3_xQWKsU17eIpy;GvP=}bKqztHyXDdb#lTvwIr9IMN)ul9f zIyzBqQh(hPVapp^4g9tdnRm%yo0wIv&2X*sIFtkLe=QX->788Q;PFNXRU( z{826!vw2}8wv!+i?a#4{MdM>o&*pz{vP&i$)cNk~bRHi2QGaVv@5C;e)GluoI>mI+ zukjI!oRIlbW9qpywN;d+98^0yp&^GQr<$lnS(H#RwzWHyqTYR{v$>TW{5w}I+{;8Z zSN>$I_wh6mcd&5F=M9v-6$65iM?zPAGA3?9WpX#FgOb)hHtO0kqA8%=_ATkfn zxBI(UhtD)YrW_(6MpY(Ws_sWWw6jd#9~V@#o!q@}?~0!rrNO$?d`2)P@6d*`Oxr@; zJ`cZ6Q|=~@nI>Ky2APO~3<}RFu_K=nu~Zb&QH%wpHUD!^|4-?^g|8X8CDoO1 z#jvf@(|S<V*YN}bhI8Leb!V+meqTf@HSTijp$qQIVtM~Y_u^HHlXsRVwfdu_+kQRvVle0 zPdaPkEdmwPrqc)(V)FY>lRvj);X+d%B;Z1MBRP8{&PS{u>zykp7uUIJP=g=;pvTHw zNSInEA4^o7x8!t_tJ@z$aUX6|Z^#yvYg_cHF*y%&dQ};TqtUn*>JJeuptx(Np1D@) z7tzec9a4zoZB$X2B;}i67&rht!c;UA2B-=NA{?kweks)0>3`K$+v`$KD3qv`dKa?& z%ypXyQdXMST*N0c(><`aUN!av*sRTF;V_(W9^01?BF%dh0tr`_Iqh){_nJQ;E~uj> z((*H5Fk6X`AmhJ?ZvO*fZ(Tuybc6&77=D; zZE-_BrO+cS1Xx@klsr^*uu;9Gj>Xt6xjeaTt<%drSG$w1pDCpvtt%*F1%iNdT=VSk zmsedfZ47{}+W6?8$d{hq!Dh<@Flfj~-4~JYtyoq`2&VONRh^=|+}br+7vDG%^w4&j zgKO{MgPPE!dNF^Zz5OUaI<}k(Nn|bDa-m+sL4m0y4Hw+yIH!H^yFo2t^K=*zB&`3V?qEN|m0x;zhO9$red7sOfEwh(j{+OccLrOLw^J{3fcF2Ca z2((CjRf4sv%Xy`sN(qekr8Ed{7|{65&fqD4-O35BOB~y1#L6u#{vr?OhJBd&`CVhsvn%i zp;*xtJ)^G{g^NN7G0hK{qBoGzDuRvH7Lxr39;b^t4^b~|F3PP=T2RlBJ_434#JbLW zb5voSFO>MH$CjvRAm(v6h`5w8G(6d08*bOaigz#pRN!@EU3J@YU^;}_G(>-69m^GK z*l0{)4#30a4qmY%tbUZXqO2t(A|+*1C0grU#GS2s-t_TYUeER-<_9{iDuI zus~Q8Q-t6&+-fhlyU9o!ZvJ5;>W|jI`6?5kU^ZFD7PBc+NF`(Y{qs3>CMj=VOsX+_ zMm~YjP!!rL?SrGL#NwYir5CEbBDQ%vG_rT>bvExF1!BOwu(VLg{`SWQimP0VtoQT3 zNhXhDP6s059EHKI2!|jE5LXud80*=b2=~)r*nU7Zv1KIG$}N~)Djoi7Ybq|J2{^E- z6n>*gubp?sKauX=vva8$l>N<5Z^5SvL=0>L$UA2rM8TR#X6iZ6KRa2GZiW@;gGXAh zi#1E8_N^H^U0C&)C$LGk4XbM?q}TPDDCBoO0R*Pq8)%Pvq2?r1R-Y1;t2(#&!Z5iJ z?!s+cFWs*Vavbpdn)vj}cSwag%}TlY9fq$#|JX>4cFeXFnp0ogdkHq3!7#X^KuilA zEr3}YkyWCj<1V!{Y7_86|Bfxf57l9Y{#}od2Zv65#WZP+2j!FS{m+ zP^By>Hu}6EgH`8D0+fj0(xl0Sfgw-n=-Ot2$LY82(4ywrFrpUgzra^369$hBp=Sej z08@MJJMB}^jXd`!Q!<7R8|KS-!k27+2~h(r6!1}LOpn+#PeNegek}z-=L}}!2;QlK zllIr@$_Od-^}AGyhiX9f-~yb{ZNX5T9fS*6@LgcQozP!J&&K!h#=Cd9=PD@x@I`5Ur00m2n3I3v>#7Ffi?1xBYdmfu9= z7zX(I<0huyY=TOyDYc;~WoeJ3%x#>%%^mVI=fMBZx=sj3gijf{Iv5YzQLHv$GQ3}M z_dfQ6{ke<*3QrrYi-v!Wbcu+i92#qBhF; z5g!8D4bU;Aa`YSuK0qawE=gqu@1e;)3c;3%Swo9q#0V~Bre8pc7j}%+$)g{W-Lvz` zfHV|_Z>^lFu=vw90qx7K#G<+c$0O`&N%}W0+Q?3ZU`m|Y30Sg>s%)J-L}YC=9@Nc> zQrNfnvDyc&2K8V`JU|YiFc!w-iYWsAHbjvZ0OLQ@-fuw&(BA4m=jog?q{Vmse%idYe^)sEGT)+^P&Lr z&}AQ-SVgzET@jT)n@E{6j0eLh(T$4EaF3<5TSF%CSh64P#cfbtff{I0Yvi)_CUaC+ z6J$iN)3Xmf!yEu>=eBSB8YY0>fNJ4`$op?p#h8%^G zo|<(<$QC}K?=?8jbpnPyg_#z^&wJ?h*?7#0fhKX>$VBuKNjGbk55q-c!f%=4P7lc2 zOem{Xrh&sytc;S4T*G9qupqOzH6ovZoCd!~KA#cfRTuZM*i{xjBc@f^$Bb?xpx9$- zx5?ESvF(sxBbz&Cwp?v~cL#pGi+UZ&Z$Bf0o$cR#>2(P1eVp^q&1m!ChoUb69&7A_4a~-y`z${*HcpGXJ!`qMqhT)8R>P=C zt)F$n1}g58J@vh-9*;rquene=zz^JwN7NF2AA#qKR-fVhrT&|+ca`W-TAWSrd34Bu z8?3HvW#PAOhz3BcM$E6|-8|u}xF{_a;@Qe@%8XY`=k+V>Rm;efx~ggPK_j|%^~aAq)p z#lPe#eG{COumEC5DJhZ511X#J8q&TGuYl$$%5k0@bkky_B@dr96fZQj{`78P-wor^ zzj*WMVIJpF8<~5FB@OCrDrW2XfU6h3n6metSISQ=MbtKPocH*4zn-yB$tdnk(%lrV z$>dZ?y}EIpE!44X@DXNcU7P)Na$~HunOCB5bfn6{`(F+IPVUTrkOS+zV2+tGW(T z^xml57>Bofj-HO*1bDg$x0ez&ec4qEF%SN9@xXKLX0f1EU!YLs2C?eLv9awFb^SSy zAeihPw;i?f{7z75b5B~$#kWw_h4V4nT89Bqu)nre#GSeI_L~9!GNSph`WUv9NxvKZ zvYNZzE5?9Hd6)1HXIIkumRph9LU(h;Tjl=3ppbr`&)`QG3{X$atGSxIrPCrEsE_4E zcT*~$IBhUNedub$PSk_#aS>}=ed~97x!La+-u93R5XX|7gjLJxJzn+UB-;0G?C@a0Ya72kv5qI|<>J`7i-xz$KL?5m%fwd_mm%+{Xm zk)22EuYXxl3nXlBS%&dw>*exw#&xc~DnnI~hnK>5+EMlC8-LkS)cn-o3Hi0f)cRqA z*SwtL_xAiAR#@5#xFGD>;`3eynory;23L<^ak$xYw6t{1RCZC9{~_da00?*?6VFJ* z#`q4>t~IIzje%yP9HX-1^Wr4$AS6@u;kiiQ42&cqfVM#XOs2VD#I&LLvaWv08-L%P zwyZEF)v)%#Q;<#gqF2Jr!?aZ|njMHd?Hmos$JQ=xJ5=BzE!fV-6-0D_?sHwjDp_6I z{VrNty}4!3sc+!(_fSWty|>l5HQ;tRsv*_cUqipdYo{e1c6x=y&gODLCdbgI)lmLb zPYgr^^a~RhuXuRDKDQFcYMrjP=__n8oVmrY2Ne`=4EF|6V4p&fthGql#|u`6^`r_I z^JJS@D_X~DeLW_BRnb^?{76!7&R(2OVkC*tTf%;x$<}b8ueotBY6OpC9R%&M1Ajw zvm(!InIsR6zJjxYp+#e54d%RkSqVPRgrA;BbH3|8y7G|FdYvRSyw?yklqs#G2h<#@ z#FS4+^y%~o_0$%N3+x#8`PR~e(EO2a-x=Go-+S*j}B_M*^r0H%tp;G)Ra`dwRyx~3Sr5VB6h-psKO@s5a% zdY-@zedU%IZo{5Cvxg`6EG{TFUeYxAAZq zwq;x~`@tpK8Zn74qFxr>xRo-Uq}-9~X}2LaBinoOk$(J!?G%l)?P9SK8P|&7|Esm@ z3~B;e)<7Ug=wj$aklt%TFG^Rsl+Z+}(hOA)By7f%T5_<2&1OcUYq=jAr1O!D; z5xKnk-n;W=?#z3C-t3<}d(Myju`@e+cE4}`PO*j=>IXpQ#5lgbv`w>pR&%faNlg(} z7&I$oteE8Cw|keV!svC9Qo%ZXF!<|eJ|bf-*HpKvX?sZU&eW4IpU$kr+7vay{?8wP z2Ga8%#|d+AonE_sCHn_!R69?^R!5`Xe99Q&X87vb-+Jsff2yp$JU6@if($D0c0-{5 ze6b``)O>h@8rF-Sxw*)-v>e>;L((fxtrF#546OuT<2m}2uH4+U zYr?DB9`G2ur@;XCel~{;Ht`5B81bXuY=)lRH$#6#_md%BlUn(i7}<&ysB1Xb9xxsN zeLjP0z7<5Ryj%H4a22Hu8!g4K-PfqH2X!S`tXP9eQ_-f+ne)D2b{leYAB=RO#zfHV zUk80Qc1EWxdbs$=hb?1qG`?Tm`8q|-f z|HE?23v;rh&N*q3jAZ??%y+vd+fUaRMcTjjIUI!|MePTLp*U~YoUBv8f;mrQ!^769 z&-u@NhI5o2fq}EfL(r*8X_@GE{_Rvz?&YGb3wD1#2e2d_7WL%K288|A?k(W6h=cs2HYXw%KjvrZsvqWE^D~dZjBdI=VY;DmRw_R6qSjyRIpHV8$e2 zKOd>xaG(+;Mr0@RxJCE_f#H?huTa>@Aaa019hQTPnmdSdjq8=v4R(2c1x=>gp+d47 zr2Kq+x2RlAVOG+SdWZ1a8gBp+YiST7rFp&DSrf@vp+Rm*$Ly(_UhKNtbg?H7{34<- zP2UR0hO=836W7ZCrkL>?R3pO7w;N`!TT*XHbfrNq2&}b>Kas+m#+0&P3>6FI-iz}i z{8rCCBi{{L;}{7YfilS^pCFqiXWS3D*WX+IOfppzz7&7tK%Kr$xV#|FTzE40v+>BTTQSCfW_Un&P&;5nJf<4whncy?uGxeIK+}zh$3|qutV11s}Jl_Hun=41_wA z3)J;NPVRE`r2?wT+xl9lB8?oio=KSld&B^0wy_%IWh7=SeJCnkg$#|iLaokgo6-*` zwsQO8R4#Z1`r@Qcu!d_Nvotq;+KLW?FLp<55I!Rh3MtQas+EBR`PdKDCERK*!lu2X zj1N7vvvl)LsaC`5tS#(%`(T7)aOmhp1JNtvcChoTcr&8hR7>W$@2%c)eeEoIaUk+_2pI5d&diI(c#zo3f zm3DwgqyV%9W*Ctr~Q{{%+v8UEWP(jW@;@cEk;ws$pDl6oi50$|f(P9ud0 z=4x6;#pwR#JX*5SUJp7ay-1)+tl1_$9KldT1iViZyLqL+7QSIU-~wNz5ROlg=T-#7 zC-PQnZ$>we&rUg*^WlPQtU>`R0tm_YgjPym4a*%zij!3$9u5k zYw49!i0bPbIB2BaN25NQxQKy#AHpfy23*-VOnk)309xg0q99OTcv)PDtPr?@^4?JpOxxJ36*lv z)(QqAX|A0p{@4gJnIWDjNfSjOa{PIK>1n5VVVAyt;bA8dU;cE3iq0i?2aFs)R;~#g z_Kom(e$FLEuAagKE`590fEml#Zb0w4`P$9$**`1jtSC=;W0vk}aA~Ddy+pz^vDILm z?uP2+jM9gN_pGV6OF>lem27##6{cOx&>dnF@AyGyB!X>*#c~dJj`@%8ac;2>{JmtIV zMg4vhd`W_qKO7&8t3Kv2Hd}5PHM0>#njF!Yb_(SlB=lgeS(1W;5lAAM%oQWpiVCuE zzdmQ1@T+mp>QLm}w<@n?3%3x(+zew}khX0X5fc$TWstvff;n^(UlywLU^{eesg=rn zyT-G!sCIX+E9mI`x2JvcvdzXXV&g?#5ilDu3i{9$Gb5dG_}cqKWfQ zBlOPYPU!{v89O5120=TP)b{jsEzxjl^QQC=@(dQenZ7_k)O$%Rhh-V)a#bp*NB?|T zeI>Z~Xir78&j^0WG#O-`R(q-lC;`R%B&)l!WvxxB(L|R$`WRSPLy@uqCE*al8tZCL zW-!0W4vj46;SlhQA2aqpeQ^{2mjUf_>~X-gdTwtActH(1#na=-q^)GKzprlg=5vlj zafEIE{$<-Boz_UQSQ6Yzt79~gsxirg&JAb{*J+y_LzeWoMg{EMn>Kr0MyeESl`+U# zk0Aa$NOJg}nRcQPXm5H?QdUb+N<%?I79y(!m6C;MNJ&d+L7~ulns=q-v>>XtmH*Et zcK-rdNz2Ioljj-1hlF|BS%PD~D1Hgt;7vN5uXl9yCCtA*;2oQhkCM4=cVm4vMhrs_ z=M!M`ca819Z`#v+1dg2Ez7&OywId@f47 zj@UnnvyT2WQnii(A9#VaK)JG!0#I|+>kK)mIzcVe;a7QqQBrVz83{GeSp=K;Eoui5 zX0mHcp&VSMkx&t#6|Uh@D;;^!NUo>*%mI$?7VCO)2Vw9nzVerX=_emo!}J}C+jVGc%r9T zw#Aja1I^I1)6@njvm+!kZFWk9!Z1ZHbr4ZG9ljvelA_n<1J5Lo!nB{0V};&iD*TGnjOqGewBO z)L72*vQBuv@E)6YR9RFAOvi2qGl=AuY%(?s``7czC3^`t*4$)+$fX|M?$kwA=jIFs zrb>;!HpsL79GGG-<*Zbe;nX>3RopjVc@1xDmct{7#S;zu2Zi>t5l3tF^{cAFNlPdUj&63lg`ZTJ<1SZ^^^E{+N9+ z>V+>vvt#{itW^$UuS<97i-|>{q>@vA$UcY1?`u>_e?5eJi3qYEIht>)C>Yn}d)WDYdr|cqlUpj2b*lFcR_rifAM( zL7Bv7K#Ex5iJh}Q!>n%P9vH>zaBsWBztir-xYse_XK;ERckqEB+f9FK$URBAy+5c{ zRM9GvKsqnO>|ttaw}ffix)rKCDd%Zg+Amdv*ho9o&AYE?1g8xx5D?P9&ZR6MO?dZF zLQl;Rw+_}t$)n)o9A z6m{UOP>v?MfBOQQr+jF|{)p`3p4EOKQe`r5$iB!&2zwBZ9-Z48Gf5>tCieesH%Rx1 zDyny0Oy`V|2vG8hD&js|#7gJit@5wutO`KX!vI0n{!!wH^TK7z*cL4bybt0B(~xn~ zJk{@IM2HbfJR<O@o6=xF0^pSi~7!Wj&ydgDfyYd57wc>~E+{C)M9$IYS4K}c;^Op|M; z8p=C6Wb)1MJJ|Rc&Me;wQ1UPc@@+!-ViZ7)M|}~p|K|A(Ikb=Qt?O$nM~F;gm+`P) z)B(BSG&_*G-o{_utP|MfAuo1RGYAj&Iwy43BKD2^`48ZSzysxwDno#xY>0BmMo$M@ z1WnKNC(BBWC++;sLRr}RqcF*>1>7A|hpZYndtx}C;N@Px<%xzQXe`pP;N@lrt2{A3 zHrjPORC_@SPG);dXcu>`Sg!E9`q;T|513x-aFviy?xps=$CN`XJTqL-?WgXCf6bfsl%i`ih5DhFu$3Umn~HIH z_QZ}c!L7uh(VsMR-0Cq;5D&cvo`-V~&F}@%v6IZe2hL~d0 zj{Wng5P%ET0K*jVbiGnKJ#rNYBK>zk{JZIYvy8I|(kX|b)c=3P7){P&?pKG>IOK4n zccTxY`wzM4wA_gJqwf(dn-L}cMwWOqndNLYk-0v_4$eLQ{hiXNPZ zcF-idBg||v$x>^i{a>fwPM*h8`v$)yhPzLbY^${;RBX_*Tcw396|;m=wWRXq-utww zMHUHPMvN+F_vIv<+^bJ>;;zgpM?K=~Eh}*z&v2$58DCa{^{Q!VFVB*#^X)H?LOA#8 zvkpf}^9k14&Z{1#uhm>h+4_H9?serF*gx`AwDI{SI|caZO{ pRR-OB+8|tGVP(xEZQ%SB@l)-H_sEfMAQwnRRu06+r)8uK`Uj!LpBw-H From 526ffe1814ccf042fb9403376b63564b973eacb7 Mon Sep 17 00:00:00 2001 From: Stefan Rueger Date: Fri, 9 Aug 2024 20:24:53 +0100 Subject: [PATCH 48/49] Add options -a and -m to test8 --- tools/test8 | 22 +++++++++++++++------- 1 file changed, 15 insertions(+), 7 deletions(-) diff --git a/tools/test8 b/tools/test8 index 5725ae36f..51601e057 100755 --- a/tools/test8 +++ b/tools/test8 @@ -4,6 +4,8 @@ # Author Stefan Rueger, 2024 progname=$(basename "$0") +adopts=() +mem=ALL init=-1 rand=-1 @@ -13,8 +15,10 @@ Syntax: $progname [] Function: test AVRDUDE for v 8.0 release with -c programmer -p part; also leaves a file bak-- use avrdude -c dryrun -xinit= to initialiase part and exit - -r use avrdude -c dryrun -xrandom= to initialiase part and exit + -i use avrdude -c dryrun -xinit= to initialiase part and exit + -r use avrdude -c dryrun -xrandom= to initialiase part and exit + -a pass avrdude option through to avrdude test commands + -m use memory list instead of ALL Examples: - Prepare a part with non-trivial random content @@ -26,12 +30,16 @@ Examples: END } -while getopts ":i:r:" opt; do +while getopts ":i:r:a:m:" opt; do case ${opt} in i) init=0; [[ ! -z "$OPTARG" ]] && init="$OPTARG" ;; r) rand=0; [[ ! -z "$OPTARG" ]] && rand="$OPTARG" ;; + a) if [[ ! -z "$OPTARG" ]]; then adopts+=("$OPTARG"); fi + ;; + m) if [[ ! -z "$OPTARG" ]]; then mem="$OPTARG"; fi + ;; --) shift; break ;; @@ -63,8 +71,8 @@ f="bak-$1-$2.hex:I" if [[ $init -gt -1 || $rand -gt -1 ]]; then how="init=$init"; [ $rand -gt -1 ] && how="random=$rand" - avrdude -qqc dryrun -p $2 -U ALL:r:$f -x $how - avrdude -c $1 -p $2 -U ALL:w:$f + avrdude -qqc dryrun -p $2 -U $mem:r:$f -x $how + avrdude -c $1 -p $2 -U $mem:w:$f echo $progname: $2 initialsed exit 0 fi @@ -72,8 +80,8 @@ fi ###### # Actual test -if ! avrdude -c $1 -p $2 -D -UALL:r:$f -T "fact reset" -UALL:w:$f -UALL:v:$f; then +if ! avrdude "${adopts[@]}" -c $1 -p $2 -D -U$mem:r:$f -T "fact reset" -U$mem:w:$f -U$mem:v:$f; then echo ------------------------------- echo Re-running to create error logs - avrdude -vvv -c $1 -p $2 -D -UALL:r:$f -T "fact reset" -UALL:w:$f -UALL:v:$f -llog-$1-$2.txt + avrdude "${adopts[@]}" -vvv -c $1 -p $2 -D -U$mem:r:$f -T "fact reset" -U$mem:w:$f -U$mem:v:$f -llog-$1-$2.txt fi From 11f419f554b8484a161bdffe503ebfa4f6ac9e25 Mon Sep 17 00:00:00 2001 From: Stefan Rueger Date: Fri, 9 Aug 2024 20:28:06 +0100 Subject: [PATCH 49/49] Update NEWS --- NEWS | 1 + 1 file changed, 1 insertion(+) diff --git a/NEWS b/NEWS index 130a0017e..a8ed1d867 100644 --- a/NEWS +++ b/NEWS @@ -142,6 +142,7 @@ Changes since version 7.3: - Use correct file locations in the documentation #1637 - Deprecate obsolete features and options #1875 - Add more hard-coded usbvid/pid to udev rules #1876 + - Fixes for jtag3 programmers and prep for jtagmkII #1877 * Internals: