Ë
    ÷ÿæiå  ã                   ó<   — d Z ddlmZ ddlmZ d„ Z G d„ de«      Zy)z7Contains _ExtensionDict class to represent extensions.
é    )Útype_checkers)ÚFieldDescriptorc           	      óŽ  — t        |t        «      st        d|z  «      ‚|j                  st        d|j                  z  «      ‚|j
                  st        d|j                  z  «      ‚|j
                  | j                  urGt        d|j                  ›d|j
                  j                  ›d| j                  j                  ›d�«      ‚y)	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     ú|/Volumes/fast/ai/experiments/voice-extract-mac/.venv/lib/python3.12/site-packages/google/protobuf/internal/extension_dict.pyÚ_VerifyExtensionHandler      sÆ   € ô 
Ð$¤oÔ	6Ü
ÐHØ#ñ$ó %ð %ð 
×	&Ò	&Ü
Ð.Ð1A×1KÑ1KÑKÓ
LÐLà	×	)Ò	)Ü
Ð7Ø%×/Ñ/ñ0ó 1ð 1ð ×%Ñ%¨W×-?Ñ-?Ñ?Ý
à$×.Ó.Ø$×4Ñ4×>Ó>Ø×&Ñ&×0Ó0ð	2ó 3ð 3ð @ó    c                   óX   — 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y)Ú_ExtensionDictz�Dict-like container for Extension fields on proto instances.

  Note that in all cases we expect extension handles to be
  FieldDescriptors.
  c                 ó   — || _         y)z^
    Args:
      extended_message: Message instance for which we are the Extensions dict.
    N)Ú_extended_message)ÚselfÚextended_messages     r   Ú__init__z_ExtensionDict.__init__0   s   € ð
 .€DÕr   c                 óÞ  — t        | j                  |«       | j                  j                  j                  |«      }|�|S |j                  r|j                  | j                  «      }nÐ|j                  t        j                  k(  r§|j                  }t        |d«      sddlm} |j                  |«       t        |j                  d«      s!ddlm} |j                  |j                  «       |j                  j                  «       }	 |j                  | j                  j                   «       n|j$                  S | j                  j                  j'                  ||«      }|S # t"        $ r Y Œ3w xY w)z8Returns the current value of the given extension handle.Ú_concrete_classr   )Úmessage_factory)r   r   Ú_fieldsÚgetÚis_repeatedÚ_default_constructorÚcpp_typer   ÚCPPTYPE_MESSAGEÚmessage_typeÚhasattrÚgoogle.protobufr   ÚGetMessageClassr   Ú_SetListenerÚ_listener_for_childrenÚReferenceErrorÚdefault_valueÚ
setdefault)r   r   Úresultr!   r   s        r   Ú__getitem__z_ExtensionDict.__getitem__7   s@  € ô ˜4×1Ñ1Ð3CÔDà×#Ñ#×+Ñ+×/Ñ/Ð0@ÓA€FØÐØ€mà×#Ò#Ø×4Ñ4°T×5KÑ5KÓL�fØ	×	"Ñ	"¤o×&EÑ&EÒ	EØ%×2Ñ2€lÜ�\Ð#4Ô5å3Ø×'Ñ'¨Ô5ÜÐ%×2Ñ2Ð4EÔFÝ3Ø×'Ñ'Ð(8×(EÑ(EÔFØ×,Ñ,×<Ñ<Ó>€fðØ×Ñ˜D×2Ñ2×IÑIÕJð ×+Ñ+Ð+ð ×#Ñ#×+Ñ+×6Ñ6Ø˜&ó"€Fð €Møô! ò Ùðús   Ä%E  Å 	E,Å+E,c                 ó&  — t        || j                  «      sy| j                  j                  «       }|j                  j                  «       }|D �cg c]  }|j                  sŒ|‘Œ }}|D �cg c]  }|j                  sŒ|‘Œ }}||k(  S c c}w c c}w )NF)r   Ú	__class__r   Ú
ListFieldsr   )r   ÚotherÚ	my_fieldsÚother_fieldsÚfields        r   Ú__eq__z_ExtensionDict.__eq__`   s‰   € Ü�e˜TŸ^™^Ô,Øà×&Ñ&×1Ñ1Ó3€IØ×*Ñ*×5Ñ5Ó7€Lñ %.ÓD¡I˜5°×1CÓ1C’ I€IÐDÙ'3ÓJ¡|˜e°u×7IÓ7I’E |€LÐJà˜Ñ$Ð$ùò EùÚJs   ÁB	Á"B	Á,BÁ>Bc                 ó   — | |k(   S ©N© )r   r/   s     r   Ú__ne__z_ExtensionDict.__ne__m   s   € Ø�u‰}ÐÐr   c                 ó”   — | j                   j                  «       }|D �cg c]  }|d   j                  sŒ|‘Œ }}t        |«      S c c}w )Nr   )r   r.   r   Úlen)r   Úfieldsr2   Úextension_fieldss       r   Ú__len__z_ExtensionDict.__len__p   sI   € Ø×#Ñ#×.Ñ.Ó0€Fá+1ÓK©6 %°U¸1±X×5JÓ5Jš¨6ÐÐKÜÐÓ Ð ùò Ls
   ŸA´Ac                 ó   — t        d«      ‚)Nzunhashable object)Ú	TypeError©r   s    r   Ú__hash__z_ExtensionDict.__hash__v   s   € Ü
Ð'Ó
(Ð(r   c                 ó`  — t        | j                  |«       |j                  s|j                  t        j
                  k(  rt        d|j                  z  «      ‚t        j                  |«      }|j                  |«      | j                  j                  |<   | j                  j                  «        y)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>   r	   r   ÚGetTypeCheckerÚ
CheckValuer   Ú	_Modified)r   r   ÚvalueÚtype_checkers       r   Ú__setitem__z_ExtensionDict.__setitem__}   sž   € ô
 ˜4×1Ñ1Ð3CÔDà×$Ò$Ø×!Ñ!¤_×%DÑ%DÒDÜðØ.×8Ñ8ñ9ó:ð :ô !×/Ñ/Ð0@ÓA€Lð 	×Ñ Ó&ð 	×Ñ×"Ñ"Ð#3Ñ4à×Ñ×$Ñ$Õ&r   c                 ó:   — | j                   j                  |«       y r5   )r   ÚClearExtension)r   r   s     r   Ú__delitem__z_ExtensionDict.__delitem__’   s   € Ø×Ñ×)Ñ)Ð*:Õ;r   c                 ó˜   — | j                   j                  }|j                  j                  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   r   ÚfileÚpoolÚ_extensions_by_namer   )r   ÚnameÚ
descriptorÚ
extensionss       r   Ú_FindExtensionByNamez#_ExtensionDict._FindExtensionByName•   s@   € ð ×'Ñ'×2Ñ2€JØ—‘×%Ñ%×9Ñ9¸*ÑE€JØ�>‰>˜$ Ó%Ð%r   c                 ó˜   — | j                   j                  }|j                  j                  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   r   rL   rM   Ú_extensions_by_numberr   )r   ÚnumberrP   rQ   s       r   Ú_FindExtensionByNumberz%_ExtensionDict._FindExtensionByNumber¢   s@   € ð ×'Ñ'×2Ñ2€JØ—‘×%Ñ%×;Ñ;¸JÑG€JØ�>‰>˜& $Ó'Ð'r   c                 óD   — d„ | j                   j                  «       D «       S )Nc              3   óD   K  — | ]  }|d    j                   r|d    –— Œ y­w)r   N)r   )Ú.0Úfs     r   Ú	<genexpr>z*_ExtensionDict.__iter__.<locals>.<genexpr>±   s)   è ø€ ð "Ñ=�QØ�‰t× Ò ð ˆa�DÑ=ùs   ‚ )r   r.   r?   s    r   Ú__iter__z_ExtensionDict.__iter__¯   s"   € ñ"˜$×0Ñ0×;Ñ;Ô=ó "ð "r   c                 ó~  — t        | j                  |«       || j                  j                  vry|j                  r.t	        | j                  j                  j                  |«      «      S |j                  t        j                  k(  r7| j                  j                  j                  |«      }|d uxr |j                  S y)NFT)
r   r   r   r   Úboolr   r   r   r    Ú_is_present_in_parent)r   r   rE   s      r   Ú__contains__z_ExtensionDict.__contains__´   s    € Ü˜4×1Ñ1Ð3CÔDà˜t×5Ñ5×=Ñ=Ñ=Øà×#Ò#Ü�$×(Ñ(×0Ñ0×4Ñ4Ð5EÓFÓGÐGà× Ñ ¤O×$CÑ$CÒCØ×$Ñ$×,Ñ,×0Ñ0Ð1AÓB€eà˜$ÐÒ> 5×#>Ñ#>Ð>àr   N)Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   r+   r3   r7   r<   r@   rG   rJ   rR   rV   r\   r`   r6   r   r   r   r   (   sD   „ ñò.ò'òR%òò!ò)ò'ò*<ò&ò(ò"ó
r   r   N)rd   Úgoogle.protobuf.internalr   Úgoogle.protobuf.descriptorr   r   Úobjectr   r6   r   r   Ú<module>rh      s%   ðñõ 3Ý 6ò3ô2Z�Võ Zr   