Ë
    RPfø	  ã                   óh   — d Z ddlZddlmZ ddlZdedefd„Zdeeef   defd„Z	deeef   defd	„Z
y)
zIPv4 helper functions.é    N)ÚUnionÚaddressÚreturnc                 ó|   — t        | «      dk7  rt        j                  j                  ‚d| d   | d   | d   | d   fz  S )z�Convert an IPv4 address in binary form to text form.

    *address*, a ``bytes``, the IPv4 address in binary form.

    Returns a ``str``.
    é   z%u.%u.%u.%ur   é   é   é   )ÚlenÚdnsÚ	exceptionÚSyntaxError)r   s    úB/var/www/fastapitest/venv/lib/python3.12/site-packages/dns/ipv4.pyÚ	inet_ntoar      sD   € ô ˆ7ƒ|�qÒÜ�m‰m×'Ñ'Ð'Ø˜G A™J¨°©
°G¸A±JÀÈÁ
ÐKÑKÐKó    Útextc                 óF  — t        | t        «      s| j                  «       }n| }|j                  d«      }t	        |«      dk7  rt
        j                  j                  ‚|D ]f  }|j                  «       st
        j                  j                  ‚t	        |«      dkD  sŒ<|d   t        d«      k(  sŒNt
        j                  j                  ‚ 	 |D �cg c]  }t        |«      ‘Œ }}t        j                  dg|¢­Ž S c c}w # t        $ r t
        j                  j                  ‚w xY w)zšConvert an IPv4 address in text form to binary form.

    *text*, a ``str`` or ``bytes``, the IPv4 address in textual form.

    Returns a ``bytes``.
    ó   .r   r   r   Ú0ÚBBBB)Ú
isinstanceÚbytesÚencodeÚsplitr   r   r   r   ÚisdigitÚordÚintÚstructÚpackÚ	Exception)r   ÚbtextÚpartsÚpartÚbs        r   Ú	inet_atonr%   '   sí   € ô �dœEÔ"Ø—‘“‰àˆØ�K‰K˜Ó€EÜ
ˆ5ƒz�Q‚Ü�m‰m×'Ñ'Ð'Øò ,ˆØ�|‰|Œ~Ü—-‘-×+Ñ+Ð+Üˆt‹9�q‹=˜T !™W¬¨C«Ó0ä—-‘-×+Ñ+Ð+ð,ð(Ø#(Ö)˜4ŒS��YÐ)ˆÐ)Ü�{‰{˜6Ð& AÒ&Ð&ùò *øäò (Ü�m‰m×'Ñ'Ð'ð(ús   Ã	C< ÃC7ÃC< Ã7C< Ã<$D c                 óz   — t         j                  j                  t         j                  j                  | «      «      S )zïVerify that *address* is a valid text form IPv4 address and return its
    canonical text form.

    *text*, a ``str`` or ``bytes``, the IPv4 address in textual form.

    Raises ``dns.exception.SyntaxError`` if the text is not valid.
    )r   Úipv4r   r%   )r   s    r   Úcanonicalizer(   C   s(   € ô �8‰8×ÑœcŸh™h×0Ñ0°Ó6Ó7Ð7r   )Ú__doc__r   Útypingr   Údns.exceptionr   r   Ústrr   r%   r(   © r   r   ú<module>r.      sa   ðñ$ ã Ý ã ð
L�uð 
L ó 
Lð(�E˜#˜u˜*Ñ%ð (¨%ó (ð8
8�u˜S %˜ZÑ(ð 
8¨Sô 
8r   