+
    üÐj  ã                   óž   € R t ^ RIt^ RIHt ^ RIHt ^ RIHt  ! R R4      t]! ]P                  4       ! R R]P                  4      4       tR# )	z1
Implementation of raw packet interfaces for UDP
N)Úimplementer)Úprotocol)Úrawc                   ó&   a € ] tR t^t o R tRtV tR# )Ú	UDPHeaderc                ót   € \         P                  ! R VR,          4      w  V n        V n        V n        V n        R# )z!HHHH:Né   NN)ÚstructÚunpackÚsourceÚdestÚlenÚcheck)ÚselfÚdatas   &&Ú5/usr/lib/python3/dist-packages/twisted/pair/rawudp.pyÚ__init__ÚUDPHeader.__init__   s*   € Ü9?¿ºØ�T˜"•Xó:
Ñ6ˆŒ�d”i ¤¨4®:ó    )r   r   r   r   N)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__r   Ú__static_attributes__Ú__classdictcell__©Ú__classdict__s   @r   r   r      s   ø‡ € ÷
ð 
r   r   c                   ó2   a € ] tR t^t o R tR tR tRtV tR# )ÚRawUDPProtocolc                ó   € / V n         R # )N©Ú	udpProtos)r   s   &r   r   ÚRawUDPProtocol.__init__   s	   € ØˆŽr   c                ó&  € \        V\        P                  4      '       g   \        R 4      hV^ 8  d   \        R4      hVR8¼  d   \        R4      hWP                  9  d   . V P                  V&   V P                  V,          P                  V4       R# )z6Added protocol must be an instance of DatagramProtocolz'Added protocol must be positive or zeroz"Added protocol must fit in 16 bitsNi   )Ú
isinstancer   ÚDatagramProtocolÚ	TypeErrorr!   Úappend)r   ÚnumÚprotos   &&&r   ÚaddProtoÚRawUDPProtocol.addProto   sv   € Ü˜%¤×!:Ñ!:×;Ò;ÜÐTÓUÐUØ�Œ7ÜÐEÓFÐFØ�%Œ<ÜÐ@ÓAÐAØ—n‘nÔ$Ø"$ˆD�N‰N˜3ÑØ�‰�sÕ×"Ñ" 5Ö)r   c                ó¾   € \        V4      pV P                  P                  VP                  R4       F'  pVP	                  VR ,          W?P
                  34       K)  	  R# ):r   NNN© )r   r!   Úgetr   ÚdatagramReceivedr   )r   r   Úpartialr   r   r   ÚversionÚihlÚtosÚtot_lenÚfragment_idÚfragment_offsetÚdont_fragmentÚmore_fragmentsÚttlÚheaderr)   s   &&&&&&&&&&&&&&&  r   r/   ÚRawUDPProtocol.datagramReceived(   sG   € ô" ˜4“ˆØ—^‘^×'Ñ'¨¯©°RÖ8ˆEØ×"Ñ" 4¨¥8¨f·m±mÐ-DÖEó 9r   r    N)	r   r   r   r   r   r*   r/   r   r   r   s   @r   r   r      s   ø‡ € òò	*÷Fð Fr   r   )Ú__doc__r	   Úzope.interfacer   Útwisted.internetr   Útwisted.pairr   r   ÚIRawDatagramProtocolÚAbstractDatagramProtocolr   r-   r   r   Ú<module>rB      sQ   ðñ
ó å &å %Ý ÷
ñ 
ñ ˆS×%Ñ%Ó&ô"F�X×6Ñ6ó "Fó 'ò"Fr   