a lj @ s d dl mZ d dlZd dlZd dlZejd dkZerDeefZ dZ n4eZ zejjZ W n" e yv eed Z Y n0 G dd deddZG dd deZdS ) ) namedtupleN c s e Zd ZdZ fddZ ZS )ExtTypez'ExtType represents ext type in msgpack.c sV t |tstdt |ts$tdd| kr8dksBn tdtt| | ||S )Nzcode must be intzdata must be bytesr zcode must be 0~127) isinstanceint TypeErrorbytes ValueErrorsuperr __new__)clscodedata __class__ ;/usr/lib/python3.9/site-packages/pip/_vendor/msgpack/ext.pyr s zExtType.__new__)__name__ __module____qualname____doc__r __classcell__r r r r r s r z code datac @ s e Zd ZdZddgZd ddZdd Zd d Zdd Zd d Z e dd Zdd Ze dd Z dd Ze dd Zdd Zdd Ze dd ZdS )! TimestampaR Timestamp represents the Timestamp extension type in msgpack. When built with Cython, msgpack uses C methods to pack and unpack `Timestamp`. When using pure-Python msgpack, :func:`to_bytes` and :func:`from_bytes` are used to pack and unpack `Timestamp`. This class is immutable: Do not override seconds and nanoseconds. secondsnanosecondsr c C sR t |tstdt |ts$tdd| kr8dk sBn td|| _|| _dS )a Initialize a Timestamp object. :param int seconds: Number of seconds since the UNIX epoch (00:00:00 UTC Jan 1 1970, minus leap seconds). May be negative. :param int nanoseconds: Number of nanoseconds to add to `seconds` to get fractional time. Maximum is 999_999_999. Default is 0. Note: Negative times (before the UNIX epoch) are represented as negative seconds + positive ns. zseconds must be an intergerznanoseconds must be an integerr ʚ;z?nanoseconds must be a non-negative integer less than 999999999.N)r int_typesr r r r )selfr r r r r __init__- s zTimestamp.__init__c C s d | j| jS )z#String representation of Timestamp.z'Timestamp(seconds={0}, nanoseconds={1}))formatr r r r r r __repr__E s zTimestamp.__repr__c C s* t || ju r&| j|jko$| j|jkS dS )z0Check for equality with another Timestamp objectF)typer r r r otherr r r __eq__K s zTimestamp.__eq__c C s | | S )z(not-equals method (see :func:`__eq__()`))r&