Your IP : 3.145.43.92


Current Path : /usr/lib64/python2.7/
Upload File :
Current File : //usr/lib64/python2.7/base64.pyo

�
zfc@s�dZddlZddlZddlZddlZddddddd	d
ddd
dddgZged�D]Zee�^qsZ	dZ
d�Zdd�Z
dd�Zd�Zd�Zejdd�Zejdd�Zd�Zd�Zi dd6dd6d d!6d"d#6d$d%6d&d'6d(d)6d*d+6d,d-6d.d/6d0d16d2d36d4d56d6d76d8d96d:d;6d<d=6d>d?6d@dA6dBdC6dDdE6dFdG6dHdI6dJdK6dLdM6dNdO6dPdQ6dRdS6dTdU6dVdW6dXdY6dZd[6Zej�Zej�geD]\ZZe^q�Zegej�D]\ZZeee�f^q%�Zd\�Ze dd]�Z!d^�Z"e d_�Z#d`Z$e$d=d5Z%da�Z&db�Z'dc�Z(dd�Z)de�Z*df�Z+e,dgkr�e*�ndS(hs/RFC 3548: Base16, Base32, Base64 Data Encodingsi����Ntencodetdecodetencodestringtdecodestringt	b64encodet	b64decodet	b32encodet	b32decodet	b16encodet	b16decodetstandard_b64encodetstandard_b64decodeturlsafe_b64encodeturlsafe_b64decodeitcCsJt}x*|j�D]\}}||t|�<qW|jdj|��S(NR(t_translationtitemstordt	translatetjoin(tstaltcharsttranslationtktv((s/usr/lib64/python2.7/base64.pyt
_translate!scCs@tj|�d }|dk	r<|jtjd|d ��S|S(slEncode a string using Base64.

    s is the string to encode.  Optional altchars must be a string of at least
    length 2 (additional characters are ignored) which specifies an
    alternative alphabet for the '+' and '/' characters.  This allows an
    application to e.g. generate url or filesystem safe Base64 strings.

    The encoded string is returned.
    i����s+/iN(tbinasciit
b2a_base64tNoneRtstringt	maketrans(RRtencoded((s/usr/lib64/python2.7/base64.pyR+scCsh|dk	r.|jtj|d d��}nytj|�SWn"tjk
rc}t|��nXdS(s�Decode a Base64 encoded string.

    s is the string to decode.  Optional altchars must be a string of at least
    length 2 (additional characters are ignored) which specifies the
    alternative alphabet used instead of the '+' and '/' characters.

    The decoded string is returned.  A TypeError is raised if s is
    incorrectly padded.  Characters that are neither in the normal base-64
    alphabet nor the alternative alphabet are discarded prior to the padding
    check.
    is+/N(RRRRRt
a2b_base64tErrort	TypeError(RRtmsg((s/usr/lib64/python2.7/base64.pyR<s"cCs
t|�S(syEncode a string using the standard Base64 alphabet.

    s is the string to encode.  The encoded string is returned.
    (R(R((s/usr/lib64/python2.7/base64.pyR
QscCs
t|�S(s-Decode a string encoded with the standard Base64 alphabet.

    Argument s is the string to decode.  The decoded string is returned.  A
    TypeError is raised if the string is incorrectly padded.  Characters that
    are not in the standard alphabet are discarded prior to the padding
    check.
    (R(R((s/usr/lib64/python2.7/base64.pyRXss+/s-_cCst|�jt�S(s�Encode a string using the URL- and filesystem-safe Base64 alphabet.

    Argument s is the string to encode.  The encoded string is returned.  The
    alphabet uses '-' instead of '+' and '_' instead of '/'.
    (RRt_urlsafe_encode_translation(R((s/usr/lib64/python2.7/base64.pyRescCst|jt��S(s�Decode a string using the URL- and filesystem-safe Base64 alphabet.

    Argument s is the string to decode.  The decoded string is returned.  A
    TypeError is raised if the string is incorrectly padded.  Characters that
    are not in the URL-safe base-64 alphabet, and are not a plus '+' or slash
    '/', are discarded prior to the padding check.

    The alphabet uses '-' instead of '+' and '_' instead of '/'.
    (RRt_urlsafe_decode_translation(R((s/usr/lib64/python2.7/base64.pyR
ms
tAitJi	tSit3itBitKi
tTit4itCitLitUit5itDitMitVit6itEitNi
tWit7itFitOitXitGitPitYitHitQitZitIitRit2ic	Cs�g}tt|�d�\}}|rF|dd|7}|d7}nx�t|�D]�}tjd||d|dd!�\}}}||d@d>7}||d@d>7}|jt|d?t|d	?d
@t|d?d
@t|d?t|d?d
@t|d
?d
@t|d?t|d
@g�qSWtj|�}|dkrK|d dS|d
krc|d dS|dkr{|d dS|dkr�|d dS|S(scEncode a string using Base32.

    s is the string to encode.  The encoded string is returned.
    isis!HHBiiiiiiiiii����s======i����s====i����s===ii����t=(	tdivmodtlentrangetstructtunpacktextendt_b32tabtEMPTYSTRINGR(	Rtpartstquantatleftovertitc1tc2tc3R((s/usr/lib64/python2.7/base64.pyR�s6
.c
Cs
tt|�d�\}}|r0td��n|rX|jtjdd|��}n|rm|j�}nd}tjd|�}|r�t|j	d��}|dkr�|| }q�ng}d}d}	x�|D]�}
t
j|
�}|dkrtd	��n|t
|
|	>7}|	d
8}	|	dkr�|j
tjd|��d}d}	q�q�Wtjd|�}|dkr�d}np|d
kr�|d }nW|dkr�|d }n>|dkr�|d }n%|dkr�|d }ntd��|j
|�tj|�S(sGDecode a Base32 encoded string.

    s is the string to decode.  Optional casefold is a flag specifying whether
    a lowercase alphabet is acceptable as input.  For security purposes, the
    default is False.

    RFC 3548 allows for optional mapping of the digit 0 (zero) to the letter O
    (oh), and for optional mapping of the digit 1 (one) to either the letter I
    (eye) or letter L (el).  The optional argument map01 when not None,
    specifies which letter the digit 1 should be mapped to (when map01 is not
    None, the digit 0 is always mapped to the letter O).  For security
    purposes the default is None, so that 0 and 1 are not allowed in the
    input.

    The decoded string is returned.  A TypeError is raised if s were
    incorrectly padded or if there are non-alphabet characters present in the
    string.
    isIncorrect paddingt01R;is(?P<pad>[=]*)$tpadi#sNon-base32 digit foundis%010xRii����ii����ii����ii����N(RGRHR"RRRtuppertretsearchtgroupt_b32revtgetRtappendRt	unhexlifyRNR(
Rtcasefoldtmap01RPRQtpadcharstmoROtacctshifttctvaltlast((s/usr/lib64/python2.7/base64.pyR�sP"


	




cCstj|�j�S(scEncode a string using Base16.

    s is the string to encode.  The encoded string is returned.
    (RthexlifyRX(R((s/usr/lib64/python2.7/base64.pyRscCsC|r|j�}ntjd|�r6td��ntj|�S(suDecode a Base16 encoded string.

    s is the string to decode.  Optional casefold is a flag specifying whether
    a lowercase alphabet is acceptable as input.  For security purposes, the
    default is False.

    The decoded string is returned.  A TypeError is raised if s is
    incorrectly padded or if there are non-alphabet characters present in the
    string.
    s	[^0-9A-F]sNon-base16 digit found(RXRYRZR"RR_(RR`((s/usr/lib64/python2.7/base64.pyR	
s
iLcCs�x�tr�|jt�}|s"PnxCt|�tkrg|jtt|��}|sZPn||7}q%Wtj|�}|j|�qWdS(sEncode a file.N(tTruetreadt
MAXBINSIZERHRRtwrite(tinputtoutputRtnstline((s/usr/lib64/python2.7/base64.pyR$s	cCsCx<tr>|j�}|sPntj|�}|j|�qWdS(sDecode a file.N(RjtreadlineRR Rm(RnRoRqR((s/usr/lib64/python2.7/base64.pyR3s	cCs]g}xGtdt|�t�D]-}|||t!}|jtj|��qWdj|�S(s4Encode a string into multiple lines of base-64 data.iR(RIRHRlR^RRR(RtpiecesRRtchunk((s/usr/lib64/python2.7/base64.pyR=s
cCs
tj|�S(sDecode a string.(RR (R((s/usr/lib64/python2.7/base64.pyRFsc	CsQddl}ddl}y#|j|jdd�\}}WnD|jk
r�}|j|_|GHd|jdGH|jd�nXt}xj|D]b\}}|dkr�t}n|d	kr�t}n|d
kr�t}n|dkr�t	�dSq�W|r:|ddkr:t
|dd
��}|||j�WdQXn||j|j�dS(sSmall test programi����Nitdeuts�usage: %s [-d|-e|-u|-t] [file|-]
        -d, -u: decode
        -e: encode (default)
        -t: encode and decode string 'Aladdin:open sesame'iis-es-ds-us-tt-trb(tsystgetopttargvterrortstderrtstdouttexitRRttest1topentstdin(	RxRytoptstargsR#tfunctotatf((s/usr/lib64/python2.7/base64.pyttestMs.#			cCs5d}t|�}t|�}|Gt|�G|GHdS(NsAladdin:open sesame(RRtrepr(ts0ts1ts2((s/usr/lib64/python2.7/base64.pyRgst__main__(-t__doc__RYRJRRt__all__RIt_xtchrRRNRRRRR
RRR$R%RR
t_b32alphabetRRMtsortRRtdicttlongR\RtFalseRRR	tMAXLINESIZERlRRRRR�Rt__name__(((s/usr/lib64/python2.7/base64.pyt<module>s`%	
		
		
7	*J			
					

?>