[dpdk-dev] [PATCH v2 1/3] sched: documentation update

Jasvinder Singh jasvinder.singh at intel.com
Tue Nov 26 15:28:29 CET 2019


Updates documentation to reflect the changes in the qos scheduler
library.

Signed-off-by: Jasvinder Singh <jasvinder.singh at intel.com>
Acked-by: Cristian Dumitrescu <cristian.dumitrescu at intel.com>
---
v2:
- fix svg format

 .../prog_guide/img/sched_hier_per_port.png    | Bin 58973 -> 0 bytes
 .../prog_guide/img/sched_hier_per_port.svg    | 492 ++++++++++++++++++
 doc/guides/prog_guide/qos_framework.rst       | 110 +++-
 3 files changed, 581 insertions(+), 21 deletions(-)
 delete mode 100644 doc/guides/prog_guide/img/sched_hier_per_port.png
 create mode 100644 doc/guides/prog_guide/img/sched_hier_per_port.svg

diff --git a/doc/guides/prog_guide/img/sched_hier_per_port.png b/doc/guides/prog_guide/img/sched_hier_per_port.png
deleted file mode 100644
index 462e88aaab4418d8893137659a08ee43f97842d6..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 58973
zcmcG#bz4=@`UMKxjdTmBbayHp0)oJ%JER3Aluqd`>F(}EkS=LZP`bN2r0dRo&iUQ@
z3GN?0`XFnqIp^DBj2WV&Accwc5)A<X0aHd=LInW<A^`p<qCmh;ZhCe$z+Z^=DpKMI
z6~iPu2nd@*G7 at 5HF8cfFNJ;AIM1dm?KmRN&EI at o~Lqnf?2ct0Hg%%YhUE%Y5!GXaT
zDIhAN3&IZ07_Yh<9*@%f);KsWGv?}sUmeTsYu(Om9oA{O<>luyo}xf}y(uVAP#_WE
z-i04x>Bmw3?*{@<f4u=W_<w=lScamYG~4;g<KZD8igmQ1<P{VwHrn^Kz3$)tS+P!v
z1BHSgBS46GK0oI)_U|w;01wX)c_r)N;6O=8eYUr^kJ at gn9`3H)E)N|Ybo5e0j5OI=
zTWk2lL~%HXeHNOXAJ0bKXjbZ{bD4%VsH9>R?mR(h<{}l`VFU|cixhQtzw<}MkBN!V
z+G%p!iy+}&J(YEuMnY at 0n=Z%w3IF;7%ICQsUp5BgnMjG)^>wQZeeTWeG|~L^8ux~W
zn&8XEfuN|b^@fLqg{czL(a_x8UoI6YX7Y?HK3EZe^=cz&yifz{)kW~Bvz)5Xsbe}5
z$0Fh5_|S_%q?PiDO>8>;)nUpX7O)@<DQ~UPeAz at oHr)n^5WKdwHhq14By_^{z7Ks7
zdJQ(6yJJI8Y>H*d2)0v={~X{k1tcvzJ3D*(N!QPxH<w3VU?GYk*Lmut8dVjmJz-nF
zl2t{&b3%Sre8y;yqX*wm2ozOQQ#;%I&92w<`pax>1gW6Fi*q)K3Wg_oX0J>cfmIBV
zpvK0=N*Gk1SH`UZR!pVKft5x><7)BY_7KIXq6Y8VM`@E|{jU|X2oQ}lb)sXO{%3P1
z3DN0z($2(Ua5|!3=e1N6`!HseQ3ddC_>o3{*VRy8an=3DLwvn8z$uwa!e;;HBh$Fx
zbxu%&0>b}(?oX(96?3_?jNpG>21OJEuN#b59vc7O=X7v!obm}6&EdO)uU-o7B)IO$
zI{*EgC^J}XEfwv-f7Xrz-46z at 6ZB<QMgOl$nn{AyYUJgm|8F&<;B}@_$EFtl``rJJ
zo9DxXnD0c6MeT+91CQ&`i|2+PK|b#B#l^+tW&OV*t_)moR$LGkb0)C4!w^vmi;~Pt
z18M1CH?}1)4c7fZF&^=L_^C=sb&RQE$+;ayXIU%$Gqw8P;=|#VLy3F+f0m<%TP~#S
z*Z)}#e$+30Vm|)wC@<ia6aJgn_&>|NhFgwWX;kiimdk)!j{b(L{(oon4sJOpEam?!
zhYwzNAz`rjf0lzEb-1X^E3g_H7N~JWz~Nkr(?;lq5Hs)R_KbC{byRLbDe%c2%6LS0
zC=sHNWX{!pNF;k3<aK*czvRw&+{62>vJofWbuq4?l-|i&m`O<Cl`+;IrRn%5pM9g?
zd4!H~d9G>6x|H|xbd~Kvq=&-e^nF)*g&Aotv(+5?(Pc)%l$0g1`6n;9UwC2rL%?b{
zkPxvIBjfTK96|=$t@;v6t}+Cj#V+6OH+p$K*g;2%tT#Ukq!-<)|7<J|bIwH9<Gn6C
zYQOn--8n{F;9hSym*3y|{SDc9*BvX7ihQ#E&GbvK^&jtaH{mCZP8n5jg|s=CC^Frc
zPRzD$K9-{cbJ_l7EkYvVe5;-DWT=g7_VP?Jn={nTu=n=f4dcr8+DG-%$U<l+YP-|*
zM-$!E1>&s{-4;Szc6B1wTIxyC-nY9SbchUJz*AqDU&n)Oc}D6><?l|dcZiIf^uzCX
zh=n%K`dSk_9tMNvGPPPR{04u$tlnObLJs7~<UV6QI?`!ttC<gO-xM-X$)__O*jfmZ
zYOVX^@ZN7+uidj%K9vU-7uSCCm-%E_a_7Zp2Mi_H!Iaj}R0|we6&pk#x}ROD?JfX~
zh)uuzYz{xjnPto4Y<=-eIUv(Tqp#G(&T;one8wG>sABO%NoYvuL~af881syjj370M
z#F=-#>Gj}t0^Gl7|Hf6r)4)fRynMR+iS6TuBKAPc+q*8_%uyM6bF#$;5s?8~+ebWH
za`O13q~PeGx5_bV#;b?UPM620r!_AcxuR#_VL>eZ0-j#>eMNP2EZpU;(&aqy$gY`q
z%95Dvc4{4+9iGvWWbnDF8b>sR!-#@qrRC&@Oma at uRH$=vhZlpZ&^Ne>W#BJD<=LSD
zj&$)3!76`E^s-ULg~)Y%qtk=wi)X$m{=(Ro_@!3{9<$%=Z0zL3?Y{1Lkw5;#6cEvH
zIXI?I5xQLbcRz5UANH#f3DLIhk8eyZF7Sb%w-gtX#b?$0FapMBNwh9ZD;FoNeO5I2
zOk|#tOcN{y6bO=r-5alr$gaZ(2G=etZ`fIBPk%mqNHi9*i!aeCH({#{m=RvJSfOxZ
z|Nr6~8J?~DK7V6)LTW<okMX}S_W-+yxqSP-C`HA=aoT{U($JuRY(k2Qf`!#v)1#@R
z6h%4^RUDu<Ao!o^+tGz1E!%2$a<@qOo~J^ej1)H^4yV~|=tg*sM~}}<fR$U4;=3?p
z)xyZ_m+3or1Uo<@NJScq&JqHMFFsG>r{EE9rPgPy9;CYLg{~e<)H=lvvs%0vt at 2EN
z8s5 at Eo8Nr!LuEStpei95ZtfG at 29Leo!HuD|^tx4?<kZj!RoJ+OuU&p at dVz}z<H_H_
zjVFW2UwWRb-3To<XkHS9#WU?)h1p at E1?V;QiVQNrUjji%dt+}g-fd85EtH{F5Ux^E
zu^L^FN5l9SK-5*;FS1?ka?Myj!sPboUZS(yf4NwsQCfktnLvp_35o`e_^C5|BiK-d
zOumQVep^{~WCrdG6?eb5JS~sCi&JGG_c-cOvJ+I&%b7XHJ#HK9sQpHmZC%y>avmQF
zgx6Y^oZoYF^sEi`TOp|!<CrP<-7YLbwWNNoWZcvGYI|r)L9kz3Hwgo at A}x(IufYfZ
z_>0=9tXj9<U-U&c!+sY&tEue at eJyM*P@!@17gL#biJVh_iA!9S-rR%<BxpHFg&TNA
zEv2aP7%KRS&MTE at mJQuhQ^5;=uL1K_DepRRV`G0`&BZMlv+)u+L%BRa?*&rgYk1bx
zd`rPeX?5O&nHYP at Aj!lWGF|%5q}gM7c1(qUJTq=E((7{UU($ASMPLMVxzuz#^+Dht
zD&YG(Qp at 8fYs{CKny_(YL!km;^I~(?p>)(RLHDa*^C!~mpkg$S{?E4)C6~8X{BB3)
zH9{wpV({hkOj1 at 4NL7o5e{NWE_$3Pj|9j;PGQX=N++-fO(lQDnZYwG<C6S&t(-=EU
zn8 at Ml^8}OD3-L*2TqE{NdVd=1{@*gR?2FRf(>ovfP1*O1;bQ?Jjr;T)J}Rm-ygoLR
z*bgi+)A1kn{gf!-;VOz?#2_Fdb5gKslcIgrRpIXUA@>M&@&3Ev_?-51{CQP;G`y&w
z;&}f}8Y&%EFUWUw=?}5!AtkaYN2$Po*FdZY at Ah`D2n0K=ZpKj8AWByx{M;wL_AV}8
z`LANq6NS#4`dz13<NnhsWHCG-iXqu;C><`U2>lks;MDF}_?^j~S(v=mUtkjH?J7vq
z505yC<zFZ+UtQywRY!R_RYFiT<uo?373Jj5Tk&VxOjQlu{4zY%LIUMN!$<uo0kGL8
zu`HeN*>ENTH8xVEmV5d98C4k=MuX>aGFEwOORGGo#LWv)5cVxp at Rv`b#Ib2s=pAqk
z_T29vJrDoY;egGLJwhyHnaHSCZH!bOI64?c<Ya2<ZR!Gd_Rr9kRu92iOI3d7G`kh=
zRbsQ+L<*+vZobS|=AeH^q&Uy_r!5_=cK!AEFCS3P!6ytwAa%Rk?v<9!ExbP%qj??U
zee2#xf6#9m^y#s#tsL8}PFN)@BIU=|L2Kqhe7ytrAGQF56P3z~-TSXYc7rRlF!3_+
zd_&gA2+eCo<cD4TnYBH3kyCV0uGqd%6qh_)Hj2pqv=E1(9iS<`I9zB39emi90(tvO
z++DpDs~IPlp;dsmM$_0yC;sSL%@5sOvX_Znvg9Kk6U-M*Gp7W5Q<Vml`mJaL-R`F4
zyudB$qT+4g<~G6&4i29F{%K^g{5>`apUuf?5Bzsqzt+hn6189Le|MGD3{S2X$T5 at 6
z|4glCx)P*8;G?-9RJ?ESPiM$3v-NVbYK7YKdSlA{`jmi4t;lBOCkLyRW>+9)*fYk}
zDil6yqn{ONwp0Ee!SQmC`glEDZ?#@7HaqT39?aF_<3E;Oa+(gtiFn*}OGqi}x~wa<
zAMlaCFldNSsr`YMw6_!!o&gh&vpdMzYCKRs``R{hpS+d1lf-O*Nb?=E<BJWpZ}SI+
zhL{y^#+sdvDBlJqDHQ!{AqO6F`VQXWx>0(woF6tH4JW^%KdT{kU5_>&D~M+|(7)dZ
zFHNlfvQ%x at bK~`6KeWkh>W${Z>r8L|xx~BsyZ1cBOB*2xn8f4E>IuC9eV60o;|l2l
z_vcdv$;h9_i~h2=->Kxo2reO0DWwEXrt%J^pWz-P4INGwoNBb+y1xynYr1ql=^@JW
zyeaOxx7AdRUQv$5WgL*vtXv2V4Jp>DVA1CAwGZ at PA5JyZ=4j_#bfIQqg57)k&5>MD
zKbWnv at 1GE4R$hIvT_#BH01qp3l<w|s7Og6Z*RNmax;5Hukh$$wv$TY^Z=ww7<w at +U
znlin1&(q%faS)csXi#gCjO<Fln)!9NxW;s-<O$bsJhP^u;fr0dvF$j0ZBY1VEB%3I
zHQ+*~O9Qb;Z&rfHH~XV=!QfR=Q=$F+Bg2#5Vw8M*SJzvapP(dcINxCjEc~GB$q;tS
z5O5q!Gs?IA2>Qf<TX>B;^zE4W{s|f5Ifv0t|GVq6ND_WLM6;{o6);|Xnfr0zmlI!|
zC3L(0oul1((RHhj+$)Xq!_%co-NqW=&R66w1><VH7$C;YF+}j%JP+~lL&k19pM0On
z^My&Z;8&4yuD<(;WCAHUx!3-5b&Km+0)z5Txo2P=<*{D;7Pq-oI27iSdpBp at j#()_
zcJ-TgN$Bj?t4(`}SBwr9hrkOxkOMs7UihtJw$9RsOe%tel4KYBy5#MrhR7M#;WU1~
z)sxF5ufAfB?qJ-?wi~7iir-`t9>~Wpc|IrIR_JT6fqhm)An0#`kr2cQ`LEo!L0D$H
zyOZUXsghm!IzK)qM at 3bE-EIse#)=0Y8>wH!^g+Q9B_pIbz#E+{Q3SoE?ht%bwB9aA
zUy$uuZ#HTz?T(L+535eCx8%WmW9;!d at Z-s1RpfSz_oK^P_NdKv$>nhYz?VBbQ05!$
zk%=cBA1>dhXkw5FUF}u2_kJ0<cz%6#W%!2)IL2fdh^+KCUStsg%cgFyG>>;in!{~=
z;_blBLQq7APc`xVaThkQVz*WIC5pg>I2t{=*0ULFRJmT#CxzH|Ps0e9KeB&KbI>=^
zRA{ml{{bE}2}8Iu{F5aXM###fUNR1j=yBGv(p6AY{w9=w*_ek~=!J792<KRYdJqyd
zVYBcdla$#UjvFX=BUJ2q++OrFBep*kFYD)B;Uin`2_v$et!2Cs<s&pEWa<Rw5JW79
z5X-4z?wdx=76;~M@#z2)xh+J<c2%NOqud5UGg3zTu5SJL^az>9zrO&?zyv_Yd;@Nu
z<ebaIdpk_0m$K9G>E4Ov at U)hLLPJllnDRO#4^ORv3i`Zp(1 at AVSiy3!rLnT|s6 at T=
z$LAT}DdTrG)smF9b)7VF(-Tf=lhh~;l#uG`Y8v&If=(<;Q6EFbVIYv5Y)FFps5J3;
zcv=pc9d^WzYxoSdm$-~Hu^wRPuJ96ofQZH#Q{!~=Z^xh4<8*-Dq_Qd(KTEkefX-$h
zhBhy-$^F`HZ?b$~f~J5)7y;CQ-Gi83czM!7NduV=cq&aYi?(I^?P0UkLKD9)c=owb
z=k8Mb8#2FRrn~1d{zhufm*y-#m at j86wTmg1El@xNJfU}ta4SJr(-K3)R#e<7<?^W)
z{=p0jUtUlkvGsu<1rOTw258-$<2jjr at i%n`o?j&dSzmhJ`js1NF9?hDr&0Q7s{(7>
zGbXiQU3oL^6)ovdF)^_^iwP>yzzrY!P22!I{<A~W17Gj=RNmG<_h-KUMbvMw$p-j}
zYN0~8MtRD2>S$(7Hl~*!ev6yXkh4WZR2dB{XSlux58leM{X>Tw28c>XbSH6sSoC`I
zu$Wej`EYl2!nUS_Y)|zR{cq^L?|K*Q7Ns^v(bs)_;<S4U&~T^1lZk>Kywr)@?!R(x
z;~yLNuD~Vgk5`zj|0Me=<hA*z|D7BN68&~hVM)aj&B_RF*|(Zg)>Qk0=a*U<3 at 8mx
zA$*9dc at Zz8#_qz{+gvUeob~FQ)PARM%g_gFM at YycW07Q$aUMRes1DgI6Q7Rf-<C0e
zpARnN_Tqq;&xXPZC2h^c?Q;8XSDnY!v16HLCD|weNf^{G0G+5;@6S6e!QIzCD at Yta
z`LluNu80uR5NyjjkbOwJ$D!tPKgtCSRcp=u_J$L$u}P2W<6%67LOVK0==CZO>OpUE
zz?t|0?xrZvkHcvp$-7r4Ymsjr_#y~+nDwloAsUt`yw>{SHOKz`dY!d4ME*vCdL*^^
z%eYRaj5MYs at P%?fNXBSNo&%^)+tR at E+LQ#M9Ifqw6-16TB07(B?FF{V at U*L|i}<zK
zGK+QrOISq}^Ux||F1%AV#R>lQ?e5>0qLHSuvhv$NjO;++3*sS+gU`9k%D&AMO=6?<
zu|J>q5!Qv^wxoR_-5h1+fAU*W=>}ebdT>S4sA?=gu6+LaUHHq1LPc_+DOQoNG0dy2
zOs|;Edl0q#?+rZ8350&_Bp70KQt2i8W&DG8ZbQ_fwvt?kF(qlU%_b1{jd)F(M!!%l
z{pfymkcvC^pw69mv at o?Yt-q(l%SF at x<QY%LZGs}!OCXqP9xb-Yq)WN%uMfm#x~!s3
zIcf1a#iDkI*ETuqjQ;pC*B|u0%23SP4&PbKNVB(%byOcDkuqOV7;KQ->rQOvCYD~&
zj;gDaq{^XHUBhZUD-P!R at 2?c+&WdZbaSs~Hd%lKdzviqeX6mJ9=I}JHA?iKa1XWXR
z%HYTa75x#M7eiYaM`RdANUkBsNKt~eZCZ5}1Z;6vm(4BkCy87=OkenVpHX?^FDDv!
z%5aGe`YIJgy}WofZnL;C9cVWgreqIo3s{ZY_vI^8vZrxAod1!$!1f)$MCkim#URnn
zzg at mL-{V8Xdz7uw5t?%CMparH@)-!NC8Cv000Cw^S^c4}>O&((A(2!5Nlz3UiZXPC
z_N$9c&bpp$M%N|aFiS8yS9NL;N@=N0l&HUb`}TxjzRprJnagxAfz@(`k;LRR$XqqJ
z;(-*)PAC*O9i{!q!Mr at 96X@(M%T732W}V0M+~jPBzIm2ZS<jz-%&sOidk&tceIXu7
zu`Gg8gj>0;EtM{5LlE)g at Vk>`*|QU{A6~0@?+><5M6-38oxZTMvs?Z$t>g^Qn?ZL?
z*2J+<g%%wtG=AMz-x^MLyV)u13n!M^E=@Hy`fIv15L;+Eln at dULetgLN!m^z!KTTC
zO1D3la}<U_2kh__x5Fqs50>fm;HsrHO>EsFMn|d1T|2!Y*^!tYRhGtYUn17+{Y%}O
z{6PF$4?XC_Y^6;_L5#TYLAupEu2zB?)Q-16cwNORibU5O5_)Oc*hn!4U!x&AuLd)A
z>Xz$p#~5h2Q_W#B><?Zf4Sn<V7Nqi~?s#wA%56ExV(j-Wl1#p_XL;Gs8TymXlJ04#
z-NqnDART%*Pbd$40RsJF;Fm_4#B at ACXM8pYYf(u<u+O*(`bUVEIG={Y(V`y7Wcj_7
zT9Fc>JViZ}j}W`<xq69O^+lcrsljx-`bvB!{4pO{%;y}2BN at UpXg8qCoU1jb&YFIT
zs4}Z+0(BNMe%kNugNwd}J}37jTpJ+ePt;$i0v|u5MDU`*r*L*}c&2T6QbB0;IRrtS
zWMINS2z@^^NaDHf%PQ-cn5VM8Y4-<JqzCzc$JmfV1_lQB9zY$Hx++v|^8D$Ks-*;_
zo}(7UAUyOnGdLm06B$YubdIV{`)dO~752zqAghW%;_AJXSH3G~M`4Rx8G;^Z6>8R}
zCzWOaYI(dAhjH<tuMNv;?Y?vjsw(>bJMG-yG`L at Ly<iST+SHGnyJ<dZ+xzD1N;LO@
zOLx4|fc&xJ{`PWhErPKc<ddsr!M|L>!R}5}b^&U at h&DD*hTkG4{ZXKEEz!1Yb~@Ny
zhBgzsHs~43(}V~%&B(;k)mbgff at XGSP}>Q%{S2ChfcWj24>8B;=cg3Auyg at OJ4nvL
zw{DPHlnSmvUuwg0uF?5XdFStm5kP*f+-RPm!J8DG642F<>PyPw=>D}STlS*Qnq!rr
z89<srlHu~zu(>|n;A>C~=$@LI>g)v1EfdqMqk`u|b#-;$?c5L<xJQ at Ok$5SH))U7{
zzc3a at 2W=@sG*aKsF;dk8ztradmN`LZmL&p>4XB9F2rrXz+6e*k1RH&Jjj|-#rwN>8
zVF;^gfIX3!QAj8N#ZSNWYkU!(iix(f#;bQ=M1ATqs*Yph2CdL*epjQT=CuxaTn%Ht
zS~NZNY93gO!6rJJSZsAWv3=vT|NPnporrBe$&$!vBk7h(4ZctWq$y-<G9l+fU91M{
zw(F;VVO)p;oj-&{sVqd%1iDI>wYHzi at N6et+koP|Hb?s!9daS%eTM?o%$8Wqd)u at -
znjdy=j)x{EnFU5YDApQVQ7<kLlNt)=(0FIrgyR3rltk~AL9lsik_tGWsN=N^h8R2R
zx~TrreaR%oWia33itkis)b-TM%L}gwU-$E772!VH{-Cenpc3dZC^$g3cgmy(a(d%d
z2C<-1SzLv4vR>av4j4wRT&V=QKsEgQC(CDzuK^vj#k}%_tA9}ZNz>k3G!JZ{*Hvi$
z at u?{76%SlG>yM at m!XyslT?QR;1b)_sm;B%K5^G09y<4>VwHnZ=46~ni>s1+b1!Ao(
zA3~#lozkH~u)c}zM<Y>Zl!nc=>n~VQYh;8DuoY^%Pw#ll at nmAi*6r&^=Y0JB+QQ_N
z&UNH?rR&3o4=Y+%8d)MW`*tR;r9=^yhOyt=MTs`)Hrgpa<^w8CDw50*`V*i9KiN<)
z6+%VtR$L9-Ut35`T+%BKn48rVy$Y(=9|$CO{d$Y^6zTR>N39mtP_w?bm at f52u13VO
zP$7L6%o!G<hYKVoB%dfLDJL^EK2~8vo>zRmJQV&i`})pIqfF~$khwC-{EtYUNs9V(
z{6f7bij6*$ik(crqpM!$mT1qo-SzNZ(ZKvtT5M$8e>=Fj8nt-GPQwD`?%*P!8+z!b
zXkA&`y&Y`1&fISIiiy)>rWlno`h?N^1edqsc+ax_!^4`BjPsb6^Y!4w@$|ok%a`=;
z78*R`4SKt!^hG>`{`If?Su12Wz;5QvQtzNqR|IK{h($}(aW?tYr?!(`Vh+~QUo?IK
z7!VU&_tg;kkH1qSg^hD+^uO-pgA6*G+~i>DD+I4*5J<Ju7Dk1B(MhRleMTEehJ&^D
z9QxAd`JJ;jY`xo_Z659xkGsD;`BI!LZ~Ye!h+8<eyQWfOGmFIQhTkTVN6O2D-PqfF
zZ=>#YpUi#RwL4L&R(U<xEzHSiZZ7jTC^6z|wgzpAMx}0nb|(9jL5Qq;*xla3rpM#u
ziDmfv*XGj>-I>IFj>Xz61~#ILG3u6Y&WHa!`S<<mZB8ht!Z^WQ{7ACB8Ad0JCZfnv
z2%Sw}1Z+WgM)!_4DJjW}-Iu^kp5+V;QsFH+7|;D-$xN%!A;Tili^FoOPFiHZdGn%d
z`m}XvSaNUD`E1+&P_oq1jf2&FDQ*i5Nz>(UjhhIxI?Y?RTTHxr=WEga-TBsPY-yEO
z9gT%lM~lMkr)NCsmXXuAj+SHFeS5qv9-X!+i^BD%2TlP at mk%pi;;W|*>S3GKLUzBe
zkBf?~y7R8~Zs{+qwM&oEn3ez9q7D%D;rF3M&~r0m&wK^ksv&$Mg`&$B2Xos`qw9r)
zgrpmK-kTHENWL)pw4+hrYy}kxt0nt47Eylo#&WHCyOrL}qy7$-;}z9j8JSopb at Nk5
zsHMfjy+tT)y`iY1guA)@+<b49hN%2@^}FMd|B;Z>LqVm1XkCUu>!m|u8oyoK=PQ-D
zcYpVIE6^6czUDeUnG(><GmlU?2yA<ZQ(S*|yJfa-kl*K>n3C{|fMkDb?SLrlRsYD`
z5IdhHhrP}?Qvt)3>bDoKp0<*I!q4CHy52}k;kFdG{D^v9K;^9)(0K}IWo#6btMypL
zt4+{_7hrw-`o>7J-~+udl8+n8dc_;Fe>Lg`b#K~iPnu#ih1^>JbZDe3^w240q5jk=
zm#nP~(dSZ5q?oZd#CCwOxR{JARM95F+pUF;k)M*4pJ~_1#a-7X8}jHWa7M)PZ2KrP
zDNW*oBD*4OS6h5cns2}_>fb*P14Dm)x%oaKvZh7_i_-~n(UP9j;q{uU)`)n?9r_1J
zYii`p<1gXOe>-D5y`X;xM at -z&Me*5YZg#Q)?c8Fh-3`*F+&?+Fvy)Sq2G=tMova8M
z()W$KTCmX7Y?s at cUi}6ahox#0y|be7_rpDI2}~)1479Z8vlr#`tE0$`P4)|9?W1)i
ziRCfu%Y%XP_2bdGn&s0kGjOzo6jAP2^-yDdj4VbMlCHL24^1)(*l%LIU~YSSaKkD9
z=oa2aq)EABcKzhP{47-Wv){bMSgK%de)D+u9i+7e!z7Wk6Jc7pX_sGlK@?e3HkWrL
zl5Z5#>Q80|{NC5IrQY0Tt3;lAo+m$*^oV>E at to;QHTs0juH9yKKCF6j{uR3-w!v{G
zEkKIey^D=}x^Z>O;Kz;dtL^*5-HkUFQ*rrjBlCRZu7}&30b`#0x^{mq-)1tT_U-LI
zNZJ#TMK(AX?wuNZ`i$w`awNF0yRq=*HZ?rsw?JJ*`WBfVtkJ{eAajh@;GZ1qm{qOX
z3`_lq`7i)F$$U#~D&aFsiS<&Og7T-yG+J4MTpS8=HY`y%BJ|=AOcOR;jH(6Sl&O>E
zwWi|-{>VtxOHouA9x$2SkCe^X?f3pp<qXJh-y0J<2)$<DAAHS{>GJB|ujD;W&vIl;
zw*r?CSmbM_-9)u2Prr}nr3*UkD_UyHxvfjY^Tj$@c(yJxWkcajLMb)}{rN*DJ;WZz
zJ%X5aOpA?!JVhEThkp*Kr>y3`4WD17W?~#F4NJ+$DO~(AXtZ4j4LD-NZuJXOV~T&Z
zy1FyO>0 at d!&YsyP=T!Ig+ at fM6O)O2yMDr`aSQk7ak-UQ_M44iN`{!cJgSnwVKJ|2K
zWCY!B-_)^ce|4EM769;~0+9Nxc8%79Td#RL1isB*$+;iZs0<Fk$V2K)McJ8++hDUI
zUT?MFVsyGba0dEPDXGHSpE_r_bMX`GP%a;eC}D_s2xs>*DJjW0d>V!47<g)>0-(*9
zs?ejCPmwTIb;F~v7kmPtg~dI8<0({$In&56G+ at 6sDQsUF-%n(k74IEygoMb7;<CY_
zQvGq^DM8rAMcvp0Cl^-?QwL2&j}d7p!BQ}ORzi9#4}~b|&gSpbwGcl at GREP$VX;Ab
z+j)(>tBKRA7)&^|UoXB4CQ!bzShFCejxLeMyMs<Y)G}LUs7duEbyQlKko96qq{vNh
z3YS?7 at ZxaBp*tgT60tmH%Pgi3Xpo2qQE~VA=&qo55zjg8C->c5?G)2EJeO0gZ?3NR
z1Qx_I*C at S@7!G|MEv8n(XKNhiqPvh~6WP?WL_Nt3(CHJN?F^pq7%<>L%K}B$)2ooe
z9(0>NUvHF7sXRGL6LzGcyVI~S6fIBTe*fAlZ|^LfS-n_%xq4zV(MJ!*XNYKc1faIR
zQzmY)NHN>(`?}bRK5y*ux5T{leKK2bzOZpUEE$$q)n5~!rwx7gLIO at R;;pT1ju>!k
zCN>fYp)H~^6|OUsM5!<I%~1<m7vb5C(XTobC#@Zj6`wz3A@;~7*!??4 at xb!#SO`AO
z^vn?YGVn(8URH9WsA!#a*9Ud7i<y;CJ0w!oxC=t15GUJsJRe)Ww0o&jG4J}D1`tKb
z2ry?jO_a6TUufXj?(#TMMa3H5(nIh_5*k?<laj(Fb%LD{pVQsP at OLF6v3^Q@*!^-~
z`Qz_YHy0f~>}-4rS{jRY%f~BkGrzq&8!?TX#*1WXM2ohOJ2~Av%_a7JMD2pfE3f9n
zH}iUolv}IvJ<J)AYgA~wJv+uW2g3--zr0Gg7K#L0c=j>2lBbVAo^3)L^;fiKO5VJn
z#shVxgMS8^^ID$7#%#zb at 09yVFFL!>QgWJ)LX|k>-%XS<gXW8Jb}s=uHBH7DY3Fn0
zQHOf+hxQ{Gui|Hlw4D0<?WIP859~qztpDaT4j}dbQuoXw0Tl_6n9AmQv`7DK+jNwM
zaNT}xs6p1@&s4p4x>ntHs3A<6D}rs3*j75qG#vRB6D2$}8U=P((2M=qnNQPKe;{At
z at f-=*UN<E&q37N>Q|`)c9OSMu+tacwPbZkFhi<Vd*W{V+)vA^SnRmn3!R*8F6meg@
ztDUr-wJk{{$LFwLnzr4Frw`U!MZ(4?18Y+$JbQh6lNjLU^!e3Car3<!l=%jyjWbTw
zh^?Z+XEN=B9i<o|wKDQ*u*t=Eo$FHa0zE$aLBq%(9-!HIX*DW~V*`P1{?4p-d92G*
z`8~#}{xTxo%~HHNw&+>q58lSr{-eIW-d?^=l>mu3il_tu)7f8+i3Ir$u at 3Pyo3q@(
z+Ki~Mjf5cuw};o}XtW{nS(?-Fs97>ZaQ6s~2u%@i{#)*j8Q+1kFkn2MyK4iRnDrQP
z9>`e=-(?Edd+rmqHLRdlE711YGM!%139Vy)veGiMM9rej;izX}jyKgirivL~G?vZR
z8=vC%GL)cj)mM2h*{-IlElz^gx|$ib5^p(4M at Prk=^G%yOdXYwaC2+mwS>ix at Bi#|
znYt$f=Kw0~Z%MXMMk<dLj9YxZoj0M1nfa&+gB at iW)hB;QQ}>cJ7rMdq4%6jLd9gXn
zXEfW$Tnd}~#~77~4zf4}qlnetQ*O>{%RQ3G$5QhzECJ at Qzf6LPdd**Va;k*^ksOv(
zO9UoPpXTW3Ep`KSJ3?jmyKoK;6K!pan3%%umAQ<$`Y(>Y+~^@1 at 0L&FnG>xRl~12d
zAqhRVn;A$T%)1a*=OJk)`1&un`X9iB2|3N#QTPxciEJ5>muPAb-`@>Lg at PVPTQbte
zEyj0})2JMHc;OPu^NnXPCH<ZtId8gG%=#s2w3?m$$4PU%*3bFhAnN`{P&h;>svXtv
z+Mp+v<;i9lE2}VMoH}|QdfFfiS;38#S at aQ5E#k*!6KX?5)1Jp){YLt3I=(ts#tm*f
zX&4N)!c{V~{BbdNsB1ksMZ6<H=rE$AHF41Wxl6H%>$iUz6Zw5nQUHI@#qx<t<9{L)
z<AB({IUlf->aS>+Vod>)be$*l(WT_~P+beZFc^Ulv#T4EG{$?}eXA$~@XmsPn0C7?
z6;2Fuy at 5_ngkJJ_N5v{`1!P>#@3esz0$}%3Sg6bhrdgl}PRJWdjgym;bL`iI3IN=r
zqB}rBq!-O{35nrvRgG(|A6tOP3+o<hw%OOYRE+C5?(%h}z#T%VScNt-kAaqFo<$RV
zznE8Hf+4+7_xiMVlzD$pt2?h1o<>}5uU=bB|KZ*At?>0 at WBwr%8B}j~>mJ at xjQR5Q
z>*96?J4UG8CWg66<qx~Fq!{s?7ph0186tyqe>Mrw6Drkav>fC-BE!?AX5sMY7u at Z?
zt?%>4zr)rY2RD+rUbU{~wong`SE>{!MduWJqwvs0M^v=VY!hx;Z?AhVLld4S)AGbs
zc(=gd*9M(q3Gx;SCm~sE!D}Zx;0bW0LDuI+yK>?w6}BT4>1-46Y)NZ_4HdJlsN+L+
z$9nz)u53Rlr9!8JkLt2apMDeyroUu2biHMy=W(t`uK#k|C$E+Le?eqValA=f$$i|o
zj_af$R{m*xWpyK0Lh5R1{!!xltSPgaL&OAH{G=2G1%pdJapkl2X3dbM{NtGC=TU|m
zlRZ&I_#?GnGU^euk;6Ux^<H2mJK#XmkbG3~haz4IG)zx$4<4YS5xoz`o(#yNIf{M6
zFiY{;{u9aV6!X!_SG4sh=8{`u?ou`qY+tWO);<tj=iL&fP}|+w at Oj3OaZU@{g#W at i
zX{>1zDMYhEm*4a5Dt(T3m~7s5>!Qx(NEdcUB_Jgx%pF>lX^*53e97Nh(0H_S+JkPS
zT=+UVGBPqV^P|<4lXUZxuW)M%Q#`x<+IS~mD(H|2mFx(W9F*5*J}HWQ*(NTUZ{6^^
zs}y4mYv-<N_wxRWtI5<&X5Kr=Vp~}rJpsTVKR9X}PRt90rEo$VyaaGt){hVOiR=bs
z+;$QbLf3S6bq881GWp`Fw4Xd_85K0O`OZF(uMu7v at Xhr24F;qi)iF($i5(<1wPRG4
zysx(ctO_71^b6#Y0TA_!QH4e^Lx_w{FpwWJO}t11diX9dGUIq`#8TXPy{I_OvS>(Q
zKsKKC7Ijvf-9T at 9F?qp<_tO2!B)<MB2FgJEkcmlvUNT0y!!sxe3ZlydP|NTDG#Oyr
zfSTp;tI3fJvzq&X$@Bf at DF4k!+T&DXZCn-}?Bpe^vu0;tc8tB}I73h~t~7h_d~L$M
zujNnPPXNnpt!+I53fS}U{_ at 4!>)Tt+VwHS=$pQMBv24hPkUekuiBIi#oa^^b4|lhr
z^1P7v`TTf1?zk3Oho`LiOlcffkDJ;HvW~Y7YrY}E<kq8G=e$CW at ltYLfB=n1{|6R}
zjHnW*kSXHPA4LfSbjihE_sZ+rZVv@(UGGj6rVkpwf3lkMa_E{#D&-w0II|Yh!dA>A
z$&i<Q%FUA64h$imB3u$t<#~StsQ74B-ZO9ZmgArGOP=VD_GxwKv`!Ms`#Y-WoA*D~
zwy)2(jE@#&S~Sts`YPh0TH54gk+ at 6L%Ivp at m^4eRM52FI{OVJB2ei>hJ^&Eg1aq3K
zbc5y{5gP!g0_o&aObXb!sNCl^<@+MZU<%(xt~^%o^7nYn)T&{1zgPjea(lkV>-BK=
z%>YbAc!(8-Vyg2^BuLcRU1%t}?O$E at 3gov&()!~tXL9B8OE6#ZFzMIS=F>g<AB)p5
zjG_yGE`UlW^V@%XN(y|;08khaBn6-Dasea0Ak$MG5khAJ7<5J9^SJaxrm<#P$ZG##
z!W>(e6F(G-T;vY0u$`r_M7D5y|N8o2=|5n;$;zUzpPco+lf`s=k<?Gr#|xM~z$88@
zzPXpUMz#-(Z}as=MG2;E{%@tO#+e38I)K%y0SXVu+z9eFZHk#9#{_(n$mH(cM49}x
zRLKDW0V_s)7UM;{OYX0Dc$|Q4TCR`RhReVply{ICWf}#jEqEY01-Q^M{|?}LQKbrL
zd_Lj3z?WS1tNTtjhJw%yz(Xe at ys^11U%ygia)X!IZw(`%Ju?H?@dbx2#}BK8uZQ#e
zo)}mODq0$|S}%B*;aUJ^aU2^BC<mi_GS>zm$$E*8lRss28UfXST{6*Iwft*Dm4<#d
z*ZV{oUN$zYNZ0irg3gDvRtqnUD(p;iRV at XXSH<h~;3{R!D^okM4mIfEVk^4WPl71v
z#VG?XIMIK7w#Dnnv3Apmq*<oL>2hpn++s0V#t&2s0Hu1t>t9O<{RY?Fo+Qa&i*+ob
zM3qA5J6^o{2!%p1NCo0-n2lY&$c+P7cG2_p09cWTO*iQe+iJDiBbF-^k(rX>2QxDw
za~B$9QXJ?uo_&I&NPu%iL9_&vy2Z1qaPm{rTFa?JfK9_mO~5J1AX!e7m=+ZO>XnV!
zNka#xJ6vZVUfxXY{b8}RvJEY$NGba#oYDXQaEf(0*NZVggMhJ>hl$AophwJ_72iTa
zz-Z)YXqYwd1STaWiVc)<>*pX}KS9(bvw`f-)gJ+1&SoH0$n`Wga&aiZqz@@8yn6+r
zPBVOH@<()<YL^)#6ek*)0w;B#UufJN9&FM at gI^*5h<hs_s(Gy!-7jW7(JQ1$CpaK$
zQ_?X{e*(!ex>~x>ZMnk-aO^ou4mhX&7>Q!w?1nz)vvix{HUM$Lf2lE{Db(thuRh8F
z@{Qz6UAM~#iI58p5k?Z>d{~mH6t&8>tp)fj|M>;#Nkt^WE;pL%-QC&9^H3W|w^6z^
ziT#Wk0j1gtUt6N?-ay<i62Dcp?WEL=Z)!j-(W{4_vVes6%u)^E8eC|=)p!>{B2yHr
zmxfT+C12z8%&&-z7ijrE{(foK6>F}<glmbcq_YcOWeb_Fw;z>gMXt{i<e0-?CEY<9
zr-Rvv2nFw1&cS$QA`yxz1~p$k1Eu8#fX-tv<60Ob*47HbW#Vl};@%X;IG~?S4PucD
zRtHiEX$OgHMtWaVsZJ>}SEvknkQ?3+nV=I!d6wFMT at I;(oC<Aez=y*yrHwX}C^hr>
z2HW+J4%B0Se0L2{$<m3^`)(e!KlY}c0D4#g=X;Juxeh<>iFipaT%GyXNn+d95?b{7
zvHkHr(pSYKhPDS+fpC~D4%im^jF{<n46W=cy?C`${i30E%L|lXu0I&Zd8HJF%1}_(
zL{GYa3~EKObHK{8jwwv#)2gA#v+g*_m at ZO5C&NLi>0~>aWYv~bz6uBXH*oteWekOq
z;sKhQv09pm8uD5BDbS&%`r~5B6#tb_rix+G<zPyaVmOfAz_qZQ5uvaA>mZAa{1zOl
z-<RO1wFDGky*JMgJ2`!7LgT8w0uoS9?jfs}TJoLru)lXe-}25_;Q$*$W6J!gDX+(0
z<Nw_|Ns1J;v*S|mws4}wa;RZmk@)mb6~PaIOoEen7#2LzZFa((>inB4#cTGbgHwi}
zgaijs5jjsr8V@=T^_ia5y4&d2L9fhdx&z7?y(G=*!r*U!UI4z26>Y+2u<RrTeJ%7$
z{>S?Sb2>;4#%p}h9X6DtU{Nit=jI4f;V&hR*~th^AS_B*-XS0O)#36MN}cFZb3pK!
zv;nPfg08$mosSc>20-1j5<?bV_y90qWicF|;vy9UsLOPfk(Tp3GEU2xZ5s+UHa+<v
zNQT0~!l=LOUQFR#&PWkgs{I%EgCYiuDm{6Mq4ndlb_gD=($mw{Fn$fQnKcrAI~?v`
zKW#&FfpDWSg&~dr4=*Rbves4+ZkMgLp^}3 at 1jp6r(&LC+hG!ezf{wc;yej*`)s>a(
z1Ni{)X$PPe$-H8^01{mQ8bJ-O9#^{`{8oq<@4J3GVW^6#>Zji+0S5CS`1DEvaB)xr
zq-l{WTu&KrXM>6CirFk$e2g4XeCfP9an+WI7w_Qy$Iy^hO<_m{86STx=(I0I?%|KW
zEX&?1LBT<(K^L)Mx4^Kj1*l-(>SZl8vVl}y_6k3?dYE=pBV0mGB(}qj@>~LeFaUp9
z)4)SAZo=)TRZ2s&7&8;;HQHC at SzK!wl6e_VpED%eZY#6VS66I}_D_s74_j_)oZeH|
z9L_h2`91xe#QEe6WPUOPg)qoBXf=b~Km;a;7bv-jPG-j)t*11P^yMT%V1NWDzf5xd
z<+dceTVVG$=UuHiTGht*baLAhrHOutPkylf>Nf1Gwy|Gou%$L8<o8m>i?RFDrZ%vT
z<qLGV$TKLET}ZfDv-mA&mx#WhpfUK at jjzZj$!~aj2tD)#G9(soIY_J<w1~*ULhKA8
z#s(!OPEv3UD)qkaA0W|<Dkh{Cwd2Lnd+mB^A`|gxoD6h=q}E~7QV|`s$L(2YAua{a
zk+NiY2%R=!=9t22=pm at 6sMAHq<sCPp<?nf6Q<_Ceof%O6t$84o6ypruz>WwwlLX1V
z%6)5ICQKPzZ826F6!k?wS)O~R-2-AH<K>0>lcksj%~%7B7zUt^6QZLFq*w*%SJ~)=
zFy*XxEOK0gLO9r8;i3rTVl_?&xA!+#H)L((0^B57{jN|#*+=zvrl>P4<`+ at 0MisMo
z4NxXYRuq6jBQPi6ua8avoB%>Ghy(v9R60a*bcs^o9t1g{gp2DTwxJk at NtJMw6)CzO
zVFGKkHY-vkemM31U<i+_w4)Lfg+K?$Zxy`PD>e=vhuGVN9<J8Fqn!&>7Vz8(qzhfj
zQ8b4x7{*xL4W^xpCJcS>8oYKCt+f3IrMs_B6?q-3^d0_mn}=J?WK2Y7Hlvfys-ZH?
za~e&2l0BdopyXv^v|TY#Xr`c?=L50wA}A4*axQ8c&|AS9zAo%H{^qTxgUlel-~T8R
zH4%pPPe|w+mV^Uwm0uOlXaDZnkh6eu1m~h?z=@7Kp>PiS|3{W|y&elvj;eO_IE?z;
zH;VA6SF9cU=ClKV(<zSyysu!5-3E*eEm+q|eSVbx@;5{cy}1S<n9HA-N)#6-$NSSr
zM)+?p(Ae=I-rU|cQ(`%3bBU`1o#T}kDBms^Dk(3 at fefb^hdOo^1KwNt>CoAcLZv at R
zP3mwVsuZE_pmAquDSd8fcBzT#Bwe8B2 at V-teT2m`o#ciOMD2VI0fv2_!)o6MfdC>{
z;yj2B&43%m;<WvzlR#r5&9Wo66*Tq$|5Uf<jwUAJ9O6%;QX_r`4%p~hUI0auPY2K_
zg2oZ{k>Ye>RZA=e39%0pDU3wD2G4r|W$kqfszSkPD4wL at l6>_jxPDj$EyLKe0A*|k
z=&d^B2*}7DKyRvS8U3=M;)nE>F81bIJMI;Gu^C(to1N9&aocIB#gP_9nichhHB>{?
zHn$gFNSLKH(8q3G-$$3BB}mPD!<BIg at DpS~Lqu1d1oZ#1mdevH3<=We(kf=Dd4lYL
zY#dN6%j*|Y1fAIyN8_}Bd^yVm;!uRC5^{2O)^(i&ZUvelg$$x$V#e#rV>QTcM$!Bi
zKHQ`BM$9a$TUW{wUmh=31*!t34R2DXsn(X3A`#G8nvx*dwsrV?S1VR=u at +$I6i-ry
zr!6!#^L>4kU#YxDaBZo>HjZn2KU6wfvU)}Ein!yckt)z5ayF(cYXJeR<d?9^EWcRR
zb#r)QK^T`8K1T`Q=WnqB7fiat8SbYtTxGHQeFsW5vq(gYD$uR4R9@>G0-9S6#Ga&@
zme$sECo%B`EMWXoG8Bk5ZWb8 at nK!w|Kip)`n~Q_n1?Qz~RlKA$bRSUHVoOn{o~!vn
z9i${Bv+28kFEnaUj(>z(vjrP28U=+TzMsjsq#<Sv5w7Kp%~Rm8dk3|71|kKEt6wY5
zNyzPjWd;c at YW-%3n<Cj1<1C8PfbG*2gdKZt4YXb)7I`{_EGQ2jeWQWAi7{+6g630>
z5}{n!V<|Wz&^2%AMGLC3jm8TewUynAKv8BoWzruRAzV)T(`3S5gFggVwoo<bbmW8a
zBH|25A!FPz4#)b_yf)};8!W}YZ{Q}q at e=7&hwd$_y(^#{fSS1m9|%xsMgh)3zs)^)
zG@?|q60YD@)?RftniA&x3hqF>drL=JBT2!1a(Cg1{-{&$)KySE=j6XA&7$0>78PUT
zdO3^fW{vcWnQV10c-bht?*zM*T=G%CaaSVHkr8=6_|}9+UhTR0ObsmocSwG2?FSv5
zmx~!%48O^=o&qT#xCRQXeJ_Xa_37^xtG)q_cE_8Y$#eYF$D1!7<a(rt36{=g#)RAX
zwaYCNcO$lHa9+INw-{$gLom{@ZaH~+!34hX^N1<K2k3z%i^O|#lr*%ofMjgqn9^Z|
zwt0NC!ML9qMeC_glBMcxVmYV#cY)cJ0rpMyF|+Z-VCFf(k<|JX-8fUa>SYFSo0dkK
zHS<%&^yBT)V at _@^D_;Y~Miu-HFi4z{C0$4repPHiwCX5B- at FTDPxQ6FrQ;qSD~+lc
zQ^$@CFld}bCrIL32jy?{@04Fj(9 at hWU%f?df3#HGo|VbGI9P0zTDts5_Dxepp}Efa
zrn%B#Yv+0(jdkjC71rs$e|uBbgK>-|!pq0v9Wjty9`6O*f)2mH^2eRROr at tlDqi4x
zw0L)f;*W}X17<B+>tI at 3X;mSid*9Jm<ZjZLhI2F6LLc!~(+{J;2J%lw?Z4S$BiJ9W
zTMyaqT==q#!(ZmBILnjV9quy2Rwv30yaXIJ^WC{!eHHEnZ1>Ba7$wl``BZcKXn(lb
z8%kuSZ=VM`K(~v1nI`_yVFo|Jmk^5 at JUmO>){Y?#pxKhjRoWg1^+rhrdPSVz=KJ?c
z5XyYZ`gdKUP0D9d&5<`-4xe>qJIR~tj{eQ&y!wS-XC``(5_x{NrgoF&`~%Zmbv;Bz
zP~3}nw5&Jm`(crP8Y!T%Jw$Yz7K}|yNzDLDwtlb~D>@JY#=ZAn$X-mN;_w0TluDTW
z2_cI`k}~rUYOs?g9tb4jZyVs|nEb^*^x}yMUc&6DAoqubV9N5rRp<EAC5)yK?dV?8
z)a|5zoU1sN_mta{=d!3F)ka%R;Yah3hreZ#myDK|frT_QS`iiBqE%E>dI9fk_J^WO
z1GKSX_|rwo)XcxA-wI$tx(#tZT!M=ZDvtJ`>vRVM8*5?q;%^iJr;U%qRudZq`E;&V
zf#aX2He544k(X+!$TRNRKIX}AI)4}|e{YUTG at JpuxHyrKJ;7kq-MhXNp;uixHp-=A
zeSdYn%oD&W&!pfDq?DXIOjvaDlQQ3Fs&f*0ry2XG{ZJiqz-_Jf&wgrga+;<KxsEbw
zuI@?zfzCPUkDVKwN<2K{Ts6(GZ}hCR{EYnk+~EcQ18_~hJLp^DNsnxDyIeoj4r8Bi
z-MH?9sg>(8EQOy9n7-f6kRmtNs{h<cB0`u?VjKF6fJDZmoHY628G}+s&Z~Yyg>MM@
zJoAP{pWdl|2O1Kmy-7^gYW&JRNf{t}$|1H)G<9`(y8bJXm(Mar_^2alo|6CGp#r0d
zWn@%QP3TtgNJBnV<aS}QQ0ng3qLIXP at AA%0YpegUj#^vc=4`*HC;L+ODQk5UxQ1Y7
z3dhwhP at j1NxhyIMMs0ToSKuCnC<oz<(S8a5il at Qk4k}-R$pD_iRK<7kErXDt{h%}J
zoUSqoR&L5es}?CG=?;$^Wth0b=a?V^!>Gzn>p6(5bja=J@=JYZ*R;$c57%hx_q=10
zcK^y#qeFIgmhs~Rou#uB30ZT at _h??mg}qudD0+yh5OCTzo8=oFlE>+|_9gl_Q)Alw
z%nRI0 at woYSa_-pgz+zQHo}9oq8h?Axc&_mc-_5WBToIXRx%0J$c9lAes at u8CImqeQ
zMEgpH60)9>SFS29c3xkn-#qI#Mb(!K=>gz-&a{taG`kg0wErwEtG{M@#bqx4 at mG>h
zJ&x(fQ;g@{`~)8ghsuVFiKt|f(!SoNMO>|?_FV>SS&z3^1>g+L7LbWTB298EY#`r)
zgI!hvi0I^!C<y+fA39bOb(-)~YT|!aweiO|Ok~r8!=e?sjr)?3ze=en21Q-*b#V~w
zI<qg|#`?VsLQ%SF%j?cTxB7mbD6#Q9np(;~kc>Lzs*jvbqeyGu#(ofEhKgb|zJ;VB
zu;aW`GZ5?EX0 at BVNb8O9)$xePtz3;&^DNoiN8w^dF+@*ZHiP*(=SQ$X1%EQklS=`Q
zT?uh<@kJq5q1JH at OxMpr-qM;sx^zC)kU>IDs&6k3gzc&R?f$NMo89;6cUnMxndDgD
z5vFUqMYs+vEWUbioU2Bbs><W6*Nf+~&X2wI#qYeTqt6trm((&vH*O?*=1M<q;3-Zr
zkCiF65|+<hU(4R(&K<N at G0z#XzS2hZsbfxL*ZXeN;}b?dvZw-ZYH>TaLRw}<nSm4A
zMVY_lCC~P!8(={ZiiwQx7h%x;stW&({4gTI2NAEInSvv|TS}o*%CK=Yh#gb$PNQ~<
zdz}CCjX}zdUllF-D+?)cq<{7{LMJSmMo&pyS%F~P)!Cot3Cet%>)MogyMk8Do}GnJ
zzMNjZ8F$Z|qKrJ<--^|pY at B2gM_K-6sYcfZb(tgVukC*}Lkgj)a1==joAk=~XYCU9
zyvAUia;T>Is7idC#KPkXY;|NIkKj(FpKMIX51zGV^F_{Ixy>iVmFf`Tg%qJi&WHdS
zK`#8Sy*ieNButiZ492J{)|VfHKSmw>N;pG5RM9);StZGW64hqMmhf!bztbVlhX)Nx
z>8Fl%P^`l_L9=me;v+(h5=W&LkN7-34|MU-(|_s;pG#iUf4GynPpLQCSub^loc2uo
zMCFl at cE|CF?Tcu+Znu at KScjEfm&G(!#XNUY)Qin$)JAO}J$qJ;x1(n>R8Yqsd#F~a
z(bLyA==rba({LbyKu2VIdc&%YReo<Q8kHIvf5LfhF}0oTTPCfGcV#0hUYqr0n%vf&
zGJB>AdWjrHd#lX3 at 1OXjPE|&v9q*+OH^$8>GK;jqjKBG4^J(Md#QoejRC7NJTbeA_
z`Z4}eZ6Ikl3@$VHmi#>-LqXX>sKSQfXVAa15;s}-v4vRJ)Y6{z*@4kgz*5^z3ko07
z2AE)tQ~moNaikUGu0H%-y;gHuCoEgE;ZA1>jVRq<b7+?9bAC4>P$i3(G$?yc4oRJS
zeC4!r=+70&*oMfr^Bh?o)}nIqSH189A)9uB at n?gzk9L=nKP%?%F>RX8Glj@*ewS^a
zn!acBMBHf^OhUGlh=vi3hW^rT5n|%{nUpa)X^I;h7Owx@)-vf6Wxi;#gIj!bBa<?p
zn_HpAF2~2geKXhMvg;I}WT$K5`jL+-4GT7?vsw$tn}@B03LvB5XRN#AYxEf;SPSBQ
z?e<?B?K#Kc!+qIg_lT4)ksg%#rjCV=m7CRhfY~;~?UH<aRChKh5DYP6HnI8_V#~dC
zrRbCUYA~Lbk@{%{9h9sAWs0BlOT!+>#a*Uqn&$g4DE?&p4(sCnY-r+J`bM*{1um|V
z1V#6KrxP+EblAqT<5uI~eh~4OALuOSgB!ALiuy{SYTWl!7-&T}VUyZT=GN1!)#1$@
zvPP454K-=a4&33}c4Zp>4 at u|XkoWiY at o%=Z>}4#hT3WWbT+6j=bGc<K+pcAMxn(Zf
z#_Bo!p8Wyay&Io%t~XxSdyU52ykrf_QwMFAQ!E#gIiLL##^c`}3%`ew#L1XWW)`nV
zx*u>lKmSp{4eb%i`y8w*AukrRUc(W_mKjfuPKf3GWK)irFj9_$9x-sY%0hc+W308C
zVnhSgJ2ecB=6znO>wh7BArfw?^_VFmjCuvAc<2syr at Fpj9S%?P3?DvxcrT!IL2;Ai
z9vo<>(a~Kq<@!gNy`am^(~Swq&$ywQF_Y~l3_6I1?E(pnt}?}>yzjnAOy)JygPXkM
zbmYL*P-Oy-^T&9(o{Hd^Mx~`3n$PI9qJG+MaWG_G0YpHTkum(BI2qsZoW$$X<6d5-
zbjBWXe$8YjI%fTPv!2_P8O at zF0_yO|LWGO at Tl4j3yqR?s+`bN`3y?U6>dL1k23wt5
z2j?a5!YiJ_;~?4D19j<0^g7YXGudB0?+?Sp=Kpt5)%kL`x3||rHZrXWy=jyyKzgy$
zxO_?<<v|e5H6KWD&{3Ji<aj+OlBNN(1CQZW;qONaRpDP6X at Lu=YICyM+V~2U`VY39
zzv<5(;>7z_aftzA>OqmPh)X2+=f^Z#?RxXrogX+1>Rx*pu0a~94Z-7o76r+w?K0D)
z`{Z=Bj2%gw{OmV^5pgfEb5 at An-Q058hLnpZAs+)DrrCj-k1t)gD^+NJp=OIF%S$;|
zbL0N}XjiL03 at WNktHr#Vpuy4`<P2dDSCS8--08%R$M0Kbm-zYGe<w0w#Sm1;to;Zw
zUdkK!ka9 at slK(Yrx5Fpy^CAa2${pxmy`!`+WQVTQ?|cC&s7ht#^i7kn at u+r=a4<N~
zc85~yWJ{DExKVnlQk?N_FE5(f8o$;pxnJ(sf}ZJQjtF~N$(!2)LcVSPZkMg*%4-&T
zOelCM6x&UK at r%TOcXw1ek#g^bS%2#LZ&Kxi<SLH7_q~yMQ<||cS7dB`H3TF`aQy^z
zOC3v~ZGcd5sb2ddFn#PFE=~H%ySlnAwgwxmOBg2q?%|=k{F}c0mm at t4D_trj)S(j;
zAK!+`@|b^DheNMnG77qS`asxQ at 9@6YVU+=z1 at Ikyfqvgx?U3IS*RV_$pHAF5P@~I6
zWg8ix+4<%E at LNcNG79`}_MfO3MbSm`1-d_Q<WHAdLmGb!^G)ohu2uwAGq^6>hiJ1P
z9{_hih>pv!2bu`-12GCd+cqc*A1yU7=opVAF#&$jX_{?E$>Z6>;{%Lm5tB{}AGtmb
zRvvg?60wdlnU8J;%2;4vcMN20ZO;feEz9*g1*oZE&?11!2x<Z?3za|$YXjyQ0C*4!
z`Vb|3X>qa$>6M4Cg at z=_%xrdmJzMH{u#9X}&OUArXJ3*S*vG-cvO8}i74WRHen9*}
zB-emO$%OJIpOT4AcY!C-X&M+PL696cy8)uX=vUovq;0P+PaxUpwb2ut+8`NA0aDwb
z;;{FMOmVq8;(OE+rtA5G)`XB at Sp0q4g{Vb*_HpLFlQfpO(s|aevV8L+ASS}1-vMgg
zDu`u3a0YQT^Z562_arV2z#h_^2htOHp7C(pT!6?x11aPK67KJVR8TrCG=HUN=@Mv|
zX-^8#P6+u?Yc(g4ap-h5*FU0tSZpCQ*7tF9$cDmhdW;AfOprkI<@CI at R<#4s3ed+S
z<+d{b<+oUeT4X}-2OT|TXTW2-Yi(YTw2}WDqd=1>IH7 at n)TSFW+oQkOa*cm@{(}}s
zdj2swG}O=5gakP&0yIWmZkKIAL3rb?Ksr%aJJbZpw9sDOVwVxVZ(zXd;UtAcBSWs_
zCIItYoSt}}Vm`EOLP)ZM!A2Pl=3w+ApV_I`c&#Q)fyzQ+yiIyt97^8izQmL3_7H}q
z66i!LUGv|}sK9fGTPVHU|GS&-$iz`<FN<re9}hJlyF#(=cEfR}mC$I{JRT3)5V^u*
zE+rO9!Obz4e11CX{DbuKt^5tFWBz^UDsNef13!4t6@;gC*DV^`W+IgXDQdHv>q`y`
zG^w22KQff6?zCZHzc>0>G$aXchGUGVMUQ_yCWW(29- at yx(?hb-_mx0E!IEhJ(iFtl
zG7!M8fhOa;Kbd3D9Uy)|FRtBbb8_IF7I9Cb_d^~8gVgzW1W0ywf3v8GC!+5;JE+Ci
z_flU$CzNS^QTu4=#j2A-Z#`Q&3+!O2N|aFxT3GNMKt=nSZqy%+FVi;QUXU7vK?Zvi
z``8eOX%k%e!bJZ`X;?|};`+U7#dx<ajimj-#hiCwDJzdyv&)RxeAQV!J^S;PD-sT!
z=~v}d$4{}9D~{{mS}d(qK?k3P**E<%-+U`ng5zK+56%eD26Z4VK=u|`tRVQf*}s={
z^iOO3PJpz5iBUp&mL at Tq52X7xZ>lc*2wB~0OLqNg=#QPcE_S?^=Y7hh+7$#|DS-cK
zm1=?5UR+!ZBJpzR+!t>}5NE?NOVIxQ+Z}i at K7>hYdfbxV9!M6G5 at UD&w`1dLku{GC
zHKVO_fdL9Nnc1hoOGRb(yxevh5`?DOR at 13$S3S>Wk=Bn82dKQ43;(@oq5my<7c~Lz
z7#MOGIjAIjDL;QA`ht}Iyj4{@>>!)JlK&Q%$`QH(bh~e>$>p*H_ at 8g1F5(Nv^x8IC
z6gKuDofC+}oHnt=;cU8xFZ2v^$Q#i##`d0UUiD6vf33OxMYqO$6`_52c{<DTJmvX=
z3Dv`PceXBQv(f~nOe4?UmhS at bicHqFp+={z>&*3+`>nB(6G%ywI_-w+oB`er+cGz|
zG6<cAc<ASvb*8#m7W!2-8GH{&EtBCHhICZd2@>el+>oF#mjZ-Kwvb11TBTg*sU|QA
z^?X^`ZVnCb0P_+Xhb{OyeOF^8ppIbH<$fBe>ip$?xyXi7mRO?NAlqO1tY0F&+F^^T
zSLZRi8fxb}4YUy?Tam<kpwRc!03?}gAq_b>#E)*XEN^vZ9nltwMKTC&$@up_=!l6C
zAxbqQ)}xvTNnDQiH&%IFMa6=|B)-R6F6M+fks3`VzX?;A5X!XO#RMPQ_TEQ(e(E>?
z8We{a>N}{MR`BE)@q&8mao7b6 at mWhN8#xF+ck0^@hh0?Hj-pKdHIZ+I-UHoJbRG2J
z31jdMfyz&cIzZ2nquHa>*aDgS9{(p_A&9R)`@{WDFbeKR_oLakl52|ltvchkeziA|
zCfE(;G`oS3+={mlLF7(=+Z}&#d0^U4$}5v{8-PcE_X2)afV_f&LhUtX9kuMp^J+2%
zGz1RB1+o)tR7LNfP)>M-W)OUEy565Mf0ncg3JX2c2Sf(OSlL1*7=-t<w4vF$4xENu
z%5dHP-2xqL%dpscRJYYdh-OskB%lPLaJoc=rtPU7ElyWvS}(iISoYZR-N|1ycC&HO
z7bH~F?~+m%HUd3t0j-o|UfSraaQ+~I^8ze1s&F+yNuUdK;Xn#HI}VIivbYq2>bwC3
zMFaFFu9-+GDK^X8jouIuDj!_>c*>mbN~;ZA;2YOj^R?vk5?%I11atT2SDHTp4fWX2
zI{*70-93d5A4%kD0Ra&t1?;&D(7ACr1<;G$YMqxU9-l4|-VDN27I<25o8Gi^=q8{C
zlmKP!_5l7lz%-6;qXZ;4XoKiOHD+Ds+|CIBoe#oTg%qEf>SIMwme0?&cbk_sDD at _?
z^AcTZ57p%(9`K5L$z-LGP1NsZ!TIUD*@tj6HZ<g>{ns^G4qi$uBlMguH#_ntM{iuv
zmeFi!i_>wnw&OD+^7!~)nIy)8#X7Uom6m}0CQ48((NL2lIA%Zrj2kj`NDAHNm#Dq~
z2GNm55H4To2ET>k(w7+3^T{$mgMcw}-&X_$OY^lho?Ql0-^r7nphY at -SzXLF6ho3Z
z)Fg^*xBhUPQda4G&9ydn``_mCmBbcoqSI`KXZaDHZ)Y?A-Rizto;#4#NtT%S;P+)e
z&%T+H!f<NhHMfC`!UKiC0Qw#&2L=q`$U1bXX<=#YZazDaM)+5Dc*r<h6X~v){oSD<
z$!(_pM2-9Ad+W_j0@<aZgt`jQ(G6A5Cx3L!mT7EY;h!FWk3*Q2JR^?DzLy-G7i--4
ze(8&yo~VexDEEgYWzLXwGUPbycW%gRym7chNU5`>pQMli-ishW-U@%tXGm`G(scR2
z4X?P7%(0E_waE%v^#m at -fX1?QY_J%H94+34t%rmDx!Nw82v=t6dm~8)TD~I1YIIZ?
zi;-KN8{&d|CSU3q!Ur1=qlv`wpfarNz7ry7qJzBMjAyH&r1awu$rbD=s>ZqK_7hY(
z#LIGSos=!4Hs(dO*V$&0`R|l4WnDA-hHvQxOE$^l9V at l!^S^)OP<I|}3{$w_`6i1|
zNmDvd5W|)m1W)EQYF))Ze-tS%JA_os5r$FqrAn+`fF3{#iifO3ryVQrW*M#+XS2sa
zKttoo<QTc`>Wrm`F)q;%3A@@J4!lDw`&AG=&BhR`1Px*J_Bs9B|1`T${PI_}Z=)1b
z4RkCwv`ya^G{FB?8hik%27{gB6i}ul+u+U#O{~2_Zwi?qskKifrSZcd?k4vt$Rejw
z_0K&>Ai)ETVdWq3=QF2&kIrl=*%y?hVS#bVLFSMb)pkM4{2Myk- at ELi-Sn)iajc&I
z2BK+l;=>agw&$k=SYQ+t{M`SW$65i7#lZ!5b}IvFPz1PrLx*`^G+rH_=YzyciINJu
znsI1$A#A4;(ef||HigcH%c8 at RszV~NNF+opMA<FWO=AzBMkt{a-dv8bl;PtE{f8F`
zZpBhPI$vWGZYzVpIIFQFM>!|V>_~sOX;q}RaZ&miE2V%W1f%y$5#6;aFoh8j9%{#t
zTa=`BBrLT|g$ird7~e-m)=S9iZ7#EgXQJ!KuDM?B{bYTkiKG+11%o;Q#s5^jFHloC
z=`IGRU`W*OsdtGj^i+ZY at pd1Iz9&r`aTG#X{EIOda&ddUxBvRMSj<FC3TA>DFdR~u
z_7(1=Xq!@s8WS|W;pPaxd77Kk4jaxE)2aHZDsD^YKoDa=>L5!#{#SBeg{5VsMlt+t
zs>%LqoQWb-e<@ZfJGZ^ow#?`dS>#LuFg*>mc0bd5XCOf!V7WxN at nWKqe|~;Es#>r(
zFCvQ!J8VpCkVOrJgoLJmA+J~6RZC2o^Hgk&Wyu2?V31)q)QnSo^n)UMFp<2U<KYY)
zEmdtwg|W!2)&Ph!S4R3d+H2&@X+qQ13n3On(i7$@N!*062iI&ZH1T(kG&x;$Q>F&r
zq%*RygmYZYbR!}lkOzK`!n5jevb6iq4GXw8obHtfB5wh8&=)qzt~*Ycav~A%N@*e4
z&Q(+3NIwEy8404qDX7J~UQn1h*APV)jjSGfc8l=^QK$cIM%gF0Wr)SnpFoo~J%^;P
zkkf3O=z^qv42iOCfdoPcwk3N%GU{;R8m=E>gfbW28>4}q&H5&~)6|mY<;?fBH#2B5
zW&_XcTdhBmRVo2n`OmTRO>&7BK<6ojl5)p`oLM+3%Jc|lJOdmKd7(~pI(T!ju3I8y
z(|Qs}?qBx50h&pF^#zwn>kZ!kT;zte$hmj;y3_>~*`&V=M<#W{JrvKA-JkBx&bVXE
z2r#}|VC1RiOJeNPK#{Xi>>ED(S<nUi$><+I=G1y<32f}W7B+FM&5PqFRxbGzng!{Q
zm?%A^jS~g>wy~do#3xUye;j{_P7(fW1D?3ChchuOdmhymHPEBB`7;zOu!YhbL86IL
z7?OKS5;?aU at Z16tIEXitpI;Wi{KMCq3JJ3W{M8LT`EbI*WH5hS)NZQSJUO{TyBTha
z6x{A4>wlv2lai968ZG!)aJVk17YUAvS1?07uSsc886!c`1Ek(YpDm;hmTJckV8`AE
zEAeC;vW&pSScX#hHvz>;D*NT1_?;vKy}bKx51t6^-y#~&MKn=Z2j~~h#yr)`(lnH8
zTD$>cVS at 6)ExnZBp|jDrZwRd%PC|&&;b=MKME_)1OjZ at A!o2H~3oP&7;giNjQne!v
zcK>LY_)+mBsa(jr0^&DM-9V}h;H9=lQ?XPHb at xL`bQonv0?0-bKfa}$#<G8Pi7vcO
zsYkv05a36csFd?anY9K&#Eh&hP{{sQ?WMDQ6JvVY*&HfgOhEuax0jBnP|S_{w;E?c
zN}D<@Uozttis*N at 9)reue*l>Y6f}OFij~kfsk~FQ%OGndhLDOP-~?88WyH?khl at c{
z9t9rR6K!<NV5+q%qSNj8h8ub9ZvwS#d9(wbiYUmRy`asW+44EUX33KMnIgfn2MNmZ
zVx#FeOVBrS6x-NCO#$EG-v;zP0p9DVUCu at y-G8RCYbX)D<}-f4%M&9+SSp^fK9I7-
zjxFTeb>5^uU-LXGVLs!l&}z`?@M<QGpiBFOez5Z$7~>8ra(ka-?S<J?iX+2|72eGP
zi;7#8IN6+?w)Y!xN$j;>iuUNc0XE%Oonc7i5Bb{lqoL6ph*~C8Ol(F8v`WGzTHrRP
z-RAZo_!DuMY>pW4p24Fn`d-)$W?<pGA5Z@;Wf1`($^Wyv7T<ej>Y{gd2$$nTP~&7$
z!gEO0hZ0X-0cC|3l3#r(;ZKnQ8UaVKY$_Z5ABxInKr3o=X~t!!5c}@z4t<ROKAp(L
zVC41>*VlludUK_QY~SqzwWC`xH|S)`nMy;$3_^ci0UgigaY{2gX$MO(rH#z!u})y=
zS7xY$DCPj>SnW<9yyG9&p!Qc_w^d*Nb(W&&K%PydL^ri3K;Lv<mlRV_$A%r;X$Nm4
zV|scgZk7xzHngmGm#9nPJ9nSGaJ8J+ at FH7-m`+#a(baowv0?oNxe;*_2T!ZK_tvvd
z?c(LF8_A8PKdL%Ca;{IZTAWgn6bpq*etECkp7}nSW_}+l+nwi5_=P~+fddou^73RG
z{=6ASf{yMtPfCYipqfu(=e9IPfo>6Z-TE%PI7vnvmQ!`;6s-gg at QVWKC>HUgoDE$)
z%H{rp<j3Tbjj&BA0~6ay{7?kB?8ws4$h{T at tDH|{^RKHt|Ltk7UvjHP<U&03f~8L{
zi{vW5bR*|K87yojr`^2TRA>!T?2JDu$q{-r)BFpmi_ovi$3E;_;bh`K>klE=>r*O0
zh-XcW(N8o`n|CZ6I$b4$gHxw)%1l6;dwf~QUj_WFv1rA2qk2LHAHVE)#~*{NGHCBk
z(6W9XifEp>U>IK at p-r8-g-@|+MSR+;V^(naX(K$46(6tV>|^$O%2UnA_W46~&&Zz{
z#682Jx$#Gzr2(WlCNe9}a?($fU%Cuc at l!9FrX7r1)ix-uv+g;&aEd>;oh)&}E#f62
zTWaAlYO(@R2&CA63STaVTtywO*i$fT#e(2if*?gAY&F5Kg#_t=eohhbLtW_D at T8Jh
ztHxnI%1Ewtj^#M^<u2%}@2dwZ`9oKJi3%QLH0 at fhmQYs0P<tmT{=>*+r-m(GykfO*
zK>&o31g_k(!|~>r1alT&^_h+2WXZu-AHC|Q$pdzf+()9lGcWNgzPDQ!P7Dv;m(|qZ
z8pY=_oqjeM(a;}JDpMXN64;$Q`s_U{hGa&O5FVp>{|8Hf&;Mg2dw}saK!~A=7AHz|
z2meeDanqpe<Ni4wg--noftpEx#ZJZ6)^$q$YZ)a9j>{k6U_^`{c_A~7T=1{vV`_q!
z|D>w+LqW_2jDHB(UkeLW%xK1E7sbZL-3)2O-x<7<gOs<QI`1z&Yi07eJFF~nI?l9i
z{nC}WItR5o_M!PfK{AQTmF|}pe;$zlNY=oe(L~;&PS@=cH9^!Tx0hH^bEM^`k(iAw
zuGMpzgT;#3&gb?s<AegbU;o_pwFN+&3d|Qc&4|1Zk%)mP?->sFmdby{pJ-&PMv{Hz
zU=AVs{%J5rx&XS2+_~qTbTL3>d1|QcBR{k}GO0j%!&ZK{M~vt at Y}dj8#54LS?72+c
z0X*nh3WLI9chid)vt|B=-i{gH!7v at ZYWW6<N9I?J5-d_5``4D$yVBF+$H#)XA3p8u
z?H6mdKO4_ at cZT?**279x={s1zR5*D$?kTiu&%U}5BjnpMdz6X%qY+q5TBCp1{?)rz
zHIO1zquUz)1NDK9l8z~ncrp-!#7ZOgn1|=($gT29`4#}AGM$VCxdLnhVNtSU*q1Wm
ze>x8KsMUfx$mg7&8dE4ucE-V9JECml6Z;Doh%@_tHkQ9s*(U2(8udfDxSseqS}&{H
zj;(BcA#1FPHW`rUe^1>nArW-oBPr8F7#|b&j+i7ZEX~86L8|DE=!#ya-D1`WCR^iS
zU{)H}MVS-d##FP~{)+M#&x~E??-0i)K-ln_SXsP6Bqqx|0yl0b^uab6qbA|5T)hN>
zyWJGgCBITIW4=YasfwS$NE-I1r!<5VG5Q at g1le6S3VaM5G(<!l19ASaea(dw{jXuJ
zUs0Y%6{Oy2Xzy6FeXEKH5-0Gp5=v2AO4Hn6_J(7VT)28l&=5FYw%azi-vmM>FQpWs
z0>t49y8=~}=#~?ad!`~1)ELkSu-i7e(qRKN1aad9a1&T{shbJT!+cZphkQSHT$>+j
z1L__PC#)wNOObI{S|H^}<44Hd+A`2eN!U)9sej#<m6IC3j at V8)(imT(eX_RoipVUE
zW51nVR29o$XX13^9eAipJ`LGU$QSLeGm5}%o*>n!chZOUNC{-`NbfwcYib~`S-HPA
z>n$eneYR)Lhc>uG!55pN>#kXu6u%*>WGw}K7=%`DAfgw~+wlBl;!_43MoCk6M=|sS
z5q!H6oj`Li6VlHFN)BlMvUUdr7g{+;0Sb#R_dD?$Y~%*at(See6s%obDwv3*ui2k{
zvwR0{7+%cJASOh8rd!l2#8(GMhZZ-7=}DwSvGbO$3Nosa4;6+KAcP<~ELqT405OM5
zu*z8MqT=RoFz{$V&ZEX1<XW?y*gq+}Y(|rQD0^=#awCCD`VL1HNscx$JWkb34L<L;
z+doOK=zS at 1Q8=gCAqQ!`yA?<7Co;8|21!)()sUIqKvtoYx$h{1L!FVov8S%0xYo!<
zcq{R-5z!Og;9UlVC(LvoDURn(_Fskbm5q9BSHeT3q#tbm<`-L;$!BugU-mRC$9}MP
z&D(UY#4Wjq<+5E3la`dXP5z0F<MPi%)u;taTw3@#Lz|1 at PuhV`WQ+F&_CJO67Lvq-
zjcLR8t8)kPv%D!-<JgwtB$&S(cBqtspP-*D2XSbStcA1tVvE|7+qIOtU<Pf9cW`^0
z`}B;tcia3#NN|PO?9QMmh(1i7V($5X+{+-9X0d}Z^e76J%e0Ahy0sJ8LV at B@nUsZ+
zT`UuJSU5LM#KaB(lo4X?JH$C&$h34LG3;;M8;~qeVM*TmJ~@nP5js#9wRl;ODYzH}
z%qqMybZg4<?*X5=`6;ctcxKe+Ss|U}L*hH0QR1b7Cjd at GZ#w^MpQIKSf{=#7 at d^Z>
zapAg?1JUas3vVzvynCKx{!atkag at -c322tjf{(^Pk@=cGSZO2f1sDe4P8t7$I_%5r
zBT_N69O(?dN1S!$wzzrJ5dWDd1IRp8Et-cn59#*(t;`{z!p%H3D$N%Q0A-0zjs+zG
zc*w=KM0SEJ)OS&%OyCwsjuB at 9EMFTv{JrxYt8$**_R1c1nMx5V<9c!Q?YBq>90_iY
z_G0%FnXtN1`Ne7=)4scNWnszSRnHTTvU8_d82_ at 5_X((kpl$gL4$-4F;}U_YB!ON@
zDIKBgyQJ!pePnnzMe7fC%h?6*^!02a389mt#H4#ta7C3~bt0j+F#OZwsUCv?9Vy(^
z=b at 2wr|9$@BaGz>i2VAiH1R2&1So%YGq^JFcZIzq4i;B_jB`cxdCRHKviFB&0z;|h
z?Ec$Ua8_*fO4xoQWywN4t&>zF-#cO0pN^YVVHad^-O;MUGoU%3G&=T;&=zzjfbw4I
z`Dq;6YZN}W2WR;k#0RqtXc#C;y at YX)KtG|DB9a`F|F4OMtm&KnOdvEKm(`psKlM~@
z{6?^T3lmwb-N_rm{jW`p`;{p&4$vPv?KU7&@g^aawgc+1DU?!O=tOcU)PHV!1|?%Y
zep at 1QIqsJ@0&g7|mp#x!>DpwxQFt-8+Enro`bJEFTjABA3G?BbSNV{aNG-#jZi1qX
zGjzS<M^~$1I0S^x73UE- at BZOrF^A=`U2%5#64M}|zTb1G9cr^&A+UGbI%Tt2;bxz*
zyE@(Gzz5ib%q09c+?eo@)-=!-PO^2 at h-gZC+Vj1eid@~0uZP>88}?W4 at N&OVnW-~V
zunEAvx6h^KeqXZhg)Z%f4fXwM_d8h_RC9wSjFwPyN6KsAhOHDWp?u)sAj+S=3pHP<
zn-;tb0DEwxwroglz3oazySxZ=WPBZZe!-uI^IUm$eh+SW-6f*VD1KP&^nFDZ7sDt7
zkW-b at xtot`%nX|e5 at FI0#o+0 at 9Q>b*oCmOMHV1|%Lc6||d|34&O2K`IMwn1e#1GXG
z<<)7)PwI-7K%XQx5OQ%gT?-*5<nZ1Zp>y+Ly8kvXIj`l_$wVRWcv(ySjlT2ZNeyoB
zsmmV<Sd40FzI at n5G#ebLpNP|~X(-Spu+v|<T>!moeBU at 0-;yKMQXQ4bmSzcZkR}ni
z2Y^c08ydQBeR0{0A_0u{q-;xt8GGqJh=`gpZL2lk?V4TEf2kM^nO^SmCE5tXN_(#!
zXFe`s_UM_6Uxb~hMP}AtpF%u4C38N7Ig{G_W-SGkn$k!_hEHNC#pG72Usi3Mrc<}t
z<e8-ZbM>FyqVHJ_Ad|lo!PATuVS<oAreX?+P%9KW6}sHhYrVA%b_mH;3#}oCOfu3i
z^u4uR*$u9`<@>ut?Cc^1+bS&;zQB2sSJcEiTl%H_pzDCQs%Xztf#+#3X7K0CZX=2o
zKj)2|*6&r7D?uB5nY#!r;`P)fg(8*u=U$jB0##P}S^kU=kFZw|!3V|xqhM-eO499N
zSrsJP8pHUJajZLG^W<OFfMxg(Tea<TpZy}`?wiWGzil6F64EDfw-PK8d~Tjd0j~|N
z)4NtKx$(8>{6B}+T84~@&Evz=uYv?OcL>Z1yaNI%jRz6yXCXMNnlojV at m%k1`Npdz
zGTU(oo6qLEnaW&K+g?W(*^4IhoALAJ-qozc$Hds3|Lq24J6)#TkuVXIGXOV>>z#3k
zACkNyueO?JZaWxqmxfLo`7H7gYmL-_LsFfb;iTjzE8dO4YKya4nmW)P5SE3f9rQGa
z84Pz&dw*(YDkaL$I{d(8nPuls-RULO?SE2c$~+Os*4`l-Jqa$GpCCrZ#Lwue`h%TC
zNF%=@dxbixmh05<9}CM_Q)mi<*?7TYFgCpwm9IhJ(vL;dsuQ%8BjEC^SLq8PH_vR5
z6Qbkz%$I)=X%R$JDM_{5sey%TQl}Wf1S>vL$%g3rK7^CfL1 at nXCpWN7A9kCPM*Zl{
zw!Nuds=hzqiH_!`v&Q2LP0c0TCCvA*9kfS3<Gb+`h(^WuPoqWnES<>FWVNxXfmS29
zu~I&&*1hcd(dSMs!GE}hX18OmN&TjjlfaktPRm$Wdb&cFecej0L40Rm0`=cNJL3Qt
zb1LS<7U{OTZ5k8T4Ozfh`^)Z^Z{j~?0^bggZdhUZA)C7;Lg)r)_BEA&$(e~a+Ml%R
zH<B|-Hw at cMfqo5p3_#sv@)3<PR7`Lyj8-wmbS4H``!mThvu at X0IQS%f!y0$Q%??}#
zr_BYQmS=@^j%}VF*76z%QFN*pG~cz}jLcO$0WND at uR-7L#4@(8;o(7~b7tE5>&2Xc
z+$Zz79v%tRJEw4n%kX$5!mx0}&L-y+&Pu1b$S$A;DQ*4DlhrKVl^>sq at fytM?+fm0
zrqAJqYg$wcoA#N`m&z9f3CnG)C=Yafm8ro`H<^}HYgQoAiW^IPl}u0MYcxE8gjV2I
zxXS1HJmk-#B5{mtePM2q#a_0 at 99}u!sKR-+oRb45AN+)Oi_mIk{_nY;SLF!QU+XZ3
zi(VG1Pwe)?DB)ae)?8bapUkXi2Q|I{QFW$-KkZ|NEZywm#qEw`nlNSNA4%1fP7rqN
zsu9kX1=e^78tDtjJ3FwbSPc$;{RTbRglQvIViLacm9qZU=_5&&PUC{oIc6WK^doPB
z>~}tOF+WclNL-RO9c;Tu3WJDNNP6%0)R at u4HHXJ+O~e at 0*5h4{NCLz+Be#xpj6;9U
zN+$N&ZX_kA$8_s_Q!v(T+&bU8Ck#zCZ*`{p`oPGkFmn0>jt0AYt!?9L;u+)qzl&=m
z!?17(gPL1XS?|WjFqn1ZpKXC3_#n&ppT?j5X{}tX{6WQ<y)sbUcG<%H-j28~n6T<r
zh|y8*jc#Fq0X<}>V23HPF|?L1g%uHbpcojFvjrqMX2t9-P$*AQqU_C~buu(kM1$m|
z<G<Jus`-(c1G>RpqZrLPZnLMY98t<CbsTx0DH4gBhRO=|n|<vQvL79BA9W+;Pf<Wv
zgPG9Z at 2GT+xO5mDvYX&S6N at rjSI@w>95l^9HAq=4mCQ3o1px)60qFx<$qjmS%E at mJ
zDodi&c*x+cY at xv7lM#jphwn1&s@}7qnTbC!SQP;npc1t*qdYW4y-hckxIe(C08eV9
z8kA9~?hL-e2J7g59f;&{IZjFHm>!@*x5ID|>!FI<EVfr&Xjg&<MJ?6JmRoNadsA`^
zI^KZc at Vvf`K22wrO_*8a3fjW*PqD~0=n%4DD<m^c`g}mWD~!45 at P0yeNq_~K>7P0V
zDtc@=XtQ%mSQwa%(rD3O>B);6S9io=>B%;C$2K(hSo?>5AAr?t^9S+l*mBzF>iO*f
z>ZX*02cSjWkqMXph0y_eDF`+mqq at 8-SWeDwp_sJ>GiSIav<^KJTh&d(x8hUz$X8eB
zb0If?jt at h6kGQ-ex2`Hd=_|++3!d%@!s92X9q9i-rX%;MgC?h9)Yf+kelSAo(CN^r
zueN_&G8Q)*jHbFg01LgqWWPYqW)OFWhCial^x)FBm|lXxMr%F{i$eTqhPb}Ash|Wk
z24tFJDKvN6cyP~<{s8na2~O8+Jn@;(G~ecn%|)2;XDiCT#?v?mwjkqD>+{b;cu{IH
zAnJ{3zztdA<9Er83dxO&6%w?J)a-aaU=LqMLOt|osfIztgh{1kOM$-#4P9+v at 9|~?
z+#~$Sa5_s-ZN4#`L1r_QJutF at E+0c<;uJ6;@VNC7W4iKhr7!J#+pptnSaM-PghcVV
zd>L5S1M>E%c2UnqT3tfL%1qDPYBJ;4OreV%D6&X2YO|i`WniFIi+$<O`g2QYxD<(c
zVi}wMj+DgZsIO)c<Mk=mX?T;K#<#>O8C)*IJNoPY{gPw3j7ehFC7AlX%C~c#KHwzX
zLRUg-p2js+|K-%cNT;pXB7Pv9Mj%r<!c=Z=?BV2j at ejxZ(+zJHm=F~I+TY0z3$<Bq
z`{=z}emmh(vD&s8UxiA-Z`R*jwn5_G{Oo|!l(vn5gLAT#=zZy`ja1C0uMT}4urZ+3
z?%{k1--`3e7`9ZW`4S|{B_DUxkz7mr3k#^IbvkiyGxu}uVQ3zLt at +#z+iU8yTu#3<
z_*@A<!P>4=3oyT5DpB8N?)#K}LjOU)=0abl^TB=hpeef*=8&#gnzq9yJh?Frv&ij{
z)`D(r{>N at dO_in3*((bELX#AhEvdfiA_L7A8fPT?sXiC6HY6W7dEtisA*wt?Ivm=>
zfGK(DX-#BxBou5Md;zoWo|-?nIv30Yy7_uqr<l at OrNTIvXtvZmQXqKO<VbNB#b05S
z at NB2JzSMAN;8s03$`%O&)>pYWZ!OJ+#rxnlS}Uk74kkkGVB3-s=Sj=_VN#`$E09rb
zQwzKJo!HxNQ%<^4(Q8%ZG=UK}0x3C!jw|fvRTYE<1f66XQ52-8LylfD4J8F=lfS?e
z4O4O^Xj%1}jM$s#xEU^P*xSq<sn>A8QE&6cVIkFR=O;nMFTJ_wJar4ZYHBO`n;5m;
zd3T63A-H!!>Hi`6(m|7vvh at K;*!y~XPhUas9kF&<NL*3q=0Sy9K3xf2%aOt^ivn6O
z9<9PfYcqrGa{b0YYM|WVEF%15B4*6sDSQl7O#0ono^ab+d35!lh93glO?siCf}GvT
z0Kq^D^L5z=iR9B(O)s4O)A@*6O#x;ZU%@tGwp-!exPs at o+l8vvKY-21b=1)7G?E(c
z({{F+zf2H)imr)>rZ^N2TF3wNoJP%cH8Ag{bb%(hr|ear?^Vn99M^f7$gb~nQ~3vV
zAo|{vqd}MmO2M@#fEO-P!?>5ibnaV?+d)CHA{1yzg*Y_YAO(mpJs%bzc?-T+ig-~M
z2s03KNz2Wx`l&S^<_sd??W_d%mUTW)l{2xMj(OY*Z7VW3p&1bc=@!U6TTHL-O=FJm
z6{_I&h9e7FNK4mZqNgi9)-<<Pjy-)#+8~+kd4zw{hWf1H1+qbrd at gHD$jlAoLC#~|
z%Tc5+3rRWA)b^YPwcmBxejH3zqyPA45v!hvrG?kN78Bc{@i2l^PWP8(LuE=5pNm8n
z`NHh&x8(sQO)RxjdzemyAo>#p>D;*1p_`Q(-+OPh{n*~6Cn*^#GQar#(Ny+}ZSi`F
z&}9M@?*0^GGnyxC%g>XbT<wbZQ#WOZhrN(Vkfbc(TdA9;#ikm*rX6nZcBfMHV&j&t
zZ1 at jH!_agSi(4~|5<0pqpLB;JH<?p5X|39+F6w@|{<7l;I&Rl-Tk*R at R9rE?wtG>X
zL^_pSV7D~xca3vt0;U~;#d at c&U^LCRL_3m_*T1FN&W|U}ggO|@{&8`}E5BoEsuS?a
zoyb<KE~ZTeZW8CzKX<(xAG+;Ntrk at l?pEYG&bSxXNWa!j2|d9vxQ~3}cez+u{G;wC
z`F$qnKdGzt3Yn3L!3IJo4szZ)jTrsG7rSQO#{bAoa*vp2rZj$e9q98`c`{I!($OIl
zPX3I`h2BLTSvNkcPc6}^4=o%e_pYZf at O5c$TMQ=@+Hs?ajQ_*V!b+z{r(-zLP#<+P
zZ>8H<U&jI2H-Kp+R#O8)hT0z1MMP+Wl0?igm7vpqlz?Q1kSp?oC`@`RCkR^+tT*Db
zpt4eS!0ANKq}qj5Ij=J(eX1)%A><l>PUy0rSk)NJhs!gs>`@APq4^Q=b4LHum;WF{
z8QK;=Bl-v1BxEnoE4pfl`BW~<Vh`w$Y&@6Q|Hjejba)u8FsIhPxHex8d4RC|f-9`{
zc at pIn^XQ}X9Eg8wqCxQ1mCYn<4~5$G3yR{QT3<dv^NA`!?}SH&QSKz)bj8KiiTnlZ
z%o#hSh~}occrjD2q3oqjUthM83e6hG_{=uGUlM<p5 at nL}R1&*ZKCu|ZlQLp=_{3)N
zL}$gxao~%NIMuVa_8ct6v%;VGs%WIN(b|0Wfv_L8sHyqz{s%d+oVcHdFbJoZgIg&m
z!^@KN-F%9h4LJOW-Adjaa#S&Xq2WYBLBaS@>;i%9h<=n)EBTe;eC|X$y3=^RaB}=O
z{1Z}mNU-_&wJbI6h$u>f)mg2xhAU90AS3N)v!68;(Io=;?$F6<`ayVYfLBUr8T5z{
znLmn?eE^?tM52j<GJ1+(>8GiI5tr2i#y)yk7+NX~W*7x0QD?AK^soCxjsIF^w{p?c
zOgn2c>C4fZpx?yK69Qf;HE%9ne^DnW!2+zM(oxmOR~cxBkf80$J5@|6_pkEU*&*X{
zl$_+;nwDKl4tFGM$r+1@$;pj)>XZ4<Dmn}7EO0i-=!E-62T=>mKTt5bJ_f!=4}p~K
zjQ1S=&dxii3c^<uunYh>0_yk%J4B+bh=~tK*o<+#GEz-tZuw^L948yrQu5bwQFMCs
z#cyk|WXKK7T>9A#xvV#F9F at X;eAHzK%@UjW_G6|Pv!I`5Oqu2Toc&yt{*OEt1A{k+
zI at l1mH1=%?Y&QXv|NixLU*Me1bh at ND^Y#hLBr at rL{85GJvRM9!?9-T>Q)~j^7y*}E
zs9N&}4DbUdUT$P2a+MEb--6xVDO=&zW>WY$V^w{T7TI+EHjH-q{982365BD^TFfx{
zgvfx!CMy;DhNAZ~8PV<KsdMN at TnjUl1{X){<3ic99MQGkSp;+C?v5%RGNdEq;74|2
z9)X+aP~h=BL*Yj&n^6C;kXOy%&Ez2cu8?9K5x`d(g2s#B3$ViNXxknS%ap at edD}qU
z2tEUrx*DX06AU#Af_Ko(7h9a$pQU~`U?C=JVUcifA=s}ON@#tw-DFV<m;G-tSNC|L
zk`|8d{6>$5<(sO}+0V`1Ev#%E9;KzD-*p+h+SvH`qpXmjNOp{IRalr-O$~&NU7e&;
zq#+RilCd0RSlv5aHeWnjs4kUd1xMGCLb7799XQ3XDc#?<1*L!X%~-+01~{V=m70IB
zh?g2l(Kqc48{>8j(_tboqY>==HC&y)DOWz^F)^Y2h)m&!1mvcB=*<E-_o4t8Bt%sY
zbVXuj_+>v`F>!H3^<SddAguU{HZwPUJxZo^YEVX}{;s)!Kl4bl&DcVFn$eLT8zRI&
zW3A(5{l{~;+T at p=O}+j<8f7ZHZS-Tkd!vswoKUbRJ`x`n2H+X>JBaQel$m2KCE330
z!(|y!FlqmylHj$#k#aEH%5b<kpjR!w?><_kry)_QB$+RP<{TK!hLx4N<*)1T%?mg~
zBlx at f?$gjEae%JB*zoku5@)I2%Om~HHf%rdWOXh+G1)MULU}oQbDlK at UojFle723S
zxQ-5yfPYX2C=^CHoY~Y`Iwm1h2_uWu_XJS)SB(ix2X$0vHCm|Acim0$?ff?EU)I04
z{J;u7D5D%#>uVppe8ej_rM_Xx_ydaUFQ at eaD;$}~2KzGrk=NU3QYviT#6R8Ab-O3T
z^n4oTmx;3U+1jdlYOzz~X)3nO=z>iQS4b0pN>l|V0xj}Byp=s10f^YYVHuP|&fj(z
zr2o=#A^PF+SF6?-fhToH9p-L&T4qTT+8=~Am~`rkJwx8p8Sb%U at l|fq=0oqyJ~*35
zl|_l}5NFFYJGm4&+*ftnIO4+J>NVZ72>QN)(2#ZzCVn3gG*N)=2_PTL6su;tZ4O6^
zJl<WlJ3ja1d{d%9-LK8uW-K02JUB at nFMxE~_)^r!@bp at q;&K>BQ`*j6tuOs^5Qw4h
zjlD`u){C`9q969YO|H2f&XmwXUFZ+eDB2(p*n?y{Ub9W3^&(`I2N;sX0!uNt*wdIa
zs||oaR3xAEvU_Cv>0`x-^VU!- at ll*@`urlXFe1GV4>oCZ at _)K?S3_yPQ!9Q~3jPez
zAzW(ij_D3`Iph6|{S4L-D^l5!qoSgIjDL4vg9-_L{~$s5j at u68j^Vz*juzfod4q)t
zx)s^J2wCU%WrLMAPuh#GjSi-D4qh3xz9kO!5 at op;?LQMeo at Vh{+pZl9>{wy6rG~`0
zktn;)FL%eZ0T#d!J+=cDgKTH|&9217{Rs9Fc-$P~TeG03Lc`;}4<kNJ_#8sVpx at yY
z5ZQo1c84=K0<^A_V!eNl3jF^@^L}tt#;)`F9!4z}-HKc57ZQCbNng$ls#LmVMrm_w
z5-F({s9-=nyqS)laJs#@GOJ^qRK^dHffa%W0sZ8AVJq9zjtidsllvI-9PnY|UvrvI
z{uMM*jzc?Hzk0G|-&M$3sa5*cVfxHxa}mH(6iqrNYnP-m-(=tofIHBYOZH04f;Vp@
zFl>y=Zt!>N`qU)p{sjOm_l=9T6tMQ$L?UU5MD#zw(NXF7yERX=vYaJGdN!lwT@*(%
zS>o55bNYe^7wgsMyHpj8=Z1SQ5~U8h1HayVmL0Vi_;xQqezao|T4n~6tO=V55Ta`O
zYPws{rj6!6U`dDZE5Lsnd`sM7)VHtUnlAuzj*x`JrZKqrx(^#s2o8RC-RlbF%Yv>)
zMUp;|xVp7Z_8nlYWOw{}hGyIBgfG`^{TShYUQ(2q>+u;k$Xq at 9^BZW&D9#PN4HRjN
zoJPHR&bPphYG~6|G6OCb=c`@0+EJ4Y4q7OT7Ir9m0GWVPpE0F<WKA{or;{Q1sMaDZ
zLd!+Q(5_&tn=1|P at eEYvFBXXNB)Cz+puxa;Z}{wZlDK5=ya3}SR!77FU1v50m(FdU
z3$Rd@?2PNxm5dy3)!WoXobTU3FT-)-*VgokyJag+ZG0V^&=UysN;v$k=813mB$GsN
zoIazhyiUXM5-O)z%GMdIbI$%Md2s{YkS4%(GJ0+N9*+O&EHJ&TZ#!F>crTs$-3}Nk
zApDpd6Z82$+#M-7LQ#(ciT~EvO-J9^R8m=wnum=gYH)2ybY*edQ)p=4aJhB2U5)dC
z$$X5DZMwShz5XNA`sVkjdDupj?saDPg(%%_`D)dgyM3tP?J={I-=E)Q0aAY&1oS4)
z85Zer<T_crA@`Vp!E<IStcc;&Tfn9127t0NRJmOIr-|RAprD9RM_lHE0X@!lwVoKR
z5taB8z!@3?NJM@$+c)%s0#b-{){>4}01^Zzc~;Vj5!h)lBINIsIAwoxILqB+N&@G~
z6pc3?6RB at x(uaKU1-wLx-`a6;3s<Xkt>#kl&~t)d-S=AH8%c?_I4+1Fruuh?FqDQ!
zY|pX?yR~j#S?;5ZtnBfscJh3LtEx5q+=9AdzaC7_1pggTqpFqc#`~|AEdk_`xmIzm
zvmR+a`;+9S-ELV`U+TW68$P?;9ID~i)pI`|fH~-qqzxjr%+0`{e%pG(Jm3n0CnPKO
z20khFhSGp*IZ+z-7R`ae?ntQkw=C@$+^5Zu4%yIcTFmB8-4nItC`D at A_~V5DIF}IB
z$PEeZD<Wj#+$kIuas6<vjS$UQN>s>Jh?%0Nzg*HPT$k!C-VrG3m|a+In96cag^;kY
zQjMe63!pt({sYR0lf_!wL*NU+NA1`&1!FFg?8iz2c*8SN&*Kj(v}~RH)fC66?>+*o
z*w4k-gpW<CN+~xW*)#$2=1F+b_Mj6!#2;Gchg8lVte%{fHi4iapFj at SM19wr4o7u2
z0h9h;4aJ(nRsLI8^6=nFL0g1x#a_U)_dn#k3g>ZbqPElcT#*5T(6d%U2dZZ2wJcv=
zpqH&?iZMELL7pm^scwYOSiz<Lsc-G;PY<x->;tcfo-ZgkfeYto$O8cQP&HxN9|q&;
z{oNYVEdd)sigTvq1XHj-SFHSI056SE$OU3XjYcf_5(Iv7eoMGBAOwxBn>hVv4&M}R
zD9{};^bBDV#0cLN!|IdQys<KLNkjAjl(oD7B?s^w(*!r7{a1y?s9{AYE;F|FySIY>
z+W at Q6&OIZeo3Ii8{*vg*JVw+Yy6$OHz?S_ at A#Czr_lSRL(9_$R#!J9F*&B)t<aXS?
zK8_LY>M0L5??;hbsbsttAm;Y~SIYvhvfh*RxhtTqX;$$qx+p>Q(A&4sL+}*s0Xw1s
zT!=b`fq}(bM5*+5fUziEx#@Wg*VJh$fkq-e!z5x3vTHT)nsW=B|GqB8>ym5bsO)-E
zXwvi2pRF|aW|{lRr{V>7F|G*{Dc4#3FbR&p#9x}i#r$jJ`B~RNTsEu^%^*)4D+Qxy
zGmfEQCl?->q8BFQ{ZvqH>o3O3d&BOs$rUmtlOklYUKpU}mznnVTtVg_79sQFWMNe6
zx$odOAp^q_4`QTNyU>KgvzB4o9<t(GU!pFVxZ+(6+X7CT^cdVwFt(VHi>~5_GDzG*
z(UO_$9ctEv at 7gfkP}cE3Cxl64$h&3{u^799Q;Ex&IGcEXh{S!i>0PmJ)-}Pi_s0&-
zAVh*JgsU$7QukiKzZl*9`t#tTu&}oq`Nidz0D)C}yXEp#o8v>kH``CvqzV^UD-Eek
zV!#wvdPy+E5L^9miLPzFYf#SUJ;i{@=l|_L|Ig5jSNfDTu&OA#d}2i`^0>QOsqWC&
zu;zF}w{nIU{9LRf@`tE-Ier^;3gLn&iY`aNy7q`0$~l&<=sl`q5X3h`Eby9D?Y9K#
zVF2iM7~8u7VZ2;5Wpf<fiZ;zr((;#Kk%`b(Wi#Nx>ias`ark`19YT>MzrluW6j2wi
zM8bz~#^v5aX?BMcOsgIy2p(=SvaZA=)4K*gnsFg+EDXZz!}gsTct}aXbP}EF^U}%Q
z%BG-=0l-M=q6;J at _j>0XK*DB+(i__UEp1-`qnfc+p8&3gu(gMQKm)#Q`sQ7wT?ttZ
z{WNA(LQ5th4!r at l*x^#OVW5u+4NQF#b8HpAjIvNvlVlw-^mz?c2j*Ex<aQKfGz^9t
zIIZnn`cEX~G|jqWS6yfs;oIup!6=<#tRxYmf=9?ORVa5}9MX4YOvdiR>m$>t_09La
z?WxDdDbuUCX3H!q0>_B&MQ;(+BTBv~I0z={Ua*-|Gic%!(!C7I$aP*qGvL8N<l^uo
zveO{e@%PE|Q{JSW*YCzpI4e)|_ms?=>u>TrO+uebmnG62%S2j@%8x_134%oz6&~vO
zyZC;(CNoYuA0uCp&iLG6udPg~4Zwqw4ZX<aL(KAVLk(K1a6LsG>GTg0C1QBRA2DAM
zM9jgE$d10TvOUoEl%J&Y=L+lz^-I7XGF)h}hAobe>-%Wf1nJA!oya%$IUAf`WU?_a
z9wG6Ave0f82v~iVHwJxbyRjE_e<c>wc9&U+P*py?_&++=H4&2=)L7j+f~jrS$KuR}
z%cXzzyJ(gNvPL;X83LlnsX(eOoI6sD%O#C6%%MJwD>WxOVRPyZZ2rHDA at kwY_-8WB
z{AS6+4`0$)Yn_H8|NH&9esjOD)>sE8LH6^1;su$=?<%iTw5G=Fa0<VCH!m0$D~5H|
zaSD4J)2Pq)z=g<5|4QYZwACM!!Il$2ypZ_Q3R4Rd4KXS|dW5RSljecV@|D#xSV*H%
z;k>QgFq8&U8Q3Fk83fjhD79pM+V2MhnbVq};JN2S{?ldnQ2ICWK)_K9@@Q<ohZ0K~
zrd604s&%?fmKly-<ab;af+OC%PNlhK^>tp~;timGQW$K6=F?!#1n2zvH+|eyIq4Qd
z6V(XKrScC+J+SiJXd*5b0gqE)Bj_9X*8 at _2Mr2?LgfuGsr-}?U(4l9^hrSU%)ID&U
z2%vs`EDViY&j!OzCaMw^=`awgj_2e=wKLP?i~Q9L3H~eIb=3^aD914E=V%<74A46$
zA2d0>&R=i$#PHW*L%JAfgsKPe{x!~dfAIUX`yZMh(u;I>IO9WWsQSijpP47Xzry-w
z=Tgcd!KM~e=5<Hgto^6LZfeZUpHu#&63Heyk~8VY65<h=d3+SiO(18XUC0Ne-zAw{
z`<3j3ZKOJ_T3A5<E{!q%9OFn#0^6z_C~(8q6xRN*o5nF9CvH at 2eIBs*Q`a6Y#~dDM
zi#e4V$unt|f~RC08_iU2kD79XX&Mtp1lcHvt=jkXr7dIV*a3<SUPC;PvrHp|gg-pB
z8sN~DJf&pfG05;KPs`1~IAS%784qWF6|G}v$bOIcRc#s#1`hHkRQfNHYuBBRI;E;~
zD{-?+o{xhYWE4{n?_H)XBVGoUs<J8;air#Is0<@|3{_v3&}(8VB`0nS-uu>;{w0<4
zTT5cnt`~*CVg=kwUW)FNIoO%S!A{4g-Gi?Z(WFbf_Q&P|K|f}yoKL2k2{o$n3s)E*
zPLGkCK0m6&$5-mNdz~7ak4O+W<UKn7p7`tgcprPd3~O_T+JyTQCwfot5MXae6Cf=}
zU5)ETD0~vgDf-vY@&eAL7nY at ogK`+=g#cc&*zUO1D>-X*?l at f0ZZyt3q{i$JF4=(2
zT0<v+B%yMD2qlz{HdNoOo^XX~Z3wUyyB8$?*eG^!asMp)*yQzcyuwqr=Jp!VGI3qG
z^6RMu2|-|oaAMh|#br=$6&Cg1!Jd=^+OeFJyu<9yvW2e2AnM8MMv)ZD?Q8V_7Qe4v
z$4HTN-U(NGcjpVc_aoZB_2=fgiHtZcoSz><(3&iXKTCQm_9vUbH<Uto{0tGt+C&^-
zatEg{?3f0!@Ym8q17t!jn{=VuLJR6?T0&^+-<57zL+w>;gon%o36-p=4&U5qTa|ab
z*Ld{k0 at ETwzZb%|8rtYtN-4UtQKDnvG+$2y^TYZsecN7Hui9x{-oz?cW(ia9j=!IA
zwOB2D&wul;rJexFcXgq1BIN6ULYv!ZWVRUwbfpfTp!;Qh^gjW2tAQjrl7{#!l8hy1
z=}q=^8kc9pXUd<x9A^%v%)Mrvtmj+Jj=mA$G1zjjiXjbTXx;v-0{AOrqkHumzn`)%
z#rd<j-G{CVrzphYlw}E<rgD2ea5r$U;zOj>GKe}iMbKLj=BFg1*#u?vi!9<O^X1St
zeYIX~QHu~jhlo(NUhxCL<?I3Np*#w7pQqi|4*a_nGnIMI8KoufT-9$?&^yWr#?(w=
zQgZ6b@!0x;1=e2+c6c=`+ddlKo(hP3ClxG>5Q!Nif|k#MKe?MK?hvftQK>AO-uwm@
zeG`vc{FfQccMrEWcOn)takp)GGd<Lt75RKR$LSq*JW4*m`3N?_Lf8n+U~fjh;226|
zfB065)zc&kiaZ&x=YpvCf%kUK1AIawU<8cA?lthVFd%^ZXri%Q-|qrbrK}J0 at 5do2
zOxp0!equAflvR_+Mrxp?(%5n3YYxAmH at qgt`|DXnN7sj^Ro=#R(%T&_!b)m^$7tnW
zC8tfYQmWI+IE<sO-UamUDwQ!4`1%u)pyoxBJ#X4E;O>s?@FL5r$G1Z6?tFY_rmHD*
zAQPTVoEHMlMGO?Cb at 8NUq&<%_E_hEnt`0(Z8<CA2Y9MRIKTsKVZdduMmm@#wMq5Bh
zbTgsX#gh=D^}{t`VO5nVb>7Ws+me at I@X$DqR@@CNMC)FJ$4F%$!C#<jl@^sXFKnnS
zQkV4kCgj)+PNwwXQs2Dsv;Bf4TDxPMkH}BCDQWt|eJ^fOO8$?dbBwO5(V}P at +qP}n
zwr}jlP2;378{4*xHnwfsjg!WH=X?K?ku%QCJ=lA#Iok`8+6*wZMJUsQT|M9P)Dm2<
zKk>f1)3`z*;JY8S?CJ&XGb}mMv^pG_e@;vPh at h=R&k>k&c?9=S&Pd2AdwQZnY?~6g
zyx+y%9*{gSJw6-_{K9mOVY2%XfjdgVlO;(5Ze0~>K+2fEOd0{79oPHS+W!M3m5D>J
zP&zh+<3bmOJwN(l1#|WYN9?EM9frcV_Lr-~)4>{Qk3a>Z;M%?2Aiunn<bCBQpzn0e
zg<dNJ*nAib^jj27#rh^%{i5`|<g8aDZ~o1l<TVM%d~x`FTK#8>@n!T;*r1*6l$NpV
zefj8NGSf&YtL;O}zSyGO#lZHDrqmUFss)MBRS4~Rt#TG0Ijbn!u0=@pe&9L_6a^#Y
zDv#l{DK#07JXFa<kW=x{H}E0xA=T*f&~=tIl7<Vb4iWsvQyE}qLD=4BA6`hE&d{Wx
zJj|#Pjk?rdLjzv1rs0^!<M+{#vU%|R5>V!GlgL$CtCHH_&daXrcR4&%j&>JooE1Gm
z+6Zzi78g)R{M0-i4e_e|Xmn~#WZE_~|DoURG&Phc7fp?c9Jer3dD)v&(XP4h)A#(G
zvNR at iEz);53)?M_3Z<Ixh7QX4unvMFbR(yg at 5}_mQP at W0uCFFwYYw6z1;8lbS&u;a
zMivvswu6q#6x2by;p36ZqOYntv?HhC1}WaRD5h*y at T{WQU)f}28CQdHi%cv8Fc|HE
z%v)^0YmVVlYlSj(MMm}HEIC;pL>aD;mFP6wkH#*rr)<=carlGe|8)O+KkfU?U+AQz
z;dG!rQ-$|RVitnYg{R?ox*@#3ZyJ4Z(RUG_Qbq$|yE~t4Q2shGK1|kg6KD<BjUZTu
z0;Z5c6?9n377G|Z!LSbHflApypZ~h8HE_5R{G{ajS0YfO=W?5tzx=;wPRNI8y{ux+
zp&?;#EZJ`zd?U-IalR2MH at vrhl8}^A(5q7 at zfPNK7VGXj-Tmu96YeM%QgZfaz~kvq
ziw|bCmVkV<-R!cATdc-TIm%&?SdthtF8F7sR at 1$|U!ky<(#zy{NIWg8QI{it<V&sC
zAXxhxu~HCQ+(r=KC)RDSuIwS(0!9b$@bAFOTwm)!g4MdCDsZ4yDX9KU5}B3S*AYE6
z*Nq-!dd5(O9S-IqyV7(UR*yL(`TVt<Od<AO;9@?WlytJA>SK4@$m$V(4stnYUNKo=
zvC*tP1kESuDH%=&D>qiL1adN@`%SfvqDdtX$I<_$o1GsGv$eExTp(nU#Ao2!u- at -+
z*k{xtA<-Q}m~)9>7Wa^?zyR3Cj|-VXWQk#!7cg113PO%(#_t0)b-MX;l89x44#f at h
zTf)KA at 8@!zQ`Z at NUMgHR`s~c;)@#-Rejnc47<Fn1Xw8>v__?K7dxzf>tnQg7%v)&G
zzW4VwF4r0?hIR0B!?(MdO@~Ly^}_L$!p`S%49>H2{Yci#bfci8N)w8Lzo)1szC7|M
zK4VtQsW)A#WbM;&su#vUyZrq(SjM?R5Fcrl4QPY+LLz|k9;d;Re*Y|92{b?zEk4R2
zc}&1kBw;-1(}QfEt3 at cH4DbaSUVGpEn>xAiuo~@Z%8c*@{9W^Em6GScJZ3Ubz8klF
za6+jQtJw_4s%*fbfc5J3IIBTRTNZFD-YJaV%e)<nUSA3NJ#qH$I}iN~gj1c%`HJee
zX>W8MeOjDve=;A&5WIcAd60TgTa&=S%r4hNYj8;5ShQ}N41P2WaA5hgQqSWCzh)q!
z&CBfrS}H8DU6NUm&^j}G((guXh*%hr!LYbVk~T3a9GfHdX}B*pqSd_LFp)dvCp=W7
zAR$7fhX;oT(^(_hT@=HV!@^`$yul~b_D=5nh$4(sv^^v$q^LbW&^U at D!;t5qegTyT
zIL06vfG_>B3AXr9<U%G5C1m;pZ3B&VH2^gJ0AzZgwEU9j1$p~V`N~H6V2X|FmYlrb
zg>_9>Ev+Aw1&`wM%z`{%M=H8|X;TuqL!fn){dg7z(=V#5<C2>E_Q*{b at DaE>vY<v(
z5+*ohVQ;W|`~tS4-L?`>LVN{1Iqa4U-OQvrr8NWU83m_5#!q>{43HBOh6M-?$X|g!
zsGy~hXYz?s$=RjsqWVrnG;#4c<0Gzn{B1CMlg5X{O~VFM_=6&r4V&ZfC%KB&!Bo1q
zYy|gNMs53{7med=YY at 2ToX-sV&tl&XUs6$DzF0ZuVBKtitP+ZWgURgi`T22kQ~eTh
zGz1}i2NJfhKHa9O$RQcfQ at gDR2q6p>JQ3nW{9=~vuCE%Q)a{9eDG=}0)QWU#a$Os^
zu*lBG`)XhdF(RKwqz0YEO1Vk0S5-wR1VdbfrqC{M4QLw64HEDHP)@4Ft=V$Df1-@)
z9dSPbpL1q%<lZ*>eg*~w24&-+tfS<zQxutZ5y+hr4)%8-8)WPydo)}1cHk*nu2)SN
zHtzI?Y(or3x`~4mAW46VNd+u#wxpT8H^@c0RVizS>CgvuqQb3!A_N#~+osE`;Yjp!
zD97~fVoEBug=nf5QpJ&Ko<!u)Gmd>r4hDwCdkZl=_DMo0w{`#;38hYjwf~f(Y6vsK
z<M~NwF0bY at d;a8WpG8`2hfh+awC)0pdYJ<%sAq7 at b|kagxKoZY8J~K>3`8VnV`Hps
zwSE-sGqQ8}fSe(M1KX_mUOdXa58*{#g_G<rbrNxa%|dhz`PVpV?2l4HB*^e5<RIEh
z4=`41e>c?m^5v|7-VGF82XvQv1Fdl at d*=~O;M|H;+X~44DAs^HUgB>yX*5vk92g|%
zqbDwfepk|KR%la%#yUxZ#Cr#zQAvf?&Za`z7U^D~q0)K6_+7=_LDf#hJ54l{|JqF3
zh^EEEk;YN|+D+cuENC$ez<x$;cx>N%&MONes?WAiO<~;y)Nu>6Ho1uY{4WXU-BreG
zTBV2O#_SS~Lo3r3fN3=DGAD%$w)73eLd15uZ%|07=meGgv<skzp;Lu}49{^5T4;J}
zJmACQX4F3D3d#At+KT|C7$8cP^9rNQE9TVw@`gS(`a1$TA4CPCZOw<=oT#U}z@$^H
zW$^58Es>{N&8N&oQ%SI0^#oya?&QagOqk2x`SBd{UEC>?IMf&oHfACG;EN37h^+Sm
zswqdpuic0t-M|_)r~?vHI06n}(p>9^^&1xq>jl50AN=`zwNdImc?g-z*uX8MC8(cB
z3~iL`cOi0Z0joRl1(=YhHw4dJfP^v5t1e1VNGeIzJrI=Tl3Q8sB9pc~IXm8d4*ydu
zXisNyJRcMi?Jdxm{DhNx=H=yLrQe{SL(bp+<2EoP(#5w*^m-FrZsGgj_^=hpj%NIF
z<N(3d{O?3Re`|#4zr2L4{eYL$f%I3r)$)e<0E}?ck&j#CpmY>DSUXQ&R=weXdAQd>
zytIs|hz$a2-Gp~`)ksa8>w+<)+7IjSk#X&C-3vhUuBr>-*OK?EGXR*8a2OC(?pr at Y
zxpTz&VJxNYUAKk?<&)p9 at 9lG>KQz!xqvsVJqwoKzKQQ|IQQBR)AaXZ^I2U^^tX_Bb
zY6^6+YGqO{45d>3<K<G|L&@avc@<>nS>atw=SI3UOI7TI!T=G1|AHUg<Vdq?8Q`m2
zm>a at ZrTZ4Z&$>DuC1`l9M>T*BHz=vHPjq5!A?X%UB<6(Srfaq(n=Hq~Y!g-2dnd1>
z6>?1D%hS;XL><{4pd>0-#r7O;a5!y}RJ%fse)xAvUEkk&6`$P(5z$wk=hX5;qoy?p
z5M*q9jLo{n2I~{v*msjj-cvR$vE{V?9yQ9_nfcnOchp at -pj+LqUx*rMas8*$@6K9d
zXL8x|MfSkIKqZ6VC|?V6IUz)FUopraKb!p&OwlMQbU-y<M#9hRTs|^U(06tPua2iB
zHef?Lsi~=%tX-^n0*O?*`Ny^)Jgp5r0>}nT?gFf94OPz;XmdROdX#0nuv%a@?)gH1
zx?8)}$c)d~1<v&V5BKq}5!t9RSA3OUSvG3%hV<Qy;SRLYhE!Xg+vGKO-Frv}a_*7j
z6_PC;)6C-VmO<a%ADh*b!z-w$HOvsi_#s^Jo4)<1OO5mU-L*29Q!vj5-ggmFNj at H$
zrx9o6MIpjdp5I(Ks&kkZt%A-MM=or1E$Wm}UH=WG+Y0`xo-tKs>sqHnex+}qpGfc!
zjB^U~###d;SpjEA9m6z-4Sc at 9(g=XUMEb63-zKl6inw$EvYMz&7;T1!nR at i!^hr-u
zKGwO4W=ZUNu8%%S$`UjjzMnonPZ1bd8u?R`@6q{=y8mf4KYZG)&~>%0ZJ$ms#(yB^
z@(3R7f1So?E3P6g+~6zh$AaGzH+j5MWg@)ZV0nmM>w*jtKqg>Sn*EL!qBI-nK{W-(
z5%45yO^s9QuCOm-HY5jv=qwxEx)v;HDty3QOvz$w!Jdn!C?+$;jWm?<vaP3g8IYm-
z8+L<n?00cjp9&%6fX*6Vu=_m#pxnUD|EuZ-W<5OaapQAkZ^mn>M^=oe;sCn6&G{-I
zb_=(~LHi2J+ABGkJb5NrPNAqE58r(G>7Ulfn~z0igS|_<xO%s5`PMY~7PET(*b^)|
z;9e5zLX*}@3YrIx^#f{p0HRi<Kmkb6a336ZRgY!mR8|pJW^I;JP;LbYG7>)gh1oQ$
zdNSI)=5!VU#@xrmmqHFLz|aU-!C*xSKB{hjt=j6xa9T`i86kl2wMNYiYM(@O>9^BD
zMPA{QCr9~A?v%r5d+`5P4|AGk$LjoCyFJz0CzT2)G(z0uwDHb at jnA%EPWU%a7Gq-;
zrCe1FP_8uW*z>)BsLEd at 6n>|C*v;%Rcme~)v#5CsC*Z}`NWkl*S%*F6Y?aya8A`5q
z>}xX7r0T0<v5MxE>7t&SXFB at Bb(g`YENl}+M>oKXyOYfS1d;?!!VU!?>+u>%p#OGe
zExX$tK*GR9PA!&bh2L$X#X`CJK(i at Bt;HrL;{v>*3F0#@0 at 3JP&|&I4-BKyIg2SvR
zpIMry#4E;tpK0JyeII)&It3f2>l+5^z#@uh2+}XxdR0Q}DD$P}A4Y$605BToALfhE
zoFH_zP2u-D^`r=@C=!Dae9L4 at U@OL>lLyQ3z#y&}NZJIf(`kMx<{?D80S*)xRx18T
z*v;04*;E;%e_I(dn>uY@*k&V7vx@;mL=oX=-rK|E8FdU1 at J8b`I44~C$#%Gta{&yS
z+TEVj<Qig%%Ymm7<c_s$WZ`mbR!{!%wF^n=2Mw|}4Mp(cFDh`~R1&h1JnsJunn6Ea
zZnt7iELUl}o$ur%N+YY1(H9~P+aB#mIt}F6H81O)3o)b7u{>OD6B8L at umU{3zL_rx
zBid4~8u;p at u|IeD&P!l7fn6|&QwTb`0CuxD64i#Ukb)<na0mB44>j;#z8LTQdJcz#
zM at 0jk4s%8Lb|kA&b_y5evr`KWjdWloVnMCDwQ{L6OJpw7m2Sc+l^jcxCCb|xNT*S*
z+G^1m396Y+yVrBL1WT at 1X3}U%vn;u0SotZXtG7Y>jF711ufRUUXU+$yk41{61DN;n
z|Jzi_PWhXw?sDUjd;NUHVAAbSi{{%3;I*7g&ph2V00?6LG%JorK_rEUFO?Iz%n^%D
z@*=4_Laj{fdH$MZsP6}b0XO)+Md{A1z at i&e%oRjWB-zj$*4eo_L- at c*`>pKz`ub$l
zY&5vQ3zz=(MOXLLtRUZWNX!-quIWqaOb*)H&1eoGk>c-i^v2>?pln5N@|O7k3v<?f
zCxRVU8$0*mAF&f_?e0IcQbp;08vxef)DS0)2JO<NA1nSM*TzED9-1k9=4Jb{SQV1G
z|4lli4}df{7w|SSaZWHuvfMDih>G#?*!@{;&~D$;6M(F%{FA*A#~KIg!%`!|VR;2l
z%syV}DXvc-$^dm3zTKFuUCcR1E=2}^o^6L@#jzufJSYl+h9Zj6a7{17z$D at T<p3|R
zV3a0oQ7qSGHiz-L_vYr0zjZ#QMt^j)k3*hxk67sFvwXgqSv$XnS5gztKMSVkuj(My
zX^)o2XrN}6$kt7YhVGT)3!)M7)xTBE#XI|cxTCETA)v1bhz((bro9WHZyA<p?Kf<`
z+j<B)p1tgQU4P$a9Lx+~Z!7-mlH$0acE_M^7PB^SwwL1XKOSk5;Sxert6C_95O%WM
z)b}89zhe^iVhK>qF82fM%0c6F=MgUCW&GEyoLU-|p9;WG4HABfy2fC|7|;w_gDF4|
z?J*B?!o~Xm^d_pPoe_gy$i!2Zc`u-1LrobqMrB-cvtcT7%c0n!Hc}c!_TfG7SR}YS
zk#KrpcX)3-V_mhmy?i}o2tKzGK#f<PA8f;>l|XL31ns0ZY)wfHjWgE|)HT at PdtG{k
zrayUF9oCIe8eVrQEs~6~$h*_=toQSV85GUHesHGzn8Zm>B{+#_PJPtccR}XruTqMD
zGm8{9kLo{;dChI7q~*lDU?60iu6a@^ze2Cy at X*7Nq&bh!qs|qXM*yAb%e<JI?cwXs
zEh at LvBP0DF_^VxaG?iUR#p044N=O<4ec$o?w{KzBPy(;VnvLV6t_DDxTIz5%`*yss
z$AF+j_g{bp`X`X+)pv^TZ#k;e!u<&ZUYL|<=w*)=ti%kfflG^H?=%bl4I+O2uUZR%
zvW~diC*ghWCv>!~Mypveh1iO_D=Jzh_I|MxPHp~EbQ>t#*9H at 8X(LlHxyT80)wi!c
zB+Vv;HkjXtzA7UwE(i71nO<_*qcdK97h^ygCcgZ`LSzOl?Gs8DTM3QrZT4zm9}A5X
zNT>jx-qYmhLD(8d>P^y^$rafD5Xhb{B8}VkZa|q3TYpLu;#mPee^xt1fG}zwZIH!=
zgX)9Dlbqw~K}PJ?36s=wnBejfm8 at 6|Bb_P5#mcZyGy3+3iH$>cZ~bSH@*7MRE(p%H
zJTsTz;?;y-z+e`PytV)~o^GUy&K^f+GC#c?l7oaIeFw32DzZEfJYqk@*wUHCvAHWH
zwMNEtU^9!qU3K>86m|4FDpWrcUS<I8IPCZ#q(u<CehPl2o6^)_>U@?hGZ;jK(*+ at 6
zH{~#8E|$m?i`ULd!D*5M^v+KQ*cSJM3#eTY*I*M%_JqU21TpN`R!G?-<k)@YZ6=HY
ze2|&EiEss2%4=3eFK#rkXCE{>AxR$^qkjQs|6+){nkFa at S)!)^-m+P*SZ3$8EF$xO
zXW7tz#%#D1vH$ACsw$proIl7WKp6r*LOQ{^7X1`)V at 5k>%;#`6%s*rm6TipjD=fB8
z=L5$mZqvWj{<B}Hqh&T6$V`}<@NE3u)M6tXelAmx7|am$X6nUDby6JJ1-M+iN+L~a
z3&xXTEPN^4TOQ!Z*7p_hyNj?$Bkeoa#^H{a6%y4>5aeVydie9SI}I at L9g7fUXrCV>
z{@&&znm0fTvm$<3z@|^jWo=_Gl~M1Z4=_^8fM2YNE^H>D*1?1*vBF at hylI6wk@`i$
zLO8Dm8aT#t&X35IA$(=;xS;ZSycxw4 at L-{)_+^fyfWEYsW56&`qe5TEY>E#g?98g*
z`SJas1vWw&ry+848D585{RetVH#wk*q{thG{)3g>!*j-DxGqByF(?@KE%_r)(2hs6
zxnC(^Dc$9sx(4V86RmjnmpIH%+l#9 at IIbT`l+?nDm`77OAWF}GYz-}Ob0fJxb_>gY
zYfLmYFdfDr{A%nE^rw_$N75rd;lK9~Y*ukvx%IHtCpgWM^<}>%!XEV2%xpU_vLqTf
zvhCbfVFhunw#SZ>5pyqGd2cARtDOm at VJ|7Zz>u>|?;sCVb)=bs(M>H3_MOAs?%&%k
zul at dR8%T<=QWthD42QyA><V?VRt!&U&A~|ZDrda;6F at OL;`Dm3I3Fokt}UKh9|i?D
zqDsXa3b$)%L-IhkayWc_1NNgWNBz||$P+b!(sZ8QAJhmVO at Hl{d$`&)9ST8(g>kSA
z^pXAL(C1}(^@Lr(Ag{yKYH)Vdf}4t&`lGT8Ivk{_&e+mlcq(}V$xXUXObBpddJQ#d
zG)7l8Aa&{_?+c`8fJ)A;Jq0Y6;?I^hREuFTlsc`q_vRb%fo#K@`JP at gu5A_a5q0FL
zx2Nb-pg<ze;!9I{vTG99Nh&~Qy7Bj_Hb?k<hwkP|z~N2d9<KO0txUUfN-t<@>e4f9
z7TfZs`fQn|yeRIP$L(z;WfNK+W5mZVysD{3|M>;cyRu-5e(?hwx>V_fl=jz*adspZ
z+$g0VBVuICkL3c{@V$y{8@%+vb%76zR;v3eWUgyRGbtmXNMdii{!3o(4v&D1 at 4C%h
zS87N3Nj2I&GwVU%;L-ByCflGO#6IveWjwj5a|vy>ggjd@;t|sE#Q+(TClom`HXn0o
zfl@{`EDQOJ at Tg=+N*v at XcHL0G4iXQ4FU~3vCha>|1 at lyN3FS~Dr%wwrG&W_B$^Bmf
z_CHxoYw13dm7NdIYgg!tC3S?`cFd$4U0<Ic<wdLY_tmz;g~78){Dm5ga?>gAkS&5c
zrEs*tdxYOU!!fwsO0v<hs>3?nChsTm+;~7zwNPr(PZQEQqWMaFx~pfsGPei_55yAQ
zZdQ*UFXq=6bpLU?km|BtKdSc&l9(SUSLRC#_|bWoSTi+w33ykRQd}!}ZdmR=e!HAZ
zj;ur!M{xWok%xJ{O2k4*Xx{d3*0yj9qA)VN at 7?*D3GdzdH}rV1z&ZX^x_iM+VJGZa
z9f}KfR;zO=emfv^&H}ET57)EBG-yd~5!)3%b+9c4H@$X1g7RD|hMs<kcr}sQPxL(x
z&`moWSBuH*I>|W|>|K>Y9M2S&#7qErU~ZLF*0V=kBf;hB(42f<yhnpiQuO3s%%^hP
zH*r~$)RM4c#S+6Oe|PikXP)1c7p at Keh=KOCr=2esZrEJ)Xp(c(JA5!|F$T$HZ{XDS
z(32PZ3}A5tScP`_8g4_~v1rZ}DB)B&d_JC!y?J<d8X}X5&S}RW`<7e&IBONaACkqs
z@{{&^G7&#DBo-2;N8ykYz-3(~8Vd#j at 5wO@7_S0HmFG1uPZjxe2TQRuu{GhJ at uVsh
z&gtV>bS&`k9xW)FGDaA3Hf|Omk2y7Z%}PhI){2DYu!IC!RJ>9}fP!Q_mS#mstGLQ}
zo7?UCeNmJ+6ZiRfIM at 5OU9EP$lbuw$Ztu8uU<jqJr1EHD|E!i^d#%&8UdI_R?F;hd
zrcR}`bn%irP}iwp7Gmb1R&}5j(g8&)2s)Tv9wBc#Fx`p7ZDp9p3e1_WFLubq!?p2y
z=H;S!>A{ZF4ix3;o)+ at oSWLfv^GGG?Y*?K+NW9&`6}X&WZ%plWWBy5vm<U3y*}PI2
z)`6GefE8-Dns}l|6!N&OFYu_#HsE*NJsq$hMzBeeZf&sG0HJH;$SK_3**|P8xD(SK
z<l?!S-XII>`)Kc1enx#dy}{vmd2r*iJ!cO`tUTM;N3gMQ^2)-FRSPWfzgI5%7)7_y
zaOSAtb(C><@lH~cFy5}GAYQkP1iehtR2wcw&mT}4Jhn}5a$96_Cy5=ZqwnAQVI<P-
z85aDS`?KBI#pnsF0ckmNRWsbWA2Ydpl647XsBNyvtM!bH!{!=N=l*FHJGvJeau<tY
z7Y|mZmz`D%yhQBb15I(L(ncNdyrFws;Az`OQ1zWh#pF|3F~1GIuQ{%X2Yu0@?VKnE
zl%-xL1ZaF`E$E%z!e at l4^?;}+)CtYKwz+C^1OGKO=N^h67h9s}gd;5(KTn1p8dn8p
zi@`3bqM#-{zF=vS=S7#Z|Fl^Uw#%{jzCB#-VaK34LJsUrz1-@{XEyBpd^`7P#j6$Y
z2xKY$TZ<MJY6?q5QBh9C2}6bG%=v1 at b_v*81*$#%EY^wj690W#$l*gfIX=9T9w){&
z=c#<6BoLG2IZcn~MT6MB(LDF(2TcflQN{9QsPOKw(w5SFwZVIid(7GhkQBiqDrZH7
zrInkT^zoZE at Dd<<f23`W`Jw$h+(w@>Hpyw!&1xYj_l`ZwD{N@@h)rH{g{b@>)7dGU
zIpibFtXxxS`(}RA*)OHA{&Sv1Mau_V(FDZDn~|yXX5eE4t7 at 2YLivFp$cLzB8ihuj
zeqrSpFQ*$3nqQ!kg8`$gsAiQViZd1rA at z}}^pS*7Iyg24*0}&VN6G6G>fzc at 13Cjk
z{A%3Zop=OpL{)SB!v2`o5m*f5wVD)Qpwlq#(`vQBI}r7-mr?<7a9WD$q?^c!1C{>D
z>{V|l(Ov(9LI_ at w%-b(d$uG{Ps;iJLe>@Xb{;`=I_T2-J2OBWzWsi=I8AJ1z10j!v
z>s}2t#9Y`cM%wVlY*?LNa-aTQa}zWB`SdyIDJLjlbJ1Bi?%Tb^{C9KmnWsK;$^uj9
zN)<AjFch)AadeyErJ)rAMG&<MJ;vLw$-Z5_q(WU^b7oF<3FF8?b-8?jq0L4rF&jU{
z68gEOjL_51ZocL|NT9MgDAfKt(*o+O^h5K)Gza<7An9NMp&fRE{jY^ynj0-n`&;-A
zzoXLoY7j1}`ria6(SBmhxSb9;hJ=yX$!FyNXF;!G)MFCMX%bZE&0_;wvv>JpW<O<x
zp`)htNIibl#1M=hJ+Mr!&C>hr`pbfN#8?emLMzGZUTQ!%>QHUBJ|7ys==O+1Fs?va
z#mZEq`^AZ?8_I2LNRtaXFmt)|4iWV3Q!+$suiam~mEQk%K(lvMSX3gG4Gk7_89?ae
z1o<c<Cwnc!*S;HiiFmr#YEU~!ZOgnJ0TR&kn(D`+&fUD;AAiL2yPF=&bj)e9?I0vh
zwE(#dERvQEQKJl^J~|3g(I5#4D3atlt8hwJ8eZwc-V9A;q5tirB*TrX4F6=EBT?g_
zfa0QryMd7>nwsY^tPJp96|`Y{ohS$0bnKW0a8wyV!<&g~Nxcm={7vA5uxm3>V%IUQ
z|M#t6?~!>stsF{hF2FBklL1uZ)SE>lM~6U9ODp+}X|!IoKHNJ>Fu6%$+ey*z!)Zu=
zV$Rv}vvqf6k2~|=QC_J)<g6d>HOcnvU)hPx{vdt~Gwwz~n9 at V@Hel at ZU0HXt*z<+a
z+jZH`s2z5YghS?3V{|q}wSOlFqk-i`zgLe=gq-?eg;c7LPWC+0LV$AkD=vacMHz?8
zDLDg+##zpb!q_taAfJ4AN3~cO8{|y_+Z#%?^*_0E?UPzfH;v33s#xBfcgMeB76qh_
zyOyuk)hYR1Y;;jD^NhmLihYnj?vJ;ek7Ml8gl=BHdCjXOfZcN1s8VsU-A%Y|- at z%0
zer$ae+9K-m9gGz2a9nMn!Fw&@Mk=YVjr9qkmjvXzhCKMn6P&ptL`h$8L;Q*5zGOj#
zkUmsT$jXl3NEj-0EIK;P6F>WJNCh}BXltuW^nfV at euWucLO(3I1mhEb(y^ed)>X&P
z$1*7RSOaU4=;>RMOad#vqg<|w7S?e~2WXMezWc|Y3#6`dBm!9;ZBx8N8Z19nVue3D
zEM7-5X(4l;jStL9OCP<D(wj?vFmB#X9?KnQ?Fo)Q;&6Y2c>8s~W61t<QGWfb?jop!
z!1UqD96~poXm+}uf5dBkHC_C+DY+CATSw0y_+!4DmmBtsR6YIUKwCQ}tVtR at O~)k6
zH`a>Lob8+j3Xwu047~!<b^vxgTfU at kS(ZMu5W*T`At8TNPy(a;UZ-INLlg}jOSTb#
z>XlT7zZc35g_a4C>(7ZTb)pX9SLJOuW^Y#KVIsRR0e);IBUgv%Kk4_#-nYHS<5L5N
zboXxqL9gytEA at 8&?of at Qvg&qT|2$(1j(5-6ntg7xs$Vpkt(Q?pK#Lkr+2L`Yv%5J;
z?OzxP=?H`_Y86@=n}9NmogSpho-`WKna*G6DSB(_3>@t(%CVztIduYMG-|u;NYs0f
zXtfo3urkEoj<N~)5>KSZdi9WR!Vq9yBER;n#ak`Dn537ABT<>-<YW2diB8gij2Aj^
z+C~zL>*_}%6Jn5l`KRUzSD<X}pIsatUfho4N!oHvUTBiz at Ckam_}x9;ONAWg-~Lgt
ze!P2bhR<g6rf%ZI`j!`T(Jh|<eoSJ5=kD+h<+l{01xJeDmOMxpB(Nl*Me31{%mIVS
z6nM~RNwcx2K+kL805|+YBpgMX-%~XxLj(bo);7A4K{?KY4WHCZfhNJG<-B|Lb47oy
z$$69nmvy&4CN@@u1_mb*K=2Nc9VK1JZYo|%c!MEoxdsg94U!Goq;%M11!2IM+!TdO
z=<7V?J2*%Qzn(Yp*s?IE`jiGw*cG&rkt~q0?CzBMv2?7MfRL+4VxA*(O>v5w7AkrI
zL!u<HM7^0dbP#PHmPWrIMfl5}!%6#yt$;b5yu-~xQd-gaOK2n-)uE;Fug^Xumd5Vp
z;|z~4_waOyW)u);G$1meOsl{{7;3*yicpZPC0WnN;VN8~Ti_01UW;avw$T<bZNRgB
z;8SFXr at RG}VU2PsRlo;b7}S3C#`7V8;|sE8Zzap?0>6cJ{pHa^4(L5(FO7pv1W~7Q
z0HH!h3(#>s-)Q~iYAJ?9$?}RW<xb^c%Y!b1erma+a1FcQMpcBCQFNu?ult#G!rF%y
zSnti5<xw(V*19$Pw+k~piT!$Ib_|h7v3iBdrzrFS(JLhh2hH(qA}9Lit;x>(BZtkb
z{c*B6rTgw3Lo>3M$FA7&htTucaa&iBWghWxEbjFx#D7^7-pmnOkF81P*k#%_ at Av?O
zCCllo@|hw7x%##?Y>stEs>7Csi-r76NchC$@qFTfpc|i^k0~D`ze7m7kAu&_Jux+6
zq%MZaz>D~1u!mcK4U?d-wv$ocBJh4Ue_a6#o)X!YjlDoN{%{yvL6&f>xQ^>{-A&2>
z at DeCNK$4xVR_3p!6Msm=xb4--vf8o4GFm;JE=ImZ|0jA~H;+^2BRjITPCn!2CrT8D
zof7BE3{@YoeExgN319l#KKHxHS3Uq4d{T;zMRSP%&5O#Rx6|ponCrKNa%KT>1UU4=
zvi)<FT8-=<3P-JhVXPPdkAHsyj5~S3GdaJv9k$gbl*;^}CR$Y#=blP`!~8}`;23l+
zohUm8Ec3YY?79~eP}Xwq9z45ta5JL3 at rGu_lK4_HruTM@uwbp0#UdcrdWz$mRM6w~
zM1h7YLVe53(Kf~WBj at p&(j8{E7%|Kln~V-nqv8p4B-3tj$Uif0VsAOWgYqyii5D~O
z1N9jrCk5zZ#OV`fkRlw543XZDOd=pjCR;KQlzErKU2HG~@*#%iv-gq^oDiFdTSk_s
z&Y{;=ihmO(fw1*KP%V~ZE_P*FwziCLaowBglDja{@|=?2?hU;_spv}^i3_RCS^X{a
zgA}|^x)AE#Jq0&U!}Gv!=>WQ3l9s#pIB<6}$M29+u;=so;yNJlk)~Eb#k8?pD|F29
zF<}@zg~_PV at DnOW(5<D<Y`VCE&4{!e<OUxViDY<vdO}DKhsAg}QVSllpz%hojoIvE
zqxQEp9hR7E1e+a}Xr;*5&%s~;xloCtgceTk?<hvjZ2XHW1wsFk<OPDw5g(gMO7TSy
zvd|MiQ9up<GG?41m(=7y&h<ARWw$Imkx$fam2*Ul7aNHyet>L>&bYWlqek`2qtirg
zv;r>t8}ZAvPR_!&`)T4oKPwt at qVa|9Hm6gzRNA7(9u#0k%Byle)Gpr}u|JAGA$jV|
z)GsWdXne3}tYwiwVrm=|=bpXE;L2C)XaotMX{%Tc>yBzG;$oXyJ7s~p2zAfN=O*=K
zA#lc5UA|W<Dp}Cqmzl~T$-nPp at v$Ws&3qwxVojGmWA-8+5|_H-;pDFSaV~0~JO`5t
zsXYI-H#LsgT0{t`=PB-1Zy0;8l}f-N$TwyXm)wUq{pXsVbj-0cLtfJ}X!SXN;d-ZG
zxP?@bu1RuY=JN}*@a~ue^2+%gd11mG&}rUHFvXLzuGv((zk&Zw8j@<-3+(&Uu5044
z;@OM&I~7br$@TxM2L*8T5J*ab0JjuVtNOzpfFV`>G6hjasa~x_H|Ib_VZ(FNl%)~V
z@>8p5l)~+sq^G$RJh{JCM4vyzvxU-i;wAyamwe=+Z*J#s>){zX1WaXze+P{Ai&G8B
zzVSS;&)H~ue2?KHkm3(4ZzcQEo<a}yq9%AAAq;eTQ4V@%@{~*9WC0xL%=;dvc)Bzi
zKuT5;OC>QT0Hg#_{o}2=`-WeQb~9qzM)Q($ihFBRh)i3?rUK&nQ`;2H;iT!ygw;Ku
zR3tn}jUBDfkc)1bT$$pCi&8ZDtgh>H1s5RFiUqM~!2$v>9#S^@97Besf7yn9*eT#{
z;zn~^q|woiS7Jq_N~1V at 1svzCJyaI$!9WTo|F`%6DQw)w0Ng2x71&~4B?B!ZoAQ^}
za!@UiE|tI<r)j7k2`3Tn0BuNdeWW_Kc#H&bneeU85LheO3{LoiXl_pwmqcBBTsUz!
z{}PT{v~ei1AQ3Cj&y3EA&{2wRM7gs65B+^eNZo-EBl(PMr=+`74rLI}qN419MTO;}
zZgVJ7#Ld{x<^}ZPSm)wOHV>I!TPou;z*sf>j$RQqSWbFt!l<acB;AbJ at ZdB#n(Dlx
zMeU+~`Abq at iB*3zFzdRhtigcA_yg>6=@rPz8UHK at X;E~U25=ySw|HVgeX2TQU>G|H
zNsD+AF^}@;anS+o7UB;nSgBRrFlIw&q2m4KklnK{><oz|xDamu`;7#@DAZt<P*|Zw
zsKNlQ*Giw>V8zq$OJ8f6m>IJ*6$}pp at QD$)*-lVK at e3{6bd&+m?`lc(utZ4YMzr=q
zKYI*ybI1W%121!BpfXnfDGmje(wlX8RI}mxj>^~kef?K{j6lG_mjyAHb2w5=w_<7B
z5gv0`TBELxj6;J$mGNw|9{;aN%%ae?b!bgkYQ at nc#zw%0wu<dXKQ*OD5Cdkkn>Npe
zm?1*+kK}LtbLGDAgEaTxtn7FAi_z|z8mbid3Lu8hk{gE=NLYu6d&YX=DB0tuCj2@|
zVmN6~X at pzGMP*5DAv2)9n5Z%ij at trLU?<Tt*QKs2mBJP1e}T#pZ4htPr=I#(`7_m?
z6K~EEb#eziPaZX8)9Qn_=?I#f6F&MrYX72^cJmjWn!Q5+QWkrht&q+>Pbo|5S?zGz
z%~bh$1O(hu@`)cRZ_IAsTesuBR8V>!`>%p?bOQL~WuRPKwB+gD2|XK8yt@*}QU1-f
z4#jlSD!g;X*elB99Enf6kZfhk`&N;xxrK}*1vjft70-d{2?`JR4#VtnyL8O-jPIoH
zl-?_l5U5YH4(7_pR#5(hOXAG-SaUY#8SB!?L`qyqE{&D;E^_)ieOF6~{LJ at M>g3WI
zQ`{?zAmk9 at td|51Pb`G7fAwk*-dYkTEq^86iFJ4>`E5JUZg}-G)ahq46Jl|1XzNoC
zfra%d^YsW@?11(lx!!F{uWZ%YmsH0XrQ}+xj-x`@V1wQFs&3yxIj(@pvQh`jWqY}N
zY}Y!L)14 at hS-naiHypIz8Vb+P$wK>B90KK$eEO$!@G$%Q+(DFwpwS9j`KFW_6Dxkr
z+<sw89{y&@1{~xM%GNC<&@Q at aByiWedEoS>3eH`0r*inC&z}bo7rQ<K-~cEF>7g5`
zPj*ZXpX6c}2JR#ZUx<+LvbJq at 1|qxi&7%Kp#QM{okM)nQ2c_MbRVK}7wtW)6!5Nfi
z=~qT#QrkB4hSHA~XOGQx1Lq-#Sf^rO>)$ok!1E64EGVgeyn)!V)#=_}$%5^P1!Pm<
zWcPau@}rPq*g7JVn<pC+FK!g9S%e49GHYn}#`IXFUsNP=HpB(ffnm+IoFGl~OF7n#
z_JPCR--XMP{CMAX?*4u-B?R0j9-Im9S~d9gz8Odo-4*;)<hy`3<v_~l%X5VQ$V#Af
zvqJtKQc=3SuqfaQ@*uwmZ?_`sqB9i(Xs=H&F6&PCx^V;^YAQH0pD#J87urqo at _Ysp
zE_7WSxwDWyX&zrdZREE}n88m^IzaZ!e}i<UBrvE9ItJxTz at z~Wh1Xqj-`nYH-%@<0
zM1B}d^$gZ#uXZy15Jlt#m+#Eiuqj}+++ps-M(`U|nd(6Wr at m10j9ScOzpfol1Th$O
zDt*d306#I_{VkV$Mvv5ThuDXJ%W@};)oknMaW+8dGHqfh+fbiXVfS-x at _F2J*HzL3
z^ZbQGC<iB+ at NR{Qw4k%&&_WugY&8-`8nq*rE5){&h)9?c)y|6z$td5CBH7>_6;h`8
z+XF2SUnr&JIsar*%~N~Y#p>7Sln|h1Y9ail*rYGrgz}@B%Vw&lEthVvl5TXh=wN4#
z_qlj6 at t4gAu7~1Jli;qb0DOy%q{r)XVFU>XqLupA2ln?Q!`q~$flzwV-E8+7Y<<qZ
zcOTWgq%Y>Sz?mScrPItf8OMDZw{;de+xY$X#WvtPYd?d`;N-6H at 0iS8>IEq2Qn^i9
z{DpyuT-H&}+cP!P_l7$9xmSj<%#UEpSKK|<rDA at Rt3^b55;sgqnNc<NOHn*%RvWQx
zZ)Tyd(kh&v|LdTFc at im{q8Z?ZoK;rJ<We+?fwFuy-}MO%j<5yCqKf7yY?Q<e(<1>(
zNnt8#?irJOp)VA8cNht#EjXf#+X0I3Gi>qM>(```^D%JJ)9E7LQTu;NjN)2dE6B`v
zQW?X}i=+9GQI=!b3hvnO-6-&9U39o=WgDW@({()H5 at 5Tb(L2EG_0`0Kc^9(7vD=)B
z2~wl6&C0j)xAU>x=fZH5>;p0%j;X_^$&sL%lJ~)8$yZF$AOk^dgxh at iBP!7+ymRPf
z*u8_Mez6HG)&8(Q=3yY)0YHYvLkQd&vh2qZ&=Ed+et?}o$C$RbdcqHYElMgzqDm5?
zSEpvs5=f at FE!(Um?pgz?kQHN at mK`=QEK>WHI`ZDK)dUWqr>9-M09|GBcGDH0HQ&<&
zBlYXiDl5c-$6PH0Vl+x_CK8)@X-icX4lE`JxakeA!jG#2TH;|L4fSQ~zH$;j{3`tt
zTJpf8AbN*+jtDMvxE at _V6p5_{#=f^;uOS`!J<1GT==~|f)=_p^I|L8PA55$8kt*7;
zdf-Q(OEb_*V1+~MySjD`7 at f@IR*r`L at 1cPSxc~4j`{I_QAZ(|-v>x@#BQ$?BLmp$d
zYTcxfNJ)D!V;BV^I3M9v{<nAaAOZQF8pkiHyhg>WCMYyiP@&|CT<p=pX(xX-2IJ7S
zq%hkxUm7+Gd`Q~h7-J=DYIi;RbuIlRCG!B!ZK7GSj13oHN>hm+=Mk2lef=y0Y+r7Q
zB=oyIlqMuXU{dw;F-ih!Co%S8D^1%A9Hi>}MgPgvkl>0f8es56aA90}YO-&P#ns+t
zqtQmJYPEb0)WmRFEbv?rQR}YX%+(+m%pgq*sS<_){W<@Ws32-wa8YqlFvu#zYQlb%
z=O<jL`D at G2Zt89S@??TOZ&vk{*r?^ddbyc9&}E-8Y(<@okO&jWXWdS2WBx1Fn^grG
z@=PIL2z&-o#j=6LK9Sb2Yju248DIYE#1y{BnThsX0*^rruUOg%Uobp_|Ls5o3^zX5
z3Ss0Wi!}zLhIC1xO3XpH=!9Ws<w&^}vHsfzJSEed+vNrjs9GbFGIr=HR_-R2&rdoe
z3xPRO%nt}2CtxlUk^bKpjt&M%@Q?*5h%PV~+5faRVMCmU`H!AQj5rH-8bSRl+-SBS
zJHLySBKVc^W?Y0iFC4=}o0KnLM)xh)1xGutL<ATA2P19#_3wVbH3X7UtoE!YkF!Q-
z8^h6`#F#RP_6t?5S&Z_Bj7-|qe~yQVpN=A1al}i^0T+hv(2yZ9UBLV*qzHj&9{{5*
z#RyH0 at e$C1K}Lc5txFA(fvg{fVx`NcUA(mK- at o6B=^{sjjFw>GYKS?oYe<5eiTS<g
z%IKO>ojgk0D;RFYW(2eGW5s63&uxxUt-f-PujACFrUkz{ARTXD$L<@)if2Bh+P(E#
zeP6bC5L|D{&>Z;(XS7G-FdfC0d4lT3hm-V<ljx~G-WAK7ZoRz&cOwGJt>wlxWkN1b
zRhE@#tLXQo?^9D_hpqMUCbv)%2mw+^%1IrywL*Qx+%H&&`lugulDP7W&>SC-BhUvf
zEMwUQ*)YY2fD~?^SJ3Chg<26eMk)px$~Xz0-xdVWJm}3<G1Ho@=YPq33DzYtYmPdD
zOzQ`3g?ttyq6}1>wxzC?eT(R0)r~sBo^8m+WoWn-ERc3=xd+#0z;c6tfqR+;6!YmW
z;h?|KmK0~j6UfLpDISi{eU;YcspigLE at W7f6{S4=rTkO2XV2q(!%w_?-&{z^m3ph%
zJZPMqBmV4tGl at c>%!g0-QQyv6i=8=_%th|Q*Ec{^)VjR9x7Ddu_YXxXsd8ft^P_-^
zvER`bS0Nc2g;77H#qv?~p;)i;dM!^b|LHBuT;%brf!JyGlsB;FTQAR_n`db$YaNGX
z!qLQ)e&m2 at c5e4Xsa*CED-8WBG at onGW%nq6_D=M=DUe(f?5%o#Foy3H&AJmXHzsoq
zemL3D1Y`q%Z5cJ4Y6ipls_c&h=EH)zayjlTAUHI)b0=8j@!m}Ws0;8Zm}c$k&4LVA
z*wPKMfXCO%yq+y0&3)U)9Y`)6jN!4G2G@%*>Ppzd@@OWo!ox0>{j^3%H7!J~`_IFL
zkd at +OHKb&s^h(Vy=y!Q1I|adMCP?s33QA8p094occT4QEch>V=@4hZW={qO8j{FP=
zK%n(ZQPJn$iDehjv+z3vv9M!<^YJm}^yl0i1r<fyRea-RcUy+FHDv_mu5*zeclh#F
zn@?zlT+nVpLSpN0ho}wrjv^|**UiV+X7`5JAl}THa%P<Lr=pUgZ_je_UVbC(M$vfb
zSva{VDW(&3<)4VjDQHA)ubaI;lySJFxC8k at 9;ne}-R-weXKF5Dz8BSgxO;c8?zM8?
zZ){t1zsSYvao3z-C9`%p!gH8vC1#?19ZPX`|7C{D2@{GvE8u+^7Z-J!Hv6B?TOm4@
zSXb0cnna}v!0x*E0htF>l;{il?T0kKxXKxb1jasXIUvO`Rne;FfQ7$~y+04c*p(iE
zfZWnbmyK5g0{Xe+9lkuvcL at 5&JxRIM4##%@@Fo3gd(?9w&4H?@IEUA at K>9J2DM$Em
zJ0K5#IF0+EJJxTl0(1QJ?iAPaK&50~@>R$p%VSg?i`mn5$NzN-t5D1G at Vi6VuA(Z`
zmRZmS(&Z<ai{oJh=RWm^!|4QX(m_VcVYk^kchcU^yOkSQ;kT#dhHlp}N>{iGWvT?<
zO#UC^e=fQeGHd1yxA3LKk@`Q6<`gHtw%JSy11L(vcVy2$3i4d`0c+UCrt&cz0K;Sk
z_jyRW8l!>1T^j*JB_B~oZ(lV4kAJ3%*vr#O3Xk>@!QD|Y;Zgvt6bsL<MPJwlrA^{Z
z2pj$b01{aQI`nS__C2^9+Z1#jXj>T5UMetrZG{F^X at 6yn3FR%&Tw5?I{jt^d{qhY`
zCk9V_3S!Xg--3~!QH#|kl)j}P8zIk77VIYxv-d_ytv2M(b@$7U9~|UU!Cnv&ThSj!
z?N_M`25wK+v#(2kJzjTVFmU@}5oROlU={hSXB_z0R*?d_(d9^$1Sgh{p4Rr#1%aAh
zkzH7RU^VGl<2(P7-5%?+z;v!~?g&NVaJ`$fHqtTD<2SQx1`>p-Yc+ByoRCs$mx9TD
zeEh=%Ym{E2U2TGPfd3=1!WIp+{<uduY!ea$D>=xq)H6YX_Ph1;<%dRx=n*H{z9vvl
zM=-WQLpLK{p;%-a<q>c_)i5jUh|V5wdZ0;Ht?FHnT^gjfStG&iq`8~0B4GaeWkUH>
z)WR|b5(-+-6i1;XdOsw;<uCtl=c>_h?mvZtE0|%<`W0O!cBDF5(Ug+krwud}@g_sl
zO`)l at uNECGrm|#_xbGQ$#b!t$G%{<~iQH%GU)Dx2$2>bM6(UUJ3Jd!h4XMF|`qw(!
zXH3+T*-YO+FO(2w|9w%l*_Bd0(h7A0wG-=TL;ipSK}gV>WzVwS-~7VQyr;W;({=-J
zlGE1qP78RKA;Av4j-!l$SiLLDLlqaTB*30JemOy>tlYvE59#TvWs+xK8ZRCd{XeF@
zPn>9aJV`mlpukRX%F2hsYYp_mkwWPIBmjUhm%d*%d>Kq<08rXI8jmH>p7M_cmGp63
zpjdv*?Lp8QuFUHy9}?<_Omki^jFL)|hx$H*^lkCM`;VixNY7r(wBq(k>p~^{93~#G
z*(-1)MSxZU!3h5 at fTmp$C-~qJqcg<ONrzQYg55-oy&Z*1WYi*yC3?)gSSi8_{v3`P
zjPZ9Su^hDkk#B#l3Q-yrlY?l!CzdJeBX2@}TKKPT?TM)I<dTGmX4#LxGZAh2Nw3f_
zr_7?ptqG}malPtAx^xg1#P6u>JP0<$r&r+H&sO8!Ay2hk!5G;=9&3T?7D5;9PTxpj
zo)I<S<sW1OWw>Fe`Q5)B=08j<zK#_0rRa>=If(<+(C8bPQ!!h`R9roK#s*P8|7`CH
z`ws5sGp#j|(!J at h!?!AF*CSk-wy><P%N&ZC!@KfIRDp4Em|0{{k?P3ps33?-=pj7#
zUd7~^CJ?sQUkg+A{e)i4D6izB&8}KfrfdmrcCcl(P_#N4`i%6#Ypv^FnSZ1_O^inL
zJMnm_Zh6fX>Kqj7#t1NC<%|K>yA-0B*%pCBWfZ?)Eqb$!**q3LfBAfKbJ#xgmLf8g
zj9Ny at S=7VLs_;a&&KJrA3|`q+lBQtZ{LC>nr0_2)Gx(fHZ70yNz8%Xmh<Kbah<J%h
zSb{`EZ7_vHO3;=4g?KIhrG|0Wxt+Zv$bO?h4M$k-8-tzzH)tNjAPK=jlc?QN<notU
z2pfR=Zr at jA)plLS;#|Ce;6aLe+>b2G5difYo}0JBU}1rR3fXiu#%h!J4$==mBQ0*w
z4+(AP6E`uSWm>KA|9W{8&E`#iiY7z^%|WL_Gc~NJM;YY3HZ}XZgs4E4_9}<l;=Q;C
z33x~rmh9ZxX~+^~&4(p<0yJHXMK}wb0*A0lV}ioB$rdR`d$BJ}n<zoNc+y{R(p1yC
zTdnul#jN1Z$QqF*()_iASXB1>E9f-TWCE)2N^Q)TRbb*b?oPgmML8U`qD)=?+v)!`
zIIE4f at G#=0VNXE`jW8WQ8BF)v3ZsR<xPJdPw at GKmqJG(leFIyZ>~qVFJv-6^PU7MM
zi$Md-zdvRroTot+eHEN;yM<%YwSd~Rj2?BBHY6w+iONK*fZ4*F;}nYIojm*>ITPKA
z`{<CV7!qADsSpFqZvy6X!a`C#^z)Hw-FFmgZ)28;splcK*4>+<+tCoZuH()*pt#1x
zp383LQ1Hgv2AZNZ1T$nVGBadY`2}=g?2vn5L<3?G`2$iJh5yz0$$VKmIUvcyenBMT
zUiD>S=)jE&wNZT~nFzZD3(Di(SqwIK2a;wpLn<@nJ_Ptp2jl~o_;9j+zW2G1fXhSC
zOhi+;OmBotVAv5*Mn$hZPLMmuKLNjh3&EQ?-JO1?{hQynbY?VuEPEn2e1)M6-N;U?
zNcZT(LpVOVE_c`10u0v%dkKtvrz;S0{6LgpMO9GQA$d<^xarrwU&>@i9vh<yX(8CK
z)67Z~T<{a2i1<S)2qW(+E3+DI#csp339~#{c`1!ZvY=NhJ3jb>-j*K0Sa{Y at B4IX$
zKgbvREqe0sKmk+2gq2CBfx;<D7bE#cS;rKoj at K-&r{m;-`fxTRt!O9jKXPO*>m-0=
z at zs+R<{xe-Pp)_x%>nKq>qJzUG){1rO`n}_FqbdKF`r#DJnFKI#<Bj4Mt^%faw#LX
zZ5<n2Zs=4WVvxape-#u%=JoYQ$G<W9u!X-jtP+_lf#2J{WSqu^DwA;AqEl&RlRu^5
zBwJkfhHKo!L}F-(qmQVxcU<?u>+7@}D*_VY$c)i_?TSLroIFC+-<;Y{PZUlSIGKJr
z#nAb1-$+y{b)25!^KoV%T)_s+T|n{|4h$lUmV~KL7vq-mIwZ)!`D%Mj0YttBerEHx
zwz&(Cy1D>nC at -&sVn>?&`yU%Xl}`19WwC{J9~A02Mt}+3P$>6{H%R+j^6OU80fW)7
zc<e at tTd_!2M>PHtNX at m###8Mo8r_ll{Iodoxz76#q3egaVqp=t>6}Z&zr)eR4(r6f
z?Wmtsx<9v7tnms}Tr25~N?b}y`N3Y1(T8#=(Up(xZH%(r_7MLBKS8q~x4S0V(LUcE
zEt%A~x=y(KcpZuBgL%uMrYH at Ee{+9z3O%q|F5zT;?%HfmK;QesSM&;8Xwo1i{(;63
zr*U3NOntfDNPp%Tt(_;z5p89B6PxoQs-?*(H50F>9!UUSrJ5W!A;3Oq6r&zxEbDfN
z0q<r=R-d#`q28?azv|91DylD9;DUsNfOL)^9TJX6cS<ubbf?nYjRFEv(jW{CLnGbY
z(kPwMF?2}1i~sNM<6G;^x@*na>)e=o?mcJrK0AJjt-EITy9+fkdf|QN75(|qHKppM
zn-ymZf?goHU=jn5O31l)u*=T)o}KvMm(wJHmMh4n at q8TuCiV6HCyybxNDlh*uVO8N
zFL{3zyxBL95(3xF(V(J?Jy)x7AI(5}P61Zh&~ar{%E<TdvS0quX5Pez(6u?&2}Z}Q
z-N3;wQ7f`KN9VF1zc^mE<dE!UXt}%ZgTjBOgSU8s)u{v>V5;jfQ(5HP_6_F0g?r}f
zMgzpOiLZc)89Oh-bH3&}0~sqC0vg4WD@~3fF{|FQspnAZ-w*E9jf!bPUV0KK7J8d3
znx(2mI;DXKA3U-&Jc^_%o20|bHX~P7&0;?1UhH73c(kB^nirh(J+^LdUp$Dp+D>)X
zo0?E at r?{BB2s7v|M+#M?Gym2{#^*$5pi7F;`gfNVD*v%FIOGq2GHcHSP2%*VD3EqQ
z^ckWb$`B;Z2?Zk1HN at rq<w>`^n5NNZyo0gV(Wr-pO=5<r!2&$xN$_zd_%XViiqdzZ
zTsOw&%Hr9F{vb?xhnw4*Z|iAE>Lmv9B6r_2K0ItCtjU$S$(fX}8y8rn#--+7p)h}W
z*p0t+W*KU`^HWK47befQETqTs^WLm^G5CWv{u5~r0LbyyK7J1Iabg*Gh+1DS(Bp-G
zO=gksU(N4&-X++n)dGQ%O)MDWmp|Xb)xykLKz at U}0DYtOEXmYwN_i^0r%hz(R4s2(
zmYz#Gv?4RJvxzEN at T^>P|3Kag!NNlV5-KU*ewC6mq*3JAI?O895y$V~l7=cd5bkeB
zZ=ji`b$Nxt6cK8t$J^?e)_1PPU7<Ys@|`5hPj9C8m2%>|l<LRW&6nhbLU+zgd;U}l
zS!3HT3uZ9Sy-#5qhvPZua+>LLl_RMl0tPpdhOyI^KY5nls-a_Xk at gs0%%l(V5m$H{
z at AYJe4@ahYsDXq4yw-+bIXZtzx at Uq(LVWfH;)X?CV*si?ps&EJqdH(1R6QAz7{9r(
zUQEbdU_Gj0bt%}B&}sfamAI^_ev4dP*dQo45%1G;s0z((hExPW>Z{_~ru+%T9b|>O
zBq|$WG2ZKcShM1-V1z~aglykG<`E?X<tfOPTRwa4>wl>NNobY=1 at UcfFz0tQJ9yG-
ziggv6;uDi5pBlmjnLQ&|8^W1B4<=WLE>e}@_2=5ZOeQJHB`kwe9JP_;WaB3XPZgv6
zF4Hy25SJU5Yy1uKuwCQ at zB+y9lL}(WQUrqnT3!HaP6(<o!L~!;ex&$x7#*X<X+nTm
z&c<A!^|wyy+2=h7f(a?~;PhyQ3{1E9$ShJ~`B7g&2GLqE_yh$tHJomzahtB~hDkvM
z^0rh7oE<`8p}!~*6FNnx50)6c!}8h2vC=pCdqIB}O0+BzmJnxw=Pava2nz>uD9io5
z)Hc9gMAWd2;XOHV7i-r;!S){>{x0?x3z>l$1`g3}2ibKFkIeSG(!$srX}GqNsHtGB
zo3+v|q^1TC>LZVoV9O<;EPXsY6cnU7F#u~kZ&Smj{!g@&21GC-V~icxH7H=7ntFfG
zwpNFj<(~+C1S_YwD}NvXjudOR1s2~nTy#q#LMLwW9HkP;WxkI9OGlJ_4wT8gJruLU
zkm4UJ$W+cZk=@W#EacwDlaW^M&nK$T;d1o!8PZUxx)~Y>&wV%>%bOnu<M>Yqk!O2`
zZJ9%SC1Oj$6m-x+O<Xh3WKCYl(=kq?#m=#O-T&;xb@`inEJj3JrlAAX%X&e$=jdW5
zXz;m7MuxS-5b|^TOfHz5u2}n96gDlc&l3Xi!Z{zFZ3z4%a|3FVm3&SQv>^UP$z_5v
zP%j$}&kyH0$YR1d-;>1?b>f_qu23%@n6zZ}^NcsCNq9B=@*Y}}AJ?SbRBL-SO6qo_
zv2=@?AP$Ys<^~Bz9bR(B3(`kt3fjh8SvFm&iiflISeYwBZF at vUXAo_ZB7k|x4)Jl`
zrYQKJNN+#OA6?5M8;449ws(_?uQ$`a8-$5X^=@J%msO)2>T^n=Wz^~ve={kfF6ZR*
z8Pjb3l``breBU0D1`;Zd-J(SdoF~+$1chYc1~RP?gn8fA0!E61%bt2%_)cC*O}<^c
z$P(olQ(1Uh7X*vqwZbkgiHsbo;#`M~^a4<2YY)lD7rlkWd!GZ)`J=+K13CMDvh%{2
zI_TM)aI8$1FQGT(N_7F*yDcS`aQKbu9hikbmEkmV`Esb_)}VFW`;wzgQ*&^O=xCF%
zxr_j at qt)V7quhNAl44`)C;M<hWjc}kSm)P at Aqlnl8Wq9S!75v^ecj#H`nq#5p^|Bt
zpfuG=a)O%cIJ0}k-{pa<O_osU2Q7M>+s<yaOn3N+;g?FR#l6U#Uws<+cMod$R?pr+
zzleS7{<Q2-jfqx3ID4MEe^C0WwJmvD+wykN<cM+{@>2Hf;(|C9ET_=i_rv`%EE0nB
ztPwS_ui#@K`GYmrA2gc|m-u~sw|xzHd*Z@!E&`J{y~&ftY1<O~*$sXii|6hRMl^vL
z4DAlnleDlUkvE=w`CsC8vMW083OrK#DXo&Ur?~-iWID!hCUrPN({IOH->P-W7ZZIu
z#JMcWZPGAnWsQ!NE1RY=!jpQLf-sZki2U$-TFEqVl<6Anh9D~D(QoAwRhUcX6orJO
z6>Bo|AKnuw5<ML}A6;I(B4Z>%pOYLXEKR{9V|74*>2mrE1iMfw>?+-jh$9Or2CTvh
zWJFv1Q@#?4VU_PXJbZMaV}UZ)!vjgAJ*IZ<IrPd at WF7bFL6fs^QzEC8UHMg=h%)!r
znEWjFtiNL$0%}rd$5?Xf5Bw%&lA_}OGN3g<OINL3&hkbn>-vqZ=3Gm}QHhw%3rl2?
zd!KRYk*)V?(1{`g8xnoH1Ch$Yek6))0E%ooDH5<yx-b*|PojpQkd`5br+trof)Vos
zgOs-2!90>e_df|G{z(^9)bR%xpBf3+Oo3e^9ZgyPNr3_QM)jCXc52^Ovslei!xV{S
zwN@?&(&%2TtN%EaV)UAdU6U<`#kt^U(8z=&LI+;4K at 2f{S3AsX5!q`ARi`Q0KAxsp
zM4+5?eUIvOPu|6~{t=RVdelviD6L9Ze!<6pHd6-b)6a4Y5?VMnHKDjf>J~xS8zs`n
z(iops$UJjw_2&-&tjGQBbzk($Wgs0 at TRX*g_F%paNS`F*dkSDbD2PM$3(<zw0Uy<j
zY4mIDsy{##>hQ?OxA{(h=K$~y_#btk1IVkx(z+!pg>J at D1MSL_jODwgehzoR`rTTi
zhH_#5gO&K_6c6xm)9KHH*;!r1_~nkd?}_Zxj9j*m{;qDv>Srdz6IxUF58XBi&zvO4
zQZOA=m&^xgxt<hTf(+aczW!q|I&~L!6k8m`pG~QhOB-Kn`BT6L(HZvVTgMp%p_2F4
z8B!1Dt4gu@`>}k at 0^Uc<iR>P0BA{Qyw>Dk9v!{NqF{M3FP|+!@2k|M|mf8#@;Ke`I
zcWLta<|d^Sg4R2%E=xLlipuLs4b`|DvumMkEeOL*-5QNEj&Y}>h1DApy at x)_`&{wi
zP}kkPJrXvp3ILg~1;q7 at 2q4~;`>cQEDFYG(_?`k;ZXs+i22_&QI%jj%<usPC6!TS}
zEC;Q0q^Q*-;Bslo&hE^8 at 7v1fuKA11q-33ULYa&%&Uw)vaw4hM*cs^HZgJU78M`JX
zvpd9w-H2KVen)ieAf(GJE7^<HG6h7LtMZ2bo*-jd0}G*n^##5{p9F5xDHfkds*BJU
z$ILygRGjblG<>L8`GL4^)jVuFDUaJ{8?}#pTeXh53IAeNN28-dvT0CZ>>z?jww)4q
zlbvsoXB&?hWA&Kwml;{^d+scETh?~@+?1OL3X1fp-00#d>SPrRHVrIKAgYy9m9_j3
zuAPJstZaw;<O}a;V8B;*xal+hc`1I<@^Pr9nc_lzT(8(NhT~y5ituv-L3K%x`z)=L
zM4n&yPuEv867p7qi0-5Lvr*T6!n%zIY869MhLzh4IesH8VWX1dO;1QiNBTID(sUv2
zH}0UgCtV4yAyk^e4xOb9y_IH74^zBxZ9AZhp$N!p*9_Ojb0TN7PL|x4Q?-}^oQuvJ
zg#n8JwKyl0aI>w`)tF9r6fsqCOu-90mk0%b)Cnt#DjCx$r`_l$D?B;~+4zftCJ4=W
zg`$D=1{srpzdvkD|G&X$APY=4BsiFguO0_3z5_4=^zey2P6l*FNXXcl#H4hovj4=#
zhJUlf|Ju-st=YddH9kJRv}E_D@|(@lY*9?8;x`9PO_E5i@~5cDC^aCEvdl!ovlri(
zvTqt5R at z>f5Um8;hlME}71Ev`PesWEu}^&o8?R(xgNVEi8YU||_zsblG>nStviUPN
zR?EUB$9xx>8jRWXTZm0Iv(T0ZR0ts#<|WOeB?9G%__XHwsbU!lu`vTC!ayEOvuJ>u
zK+1gKu4_gP4*a^TtgOn)%H!kXs~+s9DU6)_{Bx1d=A<Ph+e!bdzsU(+FsVSH7ZhBG
zjJmFUt)I2lRNiel8llKxcyWD8blf9gGGuMig=Mnb_p`Kg&X<N!Tw*%fWKXVghdvZ1
z_2Dwj<TpiG)pF*(<ONC#<o5!@ML7w@{pr>w#CB^p!iw|iYMFnZUoBhWQ at Ara$K-Wp
zU3cwoj$Ioc)%|OEMXHQo9KDYR6%oO@>^d8CZP!qAu4HsX)S=B;%;ph9VqSCwk;KcC
z$7$vLE3A~2vaPFQ(cjK$%9)ccw=zp(UuV4#QEl1Bg6_5@!qZAU^77+vQ=C)sxyJ4+
zTN8=P+|HQ;KV6%??s~JJj*c#YxnU4LIprH4#M;`L&-rvP`7ad0;9q)63hZnQwp|bm
z^h%plJ+SYZDuM*#v679CIlVMH80-uHa{#5P>j`P%XC)n-xf1Oka&mIRX4&07k9n;7
z14Bb#K?);LzzO)%B8}5nTuv_BxL}ya2KP%Cj&%h+bpFje`;A#Ow{MG`o%Tunu!ipY
z6IW+ at az3YAX?L0|V}0A75(IEtve#o|-)9p&R*S{-3oM@>S_UI`gO7d?;f!W at OZcRZ
z at YcG_Ij`^9GP_RXzF<~lo;EZjfb!+={<Wl4+q11Lwp at 0RUuq8|*O={kwNG`fgy_9M
zL<+W8>$%DFz$!9bCsJ)uE7i)=z#lt#PdSN*@G8`D_G|`f*oTMk_a^pmzm9zP9zSVJ
zp~~re*jyYDQOzwN(aGVef{CLH$Gu**1!K}O{=uZ69FA_VyGREDg00_w{#096L)@n+
zu<ITXIda(lQ7FT}{V2q^D5tS+D)H9`3b50!=R5`Zbk at 4lb4012NhA3(v0^UmgA3C%
zR;Qj^K~6*l##QdSnGoDm-^u1RlkaAI;j+`ktHl5%fD;HKDPh#Yo1*Z7e+kwsr1{2{
z$PC7cnCioKpN4AwOy`>%t_pC)C{s*%gBo(a_j|NC+E))LO@&yVps=h=8u<pm<B^>r
zTgno%>xJ!~_of=oTCM84r)U-z6<u$<t^?w>Cp9&$H3}*#U+{Gv_dfYnb#rkDq@(Ww
z^aI6RYD>PV$TUK+(=`8MEHg5matT!YBXp$nWsAypfj~V>yaHv%fM0WSR_)(_;`J|O
z%p^i_gj}{`0yo(eff`P at HMh4u%`&}_b2-t%m{gxWH8%2t`R_kOJbBnmv+oq7)TS*V
zKSb7KvunF^+Xmn;3o|nVWn2z?e0;pU%k_>q#-?LOkH-F&H<61C&RfIV6|XU_z62CS
zDERuUe?+|m{-2v3u at +d{B!)gT5}!3U3NroTSP`pTp~st`@;L)-GHZ4NhEHvoe9oIa
zB!+KGLR3O8 at w2XFUiwzsFAI0^`&oq at u(^TpmRr1e*xoJ-ZT?IH>W77Ih7mmD>vd_T
zEWtB^!{M9+scC6ncZ}MufZXr3Uv$HTbxU4D$<K6S0}L at Z^{$D^mwT2yx2Q at uw)2aM
zc7XcyeNOApBmuYm7%?0q`^kJopsxNIyg}ZaX(gTRKFqfZSlaiyzx6b=@*vpcS at sF8
zozW=;q9?MlI+CMAbXHs6;LZQA#O*%57flZ5HHOhr>j3;1T#?&=+JuCJOrH~sdlS(u
zfWFGnau#QE1(ZKnKPy6d at wS73!XBDndkhzq<S^y8kwU%)w6+bAT0hNR at oNC#z at Nlt
zQ&C}5bQw-UPfJ=|UER+x(`PeNA=c6$uP8bA=xOwH@&D5w%WeIOR7FC<Mtg3~&(HLY
z8 at 8d}bsiFx2zOCw>E|>h$4{1$<WGHR(oNkrZ0fzvt)7lk#d9J7ej6HByxXHWYsz{L
zYuvR%AVv5PTXos*=Cw;Rk+CoSkpPm&ce7lZC(l-fb<OAujQlHylewO*%2Zk}Ft0dK
zu(RKo9;n$ILY`aI(_cbN9VAGi?pmN-w&d(}jw6{OFZYV-`2FB*COw!*X at i@?DW`x2
z=QT|=va;ydN5#H;z?k77F1%V`fTxLO;MZnuWd#pp)v9ml+|XD83M5>BHg`p}e%KSN
zloD%D8M4I!bWum`leoAz2QQT#`t*QQ0rxU_XUXy;LqF}j26-yV&Gpt`*69qtzaPt|
za42~LEYb8_OiWC$moK-Wh{goRX-pnUL%^l7w^Q3v-3h#X;oe31E|{2 at N}0l?Wx>gz
zV}2XQ`#^eBOQQ&?l47Rtq7=Fes98$ImrV=IiQ;p;kg)6?w7-InTyOT7I&hjGI%)M6
znjmt}%{btvSOU=86B7`9_4>T$n(!lRISmcsveO*Cs7ptMuTlg(^D at ki<d_A-$IY6?
z#x(2#=4NI96V(NP>&8&MF$?oK)Xhs5@&+o%=PRb6{dTx{f at 0rv@J=fsEiFRe7q*CC
z!9<N5Rq`jHzU}dxV<ylcdf<EcM7E9}zEV<B9?~j{%|PU_v2J83r#LE(00Z!J?Uw{2
zsrpTM)!D?TY;w39%+1Y>aKunZ!-j!?Iv^O96HS?od6!yx?X8igCtqW4Zl_{MvMle1
zb`j&a>}SQXqSVh&7+9)EG6~v)qEN9m1{gCXT{<){B5>HLm@}}ui8%EBw7=kwI^!BG
zYrFUQM9I8;z|349f~8q?P^RAm3*jaloFH9DgB=RE<U(-;kDj>TojM at 0)ip?t4HXO0
zP7Xr=@|s5D&VlWAA;+R#g%Oeq$ZMNMQtT>>3(5mB%6nF(onKHuJGE+(TrI<JuF5v@
z<<rooneXdl!YHa?Fea7?atxG^C-ybZy14>H{)&cmwqi;dw07d4CB2NXkmlMU++C-m
zm>V?HtZE=sU#921>(rK<)qsnMv8;0#<lzQHRm<5SjtJ7wiuQ3smaO;}UEU<wHR_2?
zB}n=1<Ttx*yG#}<zHaB2!D|a{s74W)uKQ7SDc^@<+o8t*nsog{BugFhXn4J!=kOhf
z|IXXUl{l<fEADK{18J)NqYmDIyI_j=nk2k8Ewec^vxAV${A}7Wv$H|w)jv8=;CvtQ
z^Zkk(pvR>X{b%A4Qv-Hepjh^o|3skS>Hmuc-?RW9Z(=Nrn1FYHE<b{Yzio`{!Caw<
z&^t7Co)yA4!$S%w1|g5yy@%b<kF>`mCK7`{N+96g7W5r)VnoXssDmF5f6_&?_0NEf
z3E03mGJ|b|#^3<vY>X%;9$=-0sOCpMc88HC&}E4)#rgj!yd9zet1P6_DZ+8Uj=*7@
zdfI-^cK)3O<tcDkBU1Cf|8(R;Mxb-AX>$K{DIPZP+=7hbcW58&WvvWA!T&$LSVeJh
zaZ5`}PEJ=c;|a7jB(2G1m$hbOM2TrAv!x=SK^gWQJuh_?dD96w*@v}q;EUOe-#a=a
zDd672VP5t%-QC@{x3?uFY^Ds-GBTDH7TKO33UL`E)YaA9+}xCuqPR at cOCb=*1TZP7
zsY!^7E682vc>4JGI5|}rZz_G8n4Clsp`q!Bj0HZPo}N$9u-jEq$G=2G1mlF1yT9RC
zC!fD~j!eT4-TxO2Ro>eXu+YJlBXsoiL_|bnS|6;et#LtuVeKkfTBO9p7Wh&U5?z5$
z(JNAu5))HngJgiLjKKqT;V(HBkquS0=H?p!CF;$aH;=j~6M#%w1Ncnnp0Z at WK3Z7?
zagjC!1tEiD%NrZXFS>hsJBtkZ7dT(O+Xn+r>F==0#EVDsXL|_6$Kk$!V?E3MzfsW=
b-2Q;{!goGRpvI5)3GjI at r6gG<ZWQ!CP87o#

diff --git a/doc/guides/prog_guide/img/sched_hier_per_port.svg b/doc/guides/prog_guide/img/sched_hier_per_port.svg
new file mode 100644
index 000000000..7e011a60e
--- /dev/null
+++ b/doc/guides/prog_guide/img/sched_hier_per_port.svg
@@ -0,0 +1,492 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<!-- Generated by Microsoft Visio, SVG Export sched_hier_per_port.svg Page-1 -->
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:ev="http://www.w3.org/2001/xml-events"
+		xmlns:v="http://schemas.microsoft.com/visio/2003/SVGExtensions/" width="6.25057in" height="7.26839in"
+		viewBox="0 0 450.041 523.324" xml:space="preserve" color-interpolation-filters="sRGB" class="st8">
+	<v:documentProperties v:langID="2057" v:metric="true" v:viewMarkup="false"/>
+
+	<style type="text/css">
+	<![CDATA[
+		.st1 {fill:#0070c0;stroke:#000000;stroke-linecap:round;stroke-linejoin:round;stroke-width:0.75}
+		.st2 {marker-end:url(#mrkr13-71);stroke:#000000;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.5}
+		.st3 {fill:#000000;fill-opacity:1;stroke:#000000;stroke-opacity:1;stroke-width:0.37313432835821}
+		.st4 {stroke:#000000;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.5}
+		.st5 {fill:none;stroke:none;stroke-linecap:round;stroke-linejoin:round;stroke-width:0.75}
+		.st6 {fill:#000000;font-family:Calibri;font-size:1.16666em}
+		.st7 {font-size:1em}
+		.st8 {fill:none;fill-rule:evenodd;font-size:12px;overflow:visible;stroke-linecap:square;stroke-miterlimit:3}
+	]]>
+	</style>
+
+	<defs id="Markers">
+		<g id="lend13">
+			<path d="M 3 1 L 0 0 L 3 -1 L 3 1 " style="stroke:none"/>
+		</g>
+		<marker id="mrkr13-71" class="st3" v:arrowType="13" v:arrowSize="2" v:setback="8.04" refX="-8.04" orient="auto"
+				markerUnits="strokeWidth" overflow="visible">
+			<use xlink:href="#lend13" transform="scale(-2.68,-2.68) "/>
+		</marker>
+	</defs>
+	<g v:mID="0" v:index="1" v:groupContext="foregroundPage">
+		<title>Page-1</title>
+		<v:pageProperties v:drawingScale="0.0393701" v:pageScale="0.0393701" v:drawingUnits="24" v:shadowOffsetX="8.50394"
+				v:shadowOffsetY="-8.50394"/>
+		<v:layer v:name="Connector" v:index="0"/>
+		<g id="group234-1" transform="translate(0.375,-12.7124)" v:mID="234" v:groupContext="group">
+			<title>Sheet.234</title>
+			<g id="shape1-2" v:mID="1" v:groupContext="shape" transform="translate(265.039,-113.796)">
+				<title>Sheet.1</title>
+				<rect x="0" y="507.885" width="19.2981" height="15.4385" class="st1"/>
+			</g>
+			<g id="shape2-4" v:mID="2" v:groupContext="shape" transform="translate(265.039,-98.3577)">
+				<title>Sheet.2</title>
+				<rect x="0" y="507.885" width="19.2981" height="15.4385" class="st1"/>
+			</g>
+			<g id="shape3-6" v:mID="3" v:groupContext="shape" transform="translate(265.039,-82.9192)">
+				<title>Sheet.3</title>
+				<rect x="0" y="507.885" width="19.2981" height="15.4385" class="st1"/>
+			</g>
+			<g id="shape4-8" v:mID="4" v:groupContext="shape" transform="translate(265.039,-67.4807)">
+				<title>Sheet.4</title>
+				<rect x="0" y="507.885" width="19.2981" height="15.4385" class="st1"/>
+			</g>
+			<g id="shape6-10" v:mID="6" v:groupContext="shape" transform="translate(288.197,-113.796)">
+				<title>Sheet.6</title>
+				<rect x="0" y="507.885" width="19.2981" height="15.4385" class="st1"/>
+			</g>
+			<g id="shape7-12" v:mID="7" v:groupContext="shape" transform="translate(288.197,-98.3577)">
+				<title>Sheet.7</title>
+				<rect x="0" y="507.885" width="19.2981" height="15.4385" class="st1"/>
+			</g>
+			<g id="shape8-14" v:mID="8" v:groupContext="shape" transform="translate(288.197,-82.9192)">
+				<title>Sheet.8</title>
+				<rect x="0" y="507.885" width="19.2981" height="15.4385" class="st1"/>
+			</g>
+			<g id="shape9-16" v:mID="9" v:groupContext="shape" transform="translate(288.197,-67.4807)">
+				<title>Sheet.9</title>
+				<rect x="0" y="507.885" width="19.2981" height="15.4385" class="st1"/>
+			</g>
+			<g id="shape10-18" v:mID="10" v:groupContext="shape" transform="translate(311.355,-113.796)">
+				<title>Sheet.10</title>
+				<rect x="0" y="507.885" width="19.2981" height="15.4385" class="st1"/>
+			</g>
+			<g id="shape11-20" v:mID="11" v:groupContext="shape" transform="translate(311.355,-98.3577)">
+				<title>Sheet.11</title>
+				<rect x="0" y="507.885" width="19.2981" height="15.4385" class="st1"/>
+			</g>
+			<g id="shape12-22" v:mID="12" v:groupContext="shape" transform="translate(311.355,-82.9192)">
+				<title>Sheet.12</title>
+				<rect x="0" y="507.885" width="19.2981" height="15.4385" class="st1"/>
+			</g>
+			<g id="shape13-24" v:mID="13" v:groupContext="shape" transform="translate(311.355,-67.4807)">
+				<title>Sheet.13</title>
+				<rect x="0" y="507.885" width="19.2981" height="15.4385" class="st1"/>
+			</g>
+			<g id="shape14-26" v:mID="14" v:groupContext="shape" transform="translate(334.513,-113.796)">
+				<title>Sheet.14</title>
+				<rect x="0" y="507.885" width="19.2981" height="15.4385" class="st1"/>
+			</g>
+			<g id="shape15-28" v:mID="15" v:groupContext="shape" transform="translate(334.513,-98.3577)">
+				<title>Sheet.15</title>
+				<rect x="0" y="507.885" width="19.2981" height="15.4385" class="st1"/>
+			</g>
+			<g id="shape16-30" v:mID="16" v:groupContext="shape" transform="translate(334.513,-82.9192)">
+				<title>Sheet.16</title>
+				<rect x="0" y="507.885" width="19.2981" height="15.4385" class="st1"/>
+			</g>
+			<g id="shape17-32" v:mID="17" v:groupContext="shape" transform="translate(334.513,-67.4807)">
+				<title>Sheet.17</title>
+				<rect x="0" y="507.885" width="19.2981" height="15.4385" class="st1"/>
+			</g>
+			<g id="shape26-34" v:mID="26" v:groupContext="shape" transform="translate(199.484,-113.968)">
+				<title>Sheet.26</title>
+				<rect x="0" y="507.713" width="19.5132" height="15.6106" class="st1"/>
+			</g>
+			<g id="shape27-36" v:mID="27" v:groupContext="shape" transform="translate(199.484,-98.3577)">
+				<title>Sheet.27</title>
+				<rect x="0" y="507.713" width="19.5132" height="15.6106" class="st1"/>
+			</g>
+			<g id="shape28-38" v:mID="28" v:groupContext="shape" transform="translate(199.484,-82.7471)">
+				<title>Sheet.28</title>
+				<rect x="0" y="507.713" width="19.5132" height="15.6106" class="st1"/>
+			</g>
+			<g id="shape29-40" v:mID="29" v:groupContext="shape" transform="translate(199.484,-67.1365)">
+				<title>Sheet.29</title>
+				<rect x="0" y="507.713" width="19.5132" height="15.6106" class="st1"/>
+			</g>
+			<g id="shape30-42" v:mID="30" v:groupContext="shape" transform="translate(68.9749,-115.97)">
+				<title>Sheet.30</title>
+				<rect x="0" y="508.004" width="19.1493" height="15.3195" class="st1"/>
+			</g>
+			<g id="shape31-44" v:mID="31" v:groupContext="shape" transform="translate(68.9749,-100.65)">
+				<title>Sheet.31</title>
+				<rect x="0" y="508.004" width="19.1493" height="15.3195" class="st1"/>
+			</g>
+			<g id="shape32-46" v:mID="32" v:groupContext="shape" transform="translate(68.9749,-85.3307)">
+				<title>Sheet.32</title>
+				<rect x="0" y="508.004" width="19.1493" height="15.3195" class="st1"/>
+			</g>
+			<g id="shape33-48" v:mID="33" v:groupContext="shape" transform="translate(68.9749,-70.0112)">
+				<title>Sheet.33</title>
+				<rect x="0" y="508.004" width="19.1493" height="15.3195" class="st1"/>
+			</g>
+			<g id="shape40-50" v:mID="40" v:groupContext="shape" transform="translate(67.8551,-198.425)">
+				<title>Sheet.40</title>
+				<ellipse cx="11.1684" cy="512.155" rx="11.1684" ry="11.1684" class="st1"/>
+			</g>
+			<g id="shape42-52" v:mID="42" v:groupContext="shape" transform="translate(198.153,-205.871)">
+				<title>Sheet.42</title>
+				<ellipse cx="11.1684" cy="512.155" rx="11.1684" ry="11.1684" class="st1"/>
+			</g>
+			<g id="shape44-54" v:mID="44" v:groupContext="shape" transform="translate(297.427,-205.871)">
+				<title>Sheet.44</title>
+				<ellipse cx="11.1684" cy="512.155" rx="11.1684" ry="11.1684" class="st1"/>
+			</g>
+			<g id="shape46-56" v:mID="46" v:groupContext="shape" transform="translate(170.852,-306.005)">
+				<title>Sheet.46</title>
+				<ellipse cx="11.1684" cy="512.155" rx="11.1684" ry="11.1684" class="st1"/>
+			</g>
+			<g id="shape47-58" v:mID="47" v:groupContext="shape" transform="translate(255.236,-388.69)">
+				<title>Sheet.47</title>
+				<ellipse cx="11.1684" cy="512.155" rx="11.1684" ry="11.1684" class="st1"/>
+			</g>
+			<g id="shape48-60" v:mID="48" v:groupContext="shape" transform="translate(341.169,-317.821)">
+				<title>Sheet.48</title>
+				<ellipse cx="11.1684" cy="512.155" rx="11.1684" ry="11.1684" class="st1"/>
+			</g>
+			<g id="shape49-62" v:mID="49" v:groupContext="shape" transform="translate(344.583,-470.722)">
+				<title>Sheet.49</title>
+				<ellipse cx="11.1684" cy="512.155" rx="11.1684" ry="11.1684" class="st1"/>
+			</g>
+			<g id="shape50-64" v:mID="50" v:groupContext="shape" transform="translate(426.955,-399.855)">
+				<title>Sheet.50</title>
+				<ellipse cx="11.1684" cy="512.155" rx="11.1684" ry="11.1684" class="st1"/>
+			</g>
+			<g id="shape51-66" v:mID="51" v:groupContext="shape" v:layerMember="0" transform="translate(86.747,-217.661)">
+				<title>Dynamic connector</title>
+				<path d="M0 523.32 L79.21 440.59" class="st2"/>
+			</g>
+			<g id="shape52-72" v:mID="52" v:groupContext="shape" v:layerMember="0" transform="translate(71.6902,-131.289)">
+				<title>Dynamic connector.52</title>
+				<path d="M6.9 523.32 L7.21 468.25" class="st2"/>
+			</g>
+			<g id="shape157-77" v:mID="157" v:groupContext="shape" v:layerMember="0" transform="translate(202.193,-129.579)">
+				<title>Dynamic connector.157</title>
+				<path d="M7.05 523.32 L7.11 459.09" class="st2"/>
+			</g>
+			<g id="shape158-82" v:mID="158" v:groupContext="shape" v:layerMember="0" transform="translate(206.384,-227.814)">
+				<title>Dynamic connector.158</title>
+				<path d="M0 523.32 L-18.25 456.38" class="st2"/>
+			</g>
+			<g id="shape159-87" v:mID="159" v:groupContext="shape" v:layerMember="0" transform="translate(299.837,-223.969)">
+				<title>Dynamic connector.159</title>
+				<path d="M0 523.32 L-99.6 444.53" class="st2"/>
+			</g>
+			<g id="shape160-92" v:mID="160" v:groupContext="shape" v:layerMember="0" transform="translate(295.944,-129.235)">
+				<title>Dynamic connector.160</title>
+				<path d="M2.77 523.32 L10.05 458.6" class="st2"/>
+			</g>
+			<g id="shape161-97" v:mID="161" v:groupContext="shape" v:layerMember="0" transform="translate(277.428,-129.235)">
+				<title>Dynamic connector.161</title>
+				<path d="M0 523.32 L23.4 457.41" class="st2"/>
+			</g>
+			<g id="shape162-102" v:mID="162" v:groupContext="shape" v:layerMember="0" transform="translate(322.104,-129.235)">
+				<title>Dynamic connector.162</title>
+				<path d="M-2.1 523.32 L-10.52 458.55" class="st2"/>
+			</g>
+			<g id="shape163-107" v:mID="163" v:groupContext="shape" v:layerMember="0" transform="translate(341.288,-129.235)">
+				<title>Dynamic connector.163</title>
+				<path d="M0 523.32 L-24.59 457.29" class="st2"/>
+			</g>
+			<g id="shape164-112" v:mID="164" v:groupContext="shape" v:layerMember="0" transform="translate(111.288,-84.3465)">
+				<title>Dynamic connector.164</title>
+				<path d="M0 516.63 L69.49 515.85" class="st4"/>
+			</g>
+			<g id="shape165-115" v:mID="165" v:groupContext="shape" v:layerMember="0" transform="translate(189.998,-324.99)">
+				<title>Dynamic connector.165</title>
+				<path d="M0 523.32 L59.82 464.71" class="st2"/>
+			</g>
+			<g id="shape166-120" v:mID="166" v:groupContext="shape" v:layerMember="0" transform="translate(343.721,-336.095)">
+				<title>Dynamic connector.166</title>
+				<path d="M0 523.32 L-59.4 474.34" class="st2"/>
+			</g>
+			<g id="shape167-125" v:mID="167" v:groupContext="shape" v:layerMember="0" transform="translate(274.631,-407.412)">
+				<title>Dynamic connector.167</title>
+				<path d="M0 523.32 L64.01 464.55" class="st2"/>
+			</g>
+			<g id="shape168-130" v:mID="168" v:groupContext="shape" v:layerMember="0" transform="translate(429.657,-418.308)">
+				<title>Dynamic connector.168</title>
+				<path d="M0 523.32 L-56.3 474.89" class="st2"/>
+			</g>
+			<g id="shape170-135" v:mID="170" v:groupContext="shape" v:layerMember="0" transform="translate(70.9299,-2.87469)">
+				<title>Dynamic connector.170</title>
+				<path d="M6.65 523.32 L7.36 468.25" class="st2"/>
+			</g>
+			<g id="shape171-140" v:mID="171" v:groupContext="shape" v:layerMember="0" transform="translate(201.964,1.13687E-13)">
+				<title>Dynamic connector.171</title>
+				<path d="M6.93 523.32 L7.19 468.25" class="st2"/>
+			</g>
+			<g id="shape172-145" v:mID="172" v:groupContext="shape" v:layerMember="0" transform="translate(267.581,-0.34415)">
+				<title>Dynamic connector.172</title>
+				<path d="M7.07 523.32 L7.1 468.25" class="st2"/>
+			</g>
+			<g id="shape173-150" v:mID="173" v:groupContext="shape" v:layerMember="0" transform="translate(290.626,-0.34415)">
+				<title>Dynamic connector.173</title>
+				<path d="M6.98 523.32 L7.16 468.25" class="st2"/>
+			</g>
+			<g id="shape174-155" v:mID="174" v:groupContext="shape" v:layerMember="0" transform="translate(328.373,-0.34415)">
+				<title>Dynamic connector.174</title>
+				<path d="M-6.86 523.32 L-7.23 468.25" class="st2"/>
+			</g>
+			<g id="shape175-160" v:mID="175" v:groupContext="shape" v:layerMember="0" transform="translate(336.683,-0.344153)">
+				<title>Dynamic connector.175</title>
+				<path d="M6.77 523.32 L7.29 468.25" class="st2"/>
+			</g>
+			<g id="shape176-165" v:mID="176" v:groupContext="shape" transform="translate(3.59712E-14,-85.0395)">
+				<title>Sheet.176</title>
+				<desc>Queue</desc>
+				<v:textBlock v:margins="rect(4,4,4,4)" v:tabSpace="42.5197"/>
+				<v:textRect cx="26.2205" cy="502.064" width="52.45" height="42.5197"/>
+				<rect x="0" y="480.804" width="52.4409" height="42.5197" class="st5"/>
+				<text x="7.19" y="506.26" class="st6" v:langID="2057"><v:paragraph v:horizAlign="1"/><v:tabList/>Queue</text>			</g>
+			<g id="shape177-168" v:mID="177" v:groupContext="shape" transform="translate(265.039,-113.796)">
+				<title>Sheet.177</title>
+				<rect x="0" y="507.885" width="19.2981" height="15.4385" class="st1"/>
+			</g>
+			<g id="shape178-170" v:mID="178" v:groupContext="shape" transform="translate(265.039,-98.3577)">
+				<title>Sheet.178</title>
+				<rect x="0" y="507.885" width="19.2981" height="15.4385" class="st1"/>
+			</g>
+			<g id="shape179-172" v:mID="179" v:groupContext="shape" transform="translate(265.039,-82.9192)">
+				<title>Sheet.179</title>
+				<rect x="0" y="507.885" width="19.2981" height="15.4385" class="st1"/>
+			</g>
+			<g id="shape180-174" v:mID="180" v:groupContext="shape" transform="translate(265.039,-67.4807)">
+				<title>Sheet.180</title>
+				<rect x="0" y="507.885" width="19.2981" height="15.4385" class="st1"/>
+			</g>
+			<g id="shape181-176" v:mID="181" v:groupContext="shape" transform="translate(288.197,-113.796)">
+				<title>Sheet.181</title>
+				<rect x="0" y="507.885" width="19.2981" height="15.4385" class="st1"/>
+			</g>
+			<g id="shape182-178" v:mID="182" v:groupContext="shape" transform="translate(288.197,-98.3577)">
+				<title>Sheet.182</title>
+				<rect x="0" y="507.885" width="19.2981" height="15.4385" class="st1"/>
+			</g>
+			<g id="shape183-180" v:mID="183" v:groupContext="shape" transform="translate(288.197,-82.9192)">
+				<title>Sheet.183</title>
+				<rect x="0" y="507.885" width="19.2981" height="15.4385" class="st1"/>
+			</g>
+			<g id="shape184-182" v:mID="184" v:groupContext="shape" transform="translate(288.197,-67.4807)">
+				<title>Sheet.184</title>
+				<rect x="0" y="507.885" width="19.2981" height="15.4385" class="st1"/>
+			</g>
+			<g id="shape185-184" v:mID="185" v:groupContext="shape" transform="translate(311.355,-113.796)">
+				<title>Sheet.185</title>
+				<rect x="0" y="507.885" width="19.2981" height="15.4385" class="st1"/>
+			</g>
+			<g id="shape186-186" v:mID="186" v:groupContext="shape" transform="translate(311.355,-98.3577)">
+				<title>Sheet.186</title>
+				<rect x="0" y="507.885" width="19.2981" height="15.4385" class="st1"/>
+			</g>
+			<g id="shape187-188" v:mID="187" v:groupContext="shape" transform="translate(311.355,-82.9192)">
+				<title>Sheet.187</title>
+				<rect x="0" y="507.885" width="19.2981" height="15.4385" class="st1"/>
+			</g>
+			<g id="shape188-190" v:mID="188" v:groupContext="shape" transform="translate(311.355,-67.4807)">
+				<title>Sheet.188</title>
+				<rect x="0" y="507.885" width="19.2981" height="15.4385" class="st1"/>
+			</g>
+			<g id="shape189-192" v:mID="189" v:groupContext="shape" transform="translate(334.513,-113.796)">
+				<title>Sheet.189</title>
+				<rect x="0" y="507.885" width="19.2981" height="15.4385" class="st1"/>
+			</g>
+			<g id="shape190-194" v:mID="190" v:groupContext="shape" transform="translate(334.513,-98.3577)">
+				<title>Sheet.190</title>
+				<rect x="0" y="507.885" width="19.2981" height="15.4385" class="st1"/>
+			</g>
+			<g id="shape191-196" v:mID="191" v:groupContext="shape" transform="translate(334.513,-82.9192)">
+				<title>Sheet.191</title>
+				<rect x="0" y="507.885" width="19.2981" height="15.4385" class="st1"/>
+			</g>
+			<g id="shape192-198" v:mID="192" v:groupContext="shape" transform="translate(334.513,-67.4807)">
+				<title>Sheet.192</title>
+				<rect x="0" y="507.885" width="19.2981" height="15.4385" class="st1"/>
+			</g>
+			<g id="shape193-200" v:mID="193" v:groupContext="shape" transform="translate(199.484,-113.968)">
+				<title>Sheet.193</title>
+				<rect x="0" y="507.713" width="19.5132" height="15.6106" class="st1"/>
+			</g>
+			<g id="shape194-202" v:mID="194" v:groupContext="shape" transform="translate(199.484,-98.3577)">
+				<title>Sheet.194</title>
+				<rect x="0" y="507.713" width="19.5132" height="15.6106" class="st1"/>
+			</g>
+			<g id="shape195-204" v:mID="195" v:groupContext="shape" transform="translate(199.484,-82.7471)">
+				<title>Sheet.195</title>
+				<rect x="0" y="507.713" width="19.5132" height="15.6106" class="st1"/>
+			</g>
+			<g id="shape196-206" v:mID="196" v:groupContext="shape" transform="translate(199.484,-67.1365)">
+				<title>Sheet.196</title>
+				<rect x="0" y="507.713" width="19.5132" height="15.6106" class="st1"/>
+			</g>
+			<g id="shape197-208" v:mID="197" v:groupContext="shape" transform="translate(68.9749,-115.97)">
+				<title>Sheet.197</title>
+				<rect x="0" y="508.004" width="19.1493" height="15.3195" class="st1"/>
+			</g>
+			<g id="shape198-210" v:mID="198" v:groupContext="shape" transform="translate(68.9749,-100.65)">
+				<title>Sheet.198</title>
+				<rect x="0" y="508.004" width="19.1493" height="15.3195" class="st1"/>
+			</g>
+			<g id="shape199-212" v:mID="199" v:groupContext="shape" transform="translate(68.9749,-85.3307)">
+				<title>Sheet.199</title>
+				<rect x="0" y="508.004" width="19.1493" height="15.3195" class="st1"/>
+			</g>
+			<g id="shape200-214" v:mID="200" v:groupContext="shape" transform="translate(68.9749,-70.0112)">
+				<title>Sheet.200</title>
+				<rect x="0" y="508.004" width="19.1493" height="15.3195" class="st1"/>
+			</g>
+			<g id="shape201-216" v:mID="201" v:groupContext="shape" transform="translate(67.8551,-198.425)">
+				<title>Sheet.201</title>
+				<ellipse cx="11.1684" cy="512.155" rx="11.1684" ry="11.1684" class="st1"/>
+			</g>
+			<g id="shape202-218" v:mID="202" v:groupContext="shape" transform="translate(198.153,-205.871)">
+				<title>Sheet.202</title>
+				<ellipse cx="11.1684" cy="512.155" rx="11.1684" ry="11.1684" class="st1"/>
+			</g>
+			<g id="shape203-220" v:mID="203" v:groupContext="shape" transform="translate(297.427,-205.871)">
+				<title>Sheet.203</title>
+				<ellipse cx="11.1684" cy="512.155" rx="11.1684" ry="11.1684" class="st1"/>
+			</g>
+			<g id="shape204-222" v:mID="204" v:groupContext="shape" transform="translate(170.852,-306.005)">
+				<title>Sheet.204</title>
+				<ellipse cx="11.1684" cy="512.155" rx="11.1684" ry="11.1684" class="st1"/>
+			</g>
+			<g id="shape205-224" v:mID="205" v:groupContext="shape" transform="translate(255.236,-388.69)">
+				<title>Sheet.205</title>
+				<ellipse cx="11.1684" cy="512.155" rx="11.1684" ry="11.1684" class="st1"/>
+			</g>
+			<g id="shape206-226" v:mID="206" v:groupContext="shape" transform="translate(341.169,-317.821)">
+				<title>Sheet.206</title>
+				<ellipse cx="11.1684" cy="512.155" rx="11.1684" ry="11.1684" class="st1"/>
+			</g>
+			<g id="shape207-228" v:mID="207" v:groupContext="shape" transform="translate(344.583,-470.722)">
+				<title>Sheet.207</title>
+				<ellipse cx="11.1684" cy="512.155" rx="11.1684" ry="11.1684" class="st1"/>
+			</g>
+			<g id="shape208-230" v:mID="208" v:groupContext="shape" transform="translate(426.955,-399.855)">
+				<title>Sheet.208</title>
+				<ellipse cx="11.1684" cy="512.155" rx="11.1684" ry="11.1684" class="st1"/>
+			</g>
+			<g id="shape209-232" v:mID="209" v:groupContext="shape" v:layerMember="0" transform="translate(86.747,-217.661)">
+				<title>Dynamic connector.209</title>
+				<path d="M0 523.32 L79.21 440.59" class="st2"/>
+			</g>
+			<g id="shape210-237" v:mID="210" v:groupContext="shape" v:layerMember="0" transform="translate(71.6902,-131.289)">
+				<title>Dynamic connector.210</title>
+				<path d="M6.9 523.32 L7.21 468.25" class="st2"/>
+			</g>
+			<g id="shape211-242" v:mID="211" v:groupContext="shape" v:layerMember="0" transform="translate(202.193,-129.579)">
+				<title>Dynamic connector.211</title>
+				<path d="M7.05 523.32 L7.11 459.09" class="st2"/>
+			</g>
+			<g id="shape212-247" v:mID="212" v:groupContext="shape" v:layerMember="0" transform="translate(206.384,-227.814)">
+				<title>Dynamic connector.212</title>
+				<path d="M0 523.32 L-18.25 456.38" class="st2"/>
+			</g>
+			<g id="shape213-252" v:mID="213" v:groupContext="shape" v:layerMember="0" transform="translate(299.837,-223.969)">
+				<title>Dynamic connector.213</title>
+				<path d="M0 523.32 L-99.6 444.53" class="st2"/>
+			</g>
+			<g id="shape214-257" v:mID="214" v:groupContext="shape" v:layerMember="0" transform="translate(295.944,-129.235)">
+				<title>Dynamic connector.214</title>
+				<path d="M2.77 523.32 L10.05 458.6" class="st2"/>
+			</g>
+			<g id="shape215-262" v:mID="215" v:groupContext="shape" v:layerMember="0" transform="translate(277.428,-129.235)">
+				<title>Dynamic connector.215</title>
+				<path d="M0 523.32 L23.4 457.41" class="st2"/>
+			</g>
+			<g id="shape216-267" v:mID="216" v:groupContext="shape" v:layerMember="0" transform="translate(322.104,-129.235)">
+				<title>Dynamic connector.216</title>
+				<path d="M-2.1 523.32 L-10.52 458.55" class="st2"/>
+			</g>
+			<g id="shape217-272" v:mID="217" v:groupContext="shape" v:layerMember="0" transform="translate(341.288,-129.235)">
+				<title>Dynamic connector.217</title>
+				<path d="M0 523.32 L-24.59 457.29" class="st2"/>
+			</g>
+			<g id="shape218-277" v:mID="218" v:groupContext="shape" v:layerMember="0" transform="translate(111.288,-84.3465)">
+				<title>Dynamic connector.218</title>
+				<path d="M0 516.63 L69.49 515.85" class="st4"/>
+			</g>
+			<g id="shape219-280" v:mID="219" v:groupContext="shape" v:layerMember="0" transform="translate(189.998,-324.99)">
+				<title>Dynamic connector.219</title>
+				<path d="M0 523.32 L59.82 464.71" class="st2"/>
+			</g>
+			<g id="shape220-285" v:mID="220" v:groupContext="shape" v:layerMember="0" transform="translate(343.721,-336.095)">
+				<title>Dynamic connector.220</title>
+				<path d="M0 523.32 L-59.4 474.34" class="st2"/>
+			</g>
+			<g id="shape221-290" v:mID="221" v:groupContext="shape" v:layerMember="0" transform="translate(274.631,-407.412)">
+				<title>Dynamic connector.221</title>
+				<path d="M0 523.32 L64.01 464.55" class="st2"/>
+			</g>
+			<g id="shape222-295" v:mID="222" v:groupContext="shape" v:layerMember="0" transform="translate(429.657,-418.308)">
+				<title>Dynamic connector.222</title>
+				<path d="M0 523.32 L-56.3 474.89" class="st2"/>
+			</g>
+			<g id="shape223-300" v:mID="223" v:groupContext="shape" v:layerMember="0" transform="translate(70.9299,-2.87469)">
+				<title>Dynamic connector.223</title>
+				<path d="M6.65 523.32 L7.36 468.25" class="st2"/>
+			</g>
+			<g id="shape224-305" v:mID="224" v:groupContext="shape" v:layerMember="0" transform="translate(201.964,1.13687E-13)">
+				<title>Dynamic connector.224</title>
+				<path d="M6.93 523.32 L7.19 468.25" class="st2"/>
+			</g>
+			<g id="shape225-310" v:mID="225" v:groupContext="shape" v:layerMember="0" transform="translate(267.581,-0.34415)">
+				<title>Dynamic connector.225</title>
+				<path d="M7.07 523.32 L7.1 468.25" class="st2"/>
+			</g>
+			<g id="shape226-315" v:mID="226" v:groupContext="shape" v:layerMember="0" transform="translate(290.626,-0.34415)">
+				<title>Dynamic connector.226</title>
+				<path d="M6.98 523.32 L7.16 468.25" class="st2"/>
+			</g>
+			<g id="shape227-320" v:mID="227" v:groupContext="shape" v:layerMember="0" transform="translate(328.373,-0.34415)">
+				<title>Dynamic connector.227</title>
+				<path d="M-6.86 523.32 L-7.23 468.25" class="st2"/>
+			</g>
+			<g id="shape228-325" v:mID="228" v:groupContext="shape" v:layerMember="0" transform="translate(336.683,-0.344153)">
+				<title>Dynamic connector.228</title>
+				<path d="M6.77 523.32 L7.29 468.25" class="st2"/>
+			</g>
+			<g id="shape230-330" v:mID="230" v:groupContext="shape" transform="translate(9.92126,-185.273)">
+				<title>Sheet.230</title>
+				<desc>Traffic Class</desc>
+				<v:textBlock v:margins="rect(4,4,4,4)" v:tabSpace="42.5197"/>
+				<v:textRect cx="26.2205" cy="499.003" width="52.45" height="48.6423"/>
+				<rect x="0" y="474.681" width="52.4409" height="48.6423" class="st5"/>
+				<text x="8.18" y="494.8" class="st6" v:langID="2057"><v:paragraph v:horizAlign="1"/><v:tabList/>Traffic<v:newlineChar/><tspan
+							x="12.05" dy="1.2em" class="st7">Class</tspan></text>			</g>
+			<g id="shape231-334" v:mID="231" v:groupContext="shape" transform="translate(113.386,-297.638)">
+				<title>Sheet.231</title>
+				<desc>Pipe</desc>
+				<v:textBlock v:margins="rect(4,4,4,4)" v:tabSpace="42.5197"/>
+				<v:textRect cx="26.2205" cy="499.003" width="52.45" height="48.6423"/>
+				<rect x="0" y="474.681" width="52.4409" height="48.6423" class="st5"/>
+				<text x="13.84" y="503.2" class="st6" v:langID="2057"><v:paragraph v:horizAlign="1"/><v:tabList/>Pipe</text>			</g>
+			<g id="shape232-337" v:mID="232" v:groupContext="shape" transform="translate(185.669,-382.677)">
+				<title>Sheet.232</title>
+				<desc>Subport</desc>
+				<v:textBlock v:margins="rect(4,4,4,4)" v:tabSpace="42.5197"/>
+				<v:textRect cx="32.5984" cy="499.003" width="65.2" height="48.6423"/>
+				<rect x="0" y="474.681" width="65.1969" height="48.6423" class="st5"/>
+				<text x="9.87" y="503.2" class="st6" v:langID="2057"><v:paragraph v:horizAlign="1"/><v:tabList/>Subport</text>			</g>
+			<g id="shape233-340" v:mID="233" v:groupContext="shape" transform="translate(284.882,-461.594)">
+				<title>Sheet.233</title>
+				<desc>Port</desc>
+				<v:textBlock v:margins="rect(4,4,4,4)" v:tabSpace="42.5197"/>
+				<v:textRect cx="32.5984" cy="499.003" width="65.2" height="48.6423"/>
+				<rect x="0" y="474.681" width="65.1969" height="48.6423" class="st5"/>
+				<text x="20.51" y="503.2" class="st6" v:langID="2057"><v:paragraph v:horizAlign="1"/><v:tabList/>Port</text>			</g>
+		</g>
+	</g>
+</svg>
diff --git a/doc/guides/prog_guide/qos_framework.rst b/doc/guides/prog_guide/qos_framework.rst
index a7527b21c..a15970945 100644
--- a/doc/guides/prog_guide/qos_framework.rst
+++ b/doc/guides/prog_guide/qos_framework.rst
@@ -171,7 +171,7 @@ The functionality of each hierarchical level is detailed in the following table.
    |   |                    |                            |     token bucket per pipe.                                    |
    |   |                    |                            |                                                               |
    +---+--------------------+----------------------------+---------------------------------------------------------------+
-   | 4 | Traffic Class (TC) | 4                          | #.  TCs of the same pipe handled in strict priority order.    |
+   | 4 | Traffic Class (TC) | 13                         | #.  TCs of the same pipe handled in strict priority order.    |
    |   |                    |                            |                                                               |
    |   |                    |                            | #.  Upper limit enforced per TC at the pipe level.            |
    |   |                    |                            |                                                               |
@@ -183,8 +183,13 @@ The functionality of each hierarchical level is detailed in the following table.
    |   |                    |                            |     adjusted value that is shared by all the subport pipes.   |
    |   |                    |                            |                                                               |
    +---+--------------------+----------------------------+---------------------------------------------------------------+
-   | 5 | Queue              | 4                          | #.  Queues of the same TC are serviced using Weighted Round   |
-   |   |                    |                            |     Robin (WRR) according to predefined weights.              |
+   | 5 | Queue              |  High priority TCs: 1,     | #.  All the high priority TCs (TC0, TC1,  ...,TC11) have      |
+   |   |                    |  Lowest priority TC: 4     |     exactly 1 queue, while the lowest priority TC (TC12),     |
+   |   |                    |                            |     called Best Effort (BE), has 4 queues.                    |
+   |   |                    |                            |                                                               |
+   |   |                    |                            | #.  Queues of the lowest priority TC (BE) are serviced using  |
+   |   |                    |                            |     Weighted Round Robin (WRR) according to predefined weights|
+   |   |                    |                            |     weights.                                                  |
    |   |                    |                            |                                                               |
    +---+--------------------+----------------------------+---------------------------------------------------------------+
 
@@ -730,10 +735,10 @@ Implementation of Strict Priority Scheduling
 
 Strict priority scheduling of traffic classes within the same pipe is implemented by the pipe dequeue state machine,
 which selects the queues in ascending order.
-Therefore, queues 0..3 (associated with TC 0, highest priority TC) are handled before
-queues 4..7 (TC 1, lower priority than TC 0),
-which are handled before queues 8..11 (TC 2),
-which are handled before queues 12..15 (TC 3, lowest priority TC).
+Therefore, queue 0 (associated with TC 0, highest priority TC) is handled before
+queue 1 (TC 1, lower priority than TC 0),
+which is handled before queue 2 (TC 2, lower priority than TC 1) and it conitnues until queues of all TCs except the
+lowest priority TC are handled. At last, queues 12..15 (best effort TC, lowest priority TC) are handled.
 
 Upper Limit Enforcement
 '''''''''''''''''''''''
@@ -753,14 +758,14 @@ as described in :numref:`table_qos_10` and :numref:`table_qos_11`.
    | # | Subport or pipe field | Unit  | Description                                                           |
    |   |                       |       |                                                                       |
    +===+=======================+=======+=======================================================================+
-   | 1 | tc_time               | Bytes | Time of the next update (upper limit refill) for the 4 TCs of the     |
+   | 1 | tc_time               | Bytes | Time of the next update (upper limit refill) for the TCs of the       |
    |   |                       |       | current subport / pipe.                                               |
    |   |                       |       |                                                                       |
    |   |                       |       | See  Section `Internal Time Reference`_ for the                       |
    |   |                       |       | explanation of why the time is maintained in byte units.              |
    |   |                       |       |                                                                       |
    +---+-----------------------+-------+-----------------------------------------------------------------------+
-   | 2 | tc_period             | Bytes | Time between two consecutive updates for the 4 TCs of the current     |
+   | 2 | tc_period             | Bytes | Time between two consecutive updates for the all TCs of the current   |
    |   |                       |       | subport / pipe. This is expected to be many times bigger than the     |
    |   |                       |       | typical value of the token bucket tb_period.                          |
    |   |                       |       |                                                                       |
@@ -815,7 +820,7 @@ as described in :numref:`table_qos_10` and :numref:`table_qos_11`.
 Weighted Round Robin (WRR)
 """"""""""""""""""""""""""
 
-The evolution of the WRR design solution from simple to complex is shown in :numref:`table_qos_12`.
+The evolution of the WRR design solution for the lowest priority traffic class (best effort TC) from simple to complex is shown in :numref:`table_qos_12`.
 
 .. _table_qos_12:
 
@@ -977,33 +982,33 @@ with the third approach selected for implementation.
    |     |                           |                                                                         |
    +-----+---------------------------+-------------------------------------------------------------------------+
 
-Typically, the subport TC oversubscription feature is enabled only for the lowest priority traffic class (TC 3),
+Typically, the subport TC oversubscription feature is enabled only for the lowest priority traffic class,
 which is typically used for best effort traffic,
 with the management plane preventing this condition from occurring for the other (higher priority) traffic classes.
 
-To ease implementation, it is also assumed that the upper limit for subport TC 3 is set to 100% of the subport rate,
-and that the upper limit for pipe TC 3 is set to 100% of pipe rate for all subport member pipes.
+To ease implementation, it is also assumed that the upper limit for subport best effort TC is set to 100% of the subport rate,
+and that the upper limit for pipe best effort TC is set to 100% of pipe rate for all subport member pipes.
 
 Implementation Overview
 '''''''''''''''''''''''
 
 The algorithm computes a watermark, which is periodically updated based on the current demand experienced by the subport member pipes,
-whose purpose is to limit the amount of traffic that each pipe is allowed to send for TC 3.
+whose purpose is to limit the amount of traffic that each pipe is allowed to send for best effort TC.
 The watermark is computed at the subport level at the beginning of each traffic class upper limit enforcement period and
 the same value is used by all the subport member pipes throughout the current enforcement period.
 illustrates how the watermark computed as subport level at the beginning of each period is propagated to all subport member pipes.
 
 At the beginning of the current enforcement period (which coincides with the end of the previous enforcement period),
-the value of the watermark is adjusted based on the amount of bandwidth allocated to TC 3 at the beginning of the previous period that
+the value of the watermark is adjusted based on the amount of bandwidth allocated to best effort TC at the beginning of the previous period that
 was not left unused by the subport member pipes at the end of the previous period.
 
-If there was subport TC 3 bandwidth left unused,
+If there was subport best effort TC bandwidth left unused,
 the value of the watermark for the current period is increased to encourage the subport member pipes to consume more bandwidth.
-Otherwise, the value of the watermark is decreased to enforce equality of bandwidth consumption among subport member pipes for TC 3.
+Otherwise, the value of the watermark is decreased to enforce equality of bandwidth consumption among subport member pipes for best effort TC.
 
 The increase or decrease in the watermark value is done in small increments,
 so several enforcement periods might be required to reach the equilibrium state.
-This state can change at any moment due to variations in the demand experienced by the subport member pipes for TC 3, for example,
+This state can change at any moment due to variations in the demand experienced by the subport member pipes for best effort TC, for example,
 as a result of demand increase (when the watermark needs to be lowered) or demand decrease (when the watermark needs to be increased).
 
 When demand is low, the watermark is set high to prevent it from impeding the subport member pipes from consuming more bandwidth.
@@ -1084,10 +1089,27 @@ The highest value for the watermark is picked as the highest rate configured for
    |     |                  |                                                                                  |
    |     |                  | tc3_cons = subport_tc3_credits_per_period - subport_tc3_credits;                 |
    |     |                  |                                                                                  |
-   |     |                  | tc3_cons_max = subport_tc3_credits_per_period - (tc0_cons + tc1_cons +           |
-   |     |                  | tc2_cons);                                                                       |
+   |     |                  | tc4_cons = subport_tc4_credits_per_period - subport_tc4_credits;                 |
+   |     |                  |                                                                                  |
+   |     |                  | tc5_cons = subport_tc5_credits_per_period - subport_tc5_credits;                 |
+   |     |                  |                                                                                  |
+   |     |                  | tc6_cons = subport_tc6_credits_per_period - subport_tc6_credits;                 |
+   |     |                  |                                                                                  |
+   |     |                  | tc7_cons = subport_tc7_credits_per_period - subport_tc7_credits;                 |
+   |     |                  |                                                                                  |
+   |     |                  | tc8_cons = subport_tc8_credits_per_period - subport_tc8_credits;                 |
    |     |                  |                                                                                  |
-   |     |                  | if(tc3_consumption > (tc3_consumption_max - MTU)){                               |
+   |     |                  | tc9_cons = subport_tc9_credits_per_period - subport_tc9_credits;                 |
+   |     |                  |                                                                                  |
+   |     |                  | tc10_cons = subport_tc10_credits_per_period - subport_tc10_credits;              |
+   |     |                  |                                                                                  |
+   |     |                  | tc11_cons = subport_tc11_credits_per_period - subport_tc11_credits;              |
+   |     |                  |                                                                                  |
+   |     |                  | tc_be_cons_max = subport_tc_be_credits_per_period - (tc0_cons + tc1_cons +       |
+   |     |                  | tc2_cons + tc3_cons + tc4_cons + tc5_cons + tc6_cons + tc7_cons + tc8_cons +     |
+   |     |                  | tc9_cons + tc10_cons + tc11_cons);                                               |
+   |     |                  |                                                                                  |
+   |     |                  | if(tc_be_consumption > (tc_be_consumption_max - MTU)){                           |
    |     |                  |                                                                                  |
    |     |                  |     wm -= wm >> 7;                                                               |
    |     |                  |                                                                                  |
@@ -1555,6 +1577,52 @@ A sample RED configuration is shown below. In this example, the queue size is 64
    tc 3 wred inv prob = 10 10 10
    tc 3 wred weight = 9 9 9
 
+   tc 4 wred min = 28 22 16
+   tc 4 wred max = 32 32 32
+   tc 4 wred inv prob = 10 10 10
+   tc 4 wred weight = 9 9 9
+
+   tc 5 wred min = 28 22 16
+   tc 5 wred max = 32 32 32
+   tc 5 wred inv prob = 10 10 10
+   tc 5 wred weight = 9 9 9
+
+   tc 6 wred min = 28 22 16
+   tc 6 wred max = 32 32 32
+   tc 6 wred inv prob = 10 10 10
+   tc 6 wred weight = 9 9 9
+
+   tc 7 wred min = 28 22 16
+   tc 7 wred max = 32 32 32
+   tc 7 wred inv prob = 10 10 10
+   tc 7 wred weight = 9 9 9
+
+   tc 8 wred min = 28 22 16
+   tc 8 wred max = 32 32 32
+   tc 8 wred inv prob = 10 10 10
+   tc 8 wred weight = 9 9 9
+
+   tc 9 wred min = 28 22 16
+   tc 9 wred max = 32 32 32
+   tc 9 wred inv prob = 10 10 10
+   tc 9 wred weight = 9 9 9
+
+
+   tc 10 wred min = 28 22 16
+   tc 10 wred max = 32 32 32
+   tc 10 wred inv prob = 10 10 10
+   tc 10 wred weight = 9 9 9
+
+   tc 11 wred min = 28 22 16
+   tc 11 wred max = 32 32 32
+   tc 11 wred inv prob = 10 10 10
+   tc 11 wred weight = 9 9 9
+
+   tc 12 wred min = 28 22 16
+   tc 12 wred max = 32 32 32
+   tc 12 wred inv prob = 10 10 10
+   tc 12 wred weight = 9 9 9
+
 With this configuration file, the RED configuration that applies to green,
 yellow and red packets in traffic class 0 is shown in :numref:`table_qos_18`.
 
-- 
2.21.0



More information about the dev mailing list