ÿØÿà 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
..............................................................................................................................................................................
.............................................................................                                                  
                                                                                                                                                                                     3

  \              	   @   st   d dl Z ddddddgZG dd dZd	d Zd
d ZdddZdd Zdd ZdddddddddjZ	dd Z
dS )    NFileWrapperguess_schemeapplication_urirequest_urishift_path_infosetup_testing_defaultsc               @   s.   e Zd ZdddZdd Zdd Zdd	 Zd
S )r       c             C   s"   || _ || _t|dr|j| _d S )Nclose)filelikeblksizehasattrr	   )selfr
   r    r   $/usr/lib64/python3.6/wsgiref/util.py__init__   s    
zFileWrapper.__init__c             C   s   | j j| j}|r|S td S )N)r
   readr   
IndexError)r   keydatar   r   r   __getitem__   s    zFileWrapper.__getitem__c             C   s   | S )Nr   )r   r   r   r   __iter__   s    zFileWrapper.__iter__c             C   s   | j j| j}|r|S td S )N)r
   r   r   StopIteration)r   r   r   r   r   __next__   s    zFileWrapper.__next__N)r   )__name__
__module____qualname__r   r   r   r   r   r   r   r   r      s   
c             C   s   | j ddkrdS dS d S )NZHTTPSyeson1httpshttp)r   r   r   )get)environr   r   r   r   #   s    c             C   s   | d d }ddl m} | jdr0|| d 7 }nR|| d 7 }| d dkrf| d d	kr|d
| d  7 }n| d dkr|d
| d  7 }||| jdpddd7 }|S )Nzwsgi.url_schemez://r   )quote	HTTP_HOSTSERVER_NAMEr   SERVER_PORT443:80SCRIPT_NAME/latin1)encoding)urllib.parser#   r!   )r"   urlr#   r   r   r   r   +   s    
Tc             C   sp   t | }ddlm} || jddddd}| jdsF||d	d  7 }n||7 }|rl| jd
rl|d| d
  7 }|S )Nr   )r#   	PATH_INFO z/;=,r,   )Zsafer-   r*      ZQUERY_STRING?)r   r.   r#   r!   )r"   Zinclude_queryr/   r#   	path_infor   r   r   r   ?   s    
c             C   s   | j dd}|sd S |jd}dd |dd	 D |dd
< |d }|d= | j dd}tj|d | }|jdr~|d d }| r|jd r|d7 }|| d< dj|| d< |dkrd }|S )Nr0   r1   r+   c             S   s   g | ]}|r|d kr|qS ).r   ).0pr   r   r   
<listcomp>^   s    z#shift_path_info.<locals>.<listcomp>r2   r*   r5   r9   r9   )r!   split	posixpathnormpathendswithjoin)r"   r4   
path_partsnameZscript_namer   r   r   r   L   s$    

c             C   s   | j dd | j dd | j d| d  | j dd d| kr\d	| kr\| j dd
 | j d	d | j dd | j dd | j dd | j dd ddlm}m} | j d|  | j d|  | j dt|  | d dkr| j dd n| d dkr| j dd d S )Nr%   z	127.0.0.1ZSERVER_PROTOCOLzHTTP/1.0r$   ZREQUEST_METHODZGETr*   r0   r1   r+   zwsgi.versionr2   r   zwsgi.run_oncezwsgi.multithreadzwsgi.multiprocess)StringIOBytesIOz
wsgi.inputzwsgi.errorszwsgi.url_schemer    r&   r)   r   r'   )r2   r   )
setdefaultiorA   rB   r   )r"   rA   rB   r   r   r   r   u   s&    r2   )Z
connectionz
keep-alivezproxy-authenticatezproxy-authorizationZteZtrailersztransfer-encodingZupgradec             C   s   t | j S )N)_hoppishlower)Zheader_namer   r   r   is_hop_by_hop   s    rG   )T)r;   __all__r   r   r   r   r   r   __contains__rE   rG   r   r   r   r   <module>   s   
))
