
    ,h}              	          S SK Jr  S SKrS SKJr  S SKJr  S SKJr  S SKJr  SSKJr  \R                  (       a  S	S
K
Jr   " S S\\\4   5      r " S S\\\S4   \\S   \4   4   5      rg)    )annotationsN)Any)Dict)Tuple)Union   )Literal   )
CacheConstc                  "    \ rS rSrSrSS jrSrg)prefix_anon_map   aN  A map that creates new keys for missing key access.

Considers keys of the form "<ident> <name>" to produce
new symbols "<name>_<index>", where "index" is an incrementing integer
corresponding to <name>.

Inlines the approach taken by :class:`sqlalchemy.util.PopulateDict` which
is otherwise usually used for this type of operation.

c                v    UR                  SS5      u  p#U R                  US5      nUS-   X'   U SU 3nXPU'   U$ )N r
   _)splitget)selfkeyidentderivedanonymous_countervalues         O/var/www/auris/envauris/lib/python3.13/site-packages/sqlalchemy/sql/_py_util.py__missing__prefix_anon_map.__missing__"   sP    99S!, HHWa0)A-)1./0S	     N)r   strreturnr   )__name__
__module____qualname____firstlineno____doc__r   __static_attributes__r   r   r   r   r      s    	r   r   c                  0    \ rS rSrSrSrSS jrS	S jrSrg)
cache_anon_map+   aA  A map that creates new keys for missing key access.

Produces an incrementing sequence given a series of unique keys.

This is similar to the compiler prefix_anon_map class although simpler.

Inlines the approach taken by :class:`sqlalchemy.util.PopulateDict` which
is otherwise usually used for this type of operation.

r   c                    [        U5      nX ;   a  X   nUSLd   eUS4$ [        U R                  5      =X'   nU =R                  S-  sl        US4$ )NTr
   F)idr   _index)r   object_idselfs_valid_s        r   get_anoncache_anon_map.get_anon;   s^    G>LE$$$$; "%T[[!11DL3KK1K:r   c                b    [        U R                  5      =X'   nU =R                  S-  sl        U$ )Nr
   )r   r,   )r   r   vals      r   r   cache_anon_map.__missing__H   s*    dkk**	Cq
r   r   N)r-   r   r    zTuple[str, bool])r   intr    r   )	r!   r"   r#   r$   r%   r,   r1   r   r&   r   r   r   r(   r(   +   s    	 Fr   r(   zLiteral[CacheConst.NO_CACHE]T)
__future__r   typingr   r   r   r   util.typingr	   TYPE_CHECKING	cache_keyr   r   r   r6   r(   r   r   r   <module>r<      sl    #      !	%d38n * s22	3U74=#;M5N	NO r   