code: def _ModifiedDecoder(wire_type, decode_value, modify_value):
      """Like SimpleDecoder but additionally invokes modify_value on every value
      before storing it.  Usually modify_value is ZigZagDecode.
      """
  
      # Reusing _SimpleDecoder is slightly slower than copying a bunch of code, but
      # not enough to make a significant difference.
  
      def InnerDecode(buffer, pos):
          (result, new_pos) = decode_value(buffer, pos)
          return (modify_value(result), new_pos)
  
      return _SimpleDecoder(wire_type, InnerDecode)
  
imports: import struct
  import six
  from google.protobuf.internal import encoder
  from google.protobuf.internal import wire_format
  from google.protobuf import message
label_desc: Use image node_id 5 for calling a global function with example usage: _ModifiedDecoder(wire_type, decode_value, modify_value) and returns: _SimpleDecoder, modify_value,  new_pos