// Code generated by easyjson for marshaling/unmarshaling. DO NOT EDIT.

package protobufmessageprocessor

import (
	json "encoding/json"
	easyjson "github.com/mailru/easyjson"
	jlexer "github.com/mailru/easyjson/jlexer"
	jwriter "github.com/mailru/easyjson/jwriter"
)

// suppress unused package warning
var (
	_ *json.RawMessage
	_ *jlexer.Lexer
	_ *jwriter.Writer
	_ easyjson.Marshaler
)

func easyjson13589e6fDecodeGithubComCarbonblackCbEventForwarderPkgProtobufmessageprocessor(in *jlexer.Lexer, out *UnixTimeStamp) {
	isTopLevel := in.IsStart()
	if in.IsNull() {
		if isTopLevel {
			in.Consumed()
		}
		in.Skip()
		return
	}
	in.Delim('{')
	for !in.IsDelim('}') {
		key := in.UnsafeFieldName(false)
		in.WantColon()
		if in.IsNull() {
			in.Skip()
			in.WantComma()
			continue
		}
		switch key {
		case "timestamp":
			if m, ok := out.EventTimestamp.(easyjson.Unmarshaler); ok {
				m.UnmarshalEasyJSON(in)
			} else if m, ok := out.EventTimestamp.(json.Unmarshaler); ok {
				_ = m.UnmarshalJSON(in.Raw())
			} else {
				out.EventTimestamp = in.Interface()
			}
		default:
			in.SkipRecursive()
		}
		in.WantComma()
	}
	in.Delim('}')
	if isTopLevel {
		in.Consumed()
	}
}
func easyjson13589e6fEncodeGithubComCarbonblackCbEventForwarderPkgProtobufmessageprocessor(out *jwriter.Writer, in UnixTimeStamp) {
	out.RawByte('{')
	first := true
	_ = first
	{
		const prefix string = ",\"timestamp\":"
		out.RawString(prefix[1:])
		if m, ok := in.EventTimestamp.(easyjson.Marshaler); ok {
			m.MarshalEasyJSON(out)
		} else if m, ok := in.EventTimestamp.(json.Marshaler); ok {
			out.Raw(m.MarshalJSON())
		} else {
			out.Raw(json.Marshal(in.EventTimestamp))
		}
	}
	out.RawByte('}')
}

// MarshalJSON supports json.Marshaler interface
func (v UnixTimeStamp) MarshalJSON() ([]byte, error) {
	w := jwriter.Writer{}
	easyjson13589e6fEncodeGithubComCarbonblackCbEventForwarderPkgProtobufmessageprocessor(&w, v)
	return w.Buffer.BuildBytes(), w.Error
}

// MarshalEasyJSON supports easyjson.Marshaler interface
func (v UnixTimeStamp) MarshalEasyJSON(w *jwriter.Writer) {
	easyjson13589e6fEncodeGithubComCarbonblackCbEventForwarderPkgProtobufmessageprocessor(w, v)
}

// UnmarshalJSON supports json.Unmarshaler interface
func (v *UnixTimeStamp) UnmarshalJSON(data []byte) error {
	r := jlexer.Lexer{Data: data}
	easyjson13589e6fDecodeGithubComCarbonblackCbEventForwarderPkgProtobufmessageprocessor(&r, v)
	return r.Error()
}

// UnmarshalEasyJSON supports easyjson.Unmarshaler interface
func (v *UnixTimeStamp) UnmarshalEasyJSON(l *jlexer.Lexer) {
	easyjson13589e6fDecodeGithubComCarbonblackCbEventForwarderPkgProtobufmessageprocessor(l, v)
}
func easyjson13589e6fDecodeGithubComCarbonblackCbEventForwarderPkgProtobufmessageprocessor1(in *jlexer.Lexer, out *TamperAlert) {
	isTopLevel := in.IsStart()
	if in.IsNull() {
		if isTopLevel {
			in.Consumed()
		}
		in.Skip()
		return
	}
	out.BaseEvent = new(BaseEvent)
	in.Delim('{')
	for !in.IsDelim('}') {
		key := in.UnsafeFieldName(false)
		in.WantColon()
		if in.IsNull() {
			in.Skip()
			in.WantComma()
			continue
		}
		switch key {
		case "tamper_type":
			out.TamperType = string(in.String())
		case "cb_server":
			out.CbServer = string(in.StringIntern())
		case "type":
			out.Type = string(in.StringIntern())
		case "sensor_id":
			out.SensorId = int32(in.Int32())
		case "computer_name":
			out.ComputerName = string(in.String())
		case "event_type":
			out.EventType = string(in.StringIntern())
		case "timestamp":
			if m, ok := out.EventTimestamp.(easyjson.Unmarshaler); ok {
				m.UnmarshalEasyJSON(in)
			} else if m, ok := out.EventTimestamp.(json.Unmarshaler); ok {
				_ = m.UnmarshalJSON(in.Raw())
			} else {
				out.EventTimestamp = in.Interface()
			}
		default:
			in.SkipRecursive()
		}
		in.WantComma()
	}
	in.Delim('}')
	if isTopLevel {
		in.Consumed()
	}
}
func easyjson13589e6fEncodeGithubComCarbonblackCbEventForwarderPkgProtobufmessageprocessor1(out *jwriter.Writer, in TamperAlert) {
	out.RawByte('{')
	first := true
	_ = first
	{
		const prefix string = ",\"tamper_type\":"
		out.RawString(prefix[1:])
		out.String(string(in.TamperType))
	}
	if in.CbServer != "" {
		const prefix string = ",\"cb_server\":"
		out.RawString(prefix)
		out.String(string(in.CbServer))
	}
	{
		const prefix string = ",\"type\":"
		out.RawString(prefix)
		out.String(string(in.Type))
	}
	{
		const prefix string = ",\"sensor_id\":"
		out.RawString(prefix)
		out.Int32(int32(in.SensorId))
	}
	{
		const prefix string = ",\"computer_name\":"
		out.RawString(prefix)
		out.String(string(in.ComputerName))
	}
	{
		const prefix string = ",\"event_type\":"
		out.RawString(prefix)
		out.String(string(in.EventType))
	}
	{
		const prefix string = ",\"timestamp\":"
		out.RawString(prefix)
		if m, ok := in.EventTimestamp.(easyjson.Marshaler); ok {
			m.MarshalEasyJSON(out)
		} else if m, ok := in.EventTimestamp.(json.Marshaler); ok {
			out.Raw(m.MarshalJSON())
		} else {
			out.Raw(json.Marshal(in.EventTimestamp))
		}
	}
	out.RawByte('}')
}

// MarshalJSON supports json.Marshaler interface
func (v TamperAlert) MarshalJSON() ([]byte, error) {
	w := jwriter.Writer{}
	easyjson13589e6fEncodeGithubComCarbonblackCbEventForwarderPkgProtobufmessageprocessor1(&w, v)
	return w.Buffer.BuildBytes(), w.Error
}

// MarshalEasyJSON supports easyjson.Marshaler interface
func (v TamperAlert) MarshalEasyJSON(w *jwriter.Writer) {
	easyjson13589e6fEncodeGithubComCarbonblackCbEventForwarderPkgProtobufmessageprocessor1(w, v)
}

// UnmarshalJSON supports json.Unmarshaler interface
func (v *TamperAlert) UnmarshalJSON(data []byte) error {
	r := jlexer.Lexer{Data: data}
	easyjson13589e6fDecodeGithubComCarbonblackCbEventForwarderPkgProtobufmessageprocessor1(&r, v)
	return r.Error()
}

// UnmarshalEasyJSON supports easyjson.Unmarshaler interface
func (v *TamperAlert) UnmarshalEasyJSON(l *jlexer.Lexer) {
	easyjson13589e6fDecodeGithubComCarbonblackCbEventForwarderPkgProtobufmessageprocessor1(l, v)
}
func easyjson13589e6fDecodeGithubComCarbonblackCbEventForwarderPkgProtobufmessageprocessor2(in *jlexer.Lexer, out *ScriptExEvent) {
	isTopLevel := in.IsStart()
	if in.IsNull() {
		if isTopLevel {
			in.Consumed()
		}
		in.Skip()
		return
	}
	out.BaseEvent = new(BaseEvent)
	out.EventMessageWithHashes = new(EventMessageWithHashes)
	in.Delim('{')
	for !in.IsDelim('}') {
		key := in.UnsafeFieldName(false)
		in.WantColon()
		if in.IsNull() {
			in.Skip()
			in.WantComma()
			continue
		}
		switch key {
		case "script_sha256":
			out.ScriptSha256 = string(in.String())
		case "script":
			out.Script = string(in.String())
		case "sha256":
			out.Sha256 = string(in.String())
		case "md5":
			out.Md5 = string(in.String())
		case "fork_pid":
			out.ForkPid = int32(in.Int32())
		case "pid":
			out.Pid = int32(in.Int32())
		case "process_guid":
			out.ProcessGuid = string(in.String())
		case "link_process":
			out.LinkProcess = string(in.String())
		case "link_sensor":
			out.LinkSensor = string(in.String())
		case "process_path":
			out.ProcessPath = string(in.String())
		case "cb_server":
			out.CbServer = string(in.StringIntern())
		case "type":
			out.Type = string(in.StringIntern())
		case "sensor_id":
			out.SensorId = int32(in.Int32())
		case "computer_name":
			out.ComputerName = string(in.String())
		case "event_type":
			out.EventType = string(in.StringIntern())
		case "timestamp":
			if m, ok := out.EventTimestamp.(easyjson.Unmarshaler); ok {
				m.UnmarshalEasyJSON(in)
			} else if m, ok := out.EventTimestamp.(json.Unmarshaler); ok {
				_ = m.UnmarshalJSON(in.Raw())
			} else {
				out.EventTimestamp = in.Interface()
			}
		default:
			in.SkipRecursive()
		}
		in.WantComma()
	}
	in.Delim('}')
	if isTopLevel {
		in.Consumed()
	}
}
func easyjson13589e6fEncodeGithubComCarbonblackCbEventForwarderPkgProtobufmessageprocessor2(out *jwriter.Writer, in ScriptExEvent) {
	out.RawByte('{')
	first := true
	_ = first
	{
		const prefix string = ",\"script_sha256\":"
		out.RawString(prefix[1:])
		out.String(string(in.ScriptSha256))
	}
	{
		const prefix string = ",\"script\":"
		out.RawString(prefix)
		out.String(string(in.Script))
	}
	if in.Sha256 != "" {
		const prefix string = ",\"sha256\":"
		out.RawString(prefix)
		out.String(string(in.Sha256))
	}
	if in.Md5 != "" {
		const prefix string = ",\"md5\":"
		out.RawString(prefix)
		out.String(string(in.Md5))
	}
	if in.ForkPid != 0 {
		const prefix string = ",\"fork_pid\":"
		out.RawString(prefix)
		out.Int32(int32(in.ForkPid))
	}
	if in.Pid != 0 {
		const prefix string = ",\"pid\":"
		out.RawString(prefix)
		out.Int32(int32(in.Pid))
	}
	if in.ProcessGuid != "" {
		const prefix string = ",\"process_guid\":"
		out.RawString(prefix)
		out.String(string(in.ProcessGuid))
	}
	if in.LinkProcess != "" {
		const prefix string = ",\"link_process\":"
		out.RawString(prefix)
		out.String(string(in.LinkProcess))
	}
	if in.LinkSensor != "" {
		const prefix string = ",\"link_sensor\":"
		out.RawString(prefix)
		out.String(string(in.LinkSensor))
	}
	if in.ProcessPath != "" {
		const prefix string = ",\"process_path\":"
		out.RawString(prefix)
		out.String(string(in.ProcessPath))
	}
	if in.CbServer != "" {
		const prefix string = ",\"cb_server\":"
		out.RawString(prefix)
		out.String(string(in.CbServer))
	}
	{
		const prefix string = ",\"type\":"
		out.RawString(prefix)
		out.String(string(in.Type))
	}
	{
		const prefix string = ",\"sensor_id\":"
		out.RawString(prefix)
		out.Int32(int32(in.SensorId))
	}
	{
		const prefix string = ",\"computer_name\":"
		out.RawString(prefix)
		out.String(string(in.ComputerName))
	}
	{
		const prefix string = ",\"event_type\":"
		out.RawString(prefix)
		out.String(string(in.EventType))
	}
	{
		const prefix string = ",\"timestamp\":"
		out.RawString(prefix)
		if m, ok := in.EventTimestamp.(easyjson.Marshaler); ok {
			m.MarshalEasyJSON(out)
		} else if m, ok := in.EventTimestamp.(json.Marshaler); ok {
			out.Raw(m.MarshalJSON())
		} else {
			out.Raw(json.Marshal(in.EventTimestamp))
		}
	}
	out.RawByte('}')
}

// MarshalJSON supports json.Marshaler interface
func (v ScriptExEvent) MarshalJSON() ([]byte, error) {
	w := jwriter.Writer{}
	easyjson13589e6fEncodeGithubComCarbonblackCbEventForwarderPkgProtobufmessageprocessor2(&w, v)
	return w.Buffer.BuildBytes(), w.Error
}

// MarshalEasyJSON supports easyjson.Marshaler interface
func (v ScriptExEvent) MarshalEasyJSON(w *jwriter.Writer) {
	easyjson13589e6fEncodeGithubComCarbonblackCbEventForwarderPkgProtobufmessageprocessor2(w, v)
}

// UnmarshalJSON supports json.Unmarshaler interface
func (v *ScriptExEvent) UnmarshalJSON(data []byte) error {
	r := jlexer.Lexer{Data: data}
	easyjson13589e6fDecodeGithubComCarbonblackCbEventForwarderPkgProtobufmessageprocessor2(&r, v)
	return r.Error()
}

// UnmarshalEasyJSON supports easyjson.Unmarshaler interface
func (v *ScriptExEvent) UnmarshalEasyJSON(l *jlexer.Lexer) {
	easyjson13589e6fDecodeGithubComCarbonblackCbEventForwarderPkgProtobufmessageprocessor2(l, v)
}
func easyjson13589e6fDecodeGithubComCarbonblackCbEventForwarderPkgProtobufmessageprocessor3(in *jlexer.Lexer, out *RegmodEvent) {
	isTopLevel := in.IsStart()
	if in.IsNull() {
		if isTopLevel {
			in.Consumed()
		}
		in.Skip()
		return
	}
	out.BaseEvent = new(BaseEvent)
	out.EventMessageWithHashes = new(EventMessageWithHashes)
	in.Delim('{')
	for !in.IsDelim('}') {
		key := in.UnsafeFieldName(false)
		in.WantColon()
		if in.IsNull() {
			in.Skip()
			in.WantComma()
			continue
		}
		switch key {
		case "path":
			out.Path = string(in.String())
		case "action":
			out.Action = string(in.StringIntern())
		case "action_type":
			out.ActionType = int32(in.Int32())
		case "tamper":
			out.TamperSent = bool(in.Bool())
		case "tamper_sent":
			out.Tamper = bool(in.Bool())
		case "sha256":
			out.Sha256 = string(in.String())
		case "md5":
			out.Md5 = string(in.String())
		case "fork_pid":
			out.ForkPid = int32(in.Int32())
		case "pid":
			out.Pid = int32(in.Int32())
		case "process_guid":
			out.ProcessGuid = string(in.String())
		case "link_process":
			out.LinkProcess = string(in.String())
		case "link_sensor":
			out.LinkSensor = string(in.String())
		case "process_path":
			out.ProcessPath = string(in.String())
		case "cb_server":
			out.CbServer = string(in.StringIntern())
		case "type":
			out.Type = string(in.StringIntern())
		case "sensor_id":
			out.SensorId = int32(in.Int32())
		case "computer_name":
			out.ComputerName = string(in.String())
		case "event_type":
			out.EventType = string(in.StringIntern())
		case "timestamp":
			if m, ok := out.EventTimestamp.(easyjson.Unmarshaler); ok {
				m.UnmarshalEasyJSON(in)
			} else if m, ok := out.EventTimestamp.(json.Unmarshaler); ok {
				_ = m.UnmarshalJSON(in.Raw())
			} else {
				out.EventTimestamp = in.Interface()
			}
		default:
			in.SkipRecursive()
		}
		in.WantComma()
	}
	in.Delim('}')
	if isTopLevel {
		in.Consumed()
	}
}
func easyjson13589e6fEncodeGithubComCarbonblackCbEventForwarderPkgProtobufmessageprocessor3(out *jwriter.Writer, in RegmodEvent) {
	out.RawByte('{')
	first := true
	_ = first
	{
		const prefix string = ",\"path\":"
		out.RawString(prefix[1:])
		out.String(string(in.Path))
	}
	{
		const prefix string = ",\"action\":"
		out.RawString(prefix)
		out.String(string(in.Action))
	}
	{
		const prefix string = ",\"action_type\":"
		out.RawString(prefix)
		out.Int32(int32(in.ActionType))
	}
	{
		const prefix string = ",\"tamper\":"
		out.RawString(prefix)
		out.Bool(bool(in.TamperSent))
	}
	{
		const prefix string = ",\"tamper_sent\":"
		out.RawString(prefix)
		out.Bool(bool(in.Tamper))
	}
	if in.Sha256 != "" {
		const prefix string = ",\"sha256\":"
		out.RawString(prefix)
		out.String(string(in.Sha256))
	}
	if in.Md5 != "" {
		const prefix string = ",\"md5\":"
		out.RawString(prefix)
		out.String(string(in.Md5))
	}
	if in.ForkPid != 0 {
		const prefix string = ",\"fork_pid\":"
		out.RawString(prefix)
		out.Int32(int32(in.ForkPid))
	}
	if in.Pid != 0 {
		const prefix string = ",\"pid\":"
		out.RawString(prefix)
		out.Int32(int32(in.Pid))
	}
	if in.ProcessGuid != "" {
		const prefix string = ",\"process_guid\":"
		out.RawString(prefix)
		out.String(string(in.ProcessGuid))
	}
	if in.LinkProcess != "" {
		const prefix string = ",\"link_process\":"
		out.RawString(prefix)
		out.String(string(in.LinkProcess))
	}
	if in.LinkSensor != "" {
		const prefix string = ",\"link_sensor\":"
		out.RawString(prefix)
		out.String(string(in.LinkSensor))
	}
	if in.ProcessPath != "" {
		const prefix string = ",\"process_path\":"
		out.RawString(prefix)
		out.String(string(in.ProcessPath))
	}
	if in.CbServer != "" {
		const prefix string = ",\"cb_server\":"
		out.RawString(prefix)
		out.String(string(in.CbServer))
	}
	{
		const prefix string = ",\"type\":"
		out.RawString(prefix)
		out.String(string(in.Type))
	}
	{
		const prefix string = ",\"sensor_id\":"
		out.RawString(prefix)
		out.Int32(int32(in.SensorId))
	}
	{
		const prefix string = ",\"computer_name\":"
		out.RawString(prefix)
		out.String(string(in.ComputerName))
	}
	{
		const prefix string = ",\"event_type\":"
		out.RawString(prefix)
		out.String(string(in.EventType))
	}
	{
		const prefix string = ",\"timestamp\":"
		out.RawString(prefix)
		if m, ok := in.EventTimestamp.(easyjson.Marshaler); ok {
			m.MarshalEasyJSON(out)
		} else if m, ok := in.EventTimestamp.(json.Marshaler); ok {
			out.Raw(m.MarshalJSON())
		} else {
			out.Raw(json.Marshal(in.EventTimestamp))
		}
	}
	out.RawByte('}')
}

// MarshalJSON supports json.Marshaler interface
func (v RegmodEvent) MarshalJSON() ([]byte, error) {
	w := jwriter.Writer{}
	easyjson13589e6fEncodeGithubComCarbonblackCbEventForwarderPkgProtobufmessageprocessor3(&w, v)
	return w.Buffer.BuildBytes(), w.Error
}

// MarshalEasyJSON supports easyjson.Marshaler interface
func (v RegmodEvent) MarshalEasyJSON(w *jwriter.Writer) {
	easyjson13589e6fEncodeGithubComCarbonblackCbEventForwarderPkgProtobufmessageprocessor3(w, v)
}

// UnmarshalJSON supports json.Unmarshaler interface
func (v *RegmodEvent) UnmarshalJSON(data []byte) error {
	r := jlexer.Lexer{Data: data}
	easyjson13589e6fDecodeGithubComCarbonblackCbEventForwarderPkgProtobufmessageprocessor3(&r, v)
	return r.Error()
}

// UnmarshalEasyJSON supports easyjson.Unmarshaler interface
func (v *RegmodEvent) UnmarshalEasyJSON(l *jlexer.Lexer) {
	easyjson13589e6fDecodeGithubComCarbonblackCbEventForwarderPkgProtobufmessageprocessor3(l, v)
}
func easyjson13589e6fDecodeGithubComCarbonblackCbEventForwarderPkgProtobufmessageprocessor4(in *jlexer.Lexer, out *ProcessEvent) {
	isTopLevel := in.IsStart()
	if in.IsNull() {
		if isTopLevel {
			in.Consumed()
		}
		in.Skip()
		return
	}
	out.BaseEvent = new(BaseEvent)
	out.EventMessage = new(EventMessage)
	in.Delim('{')
	for !in.IsDelim('}') {
		key := in.UnsafeFieldName(false)
		in.WantColon()
		if in.IsNull() {
			in.Skip()
			in.WantComma()
			continue
		}
		switch key {
		case "path":
			out.Path = string(in.String())
		case "md5":
			out.Md5 = string(in.String())
		case "sha256":
			out.Sha256 = string(in.String())
		case "command_line":
			out.CommandLine = string(in.String())
		case "parent_path":
			out.ParentPath = string(in.String())
		case "parent_pid":
			out.ParentPid = int32(in.Int32())
		case "parent_guid":
			out.ParentGuid = int64(in.Int64())
		case "filtering_known_dlls":
			out.FilteringKnownDLLS = bool(in.Bool())
		case "parent_md5":
			out.ParentMd5 = string(in.String())
		case "parent_sha256":
			out.ParentSha256 = string(in.String())
		case "expect_followon_w_md5":
			out.ExpectFollowonWMd5 = bool(in.Bool())
		case "link_parent":
			out.LinkParent = string(in.String())
		case "username":
			out.Username = string(in.String())
		case "uid":
			out.Uid = string(in.String())
		case "parent_create_time":
			if m, ok := out.ParentCreateTimestamp.(easyjson.Unmarshaler); ok {
				m.UnmarshalEasyJSON(in)
			} else if m, ok := out.ParentCreateTimestamp.(json.Unmarshaler); ok {
				_ = m.UnmarshalJSON(in.Raw())
			} else {
				out.ParentCreateTimestamp = in.Interface()
			}
		case "fork_pid":
			out.ForkPid = int32(in.Int32())
		case "pid":
			out.Pid = int32(in.Int32())
		case "process_guid":
			out.ProcessGuid = string(in.String())
		case "link_process":
			out.LinkProcess = string(in.String())
		case "link_sensor":
			out.LinkSensor = string(in.String())
		case "process_path":
			out.ProcessPath = string(in.String())
		case "cb_server":
			out.CbServer = string(in.StringIntern())
		case "type":
			out.Type = string(in.StringIntern())
		case "sensor_id":
			out.SensorId = int32(in.Int32())
		case "computer_name":
			out.ComputerName = string(in.String())
		case "event_type":
			out.EventType = string(in.StringIntern())
		case "timestamp":
			if m, ok := out.EventTimestamp.(easyjson.Unmarshaler); ok {
				m.UnmarshalEasyJSON(in)
			} else if m, ok := out.EventTimestamp.(json.Unmarshaler); ok {
				_ = m.UnmarshalJSON(in.Raw())
			} else {
				out.EventTimestamp = in.Interface()
			}
		default:
			in.SkipRecursive()
		}
		in.WantComma()
	}
	in.Delim('}')
	if isTopLevel {
		in.Consumed()
	}
}
func easyjson13589e6fEncodeGithubComCarbonblackCbEventForwarderPkgProtobufmessageprocessor4(out *jwriter.Writer, in ProcessEvent) {
	out.RawByte('{')
	first := true
	_ = first
	{
		const prefix string = ",\"path\":"
		out.RawString(prefix[1:])
		out.String(string(in.Path))
	}
	{
		const prefix string = ",\"md5\":"
		out.RawString(prefix)
		out.String(string(in.Md5))
	}
	{
		const prefix string = ",\"sha256\":"
		out.RawString(prefix)
		out.String(string(in.Sha256))
	}
	{
		const prefix string = ",\"command_line\":"
		out.RawString(prefix)
		out.String(string(in.CommandLine))
	}
	{
		const prefix string = ",\"parent_path\":"
		out.RawString(prefix)
		out.String(string(in.ParentPath))
	}
	{
		const prefix string = ",\"parent_pid\":"
		out.RawString(prefix)
		out.Int32(int32(in.ParentPid))
	}
	{
		const prefix string = ",\"parent_guid\":"
		out.RawString(prefix)
		out.Int64(int64(in.ParentGuid))
	}
	{
		const prefix string = ",\"filtering_known_dlls\":"
		out.RawString(prefix)
		out.Bool(bool(in.FilteringKnownDLLS))
	}
	if in.ParentMd5 != "" {
		const prefix string = ",\"parent_md5\":"
		out.RawString(prefix)
		out.String(string(in.ParentMd5))
	}
	if in.ParentSha256 != "" {
		const prefix string = ",\"parent_sha256\":"
		out.RawString(prefix)
		out.String(string(in.ParentSha256))
	}
	{
		const prefix string = ",\"expect_followon_w_md5\":"
		out.RawString(prefix)
		out.Bool(bool(in.ExpectFollowonWMd5))
	}
	if in.LinkParent != "" {
		const prefix string = ",\"link_parent\":"
		out.RawString(prefix)
		out.String(string(in.LinkParent))
	}
	if in.Username != "" {
		const prefix string = ",\"username\":"
		out.RawString(prefix)
		out.String(string(in.Username))
	}
	if in.Uid != "" {
		const prefix string = ",\"uid\":"
		out.RawString(prefix)
		out.String(string(in.Uid))
	}
	{
		const prefix string = ",\"parent_create_time\":"
		out.RawString(prefix)
		if m, ok := in.ParentCreateTimestamp.(easyjson.Marshaler); ok {
			m.MarshalEasyJSON(out)
		} else if m, ok := in.ParentCreateTimestamp.(json.Marshaler); ok {
			out.Raw(m.MarshalJSON())
		} else {
			out.Raw(json.Marshal(in.ParentCreateTimestamp))
		}
	}
	if in.ForkPid != 0 {
		const prefix string = ",\"fork_pid\":"
		out.RawString(prefix)
		out.Int32(int32(in.ForkPid))
	}
	if in.Pid != 0 {
		const prefix string = ",\"pid\":"
		out.RawString(prefix)
		out.Int32(int32(in.Pid))
	}
	if in.ProcessGuid != "" {
		const prefix string = ",\"process_guid\":"
		out.RawString(prefix)
		out.String(string(in.ProcessGuid))
	}
	if in.LinkProcess != "" {
		const prefix string = ",\"link_process\":"
		out.RawString(prefix)
		out.String(string(in.LinkProcess))
	}
	if in.LinkSensor != "" {
		const prefix string = ",\"link_sensor\":"
		out.RawString(prefix)
		out.String(string(in.LinkSensor))
	}
	if in.ProcessPath != "" {
		const prefix string = ",\"process_path\":"
		out.RawString(prefix)
		out.String(string(in.ProcessPath))
	}
	if in.CbServer != "" {
		const prefix string = ",\"cb_server\":"
		out.RawString(prefix)
		out.String(string(in.CbServer))
	}
	{
		const prefix string = ",\"type\":"
		out.RawString(prefix)
		out.String(string(in.Type))
	}
	{
		const prefix string = ",\"sensor_id\":"
		out.RawString(prefix)
		out.Int32(int32(in.SensorId))
	}
	{
		const prefix string = ",\"computer_name\":"
		out.RawString(prefix)
		out.String(string(in.ComputerName))
	}
	{
		const prefix string = ",\"event_type\":"
		out.RawString(prefix)
		out.String(string(in.EventType))
	}
	{
		const prefix string = ",\"timestamp\":"
		out.RawString(prefix)
		if m, ok := in.EventTimestamp.(easyjson.Marshaler); ok {
			m.MarshalEasyJSON(out)
		} else if m, ok := in.EventTimestamp.(json.Marshaler); ok {
			out.Raw(m.MarshalJSON())
		} else {
			out.Raw(json.Marshal(in.EventTimestamp))
		}
	}
	out.RawByte('}')
}

// MarshalJSON supports json.Marshaler interface
func (v ProcessEvent) MarshalJSON() ([]byte, error) {
	w := jwriter.Writer{}
	easyjson13589e6fEncodeGithubComCarbonblackCbEventForwarderPkgProtobufmessageprocessor4(&w, v)
	return w.Buffer.BuildBytes(), w.Error
}

// MarshalEasyJSON supports easyjson.Marshaler interface
func (v ProcessEvent) MarshalEasyJSON(w *jwriter.Writer) {
	easyjson13589e6fEncodeGithubComCarbonblackCbEventForwarderPkgProtobufmessageprocessor4(w, v)
}

// UnmarshalJSON supports json.Unmarshaler interface
func (v *ProcessEvent) UnmarshalJSON(data []byte) error {
	r := jlexer.Lexer{Data: data}
	easyjson13589e6fDecodeGithubComCarbonblackCbEventForwarderPkgProtobufmessageprocessor4(&r, v)
	return r.Error()
}

// UnmarshalEasyJSON supports easyjson.Unmarshaler interface
func (v *ProcessEvent) UnmarshalEasyJSON(l *jlexer.Lexer) {
	easyjson13589e6fDecodeGithubComCarbonblackCbEventForwarderPkgProtobufmessageprocessor4(l, v)
}
func easyjson13589e6fDecodeGithubComCarbonblackCbEventForwarderPkgProtobufmessageprocessor5(in *jlexer.Lexer, out *ParentCreateTime) {
	isTopLevel := in.IsStart()
	if in.IsNull() {
		if isTopLevel {
			in.Consumed()
		}
		in.Skip()
		return
	}
	in.Delim('{')
	for !in.IsDelim('}') {
		key := in.UnsafeFieldName(false)
		in.WantColon()
		if in.IsNull() {
			in.Skip()
			in.WantComma()
			continue
		}
		switch key {
		case "parent_create_time":
			if m, ok := out.ParentCreateTimestamp.(easyjson.Unmarshaler); ok {
				m.UnmarshalEasyJSON(in)
			} else if m, ok := out.ParentCreateTimestamp.(json.Unmarshaler); ok {
				_ = m.UnmarshalJSON(in.Raw())
			} else {
				out.ParentCreateTimestamp = in.Interface()
			}
		default:
			in.SkipRecursive()
		}
		in.WantComma()
	}
	in.Delim('}')
	if isTopLevel {
		in.Consumed()
	}
}
func easyjson13589e6fEncodeGithubComCarbonblackCbEventForwarderPkgProtobufmessageprocessor5(out *jwriter.Writer, in ParentCreateTime) {
	out.RawByte('{')
	first := true
	_ = first
	{
		const prefix string = ",\"parent_create_time\":"
		out.RawString(prefix[1:])
		if m, ok := in.ParentCreateTimestamp.(easyjson.Marshaler); ok {
			m.MarshalEasyJSON(out)
		} else if m, ok := in.ParentCreateTimestamp.(json.Marshaler); ok {
			out.Raw(m.MarshalJSON())
		} else {
			out.Raw(json.Marshal(in.ParentCreateTimestamp))
		}
	}
	out.RawByte('}')
}

// MarshalJSON supports json.Marshaler interface
func (v ParentCreateTime) MarshalJSON() ([]byte, error) {
	w := jwriter.Writer{}
	easyjson13589e6fEncodeGithubComCarbonblackCbEventForwarderPkgProtobufmessageprocessor5(&w, v)
	return w.Buffer.BuildBytes(), w.Error
}

// MarshalEasyJSON supports easyjson.Marshaler interface
func (v ParentCreateTime) MarshalEasyJSON(w *jwriter.Writer) {
	easyjson13589e6fEncodeGithubComCarbonblackCbEventForwarderPkgProtobufmessageprocessor5(w, v)
}

// UnmarshalJSON supports json.Unmarshaler interface
func (v *ParentCreateTime) UnmarshalJSON(data []byte) error {
	r := jlexer.Lexer{Data: data}
	easyjson13589e6fDecodeGithubComCarbonblackCbEventForwarderPkgProtobufmessageprocessor5(&r, v)
	return r.Error()
}

// UnmarshalEasyJSON supports easyjson.Unmarshaler interface
func (v *ParentCreateTime) UnmarshalEasyJSON(l *jlexer.Lexer) {
	easyjson13589e6fDecodeGithubComCarbonblackCbEventForwarderPkgProtobufmessageprocessor5(l, v)
}
func easyjson13589e6fDecodeGithubComCarbonblackCbEventForwarderPkgProtobufmessageprocessor6(in *jlexer.Lexer, out *NetworkV2Event) {
	isTopLevel := in.IsStart()
	if in.IsNull() {
		if isTopLevel {
			in.Consumed()
		}
		in.Skip()
		return
	}
	out.BaseEvent = new(BaseEvent)
	out.EventMessageWithHashes = new(EventMessageWithHashes)
	in.Delim('{')
	for !in.IsDelim('}') {
		key := in.UnsafeFieldName(false)
		in.WantColon()
		if in.IsNull() {
			in.Skip()
			in.WantComma()
			continue
		}
		switch key {
		case "Protocol":
			out.Protocol = int32(in.Int32())
		case "domain":
			out.Domain = string(in.String())
		case "direction":
			out.Direction = string(in.String())
		case "ja3":
			out.Ja3 = string(in.String())
		case "ja3s":
			out.Ja3s = string(in.String())
		case "local_ip":
			out.LocalIP = string(in.String())
		case "local_port":
			out.LocalPort = uint16(in.Uint16())
		case "remote_ip":
			out.RemoteIP = string(in.String())
		case "remote_port":
			out.RemotePort = uint16(in.Uint16())
		case "proxy":
			out.Proxy = bool(in.Bool())
		case "proxy_ip":
			out.ProxyIP = string(in.String())
		case "proxy_port":
			out.ProxyPort = uint16(in.Uint16())
		case "proxy_domain":
			out.ProxyDomain = string(in.String())
		case "sha256":
			out.Sha256 = string(in.String())
		case "md5":
			out.Md5 = string(in.String())
		case "fork_pid":
			out.ForkPid = int32(in.Int32())
		case "pid":
			out.Pid = int32(in.Int32())
		case "process_guid":
			out.ProcessGuid = string(in.String())
		case "link_process":
			out.LinkProcess = string(in.String())
		case "link_sensor":
			out.LinkSensor = string(in.String())
		case "process_path":
			out.ProcessPath = string(in.String())
		case "cb_server":
			out.CbServer = string(in.StringIntern())
		case "type":
			out.Type = string(in.StringIntern())
		case "sensor_id":
			out.SensorId = int32(in.Int32())
		case "computer_name":
			out.ComputerName = string(in.String())
		case "event_type":
			out.EventType = string(in.StringIntern())
		case "timestamp":
			if m, ok := out.EventTimestamp.(easyjson.Unmarshaler); ok {
				m.UnmarshalEasyJSON(in)
			} else if m, ok := out.EventTimestamp.(json.Unmarshaler); ok {
				_ = m.UnmarshalJSON(in.Raw())
			} else {
				out.EventTimestamp = in.Interface()
			}
		default:
			in.SkipRecursive()
		}
		in.WantComma()
	}
	in.Delim('}')
	if isTopLevel {
		in.Consumed()
	}
}
func easyjson13589e6fEncodeGithubComCarbonblackCbEventForwarderPkgProtobufmessageprocessor6(out *jwriter.Writer, in NetworkV2Event) {
	out.RawByte('{')
	first := true
	_ = first
	{
		const prefix string = ",\"Protocol\":"
		out.RawString(prefix[1:])
		out.Int32(int32(in.Protocol))
	}
	{
		const prefix string = ",\"domain\":"
		out.RawString(prefix)
		out.String(string(in.Domain))
	}
	{
		const prefix string = ",\"direction\":"
		out.RawString(prefix)
		out.String(string(in.Direction))
	}
	if in.Ja3 != "" {
		const prefix string = ",\"ja3\":"
		out.RawString(prefix)
		out.String(string(in.Ja3))
	}
	if in.Ja3s != "" {
		const prefix string = ",\"ja3s\":"
		out.RawString(prefix)
		out.String(string(in.Ja3s))
	}
	{
		const prefix string = ",\"local_ip\":"
		out.RawString(prefix)
		out.String(string(in.LocalIP))
	}
	{
		const prefix string = ",\"local_port\":"
		out.RawString(prefix)
		out.Uint16(uint16(in.LocalPort))
	}
	{
		const prefix string = ",\"remote_ip\":"
		out.RawString(prefix)
		out.String(string(in.RemoteIP))
	}
	{
		const prefix string = ",\"remote_port\":"
		out.RawString(prefix)
		out.Uint16(uint16(in.RemotePort))
	}
	{
		const prefix string = ",\"proxy\":"
		out.RawString(prefix)
		out.Bool(bool(in.Proxy))
	}
	{
		const prefix string = ",\"proxy_ip\":"
		out.RawString(prefix)
		out.String(string(in.ProxyIP))
	}
	if in.ProxyPort != 0 {
		const prefix string = ",\"proxy_port\":"
		out.RawString(prefix)
		out.Uint16(uint16(in.ProxyPort))
	}
	{
		const prefix string = ",\"proxy_domain\":"
		out.RawString(prefix)
		out.String(string(in.ProxyDomain))
	}
	if in.Sha256 != "" {
		const prefix string = ",\"sha256\":"
		out.RawString(prefix)
		out.String(string(in.Sha256))
	}
	if in.Md5 != "" {
		const prefix string = ",\"md5\":"
		out.RawString(prefix)
		out.String(string(in.Md5))
	}
	if in.ForkPid != 0 {
		const prefix string = ",\"fork_pid\":"
		out.RawString(prefix)
		out.Int32(int32(in.ForkPid))
	}
	if in.Pid != 0 {
		const prefix string = ",\"pid\":"
		out.RawString(prefix)
		out.Int32(int32(in.Pid))
	}
	if in.ProcessGuid != "" {
		const prefix string = ",\"process_guid\":"
		out.RawString(prefix)
		out.String(string(in.ProcessGuid))
	}
	if in.LinkProcess != "" {
		const prefix string = ",\"link_process\":"
		out.RawString(prefix)
		out.String(string(in.LinkProcess))
	}
	if in.LinkSensor != "" {
		const prefix string = ",\"link_sensor\":"
		out.RawString(prefix)
		out.String(string(in.LinkSensor))
	}
	if in.ProcessPath != "" {
		const prefix string = ",\"process_path\":"
		out.RawString(prefix)
		out.String(string(in.ProcessPath))
	}
	if in.CbServer != "" {
		const prefix string = ",\"cb_server\":"
		out.RawString(prefix)
		out.String(string(in.CbServer))
	}
	{
		const prefix string = ",\"type\":"
		out.RawString(prefix)
		out.String(string(in.Type))
	}
	{
		const prefix string = ",\"sensor_id\":"
		out.RawString(prefix)
		out.Int32(int32(in.SensorId))
	}
	{
		const prefix string = ",\"computer_name\":"
		out.RawString(prefix)
		out.String(string(in.ComputerName))
	}
	{
		const prefix string = ",\"event_type\":"
		out.RawString(prefix)
		out.String(string(in.EventType))
	}
	{
		const prefix string = ",\"timestamp\":"
		out.RawString(prefix)
		if m, ok := in.EventTimestamp.(easyjson.Marshaler); ok {
			m.MarshalEasyJSON(out)
		} else if m, ok := in.EventTimestamp.(json.Marshaler); ok {
			out.Raw(m.MarshalJSON())
		} else {
			out.Raw(json.Marshal(in.EventTimestamp))
		}
	}
	out.RawByte('}')
}

// MarshalJSON supports json.Marshaler interface
func (v NetworkV2Event) MarshalJSON() ([]byte, error) {
	w := jwriter.Writer{}
	easyjson13589e6fEncodeGithubComCarbonblackCbEventForwarderPkgProtobufmessageprocessor6(&w, v)
	return w.Buffer.BuildBytes(), w.Error
}

// MarshalEasyJSON supports easyjson.Marshaler interface
func (v NetworkV2Event) MarshalEasyJSON(w *jwriter.Writer) {
	easyjson13589e6fEncodeGithubComCarbonblackCbEventForwarderPkgProtobufmessageprocessor6(w, v)
}

// UnmarshalJSON supports json.Unmarshaler interface
func (v *NetworkV2Event) UnmarshalJSON(data []byte) error {
	r := jlexer.Lexer{Data: data}
	easyjson13589e6fDecodeGithubComCarbonblackCbEventForwarderPkgProtobufmessageprocessor6(&r, v)
	return r.Error()
}

// UnmarshalEasyJSON supports easyjson.Unmarshaler interface
func (v *NetworkV2Event) UnmarshalEasyJSON(l *jlexer.Lexer) {
	easyjson13589e6fDecodeGithubComCarbonblackCbEventForwarderPkgProtobufmessageprocessor6(l, v)
}
func easyjson13589e6fDecodeGithubComCarbonblackCbEventForwarderPkgProtobufmessageprocessor7(in *jlexer.Lexer, out *NetconEvent) {
	isTopLevel := in.IsStart()
	if in.IsNull() {
		if isTopLevel {
			in.Consumed()
		}
		in.Skip()
		return
	}
	out.BaseEvent = new(BaseEvent)
	out.EventMessageWithHashes = new(EventMessageWithHashes)
	in.Delim('{')
	for !in.IsDelim('}') {
		key := in.UnsafeFieldName(false)
		in.WantColon()
		if in.IsNull() {
			in.Skip()
			in.WantComma()
			continue
		}
		switch key {
		case "remote_port":
			out.RemotePort = uint16(in.Uint16())
		case "local_ip":
			out.LocalIp = string(in.String())
		case "local_port":
			out.LocalPort = uint16(in.Uint16())
		case "direction":
			out.Direction = string(in.String())
		case "domain":
			out.Domain = string(in.String())
		case "protocol":
			out.Protocol = int32(in.Int32())
		case "port":
			out.Port = uint16(in.Uint16())
		case "ipv4":
			out.Ipv4 = string(in.String())
		case "remote_ip":
			out.RemoteIp = string(in.String())
		case "sha256":
			out.Sha256 = string(in.String())
		case "md5":
			out.Md5 = string(in.String())
		case "fork_pid":
			out.ForkPid = int32(in.Int32())
		case "pid":
			out.Pid = int32(in.Int32())
		case "process_guid":
			out.ProcessGuid = string(in.String())
		case "link_process":
			out.LinkProcess = string(in.String())
		case "link_sensor":
			out.LinkSensor = string(in.String())
		case "process_path":
			out.ProcessPath = string(in.String())
		case "cb_server":
			out.CbServer = string(in.StringIntern())
		case "type":
			out.Type = string(in.StringIntern())
		case "sensor_id":
			out.SensorId = int32(in.Int32())
		case "computer_name":
			out.ComputerName = string(in.String())
		case "event_type":
			out.EventType = string(in.StringIntern())
		case "timestamp":
			if m, ok := out.EventTimestamp.(easyjson.Unmarshaler); ok {
				m.UnmarshalEasyJSON(in)
			} else if m, ok := out.EventTimestamp.(json.Unmarshaler); ok {
				_ = m.UnmarshalJSON(in.Raw())
			} else {
				out.EventTimestamp = in.Interface()
			}
		default:
			in.SkipRecursive()
		}
		in.WantComma()
	}
	in.Delim('}')
	if isTopLevel {
		in.Consumed()
	}
}
func easyjson13589e6fEncodeGithubComCarbonblackCbEventForwarderPkgProtobufmessageprocessor7(out *jwriter.Writer, in NetconEvent) {
	out.RawByte('{')
	first := true
	_ = first
	if in.RemotePort != 0 {
		const prefix string = ",\"remote_port\":"
		first = false
		out.RawString(prefix[1:])
		out.Uint16(uint16(in.RemotePort))
	}
	if in.LocalIp != "" {
		const prefix string = ",\"local_ip\":"
		if first {
			first = false
			out.RawString(prefix[1:])
		} else {
			out.RawString(prefix)
		}
		out.String(string(in.LocalIp))
	}
	if in.LocalPort != 0 {
		const prefix string = ",\"local_port\":"
		if first {
			first = false
			out.RawString(prefix[1:])
		} else {
			out.RawString(prefix)
		}
		out.Uint16(uint16(in.LocalPort))
	}
	{
		const prefix string = ",\"direction\":"
		if first {
			first = false
			out.RawString(prefix[1:])
		} else {
			out.RawString(prefix)
		}
		out.String(string(in.Direction))
	}
	{
		const prefix string = ",\"domain\":"
		out.RawString(prefix)
		out.String(string(in.Domain))
	}
	{
		const prefix string = ",\"protocol\":"
		out.RawString(prefix)
		out.Int32(int32(in.Protocol))
	}
	{
		const prefix string = ",\"port\":"
		out.RawString(prefix)
		out.Uint16(uint16(in.Port))
	}
	{
		const prefix string = ",\"ipv4\":"
		out.RawString(prefix)
		out.String(string(in.Ipv4))
	}
	if in.RemoteIp != "" {
		const prefix string = ",\"remote_ip\":"
		out.RawString(prefix)
		out.String(string(in.RemoteIp))
	}
	if in.Sha256 != "" {
		const prefix string = ",\"sha256\":"
		out.RawString(prefix)
		out.String(string(in.Sha256))
	}
	if in.Md5 != "" {
		const prefix string = ",\"md5\":"
		out.RawString(prefix)
		out.String(string(in.Md5))
	}
	if in.ForkPid != 0 {
		const prefix string = ",\"fork_pid\":"
		out.RawString(prefix)
		out.Int32(int32(in.ForkPid))
	}
	if in.Pid != 0 {
		const prefix string = ",\"pid\":"
		out.RawString(prefix)
		out.Int32(int32(in.Pid))
	}
	if in.ProcessGuid != "" {
		const prefix string = ",\"process_guid\":"
		out.RawString(prefix)
		out.String(string(in.ProcessGuid))
	}
	if in.LinkProcess != "" {
		const prefix string = ",\"link_process\":"
		out.RawString(prefix)
		out.String(string(in.LinkProcess))
	}
	if in.LinkSensor != "" {
		const prefix string = ",\"link_sensor\":"
		out.RawString(prefix)
		out.String(string(in.LinkSensor))
	}
	if in.ProcessPath != "" {
		const prefix string = ",\"process_path\":"
		out.RawString(prefix)
		out.String(string(in.ProcessPath))
	}
	if in.CbServer != "" {
		const prefix string = ",\"cb_server\":"
		out.RawString(prefix)
		out.String(string(in.CbServer))
	}
	{
		const prefix string = ",\"type\":"
		out.RawString(prefix)
		out.String(string(in.Type))
	}
	{
		const prefix string = ",\"sensor_id\":"
		out.RawString(prefix)
		out.Int32(int32(in.SensorId))
	}
	{
		const prefix string = ",\"computer_name\":"
		out.RawString(prefix)
		out.String(string(in.ComputerName))
	}
	{
		const prefix string = ",\"event_type\":"
		out.RawString(prefix)
		out.String(string(in.EventType))
	}
	{
		const prefix string = ",\"timestamp\":"
		out.RawString(prefix)
		if m, ok := in.EventTimestamp.(easyjson.Marshaler); ok {
			m.MarshalEasyJSON(out)
		} else if m, ok := in.EventTimestamp.(json.Marshaler); ok {
			out.Raw(m.MarshalJSON())
		} else {
			out.Raw(json.Marshal(in.EventTimestamp))
		}
	}
	out.RawByte('}')
}

// MarshalJSON supports json.Marshaler interface
func (v NetconEvent) MarshalJSON() ([]byte, error) {
	w := jwriter.Writer{}
	easyjson13589e6fEncodeGithubComCarbonblackCbEventForwarderPkgProtobufmessageprocessor7(&w, v)
	return w.Buffer.BuildBytes(), w.Error
}

// MarshalEasyJSON supports easyjson.Marshaler interface
func (v NetconEvent) MarshalEasyJSON(w *jwriter.Writer) {
	easyjson13589e6fEncodeGithubComCarbonblackCbEventForwarderPkgProtobufmessageprocessor7(w, v)
}

// UnmarshalJSON supports json.Unmarshaler interface
func (v *NetconEvent) UnmarshalJSON(data []byte) error {
	r := jlexer.Lexer{Data: data}
	easyjson13589e6fDecodeGithubComCarbonblackCbEventForwarderPkgProtobufmessageprocessor7(&r, v)
	return r.Error()
}

// UnmarshalEasyJSON supports easyjson.Unmarshaler interface
func (v *NetconEvent) UnmarshalEasyJSON(l *jlexer.Lexer) {
	easyjson13589e6fDecodeGithubComCarbonblackCbEventForwarderPkgProtobufmessageprocessor7(l, v)
}
func easyjson13589e6fDecodeGithubComCarbonblackCbEventForwarderPkgProtobufmessageprocessor8(in *jlexer.Lexer, out *ModloadMessage) {
	isTopLevel := in.IsStart()
	if in.IsNull() {
		if isTopLevel {
			in.Consumed()
		}
		in.Skip()
		return
	}
	out.BaseEvent = new(BaseEvent)
	out.EventMessage = new(EventMessage)
	in.Delim('{')
	for !in.IsDelim('}') {
		key := in.UnsafeFieldName(false)
		in.WantColon()
		if in.IsNull() {
			in.Skip()
			in.WantComma()
			continue
		}
		switch key {
		case "path":
			out.Path = string(in.String())
		case "md5":
			out.Md5 = string(in.String())
		case "sha256":
			out.Sha256 = string(in.String())
		case "command_line":
			out.CommandLine = string(in.String())
		case "fork_pid":
			out.ForkPid = int32(in.Int32())
		case "pid":
			out.Pid = int32(in.Int32())
		case "process_guid":
			out.ProcessGuid = string(in.String())
		case "link_process":
			out.LinkProcess = string(in.String())
		case "link_sensor":
			out.LinkSensor = string(in.String())
		case "process_path":
			out.ProcessPath = string(in.String())
		case "cb_server":
			out.CbServer = string(in.StringIntern())
		case "type":
			out.Type = string(in.StringIntern())
		case "sensor_id":
			out.SensorId = int32(in.Int32())
		case "computer_name":
			out.ComputerName = string(in.String())
		case "event_type":
			out.EventType = string(in.StringIntern())
		case "timestamp":
			if m, ok := out.EventTimestamp.(easyjson.Unmarshaler); ok {
				m.UnmarshalEasyJSON(in)
			} else if m, ok := out.EventTimestamp.(json.Unmarshaler); ok {
				_ = m.UnmarshalJSON(in.Raw())
			} else {
				out.EventTimestamp = in.Interface()
			}
		default:
			in.SkipRecursive()
		}
		in.WantComma()
	}
	in.Delim('}')
	if isTopLevel {
		in.Consumed()
	}
}
func easyjson13589e6fEncodeGithubComCarbonblackCbEventForwarderPkgProtobufmessageprocessor8(out *jwriter.Writer, in ModloadMessage) {
	out.RawByte('{')
	first := true
	_ = first
	{
		const prefix string = ",\"path\":"
		out.RawString(prefix[1:])
		out.String(string(in.Path))
	}
	{
		const prefix string = ",\"md5\":"
		out.RawString(prefix)
		out.String(string(in.Md5))
	}
	{
		const prefix string = ",\"sha256\":"
		out.RawString(prefix)
		out.String(string(in.Sha256))
	}
	{
		const prefix string = ",\"command_line\":"
		out.RawString(prefix)
		out.String(string(in.CommandLine))
	}
	if in.ForkPid != 0 {
		const prefix string = ",\"fork_pid\":"
		out.RawString(prefix)
		out.Int32(int32(in.ForkPid))
	}
	if in.Pid != 0 {
		const prefix string = ",\"pid\":"
		out.RawString(prefix)
		out.Int32(int32(in.Pid))
	}
	if in.ProcessGuid != "" {
		const prefix string = ",\"process_guid\":"
		out.RawString(prefix)
		out.String(string(in.ProcessGuid))
	}
	if in.LinkProcess != "" {
		const prefix string = ",\"link_process\":"
		out.RawString(prefix)
		out.String(string(in.LinkProcess))
	}
	if in.LinkSensor != "" {
		const prefix string = ",\"link_sensor\":"
		out.RawString(prefix)
		out.String(string(in.LinkSensor))
	}
	if in.ProcessPath != "" {
		const prefix string = ",\"process_path\":"
		out.RawString(prefix)
		out.String(string(in.ProcessPath))
	}
	if in.CbServer != "" {
		const prefix string = ",\"cb_server\":"
		out.RawString(prefix)
		out.String(string(in.CbServer))
	}
	{
		const prefix string = ",\"type\":"
		out.RawString(prefix)
		out.String(string(in.Type))
	}
	{
		const prefix string = ",\"sensor_id\":"
		out.RawString(prefix)
		out.Int32(int32(in.SensorId))
	}
	{
		const prefix string = ",\"computer_name\":"
		out.RawString(prefix)
		out.String(string(in.ComputerName))
	}
	{
		const prefix string = ",\"event_type\":"
		out.RawString(prefix)
		out.String(string(in.EventType))
	}
	{
		const prefix string = ",\"timestamp\":"
		out.RawString(prefix)
		if m, ok := in.EventTimestamp.(easyjson.Marshaler); ok {
			m.MarshalEasyJSON(out)
		} else if m, ok := in.EventTimestamp.(json.Marshaler); ok {
			out.Raw(m.MarshalJSON())
		} else {
			out.Raw(json.Marshal(in.EventTimestamp))
		}
	}
	out.RawByte('}')
}

// MarshalJSON supports json.Marshaler interface
func (v ModloadMessage) MarshalJSON() ([]byte, error) {
	w := jwriter.Writer{}
	easyjson13589e6fEncodeGithubComCarbonblackCbEventForwarderPkgProtobufmessageprocessor8(&w, v)
	return w.Buffer.BuildBytes(), w.Error
}

// MarshalEasyJSON supports easyjson.Marshaler interface
func (v ModloadMessage) MarshalEasyJSON(w *jwriter.Writer) {
	easyjson13589e6fEncodeGithubComCarbonblackCbEventForwarderPkgProtobufmessageprocessor8(w, v)
}

// UnmarshalJSON supports json.Unmarshaler interface
func (v *ModloadMessage) UnmarshalJSON(data []byte) error {
	r := jlexer.Lexer{Data: data}
	easyjson13589e6fDecodeGithubComCarbonblackCbEventForwarderPkgProtobufmessageprocessor8(&r, v)
	return r.Error()
}

// UnmarshalEasyJSON supports easyjson.Unmarshaler interface
func (v *ModloadMessage) UnmarshalEasyJSON(l *jlexer.Lexer) {
	easyjson13589e6fDecodeGithubComCarbonblackCbEventForwarderPkgProtobufmessageprocessor8(l, v)
}
func easyjson13589e6fDecodeGithubComCarbonblackCbEventForwarderPkgProtobufmessageprocessor9(in *jlexer.Lexer, out *ModInfoEvent) {
	isTopLevel := in.IsStart()
	if in.IsNull() {
		if isTopLevel {
			in.Consumed()
		}
		in.Skip()
		return
	}
	out.BaseEvent = new(BaseEvent)
	in.Delim('{')
	for !in.IsDelim('}') {
		key := in.UnsafeFieldName(false)
		in.WantColon()
		if in.IsNull() {
			in.Skip()
			in.WantComma()
			continue
		}
		switch key {
		case "digsig":
			if in.IsNull() {
				in.Skip()
				out.Digsig = nil
			} else {
				if out.Digsig == nil {
					out.Digsig = new(DigSigResult)
				}
				(*out.Digsig).UnmarshalEasyJSON(in)
			}
		case "utf_8_copied_module_length":
			out.Utf8CopiedModuleLength = uint32(in.Uint32())
		case "utf_8_file_dscription":
			out.Utf8FileDescription = string(in.String())
		case "utf_8_company_name":
			out.Utf8CompanyName = string(in.String())
		case "utf_8_comments":
			out.Utf8Comments = string(in.String())
		case "utf_8_file_version":
			out.Utf8FileVersion = string(in.String())
		case "utf_8_legal_copyright":
			out.Utf8LegalCopyRight = string(in.String())
		case "utf_8_legal_trademark":
			out.Utf8LegalTradeMark = string(in.String())
		case "utf_8_internal_name":
			out.Utf8InternalName = string(in.String())
		case "utf_8_product_name":
			out.Utf8ProductName = string(in.String())
		case "utf_8_original_file_name":
			out.Utf8OriginalFileName = string(in.String())
		case "utf_8_product_description":
			out.Utf8ProductDescription = string(in.String())
		case "utf_8_product_version":
			out.Utf8ProductVersion = string(in.String())
		case "utf_8_special_build":
			out.Utf8SpecialBuild = string(in.String())
		case "image_file_header":
			if in.IsNull() {
				in.Skip()
				out.ImageFileHeader = nil
			} else {
				out.ImageFileHeader = in.Bytes()
			}
		case "utf_8_on_disk_filename":
			out.Utf8OnDiskFileName = string(in.String())
		case "icon":
			if in.IsNull() {
				in.Skip()
				out.Icon = nil
			} else {
				out.Icon = in.Bytes()
			}
		case "utf_8_private_build":
			out.Utf8PrivateBuild = string(in.String())
		case "size":
			out.Size = uint64(in.Uint64())
		case "sha256":
			out.Sha256 = string(in.String())
		case "md5":
			out.Md5 = string(in.String())
		case "cb_server":
			out.CbServer = string(in.StringIntern())
		case "type":
			out.Type = string(in.StringIntern())
		case "sensor_id":
			out.SensorId = int32(in.Int32())
		case "computer_name":
			out.ComputerName = string(in.String())
		case "event_type":
			out.EventType = string(in.StringIntern())
		case "timestamp":
			if m, ok := out.EventTimestamp.(easyjson.Unmarshaler); ok {
				m.UnmarshalEasyJSON(in)
			} else if m, ok := out.EventTimestamp.(json.Unmarshaler); ok {
				_ = m.UnmarshalJSON(in.Raw())
			} else {
				out.EventTimestamp = in.Interface()
			}
		default:
			in.SkipRecursive()
		}
		in.WantComma()
	}
	in.Delim('}')
	if isTopLevel {
		in.Consumed()
	}
}
func easyjson13589e6fEncodeGithubComCarbonblackCbEventForwarderPkgProtobufmessageprocessor9(out *jwriter.Writer, in ModInfoEvent) {
	out.RawByte('{')
	first := true
	_ = first
	{
		const prefix string = ",\"digsig\":"
		out.RawString(prefix[1:])
		if in.Digsig == nil {
			out.RawString("null")
		} else {
			(*in.Digsig).MarshalEasyJSON(out)
		}
	}
	{
		const prefix string = ",\"utf_8_copied_module_length\":"
		out.RawString(prefix)
		out.Uint32(uint32(in.Utf8CopiedModuleLength))
	}
	{
		const prefix string = ",\"utf_8_file_dscription\":"
		out.RawString(prefix)
		out.String(string(in.Utf8FileDescription))
	}
	{
		const prefix string = ",\"utf_8_company_name\":"
		out.RawString(prefix)
		out.String(string(in.Utf8CompanyName))
	}
	{
		const prefix string = ",\"utf_8_comments\":"
		out.RawString(prefix)
		out.String(string(in.Utf8Comments))
	}
	{
		const prefix string = ",\"utf_8_file_version\":"
		out.RawString(prefix)
		out.String(string(in.Utf8FileVersion))
	}
	{
		const prefix string = ",\"utf_8_legal_copyright\":"
		out.RawString(prefix)
		out.String(string(in.Utf8LegalCopyRight))
	}
	{
		const prefix string = ",\"utf_8_legal_trademark\":"
		out.RawString(prefix)
		out.String(string(in.Utf8LegalTradeMark))
	}
	{
		const prefix string = ",\"utf_8_internal_name\":"
		out.RawString(prefix)
		out.String(string(in.Utf8InternalName))
	}
	{
		const prefix string = ",\"utf_8_product_name\":"
		out.RawString(prefix)
		out.String(string(in.Utf8ProductName))
	}
	{
		const prefix string = ",\"utf_8_original_file_name\":"
		out.RawString(prefix)
		out.String(string(in.Utf8OriginalFileName))
	}
	{
		const prefix string = ",\"utf_8_product_description\":"
		out.RawString(prefix)
		out.String(string(in.Utf8ProductDescription))
	}
	{
		const prefix string = ",\"utf_8_product_version\":"
		out.RawString(prefix)
		out.String(string(in.Utf8ProductVersion))
	}
	{
		const prefix string = ",\"utf_8_special_build\":"
		out.RawString(prefix)
		out.String(string(in.Utf8SpecialBuild))
	}
	{
		const prefix string = ",\"image_file_header\":"
		out.RawString(prefix)
		out.Base64Bytes(in.ImageFileHeader)
	}
	{
		const prefix string = ",\"utf_8_on_disk_filename\":"
		out.RawString(prefix)
		out.String(string(in.Utf8OnDiskFileName))
	}
	{
		const prefix string = ",\"icon\":"
		out.RawString(prefix)
		out.Base64Bytes(in.Icon)
	}
	{
		const prefix string = ",\"utf_8_private_build\":"
		out.RawString(prefix)
		out.String(string(in.Utf8PrivateBuild))
	}
	{
		const prefix string = ",\"size\":"
		out.RawString(prefix)
		out.Uint64(uint64(in.Size))
	}
	{
		const prefix string = ",\"sha256\":"
		out.RawString(prefix)
		out.String(string(in.Sha256))
	}
	{
		const prefix string = ",\"md5\":"
		out.RawString(prefix)
		out.String(string(in.Md5))
	}
	if in.CbServer != "" {
		const prefix string = ",\"cb_server\":"
		out.RawString(prefix)
		out.String(string(in.CbServer))
	}
	{
		const prefix string = ",\"type\":"
		out.RawString(prefix)
		out.String(string(in.Type))
	}
	{
		const prefix string = ",\"sensor_id\":"
		out.RawString(prefix)
		out.Int32(int32(in.SensorId))
	}
	{
		const prefix string = ",\"computer_name\":"
		out.RawString(prefix)
		out.String(string(in.ComputerName))
	}
	{
		const prefix string = ",\"event_type\":"
		out.RawString(prefix)
		out.String(string(in.EventType))
	}
	{
		const prefix string = ",\"timestamp\":"
		out.RawString(prefix)
		if m, ok := in.EventTimestamp.(easyjson.Marshaler); ok {
			m.MarshalEasyJSON(out)
		} else if m, ok := in.EventTimestamp.(json.Marshaler); ok {
			out.Raw(m.MarshalJSON())
		} else {
			out.Raw(json.Marshal(in.EventTimestamp))
		}
	}
	out.RawByte('}')
}

// MarshalJSON supports json.Marshaler interface
func (v ModInfoEvent) MarshalJSON() ([]byte, error) {
	w := jwriter.Writer{}
	easyjson13589e6fEncodeGithubComCarbonblackCbEventForwarderPkgProtobufmessageprocessor9(&w, v)
	return w.Buffer.BuildBytes(), w.Error
}

// MarshalEasyJSON supports easyjson.Marshaler interface
func (v ModInfoEvent) MarshalEasyJSON(w *jwriter.Writer) {
	easyjson13589e6fEncodeGithubComCarbonblackCbEventForwarderPkgProtobufmessageprocessor9(w, v)
}

// UnmarshalJSON supports json.Unmarshaler interface
func (v *ModInfoEvent) UnmarshalJSON(data []byte) error {
	r := jlexer.Lexer{Data: data}
	easyjson13589e6fDecodeGithubComCarbonblackCbEventForwarderPkgProtobufmessageprocessor9(&r, v)
	return r.Error()
}

// UnmarshalEasyJSON supports easyjson.Unmarshaler interface
func (v *ModInfoEvent) UnmarshalEasyJSON(l *jlexer.Lexer) {
	easyjson13589e6fDecodeGithubComCarbonblackCbEventForwarderPkgProtobufmessageprocessor9(l, v)
}
func easyjson13589e6fDecodeGithubComCarbonblackCbEventForwarderPkgProtobufmessageprocessor10(in *jlexer.Lexer, out *HeaderHashes) {
	isTopLevel := in.IsStart()
	if in.IsNull() {
		if isTopLevel {
			in.Consumed()
		}
		in.Skip()
		return
	}
	in.Delim('{')
	for !in.IsDelim('}') {
		key := in.UnsafeFieldName(false)
		in.WantColon()
		if in.IsNull() {
			in.Skip()
			in.WantComma()
			continue
		}
		switch key {
		case "sha256":
			out.Sha256 = string(in.String())
		case "md5":
			out.Md5 = string(in.String())
		default:
			in.SkipRecursive()
		}
		in.WantComma()
	}
	in.Delim('}')
	if isTopLevel {
		in.Consumed()
	}
}
func easyjson13589e6fEncodeGithubComCarbonblackCbEventForwarderPkgProtobufmessageprocessor10(out *jwriter.Writer, in HeaderHashes) {
	out.RawByte('{')
	first := true
	_ = first
	if in.Sha256 != "" {
		const prefix string = ",\"sha256\":"
		first = false
		out.RawString(prefix[1:])
		out.String(string(in.Sha256))
	}
	if in.Md5 != "" {
		const prefix string = ",\"md5\":"
		if first {
			first = false
			out.RawString(prefix[1:])
		} else {
			out.RawString(prefix)
		}
		out.String(string(in.Md5))
	}
	out.RawByte('}')
}

// MarshalJSON supports json.Marshaler interface
func (v HeaderHashes) MarshalJSON() ([]byte, error) {
	w := jwriter.Writer{}
	easyjson13589e6fEncodeGithubComCarbonblackCbEventForwarderPkgProtobufmessageprocessor10(&w, v)
	return w.Buffer.BuildBytes(), w.Error
}

// MarshalEasyJSON supports easyjson.Marshaler interface
func (v HeaderHashes) MarshalEasyJSON(w *jwriter.Writer) {
	easyjson13589e6fEncodeGithubComCarbonblackCbEventForwarderPkgProtobufmessageprocessor10(w, v)
}

// UnmarshalJSON supports json.Unmarshaler interface
func (v *HeaderHashes) UnmarshalJSON(data []byte) error {
	r := jlexer.Lexer{Data: data}
	easyjson13589e6fDecodeGithubComCarbonblackCbEventForwarderPkgProtobufmessageprocessor10(&r, v)
	return r.Error()
}

// UnmarshalEasyJSON supports easyjson.Unmarshaler interface
func (v *HeaderHashes) UnmarshalEasyJSON(l *jlexer.Lexer) {
	easyjson13589e6fDecodeGithubComCarbonblackCbEventForwarderPkgProtobufmessageprocessor10(l, v)
}
func easyjson13589e6fDecodeGithubComCarbonblackCbEventForwarderPkgProtobufmessageprocessor11(in *jlexer.Lexer, out *FilemodEvent) {
	isTopLevel := in.IsStart()
	if in.IsNull() {
		if isTopLevel {
			in.Consumed()
		}
		in.Skip()
		return
	}
	out.BaseEvent = new(BaseEvent)
	out.EventMessageWithHashes = new(EventMessageWithHashes)
	in.Delim('{')
	for !in.IsDelim('}') {
		key := in.UnsafeFieldName(false)
		in.WantColon()
		if in.IsNull() {
			in.Skip()
			in.WantComma()
			continue
		}
		switch key {
		case "path":
			out.Path = string(in.String())
		case "tamper_sent":
			out.TamperSent = bool(in.Bool())
		case "tamper":
			out.Tamper = bool(in.Bool())
		case "file_sha256":
			out.FileSha256 = string(in.String())
		case "file_md5":
			out.FileMd5 = string(in.String())
		case "filetype_name":
			out.FileTypeName = string(in.String())
		case "action_type":
			out.ActionType = int32(in.Int32())
		case "action":
			out.Action = string(in.StringIntern())
		case "file_type":
			out.FileType = int32(in.Int32())
		case "sha256":
			out.Sha256 = string(in.String())
		case "md5":
			out.Md5 = string(in.String())
		case "fork_pid":
			out.ForkPid = int32(in.Int32())
		case "pid":
			out.Pid = int32(in.Int32())
		case "process_guid":
			out.ProcessGuid = string(in.String())
		case "link_process":
			out.LinkProcess = string(in.String())
		case "link_sensor":
			out.LinkSensor = string(in.String())
		case "process_path":
			out.ProcessPath = string(in.String())
		case "cb_server":
			out.CbServer = string(in.StringIntern())
		case "type":
			out.Type = string(in.StringIntern())
		case "sensor_id":
			out.SensorId = int32(in.Int32())
		case "computer_name":
			out.ComputerName = string(in.String())
		case "event_type":
			out.EventType = string(in.StringIntern())
		case "timestamp":
			if m, ok := out.EventTimestamp.(easyjson.Unmarshaler); ok {
				m.UnmarshalEasyJSON(in)
			} else if m, ok := out.EventTimestamp.(json.Unmarshaler); ok {
				_ = m.UnmarshalJSON(in.Raw())
			} else {
				out.EventTimestamp = in.Interface()
			}
		default:
			in.SkipRecursive()
		}
		in.WantComma()
	}
	in.Delim('}')
	if isTopLevel {
		in.Consumed()
	}
}
func easyjson13589e6fEncodeGithubComCarbonblackCbEventForwarderPkgProtobufmessageprocessor11(out *jwriter.Writer, in FilemodEvent) {
	out.RawByte('{')
	first := true
	_ = first
	{
		const prefix string = ",\"path\":"
		out.RawString(prefix[1:])
		out.String(string(in.Path))
	}
	{
		const prefix string = ",\"tamper_sent\":"
		out.RawString(prefix)
		out.Bool(bool(in.TamperSent))
	}
	{
		const prefix string = ",\"tamper\":"
		out.RawString(prefix)
		out.Bool(bool(in.Tamper))
	}
	if in.FileSha256 != "" {
		const prefix string = ",\"file_sha256\":"
		out.RawString(prefix)
		out.String(string(in.FileSha256))
	}
	if in.FileMd5 != "" {
		const prefix string = ",\"file_md5\":"
		out.RawString(prefix)
		out.String(string(in.FileMd5))
	}
	if in.FileTypeName != "" {
		const prefix string = ",\"filetype_name\":"
		out.RawString(prefix)
		out.String(string(in.FileTypeName))
	}
	{
		const prefix string = ",\"action_type\":"
		out.RawString(prefix)
		out.Int32(int32(in.ActionType))
	}
	{
		const prefix string = ",\"action\":"
		out.RawString(prefix)
		out.String(string(in.Action))
	}
	{
		const prefix string = ",\"file_type\":"
		out.RawString(prefix)
		out.Int32(int32(in.FileType))
	}
	if in.Sha256 != "" {
		const prefix string = ",\"sha256\":"
		out.RawString(prefix)
		out.String(string(in.Sha256))
	}
	if in.Md5 != "" {
		const prefix string = ",\"md5\":"
		out.RawString(prefix)
		out.String(string(in.Md5))
	}
	if in.ForkPid != 0 {
		const prefix string = ",\"fork_pid\":"
		out.RawString(prefix)
		out.Int32(int32(in.ForkPid))
	}
	if in.Pid != 0 {
		const prefix string = ",\"pid\":"
		out.RawString(prefix)
		out.Int32(int32(in.Pid))
	}
	if in.ProcessGuid != "" {
		const prefix string = ",\"process_guid\":"
		out.RawString(prefix)
		out.String(string(in.ProcessGuid))
	}
	if in.LinkProcess != "" {
		const prefix string = ",\"link_process\":"
		out.RawString(prefix)
		out.String(string(in.LinkProcess))
	}
	if in.LinkSensor != "" {
		const prefix string = ",\"link_sensor\":"
		out.RawString(prefix)
		out.String(string(in.LinkSensor))
	}
	if in.ProcessPath != "" {
		const prefix string = ",\"process_path\":"
		out.RawString(prefix)
		out.String(string(in.ProcessPath))
	}
	if in.CbServer != "" {
		const prefix string = ",\"cb_server\":"
		out.RawString(prefix)
		out.String(string(in.CbServer))
	}
	{
		const prefix string = ",\"type\":"
		out.RawString(prefix)
		out.String(string(in.Type))
	}
	{
		const prefix string = ",\"sensor_id\":"
		out.RawString(prefix)
		out.Int32(int32(in.SensorId))
	}
	{
		const prefix string = ",\"computer_name\":"
		out.RawString(prefix)
		out.String(string(in.ComputerName))
	}
	{
		const prefix string = ",\"event_type\":"
		out.RawString(prefix)
		out.String(string(in.EventType))
	}
	{
		const prefix string = ",\"timestamp\":"
		out.RawString(prefix)
		if m, ok := in.EventTimestamp.(easyjson.Marshaler); ok {
			m.MarshalEasyJSON(out)
		} else if m, ok := in.EventTimestamp.(json.Marshaler); ok {
			out.Raw(m.MarshalJSON())
		} else {
			out.Raw(json.Marshal(in.EventTimestamp))
		}
	}
	out.RawByte('}')
}

// MarshalJSON supports json.Marshaler interface
func (v FilemodEvent) MarshalJSON() ([]byte, error) {
	w := jwriter.Writer{}
	easyjson13589e6fEncodeGithubComCarbonblackCbEventForwarderPkgProtobufmessageprocessor11(&w, v)
	return w.Buffer.BuildBytes(), w.Error
}

// MarshalEasyJSON supports easyjson.Marshaler interface
func (v FilemodEvent) MarshalEasyJSON(w *jwriter.Writer) {
	easyjson13589e6fEncodeGithubComCarbonblackCbEventForwarderPkgProtobufmessageprocessor11(w, v)
}

// UnmarshalJSON supports json.Unmarshaler interface
func (v *FilemodEvent) UnmarshalJSON(data []byte) error {
	r := jlexer.Lexer{Data: data}
	easyjson13589e6fDecodeGithubComCarbonblackCbEventForwarderPkgProtobufmessageprocessor11(&r, v)
	return r.Error()
}

// UnmarshalEasyJSON supports easyjson.Unmarshaler interface
func (v *FilemodEvent) UnmarshalEasyJSON(l *jlexer.Lexer) {
	easyjson13589e6fDecodeGithubComCarbonblackCbEventForwarderPkgProtobufmessageprocessor11(l, v)
}
func easyjson13589e6fDecodeGithubComCarbonblackCbEventForwarderPkgProtobufmessageprocessor12(in *jlexer.Lexer, out *EventMessageWithHashes) {
	isTopLevel := in.IsStart()
	if in.IsNull() {
		if isTopLevel {
			in.Consumed()
		}
		in.Skip()
		return
	}
	out.EventMessage = new(EventMessage)
	out.HeaderHashes = new(HeaderHashes)
	in.Delim('{')
	for !in.IsDelim('}') {
		key := in.UnsafeFieldName(false)
		in.WantColon()
		if in.IsNull() {
			in.Skip()
			in.WantComma()
			continue
		}
		switch key {
		case "sha256":
			out.Sha256 = string(in.String())
		case "md5":
			out.Md5 = string(in.String())
		case "fork_pid":
			out.ForkPid = int32(in.Int32())
		case "pid":
			out.Pid = int32(in.Int32())
		case "process_guid":
			out.ProcessGuid = string(in.String())
		case "link_process":
			out.LinkProcess = string(in.String())
		case "link_sensor":
			out.LinkSensor = string(in.String())
		case "process_path":
			out.ProcessPath = string(in.String())
		default:
			in.SkipRecursive()
		}
		in.WantComma()
	}
	in.Delim('}')
	if isTopLevel {
		in.Consumed()
	}
}
func easyjson13589e6fEncodeGithubComCarbonblackCbEventForwarderPkgProtobufmessageprocessor12(out *jwriter.Writer, in EventMessageWithHashes) {
	out.RawByte('{')
	first := true
	_ = first
	if in.Sha256 != "" {
		const prefix string = ",\"sha256\":"
		first = false
		out.RawString(prefix[1:])
		out.String(string(in.Sha256))
	}
	if in.Md5 != "" {
		const prefix string = ",\"md5\":"
		if first {
			first = false
			out.RawString(prefix[1:])
		} else {
			out.RawString(prefix)
		}
		out.String(string(in.Md5))
	}
	if in.ForkPid != 0 {
		const prefix string = ",\"fork_pid\":"
		if first {
			first = false
			out.RawString(prefix[1:])
		} else {
			out.RawString(prefix)
		}
		out.Int32(int32(in.ForkPid))
	}
	if in.Pid != 0 {
		const prefix string = ",\"pid\":"
		if first {
			first = false
			out.RawString(prefix[1:])
		} else {
			out.RawString(prefix)
		}
		out.Int32(int32(in.Pid))
	}
	if in.ProcessGuid != "" {
		const prefix string = ",\"process_guid\":"
		if first {
			first = false
			out.RawString(prefix[1:])
		} else {
			out.RawString(prefix)
		}
		out.String(string(in.ProcessGuid))
	}
	if in.LinkProcess != "" {
		const prefix string = ",\"link_process\":"
		if first {
			first = false
			out.RawString(prefix[1:])
		} else {
			out.RawString(prefix)
		}
		out.String(string(in.LinkProcess))
	}
	if in.LinkSensor != "" {
		const prefix string = ",\"link_sensor\":"
		if first {
			first = false
			out.RawString(prefix[1:])
		} else {
			out.RawString(prefix)
		}
		out.String(string(in.LinkSensor))
	}
	if in.ProcessPath != "" {
		const prefix string = ",\"process_path\":"
		if first {
			first = false
			out.RawString(prefix[1:])
		} else {
			out.RawString(prefix)
		}
		out.String(string(in.ProcessPath))
	}
	out.RawByte('}')
}

// MarshalJSON supports json.Marshaler interface
func (v EventMessageWithHashes) MarshalJSON() ([]byte, error) {
	w := jwriter.Writer{}
	easyjson13589e6fEncodeGithubComCarbonblackCbEventForwarderPkgProtobufmessageprocessor12(&w, v)
	return w.Buffer.BuildBytes(), w.Error
}

// MarshalEasyJSON supports easyjson.Marshaler interface
func (v EventMessageWithHashes) MarshalEasyJSON(w *jwriter.Writer) {
	easyjson13589e6fEncodeGithubComCarbonblackCbEventForwarderPkgProtobufmessageprocessor12(w, v)
}

// UnmarshalJSON supports json.Unmarshaler interface
func (v *EventMessageWithHashes) UnmarshalJSON(data []byte) error {
	r := jlexer.Lexer{Data: data}
	easyjson13589e6fDecodeGithubComCarbonblackCbEventForwarderPkgProtobufmessageprocessor12(&r, v)
	return r.Error()
}

// UnmarshalEasyJSON supports easyjson.Unmarshaler interface
func (v *EventMessageWithHashes) UnmarshalEasyJSON(l *jlexer.Lexer) {
	easyjson13589e6fDecodeGithubComCarbonblackCbEventForwarderPkgProtobufmessageprocessor12(l, v)
}
func easyjson13589e6fDecodeGithubComCarbonblackCbEventForwarderPkgProtobufmessageprocessor13(in *jlexer.Lexer, out *EventMessage) {
	isTopLevel := in.IsStart()
	if in.IsNull() {
		if isTopLevel {
			in.Consumed()
		}
		in.Skip()
		return
	}
	in.Delim('{')
	for !in.IsDelim('}') {
		key := in.UnsafeFieldName(false)
		in.WantColon()
		if in.IsNull() {
			in.Skip()
			in.WantComma()
			continue
		}
		switch key {
		case "fork_pid":
			out.ForkPid = int32(in.Int32())
		case "pid":
			out.Pid = int32(in.Int32())
		case "process_guid":
			out.ProcessGuid = string(in.String())
		case "link_process":
			out.LinkProcess = string(in.String())
		case "link_sensor":
			out.LinkSensor = string(in.String())
		case "process_path":
			out.ProcessPath = string(in.String())
		default:
			in.SkipRecursive()
		}
		in.WantComma()
	}
	in.Delim('}')
	if isTopLevel {
		in.Consumed()
	}
}
func easyjson13589e6fEncodeGithubComCarbonblackCbEventForwarderPkgProtobufmessageprocessor13(out *jwriter.Writer, in EventMessage) {
	out.RawByte('{')
	first := true
	_ = first
	if in.ForkPid != 0 {
		const prefix string = ",\"fork_pid\":"
		first = false
		out.RawString(prefix[1:])
		out.Int32(int32(in.ForkPid))
	}
	if in.Pid != 0 {
		const prefix string = ",\"pid\":"
		if first {
			first = false
			out.RawString(prefix[1:])
		} else {
			out.RawString(prefix)
		}
		out.Int32(int32(in.Pid))
	}
	if in.ProcessGuid != "" {
		const prefix string = ",\"process_guid\":"
		if first {
			first = false
			out.RawString(prefix[1:])
		} else {
			out.RawString(prefix)
		}
		out.String(string(in.ProcessGuid))
	}
	if in.LinkProcess != "" {
		const prefix string = ",\"link_process\":"
		if first {
			first = false
			out.RawString(prefix[1:])
		} else {
			out.RawString(prefix)
		}
		out.String(string(in.LinkProcess))
	}
	if in.LinkSensor != "" {
		const prefix string = ",\"link_sensor\":"
		if first {
			first = false
			out.RawString(prefix[1:])
		} else {
			out.RawString(prefix)
		}
		out.String(string(in.LinkSensor))
	}
	if in.ProcessPath != "" {
		const prefix string = ",\"process_path\":"
		if first {
			first = false
			out.RawString(prefix[1:])
		} else {
			out.RawString(prefix)
		}
		out.String(string(in.ProcessPath))
	}
	out.RawByte('}')
}

// MarshalJSON supports json.Marshaler interface
func (v EventMessage) MarshalJSON() ([]byte, error) {
	w := jwriter.Writer{}
	easyjson13589e6fEncodeGithubComCarbonblackCbEventForwarderPkgProtobufmessageprocessor13(&w, v)
	return w.Buffer.BuildBytes(), w.Error
}

// MarshalEasyJSON supports easyjson.Marshaler interface
func (v EventMessage) MarshalEasyJSON(w *jwriter.Writer) {
	easyjson13589e6fEncodeGithubComCarbonblackCbEventForwarderPkgProtobufmessageprocessor13(w, v)
}

// UnmarshalJSON supports json.Unmarshaler interface
func (v *EventMessage) UnmarshalJSON(data []byte) error {
	r := jlexer.Lexer{Data: data}
	easyjson13589e6fDecodeGithubComCarbonblackCbEventForwarderPkgProtobufmessageprocessor13(&r, v)
	return r.Error()
}

// UnmarshalEasyJSON supports easyjson.Unmarshaler interface
func (v *EventMessage) UnmarshalEasyJSON(l *jlexer.Lexer) {
	easyjson13589e6fDecodeGithubComCarbonblackCbEventForwarderPkgProtobufmessageprocessor13(l, v)
}
func easyjson13589e6fDecodeGithubComCarbonblackCbEventForwarderPkgProtobufmessageprocessor14(in *jlexer.Lexer, out *EmetEvent) {
	isTopLevel := in.IsStart()
	if in.IsNull() {
		if isTopLevel {
			in.Consumed()
		}
		in.Skip()
		return
	}
	out.BaseEvent = new(BaseEvent)
	out.EventMessageWithHashes = new(EventMessageWithHashes)
	in.Delim('{')
	for !in.IsDelim('}') {
		key := in.UnsafeFieldName(false)
		in.WantColon()
		if in.IsNull() {
			in.Skip()
			in.WantComma()
			continue
		}
		switch key {
		case "log_message":
			out.LogMessage = string(in.String())
		case "mitigation":
			out.Mitigation = string(in.StringIntern())
		case "blocked":
			out.Blocked = bool(in.Bool())
		case "emet_timestamp":
			out.EmetTimestamp = uint64(in.Uint64())
		case "log_id":
			out.LogId = uint64(in.Uint64())
		case "sha256":
			out.Sha256 = string(in.String())
		case "md5":
			out.Md5 = string(in.String())
		case "fork_pid":
			out.ForkPid = int32(in.Int32())
		case "pid":
			out.Pid = int32(in.Int32())
		case "process_guid":
			out.ProcessGuid = string(in.String())
		case "link_process":
			out.LinkProcess = string(in.String())
		case "link_sensor":
			out.LinkSensor = string(in.String())
		case "process_path":
			out.ProcessPath = string(in.String())
		case "cb_server":
			out.CbServer = string(in.StringIntern())
		case "type":
			out.Type = string(in.StringIntern())
		case "sensor_id":
			out.SensorId = int32(in.Int32())
		case "computer_name":
			out.ComputerName = string(in.String())
		case "event_type":
			out.EventType = string(in.StringIntern())
		case "timestamp":
			if m, ok := out.EventTimestamp.(easyjson.Unmarshaler); ok {
				m.UnmarshalEasyJSON(in)
			} else if m, ok := out.EventTimestamp.(json.Unmarshaler); ok {
				_ = m.UnmarshalJSON(in.Raw())
			} else {
				out.EventTimestamp = in.Interface()
			}
		default:
			in.SkipRecursive()
		}
		in.WantComma()
	}
	in.Delim('}')
	if isTopLevel {
		in.Consumed()
	}
}
func easyjson13589e6fEncodeGithubComCarbonblackCbEventForwarderPkgProtobufmessageprocessor14(out *jwriter.Writer, in EmetEvent) {
	out.RawByte('{')
	first := true
	_ = first
	{
		const prefix string = ",\"log_message\":"
		out.RawString(prefix[1:])
		out.String(string(in.LogMessage))
	}
	{
		const prefix string = ",\"mitigation\":"
		out.RawString(prefix)
		out.String(string(in.Mitigation))
	}
	{
		const prefix string = ",\"blocked\":"
		out.RawString(prefix)
		out.Bool(bool(in.Blocked))
	}
	{
		const prefix string = ",\"emet_timestamp\":"
		out.RawString(prefix)
		out.Uint64(uint64(in.EmetTimestamp))
	}
	{
		const prefix string = ",\"log_id\":"
		out.RawString(prefix)
		out.Uint64(uint64(in.LogId))
	}
	if in.Sha256 != "" {
		const prefix string = ",\"sha256\":"
		out.RawString(prefix)
		out.String(string(in.Sha256))
	}
	if in.Md5 != "" {
		const prefix string = ",\"md5\":"
		out.RawString(prefix)
		out.String(string(in.Md5))
	}
	if in.ForkPid != 0 {
		const prefix string = ",\"fork_pid\":"
		out.RawString(prefix)
		out.Int32(int32(in.ForkPid))
	}
	if in.Pid != 0 {
		const prefix string = ",\"pid\":"
		out.RawString(prefix)
		out.Int32(int32(in.Pid))
	}
	if in.ProcessGuid != "" {
		const prefix string = ",\"process_guid\":"
		out.RawString(prefix)
		out.String(string(in.ProcessGuid))
	}
	if in.LinkProcess != "" {
		const prefix string = ",\"link_process\":"
		out.RawString(prefix)
		out.String(string(in.LinkProcess))
	}
	if in.LinkSensor != "" {
		const prefix string = ",\"link_sensor\":"
		out.RawString(prefix)
		out.String(string(in.LinkSensor))
	}
	if in.ProcessPath != "" {
		const prefix string = ",\"process_path\":"
		out.RawString(prefix)
		out.String(string(in.ProcessPath))
	}
	if in.CbServer != "" {
		const prefix string = ",\"cb_server\":"
		out.RawString(prefix)
		out.String(string(in.CbServer))
	}
	{
		const prefix string = ",\"type\":"
		out.RawString(prefix)
		out.String(string(in.Type))
	}
	{
		const prefix string = ",\"sensor_id\":"
		out.RawString(prefix)
		out.Int32(int32(in.SensorId))
	}
	{
		const prefix string = ",\"computer_name\":"
		out.RawString(prefix)
		out.String(string(in.ComputerName))
	}
	{
		const prefix string = ",\"event_type\":"
		out.RawString(prefix)
		out.String(string(in.EventType))
	}
	{
		const prefix string = ",\"timestamp\":"
		out.RawString(prefix)
		if m, ok := in.EventTimestamp.(easyjson.Marshaler); ok {
			m.MarshalEasyJSON(out)
		} else if m, ok := in.EventTimestamp.(json.Marshaler); ok {
			out.Raw(m.MarshalJSON())
		} else {
			out.Raw(json.Marshal(in.EventTimestamp))
		}
	}
	out.RawByte('}')
}

// MarshalJSON supports json.Marshaler interface
func (v EmetEvent) MarshalJSON() ([]byte, error) {
	w := jwriter.Writer{}
	easyjson13589e6fEncodeGithubComCarbonblackCbEventForwarderPkgProtobufmessageprocessor14(&w, v)
	return w.Buffer.BuildBytes(), w.Error
}

// MarshalEasyJSON supports easyjson.Marshaler interface
func (v EmetEvent) MarshalEasyJSON(w *jwriter.Writer) {
	easyjson13589e6fEncodeGithubComCarbonblackCbEventForwarderPkgProtobufmessageprocessor14(w, v)
}

// UnmarshalJSON supports json.Unmarshaler interface
func (v *EmetEvent) UnmarshalJSON(data []byte) error {
	r := jlexer.Lexer{Data: data}
	easyjson13589e6fDecodeGithubComCarbonblackCbEventForwarderPkgProtobufmessageprocessor14(&r, v)
	return r.Error()
}

// UnmarshalEasyJSON supports easyjson.Unmarshaler interface
func (v *EmetEvent) UnmarshalEasyJSON(l *jlexer.Lexer) {
	easyjson13589e6fDecodeGithubComCarbonblackCbEventForwarderPkgProtobufmessageprocessor14(l, v)
}
func easyjson13589e6fDecodeGithubComCarbonblackCbEventForwarderPkgProtobufmessageprocessor15(in *jlexer.Lexer, out *DigSigResult) {
	isTopLevel := in.IsStart()
	if in.IsNull() {
		if isTopLevel {
			in.Consumed()
		}
		in.Skip()
		return
	}
	in.Delim('{')
	for !in.IsDelim('}') {
		key := in.UnsafeFieldName(false)
		in.WantColon()
		if in.IsNull() {
			in.Skip()
			in.WantComma()
			continue
		}
		switch key {
		case "result":
			out.Result = string(in.String())
		case "publisher":
			out.Publisher = string(in.String())
		case "program_name":
			out.ProgramName = string(in.String())
		case "issuer_name":
			out.IssuerName = string(in.String())
		case "result_code":
			out.ResultCode = string(in.String())
		case "subject_name":
			out.SubjectName = string(in.String())
		case "sign_time":
			out.SignTime = string(in.String())
		default:
			in.SkipRecursive()
		}
		in.WantComma()
	}
	in.Delim('}')
	if isTopLevel {
		in.Consumed()
	}
}
func easyjson13589e6fEncodeGithubComCarbonblackCbEventForwarderPkgProtobufmessageprocessor15(out *jwriter.Writer, in DigSigResult) {
	out.RawByte('{')
	first := true
	_ = first
	{
		const prefix string = ",\"result\":"
		out.RawString(prefix[1:])
		out.String(string(in.Result))
	}
	{
		const prefix string = ",\"publisher\":"
		out.RawString(prefix)
		out.String(string(in.Publisher))
	}
	{
		const prefix string = ",\"program_name\":"
		out.RawString(prefix)
		out.String(string(in.ProgramName))
	}
	{
		const prefix string = ",\"issuer_name\":"
		out.RawString(prefix)
		out.String(string(in.IssuerName))
	}
	{
		const prefix string = ",\"result_code\":"
		out.RawString(prefix)
		out.String(string(in.ResultCode))
	}
	{
		const prefix string = ",\"subject_name\":"
		out.RawString(prefix)
		out.String(string(in.SubjectName))
	}
	{
		const prefix string = ",\"sign_time\":"
		out.RawString(prefix)
		out.String(string(in.SignTime))
	}
	out.RawByte('}')
}

// MarshalJSON supports json.Marshaler interface
func (v DigSigResult) MarshalJSON() ([]byte, error) {
	w := jwriter.Writer{}
	easyjson13589e6fEncodeGithubComCarbonblackCbEventForwarderPkgProtobufmessageprocessor15(&w, v)
	return w.Buffer.BuildBytes(), w.Error
}

// MarshalEasyJSON supports easyjson.Marshaler interface
func (v DigSigResult) MarshalEasyJSON(w *jwriter.Writer) {
	easyjson13589e6fEncodeGithubComCarbonblackCbEventForwarderPkgProtobufmessageprocessor15(w, v)
}

// UnmarshalJSON supports json.Unmarshaler interface
func (v *DigSigResult) UnmarshalJSON(data []byte) error {
	r := jlexer.Lexer{Data: data}
	easyjson13589e6fDecodeGithubComCarbonblackCbEventForwarderPkgProtobufmessageprocessor15(&r, v)
	return r.Error()
}

// UnmarshalEasyJSON supports easyjson.Unmarshaler interface
func (v *DigSigResult) UnmarshalEasyJSON(l *jlexer.Lexer) {
	easyjson13589e6fDecodeGithubComCarbonblackCbEventForwarderPkgProtobufmessageprocessor15(l, v)
}
func easyjson13589e6fDecodeGithubComCarbonblackCbEventForwarderPkgProtobufmessageprocessor16(in *jlexer.Lexer, out *CrossprocEvent) {
	isTopLevel := in.IsStart()
	if in.IsNull() {
		if isTopLevel {
			in.Consumed()
		}
		in.Skip()
		return
	}
	out.BaseEvent = new(BaseEvent)
	out.EventMessageWithHashes = new(EventMessageWithHashes)
	in.Delim('{')
	for !in.IsDelim('}') {
		key := in.UnsafeFieldName(false)
		in.WantColon()
		if in.IsNull() {
			in.Skip()
			in.WantComma()
			continue
		}
		switch key {
		case "is_target":
			out.IsTarget = bool(in.Bool())
		case "cross_process_type":
			out.CrossProcessType = string(in.StringIntern())
		case "target_md5":
			out.TargetMd5 = string(in.String())
		case "requested_access":
			out.RequestedAccess = uint32(in.Uint32())
		case "link_target":
			out.LinkTarget = string(in.String())
		case "target_path":
			out.TargetPath = string(in.String())
		case "target_sha256":
			out.TargetSha256 = string(in.String())
		case "target_pid":
			out.TargetPid = uint32(in.Uint32())
		case "target_create_time":
			out.TargetCreateTime = uint64(in.Uint64())
		case "target_process_guid":
			out.TargetProcessGuid = string(in.String())
		case "sha256":
			out.Sha256 = string(in.String())
		case "md5":
			out.Md5 = string(in.String())
		case "fork_pid":
			out.ForkPid = int32(in.Int32())
		case "pid":
			out.Pid = int32(in.Int32())
		case "process_guid":
			out.ProcessGuid = string(in.String())
		case "link_process":
			out.LinkProcess = string(in.String())
		case "link_sensor":
			out.LinkSensor = string(in.String())
		case "process_path":
			out.ProcessPath = string(in.String())
		case "cb_server":
			out.CbServer = string(in.StringIntern())
		case "type":
			out.Type = string(in.StringIntern())
		case "sensor_id":
			out.SensorId = int32(in.Int32())
		case "computer_name":
			out.ComputerName = string(in.String())
		case "event_type":
			out.EventType = string(in.StringIntern())
		case "timestamp":
			if m, ok := out.EventTimestamp.(easyjson.Unmarshaler); ok {
				m.UnmarshalEasyJSON(in)
			} else if m, ok := out.EventTimestamp.(json.Unmarshaler); ok {
				_ = m.UnmarshalJSON(in.Raw())
			} else {
				out.EventTimestamp = in.Interface()
			}
		default:
			in.SkipRecursive()
		}
		in.WantComma()
	}
	in.Delim('}')
	if isTopLevel {
		in.Consumed()
	}
}
func easyjson13589e6fEncodeGithubComCarbonblackCbEventForwarderPkgProtobufmessageprocessor16(out *jwriter.Writer, in CrossprocEvent) {
	out.RawByte('{')
	first := true
	_ = first
	{
		const prefix string = ",\"is_target\":"
		out.RawString(prefix[1:])
		out.Bool(bool(in.IsTarget))
	}
	{
		const prefix string = ",\"cross_process_type\":"
		out.RawString(prefix)
		out.String(string(in.CrossProcessType))
	}
	{
		const prefix string = ",\"target_md5\":"
		out.RawString(prefix)
		out.String(string(in.TargetMd5))
	}
	if in.RequestedAccess != 0 {
		const prefix string = ",\"requested_access\":"
		out.RawString(prefix)
		out.Uint32(uint32(in.RequestedAccess))
	}
	if in.LinkTarget != "" {
		const prefix string = ",\"link_target\":"
		out.RawString(prefix)
		out.String(string(in.LinkTarget))
	}
	{
		const prefix string = ",\"target_path\":"
		out.RawString(prefix)
		out.String(string(in.TargetPath))
	}
	{
		const prefix string = ",\"target_sha256\":"
		out.RawString(prefix)
		out.String(string(in.TargetSha256))
	}
	{
		const prefix string = ",\"target_pid\":"
		out.RawString(prefix)
		out.Uint32(uint32(in.TargetPid))
	}
	{
		const prefix string = ",\"target_create_time\":"
		out.RawString(prefix)
		out.Uint64(uint64(in.TargetCreateTime))
	}
	{
		const prefix string = ",\"target_process_guid\":"
		out.RawString(prefix)
		out.String(string(in.TargetProcessGuid))
	}
	if in.Sha256 != "" {
		const prefix string = ",\"sha256\":"
		out.RawString(prefix)
		out.String(string(in.Sha256))
	}
	if in.Md5 != "" {
		const prefix string = ",\"md5\":"
		out.RawString(prefix)
		out.String(string(in.Md5))
	}
	if in.ForkPid != 0 {
		const prefix string = ",\"fork_pid\":"
		out.RawString(prefix)
		out.Int32(int32(in.ForkPid))
	}
	if in.Pid != 0 {
		const prefix string = ",\"pid\":"
		out.RawString(prefix)
		out.Int32(int32(in.Pid))
	}
	if in.ProcessGuid != "" {
		const prefix string = ",\"process_guid\":"
		out.RawString(prefix)
		out.String(string(in.ProcessGuid))
	}
	if in.LinkProcess != "" {
		const prefix string = ",\"link_process\":"
		out.RawString(prefix)
		out.String(string(in.LinkProcess))
	}
	if in.LinkSensor != "" {
		const prefix string = ",\"link_sensor\":"
		out.RawString(prefix)
		out.String(string(in.LinkSensor))
	}
	if in.ProcessPath != "" {
		const prefix string = ",\"process_path\":"
		out.RawString(prefix)
		out.String(string(in.ProcessPath))
	}
	if in.CbServer != "" {
		const prefix string = ",\"cb_server\":"
		out.RawString(prefix)
		out.String(string(in.CbServer))
	}
	{
		const prefix string = ",\"type\":"
		out.RawString(prefix)
		out.String(string(in.Type))
	}
	{
		const prefix string = ",\"sensor_id\":"
		out.RawString(prefix)
		out.Int32(int32(in.SensorId))
	}
	{
		const prefix string = ",\"computer_name\":"
		out.RawString(prefix)
		out.String(string(in.ComputerName))
	}
	{
		const prefix string = ",\"event_type\":"
		out.RawString(prefix)
		out.String(string(in.EventType))
	}
	{
		const prefix string = ",\"timestamp\":"
		out.RawString(prefix)
		if m, ok := in.EventTimestamp.(easyjson.Marshaler); ok {
			m.MarshalEasyJSON(out)
		} else if m, ok := in.EventTimestamp.(json.Marshaler); ok {
			out.Raw(m.MarshalJSON())
		} else {
			out.Raw(json.Marshal(in.EventTimestamp))
		}
	}
	out.RawByte('}')
}

// MarshalJSON supports json.Marshaler interface
func (v CrossprocEvent) MarshalJSON() ([]byte, error) {
	w := jwriter.Writer{}
	easyjson13589e6fEncodeGithubComCarbonblackCbEventForwarderPkgProtobufmessageprocessor16(&w, v)
	return w.Buffer.BuildBytes(), w.Error
}

// MarshalEasyJSON supports easyjson.Marshaler interface
func (v CrossprocEvent) MarshalEasyJSON(w *jwriter.Writer) {
	easyjson13589e6fEncodeGithubComCarbonblackCbEventForwarderPkgProtobufmessageprocessor16(w, v)
}

// UnmarshalJSON supports json.Unmarshaler interface
func (v *CrossprocEvent) UnmarshalJSON(data []byte) error {
	r := jlexer.Lexer{Data: data}
	easyjson13589e6fDecodeGithubComCarbonblackCbEventForwarderPkgProtobufmessageprocessor16(&r, v)
	return r.Error()
}

// UnmarshalEasyJSON supports easyjson.Unmarshaler interface
func (v *CrossprocEvent) UnmarshalEasyJSON(l *jlexer.Lexer) {
	easyjson13589e6fDecodeGithubComCarbonblackCbEventForwarderPkgProtobufmessageprocessor16(l, v)
}
func easyjson13589e6fDecodeGithubComCarbonblackCbEventForwarderPkgProtobufmessageprocessor17(in *jlexer.Lexer, out *ChildprocEvent) {
	isTopLevel := in.IsStart()
	if in.IsNull() {
		if isTopLevel {
			in.Consumed()
		}
		in.Skip()
		return
	}
	out.BaseEvent = new(BaseEvent)
	out.EventMessage = new(EventMessage)
	in.Delim('{')
	for !in.IsDelim('}') {
		key := in.UnsafeFieldName(false)
		in.WantColon()
		if in.IsNull() {
			in.Skip()
			in.WantComma()
			continue
		}
		switch key {
		case "parent_guid":
			out.ParentGuid = string(in.String())
		case "link_child":
			out.LinkChild = string(in.String())
		case "created":
			out.Created = bool(in.Bool())
		case "tamper_sent":
			out.TamperSent = bool(in.Bool())
		case "tamper":
			out.Tamper = bool(in.Bool())
		case "path":
			out.Path = string(in.String())
		case "md5":
			out.Md5 = string(in.String())
		case "sha256":
			out.Sha256 = string(in.String())
		case "childproc_type":
			out.ChildprocType = string(in.StringIntern())
		case "childproc_suppressed":
			out.ChildSuppressed = bool(in.Bool())
		case "childproc_commandline":
			out.ChildCommandLine = string(in.String())
		case "childproc_username":
			out.ChildUsername = string(in.String())
		case "child_pid":
			out.ChildPid = int64(in.Int64())
		case "fork_pid":
			out.ForkPid = int32(in.Int32())
		case "pid":
			out.Pid = int32(in.Int32())
		case "process_guid":
			out.ProcessGuid = string(in.String())
		case "link_process":
			out.LinkProcess = string(in.String())
		case "link_sensor":
			out.LinkSensor = string(in.String())
		case "process_path":
			out.ProcessPath = string(in.String())
		case "cb_server":
			out.CbServer = string(in.StringIntern())
		case "type":
			out.Type = string(in.StringIntern())
		case "sensor_id":
			out.SensorId = int32(in.Int32())
		case "computer_name":
			out.ComputerName = string(in.String())
		case "event_type":
			out.EventType = string(in.StringIntern())
		case "timestamp":
			if m, ok := out.EventTimestamp.(easyjson.Unmarshaler); ok {
				m.UnmarshalEasyJSON(in)
			} else if m, ok := out.EventTimestamp.(json.Unmarshaler); ok {
				_ = m.UnmarshalJSON(in.Raw())
			} else {
				out.EventTimestamp = in.Interface()
			}
		default:
			in.SkipRecursive()
		}
		in.WantComma()
	}
	in.Delim('}')
	if isTopLevel {
		in.Consumed()
	}
}
func easyjson13589e6fEncodeGithubComCarbonblackCbEventForwarderPkgProtobufmessageprocessor17(out *jwriter.Writer, in ChildprocEvent) {
	out.RawByte('{')
	first := true
	_ = first
	if in.ParentGuid != "" {
		const prefix string = ",\"parent_guid\":"
		first = false
		out.RawString(prefix[1:])
		out.String(string(in.ParentGuid))
	}
	if in.LinkChild != "" {
		const prefix string = ",\"link_child\":"
		if first {
			first = false
			out.RawString(prefix[1:])
		} else {
			out.RawString(prefix)
		}
		out.String(string(in.LinkChild))
	}
	{
		const prefix string = ",\"created\":"
		if first {
			first = false
			out.RawString(prefix[1:])
		} else {
			out.RawString(prefix)
		}
		out.Bool(bool(in.Created))
	}
	{
		const prefix string = ",\"tamper_sent\":"
		out.RawString(prefix)
		out.Bool(bool(in.TamperSent))
	}
	{
		const prefix string = ",\"tamper\":"
		out.RawString(prefix)
		out.Bool(bool(in.Tamper))
	}
	{
		const prefix string = ",\"path\":"
		out.RawString(prefix)
		out.String(string(in.Path))
	}
	{
		const prefix string = ",\"md5\":"
		out.RawString(prefix)
		out.String(string(in.Md5))
	}
	{
		const prefix string = ",\"sha256\":"
		out.RawString(prefix)
		out.String(string(in.Sha256))
	}
	{
		const prefix string = ",\"childproc_type\":"
		out.RawString(prefix)
		out.String(string(in.ChildprocType))
	}
	{
		const prefix string = ",\"childproc_suppressed\":"
		out.RawString(prefix)
		out.Bool(bool(in.ChildSuppressed))
	}
	if in.ChildCommandLine != "" {
		const prefix string = ",\"childproc_commandline\":"
		out.RawString(prefix)
		out.String(string(in.ChildCommandLine))
	}
	if in.ChildUsername != "" {
		const prefix string = ",\"childproc_username\":"
		out.RawString(prefix)
		out.String(string(in.ChildUsername))
	}
	{
		const prefix string = ",\"child_pid\":"
		out.RawString(prefix)
		out.Int64(int64(in.ChildPid))
	}
	if in.ForkPid != 0 {
		const prefix string = ",\"fork_pid\":"
		out.RawString(prefix)
		out.Int32(int32(in.ForkPid))
	}
	if in.Pid != 0 {
		const prefix string = ",\"pid\":"
		out.RawString(prefix)
		out.Int32(int32(in.Pid))
	}
	if in.ProcessGuid != "" {
		const prefix string = ",\"process_guid\":"
		out.RawString(prefix)
		out.String(string(in.ProcessGuid))
	}
	if in.LinkProcess != "" {
		const prefix string = ",\"link_process\":"
		out.RawString(prefix)
		out.String(string(in.LinkProcess))
	}
	if in.LinkSensor != "" {
		const prefix string = ",\"link_sensor\":"
		out.RawString(prefix)
		out.String(string(in.LinkSensor))
	}
	if in.ProcessPath != "" {
		const prefix string = ",\"process_path\":"
		out.RawString(prefix)
		out.String(string(in.ProcessPath))
	}
	if in.CbServer != "" {
		const prefix string = ",\"cb_server\":"
		out.RawString(prefix)
		out.String(string(in.CbServer))
	}
	{
		const prefix string = ",\"type\":"
		out.RawString(prefix)
		out.String(string(in.Type))
	}
	{
		const prefix string = ",\"sensor_id\":"
		out.RawString(prefix)
		out.Int32(int32(in.SensorId))
	}
	{
		const prefix string = ",\"computer_name\":"
		out.RawString(prefix)
		out.String(string(in.ComputerName))
	}
	{
		const prefix string = ",\"event_type\":"
		out.RawString(prefix)
		out.String(string(in.EventType))
	}
	{
		const prefix string = ",\"timestamp\":"
		out.RawString(prefix)
		if m, ok := in.EventTimestamp.(easyjson.Marshaler); ok {
			m.MarshalEasyJSON(out)
		} else if m, ok := in.EventTimestamp.(json.Marshaler); ok {
			out.Raw(m.MarshalJSON())
		} else {
			out.Raw(json.Marshal(in.EventTimestamp))
		}
	}
	out.RawByte('}')
}

// MarshalJSON supports json.Marshaler interface
func (v ChildprocEvent) MarshalJSON() ([]byte, error) {
	w := jwriter.Writer{}
	easyjson13589e6fEncodeGithubComCarbonblackCbEventForwarderPkgProtobufmessageprocessor17(&w, v)
	return w.Buffer.BuildBytes(), w.Error
}

// MarshalEasyJSON supports easyjson.Marshaler interface
func (v ChildprocEvent) MarshalEasyJSON(w *jwriter.Writer) {
	easyjson13589e6fEncodeGithubComCarbonblackCbEventForwarderPkgProtobufmessageprocessor17(w, v)
}

// UnmarshalJSON supports json.Unmarshaler interface
func (v *ChildprocEvent) UnmarshalJSON(data []byte) error {
	r := jlexer.Lexer{Data: data}
	easyjson13589e6fDecodeGithubComCarbonblackCbEventForwarderPkgProtobufmessageprocessor17(&r, v)
	return r.Error()
}

// UnmarshalEasyJSON supports easyjson.Unmarshaler interface
func (v *ChildprocEvent) UnmarshalEasyJSON(l *jlexer.Lexer) {
	easyjson13589e6fDecodeGithubComCarbonblackCbEventForwarderPkgProtobufmessageprocessor17(l, v)
}
func easyjson13589e6fDecodeGithubComCarbonblackCbEventForwarderPkgProtobufmessageprocessor18(in *jlexer.Lexer, out *BlockedEvent) {
	isTopLevel := in.IsStart()
	if in.IsNull() {
		if isTopLevel {
			in.Consumed()
		}
		in.Skip()
		return
	}
	out.BaseEvent = new(BaseEvent)
	in.Delim('{')
	for !in.IsDelim('}') {
		key := in.UnsafeFieldName(false)
		in.WantColon()
		if in.IsNull() {
			in.Skip()
			in.WantComma()
			continue
		}
		switch key {
		case "md5":
			out.Md5 = string(in.String())
		case "path":
			out.Path = string(in.String())
		case "link_target":
			out.LinkTarget = string(in.String())
		case "process_guid":
			out.ProcessGuid = string(in.String())
		case "process_create_time":
			out.ProcessCreateTime = uint64(in.Uint64())
		case "command_line":
			out.CommandLine = string(in.String())
		case "pid":
			out.Pid = int32(in.Int32())
		case "uid":
			out.Uid = string(in.String())
		case "username":
			out.Username = string(in.String())
		case "blocked_error":
			out.BlockedError = uint32(in.Uint32())
		case "blocked_event":
			out.BlockedEvent = string(in.String())
		case "blocked_reason":
			out.BlockedReason = string(in.String())
		case "blocked_result":
			out.BlockedResult = string(in.String())
		case "cb_server":
			out.CbServer = string(in.StringIntern())
		case "type":
			out.Type = string(in.StringIntern())
		case "sensor_id":
			out.SensorId = int32(in.Int32())
		case "computer_name":
			out.ComputerName = string(in.String())
		case "event_type":
			out.EventType = string(in.StringIntern())
		case "timestamp":
			if m, ok := out.EventTimestamp.(easyjson.Unmarshaler); ok {
				m.UnmarshalEasyJSON(in)
			} else if m, ok := out.EventTimestamp.(json.Unmarshaler); ok {
				_ = m.UnmarshalJSON(in.Raw())
			} else {
				out.EventTimestamp = in.Interface()
			}
		default:
			in.SkipRecursive()
		}
		in.WantComma()
	}
	in.Delim('}')
	if isTopLevel {
		in.Consumed()
	}
}
func easyjson13589e6fEncodeGithubComCarbonblackCbEventForwarderPkgProtobufmessageprocessor18(out *jwriter.Writer, in BlockedEvent) {
	out.RawByte('{')
	first := true
	_ = first
	{
		const prefix string = ",\"md5\":"
		out.RawString(prefix[1:])
		out.String(string(in.Md5))
	}
	{
		const prefix string = ",\"path\":"
		out.RawString(prefix)
		out.String(string(in.Path))
	}
	if in.LinkTarget != "" {
		const prefix string = ",\"link_target\":"
		out.RawString(prefix)
		out.String(string(in.LinkTarget))
	}
	if in.ProcessGuid != "" {
		const prefix string = ",\"process_guid\":"
		out.RawString(prefix)
		out.String(string(in.ProcessGuid))
	}
	if in.ProcessCreateTime != 0 {
		const prefix string = ",\"process_create_time\":"
		out.RawString(prefix)
		out.Uint64(uint64(in.ProcessCreateTime))
	}
	if in.CommandLine != "" {
		const prefix string = ",\"command_line\":"
		out.RawString(prefix)
		out.String(string(in.CommandLine))
	}
	if in.Pid != 0 {
		const prefix string = ",\"pid\":"
		out.RawString(prefix)
		out.Int32(int32(in.Pid))
	}
	if in.Uid != "" {
		const prefix string = ",\"uid\":"
		out.RawString(prefix)
		out.String(string(in.Uid))
	}
	if in.Username != "" {
		const prefix string = ",\"username\":"
		out.RawString(prefix)
		out.String(string(in.Username))
	}
	if in.BlockedError != 0 {
		const prefix string = ",\"blocked_error\":"
		out.RawString(prefix)
		out.Uint32(uint32(in.BlockedError))
	}
	if in.BlockedEvent != "" {
		const prefix string = ",\"blocked_event\":"
		out.RawString(prefix)
		out.String(string(in.BlockedEvent))
	}
	if in.BlockedReason != "" {
		const prefix string = ",\"blocked_reason\":"
		out.RawString(prefix)
		out.String(string(in.BlockedReason))
	}
	if in.BlockedResult != "" {
		const prefix string = ",\"blocked_result\":"
		out.RawString(prefix)
		out.String(string(in.BlockedResult))
	}
	if in.CbServer != "" {
		const prefix string = ",\"cb_server\":"
		out.RawString(prefix)
		out.String(string(in.CbServer))
	}
	{
		const prefix string = ",\"type\":"
		out.RawString(prefix)
		out.String(string(in.Type))
	}
	{
		const prefix string = ",\"sensor_id\":"
		out.RawString(prefix)
		out.Int32(int32(in.SensorId))
	}
	{
		const prefix string = ",\"computer_name\":"
		out.RawString(prefix)
		out.String(string(in.ComputerName))
	}
	{
		const prefix string = ",\"event_type\":"
		out.RawString(prefix)
		out.String(string(in.EventType))
	}
	{
		const prefix string = ",\"timestamp\":"
		out.RawString(prefix)
		if m, ok := in.EventTimestamp.(easyjson.Marshaler); ok {
			m.MarshalEasyJSON(out)
		} else if m, ok := in.EventTimestamp.(json.Marshaler); ok {
			out.Raw(m.MarshalJSON())
		} else {
			out.Raw(json.Marshal(in.EventTimestamp))
		}
	}
	out.RawByte('}')
}

// MarshalJSON supports json.Marshaler interface
func (v BlockedEvent) MarshalJSON() ([]byte, error) {
	w := jwriter.Writer{}
	easyjson13589e6fEncodeGithubComCarbonblackCbEventForwarderPkgProtobufmessageprocessor18(&w, v)
	return w.Buffer.BuildBytes(), w.Error
}

// MarshalEasyJSON supports easyjson.Marshaler interface
func (v BlockedEvent) MarshalEasyJSON(w *jwriter.Writer) {
	easyjson13589e6fEncodeGithubComCarbonblackCbEventForwarderPkgProtobufmessageprocessor18(w, v)
}

// UnmarshalJSON supports json.Unmarshaler interface
func (v *BlockedEvent) UnmarshalJSON(data []byte) error {
	r := jlexer.Lexer{Data: data}
	easyjson13589e6fDecodeGithubComCarbonblackCbEventForwarderPkgProtobufmessageprocessor18(&r, v)
	return r.Error()
}

// UnmarshalEasyJSON supports easyjson.Unmarshaler interface
func (v *BlockedEvent) UnmarshalEasyJSON(l *jlexer.Lexer) {
	easyjson13589e6fDecodeGithubComCarbonblackCbEventForwarderPkgProtobufmessageprocessor18(l, v)
}
func easyjson13589e6fDecodeGithubComCarbonblackCbEventForwarderPkgProtobufmessageprocessor19(in *jlexer.Lexer, out *BaseEvent) {
	isTopLevel := in.IsStart()
	if in.IsNull() {
		if isTopLevel {
			in.Consumed()
		}
		in.Skip()
		return
	}
	in.Delim('{')
	for !in.IsDelim('}') {
		key := in.UnsafeFieldName(false)
		in.WantColon()
		if in.IsNull() {
			in.Skip()
			in.WantComma()
			continue
		}
		switch key {
		case "cb_server":
			out.CbServer = string(in.StringIntern())
		case "type":
			out.Type = string(in.StringIntern())
		case "sensor_id":
			out.SensorId = int32(in.Int32())
		case "computer_name":
			out.ComputerName = string(in.String())
		case "event_type":
			out.EventType = string(in.StringIntern())
		case "timestamp":
			if m, ok := out.EventTimestamp.(easyjson.Unmarshaler); ok {
				m.UnmarshalEasyJSON(in)
			} else if m, ok := out.EventTimestamp.(json.Unmarshaler); ok {
				_ = m.UnmarshalJSON(in.Raw())
			} else {
				out.EventTimestamp = in.Interface()
			}
		default:
			in.SkipRecursive()
		}
		in.WantComma()
	}
	in.Delim('}')
	if isTopLevel {
		in.Consumed()
	}
}
func easyjson13589e6fEncodeGithubComCarbonblackCbEventForwarderPkgProtobufmessageprocessor19(out *jwriter.Writer, in BaseEvent) {
	out.RawByte('{')
	first := true
	_ = first
	if in.CbServer != "" {
		const prefix string = ",\"cb_server\":"
		first = false
		out.RawString(prefix[1:])
		out.String(string(in.CbServer))
	}
	{
		const prefix string = ",\"type\":"
		if first {
			first = false
			out.RawString(prefix[1:])
		} else {
			out.RawString(prefix)
		}
		out.String(string(in.Type))
	}
	{
		const prefix string = ",\"sensor_id\":"
		out.RawString(prefix)
		out.Int32(int32(in.SensorId))
	}
	{
		const prefix string = ",\"computer_name\":"
		out.RawString(prefix)
		out.String(string(in.ComputerName))
	}
	{
		const prefix string = ",\"event_type\":"
		out.RawString(prefix)
		out.String(string(in.EventType))
	}
	{
		const prefix string = ",\"timestamp\":"
		out.RawString(prefix)
		if m, ok := in.EventTimestamp.(easyjson.Marshaler); ok {
			m.MarshalEasyJSON(out)
		} else if m, ok := in.EventTimestamp.(json.Marshaler); ok {
			out.Raw(m.MarshalJSON())
		} else {
			out.Raw(json.Marshal(in.EventTimestamp))
		}
	}
	out.RawByte('}')
}

// MarshalJSON supports json.Marshaler interface
func (v BaseEvent) MarshalJSON() ([]byte, error) {
	w := jwriter.Writer{}
	easyjson13589e6fEncodeGithubComCarbonblackCbEventForwarderPkgProtobufmessageprocessor19(&w, v)
	return w.Buffer.BuildBytes(), w.Error
}

// MarshalEasyJSON supports easyjson.Marshaler interface
func (v BaseEvent) MarshalEasyJSON(w *jwriter.Writer) {
	easyjson13589e6fEncodeGithubComCarbonblackCbEventForwarderPkgProtobufmessageprocessor19(w, v)
}

// UnmarshalJSON supports json.Unmarshaler interface
func (v *BaseEvent) UnmarshalJSON(data []byte) error {
	r := jlexer.Lexer{Data: data}
	easyjson13589e6fDecodeGithubComCarbonblackCbEventForwarderPkgProtobufmessageprocessor19(&r, v)
	return r.Error()
}

// UnmarshalEasyJSON supports easyjson.Unmarshaler interface
func (v *BaseEvent) UnmarshalEasyJSON(l *jlexer.Lexer) {
	easyjson13589e6fDecodeGithubComCarbonblackCbEventForwarderPkgProtobufmessageprocessor19(l, v)
}
