U ��.e��@s�dZddlZddlZdddgZzddlmZWnek rLd dd�ZYnXzeZWn(ek r~dd l m Z d d�ZYnXz ej Z Wne k r�d d�Z YnXdS) z/Backports for individual classes and functions.�N�cache_from_source�callable�fsencode)rFcCs|rdp d}||S)N�c�o�)Zpy_file�debugZextrr�F/usr/lib/python3.8/site-packages/pip/_vendor/distlib/_backport/misc.pyrs )�CallablecCs t|t�S)N)� isinstancer )�objrrr rscCs<t|t�r|St|t�r&|�t���Stdt|�j��dS)Nzexpect bytes or str, not %s) r �bytes�str�encode�sys�getfilesystemencoding� TypeError�type�__name__)�filenamerrr r"s  �)F) �__doc__�osr�__all__Zimpr� ImportErrorr� NameError� collectionsr r�AttributeErrorrrrr �s