JFIFxxC      C  " }!1AQa"q2#BR$3br %&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz w!1AQaq"2B #3RbrJFIFxxC      C  " }!1AQa"q2#BR$3br %&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz w!1AQaq"2B #3Rbrў fyc@s~dZddlmZddZGdddeZGdddeZGd d d eZ Gd d d e Z d S(u3Abstract Base Classes (ABCs) according to PEP 3119.i(uWeakSetcCs d|_|S(uA decorator indicating abstract methods. Requires that the metaclass is ABCMeta or derived from it. A class that has a metaclass derived from ABCMeta cannot be instantiated unless all of its abstract methods are overridden. The abstract methods can be called using any of the normal 'super' call mechanisms. Usage: class C(metaclass=ABCMeta): @abstractmethod def my_abstract_method(self, ...): ... T(uTrueu__isabstractmethod__(ufuncobj((u(/opt/alt/python33/lib64/python3.3/abc.pyuabstractmethods uabstractmethodcs2|EeZdZdZdZfddZS(uabstractclassmethoduO A decorator indicating abstract classmethods. Similar to abstractmethod. Usage: class C(metaclass=ABCMeta): @abstractclassmethod def my_abstract_classmethod(cls, ...): ... 'abstractclassmethod' is deprecated. Use 'classmethod' with 'abstractmethod' instead. csd|_tj|dS(NT(uTrueu__isabstractmethod__usuperu__init__(uselfucallable(u __class__(u(/opt/alt/python33/lib64/python3.3/abc.pyu__init__/s uabstractclassmethod.__init__T(u__name__u __module__u __qualname__u__doc__uTrueu__isabstractmethod__u__init__(u __locals__((u __class__u(/opt/alt/python33/lib64/python3.3/abc.pyuabstractclassmethodsuabstractclassmethodcs2|EeZdZdZdZfddZS(uabstractstaticmethoduO A decorator indicating abstract staticmethods. Similar to abstractmethod. Usage: class C(metaclass=ABCMeta): @abstractstaticmethod def my_abstract_staticmethod(...): ... 'abstractstaticmethod' is deprecated. Use 'staticmethod' with 'abstractmethod' instead. csd|_tj|dS(NT(uTrueu__isabstractmethod__usuperu__init__(uselfucallable(u __class__(u(/opt/alt/python33/lib64/python3.3/abc.pyu__init__Gs uabstractstaticmethod.__init__T(u__name__u __module__u __qualname__u__doc__uTrueu__isabstractmethod__u__init__(u __locals__((u __class__u(/opt/alt/python33/lib64/python3.3/abc.pyuabstractstaticmethod4suabstractstaticmethodcBs |EeZdZdZdZdS(uabstractpropertyuk A decorator indicating abstract properties. Requires that the metaclass is ABCMeta or derived from it. A class that has a metaclass derived from ABCMeta cannot be instantiated unless all of its abstract properties are overridden. The abstract properties can be called using any of the normal 'super' call mechanisms. Usage: class C(metaclass=ABCMeta): @abstractproperty def my_abstract_property(self): ... This defines a read-only property; you can also define a read-write abstract property using the 'long' form of property declaration: class C(metaclass=ABCMeta): def getx(self): ... def setx(self, value): ... x = abstractproperty(getx, setx) 'abstractproperty' is deprecated. Use 'property' with 'abstractmethod' instead. NT(u__name__u __module__u __qualname__u__doc__uTrueu__isabstractmethod__(u __locals__((u(/opt/alt/python33/lib64/python3.3/abc.pyuabstractpropertyLsuabstractpropertycse|EeZdZdZdZfddZddZd ddZd d Z d d Z S(uABCMetauiMetaclass for defining Abstract Base Classes (ABCs). Use this metaclass to create an ABC. An ABC can be subclassed directly, and then acts as a mix-in class. You can also register unrelated concrete classes (even built-in classes) and unrelated ABCs as 'virtual subclasses' -- these and their descendants will be considered subclasses of the registering ABC by the built-in issubclass() function, but the registering ABC won't show up in their MRO (Method Resolution Order) nor will method implementations defined by the registering ABC be callable (not even via super()). icstj||||}dd|jD}xb|D]Z}xQt|dtD]:}t||d}t|ddrW|j|qWqWWq;Wt||_ t |_ t |_ t |_ tj|_|S(NcSs.h|]$\}}t|ddr|qS(u__isabstractmethod__F(ugetattruFalse(u.0unameuvalue((u(/opt/alt/python33/lib64/python3.3/abc.pyu s  u"ABCMeta.__new__..u__abstractmethods__u__isabstractmethod__F(usuperu__new__uitemsugetattrusetuNoneuFalseuaddu frozensetu__abstractmethods__uWeakSetu _abc_registryu _abc_cacheu_abc_negative_cacheuABCMetau_abc_invalidation_counteru_abc_negative_cache_version(umclsunameubasesu namespaceuclsu abstractsubaseuvalue(u __class__(u(/opt/alt/python33/lib64/python3.3/abc.pyu__new__s      uABCMeta.__new__cCsrt|tstdnt||r1|St||rOtdn|jj|tjd7_|S(usRegister a virtual subclass of an ABC. Returns the subclass, to allow usage as a class decorator. uCan only register classesu'Refusing to create an inheritance cyclei( u isinstanceutypeu TypeErroru issubclassu RuntimeErroru _abc_registryuadduABCMetau_abc_invalidation_counter(uclsusubclass((u(/opt/alt/python33/lib64/python3.3/abc.pyuregistersuABCMeta.registercCstd|j|jfd|tdtjd|xXt|jjD]A}|jdrMt ||}td||fd|qMqMWdS(u'Debug helper to print the ABC registry.u Class: %s.%sufileuInv.counter: %su_abc_u%s: %rN( uprintu __module__u__name__uABCMetau_abc_invalidation_counterusortedu__dict__ukeysu startswithugetattr(uclsufileunameuvalue((u(/opt/alt/python33/lib64/python3.3/abc.pyu_dump_registrys  uABCMeta._dump_registrycs|j}|jkrdSt|}||krfjtjkrY|jkrYdSj |St fdd||hDS(u'Override for isinstance(instance, cls).c3s|]}j|VqdS(N(u__subclasscheck__(u.0uc(ucls(u(/opt/alt/python33/lib64/python3.3/abc.pyu su,ABCMeta.__instancecheck__..TF( u __class__u _abc_cacheuTrueutypeu_abc_negative_cache_versionuABCMetau_abc_invalidation_counteru_abc_negative_cacheuFalseu__subclasscheck__uany(uclsuinstanceusubclassusubtype((uclsu(/opt/alt/python33/lib64/python3.3/abc.pyu__instancecheck__s     uABCMeta.__instancecheck__cCsL||jkrdS|jtjkr@t|_tj|_n||jkrSdS|j|}|t k r|r|jj |n|jj ||S|t |dfkr|jj |dSx4|j D])}t ||r|jj |dSqWx7|jD])}t ||r |jj |dSq W|jj |dS(u'Override for issubclass(subclass, cls).u__mro__TF(u _abc_cacheuTrueu_abc_negative_cache_versionuABCMetau_abc_invalidation_counteruWeakSetu_abc_negative_cacheuFalseu__subclasshook__uNotImplementeduaddugetattru _abc_registryu issubclassu__subclasses__(uclsusubclassuokurclsuscls((u(/opt/alt/python33/lib64/python3.3/abc.pyu__subclasscheck__s4  uABCMeta.__subclasscheck__N( u__name__u __module__u __qualname__u__doc__u_abc_invalidation_counteru__new__uregisteruNoneu_dump_registryu__instancecheck__u__subclasscheck__(u __locals__((u __class__u(/opt/alt/python33/lib64/python3.3/abc.pyuABCMetals  uABCMetaN( u__doc__u _weakrefsetuWeakSetuabstractmethodu classmethoduabstractclassmethodu staticmethoduabstractstaticmethodupropertyuabstractpropertyutypeuABCMeta(((u(/opt/alt/python33/lib64/python3.3/abc.pyus