+
    -½i™  ã                   óÂ  € R t ^ RI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 ^ RI	H
t
 ^ R	IHt ^ R
IHt ]3R<3R lt. R=O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) R!]4      t ! R* R]]]4      t ! R+ R]]4      t ! R, R]4      t]
'       d    ! R- R.]4      t ! R/ R ]4      t ! R0 R]4      t ! R1 R]4      t ! R2 R]4      t ! R3 R]4      t ! R4 R]]4      t  ! R5 R]]4      t! ! R6 R"]]4      t" ! R7 R]4      t# ! R8 R]#4      t$ ! R9 R]4      t% ! R: R]%4      t& ! R; R]&4      t'R# )>aó  
Interface definitions paralleling the abstract base classes defined in
:mod:`collections.abc`.

After this module is imported, the standard library types will declare that
they implement the appropriate interface. While most standard library types
will properly implement that interface (that is, ``verifyObject(ISequence,
list()))`` will pass, for example), a few might not:

    - `memoryview` doesn't feature all the defined methods of
      ``ISequence`` such as ``count``; it is still declared to provide
      ``ISequence`` though.

    - `collections.deque.pop` doesn't accept the ``index`` argument of
      `collections.abc.MutableSequence.pop`

    - `range.index` does not accept the ``start`` and ``stop`` arguments.

.. versionadded:: 5.0.0
N)ÚABCMeta)ÚOrderedDict)ÚUserDict)ÚUserList)Ú
UserString)Úabc)ÚPY313_OR_OLDER)ÚABCInterface)Úoptionalc                 ó”   € V'       d   \        \        V 4      # \        WR RV ,          /4      pV F  pVP                  V4       K  	  V# )Ú__doc__z4The ABC %s is not defined in this version of Python.)Úgetattrr   r   Úregister)ÚnameÚverÚbases_if_missingÚregister_if_missingÚmissingÚcs   &&&&  ÚC/usr/lib/python3/dist-packages/zope/interface/common/collections.pyÚ_new_in_verr   4   sV   € ÷ Ü”s˜DÓ!Ð!ô �dØÐIØõ
ð/ó €Gó !ˆØ×Ñ˜Öñ !ð €Nó    ÚIAsyncGeneratorÚIAsyncIterableÚIAsyncIteratorÚ
IAwaitableÚICollectionÚ
IContainerÚ
ICoroutineÚ
IGeneratorÚ	IHashableÚ
IItemsViewÚ	IIterableÚ	IIteratorÚ	IKeysViewÚIMappingÚIMappingViewÚIMutableMappingÚIMutableSequenceÚIMutableSetÚIReversibleÚ	ISequenceÚISetÚISizedÚIValuesViewc                   óH   a € ] tR t^ct o ]P
                  t]R 4       tRtV t	R# )r   c                ó   € R# )z‚
Optional method. If not provided, the interpreter will use
``__iter__`` or the old ``__getitem__`` protocol
to implement ``in``.
N© ©Úothers   &r   Ú__contains__ÚIContainer.__contains__f   ó   ‚ r   r1   N)
Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__r   Ú	Containerr
   r4   Ú__static_attributes__Ú__classdictcell__©Ú__classdict__s   @r   r   r   c   s    ø‡ € Ø
�-‰-€Càñó ör   c                   ó.   € ] tR t^ot]P
                  tRtR# )r    r1   N)r7   r8   r9   r:   r   ÚHashabler<   r1   r   r   r    r    o   ó   † Ø
�,‰,„Cr   c                   óH   a € ] tR t^st o ]P
                  t]R 4       tRtV t	R# )r"   c                 ó   € R# ©zq
Optional method. If not provided, the interpreter will
implement `iter` using the old ``__getitem__`` protocol.
Nr1   r1   r   r   Ú__iter__ÚIIterable.__iter__v   r6   r   r1   N)
r7   r8   r9   r:   r   ÚIterabler
   rF   r<   r=   r>   s   @r   r"   r"   s   s    ø‡ € Ø
�,‰,€Càñó ör   c                   ó.   € ] tR t^~t]P
                  tRtR# )r#   r1   N)r7   r8   r9   r:   r   ÚIteratorr<   r1   r   r   r#   r#   ~   rB   r   c                   ób   a € ] tR t^‚t o ]! RR]P                  4       34      t]R 4       t	Rt
V tR# )r*   Ú
ReversibleTc                 ó   € R# ©z‡
Optional method. If this isn't present, the interpreter
will use ``__len__`` and ``__getitem__`` to implement the
`reversed` builtin.
Nr1   r1   r   r   Ú__reversed__ÚIReversible.__reversed__…   r6   r   r1   N)r7   r8   r9   r:   r   r"   ÚgetABCr   r
   rO   r<   r=   r>   s   @r   r*   r*   ‚   s1   ø‡ € Ù
�l D¨9×+;Ñ+;Ó+=Ð*?Ó
@€Càñó ör   c                   óH   € ] tR t^Žt]! RR]P                  4       34      tRtR# )r   Ú	GeneratorTr1   N)	r7   r8   r9   r:   r   r#   rQ   r   r<   r1   r   r   r   r   Ž   s   † á
�k 4¨)×*:Ñ*:Ó*<Ð)>Ó
?„Cr   c                   ó.   € ] tR t^“t]P
                  tRtR# )r-   r1   N)r7   r8   r9   r:   r   ÚSizedr<   r1   r   r   r-   r-   “   s   † Ø
�)‰)„Cr   c                   ó„   € ] tR t^št]! RR]P                  4       ]P                  4       ]P                  4       34      t	Rt
R# )r   Ú
CollectionTr1   N)r7   r8   r9   r:   r   r-   rQ   r"   r   r   r<   r1   r   r   r   r   š   s6   † ñ ØØØ	�‰‹˜)×*Ñ*Ó,¨j×.?Ñ.?Ó.AÐBó„Cr   c                   ób   a € ] tR t^¤t o ]P
                  t]3tRt]	R 4       t
]	R 4       tRtV tR# )r+   c                 ó   € R# rN   r1   r1   r   r   rO   ÚISequence.__reversed__­   r6   r   c                 ó   € R# rE   r1   r1   r   r   rF   ÚISequence.__iter__µ   r6   r   r1   N)r7   r8   r9   r:   r   ÚSequencer   Úextra_classesÚignored_classesr
   rO   rF   r<   r=   r>   s   @r   r+   r+   ¤   sB   ø‡ € à
�,‰,€CØ�M€Mð €Oàñó ðð ñó ör   c                   ó4   € ] tR t^½t]P
                  t]3tRtR# )r(   r1   N)	r7   r8   r9   r:   r   ÚMutableSequencer   r^   r<   r1   r   r   r(   r(   ½   s   † Ø
×
Ñ
€CØ�K„Mr   c                   óR   € ] tR t^ÃtRt]! RR]P                  4       3]]	34      t
RtR# )ÚIByteStringz'
This unifies `bytes` and `bytearray`.
Ú
ByteStringTr1   N)r7   r8   r9   r:   r   r   r+   rQ   ÚbytesÚ	bytearrayr   r<   r1   r   r   rc   rc   Ã   s-   † ñ	ñ Ø˜$ ×!1Ñ!1Ó!3Ð 5¸¸yÐ7Ió
Œr   rc   c                   ó.   € ] tR t^Ìt]P
                  tRtR# )r,   r1   N)r7   r8   r9   r:   r   ÚSetr<   r1   r   r   r,   r,   Ì   s   † Ø
�'‰'„Cr   c                   ó.   € ] tR t^Ðt]P
                  tRtR# )r)   r1   N)r7   r8   r9   r:   r   Ú
MutableSetr<   r1   r   r   r)   r)   Ð   s   † Ø
�.‰.„Cr   c                   ó:   € ] tR t^Ôt]P
                  t]3t]3t	Rt
R# )r%   r1   N)r7   r8   r9   r:   r   ÚMappingÚdictr^   r   r_   r<   r1   r   r   r%   r%   Ô   s   † Ø
�+‰+€CØ�G€Mð
 #�n„Or   c                   ó<   € ] tR t^Þt]P
                  t]]3t]	3t
RtR# )r'   r1   N)r7   r8   r9   r:   r   ÚMutableMappingrm   r   r^   r   r_   r<   r1   r   r   r'   r'   Þ   s   † Ø
×
Ñ
€CØ˜8Ð%€MØ"�n„Or   c                   ó.   € ] tR t^ät]P
                  tRtR# )r&   r1   N)r7   r8   r9   r:   r   ÚMappingViewr<   r1   r   r   r&   r&   ä   s   † Ø
�/‰/„Cr   c                   ó.   € ] tR t^èt]P
                  tRtR# )r!   r1   N)r7   r8   r9   r:   r   Ú	ItemsViewr<   r1   r   r   r!   r!   è   s   † Ø
�-‰-„Cr   c                   ó.   € ] tR t^ìt]P
                  tRtR# )r$   r1   N)r7   r8   r9   r:   r   ÚKeysViewr<   r1   r   r   r$   r$   ì   rB   r   c                   óH   a € ] tR t^ðt o ]P
                  t]R 4       tRtV t	R# )r.   c                ó   € R# )z’
Optional method. If not provided, the interpreter will use
``__iter__`` or the old ``__len__`` and ``__getitem__`` protocol
to implement ``in``.
Nr1   r2   s   &r   r4   ÚIValuesView.__contains__ó   r6   r   r1   N)
r7   r8   r9   r:   r   Ú
ValuesViewr
   r4   r<   r=   r>   s   @r   r.   r.   ð   s    ø‡ € Ø
�.‰.€Càñó ör   c                   ó(   € ] tR t^üt]! RR4      tRtR# )r   Ú	AwaitableTr1   N©r7   r8   r9   r:   r   r   r<   r1   r   r   r   r   ü   ó   † Ù
�k 4Ó
(„Cr   c                   ó(   € ] tR tRt]! RR4      tRtR# )r   é   Ú	CoroutineTr1   Nr|   r1   r   r   r   r      r}   r   c                   ó(   € ] tR tRt]! RR4      tRtR# )r   i  ÚAsyncIterableTr1   Nr|   r1   r   r   r   r     ó   † Ù
�o tÓ
,„Cr   c                   ó(   € ] tR tRt]! RR4      tRtR# )r   i  ÚAsyncIteratorTr1   Nr|   r1   r   r   r   r     rƒ   r   c                   ó(   € ] tR tRt]! RR4      tRtR# )r   i  ÚAsyncGeneratorTr1   Nr|   r1   r   r   r   r     s   † Ù
Ð&¨Ó
-„Cr   r1   )r   r   r   r   r   r   r   r   r    r!   r"   r#   r$   r%   r&   r'   r(   r)   r*   r+   r,   r-   r.   )(r   Úsysr   r   Úcollectionsr   r   r   r   Úzope.interface._compatr   Úzope.interface.commonr	   r
   r   Ú__all__r   r    r"   r#   r*   r   r-   r   r+   r(   rc   r,   r)   r%   r'   r&   r!   r$   r.   r   r   r   r   r   r1   r   r   Ú<module>r�      sv  ðñó* Ý Ý #Ý  Ý  Ý "Ý å 1Ý .Ý *ð #* Ø$&ôò(€ô6	�ô 	ô�ô ô�ô ô�	ô ô	�)ô 	ô@�ô @ô
ˆ\ô ô�&ØØôô�Øôô2 �yô  ÷
 ô
�iô 
ôˆ;ô ô�$ô ô%ˆ{ô %ô%�hô %ô�6ô ô�˜tô ô�˜dô ô	�, ô 	ô)�ô )ô)�ô )ô-�\ô -ô-�^ô -ô.�nö .r   