§
    Ÿj5  ã                   óÆ   — d Z ddlZddlZddlZddlmZ ddlmZ ddlm	Z	 ddl
mZ ddlmZmZ ddlmZmZ dd	lmZ dd
lmZ  G d„ de¦  «        ZdZ G d„ de¦  «        ZdS )z*
Management utility to create superusers.
é    N)Úget_user_model)Úget_default_username)Úvalidate_password)Ú
exceptions)ÚBaseCommandÚCommandError)ÚDEFAULT_DB_ALIASÚconnections)Úcached_property)Úcapfirstc                   ó   — e Zd ZdS )ÚNotRunningInTTYExceptionN)Ú__name__Ú
__module__Ú__qualname__© ó    ú„/var/www/finuniver-perm.ru/html/student/venv/lib/python3.11/site-packages/django/contrib/auth/management/commands/createsuperuser.pyr   r      s   € € € € € Ø€Dr   r   Úpasswordc                   ól   ‡ — e Zd ZdZdZdZˆ fd„Zd„ Zˆ fd„Zd„ Z	dd	„Z
dd
„Zed„ ¦   «         Zd„ Zˆ xZS )ÚCommandzUsed to create a superuser.T)Ústdinc                 ó¼   •—  t          ¦   «         j        |i |¤Ž t          ¦   «         | _        | j        j                             | j        j        ¦  «        | _        d S ©N)ÚsuperÚ__init__r   Ú	UserModelÚ_metaÚ	get_fieldÚUSERNAME_FIELDÚusername_field)ÚselfÚargsÚkwargsÚ	__class__s      €r   r   zCommand.__init__   sW   ø€ Ø�‰ŒÔ˜$Ð) &Ð)Ð)Ð)Ý'Ñ)Ô)ˆŒØ"œnÔ2×<Ò<ØŒNÔ)ñ
ô 
ˆÔÐÐr   c                 óH  — |                      d| j        j        z  d¬¦  «         |                      ddddd| j        j        z  ¬	¦  «         |                      d
t          t	          t
          ¦  «        d¬¦  «         | j        j        D ]™}| j        j                             |¦  «        }|j	        rT|j
        j        r(|j
        j        j        j        st          d|z  ¦  «        ‚|                      d|z  dd|z  f¬¦  «         Œ||                      d|z  d|z  ¬¦  «         Œšd S )Nz--%sz&Specifies the login for the superuser.)Úhelpz	--noinputz
--no-inputÚstore_falseÚinteractivezòTells Django to NOT prompt the user for input of any kind. You must use --%s with --noinput, along with an option for any other required field. Superusers created with --noinput will not be able to log in until they're given a valid password.)ÚactionÚdestr'   z
--databasez4Specifies the database to use. Default is "default".)ÚdefaultÚchoicesr'   z\Required field '%s' specifies a many-to-many relation through model, which is not supported.Úappendz?Specifies the %s for the superuser. Can be used multiple times.)r*   r'   z#Specifies the %s for the superuser.)Úadd_argumentr   r    r	   Útupler
   ÚREQUIRED_FIELDSr   r   Úmany_to_manyÚremote_fieldÚthroughÚauto_createdr   )r"   ÚparserÚ
field_nameÚfields       r   Úadd_argumentszCommand.add_arguments&   sŸ  € Ø×ÒØ�T”^Ô2Ñ2Ø9ð 	ñ 	
ô 	
ð 	
ð 	×ÒØØØ ØðNð ”.Ô/ñ	0ð 	ñ 	
ô 	
ð 	
ð 	×ÒØÝ$Ý�+Ñ&Ô&ØGð	 	ñ 	
ô 	
ð 	
ð œ.Ô8ð 	ð 	ˆJØ”NÔ(×2Ò2°:Ñ>Ô>ˆEØÔ!ð àÔ&Ô.ðà!Ô.Ô6Ô<ÔIðõ 'ðJØLVñWñô ð ð
 ×'Ò'Ø Ñ+Ø'ð.Ø0:ñ;ðð (ñ ô ð ð ð ×#Ò#Ø˜ZÑ'Ø>ÀÑKð $ñ ô ð ð ð+	ð 	r   c                 ó€   •— |                      dt          j        ¦  «        | _         t          ¦   «         j        |i |¤ŽS )Nr   )ÚgetÚsysr   r   Úexecute)r"   r#   Úoptionsr%   s      €r   r=   zCommand.executeX   s5   ø€ Ø—[’[ ­#¬)Ñ4Ô4ˆŒ
Ø�u‰wŒwŒ Ð0¨Ð0Ð0Ð0r   c                 ón  — || j         j                 }|d         }i }| j        j        }	 | j         j                             t          ¦  «         d |t          <   n# t          j        $ r Y nw xY w	 |d         �rëi }t          | j
        d¦  «        r | j
                             ¦   «         st          ‚t          |¬¦  «        }|r6|                      |||¦  «        }	|	r| j                             |	¦  «         d }n%|dk    rt#          dt%          |¦  «        z  ¦  «        ‚|€q|                      | j        |¦  «        }
|                      | j        |
|¦  «        }|r6|                      |||¦  «        }	|	r| j                             |	¦  «         d }Œq|®q||| j         j        <   | j        j        r| j        j                             |¦  «        n||| j         j        <   | j         j        D �]/}| j         j                             |¦  «        }||         ||<   ||         �|                     ||         d ¦  «        ||<   ||         €—|                      |¦  «        }
|                      ||
¦  «        }|||<   |j        rX|rV|                     ¦   «         s d ||<   | j                             d¦  «         Œud„ |                     d	¦  «        D ¦   «         ||<   ||         ®—|j        s||         ||<   |j        r#|j                             ||         ¦  «        ||<   �Œ1t          |v �rB|t                   �€4t;          j        ¦   «         }t;          j        d
¦  «        }||k    r| j                             d¦  «         Œ`|                     ¦   «         dk    r| j                             d¦  «         Œ“	 t=          | | j         di |¤Ž¦  «         n{# t          j        $ ri}| j                             d                      |j!        ¦  «        ¦  «         tE          d¦  «        }| #                    ¦   «         dk    rY d }~�ŒY d }~nd }~ww xY w||t          <   t          |v r|t                   �®4�nât          |v r(dtH          j%        v rtH          j%        d         |t          <   |€>tH          j%         &                    d| j         j         '                    ¦   «         z   ¦  «        }|€t#          d| j         j        z  ¦  «        ‚|                      |||¦  «        }	|	rt#          |	¦  «        ‚||| j         j        <   | j         j        D �]}d| '                    ¦   «         z   }||         ptH          j%         &                    |¦  «        }| j         j                             |¦  «        }|sI|j(        r0||         dk    s#tH          j%         &                    |¦  «        dk    rŒ™t#          d|z  ¦  «        ‚|                     |d ¦  «        ||<   |j        rCtS          ||         tT          ¦  «        r(d„ ||                              d	¦  «        D ¦   «         ||<   �Œ | j         j+         ,                    |¦  «        j-        di |¤Ž |d         dk    r| j.                             d¦  «         d S d S # t^          $ r2 | j                             d¦  «         ta          j1        d¦  «         Y d S t          j        $ r,}t#          d                      |j!        ¦  «        ¦  «        ‚d }~wt          $ r | j.                             d¦  «         Y d S w xY w)NÚdatabaser)   Úisatty)r@   Ú ú%s cannot be blank.z"Error: This field cannot be blank.c                 ó6   — g | ]}|                      ¦   «         ‘ŒS r   ©Ústrip©Ú.0Úpks     r   ú
<listcomp>z"Command.handle.<locals>.<listcomp>    s-   € ð 5ð 5ð 5Ø/1 §¢¡
¤
ð5ð 5ð 5r   ú,zPassword (again): z#Error: Your passwords didn't match.z&Error: Blank passwords aren't allowed.ú
z:Bypass password validation and create user anyway? [y/N]: ÚyÚDJANGO_SUPERUSER_PASSWORDÚDJANGO_SUPERUSER_z!You must use --%s with --noinput.c                 ó6   — g | ]}|                      ¦   «         ‘ŒS r   rE   rG   s     r   rJ   z"Command.handle.<locals>.<listcomp>ë   s-   € ð 1ð 1ð 1Ø+-˜BŸHšH™JœJð1ð 1ð 1r   Ú	verbosityé   zSuperuser created successfully.z
Operation cancelled.ú; z‡Superuser creation skipped due to not running in a TTY. You can run `manage.py createsuperuser` in your project to create one manually.r   )2r   r    r!   Úverbose_namer   r   ÚPASSWORD_FIELDr   ÚFieldDoesNotExistÚhasattrr   rA   r   r   Ú_validate_usernameÚstderrÚwriter   r   Ú_get_input_messageÚget_input_datar3   Úmodelr1   Úcleanr2   rF   ÚsplitÚmany_to_oneÚgetpassr   ÚValidationErrorÚjoinÚmessagesÚinputÚlowerÚosÚenvironr;   ÚupperÚblankÚ
isinstanceÚstrÚ_default_managerÚ
db_managerÚcreate_superuserÚstdoutÚKeyboardInterruptr<   Úexit)r"   r#   r>   Úusernamer@   Ú	user_dataÚverbose_field_nameÚfake_user_dataÚdefault_usernameÚ	error_msgÚmessager7   r8   Úinput_valuer   Ú	password2ÚerrÚresponseÚenv_varÚvalueÚes                        r   ÚhandlezCommand.handle\   s=  € Ø˜4œ>Ô8Ô9ˆØ˜:Ô&ˆØˆ	Ø!Ô0Ô=Ðð	-ØŒNÔ ×*Ò*­>Ñ:Ô:Ð:ð
 )-ˆI•nÑ%Ð%øõ	 Ô+ð 	ð 	ð 	ØˆDð	øøøð
V	Ø�}Ô%ñ Dð "$�Ý˜4œ: xÑ0Ô0ð 3¸¼×9JÒ9JÑ9LÔ9Lð 3Ý2Ð2Ý#7ÀÐ#JÑ#JÔ#JÐ Øð 
Ø $× 7Ò 7Ø Ð"4°hñ!ô !�Ið !ð (Øœ×)Ò)¨)Ñ4Ô4Ð4Ø#'˜øØ ’^�^Ý&Ø-µÐ9KÑ0LÔ0LÑLñô ð ð Ð&Ø"×5Ò5ØÔ+Ð-=ñô �Gð  $×2Ò2ØÔ+¨WÐ6Fñ ô  �Hð  ð %Ø$(×$;Ò$;Ø$Ð&8¸(ñ%ô %˜	ð %ð %Ø œK×-Ò-¨iÑ8Ô8Ð8Ø'+˜HØ$ð Ð&ð <D�	˜$œ.Ô7Ñ8ð Ô*Ô7ð"�DÔ'Ô4×:Ò:¸8ÑDÔDÐDà!ð ˜tœ~Ô<Ñ=ð #'¤.Ô"@ð ñ �JØ œNÔ0×:Ò:¸:ÑFÔF�EØ,3°JÔ,?�I˜jÑ)Ø  Ô,Ð8Ø05·²¸IÀjÔ<QÐSWÑ0XÔ0X˜	 *Ñ-Ø# JÔ/Ð7Ø"&×"9Ò"9¸%Ñ"@Ô"@˜Ø&*×&9Ò&9¸%ÀÑ&IÔ&I˜Ø0;˜	 *Ñ-Ø Ô-ð °+ð Ø#.×#4Ò#4Ñ#6Ô#6ð )Ø8< 	¨*Ñ 5Ø $¤× 1Ò 1Ð2VÑ WÔ WÐ WØ (ð5ð 5Ø5@×5FÒ5FÀsÑ5KÔ5Kð5ñ 5ô 5˜I jÑ1ð $ JÔ/Ð7ð !Ô-ð KØ5>¸zÔ5J˜ zÑ2àÔ(ð Ø5:Ô5G×5MÒ5MØ% jÔ1ñ6ô 6˜ zÑ2ùõ
 %¨	Ð1Ñ1°iÅÔ6OÑ6WÝ&œÑ0Ô0�HÝ '¤Ð0DÑ EÔ E�IØ 9Ò,Ð,Øœ×)Ò)Ð*OÑPÔPÐPà Ø—~’~Ñ'Ô'¨2Ò-Ð-Øœ×)Ò)Ð*RÑSÔSÐSà ð%Ý)¨)°^°T´^Ð5UÐ5UÀnÐ5UÐ5UÑVÔVÐVÐVøÝ%Ô5ð %ð %ð %Øœ×)Ò)¨$¯)ª)°C´LÑ*AÔ*AÑBÔBÐBÝ#(ØXñ$ô $˜ð $Ÿ>š>Ñ+Ô+¨sÒ2Ð2Ø$˜H˜H˜H™Hð 3Ð2Ð2Ð2Ð2øøøøð%øøøð 19�I�nÑ-õ) %¨	Ð1Ð1°iÅÔ6OÑ6Wùõ2 # iÐ/Ð/Ø3µr´zÐAÐAå02´
Ð;VÔ0W�I�nÑ-ð Ð#Ý!œzŸ~š~Ø+¨d¬nÔ.K×.QÒ.QÑ.SÔ.SÑSñ ô  �Hð Ð#Ý&Ø;Øœ.Ô7ñ8ñô ð ð
 !%× 7Ò 7Ø Ð"4°hñ!ô !�Ið !ð 6Ý*¨9Ñ5Ô5Ð5à;C�	˜$œ.Ô7Ñ8Ø"&¤.Ô"@ð ñ �JØ1°J×4DÒ4DÑ4FÔ4FÑF�GØ# JÔ/ÐJµ2´:·>²>À'Ñ3JÔ3J�EØ œNÔ0×:Ò:¸:ÑFÔF�EØ ð Ø œ;ð %Ø# JÔ/°2Ò5Ð5½¼¿ºÈÑ9PÔ9PÐTVÒ9VÐ9Và$Ý*Ø?À*ÑLñô ð ð -2¯KªK¸¸tÑ,DÔ,D�I˜jÑ)ØÔ)ð ­j¸À:Ô9NÕPSÑ.TÔ.Tð ð1ð 1Ø1:¸:Ô1F×1LÒ1LÈSÑ1QÔ1Qð1ñ 1ô 1˜	 *Ñ-ùð RˆDŒNÔ+×6Ò6°xÑ@Ô@ÔQð ð Øðð ð ð �{Ô# qÒ(Ð(Ø”×!Ò!Ð"CÑDÔDÐDÐDÐDð )Ð(øå ð 	ð 	ð 	ØŒK×ÒÐ6Ñ7Ô7Ð7ÝŒH�Q‰KŒKˆKˆKˆKˆKÝÔ)ð 	6ð 	6ð 	6Ý˜tŸyšy¨¬Ñ4Ô4Ñ5Ô5Ð5øøøøÝ'ð 	ð 	ð 	ØŒK×Òð*ñô ð ð ð ð ð	øøøsb   ª$A ÁA+Á*A+Á/L9Z Î)O ÏZ ÏP=ÏAP8Ð-Z Ð8P=Ð=IZ Ú8\4Û\4Û"'\	Ü	'\4Ü3\4Nc                 ó  — t          |¦  «        }|r|dk    r|}	 |                     |d¦  «        }nS# t          j        $ rA}| j                             dd                     |j        ¦  «        z  ¦  «         d}Y d}~nd}~ww xY w|S )zm
        Override this method if you want to customize data inputs or
        validation exceptions.
        rB   Nz	Error: %srS   )re   r^   r   rb   rY   rZ   rc   rd   )r"   r8   ry   r,   Ú	raw_valueÚvalr€   s          r   r\   zCommand.get_input_data   sŸ   € õ
 ˜'‘N”Nˆ	Øð 	 �y B’�ØˆIð	Ø—+’+˜i¨Ñ.Ô.ˆCˆCøÝÔ)ð 	ð 	ð 	ØŒK×Ò˜k¨D¯IªI°a´jÑ,AÔ,AÑAÑBÔBÐBØˆCˆCˆCˆCˆCˆCøøøøð	øøøð ˆ
s   ›2 ²BÁ7A=Á=Bc                 óØ   — t          |j        ¦  «        ›|rd|z  nd›|j        rBd|j        j        j        j        ›d|j        r|                     ¦   «         n|j        j        ›d�nd›d�S )Nz (leave blank to use '%s')rB   z (ú.ú)z: )	r   rT   r3   r]   r   Úobject_namer2   Úm2m_target_field_namer7   )r"   r8   r,   s      r   r[   zCommand._get_input_message  s¤   € å�UÔ'Ñ(Ô(Ð(Ø6=ÐEÐ(¨7Ñ2Ð2À2ÐEð Ô%ð
ð 
àÔ&Ô,Ô2Ô>Ð>Ð>ð !Ô-ð;˜×3Ò3Ñ5Ô5Ð5à"Ô/Ô:ð;ð ;ð	ð ð ð
ð 
ð	
ð 	
r   c                 ót   ‡ — ‰ j         j        rdS t          ˆ fd„‰ j        j        j        D ¦   «         ¦  «        S )NTc              3   ó~   •K  — | ]7}t          |j        ¦  «        d k    o|j        d         ‰j        j        k    V — Œ8dS )rR   r   N)ÚlenÚfieldsr!   Úname)rH   Úunique_constraintr"   s     €r   ú	<genexpr>z-Command.username_is_unique.<locals>.<genexpr>'  sf   øè è € ð 
ð 
ð "õ Ð!Ô(Ñ)Ô)¨QÒ.ð HØ!Ô(¨Ô+¨tÔ/BÔ/GÒGð
ð 
ð 
ð 
ð 
ð 
r   )r!   ÚuniqueÚanyr   r   Útotal_unique_constraints)r"   s   `r   Úusername_is_uniquezCommand.username_is_unique#  sX   ø€ àÔÔ%ð 	Ø�4Ýð 
ð 
ð 
ð 
ð &*¤^Ô%9Ô%Rð
ñ 
ô 
ñ 
ô 
ð 	
r   c                 óz  — | j         rM	 | j        j                             |¦  «                             |¦  «         d|z  S # | j        j        $ r Y nw xY w|sdt          |¦  «        z  S 	 | j                             |d¦  «         dS # t          j
        $ r$}d                     |j        ¦  «        cY d}~S d}~ww xY w)z=Validate username. If invalid, return a string error message.z Error: That %s is already taken.rC   NrS   )r”   r   rm   rn   Úget_by_natural_keyÚDoesNotExistr   r!   r^   r   rb   rc   rd   )r"   rs   ru   r@   r€   s        r   rX   zCommand._validate_username-  sÿ   € àÔ"ð 	OðOØ”Ô/×:Ò:¸8ÑDÔD×WÒWØñô ð ð :Ð<NÑNÐNøð ”>Ô.ð ð ð Ø�ðøøøð ð 	HØ(­8Ð4FÑ+GÔ+GÑGÐGð	)ØÔ×%Ò% h°Ñ5Ô5Ð5Ð5Ð5øÝÔ)ð 	)ð 	)ð 	)Ø—9’9˜QœZÑ(Ô(Ð(Ð(Ð(Ð(Ð(Ð(øøøøð	)øøøs/   ‰2A  Á AÁAÁ*B ÂB:ÂB5Â/B:Â5B:r   )r   r   r   r'   Úrequires_migrations_checksÚstealth_optionsr   r9   r=   r�   r\   r[   r   r”   rX   Ú__classcell__)r%   s   @r   r   r      sÖ   ø€ € € € € Ø(€DØ!%ÐØ €Oð
ð 
ð 
ð 
ð 
ð0ð 0ð 0ðd1ð 1ð 1ð 1ð 1ðbð bð bðHð ð ð ð 
ð 
ð 
ð 
ð& ð
ð 
ñ „_ð
ð)ð )ð )ð )ð )ð )ð )r   r   )Ú__doc__ra   rg   r<   Údjango.contrib.authr   Údjango.contrib.auth.managementr   Ú'django.contrib.auth.password_validationr   Údjango.corer   Údjango.core.management.baser   r   Ú	django.dbr	   r
   Údjango.utils.functionalr   Údjango.utils.textr   Ú	Exceptionr   rU   r   r   r   r   ú<module>r¥      s7  ððð ð €€€Ø 	€	€	€	Ø 
€
€
€
à .Ð .Ð .Ð .Ð .Ð .Ø ?Ð ?Ð ?Ð ?Ð ?Ð ?Ø EÐ EÐ EÐ EÐ EÐ EØ "Ð "Ð "Ð "Ð "Ð "Ø AÐ AÐ AÐ AÐ AÐ AÐ AÐ AØ 3Ð 3Ð 3Ð 3Ð 3Ð 3Ð 3Ð 3Ø 3Ð 3Ð 3Ð 3Ð 3Ð 3Ø &Ð &Ð &Ð &Ð &Ð &ð	ð 	ð 	ð 	ð 	˜yñ 	ô 	ð 	ð €ðc)ð c)ð c)ð c)ð c)ˆkñ c)ô c)ð c)ð c)ð c)r   