ó
    ÜãiÛ  ã                  óè   • S r SSKJr  SSKJr  SSKJrJr  SSKJ	r	  SSK
JrJr  \\\\   4   r\rSr\" S	5      r\\-  r\r " S
 S5      r " S S5      r    SS jr          SS jrSS jrg)a‡  Multicast DNS Service Discovery for Python, v0.14-wmcbrine
Copyright 2003 Paul Scott-Murphy, 2014 William McBrine

This module provides a framework for the use of DNS Service Discovery
using IP multicast.

This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2.1 of the License, or (at your option) any later version.

This library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Lesser General Public License for more details.

You should have received a copy of the GNU Lesser General Public
License along with this library; if not, write to the Free Software
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301
USA
é    )Úannotations)Ú
attrgetteré   )ÚDNSQuestionÚ	DNSRecord)ÚDNSOutgoing)Ú	_FLAGS_AAÚ_FLAGS_QR_RESPONSE)é   éx   Únamec                  óD   • \ rS rSrSrSr          SS jrSS jrSrg)	ÚQuestionAnswersé-   z!A group of answers to a question.)Úmcast_aggregateÚmcast_aggregate_last_secondÚ	mcast_nowÚucastc                ó4   • Xl         X l        X0l        X@l        g)zInitialize a QuestionAnswers.N©r   r   r   r   )Úselfr   r   r   r   s        ÚQ/home/sebas/venvs/catt/lib/python3.13/site-packages/zeroconf/_handlers/answers.pyÚ__init__ÚQuestionAnswers.__init__2   s   € ð Œ
Ø"ŒØ.ÔØ+FÕ(ó    c           	     óp   • SU R                    SU R                   SU R                   SU R                   S3	$ )z7Return a string representation of this QuestionAnswers.zQuestionAnswers(ucast=z, mcast_now=z, mcast_aggregate=z, mcast_aggregate_last_second=Ú)r   )r   s    r   Ú__repr__ÚQuestionAnswers.__repr__?   sJ   € ð % T§Z¡Z L°¸T¿^¹^Ð<Lð MØ#×3Ñ3Ð4ð 5+Ø+/×+KÑ+KÐ*LÈAðOð	
r   N)
r   Ú_AnswerWithAdditionalsTyper   r    r   r    r   r    ÚreturnÚNone)r!   Ústr)	Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__Ú	__slots__r   r   Ú__static_attributes__© r   r   r   r   -   sK   † Ù+àX€IðGà)ðGð .ðGð 4ð	Gð
 &@ðGð 
ôG÷
r   r   c                  ó6   • \ rS rSrSrSr        SS jrSrg)ÚAnswerGroupéH   z9A group of answers scheduled to be sent at the same time.)ÚanswersÚ
send_afterÚsend_beforec                ó(   • Xl         X l        X0l        g )N)r0   r1   r/   )r   r0   r1   r/   s       r   r   ÚAnswerGroup.__init__M   s   € ð %ŒØ&ÔØr   N)r0   Úfloat_r1   r4   r/   r    r!   r"   )r$   r%   r&   r'   r(   r)   r   r*   r+   r   r   r-   r-   H   s5   † ÙCà8€Iðàðð ðð ,ð	ð
 
÷r   r-   c                ó<   • [        [        S5      n[        X5        U$ )ú-Add answers and additionals to a DNSOutgoing.T)r   Ú_FLAGS_QR_RESPONSE_AAÚ_add_answers_additionals)r/   Úouts     r   Ú$construct_outgoing_multicast_answersr:   X   s   € ô Ô+¨TÓ
2€CÜ˜SÔ*Ø€Jr   c                ó€   • [        [        SU5      nU(       a  U H  nUR                  U5        M     [        X@5        U$ )r6   F)r   r7   Úadd_questionr8   )r/   Úucast_sourceÚ	questionsÚid_r9   Úquestions         r   Ú"construct_outgoing_unicast_answersrA   a   s;   € ô Ô+¨U°CÓ
8€CæÛ!ˆHØ×Ñ˜XÖ&ñ "ä˜SÔ*Ø€Jr   c                óÔ   • [        U5      n[        U[        S9 HK  nU R                  US5        X   nU H,  nXR;  d  M
  U R	                  U5        UR                  U5        M.     MM     g )N)Úkeyr   )ÚsetÚsortedÚNAME_GETTERÚadd_answer_at_timeÚadd_additional_answerÚadd)r9   r/   ÚsendingÚanswerÚadditionalsÚ
additionals         r   r8   r8   q   s_   € ä! '›l€Gô ˜¤kÔ2ˆØ×Ñ˜v qÔ)Ø‘oˆÛ%ˆJØÕ(Ø×)Ñ)¨*Ô5Ø—‘˜JÖ'ó &ò 3r   N)r/   r    r!   r   )
r/   r    r=   Úboolr>   zlist[DNSQuestion]r?   Úint_r!   r   )r9   r   r/   r    r!   r"   )r(   Ú
__future__r   Úoperatorr   Ú_dnsr   r   Ú_protocol.outgoingr   Úconstr	   r
   ÚdictrD   r    ÚintrO   ÚMULTICAST_DELAY_RANDOM_INTERVALrF   r7   Úfloatr4   r   r-   r:   rA   r8   r+   r   r   Ú<module>rY      s·   ðñõ, #å ç )Ý ,ß 1à! )¨S°©^Ð";Ñ<Ð à
€ð #,Ð á˜Ó €à*¨YÑ6Ð à	€÷
ñ 
÷6ñ ð Ø'ðàôðØ'ðàðð !ðð 
ð	ð
 ôõ (r   