3 }\0@sddlmZmZdZdZdddddd dd Zd d ZGd ddejZddZej ej eeej ej eej ej ddddgej ej ddS))Image ImageFilez0.2s 1LRGBZCMYKPRGBA)sP4sP5sP6sP0CMYKsPyPsPyRGBAsPyCMYKcCs|dddko|ddkS)NrPs0456y)prefixr r j/private/var/folders/pf/wv4htv3x0qs2c2mp0dnn0kchsvlck3/T/pip-install-i584jbuk/Pillow/PIL/PpmImagePlugin.py_accept+src@s&eZdZdZdZd ddZddZdS) PpmImageFileZPPMz Pbmplus imagecCsRxL|jjd}| s|tkrP|dkr.td||}t|dkrtdqW|S)Nryz"Expected ASCII value, found binary zExpected int, got > 9 digits)fpread b_whitespace ValueErrorlen)selfscr r r _token7s   zPpmImageFile._tokencCsd|jjd}|dkrtd|j|}t|}ddddj||_|dkrVd|_d }n ||_}xtd D]}xDx*|jjd}|t krP|d krrt d qrW|d krP|jj }qpWt |j|}|dkr|}qj|dkr|}|dkrPqj|dkrj|dkrj|dkst d||dkr$d|_d}qjd|_d}qjW||f|_ ddd||f|jj|ddffg|_dS)Nrr znot a PPM filezimage/x-portable-bitmapzimage/x-portable-graymapzimage/x-portable-pixmap)sP4sP5sP6rz1;Irz(File does not extend beyond magic number#r rzToo many colors for band: %sIzI;16BzI;32Brawi)rr SyntaxErrorrMODESgetZcustom_mimetypemoderangerrreadlineint_sizetellZtile)rrZ magic_numberr&rawmodeixZxsizeZysizer r r _openCs\          zPpmImageFile._openN)r)__name__ __module__ __qualname__formatformat_descriptionrr.r r r r r2s rc Cs(|jdkrd\}}nx|jdkr(d\}}nd|jdkrV|jddkrLd\}}qd\}}n6|jd krjd\}}n"|jdkr~d\}}ntd|j|j|d|jjd|d kr|jd|dkr|dkr|jdn*|d kr|jdn|d kr|jdtj||dd|jd|ddffgdS)Nr1;IP4rP5r!rrr I;16BI;32BrP6rzcannot write mode %s as PPMz %d %d asciis255 s65535 s 2147483648 r"r )r4r5)rr6i)r7r6)r8r6)rr9)rr9)r r )r&Z getextremaIOErrorwritesizeencoder_save)Zimrfilenamer,headr r r r?s0                  r?z.pbmz.pgmz.ppmz.pnmzimage/x-portable-anymapN)rr __version__rr$rrr?Z register_openr2Z register_saveZregister_extensionsZ register_mimer r r r s O#