%PDF-1.4 % 3 0 obj <> /Annots [ 11 0 R 12 0 R 13 0 R 14 0 R 15 0 R 16 0 R 17 0 R 18 0 R 19 0 R 20 0 R ] /Contents 4 0 R>> endobj 4 0 obj <> stream xVMO@ﯘ#xw-mT$z(=D8Dv\L//:㵝E1a2f#$eNZ!ZLI8d>K p2oYӬ,.tB$wV=rpEI6>1`,NT 6JrM'Q &L2TJ,D:>38/0{ZĎq`)9[K7jX|FtǶhW/pSۀ!M#q7?U[?}mĮNSe(gy>,֐Ο`5nO؇,SI~Ht*ry0gpYX8WjT2^WꀩKm+A"!%BwMig 8Q]P^C3 ht8 NQ'[ j?y㭱7ԘX/I^lY1KsV"z=ǡM gz?fTR(*;#3UdutΔ잩Em-֖b\|—u\_-- $ux}1V$ P=R(GxXr=9?C0{ v_ iEИ"d_9+_ endstream endobj 5 0 obj <> /Contents 6 0 R>> endobj 6 0 obj <> stream xAk@+Q/nvc jIcĸtb#@3$cc\"l`&)%ReдF6/=A$ίLD,V1l9E&,s`Y]g_;#/'Wt~s0;E[P̪cV8a뼯w[mg\Q)v~V endstream endobj 7 0 obj <> /Contents 8 0 R>> endobj 8 0 obj <> stream xTn0+! *}*ڤM hF違6 TH 򵽪_ѥ,Fww83\$8 p8J|S8(toQ; 8ny;"˼{3OѤ4Q?4jszUP\.[QF#'%Տۏ;|R87JgK:``8 qۑI?H?B>CX\9F-=c\-wd8Jڶ[}+^%I-5^a|'(F)Jf2 .6tjeEݩR<QW OUYԲ %U.,۞Rό ЖZZqnf2dWvBEabf93XeȨQ2OB8b5{6o aHuL<ڝl7WVZ>'l}y&R%z(= $I|ϤkFy$|XR.)'7NRwځjTdEHfS`%E{erlǭli, 3%V,YJxO%Bhx+<_p'|N#R֣%oVLY?0޸8棧^d -\i٧ZNLk|JnCWn,_q+unvI2 'yʈB"^|J,śY|3=` S endstream endobj 9 0 obj <> /Contents 10 0 R>> endobj 10 0 obj <> stream xMs0{lg:B򷯐4C0GmU`v1&bjٵ 7%7e/ #Ruh{m`\͂(Gh)47lB-ŭPJ*?=v%"#F*% KLmQXa}V M[ӆUVaH4sW25\J\gE]{f9I8OѤA}dFgz?vU7Zzs>o?M?SN endstream endobj 11 0 obj <> >> endobj 12 0 obj <> >> endobj 13 0 obj <> >> endobj 14 0 obj <> >> endobj 15 0 obj <> >> endobj 16 0 obj <> >> endobj 17 0 obj <> >> endobj 18 0 obj <> >> endobj 19 0 obj <> >> endobj 20 0 obj <> >> endobj 1 0 obj <> endobj 21 0 obj <> endobj 22 0 obj <> endobj 23 0 obj <> endobj 24 0 obj <> endobj 25 0 obj <> endobj 26 0 obj <> endobj 27 0 obj <> stream JFIFC  !"$"$C" }!1AQa"q2#BR$3br %&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz w!1AQaq"2B #3Rbr $4%&'()*56789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz ?--oGIy\J\X'[_^.yT[B1LsǰݗފUKqp1ldAo xmK␸XZM ; 9J$vvm붛|:sft0 D% {?5п߄ǨztkrĪΨN68P`oxN+[^RtU|Bc*[{;-* lou5.I_@// |G/>}^ȸB11\,~R_ g_/8-n$̊$;+8EiͷoD_OiSpG4ױU7<]#I:\JwoD$+1>w~w[w5x+N7VHS^M(.3-gEDq[n井ړƫRfϏƽ:O<3oƾ,<+o+w+eޱPb1Z:ռ_ xv tGYm-2qhv2m7,iokE(@EmNnƣp1+W:oß~Ҿ6ւ~j; ICx [ NQ}CZX[XnZ9̡|ܝJ50Zv[?FԲj8zUWݏj#?Ko|Y綧Lmmn yR3z' q}is]Z2Xf @. 12;`:#+Q-6M%i-.~j7ơ}Z?k߼?'3|-WP𵠾- |@偓'׃ ᇅ5i6m\_XGe_~萳1.A'*`z}MSQ)]_e~\IG%̬䳒Zޕ/&4+akA,o "I `Xھq 7KYf3L<&]𷌣91 rdvcXr\\Is>Y; Sߟ۞luNN >u<ƅ5+[x2T6Mw 0rLVφ*AtImz Zn8Ǧ+b1Ԋ#*L\ojS%|m]_]T.EIaCx‹ k^wm7n RFA$g?g+.Wo;fQώ_ՏΩ.65\"\嗉7Zeh]C**C^=[6k=/.-_II8WA+έxs\oGnۆ|dWNXYr[]WM#x+? kitY`,lzyo}nfm(^m[ G\35ov⤺WB,[BKe+gP =Nźw&X#}!1J"i̖mv5s'xIq ]B |98` $xC[c'铊y+W>6x+SHB X?V'O [DBKdԟOV#v-E:T*GF*{w4BviO6{kun_9&9n@>~#Bn@p>l99X:}*&T0`|Mxw~$л/6nڡWPP8ه?=o_U-|Tt[azҩk͡ьc6[!5r\duS#<Ź^Nu:Z6Z+]jⱞ}2퀆vhlG$cUd*̮NPGEjn9A;]٦{+-?Ţ,0Aqr)[dY𥟂|3k^6{+nV,@+KUo2:ΥxϺwޣ9' pjYMcc_Y̶ܺFP@?:YdM-[IwocuUu>?-[hSڕ%vF9>4[ w^^Gp-$9$Jzs\'\mZf;fβHһ#+ny]3RO$E,Z MX b_sѩjZE>xY6.K,{ P  sOu>m%FHZKˁ̋y7?j ͷr=7):R^koCE42i>(ӾbT" ;Ȃe PHnեKz/ Rjo4=q+rDARAۗ7Sܑ4$ A0.og]8(JIwM|nt/ O{k[kO1Җԩ;~~i?wí&ZZOF驌4v #'%@i5Y(蛎Jsi s+{)ޖSG֥RI曩3n9ef˸s{<=jHJobIP;kңNPG9'>~nzSqvL9f!*)~$7[*~>d\|.fmR,x ?JǃK8\"xU<_|; S'$G95?}tp/hΗOc$Mޣ`|']`ɌSǸ5-7kFpE"F9oG֕;@. 悀 8^!爨["K[_s1! "ֵ\ n߆'cQ㓆OJVn m 'mꚦ6WlC$`XC3nG= 5<`͈1_v2D[JT]F ++5kz.tBȭ #;e=8to yrPƆg3gZ-ߎ,[>ٴK%]ED0+#\8zg>zM?zI'=vOGV< {>|4$U~ؙKgcC8#$*Q\\H[$#PՏ~|WZf]KtPB8y{#''!_\LG]xn+juRm_Ī- NaP?'oxhk?B` ]WQRU}}4'fD督3>+Q';_4GvޙZ IOqt 5Y+:d@R\\vOB{L ^=7͡QՒyͼ }>F1=Ylܢl˨okXy1=ŭuޭ}h\iȋq|Ķ l`W]_|Sv`Yt'8kծ4/7L2037~}:XeJ涾Òv[=WsG<ڮLxb9p|5yp4*HXU۝Ey](9'4.׮I:%0€A8%fVwJmAS,=3}r4X8ש%vk?NֱRVtQ_3d'G@k?KaVumzZկ|Y/ҭvR!5f"2/Con.T\|^tۻz_k_Z4ZE.f:x6rSg}e&ۓrO֡jV~j" f7R2cnsk_هHoJ8}B;~V<=*.M";r m=uO]yI|2/kzDnlf$dW☊eN;5_t$Vd'E mMo)1\!,c *刿*n;7CYp/E9eHI;%1V3?ݦu!X5czCp^I3' iMبfi\I  k)MyR6}JT55{mvW_f0qVtK1=ؑ(=svRCżiegA[6Z}v,.dg\}qYԥ8k[zcc8f!$Um]BC0ۿ֣ OJk`q88xMF Ͱfw޼z _ƺ,pp=4oĈ*lbpG?8 *J=hŸ\>#_ڔ JDar}q=z OH[$/m=#q޿mӺKYm݊NB'gQ6RDN5‘+OلŎJI5{[*Qw<;Ieb<{iZncX46ֽ̑͌rYO0O _s5&F zfcmG,cS5MC-H[oS܃ Yq~~57QKVt)$6oZf{?Πyx ? ר\rF81mg+ek2\?i5Gpr޵Y6s9f.W-=Z l ˱ޝfKktW}oQR}^9k8F.*VL\iҗ< z⁧J[~5Y߆([I}G>}d9?(W%s޷ͤOjCg)`|\0f{qw*yfoG9F$,c ('Wwln|q HrgrK*8d|%dz`kƤ.sH]~y-G%!|yGTu\?tX}GD9ݒI9su6! 0p2@퓓5ۿ3~ZKtg~S_i?C=ҩk넑 , ʾx{uRnJ>㹙-s)T, {Ggp {U]sh3Xþrśdz޵URA}:O$̱4j4#ͩҟ+?ChîiphMFB͵TI%jj"V~,=ii˪ߞ}ee*b' DI-;7?ZۇQfRK-p(d G벮_V1R´c(+=)d?w6[BϘV >*_j<ʍJrvOS?]4=@r=d"}SG4{x YO=+Ĵ gQc}odX>R1?Ǿ$еInt-#p9ׯ^|.*wyeUlҵOVֻ# i#yyV> _PmoD^`>Jcq>M٭ONnѭɳЉL\3R4GkB6>O-f8'vk[4wsFW0~C]j"r: Wsxm_Yǵx|,#Ca:ߍQ:I#cF`eXpkι?ug~+Ўx7G})e./T|MhxӬmi89Vp~:z:{*?:Y5(4{s^-㙵t/$J١Rp9yf#>gWg/REA}kk5T pcR9f;RǞ'fmZgrYI?a(K_ٸ{$1>ݽ.p~9"ϘI:9xLDP5w_Xk/k2*9Vkj:@ ^QpXZKX Z(Fˏ/r٢ i$-r2Ym1dyvځd1?M|Ic$$u/i%,) Lnɛp3C.6?M6ǷI[.έh5;|4GQ=v i4te(;qֹH}u dz\#q GޡwKC9 U|O#D7zonl[Rو}R{5)9Ӳտi /].UZ^Krcb3th]Q\t.͕cn^'%(98ļ4w:N/VUdžӚyc!7JIz;VO.H*v+CEQf-%!O|?JxQpn"1+d>j |bnm#P3f\VMB)IJjzϱdh%MGhof.oڗEfDXyN, o#GϯҬOFUGT#ăz/K~Aaμ' hV}~GW3*Koe{a[G! >f!*Gklj'UהnNj_^[)sP9čTe鞕.pP9)JTE&3D})یQ[VT7\8k9_hx:DƺCnWkWKIcGIfa˟Κ,2IA]3/( *H yMsPԦ]"(|8ݿ9_< |U)T˿~jWImsRw ntO\| ynT0Pq~n?'Uе! Z47_mjXeC{/kGu\ؽ\I__~H풱9'Wv\ܮU -nm%fDNI>֮geIJe;Gzף%(bJX4uQ~d~w׮ކ+V]7Qk4mBnMMnpɯ;9i]n潻uIl-`a"?oPR3GʣOFژMw-FLtLj PN^k uk-b;gޙ^hq,ϛ LrP|ZjI:ںgTQ-Ēg&(+هHoJ%'KR| m^?}c0oJI~Gg}{w>=7F(82{V>[ԵCӴ[녊[B[R2Mu͜ *{om|#}jw2Iu$A%ܳ#,0̠/3,%:r~\&Kv:e&ԭ%uvE\I 4Xn0eAXsڷv԰^Fܼ )r9< w[$?2+hJOk$/Wɮ>V*ׯV2_Үxg -JASi_Oc7ddKU9 c^R>o"IIpd)?(9Zxl5HRy[ӹF4xl$C:4Qt'YZ,6C3!=}~o MK^6+qhc' :Wwy^#F6#88v#ٍ:qN}9g8{+wWߺ}t,<&f^y6,xm>Լ;?sC.g::>&9֨sk]jQXfK {8N!Jy(i$mdqYqy+-_WƗ2wqO'Z s$2,[K4=8Mqfc /|Jam?Ҹhs 'T⬢?f5L{Km3+5Gki86 Wj$[D79 &Ӥg:X(?wWч4Tiy/_P-LԵ]lۮƼW5rF0Sԩ)A۸2"±QDZ5Z~"}$ۥy/c:~vo_eŨ'bl%ɻK)~Jܿ݌}}1޺v[I k_ɉw.m΅v}Yqlm~⨬E]ua-ksQ+#itx3bWI"I!qpGڬҿ4-n#60ȳȦ 8d&!]xj;]M6Vh?,021Xļ9[xyoXB+nlt/^Ѵմy.}:ɚfh&8f,Q$xe~5_5C'Fn>'JjVq6q 9gHj:[]kӋy%21;X2 lWI}ֳGh%{BnrMJ 2䁎@:[XDna_\a<Gx #.T0n#I.hⵉmG%ث(Eٞ3^j>}"C ]8[K#ᥬtܬ^Ogd>ݪDn yqajv0uK8@Mtaܯ/vbׅoƣ%۽v HHl6ŹnUqT|g.\M KװeP[; cڹ]ZjVeQ W <ҺQ@UF6WkˣlGkiNo{}U*qZ?9?IΖ :σ|F4 F|D4m}=yӕ]קO֯'*q1Tnpzu[Q9h 7;x2g_I[ ;+#bX{W|< O%I0S0U*(߿Sb+vSGα ڥaRȥw`$T5Pj{V]p;s83oJ.bP{fK. ')Ӡg*;s*4Qy`$3.N}xs ӧR mݽcϱIƴdwjWly޷_i["4m`Af!*:Mc\ja!$s'+_هHoJƢ[=)ҩ*uk#akI+ܣC5๓EJ;s̻QE>&2 %A0 5czT,g;EsƷELt,np1BF2o~\0:HȮͽ\A1h4r!!QZIuV*2oᯃvUmV*2,XO!sjswBhUq=6yOR:t^ 5EX"u>H0O_&U*JЕV5pi,4۝yއJ[ ,g]QZGz9ݿϨqk.ΞIC,Ԛ 77+[g)\q?JLcsM6LChf侺%==: d4cJT?)hU>5o!-+/+m/.>GvCcp}wFAO Nۖ>cr>I"냌L*|)Ԝ{+- _{)$w$_j~?C|=o_U-|Rzk_ل;R>lEG4Ētyiol?MR2#&w4L !h? i_?WE is &|5?(Rx &~#gP4QI'+D &> TMT1!BGUH~x $xkP4QR }/<5?_W#?*~x <5?F},ȑAEC1( &ck;[NO3dPڢ"F' I?W&/dR? endstream endobj 28 0 obj <> /Length 8137>> stream x] tŽ\{$1 P" (iJ=}RU(H $pBH B ۜTkEĪ>ٽ;;{&$wrٙo~3{y.$?`XV+ ?`XV+0}ѧp_n\_yхm_~ ~ ]@i9+ F_G.0^4 ckQ6IS^|bxђ.lvjyq 9tNG`7`Ά1̢T ݄NoJEQA<+mDlvmHc?.]U`uXQ5 ^ B^>Vx"6jy]|MrRZ5u @` -(g} nOv_5&ZZ'jp|mUAK?+1 *$ *Gel0I;tgUT@FKB` CvGh%@ԒZBe b=h.RZhZ:RTNV`7:AHL0vڤ g#T@% "Bm`p? bj+ H *2Õ]-viڪ ^[WuQK\I-M :mbmh.r~~xO E>,bn@t(K8"\ #^ZTvT\^?lm s.Ѭ:"Wa/,elYT&pҫ8 *HP5Ρ}p?ZbT#U5*ڪdly@ :m X("JVaB?FPK4,@!聙лe]Dt~PbJ̖_jG%tn)ȝ/a&쬀%zFE`CJήU`Wp?j iU"ă/[iAIPyѲڈ[?iԸh@Vq%ܺ(EJ%rV?" dVCMYxO3ZQRNL_Qj5Ct:BJZT<j_6@HPysq!ϧrO%w3b"} Zdeˉ ~l4BTGσᘨ#Zje'!ÏCCR޳3AFZ*iVKf3QV[94# Jʅ,s,-G<"477;y!sK=?iE2i*1͞lXLT8; RGdX±7N9E歹שAFZ*i?N$vDaZMp?H3zň7,(|o Y#-C`8`)i!q.Ti@V,qؕL@M1"P#>M4ʀQpl3 (߾m jիYxG`qhf.# jRItGgA3 ?9~#[1W͵*@Jhd=6]ʜ5\FͣϲOdbjSw:rL4-DہDqG(1Ļbq+sَz+[~:9 SYxdc ӥjNtĠT ]^D##]8en@rQnqОl q?:WEƛB---oTf{$F䖟 ^oü Efڧ 01: L,.yIoT;i'X*spc(z kлQa=+1Iò$ ETI.vZhc&J}RGWR⋕HHBYѾ߇ЃףB{GhbRIdaqP2Z!dzI0Wй'xzo@HS*nE˱]65rxs1G3~4#sRia>"%,ن7bBj#2p%Z)oTʝVʼnEgaᚴlĉ>6/<Ц)̑DhR2/k{VV QyvH*ꒌI e'D}|I<<~he]Fh HN ;?,Zq1+ܩe҅'܏leN h\\Tj`n!+*B*R3iQdN~6|X>8E=AW1%Z+:m+FJ5~QZYQ\0NQ))+HݺPǿѥ,LFyGf@5/1 gC\VFF08cB$fJua@y:{'Dֳb 9^o7n'\ڵ'Z7LPq+~gǶ >|}t)ڪ|[oyQM_rn\I^[\}{ ^ր nPH\ۓDaS/+R(TQ AB6QR };C)a5"+Xoo/2P&)'GmMMh2uc[3:?OUN}fWxLYj |۫YU%){1d)'Q29 ;fjqUEpO9̝M׽!YL}.\yYa}qDTqoNZ|l >O㖽Üç W cW$ȼ|Fbȑ3wqKBBl磇4tvZ`nɥWT2i ,|D1ـ.qL93%֧E{snĵdiu/X+ [ɔImu׉Tӥ=#ƾR=}O#'LD_Q*ws\bZz4J1^Q6JYDp?4L.ҜIAY(f!18Oq/g0Ҳ|1JZneWYb+gvfi2F1Iq2snTS”yhz!E7QGdX8l@SN%.%S)k퀪bdm1אٕ߀tEZ-j?X_lcH1EJ勿䂯0Ԣخk1qLx)oksdY WEdD Fm0XQ
ji[4>&8s3Y/RJtF@#S{R`r(pG?Ȩ1tÙh6:T-rҿ([9DŽK܁>YBGI;0xaO_H̝GT8S(8}PFEHvqŭRRl6JbByvll88lS/L%6s*,Hmvĸsj&숚ʵ`I MA2&bD,昏LX2I/&n##хcA%Zנ$B\ bv "G3IDC dkUƛ$5.J,fE& EE=Fd ̍/E<4=8/ jOY-?Lfq|΅W8]D5a+jñ{p>:5?qC]B\!2- bP&1^ ݇YJpC89 ;&rFW$&>tZׅ3!NŽ8gF]11Vx|{N}{8(yL*-]'0_PucuBʘxbV(IԿ"aΗ\d?+A5 Su·r&U%\WAB*b~i"?6wҶGO5EE-[;2-R4|Z /'${ o(mx98]zj_R2(eu|8Wwyc=[H,sh(Sclg<w/:Ȩ̊L2YG˽ή7!wO/!l2gHsU EX. Bš7U.T/ xD܍M' eBfZcۨH8n&7v/VEɴ\?,eyӯ(=A~@W0%$gmMpb| sCF_P&WCᆭ'|+T}lWsa0 : _U+d"L=׷r;-!9!?T/*ka&gx)r'I!eec]qJ뙕Fw׍Y'?-ɾٿxi>~wWIȡj2̽}!^A>n" 9PG7(ǒ#ԅQqX1cs }טA61,ɶ̆?xG/jsjvKgfnc d \$+El) ;=9HTJSTs/ ?q1u TbD$21s\HxCYBB.m XP5t 5^[1%jQoj_MQ7+9axD)8d*3!h"999#I<1ʔD;RxE.l:Td-=s'W~N9RD8Ku26ѡLitp?ʹmP!V-LȀ]kФx4&_Nڶ)~$%rnCkjb!m^.tu .D;ohѩ&#V])(e ʙ6xr0mK.qxZc4P8aJ% z)y&T?TPԘx"l: QbWb znU *<+{WTx 'K>8 'cunr]sP/gn VQZ'nEQ'{J ,Ev@{ey $G.:?i#/ӛhgvHpjl8:Нm+uv6iȉ28 XuEGR`juvcm>m3L6)wRٸVCNN[M abh%ןxntfB5x+gmʔ:XuIKnOi$6I K r? ar)m&ed3&1U>W,;T'&O PM P@@>?@5dꫯ`#M@lօcX;='Em`W?9V%Ni5A_Al6Ѕ7m/Ov=N 'Zokk+61]?/\ޚ(x;ӨN QwzEm`w3?[֗Xwj +3 "i{rZ7GA/] >[vN?>[vm_V~w|*w׋@ܡ!1شr)baqs)̗/_v: ;w}Gf'kZ٣q dÕ Z6tY`X!m?XN?sν9m"`c?d?ooo$؆\!0?xgxg}v >lcÕ K.؆\!0Fta?`XV+ ?`XV+ ! endstream endobj 29 0 obj <> /Length 123>> stream c`۷S,;?{brP6T><'"P 7w1Ra+"[>;r+a,D$+p? PtQ_ endstream endobj 30 0 obj <> /Length 16>> stream (c`` endstream endobj 31 0 obj <> /Length 142>> stream c` >2ÉP&/? ?Q(+p  8m +T008B*`:{> B `UIY@;Ld|(j-p5'Cp<*q endstream endobj 32 0 obj <> /Length 16>> stream (c`` endstream endobj 2 0 obj <> /ExtGState << /GS1 21 0 R >> /XObject << /I1 27 0 R /I2 28 0 R /I3 29 0 R /I4 30 0 R /I5 31 0 R /I6 32 0 R >> >> endobj 33 0 obj << /Producer (mPDF 5.7.2) /Title ([eBook]" Programmation des jeux \(1Cdrom\) par Michael Morrison #94WDHJ1VTIY #Free Read Online) /Subject (94WDHJ1VTIY: Programmation des jeux \(1Cdrom\) Michael Morrison - 94WDHJ1VTIY Lire gratuitement en ligne Tlcharger epub. ) /Author (Michael Morrison) /Keywords (94WDHJ1VTIY: Programmation des jeux \(1Cdrom\) Michael Morrison - 94WDHJ1VTIY Lire gratuitement en ligne T&eacute;l&eacute;charger epub. ) /Creator (Michael Morrison) /CreationDate (20170816035908+00'00') /ModDate (20170816035908+00'00') >> endobj 34 0 obj << /Type /Catalog /Pages 1 0 R /OpenAction [3 0 R /Fit] /PageLayout /OneColumn >> endobj xref 0 35 0000000000 65535 f 0000006875 00000 n 0000030413 00000 n 0000000015 00000 n 0000000306 00000 n 0000001139 00000 n 0000001347 00000 n 0000001638 00000 n 0000001846 00000 n 0000002647 00000 n 0000002856 00000 n 0000003416 00000 n 0000003761 00000 n 0000004107 00000 n 0000004453 00000 n 0000004799 00000 n 0000005145 00000 n 0000005491 00000 n 0000005837 00000 n 0000006183 00000 n 0000006529 00000 n 0000006982 00000 n 0000007044 00000 n 0000007143 00000 n 0000007240 00000 n 0000007342 00000 n 0000007447 00000 n 0000007545 00000 n 0000020753 00000 n 0000029132 00000 n 0000029495 00000 n 0000029763 00000 n 0000030145 00000 n 0000030656 00000 n 0000031630 00000 n trailer << /Size 35 /Root 34 0 R /Info 33 0 R /ID [<930e061965ec4f8acd82aeb1f423075a> <930e061965ec4f8acd82aeb1f423075a>] >> startxref 31728 %%EOF