HEX
Server: Microsoft-IIS/10.0
System: Windows NT ITPWINWEBSVR22 10.0 build 20348 (Windows Server 2022) AMD64
User: www.conferencesearch.co.uk (0)
PHP: 8.3.30
Disabled: NONE
Upload Files
File: D:/Python311/Lib/site-packages/google/protobuf/__pycache__/descriptor_database.cpython-311.pyc
�

�nc���p�dZdZddlZGd�de��ZGd�de��ZGd�d	e��Zd
�ZdS)z*Provides a container for DescriptorProtos.z"matthewtoia@google.com (Matt Toia)�Nc��eZdZdS)�ErrorN)�__name__�
__module__�__qualname__���ED:\Python311\Lib\site-packages\google/protobuf/descriptor_database.pyrr&s�������$r	rc��eZdZdZdS)�,DescriptorDatabaseConflictingDefinitionErrorzGRaised when a proto is added with the same name & different descriptor.N)rrr�__doc__rr	r
rr*s������O�O�O�Or	rc�<�eZdZdZd�Zd�Zd�Zd�Zd�Zd�Z	d�Z
d	S)
�DescriptorDatabasezEA container accepting FileDescriptorProtos and maps DescriptorProtos.c�"�i|_i|_dS�N)�_file_desc_protos_by_file�_file_desc_protos_by_symbol)�selfs r
�__init__zDescriptorDatabase.__init__1s��%'�D�"�')�D�$�$�$r	c��|j}||jvr||j|<n%|j||krtd|z���dS|j}|jD]+}t||��D]}|�||����,|jD]`}|�d�||jf��|��|j	D]&}||j
d�||jf��<�'�a|jD]2}|�d�||jf��|���3|jD]2}	|�d�||	jf��|���3dS)aLAdds the FileDescriptorProto and its types to this database.

    Args:
      file_desc_proto: The FileDescriptorProto to add.
    Raises:
      DescriptorDatabaseConflictingDefinitionError: if an attempt is made to
        add a proto with the same name but different definition than an
        existing proto in the database.
    z0%s already added, but with different descriptor.N�.)
�namerr�package�message_type�_ExtractSymbols�
_AddSymbol�	enum_type�join�valuer�	extension�service)
r�file_desc_proto�
proto_namer�messager�enum�
enum_valuer r!s
          r
�AddzDescriptorDatabase.Add5s���!�%�J���7�7�
�3B�d�$�Z�0�0�	
�	'�
�	3��	F�
�8�
<�z�
I�
K�
K�K�
�f��%�G�"�/�/�/��!�'�7�3�3�/�/�$�����o�.�.�.�.�/��)�D�D��
�o�o�s�x�x��$�)� 4�5�5��H�H�H��
�D�D�*�4C�	
�(��H�H�g�z��/�0�0�	2�	2�D�%�.�N�N�	�
�o�o�s�x�x��)�.� 9�:�:�_�M�M�M�M�"�*�L�L��
�o�o�s�x�x��'�,� 7�8�8�?�K�K�K�K�L�Lr	c��|j|S)a�Finds the file descriptor proto by file name.

    Typically the file name is a relative path ending to a .proto file. The
    proto with the given name will have to have been added to this database
    using the Add method or else an error will be raised.

    Args:
      name: The file name to find.

    Returns:
      The file descriptor proto matching the name.

    Raises:
      KeyError if no file by the given name was added.
    )r)rrs  r
�FindFileByNamez!DescriptorDatabase.FindFileByNameWs��"�)�$�/�/r	c���	|j|S#t$rG|�d��\}}}	|j|cYS#t$rt|���wxYwwxYw)a�Finds the file descriptor proto containing the specified symbol.

    The symbol should be a fully qualified name including the file descriptor's
    package and any containing messages. Some examples:

    'some.package.name.Message'
    'some.package.name.Message.NestedEnum'
    'some.package.name.Message.some_field'

    The file descriptor proto containing the specified symbol must be added to
    this database using the Add method or else an error will be raised.

    Args:
      symbol: The fully qualified symbol name.

    Returns:
      The file descriptor proto containing the symbol.

    Raises:
      KeyError if no file contains the specified symbol.
    r)r�KeyError�
rpartition)r�symbol�	top_level�_s    r
�FindFileContainingSymbolz+DescriptorDatabase.FindFileContainingSymboljs���,
�
�
-�f�
5�5�������)�)�#�.�.�o�i��A���/�	�:�:�:�:��
�����v�����������s��#A �A�A �A�A c��dSrr)r�
extendee_name�extension_numbers   r
�FindFileContainingExtensionz.DescriptorDatabase.FindFileContainingExtension�s���4r	c��gSrr)rr2s  r
�FindAllExtensionNumbersz*DescriptorDatabase.FindAllExtensionNumbers�s��
�Ir	c��||jvrCd|jzdz|zdz|j|jzdz}tj|t��||j|<dS)NzConflict register for file "z": z is already defined in file "�")rr�warnings�warn�RuntimeWarning)rrr"�warn_msgs    r
rzDescriptorDatabase._AddSymbol�s����t�/�/�.�0�?�3G�G�����1�2��2�4�8�=�>�AD�D�h��m�H�n�-�-�-�-<�D�$�T�*�*�*r	N)rrrr
rr'r)r0r4r6rrr	r
rr.s�������M�M�*�*�*� L� L� L�D0�0�0�&#�#�#�J������=�=�=�=�=r	rc#��K�|r
|dz|jzn|j}|V�|jD]}t||��D]}|V���|jD] }d�||jf��V��!dS)z�Pulls out all the symbols from a descriptor proto.

  Args:
    desc_proto: The proto to extract symbols from.
    package: The package containing the descriptor type.

  Yields:
    The fully qualified name found in the descriptor.
  rN)r�nested_typerrr)�
desc_protor�message_namer>r-rs      r
rr�s�����5<�P��3����0�0���,������+���k�!�+�|�<�<�����l�l�l�l���'�3�3�i�

�(�(�L�)�.�1�
2�
2�2�2�2�2�3�3r	)	r
�
__author__r9�	Exceptionrr�objectrrrr	r
�<module>rDs���>1�0�
1�
����������I����P�P�P�P�P�5�P�P�P�p=�p=�p=�p=�p=��p=�p=�p=�f3�3�3�3�3r