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

package input

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 easyjsonC5a4559bDecodeGithubComChromedpCdprotoInput(in *jlexer.Lexer, out *TouchPoint) {
	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 "x":
			out.X = float64(in.Float64())
		case "y":
			out.Y = float64(in.Float64())
		case "radiusX":
			out.RadiusX = float64(in.Float64())
		case "radiusY":
			out.RadiusY = float64(in.Float64())
		case "rotationAngle":
			out.RotationAngle = float64(in.Float64())
		case "force":
			out.Force = float64(in.Float64())
		case "tangentialPressure":
			out.TangentialPressure = float64(in.Float64())
		case "tiltX":
			out.TiltX = float64(in.Float64())
		case "tiltY":
			out.TiltY = float64(in.Float64())
		case "twist":
			out.Twist = int64(in.Int64())
		case "id":
			out.ID = float64(in.Float64())
		default:
			in.SkipRecursive()
		}
		in.WantComma()
	}
	in.Delim('}')
	if isTopLevel {
		in.Consumed()
	}
}
func easyjsonC5a4559bEncodeGithubComChromedpCdprotoInput(out *jwriter.Writer, in TouchPoint) {
	out.RawByte('{')
	first := true
	_ = first
	{
		const prefix string = ",\"x\":"
		out.RawString(prefix[1:])
		out.Float64(float64(in.X))
	}
	{
		const prefix string = ",\"y\":"
		out.RawString(prefix)
		out.Float64(float64(in.Y))
	}
	if in.RadiusX != 0 {
		const prefix string = ",\"radiusX\":"
		out.RawString(prefix)
		out.Float64(float64(in.RadiusX))
	}
	if in.RadiusY != 0 {
		const prefix string = ",\"radiusY\":"
		out.RawString(prefix)
		out.Float64(float64(in.RadiusY))
	}
	if in.RotationAngle != 0 {
		const prefix string = ",\"rotationAngle\":"
		out.RawString(prefix)
		out.Float64(float64(in.RotationAngle))
	}
	if in.Force != 0 {
		const prefix string = ",\"force\":"
		out.RawString(prefix)
		out.Float64(float64(in.Force))
	}
	if in.TangentialPressure != 0 {
		const prefix string = ",\"tangentialPressure\":"
		out.RawString(prefix)
		out.Float64(float64(in.TangentialPressure))
	}
	if in.TiltX != 0 {
		const prefix string = ",\"tiltX\":"
		out.RawString(prefix)
		out.Float64(float64(in.TiltX))
	}
	if in.TiltY != 0 {
		const prefix string = ",\"tiltY\":"
		out.RawString(prefix)
		out.Float64(float64(in.TiltY))
	}
	if in.Twist != 0 {
		const prefix string = ",\"twist\":"
		out.RawString(prefix)
		out.Int64(int64(in.Twist))
	}
	if in.ID != 0 {
		const prefix string = ",\"id\":"
		out.RawString(prefix)
		out.Float64(float64(in.ID))
	}
	out.RawByte('}')
}

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

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

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

// UnmarshalEasyJSON supports easyjson.Unmarshaler interface
func (v *TouchPoint) UnmarshalEasyJSON(l *jlexer.Lexer) {
	easyjsonC5a4559bDecodeGithubComChromedpCdprotoInput(l, v)
}
func easyjsonC5a4559bDecodeGithubComChromedpCdprotoInput1(in *jlexer.Lexer, out *SynthesizeTapGestureParams) {
	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 "x":
			out.X = float64(in.Float64())
		case "y":
			out.Y = float64(in.Float64())
		case "duration":
			out.Duration = int64(in.Int64())
		case "tapCount":
			out.TapCount = int64(in.Int64())
		case "gestureSourceType":
			(out.GestureSourceType).UnmarshalEasyJSON(in)
		default:
			in.SkipRecursive()
		}
		in.WantComma()
	}
	in.Delim('}')
	if isTopLevel {
		in.Consumed()
	}
}
func easyjsonC5a4559bEncodeGithubComChromedpCdprotoInput1(out *jwriter.Writer, in SynthesizeTapGestureParams) {
	out.RawByte('{')
	first := true
	_ = first
	{
		const prefix string = ",\"x\":"
		out.RawString(prefix[1:])
		out.Float64(float64(in.X))
	}
	{
		const prefix string = ",\"y\":"
		out.RawString(prefix)
		out.Float64(float64(in.Y))
	}
	if in.Duration != 0 {
		const prefix string = ",\"duration\":"
		out.RawString(prefix)
		out.Int64(int64(in.Duration))
	}
	if in.TapCount != 0 {
		const prefix string = ",\"tapCount\":"
		out.RawString(prefix)
		out.Int64(int64(in.TapCount))
	}
	if in.GestureSourceType != "" {
		const prefix string = ",\"gestureSourceType\":"
		out.RawString(prefix)
		(in.GestureSourceType).MarshalEasyJSON(out)
	}
	out.RawByte('}')
}

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

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

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

// UnmarshalEasyJSON supports easyjson.Unmarshaler interface
func (v *SynthesizeTapGestureParams) UnmarshalEasyJSON(l *jlexer.Lexer) {
	easyjsonC5a4559bDecodeGithubComChromedpCdprotoInput1(l, v)
}
func easyjsonC5a4559bDecodeGithubComChromedpCdprotoInput2(in *jlexer.Lexer, out *SynthesizeScrollGestureParams) {
	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 "x":
			out.X = float64(in.Float64())
		case "y":
			out.Y = float64(in.Float64())
		case "xDistance":
			out.XDistance = float64(in.Float64())
		case "yDistance":
			out.YDistance = float64(in.Float64())
		case "xOverscroll":
			out.XOverscroll = float64(in.Float64())
		case "yOverscroll":
			out.YOverscroll = float64(in.Float64())
		case "preventFling":
			out.PreventFling = bool(in.Bool())
		case "speed":
			out.Speed = int64(in.Int64())
		case "gestureSourceType":
			(out.GestureSourceType).UnmarshalEasyJSON(in)
		case "repeatCount":
			out.RepeatCount = int64(in.Int64())
		case "repeatDelayMs":
			out.RepeatDelayMs = int64(in.Int64())
		case "interactionMarkerName":
			out.InteractionMarkerName = string(in.String())
		default:
			in.SkipRecursive()
		}
		in.WantComma()
	}
	in.Delim('}')
	if isTopLevel {
		in.Consumed()
	}
}
func easyjsonC5a4559bEncodeGithubComChromedpCdprotoInput2(out *jwriter.Writer, in SynthesizeScrollGestureParams) {
	out.RawByte('{')
	first := true
	_ = first
	{
		const prefix string = ",\"x\":"
		out.RawString(prefix[1:])
		out.Float64(float64(in.X))
	}
	{
		const prefix string = ",\"y\":"
		out.RawString(prefix)
		out.Float64(float64(in.Y))
	}
	if in.XDistance != 0 {
		const prefix string = ",\"xDistance\":"
		out.RawString(prefix)
		out.Float64(float64(in.XDistance))
	}
	if in.YDistance != 0 {
		const prefix string = ",\"yDistance\":"
		out.RawString(prefix)
		out.Float64(float64(in.YDistance))
	}
	if in.XOverscroll != 0 {
		const prefix string = ",\"xOverscroll\":"
		out.RawString(prefix)
		out.Float64(float64(in.XOverscroll))
	}
	if in.YOverscroll != 0 {
		const prefix string = ",\"yOverscroll\":"
		out.RawString(prefix)
		out.Float64(float64(in.YOverscroll))
	}
	if in.PreventFling {
		const prefix string = ",\"preventFling\":"
		out.RawString(prefix)
		out.Bool(bool(in.PreventFling))
	}
	if in.Speed != 0 {
		const prefix string = ",\"speed\":"
		out.RawString(prefix)
		out.Int64(int64(in.Speed))
	}
	if in.GestureSourceType != "" {
		const prefix string = ",\"gestureSourceType\":"
		out.RawString(prefix)
		(in.GestureSourceType).MarshalEasyJSON(out)
	}
	if in.RepeatCount != 0 {
		const prefix string = ",\"repeatCount\":"
		out.RawString(prefix)
		out.Int64(int64(in.RepeatCount))
	}
	if in.RepeatDelayMs != 0 {
		const prefix string = ",\"repeatDelayMs\":"
		out.RawString(prefix)
		out.Int64(int64(in.RepeatDelayMs))
	}
	if in.InteractionMarkerName != "" {
		const prefix string = ",\"interactionMarkerName\":"
		out.RawString(prefix)
		out.String(string(in.InteractionMarkerName))
	}
	out.RawByte('}')
}

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

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

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

// UnmarshalEasyJSON supports easyjson.Unmarshaler interface
func (v *SynthesizeScrollGestureParams) UnmarshalEasyJSON(l *jlexer.Lexer) {
	easyjsonC5a4559bDecodeGithubComChromedpCdprotoInput2(l, v)
}
func easyjsonC5a4559bDecodeGithubComChromedpCdprotoInput3(in *jlexer.Lexer, out *SynthesizePinchGestureParams) {
	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 "x":
			out.X = float64(in.Float64())
		case "y":
			out.Y = float64(in.Float64())
		case "scaleFactor":
			out.ScaleFactor = float64(in.Float64())
		case "relativeSpeed":
			out.RelativeSpeed = int64(in.Int64())
		case "gestureSourceType":
			(out.GestureSourceType).UnmarshalEasyJSON(in)
		default:
			in.SkipRecursive()
		}
		in.WantComma()
	}
	in.Delim('}')
	if isTopLevel {
		in.Consumed()
	}
}
func easyjsonC5a4559bEncodeGithubComChromedpCdprotoInput3(out *jwriter.Writer, in SynthesizePinchGestureParams) {
	out.RawByte('{')
	first := true
	_ = first
	{
		const prefix string = ",\"x\":"
		out.RawString(prefix[1:])
		out.Float64(float64(in.X))
	}
	{
		const prefix string = ",\"y\":"
		out.RawString(prefix)
		out.Float64(float64(in.Y))
	}
	{
		const prefix string = ",\"scaleFactor\":"
		out.RawString(prefix)
		out.Float64(float64(in.ScaleFactor))
	}
	if in.RelativeSpeed != 0 {
		const prefix string = ",\"relativeSpeed\":"
		out.RawString(prefix)
		out.Int64(int64(in.RelativeSpeed))
	}
	if in.GestureSourceType != "" {
		const prefix string = ",\"gestureSourceType\":"
		out.RawString(prefix)
		(in.GestureSourceType).MarshalEasyJSON(out)
	}
	out.RawByte('}')
}

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

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

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

// UnmarshalEasyJSON supports easyjson.Unmarshaler interface
func (v *SynthesizePinchGestureParams) UnmarshalEasyJSON(l *jlexer.Lexer) {
	easyjsonC5a4559bDecodeGithubComChromedpCdprotoInput3(l, v)
}
func easyjsonC5a4559bDecodeGithubComChromedpCdprotoInput4(in *jlexer.Lexer, out *SetInterceptDragsParams) {
	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 "enabled":
			out.Enabled = bool(in.Bool())
		default:
			in.SkipRecursive()
		}
		in.WantComma()
	}
	in.Delim('}')
	if isTopLevel {
		in.Consumed()
	}
}
func easyjsonC5a4559bEncodeGithubComChromedpCdprotoInput4(out *jwriter.Writer, in SetInterceptDragsParams) {
	out.RawByte('{')
	first := true
	_ = first
	{
		const prefix string = ",\"enabled\":"
		out.RawString(prefix[1:])
		out.Bool(bool(in.Enabled))
	}
	out.RawByte('}')
}

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

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

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

// UnmarshalEasyJSON supports easyjson.Unmarshaler interface
func (v *SetInterceptDragsParams) UnmarshalEasyJSON(l *jlexer.Lexer) {
	easyjsonC5a4559bDecodeGithubComChromedpCdprotoInput4(l, v)
}
func easyjsonC5a4559bDecodeGithubComChromedpCdprotoInput5(in *jlexer.Lexer, out *SetIgnoreInputEventsParams) {
	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 "ignore":
			out.Ignore = bool(in.Bool())
		default:
			in.SkipRecursive()
		}
		in.WantComma()
	}
	in.Delim('}')
	if isTopLevel {
		in.Consumed()
	}
}
func easyjsonC5a4559bEncodeGithubComChromedpCdprotoInput5(out *jwriter.Writer, in SetIgnoreInputEventsParams) {
	out.RawByte('{')
	first := true
	_ = first
	{
		const prefix string = ",\"ignore\":"
		out.RawString(prefix[1:])
		out.Bool(bool(in.Ignore))
	}
	out.RawByte('}')
}

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

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

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

// UnmarshalEasyJSON supports easyjson.Unmarshaler interface
func (v *SetIgnoreInputEventsParams) UnmarshalEasyJSON(l *jlexer.Lexer) {
	easyjsonC5a4559bDecodeGithubComChromedpCdprotoInput5(l, v)
}
func easyjsonC5a4559bDecodeGithubComChromedpCdprotoInput6(in *jlexer.Lexer, out *InsertTextParams) {
	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 "text":
			out.Text = string(in.String())
		default:
			in.SkipRecursive()
		}
		in.WantComma()
	}
	in.Delim('}')
	if isTopLevel {
		in.Consumed()
	}
}
func easyjsonC5a4559bEncodeGithubComChromedpCdprotoInput6(out *jwriter.Writer, in InsertTextParams) {
	out.RawByte('{')
	first := true
	_ = first
	{
		const prefix string = ",\"text\":"
		out.RawString(prefix[1:])
		out.String(string(in.Text))
	}
	out.RawByte('}')
}

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

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

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

// UnmarshalEasyJSON supports easyjson.Unmarshaler interface
func (v *InsertTextParams) UnmarshalEasyJSON(l *jlexer.Lexer) {
	easyjsonC5a4559bDecodeGithubComChromedpCdprotoInput6(l, v)
}
func easyjsonC5a4559bDecodeGithubComChromedpCdprotoInput7(in *jlexer.Lexer, out *ImeSetCompositionParams) {
	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 "text":
			out.Text = string(in.String())
		case "selectionStart":
			out.SelectionStart = int64(in.Int64())
		case "selectionEnd":
			out.SelectionEnd = int64(in.Int64())
		case "replacementStart":
			out.ReplacementStart = int64(in.Int64())
		case "replacementEnd":
			out.ReplacementEnd = int64(in.Int64())
		default:
			in.SkipRecursive()
		}
		in.WantComma()
	}
	in.Delim('}')
	if isTopLevel {
		in.Consumed()
	}
}
func easyjsonC5a4559bEncodeGithubComChromedpCdprotoInput7(out *jwriter.Writer, in ImeSetCompositionParams) {
	out.RawByte('{')
	first := true
	_ = first
	{
		const prefix string = ",\"text\":"
		out.RawString(prefix[1:])
		out.String(string(in.Text))
	}
	{
		const prefix string = ",\"selectionStart\":"
		out.RawString(prefix)
		out.Int64(int64(in.SelectionStart))
	}
	{
		const prefix string = ",\"selectionEnd\":"
		out.RawString(prefix)
		out.Int64(int64(in.SelectionEnd))
	}
	if in.ReplacementStart != 0 {
		const prefix string = ",\"replacementStart\":"
		out.RawString(prefix)
		out.Int64(int64(in.ReplacementStart))
	}
	if in.ReplacementEnd != 0 {
		const prefix string = ",\"replacementEnd\":"
		out.RawString(prefix)
		out.Int64(int64(in.ReplacementEnd))
	}
	out.RawByte('}')
}

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

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

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

// UnmarshalEasyJSON supports easyjson.Unmarshaler interface
func (v *ImeSetCompositionParams) UnmarshalEasyJSON(l *jlexer.Lexer) {
	easyjsonC5a4559bDecodeGithubComChromedpCdprotoInput7(l, v)
}
func easyjsonC5a4559bDecodeGithubComChromedpCdprotoInput8(in *jlexer.Lexer, out *EventDragIntercepted) {
	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 "data":
			if in.IsNull() {
				in.Skip()
				out.Data = nil
			} else {
				if out.Data == nil {
					out.Data = new(DragData)
				}
				(*out.Data).UnmarshalEasyJSON(in)
			}
		default:
			in.SkipRecursive()
		}
		in.WantComma()
	}
	in.Delim('}')
	if isTopLevel {
		in.Consumed()
	}
}
func easyjsonC5a4559bEncodeGithubComChromedpCdprotoInput8(out *jwriter.Writer, in EventDragIntercepted) {
	out.RawByte('{')
	first := true
	_ = first
	{
		const prefix string = ",\"data\":"
		out.RawString(prefix[1:])
		if in.Data == nil {
			out.RawString("null")
		} else {
			(*in.Data).MarshalEasyJSON(out)
		}
	}
	out.RawByte('}')
}

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

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

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

// UnmarshalEasyJSON supports easyjson.Unmarshaler interface
func (v *EventDragIntercepted) UnmarshalEasyJSON(l *jlexer.Lexer) {
	easyjsonC5a4559bDecodeGithubComChromedpCdprotoInput8(l, v)
}
func easyjsonC5a4559bDecodeGithubComChromedpCdprotoInput9(in *jlexer.Lexer, out *EmulateTouchFromMouseEventParams) {
	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 "type":
			(out.Type).UnmarshalEasyJSON(in)
		case "x":
			out.X = int64(in.Int64())
		case "y":
			out.Y = int64(in.Int64())
		case "button":
			(out.Button).UnmarshalEasyJSON(in)
		case "timestamp":
			if in.IsNull() {
				in.Skip()
				out.Timestamp = nil
			} else {
				if out.Timestamp == nil {
					out.Timestamp = new(TimeSinceEpoch)
				}
				(*out.Timestamp).UnmarshalEasyJSON(in)
			}
		case "deltaX":
			out.DeltaX = float64(in.Float64())
		case "deltaY":
			out.DeltaY = float64(in.Float64())
		case "modifiers":
			(out.Modifiers).UnmarshalEasyJSON(in)
		case "clickCount":
			out.ClickCount = int64(in.Int64())
		default:
			in.SkipRecursive()
		}
		in.WantComma()
	}
	in.Delim('}')
	if isTopLevel {
		in.Consumed()
	}
}
func easyjsonC5a4559bEncodeGithubComChromedpCdprotoInput9(out *jwriter.Writer, in EmulateTouchFromMouseEventParams) {
	out.RawByte('{')
	first := true
	_ = first
	{
		const prefix string = ",\"type\":"
		out.RawString(prefix[1:])
		(in.Type).MarshalEasyJSON(out)
	}
	{
		const prefix string = ",\"x\":"
		out.RawString(prefix)
		out.Int64(int64(in.X))
	}
	{
		const prefix string = ",\"y\":"
		out.RawString(prefix)
		out.Int64(int64(in.Y))
	}
	{
		const prefix string = ",\"button\":"
		out.RawString(prefix)
		(in.Button).MarshalEasyJSON(out)
	}
	if in.Timestamp != nil {
		const prefix string = ",\"timestamp\":"
		out.RawString(prefix)
		(*in.Timestamp).MarshalEasyJSON(out)
	}
	{
		const prefix string = ",\"deltaX\":"
		out.RawString(prefix)
		out.Float64(float64(in.DeltaX))
	}
	{
		const prefix string = ",\"deltaY\":"
		out.RawString(prefix)
		out.Float64(float64(in.DeltaY))
	}
	{
		const prefix string = ",\"modifiers\":"
		out.RawString(prefix)
		(in.Modifiers).MarshalEasyJSON(out)
	}
	if in.ClickCount != 0 {
		const prefix string = ",\"clickCount\":"
		out.RawString(prefix)
		out.Int64(int64(in.ClickCount))
	}
	out.RawByte('}')
}

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

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

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

// UnmarshalEasyJSON supports easyjson.Unmarshaler interface
func (v *EmulateTouchFromMouseEventParams) UnmarshalEasyJSON(l *jlexer.Lexer) {
	easyjsonC5a4559bDecodeGithubComChromedpCdprotoInput9(l, v)
}
func easyjsonC5a4559bDecodeGithubComChromedpCdprotoInput10(in *jlexer.Lexer, out *DragDataItem) {
	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 "mimeType":
			out.MimeType = string(in.String())
		case "data":
			out.Data = string(in.String())
		case "title":
			out.Title = string(in.String())
		case "baseURL":
			out.BaseURL = string(in.String())
		default:
			in.SkipRecursive()
		}
		in.WantComma()
	}
	in.Delim('}')
	if isTopLevel {
		in.Consumed()
	}
}
func easyjsonC5a4559bEncodeGithubComChromedpCdprotoInput10(out *jwriter.Writer, in DragDataItem) {
	out.RawByte('{')
	first := true
	_ = first
	{
		const prefix string = ",\"mimeType\":"
		out.RawString(prefix[1:])
		out.String(string(in.MimeType))
	}
	{
		const prefix string = ",\"data\":"
		out.RawString(prefix)
		out.String(string(in.Data))
	}
	if in.Title != "" {
		const prefix string = ",\"title\":"
		out.RawString(prefix)
		out.String(string(in.Title))
	}
	if in.BaseURL != "" {
		const prefix string = ",\"baseURL\":"
		out.RawString(prefix)
		out.String(string(in.BaseURL))
	}
	out.RawByte('}')
}

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

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

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

// UnmarshalEasyJSON supports easyjson.Unmarshaler interface
func (v *DragDataItem) UnmarshalEasyJSON(l *jlexer.Lexer) {
	easyjsonC5a4559bDecodeGithubComChromedpCdprotoInput10(l, v)
}
func easyjsonC5a4559bDecodeGithubComChromedpCdprotoInput11(in *jlexer.Lexer, out *DragData) {
	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 "items":
			if in.IsNull() {
				in.Skip()
				out.Items = nil
			} else {
				in.Delim('[')
				if out.Items == nil {
					if !in.IsDelim(']') {
						out.Items = make([]*DragDataItem, 0, 8)
					} else {
						out.Items = []*DragDataItem{}
					}
				} else {
					out.Items = (out.Items)[:0]
				}
				for !in.IsDelim(']') {
					var v1 *DragDataItem
					if in.IsNull() {
						in.Skip()
						v1 = nil
					} else {
						if v1 == nil {
							v1 = new(DragDataItem)
						}
						(*v1).UnmarshalEasyJSON(in)
					}
					out.Items = append(out.Items, v1)
					in.WantComma()
				}
				in.Delim(']')
			}
		case "files":
			if in.IsNull() {
				in.Skip()
				out.Files = nil
			} else {
				in.Delim('[')
				if out.Files == nil {
					if !in.IsDelim(']') {
						out.Files = make([]string, 0, 4)
					} else {
						out.Files = []string{}
					}
				} else {
					out.Files = (out.Files)[:0]
				}
				for !in.IsDelim(']') {
					var v2 string
					v2 = string(in.String())
					out.Files = append(out.Files, v2)
					in.WantComma()
				}
				in.Delim(']')
			}
		case "dragOperationsMask":
			out.DragOperationsMask = int64(in.Int64())
		default:
			in.SkipRecursive()
		}
		in.WantComma()
	}
	in.Delim('}')
	if isTopLevel {
		in.Consumed()
	}
}
func easyjsonC5a4559bEncodeGithubComChromedpCdprotoInput11(out *jwriter.Writer, in DragData) {
	out.RawByte('{')
	first := true
	_ = first
	{
		const prefix string = ",\"items\":"
		out.RawString(prefix[1:])
		if in.Items == nil && (out.Flags&jwriter.NilSliceAsEmpty) == 0 {
			out.RawString("null")
		} else {
			out.RawByte('[')
			for v3, v4 := range in.Items {
				if v3 > 0 {
					out.RawByte(',')
				}
				if v4 == nil {
					out.RawString("null")
				} else {
					(*v4).MarshalEasyJSON(out)
				}
			}
			out.RawByte(']')
		}
	}
	if len(in.Files) != 0 {
		const prefix string = ",\"files\":"
		out.RawString(prefix)
		{
			out.RawByte('[')
			for v5, v6 := range in.Files {
				if v5 > 0 {
					out.RawByte(',')
				}
				out.String(string(v6))
			}
			out.RawByte(']')
		}
	}
	{
		const prefix string = ",\"dragOperationsMask\":"
		out.RawString(prefix)
		out.Int64(int64(in.DragOperationsMask))
	}
	out.RawByte('}')
}

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

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

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

// UnmarshalEasyJSON supports easyjson.Unmarshaler interface
func (v *DragData) UnmarshalEasyJSON(l *jlexer.Lexer) {
	easyjsonC5a4559bDecodeGithubComChromedpCdprotoInput11(l, v)
}
func easyjsonC5a4559bDecodeGithubComChromedpCdprotoInput12(in *jlexer.Lexer, out *DispatchTouchEventParams) {
	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 "type":
			(out.Type).UnmarshalEasyJSON(in)
		case "touchPoints":
			if in.IsNull() {
				in.Skip()
				out.TouchPoints = nil
			} else {
				in.Delim('[')
				if out.TouchPoints == nil {
					if !in.IsDelim(']') {
						out.TouchPoints = make([]*TouchPoint, 0, 8)
					} else {
						out.TouchPoints = []*TouchPoint{}
					}
				} else {
					out.TouchPoints = (out.TouchPoints)[:0]
				}
				for !in.IsDelim(']') {
					var v7 *TouchPoint
					if in.IsNull() {
						in.Skip()
						v7 = nil
					} else {
						if v7 == nil {
							v7 = new(TouchPoint)
						}
						(*v7).UnmarshalEasyJSON(in)
					}
					out.TouchPoints = append(out.TouchPoints, v7)
					in.WantComma()
				}
				in.Delim(']')
			}
		case "modifiers":
			(out.Modifiers).UnmarshalEasyJSON(in)
		case "timestamp":
			if in.IsNull() {
				in.Skip()
				out.Timestamp = nil
			} else {
				if out.Timestamp == nil {
					out.Timestamp = new(TimeSinceEpoch)
				}
				(*out.Timestamp).UnmarshalEasyJSON(in)
			}
		default:
			in.SkipRecursive()
		}
		in.WantComma()
	}
	in.Delim('}')
	if isTopLevel {
		in.Consumed()
	}
}
func easyjsonC5a4559bEncodeGithubComChromedpCdprotoInput12(out *jwriter.Writer, in DispatchTouchEventParams) {
	out.RawByte('{')
	first := true
	_ = first
	{
		const prefix string = ",\"type\":"
		out.RawString(prefix[1:])
		(in.Type).MarshalEasyJSON(out)
	}
	{
		const prefix string = ",\"touchPoints\":"
		out.RawString(prefix)
		if in.TouchPoints == nil && (out.Flags&jwriter.NilSliceAsEmpty) == 0 {
			out.RawString("null")
		} else {
			out.RawByte('[')
			for v8, v9 := range in.TouchPoints {
				if v8 > 0 {
					out.RawByte(',')
				}
				if v9 == nil {
					out.RawString("null")
				} else {
					(*v9).MarshalEasyJSON(out)
				}
			}
			out.RawByte(']')
		}
	}
	{
		const prefix string = ",\"modifiers\":"
		out.RawString(prefix)
		(in.Modifiers).MarshalEasyJSON(out)
	}
	if in.Timestamp != nil {
		const prefix string = ",\"timestamp\":"
		out.RawString(prefix)
		(*in.Timestamp).MarshalEasyJSON(out)
	}
	out.RawByte('}')
}

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

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

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

// UnmarshalEasyJSON supports easyjson.Unmarshaler interface
func (v *DispatchTouchEventParams) UnmarshalEasyJSON(l *jlexer.Lexer) {
	easyjsonC5a4559bDecodeGithubComChromedpCdprotoInput12(l, v)
}
func easyjsonC5a4559bDecodeGithubComChromedpCdprotoInput13(in *jlexer.Lexer, out *DispatchMouseEventParams) {
	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 "type":
			(out.Type).UnmarshalEasyJSON(in)
		case "x":
			out.X = float64(in.Float64())
		case "y":
			out.Y = float64(in.Float64())
		case "modifiers":
			(out.Modifiers).UnmarshalEasyJSON(in)
		case "timestamp":
			if in.IsNull() {
				in.Skip()
				out.Timestamp = nil
			} else {
				if out.Timestamp == nil {
					out.Timestamp = new(TimeSinceEpoch)
				}
				(*out.Timestamp).UnmarshalEasyJSON(in)
			}
		case "button":
			(out.Button).UnmarshalEasyJSON(in)
		case "buttons":
			out.Buttons = int64(in.Int64())
		case "clickCount":
			out.ClickCount = int64(in.Int64())
		case "force":
			out.Force = float64(in.Float64())
		case "tangentialPressure":
			out.TangentialPressure = float64(in.Float64())
		case "tiltX":
			out.TiltX = float64(in.Float64())
		case "tiltY":
			out.TiltY = float64(in.Float64())
		case "twist":
			out.Twist = int64(in.Int64())
		case "deltaX":
			out.DeltaX = float64(in.Float64())
		case "deltaY":
			out.DeltaY = float64(in.Float64())
		case "pointerType":
			(out.PointerType).UnmarshalEasyJSON(in)
		default:
			in.SkipRecursive()
		}
		in.WantComma()
	}
	in.Delim('}')
	if isTopLevel {
		in.Consumed()
	}
}
func easyjsonC5a4559bEncodeGithubComChromedpCdprotoInput13(out *jwriter.Writer, in DispatchMouseEventParams) {
	out.RawByte('{')
	first := true
	_ = first
	{
		const prefix string = ",\"type\":"
		out.RawString(prefix[1:])
		(in.Type).MarshalEasyJSON(out)
	}
	{
		const prefix string = ",\"x\":"
		out.RawString(prefix)
		out.Float64(float64(in.X))
	}
	{
		const prefix string = ",\"y\":"
		out.RawString(prefix)
		out.Float64(float64(in.Y))
	}
	{
		const prefix string = ",\"modifiers\":"
		out.RawString(prefix)
		(in.Modifiers).MarshalEasyJSON(out)
	}
	if in.Timestamp != nil {
		const prefix string = ",\"timestamp\":"
		out.RawString(prefix)
		(*in.Timestamp).MarshalEasyJSON(out)
	}
	if in.Button != "" {
		const prefix string = ",\"button\":"
		out.RawString(prefix)
		(in.Button).MarshalEasyJSON(out)
	}
	if in.Buttons != 0 {
		const prefix string = ",\"buttons\":"
		out.RawString(prefix)
		out.Int64(int64(in.Buttons))
	}
	if in.ClickCount != 0 {
		const prefix string = ",\"clickCount\":"
		out.RawString(prefix)
		out.Int64(int64(in.ClickCount))
	}
	if in.Force != 0 {
		const prefix string = ",\"force\":"
		out.RawString(prefix)
		out.Float64(float64(in.Force))
	}
	if in.TangentialPressure != 0 {
		const prefix string = ",\"tangentialPressure\":"
		out.RawString(prefix)
		out.Float64(float64(in.TangentialPressure))
	}
	if in.TiltX != 0 {
		const prefix string = ",\"tiltX\":"
		out.RawString(prefix)
		out.Float64(float64(in.TiltX))
	}
	if in.TiltY != 0 {
		const prefix string = ",\"tiltY\":"
		out.RawString(prefix)
		out.Float64(float64(in.TiltY))
	}
	if in.Twist != 0 {
		const prefix string = ",\"twist\":"
		out.RawString(prefix)
		out.Int64(int64(in.Twist))
	}
	{
		const prefix string = ",\"deltaX\":"
		out.RawString(prefix)
		out.Float64(float64(in.DeltaX))
	}
	{
		const prefix string = ",\"deltaY\":"
		out.RawString(prefix)
		out.Float64(float64(in.DeltaY))
	}
	if in.PointerType != "" {
		const prefix string = ",\"pointerType\":"
		out.RawString(prefix)
		(in.PointerType).MarshalEasyJSON(out)
	}
	out.RawByte('}')
}

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

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

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

// UnmarshalEasyJSON supports easyjson.Unmarshaler interface
func (v *DispatchMouseEventParams) UnmarshalEasyJSON(l *jlexer.Lexer) {
	easyjsonC5a4559bDecodeGithubComChromedpCdprotoInput13(l, v)
}
func easyjsonC5a4559bDecodeGithubComChromedpCdprotoInput14(in *jlexer.Lexer, out *DispatchKeyEventParams) {
	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 "type":
			(out.Type).UnmarshalEasyJSON(in)
		case "modifiers":
			(out.Modifiers).UnmarshalEasyJSON(in)
		case "timestamp":
			if in.IsNull() {
				in.Skip()
				out.Timestamp = nil
			} else {
				if out.Timestamp == nil {
					out.Timestamp = new(TimeSinceEpoch)
				}
				(*out.Timestamp).UnmarshalEasyJSON(in)
			}
		case "text":
			out.Text = string(in.String())
		case "unmodifiedText":
			out.UnmodifiedText = string(in.String())
		case "keyIdentifier":
			out.KeyIdentifier = string(in.String())
		case "code":
			out.Code = string(in.String())
		case "key":
			out.Key = string(in.String())
		case "windowsVirtualKeyCode":
			out.WindowsVirtualKeyCode = int64(in.Int64())
		case "nativeVirtualKeyCode":
			out.NativeVirtualKeyCode = int64(in.Int64())
		case "autoRepeat":
			out.AutoRepeat = bool(in.Bool())
		case "isKeypad":
			out.IsKeypad = bool(in.Bool())
		case "isSystemKey":
			out.IsSystemKey = bool(in.Bool())
		case "location":
			out.Location = int64(in.Int64())
		case "commands":
			if in.IsNull() {
				in.Skip()
				out.Commands = nil
			} else {
				in.Delim('[')
				if out.Commands == nil {
					if !in.IsDelim(']') {
						out.Commands = make([]string, 0, 4)
					} else {
						out.Commands = []string{}
					}
				} else {
					out.Commands = (out.Commands)[:0]
				}
				for !in.IsDelim(']') {
					var v10 string
					v10 = string(in.String())
					out.Commands = append(out.Commands, v10)
					in.WantComma()
				}
				in.Delim(']')
			}
		default:
			in.SkipRecursive()
		}
		in.WantComma()
	}
	in.Delim('}')
	if isTopLevel {
		in.Consumed()
	}
}
func easyjsonC5a4559bEncodeGithubComChromedpCdprotoInput14(out *jwriter.Writer, in DispatchKeyEventParams) {
	out.RawByte('{')
	first := true
	_ = first
	{
		const prefix string = ",\"type\":"
		out.RawString(prefix[1:])
		(in.Type).MarshalEasyJSON(out)
	}
	{
		const prefix string = ",\"modifiers\":"
		out.RawString(prefix)
		(in.Modifiers).MarshalEasyJSON(out)
	}
	if in.Timestamp != nil {
		const prefix string = ",\"timestamp\":"
		out.RawString(prefix)
		(*in.Timestamp).MarshalEasyJSON(out)
	}
	if in.Text != "" {
		const prefix string = ",\"text\":"
		out.RawString(prefix)
		out.String(string(in.Text))
	}
	if in.UnmodifiedText != "" {
		const prefix string = ",\"unmodifiedText\":"
		out.RawString(prefix)
		out.String(string(in.UnmodifiedText))
	}
	if in.KeyIdentifier != "" {
		const prefix string = ",\"keyIdentifier\":"
		out.RawString(prefix)
		out.String(string(in.KeyIdentifier))
	}
	if in.Code != "" {
		const prefix string = ",\"code\":"
		out.RawString(prefix)
		out.String(string(in.Code))
	}
	if in.Key != "" {
		const prefix string = ",\"key\":"
		out.RawString(prefix)
		out.String(string(in.Key))
	}
	if in.WindowsVirtualKeyCode != 0 {
		const prefix string = ",\"windowsVirtualKeyCode\":"
		out.RawString(prefix)
		out.Int64(int64(in.WindowsVirtualKeyCode))
	}
	if in.NativeVirtualKeyCode != 0 {
		const prefix string = ",\"nativeVirtualKeyCode\":"
		out.RawString(prefix)
		out.Int64(int64(in.NativeVirtualKeyCode))
	}
	{
		const prefix string = ",\"autoRepeat\":"
		out.RawString(prefix)
		out.Bool(bool(in.AutoRepeat))
	}
	{
		const prefix string = ",\"isKeypad\":"
		out.RawString(prefix)
		out.Bool(bool(in.IsKeypad))
	}
	{
		const prefix string = ",\"isSystemKey\":"
		out.RawString(prefix)
		out.Bool(bool(in.IsSystemKey))
	}
	if in.Location != 0 {
		const prefix string = ",\"location\":"
		out.RawString(prefix)
		out.Int64(int64(in.Location))
	}
	if len(in.Commands) != 0 {
		const prefix string = ",\"commands\":"
		out.RawString(prefix)
		{
			out.RawByte('[')
			for v11, v12 := range in.Commands {
				if v11 > 0 {
					out.RawByte(',')
				}
				out.String(string(v12))
			}
			out.RawByte(']')
		}
	}
	out.RawByte('}')
}

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

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

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

// UnmarshalEasyJSON supports easyjson.Unmarshaler interface
func (v *DispatchKeyEventParams) UnmarshalEasyJSON(l *jlexer.Lexer) {
	easyjsonC5a4559bDecodeGithubComChromedpCdprotoInput14(l, v)
}
func easyjsonC5a4559bDecodeGithubComChromedpCdprotoInput15(in *jlexer.Lexer, out *DispatchDragEventParams) {
	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 "type":
			(out.Type).UnmarshalEasyJSON(in)
		case "x":
			out.X = float64(in.Float64())
		case "y":
			out.Y = float64(in.Float64())
		case "data":
			if in.IsNull() {
				in.Skip()
				out.Data = nil
			} else {
				if out.Data == nil {
					out.Data = new(DragData)
				}
				(*out.Data).UnmarshalEasyJSON(in)
			}
		case "modifiers":
			(out.Modifiers).UnmarshalEasyJSON(in)
		default:
			in.SkipRecursive()
		}
		in.WantComma()
	}
	in.Delim('}')
	if isTopLevel {
		in.Consumed()
	}
}
func easyjsonC5a4559bEncodeGithubComChromedpCdprotoInput15(out *jwriter.Writer, in DispatchDragEventParams) {
	out.RawByte('{')
	first := true
	_ = first
	{
		const prefix string = ",\"type\":"
		out.RawString(prefix[1:])
		(in.Type).MarshalEasyJSON(out)
	}
	{
		const prefix string = ",\"x\":"
		out.RawString(prefix)
		out.Float64(float64(in.X))
	}
	{
		const prefix string = ",\"y\":"
		out.RawString(prefix)
		out.Float64(float64(in.Y))
	}
	{
		const prefix string = ",\"data\":"
		out.RawString(prefix)
		if in.Data == nil {
			out.RawString("null")
		} else {
			(*in.Data).MarshalEasyJSON(out)
		}
	}
	{
		const prefix string = ",\"modifiers\":"
		out.RawString(prefix)
		(in.Modifiers).MarshalEasyJSON(out)
	}
	out.RawByte('}')
}

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

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

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

// UnmarshalEasyJSON supports easyjson.Unmarshaler interface
func (v *DispatchDragEventParams) UnmarshalEasyJSON(l *jlexer.Lexer) {
	easyjsonC5a4559bDecodeGithubComChromedpCdprotoInput15(l, v)
}
func easyjsonC5a4559bDecodeGithubComChromedpCdprotoInput16(in *jlexer.Lexer, out *CancelDraggingParams) {
	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 {
		default:
			in.SkipRecursive()
		}
		in.WantComma()
	}
	in.Delim('}')
	if isTopLevel {
		in.Consumed()
	}
}
func easyjsonC5a4559bEncodeGithubComChromedpCdprotoInput16(out *jwriter.Writer, in CancelDraggingParams) {
	out.RawByte('{')
	first := true
	_ = first
	out.RawByte('}')
}

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

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

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

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