B /g^/@s2ddlmZdgZGdddZGdddZdS))refWeakSetc@s$eZdZddZddZddZdS)_IterationGuardcCst||_dS)N)r weakcontainer)selfrr#/usr/lib64/python3.7/_weakrefset.py__init__sz_IterationGuard.__init__cCs |}|dk r|j||S)N)r _iteratingadd)rwrrr __enter__s z_IterationGuard.__enter__cCs0|}|dk r,|j}|||s,|dS)N)rr remove_commit_removals)retbr srrr__exit__s  z_IterationGuard.__exit__N)__name__ __module__ __qualname__r r rrrrrr src@seZdZd>ddZddZddZdd Zd d Zd d ZddZ ddZ ddZ ddZ ddZ ddZddZddZddZeZd d!Zd"d#Zd$d%ZeZd&d'Zd(d)Zd*d+ZeZd,d-Zd.d/ZeZd0d1Zd2d3Zd4d5Z e Z!d6d7Z"d8d9Z#d:d;Z$e$Z%d||dS)NcSs2|}|dk r.|jr"|j|n |j|dS)N)r _pending_removalsappenddatadiscard)itemZselfrefrrrr_remove&s z!WeakSet.__init__.._remove)setrrrrr update)rrrrrrr $szWeakSet.__init__cCs(|j}|jj}x|r"||qWdS)N)rrrpop)rlrrrrr4szWeakSet._commit_removalsc cs<t|*x"|jD]}|}|dk r|VqWWdQRXdS)N)rr)ritemrefrrrr__iter__:s   zWeakSet.__iter__cCst|jt|jS)N)lenrr)rrrr__len__CszWeakSet.__len__cCs,y t|}Wntk r dSX||jkS)NF)r TypeErrorr)rrZwrrrr __contains__Fs  zWeakSet.__contains__cCs|jt|ft|ddfS)N__dict__) __class__listgetattr)rrrr __reduce__Ms zWeakSet.__reduce__cCs&|jr||jt||jdS)N)rrrr rr)rrrrrr Qsz WeakSet.addcCs|jr||jdS)N)rrrclear)rrrrr-Vsz WeakSet.clearcCs ||S)N)r))rrrrcopy[sz WeakSet.copycCsX|jr|xDy|j}Wntk r<tddYnX|}|dk r|SqWdS)Nzpop from empty WeakSet)rrrr KeyError)rr"rrrrr ^sz WeakSet.popcCs"|jr||jt|dS)N)rrrrr)rrrrrrjszWeakSet.removecCs"|jr||jt|dS)N)rrrrr)rrrrrroszWeakSet.discardcCs*|jr|x|D]}||qWdS)N)rrr )rotherZelementrrrrts zWeakSet.updatecCs|||S)N)r)rr0rrr__ior__zs zWeakSet.__ior__cCs|}|||S)N)r.difference_update)rr0newsetrrr difference~s zWeakSet.differencecCs||dS)N)__isub__)rr0rrrr2szWeakSet.difference_updatecCs<|jr|||kr"|jn|jdd|D|S)Ncss|]}t|VqdS)N)r).0rrrr sz#WeakSet.__isub__..)rrrr-r2)rr0rrrr5s  zWeakSet.__isub__csfdd|DS)Nc3s|]}|kr|VqdS)Nr)r6r)rrrr7sz'WeakSet.intersection..)r))rr0r)rr intersectionszWeakSet.intersectioncCs||dS)N)__iand__)rr0rrrintersection_updateszWeakSet.intersection_updatecCs(|jr||jdd|D|S)Ncss|]}t|VqdS)N)r)r6rrrrr7sz#WeakSet.__iand__..)rrrr:)rr0rrrr9szWeakSet.__iand__cCs|jdd|DS)Ncss|]}t|VqdS)N)r)r6rrrrr7sz#WeakSet.issubset..)rissubset)rr0rrrr;szWeakSet.issubsetcCs|jttt|kS)N)rrmapr)rr0rrr__lt__szWeakSet.__lt__cCs|jdd|DS)Ncss|]}t|VqdS)N)r)r6rrrrr7sz%WeakSet.issuperset..)r issuperset)rr0rrrr>szWeakSet.issupersetcCs|jttt|kS)N)rrr<r)rr0rrr__gt__szWeakSet.__gt__cCs$t||jstS|jttt|kS)N) isinstancer)NotImplementedrrr<r)rr0rrr__eq__s zWeakSet.__eq__cCs|}|||S)N)r.symmetric_difference_update)rr0r3rrrsymmetric_differences zWeakSet.symmetric_differencecCs||dS)N)__ixor__)rr0rrrrCsz#WeakSet.symmetric_difference_updatecs@jr|kr"jnjfdd|DS)Nc3s|]}t|jVqdS)N)rr)r6r)rrrr7sz#WeakSet.__ixor__..)rrrr-rC)rr0r)rrrEs  zWeakSet.__ixor__cCs|dd||fDS)Ncss|]}|D] }|Vq qdS)Nr)r6rrrrrr7sz WeakSet.union..)r))rr0rrrunionsz WeakSet.unioncCst||dkS)Nr)r$r8)rr0rrr isdisjointszWeakSet.isdisjoint)N)'rrrr rr#r%r'r,r r-r.r rrrr1r4__sub__r2r5r8__and__r:r9r;__le__r=r>__ge__r?rBrD__xor__rCrErF__or__rGrrrrr#sH     N)_weakrefr__all__rrrrrrs