o
    - h                     @  s.  U d dl mZ d dlZd dlZd dlZd dlZd dlmZ d dlmZ ej	r2d dl
mZ ddlmZ daded	< G d
d dZe Zd6ddZd6ddZd7ddZd8ddZG dd dejZd9d%d&Zejd:d(d)Zejd;d+d)Zd<d-d)Zed.ZG d/d0 d0eje Zed1ej Z!d=d4d5Z"dS )>    )annotationsN)datetime)timezone)WSGIEnvironment   )Requestzlogging.Logger | None_loggerc                   @  s    e Zd ZdddZdddZdS )	_Missingreturnstrc                 C     dS )Nzno value selfr   r   Z/var/www/html/figdemos/bartoux_crm/venv/lib/python3.10/site-packages/werkzeug/_internal.py__repr__      z_Missing.__repr__c                 C  r   )N_missingr   r   r   r   r   
__reduce__   r   z_Missing.__reduce__Nr
   r   )__name__
__module____qualname__r   r   r   r   r   r   r	      s    
r	   sr   r
   c                 C  s   |  djddS )Nlatin1replace)errorsencodedecoder   r   r   r   _wsgi_decoding_dance   s   r!   c                 C  s   |   dS )Nr   r   r    r   r   r   _wsgi_encoding_dance!   s   r"   objWSGIEnvironment | Requestr   c                 C  s.   t | d| }t|tsJ t| jd|S )Nenvironz- is not a WSGI environment (has to be a dict))getattr
isinstancedicttyper   )r#   envr   r   r   _get_environ%   s   r+   loggerlogging.Loggerboolc                   sF   |    | }|r!t fdd|jD rdS |js	 dS |j}|sdS )znCheck if there is a handler in the logging chain that will handle
    the given logger's effective level.
    c                 3  s    | ]}|j  kV  qd S Nlevel).0handlerr0   r   r   	<genexpr>5   s    z%_has_level_handler.<locals>.<genexpr>TF)ZgetEffectiveLevelanyhandlersZ	propagateparent)r,   currentr   r0   r   _has_level_handler-   s   	r9   c                      s"   e Zd ZdZd fddZ  ZS )_ColorStreamHandlerz=On Windows, wrap stream with Colorama for ANSI style support.r
   Nonec                   s@   zdd l }W n ty   d }Y nw |tj}t | d S )Nr   )coloramaImportErrorZAnsiToWin32sysstderrsuper__init__)r   r<   stream	__class__r   r   rA   C   s   z_ColorStreamHandler.__init__)r
   r;   )r   r   r   __doc__rA   __classcell__r   r   rC   r   r:   @   s    r:   r)   messageargst.Anykwargsr;   c                 O  sb   t du rtda t jtjkrt tj tt st t	  t
t | | g|R i | dS )a  Log a message to the 'werkzeug' logger.

    The logger is created the first time it is needed. If there is no
    level set, it is set to :data:`logging.INFO`. If there is no handler
    for the logger's effective level, a :class:`logging.StreamHandler`
    is added.
    Nwerkzeug)r   loggingZ	getLoggerr1   ZNOTSETZsetLevelINFOr9   Z
addHandlerr:   r&   rstrip)r)   rG   rH   rJ   r   r   r   _logN   s   

$rO   dtc                 C     d S r/   r   rP   r   r   r   
_dt_as_utcd   r   rS   r   c                 C  rQ   r/   r   rR   r   r   r   rS   h   r   datetime | Nonec                 C  s@   | d u r| S | j d u r| jtjdS | j tjkr| tjS | S )N)tzinfo)rU   r   r   utc
astimezonerR   r   r   r   rS   l   s   
_TAccessorValuec                   @  s|   e Zd ZdZdZ					d*d+ddZd,ddZejd-ddZ	ejd.ddZ	d/d"dZ	d0d$d%Z
d1d&d'Zd2d(d)ZdS )3_DictAccessorPropertyz7Baseclass for `environ_property` and `header_property`.FNnamer   default_TAccessorValue | None	load_func)t.Callable[[str], _TAccessorValue] | None	dump_func)t.Callable[[_TAccessorValue], str] | None	read_onlybool | Nonedoc
str | Noner
   r;   c                 C  s0   || _ || _|| _|| _|d ur|| _|| _d S r/   )rZ   r[   r]   r_   ra   rE   )r   rZ   r[   r]   r_   ra   rc   r   r   r   rA      s   	
z_DictAccessorProperty.__init__instancerI   t.MutableMapping[str, t.Any]c                 C  s   t r/   )NotImplementedErrorr   re   r   r   r   lookup   r   z_DictAccessorProperty.lookupownerr)   &_DictAccessorProperty[_TAccessorValue]c                 C  rQ   r/   r   r   re   rj   r   r   r   __get__   s   z_DictAccessorProperty.__get__rX   c                 C  rQ   r/   r   rl   r   r   r   rm      r   t.Any | None8_TAccessorValue | _DictAccessorProperty[_TAccessorValue]c              	   C  sh   |d u r| S |  |}| j|vr| jS || j }| jd ur2z| |W S  ttfy1   | j Y S w |S r/   )ri   rZ   r[   r]   
ValueError	TypeError)r   re   rj   Zstoragevaluer   r   r   rm      s   




rr   c                 C  sF   | j rtd| jd ur| || || j< d S || || j< d S Nzread only property)ra   AttributeErrorr_   ri   rZ   )r   re   rr   r   r   r   __set__   s
   
z_DictAccessorProperty.__set__c                 C  s&   | j rtd| || jd  d S rs   )ra   rt   ri   poprZ   rh   r   r   r   
__delete__   s   z _DictAccessorProperty.__delete__c                 C  s   dt | j d| j dS )N< >)r)   r   rZ   r   r   r   r   r      s   z_DictAccessorProperty.__repr__)NNNNN)rZ   r   r[   r\   r]   r^   r_   r`   ra   rb   rc   rd   r
   r;   )re   rI   r
   rf   )re   r;   rj   r)   r
   rk   )re   rI   rj   r)   r
   rX   )re   rn   rj   r)   r
   ro   )re   rI   rr   rX   r
   r;   )re   rI   r
   r;   r   )r   r   r   rE   ra   rA   ri   toverloadrm   ru   rw   r   r   r   r   r   rY   {   s$    



	rY   z-?\d+rr   intc                 C  s"   |   } t| du rtt| S )zParse an int only if it is only ASCII digits and ``-``.

    This disallows ``+``, ``_``, and non-ASCII digits, which are accepted by ``int`` but
    are not allowed in HTTP header values.

    Any leading or trailing whitespace is stripped
    N)strip_plain_int_re	fullmatchrp   r}   )rr   r   r   r   
_plain_int   s   r   )r   r   r
   r   )r#   r$   r
   r   )r,   r-   r
   r.   )
r)   r   rG   r   rH   rI   rJ   rI   r
   r;   )rP   r;   r
   r;   )rP   r   r
   r   )rP   rT   r
   rT   )rr   r   r
   r}   )#
__future__r   rL   rer>   typingr{   r   r   TYPE_CHECKING_typeshed.wsgir   Zwrappers.requestr   r   __annotations__r	   r   r!   r"   r+   r9   ZStreamHandlerr:   rO   r|   rS   TypeVarrX   GenericrY   compileASCIIr   r   r   r   r   r   <module>   s8    






I