
    3yi                       d dl mZ d dlZd dlZd dlZd dlmZ d dlmZ d dl	m
Z
 d dlmZmZ d dlmZ ddZ	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 dd	Z ej$                  d
      dd       Z ej$                  d
      d        Zy)    )annotationsN)iglob)getfile)Markdown)emoji
twemoji_db)Elementc                T    | j                  dg       d d  }t        t        |            S )Ncustom_icons)get_load_twemoji_indextuple)optionsmdpathss      [/var/www/html/content_weaver/venv/lib/python3.12/site-packages/material/extensions/emoji.pytwemojir   &   s&    KK+A.EuU|,,    c	                   |sk|j                   d   j                  d   }	t        dd|j                  d|       i      }
|j                  j                  t        |	|   d               |
_        |
S t        j                  | ||||||||	      S )Nr   spanclassclassespath)
inlinePatternsemoji_indexr	   r   	htmlStashstore_loadtextr   to_svg)index	shortnamealiasucalttitlecategoryr   r   iconsels              r   r    r    +   s     !!'*66w? VwIu(EGH,,$$U5+;F+C%DE	 <<y%S%7B r   )maxsizec                h    t        | d      5 }|j                         cd d d        S # 1 sw Y   y xY w)Nzutf-8)encoding)openread)filefs     r   r   r   A   s,    	dw	' 1vvx  s   (1c                   dt         j                  t         j                  dt        j                  j                  t        t                    }t        j                  j                  |dd      }g | |D ]  }t        j                  j                  |      }t        j                  j                  |dd      }t        t        j                  j                  |      d      }|D ]b  }|t        |      d	z   d
 j                  t        j                  j                  d      }d| dt        fddD              rX|dd   <   d  S )Nr   )namer   aliases	templatesz.iconsz**z*.svgT)	recursive   -:c              3  ,   K   | ]  }|   v   y w)N ).0keyr!   r2   s     r   	<genexpr>z&_load_twemoji_index.<locals>.<genexpr>]   s     JctuSz)Js   )r   r3   )r2   r   r   )r   r   r3   osr   dirnamer   materialjoinnormpathr   lenreplacesepany)	r   rootr   baseglobr/   iconr!   r2   s	          @@r   r   r   G   s"    !!%%E 77??78,-D77<<k84D% Fww% ww||D$0RWW%%d+> 	FDD	Ab)11"''++sCD tfA;DJ5IJJ15t'Egt$	FF Lr   )r   objectr   r   )r!   strr"   rM   r#   rM   r$   z
str | Noner%   rM   r&   rM   r'   rM   r   rL   r   r   )r/   rM   )
__future__r   	functoolsrA   r?   rJ   r   inspectr   markdownr   pymdownxr   r   xml.etree.ElementTreer	   r   r    	lru_cacher   r   r;   r   r   <module>rU      s   * #   	    & )-
'*0:AD(.4<, t$ %
 t$ %r   