
    Rh                     B    d dl Z d Zd Z G d d      Z G d de      Zy)    Nc                    ddl m} | j                  d      }dj                  dg|d d z         }|d   }	 |j	                  |      j                  |      j                  d      S # t        t        t        f$ r t        d|        w xY w)	Nr   )	resources/.ztzdata.zoneinforbzNo time zone found with key )	importlibr   splitjoinfilesjoinpathopenImportErrorFileNotFoundErrorUnicodeEncodeErrorZoneInfoNotFoundError)keyr   
componentspackage_nameresource_names        '/usr/lib/python3.12/zoneinfo/_common.pyload_tzdatar      s    #3J88./*Sb/ABLrNMJ|,55mDII$OO*,>? J $&B3%$HIIJs   .A% %#Bc                 X    t         j                         }|j                  dk(  rd}d}nd}d}|j                  dz  |j                  dz  z   |j
                  z   |j                  dz  z   |j                  z   |j                  z   } j                  |d       t         j                         }|j                  }|j                  }|j
                  }|rWt        j                  d| |  j                  ||z              }t        j                  d| d	 j                  |            }	nd
}d
}	|rt         fdt        |      D         \  }
}}nd
}
d
}d
}i  j                  |      fdt        fd|D              }|j                  dk\  r|j                  |j                  z   |j                  dz  z   } j                  |d        j                  d      }|dk(  sJ |       d} j                  d      x}dk7  r||z  } j                  d      x}dk7  r|}nd }|	||
|||fS )N      l   q      >B c              3   h   K   | ])  }t        j                  d j                  d             + yw)z>lbbr    N)structunpackread).0ifobjs     r   	<genexpr>zload_data.<locals>.<genexpr>H   s$     JafmmFDIIaL1Js   /2c                 f    | vr(j                  d|       }| | j                         | <   |    S )N    )finddecode)idxspan_end
abbr_chars	abbr_valss     r   get_abbrzload_data.<locals>.get_abbrV   s@     i!w4H'H5<<>IcN~    c              3   .   K   | ]  } |        y w)Nr#   )r(   r0   r4   s     r   r+   zload_data.<locals>.<genexpr>g   s     23#2s            
r5   )_TZifHeader	from_fileversiontimecnttypecntcharcntleapcntisstdcntisutcntseekr%   r&   r'   ziprangetuple)r*   header	time_size	time_type
skip_bytesr>   r=   r?   trans_list_utc	trans_idxutcoffisdstabbrindabbrctz_bytestz_strr2   r3   r4   s   `                @@@r   	load_datarT      sA   ""4(F~~		 		
 NNQnnq !nn nnq ! oo	
 nn 	 			*a  &&t,nnGnnGnnG y$dii)0C&D
 MMAgYa.$))G2DE		 !$J5>J"
w  I7#J" 2'22D
 ~~^^foo58KK
		*a IIaLEz1zIIaL qU*MH IIaL qU* nfeT6AAr5   c                   *    e Zd Zg dZd Zed        Zy)r:   )r<   rB   rA   r@   r=   r>   r?   c                 ^    t        | j                  |d      D ]  \  }}t        | ||        y )NT)strict)rD   	__slots__setattr)selfargsattrvals       r   __init__z_TZifHeader.__init__   s.    T^^T$? 	%ID#D$$	%r5   c                 
   |j                  d      dk7  rt        d      |j                  d      }|dk(  rd}nt        |      }|j                  d       |f}|t        j                  d|j                  d            z   } | | S )	Nr   s   TZifz"Invalid TZif file: magic not foundr   r-      z>6l   )r'   
ValueErrorintr%   r&   )clsstream_versionr<   r[   s        r   r;   z_TZifHeader.from_file   s~     ;;q>W$ABB;;q>wG(mGBz fmmE6;;r?;;Dzr5   N)__name__
__module____qualname__rX   r^   classmethodr;   r#   r5   r   r:   r:      s"    I%  r5   r:   c                       e Zd ZdZy)r   z2Exception raised when a ZoneInfo key is not found.N)rg   rh   ri   __doc__r#   r5   r   r   r      s    <r5   r   )r%   r   rT   r:   KeyErrorr   r#   r5   r   <module>rn      s-    J.aBH! !H=H =r5   