+
    üÐjóA  ã                  ó4  € R t ^ RIHt ^ RIHt ^ RIHt ^ RIHt ^ RIH	t	 ^ RI
HtHtHtHtHtHtHtHtHt ^ RIHtHt ^ RIHtHtHtHt ^ R	IHt ^ R
IHt  ! R R]4      t  ! R R]4      t! ! R R4      t" ! R R]4      t# ! R R]4      t$ ! R R]4      t%R# )z(
Tests for L{twisted.internet.testing}.
)Úannotations)ÚCallable)ÚverifyObject)ÚProtocol)ÚIPv4Address)	ÚIAddressÚ
IConnectorÚ	IConsumerÚIListeningPortÚIPushProducerÚIReactorSSLÚIReactorTCPÚIReactorUNIXÚ
ITransport)ÚClientFactoryÚFactory)ÚMemoryReactorÚNonStreamingProducerÚRaisingMemoryReactorÚStringTransport)ÚnamedAny)ÚTestCasec                  óþ   € ] tR t^&tRtR R ltR R ltR R ltR R	 ltR
 R lt	R R lt
R R ltR R ltR R ltR R ltR R ltR R ltR R ltR R ltR R ltR  R! ltR" R# ltR$ R% ltR& R' ltR(tR)# )*ÚStringTransportTestsz8
Tests for L{twisted.internet.testing.StringTransport}.
c               ó   € V ^8„  d   QhRR/# ©é   ÚreturnÚNone© )Úformats   "ÚD/usr/lib/python3/dist-packages/twisted/internet/test/test_testing.pyÚ__annotate__Ú!StringTransportTests.__annotate__+   s   € ÷ +ñ +�tñ +ó    c                	ó$   € \        4       V n        R # ©N)r   Ú	transport©Úselfs   &r!   ÚsetUpÚStringTransportTests.setUp+   s   € Ü(Ó*ˆŽr$   c               ó   € V ^8„  d   QhRR/# r   r   )r    s   "r!   r"   r#   .   s   € ÷ Añ A ñ Ar$   c                óü   € V P                  \        \        V P                  4      4       V P                  \        \        V P                  4      4       V P                  \        \
        V P                  4      4       R# )zY
L{StringTransport} instances provide L{ITransport}, L{IPushProducer},
and L{IConsumer}.
N)Ú
assertTruer   r   r'   r   r	   r(   s   &r!   Útest_interfacesÚ$StringTransportTests.test_interfaces.   sI   € ð
 	�‰œ¤Z°·±Ó@ÔAØ�‰œ¤]°D·N±NÓCÔDØ�‰œ¤Y°·±Ó?Ö@r$   c               ó   € V ^8„  d   QhRR/# r   r   )r    s   "r!   r"   r#   7   s   € ÷ 	;ñ 	; tñ 	;r$   c                óü   € \        4       p\        4       pV P                  P                  W4       V P                  V P                  P                  V4       V P                  V P                  P
                  V4       R# )zb
L{StringTransport.registerProducer} records the arguments supplied to
it as instance attributes.
N)Úobjectr'   ÚregisterProducerÚassertIsÚproducerÚ	streaming©r)   r6   r7   s   &  r!   Útest_registerProducerÚ*StringTransportTests.test_registerProducer7   sT   € ô
 “8ˆÜ“Hˆ	Ø�‰×'Ñ'¨Ô<Ø�‰�d—n‘n×-Ñ-¨xÔ8Ø�‰�d—n‘n×.Ñ.°	Ö:r$   c               ó   € V ^8„  d   QhRR/# r   r   )r    s   "r!   r"   r#   B   s   € ÷ 2ñ 2°ñ 2r$   c                óP  € \        4       pV P                  P                  VR4       V P                  \        V P                  P                  \        4       R4       V P                  V P                  P                  V4       V P                  V P                  P                  4       R# )za
L{StringTransport.registerProducer} raises L{RuntimeError} if a
producer is already registered.
TFN)	r3   r'   r4   ÚassertRaisesÚRuntimeErrorr5   r6   r.   r7   )r)   r6   s   & r!   Útest_disallowedRegisterProducerÚ4StringTransportTests.test_disallowedRegisterProducerB   sr   € ô
 “8ˆØ�‰×'Ñ'¨°$Ô7Ø×ÑÜ˜$Ÿ.™.×9Ñ9¼6»8ÀUô	
ð 	�‰�d—n‘n×-Ñ-¨xÔ8Ø�‰˜Ÿ™×0Ñ0Ö1r$   c               ó   € V ^8„  d   QhRR/# r   r   )r    s   "r!   r"   r#   O   s   € ÷ 2ñ 2¨ñ 2r$   c                ó²  € \        4       p\        4       pV P                  P                  VR4       V P                  P                  4        V P	                  V P                  P
                  4       V P                  P                  VR4       V P                  V P                  P
                  V4       V P                  V P                  P                  4       R# )z‘
L{StringTransport.unregisterProducer} causes the transport to forget
about the registered producer and makes it possible to register a new
one.
FTN)	r3   r'   r4   ÚunregisterProducerÚassertIsNoner6   r5   r.   r7   )r)   ÚoldProducerÚnewProducers   &  r!   Útest_unregisterProducerÚ,StringTransportTests.test_unregisterProducerO   s�   € ô “hˆÜ“hˆØ�‰×'Ñ'¨°UÔ;Ø�‰×)Ñ)Ô+Ø×Ñ˜$Ÿ.™.×1Ñ1Ô2Ø�‰×'Ñ'¨°TÔ:Ø�‰�d—n‘n×-Ñ-¨{Ô;Ø�‰˜Ÿ™×0Ñ0Ö1r$   c               ó   € V ^8„  d   QhRR/# r   r   )r    s   "r!   r"   r#   ^   s   € ÷ Kñ K°ñ Kr$   c                óZ   € V P                  \        V P                  P                  4       R# )zh
L{StringTransport.unregisterProducer} raises L{RuntimeError} if called
when no producer is registered.
N)r=   r>   r'   rC   r(   s   &r!   Útest_invalidUnregisterProducerÚ3StringTransportTests.test_invalidUnregisterProducer^   s   € ð
 	×Ñœ,¨¯©×(IÑ(IÖJr$   c               ó   € V ^8„  d   QhRR/# r   r   )r    s   "r!   r"   r#   e   s   € ÷ Dñ D¨4ñ Dr$   c                óR   € V P                  V P                  P                  R4       R# )z?
L{StringTransport.producerState} is initially C{'producing'}.
Ú	producingN)ÚassertEqualr'   ÚproducerStater(   s   &r!   Útest_initialProducerStateÚ.StringTransportTests.test_initialProducerStatee   s   € ð 	×Ñ˜Ÿ™×5Ñ5°{ÖCr$   c               ó   € V ^8„  d   QhRR/# r   r   )r    s   "r!   r"   r#   k   s   € ÷ Añ A Tñ Ar$   c                ó†   € V P                   P                  4        V P                  V P                   P                  R4       R# )za
L{StringTransport.pauseProducing} changes the C{producerState} of the
transport to C{'paused'}.
ÚpausedN)r'   ÚpauseProducingrP   rQ   r(   s   &r!   Útest_pauseProducingÚ(StringTransportTests.test_pauseProducingk   s.   € ð
 	�‰×%Ñ%Ô'Ø×Ñ˜Ÿ™×5Ñ5°xÖ@r$   c               ó   € V ^8„  d   QhRR/# r   r   )r    s   "r!   r"   r#   s   s   € ÷ Dñ D dñ Dr$   c                óº   € V P                   P                  4        V P                   P                  4        V P                  V P                   P                  R4       R# )ze
L{StringTransport.resumeProducing} changes the C{producerState} of the
transport to C{'producing'}.
rO   N)r'   rW   ÚresumeProducingrP   rQ   r(   s   &r!   Útest_resumeProducingÚ)StringTransportTests.test_resumeProducings   s>   € ð
 	�‰×%Ñ%Ô'Ø�‰×&Ñ&Ô(Ø×Ñ˜Ÿ™×5Ñ5°{ÖCr$   c               ó   € V ^8„  d   QhRR/# r   r   )r    s   "r!   r"   r#   |   s   € ÷ Bñ B Dñ Br$   c                ó†   € V P                   P                  4        V P                  V P                   P                  R4       R# )zc
L{StringTransport.stopProducing} changes the C{'producerState'} of the
transport to C{'stopped'}.
ÚstoppedN)r'   ÚstopProducingrP   rQ   r(   s   &r!   Útest_stopProducingÚ'StringTransportTests.test_stopProducing|   s.   € ð
 	�‰×$Ñ$Ô&Ø×Ñ˜Ÿ™×5Ñ5°yÖAr$   c               ó   € V ^8„  d   QhRR/# r   r   )r    s   "r!   r"   r#   „   s   € ÷ Gñ G°$ñ Gr$   c                óŽ   € V P                   P                  4        V P                  \        V P                   P                  4       R# )z]
L{StringTransport.pauseProducing} raises L{RuntimeError} if the
transport has been stopped.
N)r'   rb   r=   r>   rW   r(   s   &r!   Ú test_stoppedTransportCannotPauseÚ5StringTransportTests.test_stoppedTransportCannotPause„   s.   € ð
 	�‰×$Ñ$Ô&Ø×Ñœ,¨¯©×(EÑ(EÖFr$   c               ó   € V ^8„  d   QhRR/# r   r   )r    s   "r!   r"   r#   Œ   s   € ÷ Hñ H°4ñ Hr$   c                óŽ   € V P                   P                  4        V P                  \        V P                   P                  4       R# )z^
L{StringTransport.resumeProducing} raises L{RuntimeError} if the
transport has been stopped.
N)r'   rb   r=   r>   r\   r(   s   &r!   Ú!test_stoppedTransportCannotResumeÚ6StringTransportTests.test_stoppedTransportCannotResumeŒ   s.   € ð
 	�‰×$Ñ$Ô&Ø×Ñœ,¨¯©×(FÑ(FÖGr$   c               ó   € V ^8„  d   QhRR/# r   r   )r    s   "r!   r"   r#   ”   s   € ÷ Gñ G¸ñ Gr$   c                óŽ   € V P                   P                  4        V P                  \        V P                   P                  4       R# )zb
L{StringTransport.pauseProducing} raises L{RuntimeError} if the
transport is being disconnected.
N)r'   ÚloseConnectionr=   r>   rW   r(   s   &r!   Ú&test_disconnectingTransportCannotPauseÚ;StringTransportTests.test_disconnectingTransportCannotPause”   s.   € ð
 	�‰×%Ñ%Ô'Ø×Ñœ,¨¯©×(EÑ(EÖFr$   c               ó   € V ^8„  d   QhRR/# r   r   )r    s   "r!   r"   r#   œ   s   € ÷ Hñ H¸ñ Hr$   c                óŽ   € V P                   P                  4        V P                  \        V P                   P                  4       R# )zc
L{StringTransport.resumeProducing} raises L{RuntimeError} if the
transport is being disconnected.
N)r'   ro   r=   r>   r\   r(   s   &r!   Ú'test_disconnectingTransportCannotResumeÚ<StringTransportTests.test_disconnectingTransportCannotResumeœ   s.   € ð
 	�‰×%Ñ%Ô'Ø×Ñœ,¨¯©×(FÑ(FÖGr$   c               ó   € V ^8„  d   QhRR/# r   r   )r    s   "r!   r"   r#   ¤   s   € ÷ 6ñ 6°dñ 6r$   c                óÎ   € V P                  V P                  P                  4       V P                  P                  4        V P	                  V P                  P                  4       R# )z^
L{StringTransport.loseConnection} toggles the C{disconnecting} instance
variable to C{True}.
N)ÚassertFalser'   Údisconnectingro   r.   r(   s   &r!   Ú$test_loseConnectionSetsDisconnectingÚ9StringTransportTests.test_loseConnectionSetsDisconnecting¤   sB   € ð
 	×Ñ˜Ÿ™×5Ñ5Ô6Ø�‰×%Ñ%Ô'Ø�‰˜Ÿ™×4Ñ4Ö5r$   c               ó   € V ^8„  d   QhRR/# r   r   )r    s   "r!   r"   r#   ­   s   € ÷ Cñ C¨4ñ Cr$   c                ól   € \        4       pV P                  \        V4      P                  4       V4       R# )zu
If a host address is passed to L{StringTransport.__init__}, that
value is returned from L{StringTransport.getHost}.
N)r3   r5   r   ÚgetHost©r)   Úaddresss   & r!   Útest_specifiedHostAddressÚ.StringTransportTests.test_specifiedHostAddress­   s'   € ô
 “(ˆØ�‰”o gÓ.×6Ñ6Ó8¸'ÖBr$   c               ó   € V ^8„  d   QhRR/# r   r   )r    s   "r!   r"   r#   µ   s   € ÷ Oñ O¨4ñ Or$   c                ón   € \        4       pV P                  \        VR7      P                  4       V4       R# )zu
If a peer address is passed to L{StringTransport.__init__}, that
value is returned from L{StringTransport.getPeer}.
)ÚpeerAddressN)r3   r5   r   ÚgetPeerr   s   & r!   Útest_specifiedPeerAddressÚ.StringTransportTests.test_specifiedPeerAddressµ   s'   € ô
 “(ˆØ�‰”o°'Ô:×BÑBÓDÀgÖNr$   c               ó   € V ^8„  d   QhRR/# r   r   )r    s   "r!   r"   r#   ½   ó   € ÷ 4ñ 4¨ñ 4r$   c                ób   € \        4       P                  4       pV P                  V\        4       R# )z}
If no host address is passed to L{StringTransport.__init__}, an
L{IPv4Address} is returned from L{StringTransport.getHost}.
N)r   r~   ÚassertIsInstancer   r   s   & r!   Útest_defaultHostAddressÚ,StringTransportTests.test_defaultHostAddress½   ó%   € ô
 "Ó#×+Ñ+Ó-ˆØ×Ñ˜g¤{Ö3r$   c               ó   € V ^8„  d   QhRR/# r   r   )r    s   "r!   r"   r#   Å   rŠ   r$   c                ób   € \        4       P                  4       pV P                  V\        4       R# )z}
If no peer address is passed to L{StringTransport.__init__}, an
L{IPv4Address} is returned from L{StringTransport.getPeer}.
N)r   r†   rŒ   r   r   s   & r!   Útest_defaultPeerAddressÚ,StringTransportTests.test_defaultPeerAddressÅ   r�   r$   )r'   N)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__r*   r/   r9   r?   rG   rK   rR   rX   r]   rc   rg   rk   rp   rt   rz   r�   r‡   r�   r’   Ú__static_attributes__r   r$   r!   r   r   &   sw   † ñõ+õAõ	;õ2õ2õKõDõAõDõBõGõHõGõHõ6õCõOõ4÷4ñ 4r$   r   c                  ób   € ] tR t^ÎtRtR R ltR R ltR R ltR R	 ltR
 R lt	R R lt
RtR# )ÚReactorTestsz9
Tests for L{MemoryReactor} and L{RaisingMemoryReactor}.
c               ó   € V ^8„  d   QhRR/# r   r   )r    s   "r!   r"   ÚReactorTests.__annotate__Ó   s   € ÷ 2ñ 2¨Dñ 2r$   c                óz   € \        4       p\        \        V4       \        \        V4       \        \        V4       R# )z\
L{MemoryReactor} provides all of the attributes described by the
interfaces it advertises.
N)r   r   r   r   r   )r)   ÚmemoryReactors   & r!   Útest_memoryReactorProvidesÚ'ReactorTests.test_memoryReactorProvidesÓ   s)   € ô
 &›ˆÜ”[ -Ô0Ü”[ -Ô0Ü”\ =Ö1r$   c               ó   € V ^8„  d   QhRR/# r   r   )r    s   "r!   r"   r�   Ý   s   € ÷ 3ñ 3¨Tñ 3r$   c                óz   € \        4       p\        \        V4       \        \        V4       \        \        V4       R# )zc
L{RaisingMemoryReactor} provides all of the attributes described by the
interfaces it advertises.
N)r   r   r   r   r   )r)   ÚraisingReactors   & r!   Útest_raisingReactorProvidesÚ(ReactorTests.test_raisingReactorProvidesÝ   s*   € ô
 .Ó/ˆÜ”[ .Ô1Ü”[ .Ô1Ü”\ >Ö2r$   c               ó   € V ^8„  d   QhRR/# r   r   )r    s   "r!   r"   r�   ç   s   € ÷ 6ñ 6¨ñ 6r$   c                ó2  € \        4       pVP                  RR\        4       4      VP                  RR\        4       R4      3 Fk  p\	        \
        V4       VP                  4       p\	        \        V4       V P                  VP                  R4       V P                  VP                  R4       Km  	  VP                  R\        4       4      p\	        \
        V4       VP                  4       p\	        \        V4       V P                  VP                  R4       R# )zà
L{MemoryReactor.connectTCP}, L{MemoryReactor.connectSSL}, and
L{MemoryReactor.connectUNIX} will return an L{IConnector} whose
C{getDestination} method returns an L{IAddress} with attributes which
reflect the values passed.
ztest.example.comi�   Ns
   /fake/path)r   Ú
connectTCPr   Ú
connectSSLr   r   ÚgetDestinationr   rP   ÚhostÚportÚconnectUNIXÚname)r)   rŸ   Ú	connectorr€   s   &   r!   Útest_connectDestinationÚ$ReactorTests.test_connectDestinationç   sÝ   € ô &›ˆà×$Ñ$Ð%7¸¼}»ÓOØ×$Ñ$Ð%7¸¼}»ÐPTÓUó
ˆIô œ YÔ/Ø×.Ñ.Ó0ˆGÜœ 7Ô+Ø×Ñ˜WŸ\™\Ð+=Ô>Ø×Ñ˜WŸ\™\¨4Ö0ñ
ð "×-Ñ-¨m¼]»_ÓMˆ	Ü”Z Ô+Ø×*Ñ*Ó,ˆÜ”X˜wÔ'Ø×Ñ˜Ÿ™ }Ö5r$   c               ó   € V ^8„  d   QhRR/# r   r   )r    s   "r!   r"   r�   þ   s   € ÷ ;ñ ;¨ñ ;r$   c                ó.  € \        4       pVP                  R\        4       4      VP                  R\        4       R4      3 Fk  p\	        \
        V4       VP                  4       p\	        \        V4       V P                  VP                  R4       V P                  VP                  R4       Km  	  VP                  R\        4       4      p\	        \
        V4       VP                  4       p\	        \        V4       V P                  VP                  R4       R# )a^  
L{MemoryReactor.listenTCP}, L{MemoryReactor.listenSSL} and
L{MemoryReactor.listenUNIX} will return an L{IListeningPort} whose
C{getHost} method returns an L{IAddress}; C{listenTCP} and C{listenSSL}
will have a default host of C{'0.0.0.0'}, and a port that reflects the
value passed, and C{listenUNIX} will have a name that reflects the path
passed.
i2   Nz0.0.0.0s   /path/to/socket)r   Ú	listenTCPr   Ú	listenSSLr   r
   r~   r   rP   r¬   r­   Ú
listenUNIXr¯   )r)   rŸ   r­   r€   s   &   r!   Útest_listenDefaultHostÚ#ReactorTests.test_listenDefaultHostþ   sÑ   € ô &›ˆà×#Ñ# D¬'«)Ó4Ø×#Ñ# D¬'«)°TÓ:ó
ˆDô œ¨Ô.Ø—l‘l“nˆGÜœ 7Ô+Ø×Ñ˜WŸ\™\¨9Ô5Ø×Ñ˜WŸ\™\¨4Ö0ñ
ð ×'Ñ'Ð(:¼G»IÓFˆÜ”^ TÔ*Ø—,‘,“.ˆÜ”X˜wÔ'Ø×Ñ˜Ÿ™Ð'9Ö:r$   c               ó   € V ^8„  d   QhRR/# r   r   )r    s   "r!   r"   r�     ó   € ÷ 3ñ 3˜dñ 3r$   c                ó  € \        4       p\        4       pVP                  V4       VP                  V4       V P                  VP	                  4       V.4       VP                  V4       V P                  VP	                  4       . 4       R# )z.
Adding, removing, and listing readers works.
N)r3   r   Ú	addReaderrP   Ú
getReadersÚremoveReader)r)   ÚreaderÚreactors   &  r!   Útest_readersÚReactorTests.test_readers  óp   € ô “ˆÜ“/ˆà×Ñ˜&Ô!Ø×Ñ˜&Ô!à×Ñ˜×+Ñ+Ó-°¨xÔ8à×Ñ˜VÔ$à×Ñ˜×+Ñ+Ó-¨rÖ2r$   c               ó   € V ^8„  d   QhRR/# r   r   )r    s   "r!   r"   r�   '  r»   r$   c                ó  € \        4       p\        4       pVP                  V4       VP                  V4       V P                  VP	                  4       V.4       VP                  V4       V P                  VP	                  4       . 4       R# )z.
Adding, removing, and listing writers works.
N)r3   r   Ú	addWriterrP   Ú
getWritersÚremoveWriter)r)   ÚwriterrÁ   s   &  r!   Útest_writersÚReactorTests.test_writers'  rÄ   r$   r   N)r”   r•   r–   r—   r˜   r    r¥   r±   r¸   rÂ   rË   r™   r   r$   r!   r›   r›   Î   s*   † ñõ2õ3õ6õ.;õ23÷ 3ñ 3r$   r›   c                  óJ   € ] tR tRtRtR R ltR R ltR R ltR	 R
 ltRt	R# )ÚTestConsumeri8  zH
A very basic test consumer for use with the NonStreamingProducerTests.
c               ó   € V ^8„  d   QhRR/# r   r   )r    s   "r!   r"   ÚTestConsumer.__annotate__=  s   € ÷ 3ñ 3˜$ñ 3r$   c                	ó0   € . V n         R V n        R V n        R # r&   )Úwritesr6   ÚproducerStreamingr(   s   &r!   Ú__init__ÚTestConsumer.__init__=  s   € Ø#%ˆŒØ $ˆŒØ.2ˆÖr$   c               ó$   € V ^8„  d   QhRRRRRR/# )r   r6   r3   r7   Úboolr   r   r   )r    s   "r!   r"   rÐ   B  s!   € ÷ +ñ +¨ð +¸Dð +ÀTñ +r$   c                ó   € Wn         W n        R# )z·
Registers a single producer with this consumer. Just keeps track of it.

@param producer: The producer to register.
@param streaming: Whether the producer is a streaming one or not.
N©r6   rÓ   r8   s   &&&r!   r4   ÚTestConsumer.registerProducerB  s   € ð !ŒØ!*Ör$   c               ó   € V ^8„  d   QhRR/# r   r   )r    s   "r!   r"   rÐ   L  s   € ÷ &ñ & Dñ &r$   c                ó"   € RV n         RV n        R# )z3
Forget the producer we had previously registered.
NrÙ   r(   s   &r!   rC   ÚTestConsumer.unregisterProducerL  s   € ð ˆŒØ!%ˆÖr$   c               ó    € V ^8„  d   QhRRRR/# )r   ÚdataÚbytesr   r   r   )r    s   "r!   r"   rÐ   S  s   € ÷ !ñ !˜%ð ! Dñ !r$   c                ó<   € V P                   P                  V4       R# )zb
Some data was written to the consumer: stores it for later use.

@param data: The data to write.
N)rÒ   Úappend)r)   rß   s   &&r!   ÚwriteÚTestConsumer.writeS  s   € ð 	�‰×Ñ˜4Ö r$   )r6   rÓ   rÒ   N)
r”   r•   r–   r—   r˜   rÔ   r4   rC   rã   r™   r   r$   r!   rÎ   rÎ   8  s    † ñõ3õ
+õ&÷!ñ !r$   rÎ   c                  ó2   € ] tR tRtRtR R ltR R ltRtR# )	ÚNonStreamingProducerTestsi\  z>
Tests for the L{NonStreamingProducer} to validate behaviour.
c               ó   € V ^8„  d   QhRR/# r   r   )r    s   "r!   r"   Ú&NonStreamingProducerTests.__annotate__a  s   € ÷ Bñ B¨$ñ Br$   c                ó`  € \        4       p\        V4      pVP                  VR4       V P                  VP                  V4       V P                  VP
                  V4       V P                  VP                  4       \        ^
4       F  pVP                  4        K  	  . ROpV P                  VP                  4       V P                  VP                  4       V P                  VP
                  4       V P                  VP                  V4       V P                  \        VP                  4       R# )zw
When the L{NonStreamingProducer} has resumeProducing called 10 times,
it writes the counter each time and then fails.
FN)
ó   0ó   1ó   2ó   3ó   4ó   5ó   6ó   7ó   8ó   9)rÎ   r   r4   r5   r6   Úconsumerrx   rÓ   Úranger\   rD   rP   rÒ   r=   r>   )r)   rô   r6   Ú_ÚexpectedWritess   &    r!   Útest_producesOnly10TimesÚ2NonStreamingProducerTests.test_producesOnly10Timesa  së   € ô
  “>ˆÜ'¨Ó1ˆØ×!Ñ! (¨EÔ2à�‰�h×'Ñ'¨Ô2Ø�‰�h×'Ñ'¨Ô2Ø×Ñ˜×3Ñ3Ô4ä�r–ˆAØ×$Ñ$Ö&ñ ò VˆØ×Ñ˜(×+Ñ+Ô,Ø×Ñ˜(×4Ñ4Ô5Ø×Ñ˜(×+Ñ+Ô,Ø×Ñ˜Ÿ™¨.Ô9ð 	×Ñœ,¨×(@Ñ(@ÖAr$   c               ó   € V ^8„  d   QhRR/# r   r   )r    s   "r!   r"   rè   {  s   € ÷ Añ A¨Dñ Ar$   c                ó´   € \        4       p\        V4      pVP                  VR4       VP                  4        V P	                  \
        VP                  4       R# )zJ
When the L{NonStreamingProducer} is paused, it raises a
L{RuntimeError}.
FN)rÎ   r   r4   r\   r=   r>   rW   )r)   rô   r6   s   &  r!   Útest_cannotPauseProductionÚ4NonStreamingProducerTests.test_cannotPauseProduction{  sI   € ô
  “>ˆÜ'¨Ó1ˆØ×!Ñ! (¨EÔ2ð 	× Ñ Ô"à×Ñœ,¨×(?Ñ(?Ö@r$   r   N)r”   r•   r–   r—   r˜   rø   rü   r™   r   r$   r!   ræ   ræ   \  s   † ñõB÷4Añ Ar$   ræ   c                  ó,   € ] tR tRt]R R l4       t RtR# )Ú_SupportsNameiŠ  c               ó   € V ^8„  d   QhRR/# )r   r   Ústrr   )r    s   "r!   r"   Ú_SupportsName.__annotate__Œ  s   € ÷ ñ ˜#ñ r$   c                	ó   € R # r&   r   r(   s   &r!   r”   Ú_SupportsName.__name__‹  s   € ár$   r   N)r”   r•   r–   r—   Úpropertyr™   r   r$   r!   rÿ   rÿ   Š  s   † Øôó ôr$   rÿ   c                  óÎ   € ] tR tRtRtR R ltR R ltR R ltR	 R
 ltR R lt	R R lt
R R ltR R ltR R ltR R ltR R ltR R ltR R ltR R ltR R  ltR!tR"# )#ÚDeprecationTestsi�  z0
Deprecations in L{twisted.test.proto_helpers}.
c               ó$   € V ^8„  d   QhRRRRRR/# )r   ÚtestzCallable[..., object]Úobjrÿ   r   r   r   )r    s   "r!   r"   ÚDeprecationTests.__annotate__•  s"   € ÷ /ñ /Ð0ð /°}ð /Èñ /r$   c                	ó:  € R VP                    2pV P                  V.4      pV P                  \        V^ ,          R,          4       V P                  ^\	        V4      4       V P                  W4^ ,          R,          4       V P                  V\        V4      4       R# )ztwisted.internet.testing.ÚcategoryÚmessageN)r”   ÚflushWarningsrP   ÚDeprecationWarningÚlenÚassertInr5   r   )r)   r	  r
  Únew_pathÚwarningss   &&&  r!   ÚhelperÚDeprecationTests.helper•  sz   € Ø.¨s¯|©|¨nÐ=ˆØ×%Ñ% t fÓ-ˆØ×ÑÔ+¨X°a­[¸Õ-DÔEØ×Ñ˜œC ›MÔ*Ø�‰�h¨¥¨IÕ 6Ô7Ø�‰�cœ8 HÓ-Ö.r$   c               ó   € V ^8„  d   QhRR/# r   r   )r    s   "r!   r"   r  �  ó   € ÷ Jñ J¨4ñ Jr$   c                	óJ   € ^ RI Hp V P                  V P                  V4       R# )é    )ÚAccumulatingProtocolN)Útwisted.test.proto_helpersr  r  Útest_accumulatingProtocol)r)   r  s   & r!   r  Ú*DeprecationTests.test_accumulatingProtocol�  ó   € ÝCà�‰�D×2Ñ2Ð4HÖIr$   c               ó   € V ^8„  d   QhRR/# r   r   )r    s   "r!   r"   r  ¢  s   € ÷ Hñ H¨$ñ Hr$   c                	óJ   € ^ RI Hp V P                  V P                  V4       R# )r  )ÚLineSendingProtocolN)r  r"  r  Útest_lineSendingProtocol)r)   r"  s   & r!   r#  Ú)DeprecationTests.test_lineSendingProtocol¢  s   € ÝBà�‰�D×1Ñ1Ð3FÖGr$   c               ó   € V ^8„  d   QhRR/# r   r   )r    s   "r!   r"   r  §  s   € ÷ Lñ L¨Dñ Lr$   c                	óJ   € ^ RI Hp V P                  V P                  V4       R# )r  )ÚFakeDatagramTransportN)r  r'  r  Útest_fakeDatagramTransport)r)   r'  s   & r!   r(  Ú+DeprecationTests.test_fakeDatagramTransport§  s   € ÝDà�‰�D×3Ñ3Ð5JÖKr$   c               ó   € V ^8„  d   QhRR/# r   r   )r    s   "r!   r"   r  ¬  s   € ÷ @ñ @ dñ @r$   c                	óJ   € ^ RI Hp V P                  V P                  V4       R# )r  )r   N)r  r   r  Útest_stringTransport)r)   r   s   & r!   r,  Ú%DeprecationTests.test_stringTransport¬  s   € Ý>à�‰�D×-Ñ-¨Ö?r$   c               ó   € V ^8„  d   QhRR/# r   r   )r    s   "r!   r"   r  ±  s   € ÷ 
ñ 
°tñ 
r$   c                	óJ   € ^ RI Hp V P                  V P                  V4       R# )r  )Ú StringTransportWithDisconnectionN)r  r0  r  Ú%test_stringTransportWithDisconnection)r)   r0  s   & r!   r1  Ú6DeprecationTests.test_stringTransportWithDisconnection±  s   € ÝOà�‰Ø×6Ñ6Ð8Xö	
r$   c               ó   € V ^8„  d   QhRR/# r   r   )r    s   "r!   r"   r  ¸  s   € ÷ Nñ N¨Tñ Nr$   c                	óJ   € ^ RI Hp V P                  V P                  V4       R# )r  )ÚStringIOWithoutClosingN)r  r5  r  Útest_stringIOWithoutClosing)r)   r5  s   & r!   r6  Ú,DeprecationTests.test_stringIOWithoutClosing¸  s   € ÝEà�‰�D×4Ñ4Ð6LÖMr$   c               ó   € V ^8„  d   QhRR/# r   r   )r    s   "r!   r"   r  ½  s   € ÷ >ñ > Tñ >r$   c                	óJ   € ^ RI Hp V P                  V P                  V4       R# )r  )Ú_FakeConnectorN)r  r:  r  Útest__fakeConnector)r)   r:  s   & r!   r;  Ú$DeprecationTests.test__fakeConnector½  s   € Ý=à�‰�D×,Ñ,¨nÖ=r$   c               ó   € V ^8„  d   QhRR/# r   r   )r    s   "r!   r"   r  Â  s   € ÷ 4ñ 4 ñ 4r$   c                	óJ   € ^ RI Hp V P                  V P                  V4       R# )r  )Ú	_FakePortN)r  r?  r  Útest__fakePort)r)   r?  s   & r!   r@  ÚDeprecationTests.test__fakePortÂ  s   € Ý8à�‰�D×'Ñ'¨Ö3r$   c               ó   € V ^8„  d   QhRR/# r   r   )r    s   "r!   r"   r  Ç  s   € ÷ <ñ < Dñ <r$   c                	óJ   € ^ RI Hp V P                  V P                  V4       R# )r  )r   N)r  r   r  Útest_memoryReactor)r)   r   s   & r!   rD  Ú#DeprecationTests.test_memoryReactorÇ  s   € Ý<à�‰�D×+Ñ+¨]Ö;r$   c               ó   € V ^8„  d   QhRR/# r   r   )r    s   "r!   r"   r  Ì  s   € ÷ Fñ F¨ñ Fr$   c                	óJ   € ^ RI Hp V P                  V P                  V4       R# )r  )ÚMemoryReactorClockN)r  rH  r  Útest_memoryReactorClock)r)   rH  s   & r!   rI  Ú(DeprecationTests.test_memoryReactorClockÌ  s   € ÝAà�‰�D×0Ñ0Ð2DÖEr$   c               ó   € V ^8„  d   QhRR/# r   r   )r    s   "r!   r"   r  Ñ  r  r$   c                	óJ   € ^ RI Hp V P                  V P                  V4       R# )r  )r   N)r  r   r  Útest_raisingMemoryReactor)r)   r   s   & r!   rM  Ú*DeprecationTests.test_raisingMemoryReactorÑ  r  r$   c               ó   € V ^8„  d   QhRR/# r   r   )r    s   "r!   r"   r  Ö  r  r$   c                	óJ   € ^ RI Hp V P                  V P                  V4       R# )r  )r   N)r  r   r  Útest_nonStreamingProducer)r)   r   s   & r!   rQ  Ú*DeprecationTests.test_nonStreamingProducerÖ  r  r$   c               ó   € V ^8„  d   QhRR/# r   r   )r    s   "r!   r"   r  Û  s   € ÷ Rñ R¨tñ Rr$   c                	óJ   € ^ RI Hp V P                  V P                  V4       R# )r  )ÚwaitUntilAllDisconnectedN)r  rU  r  Útest_waitUntilAllDisconnected)r)   rU  s   & r!   rV  Ú.DeprecationTests.test_waitUntilAllDisconnectedÛ  s   € ÝGà�‰�D×6Ñ6Ð8PÖQr$   c               ó   € V ^8„  d   QhRR/# r   r   )r    s   "r!   r"   r  à  r  r$   c                	óJ   € ^ RI Hp V P                  V P                  V4       R# )r  )ÚEventLoggingObserverN)r  rZ  r  Útest_eventLoggingObserver)r)   rZ  s   & r!   r[  Ú*DeprecationTests.test_eventLoggingObserverà  r  r$   r   N)r”   r•   r–   r—   r˜   r  r  r#  r(  r,  r1  r6  r;  r@  rD  rI  rM  rQ  rV  r[  r™   r   r$   r!   r  r  �  sb   † ñõ/õJõ
Hõ
Lõ
@õ

õNõ
>õ
4õ
<õ
Fõ
Jõ
Jõ
R÷
Jñ Jr$   r  N)&r˜   Ú
__future__r   Útypingr   Úzope.interface.verifyr   r   Útwisted.internet.addressr   Útwisted.internet.interfacesr   r   r	   r
   r   r   r   r   r   Útwisted.internet.protocolr   r   Útwisted.internet.testingr   r   r   r   Útwisted.python.reflectr   Útwisted.trial.unittestr   r   r›   rÎ   ræ   rÿ   r  r   r$   r!   Ú<module>rf     s•   ðñõ #å å .å å 0÷
÷ 
õ 
÷ =÷ó õ ,Ý +ôe4˜8ô e4ôPg3�8ô g3÷T!!ñ !!ôH+A ô +Aô\�Hô ôSJ�xö SJr$   