]!@sddlmZddZGdddeZGdddeZGdd d eZGd d d e Z Gd d d de Z ddZ dS))WeakSetcCs d|_|S)NT)__isabstractmethod__)funcobjr(/opt/alt/python35/lib64/python3.5/abc.pyabstractmethod s rcs(eZdZdZfddZS)abstractclassmethodTcsd|_tj|dS)NT)rsuper__init__)selfcallable) __class__rrr 0s zabstractclassmethod.__init__)__name__ __module__ __qualname__rr rr)r rrs rcs(eZdZdZfddZS)abstractstaticmethodTcsd|_tj|dS)NT)rr r )r r )r rrr Hs zabstractstaticmethod.__init__)rrrrr rr)r rr5s rc@seZdZdZdS)abstractpropertyTN)rrrrrrrrrMs rcs[eZdZdZfddZddZdddZd d Zd d ZS) ABCMetarcstj||||}dd|jD}x_|D]W}xNt|dtD]7}t||d}t|ddrW|j|qWWq;Wt||_t|_ t|_ t|_ t j |_|S)NcSs.h|]$\}}t|ddr|qS)rF)getattr).0namevaluerrr s  z"ABCMeta.__new__..__abstractmethods__rF)r __new__itemsrsetadd frozensetrr _abc_registry _abc_cache_abc_negative_cacher_abc_invalidation_counter_abc_negative_cache_version)mclsrbases namespacecls abstractsbaser)r rrrs      zABCMeta.__new__cCslt|tstdt||r.|St||rItd|jj|tjd7_|S)NzCan only register classesz'Refusing to create an inheritance cycle) isinstancetype TypeError issubclass RuntimeErrorrrrr")r'subclassrrrregisters  zABCMeta.registerNcCstd|j|jfd|tdtjd|xUt|jjD]>}|jdrMt ||}td||fd|qMWdS)Nz Class: %s.%sfilezInv.counter: %s_abc_z%s: %r) printrrrr"sorted__dict__keys startswithr)r'r2rrrrr_dump_registrys  zABCMeta._dump_registrycs|j}|jkrdSt|}||krfjtjkrY|jkrYdSj|Stfdd||hDS)NTFc3s|]}j|VqdS)N)__subclasscheck__)rc)r'rr sz,ABCMeta.__instancecheck__..) r r r,r#rr"r!r:any)r'instancer0subtyper)r'r__instancecheck__s     zABCMeta.__instancecheck__cCsL||jkrdS|jtjkr@t|_tj|_n||jkrSdS|j|}|tk r|r|jj|n|jj||S|t |dfkr|jj|dSx4|j D])}t ||r|jj|dSqWx7|j D])}t ||r |jj|dSq W|jj|dS)NTF__mro__) r r#rr"rr!__subclasshook__NotImplementedrrrr.__subclasses__)r'r0okrclssclsrrrr:s4  zABCMeta.__subclasscheck__) rrrr"rr1r9r@r:rr)r rrms   rc@seZdZdS)ABCN)rrrrrrrrHs rH metaclasscCstjS)N)rr"rrrrget_cache_tokensrJN) _weakrefsetrr classmethodr staticmethodrpropertyrr,rrHrJrrrrs  }