From 11e63c8e114d4c182835615661fa1324389f1a2f Mon Sep 17 00:00:00 2001 From: yoAeroA00 Date: Wed, 14 Jun 2017 21:13:08 +0530 Subject: [PATCH] Add support for TP-Link TL-MR3420 v3 (QCA9531 based) --- Makefile | 1 + README.md | 2 ++ .../tp-link_tl-mr3420_v3_120617.bin | Bin 0 -> 131072 bytes u-boot/Makefile | 7 ++++++ u-boot/include/configs/ap143.h | 21 +++++++++++++++--- 5 files changed, 28 insertions(+), 3 deletions(-) create mode 100644 original_u-boot_images/tp-link_tl-mr3420_v3_120617.bin diff --git a/Makefile b/Makefile index 764b9fe..3225825 100644 --- a/Makefile +++ b/Makefile @@ -225,6 +225,7 @@ $(COMMON_AR933X_TARGETS): COMMON_ETHS27_TARGETS = \ tp-link_tl-mr3420_v2 \ + tp-link_tl-mr3420_v3 \ tp-link_tl-wa801nd_v2 \ tp-link_tl-wa850re_v2 \ tp-link_tl-wa830re_v2 \ diff --git a/README.md b/README.md index 6e27c72..146051f 100644 --- a/README.md +++ b/README.md @@ -103,6 +103,7 @@ Currently supported devices: - Comfast CF-E520N/CF-E530N - P&W CPE505N - P&W R602N + - TP-Link TL-MR3420 v3 - TP-Link TL-WA850RE v2 - TP-Link TL-WR802N - TP-Link TL-WR810N @@ -142,6 +143,7 @@ More information about supported devices: | [TP-Link TL-MR3040 v1/2](http://wiki.openwrt.org/toh/tp-link/tl-mr3040) | AR9331 | 4 MiB | 32 MiB DDR1 | 64 KiB, LZMA | RO | | [TP-Link TL-MR3220 v2](http://wiki.openwrt.org/toh/tp-link/tl-mr3420) | AR9331 | 4 MiB | 32 MiB DDR1 | 64 KiB, LZMA | RO | | [TP-Link TL-MR3420 v2](http://wikidevi.com/wiki/TP-LINK_TL-MR3420_v2) | AR9341 | 4 MiB | 32 MiB DDR1 | 64 KiB, LZMA | RO | +| [TP-Link TL-MR3420 v3](http://wikidevi.com/wiki/TP-LINK_TL-MR3420_v3) | QCA9531 | 4 MiB | 32 MiB DDR2 | 64 KiB, LZMA | RO | | [TP-Link TL-WA801ND v2](http://wikidevi.com/wiki/TP-LINK_TL-WA801ND_v2) | AR9341 | 4 MiB | 32 MiB DDR1 | 64 KiB, LZMA | RO | | [TP-Link TL-WA830RE v2](http://wikidevi.com/wiki/TP-LINK_TL-WA830RE_v2) | AR9341 | 4 MiB | 32 MiB DDR1 | 64 KiB, LZMA | RO | | TP-Link TL-WA850RE v2 | QCA9533 | 4 MiB | 32 MiB DDR1 | 64 KiB, LZMA | RO | diff --git a/original_u-boot_images/tp-link_tl-mr3420_v3_120617.bin b/original_u-boot_images/tp-link_tl-mr3420_v3_120617.bin new file mode 100644 index 0000000000000000000000000000000000000000..d176f3c4199086af033ac45a5ea1a33cb218b9ff GIT binary patch literal 131072 zcmb@t30RC>*f@S>sixILT8L(9TC@-B;N$zVG+_f7kWR<+$gZbDw*^?{l6rPjrNM2tIU#hDIQnO+Z5e z>Jw0pfI0-6K|pN+P9>lw0o4hpMnDw;vIwY1Kn4LP6HuOj69_0vKxqO>5pXO4L3AuX zS%QFK1Qa14jevp#q!N%!Kn!3#X_$b61pGn3Zv^~8zySh&Bw#-Q-xIKxfIS3!O~7sf zb`h|Hfb9f)PQX?IJ|*B|0zM+(0|MS7;2i?qCSW50ZxFD7fL94vN5C2aUSUljWBo4? z{YnB}Bw#rK&lB)00Z$XKgn&f^EF|Cw0u~T3pMbdp%qCzK@aF>mqeTBO0S^)|jerLT zm_oq41WY1e0s-R*xQl>s1l&Qu7y?ESa2sm^1?#_+=tmGRjDR5o+(f`&0&XB+AOY7A z(2sy?3FuA0H3ak^pc?^Qfj`!N714Jhpd$et2xvz@8v-sPpfv#(6VQr)mISmQpg93e z322NVTcDh(lZX7`a}Z*Y5gED3Di^}{zmM}S!#Hbn9OJUdykQ+eV{>Ykt&|?1wEgCW2H_C&7r^m`W&zCsv1o|QiQ^)wBqD=rPzEw6p|rO% z6W<_2VgO7>eiX(xVLXRFiE)UgOcQ7%AwQa{Kb5B-Dx*O#cvQ9wWat4c6U5ZoBgz|8 zibph-2qN#g1iUE!+;N4j(qP zTrhq+l4lFj5Xx6mhH-h85X9g$Z58OVaG$`V>%;^imH;Bb7>6Z@$gs{7)vK|j@_9oe zc2q!nz$>5+BB?tlvuWk%lqiyi#(>6xrp6LR^i#sfn=SmqS$E27BlxbVBh2Fg3?v|j zfFT6bA)p@t*#rzGpgzzfof0O=17Fe}VG@I+ZowL_&KtttSz@GNlBP8aiC7!6#KAw} zBzd+tBI%wQMx^83tnryh5oGpei2|OF0}F{d7>{3zCjF)l6?_Qv5tSID13qGloUqlk zJYg%TjzC-J^W$hl|4}@=2G4<^Va0#qpi#WvX@D+9KwAK>BlzR5K#Q068ywIvu6kHIladbkwgb@; zqYy2=-Y_uU*f1EG(UnjXU4zcS`pGiUb~>}L#xM|>$|~_`xzL#-G)Lhtde(e;+X;F( zh9N*N5JfYXn4T18#7=x(n2#xc40u5N<{F0lN&D}zP8-0qRjYXI#g~zMaS4(wu0(Xm z2MdH4Oq~A|4wqR3TYLhvM8HXec}-(PN(5X?TeS)?M)aOmK+sA8T7Jc+k#}(^@&KAH ze41bjHkCJoav97*Gs9pkFYvKJnOtU}sbL`QBLw*;h$xsZjD=ucY;p!d)^w%BXcP?i zg{q~HTW(2AGK0Y+bJX}ULSAtab08ndsscL3a&}T~NCB?}{1A|nL1w5ii!%{pR40rt zWsRf>98=5>@YMMIe547uvar@k#T0SKAQPTfJ%(hlt@$_?kY=JOqT_LFXM#?_uRiFX z2>K_2{y^7-uv6fOou+aLJC%T)tiVndU?)?s6Q>wtR=vpQZA0OJe+k|oFAMX)Igyxz z(nk5Ad1SAPea;Ss!_=c%LR4)0r#^ub;J)*H2c8V-kNQK4whJ6OMjl<()q|Jnwvf}Fib^v>sg1tC|y{r*e zmdSNP$cDokX1OC0Hyd&`50NrqOp3!B#A6s2ap_E{YRGB8AMO9X4(uj?*V+IMhR_$x zbOBmddA#4~eZ%xHEj|rwJot{+MhIv!Y+Mk91#v$zM`v;0k9*LS zM*OZBNBI3Q_?-nlXMoS;vCqLCnm7;me&xn7u|3F&vdjp241=$SHSl)Fbp~o1)Cshn zu3^pL{lIge4YnZ*Y{vlG$zz_7lWKrV#`eHE(K8VhV`6-;+fP;=k2fkC;6V)2nbzG% z5bMWxk^? zmH#Dsd=g()VTApdJ`(>}Uf@H)yfZ;2Y?~s*|K>sGA_;6SZWLcWaqLIX2jZK~%=ADc z@F^MF8t{a`oQUg*NH&?g@0p&z#o}-FCgK>@Lps> z2l z02k=%Gn2p<$z+hljjjYf7R0ilSdifu2g~)1^$K$KH(f{kGew^8&mG7$&Ehji4eIPa za}Ioj&wu>9%S>Y;P7*&p#&VD}nE}3syyV9XgNPdhwT46FDToB}@O_GHfbmtPBNBNm zT^-iB@b@Pdh)<3-_@4Jkg^te%{9M&c1bJY8_%mm_L zJTqNEH>mB{=a2{TP*;BK^_b4+XG8|o5-bDc4Gm>_Gf}k*6H)b5S(dsSlxczEV;-t@ zU?wYqAC(X(nFV#JgRY`&49{j{kkXRQj5mWhMMOzfg&53NQ$abhD%$QaPm$%KwX)23 zci1+A%OsWpL3h1~Wbe<|z}%$tn;t(F_$h7yX^SG0amH$;rx) zFQ#-AG+$pu`xUGg(&wTceP(BWwBVJk?aN|B!$h7oAXJ#%GVN(^t`Q1KL6}$Pf!v%DzxX z#ppGlfA#boNQhpIBuLq?FM+RfR#s#K<}95}d=z;2d@y&SB?}Q}J2k0Qq18`CtuukQMAf7R8mYcO>!8W4Xn7 zC^&&^$SuxCA&6T7XH5P+E})u=v~k=NA43s%9^!^UMg>f$WdcReM<|ntP#Tjp7Uv_E z$&%!?t6qX<7a2rL$OHUzluN0GGh6+yGaG4NHd0H-fwgo-HSnR56}722=JX*p)T#Wl z4WkI=AxbESoFoddL?&;~WRlmUG2xs;l9u7Uft;h+agZeo`gShJ0z=?c0`lss!rcKs z)&-FOQW-uiIva$WL*t@MI*k8HvwI0fnN3qF1c0>Y@&v9Q3QC&OSOX@@Ui0} zIV`7CCK7~keel14YBroH0S9y(i|243Y)uD$Nr4QqSRX7OoI~+Bm4WvYT#Epo%GVjM z2RRGf_jV6--S8Sd9-K}2`x?YWBE&@^#6=>+MIyun)Fm6JOV+UGSwYTQ z;Mjt*L?D)V$^!A@jz5UU{_1nc#CKD=5+~-b@sV1g6!UNO3iOV_HETrP zky^{5kZBtzTr#dpm?rp137!Msd51UnXHDWzM)^QpBu^g3vgsJ_MQT^U@6~7m7BeXi zAuu_5pDA@6h`@3bNBG>a<{0@?`t>;%4Z z0zZpEYn z2jV3U@*83Y$28f612H&qeqaexQ68N3;I4&?JVtEEukqRN9EL0a5B33b*b_OB^E9Zn z!V?g^lx)I+J%PVxnjmKk4lMqXWhKh6H{F@K4jL5Q}I}3b610AJ+rwS4ti;{A{Q8Xxc zzz^3vJcoqff{Pl+LW{MTNRZAUySXs;$6&m%HG!rMWReCy_X0_x)=D57Jux57aTGcW z-I5i8?_#KiPK8>{WRV3?pqnh2+y!w(mNdckRO>=QdEgJ0yM!O)ES2o8%_M>SAP(lk zT>%N`xxoIegva1K!c2nORXmPlt2r|zNJ!a@gwSHhf2i`P#)V0eCeBHGJCZ(NT}JJQ zOe~c5M~}#jL_;`%Ce~zfCn1X)*p0$8MjoGwU~AHTICH`+jHEI6M2Tc4tATw2>x4)e7D}K)#;@2A zSq61sBsN$bs2bay?B>AS?+$hq!8&osBsISM#1Tc(_%HkN+4Rj;oo>hb3;T`M7V5Wf2|IlsRpSnT1+2w-GM&lLo#)TiRV1KZ)5K4k) zdLbkV&*#F}C#Y5*_Eyp?>=(Yipd(%nb}%JbaFqV$i&1$;?7;pd@85m#ctl7QPkHmmut877qeUEj= zvVh%aB;bYPf@I23!gE+As@!SxR3C9czdt2O^p>u{~{ z2ODq$aqXpGJ79hDV7;m=k0*n8otQ89fJEw~Qz?pcC0t*?9>HjFCQ}{uYZetz$WaWe zZ#B!9;zD)<-9TQDU+{mB8Ft=3YV`ks%*uT{-uU(rnU!mJ)oLb)D&>OA5XS-b3Rx31 zQzQY;LnIwbL}vN&e!|{EV}-ySjfewPxn@WbEu<^K9o%rB34;vw7?1WrY=F(-If4f} z&8WRs{3$y;zZm2CCxy?7BGw%2OI`SlWV{RS16~jNp)3+vfmpI&FFCM{82D2xWW=9M zVEeyl8~;grf9;4bN$oDofAc31<5awd<=x`fl94?N)?r_gLLHRxo}%0f=cN&!zCdyf z9OVs&G?s(p*km{(yh1{--(vX{aSg+JugWfn=_trss9{MEBe-TMTf%(>)G^S<1D|JD zU`t8RnJmcAu;KE)Vm!!c4>$(^t)XtLJEl(}^Xm~6Xxl)%3KM4x8=&Kaa_LHiHLwoO zV};gy`N{Ap zVA;|8-;sMjc>c!EeJREUNyp%v&nA}(>OctMXJQta#L>&kuPpj_=WcFV=^UQ*A^xnJ(gd z{*OCKwq&`Wo+2v2&!2kQNM75Rito;hfQNSiSO(6auR(4`5q!se+(w^2Ft1S@j1PG9 z|H5Na$|c$4*^Ci9bq5`HzZCpTgXzaZF8()7F8VK;f9Fm6S3Erys>Ww=$g@anAFvs# z5c*hlJPv;4->>5DzidV+7tnD>ta!Ik{mBT+`rk4l+W#mcCjd^1{tTUD!w|~&2 z@cRBAaNGVj+yu&qu5jni(=m?Z|DKN56u~&=k8Q$-gdL#1iclCMcg-WQGk)~zw`fJ2;4Ss?JilA5g@0Z-e{4G$vnn=;JZm`0onX!!rYx%MRp1 z__rS}lMT-kEGa}IFQ*IQ+6l2p#hHd>gutdCTe>p-j_m39&e*#MzJtspJcipp>o*`*BAWEmyN&! z8?*WIU^}QSI#64*p|(jJqzL+>@{h{) zSDwP%OFBx@G3NYhuKdFLN4z4Bf29dA1n+Nr#=63@7mF>4C^)Y4SmK<2!^ga_OrR(K zeiE<4eT>iN4QtuB4)bMv4d-N8WlRt7dH+TakMY;?{rm5_V;mggn0^sq8=UhA5KK_d zfBmj9V(+n|_x~gJuCNAVi64=fQ;TUppFL_<{JsDlgZC@s;XJgNP0mD_CcuN5$v+>lX_*Mlshi<< zRSvv|z{vz&_&%LJA97>|+XP@z0yl>ig!fyyz78qm0NdxX!NkEefdme?4=Rp^R zeRB)`u45cR#Gd5H{ckMLf%AKOhhZA**JAkY7izhHjvL%%n1UX#f9ZI_okqK1S|P_U z1@{3a;hG)~cQd#TziX$R0@;Y~DW?>FeNVzX@qRpFe@QkG?<2M564aV9s5R%I)|`V{ za~AIV&%k~EX~clLmS4YX^Y>O0RKnk1je)Nl(1(~H>PJs;F5<8$90kBbI>sa#)OKBwMhyP_=XgYB)64mE^(aVI2kKTK z@F8e;;Pq^Buqn*dVct5%rlx<+!(0Q{9Ot0-pK}oRV_?28pn887Ckb_sc`woI39}!yNs^GewWVvD+hsZIg2d4+J)&n7`!6z5uonDO&%RZ3x+DMMMnYdA@w` z`#XOQ;|KmFH_p%hW!$3(-r^h8a}*!*938{{A#64Q)57B{vQU&>G7>9N{CkYST`w8q zV;n38mTi)Km z8X+AIKaP&^wh;cF1~nAUai)b)xc1Q*`1cy@Bg~VW3BQR!{=#`$2lhN|*z+`D&r^f* zGz-qt45-2U-=FwrKd1q4AI+CXPm&)S^xyOr;oBF-3!&SnPxR;{{yxGca}*%=jrleq z|FRe4b<+u*WuIoV$=Rnd4V|Sga9*20UYkH((^=z?2)s8V0(Y1cY{StH)Cn@slj7$L z$cF34NPQAJOw^~}_lJm4AHd!5Am)SDKi8x7*!9PK2yt0p56 zX)+ST>p_=5A}{!P#FxnwWQsxvXuwM@LnQAXmI0mS$p z+{a%=ApCYQrd(3D&ozcE%i)~*2DDB-Aw=9cdZ-kv&03tED1JZiy^jdJl%*b z`b|#P_x(@ym<+0JAFq86pXP}Q-M+?WlHcHdpZI`(`EuYcf!np`9lQ(I3-3_AN3=a} zkr>D#pxX!Efd)&C_md)5&4N1vDnMmI*5Bv967#hGnC~Oz>A%l|9%z;<9Z|&pMic8# zqDcI0jK-El(`U)Tdy*q|65#75cbPZK0PamjWJABx2HC0q8_vi)@7n)PV=(f6!1>cg zf66gBKWd}@njf{%pYx`t-tuDu+uPz)FaNtBTb42iwm3T)Q`ncI-+#pyyz8kW%0+O` z!{Bh+`S0_>oiw8gyiXG2Fvg3(`*}D9Xk0|{c3@P&j=>)n9T^{`$Nr5DiR%r&xk25d zX2SiY8WZOMG%7S2G%;v&Xj0H*p~cjg3YD|=m z=MfptOR^@MUjrxT{=Hi-9`qc+NvV`INXJHNt-c9Gf zA3i$A7Kr5O3fJ`inM}fhFFLNQ+!py78b%Jji5*P?hs98c=aYKBGKG`?gxf0Rh2`=~Jgq)nTYD z_Y7pr&}Yohp03N#VoaZ9I8)D1M}NvFG66RWX&-nm;i{P~y!4`wf1O<5+JVG3?s>XL zJ@)5Fw8YH_Z7t7jfB0r{>b)m%!so3tww6Xzy(-rdO1eBLc~TkOV{HlJt@FSCXyB)b&zrS6>z)jr@`^Km z>Qa8kl&TdplQQY$2@$K+&%`6HTMMjbtCHuPxFkxaUl(KSu=hTv%m~!na+! zGFCnRE-~fF^|X>ZX^PjH3(l@MGe>6XS@CUURZg?3FZ!K&S02qcc=^nE%J~kl;L>{s zdmhd=IC5`uF||cyd{C=&bf>%M*c6Z1G2;Gf=Z39yEa;MG65S`vJ0gOLRJRBnE$tt( z&oq{nb8j-~qqmP>&G1(@duOhv*G)M;z4hyS1z!z6n7C=@eT{bd(=bP`XO@lMFSG?D zTjKOG|oEibvm<_TGPxscJ5Bobj>G6cdvY2H0h8>O-Zl&N0p6h za}JaJ_lX=97Cin|LeFS}kk@trWIt~IWy`3J@-V6JQjH?9^Aq*=-b*<2^5G@%h}OO` z(Uvymj{El>e0b1d?EUP_H-)Fs>$Y8zzV+pT%F2L}%`arj=5LOpId=2LtPNZvIQxbq zNz^IP^C<6|Tak~eFYmszUz1s;NJmJs_`UawsnIqDlruHQyi{E8xJZ9p;4^>G+;y8< zitetpeDcV#mD47=X4d1`{l_bdmOrmJT0j4EQ>6Ae-kYkbkMcJz*6dn-W}i0eY)<~g zJ9+}Qng#dSJhz{s^u+7(nKfZk>s&3%oxLZL)dMtA&Wc`|RV$W| z{-Yf5|8B=MaJtS+tr=6bp>9|Ntn&g4cU*M=8uPV+u-ep%G*mOUq{d)C=# zP-zC7wwOyYtA%ZljQ++4>bGxB)1q$;a(oh-%TATp_;E~0)qe8wce)Q7(|mjtc2(_D zdR}X%JwGqk%jMCE7ptzsY`mJdeQ!+tuvPx#e7kL`GuCwOjPc~W{Pc`*O`E%*VEmjh zsb3BaO*<)?5fSO(sw#Gj>E=--e68Jm$`tp6CkjJR*XH(lK1$}OY=WVAX@}xNj_dHD;a|~HHt=W-ZwrRl1y6n8;te5X^(<*k! z%(f$&wrHOT%UvC}FMnC%t)=tl+5!H`yB9Ygd}bY!IglQZL?*nkXsj{^p%X&ZqC=%om6r zJtWu_aGK8infU0h~pzH+{G>y&572M+q=DVJ;H zF;<_{HOzfKr%Ax7$-z93yXm&q&$bugHJtaa)&1`FKFOe+>!wY2)>#;CnyWO&XxdD* z<b#EZN{>8@&TNCuZ#E3|bdw0EheU0Gv^lkmuDE-^_t*xJ? z?pfzj-gDMFEWba)^G#sf^h%k9B1hVC=UFa4{CV}uUZM1X7pwQk@catzRF;Z_=$%&Y zIr^5&$x)$h%eyV3Gd8C8aEzev8x+%0EwKNIT1WMPd!`}#S0#%#pO)*-iChvi%g$fO zv+|ktqK&>u1{V3(4;+hGrm(tnx$nHt7RC z)gSlQT6l*%n!9+~>oq|qre4@J!S}-B!29anq;@q+ar413-de3+T_mlX&E=Wl)zpKr zH+QJ7>tvDN<~+1JGBY!z>hsXyy9;Mg*pXG6owd3mtgbbBRTsSoN^!GzIa?^dC!zPv z(6$R|46(~v3;oaOuQb}cXgOQlwq@l|VQTD-6*Xg0V$;)WMRqAG4S9LeGY3Mgg7&?C zt~>qy{qG4kOs0nR4Fx)8-`%xvZfW#c`#B+FeQDJ+S+n~2L36AF6egFoXO(tszP#($ zPGR$S#`}xLq7h61hJtnJgq9>E7@D?X`|XLhLN=EbEcbuSOmX}&bK9B2&8H(gG#1Ui zAUP~tUHkCR!JH1wEaZB!T3+I5+3ZjHtHZA!_&Tsrs&jX1^O9gbZv_^8H(6ob;0O`Z%@&bhX)>}O`;{A_&OME z+!$tEv~bMNlDm?_XIE59JTvEtDF^Rqcv`b;RpKEjo=8Z{q=l#DC@LxQt6j7xJGtji-?UVITd3xLKPhPW7Ia$8Hn01*nxs^I(6{tS zKTlh~exRY;>8UHWweex^yL%-!p3K_pUdnviQctu$#h8Fr?b$U?0zGJLJ%ui8v<=#c+m)Bo6v(OO#GC8g)nw90ArXt#U zxB@L%EkL5rKc?3s57&(+TR*KoHf=@Eo=Tdkm&GATtLAODOk8pYMTM)=zJ>Bu#-EWJ z>$Pd25Nl%l#M=5SjbjxOQ?rfC7smGXZdbkF)t2ntzO+K}^^VS?YEAoREqh_jJgz+7 zbIHc53w(_GV~6WD=w%!1y~EhVyZl|n?yGz2(8|rrWnLZnKI_d*{Yul2-Bo7_R1a_V zmGb8ItqE>o66%kBuu?L%IN9Fux?gd~X%MW(-al5Tzeut-44$~9MM#p=ra z!V!6@sj@wLRy=<)=cl-Uyr)F?u+`_XiD~t-4qON`uoOLMMwRfKCAslpsEj}|_my?PZCIHY^RD6e<{+=FAKO1|-B!H6(%fX@+>)-k;KTGtm&jtnivGs>h;QvH z=+A41%G^>NCa+l{syO1R+NOI=}cSt_7`g*WbNd3jY(;^>l)AM1=+-};gf9$rS zI#1%#_2d1OUeQpu8d^lWP5Si=aB%5#q=R6Iix zMVV*pO}NPx2Zh)_B;%g%jLhxZ_aNlD`RVvV`V=9tah+d{m-_UZ9ivZa*S*uRDsdY%-6f zl{*?L4b~gCHwZM3f3CN@X=>h?j59r&yKjHeP#WAPVeJ|w6jvl7e?EQls>bVTl6gjc z6Q8#Eu3i5jWy?36zGvHBy*HLza$IfYyT)^`mqiBq_qa8mEBAbJYpT`W_9jw&kp!u) z>cd*5Zt~6;%Bm?oH{l>&t8`E*h_$m!U4HZ}*|Ntlx=N+h@-E#=i4J?fEv1!A5)QzOlEP z&t|{cB6DTAypE}}fTp(4DaysmX|gUQVFzc^cZZVOt4|7i8|P%8?w)2~`a@T*ChWeu zah}x9Oc8aL1+yMF`nHXAucN>Fqvm^W71~>95w$yI>b|pQ0 zuHYGpx!SsWQ^G$9yBRyn#caGEEODO~kst5YY-`)JbL}1#zxLDnX-&Q{W|x(dH(x(y zur8Z-D$d|t)^x9Jq1#eq*7@wcd%myvMd6`~yKb*uK@z&7e9Y^iLTuL?`vXVkZ(Uzw z=R8+3^47%4`4aA3CiTltMC&(dN}4S#o=k1ygqK`Xb8368Ul?03+&!sWX77|QC#xPY zSGWpL>mC^JIK6LnFE?!tIB;j&<^Cc^q5746;t9KBPwKJ+=87DbaWdTJldP!g=VAL< zf&N`S*6;TBiH*Gz!@F!bTsGy)B2mdNB38_V2M#7Ap}y@w&7Ee0*PdRq5sx_X%pa$7KJuRGj?2pm zny!+yH|{<(G{a)L>w|{q56*0bX#)v~9Ury!)Zea_*}5S6iv3A@Pp9jWv=f6XBu=Jz zsEjpfkEqnSxYWUaxl`M!=w!RR^6=EWv)*b0`jU;UKuN{FDrli zX)0!vdpvjz`OK1)rvolb3taP&Yb-qT`}Fg)YlUb1=2^Y_qGNlQ#Gd+2W=mqU>ejgo z|F+u8elw%)4@=HT==mOaKcB@wCq>*RCGqI;X9X0J9 zTWYRVxnoF*^(Z^)oBt*2biIO^Wq4{!NS1X#Q$^f_GLNrc?k*iiSJ}XrZJKlFhq>}M zO5)0CdFv%7e1A;M(3&%D*{Nr=xhF-+8`hi6cXjIBe@~))+w&ryd=AMz!PMqtuH&cD zl=^^#>Vq>4-s#sJZT?gxu6|E2V3N(c9DCM1^nm`gYuelD(|g zCR=*?`bXE?C9Go`w`f=^E9}XY__Wn>WAxUV?XNvDF5Hiy+BB8A%vvtA(`prSvA?`+t+~Pld)ZXr5x9;*Uz4w@!-87+yWsS}*gS);-rkq|;<;q!lrLw+pL66NAk7<&d z?mwEE;je$gS!&n1FuVP4ydE{IY`Xh!VyXz!r)tXTmKLWs{k;vdw5YL}_i|j^hl?UD zYl0_zy|*d6Ij!fqzVC%xQ`^lri`BJ#5nt!AB*xQioodDaSUb2`ywL ziY0Pquu6-#p{uIzEwWj5c1Lw5X~tWpK*!zhvR4i)o0%2)Io$Pv#`{T{SG(rWa$L=B zsy$cO6CrAw;_I3F@W}JUk0V~6O?aa$-v?g}d#cOooDr*^?p zy-5-q2b?FTZ5aGuSK~(M3qMTSd1cG{fx_7>Q+C7_+aEoym_~c6CG7FEhSjio%{7(q^O3F}vlC;Co0gasuSH(ZTz zun*2QnOc*!LQMDTh44qJox)m+n5Tj#xIVZcwliR$U*+{1nTmP3Ar$djQXy)goU$zS z1&bN2FIHXltLU>mZE6tLW%k*Dwr+|>Yc1`lhqlm>hkZIv&rwzfNACz%z0;j{e=8ce z?AwN7U&N_wJ?=j?yg=nfOS7<(zF~5%pTfZ&*EeGI^aW|_qvvMlEZP6~v+)6q6!He! znj_C8wx4BomF(R;6gpVG&t&uXSDRF|=P<0+<%NFW9@-Zu>UC!V@|gct-P}CwMAF8L zp-cUwQ~mL)7Q}rCy?@&LAT)(HrRd-GxP2_>(X;G|t{`}9jyEQJg1 z?yPpqiIv}N6%e;kVK*~ww%gK_qx&Y^HCSd}f-F_0N*G>UXZ7f?Oi=fpRaO1D?XZGynEYWBE&u3B< z+TLUyx~h}ZI*Fm6AL!8fQ}0v!!G{f+-<9;tda9DPE+qG~wC{~$tTUlRDkyH;x~}Z; zyFF0exRr*p=cs7Xs7SW~TcK3B_7pSF3-lGEIC?&DT0d%k$${*MFKdj+pV z9Q+whE)z36l(wuv%1h}$`%96kY^EWJM$PdL+*nvayIgVdi(=jT*Eh_(!@EBm5eU0* z!|c)Fhb1)y+bRzEO*ruN>@tWRm6A&Xe(MMoRqWsM}>u%26 zV(#;_S7o3z`nrDYz)4QZnu0A~QtaM&&9r|$!MZv7t^S-fgKzIByw`kkRjzyflKY*$ zR$D*36nE_YajIp|^1igZj7LrACIh>OozJfCHQA6{r+-UFdy$;{oYvr7H%OdIzC026{IJT^*JwI)|HMlXpY6SCHuZ0`xio%$6R*9YW?PEb35599Fx_VPn0=FeJUn6R;CO7-#?TjT7dM2}Y?}PiGHOcI%X?=wU!VWfbHdvmVf#Zb zcYb~o7L}W)h~60n>EG&jYdpSIBs^&CQBVIgTlxOnaVCA&^SPedRnCHeXV&Y^4gRd= zFpj)t-L5aYv~CE#ym7oB`;HoAf&e|Wc~WAQ@VBj-Hr6mDbf%#~AI7N(r4@)pJ*LpB8McE?F@=7=Ld9?VfykYJ;C{ z)@)A$ZllzihsK7lM80iNo3(21*9$S9++VB>k`0PXs?^y(=Zfj^nNJ0$*(K9zUlluz zv2?NhxLW5DZ==ZhkT0332U0K2GjlN5x@y{iv7S3_WtC(txZw1Na_MpRh97B`152Kd zxm&P|W5%g7s0rTI-mYda|Gp!4z{_mWWAQG(A5V26HST^@i7$Cc;5z74Ntb0ZxC zADl6Fs*lr~9q^(muhd)9+>N)WaKqG~3xL9CO~xj2ZAL z|Hg2_87q|noec$FHoeY0ymdoQ$HR9u#pb&9C71nrd(+RW^iNxPTHH_1es7@8U7nh= zt;o&9uZHw=;VSl&^WyVA$-kDru5f?hmE7Zt8J%NXhSBTG^=V}icav5g^ZBwMY*$U* z{4qb?dx-_lUb$vI@8RY62f>z0OEi~EIBv1#b)AIuz+t(y>h+4@s{7^0uIJ_&Fy&m| zbkY+&7H?NORpoNy(JFG^9m8Gw=Lu9W(<1w3P48Aud+Ts!(S(I_%Swz_uX?mkG5T)V z+^q-RTfK{r%dbBryCYq+JT=5{-PfBE#XmZSjy!(B@mD#cGb~tn_}+=x^&$!phc#-d z+bkMPAIBdSt#d6oaN^7aw|zTog=)ROyOSnK{hznrm~!bupW->ayYbyN-v^J2 zXnmHRkTLUBgIsariwHMAfA<|9sh)G4-%YUUFWBlrW~HZn-R@1bkB~K3XnQWUKUtLe zQ>c6CwbPC#=3Cw8&AP*V)w|Eo?#=E?i}t4*U2Ji^Gq^xKFvlv?XWWD|m zecf_xM&`~5_a>b?kLW<)`YDtKFlsI`#G2b+---DJKfA z&~)hA8?E>`sPbH%Lz>+D#fvtSF7j9(ed()o$>d6Mrp?{l>w`5j2EdDTe z&kTq7vP6NtnODlCuix6IS8u#DzU`f=Lsn41kX~SQC`akpTe(%2$4p&4VWz&?{+Uhm!Hvm& zsy%4cZf;xiNr(Jpvl}K&S7XbHEHf(A)OmQH*O;85ckITe3aOAC?;65G+}+4$T5=y* zE%QICJh!g7W%gW^y*}5B7W#FSr!48Zrj$F2{wAU&_Fl(;)d%S%H`|N4uLrii&q}*` zajwv=Jc|Xw>O89GMmy)K0hy#k#zeC>GSt_YafUE@0$KmF{pD|f5-fE z;VWtVS8Vs{+>Ws~d7OW(K|`}eZRLtv_|n1&tFdaor7HTs~`KfZ?90jwlh*GC{43=s)V`Qw(lF1YYu+tN>bo9 z)ym49WSb$0K`Z+g3()$wboQ{lQCOBiU3WCcztw5y^w^}s!j)Z%T8|o$?PZ@ksGd66 zHMOv_WoU2w@wR!z%g=sRJxR&G+OX+s7Wr1O#=M;$ou?Pt`ffKoRP##aSmh7qo4fBC z%IQ``k2*mWV!C@yAxN1QOT}9 znrt7+RUMU_rRgJH_585F^0OI{%TLjzvxZMH#dZ#TMnle7lEM>ZZg)pU-VL%?d|%qm z*X+*f1AAY2f2J;3I95JqTh-jvMMB@7nr_v;5qRJx$A#g;lWV^uy>NoZmq|-A6DNlG zs%7MfPMqbs$c6F2H7%lU--e3k7ik*0;nG%zB9%AVyS)?{%6vLFIp>hJ)aMGRbJ=1^ zlehb-4H-Wxn6n`H`;gvSqb+{h&)VK?eQ0Za=Qt%eZr;f=vO7z=@R@V1J)&>={>U3L!ey!Il1IG? zNhT`X=`KaP`d+S&rKP8;92?Y_(y{y4gB9NklU^%VbY34WQ;JpMMnoo-h2~Y?XVsj} zXw*1H?r$hv=#pF}@X5Asde8#5QdNPqp%jlZ#z&4v*A*VzzQk&?wuj5b#?rZ4jfT$l ze?4&H>jVEl`;3aaGqQchojB(@q2go1hY1X+$G3``CYn^9IAE&j{OP#f!y`wM`}PJL zuh;7mVSNdc?8x$wxKU9wmewHORBhw0x4f3r|FlEM@5R24r~1NPJKu}iX6(|WtT*;m z3A?G~Wbh_;^ThMo#pUwu*7h6J*O|#T)vZ2JxbgVWbE!TR9RgX-zO&bNDr~r^lN;E4 z|H#VNB@R7Hx3tus8sONQ+8r6L`teFIxGiRUF@4gB%<|hF7DomdDYSsqJ2;Mwvo4ix z%`GMM1udF1Pvl0zqAMjUnpbI=Chs~|J7-qxiHCV@Pu90&TxqOIxoNIdw{REt8ExYw z$*UEbX8q;T&4+i5aYl<|3{zcFua0vb3~xGhD(}(HIGwt;#cf88H3He0Z+tGToD}1; zzj)GhRnlrB7d0zdh3)G7jE6Fw9jwYLQ-)rbST7B}o5z3`nrT5zG>*!8A+yE%w3<7* zo@`Ndd1;WzuFzCrOk;#5wY;?%yI5r(HBP?j{jBHXp5HZ$`}s}Ak-o7f@?i5+cy-OJ?Y`b4aP=n9f4EuB1(6*Bsw*Y9szIZnWJO@r-~J0Hkqd$j7#R{j#dcb>sKU|Ey=3Qc0k`{!(_3snE`p~o{@K4>_Q!>P=DT{qSvL~u%@U~-as*NIMP zFYAw@JVPjWPoH%Zd-NZTyHG3hCE97zn9FaMe5g5feQWsb8JmTR&Oa0GxN!NVP349D z3FdKE2jafvoFC_V#G9pAd@ds=(e_KQ#CM#~?}idpowHCDLRK}_Raec=zP~}q=FVjV7LtS9c2}Aih0s67n(f~`S!>HH71y3(kxP*V_Rp`~rjWYQ zUm0i|uKDEg!l;wOo~IPi6BW!(nbB6XOU&iMy;)Dz!QH`)(+`R`Wt|K6wrCb8CJ6K- z2A`flsZ06Dv~gT?&E?wolO-#I>>Y6qiknHz;0bGPrlkjgZZx_`)^X#aPT(Cdi-`Kv#>cveN-+Y#Dt zGgBBttS{~Z-&3hsh(I_yvgP<>$OF!-7qJt zqxkL2imr2acKjUj9K7i~%}wpzgIv#u;@TsuS6QAPOp4FO?zasabGpG{wZ|@&Tkgx^ z!(Wlj?GR(`Fx*CHLlM}33oHrg(H+>+xWXtgWX(xpRc)CZQ2`aJGV5SQg>~!_@=$diPRNmaHe#)#lMgHU|lWZv0il)6t zY3dkqES$Evp=5mD@?)}14KFz_qQCUEiw(E-P^V?Ci4hd5{1O)4dMU_p#W?N8TZXl7 zLl@caiW^g*=(lpV?s{2Te86Q@m6rRO)#*=9Y9dQd+OwO^$2aWj9Y=n2(6D9a!p@x6 z8zRLF6#7Y8k+FMC*LPYrJ2-EN`u_kWK-#~@%S0F9yN<=De`SGi1NFV;ZNDU5E3fz+ zy~?$7E^h(eGFWFh;f0{Lc8-2^g4BI)S`-%Zthu0oRY zaj`w8mE^#8L$JVmmc2txZ5n$WP z`%qAgr~I0U|JC~Xqm&v?0Mf|UK=CMoVaFd)q@F!yI5joMRl>l)iu$o5B6T-TSIN4m zAbm0C0#VdK4nQQT2Z%fQ@^!=tuB7_|B76R-=M@UNv5wRwg@u2`7WK5e%T9su7~K}H zr(FpWOl{Pmr~cE48I-!XhAQN!?}Rpf$*45%juF}yBPLara~9j1g1hL!z1f&}MwfG} zT&u1QL}DC97qMrHB9o1GIZN(z8p4epHQ<+9(mR@!Zd# z@hf9;@OlZD`wA71Q~6$Uj+@pj^BoNY*W8B*%bljjasDb_CPSMa>-0yOjsN%h8## zGvw_rGu7s>LpxOq(hVXjch!LVw5%=1v(qk>^Id}T@tC5LC7OgGaclguupsevb>taQtTVdvdV#=rSplX?$Kby&`-FO& zkn~oKV+iHlC*!62-rOJoEq!EpAbDQ^u^GPg&wlaOkn89vmYhW` z2WjocJYc42v!WDI``N>-lo!2|UY1LaX)1?}0`TLc_s3zj{u*@qu(oBa?+N?}lale= z%oy5!lpmItNC|Ut@kVF+9`{E*F_25+*q}~SI8Ugtj|rcX#wBRoVUI!ioJ{8`5O?iy z*Q7oUw=M4h?t4I=!%m;!hhEU3Q;h#cx=Yz=7MYW~8fu+&jCJ$$uc*;)AOk+_C0V21 zMy@Hv$L7EVVG4j^jzV}XRdZsAKAR$52}J;rdwh!SSFLJDYB;=|fQB#H#+kJIf_-6cwR=m~&ps*rU>*>eSHXd~7kgd4OklAk zug&u^=)Dc)j9Zjhg0wSK*-)qQ=G~^Xa|5Rc?~)pTlNqSun-T+CSTb!AG3Ug zpcG|E@8fnPT9gdBh1Zt~Wiky;1PxynG1P~enBd^a`nk)4)*_Cx~fa+LY!|v zW!YNTus0(nTo~GyCNta39HhH!R!t-08AWXKCHNw|L*OLeUeCeYiBTm~9}&qJD0B(7NMQPg_;$)E&N60uvfI&f_G6mN5n{m;S(2Nss)h$e$w zZOgc_7vCPe#H)Aj@Vz^x{T4?e{_9^n1rO}3_W^QPJ{ECU|GOMxS6*-EBd`g^gbdn~ z>3^C~F8X1s6?KRrF-p&d72<8aFRm-(LSI+r)@9->PFCzHzIGY-qIXDymHaICsg6=; z<7Pgx?E{N?YcMt? z1%|6(5io$u4d2fTX?g0N79RGxrZm zmzjal|LlqmhPh$i%;^iH1r2yT#}ggX=z&316lbgO{NCpM-t!v7GC!TdHdw)UYr39N z3t=ytX`eYet6USjyv>qO=5O*pM<<(b;^?mk@VZH3w{Rd~*Z4XRl*hLfk&_m!y)>!Y zg^XW5U)BSg7yia`FU}Lb($d^qcb}y&EWg>MTpgRR-7}Y`;R{Fn2*@cL`3ogkgs#eJ z#tG|hq;6)1)4j1ERQ_BFK6bG$mZ|vLe)-%oRG5_g8psTO-V!;6?T>g52W#kfU#xSEc{hrS=vrY$hQ=21ASR5P`*!Wlr$$3vh;>HrtYf zYa$r6S?-k60i$%@{1@jvTFB*O-G>+R!vcQrW>(2AnDx{(h#_aB(aW%BFRK9zKl?y6 zuHrOT-I3!ET)_br=Ks@+HSSxzBRd@MFwgsO^%vg+gdWouAg7{=Gi-8Mi( zhXkEyz1f>u^j(6<9xC=t`eQn#x8oc(-)@46|Nrwxf2_h{Kp;gjFI>k#c4vm?Lu9rz<`#@eemdMAcAkkp_I|Lb=(dxmqkx#mU$w;W)(H&yJsA zr_0N$kx*y8v^N{1W05y7c5Il+&RAj4c99V;V%?|%ZQg-x0dX;!0knB}yq@N&7&-5sOP_09^*+D|&Wq|*RQyX8B^eijV$!kJUQ z)P=OYQ^CCo5$v%OKD$iL1j!IsWnW9wq8Fxq^Rq9N9jA@o1Y zM5?sZBbn$iizklGtMvoFr&&j~J%)w`!6jj&{x891;>5koDw_$Z|9_T3TQbsyxRMfc&E}zXvVe z$T>(dV82riZYESnAxHF60P`zl=h@`$NVbO=VF;7kj|H?_)bAbexEw9D;b0 zy>-j={540Wcb~)b2k?NZm)e3#LD??;5PjFdwsl zAzx6h^P@fl8|x1!^xS*9OJ2yvS1$%66i$uR`FYJl(@)Wk#Qo~$>$4?K!ZI7LJCq|u zU?zl~aDk?hR4V(gX8uJ+%nS^bTS1POA%d;*DsjU6| zyQzy3{ys%|e-jH~NVcr)p5RFLesX<{yvav`^V}U&J$yBi^5Yor^<+Nj%lHPmm0pz-l9%6UCVFhLquDo~lf71&xL{}5`=HbJMj8pS$dDCKpk z{FA-EQHUBm`21*<|CGLx9h>sJ(Uz8p8t^*IqWq|?U<03?P2d~-O&PR!U|g%TCA6sK z1(OW@vklk?TZwrT>aJBQ6>0u63n$3Ik!*HUqm-!*24uQ{YjG12DIoZ4H!2tQ>$ZR4 z?)CtVe`tIm64%W$cXxX(d90hpAp($q2G-icY79$;4L5aJ>q0?W+rak-bv@z6yWPGs zpLk%pJMb}RIC@kQyUsEXEm)ffkj5X$y8Ig9ih*I^v};!yt0GqpJ#{%Y(WNY*=F0_h&Bp9&c36 zNA%DpXEUUuY+-;G-$BUBV=IsD8eE!;3~ER3-45JE7Mrhu3iMp(ARG^NpN71YRefzk zZg0*9sbUyrO^!jwExA8SN&eIAv5)~XO816Evdo$ZBL9iU=MZjF96L#ig8pH~MKY{X zi5P$%v(9}y3tSjMVdh<{+YcCW!oFFaJAAi&ahHZ#c8)sCJ~Gzf?1yBmQCIX@5Mn-VO4&W4ViUEATcP>ht7 z#4@@k>*zh*?A@(fI)t^~3ICG<50UMQq8K05k9?H_fnaxhl)8hgsY< z-Lg5=v5qPK*qt?Y;i1~6mseoso@ab;C#r|p*xIJR3MPND<^QPg%T<6Pk4SCn2-Swj zzfthpE)|xGYGYL&o#vg?<`_ZRNdMCI{eB+us&YRQioWHiLstQ&+J|pmSuK9if?LmE z@RU+_I>M1B;KU^)>%awQc~7Ge+|S_2DggEbRWM|-7}w$VOYLlhOA#5R?n_y3LIg21 z*|VLh$#fY?u4ik+6WqQmlC-*-+2HK~)!h+~-H>2`Xe(JmS36na_QBGZVfJ0sL%DEr=f>?`k19b0*~@FOf5CA}L3 zx6Z_wLq5NlzEKv}oi%B#i(i=j71xA)m(A=y8T|GkVMSPPZb^tIQ;-TWWhhh3JhddYF zXQ)YrnB*7;)X!Ia2v+8k=JB#VjON|r(?yJB)*+v14CcFRWUGZUpl=yf7=^QeR#_;B zPUwPvnoTMZ%=*QQ4R@8|+)&a`CN|rLWT@#|re*8+ZAlLfk^0*sXYY~SS4)nZjU&KVwIc<(7LHiMFi!qLK$o7YG z&xx*0*_)<=)V>BTD@q^ZUPT_NL2)QA@(w6=DKNjJF(W)$UF3}6My|v;*QICV)lHcx+^PNz!bSrzYbr+P!*EdTB9 zt&*^5~dbfu(10?+HCo8v#v%H!-AQ<{OSy z53SDjgQHJ_)nd&l0GWOmJ%A%ODAr+2?pNZ+P^8(6rFe%q8X~fETZGs~ub1?dGH|($ z72T)$2E1?X3(MOR zv${d10OrgPti@BRjAEA4JT=Mt7)Lueef6dxyL2#X51PCO?%DRdQR$`w>AIU$RlB5U zfpWHkdQG*2<^j`4$lpVsdt=2Y19Z^wGS-fBFJzRSTD(#C3STXU*QM8f6&>9=?)N#( zq|r=^S=0w6ON9T$%!{Cqlz&LV-e=41nor^eOeVHhv?dxMP<)-^Ro$nAz`s5Nvy(O& zgwtYGVwT`!`J)2MH8kuz%M#B0*Pz!8C+77oZw%l|P8&6Em8p^6>f#Vp=psx^%9Ozw zq)73!^#qB1%?}Of9x_*a$l<@GOhYlO#D(_wPyk_1T{ht;ZreJ7NR~)~blW%+RL%23 zB0E`2?KY~u4G1Xi1)hNpE{^NK!9*JNs9M;kCW{IP>lL8%Cq%8gL~bNzE$t*P1ewEQ z^sT=Pu09-C;hl-pxHtX_r5L0I7%;5zYF%u=G{5^QAn`vSs(UKI3qZA4xR>+KvX6&B zBr7`EQQ-y0?+s~nhiu)HV5395KN)PZ@(*gGzS=}9ZZj)T^hrM$9aiO1)ugv2>k-j(onOC3IqfY+bX zhA48*wR%*rPl{R-g5}!WMPck9e(!x;c799Tw*v0A0IS9chE|~x1B+v^xB8E0=3^LS$0#lV(4aE!5=hyVp^5B|S&UO(;@$>n9O#N>58SV0ITR3BK``C(AGr_VNGt5{5 z^?Wnzm7A`?|JVp+`w+$}5u_scXI=i?XNqMb~8>CK(XC z0bCc15&g+IDzI?Icj!bxM65&%9|$))((+F>kz6nd*H%xt9c3MMP&Aa42Sg)Zx}b|y z+0vuZv4v@&K)d0CI8-O=v8K_XKTc!|?M9>v=Je4^*^QbUP1D~!U*s!Cq#^F*0)(e} zx*7$$=KwD)rB2maEb}lkz*oBDhLvtiYCl&HB2dom095@j&#H~!b96beR%$`^sxn9U~JzRa_$4&$7y z%5Q-)%)Bf_L@0*f%sS`QGsQ!(BX`U-$NnI0bGfnBRXrv{hPrywC7t9>U-x7trRSFM z78jkU7DNFS!0ad1t?dX`iRmS;qqG9dL+kc+U_bS2;|9w9_zQnSR?@X&pw>!A2&d`= zwsDC(goS__AGVAgQPA8msKp{DMq|04MoQpmRHuRzr93OO9talRw{etYjo_)_+7Oa2 zx-gCo5H;%98&YIncwrjDJv=D7JjPv}pg*(gbz$cpj`rozDlDKf3jEf}fQC&@3lsP0 z?JmO6=_9{a;5=vPVYmUPCIz?@JR&y{V;&huqh)YHmInku5Ig=&HcjMPCO@0Z^tCkk)QZ_sxUs!C}&*wkG2OILN-}I;m)Nz5|Po2mXn*< za)t5lR25bWFlM`CE%T1!;7C|g>q4YZOh;xR^jNaR&`|zoM{3M%=figWH)e9yjC%zV zfi{S8UYOJJcWH~hIkN=RuzCR1+5Fy-EZhtm15*tA-emqC!dYXX9p0j5|IPxfKEBK- zQf9~;q^;DlTW={y|8`<#UKzgA)(HNuV>~BfN%Qd{?6pLs`jr=Uw_=TL{09qDoe(n} z$a^lJ!lPeX&)j^kR4I0}Yd{-_CdZ;DDX!SrEs7mUw8+q`zxkR~AFL=N8?aCnfYjK) znP?`C${e%%3aG{hAnj>T?ZyXAoYpREy9S%{Y)04}1eypyaGTAm6mpFm*urn2hOd1V zCHL$v8OoDd4s-D!i%$xz)~dEr*zbp7x275THmjrMfI)J~>0HH79&^0XA8YP1$a>6zGD&ftQfTN>!ySZElk6uIWd$PuoeO4B)HPTF zC7G=gt&5nGD=>`3mWa8~S! z#W`7t^be#l2kq&|EG*QQkuQzoDmx{D;vqx`W!Kt%tgb%i4?nZ*FEO1%Sur?q`F@+8ar4~Tu7ss{E3zfP-6S{ZQ^;pY@^9j@IsrQW3yqfa!!x&-)Ah0)9 zrbzyKvt=qAX2{dlaRskGD5xzF{(dFJ(rqDasR}0A6(qQWom0dmNRFU4;~*)FAKLgw z9Zc!%lXmyTGuh6;!yY7!W&ykUIS45ipU|S(8^YY^UV&iNt1X7BGUH~mrD&8*C$I8G z#Zw4+Tb>_kf7!gE`Iui{okE=&{4DB@-OJ<)z}SKz}N$}Ape;A zbUuq{55R~Rk7pyda~3WtDD8RZv4}P|?6|eMx$1pB_tI^vcKn$WBUefO!(4l38TiX$ zN0%&{VxJXqU`Nnr+blY13eMe;F!*eLyi|+slXwn{guKm6WX0TH0kz7HL-04qiHP)$ zZr3a@(t+7WdUlW5v~rxJbxLE_6CsQ-xnAo%14YRdi$3avUD;%2fZm{BW0#509njp@BNM5Z6YEbr~6TQlOfpS-SO!|E{LJlal&A` zjg!eA0i@1=Jd?qJgFg!8s3}5D5qPE#lvv{q%1dt4V0n<%D7mhKG;^QNm;?#&uyqds%rNYu^1P_q@V{CM&0=!0!Jy2}cT-P9KPfJu5a! zui(~B#q$(5&ZVHVMoD*Dq@Tt@xcfwMQw3cL32Ku}us-nZ(dE82hzUp0S$Y&poyt!r zI4H0dm~Yy zUbyVb(YIXH(-lsP> zsUrB}Vb5}x!0ldrwkr7`%H<+11OOUKG9L?G8$}y0fCzzTMnVyV3aY-q$^lAos{;zrFc%>bfmCdIQbN`|9 zno}YqGx487g9x`@MR42PpC)Ri)rCT#5lfB=)9$=hGEI&;{XSCa*Ut&Qg__re#4(}Z_50JB`nOnJtv+H_0LJH>kSl;3ETt#4=2N;Kb~`nmY3GieEbk*0BYhQt zei+T+18_C;7T7V^AYQvE#Utjv(PdpJJ8fYm-qiZ<+Hj)wJQ z!@wL)4Mvg#vx%qhr~@y<8VDE^k%!(PG!*EW^_`8P3~DnCWu{>m>Pcx9ySX2mI~_6* z^>Z^mzC1xSAY@bK@thD6TJ!J~Pxl&cH+a!0KU<~mc1BBuxgMRbk2p1@dm%{6L)pMP zNms-_;Ps^CScpnmdY9EzYV_k&8`!Uy<4aw8Bm{V?-6iu-8=;3Si9yqDLR$nroLrp; zgnV)DsV@Xi!A(Et*LNX7ncNt|Is6mXFo9ACYr~H?TknOaL5RudnOkV(%F}}^H%M8? zVeuti^*Szq>gaX_c}h(dV1P00t?D;y&P0x?X23Vvr~%mMADD;9mC6Rkk!alqhwe30rSbR2l!TxnD zyAv(7sn>Z%YbD5f4^E9{kaoS=tLGKn7rC0o84EPi_nh#wY&C)$==u@_b9y9E86KQs z6$u6SVoNL}ux7y=KFLF|#H9BIC)ES4imflK*R?@c%_MM<+$Wy*_|+K`|1G0Taj8(p zDW@H4J6gCyeV)Jyyb-Se}?`Fop*h2zSn_y z)wsK3l`t%$p32DZK=x8&00B$Na#d(h-dlDE&BnX*eS|kG;#&lQi`;b7_^VK`BH%j& zIcwdd6hIflg;jU5M}5x z+b)0M!F4Dit>2-_o5`#$DjBau)`OuiJd2N4Iw&dA&IgB&N43E7yLs{o=BzroGFhL; zVO+_VwF|-r!eHCOyO^u;ptcKO8B9c*rdP1X+n;0ci>SU%DX0qbaG$6d=n;~`U^Nw; zD*v+7?+3f=mYUqapWLwwkFK6Wl^piWc(f^CF2#fZ+_D#g<|h_by9* zZ_&-~SfG9e+&XCJc(Y8|--3fx%fO`{9%t6eFq!xYIcwxhIyvS+NBa^D42 zNNCP5FB$zx%319CBJc5{tw*3BK0Hdk)%J3Qn8-tD@$ECI^b$4kM;&QiCveT{b>id) zT#GSOOCrfUyA!)^i5@EP3N73BNI;$hvIVc)s6B-v=K*sur{4W-+&;Ol?C5Yp-kc=5 zxFfk~v|qIdX(gAXg7vg?&-}%G`fcf~Gv&9WWJr(2_A3DyYS}V(@7V1qbhJO(&}y$~ z(^$=zK+Z@AMX>~@Qo8KdPBECC{o z#hUc?6)gORH-U^N&7r^YCc;gnYq)e#AL!A5em5B3cgK{U)hMt87LC#EQw)O@4^S<# zc?b?Ld$rh63J$z0QSWFdBgpflXV0H%Izgvj2h^}{U-lcu=o}}&RZ$%0^2??R;9;EW zBmyw1{)wtzBTeR4svKUvtt6wvSOM5Ek1P6@v7C;ME21dMHCXmTp{-tsd9{Fj;^gp7 ztz&9ywes>k)cwxEvZHK%XBdfmOI!61deqJI#I*;(EO!4wm)yN%x_nL3M2Z{xQ@4S` zZ1>1k-)y#LGyy^yX|+(6FqpL%gBvDgR_%lU8CyODX{L|2h$yE`X#(Bh917@#pv8|5mOXU`_(bZ&WVe*(o%#@k>QsM)vX2CEnE*ExED6Z z{01_3Q@3QJR#D^3(bb)&a1^UaO9*#4kSPt|;xW?!_bOFzasUI0=!-V8vKh*t(&6=?_n^l&64|e)Ck!{8qVdZXS zOp4U|VQ0<^{W1(YSDreNq@l(4d;x0mwxd~?5$4(&8L)7u&TcLmk$yx~;(Z!zc!lY| z^Y>wA9-R+jTvkJ8|#<6f7mlrA@4eMb%9n#3K0e+TRe)XY(7(#FM`dAV{e= zG{(3twBnz~7i^5#l_X=BKQ%b0aJiioKzKLt$2DsbDYW>she1os4)f@-dwTwk`zzmM zOJ~i-*K`~j9+mYNq^o();E^fPN+yKg4>kn;R(PsP{L3JU(^CThZM8=ZPG0l{n|wFg zpwGU!&c{@0H>rVX=hK5Q4!D1R-U8i{qRA0}bF-G3wPza4zj&Vs`*c4vHEFJq7MZ7H zchhMm@x04gGp%Lg)OSoJw)&^|WLrVpuLb^xFzost4K`9AIl7_h{Bw7dIMue>YdHn3WPFmcyxGudYbT@7+%tr@cx0Ro8meCEY#g zCczUX@rJjh$8Vr6gBJGw^?Ro1}sRiujhyFqm4md**gkDq;*I z$1#cJtPt2wKe;n;j~P_#G1RRUkn+s8Yym61!L(ytHyKlO-UNM~Cy~6%-K-Oav{xbu ztIvRzUu9^S;Ig^W{xL(4>ohmMClIocsu*R>fG12dx`YDg-Ho;An-l5D#W_PMg4PC| z%ai%f-sdNaHcK9VJ4UYeni|#)n1}f+$O%T%R^T6GxU4*7VuL6gGsWosR05b-0Vw;Q z1GrF)O__pZ7lu&t;*#~IJGXHMF#ax058Nq;!+5?ZQBliTtdK{rY&N0>tv)%J{#W`y z{hd&IAV@iz<_hsWfELY#r$ib@#|(3Q);y5MrGXjqJro_aFkFmptNHwmz9R3!$byQ) z?f3y*dc{`-Ij~nU8Q*W{`SysyaXtuSQ$uNUTeaV&yHruMm>}gy%oY@->c{5^S6uB#R$G2v>LSLYpEC4bnTq@4W}t& zU8b@)P+L8oiVYP0(Vf2hYsrZr5ALd^{5uXPTM8Qif+%#_Y~c9`tduxwEDKyswD_11 zu!u3(D}I5w;AIw%pGzmX!_Bv)2VF!Xo;m#5tc0hiWY{7@1xqSDvTz-}M}h zx0_BbmF-`-J^G_0`ABm3@O+qxQqsbZx$^|_m_Vf7qme7&Khw2gyl{d;->+r=)HKhr z;Miejo^G(X_q+dk*0XNA<){}1$R&zg*vy&$xccLapTq;yvG_u$H^$4}m!zwW7GVyJ z5qVqrTo(OD_jjjR!C&GKy{`Vip;CtQzjSo6#$V0_c`rHk-jnxC*8)sEp2wRSo9E!Y zUe2kXAv>{T_Ip*n3)`P3re#Goc5$nyC#Yvp*Sm!)L~mv00uOs}?`0h3687XCVd*(& zZO6FW>fxzt#hMK?gzC0{(c@N_N$ni5llzL!;qK1g=Z6!-eGa@lpjsvlz9&Z`lJd@I z!UC_n|F*8^TPekT9C1XhH@g_5uzL*lziHypNRZK$H+VC+dz9k)mlkB2l# z7?iV)2{E__ytSls`*Vz%?@(S+oKr7LuAlT_1Xexx!8nt~JuPfHV6e5vY*PObIL6Zb z3f?IdmRU`s2Ptpet=j1qvpzyMfKqzdXwEJ97TzgBS?1Q}Ep1CM9JE_0H+LUlV&Bwi z_IBa$^ZGctj}Edheyfg;{10v=aVaiaxwo=UouIPJ&rW}6PG6$(gG@r`yyki zw9nrxmn$qLW6Ek5Kdg?0Ybv?$S|1Sfk#KGJ*Fb$OJtOdtuNA{WwHbjZ6k|@bS;S0}#+e}A40TZsA11o#m(neEfD#Wp#Yae~ zz;xFVDBw2m5b!gPqdb5(TRrAIB5HhfnEFW39ciidWVZ8c3`we` z85<$j02z@;40Ck7DnnE%dmJc?duseMJG8KrF&FIZ#ZZxl@y~f@qpGSM$IIDK=Cng$ zpk8SBgIv;K=ckq6R9w>aIs5Ojactqc=(VN6qy`u*Ws;XF9`U(^h@5s-Z|-4l?&~}t zeo622U`WYVVwtT|zveTE=6*(0^iLl6+_xQZ2z0dXJ|PRPpZPSi*3FXt@H}aaekB|! za_R(>o)uV-(-DG?kin&M5CX1e`*4b8+-HV+z=4IUMp6^F|1kJ|%|12w!omjr57xT^ z1t^5W#U+-*m;U-RjsK;gllY?q3l(R4{0JU}i!)Gje-S2F7XG*vhQQx4ir~hgF{c&X zb+@WB%#zL6I4?Bzpd*dH>g~!n&vO1#G*)Xp;*%Bul*I$s@Sz>0sqS0sPCNFWa~&mI zyYxyxBh!bWfAO=goh~r2x_)OA_wo{-$@ZOT6!*=ZBdozu+|Pf6cn()YLDm1V%ff46 zT?Z31E>B5!cKXD*?H%%Wdu~eE^iYZj*s5J&?a%V(+w}Dl8WP)M2`No_I)=^^3B}wm zoBAmF7T$Nn`zLMS@o3+B3e7~76%`8s6z;&{hu!3{X8*HIoeg2nt= zD91QymS#XsM;+H3(}?pcTD`EF^dJ*e!xmDeaMJ*YD^Sb*FoF!2Y71j)m8{3LBH{7vdkHYd#EG~n;)x7b zLHMCze7%j(eg=2DpB_dMAeIZHGoOV-Vj=Y#Mp=&#Hi;T_tsQ z*|?|Ka~dVRvt@|E%1g8>OG{fuO)XF?A7_(N+qQve>_|QB({Fnk{w4hcK=GQ0$ipNO z-+SuF5PJ z%rWL~v3A0Jnb*;Lt^VQMNOuQPQo`E~p|WOiTkauV8&FJ6BYgLtCQ$oV^heV9nl4}; z;@LEXS1{1EEzot9_UcEozu60GC(@~g*EH`E`Yc0f4XV4ng$v4g-L1Eh@ml+gXd?3} zao4YDM)IV)WCn1_>YX>89+E^&S-|Rl$;RjmExp%CRP@hMgy+Ib&q2tf>eoA}az5(B z6fVsUXwdMvRs0ZYTTtfYKxC~Lm#6N#)Q{a>-5uYi0RcIL%CpvZN|+UDEY&eTCVyY*7gZ^nHapJh@m&Oqb}r6I zG6*Ok`3Y@VRkEn3?G*d%kh;htApHU@n|Huq0$g%!3crfD)-t;!sKL&dzWoDfK z4*R51i36_wD42t34*smL5~F>;?i!j@B8o+PshGQns<$$_6a^VaZ(n5);d`46A9?Ib zyoR0T5UTsuPY!a_v|;oNbQcct{1{+KWNZ$K19EABZF3PNOHbOOsw|`x5{mbuvy;O968PD1{!l1JmTg-%(V2d2BW%B(kJ5 z2ocex-7nbwW(D`FqbURdV-xpZZN9IKxdJ|XtFb@CRJi}=C<1q_p&LV{E&%BjVf8l2SG@1iFOh_BtYMhSIi*-ZWVnAJ zcUJo456A6(l~WdEUjsaca&QC|?F@2~H+GLY42*lbam-VNXs$a_pbQRPK1pGN8+`3A z!mK%cX7^{jI`yC0FE;)S`}6=vB~$U}Z$;fEbiCp0s(7SFrS157*m4vw@8iOnW8OwK zT3T6!iWn#e8`p3)DY;8CT=XaarJ5oYSAD61ohMOc;F5lz4OVAM=luct!7GGWdtT-9 zl66KpN*mI-8+w3pKaLunwpn5Zo1C) z)Yc3fpWP0Oi)l^y@A%0f`agiFXzqWvAte~2H2mgR6e6Y({5E@iAMpHvJ9C!QvJpKt zy)%J-s5ztCs}h!PicgH;y!B63m1`HTH@HYY{vXXmwcb6Xal*$na8h>>w*2%(>IBED zQ;b(wecjT(4x#f6HIK;N&D9Ia*aiMT72WK2U+SK?KH4C@H5G>w`64*!UF4~Mn^y;! z^I|MT?Fyx6{jd{-E6JHyKy*d6ovDi=?3OL!EOR-^=5FdG8k!1W6*g`;5I3CSKU9x% z?~aVE-G9jK#o7Q!4nhc5=A$S%z~|5{1nPiHuK#80;^Sm*Id{eCphkZkdP@3jv(*Ab zQhb3mS}pncAQdhVK7B6;>4V%A4t6y^d^gqtgI$%Q)pvOumrwCeP^oA!xBHu=o&;+H zET59igfx?;n}#3<_>nPUg-shE=;VBOFyetaR?rFqiNnwX9gP`k{g{CQXdTl=1bP{} zh=X>|n6}Fw7_Uf8$Y4C!m_D1K?2qi6S|T;^i%Fn#Aup96ouX~{IC?~a5K0by;0)<- zw)!(mO`gp|zEfD8S`UNhU*&H8*rZ}i?SF)>by@Ao+)cZ>Gk5!zv=Bgo;T&F!vq|XS zfk@1Smn8gTXwIIvO`uY3WoB}$bcDdS-A}NmjQr#KNF_Hv_N>#KhsD1x?R5ntW;30; zM~B_GT})!#skaKDWxNSUZn>%&9U(KS@u6~gv=vb8$!}&J(J=o@aw*4_%+~EhY$*G#D26jKh;G^}Gn?TWTT`dWF1jm`48{=H`g6(VKQ>sT=PI`;; z?A9ePxdB}h(f&YDTWX3&H2_QDP-=W02FBi4MRLpmava0w;|po$7}-AI zVZ_5Yejxv83k2bQD$3sh-7mOF+G+xaEPo~CB$WQ5>lghaxrIHI} zpbzIZZ$bi8IEe!PQ(5lQ)jd3Bx{Ryr6LpdThL|Kf|9Wbj@n<}~8i{>iwWJ*wm3k^U zhaHu~DP+nI!m*bu;6AiZQ@DW0VwsCWQbZ(uk?j0N%@)X{i;N{O;dEw-C*X+UoE)$w z!aMxT)Q&i$hkO$z8Yb%Ue856cFwL-k?|k=S);w&|zDfz$<^6ixxCsw<4jQ4g1O^`H z&2(WKl?FZZQ6ccx<2-P30?ao^J0DjXSMmazc2g3n?IQGBJqmo7IZX7l_#2AI2Y0b} z3>~UBv9dO0jI^WQPW`dxQs$Y%^9yObn+Gw-)$;SpJ%Xy7p(a?B8<6K%?sYuI-+ULA zrSvNh1Eoyb#BSghjDOBdx%MH?dhfBga1>TQ3c9a1O_F~st#q>KhTmi{{3p`W!gN&p z{K9*5AJ5wTfHHHPGL9z+Dhu+H^e_L*E}~~-9%|vm?aofFkASz517vxANfp*Y(rQ(; zqu>AyKZQu$Au|ODaXipOa|~0kk?EU~DQDecIx1I%mm@>loks@)G`ms4Q#a807rxg*{1RtXsJBGxLAYogb zUofQ=L$6>?ui?m*NUwtZeu9&mwDorr*|@OxUh`hWDhv+NRq(f5)~@%5RlAAe&-PJ7 zP_?!S)Q#Q9h0>CtU;80lk2lopiOS2K?L`V%q$UFH9Gnbi5_EtGnMPb9F-+N{e`g+X zMK6P(muaExTttxvAkU3b?cIe^5X>3|U|K@Dq`N_p2I&szPU%Jo3F+?cmhSE@X{5Wm zyFu#ww{d26FX5TlnVsEzzt?bvhAe$!o1`>AzHtao?l-vNo_lUF=l(Mp)+4SEGVVe$B}chEWbw?HU&N59Fptz+XvSVAH5;shU&G1sR!iH^ z)`!*VZYf9iPF6kJmD)(1( z*j?CEcFMrJXf#U}#hO8hK4K8f+JE$3dXX_+6jjKNTrr}UA;pvwXR<$OoaHsx!4 zPSU!Zo}(OpmV%+x?kXck$I-uPOl0~8JK3MZAI{mQ0jUvq-QcR1A$}RP$5BV|AxV_} zd(=QjYgDcz=dc9Vv2zP9E(TOsT)AF2W?*Gz)YX*}ccVa}zukn;SP)N|GDcNd19UMp z`FbD@@}1xw_6H_XmkZ`K`P!` zd4#uc1I8orQ@Y#M+X_92iIWMT8;ieh$(p=dHqQEC-^C>v=hgMiSwl6LBYW(*tw}(Bkq>D}Q$%SP zNQiz!t{E$*aJSE8Fj+K`zL97-8;%>BCF?;xJ&uD=)Zr4j3H23W(&xt{4MT^y+!paGaWk~OIxvPg8x&*!uk@#1%8rDo- z{1IE0G0rw!guy{=!k65e?e#t(DsfG>MwzkjeBURIY8%A$>lgtQ@=3U)FHuP=qS?Na z%qoAq_1?l<0#A62NeDYt3F&^h3;gOA{lI~=jc~M8qoup;XZ27z5N>&5I*IZvv}Hrn z>1y~nIds1@(CR79fm=EIx^h!m-F0%1;P7Z{Uyv6a<7DSMW7{5A6SI}E1B}sUC>twn zCNFnNrR7Lo6hs73MHFMZ7sf_aL7gWqY~k4UR_>T0ca5VQQYm!WX~NC!8&SOs@806c z#dohy@kljR@WYxKSL_u#NShI!vYbI#yN3eL(}DTddI-N3V)r(77A^e++zepa48La` z{E?wgP~glt#Mw`5B6?rJBDf@V$k+0a^IzDgO{;OocA<;^JtUbN9z{<#(q%?++Ot2B zLpcqNu9;)klymYI?F{l5zcJkR8Zqo`CyiT>T4D-}l%1Q8k`lpHr|x^jy-mBL?gr66 z(uEA@C>|BP8`_He#Qeo{BM)w$#PxW0<=2r7Icg#JSdJLFg2LR#Vqt5&ymNZ_3QapR zZ4D!Nmp$V+IJ%~S$DP%Jqox$|NdLDVfd7=;{CQc<0hoU+#Kn~4Q(d- z$JresEV1uz=CXA)Sof9&u4kxAP3?CB8kyZW(XtZ!MIDZRmafCgNwFYFB`7ha#Ud)b z=Ua;mHS+AY*uIbYN83M^1ko(&;}|#l%EeQpR|h>{6moA6VE@3yv>R`WCF?=|5{l+e zriPE#9&%p9r9SBLgn-iDP(_rqhHR^!W<#WW!di$Bml~O&0Wn9L-bw%?_#&~VVaiB4rXPWHEg@%rX`f_P-!*mrm_=IED%X-| z>Sf&aYLqFlSRD8lo10xzYkrZWj&^b4O62*}Y`8sllQ7jFV!TW?gy6mS;hRG6#NzpG zXmh}xJ@MrFFlHljF2o0VvQmW2*P`YB9s;^P5+LK`$r*HFXbQh0HH+7*%2#&98_Dgg z#?Wq7;4G`YOkOq=Wi-d^A?mBHc?$j}lwmZo;+BjQX^oz; z%L+x09YIFfLYu#ODCO!ZGRePhd&-zyWz5ckMR&u*I?pNTKH2vDvam)leqcH1-8H)14vPj?tDYnD$g>6ibOCb@}8KBfH)& zp?>5A#9fLGWc}sT5DEpi`8M%qF=!L8SY0yWico9$st;`KKR1G$FG4y>8FquJG?hR5 zrjlBU%JIVvcPx(}s@V6xo%2;7GE=k=qTn#(5*hH3SXG#-PC#w@?6T59VPaK1lvDi^+ zdkn_G;mbFAio6{S8J}V;cZMy9Wg2-Q+I)T^?wj^f2Cey=G1RxFq<#O9OkAlwT~38! z-@v%_5}Oe{`U4A6@aF~6r}z3BIvHUZmig6VzUEO3rpTer{4;W&X^G62f!S0g{HtiXj|M;0A3@KCN$M!pJUXG=@6Y8u2yPUan zO3cPo5S>JWbN1XX>d6UAhPj=T zkW(ZNH*-usyexj|YCEE`>`iQ5d2Lxj!{k^CuL%gJIEK|v#c)ES$_L_W%?-eN8g}{o zmt27yX1Q_9i`uopQ7E&l_TPH5OZo2+`{^6Y8jI2)_lAy(GOK!}KOQ zw@0-#9{4{&KdHvz{RS^eBBj+z#fkju_q@}vii-Gtb4$}tEjVmqNoMhhV%<`GiFS2y z^QxcR@;Hr&cKfX+p+=15I4d|Ki)p>v`IJ<~_Tj#NJ&Unm1{xkW{0*MWaJw53Sze8+ zq;>OXqV{|xwq?-XP!Qccp`%ZQ?9^CZC|ck9g9_+q+D?}8gosVFjqq(r|O5*L_s}x{Lv=tUp@}5p{n76TI(;67aOeW z#-eYtcMUe|4r2JAOYf<-SL7P5RH!e^>^J^sa7)iY7cF z#R-lZz0zLNu~aaI_1)vIwKz;or|#V2e%IKLd0LYWHBv09cU&IHS~e0-qNO}0<%%Rt z{y%8dlLm#*8NC9Dm&5hkenvwR7+P-rOQgC{tqN?X%P`pMPq-Y#+GozfR1YH#opuYZGQY4hWrT3}k=FrT)v-)fc0nW^tybmCyE z^nvp0Dip13|B3d;_ND1RGD zS+ywjzka{Hdz@z*h- za1AlJ+1xXgcP9>(Y3O%#&*oIGYCI{AA6e{C#9XjQe;EZ9>$UjQA}50PuZrbwtI*hJ z*(%G%B9NA2YwZZPynZ(?D2e|rgqc)}=J<7iL)fV7b*nv4+I2eXLVx}t8P#iL6qeaK z-GO4=sesZ>L#o{7L4HQdS;Xv*4|_p#*B6Xx*hE;GzHg_jNBY**_Y|c8<=O zF2=#n#X>B0dj#HgfJ~!ToEVEzXLj+kCz;}mx0tfxwJU*6<3@B-th<{2zP3x zkX32LHGJJa-Q(yN@CE;E3cINP44HI=;HaveMNz#&g75Dq=??BA!PD?Se6G>q^yH4Z zC6A~H7rL`A^Yoa>Zyt?A_1^ezz6zqWq@i<{yo&ezEP))Fy1t+t)Go@v0h*NV#Gk!) z12zdMEVHcPjq{Octslf`ehXYX>^$7@Ru!}f=AY}8G5xvOa!8WULZ@Vf`D(bFaO}S% z?J#sxil26|Nb;GrQ4g8hLW$gJP2H|^+(xT4K4v?}tI|>l0!B4^@!xaR{I!S=Q(2Rf zu>M#z^}qGU*wtiA36Fjw^1;HJPF$NtIPrjUb8ZtdLPtzDSZ2fTL~UIAPd-1r(=!M< zD9*AssTQ0xsP%~9;@G|kez(DM?TuXRS%yTXHB;*U&_O_&9gm%lVDKQ@b^kI+hm&YI zhi9bsU&L9r+(~${fBMs)+ii!jF;C9(`>s zFd7kFYjvbqbukDMuFEC?ws&>PebNmG5RR&d>}i)@8MSZwiX~V0Ke=eO<$p7K%PNcb z;S!}+O(*Cpj1fElU9Y`CNKRPi&)SW2{_6HP|4bDP1Lr&B0%^~WJs)*xfEd%RX#OD3 zb!g))Pv*CT$Fg}zoWWDoIvveshAU3BEaQ9vGqu@NU}GE2qMsdQv-)xs8?F#r(>@R! zjSG#X*m|0C^Idn1YpQ$SPo0mRlHXuBPONV>tddF?Mf2&mwJpNB`IYRG1*X31`G4oR zY`482cK5@(i*}?!sl&DBw`B#W4`R5sI8|8aCjYgV5`@Z5nGLKy^D=kUM&M--B5}N9 z^kQB@UZ*RJ`fT1T#J+btZBFIlz;bKWxm1#2{_`sXG;z1oH61qXlcNlM>l9{aQ^z8$rU#}^|cBGX@8rhB;^>+=aub)-gT4N0OG<8>z%2-IorDf6jsxO;1UGKDkaGd*HR z2e*Ija(tp;-SSVZ2r9kKzuZ4>NRVIe8BZyM`+*m@;&7UicJS^?EFw{HsgDd|K~`g& zx8%4)IIQS@L#$c<3);|i$m;N|^4eo2tEfpR4MozdP0H<~Kkl~N9Yu%~+TcQD4@BWZ z=7u7Za%Orxv4`vai=H&_P;XJ+4d0~DeKF?3@oY#bqk4thWe+TX(Jj*K#8FL(49DY( zH&c78cik|L$1(J*^G?i-)J~Z#eh}OcoL`GL#P_Y)gR+YM)b&v7i<6nrOM%mPG?lH4xkz4i5LG@W`PamM5Iy3xycjlQe z@!3Pxz_?N1s-(Jvkhg5)o3`?vLp7XYKix5=rUL%Ofl(+27aqK1DLl067gxj%ZC&+d zBqWR-O!q|u?cqbt?X2!FX(Jqa`q)k}%&Lakbs>it;y|M0*p!`eg}R|n`2|9k#9#F& z*A!j;(pH-Ju&}&tZmk`ra=UnkL6y^tQ|dgh+fit54N!cbORBe2t*Aef*kxHDlST4c z<-dJZS|ro7w*X-}R$d_eJRmT|B0z9t9I8F{LNoeZ#kDL;UgjwU`$z{vx zb==XoRPR2E7d==XenL%+L4(nf7NFZP9ir0_Zom0cS&|$|TNmg{W1i0gX=TTl0j=rDX8j^iMeAuvQn_?_Rw$p38 zGy@|WH8#ubiEemw58^kv;7*&Lx*?8 zb(#Zf5R6)Z;X-zUVW3_S_FwtPVBEWt(PU}%iR-G~)}}uE`-Iz+v;>~$7YF2dn^ban z-Ld&f>UwDTYcsL8!~78Wf%3=YpG1V?t``~c$o(iTD5fJnuI_MS@y-ll^Loh8dJDbB zBs#n1L-u^mI41hCCa~987cRX<_YP$xm?AkC=_`C755}?UCZa_fC9=IxAd5|KMpac# zNhOa?ekDNG-6Y`pWrkUh(Z&0EnW)!bW3O1Xl&)dK7}*KN<1G+CZHaA>U0It(P~)bf zdMB_kluelpJ-W<0zU3y>e{ACs&{_1jiXrMY(P^g_HSf&AClpc@?k;z-i}OmCK2`nF zEB)YtUh(_0j{_U~I#i93-w`8Qm%T_Kzg~`YOtDe-9sIeTpV}Cd)2w2alIqA!J7F9y z#P2PVoJpEiG^j>l$@~x(pHZsto6qPd0yHLybY726pXmNRhK*yv`^YAEYAh&cPuuD3 zkCLUAglY;xh)lz;IH^bR9`)j#_`ClSYna_pc}9Hyi9yl}0w)@m5O2&%vjUpUggym# zh3Tn$iAgA#)AvPfTmb|6|`)a@q}4{Av0xF|EI@fgzmqo-DO;+6|GVo zh+GFO;`Ew5#=MJHTD*dqBB)1>_**Aq*x!V3Fk_4Ak9~;gGU2d7V_DpD46#{M3h4Xn zM4WfrDa8YNGVi%H;1#~`AQk-AK4IBDCA$>$Ehin>r0>0e@Hgf7)fx=#1NWog53a`J zg05IUkIq7H0{xO^uh%xwazwuuyV^SGH3F5iRR{7)9PS z&ZBJGNTfIq^U2tYGjrW5M2sctS_ac{At?&J9*en_)T0o7oe!`otGk_GLH;3)`Q<0A zZs&-Wy?kjF{i2L1qDN+haOK<;t!^`69 ze!%AbmedX@5$v$J{q)X3ZXD83h=g(7KKP6!J~&BSgS#%SD0Nh~A&|GKx-s%57?I(l zEhZN1x8NOx9~9dMYU@x)s~p317f2>e>)w@km=@3c?5y!$;d^{DYb@6$lk5w)^SAU~ zcbwKwG__~Y_g5hn1bz2pynRyMhj!1k69|@7iaDjl_eE6tGdS+-&5Y=M=9L~ubb~s( z6f0w)C}Dk&Y@(TxseKgAoch@lVA^zM)#QMwGd_>x=+83{wejg8jvT#Uex`>*u- z-MnsMbNjJIXZLz6arIf_c><6UDiq$rako;V`}pyJbnHxKi+Hp2NI^Ur?xNx@dI@ox zUX|o0h9==YVg*88KX&QV`VgMPl|^FQIr3bym$Q*5FAf@U_X}g`d0AlJy}YUCCT^u` z_|z<-)_$Sp5;PGYY9*e2QT%(+xn$)yn&23HratzFx1f-Q%u$XL`t^ElSWf^BZ<@xn zlMOd~(R;9>LcN{Ft3&gjJyPl@V#1;5Uq{!Ix8mOs&v|kU{wq=!k=(r^@VlP3Z+60j zhRcCH4*4?z^cqNGU#cF2N7Cz@A~M@n{HJkiJ72@?&Y|V&lHLnOeTSH@vJ0Z5n|ZhY zfW}}?De-0?AMI`%wfkEtvgQ5CXs3KU{J-OgXNDLq%{?eXz7-q>Y;JgdHE(Ffl7Jy} z+5~+Y7^E8NuaoVZk2I# zJ=w2KV}7!JF5~I`>jD33KXnIV3VoVbDRq+D2kw31zip$UjM~rlBeA6((qT1lJ5v?D zVg<}=^n$*bMi@?H+Ni;kg96R3Tubka1M@5M&KY$}39*RamIyEh9=QhMd3f;H16FE} zNFd=pOvzULh*LpO8(qbf$e8s18&DkEhYk_+$2W@3%0_cikTj$~GC zx=}X3FWa)0nVaLI$r`rpPQ+Q*>Uw(LKOnhAXBS>=W3?=Aq)$S=P%4->#V377GSX&3 zN}gt%`>-gJzos`wOArM+#*n{ShQ4;Nd!t20x} zrz3aOSkA)_8HRF-4%1Z{vO3)$H$f${BN2NUVmqY%&H&jw81XL=*NWh?Gf}bRY-+`C zRM==nNy3gR$pg8I?vSBaoi5rg#QWgJAtp7_oY1fIzG_;c%eF=RYtwlZ8nIjK#Ef# z-Q0?UAv;SVPU9iU%2Y3X;;2LC9t-gNtO@kkfK3sr|V&7 z_)}Ctstz2MT{zJh*Ah>7=|>DbO%a~pVGD+md#cmeZqpW7)7d{qpA&mya8Ql$>(EP# zYTk+z17}V6roaHJdlS!Z-CPaaDX{=_4OxhzY;A z5sP9JG2Rcl>4UN@c!q-HV;qG3sIb=-Rfjz_Oq_v<(7o{odGox0AQchyr*Pi@wp2&3 z9$zg}sq2b)a9@BdO+$CHIyI8N+7uxSk@MwQCG=Mu65fpz*RPG7yJK&RISS%Xf+z{|W~hCwoeeP?>OO z)KFi#Rg&Z6PoKkZ1(%ooM9y#emlm#Qcvk4!*gZGM8cO< z(OI7l2kx_fHxXDhV+qR*u4uNA;l!kKyM`SV{?d1nI_CXApNMf0Y-8esRSiHF&itIv z#qQ!_Iahz@_nmdfKa4d7a_$TJg^P@&^ga1^HLRGxL@cH*7Ktcf1k+YKbC@FbhQ;n9 zwrb)j(ethD?De4F#REjD^@iMTcP6|FJk`p(=hV`X-E~24eqCM#<^WwnG3Iob<7m$w z|DxM=`H4&|EBCmp8_Y6Ce&^I}+tn>>7Ta1&{xaj|` zXB|>B=l1AeIjfM+sw37{L*#I{?}8!>qk`~?zVR>_@Rq^(nUYHHy=C}P2KGtHt{jJv z*lbekQg+{%I9+jT^_m@zXW^xZ#@(-dHOOFG!kSh}R9-F-M`*X-;2EI|&*!fX4OqN~ z`||D??WNww-va`6Dn&(U@vh&4nTo*rMJ^ko_$BCFq$`BKX*PseYl6tY-FB=6`llX? z!0$gV5*Nd{MY@tjQK&{o*e7bfjeZZKs`uxz+h`;)NpZr1B7#YD>Z3;1P0X({`4)bD z9irWrQ#ZwxJ5&?*Ezw(Hmvn`SF|28>ft1c?Epx8o=;fDDKJ)Y`ku&r7^(S3co^A-w zi=mXtLKnL*mkHCS82dVTrNjG{GeaoO+u+jj)!FtvLi08;2QB*}=5m-GxdO=Az285k zGvB8{hEP60E@o@Z6a>Z@X6p;CP^&2EVlE{kF1J6yVZF~I{Oww$X)4q9y?&Q1iwX_W z%&Al@Wby^M3j#vrNE%^{4@t0u;{yk#>B&-u1hizA(x^(7=K1YD;w_^K^Vn(yho%)I z&m-LwP9F89+Q7TpH`HEN81YC))-|TS9hUGG(V(*6$xgEawOm1aM}E$iAeb1H6W-=+ z5~-06+w&$7gju^|otKWm#G1(~$*3bjVdW2--Jj8Zm7Va0+|`*&4t84S3mrw(C(p>l z#@#DYAc$G15z(qrw|JA@rk9xhENMb<-Iq{eBHv2SJyR0-#k!u2@AK(P@j1!1g|p3* zt~V{Z%#+2WSPU^*Ju146*QD{*RXAC}P2hTxk4$ob%BsxngbgoNub{%Xp=+{sH-SHHTB?$Y$q&z-E}bYhQm%ZXe63wVXJ!vv3`~2n&>qx9{skIo65JKn5)_d_wfs_D|qfh5!M7f z@qUv*a?*r4&v1lJ18?=n^a^X6}00RbQY1b_e#00KY&2mk>f00e*l5C8%|00;m9AOHk_ z01yBIKmZ5;0U!VbfB+Bx0zd!=00AHX1b_e#00KY&2mk>f00e*l5C8%|00;m9AOHk_ z01yBIKmZ5;0U!VbfB+Bx0zd!=00AHX1b_e#00KY&2mk>f00e*l5C8%|00;m9AOHk_ z01yBIKmZ5;0U!VbfB+Bx0zd!=00AHX1b_e#00KY&2mk>f00e*l5C8%|00;m9AOHk_ z01yBIKmZ5;0U!VbfB+Bx0zd!=00AHX1b_e#00KY&2mk>f00e*l5C8%|00;m9AOHk_ z01yBIKmZ5;0U!VbfB+Bx0zd!=00AHX1b_e#00KY&2mk>f00e*l5C8%|00;m9AOHk_ z01yBIKmZ5;0U!VbfB+Bx0zd!=00AHX1b_e#00KY&2mk>f00e*l5C8%|00;m9AOHk_ z01yBIKmZ5;0U!VbfB+Bx0zd!=00AHX1b_e#00KY&2mk>f00e*l5C8%|00;m9AOHk_ z01yBIKmZ5;0U!VbfB+Bx0zd!=00AHX1b_e#00KY&2mk>f00e*l5C8%|00;m9AOHk_ z01yBIKmZ5;0U!VbfB+Bx0zd!=00AHX1b_e#00KY&2mk>f00e*l5C8%|00;m9AOHk_ K01)_p75E=?NoWfI literal 0 HcmV?d00001 diff --git a/u-boot/Makefile b/u-boot/Makefile index b746e96..6e37f56 100644 --- a/u-boot/Makefile +++ b/u-boot/Makefile @@ -514,6 +514,13 @@ tp-link_tl-mr3420_v2: ar934x_common lsdk_kernel @$(call define_add,CFG_AG7240_NMACS,2) @$(MKCONFIG) -a db12x mips mips db12x ar7240 ar7240 +tp-link_tl-mr3420_v3: qca953x_common lsdk_kernel + @$(call config_init,TP-Link TL-MR3420 v3,tl-mr3420-v3,4,12,1,QCA_QCA953X_SOC) + @$(call define_add,CONFIG_FOR_TPLINK_MR3420_V3,1) + @$(call define_add,CFG_ATHRS27_PHY,1) + @$(call define_add,CFG_ATH_GMAC_NMACS,2) + @$(MKCONFIG) -a ap143 mips mips ap143 ar7240 ar7240 + tp-link_tl-wa801nd_v2: ar934x_common lsdk_kernel @$(call config_init,TP-Link TL-WA801ND v2,tl-wa801nd-v2,4,17,1,QCA_AR9341_SOC) @$(call define_add,CONFIG_FOR_TPLINK_WA801ND_V2,1) diff --git a/u-boot/include/configs/ap143.h b/u-boot/include/configs/ap143.h index 8af3ec6..cb451aa 100644 --- a/u-boot/include/configs/ap143.h +++ b/u-boot/include/configs/ap143.h @@ -92,6 +92,15 @@ #define CONFIG_QCA_GPIO_MASK_IN GPIO12 #define CONFIG_QCA_GPIO_MASK_OUT_INIT_H CONFIG_QCA_GPIO_MASK_LED_ACT_L +#elif defined(CONFIG_FOR_TPLINK_MR3420_V3) + + #define CONFIG_QCA_GPIO_MASK_LED_ACT_L GPIO1 | GPIO3 | GPIO4 |\ + GPIO11 | GPIO13 | GPIO14 |\ + GPIO15 | GPIO16 + #define CONFIG_QCA_GPIO_MASK_OUT CONFIG_QCA_GPIO_MASK_LED_ACT_L + #define CONFIG_QCA_GPIO_MASK_IN GPIO12 | GPIO17 + #define CONFIG_QCA_GPIO_MASK_OUT_INIT_H CONFIG_QCA_GPIO_MASK_LED_ACT_L + #elif defined(CONFIG_FOR_TPLINK_WR841N_V10) ||\ defined(CONFIG_FOR_TPLINK_WR841N_V9) @@ -209,7 +218,8 @@ "rootfstype=squashfs init=/sbin/init "\ "mtdparts=ath-nor0:32k(u-boot1),32k(u-boot2),3008k(rootfs),896k(uImage),64k(mib0),64k(art)" -#elif defined(CONFIG_FOR_TPLINK_WA850RE_V2) ||\ +#elif defined(CONFIG_FOR_TPLINK_MR3420_V3) ||\ + defined(CONFIG_FOR_TPLINK_WA850RE_V2) ||\ defined(CONFIG_FOR_TPLINK_WR841N_V10) ||\ defined(CONFIG_FOR_TPLINK_WR841N_V11) ||\ defined(CONFIG_FOR_TPLINK_WR841N_V9) ||\ @@ -243,6 +253,7 @@ defined(CONFIG_FOR_COMFAST_CF_E320N_V2) ||\ defined(CONFIG_FOR_COMFAST_CF_E520N) ||\ defined(CONFIG_FOR_COMFAST_CF_E530N) ||\ + defined(CONFIG_FOR_TPLINK_MR3420_V3) ||\ defined(CONFIG_FOR_TPLINK_WA850RE_V2) ||\ defined(CONFIG_FOR_TPLINK_WR802N) ||\ defined(CONFIG_FOR_TPLINK_WR810N) ||\ @@ -292,7 +303,8 @@ #define CFG_ENV_ADDR 0x9F040000 #define CFG_ENV_SIZE 0xFC00 #define CFG_ENV_SECT_SIZE 0x10000 -#elif defined(CONFIG_FOR_TPLINK_WA850RE_V2) ||\ +#elif defined(CONFIG_FOR_TPLINK_MR3420_V3) ||\ + defined(CONFIG_FOR_TPLINK_WA850RE_V2) ||\ defined(CONFIG_FOR_TPLINK_WR802N) ||\ defined(CONFIG_FOR_TPLINK_WR810N) ||\ defined(CONFIG_FOR_TPLINK_WR820N_CN) ||\ @@ -343,7 +355,8 @@ #define OFFSET_MAC_DATA_BLOCK 0x3c0000 #define OFFSET_MAC_DATA_BLOCK_LENGTH 0x010000 #define OFFSET_MAC_ADDRESS 0x000008 -#elif defined(CONFIG_FOR_TPLINK_WR802N) ||\ +#elif defined(CONFIG_FOR_TPLINK_MR3420_V3) ||\ + defined(CONFIG_FOR_TPLINK_WR802N) ||\ defined(CONFIG_FOR_TPLINK_WR810N) ||\ defined(CONFIG_FOR_TPLINK_WR820N_CN) ||\ defined(CONFIG_FOR_TPLINK_WR841N_V10) ||\ @@ -404,6 +417,7 @@ defined(CONFIG_FOR_COMFAST_CF_E320N_V2) ||\ defined(CONFIG_FOR_COMFAST_CF_E520N) ||\ defined(CONFIG_FOR_COMFAST_CF_E530N) ||\ + defined(CONFIG_FOR_TPLINK_MR3420_V3) ||\ defined(CONFIG_FOR_TPLINK_WR802N) ||\ defined(CONFIG_FOR_TPLINK_WR810N) ||\ defined(CONFIG_FOR_TPLINK_WR820N_CN) ||\ @@ -444,6 +458,7 @@ defined(CONFIG_FOR_COMFAST_CF_E520N) ||\ defined(CONFIG_FOR_COMFAST_CF_E530N) ||\ defined(CONFIG_FOR_TPLINK_WA850RE_V2) ||\ + defined(CONFIG_FOR_TPLINK_MR3420_V3) ||\ defined(CONFIG_FOR_TPLINK_WR802N) ||\ defined(CONFIG_FOR_TPLINK_WR810N) ||\ defined(CONFIG_FOR_TPLINK_WR820N_CN) ||\ -- 2.25.1