
    )Jf1                     J    d dl mZ  G d de          Z ed          Zd ZdS )    ImproperlyConfiguredc                   n   e Zd Z G d d          Z G d d          Zd Zd Zed             Zed             Z	ed	             Z
ed
             Zed             Zed             Zed             Zed             Zed             Zed             Zed             Zed             Zed             Zed             Zed             Zed             Zed             Zed             Zed             Zed             Zed             Zed             Zed             Zed             Zed             Z ed              Z!ed!             Z"ed"             Z#ed#             Z$ed$             Z%ed%             Z&ed&             Z'ed'             Z(ed(             Z)ed)             Z*ed*             Z+ed+             Z,ed,             Z-ed-             Z.ed.             Z/ed/             Z0ed0             Z1ed1             Z2ed2             Z3ed3             Z4ed4             Z5ed5             Z6ed6             Z7d7S )8AppSettingsc                       e Zd ZdZdZdZdS ) AppSettings.AuthenticationMethodusernameemailusername_emailN)__name__
__module____qualname__USERNAMEEMAILUSERNAME_EMAIL     _/home/alex/cs2snipeproduction/venv/lib/python3.11/site-packages/allauth/account/app_settings.pyAuthenticationMethodr      s        )r   r   c                       e Zd ZdZdZdZdS )#AppSettings.EmailVerificationMethod	mandatoryoptionalnoneN)r   r   r   	MANDATORYOPTIONALNONEr   r   r   EmailVerificationMethodr   
   s!          	 r   r   c                    || _         | j        | j        j        k    r	| j        sJ | j        | j        j        k    s	| j        sJ | j        | j        j	        k    s	| j        sJ | j
        s*| j        rJ | j        | j        j        | j        j        fvsJ | j        | j        dk    sJ | j        r!| j        | j        dk    rt          d          d S d S d S )Nr      zKInvalid combination of ACCOUNT_CHANGE_EMAIL and ACCOUNT_MAX_EMAIL_ADDRESSES)prefixAUTHENTICATION_METHODr   r   EMAIL_REQUIREDr   UNIQUE_EMAILEMAIL_VERIFICATIONr   r   USER_MODEL_USERNAME_FIELDUSERNAME_REQUIREDr   MAX_EMAIL_ADDRESSESCHANGE_EMAILr   )selfr!   s     r   __init__zAppSettings.__init__   s8    *d.G.MMM  NMM &$*C*LLL MLL #t'C'MMM  NMM- 	-----)2)86     #/+a//// 	'38PTU8U8U*a  	 	338U8Ur   c                 6    ddl m}  || j        |z   |          S )Nr   )get_setting)allauth.utilsr-   r!   )r*   namedfltr-   s       r   _settingzAppSettings._setting/   s-    ------{4;-t444r   c                 .    |                      dd          S )NPREVENT_ENUMERATIONTr1   r*   s    r   r3   zAppSettings.PREVENT_ENUMERATION4       }}2D999r   c                 R    |                      dd                                          S )NDEFAULT_HTTP_PROTOCOLhttp)r1   lowerr5   s    r   r8   z!AppSettings.DEFAULT_HTTP_PROTOCOL8   s#    }}4f==CCEEEr   c                 X    ddl m} |                     dt          |dd                    S )z`
        Determines the expiration date of email confirmation mails (#
        of days)
        r   settingsEMAIL_CONFIRMATION_EXPIRE_DAYSEMAIL_CONFIRMATION_DAYS   )django.confr=   r1   getattrr*   r=   s     r   r>   z*AppSettings.EMAIL_CONFIRMATION_EXPIRE_DAYS<   s?     	)(((((}},H7;;
 
 	
r   c                 .    |                      dd          S )zx
        The URL to redirect to after a successful email confirmation, in
        case of an authenticated user
        -EMAIL_CONFIRMATION_AUTHENTICATED_REDIRECT_URLNr4   r5   s    r   rE   z9AppSettings.EMAIL_CONFIRMATION_AUTHENTICATED_REDIRECT_URLI   s     }}LdSSSr   c                 D    ddl m} |                     d|j                  S )zt
        The URL to redirect to after a successful email confirmation, in
        case no user is logged in
        r   r<   )EMAIL_CONFIRMATION_ANONYMOUS_REDIRECT_URL)rA   r=   r1   	LOGIN_URLrC   s     r   rG   z5AppSettings.EMAIL_CONFIRMATION_ANONYMOUS_REDIRECT_URLQ   s4     	)(((((}}79K
 
 	
r   c                 .    |                      dd          S )z
        The cooldown in seconds during which, after an email confirmation has
        been sent, a second confirmation email will not be sent.
        EMAIL_CONFIRMATION_COOLDOWN   r4   r5   s    r   rJ   z'AppSettings.EMAIL_CONFIRMATION_COOLDOWN]   s     }}:FCCCr   c                 .    |                      dd          S )zT
        The user is required to hand over an email address when signing up
        r#   Fr4   r5   s    r   r#   zAppSettings.EMAIL_REQUIREDe   s    
 }}-u555r   c                     |                      d| j        j                  }|du r| j        j        }n|du r| j        j        }|S )z/
        See email verification method
        r%   TF)r1   r   r   r   r*   rets     r   r%   zAppSettings.EMAIL_VERIFICATIONl   sM    
 mm0$2N2WXX$;;.8CCE\\.7C
r   c                 .    |                      dd           S )Nr(   r4   r5   s    r   r(   zAppSettings.MAX_EMAIL_ADDRESSESy   r6   r   c                 .    |                      dd          S )Nr)   Fr4   r5   s    r   r)   zAppSettings.CHANGE_EMAIL}   s    }}^U333r   c                 F    |                      d| j        j                  }|S )Nr"   )r1   r   r   rN   s     r   r"   z!AppSettings.AUTHENTICATION_METHOD   s!    mm3T5N5WXX
r   c                 .    |                      dd          S )z6
        Adjust max_length of email addresses
        EMAIL_MAX_LENGTH   r4   r5   s    r   rT   zAppSettings.EMAIL_MAX_LENGTH   s    
 }}/555r   c                 .    |                      dd          S )z7
        Enforce uniqueness of email addresses
        r$   Tr4   r5   s    r   r$   zAppSettings.UNIQUE_EMAIL   s    
 }}^T222r   c                 .    |                      dd          S )z+
        Signup email verification
        SIGNUP_EMAIL_ENTER_TWICEFr4   r5   s    r   rX   z$AppSettings.SIGNUP_EMAIL_ENTER_TWICE   s    
 }}7???r   c                 Z    |                      dd          }|                      d|          S )z.
        Signup password verification
        SIGNUP_PASSWORD_VERIFICATIONTSIGNUP_PASSWORD_ENTER_TWICEr4   )r*   legacys     r   r[   z'AppSettings.SIGNUP_PASSWORD_ENTER_TWICE   s-    
 =tDD}}:FCCCr   c                 D    ddl m} |                     d|j                  S )Nr   r<   SIGNUP_REDIRECT_URL)rA   r=   r1   LOGIN_REDIRECT_URLrC   s     r   r^   zAppSettings.SIGNUP_REDIRECT_URL   s,    ((((((}}2H4OPPPr   c                 P    ddl m} d}|j        s|                     dd          }|S )z)
        Minimum password Length
        r   r<   NPASSWORD_MIN_LENGTH   )rA   r=   AUTH_PASSWORD_VALIDATORSr1   )r*   r=   rO   s      r   ra   zAppSettings.PASSWORD_MIN_LENGTH   s?    
 	)(((((0 	:-- 5q99C
r   c                 B    dddddddd}|                      d|          S )Nz5/mz10/mz20/m)change_passwordmanage_emailreset_passwordreset_password_emailreauthenticatereset_password_from_keysignupRATE_LIMITSr4   )r*   r0   s     r   rl   zAppSettings.RATE_LIMITS   s;      %"$$)$'-
 
" }}]D111r   c                 .    |                      dd          S )zD
        Subject-line prefix to use for email messages sent
        EMAIL_SUBJECT_PREFIXNr4   r5   s    r   rn   z AppSettings.EMAIL_SUBJECT_PREFIX   s    
 }}3T:::r   c                 .    |                      dd          S )z
        Signup form
        SIGNUP_FORM_CLASSNr4   r5   s    r   rp   zAppSettings.SIGNUP_FORM_CLASS       
 }}0$777r   c                 .    |                      dd          S )zJ
        The user is required to enter a username when signing up
        r'   Tr4   r5   s    r   r'   zAppSettings.USERNAME_REQUIRED   rq   r   c                 .    |                      dd          S )z)
        Minimum username Length
        USERNAME_MIN_LENGTH   r4   r5   s    r   rt   zAppSettings.USERNAME_MIN_LENGTH   s    
 }}2A666r   c                 .    |                      dg           S )z8
        List of usernames that are not allowed
        USERNAME_BLACKLISTr4   r5   s    r   rw   zAppSettings.USERNAME_BLACKLIST   s    
 }}12666r   c                 .    |                      dd          S )zJ
        render_value parameter as passed to PasswordInput fields
        PASSWORD_INPUT_RENDER_VALUEFr4   r5   s    r   ry   z'AppSettings.PASSWORD_INPUT_RENDER_VALUE       
 }}:EBBBr   c                 .    |                      dd          S )NADAPTERz-allauth.account.adapter.DefaultAccountAdapterr4   r5   s    r   r|   zAppSettings.ADAPTER   s    }}Y(WXXXr   c                 .    |                      dd          S )NCONFIRM_EMAIL_ON_GETFr4   r5   s    r   r~   z AppSettings.CONFIRM_EMAIL_ON_GET   s    }}3U;;;r   c                 .    |                      dd          S )NAUTHENTICATED_LOGIN_REDIRECTSTr4   r5   s    r   r   z)AppSettings.AUTHENTICATED_LOGIN_REDIRECTS   s    }}<dCCCr   c                 .    |                      dd          S )zW
        Automatically log the user in once they confirmed their email address
        LOGIN_ON_EMAIL_CONFIRMATIONFr4   r5   s    r   r   z'AppSettings.LOGIN_ON_EMAIL_CONFIRMATION   rz   r   c                 .    |                      dd          S )zc
        Automatically log the user in immediately after resetting
        their password.
        LOGIN_ON_PASSWORD_RESETFr4   r5   s    r   r   z#AppSettings.LOGIN_ON_PASSWORD_RESET  s     }}6>>>r   c                 H    ddl m} |                     d|j        pd          S )Nr   r<   LOGOUT_REDIRECT_URL/)rA   r=   r1   r   rC   s     r   r   zAppSettings.LOGOUT_REDIRECT_URL  s2    ((((((}}2H4P4WTWXXXr   c                 .    |                      dd          S )NLOGOUT_ON_GETFr4   r5   s    r   r   zAppSettings.LOGOUT_ON_GET  s    }}_e444r   c                 .    |                      dd          S )NLOGOUT_ON_PASSWORD_CHANGEFr4   r5   s    r   r   z%AppSettings.LOGOUT_ON_PASSWORD_CHANGE      }}8%@@@r   c                 .    |                      dd          S )Nr&   r	   r4   r5   s    r   r&   z%AppSettings.USER_MODEL_USERNAME_FIELD  s    }}8*EEEr   c                 .    |                      dd          S )NUSER_MODEL_EMAIL_FIELDr
   r4   r5   s    r   r   z"AppSettings.USER_MODEL_EMAIL_FIELD!  s    }}5w???r   c                 D    ddl m} |                     d|j                  S )zP
        Deprecated -- use Django's settings.SESSION_COOKIE_AGE instead
        r   r<   SESSION_COOKIE_AGE)rA   r=   r1   r   rC   s     r   r   zAppSettings.SESSION_COOKIE_AGE%  s.    
 	)(((((}}183NOOOr   c                 .    |                      dd          S )z
        Controls the life time of the session. Set to `None` to ask the user
        ("Remember me?"), `False` to not remember, and `True` to always
        remember.
        SESSION_REMEMBERNr4   r5   s    r   r   zAppSettings.SESSION_REMEMBER.  s     }}/666r   c                 .    |                      dd          S )zV
        A string defining the template extension to use, defaults to `html`.
        TEMPLATE_EXTENSIONhtmlr4   r5   s    r   r   zAppSettings.TEMPLATE_EXTENSION7  s    
 }}16:::r   c                 .    |                      di           S )NFORMSr4   r5   s    r   r   zAppSettings.FORMS>  s    }}Wb)))r   c                 .    |                      dd          S )z
        Number of failed login attempts. When this number is
        exceeded, the user is prohibited from logging in for the
        specified `LOGIN_ATTEMPTS_TIMEOUT`
        LOGIN_ATTEMPTS_LIMIT   r4   r5   s    r   r   z AppSettings.LOGIN_ATTEMPTS_LIMITB  s     }}3Q777r   c                 .    |                      dd          S )z
        Time period from last unsuccessful login attempt, during
        which the user is prohibited from trying to log in.  Defaults to
        5 minutes.
        LOGIN_ATTEMPTS_TIMEOUT,  r4   r5   s    r   r   z"AppSettings.LOGIN_ATTEMPTS_TIMEOUTK  s     }}5v>>>r   c                 .    |                      dd          S )NEMAIL_CONFIRMATION_HMACTr4   r5   s    r   r   z#AppSettings.EMAIL_CONFIRMATION_HMACT  s    }}6===r   c                 .    |                      dd          S )NSALTaccountr4   r5   s    r   r   zAppSettings.SALTX  s    }}VY///r   c                 .    |                      dd          S )NPRESERVE_USERNAME_CASINGTr4   r5   s    r   r   z$AppSettings.PRESERVE_USERNAME_CASING\  s    }}7>>>r   c                    ddl m} ddlm} ddlm} |                     dd           }|r, ||          }t          |t                    s |d          n6| j	        - |            j
                            | j	                  j        }ng }|S )Nr   )get_user_modelr   import_attributeUSERNAME_VALIDATORSz4ACCOUNT_USERNAME_VALIDATORS is expected to be a list)django.contrib.authr   django.core.exceptionsr   r.   r   r1   
isinstancelistr&   _meta	get_field
validators)r*   r   r   r   pathrO   s         r   r   zAppSettings.USERNAME_VALIDATORS`  s    666666??????222222}}2D99 	""4((Cc4(( **J  
 -9"N$$99T%CDD  
r   c                 j    ddl m} ddlm} |                     dd           }| ||          }n|}|S )Nr   )%EmailAwarePasswordResetTokenGeneratorr   PASSWORD_RESET_TOKEN_GENERATOR)allauth.account.formsr   r.   r   r1   )r*   r   r   token_generator_pathtoken_generators        r   r   z*AppSettings.PASSWORD_RESET_TOKEN_GENERATORy  s_    OOOOOO222222#}}-MtTT+../CDDOOCOr   c                 .    |                      dd          S )NEMAIL_UNKNOWN_ACCOUNTSTr4   r5   s    r   r   z"AppSettings.EMAIL_UNKNOWN_ACCOUNTS  s    }}5t<<<r   c                 .    |                      dd          S )NREAUTHENTICATION_TIMEOUTr   r4   r5   s    r   r   z$AppSettings.REAUTHENTICATION_TIMEOUT  s    }}7===r   c                 .    |                      dd          S )NREAUTHENTICATION_REQUIREDFr4   r5   s    r   r   z%AppSettings.REAUTHENTICATION_REQUIRED  r   r   N)8r   r   r   r   r   r+   r1   propertyr3   r8   r>   rE   rG   rJ   r#   r%   r(   r)   r"   rT   r$   rX   r[   r^   ra   rl   rn   rp   r'   rt   rw   ry   r|   r~   r   r   r   r   r   r   r&   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r      s       * * * * * * * *
         65 5 5
 : : X: F F XF 

 

 X

 T T XT 	
 	
 X	
 D D XD 6 6 X6 
 
 X
 : : X: 4 4 X4   X 6 6 X6 3 3 X3 @ @ X@ D D XD Q Q XQ
 	 	 X	 2 2 X2( ; ; X; 8 8 X8 8 8 X8 7 7 X7 7 7 X7 C C XC Y Y XY < < X< D D XD C C XC ? ? X? Y Y XY
 5 5 X5 A A XA F F XF @ @ X@ P P XP 7 7 X7 ; ; X; * * X* 8 8 X8 ? ? X? > > X> 0 0 X0 ? ? X?   X0 	 	 X	 = = X= > > X> A A XA A Ar   r   ACCOUNT_c                 ,    t          t          |           S )N)rB   _app_settings)r/   s    r   __getattr__r     s    =$'''r   N)r   r   objectr   r   r   r   r   r   <module>r      s|    7 7 7 7 7 7KA KA KA KA KA& KA KA KA\ J''( ( ( ( (r   