From fef371f6af6f2e613d8cfd84b0e757ce13d359f5 Mon Sep 17 00:00:00 2001 From: linrio Date: Tue, 21 Feb 2017 20:49:54 +0800 Subject: [PATCH 1/7] Replace tf.mul by tf.multiply in Autopilot-TensorFlow/model.py --- model.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/model.py b/model.py index 0bc4576..84984a8 100644 --- a/model.py +++ b/model.py @@ -85,4 +85,4 @@ def conv2d(x, W, stride): W_fc5 = weight_variable([10, 1]) b_fc5 = bias_variable([1]) -y = tf.mul(tf.atan(tf.matmul(h_fc4_drop, W_fc5) + b_fc5), 2) #scale the atan output +y = tf.multiply(tf.atan(tf.matmul(h_fc4_drop, W_fc5) + b_fc5), 2) #scale the atan output From 41fdfe681f0d1b5217a6463f06b1a480a913c89b Mon Sep 17 00:00:00 2001 From: linrio Date: Tue, 21 Feb 2017 21:17:45 +0800 Subject: [PATCH 2/7] Replace tf.initialize_all_variables -> tf.global_variables_initializer --- train.py | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/train.py b/train.py index 4d6a6a2..95e047c 100644 --- a/train.py +++ b/train.py @@ -11,14 +11,16 @@ train_vars = tf.trainable_variables() -loss = tf.reduce_mean(tf.square(tf.sub(model.y_, model.y))) + tf.add_n([tf.nn.l2_loss(v) for v in train_vars]) * L2NormConst +loss = tf.reduce_mean(tf.square(tf.subtract(model.y_, model.y))) + tf.add_n([tf.nn.l2_loss(v) for v in train_vars]) * L2NormConst train_step = tf.train.AdamOptimizer(1e-4).minimize(loss) -sess.run(tf.initialize_all_variables()) +#sess.run(tf.initialize_all_variables()) +sess.run(tf.global_variables_initializer()) # create a summary to monitor cost tensor -tf.scalar_summary("loss", loss) +tf.summary.scalar("loss", loss) # merge all summaries into a single op merged_summary_op = tf.merge_all_summaries() +#merged_summary_op = tf.merge_summary() saver = tf.train.Saver() From b1fe3fd60ef943fd284cd85bd67e1df82d4c51f8 Mon Sep 17 00:00:00 2001 From: linrio Date: Mon, 27 Feb 2017 17:17:20 +0800 Subject: [PATCH 3/7] Replace tf.initialize_all_variables, summary_writer, tf.merge_all_summaries. Noted call("clear") --- train.py | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/train.py b/train.py index 95e047c..a8cac3d 100644 --- a/train.py +++ b/train.py @@ -19,14 +19,15 @@ # create a summary to monitor cost tensor tf.summary.scalar("loss", loss) # merge all summaries into a single op -merged_summary_op = tf.merge_all_summaries() -#merged_summary_op = tf.merge_summary() +#merged_summary_op = tf.merge_all_summaries() +merged_summary_op = tf.summary.merge_all() saver = tf.train.Saver() # op to write logs to Tensorboard logs_path = './logs' -summary_writer = tf.train.SummaryWriter(logs_path, graph=tf.get_default_graph()) +#summary_writer = tf.train.SummaryWriter(logs_path, graph=tf.get_default_graph()) +summary_writer = tf.summary.FileWriter(logs_path, graph=tf.get_default_graph()) epochs = 30 batch_size = 100 From 85372211964875505e2590cb588702f13fd6fd28 Mon Sep 17 00:00:00 2001 From: linrio Date: Tue, 28 Feb 2017 15:15:55 +0800 Subject: [PATCH 4/7] Try to change figures, And noted the call("clear") --- run_dataset.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/run_dataset.py b/run_dataset.py index 1c1a87d..86e01a1 100644 --- a/run_dataset.py +++ b/run_dataset.py @@ -9,6 +9,7 @@ saver.restore(sess, "save/model.ckpt") img = cv2.imread('steering_wheel_image.jpg',0) +#img = cv2.imread('me0.jpg',0) rows,cols = img.shape smoothed_angle = 0 @@ -18,7 +19,7 @@ full_image = scipy.misc.imread("driving_dataset/" + str(i) + ".jpg", mode="RGB") image = scipy.misc.imresize(full_image[-150:], [66, 200]) / 255.0 degrees = model.y.eval(feed_dict={model.x: [image], model.keep_prob: 1.0})[0][0] * 180.0 / scipy.pi - call("clear") + #call("clr") print("Predicted steering angle: " + str(degrees) + " degrees") cv2.imshow("frame", cv2.cvtColor(full_image, cv2.COLOR_RGB2BGR)) #make smooth angle transitions by turning the steering wheel based on the difference of the current angle From a391814f3caf2ddcb36883ea0a8fd940448ae00a Mon Sep 17 00:00:00 2001 From: linrio Date: Tue, 28 Feb 2017 15:21:50 +0800 Subject: [PATCH 5/7] Try to change figures, And noted the call("clear") --- run.py | 2 +- save/model.ckpt.meta | Bin 180575 -> 180439 bytes 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/run.py b/run.py index fa94c3f..537a2ea 100644 --- a/run.py +++ b/run.py @@ -18,7 +18,7 @@ ret, frame = cap.read() image = scipy.misc.imresize(frame, [66, 200]) / 255.0 degrees = model.y.eval(feed_dict={model.x: [image], model.keep_prob: 1.0})[0][0] * 180 / scipy.pi - call("clear") + #call("clear") print("Predicted steering angle: " + str(degrees) + " degrees") cv2.imshow('frame', frame) #make smooth angle transitions by turning the steering wheel based on the difference of the current angle diff --git a/save/model.ckpt.meta b/save/model.ckpt.meta index 8afe34b48055fbc7ceca72bb628f1a2db716e8b3..9d902bd935b65808d0404e8d3bf1f1dca963722f 100644 GIT binary patch literal 180439 zcmeIbdyu8absx5Oc6N5Q_kFPd78g%0mn1k8IWzY$uac<60Hy?m02u%xOR|Kki=B(* zh_f@pxibKkl1)l}&~g}Ct~i$LIF@3IlBLL!rAUz-S8OLr9J@+(;@J5oaV06G@<-xC zsZ{<-QYq(rU%yWGIsLki!J|mlU}wIsAE!_M`aHY)6F>V@^CzDYo8s(qJ3Gw<(Rk-p ztT{{1Tad#fej;r#J~!{OFdak+i*p~l?&!nv~-7MthAt70CizTCVb7Iya! zPmV`WVX5(QYf+pXo!qZ#UlNU%n`d|TkDqOIQ!P%2%3Vo%?qMYwW@x7OZ|FHTzq4AJXq}? z9=tuQiZ<1gwtaG5%8wUq_t+{8i} zYFex5z4eG`dh4RN&^`~-TFt3=MLfKHbTHVtI~W~*53pc&xPScI(Y+DO_S|R%YSzE3 zRusdNqv}chOZDW|!=};J+{)Rl1u@@-R>g*xe;%5vrth6w^RFJ=eXRw*KDagi!sxhy zNc~7+too~ZD*u9-=bk^)N5@CIJHt`)!rt!a z_*nq*$8S9$u2r*q_he^(zkjgbzjt_oCgYYke>m9Lspfy7s=R-%S~t!4SD$<74>iwy z;knPg_`#;4gUN5_kL0Q9}RIsj%9mr z_sfSz2Zx`j$KZ_Ynz$rK)*tPDbvU|tws~D#0-p8XP<5)AdcTbL4;tbjcf>DN@}+rI zT&$9Ff({fLVN6EY^iz z*nLZv&lC37YiSRXWbwrvkOsTQ4>0gtOd;aFQ!IS8{n>-jsOqH>pl->yE)WM|;ibXx zODB6(?LoD4;omo^RzOn264*JpTeVrqzT>08{^;-kmgK;!!!z!SH_!_!q_%`uY%f%j z4+P(qIRDb%o!$E<_p6>*Rd~aShzsI;`&=zEE0y)98)E*YAxK#)Y915UkA@YQyC5TW z_jh*h4oA1dD8aMOT(jk!&gu4-ya-3 zXkOOJ`R4gbH(vyqCg0pV@2Y33ehoPT9F z*c*3|cZGOmcy|{T*xfn5ZM*N>JP+3ACD~Pf ze{df(@%iQrajovB55VY;_9{tm^L*>NI4{eM+6%Q&GXnmo-CvWKD)xVC96EcQ>s!`Rem$0!Q-z~9z zw-We!Lr2CvDlXhV**o4n+=B%tUNgT3@%)rPr5MhBO z5MLM^?GE191E_n@+8!P6>0RRaG--UlEse zFUv#zFrZRqH)wv@Dc(oFM1;(GI{GtK?gz(mLBi%ssA zEfj$`Z+a1NO9`rC{hMk1yEe$Cf^99VC0j1emL6dOXBe4F57~GdD4^DSV{Wdov`ob1 zlj8BM$9$dlG(h8x8Xip>fjh4vZlFxuh?|VBi60hcAyy|vmL7pw%8GyG1Q`DOYsxRG zy`xsu)dY=wMcnjdEl@ZMJznYX+W}n*T~14rzb+o*1~fHY{)-K9i|OFClr|5td2D@t z6L5Jutk3_=1~t$sK5LDhF^X20l^Hri(q~}%W1>m`**N>Mw93S2eUAb%`;OA@g=fE~m40H%dx0qrE8TiP!D+@y zzZah7UVNH+k+|=Q4Hx~#R_V8m(pPE@=}rl^*{c02KKe*4R?F4Cl4V-$LvlfT7JbRW zTrF*hFtSst{Wezn?Fky>)P85GYQKurS3i}?zXLy9T)p3!soIAD%~tJq#!>r<&BbcJ zirH5`EAVrtQ0)Vs!)l+5f>HaLl@Y=1(r2K{sr^n!?bmcNYG2}{ymLqGuQ>wVQ~NIU zMQY!z8js{VYJV*(_}3V$;6T~6(H zLu$XKlTrH;C*_?xYJbBK@By_isUJ)2GZRAuzoYgy!h(N;QTqvBdLy6%(rVv~Ij9e? z+TRH4gN?X8*eIVsqxQSAQu~_@Do#=DZ-!@oQ>*>Nly3&6d>U$hGd#_k@oC;HR{LE~ z?PJ|3;Wk^fUu~6Zj;Z#QEYoVgi`2ekVXl_8L>Sqr)qWSN{q6(}?lPJEUas1o!@lNO zz<@kb*1WOZR6F$MZY_Qt_Rf71epoNRH&b;F1DTq-|9LK>-y28WEA|G|{WE0C2^`7V z60m>s>lffZ-@Jf%-dOVX=FxCDa5${!3H^+s*GybWQ)Xa#!esG#Ar)U!$f$UUjgoHv zSVLSik+szoM~=gmPPt#jWhSH7)8mXg^1sm#O+vOPVX%}W%g{r-puATZ_n0B zK*Fb~j(PFN;uy8Lm1emL#4b&dgkOADLp+gD+Co+=`@ z=RLqMaQEj`XI$zN0j5<30r^xAbMD`BCZBB4L!4aIDm^vhp>29mDr1vz~N;bIbR4r*du}(!t;zE&9ej znDF)Q7LYW&9TF7mlnS3?K;Sn5-s?JBXf>SVfC;V=AAKU<6 z0?G3nW~KavMzC{Z8D%jqNCu2yoYnECVCyA6Y0^>(as&=q1m6Ki^5@I&=!am7vRYPV zPqK3`sND*Xx)ffxruEO*MJtbt%ah|R+-FWZpSM)*z(I0-*iI?iv!!D!GfU* z`mhV6CVU*$at_woRMlYRTj<6fE#=VlrDCqSk9Pi5A9(_Zb z)ea{a(>ggwM~4ve`fobsHQ5o3Y*%he^jgB64eg0e5*@R)N7&jXyP+|~N$Qex7=)N8 z>6$h#!j_PScqTczqmrXPKaD&I7=SPg$4+}2jRs<=|G2g!rFKNfM(2lL_Ij5~xFtv<(u{MT# z@g{E5n2CtC%EdqnNIDtiGtc=L>r?eHD*vJ#@-fzD>SMq_rsiY(70$<4AIHZ~>*lqGcJZ^Ay^)Mu*9Xy$dVD`VXTKdjG8{i z!;rYh@APZfymU`uJf!^#%tgk%NDa`@F2v0Ib;rykM=y{O$DO@cPZ)Ng!xt%_^~$1ap_fz+1gU8v(1Q}r$oHOjkC;zxTIZR}mB zQxut+6Sb|qi*@W>tmhg#s3GKCv^no$ePZtde7Kn;Cy;kRyO_RrLHfw^E)-J(`Zjyw z9r+*fE(nR#yC6mGWAB2#E%h#F3)%uO-UTV*Fw$D{q+Ee_fdG!Z3%^OvyYOFE=1YX0 z0`CIRgS?A&+Pm;c%JB%0chO$vy^Ff%oVJj6(Ozb}i}lI83v_nZi0Qf?>s_cJj3L@M z?_y)B-bL+MguIK5nR*v6klA_{8{>EvioF487q-;e;9ZD9?*jO%WefE#2=$D2p;;I) z^d()!g519nQPhnAp33{LHMq3);o>y$jNZV-z>N?N283s+bzk zx0&9BCkjH|1tF1o7o>>eUC_6s-UV$zTL8wpAVnNTT5Fz^EATGRO2OWR-=ybV_^(~> zg1*hqT_AdpchO0E7k;NX9s%+$IsxyZ?m4F|s@S)<6S8B2BclsQWM}^xchOP<0owH0{E+C3-vAt z^^A9+Sr{?&C0)jXIWybF&6GU={& zLC%jN9-0HBshKW6L0XR~&$}Q;NHK+pS&khdMK_G2+yxvW^}P#uiwyEE)M3)8dKZWq zx|7}%`kI~Q%)Hjh< zx6H0+riFJ`W}T4*>qMI<@?&20e_M*)R&|uP?yl0e)mOagZ#je}N(;Ls5Eu6AUe%`{ z@7T|x$eNxL3dS7nN-Mo<&;b41!dpNP}anSr@TkyT!v(T3O4w2-mY&%WGrdWXOsg-Q0uN;=T zw`we1^%Zf|d@fK2W@}{~3fsVke~=+{7Tf`KXU5|8LUo5DeA4GN+-BXFwlYG361CW1 zzg-1KM1MeBv6R-|d#%6v+Vbhg59CNfy=pr{ye=NMO-oMps|V9!$d8C8BkhAFqVD<+ z97W7vIovb*3BC*dgVg+Ys#`HOwBln}YLl&*&xohCE;~ojy+3tIJx(1 zcLZDB?6*qB>zJJZF2hM}4G3y@{@F%o3iUTK%^CXeIHK(J4)!N83->gHX6xiWK#Jwr zCwU&T7};8#m}~!bLp;s*sJI4n8otFwlfs^RDMFHWhvK6=S;r^vHOS?AM+YbHNn!Y; zJ$&g1KC|0;>UF-j8b#}w`1}5<_;282@_ZYz%e(O9#iN70s?*^tt@>UTo+#CHT7CR?4Y9&E5gHdv`J(<5b}NOBR`%H1W^B)j zk2Y_o#|9q{OXB26e8>*2`bM?X3W_^Zjqz9U{W``E2Sm|IAf4LvQi!KkdMKU<3dba? zd%di*gl}*nnP(|>kEqFr#dvAnzYGV1xQVF0=~{o;6^m9&fnFhD@|LbSA9by6+$fJ@ z4fq+W$6qP;`WGDw8IJ>wg<=ONyD*;(2xztp`{6D>g^uwS4iPy~-m|c-lu3Ab`=Yu= zt+CZOBj6$nb{gx?kIz^C<)=|Gvc*oLH1P_;N@uBdAMz7eH(gDj>|^5b|0TG{gM)E3 za_A<>fi}+`MW&;z6QYgbK_4497GW<9-r2o>a=*yKIlBZOny)`~-Mp}U9uRP53qG#? zlL5h|dT5?kzqBGe!gc^dV@jf*71bF`ZVKMqJ2*J1wzV$S`($5$V{JjG^0T0*Pm{3E zFM{U>qvPg$_1{*M!fKjd7#&w%!>upRd-dq9{4#D}$_0Gyl~pM4mAav`k(V8CC1QD2 zRHTj}EdMYbKDek;b+mpMFEF=pyN<_~l5o}Svlcz3eb#(#23#z}Wz&FE5D53~8!%NS za<1MMk1$k2A2QZZY{0d0;}UQq3fHr7>A06bRx6vyj?4?pYt*lU8&Np6E5pGWTO6g8 zQyQF2&z1@-PUCTkci3f7;Q(B@mw+cSB2+wADS6Zo-*U8a)nf&gWf)!6b!d<^WvwL! zSL|w-f-?zn3<*XL**tc%hKyC*)(4Bq#-lmq!Va?wo3+B$tQ z@)BIff8>OAOzn_=g}kc>vRk*gPJQZ^K54wF4~q{qpZ2^eLyHP=qqsPwOLys_+n|z9Rp7CotuAOo!(z$q(cJ+eqeoAP3m_ zpbxP7K_6i6gFe8u5BdPtKj;J8_@EDP^L;kJ|Dhouu{GG)9qu2GmU9&S$_IXg*u8i^ zsQU6be7_kp4-QPA*9%Ros&o<0apntdiReghNz%zdqA3*4I1StdeP;jiYB|l}rO9tK`0!G^_Lr zPIAY#t@rDp@ShjqgFrmW@R*wHfG5uI{EU;~F`dOSJf@JB{IJifFSmFJgYs=7f89yE z*v4(*CCWmSdoguc7EU4e@`E^!XL@^ic&~XD{)4k%=4G8f3T+}rIXO|?No*YxQ=iG} zpd_3rR&|f^9OgNn)hVAOC(UD84@8!6n#Yvo(mei4Nb~%+PMXIQ2&G1lZ^jK@cZ$ZwM@2+;qJPTt2f7#f@tWR8Nv$@_Tiq5;P9KBk_*+!#ZI@A9JkN$Rvu zg=>3${IdQ+U47c8Rg_kUd}sC??8d8psxN)tv>9diIuDW``uLGaPRZnufAp<|b`|Et z2qIVgBU1i6M@lk)_koMUQek+|Z~g3iOqbD6Eu zz-h@RU)^mjnx@q-P4bLqDNVUwy8LODMZT;?EKZKILeV=}b9}b_*&;sTWN$mFvl!IGO}InbE#i)A)V7gZOx`-zuBSF(%R7 zPizRO<3VIUv3Xt7iT4wmH|#`CA*SUTUZy(}1F)0H@wFZfjy#zL_{dXo1Gp1tGL2;f znoL@Y;f-{w(d}X?>Sh)(lwAV^`^dI>D&M=fY@x|y{)FV(CEkDFDx1q z<+9Y&ic{&&LLx#dBf0w-?u7V8Lp*8~mn8>6SMn;1FtK>;+KQ5^V=(4z@f1hME5p0H zhero@2YXFne{Y3|9;0KpIe~5MzE<97V@nbdt;8V4pzjTQz@`SN!Y{Vy%)N5sS#@t> zm(1_O+I15i;B1Khs3B0+1$D&gsE~n&mNRNXns~^y^xsWt$1w!rM8qHD+|$een@1EK!rbI#mZYut9@Lt5LL`MkgoeYp{5J-^o6qA|b_y zY@R3$V#CxMgffv%bZRv!}|X@1x{V1=kM z5R7DyP*mVQaiA4e@shpRCBG50gwNsA=)8$gof*^;Uu_P z1w-zbh5T{xvF1m-h0F~Z?33(}ZxTe}RtNfRAQI<1GL|+F1RAHh$Zsx7 z$RwmRr3Vge-?B5Nzg%74(9GDl?w1FMq5EMHuDvd<2JTC1h#$u%9z#7>majA`(RV`R zCz}0@YGu9u*A7&f?pcc_WDjTXu!YWdGTmuYWTIOV;0qpT1u?xCj|v^acNaovnbOZp z1VYSsUld&F7pDg-T^Ub{7Xz|eNU$&iV`pn(L;e>V35+Tez}lekaa4wV22?x)KZDUQ z@$q(ngRqq9TNvC$+$u&w&W5<(P0>@w9_7?$5Z>xWWfVL4Q*b_hwSh0$V^C)-KnsBQ zXzF2SN&@#nzzh&T3Iy3$47t8hpbQ;+Y@4a22I<^m7cK@y&;QjBz36;}WDK%=;=)ps z^eJTjFeLfoU0OF5!6(HhnjiNp0;UDkQ4Zw)?}k_(Yt)Vbgf4XqlLMQNOGggZ>-O*N z4MwBpviM~46WJpN10(}^|F|Kp*|Ar)5DZG*_QF_0Hc^a)dY&4>22rl5mT44Ovc#8o zX$n_OF-FnCE5p5${+M5X`zo(s+@7ov7bU zcACATIx22%GD;4aw}{L*YUFqpQRW_a6u1~9SZ~e&=+#`_1*l(EdYh4`d4tt#uoq`e zbuhqN@fpGx_QK@R(YAEtRahN^nqN+V-nb-VuERXi+c|0s7AR}JnHfY@YkcM^hlRCS zO;hahoT1HXI?lCOO@)ZfYRgn>9z^%lY*y2iqOjkK; zAC7RLXsa~oq_J21{ylIArn#tp<4p$BZ-`5+@pTKyKr3UlR*pJCrZdnTVi$%pT66Xo z0Leh(J}MJb?ko(qm34)(U^39EBUU7a%uO%ZhiUbbefZs^=HX#J)V_@1~g7dXF864APOn}|;F)5}Mz23RajLA}y^ zwCd0Z8_UxGMC)5Tky~7)0raq0H5y)V$iOA}Xw{@IMg#e1cN8Qa?Y?I7(N2H#(mfR0 z;m58RNYb=UyV>U<5mQyeW2CcaKH4FM4${$s2)L9Q2;umNcc*PM(0JyKYdVrDLWp7W z(dtNw491vDE($B6{(^cA?Xy>386(NuGj4vjO6F$gqtQtXHXrSb0j7lHqucf8%F71j z(mO^z+B?y~<)anhfhEi2qn(j*`Dmv=C?D-~OF@lRE`qcQ*Et<<$yulIY*cft=PqCb z4>lj|P(+98tYPHkaU{ViX7bTa2WZGy`DllsV6B9MoF1V50gb`7!!cNUbjZ(0J7S1q zPfkYKikZydtEGp}NY_i23BH7A<`pIY7m# z01p#?MJ3qTn%JV}Gt#JAV%f*X0mJ3uuc$#T{+hvPJ|m6V1rEYeax>EPB4#qu2_)qB z_k2bg(Su@p@wHPE&PDf7W9;Nl!TsPf(x_v`4T+B?7~MmS))1IpbPu&0FmObB%}Dz_StH2HPt9Ue9_pNxt3@V|iPA<)Ah*n*IMuW=9NTYQS0^%6S zIX)weNHf+DEBy?gA{lAa7(00rTSR-;~WrBeK1W z^!ga?FQ1V{edJ}NQH5z{q*1e)j(A3zsW82aG-}+qBuqv+XC1N{)1b$UHAju{8EHf- zvRdP?t{fI7BaND3m*)&^R>YB!jC=RpSG$U=Osg;0L0bWMh4$99+>o-%e%4kMfHy_SOn-R!;BKT6&DqE&rv;3TbdZig@ zLl04_0f=%LX+3OKjfPhoGH^*oS~cm5(LhGp9Rpv1wt8Vr&~ImXyqbEt8ksu0hgY28qY>G*Lv;(M(|)W(hfy*xXv0zULHph zpOJPtKts;TNIMLLr5p}&dVpdw(%oBW)E^X7JV0!)K)HCCda~ zO-6ckRvBr(=gJbU&2F0!U7cY@8gY1FN3R_}8R-NPa{PNfBaP@mvAy`(sR`$zd#EvX@~7Z_@EK{; zu`w?#0OF$wM)y#oH3UEsOzFG{YB^x)a2aV-OAV5Z?$Khwj5I1L>7X(O**O*Ho<7cE%g=uD_QL~zkct)D3 zFuja4YTURaOh!6q9kLqJpvR0gM~(3rX+$fsTH~;;92O=cjhbSY=L~ID#F3GVd)p<- z+N`ER#AdZ+*id?g2!o{>iVhM=M{ z(&OkBl95)l)n=8Bkm-!{>UgFo$w=cqDiieiX=J2#n2faQh!u$;bJI)rVOsr+G=4X! zc}X+Uy7f>-TD{jO@-x!vH9Pi+tu>mFHq_Kgz^VW*BW(xeXQcI;saRz+BdwbcXQa&t z_>8oA&GK^!>Xl}s4LwAy1|Z61r1h{_H5$$@A_JFXq*ar?J_%%`-BFN?wELRPNIU&e z6@m1mmyvecCK+j`T@=enXQbVR$Iyo~Bkd4F2kGcRl)kGn(k?a38EL0&G|+TL+HX3N zkw%F5Pn}yqRQN@G*iimua=Bhc+M$$k0cWJ;=Lcyzm(55&OYYcxMBLbFHZLyzEB(Jl z^X%d`FH|w0*P3%H4e=j3S1@sdfH~1A>5D40z$K&;W1=Hq6VgwU5nL7*w=UE~!-q)` z_qmL;Vt!!BG8t)Swz!P6QvjCj|IXdn?Q~106RlhXX^z!gM%rmS8`WIvOJl&}e|2s` zc3TaZY0e@>Zk}6P|5Y;Ptdz7jWd$GNWOCAL;V7&+cUXC<-iHYiO94!%jGVNEdS>|5 z(j$(U3+<{k%LHG|k_HEZn7w5uq`BL|y z#*|^FYhsJ$Z>E?!s={AZ!7&z%p)g?4*!N6)at#0RM>y-zbmAqAd*gVhKfzr(UhS@x zCXvoxqMUJzE#qa3;WMp_iXb$gd~r_kak9mKEe>#y@p2F2SnDl^=&ZZ6VHq;Um*E$( zHDhz-DJ-pWO*8BwoSCI*x-|xYU5LrSGS@6w2-hMT1oCt&O+%+|gQ>taXK9)`+PLE^ zO}`LC%l=>1(liA_wpZNJG}SdRoTX_B`J>FVG);Zg$vBdUw>(YDq0y%-Pt$+_8f$r) zVuS;EmZzz2y2-IT|B@qrs+?V4ot4n}JCp@xgplbq#2u9b9!pjHi2r3=RpEe}#Oo*-+!zTV4*>4$98~>o?P}v1k%l zw;xUdn<4N?VD*}1=oB>Q&p1+|O70nYYL>!EF`tMDV3bP&>tVA=;Kxa3>4G@Fb_2`;LH6ag!>*wk&@)=~FKY><~(sfV03W%SXe( z4$YxXk_G-c$^!p}vmogZU_x{b*euMl(NNmi{O>blm0l5-wgjxwugfH`&0O!}FBxHy zGuA3DE`N8{Dt!%W^?z=NPuZ|3E>gBwaZS}XzN-?y_D7Oft+=ZEJ=bi-SOA%XLL0cv z&^SZO71ve2uR1$QaRD;c__hsPRkyuVfS&(?hDbNUAySoBt2|CG*PB?xI6j&sO%hYA zKhkUo5^rFeQyc5G_;Kyp+8FN^*tPR^t^GYmJ~*AIKdizoTqM}gbQ-Ry_nh8kA|9R; zk8eHZZg2q`8SLaH{M@l4U`|+VhUa@l29K)wE?x^Zxt|Zm%vrZ&iEnx{0*;nCf2ECN zabY-p?sB6vSIh^TRVOlZdE4u@~o4#+QTMzkG>b-`I?^~(Y?ARyv zt-j@$PKXyos(8MY9hC1|={JmTH9owli>12>yI87(;j8y8BK4Z(>l9opy3f|oQ!i~; zFUFGdTr51a1XSISWH`l!1TpcjRCm7q4|rJaC>*Pe!UwE2*udr)s!o5@><)WaUf2GG zNKU)R??~^nbsL^Q3e)|z4pDTlAHL#9ygkG1MgFxtxclY9ql3d2_d!oKA7UQ1;&isIeqnI5J9uMn*x#uA zx>gxNmmU$Np*7!t|1EtV zQSKXJZL90rPR>r@;2%p(asCh{a(Dk;^L+E%7oPjebjvqjBb8hAA(nqx7eqy_&6!-kCYiG}#IaB@IQ9t5a za{|fS*i?RIckg(3)V$%&rF^Q4qfRR|jMJILkCIuuA(~s)z}P*je(uzUZ@~<~-6zk6 zrYInlamppe*m{k$KKXj6d5+=Y&&**5)NMZGf+DGnc2~J|-OeOw_zO*LX@BHPpEg^R zx}x1&@wOA9Vqm;0+L%8`5AzEFPhruE}Izui$@cMtZDj}G?wJHx}_ z{?2g!?gQ+%=a@B1pE8`dEp9cR@i;-q5s+1IyfX0L)CO*CFe3jA`Jmi{Q1Z3VngDeF zoMH58kkRVHU|vc-k66s>Qat4G-BJh963^OITz4!8?Wm4vLl8$5_mQLTvaTlP997j3 z>r`Yqs+d;a`p564@2Kk5LyoF?uh)m~sH)fO*k|CV8ft2H$~se?qiP4`JF5E4_>L;0 zDyXBXy9qn0W+Z$rP`zgPIul3L(35gh@z4@bora^Ty7LW#fTQY;f;g(~Yt~V9`lB)) znLJ)9&~2OeZBDyLnWr69x8Vtt3w2Z-qUc~9a|S8S%A0hlVlskG+i1XPN7Zk7d`DHa ze>Nn7&8gXT`*wct_PClQP7S?9@?Z=~R&!#(8%-Lp;fHR3m+5II0rP zQAbsObD27->Kbb%!R(BPW1r18hV_PxqUJeFmK@GeRR?plAs%&96XYvLwLJmoI7d}~ z&XF=&oz3PQ)daC+j;f1?Jic4%sH3X5?pP4oQ61BUAdV{TBS+t5IjSp6MpbphIu)6Y zDyG%9{_(r%JF2?%kfW;J>-FI~s_Hd6_8B;;hMKseY6s;zs`}0Njw+)nsH3X82|KE0 zB)p@lUbB3iiKA-hNja)`XbGt1I;u$Pl8mbAF4IwUM?oA__ciONI{i@ zl56o&j;iYA`FcapSdJ>D6FI8#3qHP!qY6*aQJtH6Pi0gwH*yqrmZN$O9MtOPHvCl1 zDxXnhr!vD)U1c0qcNnKLi(yB#Qd`x}?b^$kG^6TZ&@S$lSov`SF(j%tF~JV%wsLmuBPb<|N+Tz4!8?Wm4vLl8$5_mQLTvK-ahjH9YLVx5Xi zM-|iRTmSgo^c_{*ddN{#@Adld9aZ(39s3L%RYOhOQMH5e9aa5id`Fd071UAH-Gm)g zGZNlWRj*mT&csnQ^rReBJhTK@y32G_-BA!n)qTx6s!o4YMIn>Nb5z~7 ziKFVYiw%*ZTSnjw<}YbyG1na@2N_n|f2Zs^YJ48-LlUjJl~c zm>4J39mMI(VcJQ(S$jB>I;joJ(<-u@ny$uSdbciJj-Fn-%@Pb&(U#NuIWwjTh1ws zYTsMk4eLaN9Md2ld`}9GV6wZc;e_WSRcpJ${o~QHA=})v7+no5bS}kIWk)=*JNk1C zb{5Gw)WBd`LDr6Uf}L5Nzue$)Y~9c}FPE5UV0k$O7xbqcF=wVuA3jHCPg%ZILyAH& z*ZD-+^q%-I!+?P6`S|NhS$$gm$;eA^JAc1{PY{~1hm3k;!gwbWDiW4;r?p59Y+jEx>R`^7o8{XpGR-WqrU@9xp|vv0->R)0UF-L~+I9jJLg=rVFI&X5bGxntwatin<@x)fkJ>*O`pnigFIliRTK6!qPa;(7X z5^&2uISQ-qGxYV&g4qSkhxyZrl$=EdCB8GL&{1MVqM zcdB067I0J4nWgzR-+c4Cs|%GbqTZWAxB7*4Rew|^m71inC^^@~MW}W(-0ANR?n7nh zD@5T{ap5i;LLThy!#xC0P{19jO+?P}bEDDjz5V8b{I`WkZH2i8HyAGT@9qsoqb9?y z8{!J^b{B4K7|Q#e>RTj2B*JK_TPJ|yU#{+bz!y%4d*T`AHptG>z6Eby(Xc{<(sCRLSk`Vb(aqg?bql1yY z4=h(`p({oj?iC}AW_7=Y-Yy|^$vl{WXT+~HgtfJw+Zo(MHB{oiFE;!IC})kl**q?TrBe6D7PsILhZ{y?&a zDWBvxrMZwWsCrGKs;%WyEHdFB=`n4%T-&|^hD&uB{LLjPhajzB=&okLmqb^!BwE;# z)trW(G)BTh;(GI{V^cxsgpofnnu*N$C4>`2To5Pfy~as27^S8kh=D!Jn#66Qa^5=Ij3 zBgu+K`Cj9w8=s^05|5)?Qe)BvzFcLLQD0FV6gTpHir8GTjOa1o>YWC-Actuei5!t9 zlHQZ>f^XnjQKiZD0Y(R=A=XRH+Uy|qC+NZe@#TSxQl28X7-q)mS<^5Ji@w`#xQ4NM zZgW;ohsr8Xzj+Nuqp^jAQjkqJ1RU zg)84{9Bstss2h+lxunK0Y%uh?^DF)l10I_c^cqytR6WcPb9r3;pJF8nrt6n zR#fQ{8e*HNS>r`j?p($o=2$(NuCUzFB~k?El4fA`{bEr?5LYzL!m@8AY4)seW>1d_ zD^J0B4Mzo3j}uTanu$>Q>)7Iy#QB)9LP@@F87{?VpcjxzG5TUK!FG?LG$@GV`xJdK zN*GjRe6qxwJjNK-sBjD)Nvt< zv(3a4-5w>p9OFk0$rDTONr3$=EUq-!KE$lJ(j^SY65;7tg3PggG+|-crAtg5Xx92M zf$OmRyOXqj?r_%6I+a(Rmh&2p%BXctM#X3*a>=oNBym1ytXz`s4P+9L==FeHiqRL7 zMcDdLlm=>1dSr{Wy?#ZdGG-Lg2P-zlSPE3bU$+E#o zmfUd>DdSi_l4u`GR?5it21$w7@d1C232{6a{(PaA&v*JpZFd$2Wsb>i?$NJHPg=Lp6F?FC>J!b;g)6jFy zMxRY8uO`rPo1Bb_(M;r$WBo|te9&0AB;OmzBqGwA0l5^TFD8qy^`j^aiX!&HZ%VmoV5!gp#L?4Q%~rTEY@UmzWAZ20HfB zHWB0WN2DE;JgqkgKC*oSHVFzi0rd3?@Sks9Q2rAv(rb3#)e03Ma6UpFcDS^KYdgI> zWp)h0*9V)|yd8rpoFqw)gUA!uVEU*}st+477LA(r%2J9-K4h3CG$vU7sCbx=>`4|v za+1(ANyfmj2r|*-bZuvDlL-11IGW;*(GxfC9Sr?;Lp(-_^-;u($KYr+IX$z$(N8ki zr(1Uzx|7tV;b6e@MI(+(DEe`7#Oi`LzjaPZ7zal!Es3sgUj<2|ib%H$zJ7>S0kdKG znifKQ+wqmnZdr~JPDBr=EF^j)fj(%+2n=M}iAh)uSTj)?V^ZeEorkrW^2cd3_qo%%EQ|afmA`oq-6O;N3zJxn$AI* z8(Ol&`p}0aIqQbqx||#YkuZQABw-|>K5~$Rkp&EHx{3J+?ORUL8OIK?Z4|{}DI*Ic z=}c0@V8?`xla(E5lfn*|#%Qfd`aOyBUO^88mXPGpr26<_Mq?1vOU?{0d6F!TAqYZ% z1oTnyqeqq`Hc6I&k%`Q-O@uk@gL~44@xgbLUj-Qmv|Qz0NJsE^F1Xin+@dMmj=Zx( z#0_jbMVy!9`EVih8?dY;_+P#yd8hIbgXhWL!S;+IHY{mmfh38sS!U2-0>rU;j(mxr z0}NiY7$w1;XnA+>0oPn3fuafY5yFhYU}QZx0lYwou{Va1AE$thiV{7hB$+XS3{HO7 z7&0cl`xG%`E(x)Gshqy#xw<4!TK%@$w21yl3rjHpURb&B!n2p3#gtj54$c&=~*)WRWuw;=1l4Pa` zVo+n^zp1*8gh`+Vj9;`uCGnn=d2iqbwyq;-qY3qq!;HmXXEQk|ytGNNJBFRFGiZ;B z96hikttqMufQ<3dF#+PRxbj2}qn_HV@glb~I^xDtPF~A#QB%07xScXyBzZnqkeHDL zG*mjNKydlK;@SnwGhP(2VG$z>BoNYzq?g+EZZC@t6a1Y9I$YyL66}eUcNZV7@uCUz z5rV{tE@Ci}3i3`HBaZQ+sqvFc48haEi7{R}CaxQnKy5Hygd2om)Q~L28832!p(9N^ zCB*a)mniIJ;?xKd#)~A=#|)AxvVcKMD#jby;+Y~drhtANyG4rNuw;=15{RihJO9!& zZMMpJF}la1#zcBkbyLO*MvZH{Na8&y^WMOXYrJSeedM6UtBV-yq@upFz>aIYXp$l# zM;DnMfUJ5l!QZfY@ zzV%b&M_v@MVG$z>BoGqY87w&C#e{dKfezPrkpz2U<=w@HYrJRzeS{!!qKg=eq(ZsV z#)xCQXlf#oL>HM3POKU-@!PN(5@5VIA6Q@`FR~P8yvY55jx_O<5Yt0kqOf~`QzJ+i zFOp0jGf1k)0tPXucy4HiW{S*g<3$l1mMpSB0x?wpDP+9Jd0~tf6W2}EO&Kp3HLmd@ ziT9+;djmJF@uCU!k%Od-E@H5giu29_JFfAfNs5RZU1WLyvc`)E_=eS!Cvq6$rNJ66 zaxBoGqY*xTTY z7Zcc>20C2hMH1|Zm3J2(uJNJ?^bvx@i7sL=k_zNb8zYYKqN#~U5?y3EIQgPz*0=8N z4F^a2aE*5V2rl2&mqUcEHg*&dy}ta>-}$E-;&VdO4cFIjPuO66A3AQ(M2W_vu)aO} zUl*5Z3WtZI-MxeT32A)$_dd}UzceSFs@ps{tS>Rw8$FkwJ3QQbP`znhFu%4I^=tHf zl&XyVEN8tL8ooh8E;E-;@ZHrdW*%E;3efNEmNW1cy|jNicgzyw>x`98-q;*<2q5udb+e%gFW+$5EMsC+DJfjbfB*(Tzd^gR&I zv@>$rJX@LMbYqN9zdk2E#M`BCGLd7{MQz0QS65mn@*oc~wveYOpUm8vzh=L*_1wpdt^GccYh*zg%)BC(iB@(M-w7(MdW)Zo^c|2?djCsVb9_E)a z=Mle7$)5N5l}gUX?0IGnVHUOm20h}{8s?QU=@G9^$)@*tmEQ9b#+KYBG#<7B#ysNJ zI_8%$=Mle7$)5N5mD*nxv*(#D9$DB581#r&8<8?-_B(g(Akdz7)L5nj~1mUrDE5JJBR|U%; zPa;?bGdR>2=5VMCW^t$t=5eSDW^$+u=5nYEW^zO$Qmbj6 zRHo!;w0mzKKLgW-JOfjPJOk5(JOi$gXJDF;XMjEO3tyy0uPP{6h18@`qc23*TW z1E$c01Fq%c0oQT?fou7Qz_naR;95Q=a4i=UxR#F!T+4+8uI1wb*K&b@Yx&5)wOnZ6 zS{^pU%i_Y`!DzI6Jh(S1*jIRd$=OVKzIkSQzG_FjDC&QkmtVa**c%+ZdUF5%;OIfi zcG6lH?Cd}Waw+6p83*r0(R^umbZ@v^|5vrtyoCR1)tyy)^ML>Ub+is>?wJ)nx zS(T=n4!2R9ZDku}Hl=vjMsYUz1iC;~R&f>8396!H0{EV9T2+u;n*Vc{KsHyy5>vWW8{C-0`fyGLFopgV&ztbP>?cN_&%%#tYh5Bx|QFB||X@9yg(f`3hy9fKnM+bZTo#Ekde`mOV_d#>< zMfmr4_xOP$s4l&ZL>ar+uYO-!o+0~GA2vBJ_Qd0L@mGeUc5Gw&jQHt>xZ-xzykN%Y@H004R*GCWg{i@CPMmEw8cR3H zuA2ohzXiU6fOE%E3&}`{i8&jiyX8?lPS82L*;*eGslNPplWrnL2P8-0NtbnC*O$2) z-W=W1Cc$Idk1B(p;dvP1N5zLor?UdbUw|7M{mw%0h_j-VCb|S7a76QRO_+oTN=&%^ zSc{PVZeitwV5QVG^{{eVW99Mf#|&0{_me?Od-)X6(#}PT%M5}RN^}WY;F~KBTG~dW z`1~SxX}?=|IV5=LOeR~LPoQXxW0n0X1C`EcLZy=n6_*bLDwOCFsQgtADjfqA#43W4 z#L=G6r!m4|sJPytvZOm1HsZ2GMXMNqbWal?-CTgU%pd@vM3(^Mmpp)U4M2=6QT!q( zNgR}$HcH+m5~Md7Nv;G}n&IO*l$#AOG;2_?D&C%^3Bq-StK zIYy9@IEFfHqbolJQ`WvVNLKSi~-EXX#!>=7ceeA2w*7D zC4li=o(%&ShGhgYsnd(Ifeckco0CB%rG_}4XY(|%vYCq&mk|Ujl;{$ye9Kcqn+7XL z4MCd3iv*<(1&6GZvV*Tk1HCPt@<>=+nG7H)6(mhs@nvy~c08*n%3o}V>!i03P7(}h zWzb!M6!?Oq487{G+lqk-(nFGKEjo(C8J(#E<^cuFgaO)=5;8sz1DVyCNfr(=tJ#oo zSwbO0=`MlHulbO%d&rR{(tM+!NgacmI%tk4Xx!kW-lY_d-guGPlp1Pt0)|FBi~9{^ zd^ofO&s^1-|I!3K$!zMY^a>VUjvoI+JflG78BJP8LsDN+HROKOA0Y z*t59v0=xu+wFECNLnvM--6eQ|501KcvGH1@kR;bAXi~?wX95~VDY*g5;(1FcCB0jW zgAEOa7I$9&n_vi+z{X_>g$<><1UA3v!^TE&ky6rpqrgeskuVeBFp9~IU>46@N-=df z#L%#4alZwK2?lcsVq9KO#8A3R5CeM>TtQ>wxkxc}C{$9{k4*b3ql`{+W0=LWmC{La zb14TE8XYa}yZ|b}m@a{e%Mc0`N_PoVhz(=Ix=1HUu2HvVzu^lP8{S3gNb`+iCKchGHf9)2-zMY-ks0qAo>ADyTb)FViyG$PHx{&sa(u z$)gJ#TxgKAxbp(I1Vg(7E-phTTqxZoaDmK`3l|&RMcPPmjbbJhi zmeNFP99U?Kw7A~_uw=(}+b%CCSSZ~kVDbHtTzvniZ3DYV8%eHF%%q~bv%n0ak=%f0@wBBh zl0L4_p@zmvi@PsCO?Hg8?XrZThSFVv8sZ<>7%$RDnr{?0sVMI(aKmUNH>_DaaVf2| z&H;voN{jm~08Dm>x9#$R0*2CE0vO^S*$^+%O6wFUso3tczk|(aBsZQ}JX@beAB8_(wLzi?osE8^ug2$~$e$P)*dCFv6SCL>mlPpwCkb z?RK(5yB;qHSQxrXz~cKyKo}FL+aM_Eq++_W_(nR_Mx6;`x+!fWua4s2LIb2Tlr5d? zz^=y-3KvRu30!>t2nf?~LE1=ijbbJh-JJzys7C5c7~xH6Bz@f&hZ-6yoh53rW4s&kw%hSqj*V0d8dsRMjN>S&EhFbX(N4^C5IRqD=qH6 z05RDy-j2%>iWo|F31WQzsAFTiNE>OsQOu;Gywk?aSI7~hjvLM_p0vc}Kiml<=<+n( zqwL78#|nxSN_PoX{1YV|8`-rt0MP?Toi+A`L47%NKXf7>eGT1BxQ6a_^cuRiC|ulN zW-(k6_W=b@A$4eww7BmA`H~&n1-kIPd=xX3?h?%WwzpfVV}rZ)QlP*gq|W-g2b^~( zaNN*l@#H102+}8NIMqahrp3J%Kqouc+i^KUp+o5|fzI#v(6PZ@dry#N8`Vr3?;dy< zCFMpri>EK4q`1>a9U3?-?zR9m*#TdmD=u&--6g2`1s^pw;A@o>J&e@ZjKih;oIt5! z>P{HvO(>?|Q6%X16pfi~cC6Rq2azre-6c4IOURsUyg-=ts;y!QoJ8uboGw_XGU`qk z>P;vkeV&Fv4p_h0bBz$2^|Yadr7y!OIj)PlDck4v)FJ* zD5Ky>Bscb4E`l$0CmES|oElH$%J zb!qstxZ48MWQTo$uBey9&|QKW-%IM+u&-58^hi=Sar zI!l~nhkSvqI8G?tB{(5ok`4J<#S}P?)J?>FrwtZH8M(2|;t5MABYmodQ${puTHJeq zSjmp|c3qB8Wkl&NfeZ1HY_!)ZBh5Cdj1uwQX#<8)KyE~{c*+tAh&zhZr9sl-ZVQl- z9oz-F;(~?JU4j(iCE4JvRY3G4Qa2IR4IK^$dr8%&jH;g%__BBXQVuGGe z(ZTLzM|(Yv5XHpMT>>57O9H~Em!#Q76jLt|@0}%hsFLbU82e2qDehzvba|Sn$qxE@ zte~i&beEvU_mX-x=xdb}J($!>M0?B643sLS-h|QKgklOFOM-q+6DQdrUymOYCzS3I zocLZ+&xU-hVhWr}>Lud7(*_Hpj3$irCX|srTf-?M8a17v9n;H>_V!$kP`FUKOW@*r zNkAA?Mw)F@871Pq(*_KqfZT{?@suSL5O*M{M}wrr-R4`oz3kvF&=s|K8M;f5;(JLz zm_~|KK=eFPFA>!Z9T7--Nq5HZl6r0^vv}ST$|!g$3Hm)vWt1J-_4q-h3#GdRGrpJ9 zv!Pw9i~@&}dWrb%EP=x)CO5WO44i~w(noAK#YCf~#l07Zo9t+B&*cb(4yC&UI>bw| z(Ow(A(`=)PDG~3TC3qMme0|?ao+_v$qxAfU2&XHx=V0Eyd)d)wTdZl zHmR40`%W7yj52a#o5d5BP)7QM4X2D~)U>$w0=Q&HdwVWNs4}8-m%xR1NjBPRm62u} zRYr+;@3a9!PspxK7~|zn$i6W=9<25c58fUgF;Ia%PtoLE%Z~1PydY3v=q`cE&v|=! zfiUeRT|^8cAX!@(=M(mih%5brljFma<9^NTQFC6*ZJmkcju?1M7{v|4qaB6^4TsK9 zlB{Kiao1d4P^{hN;^KK9iP&UPifbuwChva^(pQ8ly-eeyFR5|pVF>RY1gN;>r>kE zDed``_IyfvKBYaM(w?fI0h`IN4$-kMu{xb=d#REve@5B5jLTPw}S z>c8$D>>nQ;?Dcnshr|7y;r`tRTPy0@v`DZ#bFO#h&J&;6n7j2a7sW%zM}yt{!5e$S z{#%2i-RhT7^Pep?|EopuDPi0<=)sui%Ssg42S>xf&en?Pic989?<&-=RvLW5ax~h# zx8K5#m|AV8798#KYqgh|S{}2w5^|)GVPAy0? z`?c1%TI)_N$Orhf*11|6PAv%5__a2;TANNSu&Vu9o4VGzxNK*61*)NI0^mF2vYzuy zO_@`%!Urm30OCC3Dpn9dg$zcVXI#Y!C8&^riSvxBSOEnUGDvZraTP19ph5;L&NHrJ z1s7Dv;Kg~yRjd$$3K_^a&$x;eXiy=88s`~TvBC{1WPsy5lNE2>5R0|2=^q?67sY~@ ze{N@R|JLt5BQ99U^V`offAg7dOCH5)EK$ELc^m=qZOK!q>{X+r9Oism^3=@1ItzsX zDv^c$G&&1Ev$C#wsvJaJQT^#u)X!AK?-JHLs>B>ry`k0Sa`ix0_MWQh&kJKI)usED zzI?=Kpl@_0c}^Rt3QHW!_XtQYC81D zN4gnHk9y9~Bj0%R=!d!?OOJWO&?9&2IP}Ozx*1E4dd|=z-+1)shq@t4k9ot;Ba^fa zJ@S!m#?qsnGxW$e9zFV@ZphMO-Z1pYIK4xUe59MP^r+_yJ@So5kAA2dvh-%eZVORmUU5`OA?i{kpXrtmRq6#tl@`V>Rr;xJ3sGfWaa2iB>QW`2>6Q>x>IFxY z7RfGE`l)UUQDt6nR7rvAQYD}1mJn6y1xJ+@%q~^>scs8VWnOVqNwMluC7-%eZVORmUU5`O;p$Q)pXrtmRq6#tl@`)2Rr;xJ3sGfWaa2hW>ry43>6Q>x t>IFxY7S%3Q`l)UUQDt7q)^0s2E{sm@--ie$gfE4F@WS4~XtcHR{{yr>SWW-{ literal 180575 zcmeIbdvIpSbssh#1~Y@{nc127W_B0*E%(9MA-M!i0{9+yS&td)iqtaPCB<2hkzz0O zE%5CSUJL-@vE=AsQYy!^9on%YJF%TORxHW3WLpvyJGSH4dAKTNRVfeKf21mL<>6FP zm6uXUDt{!dlydIv*E!wi^zD0b0cu$!3p>EQ{WyL4*XP;YSN-45b^p)j)T%mve`~9I zQFXq0r}JjD42mk&!{ClUT;NkSqXQ6ZFIp0=S-RM8jnYw&_`sRg; zGuhk^l{hi16x5kgUSJe6U#s|<8yzO3AouXCq>wD(c8|up2 zlcVwC#{S+{CPmS%dD8b!E~%-V@|98-%ECo4^LxMe{i?b&*+1Og+1oAtx~!%j9*no( z*B%hCcYFlDL9Z19xbw8Sa(p=1*xB2BcYF6?clzzUy`A3F%jeWr)y4aVhuaT#i}4&x z-qFn!1iUxiIi3{#z#q^LFmc1ZzXRhnyoYIc0*Y>LjgKZ9hhG}+Ph9IAsoTz<25x== zrs!zAYp1uE)?#|^Jms2RyP_`lFTu1HbE=lrlj{e22L|qx%OB521mn z!-d)N<-d!w=b@pg1NgiA7yec&YWfwZQ_RsH7~rfw|jWhyRI&37Tme8RRHeJb;Fp#%F@P+%IdF|CZ zA6Hjkw#FOp>>WHBAK7xfi{0rre(;O0tUaNw>fhkMul(Q_)&Jg6xAj=o$D8l&AMEXa zvK#{$*$s77k8I;``^P7TFdaA5Rp8mi+on!|r1#5+f2*Tz(GkB^2$Ak}b)}q2H%2_4 z@8;QA&MIRxH|vZuH%qvS`t>@qb`1?|CznRLOOK{ z8BH5bs~feaF1|iKdi{8(s9mtG`1kFi6;KAS0Jn}ei#7}KdUP<}J>1^|fiQMb;2eGN zHhS@-pGl==`WFk~3bJ)gU3z`|)$K>ek1X?we+dR|`4rT&FdEEigFM@_#z0XdH4 z+>`3&!K9#a8w8Yt1LeV!>himj$^J$$!-&EP)~u+juNMG%aQx`e_~3E(npN<#mo&aE zfqpOE%w8h+>Zrat|N5S6P2BS1n^710)8{XDrqu6-I(imZ3q)QQ1!Dj*Z%jZ8YxAWN zG8fhK8+)JKSNGMG&+UviCtupz*_s^0s)uSCP#hPu*46*?rq<3CQ}Q`L$r(+_PpNC4 zAMbAMJ^JC@?Lws#-IgR3fMqo2^xBF0Tihx;t zFbn<=uz9F1K=%(Ppx-YX9*qxZ)WPEgdFe$9b9++}t0Qh_30_4S$JF}j?YwAiL0CfKH^o5HzZ-JDY zDViwE77&n^3k$9=Uy52`v+&xg%!)==)uqo*^xT6;GMGPd z+B=v$*a2A$c4?u$CmZ|YBd|_(XD=1HPB*y$(tQFCZmH{Kvl}qi8;3=$*-IdgY{yeu zM|YHh{~Al`C3Srt?8V6e2!g^cJTOy!W%jr2|2k?@sR!ftG!2KKDrO2IOn*QUBH$1x z0I5<^aOg=W9)n3-XqZ0CK)HxjX)6_G+D8l9UcIiaJ=h%Yj1R2L0JU;7epplm{*-2J zIiXj;+;Xx*p36CP;X!HUB7rAC2T=9^%%L2VEvSnRzI;4Bm}Co#kvjk2_-$J}64;Vz zdbg-nE>dTfo}Rc~Rnu?6lwt+|;4eQq-Z|Rd-zjVa5u;yI*WWxi-rWShV(X2EA)XaMK{LDWnemSo;)HS4MHWqVx`bgB%lj_#m&9J8qSTRo>*$Ld( zEoX3E6Rf=|Jeu=!AF>|R2iAKt=eyHDy7tWnKSNxoZpIP{s18*}JCur-nvb6e9 z^<>oHqrx3xz%RGbra5?k@_F}$jl$7cfbnTo{TKN{gUn;cK)WZ3>4@X13t-5PB zU;-|fpY!nVtojD{ff13glDmbC)T^YwCo#}c(#fXeSltK-=@y})9!p=3M@9W^|47G6 zgszhfl-;iqpF8>?rPr&jo1jy{%bh$`n5i_ffl(NGBiRt)EF#y3KE$6ggn$4Q`RImSf zN8R+@hO><*>KRGLPx5nal5eS--RoqMHx`rAoTBbs55$edaB>lGa~1u&2~KtP_k3W@ z1lW35L-r`j=H?^W_MCcl?U_(ny#Ukyb_szegV>mkgn{6WgKot-==yNmB@rs??!)s6Y47fEF0XgXta!r-KS=ilrgsos~Qx}e!h`m-c_E-(H% zmiB#F+V^`5&jkIR6uteV=+7nlD@YCWWi`-GtAT#~>3dUMf?)mO5h!HN&}TIL-AYY= zmuUKdgo!}Y-_62-tlsXbKZoajAkY1vXUE)R!UxF-Ptk{U{Xm}NL3)x0ev(t2{T;Bk zbs7ey*6K>F*u2KnP|H>HPk{8BFC-xNe>4f!x}qPe3!r_0^3pSL1L=9vH3K~_GL^j> zgZiwxScDa!56uWSNL}U?hCxa z2R_RRKNDEyIxi9q2mWZ^*8 zaSK%8kL0-@S%u$d!biyoPtk`J{z#tWQF@X`ev(t2{avr{`%d8-6^Hbu23xMmFM^m) z6*BP5RKAg8R^|5*>6(R}8<{HKjlrq>K34h2Xs+ELr}782RelklFMbMje-D0=aeB_j zADpVnhXI|g${#dQ`G(Eysr({NU;He<&plq{1D|D;AB}=h`IeO)!?M1h^l&PFAgTP4 zPDbTxoYe1}sQe{Kyay_u(4Qshb9q5j{*o;Aml%~lXrl6$k{TeFY^?H^WNomN)&@)U zr_ZVUL9WWbSE=&v5tY9zVIolZ_p)#xYq@(=PG zKfo#8kuydG1%O%5OB`tH}vZX<@ALSLI1wO;7Tw zpX5|$NaYU$m5=qN23xMmFZQ%`&s60bIc8P<5UG64LeGs%4eiF@RQ?dFd=x3G-QYHp z$sZ+D{&RMF%Olko1RxSetvqf=G&Fp$<%{m*e3{81BCZ`fN` z)xQ|+Sb-xqYYO&le*H51=bM*{eRy$*95^g1`G|f-$y+9R)K*h+%w+9Hl6o&GWYoLH zMxAbdx}&c6?NAGn6o(z2daDXyUzSd<9{RUBs*7j{MLMRB(dQ#UpFi(*Xu%fD?u}rF zRvB#;cj8ske57t*l7nq{nB=)CLfl@h>R!KK)AJ)%kN2#kxw(EFHsW0ZYKXQQ1ak`}3t#9jP&404ve~V20Vq)qStvYWu-{~!RNgDU?R7acg&{Qv0 zO!cB)n8^;`frVtUW?# z`UlNcff2SSP+BIR$j{Mp1O41{1GCX=z#*=+so9QtMP1v1Q^jz6Vg5n6R`mfJGrx#P z*{Ym^;|x992poxo(`XyV`Z(JBqwQ8s03rv*_wKuX3j^I-y>c>S+AHs2@;!ILcoQm;R<#*e=9@x?`jDNEucJAz-EGCL%z!*Fk z^_la>!8qe5QQJi#XW$5h_zrWXK1sg^b~>5m<#ryEqd)zgK(c3qym&w97q32jtq)=M zaGyEtyy~fZ4Gvltr>%RG%A8g{?OSnp&}w4jDT1bR+S>FZgSLu|T(83%{W=l;RGsE7xg7Sq(f59Q&HSLo@ z;9*PsLC!A&2Frd~L_Xt}Ssr?DRT6T85 zgLW5WH}nJQx-pU95DDXhpf+XBPpPr`fN$n>ypUuU?f4jaN5uQmjQQ=nkl=7v_prBj$kt&$a8;tS9*BePut&3bZhG3IPhFMh zxCf@NVve(d_Wfduy7dU)z=v^Fkd7)98Fm%S(T~${R{GXiF~Y}@hA9Y7aAfMuzOv5B zGImzbF4^pckh9X~oE6lj3`gRufD3pkDHG(Z#9g%StVDg}IV*;Vb+v1KOBXvU5v{Sa z5*2xbot5}4Hp6qAmAD0~_?@#76(Jn;K0#EjMQ0^!J8)LQ*M<3#APka$-bScDg~(ay zS34^qZNBF$XQe;SJ1b?+Ic*_lrQedXf{qMpXJy$tD`g)!bRlP@Y|rLaoU@`2{5nNo z7~z}FmX(~dvQpbwDI68m#93K6Rc8eTa=OmSN)uGR)D`&X2q^n zL_OoISQdI{RnfsYD=U(-QqspbD;gL1of2n7JiQh;D<$7f=&WeoQ)eYQu7>PF?!4Mc zBWERjV6AGFh_e!%RKo;U7_unxTh*s?R#tMI6;D+5e{ z=8BgynR-(>XJrLDE9ekMc0 zMPF5bR%o-#ic*}jvRd0&DIAqf6K7@hRGk$V$mu#Ot4*90!``~$R5k?_I4d3ASpoi9 znH4)L5%r9-Vp-@>TSW)wtgK4TN=YB%tY}>1cS@WU@!W0TtdxAqvRbRgOr4eJpe?cs zxs$f5jhvPAQQIntiL(-&vBd;e7_!Kis_N4@E33KAN~h9U=}>1S_jqk5YuaV&uoE~d z(fL}$L3hBm**rHrVcVh3N_4~)Q&=&_S%+*p*ja%?wxP3P6d86E%yHY(aaKCkSuw)L zIx9m=L3nC5)5qwjA244MEWan%E4P~=E@e0KX?5ZCke# zF>c5z+xAj4o2<|2&%Bi9D#(WT#a_{TgBBqZWj{5e|LqlxH)!ad|H_&E+F5x0x;q0U znfR}&8C|p3s%YBq7o>*AovK@bEMn9OMByi6bPalSE8yNot$=x4vlUo(Q7a~YS%WVl zrj;-USv{g9rWF&Os6opz(@Gd(sHSCwX~jsN8nmo3t%MRpqUDq7vYwfZ#Rb<4I%cA!bTm++bJcLm@xfn+6co3s@a#4)h@i0d1*JPA;DR;1p=U;&aF4e|uK!IMLd(zxCa31NYm|{WfyH zExF&8-ES-Ix7D6sKK|E5|7+j>I`F>^{jVec>yrO<+5fuYe=Sw{8{Mhd+g?LS3ma58 z_*mI0T>Td>eUGTZ;hU(?mfl6F`KsHlrs6Z|BJ5)=WJ`IUu~D|YqB&nVTmO&DmkP`8 z74}Taz8#4bud6E%Cw({pw;R5R$k;UJ;o~LxBhTH->zCk?k8^9Cb0RlfbLGbrGn?y( z&A~*K)OGc@8+(}6o*t=rRQ8uV8veTZ0BQLdQp=#8Zr}3>KD6XNH(DIomKb+mU3cGS zq!H_~1K*+$7VDlIqL+`F-5-E4jUpT>PNy+>QAu?5=i5OSd`*~LXqx*VDu8PbCnyfQvK>P{E`<&9HM zVDTyIR}YVhFIabq-ya-o>aST#L;gd;qJYm%PMlrC4!F?#yqqlvwPWqfWk+;~CfAW7 z&fnI#8Q*@&W_kkyD{2zv)97*p=L17M_*21=TNGCytsXxrt|ohgN%DaX1A< zYqEa`-Ech=Lu z>wQG%Jsiy3g1e;l!|HDLPI*Z!Pm~#$hh(;h{I5D{fp1e9D9pP5qHX34+#A@P7WQO?ME$ zt!{F&g~WLsPV?1-JdRETgf>9pr?I61)5B=$GCSm(7NkFD)z`7fOWT668WkO8ndIjF zN=Loy7l~_+RmGBqMi!52K&xkDfzme(b@Nx$Qw*`tw4UVJ%e@yeO0xWZ7OuHqdIlY! z6&m*v$m(VD)=zy6HTG2&3r1pk1;!CqXkl^QJTVeKzRDuHm}9fvbhfkhgjDzZXGl!J zqski>+^|Z@dUMPavPf@eR{VY(_jIJ0`2fy1lY%2r+Y_l3Q@OL{p?ZlKVW@nKCGjlM z3?Z$(=Mpc$hWHI)+Pm74UPW4!8=tjZ?sA=m)X#m~Y15a~2fHr>+SJh!*$onu|Fe!l z7N@H(jRmIB+XyI7>nghG?&XbV-i_x&>ZR@nE5?&!8vHO`oUkj8Q8#oGpkH+<|Bz@N z+N{?+bUR_HIjVVFd+d75&^)ezNb}G)4K>f7CJMkeX%#@q0>N6q)nv!%C!&TH_*Y02 z%ynRJ=!Fha1Fle@2K@7rx`F=&5!1e1FQ$_mLz3FnWjWSRQvWDc=dOo0CJ(#k;Xhb2 zx|gMV_7fzSR66^ET!YsNs-L--QZ z!+%NCgDW73R3uQjk=stOI1SqLZgPcsaP>^1em=9^%Kw(=3)i4DI7wf)iVhb^_@nBsw)L&UliC3OUcIUF{K=j( zn&NhZlnDquYa*RE#qBDx^VTqNLQ>qW2N!JiQ^%25jsRyjTmw;dLyE7G9EPhdM5b|y z+m$u6k{m|(GRk4N0@4~qz8%V8xN5djoWpQ0L+UGn(ypFqv;o3s&f7I84UPn=JFoQHpB72PXtuL^NH^z??M@R}ODO)V#+;K`B|@vQojWP_X`r7x1AZwjeN z3i^0tHHT(_Lw9)&4Mei^#UnMza%XlriR1rwc@7OlQuN&=HAz9Atf}VEUEt6H&!Le> zmc9z5CRtfuSy|vYv?P+EZ&RsB3c4p-=1{S^ik}7exyN&8StLte&Qg=CtgD^x@f=za zNzwPa)FcI6&R5N$doqVsMY8mDF*V6TH>JsP=$?Wt%Sd@xk+=}hg6^)-cPRDh##y~o zd@&N%PpGSFs(XIs>-wY1#Suk@rbU@1eIHX@n$W(DXCs;}t4nJafTnL=R`BU}hMZ7V zBNiE9U6VyfT33GR7d{2ckQB;kM3NEIHA%{n)LZIbW~m89HKNAI>YCIbVJ+W+slR~7 z^Cy(jh$17VYf_XYr~3kbLP3qFF_O9_HAqy;{LvqN;Q15EXhe|_(lsf{lF~}xPbj7l zHAYU?qy`CUnLqlTU!Fgqghmt@5nYp_EE(NVKn?O=?t{OpMWH?f(Y5zbT^PgVRI5F_ z^~YK5k{98{a<(T7(ivIxo|;$ocHxlch4P=8L|jo9wvHa}Ps&4|-1(No?MZNK3|*Py z$pKScU(+QMi@jc7QFFBcW43uh+{a`kG8=RSmszl_J+h%JliJhAiU_3f<27*uHW-B{DI$ppW_p_HZ?%Q( z&qB+71GLCD6q!KOvV3b8#e?9)^FBI_I&l#f&%4Ap@I^JKktmoauegqSq&~z_62^?o zW>b7H1$AlY?!AC^ea5dLtoKjJ?p;(w(po66mjqky!+h7_I4btTM$(abbhEQ#QcW@y!u-54dVgmzuaZzC{&O7 zlemB{5;xbcMpv1a7tJ5R4Izj7dxw*aaksbz(jCmooFS$Dc1OMFVb6^LrbN7Qz22~j ztMNU>Zk&RNN=XmFZWb+Gm9&EXtM@^)cDMqtaQ|0wnwu7qCKRn* z1ZrB>Q1DTaf^bZ8XlICbX}t3Hr)sK<%Jx=b z)d&h(I}0VAVwtrt*;Q@9WW#DHuYRB_vsZieb13?|)fAPKj~HDD2Lpu!cyce$P*9IDP-8PWQOY6m>~FO8n&Jp9?^=af?$&TvyNJ> zm?KG|Aj_nRJ(jQqWTCKxg(II^by|B~eZ2dzKx?yYn9gz_|I<@ywc+TAp@Oc+NRb4a zpz3qrcRLO&s`>86Yj6PDFESp%&A;J!P*^T7G=232W4rh$bFYDISIkLZzEl}j|Gcad z3#x;=**`zoIo?2lYuN{zN*PDKWpAz^5lmuzS;h)nHi6hhF;aHM3PQoEeKVQkqJZ24AOyuwEJ;Q-i~ZDSQxteQW#N@FP&LqftTN4-l5p8TEgNH}zM-{} zGEnj4g8*_@?xaVcEfvw8(d-EC^pjZ&yMIxPhFJ)qt~OQ*KD5r%vZjD+%+S%RpP5pl z;!$zO=HWckVupQ^W{M^06QXrek`#`2ZrN$(kE@S$Kbq9ccu*eL*`bvGCt;=`;wsMO zi)I?84vdt#jHqLz(XKozWFW#_p(ygDHM|a96u*B8pwXSNzxA3yrDtT7CntMmq70s~ zkV=mr%;05h5MeTSxJ_@7pbVbgZ{W$7?H(?JXPRfln`DCoDHTj%m{P&-8rmFxKFZ+P zMs4_^0wQ4|FEwP(#u~~zPUM*`A|)QABK<(ZM4o+f(nA41A0_f^%U(HFu`kHynFd(I zG*pOjKF@Sw7>E_20KQ^472tDe4ta&BIG<-I2{nL_&!col`8@iX&F7K+Vxf*aZ{(sC z0c6^Cl;$Gsq6>%8d)ecL{R+vJlW{(e5EBm)=G&h&NAQfPfk_V&m!xep&~)B|YuXPr zg%~!UXZ9EB_^iu>A)^ZQCmAs~pJzVrNb+7qDy)@!UZ2nBkukuOMESgaaX0~Hpx&_B z%jfA0dR#uwkS;7*CZ9*f%H{J&0V$tHx{YDYgWAOKNe3j1M+<~w%FE}G);+E>mvCRP z`MiqZl2we{S2`Z^*J7O^XXW$Aka0Xr4m)W;{i!%A)|aDVekW*{(IbK=MuR3P2#KWx z4V%$3YcQ43D~tF!&k9iw(=Q0(mY7d=;CL(I7HPTvs-qi_<#wa$VJMSa04j_q;mliQih!{kBb@xHXkq{ zokga0)d-4+Sr$q>#WHL8j2gw67U&4(jDU*R8DB=CNQxO((s8hdZe{bVJ9+rq@Ecb(Tg?&#uXGZdZe%yjb(g~f zCZjiyZ5My81}8r9R1j;vRGC(6Mo*8n3=WdWnGVcl9gGn&dST1nTyYt_{(M^*J=7U1 z2qjZRR8*cLvZC^38k#A5Mh}g}87WLIM;9}v4W+f^GkO89Wp&DD^bk?bPC;%3m5n81 z3M+-ly`qNLneq#*hK<5!^iWr39s86{n)bpz$$*BZwXKXEA{p5%W-<1fqQKKBPkYKh z)j;<_%QS1Wy~1ocLxW?dzM-{}GEhs(oe=lapB_PJoMo3M}A;TeiW}=Lqp^exj_Dmi+ zg)WC}n2a87(_17cqo+?;dv40Da~VC;JS*NL8ze}oU<$*e3Vzqn=7=+TwoxggXWmzSck289v5kcdHC-f-YQAUrxW;1%E zzgS!$%@$UYy^3MQgE&VY zWuMT~SCViUJwv*%Xqk*287r63BL$?49_coQHCnp})FyyJIv`;@S|A)#UPh0!UV8~| z@fp2};gVI1+*djt^B0@ZBOM@_m6g#WL&l3)4m)W;F&Vv~92N6---H>xigln#%FgKZ z`EBTC4W=@BWf4E;%`;_mGSyWW2K4C9oC6UH8flKj2>y; z1cJE(@<%?1VRT z3HXd2>CTyee$p!^RLba)hD+gqHHJL#{24vcTBxuS89h?Z43C%sHd@9N6f=6Hu%;%K zD9AQpLPewrOBk2YBL%~eXP(g`ZJ5q-AkSy?NNdvQiK)V5^hhHPcWg$F6pc8Lm(e3_ zxbAXzz-07BvhCt;62yrQYM;q0E9eQ#mnzeW&FJaTmchYtId z=?WDn@N~-4o-$B1(0$M{%^Gd5hz4re7(4Y1t(BC4T6X4yxS#&?2ukBDbKN)2=%J|& zHB};`hiaK&u^GL%7+5I$89h`~Qa8vx5sf^|X*Q!5^@Cyxc^N&_f*HF9c4j! z)U?C|Vy1{@8fJr#(Tn;*jL6IAp%xsrJuBoj&Sdn=z9O5hNoVv>zY>>BMh_Vd*)tPm z^bBppF0mOsbj@|jGKp^4#BF+u1ZDK}ozkA0a_d}1&os}9H^~MGk}8&%IKN*79wFr&%9=b?AcgDna3GDN5Nq-qvr<_X7ucv_A`36Wv?7jbh*svIpX<@ zo_Wo(uc1PWGkT7Ol7WDGDWivnQvp7w_~aF`6=(EJ2ZF{6GkTQnD5FPTvl%_oU()jq zGJ3S_DA7gQMFPA!qemO|Dyj2@+iIip9~Mgy(R=!H%Dp{5Y? zACYt9HbJ37?D{X43kx!OgwmJ`IHRY(Wk54u)o1ixj=rbxl)Amv?OvJrZTr7YxBR%m z-y-*%aD#w3u_-<44)Y1Uic!U5NGJ3vKf=Ie^oV=mF<{J8CZlI6=z((?JyHM`?*GQ! zxkClpzw2-F<2Nf?h72nA7IMvsv1ah(s4|C!u0#E}$_mn>uCztY?Y%;O2eFSlcO>XO;w2RBbX!pZx}4XR7j`t zDrAS-=^iFbW#@^Fi;VyDPsuAV6!JM6eC<34(OFikrj7sCyfnDDg9 z?1afpqpJ)f>FLF5kIC3o%ykYmZ1jta%NzI^WHaem+!#B-4UK&^`h`1l5duHS=@CfL zFWhK3%~%P@6V2{t$8CiwSdM<-T4q>W^ouD5CdU8OVQ#3xMJ2t0?2N3%#6`d2e!Ll# zcS99!!Hhiz*lf59wtL=ucXNV;jDL!RM3po zWHcsrX8ek(VPO2SsKv{9F_OV+o)p!EaZw2aPi6g-+aDI~$&y%PaG2%B+*6k`=blD+ znq_NJ1KOJ#DVCHZV{w%?)eTJz2+Rr!5KlIU78hMi(XP!5!4%O<2+t14?EIQS-v*1A zpckjtxW>YG>8+w0a$}_zDb~JVF3OAwfpziEI%<$;O%e~twn%Zp5`({jS2@bLk-Pcw zW9p;bkMK8NMuYL_%@1e%AEIqlPNXz?Vq;`Mi+qBwngdyR#fSrWcI}@fg1QX#o9)Op zQ-YFdO|W57X-MhkPsr!OkAfM}s8OMf8$aQ4u!K1qhg1-fC1H+KS&&MjZAYmzVH_EsucHn7C6X^E{|WibN5&|L%BsLd z_DHL9X>_DmK_xNsACT`>8eg_l$@+Jfg9=h<8sPy5u%o+On<>E`G zh|Td3U_xvn&6%C`MibMXPN7wQ>YZH4he^&@tGKxSovhXPHLTVDp`$+GjZa*p-eScy zP2czec>FpXNyTc#RrT++S1VuvWKw)uC*Q)Xz!3>0VuGWwrq?U3YJNw%m8#JLpFs{k z^|B&|t$ZpZOqW$GVl701m{n4md>(%U*J{9${nV^1l{NaVy=+!a2g{o@8W|}yF^;t^ zX}F};<8MAn>p!QSU3-S6^`~Y!-Km)_{M=K_KL1sDf);e>u!t+x25&)RFhkY&p#d#D z8JdRT_fOHA_|cjmJTiY69|TQiZEi)|`pm%xf|;3D_IBUvzq)}sN}=Xoz(_2#Hg3~9 zBiFw$KG+_=y))U+U$XaeE;r8kBBpiLvdr{FFo77DG4YMQogMokwnNDmG4CxTLSG~` zWY5MLzR0f=Qv?k=TIPW-;s+A?BK8gSMLr!Z=M}ZIHl)j$Y}pb2Q1PAowolnhF(n*h z124tAX0g=JONsaUIT{Xi2+c?20xty*rvjGFOOe;ky?DQ$=^#|0CIS~aDU@zv_{4|- z!w0s}1hyXOFScA|Cne}QysDnG>m!L3W=~ACUpuu0X}s@`5ETzL<*U%)GW-5W+i1XP z+b13{_El2Id7z&2Cal#4%sw0)n$P+~%e4AWr*K@DwyOVHA8)?951-t9ZFm3psC$cf z*h|yZ^GZg4$veDbpD=QBZ};e6Z)am`vOn3~n(S^qo@-HF%{{5EY>kh`8}IBLJQ^Q$ zFTyhW!7sit_msME44)9+Jl@*f-PqgRc({LDevqK6F73mNZSOwpUg}=>!u`*@_Uha% zb?NZvV0&wF*qu=qd($2Gp98IWOTCbsB~JI651ePnk7@ObQwqt;)P#LOcc>41IUwA_&WhtKoS&MTAv;t*exe|IG ze@mKYT3Rz){jn+RnbGDoJ)05okt{~Z8(Nokrb)wJ6Q`xak=g1qyB#2vC1`3V%wH_9QWc$m?3mfNb{UIzs~d`yEe4 zYS3M*!4o~#o++8DLBamdn;uQ~%Ws!17>DUu|H6EDUH$iu^Ja$4qO-&QlNvsQVghldFaO= zVmb8i%xiYY9S?Nj#f+_3l)UFJ2**w#EeM?;l| zhlf)E%M1&R@$gIsq3#ttJW6-u;nCNuhe!I0#V)ccf;1FuJ4()wc9FiUKG8)R_G_oM zypKIRLR36hVlg0HR=8o5D#pVjZKDBKdw5~fe#j|x%XxUFC88;`hnIC_ui)XCR<-JD z^E^DcD=)b+h4lrP{ion( zf%otTnK46%ypBCQmQKxo&ch>}A)aJ;c!|C|Q!-Zr>*3iC@x_jcxtp_aRDu(JWJDbM z3etjvSW4wE9-i6eZ>{2_hgU(4@$itQstqE}!?RxjiWz6l0`neT1+fi1yi(e!$ip*S zBzoKC@DM-bxtUgxhlktbw9Luw+BdDUR(Ym}hY1W#Y5cA=56?C#d3ff%#d7H3nb+)) z{Te@!hvz6rdw6~zp@(PRoTZ0n`;{zoaSqRP zkm=!3x+4#dzGgi<(qF6vkW~?Qc(m=v!z1k?eOc|{(T4rnsV(ng504NP50+RAfrm$_ zVmv(3HX3lXhZi>Ohb)Wq1;u%IrX`{&w1xp6TIX0z*?8ziZ9IvyDm~o_TMv9C~=>H9KU##!uwoISSGq zo*zi);n_E5>EYQvWe?8{i}&!%YnHLCd3cV7Di042rvjE47TVp|!!sRZdU%xX$it(r zSr3o&7i$4zRRkU$Z9DStNV`a1R(p7~VZU~2%lp{FBSgi6B^E>A;Zdp>50A8s23+mo zg-!b*%Od@*`XOeQrfG?2is?dP<11 z$@1IN=c{QP{DS)V#n<~(bgBWp7pqqO@L|jBjME|zCBK} z)VT!&?!H31+KWw0W!tP3E_rm~U_-wIlig@X=AY@Pr;0}O1wxKmcSBbaxxMUx`dO*r z$Nkj~J4?}7J7EAlk&B+17SF9HxT%lr(fe;{X3jD5z@nz1@Afl94!NneCuY%&SK=^| z@XN5fX4OOW5;IJ}XM6T7rmQ{G8y>qWiq5;isDIkQr>5L!CF>Yj3BlLF{>F<6?J-|^ckNz&&>83($Y=yHO*0;LSeo1|ZuQb-WWlazGJFgBQ@kC@ha z(^PGX7N@6XPv0~9Mn|FhY%!ZcX=MDeIV8DoaR&Omk7boLKG`>>@Vza#X$kB|*5$#B$eD$-;X)k;63lg5@n4EDL3V$Lv0$;(lg0O5CY*zgo zLzTVlI&+;JL4JxbA1y|1&+6O;hgdmG$b@ZX#+wJi&RM$8c!2?Q(b|Q z2a~Oh-SHzR-#w?mf$Ab+=I`ZUey2gFrht}XLGmJ6TpIPI7&Xz$6d?Q;z_On zF~t#cVCB2Taq_8`{e}~1++fh&z{D1sAIUdNY?=|ydKMV03_$v)1(2`&y{}aR#Pt3< z10a?a96-!F4G>$9EUGgGh^2u8hdI{A6V~!KqyZ8+uXUf zSfoc%v6-mJ?R-aFDp6Ee@r>4K8Ard;QSR!Ia$*XL$PRukQa+i3I7KAE zO^#1l`V7G#mcjw`EJMFtc>0>6;NQ^UOr)kll3T{qn-)`j7E{ky*>q$536M?Gr3asHXUL?wb%+?Wi3rHF+_a0+j3zBl5+t^c2{3DC zBjQ3-#N=CC49*r8kG+_4oGimyNNU8ywt@|(frczL5*kQn#d9qgomu)dEJga2Qlwe~ zX(9qw&A3Czi zfbsH3zqfE%Y66#%2vHs-Moz39Lui1HkkBf2WLP_Ql|#gGn}{IRjvh@~yd*f&Iwpv< zV~Gn<;TNMVVR5m1wz$C7jwMC5c5I1Ou;EnF3X6?|wWCjXr5o+xiszp(w->2b(E)~zE!9i>F zETBcK9X+D7ILaIb6-|P*(-d69+Ob53@bY5HmaqU@{q_NjSUZ+3S!UT1t%K}`)r^T3 zF0d$L%$E~yYDOeRaH&11+G#f^TS2Gml{{u9D%I2C9`EgxBK z8C=BZ(L+j$q)c9(D!l#{7FCw$5MW+Z*%A(7jY84wK#W*DmM~dv*%Gb8%xgG4NX=-t zdzDttJ!J%(&i-01gdK&{lVdh~32aPbl5mcd1=9zCSANXq0T6;Fau z-4tHL>aj$J0P~{CmT(Yj6q0TSV#MmPgvoNtmS`Pj-s<6l)eSWq*~qh6DXUINzpZjI ziC8_Fv=B00Ch7MMFpZ+mB^9DfN(`M?J%&t819L=iQz__;_0P zMzAMvfs-Y$b@b_w&=54yNGxXh3qpJ_gAh@iRI)<-e)VKTav)VAlIN;Oa^6&R{~kYl zB)J9rfQWb7tv41me$t|*lI+t$(BJ5&XTs?ycIVLpGR$ZkiliuW)s&@9##FLH!O8Oo z`9OC7B!=!bq4Y&3iukZ|&x)d(>(@aPUBFT(`9<;KOWJ-`sy8C18l%X$VP(&yHA7B% zp4h#}psWz{HF+UqBKjR*q;PTuA)?qxF+e@W630**041Wf0w(CD$7I(YA$;t(F+$*e zPXul~sI-Vl(Rm6Ofo&m3uvh{^lrUp(IFVw)r-qZCicy^uDRxjTVP(Tf6Fva^yp<+T zuHOP_qHP*D*sx{nniryznAg;mHD64@#XJb-dOKt4XiQau6g9W4WWjw_u!h}>49G#! zMUxrgCK`uBjT9J8qb9u{xr!0$r?7-E6w4Au7pP>7vuP^3_sHSH#3x1$7{q9$YWmaC zri$iM!VU!dkkqk+hUj6&;_xGdk53gpu#r82d{Xq-k+ldS=XLk_XfoqT63k;Um%i1?>h^`yA518WaH z&S)9%!C*!)S#cw)l73*c=&gz=QIlwk0wyq8`W2jDHw#mvMH3f71&J74zyf8^Ea=;G zzi^)#ErwWGyyyazTyf$h!FX@94ER8ALu^o^MH8GBDG4ImM+Y@pEO{Y5kSMW59737} zbekiD7%i5XL?qW1X$K`v0S)*VE~9|@V6>=8qophr7%h79U`mq6>PPoVcFP1ti!PCt z`0VCjYP4t~L&PA7q6;{@G>hk^H*Z$3ff_A_U|Fi@0u^{cJA z7%h6IVM^2_+M<97j22bF33jh9HCi-rAyklv(FGh(ngw;6Zt7IjXfedf;zbvzxXz5gNg58u! zjTTK@2o)q^bO8sHX2IO1donxJXfedf;zbvzdwLEGjCAx4X(CLu*^k#Mb$0u$=#WZ4|d@)?2QAsN1MIiA--z- z>A(38SH%0WKdV&PaCvEVW`oJQ%W;EzR4Aq}dDrz1sjDT0ll{Z(oxR;m8o%-Sju(-{0DLV`FhOeJ^aZN%WjQLLi?2A~!p$Uz}1ea-4!xg<}xr zm9ne^ZupZJdb3y0Z^5^_zs{OtE9qVI<%UhVPZIG=7Lc>*TN0mOvk8YO&!;}(lirzv z_++=LoHd`8(|lrfd?7wnV@qH4DPjvU>uH`15YKcP9`VfP<~o?G@piuPda~y_+%4`XU(TknomqZ9`UIfTjkYLvfP3MNSbFO#50{OK|HhRle6a8 zFwHY2e}s4@V{1Xi7DR5-d|E<$(qUf2CmZ)YYd#Iqd}5;Ch)*)M>{06Sz8e`^5T{D> zY#H%P2elB-Y?SM)dDc(!j0y80p2^s{Cu0j7>@=TN5TCR+j`(EV^RwpDVwz7(kOJ|k z8e970xTq7sok;U+74b~_9*Aew898g7Rov&scw>lXDQx}fl=>iVm%@oLj!{>`tqkctXmSE2#X7w?%j75)_bw(zA$gJfGW~EK~suKz7mqdmM#yn!!05i;( z^N3+*WY32TTdH7KQ+s|({WXzSf+q@9 zIFgQIaj5oF&)jl zpr#ATy3=p$eRlu5OVx$IzPnV5-4D{z_#Lctdsnq_V?JH~1paGdQT^5xHC=p@+yMT@ zTXx3HzNB8)Jt<7d@|rLF3{0Eo8JIHBGcaAEXTY`S8JH%~Gr(T-31NWb_>xA zl0SavMuJPaq2PyZEcl@t41VZFgCDx#;D>HJ_@NsReuzd?ZdTgZ-}}nsz>lbSXzdI$ z%qQL0%N;tl?9=qIpG*Iucm^Q1HJ))b%nP;-FpaOHU$Aw6r+gj#f~^BA=j-SfY#o>p zzK(vu)`1D*>*yD39hgtPj()+`f$8S!=of4qKm%V#zwmWt(bVbGj-AwA^oFlRp@3`Y zH+(G$23#vd1E!F|0oMxgfNN1e;94Ofa4iZ6Tr0!`u0=tCYlW!5wJ0obtq>Qu76k^b z6(R%IqR_y#0&FPQRrz3ZyfZ#{aQx`e_~7yU(fHvZv%&Dv9NDvYse5jHdS~zOP~2en zBkCGyxJ&=+G2Qm2U!RP3{SH0J$NCZV%n=JoxG}%4eJJ{GAKbr7d z{>F@L|NpzR{{LQr9;V^s&G)Ul9hmFayh?`UzwWjemeOEjaoz8$Tl6oB1zMDj_aCmK zklVsKN^)vRv5rD+`U!M_sx0CvrV~`fiU(Y!kE>`&fP1mB0aqE|Dq0NSDpoMyDnndF z%K%)(N(EeHgsW%)fU8)MfU7LwDth(fDpnrgD$BTvUi!F-6$ZG<3a+BpJ+5LU0j{!& ztLR0Kt5`9B(9%a}F|*>);wHtTYkjqjQH|HRNl;oFYl(qmmi_>W-@$vHy6JA z5-M+I!k2dw;ma?h@@5)*c{dBb{0b^>=D?SCQ{c<5qVi?}e0j%z9IaX}|1bvJoV@qr z`_zBeQO|mzQr-rAxG~<{+Bn?V-V`LupXgZ0@{P{=ALuyAa&GrBDyEY)?SJ|HMX<+>CD^AjU;349vf68casUKlDpLcRmt6KfU4x?+) zv@@!bn|(!9aublKN^TwwRmn|7d9>thY4_#xwsZUPdE1(O`MfQ?zI@)+R$o4ETcDTHH(b>gV<7N?}h}Suyxt2F;Ma zy}o}id1rEPFad4(rSZX5_sZ;V+y8auX4KTyQFm&gGdCOECwNg!uYvQRei<@PCE+^8 z;-b}#uRUg5t%R&Q79*WGc{?pVzO<`ejF}AXKox4prN0GgsNW&Z>O|dT`)e6I|6WJk z=K4v%r;-o7EXrGf5S$~wh9HDe9+b^Jc97pLEbX&c>Q`dvMJp7ZUVpL_3Zc_l6HWd3 zvq4k8CYlH*STseHw}K}43I{<`--)D<(JY>%8@TEv#~a9|cUe3QD)9v0VS8`9b3EyG z*Kd?~@`l1l7Cp@_ z_+n0|A$3-LLhZ{eh?Xls^g#=v+4ZMN5Jh>Mnn+qcBP1=?L=s^Ii=>G1R*)3>Ys(Hv z5vN%=HM{leq;NW9;j~f-r#YUPXowNevMgc&TLBFb91m5@rQxw<~v>KS2awI-Gb7g#Jsl(&MVUkcRRs>2debBip9 znq485_S%xiiVxHWxvYPMh4KM0!Vki0`xIDAK>*QBSfRC2&;Djb0w{tsn`$ zo%aL@OD;GlAw8$r-Q&k9#3s`>w4MM^M?9da1KcSkSLwqEkXme8GD(nHtP3f^4<1qx z@vT7W*F#A8-Tg?@S%&kVYW7Kq6M*Uw4=NJhWz%0NH78%jC!i?`7PDQ}$hb*pO2xTZ z0Ywm}?=BPgi*@grM+9e3zZql)}^7vFa+k zC}Pa^+X9|a!EP2$gd04bBH~-Y6MXQK;>pLmk;2pL=0PQey-yWXg3==~Uv_d+O3&`` zs|%|rj?DJl0<2OYa28gCA3Urg;#+|gY;B;h@=V614JGD!AEfx?+}xHD zbRG!8_I{pkdtOauZyTCz|8jC0-{o}aTZa8A3UNW;#)z~w?g6M!{bQZS%&kNY8D}H zjwwOYk$5mWvnfqCtP7?nxXgCh0+>>9aTZL35j>b8;#&a|B<-lC^PzF1>4rRtngzv~ z%h`~olP@{am$M1ljzojmX-#Q6eITYToTB(L+iweSN`=N*I1z5}aEgd;1x}E;qj2)k zair}uyLn7Ci;RCLY`-l)scwv%a)XCb zM0_hy3jMpjkC7vdr`gTpsac@BIi3V)yr#6BJtABeQBk0o?YRX+)s2$(2|sv5 zMZ~v)sL;Rb`zSfmc9!8hrkcgcn`27QbR;Cq&TLB4E!7266kcY#YynJlW8;0o2p&uk z@vVR<^zZsUHjXsi5|5&0L2>4SWTfe2|4v_!%=>qJ5(;LgHKpzJg#>ls6vdX=ep`T3 z-M~2I1`nr*_*UQ)`geUF7)RPpvzy0Mv*`HAFePX_5))?UHl^|GB^Py36@{7Eo?Adw z-57bF@PkKHM0_i#iu^ktBS#v~GMvX%vnct=a3yFx5*cP^H>LHK>jEl@GP7N_0I0el z@;+e%52%RvRsa?GcRoapwB9n0q-L>k=9+t?^<@7}N&X!P3A0n0(s=qxow`tpV$5v6 zEkLPmfV@w*!9yt`z7;4%{+$nyBaNro&Eu(Al)O2f1Z_uR!tA`Jw4J@8sV<_TFf-e8 z3y7*4BkvP_@Q8|tZv|12f9GT5NZVP4^O$NDC2x)?UegV#BjhPfCx0ZG-=YcKolR(b zP&YJA8Nq@nCcYIgh5j9o&O|a-SQHJK#l)G9lpswf`*->yCA@z(sE&!Jw4J^XuBL2) zKFs>X&2Ao3&7$Kc!xXRa2GtSrl*Y4{4Awq04tF|+-)0HwMCa>@-JN)hp`Kq>U^20lQJG@fQRkEdo)^5%FFv|V+CJf-dI6}fd0 z6@{5k3sH4rTd_T=>|SH?k^2X9Kst&0rE2d z)*%lp5*=n|IB|uTJs4J3^+oY!w&NC{RX12ZAnf3w6%pSGwEj*AEgvlR_lQ}3^O{eJ zmY)H*1SLoU#q1m>lwjS{c!MbB%=XvR>QH$?+1X=ZHI*H7dPZ=n8!M;m;NcVz-wK?<$idLZ%Du9){AQKiPzsix z5}{46Clp-WLwL~J86l}|e4O%uM^Z$5D@Y2xyrGYedj-dz!5d0(@g#)O$6Bhr zyu0A#EeKxTkVJ)9>m{M=8lA+0F3$*4bwlKo89b&U;#*MZ~v)qsYtiA#<PE|lgdM!Hi->OpPLY@Aqvc-NS$^}%u2H>8cN8%EJ(w%ZmkRW~#alvQFXBEA(&MP8l{jeBL6IF2`L z6d!K~SiIsJRmaK`iqD=AtEu>))3XU6jOs?qDLYuj7ZcwKv_dZrNRPcd%WqckjT*(v z+W{A^1V`1e^Mn$tdomAtJ0n!p4VqIv@TiK2Zv|DMmpAf3bFT#XgL$Jy(ekEeUL?gg zs*aW?6knrbdC=t<;izuNoHB#QQAB(zI10VIkq?=B#g{mhH)<3&Zw@9w*;U8N6UxpW z5v!~0qJZ-$*-@jq(ee>t2M?!+_*UQ)dU-&4tn4hmd1coqUfvu~f`TJKVRl{<3a;*f zyipWiW_vujMLwz<90$s(Eb^H6R*)2Wc|f{Fl2>s2dAw1hsCfE_OSPAGFX82lNHmz8 z+=Q}gbSe+JJR@aSH#AO}!Aqxz_*O6#dU+!s8u!XBaVT%pC_df}umr_N!ow`E5{l2B z6sxQFqJT5oaSP(AZnS(v*ug_9BEA)9MP8ndmizFgUz#huw6TR>IapgB-hsRSe9TR~Oi<@unwSAzWUyiucQdDD|GqL)Xa#O#D76knsm zd7~)m%y!!Xj_QWYfwD>*MZ~v)qsYtiA#<)mTRdz)+bzA!%69>2XanY*d393M_L;NiR5yAQilFQenIW znL6xFtEshfN`Oyw6r6`ozZra@Nb)I3qNTcF@Fl_s9zGHArvo1!1~1`bIL*UHii5Wf zpI@F)H^?V;$2&XS={NR1yWhL|7W#5+?+N_Z#$xbyKlpnP{5=f*9tD3d1%EFGf3F08 zulBA}dKSV5i{XQQ_+St|7={l<;e(~{!E*RuC43N4+7Bu1hm`h1O8X(D{gBdrNNGQ$ zv>#I14=L@3lnz2l2O*_{kkUa&=^&(Z5K=k_DIJ8A4nj%?A*I8R(qTyHFr;)CQaTJN z9fp(+LrRAsrNfZYVMysHq;wQgItnQrg_Mp$N=G53qma^3Na-k~bQDs$6jHjhcxP(n za&KK-Eycnsd%K56YYW|H%D*=Ec8?DBb~d&q`;*`Z`3DD+@z&ac8mg;SZ*D9?4R77S zr;l|V{D`U5C$-?nYFMj3&(s=_T5$F!tTo_j4M{E7I33m+a5gA-t60DV z6>@kX&$x;OVo)Im8S;#)Sbzo2Yru zdi0KGLXUoAoALCR=L|jiO+b%*XdCkMxHk+vdLtU4M?bR7czVoph93PUpvOM64S9Op z8-^aeSAfu?AK7L+J?1$>kA4%-V;|avJU#9WLyu135PI|@+l;5jJZI?9ZvuMkL)(z2 z$Gu_b(NQ)+kA7sE@${JI3_bcyK#zTB8}jtHH>RmiDx@30V9)~bX)nq2Guu%7!nE@l z<%IUeqOMcY^i0^27t!1+jw&anQRn&@LzQ{KQKesnRN1GtEku=j#ZjdNCrloqNiR~%JZlv1knGuslP%DmvHvLcyMWuMx%5LNCKN0k<+lq&tq zwuGoMFF2~KV5U^rr?xFbm3zferNt_xN From 0ef05b6281276151bc45a687fef93458b45bd413 Mon Sep 17 00:00:00 2001 From: linrio Date: Tue, 7 Mar 2017 23:12:48 +0800 Subject: [PATCH 6/7] Adding FCL layer noted FCL12 --- model.py | 21 +++++++++++++++++++-- 1 file changed, 19 insertions(+), 2 deletions(-) diff --git a/model.py b/model.py index 84984a8..48e36eb 100644 --- a/model.py +++ b/model.py @@ -57,14 +57,31 @@ def conv2d(x, W, stride): keep_prob = tf.placeholder(tf.float32) h_fc1_drop = tf.nn.dropout(h_fc1, keep_prob) +#FCL12 +W_fc12 = weight_variable([1164, 800]) +b_fc12 = bias_variable([800]) + +h_fc12 = tf.nn.relu(tf.matmul(h_fc1_drop, W_fc12) + b_fc12) + +h_fc12_drop = tf.nn.dropout(h_fc12, keep_prob) + #FCL 2 -W_fc2 = weight_variable([1164, 100]) +W_fc2 = weight_variable([800, 100]) b_fc2 = bias_variable([100]) -h_fc2 = tf.nn.relu(tf.matmul(h_fc1_drop, W_fc2) + b_fc2) +h_fc2 = tf.nn.relu(tf.matmul(h_fc12_drop, W_fc2) + b_fc2) h_fc2_drop = tf.nn.dropout(h_fc2, keep_prob) + +#FCL 2 +#W_fc2 = weight_variable([1164, 100]) +#b_fc2 = bias_variable([100]) + +#h_fc2 = tf.nn.relu(tf.matmul(h_fc1_drop, W_fc2) + b_fc2) + +#h_fc2_drop = tf.nn.dropout(h_fc2, keep_prob) + #FCL 3 W_fc3 = weight_variable([100, 50]) b_fc3 = bias_variable([50]) From 5361494e79fb38d61b71231875507b3fb684b92a Mon Sep 17 00:00:00 2001 From: linrio Date: Wed, 8 Mar 2017 23:53:09 +0800 Subject: [PATCH 7/7] Adding FCL layer noted FCL12 --- train.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/train.py b/train.py index a8cac3d..de52a17 100644 --- a/train.py +++ b/train.py @@ -29,8 +29,8 @@ #summary_writer = tf.train.SummaryWriter(logs_path, graph=tf.get_default_graph()) summary_writer = tf.summary.FileWriter(logs_path, graph=tf.get_default_graph()) -epochs = 30 -batch_size = 100 +epochs = 3 +batch_size = 10 # train over the dataset about 30 times for epoch in range(epochs):