U
    '1ej                     @   s@   d gZ ddlmZ ddlZeddZeddZG dd  d ZdS )		RL_Codecs    )
namedtupleNStdCodecDatazexceptions rexceptionsExtCodecDatazbaseName exceptions rexceptionsc                   @   s  e Zd Zedddddddddd	d
dddddddddddddddddddddddd"dddded d!d"d#d$d%d&d'd(d)d*d+d,d-d.d/d0d1d2d3d4d5d6d7d8d9d:d;d<d=d>d?d@ddAdBddCdDdEddFdGd dHdId d d dJd d d d d dKdLd dMdNdOdPdQd dd d dRdSdddTdUdVdddddddddWd dXddYdZddd[d\dd]ddd
d^d_d`dadbdcdddedfdgdhd didjdkdldmd	ddndodpdqdrdsdtdudv|d eddd d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d dYddZdwdddd[d\d dddd]d dddddd
d d dxdFd	ddndodpdGd dqdrd dsdtdudd d d d d d d d d d d d d d d d dHd dKd d d d dydIddLd d d d d dMd d d dmd d dzdNddDd d d d d{zd ed|d}d~dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d dddddYddddddddddddddddddWddddddddddddddddddddddddddddddddQddddddddddddddddddddddd d ddddddddd	d
ddddd dddddeddddddddddddd d!d"d#d$d%d&d'd(d)d*d+d,d-d.d/d0d1d2d3d4d5d6d7d8d9d:d;d<d=d>d?d@dAdBdCdDdEdFdGdHdIdJdKdLdMdNdOdPdQdRdSdTdUdVdWdXdYdZd[d\d]d^d_d`dadbdcdddedfdgdhdidjdkdldmdndodpdqd drdsdtdudvdwdxdydzd{d|d}d~dd d d d d d d d d d d d d d d d d d d ddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddÐdĐdŐdƐdǐdd dɐdʐdːd̐d͐dΐdϐdАdѐdҐdӐdԐdՐdd dלd edؐdِdڐdېdܐdݐdސdߐdddddddddddddddddddddddddddYdddd
dddddddd[d\dydddddmdzdddddodud	dpdsdtdqddCd eddddddddddddYddd dddddddd dd d	d d d d d
d d dddddddddd d d d d d dd[d\dddd ddddddddd d!d"d#d$d%d&d'd(d)d*d+d,d-d.d/d0d1d2d3d4d5d6d7d8d9d d d:d;d d d d d<d=d>d?d@dAdBdCdDdEdFdGdHdIdJdKdLdMdNdOdPdQdRdSdTd dUdVdWdXdYdZd[d d\d]d d^d d_d`dad dbdcddd ded d dfd dgdhdidjdkdldmdnd d d d d d dod d d d d dpdqdrd d d d dsd dtd dudvdwdxdydzd{d|d}d d~ddd d dddd d d d d dddddddddddd d d d dd dZdedd d iZg Zdd Ze	dd Z
e	eddfddZi Ze	eeedfddZe	dd Ze	dd Ze	dd Ze	dd Ze	dd Zd S (  r   "   i   i   i  i   i&   i    i!   i  i0   i`  i9   iR  i}  i   i   i   i   i   i   i  i"!  ia  i:   iS  i~  ix      )"                                                                                                      r   )r   r   r)   N                                                                                                                                                                        iD      i  i                                                  i1     i  i  i     i  i  i  )|r   r	   r
   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r    r!   r"   r#   r$   r%   r&   r'   r(   r)   rY   rb   rS      rK   rP   rT   r[   rZ      rN   rs   rJ         rO   rL   rc   rt      rU   r\            rX   r]   rf   rd   r^   r*   r+   rQ   r,   rh   r-   re   rg   rl   ri   rj   rk      r.   ro   rm   rn   r_   r/      rR   rr   rp   rq   r0         rM   r2   r1   r3   r5   r4   r6   rV   r7   r9   r8   r:   r;   r=   r<   r>   r?      r@   rB   rA   rC   rE   rD   r`   rW   rG   rF   rH   rI         ra   '   `   iA  iB  )zr   r   r   r	   r
   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r    r!   r"   r#   r$   r%   r&   r'   r(   r)   rb   ru   rP      rT   rZ   rv   rN   rs   rJ      rw   rx   rO      rc   rt   ry   rU   rz   r{   r|   r]   rf   rd   r^   r*   r+   rQ   r,   rh   r-   re   rg   rl   ri   rj   rk   r}   r.   ro   rm   rn   r_   r/   r~   rR   rr   rp   rq   r0   r   r   rM   r2   r1   r3   r5   r4   r6   rV   r7   r9   r8   r:   r;   r=   r<   r>   r?   r   r@   rB   rA   rC   rE   rD   r`   rW   rG   rF   rH   rI   r   r   ra   i "  i"  i"  i"  i"  iE"  i  i  i  i"  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i&!  i  i  i  i4"  i"  i  i  i  i  i  i  i  i  i  i  i  i  i  r   i  i  i  i  i  i  i  i  i  i  i  i  i  i<"  i  i2   id"  i"  ic&  if&  ie&  i`&  i!  i!  i!  i!  i!  i3   ie"  r~   i"  i"  i`"  ia"  iH"  i  i  i!  i5!  i!  i!  i!  i"  i"  i"  i)"  i*"  i"  i"  i"  i"  i"  i"  i	"  i "  i"  i  i  i  i"  i"  i"  i'"  i("  i!  i!  i!  i!  i!  i%  i)#  i  i  i  i"  i  i  i  i  i  i  i  i  i  i  i*#  i+"  i #  i  i!#  i  i  i  i  i  i  i  i  i  )"   $   r   *   -   @   A   B   C   D   E   F   G   H   I   J   K   L   M   N   O   P   Q   R   S   T   U   V   W   X   Y   Z   \   ^   r   a   b   c   d   e   f   g   h   i   j   k   l   m   n   o   p   q   r   s   t   u   v   w   x   y   z   ~   r   r	   r
   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r    r!   r"   r#   r$   r%   r&   r'   r(   r)   rY         rb   rS   ru   rK   rP   r   rT   r[   rZ   rv   rN   rs   rw   rx   rO   r   rL   rc   rt   ry   rU   r\   rz   r{   r|   rX   r]   rf   rd   r^   r*   r+   rQ   r,   rh   r-   re   rg   rl   ri   rj   rk   r}   r.   ro   rm   rn   r_   r/   r~   rR   rr   rp   rq   r0   r   r   rM   r2   r1   r3   r5   r4   r6   rV   r7   r9   r8   r:   r;   r=   r<   r>   r?   r   r@   rB   rA   rC   rE   rD   r`   rW   rG   rF   rH   rI   r   r   ra   r   r   r   )i  i  i  i'  i'  i'  i'  i&  i'  i'  i'  i	'  i&  i&  i'  i'  i'  i'  i'  i'  i'  i'  i'  i'  i'  i'  i'  i'  i'  i'  i'  i'  i'  i'  i '  i!'  i"'  i#'  i$'  i%'  i&'  i''  i&  i)'  i*'  i+'  i,'  i-'  i.'  i/'  i0'  i1'  i2'  i3'  i4'  i5'  i6'  i7'  i8'  i9'  i:'  i;'  i<'  i='  i>'  i?'  i@'  iA'  iB'  iC'  iD'  iE'  iF'  iG'  iH'  iI'  iJ'  iK'  i%  iM'  i%  iO'  iP'  iQ'  iR'  i%  i%  i%  iV'  i%  iX'  iY'  iZ'  i['  i\'  i]'  i^'  ih'  ii'  ij'  ik'  il'  im'  in'  io'  ip'  iq'  ir'  is'  it'  iu'  ia'  ib'  ic'  id'  ie'  if'  ig'  i`$  ia$  ib$  ic$  id$  ie$  if$  ig$  ih$  ii$  iv'  iw'  ix'  iy'  iz'  i{'  i|'  i}'  i~'  i'  i'  i'  i'  i'  i'  i'  i'  i'  i'  i'  i'  i'  i'  i'  i'  i'  i'  i'  i'  i'  i'  i!  i'  i'  i'  i'  i'  i'  i'  i'  i'  i'  i'  i'  i'  i'  i'  i'  i'  i'  i'  i'  i'  i'  i'  i'  i'  i'  i'  i'  i'  i'  i'  i'  i'  i'  i'  i'  i'  i'  )!   r   #   r   %   &   r   (   )   r   +   ,   r   .   /   0   1   2   3   4   5   6   7   8   9   :   ;   <   =   >   ?   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   [   r   ]   r   _   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   {   |   }   r   r   r	   r
   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r    r!   r"   r#   r$   r%   r&   r'   r(   r)   rY   r   r   rb   rS   ru   rK   rP   r   rT   r[   rZ   rv   rN   rs   rJ   r   rw   rx   rO   r   rL   rc   rt   ry   rU   r\   rz   r{   r|   rX   r]   rf   rd   r^   r*   r+   rQ   r,   rh   r-   re   rg   rl   ri   rj   rk   r}   r.   ro   rm   rn   r_   r/   r~   rR   rr   rp   rq   r0   r   r   rM   r2   r1   r3   r5   r4   r6   rV   r7   r9   r8   r:   r;   r=   r<   r>   r?   r   r@   rB   rA   rC   rE   rD   r`   rW   rG   rF   rH   rI   r   r   ra   r                                                               r(   rv   	   
      )Cr   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r(   rv   r   r   r   r	   r
   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r    r!   r"   r#   r$   r%   r&   r'   r)                           i!  i  i  i$  i  i&  i  i}   i~   i%   i$   i0  i1  i2  i3  i4  i5  i6  i7  i8  i9  i  i?  i  rz   r{   r|   i[!  i\!  i]!  i^!  iS!  iT!  i   i  i  i   i   i  i  i`  ia  ib  ic  id  ie  if  ig  ih  ii  ij  ik  il  im  in  io  ip  iq  ir  is  it  iu  iv  iw  ix  iy  iz  i   i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  ix   i   i   i   i   i   i  i  i   i  i  i  i   i  i  i  i  i  i   i   i  i  i  i  i   i  i  i  i   i  i  i  ry   rw   rx   it   iu   iv   iw   iy   ip   i  i  i  i  i  i  i  i  i  i  i  i   i  i  i  i  i  )r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r	   r
   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r    r!   r"   r#   r$   r%   r&   r'   r(   r)   rY   r   r   rb   rS   ru   rK   rP   r   rT   r[   rZ   rv   rN   rs   rJ   r   rw   rx   rO   r   rL   rc   rt   ry   rU   r\   rz   r{   r|   rX   r]   rf   rd   r^   r*   r+   rQ   r,   rh   r-   re   rg   rl   ri   rj   rk   r}   r.   ro   rm   rn   r_   r/   r~   rR   rr   rp   rq   r0   r   r   rM   r2   r1   r3   r5   r4   r6   rV   r7   r9   r8   r:   r;   r=   r<   r>   r?   r   r@   rB   rA   rC   rE   rD   r`   rW   rG   rF   rH   rI   r   r   ra   )ZwinansimacromanstandardsymbolZzapfdingbatspdfdocZ	macexpertZ	extpdfdocr	  c                 C   s   t d S N)NotImplementedError)self r  ?/tmp/pip-unpacked-wheel-109iniqw/reportlab/pdfbase/rl_codecs.py__init__  s    zRL_Codecs.__init__c                    s^   G  fdddt j}G dd d|t j}G dd d|t j}| }t j|j|j||| dS )Nc                       s0   e Zd ZdejfddZdej fddZdS )z'RL_Codecs._makeCodecInfo.<locals>.Codecstrictc                 S   s   ||||S r
  r  )r  inputerrorscharmap_encodeencoding_mapr  r  r  encode  s    z.RL_Codecs._makeCodecInfo.<locals>.Codec.encodec                 S   s   ||||S r
  r  )r  r  r  charmap_decodedecoding_mapr  r  r  decode  s    z.RL_Codecs._makeCodecInfo.<locals>.Codec.decodeN)__name__
__module____qualname__codecsr  r  r  r  r  r  r  r  r  Codec  s   r  c                   @   s   e Zd ZdS )z.RL_Codecs._makeCodecInfo.<locals>.StreamWriterNr  r  r  r  r  r  r  StreamWriter  s   r   c                   @   s   e Zd ZdS )z.RL_Codecs._makeCodecInfo.<locals>.StreamReaderNr  r  r  r  r  StreamReader  s   r!  )streamreaderstreamwritername)r  r  r   r!  	CodecInfor  r  )r$  r  r  r  r   r!  Cr  r  r  _makeCodecInfo  s
    zRL_Codecs._makeCodecInfo   c                 C   s:   t |}|| t |}|r,|| t| ||S r
  )r  make_identity_dictupdatemake_encoding_mapr   r'  )r$  
exceptionsrexceptionsZ	baseRanger  r  r  r  r  _256_exception_codec  s    


 
zRL_Codecs._256_exception_codecTc           	      C   s   z
||  W S  t k
r   | |kr||  }||j \}}|jr^|rX| }||j n|j}|jr|r~| }||j q|j}n||  \}}|rt| ||nt| ||pi  || < }Y nX |S r
  )	KeyErrorbaseNamer,  copyr*  r-  r   r.  r'  )	r$  cachedataZextension_codecs_256xercr  r  r  Z__rl_codecs  s&    
2zRL_Codecs.__rl_codecsc                 C   sf   |   } ddlm} |d D ],}|d d   }| |rt|  S q| tjkrbtj| ddS d S )Nr   )standardEncodings)ZExtPdfdocEncodingiF)r4  )lowerZreportlab.pdfbase.pdfmetricsr9  
startswithr   _RL_Codecs__rl_codecs_RL_Codecs__rl_dynamic_codecs)r$  r9  r6  r  r  r  
_rl_codecs3  s    
 
zRL_Codecs._rl_codecsc                   C   s   t tj d S r
  )r  registerr   r>  r  r  r  r  r?  >  s    zRL_Codecs.registerc                 C   s0   |   } t|  ||ftj| < tj|  d S r
  )r:  r   remove_dynamic_codec_RL_Codecs__rl_codecs_datar=  append)r$  r,  r-  r  r  r  add_dynamic_codecB  s    
zRL_Codecs.add_dynamic_codecc                 C   s>   |   } | tjkr:tj| d  tj| d  tj|  d S r
  )r:  r   r=  rA  pop_RL_Codecs__rl_codecs_cacheremove)r$  r  r  r  r@  I  s
    
zRL_Codecs.remove_dynamic_codecc                   C   s   t tjtj d S r
  )mapr   r@  r=  r  r  r  r  reset_dynamic_codecsQ  s    zRL_Codecs.reset_dynamic_codecs)r  r  r  r   rA  r   Z_RL_Codecs__rl_extension_codecsr=  r  staticmethodr'  ranger.  rE  r<  r>  r?  rC  r@  rH  r  r  r  r  r      s>  #
$}~{|  A  F  a  bGH  \              r 
)__all__collectionsr   r  r   r   r   r  r  r  r  <module>   s
   

