ÿØÿà 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~d                 @   sT   d dl Z d dlZd dlZddgZG dd deZG dd dZedkrPee  dS )    NnetrcNetrcParseErrorc               @   s   e Zd ZdddZdd ZdS )r   Nc             C   s"   || _ || _|| _t| | d S )N)filenamelinenomsg	Exception__init__)selfr   r   r    r
   */opt/alt/python37/lib64/python3.7/netrc.pyr      s    zNetrcParseError.__init__c             C   s   d| j | j| jf S )Nz%s (%s, line %s))r   r   r   )r	   r
   r
   r   __str__   s    zNetrcParseError.__str__)NN)__name__
__module____qualname__r   r   r
   r
   r
   r   r   
   s   
c               @   s.   e Zd Zd
ddZdd Zdd Zdd	 ZdS )r   Nc          	   C   sX   |d k}|d kr&t jt jdd}i | _i | _t|}| ||| W d Q R X d S )N~z.netrc)ospathjoin
expanduserhostsmacrosopen_parse)r	   filedefault_netrcfpr
   r
   r   r      s    
znetrc.__init__c             C   s  t  |}| jd7  _|jdd|_x|j}|  }}|sFP n|d dkrv|j|kr,t|dkr,|j  q,n|dkr| }nx|dkrd}nj|dkr| }g | j	|< d	|_
x2|j }	|	r|	d
krd|_
P | j	| |	 qW q,ntd| ||jd}
d  }}i | j|< x| }|ds8|dkr||r\|
||f| j|< || P ntd||t|f ||jq|dks|dkr| }
q|dkr| }q|dkrtjdkr|rt| }|jt krzdd l}y||jd }W n  tk
r(   d|j }Y nX y|t d }W n" tk
rb   dt  }Y nX td||f ||j|jtjtjB @ rtd||j| }ntd| ||jqW q,W d S )Nz !"#$%&'()*+,-./:;<=>?@[\]^_`{|}~# r      machinedefaultmacdefz 	
z 	
zbad toplevel token %r>   r   r!   r   r    z&malformed %s entry %s terminated by %sloginuseraccountpasswordposixzuid %sz9~/.netrc file owner (%s) does not match current user (%s)zY~/.netrc access too permissive: access permissions must restrict access to only the ownerzbad follower token %r)shlexZ	wordcharsZ
commentersreplacer   Z	get_tokenlenZinstreamreadliner   Z
whitespaceappendr   r   
startswithZ
push_tokenreprr   namefstatfilenost_uidgetuidpwdgetpwuidKeyErrorst_modestatS_IRWXGS_IRWXO)r	   r   r   r   ZlexerZsaved_linenoZtoplevelttZ	entrynameliner#   r%   r&   Zpropr4   Zfownerr$   r
   r
   r   r       s    












znetrc._parsec             C   s0   || j kr| j | S d| j kr(| j d S d S d S )Nr    )r   )r	   hostr
   r
   r   authenticatorsq   s
    



znetrc.authenticatorsc             C   s   d}xf| j  D ]X}| j | }|d| d|d  d7 }|d rT|d|d  d7 }|d|d	  d7 }qW xF| j D ]8}|d
| d7 }x| j| D ]}||7 }qW |d7 }qxW |S )Nr   zmachine z
	login r   r"   r   z		account z
	password    zmacdef )r   keysr   )r	   Zrepr=   ZattrsZmacror<   r
   r
   r   __repr__z   s    
znetrc.__repr__)N)r   r   r   r   r   r>   rA   r
   r
   r
   r   r      s   
	Q	__main__)	r   r(   r8   __all__r   r   r   r   printr
   r
   r
   r   <module>   s
   t