parameters: (cls, buf, readahead_tag, readahead_value,
                                  strict=True)
return_statement: return {key: value}
docstring: Decode using additional information about the outermost tag.
docstring_summary: Decode using additional information about the outermost tag.
docstring_tokens: Decode using additional information about the outermost tag .
function: def _decode_readahead_value(cls, buf, readahead_tag, readahead_value,
                                  strict=True):
          """Decode using additional information about the outermost tag."""
          try:
              key = cls.tag_map[readahead_tag]
          except KeyError:
              raise error.ASN1TagError("Tag %s is not a valid tag for a "
                                       "component of %s" %
                                       (readahead_tag, cls.__name__))
  
          if len(cls.components[key].tags) == 1:
              # Shortcut: we already know the tag and length, so directly get
              # the value.
              value = cls.components[key](serialized_value=readahead_value,
                                          strict=strict)
          else:
              # Component has multiple tags but the readahead only read the
              # outermost tag, so read everything again.
              value, rest = cls.components[key].read(buf, strict=strict)
              if rest:
                  raise error.ASN1Error("Invalid encoding: leftover bytes when "
                                        "decoding %s" % cls.__name__)
          return {key: value}
function_tokens: def _decode_readahead_value ( cls , buf , readahead_tag , readahead_value , strict = True ) : try : key = cls . tag_map [ readahead_tag ] except KeyError : raise error . ASN1TagError ( "Tag %s is not a valid tag for a " "component of %s" % ( readahead_tag , cls . __name__ ) ) if len ( cls . components [ key ] . tags ) == 1 : # Shortcut: we already know the tag and length, so directly get # the value. value = cls . components [ key ] ( serialized_value = readahead_value , strict = strict ) else : # Component has multiple tags but the readahead only read the # outermost tag, so read everything again. value , rest = cls . components [ key ] . read ( buf , strict = strict ) if rest : raise error . ASN1Error ( "Invalid encoding: leftover bytes when " "decoding %s" % cls . __name__ ) return { key : value }