
    f                     H   d dl Z d dlmZmZmZmZ d dlmZ dZdZ	dZ
	 ddeeeeeef   ef   f   ded	eee   eeeef      f   fd
Zdeeeeeef   ef   f   fdZd	eeeeeef   ef   f   fdZddeeef   dee   d	efdZded	eeeef      fdZd	eeeef      fdZy)    N)AnyDictOptionalTuple)get_adapter   
   socialaccount_statesstatesrevreturnc                     d }d }d }| j                         D ]%  \  }}|d   }||r||kD  s	|r||kD  s|}|}|d   }' ||fS )N   r   )items)r   r   	oldest_ts	oldest_idoldeststate_idstate_tstss           b/var/www/cs2snipe.com/venv/lib/python3.12/site-packages/allauth/socialaccount/internal/statekit.pyget_oldest_stater      sm     IIF$lln !(a[R)^cy2~I Ia[F! f    c                 R    t        |       t        kD  rt        |       \  }}|r| |= y y y N)len
MAX_STATESr   )r   r   r   s      r   	gc_statesr      s2    
6{Z,V4	6y!   r   c                 h    | j                   j                  t              }t        |t              si }|S r   )sessiongetSTATES_SESSION_KEY
isinstancedict)requestr   s     r   
get_statesr&   $   s+    __  !34Ffd#Mr   stater   c                     t        |       }t        |       |t               j                  |      }|t	        j                         f||<   || j
                  t        <   |S r   )r&   r   r   generate_state_paramtimer    r"   )r%   r'   r   r   s       r   stash_stater+   +   sU     Ff=55e<tyy{+F8*0GOO&'Or   c                 |    d }t        |       }|j                  |      }||d   }||= || j                  t        <   |S )Nr   )r&   r!   r    r"   )r%   r   r'   r   r   s        r   unstash_stater-   5   sJ    &*E Fzz(#H8.4*+Lr   c                 X    t        |       }t        |d      \  }}|rt        | |       |S )NT)r   )r&   r   r-   )r%   r   r   r'   s       r   unstash_last_stater/   @   s.     F&v48OHegx(Lr   )Fr   )r*   typingr   r   r   r   allauth.socialaccount.adapterr   STATE_ID_LENGTHr   r"   strfloatboolr   r   r&   r+   r-   r/    r   r   <module>r7      s.    - - 5 
+  BGeDcNE1223:>
8C=(4S>223""d3d38ne&; <<= "4U4S>5+@%A AB S#X (3- SV S Xd38n-E 8DcN#; r   