
    Xf                         d Z ddlmZmZ  G d de          Z G d de          Z G d de          Z G d	 d
e          Z	dS )a6  The official list of format hints that text renderers and plugins can rely
upon existing within the framework.

These hints allow a plugin to indicate how they would like data from a particular column to be represented.

Text renderers should attempt to honour all hints provided in this module where possible
    )TypeUnionc                       e Zd ZdZdS )BinzWA class to indicate that the integer value should be represented as a
    binary value.N__name__
__module____qualname____doc__     ^/home/panchajanya/Development/work/volatility3/volatility3/framework/renderers/format_hints.pyr   r      s           r   r   c                       e Zd ZdZdS )Hexz\A class to indicate that the integer value should be represented as a
    hexadecimal value.Nr   r   r   r   r   r      s           r   r   c                       e Zd ZdZdS )HexByteszA class to indicate that the bytes should be display in an extended
    format showing hexadecimal and ascii printable display.Nr   r   r   r   r   r      s        ? ? ? ?r   r   c                        e Zd ZdZ	 	 	 dded          deeef         dede	de	d	d f fd
Z
	 	 	 ddedede	de	d	df
dZ fdZ xZS )MultiTypeDatazFThe contents are supposed to be a string, but may contain binary data.	utf-16-leFclsoriginalencodingsplit_nullsshow_hexreturnc                     t          |t                    r#t          |                              |          }n|}t	                                          | |          S N)
isinstanceintstrencodesuper__new__)r   r   r   r   r   data	__class__s         r   r#   zMultiTypeData.__new__    sO     h$$ 	x==''11DDDwwsD)))r   Nc                     d| _         t          |t                    rd| _         || _        || _        || _        t                              |           d S )NFT)converted_intr   r   r   r   r   bytes__init__)selfr   r   r   r   s        r   r)   zMultiTypeData.__init__-   sT     $)h$$ 	&!%D & x     r   c                     t          || j                  odt                      t          | j        |          k    o?| j        |j        k    o/| j        |j        k    o| j        |j        k    o| j        |j        k    S r   )r   r%   r"   r'   r   r   r   )r*   otherr%   s     r   __eq__zMultiTypeData.__eq__<   s    udn-- 057770"e&990 /0  E$55	0
 /	
r   )r   FF)r   r	   r
   r   r   r   r   r(   r    boolr#   r)   r-   __classcell__)r%   s   @r   r   r      s       PP
 $!* */"*U
#* * 	*
 * 
* * * * * *  $!! !! ! 	!
 ! 
! ! ! !
 
 
 
 
 
 
 
 
r   r   N)
r   typingr   r   r   r   r   r(   r   r   r   r   r   <module>r1      s                #   
    #   
? ? ? ? ?u ? ? ?
'
 '
 '
 '
 '
E '
 '
 '
 '
 '
r   