
    ;3hR                         d dl Z d dlmZmZmZmZmZmZmZm	Z	m
Z
mZ d dlmZmZ dedee   fdZee   Z G d d      Z G d	 d
e      Z G d de      Zdedeeef   defdZdee   ddfdZy)    N)
AnyCallableDictIteratorListMutableSequenceOptionalSequenceUnioncast)PDFExceptionPDFValueErrordatareturnc              #   $   K   | E d {    y 7 wN )r   s    N/var/www/html/audio-gradio/venv/lib/python3.12/site-packages/pdfminer/ccitt.py	get_bytesr      s     OOs   c            	           e Zd ZU eed<   eeegef      ed<   ddZe	dede
eef   deddfd	       Zd
eddfdZdeddfdZy)	BitParser_state_acceptr   Nc                     d| _         y )Nr   )_posselfs    r   __init__zBitParser.__init__0   s	    	    rootvbitsc                     |}d }t        t        |            D ])  }|dkD  r|J ||   d d g||<   ||   }||   dk(  rd}(d}+ |J |||<   y )Nr   1   )rangelen)clsr    r!   r"   pbis          r   addzBitParser.add3   s~     s4y! 		A1u}$}Q4< $<AaDaDAw#~		 }}!r   r   c                 Z    t        |      D ]  }dD ]  }| j                  ||z           y N   @                   r%   )r   
_parse_bitr   r   bytems       r   	feedbyteszBitParser.feedbytesD   s4    dO 	*D2 *q)*	*r   xc                     |r| j                   d   }n| j                   d   }| xj                  dz  c_        t        |t              r|| _         y | j                  J | j	                  |      | _         y Nr%   r   )r   r   
isinstancelistr   )r   r<   r!   s      r   r7   zBitParser._parse_bitI   s\    AAAA		Q	aDK<<+++,,q/DKr   r   N)__name__
__module____qualname__BitParserState__annotations__r	   r   r   r   classmethodr   intstrr,   bytesr;   objectr7   r   r   r   r   r   )   s     hun4566 ~ %S/     *e * *

*F 
*t 
*r   r   c                   H&   e Zd ZU 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dd       ej                  edd       ej                  edd       ej                  edd       ej                  edd       ej                  edd       ej                  edd       ej                  edd       ej                  edd       ej                  edd       ej                  edd       ej                  edd       ej                  edd       ej                  edd       ej                  edd       ej                  edd       ej                  edd       ej                  edd       ej                  edd       ej                  edd       ej                  edd       ej                  edd       ej                  edd       ej                  edd       ej                  edd       ej                  edd       ej                  edd       ej                  edd       ej                  edd       ej                  edd       ej                  edd       ej                  edd       ej                  edd       ej                  eddë       ej                  eddū       ej                  eddǫ       ej                  eddɫ       ej                  edd˫       ej                  eddͫ       ej                  eddϫ       ej                  eddѫ       ej                  eddӫ       ej                  eddի       ej                  edd׫       ej                  edd٫       ej                  edd۫       ej                  eddݫ       ej                  edd߫       ej                  edd       ej                  edd       ej                  edd       ej                  edd       ej                  edd       ej                  edd       ej                  edd       ej                  edd       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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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dd׫       ej                  edd٫       ej                  edd۫       ej                  eddݫ       ej                  edd߫       ej                  edd       ej                  edd       ej                  edd       ej                  edd       ej                  edd       ej                  edd       ej                  edd       ej                  edd       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 G d] d^e
      Zeed_<   d|d`edaedbdfdcZddedbdfdeZdfedbefdgZdhedbefdiZdhedbefdjZdkee   dbefdlZdbefdmZdnedbefdoZd}dpZdqedke e   dbdfdrZ!d}dsZ"d}dtZ#duedbdfdvZ$d}dwZ%dxedyedbdfdzZ&dkedbdfd{Z'y(~  CCITTG4ParserNr   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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"   00010011#   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
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.CCITTExceptionNrB   rC   rD   r   r   r   CCITTExceptionru  O      r   rw  c                       e Zd Zy)CCITTG4Parser.EOFBNrv  r   r   r   EOFBrz  R  rx  r   r{  c                       e Zd Zy)CCITTG4Parser.InvalidDataNrv  r   r   r   InvalidDatar}  U  rx  r   r~  c                       e Zd Zy)CCITTG4Parser.ByteSkipNrv  r   r   r   ByteSkipr  X  rx  r   r  _colorwidth	bytealignr   c                 j    t         j                  |        || _        || _        | j	                          y r   )r   r   r  r  reset)r   r  r  s      r   r   zCCITTG4Parser.__init__]  s'    4 
"

r   r   c                     t        |      D ]  }	 dD ]  }| j                  ||z            y # | j                  $ r% | j                  | _        | j
                  | _        Y U| j                  $ r Y  y w xY wr.   )r   r7   r  _parse_moder   MODEr   r{  r8   s       r   r;   zCCITTG4Parser.feedbytesc  su    dO 	D6 .AOOD1H-.	 == (#//"ii99 s   .1A3!A32A3modec                    |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)   rQ   r   r[   rk   )_do_pass_flush_liner  _n1_parse_horiz1r   r  WHITEBLACK_parse_uncompressedUNCOMPRESSEDr{  r?   rH   _do_verticalr~  )r   r  s     r   r  zCCITTG4Parser._parse_moden  s    3;MMO99S[DH--DL{{zz!zz!S[33DL$$$S[))Oc"d#99""4((r   nc                     || j                   | xj                  |z  c_        |dk  r,d| _        d| j                  z
  | _        | j                  | _        | j                  r| j                  S | j                  S )Nr1   r   r%   )r~  r  _n2r  _parse_horiz2r   r  r  r   r  s     r   r  zCCITTG4Parser._parse_horiz1  se    9"""Ar6DHdkk/DK--DL;;::::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 )Nr1   r%   )r~  r  r  r  r   _do_horizontalr  r  r  r  r  r  s     r   r  zCCITTG4Parser._parse_horiz2  s    9"""Ar6dkk/DK++DL$((399[[::::r   r"   c                    |s| j                   |j                  d      rD| j                  | _        t	        |d         | _        | j                  |dd         | j                  S | j                  |       | j                  S )NTr%   r6   )	r~  
startswithr  r   rH   r  _do_uncompressedr  r  )r   r"   s     r   r  z!CCITTG4Parser._parse_uncompressed  sq    """??3++DLd1g,DK!!$qr(+99!!$'$$$r   c                 `    dj                  d | j                  d | j                   D              S )N c              3   2   K   | ]  }t        |        y wr   rI   .0r*   s     r   	<genexpr>z*CCITTG4Parser._get_bits.<locals>.<genexpr>  s     E!s1vE   )join_curline_curposr   s    r   	_get_bitszCCITTG4Parser._get_bits  s&    wwEt}}^t||'DEEEr   r+   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r   r  r  s     r   r  z-CCITTG4Parser._get_refline.<locals>.<genexpr>  s     !@Q#a&!@r  c              3   2   K   | ]  }t        |        y wr   r  r  s     r   r  z-CCITTG4Parser._get_refline.<locals>.<genexpr>  s     9a3q69r  c              3   2   K   | ]  }t        |        y wr   r  r  s     r   r  z-CCITTG4Parser._get_refline.<locals>.<genexpr>  s     :1A:r  []c              3   2   K   | ]  }t        |        y wr   r  r  s     r   r  z-CCITTG4Parser._get_refline.<locals>.<genexpr>  s     AQ#a&Ar  r%   )r  _refliner'   rI   )r   r+   s     r   _get_reflinezCCITTG4Parser._get_refline  s    q5"''!@$--!@@@@1$7794==99D@@ :bq(9::dmmA&'(  ''A$--A*@AA	Br   c                     d| _         t        j                  ddg| j                  z        | _        | j	                          | j
                  | _        | j                  | _        y )Nr   r*   r%   )	_yarrayr  r  _reset_liner  r   r  r   r   s    r   r  zCCITTG4Parser.reset  sJ    C!tzz)9:''iir   yc                 H    t        |dj                  d |D                     y )Nr  c              3   2   K   | ]  }t        |        y wr   r  r  s     r   r  z,CCITTG4Parser.output_line.<locals>.<genexpr>  s     .AQ.r  )printr  )r   r  r"   s      r   output_linezCCITTG4Parser.output_line  s    a.../r   c                     | j                   | _        t        j                  ddg| j                  z        | _         d| _        d| _        y )Nr*   r%   rO   )r  r  r  r  r  r  r   s    r   r  zCCITTG4Parser._reset_line  s8    C!tzz)9:r   c                     | j                   | j                  k  rd| j                  | j                  | j                         | xj                  dz  c_        | j                          | j                  r| j                  y y Nr%   )r  r  r  r  r  r  r  r  r   s    r   r  zCCITTG4Parser._flush_line  s^    ::%TWWdmm4GGqLG~~mm# 	 &r   dxc                    | j                   dz   }	 |dk(  r,| j                  dk(  rq| j                  |   | j                  k7  rUnZ|t        | j                        k(  s;| 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  r  r  r'   maxminr  r&   r  )r   r  r]   x0r<   s        r   r  zCCITTG4Parser._do_vertical  s1   \\AQw;;!#b(9T[[(Hs4==))b1f%4MM"%4!GB  	bDLL!C

B'(72r] /#';;a /"W2r] /#';;a /$++or   c                    | j                   dz   }	 |dk(  r,| j                  dk(  rq| j                  |   | j                  k7  rUnZ|t        | j                        k(  s;| j                  |dz
     | j                  k(  r| j                  |   | j                  k7  rn|dz  }	 |dk(  r,| j                  dk(  rq| j                  |   | j                  k(  rUnZ|t        | j                        k(  s;| j                  |dz
     | j                  k7  r| j                  |   | j                  k(  rn|dz  }t	        | j                   |      D ]  }| j                  | j
                  |<    || _         y r>   )r  r  r  r'   r&   r  )r   r]   r<   s      r   r  zCCITTG4Parser._do_pass  sA   \\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                    | 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  r  )r   r  r  r<   _s        r   r  zCCITTG4Parser._do_horizontal	  s    <<!DLLLr 	A4==!Q&#{{DMM!FA		
 r 	A4==!Q&   !4;;DMM!FA		
 r   c                     |D ]I  }t        |      | j                  | j                  <   | xj                  dz  c_        | j                          K y r  )rH   r  r  r  )r   r"   cs      r   r  zCCITTG4Parser._do_uncompressed  sA     	A*-a&DMM$,,'LLAL	r   FrA   )(rB   rC   rD   r  r   r,   r  r  r  r   rw  r{  r~  r  rH   rF   boolr   rJ   r;   rK   rE   r  r   r  r  r	   rI   r  r  r  r  r
   r  r  r  r  r  r  r  r   r   r   rM   rM   V   sn   $<D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4LE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%~.4LE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%~.$<L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 ~ 
% 
%. 
%F3 Fc c  0S 0 0$ 0$&s &t &04 # $  S T r   rM   c            	       P    e Zd Z	 	 ddedededdfdZdefdZded	ee   ddfd
Z	y)CCITTFaxDecoderr  r  reversedr   Nc                 P    t         j                  | ||       || _        d| _        y )Nr  r   )rM   r   r  _buf)r   r  r  r  s       r   r   zCCITTFaxDecoder.__init__!  s'     	tUi@ 	r   c                     | j                   S r   )r  r   s    r   closezCCITTFaxDecoder.close+  s    yyr   r  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   rv   r4   r%   r/   )r  r'   r  	enumerater  tobytes)r   r  r"   arrr*   r+   s         r   r  zCCITTFaxDecoder.output_line.  s    kk#ss4y1}&:;<==#'(aAE(D(dO 	DDAqAF<QUCC	D 			S[[]"		 )s   B)FF)
rB   rC   rD   rH   r  r   rJ   r  r
   r  r   r   r   r  r     s_      	  	
 
u #S # #$ #r   r  paramsc                 ^   |j                  d      }|dk(  rlt        t        |j                  d            }t        t        |j                  d            }t        t        |j                  d            }t	        |||      }nt        |      |j                  |        |j                         S )NKrO   ColumnsEncodedByteAlignBlackIs1)r  r  )getr   rH   r  r  r   r;   r  )r   r  r  colsr  r  parsers          r   ccittfaxdecoder  8  s    

3ABwCI./vzz*<=>	fjj45 XNA
T<<>r   argvc                 R   | dd  sdd l }|j                          y  G d dt              }| dd  D ]v  }t        |d      }|j	                  d      \  }}}}}} |t        |            }	|	j                  |j                                |	j                          |j                          x y )Nr%   r   c                   D    e Zd Zd
dededdfdZdedee   ddfdZdd	Zy)main.<locals>.Parserr  r  r   Nc                     dd l }t        j                  | ||       |j                  | j                  df      | _        y )Nr   r  i  )pygamerM   r   Surfacer  img)r   r  r  r  s       r   r   zmain.<locals>.Parser.__init__N  s3    ""4)"D~~tzz4&89DHr   r  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_lineT  sH    !$ 71HHOOQFO<HHOOQFI6	7r   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    LLdhh	2r   r  rA   )	rB   rC   rD   rH   r  r   r
   r  r  r   r   r   Parserr  M  s?    	:# 	:$ 	:4 	:	7 	7HSM 	7d 	7	3r   r  rb.)	unittestmainrM   opensplitrH   r;   readr  )
r  r  r  pathfpr  kwrQ   r  s
             r   r  r  F  s    83 3& QR $!ZZ_Aq!QA#

r   )r  typingr   r   r   r   r   r   r	   r
   r   r   pdfminer.pdfexceptionsr   r   rJ   rH   r   rE   r   rM   r  rI   rK   r  r  r   r   r   <module>r     s       ?E hsm 
 !%
** **ZGI GT#m #0
 
S&[(9 
e 
 tCy  T  r   