§
    L˜ºhû   ã                   óD   — d Z ddlmZ ddlmZ d„ Z G d„ de¦  «        ZdS )z7Contains _ExtensionDict class to represent extensions.
é    )Útype_checkers)ÚFieldDescriptorc           	      óL  — t          |t          ¦  «        st          d|z  ¦  «        ‚|j        st          d|j        z  ¦  «        ‚|j        st          d|j        z  ¦  «        ‚|j        | j        ur2t          d|j        ›d|j        j        ›d| j        j        ›d�¦  «        ‚dS )	z0Verify that the given extension handle is valid.z3HasExtension() expects an extension handle, got: %sz"%s" is not an extension.z""%s" is missing a containing_type.zExtension "z" extends message type "z ", but this message is of type "z".N)Ú
isinstancer   ÚKeyErrorÚis_extensionÚ	full_nameÚcontaining_typeÚ
DESCRIPTOR)ÚmessageÚextension_handles     úo/var/www/html/services/rag-service/venv/lib/python3.11/site-packages/google/protobuf/internal/extension_dict.pyÚ_VerifyExtensionHandler   &   sä   € õ 
Ð$¥oÑ	6Ô	6ð %Ý
ÐHØ#ñ$ñ %ô %ð %ð 
Ô	&ð MÝ
Ð.Ð1AÔ1KÑKÑ
LÔ
LÐLà	Ô	)ð 1Ý
Ð7Ø%Ô/ñ0ñ 1ô 1ð 1ð Ô%¨WÔ-?Ð?Ð?Ý
ˆ(à$Ô.Ð.Ð.Ø$Ô4Ô>Ð>Ð>ØÔ&Ô0Ð0Ð0ð	2ñ 3ô 3ð 3ð @Ð?ó    c                   óZ   — e Zd ZdZd„ Zd„ Zd„ Zd„ Zd„ Zd„ Z	d„ Z
d	„ Zd
„ Zd„ Zd„ Zd„ ZdS )Ú_ExtensionDictz�Dict-like container for Extension fields on proto instances.

  Note that in all cases we expect extension handles to be
  FieldDescriptors.
  c                 ó   — || _         dS )z^
    Args:
      extended_message: Message instance for which we are the Extensions dict.
    N)Ú_extended_message)ÚselfÚextended_messages     r   Ú__init__z_ExtensionDict.__init__G   s   € ð
 .€DÔÐÐr   c                 óº  — t          | j        |¦  «         | j        j                             |¦  «        }|�|S |j        t
          j        k    r|                     | j        ¦  «        }nÒ|j        t
          j	        k    r¶|j
        }t          |d¦  «        s| j        j                             |¦  «         t          |j
        dd¦  «        s J d|j        ›d|j
        j        ›d�¦   «         ‚|j
                             ¦   «         }	 |                     | j        j        ¦  «         n# t&          $ r Y nw xY w|j        S | j        j                             ||¦  «        }|S )z8Returns the current value of the given extension handle.NÚ_concrete_classz-Uninitialized concrete class found for field z (message type ú))r   r   Ú_fieldsÚgetÚlabelr   ÚLABEL_REPEATEDÚ_default_constructorÚcpp_typeÚCPPTYPE_MESSAGEÚmessage_typeÚhasattrÚ_FACTORYÚGetPrototypeÚgetattrr	   r   Ú_SetListenerÚ_listener_for_childrenÚReferenceErrorÚdefault_valueÚ
setdefault)r   r   Úresultr"   s       r   Ú__getitem__z_ExtensionDict.__getitem__N   s‹  € õ ˜4Ô1Ð3CÑDÔDÐDàÔ#Ô+×/Ò/Ð0@ÑAÔA€FØÐØ€màÔ¥Ô!?Ò?Ð?Ø×4Ò4°TÔ5KÑLÔL€f€fØ	Ô	"¥oÔ&EÒ	EÐ	EØ%Ô2€lÝ�\Ð#4Ñ5Ô5ð CàÔÔ'×4Ò4°\ÑBÔBÐBÝÐ%Ô2Ð4EÀtÑLÔLð 7ð 7ð 7àÔ'Ð'Ð'ØÔ*Ô4Ð4Ð4ð6ñ7ô 7ð 7ð  Ô,×<Ò<Ñ>Ô>€fðØ×Ò˜DÔ2ÔIÑJÔJÐJÐJøÝð ð ð Øˆðøøøð
 Ô+Ð+ð Ô#Ô+×6Ò6Ø˜&ñ"ô "€Fð €Ms   ÄD$ Ä$
D1Ä0D1c                 óÐ   — t          || j        ¦  «        sdS | j                             ¦   «         }|j                             ¦   «         }d„ |D ¦   «         }d„ |D ¦   «         }||k    S )NFc                 ó    — g | ]}|j         ¯	|‘ŒS © ©r   ©Ú.0Úfields     r   ú
<listcomp>z)_ExtensionDict.__eq__.<locals>.<listcomp>   s    € ÐDÐDÐD˜5°Ô1CÐD�ÐDÐDÐDr   c                 ó    — g | ]}|j         ¯	|‘ŒS r0   r1   r2   s     r   r5   z)_ExtensionDict.__eq__.<locals>.<listcomp>€   s    € ÐJÐJÐJ˜e°uÔ7IÐJ�EÐJÐJÐJr   )r   Ú	__class__r   Ú
ListFields)r   ÚotherÚ	my_fieldsÚother_fieldss       r   Ú__eq__z_ExtensionDict.__eq__w   sw   € Ý�e˜Tœ^Ñ,Ô,ð ØˆUàÔ&×1Ò1Ñ3Ô3€IØÔ*×5Ò5Ñ7Ô7€Lð EÐD IÐDÑDÔD€IØJÐJ |ÐJÑJÔJ€Là˜Ò$Ð$r   c                 ó   — | |k     S ©Nr0   )r   r9   s     r   Ú__ne__z_ExtensionDict.__ne__„   s   € Ø�uŠ}ÐÐr   c                 ój   — | j                              ¦   «         }d„ |D ¦   «         }t          |¦  «        S )Nc                 ó,   — g | ]}|d          j         ¯|‘ŒS )r   r1   r2   s     r   r5   z*_ExtensionDict.__len__.<locals>.<listcomp>Š   s$   € ÐKÐKÐK %°U¸1´XÔ5JÐK˜ÐKÐKÐKr   )r   r8   Úlen)r   ÚfieldsÚextension_fieldss      r   Ú__len__z_ExtensionDict.__len__‡   s9   € ØÔ#×.Ò.Ñ0Ô0€FàKÐK¨6ÐKÑKÔKÐÝÐÑ Ô Ð r   c                 ó    — t          d¦  «        ‚)Nzunhashable object)Ú	TypeError©r   s    r   Ú__hash__z_ExtensionDict.__hash__�   s   € Ý
Ð'Ñ
(Ô
(Ð(r   c                 óP  — t          | j        |¦  «         |j        t          j        k    s|j        t          j        k    rt          d|j        z  ¦  «        ‚t          j
        |¦  «        }|                     |¦  «        | j        j        |<   | j                             ¦   «          dS )zlIf extension_handle specifies a non-repeated, scalar extension
    field, sets the value of that field.
    zKCannot assign to extension "%s" because it is a repeated or composite type.N)r   r   r   r   r   r    r!   rG   r	   r   ÚGetTypeCheckerÚ
CheckValuer   Ú	_Modified)r   r   ÚvalueÚtype_checkers       r   Ú__setitem__z_ExtensionDict.__setitem__”   s®   € õ
 ˜4Ô1Ð3CÑDÔDÐDàÔ¥/Ô"@Ò@Ð@ØÔ!¥_Ô%DÒDÐDÝðØ.Ô8ñ9ñ:ô :ð :õ !Ô/Ð0@ÑAÔA€Lð 	×Ò Ñ&Ô&ð 	ÔÔ"Ð#3Ñ4àÔ×$Ò$Ñ&Ô&Ð&Ð&Ð&r   c                 ó:   — | j                              |¦  «         d S r>   )r   ÚClearExtension)r   r   s     r   Ú__delitem__z_ExtensionDict.__delitem__©   s    € ØÔ×)Ò)Ð*:Ñ;Ô;Ð;Ð;Ð;r   c                 óB   — | j         j                             |d¦  «        S )z™Tries to find a known extension with the specified name.

    Args:
      name: Extension full name.

    Returns:
      Extension field descriptor.
    N)r   Ú_extensions_by_namer   )r   Únames     r   Ú_FindExtensionByNamez#_ExtensionDict._FindExtensionByName¬   s    € ð Ô!Ô5×9Ò9¸$ÀÑEÔEÐEr   c                 óB   — | j         j                             |d¦  «        S )zœTries to find a known extension with the field number.

    Args:
      number: Extension field number.

    Returns:
      Extension field descriptor.
    N)r   Ú_extensions_by_numberr   )r   Únumbers     r   Ú_FindExtensionByNumberz%_ExtensionDict._FindExtensionByNumber·   s    € ð Ô!Ô7×;Ò;¸FÀDÑIÔIÐIr   c                 óH   — d„ | j                              ¦   «         D ¦   «         S )Nc              3   ó@   K  — | ]}|d          j         ¯|d          V — ŒdS )r   Nr1   )r3   Úfs     r   ú	<genexpr>z*_ExtensionDict.__iter__.<locals>.<genexpr>Ä   sE   è è € ð "ð "�QØ�ŒtÔ ð"ˆAˆaŒDð "ð "ð "ð "ð "ð "r   )r   r8   rH   s    r   Ú__iter__z_ExtensionDict.__iter__Â   s1   € ð"ð "˜$Ô0×;Ò;Ñ=Ô=ð "ñ "ô "ð "r   c                 óP  — t          | j        |¦  «         || j        j        vrdS |j        t          j        k    r,t          | j        j                             |¦  «        ¦  «        S |j        t          j	        k    r*| j        j                             |¦  «        }|d uo|j
        S dS )NFT)r   r   r   r   r   r   Úboolr   r    r!   Ú_is_present_in_parent)r   r   rN   s      r   Ú__contains__z_ExtensionDict.__contains__Ç   s£   € Ý˜4Ô1Ð3CÑDÔDÐDà˜tÔ5Ô=Ð=Ð=ØˆUàÔ¥Ô!?Ò?Ð?Ý�$Ô(Ô0×4Ò4Ð5EÑFÔFÑGÔGÐGàÔ ¥OÔ$CÒCÐCØÔ$Ô,×0Ò0Ð1AÑBÔB€eà˜$ÐÐ> 5Ô#>Ð>àˆ4r   N)Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   r-   r<   r?   rE   rI   rP   rS   rW   r[   r`   rd   r0   r   r   r   r   ?   sÙ   € € € € € ðð ð.ð .ð .ð'ð 'ð 'ðR%ð %ð %ðð ð ð!ð !ð !ð)ð )ð )ð'ð 'ð 'ð*<ð <ð <ð	Fð 	Fð 	Fð	Jð 	Jð 	Jð"ð "ð "ð
ð ð ð ð r   r   N)rh   Úgoogle.protobuf.internalr   Úgoogle.protobuf.descriptorr   r   Úobjectr   r0   r   r   ú<module>rl      s‚   ðð>ð ð 3Ð 2Ð 2Ð 2Ð 2Ð 2Ø 6Ð 6Ð 6Ð 6Ð 6Ð 6ð3ð 3ð 3ð2Vð Vð Vð Vð V�Vñ Vô Vð Vð Vð Vr   