£Á°èZ¨Ä…–K§‚«“ô4“ÒÙ´dîfUÙÃÅ WKbyÊ¦•êŽ…È®FÒ¿ÊÎóCozá¬S@6{Í:›œêZÌ:Š•_%:¢¾¾~;‘Ã~èŠ©ÊÇí`ÔÑ©úë™µ'5I¿fš×WO%ø9¾«¾DK|€ùÍD”Ýs]nHÕ¶ê×Ó¼ãžªéUWŸÈË%DÒÕ¬ï‘]/Åcx  ‰ï2ß]ä6G[]S£ÔÏ¯rs{úëóµmÒï#UQxo·õÞCe]"±/aÙ&Eã4ú9Jé_ÞåëdãöKë)AÞ                  ¯¹ægƒÛowÐø^d™ý½ßB7áyMä9ÜÖUã
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
<html>
3
nf\	                 @   s   d dl mZ d dlZd dlZd dlZd dlmZ ddlmZ ddl	m
Z
 ddlmZ ejdd	 Zd
d Zdd Zdd ZdddZdS )    )absolute_importN)BytesIO   )six)b)RequestFieldzutf-8   c              C   s$   t jtjd} tjr | jd} | S )zN
    Our embarrassingly-simple replacement for mimetools.choose_boundary.
       ascii)binasciiZhexlifyosurandomr   ZPY3decode)boundary r   /usr/lib/python3.6/filepost.pychoose_boundary   s    
r   c             c   sN   t | trtj| }nt| }x*|D ]"}t |tr:|V  q$tj| V  q$W dS )z
    Iterate over fields.

    Supports list of (k, v) tuples and dicts, and lists of
    :class:`~urllib3.fields.RequestField`.

    N)
isinstancedictr   	iteritemsiterr   Zfrom_tuples)fieldsifieldr   r   r   iter_field_objects   s    


r   c             C   s,   t | trdd tj| D S dd | D S )a-  
    .. deprecated:: 1.6

    Iterate over fields.

    The addition of :class:`~urllib3.fields.RequestField` makes this function
    obsolete. Instead, use :func:`iter_field_objects`, which returns
    :class:`~urllib3.fields.RequestField` objects.

    Supports list of (k, v) tuples and dicts.
    c             s   s   | ]\}}||fV  qd S )Nr   ).0kvr   r   r   	<genexpr>:   s    ziter_fields.<locals>.<genexpr>c             s   s   | ]\}}||fV  qd S )Nr   )r   r   r   r   r   r   r   <   s    )r   r   r   r   )r   r   r   r   iter_fields-   s    
r   c             C   s   t  }|dkrt }x|t| D ]p}|jtd|  t|j|j  |j}t|t	r^t
|}t|tjrzt|j| n
|j| |jd qW |jtd|  t
d| }|j |fS )aQ  
    Encode a dictionary of ``fields`` using the multipart/form-data MIME format.

    :param fields:
        Dictionary of fields or list of (key, :class:`~urllib3.fields.RequestField`).

    :param boundary:
        If not specified, then a random boundary will be generated using
        :func:`urllib3.filepost.choose_boundary`.
    Nz--%s
s   
z--%s--
z multipart/form-data; boundary=%s)r   r   r   writer   writerZrender_headersdatar   intstrr   Z	text_typegetvalue)r   r   Zbodyr   r"   Zcontent_typer   r   r   encode_multipart_formdata?   s     

r&   )N)Z
__future__r   r   codecsr   ior   Zpackagesr   Zpackages.sixr   r   r   lookupr!   r   r   r   r&   r   r   r   r   <module>   s   
