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

package animation

import (
	json "encoding/json"
	runtime "github.com/chromedp/cdproto/runtime"
	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 easyjsonC5a4559bDecodeGithubComChromedpCdprotoAnimation(in *jlexer.Lexer, out *ViewOrScrollTimeline) {
	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 "sourceNodeId":
			(out.SourceNodeID).UnmarshalEasyJSON(in)
		case "startOffset":
			out.StartOffset = float64(in.Float64())
		case "endOffset":
			out.EndOffset = float64(in.Float64())
		case "subjectNodeId":
			(out.SubjectNodeID).UnmarshalEasyJSON(in)
		case "axis":
			(out.Axis).UnmarshalEasyJSON(in)
		default:
			in.SkipRecursive()
		}
		in.WantComma()
	}
	in.Delim('}')
	if isTopLevel {
		in.Consumed()
	}
}
func easyjsonC5a4559bEncodeGithubComChromedpCdprotoAnimation(out *jwriter.Writer, in ViewOrScrollTimeline) {
	out.RawByte('{')
	first := true
	_ = first
	if in.SourceNodeID != 0 {
		const prefix string = ",\"sourceNodeId\":"
		first = false
		out.RawString(prefix[1:])
		out.Int64(int64(in.SourceNodeID))
	}
	if in.StartOffset != 0 {
		const prefix string = ",\"startOffset\":"
		if first {
			first = false
			out.RawString(prefix[1:])
		} else {
			out.RawString(prefix)
		}
		out.Float64(float64(in.StartOffset))
	}
	if in.EndOffset != 0 {
		const prefix string = ",\"endOffset\":"
		if first {
			first = false
			out.RawString(prefix[1:])
		} else {
			out.RawString(prefix)
		}
		out.Float64(float64(in.EndOffset))
	}
	if in.SubjectNodeID != 0 {
		const prefix string = ",\"subjectNodeId\":"
		if first {
			first = false
			out.RawString(prefix[1:])
		} else {
			out.RawString(prefix)
		}
		out.Int64(int64(in.SubjectNodeID))
	}
	{
		const prefix string = ",\"axis\":"
		if first {
			first = false
			out.RawString(prefix[1:])
		} else {
			out.RawString(prefix)
		}
		(in.Axis).MarshalEasyJSON(out)
	}
	out.RawByte('}')
}

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

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

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

// UnmarshalEasyJSON supports easyjson.Unmarshaler interface
func (v *ViewOrScrollTimeline) UnmarshalEasyJSON(l *jlexer.Lexer) {
	easyjsonC5a4559bDecodeGithubComChromedpCdprotoAnimation(l, v)
}
func easyjsonC5a4559bDecodeGithubComChromedpCdprotoAnimation1(in *jlexer.Lexer, out *SetTimingParams) {
	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 "animationId":
			out.AnimationID = string(in.String())
		case "duration":
			out.Duration = float64(in.Float64())
		case "delay":
			out.Delay = float64(in.Float64())
		default:
			in.SkipRecursive()
		}
		in.WantComma()
	}
	in.Delim('}')
	if isTopLevel {
		in.Consumed()
	}
}
func easyjsonC5a4559bEncodeGithubComChromedpCdprotoAnimation1(out *jwriter.Writer, in SetTimingParams) {
	out.RawByte('{')
	first := true
	_ = first
	{
		const prefix string = ",\"animationId\":"
		out.RawString(prefix[1:])
		out.String(string(in.AnimationID))
	}
	{
		const prefix string = ",\"duration\":"
		out.RawString(prefix)
		out.Float64(float64(in.Duration))
	}
	{
		const prefix string = ",\"delay\":"
		out.RawString(prefix)
		out.Float64(float64(in.Delay))
	}
	out.RawByte('}')
}

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

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

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

// UnmarshalEasyJSON supports easyjson.Unmarshaler interface
func (v *SetTimingParams) UnmarshalEasyJSON(l *jlexer.Lexer) {
	easyjsonC5a4559bDecodeGithubComChromedpCdprotoAnimation1(l, v)
}
func easyjsonC5a4559bDecodeGithubComChromedpCdprotoAnimation2(in *jlexer.Lexer, out *SetPlaybackRateParams) {
	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 "playbackRate":
			out.PlaybackRate = float64(in.Float64())
		default:
			in.SkipRecursive()
		}
		in.WantComma()
	}
	in.Delim('}')
	if isTopLevel {
		in.Consumed()
	}
}
func easyjsonC5a4559bEncodeGithubComChromedpCdprotoAnimation2(out *jwriter.Writer, in SetPlaybackRateParams) {
	out.RawByte('{')
	first := true
	_ = first
	{
		const prefix string = ",\"playbackRate\":"
		out.RawString(prefix[1:])
		out.Float64(float64(in.PlaybackRate))
	}
	out.RawByte('}')
}

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

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

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

// UnmarshalEasyJSON supports easyjson.Unmarshaler interface
func (v *SetPlaybackRateParams) UnmarshalEasyJSON(l *jlexer.Lexer) {
	easyjsonC5a4559bDecodeGithubComChromedpCdprotoAnimation2(l, v)
}
func easyjsonC5a4559bDecodeGithubComChromedpCdprotoAnimation3(in *jlexer.Lexer, out *SetPausedParams) {
	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 "animations":
			if in.IsNull() {
				in.Skip()
				out.Animations = nil
			} else {
				in.Delim('[')
				if out.Animations == nil {
					if !in.IsDelim(']') {
						out.Animations = make([]string, 0, 4)
					} else {
						out.Animations = []string{}
					}
				} else {
					out.Animations = (out.Animations)[:0]
				}
				for !in.IsDelim(']') {
					var v1 string
					v1 = string(in.String())
					out.Animations = append(out.Animations, v1)
					in.WantComma()
				}
				in.Delim(']')
			}
		case "paused":
			out.Paused = bool(in.Bool())
		default:
			in.SkipRecursive()
		}
		in.WantComma()
	}
	in.Delim('}')
	if isTopLevel {
		in.Consumed()
	}
}
func easyjsonC5a4559bEncodeGithubComChromedpCdprotoAnimation3(out *jwriter.Writer, in SetPausedParams) {
	out.RawByte('{')
	first := true
	_ = first
	{
		const prefix string = ",\"animations\":"
		out.RawString(prefix[1:])
		if in.Animations == nil && (out.Flags&jwriter.NilSliceAsEmpty) == 0 {
			out.RawString("null")
		} else {
			out.RawByte('[')
			for v2, v3 := range in.Animations {
				if v2 > 0 {
					out.RawByte(',')
				}
				out.String(string(v3))
			}
			out.RawByte(']')
		}
	}
	{
		const prefix string = ",\"paused\":"
		out.RawString(prefix)
		out.Bool(bool(in.Paused))
	}
	out.RawByte('}')
}

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

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

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

// UnmarshalEasyJSON supports easyjson.Unmarshaler interface
func (v *SetPausedParams) UnmarshalEasyJSON(l *jlexer.Lexer) {
	easyjsonC5a4559bDecodeGithubComChromedpCdprotoAnimation3(l, v)
}
func easyjsonC5a4559bDecodeGithubComChromedpCdprotoAnimation4(in *jlexer.Lexer, out *SeekAnimationsParams) {
	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 "animations":
			if in.IsNull() {
				in.Skip()
				out.Animations = nil
			} else {
				in.Delim('[')
				if out.Animations == nil {
					if !in.IsDelim(']') {
						out.Animations = make([]string, 0, 4)
					} else {
						out.Animations = []string{}
					}
				} else {
					out.Animations = (out.Animations)[:0]
				}
				for !in.IsDelim(']') {
					var v4 string
					v4 = string(in.String())
					out.Animations = append(out.Animations, v4)
					in.WantComma()
				}
				in.Delim(']')
			}
		case "currentTime":
			out.CurrentTime = float64(in.Float64())
		default:
			in.SkipRecursive()
		}
		in.WantComma()
	}
	in.Delim('}')
	if isTopLevel {
		in.Consumed()
	}
}
func easyjsonC5a4559bEncodeGithubComChromedpCdprotoAnimation4(out *jwriter.Writer, in SeekAnimationsParams) {
	out.RawByte('{')
	first := true
	_ = first
	{
		const prefix string = ",\"animations\":"
		out.RawString(prefix[1:])
		if in.Animations == nil && (out.Flags&jwriter.NilSliceAsEmpty) == 0 {
			out.RawString("null")
		} else {
			out.RawByte('[')
			for v5, v6 := range in.Animations {
				if v5 > 0 {
					out.RawByte(',')
				}
				out.String(string(v6))
			}
			out.RawByte(']')
		}
	}
	{
		const prefix string = ",\"currentTime\":"
		out.RawString(prefix)
		out.Float64(float64(in.CurrentTime))
	}
	out.RawByte('}')
}

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

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

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

// UnmarshalEasyJSON supports easyjson.Unmarshaler interface
func (v *SeekAnimationsParams) UnmarshalEasyJSON(l *jlexer.Lexer) {
	easyjsonC5a4559bDecodeGithubComChromedpCdprotoAnimation4(l, v)
}
func easyjsonC5a4559bDecodeGithubComChromedpCdprotoAnimation5(in *jlexer.Lexer, out *ResolveAnimationReturns) {
	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 "remoteObject":
			if in.IsNull() {
				in.Skip()
				out.RemoteObject = nil
			} else {
				if out.RemoteObject == nil {
					out.RemoteObject = new(runtime.RemoteObject)
				}
				(*out.RemoteObject).UnmarshalEasyJSON(in)
			}
		default:
			in.SkipRecursive()
		}
		in.WantComma()
	}
	in.Delim('}')
	if isTopLevel {
		in.Consumed()
	}
}
func easyjsonC5a4559bEncodeGithubComChromedpCdprotoAnimation5(out *jwriter.Writer, in ResolveAnimationReturns) {
	out.RawByte('{')
	first := true
	_ = first
	if in.RemoteObject != nil {
		const prefix string = ",\"remoteObject\":"
		first = false
		out.RawString(prefix[1:])
		(*in.RemoteObject).MarshalEasyJSON(out)
	}
	out.RawByte('}')
}

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

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

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

// UnmarshalEasyJSON supports easyjson.Unmarshaler interface
func (v *ResolveAnimationReturns) UnmarshalEasyJSON(l *jlexer.Lexer) {
	easyjsonC5a4559bDecodeGithubComChromedpCdprotoAnimation5(l, v)
}
func easyjsonC5a4559bDecodeGithubComChromedpCdprotoAnimation6(in *jlexer.Lexer, out *ResolveAnimationParams) {
	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 "animationId":
			out.AnimationID = string(in.String())
		default:
			in.SkipRecursive()
		}
		in.WantComma()
	}
	in.Delim('}')
	if isTopLevel {
		in.Consumed()
	}
}
func easyjsonC5a4559bEncodeGithubComChromedpCdprotoAnimation6(out *jwriter.Writer, in ResolveAnimationParams) {
	out.RawByte('{')
	first := true
	_ = first
	{
		const prefix string = ",\"animationId\":"
		out.RawString(prefix[1:])
		out.String(string(in.AnimationID))
	}
	out.RawByte('}')
}

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

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

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

// UnmarshalEasyJSON supports easyjson.Unmarshaler interface
func (v *ResolveAnimationParams) UnmarshalEasyJSON(l *jlexer.Lexer) {
	easyjsonC5a4559bDecodeGithubComChromedpCdprotoAnimation6(l, v)
}
func easyjsonC5a4559bDecodeGithubComChromedpCdprotoAnimation7(in *jlexer.Lexer, out *ReleaseAnimationsParams) {
	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 "animations":
			if in.IsNull() {
				in.Skip()
				out.Animations = nil
			} else {
				in.Delim('[')
				if out.Animations == nil {
					if !in.IsDelim(']') {
						out.Animations = make([]string, 0, 4)
					} else {
						out.Animations = []string{}
					}
				} else {
					out.Animations = (out.Animations)[:0]
				}
				for !in.IsDelim(']') {
					var v7 string
					v7 = string(in.String())
					out.Animations = append(out.Animations, v7)
					in.WantComma()
				}
				in.Delim(']')
			}
		default:
			in.SkipRecursive()
		}
		in.WantComma()
	}
	in.Delim('}')
	if isTopLevel {
		in.Consumed()
	}
}
func easyjsonC5a4559bEncodeGithubComChromedpCdprotoAnimation7(out *jwriter.Writer, in ReleaseAnimationsParams) {
	out.RawByte('{')
	first := true
	_ = first
	{
		const prefix string = ",\"animations\":"
		out.RawString(prefix[1:])
		if in.Animations == nil && (out.Flags&jwriter.NilSliceAsEmpty) == 0 {
			out.RawString("null")
		} else {
			out.RawByte('[')
			for v8, v9 := range in.Animations {
				if v8 > 0 {
					out.RawByte(',')
				}
				out.String(string(v9))
			}
			out.RawByte(']')
		}
	}
	out.RawByte('}')
}

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

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

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

// UnmarshalEasyJSON supports easyjson.Unmarshaler interface
func (v *ReleaseAnimationsParams) UnmarshalEasyJSON(l *jlexer.Lexer) {
	easyjsonC5a4559bDecodeGithubComChromedpCdprotoAnimation7(l, v)
}
func easyjsonC5a4559bDecodeGithubComChromedpCdprotoAnimation8(in *jlexer.Lexer, out *KeyframesRule) {
	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 "name":
			out.Name = string(in.String())
		case "keyframes":
			if in.IsNull() {
				in.Skip()
				out.Keyframes = nil
			} else {
				in.Delim('[')
				if out.Keyframes == nil {
					if !in.IsDelim(']') {
						out.Keyframes = make([]*KeyframeStyle, 0, 8)
					} else {
						out.Keyframes = []*KeyframeStyle{}
					}
				} else {
					out.Keyframes = (out.Keyframes)[:0]
				}
				for !in.IsDelim(']') {
					var v10 *KeyframeStyle
					if in.IsNull() {
						in.Skip()
						v10 = nil
					} else {
						if v10 == nil {
							v10 = new(KeyframeStyle)
						}
						(*v10).UnmarshalEasyJSON(in)
					}
					out.Keyframes = append(out.Keyframes, v10)
					in.WantComma()
				}
				in.Delim(']')
			}
		default:
			in.SkipRecursive()
		}
		in.WantComma()
	}
	in.Delim('}')
	if isTopLevel {
		in.Consumed()
	}
}
func easyjsonC5a4559bEncodeGithubComChromedpCdprotoAnimation8(out *jwriter.Writer, in KeyframesRule) {
	out.RawByte('{')
	first := true
	_ = first
	if in.Name != "" {
		const prefix string = ",\"name\":"
		first = false
		out.RawString(prefix[1:])
		out.String(string(in.Name))
	}
	{
		const prefix string = ",\"keyframes\":"
		if first {
			first = false
			out.RawString(prefix[1:])
		} else {
			out.RawString(prefix)
		}
		if in.Keyframes == nil && (out.Flags&jwriter.NilSliceAsEmpty) == 0 {
			out.RawString("null")
		} else {
			out.RawByte('[')
			for v11, v12 := range in.Keyframes {
				if v11 > 0 {
					out.RawByte(',')
				}
				if v12 == nil {
					out.RawString("null")
				} else {
					(*v12).MarshalEasyJSON(out)
				}
			}
			out.RawByte(']')
		}
	}
	out.RawByte('}')
}

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

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

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

// UnmarshalEasyJSON supports easyjson.Unmarshaler interface
func (v *KeyframesRule) UnmarshalEasyJSON(l *jlexer.Lexer) {
	easyjsonC5a4559bDecodeGithubComChromedpCdprotoAnimation8(l, v)
}
func easyjsonC5a4559bDecodeGithubComChromedpCdprotoAnimation9(in *jlexer.Lexer, out *KeyframeStyle) {
	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 "offset":
			out.Offset = string(in.String())
		case "easing":
			out.Easing = string(in.String())
		default:
			in.SkipRecursive()
		}
		in.WantComma()
	}
	in.Delim('}')
	if isTopLevel {
		in.Consumed()
	}
}
func easyjsonC5a4559bEncodeGithubComChromedpCdprotoAnimation9(out *jwriter.Writer, in KeyframeStyle) {
	out.RawByte('{')
	first := true
	_ = first
	{
		const prefix string = ",\"offset\":"
		out.RawString(prefix[1:])
		out.String(string(in.Offset))
	}
	{
		const prefix string = ",\"easing\":"
		out.RawString(prefix)
		out.String(string(in.Easing))
	}
	out.RawByte('}')
}

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

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

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

// UnmarshalEasyJSON supports easyjson.Unmarshaler interface
func (v *KeyframeStyle) UnmarshalEasyJSON(l *jlexer.Lexer) {
	easyjsonC5a4559bDecodeGithubComChromedpCdprotoAnimation9(l, v)
}
func easyjsonC5a4559bDecodeGithubComChromedpCdprotoAnimation10(in *jlexer.Lexer, out *GetPlaybackRateReturns) {
	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 "playbackRate":
			out.PlaybackRate = float64(in.Float64())
		default:
			in.SkipRecursive()
		}
		in.WantComma()
	}
	in.Delim('}')
	if isTopLevel {
		in.Consumed()
	}
}
func easyjsonC5a4559bEncodeGithubComChromedpCdprotoAnimation10(out *jwriter.Writer, in GetPlaybackRateReturns) {
	out.RawByte('{')
	first := true
	_ = first
	if in.PlaybackRate != 0 {
		const prefix string = ",\"playbackRate\":"
		first = false
		out.RawString(prefix[1:])
		out.Float64(float64(in.PlaybackRate))
	}
	out.RawByte('}')
}

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

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

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

// UnmarshalEasyJSON supports easyjson.Unmarshaler interface
func (v *GetPlaybackRateReturns) UnmarshalEasyJSON(l *jlexer.Lexer) {
	easyjsonC5a4559bDecodeGithubComChromedpCdprotoAnimation10(l, v)
}
func easyjsonC5a4559bDecodeGithubComChromedpCdprotoAnimation11(in *jlexer.Lexer, out *GetPlaybackRateParams) {
	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 easyjsonC5a4559bEncodeGithubComChromedpCdprotoAnimation11(out *jwriter.Writer, in GetPlaybackRateParams) {
	out.RawByte('{')
	first := true
	_ = first
	out.RawByte('}')
}

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

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

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

// UnmarshalEasyJSON supports easyjson.Unmarshaler interface
func (v *GetPlaybackRateParams) UnmarshalEasyJSON(l *jlexer.Lexer) {
	easyjsonC5a4559bDecodeGithubComChromedpCdprotoAnimation11(l, v)
}
func easyjsonC5a4559bDecodeGithubComChromedpCdprotoAnimation12(in *jlexer.Lexer, out *GetCurrentTimeReturns) {
	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 "currentTime":
			out.CurrentTime = float64(in.Float64())
		default:
			in.SkipRecursive()
		}
		in.WantComma()
	}
	in.Delim('}')
	if isTopLevel {
		in.Consumed()
	}
}
func easyjsonC5a4559bEncodeGithubComChromedpCdprotoAnimation12(out *jwriter.Writer, in GetCurrentTimeReturns) {
	out.RawByte('{')
	first := true
	_ = first
	if in.CurrentTime != 0 {
		const prefix string = ",\"currentTime\":"
		first = false
		out.RawString(prefix[1:])
		out.Float64(float64(in.CurrentTime))
	}
	out.RawByte('}')
}

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

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

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

// UnmarshalEasyJSON supports easyjson.Unmarshaler interface
func (v *GetCurrentTimeReturns) UnmarshalEasyJSON(l *jlexer.Lexer) {
	easyjsonC5a4559bDecodeGithubComChromedpCdprotoAnimation12(l, v)
}
func easyjsonC5a4559bDecodeGithubComChromedpCdprotoAnimation13(in *jlexer.Lexer, out *GetCurrentTimeParams) {
	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 "id":
			out.ID = string(in.String())
		default:
			in.SkipRecursive()
		}
		in.WantComma()
	}
	in.Delim('}')
	if isTopLevel {
		in.Consumed()
	}
}
func easyjsonC5a4559bEncodeGithubComChromedpCdprotoAnimation13(out *jwriter.Writer, in GetCurrentTimeParams) {
	out.RawByte('{')
	first := true
	_ = first
	{
		const prefix string = ",\"id\":"
		out.RawString(prefix[1:])
		out.String(string(in.ID))
	}
	out.RawByte('}')
}

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

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

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

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

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

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

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

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

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

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

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

// UnmarshalEasyJSON supports easyjson.Unmarshaler interface
func (v *EventAnimationStarted) UnmarshalEasyJSON(l *jlexer.Lexer) {
	easyjsonC5a4559bDecodeGithubComChromedpCdprotoAnimation15(l, v)
}
func easyjsonC5a4559bDecodeGithubComChromedpCdprotoAnimation16(in *jlexer.Lexer, out *EventAnimationCreated) {
	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 "id":
			out.ID = string(in.String())
		default:
			in.SkipRecursive()
		}
		in.WantComma()
	}
	in.Delim('}')
	if isTopLevel {
		in.Consumed()
	}
}
func easyjsonC5a4559bEncodeGithubComChromedpCdprotoAnimation16(out *jwriter.Writer, in EventAnimationCreated) {
	out.RawByte('{')
	first := true
	_ = first
	{
		const prefix string = ",\"id\":"
		out.RawString(prefix[1:])
		out.String(string(in.ID))
	}
	out.RawByte('}')
}

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

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

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

// UnmarshalEasyJSON supports easyjson.Unmarshaler interface
func (v *EventAnimationCreated) UnmarshalEasyJSON(l *jlexer.Lexer) {
	easyjsonC5a4559bDecodeGithubComChromedpCdprotoAnimation16(l, v)
}
func easyjsonC5a4559bDecodeGithubComChromedpCdprotoAnimation17(in *jlexer.Lexer, out *EventAnimationCanceled) {
	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 "id":
			out.ID = string(in.String())
		default:
			in.SkipRecursive()
		}
		in.WantComma()
	}
	in.Delim('}')
	if isTopLevel {
		in.Consumed()
	}
}
func easyjsonC5a4559bEncodeGithubComChromedpCdprotoAnimation17(out *jwriter.Writer, in EventAnimationCanceled) {
	out.RawByte('{')
	first := true
	_ = first
	{
		const prefix string = ",\"id\":"
		out.RawString(prefix[1:])
		out.String(string(in.ID))
	}
	out.RawByte('}')
}

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

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

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

// UnmarshalEasyJSON supports easyjson.Unmarshaler interface
func (v *EventAnimationCanceled) UnmarshalEasyJSON(l *jlexer.Lexer) {
	easyjsonC5a4559bDecodeGithubComChromedpCdprotoAnimation17(l, v)
}
func easyjsonC5a4559bDecodeGithubComChromedpCdprotoAnimation18(in *jlexer.Lexer, out *EnableParams) {
	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 easyjsonC5a4559bEncodeGithubComChromedpCdprotoAnimation18(out *jwriter.Writer, in EnableParams) {
	out.RawByte('{')
	first := true
	_ = first
	out.RawByte('}')
}

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

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

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

// UnmarshalEasyJSON supports easyjson.Unmarshaler interface
func (v *EnableParams) UnmarshalEasyJSON(l *jlexer.Lexer) {
	easyjsonC5a4559bDecodeGithubComChromedpCdprotoAnimation18(l, v)
}
func easyjsonC5a4559bDecodeGithubComChromedpCdprotoAnimation19(in *jlexer.Lexer, out *Effect) {
	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 "delay":
			out.Delay = float64(in.Float64())
		case "endDelay":
			out.EndDelay = float64(in.Float64())
		case "iterationStart":
			out.IterationStart = float64(in.Float64())
		case "iterations":
			out.Iterations = float64(in.Float64())
		case "duration":
			out.Duration = float64(in.Float64())
		case "direction":
			out.Direction = string(in.String())
		case "fill":
			out.Fill = string(in.String())
		case "backendNodeId":
			(out.BackendNodeID).UnmarshalEasyJSON(in)
		case "keyframesRule":
			if in.IsNull() {
				in.Skip()
				out.KeyframesRule = nil
			} else {
				if out.KeyframesRule == nil {
					out.KeyframesRule = new(KeyframesRule)
				}
				(*out.KeyframesRule).UnmarshalEasyJSON(in)
			}
		case "easing":
			out.Easing = string(in.String())
		default:
			in.SkipRecursive()
		}
		in.WantComma()
	}
	in.Delim('}')
	if isTopLevel {
		in.Consumed()
	}
}
func easyjsonC5a4559bEncodeGithubComChromedpCdprotoAnimation19(out *jwriter.Writer, in Effect) {
	out.RawByte('{')
	first := true
	_ = first
	{
		const prefix string = ",\"delay\":"
		out.RawString(prefix[1:])
		out.Float64(float64(in.Delay))
	}
	{
		const prefix string = ",\"endDelay\":"
		out.RawString(prefix)
		out.Float64(float64(in.EndDelay))
	}
	{
		const prefix string = ",\"iterationStart\":"
		out.RawString(prefix)
		out.Float64(float64(in.IterationStart))
	}
	{
		const prefix string = ",\"iterations\":"
		out.RawString(prefix)
		out.Float64(float64(in.Iterations))
	}
	{
		const prefix string = ",\"duration\":"
		out.RawString(prefix)
		out.Float64(float64(in.Duration))
	}
	{
		const prefix string = ",\"direction\":"
		out.RawString(prefix)
		out.String(string(in.Direction))
	}
	{
		const prefix string = ",\"fill\":"
		out.RawString(prefix)
		out.String(string(in.Fill))
	}
	if in.BackendNodeID != 0 {
		const prefix string = ",\"backendNodeId\":"
		out.RawString(prefix)
		out.Int64(int64(in.BackendNodeID))
	}
	if in.KeyframesRule != nil {
		const prefix string = ",\"keyframesRule\":"
		out.RawString(prefix)
		(*in.KeyframesRule).MarshalEasyJSON(out)
	}
	{
		const prefix string = ",\"easing\":"
		out.RawString(prefix)
		out.String(string(in.Easing))
	}
	out.RawByte('}')
}

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

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

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

// UnmarshalEasyJSON supports easyjson.Unmarshaler interface
func (v *Effect) UnmarshalEasyJSON(l *jlexer.Lexer) {
	easyjsonC5a4559bDecodeGithubComChromedpCdprotoAnimation19(l, v)
}
func easyjsonC5a4559bDecodeGithubComChromedpCdprotoAnimation20(in *jlexer.Lexer, out *DisableParams) {
	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 easyjsonC5a4559bEncodeGithubComChromedpCdprotoAnimation20(out *jwriter.Writer, in DisableParams) {
	out.RawByte('{')
	first := true
	_ = first
	out.RawByte('}')
}

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

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

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

// UnmarshalEasyJSON supports easyjson.Unmarshaler interface
func (v *DisableParams) UnmarshalEasyJSON(l *jlexer.Lexer) {
	easyjsonC5a4559bDecodeGithubComChromedpCdprotoAnimation20(l, v)
}
func easyjsonC5a4559bDecodeGithubComChromedpCdprotoAnimation21(in *jlexer.Lexer, out *Animation) {
	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 "id":
			out.ID = string(in.String())
		case "name":
			out.Name = string(in.String())
		case "pausedState":
			out.PausedState = bool(in.Bool())
		case "playState":
			out.PlayState = string(in.String())
		case "playbackRate":
			out.PlaybackRate = float64(in.Float64())
		case "startTime":
			out.StartTime = float64(in.Float64())
		case "currentTime":
			out.CurrentTime = float64(in.Float64())
		case "type":
			(out.Type).UnmarshalEasyJSON(in)
		case "source":
			if in.IsNull() {
				in.Skip()
				out.Source = nil
			} else {
				if out.Source == nil {
					out.Source = new(Effect)
				}
				(*out.Source).UnmarshalEasyJSON(in)
			}
		case "cssId":
			out.CSSID = string(in.String())
		case "viewOrScrollTimeline":
			if in.IsNull() {
				in.Skip()
				out.ViewOrScrollTimeline = nil
			} else {
				if out.ViewOrScrollTimeline == nil {
					out.ViewOrScrollTimeline = new(ViewOrScrollTimeline)
				}
				(*out.ViewOrScrollTimeline).UnmarshalEasyJSON(in)
			}
		default:
			in.SkipRecursive()
		}
		in.WantComma()
	}
	in.Delim('}')
	if isTopLevel {
		in.Consumed()
	}
}
func easyjsonC5a4559bEncodeGithubComChromedpCdprotoAnimation21(out *jwriter.Writer, in Animation) {
	out.RawByte('{')
	first := true
	_ = first
	{
		const prefix string = ",\"id\":"
		out.RawString(prefix[1:])
		out.String(string(in.ID))
	}
	{
		const prefix string = ",\"name\":"
		out.RawString(prefix)
		out.String(string(in.Name))
	}
	{
		const prefix string = ",\"pausedState\":"
		out.RawString(prefix)
		out.Bool(bool(in.PausedState))
	}
	{
		const prefix string = ",\"playState\":"
		out.RawString(prefix)
		out.String(string(in.PlayState))
	}
	{
		const prefix string = ",\"playbackRate\":"
		out.RawString(prefix)
		out.Float64(float64(in.PlaybackRate))
	}
	{
		const prefix string = ",\"startTime\":"
		out.RawString(prefix)
		out.Float64(float64(in.StartTime))
	}
	{
		const prefix string = ",\"currentTime\":"
		out.RawString(prefix)
		out.Float64(float64(in.CurrentTime))
	}
	{
		const prefix string = ",\"type\":"
		out.RawString(prefix)
		(in.Type).MarshalEasyJSON(out)
	}
	if in.Source != nil {
		const prefix string = ",\"source\":"
		out.RawString(prefix)
		(*in.Source).MarshalEasyJSON(out)
	}
	if in.CSSID != "" {
		const prefix string = ",\"cssId\":"
		out.RawString(prefix)
		out.String(string(in.CSSID))
	}
	if in.ViewOrScrollTimeline != nil {
		const prefix string = ",\"viewOrScrollTimeline\":"
		out.RawString(prefix)
		(*in.ViewOrScrollTimeline).MarshalEasyJSON(out)
	}
	out.RawByte('}')
}

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

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

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

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