
    	^c                     j    d dl Z ddlmZ  ej        d          Zd eD             Zi Zd Zd
dZd	 Z	dS )    N   )pycompatsU   0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz!#$%&()*+-;<=>?@^_`{|}~c                 ,    g | ]}t           D ]}||z   S  )	_b85chars).0abs      7/usr/lib/python3/dist-packages/mercurial/pure/base85.py
<listcomp>r      s)    <<<!)<<Qq1u<<<<    c                  N    t          t                    D ]\  } }| t          |<   d S )N)	enumerater   _b85dec)ics     r   	_mkb85decr      s2    )$$  1

 r   Fc                     t          |           }|dz  }|r| dd|z
  z  z  } t          |           dz	  }t          j        d|z  |           }d                    d |D                       }|r|S |dz  }|r|dz  }||dz  dz  z  }|d	|         S )
zencode text in base85 format       r      >%dLr   c              3      K   | ]<}t           |d z  dz           t          |dz  dz           z   t          |dz           z   V  =dS )iU   i9  N)r   
_b85chars2)r   words     r   	<genexpr>zb85encode.<locals>.<genexpr>#   sn          	48#r)*
ddld*
+	,
TD[
!	"     r         N)lenstructunpackjoin)textpadlrlongswordsoutolens           r   	b85encoder+      s    D		A	AA  QIINEM'E/400E
((   	    C  
 q5D 	AFQJDuu:r   c                    t           st                       t          |           }g }t          dt          |           d          D ]}| ||dz            }t	          j        |          }d}t          |          D ]<\  }}	 |dz  t           |         z   }# t          $ r t          d||z   z            w xY w|dk    rt          d|z            |	                    |           |dz  }|r$|dd|z
  z  z  }|dk    r|d|d	z
  d
z  z	  z  }||d<   t          j        dt          |          z  g|R  }|r|dd|z
            }|S )zdecode base85-encoded textr   r   r   z#bad base85 character at position %dl    z+Base85 overflow in hunk starting at byte %dr   i r      r   N)r   r   r   ranger   bytestrr   KeyError
ValueErrorappendr    pack)	r#   r%   r)   r   chunkaccjr   cls	            r   	b85decoder9   5   s    D		A
C1c$ii##  QQY ''e$$ 	 	DAqBh+    9QUC   JQNOOO

3 
QB	 ra"f~668Q!|++CB
+gS*
1S
1
1
1C	 +a"fI+Js   ?B B3)F)
r     r   r0   r   r   r   r   r+   r9   r   r   r   <module>r;      s          H3 	 =<y<<<

  
   6" " " " "r   