From 2827c9716e016856983dd35d010a6490539ecef4 Mon Sep 17 00:00:00 2001 From: fanfuqiang Date: Sat, 15 Dec 2018 06:05:01 +0800 Subject: [PATCH] add bench --- bench/bench-comment.txt | 9 + bench/spec_bench_fp_cfi.pdf | Bin 0 -> 144709 bytes bench/spec_bench_fp_rap.pdf | Bin 0 -> 140891 bytes src/rap_plugin/dis.txt | 1113 +++++++++++++++++++++++++++++++++++ src/rap_plugin/hl-cfi.c | 10 +- 5 files changed, 1130 insertions(+), 2 deletions(-) create mode 100644 bench/bench-comment.txt create mode 100644 bench/spec_bench_fp_cfi.pdf create mode 100644 bench/spec_bench_fp_rap.pdf create mode 100644 src/rap_plugin/dis.txt diff --git a/bench/bench-comment.txt b/bench/bench-comment.txt new file mode 100644 index 0000000..6691c09 --- /dev/null +++ b/bench/bench-comment.txt @@ -0,0 +1,9 @@ + +-因为不论是PAX_RAP还是hl-cfi都是针对linux kernel而设计的,所以这两个plugin挂在 + gcc上测试bench很多测试程序不能运行,hash计算就assert过了只能是function_type的 + tree. + +-对比的具体过程是只是采用了PAX_RAP的call检测,也就是forward cfi,而hl-cfi只有 + forward cfi所以检测结果应该是可以作为一个性能比较参考的。 + +-intspeed的结果和fpspeed的结果差不多。 diff --git a/bench/spec_bench_fp_cfi.pdf b/bench/spec_bench_fp_cfi.pdf new file mode 100644 index 0000000000000000000000000000000000000000..fc502e6faba49fc0c6617099372756e483118740 GIT binary patch literal 144709 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 literal 0 HcmV?d00001 diff --git a/bench/spec_bench_fp_rap.pdf b/bench/spec_bench_fp_rap.pdf new file mode 100644 index 0000000000000000000000000000000000000000..77388e41df5810b1337b0dbe12689e0aaf908bd7 GIT binary patch literal 140891 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%0DZW}Us7KRjup zhI+Vpml8tQ^4|=2^m!o}g>6n+>TYPG&hdy2XKD$uTs1cL%{D$cw{y4lpLmX)&mI_wwpT2LSMgaUJQh z18U*B^c;56!U*xP_q86rbT5kDZZ}DNU$+xI&iZ!=BMAGO#@a0~oWqgYyUcbd>NqR% zrL0)1Qg&k23G1L?>hWu6iCNiK`a8bvK-n}smV4!Faj()f&3cl??Q5xhlYXO^{Pd!< zIC_U&OwODnc5$@1&w^B+ZssuH(dyE$ey@j(+K>fZX{OC1w>9s;&{<(UW69d`Gc6JR zvy6BJ&mvR8@yN*D5x^_$z;{^}w|vJKt5~7F@Tndxko`1kl+k*w z%>{#}!`Ae(%OBXj$Jqz#*Qp&m+(k}EbGr;Z8K%BVuT_sW$!#6iPqk4il4Mr#RD?Q>h=i-M4rvg4B}OEP`C_>?@AoIEA~Yl|%Gc-E|g*29NAi32U5gv{BK9^-lX?e$C52Sw@knG~z8dmu93->=(bpXx17DR^|KSM|PTc`>mC z)7$rq5&&JKdCe*A#dmC`eLZE;3F~WRT0Kd=`YQ9eGdfxCio~$`n|5)kv1Nk?fZQETsaqpT*g+4lbzggGd zW*jBmDtNqNl8)FD+y=c`F|pcY>a$T}lqGN5_kdS@+>+ur-pSAlURAasjuN>y%F}HV>dcnl;2itC zN4VRbZFqlws^9}&Qe>!DQUWFCQKINkp5#r?fx*zfDmUAe$HrKcu1nw1!?5se+}2I; z_Ycq6_y{k#H>$vGwz8`gZl_m32TDz{y>Hv=@T&pV8He_TMtb5vz48K7{8gYV`t~2B zgtiV0o8tSQsfU_8`yK^*_deJ#<}SJLwcDCEP-zf=QxC`8EK2pRdgtYM0F;ja9{{C! zD}`vthb_y)9O;ounvEZW-~>e1EfZM)m{=CS8GwS908rJF+m_y%^45*?YQ?R)J{x@P z1H)tU+w)#+w<%g|q!Faod)IN7Sf>YpLp-_#YB(GSbNG7H+P~Sj@EI$Tnb$vpe)1t| z$WZea7O%&qB&?nN>OsGYoanA|pG-SF>mjknr*PxhYG;jyEI)GD$t$7i<;tvPE5G=@ zqj5uRzf3C9v-4r}%G+5PeZ*{(R@L-otYa3tbB^tFcBHai$Gs1|5;3&p7evEk@IAwRPcB}Vxx&BAb4S1jUD&EOWw~)hHd1S`b zmJWeo?>hDs+_B=U<1Y zm!>x+{^I2+W?|)YJ(P-6);O|C_WC3}l;cY9#$b(?(z}mtTR4e|Xvm z%m>xfcu}nh`PZb4z+8Aujm3Xj+6c^n+0;l-MFIW@DgALopi+`U@f0Z92n7(JWq~Nb z3Y{arvg#Uzpg^d}H^H$ewhqs5^WAA9F!yg$Bk_OXTF23a_NuB0$%7>M4@jz7~)20_W+_5b8GS9!V3B;1Pc*`D4`b>%X`9PtNzuCBEcd!{s!s(kUC|h$`JFHBFO5H54K1LkqhF22xC^Y zSb!8T6iC^Dl0}k5VJs(fsTmj zAO_PA6R<>&0U6vHK?DmHIZ;4q`(r$yAfl$G2zQj#`FrOF#x>AfK->X+*6Qpuh!!Bj z+HA-P^$i_R$PiWri|DaUY5rhFpy;WlhW{tf0R@6+X>_3bMlgY*ujwrKkpD3ypdhfO z#>D@O5-5=L0TN)Lq`eI}0tGT?Fkw{@dh|ye0Y%O=HT*w=5+K1t51CGxu+`Te!~ZKJ$Dcq6Smq!y3ruj|QUc5gCWZQEk|QvdrvFa-?uqSRZr?>Ou|;Y{8VwP zF0Ouhg4G(jL0d&Y0x{J;0(@RrU{nM&!3pGwta(rm8NVVj16%bY{$7O~vx|ZvAs_<(+!VMqz(ZO&wEr5i(g6vOnRH0~0>n`d^d^-we|4r?L<}G_kx`~`w1pW6 zpG3HXoH$^*YQQF%RL*Rggtj$=fwmA~L(X5-mqW!aAYnZbWsp|=t4AvEUH;jkcOyyp z8U#`PGs6CAMKg#)1qp--Td?5&2xKbqBg4)Jz-l0WFr5y|+{uuw1(M)X8f+K=_R?RE z(0@i$Y8`~4oe>zY*q)5chv0~<#cVA;!6n0FvA}VqM0#D0hA+tfsaj7XWa_REW63kW zSJYQ!aj2U(6M5=YnN83+mInxB=0m^}0>q5CMb0iM;ARfRgh5xWO}@bHOR z^pfFYfDH8vCgh`~L68$-fpCOmq~PLW0kKlR;SDL5Ss-_#TWBC4y)_%pesDp&r6-jXzyg z4}}NS+2au0=@3Fdg&2BBKf-Pd=eWg;21%|>v2^}_hVyS__y$Qlz;z3(1!b$ib6Aie z1sr~@%wj=SX0d?XL9zQVtoRWPC)6XOSD+)3meEn!9@ud4Yh^pw7E|s(5+rL0?AI%n z%LrrPt$3}!pZ3C9qL5l!*-V8mHVvf#hZHVkG7bvqSER(iAyYAzKg)?hh8;cX<;2+G zGgflnuFIDJ_RsRt_vk-dc6GDtVt>-f5_)GT_Z8@*4b5-4oJc|Dg+T4vQZ zFVM$twV}FBOvjQo)vxgA3DUq8Kg8Cftm zHph0*6(h=^)1%Mvt?y|^_Kz9T*Q>(t$k^V~bKfVKMC{6KuFF5TZ%2RaNzW*TnO;Pn zuW4Q9sK4xWH;$p#dx@czZiV4_?R!0TXJ`dQJ)A^~She!CN8?(~+}d?epDNR&&f~KV-Q4T4V_8BW_4czxT%*{^qU?dX z1_`Tnc$BCoCYd`nyLz}^T)Xbm`(`+P)VZJ)umU$k&ryCc3EWV{&>L}BEiDWBxB@UThm9%V*c z`8r4Oa66s!c2pA#J6mG9K-s&$&7(GjflvkF@VYv+{!3MOUNurH`T)c&_HY zGTbtJirti4?btO7R=l>eKK;qE%a!T2a?iZ!Jysd$4ZGxAc7D3k;M@p{6*=b?Wq&kp zy*=W_+Gdrv5*~Cd4JM>WC+6&({bkq4*{zAZbz%2%7-~Dbllm2HwoaUJp+Z}-o)Q?8 zeLIzLtR2n7=B9j}^y0{58?MKq!4@6j+w5Eu|ISCtBbhaDp!3ke^E2*AJB`)-E#mXV zx9;tp2KOEIso=te^gUH^`-0<-=ccsa5_+8GQu=K^ryci_v`2a(z4r$5v9!|4wSn*3 z*hzToF#pSm&P(1Fe3;Mj-9x|-c5&is|!a<|m#v0DtQ7S%VRNxbB z*+IM0dFH6;&aC~>SI&$r-*f9gmiv6`7H7`$nsWxv^w+;>O{MA;2^`kNpPsy=x5K`y zC&34^iPQFOaLZZ!L3d^3C|%QAlX|ZhmE5DBbCTMNmX7WUt(L_-!+lRZYMHW;ka}0o zyv;cFuKw9^sqWne_e|?u#!dH6Ph|##{I)}(mfwBo#xk9Edvu3w^=P)jY#fn-w2aGYxG!U8=sWuup(Tvog)BPsLrD-Rse8v-Qi% zyF|@fzHByPZHufTwUyze#x36s56CwvT2C*s3yJ5?=9c$s^YY4hmfh~L%ipy%Xtv;e+o9dA?bP-2yS<-k0h^a6}MP5H5&hE zt5-?n@eToAv2SK0H$unCvYSt93u_ktz}LB>tiXd#ozB#q40Xk{drwz2*9 zP~vFhI>1ccwXzfiqKjY)1<3eJ0XHZERsiB*cnk>Rq(V4JJ##;1e63Gcc3}7=kUSLr z^6(HofrRuzGJ%9rzT;1j4OhUI5=gdUu7oEL2NKN9@nUsuVdZNIkh}$AOR-E)d&5Q$ z5Wtth3P3(GFq;xcM6pE9;|KhA@;gY7g>bkq8vMyzAxA_YO;P|k@%)7Zl2{?~hcx_x zKrw;DlL& zs3-^eX9;u&o(TfU21t!SvLle}38di!k^_M>f%bAo)u<++e;OM}t3{E8$Y!ufYjdAm9q5Tm_(AA%+e0 zWL$|9KnRp_5Qu;ue}D&&54{Jt;Q?TbKoSs06A2_hC4d7p0Rli#2tY(20bBqozyo<` zLkXlX0tv7b4hY5j#8>qQ%Avjh)|I0JJ&_B9Ja~=20yblT7Hk!03{+PbRbXR`v=Zoy zP$Ct;n^n|;-{lL1f)JSiy1?TE1|lruM~s|sNCSj?=n{;#JV>Iz>Boc1k)m-3R0xFF zEAU>r*w(&&jIxNTJE|l0db~Jxs)R??t2$4h3(AM8x_mJYBR0MWKPusuOF2Bgh$993 z${Kb|*@C1Fnx-hr`0#*p@iExzO(>ou3_!!@44MN%#MVe$g%q(U7@2TH!2VK6FkkGC zCYX%R#i_EkJ+34qT=ixtF8~M|r*wobA#81?q%)xeb`|Fcf!o#2D=9xvfZoan5)yH^ z7@B!}m;(R-nuyR8nvF2YWD0B!LJzRXR(r|eD&$aF1QZ1mngg^M0yKzESOgZ{IG4|Z z&H%;2q^+$hk@7?w8CL;7LlZUqRRJSLb5e@UMyM9V5dw*0Z&%)io~dRjjz&x6%&=5; z%Cas^StgpM;e zD9b518a~ejwdME-O=9KCCCW+?WhF`7#wDskwUv2-Pyu325+#xp%K8dreMQ~+irRYN z%ICmr5R$@co?xO13HD!-$*qH6-a+Um$q_zM*agJmz=*;o#>iLwjawN+4xT&+2^Ww= z;=kX2IQWkSei04S*EfEJ0o+x{kq1bmqQ9hqfmT(MdT4i&UA*b|2i3qIKF`r*oCEa;}b5@spJB!n6*%uyf)QO6QfwLCzWbqA3b z{V{3OOI0s(5LY4&5Cr0xgJj_#x&?f9Mu~q);-GqYJ&{%H5uZzXjHUOIplO=5@@iu66_CDk5(Z?L_^DF!>}xhGQ0`~8VjR>C879H8D0hP zP58AkT#KR%v!W`)wO~yl_8dNJ_)*y&6>qOW7#8ezhD!Yl!>};OR5Reu!mwZw1ie8R z)@|u+R;SNPrzRWIQ#4+`+_t0J?SnUxC!NWpt-LcvvX#&&;Xp5q6)pMwv_F>JUPoNa z8##U4fZlyt?W(S5uYRYQd5h*UkRFC>4xPvf>y<(*FsNoZPI}+*czWXd zxg*#5K0kND{@q$e3y1BG7M7$f+e5wf>P)e;S@(@C+N?H>vD65h@yTzTuivNTEsq(7 zJ2)BQ${VnJ;qJD zv+&WA!`j{*^xy{2a2BnLNhxh4t|NYcY)TLFL zrR%SowAWs27eieo-1K@LdFmw(Kl-On2YTx*F&SRfY|YADYOY>7=0`qk4hnv1vTbw= z%fe+we#t9t&iC(oOWj<2WjeF%T`GUq>G;ULZJc*K8scJ>K%Hb8f8SBt#dSZ)ws6j^ z{Eue&@xhU8b9O{U#k{>fyuwBE;A8(YZ(|m|{mr}G$m44#%(`-K%`2PqqsJ$a4OSM6 zGmEgV_M2i0;sncx#gSq*%dX>%w210y{sjwW7-(5l zjad99mU$ujw$3v9hz;XDw_U$;r=899-S$VunP^Qb(BH`nZBFbpLTB`IFQ1E=H`h*I zdpS|Fh#~yEzFQT-vLny+smmO@)O!bawK#DsyIbnLxly{^<{x-UDb#(Gw|0M5*RtOG7xwG2 z`M5;m?LzOBTS^{(-q&mG(dYJ0A1qOPP!HQXJbcEi_HV1`!D}YFeVVs;rsY?|fT}A0i8~#} zPwJOha)*3lMK8aZ6~kQS+$^h%_g(Hza#&?do_(>MZ$#=ya>xD5u+KeAhL$c`Fw7#M zWu{a0kx_#NyfySau`A{yCs_rlO7FjA8=>j)nRLo-|1!!u%KIrK9(m4q)>PjH~u- zb678&xM+d(O6l+?WYd+KFNbJs-1g?2%}~ybWAj(Koz7Ck%%E@XGs~pN&5g3L@bcKp zrw;@r_gnJF;Eb$bi)GpCp{Ivl9+con+j2_za^S5lcTRJ3Ru7g2Yz;E4`F7l?9E#%Ay zHoSJ%{n0w!5aFhQon1`Rat+S3TAMexD?N06*2b8XHt!ZDJ6sj{3DQPat=&fsZBx+R z#UsS?v5i^l-8)X5%30fGvM(ce$MW>fTRLSgyV=quAxrnJN&lCJ{0EG@Xsk;P9868i z9G$Pvb0iztJ@nxg2lhK~ZdwRyyt{GaF`EC(;R))&7q5II?wSzR2Z5_kJO}OqvHwt4`k=BRv!( zeaOiAGIp@txh~J1PgozG)YU;aVB)jW{LrOG3U2b3ytK3T5t25F!`U6?iISS#pE7fH z!NQWmLoI4fV{|894D!EZ(#>w7-m2cgnx)l@s;44T|G-5Ko^#4? z4cTWPNwmLR5V+yU-~mZjG9I_OzTkG=`NNKFI4hqYI-i>ssSm;q}oho7`4Wxoq((o9M$9b0Ro7T{f3jn~Hj;hsM&O~ao)_h)@$#z&zq7sW{F2bQY&@7sK4EFa&04VYnarfk{14zach`7 z`GXKPsu6tmIu?{q5S&Wb53N}N37TpNk~U~QSPD;+hEw@N(l;h)BTWg^B_yR|61hrC zLK1qN9CS1m1y-WKZtjq+6B1_-VD%u#!}Ue(pT3y4k<};v#jX8m+#2PlFERd|art+~ ztzl~6-NO8HO%_Z)MWQhja$P^FuwvB|Ma*u z%qG>;i23)$tzjm;rbgpGE^dwbE22aHb#ZH$Ik>55sR_L%peKM1@k84)K;kr%BS{tP zMuP-7rr=*`G}w*$t#;ASpifmA?5RqFJymJ2rzs8gupt>{sHZ6n_K-Cjzg9W`Xi5hF zP3ZujDcge#{CGKKdvs-cbiBO=hJMIr^Di~@W00vR`A-e~6wvf7EC@0=goBCNPF}Uc zMa^^r>B(ZZihA@B8fa!}nhcXqscg zdIYEyPB=9Ec*%nsW2L4;PfX)fn`O0W?q}_0-8ZRF`_-n3gseO@z4FM#k29CQH?Vu> z=NZml(Z|%WeBg!W58f>-9o&10%Z4z+Y~JE8htD2x$&U} zl9Fio`%>Lc%jwb~Jy*23$GA9pRATqC>FZr8r;B9LId+5AG00o5>>6x2s&Df46>%EZ z&V-wHI~fw0N1K@a#N_mxJ|p!ubKFlloe6K&+0WChpT19b+12JV4h+7n)3*EW{h4gX z-J8wFrH|+^O6OBZaZb+1ygU=PYqk#8^$rQTIjuT0Rxk6-;kdGPU0+XKJ^Hb8^?BjV z@fMXX7EZ>o=j8pKnpx1rd#29a`szU3ro$40|6}hv;GZay{%we&Cw4r~0xF0`*=*mn z?D7MrE;g{94Y7NQ?QAEYha#X@&a*2P6fD>k+yB{scj|lh zo~Q52-RtM?$6tDe>^w8`%*=P5nI~r*x%8>K)_U@o>K2jhZp9DC*o!JB%=h1&OPo=d z9J#Ann!DumQsKQ6c69)|{m@$u`TCHiXbJQo;~9}udp-m!n{p(Zr#0J)!KZ<1Kx|4CZBDD zW?v0k@9e(qq(!y6E}2t#@XiemzhuiV-#k2C6U$G$fUKB*?wIw@+U4lG&p2{MYLoU! zCvWRJGx`2SOK+Kf{d1e#e8;cudvEbMW5!=Jn6Y5YT;fFg-Pa%4?bGEu?Rwo-qvoFP zyu*AtA#(Ok3l9x^Gh*czr+#`({h;eV9sA91wq7}MbZO!H_l^m?xX-C`KDZ|T{HH6} zZL2Sgz5UPozj)_1i%jh9L;iTw*PqXR@tDtryCxoq{pHZ!`+*niv_3Aq^J&eqx0y8>zwfJ25)R-@i%U*j>YFJxG(TH z`*8n(eeLtPKK<1DuNP{yqt*Vgku47!Dffhz*8Td7#jm~b<;r61fP=O> z>Y8bXc7J!}gpH@Yqb~WfwdsZ{;ajHdwD&o;9(To<58ht#<^ESN_)TZsa+Y?**YBLM z?R^~4{o=Uy4PZ2nyRu89*r-R|gLAOF^+qbXwaSF?}2`@ZcKI=hZpcf(0DZiPOu z&c1aAWy#E&cV9Yb%X0Ny@{U*E|JZo;l>L_f>cz$L<|G~*VaqdjJ^Xll-kG^G=ZLdL zZ=5`7OjF#)W?<~V4LaxTwt$;QknD52eAqpB_YZeJb)Dn4ABQ|Hel;<2$%=hGdS%L~ zyWi0^UVfvo@e`xQT(!r@<8L^=?SKE#W1o9#(`8q!SbVc}-ndtmL9#)#NLMHV7+C#pZ157H@s}6eSd2I>-^7+z3u9~@7;6B^5!=0FWFFe z@y<)0e`4mTuWmW|kFPGR9DVr>Tkp4I#h5#z@P{kTiRQ%?MqK<}sU& z`syuiEHV3oJD=%hU$Zx6wp;(ejmPfs_{8vzqt;om^!?YCeYx!I&;wf?cGI=*9g%r| zy-OY+HBKC9($j97zu>`jUcK+t8}z-mf3T6tp9e)Zn|>p8SO)!Kt?VU}no!`hw?_0P zpFR3$W$@7MA1OO|Mz43nF899=B~~1}t2{XU#S34&c6o8r!xqi{@T*bd_dVkhae{`` z_I!2r>~Tf^McY1f?;A4v_P)$n=PelnL!)PV9!U9_U3S}h%LVVHmI|FyE;{nMW0@mg zA0K)0froC<58L1r?->{F3~g8(jGQ^`iAOV+#~0mH-Q?239ZOF<=Pd3E`7HMQT=l(o z_dET}?p=lT?}_CWtTpwagATsu@vpR}AKB^n0^|R1@z=Ai`@B|O+=Xwx;NiQ^P`Axz z&Tf2mg}w0wll;qWN>?wRzx8{wMLo`VU%p-sio($}`+ie>w=kYVP zeL%VbN$t>p9_dYb{j%R2-aBOSov*#VS^2`V=b#sR|FFxv+mGCA(skQKzV>BqJpHIm zZ+qzQs)m%KI@ZXPd?^y zVm5o@iyD2aY)9p+~M< z^6TXjmrt8}!wY*{d)}QJ?{mVat*-vys|Qa!akm+Je6@6o`c~&&Hth?~!?VU-b<*h% zjlErc?(UCHh+KX15nJDS^Xn(Qu*ohvmC%dcx~V1JtwgrlXbRDK^j_kdF=uRYlIfki zPwdt`Bj^EdZSv zJDK)h(1H75`1@~W=PwGl80HbyG(-Q-0T;t8%bMoWe=2YRj&`njtjlG_e>!k6%)PB? zDf#6A7sJ%$nr7pF9B?sA+^%UZ{NjL%VcL65bMco4T!3MXKg;BQJ6al?@ND3^#z%u!5U1?5gYi+01{-5Q_aC-IXQn+E;X21crTy9u4 z=a$O>%xn1iYL2*%hvjqs9ajh(l+A&T`s++~mqTtbp(`iDvDV-@;F1dt;_mSsz#;efUyt>;vIDs1zW?8L z#6VCmEdq=WAwVl^w<87^8i4@8a_60XXS~o4Y7xNzfgiH*hiD;~;4?(^z)93q_p4Dq zFj92Y^VO&y7$-P}#A*}~%phL%`f7S$Wmi34O%IGXSoM50J#sa@ z;plnL)pB$92kg*?T9B9kbth@MT9{ zvE?78Uy(xJs*mB9UCv%sntqk{tL^ujv`O#f$M1bld$GTK*{6GseII{uX;W#oBIcL$-XPc zyzu35kBwOCZQo{#e(!mE#f{f_FFgLiEl*3qkDP)n*y*@QJIuLqlk2EQADalB*I#_# zj$6;)X7&R4&3EpmE`0ru=S8-9<(}y;-M9b73;V|uN8Ee$wPqjL=K8efp4mITeg70^ z>V>_vHoI^C3pdjio<bHT#J)EToz9R!_w!R4ORpLz4d>(_Hup7`ofizg|eL*C21F>%U% zTfKjnG;YtQj^2O2!J+p+QwAqJcG|S*k=fBRZu;uh{;}GIFP&DMGJUN_(LL^oeSFQ+ z#c$qv_>#kJoNz+${LMZ(N+_YZyFYsT({*1mXM4shT=w2Q&+T&5gwHnL=lo#)r>ANu0hNgexBZSAiQIN~#YfxLy-e9gK2p2^p) z*x^@GPdagjPs| z8^`(78K>;9>|p4_>lbVkdGC)0?0gFmM_l~qwRh}w_X%6w^xDNAJJ+AG z)d?e}pO_y%;YsgV+V3tCZock!#hGV)a{j%`rutr+x|G>^qr3LlRhz6|`3NPASUGvC z8I#72ee}A`<@pmIz4U==o_g{e-#V|sf4TRoz>^znzWB|zzkKTPO~%bT|4$~xpEFD5 zrjGI6eDZb2ZL#&@IcjU0ji!{BPI%wD)$wOP>IFTK_=Rx!*H;-(6wbwPXu0444_6L(YfAh(`m$lZKDo&kz zV(avkvlM?le!!0FoN^%aUgxpf?m2vnZ|(W^rOgABS8rMTMKtktsq?$nuiN<9^J)ig zyFI&2a?YRj6V6;~*RwxbbktI2@;lFHmuz$Sh$D{PdiLgTPn(;W^Wdpi2J;4wygjjoBm7g8==CA&A^58KzSs%51@smx*^v}C?!DHh_o>(8< zy<^&BU!ZXLErqGaKX~ua$FOgn_Soiset=m^d+fdQyW8!&u{k*R!jG8SH#$vy_nF^r zJ7(K0;~U>Uag!4lKlUhn!CMdfc9|@kmR|R(FZLe2?Ry7kyXDTi{g~K!EBD%8pdNL_0F|t zt#{i-)7Rg5>k&`?VZTLpenAm;thM63%;R5A-TATdA1=K7y6szBtasO=J0GiA+1BCN zIe!}SP3Cv=a}Q41^#1K|FXUJN4PzicP8%s>+>GJ zho}Ga$&)kpeR<<+KfgEWx$Z6RsCDL!^M3SB@QE{4?Dwa=rd+-DCZj%j^{ojjw^?@O z%6+uyvmZZPJpS@aK77^w_1M`*J^028FKw{yRL~9Ot_xl{Wa`Y~3Sa7&4KDb2HgedL z!lFy}xP11b*3xIjPioG6>%!ls=e)VaX!*v^Z@cXCOV_{k<`tp)lG(ekT{g5g%>Q2S zPQLBWhrTlH{RfxEb$!RH@3{KK!w)%h(+#)Z<;&2m{cAov?E05ZQD)!jx{4+n3cie_~>4E3pz3b7l@9aM^63<+QADi1Jy5ubnbn&Fc-za}LX5YU9 zKn)$1Z#TGKBmgyZ#eU)y{$B>5z+A8&daM8Y74ZKbfcmEZ)G!qI8S?m(f-!epewhFi z?nW&CW_JFf0H|STx~3WWe-3~e2JUN`OaG|=)G&MT?_kD%IsgS`8n1cd^veUFhS{)x zhkSvCs{J3E6UYDBc^Bj(S3hA%-adYG?X(=y9~R<|jqsvrxG02+Ot`(c-8Km5-!vQn90Bn)=1$}UU;_%~ZUQLXMQGfC)!)}`H~;?c z;1d{Y+OjJq=X7k)Wwrtu!~R%%hy6Wnf!Dr^U=48_7w22eO>8wc$<-~}hOP5fV>UxP z@Z0ylGh7qQES&_VkYF%835?mmz+_koG-^YDz5M>rbC7-iH}KH+x53{(nsF}Vw|Y|; zcFAzX%Z2#91w~yEbeRi8?z`dys##E1cEF|qM&JUG0*y0>NiZm|{k|yuOlbHg#h0$i zeQV@+r&HBIyV|PrqdD?-MCr#sfB^Vh1s@MP`K{)n%RP7db>AC`*54Eoria3VBHl>= z2*beqVIWv2m|y<`ymW}7t!Zss!;%CEW#wK zHcUNCYM9ol2bOD#YfId1$u+*N zGSM{BCM%N>n7UA1g2j*pM*5Cor%XOl$^^ z!HsKeaKJ+h@Wp)%1w2B(vk9#hD0f4rfcYhW0Ra-_RuKTi{QDyH?k$m&`lNtzuHR-EremA zDvcYK7uR7gX6dL#X|zd#4-g1uc?peF2@=&1N(U-o0hOUO;HsKlm9|Jk#RyH+a7%>^ znlKC;HxUgZO%yjt46$HZr4b#$z(bUxVGBq86%#gWwC1WI_(R<#0459tDvHwIad?2Y z>@xk^H6VvO;oo0_pW!|K%WDu9lf1y^xWAe4cp1!uDGwJxB`DOSfC1J>ST_t5g)It& z2@@k!um&iF5E|;WG>|y)YJ{a@2x{OIi4d4USR`qXI-zN(N|A=8Tbc&U7*1m-No%B~ zQ@^KjaTQhxu;r-~il8`+crgk#308%fzeSYNn#kP zdua;wY7~jRw|FjN$! zf3%bLt&JJ(J+5!FI$jzIz8gP%$Lk*km-ye500F_$ca#9+JpSRD49ngAm%W<58r}b@ z1QwX>lDC~H1mL_$qne6S1dV!i0;5fX#Eju}V?Yx~*hDPE0ESex49ubp)gTF=Cn|-2 zyrHUkHH)MSjfOP?)4X2O)G!oCzG|qNX;2hxY7}OgUQ9Iz3@iho0h8yYfPGS761V;( zPs%N7bv*^wqa23*t~(CIz)g_2tK;^F97eY8y=$g`do}DE>3S02vFl+BKjW^b`x)1y zeft@guDh}zGIk|k7!|wE!RtdB;5)~Wu9QcRP0gx%c zkW~=_kP8fO1^*6LXnHkQU{Fu{ciG|=%6^|MKdd08R#)ayt1ENCD1u={F7TRH-LJ09 zrB_$_(yJ?nL4tAkK3I@d_p2*?>DBZ=AiV1JRrG$)Ux-@u>0e+4@9@gLW%)m?;6(uF z^1TXPWpZ^{095dPIQ@$A7QQ=x2zkc(XMJ?}C+DoUQp8inA!{$+=ECa*@!*xu?OodV zgbQyzJV~!TtMupsa#}V2@~^fL@7bm||106V15P?hxOw7;5es+Atm`}QjXS?Qe$4oz zH<-Bp7q@>n|AwW%`(&N--+OK0%MbH=<$kku>9OC;esSW4Cr|v<72}^j{qm)^zI68& z)A(_>j`{4sb+7PVF#Dw%y1~-*Kic)Pk%2$1v(KeRHKl0p*lVp1j_*&8`u0BV=$mIf zIcct;z5L3)r#`LjFk{1y5_g9y^&=0uW+}V`Pp)iiF@DxZ^UCIgU2gkuTKs8lBPmqb zWiWN=b=Mzy=-tnhABuhb&Pkumy!W-8KwqKiNKd%Zykg^RwB6U~6wi)NOx%x6jh>VK z__1qWye#$n-1R(P?bCbHcjSs)XGZ7h7hN7ao8I{Gi4UuHBG#x!CrqB#7YzK3t49BJ zy&Z099QUWUUs(3`%TvPM6DH-FoP;Tb%aN zan&=%zWm`1(k+i4HYu|F$Zral9QNe+6J9&`hQ~b9Z})}|yz!&2?w@&Z?Uk#p{(Alk zzg_F(mrIvFFFd?rmT9xUWRCdk zg6Zc+4w$y{O|za_KL6M$FOR%B;^z;0A@Jx@?1ZHs+uPZ7y7ypv!;S8G`@)+~ox9*k z?Ui#jU-;~suN?cZ=lln@*=)`?7ld~`YOgo(MX9aq^)j!Nr_33zf4Q{~J?s2;+q-PD z<(|iEF(NOXzU40bIuLo}jM7FUxCbY5XI?)|*OyO!=863l&m48r&fA{9#|d9}Z<@Q) ztz+fe=QOGlMm+pfojXCFaoyH$Y@*m_&A9!tPtUk=${lz9YTi4Cy)fsq-%Wj!9M@R* z!lBzd_zHFM6<=O)*-Mizz53%jc0KW`gY>V*>opdJo}$`S`BH6?1zdC-<+t>-puQPTTU<_nsd4=@}ySNdNTy*OTzhH|?D> z>ego;yK>=z-A}4+@%l#8wp+jW>)FwLZj(DB-W&DF_8;GTsBLUC@0J^HJbmZM+dllE z_jVaO>(lAE-sGJRcX`-G?=*J)P32FYz1s)R@hpEo^!(b5+EUJ$d(Cc{O*Xw2 z|L~!4^A4n*pH9#8JI~Eta7B0BQ?N_6y%0a(R`ZF|hLVjukiknDaI1R=dFJ>D?6l+>OS7)-KHke8K<9RuRYrwU;)fqqJnadLw#u+9dR`baX zVZY_s->bpG0gwaI@c(b~&jCiAu6a#cgC$RHkr$}O$HBxY zkhKS}91Kb@anLw}LcgE62H5lu86lW0fSk0{vCvg zX{cQbbiNqtfKlZ8?)2Ycb&aOA(|)7&0TX#!p!5S}s?+ zwv!)gH^-{ZSkuv~hG~rLtZJ$;wrY(9(lr+Ri(`lXWUHXI#&*@_Sb#DaV_Vg+wMNxw z>n0%ADgY9zhAM&c*{P;E{HED!HB`Md#ih{H8+NVbeyd@&8a4oA$J(t);HxYbIOwckjaGPQaP6KrSyy>gM>3^ zXwWHk9MwY(kY)?h`eH}33>vp|Pu&XBme?_!S`?5&sI~`b5R@m+#7NYjO}b8yjW(?J z+r?xXZ)-&@*=#t`TC3$9B+FI7K+|XhpmE+fl2ph>OKYJyKDhbFL4Wmsss?qKx zYq@x;;G`5JqlI}i-E#Dhf#?R(Fa~iL!F)=p+D6E795n=tjODb9kwY_@Zd5cfn?zfB z1&|x~8?lDkZutjT)Sw$Uny-=_1+b%ypq*T@%$VtxZUWTR(K05DnR(L4$HUniLBpg1 zDiI9QBu%WLpm~k}y}BL}@f%pl`r%S#)bC_;)_E*@!?LMBc4{AQC#8y&ex z_i>}`6@7(j2JILXDpGHuir8V$_#o#B5k)r!IiwvIW!)g?TCAfP;9B8m%g;5c=_FWp zffcx%;EM?i-elsBKEs{LTCQUl~#ekn!Ags|9) zrJ!V@!nxn;$&4@Nm%t;JFdHm{xn!U7OFk$Og|d+n6OyQcMfz=sB=dg4Utl9C2&MtK zK{uZ-*$C8w;1;AoArFGmWs$TkFVunBrluJP4>cgmLw0C32tn}> zM2ypsgvj@k5FnQop&}IUlTHJNkZeCmGzutKJO*&eKcJ$89&UM5)KkirRjF)wEU1@N z23$xBzlTkf(bHNqQM5b5bX`c zZQUEom!Nj6=&dN_QnWp&7U4u4!u(JR@_;MTve5>l0dlsl2t$LanG73HA<~*dxB#W5_HDD8534(Mzov=&MCgIoXEwx(JxPCK~6I4b{0CG79j^$cN zt%!C!QUrwqov_hE7^FEU;e|>SgL+ITEf%|}B2Cm;uHiuK@F1YF#gN}Jq<$_8#Y74T z_n~mby;!|n@U&uZgU-|wiD-teJ5W`^O@S_ZQdU4gv%J=-1S7T$_X8Hy%qS&HA7HdY zsva;;PfiCjhBin1+H4qb7d+W1=XbuLba=a9K=(Jx)bxW5H9ziT;7Sw77|D#)PAXf zpi#W!i&Qd_8OXK^mXpk}nj9dMAQP!ssDpueqhOn<4hFp}Qg(DePUVvRfL};Bgx&QI zJcwGB%5t|8)J&faBh7HKToLmfAA)Dw4pwQak+N-2MZ+I~z&Q*H2(Pc~gUa1trcw(6 za!9_Jj=+9@q#_dm!OCaTo^&-YcA7$`7id-6Dv`j}9e6-$6zz^*B+7+cOIqJfr*v~q+$(l04d6>h08=6)GbTe?*g6|oOR%XrJN z$e5ArPzn@;SgaL~+GHFGHjJLZ0CE|+&jhhb0q&M#PAVd?0&GwvF30orOvBsjdHQ$& zGYp#%`1T4>UgLWyy zw7FD?VIfLpn5ItIWt|C&U7NG@1kcoX2$RAwmIm+@GRr8Q+Y4P2isB9f+9ws0Aq5MvH84|x0Nd9ix+#0#rp>(n&CQD z43LX8BP`UF0`XKL#s*b+fa+DL&Dc66g|aDs9MDR80!TNHRXHEa^ol`&iz?}yB>SXb zsesdkuo?37m~04hFG3SogtwTK2OG(~&phDG3@m@Vw- ziynpG)M8TOAT}KD)QX-u-?Gwrh$yAK&tD2q+6?*APfGiMPX6aEI6ew z3sh4svgMcz5=|+cD#ED(E3|o^&6E*exWmx`AZH9p>8gj(!?hlYtL=yxEc*vqvK39h z@sJV7$$7|AD?_n>9hbUnRf~12k*t=CAu8EYn^D{!v6@+6BZzj|6=N08YYbD>i&O~> z4*Io@+R7%(CfBKAUbJpY)r=*mRyFUWdOTK+#|$W)1D{t-rj$(jnS4U15VBlBQYqQJ z*fXlO&^R!~+R=P@&|@iz=M(#JRfNOH>+4A@7(TF%t+gEk!KLP8TxUP95!A zisMf~ea6QFE#vEe9N63pNtY?k?(yCtF4rI`)OL z>8#fS`Eb9FAo~TwX2W6K$FPjRauOg1Zv70aODyA0$Vndj7s=X8-j~Wtejn@c#i}fq z_Zh5D;tjvg9|Y>>1KxqZ>ho7wKqt(|ELUg4*@WcoWFaZo^h;97#{s?eaXwDse1SM) zlZZzGR$gXwyPQ+&Y zgJ@aI#d)qH#@QT{OyzMvF4ZA}jZ|B!8C^y0C2BrTKAs7C!x<{xOasjiYc@&*UXWLGTJYOg_xDpp+L2xCqjMKU9^~_9@h(gn00!dLA`FLumlyNnZUqc z6hUsH5h~KH@mVLPc5-SD%5XKWrkP|eQ7j_Ow9?52G{vtcl}^L}3-EIn+!St z9qzz)dt5Owuxt)KZa#n=Bjlm$UIwiL;AYPZtyWsHz!N3##Oc zr94qnasv%WQ_L?E^E^=vrQ+>G+x>NMCa=edK+|LczGw-P)k?d<`CTcj3q;Rf9k7m- zwZmnC>R4nahePEI-t&ku0m|#lrJJds^Ep=wH{%ZF*M4Dv1%$UCsbFAV}7Mj^((Pt z3XW;@WUw8sCY6>NY-THvznE9CU{z3Q!7g!y0Ocj4C+}SOxW)VF@$R z>53Z&@Ii9WCJSXh!wB_yAeRpmlv)Feg;}6hJ{IXF+fmHv$uh8NJv+vJ{;h~X>Tvg@?l?vNJ{wD~`r!R6UvN1MOi8*=~zdxkkHH zjKUo)H4uVzPk?Hfm9iuYY$#jDkXle{(kANXY$lp$p=?~Fs8UqSL;yLhE|=?N0TB+DVlXy+$C6 zxO;^ZM}tl$Ua1Bnb&GXsf>6&}Js%Sx*%+PGrCKK3;)7x>65v!b+U}=%!0P3qnew11 z8wpREjEI&u-U-qTpSx|t;Zh^XhI(X|rK*k$GbLYAWLjO*HaWuxG+S`4+Rw3Yq8bb} z5YpRYd!b}jMcCk_ ztkzhT;enzUImsKNEBPFUVRgnSFkzob_b|$;2Lq8XTMPmZsG(HDId4y+k_sSK;FD;D ztx8Ut4>O=J3n!6gI}-3(y&@CvbKY1ZoR>f{@@x>eZDNS< z#*1-JxWxJzHp0uDD$jc&gSMMmAZ%Kb*)YqhEN90O;Fc?!M5TN>)T~waa!S z=qWUzs3)lPlwiziqdYBgbRe7+BaW0W`2)$C#shM>Ks#e3guX5m8Cv1TUU>@ip~Sg*&DUM@*_YjB~}gT0a-V+F0w2QWBP_L32~-X_yg z0`Y6Z z4SCB^Oe1>vJ`-&rm~4d14#fe#8}1KOcPF#NO2*R`zrD;q&WnlAbjq?+$m zY6&rh5^}_cSv~?SCQzTxf~|~cJ5AU&y+L0tRs>0*I25fkx^O$ll?L@N6#!WR3Xmf@ zI)+8fwAzpfAJWFt@g(LqWPeS!#Z-s`u3EL-8w8pp?DyuHP$Vdn6G5wH0hcR;sCFRV ziR9!C>gzR3H`+!sRk3I^iruQ^_Xg{&1Ruvj@hs{0MA@#tj4OcUwE;+{rtuD$g%hE! z&nHP4A+6fJZa3K(AXpr2g50A4yFpZ_z^95zLy5)cro;z2XsT`Z;_1E_#v+3h&PRY_ zT4@vzrRbD;I*)i&;Qg1f5hd9t1E^9j_B*{0TcEKT=B{i)u;~`s?n!M7$Ct zGJq>_aCX7Ray6Pz;~>EFlyik7*XpDirWCF*xwzpqOyCvQ4Xj)OsoPXF8s_ba5)E;@ zpQ(D2A|O{uN!1+Wga8S+NJW)k9m;nT>2}ESs%TVd4~V4cp*l`mSL;kBiSlAdC?d6} zf>f#lTnVIXp%AMYHWcu=FiA3|?=gN=Z2q%-f|j zg*#}s4rg-%ol`2|Jd7l(c9@CrVwcQisyNv!RA|ZMtKb||snXB7Y3P*5)JrXIx+Mtd zh71$gxFdzYJ`Wr$jUJ@?@yejlD%S-HX*A*$g&j!zfQAf+sDlF_jdUA#Y%5}QLqdBP z;lq0`Juy6)-+UC#T9;MZXh-H#R`3>mf&LM@w4Fx>XV?uYuZR z({$5kp4S1O%$Cv9rp6cSzA7Lu_# z1)zp}pxNyfoN`tVq!e$bh!P$^4(gCjrtR^=i0Mxwp}xUsRe@|-DQ}`CVgfEWlQr6rMw0|T zy+r^ICjuf1Tv0r+x*#fQIcCQT9)=Dl2Q=K~_*kHv<8nE+0rkvIQxnjZ6ok9!WGHA> zY}?HRBvh?qhvHxP^BTa6O(hLnSBCK!CUf-DG6|13ni}>8v+c62jf8LbrmzZ`Ev80yq?p zCllyk;LC+Hm1O8g+bvR(rIewdyR!XsRI)g-(GgT{1q2}) z=S1;pvKQ4FeaS2t^>8Do^_#rW4u$J&3UVsN1Z9><6fH)J^<<5KWTczus^Ny>uB=lo z)tWsM@u0MlksX<-^4VyhhQhHD76;~_X*P3R;3Aj9Y@yILG0{};Zd@zH2Utetl!WYUm0Xex$4?4LlXp_}M3RpD?D~!Qgx{jkYjeh5Nk(UB!b< zItLSMLN16ITWiJ?yo`jQqyy*m6awr;v5aH_Lo~&k^&lMQ^Y~bbDH$~pz~qKy(>kSD zX*7*FQbw%QMAWQuf);Ngax5;IHObC{SS#C5g2|Af@g&TFsi;00U$ceYjY9ZEwvtgkMJ9)4L!&cG_ zQ`n{x2}+3CW4pk2uJcs9%Jx&OL_O^vWGm^g$o8S2Qfc=)OpEEYBX~jS*6Or^fE}Gs zK<-}kOK_^zt2+hvVo3lU8*o`H_F87Th67{RXt0EzjR8mrEr@imT`J`9R7WwaKJRl( zqnmDlNR*^Sv>PFt3L2`12SuVKQJ9;*D~Wl$5J(Mj!7#_hD(!B)ovGS=02&wVke7m@ zlHBP8^TkZDA=^q{GQ^ZOYNAZS=cZpA{PGhwJ*$-h-F3gKY(cpQjjOl8q&~=cSSY)(lx|G#G+MVwt zW2FoirDR`I%o16O=oka4!Ym0(HshJ;pK z4bY{i*GJ(1w#qjfFjWIgP$qb=I6 z>Vg*HWIwNm-I@x7D==*_P(z9=0Q>W0t&uUXHt;OHT)9z?RqL>niO6E!Zi!l2wp+lKptzTLk|jO6Q~g-C|L^D6S^4+8?dBjKm-qan!PqgGkM0T zHGBk=EkuM^g^kNCq8V=|J6VeZaaq2^c)AiF1UY;c6ol=DFVo0`ItJC(AjhAe`T~-` z6dEtswS39Pc*$V29%)Alfxg5^Jf|n6U_Q^Y46xN5cwkhajMc0$*$6m* z)71R=5FlrS14c*8>ZMXoV;Qt6^}@M?MO@O$jWQcJ z10@Q5gY1&AuoU&nG{h>Fi<1qsdNh}h7;sih)_r|Yy8xp?q>~2tGGd8ow4L?%t3(m= zfGywXpdKRQLE4>!iPdjcMhZ=2)9nI@H@W~b4rZdEP(-4<5lyKO%|Rpqmpi!}-m%FDAeS|>J)Np!Yz7~+ z1Yb7^T3Zxy#b7^B>1r~eMLNv^k@dG}EoS?9y3=n*tU=rI(-|S77I{&PS0Z+ROKQB= z%`Qf3z~St{(O#_T>j2cUE6Q@CT!U$kCYY?M@Rd+5R?b8t4CDo%4U;F6WXYo{tXR~2 zbf;ZPg!_8iLpoX8b$LuEokIKNP^1>7ifR$gDo&|PVG^nf5q~U@&DTpvn^^zPHMPz@~ zU{is9I0d)b0L0OG%yBTq>IBqAzb*7CppuG)lm1A{V>LW(n1Tr9R^IDV!wG$m;l;8i z(h3q&T19U(I$--UECMYkAV?PWW}*SQnoktse#Y?neU=vv1PD;x(@h{?Lj=e; zoycQIg{&tjpJ0Fpu3W4234n0{axq_iAS(rnYXF-Jlj%k~30h5AY2a&Ry46O5;6N!r z9CYMp24uKZDTR$f-=B_zb6K{)V|lP?GJ+k%{E>Lk4Fm+QC0F%K1p+l#u$W3%-X@W0 z_d*>>FUskpsq>*qCxil4r{e(OXtr8K8*U2@jmBayRmeI~PaU^Rs1TuDL9sxlx1(T% zj8H5=g{U3LQ}LXQmC9wjhRb+MVT}T6L~OC*QH%X>KIq3Yl8A5y}63!PWE!$3G zTs!5a7DT<9&2%IQ%>rk@r{R3Z4s^qXJP{e7YCR2H1%Cq-I(`a^XHs0s%5sqqL#8!l z0K+9d3?Mtq7Z`ZU8Gpmw$>bu3=fTz_!VK_p!+DZnt)eNg;X*NM5mB*_R3zQc!2Vj0 z;XJiqw`CN{njS2x7BfI?RTAqy*|6w9E#l^&3bl@;LOAaC3jHqH?)qxJ6yEF?oK|`X9j6Ute^~|_xX}EXbb|Gm;kaX10j_IO+nJ-W)A0aaVdlK3Q8_kb#y(I3v~Ig z%R8B_NHSx4C_0CQ0)r0S^EB{s-jgeklmG{U2~c}BUl_t9eoem`sE0`%%0=U-l##jmtw>z0$-bFxre7d1npj!l<8B{sZ z@D#meBw6cLQaQ5UPe*v8Nn)htZFGU1)38818%bqA^<6dJlZ~j1S6Mj6)bkM4PrBPS z6$-R5L+m4(UMwnJ&{8GC`MRSYM@<32$s_t8?7Mq zvPbo{s!3LC!R=^CV#=8iZL^(>fCp`Vj_f9)x-2>If$LN_a=u;xXBui-F9Ho&e-J0V$i! z^D!HDs~!?iuuG8sm?ig;Q62ao5l)aw|Bs{V*jf~c!Vkpa7bLlqoI#Snj-=!a0#DzU zp3R&&r@Ka_sJiz{*Mj12we9+@?JEzT9K9`4i7O4?>IR_D?rMK(hT}|hQH^L!-x8knfz45Ex{R~M{_(gJKBZ^2{+^ogHtMVTY^r)@ zOJLMk)M{A7IHO=SqtjXFJMhG1kiDy)bVIE&dhK`1|8@77nPYM6_Bs2Nz8NhkZW*9z z@Sayc3lxW3-dTf=?gMC)f_f5{BrJz2{pc&75zJW6CHigVTN8RqmPJh)1RI}PbQ=@- zPoGMvr~`R=E5QX;k_D|mqqFFTW9H&gn&j; zBl^m)voGNe)OoKb{0A4wZRb)ho3DTJf7%U}1qE+^nwOFn{tIOOHksmu^Zkl#JY&0`{taM)YOgSn!9GT@m^AZz^HxE8)|SXc{6rM`}J+B zsJb*2%Q{b$nCtk@Kdj+!vA$-UiF;v7@zXjy^c@NZ+&E45~anVL-FrJJ*dU4qXjxd`gECX zu6ZVPT>p80)LfXJKZbF_$ekNs5*6}KCbX}@@6=yIgjX>u@?Sb7)b*HnLYt$HgMR56 z=aKsMS}2`;E=I-xMZ&6o!OaEV!BaL=+T8K1s|WpfYy54^khdjb-QQIOxNa$ZJ{4Zu z9QCYYkW3!G*2&usN85x(tdQbm#k)i_FSTVy`BqE}fQ%~3$imZ(6CUO5FVR`=L1kLlqin+eQ zwT({@!rcvYBiPmV78BHUS5(8-pC9lNeR5MBfA91oC2Mvg;ULa?TTi^Cw|{CDfyOQV zj`_sAT^c11^(RzPr#;*zqR~O=!R_&2VL8y`KzE)Yc>MProjqC1bJ;5pHwBdhA%D9; z(M&KLuJwMY&R&}!yQ7J!v!3Ck7c=IrOB4;?qIEF3_QRDlO{j#S}O~D$nkW<4-tUX`qKVd7J>j?OOP!~$W*X}Tq zul=2}Alo;ViCT%<)jsXTBU1%ptV`ph$3aD*`LOf!)Z%S{69vDAt0ZrMVcd7>YCr|i zU$qyrOx2wsZq@kS^j0TNk4Nyp;ROFPq3y8mCq{bY@6!x9Z@L-Z;pOfJ&%+WQb>c-6 z1MU>!+9*U+PDXOXq7Ohb3-^({z49k`KXQBty<=LDeEtLz-U#CN))8OD#2txt9{857 z3`Vxuo9dihR*3q2-DD!Aik$e?G*;18VIGL7c>r3Cs(TIxh?jryAnkuonk5+aVA8Gp z<2=iZqLhd7*T=~NWBgD|%fD&2VL8%-vPzT&^^>vIeblrbf3MyCYMN<#FLI+72gLzI z(JcmjWVi5!9)`80Nm8nU;U@ENnhmY*9CPsXAhtFI82|yIRwhbzft6V%k7W&w$ zb_NkT@&`(X;Dx%hK`-;)Cq%$uaQicH?60`nPBzPrAn`z`Bw>$j*JC&a1Ra|j?`IKz zprnE2-o#%ijC4EPCiM=AFv8-4P%@{egc9!M3xBm%PD)D_w?+P)Nz#ALhq&AZ9rg60dJEGk^sA(wFYN&beh6L^gMd_an}@E+m?WI#Gs^;uApDa1ih z_yNGMzo>%{#SXz&k-WQ$^u`5VLnIeo;bA_tt@x?PuPS;KaEP05=Y%FdzBuC9{?|69 zYdNhGwdQ>!JVP&%3RP|H0h^?}@n!pbMz~RZXuskW`saWl@1A_9Dk$Z~FMhz_^0-m7 zL0Z#6HL`Jr<=D*c7IUnP--`6|3*1dOp&$GF1dQSC<#Y-yofWJNCKW+K|JnUOgj_QR zT+RN0(m=fdh3_oSM^_-1G>AB7U;nv(`b`s}_leiHV~p-DkG+{fO}_L8UY@-KM*pu( zOJEbYCH=Fac)WMZJ2&8jcuCK%#N9n*^7`#W@Z7w=s?K?E=4L?b)LR9z zr0(Eq;pf~}3WPg2^+b3#KgrUvePT9~6K#N16YbVH5zg_4U8EOeabUU1!5KIkImZ0^ z5Z2?X95S3cvTeTAZB48>|e-nZP>kQJ?4?U7HDe6>=D2-21J_1AUjI60Mf8&f9{? zu~P%9-2ltAomLV&x`S5c{g&dk;9_8ep+TTP+BGOF*hI3L}@r_vW1tsh^v#gK^gJ$p427K0TexPCja5c>jW=D+P@l{&5^ z;DrbTQK=JdaK49tqV`DDQ}u44)Ie@;D8<{pKv~|miFD8<@(FVbe9+N+taJu zyrLa6@qZ&CUL51#OSkVg0CWYq7tDcnKTS2&@gWR0MBiCFeirvdyiDUHz!U38+=}yT zw_!&h#k?f(ioDdOjA906Ul9ILAcpsvLgdr+H*Y?S)zRLQ|HtRl2L_bLx`MrrHJZ!g zERf&M_WMG=6F~sbnwj(+TrD1&N#TyraFXqZ5(vEosF1(j zRiyShFCdP=A03j?=}+O|Et&+C7iUD{3jVQ{U(IF6haMrPN>rkAQRP0N(0^S1^X8?# zSpvt3_nU54;$3#$wH$xHRpAJkKe{oCYQTD7UwbM1v`m;^-_(4Co?gcOOuWA>{PigC zE__;`z#(}s%z%wG;#aN#EuX6u2Pmgp>+=K)-tvC%u`%eRmDD{obDI8odW|Gc*<^<2R>H2ST#$U*LFQ80vXToV|FeE+Uga!O-ofbf2a;c6n0s0b z{Ja9}O!;iP`1qB7AdJw!+P#MQ-+?{d5_33Wi}cDaMfavg#`^wV)o1*19guYZ#52T( z{vr55bj>tUrRK9!Vxm6)*;R|P(Bm2`BW=c_KO3qK*Y*2f6~FR4E;CJMmvGgtn=EI) z6y9Ei@Rzf8b3ITx=;xi3`&Xzi{n#q@fAmYgcB4b-#w!Us+GRfn3`&Qf8 zwFZ4{1BIVSKjWISZJdBom8aYg?j?&2#o0GrTp=e7=qk?ji+2WsyjxayKn=* zOlZ_^v532bfARh5$v~XcmS7%!QIdctkL1rP(r$jC)f9B&H!sc+!_egQF=sm@Xtq3Fuy2??)_au8qB_ZPV>82Vus&w+QYYlFwX3UMmM2kz4n<@gO`4-%g4S)J*L<_FKwx|=N3y_8%(s@}2707>*gXoj z6;NC}iCsL|N0m$j9R5E7>0^)Q{iT;pY&VFVx|IZ**gqle9{UfZ;f4vzIkb&Cy7z_q zLw$qPe6T)*9g9y)+5OIij#Yi4+T2-Ip*1%@APUAh%PC$+4+Ud7AC~ zhocqsylZ;#s?S9ddw2n*%@eZGB_3B%QQKJh-VMa%v-;kK2Tt9i7cH!2ik9sMSngrW zNu|o)QNb7;$2u;6xKQpAi!f_3)dDy$uinPKQuVre+(S%2X}rk?Do@2Udd!GU#h=V; zO!_5PTo}7ac~^Jd%_R0MEkXH27O=k=<})4jUpjm&K^h#8pRpJ4F|fpPmTOyv72!`F zAb=(OlxL#rKsyf_N^wQ`Iyk)Jd=ab83ZHRq(`Lwn7(qoHdbq{S+`V%Ph+T)}>{?4=ZtwG<3O#xk)5RSV^#GoYj#u*sn`L@-S-8uBHSh`KeO};jYknRs@KA&1qny6u7+e33B zwB}y98TUY+K}FqS$_LU+$$gE^qiiLuIJo&87Ij zxT)e3n(s$dZVes>M})t%xY2HZf-Is+HzJ?AD%@rVbm91)mBu?3$CYw z1o#UG#Kmnlv#Y7&o8t@hHs2p*#}7mw3SnnCJL;lAf;{Ls!Q7S=qj+HazqP*2%Ewk! z^57KP!r~lb&^OtCrmOl~NXf*Q&^3~EgXY1GR1E?O?y~d_^|WBR>LCQr_tM5p{b0b( zQ~xY!g#i#yDD=dJl{V+usiQ^~e!GNAo4Xe;j7=Anb|ti!b=2ONfylX` zYK^It$78*rD$NZOr<+u`tT1NOw@h?og3w8kb+d$ML0ruOK=Ne(Z4tjDi^n|n&X>ro`&zaorB2Z}a=b4JmlfZ~4}`$)gRCsZaoyr_R^ zoS>jfZaDL8`a4p03BpJP_Yg`UIgt2ZxA9(x7u{>U3=^pM)TeT?D0AUajjB4>yqdmFs1 z|I94R78(Vo!d2l9H0#<^k(v)y+kewNZ{Hv?vu;`-f-;w;#gD_sA6!i3wNlL&!HDc~ zy=0Zi3GADnjV)|}$xHv_ly}UO!o;;$v+K~$9_?IM-Q4?HF;>ro{!C+8;;cghCHE3V zj1zale8SU%<@#|0@1!J8Qj ztCb@wcQm5=6S~JTtHj4$Hag3An}|1kKPvN(8cj*!)ir z@9at!M{>{|WYTD@O7f=7{JuQ_vRZ%Ea79I>A;8LC9;U0>`X<4X3M_}nzzEq3jktXx zcghEp+K2V}Ibi8$Qg}x}lGQWtbO>;8Irr@}+{k#gA6obkeXsAs8v|xuf&NWj1B-g+v*rE`uqTw+r%!JY zK*3rGGG5E2Ly?^PpZ9`dyDME%NqB$yi#|c9lWoroYNLTMbvmp`w?5?GCKT!G^)Qn? zqjg73_;9~{eD(>@>(%1XZHr>>xfQ3U(@NU=J44k!%H?EP`HT-~bCWTU{HKyQP-}4? z74nYTwPkzI9xYCW>Ae#K=$Hw^>$-X}Za|Xme2kywPmw~6(iuj)9F*-2yeH?qm=kD{9S#;Z(qJm5fU@~1Bc5tH34xqqjJX<|c%~ASP8|S2h{?EVjn|iD7i(ZztTHc{J-)Ac(i0Un3RTm{gCrQP8@pgIeuaXz3< zg3h$VKoui=AdLUXZo;=8;hMQ#GG7~iJi=uA*sHy_XE%W3<}%gUFpu)*dfs1P)f{^; z_tZIX_J-xZ^9oXJ?t|WaYH@ww{f}o0Q7?a26BTS;f->Ak2kTFsHS%Uz3dqLcT{q|wi6^AX@4S^$>=1YtO$SzR; zJi&pyQngfY4cvAw2a`%X-{3Cb>rYgMYW$HBw`$&BNW*_FSC1udEyzwZcg z8DxbVB=Kop*Y*uOQG%6@ncb;91a^R3`B~_*2e;~a`^@hB8wpjv3w(9-sKVW$`-+n1 zo9S$hBhrVY2~cu1`SkL#>&d3>?p{tB&>j{Dx3as9EBEJ$DVwA4?2;Np326;dD&p?h z4}Z|u8#P&y6Y)`~nTBvGh_H!&mVjmoc756W&mF-&!VS4)zLEo|p@;YVJ>VSxAGCuH z4M?F0ief;gkBsX8;*sw0G{P;xmk;kj9M9WowOcBS_SL+PTl3uoEtJlFENFJi(e96F zzALkqZ^~|_`Uz5ZTE8Ell~lx$A*HJOEAhidy}T?E-dHGOvz`)1HNV-CPdhc^eM<9B)y z3~_^Q<12Uir$+Z+n#ArNdEn3%)tMz$!_Q0XIZEfI!_^7_zk!x|A?_lC@)qvjn7MEC z+}F`;m@o4xDu9L{2!3+9lzHq;^X%-~O9U}8NL7b}CVr`v6i7cj^3xKb@S32KVc4o6 z*Rl1U`;_=DNUK3!-}LuOq7j?Hv$KS|Jw1UgSAU>iiBAYetgZ~nVCF-e_-PHu<;FZe z@Jd7Y0F2Uo>1H_R>|n?G2q6X1vUSF;efMl`d&=t=B!TSvz4Sbg@TMO{qj->FV#GYL z)oE7W3Gqgv>_z8{JxuDKaY6Uu6?)R(`q?w^DWH!jsjF!_$FUc zpjMGRHTKb0T`~xFq=9_YP9G-RUu+$?G^HOp>?*!3(=|b5dbQB%YCw@!kf2&$m|b(* zpb}<%YYO<^+^Fw7te5Pe>3Z=v!i|QzIX0Ht{dHpjL6p!f{yr?*#FgLopgt0IyDBK2 z6qYB|{Pl2t2!ukI28(ba`e%RFGHy(>?^K8hi7V~Xqe%YC|km&T=RDS z+T?wIzb~-T-L`7>APNcGRAenK!}m!}@i%G}3~-iK~Kw1S5;ZOvoR&f%%kdzj?8KXJhnE2DI3`5j=vwyOQWdmq5_M z>^o9;h;Z~s?V5x4a*%#DwDQZ>enr<^@zHWQiot9Wdi9L1-JM+XO6mV{WCPNFJurvu zrJ51-%=uJkO^-Z`zqFm_M!qc^b*I1F4se`$b0l_kJ@xDH+9Zc2gM|^yb?z@X&eTs;2#cj;9Hx_i1a$WGVbp^L5Iw)Wxt@F`X&=+!LM(1 z?cRh^V0W<4ZM1H@)CHC!az<(Mtky$jhDnu-`INI~uqo(s_@t5!L4o>t6Nzl1AY{N3 z=jZt6Lbg=!5~jW&lH;)`e>DoK32wfs&tsLT{F&a3*l!hs)DGd-->OHk5X19&o-(GRI`(o#?TO_P z00IOA!9DgMggApi$Ew}h2AYFT>YM$7SIDgO^bTrr!3**w9qUtRVYv@-V{0(%XiBpm z3l)rZ97)WuKt%2?# z5*vwMf*a}wz=x;g@*o1^b89WOyI)#Lw%klgE3NN9=)KC@> z$wbxP&wn=h3&+wi2tVBCTd!Dp`>&R<4!y^?R-E?_*Mca3cycOt^CNJtm=ck)NIl%z zSg%4GbRbznE|Xlx9VEou#hw2{C2R15jO};uUtch^fZrToV;KwZG>YrRKcjn{m68A5 zeboTLy^QTZoZzAE(?IlXE=@chHCdZNmp~Ma3unHkndV{SYPfB)rR~# zpK~E&QF3H3$s#KI`WYfPmLPA4{mnx2y%AFvb=VA-ufV+^2TOyYv6!G_D>YHMr}}@B ziyr<}RK!?xFg@gChHMNXLZb^ln?rN(;5!ZTpKpS_7oXveY+k9x6qp#OvB(OmxH5A4 zoa7rfM+wD=*sV$~9aNf$RZ&OH7Ymy@x5vj1;xp)9B!%8uSD-`@4H6MCLfnlGM1RqnQJpqNR2?j`9RyF^tD2n~U(5p=$38=%rdU z@4qirsRrCHUw2l1h_~}Ksn+fD?HWx4U_J3jW0{=Cttykg6Qb-b2m4rYdVK-Csv!gM z@v8twsS-+1mhOgoO?#HnZxKSo1?as4!3z(~K%)4uu;wfUd5$}lK}FK48o+`ob!_V*8xRgIk>2fsMa7 zy?uVE^Oe`J_v7DH@}PM_J%aRJMEik`Y#9k|+Y+41^w?Mbb>I2vJy>tmX_ISfq8>zv zIE0&F1n-6VMs!hEZ?G)cp&S+0iDKpTIzuCE9FR+7-s8amF7L)s;MFYB9na^vJUzuS zFX3b)n{u+N*x}{)ksteAWKi1mR?G`uO-Cl*&|=Sl%bm4vIy{Wp^?_V9 z(Z71lA#=lgE%LpTZA^}7Z4QELC*P@>AJ4f9Vru3gGj%6DSk9C@Fa8rBp76C;b0Qyq zzvY|?;8ZE`9P$eB_x8AJKzonkeNF+#0= zmD(Kz`O%nAg0iYj==M)6-a_qpz0Zt4=_8;}gQ1-}vxvrJ8n`k-mxO>cjx0-lHe+{Q#&q4B24huaIM>#DVW=2JEiBm zR}-^)3{Hu+wv<4%lC{nKYCxl@1bp0+o!#Nn`IHxJVb;QB=$L|}1vED8_PHYt@h9K% za3$P68~%=@8*s=QhPZ+TN&CrrkYAdquX2$FN53fEne{Ep;wfucED|DI+!`QB)fUvTv~TD{;IO29q-3LjE2w;L>%Ymf&BbBdM+%@0nRMdX{D z2hSS5e}_g-MtEvPoVGFp5l1pzbKBnn6e9w^MdnD|{@dt%CM(Do(z@$#51*uRJG8gz z3@IQ)cK{*nL0ZHE%4>(L>eCKQ9XljCa^(`Ns{49^Hdp&Kv-WXg@6I#tKz*ez(Ty%P zT>V+i>S1MA<64l+wzkOsSC+K0L2g7uI@HF^faKnwz`=PB%A zmIoTS)Y1Q(Su33bH}Z(C>#(s()a(I?RbPRUKmyUdc8a#ks43&y^D75+h<}Rw3G&>| ze|!=c5c^8oefkq1ury263p65Js$dyZ5t#n**8iekrYO-kXD?_nqmgKkzXqZMnxS&W zyvuced)R)-qY)H+b}J92>ya7@`dZc$FGve_!ajL1AL^#uh?f`(K}4wN4t@P+K8@0vF+rc!i~SUib0GlKGYNA8SLHpZa}>9tz7TKl*6(ANs5wQyYCl(ij~= zyOlr4P-tin+tceLoUOg|_zoU!u(UsDAN}0t?UO)IbkMwWY&8_~u;S~y6YY2E_%(Ts z_1nJPU19an;zzn25{$fHt01`6Bk{Fypc#;6N&I5R3ys0CHD)C9qLwGNY!3$&a<21X zxySd<<%gZgZJa!(3R+QO?VZ2JZ_1FxA6$xX@KDZDM+A+ZB#B$)kAEqcvOcH>X)LIW z7Nt9Z41E7jyGeIbs5}VE75;=gg*Hdcs^;*;XIe9-M&IiV*xzY=F(x%WAw!4>3%pWd z>A`;%0iWX@f;ZLsM>09_dMm1r^b_Iyd7JD5ygRD;*|7Ml;gzW9yMQ1QXlJ{+({!V% z!`IFiny6-Ata_T`@?=e%n?(c|bq|NeK2kOW|383AbfGv7GZ`sToRs;0s%_;194 zVAM^99@kGq@bej?s)s|sMclZgmXf@a2#EugSZ${-Av>=Ryxkecm$)NKCk4+^(q=^n z^*aZ;qU$uiBI<3h8&perr!14w(z5&OaHa-BFeomoA%5$}NYY;()&A~qE!YVdmA}Yn z%3ug;NT+Hu_>pBf5OrAY#fee2{E+=1zxvjtp4n96nwo!wa}Qn*_JmI2d1Nfzrgun` zSGjE&s!rV+1A!o8?6=nOI4Fjjtkw0-KAzrTvyjOwf&S9(hRXdM5epm=Ajb%POX@^F z><2Qcd3Ri^|LLw3e!W6SvCQN@#gy5gAf4L*VsYe5dbV$Aib0?^Vb->}<#U>F`6 z;JOs;acYSnbE2%yx2w(8Q#@aUoI>@!6qF8QH4p;0pX64fxX*wW_bLBO%g4n_`a*sIeb3y%D?$9g=#G=lX`uy!@M+q*2zlcKh&L7I8dU*T20!8ylpB()MS&I63+LY(k*Iw~ZRV>)Ni4f?39jY5(3Yg?qfnI6`W{xwjF+c3)8ud{4lV znjTDMu78!n{k3jh7B*GBij@~Zm8rYMxz(_fAF!Nx#oK*#bZ56{P~eE4B2CCQ{Dpts zg(QB~m}+oKdFerffqr%LG@!=~Jd${ba%ZK%}Y{l32b>{}TyFP4vc?7~sh2;gG3 z*T7^$_-j3MrRYOao@@YF$Qpk-iy&|39zF}Si-DsA1M(c6%dhh$4Z9N%?k)d*WYo;) zW4M|qf~NC)FeQOPi7z-DxfY0LXtPt*0+0gqap!q2(Y{TK{`?>6cJ=iz9aNq$h{qrdQhfTT~d#UHh88r`Cc#h z^D#&LD-Ix}7zLd0l;z0C?b}XVl;vxlR;0=6dV4L|p6-zBgU*oWeG*WjldU&IH(QyJ z)c>>1vF9K66K2VbNcWfeVf7>!Q#Asl27Ty!zm5Rd|HGe1c6anlUL?67q`?LB<7cN( zpS~j@`klbVy)3Yh{?!cH3V#_4WLWIsQA?$UWrCSP77#tqB75;rQC>xV2X-9N_#c>?{)&g~q8ah{`LACKBTiD;O(7ZY0*&+q zBFY{NM)$+?a)Y}MnZpHyKz$bAHKWK$fSK{(wBCWvqzC{A(>jlSV0NzG%Mz`4a6mj5 z$`%auy=+2|bNq2CX$DY7Wl=V?y))Og4g?`Q3fE^8Y;a$JRNEhHpXX|5)>mE);S9o+ zgUh=M#)YQ4_~5N|op)wq&n_odI`lhYKPAOC6j>%o)cbGwu^#C1zhse6pcl-B;U)kj z8EeB%eJtMW&iHY|F^4W@hy~iLtHt|c;EC!m+hVC`2ETh6{1wreP3|KQ(GIYcz8)IH zwn&^gP#iFJ&-T;TimR>w_&{{Y0C|;b={ZrMUNs5`*dZH55*ehYDY2MQ5#PYrTFNvP z`XIwTVjznd^Ix;{ZnzcPiTOvnVK?F zd|m`Yj|4Go+`r4GD8W1cQ7i8k6^GSivK)=VANLiHh(&9MfC@++t&7?SNYYWchRS`a z>|ecewzpT?djHYI??f{%yfxNTb`oEiA+JDAH=gy!UO4XoOeG3!`hos^Q&D0t9sIBc zt3d07hAl=t`bfg88Vp}gNawi-)!^k~`hJ)232mZFK=G*d6#qsK2$S_S7<)l__XeVj zz9@AjyC`K37oBBhc>wlMe_fb}^BJ1}q_y6BL0TpYGa|4u-=h?tqi=uM5pial^I1UA z2eB7)10jbrh3N+YDM;dGI0DN(*ww!Oy=`(ZAliw!`H%)e{SU&1`3qvawp#{FKrCZY z3I6C$r2I53FaK^btB|<5Xty(%=ONfyjF6%FK=5H8MTS@s!1OWb8qoV8BOto2lE^nQHu5*9Lf`bwX~HabDvN zPwD>|Zky9#Pd@;xU63e71*?t@=5C`y0eg*I1kBt&ONQC%;W2(3r!wlC6ra_-gZpCn z6#*fO&eE6S0vy5r2r2s`%B!t=B1H7Tn*<2 zgfnr2HLIS18IJ%_Kq>U}I=Cb@ypr=?=8~1^4RQs`RW8%RMfV2eNr1i_!gGWboC%A^ zXo0tWmvsaH{0o<~qx&pUwUCdV8=HIc_n=FDcB!rY_Irql;eOGw#Hyh9T>c8Rtcz12 zo=SZCLvNlo1~H5@D1Sf8@d?Tk6$q=G}3TABCFd^@HL9k9}(kbdYg(4bKXAx&H# zZpu|baW?2}GysSyNQQ4yz19AlvH6P-hbvx^^OcIu04>WBVNYrKJan_8d4+uj?09<3 zv9|!rR9~<%0H1qRP_BZlRtrPk0?76OXycMTM{cUm(ZmUK;h{(%|DL}B3}K(%XfDMV zk+t9%CL-d1WVlCjZ`w!IavXUzpcsfr0P1?fpsAZOnn0&OA}DvSfGPPw5k#+&n!C@I zgLpL%C>uBeb6%7s{%gunC`8t~1#-(*Fjos%t}0;gK10Pd{YMHvGJ$y} zWh~>Ve-QmnHzxwo|EGf+48%vIk3avQ0<0*357Tbz&D zbmo{PRnY=V^K-PvL^J` zR&dWPAJj7e8$_163LWPG%)NNQa@47i+DyJ%(BE!*i7krOalAr9TZ@r5>SY5P1s2Id zaW@|G-yvD0$I14t3uJ-zsJ2jXGq3_!&2hV~ZM=&p{)|6w0DE05*|GU!&SG5j1H?&m z+>?DXx$y?(Ni768!{d4+_&zT<`}OY2GJj)E=CV|k-N1_s%Vo~gFFFPl<2*o>KStVy zmIr2w5Z}hC-@$Dkz*7~%YkBG5%F`Z@@^y9{DwU7tt7p$L|2^@b|0|3CSqt0*yav=w z=HIc5%5PvITZTAL%*?*QF>N1+kE*8LaDzSk3(?=hUy_6(p_9J14QF+14F(`n&EjTH zuG+YTDGMY8vuJ4Al4P+fxtBF0C@|@W@>sf1Qj`fjpL>|ENcqhf`B&za8vQZPbgRa@ z_-eiYGv{L+_ZOiGM8gBz6`et)xtzm6b@VIcBW$fMbNB~{sc?$V=x zX;t=utvN>KDimS-SOs|nlTe~hZ{taLnAwGDpQ#=Eg1wGD;ERl0E^UYgEpVf9t1b;C zl@TfQ+?Xx8|M|nbesV}C|G+e#!RJGj4#K)kVCtlboAPjNW0z86bA`>=(vWbQ6{$VE z8`W43T2xUOde%uR<(-gV-)<-PN>s>UEgDlbGFjMBt+41{RqXay(v!qz#AKSA8< zynA-hlg`3Nk47cdt>$5V+ea;a_0iZ@_1QG^FPGNC@*uHqI(b)d$eJ*cgxFS_YuZ+N zfQo*DxQQyqVL6n}vJ-}SEN4_3)q7lAGtj!ASE@)_s@ZrVD;f?`7#>7$&#i%^<`aCm zlx{#y6vW~)Sk{!EG!BL5h2Ndt&jmi`Yn!)CM$z|is{&wFjc49Gzl_7EyTv@&$Cptz z24F&DVXFetRP)9kSIhnT3U9J}J*G!@|6CoTU^8KDQL>sk&=KEy7A1=+1`Z>H9|7{g zvhY`}dI1QEI452>`}Oo<_*FOj z6U}>>U@(Tz2VxjBiq0f=;bLVh#8~Vc+kBT7Sa06<*o}Gx#{#HV#_v_knlxYp8HiAB zk^h(f{=&7SClm2}KYMP#|5&(U#vTD?RcRTXJZ}X^*^V%0NFi_#%tONPfx;k<4Qqq{ zI0{IH_+%NhJTv~RmD#8rqN{@pkP*m6AY~wrw?A-PP1c*;Ndav z4OweFIG%}2D#haZHVX+9du^S|XHDq(N@tcSZ;T20?a>!fA=#?Mhr{TVq1J$pFnxcz zly)1)u6)%K>lEqF{(8_=wK`<9=+Cn*6Z$3MOGA?b5&NdctUT5#^&njb6vs-&8xvYE z0EPItweQFGc0SDSH-->!FjH0FIQ|SEGkUT>Q3x&V-K(q}9T^-s=(MFtbhp;vuYI(` zRm>)|#^Pb-N6-ZqBse6u(U};?+=x7+T*OIV9#lUlt-1b%8M(+|!af=ZuUEcwl-PwM z{-f&5mXyV^DEvTNpv+t{svwgh2zShi3JM6q)Au5)x+6NHqdM!atW%}}XP>>-`W6IM z@O!J6?X2bE%!e*$YeVQ2JAb74usiA0l~Eqf=HB%?Zd2^<)bR%VVSDXp6mqBcud>`- z_~?lce%xo5twe+pk9bJXwBWlk2xTabUA~_51x{x7f*Vo(02s@ z=oXWV*$(z2(XiUDj-@!w#xqlAUv=gSx(=Q5{-77Su$J0C`BTXW$*0YiwC;A;Stir$ zkN1Z<15|{`fP9sn@9UHMS@u&%Bn#mPAu}CUXx|E!42_%9Ct7$_59@hWT#SXjoXt0* zp92JJL~ytOzj9|7tAJnT=SaqL|2;Zm(p04V+PSmYc3>l_I163x?)Her(9OO)e!IWG zi6_x!r_&gvU+zaErfIa)$Q?f7tlK-2xyD2Dh_`A3-8eJ8r7ncwNgI!}C%qdK`~#po z_c$QhIE0xRukQZtd=AV^QB`4$4nIA?V9z9qoF?S?pW9EsYH@ z=QbRS?iW~A!$-rO3YbLitO``V<3q;&S-aZibL&IgWgHtxn)05xGkA44OH?NDJ z|4u&+jbS-Hdv?QN?-(voa5qkZ!0zi0r$YpLf9;G*S{feoto!!jZ45bCk119)E$5vH z^TM`wnEc{^Fc}mp!5x`$MctM`r#8kk2OHt#p7wdEa^sE9^!Mmm5KXxdIjU7S+;@5 z!&U^l>#=3i1_dNj#^K!GNu{Z=kMKS| zNq67izM!{Hp&$(eIMpdJY=L5H*9VkDWZ;zXj>?_h?|V$i(n2tZ_VmuOCfMb)%!YRm8UiNMw30m;T&A(+oH%mSe2Ve}5J~YU?1@oX@up zzS@t6Zvj#;4Cl1|feFOgWIW(Gc|RY>Wiq@%R%^66fDmCPV_qMh`ta+S=nFw>Pt%zD zoVXm+a?!_ABUBdVyYz7J?BB<|9fe>IL$rgN>(a{BQv;7o-<&eScfYBxAvy!gZ4s>0Q$ERYv4nNi{=LA9kCGTIAoTw7blCj zccFVppO+XNWFm6bQu}!R5|;+d1koS#_%QLzuKwNknGumSK;IWPcw#PDpB1YeoA!i^ zMr7Ea#VQ%U@|JO$Y6E>WR6$0zt19&o1&;t6n=j%HF(j${{Wl7r$X0*F!R4M?{^>36 zs@#wE#2J2(1TNJ{{EQt0QfcWNyfidnE0jvxU@gdYM{fJ@%rV(ifGxi7=46I;$M5Yd z{JeZ<{3dkVPs))M@5p#ohGO7wU%k5*b|M7u^k`;V+vLu_kwAmx_N`WbaF8{&Oq?Az zUnOTpMLfu|PtpkpvIqTj#r>I2{gr)Dw(w}00%qM?1Bni-I=eK-^JnAkr1G(j%CCG> zozZ4x;s-7>x5O}rW7`8{CZzAr#V>VXr-Obg(S4GS7@GVbTB)il$c0bZ=eUP`+I4po z?wUXDBCOvROH{T_F_c5C?tjBqdl2N==|)02?}R=_mI*fovCyhOhzl~WLP(zxa5}$K z&T}g0&RkKs-tRjXug*sUNFz&E+-_Q@JM9)-a*(WYh?`LKVPXXhYq{F(Gz-a-hv75r zJJ3^S(34sJ@sf8kwU>Fa=oo#wo@X_!xhP)p_4AV?@bS30aFKLuvtsx@RKKep;=mi% z-fg%i!paKn;GHs z(shg!_|uj+CbW3N7z^)@gUplUPF}v(pTxHjgFVJYe7lfo_PSU6rmD2{`ns7sUnS)a zW}5F)7!?CJp5N;jBwx3@I5;=i5C8=tj8t8zF{OS(z%OHb3F-qnF&mw4iN1DbjZcSo zZNr3~PA|vju|IsTmuX5(&=&$}5yiCebJ1wGynop0)J3k)U#M#FS`Ls};?j~GCPrGK zb-u3E=b3+GfEL~LvvJO^M(7Pb|9-KZ)()3_WH@;oIM(ZCQ{fhA;+LwwohRiU87Izx zv`K$r3Z4k`mHBvoB8Uhr`Zok@a?6VuMQWkDd7pGfus;PEPIrx7j-+N)q`t>^>J0{qZS#76 zAtS_d*yBLhi zHsH($`p1F{K;-nY_jaJ1tLvG}M$r%`0_GZDwFVFUO4$MOJCF8wvR|j$eG&EMK90Zg zORDPmfVLvDppkfkH&-8R2KICz)HXo6A|nyYMV)3+Wfdx6zm&#xXChT@H(w9Saffbt zFjLR~Gf?e<_sUjc^o8l{h>7_?7}n0sYF zOMtyD`J=~tKb;Eqt81ru^Qh77df#vH>!fRfULKsMpzZ7XOnzoH!r*(|7#HW^MuBi~ zEX)CG#%22Bm(-sd(QT@)v~8DzoL=8#LiTBO-#J~r;lC;k9J|#g6z!J6*Erl1?o@!+ ziRG$yc8$P-ye6O1#Zfxueo7#CFUyT+_U42|C3?hH6t3|13XTYqva^meAUeZ7uHz1W_}J;{|)m4(F~1PphD3 zeuDG=P<^Q5k(`ih!Va}duD|T&={v^uRY@w6s$pP0#B=aXcUf<-0r`Ft+jhVx zje^*7+cbg9KV>&*?&QRE*ip}(bMm)S`0J}9_PNjvkGju)@`2El-OsNc2%mm{lk(61 z{rmmDe}g~%`-2K!_?iFy_3sbY_wMf-RBV6$^q*DMb^iB*>%Xx6J#r(sy-m7djBJ(#bUvDT8uZ>6m-08isB+B)XiV8ozTA9gzK#5}L@qZwZ9R zZk}c1oVR5S6Z6-oUlmWiV@AB>Ts@1;bmrD_(Lm^l=WR8(`^2yK*}B3g9*&{g6x1FZ z9xL5mhPpduM-sq>YI;8rVo=VuFL+1_?p~6CRsd962lAP&Ph+<;JBp|mujd*F%%{t5 z4_m<9r9JYeF%MJW8V-tbpVWmYC}haRu1*#Sd-p0YLquB_y3w867JTp9`pFJ8(P?fi zyWcJLa*Mj2cAmqX4%ta^p!6M!)TtjVy4%q0x!^)9$2h_>Ry!PTd4S*-(gpie*oBv@ zSlcoZ9khEjVx$)}FYImJo!+*X>IqFOFmEWlbG2h}+3lbdf(`GHV=7gtZ<~6ZLJkSN zQaR>|&viuB9oCyHdlRC2JBEUkR3$v``VCRVts{NsGfh5zPDgb-KpOAo0rJ#GFhipx zgkf;Hw2t`WrsP;wUGXCg=Du5xDQo~V#3$>&e`=?ACUb-RB{{ucpu= zH5$w19D?+08Jm{EqtDdEBrleyAUJo77fv%cH@rr+uooBOS9Iee72??aed7CpA4LQo zl1Ts99WOn>udRhAs~o@E&+q*k7|oS`AA0z_Im+96KSn|wi$nig5Cz=#rS5F6L}F;f zu|_+FQYWZyQ})OwH*R+OXIE$OJIS{XH9ojK6y?e9U0dwSUj@P^gg|MbVop7q`}6j# zxEMN*oT0s6aKcBSusvV|W*po%L9riXzy8il#(byT)|=?W9NArP95D|`^+&KzUNmNe;~R81{sqM({Z`Squ5i;a1M}L<}j~IRa!Y>#%)nJP$Zld zWJw!qF96_a=9@&Q+?ZDYr`36g_x?=3fSI40un$L{LzJB5=G<=(qM}ikfB+V+)~~Xn zzsX5-VayUv#!vfeE!>^(aVMkhlI?a3` zHnrDk^6kyhNR6CC%;W0xS|OqCgICA(Fg(T6XH4=uk`(Z>g4gBtT#PMCZH<}s9$I>< z+u^uPF)6=r)bFXv+$dTgh|}ITT6p_#`4H{ittKo7EbN|Y4bY~jlU?0dR&di^4qZog zs0S*Uq%9!{*!ui*k>K_`4BV-`aRQbzaEuY1@aMOT1wGiY zup`*1yOYea7tuD!q@~FcQcUK2n)!r2OLFkM?4Pt>0jpk~d5XT;I~x3bkb~EcV&6Oz zG)a1gv={~YUpBYRsYT zrgW_WI?>w2;fVYs>cx!T=&(Onm!3l|92-L1MH|~9+N0_T7!sBRrN7MJ#CE;{MV;^*>-_E$n zulq*q4?1a^ALsUt%wO3RcgsPV50d6)FTLjrw~oqvHvke|oRA6i4)0lR8P)uHva!Et z2s!(@*?I8AM5gF9Qi0gyh9Js&S$Mf>RtJxBf0*sd?o^b_#$9(ZOz@0@X}#QS^Zear zsHSP(7;qLZqik4+uM*JiU6LNJ*W-C&ZR;)QS=R}UAA!+{5V!Yz``kN-u(yWw#8`;e zxrbK%HN*gV7=qiu4LClH*o->=)wQ%jPjpSdorXdG?>OVuKh%EO#$aqVX=c35-yhzZ@ z8^K>!|2libxcCe*DniNXBoB69{IX;b8jFn)Y_ow0H*NMDR7Vry(>xv#D3*t!Y)Jhl z!*cxh86vN#3W{w2lJXY{B(LdSq=XpQO-#P}_2GVq@6&_+O)$g2K{_QNsZ;w8Hl1I6 z0(ksy+}~noz3)cuUc(|lQ}3P5}MRTOdnH12H2vdYIXOHP44u@AnuoUct~1d zViogS;*{Xwm)33r?NZH^7`~FEfmR&+*{;vL1Xh%fNrMB}-6HUZfm&ZsXA@wNPzA}XW zBFhQO6}MS_+9KjRm(=4ZRMI>NojBLor8Gt zJM2q9LGxD`vwJr(JII#sRq4;fm#9}nzokX9C_5JDBssXPe(F0%CcK- ztYJBcm<+J%cx>;**V8oxpH*4+3U+Xr=W#jb4Sxd`ga|2iqY=Lo64Y`K1=gUAVR-R$ zy_7gt5*(WU$14F2xxf7tr}>;(f%FP?fsQ98ma7Tz`5~w2am0O7kM5^>ZO46QJ1gDq z$dp%ju);gwqUP*>1k*palQX25d;t$+mhJHu&ULE)0}n@k=crOak2qPFQFjmuO0v%@Rb zEss16D^cinfMTIldC=(MsVtZe>*0Iy(0zHV*Bua*KW=YrhdZ&|tKngZA{t=^tz@Yi zGP`dGrV9<2dUkV{zh_bm{d+V|WG`8n%&>*0O3$K?uVSm)m4^G_uuv>sg#`{5nS-CtXf zWT3bB!mOo)Pa@*7gH#|G(umg?PN?_3Xl*W6z*a`PE%K~WyX+%a{cB?h=j)p?&j6^X zr9-bC0YnWZ-(UFEqBC-cj}U#|%O5I~xujl^X~xrIHrdZ}*PbO&_TG6AP5v)*6T&+S z^)ucUja^tyy5~l7y~!#M+6mDFAqc|~%2#0$S*laFEtcnCi?KLdEcB$3i;O_uO4MAA2^}4%X!VV1|=6v11Fjg5igCGFEwP&7o=TS)2^Xs=B zK=VXypFT$T{dA8mB>-#?xE3BCLHByQ;-=g+E@5KUB<(#cw=u;VB0|0T2zgC` zfYYUKGXy9cuIKrbxP@H>F`h?01OT-^JcG_dx4W#Q{0NS980>M`Y>k7636vdTxwqse zpGP%p3mur0mj8tDx2Y}&jpc#c9mH7mHT5;OYa<}) z=SUz?8OxB5D;+&ZZP;)l9N*;v>!Ph@S+jo9g$;&&p z+QV`dgM0j`icV9!_?f(-Wj`XTB3l(7*GSBHi$p@=MpQLDPoDZ-_zk810Wd44Cr1uX&P`Xg8AI0a*h%`Llig|e6 z-Db?kQt|bV*D)c$Y*&3`$LG!j6xG>;-qW1oi)T(WR}`?yb09($iG3$ItH?Wgou>RW zj;46Dxby6`FlJ=zsAb6qBoAuOo_HfE>&ZbZv^^ZNF@-IGp+b{Ba{H~aew;tCANI%1 z8->qnSU(E!(=He0+udYzACKaU_?JAi?2o(zS;jg15FVg&;R#|!f_WG($2Tm;M$+;X ziqns^?S6rmBdDs8*|l8MhT{o1xh|z~U!OZ%qU}M85Q5{5+-51BZcYN<{4fx+5KGdH zy~ZS)=uDEqAAm!INt{VFmUp`v^m!~tY$#JwK9&C?kEuJeAX2sCjhyVVesgKJw?Gxz z;G=(u14R5iB;%M}=C9M1?0Cg3p=ni=Cx3QwXz8#VaQ+i)&xem{^(oPOxMM`1zhTVV z%dI3c2u#U|DzXwm0%tONbf*|8V82@ct*?9-8lAghPM0p^^GU3q>?J%lAIyF$$>K=A zevzG>ft3U%HQ6myHsKxUD{q~8s?((NR+)IBFjEee{!Y)p!|Imu4dI5OPDBSg?XxP+ERc9Vxa0Q_ z6-P$<1$_>h5lLm(b?d1vqhU!|u9^2^syrJ!#{*`JI64)ZI8Wk@?4kis0o4G2zK6p?iM$jc|h?V9G4YnR7lU8$j}7bU#Qa<;6;UhK=q{3Dj&oDvs4Z1xgU zo#%^Vk%DNbiVzzp(UfPwsC_Dk071eOfE1E2r4S zZYK7#6BkfY9tQCxoTr#m0_P#TKq?iEdt}Gu`jbaBvL6Qb5Qmv}IvQip0*eJRwRRHX z&1kGU*?Uij^+YSk48L;5j?RBYXUoeJgAN`bO2I~W6^()m5nxe@utCMI+_B$6 zR@EOhlHKm9F(d2%%N6v|Z_2||EeE4GbLolHXfP@(GHWxL>gcX$PC~fj@y^XEbr
    RAIrs`>7t$-BE_*y01=YwuL!zZ1PS;? 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 V47rJZ&hkvan|8Us{tA(&>|YPZSDyd? literal 0 HcmV?d00001 diff --git a/src/rap_plugin/dis.txt b/src/rap_plugin/dis.txt new file mode 100644 index 0000000..9a099d6 --- /dev/null +++ b/src/rap_plugin/dis.txt @@ -0,0 +1,1113 @@ + +a.out: file format elf64-x86-64 + + +Disassembly of section .interp: + +0000000000400200 <.interp>: + 400200: 2f (bad) + 400201: 6c insb (%dx),%es:(%rdi) + 400202: 69 62 36 34 2f 6c 64 imul $0x646c2f34,0x36(%rdx),%esp + 400209: 2d 6c 69 6e 75 sub $0x756e696c,%eax + 40020e: 78 2d js 40023d <_init-0x29b> + 400210: 78 38 js 40024a <_init-0x28e> + 400212: 36 2d 36 34 2e 73 ss sub $0x732e3436,%eax + 400218: 6f outsl %ds:(%rsi),(%dx) + 400219: 2e 32 00 xor %cs:(%rax),%al + +Disassembly of section .note.ABI-tag: + +000000000040021c <.note.ABI-tag>: + 40021c: 04 00 add $0x0,%al + 40021e: 00 00 add %al,(%rax) + 400220: 10 00 adc %al,(%rax) + 400222: 00 00 add %al,(%rax) + 400224: 01 00 add %eax,(%rax) + 400226: 00 00 add %al,(%rax) + 400228: 47 rex.RXB + 400229: 4e 55 rex.WRX push %rbp + 40022b: 00 00 add %al,(%rax) + 40022d: 00 00 add %al,(%rax) + 40022f: 00 02 add %al,(%rdx) + 400231: 00 00 add %al,(%rax) + 400233: 00 06 add %al,(%rsi) + 400235: 00 00 add %al,(%rax) + 400237: 00 20 add %ah,(%rax) + 400239: 00 00 add %al,(%rax) + ... + +Disassembly of section .note.gnu.build-id: + +000000000040023c <.note.gnu.build-id>: + 40023c: 04 00 add $0x0,%al + 40023e: 00 00 add %al,(%rax) + 400240: 14 00 adc $0x0,%al + 400242: 00 00 add %al,(%rax) + 400244: 03 00 add (%rax),%eax + 400246: 00 00 add %al,(%rax) + 400248: 47 rex.RXB + 400249: 4e 55 rex.WRX push %rbp + 40024b: 00 f9 add %bh,%cl + 40024d: 73 48 jae 400297 <_init-0x241> + 40024f: 47 d2 01 rex.RXB rolb %cl,(%r9) + 400252: fc cld + 400253: 5b pop %rbx + 400254: 13 67 5f adc 0x5f(%rdi),%esp + 400257: 75 b9 jne 400212 <_init-0x2c6> + 400259: f2 3a 23 repnz cmp (%rbx),%ah + 40025c: db f6 fcomi %st(6),%st + 40025e: 4a rex.WX + 40025f: b7 .byte 0xb7 + +Disassembly of section .dynsym: + +0000000000400260 <.dynsym>: + ... + 400278: 01 00 add %eax,(%rax) + 40027a: 00 00 add %al,(%rax) + 40027c: 12 00 adc (%rax),%al + ... + 40028e: 00 00 add %al,(%rax) + 400290: 29 00 sub %eax,(%rax) + 400292: 00 00 add %al,(%rax) + 400294: 20 00 and %al,(%rax) + ... + 4002a6: 00 00 add %al,(%rax) + 4002a8: 38 00 cmp %al,(%rax) + 4002aa: 00 00 add %al,(%rax) + 4002ac: 20 00 and %al,(%rax) + ... + 4002be: 00 00 add %al,(%rax) + 4002c0: 54 push %rsp + 4002c1: 00 00 add %al,(%rax) + 4002c3: 00 20 add %ah,(%rax) + ... + 4002d5: 00 00 add %al,(%rax) + 4002d7: 00 6e 00 add %ch,0x0(%rsi) + 4002da: 00 00 add %al,(%rax) + 4002dc: 20 00 and %al,(%rax) + ... + 4002ee: 00 00 add %al,(%rax) + 4002f0: 82 (bad) + 4002f1: 00 00 add %al,(%rax) + 4002f3: 00 12 add %dl,(%rdx) + ... + 400305: 00 00 add %al,(%rax) + 400307: 00 87 00 00 00 12 add %al,0x12000000(%rdi) + ... + 40031d: 00 00 add %al,(%rax) + 40031f: 00 95 00 00 00 12 add %dl,0x12000000(%rbp) + ... + +Disassembly of section .dynstr: + +0000000000400338 <.dynstr>: + 400338: 00 5f 5f add %bl,0x5f(%rdi) + 40033b: 6c insb (%dx),%es:(%rdi) + 40033c: 69 62 63 5f 73 74 61 imul $0x6174735f,0x63(%rdx),%esp + 400343: 72 74 jb 4003b9 <_init-0x11f> + 400345: 5f pop %rdi + 400346: 6d insl (%dx),%es:(%rdi) + 400347: 61 (bad) + 400348: 69 6e 00 47 4c 49 42 imul $0x42494c47,0x0(%rsi),%ebp + 40034f: 43 5f rex.XB pop %r15 + 400351: 32 2e xor (%rsi),%ch + 400353: 32 2e xor (%rsi),%ch + 400355: 35 00 6c 69 62 xor $0x62696c00,%eax + 40035a: 63 2e movslq (%rsi),%ebp + 40035c: 73 6f jae 4003cd <_init-0x10b> + 40035e: 2e 36 00 5f 5f cs add %bl,%ss:0x5f(%rdi) + 400363: 67 6d insl (%dx),%es:(%edi) + 400365: 6f outsl %ds:(%rsi),(%dx) + 400366: 6e outsb %ds:(%rsi),(%dx) + 400367: 5f pop %rdi + 400368: 73 74 jae 4003de <_init-0xfa> + 40036a: 61 (bad) + 40036b: 72 74 jb 4003e1 <_init-0xf7> + 40036d: 5f pop %rdi + 40036e: 5f pop %rdi + 40036f: 00 5f 49 add %bl,0x49(%rdi) + 400372: 54 push %rsp + 400373: 4d 5f rex.WRB pop %r15 + 400375: 64 65 72 65 fs gs jb 4003de <_init-0xfa> + 400379: 67 69 73 74 65 72 54 imul $0x4d547265,0x74(%ebx),%esi + 400380: 4d + 400381: 43 6c rex.XB insb (%dx),%es:(%rdi) + 400383: 6f outsl %ds:(%rsi),(%dx) + 400384: 6e outsb %ds:(%rsi),(%dx) + 400385: 65 54 gs push %rsp + 400387: 61 (bad) + 400388: 62 (bad) + 400389: 6c insb (%dx),%es:(%rdi) + 40038a: 65 00 5f 49 add %bl,%gs:0x49(%rdi) + 40038e: 54 push %rsp + 40038f: 4d 5f rex.WRB pop %r15 + 400391: 72 65 jb 4003f8 <_init-0xe0> + 400393: 67 69 73 74 65 72 54 imul $0x4d547265,0x74(%ebx),%esi + 40039a: 4d + 40039b: 43 6c rex.XB insb (%dx),%es:(%rdi) + 40039d: 6f outsl %ds:(%rsi),(%dx) + 40039e: 6e outsb %ds:(%rsi),(%dx) + 40039f: 65 54 gs push %rsp + 4003a1: 61 (bad) + 4003a2: 62 (bad) + 4003a3: 6c insb (%dx),%es:(%rdi) + 4003a4: 65 00 5f 4a add %bl,%gs:0x4a(%rdi) + 4003a8: 76 5f jbe 400409 <_init-0xcf> + 4003aa: 52 push %rdx + 4003ab: 65 67 69 73 74 65 72 imul $0x6c437265,%gs:0x74(%ebx),%esi + 4003b2: 43 6c + 4003b4: 61 (bad) + 4003b5: 73 73 jae 40042a <_init-0xae> + 4003b7: 65 73 00 gs jae 4003ba <_init-0x11e> + 4003ba: 70 75 jo 400431 <_init-0xa7> + 4003bc: 74 73 je 400431 <_init-0xa7> + 4003be: 00 5f 5f add %bl,0x5f(%rdi) + 4003c1: 61 (bad) + 4003c2: 73 73 jae 400437 <_init-0xa1> + 4003c4: 65 72 74 gs jb 40043b <_init-0x9d> + 4003c7: 5f pop %rdi + 4003c8: 66 61 data16 (bad) + 4003ca: 69 6c 00 70 72 69 6e imul $0x746e6972,0x70(%rax,%rax,1),%ebp + 4003d1: 74 + 4003d2: 66 data16 + ... + +Disassembly of section .hash: + +00000000004003d8 <.hash>: + 4003d8: 03 00 add (%rax),%eax + 4003da: 00 00 add %al,(%rax) + 4003dc: 09 00 or %eax,(%rax) + 4003de: 00 00 add %al,(%rax) + 4003e0: 07 (bad) + 4003e1: 00 00 add %al,(%rax) + 4003e3: 00 06 add %al,(%rsi) + 4003e5: 00 00 add %al,(%rax) + 4003e7: 00 08 add %cl,(%rax) + ... + 4003f5: 00 00 add %al,(%rax) + 4003f7: 00 01 add %al,(%rcx) + 4003f9: 00 00 add %al,(%rax) + 4003fb: 00 03 add %al,(%rbx) + 4003fd: 00 00 add %al,(%rax) + 4003ff: 00 02 add %al,(%rdx) + 400401: 00 00 add %al,(%rax) + 400403: 00 04 00 add %al,(%rax,%rax,1) + 400406: 00 00 add %al,(%rax) + 400408: 05 00 00 00 00 add $0x0,%eax + 40040d: 00 00 add %al,(%rax) + ... + +Disassembly of section .gnu.version: + +0000000000400410 <.gnu.version>: + 400410: 00 00 add %al,(%rax) + 400412: 02 00 add (%rax),%al + ... + 40041c: 02 00 add (%rax),%al + 40041e: 02 00 add (%rax),%al + 400420: 02 00 add (%rax),%al + +Disassembly of section .gnu.version_r: + +0000000000400424 <.gnu.version_r>: + 400424: 01 00 add %eax,(%rax) + 400426: 01 00 add %eax,(%rax) + 400428: 1f (bad) + 400429: 00 00 add %al,(%rax) + 40042b: 00 10 add %dl,(%rax) + 40042d: 00 00 add %al,(%rax) + 40042f: 00 00 add %al,(%rax) + 400431: 00 00 add %al,(%rax) + 400433: 00 75 1a add %dh,0x1a(%rbp) + 400436: 69 09 00 00 02 00 imul $0x20000,(%rcx),%ecx + 40043c: 13 00 adc (%rax),%eax + 40043e: 00 00 add %al,(%rax) + 400440: 00 00 add %al,(%rax) + ... + +Disassembly of section .rela.dyn: + +0000000000400448 <.rela.dyn>: + 400448: a8 1c test $0x1c,%al + 40044a: 40 00 00 add %al,(%rax) + 40044d: 00 00 add %al,(%rax) + 40044f: 00 06 add %al,(%rsi) + 400451: 00 00 add %al,(%rax) + 400453: 00 02 add %al,(%rdx) + ... + +Disassembly of section .rela.plt: + +0000000000400460 <.rela.plt>: + 400460: c8 1c 40 00 enterq $0x401c,$0x0 + 400464: 00 00 add %al,(%rax) + 400466: 00 00 add %al,(%rax) + 400468: 07 (bad) + 400469: 00 00 add %al,(%rax) + 40046b: 00 01 add %al,(%rcx) + ... + 400475: 00 00 add %al,(%rax) + 400477: 00 d0 add %dl,%al + 400479: 1c 40 sbb $0x40,%al + 40047b: 00 00 add %al,(%rax) + 40047d: 00 00 add %al,(%rax) + 40047f: 00 07 add %al,(%rdi) + 400481: 00 00 add %al,(%rax) + 400483: 00 02 add %al,(%rdx) + ... + 40048d: 00 00 add %al,(%rax) + 40048f: 00 d8 add %bl,%al + 400491: 1c 40 sbb $0x40,%al + 400493: 00 00 add %al,(%rax) + 400495: 00 00 add %al,(%rax) + 400497: 00 07 add %al,(%rdi) + 400499: 00 00 add %al,(%rax) + 40049b: 00 06 add %al,(%rsi) + ... + 4004a5: 00 00 add %al,(%rax) + 4004a7: 00 e0 add %ah,%al + 4004a9: 1c 40 sbb $0x40,%al + 4004ab: 00 00 add %al,(%rax) + 4004ad: 00 00 add %al,(%rax) + 4004af: 00 07 add %al,(%rdi) + 4004b1: 00 00 add %al,(%rax) + 4004b3: 00 07 add %al,(%rdi) + ... + 4004bd: 00 00 add %al,(%rax) + 4004bf: 00 e8 add %ch,%al + 4004c1: 1c 40 sbb $0x40,%al + 4004c3: 00 00 add %al,(%rax) + 4004c5: 00 00 add %al,(%rax) + 4004c7: 00 07 add %al,(%rdi) + 4004c9: 00 00 add %al,(%rax) + 4004cb: 00 08 add %cl,(%rax) + ... + +Disassembly of section .init: + +00000000004004d8 <_init>: + 4004d8: 48 83 ec 08 sub $0x8,%rsp + 4004dc: 48 8b 05 c5 17 00 00 mov 0x17c5(%rip),%rax # 401ca8 <_DYNAMIC+0x1d0> + 4004e3: 48 85 c0 test %rax,%rax + 4004e6: 74 05 je 4004ed <_init+0x15> + 4004e8: e8 33 00 00 00 callq 400520 <__gmon_start__@plt> + 4004ed: 48 83 c4 08 add $0x8,%rsp + 4004f1: c3 retq + +Disassembly of section .plt: + +0000000000400500 <__libc_start_main@plt-0x10>: + 400500: ff 35 b2 17 00 00 pushq 0x17b2(%rip) # 401cb8 <_GLOBAL_OFFSET_TABLE_+0x8> + 400506: ff 25 b4 17 00 00 jmpq *0x17b4(%rip) # 401cc0 <_GLOBAL_OFFSET_TABLE_+0x10> + 40050c: 90 nop + 40050d: 90 nop + 40050e: 90 nop + 40050f: 90 nop + +0000000000400510 <__libc_start_main@plt>: + 400510: ff 25 b2 17 00 00 jmpq *0x17b2(%rip) # 401cc8 <_GLOBAL_OFFSET_TABLE_+0x18> + 400516: 68 00 00 00 00 pushq $0x0 + 40051b: e9 e0 ff ff ff jmpq 400500 <_init+0x28> + +0000000000400520 <__gmon_start__@plt>: + 400520: ff 25 aa 17 00 00 jmpq *0x17aa(%rip) # 401cd0 <_GLOBAL_OFFSET_TABLE_+0x20> + 400526: 68 01 00 00 00 pushq $0x1 + 40052b: e9 d0 ff ff ff jmpq 400500 <_init+0x28> + +0000000000400530 : + 400530: ff 25 a2 17 00 00 jmpq *0x17a2(%rip) # 401cd8 <_GLOBAL_OFFSET_TABLE_+0x28> + 400536: 68 02 00 00 00 pushq $0x2 + 40053b: e9 c0 ff ff ff jmpq 400500 <_init+0x28> + +0000000000400540 <__assert_fail@plt>: + 400540: ff 25 9a 17 00 00 jmpq *0x179a(%rip) # 401ce0 <_GLOBAL_OFFSET_TABLE_+0x30> + 400546: 68 03 00 00 00 pushq $0x3 + 40054b: e9 b0 ff ff ff jmpq 400500 <_init+0x28> + +0000000000400550 : + 400550: ff 25 92 17 00 00 jmpq *0x1792(%rip) # 401ce8 <_GLOBAL_OFFSET_TABLE_+0x38> + 400556: 68 04 00 00 00 pushq $0x4 + 40055b: e9 a0 ff ff ff jmpq 400500 <_init+0x28> + +Disassembly of section .text: + +0000000000400560 <_start>: + 400560: 31 ed xor %ebp,%ebp + 400562: 49 89 d1 mov %rdx,%r9 + 400565: 5e pop %rsi + 400566: 48 89 e2 mov %rsp,%rdx + 400569: 48 83 e4 f0 and $0xfffffffffffffff0,%rsp + 40056d: 50 push %rax + 40056e: 54 push %rsp + 40056f: 49 c7 c0 f0 08 40 00 mov $0x4008f0,%r8 + 400576: 48 c7 c1 80 08 40 00 mov $0x400880,%rcx + 40057d: 48 c7 c7 55 06 40 00 mov $0x400655,%rdi + 400584: e8 87 ff ff ff callq 400510 <__libc_start_main@plt> + 400589: f4 hlt + 40058a: 66 0f 1f 44 00 00 nopw 0x0(%rax,%rax,1) + +0000000000400590 : + 400590: b8 17 1d 40 00 mov $0x401d17,%eax + 400595: 55 push %rbp + 400596: 48 2d 10 1d 40 00 sub $0x401d10,%rax + 40059c: 48 83 f8 0e cmp $0xe,%rax + 4005a0: 48 89 e5 mov %rsp,%rbp + 4005a3: 77 02 ja 4005a7 + 4005a5: 5d pop %rbp + 4005a6: c3 retq + 4005a7: b8 00 00 00 00 mov $0x0,%eax + 4005ac: 48 85 c0 test %rax,%rax + 4005af: 74 f4 je 4005a5 + 4005b1: 5d pop %rbp + 4005b2: bf 10 1d 40 00 mov $0x401d10,%edi + 4005b7: ff e0 jmpq *%rax + 4005b9: 0f 1f 80 00 00 00 00 nopl 0x0(%rax) + +00000000004005c0 : + 4005c0: b8 10 1d 40 00 mov $0x401d10,%eax + 4005c5: 55 push %rbp + 4005c6: 48 2d 10 1d 40 00 sub $0x401d10,%rax + 4005cc: 48 c1 f8 03 sar $0x3,%rax + 4005d0: 48 89 e5 mov %rsp,%rbp + 4005d3: 48 89 c2 mov %rax,%rdx + 4005d6: 48 c1 ea 3f shr $0x3f,%rdx + 4005da: 48 01 d0 add %rdx,%rax + 4005dd: 48 d1 f8 sar %rax + 4005e0: 75 02 jne 4005e4 + 4005e2: 5d pop %rbp + 4005e3: c3 retq + 4005e4: ba 00 00 00 00 mov $0x0,%edx + 4005e9: 48 85 d2 test %rdx,%rdx + 4005ec: 74 f4 je 4005e2 + 4005ee: 5d pop %rbp + 4005ef: 48 89 c6 mov %rax,%rsi + 4005f2: bf 10 1d 40 00 mov $0x401d10,%edi + 4005f7: ff e2 jmpq *%rdx + 4005f9: 0f 1f 80 00 00 00 00 nopl 0x0(%rax) + +0000000000400600 <__do_global_dtors_aux>: + 400600: 80 3d 19 17 00 00 00 cmpb $0x0,0x1719(%rip) # 401d20 <__bss_start> + 400607: 75 11 jne 40061a <__do_global_dtors_aux+0x1a> + 400609: 55 push %rbp + 40060a: 48 89 e5 mov %rsp,%rbp + 40060d: e8 7e ff ff ff callq 400590 + 400612: 5d pop %rbp + 400613: c6 05 06 17 00 00 01 movb $0x1,0x1706(%rip) # 401d20 <__bss_start> + 40061a: f3 c3 repz retq + 40061c: 0f 1f 40 00 nopl 0x0(%rax) + +0000000000400620 : + 400620: 48 83 3d e0 16 00 00 cmpq $0x0,0x16e0(%rip) # 401d08 <__JCR_END__> + 400627: 00 + 400628: 74 1e je 400648 + 40062a: b8 00 00 00 00 mov $0x0,%eax + 40062f: 48 85 c0 test %rax,%rax + 400632: 74 14 je 400648 + 400634: 55 push %rbp + 400635: bf 08 1d 40 00 mov $0x401d08,%edi + 40063a: 48 89 e5 mov %rsp,%rbp + 40063d: ff d0 callq *%rax + 40063f: 5d pop %rbp + 400640: e9 7b ff ff ff jmpq 4005c0 + 400645: 0f 1f 00 nopl (%rax) + 400648: e9 73 ff ff ff jmpq 4005c0 + 40064d: 48 cd 5d rex.W int $0x5d + 400650: 65 00 00 add %al,%gs:(%rax) + ... + +0000000000400655
    : + 400655: 55 push %rbp + 400656: 48 89 e5 mov %rsp,%rbp + 400659: 48 83 ec 20 sub $0x20,%rsp + 40065d: b8 01 00 00 00 mov $0x1,%eax + 400662: 89 05 d8 16 00 00 mov %eax,0x16d8(%rip) # 401d40 + 400668: 89 45 fc mov %eax,-0x4(%rbp) + 40066b: b8 02 00 00 00 mov $0x2,%eax + 400670: 89 05 ce 16 00 00 mov %eax,0x16ce(%rip) # 401d44 + 400676: 89 45 f8 mov %eax,-0x8(%rbp) + 400679: c7 45 f4 0a 00 00 00 movl $0xa,-0xc(%rbp) + 400680: 8b 45 f4 mov -0xc(%rbp),%eax + 400683: 89 45 f0 mov %eax,-0x10(%rbp) + 400686: 48 c7 45 e0 7f 07 40 movq $0x40077f,-0x20(%rbp) + 40068d: 00 + 40068e: 48 8b 45 e0 mov -0x20(%rbp),%rax + 400692: 48 89 05 97 16 00 00 mov %rax,0x1697(%rip) # 401d30 + 400699: 48 8b 05 90 16 00 00 mov 0x1690(%rip),%rax # 401d30 + 4006a0: 8b 15 9a 16 00 00 mov 0x169a(%rip),%edx # 401d40 + 4006a6: f2 0f 2a c2 cvtsi2sd %edx,%xmm0 + 4006aa: 48 8b 50 f8 mov -0x8(%rax),%rdx + 4006ae: 48 81 fa f3 3c 02 7f cmp $0x7f023cf3,%rdx + 4006b5: 74 02 je 4006b9 + 4006b7: 0f 0b ud2 + 4006b9: ff d0 callq *%rax + 4006bb: 01 45 f0 add %eax,-0x10(%rbp) + 4006be: 48 8b 45 e0 mov -0x20(%rbp),%rax + 4006c2: f2 0f 2a 45 fc cvtsi2sdl -0x4(%rbp),%xmm0 + 4006c7: 48 8b 50 f8 mov -0x8(%rax),%rdx + 4006cb: 48 81 fa f3 3c 02 7f cmp $0x7f023cf3,%rdx + 4006d2: 74 02 je 4006d6 + 4006d4: 0f 0b ud2 + 4006d6: ff d0 callq *%rax + 4006d8: 01 45 f4 add %eax,-0xc(%rbp) + 4006db: 48 c7 45 e8 fe 07 40 movq $0x4007fe,-0x18(%rbp) + 4006e2: 00 + 4006e3: 48 8b 45 e8 mov -0x18(%rbp),%rax + 4006e7: 48 89 05 4a 16 00 00 mov %rax,0x164a(%rip) # 401d38 + 4006ee: 48 8b 05 43 16 00 00 mov 0x1643(%rip),%rax # 401d38 + 4006f5: 8b 15 49 16 00 00 mov 0x1649(%rip),%edx # 401d44 + 4006fb: f2 0f 2a c2 cvtsi2sd %edx,%xmm0 + 4006ff: 48 8b 50 f8 mov -0x8(%rax),%rdx + 400703: 48 81 fa f3 3c 02 7f cmp $0x7f023cf3,%rdx + 40070a: 74 02 je 40070e + 40070c: 0f 0b ud2 + 40070e: ff d0 callq *%rax + 400710: 01 45 f0 add %eax,-0x10(%rbp) + 400713: 48 8b 45 e8 mov -0x18(%rbp),%rax + 400717: f2 0f 2a 45 f8 cvtsi2sdl -0x8(%rbp),%xmm0 + 40071c: 48 8b 50 f8 mov -0x8(%rax),%rdx + 400720: 48 81 fa f3 3c 02 7f cmp $0x7f023cf3,%rdx + 400727: 74 02 je 40072b + 400729: 0f 0b ud2 + 40072b: ff d0 callq *%rax + 40072d: 01 45 f4 add %eax,-0xc(%rbp) + 400730: 8b 45 f0 mov -0x10(%rbp),%eax + 400733: 3b 45 f4 cmp -0xc(%rbp),%eax + 400736: 75 0c jne 400744 + 400738: bf 04 09 40 00 mov $0x400904,%edi + 40073d: e8 ee fd ff ff callq 400530 + 400742: eb 19 jmp 40075d + 400744: b9 28 09 40 00 mov $0x400928,%ecx + 400749: ba 1e 00 00 00 mov $0x1e,%edx + 40074e: be 08 09 40 00 mov $0x400908,%esi + 400753: bf 1e 09 40 00 mov $0x40091e,%edi + 400758: e8 e3 fd ff ff callq 400540 <__assert_fail@plt> + 40075d: b8 00 00 00 00 mov $0x0,%eax + 400762: c9 leaveq + 400763: c3 retq + 400764: 48 cd 5d rex.W int $0x5d + 400767: 65 00 00 add %al,%gs:(%rax) + ... + +000000000040076c : + 40076c: 55 push %rbp + 40076d: 48 89 e5 mov %rsp,%rbp + 400770: b8 2a 00 00 00 mov $0x2a,%eax + 400775: 5d pop %rbp + 400776: c3 retq + 400777: f3 3c 02 repz cmp $0x2,%al + 40077a: 7f 00 jg 40077c + 40077c: 00 00 add %al,(%rax) + ... + +000000000040077f : + 40077f: 55 push %rbp + 400780: 48 89 e5 mov %rsp,%rbp + 400783: 48 83 ec 10 sub $0x10,%rsp + 400787: f2 0f 11 45 f8 movsd %xmm0,-0x8(%rbp) + 40078c: 48 8b 15 6d 15 00 00 mov 0x156d(%rip),%rdx # 401d00 + 400793: 48 8b 42 f8 mov -0x8(%rdx),%rax + 400797: 48 3d 48 cd 5d 65 cmp $0x655dcd48,%rax + 40079d: 74 02 je 4007a1 + 40079f: 0f 0b ud2 + 4007a1: b8 00 00 00 00 mov $0x0,%eax + 4007a6: ff d2 callq *%rdx + 4007a8: 8b 15 76 15 00 00 mov 0x1576(%rip),%edx # 401d24 + 4007ae: 01 d0 add %edx,%eax + 4007b0: 89 05 6e 15 00 00 mov %eax,0x156e(%rip) # 401d24 + 4007b6: 8b 05 68 15 00 00 mov 0x1568(%rip),%eax # 401d24 + 4007bc: 89 c6 mov %eax,%esi + 4007be: bf 2d 09 40 00 mov $0x40092d,%edi + 4007c3: b8 00 00 00 00 mov $0x0,%eax + 4007c8: e8 83 fd ff ff callq 400550 + 4007cd: 48 8b 15 2c 15 00 00 mov 0x152c(%rip),%rdx # 401d00 + 4007d4: 48 8b 42 f8 mov -0x8(%rdx),%rax + 4007d8: 48 3d 48 cd 5d 65 cmp $0x655dcd48,%rax + 4007de: 74 02 je 4007e2 + 4007e0: 0f 0b ud2 + 4007e2: b8 00 00 00 00 mov $0x0,%eax + 4007e7: ff d2 callq *%rdx + 4007e9: f2 0f 10 45 f8 movsd -0x8(%rbp),%xmm0 + 4007ee: f2 0f 2c d0 cvttsd2si %xmm0,%edx + 4007f2: 01 d0 add %edx,%eax + 4007f4: c9 leaveq + 4007f5: c3 retq + 4007f6: f3 3c 02 repz cmp $0x2,%al + 4007f9: 7f 00 jg 4007fb + 4007fb: 00 00 add %al,(%rax) + ... + +00000000004007fe : + 4007fe: 55 push %rbp + 4007ff: 48 89 e5 mov %rsp,%rbp + 400802: 48 83 ec 10 sub $0x10,%rsp + 400806: f2 0f 11 45 f8 movsd %xmm0,-0x8(%rbp) + 40080b: 48 8b 15 ee 14 00 00 mov 0x14ee(%rip),%rdx # 401d00 + 400812: 48 8b 42 f8 mov -0x8(%rdx),%rax + 400816: 48 3d 48 cd 5d 65 cmp $0x655dcd48,%rax + 40081c: 74 02 je 400820 + 40081e: 0f 0b ud2 + 400820: b8 00 00 00 00 mov $0x0,%eax + 400825: ff d2 callq *%rdx + 400827: 8b 15 f7 14 00 00 mov 0x14f7(%rip),%edx # 401d24 + 40082d: 01 d0 add %edx,%eax + 40082f: 89 05 ef 14 00 00 mov %eax,0x14ef(%rip) # 401d24 + 400835: 8b 05 e9 14 00 00 mov 0x14e9(%rip),%eax # 401d24 + 40083b: 89 c6 mov %eax,%esi + 40083d: bf 2d 09 40 00 mov $0x40092d,%edi + 400842: b8 00 00 00 00 mov $0x0,%eax + 400847: e8 04 fd ff ff callq 400550 + 40084c: 48 8b 15 ad 14 00 00 mov 0x14ad(%rip),%rdx # 401d00 + 400853: 48 8b 42 f8 mov -0x8(%rdx),%rax + 400857: 48 3d 48 cd 5d 65 cmp $0x655dcd48,%rax + 40085d: 74 02 je 400861 + 40085f: 0f 0b ud2 + 400861: b8 00 00 00 00 mov $0x0,%eax + 400866: ff d2 callq *%rdx + 400868: f2 0f 10 45 f8 movsd -0x8(%rbp),%xmm0 + 40086d: f2 0f 2c d0 cvttsd2si %xmm0,%edx + 400871: 29 d0 sub %edx,%eax + 400873: c9 leaveq + 400874: c3 retq + 400875: 66 66 2e 0f 1f 84 00 data16 nopw %cs:0x0(%rax,%rax,1) + 40087c: 00 00 00 00 + +0000000000400880 <__libc_csu_init>: + 400880: 41 57 push %r15 + 400882: 41 56 push %r14 + 400884: 41 89 ff mov %edi,%r15d + 400887: 41 55 push %r13 + 400889: 41 54 push %r12 + 40088b: 4c 8d 25 86 14 00 00 lea 0x1486(%rip),%r12 # 401d18 <__frame_dummy_init_array_entry> + 400892: 55 push %rbp + 400893: 48 8d 2d 86 14 00 00 lea 0x1486(%rip),%rbp # 401d20 <__bss_start> + 40089a: 53 push %rbx + 40089b: 49 89 f6 mov %rsi,%r14 + 40089e: 49 89 d5 mov %rdx,%r13 + 4008a1: 4c 29 e5 sub %r12,%rbp + 4008a4: 48 83 ec 08 sub $0x8,%rsp + 4008a8: 48 c1 fd 03 sar $0x3,%rbp + 4008ac: e8 27 fc ff ff callq 4004d8 <_init> + 4008b1: 48 85 ed test %rbp,%rbp + 4008b4: 74 20 je 4008d6 <__libc_csu_init+0x56> + 4008b6: 31 db xor %ebx,%ebx + 4008b8: 0f 1f 84 00 00 00 00 nopl 0x0(%rax,%rax,1) + 4008bf: 00 + 4008c0: 4c 89 ea mov %r13,%rdx + 4008c3: 4c 89 f6 mov %r14,%rsi + 4008c6: 44 89 ff mov %r15d,%edi + 4008c9: 41 ff 14 dc callq *(%r12,%rbx,8) + 4008cd: 48 83 c3 01 add $0x1,%rbx + 4008d1: 48 39 eb cmp %rbp,%rbx + 4008d4: 75 ea jne 4008c0 <__libc_csu_init+0x40> + 4008d6: 48 83 c4 08 add $0x8,%rsp + 4008da: 5b pop %rbx + 4008db: 5d pop %rbp + 4008dc: 41 5c pop %r12 + 4008de: 41 5d pop %r13 + 4008e0: 41 5e pop %r14 + 4008e2: 41 5f pop %r15 + 4008e4: c3 retq + 4008e5: 90 nop + 4008e6: 66 2e 0f 1f 84 00 00 nopw %cs:0x0(%rax,%rax,1) + 4008ed: 00 00 00 + +00000000004008f0 <__libc_csu_fini>: + 4008f0: f3 c3 repz retq + +Disassembly of section .fini: + +00000000004008f4 <_fini>: + 4008f4: 48 83 ec 08 sub $0x8,%rsp + 4008f8: 48 83 c4 08 add $0x8,%rsp + 4008fc: c3 retq + +Disassembly of section .rodata: + +0000000000400900 <_IO_stdin_used>: + 400900: 01 00 add %eax,(%rax) + 400902: 02 00 add (%rax),%al + 400904: 79 65 jns 40096b <__PRETTY_FUNCTION__.2206+0x43> + 400906: 73 00 jae 400908 <_IO_stdin_used+0x8> + 400908: 2e 2e 2f cs cs (bad) + 40090b: 2e 2e 2f cs cs (bad) + 40090e: 74 65 je 400975 <__PRETTY_FUNCTION__.2206+0x4d> + 400910: 73 74 jae 400986 <__PRETTY_FUNCTION__.2206+0x5e> + 400912: 63 61 73 movslq 0x73(%rcx),%esp + 400915: 65 2f gs (bad) + 400917: 63 66 69 movslq 0x69(%rsi),%esp + 40091a: 31 2e xor %ebp,(%rsi) + 40091c: 63 00 movslq (%rax),%eax + 40091e: 21 20 and %esp,(%rax) + 400920: 22 65 72 and 0x72(%rbp),%ah + 400923: 72 6f jb 400994 <__PRETTY_FUNCTION__.2206+0x6c> + 400925: 72 22 jb 400949 <__PRETTY_FUNCTION__.2206+0x21> + ... + +0000000000400928 <__PRETTY_FUNCTION__.2206>: + 400928: 6d insl (%dx),%es:(%rdi) + 400929: 61 (bad) + 40092a: 69 6e 00 25 64 0a 00 imul $0xa6425,0x0(%rsi),%ebp + +Disassembly of section .eh_frame: + +0000000000400938 <__FRAME_END__-0x150>: + 400938: 14 00 adc $0x0,%al + 40093a: 00 00 add %al,(%rax) + 40093c: 00 00 add %al,(%rax) + 40093e: 00 00 add %al,(%rax) + 400940: 01 7a 52 add %edi,0x52(%rdx) + 400943: 00 01 add %al,(%rcx) + 400945: 78 10 js 400957 <__PRETTY_FUNCTION__.2206+0x2f> + 400947: 01 1b add %ebx,(%rbx) + 400949: 0c 07 or $0x7,%al + 40094b: 08 90 01 00 00 1c or %dl,0x1c000001(%rax) + 400951: 00 00 add %al,(%rax) + 400953: 00 1c 00 add %bl,(%rax,%rax,1) + 400956: 00 00 add %al,(%rax) + 400958: fd std + 400959: fc cld + 40095a: ff (bad) + 40095b: ff 0f decl (%rdi) + 40095d: 01 00 add %eax,(%rax) + 40095f: 00 00 add %al,(%rax) + 400961: 41 0e rex.B (bad) + 400963: 10 86 02 43 0d 06 adc %al,0x60d4302(%rsi) + 400969: 03 0a add (%rdx),%ecx + 40096b: 01 0c 07 add %ecx,(%rdi,%rax,1) + 40096e: 08 00 or %al,(%rax) + 400970: 1c 00 sbb $0x0,%al + 400972: 00 00 add %al,(%rax) + 400974: 3c 00 cmp $0x0,%al + 400976: 00 00 add %al,(%rax) + 400978: f4 hlt + 400979: fd std + 40097a: ff (bad) + 40097b: ff 0b decl (%rbx) + 40097d: 00 00 add %al,(%rax) + 40097f: 00 00 add %al,(%rax) + 400981: 41 0e rex.B (bad) + 400983: 10 86 02 43 0d 06 adc %al,0x60d4302(%rsi) + 400989: 46 0c 07 rex.RX or $0x7,%al + 40098c: 08 00 or %al,(%rax) + 40098e: 00 00 add %al,(%rax) + 400990: 1c 00 sbb $0x0,%al + 400992: 00 00 add %al,(%rax) + 400994: 5c pop %rsp + 400995: 00 00 add %al,(%rax) + 400997: 00 e7 add %ah,%bh + 400999: fd std + 40099a: ff (bad) + 40099b: ff 77 00 pushq 0x0(%rdi) + 40099e: 00 00 add %al,(%rax) + 4009a0: 00 41 0e add %al,0xe(%rcx) + 4009a3: 10 86 02 43 0d 06 adc %al,0x60d4302(%rsi) + 4009a9: 02 72 0c add 0xc(%rdx),%dh + 4009ac: 07 (bad) + 4009ad: 08 00 or %al,(%rax) + 4009af: 00 1c 00 add %bl,(%rax,%rax,1) + 4009b2: 00 00 add %al,(%rax) + 4009b4: 7c 00 jl 4009b6 <__PRETTY_FUNCTION__.2206+0x8e> + 4009b6: 00 00 add %al,(%rax) + 4009b8: 46 fe rex.RX (bad) + 4009ba: ff (bad) + 4009bb: ff 77 00 pushq 0x0(%rdi) + 4009be: 00 00 add %al,(%rax) + 4009c0: 00 41 0e add %al,0xe(%rcx) + 4009c3: 10 86 02 43 0d 06 adc %al,0x60d4302(%rsi) + 4009c9: 02 72 0c add 0xc(%rdx),%dh + 4009cc: 07 (bad) + 4009cd: 08 00 or %al,(%rax) + 4009cf: 00 44 00 00 add %al,0x0(%rax,%rax,1) + 4009d3: 00 9c 00 00 00 a8 fe add %bl,-0x1580000(%rax,%rax,1) + 4009da: ff (bad) + 4009db: ff 65 00 jmpq *0x0(%rbp) + 4009de: 00 00 add %al,(%rax) + 4009e0: 00 42 0e add %al,0xe(%rdx) + 4009e3: 10 8f 02 42 0e 18 adc %cl,0x180e4202(%rdi) + 4009e9: 8e 03 mov (%rbx),%es + 4009eb: 45 0e rex.RB (bad) + 4009ed: 20 8d 04 42 0e 28 and %cl,0x280e4204(%rbp) + 4009f3: 8c 05 48 0e 30 86 mov %es,-0x79cff1b8(%rip) # ffffffff86701841 <_end+0xffffffff862ffaf9> + 4009f9: 06 (bad) + 4009fa: 48 0e rex.W (bad) + 4009fc: 38 83 07 4d 0e 40 cmp %al,0x400e4d07(%rbx) + 400a02: 72 0e jb 400a12 <__PRETTY_FUNCTION__.2206+0xea> + 400a04: 38 41 0e cmp %al,0xe(%rcx) + 400a07: 30 41 0e xor %al,0xe(%rcx) + 400a0a: 28 42 0e sub %al,0xe(%rdx) + 400a0d: 20 42 0e and %al,0xe(%rdx) + 400a10: 18 42 0e sbb %al,0xe(%rdx) + 400a13: 10 42 0e adc %al,0xe(%rdx) + 400a16: 08 00 or %al,(%rax) + 400a18: 14 00 adc $0x0,%al + 400a1a: 00 00 add %al,(%rax) + 400a1c: e4 00 in $0x0,%al + 400a1e: 00 00 add %al,(%rax) + 400a20: d0 fe sar %dh + 400a22: ff (bad) + 400a23: ff 02 incl (%rdx) + ... + 400a2d: 00 00 add %al,(%rax) + 400a2f: 00 24 00 add %ah,(%rax,%rax,1) + 400a32: 00 00 add %al,(%rax) + 400a34: fc cld + 400a35: 00 00 add %al,(%rax) + 400a37: 00 c8 add %cl,%al + 400a39: fa cli + 400a3a: ff (bad) + 400a3b: ff 60 00 jmpq *0x0(%rax) + 400a3e: 00 00 add %al,(%rax) + 400a40: 00 0e add %cl,(%rsi) + 400a42: 10 46 0e adc %al,0xe(%rsi) + 400a45: 18 4a 0f sbb %cl,0xf(%rdx) + 400a48: 0b 77 08 or 0x8(%rdi),%esi + 400a4b: 80 00 3f addb $0x3f,(%rax) + 400a4e: 1a 3b sbb (%rbx),%bh + 400a50: 2a 33 sub (%rbx),%dh + 400a52: 24 22 and $0x22,%al + 400a54: 00 00 add %al,(%rax) + 400a56: 00 00 add %al,(%rax) + 400a58: 14 00 adc $0x0,%al + 400a5a: 00 00 add %al,(%rax) + 400a5c: 00 00 add %al,(%rax) + 400a5e: 00 00 add %al,(%rax) + 400a60: 01 7a 52 add %edi,0x52(%rdx) + 400a63: 00 01 add %al,(%rcx) + 400a65: 78 10 js 400a77 <__PRETTY_FUNCTION__.2206+0x14f> + 400a67: 01 1b add %ebx,(%rbx) + 400a69: 0c 07 or $0x7,%al + 400a6b: 08 90 01 07 10 14 or %dl,0x14100701(%rax) + 400a71: 00 00 add %al,(%rax) + 400a73: 00 1c 00 add %bl,(%rax,%rax,1) + 400a76: 00 00 add %al,(%rax) + 400a78: e8 fa ff ff 2a callq 2b400a77 <_end+0x2affed2f> + ... + +0000000000400a88 <__FRAME_END__>: + 400a88: 00 00 add %al,(%rax) + ... + +Disassembly of section .eh_frame_hdr: + +0000000000400a8c <.eh_frame_hdr>: + 400a8c: 01 1b add %ebx,(%rbx) + 400a8e: 03 3b add (%rbx),%edi + 400a90: a8 fe test $0xfe,%al + 400a92: ff (bad) + 400a93: ff 08 decl (%rax) + 400a95: 00 00 add %al,(%rax) + 400a97: 00 74 fa ff add %dh,-0x1(%rdx,%rdi,8) + 400a9b: ff a4 ff ff ff d4 fa jmpq *-0x52b0001(%rdi,%rdi,8) + 400aa2: ff (bad) + 400aa3: ff e4 jmpq *%rsp + 400aa5: ff (bad) + 400aa6: ff (bad) + 400aa7: ff c9 dec %ecx + 400aa9: fb sti + 400aaa: ff (bad) + 400aab: ff c4 inc %esp + 400aad: fe (bad) + 400aae: ff (bad) + 400aaf: ff e0 jmpq *%rax + 400ab1: fc cld + 400ab2: ff (bad) + 400ab3: ff e4 jmpq *%rsp + 400ab5: fe (bad) + 400ab6: ff (bad) + 400ab7: ff f3 push %rbx + 400ab9: fc cld + 400aba: ff (bad) + 400abb: ff 04 ff incl (%rdi,%rdi,8) + 400abe: ff (bad) + 400abf: ff 72 fd pushq -0x3(%rdx) + 400ac2: ff (bad) + 400ac3: ff 24 ff jmpq *(%rdi,%rdi,8) + 400ac6: ff (bad) + 400ac7: ff f4 push %rsp + 400ac9: fd std + 400aca: ff (bad) + 400acb: ff 44 ff ff incl -0x1(%rdi,%rdi,8) + 400acf: ff 64 fe ff jmpq *-0x1(%rsi,%rdi,8) + 400ad3: ff .byte 0xff + 400ad4: 8c ff mov %?,%edi + 400ad6: ff (bad) + 400ad7: ff .byte 0xff + +Disassembly of section .dynamic: + +0000000000401ad8 <_DYNAMIC>: + 401ad8: 03 00 add (%rax),%eax + 401ada: 00 00 add %al,(%rax) + 401adc: 00 00 add %al,(%rax) + 401ade: 00 00 add %al,(%rax) + 401ae0: b0 1c mov $0x1c,%al + 401ae2: 40 00 00 add %al,(%rax) + 401ae5: 00 00 add %al,(%rax) + 401ae7: 00 02 add %al,(%rdx) + 401ae9: 00 00 add %al,(%rax) + 401aeb: 00 00 add %al,(%rax) + 401aed: 00 00 add %al,(%rax) + 401aef: 00 78 00 add %bh,0x0(%rax) + 401af2: 00 00 add %al,(%rax) + 401af4: 00 00 add %al,(%rax) + 401af6: 00 00 add %al,(%rax) + 401af8: 17 (bad) + 401af9: 00 00 add %al,(%rax) + 401afb: 00 00 add %al,(%rax) + 401afd: 00 00 add %al,(%rax) + 401aff: 00 60 04 add %ah,0x4(%rax) + 401b02: 40 00 00 add %al,(%rax) + 401b05: 00 00 add %al,(%rax) + 401b07: 00 14 00 add %dl,(%rax,%rax,1) + 401b0a: 00 00 add %al,(%rax) + 401b0c: 00 00 add %al,(%rax) + 401b0e: 00 00 add %al,(%rax) + 401b10: 07 (bad) + 401b11: 00 00 add %al,(%rax) + 401b13: 00 00 add %al,(%rax) + 401b15: 00 00 add %al,(%rax) + 401b17: 00 07 add %al,(%rdi) + 401b19: 00 00 add %al,(%rax) + 401b1b: 00 00 add %al,(%rax) + 401b1d: 00 00 add %al,(%rax) + 401b1f: 00 48 04 add %cl,0x4(%rax) + 401b22: 40 00 00 add %al,(%rax) + 401b25: 00 00 add %al,(%rax) + 401b27: 00 08 add %cl,(%rax) + 401b29: 00 00 add %al,(%rax) + 401b2b: 00 00 add %al,(%rax) + 401b2d: 00 00 add %al,(%rax) + 401b2f: 00 18 add %bl,(%rax) + 401b31: 00 00 add %al,(%rax) + 401b33: 00 00 add %al,(%rax) + 401b35: 00 00 add %al,(%rax) + 401b37: 00 09 add %cl,(%rcx) + 401b39: 00 00 add %al,(%rax) + 401b3b: 00 00 add %al,(%rax) + 401b3d: 00 00 add %al,(%rax) + 401b3f: 00 18 add %bl,(%rax) + 401b41: 00 00 add %al,(%rax) + 401b43: 00 00 add %al,(%rax) + 401b45: 00 00 add %al,(%rax) + 401b47: 00 15 00 00 00 00 add %dl,0x0(%rip) # 401b4d <_DYNAMIC+0x75> + ... + 401b55: 00 00 add %al,(%rax) + 401b57: 00 06 add %al,(%rsi) + 401b59: 00 00 add %al,(%rax) + 401b5b: 00 00 add %al,(%rax) + 401b5d: 00 00 add %al,(%rax) + 401b5f: 00 60 02 add %ah,0x2(%rax) + 401b62: 40 00 00 add %al,(%rax) + 401b65: 00 00 add %al,(%rax) + 401b67: 00 0b add %cl,(%rbx) + 401b69: 00 00 add %al,(%rax) + 401b6b: 00 00 add %al,(%rax) + 401b6d: 00 00 add %al,(%rax) + 401b6f: 00 18 add %bl,(%rax) + 401b71: 00 00 add %al,(%rax) + 401b73: 00 00 add %al,(%rax) + 401b75: 00 00 add %al,(%rax) + 401b77: 00 05 00 00 00 00 add %al,0x0(%rip) # 401b7d <_DYNAMIC+0xa5> + 401b7d: 00 00 add %al,(%rax) + 401b7f: 00 38 add %bh,(%rax) + 401b81: 03 40 00 add 0x0(%rax),%eax + 401b84: 00 00 add %al,(%rax) + 401b86: 00 00 add %al,(%rax) + 401b88: 0a 00 or (%rax),%al + 401b8a: 00 00 add %al,(%rax) + 401b8c: 00 00 add %al,(%rax) + 401b8e: 00 00 add %al,(%rax) + 401b90: 9c pushfq + 401b91: 00 00 add %al,(%rax) + 401b93: 00 00 add %al,(%rax) + 401b95: 00 00 add %al,(%rax) + 401b97: 00 04 00 add %al,(%rax,%rax,1) + 401b9a: 00 00 add %al,(%rax) + 401b9c: 00 00 add %al,(%rax) + 401b9e: 00 00 add %al,(%rax) + 401ba0: d8 03 fadds (%rbx) + 401ba2: 40 00 00 add %al,(%rax) + 401ba5: 00 00 add %al,(%rax) + 401ba7: 00 01 add %al,(%rcx) + 401ba9: 00 00 add %al,(%rax) + 401bab: 00 00 add %al,(%rax) + 401bad: 00 00 add %al,(%rax) + 401baf: 00 1f add %bl,(%rdi) + 401bb1: 00 00 add %al,(%rax) + 401bb3: 00 00 add %al,(%rax) + 401bb5: 00 00 add %al,(%rax) + 401bb7: 00 0c 00 add %cl,(%rax,%rax,1) + 401bba: 00 00 add %al,(%rax) + 401bbc: 00 00 add %al,(%rax) + 401bbe: 00 00 add %al,(%rax) + 401bc0: d8 04 40 fadds (%rax,%rax,2) + 401bc3: 00 00 add %al,(%rax) + 401bc5: 00 00 add %al,(%rax) + 401bc7: 00 0d 00 00 00 00 add %cl,0x0(%rip) # 401bcd <_DYNAMIC+0xf5> + 401bcd: 00 00 add %al,(%rax) + 401bcf: 00 f4 add %dh,%ah + 401bd1: 08 40 00 or %al,0x0(%rax) + 401bd4: 00 00 add %al,(%rax) + 401bd6: 00 00 add %al,(%rax) + 401bd8: 1a 00 sbb (%rax),%al + 401bda: 00 00 add %al,(%rax) + 401bdc: 00 00 add %al,(%rax) + 401bde: 00 00 add %al,(%rax) + 401be0: 10 1d 40 00 00 00 adc %bl,0x40(%rip) # 401c26 <_DYNAMIC+0x14e> + 401be6: 00 00 add %al,(%rax) + 401be8: 1c 00 sbb $0x0,%al + 401bea: 00 00 add %al,(%rax) + 401bec: 00 00 add %al,(%rax) + 401bee: 00 00 add %al,(%rax) + 401bf0: 08 00 or %al,(%rax) + 401bf2: 00 00 add %al,(%rax) + 401bf4: 00 00 add %al,(%rax) + 401bf6: 00 00 add %al,(%rax) + 401bf8: 19 00 sbb %eax,(%rax) + 401bfa: 00 00 add %al,(%rax) + 401bfc: 00 00 add %al,(%rax) + 401bfe: 00 00 add %al,(%rax) + 401c00: 18 1d 40 00 00 00 sbb %bl,0x40(%rip) # 401c46 <_DYNAMIC+0x16e> + 401c06: 00 00 add %al,(%rax) + 401c08: 1b 00 sbb (%rax),%eax + 401c0a: 00 00 add %al,(%rax) + 401c0c: 00 00 add %al,(%rax) + 401c0e: 00 00 add %al,(%rax) + 401c10: 08 00 or %al,(%rax) + 401c12: 00 00 add %al,(%rax) + 401c14: 00 00 add %al,(%rax) + 401c16: 00 00 add %al,(%rax) + 401c18: f0 ff lock (bad) + 401c1a: ff 6f 00 ljmp *0x0(%rdi) + 401c1d: 00 00 add %al,(%rax) + 401c1f: 00 10 add %dl,(%rax) + 401c21: 04 40 add $0x40,%al + 401c23: 00 00 add %al,(%rax) + 401c25: 00 00 add %al,(%rax) + 401c27: 00 fe add %bh,%dh + 401c29: ff (bad) + 401c2a: ff 6f 00 ljmp *0x0(%rdi) + 401c2d: 00 00 add %al,(%rax) + 401c2f: 00 24 04 add %ah,(%rsp,%rax,1) + 401c32: 40 00 00 add %al,(%rax) + 401c35: 00 00 add %al,(%rax) + 401c37: 00 ff add %bh,%bh + 401c39: ff (bad) + 401c3a: ff 6f 00 ljmp *0x0(%rdi) + 401c3d: 00 00 add %al,(%rax) + 401c3f: 00 01 add %al,(%rcx) + ... + +Disassembly of section .got: + +0000000000401ca8 <.got>: + ... + +Disassembly of section .got.plt: + +0000000000401cb0 <_GLOBAL_OFFSET_TABLE_>: + 401cb0: d8 1a fcomps (%rdx) + 401cb2: 40 00 00 add %al,(%rax) + ... + 401cc5: 00 00 add %al,(%rax) + 401cc7: 00 16 add %dl,(%rsi) + 401cc9: 05 40 00 00 00 add $0x40,%eax + 401cce: 00 00 add %al,(%rax) + 401cd0: 26 05 40 00 00 00 es add $0x40,%eax + 401cd6: 00 00 add %al,(%rax) + 401cd8: 36 05 40 00 00 00 ss add $0x40,%eax + 401cde: 00 00 add %al,(%rax) + 401ce0: 46 05 40 00 00 00 rex.RX add $0x40,%eax + 401ce6: 00 00 add %al,(%rax) + 401ce8: 56 push %rsi + 401ce9: 05 40 00 00 00 add $0x40,%eax + ... + +Disassembly of section .data: + +0000000000401cf0 <__data_start>: + ... + +0000000000401cf8 <__dso_handle>: + ... + +0000000000401d00 : + 401d00: 6c insb (%dx),%es:(%rdi) + 401d01: 07 (bad) + 401d02: 40 00 00 add %al,(%rax) + 401d05: 00 00 add %al,(%rax) + ... + +Disassembly of section .jcr: + +0000000000401d08 <__JCR_END__>: + ... + +Disassembly of section .fini_array: + +0000000000401d10 <__do_global_dtors_aux_fini_array_entry>: + 401d10: 00 06 add %al,(%rsi) + 401d12: 40 00 00 add %al,(%rax) + 401d15: 00 00 add %al,(%rax) + ... + +Disassembly of section .init_array: + +0000000000401d18 <__frame_dummy_init_array_entry>: + 401d18: 20 06 and %al,(%rsi) + 401d1a: 40 00 00 add %al,(%rax) + 401d1d: 00 00 add %al,(%rax) + ... + +Disassembly of section .bss: + +0000000000401d20 : + 401d20: 00 00 add %al,(%rax) + ... + +0000000000401d24 : + ... + +0000000000401d30 : + ... + +0000000000401d40 : + 401d40: 00 00 add %al,(%rax) + ... + +0000000000401d44 : + 401d44: 00 00 add %al,(%rax) + ... + +Disassembly of section .comment: + +0000000000000000 <.comment>: + 0: 00 47 43 add %al,0x43(%rdi) + 3: 43 3a 20 rex.XB cmp (%r8),%spl + 6: 28 47 4e sub %al,0x4e(%rdi) + 9: 55 push %rbp + a: 29 20 sub %esp,(%rax) + c: 34 2e xor $0x2e,%al + e: 38 2e cmp %ch,(%rsi) + 10: 35 .byte 0x35 + ... + +Disassembly of section .note.gnu.gold-version: + +0000000000000000 <.note.gnu.gold-version>: + 0: 04 00 add $0x0,%al + 2: 00 00 add %al,(%rax) + 4: 09 00 or %eax,(%rax) + 6: 00 00 add %al,(%rax) + 8: 04 00 add $0x0,%al + a: 00 00 add %al,(%rax) + c: 47 rex.RXB + d: 4e 55 rex.WRX push %rbp + f: 00 67 6f add %ah,0x6f(%rdi) + 12: 6c insb (%dx),%es:(%rdi) + 13: 64 20 31 and %dh,%fs:(%rcx) + 16: 2e 31 31 xor %esi,%cs:(%rcx) + 19: 00 00 add %al,(%rax) + ... diff --git a/src/rap_plugin/hl-cfi.c b/src/rap_plugin/hl-cfi.c index e1c2810..3052500 100644 --- a/src/rap_plugin/hl-cfi.c +++ b/src/rap_plugin/hl-cfi.c @@ -814,8 +814,14 @@ build_cfi (gimple_stmt_iterator *labile_gsi_addr, basic_block* labile_bb_addr) gcc_assert (is_gimple_call (cs)); decl = gimple_call_fn (cs); /* We must be indirect call */ - gcc_assert (TREE_CODE (decl) == SSA_NAME); - gcc_assert (TREE_TYPE (TREE_TYPE (decl)) == cs->gimple_call.u.fntype); + /* If wwe set this assert ,will cause a kenerl compile internal bug. + it's looks like a compiler bug, because gcc will generate a + gimple_call(int_cst(0)) gimple code. */ + //gcc_assert (TREE_CODE (decl) == SSA_NAME); + if (tree_code (decl) != ssa_name) + return; + gcc_assert (types_compatible_p (tree_type (tree_type (decl)), + cs->gimple_call.u.fntype)); /* build source hash tree */ sh = build_cfi_hash_tree (cs, BUILD_SOURCE_HASH_TREE, NULL);