File: //usr/lib/python3/dist-packages/virtualenv/util/__pycache__/six.cpython-310.pyc
o
$�"b� � @ s� d Z ddlmZ ddlmZmZmZmZ zddlmZ W n e y* d
dd�ZY nw z dd lm
Z
W dS e yC d
d
d�Z
Y dS w )z�Backward compatibility layer with older version of six.
This is used to avoid virtualenv requring a version of six newer than what
the system may have.
� )�absolute_import)�PY2�PY3�binary_type� text_type)�ensure_text�utf-8�strictc C s4 t | t�r| �||�S t | t�r| S tdt| � ��)z�Coerce *s* to six.text_type.
For Python 2:
- `unicode` -> `unicode`
- `str` -> `unicode`
For Python 3:
- `str` -> `str`
- `bytes` -> decoded to `str`
�not expecting type '%s')�
isinstancer �decoder � TypeError�type��s�encoding�errors� r �5/usr/lib/python3/dist-packages/virtualenv/util/six.pyr s
r )�
ensure_strc C sZ t | ttf�stdt| � ��trt | t�r| �||�} | S tr+t | t�r+| �||�} | S )z�Coerce *s* to `str`.
For Python 2:
- `unicode` -> encoded to `str`
- `str` -> `str`
For Python 3:
- `str` -> `str`
- `bytes` -> decoded to `str`
r
) r r r r
r r �encoder r r r r r r # s �r N)r r )�__doc__�
__future__r �sixr r r r r �ImportErrorr r r r r �<module> s ��