ž 7’Reñ c @s¼ddlmZmZmZddlmZyddljjZ Wn$e k rhddl jj Z YnXdddddgZ Gd d„deƒZd d„Zd d„Zd d„ZdS( i(uabsolute_importudivisionuunicode_literals(u ModuleTypeNu default_etreeuMethodDispatcheruisSurrogatePairusurrogatePairToCodepointumoduleFactoryFactorycBs5|EeZdZdZfdd„Zdd„ZdS(uMethodDispatcherupDict with 2 special properties: On initiation, keys that are lists, sets or tuples are converted to multiple keys so accessing any one of the items in the original list-like object returns the matching value md = MethodDispatcher({("foo", "bar"):"baz"}) md["foo"] == "baz" A default value which can be set through the default attribute. cCs’g}xl|D]d\}}t|ƒttttfkr^x7|D]}|j||fƒq>Wq |j||fƒq Wtj||ƒd|_ dS(N( utypeulistutupleu frozensetusetuappendudictu__init__uNoneudefault(uselfuitemsu _dictEntriesunameuvalueuitem((u3/tmp/pip-zej_zi-build/pip/_vendor/html5lib/utils.pyu__init__s uMethodDispatcher.__init__cCstj|||jƒS(N(udictugetudefault(uselfukey((u3/tmp/pip-zej_zi-build/pip/_vendor/html5lib/utils.pyu __getitem__*suMethodDispatcher.__getitem__N(u__name__u __module__u __qualname__u__doc__u__init__u __getitem__(u __locals__((u3/tmp/pip-zej_zi-build/pip/_vendor/html5lib/utils.pyuMethodDispatchers cCsht|ƒdkogt|dƒdkogt|dƒdkogt|dƒdkogt|dƒdkS(NiiiØiÿÛiiÜiÿß(ulenuord(udata((u3/tmp/pip-zej_zi-build/pip/_vendor/html5lib/utils.pyuisSurrogatePair1s,cCs2dt|dƒddt|dƒd}|S(NiiiØiiiÜ(uord(udatauchar_val((u3/tmp/pip-zej_zi-build/pip/_vendor/html5lib/utils.pyusurrogatePairToCodepoint7scsi‰‡‡fdd†}|S(Ncs‰ttjtdƒƒr(d|j}n d|j}|ˆkrIˆ|St|ƒ}ˆ|||Ž}|jj|ƒ|ˆ|<|SdS(Nuu _%s_factorys _%s_factory(u isinstanceu ModuleTypeu__name__utypeu__dict__uupdate(u baseModuleuargsukwargsunameumoduobjs(ufactoryu moduleCache(u3/tmp/pip-zej_zi-build/pip/_vendor/html5lib/utils.pyu moduleFactoryCs    u+moduleFactoryFactory..moduleFactory((ufactoryu moduleFactory((ufactoryu moduleCacheu3/tmp/pip-zej_zi-build/pip/_vendor/html5lib/utils.pyumoduleFactoryFactory@s(u __future__uabsolute_importudivisionuunicode_literalsutypesu ModuleTypeuxml.etree.cElementTreeuetreeu cElementTreeu default_etreeu ImportErroruxml.etree.ElementTreeu ElementTreeu__all__udictuMethodDispatcheruisSurrogatePairusurrogatePairToCodepointumoduleFactoryFactory(((u3/tmp/pip-zej_zi-build/pip/_vendor/html5lib/utils.pyus   "