+
    üÐj'  ã                   óØ   € R t ^ RIHt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IHt  ! R R]],          ]4      tR# )z7
Utility classes for dealing with circular references.
)ÚlogÚreflect)Ú_constructMethodc                   ó<   a € ] tR t^t o R tR tRtR tR tRt	V t
R# )ÚNotKnownc                ó"   € . V n         ^ V n        R# ©é    N)Ú
dependantsÚresolved©Úselfs   &Ú</usr/lib/python3/dist-packages/twisted/persisted/crefutil.pyÚ__init__ÚNotKnown.__init__   s   € ØˆŒØˆŽó    c                óf   € V P                   '       d   Q hV P                  P                  W34       R # ©N)r   r
   Úappend)r   ÚmutableObjectÚkeys   &&&r   ÚaddDependantÚNotKnown.addDependant   s&   € Ø—=—=�=Ð Ð Ø�‰×Ñ Ð3Ö4r   Nc                óR   € ^V n         Wn        V P                   F	  w  r#WV&   K  	  R# )é   N)r   ÚresolvedObjectr
   )r   Ú	newObjectÚmutr   s   &&  r   ÚresolveDependantsÚNotKnown.resolveDependants   s&   € ØˆŒØ'ÔØŸœ‰HˆCØ �‹Hó (r   c                ó   € Q R4       h)r	   z(I am not to be used as a dictionary key.© r   s   &r   Ú__hash__ÚNotKnown.__hash__!   s   € Ø<Ð<Ó<ˆqr   )r
   r   r   )Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__r   r   r   r   r"   Ú__static_attributes__Ú__classdictcell__©Ú__classdict__s   @r   r   r      s%   ø‡ € òò5ð €Nò!÷=ð =r   r   c                   ó0   a € ] tR t^%t o RtR tR tRtV tR# )Ú
_ContainerzC
Helper class to resolve circular references on container objects.
c                óÞ  € \         P                  V 4       W n        Wn        \	        \        \        V4      4      4      V n        \        \        V4      4       FS  p\        W,          \         4      '       g   V P                  P                  V4       K<  W,          P                  W4       KU  	  V P                  '       g-   V P                  V P                  V P                  4      4       R# R# )z¤
@param l: The list of object which may contain some not yet referenced
objects.

@param containerType: A type of container objects (e.g., C{tuple} or
    C{set}).
N)r   r   ÚcontainerTypeÚlÚlistÚrangeÚlenÚlocsÚ
isinstanceÚremover   r   )r   r0   r/   Úidxs   &&& r   r   Ú_Container.__init__*   s¡   € ô 	×Ñ˜$ÔØ*ÔØŒÜœœs 1›v›Ó'ˆŒ	Üœ˜Q›–=ˆCÜ˜a�f¤h×/Ò/Ø—	‘	× Ñ  Ö%à•×#Ñ# DÖ.ñ	 !ð
 �y�yˆyØ×"Ñ" 4×#5Ñ#5°d·f±fÓ#=Ö>ñ r   c                ó  € W P                   V&   \        V\        4      '       g\   V P                  P	                  V4       V P                  '       g-   V P                  V P                  V P                   4      4       R# R# R# )zh
Change the value of one contained objects, and resolve references if
all objects have been referenced.
N)r0   r5   r   r4   r6   r   r/   ©r   ÚnÚobjs   &&&r   Ú__setitem__Ú_Container.__setitem__>   s^   € ð
 �‰ˆq‰	Ü˜#œx×(Ò(Ø�I‰I×Ñ˜QÔØ—9—9�9Ø×&Ñ& t×'9Ñ'9¸$¿&¹&Ó'AÖBñ ñ )r   )r/   r0   r4   N)	r$   r%   r&   r'   Ú__doc__r   r=   r(   r)   r*   s   @r   r-   r-   %   s   ø‡ € ñò?÷(	Cð 	Cr   r-   c                   ó*   a € ] tR t^Jt o RtR tRtV tR# )Ú_TuplezU
Manage tuple containing circular references. Deprecated: use C{_Container}
instead.
c                ó:   € \         P                  W\        4       R# )zQ
@param l: The list of object which may contain some not yet referenced
objects.
N)r-   r   Útuple)r   r0   s   &&r   r   Ú_Tuple.__init__P   s   € ô
 	×Ñ˜D¤UÖ+r   r!   N)r$   r%   r&   r'   r?   r   r(   r)   r*   s   @r   rA   rA   J   s   ø‡ € ñ÷
,ð ,r   rA   c                   ó2   a € ] tR t^Xt o R tR tR tRtV tR# )Ú_InstanceMethodc                ól   € \         P                  V 4       W0n        Wn        VP	                  V ^ 4       R# r   )r   r   Úmy_classÚnamer   )r   Úim_nameÚim_selfÚim_classs   &&&&r   r   Ú_InstanceMethod.__init__Y   s*   € Ü×Ñ˜$ÔØ ŒØŒ	à×Ñ˜T 1Ö%r   c                ó  € ^ RI p\        P                  ! R\        P                  ! V P
                  4       RV P                   24       \        P                  ! RV: RV: 24       VP                  \        P                  R7       Q h)r	   Nzinstance method Ú.zbeing called with Ú )Úfile)	Ú	tracebackr   Úmsgr   ÚqualrH   rI   Úprint_stackÚlogfile)r   ÚargsÚkwrR   s   &*, r   Ú__call__Ú_InstanceMethod.__call__`   se   € Ûä�ŠÐ"¤7§<¢<°·±Ó#>Ð"?¸qÀÇÁÀÐLÔMÜ�ŠÐ$ T¡H¨A¨b©VÐ4Ô5Ø×Ñ¤3§;¡;ÐÔ/Øˆqr   c                ó¶   € V^ 8X  g   Q R4       h\        V\        4      '       g5   \        V P                  V P                  V4      pV P                  V4       R# R# )r	   zonly zero index allowedN)r5   r   r   rH   rI   r   )r   r;   r<   Úmethods   &&& r   r=   Ú_InstanceMethod.__setitem__h   sJ   € Ø�AŒvÐ0Ð0Ó0ˆvÜ˜#œx×(Ò(Ü% d§m¡m°T·Y±YÀÓDˆFØ×"Ñ" 6Ö*ñ )r   )rH   rI   N)	r$   r%   r&   r'   r   rY   r=   r(   r)   r*   s   @r   rF   rF   X   s   ø‡ € ò&ò÷+ð +r   rF   c                   ó,   a € ] tR t^ot o R tR tRtV tR# )Ú_DictKeyAndValuec                ó   € Wn         R # r   )Údict)r   ra   s   &&r   r   Ú_DictKeyAndValue.__init__p   s   € ØŽ	r   c                óê   € VR9  d   \        R4      hV'       d   W n        MW n        \        V R4      '       d:   \        V R4      '       d&   V P                  V P                  V P                  &   R# R# R# )r   z6DictKeyAndValue should only ever be called with 0 or 1r   ÚvalueN)r   r	   )ÚRuntimeErrorrd   r   Úhasattrra   r:   s   &&&r   r=   Ú_DictKeyAndValue.__setitem__s   sY   € Ø�FŒ?ÜÐWÓXÐXßØ�JàŒHÜ�4˜×Ò¤G¨D°'×$:Ò$:Ø"&§*¡*ˆD�I‰I�d—h‘hÓñ %;Ñr   )ra   r   rd   N)r$   r%   r&   r'   r   r=   r(   r)   r*   s   @r   r_   r_   o   s   ø‡ € ò÷-ð -r   r_   c                   ó&   a € ] tR t^~t o R tRtV tR# )Ú_Dereferencec                ó<   € \         P                  V 4       Wn        R # r   )r   r   Úid)r   rk   s   &&r   r   Ú_Dereference.__init__   s   € Ü×Ñ˜$ÔØŽr   )rk   N)r$   r%   r&   r'   r   r(   r)   r*   s   @r   ri   ri   ~   s   ø‡ € ÷ð r   ri   )ÚDeferredc                   ó6   a € ] tR t^‡t o R t^ tR tR tRtV t	R# )Ú_Deferc                ó|   € \         P                  ! V 4       \        P                  V 4       V P                  4        R # r   )rm   r   r   Úpauser   s   &r   r   Ú_Defer.__init__ˆ   s'   € Ü×Ò˜$ÔÜ×Ñ˜$ÔØ�
‰
Žr   c                óŽ   € V P                   '       d   \        R P                  W4      4      h^V n         V P                  V4       R# )z8setitem should only be called once, setting {!r} to {!r}N)Úwassetre   ÚformatÚcallbackr:   s   &&&r   r=   Ú_Defer.__setitem__�   s>   € Ø�;�;ˆ;ÜØJ×QÑQØóóð ð ˆDŒKØ�‰�cÖr   c                óŒ   € \         P                  WV4       V P                  4        V P                  pV P	                  V4       R # r   )r   r   ÚunpauseÚresultr   )r   Údepr   Úresovds   &&& r   r   Ú_Defer.addDependantš   s4   € ô 	×Ñ˜d¨Ô-Ø�‰ŒØ—‘ˆØ×Ñ˜vÖ&r   )rt   N)
r$   r%   r&   r'   r   rt   r=   r   r(   r)   r*   s   @r   ro   ro   ‡   s    ø‡ € òð
 €Fò	÷'ð 'r   ro   N)r?   Útwisted.pythonr   r   Útwisted.python.compatr   r   r-   rA   rF   r_   ri   Útwisted.internet.deferrm   Úobjectro   r!   r   r   Ú<module>r‚      sq   ðñ÷
 (Ý 2÷=ñ =ô*"C�ô "CôJ,ˆZô ,ô+�hô +÷.-ñ -ô�8ô õ ,ô'ˆX�fÕ˜xö 'r   