<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0-alpha1/dist/css/bootstrap.min.css" rel="stylesheet"
        integrity="sha384-GLhlTQ8iRABdZLl6O3oVMWSktQOp6b7In1Zl3/Jr59b6EGGoI1aFkw7cmDA6j6gD" crossorigin="anonymous">
    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.3.0/css/all.min.css"
        integrity="sha512-SzlrxWUlpfuzQ+pcUCosxcglQRNAq/DZjVsC0lE40xsADsfeQoEypE+enwcOiGjk/bSuGGKHEyjSoQ1zVisanQ=="
        crossorigin="anonymous" referrerpolicy="no-referrer" />
</head>
</html>
a
    XC?hM                     @   sj  d dl Z d dlZd dlZg dZeefZdd Zd?ddZd@dd	Z	d
d Z
dd ZeddZeddZdd Zdd ZdZdadadd ZdAddZdd ZdBddZdadadZdZdCdd Zdd ddd!d"d#Zddd$d%d&d'Zd(Zda da!da"dDd)d*Z#d+d, Z$d-Z%e%d. d/ Z&d0d1 Z'd2d3 Z(d4d5 Z)d6d7 Z*d8d9 Z+d:d; Z,d<d= Z-e.d>krfe,  dS )E    N)encodedecodeencodebytesdecodebytes	b64encode	b64decode	b32encode	b32decode	b16encode	b16decode	b85encode	b85decode	a85encode	a85decodestandard_b64encodestandard_b64decodeurlsafe_b64encodeurlsafe_b64decodec                 C   sx   t | tr2z| dW S  ty0   tdY n0 t | tr@| S zt|  W S  tyr   td| j	j
 d Y n0 d S )Nasciiz4string argument should contain only ASCII charactersz>argument should be a bytes-like object or ASCII string, not %r)
isinstancestrr   UnicodeEncodeError
ValueErrorbytes_types
memoryviewtobytes	TypeError	__class____name__s r!   +/opt/alt/python39/lib64/python3.9/base64.py_bytes_from_decode_data"   s    

r#   c                 C   s,   t j| dd}|d ur(|td|S |S )NF)newline   +/)binascii
b2a_base64	translatebytes	maketrans)r    altcharsencodedr!   r!   r"   r   3   s    r   Fc                 C   sN   t | } |d ur*t |}| t|d} |rDtd| sDtdt| S )Nr%   s   [A-Za-z0-9+/]*={0,2}zNon-base64 digit found)	r#   r(   r)   r*   re	fullmatchr&   Error
a2b_base64)r    r+   Zvalidater!   r!   r"   r   A   s    
r   c                 C   s   t | S N)r   r   r!   r!   r"   r   Z   s    r   c                 C   s   t | S r1   )r   r   r!   r!   r"   r   a   s    r   r%   s   -_c                 C   s   t | tS r1   )r   r(   _urlsafe_encode_translationr   r!   r!   r"   r   o   s    r   c                 C   s   t | } | t} t| S r1   )r#   r(   _urlsafe_decode_translationr   r   r!   r!   r"   r   x   s    
r   s    ABCDEFGHIJKLMNOPQRSTUVWXYZ234567c                    s>  t d u r,dd tD   fdd D a d  t| tsBt|  } t| d }|rb| dd|   } t }tj	}t }t
dt| dD ]V}|| ||d  d}|||d?  ||d	? d
@   ||d? d
@   ||d
@   7 }q|dkrd|dd < nF|dkrd|dd < n.|dkr d|dd < n|dkr6d|dd < t|S )Nc                 S   s   g | ]}t |fqS r!   r)   .0ir!   r!   r"   
<listcomp>       zb32encode.<locals>.<listcomp>c                    s   g | ]} D ]}|| qqS r!   r!   r6   abZb32tabr!   r"   r8      r9          r   big      i  
      s   ======i   s   ====   s   ===      =)_b32tab2_b32alphabetr   r   r   r   len	bytearrayint
from_bytesranger)   )r    leftoverr,   rQ   Zb32tab2r7   cr!   r=   r"   r      s<    




r   c              	   C   sx  t d u rdd ttD a t| } t| d r8td|d ur^t|}| t	dd| } |rj| 
 } t| }| d} |t|  }t }t }tdt| dD ]f}| ||d  }d}	z|D ]}
|	d	> ||
  }	qW n ty   td
d Y n0 ||	d	d7 }q|d s|dvr(td|rp|rp|	d	| K }	|	d	d}dd	|  d }|d | |dd < t|S )Nc                 S   s   i | ]\}}||qS r!   r!   )r6   kvr!   r!   r"   
<dictcomp>   r9   zb32decode.<locals>.<dictcomp>   zIncorrect paddings   01   OrJ   r   r>   zNon-base32 digit foundr@   >   r   rD   rG   rI      +   )_b32rev	enumeraterM   r#   rN   r&   r/   r(   r)   r*   upperrstriprO   rR   KeyErrorto_bytes)r    casefoldZmap01lZpadcharsdecodedZb32revr7   ZquantaaccrT   ZlastrS   r!   r!   r"   r	      s@    


r	   c                 C   s   t |  S r1   )r&   Zhexlifyr_   r   r!   r!   r"   r
      s    r
   c                 C   s4   t | } |r|  } td| r*tdt| S )Ns	   [^0-9A-F]zNon-base16 digit found)r#   r_   r-   searchr&   r/   Z	unhexlify)r    rc   r!   r!   r"   r      s    

r   s   <~s   ~>c           	         s   t | tst|  } t|  d }|r4| d|  } tdt| d  | } fdd|D }|r|s|d dkr d d	 |d< |d d |  |d< d
|S )NrI   r?   z!%dIc                    sP   g | ]H}r|sd n6r$|dkr$dn&|d  |d d    |d   qS )   zi       yi^	 U   i9  r!   )r6   Zwordcharschars2foldnuls
foldspacesr!   r"   r8   !  s   

z_85encode.<locals>.<listcomp>rK   rh   r   r>   r9   )	r   r   r   r   rN   structStructZunpackjoin)	r<   rl   rm   padrn   ro   paddingZwordschunksr!   rk   r"   	_85encode  s    
rv   )ro   wrapcolrs   adobec                   s   t d u r*dd tddD add tD a t| tt |d| |rHt   rt|rVdnd fd	dtd
t D }|rt|d d kr|d d| |r t	7   S )Nc                 S   s   g | ]}t |fqS r!   r4   r5   r!   r!   r"   r8   D  r9   za85encode.<locals>.<listcomp>!   v   c                 S   s   g | ]}t D ]}|| qqS r!   )	_a85charsr:   r!   r!   r"   r8   E  r9   TrE   rD   c                    s   g | ]} ||  qS r!   r!   r5   resultrw   r!   r"   r8   M  s   r   rK   r9      
)

_a85chars2rR   r{   rv   	_A85STARTmaxrN   appendrr   _A85END)r<   ro   rw   rs   rx   ru   r!   r|   r"   r   /  s$    

r   s    	
)ro   rx   ignorecharsc             	   C   s  t | } |rH| ts$tdt| tr<| dd } n| d d } tdj	}g }|j
}g }|j
}|j}	| d D ]}
d|
  krdkrn nj||
 t|dkrd	}|D ]}
d
| |
d  }qz||| W n tjy   tdd Y n0 |	  qv|
dkr|rtd|d qv|rF|
dkrF|r<td|d qv|
|v rTqvqvtd|
 qvd|}dt| }|r|d |  }|S )Nz1Ascii85 encoded byte sequences must end with {!r}rE   !Is   uuuury   u   r>   r   rj   zAscii85 overflowz   zz inside Ascii85 5-tuples       y   zy inside Ascii85 5-tuples       zNon-Ascii85 digit found: %cr9   rI   )r#   endswithr   r   format
startswithr   rp   rq   packr   clearrN   errorrr   )r<   ro   rx   r   packIre   Zdecoded_appendZcurrZcurr_appendZ
curr_clearxrf   r}   rt   r!   r!   r"   r   X  sZ    






r   sU   0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz!#$%&()*+-;<=>?@^_`{|}~c                 C   s2   t d u r$dd tD add tD a t| tt |S )Nc                 S   s   g | ]}t |fqS r!   r4   r5   r!   r!   r"   r8     r9   zb85encode.<locals>.<listcomp>c                 S   s   g | ]}t D ]}|| qqS r!   )	_b85charsr:   r!   r!   r"   r8     r9   )
_b85chars2_b85alphabetr   rv   )r<   rs   r!   r!   r"   r     s    	r   c           
   	   C   sF  t d u r,d gd a ttD ]\}}|t |< qt| } t|  d }| d|  } g }tdj}tdt| dD ]}| ||d  }d}z|D ]}|d t |  }qW nD t	y   t|D ]&\}}t | d u rt
d||  d q Y n0 z||| W qn tjy    t
d| d Y qn0 qnd	|}	|rB|	d |  }	|	S )
N   r>      ~r   r   rj   z#bad base85 character at position %dz+base85 overflow in hunk starting at byte %dr9   )_b85decr^   r   r#   rN   rp   rq   r   rR   r   r   r   r   rr   )
r<   r7   rT   rt   outr   chunkrf   jr}   r!   r!   r"   r     sH    



r   L   rI   rG   c                 C   sX   |  t}|sqTt|tk r>|  tt| }|s4q>||7 }qt|}|| q d S r1   )read
MAXBINSIZErN   r&   r'   write)inputoutputr    nsliner!   r!   r"   r     s    


r   c                 C   s(   |   }|sq$t|}|| q d S r1   )readliner&   r0   r   )r   r   r   r    r!   r!   r"   r     s
    
r   c              
   C   s   zt | }W n: tyF } z"d| jj }t||W Y d }~n
d }~0 0 |jdvrld|j| jjf }t||jdkrd|j| jjf }t|d S )Nz"expected bytes-like object, not %s)rT   r<   Bz-expected single byte elements, not %r from %srD   z(expected 1-D data, not %d-D data from %s)r   r   r   r   r   ndim)r    merrmsgr!   r!   r"   _input_type_check  s     

r   c                 C   sL   t |  g }tdt| tD ]$}| ||t  }|t| qd|S )Nr   r9   )r   rR   rN   r   r   r&   r'   rr   )r    piecesr7   r   r!   r!   r"   r     s    r   c                 C   s   t |  t| S r1   )r   r&   r0   r   r!   r!   r"   r     s    r   c            	   
   C   s6  dd l } dd l}z|| jdd  d\}}W nR |jy } z8| j| _t| td| jd   | d W Y d }~n
d }~0 0 t}|D ]@\}}|dkrt}|dkrt	}|dkrt	}|d	krt
   d S q|r |d d
kr t|d d}||| jj W d    n1 s0    Y  n|| jj| jj d S )Nr   rD   Zdeutzusage: %s [-d|-e|-u|-t] [file|-]
        -d, -u: decode
        -e: encode (default)
        -t: encode and decode string 'Aladdin:open sesame'rE   z-ez-dz-uz-t-rb)sysgetoptargvr   stderrstdoutprintexitr   r   testopenbufferstdin)	r   r   Zoptsargsr   funcor;   fr!   r!   r"   main  s(     0r   c                  C   s<   d} t t|  t| }t t| t|}t t| d S )Ns   Aladdin:open sesame)r   reprr   r   )Zs0s1s2r!   r!   r"   r   8  s    r   __main__)N)NF)FN)F)FFF)F)/r-   rp   r&   __all__r)   rO   r   r#   r   r   r   r   r*   r2   r3   r   r   rM   rL   r]   r   r	   r
   r   r{   r   r   r   rv   r   r   r   r   r   r   r   r   ZMAXLINESIZEr   r   r   r   r   r   r   r   r   r!   r!   r!   r"   <module>	   sX   

	&
C

)H
-	

