Ë
    ¶�/j½	  ã                   óÈ   — U d dl Zd dlZd dlZd dlmZmZmZ dedefd„Z	dede
fd„Zi Zeee
f   ed<   d	ede
fd
„Zd	ede
ddfd„Zdgg d¢dgdgdgdgdœZeeee   f   ed<   y)é    N)ÚDictÚListÚTupleÚversionÚreturnc                 ó  — | j                  d«      }g }|D ]C  }dj                  t        j                  d„ |«      «      }	 |j	                  t        |«      «       ŒE t        |«      S # t        $ r Y  t        |«      S w xY w)NÚ.Ú c                 ó&   — | t         j                  v S )N)ÚstringÚdigits)Úxs    úOC:\xampp\htdocs\tradingbinance\backend\.venv\Lib\site-packages\dns/_features.pyÚ<lambda>z"_tuple_from_text.<locals>.<lambda>   s   € ¨!¬v¯}©}Ñ*<ó    )ÚsplitÚjoinÚ	itertoolsÚ	takewhileÚappendÚintÚ	ExceptionÚtuple)r   Ú
text_partsÚ	int_partsÚ	text_partÚdigit_prefixs        r   Ú_tuple_from_textr   	   s‚   € Ø—‘˜sÓ#€JØ€IÛˆ	Ø—w‘wÜ×ÑÑ <¸iÓHó
ˆð	Ø×ÑœS Ó.Õ/ð  ô �ÓÐøô ò 	ÙÜ�ÓÐð	ús   Á A'Á'	A>Á=A>Úrequirementc                 óÊ   — | j                  d«      \  }}	 t        j                  j                  |«      }|€y	 t        |«      }t        |«      }||k  ryy# t        $ r Y yw xY w)zeIs the requirement fulfilled?

    The requirement must be of the form

        package>=version
    z>=FT)r   Ú	importlibÚmetadatar   r   r   )r   ÚpackageÚminimumr   Ú	t_versionÚ	t_minimums         r   Ú_version_checkr'      sy   € ð #×(Ñ(¨Ó.Ñ€GˆWðÜ×$Ñ$×,Ñ,¨WÓ5ˆàˆ?Øð ô ! Ó)€IÜ  Ó)€IØ�9ÒØØøô ò Ùðús   –!A Á	A"Á!A"Ú_cacheÚfeaturec                 ó¼   — t         j                  | «      }|�|S t        j                  | «      }|€
dt         | <   yd}|D ]  }t        |«      rŒd} n |t         | <   |S )zòIs *feature* available?

    This tests if all optional packages needed for the
    feature are available and recent enough.

    Returns ``True`` if the feature is available,
    and ``False`` if it is not or if metadata is
    missing.
    FT)r(   ÚgetÚ_requirementsr'   )r)   ÚvalueÚrequirementsÚokr   s        r   Úhaver0   2   sn   € ô �J‰J�wÓ€EØÐØˆÜ ×$Ñ$ WÓ-€LØÐàŒˆw‰ØØ	€BÛ#ˆÜ˜kÕ*ØˆBÙð $ð „Fˆ7�OØ€Ir   Úenabledc                 ó   — |t         | <   y)z«Force the status of *feature* to be *enabled*.

    This method is provided as a workaround for any cases
    where importlib.metadata is ineffective, or for testing.
    N)r(   )r)   r1   s     r   Úforcer3   M   s   € ð „Fˆ7‚Or   zcryptography>=45)zhttpcore>=1.0.0zhttpx>=0.28.0z	h2>=4.2.0zaioquic>=1.2.0z
idna>=3.10z
trio>=0.30z
wmi>=1.5.1)ÚdnssecÚdohÚdoqÚidnaÚtrioÚwmir,   )Úimportlib.metadatar!   r   r   Útypingr   r   r   Ústrr   Úboolr'   r(   Ú__annotations__r0   r3   r,   © r   r   Ú<module>r@      sº   ðô Û Û ß $Ñ $ð˜cð  eó ðØðà	óð0 €ˆˆS�$ˆY‰Ó ð�#ð ˜$ó ð6�3ð  ð ¨$ó ð "Ð"Ú<ØÐØˆNØˆNØˆ>ñ	'€ˆt�C˜˜c™�NÑ#ô 	r   