From 8baf59cebe16e0124e9414c5bddd9d84d06c4ac5 Mon Sep 17 00:00:00 2001
From: weixing02 <564445201@qq.com>
Date: Wed, 4 Apr 2018 10:59:32 +0800
Subject: [PATCH] Upload image sources to github
---
.../design/algorithm/parameter_average.md | 4 +-
doc/fluid/images/2_level_rnn.dot | 56 +++++++++++
doc/fluid/images/2_level_rnn.png | Bin 0 -> 52666 bytes
.../LOD-and-shape-changes-during-decoding.jpg | Bin 0 -> 62624 bytes
doc/fluid/images/asgd.gif | Bin 0 -> 620 bytes
doc/fluid/images/batch_norm_fork.dot | 25 +++++
doc/fluid/images/batch_norm_fork.png | Bin 0 -> 23873 bytes
doc/fluid/images/batch_norm_op_kernel.png | Bin 0 -> 165209 bytes
doc/fluid/images/beam_search.png | Bin 0 -> 474749 bytes
doc/fluid/images/ci_build_whl.png | Bin 0 -> 287162 bytes
doc/fluid/images/compiler.graffle | Bin 0 -> 2661 bytes
doc/fluid/images/compiler.png | Bin 0 -> 15841 bytes
doc/fluid/images/control_flow_graph.png | Bin 0 -> 85311 bytes
doc/fluid/images/dataflow_equations.png | Bin 0 -> 23064 bytes
doc/fluid/images/dcgan.png | Bin 0 -> 57995 bytes
doc/fluid/images/deep_learning.png | Bin 0 -> 40605 bytes
doc/fluid/images/dist-graph.graffle | Bin 0 -> 6430 bytes
doc/fluid/images/dist-graph.png | Bin 0 -> 227532 bytes
.../images/distributed_architecture.graffle | Bin 0 -> 3800 bytes
doc/fluid/images/distributed_architecture.png | Bin 0 -> 193766 bytes
doc/fluid/images/ds2_network.png | Bin 0 -> 116482 bytes
doc/fluid/images/feed_forward.png | Bin 0 -> 32247 bytes
doc/fluid/images/feed_forward_regularized.png | Bin 0 -> 46036 bytes
doc/fluid/images/fluid-compiler.graffle | Bin 0 -> 3405 bytes
doc/fluid/images/fluid-compiler.png | Bin 0 -> 124118 bytes
.../images/graph_construction_example.bash | 11 +++
.../images/graph_construction_example.dot | 68 ++++++++++++++
.../images/graph_construction_example_all.png | Bin 0 -> 57513 bytes
..._construction_example_forward_backward.png | Bin 0 -> 50107 bytes
...raph_construction_example_forward_only.png | Bin 0 -> 30790 bytes
doc/fluid/images/l1_regularization.png | Bin 0 -> 1157 bytes
doc/fluid/images/l2_regularization.png | Bin 0 -> 989 bytes
doc/fluid/images/local-graph.graffle | Bin 0 -> 2527 bytes
doc/fluid/images/local-graph.png | Bin 0 -> 28561 bytes
doc/fluid/images/local_architecture.graffle | Bin 0 -> 3109 bytes
doc/fluid/images/local_architecture.png | Bin 0 -> 104998 bytes
doc/fluid/images/lookup_table.png | Bin 0 -> 24246 bytes
doc/fluid/images/lookup_table_training.png | Bin 0 -> 90423 bytes
doc/fluid/images/loss_equation.png | Bin 0 -> 1589 bytes
doc/fluid/images/multi-threads.graffle | Bin 0 -> 12925 bytes
doc/fluid/images/multi-threads@3x.png | Bin 0 -> 358839 bytes
doc/fluid/images/multigpu_allreduce.graffle | Bin 0 -> 5489 bytes
doc/fluid/images/multigpu_allreduce.png | Bin 0 -> 110982 bytes
.../images/multigpu_before_convert.graffle | Bin 0 -> 3056 bytes
doc/fluid/images/multigpu_before_convert.png | Bin 0 -> 33557 bytes
doc/fluid/images/multiple_reader.png | Bin 0 -> 163789 bytes
doc/fluid/images/paddle-compile.graffle | Bin 0 -> 2208 bytes
doc/fluid/images/paddle-compile.png | Bin 0 -> 20150 bytes
doc/fluid/images/pprof_1.png | Bin 0 -> 352710 bytes
doc/fluid/images/pprof_2.png | Bin 0 -> 194000 bytes
doc/fluid/images/profiler.png | Bin 0 -> 51116 bytes
doc/fluid/images/readers.png | Bin 0 -> 355687 bytes
doc/fluid/images/remote_executor.graffle | Bin 0 -> 10248 bytes
doc/fluid/images/remote_executor.png | Bin 0 -> 120818 bytes
doc/fluid/images/rnn.dot | 87 ++++++++++++++++++
doc/fluid/images/rnn.jpg | Bin 0 -> 44320 bytes
doc/fluid/images/rnn.png | Bin 0 -> 185148 bytes
doc/fluid/images/rnn_2level_data.dot | 75 +++++++++++++++
doc/fluid/images/rnn_2level_data.png | Bin 0 -> 68929 bytes
doc/fluid/images/single-thread@3x.png | Bin 0 -> 78099 bytes
doc/fluid/images/sparse_update.graffle | Bin 0 -> 10788 bytes
doc/fluid/images/sparse_update.png | Bin 0 -> 122536 bytes
doc/fluid/images/test.dot | 35 +++++++
doc/fluid/images/test.dot.png | Bin 0 -> 58935 bytes
doc/fluid/images/theta_star.gif | Bin 0 -> 156 bytes
doc/fluid/images/timeline.jpeg | Bin 0 -> 70606 bytes
doc/fluid/images/tracing.jpeg | Bin 0 -> 30668 bytes
67 files changed, 360 insertions(+), 1 deletion(-)
create mode 100644 doc/fluid/images/2_level_rnn.dot
create mode 100644 doc/fluid/images/2_level_rnn.png
create mode 100644 doc/fluid/images/LOD-and-shape-changes-during-decoding.jpg
create mode 100644 doc/fluid/images/asgd.gif
create mode 100644 doc/fluid/images/batch_norm_fork.dot
create mode 100644 doc/fluid/images/batch_norm_fork.png
create mode 100644 doc/fluid/images/batch_norm_op_kernel.png
create mode 100644 doc/fluid/images/beam_search.png
create mode 100644 doc/fluid/images/ci_build_whl.png
create mode 100644 doc/fluid/images/compiler.graffle
create mode 100644 doc/fluid/images/compiler.png
create mode 100644 doc/fluid/images/control_flow_graph.png
create mode 100644 doc/fluid/images/dataflow_equations.png
create mode 100644 doc/fluid/images/dcgan.png
create mode 100644 doc/fluid/images/deep_learning.png
create mode 100644 doc/fluid/images/dist-graph.graffle
create mode 100644 doc/fluid/images/dist-graph.png
create mode 100644 doc/fluid/images/distributed_architecture.graffle
create mode 100644 doc/fluid/images/distributed_architecture.png
create mode 100644 doc/fluid/images/ds2_network.png
create mode 100644 doc/fluid/images/feed_forward.png
create mode 100644 doc/fluid/images/feed_forward_regularized.png
create mode 100644 doc/fluid/images/fluid-compiler.graffle
create mode 100644 doc/fluid/images/fluid-compiler.png
create mode 100755 doc/fluid/images/graph_construction_example.bash
create mode 100644 doc/fluid/images/graph_construction_example.dot
create mode 100644 doc/fluid/images/graph_construction_example_all.png
create mode 100644 doc/fluid/images/graph_construction_example_forward_backward.png
create mode 100644 doc/fluid/images/graph_construction_example_forward_only.png
create mode 100644 doc/fluid/images/l1_regularization.png
create mode 100644 doc/fluid/images/l2_regularization.png
create mode 100644 doc/fluid/images/local-graph.graffle
create mode 100644 doc/fluid/images/local-graph.png
create mode 100644 doc/fluid/images/local_architecture.graffle
create mode 100644 doc/fluid/images/local_architecture.png
create mode 100644 doc/fluid/images/lookup_table.png
create mode 100644 doc/fluid/images/lookup_table_training.png
create mode 100644 doc/fluid/images/loss_equation.png
create mode 100644 doc/fluid/images/multi-threads.graffle
create mode 100644 doc/fluid/images/multi-threads@3x.png
create mode 100644 doc/fluid/images/multigpu_allreduce.graffle
create mode 100644 doc/fluid/images/multigpu_allreduce.png
create mode 100644 doc/fluid/images/multigpu_before_convert.graffle
create mode 100644 doc/fluid/images/multigpu_before_convert.png
create mode 100644 doc/fluid/images/multiple_reader.png
create mode 100644 doc/fluid/images/paddle-compile.graffle
create mode 100644 doc/fluid/images/paddle-compile.png
create mode 100644 doc/fluid/images/pprof_1.png
create mode 100644 doc/fluid/images/pprof_2.png
create mode 100644 doc/fluid/images/profiler.png
create mode 100644 doc/fluid/images/readers.png
create mode 100644 doc/fluid/images/remote_executor.graffle
create mode 100644 doc/fluid/images/remote_executor.png
create mode 100644 doc/fluid/images/rnn.dot
create mode 100644 doc/fluid/images/rnn.jpg
create mode 100644 doc/fluid/images/rnn.png
create mode 100644 doc/fluid/images/rnn_2level_data.dot
create mode 100644 doc/fluid/images/rnn_2level_data.png
create mode 100644 doc/fluid/images/single-thread@3x.png
create mode 100644 doc/fluid/images/sparse_update.graffle
create mode 100644 doc/fluid/images/sparse_update.png
create mode 100644 doc/fluid/images/test.dot
create mode 100644 doc/fluid/images/test.dot.png
create mode 100644 doc/fluid/images/theta_star.gif
create mode 100644 doc/fluid/images/timeline.jpeg
create mode 100644 doc/fluid/images/tracing.jpeg
diff --git a/doc/fluid/design/algorithm/parameter_average.md b/doc/fluid/design/algorithm/parameter_average.md
index 53d601d3a9..70c5cdecad 100644
--- a/doc/fluid/design/algorithm/parameter_average.md
+++ b/doc/fluid/design/algorithm/parameter_average.md
@@ -7,7 +7,9 @@ Polyak and Juditsky (1992) showed that the test performance of simple average of
Hence, to accelerate the speed of Stochastic Gradient Descent, Averaged Stochastic Gradient Descent (ASGD) was proposed in Polyak and Juditsky (1992). For ASGD, the running average of parameters obtained by SGD, is used as the estimator for
. The averaging is done as follows:
-
+
+
+
Y~2^$gqX#B$BOhT)@Bg4j*t}-UYAE`3lSsx z+2OYy2ek;*`jvFD@)sRMwiM2gW+Dz;HwLpc@KlXl1tM$ZXkMu$Q70Y4JlLv;_1fa3 z8w%IBS>|E><8No`t(Lr*Q;W(|!KU^<101N$ocD^`9lia`)3i+7j#-JK>8vbO; zUA3^WlV|p|G17j;W>jt^kVr+~UJBpd(c&?)ANK#{9MVcFR)hgzhg}9X7Y}EQ4Tiz{ zAkXI6gQc_BLxo32#=IwAB)aggX&sJp6@TxY8L#P^ieqTR8KU;c6>~~OH)CzD5G%P> z(w1~_1iM8|Kjmk6VeN`*Ix~wsKG(c&I|nnxdhX}@h_g8|rxQ4BeMzy4T;IFQy7&D| zmgVWaeX|R@Z=l6yY=XJ;?QrAG-UGt1t>tMbh|BqY;#6P<6^UMDGx|)O5OaZ-ar zyWBN~!C{G;mGE3&o=C-VF}-8&W%6P>gcfJ_qT<&Jx7L2BDU_%<6L4P0eDy4}171N; z&G(x^-urCZ`PQn*pPHfCnY!EJ_NugQQ*DfTX?-fAP8eDL?<|B4VbAAO8-If!V;KG_ zqc@MKKx^fTSPtLpk+Jwf&ZdK*md-KDpWEjMXCxr|9F)oZWv{_x_B4x7&fQt8=(kGL z2a2$vD7U!OBZj+7MB287Hi@+zdFjb?B z`s+h Nx90bvKiU#pUY;pDj=O&F4_5fW4Q}cZmo0lo6+27Z+y=@-JtL4YlPd8 zbacQKp{Beh&Y=F2AIqVX1Wd?HB^3=4mnV+Dy;L5E?cDI$3wokFQ0fy>R9AOkopMel z*e%l4@nHPZdDq~9^5J0cRx{~fhR}S%`4V?Bk37E(v+b?ng1wL5ln1B|`&xU0A|Kc5 zPhJAR?Rxm#?jCM5yQ&%??a3dCZ!TrW+q*(($t;6(ak>Fx)KgdU3SsLNz}D;COFy_( z<#y>nK4OyS2i>5$tfuw2M^mOb5{aZ%Mny=k>uIZY_g^;3&Ke-%aTSp4O$*6{`5ceh zwqi{Ag9@XbTI41ZcZ7_HlJ0Hmyq9<0lo`-d@0`9EB4H7o+f!NhbR~1X0#w>+3)lu$ z-e>qNtKJ75ELO}%WaUdouCp~&bE_feD)zyRMYkG cfuCME%<${?k4LOs4*8* z&X=PY&-K2t590B@kSP#YEbI$-nIKoX@mR_}^``C@IzPHWH1D=zDZSsdu7vAlEIa9i z!Mb~NHdAYvAJ8LJnsQ!Vcce*7x8kpP(zMEg>7>t?TH=$hO n-}S1 z`JyTI7=K8_YyBbP; 1{NHPNZ0T zG81S&qiIP)6b|cITU#}MLtX=CLfO66jg-f^kKCGAw-Xo8lOY3yi(eUShD!F`QzU2B zP>a&R-pPEP%621oh9g6dT*Tk<4G1j$?j3ckGAb7@! ) zH+tGvFi2mMX^=Gz&Z%8#HGGd-0RGu>>%`CPmP{(VJ3U6l-0Yc-ZoL2VbOThG^4&o^ zN0PHgLS1W-!)R6+Q2BT#52xCpURFog&k{+0@0s+AOcR2%&G|gkp7E{ax<{*Bp15-d zt(R4#34vz`)(VZ5RZpH>$D=K^N}sPQXsMq)77SB }D2Sp}*Gi8!bh=g%R201KO$ggA5MR_ZgF3 zVnE#-YX-3*uh5&+(LOBkox<1IGrk-06y=Nj8uN}i>?rQar|2KD)j0!gRMNurR;BDI zm~Qu{jqdhgJqq}p6k gv(1PpcP}?Ub2UizzvnWenshy(hK472CMas( #~MjHFPW_N22z=K&Xj854es4bdG$TG za3^-pyEcss>ma@UY9C&+Ygn>OG5A=BJd@mb65bwhWbAzO_7!&N>G=4O@i8x_BSL9H z|IYDzDok%%tk@yiQ^0bk+su?KA^HSU>yC#Z%=8s9u)D#z4jM{kW#;-=Ods@e0%5_4 zXxpaJ?5^&!-2`tUpTJvywob_Cu^Fi7F-YNSJrdcDZYxgp=8TfPJ4p0=BgT$#=PpT7 zX37iA{2OfC !)uwwEb2Wy5nyIwY z+wJ 9WCJju*${&r1G3YTYeJ=nVXftQLLnlfg7l7|Fqk_SPtV~VmKe}0Gd`$eA+-X^& zlz(*{Q9(!ct1Fd((j6Yrff8QNoQKC^J<|9wr85w+MTnl*L7<5-W}3}G!6c5e rep5|{py*vV@I+832|AL)*ndy5=s9bcU7r!~~X1$z!E%2Q39Y{7hfy7v>p z6cNER@-97$WT>~cQ%ZSE=vFb?)tfO5oTrY>U=%7M(m8`outaU%>{`CGua{h0pHue| zh+#CID7+50S;ndsBkX7iw|*16J+K5sH~XvzPEel#l&mhrX~HF~#AOl~TP^}(`zVnE zu@6ly4-nDtPwymcI?q0H80Ze}(o^^{r90Uah1Q2J_Tgi(UELl6h2pWD?P;ZyKr3tP zf_sgz?f|w|5*f`3wI|4M5%7o5f^E$Y1TtDMd~|py-s8JI#!mA7sw=cuw>v4nb*$7< z7F+;I3&Zof;h)N1h6`=*oStTwyA7QU*D9=~h8Sx3YAW?#7XTrj+&woJ)L(pVr~dIO z=!_}8U-6J$9T4Uc!nEV!2czceJ$Sw3wszwVDNS@e)UsXBx1Gt|Kz(^| *Hu$WqZmAFZ9++JJ@=Am~;x6_rvt&NX4pR~q`AVUufKOM<-|Hu{qgeUX-_E9h z$}5~M?X# TPups#W jbW)v%Erz zX9lGo*a@_!%JP>TY>GKp(l;jZpHj9bcyK&1D0~Dst_#&qNHz`kUo-+(p9wA-*iSNA z$NSXU6E1K9gCZMd!xN&u_ePVf+Xh8Eg-KWdt(%@do=;2uh#R!?(s7&t+UTjNm*vIH zXJL}ytk3l-BQ6o2$0oevW-cAFH?aS}fQDTsXB9xoOV(TmQ<*bm{2X5bZQftc#=<6a zYD&|&v;T}w-1FcL^~RH+9g)DfY}L&6bDlakT=U!V%6$tIia{9NvPAqhgsxX-WeMH3 z8joiaf5>MXn}b99{X0~8@BB&D{esNmmfQU{uGYE$9VS45p@U`hzGA-`v+-xV=qj zS>){qc8n%9wLlR24%aoA2feX!U(wc=7SowvDvr*84pyo*6NKQEln;PZyq&};SHXto z=W)yaXWEgmeXE9;>4X8i$2=qrp9o9SetK{t6!7j#{3?_UAt$c)v?7+Hu^Z*_4Cbuv z)`lT-ADUlEi8$ICeX{4HVp(5K##)y*vy0sY^?nhnycU}ZqgkDW%x`5k%oH}gZnUid zMny^xrVY{qZ6ebO>VC0?ZwHPD{D*_1|F69-4~O!7`ySKC*vD4LGGqNJWGRttC>l$Y zE!meyAtG7RjHQsB%D$9Tl8A&5QYfL#79t{)L`q4X^BO(B_xb()eE)ji<9NP@<9no- z`@XOHy3XZue$LOyQrynfUwIUUCuf8We8oBA-A_>nF~oKky8*=jkW%yee0ZWxVmK!< zH{bZTjIb?i%Ewt_k*C93hK{`F3x2}=gm>yX8_Wa^huX=)hM4o>rWl{d(Uwh|1najE za^VDL5n2>e!?v;--G*IbV;rLOq_#-)k-ThTZpxh_IhUzS$2_R>^Ij23B?oZL9>Dqj zr7a~U;StfadD5?k&G|EHbx?t8oG7-(%E@@(Ym}Ubf>T@sj$s-RoHRZTC`PY+&bWg4 z^zcrSsP>$I`7-;Xpu711TLy`YI*Bm(6cEf5^UC$`jK_ceRzCem;O3OHhtJn7arfjY zIr&N>Mzk(d>!}bl`0)wX)b;qvqa4#b1 @G9pygkLhf19_g{>LBw3>V?y+ zi7_%RJl3Pl{aVC5nCNp1%wI!CQ-4LU$|oa1JEYePmE!z{^tY tsc(sC(??)(A zTTyj+xNO@(jY$NVCwxzM=R_Yo?l+Q1;0+HfpJbJtZ?0)!vLVGwe^HFCILhPj+S-|C zoJAC`&wpq%gYr RqWg)fqkh>P%kRB;qurwPdhLw$3NOU2~DvwB^Wv8@FOJ5Xe5)yim+|#Y_qN7 zN^@k=>WTZlsx;7Oc~tnLH~f5`VySSm#8|`9pF~%JU4h&qCf$7a5jdBxcG~r@6#W@x zc%CKLuYbj^#`QckhRH^w|9#~79UepTwBja5Ujq#Sk`mggP?!khv9$2jU(Cj|4DQRA zUxHcsaA530leP_Q_Eq l$IAF8=SPwalAcLbgr%HNvg1U{}ns+VzVU4-$|T8 z#Qv|Y_eWe=-;r>^Nz(C>E80<%iSgX|2bjVhmblY)!AUZWlzFL3s_(vTQHO4fU=SR# zJfOcE!LVWD$B@BqHXT1@{1(kahJxdv$V}BWtAT=QAAzdww<5*Q8TehNeWeh;@@b7= z_$iXF`ljf{t1rq+4_AiZlr<>2D{i8y=Grmu&xSb(MxR&3Q^roQCNMpPIb<^%u$@K( z)f%W;%{Xrpl(jy$f_E}@l6AJzdG%g1JS<^5USdR-MQm`Ny0dZrWugAbuH3g%M%-V% zMpr~BMw>!M!Bu;=OPgJ>J^UO3N_!o7bvzoOBV #5+iG^r`+zjNSEa#Haalw%?aCL6LK-^BW7>6N-&Ix}mO$q!SPJ zwfd^DJKwatWi|Lj^^3ceb{tN@;gj{90#GWz^ z_AKE)L5vd?n$mODlr^4l@?$HkHO<$8<`h%DlHuMRU8W~yxq79!kS}X>aLc9;b#a78 zj4dytn0a1@-2qjDUzhl#4ngoDgSCF843tSkk1UFFYBVs$RIH-uwCtm7ZI~eD*P!is zoGWcP&*_x`2G>Q}h{)RbbPN`ov}KoxeeI*)b4WWyOfRl|52t2Pq6+r;`6)!RC(AOE zL)F|n`2!wu_~iBYngD;K;Z{q1qWh(aPr{e>W9NuuQit$rlT9+&j*BY2z5ml16si`0 zu>1^&Qzat}y94J+NAlm7D3(Ic6!|5Asu1-~K4>Yb8voD@`7_k(GyWuDI#%J>98M)2 z_Ztk!L_SwH+#n?qlVivxq P?MUs~VXQ5e{ z5aj2AI+ L zK-C5t@|)}ZNw{<}J{<@*<1kvCleLg5naf0kxWjv-Uad$Ym ;mIke>bhD@O) dV!1IH Z}h`-3|kcBJ?Uj!xNAuieQ+O-}JT1EG>NG$k!mnvD=l>^)}+R6pan7 zqH|OyYEmFz@$&-@0)6adS79V _HJN!6B+V>4ED3NB^T}_Ma;KLZHfYAtPj9izX(Cj>;@BX z39lu$8!se^XbRrElDQogA4{MfssjS~j7=M;HSBY2B%4DG&u8`v1-m0 s0>UTobYn?o`>JoKd)>=q6LZjPId~=7NY@VGK9V~+}A{>GS M(-XM&j(B z-!mT>IRwy$+0&OUMuOqb)4i$ki_pY@kEODkJUB7Dd*gNXSmJgu+OmZ2{HPA13j{PA z1fh^3z}042Lf^N>nn8=)vKO!CeyjxHGA!z2xBC?@C6YC8{5dMYzp~`^J77Wg{33Fj z!nJH*0inN&g#Ysk?AtS#dXii3)DJpRv 6T~oj+?V+GmE#5!)89YkJ@}} zyzH6v7*4Dl`p}L+4-rzHs{8H%;^h$m`+%TQ$}4NFK(l#T3`bi+3HEI4&;ze6%o1v} z*UiVc0%MzxrTs2;S`^oXQ;%lN1BEsP801ec$=N~yUhBnY(A?Nw>pzu9sqIWhPcNni z{ D2EsxDQTtub5IvCID%(xUY`JQz!ap~#j;r*WGd_9(UT7u zQFT*8SI+GOqY@)VtBQDKRbl}Pc(tEX_NhJ2y)%P^iqj}jA-u)UCRLvp-nzQ-<1$15 z-S!vVyx}7##CUjp(OgoM;09vO(l?KsO**{AhqeO|M10Qf07ICd c+||KAO$mu zWITIIQ=kxQ037hh_Jr&7#>p_mjm%$tVgpaJmxfFTgVF_Gb{ZsdNC!*;RGu@3fFR-r zq0=oV90N0lX$JiUGLh*i9&xvYy{9YIG+IS+9@jgm>jbZH0m|wn%I82&MSnx{AD}e} zPT?cC>F!TL99~yP|E!lX7$6E-bP2Ee_G>tT9n#E-xQsy*5RG3SudZ+1gS3uoZ`|+E zFSr$+SdUSe72X|10#182r6DuSI}^lzf$8A*e0ucW3DBjPd9niIBT_Yj7bHXp)nFN@ zxG+NdM8<@xb|7+L7-pOfhPDIArXh+Uc^nZLp8~;4{O7_4R `T>GOQee*D} zuXRxkpe&@^NwMi2%~Wzr1;urvLfz>1wV4cWgj-aw!c19&dA>o_j57{FW6>|Kn~F{k zR9?@bZp>m@cdOil!tsqGjBv6f2s+p?yvfRwEj}LwuUAE#!&_-f9ey+}So71c-w~Kl zMTBGsMXxZ}2hI&mv+Bj20bc7x5TP`Lf}0yy{RQx?&mf_91M&rLvRU$bZThG3GrX%j z;MBJui`J1yBjTgDbG}22SrXl{#|JhnW3hQ`Uik^BhSy-BzHvymRsbl%GPk*PTSQ0k zov2V}2${?Zbs1^m8$EJittEP-Nc>(9rk}BYat2+2jAbAc)Y@Z`gILhp*&Bg+o69`) zLCbS16Q{^)Vjdje&8m{+NKF)5h_R9II5@h>?(p=k`}5 fn{I^zsj=?BR#02~qVR!!Ou(0|;g_@eIW|#_M-7 zMk4Pw3sP0uj2;%BMV=Y00{H48#9 j7BPP$n(>Qk?1FHypYI&Qol}J5 %_|oHT zNk2R+{3hB-cv;rP%DqN}xNL}Zts^hlkacZIM3-DHW94QVJrbutgRRGj&4(L1p@R-t zI1CBz@H~u}(oQJ0CKQdzhpzouC0!i*egTGoedJ1R+TiKKeUN-tDqZ2$q9k!3JWKnm zR<5Eo{}A2GMj=nF;N%WbFBw}%AeUR5?GhmV0|E2l5{sK+_?9dW=HjEU`+D6Aks6+1 zl~f5&B6JDdP{_%<5Gb_A@lk8)-y2&%Hx~RvmWFODLJaf#0L*vSwBbFwdC#*{?X%&{ zS(msa4VTq5%MwBAZCEL6*%yT&A(*|kJd#LJ#}5Xm6bbCu6`(#gTn nERC- C2vz zYpaOPqH^kEj}Es1IRv=I6L1Vo&B=Gq%niF|yhj~I_EBwT+U_!-9Xjd J*B9YFOv)?Z#I?O>sCpLyh`RjG9$jIHk7awfr4L1b2Id2~Yn zlSsFabs#zxzUttHPJAKtqSRv=KT4|w;-5j^T$SJu0DVz}WUmznIh`M#t9m?G31#Q# zQ*ztatuQ{G>{9Q}R(f0G0$Lvmk%M{J<~-l|=S~-q{Rbu77% xuF4TkaDz>`(K~1{)hhuA0SyWapq|WI!GAiWl}kC z#D79V0&0v2?=oIdD9cxJi$mcOnx64J_GaRzp;~hkgl;=jmOl3A{Po>}17|nLgn~0x zg8tmft!99a)dIKsL#mOy+H5}r )3|aZdYG;3cJ#U<^rTMrKW>`E0 zBYescQ28Q&OH$D`osxw?1915d1BW0xg|?OAsk5jj6kcqM9K-QcmuLCckSqe(8ZV^k zOBM;6*Qo_~&JEf)NK>_;KTaSGNj823G6d?Ie6;{PO9M>K3R)Z_z)1%*^+k`jlAp-~ z=E%Fv$~ffvCmAFbiumG*LTXpA&LHT4i(rWo`(l9_mv)~F2a_=Yrg%Y1Hh5v;Aj53! zRNkxV&08%fYY6k!fDvjhVIn2CebYG4`EI}quIq9yL?2*bh+j7 #w~ajLUqJ`Fi}>t0&phH4q0Q18{}4U{JT<6p7}VA?_MX& z0KjX37-?K7v_LIPKHtVJxMSXf=KB)vXB+f|R2_MCX+QAIWuIs7x_otCQpgP3ey$xS zKw I%t{Z16`GNhI2}W5bBrGld?2UH5&5Tdg4wcz0Kq6rX^$v5PDY{!HV=E+K zYghk1yqg{pMPo#M?|Gr0qjkpS-d4h0uctX`m8*i^RE#dkVw*{uWP0v)tADAlEMZC@ z;D~J}Eh^K0MIpo*O?wys7=`7kYPUM5DVs8iemOJR(-0b{(=gZY!vPv%Gk-XLu&56@ z$yZ_~H2U}Aiiq^6_yuc4KbJ0hP~!IzD2*s0J+3r=;9b?RSG*V1PJK)^2DSG6j|Qub zi662Lu#6k0{aJ)!U`aL0tglncY2ZgsqyC(WaOv4VykOvPz~%6^K@y&?r+f&Ar+F?1 z4t+W=wQ+EZ9Zy-*k{$&$3LHMH+XEe6@y82MgjO5?=}yg*hDXx8L2h|5YjGgp(ib81 znhB9BrQK!zsk9#Y)+99zJp4F!OWc$0DkTUESTw#N>oUnRW1u-$2fzVMNgaL~aRJh= zXW2fDHxn64c{X$#Foe;F-+*0p^HpT3q*2L}jahsWrHh9_LH+lX_S%bp-74y(Tp uiZ`K{JM=j2b=RTLF)oaTxr(a)Ywe>{0+3LZ~*J%+j^M= zFCwxyf)53t|K-!$`=(GUa^YmEiZ*BTIFICA`BDoKB1V@`bO^f3J2{0SH$AcaNWEVN z&v-a`SI!O)^jsZjJQG?A)ux@=cw?APP9`tS2fTzXD$*Lv6u$ =P*mZE5^Faki~AY z#D(1!k5F*oiP}(f+xGsTJ%hLQ$|vOjsjooX3hp|ey#U@DoULt<;l-^pDV!WU$a%d{ zZN{;`tH^6B26ngQR*M@2o}r(#JQ|%i_>V_?_ktN|SZ8LFO?l8)LcJR?Fa*ObN~8j< z+tNdBr`$2Vd$d~~qMtsMrj!kXF2d@|yYpApt-T8*qh?+|D^JmFmnwrs>yNo%bv-pS zBc`e7xs;=Bs^+=d_Uaq kG9vAAILW<)g7EP9Ruf0fE$<9TWYUUZ18->R1_aYJ6lq0?6DcVUrnZ$;i(k z5Y8?+7;)GJtRimh?Ga%yr{M#t(Gn9$yAxm`veLb!iQ9V Wq(Fb8>+s0} z;ti)&GX 8c@G63#erTwkoaf+w038Yg4Waj!-^T@jmQ}*S z^q(zrT@BCXOCk_ZS90jiT*HNT>!Hce-X`NCf3p&Kk`qu;v5YJ@`)ok{)%1xvQRZ!} zoBZN;?QYW;VoFbnJzUf$pwp~4ds%3lX0o `L z =t0!lz5owA_!=% zJ+G6wo%W6=7`q-)x8sz?40kbmm$IVo0jFvehqMNA2D>WmVup 4m4%bLyeb+xzc zbl;u)p`h^u#nR{pagEFGFQABcu7uZf4|=7{d%?0}1EjJ+{ELi@rC@CCL85L5883H5 zuooSTOQy1d+IK3edbH(wcJr^7A0rIOL4|8~>VG5|b`-!a|M%y)|95@X-R1v3`+;Vh zXi%{&PjWrdNQUYbWOZnS-D=?ZpQk_ekUDbJ??Za>yi)YtNe6_etSm?WO}bn3h( 3B-7Qi_V zztasF2@K47{v}w04&K1O>PnLR9~|iTx|?oZX)y$(pM_?hzP!7!J6$FXW?b4rWt2B% zA#+{K4Fm8@Yv?)_0I_7 Pi3-GUIM;HsIAuzlM#HZr^?!T)*Ar3)&5}p0eBE5Xd-LAmU zYP67eA&QLzaLsF(N5RS){(6=9ePCC#bu~=rcSQ)m!ZhSE@`0zRAKv+fLl|%wP}jW; z^0LY6&+-!$9~!leUO?uFD33n{ss#{siQe88bq%bfA*ym-nJWeLC=|toAtdG9YTF<^ zC2!$|supdcE7$fdlXGnGY38?Yy!h!B_TO+s2@KXc?KPwX(J9iVB1=L0=&Oo6B|CV; zD>|8O=(Ax(_KqU>YZjX7l3mW2Q8K@Z{e31F#3a>Lgz5fp?C-uAy^JZo2vboy8qcg8 z0r)WQGlV4*(7F0cE#%vc(a5z5&C{PUQ0+!r;r64pm9sT#U0FMCu^67d5Ma2R7+?tT zVk1)h&%3>f#ta!k&n7C$);<1#D1LVq-xBiv?$9b&cuDWR$}x0lf*=E40g3>oUk9qa zv;RDFZR6mJ^G)23$6UZv5G >ioTFwc~EFXPJ~v3$SKoxIqdYD ztqD)Y{Dc5}0!nE;-2m91x ~>sa{kEZ_lD=hPr}B=cAddDxZqP`#ms$SAlOPmWE65|t?*upR~{xY$U< z_h)^n1*bu2*$D3Jn%OnOI^da=62p1cT_)KDs?O=ws~x@cy+y`3)m1~yG!ur&g`;ME zsEj ocx;M6kX=s@T1#8p_4hNTT~vHauVaGfElCDyo+@a;_GVx@9|Mn7 z8ubGM#6>Byt3`zeLI00XzuHuK- HpO*@Tg7VUBguVecV1b=>AzpB&AsUTMt7O!;u?y6*V9iUg+&lGNO!MNe znHL+Ud>wCN?G0>x #K@rJJ`y6IMC231a^p}{7++oF8(2GDBJfO`WdbO vyF+7=m5#I%0`{{ve}rB*%R|GlJ&i{^HrORT zlHfiQbI%oaRys7S*_FZYn V@W75m43YmWr%+wH?qGZHhg`}(Yu}j#KJq+JF~wU{1~y2+3EH{ zI7M!#B#G!we+%*^A62An$5Fl`pz2!y(g=Id09646C(LuHw9isbq3|?zI$)i*)zL1} zk9HNakY wYg4!LAVUClr@Oy@br1R ze4v}^5q!_^!TKfsSrCj)w!opDRd&j5U}+$ZRGD)jHNF2n8IF;KQB31Qh-evg!q0Px z=JhAI&mvda I5@jVr@|27D*nHy{^yytp#cCEO(h z7=GbkE0Cuobe;|DMZXfG$&mH-aU-WS-SMbiXaZ_l5kNbFMoc5!pkxx(t2UIPfg9~F z1cxoSavZGl%nOBJo9;{WGR`+t#?kV>M1N1y+-M*bDn28|K8&Yushe7GS|Bu?c>xNO zd^ux(a{pFr{7}V4t-6!G z(rUb?s0y{{Xy)ub(bVY_6%*&rC6d9h!bYzV4ropFk=}9@UG%O4{}@ zkVJ8F&w(A)6C6Do0Yi}5fvq9~U~n4rlS z1jAse9VdDLRgbp+3q?3f zCI6I3YsrzWTn|g|snl^*1Unn%Yn`z;z_PHAY~l!mxj{@;f2V#=A~0Wi(z@xQ3eO^m z)jh?)g=MNMz7AcUA~Xi+wZB3WJNKxE|E>YT*2^@eh%4bx&P8H2e6r< 7nl210pjQL4i9o z|H`{Dl`STm1&nvwQr>|mt{aHO4bCBRsTHHc=-&pK7&l`@>e)^V+|^^@{fCGu9|&%m zO^WB52m}yc3Ap{YnOsc0aCsOE`vHT!Iu?Q-I?|>}7sM+-MCAPfjEpb@(XeZvS&{Nj zL@<53107LH=H`R^1fU1_vNC9tu0h%5AWt$Ol&NJuz(ucJZNNub5*H><{`z*zK6?l7 zo|^0Oz->%N)@m|&`V$^r2P^&(_;+tkpjvN85LDZbbMzMIYzPL!VS%v&A(W<4 4xlXE}~uPts>FP_t~xs(8g48+uta0SgZq zTIoiV_@x`j1*xfihdu9^>jR)ZUldHNJpmQ<*xg5|{y0^4RKgsBVNzSaQ8zS>Z*b;j z_SX4H=sd9f+wi?Uhg+Xt@reCqY7w#~g>U-nh;jIg` gxKZ@ab*R6imMRUT#W2ZVsdN-d?0IMODZcX+(@57Kp6av~5KkP3)#+J$_@c=p zJN~{_x7JllzxXGQ6|*F!fQe8i+Ly@`-mRv;XPp0biffe`e898fU;$_SAE-vWwjDHy zT&r}ufT$=u-rfXA)MY43PS@&F7eA@YhMaPQ0+7a1#*SmDbIMuUx`Xx8Ci(r >I?VI{R2VGag`X2$|D_Df^~SJs-QJvxOiy_Dkqm9=Q;>w^VIje zt<@2c=RwD&s9*HvS>HSTD^g}|3W!q1O|inRX)8;3&JLVF-}*8$l-{RJZyK`L!yjuA zG0mUDh0-BCE`nKUdGdQ|pSEh^tar<=JP5GBW6^1LTU(um6CWO7++I_D?y`!64~cmx zQcXbUaM8t4V+NTV4k<5($v4Mr9?yj1qbR6$e|yy&wBJ|jPLAt8*ydu3Pq9vN>+{ho zCAx#^Eg5TINX;se_#C7H^uH#1T){vMxUQWso)VrL88C@#qim$B%(Gbq1|bmJqf#RS ztE{zo)WqkQW?M=`xl8Bo){JqtsyMD%5e}(jGtUvA !JaoDFbSc_3;=y8TTESbA9eEs>+3+?@Z{ShYn^;$D*(|AET;*l z#dAk@Y%ozQIO+PgO0Er2)!5OeLiBAVfhDMpR(OHzF3Dc>qaHY+BJ$NEIh$_ms)mZ> zg_ExfR!W-|!PVW|;x%5>lqOf-xC)_LM8Ae_N&;^4d)NsnAic#BwJ|91kz!3-HM3Nd z%4bN7<6$n4*1(ydp0+G;yte|$6RJ&qL13NVD2sIVLA&TSh*A&TIaSkDHXLE=bGD
oX
) zwJX|4wY74-Jfk0UkkbdGc+b1;Fz2Wr8Vec!t<&&8An *IiK7qIB<)a^|Ri#SRSe zhVkYHd4WoEjXOnO9|cL9koMA*lbwT-4I%+MW~+q8&)Fq4k2`?m;Wuljhzeh|JQ-g; zo_lTT!HWzv_tlGe7c@G5$t-0ZeSdIT>*{mA(dS+GJtiP1b1I)JLP&hxqw&%nhy#UZ z4|8TdQWw!!fvVNhpAZ%1Lb+W1No Z2jF_$J6>5j@CJx!z7{q&2C+MwX8?H*C(PK>+OUkDW=bas=f2Y zfgn!&4D#Qi8s> fVS>@J2KEg_1uz?>O+X!zFQpfKIo&GMPBuy4pA%#HoHr8 zblIdmQcHWcn|)ARKiuv}Fs`$qyBbpZnp8~Z4W}oJKYAgANC#J ${>>aBXvFD<*}O5|(#B`Kk5=fsjrWj?pfcN1;N z{K<}#E 4ViD~BENR+p{BqHT`&_I0s zOwi70m-pa~1m)q%EjFCD4DQ~GIF@y1iSk|b{u(#+`a`J6w}TF{W&aM7?Ya)TzWbE@ z)?Y_i{sE=}R`T&8imZwHxY2rs6IDJ9OIAp}?nJ_m`}}XD%3a3nnu2Z_eJ!L; Tq zBWk7}j1Oh8D+8Bgx5oLV;@lc{@J5t9B~!P K(^n}0oa%c(w0E&J8*Y==lZS^kN{we4Lk7xeM?}) zBF*0{X9!YFUEX72V~ zZqfE826%4=|2%*LaL{Ey<%CrP4rn(e^JZJUod1OsX1mjewR z`V7}u>L-cF<%ccAdVv>j=w13WV2;$6n44x(OYRDyM@#;OK5 M=k(T zG84HB$lC-ER8oKiMuB*}2>MP_C0Si#_EkQF7cK#b`hkRZ-~)=tH0)Mh2nY6~G}6N= z+HJkskAtkuj8Go5m7d!2(16qU6h={@A%v*De@o^N)%|p5wIwKI^L*M0OkO#{w-K`j)b}6$!?Jcl5lVx$Ej6TqF`)f4u zd{C?6*28y;;Me! k=#7<8#S-Emr@Iot_5SdfdVfoFAQTRvxmOC(drKDmX6FwB z^q1@pFUe(uv2-0kxQr3`#8q?(SeAA64I%dsts{