
    3yi                        d dl m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
 d dlmZmZ dd	lmZ  G d
 dee         Z ej"                  d      Zy)    )annotationsN)Callable)Plugins)MkDocsConfig)PluginError)
BasePluginevent_priority   )GroupConfigc                  l     e Zd ZdZ fdZd Z ed      d        ZddZddZ	ddZ
dd	Zdd
Z xZS )GroupPluginTc                @    t        |   |i | d| _        d| _        y )NF)super__init__is_serveis_dirty)selfargskwargs	__class__s      _/var/www/html/content_weaver/venv/lib/python3.12/site-packages/material/plugins/group/plugin.pyr   zGroupPlugin.__init__*   s%    $)&)     c               &    |dk(  | _         || _        y )Nserve)r   r   )r   commanddirtys      r   
on_startupzGroupPlugin.on_startup2   s    7*r      c                   | j                   j                  sy t        |j                        d   }t	        |t
              sJ i | _        	 | j                  |      D ]  \  }}|| j                  |<    	 |j                  j                  j                         D ]  }| j                  ||        | j                  rdnd}|j                  j                  d   D ]G  }| j                  |      }|s|| j                  j                         v s4 ||| j                          I y # t        $ r}t        t        |            d }~ww xY w)Npluginsr   buildstartup)r   r   )configenableddict_schema
isinstancer   r    _load	Exceptionr   streventsvalues_patchr   _get_pluginr   )	r   r#   optionnamepluginer+   r   methods	            r   	on_configzGroupPlugin.on_configD   s(   {{"" v~~.y9&'*** /1	& $

6 2 ,f%+T", nn++224 	(FKK'	( "]]'nn++I6 	AF%%f-F &DLL$7$7$99$--@	A  	&c!f%%	&s   
(D" "	E+D??Ec                    t        |dd       S )N__self__getattrr   r3   s     r   r.   zGroupPlugin._get_pluginh   s    vz400r   c                    t        |dd      S )Nmkdocs_priorityr   r7   r9   s     r   _get_priorityzGroupPlugin._get_priorityl   s    v0!44r   c                r    t        |j                  j                               D ]  \  }\  }}||k(  s|c S  y N)	enumerater    items)r   r1   r#   at_	candidates         r   _get_positionzGroupPlugin._get_positionp   s9    "+FNN,@,@,B"C 	BI"		r   c              #     K   |j                  | j                  j                        D ]  \  }}|j                  ||        y wr>   )_parse_configsr#   r    load_plugin_with_namespace)r   r/   r0   datas       r   r(   zGroupPlugin._loadx   sC      //0C0CD 	@JD$33D$??	@s   AAc                   | j                  | |      }t        t        dt        |                  D ]  }||dz
     }||   }| j	                  |      }|r|| j
                  j                         vr@| j                  |      | j                  |      kD  rd| j	                  |      }|sx|| j                  ||      k  s||c||<   ||dz
  <    y )Nr
   )rD   reversedrangelenr.   r    r,   r<   )r   methodsr#   positionrA   tailheadr1   s           r   r-   zGroupPlugin._patch   s    %%dF35CL12 	:B26?D2;D %%d+FV4<<+>+>+@@ !!$'$*<*<T*BB %%d+F 4--ff==/3T,WR!V_-	:r   )r3   r   )r1   r   r#   r   returnint)r/   r   )rM   zlist[Callable]r#   r   )__name__
__module____qualname__supports_multiple_instancesr   r   r	   r4   r.   r<   rD   r(   r-   __classcell__)r   s   @r   r   r   &   sI    "&$ CA AF15@:r   r   zmkdocs.material.group)
__future__r   loggingcollections.abcr   mkdocs.config.config_optionsr   mkdocs.config.defaultsr   mkdocs.exceptionsr   mkdocs.pluginsr   r	   r#   r   r   	getLoggerlog r   r   <module>rb      sH   * #  $ 0 / ) 5 t:*[) t:v g/0r   