§
    ôäMfÍ  ã                   ó|   — d dl mZmZmZmZmZ d dlmZ d dl	m
Z
 d dlmZ ddlmZ erddlmZ  G d„ d	¦  «        Zd
S )é    )ÚTYPE_CHECKINGÚAnyÚListÚOptionalÚUnion)Úmodels)ÚEmptyManager)Úcached_propertyé   )Úapi_settings)ÚTokenc                   óº  — e Zd ZdZdZ eej        ¦  «        Z eej	        ¦  «        Z
d'd„Zdefd„Zedeeef         fd	„¦   «         Zedeeef         fd
„¦   «         Zedefd„¦   «         Zedefd„¦   «         Zedefd„¦   «         Zdedefd„Zdedefd„Zdefd„Zd(d„Zd(d„Zdeddfd„Zdeddfd„Zedej        fd„¦   «         Z edej	        fd„¦   «         Z!d)de"e         de#fd„Z$d)de"e         de#fd„Z%d)dede"e         defd„Z&d)de'e         de"e         defd„Z(d edefd!„Z)edefd"„¦   «         Z*edefd#„¦   «         Z+defd$„Z,d%ede"e-         fd&„Z.dS )*Ú	TokenUseraÒ  
    A dummy user class modeled after django.contrib.auth.models.AnonymousUser.
    Used in conjunction with the `JWTStatelessUserAuthentication` backend to
    implement single sign-on functionality across services which share the same
    secret key.  `JWTStatelessUserAuthentication` will return an instance of this
    class instead of a `User` model instance.  Instances of this class act as
    stateless user objects which are backed by validated tokens.
    TÚtokenr   ÚreturnNc                 ó   — || _         d S ©N)r   )Úselfr   s     ú^C:\Users\psant\Downloads\sloar back\myenv\Lib\site-packages\rest_framework_simplejwt/models.pyÚ__init__zTokenUser.__init__   s   € ØˆŒ
ˆ
ˆ
ó    c                 ó   — d| j         › �S )Nz
TokenUser ©Úid©r   s    r   Ú__str__zTokenUser.__str__!   s   € Ø%˜DœGÐ%Ð%Ð%r   c                 ó0   — | j         t          j                 S r   )r   r   ÚUSER_ID_CLAIMr   s    r   r   zTokenUser.id$   s   € àŒz�,Ô4Ô5Ð5r   c                 ó   — | j         S r   r   r   s    r   ÚpkzTokenUser.pk(   s	   € àŒwˆr   c                 ó8   — | j                              dd¦  «        S )NÚusernameÚ ©r   Úgetr   s    r   r"   zTokenUser.username,   s   € àŒz�~Š~˜j¨"Ñ-Ô-Ð-r   c                 ó8   — | j                              dd¦  «        S )NÚis_staffFr$   r   s    r   r'   zTokenUser.is_staff0   s   € àŒz�~Š~˜j¨%Ñ0Ô0Ð0r   c                 ó8   — | j                              dd¦  «        S )NÚis_superuserFr$   r   s    r   r)   zTokenUser.is_superuser4   s   € àŒz�~Š~˜n¨eÑ4Ô4Ð4r   Úotherc                 óZ   — t          |t          ¦  «        st          S | j        |j        k    S r   )Ú
isinstancer   ÚNotImplementedr   ©r   r*   s     r   Ú__eq__zTokenUser.__eq__8   s)   € Ý˜%¥Ñ+Ô+ð 	"Ý!Ð!ØŒw˜%œ(Ò"Ð"r   c                 ó.   — |                       |¦  «         S r   )r/   r.   s     r   Ú__ne__zTokenUser.__ne__=   s   € Ø—;’;˜uÑ%Ô%Ð%Ð%r   c                 ó*   — t          | j        ¦  «        S r   )Úhashr   r   s    r   Ú__hash__zTokenUser.__hash__@   s   € Ý�D”G‰}Œ}Ðr   c                 ó    — t          d¦  «        ‚©Nz%Token users have no DB representation©ÚNotImplementedErrorr   s    r   ÚsavezTokenUser.saveC   ó   € Ý!Ð"IÑJÔJÐJr   c                 ó    — t          d¦  «        ‚r6   r7   r   s    r   ÚdeletezTokenUser.deleteF   r:   r   Úraw_passwordc                 ó    — t          d¦  «        ‚r6   r7   ©r   r=   s     r   Úset_passwordzTokenUser.set_passwordI   r:   r   c                 ó    — t          d¦  «        ‚r6   r7   r?   s     r   Úcheck_passwordzTokenUser.check_passwordL   r:   r   c                 ó   — | j         S r   )Ú_groupsr   s    r   ÚgroupszTokenUser.groupsO   s
   € àŒ|Ðr   c                 ó   — | j         S r   )Ú_user_permissionsr   s    r   Úuser_permissionszTokenUser.user_permissionsS   s   € àÔ%Ð%r   Úobjc                 ó   — t          ¦   «         S r   ©Úset©r   rI   s     r   Úget_group_permissionszTokenUser.get_group_permissionsW   ó   € Ý‰uŒuˆr   c                 ó   — t          ¦   «         S r   rK   rM   s     r   Úget_all_permissionszTokenUser.get_all_permissionsZ   rO   r   Úpermc                 ó   — dS ©NF© )r   rR   rI   s      r   Úhas_permzTokenUser.has_perm]   ó   € Øˆur   Ú	perm_listc                 ó   — dS rT   rU   )r   rX   rI   s      r   Ú	has_permszTokenUser.has_perms`   rW   r   Úmodulec                 ó   — dS rT   rU   )r   r[   s     r   Úhas_module_permszTokenUser.has_module_permsc   rW   r   c                 ó   — dS rT   rU   r   s    r   Úis_anonymouszTokenUser.is_anonymousf   s   € àˆur   c                 ó   — dS )NTrU   r   s    r   Úis_authenticatedzTokenUser.is_authenticatedj   s   € àˆtr   c                 ó   — | j         S r   )r"   r   s    r   Úget_usernamezTokenUser.get_usernamen   s
   € ØŒ}Ðr   Úattrc                 ó8   — | j                              |d¦  «        S )zVThis acts as a backup attribute getter for custom claims defined in Token serializers.Nr$   )r   rd   s     r   Ú__getattr__zTokenUser.__getattr__q   s   € àŒz�~Š~˜d DÑ)Ô)Ð)r   )r   r   r   N)r   Nr   )/Ú__name__Ú
__module__Ú__qualname__Ú__doc__Ú	is_activer	   Úauth_modelsÚGrouprD   Ú
PermissionrG   r   Ústrr   r
   r   Úintr   r    r"   Úboolr'   r)   Úobjectr/   r1   r4   r9   r<   r@   rB   ÚpropertyrE   rH   r   rL   rN   rQ   rV   r   rZ   r]   r_   ra   rc   r   rf   rU   r   r   r   r      sò  € € € € € ðð ð €Iàˆl˜;Ô,Ñ-Ô-€GØ$˜ [Ô%;Ñ<Ô<Ððð ð ð ð&˜ð &ð &ð &ð &ð ð6�E˜#˜s˜(”Oð 6ð 6ð 6ñ „_ð6ð ð�E˜#˜s˜(”Oð ð ð ñ „_ðð ð.˜#ð .ð .ð .ñ „_ð.ð ð1˜$ð 1ð 1ð 1ñ „_ð1ð ð5˜dð 5ð 5ð 5ñ „_ð5ð#˜Fð # tð #ð #ð #ð #ð
&˜Fð & tð &ð &ð &ð &ð˜#ð ð ð ð ðKð Kð Kð KðKð Kð Kð KðK¨ð K°ð Kð Kð Kð KðK¨3ð K°4ð Kð Kð Kð Kð ð˜Ô)ð ð ð ñ „Xðð ð& +Ô"8ð &ð &ð &ñ „Xð&ðð ¨°&Ô)9ð ÀSð ð ð ð ðð  x°Ô'7ð À3ð ð ð ð ðð ˜Sð  x°Ô'7ð À4ð ð ð ð ðð  4¨¤9ð °8¸FÔ3Cð Ètð ð ð ð ð sð ¨tð ð ð ð ð ð˜dð ð ð ñ „Xðð ð $ð ð ð ñ „Xðð˜cð ð ð ð ð* ð *¨°¬ð *ð *ð *ð *ð *ð *r   r   N)Útypingr   r   r   r   r   Údjango.contrib.authr   rl   Údjango.db.models.managerr	   Údjango.utils.functionalr
   Úsettingsr   Útokensr   r   rU   r   r   ú<module>rz      sÍ   ðØ <Ð <Ð <Ð <Ð <Ð <Ð <Ð <Ð <Ð <Ð <Ð <Ð <Ð <à 5Ð 5Ð 5Ð 5Ð 5Ð 5Ø 1Ð 1Ð 1Ð 1Ð 1Ð 1Ø 3Ð 3Ð 3Ð 3Ð 3Ð 3à "Ð "Ð "Ð "Ð "Ð "àð ØÐÐÐÐÐðf*ð f*ð f*ð f*ð f*ñ f*ô f*ð f*ð f*ð f*r   