Ë
    ¶�/jI~  ã            #       ó$  — d Z ddlZddlZddlZddlZddlZddlZddlZddl	m
Z
mZmZmZmZ ddlZddlZddlZddlZddlZddlZddlZddlZddlZddlZddlmZ ddlmZmZmZm Z m!Z!m"Z"m#Z#m$Z$m%Z%m&Z&m'Z' 	 ddl(Z(e&rddl,Z,ejZ                  j\                  Z/d„ Z0dFd„Z1	 dFdejd                  jf                  d	ejh                  jj                  e6z  d
e
de7dz  dee8e7f   f
d„Z9	 	 	 	 	 	 	 	 	 	 dGdejd                  jf                  d
e
dz  de7dz  de:de:deejv                  jx                  ejz                  j|                  f   dz  de6dz  de:de:de:dejh                  jj                  dz  de
fd„Z?	 	 	 	 	 	 	 	 	 	 	 dHdejh                  jj                  de@de7dz  de8de@dz  de8de:de:de:de:dejd                  jf                  dz  dejd                  j‚                  dz  de:dejh                  jj                  fd „ZB	 	 	 	 	 	 	 	 	 	 	 dIdejh                  jj                  de@de7dz  de8de@dz  de8de:de:de:d!ejd                  jf                  dz  d"ejd                  j†                  dz  dejd                  j‚                  dz  de:deejh                  jj                  e:f   fd#„ZD	 dFdejd                  j†                  d	ejh                  jj                  e6z  de7dz  dee8e7f   fd$„ZEd%„ ZF	 	 	 	 	 dJdejd                  j†                  de7dz  de:deejv                  jx                  ejz                  j|                  f   dz  de6dz  de:deejh                  jj                  e7f   fd&„ZG	 	 	 	 	 	 	 	 dKdejh                  jj                  de@de7dz  de8de@dz  de8de:de:dejd                  j†                  dz  dejd                  j‚                  dz  dejh                  jj                  fd'„ZH	 	 	 	 	 	 	 	 	 	 	 dLdejh                  jj                  de@de7dz  de8de@dz  de8de:de:dejd                  j†                  dz  dejd                  j‚                  dz  d)e(j’                  dz  d*e@dz  d+e:e@z  dejh                  jj                  fd,„ZJd-ed.   dd.fd/„ZKdd0dddddd1d(d(ddej˜                  ejš                  fdejh                  jj                  de@de7dz  de8de@dz  de8de:de:d2ed3   d4e@d5e:d+e:e@z  e(j’                  z  d6e@dz  d-ed.   d7e8d8edejh                  jj                  f"d9„ZN	 	 	 	 	 	 	 	 	 	 dMdejh                  jj                  de@d:e@de7dz  de8de@dz  de8de:de:d+e:e@z  e(j’                  z  dejd                  j‚                  dz  d5e:d;ejž                  j                   dz  dejh                  jj                  fd<„ZQ	 	 	 	 	 	 	 	 	 	 	 dNdejh                  jj                  de@de7dz  de8de@dz  de8de:de:d;ejž                  j                   dz  d+e:e@z  dejd                  j‚                  dz  d=e@dz  d*e@dz  dejh                  jj                  fd>„ZOd?ej¤                  j¦                  d@ejd                  j¨                  dejh                  jj                  dAe8dz  de7dz  de7de
fdB„ZUdddddde!j¬                  dfde@d?ej¤                  j¦                  dejh                  jj                  dz  de8de7dz  dCe7dz  de@dz  de8dDe!dejd                  j‚                  dz  ddfdE„ZWy# e)$ r
 ddl*m+Z( Y �Œ”w xY w)OzTalk to a DNS server.é    N)ÚAnyÚDictÚOptionalÚTupleÚcast)ÚNullContext)ÚBadResponseÚHTTPVersionÚNoDOHÚNoDOQÚUDPModeÚ_check_statusÚ_compute_timesÚ_matches_destinationÚ
_remainingÚhave_dohÚmake_ssl_contextc                 ó˜   — |s|rF|€@| t         j                  k(  rd}||fS | t         j                  k(  rd}||fS t        d| › �«      ‚||fS y )Nz0.0.0.0z::zunknown address family )ÚsocketÚAF_INETÚAF_INET6ÚNotImplementedError)ÚafÚaddressÚports      úPC:\xampp\htdocs\tradingbinance\backend\.venv\Lib\site-packages\dns/asyncquery.pyÚ_source_tupler   B   sl   € ñ ‘$Øˆ?Ø”V—^‘^Ò#Ø#�ð
 ˜ˆÐð	 ”v—‘Ò&Ø�ð ˜ˆÐô *Ð,CÀBÀ4Ð*HÓIÐIØ˜ˆÐàó    c                 óR   — | �%|st        j                   «       }t        | |z
  d«      S y ©Nr   )ÚtimeÚmax)Ú
expirationÚnows     r   Ú_timeoutr%   R   s+   € ØÐÙÜ—)‘)“+ˆCÜ�: Ñ# QÓ'Ð'àr   ÚsockÚwhatÚdestinationr#   Úreturnc              ƒ   óð   K  — t        |t        j                  j                  «      r|j	                  «       }t        j
                  «       }| j                  ||t        ||«      «      ƒ d{  –—† }||fS 7 Œ­w)a†  Send a DNS message to the specified UDP socket.

    *sock*, a ``dns.asyncbackend.DatagramSocket``.

    *what*, a ``bytes`` or ``dns.message.Message``, the message to send.

    *destination*, a destination tuple appropriate for the address family
    of the socket, specifying where to send the query.

    *expiration*, a ``float`` or ``None``, the absolute time at which
    a timeout exception should be raised.  If ``None``, no timeout will
    occur.  The expiration value is meaningless for the asyncio backend, as
    asyncio's transport sendto() never blocks.

    Returns an ``(int, float)`` tuple of bytes sent and the sent time.
    N)Ú
isinstanceÚdnsÚmessageÚMessageÚto_wirer!   Úsendtor%   )r&   r'   r(   r#   Ú	sent_timeÚns         r   Úsend_udpr3   [   s^   è ø€ ô. �$œŸ™×+Ñ+Ô,Ø�|‰|‹~ˆÜ—	‘	“€IØ�k‰k˜$ ¬X°jÀ)Ó-LÓM×M€AØˆyˆ>Ðð 	Nús   ‚A)A6Á+A4Á,	A6FÚignore_unexpectedÚone_rr_per_rrsetÚkeyringÚrequest_macÚignore_trailingÚraise_on_truncationÚignore_errorsÚqueryc              ƒ   óò  K  — d}	 | j                  dt        |«      «      ƒ d{  –—† \  }}t        | j                  |||«      sŒ@t	        j                  «       }	 t
        j                  j                  ||||||¬«      }|	r|
�|
j                  |«      sŒ�|||fS 7 Œu# t
        j                  j                  $ r.}|	r&|
�$|
j                  |j                  «       «      sY d}~ŒÜ‚ d}~wt        $ r |	rY Œí‚ w xY w­w)aj  Read a DNS message from a UDP socket.

    *sock*, a ``dns.asyncbackend.DatagramSocket``.

    See :py:func:`dns.query.receive_udp()` for the documentation of the other
    parameters, and exceptions.

    Returns a ``(dns.message.Message, float, tuple)`` tuple of the received message, the
    received time, and the address where the message arrived from.
    r   éÿÿ  N)r6   r7   r5   r8   r9   )Úrecvfromr%   r   Úfamilyr!   r,   r-   Ú	from_wireÚ	TruncatedÚis_responseÚ	Exception)r&   r(   r#   r4   r5   r6   r7   r8   r9   r:   r;   ÚwireÚfrom_addressÚreceived_timeÚrÚes                   r   Úreceive_udprI   y   s  è ø€ ð0 €DØ
Ø%)§]¡]°5¼(À:Ó:NÓ%O×OÑˆˆ|Ü#Ø�K‰K˜ {Ð4Eô
ð ÜŸ	™	›ˆð	Ü—‘×%Ñ%ØØØ'Ø!1Ø /Ø$7ð &ó ˆAñ. ˜UÐ.°u×7HÑ7HÈÔ7KØØ�= ,Ð/Ð/ðA  Pùô �{‰{×$Ñ$ò 		ñ ØÐ%Ø×)Ñ)¨!¯)©)«+Ô6äàûÜò 	ÙÙàð		üsK   ‚"C7¤B¥4C7Á%B Á?C7ÂC4Â9#C"ÃC7Ã!C"Ã"C4Ã0C7Ã2C4Ã4C7é5   ÚqÚwhereÚtimeoutr   ÚsourceÚsource_portÚbackendc              ƒ   óð  K  — | j                  «       }t        |«      \  }}t        j                  j	                  |«      }t        ||f|«      }|
rt        |
«      }no|st        j                  j                  «       }t        |||«      }|j                  «       r||f}nd}|j                  |t        j                  d||«      ƒ d{  –—† }|4 ƒd{  –—† }t        ||||«      ƒ d{  –—†  t        |||||| j                   | j"                  ||	|| «      ƒ d{  –—† \  }}}||z
  |_        |s| j'                  |«      st(        ‚|cddd«      ƒd{  –—†  S 7 Œ�7 Œ‡7 Œs7 ŒD7 Œ# 1 ƒd{  –—†7  sw Y   yxY w­w)aF  Return the response obtained after sending a query via UDP.

    *sock*, a ``dns.asyncbackend.DatagramSocket``, or ``None``,
    the socket to use for the query.  If ``None``, the default, a
    socket is created.  Note that if a socket is provided, the
    *source*, *source_port*, and *backend* are ignored.

    *backend*, a ``dns.asyncbackend.Backend``, or ``None``.  If ``None``,
    the default, then dnspython will use the default backend.

    See :py:func:`dns.query.udp()` for the documentation of the other
    parameters, exceptions, and return type of this method.
    Nr   )r/   r   r,   ÚinetÚaf_for_addressÚ_lltupler   ÚasyncbackendÚget_default_backendr   Údatagram_connection_requiredÚmake_socketr   Ú
SOCK_DGRAMr3   rI   r6   Úmacr!   rB   r	   )rK   rL   rM   r   rN   rO   r4   r5   r8   r9   r&   rP   r:   rD   Ú
begin_timer#   r   r(   ÚcmÚstupleÚdtupleÚsrG   rF   Ú_s                            r   Úudpra   ¶   s^  è ø€ ð8 �9‰9‹;€DÜ-¨gÓ6Ñ€Z�Ü	�‰×	 Ñ	  Ó	'€BÜ˜E 4˜=¨"Ó-€KÙÜ5@ÀÓ5F‰áÜ×&Ñ&×:Ñ:Ó<ˆGÜ˜r 6¨;Ó7ˆØ×/Ñ/Ô1Ø˜T�]‰FàˆFØ×&Ñ& r¬6×+<Ñ+<¸aÀÈÓP×Pˆß‰r�QÜ�q˜$ ¨ZÓ8×8Ð8Ü&1ØØØØØØ�I‰IØ�E‰EØØØØó'
÷ !
ÑˆˆM˜1ð  Ñ+ˆŒñ  §¡¨qÔ!1ÜÐØ÷) �r‰rð QøØøØ8øð!
øð ø�r�r‰rüs~   ‚CE6ÃEÃ
E6ÃEÃE6ÃE!Ã'EÃ(0E!ÄEÄ,E!ÅE6ÅEÅE6ÅE6ÅE!ÅE!ÅE6Å!E3Å'E*Å(E3Å/E6Úudp_sockÚtcp_sockc              ƒ   óÞ   K  — 	 t        | ||||||||d|	||«      ƒ d{  –—† }|dfS 7 Œ# t        j                  j                  $ r$ t	        | ||||||||
|«
      ƒ d{  –—†7  }|dfcY S w xY w­w)aÃ  Return the response to the query, trying UDP first and falling back
    to TCP if UDP results in a truncated response.

    *udp_sock*, a ``dns.asyncbackend.DatagramSocket``, or ``None``,
    the socket to use for the UDP query.  If ``None``, the default, a
    socket is created.  Note that if a socket is provided the *source*,
    *source_port*, and *backend* are ignored for the UDP query.

    *tcp_sock*, a ``dns.asyncbackend.StreamSocket``, or ``None``, the
    socket to use for the TCP query.  If ``None``, the default, a
    socket is created.  Note that if a socket is provided *where*,
    *source*, *source_port*, and *backend*  are ignored for the TCP query.

    *backend*, a ``dns.asyncbackend.Backend``, or ``None``.  If ``None``,
    the default, then dnspython will use the default backend.

    See :py:func:`dns.query.udp_with_fallback()` for the documentation
    of the other parameters, exceptions, and return type of this
    method.
    TNF)ra   r,   r-   rA   Útcp)rK   rL   rM   r   rN   rO   r4   r5   r8   rb   rc   rP   r:   Úresponses                 r   Úudp_with_fallbackrg   ø   s­   è ø€ ðF ÜØØØØØØØØØØØØØó
÷ 
ˆð ˜%Ð Ð ð
ùô  �;‰;× Ñ ò  ÜØØØØØØØØØØó
÷ 
ð 
ˆð ˜$ÐÒð üs=   ‚A-„) ž'Ÿ) ¦A-§) ©4A*ÁA Á	A*Á'A-Á)A*Á*A-c              ƒ   óB  K  — t        |t        j                  j                  «      r|j	                  d¬«      }nt        |«      j                  dd«      |z   }t        j                  «       }| j                  |t        ||«      «      ƒ d{  –—†  t        |«      |fS 7 Œ­w)zîSend a DNS message to the specified TCP socket.

    *sock*, a ``dns.asyncbackend.StreamSocket``.

    See :py:func:`dns.query.send_tcp()` for the documentation of the other
    parameters, exceptions, and return type of this method.
    T)Úprepend_lengthé   ÚbigN)
r+   r,   r-   r.   r/   ÚlenÚto_bytesr!   Úsendallr%   )r&   r'   r#   Útcpmsgr1   s        r   Úsend_tcprp   <  s„   è ø€ ô �$œŸ™×+Ñ+Ô,Ø—‘¨T�Ó2‰ô
 �T“×#Ñ# A uÓ-°Ñ4ˆÜ—	‘	“€IØ
�,‰,�vœx¨
°IÓ>Ó
?×?Ð?Ü�‹K˜Ð#Ð#ð @ús   ‚B	BÂBÂBc              ƒ   ó¸   K  — d}|dkD  rL| j                  |t        |«      «      ƒ d{  –—† }|dk(  rt        d«      ‚|t        |«      z
  }||z   }|dkD  rŒL|S 7 Œ/­w)z|Read the specified number of bytes from stream.  Keep trying until we
    either get the desired amount, or we hit EOF.
    r   r   NÚEOF)Úrecvr%   ÚEOFErrorrl   )r&   Úcountr#   r_   r2   s        r   Ú_read_exactlyrv   U  sh   è ø€ ð 	€AØ
�!Š)Ø—)‘)˜E¤8¨JÓ#7Ó8×8ˆØ�Š8Ü˜5“/Ð!Øœ˜A›‘ˆØ�‰Eˆð �!‹)ð €Hð 9ús   ‚&A¨A©,AÁAc              ƒ   ó  K  — t        | d|«      ƒ d{  –—† }t        j                  d|«      \  }t        | ||«      ƒ d{  –—† }t        j                  «       }	t        j
                  j                  |||||¬«      }
|
|	fS 7 Œm7 ŒB­w)zçRead a DNS message from a TCP socket.

    *sock*, a ``dns.asyncbackend.StreamSocket``.

    See :py:func:`dns.query.receive_tcp()` for the documentation of the other
    parameters, exceptions, and return type of this method.
    rj   Nú!H©r6   r7   r5   r8   )rv   ÚstructÚunpackr!   r,   r-   r@   )r&   r#   r5   r6   r7   r8   ÚldataÚlrD   rF   rG   s              r   Úreceive_tcpr~   c  s…   è ø€ ô     a¨Ó4×4€EÜ�=‰=˜˜uÓ%�D€QÜ˜t Q¨
Ó3×3€DÜ—I‘I“K€MÜ�‰×ÑØØØØ)Ø'ð 	ó 	€Að ˆ}ÐÐð 5øà3ús"   ‚B“B”,BÁ BÁABÂBc
           	   ƒ   óÔ  K  — | j                  «       }
t        |«      \  }}|r$|j                  «       ƒ d{  –—†  t        |«      }n|t        j
                  j                  |«      }t        |||«      }||f}|	st        j                  j                  «       }	|	j                  |t        j                  d|||«      ƒ d{  –—† }|4 ƒd{  –—† }t        ||
|«      ƒ d{  –—†  t        |||| j                  | j                   |«      ƒ d{  –—† \  }}||z
  |_        | j%                  |«      st&        ‚|cddd«      ƒd{  –—†  S 7 �Œ7 ŒŠ7 Œ�7 Œn7 ŒD7 Œ# 1 ƒd{  –—†7  sw Y   yxY w­w)aO  Return the response obtained after sending a query via TCP.

    *sock*, a ``dns.asyncbacket.StreamSocket``, or ``None``, the
    socket to use for the query.  If ``None``, the default, a socket
    is created.  Note that if a socket is provided
    *where*, *port*, *source*, *source_port*, and *backend* are ignored.

    *backend*, a ``dns.asyncbackend.Backend``, or ``None``.  If ``None``,
    the default, then dnspython will use the default backend.

    See :py:func:`dns.query.tcp()` for the documentation of the other
    parameters, exceptions, and return type of this method.
    Nr   )r/   r   Úgetpeernamer   r,   rR   rS   r   rU   rV   rX   r   ÚSOCK_STREAMrp   r~   r6   rZ   r!   rB   r	   )rK   rL   rM   r   rN   rO   r5   r8   r&   rP   rD   r[   r#   r\   r   r]   r^   r_   rG   rF   s                       r   re   re   �  sL  è ø€ ð4 �9‰9‹;€DÜ-¨gÓ6Ñ€Z�Ùð ×ÑÓ × Ð Ü5@ÀÓ5F‰ô �X‰X×$Ñ$ UÓ+ˆÜ˜r 6¨;Ó7ˆØ˜�ˆÙÜ×&Ñ&×:Ñ:Ó<ˆGØ×&Ñ&Ø”×"Ñ" A v¨v°wó
÷ 
ˆ÷ ‰r�QÜ�q˜$ 
Ó+×+Ð+Ü#.ØØØØ�I‰IØ�E‰EØó$
÷ 
ÑˆˆMð  Ñ+ˆŒØ�}‰}˜QÔÜÐØ÷ �r‰rð 	!ùð
øð øØ+øð
øð ø�r�r‰rüsŽ   ‚4E(¶E·BE(Â>E	Â?
E(Ã	EÃ
E(ÃEÃEÃ+EÄ
EÄ)EÄ4E(Å EÅE(Å	E(ÅE(ÅEÅEÅE(ÅE%ÅEÅE%Å!E(TÚssl_contextÚserver_hostnameÚverifyc              ƒ   ób  K  — t        |«      \  }}|rt        |«      }n�|
€t        ||dudg«      }
t        j                  j                  |«      }t        |||«      }||f}|	st        j                  j                  «       }	|	j                  |t        j                  d||||
|«      ƒ d{  –—† }|4 ƒd{  –—† }t        |«      }t        | |||||||||	«
      ƒ d{  –—† }t        j                  «       }||z
  |_        |cddd«      ƒd{  –—†  S 7 Œg7 Œ^7 Œ97 Œ# 1 ƒd{  –—†7  sw Y   yxY w­w)a¦  Return the response obtained after sending a query via TLS.

    *sock*, an ``asyncbackend.StreamSocket``, or ``None``, the socket
    to use for the query.  If ``None``, the default, a socket is
    created.  Note that if a socket is provided, it must be a
    connected SSL stream socket, and *where*, *port*,
    *source*, *source_port*, *backend*, *ssl_context*, and *server_hostname*
    are ignored.

    *backend*, a ``dns.asyncbackend.Backend``, or ``None``.  If ``None``,
    the default, then dnspython will use the default backend.

    See :py:func:`dns.query.tls()` for the documentation of the other
    parameters, exceptions, and return type of this method.
    NÚdotr   )r   r   r   r,   rR   rS   r   rU   rV   rX   r   r�   r%   re   r!   )rK   rL   rM   r   rN   rO   r5   r8   r&   rP   r‚   rƒ   r„   r[   r#   r\   r   r]   r^   r_   rf   Úend_times                         r   Útlsrˆ   ¾  s9  è ø€ ô<  .¨gÓ6Ñ€Z�ÙÜ5@ÀÓ5F‰àÐÜ*¨6°?È$Ð3NÐQVÐPWÓXˆKÜ�X‰X×$Ñ$ UÓ+ˆÜ˜r 6¨;Ó7ˆØ˜�ˆÙÜ×&Ñ&×:Ñ:Ó<ˆGØ×&Ñ&ØÜ×ÑØØØØØØó	
÷ 	
ˆ÷ ‰r�QÜ˜:Ó&ˆÜØØØØØØØØØØó
÷ 
ˆô —9‘9“;ˆØ  :Ñ-ˆŒØ÷! �r‰rð	
øð øð
øð ø�r�r‰rüsl   ‚B(D/Â*DÂ+
D/Â5DÂ6D/Â9#DÃDÃ#DÄ D/ÄDÄD/ÄD/ÄDÄD/ÄD,Ä D#Ä!D,Ä(D/Úresolverzdns.asyncresolver.Resolverc                 óF   — | €dd l }|j                  j                  «       } | S r    )Údns.asyncresolverÚasyncresolverÚResolver)r‰   r,   s     r   Ú_maybe_get_resolverrŽ     s&   € ð Ðã à×$Ñ$×-Ñ-Ó/ˆØ€Or   é»  z
/dns-queryÚclientz.httpx.AsyncClient|dns.quic.AsyncQuicConnectionÚpathÚpostÚbootstrap_addressr?   Úhttp_versionc              ƒ   óÖ	  K  — 	 t         j                  j                  |«      }|}|�Zt         j                  j	                  |«      r;|t
        j                  k(  rd|› d|› |	› �}n|t
        j                  k(  r
d|› d|› |	› �}i }|€’t        j                  j                  |«      }|j                  €t        d«      ‚t         j                  j	                  |j                  «      r|j                  }|j                  |d<   |j                  �|j                  }|t        j                  k(  s|t        j                  k(  rét         sã|€it#        |«      }j                  €J ‚|j%                  |j                  |«      ƒ d{  –—† }t'        j(                  t+        |j-                  «       «      «      }|r/t/        |t         j0                  j2                  «      st        d«      ‚|�&t/        |t         j0                  j2                  «      sJ ‚t5        | ||||||||||
|¬	«      ƒ d{  –—† S t         st6        ‚|r%t/        |t8        j:                  «      st        d
«      ‚| j=                  «       }ddi}|t        j>                  t        j                  fv }|t        j@                  t        j                  fv }t         jB                  jE                  «       }|€d}d}n|}|}|rtG        |«      }n7 |jI                  «       ||||||||¬«      }t9        j:                  ||||¬«      }|4 ƒd{  –—† }|
rT|jK                  dtM        tO        |«      «      dœ«       |jQ                  |jS                  ||||¬«      |«      ƒ d{  –—† }nctU        jV                  |«      jY                  d«      }|j[                  «       } |jQ                  |j]                  ||d| i|¬«      |«      ƒ d{  –—† }ddd«      ƒd{  –—†  j^                  dk  s|j^                  dkD  r't        |› d|j^                  › d|j`                  ›�«      ‚t         jb                  je                  |j`                  | jf                  | jh                  ||¬«      }!|jj                  jm                  «       |!_7        | jq                  |!«      str        ‚|!S # t        $ r d}Y �Œ�w xY w7 �ŒG7 �Œ¦7 �Œ¥7 �ŒS7 Œñ7 Œã# 1 ƒd{  –—†7  sw Y   ŒóxY w­w)aÃ  Return the response obtained after sending a query via DNS-over-HTTPS.

    *client*, a ``httpx.AsyncClient``.  If provided, the client to use for
    the query.

    Unlike the other dnspython async functions, a backend cannot be provided
    in this function because httpx always auto-detects the async backend.

    See :py:func:`dns.query.https()` for the documentation of the other
    parameters, exceptions, and return type of this method.
    Nzhttps://Ú:z	https://[z]:zno hostname in URLÚsni_hostnamez8client parameter must be a dns.quic.AsyncQuicConnection.)r„   r’   Ú
connectionz-client parameter must be an httpx.AsyncClientÚacceptzapplication/dns-messager   )Úlocal_addressÚhttp1Úhttp2r„   Ú
local_portr“   r‰   r?   )r›   rœ   r„   Ú	transport)zcontent-typezcontent-length)ÚheadersÚcontentÚ
extensionsó   =r,   )rŸ   Úparamsr¡   éÈ   i+  z responded with status code z
Response body: ry   ):r,   rR   rS   Ú
ValueErrorÚ
is_addressr   r   r   ÚurllibÚparseÚurlparseÚhostnamer   r
   ÚH3ÚDEFAULTr   rŽ   Úresolve_nameÚrandomÚchoiceÚlistÚ	addressesr+   ÚquicÚAsyncQuicConnectionÚ_http3r   ÚhttpxÚAsyncClientr/   ÚH1ÚH2rU   rV   r   Úget_transport_classÚupdateÚstrrl   Úwait_forr’   Úbase64Úurlsafe_b64encodeÚrstripÚdecodeÚgetÚstatus_coder    r-   r@   r6   r7   ÚelapsedÚtotal_secondsr!   rB   r	   )"rK   rL   rM   r   rN   rO   r5   r8   r�   r‘   r’   r„   r“   r‰   r?   r”   r   Úurlr¡   ÚparsedÚanswersrD   rŸ   Úh1Úh2rP   rš   r�   r\   rž   Ú
the_clientrf   ÚtwirerG   s"                                     r   ÚhttpsrÌ     s¨  è ø€ ð<Ü�X‰X×$Ñ$ UÓ+ˆð €CØ	€~œ#Ÿ(™(×-Ñ-¨eÔ4Ø”—‘ÒØ˜U˜G 1 T F¨4¨&Ð1‰CØ”6—?‘?Ò"Ø˜e˜W B t f¨T¨FÐ3ˆCà€JØÐ ä—‘×&Ñ& sÓ+ˆØ�?‰?Ð"ÜÐ1Ó2Ð2Ü�8‰8×Ñ˜vŸ™Ô/Ø &§¡ÐØ)/¯©ˆJ�~Ñ&Ø�;‰;Ð"Ø—;‘;ˆDà”{—~‘~Ò%Øœ×+Ñ+Ò+µHàÐ$Ü*¨8Ó4ˆHØ—?‘?Ð.Ð.Ð.Ø$×1Ñ1Ø—‘ ó÷ ˆGô !'§¡¬d°7×3DÑ3DÓ3FÓ.GÓ HÐÙœ*Ø”C—H‘H×0Ñ0ô
ô ÐWÓXÐXØˆ~¤¨F´C·H±H×4PÑ4PÔ!QÐQÐQÜØØØØØØØØØØØØô
÷ 
ð 	
õ Üˆá”j ¬×):Ñ):Ô;ÜÐHÓIÐIð �9‰9‹;€DØÐ2Ð3€Gà	œ+Ÿ.™.¬+×*=Ñ*=Ð>Ð	>€BØ	œ+Ÿ.™.¬+×*=Ñ*=Ð>Ð	>€Bä×Ñ×2Ñ2Ó4€Gà€~ØˆØ‰
àˆØ ˆ
áÜ5@ÀÓ5H‰à1�G×/Ñ/Ó1Ø'ØØØØ!Ø/ØØô	
ˆ	ô ×ÑØ˜B v¸ô
ˆ÷ ‰r�Zñ Ø�N‰Nà$=Ü&)¬#¨d«)£nñôð %×-Ñ-Ø—‘ØØ#Ø Ø)ð	  ó ð ó÷ ‰Hô ×+Ñ+¨DÓ1×8Ñ8¸Ó>ˆDØ—K‘K“MˆEØ$×-Ñ-Ø—‘ØØ#Ø! 5˜>Ø)ð	 ó ð ó÷ ˆH÷- �rðD ×Ñ˜cÒ! X×%9Ñ%9¸CÒ%?ÜØˆgÐ1°(×2FÑ2FÐ1GØ × 0Ñ 0Ð3ð5ó
ð 	
ô 	�‰×ÑØ×ÑØ—	‘	Ø—M‘MØ)Ø'ð 	ó 	€Að ×Ñ×+Ñ+Ó-€A„FØ�=‰=˜ÔÜÐØ€Høô[ ò Ø‹ðúð8ùð
ùðn ùðùðøð- ø�r�r‰rüs·   ‚S)„R2 £ES)Å=SÅ>B#S)È!SÈ"DS)Ì%S
Ì&S)Ì)ASÍ:SÍ;A#SÏSÏSÏ#S)Ï.SÏ/CS)Ò2SÒ=S)Ó SÓS)ÓS)Ó
S)ÓSÓSÓS)ÓS&ÓSÓS&Ó"S)rÅ   r˜   c           	   ƒ   ó:  K  — t         j                  j                  st        d«      ‚t        j
                  j                  |«      }|j                  }|€J ‚|j                  �|j                  }d| _	        | j                  «       }|r5t         j                  j                  }t         j                  j                  }n"t         j                  j                  |
«      \  }} |«       4 ƒd {  –—† } |||	|d¬«      4 ƒd {  –—† }|r|}n|j                  ||||«      }t        |«      \  }}|j                  |«      ƒ d {  –—† }|4 ƒd {  –—†  |j!                  |||«       |j#                  t%        |«      «      ƒ d {  –—† }t'        |j)                  «       ||«       d d d «      ƒd {  –—†  t+        j*                  «       }d d d «      ƒd {  –—†  t         j,                  j/                  || j0                  | j2                  ||¬«      }d d d «      ƒd {  –—†  t5        z
  d«      _        | j7                  |«      st8        ‚|S 7 �Œ^7 �ŒL7 �Œ7 �Œ7 ŒÔ7 Œ«# 1 ƒd {  –—†7  sw Y   Œ»xY w7 Œž# 1 ƒd {  –—†7  sw Y   Œ®xY w7 Œm# 1 ƒd {  –—†7  sw Y   Œ}xY w­w)Nz DNS-over-HTTP3 is not available.r   T)Úverify_modeÚserver_nameÚh3ry   ç        )r,   r²   Ú	have_quicr   r§   r¨   r©   rª   r   Úidr/   Únull_factoryÚfactories_for_backendÚconnectr   Úmake_streamÚsend_h3Úreceiver   r   rŸ   r!   r-   r@   r6   r7   r"   rB   r	   )rK   rL   rÅ   rM   r   rN   rO   r5   r8   r„   rP   r’   r˜   Ú	url_partsrª   rD   ÚcfactoryÚmfactoryÚcontextÚthe_managerÚthe_connectionÚstartr#   ÚstreamÚfinishrG   s                             r   r´   r´   Â  s  è ø€ ô �8‰8×ÒÜÐ6Ó7Ð7ä—‘×%Ñ% cÓ*€IØ×!Ñ!€HØÐÐÐØ‡~�~Ð!Ø�~‰~ˆà€A„DØ�9‰9‹;€DáÜ—8‘8×(Ñ(ˆÜ—8‘8×(Ñ(‰ä"Ÿx™x×=Ñ=¸gÓFÑˆ�8á�zŒz˜WÙØ °XÀ$÷
õ 
àÙØ!+‘à!,×!4Ñ!4Ø˜4 ¨ó"�ô #1°Ó"9ÑˆU�JØ)×5Ñ5°gÓ>×>ˆFß’và—‘˜s D¨$Ô/Ø#Ÿ^™^¬J°zÓ,BÓC×C�Ü˜fŸn™nÓ.°°tÔ<÷	 —vô
 —Y‘Y“[ˆF÷!
÷ 
ô" �K‰K×!Ñ!ØØ—I‘IØŸ™Ø-Ø+ð "ó 
ˆ÷% �zô2 �˜%‘ Ó%€A„FØ�=‰=˜ÔÜÐØ€Hð9 ùð
ùð ?ùØùð Døð ø—v—v‘vúð
ø÷ 
÷ 
ñ 
úð ø�z�z‰züsü   ‚C(JÃ*IÃ+JÃ.JÃ?IÄ JÄ<I/Ä?IÅ 
I/Å
I
ÅI/Å1IÅ?I
Æ IÆI/Æ*IÆ+I/ÇJÇI-Ç<JÈJÈJÈ2JÉJÉI/ÉI/ÉIÉI/ÉI*ÉI!ÉI*É&I/É-JÉ/J	É5I8É6J	É=JÊJÊJÊJÊJÊJrª   c           	   ƒ   óŒ  K  — t         j                  j                  st        d«      ‚|�|€|}d| _        | j                  «       }|r7t         j                  j                  }t         j                  j                  }|}n"t         j                  j                  |
«      \  }} |«       4 ƒd{  –—† } |||	|¬«      4 ƒd{  –—† }|s|j                  ||||«      }t        |«      \  }}j                  |«      ƒ d{  –—† }|4 ƒd{  –—†  |j                  |d«      ƒ d{  –—†  |j                  t        |«      «      ƒ d{  –—† }ddd«      ƒd{  –—†  t        j                  «       }ddd«      ƒd{  –—†  t         j                  j!                  || j"                  | j$                  ||¬«      }ddd«      ƒd{  –—†  t'        z
  d«      _        | j)                  |«      st*        ‚|S 7 �ŒF7 �Œ57 Œú7 Œñ7 ŒÙ7 Œ¹7 Œ«# 1 ƒd{  –—†7  sw Y   Œ»xY w7 Œž# 1 ƒd{  –—†7  sw Y   Œ®xY w7 Œm# 1 ƒd{  –—†7  sw Y   Œ}xY w­w)ai  Return the response obtained after sending an asynchronous query via
    DNS-over-QUIC.

    *backend*, a ``dns.asyncbackend.Backend``, or ``None``.  If ``None``,
    the default, then dnspython will use the default backend.

    See :py:func:`dns.query.quic()` for the documentation of the other
    parameters, exceptions, and return type of this method.
    zDNS-over-QUIC is not available.Nr   )rÎ   rÏ   Try   rÑ   )r,   r²   rÒ   r   rÓ   r/   rÔ   rÕ   rÖ   r   r×   ÚsendrÙ   r   r!   r-   r@   r6   r7   r"   rB   r	   )rK   rL   rM   r   rN   rO   r5   r8   r˜   r„   rP   rª   rƒ   rD   rÛ   rÜ   rß   rÝ   rÞ   rà   r#   rá   râ   rG   s                           r   r²   r²     sä  è ø€ ô2 �8‰8×ÒÜÐ5Ó6Ð6àÐ" xÐ'7Ø"ˆà€A„DØ�9‰9‹;€DáÜ—8‘8×(Ñ(ˆÜ—8‘8×(Ñ(ˆØ#‰ä"Ÿx™x×=Ñ=¸gÓFÑˆ�8á�zŒz˜WÙØØØ'÷
õ 
ð ÙØ!,×!4Ñ!4Ø˜4 ¨ó"�ô #1°Ó"9ÑˆU�JØ)×5Ñ5°gÓ>×>ˆFß’vØ—k‘k $¨Ó-×-Ð-Ø#Ÿ^™^¬J°zÓ,BÓC×C�÷ —vô —Y‘Y“[ˆF÷
÷ 
ô �K‰K×!Ñ!ØØ—I‘IØŸ™Ø-Ø+ð "ó 
ˆ÷! �zô. �˜%‘ Ó%€A„FØ�=‰=˜ÔÜÐØ€Hð5 ùð
ùð ?øØøØ-øØCøð ø—v—v‘vúð
ø÷ 
÷ 
ñ 
úð ø�z�z‰züs  ‚B)IÂ+G1Â,IÂ/H/Â?G4Ã H/Ã9HÃ<G7Ã=
HÄG9
ÄHÄHÄ!G;
Ä"!HÅG=
ÅHÅHÅG?ÅHÅ,H/Å7HÅ8<H/Æ4IÆ?H-Ç 2IÇ4H/Ç7HÇ9HÇ;HÇ=HÇ?HÈHÈH
ÈHÈHÈH/ÈH*	ÈH!ÈH*	È&H/È-IÈ/IÈ5H8È6IÈ=IÚtxn_managerr_   Úserialc                ó  K  — |j                   d   j                  }|t        j                  j                  k(  }| j                  «       }|j                  «       }	|j                  t        j                  k(  }
|
rIt        t        j                  j                  |«      }|j                  |	dt        |«      «      ƒ d{  –—†  n`t        t        j                  j                  |«      }t!        j"                  dt%        |	«      «      |	z   }|j'                  ||«      ƒ d{  –—†  t        j(                  j+                  | |||
«      5 }d}d}d}|sçt-        |«      \  }}|�|�||kD  r|}|
r)t        |«      }j/                  d|«      ƒ d{  –—† \  }}nBt1        d|«      ƒ d{  –—† }t!        j2                  d|«      \  }t1        |||«      ƒ d{  –—† }t        j4                  j7                  ||j8                  |j:                  d|||
 |¬«      }|j=                  |«      }|­–— |j>                  }|sŒç|j8                  r-|�+|j@                  st        jB                  jE                  d	«      ‚ddd«       y7 �Œº7 �Œ\7 Œó7 ŒÜ7 Œ±# 1 sw Y   yxY w­w)
z'Given a socket, does the zone transfer.r   Nrx   Fr=   rj   T)r6   r7   ÚxfrÚoriginÚtsig_ctxÚmultir5   zmissing TSIG)#ÚquestionÚrdtyper,   Ú	rdatatypeÚIXFRÚfrom_wire_originr/   Útyper   rY   r   rU   ÚDatagramSocketr0   r%   ÚStreamSocketrz   Úpackrl   rn   rè   ÚInboundr   r>   rv   r{   r-   r@   r6   rZ   Úprocess_messagerê   Úhad_tsigÚ	exceptionÚ	FormError)rå   r_   r;   ræ   rM   r#   rí   Úis_ixfrré   rD   Úis_udprb   rc   ro   ÚinboundÚdonerê   rG   r`   ÚmexpirationÚrwirer|   r}   s                          r   Ú_inbound_xfrr   H  s9  è ø€ ð �^‰^˜AÑ×%Ñ%€FØœŸ™×*Ñ*Ñ*€GØ×)Ñ)Ó+€FØ�=‰=‹?€DØ�V‰V”v×(Ñ(Ñ(€FÙÜœ×(Ñ(×7Ñ7¸Ó;ˆØ�o‰o˜d D¬(°:Ó*>Ó?×?Ñ?äœ×(Ñ(×5Ñ5°qÓ9ˆÜ—‘˜T¤3 t£9Ó-°Ñ4ˆØ×Ñ˜v zÓ2×2Ð2Ü	�‰�‰˜ f¨f°fÔ	=ÀØˆØˆØ(,ˆÙÜ-¨gÓ6ÑˆQ�ØÐ"ØÐ&¨;¸Ò+Cà(�ÙÜ" ;Ó/�Ø#+×#4Ñ#4°U¸GÓ#D×D‘
�™ä+¨H°a¸ÓE×E�Ü—}‘} T¨5Ó1‘�Ü+¨H°a¸ÓE×E�Ü—‘×%Ñ%ØØŸ™Ø!ŸI™IØØØ!Ø!�zØ!(ð &ó 	ˆAð ×*Ñ*¨1Ó-ˆDØ‹GØ—z‘zˆHò3 ð4 �=Š=˜Q˜]°1·:²:Ü—-‘-×)Ñ)¨.Ó9Ð9÷? 
>Ð	=ð 	@ùð 	3ùð EøàEøàEø÷! 
>Ð	=üs{   ‚B9JÂ;I5Â<A JÄI8Ä&JÅAJÆI;ÆJÆ I=Æ!,JÇI?ÇA$JÈ39JÉ,
JÉ8JÉ;JÉ=JÉ?JÊJ
ÊJÚlifetimeÚudp_modec
           
   ƒ   ó’  K  — |€#t         j                  j                  |«      \  }}
nt         j                  j                  |«      }
t         j                  j                  | «      }t        |||«      }| |f}|	st         j                  j                  «       }	t        |«      \  }}|j                  d   j                  t         j                  j                  k(  rn|t        j                  k7  r[|	j!                  |t"        j$                  d||t'        |«      «      ƒ d{  –—† }|4 ƒd{  –—†  	 t)        ||||
||«      2 3 d{  –—† }Œ
|	j!                  |t"        j.                  d||t'        |«      «      ƒ d{  –—† }|4 ƒd{  –—†  t)        ||||
||«      2 3 d{  –—† }Œ
7 Œ„7 Œ{7 Œc6 	 ddd«      ƒd{  –—†7   y# t         j                  j*                  $ r |t        j,                  k(  r‚ Y nw xY wddd«      ƒd{  –—†7   Œ½# 1 ƒd{  –—†7  sw Y   ŒÏxY w7 Œ¡7 Œ˜7 Œ�6 ddd«      ƒd{  –—†7   y# 1 ƒd{  –—†7  sw Y   yxY w­w)am  Conduct an inbound transfer and apply it via a transaction from the
    txn_manager.

    *backend*, a ``dns.asyncbackend.Backend``, or ``None``.  If ``None``,
    the default, then dnspython will use the default backend.

    See :py:func:`dns.query.inbound_xfr()` for the documentation of
    the other parameters, exceptions, and return type of this method.
    Nr   )r,   rè   Ú
make_queryÚextract_serial_from_queryrR   rS   r   rU   rV   r   rì   rí   rî   rï   r   ÚNEVERrX   r   rY   r%   r   ÚUseTCPÚONLYr�   )rL   rå   r;   r   rM   r  rN   rO   r  rP   ræ   r   r]   r^   r`   r#   r_   s                    r   Úinbound_xfrr	    sï  è ø€ ð* €}ÜŸ'™'×,Ñ,¨[Ó9‰ˆ‘ä—‘×2Ñ2°5Ó9ˆÜ	�‰×	 Ñ	  Ó	'€BÜ˜2˜v {Ó3€FØ�Tˆ]€FÙÜ×"Ñ"×6Ñ6Ó8ˆÜ$ XÓ.�O€Qˆ
Ø‡~�~�aÑ×Ñ¤3§=¡=×#5Ñ#5Ò5¸(ÄgÇmÁmÒ:SØ×%Ñ%Ø”×!Ñ! 1 f¨f´h¸zÓ6Jó
÷ 
ˆ÷ ’1ðÜ+ØØØØØØô ÷ ˜!ð ð ×!Ñ!Ø
ŒF×Ñ  6¨6´8¸JÓ3Gó÷ 	€A÷ ŠqÜ#Ø˜˜E 6¨7°Jô
÷ 	�!ð ð5
øð øðøð  ð ÷ —1‘1øô —7‘7—>‘>ò ØœwŸ|™|Ò+Øñ ,ðú÷ —1—1—1“1úð 	øð øð	øð 
÷ �q�q�q‹qüs&  ‚DIÄF!Ä
IÄ'F#Ä(IÄ+HÄ-F;Ä=F'ÅF%ÅF'ÅF;Å0IÅ7HÅ8
IÆHÆIÆH2ÆHÆHÆHÆH2Æ!IÆ#IÆ%F'Æ'F;Æ)IÆ4F7Æ5IÆ;1G/Ç,HÇ.G/Ç/HÇ2IÇ=H Ç>IÈHÈ
HÈHÈIÈIÈHÈH2È IÈ+H.È,IÈ2IÈ8H;È9IÉ I)N)
NNFFNr   FFFN)NrJ   Nr   FFFFNNF)NrJ   Nr   FFFNNNF)NFNr   F)NrJ   Nr   FFNN)NéU  Nr   FFNNNNT)
Nr�   Nr   FFTNTN)Nr
  Nr   FFNTNNN)XÚ__doc__r½   Ú
contextlibr®   r   rz   r!   Úurllib.parser§   Útypingr   r   r   r   r   Údns.asyncbackendr,   Údns.exceptionÚdns.inetÚdns.messageÚdns.nameÚdns.quicÚdns.rdatatypeÚdns.transactionÚdns.tsigÚdns.xfrÚdns._asyncbackendr   Ú	dns.queryr	   r
   r   r   r   r   r   r   r   r   r   ÚsslÚImportErrorÚdns._no_sslÚ_no_sslrµ   rR   Úlow_level_address_tuplerT   r   r%   rU   rò   r-   r.   ÚbytesÚfloatÚintr3   ÚboolÚnameÚNameÚtsigÚKeyrI   r»   ÚBackendra   ró   rg   rp   rv   r~   re   Ú
SSLContextrˆ   rŽ   Ú	AF_UNSPECr¬   rÌ   r²   r³   r´   ÚtransactionÚTransactionManagerÚSocketr   r  r	  © r   r   Ú<module>r/     s4  ðñ$ ã Û Û Û Û Û Û ß 3Õ 3ã Û Û Û Û Û Û Û Û Û Ý )÷÷ ÷ ñ ðÛñ Ûð �8‰8×+Ñ+€òó ð  $ñ	Ø
×
Ñ
×
)Ñ
)ðà
�+‰+×
Ñ
 Ñ
%ðð ðð ˜‘ð	ð
 ˆ3�ˆ:Ñóð@ #Ø#Ø#Ø"Ø8<Ø #Ø!Ø %ØØ(,ñ:0Ø
×
Ñ
×
)Ñ
)ð:0à�t‘ð:0ð ˜‘ð:0ð ð	:0ð
 ð:0ð �#—(‘(—-‘- §¡§¡Ð-Ñ.°Ñ5ð:0ð ˜‘ð:0ð ð:0ð ð:0ð ð:0ð �;‰;×Ñ Ñ%ð:0ð 	ó:0ð@ !ØØØØ#Ø"Ø!Ø %Ø37Ø/3Øñ?Ø
‡{�{×Ñð?àð?ð �T‰\ð?ð ð	?ð
 �$‰Jð?ð ð?ð ð?ð ð?ð ð?ð ð?ð ×
Ñ
×
)Ñ
)¨DÑ
0ð?ð ×Ñ×%Ñ%¨Ñ,ð?ð ð?ð 	‡[�[×Ñó?ðJ !ØØØØ#Ø"Ø!Ø7;Ø59Ø/3ØñA Ø
‡{�{×ÑðA àðA ð �T‰\ðA ð ð	A ð
 �$‰JðA ð ðA ð ðA ð ðA ð ðA ð ×Ñ×-Ñ-°Ñ4ðA ð ×Ñ×+Ñ+¨dÑ2ðA ð ×Ñ×%Ñ%¨Ñ,ðA ð ðA ð ˆ3�;‰;×Ñ Ð$Ñ%óA ðN  $ñ$Ø
×
Ñ
×
'Ñ
'ð$à
�+‰+×
Ñ
 Ñ
%ð$ð ˜‘ð$ð ˆ3�ˆ:Ñó	$ò2ð   $Ø"Ø8<Ø #Ø!ñØ
×
Ñ
×
'Ñ
'ðà˜‘ðð ðð �#—(‘(—-‘- §¡§¡Ð-Ñ.°Ñ5ð	ð
 ˜‘ðð ðð ˆ3�;‰;×Ñ Ð%Ñ&óðB !ØØØØ"Ø!Ø15Ø/3ñ:Ø
‡{�{×Ñð:àð:ð �T‰\ð:ð ð	:ð
 �$‰Jð:ð ð:ð ð:ð ð:ð ×
Ñ
×
'Ñ
'¨$Ñ
.ð:ð ×Ñ×%Ñ%¨Ñ,ð:ð 	‡[�[×Ñó:ð@ !ØØØØ"Ø!Ø15Ø/3Ø)-Ø"&ØñCØ
‡{�{×ÑðCàðCð �T‰\ðCð ð	Cð
 �$‰JðCð ðCð ðCð ðCð ×
Ñ
×
'Ñ
'¨$Ñ
.ðCð ×Ñ×%Ñ%¨Ñ,ðCð —‘ $Ñ&ðCð ˜4‘ZðCð �3‰JðCð 	‡[�[×ÑóCðLØÐ3Ñ4ðà!óð" !ØØØØ"Ø!ØIMØØØ*.Ø$(Ø7;Ø×"Ñ"Ø +× 3Ñ 3ñ!mØ
‡{�{×Ñðmàðmð �T‰\ðmð ð	mð
 �$‰Jðmð ðmð ðmð ðmð ÐEÑFðmð ðmð ðmð �3‰J˜Ÿ™Ñ'ðmð ˜T‘zðmð Ð3Ñ4ðmð ðmð  ð!mð" 	‡[�[×Ñó#mðh !ØØØØ"Ø!Ø*.Ø/3ØØ6:ñ=Ø
‡{�{×Ñð=àð=ð 
ð=ð �T‰\ð	=ð
 ð=ð �$‰Jð=ð ð=ð ð=ð ð=ð �3‰J˜Ÿ™Ñ'ð=ð ×Ñ×%Ñ%¨Ñ,ð=ð ð=ð —‘×,Ñ,¨tÑ3ð=ð 	‡[�[×Ñó=ðF !ØØØØ"Ø!Ø6:ØØ/3ØØ"&ñCØ
‡{�{×ÑðCàðCð �T‰\ðCð ð	Cð
 �$‰JðCð ðCð ðCð ðCð —‘×,Ñ,¨tÑ3ðCð �3‰JðCð ×Ñ×%Ñ%¨Ñ,ðCð �D‰jðCð ˜4‘ZðCð 	‡[�[×ÑóCðL4:Ø—‘×3Ñ3ð4:à
×Ñ×Ñð4:ð �;‰;×Ñð4:ð �$‰Jð	4:ð
 �T‰\ð4:ð ð4:ð 	ó4:ðt )-ØØ Ø!ØØØŸ™Ø/3ñ:Øð:à—‘×3Ñ3ð:ð �;‰;×Ñ Ñ%ð:ð ð	:ð
 �T‰\ð:ð �d‰lð:ð �$‰Jð:ð ð:ð ð:ð ×Ñ×%Ñ%¨Ñ,ð:ð 
ô:øðO ò ßÐðús   Á6\  Ü \Ü\