
    h                         d Z ddlmZ ddlmZ ddlmZmZmZm	Z	m
Z
mZ erddlmZ  G d de          Z G d d	ee
          ZdS )zH
ASN.1 Packet

Packet holding data in Abstract Syntax Notation (ASN.1).
    )Packet_metaclass)Packet)AnyDictTupleTypecastTYPE_CHECKING)ASN1F_fieldc                        e Zd Z fdZ xZS )ASN1Packet_metaclassc           	          |d         |d                                          |d<   t          dt          t          |                               | |||                    S )N	ASN1_rootfields_desczType[ASN1_Packet])get_fields_listr	   superr   __new__)clsnamebasesdct	__class__s       T/mounts/lovelace/software/anaconda3/lib/python3.11/site-packages/scapy/asn1packet.pyr   zASN1Packet_metaclass.__new__   sb     {'!$[!1!A!A!C!CC&,,44S$sKK
 
 	
    )__name__
__module____qualname__r   __classcell__)r   s   @r   r   r      s8        
 
 
 
 
 
 
 
 
r   r   c                   6    e Zd Z edd          ZdZd Zd ZdS )ASN1_PacketzASN1F_field[Any, Any]Nc                 R    | j         | j         S | j                            |           S N)raw_packet_cacher   build)selfs    r   
self_buildzASN1_Packet.self_build/   s*     ,((~##D)))r   c                 8    | j                             | |          S r"   )r   dissect)r%   xs     r   
do_dissectzASN1_Packet.do_dissect5   s    ~%%dA...r   )r   r   r   r	   r   
ASN1_codecr&   r*    r   r   r    r    +   sI        ,d33IJ* * */ / / / /r   r    )	metaclassN)__doc__scapy.base_classesr   scapy.packetr   typingr   r   r   r   r	   r
   scapy.asn1fieldsr   r   r    r,   r   r   <module>r3      s    0 / / / / /                       -,,,,,,
 
 
 
 
+ 
 
 
/ / / / /&$8 / / / / / /r   