o -$`^&@s0dZdZddlmZddlmZddlmZddlmZddl m Z m Z m Z Gdd d eZ Gd d d e ZGd d d e ZGdddeZGdddeZGdddeZGdddeZGdddeZGdddeZGdddeZGdddeZGdddeZGd d!d!eZGd"d#d#eZd$S)%zb Directives for additional body elements. See `docutils.parsers.rst.directives` for API details. reStructuredText)nodes) Directive) directives) set_classes)Lexer LexerError NumberLinesc@s8eZdZdZdZdZejejdZ dZ dZ ddZ dS)BasePseudoSectionrTclassnameNcCs&|jjst|jjtjs|d|j||j r]|j d}|j ||j \}}tj |dg|Rg}d|jvr\|j |jd|j \}}|tj|jddg|R||ng}g}d|j}|j|g||R}|d|jdg7<|||r|j |j|j||gS)NzBThe "%s" directive may not be used within topics or body elements.rsubtitle classesr ) state_machine match_titles isinstancenodersidebarerrorrassert_has_content argumentsstate inline_textlinenotitleoptionsappendrextendjoincontent node_classgetadd_name nested_parsecontent_offset)self title_text textnodesmessagestitles more_messagestextrr0F/usr/lib/python3/dist-packages/docutils/parsers/rst/directives/body.pyrun!s:      zBasePseudoSection.run) __name__ __module__ __qualname__required_argumentsoptional_argumentsfinal_argument_whitespacer class_option unchanged option_spec has_contentr$r2r0r0r0r1r s r c@seZdZejZdS)TopicN)r3r4r5rtopicr$r0r0r0r1r=> r=c@s6eZdZejZdZdZej Z e j e d<ddZ dS)Sidebarrr rcCsDt|jjtjr|d|jd|jvr|js|dt |S)Nzs*    )A