[llvm-branch-commits] [llvm] [BOLT] Added more details on heatmap docs. (PR #98162)

Paschalis Mpeis via llvm-branch-commits llvm-branch-commits at lists.llvm.org
Thu Jul 11 01:09:59 PDT 2024


https://github.com/paschalis-mpeis updated https://github.com/llvm/llvm-project/pull/98162

>From f209cca87cf7c53242a353a505e3bfe34688a1b2 Mon Sep 17 00:00:00 2001
From: Paschalis Mpeis <Paschalis.Mpeis at arm.com>
Date: Tue, 9 Jul 2024 08:52:51 +0100
Subject: [PATCH 1/2] [BOLT] Added more details on heatmap docs.

---
 bolt/docs/Heatmaps.md | 53 +++++++++++++++++++++++++++++++------------
 1 file changed, 39 insertions(+), 14 deletions(-)

diff --git a/bolt/docs/Heatmaps.md b/bolt/docs/Heatmaps.md
index e1b59d49ad102..c1a01839d6682 100644
--- a/bolt/docs/Heatmaps.md
+++ b/bolt/docs/Heatmaps.md
@@ -1,9 +1,9 @@
 # Code Heatmaps
 
 BOLT has gained the ability to print code heatmaps based on
-sampling-based LBR profiles generated by `perf`. The output is produced
-in colored ASCII to be displayed in a color-capable terminal. It looks
-something like this:
+sampling-based profiles generated by `perf`, either with `LBR` data or not.
+The output is produced in colored ASCII to be displayed in a color-capable
+terminal. It looks something like this:
 
 ![](./Heatmap.png)
 
@@ -32,17 +32,7 @@ $ llvm-bolt-heatmap -p perf.data <executable>
 ```
 
 By default the heatmap will be dumped to *stdout*. You can change it
-with `-o <heatmapfile>` option. Each character/block in the heatmap
-shows the execution data accumulated for corresponding 64 bytes of
-code. You can change this granularity with a `-block-size` option.
-E.g. set it to 4096 to see code usage grouped by 4K pages.
-Other useful options are:
-
-```bash
--line-size=<uint>   - number of entries per line (default 256)
--max-address=<uint> - maximum address considered valid for heatmap (default 4GB)
--print-mappings=<bool> - print mappings in legend, between characters/blocks and text sections (default false)
-```
+with `-o <heatmapfile>` option.
 
 If you prefer to look at the data in a browser (or would like to share
 it that way), then you can use an HTML conversion tool. E.g.:
@@ -50,3 +40,38 @@ it that way), then you can use an HTML conversion tool. E.g.:
 ```bash
 $ aha -b -f <heatmapfile> > <heatmapfile>.html
 ```
+
+---
+
+## Background on heatmaps:
+A heatmap is effectively a histogram that is rendered into a grid for better
+visualization.
+In theory we can generate a heatmap using any binary and a perf profile.
+
+Each block/character in the heatmap shows the execution data accumulated for
+corresponding 64 bytes of code. You can change this granularity with a
+`-block-size` option.
+E.g. set it to 4096 to see code usage grouped by 4K pages.
+
+
+When a block is shown as a dot, it means that no samples were found for that address.
+When it is shown as a letter, it indicates a captured sample on a particular text section of the binary. To show a mapping between letters and text sections in the legend, use `-print-mappings`. When a sampled address does not belong to any of the TextSegments, the characters 'o' or 'O' will be shown.
+
+The legend shows by default the ranges in the heatmap according to the number
+of samples per block.
+A color is assigned per range, except the first two ranges that distinguished by
+lower and upper case letters.
+
+Each consecutive line in the heatmap advances by the same amount,
+with the binary size covered by a line being dependent on the block size and the
+line size.
+An empty new line is inserted for bigger gaps between samples.
+
+
+Some useful options are:
+
+```
+-line-size=<uint>   - number of entries per line (default 256)
+-max-address=<uint> - maximum address considered valid for heatmap (default 4GB)
+-print-mappings     - print mappings in the legend, between characters/blocks and text sections (default false)
+```

>From 3c7b4df7bc9c5e0af1aba3d6fa95a91b98fca40b Mon Sep 17 00:00:00 2001
From: Paschalis Mpeis <Paschalis.Mpeis at arm.com>
Date: Thu, 11 Jul 2024 09:05:35 +0100
Subject: [PATCH 2/2] Added explanation for x axis.

---
 bolt/docs/HeatmapHeader.png | Bin 0 -> 76799 bytes
 bolt/docs/Heatmaps.md       |  29 +++++++++++++++++++++++------
 2 files changed, 23 insertions(+), 6 deletions(-)
 create mode 100644 bolt/docs/HeatmapHeader.png

diff --git a/bolt/docs/HeatmapHeader.png b/bolt/docs/HeatmapHeader.png
new file mode 100644
index 0000000000000000000000000000000000000000..a519dc6215d8cf844f78a7592760cc30738b1a14
GIT binary patch
literal 76799
zcmeFZWl$X5+9-;90)YU*2Z9qkxDD=Z!68_1g1bgY2yVgMEqGwC7%stG5?lux9Om at A
zTkBr-sW1E7Key^oH8V|jueEwTuKi9!P5vGZISvvM(mh2587(9vTofcE<Q6Op;0&@a
z!2s}WXeTYLp(rg4(r|OJv2(OWLSl}yG&g^)_=LH~!ou9VXON8r$IV+SBI1LVdGJtY
zFX(&cJ$f?2gh*UURFr at arAOvZS<k(qLLbPOO`@mj^18nbnrEPP*gBhv{+_vO at T!y=
z-L<fQgb8&^0$h<`tfBL at v$F)*3Nta~VaPNwxKZK3Pff5FenjSd3r?h(1kf(KIUlX$
z5cm`uWCRj=%#GgDj?BZ0ttd+ME;C&_4bKy`2PRtToBIXy5|nJ=YVB&p^_<I=%Non}
zz`Eyq?j%~pWGZcTZb)u?ZUk)tZ6<Aa?kh>;5(pBO`y;JTNA)+NZ>%uHFsMLt5nqrZ
zq9iRoP<vt3)Y4;MP{`-#>S5J<B*1u+Nfa{VE*VjZWXFMu at g{r+moSp>7j55pRH5MD
zG}hPk#i7nl;XOEf_!l1DZW<n5a5Wqb_rHR}gHyP<xR#!q3m)7<G9k1m4s#5Q27vwE
z`kA7QswxsIaEyh7hD?rxjz9tM5l5!@=dm0zGZN}w=K(amwL?Pt`#oyFFXAs2_#npo
z?H4uv4H72sA0hDZ$wB$Y-MA<@sQ)-dZUL?#Noq?gDgwXSmTuP8&h9T<Jhtq;puh=i
zR|NxiBqS0B#0ObXi~azZf67khna49#6=6#kCk_iMm*>_TK2ENPd5}bXgn>gRYYz*M
zkCUUbyReTK-CuVI1ILKdoOGbSZt-vsqkE>R0g`rcvj*{VaB*<aiQ|AkAW=6f8(}RO
zxxWtw{u85n;o;#b%*pBP?akrM%i-c?%gHSyB*e+Z!^y+L4&1 at +?(6Jf;lu9i{`hZ`
z{9_&&Yj;aGJ68`o7iSP+UW?~0o*rU!bclui`S-WywDz(4*GkUrf8Q3cK~BUKPHqk^
z&VSAg3>8J371prxv34|&v2y}o2CO0e^eK<%U-$pNuKa7oe;fJiUn6-0xds1y=)Yb1
ze-71kw|0|uaRS!#5dRmx{yzBMFaCX?C?{g;{|1V`!TGPV0HDQjL^=P7G;tj0jN}sl
zkCb*Y>N>zLKxKdZEdbxlzz6XQd at A~$Vyu at VA%T$;Wh8Zckarg_eICkEbROzULEFxv
zL*9c}L3DdWadaRh%&k#>b(B$mDAhv^Z~^Q46GjlqXn|7osK_f98;)jUx7V*;5!Awc
zslV<I>@My at Ihr9e-b=phs<Rd9ufvc~us|Vy_*I?Q>41jPp*2j38Tp4pfyF`|fCxU4
zqWm}O<{*W3Rxc-X(LVmuN5%qyL0r|yXiq?~^maJCsgRHY#cW-zA|=kLTL}Hea7OG(
z_i2AKZ#O%rlZEb&W+#B5VWCC)4YSz33Nh*I?^o_iu4YIo7fAS6^Lu&+l_cx(qIcGe
zwC^iauD=c9jZ$_&gN#N1M*5$BnIa>jgqnpiy_1$%_C=rdreV6keOTjidp?5N>~s5p
zUNuYU_xC85>W+Y46+Yfo9B0slhN+rA+5~WOoKXmPx##BE)dNek349ozR4D0AQ+Ja&
zCtx)+j$CWG<MMms?ECmy&rR}E$9=ZaQ5&8e2YooGuJ|N)zuQv!&-O$R at eJ71<H>Y+
zX^<3Jp6qda&DfMuh7a~?X?FI>&I~x3YG&tT8k>+Y4mm$4(dUrpooFEI!mM5#?uME$
zEFa~64!*x&O_vSOP8?L|R|El89eBGwRW+n~aU{C3-1_=}!};t&aqaTRx01goaI|E<
z)@h8jDbVguPz0<I+VdC;a$WW15F|wVs+zM5VJNijwy+6a8YZJHPag7uK&Ot|9%lwH
zrk}1w7Wd})S}vRxBLC?&Vi4QdXkJzzz!C`MS#wYtyv!W9WsKfsofCln_F5_(wMq=l
z59Zl3n&eDjvGi}=Q%3zmR+FJdU}o6;OB{&68O6GPDxMrBl6E7;Mj&XtjmPt1Kx at o<
z=M6EBugb8i$bGL at e<%Vt)c`spwe8P(;A4jZh>@p$)Q|oM3ZYm;AOgX!CB7guI<-y{
zkZadK^Xg!eM69L!X>VxY+#qt?1Hs=}q}14dHtoSfU|LbW8B&xunND4h>%0%P^?2e0
zp_tqg_rx22zSzfaZwUd&^d at v!{F%%oPy!$-jV<SmW{QriAKFP)w;I0~zA=X%-1S|&
z)?zRQ4P{RD*`Lwd@&qA>;C#ZbUC<Csihh}u;F-&G#UK*PxwE2>?{&_H%_XJ%#Wq=x
zYlO_!pP>l6ih%Et7!&0K6blkpQmhK^-L*9a^(@gE3Aw&;GOM2-3vB}bMgi*n6u5t=
zKnQ%%0eRUvd{6#Or#r3>4%+>8ZIsaP$WPIKL`a?Gv|!Ld`Jw2`M66dz07+ at Q93lHN
zgzIYo!}O2rR&pL3JkhA#-Owt2={;t*{mf;iH7IrN-l%mCW8hoPr+ev>>`8Vj0rUT-
z{Q3_8aKmmSs!K9VvEj9ZjvGwRE^<#`ub)&sLH4+-<^Pml-w`q;#AyfdUWo)A#h!bW
zvIhmJ8}D~mL at sJo$jFZITdSzg)LOjm57PNFH5US21qe>iO^k-}9?CDqWij(AtKO`s
zU6<Z4?4vO$qc`T=m_Fs^FYU&x3wj)?d&B*`3sqM}kCwlPb#pxVLxl~dCkEDv7w4uV
zL9rn2iRFfz-%n#2$&(j=%pPyZ&D1(K8w<j#=~a^r7oR*+QA(_`4-2`;5{&~SUT>pn
z`Pa)&jxm2kPDm&Z=mGJKCV9+-)ruF2udE+ucu!dI!^fHh at z$k;ZXP=w{0qw+`=-Db
zf5xYPUSLA#1%EX`I<&94AnP&@t>bczcmX&BkSqhBEAi7|Q-c=Q+TDdVAq6qEKjo$i
z1UFp|Kah_Af5wuDTxaOjE=tm|<LOxtX<FMZJa)UeTyvcf5Rv=?g9D+>B1i!Y{2ug`
z`9r;qfX>$^z>Ys+&mjMy=0Ql+2b{pz at 9D=8e+USKx%0{ZU}!F)TGapIndwY{u at M3r
z4<7s>egT<-RR?Hg3q~u<|KgctT7j_-T!tS1Av+?do4^LpE8kRl?*EZF`L~-Rd=OfG
zF+*PF&j<q{VnG9d;(nVNOZ8`J at Gpy$;1C!q-zpRn at rV2gz!v-wAolybv?70wA~5JT
zf>C_jsUQ52lKAW9P%c~oEJ_<GufKNiXJ6p&h_Q$3qICZSGgy!SOgQjr_s>!E|91wa
z>j1|Wu+ZD?qr@`?>M5qOwi#bR<1-}OrJ`x(I5&nUW3HJxAKc9|A at ZTmxLXUJEv^!>
z&pMn2?VOp$zm2)s-Fb31y at JOP2G6!wamE7_FJw+mP8Or~WSy!-mFHdWEvxaL`D|}6
zIRu+9<91N6pY1PVm#hchEns|Jqwy5KXA^HYQcfN}45Rc+a^dd{ZlcC0wM4(0>hh8S
z?$_M8Sal at 8qWjr?CD?106VbMRn2+gpcul65CYtp99mSGq at Woey!+m3u{UwM)wdH?s
z8UT<rOW75uu4NF46s3%PA;j91kwU+d>NF8HIP+Pen-tbG+WVA>C->5>J|>AYx%6a|
zqFQxNE`1+{zANpIyJEMSp4ZnZ9JHF8s=Af5QQvZz`<Q*Vlp`ob_gHp;47>Hhaf%vg
zHd+Ex=(XSboDOsX)~(&$)-9+H2Vf5CY(uqyK9rF>-`?ph2L`oPw4?E1^-Gu|s5^Ss
zlTI;~>mA-BSpN6OY=zY=?XAhi_r`+Wqop*&|KUM=(SH9pjmKukRqRSU9FP?A+htlw
zp-G}?%7{B;$L-r8oAAkIMMI&$2)dIV2nrFBVpN at z$yPUX+>SRL$t>_zq_Hab at EhcF
z;dy~u;6<w*#hAFAj`vKXUD90p(>tdL>Fg&}NEK`hSZa$9imlU!zJq22x~<MT)v19F
z`h$Z6QSKxnI)qUgF}_|y5CIAegC-{?Q at u@<zX}?{GHCE<oRbd{TM`-VwXL-?YxhZe
zk|r?eWJZ3s_+MVbMMFcWUT{}@!y(M<y)RKi^Dwm23y0*++dsVmC^6Y5O-QjEJCVgq
z+kO&irRM*;r>Zvan9~_stFV_DRUU3N+f-r3q1|=rHkX2N=kpWzT%hz4evi-dP3RwW
zvdz5z25inm$a?3R5u*rQuvMIrP*(<?Icg}7yNO;u$tK3i;PJ#Ddumg<1 at ZiblPX$N
ztUDv<a_4fUzJMAtyC{w&x>F~BbP$^AedG{UD>-n~K|V|*|L!iu1NK3P>BYQV{JR)6
zw1*vG!vzHi3ZrEy-{o_*_hMZee|Nmo(*hSDJWDNccFKo$awDe-fO1l~{^$ojz9>~F
zp(|a=%=twX$(!8IQ&D%8%0nrIPErW4u8*>qsPA-fLJtsnqE&W==Fa*5J+hM$QVw4J
zVBn?*{c^l_mCjug<M{0OF+dg%?j{Q#7{Clcux#m}J9SX#Pb>gz<m{Jp2k)^y<DgBx
zUA)T)JzzV^aQk>CyS|bEHXqA8f_W$0OAs-YabFH0BD7tUeUwm7Oh7#Q9<9D>bNL^8
zq6hZa0PyU^%qZFK1dj#6*Qf|{i~-X>Ja~vjdF_ggcAw*`@SQhTR{?BNz3<)~cc)8p
zAPP{KL=5>Hh at clCMOM`b-oCwy-a2s+?mPOITBAG3nywUBChp|juTKP6k>K9iY~{?Z
zg+Y#@Xjt;#PD=BFNekXg0rcQ?QQ%lhA&*l=%zu<Z;8g@|xJgJ*Qr)?sUkJ+fiL8}C
zqYLfaxmb)-6Hge7d-8V&^|S<s<W|AZi`;oOg)@sWay`oPKQeyAJc66|H{Rw;-$g5+
zRsbOPT{KVMg6Rnq5(QH~WE`an#g8%JzjH~MMZ^}@;`kg#jNT`eyqGQeu*G7;U*S3v
zqjV>H2qLZ#i`{NSJigO at 1&JaSQ&&BG4W=hNpytxAwHkJae(^6~RXX4gebr7jz&|`-
zJF$9MayK1^0~q at i(!)Uz at d1U5$A)xC@|fQ6WOM!C^txHIvBHRhbO_F-m{6E3fJ>4<
zSXiD0GVfqgx9XcV1>%imJwB|IM0X+xOAw3x1BFRiaN4(AM%NmJtkrmCQ#|b&uVIE}
zIP<28#gdC40~5zQ_IwD#-LUdOD72u$Z1MZl$ipZ!$yIa><R0;lxGf=jn`f&vD&!N=
zx6>`NPBi~Pk${e{3REbK+M%Ya&G$>j>cwhT4kk8clcVkw>R`|jz;BcnSwzuTp{~RV
zsjQjf*JY8bgYYVum<PN)?J+lX`pFy_PyD at I?rRO>+`VZTQ-pg0b^jJedzZaUFoHmT
zy<p7SPG!Ofl0oJ8Vih1HZ50dgcJ7~0-dMYY^>c2$@OgGOMDElT2%^O*2e4>CY~}xl
z;}8>?h5=(aku%@kNs)K4#J|pgDuDgG)s5ZzFT775Y+!5$ng=!ET_W^<e=hVB!T{5g
zY?S}kv;0qwmKgxqe@*z)SK+?^)>l?Q>^wuCq5j`L-(6QjQ-Ea7fiif5_P+qu|3&cK
zOnVp7|1X07fUy6+;o#5+5{3AuuU7|5z at r7jtSs7vDGqRx_+wkOo<qy4wfWSQ2Z4gs
zt1CY~kSXIlyj5t;^PPza1{}84k$lWkPZDEXASSBhw#otm;;=~%S;qPr%1PI*XA;~_
zdc>Pu_X~ESo)}ZG=}`iCf?f at 5;|?#``@3`0Wlj~dLb81x at sH1p)=y}}TRBCVDr;C@
z&m9NlgEik}gKFkZm+z%;W+nkS5FFD%Kd#UdGIxcp0U_1BV116BTvSLH%$yI1ZN`hG
z?49w}lf$zF>21|%aQAF9TRQYl9>oi}JNG8<-0RIT^-mef)`PbBuN7Qgdqej#nFIHK
zy>vSyqL24pWP4mXW*sl{F1~-yXliYH?YMR)W@&Bo2k);#f?ZT(2-u@~Q|t34eBctu
zOIi<SQ|viC0THC4)vg6dYZVTe-?xJ=I=QV}PV{*AP%1wp`WZ~2T{uY3GU33Xmf<5g
zwBMW1jc{lrx1T*w%;HLJjbn(jQXx|xWsH2R?;;u-%()O3UhI+z=k{v^e|W^b2D^UE
zU|9d+bm;1KmNkY(qPDtj*$|}p+bUkjfm$)QD=UFfl|{hWIH{j>xUV!griYl%8H~+J
zz-!~!dnNZPCu#T@#Phg?^2Qd*>o-z?e&XX%^rRWDD_<Ue4JtMlg3TDK95vM)l>&NJ
zc{KsAG9?r{l{$P9YZ&OIn18$Fwlb^hesAcQWYR%3O|;NTYejchdni+kmUQBrgh8WI
zInYKeog>m}AYNOmc<_ne{Ka^0 at VMZXW^*vy)LcH<80UKwso7D7flPe4LkjjdUmTzy
z-?c9mbwEvZr+8SfUKNK#bNj69<=Le81!OtM{3`8l|Edi(>sLt at ZJ1e$`{qB`5O**y
zaV6EM35GkVWU*FW-cK=n-W|O%O%J4m;@Thrn5C9$Gk^|~n2VssYOO^vH8s_03}7!c
zZcF{H^X2uIer*W}gR31WgY$(KC{kf7f)&NO$m3>B6i>EzY}`wT?dA$TkPkEy7DOk3
zkpoBeSCn7{S`A%5c)X$$1I{1;>uU3Y;n(`y3O4(nHEKh2*-kKba*6a_Z=c}rFVThv
zroXbMVDk#vYnUpKUrNnGedJ*v>XHH2uoLeeQV-8~FMG$c7*WRrQc^TI88alvd3#qp
z7y1}->p$(i`rLncphR+SwK{Vr4EDU?*}M0npJbsMVL!92^{xe1nj53uQzTuQd0y0-
zV#01I#<osQHahM(1SQUBV at 6~z5fyu}%9KsMU|D0GB&Jf?)5#J~S`eA+m4SIfe}!ME
z4eEdZpWx;1u7txn{#4cB3}L!9VV&Ttg-`cTIE}#_>N{r+CKy-z$>CSt?FZef$Q3La
zn{8TJ(t*i9^e0L=<SqWb;@GULaic-aX#Wmhsos<Dr_2em&%5zjL&ZA34ns?yEClHl
zRR}YB?;l at qb~2p9S+t8&(zZQ|!-uK*k+S9TP`OyD&`)F`_)5CTTGr*w*Vh#t!H#p+
zb=NI!?Klc8JAO<g6{;EZ%^s&&kIHx at f;>7 at s5XcIp)hR_1Lt#C7 at j96ABImQ9gp+H
z%IXyy_zbbn;V0LV)%xwOOn<hWk~84)PP8QM|AKb1^sRA0ZU)tMU4?=k6TbMMg0vi6
z_iJVupP?w}cTTqUBv{AIx$&IbkElhq%bLV$<6+npR9j-E8RmUqH)6$iyFp5<E-|p7
zbDBV|)oR7?uBdB2^F29SBqt~sw$vt%uZXp_D*eM9dlN|jitIknNIH}qKN3DCF%>k8
z6-vsUvs4VbYTy{_y6CIP5AN7}YXv7E?m1ic*J{@aR4izxfv{eRO&2S(>#L6Y5`YM%
zQSYl_wQi&AL1GfF(NQ=*i0aKaaAry5a}*TB3%*>LQ->bCuKT^v+%n(MZC*k3BUsXG
zwPLKKydP{2WGx-gt2&B!iUGjUHy at MWROl#s>+rWBsufC*XF}W*17{BRPYOjfNRODG
zW8h$;1#wruis{oyYEkt|%QVxNLG|;xmdc8q=*CV5!X)ur`kU!)_T$hOr*&r5xn#3V
zz8}xXh`j+*>0Gp2cO0bpnl&nHSEU2q6_uiKa^(&l`BFh7=V9#?jzj>5cT`N7-k#ZI
zf*QP?mtuYTh7XS;+p%p|LnhHsG2@=EArh}arb3O8FA%o1;e1+5%30J|f#vX_<f3=D
zGGGYmSRLrQDE^vP+)Kizx$2!^JENEV{ftn;%iR21bNN}}NY9?z8S<A-uP1Qyz__~S
z6LN&ogIFZ3z))j)*PDi^JjHL-f%Fcit)WTwTZ;=utO-rz{$7vZ5Wlt74`ic?C%Y;S
z9{>TH`SP5DD{GzSiAC$kCr|Y9F}*cX3#dCjV+P2csQ|l`cquFKq&kd;;v*G}SgU-I
z`ZeP<4L#0o9C-P_m#{y%nwCLH|6VQc%`Jt|U_tIuHtPHPa at hh7f^`&VA?I-TJDePj
zQ;XN2hAQ!n&2(2A)h%@{R{|EjEPWu_u#sd5i9mS8c|R&Id}iF+Sj_lzUsBv(!T7=e
zc#Rx{wVpt_eqDwW%~UA#Hv^k;_<AEAvapXubl+toPzQ55;3DMK!Ei7AD$R}r*1I)O
zQ8$r7_Fff~+?Qhvq>x!Ie-(ShXU+xbjtN^g*kUjeOslQbFF!gd3XfSY4}D`I5+smX
z3?t2K!byrv1G0=^uM`Iw9rOlMn#VAO_PXB_bL*V0?lv!-_-u3Qy!qO)4NH9 at YdGez
z7BjZ?7TV=A-?bfuO~jA{RK`3Fb)9`4>+)ErJ~(B<z&I-yFpZs(4qsgNaBy4+>MiPM
zOJ$1%4%EE2#zdwH5c1j8awmE<^lE=$3%8XrfRdC7H53uiOP}O)cl0u>(rjw$JFraO
zcAxbzo2fr#Di+r(KmROca*^jO;yx=3w&^`1QY}h^Y)gSvh{q3XzWiRl5qKH at uxOaZ
zUTF{eF~l&ccke<N19?fij(8wj%=q@&vNH8jDLAMX=0{t)@TokNLj$^c5Sq!;8q5|J
zy6}FKKntKoX;#^e6d)3D&>w_Rad^IjX9C*dU3<y|@jhdmY2UJK_S$ocO$aU%*XNBY
zi&{<iYFFsaH+M2C02Pmqlb}w9U2*giC80k{2}mVUOc_2_c=Pb(;AMQJttw63S9}<m
zP@~ReYt2LElU$P(sF)Fhb=k?^1JfBKl;MjW2LtaJ>Q+13_iR{?p4B{8-VcEG6tgmO
zm<D)iXR;azRO#^Ys(R1H5VPf#*R-h^ICenxha~(?Hn(9jGU)f_+B+)sc_G)e*GAq8
zrTQocW9F3gv4bO3L{;CzB*}|cIKT4*5#iXSHurusY~eF3L-(sw&m^mLkDp4DyC|3I
zZ==P!OVC8IWo)Hr#OhH^y)tufqeD9(-W4el6H(h)?}vQSg`I51WQPx$w4=tJwFTr5
zK1wRrnc~_+O6BVa;0!L==>RIf;vU(1eVVtwE(=J)i2n({OwZEtzukSHXIq!uVM%Zh
zesyNGrrtQr={>$AeRIK}+}Ns>YcH)B|Fm#Mt|MlE{?YV)_t#?}7<zr}<w#b8aI-6#
zbZII*H!R|XRT<qc-{Rl0_`~Pv1ze1AzvfEl(@1okHG`OGpV1NsqA7StF6$CS6cvHU
zMFK0ozq6(A*qo{hr4*^1+Is3iP;~zTFPY)QQ>K3wa at 85WZYO{)1V<OBrToaaT#?6D
z1@)w5lPXl-)-gClUl(P8&8MpIZe(pv>X&p$lBRzb*Rr3NdE6AkZ at Np}F+44Xy?=V!
z&r<O at 75d$HUSAS5`>lm(OR$FFY%W39_b`-l&y><JsGbOTW;D^&o2=r_rZ*sk7TGIx
zo{67-uW&YP8u*A_e;BM03P^^X?dSdwM(c3?S`vHY?oO#2aUSp4P7UZcRtiB36!^(E
zdZO>!`|}C($}G~|l~19x_~RcioYIqPt_LuL=b#7J<@7ah5UfCR!FsMpSMAjnj}<Sp
zV`SnrGF8T6sjTk>bX&GKNUyvnO)UH5C_8O0G_7{J*!`a8$bKS`^seAbS$L*O(j-6l
zaAAP<Xy-jN<5Dve`~oO2ydOmpXjX&>FlaB4$54s+siZ#ju1n3*$K<KEGfty$78Qk=
zj+iE72Z+a>zsxJAfM+Z99|re at Y71mEDo}F18Q4F`0^&&0_#FxhxpS*0);8#4EBbx`
z41n3+r84}eUJ5<TQTxlr;M~1fJTmu>ekh at trdmZ(n0+VbHZ5oY)sIA4Bl}-kQ?*W%
zeKViirQb#uJWpSDyO|}P5-FVIAW#kL7!&AN*VQiE&I?~78KUSv&o=3SeI;!$N~bXQ
zEWgiTe7^8(imEgT0Q6i_m0~coE8>-AC-*0fj+iGVPx(Ihe`rY;!9dwTn&guRhMrmx
zF{m+S`m1sQV5XT*L2i$d#dJ1o-gN9R31n14NjjHFL3fw$%`&0LQ~=Tw=0U at 4<55h)
z5po^yMGb7R3e%GfksBfP6nXpPun}pI-iiK=%xBL_hu;ClOD)riLA%u(M}v;9h&<9O
zIpCRoz8E>P2ErlNJg~~c>C0n9XsEl>l+T1M<W at YYr=2ERT?~luMf6q?L_9(93(>_q
z-v+88?a8V!o-ZV+vreT9J2Y?)?xV=fJ5lKFBrvG6OY4H7I7m4&^nx;1$KQRk$po8!
zTRxPJo<}c$v=HR<7kMgMr}eciS3PxFFhjRZ<{iw(XiVzxs`Q>p@?$tiOC$ePUL7cl
z*}rwPak^wZe=u~avQ!jLqlV&pM4CLbn4r=&6ua2qX`QezQu>%!4g`dh*Q4MCs`*+a
zuOtzrCZoZtF?k(7=iA)1Tk6Y7O#O#Q*S{SQXxfkcL_^WPZ7tO)TO7!MUoMgK4=66l
zutaVMrCPC!_WV3#8!RFnzF{+&)A52(be}ENuqqF7z=EE`w5k>HSu~5%EY5$;Y1X>+
zsx;A8Zv^WL`>H?PvmGB)YZDIo)yR1d>mPxACLTnJfGq2ENg!VI3b*|IeZ5dcGub_&
z`zteBPdeOnLaI3&fDG-TJKPJ>P0qlhIHq2kdg`*im%;~We(>aF{HlFL=V_|i(noQZ
zbuJ<A(^uSd1k-!Uy^FCz4$gL?Wz_~tg|)mKS_b3`Nu2ggnqN|BKCT1ic^O%nSIdr4
z8{yBDVBPj>Lyu1x9GIuKv`d5JWnJ*=0bvPaTr2Hf5%M4>ino(wWpB at 1*o7gFe>8x>
zpik6ndsF4PJ8I)^6hL-IiKFd1FW?lZ&iy}w*e3*+_XwOEeyHVQqjA7Gwzalbw%^!w
zPnxZDL!B(I^*nF|H at +)se_Vdi76dyIA}hL`Y-Wpwb}S7&qPseC_MV#HfdK`=NnfEU
z+#6TNN6kP9AYs!+me>Zxk*>STSkSNQ4jw;OOhgSTh#nCblzAr}Ckc>f&%qO!Jxf>0
zn2WP>+SI2-w&UWzu*5|GYwl6TTWJs-8cw^BmZ2A=4fXbw&||BK(HUo&Q%^owBc|-$
zqQHyacJ at D$A*-kyqI=V|hBhkOkAZY{&D8 at e$6{BA#(Dy|{p{gTQQ&^P<aYG_h4WQ%
z`7`~psTx&__Du+P?X|oSQqA1GCyN@&&B=Q0ExSu~s&e-o9|K--{pa@^V^d^>m-pb3
zT1CAtgoi%<G~&PB4|453UaS})C%_80TKBY at _~|v$OKwYjYda%lEyjA1<z#*cAq!sv
zJd3Yz$-JM`(&Shby!rT49a8c1%GN{e>Qjbpzo$c)=??>ne}5d&TVm#sLqBg}BQARy
z&&p@`ab3vX9<rnlU#=>*-VVeFVoR-Sa~^7P*iquBLl$}dA-h3S^@424O4nIy$HX_U
zmQC9cMOehsg3tYn(Q73I98c+2SxSeKgAQ(6zwIv0zSF{HTtnA*eK3P70ePP-?yJx$
zG7<avkWdN8PSRJm<g(Zu>A1;Smk0$O(Hvj-?GGF-L(CT>K?yi2erAJcadLwPc`osR
z1w8U58UhNN21-HN)e=;@;Fs(K5|Ym^&c}rF?u`}nR|I)im!D1F)GAr`v<7Td1WXJV
zi8I4eXM8^Ob$P~uIhcAxeQ|r|UMnlL;2AI^UEX&)+jnXXIIL(<ywaa(c8U`9JL$Be
zU`0Vk>9X_~l(0AKL|#N=MBf(VBp%L|x*V?=G~~1Rp=t1G(U(6wq;hd6S>}xZySd&*
zl at N<|@UJ%d<*#Gy3r0HTBWTUgSc_Qja)^HP6+H4GTt at t6fTW^BC5pvm;e~S9vVA0A
z0{3<kZ+|SBu;-8R+_q7B?;ncO2Mb&)?;rW*Z<UObHAz;^vX6dpZ`uihmtxgB_E9a8
zRD}x)*>B2W0Ax}XPV#=aO=5v)2YB$3ihd~_nohO3Ljfds0&X)6%==>jp+B&h*~X;s
zRi^jDdo>@A^%HJfEMIZi?hlQZa&gV}12ZNUB`UfjQ#&3&t=xOSd5wfrC6~J7)?RPV
zjCznwb|m#Xc1AxEw?E~|q<Utnd%AyJNDe=CcWgYV9a77LR-UcGTA>PBd}`Sm)(7qG
zS4GBcex^g2LKZeNpZqYO%bWz=;N|0OjPKm6k3BO44+~$sJBl}1_?gK3(yh73W_#Re
zPWQvtLR{N0XqYEvX#G}Q$>GLtn>VCl{r&lG at dwUJvu^zQyRvlyFa=%-xuP3<D7GQy
z)XNJiP|a42S}Nx2fY_>0B}F-;q|H1o4;nGXY1i*_<aNrZrWDz}Em{GIH2zfL=liz0
zV?S?dyF9fdxnF9)SY4VbaCXz6d%IYt`@`knW^k;Z)?8HX3{m2%LOs^6?L8~S0=S3F
zUpAvV%Rw4N0ji}29SK6??;b<?yztHTPhOWI%E1HwmbO2V=YRS8q1JLHzV%);Zf2G<
zpyU-YSWi6m-d$tbo}?r~sKs9d8y4p3RE~`9hJ!tr`as0lfrkw`6*lQbs%B`9%8K0l
z4wg-0#VZ7Hb at a%j*-8g;TQ)yvp$3riMCI{n$EJmV%`?9=%HH6I*Vhobh3+;lCQ=95
zrrjGV52-YzDkow-#}lVorVx|E8|#N2TKZnE*7UP4vOY7O^`Nqzz11}%2!xD#%naKn
z`L%pURI(NaUiX+ at 6#0uap*3`D(-rmw+Re(BNkYXS0?m64NpFCA_`)kMQT!7Op%T1v
zLDjeJ^bXMhZ;Au!;H8pT%6hp+K3QbE8}aK-m<sm9AzM}RI at +4s>5orB_<t}iKf(&o
zTA1cC9X$V;zoc at UhUZ*RTy^cdPGE4xhWzx4)9<q7Yx at R6<#(gHPGd2c(40xwM*5HA
z?(`53(!u1aQ2}fL=LK~_CdFT?IdJ~_&?%`!7OlxFu}tuCj>_S0CZKv=xCGaSIE-Jg
zV(V<fBGBmLviVzk5-Px|^XkO<@_gbsS%K~k$|Bor7kKj0*=M+DJcqCGMPnVi|G~Bi
zX#pI?xj^|N*Sl5C;49-mMp}aN8BXxc&EudjnWB{mHqwbG)6jPh!(2?H(CLz3_%eoP
zJ9Gwvs<mI<?d}v#oYlu$m#4zCneh8hu$OwIVHYvK4ZyZ|6RFakBV>h)<qnkU+2XL)
zxF1HSD520L2zy}5RMY3K<Lvg^`|}m55_RD~XtQUNb`Seu07misgNZL!Et`iOOh8$&
zbKC|j3 at Dlw7%K|L>AqiQa_liPBb9WyKDZxPl*TJw=<Jm#SPPk}t1hYPKp*H4a&QY4
zs&KBa^V=%gC1jSC;M?C_XkO>7+Y7Gj`aEh|8 at Nb44k?}2urz$gEnpgK&{T=t>9O(h
zYSPo7$T|9_z=EbD3g8skPDI^1wz-#5v at Isn!5E&>9YfuB#4xrN!`^s!yS%4o8bc*g
zbqyUe)cUMI#+M-XH09yt@!)pSu`0Nw|2|38Kv9)lfM#*jB}dA4MM=0*26t)oDyPQy
z-;wt6H)HHk(oXLjG!bid`BTwSwyoN3xif$Jjz)i8K461KlmF^KL at Cm1<<U%ALWU at H
z^MmBwDTi^;)KZ1R at yP4OPZnA%UboEUZ756J_5>gSDjZrjRyrl)dlTh7s8(FAQc2M}
zzD;<(g5$Xs*|MjSK13++v-n*%l0%9}jk$H%)6 at d!C#bHug$i#;33PhWtcoQI9R<Ko
z>8`ce)K#aut>FUB$+m<tI(ECo?Ay}L)DHOb&VF`1W(p62Pxmn<txs3mx4SZBbLXYU
z_ZGdU@#8rxy?iTb at 14HTSG6|x93lro)K6edFXIXnGS#T(A#7Ae0d!3+3lS~Mw4!yt
zh=LofQ}swA(<fQz at O3dX)eDynWaIU${ZF)0L((T$l-|g{P7<{?+?sLGGe0P+9VgvU
zqm%#%gL#!tTThXssdT0x4o(TV6A5*?vy`Zzo;k}2-Rku6`%SB#`x<kKnbmVp at ajsQ
zpbA5jz*}?qS(I0{E}g7!w$RB;`4S3Y<!N>fQ$cpp at j*fE=UvGs+b;R}OMqWB at gqd{
zv|Z2aCuss^jEN0TrUUNHt?Nm)7-NDgPtuH$ZIN#Qht$@G;~z?T{KjY~nC<o_5BE(1
zixt#}D{>;+e_3Q-?s_Y>VZfqln{|`TGcyfSf at 7$3#$*LH+Vl-JBXf{BFywE3lEuz?
zQ8?+Tmp(b-Wjw`xfpgTcq%9%j`P(&Cn5|0Z3KU*nLGTs4Z1r+=jsr?jG!a||UcNv>
z@%I}fz}i)0I&r!;Q9nB~elpwgL`z_GR}0GY&^8obNhi at QX*&%g6Wh5@&@2Xda>)Oa
zjq1 at uyF%3s3&u|x!4ed_75Qnu*6R7VrCv at Vhjt1ZSwfvXrD_;VsL<0I_BhFau!yd(
z>v~Ua2W7g!{cx}eF<QnP{1_GwW$LA|e{=7>YL4p0FPqZ`VvRg*=0-`OuskAFJWtgE
z)v366ox#z9?#~#(V=4=e{O3xuCs<o9)oKAuTk4718!Oooz;tH4$XI{~vH)3VV9Pk&
zxBRc8yun)?fv3y5*1n2^VeY2`+%PK6DzfxRf%&aG1m8o;Z0v;XCM$2haT7el#1Ype
zE8?~8Whhps;hPEeOx6<%D(rrN(kH_g<f$}BAcy_1Wb9L9b1rYr`gRhoJ!27X9(;cb
z%_lktcRe~@48o7$(QpmF<eRMN7JNs{R8{j6ieIcV|0QY%p6c+JY$6KZkMZ{n>q=`@
zs4*!@=)LfZ+-^8|)236lf!5N&LCoduS+?K3?Ux%B_FcWJtRf8 at 8)`HuTlVWO7yV_Q
z|9J0IMMd at qPJ^ujYPqc_j=bG3xAl0bn{`?0pi-7eD2#|kZOFQynPLM+X7gh*0He=z
zMLbaM8Z@@$7}$}Vy+0 at sw=*?wTaDczAJlM~s2Pa8E9TRFljH4trHTl6Q3`)b*bVn0
zp2E!xWGv+jf33Qr<hgN(zZCUyA#N6g0-)6|)~3HJDb&dxEN^=u6ukecd9zC5qqZ?_
zYkBP&pMyZp)BOwg{DHKSC at T$8^b at 4-!TOxc9l==Z-l}H<hGK)$fQP19Bu`Z^-e^bW
zX^{xAM_pbFxI*<m_%OsO?CitT?6zeLuKTWsDhf+KiT92SblgrZ;hd6S&v0~UItsgQ
zeh*7+v$9rYXDec!IJ4R2D1)7l-Opo$tOL?izFk#bxJ|)-R)dLErH_0Gl%VN#r_!F-
zN(9#ZmcJz%%1UaURq_EOvEMRR5sopHL~SJH{Mp+~TD=NEtvX407Spo#r6NIA*?ree
zK&zs6?SWJrzC=<Ndj~g4le4Mz%<*N9naI?P><QFKh>yW{BCS#-bI5SI&4gH7{R(%&
zZd_IA(so3oqTN=7a>S&{ti$naj1=M7*oR#vT&g##f<9%+TPs%4!N#x3Ij(N!pCojh
zXpFI9ELssQu(br3LMjt=$s9apI&9PN_U7iF7+uH at iMl8^iH~JPF6X9E72EC64L3OH
z%tipEcV~`-Sd>AHBNP6gnp!mVmI^A1C#a_(sq-xtX6ItyhcnuSeEC3qp7gG5{u0}1
z`EVFh^d8eyj>!+06cF#0wdEhPzDc85OIcfL*;jBP076OTVjLa*QyBhp4)$A at FgDhl
z^$GyP at Z!%TJwS!;c*)%2Q)=-~%0W6`%IrpM;y<(Ythcmq?*f at xv|~t-zfI+k at Y0Nb
zSno+mcp}C*KM7U6S`Co%*a}%D%RFC&q<&kS4Gx`}d|pbiFRooj-+t)DUH1iuoAsob
z1%;?%KXn;1<FRT)hsJ2vacAm=8t%VOxul-*|Jg)1*x!#v7Of#U^)Rl?EXWC;U_Q5Y
zqRLR5sb@*}W~Tbu_MVK{<B>Ik)bdKJ?MGM at b;>)Px|zi1AIVp6nf+7_#)h|*5izy0
zvEt~SR}UJ^n?uC)Zq0 at _ubbi1i<xuwlboJ`E6YnFyY!c5r{OWIN(OxXjU1P4ma939
z0a>S{WzQ<(TJ^`hoHoCY+|-&6DKwXMX`(9CKC~;)3s)nQM~5*f#n0;yVNvEhX2tci
zE4}vR)jo_#d+qaOe#C9q!p4!4Z)dBUct>djzdv2v at 6E;*k<-dVsDI6()_R3+fnxcF
z`%i)0O^TPyxroAU57QI5<s<?`BU>@cC^Fq8>KdX;usQaDpocn3XlL&6(Ky5nW}~He
zPi`}hb2Ns0d`R27zj1BINTcO^w#d&-=4W_)KZ$yhb!1V=R#%oFe at zA2`-hyIQARL6
z5 at D<=`KvO?S`kK-M4d%8y`lOY6_a2gJRc(}E+D^@AC7}FN!AKmsE?MsPu*0bVEGg#
z>#|&ut<tC)*ay*FzD;NKucYR}WA-yV+e;6Qb1BBx(*DL3LA6X652soZ;jb{LsQoUs
zl+qn5I$1tj{JC%ZS+%12aoU(9&n3#yk4V<X7KBN0TxPWXjgw2`9<57*lwUncZ`D24
zwg)FR;u&q6x|1h(f at DaWI78j+xr+U$<~EWg#-T^A;!GA!8?>YWgIT9*$;y8FH|A*h
zH&RA_ at WJuamygoj)m*8euzO6Z4y2wloabJefeV0u&n_PdX_iFiM&lgG?@mO1Osedb
zl&hO^s at h)`8JH68UANkD7ShbPQ!jqOZ7*yZxROymS|UrsVwe|Zm&U)S&tG}dt1Hky
z5tVk7-fNu8tK{jVE!3k*kNoHoL-t1KkdH5^ngdYWJrQ{6pR_ze>hE(+1qoD{U^||e
zjb=Z%!b^3jeY{mxRmoQB__{db(x5a9y!=UG4yX>TD^>+TH`Ew0)s_-X<Q<VywtBEA
zSzQ5v{$s7iy)>p=nFXG%dcQRCq^@|zISuwX4xIwFOC}7_Iminy4u*T?R%pYsN-AC^
z=AfYC5F-M5{7J%C&IROVUIY7&BqZrP#lDkZoh_~5x at n+0XgMMzIknjMdG^q9o7>Dh
z=${x){Tvum!#GzazJ|)`DiM>0PPbfFTQxS;0$pe`i29|TfI0lpQ{k)_4M(uud-FRp
z;4b4iTJ>T*^s7$9KAor*y77ia;P8)PGZQkZuwrNuod4rp00!fO50GaJo1CAq^rsA%
zUk}4QwOi&%wSe|T8>gjxb{>~g*QV-{zkK%XH_uH at phwp;kLLkAf13jQAC#oSv$(W4
z=keHRd%bdbwc_e<Zjn;+piHu7X8q$cDJC%YS+4i`K=flr`$qG|X)gD+3!T&Ny1uP%
zGgF2^cEmczg{ay0+i4qzk6C$T at PczrZ(7B$|NhCB^_!_A$%ZucwLNd8k3~O at yL#0G
zR$f&#M)i3vT&eJ3N1lAX{&ZUzJ}*P)x_F84gM<nrHT|UrRcI$N51mOXQyP*TmAQBT
zn9VbM2i7SEXSgA&Nm44xNnqXNsR(9k_Pb~eF6V<k2HMiHz5m|3wEP+us5*|O;LQDy
zR%>W&7GX`@5nPR7lST(1{mcUhJPLDqx51XZVq9!Kvdo>Ftci)}G+oPTsOza-*QNi^
z(Plz45snwT_ at CYQH}-uBVt>?A6B*Ih603pn;ZjreFmZf5T8F0gY<F?>r?gD)<_XzJ
zX6cwVWenLYtpX%TU+N*&E`C9Hg}-Ns99Q`_Tsd1qr%9U-=_o at TQneHGQlOS46)z7t
z3SNS%@$Iq+kFbFHXBT`3ML0wbbCzCjEM{x8*vM(bn_W8tJsyY|!^qDPuU$wz?M3~!
zKdMko^;>os6-PbMh?7#C8TUTNC)Bn!nE<T&pjtf>M|@L{Nn$Z;-zT2>tsME7O$k8h
zL8^7oE0rA8Db1tg7D*{mXtY_69UpPlM5HC?Q#(*qbb95?8N2zx_J??xRS(9+Q>{7~
zf`Oc3>vS&vgp0P;puO69hv)smE8Ctho6zT at jS#0~EGi9N<(n#_woS)FA{!TeJlk=o
zB`3^(tLlV|N8MVz&nXQXt&v6OQfvofN@*fZVU05_{a*2hJqDl)-CN%2-R1Xf#=?+N
zMpQMypzBv&`O5b8!xPT6!rPI0Rg1-_r<O@@6LggB7$RwsGgema{JF4Gqv$1u;Otgf
zz;)W!l?1tNw$8&QwJ8J~7W5Yi9xVhkk_mloTjLD#tG#U1V;iH?j#}Dr{209wERPRo
z;AMnaUJoO4sb!pxwqG&7BbA6N&E#wDpcFqZmd20sAgfi1JPlV}K<4{#I8WBN2FiTW
zLYN0O52g?+;xoLtB^)3>e?Ee|ZZ?jcOr;YAU(g{NUg=h+q^AwZs<C@>x%lf*0rh95
z<S^V#Byy at 337x@?!PgO0ZtLSC%L~u+QQqk`cJ;B&s11ptXNY<n5s69X6 at O?_qcF&k
z8s?uWI(FsLF5NS{P?u0i-eaW&AH?$+nI^r+O-~)sX&TfN;1RN+y0 at 6^X^WiMU>K9X
z&0~m;X9l#q09MRf1QuudA?~W4`BRoD^b_{=u}!$aR<l59c-)G8GFCaM*zJahYczn$
zz at 4;{Gw0o8`joWL64QkJqMMk?jy}SqhNW#;+sHFAu5K<w7wx6v#%+ra8=tl!IWa*6
zZfNHl$tV%bzi_DqzcN+|bfhqwfc^k7kxhHw^CXB$(i4x`E}UcQVkiXK7dAV}Nv-SB
zxwU|F-^7(iY-Y`Gpiue~5jHVa>m{O_!Sgf=(d(|x0qRGzpTrZe16)bR7?bJYs>KPD
z<kfsWmq;iPAflwlk-GJgf*ck7r2Z$ONLhFML<Ct<0Vw6 at 0TLysA_f7a?R~E<EK<wl
zByI5?2~;E`V1;(7(GOP~XpuQ-7Y#A{ZBvPLK9W||Ea>O7-!8tezodJw+Q|)GAFAA0
zud<?gn8yp>7HM{0_ZzcvP%SLN8DHyM+ylHM3U|ylC;V#<rUSiP!qK8g_T#UmL~p+X
znK^G0b`vv=djvtI<xyy at UB(tb>?r1@)v>X{P<T$a&Uyy`MSH!jWZ9*+E~!}CRkld5
zKI#NKO(n*6e7OO;^Q41z<2rSPbtQn0qwDPv at tB6SFq>Xp-pqTj6h)RL=zy3H=3Jbd
z-J)Chtf3~LNE~yUCs4{IA$Q5iHuC8v`1Z?+BXSbv8B`<H-f5=IB(weYMh)nOv-5L>
zSM`1L7||6_p0Mso)V{<sF(0}x2(4fj#?u?qPUa50xM^rpskIrlZC~2vyIE}Mlul;u
zrsyIm#YOH9&TyW?me at n_Yc=0|rE7CTLp;FO3CV4XLbpY{pg?G}D}}`gcTNP~z(+yv
z`eiiO9HP)e0;C~R6N*iR1xuUzrio+Y4mQ@@Cq7^*i#kcAhlga5TxOmrE6%9fPj{P<
zlsei#dTea;FI80gucFhk^hw2thMIWa&d#AA=846+fSa0*I4%VPFU2U-<%e$C&$^lL
zSDF=d9oW7Okk at Q2whZ}@Md-Kn8*nnEJU-PAy-F2Qb_R;d-q9<^O)3EKg6e at Z9`Inq
zN`?^cd+pbkCr2eyrkQU{2D~<gvox?pGrCWu+s2qbOD+oF^mk`ZHg<FwXa08L<8QND
z;F&oP;r%6ex!MCuR?7J~F<(-!13THryj|n~svHHrObBB=i>bz#k99X#$SL6+lF<Ef
zn;46$qZ?Y$rRgLE${if!COA(ck0BpzdTsO*2(c+{xtXP%$^vmgyc=f`qXJ3HBkx_I
zp^UwkNg$iD7XJOJ&9mPHz1pekZ at 1en-n39Zhs6W=e7l9-Q(pwy_;$QCLerrXJVC)u
z)fqqrwglSLNUtHxXt}1oUtKA*$kpig!@G9B>4#qMg-~V(HRoo9^Y!T3>R~wWCJxSG
zaUIbPAT%}X(w&SYV~9ZFrMc%DsZ1wXI5$-;kJX|s>O+JqwWCK^#9#co)nlKvoTW0_
zjoR|5&hb|zD(3s6LA(60&~Q4;^wOGWto%&%4ajEsZp^S6-(Q;4mV=Ztoec3uH%omX
zO*aE;i8H`-dkwKn!4@#&1ux9Xp{|KC3zla84V!5%a`eU^F*wA&k8O^W^yYGB=9hcQ
zOtgoW3-s1~V*KaKfI)CIikx0)=Y#jQp<b-vD-^5=`5gPT4StK#<1RNPDtx75CF!Z}
zwbUgqj%$VNw_8-*fF8&sMWN=+j<}>UzNB+(B8m^N4vzTLge$qgj~W at dL-jela$6PF
zUm}Obmjwqm>JQs%?bu1R!$h_|7|*!3(_Vg6qJy>In!2rWfJ(J&xhBvEXFY(}6i}3x
zSG%W=KV)OZsb89<Q|;6*%ICd}WN_SncFJGQA&61CKhtb#l7pL^+F!;+D++a-IaVG<
zZXBi!cD#^fEcsxxj}v-5#Dl)bLR%>^=d5#SdCXbsna>_E(Oj%BnQ>7dl_XbWH<MRd
z>(jo6l3d=dR|%Lg9>cBWVDq-OrhLarhXE|B2Qx;ap0m`=fpBiXE6L|0JwJIZZh}#Q
zcU at I<jkm_ZJ|Sk>iZ)s>ArSu+zMc+5N_xVY^VzKlOqs5_jAU2){q_d;ol9AAF?~M&
zVriv5)}2-d-i at NtXeV}CT)a+|>-@=!&zc`-aPa4^TkGMx*U^YRv*~Dj<Hwiif9Cww
zsaVt8;U at 5`e0_0U<z&ZYJoeP>rlViYwum>nQA0px)4{dny454v(H!qfFN at FXq2&@@
zq3z!sMh*u~6^*yfakW}ChL2%PTxq?ZJ6`T-B|Qji+U)#__AWl+mcl>@{is_P+TF4{
zeUyHE9_}<SYp=IIbmr+9m~Yc|U$WL4^Ca*R(6uacA+^sIBI*(-UZM!@!n at z4gL$ln
zSW<Q9YR|C~5N}jE;S;>MQ6ojcc47rW5I_MS&&;V4`;bIrN(DWQeu*VH&|Shh#}D6~
z?|sfEiDGaDMHFiqs(>7ecOLb$K&#n#hNZ)pP%bhnsa$ksA^vsO4G#J4Oz^Z1sqPBz
zMjKyQJ52C>Hq#$+pPMSX2Q*hq+hze_f}Q at w2R<x_HZ<6m%@5J)<2kBepy&lmX9WkG
zRURh&wv)tClfWXSB1d19x}kmE0(Ey!(ran`g;GGP3Vdr%Ik_b*G8A}H%AsO{`$bO^
zqI|W#LLVGTw@%-YE+iAA>pj~HG^RqduuU>8HEfosVKTOjpZrP<^9utEe<U|J-VRtC
z^}la+R&*;J$TRU*=i9TLIPnsG@$t7Q7 at zz;S<_cEi*3B<y|m;ce{bmLrOq&R#rVR+
zFP6z=j$$>dzry`ToBU0L_MUHlKgT9i9KLnm4gL7-GKf7GI%6-%eO6qt^jImSoYwb<
zSSuB*RrX=gd-bFP-t!9;GVwaO%SJl0p`pBGW)*uTAPlTmy&%`8TVXq#Mp!WN11GeT
z{~=1KNvoigCh*o7=1;~R3<T5YO3Y;dhe_9 at 0#Q-JNT8O7W8Z!O9cAa%)U>+vu%q}?
zb&MhM at sd}K^@+jF2Ktr+JmfDW#DgM|{;FP1J$3ecXEB~XoE<wvO at Z4<ibh=E?Zcn4
z9h3Gr$K!T9X~{ut?eRe4a?7T5C94?4Ga$&5nqd0((hdedAaWQ;>25tr6nd%SE#!HW
zt>HvNEV84rz;JDwZ*(!HlJs(dU*ui6`(XT at r`>#Qj9p7fSi9W4M)Xt2wsPi2$BIn9
zC;`cjG1QCt0xM7X>nbdWm}8k=@@!38R-_JYk9@=Av9J;tL4N&3dEV!+(04BM6g)si
zbk!I4Ef^hYv*me1eRzwRt-#OMul!X;QCAKMal75^aFYu38ku?KIr3%V8)m&`b~%mF
zEbDo1iZ*f?O+bOo)loJdyN~|?P>1M52l&Fl)~}p_e9})}bf_xG)iv&CB~T~x)<zkC
zx5ERh-C2fKd!T2LQ}Hw$(e8%mVdO&eF#h%hDo%#Q_YEyeatiK?bt_d(;ihuHsYRH>
zubyfel)6CXUR at Gk0o5n!i`uBfEt at Rbo~{iO$^uC*g^Po`LZS!zdw~R#aXjD-LT4N0
zy6*36*3u;HqqFL}a3qO0skVu!s(#5Yma6fy8}m$T)&2C at Vso@M%vfvejW6qpty3aU
zK^vK-uR=b>{3M1<!=oQILuxjM$|X>Bp;@F}ZzA&&5{gdYkz4`~wC^V*NCTgI!}RI{
zds at 8yZ3wnSnoJGJFUR`=yn`oE$Bs8Onn>OwZqG;$ve*;WFk2dwK&{oPL+pMk48F{k
zhB!gL^$pjoY6wWhKA6^&8TXeIC6jPSD5Zbws*xUB at c@gGkl`#4$ho-?#ghQJULa}I
zlmC_$GUB;5YET<+SRX6;st|w%WlQm#Hpulr3>abj{a84(Gb?buK`sU;PI$V<Vo<xm
zXEKy2&Y|6XRR*ep?DOY}qoJ6MJF~l7#_;_efRRIjmEETvWb?(TK!?Q-hIfFSciT3%
zHb*9He40Pn1_o?}k`TeU!JSAQy#W)eABind5JhKLn_h~Az2R9otHw|5!z~G;=cV*4
ze%ICd-JEOh%*^ws)#nUqDm|Jx_mDsO4FrvZVe44|wb<D at RZKs`E6gunF%sMWAvGS^
zs9!)Jc at wWwnCO%KQ%<`%&sPYO$s<F+|MTu#+Ygu=NyUU(wyq1^>qR!FA=6<J-{0r7
zF!74oyz-8h(F}Dh55hilM$;iE4~Dfz4k#mH+}Ug(pGlo-;*N(lIVCQYw&{EWRkqIT
z!%@LTv~p?09GC(s?XMo>I51GELV89Iz|zks^L2}L at vqZm!ORP{9GAz<fje at W-d!Y;
zX!hef%+?Z>*4tfWEIp4Rh+hH|liAahMIKfuWlSH+;LB|ORrNIR^L|x}=7waBOe!l-
zd&D_rInr8##>4#1f=Ewkbk$C!D8H*=k at rhDHP(+qu^-yYEyaP)a#cHG at G?IsS)(gj
zsGX%dd#;|3bX2--=L&ZZi6`h_%zd><-*+l6!6RXscZR3+O>#-1Q*GmFo{g&tA at XZL
zQ$0{A(j#oHw74RF+9$BEBe?>KWpbh2+7<aReqHSRm8^_M72<!7|F4c!4FhQ%+Q*+P
zfOuaQ&@2Jec{>Z&(E^J07y#Gp)?3BeRsW*-dy&ilD8~?*-!yj%VB{C|j)85hd5V?Q
zEz{vE9_#%qE3Iq$RPji!OnEm+*4PAM^JtO<l7PCQCs${;59-6wrvPE9UXIrgGe0m+
z$foD0m_nQWKsaZ9omE0<6Ag!yg*{2a#fIOovWSl{R<a=SOy+;F_nu)*Zrj?hB32Xx
z3(}=aR}>I1#Der9T{;SgbOb^t5m6Co(tD8JL3#~AQ91<aJ at gVvXdwYo-iNjJ`cC=w
zKJQuQdViijxwswz&m41<Im$i8RF2`PTRBl{mTH$Y^GLHG94i2)8UbyzTyQ+}&x*$L
zC<B#c>8bPF_4$b<;m>CWpFqMdA@^e)q<0b>6)rk(#}9?-ZGL8_>@wX}d|80}K({#+
zI}M;L0Ke at euV6cWtb-*qcW~X}ilPU;G2oXGWPjnKh+mH(x)wUbv*v<lE;7pea8;NX
zxvHvQF+ua;p+$1bE}7>t!F$nR0#GqYFrbUa_*Hu-S<XSWk}!OH-ZBD~TWmNU!M&wT
zy~j2VVV-D8QDa*ZNgfe%^JVq9sb(WJ at YKd_(2xzlov;R0k4p-0OHEp_xFFBkSFNnO
zs2lC;8QOOxUO{GwQtjbwKP3mne@{OBSvhJ!Ks^F1S-PJfQCD5xtgSM|TiW%H{*UhR
zSQudGf(8Q~&OFR_kVb#Gm{^|t8Hsm at 7K-mZEqTV+)vxs6Pt;qt1*oV-#+`V<xcUSH
z?^_}BbjbZB{sGs;8+FgMbGu$1R^}O)kebjtqv(RL at RO3cn(Pc%4T&O^+3m)&VPs|P
zLruns%Kf9At?&L3q@#%EJhuH4Ictt)HF=W;jMTSEPBY|%JPT|UuCm_JH$B7^i7C=y
z-%O2VROt=QK!G-Z?lDc)A at yqK!?9xOfaczN;Y<OLrAGFRLK)AU(u02tsi=^&QGp%!
z<LI1 at jIzIP%Wh0hC0of;^!252F4CwX%wsb#$eZW!Y{mv%gjv(c&6+n|&ROk2X-OVb
z2aamqXfI8f{c>wT<7%%0Vg1CNTd3pVOe^bxh<J^0y$)+h=G&CF#GTwVrZ?_E!uj(Z
zq5IgRra}*R{3A5Sy)L4Q$jpsOiRRqM$$IZ8h at xHC+g@4&guYO0)v!n4?2yp%Q=5`s
zJtP_+LD3_q6_u6KG7YZr>P|9A?=*OYah>w+t$gIVg=O3Hbcj4Q*<aw|0nGv00G1;L
zn9Gs$nLB8|vx*{m%o(5370UYEd!$Cc5{Ks%JkROYiaqw>77d1`VUz=pVs1JPA9k4S
zh+|BaQey8zoR-uzG}5!p=QZbj%eE6N{+8Pb>8X#u#p3GSSMDfS8>(AsOae_J65PRS
z^0!WkZ`6m!T+Q!K9-0=c`vE|xsgelbgollU^Vyd8vg(V|1&(uh?5>!FSqnrF!l>Hs
zl7QB@<f|&6wlTJw>*yh50C;t>g at A0C*Sjbv(Aup{b|7=S@;i67bE|sB`#<PdO)QxM
zIa-w`1^1Y;)R*a(-02FLTy4}honv+A;&(4HoNKfR=}wlO+<<~h$5bvf?xx%Fe?hm#
zfJTyc^zItF7D13AQA0vYb-2vgKYOum34?$*JA{3L>$37`GZa4DeJ9Z&eAAFIV{gh!
z#<)<_$4Di0C~^*%du4%_EHT0qyxof+=F&F!9Hi`Faj`^vXnwiLMw<%c(qK^gTidFj
zy!;KIS#WcIZ^DB`#JS0_p}jxTR8QJ-sdl1C-}d$I7vEMaKH6LplQ6Z;_}QT at MHO(W
ziuJA;RM!6svDyx5Vfigv3{x2!AvC at j&LLHlxvo1<Wr%Rc-Zcdp7A<bTW2+>6_7cQx
zH(v!WU7IpF@!G5=Vd!8I4m)zP<fTkJRhNC_?3DP<N*=#T%ubP+g?^Q(_nA^pX?VJa
z{t+Z-fdFcHo1SVRozUqgDlz%5c;MG~Z1hUl(cNEwW(x6Kbhh>BI`{2R<If&bZS5?W
zR({iSJe7B(fn2vRs7KeOsX at E&k&OUJ`O?4xg`RWU{5rcT-3et at b15Pj&W{_vir(<l
zG5kFhyT??anyN6Rw)@>5*3J<7eF(#=TplCtHz)RSb|oE|WnOy5Nx2>e7nCODK3c+$
zw8q>s6l9Y8?XlZZ9ad=7|5{w3&i~|xuYj4kd{f%pTh^F?X?k#<WZ8 at 5w;o4rwo%Kq
z$3Je$Pewa{JbRQA4?~WcXz5;zJw4884;mB<KcCk7{;qx{Kb=2pQ$R+Q^%vq{tXR at m
z?hsrqJ%UxQ!l+IN$LtwxLdGIxEacCIKSvA}p&z;5ZmCeIT=~uW=-tm87C at 1V!kNV4
z^X(rS582%C%r^NYv-4dsR&CewZqR29RtsEzrJi|5j6}@~Fa2R7&}P5yj0w=5WleP(
za+43h$ofm{M-9MCV!uj_DAW&cD|{*we14b`#Pl8LNd=~hpp&+3*lrh{3IYr?;4TV&
zK#N(*totf_NjXBuZ^XSSK2m8Fu13OI4y(TuvX|h8?fXsl!ZhnIE4}tLJuW}+us4}H
z1~gR<e+3Kq<v39bk%RM7Wc|O@>k}3GXs?@u&~xViQvrnz`F?iA_jZ0dSuKCQ<d$~f
zdx2|1o>xu7NfnyzXABDC<%6S at 86^s{L~}J*qk=KA$qoHk)*MGg^+fV`3 at d4Wef$=H
zJ8*4N1bjn4VNPn_s0SREGY=%6-YmbcB9(CrK?};gyL|AES&Hl>mI@^TmOh<vmxPYJ
zIX=K7wws>^60uP`f|egd54oC8T%%qWxW%*J8$J#KdX;!3FrN4L>oB>AJBVbuC>aZ@
zt%OAe at Qat;89B&-F^;qcZ%DrERlnfab#a>>Zn?mwyDUIJ`8okx%+;SBBoZ<PPhFdu
zjx0Lm=tFm?57c!p9lG1^CIVBC#9b7xn-&~r4)+&Fme$j7_5F!=A!pQ0$<I99G;fRz
z3GZ^}Jp at XtR_&vUe6?%eNe%rawuW_{@!bNCVjb+m4d)ERDEdo1%$S1Yd?D?|#(VmV
zCGOHWqWAF|FK94Q*NEr1zHsVjKz>`ny)R+#6Pu1;oiv+C&4wFRmNdog7zr&iSWBGs
zH{=Db2O00qn_ly$cdxyWpqkJgM+$xTI5`SPSeI<CX1zO at vPxYoI^(drAmkvqpl~}m
zjV%4ldP5^tCNL3RQ*l87>9hFQBD19*fSPtPLM9TKU)}rmeP#6}fA3gPPDmJcjb3Y)
zhk9qbr9{u0Ee2T)6DG+Qu|LD&`|fQYvD~`%X8%>RgbJECUWK#SA#AraD+KX^j#NJi
zSFab#R+9x8heD-+y56x*>osiDPkqPwP3g;=iQjHDS*t6lJ3q1cT|M=>DDK4z*>@aC
zy8AQcAS*hLx>F%~061WWp9ovD?+nUzl$xDv^j6Qwqv?ddd;GX*Id7_BC1^3*&w8Rq
ziUmed))%R;UZ#T%%UB#Y)?r9e0S77b1KBwM7?ox^3?fAZ^n}D--#DAB517YD*SzHW
zEcdET!&t|WI<GX at Zj7#c%R1#~<Z*+?mS|JKTtekklGn^q7=N5$w51px!g2M701#GS
z9>%>49Ol+!2V=e`g)C>l6aaCqlnb9%a~a`|ec}C9(=t{dwY%zj>YmRp!Al!=U7XC2
zkM)HUXOH>(EUz|6E3e8>4uCNy-u|3?ed<NFMzWz1gw??;5Q;h4+6pLML<+ at ELTViR
zTb8CXY+?tWq6xUt3w-W+jk*k<OPZp2%!u+iiGOkUcOnXM#@!%$cBCmvBuHeHUh3WH
z3y_sN`qoc1i{*g&OFGFYj}Ryn5Js!Y5tDaoQE*5?qWiT);O}`@6J{yvhG6;+U}B}!
zTTgBY=nSjDWmSL5O2#YjCpP}3u`g(JGh^I-2$N8CurGl1tqMk+bGT&EFZC!(**W==
z2in|t0q7ME2oq*H#_X)q0G9R7Y>h3|^r<D4xOMNIc`?J=kDx~P$5x;J2{vUCz$AyQ
zbn7 at W$3vIyEosP>JwF}L%<221ORq?1Xl+#V8(N$3<e387s~!3*;<9aTxsh!V))v at S
zjqmr&1Op!iE;VTn!i=U#f>&DlntGn>pV$)zq^kkSxe}1bIUlE*QcE`9YW3;L!F8p`
z$ew95t8>=?nlM)OKVHcV%XE3lAn_XHwJsja&K)P+bx`rKaP`Gfr;dc)SIggzZi>jz
zYMIwshS<dfG=(j01(=4LKHq1|+p(s}e^wP~II(vWMXB)Qcae;BKGDW;*OFu6Mj(B8
zj0A7S`^wkRJMsD=S=xpb{KhmH4xIJ^_FSB?@|^b7dBPo0{%EGaSxVEgjAx>6FJ#l?
zRSB_oxkY*zgq6nk;+vM`@bKM9e5__rV_;a=+s(xtgj}?Vv0el7oxF-gy2j5_&oqn*
zlZE1CP>$?NNkUF&$M-S9I==}Gu#`Ird)_?@Vq1G5#qxN;(%eN=Xw-NA at dLenMi$&_
z`XOuycfE}$C{k(V<&FlmoTsFgq$BZ(oKI=6x%i8*WbCtLEPt!UdCWV<-FWP7;k?XT
z6&~q{nzA1ejy;JmE?`Ib2d#v488;I+6B64C6otlsAfqbCdYjQV!fp#k2oRr7MiGI=
z(>(jZqBU|#%fT9_-DG3X(JNy2s`)2&E{TII*ko4ezzWCX6|8rUS(Cw(mvmg?xCByz
z%VkU5;&sJm?Q#nb%QmeF$u7o<nnSiMmHg+c(_d4Xi2S(>(OH|mGz)u76c#8{)~w|;
z50$L%b|HE<;lc9>9Mjf9uq8%TiBaaHivoYsc|~RMmo5fKtEBe!bHCBST?UO^_c34=
z{Vtm)Xg9(+-2o~dD&v~KZo_hAS%~S)%)|6}I9~(@k5GJ%L>z*$tKkLmd!4qoI<0F;
z;ifl*!3UHJ4}(g44x!_W<u20~k!vuS^I6aqNzAU>nfb#sIaG~<(VBYq&eM~r!o|@!
zxXPESs2yB<2^PU9b$6Gc4`Cwd?72N2Q%{ys_J<i)`863_8hOcyYw<|kg5~c{I=9(Z
z&Mfj_^CJ07 at q;+h7i=!{O_&Nbxq_o)H$xXuSgo~+8Va!{F8dQb`bH at 1zH@rO=CEf<
zxtj*aKW2>f<odSh at -kVakK!<T1nqb)74r-{>fM72O#L~)zews8e4#UB!?3+sXYA=B
zemG#3;rjp&fBAAgEC2AApE4$p_cf3TNPj&ZI`X3&pLeFBiABuKMsxe90^&RvTQKMj
z>zyUyE`x9;G<9{4B{FA5%m*W+bB`zqI+WV{j%1D-;P-v!*QR8pqTav10uTIVb?(bK
zKWi4M;AVs2_)P9Euc%Jzi7VBZU73^`GbknMUGGWd^!1<!-KpEnzp1BZH<{b?ypV1|
z=G>}PBrnZ+&|8%XFwZ6S`!dF~L#nz$U5ZVM!x#m+BA at y4rxiR}B$+YaLoM9&H_Hj|
z^wW{aa`x-0H6XX~A_gX^OPW^0ve3P67}7B1V}2dUC<%=7Q}y2Z%@_tYOiMd#SwIUa
z&%ReF7?!$FFh$BU$rW8#QO186%kI&ce0}F$3Pq9Y8$z$j7t^j<>IpG;US<_ubl{)P
zDpzT+1I+ihhOI?ST}jt?N!prfE#F63Zyt^uK3+{0RPCZAnJPD3c!Dn~SD8}#4dPq-
z`7z4cDO!awNNot3Mh7!rGV~j38fL?xOJRFkkr?mWHYE?vv>iDkZYGltP9>e7lA+(V
zof^pQ-FY at p502|h(hJcI9TlyMv3vue-`+2vtFIADIVuiiKBNV8P9*5(`9<7woUi}t
zzw=Yec4SX0s at kE*oy%v0uC>m|r9cK&U|x?(l-Anc94is6e-%lfdKzZ-WseR%Ty&`C
zl>fZtK11+(pe<N_CKb~luP}7iK11at06s~OrzB|5*%bMnY{GueokU~#3gB6<pt9qT
z6XbYd!Nhc5WJlCpzTUn*PzB}%#REI~a?f2W>$z>+asWTCC7(fg3xfo4`&-27r49!f
zsREu4HPfU)6N#oZ47)uY+o({P_k8x}!;>$^Ts_;<?60dz;{y3WZ^-p^p$pUOq}*Cx
z+5T<MfX`)zpl{8Pr$d+9YC1(Q3Xg_Eo<y$^WL;etQ750f(tJ6$p5xN^?4Eh$MQ3QT
z{L?x)iijEP*((t=_XJ%^)B|bpPPS~zY>#ZO`T6usk=nMORpK^7W^HX0F at x?X2_yD;
zuMOS<w4n;=vKqd*AQwEiym}WCBr_c?7lAjKNBFcAvWF*Cllywg{U;R0YHWghr<`W9
z4(|+fuljxbEk_4BY^-m^Cp>~Y;x!O8mr<-Pfa5gsvoNEzUcb?bJBwlt4kI8d=wyQg
zLWG667qBLy(<(KkZDQee+4iJts2Uz$ujjhAaxyr$L&$nC;&KoC91bT$YFSrjp;Urr
zB&xG(G4#71;$>@*r<}>lVutu-=YqBc(<pA6qN{p{`*A|BT-B!s{&#I_S5PBrWU50&
zI-k6q6^FXeuqTHIUYVTRV>G(OTE^`9soM!7ls!=GC3}PX8)b^+HW86O?5;*7JL{n*
zM9nw`gUM($;(PW*N2RVj`Vx$kgS~_LeTWI9ejqeUgheRz({z at enCH8hR$QTVM=84N
z<k0?JRZ(p%RVyx#xcwn4TvH_u(esx;S%4ltJ2P~5ZLGp(!2mb)k}}N}rDr-JSTNVc
zhB@?qUoVxB%aIeNKatx&+f2d8xaoUW_=7t<-c(A1xVEEC-?c^_vS-My)RjED1EI{H
z#FOfVgrKp(lH6Fckd(t|LSfGXu<#%n0?|fp8cG{%-WPyPn7U at x2kqfMqMuT}Dr=@7
z;c*#mpQd&3FkA#?FKZtA84bOokQ1WAJ!Fg4wic|dStAs}T-p}I9&&v{b}R~W(i2?m
zT!pEBs6C|X%0V{X0MU*=kOKYe_;%8{%Q?hmY_N9!Gs5}7>7x<6R?D-MpF#HCg86bY
zl~_sf*Y8Na9x4s5BB&8)*qfj|OxNel;)d>?nzO`RcZRKH%t!{$_F1d)NhPjtyde$W
z9?kb|rh}$FbX<2QCL9jkKJZZ4TJ|k}LR!|xsm}ult=i}?Vah|u6^p%3n>$^a=EhDr
z&$1q8H)Puy8_+RM)Hr<+bxiyCE8wlhuw7Qv0r%i#hXB5*hGGpKwP{PpSO1c1M=dR;
ztXvh$XFbp-j4g4Qqf--Ou%ot5MK|c90e9*fZ+bVLF=6`gV&bBcL`(r(iRa#p!C&8t
zb~+eoLSxx5AD7jJlAF8K(GbT<0&KTcqW=jUTEY3IoQw>)={M#Ho=(bN(x=!#=e#6P
z5sezK(`Dt0c)MA4w0V at ab(P0BiA19A$QrlPlW5F<--r1J?0r%#%}W+|6*16c46;Au
z3)w77+8wc+LoE1%maq_^p=YsSjZzg3+*?YERQ>C}=c4W))?StARk<lMW*xn++Ua7B
zdaKTXWzl?<IB;+aBJyhf5S^+|(HtJ&{*B1+LD6`~Wcgeptstb{O>KY;!74buf-C1k
z;%lX6(7DlXbMw~3WFi9u?w at 1`IOR*icC at -qut}WK?@!fT;TU~G>P*XjzFlrNm`r;T
zi(KWw<O`lBNJYIRofM0U5in4mYICqDS`EJ{NB$P(Xe#MN?Or}SuZft|xW4DGZQ75R
zz{o!?p&ZmF*w@=&^#${V3^p4Teuw5~TK#UscK39PP!|k)$+JU?0)AcBjCArml(ShB
z#It<hVW at X#yb^$mxWGt!ppF at GUJ6jHuG~N)t$#L)3I<b5%0))@3&N48Jo~;SI;o9&
z9 at t5)mZ49)!MRt~3rwOHBZhpR3MQvsGdw2 at ry#7_W5#O1xl(TAL#|js(?@WxlEj8K
zTXZqJ3OPa&wUi^h-5q%{R{?DLtF<MFxSxeh+D6fPzK2{cuc7N<4 at YTMW;N6N^ARyx
zpsUPJE_;J4K~_KZI$HEfO=u7*hI>uhSBuUBH)r at X@X+5M^{_NRmLCq~vQym_#X{ut
z_Ab5E>ss!J&phe`#_;%6m(8iYm7h_Sjny at O1-I=}aL0zNa&b+{uB3-b6`2cMQSi_6
zu_3gX_P#59s0Fz*7g-+`I?WixZ-pTo1u{z-(Lvg*#QF;6E$Z_9u4VohjRb|UXzo{y
z&53;V&4FfZs%n?JKTX>;7#T|!z1gb|s_MT|Rg*w*Ev87s_ at E@EBv;tkWUGpVmTOlq
zbg at NQm6+8`vML)-lZ95Ah@$R~wr=M(=HO<r#vRGvW;vO;_;ZtWxaihrA&@lNxhAG;
z&);b$ZF+8$LO<Pozn{?EXELOmfP*^<>J<#R(goN#4ItjDrQK6o>Pam4cuzw-B+>W$
zWd28jpHW!&l~hn}!=C#OWyofDv~6?{Q>Mc4k+p5y9(lLs!Nk|%-+?MS99G!L>J9?2
zMmOxI{DbXGH%2e>2u}LZp1IeYa-Mv)`_IqkKYtLP6|v(78<3^ouy>e1HX*`#h|_ny
zsT-Xic&ns}M4l6V%=N9JdM+z&v#M;V1(l~oG*MPsl3UiLd$Trp>j_%(=y5pvEK$Pr
zU1Ib(KilGrU!6+84n524yQZHS<TDqfabh~dsS}3pu^I8BTM4*IbG`nN-C&XZUXsoJ
z^y^`C$w$AmQia0-gvi}7ntNVV(aewLuV(^c!EN2~BXK`=Y>pe?$1vODYa(Xj%fzAB
zy_IhvuvBHuLAjS?A<rp1*!!!#zh%q!Q@&X+)b*&JI4W446>ohTVH{!}SL at e=7meTm
zS?xI$Dz<yC2OB6;Yb?b*peM{v7cUG?*tL_Y;9A_57ClCW(@rw>CUaK65|n)13kjlD
zy{wM4v87(|R_zHLHuHBR>Nin$k>Uyy_e&L~EOr=c_3A(-xdEEuRT>Fq_hBEI7oDRz
z)xA>XEnt$K%9YI9YxEF`5}HOC4y)3fQcWr?0hOB70V*Q0gq-mQeFVOj_DofYnpW=%
ziN02anv07ojPuvdl33oydvcs- at f&g6iu>lgD0psgbCt+fB<oTLavB%~f`vP_UcTbf
z{*aGa`^iI!t8Ch5HtE4<6G!+>-6xY9&yW^8-mUrmal*e9A~Nb+mm;s&d7)07_2|%&
z=%&3wmCyM#NU$^Wqt!qQ6<qhp1lxme$sAv@&OC at n|G3x93EV?<$A at y?-KF$1$3!rj
zz-vaW0vqgoiS?Ii4sz19u$q+ at r<5%qw24A|5eo)s=~qxZf(@|6pWB(eo=vUx7%Me@
zS`JwcrTxuuzTn_JID=YrA2_2cnja|xqv`6HSF}Pha~-}<y36^6nJSWgmB+k9P5Y)~
zMaq4DjeT~Nn83CxI`iq?7lFZ at S~oLQUVaJ-k@^@llt$XSj9?UXA&JTBdwAaZ>YEp?
zmu9~AY@&WXxFu*m59?A14)Ti<(7Dc?2sYj~iE_cbXO(Nz4Ck2NP16BmKJb0vwXgj7
zb3tO0gEx=El^x{zmgCENh0bZ()9w>pS3Fbe$?=aCSy^?rEv3p@(o;RFlww;VWkrz-
z?M#JolntqplTpnWk*i+P4TtMdivAzv3K{a~*3s4r->Ihqi*w#;v<@zBbzD)5opO at S
zlu5U675xg6j~DVRS_lt|e;?g8w7l%^s@;=#S;-zaB?b<!&20Y<hFvNJoCt0fcxcJ^
zH|7}rH3+ib2(Xux(9>Ri|ARl)z6qG|3w@*iV(R^WHG(pr^7>8s`^Dxb+5he}X~2IC
zxC#V(DOC47{^o5b$74os7N1t4)>t!m+x9=0g?jTe5Y6YF2s8b!Nc(5QOo3<r%i_Ny
zVgJkGe>uGPpZwzgjTQ$Ks^2tFW3MZ-^6r3{Y6W-srUGdQO(5XrN|qw=Hh4JD9-um|
z7(8^k<sI at S<*toJ*AB1SJDFEjx;}N}!zke9DQN*OQdqe&-s8Y#o_VYQZvG=b`Vrfj
zif*geJw4(Ujrz?>ge{Elf$#G8bS0Sh_{up)=Wz~b`uX?OQX6#0KI+F4$@@X(uc^{E
z)Q?)k?gjMihxfp>I<IwbewZs)@!RZn-FlrtY`|s}O+Y6Tf;`+K6DGa0T_PD;U-ZI3
z+%RCW<{&3GcP3BMLwW(-1%(bq7y{_iRIGL+8GATU6gAQ`&S9P#WVr6L-qEgotvo+&
zyE%EVF#7vRxigk_tZakBk{x3?$Cz{zN;u6hL%fvbw(3YQ9l!PL5|L`v#D at hMFL^=t
z6!M`={Pah3b{N%Av)Gs3?3!6m+sua&TQvXd>)C++n!ZvdM)gAUG82;kexyJQ0{2rF
zx9VQUJBX!##gN2%hI|o}`@hcDtoCO|*PtmTpQoPp-Y3VL4_urO;3lzmmCQ_^g~#NY
zJBVnl-X-Y$MmdvHoUQiS;jU!ADD=LN>09&HKM1pJ2Q0Ohw#bUan`EOj?w at q_jJeqa
z>Dcm;ptP!x0c~Q6is48LYW$b208}HpXl>SJW3KWlI9GcZw^iZs#)z3IQ3InVa_f@)
z^++`)E|P~VjQmc`yk19v_)S>@t}%v_ at F!ubmZriuw${!PR*%kOlIBLB5!MDSN2zow
z#WG at _H!t2iaG(9*ZP-MxN!-V|KuB1>ogM=}khu8c&Bns&73|9DU8_Cc2P9&gXcBM5
zt5DT9Kg6Mg1Bs%L)0JRZCYwcqv|D-MhqTnt3Rhx^^w`i3lt!zeG_*Hm-EP)~f4+zn
zY@^{(wN(-QMn635E`Ng&VXWi6P#Y>S+Ej$NZYAn09o!s05}nC;S)Zy{hBhv_)8Gv_
z*UjdNHFlGY;YzZBxJ|G}JQiI63`_FW*5FTZjh8m9ZCIM$`B9h}it+Vuiqvp~M`gL$
zux*$D*lF#C%`Q2JCOeqRu>4iLJ3am8j$YSN=NBm3LXi(SUwW1?NfJu1J=tr%=FxnV
zc5eI0dxE_`^fI`}G$n3sS+}#E9Xc$kp}OrRXl+Ud{+B$l#l|~Ds_<G)4xv(H#boJt
zl;9~$yfQj54Splv2X<U3*{*_j2v##Ho`bq<m+nc1SHaL42eqE|$|^F;avonl9NB}o
zB{qF0b5(xi&qoQk=_|+gx{;ix(z>jEF#0d1w5)xWJA3g(c0hfJx23>{lFi}m!}_I1
zL&k5yS?hQ$mxMRDIkdTpE)l;~@#K8Pza+|Uxk>S+ogPo4Q|uEWoK|0|I0cnseN;Nb
zcrOt}OE_?$M!YlcvyzjYS#F`<y8wL at eX#!aUw+x7>>5Kr=?#&y3O5~37oc?%nVY7E
zycqa3S!3 at M7))7**fjVKBhnW{`d4sHQBqCcw3g!yqpkKnu|ERYPFee+PNHuFH~6%f
zO_{~vV8t%(p=a%pH#HGkIa+wNm+#a_c6r^&q_7liDJt>2X(^|YXQpt+QGM5?PRqdq
z$Jq$+EZAAawkFnCzz)%aiT7a}6DP1RuAg*srBh6giQoQ(Jf+0WFL!s8T!(sy_jYc(
zEm;}R{2``v2A|_Sa4O8P5vejlB;?r5UGk`yasi_SC>9|XR0+$7x!OIi@;bHND_5&+
zbY%;<;vk(hWPD0 at uB1>WfIhIHGY&>}t at Ny7j_7<6fv^|^`SNKk5ec!xoDxmA#(ja+
zp%n{WRf8BK2#d=8dR?fDy}n3{m?GZIeZ5O7e{KV>GL>s4MVlQRovY3+0GPh@&BR)l
z$S7 at Wq7;uO+$*zJ8{+RezCiy7bPq}xlejVdKh~*#w+Hda6#1Dh=T3ThCAWZ2pOl#P
z#>9Xr$&z(nKMt-<=chZ2*S2E4t#ug3AY9JFE390MqV2{aYn^aYV-jZU+CBXzRMTb~
zFD!R|)S)}uzniWX9LB6oLyu?=9=W#uWLj)F;~v9H1KrBcG`Mh8m~YA_EdCb6a>h?P
zs?t$gm6mOC%>e7lIK!B9>)+{I*9XEQVwKF3PaOJ!y<J;wPS$!?z(UuStqIaK<psfM
zv7dLvi7Cd0LqAa}zr2~Cy~Ra#b2iy?jl$wwscLIR>KS(x^M4M}^zTK-mU~QSAx|xI
zCz&bKAWX|`luN}Z9W)#wksC*;5f}Cc-Fm_}*4Ivz>SlVVvxD2QcZx2!J0scZX=5D<
zxKD!AS!DstG-0UJZkl*H+qQ6;fhilFRv$iggcw;|i426|L_Ht9ua_IEJG#}8AW-Nk
zEe4Pr<wzlK;BOmdR<H#3C01D7ElJxaea&WlhTxJ--D*J<6!(#fbW`GImnS<5_ at IB2
z%8TG-eSL}T3hg>qYaS|dY2)zFhe_ubfY?!KYe>^#Y|d~;8NFYPTAY=+v=DqK61w4W
zzD{2 at zCJ&ya!tH at G|QKDv#&8c<v#RhL4mp9=7WR9OwA^#PW<MfflOuIyg{4rYoGw9
zA_;AO&bFszZ&<cx<2G<Dd7hD31WHJxN<rqlx9L4LjV(j$pOEm~A0}MT1O|cR`FL?D
zH!-4Ga7 at p(YGQI7BQ!_8bBU1M-7`r8*5R^tBWf?b+We3v5LsTgx#$_HvNbdyX20Jd
zYe}gD_1%@YpgJEE!Zd+S-iq%wTwD*@|K(Jx%#4_2exrs at n5a>7llI=J-I(`sZfA;C
z9EY&KyvjC-R6We|-^j^@+owl`6*48ag&jU48&wRJV625A!h|e%2$)mkGM`8_LSyMh
zSs~h3k=<`W+Oom)am7$Cp-y*e*O{#n42!l<*`iVCLW)AkeBWbc7(?S=rbMFpJAv<F
zH$*7)go9*iop<K9jmVJgU8(aq)JTg;;@aG at GlSZB==awLBfn7S1(i6UaK#IemZY-f
zd6vEd>aSGinE#Dr9?*m)$c^tO#)$eRS8m8mj>=hf=I-F$tKu>A*J2;l<5PLw9MCWw
zg)#4hcT>CzHY|D2&nmqPS0~*<wHmc~_i1&{H+kr6)QhQ3*(BXaZVO%E1f!Cy42De2
z0H>$!2~IZ!`H=p%RBSIFTpz?n5t`5|Wv{T&xSCqa`uYbQxWd1WtacuivKx;FS4dn2
zAO8$!*lpue+buC$-N76`>Hh1-jfd*q3scL^;uk*p;Um;iYI-W}jP)1)a#cpRE{64&
zxm9<zb4c+Q&LRtZR~*NhN*BU=oE=ic-+U4_7jHvms4IVeEY%JS;k{Q~V!E3g$~H8S
zlhZyW!4aQC2exzoX12W-HY8*^nz}t9LY^+feIDYCP+1wG^um>6P91r&WTuK7LULAq
zE<V&rbdAl1wp1&`CZfZ&MkI5`^u;`$7{*?n>KT>8=ayOz<F7cZC9!PX<(1#seV(9N
z3GOwo5ZNNzsCX?MpABQopEv;V)ga!4CKLw{Ui|qu=$|~EWd}b%4URDcH}|IGeQ4I>
zeO57CvEy)R<imP8Nw&TJ1S4v<z-pRK&ck%Y?4I+-&>MpXQ84>de)H%y_-lv3iCU-F
zz4dXWOX<0-*WK?gwkH}NMkF{6PB*>@YaH2rIsr=a%|}cg^$oP{lR-%x7(E(?wO1Vs
zA~=jxJTo37x;nT8)gQ=@ZnNr)Pitq5z3d=08<aLC`5Jbte+OMhY5!!^0FD2Qn1A<}
z>^1Zb$dI#yzVmD&34lwdm&Xzu@*g@}XBz1p^4%)B=9>jnyE^O$rPD_<(XQB2n#?TZ
zsYbJph4vr6n@~b}<8)-2Wcx>9$%k*qePlKg$HL2wObAPzBK6TrFS at aBPT7uAYKi6T
zry>U9RrKss>fMJ&D1c-3tfSt%6R6KPM(8Y-80{#fer(+b4!~%M!t3M1LzzdFoA>)h
zo9xCOB;K2 at a%cz~f19Rw798=RPX1_~C^12WJ*FFA969N~X57D{m3?!&WmoMu%emei
zY;?{<kLuW8N8NjE`CwU<m#S at 1=oaFPh7?8=PD#DUF)A>FPLhJX at J6Bx7-HoDQ^1}8
z_`}!8!wG%Wg`+SGi%;Y^9x(topNkt(YaLApSz>{8`xh<H at JJND`AKE9`@D`x4}|%{
zC-6%Xjiz7$nDHh2oBd6P%FV|oP6$Jl<sa#eiTZjt!~s3n9S}@ec_Fox8?)rs%zCD+
zz&gy`Hq@^Gjt$iE&n=@_;vz{?>g-(5i1M2^k%ZZIHvu1%h at v$(za2<OH>TQdp<LvI
z)~bC1w3kxRqW2h(=#{vK#4Yd>jGoXfb$eMg>fTht)+%Jn{q~|*L3%=0b8vH+_gwbV
z2DuF1Do|Ps&#9wI;4XlgBXF>4Oy%nl19t|`{<?~ON?@ETFfR at X>Myhp6_MGCPe`~g
zovDDskf!Yc!0dUX&#UjdVdJU-5<e29f$XB<e&O2Z!~2J2dzV<<lJ0xFEi&6K1gJsk
z at KTMqCY@tV)-*zHFhAYEFYYcDzTr4x6*{;8ZQ`oi-aV~lUkPSBzbuA at LHXN$QO%v*
zHjp|!7eoPEIG4oB;7=T6o1nt?fVJuq2_VeEK3)c!@EtRlGBzuCewpwBpR&=ZOkEwF
z&Kgkod`4wj$!P?VP(Nzc(RV;jMzP}FzIf`rTRfDtXj~GqWGq!2``v${Gr+%LQtz&H
zFV`ir4dK{Axz{o3dM$Js$qyzGpo7P;4eXHyNli9aIlvyz<ydw~h)sSa4M|OJwx4Y*
zFK*i;Gg;?e(NJlVS_8 at yWJLB%5Wq5j%yUr}^5-owBQeZtE(p7N)q(5Ou}>q1BvhZ0
zqii3H)jXv(o8P5LGk2%qB=3+6YEA*vKB+mCt8>3CLMZXv<Vu)RMv%_XK%+FeJ>qVw
zH1BS{LAm>B at 7dUzQ1PkAW&-M{ef9|)pAniU-bESAvs`p4wj2D-?bUPeCJJ?@(V!FU
z5&z)L_V{$i6}v$(2*L#j7AEz$xHGfHry at E@c9r))yl{;#WQ0-YZ|<{GknRsc-rQHg
zI%5)a`w9>K^uW+S)Wfmea=ch>^3K82n#*%yX%u(aWASsBb&;V5cv4?{%$a(&%itgU
z(3KJHgkbp at i^{x^W<4&8_;#a}Lxv1z3x{z+P!Y*8e|v=5jk{6>XSAbIfe$0O_is)V
zvrGA4ZUb#OpCTs;<*bS}br9R+rk7219j<01xXjL6VJZ)oxHcRABeD at fet&aHw9fUH
za!2_!Ud7($mdG)*<};}aau at FtE#l#p*-G2u3Zwvz>Zn*G>E%I!n3T7{W|7v!=>97I
zl+|~!0U~A=;84V_)B(#WEDR7H#hr>DRT{)afEN_1h`dLD<{Z<La{>*kgEr$BOOPx0
zz^;RXF;V(jFF(n;Oe-hD22w)Ns8_oei{NGXh~`Bh{dj(il+^x!as$a1Az*{zVO~2t
zjtK^FPYvca(@DNoQ{&e*9rbChIU`4u_SG5bU$ENDe;jgMnPKmMgA_jJS<O2z`fiy%
zp!g=<f#^1`!JHcp0`6eqp($l)IQ<bRScQ*LKHfp64mX$gLWl2S+~W0-^BW8SyNtKE
zcvaDY6O^f26e6PaKJ>QK<L#D+eH(A13(L+K#|eXTgP9KiGjU8=0+k<h>F6vPOx%4y
zAh+VpOE_Feze1yzh(-rQ2Qorq89+qEX0THkM84JIvX3hovu^%m2$;Xj?fAWw$!C%!
zl&LonN<I|$sV4f=_4M3-oK>OLyU4YWxTq3DD@&nJJX!b@*v`?ZJavt(T&$^I*{L3<
zfs~Q0ag2%#l<gYsStC|^GiIsAYkUkfyUBFdI+8mG-<4cCjYW*v94zhVWm~reD2z>}
z at pUn_G#ojM2oYv;Cr$!f1Jnex4Up8g at s^N&&5s|DMsxR&ncXyhuG`0!5Jf*1q`#GV
zYzC*e{`jP=B{PiU7z^cRR=QWMRhDIWpXk2li_1wX`U0+DzXlXr67MRi7KWeVv3IAn
zq=<dQf4Q`#&)l^HJAL7LEMKt?OQHP;k<U`GF0N-oe>bJ>Wp+5`0N<*;NRnLZrREFc
zxCJyX?oTY4ew|mWp=(t-yqLJ~bGxNKvrA|?**{J-rd|&s*Z2F at k>j?eIIi%8+yw6P
zP?!}7 at 9F3HekJnP-o5pCjU8+pF5FihaL=ZkfbpH*J?D-Me$BbLHor1eYCb?B_oN>a
z`z|zH`NQ5*AAe4qM577h!ike3bhYG+i2!&>HVRdO96g`_Jgmv!qcRA4I}{f4_^C>}
zECT6Hxs>^_NoaSd531ptW&71<6H&M{-%18X(8K`<zxoJkQEFfAQUDmBN5?I~<Lvih
z_cC<X(r%>*@U7xFaw7I8UR_ at Z7P^Tzi at L2pLaI{p@$?;<T#y=J+?n4ovx(t{%VqoA
z99uIu3nq3eJUY6|OI%JtHt{u5#`whnjY1weaFP$3Y*r-XkXr|uf7!bx*cJ&ed!TJn
z%c2Dij0XGZ{mH!|h5+YJ5pnb)LUk<NLD3^!p2!W?lygKRzghG|!KBT4sp2Lx{y=fl
zGLh!{^d~W$lBfrScDE>5%|`EY$b(>@^z?nw*_w<ZgA|ivEnSymB~#C^6ed#+R3YrZ
zynqF%h|tiegwaNYgT$W$uDYh?YI25CO5p~GlTwbm=?xgED?y#&5Vk?v2opg3Sm*$=
zexZ)>KFpgk5C-^)Y3)ys4_UYOe+uHU at jmyb32#DfAKP=#8&dNzNh9WddSs#P7JO;_
z9#9~Tm&`arWsnN6#)_oaIGmBI3xKbFw>W`^GO_tOZEU<$jACyp8cEZ)=!bS&SKmkX
zmn~8jw$e#Z(eIO=>Kk5xyvd6-@^my_o9j%m>#_>NdF&tY*f9ZV%a>2VOO`lhRrmdr
z*7@$ERr>=!!VxqgpXS2#Car1G>x?o-+>W<h`;WLdT*~!1zz&MJL`<h38!7bQBJK-+
z*$6DHAC&z2>&#Km7#9`lI3NJ%YVnIdHjLfXGgeNq=Zf%aL<gpPGsy^tQEw9&zj`B$
z6uISF^tF9B-i4|q%y=?TU-OcAbm-srIGhc%fY*Ij7pYy>N!odhh#%tQ=2 at LIJix`T
z76i at exjrY|1{;T)WN_>PiBMhcZL7QNHe(rMJHWLd$BW<jWiHk;QO^)PLa8!Qh#)qX
z!v`K0vUK>MbJLs!tULAMQe`Cz?IS^<_URf70o%r}`{tL6PWO|KSw%DXhwUrGK4pNB
zEdPzfi++ at 2`mU$^5%A2l4Y7bzQs$>2O4R$q7EA$@Pj9CH{wzOLP*Bm<jye*9^mDru
zh6gU@?C6F1x5CKjM4$%;PoAdHxDw#D7#=-+DpytaFw~Xr&ZB88;hh6|KLVc~x_F!y
z(uueeC1w7|5`j8$Zci&@JQ`9hmbV}^6AreIuJw^i)VNM<pi1)%ulJE(!|GpL1{)c}
zIewbUArmeIqW<CKLRW?#9!r}?Gv3^QE2nzqs8s*lgFjB+4_SJ|Z>rS8C;@SCpsMNl
zNQ_x0U^3C#<VZGj(NGAl6d^WZHaVBL`rE`w7!sm&+Y)oj at E%qcrBKQXSU+jkr8r4v
zI&p=w(m;;t;~q?Pe|>rh!ZY$RuITrUPZwRN6^E&~-O5q<n-(k-r!7SP9PDD1rDCEX
zgN4#+Fhp*-O?_%ZO*v4Bjsic3-Awl7h8pli2JA08y*$bI8deFOdPpF?1l^NPqY#J=
zO#wRxWB-UVr-1MaFx0fQz&U$rine4>o@*;MYO(fQR{F!QELt6DanbT$0K}i})VbQB
z(W;&`x(=Z1AH~u79Irub2EZvVVg_2vrw7EUqt3E>Pmk^|F8eREVOx!c2R;C|%Y325
zhTf}oe%@drw{rN|d}>gQT7x`8;AJdhA0I`=6;gv?Ouc9!Pj2Zt$qli(bIaIRjMlWd
z5i71;lZfNt;+0w;s*C<O=sH-lz2XPm2Li}rsYxEY{zuf<i>GUX{S`I>@gWs2l`r|i
zNK~}^j6pJj|8N`*_dy;du}b?jSGko_5LW^yMisiPVTZR3FO6VYAZ9TIo<oxQO=<ge
z!U?i1<#179?V`%Y{ykI6BOrYkMIT5C0;%`N&n##TDg*8#oW&bh`<6Lf%(<w>;{|`h
z_4SdfOn3<gU4R&waA~_bj+?vE10+dg1RyK#W3&=cVt&vvJ6R9wKf)kM0{ImX;`&h*
z4+F-S3B*6b;E2AtAjSTF7umY-IxjdL`i7-QC%;~el-AJ)24~cc40LAiKk=<zlTlNN
zEw&n58!azcpRW7$y!ucql{ws{osotI$TA<-;TyMKN+9hFbhvIqo5ak&NzHAypbVN}
zVR+=0y44I3=UCcEIq+GL=rsp|alNer6d(-;#BTgQPdiXH2yb|=1k^Z_jC<j-Yqn};
zs!VrZMNyp&VdAwP8Ko;81srAV^^fHW2q;J87m}~158E$Ktu&;mZ+PTI%xLiW+yyoX
zpXWQPb}H1ZDEtu3z5<Y5Jh(t8HSJ*Os05ok_nMp2Ary{iL?TZDM_0w?Ka{R_+2&8~
z+W+UI0KvJ94kfhV5G-$DqcQk+rhuV#nasa%U?9Vc@?Q8V3P8JSs!`_VwJ;>s%JS%4
z-N2$w2)k6HFHa at tS^1>^h5%px2kLV>jN<#RiIZ%ueB18j2!8|Ly(6O?bA!QKexwhw
zi<R}9GazruB_J>S1qw>?cBb`V0uviqE^VNUpS<548ELT#!-FG^4ceORrFb(gG6M`@
ze13bx7<f?l0-->})n0}LBjLj?tGsh!+anFJmthErA7HYahwn-63a9h)%6Ot{F|pP)
z0?RQ|rO#uo&oop}uC>#$Gu6LV2r)A at 4Vec0IB={KI2Utn@^B-dfWMyD3OAh?iLbCJ
zx>C{e1UZ(DT<GvkEj#QrMybxNQoBXpK_w%<0>LBd`7{vu``u{_LhV}^I3agWdRM~j
z7s@*3&vbS!?mE!Tl17D~M^BsJw?|7wk4r?KPXHyNUUTfy_oK9$k3cr at m_ovu7AHU$
zsCc$t^{4q<sizPp*~k7e%wM8t<P(ye at tCjyW>JJZ at sbGH%xJU*D91Ii7jbT-UA|?y
zFA4O`*KXJN$y#TrmDS#NB&S~!oDxx=*q6|^Q9IBzZD+S~az!OqZi+k&Y4F){VKfq!
zSICZMm9`8M32^%9i%!@a-?Sa8whsLD+vKTMq?Wk*I at j+ux#)zOVQGbP22xKxhKjp)
zb15^@bNcFHe>mrxecZ at d19Ae(=FqOu#?1({6(;KiR1Z)9hpUxfoga6XiMZ!pVt;zD
z0moT4G~+)qP+P$BKkPZ^IQm#R0z&#ftRy=PmiG_0BFH#oF{&x7i$&eC8)dvWkeG}}
z4o10Fm3uEB7 at fpBTYJX@xnX;yM-G9*+TZ#v$sHLM%gaAiu6B?PQx9-@?}NU<x~FA4
zcFjWmTl*&^?_B)-;AbNzAwRxpuxiL<Yo<M_$1w}7_CIYW`^#pVqpo)p){gAv)1K?*
zL94?koNiEJC!)us4{>eH%x&+U=l+QJTEqF)@*x;-1V<fSnqW#^B4=TsSaU`&?8*QG
zc${Ool=SISBP9`g6)wHqVmS-&iI<GoZ(e4U10K at +qyu(@AL=FC82`sPz<&I>>;GpS
z?*Er?`@(JGv<iM%y`56yY$`T24(4A*@f(sag(Wp|>)AiBb6~miEm}B<l4=d&|1iQR
z!fWaqCRK1og&Mk<z3+;BqRE1L)pLXYN)w at de@m}mB+4KO;p{Nd(ut((hr~g^H}0G6
zED7COj_y@%$f;VKIk{%`jJ=5T?g8#ca_b$wFqWHWP0}RRi!f^=d0{+FU^dZ>>;o*_
zi^2_E**`v=6aFtG{iKWdfM at u_b$_B(eNjByO)t}ySg}@nkL*>)lZu>~(w*$uNE7Cz
z)9ZFF at -#r4rCj}rx4>&i()<;R7 at y*$0vpvtPMU3SW={X`Mt6AXD2}meW%>QW?8uXr
zTK6}MDRG>qOt at 2d(doE}KwYtxgFzgU=OEAbinJ@?;f`Rdj|8N6H@(g5cAQP`4WZp-
zHC!QMaa5u#kjA@(E{=*hi+3z7NrU4Hb7|ONIl(KvSNHDOPPUcX9r#&F^HPAUqm$IJ
zs_v2k at y9a#uQ>Sc$UOxR{h~?ik7V<M$@!q=L>Xf)`q9KIRhMfq)b)F;LQg-(-+|)?
zgP&N9TN%)OpN6%ITq{rw*(W`PWOD*GJnNSbUO58;k;;x9V9}~Kn8qKfxq`Ys(1^c$
zX46Hz at KP!!dN}or>Jk8ho6<ZBi9Eeq6y)u{Jyese(Bq?ksIrgid^;_oNB1MwpBz)$
zcsf*mQP{A8Wf3HU<Y5^p-O0BsIZoY_R(Z=1x}{<M_a}vp-Qw=nW6u7mk^#}u$8=O*
z0rc at WoW6~w`_p}_NWJK&ucdO`-E^5*!oI at qj&EUI2dGqAP`_U4RxVIt%Kyoee>6=c
z?cZA8assb$@_Nd&(lBC2(s^VA!UG{W_Y(r*&R2f8fWCE!#WN~2vEl}V|IbFED!(%j
zxPx%)W}dCX0Na^Ra%KGQz;B+538VLI3m9VWT6>skvX;omjn;c3Jg?z*Se&6Z4`qVj
zOWi4XKD13<h<?*2S-Pti?A*&}TX8!6#bt`|@r&I|X!~%pA;5*;fWG2RC%qx>ke3g&
zg1t2o+~$G=W at Y)0UH$8S<wBN@{v+vcaIJK^4?M*A=|_VZAeU<|oW4*HGCJj>ei<|w
z2-p9QZ8;r1*9ug^j at YF{U#^+ma~I!?It_lm7cYaL&*oSNP=v?lLQsu|qVJQ2NoBgj
zMMgYF`%dvDbvsJi3^nZ=dK~V~=J)Z&OcHx+%G#(QyUr-yWOuBT;c-DR8Mr*u`r=WI
zZ`*a{G|tSc0{TXq-ZRP_2^|of7agVG_HPlzzKp-mHq(K}({N#4{!kaP-Dz|%9t@<#
z|40w~5!irT#Q&hz<2Y;jA6Xrpagbr{wL8Hh*a`7>+&&Bxw?AMXgU-Y(bVO=x-eMD~
z68gmwk9K$d4&p0`l`h;*YRG-Pxu;Mr=QYG!wK%J&hiYUjr8rI#f*hVVsL--ca*tKC
zDa~^6E-V at Am9{e0tWnQ6^FcF8D2Dj%WT3A9NBcq?cdOT?A}!Wn<gQI886?Xi=&ukv
zXsl+c>G#l-rrXNF95H8*2;^4F9B^qGlJ?_=Pl7*%-jf7;-N*VO$^1untfbGnm|@O4
z-FlMT{DJ8+#A#S|R3h%qlSH86=m0*}-)Tyb^UpOPetprT^G7-4k5a)ug1!H=CneK_
z7w|TXB_Ok)l|f5okl$>IABqKxe!Upfn8XAa&A)mZ3>|3;gcDe_4x9BhedL)D(|V>3
zp1eX6piv-+*$xc1S$Ky5@$~5ys6F-0913Dc1=)PHD|hVjSskm2OwmW&Je#ytG5j4h
z{$bx{<Hv#h#*d at 4QX0S=;2xDAzPq+t9FbP4_|2YhT4>3b18g2)F|tLY-(4dIZDRjk
zGRs($;OtNI1HChC5qo|IeMpf&Dhe`wc@=RzK6I7apYp8q-+BO&`l8<AI0Ne<i`L?i
z8=~ICe5uKf>iTZG{>-<e+m3s at rIc$zX8Hiu+^F2D=N06J=h$Ydu~jXzsqnV at yM}JN
zS;?Ummko-9Ztzd0B1snO`YRtwbsujhp&7 at 9-_)P{H|)*lG#!C8AA(`SeUV?N{1^y`
z_&4DrtFRu_Dq5ZEn~ng6(<S!8&qa}&sHQ=)&Pm-d?7M3A$IgcfvjzOqAL18F0sr<h
zw67oI4bsN*3K-UBWQBa%@@AJMlZ;;#zBpLwfzRo%zvfjP25vMM%hAp at 62X6Y_sV}t
zwS7;y#cDbw-<8}5LH&4T>K2|R!1*q%?T1tF{&M6ju?qXUTX&9xin+`QoY~st at 6A;P
z9~{jrmnn5HKn1jR*8|hqfLtUYTfV1)4$2-9BRm_=Ac2x2c>jN2CNh%d+-#y=MZ|vj
z{L4-G at D_T_9!Bz2Q$USzsp>g at kGH&Vy!!4rskkeoz at v;`s)fBU|FkrAgu`~}UF)&A
zG*&R8J27*SY=lxe`0T0tF|=eF){_d{79tEr5mn;EQZtV=N!VdnV);(l8$qVp$n6K*
znf=MXTK$fOk&DX!=%l4yPi|4b^t)KLYYAzqMXc_`a;f5bz?uFq#jxGN{RAMCzE^i{
zH$;G*NcVjY4nVJ#Z8TYwntm=bMx0ACe{kJH)epMezIE^cC3fszXH({IfvS`tyJv;O
z?Wd<a%T^a|4L&*%@Qv})r%y3J4_61^6sO2|Kc?NB5K#<Yr%PUDOBD$Ml4%wfX}op@
z-$;8|)Ue9cie)XwAH%F8kY)@ho=!7}&Mbhl7La2H at M;rYuVE=jjfsm`*gr#e{r4nH
zY?8#q-LKqal9=_-;g$58!<2PU%&oH#{6>^Jw$GCOL`=sP{g&q8oXuhdxjrP(h&+<^
z4Zi_Vzhicc!8^N;6)*A4+0zVpmU?yJb8z&e_YM<xFq?Fx`CiznOX3#IMr`vx$NJ at v
z04&wR*S-Vf{{$68QmW0rBE#ip9?Cd8`3t-J-v{B|R0BZ2v;&MEb3dG*I(PH!-}-oX
z^SFa&_1mR?0qp%Jc+9_67I6C-fO1wdzX8Agw_kgLDu5bTbXJSx-@(oPV~sy_0a*8K
z{}*0Hf0tTdYp5B3MSr24_=}3aLH9WwV6R&CKFr#3{=H2;=E!9wVA21};Q!Wk|1X38
zhG73c(%^WV{|h|2DTVG=+27Qfo3VhFYw*5iKNC=S`BP|U%#r<2yo_cOACvg2ecubf
z*wc7(Xp(Sr8%+3ouEwEb?%%b3KMVk^+VXewdUfu- at L#QM_&2?&>M at 80PbD=6vyK$r
zanmLkN at KNuQ&~FIrPH*P>TjB>_ccHZ$}H({YyGlP*+ZN!MyX|_f%ym+d86AJx-QUl
z9Tm5`935KDqB6}DW`^bSo~L11Lv|<eWGe0{ZO at l+|IPPhl>qO{U+c-_{31w2Pai41
zQen>HHtgU!OY~m-3xrr!VU6Mio%Q23%yj!?QhU=GXw38VaKsfVp8T7yd!Kep9zJO+
z^zu2wo90BE!n;zrzVcrc3(-v*ju8hgsb_$|`g-gBi&HWHUIjclY<=qQz9QoI6}v`T
zYL{yrsICd3xz#83?u6rq5}-RRd%vsOME{YiD)VoR(Og_RALy`Fe)7L%EB;L)e<&Wy
zg13kl-#HV>fTSvTtPM-0M7UHX?5tt^mg0ova*w%^9KkE8%>Q>I({a>1QSb0yoNxc^
z^#NP-!13W{Mgu=j6|X)+Ho`3?o^cGFHx;D6FKYg1Rl=oS%X6EEwIci<_P#r=$!uGD
z>;)AoAXP;{MPNYbB~}<kKt)Aq87ZPv0jVL045NaSC at 3f`3L+vU0#XA6rHPabQbG?9
zAV7csAqCRD9h^D$%>C}2GnsqOJ^!5l#9s*e-Fxj-o at YJltul+B4!pBR$naL;4Kz5v
zwJ-u1(9H$??}gjzOo96J-9_5*^{-Rz+3vgZiemD)x%g@<kikDLL>|#d*=n#dV}SBW
zUbq-`M+YPsl}QQGA|c;zdw*_qON<6~lZ2W{>R0DuDNd-C%}zi-d>@46z}5gsA-tC$
zA|C=Pe*EKQ<3X3L;G0!0zy7(rjcvkglhatReE}g$Z4c?+cSN|n=8o?M(0u4yVW)4s
zT6)8^11l*qP}f$A!<Q?Ki#+TUxk1NbEi$5G*H8WM^qg?3{oQS;QrUJ*PFr35QcO%t
zA8K1X=H-H<cK<b~K3{LQ;rm#al!$O&zGrJCIRA%K*XpCE_SCKfKzXd(Q$T<0%a#`^
z<GAB17#iYRZl-Ut`X at ocb5P~5kl%1+Blw0Zm2UdCSFaT5^WpE9=P1cUos$Q^(tTQG
zVgIY+AMNK6#D+S?8lQ~Dj8JUP|I{s{Hx4McW4CBUGpC<EQFr?EW3Pkd+q=cb+<OVX
zwTPZ5^6eICBfy7;<bipy%Ek0|tX4 at p9-UO0&JXLZn=AS|2vrt$G1mXJOO$bxyZl<e
zm at _n7LALQ;;qKk~pW_8Sjvh4YCh&2#LDA3l)iz4hC+d2Ioll&a+}p)o;gNa4*6IUQ
zHAW?Qzd}-s7^Y7#Jbc5zm1{=A#l64JykCJn^2;`5^n^XzE?%sA_1{5HG57F_2O7do
zBs(?yBzF>ijUl8!FyykpjGny=lvw at s<X|p)@*MYp`vLfa^F^Xa!-=F#QnN*zqJTJe
z8BO6X>b>JEa8sobm<{;#A&rN(#uwkyXJ3LH^09CVKZpKE?n>m@$+szr#)GcNrKbfy
z302&H!v_N??yzu1`lnW_L>xbT`gKiRtqEvdA8l{g;eChbq2ukychb>ZC#2Rgq+J~B
z2E94(w2=N?5N=Ki#G#HSw+L&<z?B at I1e02lmd5n=32B^yL)i;{S6Y4VIw3=zAPnxI
z3v{J$AK7jHRZ#rn{|k96C{JHJUL~Yq2u}L(l0cGLse=j=^4tY`^;zIb&wpO=9~r`*
z{?`w1Q0Z9^lZ;ObcQKdu$`SnTDTR^mgmnD^b9h}T$oxE8<o5}099#3j at 9y2<{oP+M
z$xBd>I<;$&xBUfy_WJAKcOP%i5&nd}TbU`io|B2Ru)nZZKOX_V`}t>S;ZNv0aD7>j
z at 4owv&)+#yZ~og`$)@@OlP-6>fDFca_<0#0Uw?Yr4no*o6}ftNVo6QO=_twVQC<<J
z`;Lcx-na3mN0MHb`{Khcp0pu_-R#@vp{6?n*`@X<EX?|8dWZ+YmN1bz(Odi~;qcoR
z`dni|DOJaJCNrawPGpxVcT#(Nyjb$b?|rvo<?8iY_x!1U3?iQ$7m2FkXH}{`Jn*M}
z<F~JWy#Cf|vDJV6FA08+FR~^MyDebaw=;t3mhYR*&q-;`q!ka- at HcCX+cIjg7SM>@
zZA9Bqxr#2b5|isam}6ZWo>Sbfd|2r)jfaPDe>h at u?HSH);6y2Mz#BrG*R?kOZ9#ux
z^#|js)TKg{l$0E(+~`NEMD^6Hif_l4QHK)}0v3kC)#ez)+VWDLOSE*Ao$TPzN@%h(
zq36LA6s at UHM(=u?`?NeIh+{W5N-l_hr{Q~X23_2TCp^v35n>mPA6gUFy*_y9rIJHq
z4w$WV<KlGNO$hH+P<C6M&j(lHUMSyj?4g?D;0-n8Kwq%C)22u8N^hd7a~Uaj-Dx5;
zx&M}f->ayqQC?spH&{uYG;>0T4Y+mwWrNXRvOnbeXr0@)<|}oe$lb+uT8C4ROHbZr
zW}3N3d4AQ4Hn at H5?#$Bk$Wm*Af2}eh+HK14K<2LH4N2@#RA(A^T;TMou*n8|MpJbj
zf{?PPxJvx%dYk3_i05zL^k=P4u=1?qdkVIdq^7FZ_0Qh=VC_!7W at E8Ke3PNVn@X<t
zWLOp^&o8o!W1eUAP(xl!HJX?bbf+n4&d$X)Po&lmT1qA4a$VFMM{-)zdmn5VO}#HN
z9Bo}!2j$U3y=FdJr;_We73ibxt5ukI>lw0=U&^#l26I`kI1|F=n6<>d2Y85q4$oog
z`U at BpHrVPlevuoy=&B;O6VIW4Y$~ixILKK10>}C4`GrSdmg?xF7jo?gxmCm5+kDj_
zH#7M=%Qg$m^LCRH#$bHb0GnmI6~h+vXfcjNJ<p0`vgORUCYW1Mt)|+K<19xW?<}ES
zPBGFX$6)X=v{skmcXraVe91;%&&k`x)b>VbN at 86uOg6?w<(=J5|9-!~%U7DS63y%)
z1eS%#-Nst9Dwe|NsE#!!$1-pIZK1NbftR!;1A7z_qOZvxV5m*^6G(H$JPA+S;-!jR
z5B{{1x%XYj at CHZCmDEDw6R(lhRWW+D at b2!pDGO1j0S&@;fkV`pvtt?h2&9ePOkaCX
zb5Wnl+9cSO(-C49HIN>g3`xH{H*hs_v2FYkr{>o5^LS^PrMf>p*|NUh-!|6Da*Fnh
zjd0B=v~#OyR+$^G-eDoueEZh}H-T>`yl=5KGD_e?AoK~vqxQ#fa<$;X2R93GZ}wa`
z64GQeSi#gg9Id_7G-BB3vU;XH9Tr(RJm5IpX0E at LgpueQUqmn(3+z#FL_$-=($}XY
zBR|DjP_}4~lxUA<;LIkerf`E62$_7*);9UqWgog1bbsvF%6K+enMvy)nLkiIe0ca>
zVoIdubdRcr#&~-uDNQs(`HGJ)xBTFPs&nqEJ^J6cN0y9>wq`Omd at 9BD#fJKrZ_Q;}
z<9Z)>4V>{m-FP*}q4m={3EkPx&(*m7WfSRkjTIL^bdjwmtF=mgSzkV7wD4>Wo^<ES
z=PpDBe4g0Sw3}M%$(DPH)BJP6<=Y1Dw0JpaG$<<-tW~tcGgG5aTMpALQ%qa(%gtA}
zC=c8sQEOjr(>i^|$*E~^GJ at qky~6^xL?*YUo{5mSJFvOcHFlsO#lKHqQ?`uX>DbqW
z%dTq~OTqLpU7KF!UInMZ&qCDl5R at qjF1OULzUxK?+#w>zFYGq8T+AXRcu&ET3LZOh
z!=DU at f;Bg9JNR~63D?E7W|Ux-3%B=79I=zf8z>AQXz2%EZ_{Shor)e8XUhe<<<}oI
zH<Tc7JT6RCGGDbaOHQ1f&LKd<L>|h?MYy`eQ0jOZon58-1i?)5=-aGaS=(6rd}tny
zs0+ggbANy??t=Us)MlJib$#Cx2qnrAEpE;kHD9B(vN+pq_bHWf<uZbytv1uY`>n+=
z%c2EkBk$5tUg|aT;$f{~fngIdBkzPmRI-w{;L59omRaRVhVWI{yV&fU0_Hg(uEMn|
zE7xeOByS0{=U;4f#`cpc{E1;E#yo|w7VbN6(0zveu!Tpj(mYXL;&SYVep+mO=i6(e
z;{iqi$if0Hse4R9!8%Im%?1MJ{q)S=*5N+M{$3d0d~Nqi at bu&@SFT^*-O<spNb{Zi
zYG4HQ^7Q5|>=3PCDXk at w6C|g8_0%*IyFjmVkurhayt2#_R~?*Z44QSmtw2pG1ib1I
z?8IMKL9@$hkAU}Mnk(f7nC+~g6}Zoy%sN+m{h4a>u-XW5vg`HGH<Ef%mCk`JmNRS(
z&Urc}qJO;&lG?}O|0J-32S&NVn5L5TkIyt#BAwf)_1)FEQDVDxfixlMR<B3lNP&6D
z#PD-Y6*Ye1!c<)gIOaoJqpBJa`+UKlc~dFsBaFR0+xxhCeK~vJp%Ia^_JDJVN8jUs
z$vL(<zAcAs<i+a>Z{R at Xuv)n|?^|O%eW!c<rX6a|_#4%?^rtfBaB4SMb6&%@(;T8S
z2;pZ$vh2sJ<Q?i3{1f}qmh-xVPyZ2REQk+<$)BpeZ2j!EdcZBh-M;FVxrW^{iFa+!
zC){xw3tV!;S}#a_ulWLp{7Rpz-#}6)j42=jhaY#{Muo;`pbYfYJY<n4rfgvF^X>*r
zCMwgjCd_Ba$k*4`yT1!(kN(xAbS4=Mdh^Ri5tTyUQNf;#SyAeo2!=69lu+hC<PB%;
z5f>Lp&n5%L$WR_g;r6>?D(vr^4;&6@!na}ZDy{sf#+XI?O?>1>XU={>1hx^C4l;Es
zs|7RXQm}O(#@Rh9HP6EX^Km-aZgwnVTS*_pvlOjLVUNFGN;vx<!xXN36QA&;(Ct}!
zZ!vYN-VB4p`sfF%N%Sn=iZV at +K*N{33h?$2#QmR*?MBYn<*(rwat!m^o}@ex4?LT(
z54%rwJ|;POA+r3liSDlMU4c*Hr|!OX2A}+z`8oG<M7d*zyn#IUjM*8#Gj<~f^kgP>
zgU{SOoUb&$PqlmE2R!)9Yl|ng;OiR9jDw88XObUHJpy0nr~CEj{3W}<v&d5>hhIch
zl^!@{)GsE*=+VCpXUgS1f+-+qKMx-8M2+`5lgE))-5opyLEqD30pfvw`!2x}c^1)k
zgI+lNQ{E1Ts2&AUA2D5?UE8Q?_zVrjSQJZmH6*vbac95HwA)D*HPn4mL9;?s4!vBq
zGD!rli~@oydBA!(Gqof`nP7mjaqSS?JmS%pFRvHc9hkMgmI&HYN|{F1JpDa7S(43R
zi7(2R&rSLOBi^t`Ik}EOvi#vD*o=__)>YJMs=Tm|zfX1IvZJM7--X at r(P!}sS|472
zb(Fuul&!Gu8sBiSHQ#AIn$Kg$s*UEc9mb6LVZNQy+pX!{YJUB+$FDb(yeZSomGSq`
zrxDi0PYwLoPK}I6!!uy}!Td)YBsa^JIO~alqr&7-yPrRGMrbQP*rLBr?8sY}k|U)m
zAbkx4dBROm{^CTG?gEe3(t0DRFs788aX$Lp8d|&+^A~t=-2#(%{aqaPAQ{ib4F%Ir
zShs6_LhbfP-koaKfVOB9pb=jU1tk)#@QO~!UCzig*J*m3^o_Y;?dhN8>cr7_t4m5h
zIzkX at Y7YFXchv*Pgk`0TWsdH#D)hjP*lso|eNgYJ0#QtX1$l?QI1sNlm5-Drc%Ht*
znvdxAYPk&w2NhGP<41m^)#b}IFNX-m7}FrdXU07Jy$B at fd3#ye$vlCh&*{xGu?fE7
z7wg-<C<Utkc_67H{>?GXD<7!E9yH`LYT68~6Di}{{d)YXdv);b)=z7^Cg)&U2{caX
zGi?cNw_vxjMa at M$1Q)M5+`fYmJ$XiiR(NtPgQTe1y%HgZko(8i?yuY3e|givEpFhw
zaY2t_LBSW1X!SUe(q3vUy$BLsnsRYOT#l7$Veq82YJJ6y`g(9d3olpj1f at tct==rs
zZ(48vsF!%Mtg1fq7WaTj6!vca9wVDz<LQc?)9r?Z3#l}-Fai{g$kd>#UR?;LGrvSN
zdf_f<tc<6SbNI<mNz9A<U|*7q|Ki1Is^gC_G#j7kk#!y at Jx^@5N6<5zM=R{1HiJ+d
zld%$y)>2gH_j1y=>AgklgRtk6_Ui#ZH6Noq$Q)um`6oKM-|u+*{1=lYDXUA at bBzYe
zMtALc)|zKQ7%xXKpX-q+th=4YbG72=c2mqeVL9|DX$E|&4`<kK-MSA4F?#mB!SSy)
zCF*5#L0dOc<B#^eCydQ~gbX}dbA>i-`SLs5%8!yq$b|1+SD7Hz{G at TM1+(IZka*6<
z)voW8psOCQR9)P)zVk;N+}b^B?B<oWW`FcXY(BoRe8h6kwa`(H<h`8%4VdHa*ETL{
ze0OLz1{(6?<~W+`cb5ha{I7p;V`=$IqruU>Ht-q<VX%SK=Z?JGR#H<{r1&Smo&Tsw
zE^J&8Rh53BP*DgV4AiLGMQ*KDQF}ivOg^@H{nL}j<?kH2JbhM(9D2|3mo+OTLrgZg
z!Gzn8^sT?Fx7m0Fw*5aI_D}50!MuA$gWFg2rU-)!-aCG1H7HC^cBK6K$d-5D-$(X)
zTm8$o?1;boY!4+{oY?J1xyH9PNV6b&){@c9k5F&SBm6Te#g4wgSr0p?z}U-<u`&FE
zN54YRfM4<3?6*y;4EPK3d3SDH;ROY*qh$B$Xb#+^jQ8X?XA?4AgLxD6bFB}lwR)bo
z?MI!<i_3dQ2+y$4JbXNVaIFw_9P(`cdw?u_`SPU;hD#f+sy2)4bni)zE-ZPYAPWz$
zKVQ!ESM!`nY7fr*hC*7By9<l<vI!Yc;T{H>@01Q;K)z)eytp`(4iLBxphSmo=2VC4
zAv!8nMJ};cRu;B0D6>i>L7-|%X8XES-gwo=1yJt;G*LqcxAmjbh9d>rSPLgC>*B1b
zk0JQfo{VM$r*+|4h6DK)q4HEEuc1lQ;d52BJ+HiUvFD4#H(<NvZoRE&SS3yu+gdku
zQZmFEq%&1}2{j6d{2wzhE-jYO8W)+)$Xl)ZplEt4Tg|b`Jnfx}U1ew2%jIR(ZE6?B
zkt?10d)(PO`j2sEUFJxab*@aQdQ0-J1!GUU;geFTSLiU&uN&gYDR!2PrehgRkliJZ
z0pbvwf&!qNBgTeCmC-^)iKp-}BMmL?y+siNkS>jA{hP<LE9-h15^(wf#(jR(<D3eq
zEnoUEU1V3*qU{bLT<O&}$8XBtIdjG-5<Ap-tGH(}57>i>MDY3ZaQ0|>x3_6(nhL*7
z%lt8T*E0e(`BBZM4wmU#`zx7%Wn|Speo|}{?;)k|G(t=zOwVJt6mk&{sVSBB3{R2r
ze9<0XyiJ=h&c;&sN+2VZ(&&h=@49YWyN(~AMAz`;GyFjj(3_T;ub#?a8_)>sx{Lzn
zH=W-seB}ipo at 9NtqX5uUvDNxPGT4V4$eU=GlXJj-(eJ5TCoA(%wgd74H#UD_t_dpF
zWMiEjzI+p{iyh)iSnoV-ASsI{rkQGc2G9)t_7+fLd6qYHs@<yD+`#59byawApAq#J
zOY^AYpDm2)7<$vO=WP)~nR8!7P#JN5eX)kU)3V%_^8Gq3$;Eb(q609Ku~yAq`$UQF
z?*^+Q`L8J?)Q-CJPT4!3G4{#6*!^@ZJGe?pvbs*;o80#&@TLv~1JSc8;vI%LjND!o
z)Vp_qzHJSz%awJ9#!3j7L`l*h3;3UTS%4o8xDw at uKRc{dfc5!t$9oh-h);-^p&!w!
z5V8;H2Fi!{a}1?n9t7TY+y-e|3V^g=It12V^4|jH{U0oU??3-Aa38-YK>e9L)X&=U
z<0~4Pb1SE&0vMSO)jgA3 at 0HK`GxyUh1O*)^^<1WJT6>7EYN<F35Yx8_5UsUnuUkzi
z8uEp?PEL&ynm140rL-!&z>-_CNHf^nvpGu3G(};jm1 at zz&3FOvbtnRyA*RA3<C;&i
zZ*0ZQ<|J7kGU8cJaqfHm$NIXx#tSAY1(Fqwf;*E{kjW4FaxX8BUW6SrK_k at V*DkOx
z9?8vYAPB|#)NU8xI0Ek)mWDq+Q;=;mXl7ehKdv-m+G)tGS*6B%^f4-h>WtG at Vsw!+
z8v3$SO~Xx8v~>z+?wyK`2t_PWUh at Xp2_%jWLKfhE;GPNSp!k(<Ed}6GMX{=n_F!L@
zLjl!2J{vpqZfI@<*`FL_zI;@hR|x92D_RD--Fph5E-t at huB$heGqZj-_LC4f(uGYS
z&wAGPm6`TRc(ux<T1 at Zw*#}vwxQ?8%$A(#qDBesekC+Jql~H}_{VQsB2cM`pEMa}y
zOe(~%c?EsUWt{z>6PSN+)qVI&qHM&~oL(bS_fw4BiqlfiV8g7B8}==`DU%iLVrJS-
zj&8U%!^O-OM+YK^49G#G`yX1+e|nCCZ;pSAsxr`IdAQNJ$@Y`Im>LR3KQYNE5WPOh
zy1ccH7;!@0BMiVI&uJavbG<!^ZxD1mKJ83|nA&)`R4PHCBG!Of66mIXm!H#6l83w=
zmHZ9DeSX3==V?^cI$1w^4(pd4G1e6e#r4DUtr;EtewhSsCNQ_SrCGjD-dK-}!^31o
zlyXteUI9>ZK5!oRAV%E)#z=_V`QYi7pq5}{<!p<G>XkCWE8JsXk^0Q%0qo}ZR6#V5
z64gnCP9bOW8f5YMi$B`XuqX0<12PMX?T~v_q!GcuUeD%Au?g24$d8hK;}YH(4Q__H
z%aS8Y)WC~<&!zmL&x))bCZPr}*y&4{(HX!rDbt5+g<uj^Uky2aLa^-|k4<tu#=Pgi
zCE4lE#Y1-Wt?$dvciL1sTQqLRzB|-MbV at S|Cz<O&yrasm(8lUYon^()O-tV+(RFL1
zH2iWu3#i4qO_MI^w^rK$KdkNFo|89bB@^4*M`t&Z at czWh{*CRf%hrA9yEQ_%nyPbR
zfbP)tFWSLIJrej>Y6aWKMt5FI&40#HfUq+r2GT4y$-rUrAG+_0j2UNjy8Dcl1aiUx
zriRWolw=~o`o=o7m;%DwLaf$f_00PvD_}Gf2d*dmya&4}7MTloq3M{)?EMyXw^#2M
zCdE0herMnMBs~i!C#TDnmShwm(}XDjudQgH|4O_ip<P|xQ$vjFUm4T!s)3`mht&K=
z8Wt&U)&e6fWga8{x-z%b9=*BnB!h)A7Q-k}p*WZlg{wb9PTm<IrhIF1y#Sxo;%33+
zOi#YpFT~y2dG_V?sH)A>{yw9 at YIcewM1N3xae5$Nda>jdYeQbZ+;Fh6>o1o{9 at Wev
zc)>9~KxguN0q<d5=(59kldL$ge`;L=ga3TVC{l;Y>d7!f+VcIPqL<yR>&_ET{?k?d
zqcHz|`<koQ<!Ajhxrii#sh(RGFK(leo5PEyubLP#eoj=0ZV=@lUaYS5m^#AbCagSU
zB!6cnvw{l<(gC=inFoD{O|7|Kjo1Z6(w!`dTkwA=dA_p$@5zJuvfs!9RM-Cwd2p at O
zXwc>;V~*Q`n)dHeEN#w44WOQ!LPe=U(EaW1 at d--)0M7T!6r~E|&EIca4MMKguL*_s
zYqo-|c&viWi@<Wj-kCUkQ_bSRUwQUMo5V!cX!t4n41+D_I`tW|HQ+X^$@7_}s}<7w
zh>$mx+vHm&q(D$=@O9uX_iqR&x1L9uEBWO`L$KnWI%*#nveOjygv?VnWG|4)rsFAv
z%Zc^q$-FQj&ileiK^mt)u+mb&GM<cd%9S&3ZqlPTU$kfoaG1$c6h+DS8|=9bo8A at b
z at MVXnqim@^+BTKn9e;p^Zcf=9if5e#2$N!|toA}e*WC#B*f|6LC=`}je%J^7t@`@;
zZSu7zMuTYSxx_B&AXK3jIk%{&_O56{KxchhVwr84&$46Gcyz&f>QC_z*X~sNb3=Pk
zP_F(F*CVR)`Pq@}=y>tKO!PyisL?ZaanGJC(Ewmar at hb4EC1Y>uYL(>XE&0Lkd4!b
z6A!$8)o2pm7*XDiug<RnA8Y*b12+)R5leyBI<MJ{I9=bJ2~ky at zXTC&lms6;q9jiz
zgKwQA-?;7oKIY`~npX~(iNF8js(yBp)c!k3-5?TbJGQ&$-M}=*GW)m>vxZZ`iTZm>
zcnTHlDQPbLo%@t~>%Mnm%~8Di>D^bZ&?Z$IP<q*wS8cxcvj at ZQ9Fy4CyN<Yk#oCN{
z8pU@~OkSn*XwL_CIgrQ?b3Pi^fAF_!#A``^tHG-AP=A5XfNx<1N_R3pI3{9vi-9)U
z3zo}yLa!LdY6bz4no}<YeFs}G^z66U=ij6RO;wi6eDO^2?!PnruEcQ4Iit=H!aKw3
z6tsLq?na#CmHiUJW$lUqBn=>B#AeyE?9cxNE%SS{@_&m7G6 at _#z}>8zd8~VVUxhJ7
zLNn;(<qvKz%1Jmr&+&ZV6z}<BD at 2f<*Ib4BMcOj;_upQbo0%K!TAwT>=%YD+)smp=
zk%q?$xUy&Ine|i@#f6~7>HRGmAAKQb7V&BoDr}9&J4qFjTtN at ZfGYEKcQq0bl(wY;
zhx566%^}BeX7NyLn#)H{dZ)o%VvZV@>mT<HjwLHJ_*+{BGp8->jdGazyvn6{S_!Sl
zGiAK*j=K(fw8d(Q*1_i}yGRYyM`9tmev=8R<b-Z>$Za%hp4PqC^G at 1E7vY^<$Otlt
zejnhK<o8LG6oGeE&fN8Vz8r4l at b-Tt(tJCAn|85Vyn$$RTJ-L%IabBC^SNu&Y^q5b
z@#r0R1B23!O)-r!pn{I3Xze=`yjVM>P5ywcNy6Z4@&}Pdp!LN5msv`hAl3UKk4)K$
z!+D)|v9*15P0+s3Io)+YrSdSgp=^c|Rbl7-v0-k~#3C-C$B|~})%l(h_f8pKt9TR=
z8G`GE_)OrwFk2<6-Zm<n0p;#khM2O=R)C23r|IBTt-?b?s_W|CBznf;NCZA-pP9i8
z>RY=H-$Ruge}o|Z&w={iOdrr~Q=ab_*DERh)1 at VuYf4MalCiZ<Kmnpj^v2%men-F5
z2zo8O`}Dkm%Q?dqCLI)Lc7X?38#z at YfLboe`nOKZeeywdLi5`NO=I>owf^k`S*E9_
zElgB(sXqsBJIL`?7JU0NcuORvuSA;3CW5xPTm&6QvPa^4VbqdFlnYXERcsPD!Br7*
z2R7CgOBpCohZc`loRVf!ZZuegknxE-VrNR!Wpmv>c+Q{&7hUFGdC`wp%HQdqfAr|f
zcvq(DT{|4CDVgRQtV>B_4M&(yzOh{VR$=FO&pJte!;Yklof at yU77)b1tt_ at 5=+kN3
zYPHx_iZ2IlmlTRD-zD;H3^Ti8s at VQ#4r|xGJ*xL_r4!~&5_eu2vJAT#q>TG;cJD64
zzxqFw`8_{LhQuSSm4xF9wjN9eX#6EG$xnzdfBfF at Z~+>>zOzUO6cZ%b=MDh^<!Kp1
zL5O^I>z)hy0D*Ggr$S{R(sV$eT-pc-l=R#R;Wp&y4}d at k|Iyt<h$0XWC{G0hN~Wu)
z5S0$t at B`ZcfwJ#fuaE at FzmM#9mhkT*`@OB6JM_LUs>&5pU>EEhn<FTDBh8X=yU<8Y
zCBp<m<$>fStET5Xk3;wp8<_ZVAN7`WUy7yxLObJh#%W-DF+(o=zDU+Qp;-p-7}jp(
zXQ?C8B4SM_oB=KVr=r7xdIqycIzpJ6b!O`|09J#dd8&eV(QELAq7g-N`cknCXs<>Y
z>Z>UX at UYLd{LNe{+wU)D`dPFotKP?4N?YCOVp*w<XE6i|6j7;?6U?|&cv98s!>w)P
zB&3DgLNfJ$XY#S3FD0H|eH#l+ml21?`}W&@XCZ%#k-S{Jve9j|A^ewTd83_rBc2s+
z8Mh1MkjD%<C%SZc3aO7VNOfAZg!=6J=MYbi$|Ci(->|)-{a%DssZ>mh#|Jg6L{t at a
z+V=+zhxM_6phc^`t;TAqP77-NG`gg_Tsm8;?2HhGq&TqkR{pjCa=&P#gPCMPpI-|B
zT9-qJdPGJe_Pe;ei|wgPT!?lsmlR9JBJ at fTcjs-r8Vlu3?ljdEA6bS}H4Duh!K;K`
zvWjgP_)yODi-!)}Tmzc<T02m%YINEt8rkwPZsB?)8w`v@*;mRJdqfu58X5<ePxp|B
zPz`#QL_kBe<>kwDB~r3cepxxPpxt!%r;qhD?Zr^DWM{fYr<tU&CFT9in&H~HUJKD^
z02`X*DEYlwZjAz<r}Bfya*eXPz2CpG`Ech%pI2iSs}afD+aeQavd|aM__{JRstUa3
z=>z~BD;w<04g8=s{-cjamnN4n9HIAiCqR2=zWRo~{;1_oC8JZM`D%>pCWqhJGyi-e
z{gJEkvu~_Dq*gt&iJf`@Te;AkAuR#midt{D(>I7t{LvX9f at H|{jbJC4-5$(w|FHuN
zIn;9c*MQjpYjsp!w^(n at y;r2zMYf`?95U&9l|sh7Q;1!Fbv%%X107;>Q%@T*HGJ=H
z4)T!1&IJD8UHUfYVxMpC=*24<7!Tb*<z=fVGa4kj_Is3%l?$%hKpL=HW$U77k-C9h
z$(__EQ!vt%YEn4AOb>~2+WZY5YfAIU>6hgr0>I?(X@?#xrk;f2s0rGS>*C&R`y>44
zKZW_L*MNQ at 0K<)rlt;-v?i-wJY>9S82OXr{EM5Cq1nF<C4jG+elX|?!Z#q4SM*Y+P
zV!qGnL)g1TABWl959_9`AH77ex>^)@!$ARfg^HL`*i5<ZOeG~TqrDSq^Z#|;Q;zN@
z*&kae7tj?xM>=Kx0|Um65_f3-#lc~2xHc2!wCmUB8+y9J!GYrL-)IhBYKWBhg=#Ed
z(x69$c(nC9O$5&-5c0 at J8y+pi=Szm@`A*2DVM?^Fvw!UX)(WabbLX?W9MEV5A57)3
z11hD1Bkg6Yw&<vAS(?DaF2O9IC>nk-5CDrAo!=xb8(-SpI3pFJhv83a^JDbVoU%GE
z7TmhHX*a8lH5-~qpLsuZ;~R-^=KqXD_(AfLxN`O*Q1?axeN;}O-DF``RPtyg at seES
z$6A0Z{jFy-7s+ee>_wQiJXTVjulfx_JU{Xq4~I_BAyu&4`JwX!q3Ce?jR1n}a|or@
zT_q9^0cFm)a^9DMhU;<6 at T$^UDR)kV#IfNAZ{KD|>OkS!a5- at MNlQLQUl24xTd;eB
z+`sB|)1njW>rOF=36WCl_>QjbK7ni_YIl3b)z{ks9wsv*NC+Q9eg`nQ;iNXvaM0vL
zDT)?&%_8Dl;#lYPqmZz8yMTQVOXP)RScHqW)3WoKj?Sw#W7mmUPj77-2vmNfzX&K=
zSU;>>m<%sLNzh%-?&u6_#3b9WYX&qMxJD^3!19loT>Jq*q)`v0TU8klR+l5nIVJe}
z+{ONvU2y8DG(btm^jKqXTgA6P48;iT`w3B8*X%r>Gt1rHH!oPaddS~tacv((o=brH
zz-%?=wdRPbyh4xO5nq8S=a<%EMG_9ehI-Z3Iv>%1`d?grw0<%}_?CQT*DO{oxJhQQ
zU?6}VI9CJZUA`lKN1&M*`P7>Vn{K=BgN%>TJrE5U<$Tt7bG129ikuR7Em)mW&4Eiw
z9s7Hof=2N+);MWhy$Vbw#*GH(_HZTD-4}|Tc)n+VY~TtGrJu4wn0Wv5vSy&g>vx&~
zSM(mezo!`HUw8k3WB~ggk^vt{FzMGnOWV07YMZiE4JXjY9uRn-g#;c`*8J$$N+1Z4
zJ9JtY4&?ZT)f+v)i(Fpi=c~WV%A(az{3`AlS(;Fk4V$yv)PmR0=weo-k$y>ABFC4{
z4?mUAn;+r$T7+iT_4mONd<43RWgZo6IR2%}n<5kA?una74Pb at zN>vE1C|Q$h$u^X{
ze_1GQ;rcSSfd54(ZUJl%5;j1eOE$%!-F(K*vTHz}KqpZhl1p6A`E(Q+?iHW(0-Xi<
zmU-};wS*}Tvp0rZ>0F=WdeQ*aRoI%Ex^E0167Ib at alyO|TDH=$axAX8@}vH)>p<_Y
zCLd%G7Q`SOu_M_o3u4nfxnfdoAFiu2na+Hr+!9u#(YN*-!oi>R31Lq^9uUNA>aUWU
zhKspUTKj=Av$Dy-mr{8#3F2q3&L`B*L{Tu(38k7^twpwMz|bbQ=J^!Ag>yUsNE)0J
z&@+C`q1o5|qWh`IUqX!QA}6StrN+zM02=r6z_LxJZIQW|KnoyXFekARLN$uq2VQ9Q
zrnTFSRS%-gTkaBHQ|!O~taKDlaPI9-CEm+x;BaGeQ4lkUc(A^?#vKo9%wW<_vjeAw
z!o6rL5qokE#leMAibI}<%Nr%NX#t~*1!AIa5z1k$Zy_M;(ZO}k$Gcr4%9PciO4db>
zGzgQ=o3uKB4pV>{D?HyIL}^@gPC&=o`Q-SL@?GW5M$dhOdDguzK!|B*L}`u5!schY
zK<XV+NU&4WexpBkd~6QJ>^`uBhF at 3bcTc@gV at 0BCK<7jZCFB$)+_bn$b2rh4z$#(4
zWT`U`EvG@}!+OHOqO}U4+)_cpbjp~R at -)F^waRk#TX~V|^{|6*UR~dP(p3%C8M$PU
z72H<|f7s<!ELSgD)GI#_Ou8T7HebV<YC|Q$RRnFl`u|F>wZRRj*LJH<7IlHP+=fXk
z|IU at ZqjQOht5pMGr>TZ|#{2>oDVR0Lr2>7 at _+BuhD;?!aCiA2%S(shok;xLS?V7vE
zJQbO4RXfC7CWjN0Tvi)qG83uk-fL`1Pt``wwyI4h6Xt1~*DV)6gjpKFHvSX{Mn{&@
z+>S*;#f+e`3m~?of{vg=2J|ktS3l^y87=c at eiv-;H)3G at zlni=Kny5TYv&CCb`I5H
zKN}9FZ~otuG+>?DdcXTlmm_#9*`L?U{B?5X??fa2=kkWaCab-GL~rI at sYKNc8rf<d
z5)_z_!dpW>Y13I1Qq6&g)^pOEq%{pS`-2lXGB_St+-q_J%$S~ff6;31D)wA#yxR(#
zC=T_%DnR-(n|TOR?ufJ~#LwH}T=BK0%AcEkC;OD6IiuI}7UO!)0I_Vml_5PRo-`0n
zB8`fpt=`%30ga_szv!T7gk{LY%$G!%p~O>QA9yk8b+%<5Tjf<M(-?N{`&`ggL9Ky`
zpxwq0*PgH>t`t<c1RJdzEg|ybKy;yJ at nyt;3bPkhZ;QCh*4zDjM4w=zw;0k(YUx$U
zO0*lrST79hjpowdk7QN}$o#YZHoHX$nmt-fJc6^aA-Y^3(Gp?7S at 8d%Q0vd^)34gF
z^z!)_-h;Tyaar3+JOV*Sq(J?niy<0}wJhoyCetql&($jWwq<b&m+^+HIxO`q-_rKz
zw0x&5LD+iE<5>%OXr0#Qa3=bk2mVgoV9EN9VXbx&Jl(d(@h3lgbzMw1-IzJ6bXut*
z4%+kj at kZRg`ak24?x3%y5ts8!2&h4j;XJ)0kPG-uoBkd_{0BJI%hLk1d$p^z5Fs6)
z-RV04+I`LzCQRzGe(S*}0=dA)o;cwMibHDvL2-#NAl!zW+Ybne)9;If8$NR393Uvt
z+Y7aXNE!tSj}3sJ*p}@s42=5kBm2*w%)gK9_b6NX&TBJ9gN20as+9!|oq4?CAft>H
z;v+mHahIGaT8wH2^ttDe#ZR4Wax0ccZm2%|TIQSB6$DCw{8V+%1x_2P=F|Nvi<GfV
zl^qVG at w|`zF~tZ?*v<0AC6P6r7R&kk$KwOP|FeI5&#s*aaRLDG)vI*_Y?)nx=FATs
zZ7ROlS`7`shzy6}X<S605Bc?&iS4(sCA#?B!p+?{L-+G{DR~!d4+R>4h&|khcUHZk
zG?EHBiM9FpXIo26m?Q4-C_`ntrCx`|iZkEP|IH42g}8_>KmQ*6$NmNM9|jOQA5)^S
zH2mg#M+Jk3uL0%%<zEQbmiOv}wwN$3 at 6o|u9OY+QuyPXhNym<r_Jf9qNNbGLF2TH^
z_V&w)g;81)GW99Pj_CSx{k*y3BiP|MS7Wic08`H^%Mhr$3;J^(82&KliJd|}T<kq6
zTEAoq8$)j at -xpOiZD}oE7m3xn3c&dG%a-+zS3InLD0jY at 2xbF(>y910A&fHX!Z|_9
z7a-gv{HxPiJqkM<yi84PzGppuzQkzEED%T?)F$U42b$CJ0=zhk_E3khNaiKVqhHV2
zZ`v|que at iJO26j$gW{kq!@o~mlQ)k>hWQu|Y&XyvP|w8tAU|u4^a|pzdGJ`cH+#U3
zd%uxexZDd^-1ohhFwojLK`&rmI%VzIP|umlzfI6F{tZh}q!DZk52h?qLSMK>Xk1+0
zPKw{uc5x^@ic)_R@|J73wuartgMPXm2|C0<L&oPu-p*&r*0p^){Kx`?&+%YxM|>mK
z_kXZDFvTK`_#%FPaRsf at gaj(z2K`UJ)$U_d^j$c|>r+X4&#EnpS3ti<{A*ra7QVK?
zLLsBGeV68V>Fud9^4^Bg)X6hm1owDjQ0J9RjC{*`CM84A7+>sM0!`585QqZUxS(oh
zePqB6zy=Vc=K(DIj(N5!{#RAad5}WMGg!=O2O8B~u5AErAd4J9%`p;HHHt1r2@#Lq
ze_9FJSz*)uj?#e(_eR!QLjC;o+3lxZXf<jaw_{;pF^h*#L^(pVo>rk>0nqQRAlvN%
zBUdgrqoqRe+Q$R~1*`~y4rQsMd&}tK&zkyu$Q at oxTf*yaFgel6HAmdqv%o}uX}0F6
z0N-LR&0O_rS=2hfMjYezYcrdwQ_IS9ebH|=erpiC>GhjxAj6RBXtZgZnFdBZ#bS2<
zF<1EeJn7K^L2Ic%#J|lL{i4qqG~Onc-9@!p_9bS+m%`WCb9RMF84&S^z^hYvc=Om&
zOK8IOc$+)kF8wPWN{g at KE)dRgD>5<li)2oD>znpv=F{Xvhf?+}`B@;tiB6G1s&=a}
zlSe8OPx8O972}}3-j`c8(QvCRmwU+~)XYHJaOqCZB at OXEcEP`kn<4h=v)hdZfr_jy
zEP}T+*#*5PiQQ<Rqs?4BREDEt-6hDjca1-|b?A!y2J{!2zjdF&EaUu80pzm_h*CTr
zR*-7ij1;Z8Od>im5wm++KaQIW20>WOb!QwUac_Ip_LV|A`VZ5-wUgHE`6mkpE>6cf
zuZt?#d-$-DgFrRr>56{7)B%B@!~in;lI9U+m$+cYC?}2O&HchHRsb(Xb<*(DT<#TL
zhOxepnD^s}J1D*rac=ZsA5<Oa3^c1uEUOS#c`k=Hq+j6h9<-_<dF5r^li!|d=W+KN
z&4qe(TlA)-tlbJvorjSNpU;o1dJ#1hRRI;|o?HkM^ydp)v<lA8dwK_~cRy1ia0X0*
zOH at 50sAaWey-(x1_=66y1}TB_A4|skL+zOrqEVIgo6os;R`5>RXmeNsJGRkcVDjo(
zb}bK;5ojVxqpEtRS=HKk{I_N9m4QGKX2^HDnq4|pCYa)YP+=z9sOLkEyiGu3I^>=T
zM2eRD0x4nQ*46vJ6Bi`?&&37J?yC){sT&H39~BxjOEZoV{i>e_On9OWnDcUgD7})_
zpEE38FB;uqi%ZT9<c>O%@<rJ7Ab0UCZo$R<6`|#o{Q~M`CbCrVGXrq20n~o2;jd3{
z;iW#f!zBQcF&9j}7$5JIC)_E!^O19_qs%>5S_>t&4a{>nv|EcV*z>-nZ}XtOr0PUf
zCAyc|Zj$i!&7T(V0s;~<10DRd%#@<(?(q3 at Z>lvaDyCG=vlI+bqsFzDEl1!>-)$7;
zDnC1N0Wd2w!OxyO6O8hLxMZmGJ1p#CDiF*ebH^ib_ID7unIC@>(&0v)iD%SwJy9fM
z5+xmhRAQhlNkDy>UI(*WSdZnGYI*DA65U|+rtvkWMEl|bBd8voiY>ATTXjBY$KP*S
zy;(e7u(bdI#0mw}yM^4;SgED&=pz*(N`<*_X752qieaQeGAVUP5%dK_&<e9pSVSdn
zCKl)~PpCq?St0=G+YFL1+KR=uG-x{0*%zCZ0)n{879 at VjVuPT~u^pk~)wiv;4#Yc?
zoI`)H)Be8|De(R#QrP*MNa41b{Okcsu1 at Df3F5M<l|;QvAspy;ZcmC`<jXpzd at v8z
zg^gXJeCzp`tj7M%@BV|lG<&5Wnd)a69$S*tI;iv2m-L_pw7tX!mV5MTJp!XE&X4`7
zXgqZkj1%f9a+Q-;DLbm`2NVG}{F-J-0&iR|>6*JELhNeo|HmU-#GPfflbDZ|g$eVH
zGsFCVJ)O1~*I}eR5g7p#h^Cd!?M|_&CdHd$H5B>w<mY<Ktn|+1<1TK0=r7FFw`*$z
zAwSVQ&vcW7uA$CXcx-OO*&Vq}`gUk{{|LmYIt3cjyv&fNeZvNfY^qT;m)@>7?R6o4
zEbpOWT{B5FEZG%<%FH42cxv=02`@9^+uU3;ppp7EUr#{PCbX^B2U;+Dl4-G7k;GhY
z<=l)Orqew>$h|w?*T$#U;^M__^}rz7SqM?B at XfNEVduS-|KJ4vKKlQ7K+x5KDeWxt
z>Mlg>uU{Oj&~oUy4v9!esFU(R83YDQl~7hR^tfUqq%Bec_Rt&_W(rIeAnbfcUP1R!
z(6Rst2Sv?(!m5XMI}$ze+|?_|xpQ93WJ{+Ri{;ev#n!?dz`_j&ACrb(qItUA3 at V;y
zY2!7w`$aLU^&{?4C`w!B1#%|y;qbf07PA~>fqkp4nT6a3xcv*qfSz`OJtKSf^~S4b
zE8y%cc_a@=w47V9art7M$XwS*IEcb>TI?f&nLz>n%IP*S0xg63Z(4>9fBw+B66awp
z^YwP~j4&YeiRL+XXfld!Z39{}BR+`{32c!bKT<Dq6{@5np{LgQ)?K}YYpa_N6?8f;
zF4A><Beuo&0l8!mDq)gOY=J*Kdp(7{3fG-}F!k%|pU3kacRB2hL+90OcQD-~3DY`v
zL@{;k<s&cm8C`A<Gd^SLmX{j-NNrzu!oebm9S&#Rx<u at 24(|D3vAH}+#*f)8{=#?d
zSXqlRuPczqMlfDD8`6^bGp;x5XWO=fpT+1yC$(^I7ZzRMxG^ejs8S=e%C;<btGqE0
zFps{Ui%Lh!E~@bcq#Opy12^~H#8W&=&PdY=Xlb_W^weJ>(V}|$c=S(grk%(7+RLEn
zz?D`?rTBL_ at w?bnBoSPa4f>fZd_1LODSr{?-T(gPSwpICRaMu-x^?l<v%@~-b)S!}
zdpgrt at m>z+tqw+E?NeP`St(a3w>a^GV7AQd!}EesSpT%2E?Ebjg}hqx?EaROm=E4W
z3BQ5ni-aO~h8&VlK|2heA`Nqy17W%SLA6WVqA;o(&RBD`zJE(niOa&o97~?5+*Q%t
zk*8?4m8%ILWy7V}l9ICbm5U^-9#x7hqpPii<F~w)&<!9y*KoZ_bLxht<1HK6yO6j2
zsG(-JT5p6#6+JR*^lb?;H<gw<>I@%n?B_E3wt_jJ=VGnqZcfuRqeAXOom(CRi!k}Y
zJk_}-3(;COwNkdfj0tGTZf(s)26K!Ly|JFvqgG8C+Th=U^BnS2X755-PtY_JZdpkD
zET<D>bC=qRy{xjO0DY(3Y_6f+;#}c at K(E&4bFHO~8%3fou+F38-aDM<2F(9twc8Th
zF(aFkf`Ml9Yl0!ckomSJe&C0%mq!G{w*F~9r5DY|AWn)L7Li%4qS710=H>BUg`TTU
z72)}Qyy7)D_r=64N>NS<_p)osg_h$VB_C~|mxWOGJ(m>3Nl}|FFi*%i+_aO>QTzBP
zCcM(s<1t-<Gc(4bV~i9ik{h4tLUX8=(oGeE^PIhu2ejga;31v*8Xsh0*CnM+E3&m$
zUqiej?o;3JPxg7=e;>rXLaqrF?R$cK{b~+5O1l++i$dcoSS{ln&K;L-GsFw*2cPJD
zcuxD8S{tAi(DnQixx#B=7le&(m(c$4;q#;Hh)X$1A_Cqecm+|Eh~nIR4b%kj$963W
z#=!lvf6B}$A3<KaU)sA1hSBuAA at Zm~)_`4uc$mDCvJ-Kl$Q{ctjl(T{E%0J?sm)Ct
zMQLVgRZf6eADiSfG~;Hv4k at 7w`9B9NHLR0Tz3ttf#XRiASW~>yF6)%$&q2KFtA_8B
zQ(W at j%r#pYKuHyk2!$ok!nGk0RR6+CN?k5j6h+tS**7^!<}dl=*#+-}5ZN=8Dk+Fz
z6ip;zwpffSDTn<^cI|>i<oGKEo3C}&QQbm_#xdWNOxHz7^_Xx1`!{Q%s!_6W+{3fv
zqi<@Hi*3Y2cdnhbW()j8{=d#ooRM7Zam~)sQVxvbj80L?-Px7_7n3tZsJ=1dzJFCw
zgI0o9S`jf{2W3P;d-_FA5p8ubThVX^`nmdOKWl_^C<pPvikY>r_~-)Nz1JzULoo5T
z>A7J}hhN81{V>d~kg7Y^DWzJQ{Q`{~jn5-m%8%4zq*nwUGFGx}RMj|?@d+cHb5|MH
z{yJ$R&iljHLe8aF at 57ugt>=J{!}JTFa{jMAC<b at G9$FPqDKt at Y*`jLC9Sxz0nsY1H
zhGYp%)O76pe!Y#Uutd$<n0qG%4+~AyXsp?^($Yd$qUPQHAGemA6Pl<oT at hN<Av95Q
zc!R|1-0i{=HUB=c--BiUKC<64CLKGkjhp~8Z!E(+vrBJevkE&>jq#Y;dVY#DwZh<#
z9gMyhz?>$$3#>cS13Z5go%`tEbgzHdX02|8Ny?;&k-359-b$AJ%?ZRs)k!d3=*rdW
zN3TLjiFscS6T=#)6}vFy9Jg{iR<QGVbkW=1r=1;wWYaQ;r1B5=-QS&C#MwcUbs-cA
z#o?hX1J%!5I{Sh8{;qd6sBG#&MI)o~w798PR;4vOa1uMb?8ieg{BP`GkCTjz(9bMA
z4?5vjp*SAF^K(xX3RSV)GcZ`K;X1U0dvBq6oEU@%;SOne0VQHxAL!RY&`##CuPg;O
z6LG?fqN^I-&iZ;{aK{51F^YRh;DmmG2u_m?kaJ_gjDf>Mbn-d6C=sdHB2jJ`Z0Hb_
zS){G<ZK=1)YW*wa*6~;)V(SVTWmeDNsA_rEd^xSfw{PIO8oDY4HXkyxlseFXldnoR
zsj;{P!UNZS%vZ9~ic(?f`Xe_(K(g#vI6VW#^q(q_H)T)7mb{wHdJm59)k5QYDAXrZ
zoAdTYYXKAK<SHwTgxMfF!fF}6?&zr@@fV`{_CEx}D7Geb$UsiWwLGRvI&`gy^VWd+
z{w<FxM0E{&T|1k0&-M1^hCNi|D7-P}AL{|*cPY%?!wkK<7w*pFpDY?{Fs7owFwD}0
zo at P}S!E?Csc>Tg)d}0~LXZGB&wS`CWMnm%!)EnzSn;j{sZA+9T6rripo8Rag?xVVB
zdZg|4Vpt$;_-P22#Px at ocU~#GFhT2BLYVm5D6~j;om!YIa52(hM_l)6q^Avw;&2*f
za$fLk2A!V21l~L?j-2*yA7!2)=NjbmvGXx|1$Dy#IScf&tEd~~{++;jP^CU&H7_0f
z!jZ^@6ZyHFTyUhTkB11uN<3fVy)Fbsw>uy;tDHj4tgox*N9rD8-qNEYe&F2VlkyP*
z$8XO-it{fnuU$|+h-?hS*4D41;;yjt*VZP+@}Bh<-`rZ#yHTlb4WEWxWP at oXNx^+H
z-M%KswVb=B-HJxduDdR*QLJk-=crx3N<lm`gsyz~dr$DkXy3J_m8GFoT+M#XXm0oY
zZZ8k)P-+QvhT?-NVw6eMzkKD8&nwZxgzI_8CTDYbvXE#{dO6X>(J=Lt=h}wX+b&#l
zDl8n<>!m*FZ%H|-=YgAxd9LGQbV?7FyIjLQI5C*9(F0dDpZ#17Zq<+m%GoTst(F;t
z`M?c at 6I%;YRo=uJGw`GEN#o#xTxUPXGOCfQC#D?9 at x`4(tFAb>Gbp#j+l^UK;gIa<
zAr at -~+bf%L$GDt>#}$4MiYS_WCO8rtwh at s>+#8xNUNSr!OA0rp;^BG2-;LmrUY4C`
z7N{3NCE3tZNa#JbHW?9kI#E-NMw{^J35Ps76iYPiEX?tgsx}&shF_gYq|cO1KVnT!
zTPje#-FYAKF8k`J;^=j95{cJ7+}s+l*wQ~doTcCht6<C*crhM_#=@mGu9Nn=<W}5f
z*gah<&(q`an&da<eDzs&PU%_$<HH%DMzs$T-7MY(FAQPT#=H6fqgI-pAR<IZ%<=Tq
z;8~Z;e&%De6Ncs#T4fNFvy*Ha<X^<dgY-)|s2Jqb(llfb!e=~pkUsg0 at xQo{YKcTr
z7;DJT*f|}HsNMSj9dx1T#nFtpn5nYmAhG?P(f!U%E5-S6*8O7VRfGcE^W8w}?tGp%
zIBkS&!MPDDPu=L3$vcTL1Owp~Slw!R_0DKSOm>#wFflsE6U)j<I6V;Khv|Bnw>R(Z
zf(*c%FU2NE3G-+NR*O;g++lAqsqH2cB at H&>_SgjPMCz2VL_Tds?P6z3IwvDdKDZMM
zA5~|bT1OS9R&uRQVH<qX*Xg;!aSEQ5-KMVVLI}iLjS>N0RP*~Eog&0XNw$wzCd41!
zR4D5`GLbhSrgzg70i%q15xUfx?chB3<<n8#yNNXs*5%fid at hGcgd3RY%sfno3B`?_
z+xXOAefj)h*VA727CPej+f+HE at TnsaOA%GIwOL4RqT0w5)W{YNKhM7Fl5~kx+iuRM
zd40Iurtlz%-Z+jOTicydY@>B}M$Z3~U;kHh`Nx*d6ig at 6wc+Kf&Yly4!~Eq)F#9CK
z30<H4;^^=q4k9ZTJbU%-#8>%F8>V$$FnOlC at jR=)*{iLPTwfkYle8;p_-1{k104Rq
z5n?*bt#Y&_Z)Pd6{<UQaDjZp<<^Q-Moo^}38<(ESU+CO(r`{<p!X#G`%BmgM((M|l
z&HW`{5si%S2DK at _q`tCVP at Ccz0USKD_8CrMd+*F_n)Yni-s{up;wjN+bf6;`*`kH@
zoG>>DO@@vJ7gj<|)^0AusIRx_OS5L$dChLis11^WV{bHmrRjNAN&@mXsGQdmk#1!o
zUN~bpK`V58Da^>NYe_4eHm}5#PfB`?eYQSFW_Rpzu0``^6Z6-F^mZ0U9Yr7<vM;lI
zhlWYRK1fMp-razm>jIryp37$N-7u^>^Lpuo+Y_njA6qcqg1YlS=z|{1-K%Gc8#L$A
zxTuJf3VzlN?8qX-0`iDR^nv&JGwEkBuP!XR?rJvU{O{7Ef8e_>3Dznux)@7pi9#fL
zByvwqodFI7gy#=az!D6Va{9C$r1)F37rTo?o0jx}6!P7*Xi8m at jHtmKXTOT~5arE&
zVuWG_*jM7GBUXCr%bWd~k*kow=Rjr>(G6`nyoo)q6>muUA(+L}Yb|wUj$`YV=0XkD
zoz585bynriuJW%bba+r4 at N~I`wmN-57{$jCqY$vI5zbi{3`)mm>}hm&8sVJRK)Sy(
z6UChvknowfoj&kM#czQ7c#3dKs*^){5w7M^qqezN1l}Swb%bZ(+G0szD{m4+727g;
z*pvJCZ14h1HP^973B!?>0hDITnD~hgQ}bRuVN$8iLq}B%!9=vX`b=hhjPJ5}91xBU
zs|Bw}J~24v>^8k;c3|C>NEsaR&TXtX8hN+{;&Z$yQ44dq5qqucM`s%U`cpwl(oD1<
zv4O{=`pj;atFRSq0{Cr at 2#E*tbSrm?rD$}{h%2H4eXp_!BFJ#Gs6pykT!6)2i{mD4
zTUk=B?mHDlv4?xwJ8A_m%_S4n*a~_greaSWkxfx`db{wWa}Krm`^R8OqOw6w*@ZI-
z-9 at L?GEmHc7f;#S-FrTSH)3G>b&vF`-8|1f5^WgJ==ja|Z4i#$P!kyeNh!7(HC!eC
zz_GqGXkj;K#$t}h=HSm|)z4mZDB#J9_RA1#G>`ea=jC0#@p55`<{2?#z&<@hMmmhV
zFs?I?hN#9_SGqRw>~C(8DTkJ`8LlGzY0H5~>_Kb7i9s5|%W~nG*Qi_Xigg^^a}65p
ze#L3<BB1DNbFNuVuF<;Vz4wQvCrmpD%SiZ0Gj^{K$<dJ&A$=!6vs=IR+RZYtG7~9!
zm}uZ*jxYnbn%xS~GRF>6P*_?*326-6jEJaegtw7fX}@TJhN!{!nz>RwW^PwXARjKM
z8Um48tv0)Tl|xICPB+{H`7KufuEEN6ZHT!JCE+0Nu+N;@-C4uAvDZiqw|M<xkYrf)
zX{&+COKH<4eAtS0ZYkNB-x8t=LKX+$8AkQ|BO)*fk7dX?1pe-7Gu=I7E$)HeGiM!I
zB9$v?T({{f at hM_E_;)>Ldb?f{I|1 at 4?#xA+2SUvByzqj=%?}bV{w%MvEYXqR-*2dZ
zfc1`+vM(<Q9J0#kSAw%xwMFkxQSWWETkjkRA)^KLKQUwCR at tHARf818FJUSd+%`ez
zgTEP56<<tO85<lobQWVMXQ6;gEOrZT*Ylg&Y3)V}Wp%#kt%X2?b!8<Xnmlgnx*Wp@
zF6-G2+2!Fc;<MaY?q_r39>FU;ES^9Glb`-sKgIWe!S)-J-vV0}k5BTNiOO>!`sR1w
zD(Leiu2UT7db?TbHmQZ)!_j(~-*@%CF>OjxGl<r+XFtEr>gbA-O^%zECPzw2HST&4
z8G(v0l9mF_^w#Z(jRs3K-QojcGI5g<KIEq8p$wVrv37x#?VgBl<v=qLSq%r)fh+PR
z{zRXq6+hQf&6R`)MXc%*BnjY+Gx4=w at 9+IOOiE~Vu8|id9_8~BxXURsrn?s<n0&-A
zoMpYu!r-k?hIh?v;N2W(sYj*X*}h-t9+3wn(BPQ{iNOE2XANQUN9+Ea;_L^lu7AS)
zqwYuDljX{9K{uVOJh2`mMk}6oF7O1c7O at a9D~>%ui4i3?D$U(vZ*RL<|L5=e`o2#7
z-tO=BtCe?^y%q&_HI?=O&&j$e at ZpYS@utK}$K`kCAAEOqU7zj8rWf09mPLNO*na%z
z)z*iXpY^|gw<rHi`HKf@{`|9^ob=*BZSu7>GtW*>{SNFN>AnyDv-BpgPrJ~yo!9J^
zmX+>x%h$H1g*9j9e65^Z`u%>fGjJ=cwr|$a+3(+0CA=xV at bTvJ@ICb(<^4t2Hme_d
z!hf$zFE*@WUv`cFZ~{7cWxPzzUtlBQ*qlS at cP}lT_P6W#+Alw)q_=4D9O{>`)!X&`
zMXZ*1`%Qm~tmUBL=B2kL?b(rW=EsYeA2HtjhZuf*WG?GjDetd0_0-M{^7fS{>6yHt
z83>fh|EY&ce2fA1{6C9rOL+bE_wj%2d|hR4r=N-qlc at mifCzqk^7ygm>u%P(j(yyb
zeE!_8`95=nz)gSPa6?Khuw5 at v^vv{P`B~mg_ge1XmD&IA>WP$C=Y>I_v87$5??uI9
z=Gmv*E%-NWp1#fV85O`zM|76!$70JrD;BoKZ=7rY=I*0KP9OgjnjZn)Dkk!o>+oXk
z>Ob*6ZK8}UzCW^F96mqPdo8d<($(nx?n2Tz?{2ZjM;|06C#@|t)7$$f{r^lUX7)D%
z#cB0{tELtwf{xbGfAIU^?}_vKwt(*QS*ElfbT0<2d0VGW|Kpz}2x{HlS)4xq#`_JE
zljZ`a47a_#Wq$Mh)#>wkcOUQ5{4?pzV&7N2`M`uNdDy+Tcd2#RsZ)#3+bhni`*iS_
z_pF%jul9P)sXeIMdi|9^>&eR&|JN`A58LuLjlBHh+3I=gKgJz>9d&1YRP%wO-*=Zi
zEWW$-e<JY6+526O6v`eSzn#BFM7XX#+s5YMxnoaT<E}4?f6N^ItA at 8af8*D@*7qkL
z=sZ9A at Ycug_e8eettfP^?zCUO`{1*}9~TdAif8>-b8O3w&(lsnYCN={Hd`Jz^XLbf
zYJ8#^f8hJ!@5=VFnZS#cRDE6RKw>oGWohfbRNu1T)6)GMdlE8TfMY_y`BH1(KtPbs
z{BMypCO`Miu=;xVnD?|7rNBYQ*S|xhc3<9f`Z%aqEjnG=n|ay3w}06lao{;CJFn_P
z+Eaq7_T}!5So?k#XuaFfo|l)Sa>Liw>+E|T`g@&lz9`$C^s|5dXz%a&yH85dzV0c<
z32)1&mr->qJuOA+o at Ois?#oeo8uDZ6;;HMNPM<X;_+fZo*sf{uSwViS@$^!-^+on+
zDVDe|xob&jWdm28ESLqFsv-FVsZb%{RE;XBCrGVW2ArzNBKgp-sVu;$8ctFV{aU37
zoT`~c@}Xa<z^R&0k`MjL;sQ?9EF<;MuMkh*?Alb45B(aAGL+tLz>tWt|MCpxvx+3`
TR+j)T$7b+!^>bP0l+XkKlDay)

literal 0
HcmV?d00001

diff --git a/bolt/docs/Heatmaps.md b/bolt/docs/Heatmaps.md
index c1a01839d6682..f34fbec3d2a38 100644
--- a/bolt/docs/Heatmaps.md
+++ b/bolt/docs/Heatmaps.md
@@ -54,18 +54,35 @@ corresponding 64 bytes of code. You can change this granularity with a
 E.g. set it to 4096 to see code usage grouped by 4K pages.
 
 
-When a block is shown as a dot, it means that no samples were found for that address.
-When it is shown as a letter, it indicates a captured sample on a particular text section of the binary. To show a mapping between letters and text sections in the legend, use `-print-mappings`. When a sampled address does not belong to any of the TextSegments, the characters 'o' or 'O' will be shown.
+When a block is shown as a dot, it means that no samples were found for that
+address.
+When it is shown as a letter, it indicates a captured sample on a particular
+text section of the binary.
+To show a mapping between letters and text sections in the legend, use
+`-print-mappings`.
+When a sampled address does not belong to any of the text sections, the
+characters 'o' or 'O' will be shown.
 
 The legend shows by default the ranges in the heatmap according to the number
 of samples per block.
 A color is assigned per range, except the first two ranges that distinguished by
 lower and upper case letters.
 
-Each consecutive line in the heatmap advances by the same amount,
-with the binary size covered by a line being dependent on the block size and the
-line size.
-An empty new line is inserted for bigger gaps between samples.
+On the Y axis, each row/line starts with an actual address of the binary.
+Consecutive lines in the heatmap advance by the same amount, with the binary
+size covered by a line dependent on the block size and the line size.
+An empty new line is inserted for larger gaps between samples.
+
+On the X axis, the horizontally emitted hex numbers can help *estimate* where
+in the line the samples lie, but they cannot be combined to provide a full
+address, as they are relative to both the bucket and line sizes.
+
+In the example below, the highlighted `0x100` column is not an offset to each
+row's address, but instead, it points to the middle of the line.
+For the generation, the default bucket size was used with a line size of 128.
+
+
+![](./HeatmapHeader.png)
 
 
 Some useful options are:



More information about the llvm-branch-commits mailing list