§
    'àjÅ  ã                  óŽ   — U d dl mZ d dlmZmZ ddlmZmZ ddlm	Z	 erd dl
mZ dgZ e¦   «         Zded	<    G d
„ d¦  «        ZdS )é    )Úannotations)ÚTYPE_CHECKINGÚSequenceé   )ÚBodyÚload)ÚEncodedData)Ú	DXFEntityÚ	AcisCacheúSequence[Body]Ú	NO_BODIESc                  óJ   — e Zd ZdZdd„Zedd„¦   «         Zdd	„Zdd„Zdd„Z	dS )r   zäThis cache manages ACIS bodies created from SAT or SAB data stored in DXF 
    entities.
    
    Each entry is a list of ACIS bodies and is indexed by a hash calculated from the 
    source content of the SAT or SAB data.

    ÚreturnÚNonec                ó0   — i | _         d| _        d| _        d S )Nr   )Ú_entriesÚhitsÚmisses©Úselfs    úJ/DATA/AppData/hermes/venv/lib/python3.11/site-packages/ezdxf/acis/cache.pyÚ__init__zAcisCache.__init__   s   € Ø35ˆŒØˆŒ	ØˆŒˆˆó    Údatar	   Úintc                óä   — t          | t          ¦  «        rt          t          | ¦  «        ¦  «        S t          | t          ¦  «        rt          t          | ¦  «        ¦  «        S t          | ¦  «        S ©N)Ú
isinstanceÚlistÚhashÚtupleÚ	bytearrayÚbytes)r   s    r   Ú	hash_datazAcisCache.hash_data   sZ   € ådDÑ!Ô!ð 	%Ý˜d™œÑ$Ô$Ð$Ý˜iÑ(Ô(ð 	%Ý˜d™œÑ$Ô$Ð$ÝD‰zŒzÐr   c                ó*   — t          | j        ¦  «        S r   )Úlenr   r   s    r   Ú__len__zAcisCache.__len__$   s   € Ý4”=Ñ!Ô!Ð!r   r   c                ó.  — |st           S t                               |¦  «        }| j                             |t           ¦  «        }|t           ur| xj        dz  c_        |S | xj        dz  c_        t          t          |¦  «        ¦  «        }|| j        |<   |S )Nr   )	r   r   r$   r   Úgetr   r   r!   r   )r   r   Ú
hash_valueÚbodiess       r   Ú
get_bodieszAcisCache.get_bodies'   s   € Øð 	ÝÐå×(Ò(¨Ñ.Ô.ˆ
Ø”×"Ò" :­yÑ9Ô9ˆØÐ"Ð"ØˆIŒI˜‰NˆIŒIØˆMàˆŒqÑˆŒÝ•t˜D‘z”zÑ"Ô"ˆØ$*ˆŒjÑ!Øˆr   Úentityr
   c                óp   — ddl m} t          ||¦  «        st          S |                      |j        ¦  «        S )Nr   )r   )Úezdxf.entitiesr   r   r   r,   Ú	acis_data)r   r-   ÚDxfBodys      r   Úfrom_dxf_entityzAcisCache.from_dxf_entity6   sA   € Ø2Ð2Ð2Ð2Ð2Ð2å˜& 'Ñ*Ô*ð 	ÝÐØŠ˜vÔ/Ñ0Ô0Ð0r   N)r   r   )r   r	   r   r   )r   r   )r   r	   r   r   )r-   r
   r   r   )
Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   Ústaticmethodr$   r'   r,   r2   © r   r   r   r      sŽ   € € € € € ðð ðð ð ð ð
 ðð ð ñ „\ðð"ð "ð "ð "ðð ð ð ð1ð 1ð 1ð 1ð 1ð 1r   N)Ú
__future__r   Útypingr   r   Úentitiesr   r   Ú
type_hintsr	   r/   r
   Ú__all__r!   r   Ú__annotations__r   r8   r   r   ú<module>r?      sÈ   ðð #Ð "Ð "Ð "Ð "Ð "Ð "Ø *Ð *Ð *Ð *Ð *Ð *Ð *Ð *Ø  Ð  Ð  Ð  Ð  Ð  Ð  Ð  Ø #Ð #Ð #Ð #Ð #Ð #àð )Ø(Ð(Ð(Ð(Ð(Ð(àˆ-€Ø!˜E™GœG€	Ð #Ð #Ð #Ñ #ð,1ð ,1ð ,1ð ,1ð ,1ñ ,1ô ,1ð ,1ð ,1ð ,1r   