U ��.e��@s�ddlmZddlTddlmZGdd�dedd��ZddlZej�d �r`dd l m Z m Z m Z nBzdd l m Z m Z m Z Wn(ek r�dd l m Z m Z m Z YnXd d �Zd d�Zdd�ZeZe ZeZeZdS)�)�version)�*�)� namedtuplecs eZdZdZ�fdd�Z�ZS)�ExtTypez'ExtType represents ext type in msgpack.csVt|t�std��t|t�s$td��d|kr8dksBntd��tt|��|||�S)Nzcode must be intzdata must be bytesr�zcode must be 0~127)� isinstance�int� TypeError�bytes� ValueError�superr�__new__)�cls�code�data�� __class__��@/usr/lib/python3.8/site-packages/pip/_vendor/msgpack/__init__.pyr s  zExtType.__new__)�__name__� __module__� __qualname__�__doc__r� __classcell__rrrrrsrz code dataNZMSGPACK_PUREPYTHON)�Packer�unpackb�UnpackercKstf|�}|�|�|��dS)zX Pack object `o` and write it to `stream` See :class:`Packer` for options. N)r�write�pack)�o�stream�kwargsZpackerrrrrs rcKstf|��|�S)zW Pack object `o` and return packed bytes See :class:`Packer` for options. )rr)r r"rrr�packb(sr#cKs|��}t|f|�S)z� Unpack an object from `stream`. Raises `ExtraData` when `stream` contains extra bytes. See :class:`Unpacker` for options. )�readr)r!r"rrrr�unpack1sr%)Z_versionr� exceptions� collectionsrr�os�environ�getZfallbackrrrZ _cmsgpack� ImportErrorrr#r%�load�loads�dump�dumpsrrrr�s"