ÿØÿàJFIFÿþ ÿÛC       ÿÛC ÿÀÿÄÿÄ"#QrÿÄÿÄ&1!A"2qQaáÿÚ ?Øy,æ/3JæÝ¹È߲؋5êXw²±ÉyˆR”¾I0ó2—PI¾IÌÚiMö¯–þrìN&"KgX:Šíµ•nTJnLK„…@!‰-ý ùúmë;ºgµŒ&ó±hw’¯Õ@”Ü— 9ñ-ë.²1<yà‚¹ïQÐU„ہ?.’¦èûbß±©Ö«Âw*VŒ) `$‰bØÔŸ’ëXÖ-ËTÜíGÚ3ð«g Ÿ§¯—Jx„–’U/ÂÅv_s(Hÿ@TñJÑãõçn­‚!ÈgfbÓc­:él[ðQe 9ÀPLbÃãCµm[5¿ç'ªjglå‡Ûí_§Úõl-;"PkÞÞÁQâ¼_Ñ^¢SŸx?"¸¦ùY騐ÒOÈ q’`~~ÚtËU¹CڒêV  I1Áß_ÿÙ bNc@sdefdYZdS(t FileMixincBs>eZdZdZdZddZdZdZRS(s Used to provide auxiliary methods to objects simulating files. Objects must implement write, and read if they are input files. Also they should implement close. Other methods you may wish to override: * flush() * seek(offset[, whence]) * tell() * truncate([size]) Attributes you may wish to provide: * closed * encoding (you should also respect that in write()) * mode * newlines (hard to support) * softspace cCsdS(N((tself((sE/opt/alt/python27/lib/python2.7/site-packages/paste/util/filemixin.pytflushscCs |jS(N(treadline(R((sE/opt/alt/python27/lib/python2.7/site-packages/paste/util/filemixin.pytnextscCsg}x}|jd}|s+dj|S|j||ri|dkrit||kridj|S|dkr dj|Sq WdS(Nitis (treadtjointappendtlen(RtsizetoutputR((sE/opt/alt/python27/lib/python2.7/site-packages/paste/util/filemixin.pyRs  $  cCs|S(N((R((sE/opt/alt/python27/lib/python2.7/site-packages/paste/util/filemixin.pyt xreadlines.scCs"x|D]}|j|qWdS(N(twrite(Rtlinestline((sE/opt/alt/python27/lib/python2.7/site-packages/paste/util/filemixin.pyt writelines1s N( t__name__t __module__t__doc__RRtNoneRR R(((sE/opt/alt/python27/lib/python2.7/site-packages/paste/util/filemixin.pyRs     N(tobjectR(((sE/opt/alt/python27/lib/python2.7/site-packages/paste/util/filemixin.pytR