o
    ^i)                  +   @   sL  U d Z ddlmZmZ ddlmZmZ ddlmZ ddl	m
Z
 ddlmZ ddlmZ G dd	 d	eZG d
d deZdejiZeed< ejejhejejhejejejhejejejejejejhejejejejejejejhejejej ejejejejejej!ej"ej#ej$hej%ejej ejejejejejej!ej&ej"ej#ej$ej'hej(ejej ejejejejejej!ej&ej"ej#ej$ej'ej)hej*ejej ejejejejejej!ej&ej"ej#ej$ej'ej)ej+ej,hej-ejej ejejejejejej!ej&ej"ej#ej$ej'ej)ej+ej,ej.hej/ejej ejejejejejej!ej&ej"ej#ej$ej'ej)ej+ej,ej.ej0hej1ejej ejejejejejej!ej&ej"ej#ej$ej'ej)ej+ej,ej.ej0ej2ej3hiZ4e5ee6e f ed< de6e dede7fddZ8G dd deZ9e9j:e9j;hZ<e6e9 ed< G dd de=Z>dZ?eed< eG dd dZ@dS )zData structures configuring Black behavior.

Mostly around Python language feature support per version and Black configuration
chosen by the user.
    )	dataclassfield)Enumauto)sha256)
attrgetter)Final)DEFAULT_LINE_LENGTHc                   @   sJ   e Zd ZdZdZdZdZdZdZdZ	dZ
d	Zd
ZdZdZdefddZdS )TargetVersion                  	   
               returnc                 C   s6   | j d d dksJ d| j d  d| j dd   S )N   PYzPython .r   nameself r   O/var/www/html/stock_analysis/be/venv/lib/python3.10/site-packages/black/mode.pypretty   s    zTargetVersion.prettyN)__name__
__module____qualname__PY33PY34PY35PY36PY37PY38PY39PY310PY311PY312PY313PY314strr!   r   r   r   r    r
      s    r
   c                   @   sd   e Zd ZdZdZdZdZdZdZdZ	dZ
d	Zd
ZdZdZdZdZdZdZdZdZdZdZdZdZdS )Featurer   r   r   r   r   r   r   r   r   r   r   r   r                        2   3   N)r"   r#   r$   	F_STRINGSNUMERIC_UNDERSCORESTRAILING_COMMA_IN_CALLTRAILING_COMMA_IN_DEFASYNC_IDENTIFIERSASYNC_KEYWORDSASSIGNMENT_EXPRESSIONSPOS_ONLY_ARGUMENTSRELAXED_DECORATORSPATTERN_MATCHINGUNPACKING_ON_FLOWANN_ASSIGN_EXTENDED_RHSEXCEPT_STARVARIADIC_GENERICSDEBUG_F_STRINGSPARENTHESIZED_CONTEXT_MANAGERSTYPE_PARAMSTYPE_PARAM_DEFAULTSUNPARENTHESIZED_EXCEPT_TYPES	T_STRINGSFORCE_OPTIONAL_PARENTHESESFUTURE_ANNOTATIONSr   r   r   r    r2   #   s.    r2   annotationsFUTURE_FLAG_TO_FEATUREVERSION_TO_FEATUREStarget_versionsfeaturer   c                    s"   | st dt fdd| D S )Nz!target_versions must not be emptyc                 3   s    | ]	} t | v V  qd S N)rT   .0versionrV   r   r    	<genexpr>   s    z#supports_feature.<locals>.<genexpr>)
ValueErrorall)rU   rV   r   r[   r    supports_feature   s   r_   c                   @   sX   e Zd ZdZe Ze Ze Ze Ze Z	e Z
e Ze Ze Ze Ze Ze ZdS )Previewz"Individual preview style features.N)r"   r#   r$   __doc__r   string_processing*hug_parens_with_braces_and_square_bracketswrap_long_dict_values_in_parensmultiline_string_handlingalways_one_newline_after_importfix_fmt_skip_in_one_linersstandardize_type_commentswrap_comprehension_in!remove_parens_around_except_typesnormalize_cr_newlinesfix_module_docstring_detectionfix_type_expansion_splitr   r   r   r    r`      s    
r`   UNSTABLE_FEATURESc                   @   s   e Zd ZdZdS )
DeprecatedzVisible deprecation warning.N)r"   r#   r$   ra   r   r   r   r    ro      s    ro       _MAX_CACHE_KEY_PART_LENGTHc                   @   s   e Zd ZU eedZee ed< eZ	e
ed< dZeed< dZeed< dZeed< dZeed	< dZeed
< eedZee ed< dZeed< dZeed< eedZee ed< dedefddZdefddZde
fddZdS )Mode)default_factoryrU   line_lengthTstring_normalizationFis_pyiis_ipynbskip_source_first_linemagic_trailing_commapython_cell_magicspreviewunstableenabled_featuresrV   r   c                 C   s&   | j rdS || jv rdS | jo|tvS )a)  
        Provide `Preview.FEATURE in Mode` syntax that mirrors the ``preview`` flag.

        In unstable mode, all features are enabled. In preview mode, all features
        except those in UNSTABLE_FEATURES are enabled. Any features in
        `self.enabled_features` are also enabled.
        T)r|   r}   r{   rn   )r   rV   r   r   r    __contains__  s
   
zMode.__contains__c                 C   s  | j rddd t| j tddD }nd}t|tkr)t|  d t }dtdd | j	D d dt| j
 }t|tkrRt|  d t }|t| jtt| jtt| jtt| jtt| jtt| jtt| jtt| j|g
}d	|S )
N,c                 s   s    | ]}t |jV  qd S rW   )r1   valuerX   r   r   r    r\      s
    
z%Mode.get_cache_key.<locals>.<genexpr>r   )key-c                 s   s    | ]}|j V  qd S rW   r   )rY   fr   r   r    r\   +  s    @r   )rU   joinsortedr   lenrq   r   encode	hexdigestr}   rz   r1   rt   intru   rv   rw   rx   ry   r{   r|   )r   version_strfeatures_and_magicspartsr   r   r    get_cache_key  s>   


zMode.get_cache_keyc                 C   s@   t t| j| j| j| j| j| j| jt| j	| j
| jt| jfS rW   )hash	frozensetrU   rt   ru   rv   rw   rx   ry   rz   r{   r|   r}   r   r   r   r    __hash__A  s   zMode.__hash__N)r"   r#   r$   r   setrU   r
   __annotations__r	   rt   r   ru   boolrv   rw   rx   ry   rz   r1   r{   r|   r}   r`   r~   r   r   r   r   r   r    rr     s   
 #rr   N)Ara   dataclassesr   r   enumr   r   hashlibr   operatorr   typingr   black.constr	   r
   r2   rQ   rS   r   r%   r@   r&   r'   r>   r(   r<   r=   r?   r)   rA   r*   rJ   rB   rC   rF   rG   r+   rD   rK   r,   rE   r-   rH   rI   r.   rL   r/   rM   r0   rN   rO   rT   dictr   r   r_   r`   rb   rc   rn   UserWarningro   rq   rr   r   r   r   r    <module>   sF   

 