
    eg	                         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
 Zd Zd ZddZy)    )absolute_importN)BytesIO   )RequestField)six)bzutf-8   c                      t        j                  t        j                  d            } t        j
                  s| j                  d      } | S )zN
    Our embarrassingly-simple replacement for mimetools.choose_boundary.
       ascii)binasciihexlifyosurandomr   PY2decode)boundarys    y/var/www/html/FastMealFinder_FlaskServer-InitialRelease/venv/lib/python3.12/site-packages/pip/_vendor/urllib3/filepost.pychoose_boundaryr      s6     

2/H77??7+O    c              #      K   t        | t              rt        j                  |       }nt	        |       }|D ]+  }t        |t
              r| t        j                  |  - yw)z
    Iterate over fields.

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

    N)
isinstancedictr   	iteritemsiterr   from_tuples)fieldsifields      r   iter_field_objectsr       sX      &$MM&!L 3e\*K**E22	3s   A#A%c                 l    t        | t              rd t        j                  |       D        S 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              3   *   K   | ]  \  }}||f  y wN .0kvs      r   	<genexpr>ziter_fields.<locals>.<genexpr>:   s     941aA9   c              3   *   K   | ]  \  }}||f  y wr#   r$   r%   s      r   r)   ziter_fields.<locals>.<genexpr><   s     &tq!QF&r*   )r   r   r   r   )r   s    r   iter_fieldsr,   -   s-     &$93==#899&v&&r   c                 N   t               }|
t               }t        |       D ]  }|j                  t	        d|z               t        |      j                  |j                                |j                  }t        |t              rt        |      }t        |t        j                        rt        |      j                  |       n|j                  |       |j                  d        |j                  t	        d|z               t        d|z        }|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`.
    z--%s
s   
z--%s--
z multipart/form-data; boundary=%s)r   r   r    writer   writerrender_headersdatar   intstrr   	text_typegetvalue)r   r   bodyr   r1   content_types         r   encode_multipart_formdatar8   ?   s     9D"$#F+ 

1Z8,-.t5//12zzdC t9DdCMM*4Lt$JJt

7  	JJq*+,9HDEL==?L((r   r#   )
__future__r   r   codecsr   ior   r   r   packagesr   packages.sixr   lookupr/   r   r    r,   r8   r$   r   r   <module>r?      sF    &   	     	w		"3('$#)r   