
    <j                         d Z ddlmZ ej                  ej                  j                  ZyddlmZ ddlmZ  G d d      Z G d d	      Zy)
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                   N    e Zd ZdZg dZd Zed        Zed        Zed        Z	y)UnknownFieldzA parsed unknown field._field_number
_wire_type_datac                 .    || _         || _        || _        y Nr   )selffield_number	wire_typedatas       U/opt/lfcs-signon/.venv/lib/python3.12/site-packages/google/protobuf/unknown_fields.py__init__zUnknownField.__init__   s    'd!dodj    c                     | j                   S r   )r	   r   s    r   r   zUnknownField.field_number%   s    r   c                     | j                   S r   )r
   r   s    r   r   zUnknownField.wire_type)   s    __r   c                     | j                   S r   )r   r   s    r   r   zUnknownField.data-   s    ZZr   N)
__name__
__module____qualname____doc__	__slots__r   propertyr   r   r    r   r   r   r      sM    ! 9I        r   r   c                   .    e Zd ZdZdgZd Zd Zd Zd Zy)UnknownFieldSetzUnknownField container._valuesc                      fd}g  _         |j                  }|j                  }|j                  re|j	                         j
                  rKt        j                         }|D ]1  \  }} |t        |            \  }}	 ||t        j                  |	       3 y |D ]e  \  }
}t        j                  |
      \  }}|dk(  rt        d      t        j                  t        |      dt        |      ||      \  }	} ||||	       g y )Nc                 V    t        | ||      }j                  j                  |       y r   )r   r"   append)r   r   r   unknown_fieldr   s       r   InternalAddz-UnknownFieldSet.__init__.<locals>.InternalAdd9   s#    $\9dCM*r   r   zField number 0 is illegal.)r"   
DESCRIPTOR_unknown_fieldshas_options
GetOptionsmessage_set_wire_formatr   UnknownMessageSetItemDecoder
memoryviewr   WIRETYPE_LENGTH_DELIMITED	DecodeTagRuntimeError_DecodeUnknownFieldlen)r   msgr'   msg_desunknown_fieldslocal_decoder_bufferr   r   	tag_bytesr   s   `           r   r   zUnknownFieldSet.__init__7   s    + dlg**n			!3!3!5!M!M<<>' 	QIAv,Z-?@
,
lK$I$I4
P	Q "0 	5Iv$+$5$5i$@
!,	Q;<<// !S[,	'$ lIt
4	5r   c                     t        | j                        }|dk  r||z  }|dk  s||k\  rt        dj                        | j                  |   S )Nr   zindex %d out of range)r3   r"   
IndexErrorindex)r   r=   sizes      r   __getitem__zUnknownFieldSet.__getitem__P   sN    d		etm06677\\%  r   c                 ,    t        | j                        S r   )r3   r"   r   s    r   __len__zUnknownFieldSet.__len__Y   s    r   c                 ,    t        | j                        S r   )iterr"   r   s    r   __iter__zUnknownFieldSet.__iter__\   s    $,,r   N)	r   r   r   r   r   r   r?   rA   rD   r   r   r   r!   r!   1   s"    ! I52! r   r!   )r   google.protobuf.internalr   	_c_moduler!   r   r   r   r   r   r   <module>rG      sF    8+&00@@/.2 0,  , r   