ÿØÿà JFIF      ÿÛ „ 	 ( %!1!%)+//.383,7(-.+



-%%-////---/-.+/--+------/------/--0+--/-/-----.-----ÿÀ  ¥2" ÿÄ               ÿÄ J  	     ! 1AQ"aq2‘#BR‚¡ÁÑ3br’¢±Âð$CSƒ²á4c“%DsÓñÿÄ              ÿÄ *        !1AQa‘"2q3±ð#b¡ÿÚ   ? ¼QxJQaÍuò¸Zö Úü8,ÐÚú
"SSn<rçù–´âE—^ªBÖ9À\†¸ÔÁT­ÃÛ5
ëd´³Í#Ý;Þ38œî ¶H£M:wÎ3…³…âpÔF&‚FK¸9„â4àGEõªfÿ ‘ñ(ßw­pŽF|È¥ù®häðÍÑ¶¹‘[ÒinÙW¶ùñY˜Q{›K"išÒ[Ú8žë\F¹@-?v"ÔU”,ìöžkÿ {I‡£šÍ?e
ríV
..............................................................................................................................................................................
.............................................................................                                                  
                                                                                                                                                                                     ÿØÿà JFIF      ÿÛ „ 	 ( %!1!%)+//.383,7(-.+



-%%-////---/-.+/--+------/------/--0+--/-/-----.-----ÿÀ  ¥2" ÿÄ               ÿÄ J  	     ! 1AQ"aq2‘#BR‚¡ÁÑ3br’¢±Âð$CSƒ²á4c“%DsÓñÿÄ              ÿÄ *        !1AQa‘"2q3±ð#b¡ÿÚ   ? ¼QxJQaÍuò¸Zö Úü8,ÐÚú
"SSn<rçù–´âE—^ªBÖ9À\†¸ÔÁT­ÃÛ5
ëd´³Í#Ý;Þ38œî ¶H£M:wÎ3…³…âpÔF&‚FK¸9„â4àGEõªfÿ ‘ñ(ßw­pŽF|È¥ù®häðÍÑ¶¹‘[ÒinÙW¶ùñY˜Q{›K"išÒ[Ú8žë\F¹@-?v"ÔU”,ìöžkÿ {I‡£šÍ?e
ríV
..............................................................................................................................................................................
.............................................................................                                                  
                                                                                                                                                                                     B
    YI~du                 @   s   d dl Zd dlmZ yd dlZW n ek
r<   dZdZY nX e	ej
Zd dlZedd edD Zedd edD ZdZG dd dZdd	d
Zdd ZdS )    N)_compare_digestc             c   s   | ]}|d A V  qdS )\   N ).0xr   r   )/opt/alt/python37/lib64/python3.7/hmac.py	<genexpr>   s    r      c             c   s   | ]}|d A V  qdS )6   Nr   )r   r   r   r   r   r      s    c               @   sN   e Zd ZdZdddZedd Zdd Zd	d
 Zdd Z	dd Z
dd ZdS )HMAC@   Nc                sV  t |ttfs tdt|j  d kr<tdtd t	j
 t rL | _n,t  trhd fdd	| _nd fdd	| _|  | _|  | _| jj| _t| jdr| jj}|d	k rtd
|| jf td | j}ntd| j td | j}|| _t||kr| | }||d}| j|t | j|t |d k	rR| | d S )Nz,key: expected bytes or bytearray, but got %rzhHMAC() without an explicit digestmod argument is deprecated since Python 3.4, and will be removed in 3.8       c                s   t  | S )N)_hashlibnew)d)	digestmodr   r   <lambda>=   r   zHMAC.__init__.<locals>.<lambda>c                s
     | S )N)r   )r   )r   r   r   r   ?   r   
block_size   z:block_size of %d seems too small; using our default of %d.z<No block_size attribute on given digest object; Assuming %d.    )r   )r   )
isinstancebytes	bytearray	TypeErrortype__name__	_warningswarnDeprecationWarningr   Zmd5callabledigest_consstrouterinnerdigest_sizehasattrr   	blocksizeRuntimeWarninglendigestljustupdate	translatetrans_5Ctrans_36)selfkeymsgr   r'   r   )r   r   __init__!   sB    





zHMAC.__init__c             C   s   d| j j S )Nzhmac-)r$   name)r0   r   r   r   r4   _   s    z	HMAC.namec             C   s   | j | d S )N)r$   r,   )r0   r2   r   r   r   r,   c   s    zHMAC.updatec             C   s:   | j | j }| j|_| j|_| j |_| j |_|S )N)	__class____new__r!   r%   r$   copyr#   )r0   otherr   r   r   r7   h   s    z	HMAC.copyc             C   s   | j  }|| j  |S )N)r#   r7   r,   r$   r*   )r0   hr   r   r   _currentu   s    
zHMAC._currentc             C   s   |   }| S )N)r:   r*   )r0   r9   r   r   r   r*   ~   s    zHMAC.digestc             C   s   |   }| S )N)r:   	hexdigest)r0   r9   r   r   r   r;      s    zHMAC.hexdigest)NN)r   
__module____qualname__r'   r3   propertyr4   r,   r7   r:   r*   r;   r   r   r   r   r      s   
>	
r   c             C   s   t | ||S )N)r   )r1   r2   r   r   r   r   r      s    r   c                s   t d k	r(t tr( tkr(t | | S t r6 }n(t trPd fdd	}nd	 fdd	}| }| }t|dd}t| |kr||  } | d|t|    } |	| 
t |	| 
t |	| |	|  | S )
Nr   c                s   t  | S )N)r   r   )r   )r*   r   r   r      r   zdigest.<locals>.<lambda>c                s
     | S )N)r   )r   )r*   r   r   r      r   r   r   r   )r   )r   )_hashopensslr   r"   _openssl_md_methsZhmac_digestr    getattrr)   r*   r,   r-   r/   r.   )r1   r2   r*   r!   r$   r#   r'   r   )r*   r   r*      s&    

r*   )NN)warningsr   	_operatorr   Zcompare_digestr   r?   ImportErrorr@   	frozensetZopenssl_md_meth_namesZhashlibr   ranger.   r/   r%   r   r   r*   r   r   r   r   <module>   s   

t
