Ë
    £èh   ã                  ó€   — 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y)é    )Úannotations)ÚTYPE_CHECKINGÚSequenceé   )ÚBodyÚload)ÚEncodedData)Ú	DXFEntityÚ	AcisCacheúSequence[Body]Ú	NO_BODIESc                  óB   — e Zd ZdZdd„Zed	d„«       Zd
d„Zdd„Zdd„Z	y)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.

    c                ó.   — i | _         d| _        d| _        y )Nr   )Ú_entriesÚhitsÚmisses©Úselfs    ú0lib/python3.12/site-packages/ezdxf/acis/cache.pyÚ__init__zAcisCache.__init__   s   € Ø35ˆŒØˆŒ	Øˆ�ó    c                ó¨   — t        | t        «      rt        t        | «      «      S t        | t        «      rt        t        | «      «      S t        | «      S ©N)Ú
isinstanceÚlistÚhashÚtupleÚ	bytearrayÚbytes)Údatas    r   Ú	hash_datazAcisCache.hash_data   s>   € ä�dœDÔ!Üœ˜d›Ó$Ð$Ü˜œiÔ(Üœ˜d›Ó$Ð$Ü�D‹zÐr   c                ó,   — t        | j                  «      S r   )Úlenr   r   s    r   Ú__len__zAcisCache.__len__$   s   € Ü�4—=‘=Ó!Ð!r   c                ó.  — |st         S t        j                  |«      }| j                  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'   sz   € ÙÜÐä×(Ñ(¨Ó.ˆ
Ø—‘×"Ñ" :¬yÓ9ˆØœÑ"Ø�IŠI˜‰N�IØˆMà�Š�qÑ�Ü”t˜D“zÓ"ˆØ$*ˆ�‰�jÑ!Øˆr   c                óh   — ddl m} t        ||«      st        S | j	                  |j
                  «      S )Nr   )r   )Úezdxf.entitiesr   r   r   r)   Ú	acis_data)r   ÚentityÚDxfBodys      r   Úfrom_dxf_entityzAcisCache.from_dxf_entity6   s*   € Ý2ä˜& 'Ô*ÜÐØ�‰˜v×/Ñ/Ó0Ð0r   N)ÚreturnÚNone)r    r	   r0   Úint)r0   r2   )r    r	   r0   r   )r-   r
   r0   r   )
Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   Ústaticmethodr!   r$   r)   r/   © r   r   r   r      s/   „ ñóð
 òó ðó"óô1r   N)Ú
__future__r   Útypingr   r   Úentitiesr   r   Ú
type_hintsr	   r+   r
   Ú__all__r   r   Ú__annotations__r   r8   r   r   Ú<module>r?      s6   ðö #ß *ß  Ý #áÝ(àˆ-€Ù!›G€	ˆ>Ó #÷,1ò ,1r   