
    ")f                     6   d Z ddlmZ ddlmZ ddlmZmZmZm	Z	m
Z
 ddlmZ ddlmZ ddlmZmZ dd	lmZmZmZmZmZmZ dd
lmZmZmZmZmZmZm Z m!Z!m"Z" ddl#m$Z$m%Z%m&Z&m'Z' ddl(m)Z) exZ*Z+exZ,Z- eed      Z. G d de      Z/g dZ0de1defdZ2 e2e3      Z4y)z
Classes Without Boilerplate
    )partial)Callable   )
converters
exceptionsfilterssetters
validators)	cmp_using)Protocol)get_run_validatorsset_run_validators)asdictassocastupleevolvehasresolve_types)	NOTHING	AttributeFactoryattribattrsfieldsfields_dict
make_classvalidate)definefieldfrozenmutable)VersionInfoT)auto_attribsc                       e Zd Zy)AttrsInstanceN)__name__
__module____qualname__     J/var/www/html/flask-app/venv/lib/python3.12/site-packages/attr/__init__.pyr%   r%   #   s    r*   r%   ) r   r%   r   r   r   r   r   attrr   
attributesr   r   r   r   r   r   r   r   r   r   r    r   r   ibr   r!   r   sr   r	   r   r
   mod_namereturnc                 ,     dt         dt         f fd}|S )zp
    Create a metadata proxy for packaging information that uses *mod_name* in
    its warnings and errors.
    namer1   c                    ddddddddddd
}| |vrd d|  }t        |      d	d l}d	d l}|j                  d
k  rd	dlm} nd	dlm} | dvr|j                  d d|  dt        d        |d      }| dk(  ry| dk(  ry| dv r|d   j                  dd      d   S | dk(  rt        j                  |d         S | dk(  r|d   j                  dd      d	   S | dk(  r|d   j                  d d      d   d d S |||       S )!NName versionsummarylicense)
	__title____copyright____version____version_info____description____uri____url__
__author__	__email____license__zmodule z has no attribute r   )      )metadata)r<   r=   z
Accessing .z is deprecated and will be removed in a future release. Use importlib.metadata directly to query for attrs's packaging metadata.   )
stacklevelr   rC   MITr;   z"Copyright (c) 2015 Hynek Schlawack)r?   r@   zProject-URL r   r=   rA   zAuthor-emailrB   <)AttributeErrorsyswarningsversion_infoimportlib_metadatarF   importlib.metadatawarnDeprecationWarningsplitr"   _from_version_stringrsplit)r3   dunder_to_metadatamsgrO   rP   rF   metar0   s          r+   __getattr__z"_make_getattr.<locals>.__getattr__Q   sm   $ )($
 ))H:%7v>C %%f$33::MMXJav .; ; #    = ?"7))&,,S!4R88%%33DODD<'..sA6q99;'..sA6q9#2>>&t,--r*   )str)r0   r\   s   ` r+   _make_getattrr^   K   s    0.# 0.# 0.d r*   N)5__doc__	functoolsr   typingr   r6   r   r   r   r	   r
   _cmpr   _compatr   _configr   r   _funcsr   r   r   r   r   r   _maker   r   r   r   r   r   r   r   r   	_next_genr   r   r    r!   _version_infor"   r/   r-   r.   r,   	dataclassr%   __all__r]   r^   r&   r\   r)   r*   r+   <module>rk      s      B B   ; F F
 
 
 6 5 &  J TE-		H 	!H8C 8H 8v H%r*   