U Qabs @ s d Z ddlZddlZddlZddlZddlZddlZddlm Z ddl mZ ddlm Z ddlmZ ddlmZmZ dd lmZmZ ddlZdd lmZ ddlmZmZ ddlmZ dd lm Z e!Z"ddddddddgZ#ere#$d ej%j&Z&dZ'dZ(dgZ)G dd dZ*G dd de*Z+e*j,Z-er,e+j,Z.dd Z/dd Z0ej1j0j e0_ e 2ej1j3Z4G d d de4Z3d!d" Z5ej6fd#d$Z7e 8 dS )%z@Extensions to the 'distutils' for large or complex distributions N)DistutilsOptionError)convert_pathfnmatchcase )SetuptoolsDeprecationWarning)PY3string_types)filtermap) Extension)DistributionFeature)Require)monkeysetupr r Commandr r r find_packagesfind_namespace_packagesTz lib2to3.fixesc @ sB e Zd ZdZedddZedd Zed d Zedd Z d S ) PackageFinderzI Generate a list of all Python packages found within a directory . *c C s&