o [d@s:ddlZddZddZGdddZGdd d eZdS) Nc Csfddl}|d}ddg|dd}|d}z|j||WStttfy2td|w)Nr/.ztzdata.zoneinfozNo time zone found with key ) importlib.resourcessplitjoin resources open_binary ImportErrorFileNotFoundErrorUnicodeEncodeErrorZoneInfoNotFoundError)key importlib components package_name resource_namer'/usr/lib/python3.10/zoneinfo/_common.py load_tzdatas  rcst}|jdkrd}d}n'd}d}|jd|jd|j|jd|j|j} |dt}|j}|j}|j}|r_t d|| ||}t d|d  |} nd }d } |rvt fd d t|D\} } } nd } d } d } i |fd dtfdd | D} |jdkr|j|j|jd} |d d}|dksJ|d} d}dkr||7} d}dks|}nd}| || | | |fS)Nlq>Brc3s"|] }tddVqdS)z>lbbrN)structunpackread).0i)fobjrr Hs zload_data..cs0|vrd|}|||<|S)N)finddecode)idxspan_end) abbr_chars abbr_valsrrget_abbrVs zload_data..get_abbrc3s|]}|VqdS)Nr)r"r))r-rrr%gs  ) _TZifHeader from_fileversiontimecnttypecntcharcntleapcntisstdcntisutcntseekrr r!ziprangetuple)r$header time_size time_type skip_bytesr6r5r7trans_list_utc trans_idxutcoffisdstabbrindabbrctz_bytestz_strr)r+r,r$r-r load_datasj        rLc@s(eZdZgdZddZeddZdS)r2)r4r:r9r8r5r6r7cGs*t|j|ddD] \}}t|||qdS)NT)strict)r< __slots__setattr)selfargsattrvalrrr__init__sz_TZifHeader.__init__cCsd|ddkr td|d}|dkrd}nt|}|d|f}|td|d}||S) NrsTZifz"Invalid TZif file: magic not foundrr&z>6l)r! ValueErrorintrr )clsstream_versionr4rQrrrr3s  z_TZifHeader.from_fileN)__name__ __module__ __qualname__rNrT classmethodr3rrrrr2s  r2c@seZdZdZdS)r z2Exception raised when a ZoneInfo key is not found.N)r\r]r^__doc__rrrrr sr )rrrLr2KeyErrorr rrrrs d$