From 30abed0c995a83a83689a04d53e8cdd4a744689e Mon Sep 17 00:00:00 2001 From: tsb1995 <47466105+tsb1995@users.noreply.github.com> Date: Mon, 23 Dec 2019 17:32:02 -0800 Subject: [PATCH] Add plot for linearization (/aproxd route) --- __pycache__/app.cpython-37.pyc | Bin 5665 -> 6348 bytes app.py | 39 ++++++++++++++++++++++++++++----- static/img/aprox_plot.png | Bin 0 -> 29825 bytes static/img/maxmin_plot.png | Bin 0 -> 15526 bytes static/img/new_plot.png | Bin 21189 -> 0 bytes templates/aproxd.html | 4 +++- 6 files changed, 36 insertions(+), 7 deletions(-) create mode 100644 static/img/aprox_plot.png create mode 100644 static/img/maxmin_plot.png delete mode 100644 static/img/new_plot.png diff --git a/__pycache__/app.cpython-37.pyc b/__pycache__/app.cpython-37.pyc index 2dd562765a44e74444dd8fff878dc38f99588127..396a0e9b3f5847e5e09e1c2f791c6de576e29087 100644 GIT binary patch delta 2151 zcmZux&65*F6z`sy%uXiBB$<3?KY;}drJ#bSK#72WAYZb`>aegiY!6|UWD+_%4(MHGK&>Y)DxXklM~7phPkvTs zDV=_DICfW~`=c-8A7(BqgoI>~G78BQemZ&(I~6@JPxZo>AcI5*hq0=#cwgzp1Qjuj zsN@#qPlW>beV|bim_i#Qg*@)i?31p(R214<#(LSf7=a{lT>OyU&P3-E(>_F`_3XDON4 zUMz@|u$YC{wgO)oW(GwuvP!#Yuu9U(Ktx&SB3&V31d(N#4fl{^`4t@^*4T_>0a-z^ zz2XKvsNlheHYlgGR&+2bJ!1mY(9MQpLWNOX+8T}vtxsW-#W|&GcVocB`c!DbK13cW zx9wRHPO!4b3Ke`5wx^2(e3HpZtg@1rLAKhbGoa`h5;c<_l~Dc5*^cL4Z}H%TyEpyN zt8<@4zbCiohk@g7M&qfHUG0Q!=r8Q?oAo_Scd6+I(XkY#lhGHcLu?Sm%)fDOs03}8`9Y`cE_g$=-3W)VPI#{Y_MMLBjC2;iySxsm*G4}WYVAfV z9O@0P?geZZowg3{eH$`6MyJ)d6Z)-ypTcVIV72&y8!(@_kmogYoBl`d`!e3$NN5exa1$davob-e1Xc-z!ctOpMwkgrL73H7yK!l& z(l$3mrvHgdZ;ljkVL*+9hzSFQoF_snk!~`~^dMzYrb&g_MSGBA87ZvnVjh;tFx2RZ z3bI@Cr7#sJ_Fo^!iseD8MOIpgt*-+?u`>878@@q73NAl2f=!V z_wYZeT~3|ne%%k;#?+1HmTEQ1kK@ARB{u*Og;Qtzz~e{2#g9t=akq1C>O#v0%B`t< zP47r!7(an)3P;*)ez3LVH$nfcV5)TkQs1mCS2i_-)W|%_b$2_cFDK-j?Y;s35?Z zkXo9Lq3t4EN5~buCKg<4x zX>ovwbS3ve@f^(gC<1=RkS-4?d};JeZXf+4`YZSJWPsc<0=C~8B+)7XfQU&) z1A{;%=@}aH^G(+e=I3h)zl-aZ0BYMKvv4LM&ohqBi_u(R%OsZMw-GpkJfIF*A;O*L x)52r|{|&g0(2l+?ys~Qtm}9WFq}-tidpFdwVrx|!p4Y3#s>cl7FihQ~e*^G?`$_-+ delta 1538 zcmYk5O>7%Q6vyZ7m)Gmvwd2pV^PPqgqll^ykSL+h4^axG5vr7=OG@Nq+|;S3*3f2Ea|8yvJ~5rJmj_bBm|Ay`gaDK;bS=$I5W5WR59AJR2(`v66eP?DIS?#L{Ri z6`xDI#JyM1|l+mYOXv+@V{66`0Jl&=9YPySE?fT<^o`dtm?m{BV00uXAU$xU8bKGXks^wQ6Y{pxT+|0kuEclAaXQ|J3Pnp z2L|pqQZuoNsjG zrJL;cDO=RcUeYkUopEklhF(g!+1NCM_&y&1t;q_!IEy;3Kvg^l%7jn>AgcKxnAZ~_>8 z=*};{O1tI=7YXkne6v|=t?|aqPa~zhjiW}pvt3)SN9uMn^b?)+S{T*?->3x}t=jHU z-)Q^Vc5^F?jAnhK-sZmSyKfdQQ_A<_l%1{SPT1IL2Up~wo3}nBKSZ`N{BzPbuLm+p9Rl-f#@?JYRh2aQ(u1!rbRZq!kl`Ot*RL)gqO~W)T!-9VS{fb?J diff --git a/app.py b/app.py index 9eddf47..bf9fd10 100644 --- a/app.py +++ b/app.py @@ -2,6 +2,8 @@ from flask import Flask, render_template, request, redirect, Response from sympy import * from helpers import apology import numpy as np +import matplotlib +matplotlib.use('Agg') from matplotlib import pyplot as plt app = Flask(__name__) @@ -128,7 +130,9 @@ def maxmin(): # Get Derivative, solve for real solutions, update candidates list fprime = f.diff(x) solutions = list() - solutions.append(round(f.subs(x,0), 3)) + solution = round(f.subs(x,0), 3) + if lb <= solution <= ub: + solutions.append(solution) candidates = list() for solution in solutions: candidates.append(solution) @@ -147,17 +151,17 @@ def maxmin(): # Create Graph lam_f = lambdify(x, f, 'numpy') - X = np.linspace(lb-100, ub+100, (ub-lb)*10) + X = np.linspace(lb, ub, (ub-lb)*10) y = lam_f(X) - # plt.figure(figsize=(3,4)) + plt.style.use('seaborn-whitegrid') plt.scatter(X, y, c='g', marker='.', ) max_idx = np.argmax(values) min_idx = np.argmin(values) plt.plot(candidates[max_idx], values[max_idx], c='r', marker='o', ms=10, label='max') plt.plot(candidates[min_idx], values[min_idx], c='b', marker='o', ms=10, label='min') plt.legend() - plt.savefig('static/img/new_plot.png') + plt.savefig('static/img/maxmin_plot.png') plt.close() # Turn all into latex @@ -167,7 +171,7 @@ def maxmin(): solutions[i] = latex(solution) return render_template("optimized.html", value=value, fprime=fprime, solutions=solutions, lb=lb, ub=ub, candidates=candidates, newvar=newvar, values=values, maximum=maximum, - url='static/img/new_plot.png') + url='static/img/maxmin_plot.png') else: return render_template("maxmin.html") @@ -199,19 +203,42 @@ def aprox(): a = round(a, 3) h = round(h, 3) + # Run through Linearization algorithm fprime = f.diff(x) fa = round(f.subs(x, a), 3) fprimea = round(fprime.subs(x, a), 3) lh = round(fa + fprimea*(float(h)-float(a)), 3) + # Create and Save Plot + dist = abs(a - h) + X = np.linspace(a-dist-100, a + dist+100, (dist)*1000) + + lam_f = lambdify(x, f, 'numpy') + lam_fprime = lambdify(x, fprime, 'numpy') + X = np.linspace(a-dist-15, a + dist+15, (dist)*1000) + y = lam_f(X) + + tan_line = fprimea * (X - a) + fa + lam_tan_line = lambdify(x, tan_line, "numpy") + + plt.style.use('seaborn-whitegrid') + plt.plot(X, lam_f(X), label='Original f(x)') + plt.plot(X, lam_tan_line(X), label='Tangent Line') + plt.plot(a, fa, c='r', marker='o', label='Easy Point a') + plt.plot(h, lh, c='b', marker='o', label='Approximation of f(h)') + plt.legend() + plt.savefig('static/img/aprox_plot.png') + plt.close() + # Convert to latex for MathJax reading value = latex(f) fprime = latex(fprime) fa = latex(fa) lh = latex(lh) - return render_template("aproxd.html", value=value, fprime=fprime, a=a, h=h, fa=fa, fprimea=fprimea, lh=lh) + return render_template("aproxd.html", value=value, fprime=fprime, a=a, h=h, fa=fa, fprimea=fprimea, + lh=lh, url='static/img/aprox_plot.png') else: return render_template("aprox.html") diff --git a/static/img/aprox_plot.png b/static/img/aprox_plot.png new file mode 100644 index 0000000000000000000000000000000000000000..ea5d5d8a1ab289ea71b352525d415178fba0c438 GIT binary patch literal 29825 zcmeGEbyQSs*awUbZ6JssNGphxG$KeDfB}MmgmiazBS=Y!C>)X&e5Dhp->kdKazTZLg9L&P&ngf z2;pCD^^8ozfAH<@KUO>gU+!o01L6PAT0c^?L!n4@kUu!zBr{ClABF9uRqS6{8QMGP z*czZLbnLCot?bQBbgw!Z*xH#`SqgCTar582YHV+BeTRqV|9qX>%GQX7B{<~?3Uw9r zSn8glbHWnF&An^uq6oHdEkiVD0ao~sH9-RhX) z9^>h?iF(EFF9>{V-)9bUpZSx#T(HCN_rLFBRTb`g{P0%Y`{FBs6sXnuqWbEjq$COs zMK$~_1NFkneB)b8G0BmWU)IHF1b?C7Z`X37Z=x3#A~$D z=Jpz1bolAV9!zY2YB|xs+7e=jW)8=AI`8JFfgE&b1)OF^&9PVLbuE+CYB%*N;9K0SW@V`uB+)X zbGg`JSmy7KSC17G<~nbWO~aqcsd9^iq?ce|bMom04dZ=>BOt^8}UT zJb6~gd;oQKX9cr2?o0ZwFPpZuwpMKG&&w>03Zcv#dQrz;sSinMZkbAHYhR_mW3N5e zmFTpT0q>O{=JJ75^6))_xGO5peb2Tnic1zA>5+m$hDL>B<^DpZ>LM}yosVoZ0&` z)!Wqj?@8Ma`kPx@=fm1%q@~Fi85It;m#t#vmX_o) z-H75+iz+%?8Z1yPFuZ`B>&|fB+dzgvN?N+-t88@qire5%gN{T|DlacD!;YBRiq-0N zSQ%l1=7u%iILJzxOL7YqSf%ZZBKsl zhis~q`l7qOzHsxpiCI)GbbRdiklA~0sf(|}b#ihNwYIfYHGg=C<;nYqhv|7oV;_e;z&A>&m$ zqk5AKL5Dl&lg93D9<%Cz0HRl!N`G~<$s*hZXEGifI&c$Mks2lCJpVm3Gr$sxnq_8X zWsTa&?Vcf?qL02s6S_276(4uYOqch{ic4}*jz3-KF^($Ea!0Iy;z90FIHZ+ zUOtrOS*~|Z*KTtv>n981#&jnnB(P1-en^cD2(}B0uKLTFF+uuSDf=}Ak7mMUPNfmv zZeu}YYt+@%{lpzwF4ll2%BmrVsvqOy<8xYv>O8)*b8Jb*K=_)kowN!yO9OeJ_F7VMxnLSJ7ZKb6;bARp>gYU1} zFheYZTt`ZgH(`$C;3~iKRQwJLin@Awe6ezL;;tX>`4ZY}FR6~YE@snNWSaHoz$gaj zHHSqcC3S^R3;ZPE8w;JD)=x-GEFj@q9Vv?>I8XULDao^cxLgR=+{^F}`VIq~5dqiFyZ<5EhD$IA&9(Imh_2+f? zC{C}C5pg-*o12GnQe@T-yNu6%bu_V|L27bpYSmP&@!jQASg7V>)%1DzwPegPYx|42 zFH`OlnEv^84@x4nkolFMpdgfbnXRA4!FErn%~ZuuG|Xz^R=}hRoy{fh6UUrZJcc{6 zTs$JNt26o>I9G4o`h-VB@+|xHt#g+-K4uOJ!BT_~`TY6w!5yMsuc5k2$MPHe9|fXPGkAnwLa#`!gFu4y^d|`M%@&>in~YM z3Nwzm(+q#<4iW0|Xr?IFp9?X?K1$k-jz*&`{A5rp3U8rpm=ExNh>UFQ=+IvoDMR5C z5U3XAaBGxXPd1zlV-Sx^ouRs^Qgd=Nb~0o0iis)A;!j*vgJxx2eYGET--`fGtS|28 z=^)tAm$kIC;%-~XC*E<`J=z(I6?YSY$1FD0u(Y(4ixUib9C-s{GYEwS+rk_^ve~AM zOr_*f(8O?}k+q`_y9PsJZ)fpC0SiBpJlUkRjSbz6>DE5(sr38z@5jK3ppS;tM87;# z)E@8-Fx$(+ubd&fjyx#5xK~VRmEoT_ZRu!mpeIGR8wtg`xXmzJdineN>kS-#G0njt z77>b5=-29$`Q?jhi6o`6FFB****c6ge1gbR_&1#?FvlZc+9`q3^!Re_uPjx*t#sJK zQ~bCQI%q!IY2_H15cT+(h}HfrmjQUk>;JvuZ7mCt+9u}p(h6bhz37KFd~EMjd`BJf zIa%cs@*K}X0X_e4ikolc01rj%^@HQnJ2%xbrsl6GHq}v&9St8}-?JnnH+Xs9|9F*Y z=s^c?Kwm$tNVYP2eX1GTNToGmuW4v_0|y7EWJ#wfgnDyzOp>RaoXo~}KK6#D22JB9 zIr31>gALuIbA8;cDf1HEA7-E=PQf2M?U}Yu?i;PFhugzeN;w>Jm&nO&oSe`Z4n!n$ zG3|c?16#Hv_P2Q5Qh6pdT0XHSGByqlw!#M!B)D6~+1lEQY;cR=Vw;r_k#`jAb?131 zYXEH!-;KQS)Oo^>YWMhHRRnh1We&yh<&v>t@o>pw?S((z=_EZ9UVMGRr(J`3U1Um7vzUtxi;ku;>PpZVF18SZZo9egH`o$W z&gZdj@3}icgd(96t^r)Q`Xd)9U}pW?vz_tH8#C>yRj#*ST-oM%dN3h#Mj=Toc3?n7DM$UWq9R3o0O?#kspRzLe6MP|JGS%o z>DcbgB}1VXFzmR3;?}Hulq}(4{O21PV7D(`C&xFns>RHzpdRp9kKZLEzEabdtwt^G zD!5v;!w`Sls;hWev&uE!Vps@DOXKePl!(&`-2;E(iSHRnU*IYy`eRE&7!^QI`B1ne zjy7LHF{|f6AL7=)j%)NGIFG<7c&BujCuH0j8X68pa{~jb9?Q3n7a551#ir;zQcWVc zX|VhOA6g$z0rhO*+m~cc>VHu9c!$=>2RD^TT~E%)mkIolu>bc=U0t0`y_6Rk2ef1z zq4=QS;8gR$pD6qJ-+s0;Z8*Qm9Tu}9%Cx+WE|Zdy5|Ypb0%%VOVECe(t9kQv;Tdm$ zcE7$zpGQy{3NYRLKtA(%D(*DTqkR-0xvPsOP@AWb1qwhE8km^!entATl>4fwarf@s z1Mu!Q)f|qO2N)Da>n?mLq1&Ulm;s(b?dDTnyhxVspjWqJ$Fa_D;2}nhDK0N+kI1Az zVG}Kqu@@N`yOBY(9!J5-Z@;r-!XNuHYJF>~b03|VY1UU66LaNBGHnqhlJ{S(#=) zU?A6ljTJFxadOk(S&5}f4R{PWecX?8UZ6S@-f>##0FW1d zi%UpINKO0ZnZv_F=c&-!&aj&c(i6p8E-^BSH>gWZ#|;FV5NnkYc^^OJe4e4p$Eke1 zzgNV2ue0^+$hopx4}XKbCH$jdijF!a8)cL8BRLngS&%sdsgD6!r^p7!-C zpIP5cetv#rNPuIgVnyKr5Y|xXA^^Jye!M4Jt;D>2B&?!B6e>fB#tnA%paP?ALpSQs zCOV6gxEzg&jrojZ+ob_M6u|SEUIod{FnZAyQ&A?S?KX2EY|}eTf?;jfRD5jF&F-mqgAi(Kp4bbH$S^zXAzPj@*^9NBM1U(aM_q`EMS=)z(eM_i#*z` zLD8D7L9l&$bG0O)XvYfMFzGdgq?q)kI~CEBk+~IVW6vHt?b5AqcgZc%yp0dmXu2?L zSS%ou+B1@;^8gD#rW5{7M^3J1Ir#JIUZjEqU$UgvsCtGxJ+{v8d?z(E^{nK{VK1}* z^U)%+Xb?BzOUws#Nk~Y99?HnX_4f95+Rb&{>d#i|Pl$_i?e+MYmKMXz%-qS&&R#b9 z(9kelgrEO+0ubxP;o_*bZ}G8!_d5--l1H6M;=?1^YJe!C4wlxjJ68WoaP{sjudWRS z&vG#L#WA{KMX{Ann^#;!T?Vx@kB^HlJ5sgssF&81+0F6B%Bjx9iHM3$&Cj<&4OrXW zPFE|jEG;d4hW7LrDm007xV!*0+2rq!%SEPt>;C@zlqBv3(5W6cM)u$bOiN44=ZE18 zKx!DhXAY}@)%?y<6!B*rCuugvH&q^#SiIe*bVJh7Wv5DN6;XrYH3wRGO&^SW*Tt=V1?;(54EB@Fn>i z3!ah^v!~V7)pD`?enI4{m+0w3fgb=uPJxGU{L4BpH@7;rRP}Jn=wPX;*=JxZV38z$ zwL{wdTp9m*?8B8s?h7y&_guTP8dq>Xx9Zo`*ZVq+xqu>pWYc!8z?+QH+;k868- z1%@{m7#PyhU+1({^&YCVw(eQ&n06P=DY=zEoqUGxIuTL%`a57j!<@nBEff4DOH*a>FXk&1n z91Tjitv)~fo_}>KI_5(cr=(>av6x!L%_Ft`(p8ID123R0E_a;u&M$GJni?APHP+oi zp`ijoMoRP3cp-y$r_F!QIh1pVRq7@qm>*ikjHNw}9A4?w=A9nAt)*#MarN0L^!y(H z>gZ)y5L=?O%q+Bb?$bM}S&UHlw5hmDPqMg|`1D7N2LA7F&zZXtMVq0n^3jAQ+;Mo< zEpZScWHI!s(!~zePwZ_g2G|+UgZzL=W?_%-I4npxI}587n_pvQ_Jy4r0X-fRlVgr<4hAzDCiDkG&FIn z2S+8n846e^f3VMEx0JsQnm2WKhvVQ8{;Kvk5Vd6H=l=kInf>R|wZ6VyXg>I1ZOs~B zaKvz6RZJ5trz6gCe?%Fj7?asOEbRP}dmjG}>1*W7h*{ zMH=mSWZaiU4b6BO+SDx2;qJH-C`P@7CNBY%K4=c3-vhvi<2?U0+IcR~>8FJmNGtA} zJr6~Oaw8+jvtJi|c@)7!C#+qzaP!WcI7GtO-&*X2(teChKDkImMRZq63Lgh2icuc) zf*V(_de5{+lT%X4z?J|0W>Oh-Cp8)i{w{YgL%lAs^yoE`)GD_Rf-UqL;F6DzkMT$; z9|&}n?N0Ji4aFY$>sCVaPiuPr)@;uC*f{mDKQ4ZP!z&rv`Rf~*vkT_N_2u80%zC{@f6}P%Jh;AYb7L_2C22=6O0xm(iXGjRK>&{AOt+qC%+~IJo zo)iTvB)OxbBi>REX3PCxx#V!OSD~S~84F_zGRp2s#VV>ja0)7yN4@LIbh!yAl36PG zKHt8v!QN^G>?Z={6I1QM#3W?W{~as0H-8b8I;@oO!iEPR%+7-VZ*2Spb(UKItDC|Z zlPz8Yfj>h^N;D1yvAMgO6l6DhdqL@U6xW1=C{Z9Hb3>o{Y0&Pxl;8Ysq)Y&|TVrc$ z5NndN51(Gs+OQS62kOc3?i4Ase>UZu5iT=?oOE?Xp1 z4}10AENx|F5MleMkDEj&N&Fo%WAFuW0yF%>j;(`bsBN#4L zvF66c^xO}h4erXYmHMy+vjyt8~xQwg#9?YSLh-%Kis@^iglLN*P zeToG_v;I1IhL;ah?mN-nc^FFLF#NpCmxy$ujWgF8s29hpA5!_cjl5d)2E-&Jv(O1< zGjppafr&LhGg`q^2mqA=q0JamehbJ}I+R57kJJ~=E; zne=AaO4fY*NC6lFJOLCUWC3JEfiTqtFy>!x1}PCKLjx$6M2zkiQH+d?s2|F?VQ94E zD*8kMq`dZ_uBtP{#0_I($)Ht7zysRa^25GM2O$^W>B!&W9Qxl?K%$<`f%Z5xG4ZBW z`zjw_1W;vMkW6j5w}JyH?1^-_`ER&0qUw`~ubwIzA4a~QRGx`riMuco<;5Rsc(K805?e!*Ft7n-?Trl2GpqAMf>h|yDmP?>K#93> z$DYj!eIyhvv2WbBEo%P{njewzP~p7C-}%YOI$-JYAT@v_JDuOm0Kn20fZyn*gn!A@ z;-W0H*!iI%PN=0@7qF~yF*N|}U{%5BlK?$^UghdQ!YJXcB_0?^p~$YxPhILvq|EFKuPH8>!5L@nMX{a?+i<}R_eX-^*RTf zgN2RljBn_Uoq%exr06o~68e8&TII^>Nz}6bOqlT#%60AKUriL8OHqplrHPeGJUm`r z!{-w5RDMwt|H_Ij%51p|;4DGhEee4ZKvG^;(2h)pA z{*1~-CybQ~&<1wR%2LpT9^p7#7m9VNE*g2VcoL_aBHySBTET`7C}(4WmLoA56*s%X z1!+Q+a%7~Wj+brABkl#KmL}+=MWA``;`Y=kuD3FuN>XH~(F04y|7q!_{a1;*%Eywc z{`yUT4YYIW;y( zZgSPP)JTgydVKo@u)hB!uE!G35dYFf8whf~smopbG zbi#9Wff0jHU?@^haAy4XfR70Prk9eD*+@P)B=Ux$@T|ho0@Ns{=H>n$uY&LUorBu^ zPCZvc>fDWj!HzYnZR?v7elMiOWBP8LF@ndMU_;Fc6i~l-VR=&SOy*Bgwf)_uT*t#Z zR@#XZ@8{Kzj}tSK4uY}X4HmjSMARkcMK5fM>nF&qV4 zT+@AB8YD!VQv3N!h_wd;3u-Ya-Fk*y31?Ms6#F&1!cMz)egb;sX`PGwh^6 zQGyB`NXGo=$&)W24juxOAMA?<5)R7S_^*@)Z~grd?E#)oHBTD{a7uge60`&pa4JDq zLWTxvPUFE{}-1@5wwVVJHFvMX64=>W<7_d^TkOd8*#euwu03=w% zC@@Au9G9-3kM}u|`y*&+e?CKX(Gof|sF@oR0gNwxD6;>*!YerhaD>v_x*}qGJwHF6 zm{B4D<|ZBr=V;-|1zMpz$K}_sV4FavaXC5KiM?e;iQEUYyPKMoSG?I@rd#iCngBn( z2jV467=myTgl&AF=>G<5&|GK9710`}TO+ex7rlcwTmxv=3lm_TVhRt6sJ{TqL1{|P zK3U8Ls}=|}zwPuRaE6-zP<6)e>FvTa%=e@cA&?$M1o11OlbbI>D@Xvz&miVokv>a%L8^*|mKLz+h-b2J5RIiYd=lpqaQHtJ@X1$_x%-Kh8^DrD=9U@+@g zY%0j_;BWH}AAbIP6(E(n!T|-@@OxnSpBqL02ZSbF-~iT?&je#RJ&jL$yY8!OiC4Bp ze8F0Va?n1#| zU*DU{ZG-i0a9)Y!$;Xy`FAx_&wgFIV@D#hTQ8zp+%9-_v?YR#uR1jaD0`ag?t0*aP z>N~kWhzIx`Jk-HKYV6;MUm#c^;03lWQs#FNG6t$s3C7diUF>c#b`fAYc=c^RsA~Fm zk}LjIl$Po*?-&jr?3B5}SacR=SCEmD+tvSLe7}sHSXg+st`!{_eN%O#IN-Zfc$E$ac82~G-4A>K( zNbi}-QYZ>q$|sWIpV(jer=?v7TkYdz+{nnt$56$bZQ8lcLS~~DHnj0rwfJf!mLyXt zyN&WnZgelBG2kken>Ry1!2uKbKHy!LiHa##u$^(nVaqD!n3t(lL*@mrwCdJqD6EH3 zUK%IZ;%-BfD)(0s?=N*;36)7m+}imZShYW0l4>q?DLf!kAi4Tt-G6FzmYn4J`K!J- z>GDN~mz-?dBy8=u#^mCo4kk#iiiyzyPz7D@0mv5xnor{dQ=WX{P%U{IE9%4zAYmM| zKBPbZ`V?OLmD*#h|2yq5;(ek|j^p8(d!e|+ujGOugP0?*1z}tuYG4RT%10ipr1$SH z!aukiZS_<0YNMu_LQ{=70WZ)=njW#fdKukh3BSdEeknOgR3FXO2EW|?q zNW$R#^1y-c(1%@o%l-AJ5HrR{e?LgC#2RUDOry*0jDP%UuBwucd&j;d z{s^p{80bXf3$9aI0YEMd0Q3W6LJ&7da*x0~Mywkx=#a%^X+T*vKtkz-6iSlIEcO28 zyj|~6S!wASRLjWN*vBxFF2GYk64eIF6*N>{7$C6A<{>x0&CQKe9q3W(=~PA|p=MOZ zh`ycjfCwyrZ<^U+1TT`q z4pq%r=nRfPSC9cGgI@5@I+B706o+sIabZZISd`dgqoF_%_gS)$s$`;fcb#7so3{cW zv2x`e?}P@jK4g}gZ;81xGGgl~dd7pqBED*eXnSlbabLEb_xB98b4kME4UNIOyf0pO zV(J!i9xd(N|Ebk9I5)?M361*zI(BX3(jOB?s!uO2wj;JB7-hDVU6n4_D`L)T8h(;w z>;oN!0;}#7(U=UL@s};1VtM}j{JzHOqJZrY)i|d99Y-gb968^ zh0cqQqpT!D3&`CM)z27s(Aj;IwS20K)2>m0x!?<^(XF{2{hS~k)$%c7N;i;%Xt{Z3HrVRW)tR zPU(Tr%J4ViS<5>lH31q7Utg@pOL9G)ra85%X^T%fr2TV8F4TWOQR^Z$|}7+)?C`Ta5b(3hDq;A|5g>%#+;d>l;4H;0ureiJUVvrhB*& zs^K}4AnBC^OBVsaru{jcoVk_vfli<*9GAaT+(zOn0cPCl}1|j(2*JiG+)ltlmo&2P{~9IecvGM8XU~Ejdq^iY7aLA z`~c>T;nl&da8mRC4f#`N1bhJ!1urobY*^weyx#56JZfdkz{T`I{&uRyw1-8`u}@Ca zWih0Pji>lJ+pdDZ4$@6DloCEjx`4gz11314Cgh@z@4!l`A0CbeoI3%v9~wWnOcwwu z;cD+~%oLjbeFx4tw74f=E`SWH1DOb=l_!vi7z99DaB~A_?OH4Ln&Kvx`SOQ`ra??H zX@%2j6NnSgDA%E}+U;!^AaNN07_Fc{etW@k@Ra}P=twnRmjDGs<15tH+Z~e5YvUF> zCW16jOUs6ui{dU1k#*M+%} z10Xa>Y}oPM=VSBas-17}oomN=`^62b<2dgg{q*?<3~wnUx&eh0aOt%l&AhGJG2(Kh zLSaU3-maqqVRL0=1t7@!LS`;>V5&Rz|L(qi{knLj_xEo$^#T5mEA#U%y?cODN-##B zI9@^W^BK3J&fcOv3@AP!At;!(4#Na*{wD)k;88p}^_4T0IJwMEcHWSIOYLK~>)%?; zR`2ZBn+Zh3@0&~Pe ze4H>k5!?Dh;Bq65$%MYwx~um#Z2xa}97t`|pWV9bCVa^$=n`ouRyzFIIhT>c$Be}T zW0;oUwSkNKNMh^^xTF1`T{Gvbg$MAQQQ0{yi6 z&MN4c@(}weFleU)!#4)(6;N>mtwu-MG=c&HnPU%ouX&C#BK}D%#%w~lp?-)ZC=slv ze*n-y^!BUO{tT-K5tblq#qW9O?C$O!BVa@#dA!RE#Li&4B_f1Qqw%ez?GV_a?9jJUTS(MKkan0D&G1i=G9&F8T2=l_#` zQuZ|vP44XWY355ntNaeDlEFlXZ6A9G}@cR)@!W$Ymy!!gQpb!FEfS0ZH=!S zF0!W;_X+fj)cT$L^+#fUBgF1|x@;`=jk(i!r)7>a_GHe6(o!TSk{tZs2IjB9uPd(G zTs*DEN_of6=vF;S7`-PHl)g4Hvt+AB2wy@ji*R=o7K#Pgh&MLHF8gQY$g~bvK_sUs z?CXq;EEzp!D?;2Ft!bb=g}B|g$jYj*&bfE`IM>Y(m&ji_&C zs%#`zFMx@?aWB26;eBrE0J+B-T|Z1rf2NRxA0|s9N|^2R&SHi_@zmti$y%gM6DyM) zNNL*ChP$(n$RVHhdU)s1E|P7EaHxoWO}Yof!N&UZ)42QtO%rs{c+hmwUg>z!3gLjZ; zIi@P(SwZ9tE6_eytG1kA5U+qb>`*S&Bf0jgikY%rw7u#Fh**ig6H96t&qXHK%vj_& z*9Ec<`okTD!iVJMF@Y0u6f8Ks6NJwyN{ToOL{GPdPK>yJ;`BLcVV zQ|H_agz8fmwd=13=8K6mF1-#M*sx&J#Hw;q86}@C-j(06*k~7mxSyl79~gq#ZKfguvV1lUD7++qkNX{+&bao#^_l9n& z=7lobM6;>~v7(>9a~bE`0skLHe7|?9B@#qmPOrp6 zVr;5~i5AU~&NcOZaOJb6;a<3s5U$M1$48fXM44EU-mN-*wtAUBlJmc(#Y=7N@QPZU z+<7p!X6;~T**%2+@y|<%l@@)Uqp`Y^ zE1xdYNELWr>f`=CUQT%^BQLL|%g=5wFC8`UPf}UATxVbyeRg8HhGjFw>`xP(PWkQit-eUP-CEmS+ufJ1 zTyo@HIF%Jq)B-xI=VaGpg-v5;=k?BdI_$rBNVeF=T9Sqg-3HItYS_f`tEhwC3&u)8 z5CBpw`-0mPbJi_N%}48t!CQ)M-Cx=l|F}?(IJ}X&mw{Yki=SDWdI%?hk?0TVc{pObwJkQn@paC0N)OlCHuqG#W z!t3Su;o0`Wy2e~WbaYL2p2K3~f6Iu(>LfPUKDp}CG-vFe?6)tCtv>CHo!m2KL3a9<=e8Vh4GmcZ#0cS z?%hB42X?Qii&@0ZzPdzHb*{+OCo{>#+=^~3Qym0pd6x9w7JZbHA99}+P2;)$t>Bgx z*T~jTI&Q1P6{W0Ud^w?8Xb`9T*m#rXkL&Z=?y%GKS07Yn9Xp2}sf#^tqR62ci%@{Ns8t)^6nY zOPvGtflV^?cSUlXuSsZ581WrmuGwiLm+0mJqGjac_w$<70LTT z^WI9XZu~O5Lp*9(_BFUJS$mGzJK25XEP$Vn>@Nwu{|Cbh=(k)19j^^={1svAt6(ks z$x@Ak12&^xCmukjrNL8EEi@*>BP1S&kU(>9Zx<+QH!~z+bRy5rNmN=o%B#4jcQeM7|T* z!o{_@1Q+Uzr;MsHho001XT2mYr(iO8*)H8L=R9nEIyiGi8w5DySOi$_21t^xH=Iu7 zK49FRT#FE2fsj8+*maW)Jl0B`V-Py6DkM{T0(*=*5+`$qXSYs!P!* z6qeYH%&Z^J-wBFERNO^F>s=KgJdER z?Ff_&Bp?E*0fZ?)um@B#a!AmEN`fd;AW{KMFiPC%2T=`TZx9MN4|$P}_}k&2)Iu23 zawbPgYT6Ox3+L_NPSpvk)^;J!%;@&HiJh~&w=VXDm%No6L;Vw`)f~jVCF)ynKV(F- zf)=Ne9_(|lOzII94dG=tSfK};0dgj!-rz?eTA@rh!&7tfo5#n;9dWnLgWSxi4Cn7k zY-bM*$~~xS^LHtph>a&XBumDN^_iw$d1OuX||9WWGniBoV+F z6)ej3oIZ}k*L1mNaD`+b=+mGFVyzx*_Ls@p$6u};3^q}8&bt`A-&as&bdY|dZk9S~ zJlb=Msqs?y-GbXGrnCf-tpcYN(vBpls^z?v%tbHu#5R^nl|LEWEbp9EDzXw}AA5Hu z*YxpRJ^Ek}r}f#OA=lIlF0(tm?B#Ys_1zs2G9)wW`kl#r>jgc-rY)dak;qF{F6zU5 zs_!FoW0m+X#*qYgXIwtKK6YC8I|n?OB9iQiBivacKiiIWtiB5P;%7eo+=zXBZO(pR zf5xFU_lBU`dE6viR#t!#B&P=)%QdfqF~jzTDo= zA}%VYUCEqrR)R2u>QM*->Stdh;hWk)qyF`NW3rOexL`DgOPR)<1Z89P&H6io*Jb6u zHlKc@NQaA}PA_5uDgji%z^36bYSfszhO?7nLh*gwA3x&(!3)LRXzty=1qo9-)&c~Q z>}#hVr{+<&;QG+dM0d0(AuH>Zeu?*Ui%~F5C#BXj$1&$bDZTkH{Mqh!?UAA!La)}y z{{vM7_uD?n0jTOi&W+F{fL9!&bW2vX;$|>5<7O?-LZ+9`*n`lUwYm58V6;U}SA+wU zph`h6+UKm@Q}d?dAo&@;_*z=j?t^93nF_dAbWx5v%H%SQTGx8!z(9FX&G-_~>^}Zz^vo85?7Uq-@_Hbxs zU+B})X^}%WvpYGyT4bb)6p_xvLh^4kWOL4YhJ!TBrPY1sR?ze{96?LXwXKEcx-IF`erE%ZA5mFvi*!?wSzC$3T(LCCXB(}K+&G8WEn zfYCt>5q&bW&3I^I*E*NscKwjxBp$aS`k4IiFkX#&g-u!1%Zw}^_w-&=u`=YVIfKy- zzH@+-`LYb|9!p@DkJ%1a(RoJHF;AmRKB=j6t#hhzo-AC<=Rdv1?)!W!@t!Lynl7-h z^{h;Z%Udd1#TGPf7kx24x{CAotmmtwx9RntLwu5j8BVWwnNQXGPeAg6cn_7eosHps z!96imW-rUNr3iQ2j91BZqgJQ_1Kpb5sBz^x!dj*m+2JIzwAA(PB}u!8=vgafu%{rk zu`a#y`mGXM)Q)JFXkf4ZW5uzOa~WCV{R^gR=i3gBf+Bj(o?oq0#-X*x(`lo*WWp8AF@+D9NtQN zfkV8-2xI!Z@EODCEQ=$fc?|IZx-(8cXUHFqW$4ncLS|5>R=2ryegC^spXO=h3C45Q zN&@F@|1aARk95Kuf3fn;_Q9$=olA5o*zUrGWu*NyX4<&SbyW`L28Oq&&JxKn$U!G!dw{~Ilb_Uoy9J3E}Z ztjGgQS0~Cp`PzN>h$QK06Q(iNM8nsagO@aCGjz~EZE6VY@Ji34!O9*3;3+xde%+XGUF-^F4>@v)oj~M zDV?x;vb`cI_JiN+WY_IUTN>+i?~8Zd(p>Z2yx~*&^W6)34e6-W9~HVhDt%jXIXMIs zOAAB&((1H6@5aAyzaqf(xrTrL-5>l%%vIe9V~ng)Owz<>BV)_7`fn)(N0u#hv>kO5MJjmuHI`&#f!h#8g}>f7t6zO2&9f z($SCZsot_1-3z-QNuixzgQ42i?<%!?YM0;qrZaE=%tg#mM>r3Y zH!^;QxT2(#c1J#)biyz0<)K5VJR@t~N?3Fq)*O&`jz{lF+70Xa9;4s%INi&%H1c#O zGr5bXD)Q}KC5+Quq#xLF9e;m+bum{%G^SK2#mMoO2dz#g`TH`s+kke>E5o(m1=m^W z;FhxpM`~dg(ID*hh;5QoGC=YEa1%V)wZJ92cN{ADZ*LC$G>r}@Y!6^VsSh17fzd`JUzCUQv^+m!7CXjEcFgRC7l`nT>b{9y`|_Zd z5+3m>G8zl7`h@q|GuSIjOe9g{t|b$(ocrV}YobTKSNvVxIdzH+9E6G(Vgugv!T&373>S*d4!0uO`Vx@wQr>CIvCFQ z8rHWAUtLNt%u<)?dW+mKyp79gW4NDu@MrEtZ`FFy^^Df4vw0^Sb9*#|`tAlfy9O3Q z%}Z~1cTYOTsfLPUIjJH9;0Pqsq_0x?to2T`%SR>Jw}eA3wnJry9LGjVOT>7;(SoZ} z(OZckhE6pu=m4^k`^Mz%*AoI0E+bo1BCTnDvh^f=W2hX1YA7L{Y8)f^qL=wHVdEC@ zBQ+gD^iuZhK+pK?4WTn89+WVg>Bw4{WG10wpPM}~pE)?1Wglx5_iFmjPd z4}{+tf!RW=b-e_A6bfk}fa7J5!Kgc8EPaOh&}7A z-i#|*F5H)jd(AA_Suyh?D{H!ZF^3sKXJ9wQA<@XXy8FkQ8IsQx6&o(x9;q>i)@Xu^ zkTayiT;R;kU~%W6pS8cwqtX!Aj;NTd6!xt?)J4eU&Z**%l z2aM6z=)U3eJQ_Td;UO`+eV8H1*{;2B@7w5gC{XDYN_~9zKxb3K+Kpds7npir^m;ie zCNc48u4Yx~e0u!a&JHWk5is^Xz=@M}I0Ji;jI8#rvQ{X@(g<>H>b9*cmDny(l>6>P zfE*mr1Pf$hZmxONb4L`0P_^2>zwdf+2TPz4SeDipyGDL_K8|q$pZ)x~cXuF7t7hIFD7GBrb%chyM?Q_=eV6Q>TNZbH;YDEZSFF&U zs68?m_2}QlE&+l4-uZu3N9ywLiaqP+@oRMI@9=5g%`nW`URqBRF(=;Ycb=J<=`44i zI$Oz)S{W`0hp1E%5V(Bf9;Po}I(G6JAZic4lSI(jQbvXl&hVj-(`9KH8H^=faCAT8 z&{HTrd(d+?4m-g0W*_T5I;tnTy4p@3Q08UB@ACE4Ko+H?1X{EtWHk(9NDxh4?1gWZ ztZOb$n6ES3${|5Cg>Q9ItkRMBra82r$7k5$W0XXI(UYTFD>2nwi`=;E92~lE5*G;y zfWVO|aflSA-!sYhtkn#GQp6*{V>Kc4_=nlWx z;9rg-bjfeuzW9qu?j|i#ncv7Qe8-UeK!x83-$^c{KJ5I5QD3Tnn#sj$JQvigg?TzK z_>||PlGTZ9?GN_m*2~venOJ8XIKAPZ#tl)?_-@IQgp=bP^o4B;2$_M!8u^gX<0Jfv z1MWF8@*jcH6a%>p*;&hd5+z)iwk)$X1L2UcK#0o3UN}VnN4| z)1do?w#j}b?5qv`>kGTb8Y%}A6#8)rj#9OO@j5LRKl=Mi zOmBE#f`=v*3e>AkP*D`hCBc7$P|s@GL55sx9msHTse)t?0xw>_YENx<+_0RKK$S}o zVK+nUs3~X(hev%K6du%)&PLKdpUrS2E@QyGzZlNvz#$ilo2e{1n5V;2@9(hD)?3YF zYYMlKma6Po&=3*J(-&3sn+=`!y8T69M}Em)Z!TbMz1Lble6QiN((K%3k`q1t+k`b0 zAzG-^WMmJo@P3YjszZtxJSMg0+J3l97tr4vj3c;fp5~j8zHR8-8ok!`>RD;OyRNmI z#@d1SE>T6kF4;Oh(s;Pu>s)b<``B48>-1hrDYOw6%}CikQanbMwIvvtfZ!`icJSf%=w0uK3aO6c0YoKK- zCNvu3oBX_U>)5OmlOHmE3A@RYvfMF#d+qhwd3&pTrpa5#TaVQ65=U8zwv0&(-+TV} ztbj#kDYG>-S(n&1+`6IoS{|KrpX5M6B1vP2`lomr&+$ z{5oA7dyTaMqS6XQvh^3pC>lL>ap2;~Zkrx6bFwDTT34?zDlDe(!FlWC-Q!f}oq73C zDs2#XT0wz&-reZ~^CY#ThPNBtDkdi(S7al~1S*+B%FgefP%a&>a4AZ;`vVAhB(U%4 zbxpy2pMHHXSVbRx5Uq;}2@F$_8M|RC_BXU_Tk zOzPze=P`lMj`>&jH05PKM?S#xsWiP#!DhQrC2^Y>`CbTDKBj`F{zzo*(~Vm?Ehnpd z7v5wlB~DqZJhqXX=|lFZ`j1D1L6vYT0m?tq=y?4mWC;a3_=AIQwS7ZEJVdE7Se24EQ zi21`@;3lA$NDUulLiS$pO_g=bhF|wnN?U91}S-DBTZnukRUX$IFww-B|X<^If2_L@)GI z`x2#KlyhzbskR$4dRO;}G9Ir2zWwv8|YZbRV0v~BR~4V9{y4bO?mj7^VS)~qlOx+jwXS)IGJ zeVKX!SR!9c$;ACBMbqCSwF${8{F2@RIpc3nnO9#Cy*jQ_TKC9+T=LmQKd+kX=O32D z*~FxqMUD%^!@IbO)uE#_1KFTsuhg}wkM=JHsIF_Q)o9L5MQaq7DpEx}VnFMXO+PIDpR2(S)&?5 znXmWBdE?@+C)g=5uo1aQ@KfRG%M;^~&3g_r->;4g<|n#}E=^ZOo-{amCYI%0{$9XA zpoO_7WVKvp0pmB}OhK!TEPWc6ZOwG**b)je*s5TUKM_;?++f4vQ)#%`3N_WYB-E@K zoBu(vgPxczL)TjoOYyRD3}0H8qqgq$<8$LhOKS%aYf%q6J{wvB`Wy%_iGukWP9O7<*=k{%+=*iT_^i znQbYf9Y8C&Z+52L>uvq)SphwPt5G3d1E-97J>tF#!Otu@T=#b$E708@$Jpk3H+fce zAJb|Xo0-3QdSQ2)>Zf}?OkR!hS5SLC;Te9|BhB(+lbg)VZz$KQaR)X#A3tE!`PmvH zI1UB{OzcVa3MgG&fq}!3m1*X_#wtBjmiV%i^sx%B)9*w_xiKreeXPp7boREZdDU=eX z^Nf8`ZLkJ%pOF0E5RjR>-1EA&?3Ee5srdAJ)uM@B=Qu|EHF8(oayGVvdjvll`qSy^ z>+ASMc>^z)b#p67H>SwW!c7qPe{tjO!#=jQLqg{?Qk+#H(8tY|QZaEa!OF zXPc;wbHIB!c zYq95&a_!jYiY9s{D&2DtNOPIawbJB06y>^5TJ-3_Xrbb4SK#a`lxsB4*~V$XyVveF z(o0a}u}z{Hu1j z(du+~Ev&?;qce6zj+k}^Ojkx=2g%V(uYD5xjfZyIA^ckgv-Sz^Iq9iZrBC{-<(1Su zw{Q4zhTAHgiXj`>=g>U5zn@or#-A+ zf`x=xT5A|M@lnlSF8=edr)Qb;M79$qt4FUdg?y%ghAMa5eP@k`Uk^w9Oz&|;1E0&Q z_o;AK1GsA_%%4rIledc9Jt=cfa_vCtAa_>sIC)p<;m!Gvrwt6=$UpXpSC#sN+%?A` z!;{916_g9CKzLKn0Fmlu7o6S5l9Q+SDSP2w=gG1MAkiSfqi!j`@W*}&6Qceb4 zi48USE%no&T1EDA@fFm)q=E>0eh*W6@Mhh-p$+^-jN>PM&VLZIXGE7$L}y#7ur3I#?_RzT@j7(?-5z3huB{Kt(6&r_ z>t@j1bPdv}B|nwJV?RPswVsdKLtDpsdB=Z?LHyr@29+!?OT6!-eba+i;c-Nl*{eA9 z@6cxHBX1QteQWl*tBWdz{p$$J2Ln4rzW+!j5GPwWs}z&Ty>&d$_*H^h(_V{bj|Fb^ z$uo+&?jR;fcELul-!-EmmZ)wi&I-_%hz;3+%2t$TJ>h8aHmRM!=5swDwf^2p+P2mv*MTDsx{N7XDcL&ad4oT zw0o~{zf#yQN=k~X^&uc?HOicciMryl zaFz11i?R9G!YTQi4aWzbANX-$DQ$)P4d*SKiRflM-ZA0_HpJJz0Pj@(N=IB35Xh8) zx}{ZQ%i`|tJ_NL+vdtb{J=bC9CEix{o&NOi4T03>nA*~*;t9T{JG_4O^*J=tXH)vf z*ZPX{A0KgA>uu7 z;haBtulM+N=ozjg}cP>ijz&JVj^0G z9tb)raBydh8>wC*3FVX@a>B22(*>VgW4|oy6Y~?L6NK*ZBLAQsEHh3aQ^SnG^|J=W?p#&3RakBc(hu6tdg@WS!EQQinV)(YOl83hl7dtl+s8sK zN^DY6@sL0RVj(pd(4UIs=H+ql@?PfV{*CRu8m}DJ_9iP|xV~djWYa>v#zS|vC*!aYNh{= zM$dx>>Y>JQxzDLzoZMm;t+@d^{H;ieM;Dm$BaVN*_3#u+lAkjEtW?`drPr1Qw>7Rq zVv;mZKa@6USvU+L8c&Bh?0)V{7NPbSH^7IK^w%*LYAlS?4By_HdZXgDR6L^v+V_J# z(A30$2*A20{Ue9~HYdS<1qg#Ka`mQnFfCtF=M8@t8&PwQ{tjn6P0vB`*G@U@m!Y{< z{<&x9r$x{f>p|ab15U|s-8iK4J4k;{tQB%R-QyVi&F{9mBc6UN;o_J`(1)6bZT$s4 z!Exj$1}%=@avy)G%rBguC$-aV$$sY8SQ>u+;ru9`*&_pWC=2pkT3TB2`fytk5|YFf z5zsv;9nv@c$3^#kTfb#Y{-9V7ovdDfbPOGJ1@(;3rZW}?Rt9D-^DuJD&=cicG(;B% zifXL{h+->;UsMk336NdIwSy7y(bolf+jDf^i4|+#BdJ_b6aD>*QDIpqr@HoTyK53j z?9^iTM{GJf%%Xwp2P{v>?3O9ZK*ImWwFk;AkvRdWmxN;~APMsa@AKN)8ls*&FC_E^ za zR8UNm9v)5(iIdtFt%+qn@048pB&XUZ&1ggaRChOXm&apSS;;8Eu@fMxN=>!iMkzj?OCO%j6y~);f2E4cV3h5J%`Cb4TwL_NX>eE1iIm6iP)#kl6 z<~)h9veDXLUDo`U9t+gq@PZ_i?`n+b&l&vwhFcm=Eqt>LWAvQ^<(nbFcS9jeG+{|b zj5qI3PdZj3#{$4Ih7e#l@*bh9@S^XWaUV0W48#LXz?;Pr&`c~L9ax}pqm9Ce z`#f3T@MCG_$fXQu-7>^6RazYPDi^{q#ousR*WJLOm;}3}zdkcp@iX`y$rJ9SEjd;8 z3@+4U2SiudhIHYu8xQgI$h_9+=Zojwabesoaau;l$g)T=zTa{w`N)2M0&Nl-n}=@RKKeMC+K>}hkv3x!+4CK^TUDmk`p_C6_<)b#A{t zE?q^2A-SfM^a1beib7GBA~gbrFHssf%}!9jx73Eao=Gb_Q(<^~AtB(?0Z!{K6N5Wb z=5y;G^72XX8V4{^h{0{Un{1V4WUar#C2bTQkRPC0RQqAnH<2h#xhM)ra^{3@l9E<< zvXI*+E75;~+ll)#Pgn^Nx>e908a9{&`s1#+$XhVGU)wlw=f{Hw)&LszPrFXh!}Z1A z#op^%TP_*Xbd`wC-ZEcNi1`NYTsEXDOr=;+=8A|!Yo>8iLT6LhGYNnVIqCya|kr( zaw@OCl3i8N`bX|w=Fr*WNy~wUnjGM24DN*o8&y+3`Q9MN?ucUA9j9eFQ!=*Al)YPA zAPGtm97Opml2U0z%QfinYppqry!__8aUKCkU)v!gzP^f4zw~N{({rEl>lOZnPbIO{ ze290l0kBn`p_uiM?Nsi-@0vyjq4yoWGh25LlVJ|Na3MEt@3gzVD*aY2dsSWQi1I79 zaD&dKPtNxBN=u`HVq^?bi9w3Tva0HFCPQCxzF5{%=dV%J4-p-F;Y3dV1zGX!nsD&Y zQaW|s&rp$X{h{4xGt$juF%aXH)U1ny_gE9C&MIi2xpJ>N3v_VZ{kGL&Z*evB-huROB1A??jB!G!%xC9p zwTQ}jHFf~dWl3njh_Wl0y9|k!+Qp8SxHK~_0{a6n;;8#-YPIK%cJ2ThuOI7h0YQ8q z%JD?+LvfVH*6;BsUEA@(L0c2x^$a;S^9*737n!9!`{H@ri(c1ePY}3Ck4R4Is!=SW zYwTovm^5y+hyH2M*jK&8Ri8ew0dBo`v2gJC$&+l5k!_t-9tB+a7cXA)zzR7B)Q=w$%Vk7WAOr(lEkE^T#VXq(CkWU&jkwRO0#>!OSZLWKi@R#Aj%ekk z_c~j|z{$rl44DSUdb6Hm<^Oz))~XAmL|WR~?wz#7fM*>6yB%%9rIG#t@VAhE`X(Vk zIht1=Lc&?2(7LV$UYqJD1XK!v*p)p{P`&{YX6G~5&nTzl%q!5};K*h~LfedUpq11^WEV@~r{t zB@cLmcl^dT54I4_KBAG7Ioef0H8nLs(a`HrKb zV;;-C&3am6@)Mkg?D7FwS{mA?v$4XoL0>_>#pp`T^#`xtr`hO?2z#?nE&~1$iH)Yp zSdvAM`GDBp44|hep32V7A_(OY1f(->H4Tg*kcc3;Ay1%VtQhP$khc<li{Cn^fT9W67VT%PtgUl; ziT^O+Hf9N8jCn6zO0HgoPcqw^H7Z}3*lKQFc&-8`>5|8F4P_`pqD$w~CE2aeK*hf# z9Tt9pL;hZkd69>$cS?2A%(Ae%N5p*lI`TKmp<%<>z?JH*k`j5ZzAFnWD{I;QQYm@O zxtO#dNa9C88xPghBV%Km5cmj$RSB?Qy2&dlnt~|yS5Hqaq|hVsM?td}5(BG>0sG^5 z62=%pn`gsh-to7q)06o<#GkUHg-XEeG1R!Afzr&-kpp%ENB{t>QdV67vPQ@cmKgC| zS2~N?F-9PeU_=9x4*{p35KJw?k55U&#FCtK^8p;uI@BD92c`oyiKYDkma<2RRG0qd zum^q?@m-SY-!3f@g~{>Tj5EOsz_aoF+axaYzvi%90TCk4HXh%O&@d8za%Zci#A0m! z2+x2o2@{YhPFlaa-2+fmwgyOwxMI-}Db;YSQpYKM;VO9E&R|~9BXw*fz)irXna$KA zMJ~V0LXB^O+3iMy@lu8oGBZLdYg`3h(W#DaPKtlt_EZ1AUb~S2I69RN=e9SuKQB>(z`yr+Fo7&vs)t{EF$dD(FE3sep8fHU-usuo~4gnUJYfL`g8W@4jR<7 zTd^e=u@#7o=1LV-PBQRkm2kU8e0^7SDYJyOQqIRXe6y^N46}H8NGBGaR~X#yzHtw= z_AlBPwnS9hIqI)4jUjgLAH#Pqw^jmdm^FdT>a5ve>wI(t^~^tg*=SSp zuA#B5Zu%*2;;>?-PafDmeZUfIOsW3=CC_g7PqQON?rg{wJ1oiT-jKbAKJX?=TK3Zz z{$t?>=ewQsNiZF~t+js4G*h^UN0h<-EhGL@Ny(pUuQI?APWLF%}_vQ64Xa8s0(S|htcYh94p=@%o7JciNnFMECVK?RJOaXsG z**kwb;aL@e>`V9bUzoLD)1#9hiwkjvEm24HusVF5;OP4(n-H{~e>30n#X8mv7J(Bs zqOO{-PO%w$pI;)JI`;dJ;oyrZ^{@J2K(hu1BbF63@u~n40EWQHzomv6knkdyDF4=G zI`?mFCU8cA{V41CZ*8WCKiazg>&Ygrt^^4!(~bo9VaA+laJd$b`X@TtB(Fafzq9n^ zP%^Oy)Z~Bvo>`t~mOe$b-D*}&YNIy^)JYl{A z13It@LgB0`Sihgbd#H>#7Jp4mWdl@7>9CkeAm_iY!J~^b&i{CwK0@_}5AA_zlM6C% z^dv~}%^`OL;VpvJ!2q*sCZ^u^^!4l42qhG>*qaf6cN`cti;sloL4*>(nPdcVA5ipU1CNC^Sh=9c8t z2swQ^Jo{{x6%-b|M$(|f_7c5P(XNeh5c|f_TDNdG6`x#5zDp7bb8l)I+MtLm2~o{U>@*7@%HF zMam4OYDP#Qs{g8*6b8`I(wqUIZ9vB{_3AmjENy=L0Quhm=6Oc&lhlLnB<#l_Jk`k5l#)tS>q~gWvT{ZHjVo0Rlj-nhc;f;7?6W4fFFOoCMsg z*x^c$j9V){KJ`xR3SPXWymfnrrQy+DZ#^JH#zdU@P9x!5?Me)y zVxNG^BSnKC-DV&^BrcBGwtQ0qe{cW&y+18G_ti#HAEb$vOSF6zw+T znUG#NKX299*(v!+%S-G-Q$?SAxF&2)dgVcN98H2`VB%{t_5^ zy%EkJ)Pn@Kyy1GjH76;c0=;?tx&|7u5om1KgRMdFr?an0n{D%fC=Q& zK$0&8qZ{FX!QyQIT{hBg1YfTN!wd_gcNOe1q!l7HsMx)pXlpZ41SM6+)Q*1uP?)^6 zjaACL`yqZe-*z|_3cc8Ot81!)(S0F8vIa?w1Z!7vt!<0_Jv;xh`8hf|TzGD*;*A>w zNZ~GkAR#^?fUVg>i3dT~B|XGob&c+Q3{*CDW|D~!htRcm% zoMx15!QxNX;DTW>tev^m!WamMMVWTsLup~{SxM=*S6=K&^r(2WG&irOisL6j`L1ws zP5?~}*Q0Bf47rj9VnI9sgk##mP{{$3<+{K2qKS!Fwj-VXT8?6JmaVv%X9>cV5BwK_ zWcmtv7VwDNhmJPg{ob@v|D2eae=2+Dj@Z>r$oY$bj;g8WK%AVMym>^w%meOfcw+K; zPA;zUN4x|G#}_7zg`#$;Z9Nc9)&X)widXWVs3=F^p&)$(p!Re9c`3cEqan{A9W14{ zg*9fJ7vxwlX$hLtlfnLBPTi^R^(;+x5FjE*VE1BaFJk#OpU>Vz-2w+QpCmAQ|9Shi zJ3?JklL#k6nD7pW#0qg9{WXyhprlzJzfeurd zRJAU2C@4NOV${;*y%Y}J$8Z%g(nJ{2GBdZZiIqrg4nTt6Q&2!up8%IXR%U&u+=EPi zfXu+oehQsGIv~j-fuam0uFFd>3v|LtAB;d}85w^FwM*VoSEq$;S_UKGuNzTB$JF#9 zsOKhOK21tZeF1aL;a+d0py!S~)ZCg~T04^roEow-!odw^J;FLW9{_T<9Ws5VI@X`2 zBSKX785RTY17|R_f3&sXpcDu)*K9YTt^z0qyrc-v>Fc*|fWRR~h|Yk9fpK)%m;sIK z8y0%A8u-ZyZHJoxd4vUo@UZ@XCD;Fvt>_Qv%RR3VLGP6L4kjF!^a(JluR-;#`}+Dy z8X9!4aWnyB6;P;taN)8qb>68ixDQ1+W^nKA%wa5Tnn3#NG^{E}1qdKHWftSk*kZ@g zVjAu^;GiJ9_Q4`M5~CrkgCtP(U@65G=hinjHzN*Lb3lD*WoYo0{uW%S*td=FRGAEc zXb95(VIOrH$~U}WS1|`D7LY`-@Kzll3`M|?umK@hPn|(B8eup3>C-15jwt&lDyXb? z9m3a?I^4|ic7U2Quz7{LLxp#SL)T&ArbjR+6hV{N&>3ivdD``DC#h$9%znkG+kGZT zx~$^k$5*2D9OVzx+ei3eiU407{EO(|fSdrxhW~%EME<`%8Fxg4diapLYq0tWlnX`4 M%PGrd-Zb+2FJj}>mjD0& literal 0 HcmV?d00001 diff --git a/static/img/maxmin_plot.png b/static/img/maxmin_plot.png new file mode 100644 index 0000000000000000000000000000000000000000..21ffadf75063a0904dafabee1cda0ec9f520ae23 GIT binary patch literal 15526 zcmeHubyQU0+V2KbY)n89Fi@mbB%}rf!9fA(4n?}88^%PX6e(#0q(P*66a|&;hC!qm zI)&Bt?v=PK73QwN7f!o0ly@t()V&V=`ZZ@esmoI$Ws zH&k4ri2a^A?aN=t^McORUl{RA$&O}*do=j6zFf1pXHoUTLb=&hxi`hEH-r6Mx>Kqq zVLIYNIRC4X4`LZFv_))iwO z`i(V)fz_*vTg>8vi$nO{*)blxac=i6m`Cg0C8yo+OVHdU0YC4~B9sUcevsk_g5V$S z#lfSCk_Z&Me2Vf6g5Z80K`0R9?h9luf*4%=|5g6&6}#BgdveYwj7L{VRW&55c$8uH zo}eTOWNx>=zyJDgU)~eU%vl5jd+D?G1Npuxs;U!hsmcRcAeH0KQc^DIx)bvUvRC)S-xE$iFn*LjVYI_P`ub(lQCLW$tK(=&o&++<(BQoKjretidv{wUq`+j22V zDzq3E+>4WT?DmoH+>q5LmuyvffIMxRZaA6Yk%@Sp#CL4kq0ypd7;yvKmZ-xiil&z& z5XicRP~hvX)U1YqR!1Wn_12sc;SJZ#t*NV3)cD1*M$YTkH8)m>7UE8%x%>6uS0wlC z+b1h4+p@kqrLB`|)_U;*8yly%xSn#deEXND)RDCrYUyfOI;r2jNnK!NHEoExF6_Qy zY43XL*7MPZ==A$lFU-EZJo@X`ua=}cVSU~Sayx@a{HzoqP`_Q6nKM5*CLqw$7%AW% z^NHuG1G2d>NX{yqt)GR6* z8sSbeeW`~S1xy=b#C|n4uGSq|JPX^kz9(PFDs#BfU5h0Sv zjq4+le*Cy?)%`iC*kfh7yJV(hsx3i=#^~Y0@qXt)RV?8SMHXtsh-~6Q)ZSgDG(`^mv1XNmzvCqrD!M*+PaGU^;2=U z?!A%(qxy^I`JQD=$qKP*c6OiDGBo1*`gBy))XXP07s_qp=w$qoXrTVqB&BOPxClE4QqegdKhutp+x*b8sv;oqTj^N98n5IF0)KE_t*i zv#~N!JC*IM=~?&f6U8Sn&^jR9+yU*Ko$2nYGxa0O%gdR+&YwRYS*6qJg6GUG?6%DO z6;WaBwpH-0y1HP0h}Gxr6I}^D!;3m8P~ml8ptCR%Bkrjcv{b9VtyI`&=gVrgJlVef zg~lr`F_9J9^782UhxuCh4}Tupy?b}6dbS=1Cub|+%hLM8Kl4RL0JK@u&{{sb{S6g;6bXZtIa#J zbh!gg($R5VyeJ)X;`s4|<81PI9F@d^UQ~sHfTk7|6%{j*KxWc1GE^)rGZ+{dRW&tJ z7Z&W6Ct78KmgZ|%(!I&sAW)vFAl6mQkV(wvsae10|ic~`0o+Wp17xsM+b6+uS{V11N zz2dnx66Q9YQxhB>o&w5X+{SxDJ9&~4nNy~qXeo1@Y*PtXT9POGKc(4&2hCMZ`t93O zU==CtM;~8Tch|_+*!<6rw?T=D3DRaigD#*gUGpG4DqkCo)XFvXKUcwUJ}fl!W3Nr6 zE@;P+t(D&8?{xZ?*w~WSmhJ8B9Vc2Y_%jO1JNG+=RR=Jo7u%1OkgF@!k2t&z6W;}b zz5mc5)qD5eG{j=EjcP-&K@1EGtXKun`Db8Ym|X}IVkE*-tvpl3MS4jDVa4*9q-AO2 zqGCdi(woK-NW(0pxoTdGY$doz<8gskzP_!T*<~#=Ywy?;I{y58*UNPPRMF)>C1S zR4wSRNwVb^5SSbZ)9-*SErTv-$ykiL%DsDWw|r?Q*2ZF;C-NBH<+t;79m_sqLaG`bISbCQv3L!Q$H*}8iPSElFNF^lYx*%-znh(FI6{C3sg ztLHov$mNKZ14&w>&gaBX6TkWYnCb;YD5R zxt9giTe{X;x>I5rjP?l!x(Jp6sUL2ZxF}9GKaB_PXYh|{-(cDwRfeW?3wNq2S5b;< zDZgYVQj-(I=~Hd=C#LiZ$$}TFy~;kf^z!dQ@Ye&Xx9S84#ZK++(53y5qpy; zs1kjcKhFkw7QbU7)=(e(6ibcZnv=?+TCBT&km*zVX5GxFd5)h)80uDtEB+Fblhgf` z1)NSltcBIoO)!m-XXn%_*F(IP)Ae1mAylYhEOd%G9Li)_7-j1{@P%H2Dm5ecqg*bv zsEjs+pg@oF(@25(3gbM%0;$dAY;WS4&3Z7!{e!J=|R~iN6&_kkDYC(rB z$)csp6f+p2JslbvYCcE!;Fn7Xd?pQTYl~y~ zrp@QLweoHUEiJVwaEgiPf*;uV>3)?%uT|m1PqtVG-R}q@{=GSo2D+kCK*Z{dbA1X5 z0x-)eV|sjSGV4DTdSaMP({>bVR(Wsq4(1uv(uM>FoBj%BUms5h%rmZMc>e6!I5md! zSkG&1M6GkWD@U@syIZT+E@{AhR!nRTPqp6QT+#YUgc2cLm3b!~^dX3Tb=86X4Ca6y@C=+B$sGV zlkNP9ii)V?$U3poYok6`;psTp#_mb9(4XoOq((@2>D(((O_&=tjUK&E^KWR6Q?6Xr z*R10G{rSf88#iuDwx_Evc0PXm__OYHky}boUE71{*s%}NCL6gFh}W0q2aVa}IY*j~ zJ;b4Xan!qab;VZaxBs<2j@$W|wL~KEiAeA6(*#cJNyLDjYh_wwFOHe^$Qj4kfpr&+ zaED?4702x!mm;V3PR47u8HAdgV|XZ$O&VXZ4cZdip>t;>A_TMTJ3l5L-$sxD$9!9F zt`$pB5ZO2H`I7t&Zk%guI2e84U@#Z$L=DDCmub&I`Z&XyfP5jfdrfwSl0l28b=F&) zFQ+|m;)i+uWK+CkR{9wP|LC;;hGCA$FpT=Kl+9GRYVH_=F2eZ;hd8miEsRq|?^69W@dSfTtGw7h9&JFUC?cx+suNd@ss z4_*}w(cl22t-5oi0ctc zUmi4WKi;{~wQBMC26s=;JJ#zlOJ9mG(oWf2Cj(^QDk%oK=ZRpu)xpjja z6S6dV^AK)szm|nHk3A2oW^h$Ka_Q~Ag!{1|3OQUp3Oh@WJT%3eaj5J$j1z~wJV7P5 z(?lkg=9 z8MG17sf(WYqdSc}!?HZuv(w0zL>i%56Dooai&sipn+n8TchM;3vr+95*iqS_!z|(% zr}&IfZG^>QwJN2kgW7sD-%^0$BrKldGjXjy8Y<* zbayUuxgdfFbHI0k{vs6i;H#^pQDwq_@hV%H9n6N_#>-a+S|j)^01imnn61=T{&-gr z!o|;@Kj(p&XS!}D6_jT)D9){0q5>L;gNsW=R`&I1-TQ=+5@D>8o?eU-u_p-}7xS@( zXw*e9HvTARLx%3v-V}-kgnUqg-=c#nQ>R!d5VKtbu2Qu> zW3pzhF}sL}_D*mZ_-_Y?RMdwpbH&xtRn^klzdKK`L=4akuo%XP`8@|@L*FV8%d1dg zzV@+HV69IKJ7Yzo?}5>&hj~LNa8pt;-(~)RT&%cmtjEGDuX$hnOM-&x{QUfYuy8lf zz`9vkWwPq#qY+xr30m5Yw6fF;?wUXr=kHc)`5!)|97%nY$o<3K?{p;grO9Kk5V%1sD6ZudgzAorUR! zZh1aAP0ZE5Er|1jz1!N<9EbC?w||VwJ<*+a&=3wNfXdxuTkmPDXe*J$B`j%kOWm)J6*Xog%@5Y|qxmK(r(1Ocg8QEDs;IM~@0K}0XgMWFj7BrJ>*gV8^9=ul6obGCrZK%eN0&HBUb=e7O1Z=g*+TROMt2US0(dtP+>`523vJSwmGmQ!f~;=SI1y zkTb7NRX#ct>p@A+#FRO>y;At==g;QFMoe~$m^;UX3%AV7%qBZBBlSGyZ$S*j4qqF> z9W~e;(gCO0u?+m?!J%B5A8MH0@51ZXAcP>`fIghX%HFxt3Q$mRL_}Id1cN{Qm7CYE zUmqyb1+95ym@aGh9mTyMbeD&RcNuHy=tSwcj)XX6M~k|CzNiq>XRHa>3JS-pEoyQd zM+~^sdxzB@L<$NuvX$aM#WBjbZ+@<46h_rB?#uO_VL?O7J-ub|lBj~B59f2=O%Z^68WW4!Rcjwg+KCdBpRMQ@O2@_{Swb-62Km8&`REtsFujUm+^*rvz>nz0rL06K=TB8=g_qOiZZz<3e=EkIu?i zY+<=pDQ8i$LAV*vv2IvQM^Ayyn$9+_gQd0{e+eB{5suGdE2r;(AG)#jMqL)z&s`kR*boGQA6!e10ghM5@pQ)q$1c6m*?@anPv+Bp-U?q*}gGIavlT@ytB zt(!5_r$k@L+Zo53z_@r(vrl-|%jWW+r+oI4;~q~CFs*I~hi*~MTn^!rT zLXoi7d(ItwX(rV3n;3a?u&qH;1hfoZVEHE6c{lS4*_%%8|PyLvQ`?w~c%7fNXH<6x};7?bno9IFJUx z_9U3gpu{R48jEVbQ?j>j-&0Zw>d4j~{M{oLDZmb(FGL3@7;%_cv`fbrKp?vj*$Wph za)4d7AFVU<(nWBy8esC2hXQrQ4Wz{xk+J&7wv*r*89EFN(%4^FUft{AdE~IUT?jn}MrH9F>xue6jiUAsXYcceVJ_ z;4CyZH?J?ok~1*d^MPP%TDx)#m*=WzroO#8{@UN)%GS%lAy2@v>kO8Iho>XYtW_(7 zMa)eF;Enao#YSzN!DI!N=RQ7DP>n(8kwN5gj#ehJ9QG6#oWdLPH)q7 z?oR?kl2%bs@qG;dNr0tFS${sr$a^YF++ zfHja6Fwx9hebc?DqiZuq{gAg=Rm)PFw^+ONbr{i%WgrZ{6;n3<6G2T7xK;euu8pIK z8&&{eWP_|L){M(H7izg1czJl#?%wrdWd}5oO+Lz0)eGWQc2Q9s_~^<2OWF(0!3I## z)a*{vUbBOqH$OkZ{nP4}ST7w&$WL}qC>_BnV%?0t^2wLeqWzoF^mNLwJ!ZXl(VT#P z?6%Y_qpGZ&0Fki;K&Bo%x%bao4z(ag( z*JV~#DQ^JIQ2=>i;9HG7k+UP^+W(0m5UKAuK$c~CD?b1W4Ron2>q!cnsL$C zX@F3-+qf)L*L&<4qIrZWb3B`$wn)Gnb7Bg!X#}Ev?h&uimpl z$Y`#W{x#o_jp_o&p>ck^BtPXQ8VDNDH$1EK%Q+Ph`@<<(0`h$2NpYV%zL zS#%7w@a*tMe7mcYZjKuUC{cR)Ic8;fx5sgqTa)a> zb0vRrm5Zm!wqofR>*3pNS+O$<2AN3Fesp}?qB$G;4(W)!nWH9MK?kU5eB&c+nd5Sf z2YjMcbX-AEy*>W$nwrw5Azl+f7)dA>;0%JBquxor-)-2Lw-kwL6P2~QTo6K6%?a9& zM9ak%t!Uc!;@CbNJcxw1LA0&%D2K!Wm($4X!@JATajJuKy4lV_B2e-oW%wX&I`c;QdA?9xLAAR_hDx}Uzqlm_g;(ZL}=RgTCXI0kyz? zA5a_kc545R(R3*bGM)l^joZcIi)!Pk7L%8<%pA>6n$gtw$l~dr(gBFO^8lHWcN25VFC2;_}i`D7w1T;(0ATnzyUSL>r z_?DE^CD2!2zI;K03pC^bfEQpMXcEPnU$nR=*>N-ce zEse+f`5i3Zm??#TY5tcOrGz_px z6eFlifDmp6L6pdE)sv?-0zQJOqhr1}d2^Ara}_dCLqkKtPSfFg4xjF__Jr^o{vMdA zBVQ}$EyGkxxYOS;={2<6)*!O?+qc_SFfChcEyq;0bTHw^sxD-lkL5gPRpZ{qFbsJ;0(^dzi+%{|BLaqZDW4F`~6`y_uDH*df^kjjvnHE-)L?Cbm`wJ0DX~qky+ul#n7M8Qb6%@@^TBM?^#6`1l);7;PV|kBqF@LeYyz zL7R?&a(6U)x4G$|s-kiUJma8ij*}`QBO|GaiBfdDdTk3MwfvCz>VH&qXrRmpxj0&P zS3lI1qDfJFb=RCZKr+j~MS;xeo#Nu+$^OzpARqAC{ke^80lGjQ1Q9ApwQ=Eg|{Dv zL6btroJoWAlmO_#uPiuu(B`-sLb;idtVVwI_hy{!#qOO)wttO5IE`mXw2^Zz%Junn zS0Bkj!A#yeUhJB)QEp>tV+SYrqwhNC2FN7NnTr*r~5qDH&Qbp!irnI=cC6xg4CaGZs26kEDP$83 z_H~}kdm$dXLH83VGiIsrVW4W`4rmP0;CR89O0a=@!eL<&TD6EiYDQlkk0LHa16*TQ z89DWsfdaP(6KbMpa9We~TctA4K?f6*t6g$s0Lr7Y+Xus6UfND(im7qIAQfl;s;&r& z_f9V+QPRlgbj-$hxJ(Ft!+hcqWDbp*^PckPBipZ`oK;*c9S#GZ3~wadGE#et7x6gh zPCxC%{fg6oAdyXLs&rLz6D z%6?*DH=z;QA*>2tZAM3Ej6W`ccx9fq*boyQRV?wK2&aTGkho1cR}6XKHTY!&XLQ(l z6-eDnkVCJef0X^of+(Z?R^p{-kVnjDt+D{oWkV|rLV(9C9dDDpf;_D%cPG#l6{{fz z9)J=z@23K{Tu> zKF8|g!z73gx?8?&9k?8?BA zO3BFJ%GAiYDHCw|Ei19NPywO^RVSwcl!Fx%^a0@al&mcIpy05uWZhCHv*Bw0o?`oC zfPq8azn`e@-R&U@-Wteb7xX_%-t+`vz(0in#9X(R7VLL;*V59`mZ>dxOImtzrgRqN zZ~ZTT@@UV^=Ko`$9JDfiZodK@$3?*x=qIFto)0rzyWNN(mpys%Bq9(6k0oCmY<_i| z?F1uZ@9)j=aZ@IU(}PrWbo#7a|7qbzJlB^LU0jL+m_$aaMJPSgQI}PRPpK-FCF{5M zNfF0GsHl{BcpZCLZ>%gYA28rL##Fx4a%X*O)|=P&d&}=Al!?^QAsb|FZr;P4otpZV z6`Z1c4jT>&-*)qmc5}z?L{jv})#s}<^g8{_zJr<>Crj0YJhua1Y~HS|;qC-Kp7j1m zEKLH64@VPkFmAXYWdPSQyZ$-qNgDETn@9?~<}zoX$wjNGu3jjVT~VP2^rA3UcmPD9 zLXJQ`Kg+`}0JMuwxkoNDPdx|yI3IWU@8 zb|KCa8yk$`ED)pr1pycl%+``}J?dBKdzS;w5eLTdP7pXt`4*j7v}3gY8%j_9_(gH& znJ6%P+K!C+Jm6TgD@*%#;C{i z4?^a@V0d5$)<<1e2EP+^K`E)oV!>CyV5h5PDgnm^aG>SYO7f0T2XYoC7A4PsCne(y(_uwlxM|e?MU4eCf8h9Z2mqc9V;{GpTa_)8$w zlQN9nf0lLyj{h(%7bP0?ud@`E6dNPBhW(!)@noa^RUIU55(p|jC`3|%>%9-*!FbbI zNT)6G@=%T6b`RFO)V_p~o4x1EE8^;KaK}AFrR&R}4T~q`Uc9GpiF3A;GcQ7d7#?TL z#55*@-du#6!-0$M#%FdT`jBJ44LM0CturA0FiG1 zHGdiH=DaXpy1M!G+)m)O>5N#Xodt*(`k>+jyI3zHI3?)r-8w`NWH%0?9jpj{Uyk6^ zpi_z~#Z(9ZvIuyIy2U@s!^0oE3+aIFL(h6p9 zW-foa^8hjqNIl`k^W+2ki|y~%W!5ml9z-TZXVW#N+I?PtvxCuRZVDmP&|@I^2yTSn z#4iS~V_#?xf;e>ez2s_+j+rUCt$xwz_AV$0P{U)MadSZ%2dTVmwt4SswsTTX zSP;D7UYrD*Lw;mfk`7P{q>x?0aq0bKXpN&VP3n@Kdd{2|P)-BNiIlA8DLi;Ujo`!g z;_yZ~^Lc@M0`=3p&LS;ngDz|_)I zQ~d#C4%i&wPdH0lE}%8gta+uXOUb>d*Bul23E2}W?WyvWhZQz}!VJXt%HL_Wp2v3X zz{19k{qt^A0(qujXEgrKrH2~1Oh zhORkNi(^aj$(am``B%8Qf%MII6lu=-h-Hjb_s)7p7M=*jvo+@*KyZ*^I`qT%9S29E zFI^I|SfWLC2qk6Th8VARiTa|E|4Q`0*uoVLx$&OeV3YRZ_9$txXX<=Wr7U1zpNp)5>hTLzAR#;_C^)~hH-(K!@^vs@`Kq~^cu_wo~^qN(Kigs_w^dBtB zB=_y-(w3xUfuJi`f;csh|4V42)Du zM!Ii0%1>PK-+brJxf%kWn1SCQxWsu%o&byznj=X0593?~(s;1vM9a(M3xairD`2%> z&oE_fi*4|kQ326G3bB*~zB(7GJJn2uQLkL{KvzYd*r zyK{f6RK@4xraS}L=7oUN&`+bLynRY(5ybtmmuxl20Yh%^LCCfYCN-835l{(rO>sAeH?pknqo(> zs0#riaqiqXz+x*$4Fv~W5`bo(aDa{{1t_{a8+x637W#kI{$R)09(VD}zGdT|o)Y93 z)!J~oybA_N;G!g)1pfm~3!JuCFDWP}s7E0qqkJuq<*k+$$|Vf>c--Oo(Y zyR5_r_=;%LIh&^WzMXt%{5LNSF2GLq;UZFS3>eNOB_*^q5fw9F|06q31Kpx^koWA_ z+wt+XY1uTv^`k<&_U!3#sOR@zU-_ZnIR0jK6QTRh=>{~_4#+<>#oYcYSFWHWU*OF` zuKGN7oirTSUg_<<40)M)3vexfP~9;xTYUd%aL_q0aQp%VER*Vj&=taPU7)VxXrtIy#&thWs&S5WTY;9I~j{hxmPYN}sGnUhk}2n$B%Bhkl8A zVCCDASQ=(M8!O6tN8Bm&#V=kaq~A5o*)`7V{dT6Tb=B*NW-MZY`HsmgZ&JGNT|cszjOv)Ayt>(=~j9XHXBRx z?t{p`ae659@x&8IonX!LoiA@^npF`YsiLMQi2Oa>^4F2(0Wb?^n`+dM z|9t96=l6JXLdk5!21*(BXBN`};YFE;7qC7wEFFHQ_=17d0~GX3{mOybe0~~;Yusnc z)qQEX&BdkNU1T6gK@p>)=cUIxv~Aj9zc{W;Yhv?W33|Xbm6elg2fE@l<2rf({_g5~ zttGMcRJ}u~#NgXO_>#RAp0Mf-G-z2MXnS~+eUy(*0}{VmNze9|Jr0Vxy3tlkb$BfVA8NHEklr+zW_sP~j7B`+Hu{uvoi;t8EG7iURPjdm)0dgrToE<;$IAW2&D;tk-pUDBHd^fC?B_#g}^f!Og6#)GxR$!hoz1^Hq%q`Cf5}pEZ z4W#ZyOE~pVD7IL~m*+#xB=iXHRKw)l1)^^S=v02UWq`K~vA?u4^vxRskw*j^v6i5hqE& z?9?FQb6cJSW8-EDCv74y-r`ojcSEEo430c7@{KmknIG=(oFGMbHd4T<1sK-LO_DVE zLNnuAz{M=TcsD!_sLLFXzsfbPS9!Y;Pmwm5VCEpHF~2b zQ6Qt80AX;N&0s~|D>^Cg-vL)c*y2B1^SKOwGuj>7IL8@&DGQzDF^_sf6QXu~0)+^KSIn30;Xj2vsBrOd< z1@nA-mOw1)msd}hlk)!-vRLc0uB(h1nolWphSSTm&cnWL6}GJnYf$pr9A_?9zmJn!(9%{_r6 zX1`A8{|u!C5dIo(M^`0;R&ukILdf<5+)B8+U>`jA0C;?g42!1< zd_`gJ?J~7&y-bmrB1u4i6XirLK?qO@hD~}M3aYXo`xivnIU2#vjy-ki6v!MM?5a}dSv5cqY-SiGT*#DY%TZRZTN3gf#rLt}sJo#_v{gI9U literal 0 HcmV?d00001 diff --git a/static/img/new_plot.png b/static/img/new_plot.png deleted file mode 100644 index 6cedd64125325128e8d0da846944e109f6b3a28d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 21189 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 diff --git a/templates/aproxd.html b/templates/aproxd.html index 1f1b92e..429d130 100644 --- a/templates/aproxd.html +++ b/templates/aproxd.html @@ -63,4 +63,6 @@ -{% endblock %} \ No newline at end of file + + Chart +{% endblock %}