From 95bcec2a3f5cadc23db5c736aeb19a62698e85b8 Mon Sep 17 00:00:00 2001 From: Marcelo Boeira Date: Tue, 25 Jan 2022 13:49:41 +0100 Subject: [PATCH] Add redis global datastore links --- README.md | 5 ++++- resources/topic-graph.mmd | 1 + resources/topic-graph.png | Bin 298208 -> 300108 bytes 3 files changed, 5 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 007b0aa..86c21da 100644 --- a/README.md +++ b/README.md @@ -282,7 +282,7 @@ For instance, take into account the snaptshot above. If you already know how to * Streams * [Redis Streams](https://www.youtube.com/watch?v=qXEyuUxQXZM) 📼 🆓 * Sentinel - * [](https://www.youtube.com/watch?v=85HzpIk7Mq8) + * [Redis Sentinel in Nutshell](https://www.youtube.com/watch?v=85HzpIk7Mq8) * Cluster * [Building for high availability and extreme performance with Redis cluster, AWS - Madelyn Olson](https://www.youtube.com/watch?v=LLxWu27qQTI) ⭐️ 📼 🆓 * Monitoring @@ -293,6 +293,9 @@ For instance, take into account the snaptshot above. If you already know how to * Hosted * ElastiCache * [AWS re:Invent 2020: Design for success with Amazon ElastiCache best practices](https://www.youtube.com/watch?v=_4SkEy6r-C4) 📼 🆓 + * [AWS re:Invent 2021 - Deep dive on Amazon ElastiCache for Redis - Groupon - DataTiering](https://www.youtube.com/watch?v=QEKDpToureQ) 📼 🆓 + * Global Datastore - Cross-region replication (DR) + * [Redis Global Datastore](https://aws.amazon.com/blogs/aws/now-available-amazon-elasticache-global-datastore-for-redis/) 📰 🆓 * Cassandra * [Cassandra: Introduction by DATASAX](https://www.youtube.com/watch?v=B_HTdrTgGNs) 📼 🆓 * [Cassandra at Instagram 2016](https://www.slideshare.net/DataStax/cassandra-at-instagram-2016) 📰 🆓 diff --git a/resources/topic-graph.mmd b/resources/topic-graph.mmd index 3c69319..68955f2 100644 --- a/resources/topic-graph.mmd +++ b/resources/topic-graph.mmd @@ -62,6 +62,7 @@ graph TD Rd --> RdCls[Cluster] Rd --> RdSh[Sharding] Rd --> RdEC[ElastiCache] + RdEC --> RdECG[Global Datastore] NoSQL --> DoS[DocumentStore] DoS --> Mng[Mongo] DoS --> ES[ElasticSearch] diff --git a/resources/topic-graph.png b/resources/topic-graph.png index 10d455b0924841867d59ee548eead4796dff5915..2bb85847e7aec27cd0341e07179b0266bc41bb66 100644 GIT binary patch delta 16497 zcmdVBd012T+Ad6Mt8a_QZmn8GpjHHBR1lE4)hdk$s3^!7lu2eG42EghZIxY7&@e=1 z6#>+`z2See#udWQSCpL@MY z`M&+(_m}_t;?FPtTvz_p(c=ix)PLr+U_|V5OiO!0s!Q=t74>JGhW~Zwt1oxnPQLq- z@rv3{<69(uEWZC=*KJRvD*p7XV~)xZ(=V@=pZM(`hi;#^vUBHy+giJ|QAF_flCSx0`mc+D&}Oe0xt4kLpt-CGkK1`^7;;BlrtqSL|1Ew>!W2x-nY$%iHw8Mwum+ zsknc%-Xv;ylpeuRKXF91vc$EivX3ubY%=}!gcN@WXQfdyem{p!W~Ta-wrSM~{eH7VI-xZBo;KT9BM z3w3eYY2|P!NPKlne(fy@o5Z^BBoty8t5dr?Zx(n@a_!S^**CO1&Q2P~Hc95?%pMfZ zbxWT31{3u6cV-W)vP>-KgI;+V_CuHc&~fd1e9po-3}%vT7O!zahfPjqJ~)|ubjw}B zyg6bX)prWJZtbQL2b5tJ>SHEp@sb7c5ue^Zdy;!pB63Hx+3GvJ3NNo}tbMwt&?&Tk zx8ZcT^#~i?uz&4}+v5To7A;)XvFi!=6?vP1XQo&_2G0yt|MI#} zjI?74n#NyccjsH@HPT*OlQJhq3%@EWHr1%?a?-5>a?+B^k{p=S?^z~M1Vwb7q5bZ}FKx@u zIdGA4_$^zu$QXwQ|DkFxPDvPWW_4s}!vq^?@{6nYhPxI%+|4VOGYE#c+}h2{`ZQ0< zwU@?ggGvnL9TV4rT)8r?fTZKV?7CrkfZx? zRAcK?r_TQ>wtv^IO+DT&!;dhFP- zQdVX}_?xw%V4qHHWqC=PEV|$azMOz>FZ8*_D+V#IK7K-#Hl91dUz>--W9p7n$N|^F~h$4_yrd^o1V_j&J*K5ul~U0u&(HNRTq2n*j0^P3ek(_wyN7F z${UCOP?Okx=Tt@lxytVPbxDV&K~44MKLwt-uC!2}m7&+KUoX9XA>CaY#?gtMQQWIx zc`c*2>L-?S*Pjud9+QKw_xfSqXdWi)MXYllAYu{RTe4uQ`6hlI z7@efp(${$gW7Zpj9j00KnXiR%h*-$)uJEBH5=oi3p57kMgd&yFK~G8XAhPMx#;|M2 zBF*ioH(QWvLn2xI+0$lG~Hzk>g71Iz%K)PENLG z8mmSL7F2`xVtO+}B&aLya8MOm(`~jKgUj(Ve>lSp=8KokIxKHl8|qsxX3y1XWThu~ z7`Z^vM}@S@iD!O@X83)) z$7QJ_Z^MedTzlb26^-=^a6T`tT<*QL-GsZCVJ+!&D4P-!+?IT}=7*XaIx~M&xNY3N zov?F5K%z!{?=`8Q-na-iW(1;>Vpvq#>8^+gkGg-0XZyBsgkeS5+gF{&uD3f9YFHO` zukC_$HzWVpe2fm9QcLP$9Er}Eo#JovU>fpl+4^gXlDHgy;DBPSJl$|i&b+r%hUS~O zP%=o1yMZV8R$J42MfnxGS!BC=k{9L{<$S0=PA^V4PrR}w`RZi3Q-;?0Sd&+mBk{{l zzf!-vjRR!Qdu?Zr_%vnSFE}rns;T2WA1ISndRpU>ZP8jrYpzTe3@(I?P6+4$-3zO; zINR`ll@0zgb08nG%-Z@M`-X&sx8c*naGsMrTN!?**&>Kz`*hZI#0H_vlE!?e?PMPSt~@)a&utISm=c5xpuT!6kMPO)|Ag zBk@S=R-KmjRindUjE)$E4zDs?jpo{YU4;8177CB2Ezq~?(~$c|VzqG04fzEH=3SK$ zn>tc;w8cx*QC%;|%g?Gr`M;xOOd_+=qZYPldvz5Q z^mMF~9!g_~MU9O#&n)3fBX08*)!~kzY6XvXf3wo+Oy)X=xgvqJZGLgcuqvtU&SuMl zYDkm3AZ15r-%Pb=S#`UftDRG7{I8{xBh|&Vtjxin(c2N8qs{Ar#_!dR>5;2Lla|R1 z4JPQ_!6mgZ+_~;}R-*OM!eGOSiV8?T%Bgi>FQmxrn$fc(N&Y@jCmbBoRErl+#u){1 zB4=<}9TRy9Wv#fr);kAhm)g_xs*u_FYews7&Jp-HQ_-y*xb|PG-(6QIIwk9;&mk`{ zA2?omt6y-sY2d=Me=aS(if_o+6+dK{eN>9FjeO7uB49yehB{^E+SW=uU4DBnW`;Wc zDvL7Pq(HE?l1l+&IG(=f7`@ybJ216FkG|MuBwEBK_&$;05uKM2+iRPKb6Uu=BS=Y4 z>h&!;?ya>cMoUGFG)h^ymGS)9IK!DYJCK!~=vEJfG2~RE;uOS-wfM25ZMMrec1>PZ zv>I73EM-CWp)+iqLhLf5LZ7QtFiz=)9j^cPnTN=lL^5(p9S+CL5SkRkgWmd#=_;|3 zE7G`wIOt#NRZ&hp8xQtp>~*rL{0y5Ze}9kt!-`jC6jixLJ^yh=A-9~uh7A*x$w~L` z-+vw6A*Ju?eDc*!y`hU?BN6WIV@o3nNY$}vr-KpaACm!}?>R1Yr(x;`*ueg2SS znOGF#Hc-Czri@22r$Kebv`B*Dv zQI(SWo2Tl$0Uu3LFYn6}XAj40qDBkk(iIVX(c)pQkRvv7@T>3x%%g?pI+)90ot)|$ zdGA)|P?-L?Jz--u$!TAFvlZ~2F^*j{k`P&bS3r*lpu*k|M8XYjeUG!t7|~fR6g_Mf z(K+0tJGY)VGaTWz_ZwhI7@CmEIpjXqax&kSJq3l{QVb|1(T!tkm}QmDhHHU zS>hKfLJrb``dUv<4~lnN^7Ep1YkM50TIe|?JbKhx_x^d=5}hBN>QlUgp(BWQSrjT-Z>$h2F5yix`EhbgTnUUP=7^RG$R@>x9UQTn($S&#J zM~}2(6hzgD$;r&SS2ne!1z5J$^XZwWmG5_rqi!;cRH2%Rk8d&ZphL)KBpEOCX`0D}L{|2D#H=hfZF_M4{^88<$yca_Z#w95p}1kW^mvBB?kv%q zr?y8s9zwm7_eS}Mse6sHg-DUp9rDUpW_$Y5uSyo-yLTPE(TY*dNP@gIbZJDB2S=HK zu0tXEpdrmE%weD^06Xr#(l=1yLj;8AQ8m1PIdUZCc$SHJi`fW{KU@X5seft8Gsg4p zf4#!bzC=7$7F7Y_(vD{=XKj=XJ$_Bfum)p_j@PjKIsqwtZ8PXG)tBY5Jm*zC`KXP% z!lOQLsG89qxk371Ghotsqy~fihEwnJ)A7ve{&4nm(912`@?hJP(=VPqdedOHarj)T zCW7~hGnib282%Uj-Cr@d;Sf`EKR-Y8J#^g3NpIeC0HW{UTM{B4y{Osm8ZYGLAeus2 z`0Sf1h=F^RGlFfF=O&1XGTO{KG!;NXY2wY)22>f?RvZWosMpzR>p1&jP~{%0 zUfFSHKbC6a;FrM4LJ%dr;b04TB<|E|AoB$4mFx}kyH{MSv1NFm&={wkTHaE zgAEludc(E+v&=d%w@vIF*nzQ^Z<=obh`?>$CCwBt#Q2fJ5>;RbIdKArr??J%WmXlr zUh~M2Bh{P+Lv8og(e#VYy{e~5Ib%z#td?HHA%Ixos)_a9B%?buzNJRNzjpc_1m6&g zurJmkfW+f}UcY|*6yWcL={7V>P;>`NX9K$PtSHs2%+$TsN|2*B2Mq;c+aox_yq9%c zWByR`Hs?#a@Rhb3GTl5jR=gh(3$R+zE1F%!PPM1cobl+qn~_>5gZy~#Vyq3Xl~0d| z@FxrP_G)NgEG$BbpS+_@^y9L>TsS>AL9aI}Kzxc2g{ZlEH)O+(c>DO^x-gzO)_EQH z$$T^3b4e-_7OA1fh(tP!`8|zl(|~(YQ9nK$BcGxu14Ae(j9t=fSX{{|g*|g5-;PYI zZ&-ZCD?^4uub@sLv(Kf>21jOJfr`Kl;7WIiYaW`mLx%#1MzepvFrViWz^O`ddd~*4 zd+T4{xWx0FnVaa|&WWYyF&<%(`5R21oUcEN{j_UWyDEID6ft?08P?9ubj24H_XUsr ztA^hw$yA$bRI8XSwe;nbIwN_R27tfXJ80zSaEUMpzy zoBq(jU(MZTI`mn!OM?ti`nz}U(77GG@nZ&APD=4BEu>^i36B}AH=B|hG9RCd1O@)v1ExwpT# zyBp1KynL(a)Cf+!@u0uqK?nb8iOD2+SB!SNp5X7 zhd{D2#PHPDL)ua7RCJM?@ z=e%d0AR|l^il83v82C~e9HiFnv5T`aWYCqlJQ}Odm3(J*grxSHUS&0E=rkw(F)uH# zkq9(vB<@YH27rkMQt$4c9Z+Yk{ibmqxOl@~ydBio{k=jZ2T^k(9G%P52@GRik#)w8m4{BzLV)aC>4{BbH5z`!QJx6#TYh`p{;z|qZzv$PmGto1 zp}?kq1Vzt``J1Ot2REZjD$6of0RZF~Ivm0|ZKLr!gk+8Sx#y8@B|Vv?ZAfw3u6Uz6 z=#pTo@Y5B15KGYQ52D4~&HX`qVXUQuvNApz)Aa=oQk z=0QPzcXIOcubY)#`de9-k|heZMbTEjJEN`h-V5CP>ne}d#1;r3!wf}N9;K@F*3Mdh zpz*E4Vd4O|X?eT;!<+^?dL3gRy?fwbv6TlU^|oUFxfm;T-V-Ro+#7F9+$0q|+Uhnl zq>mmZn%+=r1h*ascRGjU>$@G{#ArCx6!-dk;w-rS1xAl7$_>~D}1Rnfh{s%-f(m0%=Xi-`Y#Vlv4a?r%Q0&8zSaK5*? zVqO+g`f{rS>zeG0WxRYn7s>|zlxoKOvn$f{v@4qo)F3(|DI4UU=wa-qIJ+y#8-MoF z-;kk}!NGDHE@X~5VS8=YV#(715BG(0ewnw~!?oC0JCdZv6EzIL0J0^cA*&fH3bI1o z8ju)cqfBW;W1O*`l$4Ztg{`e^nsVl)gJufCtC7<_+eRN1XtZTU%w(b8Gy>a4P>7AkVC z!XkJ4^J^aO={o-Cb=Bw$A>ULHvN`2gm933UuebA#kCVS#ariSzH#q=I0>3g#9!tm? z+L?_U%^)bEXLrihmgo>5M}+NAhP=<6D%(tmoI8;X4mWmr-KG}63*C#N^T1CY$6zpo z(Hx>E38)9w9aqcaL=7kHOYbfBs;g5Vh>y+FuoP1CylMWUN9_P?a~?k2lan)j%6>ot zf;J>rOIC-I>|hkk!9$D)r8{~71Nc?RB|f_n)&VtLGHSm&(d;`_LHi=bAmkXcLwM05 zc-Z@lqhmS%LnV&7RZSD)t9=Q_wO4(8C?H;7`%#T|tXRyjYlD{q`D`SwVB| z7;On~Z%qtKP>hk&)e;H<2(YLeThdJ^sE~a$teCgLGUbc{9`O&{n7o6k*zcC`2Wn@f zOH2oyxDoW{P(5^Kn^Dm?YN31Cj`q6ev?q5|Py5_+25usUmWyL)pzhTLX&bGQmxek1 z?LcjC|K2REj6tDQrm3qviX03?$dgxEutgWKvj00#h*)h>cL}Fff`2j%t`41odPC!e6iM|qR zfas6s*!;hs4ba(`N^k=o!H}F~J)3V0Yk76G71T3&69)zclt|k&9Phk)7vDfa)G24$ zw%1<2{sDi@O;!XF+|Wwt{R^=sU?PV{k5o_uiVoId=Guv7ch|>#mWI=}{fBEj;r^61 zO|dFu3eI|Km*d4}Ir@Sr&S;}7sdYCo(z62FU%9Svh>Jyy`AWx;G3)kE_^lw7`>A*DDTRRnrc6AP) zSc)7|#Wt@j@dzu}t+-h-AiNxaau}ek1)eDKpk~&?0U&KK-AvTq(|on|t=r&#ThZLT zJt2qJ3WY3^gs$W1WeT^&YUb8xw(r97yXTUcZCAHBCkq!0FXfXfddU$}C0M|vxe(@$ zt=}~CPRxioa?@@AZsTQcK3H){lw8_TRK)n*q;)owL*E5MUv$3owjb~ukj8#}=2uUG zbD>~Hz(IZo(p+rx{%L)Fp=0NH1kudT(b*cSL;Y3R+!IHv)3k5peyY9w0wCsCqFN}oOyMZLgtqfDC<84m$M3qTR#I_N8^lk0uKN=;^c>1 zI^R2(10nsxy8Bso6XVL}P-1{1Ocq z-}CMBt6mIIHs!2yGRrgJm|jZ*)5Xq3u*TbHv#|P$%ryd2#6fH0T_`%H5KjOiAMD^ zkox16yS_Yju0Vv%ruhDlJCirue3Pv;PHwI z^CN^zB$9jEF{mXB_v~vT6D{5lA??msuN_c5?(Sm#KT2VluzHOUM*yb)U(WhR_|!r{ z21S4|sg8SSy|n0pYj%pZX)}PqZW2RT%cpmPMI6@1wn8^lA@Y5+LFiP^;^o@b*01$B zb=^S#zEFMwGIdjK<$`z_!5x{o4Lhi2U%p4qFtqiL4f3h6nkJ^;CMgi!-2rd<$NKMi z0@H|G?mk=w5pnE>b{u7YQ+ncqdHo9|FQdx(T08XHwl~cm;m;To6oHY8gziNAm^>DX zWsFu;1~5c2rlR7ZaP||Zp98CzsbZ%|ZPjp7)Ph!flk97LmHj(S1^rS>D=g_Yb4{U7 zJ{d~=NlzneGh>Y=aj}oUUImF*f zcodhDlVewY;iPLvJ$|ODu(0qowOBPXdbtEpvmshG0PUsN^5-`Q_16t@$q(j5&b`}X zU#7C|I&>SgMRZ&63+L)rn_LnSYFHn;hshru*d~}m9T>RkMJtXPVMDOJDR`^VPcKbO zMAYi5u#gW=0gVQ2-_0@yF8p4Q@qg7O8$AD3lSE1y#2?fGGQ|8jgJrhBHD3(3*$}p+<~igTFRsq4f|-p`q3G zDSP|WiS9gidR;ZfWZ=mtq*+Tq)&O2p%PRn$F;hI{sqHBWA36Z&hRxJ+YS)M7?OPb; z-$kLhU)69Td>g6bw#MS${1JicIoYHqZw*}uK*jA@;>fUtLCzZpaHc5VM8t}0b^G01 zTHD%y%ORHg(ERfku&93<1YcU_E8GgBurFGDaz=uX$8%joyaTKA!Dt)hn;V@^3a zWuQ0%!XMBO4&J^{%F~XgXz7F7o=3Yl@=Mc&fFvHK_00F0H8La&*e2LD7T<0A+Z~Y_aoO!7fZq z80R)hm_bpd48$4*@WF*N%RP4??HdWE5}?*@^^7_G3G7{Fb8 zE#Ncus;agXkSra&H`%=seBvY|&I*jtNfZ{gLv?jqALoJO0gF;3KWOhgSjdI~`B7ljCb~R+fkjZo!7SREOUsPOj zfl|s9Qp)PkL-wP6l1|8$_LiP#8(0@uvW3z$UCZ(0j%TA(t4h4d@(DOZG{03~gwTJA zI3;=?!x)2-2zZDx98f1*H1+i39#;sDIt<2MeE%i`_BbU*zQz>%Sv5(x&SmKIC+jbbW&>HafmK}V z?}Zr6pwu-qjgkWpL7V>U-}~2)x7US-R4Kic`xpVh_9dnsISWicCq|*cthj!Gi}t^o z6p)~Xxtz^V2bs1*<*$MW*;!CETzfg>MJ3#>iMFCw=eiDwhck&q3Lueb~=80$g$#@$)7% z(Gl3X7u$lCYUlqJRloUX8L!Kn%6fApz8OlQu^wwP59sc86(F=m{PILoS8W(0a-r-6 z@2cj;HX?atNoo4@>C>ZyWeu6Yq3WYeN@(bSmu+(7dZ#+lmfxT_7@$!`x22)ME;IRC zXrqDX7!(4gMJPA2jbduYR2>YZ2;6|@ES<=8aQpjTLLSSMk%4kC@x}`@#TJ$+aukVP z8R0PBzu-4R|CjivASZ^Nlw8^NLR!2#-iZ4PAm?$T_sn_=`HZYoRnp3bW+oIl z(@P}rG6&^qQ*bBDqsj{LZ+o3+kU6 z_XKE>>EPsgyFC4hvrPjTpBx7DN^kT0nxg9IH4pdF6BJ&6YHE(G!CW)6)}7-FycsC2 zgjh_oc66-k5-d~%uK;ShbMJ6`yFM#DeI(BCAb%JMGedLsl>RE`aMsy5lSd^VMEi`u zk6wUIg}CC*A78r6duKA7PO6V3acbDfIox-`<*4%^iK`;Ir{FyQA#i)VQ}Cj~x{UfN z%65qd2!HS1y%?Y^38OXa=;W@hQ0Tf@qxEeg!rxXJKt-|KfkU`UC{}{eAGY}LW7OW0)s;jEj26ZoYX8KEe*(P`4 zRtqFg<+VbuTXSA*QBSo^%obss?U^$$vI%fOzFZN3Rt*d&WN9@W%>!8ugdEnbE%gei zX+qKS_DIj@P}B0JV^RNBK%K=)4;vT{P7Q01$q_sLfoN8`JX--KGVm%lt*up6ugYyE z(!Fl3i;O1795@(Y4m2SJbaViFVs8X;pFEGnl&jP`Wc|QjJsQY+(h%<@eQ~l{M_6Sq z88!nfBq|{$Uqf>py|eQcK#V*9ixws{`(Ax7{lf#PTPQ-4=%$_>_@i%|##0b-yJb~_ zTvs->4R+Rx&Hx<;h7dYEppLtF#3wn4gS{R2-(*$zz~^-!9b&0em6S&Oq@+sBDS)U2 zRg{u`aV2`bP&vVqx31gQd?QaZ=POzn~7j8D9*cR zks{m?-a9J>KYEjqM>eRiE^Q9|80s!d{XW5!UPDm59z}izUH1;hY-M13bLA-t_T_Ga zltFf1N%yx^Wjil4e9?9uykw&Do@*@PGyN88?hV^9B2MG8OB?T2qp@Y1#VUY6(ny4*xnRn=jl z+WUyWE3g&=cH@-wcJVB^tY zS6C6~NMCQwPVHR|YGFGDnP5+uGmzIzT=TVq0iWXf)8z~9+&icx(CjS(?NC-#EaH&z za&wh{?SfvMXJy}cc9OrRQ`tdAzrDCJaoW*Yylu;t8~};t^$dF;etG2{?$ArCVG4)s zmBNk)F4`@LqymMXu-Ol-kKFFrD49crhjccb0lN4dz091MW?w+6xWORM)<0c7cV>aJ zN{72p-v4%Db$(~5H@1g(LpSnUr^fXpApMpo0W%i(rGeSIMZ=+khWsJkZ%j&BT1Q50 zVb?l(?}o$IrZTOfgJKR5f9)-vGpGWM(L*bN4N@PyyJV*Xe%X6~xxLss4ga_a9E< z@pvekB%RjV37C%n22~U*eY%l^-qY~$Jmn%;b$x&aa ze4$R{9REu73v=Q>PJg9>44m@%q!7L=<$Sp71a|!AUM;Ds8ZO^7=DnF@-+V^cK1sVT z>$a}mbbIgpoqZ>oTyEMm3Brm}KM8^)T-N<0sPi~bI3h!p`t|VPEBn`0d3pZEl+C#V zg=f-SzAW6;yTDMhHvBl>r`v7q$G==tGrJtN9nio}#)As6(LU#aBIe}1g5M2-_fl>s zvpgC{zXk;-D%sTbv;=yqwvn2lDAd)|Y{sXt`>Udyqt1JP@Q>|V>q9(5yyf;HldKXt zabo=YQ;znD%QegMK^rR>Wj^=Je=m)WY^oZ_$K5ku-82~gvefg&b*lLe%X#n}-_r*A*|X!Wvak4EtSGX?v9Y8F?O@jJi# z30Xm=ha(b+A%8T@QjJ!w$*li}-Y>yw(@gi1gWl@Rj*6wX%(eRDjtyH3``b8Iw#jSj z=Q$RYciFspu*qg-Z&~*dTb0B5=Z-||yMej*3-8POUj@nj=yGjoT7kKz_0l~Bll}G1 zh>&T>UOH!r^bxC)&5fx8kC-`k+g z(uAGscK=_`A30$j^4hz?KJ*h66<6dco7Ly@Ra z$eZ%XAc-z?tOi9;^ri1vqP4`cYBKOgv~`R7swz`L;{BiSjDZI*u6C8ab_0WhWdH?s zAn*`^yXWV>#J?Lt92^{U1L#vjA85aS-wv*xG9KTb`t(j_=g?4kOM)`zKxm_kXX5G4 z=Vz3H6My>Rr;CXA&wd`dFp6wLEHaJsDHO`?-cMhG3oGXTYH<3!J*)8r96LitPtUXG z;Ymzr^xhvo`|XJaCX;zX-q_%;|J4MLw#i4Z;Zv(593pYK{^fOdIlC3MRK$vjtgdf! zYm%yV&}g%9H0e7{uXdlN>DngF=L?H>5I(I`s|#`Jm#Lk;YQ!h!UCR7y_|?mCw#vV^ ze#)Y^h@Qzjyq(@!@4!WEJmBC&!vqM=rdT)HgMXm zNwFjR`f5VhIOoq6xjMtk+|R6YZVRAt;GW0T>`I?_`nC{WqAz?0%1i#%`g}!#Lc1~p zP_o!4Ar{*+@~z|Bpck0*xJr_mK8y8_&&FE46or3?UmssZ9mzS> z!gdZj&ZHm$Jhg9S3CFvpw}bfX3V(0O=Ucy^F<2Eqh1%lT9Gj-eSn99z;1D zUW$A&%4Nbxd{(+XE;_xqxHvd049Xh+_9uaxyWo6ev^yw^vu3Ow&??Ogr9~8jG(&-j zzFJw##)+0ZbIQuJK_vZ0d4)QLpyp6{03KHgBFq^?)A0&z($Vjy)59kdLGkK|dm+W3 z%uQ?tQ3$8~`BgF!^#^$^GoqWb$OiSgo~o_MEoo%YR4a1vUmN8N)Do2HjgyXzdEq!@ zF&$J#8@jr*lt6pzC69MIL*)Q>(}o^2bQ@YAEu`mmok$(0dBfNTRUuql425deqbPZD#)48 zo*II;w{INHR*1sFTXS>i5i=7@@3v7nA;@cQ9Uz$6+f#@Sa@>!D=F-fr%p(K@kg8r@ zG70E?&54yW3;cg~G*|6GqI261sB5o+o4MWa7!}5>DS73sv}BoE%ez7>S%ZWKOY%>v z=r8mIR&!g$EiKB(9-`9%w!g&H%%(VUAJHlFT*twY!l8>Vitw~rOAP3#(G4*$tWw5= zPK~!tzK*YtEUcQ<@v&jOGNX<9VAC=vX@k62?8*V6ldfTt93SZgbxnIv!{=7lX9228 zBWN>Tx+bk~TM@tbHl`GO)28s!8!wzEr3OCY#;548uLTDOj}9^#9MntI0zEz(f;H>UY6*u8$SmAVyQoN7(<{U zB5ry}uV=(Cw!)qQ=T{ajtZ~Fqq_sk)7TfOx`q$Lf!T?hGEAMyVT6Sw^insmeQGD3{ z&X^Bp@$qQpcHg{tGiBes-8`nyh{qCx=5rtV7KT7 z25}S}Y}@rMe9u?+89AW%M3Rn0sU$5Q(ACY|bKR)}MEk#OG7fe_JqjN9BJ4c8V3BhQ z!|mgJ108#64H?MzC>dQ}vM;@Eub*Go*ljbLF;Kg6$}5JGHpnkp>jwBUrpcczaMj+Q z(u@C{b?=g7^!(2=+m{0U5pWq9!_Y{ATU#;(SgLNV^S|LtgcF)>PcP>NhlYA|=Sso! zJ2hzeHU(6lNLzVi_S55UaPKJ#=aqL?x(90Z#GBOUVuHFb-RS=;-GHVzISiRQe4P6a%7p ze;-fbW`Y7*9Tab2S}wnI^9E$s{QlG5U$CbV<<|UPqLa1*KUx5i#b{K>chamL)&gYR zalrpdmg%WzY66S%?eEGQiHq<7Z2}7obTDADAt!Qbw+rdg%X@Zpi*dmrA!A|WG)7ry zz{sbeBqTbCH)L>;>o;C#eQk^E_MsKG3{)T;+%a<`LGj2*bg!XdFf60x#;BV-BTjb+ z$Vl)TtQ=cQ0id){Y=Jaf8p7^vPvMR12p?~rf+eG;o?w}pc`SzjGwjHmr-5{&Ek>q?-L40?hYv}Jqn4xQ9BI}VpY>s%`3wXJ(DirBQtS_7Aip~dI!#PX z9S02+iD&PCWMLBMnR@jTf1>ePvE}hO0oZpfdRB#kh@pRdhYIh7K_C)m?$*S6ZI_h= zO_IspZ^fbCf41_Emy3ci)BS5!*>m>f4?q(q*Nv$MAm(7+1bCpt2lxINsktY=$-N_8 zVJw7XsD!qe0XE;B=(cM6dRuzNW~)fo27Y}&PImS#>)bkJ=q_KW8<86+g>ao&5h07L zG+=-W;y?G>`q}skmveLfsGjSxvnzSma6B#aP_9MVE%&zM(L1j6L`6Kp5Li-g$gn(w z%OQBNKx|CIni?u+E;g#2eP2+=%TQLvs3aYO#*IzxaeZC%Lr7pHXr$rbsbuCZg_KNq zOn9H!j@ilfj0haT?fIYiOJka1J@OKzF2f$E-mX_AyH|4*Wb3_4&1NP^ig-?hSRJ(G zIY{KBwL-f{pqB^0rngv#J9=}OctA(T9kfoM%4w)?-S~;)N1b zE1`4v2>$b0{p0NJk_r%r0jvKyw;7ARe@t&=Pfmu0>)XO3%i+#5^H1*Y39YvLPiNi+ z6TLtju`(f&3-I7?GxN*JS#1H{-jhp?Sgg2Cu*~N$c-18(CA3^R(>O$-)}EE`W1Qer z^r?n0hGU#$*1w-WT>IYThT>xTBAd3j4-ej7w%^;jY4u9w ge}DDkW&35MV_Si4&*bxJ^iG%~mcJDra{1@~0EJJbWB>pF delta 13964 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