func (v *Error) UnmarshalEasyJSON(l *jlexer.Lexer) {
	easyjson692db02bDecodeGithubComCloudfoundrySondeGoEvents4(l, v)
}
UnmarshalEasyJSON supports easyjson.Unmarshaler interface
package events
import (
	json "encoding/json"
	easyjson "github.com/mailru/easyjson"
	jlexer "github.com/mailru/easyjson/jlexer"
	jwriter "github.com/mailru/easyjson/jwriter"
)
var (
	_ *json.RawMessage
	_ *jlexer.Lexer
	_ *jwriter.Writer
	_ easyjson.Marshaler
)
func easyjson692db02bDecodeGithubComCloudfoundrySondeGoEvents(in *jlexer.Lexer, out *ValueMetric) {
	isTopLevel := in.IsStart()
	if in.IsNull() {
		if isTopLevel {
			in.Consumed()
		}
		in.Skip()
		return
	}
	in.Delim('{')
	for !in.IsDelim('}') {
		key := in.UnsafeString()
		in.WantColon()
		if in.IsNull() {
			in.Skip()
			in.WantComma()
			continue
		}
		switch key {
		case "name":
			if in.IsNull() {
				in.Skip()
				out.Name = nil
			} else {
				if out.Name == nil {
					out.Name = new(string)
				}
				*out.Name = string(in.String())
			}
		case "value":
			if in.IsNull() {
				in.Skip()
				out.Value = nil
			} else {
				if out.Value == nil {
					out.Value = new(float64)
				}
				*out.Value = float64(in.Float64())
			}
		case "unit":
			if in.IsNull() {
				in.Skip()
				out.Unit = nil
			} else {
				if out.Unit == nil {
					out.Unit = new(string)
				}
				*out.Unit = string(in.String())
			}
		default:
			in.SkipRecursive()
		}
		in.WantComma()
	}
	in.Delim('}')
	if isTopLevel {
		in.Consumed()
	}
}
func easyjson692db02bEncodeGithubComCloudfoundrySondeGoEvents(out *jwriter.Writer, in ValueMetric) {
	out.RawByte('{')
	first := true
	_ = first
	if in.Name != nil {
		if !first {
			out.RawByte(',')
		}
		first = false
		out.RawString("\"name\":")
		if in.Name == nil {
			out.RawString("null")
		} else {
			out.String(string(*in.Name))
		}
	}
	if in.Value != nil {
		if !first {
			out.RawByte(',')
		}
		first = false
		out.RawString("\"value\":")
		if in.Value == nil {
			out.RawString("null")
		} else {
			out.Float64(float64(*in.Value))
		}
	}
	if in.Unit != nil {
		if !first {
			out.RawByte(',')
		}
		first = false
		out.RawString("\"unit\":")
		if in.Unit == nil {
			out.RawString("null")
		} else {
			out.String(string(*in.Unit))
		}
	}
	out.RawByte('}')
}
func (v ValueMetric) MarshalEasyJSON(w *jwriter.Writer) {
	easyjson692db02bEncodeGithubComCloudfoundrySondeGoEvents(w, v)
}
func (v *ValueMetric) UnmarshalEasyJSON(l *jlexer.Lexer) {
	easyjson692db02bDecodeGithubComCloudfoundrySondeGoEvents(l, v)
}
func easyjson692db02bDecodeGithubComCloudfoundrySondeGoEvents1(in *jlexer.Lexer, out *UUID) {
	isTopLevel := in.IsStart()
	if in.IsNull() {
		if isTopLevel {
			in.Consumed()
		}
		in.Skip()
		return
	}
	in.Delim('{')
	for !in.IsDelim('}') {
		key := in.UnsafeString()
		in.WantColon()
		if in.IsNull() {
			in.Skip()
			in.WantComma()
			continue
		}
		switch key {
		case "low":
			if in.IsNull() {
				in.Skip()
				out.Low = nil
			} else {
				if out.Low == nil {
					out.Low = new(uint64)
				}
				*out.Low = uint64(in.Uint64())
			}
		case "high":
			if in.IsNull() {
				in.Skip()
				out.High = nil
			} else {
				if out.High == nil {
					out.High = new(uint64)
				}
				*out.High = uint64(in.Uint64())
			}
		default:
			in.SkipRecursive()
		}
		in.WantComma()
	}
	in.Delim('}')
	if isTopLevel {
		in.Consumed()
	}
}
func easyjson692db02bEncodeGithubComCloudfoundrySondeGoEvents1(out *jwriter.Writer, in UUID) {
	out.RawByte('{')
	first := true
	_ = first
	if in.Low != nil {
		if !first {
			out.RawByte(',')
		}
		first = false
		out.RawString("\"low\":")
		if in.Low == nil {
			out.RawString("null")
		} else {
			out.Uint64(uint64(*in.Low))
		}
	}
	if in.High != nil {
		if !first {
			out.RawByte(',')
		}
		first = false
		out.RawString("\"high\":")
		if in.High == nil {
			out.RawString("null")
		} else {
			out.Uint64(uint64(*in.High))
		}
	}
	out.RawByte('}')
}
func (v UUID) MarshalEasyJSON(w *jwriter.Writer) {
	easyjson692db02bEncodeGithubComCloudfoundrySondeGoEvents1(w, v)
}
func (v *UUID) UnmarshalEasyJSON(l *jlexer.Lexer) {
	easyjson692db02bDecodeGithubComCloudfoundrySondeGoEvents1(l, v)
}
func easyjson692db02bDecodeGithubComCloudfoundrySondeGoEvents2(in *jlexer.Lexer, out *LogMessage) {
	isTopLevel := in.IsStart()
	if in.IsNull() {
		if isTopLevel {
			in.Consumed()
		}
		in.Skip()
		return
	}
	in.Delim('{')
	for !in.IsDelim('}') {
		key := in.UnsafeString()
		in.WantColon()
		if in.IsNull() {
			in.Skip()
			in.WantComma()
			continue
		}
		switch key {
		case "message":
			if in.IsNull() {
				in.Skip()
				out.Message = nil
			} else {
				out.Message = in.Bytes()
			}
		case "message_type":
			if in.IsNull() {
				in.Skip()
				out.MessageType = nil
			} else {
				if out.MessageType == nil {
					out.MessageType = new(LogMessage_MessageType)
				}
				if data := in.Raw(); in.Ok() {
					in.AddError((*out.MessageType).UnmarshalJSON(data))
				}
			}
		case "timestamp":
			if in.IsNull() {
				in.Skip()
				out.Timestamp = nil
			} else {
				if out.Timestamp == nil {
					out.Timestamp = new(int64)
				}
				*out.Timestamp = int64(in.Int64())
			}
		case "app_id":
			if in.IsNull() {
				in.Skip()
				out.AppId = nil
			} else {
				if out.AppId == nil {
					out.AppId = new(string)
				}
				*out.AppId = string(in.String())
			}
		case "source_type":
			if in.IsNull() {
				in.Skip()
				out.SourceType = nil
			} else {
				if out.SourceType == nil {
					out.SourceType = new(string)
				}
				*out.SourceType = string(in.String())
			}
		case "source_instance":
			if in.IsNull() {
				in.Skip()
				out.SourceInstance = nil
			} else {
				if out.SourceInstance == nil {
					out.SourceInstance = new(string)
				}
				*out.SourceInstance = string(in.String())
			}
		default:
			in.SkipRecursive()
		}
		in.WantComma()
	}
	in.Delim('}')
	if isTopLevel {
		in.Consumed()
	}
}
func easyjson692db02bEncodeGithubComCloudfoundrySondeGoEvents2(out *jwriter.Writer, in LogMessage) {
	out.RawByte('{')
	first := true
	_ = first
	if len(in.Message) != 0 {
		if !first {
			out.RawByte(',')
		}
		first = false
		out.RawString("\"message\":")
		out.Base64Bytes(in.Message)
	}
	if in.MessageType != nil {
		if !first {
			out.RawByte(',')
		}
		first = false
		out.RawString("\"message_type\":")
		if in.MessageType == nil {
			out.RawString("null")
		} else {
			out.Int32(int32(*in.MessageType))
		}
	}
	if in.Timestamp != nil {
		if !first {
			out.RawByte(',')
		}
		first = false
		out.RawString("\"timestamp\":")
		if in.Timestamp == nil {
			out.RawString("null")
		} else {
			out.Int64(int64(*in.Timestamp))
		}
	}
	if in.AppId != nil {
		if !first {
			out.RawByte(',')
		}
		first = false
		out.RawString("\"app_id\":")
		if in.AppId == nil {
			out.RawString("null")
		} else {
			out.String(string(*in.AppId))
		}
	}
	if in.SourceType != nil {
		if !first {
			out.RawByte(',')
		}
		first = false
		out.RawString("\"source_type\":")
		if in.SourceType == nil {
			out.RawString("null")
		} else {
			out.String(string(*in.SourceType))
		}
	}
	if in.SourceInstance != nil {
		if !first {
			out.RawByte(',')
		}
		first = false
		out.RawString("\"source_instance\":")
		if in.SourceInstance == nil {
			out.RawString("null")
		} else {
			out.String(string(*in.SourceInstance))
		}
	}
	out.RawByte('}')
}
func (v LogMessage) MarshalEasyJSON(w *jwriter.Writer) {
	easyjson692db02bEncodeGithubComCloudfoundrySondeGoEvents2(w, v)
}
func (v *LogMessage) UnmarshalEasyJSON(l *jlexer.Lexer) {
	easyjson692db02bDecodeGithubComCloudfoundrySondeGoEvents2(l, v)
}
func easyjson692db02bDecodeGithubComCloudfoundrySondeGoEvents3(in *jlexer.Lexer, out *HttpStartStop) {
	isTopLevel := in.IsStart()
	if in.IsNull() {
		if isTopLevel {
			in.Consumed()
		}
		in.Skip()
		return
	}
	in.Delim('{')
	for !in.IsDelim('}') {
		key := in.UnsafeString()
		in.WantColon()
		if in.IsNull() {
			in.Skip()
			in.WantComma()
			continue
		}
		switch key {
		case "startTimestamp":
			if in.IsNull() {
				in.Skip()
				out.StartTimestamp = nil
			} else {
				if out.StartTimestamp == nil {
					out.StartTimestamp = new(int64)
				}
				*out.StartTimestamp = int64(in.Int64())
			}
		case "stopTimestamp":
			if in.IsNull() {
				in.Skip()
				out.StopTimestamp = nil
			} else {
				if out.StopTimestamp == nil {
					out.StopTimestamp = new(int64)
				}
				*out.StopTimestamp = int64(in.Int64())
			}
		case "requestId":
			if in.IsNull() {
				in.Skip()
				out.RequestId = nil
			} else {
				if out.RequestId == nil {
					out.RequestId = new(UUID)
				}
				(*out.RequestId).UnmarshalEasyJSON(in)
			}
		case "peerType":
			if in.IsNull() {
				in.Skip()
				out.PeerType = nil
			} else {
				if out.PeerType == nil {
					out.PeerType = new(PeerType)
				}
				if data := in.Raw(); in.Ok() {
					in.AddError((*out.PeerType).UnmarshalJSON(data))
				}
			}
		case "method":
			if in.IsNull() {
				in.Skip()
				out.Method = nil
			} else {
				if out.Method == nil {
					out.Method = new(Method)
				}
				if data := in.Raw(); in.Ok() {
					in.AddError((*out.Method).UnmarshalJSON(data))
				}
			}
		case "uri":
			if in.IsNull() {
				in.Skip()
				out.Uri = nil
			} else {
				if out.Uri == nil {
					out.Uri = new(string)
				}
				*out.Uri = string(in.String())
			}
		case "remoteAddress":
			if in.IsNull() {
				in.Skip()
				out.RemoteAddress = nil
			} else {
				if out.RemoteAddress == nil {
					out.RemoteAddress = new(string)
				}
				*out.RemoteAddress = string(in.String())
			}
		case "userAgent":
			if in.IsNull() {
				in.Skip()
				out.UserAgent = nil
			} else {
				if out.UserAgent == nil {
					out.UserAgent = new(string)
				}
				*out.UserAgent = string(in.String())
			}
		case "statusCode":
			if in.IsNull() {
				in.Skip()
				out.StatusCode = nil
			} else {
				if out.StatusCode == nil {
					out.StatusCode = new(int32)
				}
				*out.StatusCode = int32(in.Int32())
			}
		case "contentLength":
			if in.IsNull() {
				in.Skip()
				out.ContentLength = nil
			} else {
				if out.ContentLength == nil {
					out.ContentLength = new(int64)
				}
				*out.ContentLength = int64(in.Int64())
			}
		case "applicationId":
			if in.IsNull() {
				in.Skip()
				out.ApplicationId = nil
			} else {
				if out.ApplicationId == nil {
					out.ApplicationId = new(UUID)
				}
				(*out.ApplicationId).UnmarshalEasyJSON(in)
			}
		case "instanceIndex":
			if in.IsNull() {
				in.Skip()
				out.InstanceIndex = nil
			} else {
				if out.InstanceIndex == nil {
					out.InstanceIndex = new(int32)
				}
				*out.InstanceIndex = int32(in.Int32())
			}
		case "instanceId":
			if in.IsNull() {
				in.Skip()
				out.InstanceId = nil
			} else {
				if out.InstanceId == nil {
					out.InstanceId = new(string)
				}
				*out.InstanceId = string(in.String())
			}
		case "forwarded":
			if in.IsNull() {
				in.Skip()
				out.Forwarded = nil
			} else {
				in.Delim('[')
				if out.Forwarded == nil {
					if !in.IsDelim(']') {
						out.Forwarded = make([]string, 0, 4)
					} else {
						out.Forwarded = []string{}
					}
				} else {
					out.Forwarded = (out.Forwarded)[:0]
				}
				for !in.IsDelim(']') {
					var v4 string
					v4 = string(in.String())
					out.Forwarded = append(out.Forwarded, v4)
					in.WantComma()
				}
				in.Delim(']')
			}
		default:
			in.SkipRecursive()
		}
		in.WantComma()
	}
	in.Delim('}')
	if isTopLevel {
		in.Consumed()
	}
}
func easyjson692db02bEncodeGithubComCloudfoundrySondeGoEvents3(out *jwriter.Writer, in HttpStartStop) {
	out.RawByte('{')
	first := true
	_ = first
	if in.StartTimestamp != nil {
		if !first {
			out.RawByte(',')
		}
		first = false
		out.RawString("\"startTimestamp\":")
		if in.StartTimestamp == nil {
			out.RawString("null")
		} else {
			out.Int64(int64(*in.StartTimestamp))
		}
	}
	if in.StopTimestamp != nil {
		if !first {
			out.RawByte(',')
		}
		first = false
		out.RawString("\"stopTimestamp\":")
		if in.StopTimestamp == nil {
			out.RawString("null")
		} else {
			out.Int64(int64(*in.StopTimestamp))
		}
	}
	if in.RequestId != nil {
		if !first {
			out.RawByte(',')
		}
		first = false
		out.RawString("\"requestId\":")
		if in.RequestId == nil {
			out.RawString("null")
		} else {
			(*in.RequestId).MarshalEasyJSON(out)
		}
	}
	if in.PeerType != nil {
		if !first {
			out.RawByte(',')
		}
		first = false
		out.RawString("\"peerType\":")
		if in.PeerType == nil {
			out.RawString("null")
		} else {
			out.Int32(int32(*in.PeerType))
		}
	}
	if in.Method != nil {
		if !first {
			out.RawByte(',')
		}
		first = false
		out.RawString("\"method\":")
		if in.Method == nil {
			out.RawString("null")
		} else {
			out.Int32(int32(*in.Method))
		}
	}
	if in.Uri != nil {
		if !first {
			out.RawByte(',')
		}
		first = false
		out.RawString("\"uri\":")
		if in.Uri == nil {
			out.RawString("null")
		} else {
			out.String(string(*in.Uri))
		}
	}
	if in.RemoteAddress != nil {
		if !first {
			out.RawByte(',')
		}
		first = false
		out.RawString("\"remoteAddress\":")
		if in.RemoteAddress == nil {
			out.RawString("null")
		} else {
			out.String(string(*in.RemoteAddress))
		}
	}
	if in.UserAgent != nil {
		if !first {
			out.RawByte(',')
		}
		first = false
		out.RawString("\"userAgent\":")
		if in.UserAgent == nil {
			out.RawString("null")
		} else {
			out.String(string(*in.UserAgent))
		}
	}
	if in.StatusCode != nil {
		if !first {
			out.RawByte(',')
		}
		first = false
		out.RawString("\"statusCode\":")
		if in.StatusCode == nil {
			out.RawString("null")
		} else {
			out.Int32(int32(*in.StatusCode))
		}
	}
	if in.ContentLength != nil {
		if !first {
			out.RawByte(',')
		}
		first = false
		out.RawString("\"contentLength\":")
		if in.ContentLength == nil {
			out.RawString("null")
		} else {
			out.Int64(int64(*in.ContentLength))
		}
	}
	if in.ApplicationId != nil {
		if !first {
			out.RawByte(',')
		}
		first = false
		out.RawString("\"applicationId\":")
		if in.ApplicationId == nil {
			out.RawString("null")
		} else {
			(*in.ApplicationId).MarshalEasyJSON(out)
		}
	}
	if in.InstanceIndex != nil {
		if !first {
			out.RawByte(',')
		}
		first = false
		out.RawString("\"instanceIndex\":")
		if in.InstanceIndex == nil {
			out.RawString("null")
		} else {
			out.Int32(int32(*in.InstanceIndex))
		}
	}
	if in.InstanceId != nil {
		if !first {
			out.RawByte(',')
		}
		first = false
		out.RawString("\"instanceId\":")
		if in.InstanceId == nil {
			out.RawString("null")
		} else {
			out.String(string(*in.InstanceId))
		}
	}
	if len(in.Forwarded) != 0 {
		if !first {
			out.RawByte(',')
		}
		first = false
		out.RawString("\"forwarded\":")
		if in.Forwarded == nil && (out.Flags&jwriter.NilSliceAsEmpty) == 0 {
			out.RawString("null")
		} else {
			out.RawByte('[')
			for v5, v6 := range in.Forwarded {
				if v5 > 0 {
					out.RawByte(',')
				}
				out.String(string(v6))
			}
			out.RawByte(']')
		}
	}
	out.RawByte('}')
}
func (v HttpStartStop) MarshalEasyJSON(w *jwriter.Writer) {
	easyjson692db02bEncodeGithubComCloudfoundrySondeGoEvents3(w, v)
}
func (v *HttpStartStop) UnmarshalEasyJSON(l *jlexer.Lexer) {
	easyjson692db02bDecodeGithubComCloudfoundrySondeGoEvents3(l, v)
}
func easyjson692db02bDecodeGithubComCloudfoundrySondeGoEvents4(in *jlexer.Lexer, out *Error) {
	isTopLevel := in.IsStart()
	if in.IsNull() {
		if isTopLevel {
			in.Consumed()
		}
		in.Skip()
		return
	}
	in.Delim('{')
	for !in.IsDelim('}') {
		key := in.UnsafeString()
		in.WantColon()
		if in.IsNull() {
			in.Skip()
			in.WantComma()
			continue
		}
		switch key {
		case "source":
			if in.IsNull() {
				in.Skip()
				out.Source = nil
			} else {
				if out.Source == nil {
					out.Source = new(string)
				}
				*out.Source = string(in.String())
			}
		case "code":
			if in.IsNull() {
				in.Skip()
				out.Code = nil
			} else {
				if out.Code == nil {
					out.Code = new(int32)
				}
				*out.Code = int32(in.Int32())
			}
		case "message":
			if in.IsNull() {
				in.Skip()
				out.Message = nil
			} else {
				if out.Message == nil {
					out.Message = new(string)
				}
				*out.Message = string(in.String())
			}
		default:
			in.SkipRecursive()
		}
		in.WantComma()
	}
	in.Delim('}')
	if isTopLevel {
		in.Consumed()
	}
}
func easyjson692db02bEncodeGithubComCloudfoundrySondeGoEvents4(out *jwriter.Writer, in Error) {
	out.RawByte('{')
	first := true
	_ = first
	if in.Source != nil {
		if !first {
			out.RawByte(',')
		}
		first = false
		out.RawString("\"source\":")
		if in.Source == nil {
			out.RawString("null")
		} else {
			out.String(string(*in.Source))
		}
	}
	if in.Code != nil {
		if !first {
			out.RawByte(',')
		}
		first = false
		out.RawString("\"code\":")
		if in.Code == nil {
			out.RawString("null")
		} else {
			out.Int32(int32(*in.Code))
		}
	}
	if in.Message != nil {
		if !first {
			out.RawByte(',')
		}
		first = false
		out.RawString("\"message\":")
		if in.Message == nil {
			out.RawString("null")
		} else {
			out.String(string(*in.Message))
		}
	}
	out.RawByte('}')
}
func (v Error) MarshalEasyJSON(w *jwriter.Writer) {
	easyjson692db02bEncodeGithubComCloudfoundrySondeGoEvents4(w, v)
}