
    %oiR                         S SK r S SKJrJrJrJr  S SKJrJrJ	r	  S SK
JrJr  S\S\\   4S jr\\   r " S S	5      r " S
 S\5      r " S S\5      rS\S\\\4   S\4S jrS\\   SS4S jrg)    N)CallableIteratorMutableSequenceSequence)AnyClassVarcast)PDFExceptionPDFValueErrordatareturnc              #   $   #    U  S h  vN   g  N7fN )r   s    J/var/www/html/land-ocr/venv/lib/python3.13/site-packages/pdfminer/ccitt.py	get_bytesr      s     OOs   c            	           \ rS rSr% \\S'   \\/\4   S-  \S'   SS jr\	S\S\
\-  S	\SS4S
 j5       rS\SS4S jrS\SS4S jrSrg)	BitParser#   _stateN_acceptr   c                     SU l         g )Nr   )_posselfs    r   __init__BitParser.__init__*   s	    	    rootvbitsc                     UnS n[        [        U5      5       H)  nUS:  a  Uc   eXE   c  S S /XE'   XE   nX6   S:X  a  SOSnM+     Uc   eX$U'   g )Nr   1   )rangelen)clsr   r    r!   pbis          r   addBitParser.add-   sk     s4y!A1u}$}4< $<ADDW^A " }}!r   r   c                 `    [        U5       H  nS H  nU R                  X#-  5        M     M!     g N   @                   r$   )r   
_parse_bitr   r   bytems       r   	feedbytesBitParser.feedbytes;   s(    dOD2) 3 $r   xc                     U(       a  U R                   S   OU R                   S   nU =R                  S-  sl        [        U[        5      (       a  X l         g U R                  c   eU R	                  U5      U l         g Nr$   r   )r   r   
isinstancelistr   )r   r=   r    s      r   r7   BitParser._parse_bit@   sY    DKKNT[[^		Q	aK<<+++,,q/DKr   )r   r   r   N)__name__
__module____qualname____firstlineno__BitParserState__annotations__r   r   r   classmethodintstrr+   bytesr;   objectr7   __static_attributes__r   r   r   r   r   #   s     se^+,t33 ~ #) 3 4  *e * *
*F *t *r   r   c                   &   \ rS rSr% SS/r\\   \S'   \R                  \SS5        \R                  \SS5        \R                  \SS	5        \R                  \S
S5        \R                  \SS5        \R                  \SS5        \R                  \SS5        \R                  \SS5        \R                  \SS5        \R                  \SS5        \R                  \SS5        \R                  \SS5        \R                  \SS5        \R                  \SS5        \R                  \S S!5        \R                  \S"S#5        \R                  \S$S%5        \R                  \S&S'5        SS/r
\\   \S('   \R                  \
SS)5        \R                  \
SS*5        \R                  \
SS+5        \R                  \
SS,5        \R                  \
S-S.5        \R                  \
S/S05        \R                  \
S1S25        \R                  \
S3S45        \R                  \
S5S65        \R                  \
S7S85        \R                  \
S9S:5        \R                  \
S;S<5        \R                  \
S=S>5        \R                  \
S?S5        \R                  \
S@SA5        \R                  \
SBSC5        \R                  \
SDSE5        \R                  \
SFSG5        \R                  \
SHSI5        \R                  \
SJSK5        \R                  \
SLSM5        \R                  \
SNSO5        \R                  \
SPS5        \R                  \
SQSR5        \R                  \
SSST5        \R                  \
SUSV5        \R                  \
SWSX5        \R                  \
SYSZ5        \R                  \
S[S\5        \R                  \
S]S^5        \R                  \
S_S`5        \R                  \
SaSb5        \R                  \
ScSd5        \R                  \
SeSf5        \R                  \
SgSh5        \R                  \
SiSj5        \R                  \
SkSl5        \R                  \
SmSn5        \R                  \
SoSp5        \R                  \
SqSr5        \R                  \
SsSt5        \R                  \
SuSv5        \R                  \
SwSx5        \R                  \
SySz5        \R                  \
S{S|5        \R                  \
S}S~5        \R                  \
SS5        \R                  \
SS5        \R                  \
SS5        \R                  \
SS5        \R                  \
SS5        \R                  \
SS5        \R                  \
SS5        \R                  \
SS5        \R                  \
SS5        \R                  \
SS5        \R                  \
SS5        \R                  \
SS5        \R                  \
SS5        \R                  \
SS5        \R                  \
SS5        \R                  \
SS5        \R                  \
SS5        \R                  \
SS5        \R                  \
SS5        \R                  \
SS5        \R                  \
SS5        \R                  \
SS5        \R                  \
SS5        \R                  \
SS5        \R                  \
SS5        \R                  \
SS5        \R                  \
SS5        \R                  \
SS5        \R                  \
SS5        \R                  \
SS5        \R                  \
SS5        \R                  \
SS5        \R                  \
SS5        \R                  \
SS5        \R                  \
SS5        \R                  \
SS5        \R                  \
SS5        \R                  \
SS5        \R                  \
SS5        \R                  \
SS5        \R                  \
SS5        \R                  \
SS5        \R                  \
SS5        \R                  \
SS5        \R                  \
SS5        \R                  \
SS5        \R                  \
SS5        \R                  \
SS5        \R                  \
SS5        \R                  \
SS5        \R                  \
SS5        \R                  \
SS5        \R                  \
SS5        \R                  \
SS5        \R                  \
SS5        \R                  \
SS5        \R                  \
SS5        \R                  \
SS5        SS/r\\   \S'   \R                  \SS5        \R                  \SS	5        \R                  \SS5        \R                  \SS5        \R                  \S-S5        \R                  \S/S5        \R                  \S1S5        \R                  \S3S5        \R                  \S5S5        \R                  \S7S5        \R                  \S9SR5        \R                  \S;S5        \R                  \S=S5        \R                  \S?S~5        \R                  \S@S5        \R                  \SBS5        \R                  \SDGS 5        \R                  \SFGS5        \R                  \SHS5        \R                  \SJGS5        \R                  \SLGS5        \R                  \SNGS5        \R                  \SPGS5        \R                  \SQGS5        \R                  \SSGS5        \R                  \SUGS5        \R                  \SWGS	5        \R                  \SYGS
5        \R                  \S[GS5        \R                  \S]GS5        \R                  \S_GS5        \R                  \SaGS5        \R                  \ScGS5        \R                  \SeGS5        \R                  \SgGS5        \R                  \SiGS5        \R                  \SkGS5        \R                  \SmGS5        \R                  \SoGS5        \R                  \SqGS5        \R                  \SsGS5        \R                  \SuGS5        \R                  \SwGS5        \R                  \SyGS5        \R                  \S{GS5        \R                  \S}GS5        \R                  \SGS5        \R                  \SGS5        \R                  \SGS5        \R                  \SGS 5        \R                  \SGS!5        \R                  \SGS"5        \R                  \SGS#5        \R                  \SGS$5        \R                  \SGS%5        \R                  \SGS&5        \R                  \SGS'5        \R                  \SGS(5        \R                  \SGS)5        \R                  \SGS*5        \R                  \SGS+5        \R                  \SGS,5        \R                  \SGS-5        \R                  \SGS.5        \R                  \SS5        \R                  \SGS/5        \R                  \SGS05        \R                  \SGS15        \R                  \SGS25        \R                  \SGS35        \R                  \SGS45        \R                  \SGS55        \R                  \SGS65        \R                  \SGS75        \R                  \SGS85        \R                  \SGS95        \R                  \SGS:5        \R                  \SGS;5        \R                  \SGS<5        \R                  \SGS=5        \R                  \SGS>5        \R                  \SGS?5        \R                  \SGS@5        \R                  \SGSA5        \R                  \SGSB5        \R                  \SGSC5        \R                  \SGSD5        \R                  \SGSE5        \R                  \SGSF5        \R                  \SGSG5        \R                  \SGSH5        \R                  \SS5        \R                  \SS5        \R                  \SS5        \R                  \SS5        \R                  \SS5        \R                  \SS5        \R                  \SS5        \R                  \SS5        \R                  \SS5        \R                  \SS5        \R                  \SS5        \R                  \SS5        \R                  \SS5        SS/r\\   \GSI'   \R                  \SS5        \R                  \GSJGSJ5        \R                  \SS5        \R                  \SS5        \R                  \GSKGSK5        \R                  \GSLGSM5        \R                  \GSNS`5        \R                  \GSOS^5        \R                  \GSPGSQ5        \R                  \GSRGSS5        \R                  \GSTGSU5        \R                  \GSVGSW5        \R                  \GSXGSY5        \R                  \GSZGS[5         " GS\ GS]\5      r " GS^ GS_\5      r " GS` GSa\5      r " GSb GSc\5      r\\GSd'   GSGSe\GSf\GSgS4GSh jjrGSi\GSgS4GSj jrGSk\GSg\4GSl jrGSm\GSg\4GSn jrGSm\GSg\4GSo jrGSp\S-  GSg\4GSq jrGSg\4GSr jrGSs\GSg\4GSt jrGSGSu jr GSv\GSp\!\   GSgS4GSw jr"GSGSx jr#GSGSy jr$GSz\GSgS4GS{ jr%GSGS| jr&GS}\GS~\GSgS4GS jr'GSp\GSgS4GS jr(GSr)g(  CCITTG4ParserJ   NMODEr   r#   r$   011010h001r(   0001r6   000011000010   00000110000010u
0000001111x1
0000001000x2
0000001001x3
0000001010x4
0000001011x5
0000001100x6
0000001101x7
0000001110e000000000001000000000001WHITE0011010100011101111000r5   1011   1100   1110   1111r4   10011	   10100
   00111   01000   001000      110100   110101r3   101010   101011   0100111   0001100   0001000   0010111      0000100   0101000   0101011   0010011   0100100   0011000   00000010   00000011   00011010r2   00011011!   00010010"   00010011r   00010100$   00010101%   00010110&   00010111'   00101000(   00101001)   00101010*   00101011+   00101100,   00101101-   00000100.   00000101/   000010100   000010111   010100102   010100113   010101004   010101015   001001006   001001017   010110008   010110019   01011010:   01011011;   01001010<   01001011=   00110010>   00110011?   00110100r1   11011r0   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BLACK
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UNCOMPRESSED010000100000000001T00T10T000	000000011T100	000000010T0000
0000000011T1000
0000000010T0000000000000011T1000000000000010c                       \ rS rSrSrg)CCITTG4Parser.CCITTExceptioniC  r   NrD   rE   rF   rG   rO   r   r   r   CCITTExceptionr}  C      r   r  c                       \ rS rSrSrg)CCITTG4Parser.EOFBiF  r   Nr~  r   r   r   EOFBr  F  r  r   r  c                       \ rS rSrSrg)CCITTG4Parser.InvalidDataiI  r   Nr~  r   r   r   InvalidDatar  I  r  r   r  c                       \ rS rSrSrg)CCITTG4Parser.ByteSkipiL  r   Nr~  r   r   r   ByteSkipr  L  r  r   r  _colorwidth	bytealignr   c                 f    [         R                  U 5        Xl        X l        U R	                  5         g r   )r   r   r  r  reset)r   r  r  s      r   r   CCITTG4Parser.__init__Q  s#    4 
"

r   r   c                     [        U5       H   n S H  nU R                  X#-  5        M     M"     g ! U R                   a&    U R                  U l        U R
                  U l         MZ  U R                   a       g f = fr.   )r   r7   r  _parse_moder   rS   r   r  r8   s       r   r;   CCITTG4Parser.feedbytesW  si    dOD6AOODH- 7 $ == (#//"ii99 s   12A9&A98A9modec                    US:X  a,  U R                  5         U R                  5         U R                  $ US:X  aA  SU l        U R                  U l        U R                  (       a  U R                  $ U R                  $ US:X  a  U R                  U l        U R                  $ US:X  a  U R                  e[        U[        5      (       a-  U R                  U5        U R                  5         U R                  $ U R                  U5      e)Nr(   rW   r   ra   rq   )_do_pass_flush_linerS   _n1_parse_horiz1r   r  rs   r  _parse_uncompressedri  r  r@   rK   _do_verticalr  )r   r  s     r   r  CCITTG4Parser._parse_modeb  s    3;MMO99S[DH--DL{{zz!zz!S[33DL$$$S[))Oc""d#99""4((r   nc                     Uc  U R                   eU =R                  U-  sl        US:  a,  SU l        SU R                  -
  U l        U R                  U l        U R                  (       a  U R                  $ U R                  $ )Nr1   r   r$   )r  r  _n2r  _parse_horiz2r   rs   r  r   r  s     r   r  CCITTG4Parser._parse_horiz1z  se    9"""Ar6DHdkk/DK--DL;;::::r   c                 v   Uc  U R                   eU =R                  U-  sl        US:  ag  SU R                  -
  U l        U R                  U l        U R                  U R                  U R                  5        U R                  5         U R                  $ U R                  (       a  U R                  $ U R                  $ )Nr1   r$   )r  r  r  r  r   _do_horizontalr  r  rS   rs   r  r  s     r   r  CCITTG4Parser._parse_horiz2  s    9"""Ar6dkk/DK++DL$((399[[::::r   r!   c                    U(       d  U R                   eUR                  S5      (       aD  U R                  U l        [	        US   5      U l        U R                  USS  5        U R                  $ U R                  U5        U R                  $ )NTr$   r6   )	r  
startswithr  r   rK   r  _do_uncompressedrS   ri  )r   r!   s     r   r  !CCITTG4Parser._parse_uncompressed  st    """??3++DLd1g,DK!!$qr(+99!!$'$$$r   c                 `    SR                  S U R                  S U R                    5       5      $ )N c              3   8   #    U  H  n[        U5      v   M     g 7fr   rL   .0r)   s     r   	<genexpr>*CCITTG4Parser._get_bits.<locals>.<genexpr>  s     E'D!s1vv'D   )join_curline_curposr   s    r   	_get_bitsCCITTG4Parser._get_bits  s&    wwEt}}^t||'DEEEr   r*   c                    US:  a%  SSR                  S U R                   5       5      -   $ [        U R                  5      U::  a%  SR                  S U R                   5       5      S-   $ SR                  S U R                  S U  5       5      S-   [        U R                  U   5      -   S-   SR                  S	 U R                  US
-   S   5       5      -   $ )Nr   z[]r  c              3   8   #    U  H  n[        U5      v   M     g 7fr   r  r  s     r   r  -CCITTG4Parser._get_refline.<locals>.<genexpr>  s     !@-Q#a&&-r  c              3   8   #    U  H  n[        U5      v   M     g 7fr   r  r  s     r   r  r    s     9=a3q66=r  c              3   8   #    U  H  n[        U5      v   M     g 7fr   r  r  s     r   r  r    s     :(91A(9r  []c              3   8   #    U  H  n[        U5      v   M     g 7fr   r  r  s     r   r  r    s     A*@Q#a&&*@r  r$   )r  _refliner&   rL   )r   r*   s     r   _get_reflineCCITTG4Parser._get_refline  s    q5"''!@$--!@@@@1$7794==99D@@ :bq(9::dmmA&'(  ''A$--A*@AA	Br   c                     SU l         [        R                  " SS/U R                  -  5      U l        U R	                  5         U R
                  U l        U R                  U l        g )Nr   r)   r$   )	_yarrayr  r  _reset_liner  r   rS   r   r   s    r   r  CCITTG4Parser.reset  sJ    C!tzz)9:''iir   yc                 H    [        USR                  S U 5       5      5        g )Nr  c              3   8   #    U  H  n[        U5      v   M     g 7fr   r  r  s     r   r  ,CCITTG4Parser.output_line.<locals>.<genexpr>  s     .AQr  )printr  )r   r  r!   s      r   output_lineCCITTG4Parser.output_line  s    a.../r   c                     U R                   U l        [        R                  " SS/U R                  -  5      U l         SU l        SU l        g )Nr)   r$   rU   )r  r  r  r  r  r  r   s    r   r  CCITTG4Parser._reset_line  s8    C!tzz)9:r   c                 
   U R                   U R                  ::  ai  U R                  U R                  U R                  5        U =R                  S-  sl        U R                  5         U R                  (       a  U R                  eg g Nr$   )r  r  r  r  r  r  r  r  r   s    r   r  CCITTG4Parser._flush_line  s^    ::%TWWdmm4GGqLG~~mm# 	 &r   dxc                    U R                   S-   n US:X  a/  U R                  S:X  a  U R                  U   U R                  :w  a  O_OWU[        U R                  5      :X  d=  U R                  US-
     U R                  :X  a  U R                  U   U R                  :w  a  OUS-  nM  X!-  n[	        SU R                   5      n[	        S[        U R                  U5      5      nX#:  a,  [        X#5       H  nU R                  U R                  U'   M     O0X2:  a+  [        X25       H  nU R                  U R                  U'   M     X l         SU R                  -
  U l        g r?   )	r  r  r  r&   maxminr  r%   r  )r   r  rc   x0r=   s        r   r  CCITTG4Parser._do_vertical  s   \\AQw;;!#b(9T[[(Hs4==))b1f%4MM"%4!GB  	DLL!C

B'(72]#';;a  #W2]#';;a  #$++or   c                    U R                   S-   n US:X  a/  U R                  S:X  a  U R                  U   U R                  :w  a  O_OWU[        U R                  5      :X  d=  U R                  US-
     U R                  :X  a  U R                  U   U R                  :w  a  OUS-  nM   US:X  a/  U R                  S:X  a  U R                  U   U R                  :X  a  O_OWU[        U R                  5      :X  d=  U R                  US-
     U R                  :w  a  U R                  U   U R                  :X  a  OUS-  nM  [	        U R                   U5       H  nU R                  U R
                  U'   M     Xl         g r?   )r  r  r  r&   r%   r  )r   rc   r=   s      r   r  CCITTG4Parser._do_pass  s<   \\AQw;;!#b(9T[[(Hs4==))b1f%4MM"%4!GB  Qw;;!#b(9T[[(Hs4==))b1f%4MM"%4!GB  t||R(A#{{DMM! )r   n1n2c                    U R                   S:  a  SU l         U R                   n[        U5       H<  n[        U R                  5      U::  a    O"U R                  U R                  U'   US-  nM>     [        U5       H?  n[        U R                  5      U::  a    O%SU R                  -
  U R                  U'   US-  nMA     X0l         g )Nr   r$   )r  r%   r&   r  r  )r   r  r  r=   _s        r   r  CCITTG4Parser._do_horizontal  s    <<!DLLLrA4==!Q&#{{DMM!FA	 
 rA4==!Q& 4;;DMM!FA	 
 r   c                     U HJ  n[        U5      U R                  U R                  '   U =R                  S-  sl        U R                  5         ML     g r  )rK   r  r  r  )r   r!   cs      r   r  CCITTG4Parser._do_uncompressed  s<    A*-a&DMM$,,'LLAL r   )r   r  r  r  r  r  r  r   r  r  r  FrC   )*rD   rE   rF   rG   rS   r   rH   rI   r   r+   rs   r  ri  r
   r  r  r  r  rK   boolr   rM   r;   rN   r  r   r  r  rL   r  r  r  r  r   r  r  r  r  r  r  r  rO   r   r   r   rQ   rQ   J   s   &*D\D(>
"1MM$3MM$E"MM$E"MM$U#MM$V$MM$H%MM$H%MM$I&MM$I&MM$\*MM$l+MM$l+MM$l+MM$l+MM$l+MM$l+MM$l+MM$78'+TlE8N#2MM%J'MM%H%MM%F#MM%F#MM%F#MM%F#MM%F#MM%F#MM%G$MM%G$MM%W%MM%W%MM%X&MM%X&MM%X&MM%X&MM%X&MM%X&MM%Y'MM%Y'MM%Y'MM%Y'MM%Y'MM%Y'MM%Y'MM%Y'MM%Y'MM%Y'MM%Y'MM%Z(MM%Z(MM%Z(MM%Z(MM%Z(MM%Z(MM%Z(MM%Z(MM%Z(MM%Z(MM%Z(MM%Z(MM%Z(MM%Z(MM%Z(MM%Z(MM%Z(MM%Z(MM%Z(MM%Z(MM%Z(MM%Z(MM%Z(MM%Z(MM%Z(MM%Z(MM%Z(MM%Z(MM%Z(MM%Z(MM%Z(MM%Z(MM%Z(MM%Z(MM%Z(MM%W%MM%g&MM%h'MM%i(MM%j)MM%j)MM%j)MM%j)MM%j)MM%j)MM%k*MM%k*MM%k*MM%k*MM%k*MM%{+MM%{+MM%{+MM%{+MM%{+MM%{+MM%{+MM%{+MM%{+MM%{+MM%x(MM%{+MM%}-MM%}-MM%}-MM%~.MM%~.MM%~.MM%~.MM%~.MM%~.MM%~.MM%~.MM%~.MM%~.'+TlE8N#2MM%L)MM%E"MM%D!MM%D!MM%E"MM%F#MM%F#MM%G$MM%H%MM%H%MM%Y'MM%Y'MM%Y'MM%Z(MM%Z(MM%[)MM%\*MM%\*MM%\*MM%]+MM%]+MM%]+MM%]+MM%]+MM%]+MM%]+MM%^,MM%^,MM%^,MM%^,MM%^,MM%^,MM%^,MM%^,MM%^,MM%^,MM%^,MM%^,MM%^,MM%^,MM%^,MM%^,MM%^,MM%^,MM%^,MM%^,MM%^,MM%^,MM%^,MM%^,MM%^,MM%^,MM%^,MM%^,MM%^,MM%^,MM%^,MM%^,MM%^,MM%^,MM%^,MM%^,MM%^,MM%^,MM%\*MM%n-MM%n-MM%n-MM%n-MM%n-MM%n-MM%o.MM%o.MM%o.MM%o.MM%o.MM%o.MM%o.MM%o.MM%/MM%/MM%/MM%/MM%/MM%/MM%/MM%/MM%/MM%/MM%/MM%/MM%}-MM%}-MM%}-MM%~.MM%~.MM%~.MM%~.MM%~.MM%~.MM%~.MM%~.MM%~.MM%~..2D\L(>*9MM,S)MM,d+MM,u-MM,/MM,1MM,2MM,z2MM,z2MM,4MM,4MM,6MM,6MM,-8MM,-8 ~ n >  Kc d t 	e 	 	) )> )0s ~ s ~ 
%d
 
%~ 
%F3 Fc c  0S 0 0$ 0$&s &t &04 # $  S T  r   rQ   c            	       `    \ rS rSr  SS\S\S\SS4S jjrS\4S jrS	\S
\	\   SS4S jr
Srg)CCITTFaxDecoderi  r  r  reversedr   Nc                 F    [         R                  XUS9  X0l        SU l        g )Nr  r   )rQ   r   r  _buf)r   r  r  r  s       r   r   CCITTFaxDecoder.__init__  s#     	ti@ 	r   c                     U R                   $ r   )r  r   s    r   closeCCITTFaxDecoder.close  s    yyr   r  r!   c                 X   [         R                   " SS/[        U5      S-   S-  -  5      nU R                  (       a  U Vs/ s H  nSU-
  PM
     nn[        U5       H#  u  pTU(       d  M  X5S-  ==   SUS-     -  ss'   M%     U =R                  UR                  5       -  sl        g s  snf )NBr   r}   r4   r$   r/   )r  r&   r  	enumerater  tobytes)r   r  r!   arrr)   r*   s         r   r  CCITTFaxDecoder.output_line"  s    kk#ss4y1}&:;<==#'(4aAE4D(dODAqF<QUCC $ 			S[[]"		 )s    B')r  r  )FF)rD   rE   rF   rG   rK   r  r   rM   r  r   r  rO   r   r   r   r  r    s_      	  	
 
u #S # #$ #r   r  paramsc                 X   UR                  S5      nUS:X  ah  [        [        UR                  S5      5      n[        [        UR                  S5      5      n[        [        UR                  S5      5      n[	        X4US9nO[        U5      eUR                  U 5        UR                  5       $ )NKrU   ColumnsEncodedByteAlignBlackIs1)r  r  )getr	   rK   r  r  r   r;   r  )r   r  r  colsr  r  parsers          r   ccittfaxdecoder  ,  s    

3ABwCI./vzz*<=>	fjj45 XNA
T<<>r   argvc                 r   U SS  (       d  SS K nUR                  5         g  " S S[        5      nU SS   Hn  n[        US5       nUR	                  S5      u    pVpxnU" [        U5      5      n	U	R                  UR                  5       5        U	R                  5         S S S 5        Mp     g ! , (       d  f       M  = f)Nr$   r   c                   T    \ rS rSrSS\S\SS4S jjrS\S\\   SS4S	 jrSS
 jr	Sr
g)main.<locals>.ParseriA  r  r  r   Nc                 x    SS K n[        R                  XUS9  UR                  U R                  S45      U l        g )Nr   r  i  )pygamerQ   r   Surfacer  img)r   r  r  r  s       r   r   main.<locals>.Parser.__init__B  s1    ""4)"D~~tzz4&89DHr   r  r!   c                     [        U5       HH  u  p4U(       a  U R                  R                  X14S5        M+  U R                  R                  X14S5        MJ     g )N)   r
  r
  )r   r   r   )r  r  set_at)r   r  r!   r=   r)   s        r   r   main.<locals>.Parser.output_lineH  s=    !$HHOOQFO<HHOOQFI6	 (r   c                 X    SS K nUR                  R                  U R                  S5        g )Nr   zout.bmp)r  imagesaver  )r   r  s     r   r  main.<locals>.Parser.closeO  s    LLdhh	2r   )r  r  rC   )rD   rE   rF   rG   rK   r  r   r   r  r  rO   r   r   r   Parserr  A  s?    	:# 	:$ 	:4 	:	7 	7HSM 	7d 	7	3r   r  rb.)	unittestmainrQ   opensplitrK   r;   readr  )
r   r  r  pathfpr  _kw_hr  s
             r   r  r  :  s    83 3& QR$#'::c? QqaCF^FRWWY'LLN	  s   AB''
B6	)r  collections.abcr   r   r   r   typingr   r   r	   pdfminer.pdfexceptionsr
   r   rM   rK   r   rH   r   rQ   r  dictrL   rN   r  rA   r  r   r   r   <module>r"     s     I I  ?E hsm 
 !%
$* $*NGI GT#m #0
 
S&[(9 
e 
tCy T r   