
    SњhwI                     V    S SK r S SKJr  S SKJrJrJr   " S S5      r\" S5      rS r	g)    N)Enum)	FrozenSetSetUnionc                      \ rS rSr " S S\\5      r " S S\\5      r " S S\\5      rS r	S	 r
\S
 5       r\S 5       r\S 5       r\S 5       r\S 5       r\S 5       r\S 5       r\S 5       r\S 5       r\S 5       r\S\4S j5       r\S\4S j5       r\S 5       r\S 5       r\S 5       r\S\\   4S j5       r\S 5       r\S 5       r\S 5       r \S\4S j5       r!\S\4S j5       r"\S  5       r#\S! 5       r$\S" 5       r%\S# 5       r&\S$ 5       r'\S% 5       r(\S& 5       r)\S' 5       r*\S( 5       r+\S) 5       r,\S\-4S* j5       r.\S+ 5       r/\S, 5       r0\S- 5       r1\S. 5       r2\S/ 5       r3\S0 5       r4\S1 5       r5\S2 5       r6\S3 5       r7\S4 5       r8\S5 5       r9\S6 5       r:\S7 5       r;\S8 5       r<\S9 5       r=\S: 5       r>\S; 5       r?\S< 5       r@\S= 5       rA\S> 5       rB\S? 5       rC\S@ 5       rD\SA 5       rE\SB 5       rF\SC 5       rG\SD 5       rH\SE 5       rI\SF 5       rJ\SG 5       rK\SH 5       rL\SI 5       rM\SJ 5       rN\SK 5       rO\SL 5       rP\S\Q\R\S\   4   4SM j5       rTSNrUgO)PAppSettings   c                        \ rS rSrSrSrSrSrg) AppSettings.AuthenticationMethod   usernameemailusername_email N)__name__
__module____qualname____firstlineno__USERNAMEEMAILUSERNAME_EMAIL__static_attributes__r       WD:\Anime\Ugyen\janka_web_project\venv\Lib\site-packages\allauth/account/app_settings.pyAuthenticationMethodr      s    )r   r   c                        \ rS rSrSrSrSrSrg)AppSettings.LoginMethod   r   r   phoner   N)r   r   r   r   r   r   PHONEr   r   r   r   LoginMethodr      s    r   r!   c                        \ rS rSrSrSrSrSrg)#AppSettings.EmailVerificationMethod   	mandatoryoptionalnoner   N)r   r   r   r   	MANDATORYOPTIONALNONEr   r   r   r   EmailVerificationMethodr#      s      	 r   r+   c                     Xl         g Nprefix)selfr/   s     r   __init__AppSettings.__init__   s    r   c                 :    SSK Jn  U" U R                  U-   U5      $ )Nr   )get_setting)allauth.utilsr4   r/   )r0   namedfltr4   s       r   _settingAppSettings._setting   s    -4;;-t44r   c                 &    U R                  SS5      $ )NPREVENT_ENUMERATIONTr8   r0   s    r   r;   AppSettings.PREVENT_ENUMERATION#       }}2D99r   c                 B    U R                  SS5      R                  5       $ )NDEFAULT_HTTP_PROTOCOLhttp)r8   lowerr=   s    r   rA   !AppSettings.DEFAULT_HTTP_PROTOCOL'   s    }}4f=CCEEr   c                 H    SSK Jn  U R                  S[        USS5      5      $ )zH
Determines the expiration date of email confirmation mails (#
of days)
r   settingsEMAIL_CONFIRMATION_EXPIRE_DAYSEMAIL_CONFIRMATION_DAYS   )django.confrG   r8   getattrr0   rG   s     r   rH   *AppSettings.EMAIL_CONFIRMATION_EXPIRE_DAYS+   s(     	)}},H7;
 	
r   c                 &    U R                  SS5      $ )z`
The URL to redirect to after a successful email confirmation, in
case of an authenticated user
-EMAIL_CONFIRMATION_AUTHENTICATED_REDIRECT_URLNr<   r=   s    r   rP   9AppSettings.EMAIL_CONFIRMATION_AUTHENTICATED_REDIRECT_URL8   s     }}LdSSr   c                 F    SSK Jn  U R                  SUR                  5      $ )z\
The URL to redirect to after a successful email confirmation, in
case no user is logged in
r   rF   )EMAIL_CONFIRMATION_ANONYMOUS_REDIRECT_URL)rK   rG   r8   	LOGIN_URLrM   s     r   rS   5AppSettings.EMAIL_CONFIRMATION_ANONYMOUS_REDIRECT_URL@   s#     	)}}79K9K
 	
r   c                 ~    [         R                  " SSS9  U R                  R                  S5      nU=(       a    US   $ )zD
The user is required to hand over an email address when signing up
z_app_settings.EMAIL_REQUIRED is deprecated, use: app_settings.SIGNUP_FIELDS['email']['required']rJ   
stacklevelr   requiredwarningswarnSIGNUP_FIELDSget)r0   r   s     r   EMAIL_REQUIREDAppSettings.EMAIL_REQUIREDL   s>    
 	m	
 ""&&w/*z**r   c                     U R                  SU R                  R                  5      nUSL a  U R                  R                  nOUSL a  U R                  R                  nU R                  U5      $ )z
See email verification method
EMAIL_VERIFICATIONTF)r8   r+   r)   r(   )r0   rets     r   rb   AppSettings.EMAIL_VERIFICATIONX   sb    
 mm0$2N2N2W2WX$;..88CE\..77C++C00r   c                 &    U R                  SS5      $ )N"EMAIL_VERIFICATION_BY_CODE_ENABLEDFr<   r=   s    r   rf   .AppSettings.EMAIL_VERIFICATION_BY_CODE_ENABLEDe   s    }}A5IIr   c                 &    U R                  SS5      $ )N'EMAIL_VERIFICATION_BY_CODE_MAX_ATTEMPTSrJ   r<   r=   s    r   ri   3AppSettings.EMAIL_VERIFICATION_BY_CODE_MAX_ATTEMPTSi   s    }}FJJr   c                 &    U R                  SS5      $ )N"EMAIL_VERIFICATION_BY_CODE_TIMEOUT  r<   r=   s    r   rl   .AppSettings.EMAIL_VERIFICATION_BY_CODE_TIMEOUTm   s    }}A7KKr   returnc                 j    U R                  SS5      n[        U[        5      (       a  U(       a  SOSnU$ )zc
The maximum number of times the email can be changed after signup at
the email veriication stage.
"EMAIL_VERIFICATION_SUPPORTS_CHANGEF   r   r8   
isinstanceboolr0   vs     r   #EMAIL_VERIFICATION_MAX_CHANGE_COUNT/AppSettings.EMAIL_VERIFICATION_MAX_CHANGE_COUNTq   0     MM>FaAAr   c                 j    U R                  SS5      n[        U[        5      (       a  U(       a  SOSnU$ )zQ
The maximum number of times the user can request a new email verification code.
"EMAIL_VERIFICATION_SUPPORTS_RESENDFrr   r   rs   rv   s     r   #EMAIL_VERIFICATION_MAX_RESEND_COUNT/AppSettings.EMAIL_VERIFICATION_MAX_RESEND_COUNT|   s0    
 MM>FaAAr   c                 &    U R                  SS 5      $ )NMAX_EMAIL_ADDRESSESr<   r=   s    r   r   AppSettings.MAX_EMAIL_ADDRESSES   r?   r   c                 &    U R                  SS5      $ )NCHANGE_EMAILFr<   r=   s    r   r   AppSettings.CHANGE_EMAIL   s    }}^U33r   c                 &   [         R                  " SSS9  U R                  nU R                  R                  U;   a  U R                  R
                  U;   a  gU R                  R                  U;   a  gU R                  R
                  U;   a  g[        e)NzQapp_settings.AUTHENTICATION_METHOD is deprecated, use: app_settings.LOGIN_METHODSrJ   rW   r   r   r   )r[   r\   LOGIN_METHODSr!   r   r   NotADirectoryError)r0   methodss     r   AUTHENTICATION_METHOD!AppSettings.AUTHENTICATION_METHOD   s    _	
 $$!!W,1A1A1J1Jg1U###w.&&'1$$r   c                    U R                  SS 5      nUc~  U R                  SU R                  R                  5      nX R                  R                  :X  a-  U R                  R
                  U R                  R                  1nOU R	                  U5      1n[        U Vs/ s H  o0R	                  U5      PM     sn5      $ s  snf )Nr   r   )r8   r   r   r   r!   r   	frozenset)r0   r   auth_methodms       r   r   AppSettings.LOGIN_METHODS   s    --6?--')B)B)K)KK 77FFF++1143C3C3L3LM++K89w?w!**1-w?@@?s   B>c                 &    U R                  SS5      $ )z&
Adjust max_length of email addresses
EMAIL_MAX_LENGTH   r<   r=   s    r   r   AppSettings.EMAIL_MAX_LENGTH   s    
 }}/55r   c                 &    U R                  SS5      $ )NPHONE_VERIFICATION_ENABLEDTr<   r=   s    r   r   &AppSettings.PHONE_VERIFICATION_ENABLED   s    }}94@@r   c                 &    U R                  SS5      $ )NPHONE_VERIFICATION_MAX_ATTEMPTSrJ   r<   r=   s    r   r   +AppSettings.PHONE_VERIFICATION_MAX_ATTEMPTS   s    }}>BBr   c                 j    U R                  SS5      n[        U[        5      (       a  U(       a  SOSnU$ )zr
The maximum number of times the phone number can be changed after
signup at the phone number verification stage.
"PHONE_VERIFICATION_SUPPORTS_CHANGEFrr   r   rs   rv   s     r   #PHONE_VERIFICATION_MAX_CHANGE_COUNT/AppSettings.PHONE_VERIFICATION_MAX_CHANGE_COUNT   rz   r   c                 j    U R                  SS5      n[        U[        5      (       a  U(       a  SOSnU$ )zX
The maximum number of times the user can request a new phone number
verification code.
"PHONE_VERIFICATION_SUPPORTS_RESENDFrr   r   rs   rv   s     r   #PHONE_VERIFICATION_MAX_RESEND_COUNT/AppSettings.PHONE_VERIFICATION_MAX_RESEND_COUNT   rz   r   c                 &    U R                  SS5      $ )NPHONE_VERIFICATION_TIMEOUTrm   r<   r=   s    r   r   &AppSettings.PHONE_VERIFICATION_TIMEOUT   s    }}97CCr   c                 &    U R                  SS5      $ )z'
Enforce uniqueness of email addresses
UNIQUE_EMAILTr<   r=   s    r   r   AppSettings.UNIQUE_EMAIL   s    
 }}^T22r   c                 J    [         R                  " SSS9  SU R                  ;   $ )z
Signup email verification
z`app_settings.SIGNUP_EMAIL_ENTER_TWICE is deprecated, use: 'email2' in app_settings.SIGNUP_FIELDSrJ   rW   email2r[   r\   r]   r=   s    r   SIGNUP_EMAIL_ENTER_TWICE$AppSettings.SIGNUP_EMAIL_ENTER_TWICE   s)    
 	n	
 4----r   c                 J    [         R                  " SSS9  SU R                  ;   $ )z
Signup password verification
zfapp_settings.SIGNUP_PASSWORD_ENTER_TWICE is deprecated, use: 'password2' in app_settings.SIGNUP_FIELDSrJ   rW   	password2r   r=   s    r   SIGNUP_PASSWORD_ENTER_TWICE'AppSettings.SIGNUP_PASSWORD_ENTER_TWICE   s)    
 	t	
 d0000r   c                 F    SSK Jn  U R                  SUR                  5      $ )Nr   rF   SIGNUP_REDIRECT_URL)rK   rG   r8   LOGIN_REDIRECT_URLrM   s     r   r   AppSettings.SIGNUP_REDIRECT_URL   s    (}}2H4O4OPPr   c                 \    SSK Jn  SnUR                  (       d  U R                  SS5      nU$ )z
Minimum password Length
r   rF   NPASSWORD_MIN_LENGTHr	   )rK   rG   AUTH_PASSWORD_VALIDATORSr8   )r0   rG   rc   s      r   r   AppSettings.PASSWORD_MIN_LENGTH   s+    
 	)00-- 5q9C
r   c                 \   U R                  S0 5      nUSL a  0 $ U R                  SS5      nU R                  SS5      nS nU(       a  U(       a	  SU SU S	3nU R                  (       a  S
nO!U R                  SS5      nS nU(       a  SU S	3nSSSSSSSSSUUSS.nUR                  U5        U$ )NRATE_LIMITSFLOGIN_ATTEMPTS_LIMIT   LOGIN_ATTEMPTS_TIMEOUT,  z10/m/ip,/zs/keyz	1/10s/keyEMAIL_CONFIRMATION_COOLDOWN   z1/z5/m/userz1/m/userz	10/m/userz20/m/ip,5/m/keyz20/m/ipz30/m/ipz20/m/ip,3/m/keyz1/30s/key,3/m/ip)change_passwordchange_phonemanage_emailreset_passwordreauthenticatereset_password_from_keysignuploginrequest_login_codelogin_failedconfirm_emailverify_phone)r8   rf   update)r0   rlsattempts_amountattempts_timeoutlogin_failed_rlconfirm_email_rlcooldownrc   s           r   r   AppSettings.RATE_LIMITS  s    mmM2.%<I--(>B==)A6J/ ((9;K:LERO22*}}%BFKH#%'z#7   *&'/)'0"3+-.1
4 	

3
r   c                 &    U R                  SS5      $ )z4
Subject-line prefix to use for email messages sent
EMAIL_SUBJECT_PREFIXNr<   r=   s    r   r    AppSettings.EMAIL_SUBJECT_PREFIX2  s    
 }}3T::r   c                 &    U R                  SS5      $ )z
Signup form
SIGNUP_FORM_CLASSNr<   r=   s    r   r   AppSettings.SIGNUP_FORM_CLASS9  s    
 }}0$77r   c                 &    U R                  SS5      $ )zO
Honeypot field name. Empty string or ``None`` will disable honeypot behavior.
SIGNUP_FORM_HONEYPOT_FIELDNr<   r=   s    r   r   &AppSettings.SIGNUP_FORM_HONEYPOT_FIELD@  s    
 }}94@@r   c                 `   U R                  SS 5      nU(       d  / nU R                  SS5      nU R                  SS5      nU R                  SS5      nU R                  SU R                  SS5      5      nU(       a  UR                  S	5        OUR                  S
5        U(       a  UR                  U(       a  SOS5        U(       a  UR                  S5        UR                  S5        U(       a  UR                  S5        0 nU H&  nUR                  S5      u  pn
S[        U	5      0Xh'   M(     U$ )Nr]   USERNAME_REQUIREDTr_   Fr   r   SIGNUP_PASSWORD_VERIFICATIONzemail*r   zemail2*r   z	username*z
password1*z
password2**rY   )r8   append	partitionru   )r0   fieldsr   r   r   r   rc   fieldfreq_s              r   r]   AppSettings.SIGNUP_FIELDSG  s    5F}}%8$?HMM"2E:E]]#=uEF-<dCI h'g&5ih?k*MM,'l+E,IAA $s),CF  
r   c                 ~    [         R                  " SSS9  U R                  R                  S5      nU=(       a    US   $ )z:
The user is required to enter a username when signing up
zeapp_settings.USERNAME_REQUIRED is deprecated, use: app_settings.SIGNUP_FIELDS['username']['required']rJ   rW   r   rY   rZ   )r0   r   s     r   r   AppSettings.USERNAME_REQUIREDd  s>    
 	s	
 %%))*50HZ00r   c                 &    U R                  SS5      $ )z
Minimum username Length
USERNAME_MIN_LENGTH   r<   r=   s    r   r   AppSettings.USERNAME_MIN_LENGTHp  s    
 }}2A66r   c                 &    U R                  S/ 5      $ )z(
List of usernames that are not allowed
USERNAME_BLACKLISTr<   r=   s    r   r   AppSettings.USERNAME_BLACKLISTw  s    
 }}1266r   c                 &    U R                  SS5      $ )z:
render_value parameter as passed to PasswordInput fields
PASSWORD_INPUT_RENDER_VALUEFr<   r=   s    r   r   'AppSettings.PASSWORD_INPUT_RENDER_VALUE~      
 }}:EBBr   c                 &    U R                  SS5      $ )NADAPTERz-allauth.account.adapter.DefaultAccountAdapterr<   r=   s    r   r   AppSettings.ADAPTER  s    }}Y(WXXr   c                 &    U R                  SS5      $ )NCONFIRM_EMAIL_ON_GETFr<   r=   s    r   r    AppSettings.CONFIRM_EMAIL_ON_GET  s    }}3U;;r   c                 &    U R                  SS5      $ )NAUTHENTICATED_LOGIN_REDIRECTSTr<   r=   s    r   r   )AppSettings.AUTHENTICATED_LOGIN_REDIRECTS  s    }}<dCCr   c                 &    U R                  SS5      $ )zG
Automatically log the user in once they confirmed their email address
LOGIN_ON_EMAIL_CONFIRMATIONFr<   r=   s    r   r  'AppSettings.LOGIN_ON_EMAIL_CONFIRMATION  r   r   c                 &    U R                  SS5      $ )zK
Automatically log the user in immediately after resetting
their password.
LOGIN_ON_PASSWORD_RESETFr<   r=   s    r   r  #AppSettings.LOGIN_ON_PASSWORD_RESET  s     }}6>>r   c                 X    SSK Jn  U R                  SUR                  =(       d    S5      $ )Nr   rF   LOGOUT_REDIRECT_URLr   )rK   rG   r8   r  rM   s     r   r  AppSettings.LOGOUT_REDIRECT_URL  s#    (}}2H4P4P4WTWXXr   c                 &    U R                  SS5      $ )NLOGOUT_ON_GETFr<   r=   s    r   r  AppSettings.LOGOUT_ON_GET  s    }}_e44r   c                 &    U R                  SS5      $ )NLOGOUT_ON_PASSWORD_CHANGEFr<   r=   s    r   r  %AppSettings.LOGOUT_ON_PASSWORD_CHANGE      }}8%@@r   c                 &    U R                  SS5      $ )NUSER_MODEL_USERNAME_FIELDr   r<   r=   s    r   r  %AppSettings.USER_MODEL_USERNAME_FIELD  s    }}8*EEr   c                 &    U R                  SS5      $ )NUSER_MODEL_EMAIL_FIELDr   r<   r=   s    r   r  "AppSettings.USER_MODEL_EMAIL_FIELD  s    }}5w??r   c                 F    SSK Jn  U R                  SUR                  5      $ )z@
Deprecated -- use Django's settings.SESSION_COOKIE_AGE instead
r   rF   SESSION_COOKIE_AGE)rK   rG   r8   r  rM   s     r   r  AppSettings.SESSION_COOKIE_AGE  s    
 	)}}183N3NOOr   c                 &    U R                  SS5      $ )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_REMEMBERNr<   r=   s    r   r  AppSettings.SESSION_REMEMBER  s     }}/66r   c                 &    U R                  SS5      $ )zF
A string defining the template extension to use, defaults to `html`.
TEMPLATE_EXTENSIONhtmlr<   r=   s    r   r  AppSettings.TEMPLATE_EXTENSION  s    
 }}16::r   c                 &    U R                  S0 5      $ )NFORMSr<   r=   s    r   r"  AppSettings.FORMS  s    }}Wb))r   c                 &    U R                  SS5      $ )NEMAIL_CONFIRMATION_HMACTr<   r=   s    r   r%  #AppSettings.EMAIL_CONFIRMATION_HMAC  s    }}6==r   c                 &    U R                  SS5      $ )NSALTaccountr<   r=   s    r   r(  AppSettings.SALT  s    }}VY//r   c                 &    U R                  SS5      $ )NPRESERVE_USERNAME_CASINGTr<   r=   s    r   r,  $AppSettings.PRESERVE_USERNAME_CASING  s    }}7>>r   c                 6   SSK Jn  SSKJn  SSKJn  U R                  SS 5      nU(       a(  U" U5      n[        U[        5      (       d  U" S5      e U$ U R                  b6  U" 5       R                  R                  U R                  5      R                  nU$ / nU$ )Nr   )get_user_model)ImproperlyConfiguredimport_attributeUSERNAME_VALIDATORSz4ACCOUNT_USERNAME_VALIDATORS is expected to be a list)django.contrib.authr/  django.core.exceptionsr0  r5   r2  r8   rt   listr  _meta	get_field
validators)r0   r/  r0  r2  pathrc   s         r   r3  AppSettings.USERNAME_VALIDATORS  s    6?2}}2D9"4(Cc4((*J  ) 
 --9"$U99T%C%CDZ  
 
r   c                 &    U R                  SS5      $ )NPASSWORD_RESET_BY_CODE_ENABLEDFr<   r=   s    r   r=  *AppSettings.PASSWORD_RESET_BY_CODE_ENABLED  s    }}=uEEr   c                 &    U R                  SS5      $ )N#PASSWORD_RESET_BY_CODE_MAX_ATTEMPTSrJ   r<   r=   s    r   r@  /AppSettings.PASSWORD_RESET_BY_CODE_MAX_ATTEMPTS  s    }}BAFFr   c                 &    U R                  SS5      $ )NPASSWORD_RESET_BY_CODE_TIMEOUTr   r<   r=   s    r   rC  *AppSettings.PASSWORD_RESET_BY_CODE_TIMEOUT   s    }}=vFFr   c                 `    SSK Jn  SSKJn  U R	                  SS 5      nUb
  U" U5      nU$ UnU$ )Nr   )%EmailAwarePasswordResetTokenGeneratorr1  PASSWORD_RESET_TOKEN_GENERATOR)allauth.account.formsrF  r5   r2  r8   )r0   rF  r2  token_generator_pathtoken_generators        r   rG  *AppSettings.PASSWORD_RESET_TOKEN_GENERATOR  sA    O2#}}-MtT+./CDO  DOr   c                 &    U R                  SS5      $ )NEMAIL_UNKNOWN_ACCOUNTSTr<   r=   s    r   rM  "AppSettings.EMAIL_UNKNOWN_ACCOUNTS  s    }}5t<<r   c                 &    U R                  SS5      $ )NREAUTHENTICATION_TIMEOUTr   r<   r=   s    r   rP  $AppSettings.REAUTHENTICATION_TIMEOUT  s    }}7==r   c                 &    U R                  SS5      $ )NEMAIL_NOTIFICATIONSFr<   r=   s    r   rS  AppSettings.EMAIL_NOTIFICATIONS  s    }}2E::r   c                 &    U R                  SS5      $ )NREAUTHENTICATION_REQUIREDFr<   r=   s    r   rV  %AppSettings.REAUTHENTICATION_REQUIRED  r  r   c                 &    U R                  SS5      $ )NLOGIN_BY_CODE_ENABLEDFr<   r=   s    r   rY  !AppSettings.LOGIN_BY_CODE_ENABLED   s    }}4e<<r   c                 &    U R                  SS5      $ )NLOGIN_BY_CODE_MAX_ATTEMPTSrJ   r<   r=   s    r   r\  &AppSettings.LOGIN_BY_CODE_MAX_ATTEMPTS$  s    }}91==r   c                 &    U R                  SS5      $ )NLOGIN_BY_CODE_TIMEOUTr   r<   r=   s    r   r_  !AppSettings.LOGIN_BY_CODE_TIMEOUT(  s    }}4f==r   c                 &    U R                  SS5      $ )z
The maximum allowed time (in seconds) for a login to go through the
various login stages. This limits, for example, the time span that the
2FA stage remains available.
LOGIN_TIMEOUTrm   r<   r=   s    r   rb  AppSettings.LOGIN_TIMEOUT,  s     }}_g66r   c                 j    U R                  SS5      n[        U[        5      (       a  U$ [        U5      $ )a  
When enabled (in case of ``True``), every user logging in is
required to input a login confirmation code sent by email.
Alternatively, you can specify a set of authentication methods
(``"password"``, ``"mfa"``, or ``"socialaccount"``) for which login
codes are required.
LOGIN_BY_CODE_REQUIREDF)r8   rt   ru   set)r0   values     r   re  "AppSettings.LOGIN_BY_CODE_REQUIRED5  s1     6>eT""L5zr   r.   N)Vr   r   r   r   strr   r   r!   r+   r1   r8   propertyr;   rA   rH   rP   rS   r_   rb   rf   ri   rl   intrx   r}   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   dictr]   r   r   r   r   r   r   r   r  r  r  r  r  r  r  r  r  r  r"  r%  r(  r,  r3  r=  r@  rC  rG  rM  rP  rS  rV  rY  r\  r_  rb  r   ru   r   re  r   r   r   r   r   r      s   *sD *
c4 
#t 5
 : : F F 

 

 T T 	
 	
 	+ 	+ 
1 
1 J J K K L L S   S   : : 4 4 % % 
Ay5 
A 
A 6 6 A A C C S   S   D D 3 3 . . 1 1 Q Q
 	 	 , ,\ ; ; 8 8 A A t  8 	1 	1 7 7 7 7 C C Y Y < < D D C C ? ? Y Y
 5 5 A A F F @ @ P P 7 7 ; ; * * > > 0 0 ? ?  0 F F G G G G 	 	 = = > > ; ; A A = = > > > > 7 7 dCHn(=  r   r   ACCOUNT_c                 "    [        [        U 5      $ r-   )rL   _app_settings)r6   s    r   __getattr__rp  G  s    =$''r   )
r[   enumr   typingr   r   r   r   ro  rp  r   r   r   <module>rs     s/      ( ({ {| J'(r   