o
    õÍjù  ã                   @   s^   d Z ddlmZ ejdurejjZdS ddlmZ ddlmZ G dd„ dƒZG dd	„ d	ƒZdS )
a  Contains Unknown Fields APIs.

Simple usage example:
  unknown_field_set = UnknownFieldSet(message)
  for unknown_field in unknown_field_set:
    wire_type = unknown_field.wire_type
    field_number = unknown_field.field_number
    data = unknown_field.data
é    )Úapi_implementationN)Údecoder)Úwire_formatc                   @   sD   e Zd ZdZg d¢Zdd„ Zedd„ ƒZedd„ ƒZed	d
„ ƒZ	dS )ÚUnknownFieldzA parsed unknown field.©Ú_field_numberÚ
_wire_typeÚ_datac                 C   s   || _ || _|| _d S ©Nr   )ÚselfÚfield_numberÚ	wire_typeÚdata© r   ú_/var/www/html/Deteccion_Ine/venv/lib/python3.10/site-packages/google/protobuf/unknown_fields.pyÚ__init__!   s   zUnknownField.__init__c                 C   ó   | j S r
   )r   ©r   r   r   r   r   '   ó   zUnknownField.field_numberc                 C   r   r
   )r   r   r   r   r   r   +   r   zUnknownField.wire_typec                 C   r   r
   )r	   r   r   r   r   r   /   r   zUnknownField.dataN)
Ú__name__Ú
__module__Ú__qualname__Ú__doc__Ú	__slots__r   Úpropertyr   r   r   r   r   r   r   r      s    

r   c                   @   s6   e Zd ZdZdgZdd„ Zdd„ Zdd„ Zd	d
„ ZdS )ÚUnknownFieldSetzUnknownField container.Ú_valuesc                    sÀ   ‡ fdd„}g ˆ _ |j}|j}|jr3| ¡ jr3t ¡ }|D ]\}}|t|ƒƒ\}}	||t	j
|	ƒ qd S |D ](\}
}t |
¡\}}|dkrHtdƒ‚t t|ƒdt|ƒ||¡\}	}||||	ƒ q5d S )Nc                    s   t | ||ƒ}ˆ j |¡ d S r
   )r   r   Úappend)r   r   r   Zunknown_fieldr   r   r   ÚInternalAdd;   s   z-UnknownFieldSet.__init__.<locals>.InternalAddr   zField number 0 is illegal.)r   Z
DESCRIPTORZ_unknown_fieldsZhas_optionsZ
GetOptionsZmessage_set_wire_formatr   ZUnknownMessageSetItemDecoderÚ
memoryviewr   ZWIRETYPE_LENGTH_DELIMITEDZ	DecodeTagÚRuntimeErrorZ_DecodeUnknownFieldÚlen)r   Úmsgr   Zmsg_desZunknown_fieldsZlocal_decoderÚ_Úbufferr   r   Z	tag_bytesr   r   r   r   r   9   s*   ÿþÿùzUnknownFieldSet.__init__c                 C   s>   t | jƒ}|dk r||7 }|dk s||krtdjƒ‚| j| S )Nr   zindex %d out of range)r!   r   Ú
IndexErrorÚindex)r   r&   Úsizer   r   r   Ú__getitem__S   s   


zUnknownFieldSet.__getitem__c                 C   ó
   t | jƒS r
   )r!   r   r   r   r   r   Ú__len__\   ó   
zUnknownFieldSet.__len__c                 C   r)   r
   )Úiterr   r   r   r   r   Ú__iter___   r+   zUnknownFieldSet.__iter__N)	r   r   r   r   r   r   r(   r*   r-   r   r   r   r   r   3   s    	r   )r   Zgoogle.protobuf.internalr   Z	_c_moduler   r   r   r   r   r   r   r   Ú<module>   s   
