From 0e7a941be3d4b645cbd73bc8bc68a42687eab4b7 Mon Sep 17 00:00:00 2001 From: Michael Hohn Date: Thu, 14 Jul 2022 18:27:48 -0700 Subject: [PATCH] Include all typegraph samples, from raw to refined --- notes/README.org | 24 ++++++++++++++++++++++++ notes/typegraph-td.pdf | Bin 0 -> 44894 bytes notes/typegraph-tdn.pdf | Bin 0 -> 34836 bytes notes/typegraph-tdnu.pdf | Bin 0 -> 34836 bytes notes/typegraph-tdnuf.pdf | Bin 0 -> 18112 bytes sarif_cli/typegraph.py | 4 ++-- 6 files changed, 26 insertions(+), 2 deletions(-) create mode 100644 notes/typegraph-td.pdf create mode 100644 notes/typegraph-tdn.pdf create mode 100644 notes/typegraph-tdnu.pdf create mode 100644 notes/typegraph-tdnuf.pdf diff --git a/notes/README.org b/notes/README.org index 4670de5..2f7e918 100644 --- a/notes/README.org +++ b/notes/README.org @@ -3,3 +3,27 @@ serve as documentation in their current state. Think of it as staging for [[../docs]]. + +** The typegraphs + The type graph files are derived from a sarif input file, with various options + controlling output. + + To produce dot maps of a sarif file type graph, from raw (largest) to fully + filled (most compact): + + #+BEGIN_SRC sh + cd ../data/treeio/2022-02-25 + + # Everything: + ../../../bin/sarif-to-dot -t -d results.sarif | dot -Tpdf > typegraph-td.pdf + + # Suppress edges to int/bool/string types in dot graph + ../../../bin/sarif-to-dot -td -n results.sarif | dot -Tpdf > typegraph-tdn.pdf + + # Additionally, only report unique array entry signatures + ../../../bin/sarif-to-dot -td -nu results.sarif | dot -Tpdf > typegraph-tdnu.pdf + + # Additionally, fill in missing (optional) entries in sarif input before other steps. + ../../../bin/sarif-to-dot -td -nuf results.sarif | dot -Tpdf > typegraph-tdnuf.pdf + + #+END_SRC diff --git a/notes/typegraph-td.pdf b/notes/typegraph-td.pdf new file mode 100644 index 0000000000000000000000000000000000000000..0d12f28ef2720445102e25e7f9738a0d1fb80518 GIT binary patch literal 44894 zcmV(^K-Iq`P((&8F)lR4?5av(28Y+-a|L}g=dWMv9IJ_>Vma%Ev{3V58%y~(mHNs=A5kFR*k%0*q+JS>?6 zn*<1oP}t2C1dC<@)fn=jiwzLd*Hh0qY8G*CgnK@}FEgvVC0~WbbqiNBH#gJa=+XEk z*#G}A+COE+{^h5yxBvGR_~rlgzkc~Ae;dC1-G92pFaOoP`{(xGzrX#hS<4f+XeaUU6FSUFr?aM#>n=gOu-T&e5zWn$%w^-gn2&ojm&u-@4@lWV)an2Oy zm%sUX`zL?;WB6nE62JV-pKky14}bkb3V-;|Kg9fpfB2#Q;otob(;xoh4}VPQ4}bT= zzxtbhe*0hk<}Rni=&^qJ`X!GP^!ewDvgB|m%YXVIRmhUw%My=diM58$O-Zb+9*XhL ze#kxt|M}>?J+C?7=WBBi>llYOe;DX#BeGwxa|`<{&a#~)(-!{6KR@!!wK zx7YAnh^zJO6R@N>nS%d^0+b^m(x_ij8STr+7iS>N{3TVB`rBTH|Bp}Mryt_bqD((n zv*VJEPvt{^7q#&?flotNb8PeKbF^hw-rA?0*r`o)aGkFNpD?y zmL<%7C?g)D-t)ixAr)Kn#TI)k{Qh4bh!jJ85J|0zBE=LAMcViOFPNr(^Fs`;-aoCe zf`|VVi^-Nw8fxd7=37b4T6R&x8nZPBNt>;$+)I5+wgO8?wj^S^VLzO2BPZ;oO&_}L z3|LQg^?0i_9xlpZqYv0pZBrVR?_8gDYIYnl<1Nk3H92i5wy2+jL|T*2oo!9}$igff zSsHJpX0>yf?XB1eYzx5#Vdq}18K){Yz-e+GhP&kq}Ev=_v_>%7U& z`aOPymxnKu3HqY*kNCEjpgey@xOxnf#J>6X82F!l_+#Olga7^(hw^{NyTq+8;FW3k zG+&$#E?3d{5O?ds`QYN!qw~Qe_?v(K{G-*wZ+it#ZsL-1xa~>4%*SVH<7!>mW7Me}AMgL+hd;*osOP-g?IcNUkCIsH zx+MMhxc@WM9ZVJWJew%jIjM&7)8A7QJd{qWVoBGp9rfxoj}Lo_@vs}uyH?ES`QHx( z>mfY|hSp`ldOS86D413kPOU%w@W=cM!sat!Q+*URT|3d#sT|uBygN_Wzq56Rhx>e> z^{6$wxBZl|+PT{C1{KO)1AFgk^8>BUsspWPcP^bu5DqjORfm=}X10T8>QFMRTRTLw z?c?x3YinP!gJ6zzpv}~@Pd6$ZDo4SE|{LBbA%9JNsQ5*!1z3aH9+f(#Oe3-QP0qNP%P2z~WmfzLlC_ z8kp^sriJplLaTxUd+Pl#uo*QlQ*xr#FO`oIC+I>v#y4^?AV_75Oqe7cnz%0>P zm~u=8N7QY>|D+=bE6rA=y$9o_CzCiH(=JMtR3nu&iSu|oHr%wt)p?4(T3J|wqiIz2 zeqD_FQ9bp37+CJoeCC@eT54x|b*bZ-S{nHTGcA-^@s`-I{hgb3=+%yq(E^1VVwgV0 zbG=skCgK}tNY?vE4YS7$waTu`oC^rkY+CTVhb@XUBGs@K-Z~!r=yr$XYS?q!H}Z|Fa_H_ip*|-fUgH zcOQrMez0P{+JnVx9mp}-qa18ql%t1uD92Xk@Eq7!ddU3|=|R30uZQ^{o?2JMOUF(L zuAhHvb0rs>%ayRe@-Hp0v=-Ry)r;ZtS*i6!Qx9N}u$_~gXfXR*w0#CUZt8rac@$|eJ8)!Ia%!gY=589c4)mr$H{*1%zpEOGaQ>& z_V7n+uC7S);^D?$#X(c!Qg-N~;=z^rUD^52+YTDdLf0cSC1v!ewzX{a^8B=4rtZXP z=yh-!a-*nr;8zBR`3;OCZ=`ZRw+ll`xM*m)3c7qz=JDB9qc$WTlIP9$DTDi zG3`P5bmgXLNN*u7)u^U*-rlck{eIql=)I>Q$u`Mm{R}lt6M`ihd90Fh}*G_Zn4~Uo+buG9E74HmpDuJqOzxN=VP+;;(UB_CPSKG^P&= zPY=T?x?!RMdN!=G1RHe^i{EirNy9RMT6{IE_r3SS3Nmw3r(c%s9L@58@>=pzaJXh; z=bM;JIpG40wwv21ZuAhEc>&*>saUloI{e;DVX|*>r{;DrFqlyt@r0O7S(S6&7Rj4C z3~d1idZ?1=T+p!Wx`ADV<9g9~k4r{O#B0^n%*p0S8w{3tIz#}Q`x{xQX zGuwna1|F^r7hhF(IP)@l^>72*i@Lum&z<3q;e^_}K!d&Nj_LMVrBBBa!uCODxn-Ws zV+fZ#mVi)4x)w{Id?&GlZ*s#>hMev)YrP%fD#lB-^F8&IzP3xUWj z6P{goa=zGu{i9vye)0#mM_ZTO4*VVzzK^@`eOwma-t1q~Zv>GLqgf*1^F@)&O8zb< z3}+$*8o%!KVB4&~2_3^0Qsb`gAqDM&y*8TLCD=YVXLCPA!*MliL&CW(56p18w4C}W z;K!F)-nO5Dkqx?hXWb5%=?<98@7$*U&>O}thb4bF;%+s0o9_Mze}7uiaa<|Mvt)Z_ zD<0%Y`6fxAu;gLq2edX1ZMbe!#$f=05ta6!L%EWnDM6?tm!)LfuPf=UWPIqo$FI1~E)@f@FIm1mcwTs@ z*jHwihv|-&r8d3jygVw`I|)UoLn(fg*>)qD42@7p(fUgCIknyGbBjueia zX5Z_1N%7G+rq)&Q(y?>wxAwfmDwE0137#5g+xBVJC~br+JcHDhq9BCr!*ovsC<`IE z+JZocZP$@uBAs5tH+fq-r-38bz1;T4cG?HVzu`;CbNf=pilpo_F-IN{@!(( z+PP5V=qE^Nj@ybg9C{rvfknWPPN>F0Da|zv?n;SN+N5HPem^=tbl%gDsS~6w?TGCR zs|HWY6!AuFwg!fvk_J}t!@%D6-p?y^c^w+n3AXLsEN>2>N{m(7 zzzUT=JDF{b)DyRZy_Z;{IKkb=nqXoO6*d(t{#olIlK7r zx4s&NTDLw7MExN?-I{o~Cn4JNU zVHUp~TM@xjNBZ?rkxTw7zMG71+j7o4Hf)6l+YqpZ?YhF_m`nUcZxhsBHwan?BboV2 zjP=SIx80BHE*z^K-+)AA4A-&6PfOh;tWgoXRARlizkR(eNz?a5@s>2Xy_Y6mi{ve7 z>TxV@>1nc8xH(8bYGePyzOC;~mqQz1$z11qnd`Oi-jewQb$oxqKQ9&dg~Ge!adh#P z=Ni6v%X5M-e&_%DC7-Iv(Xl`%Q$zGDRJHA`4+6SYIMV_kv6Yd%`{(`XCLOTuOH9JI z6uMtl6JGJ5>1QC0>R=%%%9OOkXkN*-t+cxE!St$)fp}z=N>_#KlmqQVD~4v`&XBkw zj5&K~&Gidt#i8V-6+ghKKJ>QzLUUBcnj?B1(dHa6hye}7XQSl%96f&fFh{y1Lxj0H zR~vkp_~F*1QYi$RTS^AcWuDvh2 zVf#A;X(~(G@frHidCw35)XCIngj(24*d&41A%GRjHC3J_HJEgXzB|TSZGkkX%yz&{ zP0EOCec{tj51$`C`GoovSabldS@TAx7K1}&*x{YFTe5fev?dxrCKzoOE-*reXCxHa z9j|VH=#d@zSyS_Q3UirZ#B0%goa%D3?#p1-Z8z)t&U-dHR-a9v!oqBuQW$98QNe;i zky`Bpy4%?8fKEsHtX(&#W7~DfHD_uyux9K#c!P1?+v`WKqkV+AtIn2tpU7Yft?1VU&_(-w_4zRJ$jm^IMI(!kc`>GR$eh74}3@-6H z7&!&_yY5lZSG|#4Kqqj6+Hbr5wbUG>DCF6{3)B|QQgbBSaJL#>WN%$aF`$g|*sZoA zl7C+5aQDNLk}u_i=F0yKCz2MxOJNH%-Yu-Rt_f>){ju+D3Hx8Ruj=Dbk176VFQU7e zyeZHLFfg;K&FIr0*4MUULMq^eA%2K>mU04!EpICVG0NCJn3XjlSg*or)pt8=GusLC zzO$`H&6GMsEl;Kg-MF|-afS>3uriSQ{gVzKQEDyCP z!ic0Zs5>^=`qmjWEnx^81k4j-cNIvu#&6^fJ&IbHNl*I}j|Z;?qE@L<<+Sh0I?nNX z)MTfr;yW7rqBrxlGPdW8gVGk(rK~NS3Hdmy<{MI1+um2}tJE!sR`@bBQzrTOO4=6W zYsUxqJD|xQ9ii~wj^t?bE=RipdyyRD_`qIZj`niD=FR0g*3IV?ybEt$PLk~(Z*J4U zbZfrU8?%Aj^H*Cn{Yy45nK3nS(`1{9IQQ4mnHr|u75F|R+`{Q{nATf}+~Re8?SqlV z2h)0o=Vc&sZe2I?PV0T@jTH{BDvU|~+G@dB&J19C8<8B7N}lwFa(7Rq(Y@TE!%w=+ zGkpJU{_*v#fnj1aT57M zs6tTmOs6T^lFM}Yh{%r4P*1st%|tKZmCrGA3B>p z-T<31o#DDZ-jKZ!^0(4Oyo`*eogx41&vMa9r3M_bK7YGDF8SK=dCBN8g4m4a{p}`{ zaCPWa4A10Xo@(H8jQ}JNRfBd)L&(}3ZGs8(ELeSk;jUDXjG1@}bp#u3ASUQUSS02W zjUqcY4F(uer>8OXG#Fj6Ur&TQCp)jD%OErWZ^DfM7o=$6H+l^Ot=hAeGDVA-&=R;- z?FR$x-jV6TNUi9cBzDELl^g8GEZ7iSFTkRt0vGZzM4QM946c|Gh-dXx7>&diIM%f= z@g2ud5Q1H~Krec`o`kvkl%5pIys9S^MG(l=Kr8X3o}?#FJqaH#=}8$Vlq-6YEnixr z5kVK^BcmOQX_ZW}3N=%QjR;GSOaUQcQ~nPg6R#tTITYchzXA?3wSS>+B<_jV4Zc2= zm~cF$SDhL8u{DUS_UqgXrlHwCVSbjIA-_*jPOpMLCLCgH9)FpubtU>@|HOFgIX%L3 z=-#P5-aB2x_2}N^7}xWSiW0Ykieb>#2Fz42Q=jcbtW?JK1z;B<#ZZ&&#bwkz+7big z&-85AI)IL+MsJdxWhQA~yGjwp634ef%gNITksg7|642B{oZ%e5nM?v@g46+Pc?!a= zl!h9Wgr~Gm`zHATdj?&cgpNzcs0+B5;F#qh?l3>w3-?uJpWz?6A~5B1##BVxj3>-S zHq*cD%5qq`WF3wh99l|}?;JmZr0tHX_ya31Mp_06ew#;YP+yLFDctLsB=`nr@$EF?Z6Ou*N&&5V3|!ygxwE4@g(i2i23c{0mG`$_`FT<`jkq>pcnn?u44(@=VNm5z-k_>yl&Lntx5 z8-m)`hmel7vgPR(Cg3bTD3A2;9@RdmGUz=jZBXw{VJPZKFMUcp>4n-f^F0CLRg?<~ z96Vf&NQt9mSfMOKA<8i`o_u6ML2=3+d>LXKa8fGz{lqUn0`${?SI&3tCS&XfqdSJ$$r#|T5XDo55f<6%o|>3~MsSAwI_&p9c1goA7J z#ZUFr8R-0plsengB5*jD*s0*duwLKgfViLjub}yq&69+&wZwj9nM%GBhdpCP!Wz>8 zy$56NFBMPK)3@z*w6eL;n$k&lA0I?in@B^%v2BM{3O6%df&4-g^Nill^mKX+>^ebu znb#VqHgfYs#1}}+keJv+?QCb$yy(5bgPh!}w!VYoPG|YR+@A`DtQg`mL*tf)-J0=BSb*5MTCGMhnp)pR&&4 zHNdB2Ovi!WoyWiz_Uj#Gwxhk@bVg!mAN115lk0zD_T%#S7uzQehMD{0F!MEVsfJm< zAzkD9hxyk(kf`>9TAp5+J8_#3`21J@4)@{bo1f?ls`g&IBPL#-o7A+EN0RTc&D43i zCnC}i5rv~W!>*#W4LBPx?isHHQZEpVAopsqE$prmROK|lzZps9+A2-`44|>7UQ6bS z?CuW$V42)e_#XFGJREJW8{Kg=0uAo`5ComcJ8=wR1EjgQ7sH8H;Z#B99En#`S`iwY z%_LrxTh=2q?>pN|u30NW=9*kkn%Slz2Pp|HWG;l9KuJy@c!ml*zlhW_9|P%wFme)y z1>H*1rdg;BIRfxS+x|u;NM*zbU*tQ9m2Ic}wsS$~6K}zxcfBc|1vh&jTc_#8%;=S; z=a@>(Op-pAd#Uf}k0M8K90`SB;~&XqZKX`S=nJGU^s`3yQDnU3Qo)^m!jlNsogm7ZJrA zOg*>1-r<`Mq-ga~igwLEE-A*bfBXf?`gPFUr5WQc-mB7wK5GUFR%u{fxC%AQS9BI>52r)B}2tHz*c?Fv%I}j2LOfbFKliONT2f{0P zI1Kt}v0%;|VkY-0bjt8A!l?O$J zYa9W%geQP%~J>1&6H>P0uaJ9gT~Z}LL5bgn;TPUYV)9%OK$lQ<(6mE zD*^)$apGY%abgU5?yI0}cBWzIbkxV=xQA`t8QpB@l_Jo`2nq}W6A**@!o>8$@P7+y zo}W6eY3|GbwDY=hdf2vU4&>EHaO;8DTGL!-5dJEVVu!j;C$(2#ygY$;QK4~!tbLM^ zbw}?CxEm3@MB-f$2YnTf8y9Lf$OAYA=WI~3V3BYzXJGtrQPAtf#aSL z)SY(sq3@o9DsXz4#Ih$}LxD@v_6+e7@FavA*d}D0a9yS5x?Mt!_*kg{NkEoZ^nU%U z@1m}oo8J3X?reM}=QPR)bwv-ozK4 z@KS@sHvv~7j_Cy2-|iAn_2j5t^j_YsNxw|H8114rX{OJ{y7Klfhu5e+mo2yL?ZW4a z-mY1H0oC`4{DAirDZlPpuf(o&-+mmqx~}a>BAHN?&NSk1wzc*(A zh_#eOJ%~N9lEnp64;TRGjcohQGGue;+K!8pJw&!oNY^ z2)6hpe+R&nQ~H5DOmSfXS;aKAU>Zg`1knX(O(VLmQmEKKx-K}YLUmG#V0t1>J^a{C z%YV^#c_PwuKZO0vRX+q=`@c%M)ibt2!sR%&!Ik3`*Sh4($J}<`>4V7BhF!99f#S|3 ztH%^~pY%WER_+op7x0=y{TLGY`}!U-V^ThlaREfBfgsR$G>{edrOfxFZxu?yf%`A$ z!N$pXyew{K>!K(wL*eoHs_-W@S-#O}Qdo1vCAd;?#U(hYw{p>8Qdo1vCAm^@#U(kZ zxAL9Nl2W9v+ZH@1Y4PNAI!owLYzw$2Af8zhNo2p%_EOu)0o*G^l?Fm}q8d6&VjuFZ z#5+BV$~=i4M9j5xD$v=V7ll!-@@|);pdORw2<3+UqfGVTus%APk125&6_7((sK}K) z#~N+OCvXBvfQOoXu5M23=g!OILVm?pC0!s-oNb$?OdAS1j1Z8Rw@3nxG&6NEVk9CG z@rie&bd^|R(zSti}_hUSI9O^fi~~ZQ|G-JNc?24QIH3rFa-y`D{x>F_d@><{z)W?XSO*5 zMGPu8Jd z;i>nYeX-3n5JpTj6QD4#=p)k=>U?&WK*giGq{Zy+l130kP|+TGG60OHzohq5e+iJy z^mqsE02!HqKj9(PC%&YpOw5*T(JW>A@h(&RF!&0Qv$uoHS|a#|jfr_Os^ zq`zY95Ku(66AVz&iIvPn#EAjM1y;&iJ(>L}-m+2yBdk9ANXfGAgurxG1JY5Hx;$8% z{iohc)(r5MAmnGe`PDS|0rUK`0l#}@FIDdGDpL`{Rj=#O;#{pOpj*h;jst$*31Oy$ zy**0UF9rQv!g(C@`#w-GgSjAuaz6$f=xi(h4ljKVT!x!2nLdqQsGl^~bzv2y^uA2y zt2>$R-F0`W<@ddbww0i+4*-M(RNo}`N)!7abJ!TuKujC?XZ($L>?UF5j^YUeMQGch ztwCpC@DTarTdfGg*y!btoj2OnG_U?0Xxn6)*(YC`u2<#Q8@ePMDLg_|y?qs`novRW zFNC(WLpr}7Lb>+tuOZaqxBn{IHVxGYfIpH)G^@FmEM<;|Efwpk{9i@bk}8U&vbnQS zLDtn0Wwc@=ArKbnif3h3fgF~86Y1ppssdujWMR5uj-r`{-do&iYs*9SqW6Z|CNC@s zi5M~>I}ppi;*cfb0lol}H8DsYjy)0-`I1nS0=Wq&ryW(G^NwUCQDIRKrw$(CF%Wqp zIiEUv1i}>b_({AilgGZpBNR3=?Nr$vs;G2cF!q%a`=m^?U||7wupIcoO7R3;?=ATTGeHz1N!ymE&`)vqIwjn@Lpb*3p2ZFUT3Pqy=d1Tkzow^F66JE2C|}*fPLtPvk3DRP zZ5YrL8p3mWXL!E{Ys?F<{ANkNF0Q*1D24;7t7`6+GYsH2#HqG7%U6OFsL!R;HR&LtKZ%_qQ^ zO23g^7v5a!Lh D?ne-REI2$puBC==a@6yJwqRQ?-L|PYk%?t$?>Gn(=XCkWpNW7 zoFMir9@v)Ix_W}-cv$c0@C30F-xI}$@Xcta3GQ9I(h-=NF7gjC8P`mN*~tMy->9N} zV;vx*@d&%HUz)6^gUi5Fbw55n^z~RE3b1`P7RVH#?PNZLvV4b>1aNSL5dy7>{2k7MM$ocS-8iczG`ESPT2USfC9u z2srKK+0bTc3RC0Z&}DF?(pqQY!f0n2|*8<$S_+U7h;5h+ltkTB3x6il4YfmS~3T`n;Rd@$~PT6Whn&HsgkwxmI(*%7O=J zInR**S5OHFfDLO0AyJ#=DyTneDy&%eY$CBiP!x9XjAVMSFQ#jtsJh3hFJK88$ce*K z0bd0ug+Ky}Knkg@SX{y`5tAOF-+I3?DljoP1uz`t0(n}kU`0b*2fqa!fD}U1s{64c z9Uvw8+Q4q%SVL5nq3I6Y9kz+X_>_ZI(w#{5Men_yqcSdRo@wx)ohm%Q-3Tw zMhTlEvNczZt9G=s{Ob%kvS<%c)qSiO;m59fNJ-&gTl|yzOM+jxc}4I*-jNll_C*c? zbA~r(rklkh)!N%*6`LM{iqk3j!U<7&BXJ#lPo6bE1bn40X*h8TqlcWviI+4jWdC#T zJuK1Vt2%U5o4kQ6N|~x6QU0pWyaMp7eh_6W`mpp>Yr?}|SY(U?wOl>s3~wI$%t&nr z_fR#Dd@Q$Cb_kvslW=^_Qtt!%(EA?znIMgb7Y#^{M&xjU0sDpo$+DCGU(kk2zATPn zkD9P`HD+R)?Xk)9n}vN8h#;ruS0_WoT0xsNJypKk&Ryb-SaWTZ1x!1MLBeC1m}iHBNcF#?E@L%S_?x} zzhD}`ojFzU%ziI2@&;Y8gU_ z%=^=Imleo-(RukZ3ktD)(w}Lz;3todvI`D|qf%@vU={CP!x}Gp4QoDLRNv{(L=xf|>PK_Gc>5$R%o*-GDGp{&Dy->$tlF@%iFFpuGR({FyD>y@~jIRrqwln|L5W zzIzc{zU)Orn&PkI&uq2aC8<}lZE|bJG2HL;XEr7qCgctjV&6&qmjW%Uf{f3)%y+mW zX%jZlEfi!h4w5$jDm7UHEQ-0;-Hj?U*HMfO4A0#B!5u*BZUCd(om~ez$4$<`bessv z;&@H&LJvTyv|f|5QHh6MTF;9H?X%_AuVTPcPCgR z%`;LQL)gAX=m|*IVu@w?8s(g%c0xxioKvLK2f&=sy#!`R{+4`=(|wIdFk$RZKT8)K zEp;&8EuXGC<#JD|hG80vZS{8jjm!-|wKK{do92o+^YQ|oICVQy>Xm^o_dMTeAiRQM zxyS59LlmuRrQs}u!u(gre@WI=dso2BWXt%!!_CU-ZoQ+kq>s9!BI2+rc zjY4-JU0-}^4vPmNIG{anHnQ3QeT~d|rmr!iyRY#>=e>Zsb}M)Z5n!mSgVLNag9)4| zK06zETc!u}=-x)6nBZ+>{>LM)12(A>XCrVUbQzW^$2m}3Oj!bp1CdJfH!>3k{>Hqx zDPHv6<8ps2e5h$-RYAkt9EUou7 zbQPAoAoCX5RI=cRw$@Nw5x-1c4(xI1gisS<8TM?d%o` z_T2kHQt?b;dqZ6?wkfH2{=3tx!CA@H8N(VfZs5hQ_nD09_4DHuo=>&7)gF62$R+gp zeFj;bY|o&bO~8>q%-{&86+ZXOAQ#l@3G5l{W7j>{bA@c>m1psy_noMpLHy4X_1BYJ zwr_C$%o8x%mT={>Im>;$n9;T*J;`bNt%>@vvAi3?{8X)h7LQpkFBA1wq0B22CZpOc z;tkh4wNm+E5*gZtQir8AZx8M09%xLIy~7E><#<|q!9oo7D>mHEsny7P{t zKe;gpZNJZzj`P0fouR)8zYf((IqD!}FGI`)HlWP6kEHr|3-~&mQ}ko7*a23`P*O2n zeifQhn}FhONv|-1<(s1aedk45#-z;8QS`Tyn%Lj)u8o~|@WRn5*~*=&3!g7ibun%G zFG$rTPZJ~OKuxgClp!XWwk&K=Hd8}|r5f;6$B6G1sJPo@^-VMbe4TM5>rEt42Xls? zJx6T)ec|n2^u9CnS2OBA%g_%(=ZhhdwsXbCIYU1X6?cYyrPf>&5A`~)GW0hur-q!v zrpZ;#P$r{hD(<5|jt?tx<#bY=9qjvhMrjbVvJl^_-i1U&GV+U$pXI(Xm=IQkp zQeC9{msGz*`Tu(bOk!){aWL&tezgy#A7@v8TihW6hx#DJxXyeFSKI#x+GV;c+7kvjt2HAQ?_`N`1&V(; zio(bCQ?j_)coYu?2N0QSK!Qm8ul#MP+*Cjyi2k{-W+F^u+d30nSD=@LR7cg&R!tnb-iuQ)AyDA;qgmsD^`q(pEWq^0r5KFro>NLN>2oqHD8|srvK=yk{su#W2uv$`F9JL#IQ9BJ7nK(s}fL6r` zfVe)>3e$wyPq1kPNmnE{*Q7B@TARA?_)y;&AxLsokOi3_cJS~bPcUU$Q>;viwRS^c zQ?gRoWDu`h5UC-n7c7jXU=FO>0ai6DTOsKFyVwx@xGBhw$2`4TNzUSsScUdHo z!n;fVdhWZYt;@*^F98)pgb@lb@1Oyhd1$@AbEMB9?|NW4^F{K^iHRXDgliQpf0Z*m z@y{{|IwE}5oi~R%h7F`c%`OP27^SGBhq{&YSG^b6=g8kvc4T~- zg{bTlzj~tW*~~qb9U0eHh+M`K&&_vIevbZFc4S=h*SK^i-kML+evbKAc4S<0!APok z;(+;msXu3WEIXps)xqTNE;|CYtp_Q}C(4c>VD~GP9hvR1?1)-dr8zOvzLQCFR*!Rb z#&6jsw3P7i05?TXE1s`7=ZtbG5eLz;sc5F{Rc6^_)9~KbVQtqCHW6durph29i;V!a zPU1~?E{HfJZXzQ=i0YeMWk}_d^3=&}j_aVk;kTh}F$r(Xk8N#4Y zdsFR*4x}o>^mhD|zFgGLofl`FoghlmYKuA~=#Ya7XbOfPFkYsF1u>YUrTPtUc!%x) z719?VR|j|jrz{Q9a)zg?G$y)4)p?|z40O;~#o6t!;=DEJj06mH)m#DQ0lF?Z5|N}w z&%zjE*EAt5r|r`qf?zH8WIq)LYbeZB(?m5;dXSSMcApHYhK1@WsEF_jKoV`DOfHSX zswRzE5qahp@1|EE6rRO#L(toboB(pavZ~2b=UqKUl--D&F;@xg1l$f`&K-8dcwaoG z;ZoK-frAcD#g=K4HivwQs_3+!BLtJ2RVhJ{6_zA{u#2U$vHD2oQuaC}`YvVGYTI>6 zKJ?yeEqlh1*I%LYx!U6(oz}|Dc@G`Idq|&nMiLLPBW9d|!~(8It`cAo2tGmj&LM9( z!31@IKPp){5?>q#jx^G-6N$hSLip&@R=A$}?m@CA%^crQ)Hc0V$)-lydNZh_)j*A_ZKQ;QPc&D(t(^5oDkmanpOe z=)7>%0l8V9#8t;nr)J%&v9^P>9HpJz8MyiRA~G|cBxQXkt~%bCxpTbC%&ko3Ul&&$ z?+o4id{v?ohVI`NR~`EuvL5?o$a*{pKm7K%>J;wi_H-#cLE+P3aN?VB)hXR!=_y@? zrKfU%sp1@0oyr|!p2}s6Il@-I5w6;_B6$lk)gHFxU}0g=E(oijZ*m9fXf^e31}N<} z;#`3P&2U?=2nhA!NqDfGU}7LBVTzg?$@GY+A_BcZ5TI+8dXw@@D*{e08Zht76)@9^vZKm2iC)7mHmb>+_20P;3Za@A zWS))L<)+;slj;wnjV3NhqS6z9p-^+n`sQ)=ic!*pj&2=~tbs)ll<1 zsjZWyI2@87b4(jlOq`HyrQ);Z5*|F!*_++%sqbE#(K!b?U9W5>fGt=mqQ$Uy5grlS z-3v;CXQhcBqPt29;~|kBqKO_3knMSBx^jI?*PV-;>V*4NFDKZ$XyjQ5IXXCI6PZ7C z-p^J{W_VsKy-X%EaNUxA7YKnEUeZI%MGrBS=AB*f7GzkzC(ZjfRggHT?z*$o7uM2D ziyngTdMV!6kEwXa{6G-#uJaz1=;-0ir&}P>&@NtPy6(y##W_O4d{cVD>#0YedN82W zS*n3^Kg1+L6!`E`j)OK8tCjYJRetWgrA)FkKyJgd$`tip4IK~VZl2DRHr)dWS>R$J zwF~JUL_S-6ErRX=10GWo_zM_pa+F5#u@Qq!f*2Hh9-HlRly}q(nT9+D!9QQH&mdS1 z7s@E2ewwLXG6<=G4z;ZX^~HV;9^_rSID4IG(y(F0g&;VIj=agQCUtlmMntFJ6`RLt zRMiVNaeq}3x`NvN7@c9OiX6wjnr~tN^#kuiXM3`Y%)-XL{K`VVif5+wH^gAOppvg& zS&1eC9P#0J%>b8tCkFWE-Di?U#$NKmmTadav~xtpE#L$w6RBBerq?0$al%Q!w-JQO z(4xO$g_{mK*84-HpTEZ-1<>k!x+3|a_m8OdPQ*5!?#1^uj;7H3$@4t}!iG&c@tj4r z<>I4_sK{0?KHM$d;p2UNf9*#3t*+-5Cp_!ePWjvdkO%-OfuxKfER~bOb4EPrSP8{- zM0(gRKtuQ|R&Ez)2?@lJMET16Oi_1OVUkz9?ZGuHp`7OzyZ^Pv){y6tPZ%%0fodwB zlxK3$xO+sF=*?I7FI>J8{tJo*MXzm7CzqBSVt++f8Q#tR3i+O2O_!+`%IEP`w&RFJ zC53iBsx$$ZvJp5tx*Nn&)uV1O9a;6NvpqJl$7RyjBHRRQ z)`bVh&^OGr&sm4*eL9ypxTF)zLdC z);+IHCBe$I%2Y1cNnNT>ALcHdmz{Fyt`(hf=}t;cT{fy+s@5K*YL_5hF4c)U;`fS) z`C!~{;e)y6x6okfiQnS4jEiXi)mz!W;-7pe-2b8zkUP85o&_kXZHlz`2W| zI^%#RnFoEJemy`+aA9Y_jtF>xyAeiUMv?&nEesRf%%~;`3RQ_ojyqrulE`Q(3WvCp zU`JKOVsj_1_!RSASi~`k=6WS8gM*?+Ij}up8F87E9o+AT_YZyTgww2%Z`m{{)~7-% zqJ}W3Za^&DXx9*Up(45&{-#FSSwg8WX(Qbkyhrys;Hv|OA3(puiZWTjnC!?r?4rdf zR&J(B$!!ew>H(CKiOu{7utXwmmU>ZsxMRl#xr$(56P8~Jfj2irP*ipoxf5XbA$rW# z-A0c=+ov}e3jpXbDvx08Q6dDYV=uTF5*iS-jKh89HuITD6cN+|3@jl_<6iahxWFG^ zW*7?rV9K=zZ#_MH1dqkMGBV0SkF`}d?YZ-Mj)kRVV(TK1XFGztJ(AL=5)Cd;XB|Ng z(hHCy*&>kN9;=^WEhM{h2@n|M9S|FI`mRbiIJd<{K6hJ)I|6;f)_@KJbq1;vm8#YZ z$u+pWR)!7lWu$8i1jd~J)X39|z=TtP0-(m=1Ns)RYxa#Fh6b2sOuA?az7o1^1Hc$=%9B8#Dv{uR$aljC5W?c^m;#7}ph;PjBjaE0 z<6(p{=HU4l+-3lSA{Y{A%6l2<_r3RWAR$=cXh+l=AObU@;8b?|X)s}z$VfW5 zdPDY#ZHC+k=ve7V6#Zu4L?(;k=?2?j0{#CWH?1TnCLf>{*qX zq~ffr99WgQilmBJ1>{}Et8mEqtV+{Jc8I71p{y^mn&UM`UoS$$-!q%szMK0sdewVR z9L;i@dM^);c1nN+;_$GU&`^;L+T*GSeOxCT?cT z8URQ@x4-7^tsJRWy??w799V(L5dd0WG9(B2;!biT&OGYv!Rz`_XQEKiQy#|Ljc?ZH zB-vrY!?WeDJ9>J9?szS`L3cb%ZumodeMe7W&>gR3FzAkl2@GbYzr3U8jq8rr(#Cnm zbeJ{%hy3!6$#cPZ$8;?fTz5Ro1h=L0@{XS8tvg;z^VS^?v%LRMU*FM_v3195x!Ahn zVJf!0C@=5miPyU0wY+QH@i6V$-pY@6%J#&lLMjxT_CGgAqYu3kR!c=Och%+hlNZJ zP;({^N<4S9jgMnuZfL}+Wa%Wdlgb1_g$Mi&-#|o0*GOY}Dj}02kY0oI5EqeI5Xi)i zWZkptreGkYG#*P^$Pc|;O0m_OrcxLkWm_K7$r6c^B|%v%Dw6cdGzT3?OdB#i=LYRS zzGkwx@`O*5)hBYUA|pK<6-y*$99yKe;h4xW3KLZYfhav0XYt*ANFTbcX(w(9`Ps3l zHQOR5g!2zUkmhg19ksPVe!gqb0uAs*y%WdVzs-A8Pg8El1?{ z15v6;$jDtnmep|~SPhSEaoZqT*o&Wc#do#)Gzd2rfs;!P;&|12O#{=Mr$8QTO{mg6 z3)TpoQESB%OwK}Q1l%-+Aq!w;CTxQ{A$qkfL`|6j@spyae09Q5e!nfpBBuvd2n{6$ z=ZlxTuv;I&Mz#CUJAucl3It$Y!1jhD>L$AW4F1_6F9g?`&%smYwE-}fa3UbstD3VZ zAqr-2Urjw^A|#1Ii71uRSpUjCz?nrw`nfYAX_!t_#DW8) zUc>7l5NMstXCpFm$GFRDZatT-dPJrGBB|Decp7Ew#}OIE65s??j6syB+gtkfLkxfT z)8GHY{`=kS{nrrs&${q7|O6RFoZP0a21%Go_sQg(N>F!Nj~P|TA4jCPSBBG(UkB@iqNDXSSo>4}rXcK(PdB`9Yv|$;OsI{WuWMDZxaE z`}(y2qdf>PE(P5oK!JXFB*1@Jj{{S4N3s9CM>XREHTOeIeLY@I-v4PQ+x@Hkga7e< zyy?{Q1M%Y+H7sHTN%BZ*jK&{0WLP+a^h|lxG9I;yb81j0%_9NjdJ}m)OU;4~EA1n! zE5Q%!Uc2-%EM686;SrXz@~{xio2`=fOVnv+kxtTfC*>Y`q?1ucuud#~1(BnEVFBte z+C!}KeeWM{nud-C&D1UAsiE277zwB+gZ!!N)*edH&?W{{34cYsE7-)hn83?zkGhb~ z9v)_-Hlnyq1%~?&@~O)bYTBd~tBEMI4UM;eOabsj_?5FVbqbQTvPXJe^FWxlQiip zY9dPoZ5%VJaM5(ahUbn;I96zZzlHgoXhvkwp(E8HcnKqYAJoub-5;(_)C6InC0H!c zBVbJ$6^RjPP(~#o^4ALIgp2dJGq})4^>XF_n_nz$Ar{3?^Po3j%#Zn9UAoPJj^}ro z1D!ISaBBSr+uP^4zTk3fDs#$lmB^f1@h`Dxt+V-V_Dx}==e)S8P@h9O zKxeI@Ovarvf=@U9P}3>2JJ<>PaGQEldDN3otC2u-8L`iO9|op8a{@NVY>GpSj5pXe zTb{DgHLxal5%Pwi_+W%)cip6f^bhb6TGo!S|PW9G4g+LtPWH{yI7 zV(J$z9bY9z!@Z>TQ)eXG;z1QU1tOCJE^$E48AQGI9UPE(d+%Ol+d{nRaa55c)N6rM zm+^#C`;K9hx%<&Zx|cnYPX8xvgmPc$S{vK#0q;uR-9f&g2IOH{AJ9cQZVl*!j{8r0 z1VzL6r$8fY8<2<1-q8Q-<2)^;;bMEN*Tud_ye+X$h_??bob%ou_4RvSq}$fLPw2L{ z;Z`Lz(z zUxe4sosnbCd6;^LJV2}34EpUbYF)EXie{nc1P3W#;V}lc=1pf>3RLxd~T zl_TAwUgA6hrAFg~e&?Dv3z_UDCyrQ_c@porh`;;NmJp9h^29br4%4;1!Lv`D_cRoz z!XCumvQ1bEG#Zrl6qP3?B6VSc;om0|uuWE*BySyD9AS4hx7tBw~!Th508df8}AH_&iYgjJb)*i~EnNA~O&G(~H0F>+? z)3MabZ{(=>0^s)uGUl+3nQb5$!q2KG%ET%TtF3aRkpNweD-c**M5wsO^`ZBETm(1R zNSZ3$qHS^py}c+;NyDFsvi9DUP=tIuBybRcX$eJ98ZVoQ6;uM5X;d~f3X{s;+xq5< z-h2M_q9V{rH4JULTo{~;1U1Ikkz|%cfqEQI70G6&u@{!M4+J#bZp=*R8v;$Z0}98a z%@p+9dsok))=F^VrI4x@sL2E}T!SaxnH0n8wBapTayn#H(DC-w8af%tq2G#A+_x^{ z{jJM2_TzQy!${3DVA0F>SRZDagN+KYceZVBQjy#|i-QzG64`nI%hw_FHU~1YVJVv( zhziGF^&KpX61uedpYd~<2?2$e=I*rrFM9uY+k%Q-2y7N)CF>;7iXthXxk;$Q1c83x z1|-b*5t~JiWCm`;4e_TZOiGK;6qWE62$*T6~ zKMNZOo2#T8k;kG|P#9QDHYZVIm)TtH6}awzB(RC;4LY0ZmEfyH9hXGTs&fjwRGO}BE^ejg&fqfR zED+6*Y6zZtH%$>HrBwI%pGg{hQFVh^1u&gIGFVP7YNT0?vWX zp;Cq%Ck2In5PB-84Zrl{f|@Zu$=B0VA5z>=swgXW)KHxl=6}%_g_OH;TpyMxT^e}w zTtU~Yr6%XG01E`TLhZ(u?bG(L^P0AiJws_S)R9H_j-v#22#6YqH*8zr$*44>^$UJMU3N z@m{0+3nl|?Ch0J75LVX8OoEHc`VLOoNurCGMd8F7J2Q#PvsWded9855|KOeNwcHb3 zKJ+HH3%)TO|0-`!REjB*PCrk3eJ>LJf`>q&Wly~=`h0=fMJceywA}KUxs4y!ju*o# zxSH;-nmwRiWQ8oW6Y?8q-@*nYojI$W(gGLR1>Y&r|P3JD8A9WcRm?=PK!7%AaL1Pn&dbyaqA4Y~&~txgS1Xr1neon8p0i z^)|)dbiZ%Az)|k^Js}?ZB+;Q5$6TT-jAKp@dB`~S`;Z)_>LiCM^ue|rFO>(G=$_K5 zlwlI<@Ky<{n2{viS*EQi%QwQ^#d^PZX9$A_vn@O$hsRK5w4B$4w3D4-c|>L*MhDKZ z@Ij=dzv5HReHSre(%zr)V1Wj4(%ba0hv;EcA)I_UzZiwS< zf3tPDcy7qw&Kb6f=bFXK+ky%kWKL*XYbZw_NzTpbpktsOz~W?hf`LiK$OxZ_GNW)Z zEL9rs@R3F&NE|zP;2782k-~JUP4YRC;WKUSM)5;}1{8T!ZI!Zn(RzjC>ZRCk?*RIiq4NbMKO zi2rUy*807gSifFM?7Y&$Z(1m0QGu#n)6KljlOs1a|;fMhc9ZU+*2jQZ%X3Et&8}J(5-LtF4Z(!XYnuuQFI7Xhs?lU zr22Nyg%x5zc{`NcK;#TdiKP2b6)-?3R|%k4v_FtR_DtTrSjrUF*uOfNHacURip+z7XdmV zr(YGTV_ggqn>WQJV^O1x^gu5Nl2 zq$q&{6>CB8a=Pwxhb}oas^{KoRLZqxl?$Zli)c;oeN$|GTja1>cG4JyA0q-^w!huv z>H;)ABKwBVsCgC3IOSbCDP=*rYh)dEFS<9CHmi!sQ!GD2g`MN{QrWwf#fRRz)E%D{ zfR}LEplPqi;KC;4ZdJ0FrRh;M?vhB&RK3N_!XCFT5Q4-^a1WBgJ%9oH(1*#nz@M4s ze6NbfbnOsSOJrBY!&jA1KVN(w`!4OCB=?_G?};}3JgRP-q3R@D->NG=U(*^QXeNFe z6(9U)cgf~eeKd{}+xK%?zWwA@Gx_&MpEJ6Ey>OPnW?-Gm)9(6a_PYPXL)A;Q`-X$&h`Klx*B`v>C>5pS7l!;0W_-x{K z0_Y>Ea#8t#YGji^95<3zkcec*0oi~$v=b;+z*P*VluS$l&Zy-IEOs(=R>1y}MJzE6U=7h-7E+xMn*%G&=e6hRnh{PIE!m$hk=0!wC7POI#laJtg5xvb}l0jp!xdJlEx#Edr@q|NFfn7aR>e*H3|SKEiX} zk9A@eDhAUEW4Z0F={M=`UK@urn)PMTC(V@8hzw zYH)tzC_+`_Y}un>k2}6q|RA5ZQ$xlOze7m9a zGbSpgGJ)#6sTH^4^#Osik)V7e9$uGm9h z%6*4}K5s6F=XkJ-Mo!e+u-0S0pp?3N^H?dp=dw$6yQjdsAYphdT~Z}CN|(X~O;ggP zc&urDlunA}PU%c9)Hjz&S?iK1T~HuhrhKeG{->?YKI-z>!^G#ZHBzsD>rKFUaYeID zm!c|;742X2kFFN;cQqkFB&5jTosw8q1AeS0XMdfOY}f~F|99(aXQ zS6gZfHH0dPcIrA{6Vz`UM^K^bjP_B|C`N5aI&)cy5^Z_84AWgx`q2A9(yU*r%28xn z_z-BIr8?ynCYc4D@EeDI54vs18pq3WUV;V|Nh$KCxXTw=loE7oL7#dfA)6#FF%s$x zVzz7LE)i8nzZ0zY`CgMZ_M{!`HA}*@a(l-^`$BfFOL_?T{w4yNQ`CinE^dcIaOn6R z!Zqml9>NL9&oY8#r=R6O0(TRoeVn9F3Lw39>I&8SWRIk^1T* zBU(PAf)USjw3)ih?F=+~Ob@C^TZI-1HoSP8RSk*_p5{?`UKA9+4YR;ZOMlV$dq`m6 zcRSbWMehaq3IG#)4)PV^u@CGUd~|8Y;9q1~NVasZ=Ni)GYOdj=a@;B8E2td1?t7&u zoZt7P;@>ABU!ljlME#07A&JJZI`MlzzJd;-3@i~9O&mm}5c>)sNiOb*h|9unt0=IBSB6IlQs+*Ba&2AbrEojL_R&w+kXBHR?-NbKUDW-#_rg*I zz2m4(ix?i;%n&2s82eLK$=;&eHpHC9@jH(AW#8AuwlH69MYfQ!__HEq-2+>|`gmaL zsq+?7aY(>^XmJGc?IvYhMHsMRuU>nT?Pj4J*Sx^$MioK(9R^svW-m2}7#B4F*{~7i z)pvary?E}u5nmv7`6S|NhT{c(2Kb7bjQ#}<$Z=>YS}(j88du?7^APBKi1wN)PCv5H zhG-JJ1wSH42wA?It_WC*p`4W{pLk2)cmh#U?|p-}6x>-kg9L98xEPRHIo#%b(c8m2 zX6$}8x`Sxk=MIj%Gndjq$ySKg;*RaKcr~;GUF5fk?6kZCJNS4}tomz*bz0p~omQ^~ zbr78WM-kI$V~2F`@!}}vUofE4!;a_R<2A{9{N89zPdk{S{Pat=FTYkOr`H|H!N-eY zwBIU@)3ZFDl~5oy?I>>41W+SssOHFsOdrC56ATh@a*+OjR!kH%A;4S6 z^f1w#bR3}>=z0lohqz)4c1$ZYV=I-JN(p8=^`-9l{0L5nM|LKaePbx4oM5-A*nUZ* z6t`<6Idp5(v|JgzsGo#jm5M}`YC>=FR${Yzs(chAQ&g=9y2^N>mIl=k!(}PTg%HK)q;LcG-JHE1T>|yS#B<%8g)V1-q$`NmvPu6!p>LDaVCK z07GKchY`G@BEO>Z4>6mfRCTv z?=>tHHL1BF>z7T&BoPM%7Ic>m6d^hzHn`Q8$;-lJW=-78`iOeB5S}BXH#8=uw>plG7sblIwmL477KxLus^hc%BT>giCa+PntLiu@H2zZRxN59R@^Mui z2l(+j!BrvL!Brt#23LjjtAVRL)l8D)%it&@A!NoF` zO~Hge*%TlwL#RaPE*ceZAA&uNHLYY+lq91<`Qg;!Dv39sSS7M#P>Z@fng&BRKd~yt zx=s!(1#7EY6>}`BVqZ3vTku8ag{=rhr-v8!WSb>I<-jV+nt6KYhzD6aBPsrOc<6}_ zdk)nWe*e$|HQ70(+Je~(mI3Ozzd3f02wI7W3OjKc2hNTd0m-lIm(p>JRS2bu9LnZ(TmCAxvxJ#cV$)oc1r>$pkk9on z4grQbLb_lIWySEwf(QGhcDIy_hN44aTgcqIH{7z4-$b6aULjWNna)TmtyO2Jb zQF?wfqhJ!;Xht#32WFJlkZ*$3!HlYh)}gdi*j+G$qEg<7XPch6l2rB!W)wrHFrz?s ze=ni?zV{kckamue=4#o<3wJeJ1jES%1*qDYD?>>ngE?L|D(HkeMH=8C5~S;d`KDCSk~H7L=5RMaM{kxkkkASMEs)JvZ~T8B~m zW)Xxe!!4<-fYkKGN3>c1I(L?XzZ4IpN9p21b*#<4ey3H55%XqB(~pT+QXi3;x@fMJm!RvGP@Gt(0SH?Q>>P zsoP2`^{SOtPC$sit68K1?i$4vtfEG70#*FY%_5a_r{whtj**hr6By&SnME~itE^su zEb8_rh{bC*k#Z0uM!9O6fusJnF^FoGYK6jprthLDa|jLOcDrWPRPwYTJ;HQ2J3Yh| z1)dnwW8uL{g6GqFHOk6r2t1g;K+P)22ySE+lU2PySs!uibaVpyBR1pW`RFJ;Y*1l?RCW}w&L0ussI!9C`)r?WTH_= z9(UFCeP=(~RNBUrNuj@3wYqm&Y}Ob`J+I1fULWrtJRRNtj#LY%3j9+STOV@$3w`E_ z-Gqf@DW|yBxvo$wM<289;LW;D6*pG&=6!D;YAHI!K?`KNKANU)Wh#+KiH3E= zrDTSbmeORF!vI(S6}EvMiKd?Pq)a5mI#OTx<%Gfl5<{RKp#0QN8?Z4cuV6j+|I1Rx#)geq;wv&)s{1gjbk+HBmU%p@{g!8@EM13ot=yG-}1e6|lpc z9U3r1>F7f$x(oUiqA7E+X69K;q|NydU=l8E=rtX%u2PzN)%p`)|>CUx}e zD*AK{omsw-3CyQTRrBQVA}1FW^ie#uJl*y4Dg8V5X=NT3fNTZdAx({Xmn6hWt}qbtx+sG(AoU2zUYG%}NW zc9`RR*EOOk0)QxHFEkUtrdXy3YsR|ls8~g^fY65uM>F+>1}9IXKAxKSK^acD&;dE(VUkM}}^1U*-r)hb1Hr$-zMe`2N<{Do3tc z=fmQWhveYSerKD0;JM0nnlMrTJBG`viKM6!TNX+Fbj-1U>yVqk*=tJJ189xR5eY@2 z!kux9oQOR*?JhxUPrWxgxD((dlmQ}Q1MM`k2s^||0k<1ab&0t}2<{zo0TUNj#j+NP zXw0LmToAGG18B^HO5WMeWx5VUWB%0n#~X`1#$2@u5Z~`txK(+o=6;-JaBjNx&7Kfn zvnRNCUAY9v23W0c=U0`C^Ei)S7rm7Y0}c4EOh0b4WBw}yd$v|2SPAh#uo5oS2$o>r zK|T`f)26jcm&&7b=~5{tmo6W(zF)SmU8>R_r7G9T!%M363)O*t2SeKj)5GIn`nAIF z8qE0Ra>Bobz3l^-`EdaA(&?cA)Np|<{+Bf>>g8-llt^L7F2mwPbgJs}Pw!g#eDemq4EwSH{t$f5 zD)TI5PIW6ujGQ$|L13zg)gT@V_ni{*m!bDlej_)%V&s7diZ z7(YawKotKkjTAV5P&XHgGr$+I!%rVFbutS_Eqnb|M(zaLl2~4uW#d zh|B8O2^o#py67n28(u+bS-756t6I*44yOga3dhMQ1Z%eLj)=Z}6C}fM8Wwj>U?9{H8$kKbU<5b3rL2eS}Gun#v@WiVw!AqyHg{ed^vXfMsO`?kdn&g z9!vx-qz3~5{i*eXA~NtCv9I!&cpV|x0acBw@^@eLUK5e&3nHe1nSE&6Yn9=GwzV_) zHrm3N0*Szratw{ZJ}wrPOushY(d>2AV`kkFyzl%yof}<5uB>GKqW6AY^orP$tYl(h zJ63m@+eWK$##*r5wq(zwt3M__*g$`Itm|D0o)6+|y81Bt!h|N8rBp0{h z927-QsGDmGoxHRufuxj0{lItN=?!+ZWuLFQefzVS>K@ycLBX~n| zb%&GO3bx8yKJj%5I&aq%p6%11eX3+8h@H`)ADY zy3O%=W{!g+=&m2Dbx}W#>DYq%yg458qcx`1Rl&-!HTIq6xNY%|($!CxTDE`w+U7V5 zGv1}@pD?|6e*B{_$K!mo+|;@_7#0)wi<#qzb<@@W)Vex=d`wUBjpleN^-+p)iG0MR zXvaRmi{^N0kKRAEu1Yh`Swz0W98WySBdS`_hCti2-AtRM2h{~rHiC=?a3Mll2SX5zN_8 z$;3Pu#Rdt}gC}tW$w?)$w2M-V8A%0p2k9fD5WIF+3gKo-*FqFe@v$X@pTXfsqdhC@ zt`4z(n@W%obH90IRxmyz4hhA~&34^@#g<_nBt|-?taeC*D^z=qT!?nTSW$i4Hf6-P zr$_ZwV6Mwp75M_;0I+KgLzj+5t}FOoc36K|?J6WAmdfk}=wg0Aq<-kV^d@L3)SIGW zQD{fvJgc8Lw5ds!zBCD)+ zQ1$tzcP)Lsd1KHu>X(@vqV>r(tad^+%*F`{t{0V>%6j1g6zQ9+J>uhmnh7-Lrs%Qc z9LrJpY*48Y41ybu$O1fl>CAy#eK$uW%lk$=G3X&93EPpvhcX8A)QrK>4-QD~n>Z7x ziV3D;WX*AuilfN_EVb+hWz2bx5>kpTS zUuJgy8}fULsDg&0Q22TUMfGw17T8qK^O?AcSUZbNL^xNNWm=UpY&vH@F=xs6&K(57 z(vr9Pp@@qr5{BXEXn1n?63TbzeDNQ8@0l7yE2c76h3yE`cb0yh#GorTObRq-Thh(} z_fE(xzK~ST(&o8oaYWk2Ed6QoG?Wj^vIg)J+OrVtei!D&P!qUVHW=qc?>%!- zj+-X(Q?^Oi2qGVNpfrW~!GXp4_TB3NHn98B|G*h$Rsvqv3?&NhCtO&SC66}czX~TA8t$G|5xw^ZAJgPx2PZh%% z^f9~W7QyNSFAs~tG4lt@Vd}kruL91O;d$qY<@+Ky9;RXwOklN_{N_OzyddO%g;JDN z-0{mOSs5EAN+nBsCMNiniSy!7sSKG1>qP2zAk}TA&u!WbSQ!-WCfwPR`{!{2I4GOv zU?S3(_cs%_a`xKg{z#(U3V9_;KXqLcaW(4%ZWq}ZLvSYQ@2FB9Hx%JTMLtRAM!d+; z>NO+YW&Aabc$dnJc$ey$5${s{k`ezKleSeyKZfj_;?3(_aai)bRXmqqPrq}PtJb97{foEDePI>0x1hfetlRgLtWOD!+qc{~C;tA>5N>Q`}YzR(C z(z8ew{YkC`$B!{KhFS@`^3aRkNGD3f!k5qB4l^s&#$z||0qU@9j?5^M+UM*9N|ogQ z1-5gwF61asxN_wGeStUBO>20(X}#pz^_#Y%!{G(euplH}vS)y+tODD_tO9sI_9cd7 zJphSsq~)E&AF<}P! zh++_$(vMjg1lGm+*;}G%&}MmOBACk{Q5EfS z#*>lC0>kvMl)DtXhzg8DAX*-FOlNN51V$)S%50$sR-F3Xg8%Jq<&wG{9D*!lQbePNwaELY~TU2T@ z5vAlj|2fg^5=jemXaXam=XJo#+Bo1M(2HgpLRJKx4nQ5c-79<8b9>R-o|{k^rZV^_(+Q7n*doD7B%7_ zMM-3{ySmDKk_Cb4oMXk5*HIasb^Df^A{i#3U|2QIcC>K(Y3?QoBS|YR4ICC2_hhNC z%zWisGL3FqhTO5*(H_)ZA21<*U^r#E|6#I6rtSr|%E^b>pLS4(i3@wbBw~`l_eAN( zpYYbbcBaaG@L^VOD~IO;1bBoip)3=gE^);j_ zu}^P`4Vp8kn?jUOO)>R z<|32jw?P21C3=KslU#O|$6%?UBi02XmDK=FSSUBbC(^B6*Y3qUF2M(&lEcM1{`Es?3m&Tw!Q;3r!)c%Zzy5}wQ*ueEHhrLhxEFQD ztXR>715KK=DL(`FQ3uY1nwR%b@DSZOO0+q@d(b{s-fz2Vuc>?+k&y9j5aJe>+XSFN z!_~|*lA(Sa=c1d!e+v{4888udWq!&K?X?_n*KT4l^cHu?_Ji7cKSjhQXt6krlX6f} z)x3~1RL4^!Tx4TO5}-2p@p2`6u%4_Qiz04Yw=8P_J zv^9y#@&z(E_34rfA{ZZ=mc|Vr-SnAu%}+tHrCVlkdglOpt-TGzq=;dlXR^zp5MVx9 z@7WTbu~B#C$wn2g%z;VNW_V{LP739KrWWh<%`xAE)Tm;LOb5(2_TM;8z2^jZ$xUVh zBywfc4wI{sh=#G|3|uY|)46zo1dVV-+kzgotT0`PkK5x@G`-GGyxQN_-N&rY+sh+~ zAIi2_h;lDA5;{tc6s!@`)mad}PfpJm5XlW&KrrQLR}D3xWAHsXK1SOKIFBm7J#a=P z*8ed=IK0_fIb+fK zT#s9;)81OW!D8&z<}*jz=lQrbtqX3g-Ef_`wSMY1Ysalg(b}zzcC)p1N^JPKAGX%S zRH)Y49i~FJcFI(^e&~m-iGa|p-60@!Yo`Q+>tu4++Pu#t?GC@7Tf5*FOja;HoWNS& zr<8Vw4$zHW&;bTq=CIK|?K4Zi!{nz%`vsF5G~B1u~o@PwoU-*#QTY*Ckei z!DunMg6-Cc$5LruWQfFVz0{7|ifrTw=zNWAWa1@aJtIw3@`FmR>$<5aGQ=VEF5(R$ zGZ9ufqgs2AC=sSzOtri%N~Kt?b8IhI!6P zv0RNJ5b(I4#ck22A*XSk?WkeQLK8)JvZ6&GgX1^!h`rbrw|%X=4VmZ!NH$l}hmyai zWNPFLkE9I6)d*IAaou1}+8>=h*g&ifZqIbH5~Igs*2yO}Bs8Pk5-t z*QdXZz^r|L{r2X0GXgGMVK&NonA*Vg^=XNYFw2QboZ2Y!iz!9uypfcauyv~|B)gM> z^J~gC2Ho&9pM0#k_0Tjc>wd}ZG|B{8O{;~263>?B6MeV|`bQiFXb&Mp3hX5*)f^v% z_Sl+~*ByUDOSPVU?z-)DV!?$Miaj1?*PNwx<%g9&!CybmPow>@X53D_vsPm47=!Mj@wawIy24!GQ=;}BG=Ya;rY-noiFiAS5># zdHi-3`N`GWw?0GA@zj4B8EVdQJ?bi!lLZFa=lAeK&Fy1!Ry(?8hS03#We!&Y$>dI; z)5thGi}(*L&&y^;j$=`T_aGGI`dR`KJ>`=68U*V=mDXM5^zXTBawwrzott@ zrp9b>Ix>c}gRJZCBSVr>C4VaI?+m^?PUXCt3g1`VECu>>)@5)f7G~{b{6}=RbLA8v40!o~T7qp|wU-vXap@h6U|~NJcoSy?v+pXa(Keit3}1U!W2a z@5?mDQce27bUKP_>x-cjEJsap@jP|e4(2&gIG+7=E^ZavIp!5+7^a?n2*QD>k+o!`H-b$!*-->(3GU{v+e0p1S-RF?Iix>E!<1k@s@{F66!3D$!8E zFx1PZ?(hdaat{9S%kSs71&R)*^6(#lQ8@0pG`-yQJDOhZ`h}*~jwK*C|MxA>8;`&E zF0T3|K4SOlj$)Vl^&b?wcFe|882SX}pw3k7eAJnGN4-m(sTbm18VUx8e_u};mtvP2 zza!Y?#xF2s|Joh_L-L+v^0$b^r_X;_zl8Ku)(~xvRD<@XU)J?(Kehj$FW2|}{u&;D zAN+VFAp~Wsgia|Eo5c)7x(N#q7e`lMVIYLFuspBpmd~;XAj67LF+M4dy&Y};M|@0w z%egt|-iOz0LX#MX5z!=7PL$S5jsWpITZM?+KlnqZAj|V^y+C&^xOyq3>?+8zb{Osx zfB?)2r`=Cm+P$ftCpfBQ#=zjD1!cCTjk)s7$yL^+m9+z71y(+?h1nbjmwpn;T$%GV zqU`lbOt&aa!jyVbi0Mv>I4PEIA~MJKLkW1Pd*1g;<+q0)p`>pJVUQK4VpkrqV&2X- zm7A(aHj7PH!S^I)ZTKg>bC-#)J%8IC;)iovj%;fCbBsTf6r@%%5ELs@jNg&wNI++Q zsu1-eq6DOU9hiPr^g`dDWSOAY%&^NhXPPD&DH~B@a4vu!(WY`H^%Ppf)!@a@C?wVq zIx3>Z85y9^-bS*c3cWZ;T*8DSkgoY%_nY^pMp@qO_- zltwY#L4l|e55uV7W7ao-{lWQmU{v3$E;C>JfKQg6S|FN`(F?c|I=A&ICy&v+gR0xB zqn$d~ksPH?`Y4o>P^YmG;LR!i7)COyd6`gOTJ5Lx!ypR2mW==&$$*dbM89Bm=6B$? zEO^+4K>q_i5O^l|ENx_tWa==rwgJ2ks&2Q^?XF-7=1CNpu|pqw;9x=(f)h)&^zd20 zPnn&%u4r5F&1_;g84L1AMFf^2EzqglBcp|Y-)rUVZAkX^!_Ds!z-P!v+BRS6=+~#? zry~eT8Sc15+!d&w>yIRRNyDxu$!8}#SQ7qQ?f8og_t6Wr>>Ty% zln?2M+MY&&{m3oeBR_JBr`$)cQCK%3G)e`|#Y9aJSD$7;pjucOb2UF@!9U8u@oOPb z4Az7p*BbMhQYiVL@WED1&r*5JIyHTXp!`A2w}-o@0tSv`d?*4>!s%2b%D71TNPI6) zbDzTH$#T(5Tp1xHDsWo>lM0wDFjjQV%zs6g#gMr>sJd=kCl;heR@rg~FJQHxpVeEd zA0hIu@h^32F-1c0;g8$M!{5?b*M3L4GL6+CXR%=68vFg1!_G8wB;=s)x!0L;zJGon z9oyFjo0UnQ(B68zvsWJelzwWr@PgD;^J$W=C|iJOEv;JtX(Fus1aMke(&Hfh3lp!J zwwf3O$S3X#)-3y0O-ds(jI?nq>cz4)>uNi^1R)pHCnvgVsl);Ygd`37O-&b*yvapu zFARWii#hY3VK(+)E1T#dS64s*|vrw!s&p zJV!U?SVnm8njX~#%kxDOp_U~b<3<*rXApH&QhqeXLo`YI;eN15TEzvrFK*C(oU=82 z*Bz;iX$?;$-AQ!bvpQ8lUjzFR|F)Tw7wF|NS4GLqriE;+DPJ&EhfvsdUC?=(U94DW z_G{37$8{Ul_@(CC!>?iq$f1CiD#9Wl8%c%PN#TvX2RK|?8~07LC<&qy45GJDM(kl5?JOp6C7E>m8TdTK{#gvhTI_zP7o3 zd+m>D`Dy*^z3Y$W6l#Okr9jP&%%`lRM}7%4-5Hd3sP(r(tr!poa~D@<2-qH;f|}Z3 zfB--M{4W3i;Ns-t=K4$L`lAa8!Hd|XJzZthUBRvpz;6Mrfq}3LfL&4?zyV-41H-I{ z2;BL%WtV|Exc1|p{dWynXQ-RwKSuMr zmwOdn1@>WAhxP3Yc5rco_h#nxmn;u(b#{aNm6L>dNkQDL%^+&B5^(X)!Ky)Apl;4) z5ElSEaB3L;IW}Hc9v)zLs1zX%mabL+zQ2bhV{PXOaR#u<*ug?81u=t~-}m&#kpsZN z&%wb7Z|u*cd8Y39V!CQfUK}iKrSgB^8ZfuuELG%;_ey<+gbsd-B`>ywg9B7UjzBlX zqQ?EyLnf8mA`!8IB>vGVC}PdnCa#N~N;R&Kwds_@hIP!;FEi9gpG~u{>G_L&=z+@% zPNCh1v!&`?y|cEt0e&Bg0Lz1$o95-SJ?H^aRtOH6uB6nHG=6B;OOJrVb;*#4L_BK6 zlsY^4cT3z4s#V`zs7E7+SSF40zd#6aVL20MVnaeYE42!K|+V&06 zepY)Ddepu>PY6FqSkEP|v1?Sb7Bp9-UN3BHTYpm*X}YgdDK*4Ocr@%+WZ&O+JDnf7 zA#%>>UtMvO`$;!3-q|}dL1P8|%f>@YuZNYV$Ptcv579`%Bb^u?F}SE`W!g!_l}cj@ z%||!a=_(j(tqNdII~=pg_#p`tPIAxm|*DQl*XPQ3ecaIoErM#Yg zL+E2yeUqIkb@8CnX)hcgQXz*x8#IPTbsD<;lil$r8a|lHJB)&;?1fHGsiPB?v`#q1 zqn1vcci!)28EP^Yf-1-%?9Z9|aNl{TyvVx73_a_Kh%|V}1oYOG_Vy8c4i3QBVu5<_)HL!fl|w(wM(SbiYWcXv;03N`|)DdMC5?#^!t0g2n6F)9z1KgMy#V z!wQsNTp7W(l5FxG{K7xnus-aYU!-_-^x>dsCT!?d>d{7tajlD{`xHn}yZR|+Shcp% z>npzNTS(5NOPnNxe)Gj`MV$2YBO~9-Kn>EX$&olNHk^W20Fz4KdptAo*P&n z8$M4j1v6BU$9}Z3`~pt0MSPt*s2Hd5q~BX8uvzEGPz16l8w9A z;A8c{$F9AIAVKeE9lxcFGOB7DVxmIPBwN5 zm+msi^y}z$H1bO`^={dn(sCxZTd{UdEbE6<*?@ElZ#(*n1;tt7qXxSVq+IWYEg0-g zMI#3l303RMpq2!uQ5f`}9e)t$reZVXqKthbU_72F)|$-qm9!pI={sCe=O?XL!2LnS z346oRaY&z6FhK@8C!au@K0$F3uf(Fz5+R-lg~{D3jNRh;6K%sdlX|;*8gzTxX=syN>L4r({`MtEv=+?;cLH z1?~b%@&e1t6zNUmBw3XeT>NnwhQo&#LN6c0WVYNVldI!YJtKP1_?dcv0Miv*-|3iX zX_YNm^7q?eQePQIv0wYk9ZP0YKDmkA-g+Wwbs)RL!}+wrjsGSy>!%?pX?vcJ;wy>E z%81)%k#Wx{CX$EI_7Tn3pCaF6;mzg}kVFB3am|4*v1DRfA950lqtf)4Ad^&42Wy#+ zL}2N~De1)_GQ#p_a^d34oL17COJ-PGJmO~*k3F%&z6(DEg3!X35!XBd&&dJ)zmvfD zmuHSGK71>}PY)>`kNfat+M_jw<;Y6xV$QzndX1*8XQcY>(cQ|HLoOecb4}LrM29ca z5xFxXL=^qpZy}*aR{-<0v;-{DeNH5ocL%zdBd;l$H}<$1`+l^koWgUrxmdN`{&Ix! ztb4BsdA0hzM^x=@;qlvyruto(l;TF`?_Hw8!d5?HR~AOcwSDiBM`?oBE~6uf?B}Yi zM(G07XO9aTGSH7P%~75@KWjYC6K9U6kzID19}pC(ySaXyC+-!)egpO)CQYC7((}aj zWX~Bc17sz1obb^-j_Op3>I^F90}`Tjt+nVpC5}AelR?G~mnYY5a#|ED;3BQT4FzNJ zWVguR&xAi9Q&l8WHKDMYF)!-(*-{STKjI(OfeNI+fU`=cUMclgxRYTqtWcYPn0Z4LzWlyZeVM8r>=@v zB9t0|!S|5ZX167sX7DMUYzbP=Nm9=VLLCKQ8fn8j&;UDjXSF9`v>7M;%Oh1+M#ha@ z9R&GrhQtGAG(G*{S$IX%Sz!hxC9%w_rXo=&IHr2oExXp6JFXs|Jh0jfu$oaVZd!_# zJBlcew$T=@15+p+kB}VvTL!UfFGh((fjemMa>}HWl%x}+N`I57Wg051N^w`ZBy$=q zteC+mF+Y`gG((nFOLURoPt5IZB$YedW+<_#=yaQ=ww%xiQ=#piHC1QILfhmeV+}ID zqmgydJz-m*TL-mhfWv{&R)Y8*W9#XeI`+cdZfVt5+bsbRz3f7TWa*zndmc-1w99he zyRNi~D@O8!ectcxvIHs3M91J;7QFN+}p=gV3X5=0O~Ygmz| zN-5L+fjyp8O41zN2v5)#`Ir!({g&_55Ghu|Dh^&k#}=(ks>TVugy~?6dy!Ft*;X>| zC&Me2w5eNp0;l=j_Auq!Z(Hmch0`MED@c1tdWWlFRe?@Qk1T*z{6Qp?EmLxvdSZ19 zOx4fOX)+?I2clZyR7Y9}ew47&pi0)=RzA2a}Y3oOruf7Z!S z@{GIcxti>k8hKvJhK?7~D}HKl*>E|qg<1!U-By2&8=GDdIM#o!uQUDgIXG)7Zc1eO zHViW7xUXF(a7U*UR2=px)3(JW2o<@+3EMcJY&iH?$~3;K?v}J|UgW^!AkzYgZOs0| zVAc|>%5sFCgn*?79r}Tum^e_xHCC}kl<=AsI~E`r=0Mkj%JL)&v!Gd>q{{6$oc4S5 zcovoN8-2(ykkIpTtq!xkoJly)oU7=Cl?_F$E1#C2w9*`zQp_9ufHSS1uH98AE*R8p zN9{X9_6Q|JF%)$^4M20gl==E0>6c$Bch7(#%j#W#%0dNjzHxhH8fECSzLnsL?9VD!0=vGICmA zCLWIKgO@MFM$jJ$Ad1sJ6AUt=cicsOlh#s>r(S{=v}}OytADF0MK3|;Dly{yP!C&t zhssJAxi~EI1gDDP<&^| z3nPFkL?#kT)%0lMuAXU8oczFUiK|Lf3$revRgl7VS=eSUydWWg`|u|^X*zF{X<2_A z@4VMq=V{JIzdFAcD6(@b{ql%uU0Qkd^cJ%S0m&cY(p#7kz{?$LL8J@ z#N3G=9dOS)xP_>$Kbe`izWV4i_8$6PH+65ocuH(as^7qXU(QU>7-@S}q1VJRv8n3g zi4XmF!CRpWEbk8_iivn;pH!oS!lMYe?KivnnDI%Eau*mgerR!UwCyA-epO@)4orq|jB|O~tG1{^9aKyXR@7&Nq zFNVu+%V|#9f9{aQSFIDB+Jz$;>zNOe@wqmY*`R>K9BZRW}{KvM=~zgRW$i zul>6F$F9*H7t_}K&X2~q;5koiL&GnTS~jx5vu7YCE{spMAXtR?QTQAW?|Cz z#&6(Da_h%{(61`r_lk3Y1>GB=h7F%DF`~>Eu&_dvutI~ffIxiIS8XjS#Kagb?37(a zbH_>X7XwuktCfBu*_brv4n=%Ap^{s(EXPcJUWub$T0GF7O_)1<lc9i|JMw6 zSWuLGK(pICkqZwR6f)t8@pyT`N^q1*$1mKuaJhu0uSCWnK5ayoKeLQ};4b7mJ6JG% zSJ33;KEIQ5$y~Spc`au>CBtWZrsY-b$DiOmnfF&|`2oe&m|xXJq~7W6o+6#?&#+Z~ z5XLf{3p*crA+yt<`CP{6fV#=`K!yV_g7v=dX#vPoU3wPs6G&V-ett!PKNo`uq*M&yl(H74ojDZU&A4hWqX9>`GvzZ34x!E zH05HniZ32-%ULnBtOlGtuwS;}-SVsq;USC36CH#FJcKjk7GXq3WmpnmN96sFuL>gV zQFf3C5rR;}OoCvSggB?CTqywtF&j^;6Xm3RcM_xAe09eYrjIcv-qd=`*4vNE7B#hg zn|p8U*}ms-^U3UM+&sy$7pW6_|K6u#-L&2Z@@bvKDWT(0vq`5>ASfX)0YwplsIJ?h z0ZT$mnJ|<3){-!Yt(O8LFE}?(_#*2D&T0A_pA3qkj5Rk;_L4rH$9{TZS3QVa z{^-0CF@R@f81;HKP?YS@66w~iCF2p`3t|UP;0!9xydutgrazgO-A)`15?q?<^qTFS z=X07nMky9FyZFH`N@*Grk2ng-6kqf@hwT=-W&Gu+pLuepnwQQYqwzpk?^r(LJHaq! zn8Cg}yKsWmM;e(a=>B2r#LrFLkXyWbXv@_e);^vdNYslE?8=CAR1y(*t1gj#i z6?5AcM)jA(kzHpMF<|jU5FriWP`xLMVanT}tg2UZ$UG&(;^jx*8^7rt5eO!~Qtlb{ zDc)@eoij2E*$L6SeAqrLEWn}(1n_0~PO~_LrX8KX8;Vy$7TFMGH4Z44Il9~0;W|2b zIiC<;IN;O}B1P-epwmoohk?Wko&Vx>baMv1jeS0+P1#uLCrzs$=A-1Je%0h2@;Db# zMM*xByI3NeFZ{VU=d%@g)61oMwe082zaHoQpW~@)4Z=Q_iQ7IF`VlqL@-L_JNC{bHmi@$3z71C|Co22?NDjUmdC};lag}i_pEYT$=_Rw{dlW}*e-m=- zyl1v|JOU;U8=o__VyzxmIyTJvdO2jTHc~;{^(3cV$GoG$w_e-w1Nr)fSvt#*-+j2}!TjX_G zb%d+5h4^?+Fz{EV^@jM2CC({Hh#x9ADM?S-7?XXj(*kTB9n9=u+Z$c2r|F{=r_I*}UY?%q z-^|)V)$>o6zmB|dO(kg77H(K8#*;l2`q|hwWs81Z78LH%X3j6zWwxL2&Cs+oYLe7) zi>=(!y}%Pif&q8Poqb+Wvaj1RJi&ZZOaDhBH-_ei_7{VeK2UT4;FVszf0}#5kWoJQ zl!&etU;9k7;QP#I@TOi>PO^E5io(IvDKUq^6A{*~VM~H><7zyDoc_%z64O-?%KW}* zv}N_Am6_ueJ-cVt=Q4la3>}>b!cP_pL2;Ou9d`s3hXy=Wy53cs{T2 zG9O%b_O^ZLnWl#gMBp>(U89i2NB}nO2GvU;sn{^9w`hWi-D8rbuv?XTi9#Rc4(|)@ zja?htl1%Ov`CupNvXAl1u=&7n4@yZ(il*ka z=v=cSbrt{h4UvC>Xo`2GhEok}MJoTAunS>bDKIe$d<;=$apxLuH`wb8PREVBG!3rbqtC75LXIOqQ zlkJDphpkE>%OChl;av^`y=wCaFQ3k<_932PK4No!gnqG&JFTt|sxc%f??5?aSWv=` z5#lJ2;^_Rgx1)Y(ylkdxZ_Lb_>9FNE)U#WwCRSlaorplJHWe%WJE;gS!)hc%D(!5s zEq^_2x>8N-$+{nhLzww-rj^()I3Fv5fvZ8~)fB|a@V^b)yDUt|wggGNN*Ax^C$Exg zwTqO(=K*Jf7y6C-J}c*sS6O}fg@>>G)cuxQ3HxtN_FI*hrxnI9z~g7ycIZS;-T7W=EL?A63OZb% zABu$Ij5_dRe#Mn6^`SixO6kCT53xIt_chB+S^a#uMU37f#q&r#G5KZI<7DkBhecWT zsPw5CkNF-|?jpa;5(`WFJAn$oAhIc5%rB+dE&IX7x#%k{k$?W#ZP7(dFh^S~krJeTM9s zv5!4+JwKj?8sYa+R;^U1&ykQ`7D6R;tA1_f>S>HM#2LB4p2;H9(DW%TW`OMhrzx1z zluzzxE-Py4s~IVl-8L3p&_@$fnT9C*qi1-AHIL<&S(G)RnVw=-RUikei6SQP_=Edo zDhDguQHR8KTRiG}qeVtT`eSF$N(bt zX_^jjlNJ2tmaD(&e7EzSo|_yOv74-z5$D0YD2$`CV!R~;*!8Wsqc>-gL6QmOKn{Z<_VWCl)ay{?PKm&e?G5mwGoAww#T~~iOX9UWv7Q86ZGZi5vdnNLMNWyckceBy=O*QmzHH;B)DKNpfq5`rO$&1cI8t|X=O zC-ou16y{A6eqjVvP?SA=@hh#7=6@!e+cB2Gp$BDc9y&_Pt(@mt2%~eb?^W-GlbZT- zMh8F9iXD}j3oRr;+c$mqH@?-E8~yBi%0;=##VkyWl)sh?J?^~Zq$%ABK03V>UWf}g zK4gYs%0@cVDfKb_c(_orUf~o^A47ILa??fxZg5&suP}SOXx{TxP~Sg}RLS4cvW)yY z=9_dEf~g|S$?D@>wS-%?qM<>dfM(9qI(Paxu8iui9jG)}07xU`v?99Z%Uq_CYplN6 z1Rqsc8N(tub@`-Q^QxB4b@I(YwY?d^mwhuJq6=%AK&qEbdWv|_4wJm?cTug+ZD2Rh zjcY+6+hm3IXY%%m$>jJ38lGXjr1Ty>gP2x~*Kf=&2}E^@*Ap_fY>>I4CivxdO{u#> zp_3<^E~fr8EECuYMy74BeIm#6Q;oBhtG8#oe{R2&Yfj9@YhNPaY6KTcFWNAP3tk_| zb$74Y&t;-flUrWQBWxRQ@t+T>#f92R6K#~UpKR)An+hf@C*%|978;o{?ztyd{ur;? zu@LYmKh2*sw#q1)8X|`6w%xhwl7WGptn0H=7w~gHm=@bDJ+GlBAGlP!>nkH;HK?L2kBOjHl8}PVoo7A4roSc~S)6-V>>pV~X z!CdE0l1{tL`<&GEI6{m=FrQ#@8By+s4&;931E(toJT;U(Ti>-gVX%vgN?;ntCZ4iL_Vwfx?-@IwrANAvv5?*2j z=aCaj6`NdTJCAR)m$*?VBOTLsOl9GG=jA}E^bB&(pG33}qdi88%wyKM481CB5zIH_ zVw1&f60^UKl_?gf9vaK%rTgFB#&How^29L80Nm!}3Z4rgHQ|qC1nxvtx=U}%Ju5ya z>$h;%e%0AiModCT({5_66J@6tg%ufha_z4zGvpg2gFQA6dlAptw)cG1`OevnWD#|4 ziv9v*VktAlY~2s`*;g+mKdoY*K8`5X{OU4&xOIyaW&UU$Sy-cG`63=TGtJXi?xc^yL2_Zm7S=n8;?+;x5}c-E!Bi9FW&9>#@YycdSvrs(9b5M zlCiSL^A)7?(Oqx0N#OyjT$y=ql{tDMOY2)&oeE@yM3depH5+`QKCMIf9}kgl5TuxT z8<{25s>_v!uep8bX&h2f26@keCw*de7~hELiITPaz!>+Qr(WlkUvCyF&hVya0VbtQ zpfipOp42<`P8xzUtLFm<$|I<6fau~Iaf8^|{868SpY^t@{@CgEYn|kvuix=F?m&|;jy4y*obyf(e&Dw)^qENiFij}cm%?=GdYDF(x0HDM!c6tW zWIg)c-d8K!JZtx}F0#Burt1Zdd64>hnb2kX6SS&!_Jqw^(0pe8!PmR9a^9ubU%pkh zP1h#rI1Kjlz6Z=GQZdw06iieacyue3fnNpEm9*kt2z(gItQk2NFK%NGSsz`q@;a{A zZq{k6jIRUy0;Wl&9NsXk`(QUy&Yav#-(`7rIbGr`ihHacw0A8VuN>fdKU?=mAgYdv z^FQZBCi)Tbc%cJLduz?-*VbKc@F2bfV@R3H!AD~Mj7mQpS5Wp?(nSIp&5SH(yj zZVR=hIh;lOMehAqN~0X3vs?~VaS`YA%}Lb-R3!FP@jF{9%Zw-GiK~w;4BuChlClLq zecc;Zo2v9E7C0RXe6J7~`1rbK>@316Qb(x#w(v3$RDHqPZcFydtbBVr@jd-iO`|~y zrL9#<=|)NVn#*LWLC&!5cBR2f%+G8PXTSc#Yr?TI>v;eCF1;zcxp!aD*Ma-`z5PTQ zD$d|e$D9XTt4{KNrz<;nQl5pM%nBUL|{$zNtS-q zPHOO-{I6mICFRn7!6A`5VBya+_7V}x8g@1Jb*;@SW+`aAo5s;g>bd6H%g ze9-S~rl^2Z+l)2P96WOZ?pO`){3amru2tv3l7x<{(o;&@H7Td8rDz}QnXVdyW5ieJ z3o>$Sn=IH1ac2*xR_RoFq~00hJwemQ&sJJBl8A6t-4D|`j1oClD!}{(4LJ^u@;?dD zh?4dqP;U&5y*>9k5s^U6yb1I{Cpq_#U<)1)Z&zKSHwVsPzs^pjHlHDtkP#ZVrKB$@ z#%D#fT}PG5C3Imn>)}b4zq(l&y}^mvz@-!cAoD7cqtO8O3qW9 z0EcC18E?-@pd_4wt7l1*BPlPx*y~QL*iS+j>vQ%a+$le^DU3?6j-<~8=f{M_&_Y}F zFK2#m#b;z8xdqa#x16Vo2%moczGB@&41BdknrfR=DL(Y3{Bikhs0h2sC#6YqEMk{T z5kTUcrjoMu)ynp|3ML6=SEWo0sggnlVR9oPv?pn<=5;!rX|K&qj;J@FD!fasc@_0j%8o z+yD*`2n68Z1akeMBjsJecGhO%4wiNh0Pwz^xQiK_ujJ?Dzt6&l2hX#@-d21sNP->Z zAl8;vFa#6U%)O-U3bEG$@ck}_XXO6Mzz-015C?eMf!gUjJ30iD?B29#Xu4KC(pt8pP>9F;DGxn`F*NNJHU8LYX?gJ zySBB1xPy!JU&4Lo+ScZ-RxW=CQ~3D}0>Ka9-#=U&d;m^f_<_Pp|6hLpU7v@GAHW0T z2Jmok0C@P}7%Yej-Wo5=a&f}(RUX*V0&)IT3j~5+l>QnE4?i3>{XhMHfUwcP+UDj4 z0YE(5a5xs$9=s(^Se^?uX82VM1S4iSVatS%8?N%+*8qWFIv1R&h1KBa2XJw5!OHkx zEpP*Pd0}NhPFNZQ;D-6%)3z{b7OLrB4M$f2@J9bR2O9?u8xX)?TJpQ`y7#k@y@Q+PzNbEzRVyczzO8!1oColbMSF+aq+VPdFg>b#(#GDANKh# z99a?!J87Vn_XEE_gg-Fye=uK9XNUy`5WvBW0sQ*|-~oZSKmZHCZ;hLq6F$Z855VD% z#>EAM1^2%+PJR$9lK=99WjJ7{_P;bPPJUSH|JJy%Du%U3nmh->b zgK0ef-7hy62nd_SfBSKP;7jx08q5*4aQ{o==KY7Ct1}pOS#Z7wq1COuA@EqiFMn!K oC~VSyW7F`wyn_X7ZtvH{Z}J&-F}#m1Y%z24V$jk`E6ZT~f6c>pZvX%Q literal 0 HcmV?d00001 diff --git a/notes/typegraph-tdn.pdf b/notes/typegraph-tdn.pdf new file mode 100644 index 0000000000000000000000000000000000000000..2d81aa64bd042b0f6ce9b60e78ef8c4529f475c2 GIT binary patch literal 34836 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

|2LArXfM8R4n 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 OiZ2%z7kA%3E&c*RGCmmq literal 0 HcmV?d00001 diff --git a/notes/typegraph-tdnu.pdf b/notes/typegraph-tdnu.pdf new file mode 100644 index 0000000000000000000000000000000000000000..f7c9abbf4a9131e89535730f23aa8df259e1bec5 GIT binary patch literal 34836 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

|2LArXfM8R4n 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 literal 0 HcmV?d00001 diff --git a/sarif_cli/typegraph.py b/sarif_cli/typegraph.py index 9a7270b..60f2632 100644 --- a/sarif_cli/typegraph.py +++ b/sarif_cli/typegraph.py @@ -1,8 +1,8 @@ """Operations on the type graph produced by sarif-to-dot -u -t -f To get a map of this type graph, use - cd sarif-cli/data/treeio - ../../bin/sarif-to-dot -u -t -f -n -d results.sarif | dot -Tpdf > typegraph.pdf + cd ../data/treeio/2022-02-25 + ../../../bin/sarif-to-dot -u -t -f -n -d results.sarif | dot -Tpdf > typegraph.pdf This file also contains some type graph reference values; these may be moved out into separate files at some point.