+
     h  c                  s   R t ^ RIHt ^ RIt^ RIHt ]P                  ! R4      t]P                  ! R4      t]P                  ! R4      t	]P                  ! R4      t
]P                  ! R4      t]P                  ! R	4      t]P                  ! R
4      t]P                  ! R4      t]P                  ! R4      t]P                  ! R4      t]P                  ! R4      t]P                  ! R4      t]P                  ! R4      t]P                  ! R4      t]P                  ! R4      tR]R]R]	R]
R]R]R]R]R]R]R]R]R]R ]R!]/tR" R# ltR# )$a  
Format a pretty string of a `SoupSieve` object for easy debugging.

This won't necessarily support all types and such, and definitely
not support custom outputs.

It is mainly geared towards our types as the `SelectorList`
object is a beast to look at without some indentation and newlines.
The format and various output types is fairly known (though it
hasn't been tested extensively to make sure we aren't missing corners).

Example:
-------
```
>>> import soupsieve as sv
>>> sv.compile('this > that.class[name=value]').selectors.pretty()
SelectorList(
    selectors=(
        Selector(
            tag=SelectorTag(
                name='that',
                prefix=None),
            ids=(),
            classes=(
                'class',
                ),
            attributes=(
                SelectorAttribute(
                    attribute='name',
                    prefix='',
                    pattern=re.compile(
                        '^value$'),
                    xml_type_pattern=None),
                ),
            nth=(),
            selectors=(),
            relation=SelectorList(
                selectors=(
                    Selector(
                        tag=SelectorTag(
                            name='this',
                            prefix=None),
                        ids=(),
                        classes=(),
                        attributes=(),
                        nth=(),
                        selectors=(),
                        relation=SelectorList(
                            selectors=(),
                            is_not=False,
                            is_html=False),
                        rel_type='>',
                        contains=(),
                        lang=(),
                        flags=0),
                    ),
                is_not=False,
                is_html=False),
            rel_type=None,
            contains=(),
            lang=(),
            flags=0),
        ),
    is_not=False,
    is_html=False)
```

)annotationsN)Anyz(?i)[a-z_][_a-z\d\.]+\(z(?i)[_a-z][_a-z\d]+=z\(\)|\[\]|\{\}z\[z\{z\(z\]z\}z\)z\d+z(?i)[_a-z][_a-z\d]+z"(?:\\.|[^"\\])*"z'(?:\\.|[^'\\])*'z	\s*(,)\s*z	\s*(:)\s*classparamemptylstrtdstrttstrtlenddendtendsqstrsepdsepintkworddqstrc               s     V ^8  d   QhRRRR/# )i   objr   Zreturnstr )Zformats   "5/usr/lib/python3.14/site-packages/soupsieve/pretty.py__annotate__r   l   s            c                s   \        V 4      p^ p\        V4      ^,
          p^ p. pW#8:  EdH   Rp\        P                  4        EF)  w  rxVP	                  W4      pV'       g   K!  Tp	VP                  ^ 4      pV	R9   d7   V^,          pVP                  VP                  ^ 4       RRV,           24       MV	R9   d"   VP                  VP                  ^ 4      4       MV	R9   d+   V^,          pVP                  VP                  ^ 4      4       M^V	R9   d.   VP                  VP                  ^4       RRV,           24       M*V	R	9   d$   VP                  VP                  ^4       R24        EKI  	  EKN  RP                  V4      # )
z%Make the object output string pretty.NZ
Z Z )r   r   r   r   )r   r   r   r   r   r   )r   r	   r
   )r   )r   )	r   ZlenTOKENSZitemsZmatchendZappendZgroupZjoin)
r   ZselZindexr   ZindentZoutputZmZkZvZnames
   &         r   prettyr   l   sC    c(CE
c(Q,CFF
,LLNDA#Aqa??aKFMMQWWQZL3<."ABQQMM!''!*-55aKFMM!''!*-X%MMQWWQZL3<."ABY&MMQWWQZL"23% #( 776?r   )Z__doc__Z
__future__r    ZreZtypingr   ZcompileZRE_CLASSZRE_PARAMZRE_EMPTYZRE_LSTRTZRE_DSTRTZRE_TSTRTZRE_LENDZRE_DENDZRE_TENDZRE_INTZRE_KWORDZRE_DQSTRZRE_SQSTRZRE_SEPZRE_DSEPr   r   r   r   r   <module>r      sH  CH # 	 ::01::-.::'(::e::e::e
**U

**U

**U
	F	::,-::*+::*+	L	!
**\
" XXXXXX
G
G
GX	6
G	6XX
&r   