From 98597768f31da90770a4e1b0c3c7ed9ffb57ad57 Mon Sep 17 00:00:00 2001 From: Nathan Woodburn Date: Thu, 9 Oct 2025 16:03:52 +1100 Subject: [PATCH] feat: Update resume summary Make api endpoints more consistent --- data/resume.pdf | Bin 713144 -> 712899 bytes server.py | 24 +++++++++++++++++------- templates/resume.html | 26 +++++++++++++------------- 3 files changed, 30 insertions(+), 20 deletions(-) diff --git a/data/resume.pdf b/data/resume.pdf index 93b6a4d41399e458e8fbc5a4dc358f5b42456d94..023005092d3357d44be8e4d3150a0fde668ba240 100644 GIT binary patch delta 35901 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
qBNkq$;oZY2j5{mK3>j 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 YmA)a{k2LbMI1+(CbNH}=h9b@X1EZX6F#rGn delta 36160 zcmY(q19Y6<7d9H(XspI)tj1Pj+iGkllccd5O&X)IZQGpKw#}Pg|LcDDyK6mr&$Ds% zo;B~xIcL3d-rjEdre6BESO_+*-@h6D)15d7%v{VY%*^Z@tX#i0@%}IC7bJKnB=~;< z@hOm>0`)1-p91qKu#J%5a65ev!QX*XLvZxSIe{4&36X5T>OX^$9yby*$#Zo&5d2uXKXB)G zThahLcdpp`-7E?EJ)s)dy1ks)cRn7ErXdn6ep6iS;#v2;y%V(Jd9F)HJIL`Q-hThs zzp4`?nH>Be9+@r56tHtH7Fes>1su1B{k(`LTK#dX-?C1>E9PCvcjh7v8MRR1bvJS& zum<{2I!C&b4|TXyt&gcw3i>9t=)*6eRX>|2W-S4L7~c@1K!R7ww=}U z=QyN)q&8`j5hpTny7I&|7=^eElKk^}Uo^;YBThwpjTaw*2D^whx?*)Ka|0$Fn^W8_ z0lvOTD+YUVHKYZX`_M0-r6vW#<{3dj?-TH@{AIVJa>)y6j;p)Pa1$Q`z(RFH8FuH( zY}SXuZxWL0UtLRhfGIvXevu(tId?^;y zD^I>4qhEPYNh-uKh=(G#na9C;GN!oxgsLHEdx+DDQS>UT$8q%j(n!P2mu`(A z<*_d>{nw=u(Y=1%cqC*-CAN=x8(sJjnZJ-Rqe%3!J#_uCjJvE90lTm`e6glYf?Lsz zyWg7Jqa4N<{MH201sS?Kjp2yM!FbJ}Cu(ze>ES$(0t4N@97FANeuvo_>ffXnjG?BA zCLD>tT@z>+I#EaA=IRP7sK5FxfcnkQr#qUxB!v~zqo3x{Dx1V#l3=*j^>n@Ck_+>r zKIJjPHJt_}fR!Cm15m#6K%`0V9lw(@Ey^2met)3jY4+jcX_my=nHnt-CotiI=$o|8 zS?h4B|6UeC-89sRKgOOusFRWZWK6f-qNj?4&7jmG=VSY9&zuWv=cg$7Y)Cd*GcK1s zjkb09N*6)aF0~yKmpyla^icO`dmFTgQkZ^NB0%Ja*rL82GGOl&FDm$LPiP>&U0U3Q zYFpl?`S+?xYzMcfkINLE%gc)C01vSk=FMGG`|1QidR#m3y*ni2s0n98f!*njG~|`n zhKY;a<5r}p9u*DAq#1klNm(W-rPBGl>phJX?|vbIW~BWIxK|#dAq02U>(%_5j3?C< zCdN;#8w@|B9S~qx#?)u%p3B^ME41382Oa2G;X>b{@>KvU*PR-*_!4u|gTdBvW=Y2y z;!Kd91%L7-x~C@rUp9y@k?xDV^0L9XET7mGa`Q+h+63t)$ARu8 zr&t+r`3ci_IT@4UAr)MA&NJDOlG--x(gKXPCwJ>YC_K&FD4BPj-m6L`k??e)Qe zsdgPQ>``8iF9fpcZ9y)`H)W?Ab!geI!S(vv=*Ch=Kj}ce>R}v==?x^eDysC4*PFkjhK8z-?m{ia=5 zlPB+Ega8Orb_!AvR4NIpKqnkJj!9!0IdFItlgx{4>01$5&3y^JzP&Io-Apzj5gD@c z{ed`Md8+T`n~8-Q8M*i&}ckkW}DJQm&HHq7@0E zsdyWeOEogSx-&zO=7gSX{-Hmwv}guF78=+FF9gVRqolatjt_%0&4tBjKeWE=9!M$l z*%J3}sx}$~BjkkhBnrq*{?b*0G(>082&{SMXIp01ef8R$R|wGQvy_@wN3sum=;XAx zs>EXM*dE$KIZ!8RWYhSBuHObo4MgSx| za**^sauO2jrt+}tuS$q_e8K2^Q>2MAQdwLKs^aRV$|;MOKI^r>WXp`fgQEJ;oCdH- zhx?%)@bf^LJzY2(M-gKcJWW9xh9liKwPDzUxz(Wn8XDFo(VxoOn1ifP;%JI{@F;#+s+_dTugQiY=9yI-_)@&)>mMR;lE6i% zgB#q7B2yxvf@NI3ku=CBp`a(*VR*pYal4+5BJ<%HxFZ2wuaRxKp3#%*dNKFCfd=Sl z>p+s%8QmKvL3%ylg<$oGvO7cA=ZkGC4(t|6WeNp-S?$qk$jkmN*gzjk(OH8D2_re- zeNGHkY&1733OO$-rpAOGf7;qFT#(<$!U49#AlbZ|u9tNkbNEb*5-%WzhY*lX?J_}0 zxyBTW>m)lZd~1*R`%#exb^7Z~5Spap@mA?Tn(8RNm_cU22{+m})V3r8xHn$_JcRHW zcK%MFg|Py&5$_44uEq9{KsmvfIjW89@~kx zls)FEjk}JJKcH2y7(bM0CE2ug$yCgb?@8}s8kztsh;LJb4}20#c-9Q zKF*ATUFv}2!HSMaS+?VBMg}b_pIqlenSKQww%NpK*IArqkv_8$&kqn1W)3H+?SVSk zAyBX=G_&j}IC8Q{J#WoL@P`3-CSzJ+;$`T8^B zuunr3QcLo(SO1&EtL2&Vk!J zIYO{SgDgCZWPY$$?iZ{{h-(-*L3-7PaMofcbmDljJ1QidF#@=TQRZhug7X|tsC~Bo zaIZ1fC>(O>^M@iXGRrWxF^kFe279o7 z@Pp+iFRZZq2+1L{Jw<-U3#>#9i}jJRwB)}1KDn}E=!7p4{k2J9&t?p{c^j zgt6k~+l45Z9Si^*8QIj6Rg0?!RkBy5OdIvkN5Im!EW4LF8IpMPWcS5b;>@SaW`0F! z({>~$rB;^2Tx6g(Y$u8YC{b%y>rp9r{2E4nBIL7JO17(};DKGGjf&eDytA+L<2sgP z5TD6*hhB84GPEYSSC(W8Zfgl9fbvp?HIKt93NkrQ8Wj-bL&sAA+6pJI-6=NtLuv8@ z4}S;K#FYe{;MspR-no@AS|`77)*N7E<*hQfIT*QEq#?S?41H;SkM7vGWXcUwTDU~L zo#m+O<*TMSe|J?PfS^3Kbwl)m=G4aT1a9rwp17VAI+;44u%WlL4|9#Z;ZMwuK9M@(y3-w)MiGR_ z-!ixE9E>SHVf|6fa!@!5cdUb@c;qX4?3>z_6e@O9bmjN9!;MO(G4 zRtakaym1~FJx)~NtgmLpR{C>G&2CRrVdsLXA`ZYm=M=C{IhtQYV4rh%z1KhW_(OPq z91uN2MyiL}8)f=3zpn{fSuTk+{}5BiX?M%L84YRGa;RKHnZ+tsA_{$~TBy8Nd>mb} zKf9sQu8~xD&3XQi+rc&Gt>#I$L2q`~>Qzd|yZ834ec5t8ck!OH?n7LF*tUV>#AD-N zuL^i5c+)3b8@<#2?(lrvF1>bg@4c4YIZ@(m(sa8J{EZmYsw!PE;#?RJo57WPaOcLKZF5!Yu z$*eTFf^z?mk<`hDFzE37GBUmWgjJ!Zg7;=3*Qv+if?Sug7cA&8GSM^o*w#B@mStpBls+v@W65C#i;tNM`>|_K#JuM z7ctq0b$Rnr*^O~Q_p0lvgr5dP2=+FYv}2h9%nO+={kyGFxtl_lrjU|wk>kolDWlXqQeZ)?-)RuLTz=zGNK5+SXi8=v)6-z=?+@*jF^pwj z0iQu4KORbqiiLze?#{v&cYipjcTUr0f} z_NQ(6EnNU*hBi(vObJ#!dlML&hT8pjHkgL$y_XtCd+P6jnTjZ|xi6X+p~MIuZHw@; z@HeXRco!@tE}kCM0BNwfFEe007YqG1AlemW4+J9`13H{15XuQ^e~M6%g^^xZmEnt?~3;*)!Fe;559~5^MrylR4)<} zyPD{P)UpLkhJ{!!0kk?_gJ-{l?#qt4ZS&n;&H@z4Lk)g3(5qPirUEoaVN7VHg)!gN z>f`hGcUU)Gf$4BhW$H|lMQ7i2E&n~a`{tlMDq}vJXZ8N|gX<)~#-I4+3j346b&2kS zy-=gnfztKGdrus-AD4f-DYvH9edFSPfCFZ|y63&Q=eFTC88t<5S^&U&js_jQaN z_Fru6_oYVzk)%+7)RTco>qBRd+g)dn*9E{V)nkd*3AN#_XKoMT4P+gWFvYI93JiHYW-QpJK5 zM>cd9GG?1QEg|LTNKxF&k-K4h5fDNK)&he%9Q!}}MF56f+~De5`>&z%(KR&6ev19n zI*OSYs9lh;1zjcv;z-blaxdm1NmQ%-nFpb&1V)I*kP9*}J{f^Wkla7P^MEa_urKCj zi8P-arK2{f^~zYH?ygm8jCgL~Wx4NXAU8j@wY^wSwU_gDiSDupWLBq_u!azl`vS~) zR;jNoegYJM1>LTr#TO<}e7$#th9iX(Dss`4-*q?`w5l>o8VKERy`)cyC3Xnki@#F; zH05NIL?3u^-f63KS0k00N0mVvQ)|QX+PL_^1WN0$-)o{5iop?zArgw=eRjq-FvN*7 zkw_fFkK1t-6te`rp^@oda=U%virbv@8*{-nfX(KLdwt9Cbo1&tH3F+TaKh$#N zrYN)6o9T-WE(Y(Ykxro#5Q3vVge{lDc!gdg!GgQb;nM!^KL#sPVPrdlavTm-7L1h@^1AeqS-Q0EKL)59ece zA+#z7uT+Cz)G!;Mkd2zY&Vqa04-eGnv3WV*1X_3HAk?1a+bu-gEkxNZlt;?s!BZ4z z3)(Ek3@o&R%jAj6`b5j8CiCD?&fb-Tyq7K%Dwd>w|I0X5i1H71iy1sd?#DrE#R-u4 zL108iTV$g!`?J{lDzN)1Owck#*Btiq%vn6lfUK7PUjD=XhSStfD$Wlv@$G|-C_aYT z2K}(7aW!N7_YZA^tyd8)9b%fChqjB@G7?<_)bD;JqI)U;(CYdl@tugO^XGRO;al{t z0nvId1Eq(8XrrZNHN}@3Kddd^XdPi0`}>k&eDkCl)K1OYt$gf)GDA&wkM{cu%trWi zm9Dnp3NANAYJ`-~zk*Knsk_)RB@f;^Bp0tWeLfgiFW#_GZy@j;hc)M|sTJofhr2Fr zeSYQ`e$*&H9$(Nh_)f}3`4;Uc;sSv9nmcVn=iHxCQGv^g zcXvLNRNazEKX85=QQg{NeCkz!+gkc*Vij5Iu>hL0*?aW#Sk}UnS>0Xxts0Z&KXcW! za!&m#DpJfVYRbQcI3%ev)DSiquU9l14`)^^R>AChX-{6Ok5y8AKNdZ%dbNt^KoQh< z6nht7i}Wh$IPt2{_4j-=O4yF5AHCl#5dceG+ z6lNaYLhzF*w6zNhPWG=i#(dK&-~7;htJ*^m`hHjPEf#=oRRuxKbwxYGuu+I5mV<);+-@|1mkBL(WvimPpQeD56%~4x=tjopqC9 z(E~hzNUOpk+A@dHuiD~zaM5*u#Tc965SUz-q8=kS-CZii2oHe`WQgQ~OP6AFw%BxP zb+Sj=woLda?RgTMe(wRsi3&zQ%uazU4QzeTRZCt@x=@E{r{@(dJb66z)uoKDv{MLj{|7*q2mkE(u@Cv5w(0_Yv##RaSy!XK<=dU zt|G;}X)7iUGQ?BA35bnt(dhNai?NsnH-qNE%jW(8iwATNdgq(3L$cN8Bb2*w{Xjb?opnJUx{;l2M45;{mX#xf60?(FlZPa9 zv)xzmiRY8NPd%wK2)DZOBPfY>@w=lNJM7H&F_ zxa8$+;>+V(<-r!pnqy66qR}W&-O(X(Rwd!$o8tasdgM?d?XhSS7mWWIU!g?WV$lF_ zX96Omb=E;bMGxqKvZd&OyT##XMWg+cYL&DT*0Y9=&T0!0TxB7Oujc&o+lKT7SdzLd zl})F}X_3yAP!L4jTVxtUU(rVN!bqhzcNoP!YtD zEX^t#|8I+?6lYjYYJPoi1>p_@&#YDI>__5&yHQr_E8XL@-PkkF#g)9`vHjk|Hh2Yo zBsv+Th=hnG2O7`h$+_u^YO_#p*JTX+=wnkywF%&7fw^uYPw6eMFakKU-k0OB!9b!X_o(&Q2B2U92&$`jcV)uOY zuW}O{ok5g_3eh5e6;wcj$m~cmf)V`--D0$!0}<~gkCg)v(ZZ(km-K_$buW>8)%d*vlCE8J2Z2t&6l?Cw0tXv*)^Yn9YgY+2ovjf0x0AU7+KOAt_Y2WYTzq;(3MQTmR|*Llj7d z-G$-_NQa3?hu3Jnx%*T6hk#FQdJHx^_iu0lMEsE&Dc*d<;qb}_-N~Oy^4crz%+T8T z+UwAt_E~g*eiOO_yY#3B@D1c=>&Wc)v%H#%O6~WyUI-PXWlk{eq(gR%Ob3r`_cyp+ zEJGWFW(73~fWgm~s|CS@AA98*078hz0*8{?w<+ch@G+XOg zr}8aF>dc*zVi0&tasvX~n8zuX!6>e%M6``izh>mTcvbO6CY!t>SiF>R~(^0e=? z6?FPIc&gn)^oeaHSoJnZeUVf&ZywER`NdYMu0MY2g2eJa%c$6!*wlM2TnVMAzpep@ z8La6&n>iYsmlIfPtUL?(=?HwA>kGUWYdNoNUalucqovsf8|i{!nv4}xHlHSR z$Nf!=#gKM$YcmZ|+X|nk!uh<{uH^%m6%y`KQVWc~3a4ByualJTXU;p2nB65;W|4`{ znUNXkC@S&=8Pp7TJ9&1fkDMMxOp*bfCG@w_f)GknnoryIewYF<$XV0i z#n~q{m^ zOuZ5+10H?k4wUNU)~dr@366)6hS^nmKxuvFY6(qZwMICtN#%C=JY%HrG_={7nr&je z22trecSb3{Q5+ZnJ0?d`4JULwXMnkT| ztAHO3m>EOQJ-ZD`Xh}T=L1Y7iBhc$(IKq^_eRm~OE>#IGkr@U(7tFWSpq2DjGyGZZ znmaC0Uu{8JsBdOmT5bbfS1h~+LSk{!faxhP;_ImnDH(+YQURc=+1b)WxUjEOvHqUE zLCK!gX;&vf=t2kov{XmaVXM|~&?wi-5rRfWG@e6@lmH?)5TmJf&jhO9#TUethqPit za&q03guFxm0p#N8@>sWro5k&_@`KAPNKLV*CuIAqCZZz;Z|;>2n# zO$76_3h|d>H7w2m%~V5bo0GKFaV8jOVfuvH$-+nxiFXZ`B&7Az!&IOus z0)m?7j!ufvV%K-JVyu#nZ9R!0wEl-(71#B#SicU1V!+RSIo2sbOoMN;It0+pN1_n^ z7@Gi)(~5&1O@a5zU99FnQXkw*<9xTK5vSdSZcS{%8r&>{al@-R;*sC(|H0?$1IA3OG#qNGWSdNt(6)k$5sWVR{ZBIBB1X<<+JNLo)S zQ351>FxTNbO^-O2Q#@>MMXSQ22W*%4I6)}3+0&GP%v8s2W^4gLI7>A$PK{`Tl=XGb zp6&W^=18SBnYa+}7Q7ave;Ivzvq8{Z_?$sKAWFPA=|Rx~~u0{Pz=xtcE? zdqai@;uDcBxZ>|6y3Wg2`Dw5X);-X?PwchqeJZGI?7oE)2M4|k!65?C z@8QUx#?DBafuByyM(KMvR&elepw9ywJ=9nPY3={q9S?9&;E=zo$^Li7u=xKwW0>=& z8TkJAc_MMJjkNNA$!t%bHGtj^a7aMMXE;)*$w|_||3!+P|BGBce)ipa`RqFgB+dF4 z0TR8!(LgeDaRa4Z;RpfGx&Ea7?X7MQ?9khcQ>(4fD-iN%)Mpn=+y=Q4yWeNhmv(Fo zUwSG%%_T5s$1gp_lrfw5KAhROoL@kF?>OxlHRE{p8y}DN3tU`Ua5rkB2J_pA_a8nV zJ8A9Hog2R1I`5B1p^fevEi0%1?>z7L{xlAOHNWTBM#1*CtusKS{oNbby23zf+ApXC z>4E8_k9&ni!4tWUktH%opBo{E97rxmqyT$ep+DFZD+4oZDXI$XtpQ(XZN? z6?d?{Ci<-nawr1peY_3&aPq`VHP*Fq4+CjW`F@@ZbS70H$i^Ly6aM9UID@b_ke#?B zx~C)khO*w(JU<%YkxAtQm>A$~@0YrmBmnNuOGAteRO^7+&^@5lA!_PMAX`ic6;p5GG&9od=%$@C%`{fx3Fm(0}2V1sR zzc5XlcWNHg_B%~3tjw|+J2k%=KA1b*FFjoYm}_4lFqh*FPdeX>XJ3D$M%@X7&LA}H zC9?+%qsh=$)m>jDl;kRw4sB!Qm3_57Ey%5GARY*^RI!qPPCzAgw!8&Ph~$*ec(&WQ zj?Bs(r>fbqORiEGVhPr?(*iIjbfdNX#73t|V-D8zf+49F=rm~gLY1ZxwaH6t{x%-~ zNc6oN5cJbj@*igeCy@I&&=*z^MKZ=&+NQurLDQKSx@1H4XioJ!yl2Q#KN~SG1UJk% zODB(39*!1UJNP_oJTaW?Y1W(PiH&+AlcrjwK-YSLg+UcNo?>{N5{LZd-V==0#27{! zHjO$8r8at;y(*y^d{~WNUXN`roh9D~kZ#BQ5l2LbjZ(VSsv*(J*0?3xpC%~Vw4SvIO}qny<>vE?^tA5`7c^f1aD^#?Dc{X2&F zEE~(Mmbxpch+ml>u+d_gmw9i$znW$sbmn#N4c6s*71Pkm!zs$US6{g+36aD-U|H&g z7tN__=u~YjerZ(cP5A6$VWW(sIE+?QS$6WJwS9aHOSj8^$|#XHM0MQtfY>#rJXzPk zg=}qzHl^omuo12B4`x^-T*jRPc}^r51pH50JShsX1QY#Wfxb=qjakUA5P>>gC4zRP4@INCGl{T&A47$k z6SRN(I>Gp?bIBfOxI;IJ_dDq324ZcOn&9^rg3d0vLpER1rG!@c`ci6nBuWOzrste|OwDWrPDU)1sdi6iDehp*RjYeMR*lmMHC_xCdg z@SmjXC7;_1|4G+cH}wF$)NguqwFvu0z-nA&VYs_0IWOB~54p0U-*Aht z?TffLnIf1tS?8Q_?2VlQ2i%uI5j)q-1;x~ zYD(jnz7^PYAi2+q4TlwLJ^=*b&EP9!w<~0uw79-&9txe$^wl-93zRb=_ubJSc7F#( zN@6;^f$Pc!_@0U^cF+vK_WIPl!8*XRc_$9uxe`c?4=q<|6a4f=CI1G#Klilvc1U%> z>@|7r(a94=OKpL9bG+szi8QfzE$U#s!#Rl6Ex>l&#Cblog0{LN`2=`a=4MZNtV}#F zfxPuoYgHJA3K5#)B`veEO3)epfvMa>JPvx^}st0!e5198b@R124Ut#VFF|tAAQ!I zCkq>pFms{);U9^BSE;Us!E`{Q>La4^sdr+yt#FQ#nHF@|AwH+~F$R586U?>Rk#=6L zQwZTW(IKeGUvLf`<$hmU6ZnA^bug#?==IhOg$ZHurgl(!Vxsl5RsubUo{hp#Cwb@j zRqsaT!3Xqt$yEWJb0wJkG48K}^{&fSs`*8e6^9~!0sEjK`*+C<3r;gULcHh;x zf=!*-C%F?!V2eEefO@v{%{h=dy4AHf9iuIA%eGag-2J`lHI7Ra?(pdML?&Vv1{3U+ z*7cA-+FkYoe`t9%uX{h-8Yv)Ks)>n>A#5MOwfOxuUAY3-`Z0IJX0;GOtr9}rSr-A~ zt{W=i!+nnQhtZ1rB1ZakrPLcz5M_TgOU)TFGDGZt&GB!RTK%MF14zTm(RlHk1Z)&G zoaRzAq>LCO=nD)cVTfbkj@5_}YzCRCukR((f#{mBh$)7mv|YbqTMQF(vmne0 zC+Z7fumR$dWZ~1w>D$C}VeA9YFTcP;w~256U)0tOq%JiKpy-VDFuD|Fm>JGD9_#$2ML-fk5Vl{{|B>yY6Y1Cf z)sdeu!S?r8z540k&Wzku1ghxS^__M#l6<@OOCTj|VG9ZeZ}d*#U<;4O=_J|6D)d^3 z*$z9&GQXLiD{6c(nzQ;kBLB)Sg|AZ`7ifhDNG|^BNpw>dE5v7@6XmWLz_iz;AyG3+ zM|)+*R_I2`GlBlw>I2ww#}pQLYrU{5DKsbmOBL2hkx1&(fC2^Js>13oeuHE>O%5Pb zg%wdGA`Cp<{B$ZS62X0Dz=En#SPi#>*I3bh9SgygK++bW>}K=C1s-Q3l>Fi>LTL+H zOCI_LJT|vrHo69H1$;v{`hhd5NpVUA`>)eyouPkiyNOj{2eWyKKFc7KKz=Vm`TMVo z5XyfwV~YR(^Qcz0-8zzSV@x&=$GcRp?SIkiFJwZ#r>_Jau#qoztv&7ZDDf9Fl%P)3yb86^(J zcJ3RaZ$t@`|5lR%|Gwu^2 z&_Bq7%__iFI)MJpU9K$3Htblt2H!i;^sUi(JpDew9gSfncFtMhVb=f(ljuiV5+|f`_4&rK8$Kb z+5QgwywfgC?j}Hpr+~o`Rd`cv#wSg~oJnDat8k#w>k(h}X)lYF##M!@ljU@I#6J#s zOt21k@WgWL3^UT$XnQJ?t(Qn3N)PgA9`bP}io9JZ;Q*4W4hyHkWq${Il_lz1%9xYV z|H0tY(TJiBPh~fjOh0GQ4i19Yk=_oua#^pBqK1baNa#b}k?sk(qWG^zlM!Erduxu~ zxW|Ox)$q3VK&@4Tg2)1ErVW^nIdAxtX~foOe`AzI{^y$OOHkeul@gJ}F)$m=lF67d z8+8y4So6r3!J~$1F}!kiWKe**co-y(3Ef7uKWe8?zos-jWL{Zmrk!wgGCCa%Hj<-T z$&*a@8E{=W#5|vOOTx-H8De7~Z5uTxTvVCA)dvEmNbjM6ejDJ-x_k|^(52jA5frr0 zm62qY9{a8IL-z#Ss{>kZ*c-@v`i9QPXlpkF2+!_1!I-*b0$omM5%_Lb^&8U|u_RXE zj%XrLGK3V5&r{{ZmCJ2Yy$1!!y~4v!?@}fPeP5)>X5srpE=%GRE`ntg*9e%{5$P{{ zGa97iOCvTo71h2j6d4aBGrkZE;$DPUqsT$#I&>NoUxEM;5%}1gph3kR6Pg{C#7h9~ z|4Ac?-9nEwivB;L{}U1Y91%4b@iW)7PqnOUi$ySO@H%F&0hri0pd;~-E(IxI04(HP zwj*>c_Q!mEhCFNa-2Wn^{WJu%WN~=8cp)^$DA-E>M;o>tCuAmy+6g6A^x;&MqNJz# zsts^@PNT4zDu4yIjaL*(qp+JQ2z5J% zH9eakk%ruxVN0>i$Cvl`h@0Nmht&5s#}I^`stc76MRN z2lZy=0K+*ZD5|sE%jxwHxD$dPCMX<#vGF&pO~9sq|L8l2@MkM6cqGJfpdtXvTCl0| zfj^DdiZs(8GtiV>^FjX{g2#eQZ_UjXwIzEoMt>5h*QCKk$XH@urKb`8*psTqLq)=< z#22$Y$j?>ZievY?#PDR~kB44y9e^IwECjR;%u;=NFnE<1@~HS(4|rUamx4Z;;|wtY zy>QBxYHL^}2S-rf^<7-CVlU)80D`P~z>A#AL99{X|PD4QLWVc;JE7h+h zjiBqscQ>NufNwxO8{^Tp7!bB{0u--#q}X$;`%HiwPQEZvXQNp46|;WS7&NEt4z$xlAe6Y zs>q4vE`}M!5w;|kPeFK^iBRr?XOm0(H_=f!Tn720ZQcqS^Zeq}*ArUQf=K<5B5ie8D53yJu716x;DP z0}-|8WGC~s+)hW3et^~s8TB&PJ~fOq)Fn$@jsOLgh_BRY&~see@zI|472B~s zaaS}2xX&uM05Q10JXq)IgvA%@h{>LI9iNU6&bdN-1_S6E$kZf7l*fyx&)p*F?Stc&d^lD4iQTPeKp4kjG(a<&KW|W+2{> zSPyQ;h8>6GL}Jz1yUz#w*uC`b==d~pxiB)4XxZ%W&@^(}HeKxS!JoE3;E~oqmx~K5 z^Ee|7cR63NP)o@)#K-6MTG3RLHoFGj4Ln;`9J=I--WOG!;&xI)^RM)Hn4H!chN)uX zcAij1jp;!UDO8S-1>|ssssAVdvOs$AG&wB2BLSle6Hna!D~+D|E)&;N6a1~QZAQ0vqTDQ2ZLIpj@i8WXqUsa z=yVRwYvu>xNV7OTzzV*o^HC&HZuC$V*^LukaJ|H2*XvBj_HcJVM!uhVRFR0A>#xKU z=7-a^w|H- zh{(AEuc*x38I#LiPG=2~@-rg}dC4fGDF|=e9eD0FHO&0y5`)3JPKwlXBStB1!X}8s z4N?m-ibe~vGW2JFoy`0*MY_TkHBMQrW=oS<_+NP0kgk?TBOQ+U7s6C9HbfPeqS@+) zds_Q|4BAb%j9ld5ONu0WV%lww?a)lD1mpF1vFZ^JP;Bi3lag2~YF3UXZl2MSup1P~&T-{X)AnPc(DjtxI`N1MUZ(e@C)^YW>iKeA{l&Q2 zGM_n4+&j2z*Nd^uygCe<0XEHyKJc?=xuYMJTqZd{yX1>pLBL8X5hbmXcRHc?ubZyY zY5eq$iejbs=X4AU3F&>Cl3N>xeQ|5;#J_V!6A`&fkM_@{#^R3B@+$}Zeq3q7Wkj3{ z4Jg%k%@1kgdYmGhqwacDpsJIoa)JWAh8{Owv2Ok1MU^}e*dL%=M%{`AIUhq03Z(xjv7GIw&j8_9(MH%c32Ma<21IEvtC3fv3bEeb9!8^ zwx}6`Cynvgwa$?k>zIdT2!Sllky)e{1iv+4UTKfEHNLWhWDW|SV=+RUBXum2m_2~- zP+N8z>L0}ZFY-U9dC(?mN*{bmA1I}dh$S48`4jNgzrTazyC^F9DdhVoKFNRhM`BDc z7K|~d4KdJ|;lom(pkyH+{-3(81D@*d{fEM}M^<(eW!*i@$_`0G_Dr%jnODg!TbImK zQlVsLM`#!!vX!i?P-Im9L-qaky`SG-z1+{|e4gi=XTG239Nc@5f;BNXSTk7Y2r(Zi zsBtiujpYbzE_-)O_HO%=l$7EWtVweURvv7-&rt3^OhJ(x9DMwU$^oHlwidm}s@UVy z^l3SRCnFcKnMlv&i@wWizp48u-)LDrb%5ysHTMZVO+vcs84hP(}wrHXOF}u z2`cs#68p|qxCiGkey+4)RETeVjLmQ-zCP%=J~1A8s0wM`j2fxRL4}PMd!~O$C-wS_ zj3~=o=PaHf+*Wr{e&jHacw_(W{EqH>vNo3ZI8`0*iqEHA_bYx_31_}*?*~L?Op=}&+#+VM zXnS_9&GSZJvPmZKI7%`sF>xPOCQ=C{QBL^>(Ow)R}G(xvjQG4g#Mb& zViLQjF%7%um&~&|Dql0dW~k9{8k{dr_k9;RZyCsIGJLgn4c#Xci9gD8(aM=xq=_PL zpl7Y6gUfbrS)uM#-n{4XEt_|psruB2YOD75W#!^((QRXKX3xIZ0s zy03{TGN$Ro!6Sh}-Wt7Za-s@sa)jMiUffW&PB^MvbkJMF4?OS`{pVqEK8qZo>E^pb zbzGdc2YwD$|@ABSVrAzN`3!D)B zWbSi~S}by+M*ePnXuZmPV{iMKs6usB@K*)?$)*ppANFAl{wizt z8+Gj~u_?O+5s`{kYynL@8xfjcSQE!Y76z;Zc)L+6^WM=04epN(%T~8X4>qW8PXfrn z8owraAwb2ZsWObOh|qLp?OxcQdpkPCp3ALLt_O9|xrN`PsX#eEjZVOdO@Y`XdMQHl zGfU#M@WBRU?IC6DHHD^zW3~iKo%9luiO9yU%_5;+XzR}P=n3k^3d9b}X34y*pdVMC zGMV6w6fX&$Q&Jr6a}t;)7jpPyhU;*|*Tt;NS85OVX! zvTnvY?f0RrlYRJ|Pgo7z@#fPn!bK9ks@thPdFwfqd8mtHa^PHc_F?wXv!`y(ZWV{= zP7dwQlN8$dzjMKN^Rs3`>H9>{yH$s2lWkKH4%6UigzrV)VZ8bhbM+-roi=$7ZK-_A z*}_0h;WL~Y~`SI@SGuPvsmsTa0=M2aCQ7tDcpPw|W-}&FP{oS{ju~wiU z;?|SkTkg@fp6pyK$J|m!U(7!pn>`A6cNkNx^8&b(pEqpie>|2! zWX#IH;`n4nSoCbOSA~9#KttYvdtS{2+*`*e*H2VD?c=v}%@O|srw@GJ`iP;`mm)1_ zKZSF3z@kUX+lQF6%;ktLjv0mL)J6#(xt`5%$+r2Ru6)a^PYhRF=z`1Eb$k-jCj zFBy@1U5wWhHl7wwkIh~wy8cM+)jo5d8v>xTz{{4rYz@a}+q?YAEjanT=`R?Le`@av zd05rzeU9r|fvM^0=E6Crj`xKNy;k#|p484uoANwc*gR`JT%(ekJe)RE(xNb|(@}b_ z%J8cH)7Ky_Z}@MoGXvJSC->@#Px5U!db{?K2g2x>1C{0drrpO^7_43 zbIDN(7~MW5-=`LHTt&vN6E8#?Lv34>`28N8X*n+UW}IH3b%mqw-Ou7@dE;(~zDg6_ zOs;pOs@>&yQ*N8tR0jrgC-I(LMogB?#7aM})x1Y+nVHX}9!~mQ+~g8_!hYuX+Or-_ z4)%**4~H>7>t73=ymN3gk*2@2f6!*hk6yUA^=r#llbeZ}CC94ASGg5O?#43AJYdRC z#GSiw=A`gl`)5lbdL>Tb;g$IKvk$hu&CD~q5KU|N{Hf}BPZezmj=q-MSQs2!ZqZee ztFGC^js|@jT<%f2QWN-1%j414k)fLPVL^&JybX6gPpgTIqzHJf4GT7C;bb2(8#BDR zPQ0|KbksmF;@6M!dH7*5zus%eMGz)Jb@?(YNk{-D!5sPTFAl`VN5=np*P$jep$wAV zDLQsijKF``QsW6bY^3}9VGLA}k+*))zfut@*r6|{0((&k%1YQTDt=Kwm3pgkn@WI+ zUZ`xFXfMfE7&i9nEssJ|Q-8}*`Ij7(mA~a^TNSDy-HHM%^ZWm>+>MME{v~?ozbr+U zZ{7bTN^6`@?k~|TL}6k?Jd%L;`#qC}O^qLkmR}E2s>{jZ(zq^qJZCpI_2dPy`U@0d zRQaPdyfU1wlydz)>nuz~KRt84|1{u&<7Puk{(~DTpH>6+-+z9@O6D=g%DEJX5v9=SJ*Qg^A zU2gtkbHYVtv}SATRFKQH(yR3R7i@`6XUI*3)@O{F)ON3NK?{{F0C^jg%9NvTtN zp6Opc=GXH;B49<`fAiBr95LwUJ!YKO=Ekg#;0Tw@zT%p-rH)1Ok*zoPd@%m!W*^r) zd{^}|(+or0I$QPKQQYkNX+N%2pTKvcZwoj2w+bf~H|9+xs%PI-sg>4gd7(JVE>z^p zjF;yU-m==4gtK`aeo@>jAR|y$aR?#7*I$*r+I8z;Q@uGRjm>%vhkepqxHzJBO@C{` zG+JouaqpbXLz8pYd*=t19?V zfx4ttvzW)kng9mo()KOl`fAztrB|_oQ$Lqt>wbPUuiF}B{`s=b{mV6X_Fb zJQ+?{cZ(MX_co{wqmN5bTOZMHD7Or>;_8uo%H0*Rwzx_o-8{|FqtkU^i95t&J+e#v z5TZGlo5tSz9>yx8qvr@w{`G?+iPx8L_xU*BDic|qZ5h3Drn@=kry~U}wk1zEm}FHv zx8s-EpuiAAjIx>zT%y%0)_o#fN}p+XT2i$pS@CiY#<6~EZv2ByNOBvE%jUlE-n#Cs zOY&|M$IwT=HT$h-XIz)PzyasxLrsoltKQpeE1A1I5+u=C5pnok?eqG_1RcI7Po7g| z&GC&~^LBPC&oWClr;iC@-_z+T!gFbg@x@k7Mwcl4Vd6%`tNaz$&C9i`4ZEq*_SPKr z>ppZlzO0UkYtJn6zS!xn2ay8bSBofj)$4ppswAk_v4#w)D01r}XRBk~68CWQCGfv} zWnZN!a;bu#_0?x!5lN}nESt z^eI*tFUj2)aC*fiRq8JRKi77uxUt|OMSh#~Al>ZfV4vZkBj)SIx8x0uY#Kb^>758V z?SZ8|8QN9==MznPcA?wRqk?1D>ia-4KW*=%Grzb`>20D~wYmUiDiBv5@3XAT8vy4s z8gD#!pA`G3k*U^N=Jo29;DAe6+TN1^i65Nzal(0%>v0kSv29W3HZRy@v6LE~p^a%v z>Mdk;EsA(~U%pbdrsE8?yezgV!u(zNCYP+=mxH=zuyf}4>o2cvg${698|3?Bm-w56 zZS6T8TBlS?3?3_Jn|B@bTjZkEUzr$rujortAoW=4zDEmRLH_A|0wl|flM-CJ=c7WS zkMA{>{`9h1PG9}YVd|gSwsCY^r4FMyYY$^LsS4uDuIYY}2=RaQMuk^LfVzFIH0KcN z(`SQoRy_Af-1RK|&U*QUL+pkH>BoBS*IDw%C9U>Cx^n5$A<4y33J-faA8PWNU zl`;{kpB3l(N1AICy!AOvcij~%Pe0d3{YY>v;n_(G>Jp}WU1PyaZh&A*D z_A_{@xY0(1)(!IJrMnBz$oemxmi}-=?qpZtyFeBH2y+IG_GJ9e(^mH~1#r)YLL7Hz z<`tZGFW}V(CQ6CcGwuAB-uceSX2Hca_B2ZxK~cE5VBk38I(%!Bj(zMY$!E{O`rR~- z!>A1QU;cs_%z5Je?gI90gp=Rtw*FP_s*}5n#e@09gH3n7^U+z*?|DqM$94G1#*-$m zNA`y$gZU+cXBW6$HhUNC@_xMie^NmfM|@F~Hl?p+u**R*_yA`;6KB2j&i9=Qje)V- z*&%yUg4SDQCEv?&HahCT7^XGhEKG2VImJhvelF|P`xhqJ0v?-**cyGD|JvELHWU`% zc)HQ&)ABJ+=H`R%#vF-ar{)+Yq_#ZYTWe9tn1so7YcqHB`D#So)e_g1HdT3URobLeU7~ti7IDHb zgo?LY>>hQD&j}U*HoC-Qai_0Q3JdS_W4)f^(e{-Ok`{E4)&>ra(iE2H@rW)Pj;QWJ zTJ|QVFJ2+~y{&K5`958=;=4#3liy0p)<9JGVc=U?jzYG4O-F;g4cEWfc|Nr6DSGSs zdg3i=ealZqT4Xs2U10OZ!rkjRjn!1<=u6FOF7&wT&SM87?JMj`%uBAvyJTthKGR9) zb?u&}c239(O%wGxE)t$5y3$|}vrnT};Anh_;uRyCb=sHHbRLsaJQE*Bi7zfikW%7L z7aFS>R5J2JFZEvNxzUr*VA^XIcG;wZ2Yw-XI%eXvWk2Pm1dUA#=jV$hwkJg$E{kb8 zjM;h8%WH=9T&5q>?Aix@Y)PH@=K)&up?8P1tc`UjB!c%bQ;XtSq{7 zx6aG_Jn?YuaUb&I{L3n$wNtOGedCuPyjjA-i?sWU*Scb8o@mL^MU=D!Z8;qF{pS0~ zbE&P?<#Tj#l*U#&y8|nq$Q$qE?#WXUE-Bzwh^|VV^ILQEjEgbgGd4k%lx`|=UeHbaJt<(A~z8oXcb|;BJqj&-7IbqZ;gd6--MmQ}}RWJtB z7aNc-_J!-P^%@X)vc2Ak8v1K!o!a=MFV5U+F7tM%@ug@%5ptJkn!bT=U{jTr*)Q(y@Gr1&NmGr(r1;>-TaMEOb9puGH3bUt3K*ZOF>5DNA_& z5;spF>>m;3$F(`_^13gWMB#jOn!Tv(Ql{Z&U%30H0|FzFM-1d2@$+PaYJCXUR54eL zmtZwzQ))laYE4|AsOP=(!=R>l1sT1}x6bX)DBqHk?#g*+Bl#V>db;YhkD2XqA=A<( z+L6_l#qjCE^qiqem{<-f`;F==YkOK!noOt0ZAap)0w?>W2xcD)By-fpYwA;(2*xk8 zQl=}E7G)7cSxdt@-oeb*>TVI$BVH#&9@PfL6ydKjZlLDv9Ot^cF=i(2iZF);;B)7d9+}m0*yTbHNR(Mz03EE&&qdjsZbT>+l&wtCz zLhX&^H`-HGLI<8yGG23-_N%k4fv@hLiG9PT-F=Nk6Z?jLFtxGlK+zR`t37f}bgK~@ z@-f}M>_%d{iGY~OJAz{l{2}h5&-A4_<>jF8fldD7zi#?A75XB4UNRMReGLkaS@ZAR zCn&41Gl#p?9^1&|lM^iNpLQ3qfy?3hBi{l!pQzv`lGRhR%55;x)753H3w2IRlh2f0 z6%VkpfnHwfJqjZUx z*CM1f;$N9`+3Z)2YR+7|V;%7Ncb&Qm5U2UOwdE_=1bXt@+(( zo>{wRYVm|f8@8LS)OJryHKCSGmEZZ}wM6q#QGb^qR7hB?%MJNbjQvK8z?U?)FnN9$ zDn1aG+b3iG#be*qGwC_QK*ONLP$s^#x0cgd>YHKexNXq> z+RWx_kKX6~w6Xd&T2n<;tx%T2lF_?yzw5at`-O5THNpK_&wXip&8OWz?_)@MS1@Ir z@Mwj-V)=-@Kzro94^~f5Zba=!*3p%j2P$!d5>0_+LR=+#(dAPGDkd9;rHC=92?;kD zee>mgC5>5d9rx|?c$6Ps%y&dI6UBq$SY4`$m83_4WhiNm_*vYg(ewK({-Y^I-QK`c z{Z1Hny^uOf-Z(|DM=Mt5@mG5O8@rec&cDpSQy{J=Pl?%}n@Ibvxrq_ygZ!*?IC2vx zZR#BsgUvc6c(;wpMot>-m=;`1hhKh3yjJ5!to>%jQ%pUdUAAj2U{DLgg)Zn|R2>(w#4-A_gKwXXi4lf0VJV*F{tXCpGdnb}Un z%Io~)^kqUvfc+f(N|=sZUFPRPmRBk5ROaZD#k(%Nkr^X+60TZ2nmhL)#LDXI*2dw> zhSJIh!cGwFrq~a)i}lxbcKncamFp1Sn`D(l+cw2C+4Akfl?~PxRWzZoS;cbm0%{De z#VAvC&)@>1gt&h2`EI1s47*6mB+9RwPaj>Q8~C1FILQ5qu(dDfMuC4wNZ62&o{lsA z;tR%v(vQ@dvmaTQv@`gws1*26X-YVUs9?&EKDjX{M6_#j%760O37=PSeM_EdW=oF8 zeT5B$@9=shq=*r|9XQhanqKto`3<32X?8}FSE&iDtDXE+sf~quN{{B;9B|FOi`D2o z#VcBHpV8LHKIFVq>CrCP#QiTmX-A1V+-FSa?FmD@$ji;a_NwQbr`#AAn|NG%!@lY1 z`3HpA>RffA(|M=IZ!7@kEa^JD`xI~gb`G9!`YcZUl-G9wOCOtobSssr-ErW z;b#npkDep!UIXgNB`s4rb8f?CUv^6z$cgmrbRAyW^vn&pb<`LRPryYp%&AU&Ur*n! zyKdYXe?)a4+E+JpJyQ4e+`7<9t1G+RT9EsFTEl$x&R*JI z8%OKkM!YvFgUq^8U7=%}bfe>`nWg`7YHZqM<6I^~;rm)Ees^kPcWSwh4Bo9ga|x(- z!nThO*gn>3&$c_JtDzsB87G;SC*e(fPXDfu?PF2f#|Ld6E4TA0HR7rC1+2MFwQrMw^Y2&(&MJ6tQ+B@S5mB&*`3?+ zIsw!9%QhqByVb?DuPGW(^M@9f$=xqHFIK`HX|1?u^K8YT18ul$h}&=VY^`PC@OXdj zWQXuas@v;Kq9?q&vi;Kge1~LCrsqudrM&tubz*4Zz@!zM;o6k^P!v&f^Ql}aQL4{` zyYoFahv`r;MnzSLloNUS&0)2f3qu0Syv)IOOyUM_iibC6L=Ftfyzlg0l0EFwUwYcz zHD_%I_v z&@hqz=G9W`yKD2M#-a}V5}HOHYoZS;{S!)u6f_+cM*KCf1y7V8#a=4E_$Y63;&WlI znO=rN`=+yuoM$h!AOm32t_cVz?Y~uA10VEAe>x?6dt{y0rZDy1f~~ch!or#}zel3# z?gFB~$u-KjZaQafh4tV2O>5 zN%s=mG%anGC%t5EcRIL&-$rUX6lNnEdpE^<^ zv^pNns;F4&F#GKM){5muj`~Q3Sl_VX(!Qx-E^4h-iLad;9-$o%S|90}2QH;DUz{9X zCAJYG&YfYDQO>zZI{J1QDeCY@SvGX`|5#Rxj}7ITPn-w1k`$8Ic0y zq{b?vSFb+aT&bn!&w829sK`BFT$SRt{>|Pub$idnH)V6F`eE!3waDB_-_-s~=X!h| z%_p={TQ2RLpj<+54IcW&OGh6ymfGJjap3Kp#U4>Nm1lzXvP{aPcG7_QMl{35$=oT&lTN-bU|Z ztxM_K2>G%xZbE(R12V`#zHw{6tda}S`*EIAQQo|T-Yl1swIud!S+uGXP4oa~^nf&H z>HL8%(T7x98od;^%c#_xU}{c`YECrQ2AH@@P2u)~T6a8nxsMf_qV0{*_Hq|{yx&}W z60u;=&UZuVO`g+YoSH)#i&8?VaF8hGap=m#LC>+g`Dc2Am%(J}PFyhqOnjw8Sj@n_ zm;tt(8&kZ!oNJHwA1Y0UfRFD^M3|RdT{K`QRt;aun-UJ9{Xu;}AZDYVR>{+6c(*8i zfQz2*{AvZsUV+;^x98NEjlC9rRf}#HIjQeurOZw-k2iH+BK#Z;82TQffRqg0$02tt z%O#wTNeH}2$1PtRv1Xo?XKx9TDeL}1K#qx>SirN%mf8+~IFlOw$Bfi+9L%}~il%?~ZlClRdb(3|?@XXbuMkcwEV$DwziYk7g(xudmQgO6Cbq?i@WiM1 z(xK=}vF)vah_7Nf?CTM{{@<;wl2y;m_z0dpG@$u>*WWnS=%vsW^h2+bciwMS%g@m1oTN}bf9-AI=_>p{ z1X5`;cIIgCbav6P&FAllE?jT}$+5#yJw2RF?-+L1h|jmO==AB)8_{0&ZRa1pNv+Ee zV8iyXj8{&&S2@D5!g624!KY&e_c)afRng4%-KN8o9n`yCa65{~Sa#4bxw{USvw@WeRuP`RM|nhWO=a#@4=(o>s%b2vPvCz>F?Uq0oBzEj2>;stFNV6 zEfUKyja_$=u9<<;mUeL35`q77+R}Pc1@k1vGsrY!B_Y4fQM+q^Lh10RXos-jY%tgf z8Ybow)p|u8P`rsH?T*^)4bEpKw9eNkS`F_HY?IyY@Jm65e*kp&Q=r4I0Uds9n6g8_ zkcC*W+wY)kiN_$%^Y`j!UGBAHGg4<9)Le86P`lNu$XeHRYj(Iq%IjL8XB1-Uj7(%` zh@Pdf%%#b2Di$Ml?E!t-?4$Sw;!SN9$sXhSVMX0Xlq4maF zqS zDnr)R+7ivH%cGodGOuAPHUhh{@Ebwgk%&wtOGU?tt5Z{+Q6zeuZ@w9OCy5Hjo;PZ} z=pJus3$RUWiV=)c!&6tAqy!8Q<_Cmr{ckdVPGB!K!||j~7xb-L(^ft8x6x)+zvO>W zFKz4$pJt)|uxbKVrhmFnz?6(YO0D@A#=THsrp?(uKE?~J&6=sf`f2#>y@-m`6FB$% zdNE11s;fTlWA47Bt>WUw->oFVC0=ulKN2-l(63mL_gOJ`e_r&aUF)HQma^|gk-=dJ zojSTM%JE?~C8H(9#(n0{WA+qyl!9P2&NsokI?n=^nVW;MO9NKOig3ijlu z?DC@3=sO@}s&(XPLa-->Vn%lN9S7LXQ26%qgwo_9A5DpC6IugA>wxTeWL#O}5u^4a z12-<0@Kbkrb8AF9-GRYoH4-n%?Y=Y57FVWxWPpi6Q(Eh~1GA<>U*<)23OfhNt{c10 zZ`||}(r22r|3zU}1;|@xF7m>siZ_3a)EuO;oRKmou5|k_Lqv{JxrTAL`3E_QLRGZZ|5U zg4$Wpu1CUz7>dX$pLr>v&?M23N$+y(?c&@8aj!1Vo7t#_tnR-3>8)-D*k+Z_J>NT% z+Eo1VhrR`Rag5~el&SmbkB%nY2+fR2l4OWOO`G)rkT8N>*@TgvJO1@W+mLkxv{j%F86fMi{$Z@ z&eI+iMg5h_)B3MD;lz`^{jkx+ACK28#d)8=`(v}rYW>%J&Dq4$PF4_l$_0Zy@rhTj zV@HCvrdA)0BGWEyevX|qF1TH{xs9`w=k+kUsQ>DO=j=F<^1veN21%l+} z3=<+9afY#xPWr>>Nki^1S_&*_Vw=MLI*fsI%mW5K)`A4Cl09H*6nN5*2TYF=K_JO^ z!cLL~JYYz?2NoYdn9c!E6vCBh4)4yN|?g4r?QOcfRBY@E-#SlQDdkfeAkm=p=T zV>2gd-4(142JV0XCvO-RU2310a9zzde-><38j zq`e z8WZYo?NFp!Il!2~fiN^MM`<8f3qzs~0%rQT&0rk_y8&j{2!iF1)`NhV@`x}JDV+!& zX$ONVrC@M{$b}swnO%W#lcX=hI7rb~U|N)DQ&Plbm?VkC8zw^H^8=i?D==Y_1uzXI zhCpKVgt1d%uq50zjd}WSPts!HLU5r|LO9aY6__j)0*lxoBppft{1ca9`~P)142#?$ z#ha2OuYx(YCk9p$_JHjr9liqWuMz^(Vz~^XA-RXZIOvTLSj-Ls0#0%Y1Mb_A1dIK( zKzIn?n1XQNesLg3L05qVC9VQphpxiJNgg3!74A@&38~{MkSsV9cIekwO(^hbQV38K z7?e*Ki~cnM7W?}Z|LYa^OHG0)XhQSDw2ps8_AB^JwP)}Z7=8UhajgX9v z@+mr*leR+09eL=$y{3u~60fL8Y7GUN0Q2!tA#iBY`*0XLNirNJOEO7-!AJuUK;B#7 zz-qzvFjf*v6iAiPa2O2};_m*c_t06(6@8VUG=A_3P*I8b57c>5z@9CXGA9AQUt z6e%hKgvP5VV6N#1U`c7k3Y8iY0Ybh&77ha)wBJ4WnZsY%#I0%?-Y zHJBiXTBmDZZIJ(rq*vEqIuryF&vn2}AURxz8G_7tetkPB;3TdXm?0&I0=F1I{yGju zzYPrAHXv=qzyvAL2oirRcmh(Ff#eqp(*^nTG8Se5W{`*jx+|oC@$fj9D#x72{WL?!Aa6tU^f5lxR1)(k!3Jz$3K{CaEB*_WrNvJ zG|ToFt_;g7(-1T+0puaG;*wq3bE)u-3%{e~wTq1@~VOi7Xmpyl5WT{J!QA|?dRP%|ar?#Rp`Ea`OMYEQ1}2Y7VY z49!U^?mNQSaRT2qS+VnH6j){zHhmjb&jh{HnXOo}+kCLAWw!Ssy*06zEW zmm?Nm5=?7*jnHm(k}B22Ug6uBrBzj{#C(zDY(DpJzoXwb{P*8?%1YR9+kZ!JYiRF2yfZ!viJS5wsKvb(|9<4&-mv!*VL7L z##FJ!yc?GKZKHyvvgIere~iMuPEa91tgb$%JHSPN11E2P2{{YVZNFmCI5a5l$Y#1M zA_%zcuRo74I4m3v985NbAb@xw8$%I5ERl_22*B%PV|eI%I5_J!z%gW+0AUE*nerDQ_`p*% zb~~H?9>WlDNH`fC7{lN}DJG*MV92dXz@v~@A~_)*3o$i;0N+l>zbC{ZP$>9+HGyN{ zI5djPGGGi(E+7_;->JMi^AZ1q1RRgSKo`Lx$h5|&g)n3B5MeMNZXk4cG?_oK2!J3EUVtgkH3&$+yJP=Hwh;{@N zl04}FPLaog6czv)7Lpf){{dA59E!Bm4nh`^Sp+;ZIS9ZrWMU#gXF)C!XdED!ii9J{ ziy;;X|Hpx*|G)tfjzW=7hybBpbGuY-oI1?g`C{AAj!9P#{UTczzp#La+?rB2UL91`9Hjf zL=YeVjzr+MxBvfL30MhYbl^tvs6Zl-7;-Q|BGG@c;a}iEB2f^;1H4cbk^f6Y(5XTM z#BOh+{wp*JK~}}2;aDURbav!~Nc?u$A!CMv6PqqNc1k>+RQQHYl!!t@>J?A|(pDf* zkX96nM4`!AOdtpv1&uBg4he~46sS!=xb33&ZxW#JkV1e&;SmtCpg}7O(TsqD_!kWv zLQV&g@2~lGiZYNI{XZ7LBFGU7&_RO(je`ae8VjYvpvVymtV<+7dLbkl^rz%fV-Ubj zWWL0}xA)Bd^)Ci&Eg)k%=SO68=wIy&(EnfagT4p4Fa{b#psqm750DpPek>juAHb-8 zyJXw`SR{r3sl!MN9@1!otv>QE-)(Dz1^PnGibdieih$|>u?!YPgmiF7EVRc#g6$B* z{8$VMVt&vILGl#~>Ib9kZ;PdNIV=GNO%-9-|-k| z^yATxP6q65QINpI|C3>VVK>+?{~eh-!G#AAN3Jm*s7yXa01W|T3=Ty-Jb^4&LDLBS z-V~|{0qj*E6GFRMBmw+`(19HrWDEx_OrX~x-;@Jk@P8`zKR!l*7=da>fK)XU$WHQw zQJ_yFw<-#B5r16r*CGIY$fQQWQFzj=cXaGTNKFAp0{>%uXb}X}2+~)9R3WRNpqT@^ zEQsugKcV#6xjx`j;E&>e+AOe>gTyup9G?Cs`A7@>bTmMS z|K=VFfrG#tV1>XO3Lqb3SoUyfB+E&iT%f^|L6w5iyW0u zphJKd8gv(sAVFft&DY)+=Yu1m|2PX|3+Uw`#S5GgL8>bX4L!y}p$U+UDhh-C?S;Q15ggr-=ROJx+9mQZ z!D1m;0#2-;V+61{B;!TH!G7cKvF&;Rc4!cYMkC;m3DE$|$pr+^1m*qrjPxHkK!aNI zpM|&A#o;kT@&E-e07+c11SHQeAZE!!0t2KW7Z4nJKz14!a6IxmKL1Su3@A3_!hmW4 zfn#t=2Z=FoXadPJ(4Rp1P0-hq^&KDyw%a9gO|T$=$TJPpJxCn@kpMZQ!(yNn5{rd) z-B@rO2SDJz7zCOdNIK)-IEe2+e*%F59B5$46#*w|kUjw%`}~t({~R)aQx%Ahfy@vS z;!)sOm`rHUSwiVBKtysn&;yYPNCd})P~U;WOGuT&698C|O$aJIWS;>JHz2q~02oOw z3^=6+7ToTa|7yR$o(B@G1U&R)5fohVYJ>y32l9Rs2S=jG52nBm1OCDQhF@oKU=R&{ V3&DMiPK|y$Na+q7P}NnV`#=33!(ada diff --git a/server.py b/server.py index 49a8235..01e742b 100644 --- a/server.py +++ b/server.py @@ -410,27 +410,33 @@ def donateAmountPost(amount): # region Other API routes @app.route("/api/version") +@app.route("/api/v1/version") def version(): return jsonify({"version": getVersion()}) - +@app.route("/api") +@app.route("/api/") +@app.route("/api/v1") +@app.route("/api/v1/") @app.route("/api/help") def help(): return jsonify({ "message": "Welcome to Nathan.Woodburn/ API! This is a personal website. For more information, visit https://nathan.woodburn.au", "endpoints": { - "/api/time": "Get the current time", - "/api/timezone": "Get the current timezone", - "/api/message": "Get the message from the config", - "/api/ip": "Get your IP address", + "/api/v1/time": "Get the current time", + "/api/v1/timezone": "Get the current timezone", + "/api/v1/message": "Get the message from the config", + "/api/v1/ip": "Get your IP address", "/api/v1/project": "Get the current project from git", - "/api/version": "Get the current version of the website" + "/api/v1/version": "Get the current version of the website", + "/api/v1/help": "Get this help message" }, "version": getVersion() }) @app.route("/api/time") +@app.route("/api/v1/time") def time(): timezone_offset = datetime.timedelta(hours=ncConfig["time-zone"]) timezone = datetime.timezone(offset=timezone_offset) @@ -444,11 +450,13 @@ def time(): @app.route("/api/timezone") +@app.route("/api/v1/timezone") def timezone(): return jsonify({"timezone": ncConfig["time-zone"]}) @app.route("/api/timezone", methods=["POST"]) +@app.route("/api/v1/timezone", methods=["POST"]) def timezonePost(): # Refresh config global ncConfig @@ -467,16 +475,19 @@ def timezonePost(): @app.route("/api/message") +@app.route("/api/v1/message") def nc(): return jsonify({"message": ncConfig["message"]}) @app.route("/api/ip") +@app.route("/api/v1/ip") def ip(): return jsonify({"ip": getClientIP(request)}) @app.route("/api/email", methods=["POST"]) +@app.route("/api/v1/email", methods=["POST"]) def email(): # Verify json if not request.is_json: @@ -1335,7 +1346,6 @@ def podsync(): # endregion - # region Error Catching # 404 catch all @app.errorhandler(404) diff --git a/templates/resume.html b/templates/resume.html index e6afe2c..a04765c 100644 --- a/templates/resume.html +++ b/templates/resume.html @@ -67,7 +67,7 @@

Summary

-

Cybersecurity-focused computing student with hands-on experience in DNS, Linux system administration, server infrastructure, and decentralized technologies. Skilled in providing technical support, resolving complex domain-related issues, and engaging in open-source blockchain communities. Experienced speaker and contributor at Handshake-related conferences. Passionate about building secure, resilient, and privacy-respecting systems from the ground up.

+

Linux and server administration student with experience managing servers, DNS, virtualization, and networking. Skilled in deploying and maintaining self-hosted services, troubleshooting complex system issues, and building resilient, automated infrastructures. Passionate about open-source tools and practical system design.

@@ -112,7 +112,7 @@
Australian National University | 2022 - Present
  • Currently pursuing a Bachelor of Computing with a specialization in cybersecurity.
  • -
  • Gaining hands-on experience in network security, cryptography, and secure software development.
  • +
  • Gaining hands-on experience in network security, system design, and secure software development.
  • Building a strong foundation in computer science principles, programming, and system architecture.
  • Collaborating on group projects and labs to apply theoretical knowledge to real-world challenges.
@@ -132,7 +132,7 @@

Home Educated

Self-Directed Learning
    -
  • Cultivated time management, self-discipline, and critical thinking skills crucial for success in tech and cybersecurity.
  • +
  • Cultivated time management, self-discipline, and critical thinking skills crucial for success in tech.
  • Developed a strong passion for technology, programming, and system administration through independent exploration.
  • Built custom applications, managed servers, and solved technical challenges in a flexible learning environment.
@@ -142,16 +142,7 @@
-
-

Projects

-

FireWallet

-
Python, Handshake, Plugin Architecture
-
    -
  • Developed a modular Python-based Handshake wallet with plugin support for extensibility.
  • -
  • Presented at HandyCon 2024 and 2025, showcasing usability improvements and HNS site resolution.
  • -
-
-
+

Projects

Server Lab

Proxmox, Networking, Linux, DNS
@@ -173,6 +164,15 @@
+
+

FireWallet

+
Python, Handshake, Plugin Architecture
+
    +
  • Developed a modular Python-based Handshake wallet with plugin support for extensibility.
  • +
  • Presented at HandyCon 2024 and 2025, showcasing usability improvements and HNS site resolution.
  • +
+
+