Ë
    ìì�iwc  ã                   óâ   — d dl Z d dlZ G d„ d«      Z G d„ de«      Zd dlZ G d„ dej
                  «      Z G d„ d	e«      Zd
„ Zd„ Z	e
dk(  r# e j                   e	e j                  «      «       yy)é    Nc                   ó.   — e Zd Zd„ Zed„ «       Zd„ Zd„ Zy)Ú	BitParserc                 ó   — d| _         y )Nr   )Ú_pos©Úselfs    ús/var/www/ITT-ServiceAPI-Services/ITT-Document-Scan/mrzscanner/mrzenv/lib/python3.12/site-packages/pdfminer/ccitt.pyÚ__init__zBitParser.__init__   s   € ØˆŒ	Øó    c                 óŽ   — |}d }t        t        |«      «      D ]%  }d|k  r||   €d d g||<   ||   }||   dk(  rd}Œ$d}Œ' |||<   y )Nr   Ú1é   )ÚrangeÚlen)ÚklassÚrootÚvÚbitsÚpÚbÚis          r	   ÚaddzBitParser.add   sm   € àˆØˆÜ”s˜4“yÓ!ò 	ˆAØ�1ŠuØ�Q‘4�<Ø  $˜<�A�a‘DØ�a‘D�Ø�A‰w˜#Š~Ø‘à‘ð	ð ˆˆ!‰Ør   c                 óH   — |D ]  }dD ]  }| j                  ||z  «       Œ Œ y ©N©é€   é@   é    é   é   é   é   r   )Ú
_parse_bit©r   Údatar   Úms       r	   Ú	feedbyteszBitParser.feedbytes)   s5   € Øò 	'ˆAØ2ò '�Ø—‘  A¡Õ&ñ'ð	'ð 	r   c                 óÌ   — |r| j                   d   }n| j                   d   }| xj                  dz  c_        t        |t        «      r|| _         y | j	                  |«      | _         y ©Nr   r   )Ú_stater   Ú
isinstanceÚlistÚ_accept)r   Úxr   s      r	   r#   zBitParser._parse_bit/   sV   € ÙØ—‘˜A‘‰Aà—‘˜A‘ˆAØ�	Š	�Q‰�	Ü�aœÔØˆDŒKð 	ð Ÿ,™, q›/ˆDŒKØr   N)Ú__name__Ú
__module__Ú__qualname__r
   Úclassmethodr   r'   r#   © r   r	   r   r      s%   „ òð ñó ðòó
r   r   c                   óP%  — e Zd ZddgZej                  edd«       ej                  edd«       ej                  edd«       ej                  edd	«       ej                  ed
d«       ej                  edd«       ej                  edd«       ej                  edd«       ej                  edd«       ej                  edd«       ej                  edd«       ej                  edd«       ej                  edd«       ej                  edd«       ej                  edd«       ej                  ed d!«       ej                  ed"d#«       ej                  ed$d%«       ddgZej                  edd&«       ej                  edd'«       ej                  edd(«       ej                  edd)«       ej                  ed*d+«       ej                  ed,d-«       ej                  ed.d/«       ej                  ed0d1«       ej                  ed2d3«       ej                  ed4d5«       ej                  ed6d7«       ej                  ed8d9«       ej                  ed:d;«       ej                  ed<d«       ej                  ed=d>«       ej                  ed?d@«       ej                  edAdB«       ej                  edCdD«       ej                  edEdF«       ej                  edGdH«       ej                  edIdJ«       ej                  edKdL«       ej                  edMd«       ej                  edNdO«       ej                  edPdQ«       ej                  edRdS«       ej                  edTdU«       ej                  edVdW«       ej                  edXdY«       ej                  edZd[«       ej                  ed\d]«       ej                  ed^d_«       ej                  ed`da«       ej                  edbdc«       ej                  eddde«       ej                  edfdg«       ej                  edhdi«       ej                  edjdk«       ej                  edldm«       ej                  edndo«       ej                  edpdq«       ej                  edrds«       ej                  edtdu«       ej                  edvdw«       ej                  edxdy«       ej                  edzd{«       ej                  ed|d}«       ej                  ed~d«       ej                  ed€d�«       ej                  ed‚dƒ«       ej                  ed„d…«       ej                  ed†d‡«       ej                  edˆd‰«       ej                  edŠd‹«       ej                  edŒd�«       ej                  edŽd�«       ej                  ed�d‘«       ej                  ed’d“«       ej                  ed”d•«       ej                  ed–d—«       ej                  ed˜d™«       ej                  edšd›«       ej                  edœd�«       ej                  edždŸ«       ej                  ed d¡«       ej                  ed¢d£«       ej                  ed¤d¥«       ej                  ed¦d§«       ej                  ed¨d©«       ej                  edªd««       ej                  ed¬d­«       ej                  ed®d¯«       ej                  ed°d±«       ej                  ed²d³«       ej                  ed´dµ«       ej                  ed¶d·«       ej                  ed¸d¹«       ej                  edºd»«       ej                  ed¼d½«       ej                  ed¾d¿«       ej                  edÀdÁ«       ej                  edÂdÃ«       ej                  edÄdÅ«       ej                  edÆdÇ«       ej                  edÈdÉ«       ej                  edÊdË«       ej                  edÌdÍ«       ej                  edÎdÏ«       ej                  edÐdÑ«       ej                  edÒdÓ«       ej                  edÔdÕ«       ej                  edÖd×«       ej                  edØdÙ«       ej                  edÚdÛ«       ej                  edÜdÝ«       ej                  edÞdß«       ej                  edàdá«       ej                  edâdã«       ej                  edädå«       ej                  edædç«       ej                  edèdé«       ej                  edêdë«       ej                  edìdí«       ej                  edîdï«       ddgZej                  eddð«       ej                  edd«       ej                  eddñ«       ej                  eddò«       ej                  ed*d«       ej                  ed,dó«       ej                  ed.dô«       ej                  ed0dõ«       ej                  ed2dö«       ej                  ed4d÷«       ej                  ed6dO«       ej                  ed8dø«       ej                  ed:dù«       ej                  ed<d{«       ej                  ed=dú«       ej                  ed?dû«       ej                  edAdü«       ej                  edCdý«       ej                  edEd«       ej                  edGdþ«       ej                  edIdÿ«       ej                  edK�d «       ej                  edM�d«       ej                  edN�d«       ej                  edP�d«       ej                  edR�d«       ej                  edT�d«       ej                  edV�d«       ej                  edX�d«       ej                  edZ�d«       ej                  ed\�d	«       ej                  ed^�d
«       ej                  ed`�d«       ej                  edb�d«       ej                  edd�d«       ej                  edf�d«       ej                  edh�d«       ej                  edj�d«       ej                  edl�d«       ej                  edn�d«       ej                  edp�d«       ej                  edr�d«       ej                  edt�d«       ej                  edv�d«       ej                  edx�d«       ej                  edz�d«       ej                  ed|�d«       ej                  ed~�d«       ej                  ed€�d«       ej                  ed‚�d«       ej                  ed„�d«       ej                  ed†�d«       ej                  edˆ�d«       ej                  edŠ�d «       ej                  edŒ�d!«       ej                  edŽ�d"«       ej                  ed��d#«       ej                  ed’�d$«       ej                  ed”�d%«       ej                  ed–�d&«       ej                  ed˜�d'«       ej                  edš�d(«       ej                  edœ�d)«       ej                  edž�d*«       ej                  ed d«       ej                  ed¢�d+«       ej                  ed¤�d,«       ej                  ed¦�d-«       ej                  ed¨�d.«       ej                  edª�d/«       ej                  ed¬�d0«       ej                  ed®�d1«       ej                  ed°�d2«       ej                  ed²�d3«       ej                  ed´�d4«       ej                  ed¶�d5«       ej                  ed¸�d6«       ej                  edº�d7«       ej                  ed¼�d8«       ej                  ed¾�d9«       ej                  edÀ�d:«       ej                  edÂ�d;«       ej                  edÄ�d<«       ej                  edÆ�d=«       ej                  edÈ�d>«       ej                  edÊ�d?«       ej                  edÌ�d@«       ej                  edÎ�dA«       ej                  edÐ�dB«       ej                  edÒ�dC«       ej                  edÔ�dD«       ej                  edÖd×«       ej                  edØdÙ«       ej                  edÚdÛ«       ej                  edÜdÝ«       ej                  edÞdß«       ej                  edàdá«       ej                  edâdã«       ej                  edädå«       ej                  edædç«       ej                  edèdé«       ej                  edêdë«       ej                  edìdí«       ej                  edîdï«       ddgZej                  edd«       ej                  e�dE�dE«       ej                  ed	d	«       ej                  edd«       ej                  e�dF�dF«       ej                  e�dG�dH«       ej                  e�dId]«       ej                  e�dJd[«       ej                  e�dK�dL«       ej                  e�dM�dN«       ej                  e�dO�dP«       ej                  e�dQ�dR«       ej                  e�dS�dT«       ej                  e�dU�dV«        G �dW„ �dXe	«      Z
 G �dY„ �dZe	«      Z G �d[„ �d\e	«      Z�dm�d]„Z�d^„ Z�d_„ Z�d`„ Z�da„ Z�db„ Z�dc„ Z�dd„ Z�de„ Z�df„ Z�dg„ Z�dh„ Z�di„ Z�dj„ Z�dk„ Z�dl„ Zy(n  ÚCCITTG4ParserNr   r   r   Ú011éÿÿÿÿÚ010ÚhÚ001r   Ú0001r"   Ú000011éþÿÿÿÚ000010é   Ú0000011éýÿÿÿÚ0000010ÚuÚ
0000001111Úx1Ú
0000001000Úx2Ú
0000001001Úx3Ú
0000001010Úx4Ú
0000001011Úx5Ú
0000001100Úx6Ú
0000001101Úx7Ú
0000001110ÚeÚ000000000001000000000001Ú00110101Ú000111Ú0111Ú1000r!   Ú1011é   Ú1100é   Ú1110é   Ú1111r    Ú10011é	   Ú10100é
   Ú00111é   Ú01000é   Ú001000é   é   Ú110100é   Ú110101r   Ú101010é   Ú101011é   Ú0100111é   Ú0001100é   Ú0001000é   Ú0010111é   é   Ú0000100é   Ú0101000é   Ú0101011é   Ú0010011é   Ú0100100é   Ú0011000é   Ú00000010é   Ú00000011é   Ú00011010r   Ú00011011é!   Ú00010010é"   Ú00010011é#   Ú00010100é$   Ú00010101é%   Ú00010110é&   Ú00010111é'   Ú00101000é(   Ú00101001é)   Ú00101010é*   Ú00101011é+   Ú00101100é,   Ú00101101é-   Ú00000100é.   Ú00000101é/   Ú00001010é0   Ú00001011é1   Ú01010010é2   Ú01010011é3   Ú01010100é4   Ú01010101é5   Ú00100100é6   Ú00100101é7   Ú01011000é8   Ú01011001é9   Ú01011010é:   Ú01011011é;   Ú01001010é<   Ú01001011é=   Ú00110010é>   Ú00110011é?   Ú00110100r   Ú11011r   Ú10010éÀ   Ú010111é   Ú0110111i@  Ú00110110i€  Ú00110111iÀ  Ú01100100i   Ú01100101i@  Ú01101000i€  Ú01100111iÀ  Ú	011001100i   Ú	011001101i@  Ú	011010010i€  Ú	011010011iÀ  Ú	011010100i   Ú	011010101i@  Ú	011010110i€  Ú	011010111iÀ  Ú	011011000i   Ú	011011001i@  Ú	011011010i€  Ú	011011011iÀ  Ú	010011000i   Ú	010011001i@  Ú	010011010i€  Ú011000iÀ  Ú	010011011i   Ú00000001000i@  Ú00000001100i€  Ú00000001101iÀ  Ú000000010010i   Ú000000010011i@  Ú000000010100i€  Ú000000010101iÀ  Ú000000010110i 	  Ú000000010111i@	  Ú000000011100i€	  Ú000000011101iÀ	  Ú000000011110i 
  Ú000000011111Ú
0000110111Ú11Ú10Ú0011Ú0010Ú00011Ú000101Ú000100Ú0000101Ú0000111Ú00000111Ú	000011000Ú
0000010111Ú
0000011000Ú00001100111Ú00001101000Ú00001101100Ú00000110111Ú00000101000Ú00000010111Ú00000011000Ú000011001010Ú000011001011Ú000011001100Ú000011001101Ú000001101000Ú000001101001Ú000001101010Ú000001101011Ú000011010010Ú000011010011Ú000011010100Ú000011010101Ú000011010110Ú000011010111Ú000001101100Ú000001101101Ú000011011010Ú000011011011Ú000001010100Ú000001010101Ú000001010110Ú000001010111Ú000001100100Ú000001100101Ú000001010010Ú000001010011Ú000000100100Ú000000110111Ú000000111000Ú000000100111Ú000000101000Ú000001011000Ú000001011001Ú000000101011Ú000000101100Ú000001011010Ú000001100110Ú000001100111Ú000011001000Ú000011001001Ú000001011011Ú000000110011Ú000000110100Ú000000110101Ú0000001101100Ú0000001101101Ú0000001001010Ú0000001001011Ú0000001001100Ú0000001001101Ú0000001110010Ú0000001110011Ú0000001110100Ú0000001110101Ú0000001110110Ú0000001110111Ú0000001010010Ú0000001010011Ú0000001010100Ú0000001010101Ú0000001011010Ú0000001011011Ú0000001100100Ú0000001100101Ú01Ú00001Ú00000Ú000001ÚT00ÚT10ÚT000Ú	000000011ÚT100Ú	000000010ÚT0000Ú
0000000011ÚT1000Ú
0000000010ÚT00000Ú00000000011ÚT10000Ú00000000010c                   ó   — e Zd Zy)úCCITTG4Parser.EOFBN©r/   r0   r1   r3   r   r	   ÚEOFBr]  8  ó   „ Ør   r_  c                   ó   — e Zd Zy)úCCITTG4Parser.InvalidDataNr^  r3   r   r	   ÚInvalidDatarb  ;  r`  r   rc  c                   ó   — e Zd Zy)úCCITTG4Parser.ByteSkipNr^  r3   r   r	   ÚByteSkipre  >  r`  r   rf  c                 ój   — t         j                  | «       || _        || _        | j	                  «        y ©N)r   r
   ÚwidthÚ	bytealignÚreset)r   ri  rj  s      r	   r
   zCCITTG4Parser.__init__A  s*   € Ü×Ñ˜4Ô ØˆŒ
Ø"ˆŒØ�
‰
ŒØr   c                 óÚ   — |D ]  }	 dD ]  }| j                  ||z  «       Œ Œ  y # | j                  $ r% | j                  | _        | j                  | _        Y ŒU| j                  $ r Y  y w xY wr   )r#   rf  Ú_parse_moder-   ÚMODEr*   r_  r$   s       r	   r'   zCCITTG4Parser.feedbytesH  sy   € Øò 	ˆAðØ6ò +�AØ—O‘O A¨¡EÕ*ñ+ð	ð 	øð —=‘=ò (Ø#×/Ñ/�”Ø"Ÿi™i�–Ø—9‘9ò ÙØðús   ‡%¥1A*ÁA*Á)A*c                 óè  — |dk(  r,| j                  «        | j                  «        | j                  S |dk(  r<d| _        | j                  | _        | j                  r| j                  S | j                  S |dk(  r| j                  | _        | j                  S |dk(  r| j                  ‚t        |t        «      r-| j                  |«       | j                  «        | j                  S | j                  |«      ‚)Nr   r9   r   rC   rS   )Ú_do_passÚ_flush_linern  Ú_n1Ú_parse_horiz1r-   Ú_colorÚWHITEÚBLACKÚ_parse_uncompressedÚUNCOMPRESSEDr_  r+   ÚintÚ_do_verticalrc  )r   Úmodes     r	   rm  zCCITTG4Parser._parse_modeT  sÍ   € Ø�3Š;Ø�M‰MŒOØ×ÑÔØ—9‘9ÐØ�SŠ[ØˆDŒHØ×-Ñ-ˆDŒLØ�{Š{Ø—z‘zÐ!à—z‘zÐ!Ø�SŠ[Ø×3Ñ3ˆDŒLØ×$Ñ$Ð$Ø�SŠ[Ø—)‘)ˆOÜ˜œcÔ"Ø×Ñ˜dÔ#Ø×ÑÔØ—9‘9Ðà×"Ñ" 4Ó(Ð(r   c                 óò   — |€| j                   ‚| xj                  |z  c_        |dk  r,d| _        d| j                  z
  | _        | j                  | _        | j                  r| j                  S | j                  S )Nr   r   r   )rc  rr  Ú_n2rt  Ú_parse_horiz2r-   ru  rv  ©r   Úns     r	   rs  zCCITTG4Parser._parse_horiz1l  se   € Øˆ9Ø×"Ñ"Ð"Ø�Š�A‰�ØˆrŠ6ØˆDŒHØ˜DŸK™K™-ˆDŒKØ×-Ñ-ˆDŒLØ�;Š;Ø—:‘:Ðà—:‘:Ðr   c                 óh  — |€| j                   ‚| xj                  |z  c_        |dk  rgd| j                  z
  | _        | j                  | _        | j                  | j                  | j                  «       | j                  «        | j                  S | j                  r| j                  S | j                  S )Nr   r   )rc  r}  rt  rm  r-   Ú_do_horizontalrr  rq  rn  ru  rv  r  s     r	   r~  zCCITTG4Parser._parse_horiz2y  sŒ   € Øˆ9Ø×"Ñ"Ð"Ø�Š�A‰�ØˆrŠ6Ø˜DŸK™K™-ˆDŒKØ×+Ñ+ˆDŒLØ×Ñ §¡¨$¯(©(Ô3Ø×ÑÔØ—9‘9ÐØ�[Š[Ø—:‘:Ðà—:‘:Ðr   c                 ó  — |s| j                   ‚|j                  d«      rD| j                  | _        t	        |d   «      | _        | j                  |dd  «       | j                  S | j                  |«       | j                  S )NÚTr   r"   )	rc  Ú
startswithrm  r-   ry  rt  Ú_do_uncompressedrn  rx  )r   r   s     r	   rw  z!CCITTG4Parser._parse_uncompressedˆ  sq   € ÙØ×"Ñ"Ð"Ø�?‰?˜3ÔØ×+Ñ+ˆDŒLÜ˜d 1™g›,ˆDŒKØ×!Ñ! $ q r (Ô+Ø—9‘9Ðà×!Ñ! $Ô'Ø×$Ñ$Ð$r   c                 ó`   — dj                  d„ | j                  d | j                   D «       «      S )NÚ c              3   ó2   K  — | ]  }t        |«      –— Œ y ­wrh  ©Ústr©Ú.0r   s     r	   ú	<genexpr>z*CCITTG4Parser._get_bits.<locals>.<genexpr>•  s   è ø€ ÒD !”s˜1—vÑDùó   ‚)ÚjoinÚ_curlineÚ_curposr   s    r	   Ú	_get_bitszCCITTG4Parser._get_bits”  s&   € Ø�w‰wÑD t§}¡}°]°d·l±lÐ'CÔDÓDÐDr   c                 óª  — |dk  r%ddj                  d„ | j                  D «       «      z   S t        | j                  «      |k  r%dj                  d„ | j                  D «       «      dz   S dj                  d„ | j                  d | D «       «      dz   t        | j                  |   «      z   dz   dj                  d	„ | j                  |d
z   d  D «       «      z   S )Nr   z[]rˆ  c              3   ó2   K  — | ]  }t        |«      –— Œ y ­wrh  rŠ  rŒ  s     r	   rŽ  z-CCITTG4Parser._get_refline.<locals>.<genexpr>™  s   è ø€ Ò>¨1¤ A§Ñ>ùr�  c              3   ó2   K  — | ]  }t        |«      –— Œ y ­wrh  rŠ  rŒ  s     r	   rŽ  z-CCITTG4Parser._get_refline.<locals>.<genexpr>›  s   è ø€ Ò9 aœ3˜qŸ6Ñ9ùr�  c              3   ó2   K  — | ]  }t        |«      –— Œ y ­wrh  rŠ  rŒ  s     r	   rŽ  z-CCITTG4Parser._get_refline.<locals>.<genexpr>�  s   è ø€ Ò> qœC ŸFÑ>ùr�  ú[ú]c              3   ó2   K  — | ]  }t        |«      –— Œ y ­wrh  rŠ  rŒ  s     r	   rŽ  z-CCITTG4Parser._get_refline.<locals>.<genexpr>Ÿ  s   è ø€ Ò@ qœC ŸFÑ@ùr�  r   )r�  Ú_refliner   r‹  )r   r   s     r	   Ú_get_reflinezCCITTG4Parser._get_refline—  sÆ   € ØˆqŠ5Ø˜Ÿ™Ñ>°·±Ô>Ó>Ñ>Ð>Ü�—‘Ó 1Ò$Ø—7‘7Ñ9¨4¯=©=Ô9Ó9¸$Ñ>Ð>à—G‘GÑ>¨D¯M©M¸"¸1Ð,=Ô>Ó>ØñÜ˜DŸM™M¨!Ñ,Ó-ñ.Ø.1ñ2à—G‘GÑ@¨D¯M©M¸!¸A¹#¸$Ð,?Ô@Ó@ñAð Br   c                 óÈ   — d| _         t        j                  ddg| j                  z  «      | _        | j	                  «        | j
                  | _        | j                  | _        y )Nr   r   r   )	Ú_yÚarrayri  r‘  Ú_reset_linerm  r-   rn  r*   r   s    r	   rk  zCCITTG4Parser.reset¡  sL   € ØˆŒÜŸ™ C¨!¨¨T¯Z©Z©Ó8ˆŒØ×ÑÔØ×'Ñ'ˆŒØ—i‘iˆŒØr   c                 óH   — t        |dj                  d„ |D «       «      «       y )Nrˆ  c              3   ó2   K  — | ]  }t        |«      –— Œ y ­wrh  rŠ  rŒ  s     r	   rŽ  z,CCITTG4Parser.output_line.<locals>.<genexpr>ª  s   è ø€ Ò. Aœ˜QŸÑ.ùr�  )Úprintr�  )r   Úyr   s      r	   Úoutput_linezCCITTG4Parser.output_line©  s   € Üˆa�—‘Ñ.¨Ô.Ó.Ô/Ør   c                 ó”   — | j                   | _        t        j                  ddg| j                  z  «      | _         d| _        d| _        y )Nr   r   r7   )r‘  r›  rŸ  ri  r’  rt  r   s    r	   r   zCCITTG4Parser._reset_line­  s:   € ØŸ™ˆŒÜŸ™ C¨!¨¨T¯Z©Z©Ó8ˆŒØˆŒØˆŒØr   c                 óü   — | j                   | j                  k  rc| j                  | j                  | j                  «       | xj                  dz  c_        | j                  «        | j                  r| j                  ‚y ©Nr   )ri  r’  r¥  rž  r‘  r   rj  rf  r   s    r	   rq  zCCITTG4Parser._flush_line´  sW   € Ø�:‰:˜Ÿ™Ò%Ø×Ñ˜TŸW™W d§m¡mÔ4Ø�GŠG�q‰L�GØ×ÑÔØ�~Š~Ø—m‘mÐ#Ør   c                 ó¦  — | j                   dz   }	 |dk(  r,| j                  dk(  rr| j                  |   | j                  k7  rVn[|t        | j                  «      k(  rnB| j                  |dz
     | j                  k(  r| j                  |   | j                  k7  rn|dz  }ŒŒ||z  }t	        d| j                   «      }t	        dt        | j                  |«      «      }||k  r+t        ||«      D ]  }| j                  | j                  |<   Œ n/||k  r*t        ||«      D ]  }| j                  | j                  |<   Œ || _         d| j                  z
  | _        y r)   )	r’  rt  r›  r   ÚmaxÚminri  r   r‘  )r   ÚdxrE   Úx0r.   s        r	   rz  zCCITTG4Parser._do_vertical½  s8  € ð �\‰\˜!‰^ˆØØ�QŠwØ—K‘K 1Ò$¨¯©°rÑ):¸d¿k¹kÒ)IØØ”s˜4Ÿ=™=Ó)Ò)ØØ—-‘-  1¡Ñ%¨¯©Ò4Ø—-‘- Ñ# t§{¡{Ò2ØØ�!‰GˆBð ð 	ˆb‰ˆÜ��D—L‘LÓ!ˆÜ�”C˜Ÿ
™
 BÓ'Ó(ˆØ�Š7Ü˜2˜r“]ò /�Ø#'§;¡;�—‘˜aÒ ñ/à�"ŠWÜ˜2˜r“]ò /�Ø#'§;¡;�—‘˜aÒ ð/àˆŒØ˜Ÿ™‘mˆŒØr   c                 óÌ  — | j                   dz   }	 |dk(  r,| j                  dk(  rr| j                  |   | j                  k7  rVn[|t        | j                  «      k(  rnB| j                  |dz
     | j                  k(  r| j                  |   | j                  k7  rn|dz  }ŒŒ	 |dk(  r,| j                  dk(  rr| j                  |   | j                  k(  rVn[|t        | j                  «      k(  rnB| j                  |dz
     | j                  k7  r| j                  |   | j                  k(  rn|dz  }ŒŒt	        | j                   |«      D ]  }| j                  | j
                  |<   Œ || _         y r)   )r’  rt  r›  r   r   r‘  )r   rE   r.   s      r	   rp  zCCITTG4Parser._do_passØ  sK  € ð �\‰\˜!‰^ˆØØ�QŠwØ—K‘K 1Ò$¨¯©°rÑ):¸d¿k¹kÒ)IØØ”s˜4Ÿ=™=Ó)Ò)ØØ—-‘-  1¡Ñ%¨¯©Ò4Ø—-‘- Ñ# t§{¡{Ò2ØØ�!‰GˆBð ð Ø�QŠwØ—K‘K 1Ò$¨¯©°rÑ):¸d¿k¹kÒ)IØØ”s˜4Ÿ=™=Ó)Ò)ØØ—-‘-  1¡Ñ%¨¯©Ò4Ø—-‘- Ñ# t§{¡{Ò2ØØ�!‰GˆBð ô �t—|‘| RÓ(ò 	+ˆAØ#Ÿ{™{ˆD�M‰M˜!Òð	+àˆŒØr   c                 óŠ  — | j                   dk  rd| _         | j                   }t        |«      D ]:  }t        | j                  «      |k  r n | j                  | j                  |<   |dz  }Œ< t        |«      D ]D  }t        | j                  «      |k  r	 || _         y d| j                  z
  | j                  |<   |dz  }ŒF || _         y )Nr   r   )r’  r   r   r‘  rt  )r   Ún1Ún2r.   Ú_s        r	   r‚  zCCITTG4Parser._do_horizontalõ  sÂ   € à�<‰<˜!ÒØˆDŒLØ�L‰LˆÜ�r“ò 	ˆAÜ�4—=‘=Ó! QÒ&ÙØ#Ÿ{™{ˆD�M‰M˜!ÑØ�‰F‰Að		ô
 �r“ò 	ˆAÜ�4—=‘=Ó! QÒ&Øð ˆŒØð  ! §¡™}ˆD�M‰M˜!ÑØ�‰F‰Að		ð
 ˆŒØr   c                 ó    — |D ]I  }t        |«      | j                  | j                  <   | xj                  dz  c_        | j                  «        ŒK y r¨  )ry  r‘  r’  rq  )r   r   Úcs      r	   r†  zCCITTG4Parser._do_uncompressed  sF   € àò 	ˆAÜ*-¨a«&ˆD�M‰M˜$Ÿ,™,Ñ'Ø�LŠL˜AÑ�LØ×ÑÕð	ð 	r   ©F)r/   r0   r1   rn  r   r   ru  rv  rx  Ú	Exceptionr_  rc  rf  r
   r'   rm  rs  r~  rw  r“  rœ  rk  r¥  r   rq  rz  rp  r‚  r†  r3   r   r	   r5   r5   >   s�  „ à�$ˆ<€DØ‡M�M�$˜˜SÔ!Ø‡M�M�$˜˜UÔ#Ø‡M�M�$˜˜UÔ#Ø‡M�M�$˜˜UÔ#Ø‡M�M�$˜˜VÔ$Ø‡M�M�$˜˜XÔ&Ø‡M�M�$˜˜XÔ&Ø‡M�M�$˜˜YÔ'Ø‡M�M�$˜˜YÔ'Ø‡M�M�$˜˜\Ô*Ø‡M�M�$˜˜lÔ+Ø‡M�M�$˜˜lÔ+Ø‡M�M�$˜˜lÔ+Ø‡M�M�$˜˜lÔ+Ø‡M�M�$˜˜lÔ+Ø‡M�M�$˜˜lÔ+Ø‡M�M�$˜˜lÔ+Ø‡M�M�$˜Ð7Ô8à�4ˆL€EØ‡M�M�%˜˜zÔ*Ø‡M�M�%˜˜xÔ(Ø‡M�M�%˜˜vÔ&Ø‡M�M�%˜˜vÔ&Ø‡M�M�%˜˜vÔ&Ø‡M�M�%˜˜vÔ&Ø‡M�M�%˜˜vÔ&Ø‡M�M�%˜˜vÔ&Ø‡M�M�%˜˜wÔ'Ø‡M�M�%˜˜wÔ'Ø‡M�M�%˜˜wÔ'Ø‡M�M�%˜˜wÔ'Ø‡M�M�%˜˜xÔ(Ø‡M�M�%˜˜xÔ(Ø‡M�M�%˜˜xÔ(Ø‡M�M�%˜˜xÔ(Ø‡M�M�%˜˜xÔ(Ø‡M�M�%˜˜xÔ(Ø‡M�M�%˜˜yÔ)Ø‡M�M�%˜˜yÔ)Ø‡M�M�%˜˜yÔ)Ø‡M�M�%˜˜yÔ)Ø‡M�M�%˜˜yÔ)Ø‡M�M�%˜˜yÔ)Ø‡M�M�%˜˜yÔ)Ø‡M�M�%˜˜yÔ)Ø‡M�M�%˜˜yÔ)Ø‡M�M�%˜˜yÔ)Ø‡M�M�%˜˜yÔ)Ø‡M�M�%˜˜zÔ*Ø‡M�M�%˜˜zÔ*Ø‡M�M�%˜˜zÔ*Ø‡M�M�%˜˜zÔ*Ø‡M�M�%˜˜zÔ*Ø‡M�M�%˜˜zÔ*Ø‡M�M�%˜˜zÔ*Ø‡M�M�%˜˜zÔ*Ø‡M�M�%˜˜zÔ*Ø‡M�M�%˜˜zÔ*Ø‡M�M�%˜˜zÔ*Ø‡M�M�%˜˜zÔ*Ø‡M�M�%˜˜zÔ*Ø‡M�M�%˜˜zÔ*Ø‡M�M�%˜˜zÔ*Ø‡M�M�%˜˜zÔ*Ø‡M�M�%˜˜zÔ*Ø‡M�M�%˜˜zÔ*Ø‡M�M�%˜˜zÔ*Ø‡M�M�%˜˜zÔ*Ø‡M�M�%˜˜zÔ*Ø‡M�M�%˜˜zÔ*Ø‡M�M�%˜˜zÔ*Ø‡M�M�%˜˜zÔ*Ø‡M�M�%˜˜zÔ*Ø‡M�M�%˜˜zÔ*Ø‡M�M�%˜˜zÔ*Ø‡M�M�%˜˜zÔ*Ø‡M�M�%˜˜zÔ*Ø‡M�M�%˜˜zÔ*Ø‡M�M�%˜˜zÔ*Ø‡M�M�%˜˜zÔ*Ø‡M�M�%˜˜zÔ*Ø‡M�M�%˜˜zÔ*Ø‡M�M�%˜˜zÔ*Ø‡M�M�%˜˜wÔ'Ø‡M�M�%˜˜wÔ'Ø‡M�M�%˜˜xÔ(Ø‡M�M�%˜˜yÔ)Ø‡M�M�%˜˜zÔ*Ø‡M�M�%˜˜zÔ*Ø‡M�M�%˜˜zÔ*Ø‡M�M�%˜˜zÔ*Ø‡M�M�%˜˜zÔ*Ø‡M�M�%˜˜zÔ*Ø‡M�M�%˜˜{Ô+Ø‡M�M�%˜˜{Ô+Ø‡M�M�%˜˜{Ô+Ø‡M�M�%˜˜{Ô+Ø‡M�M�%˜˜{Ô+Ø‡M�M�%˜˜{Ô+Ø‡M�M�%˜˜{Ô+Ø‡M�M�%˜˜{Ô+Ø‡M�M�%˜˜{Ô+Ø‡M�M�%˜˜{Ô+Ø‡M�M�%˜˜{Ô+Ø‡M�M�%˜˜{Ô+Ø‡M�M�%˜˜{Ô+Ø‡M�M�%˜˜{Ô+Ø‡M�M�%˜˜{Ô+Ø‡M�M�%˜˜xÔ(Ø‡M�M�%˜˜{Ô+Ø‡M�M�%˜˜}Ô-Ø‡M�M�%˜˜}Ô-Ø‡M�M�%˜˜}Ô-Ø‡M�M�%˜˜~Ô.Ø‡M�M�%˜˜~Ô.Ø‡M�M�%˜˜~Ô.Ø‡M�M�%˜˜~Ô.Ø‡M�M�%˜˜~Ô.Ø‡M�M�%˜˜~Ô.Ø‡M�M�%˜˜~Ô.Ø‡M�M�%˜˜~Ô.Ø‡M�M�%˜˜~Ô.Ø‡M�M�%˜˜~Ô.à�4ˆL€EØ‡M�M�%˜˜|Ô,Ø‡M�M�%˜˜uÔ%Ø‡M�M�%˜˜tÔ$Ø‡M�M�%˜˜tÔ$Ø‡M�M�%˜˜uÔ%Ø‡M�M�%˜˜vÔ&Ø‡M�M�%˜˜vÔ&Ø‡M�M�%˜˜wÔ'Ø‡M�M�%˜˜xÔ(Ø‡M�M�%˜˜xÔ(Ø‡M�M�%˜˜yÔ)Ø‡M�M�%˜˜yÔ)Ø‡M�M�%˜˜yÔ)Ø‡M�M�%˜˜zÔ*Ø‡M�M�%˜˜zÔ*Ø‡M�M�%˜˜{Ô+Ø‡M�M�%˜˜|Ô,Ø‡M�M�%˜˜|Ô,Ø‡M�M�%˜˜|Ô,Ø‡M�M�%˜˜}Ô-Ø‡M�M�%˜˜}Ô-Ø‡M�M�%˜™}Ô-Ø‡M�M�%˜™}Ô-Ø‡M�M�%˜™}Ô-Ø‡M�M�%˜™}Ô-Ø‡M�M�%˜™}Ô-Ø‡M�M�%˜™~Ô.Ø‡M�M�%˜™~Ô.Ø‡M�M�%˜™~Ô.Ø‡M�M�%˜™~Ô.Ø‡M�M�%˜™~Ô.Ø‡M�M�%˜™~Ô.Ø‡M�M�%˜™~Ô.Ø‡M�M�%˜™~Ô.Ø‡M�M�%˜™~Ô.Ø‡M�M�%˜™~Ô.Ø‡M�M�%˜™~Ô.Ø‡M�M�%˜™~Ô.Ø‡M�M�%˜™~Ô.Ø‡M�M�%˜™~Ô.Ø‡M�M�%˜™~Ô.Ø‡M�M�%˜™~Ô.Ø‡M�M�%˜™~Ô.Ø‡M�M�%˜™~Ô.Ø‡M�M�%˜™~Ô.Ø‡M�M�%˜™~Ô.Ø‡M�M�%˜™~Ô.Ø‡M�M�%˜™~Ô.Ø‡M�M�%˜™~Ô.Ø‡M�M�%˜™~Ô.Ø‡M�M�%˜™~Ô.Ø‡M�M�%˜™~Ô.Ø‡M�M�%˜™~Ô.Ø‡M�M�%˜™~Ô.Ø‡M�M�%˜™~Ô.Ø‡M�M�%˜™~Ô.Ø‡M�M�%˜™~Ô.Ø‡M�M�%˜™~Ô.Ø‡M�M�%˜™~Ô.Ø‡M�M�%˜™~Ô.Ø‡M�M�%˜™~Ô.Ø‡M�M�%˜™~Ô.Ø‡M�M�%˜™~Ô.Ø‡M�M�%˜™~Ô.Ø‡M�M�%˜˜|Ô,Ø‡M�M�%˜™~Ô.Ø‡M�M�%˜™~Ô.Ø‡M�M�%˜™~Ô.Ø‡M�M�%˜™~Ô.Ø‡M�M�%˜™~Ô.Ø‡M�M�%˜™~Ô.Ø‡M�M�%˜™Ô/Ø‡M�M�%˜™Ô/Ø‡M�M�%˜™Ô/Ø‡M�M�%˜™Ô/Ø‡M�M�%˜™Ô/Ø‡M�M�%˜™Ô/Ø‡M�M�%˜™Ô/Ø‡M�M�%˜™Ô/Ø‡M�M�%˜™Ô/Ø‡M�M�%˜™Ô/Ø‡M�M�%˜™Ô/Ø‡M�M�%˜™Ô/Ø‡M�M�%˜™Ô/Ø‡M�M�%˜™Ô/Ø‡M�M�%˜™Ô/Ø‡M�M�%˜™Ô/Ø‡M�M�%˜™Ô/Ø‡M�M�%˜™Ô/Ø‡M�M�%˜™Ô/Ø‡M�M�%˜™Ô/Ø‡M�M�%˜˜}Ô-Ø‡M�M�%˜˜}Ô-Ø‡M�M�%˜˜}Ô-Ø‡M�M�%˜˜~Ô.Ø‡M�M�%˜˜~Ô.Ø‡M�M�%˜˜~Ô.Ø‡M�M�%˜˜~Ô.Ø‡M�M�%˜˜~Ô.Ø‡M�M�%˜˜~Ô.Ø‡M�M�%˜˜~Ô.Ø‡M�M�%˜˜~Ô.Ø‡M�M�%˜˜~Ô.Ø‡M�M�%˜˜~Ô.à˜$�<€LØ‡M�M�,  SÔ)Ø‡M�M�,¡¡dÔ+Ø‡M�M�,  uÔ-Ø‡M�M�, ¨Ô/Ø‡M�M�,¡©Ô1Ø‡M�M�,¡©Ô2Ø‡M�M�,¡ zÔ2Ø‡M�M�,¡ zÔ2Ø‡M�M�,¡©Ô4Ø‡M�M�,¡©Ô4Ø‡M�M�,¡©Ô6Ø‡M�M�,¡©Ô6Ø‡M�M�,¡©-Ô8Ø‡M�M�,¡©-Ô8öˆyô ö�iô ö�9ô õó
ó)ó0óó
%óEóBóóóóóó6ó:ô$r   r5   c                   ór   — e Zd Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Z	d„ Z
d	„ Zd
„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zy)ÚTestCCITTG4Parserc                 ó”   — t        t        |«      «      }|D �cg c]  }t        |«      ‘Œ c}|_        |j	                  «        |S c c}w rh  )r5   r   ry  r‘  r   )r   r   Úparserr´  s       r	   Ú
get_parserzTestCCITTG4Parser.get_parser  s<   € Üœs 4›yÓ)ˆØ+/Ö0 aœ3˜q�6Ò0ˆŒØ×ÑÔØˆùò 1s   ™Ac                 ó€   — | j                  d«      }|j                  d«       | j                  |j                  d«       y )NrL  r   ©r»  rz  ÚassertEqualr’  ©r   rº  s     r	   Útest_b1zTestCCITTG4Parser.test_b1  s5   € Ø—‘ Ó)ˆØ×Ñ˜AÔØ×Ñ˜Ÿ™¨Ô+Ør   c                 ó€   — | j                  d«      }|j                  d«       | j                  |j                  d«       y )NÚ10000r7   r   r½  r¿  s     r	   Útest_b2zTestCCITTG4Parser.test_b2"  s5   € Ø—‘ Ó)ˆØ×Ñ˜BÔØ×Ñ˜Ÿ™¨Ô+Ør   c                 ó¾   — | j                  d«      }|j                  «        | j                  |j                  d«       | j                  |j	                  «       d«       y )NrV   r?   Ú111©r»  rp  r¾  r’  r“  r¿  s     r	   Útest_b3zTestCCITTG4Parser.test_b3(  sJ   € Ø—‘ Ó*ˆØ�‰ÔØ×Ñ˜Ÿ™¨Ô+Ø×Ñ˜×)Ñ)Ó+¨UÔ3Ør   c                 óÀ   — | j                  d«      }|j                  d«       | j                  |j                  d«       | j                  |j	                  «       d«       y )NrL  r"   rö   ©r»  rz  r¾  r’  r“  r¿  s     r	   Útest_b4zTestCCITTG4Parser.test_b4/  sN   € Ø—‘ Ó)ˆØ×Ñ˜BÔØ×Ñ˜Ÿ™¨Ô+Ø×Ñ˜×)Ñ)Ó+¨TÔ2Ør   c                 ó  — | j                  d«      }|j                  dd«       | j                  |j                  d«       |j	                  d«       | j                  |j                  d«       | j                  |j                  «       d«       y )NÚ11111111100r   r?   r   rc   Ú
0001111111)r»  r‚  r¾  r’  rz  r“  r¿  s     r	   Útest_b5zTestCCITTG4Parser.test_b56  sr   € Ø—‘ Ó/ˆØ×Ñ˜a Ô#Ø×Ñ˜Ÿ™¨Ô+Ø×Ñ˜AÔØ×Ñ˜Ÿ™¨Ô,Ø×Ñ˜×)Ñ)Ó+¨\Ô:Ør   c                 ó  — | j                  d«      }|j                  d«       | j                  |j                  d«       |j                  d«       | j                  |j                  d«       | j                  |j	                  «       d«       y )NrÂ  r   r   rZ   rÉ  r¿  s     r	   Útest_e1zTestCCITTG4Parser.test_e1?  óp   € Ø—‘ Ó)ˆØ×Ñ˜AÔØ×Ñ˜Ÿ™¨Ô+Ø×Ñ˜AÔØ×Ñ˜Ÿ™¨Ô+Ø×Ñ˜×)Ñ)Ó+¨WÔ5Ør   c                 ó  — | j                  d«      }|j                  d«       | j                  |j                  d«       |j                  d«       | j                  |j                  d«       | j                  |j	                  «       d«       y )Nr`   r   r   r"   rZ   rÂ  rÉ  r¿  s     r	   Útest_e2zTestCCITTG4Parser.test_e2H  rÑ  r   c                 óò  — | j                  d«      }d|_        |j                  d«       | j                  |j                  d«       | j                  |j                  d«       |j                  d«       | j                  |j                  d«       | j                  |j                  d«       |j                  d«       | j                  |j                  d«       | j                  |j                  «       d«       y )NÚ011111r   r   r=   r!   r\   Ú011100©r»  rt  rz  r¾  r’  r“  r¿  s     r	   Útest_e3zTestCCITTG4Parser.test_e3Q  sÁ   € Ø—‘ Ó*ˆØˆŒØ×Ñ˜AÔØ×Ñ˜Ÿ™¨Ô*Ø×Ñ˜Ÿ™¨Ô+Ø×Ñ˜BÔØ×Ñ˜Ÿ™¨Ô*Ø×Ñ˜Ÿ™¨Ô+Ø×Ñ˜AÔØ×Ñ˜Ÿ™¨Ô+Ø×Ñ˜×)Ñ)Ó+¨XÔ6Ør   c                 ót  — | j                  d«      }|j                  d«       | j                  |j                  d«       |j                  d«       | j                  |j                  d«       |j                  d«       | j                  |j                  d«       | j                  |j	                  «       d«       y )NrÂ  r   r   r=   r?   rZ   r`   rÉ  r¿  s     r	   Útest_e4zTestCCITTG4Parser.test_e4_  s’   € Ø—‘ Ó)ˆØ×Ñ˜AÔØ×Ñ˜Ÿ™¨Ô+Ø×Ñ˜BÔØ×Ñ˜Ÿ™¨Ô+Ø×Ñ˜AÔØ×Ñ˜Ÿ™¨Ô+Ø×Ñ˜×)Ñ)Ó+¨WÔ5Ør   c                 ó(  — | j                  d«      }d|_        |j                  d«       | j                  |j                  d«       |j                  d«       | j                  |j                  d«       | j                  |j                  «       d«       y )Nræ   r   r   r?   r\   rÕ  r×  r¿  s     r	   Útest_e5zTestCCITTG4Parser.test_e5j  sw   € Ø—‘ Ó*ˆØˆŒØ×Ñ˜AÔØ×Ñ˜Ÿ™¨Ô+Ø×Ñ˜AÔØ×Ñ˜Ÿ™¨Ô+Ø×Ñ˜×)Ñ)Ó+¨XÔ6Ør   c                 ó  — | j                  d«      }|j                  «        | j                  |j                  d«       |j	                  d«       | j                  |j                  d«       | j                  |j                  «       d«       y )NÚ11001r!   r   rZ   Ú11111)r»  rp  r¾  r’  rz  r“  r¿  s     r	   Útest_e6zTestCCITTG4Parser.test_e6t  sl   € Ø—‘ Ó)ˆØ�‰ÔØ×Ñ˜Ÿ™¨Ô+Ø×Ñ˜AÔØ×Ñ˜Ÿ™¨Ô+Ø×Ñ˜×)Ñ)Ó+¨WÔ5Ør   c                 óÞ   — | j                  d«      }d|_        d|_        |j                  dd«       | j	                  |j                  d«       | j	                  |j                  «       d«       y )NÚ
0000000000r"   r   r\   rc   Ú
1111000000)r»  r’  rt  r‚  r¾  r“  r¿  s     r	   Útest_e7zTestCCITTG4Parser.test_e7}  s^   € Ø—‘ Ó.ˆØˆŒØˆŒØ×Ñ˜a Ô#Ø×Ñ˜Ÿ™¨Ô,Ø×Ñ˜×)Ñ)Ó+¨\Ô:Ør   c                 ó8  — | j                  d«      }d|_        d|_        |j                  d«       | j	                  |j                  d«       |j                  dd«       | j	                  |j                  d«       | j	                  |j                  «       d«       y )NÚ	001100000r   r   r"   r^   ra   Ú	101111111)r»  r’  rt  rz  r¾  r‚  r“  r¿  s     r	   Útest_e8zTestCCITTG4Parser.test_e8†  s€   € Ø—‘ Ó-ˆØˆŒØˆŒØ×Ñ˜AÔØ×Ñ˜Ÿ™¨Ô+Ø×Ñ˜a Ô#Ø×Ñ˜Ÿ™¨Ô+Ø×Ñ˜×)Ñ)Ó+¨[Ô9Ør   c                 ó  — | j                  d«      }|j                  «        | j                  |j                  d«       |j                  «        | j                  |j                  d«       | j                  |j	                  «       d«       y )NÚ10101r"   r!   r_   rÆ  r¿  s     r	   Útest_m1zTestCCITTG4Parser.test_m1‘  sh   € Ø—‘ Ó)ˆØ�‰ÔØ×Ñ˜Ÿ™¨Ô+Ø�‰ÔØ×Ñ˜Ÿ™¨Ô+Ø×Ñ˜×)Ñ)Ó+¨VÔ4Ør   c                 óð   — | j                  d«      }|j                  d«       |j                  d«       |j                  d«       |j                  dd«       | j                  |j	                  «       d«       y )Nrp   r7   r   Ú011101)r»  rz  r‚  r¾  r“  r¿  s     r	   Útest_m2zTestCCITTG4Parser.test_m2š  sf   € Ø—‘ Ó*ˆØ×Ñ˜BÔØ×Ñ˜BÔØ×Ñ˜AÔØ×Ñ˜a Ô#Ø×Ñ˜×)Ñ)Ó+¨XÔ6Ør   c                 óì   — | j                  d«      }|j                  d«       |j                  «        |j                  d«       |j                  d«       | j                  |j	                  «       d«       y )NÚ10111011r7   r   Ú00000001)r»  rz  rp  r¾  r“  r¿  s     r	   Útest_m3zTestCCITTG4Parser.test_m3£  s`   € Ø—‘ Ó,ˆØ×Ñ˜BÔØ�‰ÔØ×Ñ˜AÔØ×Ñ˜AÔØ×Ñ˜×)Ñ)Ó+¨ZÔ8Ør   N)r/   r0   r1   r»  rÀ  rÃ  rÇ  rÊ  rÎ  rÐ  rÓ  rØ  rÚ  rÜ  rà  rä  rè  rë  rî  rò  r3   r   r	   r¸  r¸    sW   „ òòòòòòòòòò	òòòò	òòór   r¸  c                   ó    — e Zd Zdd„Zd„ Zd„ Zy)ÚCCITTFaxDecoderc                 óP   — t         j                  | ||¬«       || _        d| _        y )N©rj  r   )r5   r
   ÚreversedÚ_buf)r   ri  rj  r÷  s       r	   r
   zCCITTFaxDecoder.__init__±  s(   € Ü×Ñ˜t U°iÐÔ@Ø ˆŒØˆŒ	Ør   c                 ó   — | j                   S rh  )rø  r   s    r	   ÚclosezCCITTFaxDecoder.close·  s   € Ø�y‰yÐr   c                 ó:  — t        j                   ddgt        |«      dz   dz  z  «      }| j                  r|D �cg c]  }d|z
  ‘Œ	 }}t        |«      D ]  \  }}|sŒ	||dz  xx   d|dz     z  cc<   Œ  | xj                  |j                  «       z  c_        y c c}w )NÚBr   r^   r    r   r   )rŸ  r   r÷  Ú	enumeraterø  Útostring)r   r¤  r   Úbytesr   r   s         r	   r¥  zCCITTFaxDecoder.output_lineº  s›   € Ü—‘˜C ! ¤s¨4£y°¡{°QÑ&6Ñ!7Ó8ˆØ�=Š=Ø!%Ö&˜A�A�a“CÐ&ˆDÐ&Ü “oò 	D‰FˆQ�ÚØ�a˜‘d“Ð<¸QÀ¹UÑCÑC”ð	Dð 	�	Š	�U—^‘^Ó%Ñ%�	Øùò 's   ºBN)FF)r/   r0   r1   r
   rú  r¥  r3   r   r	   rô  rô  ¯  s   „ óòór   rô  c                 ó
  — |j                  d«      }|j                  d«      }|j                  d«      }|j                  d«      }|dk(  rt        |||¬«      }nt        |«      ‚|j                  | «       |j	                  «       S )NÚKÚColumnsÚEncodedByteAlignÚBlackIs1r7   )rj  r÷  )Úgetrô  Ú
ValueErrorr'   rú  )r%   Úparamsr  Úcolsrj  r÷  rº  s          r	   Úccittfaxdecoder	  Å  ss   € Ø�
‰
�3‹€AØ�:‰:�iÓ €DØ—
‘
Ð-Ó.€IØ�z‰z˜*Ó%€HØˆB‚wÜ  °ÀXÔN‰ä˜‹mÐØ
×Ñ�TÔØ�<‰<‹>Ðr   c                 óZ  — | dd  st        j                  «       S  G d„ dt        «      }| dd  D ]o  }t        |d«      5 }|j	                  d«      \  }}}}}} |t        |«      «      }|j                  |j                  «       «       |j                  «        d d d «       Œq y # 1 sw Y   Œ|xY w)Nr   c                   ó    — e Zd Zdd„Zd„ Zd„ Zy)úmain.<locals>.Parserc                 ó€   — dd l }t        j                  | ||¬«       |j                  | j                  df«      | _        y )Nr   rö  iè  )Úpygamer5   r
   ÚSurfaceri  Úimg)r   ri  rj  r  s       r	   r
   zmain.<locals>.Parser.__init__Ù  s6   € ÛÜ×"Ñ" 4¨¸)Ð"ÔDØ—~‘~ t§z¡z°4Ð&8Ó9ˆDŒHØr   c                 ó¨   — t        |«      D ]D  \  }}|r| j                  j                  ||fd«       Œ'| j                  j                  ||fd«       ŒF y )N)éÿ   r  r  )r   r   r   )rý  r  Úset_at)r   r¤  r   r.   r   s        r	   r¥  z main.<locals>.Parser.output_lineß  sM   € Ü# D›/ò 7‘��AÙØ—H‘H—O‘O Q¨ F¨OÕ<à—H‘H—O‘O Q¨ F¨IÕ6ð	7ð
 r   c                 óX   — dd l }|j                  j                  | j                  d«       y )Nr   zout.bmp)r  ÚimageÚsaver  )r   r  s     r	   rú  zmain.<locals>.Parser.closeç  s    € ÛØ�L‰L×Ñ˜dŸh™h¨	Ô2Ør   Nrµ  )r/   r0   r1   r
   r¥  rú  r3   r   r	   ÚParserr  ×  s   „ ó	ò	ó	r   r  Úrbú.)	ÚunittestÚmainr5   ÚopenÚsplitry  r'   Úreadrú  )	Úargvr  ÚpathÚfpr²  ÚkÚwr9   rº  s	            r	   r  r  Ó  s©   € Ø��‰8Ü�}‰}‹Ðô”ô ð* �Q�R�ò ˆÜ�$˜Óð 	 Ø!%§¡¨C£ÑˆQ��1�a˜˜AÙœC ›F“^ˆFØ×Ñ˜RŸW™W›YÔ'Ø�L‰LŒN÷		ð 	ðð ÷	ð 	ús   ½AB!Â!B*	Ú__main__)ÚsysrŸ  r   r5   r  ÚTestCaser¸  rô  r	  r  r/   Úexitr  r3   r   r	   ú<module>r(     sz   ðó Û ÷
&ñ &ôVO�Iô Oób ô
V˜×)Ñ)ô Vôv�mô ò,
òðB ˆzÒ˜8˜3Ÿ8™8¡D¨¯©£NÕ3Ðr   