o
    t#g                     @   s|   d dl Z d dlZzd dlZW n ey   dZY nw d dlZdd Zdd Zdd Zdd	d
ZdddZ	dd Z
dd ZdS )    Nc                 C   s   t d| dd \}|d? }|d@ }|dkr	 | |fS |dkrGtrGtjt d|| dd   }t||krAtd	 | |fS |} | |fS td
 | |fS )N>L         r      z<LzTable decompression failed.z:Table is compressed with an unsupported compression scheme)	structunpacklz4block
decompresspacklenwarningswarn)datacompressionschemesizeres r   /var/www/static.ux5.de/https/Moving-Object-Detection-with-OpenCV/env/lib/python3.10/site-packages/fontTools/ttLib/tables/grUtils.pyr      s   	 

r   c                 C   sj   |d d t d| d> t|d@   }| dkr|S | dkr.tr.tjj|ddd	d
}|| S td |S )Nr   r   r   r   r   r   high_compression   F)moder   
store_sizez:Table failed to compress by unsupported compression scheme)r   r   r   r
   r   compressr   r   )r   r   hdrr   r   r   r   r      s   (
r   c                 c   s    d}g }d}| D ]-\}}t |r-||d ks|r-||kr-|t | d t ||fV  g }|}|| |}q	|t | d t ||fV  d S )Nr   r   )r   append)attrssamevalakvalslastvkvr   r   r   _entries,   s    
 r&   Fc                 C   s   t t|  dd d|}|S )Nc                 S   s   t | d S )Nr   )int)xr   r   r   <lambda>;   s    zentries.<locals>.<lambda>)key)r&   sorteditems)
attributesr    gr   r   r   entries:   s   r/   r   c                 C   sx   | dkrt dddddS d}d}|| kr!|d9 }|d7 }|| ks|d8 }|d }||9 }| | | }t d| |||S )Nr   z>4Hr      )r   r   )numr   srangeselectshiftr   r   r   bininfo?   s   r5   c                 C   s4   | dk rt | S tdtd| d dd S )Ni    4sr   r           )strr   r	   r   replacedecodenr   r   r   num2tagN   s   "r>   c              	   C   sD   zt | W S  ty!   | d d d } td| dd  Y S w )Nz    r   r   asciir   )r'   
ValueErrorr   r	   encoder<   r   r   r   tag2numW   s   
rB   )F)r   )r   r   r
   ImportError	lz4.blockr   r   r&   r/   r5   r>   rB   r   r   r   r   <module>   s    

	