U af'!@sbdZddlmZddlmZddlmZmZmZm Z m Z ddl m Z ddl mZddlmZmZdd lmZmZmZmZmZmZdd lmZmZmZmZmZmZm Z m!Z!m"Z"m#Z#dd l$m%Z%m&Z&m'Z'm(Z(dd l)m*Z*eZ+Z,eZ-Z.eed dZ/GdddeZ0ddddddddddddddddd d!d"d#d$d%d&d'd(d)d*d+d,d-d.d/d0g!Z1e2ed1d2d3Z3e3e4Z5d4S)5z Classes Without Boilerplate )partial)Callable) converters exceptionsfilterssetters validators) cmp_using)Protocol)get_run_validatorsset_run_validators)asdictassocastupleevolvehas resolve_types) NOTHING Attribute ConverterFactoryattribattrsfields fields_dict make_classvalidate)definefieldfrozenmutable) VersionInfoT)Z auto_attribsc@s eZdZdS) AttrsInstanceN)__name__ __module__ __qualname__r'r'>/opt/nydus/tmp/pip-target-53d1vnqk/lib/python/attr/__init__.pyr#$sr#rrrrrrrattrr attributesrr rrrrrrrrr r ribrr!rsr rrr )mod_namereturncsttdfdd }|S)zp Create a metadata proxy for packaging information that uses *mod_name* in its warnings and errors. )namer.csx|dkr dd|}t|zddlm}Wn tk rPddlm}YnX|d}|dkrpt|dS|dS) N) __version____version_info__zmodule z has no attribute r)metadatarr1version)AttributeErrorimportlib.metadatar2 ImportErrorZimportlib_metadatar"Z_from_version_string)r/msgr2metar-r'r( __getattr__Ssz"_make_getattr..__getattr__)str)r-r:r'r9r( _make_getattrMsr<N)6__doc__ functoolsrtypingrrrrrr Z_cmpr Z_compatr _configr r Z_funcsrrrrrr_makerrrrrrrrrrZ _next_genrrr r!Z _version_infor"r,r*r+r)Z dataclassr#__all__r;r<r$r:r'r'r'r(sd     0   %