mò E½Ac@s€dkZdkZdZdZdZdZd„Zd„Zd„Ze djo*dk Z e ee e e i d ƒƒndS( Ni i iicCs"ti||iti|ƒƒƒS(N(tstructtunpacktfmttfhtreadtcalcsize(RR((t./jmpc/python/crw.pyt readstructscCsI|i||dƒt||dƒd|}|i|ƒt||dƒd} xît| ƒD]à} t||dƒd}|d@o-d} |dM}|i ƒ}|idƒn$t||dƒ\} }||}|i ƒ} | }| d jod G| GHd } n|d?d d gjo)dG|G|GHt||||ƒdGHq4doG|ttgjo4|i|ƒtd|dƒi|i|ƒƒq4|i|ƒ|i| ƒ} d|ditd„| ƒƒfGHdt| ƒGHnI|djon8|djo*|i|dƒt|dƒ\}}n|i| ƒqaWdS(NitIitHi@iiÿ?tIIiFslimiting value, originallyii(i0srecursing in parse_cifftbacks%x.jpgsa+s%04x: %stcCsdt|ƒS(Ns%02x(tordtx(R((RtDss %si i5itHH(RtseektoffsettlengthRtendianttbofftnrecstrangetittypetlenttelltaoffRtrofftsavetolent parse_cifftTHMB_BIGtTHMB_SMLtopentwritetdatatjointmaptreprtwidththeight(RRRRRR*RRR)RRRR%RRR((RR %sJ             ' $  cCs|idƒ|idƒdjo d}nd}t||dƒd}|djo$t||dƒd}td ‚n†|d jox|idƒt||dƒd}|id ƒd jo td ‚n|iddƒt |||i ƒ||ƒndS(NiitMMt>t