From c3dc7d34092664c2a1c18621f24a0b292221496e Mon Sep 17 00:00:00 2001 From: Brian Borge Date: Thu, 15 Oct 2020 17:49:52 -0400 Subject: [PATCH] Wip: turn markdown resume into pdf --- .gitignore | 2 + Gemfile | 3 ++ Gemfile.lock | 8 ++++ Rakefile | 78 ++++++++++++++++++++++++++++++++++++++ assets/resumes/resume.pdf | Bin 0 -> 29246 bytes 5 files changed, 91 insertions(+) create mode 100644 Rakefile create mode 100644 assets/resumes/resume.pdf diff --git a/.gitignore b/.gitignore index 23e3551..a12e5e5 100644 --- a/.gitignore +++ b/.gitignore @@ -41,3 +41,5 @@ validation-report.json # Folders to ignore node_modules + +tmp diff --git a/Gemfile b/Gemfile index c802e0d..112b566 100644 --- a/Gemfile +++ b/Gemfile @@ -4,3 +4,6 @@ gem "jekyll" gem "jekyll-gist" gem "jekyll-paginate" gem "jekyll-seo-tag" + +gem 'rake' +gem 'docker-api' diff --git a/Gemfile.lock b/Gemfile.lock index ca0c913..df27728 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -5,10 +5,14 @@ GEM public_suffix (>= 2.0.2, < 5.0) colorator (1.1.0) concurrent-ruby (1.1.6) + docker-api (2.0.0) + excon (>= 0.47.0) + multi_json em-websocket (0.5.1) eventmachine (>= 0.12.9) http_parser.rb (~> 0.6.0) eventmachine (1.2.7) + excon (0.76.0) faraday (1.0.1) multipart-post (>= 1.2, < 3) ffi (1.13.1) @@ -49,6 +53,7 @@ GEM rb-fsevent (~> 0.10, >= 0.10.3) rb-inotify (~> 0.9, >= 0.9.10) mercenary (0.4.0) + multi_json (1.15.0) multipart-post (2.1.1) octokit (4.18.0) faraday (>= 0.9) @@ -56,6 +61,7 @@ GEM pathutil (0.16.2) forwardable-extended (~> 2.6) public_suffix (4.0.5) + rake (13.0.1) rb-fsevent (0.10.4) rb-inotify (0.10.1) ffi (~> 1.0) @@ -75,10 +81,12 @@ PLATFORMS ruby DEPENDENCIES + docker-api jekyll jekyll-gist jekyll-paginate jekyll-seo-tag + rake BUNDLED WITH 2.1.4 diff --git a/Rakefile b/Rakefile new file mode 100644 index 0000000..a6d0a04 --- /dev/null +++ b/Rakefile @@ -0,0 +1,78 @@ +require 'rake' +require 'docker' + +MARKDOWN_RESUME_IMAGE_NAME = 'there4/markdown-resume' +RESUME_TYPES = %w[ + pdf + html +] + +namespace :resume do + task :clean do |_t, args| + dirs = [ + 'tmp', + 'assets/resumes' + ] + + dirs.each do |dir| + dir_name = File.join(Dir.pwd, dir) + unless File.directory?(dir_name) + FileUtils.mkdir_p(dir_name) + end + end + end + + # remove jekyll related content and write to tmp/ dir + task :write_temp_resume do |_t, args| + f = File.read('resume.md') + resume = f.partition("").last + + File.write('tmp/resume.md', resume) + end + + task :pull_image do |_t, args| + puts "Pulling image, #{MARKDOWN_RESUME_IMAGE_NAME} ..." + Docker::Image.create( + 'fromImage' => MARKDOWN_RESUME_IMAGE_NAME, + ) + end + + desc 'Build resume from markdown. Example - rake resume:build[html]' + task :build, [:type] => [:clean, :write_temp_resume, :pull_image] do |_t, args| + type = args[:type] || 'pdf' + + unless RESUME_TYPES.include?(type) + raise "#{type} is not a supported resume type, try one of these: #{RESUME_TYPES.join(',')}" + end + + puts "Building resume from markdown file ..." + container = Docker::Container.create( + 'Cmd' => [ + 'md2resume', + type, + 'tmp/resume.md', + 'assets/resumes/' + ], + 'Image' => MARKDOWN_RESUME_IMAGE_NAME, + 'Volumes' => { + Dir.pwd => { '/resume' => 'rw' }, + }, + 'HostConfig' => { + 'Binds' => ["#{Dir.pwd}:/resume"], + }, + ) + + container.start + result = container.wait['StatusCode'] + + if !result.zero? + raise "Got bad status code when building resume: #{result}" + end + + puts "Deleting container ..." + container.delete(:force => true) + + puts "Done. You can find your #{type} resume in /assets/resumes" + end +end + diff --git a/assets/resumes/resume.pdf b/assets/resumes/resume.pdf new file mode 100644 index 0000000000000000000000000000000000000000..7ea4eb952e3f7685613c1eeded7458052a97be1c GIT binary patch literal 29246 zcmc$`2RK|^_dcxmh%N{w(Fw*3qxar>?>)NcC5RwGkRW;|5?yo&(R;7aMT<^|-oJz7 zdGfyR^DF=V^y*g#;AgNZc;A0Gy*nw5*K zIf(x93hpTb2CJx(xv`6b(@owT&Iax=oC};CoGtL_0Ots224?{Wf&;^`z_GzWfKLuU zLdnU&%+=KVRzw+S2!dk=s_b+ViosrkyLd7Br#Z3g+VS(uGbgxATSFUg28HP3}Rye1CWJpQ(Ry*s$=Jok+{qrqDrW9xWooV>DWd-y1K00HU=XX8 zwho9L7>kqp`VR!c;N*a^utC7U9|#2gON9Hs6@hTFz-~JDQ-lrt-^swZxmcjT#{7F2 zw%?1U`%lo=Vcaa-Y_~Z7kb(Sn<8W|uu(00@^e@ZRud;HV|x<^Crfh{QwO^nGyB^V z*f@Ua<&Vz(8@y~#FbnjTa&PcLAYc{_*zXDarIG&|ymrP`wk{4lH*i^Q@CrRP_xvZ! zu>T{>5GXebC&#Tp++yZtXJP01e+9FPxh)S2PzV?pgah_(y8TbpDj8b>_oR}slexVM z=-MJxfScCA-UY}ygV;E43slUV9bBDE&4H5Z8wzN0V?oX!$o0|#S$T6aD`OD{k6T-S zu|Ytb+z|ag+{caFZ?7imVC&$d>S%0geq%67qNw9BhvAXDmC_wC-A4H0=z`!2_8e}0s3r(4okSYG6b&RLL?l7vZ%YGy zL{&=cdEuC7=FU<7@ZboSyO+W$P%IIm9jChDyZEZU?riMxo8P7(U+vkCOVO*N<{Evs zmA!(q3Bk*g2NXL8`a3g%`H<-t_2J7+!KafxvwpK*X1>^6`5m9_&M5Ly>Q#F`rFZbV z;JD;4Gxyaze*b7{*Ycmq07SriM$k*=tM?Yd8rELaI z48!j`mhOf+RJbdW?U`RePkwlqcJ2M3xSV~y;OAX`rF&Lycqn*TroZ<7Xy%H z<0@A8VEe1t*BLADdrz_Qj4p* zHbZ5Mjdu`d+#FX8lRPIH$e9fG3Y8O8PmYd2%((C7H!0+460_xy;H*C3bYRjF{XP{> zA?Fd;yJ-1bZ$|ypI!v3bY|VZwh>gM%9OXgLr?<#lG&)xp=aEl!kJxw$aUkC2OK6GR zHp+d6bYz{Ju9{5m@53y2EfMRtXJ^s_6Pw<&H@DI+Jh>>Qd-=fkMO=$z>K$dm`P`gP zBmLKXvo0zh1R|<8yB$7ltLSE*gzoDE;x>LJsz_yRrBFCZF=KtGz0zmA%m?N+qDGBH z5GiWVO}EiR-*a^B!^(Sd$&|AU7v)@v?s^f{xxDLwF`@TusPnzrNG4;y_LFB__)5AKT9jDja}j0JXv1uT#QlD8E~fFOGIy$s_=&so!)2?EpHosN z+Ro;&g#(J(NAa=riy@j=VjbQ&^1ddN#wvUY$vAz8L^*IaEQzT|^eg7vUa`h)MqcU>tX-d!ZH;y}f-X!NHW>Wg0X!AXvm zy=xfe9UmTy4ob}SOoxi~$4d@jN%dnC6H}+XQ&fT~fuHTYkzCY6*Oo%h8wh&{_2|Z6 zx2-}vR(j6j_5riAsU^iESU`7!0DV?$x`7WSC*`Om9{lxFYT9?WE+1tbrl;B&tgXu> z^Ye!lU$U!9Oz>Hd)PFQo*t&bY!uz}%H$99$Ib2no|AJ2t5gZb?%z{j>29jn_35-nV z8-FRTyhUUh(#412{eVd|9uApk=Dt}-6Ej_3>lt3M5;~h?fGSA4GlMGrRKit+EtBB5 zfG#mk<&5*kW2u~pB|NEhX(jwzAxAXYuQ=Jj0wR zL@eA%WS%$_SD{YM*DKbzq?2#rJ;jLYH+_d^SA{w4a4e1qPqrEN%p&!Z;!#g35uYXP zjTg!1G*#DQZa;m41vd!~K0u|niQyws?~ z(?;l@q^h#f^FpSS&2}bNCLy{!Xh~3lmqOUIBhChQGuGf=+}Dhg8e?@tALL820B4wg zW824D)sE=Y>@1GNsc-60dl9oq*ovccILsfd8rsh=tMVQz#<}&W()}Q#q7ctOk9fQf zkw$3ebhPflmmhTKQ`ZF$CuwCJE5dq9;mWP$2f3b}zXX z3AtI$!A%T!Zpd5kn;*vv7s>5)^x~LvTR2le$Rh-&29Z{9!4o)87Z;l4sE_PY`?Sl6 zI8-~Oru! zgh}_OOT=hlevW*Xpx%^9c$Z0^#3e-OZnF-5G^Q~M>6B0rgM>lNGFHvky(XC_5~@$+ zn#@#7(``Me^-{1Tb{^9v3)0FD#)1o%!f7C2xgG(3X0t;Xq+#k)yw4nkXnBm!5d%Yo zR-sd&#b1W)Vma-!`CdFlqdG8XMhII`kx&?Glob|I=EBT;jUu3_*dtoi&^tw#?QU6> z021@4#LM8tDQ9~mSxgt=iocUg6TyeMf*J}JEo6QA8Ht?9_)(I{S84{7FDQ1V8XF6~ z9xSUtRgx_8o4zzqJ^Cz#K!cp`^pkku<_}gvND*Zdsefj>D{1RL`A*erMF#naNq*kc zpyAD2D3t#4Lj>8@%pxpdV5B#h%9}OVb$!k-*#Y~p?BjLE^v7-0YGOK*HU&Y>(#+T= zL<*5oBa>38wj9htjD9WxE=Vbe$R;R@#(GO{+I=6j;yb8&U_OWy8_1S~2fKzAA16>C zTO8eQ6HDVdBIls^j^tWTCQ6Ab`Ps{x5eL+&zuhVQ5N+QMaL&hucc?ZTIeTTV? zO%D4{)x5r#Q?H<~w|UOnz>i%So=-Ro9BrEQ39;HC@q`<41n@b@Bk#k;?IoX;MO9PL za9}PdG^y+EHI5#?R^u<&A)@gQWBh!*?x9AMl=PVx z9)k~jtHpyIpJT`kDlEoPyRej4(PY+PBzelj3W`hU*2Uty4=_`q!$I!0D-0$~=&Fca z*U2hBBA7FM)Qhk4jFC?nVq_J;V0^F9&W?&S7oKx$0Xyc$`-1nwvM1a!^Gnuul*8d2 zvWefUCF#S$mC(bb6a=$pDpfA6oCzLfQzhE|Xpy$--6(#g3_~xSL`8phUc`|6t-NdC z?eI$~YDSrhdO~ww4Eai|+FGs`z47%2fqmw=>2i_$p>GLG@5N2-nNVUV?Zf?ioE^z; zbnp0ybCRJd1Kd)omBg-_#;}N%VgZsQK4s!Zj(DX+sz=|yXZH*3^i2xnKJb(yeqKi4 zo28|s!x;ZG7LOe%zj>Kns-S4Pl)sB7**~Ye4I+c+aPO=3$QNx}4Wv4tXx|M&}OYLwz;KU`bk>#|nRQI1?P)~3UBi|HIZsM3Dv!RG;IMkVFFtxk!D}er zEi>>VCYM;_{VC(Ib4yC09Jvm02IZtJ$5I1ghD*Q3bAzh3{e-bO19BS6x6eOwWm1#P zF-#`)B7W8hT2P_ni|InLrGb0?`j8>I38v|i^;U--M^&U!)(7nVMI_@#_VaHFxpT3| z;)@Y@DdY>q>v{SmwR*VjGLAYp1QKl7PrEgbm&a5xn_~@(&Im%0C~5B5cGqfxyGCLk zmWb*qYGs>0lNSc(`m5~W(y(9dV|2eKarW%iR@Y>KYUd%Xp+Fn!EXDmE=)A0>S1FL@ zTKk$~)aoQ_ZqZt#QCIQdC3d#4f9g3KrKm0=uaK2pKAIULT4h)ZT@O$6ruF=66&^|= z(PD=B^A8myt%UCbmE}*LEIlCXP1Ig`PNQ*X-+dl;p%1fxM7|T)_>q>Vl`YOs1S>mg2Ud8V zu)z0)kmHdCK9EQ?FPJrV_0)9rDH7dA!4(+Cb`eZp`LuE|FoiAEe;A|C(tkpfdGuu` zz8^uTP56qR47J<5vcIAp=E8_J{{*-wZgb@!Mp-!~jmt*aL7 zG=(7wl7v6=m;K?E9OJ0}c-jHc&ax+QDBSDHa2-eEY2>~T^GIN~265NxNvVtJulX}N z9d}Kp_Dq;ND>Zg2bW-N47ER@kqvR^E0-ZC7g9b2+N^;r`_uj=~ASdRioGz3#tTex) z&^D-y1)1Y%lc|ofB@uPRoH4>osGEbQ>+@rmhr&NAfkcefQFu)`@ z5<{OB`qpa!y^w`?BjkhB{=tya+jlH9FmoH7I<=*Nw~;kkYHuv7I1-3Y^<;VV^0I5A zCUf@BahxRWdaT%lg$t-s7>R< z=ALOB?0gy?;9bQf)^FU8j&eeCDsa`0b}L!f9>sIl*xa=nnhXE(LEbt}UXCGx%OquK zzsv_sbk(OmKJ&BAP?GZaY^F|zRut_#Yehr}$J6vV9mVf@m5+abbiSoZckpcZ(O!|u zcJ$XY`#s4xl=poTw)jo(KDD{Qr!U1_UX+LRSG8y3MV}5sU1iA>fq%?SMPC$L96aqj z?7!SwL<(-FRm-e8tE#y|ypQ$Z^>qaE*T4P0;;A<=g6p^eJD3ypJHQF~D{u5YVqE#2;nspkLveKgwXBn}8<}uK1%6h~8dD zH2<}b3k1Y<{=Lu?#C98e`BU5+bTgBih|KT!@$U#JAKxEQZCxNBZ35>6X9Z^rXAfLC z0N0jq=0JGb6u7nnYW0CP3-JEemMnj?6$0Ym=5U_>g$xW13daV>a|4la2#`X7D-Jjq zaHY?H0RsJwd_ivmSwMl9xw8xC&&j~9n~6HO0)Zs(b@=A@gsvrS13!OENELu$4@~EJ zA|N3jc7aX^txPQU{`8OO2<{m)M@HVdYH>|%@c?;_{ z`v0j_})%gd! z>-v9yXAHo)-q88KhhzGWaBf}1UvU14mHx7O$nPzcf4Pyxf$b;Pn}u`vr7O_QEo}w> zR0A|+43u6kEnxlsOI?}&8@SuGyVcbn%DFby-^#h!%TRQ6v9+=XLe;|$)|V0j%Aw*-3m@ub+|%jj1kAZhU>;GlA z{boAXD0Tmitl#M1H}YSRb?7hc|BsP%ZCRTsA)LAm&CO3Zp6-V}gHvpaOTiw`a%9m-L^ME8c&-C%LlLJ~LlD8mzf#9IU~aj5(o1*ZL*xslY3(l*Im= z%0e%PozEQ8u&!KouM3Y0rQTZNqrrg0*!a@tWt3_8y1@cQN0-Z4W5Ery7wwTT-@5{m zsI+=t&u{ll5_lh|Fa(sEHQDU*XjCqpOL5yCp?n!vE6X-cEbC>)uX}YYm~__lrmV2! zg`NGlO`p~73%hN`(e2AAID3NZ5E>-?l9 z((%`#u}mE9z~`NOM!5D~^KiNbqslYsvrK0$lsOsQm}E%obVf}yAY`zy(U?_pAjhOY zsQ_1V9J>U*3ST48Ez>CYRRLNqd6xGbX~l`{K@MBEl4Mya>9+xTId{E8iN@9O%;z#4 z>)FB*FN;7T#5m?H&*jicxV%WXV?;kmqeHsCbPH z5uctLKEPi*#=-JM+(2*&a)tlNxy+-;(WCW1SoGt=7Ec{)Cx3yV*POU1@cpm45t!z} z^xj8_BRUNTzCx%O*lQ%K^nPCJ&B*UtX{fUlSdY7>7E8n-5Jo^8l4bl-jG!qP*>2L; zo73pw`bY}iq}p_we?BX?R+^0cE#vnnQhF5nhL{rla2gXAi~UNX%Hwei%n)Zi2fbv8 zNrg=%9U6w*i~#Y9#0e8egjX)H78blJj<3+W?Ws|h?WFwh5Au=a)}Aw?9O3dr4#>OQ z-y+?*vj6Ge7X9H{9E`74qS$XymOajGbFmX>M@NWSDE?&W~uqxiU0gzed8jo z-3A*N4E^iJ+TUOCpkMy?dS?*$p=Ii1CpVOZor4n$1%59> zAuQ|=HZD%Ut+7f2Uo2Lp!uFN`r2`CfCG2c^z3Ivg;bMV6ATSOXPpNp%~_ZJJOX;q`=h1n9}IR(o*-EsNT+JF=R_8B1lhWWNdcINqLgIp!J!{V2_sT zGMhY7Hr21c;yyB9uFOE{fP6c$rB3nQ=DzxVWcWk)8CZlKw@?ftP%d`5)^ky}y}4(2 zC(q8Minq$gz=NReDnhC2%6`EP`$OlP5d8spe9|-$zGzH9d((m8oR?WNUAe6-ZWUq1 z{L#a}$SKRJEyancASF`0takoNb6>Sk+GbZeJ!gZYV9NP?FTx`K*>bVK7}1?Fsh~HE zh85)W=K;sL$M?7s%mU-RM=-=Qqm18bzNtETgmF|#wb4$GdlX>(VbjT~a65-u_J)%k)tWSsPLi{M( zX`5T>z8O5hT5n&pJ;RbF@eGQ_q&0s%Bo;hDGC|_GX0?`!z8+YuMsU+K4<4VRzb3{%#tv8}?E3zgOD_!J{W{XY4z;|>7~(7fYz z!ts53Fy@}8Dj2}=dfz}L0yQE)nWdl)$v1b+D#!|$8YV_GJ2FV9lE+)Ek$x^s8SbH# z5pBk^mxzzS^{0Xy6`vF8w(hbvpx*7%D)-n@Bv+_)YIW@~DmyqiMaE=~I2Fgd^qzpw z3JUspHowii=RM;Pk&9J4xsv=Q_=)I6k^9C*v}VuHV)=fu&qOW*lZF%*Jvm67r{o2# z^a7cGCQiB%5B7r9Fy)Mfs`skW?)j%e$xSy4caH~Urjixtta*MMwL}e$ONjRhyM_9* z(=9QT?uSZ<9rU0s65%Ba#}P=Vaad{1o6%NRysxaZ*jSz<4YRT4G}N!hUUc0k_N{Qc zIIRd3L=vS_L=nxH>s(}RjN|1EVhz07oc7<1P)L5R%FBz+nW4d*=9GjqO)DMymh1gp zStU!eCOzRqE@e=&oCm(%Fy>Ffnx3!Bx+_|boGYIblW%G<=sD!%rl{)Mm7kkjo@ajA zqqs0aK7YEiTKh>HHNmRgha!x>ZgEb^px+OTIL*szbq?3zaqwNk+SM`4P5iwa7ny?b z-JdPBFML25lsl_%=szS$-#B`pyi}1IxThdCUn-gXj6Mh?gV0DZC!^%HU+b$Fy%)za zJ3IH-g&FtqESub8BQ{l5QQ%Ux%~tzp=(%`6g7}`_OvB>Y52kTJ7&E!Mn+XwJ{bzg! zukF>ny_KypG0?5edAHyCT_5{$?T(+_PcO9^Ki%U7M5rrsM92x% z_At!bZ`YwN`*_yd`6~O7s;bV=d;(i|jr&ud3&jXz1cqEOo|g#Aq%Bw>4fAT{^CZpC zhFx~#6E&peNq9*OSRbJPpUa$({!GpK$W~T6`y}V#5~INMRm2QEdn?kpmbOr zH7GoMw$GExg;STtO_AE9w~92hMZ7&pCwYIBU#Nv<#;GM&wV8M64Ps*5tZeAw zoM~xx8G5pH=MZ~9o3__mv$ZDW%nb(Ey~3|2iZQECW&;bM5js8HlxH4wg^gR~oa_aO z>M!V)ugsPe8S}vg>sJljeyL7vmxH+s9-CVE3eZq8Naavhu4yik_q+ZdX`Zg*2|Fu zODfdZTbAco-f7G9bdF2Yo)|3o+4J+$UMM!XiIZXlQULP@g=nnC_$^O-w=KLP^f9-s zCeKgj1{?6z%Fk-1Hul@N=hOHJ{K_vTc?Pws?L9v?cnzHudUR=5zMX)C8O3#IMeYkJ zcyV!%?zUis>Z9IOC`>w9U5kie;#CmjDQ0>4+{C^@<($xg?bYRBtAPOLUBvPbt|wzf z=$;~^K^N>C@Qy+BO4<)FhLmX?X-;Uwvp^oAe01jYjhMn{ZzS>%Nn4>%OSz=W%M(M* zRm+NtO9BD^!B9dE3+ZD9W7TYUQ_=6V%PITX-2ki%5ouE(W7YM)i~f$6v4^r~;GN#Z<0Hnhox~kQ58B5dr})Lpzid%@@nC;0JfblVSC-~@`;N`AHdsM2`qM_=ki z%1)@`#oPmi#YgZ3>Lcw^Mcl1Vr^~cli_WG6GJDyp6~W5UXK;vLY@u?xiObp`umEfoK~@Rq+sq;Qtl`z@v##NoJ!$5CJ?Qdxicu{!^AYi+8StIKY%TA zML<^Fb9b@H%fX{QafX<(=J-{71Cc4?yzm^x7jP`ZjAtj6pf@=hWp(bY>Hfj1wBv~d z@#BHF49xwB%)##oDlX9ku;tSG8ye&TMIGeK4)n zm4~|MED*enzc4UHZRKchdk@-JeJ{;x2NX?)-#nkzidyaS?b{_Q`^ilDf#sadz!+o8 z&*Th^OYZaUYddjDBcJA<(&bHLjx7NXIkA4DPoo1L=uqcig6^ieL`{_ z`nX??1*dqDxmvEQ5wc*nE+%&U+Z1E{7>GkE?wen@XL1=3H{PcE@}6sjL=F!Evju zR+#nyTDt7%E37c|H|3Dzmc?DuYQ)!9g#%A?R=M(c#-ekozw#?^WTG-CABiXWz~Qo; zg{`LflxDj`w}#*x$nw?`5BE&{z-Vu6feL*-Ve4fnPQD-)@FwDX<04wXgXLt6-+|>x z9k8t0qZatuC$N9fkC#lKh{v5@|3sU!LNF3cM*TM57Dk7WK*RZ&bmAFKe4ec(c)xm} z#*M#iW6b2-gMQW4-pX6$c+Gn!fH^;|B9F9>Iq^*ZuRGdGkYCU?C+CODte=royTMms zWKXDSEiFRg^WMv(5HAU?i!X_j~VXKH#--=vLP)$TM3Bg3p<5C;NJ!FVI zy$!Wk(dr3(so)qpyI4ChZMh207==IJGdkf6Bv5NeJeQ2sS#QVq?kk6Z$&lKLDj2nD zRASOr7R!BnLL4Z_Y(J+@G`sB+SG9}dl~ zdchV`%JbG9=q=p`xLvPi7T*#VN6!gOJ##`fl3&MHq5%(mQ}%JBk!L$;-AJI~kMYNE z|7ka&eNSe1y|rk$^3Yr-&b9Gv*F z+(|d)V(8~|r_Cl+P2Isy+QX1*uSxb^{XRl!;GW@R-QGC5apA|qar7|7`^{U`7cFc9 z1S$be0u>~TJyI%!W`i0+4TMc@J!wsZ{53}m0pC%(rB#J^l4WI33;LpP;$|?7I^OuO znYba0(1o5g@wSIka@L)FlJ}T`&G*0B*b3j<*hn&T=IJ2mu(24v&%`$3EQ*gm7kMFA zhkzXQ;>m}-p&zZ7#4dH^j_}naj;WY2iwGm~gJ0wCAzMCDe}t|HaX92_t0h^EIq>#o zv7OC-Hu{A>eU$JG6xVG~C?H-VwViiIcBNTUQBs4mdRo!r1KJBYLivQ zG*;7UD+V|bb0pNuh%f@3R}@|l=azbXCiro*^n=iC z;q<6OVG^H_WA2NXQ>pYimf*ujZ%H3KHCVsPcIxR6XN~1Z!t&L1@DN$Le9ruh<@uQ6 z*ytB`Gy9n}%QXBVw5z&ZZmf{H?|Jzoixy+*tuIo8nu3^htLz(*N)Vegdz@S$Yj_{` ztD}k{DS9vyzS~%?hgud*oYWe-1n$!dF zzK7_f4A^czreR4g<7HJ_dis3$iwUjkOROxeK3=;jV=Hlh$S0@WhumY$3mcj#jfN}~ zrvrwa!WQ2sbGA9qz0)ZjMlJ z0>kRdpBOqtGB0*fK7KVXSBnXaWvow6vq`wCTqF{JF-oRXXpP1r{gt8p0p&DrflJe8 z{Z(+!7M-^m*`V}y-p8Z^6B$Kf!sf4B?(i9HBTPg)k{*5ucn?waVpS5*|1u*->;%U2 zuFBn0R^mrVQ8V->-qftfGS0IDe?Y1OD;#6R(G?HEoIVe|*URI};mbJx@)P>qP#s@Qc$8?AERQu~iwwc4HP=_c zN9Y0>$BVu(aZb?#HgB?U7w?B`kMtv1y_jRSg$ZF%)NoREyEjji_R`e@4zYQ-SDicS zpvv%_eM9Qs($04GJI*n=6iH28?rul5VW}+COPeBp4wjB?letGMZAy3wugV%e`Z9<` z`957Hb%Xf*Zvhl)9S|%9U(fxgR(weEiIbr4;0*8gmvW?Z55A9lLy#;89B;v=cZamm z-${#Y!;)$7i*3V*Cw^Cgm(7+iq!qMn-u148G#f%;mHZNtKqaT-Vhf$je-wZ42be)mK%W(%gD<_CA24x*-Nw7b`pYV8yp0}NR5z# zLyhIpkmm`7_(~t#9cn6o_cZpw4s+?aQ-2>K`51YP@NOF4rd5zTYJr)9|HcxUCX=Hz zvVpA8Yhn$2ZrhJ58&4hu4dRV!zS1!YBL6x`&yl+QQ8}C|eIdwQu)qrLGmBPxqc5dn z)u6Xhv&_@W!)N&=3@zc6ujhZ#%5|)ePJS}cq`!x;1A83{_1NN0?%P`KF;jm7-4hlV z=;C!6_tm9~F4WM?w+!i@>L8p-wEtN0*3cy1Zhli9=0HWcWDB3_?8)sX8!%*{~REOnlU+v+F9o%wwO=D zQfL3}4rV>#8q4XkI}#;12d`a-!s`PJ4`WN)XZp1fr+D+qFt2KEaLb4 zkuOspiIrK)^o!<-XLX93TW215NEb_VwK8ezGfn81$9Bl?vkiW$P-CI2sEgY^lEr0m z+JPT^vt-Hwe5b#C@sgcs5KEci^fWr9h{~5mK`@__yw`-6%P0?$R+~ z!2mTD-pvx}(-L-!&AAK;85*%49mib8OR*2FT*TVwQKKqeo8Y*Q_O0E zzrX2H^(Z{R8Yi>vE1bLNeo;rj7j)D@f?l^b1wksfY*twU17c+=QX*}lD<&LKu4pZu z+4Odptx9C3-p96AA!NKzIfEJ4H&%HbVZR{lIP>h=CBD7 zx2`E+8aL@EqQTX2nW2einXfHgIDW1xbUpnw`>;1k z{9^iRXmg5AHDl0(iZwC$7tw9Yp~nRQY#EP5INrueHDmnM7EJT1tc6s(GDh!FiaI@r9_r_G^rO`ju)B2#JbXo;OSqh+ zx0nr4iYPTxcQi*i{XV2mJ^)kl67yx=dfhQj-^uXM^8E<9L?9$X8v##!hzX*Lm^S*c zPh@vQIYrzmTrC(<&AOiX0q zH^HzglK68=^OnUPHVuXh58N8uPFV&za`6^OIxVC^YXfVE+%~ZJQC?c=Lv?9QT{ubp z0!}dtF+X-CeOc-P@x;t;uLP7y0_@R8BemSH9Ylmj>>}N9M;o|)I*;$p9VkYmx+8ko2J>^@PGr7|xek!Vpm3ln=&J{H_ zBeRWT)mgj9tR-`is}ePUCoHPhI2%|LU$d_?wz^6Xupx;`0GUJJ#lg zU_z8CKIU~=@TxCVQP!k4RA8g!&>oTBxLdK^gq79(%iy+X&&&c;*>-Fr{o>O&A_|p$ z$m>J@Iw{K`i60U+pAC6aaQk37XBD^xPRyZ0cxN(XTSRD8b8wGmt3^sKQn4<| zXJ6?}u5wYk(u&m+SurR0z3U(T`1Er48_M)E*c(@p9Osv-QN((6*jINd2)ustYRe7aYJH&l^%PUO28W?oZ*B4XmyCSoB zC8!z7tr?mMKJVw#G+AWabayXm!QLr9^x@JpLFLm7wcg)KW-8(2W<7T6i_zM5?T^Xy z+i>9ol3gOdBA2Xn@5N!7-4ne{>NrEx^OgLyG%)Sb_>rF-{ zQ1XG@eXk|>OBR0GWxs8e`$BVD^6~WM^t^rYK;Y?MT1Y0{ok!nAi=1#6vkV6w8mdzn zy1jZT7(qt9* znE&!X_hrYT%cn-EEOhbD{$8L(%9&R8+j4QGe~lCM%enB8Yl>KPrtTL{6jokn4f zpV+p4f+IbtmqBYNix#+BO)U{9Diny5<7HOHMuhE_^A{px&zvo~hyMdbPM)WF10TLWXTBrr;r+4) z=OS5vlZ#BbV|$NBPwcf3Znutqa$)0Gm+Boc)=UJklTHfFm+`aZN!ooSY z;lKz^%nloMR4*_BDTf)(siN8rJ{Ih>BdnPf7dlAa#%TMH!nzDG5;XCk8-KGq zJaW%6Mf|gJ$yh3xJ1u*kr?@r4lFGzV;1n-)aX-gmJx7uDDz`M1Aai_r~9xG26px?m-mVDA7mw#&@GDp=fQan8GcNuzJd-?yqypop+So z)8$ZXN9g4%amLIr5yWT7g3)(B=eYA$6BUc%aWOK=2H|tmCa4DpaE4f0!%V2jR%j;> zO~egWt0t1{!qe}yWQ?`rXVG6!nK%<8FN$9*;t&2HpT?2aWV zkVr>wO5i5fEQIRbq2Y+(fokfT7QwXlg|Y}bNbj^kppJu@Yr^OtHIuwlOIQzMm9=p+ zA#Fv$XaUox=2}l##eE#8f0soBOD8;oKgx$C*!QY1ANjb+{um zE(Nq@91mqu8Z*b7c*+_@9;sNs{Ht41-$T~nIiAt6r7B0ojlb+UIKtKvcaz14U3ZNU z8W3rDh7Pl5_K5RMNI43A=^)$4{9YnaqIEhq+klA{-f>>r08Q^n1a`(FVY9(JDvPSe zjkMpjnBE&C3N+MY;DzLl4R(p5U`44dV15*clAF{MCS6lP;1?)aej=Pi7T?H%C+=rWlf16P zAcPR{Fv5%GkmXRuwp??;z6|&pIek908Z%CIATwQfBx5UAOh8umWD9S^SqjfRU*9C# zEu<#PEhHR2PJnZED>mfdw3^pGVZ3G%Qliq`GUMCba%h)OJ!O?J4zEkQy-_Y#psuN_ zZv4<>qst+m*CZ?Po3wjN*9@*Z-3%_-6#0{?QSuT*H_7P~7s(dwMFg6m1zu6;vrNJ6}d67rC zyl_>yvwYPAuIe4#>~a+@)rnnn__-oOvgdZmymEyIeRhKSpPZ2!+QT(9f(y#^H)rH; zqT`>Okw1=25S13YW|3U;`5?e)2*%FlH;hXgQT>WyfN_P{BL;-R?X{2@pXYyBtS5LpTZ920zo)|N8o`J29O}3z|-t7 zFeeBG@Sb4+|NA_h!e&QyxBoq0O{pg9yo;qIBWtaX9q9> z*WA}-0Kb`o`?fs?CmT=)xhcCY|NZ8G0N2<3Ue5<8hXU*$PJoaMy~cLKy7}`E0`|Wt z+W=?!_E~){Fvqoaf06UAwJB|H1rWf2lT%Dp&0RniR`zC2zm7iunE*>?j{&gY&8&bk z18#FSpQd)kjsQ*P|7fk%MOFWEnL%de7C=Y9V%~C*ZcK#v_p&krGJm(Y;gJGZ0138R zFxMvxIA5Qu;ACtM9P7Y$eV~K@h))9eyWy?>TRr4f%EaPdoBxu!NpAXJ1Ns2SR1yLp zT_9zL++;a#6BzeR4tCoHCVrEHT#pI{!vKlvg!4AxxJfvmw>j8N!pVM{+%{pqZ35%E zE&SE;*Fe8=BDZzFTHcCt{DO3g1tNOWgyR+x`)!W%c0AZ^4swf=^A}FB+dglHg$dv0 zZpArnM}XWmVZW_o{{{E9j{R5N?QA)22V%d4%YNG@`>)P!<)F899Jiyh-=b#!C3lMq zdOIWNZ4>CNIP`YXoVOr2uH}I9dTzy`w^*RJ>fyL;3Ar5|0yMcfu;TYh1FYm5i~Y;a zOkJI>4*l^F4wkm){{g>rCIyhdt&71ds`p>@^{r`ohyf#(fG@yTWk>d7%U0%Dt zzuXtI)Ndx7nX$dgwc~RJ=|XRa=>U&T%|YGX>e`e6w+8seKj_?mhxp9~{}af6LGx4o zH<}-_h=Z-!f64U&&hUXkIRGEU%+AKa0)}3b{ea_8IDuqkfa=C$7x{0G+$%mKLEzqx+DDCGYm*G~`K1Ai>VPcd$d8vfPs9NN-E+x_r2 z@P_E~QFaqV<57`Im|6>w?4@Qd;-nK?)AQC*%kP#zZ{wj8fo|HcnJrrCZ*Ife_K7d- z6D_K&65q3Dmy^}OlI+fC8YvF1W_wmY-gzJtaZwj@Z>_h-`)ct>aMte<4MzekTsSF` z=s|G4?QH0wWIeoQ9k!&dd(JmMin%z z;U+6$2DVmM&eD6p_k9cAGtJ0}TWK!{1+n|W^=Ss4RIsVN_&omX%3-U@QN8#ZSOY^{er;k5U@(gWX7eD){g@h7R$1UFu(0 z$8%uIi{`i(xT>4ChON=Ga=$pQZ9=e9cUAWkHuh)ZY*$j@Gd;zUk$AQ6is+FR0Wt9- zo$@*CsV>6KXx>VPZ%-hfOtR%C11>D5i!KoDt7`1N;cvrw{dSytj^~W6q)7QZs(UuM z;cCG=7+T4rg`y|VdR>CjB16%z@>d9n2(0^K6ISAXlrU!z6f*I^BKrH2vYDBxUu>-M z@v-M@oZ45Lu(aur55o(zA?lMvKcw=eZ1w%DF`2c&!wF|}`Ml3o@TzDVwc&{8BSjO+ zoHhL;dRDkXCfRWD7!>W^^|ev;?C)4;)lsJJMAk4c*-`C_>yYDm4Yu>E7Si{n7DEYj z>&Qcmo{lN#oqO5Me93H|O2omJ)~j^py~K&@`=~8zIhTDWQkyrp^8Rj8_jz5wx2yb^ zW0a!;lIrw8tlbcUlQC4k2hH7r~%XxMhf55o{12WSYupxtSL9gKRFqGpWt9< z+o;wWtIkCAZSRa-@ot6q?&95PJ^oy-E3fIv%khDv&qbmHSF;uA-l$q$D314n?U5)# zgSs0RMjIq$&6tQINruBejjAX9DAcd^*lnul6vt#UsHP9;%s@oNmadQT_1qcA2$*y& z+(JCloto4+x?5glQtn>tqQO%`Y`}GQWorg=T0>gnLQ7xJLml~;@G%?Wv%&&6njBB2 zSHSj)1sq{Gaw$QKj`}+U@pn|+JUr2KRX@f{F3d{HOi8fk>U|}62AjQW^EF+HPRZi- zY;ET=k*h-4wA+aJmmyD$=BC?GQF_c%sRAU{0?xME+om4^?6oIO&cnuqjcbz^)nAZn zl55;+l1l~8b^76Hqm|H&q72p2KXR)0!-sBgjH-*ng{P7tE_Dw&2lN|SR{8N)R=PJY zhbM8$2>SlC3QOY)d$k)+SI5Bra)osjgQaB2y6b|Bn6-^Y+;wPz8=rQ*{b)|acKWE7 z4u#?;s{vYBlhNLoP@wLPMq)|MSltW6p)8O5a(FR#n+qLH^e94QzxY(_&ULxnoNO6* zMg8wXZP^i$$@W!yxSD$^vNkr}HT#p$ohEZ~JNp@tHDYHvg~vapYl;i;7p3u+r5z$m zBx>F7vNW9RaQC6zPm`cu(VlyZ5)oRa+@GIQl%rM=tZE*gwif+)#o9sF_3Q|VGL~X= zZUOKAY45J1s_5DUfJ+NVcZ1T+fx|gSE7C2U(v2diG%C{Fozg8xNC}dMI3g0Tr^@|CwYO7H zvHRXWY}l1pyOUFiqqx?f=u6}(9lj!Qh%`5e27 zeB7V**7{&8$s*z={bTY@-?zgnck@I*OO{a#J^D?sHIG9gzf4;7epvG)Rp)PYxvV2Q2U=aU;rlrO)CM4C! zPym#Fq4u_~mnWvs0TXpNL1cB*%&B^Gn$NQ|At&z&0s?HySTxYBhH5j zD{FUy5GIpMaBE9;>C(iSNbO3?t2qgcjgHZxr@EeJTNSvRUaJU2>bm!{d-p>P86{FI zQo=0M71I3J*gP(Kf^dwU{wUID5p90LnC6ttLsGW=BhO9|(&dJ_Su))03yrfnD7NG# zZVaD>i+{wIDnI+G4YTqd48RIqVa;v6wJqM_$v&sZyggdTIcm+_imjdVxaN*BF%BE0 zf&S$BbE>U%kWO-v=J`>Y`(9Hc6fJ&}#_jU;fk%08XR;^J(h`wKCZ)k6=s=8SK!Zjz z_tORXk0xgWv)-%X=NB~6;j+h<-|{A)8v9b#!Q^f#4L-I)T^gtXy@J}Mu(1TTGZfTF zS?9Hpk_(qdOFyuPVq=LY#?&?D1ksM1DJm8@w$(@yJmI*LM ztn6*%YWCY><61;k{P_KQZ`mzBG+cNil29I89(itvP&-wdE{0$-MS#3vxz&-&D#(`M zb8Qn{T_w{a88xlJspDutKbtUw zJkN|&R9kh{9gI^9yY(;H6z0`Qv9lvh+#~MMr|;?}PFC-o>_)?NlgI6}#%Zu#Y&+cN zc7g6Vlr-6eUSh2sB-(V4Ho1(aU#{4=4k_G<2NT9?*|@vY34bF=TJ>^6JpaZy=gGmE z^OZ$+u`7HAELEBG{sojwmrKqE4VsjMSdMSn;VUlnLto*r93Y&#y( zY#7AYw?Q;9nhIHEkNG?%=txY}E%U7K9^vT6zZbuMcgMX!>}=A3I5szpsz?u1~C{SZxLlOcEsmD|rmTt&ucNXYwmpXO-Vmr1F#eQX&{W_VH9==E|f^pT^V zZ?n6_)|b5(YM;oI8)h);qQ^>4Ve|WDZ)8K3id%+e&bay>zgu_#m$4eyTlAV2#d@)$ zkfv%Q8jgzgUY~UGs;P=e$d+Bc z&)z?AxDZ)OAGlXAg3aSi?d)<+*o-3Jgcn?lmorKXUQlN;Xo0j= z$i95M?mho{q-=wna%A1#DXG;FNvAIZx#+^@2dh}4biruM7r(nY`5H8DWDE34467MA zOXIh__E$u`364ui7Hu9(`?hz_h=iQIRANM&rd#QwowK7PYbeOm~C2uhKY=&*zD{hECO`A)P=l@zN{H+gzgWDE*w`B(wDVEI$cXTrfOtpq}<0# zcLF=xY3bXoh93rBO^iBAT}3eA`^)ZK0Iz!a6g?x>gceV;r0k`{X59*7k8QpbT>%Gp z48`(5qB6G&Y-Fhyhvuox=f&sR{XQ0>x)U>?H$4d$axl1*ZxoT$H)1Q|nTwf@!wpCZ z)el}T(uQ;)I7tqL*t4z2N-~`})YE&dQ_%}$Ug#{O@vy{r+!{O4?+0U4A`bmR@)bUt zIf5uD2dw5yyTpB&j!)NSp%(Eo8WtZBd7GjniOknJus(yQABM{$GgrdBWuD?}sd*^R z;vB`hK7s`iE(f`BQIo#ZHHqJZgVy6-c?Z+bMEPUSjpt5+;!||B;$qk+>ZxL$u=aZ! zLG0U_yuS&Bvv1*8dL5Z{9sM7t z;rE-zyhDzkY|e*M?eBhEA;mtwZBWi2dXybantmR+-6!~=$bQtWsVQiD4$Nejdx61D({OnLo0;n1IN`M$4DpZ|OR><_Y>B8xwt4;u|Kzd# z=qXLwl~I3Hi0X20jyut5wNj=@QhaOBKxXzAoI#bo;MM$@@cRdy^X>#5qHi_U+VUUv zW{x{?WrgwBty*b0;z(CS_Z3JI9O7gtJo}2$Nd|p6x7*@yE6nr9haq%3f%_%i=v(m8 zhrI90vbzODM)JMUPRYs^Eq(T+?x1K2<;CKW&V$+EbbdXX z+U_~tb}Xqo%{(3nCcTphj^6!|Dc=18VDp{?7ZeME-NF3TP&WlXy9bSz%xQTcJoTu} zMIm76x1y>YIx$6bJz8ic@u0D68!$y|1w!bsPur?|6XlBK7uSuJojx`5&|mY|0+|UBqu6t(chu$2jqR|R+#`3~*iq&P z$|7Btav+qLX7-WD4=SLtXgwCn4_^^;VeCTUynH}o<&20`1(ZU?r%sd`Pezb7z9{3H zyBTo~OocM*|>A5XX4hA~b#0J>I;?0|tzH^X)U`x=m|?o^PxgLN!%Z#u^xNAHPI>R{Uk zhCoP*RQ(&|`9(x@Non>qbd<(+60H5!+tP6*S-~s`KE2L?yIeCF z=!H2|n&`V%$Busc6J3Qlrlv1~B;z-A=UNEbD()3{MqK;bahW=aV@PsolJl zwUAcGerbukOV}zDAP{()F)h4jZtJn-0U{P}ap)&kN*E{iONV7z^9;5YazfnC6X%s6 z8r&^~B!VH+uWTpTd-koAcylhE{>X(73lxPxPOHM}If#x<2u>kcA_;QSKh~jaxg)n+ ze;6tHl-&8$NIEQM>MO1iTt&ne!#p};B#k|Ok1C|Q_{qlze#(zh!}>1h)RKw$q4JoN zZY@jAb#k&`P0`j+`Tj6LqBF*mjO_+_Q3fM&xmhNt;7w8y z(TIjTkfraF?@m}2b0m*7M81k`On)wK@}R6;Yvjb|ReXs??j8@8#Ig-_En8&+2xt2) zrMxVkyLcsi_FWTrrw46IWmG;bf%!NHtm+(K@gkSqF3QNVryQH=ZKAN5t|J*4JwlNJ z$zWRyyeh;D_Y-sP9_=tTYreVe)q+k@S2w&vm6`)o2RDcx%MYK&Yof=t<~z~W2xlh8 zAfxo$jQ-AD@ia&R2eu1(`JHmq%d3WfXzJ^mTJ6h0s29xgux>knpfHtr7G`9#y@ay-x+Ob zGK|zz;9h%wZH%M{BTKa=JyPg)v8VcS&a!gai}1|`*6{fgdJz>Sby>wB+ASlYs-axD zh&~G_b#}M8>L!)(h961SvR==9hd7HDahh+{Z3f%n!1ADum!Op=yzME&5&(?dd+%4R^D@koZ>@eD(mVy$62cg6aDitFg)~Y+x z=oY8)W+X_yp%+x7S*vo7p#>ylG>iU7()R`Y&ACLMbM}%w%@q1w*mj~@s6T7GuiiT> zE{Fz!?1dts!ieSLdx09*nQB{jni{5$LwLdskkY4vK7YH2cu5rBQHtTs= zwv=H9q%8G(*Z_9XS9X`x`>et21r()ub>?zrCY0*kN%JuD1B%!N;tV^JgZy(w4Vs|} z{m93X{oVPGLzvBEtBC2XjV%tW**re92$8f6e{zb;t>&d#pKmG-j+LR+eGr#V+@$LR zNgcZNyp9YbCR#Vq%Gf36$4JFt%m#>GE)JHdl^8ax2E&M}q$IqmA+#VFZbqMZy|&}e zW^Yb`IjFf-*fiY2tXwDHFUdAM@afqzZfvkE^`ppz$(Zj@3x9QMGJ_F&weR;kx3-*~9UTsxsezksyB zVsENgdM4?6xf8af`uT8V6g!0>IBeuae3YQ64(pCB<`|E+wJN<+?qGz)Gm=cU6;8HI z8-t^id+)xx9QCJagWnYm!Rm)&B5iot5CkwG<#qE$`*6*rJcbtovZ5QNWA@p?Mny`U z&pFC88rRkz_D_H3RWTpkFgdK#Lt<1_mx&qm9a1xccW%EsK1hHI2AT`6sPqd>ohh&w ztQ*9dV{sJ5GN3B%&t1aQhcOLRP49&#C?kJs(sfH19iEXY=#y$|z#x3JeW%;= zjtzFVuuxC5$*Js?gXf-pUeWa2CFt-~ZL!zjZqG*52AV_m(W|bNuQ&^w1vD}G-R``m zvd8yF6643jsY=>Dc^Y{#fU?TkFT4#|vddz&xzA@e*&MV5H%Z1d7bIWkoPiEvYgNu< ztwKf8oA6yDy;@g>H5Uf+w%Bs7#@4KlV&Qvn)0*{z+wSw*QRg0m zQ~`@FVxE4;>g-`@ah%%d>4aK=EBYrALA%+TjmubRet z;3@+*DYD7EdCu&`=*ir=Br2Nip!*{C(kD5~7Te66JUGW(Yssm|9gr^=n5V7gNNHZ0 zOXjCthy`DkhF*d=4^8fac56GVV$syUu!^``69jrrJo+?+xE((V~n}UZICE8K)eh z8;LaeOI)-SJktxt#X%$3ggCV#qu+KwaC7cFy`6852%sx1)PT1KD1D^mL*xDIld zYB-X72NN%nq(JEM$?XunXjN0p0Je3Kvs;%7+VWAgxWQ7MGG#4YCw>`PgVBU2tVr?I zEy(6a{!t>VGKR``B%<%$CctJ5VSZbChap0N@rj6fr^F}3(IgY>sM`r3w*=;aO3M^_ zh!wqJhGk2bBx^FFpAh#b#BP9Z9WwT~; zaG(|!zvfo+RRz6K*I>{P-j&;=@OaO~@>YpN)8y zN@nJQtR{$gyIMdBvLD@$1L$SJ==>Q82a>N?T3=V+mAEr+!gHHzh5&yROB=9OXnJ3m z5e(=NL=XtyNE0)TY`|x>?sW$!;XyfAJ6}hGKPIRX4B>`aoAX=Kr@gj3^3hUZ>Tug3 zZ=xW41r3o9ST9WPFR0WK|AdJ5CL$eU)RN&4yCJ!j@^ITFcv#k!6TaZ|esaCoIcH+Q zZ{L`}>O&m`Rf#d+F4TsD)uYuN9+5W!hSYP_Q%_My;$sc$&f0W0Gh-*?m?e z&Q*y%!n8x}?Iq3=`eREa&k&Xi*yZ)yvtui6p|J1f#mRJxe0WtK6E-#PlqUh4u3|=G zhc9{~cMlcO0_3*V@-3(bG2B!aCy8DZgsxUc&LC8+T0d&NUzCe}yFQ=vnQw0r=8T#C z29fdILpz4rrI9Xpeu|(1%w~!H7Ux%7-X-$C^P0 zJ-X!ikeilDYU>KoN>Q$#bUm4aq1v~sJ$v4HsD^{S!2 z3C=3)1<5gS*{EZXEV}amX|9+83H#UB5m||n*jg^BlJ;(w6PPuFBK8DZVQg)Y7MsJG zPN1H7NxRu7O1ui214&_QSMIp1o@7Z3S(Ek>{^m*qeW^xWJIfM&UDor!Ui^4rh{0A= zV6a3tQM~+Db&f=6uIb%)Ly$w89OH8V1_Fq6w}gm7cY7U&U7sA4nyuWTnYxso&OTc~ z7_|EST}@Rghs065y5jW!il4u#SoC4UsLi+Om+#W0XYI~&8k|JPF?&EYPE5zK)Aa@e z*3TJ=E$3jnW=&DvyjmSUTx{l;O&WP=&UA%&&(73;%x;=p+0B2xdSj$*_)MXk{dTu? zi2!jxEDPCw<>frngDcF=$w-Mml>lISetw;YKzJe7o3B4m1J!5#>688cN?F}}xc}er zn}3;_KMl?w)aox*0Mx<+I{5FY6;Or;U{nB!0!S4fK%{s948VU)odBZ54+SPgxu#YS zAO`{gXcSOSlN<0#*E$&v;zey(eVR${1Cu>@dG9cFj3drugePQWBg*H{+=4K~=lKN6`Moy315o__Ko@QpIMAxl4H599{_ z{Io+iuIOJ{=w{muA-VxYKVi@fJ>tEQL^mD%Y~?qSb+he8QT^PV|At-tTtR-O@ZD&r zpP4tDiT~#bxgk7T28{o9!G-*}{(!Q_94lKvXLRDVTDe^qMy+v5Cf zlK#E)BT!UK&dSu07DE@~XJtn~GF}@VpsAm=W&u(9FM|k7iY6fmfTrtet6Va6KwZiQ zH|vN0{s_B02P7ac@IWxG@6w+OEk8gr!L;VIf5!kub-mEq-^4&rp6kAUiE#sy!2O=b z%?$zrgY~a@JlAE%evR=!`LAbB`Xvtp5rF<41KJb#vtQop!SX=IkAVTz`g@F@`_FzMz>xfVo&fld7!M!+AIAdbzn&ZFdil?D%FP41e%t*P3G2nIaTa5o&*!~^^3d#KuyMEpLo(KN(Sop7{@b7uh>w>4( z%in(+0B-+?fuZ0(&H)6tz`ySc;k&lhzqSVj|8c)?LqPw~9#Bc|&wc-)J?J0Tmj?p+ zoOvKpr5Ne?2~+dLN*ae~SUrtNnf~Abu#Ilz+_w0T}uB>kH(8|Ls|DdJar7 zXZHNB=^h_jy#!Dr1Sl1Fjm3e+t}Ae>K79(*dcGb-{t|wUPDan2{(96wP~c)?Ffcq) HlEnBAl5k@V literal 0 HcmV?d00001