o
    j0                     @   s(   d dl mZ 	 d dlZG dd dZdS )    )SECURITY_DESCRIPTORNc                   @   s4   e Zd Zdd Zedd Zedd Zdd Zd	S )
NTRegistrySKc                 C   s.   d| _ d | _d | _d | _d | _d | _d | _d S )Ns   sk)magicunknownoffset_prevoffset_nextreference_cntsd_sizesd)self r   /root/aizidognhua/tmp/workspace/projects/ec89d86c-575f-41c9-af57-ac45cbdbf775/venv/lib/python3.10/site-packages/aiowinreg/filestruct/sk.py__init__	   s   
zNTRegistrySK.__init__c                 C   s   t t| S )N)r   from_bufferioBytesIO)datar   r   r   
from_bytes   s   zNTRegistrySK.from_bytesc                 C   s   t  }| d|_tj| dddd|_tj| dddd|_tj| dddd|_tj| dddd|_tj| dddd|_	|j	dkrTt
| |j	|_|S )N   littleF)signed      )r   readr   intr   r   r   r   r   r	   r   r
   )buffskr   r   r   r      s   
zNTRegistrySK.from_bufferc                 C   s*   d}| j D ]}|d|| j | f 7 }q|S )Nz== NT Registry SK block ==
z	%s: %s 
)__dict__)r   tkr   r   r   __str__#   s   
zNTRegistrySK.__str__N)__name__
__module____qualname__r   staticmethodr   r   r    r   r   r   r   r      s    	

r   )winacl.dtyp.security_descriptorr   r   r   r   r   r   r   <module>   s    