
    Ti?
                        d dl Z d dlZd dlZd dlmZ ddlmZ ej                            ej        	                    ej        
                    e                              Zi ZdedefdZdedefdZdedefd	Zdedefd
ZdedefdZdS )    N)BytesIO   )Dictnamereturnc                    ddl m} ddlm}  |t          j                            t          d|                     } |t          j	        |
                    |                               d                    |          S )z
    Load a schema and evaluate the referenced files.

    Parameters
    ------------
    name : str
      Filename of schema.

    Returns
    ----------
    schema
      Loaded and resolved schema.
    r   )FilePathResolver)resolveschemautf-8)resolver)	resolversr	   schemasr
   ospathjoin_pwdjsonloadsgetdecode)r   r	   r
   r   s       T/DATA/AppData/hermes/venv/lib/python3.11/site-packages/trimesh/resources/__init__.py
get_schemar      s     -,,,,,!!!!!!  T8T B BCCH74:hll40077@@AAHUUUU    c                     t          |           }|                     d          rt          j        |          }n|                    d          }t          j        |          S )a  
    Get a resource from the `trimesh/resources` folder as a decoded string.

    Parameters
    -------------
    name : str
      File path relative to `trimesh/resources/{name}`

    Returns
    -------------
    resource
      File data decoded from JSON.
    z.gzipr   )	get_bytesendswithgzip
decompressr   r   r   )r   raws     r   get_jsonr!   %   sS     D//C}}W "oc""jj!!:c??r   c                 F    t          |                               d          S )z
    Get a resource from the `trimesh/resources` folder as a decoded string.

    Parameters
    -------------
    name
      File path relative to `trimesh/resources`

    Returns
    -------------
    resource
      File data as a string.
    r   )r   r   r   s    r   
get_stringr$   ;   s     T??!!'***r   c                 *   t                               | d          }||S t          t          j        j        t          g|                     d          R  d          5 }|                                }ddd           n# 1 swxY w Y   |t           | <   |S )z
    Get a resource from the `trimesh/resources` folder as binary data.

    Parameters
    -------------
    name
      File path relative to `trimesh/resources`

    Returns
    -------------
    resource
      File data as raw bytes.
    N/rb)	_cacher   openr   r   r   r   splitread)r   cachedfresources       r   r   r   L   s     ZZd##F
 
bgl42$**S//222D	9	9 Q6688               F4LOs   A>>BBc                 :    t          t          |                     S )a  
    Get a resource from the `trimesh/resources` folder as a binary stream.

    Parameters
    -------------
    name : str
      File path relative to `trimesh/resources`

    Returns
    -------------
    resource
      File data as a binary stream.
    )r   r   r#   s    r   
get_streamr0   h   s     9T??###r   )r   r   r   ior   typedr   r   
expanduserabspathdirname__file__r   r(   strr   r!   r$   bytesr   r0    r   r   <module>r:      s6     				             
w"'//"'//(*C*CDDEE	VS VT V V V V.3 4    ,+S +S + + + +"C E    8$S $W $ $ $ $ $ $r   