grthtrhthjhtyjytjytkergtrhtrjytjerhrfh4:24 29/09/2026o ®û|j~ã@s”dZddlmZmZddlZeeeƒZedƒZ dd„Z ee ƒZ [ gd¢Z dZ eed ƒƒZeeeƒƒƒZeei ¡ƒƒZeei ¡ƒƒZeei ¡ƒƒZeegƒƒZeeegƒƒƒZeeedƒƒƒZeeed d >ƒƒƒZeeeƒƒƒZeed ƒƒZ eed ƒƒZ!eee"ƒƒƒZ#ei ¡ƒZ$ei ¡ƒZ%ei ¡ƒZ&eej'ƒZ(edd„ƒƒZ)dd„Z*e*ƒZ*ee*ƒZ+e* ,¡[*dd„Z-e-ƒZ-ee-ƒZ.[-dd„Z/Gdd„ded�Z0Gdd„ded�Z1Gdd„de1ƒZ2e2 3e+¡Gdd„ded�Z4Gdd „d e4ƒZ5Gd!d"„d"e5ƒZ6e6 3e.¡Gd#d$„d$ed�Z7Gd%d&„d&e7ƒZ8e8 3e¡e8 3e¡e8 3e¡e8 3e¡e8 3e¡e8 3e¡e8 3e¡e8 3e¡e8 3e¡e8 3e¡e8 3e ¡e8 3e!¡e8 3e#¡Gd'd(„d(e7ƒZ9Gd)d*„d*e8ƒZ:e: 3e)¡Gd+d,„d,ed�Z;Gd-d.„d.ed�Zd3d4„Z?d5d6„Z@d7d8„ZAGd9d:„d:ed�ZBGd;d<„d„d>eCƒZEeE 3e¡Gd?d@„d@e=ƒZFeF 3e(¡GdAdB„dBe;ƒZGGdCdD„dDeGeCƒZHeH 3e$¡GdEdF„dFeGeCƒZIeI 3e&¡GdGdH„dHeGe=ƒZJeJ 3e%¡GdIdJ„dJeFƒZKeK 3eL¡GdKdL„dLe9e=ƒZMeM 3eN¡eM 3eO¡eM 3e¡eM 3eP¡GdMdN„dNeMƒZQeQ 3eR¡eQ 3e¡GdOdP„dPeMƒZSeS 3e¡eS 3e¡dS)QzjAbstract Base Classes (ABCs) for collections, according to PEP 3119. Unit tests are in test_collections. é)ÚABCMetaÚabstractmethodN.cCsdS©N©rrrú7/opt/alt/python310/lib64/python3.10/_collections_abc.pyÚ_fsr)Ú AwaitableÚ CoroutineÚ AsyncIterableÚ AsyncIteratorÚAsyncGeneratorÚHashableÚIterableÚIteratorÚ GeneratorÚ ReversibleÚSizedÚ ContainerÚCallableÚ CollectionÚSetÚ MutableSetÚMappingÚMutableMappingÚ MappingViewÚKeysViewÚ ItemsViewÚ ValuesViewÚSequenceÚMutableSequenceÚ ByteStringzcollections.abcóéièÚrccs�dVSrrrrrrÚ>s€r$cÃs�dSrrrrrrÚ_coro@s€r%cCs �dVdSrrrrrrÚ_agFs€ r&cGsN|j}|D]}|D]}||jvr|j|durtSnq tSqdS)NT)Ú__mro__Ú__dict__ÚNotImplemented)ÚCÚmethodsÚmroÚmethodÚBrrrÚ_check_methodsNs  ýþr/c@ó(eZdZdZedd„ƒZedd„ƒZdS)r rcCódS©Nrr©ÚselfrrrÚ__hash__^ózHashable.__hash__cCó|tur t|dƒStS)Nr5)r r/r)©Úclsr*rrrÚ__subclasshook__bó zHashable.__subclasshook__N)Ú__name__Ú __module__Ú __qualname__Ú __slots__rr5Ú classmethodr:rrrrr Zó  r )Ú metaclassc@ó0eZdZdZedd„ƒZedd„ƒZeeƒZ dS)rrccs �dVdSrrr3rrrÚ __await__ms€ zAwaitable.__await__cCr7)NrD)rr/r)r8rrrr:qr;zAwaitable.__subclasshook__N) r<r=r>r?rrDr@r:Ú GenericAliasÚ__class_getitem__rrrrrió   rc@s>eZdZdZedd„ƒZed dd„ƒZdd„Zed d „ƒZ dS) r rcCót‚)zcSend a value into the coroutine. Return next yielded value or raise StopIteration. ©Ú StopIteration©r4ÚvaluerrrÚsend~ózCoroutine.sendNcCó0|dur |dur |‚|ƒ}|dur| |¡}|‚)zgRaise an exception in the coroutine. Return next yielded value or raise StopIteration. N©Úwith_traceback©r4ÚtypÚvalÚtbrrrÚthrow…ó zCoroutine.throwc Có.z | t¡Wtdƒ‚ttfyYdSw)ú.Raise GeneratorExit inside coroutine. zcoroutine ignored GeneratorExitN©rVÚ GeneratorExitrJÚ RuntimeErrorr3rrrÚclose’ó  ýÿzCoroutine.closecCs|tur t|ddddƒStS)NrDrMrVr])r r/r)r8rrrr:œszCoroutine.__subclasshook__©NN) r<r=r>r?rrMrVr]r@r:rrrrr zs    r c@rC)r rcCstƒSr)r r3rrrÚ __aiter__ªszAsyncIterable.__aiter__cCr7)Nr`)r r/r)r8rrrr:®r;zAsyncIterable.__subclasshook__N) r<r=r>r?rr`r@r:rErFrrrrr ¦rGr c@ó0eZdZdZedd„ƒZdd„Zedd„ƒZdS) r rcÃó�t‚)z@Return the next item or raise StopAsyncIteration when exhausted.©ÚStopAsyncIterationr3rrrÚ __anext__»s€zAsyncIterator.__anext__cCó|Srrr3rrrr`ÀózAsyncIterator.__aiter__cCó|tur t|ddƒStS)Nrer`)r r/r)r8rrrr:Ãó zAsyncIterator.__subclasshook__N) r<r=r>r?rrer`r@r:rrrrr ·ó r c@óFeZdZdZdd„Zedd„ƒZed dd„ƒZd d „Ze d d „ƒZ dS)r rcÃs�| d¡IdHS)zpReturn the next item from the asynchronous generator. When exhausted, raise StopAsyncIteration. N)Úasendr3rrrreÎs€zAsyncGenerator.__anext__cÃrb)zuSend a value into the asynchronous generator. Return next yielded value or raise StopAsyncIteration. rcrKrrrrlÔs€zAsyncGenerator.asendNcÃs2�|dur|dur |‚|ƒ}|dur| |¡}|‚)zyRaise an exception in the asynchronous generator. Return next yielded value or raise StopAsyncIteration. NrPrRrrrÚathrowÛs€ zAsyncGenerator.athrowc Ãs6�z | t¡IdHWtdƒ‚ttfyYdSw)rYNz,asynchronous generator ignored GeneratorExit)rmr[rdr\r3rrrÚacloseès€ýÿzAsyncGenerator.aclosecCó|tur t|dddddƒStS)Nr`rerlrmrn)r r/r)r8rrrr:òó ÿzAsyncGenerator.__subclasshook__r_) r<r=r>r?rerrlrmrnr@r:rrrrr Êó    r c@rC)rrccó�dSrrr3rrrÚ__iter__ó€zIterable.__iter__cCr7)Nrs)rr/r)r8rrrr:r;zIterable.__subclasshook__N) r<r=r>r?rrsr@r:rErFrrrrrýs   rc@ra) rrcCrH)zKReturn the next item from the iterator. When exhausted, raise StopIterationrIr3rrrÚ__next__ózIterator.__next__cCrfrrr3rrrrsrgzIterator.__iter__cCrh)Nrsru)rr/r)r8rrrr:rizIterator.__subclasshook__N) r<r=r>r?rrursr@r:rrrrrrjrc@r0)rrccrrrrr3rrrÚ __reversed__6rtzReversible.__reversed__cCrh)Nrwrs)rr/r)r8rrrr:;rizReversible.__subclasshook__N)r<r=r>r?rrwr@r:rrrrr2s  rc@rk)rrcCs | d¡S)z^Return the next item from the generator. When exhausted, raise StopIteration. N)rMr3rrrruFs zGenerator.__next__cCrH)zcSend a value into the generator. Return next yielded value or raise StopIteration. rIrKrrrrMLrNzGenerator.sendNcCrO)zgRaise an exception in the generator. Return next yielded value or raise StopIteration. NrPrRrrrrVSrWzGenerator.throwc CrX)z.Raise GeneratorExit inside generator. zgenerator ignored GeneratorExitNrZr3rrrr]`r^zGenerator.closecCro)NrsrurMrVr])rr/r)r8rrrr:jrpzGenerator.__subclasshook__r_) r<r=r>r?rurrMrVr]r@r:rrrrrBrqrc@r0)rrcCr1r2rr3rrrÚ__len__yr6z Sized.__len__cCr7)Nrx)rr/r)r8rrrr:}r;zSized.__subclasshook__N)r<r=r>r?rrxr@r:rrrrrurArc@rC)rrcCr1©NFr)r4ÚxrrrÚ __contains__ˆr6zContainer.__contains__cCr7)Nr{)rr/r)r8rrrr:Œr;zContainer.__subclasshook__N) r<r=r>r?rr{r@r:rErFrrrrr„rGrc@seZdZdZedd„ƒZdS)rrcCs|tur t|dddƒStS)Nrxrsr{)rr/r)r8rrrr:™szCollection.__subclasshook__N)r<r=r>r?r@r:rrrrr•srcsLeZdZdZdZ‡fdd„Zedd„ƒZ‡fdd„Zd d „Z d d „Z ‡Z S) Ú_CallableGenericAliaszü Represent `Callable[argtypes, resulttype]`. This sets ``__args__`` to a tuple containing the flattened ``argtypes`` followed by ``resulttype``. Example: ``Callable[[int, str], float]`` sets ``__args__`` to ``(int, str, float)``. rcsft|tƒr t|ƒdkstdƒ‚|\}}t|tƒr g|¢|‘R}n t|ƒs+td|›�ƒ‚tƒ |||¡S)Néz6Callable must be used as Callable[[arg, ...], result].úFExpected a list of types, an ellipsis, ParamSpec, or Concatenate. Got )Ú isinstanceÚtupleÚlenÚ TypeErrorÚlistÚ_is_param_exprÚsuperÚ__new__)r9ÚoriginÚargsÚt_argsÚt_result©Ú __class__rrr†¬sÿ ÿz_CallableGenericAlias.__new__cCsjg}|jD](}t|tƒrt|tƒsqt|dƒr$t|jtƒr$| |j¡qt|ƒr-|  |¡qtt   |¡ƒS)NÚ__parameters__) Ú__args__rÚtyperEÚhasattrr�r€ÚextendÚ_is_typevarlikeÚappendÚdictÚfromkeys)r4ÚparamsÚargrrrr�¸s  €z$_CallableGenericAlias.__parameters__cs\t|jƒdkrt|jdƒrtƒ ¡Sdd dd„|jdd…Dƒ¡›dt|jdƒ›d �S) Nr}rzcollections.abc.Callable[[z, cSsg|]}t|ƒ‘qSr)Ú _type_repr)Ú.0ÚarrrÚ Êsz2_CallableGenericAlias.__repr__..éÿÿÿÿz], ú])r�rŽr„r…Ú__repr__Újoinr˜r3r‹rrržÆs ÿ þz_CallableGenericAlias.__repr__cCsB|j}t|ƒdkrt|dƒst|dd…ƒ|df}tt|ffS)Nr}rrœ)rŽr�r„rƒr|r)r4rˆrrrÚ __reduce__Ís z _CallableGenericAlias.__reduce__c s¬t|jƒ}|dkrt|›d�ƒ‚t|tƒs|f}|dkr0t|jdƒr0|r0t|dƒs0t|ƒf}t|ƒ}||krNtd||kr@dnd›d|›d|›d |›�ƒ‚tt|j|ƒƒ‰g}|j D]^}t|t ƒrmt|t ƒsm|  |¡q[t |ƒrŠt|ƒr…ˆ|}t|ƒs„td |›�ƒ‚n$ˆ|}nt|d ƒr©t|jtƒr©|j}|r©t‡fd d „|Dƒƒ}||}t|tƒr´| |¡q[|  |¡q[t|dtƒsÏ|d}|dd…} | |f}ttt|ƒƒS)Nrz is not a generic classr"zToo ÚmanyÚfewz arguments for z ; actual z , expected r~r�c3s�|]}ˆ|VqdSrr)r™rz©ÚsubstrrÚ ús€z4_CallableGenericAlias.__getitem__..rœ)r�r�r‚rr€r„rƒr”ÚziprŽr�rEr“r’r�r‘r|r) r4ÚitemÚ param_lenÚitem_lenÚnew_argsr—Ú subparamsÚsubargsrŠr‰rr£rÚ __getitem__Ós`  ÿ ÿ ÿþþ  ÿÿ     z!_CallableGenericAlias.__getitem__) r<r=r>Ú__doc__r?r†Úpropertyr�ržr r­Ú __classcell__rrr‹rr| s   r|cCst|ƒ}|jdko |jdvS)NÚtyping>ÚTypeVarÚ ParamSpec)r�r=r<)r—Úobjrrrr’ s ÿr’csFˆturdStˆtƒr dStˆƒ‰d}ˆjdko"t‡fdd„|DƒƒS)z|Checks if obj matches either a list of types, ``...``, ``ParamSpec`` or ``_ConcatenateGenericAlias`` from typing.py T)r³Ú_ConcatenateGenericAliasr±c3s�|]}ˆj|kVqdSr)r<)r™Úname©r´rrr¥s€z!_is_param_expr..)ÚEllipsisrrƒr�r=Úany)r´Únamesrr·rr„s  r„cCsbt|tƒr t|ƒSt|tƒr|jdkr|jS|j›d|j›�S|tur%dSt|tƒr-|jSt|ƒS)z¦Return the repr() of an object, special-casing types (internal helper). Copied from :mod:`typing` since collections.abc shouldn't depend on that module. ÚbuiltinsÚ.z...) rrEÚreprr�r=r>r¸Ú FunctionTyper<r·rrrr˜s    r˜c@rC)rrcOr1ryr)r4rˆÚkwdsrrrÚ__call__2r6zCallable.__call__cCr7)NrÀ)rr/r)r8rrrr:6r;zCallable.__subclasshook__N) r<r=r>r?rrÀr@r:r|rFrrrrr.rGrc@sŒeZdZdZdZdd„Zdd„Zdd„Zd d „Zd d „Z e d d„ƒZ dd„Z e Z dd„Zdd„ZeZdd„Zdd„Zdd„ZeZdd„ZdS)raZA set is a finite, iterable container. This class provides concrete generic implementations of all methods except for __contains__, __iter__ and __len__. To override the comparisons (presumably for speed, as the semantics are fixed), redefine __le__ and __ge__, then the other operations will automatically follow suit. rcCs>t|tƒstSt|ƒt|ƒkrdS|D] }||vrdSqdS©NFT©rrr)r�©r4ÚotherÚelemrrrÚ__le__Oó ÿz Set.__le__cCs(t|tƒstSt|ƒt|ƒko| |¡Sr©rrr)r�rÆ©r4rÄrrrÚ__lt__Yó z Set.__lt__cCs(t|tƒstSt|ƒt|ƒko| |¡Sr)rrr)r�Ú__ge__rÉrrrÚ__gt__^rËz Set.__gt__cCs>t|tƒstSt|ƒt|ƒkrdS|D] }||vrdSqdSrÁrÂrÃrrrrÌcrÇz Set.__ge__cCs(t|tƒstSt|ƒt|ƒko| |¡SrrÈrÉrrrÚ__eq__mrËz Set.__eq__cCs||ƒS)z¼Construct an instance of the class from any iterable input. Must override this method if the class constructor signature does not accept an iterable for an input. r©r9ÚitrrrÚ_from_iterablerszSet._from_iterablecs&t|tƒstSˆ ‡fdd„|Dƒ¡S)Nc3s�|] }|ˆvr|VqdSrr©r™rLr3rrr¥~s€zSet.__and__..©rrr)rÑrÉrr3rÚ__and__{ó z Set.__and__cCs|D] }||vr dSqdS)z1Return True if two sets have a null intersection.FTr)r4rÄrLrrrÚ isdisjoint‚s ÿzSet.isdisjointcCs*t|tƒstSdd„||fDƒ}| |¡S)Ncss�|] }|D]}|VqqdSrr)r™ÚsÚerrrr¥Œs€zSet.__or__..rÓ)r4rÄÚchainrrrÚ__or__‰s  z Set.__or__cs:tˆtƒstˆtƒs tS| ˆ¡‰| ‡fdd„|Dƒ¡S)Nc3ó�|] }|ˆvr|VqdSrrrÒ©rÄrrr¥–ó €ÿÿzSet.__sub__..©rrrr)rÑrÉrrÜrÚ__sub__‘ó   z Set.__sub__cs:t|tƒst|tƒs tSˆ |¡}ˆ ‡fdd„|Dƒ¡S)Nc3rÛrrrÒr3rrr¥žrÝzSet.__rsub__..rÞrÉrr3rÚ__rsub__™ràz Set.__rsub__cCs2t|tƒst|tƒs tS| |¡}||||BSrrÞrÉrrrÚ__xor__¡s   z Set.__xor__cCs¬tj}d|d}t|ƒ}d|d}||M}|D]}t|ƒ}|||d>AdAdN}||M}q||d?|d?AN}|d d }||M}||krN||d8}|d krTd }|S) a+Compute the hash value of a set. Note that we don't define __hash__: not all sets are hashable. But if you define a hashable set type, its __hash__ should call this function. This must be compatible __eq__. All sets ought to compare equal if they contain the same elements, regardless of how they are implemented, and regardless of the order of the elements; so there's not much freedom for __eq__ or __hash__. We match the algorithm used by the built-in frozenset type. r}r"iMïèréi³M[l×4~2é éiÍ iãÃ6rœiÁÇ8#)ÚsysÚmaxsizer�Úhash)r4ÚMAXÚMASKÚnÚhrzÚhxrrrÚ_hashªs"     z Set._hashN)r<r=r>r®r?rÆrÊrÍrÌrÎr@rÑrÔÚ__rand__rÖrÚÚ__ror__rßrárâÚ__rxor__rîrrrrrBs(     rc@sdeZdZdZdZedd„ƒZedd„ƒZdd„Zd d „Z d d „Z d d„Z dd„Z dd„Z dd„ZdS)ra‡A mutable set is a finite, iterable container. This class provides concrete generic implementations of all methods except for __contains__, __iter__, __len__, add(), and discard(). To override the comparisons (presumably for speed, as the semantics are fixed), all you have to do is redefine __le__ and then the other operations will automatically follow suit. rcCrH)zAdd an element.©ÚNotImplementedErrorrKrrrÚaddÝrvzMutableSet.addcCrH)z8Remove an element. Do not raise an exception if absent.ròrKrrrÚdiscardârvzMutableSet.discardcCs||vrt|ƒ‚| |¡dS)z5Remove an element. If not a member, raise a KeyError.N)ÚKeyErrorrõrKrrrÚremoveçszMutableSet.removecCs8t|ƒ}zt|ƒ}Wn tytd‚w| |¡|S)z2Return the popped value. Raise KeyError if empty.N)ÚiterÚnextrJrörõ©r4rÐrLrrrÚpopís  ÿ zMutableSet.popcCó"z | ¡qtyYdSw)z6This is slow (creates N new iterators!) but effective.TN)rûrör3rrrÚclear÷óÿ ÿzMutableSet.clearcCs|D]}| |¡q|Sr)rôrúrrrÚ__ior__ÿs zMutableSet.__ior__cCs||D]}| |¡q|Sr)rõrúrrrÚ__iand__s  zMutableSet.__iand__cCsT||ur | ¡|St|tƒs| |¡}|D]}||vr"| |¡q| |¡q|Sr)rýrrrÑrõrôrúrrrÚ__ixor__ s ù   zMutableSet.__ixor__cCs,||ur | ¡|S|D]}| |¡q |Sr)rýrõrúrrrÚ__isub__s þ zMutableSet.__isub__N)r<r=r>r®r?rrôrõr÷rûrýrÿrrrrrrrrÏs     rc@sZeZdZdZdZdZedd„ƒZddd„Zd d „Z d d „Z d d„Z dd„Z dd„Z dZdS)rzÆA Mapping is a generic container for associating key/value pairs. This class provides concrete generic implementations of all methods except for __getitem__, __iter__, and __len__. ré@cCrHr©rö©r4Úkeyrrrr­1r6zMapping.__getitem__NcCs"z||WSty|YSw)z D[k] if k in D, else d. d defaults to None.r©r4rÚdefaultrrrÚget5s   ÿz Mapping.getcCs$z||WdStyYdSwrÁrrrrrr{<s   ýÿzMapping.__contains__cCót|ƒS)z:D.keys() -> a set-like object providing a view on D's keys)rr3rrrÚkeysDóz Mapping.keyscCr )z a set-like object providing a view on D's items)rr3rrrÚitemsHr z Mapping.itemscCr )z6D.values() -> an object providing a view on D's values)rr3rrrÚvaluesLr zMapping.valuescCs&t|tƒstSt| ¡ƒt| ¡ƒkSr)rrr)r”r rÉrrrrÎPrÕzMapping.__eq__r)r<r=r>r®r?Ú__abc_tpflags__rr­r r{r r rrÎrwrrrrr$s  rc@s0eZdZdZdd„Zdd„Zdd„ZeeƒZ dS) r©Ú_mappingcCs ||_dSrr)r4ÚmappingrrrÚ__init__^ó zMappingView.__init__cCs t|jƒSr)r�rr3rrrrxarzMappingView.__len__cCs d |¡S)Nz&{0.__class__.__name__}({0._mapping!r}))Úformatr3rrrrždrzMappingView.__repr__N) r<r=r>r?rrxržr@rErFrrrrrZs  rc@ó,eZdZdZedd„ƒZdd„Zdd„ZdS) rrcCót|ƒSr©ÚsetrÏrrrrÑnr zKeysView._from_iterablecCs ||jvSrrrrrrr{rrzKeysView.__contains__ccs�|jEdHdSrrr3rrrrsus€zKeysView.__iter__N©r<r=r>r?r@rÑr{rsrrrrrjs   rc@r) rrcCrrrrÏrrrrÑ€r zItemsView._from_iterablecCs<|\}}z|j|}Wn tyYdSw||up||kSry)rrö)r4r§rrLÚvrrrr{„s ÿzItemsView.__contains__ccs"�|jD] }||j|fVqdSrrrrrrrs�s€ ÿzItemsView.__iter__Nrrrrrr|s   rc@s eZdZdZdd„Zdd„ZdS)rrcCs0|jD]}|j|}||us||krdSqdS©NTFr)r4rLrrrrrr{™s  ÿzValuesView.__contains__ccs�|jD]}|j|VqdSrrrrrrrs s€ ÿzValuesView.__iter__N)r<r=r>r?r{rsrrrrr•s rc@sbeZdZdZdZedd„ƒZedd„ƒZeƒZ e fdd„Z d d „Z d d „Z dd d„Z ddd„ZdS)rzëA MutableMapping is a generic container for associating key/value pairs. This class provides concrete generic implementations of all methods except for __getitem__, __setitem__, __delitem__, __iter__, and __len__. rcCrHrr©r4rrLrrrÚ __setitem__³r6zMutableMapping.__setitem__cCrHrrrrrrÚ __delitem__·r6zMutableMapping.__delitem__cCs:z||}Wnty||jur‚|YSw||=|S)z©D.pop(k[,d]) -> v, remove specified key and return the corresponding value. If key is not found, d is returned if given, otherwise KeyError is raised. )röÚ_MutableMapping__marker)r4rrrLrrrrû½s   ýzMutableMapping.popcCs<ztt|ƒƒ}Wn tytd‚w||}||=||fS)zƒD.popitem() -> (k, v), remove and return some (key, value) pair as a 2-tuple; but raise KeyError if D is empty. N)rùrørJrörrrrÚpopitemËs ÿzMutableMapping.popitemcCrü)z,D.clear() -> None. Remove all items from D.TN)r!rör3rrrrý×rþzMutableMapping.clearcKs|t|tƒr|D]}||||<qnt|dƒr$| ¡D]}||||<qn |D]\}}|||<q&| ¡D]\}}|||<q3dS)aK D.update([E, ]**F) -> None. Update D from mapping/iterable E and F. If E present and has a .keys() method, does: for k in E: D[k] = E[k] If E present and lacks .keys() method, does: for (k, v) in E: D[k] = v In either case, this is followed by: for k, v in F.items(): D[k] = v r N)rrr�r r )r4rÄr¿rrLrrrÚupdateßs ÿ  ÿ   ÿzMutableMapping.updateNcCs(z||WSty|||<Y|Sw)z@D.setdefault(k[,d]) -> D.get(k,d), also set D[k]=d if k not in DrrrrrÚ setdefaultñs    þzMutableMapping.setdefault)rr)r<r=r>r®r?rrrÚobjectr rûr!rýr"r#rrrrr¨s    rc@sNeZdZdZdZdZedd„ƒZdd„Zdd „Z d d „Z ddd„Z dd„Z d S)rzŠAll the operations on a read-only sequence. Concrete subclasses must override __new__ or __init__, __getitem__, and __len__. ré cCrHr©Ú IndexError©r4Úindexrrrr­ r6zSequence.__getitem__ccs6�d}z ||}|V|d7}qtyYdSw)NrTr"r&)r4Úirrrrrss€ý ÿzSequence.__iter__cCs$|D] }||us ||krdSqdSrr)r4rLrrrrr{s ÿzSequence.__contains__ccs&�ttt|ƒƒƒD]}||Vq dSr)ÚreversedÚranger�)r4r*rrrrws€ ÿzSequence.__reversed__rNcCs¦|dur|dkrtt|ƒ|dƒ}|dur|dkr|t|ƒ7}|}|dus)||krQz||}||us6||kr9|WSWn tyDYt‚w|d7}|dus)||ks)t‚)zæS.index(value, [start, [stop]]) -> integer -- return first index of value. Raises ValueError if the value is not present. Supporting start and stop arguments is optional, but recommended. Nrr")Úmaxr�r'Ú ValueError)r4rLÚstartÚstopr*rrrrr)#s$ ÿ ýùzSequence.indexcst‡fdd„|DƒƒS)zBS.count(value) -> integer -- return number of occurrences of valuec3s$�|] }|ˆus |ˆkrdVqdS)r"Nr)r™r©rLrrr¥<s€"z!Sequence.count..)ÚsumrKrr1rÚcount:szSequence.count)rN) r<r=r>r®r?rrr­rsr{rwr)r3rrrrrÿs    rc@seZdZdZdZdS)r zMThis unifies bytes and bytearray. XXX Should add all their methods. rN)r<r=r>r®r?rrrrr Dsr c@sreZdZdZdZedd„ƒZedd„ƒZedd„ƒZd d „Z d d „Z d d„Z dd„Z ddd„Z dd„Zdd„ZdS)rz®All the operations on a read-write sequence. Concrete subclasses must provide __new__ or __init__, __getitem__, __setitem__, __delitem__, __len__, and insert(). rcCrHrr&©r4r)rLrrrrYr6zMutableSequence.__setitem__cCrHrr&r(rrrr]r6zMutableSequence.__delitem__cCrH)z3S.insert(index, value) -- insert value before indexr&r4rrrÚinsertarvzMutableSequence.insertcCs| t|ƒ|¡dS)z:S.append(value) -- append value to the end of the sequenceN)r5r�rKrrrr“fszMutableSequence.appendcCrü)z,S.clear() -> None -- remove all items from STN)rûr'r3rrrrýjrþzMutableSequence.clearcCsHt|ƒ}t|dƒD]}|||d||||<|||d<q dS)z!S.reverse() -- reverse *IN PLACE*r}r"N)r�r,)r4rër*rrrÚreversers,ÿzMutableSequence.reversecCs(||urt|ƒ}|D]}| |¡q dS)zMS.extend(iterable) -- extend sequence by appending elements from the iterableN)rƒr“)r4rrrrrr‘xs  ÿzMutableSequence.extendrœcCs||}||=|S)z™S.pop([index]) -> item -- remove and return item at index (default last). Raise IndexError if list is empty or index is out of range. r)r4r)rrrrrûszMutableSequence.popcCs|| |¡=dS)zvS.remove(value) -- remove first occurrence of value. Raise ValueError if the value is not present. N)r)rKrrrr÷‡szMutableSequence.removecCs| |¡|Sr)r‘)r4rrrrÚ__iadd__�s zMutableSequence.__iadd__N)rœ)r<r=r>r®r?rrrr5r“rýr6r‘rûr÷r7rrrrrPs      r)Tr®Úabcrrrær�rƒÚintrEÚ EllipsisTyperr¾Ú__all__r<røÚbytes_iteratorÚ bytearrayÚbytearray_iteratorr Údict_keyiteratorrÚdict_valueiteratorr Údict_itemiteratorÚ list_iteratorr+Úlist_reverseiteratorr,Úrange_iteratorÚlongrange_iteratorrÚ set_iteratorÚ str_iteratorÚtuple_iteratorr¦Ú zip_iteratorÚ dict_keysÚ dict_valuesÚ dict_itemsr(Ú mappingproxyÚ generatorr%Ú coroutiner]r&Úasync_generatorr/r rr Úregisterr r r rrrrrrrr|r’r„r˜rrÚ frozensetrrrrrrrr”rr€ÚstrÚ memoryviewr ÚbytesrrrrrÚsÆ           ) 0              0 i   P 3    R ?      B