U ifC @ s" d ddddddddg Z d d lZd dlmZmZ d dlmZ d d l Zd d lZ d d lmZ d dlmZmZmZ d dlmZ zd dlmZ W n ek r Y nX eje zd dlm Z W n ek r Y nX dd Z!G dd dej"Z#G dd dej$Z%G dd dej&Z'G dd de(Z)G dd de*Z+zd dlm+Z+ W n ek rR Y nX zd dlm,Z, W n ek r dd Z,Y nX d!d d d"d#dZ-d$d% Z.zd d&lm.Z. W n ek r Y nX G d'd de*Z/G d(d dej0Z1G d)d dej0Z2G d*d dejZ3G d+d dej4Z5d S ),dequedefaultdict namedtupleUserDictUserList UserStringCounterOrderedDictChainMap N) itemgettereq) iskeyword)proxy)repeatchainstarmap)recursive_repr)r )r c C sR | t jkr:tt | }dd l}|jdtdd |t | <