From b369462913315f1aaeefc04120aa24c7e8de5ef6 Mon Sep 17 00:00:00 2001 From: Jeremy Jacobson Date: Fri, 6 May 2022 03:50:56 -0700 Subject: [PATCH] docs: Added DataDog trace documentation for Cloud PR-URL: https://github.com/hasura/graphql-engine-mono/pull/4421 Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: Rikin Kachhia <54616969+rikinsk@users.noreply.github.com> GitOrigin-RevId: 5791a4c952a96885ac3c3ec3373436f180778115 --- .../cloud/metrics/integrations/datadog.mdx | 20 +++++++++++++++--- .../metrics/datadog-trace-flame-graph.png | Bin 0 -> 37134 bytes 2 files changed, 17 insertions(+), 3 deletions(-) create mode 100644 docs/static/img/graphql/cloud/metrics/datadog-trace-flame-graph.png diff --git a/docs/docs/graphql/cloud/metrics/integrations/datadog.mdx b/docs/docs/graphql/cloud/metrics/integrations/datadog.mdx index c4219064612..5d8cd921008 100644 --- a/docs/docs/graphql/cloud/metrics/integrations/datadog.mdx +++ b/docs/docs/graphql/cloud/metrics/integrations/datadog.mdx @@ -17,11 +17,11 @@ import Thumbnail from "@site/src/components/Thumbnail"; ## Introduction -You can export metrics and operation logs of your Hasura Cloud project to your organisation's Datadog dashboard. This can be configured on the integrations tab on the project's setting page. +You can export metrics, operation logs and traces of your Hasura Cloud project to your organisation's Datadog dashboard. This can be configured on the integrations tab on the project's setting page. :::info Note -Datadog Integration is only available for Hasura Cloud projects on the `Standard` (pay-as-you-go) tier and above. +Datadog Integration is only available for Hasura Cloud projects on the `Standard` (pay-as-you-go) tier and above. ::: @@ -48,6 +48,7 @@ Select the Datadog API region and enter the Datadog API key (can be retrieved by After adding appropriate values, click `Save`. @@ -90,7 +91,7 @@ To view only logs exported by Hasura Cloud, filter your logs using `host` and/or :::info Note -Datadog allows ingestion of logs with maximum size 256kB for a single log. If a log exceeds this limit, Datadog will truncate the log at 256kB. +Datadog allows ingestion of logs with maximum size 256kB for a single log. If a log exceeds this limit, Datadog will truncate the log at 256kB. ::: @@ -123,3 +124,16 @@ Select the graphs you want to view from the metrics explorer. Alternatively, sel alt="Metrics successfully exported to Datadog" width="1146px" /> + +## View traces + +Along with the logs and metrics, query tracing is exported to DataDog. From your DataDog metrics page, `APM` > `Traces` will show you a live search of ingested trace data, with each entry of the output table showing the duration of the operation. + +Clicking on an entry from the table will show the details about the trace, including a flame graph, which contains a visual representation of where the operation spent its execution over time. For example, in this case a query took 2.31 milliseconds in total, of which 758 microseconds was the actual Postgres database processing the query. + + + diff --git a/docs/static/img/graphql/cloud/metrics/datadog-trace-flame-graph.png b/docs/static/img/graphql/cloud/metrics/datadog-trace-flame-graph.png new file mode 100644 index 0000000000000000000000000000000000000000..1e48165129ddb2a14ccc9a2cdd9eed7b8ad4fffb GIT binary patch literal 37134 zcmeGEcTiJb_&o|EC?G{ZX;MTih;&4H2~{jekt!`Hz4u-MA_5jr5fCX6l-@$`p$H-?EfpIT2?+`9 zy}PQ9NJuCJNJvOYDapY*=R$h;Ivi_YxIR*qFYDbf+#zZ3-Ua`iX0-U?>w8Wn7gWeI+|zXEwNEjr zs_M8ax~pm{sw$p7{Z47wU#@#7%o|g%H&N7pp1}Ps%l4G2H`muX6 z`5K@X?X;hqTEAfQ@AqZw`_C|6vCy!%7zSew!5N8@ZX6*XEx zP6ks4JIpSvJlfUYx+Qcsl}cbLWcFK!Fu~F2G1A1;*Xwts&-|X-j{7fm(`je*cG&9?@W<6ZrG-|}<|Ks{Eo0P?d85|yNynRT< zz(+>2nMRuNNXO#I@VdBl*It_ZT;Qk+II4fbaddC;mz^|DH-k}*q8Q^m=IQh;4wHZ1Ys_F(siW7D!;(( zN8;%TltMIK7Eiu?f7tQ8$K*ZkPRzriYV5?|#w>nLD{c}M$U9zFOi*;A(S+@F%v&99 zqInXb-Vb+Tk9S-%om)|s$(B4C_s?-EnEJ}f`fh4oV%zoG!NZU0o!F0$Hep&JJ6#(? z&aEW|YzL!t@8M9GZf=`9%>0fZIFb`Wh~}F zr{5moB?;p4MGqQ%t<|yVI==E!dB06Zf-BO!Qof<;A(&-r!w)fH1k>X8cS1}WvD5JT z>G7+mCz7)|K0=c|zYC0yR|hOR4)5u{XD1wvdcnp^-DxCKp|FAXnVe@uy!a7+;NM&{ zq0j~!vz_16!ih7-n|~(b7%acvaBVzRV$;lB`I$S^F|P%A@I4ikEz89k?;5VY5kJ+%3~ zK?-%`{#~?H{B`iG4)PJYi#db)!2?D!t7e+8fDVm{x`2}4Q7Gt4uoyHD)t zkvVOFqLjvqWlQixTANYFl2r6^x8PLo?hw?`j(va-G%0VrVX$?~o@j1R9m{&HaB4)w zvg_M5`N(sIoSrmp$RljB{zk~g4p&tJ7xwA_e0FQ>?1i{Q^T01#NL!?Ae!6qvW3>Lx z(u8*eT5T!R<@B|TKAa2+ZjP=ihfU_1ghjBL#)#av9*zjA!}L-R7dxX1>RT-Hh*^~f zR1{%$lYIP!f^6a3X6t7d4|xm!Y;3>EyJ~g5#5bof^-TPYynzsM!ouOxPb48~oY zTIuVmR|V5jgwKaB;>R`jVAgFfBxjSSi=7wwzj(gc*j-2q zsdP&gl}dyPWxcQ7Lc?x8yr(@*aNC%+-k5bi{?QVus?qc33)Iw5f}X1p;=W@wj!iu$ z@YA7@GsMIMm)^*yLjI<5b;zcQDL6GcSCEbN-lBLd~QV;nHJ6aWAN! zPCWmn9`m6AeNZ5+KZ)t3E8;U*-pMb@HMYUz33nzuCSdXwM*{C$Te$HscLF9!Mr}y= zJ!;=HAEtikflWO|lh`+h2%4u&n7y^3j_nIK-rs;H8CQ3A3L~BDOa_GTGw~gNCQ%P@ z>+jm(yoH|VC>{N-JF~(BC;!@GJjFSlFMP@zk0(n!4NbOITqu~c`aULcNC(`;r>Ith zW+)wGP%(37jYoz3Ud7GK%nWYmlsui_7t5>M9mE7%Yo^MW`N?56TTxf<(w}-EJX$0? z>03oc9jk!xnlKdQY|RohnH&MLh~J8S=%JGW%+#H8AwWUY-{DDoM0G4~!eHbQhrCeI z!OrWw-Qx~eB<)k2&h-qBajEDoILR63ZIpYH$@#e<~a-#h*^w zA?7+iE@u_zFzR38OH7tp!YEWRZAKW{e0X^39SeTSu>acB;fhIq!mG<_vR-0{KV!Om zdV+?xtGUQV@Dc%p-XR3!9Yn9z+FJJPzJhi9+R3 zo*s6Q{30Fm_xp^1np32%*bBZh;An6=Z{`P^&}jcs=*=B zL~d=7ZXO>YIg{kAbcWeH72`8k8qaj<d=I#IVi)zw@PIkBI?r!Fc z=zIko#-E8Nt3*u=Yg=#^?M8A1r%VN{ka<%OudZ(Qx!C*r!%vS`O;_(&aA)bSK9I%E zjk6e23+RQ!++w(&XDY#^x2|=_ePPA8q6gD9mmTpS!9Wn#$?l3_Kj};pNuAYY-%Dg= z6{M8g0ZXL}Ryj;=QA?Ido$EB?8`Ij1Mjz`ep3IfLInDg^PcejSPmOG!d$|n7Urz5l z)!L!o-fw5YP0p2kR=^Zf21Sn-Z>~oAoMwKRI>p}x{B<&@KZfaEgibqc?pv>j=u1)h#UhC^fybkOP`CywYe0qR_-br z1|jgh8wh$`y9^2hOe>3PXMX2-FNYl6n=5?< zF)^1EIf=SWO{|Pz5qGlubB6g;C^4gaRkHM95l3>H{=sLMU1~8gElL}H?`2Rg^NXE% z5pShK=2dU)w?r4^rMVAA>NhC`ylS}|Zc<&8Bk1jaxcCiKkmfMI`PdUXWgstVraFLe z0$|c%9H;)q+0G%>hUNfdO1o&?C7h@m^d`1&JPezoaqA#DJAVX@9puln&X`bM!oh0s zGkIaSaC!NNxkv*t>gmS-z z0J@G+P{z z#WF8)D*FvB<^ZVIuILu@m4BNeA1DzFA*Xotj4qW%;Pw!Rb;PMs88pn2X+1CX^1$SA zbb4c0gvilBVEzcEL%3Kg=90XDvCZ83%m`fU&Fd3S`YD*taoyw)iN(oWc#^<+SR|>< z)uj<=eW%oB8ao)AS{2Y!TN@T(l)Wm&48uOQPpW2l74t2Hjg_Jjp|CQ6a&0{`?gQABQOHSmXzV3 zZaGcjgSbyK^T^?yrj>S$3k@vN2P$2U!%7#3Tf1)iKv9!2v5{CR03YjoP-~thV7JeB zul!sYTZXDWe#vKlGCuvmi8NW^xhztY3?ez`ko=9RywtD=-Z}G)o7kYh<8S`X)B;nu zKVvPH4X%r03Zo5ytvTf~Ds^PkV1p#&(OhiZU*~V7ACh9EeJ;Unv?||N_%8OL-ReZ! z&x>FicG~#c&T|~U*E~aI(n@33E>18RMJXy}R&V)2<5T$k$a7qpE)BM-bLAwEMnaa=v?2T85;0O+quNQFc;iDYx}>Zp$lc^w68ba1EvC3}r?0ZbxWMh{jrfqR$?f zac7ugxFBgqb0c;6Ej;dm*&4~_ySbYv!k_GiXP9q^{xH2Qeur7l&u!1LBRcNJWC+BU z4?)}tXwNYFpvFxqrpknorqxs5Vq=6;n17A4m}|ydl1-SI#H^hH0JW$*#I&kvCfUr- z6eF<|v1T8Yks#L4u*P^^ZR0y(#C7bW5KH?97^CnJ@Ioa5%`l^_hBqa6sHM955wXa?^iGKvH~J^|Z)KEaafUV&FVv``sfy_llAiS!$PF6!qf@F9fJ2@!W5go7h}M8_jZPEScK+* zmT4j_yX1}b7%o=_c7~&|I@A#+ZC3O2*-DqmcjV6N5&nE_rQ3|K(~Lx%w7*6%F+lfb zHJ?xUv{a?@?7K@3_S9im#PGsIrR55y?+5m_+!HLt-x(d+yzxHW;|ei!*zfa6ySY31 zutlaXDpL#en-yv-oXmQXCqGUzUkRd5kH|^szw0-roQF_EpB11K(1!oVOcmBz<)j%| zD{@ndSv5umoMt}FoTK%RvI{jZyB&6Bl`iZ|*qQ$!mk}GFbibWaDvY%*l{^e)1oa zM)LnI{?u!9`$ETfno7rb1FoWZrWcxBZGLj&Q!gV(6b(~0lPEoMTV^4Zo9tUo_ z8Fzum={&)c6U*O$cT!n~6j}Egelq50Q^&1!%6Q$6k7H@OwHLP?NI1+6N~m0|`b4*KcU1 z)nBfB;MtqjI2sUe?mCW+_7KT`{sy6;zX%)%C+ajxb*YBENC z+@C;<@K{3^Y4pt%qHRV^x29@5JB}h={iXZ%QjWK{2)RF>;?HV9CU<^qlvuXM0dDZ! zrLHAIGhN?tG27m2!bogD0PRluPTwp6y_hZFN8&Ou2ZRjElBUb36luO z@Tjn+Ba*oke`=we-q+c~?HV8Te9rZ0!3y2RSs4Y{M2eh5$HtwsEdbfOhQ*v3HAYS# zZgQ3v`wGlf@0EUC>7NVXRN0@ew$ z;=BeweBEXd0^OMQ+U0bXhid}R?cRr!+1*sY@fbh9M!rL+rl&nXwDhh(g{b-TDg_sK z5(Ht3L)O+x5uFDZ*ATdY!>W}9H}5ssk^l(CJaP#~+R*kL(T|^K^J0>vq-pJfYJ7rs00-1jC3Ng=&t5enmNDCYL94^? z(u0Pk7P4451LH0A#%iG??0nanE?(!i>!-CbkzAb63UgVCuSC|V0-piMd3+g=5i-3q_?kc155=iHNZ5nX*0i;EO23%C^aixcTsZ(2L`F&-=r&e#aDBObbaCg(;JFP@X z@zvQ`ACGTYd4HPgT|=t)p1V1<n9Tz3P8+)R5x-egI?*I}E*b3-dFF92ns zrG@nhg5^`T-e$vu4I4=&8-F&p;2wFUH0)Q}=php-g*+0E?mUf`PP3_E*DA3^amobw zH5D5IrnxkaRkZDn&(S8^+ZctYX7ulgVQPWflMqqL5H1s=&DE-{Lm1uh;C{l7*R(ko{`je`!#at%HQYTDB)pX*e z+1!UFacalgja|xg4Rr@z*AQ>v=Q2ubL3Xp5#(Xl5KAVw0w0QE}1eHLJWfn9uz~V2& zWsjKNAir+e4>7hm4h!#?IzvrF=65NqtDL3{q(n>{@vNucC{1?sHGb3xUW>mi)t|^( z-5n#D)*sWnK+qJ`Ui=Q3HJ<3*UU>76nxQ$?>Fw>j+fK7JWsDX%EJmvj2)Wy4C`|ug4-Y_99O~#-Ugf#F5Wr3i zDr7uWY-m#E$Lne_b6^QtAv2ZEK35R^oejeUA8oEr+DxHRk&t~bR2fF;AZ!N z2DNF$;ZeO?few+jP=Ug-qeRIpur50(bZF=PWMpP~kIc%J{%$xr7?~B%5D29&-b}@4 zx-Uieq25$=&Ein~ssK7;mHY3aTAOo?%Wv5a8w!*!>DK=q!nUs2etI%et_@18n z+8%!UH}%kixi6GjYEfTTWw$^`$?j4g%iEC^!2NF56H}Yt4-${>QCT3$`r{-tn|9PL(?@ zyJn)$LXAP6tC!6F0!YKP%P+Gca+n5Y84z7DxGg%Eu|(m$@*I!%biA#>Iu})Q z3PRr(Q@sn;`i_2Ra4{pP&r7i9T#P!a1wQy{J}HHc{M?`R2W(UVe*@e@%kPN~N9mor zs-yLpmxj^0KraSFGPPZurj&@TBjxWk0-vcq=@ObZ(y||CuqbbTGl?(opBt5cKPE;CU%NL925davzB#pkV~JLm`** zqUDAA`b-&L1I3IllEenzsX-qpT7K|#Rm%q~=uiL?T!i*ozBIpvRgUl-G_R7 zuMs6j&X2*qy^;3fp;xv8B(ym;4)jMtL{2lOecCbAmwM8iaowAYy5~UaonHV9xDm3DMDBzd6nQnh@q5j!s+Jn9e=9WexA z4yglmwHz8LFI7I6dCw0suh!InFert4`^p)i#z=k2M!*>~^ey}I7UoI$!q30u`V9?I-`aQP&D0=Tu94eab zfge~%bLx`b_a%{APKwRW=7+zCL9`jNOH>5O6_PW*!0#8;lC3=1sNC$p(y~w1PW!#A zH%P)dY2&|WF|)YH7J1S%Nj&Nd`AkOb{-z8M`SZgvbJVi)rRKiY$Z?6r5+mt$&4#pB zbs>Bg2rFzgwm7W$%RVcg;N5uYOMyFUFZdX^GDVQ(djG4D*swOI8H@qAIY&g{h{G+W^L&?K@W9S?`FW#{3YIo& zel8Awa(8^3CDXQIHav!lUGDNzwE7?Y#W!Ong^HqYffjnL_Zfw#V#v;7?qDF`KaDrx ztR%(tD^Kr-f*@jIko%Rh_M(wpyL=#aZ>^=zN~7#g>te3;Xl@)@T>_D&g6Fkl9ameKtfxs1h~6O4pP3s-@p7&TMZpENvN;-jC|itiDrIFyXczL^^;0~ z{WAE>{@lRjkW&8r8u`-bOJ2Xy}Ds`3Y z@n?53|7fMiNnak#k3Y3`glEy0;1g#zvde@$)s{24k#$xoq+Xso-UXm~?>?I=t@Ly0 z1+bzzdp~tl>{~j4pEB?ui}VEJun79F+yYV+WE-P=k4Co61Az7FplR=d_Kpea!xs3L z(Af_hM;0M-GV!2Cw-;yoD7dct=^qs>sGr-&%RvLIT@P~E5!bOBPli5#uOldAx*yXA66WFHYYLYlknp>BlS1CY%LI%3wZ z5<}&hqgwL|A9UZxZLRo`S1->v*Bo%36YyG36MWA#6`Oli#vArL$b!4K-Gkq&kPzrBIyi{*D4oR2ba7@b7=&E0)~s@!1nSXE0{NV>&YRfc-4jY z^CL(5X*+Az4GQwi&OYr!T21Qeb|%bXj=G%B3RtB__-N!0#5kXT{PM2QGtBe$O9ia~ zM{HURRfWq63tFb6VP<4{_Vgsv3efwaf(Ly6(@y zM2;6K_wL=OWFNBqnTH%G+!*c*^+G_*Z{ZwjyxpbYjLDr{25FzrB?e8cn z*3lRNZ$p3rpWx5k*2Us3M0@=X*j0ZK)%=;0kl^lXxy)&z5lB9F+m-bw=gENMP59 ziSJ6dc%s>U-P}E}=&ifj^)6H-K>fz);^LsrPU|WE$e7Sq9bn9MGTU(h0g{lpZoF+TnBpUZoYc1W*4rzIQFs0ktrwI3_Mh<7k(9 zq}wxDiMk8TrvX-kAh{=;;ROujM81E#{y=OtRll+)41D7LeVedUgc}N50}wu|on!7z ztit0IaKs9#-Oj353cX$WxhMLmRjeNIGz3G1>DUVSyXPkx?F)5QzhV)7AGJj|wOmh)# zCjo`czWQ2`{+{EMiq2V{+2Z)w8$B~z`@qfPw(shq@nSZ_mB=8MA_i)UCB6oKa+chR zGoaP8m}^ahCEuU_`MswDL}AAwmUxaBA+t0N^YYu${sh}^pBYU^BM09nJ)FJqlo_S^ydX#!lUP09@m zJ&__${~(xvjIu*k@`giq2JTvyy=VSm#kJkXQW5#i`x2Wha@}-(4Rdr0h{~=QFu8t& zdOZg$*^pg)1PHD@ds@KC_*l5e63V2A{c-_hRj9%ok#{gu?#(`Zvp%Hp={FPJu%AO~ zP0G*3_;9&9rY1=vJg%R~s9Ek${^=jPUEaU;KV&00*?FVt`E|z!;g+JQidO>y10M{Z zCtxOz(~t>t9QE>!nrt#T9B!|@(>}_HOZ#q_4oi%>ju{!dd{0J|Zyse71VOFW7oraV zX#-DtFc4~Yz!?oA z10!btN>e|W1lP09MD2&j9#wwo`VDbI{N|wJk{;}@gqR=M+c!}1E{X%%BeVIBEUH*~ zjB7?uce8r9iny-!jEI3!oSRAV9J#sW6ArQ6J+!zzWlZ>*sq_?{M2uMMRDP3nn-qhBb|^alkrUs;)EIRub8@ZAAA za#7Z?Ax~bxrA9y|?Ts2_!B}%Vqnh_~p1Ch~Csn%2W_3h`9jw9+gRhe1luXH%LGI!_ zMWV77WhlX3voBk1MY5EP z09If-ibB2jp`D_;hoM@1aZjrcDvYun!?XAW()Mx0?@RUm2yf7f~F z{S(%>zp!~P&av_Sxo+&|pS@dCSFQg09?heZGu$dy-Zm4``+K44C*Sm8Fd~uBviBM{qpwzJaC?~5#sQwT!boBy+S`)7 zV8*2Pfl7;txb3mJ-Sfd)Y6Q%LES?a3@Jb z=<6oZCNcD4CS>Nki!KG5tL5r(rJi7so;VLKoyy!`X-P|wsH?>ggLNt;7 z<4m*_eF?C%qB5IQr48eZ^``b$kcWR=KtzD^Q|mFV9fqk|tWAD#qqsLn7I-5)n^WPA zvzJV&Ht&9a7{r4iI+~$Jqlibiz9*75h*oWi1;D*YEaJFHDI{kxiWAF1Mq~Xl*;?>> zxSLqVmZ3g#`jw0E_bO3R{UdJ83C_4U*-NZ(M~8`$UpJHN#f)ccI4n6f+KRGQwAYZo zU0;z5wp}~E7&8LzTTE-fb&dpwU>!rG{;sqp5?0U`z+V`O=a}dBK&yGp+CO`jfPl_3 zi)q%UMXy|qg}67TesP?w1?E>X=0`chR}OFeRI|GwJ4<{%x4-TN* z!h;S6+B=fY>DR2PdPl4kHyTp$t0o^EIpztJcL3naj(yEsv2a7vR4+LGn8sERTg)If z6Hw*Upbih3pgWm2tR#Rw|Fbf=b?>`YK$gv9rKN3cjM9d~wrY^V>p$q(!%?d-DC&M% zkd4DF+nHxp2UD1ipNZ!8ps&zRlcoa?%-vSjCaP@qKY3e|d3|YrC? zmxGpjFv$H-rW_#ZPaQF-bq+!>AW2#6f2v?vtf@UH^xsKZxgYNN*HDne+tCR86|XWN zpJ)Zjhl-{H@3;3yH?`yr*-o$-jMaNXJ$B9Lyaj-{Hzvv9fnkBbG=IK9@c{QdcMEQ1 z!{CR4=kbO$Y5y{O;EG{48Y}fSk$KZvo(O%w137+bY=3#Vpy)ceNJ61e5(k7(^?q^t zxj)CyP+!AaBFOf#C>c!u7C98Gk+KtXYj^r_N224XxYs$b4(?USTTko}UG5z#`3Biq z!x9T%W+!4T$9jBk%TpY6#AOfe#wJ8(djr4by9216T~u>=Jy@Va9tS9xl(2lFkqz+n zcMN=KXPap!kWs|dP&4zyWg*|zi{ZleYKLVaGaR`_Z^nooa9u|x7GtjnPHI&Uef{UU z@hgaAT*DSffZ}MAB@(xW;<7a}naG#Bp>GXr$AF@(qUEb@VY9F-xF((~kNRQ-$i9x{ z-BGzTKOqn7UXoX1i6&3X6QF_*uG5#GfU7yHYu~U8#Cu_fGqS{;Bm~~-`z_FOnTNU$ z#xnv;>1l!HDeb^%ml*S;jU|6*)27e>zNcQ79q#9X?S6E3u6aNU2pbm0QBMKIa*j*- z(+mU@SP-yv=%W>JB>OCI{a}+E_dSzX0N}stvWD?q2#NJxuzj+GPa6ezf%ah!a8uOw zNsZWSp^t3+=F5ieH^!nO1As5{y^t@kab%*}04Gj3&{`6Yg4>Jgw`F%hw2GDVDxw=t zTnHp8A_#ix&BopE{LZYqKdOid#<_CC&OF9elFkRk4La3ZKunE0_qILM?>X7aglH0_ zzVvSq?U%yYVR8+pgFDT>ZHX zY;V_&4~35n{Dewo^2KJ0>SA+f+-HB3L~I=I)y`&;8Sjt8hW-F59ZS(MaAw{Gey$`f z-w5E);iX+2X4eon&mCzbOn&`~zCtR;rdHLg$*0=PM>Hc#6f69bg6P+GC0xgiD`pOM zC%Y1)J@)K&fN}Qcl<$|YbdA3wloqnpmWRG_TX%!wi(1Z&)?eF=&bigWMWjMg%dAC!xR5459hgk?N&OL<6M#{RE&bmf_>f!p9Cub|J!C zAzndq*lo{J&gN@>H_+<0v^7mFeZ`Hrdm%JA$BT)h*-GI@p$BEc8pX!K>?w_VfrbeQ zxE0sqz#Wi-lskyXH^#DZ6w}93d6mux{qOQ*N4Mbufwx?n`Z)opswBs;% zb?9(=>alg2bP91JS%Ip$3nPj8ne^ z;}e`s6JENc^=xGcs7AqRiol{BYe0+T%41;W8{BGYQHKi@v30-p>?T+JqNWy4KlgPt z{Ajz~W7~Kn|f&*ql>gD8uk1o;kx3F^VOvyB+MARw1z-?Nwp*PRT;z9fPk-iKEB zXtIxa-S;pb-t}iBu#7s}@&^pENU^YhlRJJKh2{dbdAz_%RY@b)>?EeoO^?^#X5v96 zWHis1k?DM?^%ae`oSr%s>EncsBBdo?n*yjma)C!-Vfin(_?02CNJ^~}BA+(Zmv@S> zkcDh2o{!>}WnQ?3#&w;G0>nI~EA7%7{1X2;J%h(l_SZ|%#EhcU{=(Cj&z+7%>EUO{ zu;-hjoRWd{b%rrbF>{+e6-q2(-BNcrtx z=L!DQvjVN6x`iOw3VJ2dll~1x9jdPhAM9Sa#YeZuFHvBGQM;K!uarFOIFczSe9XxZ z|9VIFc=4M8{$f)f>_uXsX}l&~9KOb&ErXJ_6{n@?FNF6r;LaHNKo2s`CGn4-+M#sc z(l{x|`lXc1$?`Cw{RHX?dW^f(!q7)>el*DMiw8c#@oh1Io=K3GB`huD(QnaT2GVbn5&<>J zCeWiLt)pk1p70SRZz7Dmu){}2tu}OxSiI*Iw7;BQ{Ij=7S?)=yGe0|}vuZZ5AX3r` z7#;cF{P^dvb>)6B@YvD6ap)mu<_jm=JT%n|I=~DDzR_qqKkQPvWI26BOC!zLIBQ^C zipZ%dSuxSf2Nn)47f$BI)D;u03UQ6(<3Bm#uk6JOiUmxmN}gabmO>@qP#>MYht=Q* zzG_A)5KDvtg`snoj~8uiCJ#6>y&Y+v3mcb~mv`g1difiW-jfG|8?nQzjM2?#r=-a5 z5(XD9W3QWJCv@Hv+!?Z7T*8UBFsTLi=WK)=C$`*Y#st&UVPZaQ{1tSTMv9K}-0;N0 zyH6Xo`fN{MQsuR!Y^ZtWsV_bED8IWjS_G zFsB7&`Osg!-(`D!lzn*XCil+L){3y{RR7doxI6;!WT*%z@zd{KoSz>(ENg0Mvf}}s zwNu7A8=gtDJCa!cSE%^n{IgDcraXD4<9l6uCPH8@086~1tFK3nxx)G}c+?u+XG2E4 zkG%n-%?MBxWU%>>r*{Hc+Z;fCn-QS=!7T)kOYbAU%cW^Pq#qJl%=RAB(V>EX3Yyzz z)SkYKbegVHe+_;jZLB-NAJ{F4RX*G>Az1bPRvt4M@A$3J>D%?`gjY)r50&28^MDeS zcojjN%qPU^K%$L=7)@y!@iRnI!KW7rz~uTmNhEjKXZEi!qI0Lw4i7fZjJ}ZQUuPjg z5(nOBj*-!SJ3wywQ-wgejxgfS)SltSmSm^*Ea2#Z)6{_h=v6V&+!MF`)p?*~aWq!x zi}7h@?2W8Bzs(-sPVz~93YoGnWWW$->xHgytj>(Q@Um0v+xym18KuDH(v3fi`-Hnh z12hiZF;(sKo%*Nac#6Di#WheaJGzyY&_X6$kJWr^kzOqEWQQ8m%*=nx9nr8zFMY3_ zX`_%xv@4@mc#x9V33a4ee|95$4#4VCs#}=*R2Zsr42nN~0xu1&A-<7ZO_#-brdvOJ zb;I~?4%(zGZU^EFLpsAgDK*j4v}b;r-lY+hep`S(oB}R*ELVe`D+va(bVBJ}kj0au zueMagdlYq_4wFkyRHLVvwcI7HG)@Czbh2Lt(y-+V&R&05;eK?uU7APBaG!O5?73Ge zZ!l;0o$(Je;Abvm%RxQ4K+3`=m03^K*&al$kvx?PPJtUDfvbpAvVta|Njd7&pf$fi)-dl*_@|PY%H5T? z(Y2-)Bw3^h6{PXw9 zt*pm(U)N)8%&PzM0^FNvwat!?V3@&KxJ)w-jqIVtQs@L!fAIz4fiy5QdME8znh6#o zqGAr}%J_+skG^a8Jfw=f#^CST7WqJ%)YS6gP4fNX_E0R~2=YfbA@-f2fDC0KyJFQZ z^dO;-*BNb+cq~;YGLQ(0BQOpOu$m3RBCrILi~`pH_OupnS5QB5 z>a4);@w%!#EG_KFaS|)sLTYFl>})^Dz_a=Qh+1<1H5&`{=C6J%y(tZrqfq1er%$-Q zC8K`@m=LZnP0G7lmqcYa`Rj%D?UfNT?|niYO7HH`AGo zezXpak0W=UrtB!8pp-v#pP=`HYBfoB`8Y!!H{Yc{3BXIg#_?jYQUPq|XKvoU<@y(=q+H>K zdGf!h*slz6&|}fVR4(4w<{sV>4z2J;JRxNf6l6<$2Jt*_;QParlykjsDgRr7hMeuk zAgTJQE6X9}hk)Y!+VNMrD)FEyUycZO*Ft|(ZpscK?i?wk-Fl;RWI#%-_0Yel-1Iru ze0@fqGBEy?LwDK-Kq(0Js0Tfx)hAh`OA};0eDNipHKo99)L6;FTGLpR=tA81u7b>L z;zk^(H~%{7+%>Xk4_#3?8&8&jL1(B%qd}o;*4)R!NuO)PDv9M^lc0F*K1%KL^%ffU zzE%qd8th7ytTymF6dWxM^*K}mX2@V)4cz{)H>|&2XXh@6`C|8G)8=EEdh)~_AK;>I zitlizfX+rH9|uBooVgoK`DLU9RqK-1E;~5-TBOJKErGiGF64!IWNe>9P+u#$6XX_} z*~%S}D?4*3lxJ1lgj-~{A4m5+JreMD!RB}TXy>`Tf3XNCPBn`vdIMKJ=;wkelz2i1 zG~BLg7VXCN8MvyRivuD+`yd1cTmH)~H)#{+pXghnt|P!sU+jcgqp9UIq7;2=f;vQ| zIi$lpgW78v_a@jgJ?*{%VLdA3M@ z-UK(2s}dzAvign6{k3}mEXj(T}HIM`(;{_K@dUFm+PV`ERy3x2RhkX_gb7vk%3V?0ByB59B`F_(~%eD*l$d)gj=nF?R_Z}kcZX@0nv%T9_ z(-ZAz^(CU0`&*!(eGVH7%I-?H^51~6eyy*>CotrB^Qq_;R@3JR

Q`X?`REqPWr4 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 V8dR=3cPDhT