
    g(                       U 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 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 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 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 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  ej>                  d      Z de!d<    ej>                  d      Z"de!d<    ej>                  d      Z#de!d<    ej>                  d      Z$de!d<    ej>                  d       Z%de!d!<    ej>                  d"      Z&de!d"<    ej>                  d#      Z'de!d#<    ej>                  d$      Z(de!d$<    ej>                  d%      Z)de!d%<    ej>                  d&      Z*de!d&<    ej>                  d'      Z+de!d'<    ej>                  d(      Z,de!d(<    ej>                  d)      Z-de!d)<    ej>                  d*      Z.de!d*<    ej>                  d+      Z/de!d+<    ej>                  d,      Z0de!d,<    ej>                  d-      Z1de!d-<   d.Z2d/Z3d0Z4d1Z5h d2Z6i d3e d4d5hfd6e"e6fd7e"e6fd8e"e6fd9e#d:d;hfd<e$h d=fd>e$h d=fd?e*h d@fdAe*h d@fdBe+h dCfdDe+h dCfdEe-dFdGhfdHe%dIhfdJe&e5hfdKe'h dLfdMe(h dNfdOe)dPdQhfe.h dRfe/dSdThfe,dUdVhfe0dWdXhfe1dYdZhfd[Z7d\e!d]<   dfd^Z8dgd_Z9	 	 	 	 	 	 	 	 dhd`Z:didaZ;	 	 	 	 djdbZ<dkdcZ=dlddZ>ye)m    )annotations)Dict)List)Optional)Set)Tuple)Union)ARG_POS)CallExpr)ClassDef)	Decorator)
Expression)FuncDef)
MemberExpr)NameExpr)OverloadedFuncDef)
SymbolNode)	TypeAlias)TypeInfo)SemanticAnalyzerPluginInterface)CallableType)get_proper_type)Instance)UnboundType   )utilCOLUMNintRELATIONSHIPREGISTRYCOLUMN_PROPERTY	TYPEENGNE
TYPEENGINEMAPPEDDECLARATIVE_BASEDECLARATIVE_METAMAPPED_DECORATORSYNONYM_PROPERTYCOMPOSITE_PROPERTYDECLARED_ATTRMAPPER_PROPERTYAS_DECLARATIVEAS_DECLARATIVE_BASEDECLARATIVE_MIXINQUERY_EXPRESSIONzbuiltins.objectzbuiltins.strzbuiltins.listzsqlalchemy.orm.base.Mapped>   sqlalchemy.orm.Relationship#sqlalchemy.orm.RelationshipProperty)sqlalchemy.orm.relationships.Relationship1sqlalchemy.orm.relationships.RelationshipProperty2sqlalchemy.orm.relationships._RelationshipDeclaredColumnzsqlalchemy.sql.schema.Columnzsqlalchemy.sql.ColumnRelationshipRelationshipProperty_RelationshipDeclaredregistryz sqlalchemy.orm.decl_api.registryzsqlalchemy.orm.registryColumnProperty>   sqlalchemy.orm.ColumnProperty"sqlalchemy.orm.MappedSQLExpression(sqlalchemy.orm.properties.ColumnProperty-sqlalchemy.orm.properties.MappedSQLExpressionMappedSQLExpressionSynonym>   sqlalchemy.orm.Synonymsqlalchemy.orm.SynonymProperty'sqlalchemy.orm.descriptor_props.Synonym/sqlalchemy.orm.descriptor_props.SynonymPropertySynonymProperty	Composite>   sqlalchemy.orm.Composite sqlalchemy.orm.CompositeProperty)sqlalchemy.orm.descriptor_props.Composite1sqlalchemy.orm.descriptor_props.CompositePropertyCompositePropertyMapperPropertyz(sqlalchemy.orm.interfaces.MapperPropertyzsqlalchemy.orm.MapperProperty
TypeEnginez"sqlalchemy.sql.type_api.TypeEngineMappeddeclarative_base>   sqlalchemy.orm.declarative_base(sqlalchemy.orm.decl_api.declarative_base+sqlalchemy.ext.declarative.declarative_baseDeclarativeMeta>   sqlalchemy.orm.DeclarativeMeta'sqlalchemy.orm.decl_api.DeclarativeMeta*sqlalchemy.ext.declarative.DeclarativeMetamappedz'sqlalchemy.orm.decl_api.registry.mappedzsqlalchemy.orm.registry.mapped>   sqlalchemy.orm.as_declarative&sqlalchemy.orm.decl_api.as_declarative)sqlalchemy.ext.declarative.as_declarativez4sqlalchemy.orm.decl_api.registry.as_declarative_basez+sqlalchemy.orm.registry.as_declarative_basez%sqlalchemy.orm.decl_api.declared_attrzsqlalchemy.orm.declared_attrz)sqlalchemy.orm.decl_api.declarative_mixinz sqlalchemy.orm.declarative_mixinzsqlalchemy.orm.query_expressionz1sqlalchemy.orm._orm_constructors.query_expression)as_declarativeas_declarative_basedeclared_attrdeclarative_mixinquery_expressionzDict[str, Tuple[int, Set[str]]]_lookupc                    | j                   D ],  }t        j                  |j                  d      \  }}||k(  s, n y|y|j                  |v S NNNF)mror`   getnamefullname)infotype_idmrcheck_type_id	fullnamess        Y/var/www/api/v1/venv_getwork_v1/lib/python3.12/site-packages/sqlalchemy/ext/mypy/names.pyhas_base_type_idrn      sQ    hh#*;;rww#E yG# 
 ;;)##    c                    | D ],  }t         j                  |j                  d      \  }}||k(  s, n y|y|j                  |v S rb   r`   re   rf   rg   )rd   ri   rj   rk   rl   s        rm   
mro_has_idrr      sM    #*;;rww#E yG# 
 ;;)##ro   c                \   |j                  | j                  |       }|t        |j                  t              rEt        |j                  j                        }t        |t              rt        |j                        S y t        |j                  t              rt        |j                        S y N)lookup_qualifiedrf   
isinstancenoder   r   targetr   type_id_for_named_nodetyper   )type_clsapisymtarget_types        rm   type_id_for_unbound_typer      s     

uzz5
1C
chh	*)#((//:K+x0-k.>.>??  (+)#((33ro   c                H   t        | t        t        f      rt        | j                  t              rt        | j                  j
                  t              r| j                  j
                  j                  rt        | j                  j
                  j                  t              rbt        | j                  j
                  j                  j                        }t        |t              rt        |j                  j                        S y t        | j                  t              r| j                  j                  r| j                  j                  j                  rt        | j                  j                  j                  t              rbt        | j                  j                  j                  j                        }t        |t              rt        |j                  j                        S y t        | j                  t              r| j                  j                  r|t        | j                  j                  t              rXt        | j                  j                  j                        }t        |t              rt        |j                  j                        S y t        | j                  t               rOt        | j                  j"                        }t        |t              rt        |j                  j                        S y t        | j                  t$              rt'        |       S y rt   )rv   r   r   rw   r   funcr   rz   r   r   ret_typer   type_id_for_fullnamerg   r   implr   rx   r   ry   )calleer   r   s      rm   type_id_for_calleer      s   &:x01fkk9-*KKg3
 {{$$  %%|* +6;;+;+;+@+@+I+IJh1/0F0FGG%67  KK$$))v{{//44lC*6;;+;+;+@+@+I+IJh1/0F0FGGW-{{Jv{{/?/?$N*6;;+;+;+D+DEh1/0F0FGGY/)&++*<*<=K+x0+K,<,<,E,EFF  X.)&11ro   c                t    t         j                  | j                  d      \  }}||y | j                  |v r|S y )Nrc   rq   )rw   ri   rl   s      rm   ry   ry   +  s>     !TYY=GY)+	)	#ro   c                x    | j                  d      }|d   }t        j                  |d      \  }}||y | |v r|S y )N.rc   )splitr`   re   )rg   tokens	immediateri   rl   s        rm   r   r   8  sK    ^^C Fr
I Y=GY)+	Y	ro   c                p    t        d      }t        |_        t        |d      }t	        || gt
        gdg      S )N__sa_Mapped_empty_constructorarg1)r   NAMED_TYPE_SQLA_MAPPEDrg   r   r   r
   )exprcolumn_descriptormember_exprs      rm   expr_to_mapped_constructorr   F  sC     /!7.0DEK					 ro   N)rh   r   ri   r   returnbool)rd   zList[TypeInfo]ri   r   r   r   )r{   r   r|   r   r}   r   r   Optional[int])r   r   r   r   )rw   z'Union[NameExpr, MemberExpr, SymbolNode]r   r   )rg   strr   r   )r   r   r   r   )?
__future__r   typingr   r   r   r   r   r	   
mypy.nodesr
   r   r   r   r   r   r   r   r   r   r   r   mypy.pluginr   
mypy.typesr   r   r   r    r   symbolr   __annotations__r   r    r!   r#   r$   r%   r&   r'   r(   r)   r*   r+   r,   r-   r.   r/   NAMED_TYPE_BUILTINS_OBJECTNAMED_TYPE_BUILTINS_STRNAMED_TYPE_BUILTINS_LISTr   _RelFullNamesr`   rn   rr   r   r   ry   r   r    ro   rm   <module>r      sh   #            !  !  ( !    7 # &  " dkk(# #DKK/c /J'# '"t{{#45 5$++k*
C *dkk(# ##$67 # 7#$67 # 7#$67 # 7#$67 # 7%$++&:; C ; T[[1s 1"t{{#45 5!dkk"23 3&4;;'<= S =$%89 3 9#$67 # 7 / ( * 5 L,*#	
L, \=1L, \=9L, lM:L, .%	
L,$ 	
%L,6 	
7L,H 	
IL,Z 	
[L,l 	
mL,~ 	
L,P 6+	
QL,^ : DEF_L,` v./0aL,b 	
cL,r 	
sL,B 5,	
CL,R 		
 	B9	
 	3*	
 	7.	
 	-?	
KL,	( L^$$%,K)X

1

	ro   