Ë
    ö%9jõC  ã                   óŽ   — d Z ddlZddlZddlmZ d„ Z G d„ d«      Z G d„ d«      Z G d	„ d
«      Z G d„ d«      Z	 G d„ d«      Z
y)z Firebase user import sub module.é    N)Ú_auth_utilsc                 óH   — t        j                  | «      j                  «       S ©N)Úbase64Úurlsafe_b64encodeÚdecode)Úbytes_values    úW/var/www/html/truck-me/venv/lib/python3.12/site-packages/firebase_admin/_user_import.pyÚ
b64_encoder      s   € Ü×#Ñ# KÓ0×7Ñ7Ó9Ð9ó    c                   ó"  — e Zd ZdZdd„Zed„ «       Zej                  d„ «       Zed„ «       Zej                  d„ «       Zed„ «       Z	e	j                  d	„ «       Z	ed
„ «       Z
e
j                  d„ «       Z
ed„ «       Zej                  d„ «       Zd„ Zy)ÚUserProvideraD  Represents a user identity provider that can be associated with a Firebase user.

    One or more providers can be specified in an ``ImportUserRecord`` when importing users via
    ``auth.import_users()``.

    Args:
        uid: User's unique ID assigned by the identity provider.
        provider_id: ID of the identity provider. This can be a short domain name or the identifier
            of an OpenID identity provider.
        email: User's email address (optional).
        display_name: User's display name (optional).
        photo_url: User's photo URL (optional).
    Nc                 óJ   — || _         || _        || _        || _        || _        y r   )ÚuidÚprovider_idÚemailÚdisplay_nameÚ	photo_url)Úselfr   r   r   r   r   s         r
   Ú__init__zUserProvider.__init__*   s'   € ØˆŒØ&ˆÔØˆŒ
Ø(ˆÔØ"ˆ�r   c                 ó   — | j                   S r   ©Ú_uid©r   s    r
   r   zUserProvider.uid1   ó   € à�y‰yÐr   c                 ó<   — t        j                  |d¬«      | _        y ©NT©Úrequired©r   Úvalidate_uidr   ©r   r   s     r
   r   zUserProvider.uid5   ó   € ä×,Ñ,¨S¸4Ô@ˆ�	r   c                 ó   — | j                   S r   )Ú_provider_idr   s    r
   r   zUserProvider.provider_id9   s   € à× Ñ Ð r   c                 ó<   — t        j                  |d¬«      | _        y r   )r   Úvalidate_provider_idr%   )r   r   s     r
   r   zUserProvider.provider_id=   s   € ä'×<Ñ<¸[ÐSWÔXˆÕr   c                 ó   — | j                   S r   ©Ú_emailr   s    r
   r   zUserProvider.emailA   ó   € à�{‰{Ðr   c                 ó8   — t        j                  |«      | _        y r   ©r   Úvalidate_emailr*   ©r   r   s     r
   r   zUserProvider.emailE   ó   € ä!×0Ñ0°Ó7ˆ�r   c                 ó   — | j                   S r   ©Ú_display_namer   s    r
   r   zUserProvider.display_nameI   ó   € à×!Ñ!Ð!r   c                 ó8   — t        j                  |«      | _        y r   ©r   Úvalidate_display_namer3   ©r   r   s     r
   r   zUserProvider.display_nameM   ó   € ä(×>Ñ>¸|ÓLˆÕr   c                 ó   — | j                   S r   ©Ú
_photo_urlr   s    r
   r   zUserProvider.photo_urlQ   ó   € à�‰Ðr   c                 ó8   — t        j                  |«      | _        y r   ©r   Úvalidate_photo_urlr<   ©r   r   s     r
   r   zUserProvider.photo_urlU   ó   € ä%×8Ñ8¸ÓCˆ�r   c                 óÐ   — | j                   | j                  | j                  | j                  | j                  dœ}|j                  «       D ��ci c]  \  }}|€Œ	||“Œ c}}S c c}}w )N)ÚrawIdÚ
providerIdÚdisplayNamer   ÚphotoUrl)r   r   r   r   r   Úitems)r   ÚpayloadÚkÚvs       r
   Úto_dictzUserProvider.to_dictY   sX   € à—X‘XØ×*Ñ*Ø×,Ñ,Ø—Z‘ZØŸ™ñ
ˆð ")§¡£×B™˜˜A°A±M��1‘ÓBÐBùÓBs   Á
A"ÁA")NNN)Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   Úpropertyr   Úsetterr   r   r   r   rL   © r   r
   r   r      sü   „ ñó#ð ñó ðð 	‡Z�ZñAó ðAð ñ!ó ð!ð ×ÑñYó ðYð ñó ðð ‡\�\ñ8ó ð8ð ñ"ó ð"ð ×ÑñMó ðMð ñó ðð ×ÑñDó ðDóCr   r   c                   ó,  — e Zd ZdZ	 	 	 dd„Zed„ «       Zej                  d„ «       Zed„ «       Zej                  d„ «       Zed„ «       Z	e	j                  d	„ «       Z	ed
„ «       Z
e
j                  d„ «       Z
ed„ «       Zej                  d„ «       Zed„ «       Zej                  d„ «       Zed„ «       Zej                  d„ «       Zed„ «       Zej                  d„ «       Zed„ «       Zej                  d„ «       Zed„ «       Zej                  d„ «       Zd„ Zy)ÚImportUserRecordar  Represents a user account to be imported to Firebase Auth.

    Must specify the ``uid`` field at a minimum. A sequence of ``ImportUserRecord`` objects can be
    passed to the ``auth.import_users()`` function, in order to import those users into Firebase
    Auth in bulk. If the ``password_hash`` is set on a user, a hash configuration must be
    specified when calling ``import_users()``.

    Args:
        uid: User's unique ID. Must be a non-empty string not longer than 128 characters.
        email: User's email address (optional).
        email_verified: A boolean indicating whether the user's email has been verified (optional).
        display_name: User's display name (optional).
        phone_number: User's phone number (optional).
        photo_url: User's photo URL (optional).
        disabled: A boolean indicating whether this user account has been disabled (optional).
        user_metadata: An ``auth.UserMetadata`` instance with additional user metadata (optional).
        provider_data: A list of ``auth.UserProvider`` instances (optional).
        custom_claims: A ``dict`` of custom claims to be set on the user account (optional).
        password_hash: User's password hash as a ``bytes`` sequence (optional).
        password_salt: User's password salt as a ``bytes`` sequence (optional).

    Raises:
        ValueError: If provided arguments are invalid.
    Nc                 ó¬   — || _         || _        || _        || _        || _        || _        || _        || _        || _        || _	        |	| _
        |
| _        y r   )r   r   r   Úphone_numberr   Úpassword_hashÚpassword_saltÚemail_verifiedÚdisabledÚuser_metadataÚprovider_dataÚcustom_claims)r   r   r   rZ   r   rW   r   r[   r\   r]   r^   rX   rY   s                r
   r   zImportUserRecord.__init__~   s`   € ð ˆŒØˆŒ
Ø(ˆÔØ(ˆÔØ"ˆŒØ*ˆÔØ*ˆÔØ,ˆÔØ ˆŒØ*ˆÔØ*ˆÔØ*ˆÕr   c                 ó   — | j                   S r   r   r   s    r
   r   zImportUserRecord.uidŽ   r   r   c                 ó<   — t        j                  |d¬«      | _        y r   r    r"   s     r
   r   zImportUserRecord.uid’   r#   r   c                 ó   — | j                   S r   r)   r   s    r
   r   zImportUserRecord.email–   r+   r   c                 ó8   — t        j                  |«      | _        y r   r-   r/   s     r
   r   zImportUserRecord.emailš   r0   r   c                 ó   — | j                   S r   r2   r   s    r
   r   zImportUserRecord.display_namež   r4   r   c                 ó8   — t        j                  |«      | _        y r   r6   r8   s     r
   r   zImportUserRecord.display_name¢   r9   r   c                 ó   — | j                   S r   )Ú_phone_numberr   s    r
   rW   zImportUserRecord.phone_number¦   r4   r   c                 ó8   — t        j                  |«      | _        y r   )r   Úvalidate_phonerf   )r   rW   s     r
   rW   zImportUserRecord.phone_numberª   s   € ä(×7Ñ7¸ÓEˆÕr   c                 ó   — | j                   S r   r;   r   s    r
   r   zImportUserRecord.photo_url®   r=   r   c                 ó8   — t        j                  |«      | _        y r   r?   rA   s     r
   r   zImportUserRecord.photo_url²   rB   r   c                 ó   — | j                   S r   )Ú_password_hashr   s    r
   rX   zImportUserRecord.password_hash¶   ó   € à×"Ñ"Ð"r   c                 ó:   — t        j                  |d«      | _        y )NrX   )r   Úvalidate_bytesrl   )r   rX   s     r
   rX   zImportUserRecord.password_hashº   ó   € ä)×8Ñ8¸ÈÓXˆÕr   c                 ó   — | j                   S r   )Ú_password_saltr   s    r
   rY   zImportUserRecord.password_salt¾   rm   r   c                 ó:   — t        j                  |d«      | _        y )NrY   )r   ro   rr   )r   rY   s     r
   rY   zImportUserRecord.password_saltÂ   rp   r   c                 ó   — | j                   S r   )Ú_user_metadatar   s    r
   r\   zImportUserRecord.user_metadataÆ   rm   r   c                 ó¾   — |�|j                   nd }|�|j                  nd }t        j                  |d«      | _        t        j                  |d«      | _        || _        y )NÚcreation_timestampÚlast_sign_in_timestamp)rw   rx   r   Úvalidate_timestampÚ_created_atÚ_last_login_atru   )r   r\   Ú
created_atÚlast_login_ats       r
   r\   zImportUserRecord.user_metadataÊ   s_   € à9FÐ9R�]×5Ò5ÐX\ˆ
Ø@MÐ@Y˜×<Ò<Ð_cˆÜ&×9Ñ9¸*ÐFZÓ[ˆÔÜ)×<Ñ<ØÐ3ó5ˆÔà+ˆÕr   c                 ó   — | j                   S r   )Ú_provider_datar   s    r
   r]   zImportUserRecord.provider_dataÓ   rm   r   c           	      óÊ   — |�=	 t        |D �cg c]  }t        |t        «       ‘Œ c}«      rt        d«      ‚	 || _        y || _        y c c}w # t        $ r t        d«      ‚w xY w)Nz0One or more provider data instances are invalid.zprovider_data must be iterable.)ÚanyÚ
isinstancer   Ú
ValueErrorÚ	TypeErrorr   )r   r]   Úps      r
   r]   zImportUserRecord.provider_data×   sq   € àÐ$ðDÜÀÖO¸AœJ q¬,Ó7Ò7ÒOÔPÜ$Ð%WÓXÐXð Qð ,ˆÕ˜mˆÕùò	 Pøäò DÜ Ð!BÓCÐCðDús   „	A �A¥A ÁA ÁA"c                 ó   — | j                   S r   )Ú_custom_claimsr   s    r
   r^   zImportUserRecord.custom_claimsá   rm   r   c                 ó”   — t        |t        «      rt        j                  |«      n|}t	        j
                  |«      | _        || _        y r   )r‚   ÚdictÚjsonÚdumpsr   Úvalidate_custom_claimsÚ_custom_claims_strr‡   )r   r^   Újson_claimss      r
   r^   zImportUserRecord.custom_claimså   s=   € ä3=Øœ4ô4!”d—j‘j Ô/Ø&3ð 	ä"-×"DÑ"DÀ[Ó"QˆÔØ+ˆÕr   c                 óš  — | j                   | j                  | j                  | j                  | j                  | j
                  �t        | j
                  «      nd| j                  �t        | j                  «      nd| j                  | j                  | j                  | j                  rt        | j                  «      nd| j                  rt        | j                  «      nddœ}| j                  r+| j                  D �cg c]  }|j                  «       ‘Œ c}|d<   |j!                  «       D ��ci c]  \  }}|€Œ	||“Œ c}}S c c}w c c}}w )zAReturns a dict representation of the user. For internal use only.N)ÚlocalIdr   rF   ÚphoneNumberrG   ÚemailVerifiedr[   ÚcustomAttributesÚ	createdAtÚlastLoginAtÚpasswordHashÚsaltÚproviderUserInfo)r   r   r   rW   r   rZ   Úboolr[   r�   rz   r{   rX   r   rY   r]   rL   rH   )r   rI   r…   rJ   rK   s        r
   rL   zImportUserRecord.to_dictì   s  € ð —x‘xØ—Z‘ZØ×,Ñ,Ø×,Ñ,ØŸ™à!%×!4Ñ!4Ð!@ô # 4×#6Ñ#6Ô7ØFJØ/3¯}©}Ð/Hœ˜TŸ]™]Ô+ÈdØ $× 7Ñ 7Ø×)Ñ)Ø×.Ñ.Ø>B×>PÒ>PœJ t×'9Ñ'9Ô:ÐVZØ6:×6HÒ6H”J˜t×1Ñ1Ô2Èdñ
ˆð ×ÒØ@D×@RÑ@RÖ*S¸1¨1¯9©9­;Ò*SˆGÐ&Ñ'Ø!(§¡£×B™˜˜A°A±M��1‘ÓBÐBùò +TùÛBs   Ã>EÄ.
EÄ9E)NNNNNNNNNNN)rM   rN   rO   rP   r   rQ   r   rR   r   r   rW   r   rX   rY   r\   r]   r^   rL   rS   r   r
   rU   rU   d   só  „ ñð2 ^bØRVØGKó+ð  ñó ðð 	‡Z�ZñAó ðAð ñó ðð ‡\�\ñ8ó ð8ð ñ"ó ð"ð ×ÑñMó ðMð ñ"ó ð"ð ×ÑñFó ðFð ñó ðð ×ÑñDó ðDð ñ#ó ð#ð ×ÑñYó ðYð ñ#ó ð#ð ×ÑñYó ðYð ñ#ó ð#ð ×Ññ,ó ð,ð ñ#ó ð#ð ×Ññ,ó ð,ð ñ#ó ð#ð ×Ññ,ó ð,óCr   rU   c                   ó   — e Zd ZdZd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d„«       Zed„ «       Zed„ «       Zy)ÚUserImportHasha‰  Represents a hash algorithm used to hash user passwords.

    An instance of this class must be specified when importing users with passwords via the
    ``auth.import_users()`` API. Use one of the provided class methods to obtain new
    instances when required. Refer to `documentation`_ for more details.

    .. _documentation: https://firebase.google.com/docs/auth/admin/import-users
    Nc                 ó    — || _         || _        y r   )Ú_nameÚ_data)r   ÚnameÚdatas      r
   r   zUserImportHash.__init__  s   € ØˆŒ
Øˆ�
r   c                 óp   — d| j                   i}| j                  r|j                  | j                  «       |S )NÚhashAlgorithm)r�   rž   Úupdate)r   rI   s     r
   rL   zUserImportHash.to_dict  s,   € Ø" D§J¡JÐ/ˆØ�:Š:Ø�N‰N˜4Ÿ:™:Ô&Øˆr   c                 ó`   — dt        t        j                  |dd¬«      «      i}t        ||«      S )NÚ	signerKeyÚkeyTr   )r   r   ro   r›   )ÚclsrŸ   r¦   r    s       r
   Ú_hmaczUserImportHash._hmac  s4   € ð œ¤K×$>Ñ$>¸sÀEÐTXÔ$YÓZð
ˆô ˜d DÓ)Ð)r   c                 ó&   — | j                  d|«      S )z½Creates a new HMAC SHA512 algorithm instance.

        Args:
            key: Signer key as a byte sequence.

        Returns:
            UserImportHash: A new ``UserImportHash``.
        ÚHMAC_SHA512©r¨   ©r§   r¦   s     r
   Úhmac_sha512zUserImportHash.hmac_sha512  ó   € ð �y‰y˜¨Ó,Ð,r   c                 ó&   — | j                  d|«      S )z½Creates a new HMAC SHA256 algorithm instance.

        Args:
            key: Signer key as a byte sequence.

        Returns:
            UserImportHash: A new ``UserImportHash``.
        ÚHMAC_SHA256r«   r¬   s     r
   Úhmac_sha256zUserImportHash.hmac_sha256)  r®   r   c                 ó&   — | j                  d|«      S )z»Creates a new HMAC SHA1 algorithm instance.

        Args:
            key: Signer key as a byte sequence.

        Returns:
            UserImportHash: A new ``UserImportHash``.
        Ú	HMAC_SHA1r«   r¬   s     r
   Ú	hmac_sha1zUserImportHash.hmac_sha15  s   € ð �y‰y˜ cÓ*Ð*r   c                 ó&   — | j                  d|«      S )zºCreates a new HMAC MD5 algorithm instance.

        Args:
            key: Signer key as a byte sequence.

        Returns:
            UserImportHash: A new ``UserImportHash``.
        ÚHMAC_MD5r«   r¬   s     r
   Úhmac_md5zUserImportHash.hmac_md5A  s   € ð �y‰y˜ SÓ)Ð)r   c           
      óJ   — t        ddt        j                  |ddd«      i«      S )zÒCreates a new MD5 algorithm instance.

        Args:
            rounds: Number of rounds. Must be an integer between 0 and 8192.

        Returns:
            UserImportHash: A new ``UserImportHash``.
        ÚMD5Úroundsr   é    ©r›   r   Úvalidate_int©r§   rº   s     r
   Úmd5zUserImportHash.md5M  s/   € ô ØØ”{×/Ñ/°¸À!ÀTÓJÐKóMð 	Mr   c           
      óJ   — t        ddt        j                  |ddd«      i«      S )zÓCreates a new SHA1 algorithm instance.

        Args:
            rounds: Number of rounds. Must be an integer between 1 and 8192.

        Returns:
            UserImportHash: A new ``UserImportHash``.
        ÚSHA1rº   é   r»   r¼   r¾   s     r
   Úsha1zUserImportHash.sha1[  s/   € ô ØØ”{×/Ñ/°¸À!ÀTÓJÐKóMð 	Mr   c           
      óJ   — t        ddt        j                  |ddd«      i«      S )zÕCreates a new SHA256 algorithm instance.

        Args:
            rounds: Number of rounds. Must be an integer between 1 and 8192.

        Returns:
            UserImportHash: A new ``UserImportHash``.
        ÚSHA256rº   rÂ   r»   r¼   r¾   s     r
   Úsha256zUserImportHash.sha256i  ó/   € ô ØØ”{×/Ñ/°¸À!ÀTÓJÐKóMð 	Mr   c           
      óJ   — t        ddt        j                  |ddd«      i«      S )zÕCreates a new SHA512 algorithm instance.

        Args:
            rounds: Number of rounds. Must be an integer between 1 and 8192.

        Returns:
            UserImportHash: A new ``UserImportHash``.
        ÚSHA512rº   rÂ   r»   r¼   r¾   s     r
   Úsha512zUserImportHash.sha512w  rÇ   r   c           
      óJ   — t        ddt        j                  |ddd«      i«      S )zÛCreates a new PBKDF SHA1 algorithm instance.

        Args:
            rounds: Number of rounds. Must be an integer between 0 and 120000.

        Returns:
            UserImportHash: A new ``UserImportHash``.
        Ú
PBKDF_SHA1rº   r   éÀÔ r¼   r¾   s     r
   Ú
pbkdf_sha1zUserImportHash.pbkdf_sha1…  s/   € ô ØØ”{×/Ñ/°¸À!ÀVÓLÐMóOð 	Or   c           
      óJ   — t        ddt        j                  |ddd«      i«      S )zÞCreates a new PBKDF2 SHA256 algorithm instance.

        Args:
            rounds: Number of rounds. Must be an integer between 0 and 120000.

        Returns:
            UserImportHash: A new ``UserImportHash``.
        ÚPBKDF2_SHA256rº   r   rÍ   r¼   r¾   s     r
   Úpbkdf2_sha256zUserImportHash.pbkdf2_sha256“  s/   € ô ØØ”{×/Ñ/°¸À!ÀVÓLÐMóOð 	Or   c                 ó  — t        t        j                  |dd¬«      «      t        j                  |ddd«      t        j                  |ddd«      d	œ}|r"t        t        j                  |d
«      «      |d<   t	        d|«      S )a$  Creates a new Scrypt algorithm instance.

        This is the modified Scrypt algorithm used by Firebase Auth. See ``standard_scrypt()``
        function for the standard Scrypt algorith,

        Args:
            key: Signer key as a byte sequence.
            rounds: Number of rounds. Must be an integer between 1 and 8.
            memory_cost: Memory cost as an integer between 1 and 14.
            salt_separator: Salt separator as a byte sequence (optional).

        Returns:
            UserImportHash: A new ``UserImportHash``.
        r¦   Tr   rº   rÂ   é   Úmemory_costé   )r¥   rº   Ú
memoryCostÚsalt_separatorÚsaltSeparatorÚSCRYPT)r   r   ro   r½   r›   )r§   r¦   rº   rÔ   r×   r    s         r
   ÚscryptzUserImportHash.scrypt¡  s€   € ô" $¤K×$>Ñ$>¸sÀEÐTXÔ$YÓZÜ!×.Ñ.¨v°xÀÀAÓFÜ%×2Ñ2°;ÀÈqÐRTÓUñ
ˆñ
 Ü$.¬{×/IÑ/IØÐ 0ó02ó %3ˆD�Ñ!ä˜h¨Ó-Ð-r   c                 ó   — t        d«      S )zyCreates a new Bcrypt algorithm instance.

        Returns:
            UserImportHash: A new ``UserImportHash``.
        ÚBCRYPT)r›   )r§   s    r
   ÚbcryptzUserImportHash.bcrypt»  s   € ô ˜hÓ'Ð'r   c                 óØ   — t        j                  |dd¬«      t        j                  |dd¬«      t        j                  |dd¬«      t        j                  |dd¬«      dœ}t        d|«      S )	a©  Creates a new standard Scrypt algorithm instance.

        Args:
            memory_cost: CPU Memory cost as a non-negative integer.
            parallelization: Parallelization as a non-negative integer.
            block_size: Block size as a non-negative integer.
            derived_key_length: Derived key length as a non-negative integer.

        Returns:
            UserImportHash: A new ``UserImportHash``.
        rÔ   r   )ÚlowÚparallelizationÚ
block_sizeÚderived_key_length)Ú
cpuMemCostrà   Ú	blockSizeÚdkLenÚSTANDARD_SCRYPT)r   r½   r›   )r§   rÔ   rà   rá   râ   r    s         r
   Ústandard_scryptzUserImportHash.standard_scryptÄ  sj   € ô &×2Ñ2°;ÀÐSTÔUÜ*×7Ñ7¸ÐIZÐ`aÔbÜ$×1Ñ1°*¸lÐPQÔRÜ ×-Ñ-Ð.@ÐBVÐ\]Ô^ñ	
ˆô Ð/°Ó6Ð6r   r   )rM   rN   rO   rP   r   rL   Úclassmethodr¨   r­   r±   r´   r·   r¿   rÃ   rÆ   rÊ   rÎ   rÑ   rÚ   rÝ   rç   rS   r   r
   r›   r›     s5  „ ñóòð ñ*ó ð*ð ñ	-ó ð	-ð ñ	-ó ð	-ð ñ	+ó ð	+ð ñ	*ó ð	*ð ñMó ðMð ñMó ðMð ñMó ðMð ñMó ðMð ñOó ðOð ñOó ðOð ò.ó ð.ð2 ñ(ó ð(ð ñ7ó ñ7r   r›   c                   ó6   — e Zd ZdZd„ Zed„ «       Zed„ «       Zy)Ú	ErrorInfoz‡Represents an error encountered while performing a batch operation such
    as importing users or deleting multiple user accounts.
    c                 ó,   — |d   | _         |d   | _        y )NÚindexÚmessage)Ú_indexÚ_reason)r   Úerrors     r
   r   zErrorInfo.__init__â  s   € Ø˜G‘nˆŒØ˜YÑ'ˆ�r   c                 ó   — | j                   S r   )rî   r   s    r
   rì   zErrorInfo.indexæ  r+   r   c                 ó   — | j                   S r   )rï   r   s    r
   ÚreasonzErrorInfo.reasonê  s   € à�|‰|Ðr   N)rM   rN   rO   rP   r   rQ   rì   ró   rS   r   r
   rê   rê   Ú  s4   „ ñò(ð ñó ðð ñó ñr   rê   c                   óF   — e Zd ZdZd„ Zed„ «       Zed„ «       Zed„ «       Zy)ÚUserImportResultzrRepresents the result of a bulk user import operation.

    See ``auth.import_users()`` API for more details.
    c                 ó´   — |j                  dg «      }|t        |«      z
  | _        t        |«      | _        |D �cg c]  }t	        |«      ‘Œ c}| _        y c c}w )Nrð   )ÚgetÚlenÚ_success_countÚ_failure_countrê   Ú_errors)r   ÚresultÚtotalÚerrorsÚerrs        r
   r   zUserImportResult.__init__õ  sH   € Ø—‘˜G RÓ(ˆØ#¤c¨&£kÑ1ˆÔÜ! &›kˆÔØ28Ö9¨3œ	 #�Ò9ˆ�ùÒ9s   ºAc                 ó   — | j                   S )z2Returns the number of users successfully imported.)rù   r   s    r
   Úsuccess_countzUserImportResult.success_countû  ó   € ð ×"Ñ"Ð"r   c                 ó   — | j                   S )z7Returns the number of users that failed to be imported.)rú   r   s    r
   Úfailure_countzUserImportResult.failure_count   r  r   c                 ó   — | j                   S )zQReturns a list of ``auth.ErrorInfo`` instances describing the errors encountered.)rû   r   s    r
   rþ   zUserImportResult.errors  s   € ð �|‰|Ðr   N)	rM   rN   rO   rP   r   rQ   r  r  rþ   rS   r   r
   rõ   rõ   ï  sH   „ ñò
:ð ñ#ó ð#ð ñ#ó ð#ð ñó ñr   rõ   )rP   r   rŠ   Úfirebase_adminr   r   r   rU   r›   rê   rõ   rS   r   r
   ú<module>r     sW   ðñ 'ã Û å &ò:÷FCñ FC÷R[Cñ [C÷|U7ñ U7÷pñ ÷*ò r   