o
    lÇhö  ã                   @   s(   d dl mZ dd„ Zdd„ Zdd„ ZdS )	é    ©Úreducec                 C   s   t dd„ || ƒS )Nc                 S   s   | | S ©N© )ÚaÚidxr   r   úa/var/www/html/construction_image-detection-poc/venv/lib/python3.10/site-packages/triton/_utils.pyÚ<lambda>   s    z#get_iterable_path.<locals>.<lambda>r   )ÚiterableÚpathr   r   r   Úget_iterable_path   s   r   c                 C   s2   t |ƒdkr| nt| |d d… ƒ}|||d < d S )Né   éÿÿÿÿ)Úlenr   )r
   r   ÚvalÚprevr   r   r   Úset_iterable_path   s   "r   c                    sn   ddl m‰ ‡fdd„‰tƒ ‰‡ ‡‡‡fdd„‰ ˆ| ƒr"ˆ | g ƒ nˆtƒ | ƒr.tƒ d i‰ntƒ ‰tˆ ¡ ƒS )Nr   ©Úcorec                    s   t | ttˆ jˆ jfƒS r   )Ú
isinstanceÚlistÚtupleÚ
tuple_type)Úxr   r   r   r	      s    zfind_paths_if.<locals>.<lambda>c                    sˆ   t |ƒdkr|d fnt|ƒ}ˆ| ƒr&t| ƒD ]\}}ˆ |||f ƒ qd S ˆ|| ƒrBt |ƒdkr:d ˆ|d f< d S d ˆt|ƒ< d S d S )Nr   r   )r   r   Ú	enumerate)Úcurrentr   r   Úitem)Ú_implÚis_iterableÚpredÚretr   r   r      s   ÿ
üzfind_paths_if.<locals>._impl)Úlanguager   Údictr   r   Úkeys)r
   r   r   )r   r   r   r   r    r   Úfind_paths_if   s   r$   N)Ú	functoolsr   r   r   r$   r   r   r   r   Ú<module>   s    