U q`@sddlZddlZddlZddlZddlZGdddeZeZeZeZ e e dddZ e e dddZ e d d d Zd d ZddZd$eejee dddZGdddeZddZddddZGdddeZGdddeZdd Zd!d"Zeejed#e ZdS)%Nc@s eZdZdS)CryptographyDeprecationWarningN__name__ __module__ __qualname__rr9/tmp/pip-target-nv4zd3e_/lib/python/cryptography/utils.pyrsrnamevaluecCst|tstd|dS)Nz{} must be bytes) isinstancebytes TypeErrorformatr rrr _check_bytess rcCs4z t|Wn"tk r.td|YnXdS)Nz{} must be bytes-like) memoryviewrrr rrr_check_byteslike s rr cstfddS)Ncs t|SN)getattrselfrrr(z$read_only_property..)propertyrrrrread_only_property'srcsddfdd }|S)NFcheck_annotationscst||d||SNrverify_interfaceregisterklassrifacerrregister_decorator,s z.register_interface..register_decoratorr)r%r&rr$rregister_interface+sr'csddfdd }|S)NFrcs rt||d||Srrr"r% predicaterrr&5s z1register_interface_if..register_decoratorr)r)r%r&rr(rregister_interface_if4sr*)integerlengthreturncCs ||p|ddpddS)Nbig)to_bytes bit_length)r+r,rrr int_to_bytes>sr4c@s eZdZdS)InterfaceNotImplementedNrrrrrr5Dsr5cCstdd|jDS)NcSsg|]}|jtjjdqS)) annotation)replaceinspect Parameterempty).0paramrrr Jsz$strip_annotation..)r8 Signature parametersvalues) signaturerrrstrip_annotationHs rBFrcCs|jD]}t||s$td||tt||tjr8qt t||}t t||}|rf||k}nt |t |k}|std||||qdS)Nz{} is missing a {!r} methodzK{}.{}'s signature differs from the expected. Expected: {!r}. Received: {!r}) __abstractmethods__hasattrr5rr rabcabstractpropertyr8rArB)r%r#rmethodsigactualokrrrr Qs*    r c@seZdZddZdS)_DeprecatedValuecCs||_||_||_dSr)r message warning_class)rr rLrMrrr__init__hsz_DeprecatedValue.__init__N)rrrrNrrrrrKgsrKc@s4eZdZddZddZddZddZd d Zd S) _ModuleWithDeprecationscCs||jd<dSN_module)__dict__)rmodulerrrrNosz _ModuleWithDeprecations.__init__cCs4t|j|}t|tr0tj|j|jdd|j}|SN) stacklevel) rrQr rKwarningswarnrLrMr rattrobjrrr __getattr__rs   z#_ModuleWithDeprecations.__getattr__cCst|j||dSr)setattrrQ)rrZr rrr __setattr__ysz#_ModuleWithDeprecations.__setattr__cCs:t|j|}t|tr*tj|j|jddt|j|dSrT) rrQr rKrWrXrLrMdelattrrYrrr __delattr__|s  z#_ModuleWithDeprecations.__delattr__cCsdgt|jSrP)dirrQrrrr__dir__sz_ModuleWithDeprecations.__dir__N)rrrrNr\r^r`rbrrrrrOns rOcCs.tj|}t|ts"t|tj|<t|||Sr)sysmodulesr rOrK)r module_namerLrMrSrrr deprecateds    rfcs(dtfdd}t|S)Nz _cached_{}cs0t|}|k r|S|}t|||Sr)rr])instancecacheresultZ cached_namefuncsentinelrrinners   zcached_property..inner)robjectr)rkrmrrjrcached_propertys roz8int_from_bytes is deprecated, use int.from_bytes instead)N) rEr8rctypingrW UserWarningrZPersistentlyDeprecated2017ZPersistentlyDeprecated2019ZDeprecatedIn34strr rrrr'r*intOptionalr4 Exceptionr5rBr rnrKrOrfro from_bytesrZint_from_bytesrrrrs6