From 83671ebdaed8cc5a8b14b4429f6f93152961a8db Mon Sep 17 00:00:00 2001 From: Leena Miettinen Date: Mon, 30 Sep 2019 16:45:16 +0200 Subject: [PATCH] Doc: Chrome Trace Format Visualizer Fixes: QTCREATORBUG-23024 Change-Id: I8caac6521a9962e64ab09932ab6177099d48086e Reviewed-by: Ulf Hermann --- .../qtcreator-ctf-visualizer-statistics.png | Bin 0 -> 45343 bytes .../qtcreator-ctf-visualizer-timeline.png | Bin 0 -> 32987 bytes doc/src/analyze/creator-analyze.qdoc | 10 +- doc/src/analyze/creator-cppcheck.qdoc | 4 +- doc/src/analyze/creator-ctf-visualizer.qdoc | 113 ++++++++++++++++++ .../howto/creator-only/creator-autotest.qdoc | 2 +- doc/src/qtcreator-toc.qdoc | 1 + 7 files changed, 125 insertions(+), 5 deletions(-) create mode 100644 doc/images/qtcreator-ctf-visualizer-statistics.png create mode 100644 doc/images/qtcreator-ctf-visualizer-timeline.png create mode 100644 doc/src/analyze/creator-ctf-visualizer.qdoc diff --git a/doc/images/qtcreator-ctf-visualizer-statistics.png b/doc/images/qtcreator-ctf-visualizer-statistics.png new file mode 100644 index 0000000000000000000000000000000000000000..1e58b416116072dcc4c2ba71ea49c0745e80e240 GIT binary patch literal 45343 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.*M= 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 C@>+` zUVFd#e{GQIZXTXV9OcZ1?yxZ3Wy@4e%<)uE+_G(hyB$YUFsI=q%cEjua*>`cZ&(`N zZdT+x?s_|iN4sV99M?@9$^Cmh?(hg{%OpMac3bZBN@bUFg<-`#sR@A`JTt+)Tae*Wp7t?lPCd!B!{+5c}}H`~`W>9((xmQD%s(gYEruYb?j z3}tH`oii26)Ln7!_r32%=}*1m!OAq3&e$AuCKAGSm7lRW=^RAA=C1>DuCjdndA@$0 zr8dYw&80IwA3XE(#@_vZZ-1Bj+`8dG)QQCZe-^-O$?84(vnkMYr{(>ho%v6{c3MAQ zU$C(`e`;2mwNAeEFJu3mx?8@?d*f66Ws~pO&kySNMZl~zbuZrc&N=?aq4ss&^Y<9% z&RlP1Z?tOFr#orqY%j~adOCOhk0W!rrHkhs?|a4-zxm^mmkqn;eNOye6Kj|baoLqU zXDmaXzZQFPCNeiSx7Xx(L|RSpy31SRZttD%!Is;uYkOR-?=|1Nf8W&YKHk3h`CoRe zxV&DZdh5$`-Mc;9`aY|+DL+1{+7-R->v^dM2lvf-sLk_rx6Hc_=lo0LdFF{vTleKl zMCtEV!{>)CRQlF?zds?dH8LFTe)D3#nxD4&@6}GQ?`QuV`E{Q7t@^*Ve?xckdvW`v zoRgN8c7LUHOWox8y8h5B+OlnYv1d#2R%FCB%kD}oD=lAEd^enpf7k!x_03afwU~W9 z8O8l3e=*CgJx^z?-kRMQynTJ^dLxrBNgrNK*iwJwlXHa3vGsW>(VM?zyS85YPMCjA}=fKB2sgT&)xZPh+F^6``o_c zOT&+wJ)h`w+aSft&CUlN|^9@n*-xi0$a$!WUV?{~#8tuvY~SF_saRg7`jyzch} z4!-?5yk_F1@?%S{NkJ=-!(1+v|?J!@KHF1u~Ya-+AAh zQ4-$2IrVq;kyn3N)mGi$>u%;Tiwm?*F@eacWWVI?05&D=oL*j=i1MZO$Kl zc4y}4%|_3)oIls?o}PLCrug$mM$Gl=Y?o}UmC>8Y6Wu>!X3mF`_b=J~+u-8U&cBwX&(rNb&$Rz2Y%l2VyzueIl4mwqZ5yNt z*Y5tYv+hROjweT+&GC4;o$dQyvGv#TZWQ$fnK5slT|9H)!$;p56~uME-`G3fV{66o zgoF22-K{I!e>67qm-W?>q?I<|TW7*DMq1vvncu#xEw9KeJKDVd_l5QKiu-TwtUg&* z_W$#Gf78PeFSFhXJk(yl$LR92?qxfpsx{8@&iA@%@+5j@LG~T)dB+W(r_3+8OZ7?xp$c47^N% z>ksmRshtv(_3+uBHB0gWAPGZrX~@PNOY>{S&%$1pOv&5-_nY&Nt%V%bZ+ow0$6m|c zdo2}=ULU@b`s~b{+V8Kn>b>5opP#=a?)4@x+Nx)q{_M@}@b#sU>%T@#|9WfscC6x2 z>-S!~m$CO+c5K?YGdHKhG{4>oQeD0HYt;1cQ*-q9d^jZCXRH3t*5Wvi`PEI`+-#=j z`eyC<{^EvdtL5_+-Tqq5*B}>wG=UlBQR_=9P0v_9`TXwxS4;o;pGWimFMKXDN7+nh zb{FqC|9SWSzALZ)GEc2wr3RYdw1Sf}QW(xzkhse*gb}e+u(1 z?wbM%tSES>Nw2-WYtNf!GHKPHXY2ja@89?1ivFLo>2}4%Vd2^B@^z2)?f)4sS9|ex z{fk4Ar;2m5+-B6jydh+H`|{py>irM2Q_O|^9Q zmiT8p|EJHhHP?5oxn8yQbk$lAW7nGNyY?78lUY^yH&p!J@%z;m5C8vDDQ;6;yshi^ zo3-ixR!=_vd;j@;Kib#Ln`zT-aGc|_ulZe(b92m(J>I_OsqRca|J-xp@iiasmfxRi z^|@16eNkcCGnxET-0?pS{U|?qwz57TGWl!azmnX2jhE}Tmel_}7rFFasP%5YTKUb_ zv%mE%zkg-x{iCmcJ*_=)J~{h;>)SVXKmA*GKfL0rO__(^UFGxlUYE;#PTuuR+#vqm z>7;Y(>(8>*|NALE_wSR>^NSxEr`4U$y*^F<&Y!#fHvd=Fe_o^=XFj{PU8VkA@%-w$ zuj8h#s<7Gj<&yXLIhK=OeOdBM=GGkT61_9;>;L~w&puZ;_h<3E&vPUygjpRU$C^V8J6;Nkw?cewX|oB4eIhsyIa zE{B9}ym_PIjZ&G&?%AD|$8UU!zW?jmB+L6XpU=+qOV29a_j=v#S!!(DmGjQcS^R$E zsbk07{z$jUe45j1cKq(Sk0w&dr#3#FqnPvL{$4Nr(Eoe(M(yu=zF6!n-_EqyeJd*8 zY&<$AeAoM}d-JO5udlqm^@DD0{MY^O!gE*s>b@Q|?|9TdgOZA>yI;~Tn7%Iht$*$H z_qcw0jqPUn<)>e~ma1=^UUfI+T>Hc6lP5mg;}?I=cix_c@=BxPy0548ITrr?)vRA} zviq6ECrRo4*du*O<;H;@XN3Na|986n=bq=b`jemk`2O>J{lAsL%iryI+_!T5wST+o zzrQz|`Pu*P6@TB{b4x9^d=7lUU;pFq`Pz5I(|>yZTx7_mvbtU->Y_b+-yhrEPv0kM z-+fy6Z_RGM{PNTHEpGomv-8znx#zDdbN6jK{--bQcmAub{}0I>pEKJf`|bIAufNA# zpLg8NF7~v1#OuGJal8JO{&~%P?ZMu>pR751ch>~I=J>p4x6Mq;;~Z~Q*H@&)to_>> ztY2~P^E}&r=g)hd+x`At_m%bc{=bK=@BcMZm-*1+aF0*N?Y?c?kzoDg=d|d&oo_as z&fEL-+J$ElCwle#ZJlp;$9#+jN%O^zS)UC^I$d z*Q@yC;<$@?{U*#oJ^mygK)FZ%9y$y@z|_MfM#@5RphVfTE)&1}8uurmVRP8^^A|IU8P$J*`l zi!ZXy|9#_ga@&U2>uaw0Z28HmUvbd>@ACg9Ta5K?{5v`S&&eO=B3A!;FFu>GVOOot zritGz_kUTc-#Eai-?;w)=eX`BBwl zo2@j&<0=j=xBIi_N64z#>+7%iJUhsB(x&oL3P*a6*>Q`4J7zN1q_%S%-~V>;+2mQp z-xx!do?krc>hhqa&t!~e9^GG81u zVqbN5^Z(c4@n6o@z1wL#bF-G&CvW@DclQ6d)Lou;Z&tgRzhRT@x#dAuujQPz-176& zY5o5f+U>q{@Bh(lEZP43?rKm;Sp}^MV?njyQ`Z^AJvGNZ*>5dAcsaiAppfb7d}^3EVq2w3`L!`BbP0=Jifnr{XQ$Uneo4G zT|dUQefxG?mD%*?=CP);6(8O3$jMT>HD_aM?y=?0N7uv#_g}u|m2dI({txN;$Muqn zlQzCN_2J{$o!gWRwIlvWAAc_Y|8afI`@P@wo-Ysj$p)&sL3J6p22b64E&JJ>2xF0* zH?0!YzOmnYX8bJdvh184&;A^W`x%6&?Lj&~)%z!{nV+Su2hH594`~8`#9=0Z+X84c zvEJ*gamMM-&dfon*rKL?jatvY&@%r2*~i9bKE1ILDc^Q`{jATGHYNM2Au9J?gh$*i zn_kQLKkhEyWbj<{?!VJ|b(OPzSZQzVIkRMS&;FV}ClhW?nD#-#v5AFKNX272>#ceE{LQB3HJ`1)#m{p)Y?ccwh=jjw*aG5=20-^tr`56oF_{r%gG z-&5oFJ^ZBq?}BLjuZM5f-zzyQygkPJL{&thq=iU2xqfitSZGQdt+sprdIk^9Se!bn3pAXWcZ`E84&#$?E z{oel%|CDbYlmBsq7uM|mf92-Hel|0jO`--GM#{q~pp@9{=sUYlS1-ydgo8S9=vHo{`$;tiy zzRUmG+-_XC@A2vPneyw>(Ib1R$#ehz7n#@pocs3r{JnZ@DUZXRXRGg7QrQ)I{6C*l6Z>8mGFHeo%nHcun(mmd2DsOII^u)(jZ`=R<+5YI|&G$A{ zSHtt>oUA=pIOP$8+atbL;dTE$<&-P_e|z}rnVXzUkTjZf4wT-u6g~UHf9U(ZfAahP zef|HXVnt5J)8G64{hRUT)h^5P0^i#7WB%{m|LgRPukYXf|Mz%r?D46$4HaajRlij^ zd{_7O`H*k%Hb1r3|K6KC{m;9r^M92u-|c+i{@=3iO|NF2TPypl=Ks$4GiBwElaJqS ze?4=vFpCN(6F~Dv=Fc;g%P%LLE8JW7GVQLwt=;?Tk`{R{)84vw_xAfYGmX!CvnL-~ zTJ_+(+?{{T+qb-_TE2Pz{rhFNza{^$+TUrVcjMo=`rm&4KbG&86)!q}Va{WTe;;mc zPY-W9o|B@>d<(;`J#+it&;s=B>A&i3QB8#ytnWIwm>f3#ii_m%yBzvQgH z=C{@I*!KKCkNUUNtB4ktH8ntrtr^CksF=In@cF$RpX%m1em}Z1wduw7<24D28x7A$ z|3Bsv`+s41XmQP|;@dNd^V|RK1`mMKb-aUDI^RDc+65V&#_&od8wRZh~@P5zNm;Zl$5jp%)_wZNq+L!Le zxqZ=Fx^ERJZbZdA6ws{yG{4y)mt~G-n4cterKC6v{NFh@4WxN)BoS=JI5=} zj7}4FIWBX3?K2yhuf8^B_bc!1x@@E%BmZE^TfGw7-66ZPxB1%^T@9Dc7rl4)^_wNt z`LAz9FV4RIQ~tl<>nJnn$Unb@dvo~9<`=)udb|C|*E5C2A8haM&~Kad_|UU=?m?#U`8KN!pL?9BtjMXUx$=A8 zw|_TEYnBxEn8|1V)p(hg&Q*OU|J|*%8@J9lXl*7J+x_wF4jJ2bPxF3uA4mz$KECkx zE8oJ(vV`Y_TeqR*!=3A|&8x|K8Y2yxh;6ezr+l{*FZ)v~&j5#KmEVxM+H^!UD|S%A07uxh({u8}wd3CZ+qXaN zR*R*+@w^TY@Cfd)TpwzfE(iwC*38)4(QzW`>92gb`H3?Af`Skcj^ea)N=j!UWf#1& z{CMS(+L_9kA6;Br&V{FCpX*!Ral+=%oSDYOVuFH+=aiIC*`g5PzU3Vp#bIY6U0j}g znE83~cG=&@*5?1Y6|MYHVV+UCpy0Eb6|bAxlFlh9DYajov)=amx7GWq9?QnpooBB9 z^?sawuT##2+t+>m|Lw{7Jx{f_@Bg)Z{hY~` z|91stb)J?iYCSfGUFc>?o9Q!~2s3&9cc#y{MQ8n9d-6hIZnl3^_8Ch_4Lu#38xg+A zr)LzG{(Wc^y5=9(FDgXa~>mv$a}l$mz!=i?kkuvfl4tGPRQ`%#|6kMBYC`kymD zH=SNDFj1AKIPUD~t=-?OuU)~unU0as^nL$$&qRi0pQ&78dHr_QC#T*u z-$b{)w0q_BJK@KUy&K;idT%x3li-PCyUVRN2S1-CdFaty%c?IK-z@(19tWkY7E9yw zi5?Q4O^>hpoBsdJ{P^;}v-$RI75H#H_SY{Dn}l;l_kYiEpIQ9YqPQsdONZg}TaqW1 zNf+zoWNj#s^*KD_^M^%mTh9oD?Ph?a*)x%Ro6X`2pN7u=_htFx?@#(`-z2lkRQ64+ z|FyjS*+F*sKWEbIg!v!6^x;s?NTYCNdz2ft+<#*@S8pQQPdrgve#FA&EB;9qryD5$Bqi|e`k63{Xfxf^W}o``#qcW&lmpxB3u5)Wy_w&$Ln-cQmZx`9CPTQ32TEA(kXttT$zyAjk zEG**-Ke#u#%Ujs?S?VY3Kf9X8{9e9K+wsS>FPXnf{hrRO5*N$9P41S=bf@^D4Huv3 ztgm>wI;r_%zL|5xzb_3d*4JEJ-7o+CbTLor^ILyTh40lm5xe&6oU4@@psagnPI~6K zpBmX^E5E(m{rTcWmxkYYWzmT}yRJvyxj) z-?-spUUK}c?%tb|rpC@+|JQ8oB)M0L(T|QbAG;K{tNW^a?kyXi6-Aey&S#f7>-V&> z{QEq^turl+(~p8eC&l%Q<^GwL-?zMLHrVxWMOu|>`AxRZ-W}}UJ<83^GIZ8Nylza6 zF^%1N>RN9(`}y~~?AzitYoFiEy~Mk(e(SfI@70xmwRpE1UY}9?Z^8EI@21T@7^eUE z!ZVK;i@Pc3K3+PQ`=34T{heO_KybOGby_+yU+LP;=NV3WDf72|L2MNVf)A4-+A+A%ru*R=I4#A*W;@1mKvKp z-?6>&d7pLCmY>Y>KVH5|y?vDP@C@VPFi`gH=vcGOlD~I#{rxu|j@|Nks3uV?*Att5 zE-d8TwV&(wEWSmXKaAY>NapyQ<@fS0uYTNb$*;G(|M#Wrd&{Q!o=A&%E~E8(_5NS0 zH(z}=$@2dP{`&=odCkwAn$sTKwDT8;_MhLGaW3__kCb%yoNEc$=5{ihZRg#M zn$xqWzjpp-rEk@hhqX@Dp8HzA#G~cAV$5%f)GjsL&eQGK{_tw9E|Myt_pJTu8m50B0AsQa@^QC|NFI)SclOLX` ze{K8z=b2{ydo`zTPdh&6@#6*kvb)VfEM+D7k6#pe`%$Yn?Oc~7s7WIDOvh;Uk*7E9 z|2?)=JTw3Io#*fN|5sK#v%cb}cCx~+N#1eQPp5|0{&_6l|M5Bh{rdl<*Y|6dl3cr7>T9V=@qbzwqIhiKuTa~(tn_oM6VGkeHr>uuTqZCj$ZKV)_A{N;pAFAV z-}~z7`k()%?|Je&{?nyy{kqCK&*o&N|B>#G|Fx+*{?A|i&Tli!a(1oWI^E#o+m|w1 zZBoxvu6>m%zTd`o&%veBCeAFG`f)mcah%x_RU0pGLzDAT)AaOnN~d$qol8F5d<4|8 z1C8^jcue5iYN@?++O|2zL6htIq(K8moI)zk)=Wt{2WqK8x*-!3boW}`Up^)36h!oX zFT_-#;xI46^k-{k7=wq6R6Hik*c=23uA_5if;)Jiv8bs*;7kl}yF$#KX{qlUdm#YP z@J%}BWtjfl@Y$MOxBhrI_iCO;lUjc5sqyo<=j!6Bci)bD3~K$QKi@O^#gClIWZRz$ zO3(ehb?X+F=e-*@EGC86^d76|M2zb^KRm~Oo>ld_|J+x17N`5o&58YT=BDxTG<|{P z=Z>8_KQC&{);TuCdbiX6CB#|p$ltnc?F{4Mc{k?lR+>2@B|OB~F_x)#-lSYkL`x7p zv~%{#oZW2O?tg#!;nBUxlf6}UoB%ddUTJLh~iN9vO9-YA1J=Ms)=e?RNuj_WVq zJms}sdVRBMS-JIL$47JhG7s#?TPwNoYLDgf-S3n1n=R9)7jHjdjOdG|Wu7~$SM%vi zfy%F(@MYC~ck^GIEZyhw?N`8&-MY`usYP2Fh~QSenln4i z%XY`7UkJ6-U3aD4Fn)~%mrYFd4~E}MWEh%n3 zdil(p&&O{vA);#5cFXxWQYr8DUC8$rF|D+S`TS%<>5UmP;}X|SZoRvdTSYqWX3qPE z8$LdGe81K3`I7C;`?=?MZ;Q{6+x7dwg{#~86wdrBn;_q_>ni)~^_eN>&fHx2bx-Wt z*j>LYKc7_V_Tk-JXt7=E;$Fk&Z&UtM?%v{{bwqc!J;Ut}S4)Js_eSmBW|Z#NjfnZr zX3xWRc6V<-pOSo>_3qjeY4>7`E^OisziK6V`IMN~>=%6j?RE3#e7<_?>+}M3vD?zx zcA@4CHLLz)?Y^tF>yGpTIhlvA{9a4VG%ha7id|&*{7SC6>GP(hXVOx~=UmR(H>oCT zTieP*zocsarEzqZKYwv?@y*9S%;k*JVO_kJd-^QDubXaHy2-?B){NqXNu4FxKPTiC zivJXgIP z&mPNu&2^VI=^mU>e7g4BR&E2h6`2RWTVC&zGw-w9zRvXTjAGVR)|Db60=kXLG(^nPFU9CKtVM_15L{_V20`+5XP%d0FwgT9e>ysyoi_tZmzH_N=dQ zizRG$nA_<2tesoillR+xJnI&EI{Dnn$7+~+qv{+EhzFzf1a&ebKWQK&x$8)JGVxkwTxVSb@uW!?Rd9) z7Te1XO<5r4v-Wm6$LC7;pyZ`PXLp(umj0_e_p|hJE9WxywSO&lo%$TBUYtGO*813; zTcO2yx8AJ002jA z9zqNjl*~I*S!OCD^RAb7zIE{=>AU9FYR`39TK5}1Z@!ukQc-_q=HY3(lUgj7{j&;M znUS;8X*MD)txi05lrcG~BK~bm)?ddoaH$totc@7v)!l5Vy%gF|0Qc)vJkCUF9-T9D za}s=P9<+c7RD*)X+>y)B#auV z$fFEvL_o33SG+HFZN=T z_|LW7KL6^@&C7q~s{7BitbTUo2cN;qPu_v*=XtF5%`e}xukgpEo53yq(4t;UP|z~v zS_wk1A-{ATKR5yS$lsudBvnZ*f zHSqerAob=;e_5;LD&NJd|LdK;f2PiUEg{)CoT>jKb006*p6++G&+_;~tMX@OZa!qR zo@%2PVg3=+_|krM2GkG@yFO>L_E!IEy^8A2>piodHSJ`d79VNq=+ibUTFT#SW^vV; zOUHi-zFhybC?6X5kuEMNs_%>a+GlV(pE|jB|MH{&Q|Sb`xT|yYHcZ+zN3NmE{JQD9 z9Jyk<$l5vGP9YtLWsMYW~fN&nG6ITdj0)a@OZ7&*t1R0=G9;7rugypcKtJHpidO z{+#7Z)trLb!j2@P_K3R+N-BSf8a{vW?%l&J*SGev%NNV}t<9}70J&bueYSk&3d5%} zL7l`CcR;J44AY<4Y_!aO|L*Pd?ELcGx9{AXxi^GwTlCG`H^sYj&n5(KUblAb+6hm3 zdwZ2Vk6zB`nI3k1j{fdHTobQ$&F57*G-qninaDJ&XE8ybDZpKS=bl?~DB9q8ANqX7{sym-^hwb@uPIlova;ZGFDV^x2)- zsC&`7HqJU0`0UOGFYEt0XD#n_l;mxwm^HKbpG9(!4tcAeZ~SiAM3-Sdm>4*ZY&F4y#4YC`|D^U z8B1bk=kIx`yT1N#>e6o+o!=&YdXwJVVUWI5q~cjwp~ zol$(cqx|%Y&wHMUN>|P=e#@ktbFSR}L&kr8f&RJses@hfn$)?C^;OaByWi*U`~Plb z`1GmQpGoIe{dm}Z|K~Yteco`nEyo{cbbhPY8awZAj({Mz)wOBG&aKiiTi?QlGb-oX~!44o0tfef?kQ zcRL=dFM29#|1J5WRX~of zJTPuqd;7Vi{Qmu~Pxs%ek6!w>#7yY#3ubw{IK$_!R%a&n#PWyQM8ElW`&Rh-M4PH# zjd9i6tUkvGSJpjU9asCOB7R={?_J)-xgf5nc;W7-XlS}?e6~i+$oa;tS;hWI@2%o8 z&af?dZ)GddaqjB&Z&wd~_>_BBdrPsW-?2H`y?0gL*X!8q)IRUrC~x{jceT#>-Mhc{ ztUn8jYwqH>dtHLhX8d~Xv2@YKr(AEZ?mfSA`TCa;g-Tmie&mzevj0}a*0Q&+cDC^6 z{^>e$EVcH@PiQYzu)gls1NQoF>~SBv3b)L(?B*zzyK>U_`J?v7H-lepe)u^!{qf12 z#_HMOZ};AaHL4G|l@<5=+&rtwfP)s5uR!fnuHSP#Racnamf3f!e&dzRk&`r@>70o? zyCEzu@9jIAxMuFPhcktzpIg7pE-vK$r`3^22M@ZHDQB6DKC0vlV@Fx^P|V%g<_sa+&9vMZ1gaQqP7>zkGJtjHUbd;@4Jg+_4SP zT(40mey6Ipw{DGJ-f82Ot^2diM6SAZXaDw}vi9F5P2czB$H&JnTN2Mix}>aGy|vwM zmgc*i#XG;M?W+28=4SCvj-s^g$FqtnPoCPg`C9SwO@enOU#(ST-n+4A*Y28&j3M>c z)6ajqrM=?nKJ~Rn)A#y{{tCF|&}{zwTdGMExR&|6n1289Y>xiLq;p5Vp8mZmdQX*S#k?J*Md7#^md5TFZl*j)HUWRLky;9?R`zX*1HfmCxMeo_AjLde-;# zwRWXN8v8fP7N5Jm{_b^;;&s`wx99w>*UH%Z@}1IA?%lIlDl0NATOp>OnUl)-#B$w* zb*~D8t&7D3pWUh2Tb7!(;YrxtD}l@RMO7cEJ=gkj@9|wx)n>`(EN^#weEdxPas1!4 zBH#{i_nNRjphDzMk!R7$#ERnuW;`}GXM8?+Nham+ROz!jH?5EAl+%gYdw%C0zsb(q zGeDDeiLW-eMMHYep!&!lU2x)8!{@()+}Gwx)Wu!>p!9B~-T9v(X5!y=zIpWF*6%s5 zzfG;X^2MS!yFdNhSNU^u{N9?*(XgKSz)W3kT_UJb3%@ldKRk=i^>E75N4LW?ODnQ? zio?9-nirS#Ma?sMwkPcCrtbK8YWE%loj&2S>y*W5>(?u%uKrnTt@FT|4>Xse7B$aO zd+V8JZ)~>Ncz_#MOTiP7;Bp<*jsmS4g-lH!nFDEoffks8)hHOIFP*VDSQ}J(YeKrk zXCgJ9y|FnqN3=Ms%kuY6c5ufT6kwp1&(ay2=huUmT!5FOih{%OcOo-b5x94Kc9&kp zim&F+gVWEyO)q`-W@X*&lfmid=2@ElJDED?ssB95H_M~b{X^qq%v8JQ**?8;cFx}o zjVzo(kY4whIn$jXReWXY*`HT#8ay*rXWurfGi!UHP`YgP&xjS76HD&zWvzDkE6&z0 zTKw%Wn-Hu;`uWDQJ$rX=k6*XleQJ|HrQUnR(Rz1$X~Fe>ZXW%wPI1 zghM|@nJk_0Inn(2o@Fw{dMiIEow2<8&o4dbq3(>&HUa!u=TtrQOt0#u9-cLS z&2P>bJ-^h}&Ybna@`^i7=i=CQ#bk1Kneomn!rbf@-T)eq?ulJ!%^Y6ZlQA+oJYCkP| zn$F+KJx13(x1HL##`gbFg~%-zuEoE~*?01$MajSG-+pYa`+sQ5zsEJVTjOOWJ^d>a zdgf<9pCy0Kwv!98&s1*6v6H)#eMVf%gS+ixs(dD|Axr^l5KQ)xsB@&H7^bf3L#MD{uC( z6`!kTHV9Zd$EYV%~1c>wg5}G@re(d(J!yFbpz_7s!?XK7XKvxX-erDv?OiMNZ#>Vh$sLWK^Jq=lw$07w z1-6}=|9p)|@wdw;nbU7z2)<#q(7YZ_|C1D@w{A{>v;8B zy8ZvIm>E6W9Msvn>ST9*=Qhw5An?kzbN!(HHK+)VTZP;x%LV0R@Ng!GQI?f@F6$0> zG!Zn(4rVM5d$tB{%#6)Juj8l3*0p|?fRyELp36f{K4o(US~2NmmZF<-D)`{_BG zZ5~UW|8SQBH2ppSR2y8GaSJpSo^%d**fi^M+OsorM2o*6DGZryW(*o7-TdAS<|TRUTOkoW4dg3nhxUD;%5|MjDAB+tEd8GCm| zd}P~Sd1w}naa}LnwPx;fj!$C;FZly69GRdXn+2*Hk7r#(bB|+Dh$3iM7E~cYM<7(( zMZqRnJ1uR)%E;^2u7!Dg zI(F>X#3he1O^$gZ#vLJ*_Lit;F@hIwEiX2FUh>;|u4n7^gma%AY*$!LSJ`>xhTV@n zbHG#Hv7dkFhSz>QroHcr^F+|n#W$VXWB)(NMfFhT*Rz&eN|sE&HnVv7W%;9T_Y3q^ z&pj7+Z$og^UX!-DTll8ESsRyr?&arQXTzl3XBXeqQvNBPbnfQUJG!6tv^b84{rKdQLx@H ze#M15`Mzy^+0oVOqLR^D^OXMo58Lkle3*= z+gJbisp+}LZO@}c&e5}#w|=9{ z{9`XlPoA|@W3&D}*WGz)@(N3~Im-8cuYM02+lZbEo1%a&3+kHvneq9xyn-v+s{5n! zV(;afKd-$1{LZQU2P6-fnVW}aw{2K0zyGK2{?F6SO#9rm{Gx{m^1AP`fVX z^@^XY=bhin+$)*mzc_YB*q+S1x7RE;rdw?Prt$BQNV@6fxw18F8$|!wJeMf$i`;4) zUH9U=eBF!la_4lcq#mon^B*{qmT;Vj)JIUr``Mq?*QnkXDh}gb zt7`ImM)dEO?``Lbz@8KJ)h9D?4xguKUQ^bK$j5k0syVu{Bc^)z?Sn zTvarBzR+oYbv2KX`=O=odhpp6SlM-Tq4D$1N3i9!Fj4#^8aPCc%t2NZ+rYwkNzv%} z?W=x@240Q-DR#b*IdeXGT+Wi({wewBclHM=frI$rpr3lcNU6i>&nku zYkB?MB2Cp>)1H2g-+Fnu^7i=KuRrn!zFg6_IY~I^^sc3$UfyBhGW)Lw%P;NZ3*^jv zwfIWi1oyh!p8Yj%cda~k_OZZHkK{VbtujkJ_y5TXm)XqyGHG(1uIbyPUFKDn^v-9A zf);}({QQ#h2DFMS^Vw`gDIngy+r1I=X!#{|g4<)v3Mi_hD&&$~JGh0na{C+FcNhK*wR zXXDp3u8BJtYxKPEWV)T*T+gCCf-mnRd^9nB{-3vPvXaSGPYGF)iVE&B}1YL zvMu2mc=mV8r|*{M)6Z1yF}&A&_qmPP&qe7Rt798L`xHP8sry0-pbZM3`s8%s)^Ase zv#F>#iF`4k?Jr)GSPnE(9FgZaJ1 z+1qCoZwgzzdD^$B4%^~)+bUK*yu6OhU+5F(bAjynif5iftwqWSYnNHBZapJ#3^YBS z2HGisNP?e3OlR!Rsn6S7rn?Dseh8B4HzPUzOk{5~BxYe5qzuvIf=KXif;MbmWDiau z@H{$r=pSM(Xciqj`~YrnL316r{RSpLr5VJ;H{#-;L}V@nn!HCO@%=j-nvTrbdlA%_ zgGb0rOK2(vW#>y8#rtAc#vS#aSM6tGdONqxa((u7wN=9LHLvy&3{_ee%F?4tG{^i_?+|a<$G7f zMjHg_*<}B}zOS&#N`1+hIp)DQ!6X9g~kA=?t~SWtJj&?UkXS* z1+~{WeZMLw%w@qFbNWe|Zb8Hw*d=W&oR_ltET@N53O<{YSHIkNR)7AH$@w z%}uMUd;b*ARn)mRcd>haTL0tw6=yK>^|S+XmhU}ZIR!dR-Y-#{x62aLfSo4zewyL) z%Cp*LpX{FBVueKvB;P;^Gnw%0^JnHnzqifXSz5XO?wsef^NY3rGo|Ayn`X@}E;{)6 zf_1yO?DNYR;_F27XGQNW^?M_EZmn(Cev6}#XLHioNiLW+zl!UTMOw!Q$vQXlIl(y| zoLkl$(}hI>X%#bMeR`)QN|y8hH^f0BoG?Sd#Tb~NLPpD+VtIevwH1CP_3P_4T={XO zQ+Vs!*3`PpFGj*|O;#H`KWOy*O2gUo{A%mCSESUNzf%mGge>w`Feg`;snQn;%zn_Fq4C=ZeifCV!a+uU#}tE9yQ6daaC{ zYWRGsZ1K6ex{!Y|)r+>-{_XbG+Zg<(by@1snlqN4uNp;s_H+LyxMEAv=}$W+@rJ#b z{aK{`xYU1vryeU``Ft#2KVScl{};EAaGA~5S8n&In&MWs(Uj5t>aEM)^tQ-9nHG0t zol)BQ&!y^r56#GU_-V%Hig>@PdQYC&9GxG#TD$LNYstpWebb`$z415M|K$Da2@103 z44*?=a3`pLQm3VUEjh*Ee9QMG-#*{EeRrMS2GIEPigV{Gg)aA~+^p^2 zE4h64pB)=E=H$LtUqw`t&EK^>@22R*Rd&<~@_8$$RkH z72HMy&0a5D18UD@voBtqeC}q{QO4H~kFoW4ar4#gx^7W&wdC_px3=EUNpsIVn0oG= z-@cejGec&y^Pj3H7I?l-<+$|3bG%~y#>MC4)42`cEo@lsUZT1?YIjL$*=~bnR?$1p z?@ZdhGi zw!6ytyz91@cIQXsxwYRdub-C*n=7{4YIWJ^saKyqJ5>_Dm~Hap)%)3v^ZK*T@hU%i znee4Tp7*Yu^NjPbwkF6a&{nl?aoFa6HqUQ?ch!R1YoOK!qJWJ@4B7|CiD{XWVH?Z_dQ>o@iFKq)HU z1e^-MUIE7^*o}bgj9#_Pqz@ z{t=Vc8U6c|cr7@0LRhO2Wrt5klYy0oe+6MyKWK$m^hfCR{VrA(5q9e@<+Z3Z93)eGJu>i zz?|hN(M-j9o<%D+)_%Yk02Rxo&bm=>pFu(Q+MLfDZ~wJwUUw?9aOuD9pGijpA3VHu z*!`r?&Aj&h->*f@u07gtdBfDRI~{iHw>xwfy&+M!` zV_ACJ^X$$A3x2j8Gkm^f)_Rrsv(_fA+OW@U{(jUoGw6GTS)SEw_&w*j@iUucJN!;> zV}X|xXc77R{G4>7`qIxDd3T|G$7MO*1@nu4^CZrmJv)t~7&RTO?Xm3tI`d?&{M0)J z+sjs4s%LMl`g|ql>FE>F&#(E-5W3R5vh+7kqTP9P_sjw>Gm${7)rEw);q#SQ23mXU zpPflO9g92?cXke%L(hQviD;%$HKBvrZJ>Y$Wy4(zpaDwIYCO;o4ro8*OD52)2e{V) z>T-iJ2xQ0@+yo2TgR(8q#l>Y-(wWM&U7*!u9UUD8kWC>jE-s*ssS+5RiA36SXbjqK zB?#VZh>Z!VaiA&^&w0m-n~1=9t5%=wH@Pz76L_(oi;D}Xa{`erAdq5ue2(|3Jsib; z+xK6d8B)Rh%!dC;^Q>aeN#4D0o6m#xBDuJ@q)@g-4eaf1`C>VV+{upDXM9e$S!1)~ z`V9S$jCb4BoR4o^Ya71S@cFyTpYC1iy=u~D^t>(f*3a}zw8hg<2cKMbP4Cv@2oi?p zyP=V>=G~0X9>weCPt&eknC7!Xf2Hr^J+0r~UA-#$c&*8`ysR%}Qa_(tIY;cVcJG%v zD|dYV#~DzaI*pe8)$>1V6t9y__si>&GkkWZr1+Ca@;P1Qd%DTzKF-B%4BksR z5mW`IJ-bu&zVP(g)4$(7vw8n}PV`T43+Efpo-LC+1PXW;muq+COy-`~e$R5xON;q# zy9?GfcN=;_L_!%PkIAia+M1g zzPbav5eavi+YH+M3f_|nUi1jsqyk#~(hU*@?No(}f@@>2a7T~P^V?HrMYmd7b9jNz z8C)5vlYA~aG+!@l&%yk88`NS`|2#cBXF6{tXFq5O321vZWE-)Nk|C%$2FqZOS_WLh z!Dn{Bqd6*|xkuEJ5LETT2elz1=Acmu_`w{IQ$0X6T&=kiXooQDpbwA`XzT%$Ss~LF zLd9X5*KtdAS;93#9kLlQXo_0BUiyS{^Xw%aGt<|&_fbGh4m&+ZTPf;yi5{*o38Yob zpuowbD376r<&vYbinF%(vc)E!YfkR%+_ObcKe^M_BIc@ zY;kIibXex|`AaR)8qjEAF=G~Tde$UAk$EcP+r=Me=6TSOj;O%$VhazU6CcezGXNj7*fA$%@!djhq zE=$q41>OHb#bI~5HzvPYuROKu*fi}e=)8KikbJU^5ptdV$8Xr8Nw50{qZ8Cz3t&Pi{wcU2N?e%MfrrfKZ-4Q;&(6emoX07w0x8ImuvHJGY z@cG`oeterR-@HA0wRC?nY|$2CR}3`cB%R$E*Ls=p)}__V%X|NSx0;({v;Ec1)@e0o zsxDlLEid05EIUt5=jQEC3-*?MJ-E(Y?}Bot`ro*m_hpxI)fYegyKK%L!J>W7=ER=6 ztAw&&4D7=nhR+-A!gzOSo!i=cac%OspJr{|U$4F0KkrS_4}+bHc4dCOa{9K|iKud` z=5VXs)<26*?h8(ovs=+Pr;|{r0osvdWNmzG*}-d9rmg;N`Cc{Loqs-$S$LfJ_Zv0o zm9JM^J$|R|&uw{)_0o##W4Fr{nZX7!(Heo?_RsF@PO7ZdDfU~x*6+IKa&hT5i_7jV zn#<=>cIDOMy#3ZU_S6REzu38H@u9D`xIr7-QTE8AwI8>zJgb@Tdye#xO+|*KM=jN* zi}PY@-@HA3CZX_p(RSlj+iQ34+0+;3?L5D;j1jSQ1(G16`c`jMpB25^SBG0$^j%zD z?DoHQ&wpJ#e!s5o-iu>z*Xx~_^Z45{)J;N=bQ^YTjYHR$+x*o^y4LJ$StjYI)UZx%%DF z8-`!6PxNw4J}ruIu+EV=poRfju!3?8YEcg=IN*VWSh7O+lnqcx1@WbVW786D_&_J9 z3;<32gN_aXO{GHSD!`=!M7i6{&u_iXu01qImIcybzM?e^v;gfGd@>!vI(hXLXb&E2 z+Z9AJ$X1NZjM&KpX{n>MBVZ)~(%K`05O^98+>&s|wbp0riCqg8V%mV1-azYs>ykLP zf!-`2&_IXB6=VcpO9awNP4~jz`Yw;-mT#VJ{$@&?es7}s+Gf@2)z@bh|Jswc`RcKY z&tkTp^7z*}qqxknyxRt&+|xZ$WjnV;hkHHe{=`Wxq7Co?1SW?ntAB%gSGR~T0TkV zR#h98`TQ+i5_IuKQL7n7k2>8n4@;W^eeoAc*IB`G6*Qy%&T9eZ$q5J{cy&DqJm(0W zNkr`xBkkCOWqI&ODKyVRs`({>&uVr@ecbi@NHBblzM!CBW|!gfty=J23wUR`prByn z8q59V0boxXIoouo_^|JnfC79TEFc}C3CW_ZQZ(6bkd%U8w*udR!H@J z6oU4-BhMnAd?R|V$?`n&*9FgFCOrvC{`~;feUDrNI^yQbC9C3hCBGK$_$$7saQ)?* zr=`oh)=xjSVe++ullESHea5mjZu`xw#~H=zqEl7=JDq`!j6=F+Cn(N%VqkwpZUUW8 zV*xpzCN5sKfA#D$(wD=f-xvF_%~`#BMRv}v^OYH|&#vw{S|3onZtaAgmahg5wTMXHnd>5?%KSWmfP=D-zj?iscyIB`QLWW!~U_J z6WF$MXJ(rL*dr57&7VJMdcLrnFW>6i@{4*g+V@Phm%W~I!+1_~wMczo*XCI_&+*xT zhM%E6_bm?No~hUa?Y|qOU)?KVy$rEi6_%brIR=%8F)hU1j5!T95VR zpY6%<@UEBw>MDa;+u-Gg(*(eEBxphsl!+jPI%sekGq)peW(BJUp4ZoA2}YltQM~WB-ZvvWwOn=b_TQy!u~RQU^7H+HhMdFUmwk1uY_@LUERIXF z0hb~Zmx-MDd8BjsCW$?<7hy#yC|iPMag{O95nNDlgN+HEW`fpapD&HpYl4EK_1b8? zhG^E3)=3?b_1cI3+so_r7fpFC`(N1WrK`_2I$In&Sa4w7siV`l zR;~@19m4t2Yvr!XZ7xhLL9TlrU3j))pT_fwlfF+)d_#6O7~1nZzp+lJC-c(g+>EQ; z*QTxV;*42h{?gdK?AzSR`{m!}-o1Hu=FRi&{Oup#oOx$_{><-lHP0*SO@imQM{l{E z{a2;1Sa+&{+1t@QaUzt~)v%5k>mzmC8-Tgx0`JI4I z=X-tr7M_r<`r8!MEbDf&W#RN5?fb(e&$cP;wzvgUSmHS!ic?(PL z{u8d2t8YY4;(t3kb;Sk`H~;(=150c3yCuOpbm~(jpZc&ig7ttbFFFSHomOL!+}in{ zD~itb9V(5u?=_+L+>7TqcNnm$b4m<3=WL$3xo~B`eXk4WEvs8L%+B98 zQ}ECVOfOCiJm*)e7QNhSThH3LE9XqzYgGFA!oH=mCq^H?7FH7!BkLQL-Y;;h=3IyX zBusX+cx$ACgMMk2R{D$+9Elp~S{z^jkb|cf>pcWT$Eiwp}A$0r^>)tfRS^~L)5 z%M+$b>TU_dVvy<-;~h=dqIBULMr{6^HLu96vaiWyj>3%_+yBemEmOI+2&Gjw^^B#Hs9V_J!SUWt!axd z#$?+IyKK6dXaCUsvdE=lIjq-0Ezj%fut?=!KXmAh-p|b&PK(zTbN8~kes^uM`o+G; zO7gHm*1!3-byu3|zb@Lf_?O`vkJy!dYWss%ib~hbjC(yjHOqB7!?xLbtpb`>9_eRz zwu5Q*LD3cK)Ejo{9oiuBx;!Om#$SWWJXZdS=Mi>fPeRMws*dJ@LkxE@&C2? z>*q!bt4t7jS+Gz(=;!8ZJo66BHWrR>f4V1o;l&TR=cX4I_Xg;{4=VW_^Y~z^<ts*A84;#iJh5HPvb5wJu&)bMuv=cbQ&X?>y^Z z@Z0fCy#vEtCJphsJOBBrRHh0!T<F5Zm)Uw)t~WirzxRPxuF%cKz;DU7-o&mEI{BPe zk=LI0+F753;;+ShOE=B0HJ;b;Bp<8^&rj5oyy|tlVAUy0 zz2kd-O^&+gYsr4`*SVR+pI#KNo6n)ruK9zNUCpD@z_%Uv=3lVm>uJq>g<1*`sht(VO^5w6n@7GvzvhG}+)~>ZG9?DPu z?Afmu+ubDhbVJz`aS?x({E}M_oi_hJrL=U;Y-8aYGM4G~;a1z#V?JDsRg#?*RQpft zV13535FTkqvz>x0>V2=)y*gen>HM9d#hGShT3eHx_{=~-dV}NDfqS`8XDx*to-=H# zX7pL%$TZ`|6H4~9-f0Z{JaR9G-)XHeidjr1wTOJ`(FU=VUv0OdR(2Mrg?a{sMScl}ns)@2sy z3bee>HbJ;c=s-`wvfHn=`JH6uJg>sQ5FjLU%5uWleP@eYIv7q#2ApF!AS=nha4c}+ zbyv&vWzph)#P=B2T7{?EGHIkcSTZw|r!X*R$gB^2*k!wLj^*@*BDN{U3=9km4%3SG ztSyh{ZtGq4E+@w=^y{|J#lPk2owF204~MJ>-Ys3uv%C7}>1Fbtro4Z@Vt-PJ^2`3O zx4+~^gx!i-BGY|+g|zh4&woxOofmtu{)JNN*`yuEb`(8ms#$nD?PJl7zfIe2I=xzb zWxhdOwCaj!+xt%440HUt&h31Vfo-zn#dQUHd8(p1-$k5SpC0u%^ZxtPX^#4vS48pq zYCmJ!?j4bwe!uWb$5+0y#`7#Lt6n_$Z!PB?O(Xt0#WwqYt$efgi%#jj>3gbde~aET zjMMt{J^hYpQQfM%XDh>V=FZy{vrgt~3`0*`Wz@DWFXnmHPiRtlIrH81wm_{cfzK^P zeeb*eDxb;GxSDx&gXGn#A7w(^jDLhku)CQiHwT`ZzHj}-^q)dEjeh_BDu3#PrTqv0 z{gDeKpN44^f1Uc7{gQU@?3-m*!q3TnJDL&t<@u>U&D>W%mc5u`T{`1yDenDMskW(?vlh)c zT+VjB)8tjv-3RMGCEX6b_d+^I@}xNb;XN8_&kD?1_Wk2LP5TEkH!;q$^?q~nGRHQV zP32lv{eOkU=iL1A?R@5J*01kbZ#R}ir%##VaQt1_m(Xc*HqYOt8)n%anWWmjMn59> zvi72-!Isbe&3YmINM`Fl=Z|cmCoIEHMn9iZtmUt|ZB_X7X-zLxC!dUqP?{88;eLC~ zezhBR%FpNM?YVpJ+sEyy+{>aQdLu0kH@=YP&H1zFSJ*!B8-JUPWGhyk>zt;#=~n84 z%;UEMvv%gKN}KnNSG&@eFHa_M=kkguX4TKL&Rp5@ao*I6HOh;xHh+DnXc2$y^p0bh zdefJ4%zVcp%kg+!ntEm8^q+3bN8`M=Nxv>Izw=4!`K5g`HNs*(E=&KE7IJRk9i4Aa z^j0hqlRkK=GET!wqAgLPE%C{m(-VsIUS>BW$v>*JG^t#6J4(83!JOxPUZqc0V1#@aw?x`-%(6daRcsBn3#bRmu%F@4!FK^8K^X2ODZGQLa ze-?u3Uy!Z@t5Z9-#6`_Nv0i36&y$7S?)-cHUiin|{=V|{h9#&OkbN2UK+qR;4>x!m{F&2p}ac!8h>^J*V3rOa^;$_*sIVU!^bobh| z*S7Dzm2&81Pl?U-jH0E%k8bVAk9(@4^mFC+{|S%P=brt4=huf{rW@av?*IQGdjHgg zYuL1&Ule}7%t7+`y*Cop({5i^N%OvZU84Ti6eG_ZkMB9BHzY65F0Qt;_1$9jws?E$ zte?h(8Qbd48C{-`eC}tyUBv!>pI3#^7LGvNj0YP)GZ%Z zUDJ~r+r(p@7KOp%kQpUyH-JNqxbSZ43&+UdTYzR zPMxecuk>b-%c~mPCDe{QvLw+I+hmDfLsH3(dDt{#HEg8jJs*$CDrato=0i{_?Hgu1x*hxV?YR zzmJucve)x!R8Bvcv%1x8^P-NFjbHYDU@G=Y0;T?AHRsfx#zg6_wS2zz_`IE;j^F=v zF@B5r{M`Nj-)PIPap$elPc?nQgKc9jvmG$dC$VzVGeHxQ_^Nsd%ZjE%F!v;Ku1J0d0we#|6n~u_^^pzjhU(Xhu ze(UD8O_z=A8%5X6d3MVbJOh2#YUpsr#N7lYH z6P6j%ir#%;NxXC0MZEo3ljOQU@1$dC&THO81wSN`jPsiMK>!u#Iu-=L$+eL}MG>8m!6jLZ#x%m0647Ce7B z^c?eX@dC{mmFCjxj#$21G5y6GskDU7xNEyMr(J)$O@F3?xxsWP&BsSx#wXd-+)g{T zc=Oz?ow7eH)*U#ce?{=U=1#qBUEiEaK3cxvvwd6}kp8w~ndsq2zQ+qTI_)^trr&=v zaP9duAyc#0%Jv-ilaa;pY`Wfl9sh6q7tZfYS-bV~x8gqGbA^W!GAHZX-d4Y?C1G?g z)b#$ZyBpTne!TU*Mc;H??0&VG=~3C?yS8ro#}|>iCF#tK{_lQ!vTAi@w<{N9&Q8AL z6MM6;`oFB3LvGsz$imS>Sz;xsdnxsL2B-p^jm+v?4%ntZQFjWw-MByN+e0GtU-DY?jV1i;79!`9AE|+*{i=hW85|TD4-%W5F5mJIj6@ z{=ZMm?!y0XxA#vsG#8!zBV@|wg1>W8D>i)Xx2ik*z(4QK-($?)k7W)^#!T7#WZGfl zPygz3?tR=|9l!Gxzn+3?{`>6j{s~Xax`G1BEv{Nc*+1`7T5bqV>=|qKuGxCcF7zBr z)weyH9&(&vzyI^m^SXiuzx4A?6#qG9UvA{4`{-h2)G5nU=BbUw5x2Ws#)8425|NL>fUY+S<8Hmvf z!v4;QzPnj9hc`d;-0c2;SKaIXzWiS+rM@pkW99xmyVMpNruPWAy>B`>JJ3>}#n_Vf z+TrlN-*;!Te=XqC{o|KYa(WimyGxHRxjL0>dNSXo)#7JUXwF>=b77yeS2Q2U;6E}z5Mcfsrp5eYwL0?)2BzSEQ&OE zd%4L>{EAc7(?5^8_7y$7u*Yn3$b#!~kr&gZMNQ~s|I_k$O~}(Zt4^ujsw?j-m!Iaw z$bQdm(#2EBU6#*(Jeu-xz0B#08pe+#PEUNPZZmz-)SZ{47hQWRn&qC(_P-_0Rpcty zYID0S>1A%`mRFuy@uhLj#KLov*jHQ+|0X?0o!!D^ZS;|i<(stMRupVM^74az(c^u3 z-|t^se=>331tZN_=1!6+N|FpG0&k|-$@M&CbHDNWa+Gx)yMWnkzT?8?=ZYp;`>a;> zH8T9b8Mow9ZFK+1&A%r(rxjU=dtG$?-(Td$C7)IQ;3Dt!sA`UA9+jL%rcF2W=h*L2 z3VZu=PWz^p+pe86ZM@KNSzk2z68C)WtQVW&xBaw~iH}P6w-TDWY0}xoCl#En;a@}6 zon+dt%k%HT^(Q_4ajZ|*q%Dj}zh7pa_-yma`v9%0EJ*x9>pX0oJAd8yUL z$FlLdtHPITvq+zR|BbHu9y7HMc6BB5y{mou>RvyT6yee@Gzea9H~ko+SIo7Vb8Fvi z-@Ur-vYn;d{=2i(miB5NPdsXO#Q#{jkLltfKGBSg>f4uRZ46vH=XvT0?F-pci?179MUm~f%krne~lhupYQ?_Ou7ud~?v8Qk;2QPyd_Zyp0dMO|?bC)<&*uGfrE2$N*eM zWLap7TBgs4I460+a&j>nC_@*WlW;pHsrZ>@Tk=^(W$($DR@YJ0j{pr`Jf#NRoP za>=0RT-wt!oks%BNt}`d)yf7u&X)WqESWDvNlPg5fb?ao%?&*_pL@sRppL_!OJ$$l z0XvPMVbz3ybKCC}oxXG_=xLv0jo5j6a3ht0!GP`6;yL2t;`Y(0N9rx*_nZcmD+~+@ z&tW0Kz_4HrsEZ0Ro`C@zNMNfN8j9R37lVr-28Muhvx?@emeK$_o`GS-#3H+2k7noZ zt0>Vr_45Sx^XgSiG)16x9 z+&H+!@q@PDr{t4w1J6MmyLsiD-t2P`)D?W+0*lWbyf1FPsQ>J3 z@#|66LR(kWn5p$9ch1e~dHec7#&eDIxp`~X<_LPefAS6Lp@x}Z=N4Y5txC3z`|w}? zf49iSbu*jyR>|MqreD*tA;97F+O1QUd@ft{y=cpVcRwRHZ}EFkkXsG&qL23T0^cmf zyT(=?9?QQJM>VQ%mp^^u*4{0fv}zxVUH!Eqp3`&9i-(M-Ea%rjI}Z$JRu%a@?Pb?` z{%7xkxl=ZuxD~Nijioq;*K9xbF1_XH{f`&oo?pM7JXg9_ikIP<{9kX$CDxWsGd?N5R_D2mh`?p7|760V z?4NHby0%T;JNvCsQxPQXte9A&CkYJ*1_w+2uyfzrHfumu;oa0O9+H6axu?C7yAqka%A?)cMVTf9WNwCDk5CBaj3{wNn zm7n>`)+U + \uicontrol {Chrome Trace Format Viewer} > \uicontrol {Load JSON File}. + + \section1 Visualizing Events + + The \uicontrol Timeline view displays a graphical representation of trace + events and a condensed view of all recorded events. + + \image qtcreator-ctf-visualizer-timeline.png "Chrome Trace Format Visualizer" + + Each category in the timeline describes a thread in the application. Move + the cursor on an event (1) on a row to view its duration and event category. + To display the information only when an event is selected, disable the + \uicontrol {View Event Information on Mouseover} button (2). + + The outline (3) summarizes the period for which data was collected. Drag + the zoom range (4) or click the outline to move on the outline. To move + between events, select the \uicontrol {Jump to Previous Event} and + \uicontrol {Jump to Next Event} buttons (5). + + Select the \uicontrol {Show Zoom Slider} button (6) to open a slider that + you can use to set the zoom level. You can also drag the zoom handles (7). + To reset the default zoom level, right-click the timeline to open the + context menu, and select \uicontrol {Reset Zoom}. + + \section2 Selecting Event Ranges + + You can select an event range (8) to view the time it represents or to zoom + into a specific region of the trace. Select the \uicontrol {Select Range} + button (9) to activate the selection tool. Then click in the timeline to + specify the beginning of the event range. Drag the selection handle to + define the end of the range. + + You can use event ranges also to measure delays between two subsequent + events. Place a range between the end of the first event and the beginning + of the second event. The \uicontrol Duration field displays the delay + between the events in milliseconds. + + To zoom into an event range, double-click it. + + To remove an event range, close the \uicontrol Selection dialog. + + \section1 Viewing Statistics + + \image qtcreator-ctf-visualizer-statistics.png + + The \uicontrol Statistics view displays the number of samples each function + in the timeline was contained in, in total and when on the top of the + stack (called \c self). This allows you to examine which functions you need + to optimize. A high number of occurrences might indicate that a function is + triggered unnecessarily or takes very long to execute. +*/ diff --git a/doc/src/howto/creator-only/creator-autotest.qdoc b/doc/src/howto/creator-only/creator-autotest.qdoc index 05edde50278..caac21df753 100644 --- a/doc/src/howto/creator-only/creator-autotest.qdoc +++ b/doc/src/howto/creator-only/creator-autotest.qdoc @@ -25,7 +25,7 @@ /*! \contentspage index.html - \previouspage creator-cppcheck.html + \previouspage creator-ctf-visualizer.html \page creator-autotest.html \nextpage creator-advanced.html diff --git a/doc/src/qtcreator-toc.qdoc b/doc/src/qtcreator-toc.qdoc index 2aab46319c6..7527b8a9650 100644 --- a/doc/src/qtcreator-toc.qdoc +++ b/doc/src/qtcreator-toc.qdoc @@ -206,6 +206,7 @@ \li \l{Detecting Memory Leaks with Heob} \li \l{Analyzing CPU Usage} \li \l{Analyzing Code with Cppcheck} + \li \l{Visualizing Chrome Trace Events} \endlist \li \l{Running Autotests} \endlist