Sindbad~EG File Manager
�
Mٜg�k � �d � d Z ddlmZ ddlmZ ddlmZmZ ddlZddlm Z ddl
Zddlm
Z
mZmZmZmZ ddlmZmZ dd lmZ dd
lmZ ddlZddlmZmZmZ ddlmZ ddl m!c m"c m#Z$ dd
l%m&Z& e r
ddl'm(Z(m)Z)m*Z* ed� Z+ ed� Z,dd�Z-dd�Z. G d� d� Z/ G d� de&ej` � Z1y)a�
Read SAS7BDAT files
Based on code written by Jared Hobbs:
https://bitbucket.org/jaredhobbs/sas7bdat
See also:
https://github.com/BioStatMatt/sas7bdat
Partial documentation of the file format:
https://cran.r-project.org/package=sas7bdat/vignettes/sas7bdat.pdf
Reference for binary data compression:
http://collaboration.cmc.ec.gc.ca/science/rpn/biblio/ddj/Website/articles/CUJ/1992/9210/ross/ross.htm
� )�annotations)�abc)�datetime� timedeltaN)�
TYPE_CHECKING)�read_double_with_byteswap�read_float_with_byteswap�read_uint16_with_byteswap�read_uint32_with_byteswap�read_uint64_with_byteswap)�Parser�get_subheader_index)�cast_from_unit_vectorized)�EmptyDataError)� DataFrame� Timestamp�isna)�
get_handle)�
ReaderBase)�CompressionOptions�FilePath�
ReadBufferz
1970-01-01z
1960-01-01c �� � t | � rt j S |dk( rt ddd� t | �� z S |dk( rt ddd� t | �� z S t d� �)N�s� � )�seconds�d)�dayszunit must be 'd' or 's')r �pd�NaTr r �
ValueError)�sas_datetime�units �A/usr/local/lib/python3.12/site-packages/pandas/io/sas/sas7bdat.py�_parse_datetimer&