o
    �õ±j]	  ã                   @   s*   d dl mZ d dlmZ G dd„ dƒZdS )é    )ÚMINIDUMP_STREAM_TYPE)ÚMINIDUMP_LOCATION_DESCRIPTORc                   @   sJ   e Zd Zdd„ Zdd„ Zeddd„ƒZedd	„ ƒZed
d„ ƒZdd„ Z	dS )ÚMINIDUMP_DIRECTORYc                 C   s   d | _ d | _d S ©N©Ú
StreamTypeÚLocation)Úself© r
   ú…/root/aizidognhua/tmp/workspace/projects/ec89d86c-575f-41c9-af57-ac45cbdbf775/venv/lib/python3.10/site-packages/minidump/directory.pyÚ__init__   s   
zMINIDUMP_DIRECTORY.__init__c                 C   s&   | j jjdddd�}|| j ¡ 7 }|S ©Né   ÚlittleF)Ú	byteorderÚsigned)r   ÚvalueÚto_bytesr   ©r	   Útr
   r
   r   r   
   s   zMINIDUMP_DIRECTORY.to_bytesFc                 C   s   t j|  d¡ddd�S r   )ÚintÚ
from_bytesÚread)ÚbuffÚpeekr
   r
   r   Úget_stream_type_value   s   z(MINIDUMP_DIRECTORY.get_stream_type_valuec                 C   sL   t  | ¡}|tjjk}|tjv }|r|sd S t ƒ }t|ƒ|_t | ¡|_	|S r   )
r   r   r   ÚLastReservedStreamr   Ú_value2member_map_r   r   Úparser   )r   Úraw_stream_type_valueÚis_user_streamÚis_stream_supportedÚmdr
   r
   r   r      s   


zMINIDUMP_DIRECTORY.parsec                 Ã   sj   �|   d¡I d H }tj|ddd�}|tjjk}|tjv }|r"|s"d S tƒ }t|ƒ|_t	 
| ¡I d H |_|S r   )r   r   r   r   r   r   r   r   r   r   Úaparser   )r   r   r   r    r!   r"   r
   r
   r   r#   %   s   €

zMINIDUMP_DIRECTORY.aparsec                 C   s   d| j | jf }|S )NzStreamType: %s %sr   r   r
   r
   r   Ú__str__8   s   zMINIDUMP_DIRECTORY.__str__N)F)
Ú__name__Ú
__module__Ú__qualname__r   r   Ústaticmethodr   r   r#   r$   r
   r
   r
   r   r      s    

r   N)Úminidump.constantsr   Úminidump.common_structsr   r   r
   r
   r
   r   Ú<module>   s   