Ë
    j¦zi
  ã                  óÔ  — d Z ddlmZ ddlZddlmZ  ej                  d«      Z ej                  d«      Z ej                  d«      Z	 ej                  d«      Z
 ej                  d	«      Z ej                  d
«      Z ej                  d«      Z ej                  d«      Z ej                  d«      Z ej                  d«      Z ej                  d«      Z ej                  d«      Z ej                  d«      Z ej                  d«      Z ej                  d«      Z ej                  d«      Zi de“de“de	“de
“de“de“de“de“de“de“de“d e“d!e“d"e“d#e“d$e“Zd&d%„Zy)'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*z
\s*(\|)\s*ÚclassÚparamÚemptyÚlstrtÚdstrtÚtstrtÚlendÚdendÚtendÚsqstrÚsepÚdsepÚpsepÚintÚkwordÚdqstrc                ó>  — t        | «      }d}t        |«      dz
  }d}g }||k  �rhd}t        j                  «       D �],  \  }}|j	                  ||«      }|sŒ|}	|j                  d«      }|	dv r.|dz  }|j                  |j                  d«      › dd|z  › �«       nÌ|	dv r!|j                  |j                  d«      «       n§|	d	v r&|dz  }|j                  |j                  d«      «       n}|	d
v r)|j                  |j                  d«      › dd|z  › �«       nP|	dv r$|j                  |j                  d«      › d�«       n(|	dv r$|j                  d|j                  d«      › d�«        n |€|j                  ||   «       |dz  }||k  r�Œhdj                  |«      S )z%Make the object output string pretty.r   é   N)r   r   r	   r
   é   ú
ú )r   r   r   r   r   r   )r   r   r   )r   )r   r   Ú )	ÚstrÚlenÚTOKENSÚitemsÚmatchÚendÚappendÚgroupÚjoin)
ÚobjÚselÚindexr    ÚindentÚoutputÚmÚkÚvÚnames
             úG/home/htdocs/ttos/venv/lib/python3.12/site-packages/soupsieve/pretty.pyÚprettyr.   n   sš  € ô ˆc‹(€CØ€EÜ
ˆc‹(�Q‰,€CØ€FØ€Fà
�3‹,ØˆÜ—L‘L“Nó 	‰DˆAˆqØ—‘˜˜UÓ#ˆAâØ�ØŸ™˜a›�ØÐ?Ñ?Ø˜a‘K�FØ—M‘M Q§W¡W¨Q£Z L°°3¸±<°.Ð"AÕBØÐQÑQØ—M‘M !§'¡'¨!£*Õ-ØÐ5Ñ5Ø˜a‘K�FØ—M‘M !§'¡'¨!£*Õ-Ø˜XÑ%Ø—M‘M Q§W¡W¨Q£Z L°°3¸±<°.Ð"AÕBØ˜YÑ&Ø—M‘M Q§W¡W¨Q£Z L°Ð"2Õ3Ø˜fÑ%Ø—M‘M A a§g¡g¨a£j \°Ð"3Ô4Ùð)	ð. ˆ9Ø�M‰M˜#˜e™*Ô%Ø�Q‰JˆEð7 �3Œ,ð: �7‰7�6‹?Ðó    )r$   r   Úreturnr   )Ú__doc__Ú
__future__r   ÚreÚtypingr   ÚcompileÚRE_CLASSÚRE_PARAMÚRE_EMPTYÚRE_LSTRTÚRE_DSTRTÚRE_TSTRTÚRE_LENDÚRE_DENDÚRE_TENDÚRE_INTÚRE_KWORDÚRE_DQSTRÚRE_SQSTRÚRE_SEPÚRE_DSEPÚRE_PSEPr   r.   © r/   r-   ú<module>rG      så  ðñCõH #Û 	Ý àˆ2�:‰:Ð/Ó0€Øˆ2�:‰:Ð-Ó.€Øˆ2�:‰:Ð'Ó(€Øˆ2�:‰:�eÓ€Øˆ2�:‰:�eÓ€Øˆ2�:‰:�eÓ€Ø
ˆ"�*‰*�UÓ
€Ø
ˆ"�*‰*�UÓ
€Ø
ˆ"�*‰*�UÓ
€Ø	ˆ�‰�FÓ	€Øˆ2�:‰:Ð-Ó.€Øˆ2�:‰:Ð*Ó+€Øˆ2�:‰:Ð*Ó+€Ø	ˆ�‰�LÓ	!€Ø
ˆ"�*‰*�\Ó
"€Ø
ˆ"�*‰*�]Ó
#€ð
ØˆXð
àˆXð
ð ˆXð
ð ˆXð	
ð
 ˆXð
ð ˆXð
ð ˆGð
ð ˆGð
ð ˆGð
ð ˆXð
ð 
ˆ6ð
ð ˆGð
ð ˆGð
ð 
ˆ6ð
ð ˆXð
ð  ˆXð!
€ô(&r/   