
    Ii                         S SK r S SKr\R                  S:  a  S SKJr  OS SKJr  \" S5      S   4S jr\" 5       r\S:  a  S SKJ	r
  S S	KJr  OS SKJ	r
  S S	KJr  \S:  a  S
 rOS r\S:  a  S rSrgS rSrg)    N)      )metadata
sqlalchemyVersionc                     [         R                  " SU 5      n [        S UR                  5        5       5      $ ! [         a     gf = f)z6Extract the sqlalchemy version as a tuple of integers.z^(\d+)(?:\.(\d+)(?:\.(\d+))?)?c              3   @   #    U  H  oc  M  [        U5      v   M     g 7fN)int).0vs     =/venv/lib/python3.13/site-packages/sqlalchemy_utils/compat.py	<genexpr>)get_sqlalchemy_version.<locals>.<genexpr>   s     E^VSVV^s    )researchtuplegroupsAttributeError)versionmatchs     r   get_sqlalchemy_versionr   
   sC     II7AEEU\\^EEE s   9 
AA)      )declarative_base)synonym_forc                 "    U R                  5       $ r
   )scalar_subqueryquerys    r   get_scalar_subqueryr"   .   s    $$&&    c                 "    U R                  5       $ r
   )	as_scalarr    s    r   r"   r"   1   s      r#   c                      U $ r
   r   argss    r   _select_argsr)   I   s    r#   c                      U /$ r
   r   r'   s    r   r)   r)   L   s	    vr#   )_declarative_baser"   r   r)   _synonym_for)r   sysversion_infoimportlib.metadatar   importlib_metadatar   _sqlalchemy_versionsqlalchemy.ormr   r+   r   r,   sqlalchemy.ext.declarativer"   r)   __all__r   r#   r   <module>r5      s    	 
v++ $,L#9)#D  -.  & D:.F & '!. & 	r#   