//go:build go1.6 && ((codecgen && !codec.notfastpath && !codec.notmammoth) || (generated && !codec.notfastpath && !codec.notmammoth))
// +build go1.6
// +build codecgen,!codec.notfastpath,!codec.notmammoth generated,!codec.notfastpath,!codec.notmammoth

// Code generated by codecgen - DO NOT EDIT.

package codec

import (
	"errors"
	"runtime"
	"sort"
	"strconv"
)

const (
	// ----- content types ----
	codecSelferCcUTF819781 = 1
	codecSelferCcRAW19781  = 255
	// ----- value types used ----
	codecSelferValueTypeArray19781     = 10
	codecSelferValueTypeMap19781       = 9
	codecSelferValueTypeString19781    = 6
	codecSelferValueTypeInt19781       = 2
	codecSelferValueTypeUint19781      = 3
	codecSelferValueTypeFloat19781     = 4
	codecSelferValueTypeNil19781       = 1
	codecSelferBitsize19781            = uint8(32 << (^uint(0) >> 63))
	codecSelferDecContainerLenNil19781 = -2147483648
)

var (
	errCodecSelferOnlyMapOrArrayEncodeToStruct19781                = errors.New(`only encoded map or array can be decoded into a struct`)
	_                                               sort.Interface = nil
)

type codecSelfer19781 struct{}

func codecSelfer19781False() bool { return false }
func codecSelfer19781True() bool  { return true }

type codecSelfer19781stringSlice []string

func (p codecSelfer19781stringSlice) Len() int           { return len(p) }
func (p codecSelfer19781stringSlice) Swap(i, j int)      { p[uint(i)], p[uint(j)] = p[uint(j)], p[uint(i)] }
func (p codecSelfer19781stringSlice) Less(i, j int) bool { return p[uint(i)] < p[uint(j)] }

type codecSelfer19781uint64Slice []uint64

func (p codecSelfer19781uint64Slice) Len() int           { return len(p) }
func (p codecSelfer19781uint64Slice) Swap(i, j int)      { p[uint(i)], p[uint(j)] = p[uint(j)], p[uint(i)] }
func (p codecSelfer19781uint64Slice) Less(i, j int) bool { return p[uint(i)] < p[uint(j)] }

type codecSelfer19781int64Slice []int64

func (p codecSelfer19781int64Slice) Len() int           { return len(p) }
func (p codecSelfer19781int64Slice) Swap(i, j int)      { p[uint(i)], p[uint(j)] = p[uint(j)], p[uint(i)] }
func (p codecSelfer19781int64Slice) Less(i, j int) bool { return p[uint(i)] < p[uint(j)] }

type codecSelfer19781float64Slice []float64

func (p codecSelfer19781float64Slice) Len() int           { return len(p) }
func (p codecSelfer19781float64Slice) Swap(i, j int)      { p[uint(i)], p[uint(j)] = p[uint(j)], p[uint(i)] }
func (p codecSelfer19781float64Slice) Less(i, j int) bool { return p[uint(i)] < p[uint(j)] }

func init() {
	if GenVersion != 25 {
		_, file, _, _ := runtime.Caller(0)
		ver := strconv.FormatInt(int64(GenVersion), 10)
		panic(errors.New("codecgen version mismatch: current: 25, need " + ver + ". Re-generate file: " + file))
	}
}

func (TestMammoth2) codecSelferViaCodecgen() {}
func (x *TestMammoth2) CodecEncodeSelf(e *Encoder) {
	var h codecSelfer19781
	z, r := GenHelper().Encoder(e)
	_, _, _ = h, z, r
	if z.EncBasicHandle().CheckCircularRef {
		z.EncEncode(x)
		return
	}
	if x == nil {
		r.EncodeNil()
	} else {
		yy2arr2 := z.EncBasicHandle().StructToArray
		_ = yy2arr2
		const yyr2 bool = false // struct tag has 'toArray'
		var yyn4 bool = x.FptrIntf == nil
		var yyn6 bool = x.FptrString == nil
		var yyn8 bool = x.FptrBytes == nil
		var yyn10 bool = x.FptrFloat32 == nil
		var yyn12 bool = x.FptrFloat64 == nil
		var yyn14 bool = x.FptrUint == nil
		var yyn16 bool = x.FptrUint8 == nil
		var yyn18 bool = x.FptrUint16 == nil
		var yyn20 bool = x.FptrUint32 == nil
		var yyn22 bool = x.FptrUint64 == nil
		var yyn24 bool = x.FptrUintptr == nil
		var yyn26 bool = x.FptrInt == nil
		var yyn28 bool = x.FptrInt8 == nil
		var yyn30 bool = x.FptrInt16 == nil
		var yyn32 bool = x.FptrInt32 == nil
		var yyn34 bool = x.FptrInt64 == nil
		var yyn36 bool = x.FptrBool == nil
		var yyn38 bool = x.FptrSliceIntf == nil
		var yyn40 bool = x.FptrSliceString == nil
		var yyn42 bool = x.FptrSliceBytes == nil
		var yyn44 bool = x.FptrSliceFloat32 == nil
		var yyn46 bool = x.FptrSliceFloat64 == nil
		var yyn48 bool = x.FptrSliceUint8 == nil
		var yyn50 bool = x.FptrSliceUint64 == nil
		var yyn52 bool = x.FptrSliceInt == nil
		var yyn54 bool = x.FptrSliceInt32 == nil
		var yyn56 bool = x.FptrSliceInt64 == nil
		var yyn58 bool = x.FptrSliceBool == nil
		var yyn60 bool = x.FptrMapStringIntf == nil
		var yyn62 bool = x.FptrMapStringString == nil
		var yyn64 bool = x.FptrMapStringBytes == nil
		var yyn66 bool = x.FptrMapStringUint8 == nil
		var yyn68 bool = x.FptrMapStringUint64 == nil
		var yyn70 bool = x.FptrMapStringInt == nil
		var yyn72 bool = x.FptrMapStringInt32 == nil
		var yyn74 bool = x.FptrMapStringFloat64 == nil
		var yyn76 bool = x.FptrMapStringBool == nil
		var yyn78 bool = x.FptrMapUint8Intf == nil
		var yyn80 bool = x.FptrMapUint8String == nil
		var yyn82 bool = x.FptrMapUint8Bytes == nil
		var yyn84 bool = x.FptrMapUint8Uint8 == nil
		var yyn86 bool = x.FptrMapUint8Uint64 == nil
		var yyn88 bool = x.FptrMapUint8Int == nil
		var yyn90 bool = x.FptrMapUint8Int32 == nil
		var yyn92 bool = x.FptrMapUint8Float64 == nil
		var yyn94 bool = x.FptrMapUint8Bool == nil
		var yyn96 bool = x.FptrMapUint64Intf == nil
		var yyn98 bool = x.FptrMapUint64String == nil
		var yyn100 bool = x.FptrMapUint64Bytes == nil
		var yyn102 bool = x.FptrMapUint64Uint8 == nil
		var yyn104 bool = x.FptrMapUint64Uint64 == nil
		var yyn106 bool = x.FptrMapUint64Int == nil
		var yyn108 bool = x.FptrMapUint64Int32 == nil
		var yyn110 bool = x.FptrMapUint64Float64 == nil
		var yyn112 bool = x.FptrMapUint64Bool == nil
		var yyn114 bool = x.FptrMapIntIntf == nil
		var yyn116 bool = x.FptrMapIntString == nil
		var yyn118 bool = x.FptrMapIntBytes == nil
		var yyn120 bool = x.FptrMapIntUint8 == nil
		var yyn122 bool = x.FptrMapIntUint64 == nil
		var yyn124 bool = x.FptrMapIntInt == nil
		var yyn126 bool = x.FptrMapIntInt32 == nil
		var yyn128 bool = x.FptrMapIntFloat64 == nil
		var yyn130 bool = x.FptrMapIntBool == nil
		var yyn132 bool = x.FptrMapInt32Intf == nil
		var yyn134 bool = x.FptrMapInt32String == nil
		var yyn136 bool = x.FptrMapInt32Bytes == nil
		var yyn138 bool = x.FptrMapInt32Uint8 == nil
		var yyn140 bool = x.FptrMapInt32Uint64 == nil
		var yyn142 bool = x.FptrMapInt32Int == nil
		var yyn144 bool = x.FptrMapInt32Int32 == nil
		var yyn146 bool = x.FptrMapInt32Float64 == nil
		var yyn148 bool = x.FptrMapInt32Bool == nil
		if yyr2 || yy2arr2 {
			z.EncWriteArrayStart(146)
			z.EncWriteArrayElem()
			z.EncFallback(x.FIntf)
			if yyn4 {
				z.EncWriteArrayElem()
				r.EncodeNil()
			} else {
				z.EncWriteArrayElem()
				yy150 := *x.FptrIntf
				z.EncFallback(yy150)
			}
			z.EncWriteArrayElem()
			r.EncodeString(string(x.FString))
			if yyn6 {
				z.EncWriteArrayElem()
				r.EncodeNil()
			} else {
				z.EncWriteArrayElem()
				yy153 := *x.FptrString
				r.EncodeString(string(yy153))
			}
			z.EncWriteArrayElem()
			if x.FBytes == nil {
				r.EncodeNil()
			} else {
				r.EncodeStringBytesRaw([]byte(x.FBytes))
			} // end block: if x.FBytes slice == nil
			if yyn8 {
				z.EncWriteArrayElem()
				r.EncodeNil()
			} else {
				z.EncWriteArrayElem()
				yy156 := *x.FptrBytes
				if yy156 == nil {
					r.EncodeNil()
				} else {
					r.EncodeStringBytesRaw([]byte(yy156))
				} // end block: if yy156 slice == nil
			}
			z.EncWriteArrayElem()
			r.EncodeFloat32(float32(x.FFloat32))
			if yyn10 {
				z.EncWriteArrayElem()
				r.EncodeNil()
			} else {
				z.EncWriteArrayElem()
				yy159 := *x.FptrFloat32
				r.EncodeFloat32(float32(yy159))
			}
			z.EncWriteArrayElem()
			r.EncodeFloat64(float64(x.FFloat64))
			if yyn12 {
				z.EncWriteArrayElem()
				r.EncodeNil()
			} else {
				z.EncWriteArrayElem()
				yy162 := *x.FptrFloat64
				r.EncodeFloat64(float64(yy162))
			}
			z.EncWriteArrayElem()
			r.EncodeUint(uint64(x.FUint))
			if yyn14 {
				z.EncWriteArrayElem()
				r.EncodeNil()
			} else {
				z.EncWriteArrayElem()
				yy165 := *x.FptrUint
				r.EncodeUint(uint64(yy165))
			}
			z.EncWriteArrayElem()
			r.EncodeUint(uint64(x.FUint8))
			if yyn16 {
				z.EncWriteArrayElem()
				r.EncodeNil()
			} else {
				z.EncWriteArrayElem()
				yy168 := *x.FptrUint8
				r.EncodeUint(uint64(yy168))
			}
			z.EncWriteArrayElem()
			r.EncodeUint(uint64(x.FUint16))
			if yyn18 {
				z.EncWriteArrayElem()
				r.EncodeNil()
			} else {
				z.EncWriteArrayElem()
				yy171 := *x.FptrUint16
				r.EncodeUint(uint64(yy171))
			}
			z.EncWriteArrayElem()
			r.EncodeUint(uint64(x.FUint32))
			if yyn20 {
				z.EncWriteArrayElem()
				r.EncodeNil()
			} else {
				z.EncWriteArrayElem()
				yy174 := *x.FptrUint32
				r.EncodeUint(uint64(yy174))
			}
			z.EncWriteArrayElem()
			r.EncodeUint(uint64(x.FUint64))
			if yyn22 {
				z.EncWriteArrayElem()
				r.EncodeNil()
			} else {
				z.EncWriteArrayElem()
				yy177 := *x.FptrUint64
				r.EncodeUint(uint64(yy177))
			}
			z.EncWriteArrayElem()
			r.EncodeUint(uint64(x.FUintptr))
			if yyn24 {
				z.EncWriteArrayElem()
				r.EncodeNil()
			} else {
				z.EncWriteArrayElem()
				yy180 := *x.FptrUintptr
				r.EncodeUint(uint64(yy180))
			}
			z.EncWriteArrayElem()
			r.EncodeInt(int64(x.FInt))
			if yyn26 {
				z.EncWriteArrayElem()
				r.EncodeNil()
			} else {
				z.EncWriteArrayElem()
				yy183 := *x.FptrInt
				r.EncodeInt(int64(yy183))
			}
			z.EncWriteArrayElem()
			r.EncodeInt(int64(x.FInt8))
			if yyn28 {
				z.EncWriteArrayElem()
				r.EncodeNil()
			} else {
				z.EncWriteArrayElem()
				yy186 := *x.FptrInt8
				r.EncodeInt(int64(yy186))
			}
			z.EncWriteArrayElem()
			r.EncodeInt(int64(x.FInt16))
			if yyn30 {
				z.EncWriteArrayElem()
				r.EncodeNil()
			} else {
				z.EncWriteArrayElem()
				yy189 := *x.FptrInt16
				r.EncodeInt(int64(yy189))
			}
			z.EncWriteArrayElem()
			r.EncodeInt(int64(x.FInt32))
			if yyn32 {
				z.EncWriteArrayElem()
				r.EncodeNil()
			} else {
				z.EncWriteArrayElem()
				yy192 := *x.FptrInt32
				r.EncodeInt(int64(yy192))
			}
			z.EncWriteArrayElem()
			r.EncodeInt(int64(x.FInt64))
			if yyn34 {
				z.EncWriteArrayElem()
				r.EncodeNil()
			} else {
				z.EncWriteArrayElem()
				yy195 := *x.FptrInt64
				r.EncodeInt(int64(yy195))
			}
			z.EncWriteArrayElem()
			r.EncodeBool(bool(x.FBool))
			if yyn36 {
				z.EncWriteArrayElem()
				r.EncodeNil()
			} else {
				z.EncWriteArrayElem()
				yy198 := *x.FptrBool
				r.EncodeBool(bool(yy198))
			}
			z.EncWriteArrayElem()
			if x.FSliceIntf == nil {
				r.EncodeNil()
			} else {
				z.F.EncSliceIntfV(x.FSliceIntf, e)
			} // end block: if x.FSliceIntf slice == nil
			if yyn38 {
				z.EncWriteArrayElem()
				r.EncodeNil()
			} else {
				z.EncWriteArrayElem()
				yy201 := *x.FptrSliceIntf
				if yy201 == nil {
					r.EncodeNil()
				} else {
					z.F.EncSliceIntfV(yy201, e)
				} // end block: if yy201 slice == nil
			}
			z.EncWriteArrayElem()
			if x.FSliceString == nil {
				r.EncodeNil()
			} else {
				z.F.EncSliceStringV(x.FSliceString, e)
			} // end block: if x.FSliceString slice == nil
			if yyn40 {
				z.EncWriteArrayElem()
				r.EncodeNil()
			} else {
				z.EncWriteArrayElem()
				yy204 := *x.FptrSliceString
				if yy204 == nil {
					r.EncodeNil()
				} else {
					z.F.EncSliceStringV(yy204, e)
				} // end block: if yy204 slice == nil
			}
			z.EncWriteArrayElem()
			if x.FSliceBytes == nil {
				r.EncodeNil()
			} else {
				z.F.EncSliceBytesV(x.FSliceBytes, e)
			} // end block: if x.FSliceBytes slice == nil
			if yyn42 {
				z.EncWriteArrayElem()
				r.EncodeNil()
			} else {
				z.EncWriteArrayElem()
				yy207 := *x.FptrSliceBytes
				if yy207 == nil {
					r.EncodeNil()
				} else {
					z.F.EncSliceBytesV(yy207, e)
				} // end block: if yy207 slice == nil
			}
			z.EncWriteArrayElem()
			if x.FSliceFloat32 == nil {
				r.EncodeNil()
			} else {
				z.F.EncSliceFloat32V(x.FSliceFloat32, e)
			} // end block: if x.FSliceFloat32 slice == nil
			if yyn44 {
				z.EncWriteArrayElem()
				r.EncodeNil()
			} else {
				z.EncWriteArrayElem()
				yy210 := *x.FptrSliceFloat32
				if yy210 == nil {
					r.EncodeNil()
				} else {
					z.F.EncSliceFloat32V(yy210, e)
				} // end block: if yy210 slice == nil
			}
			z.EncWriteArrayElem()
			if x.FSliceFloat64 == nil {
				r.EncodeNil()
			} else {
				z.F.EncSliceFloat64V(x.FSliceFloat64, e)
			} // end block: if x.FSliceFloat64 slice == nil
			if yyn46 {
				z.EncWriteArrayElem()
				r.EncodeNil()
			} else {
				z.EncWriteArrayElem()
				yy213 := *x.FptrSliceFloat64
				if yy213 == nil {
					r.EncodeNil()
				} else {
					z.F.EncSliceFloat64V(yy213, e)
				} // end block: if yy213 slice == nil
			}
			z.EncWriteArrayElem()
			if x.FSliceUint8 == nil {
				r.EncodeNil()
			} else {
				r.EncodeStringBytesRaw([]byte(x.FSliceUint8))
			} // end block: if x.FSliceUint8 slice == nil
			if yyn48 {
				z.EncWriteArrayElem()
				r.EncodeNil()
			} else {
				z.EncWriteArrayElem()
				yy216 := *x.FptrSliceUint8
				if yy216 == nil {
					r.EncodeNil()
				} else {
					r.EncodeStringBytesRaw([]byte(yy216))
				} // end block: if yy216 slice == nil
			}
			z.EncWriteArrayElem()
			if x.FSliceUint64 == nil {
				r.EncodeNil()
			} else {
				z.F.EncSliceUint64V(x.FSliceUint64, e)
			} // end block: if x.FSliceUint64 slice == nil
			if yyn50 {
				z.EncWriteArrayElem()
				r.EncodeNil()
			} else {
				z.EncWriteArrayElem()
				yy219 := *x.FptrSliceUint64
				if yy219 == nil {
					r.EncodeNil()
				} else {
					z.F.EncSliceUint64V(yy219, e)
				} // end block: if yy219 slice == nil
			}
			z.EncWriteArrayElem()
			if x.FSliceInt == nil {
				r.EncodeNil()
			} else {
				z.F.EncSliceIntV(x.FSliceInt, e)
			} // end block: if x.FSliceInt slice == nil
			if yyn52 {
				z.EncWriteArrayElem()
				r.EncodeNil()
			} else {
				z.EncWriteArrayElem()
				yy222 := *x.FptrSliceInt
				if yy222 == nil {
					r.EncodeNil()
				} else {
					z.F.EncSliceIntV(yy222, e)
				} // end block: if yy222 slice == nil
			}
			z.EncWriteArrayElem()
			if x.FSliceInt32 == nil {
				r.EncodeNil()
			} else {
				z.F.EncSliceInt32V(x.FSliceInt32, e)
			} // end block: if x.FSliceInt32 slice == nil
			if yyn54 {
				z.EncWriteArrayElem()
				r.EncodeNil()
			} else {
				z.EncWriteArrayElem()
				yy225 := *x.FptrSliceInt32
				if yy225 == nil {
					r.EncodeNil()
				} else {
					z.F.EncSliceInt32V(yy225, e)
				} // end block: if yy225 slice == nil
			}
			z.EncWriteArrayElem()
			if x.FSliceInt64 == nil {
				r.EncodeNil()
			} else {
				z.F.EncSliceInt64V(x.FSliceInt64, e)
			} // end block: if x.FSliceInt64 slice == nil
			if yyn56 {
				z.EncWriteArrayElem()
				r.EncodeNil()
			} else {
				z.EncWriteArrayElem()
				yy228 := *x.FptrSliceInt64
				if yy228 == nil {
					r.EncodeNil()
				} else {
					z.F.EncSliceInt64V(yy228, e)
				} // end block: if yy228 slice == nil
			}
			z.EncWriteArrayElem()
			if x.FSliceBool == nil {
				r.EncodeNil()
			} else {
				z.F.EncSliceBoolV(x.FSliceBool, e)
			} // end block: if x.FSliceBool slice == nil
			if yyn58 {
				z.EncWriteArrayElem()
				r.EncodeNil()
			} else {
				z.EncWriteArrayElem()
				yy231 := *x.FptrSliceBool
				if yy231 == nil {
					r.EncodeNil()
				} else {
					z.F.EncSliceBoolV(yy231, e)
				} // end block: if yy231 slice == nil
			}
			z.EncWriteArrayElem()
			if x.FMapStringIntf == nil {
				r.EncodeNil()
			} else {
				z.F.EncMapStringIntfV(x.FMapStringIntf, e)
			} // end block: if x.FMapStringIntf map == nil
			if yyn60 {
				z.EncWriteArrayElem()
				r.EncodeNil()
			} else {
				z.EncWriteArrayElem()
				yy234 := *x.FptrMapStringIntf
				if yy234 == nil {
					r.EncodeNil()
				} else {
					z.F.EncMapStringIntfV(yy234, e)
				} // end block: if yy234 map == nil
			}
			z.EncWriteArrayElem()
			if x.FMapStringString == nil {
				r.EncodeNil()
			} else {
				z.F.EncMapStringStringV(x.FMapStringString, e)
			} // end block: if x.FMapStringString map == nil
			if yyn62 {
				z.EncWriteArrayElem()
				r.EncodeNil()
			} else {
				z.EncWriteArrayElem()
				yy237 := *x.FptrMapStringString
				if yy237 == nil {
					r.EncodeNil()
				} else {
					z.F.EncMapStringStringV(yy237, e)
				} // end block: if yy237 map == nil
			}
			z.EncWriteArrayElem()
			if x.FMapStringBytes == nil {
				r.EncodeNil()
			} else {
				z.F.EncMapStringBytesV(x.FMapStringBytes, e)
			} // end block: if x.FMapStringBytes map == nil
			if yyn64 {
				z.EncWriteArrayElem()
				r.EncodeNil()
			} else {
				z.EncWriteArrayElem()
				yy240 := *x.FptrMapStringBytes
				if yy240 == nil {
					r.EncodeNil()
				} else {
					z.F.EncMapStringBytesV(yy240, e)
				} // end block: if yy240 map == nil
			}
			z.EncWriteArrayElem()
			if x.FMapStringUint8 == nil {
				r.EncodeNil()
			} else {
				z.F.EncMapStringUint8V(x.FMapStringUint8, e)
			} // end block: if x.FMapStringUint8 map == nil
			if yyn66 {
				z.EncWriteArrayElem()
				r.EncodeNil()
			} else {
				z.EncWriteArrayElem()
				yy243 := *x.FptrMapStringUint8
				if yy243 == nil {
					r.EncodeNil()
				} else {
					z.F.EncMapStringUint8V(yy243, e)
				} // end block: if yy243 map == nil
			}
			z.EncWriteArrayElem()
			if x.FMapStringUint64 == nil {
				r.EncodeNil()
			} else {
				z.F.EncMapStringUint64V(x.FMapStringUint64, e)
			} // end block: if x.FMapStringUint64 map == nil
			if yyn68 {
				z.EncWriteArrayElem()
				r.EncodeNil()
			} else {
				z.EncWriteArrayElem()
				yy246 := *x.FptrMapStringUint64
				if yy246 == nil {
					r.EncodeNil()
				} else {
					z.F.EncMapStringUint64V(yy246, e)
				} // end block: if yy246 map == nil
			}
			z.EncWriteArrayElem()
			if x.FMapStringInt == nil {
				r.EncodeNil()
			} else {
				z.F.EncMapStringIntV(x.FMapStringInt, e)
			} // end block: if x.FMapStringInt map == nil
			if yyn70 {
				z.EncWriteArrayElem()
				r.EncodeNil()
			} else {
				z.EncWriteArrayElem()
				yy249 := *x.FptrMapStringInt
				if yy249 == nil {
					r.EncodeNil()
				} else {
					z.F.EncMapStringIntV(yy249, e)
				} // end block: if yy249 map == nil
			}
			z.EncWriteArrayElem()
			if x.FMapStringInt32 == nil {
				r.EncodeNil()
			} else {
				z.F.EncMapStringInt32V(x.FMapStringInt32, e)
			} // end block: if x.FMapStringInt32 map == nil
			if yyn72 {
				z.EncWriteArrayElem()
				r.EncodeNil()
			} else {
				z.EncWriteArrayElem()
				yy252 := *x.FptrMapStringInt32
				if yy252 == nil {
					r.EncodeNil()
				} else {
					z.F.EncMapStringInt32V(yy252, e)
				} // end block: if yy252 map == nil
			}
			z.EncWriteArrayElem()
			if x.FMapStringFloat64 == nil {
				r.EncodeNil()
			} else {
				z.F.EncMapStringFloat64V(x.FMapStringFloat64, e)
			} // end block: if x.FMapStringFloat64 map == nil
			if yyn74 {
				z.EncWriteArrayElem()
				r.EncodeNil()
			} else {
				z.EncWriteArrayElem()
				yy255 := *x.FptrMapStringFloat64
				if yy255 == nil {
					r.EncodeNil()
				} else {
					z.F.EncMapStringFloat64V(yy255, e)
				} // end block: if yy255 map == nil
			}
			z.EncWriteArrayElem()
			if x.FMapStringBool == nil {
				r.EncodeNil()
			} else {
				z.F.EncMapStringBoolV(x.FMapStringBool, e)
			} // end block: if x.FMapStringBool map == nil
			if yyn76 {
				z.EncWriteArrayElem()
				r.EncodeNil()
			} else {
				z.EncWriteArrayElem()
				yy258 := *x.FptrMapStringBool
				if yy258 == nil {
					r.EncodeNil()
				} else {
					z.F.EncMapStringBoolV(yy258, e)
				} // end block: if yy258 map == nil
			}
			z.EncWriteArrayElem()
			if x.FMapUint8Intf == nil {
				r.EncodeNil()
			} else {
				z.F.EncMapUint8IntfV(x.FMapUint8Intf, e)
			} // end block: if x.FMapUint8Intf map == nil
			if yyn78 {
				z.EncWriteArrayElem()
				r.EncodeNil()
			} else {
				z.EncWriteArrayElem()
				yy261 := *x.FptrMapUint8Intf
				if yy261 == nil {
					r.EncodeNil()
				} else {
					z.F.EncMapUint8IntfV(yy261, e)
				} // end block: if yy261 map == nil
			}
			z.EncWriteArrayElem()
			if x.FMapUint8String == nil {
				r.EncodeNil()
			} else {
				z.F.EncMapUint8StringV(x.FMapUint8String, e)
			} // end block: if x.FMapUint8String map == nil
			if yyn80 {
				z.EncWriteArrayElem()
				r.EncodeNil()
			} else {
				z.EncWriteArrayElem()
				yy264 := *x.FptrMapUint8String
				if yy264 == nil {
					r.EncodeNil()
				} else {
					z.F.EncMapUint8StringV(yy264, e)
				} // end block: if yy264 map == nil
			}
			z.EncWriteArrayElem()
			if x.FMapUint8Bytes == nil {
				r.EncodeNil()
			} else {
				z.F.EncMapUint8BytesV(x.FMapUint8Bytes, e)
			} // end block: if x.FMapUint8Bytes map == nil
			if yyn82 {
				z.EncWriteArrayElem()
				r.EncodeNil()
			} else {
				z.EncWriteArrayElem()
				yy267 := *x.FptrMapUint8Bytes
				if yy267 == nil {
					r.EncodeNil()
				} else {
					z.F.EncMapUint8BytesV(yy267, e)
				} // end block: if yy267 map == nil
			}
			z.EncWriteArrayElem()
			if x.FMapUint8Uint8 == nil {
				r.EncodeNil()
			} else {
				z.F.EncMapUint8Uint8V(x.FMapUint8Uint8, e)
			} // end block: if x.FMapUint8Uint8 map == nil
			if yyn84 {
				z.EncWriteArrayElem()
				r.EncodeNil()
			} else {
				z.EncWriteArrayElem()
				yy270 := *x.FptrMapUint8Uint8
				if yy270 == nil {
					r.EncodeNil()
				} else {
					z.F.EncMapUint8Uint8V(yy270, e)
				} // end block: if yy270 map == nil
			}
			z.EncWriteArrayElem()
			if x.FMapUint8Uint64 == nil {
				r.EncodeNil()
			} else {
				z.F.EncMapUint8Uint64V(x.FMapUint8Uint64, e)
			} // end block: if x.FMapUint8Uint64 map == nil
			if yyn86 {
				z.EncWriteArrayElem()
				r.EncodeNil()
			} else {
				z.EncWriteArrayElem()
				yy273 := *x.FptrMapUint8Uint64
				if yy273 == nil {
					r.EncodeNil()
				} else {
					z.F.EncMapUint8Uint64V(yy273, e)
				} // end block: if yy273 map == nil
			}
			z.EncWriteArrayElem()
			if x.FMapUint8Int == nil {
				r.EncodeNil()
			} else {
				z.F.EncMapUint8IntV(x.FMapUint8Int, e)
			} // end block: if x.FMapUint8Int map == nil
			if yyn88 {
				z.EncWriteArrayElem()
				r.EncodeNil()
			} else {
				z.EncWriteArrayElem()
				yy276 := *x.FptrMapUint8Int
				if yy276 == nil {
					r.EncodeNil()
				} else {
					z.F.EncMapUint8IntV(yy276, e)
				} // end block: if yy276 map == nil
			}
			z.EncWriteArrayElem()
			if x.FMapUint8Int32 == nil {
				r.EncodeNil()
			} else {
				z.F.EncMapUint8Int32V(x.FMapUint8Int32, e)
			} // end block: if x.FMapUint8Int32 map == nil
			if yyn90 {
				z.EncWriteArrayElem()
				r.EncodeNil()
			} else {
				z.EncWriteArrayElem()
				yy279 := *x.FptrMapUint8Int32
				if yy279 == nil {
					r.EncodeNil()
				} else {
					z.F.EncMapUint8Int32V(yy279, e)
				} // end block: if yy279 map == nil
			}
			z.EncWriteArrayElem()
			if x.FMapUint8Float64 == nil {
				r.EncodeNil()
			} else {
				z.F.EncMapUint8Float64V(x.FMapUint8Float64, e)
			} // end block: if x.FMapUint8Float64 map == nil
			if yyn92 {
				z.EncWriteArrayElem()
				r.EncodeNil()
			} else {
				z.EncWriteArrayElem()
				yy282 := *x.FptrMapUint8Float64
				if yy282 == nil {
					r.EncodeNil()
				} else {
					z.F.EncMapUint8Float64V(yy282, e)
				} // end block: if yy282 map == nil
			}
			z.EncWriteArrayElem()
			if x.FMapUint8Bool == nil {
				r.EncodeNil()
			} else {
				z.F.EncMapUint8BoolV(x.FMapUint8Bool, e)
			} // end block: if x.FMapUint8Bool map == nil
			if yyn94 {
				z.EncWriteArrayElem()
				r.EncodeNil()
			} else {
				z.EncWriteArrayElem()
				yy285 := *x.FptrMapUint8Bool
				if yy285 == nil {
					r.EncodeNil()
				} else {
					z.F.EncMapUint8BoolV(yy285, e)
				} // end block: if yy285 map == nil
			}
			z.EncWriteArrayElem()
			if x.FMapUint64Intf == nil {
				r.EncodeNil()
			} else {
				z.F.EncMapUint64IntfV(x.FMapUint64Intf, e)
			} // end block: if x.FMapUint64Intf map == nil
			if yyn96 {
				z.EncWriteArrayElem()
				r.EncodeNil()
			} else {
				z.EncWriteArrayElem()
				yy288 := *x.FptrMapUint64Intf
				if yy288 == nil {
					r.EncodeNil()
				} else {
					z.F.EncMapUint64IntfV(yy288, e)
				} // end block: if yy288 map == nil
			}
			z.EncWriteArrayElem()
			if x.FMapUint64String == nil {
				r.EncodeNil()
			} else {
				z.F.EncMapUint64StringV(x.FMapUint64String, e)
			} // end block: if x.FMapUint64String map == nil
			if yyn98 {
				z.EncWriteArrayElem()
				r.EncodeNil()
			} else {
				z.EncWriteArrayElem()
				yy291 := *x.FptrMapUint64String
				if yy291 == nil {
					r.EncodeNil()
				} else {
					z.F.EncMapUint64StringV(yy291, e)
				} // end block: if yy291 map == nil
			}
			z.EncWriteArrayElem()
			if x.FMapUint64Bytes == nil {
				r.EncodeNil()
			} else {
				z.F.EncMapUint64BytesV(x.FMapUint64Bytes, e)
			} // end block: if x.FMapUint64Bytes map == nil
			if yyn100 {
				z.EncWriteArrayElem()
				r.EncodeNil()
			} else {
				z.EncWriteArrayElem()
				yy294 := *x.FptrMapUint64Bytes
				if yy294 == nil {
					r.EncodeNil()
				} else {
					z.F.EncMapUint64BytesV(yy294, e)
				} // end block: if yy294 map == nil
			}
			z.EncWriteArrayElem()
			if x.FMapUint64Uint8 == nil {
				r.EncodeNil()
			} else {
				z.F.EncMapUint64Uint8V(x.FMapUint64Uint8, e)
			} // end block: if x.FMapUint64Uint8 map == nil
			if yyn102 {
				z.EncWriteArrayElem()
				r.EncodeNil()
			} else {
				z.EncWriteArrayElem()
				yy297 := *x.FptrMapUint64Uint8
				if yy297 == nil {
					r.EncodeNil()
				} else {
					z.F.EncMapUint64Uint8V(yy297, e)
				} // end block: if yy297 map == nil
			}
			z.EncWriteArrayElem()
			if x.FMapUint64Uint64 == nil {
				r.EncodeNil()
			} else {
				z.F.EncMapUint64Uint64V(x.FMapUint64Uint64, e)
			} // end block: if x.FMapUint64Uint64 map == nil
			if yyn104 {
				z.EncWriteArrayElem()
				r.EncodeNil()
			} else {
				z.EncWriteArrayElem()
				yy300 := *x.FptrMapUint64Uint64
				if yy300 == nil {
					r.EncodeNil()
				} else {
					z.F.EncMapUint64Uint64V(yy300, e)
				} // end block: if yy300 map == nil
			}
			z.EncWriteArrayElem()
			if x.FMapUint64Int == nil {
				r.EncodeNil()
			} else {
				z.F.EncMapUint64IntV(x.FMapUint64Int, e)
			} // end block: if x.FMapUint64Int map == nil
			if yyn106 {
				z.EncWriteArrayElem()
				r.EncodeNil()
			} else {
				z.EncWriteArrayElem()
				yy303 := *x.FptrMapUint64Int
				if yy303 == nil {
					r.EncodeNil()
				} else {
					z.F.EncMapUint64IntV(yy303, e)
				} // end block: if yy303 map == nil
			}
			z.EncWriteArrayElem()
			if x.FMapUint64Int32 == nil {
				r.EncodeNil()
			} else {
				z.F.EncMapUint64Int32V(x.FMapUint64Int32, e)
			} // end block: if x.FMapUint64Int32 map == nil
			if yyn108 {
				z.EncWriteArrayElem()
				r.EncodeNil()
			} else {
				z.EncWriteArrayElem()
				yy306 := *x.FptrMapUint64Int32
				if yy306 == nil {
					r.EncodeNil()
				} else {
					z.F.EncMapUint64Int32V(yy306, e)
				} // end block: if yy306 map == nil
			}
			z.EncWriteArrayElem()
			if x.FMapUint64Float64 == nil {
				r.EncodeNil()
			} else {
				z.F.EncMapUint64Float64V(x.FMapUint64Float64, e)
			} // end block: if x.FMapUint64Float64 map == nil
			if yyn110 {
				z.EncWriteArrayElem()
				r.EncodeNil()
			} else {
				z.EncWriteArrayElem()
				yy309 := *x.FptrMapUint64Float64
				if yy309 == nil {
					r.EncodeNil()
				} else {
					z.F.EncMapUint64Float64V(yy309, e)
				} // end block: if yy309 map == nil
			}
			z.EncWriteArrayElem()
			if x.FMapUint64Bool == nil {
				r.EncodeNil()
			} else {
				z.F.EncMapUint64BoolV(x.FMapUint64Bool, e)
			} // end block: if x.FMapUint64Bool map == nil
			if yyn112 {
				z.EncWriteArrayElem()
				r.EncodeNil()
			} else {
				z.EncWriteArrayElem()
				yy312 := *x.FptrMapUint64Bool
				if yy312 == nil {
					r.EncodeNil()
				} else {
					z.F.EncMapUint64BoolV(yy312, e)
				} // end block: if yy312 map == nil
			}
			z.EncWriteArrayElem()
			if x.FMapIntIntf == nil {
				r.EncodeNil()
			} else {
				z.F.EncMapIntIntfV(x.FMapIntIntf, e)
			} // end block: if x.FMapIntIntf map == nil
			if yyn114 {
				z.EncWriteArrayElem()
				r.EncodeNil()
			} else {
				z.EncWriteArrayElem()
				yy315 := *x.FptrMapIntIntf
				if yy315 == nil {
					r.EncodeNil()
				} else {
					z.F.EncMapIntIntfV(yy315, e)
				} // end block: if yy315 map == nil
			}
			z.EncWriteArrayElem()
			if x.FMapIntString == nil {
				r.EncodeNil()
			} else {
				z.F.EncMapIntStringV(x.FMapIntString, e)
			} // end block: if x.FMapIntString map == nil
			if yyn116 {
				z.EncWriteArrayElem()
				r.EncodeNil()
			} else {
				z.EncWriteArrayElem()
				yy318 := *x.FptrMapIntString
				if yy318 == nil {
					r.EncodeNil()
				} else {
					z.F.EncMapIntStringV(yy318, e)
				} // end block: if yy318 map == nil
			}
			z.EncWriteArrayElem()
			if x.FMapIntBytes == nil {
				r.EncodeNil()
			} else {
				z.F.EncMapIntBytesV(x.FMapIntBytes, e)
			} // end block: if x.FMapIntBytes map == nil
			if yyn118 {
				z.EncWriteArrayElem()
				r.EncodeNil()
			} else {
				z.EncWriteArrayElem()
				yy321 := *x.FptrMapIntBytes
				if yy321 == nil {
					r.EncodeNil()
				} else {
					z.F.EncMapIntBytesV(yy321, e)
				} // end block: if yy321 map == nil
			}
			z.EncWriteArrayElem()
			if x.FMapIntUint8 == nil {
				r.EncodeNil()
			} else {
				z.F.EncMapIntUint8V(x.FMapIntUint8, e)
			} // end block: if x.FMapIntUint8 map == nil
			if yyn120 {
				z.EncWriteArrayElem()
				r.EncodeNil()
			} else {
				z.EncWriteArrayElem()
				yy324 := *x.FptrMapIntUint8
				if yy324 == nil {
					r.EncodeNil()
				} else {
					z.F.EncMapIntUint8V(yy324, e)
				} // end block: if yy324 map == nil
			}
			z.EncWriteArrayElem()
			if x.FMapIntUint64 == nil {
				r.EncodeNil()
			} else {
				z.F.EncMapIntUint64V(x.FMapIntUint64, e)
			} // end block: if x.FMapIntUint64 map == nil
			if yyn122 {
				z.EncWriteArrayElem()
				r.EncodeNil()
			} else {
				z.EncWriteArrayElem()
				yy327 := *x.FptrMapIntUint64
				if yy327 == nil {
					r.EncodeNil()
				} else {
					z.F.EncMapIntUint64V(yy327, e)
				} // end block: if yy327 map == nil
			}
			z.EncWriteArrayElem()
			if x.FMapIntInt == nil {
				r.EncodeNil()
			} else {
				z.F.EncMapIntIntV(x.FMapIntInt, e)
			} // end block: if x.FMapIntInt map == nil
			if yyn124 {
				z.EncWriteArrayElem()
				r.EncodeNil()
			} else {
				z.EncWriteArrayElem()
				yy330 := *x.FptrMapIntInt
				if yy330 == nil {
					r.EncodeNil()
				} else {
					z.F.EncMapIntIntV(yy330, e)
				} // end block: if yy330 map == nil
			}
			z.EncWriteArrayElem()
			if x.FMapIntInt32 == nil {
				r.EncodeNil()
			} else {
				z.F.EncMapIntInt32V(x.FMapIntInt32, e)
			} // end block: if x.FMapIntInt32 map == nil
			if yyn126 {
				z.EncWriteArrayElem()
				r.EncodeNil()
			} else {
				z.EncWriteArrayElem()
				yy333 := *x.FptrMapIntInt32
				if yy333 == nil {
					r.EncodeNil()
				} else {
					z.F.EncMapIntInt32V(yy333, e)
				} // end block: if yy333 map == nil
			}
			z.EncWriteArrayElem()
			if x.FMapIntFloat64 == nil {
				r.EncodeNil()
			} else {
				z.F.EncMapIntFloat64V(x.FMapIntFloat64, e)
			} // end block: if x.FMapIntFloat64 map == nil
			if yyn128 {
				z.EncWriteArrayElem()
				r.EncodeNil()
			} else {
				z.EncWriteArrayElem()
				yy336 := *x.FptrMapIntFloat64
				if yy336 == nil {
					r.EncodeNil()
				} else {
					z.F.EncMapIntFloat64V(yy336, e)
				} // end block: if yy336 map == nil
			}
			z.EncWriteArrayElem()
			if x.FMapIntBool == nil {
				r.EncodeNil()
			} else {
				z.F.EncMapIntBoolV(x.FMapIntBool, e)
			} // end block: if x.FMapIntBool map == nil
			if yyn130 {
				z.EncWriteArrayElem()
				r.EncodeNil()
			} else {
				z.EncWriteArrayElem()
				yy339 := *x.FptrMapIntBool
				if yy339 == nil {
					r.EncodeNil()
				} else {
					z.F.EncMapIntBoolV(yy339, e)
				} // end block: if yy339 map == nil
			}
			z.EncWriteArrayElem()
			if x.FMapInt32Intf == nil {
				r.EncodeNil()
			} else {
				z.F.EncMapInt32IntfV(x.FMapInt32Intf, e)
			} // end block: if x.FMapInt32Intf map == nil
			if yyn132 {
				z.EncWriteArrayElem()
				r.EncodeNil()
			} else {
				z.EncWriteArrayElem()
				yy342 := *x.FptrMapInt32Intf
				if yy342 == nil {
					r.EncodeNil()
				} else {
					z.F.EncMapInt32IntfV(yy342, e)
				} // end block: if yy342 map == nil
			}
			z.EncWriteArrayElem()
			if x.FMapInt32String == nil {
				r.EncodeNil()
			} else {
				z.F.EncMapInt32StringV(x.FMapInt32String, e)
			} // end block: if x.FMapInt32String map == nil
			if yyn134 {
				z.EncWriteArrayElem()
				r.EncodeNil()
			} else {
				z.EncWriteArrayElem()
				yy345 := *x.FptrMapInt32String
				if yy345 == nil {
					r.EncodeNil()
				} else {
					z.F.EncMapInt32StringV(yy345, e)
				} // end block: if yy345 map == nil
			}
			z.EncWriteArrayElem()
			if x.FMapInt32Bytes == nil {
				r.EncodeNil()
			} else {
				z.F.EncMapInt32BytesV(x.FMapInt32Bytes, e)
			} // end block: if x.FMapInt32Bytes map == nil
			if yyn136 {
				z.EncWriteArrayElem()
				r.EncodeNil()
			} else {
				z.EncWriteArrayElem()
				yy348 := *x.FptrMapInt32Bytes
				if yy348 == nil {
					r.EncodeNil()
				} else {
					z.F.EncMapInt32BytesV(yy348, e)
				} // end block: if yy348 map == nil
			}
			z.EncWriteArrayElem()
			if x.FMapInt32Uint8 == nil {
				r.EncodeNil()
			} else {
				z.F.EncMapInt32Uint8V(x.FMapInt32Uint8, e)
			} // end block: if x.FMapInt32Uint8 map == nil
			if yyn138 {
				z.EncWriteArrayElem()
				r.EncodeNil()
			} else {
				z.EncWriteArrayElem()
				yy351 := *x.FptrMapInt32Uint8
				if yy351 == nil {
					r.EncodeNil()
				} else {
					z.F.EncMapInt32Uint8V(yy351, e)
				} // end block: if yy351 map == nil
			}
			z.EncWriteArrayElem()
			if x.FMapInt32Uint64 == nil {
				r.EncodeNil()
			} else {
				z.F.EncMapInt32Uint64V(x.FMapInt32Uint64, e)
			} // end block: if x.FMapInt32Uint64 map == nil
			if yyn140 {
				z.EncWriteArrayElem()
				r.EncodeNil()
			} else {
				z.EncWriteArrayElem()
				yy354 := *x.FptrMapInt32Uint64
				if yy354 == nil {
					r.EncodeNil()
				} else {
					z.F.EncMapInt32Uint64V(yy354, e)
				} // end block: if yy354 map == nil
			}
			z.EncWriteArrayElem()
			if x.FMapInt32Int == nil {
				r.EncodeNil()
			} else {
				z.F.EncMapInt32IntV(x.FMapInt32Int, e)
			} // end block: if x.FMapInt32Int map == nil
			if yyn142 {
				z.EncWriteArrayElem()
				r.EncodeNil()
			} else {
				z.EncWriteArrayElem()
				yy357 := *x.FptrMapInt32Int
				if yy357 == nil {
					r.EncodeNil()
				} else {
					z.F.EncMapInt32IntV(yy357, e)
				} // end block: if yy357 map == nil
			}
			z.EncWriteArrayElem()
			if x.FMapInt32Int32 == nil {
				r.EncodeNil()
			} else {
				z.F.EncMapInt32Int32V(x.FMapInt32Int32, e)
			} // end block: if x.FMapInt32Int32 map == nil
			if yyn144 {
				z.EncWriteArrayElem()
				r.EncodeNil()
			} else {
				z.EncWriteArrayElem()
				yy360 := *x.FptrMapInt32Int32
				if yy360 == nil {
					r.EncodeNil()
				} else {
					z.F.EncMapInt32Int32V(yy360, e)
				} // end block: if yy360 map == nil
			}
			z.EncWriteArrayElem()
			if x.FMapInt32Float64 == nil {
				r.EncodeNil()
			} else {
				z.F.EncMapInt32Float64V(x.FMapInt32Float64, e)
			} // end block: if x.FMapInt32Float64 map == nil
			if yyn146 {
				z.EncWriteArrayElem()
				r.EncodeNil()
			} else {
				z.EncWriteArrayElem()
				yy363 := *x.FptrMapInt32Float64
				if yy363 == nil {
					r.EncodeNil()
				} else {
					z.F.EncMapInt32Float64V(yy363, e)
				} // end block: if yy363 map == nil
			}
			z.EncWriteArrayElem()
			if x.FMapInt32Bool == nil {
				r.EncodeNil()
			} else {
				z.F.EncMapInt32BoolV(x.FMapInt32Bool, e)
			} // end block: if x.FMapInt32Bool map == nil
			if yyn148 {
				z.EncWriteArrayElem()
				r.EncodeNil()
			} else {
				z.EncWriteArrayElem()
				yy366 := *x.FptrMapInt32Bool
				if yy366 == nil {
					r.EncodeNil()
				} else {
					z.F.EncMapInt32BoolV(yy366, e)
				} // end block: if yy366 map == nil
			}
			z.EncWriteArrayEnd()
		} else {
			z.EncWriteMapStart(146)
			if z.EncBasicHandle().Canonical {
				z.EncWriteMapElemKey()
				if z.IsJSONHandle() {
					z.WriteStr("\"FBool\"")
				} else {
					r.EncodeString(`FBool`)
				}
				z.EncWriteMapElemValue()
				r.EncodeBool(bool(x.FBool))
				z.EncWriteMapElemKey()
				if z.IsJSONHandle() {
					z.WriteStr("\"FBytes\"")
				} else {
					r.EncodeString(`FBytes`)
				}
				z.EncWriteMapElemValue()
				if x.FBytes == nil {
					r.EncodeNil()
				} else {
					r.EncodeStringBytesRaw([]byte(x.FBytes))
				} // end block: if x.FBytes slice == nil
				z.EncWriteMapElemKey()
				if z.IsJSONHandle() {
					z.WriteStr("\"FFloat32\"")
				} else {
					r.EncodeString(`FFloat32`)
				}
				z.EncWriteMapElemValue()
				r.EncodeFloat32(float32(x.FFloat32))
				z.EncWriteMapElemKey()
				if z.IsJSONHandle() {
					z.WriteStr("\"FFloat64\"")
				} else {
					r.EncodeString(`FFloat64`)
				}
				z.EncWriteMapElemValue()
				r.EncodeFloat64(float64(x.FFloat64))
				z.EncWriteMapElemKey()
				if z.IsJSONHandle() {
					z.WriteStr("\"FInt\"")
				} else {
					r.EncodeString(`FInt`)
				}
				z.EncWriteMapElemValue()
				r.EncodeInt(int64(x.FInt))
				z.EncWriteMapElemKey()
				if z.IsJSONHandle() {
					z.WriteStr("\"FInt16\"")
				} else {
					r.EncodeString(`FInt16`)
				}
				z.EncWriteMapElemValue()
				r.EncodeInt(int64(x.FInt16))
				z.EncWriteMapElemKey()
				if z.IsJSONHandle() {
					z.WriteStr("\"FInt32\"")
				} else {
					r.EncodeString(`FInt32`)
				}
				z.EncWriteMapElemValue()
				r.EncodeInt(int64(x.FInt32))
				z.EncWriteMapElemKey()
				if z.IsJSONHandle() {
					z.WriteStr("\"FInt64\"")
				} else {
					r.EncodeString(`FInt64`)
				}
				z.EncWriteMapElemValue()
				r.EncodeInt(int64(x.FInt64))
				z.EncWriteMapElemKey()
				if z.IsJSONHandle() {
					z.WriteStr("\"FInt8\"")
				} else {
					r.EncodeString(`FInt8`)
				}
				z.EncWriteMapElemValue()
				r.EncodeInt(int64(x.FInt8))
				z.EncWriteMapElemKey()
				if z.IsJSONHandle() {
					z.WriteStr("\"FIntf\"")
				} else {
					r.EncodeString(`FIntf`)
				}
				z.EncWriteMapElemValue()
				z.EncFallback(x.FIntf)
				z.EncWriteMapElemKey()
				if z.IsJSONHandle() {
					z.WriteStr("\"FMapInt32Bool\"")
				} else {
					r.EncodeString(`FMapInt32Bool`)
				}
				z.EncWriteMapElemValue()
				if x.FMapInt32Bool == nil {
					r.EncodeNil()
				} else {
					z.F.EncMapInt32BoolV(x.FMapInt32Bool, e)
				} // end block: if x.FMapInt32Bool map == nil
				z.EncWriteMapElemKey()
				if z.IsJSONHandle() {
					z.WriteStr("\"FMapInt32Bytes\"")
				} else {
					r.EncodeString(`FMapInt32Bytes`)
				}
				z.EncWriteMapElemValue()
				if x.FMapInt32Bytes == nil {
					r.EncodeNil()
				} else {
					z.F.EncMapInt32BytesV(x.FMapInt32Bytes, e)
				} // end block: if x.FMapInt32Bytes map == nil
				z.EncWriteMapElemKey()
				if z.IsJSONHandle() {
					z.WriteStr("\"FMapInt32Float64\"")
				} else {
					r.EncodeString(`FMapInt32Float64`)
				}
				z.EncWriteMapElemValue()
				if x.FMapInt32Float64 == nil {
					r.EncodeNil()
				} else {
					z.F.EncMapInt32Float64V(x.FMapInt32Float64, e)
				} // end block: if x.FMapInt32Float64 map == nil
				z.EncWriteMapElemKey()
				if z.IsJSONHandle() {
					z.WriteStr("\"FMapInt32Int\"")
				} else {
					r.EncodeString(`FMapInt32Int`)
				}
				z.EncWriteMapElemValue()
				if x.FMapInt32Int == nil {
					r.EncodeNil()
				} else {
					z.F.EncMapInt32IntV(x.FMapInt32Int, e)
				} // end block: if x.FMapInt32Int map == nil
				z.EncWriteMapElemKey()
				if z.IsJSONHandle() {
					z.WriteStr("\"FMapInt32Int32\"")
				} else {
					r.EncodeString(`FMapInt32Int32`)
				}
				z.EncWriteMapElemValue()
				if x.FMapInt32Int32 == nil {
					r.EncodeNil()
				} else {
					z.F.EncMapInt32Int32V(x.FMapInt32Int32, e)
				} // end block: if x.FMapInt32Int32 map == nil
				z.EncWriteMapElemKey()
				if z.IsJSONHandle() {
					z.WriteStr("\"FMapInt32Intf\"")
				} else {
					r.EncodeString(`FMapInt32Intf`)
				}
				z.EncWriteMapElemValue()
				if x.FMapInt32Intf == nil {
					r.EncodeNil()
				} else {
					z.F.EncMapInt32IntfV(x.FMapInt32Intf, e)
				} // end block: if x.FMapInt32Intf map == nil
				z.EncWriteMapElemKey()
				if z.IsJSONHandle() {
					z.WriteStr("\"FMapInt32String\"")
				} else {
					r.EncodeString(`FMapInt32String`)
				}
				z.EncWriteMapElemValue()
				if x.FMapInt32String == nil {
					r.EncodeNil()
				} else {
					z.F.EncMapInt32StringV(x.FMapInt32String, e)
				} // end block: if x.FMapInt32String map == nil
				z.EncWriteMapElemKey()
				if z.IsJSONHandle() {
					z.WriteStr("\"FMapInt32Uint64\"")
				} else {
					r.EncodeString(`FMapInt32Uint64`)
				}
				z.EncWriteMapElemValue()
				if x.FMapInt32Uint64 == nil {
					r.EncodeNil()
				} else {
					z.F.EncMapInt32Uint64V(x.FMapInt32Uint64, e)
				} // end block: if x.FMapInt32Uint64 map == nil
				z.EncWriteMapElemKey()
				if z.IsJSONHandle() {
					z.WriteStr("\"FMapInt32Uint8\"")
				} else {
					r.EncodeString(`FMapInt32Uint8`)
				}
				z.EncWriteMapElemValue()
				if x.FMapInt32Uint8 == nil {
					r.EncodeNil()
				} else {
					z.F.EncMapInt32Uint8V(x.FMapInt32Uint8, e)
				} // end block: if x.FMapInt32Uint8 map == nil
				z.EncWriteMapElemKey()
				if z.IsJSONHandle() {
					z.WriteStr("\"FMapIntBool\"")
				} else {
					r.EncodeString(`FMapIntBool`)
				}
				z.EncWriteMapElemValue()
				if x.FMapIntBool == nil {
					r.EncodeNil()
				} else {
					z.F.EncMapIntBoolV(x.FMapIntBool, e)
				} // end block: if x.FMapIntBool map == nil
				z.EncWriteMapElemKey()
				if z.IsJSONHandle() {
					z.WriteStr("\"FMapIntBytes\"")
				} else {
					r.EncodeString(`FMapIntBytes`)
				}
				z.EncWriteMapElemValue()
				if x.FMapIntBytes == nil {
					r.EncodeNil()
				} else {
					z.F.EncMapIntBytesV(x.FMapIntBytes, e)
				} // end block: if x.FMapIntBytes map == nil
				z.EncWriteMapElemKey()
				if z.IsJSONHandle() {
					z.WriteStr("\"FMapIntFloat64\"")
				} else {
					r.EncodeString(`FMapIntFloat64`)
				}
				z.EncWriteMapElemValue()
				if x.FMapIntFloat64 == nil {
					r.EncodeNil()
				} else {
					z.F.EncMapIntFloat64V(x.FMapIntFloat64, e)
				} // end block: if x.FMapIntFloat64 map == nil
				z.EncWriteMapElemKey()
				if z.IsJSONHandle() {
					z.WriteStr("\"FMapIntInt\"")
				} else {
					r.EncodeString(`FMapIntInt`)
				}
				z.EncWriteMapElemValue()
				if x.FMapIntInt == nil {
					r.EncodeNil()
				} else {
					z.F.EncMapIntIntV(x.FMapIntInt, e)
				} // end block: if x.FMapIntInt map == nil
				z.EncWriteMapElemKey()
				if z.IsJSONHandle() {
					z.WriteStr("\"FMapIntInt32\"")
				} else {
					r.EncodeString(`FMapIntInt32`)
				}
				z.EncWriteMapElemValue()
				if x.FMapIntInt32 == nil {
					r.EncodeNil()
				} else {
					z.F.EncMapIntInt32V(x.FMapIntInt32, e)
				} // end block: if x.FMapIntInt32 map == nil
				z.EncWriteMapElemKey()
				if z.IsJSONHandle() {
					z.WriteStr("\"FMapIntIntf\"")
				} else {
					r.EncodeString(`FMapIntIntf`)
				}
				z.EncWriteMapElemValue()
				if x.FMapIntIntf == nil {
					r.EncodeNil()
				} else {
					z.F.EncMapIntIntfV(x.FMapIntIntf, e)
				} // end block: if x.FMapIntIntf map == nil
				z.EncWriteMapElemKey()
				if z.IsJSONHandle() {
					z.WriteStr("\"FMapIntString\"")
				} else {
					r.EncodeString(`FMapIntString`)
				}
				z.EncWriteMapElemValue()
				if x.FMapIntString == nil {
					r.EncodeNil()
				} else {
					z.F.EncMapIntStringV(x.FMapIntString, e)
				} // end block: if x.FMapIntString map == nil
				z.EncWriteMapElemKey()
				if z.IsJSONHandle() {
					z.WriteStr("\"FMapIntUint64\"")
				} else {
					r.EncodeString(`FMapIntUint64`)
				}
				z.EncWriteMapElemValue()
				if x.FMapIntUint64 == nil {
					r.EncodeNil()
				} else {
					z.F.EncMapIntUint64V(x.FMapIntUint64, e)
				} // end block: if x.FMapIntUint64 map == nil
				z.EncWriteMapElemKey()
				if z.IsJSONHandle() {
					z.WriteStr("\"FMapIntUint8\"")
				} else {
					r.EncodeString(`FMapIntUint8`)
				}
				z.EncWriteMapElemValue()
				if x.FMapIntUint8 == nil {
					r.EncodeNil()
				} else {
					z.F.EncMapIntUint8V(x.FMapIntUint8, e)
				} // end block: if x.FMapIntUint8 map == nil
				z.EncWriteMapElemKey()
				if z.IsJSONHandle() {
					z.WriteStr("\"FMapStringBool\"")
				} else {
					r.EncodeString(`FMapStringBool`)
				}
				z.EncWriteMapElemValue()
				if x.FMapStringBool == nil {
					r.EncodeNil()
				} else {
					z.F.EncMapStringBoolV(x.FMapStringBool, e)
				} // end block: if x.FMapStringBool map == nil
				z.EncWriteMapElemKey()
				if z.IsJSONHandle() {
					z.WriteStr("\"FMapStringBytes\"")
				} else {
					r.EncodeString(`FMapStringBytes`)
				}
				z.EncWriteMapElemValue()
				if x.FMapStringBytes == nil {
					r.EncodeNil()
				} else {
					z.F.EncMapStringBytesV(x.FMapStringBytes, e)
				} // end block: if x.FMapStringBytes map == nil
				z.EncWriteMapElemKey()
				if z.IsJSONHandle() {
					z.WriteStr("\"FMapStringFloat64\"")
				} else {
					r.EncodeString(`FMapStringFloat64`)
				}
				z.EncWriteMapElemValue()
				if x.FMapStringFloat64 == nil {
					r.EncodeNil()
				} else {
					z.F.EncMapStringFloat64V(x.FMapStringFloat64, e)
				} // end block: if x.FMapStringFloat64 map == nil
				z.EncWriteMapElemKey()
				if z.IsJSONHandle() {
					z.WriteStr("\"FMapStringInt\"")
				} else {
					r.EncodeString(`FMapStringInt`)
				}
				z.EncWriteMapElemValue()
				if x.FMapStringInt == nil {
					r.EncodeNil()
				} else {
					z.F.EncMapStringIntV(x.FMapStringInt, e)
				} // end block: if x.FMapStringInt map == nil
				z.EncWriteMapElemKey()
				if z.IsJSONHandle() {
					z.WriteStr("\"FMapStringInt32\"")
				} else {
					r.EncodeString(`FMapStringInt32`)
				}
				z.EncWriteMapElemValue()
				if x.FMapStringInt32 == nil {
					r.EncodeNil()
				} else {
					z.F.EncMapStringInt32V(x.FMapStringInt32, e)
				} // end block: if x.FMapStringInt32 map == nil
				z.EncWriteMapElemKey()
				if z.IsJSONHandle() {
					z.WriteStr("\"FMapStringIntf\"")
				} else {
					r.EncodeString(`FMapStringIntf`)
				}
				z.EncWriteMapElemValue()
				if x.FMapStringIntf == nil {
					r.EncodeNil()
				} else {
					z.F.EncMapStringIntfV(x.FMapStringIntf, e)
				} // end block: if x.FMapStringIntf map == nil
				z.EncWriteMapElemKey()
				if z.IsJSONHandle() {
					z.WriteStr("\"FMapStringString\"")
				} else {
					r.EncodeString(`FMapStringString`)
				}
				z.EncWriteMapElemValue()
				if x.FMapStringString == nil {
					r.EncodeNil()
				} else {
					z.F.EncMapStringStringV(x.FMapStringString, e)
				} // end block: if x.FMapStringString map == nil
				z.EncWriteMapElemKey()
				if z.IsJSONHandle() {
					z.WriteStr("\"FMapStringUint64\"")
				} else {
					r.EncodeString(`FMapStringUint64`)
				}
				z.EncWriteMapElemValue()
				if x.FMapStringUint64 == nil {
					r.EncodeNil()
				} else {
					z.F.EncMapStringUint64V(x.FMapStringUint64, e)
				} // end block: if x.FMapStringUint64 map == nil
				z.EncWriteMapElemKey()
				if z.IsJSONHandle() {
					z.WriteStr("\"FMapStringUint8\"")
				} else {
					r.EncodeString(`FMapStringUint8`)
				}
				z.EncWriteMapElemValue()
				if x.FMapStringUint8 == nil {
					r.EncodeNil()
				} else {
					z.F.EncMapStringUint8V(x.FMapStringUint8, e)
				} // end block: if x.FMapStringUint8 map == nil
				z.EncWriteMapElemKey()
				if z.IsJSONHandle() {
					z.WriteStr("\"FMapUint64Bool\"")
				} else {
					r.EncodeString(`FMapUint64Bool`)
				}
				z.EncWriteMapElemValue()
				if x.FMapUint64Bool == nil {
					r.EncodeNil()
				} else {
					z.F.EncMapUint64BoolV(x.FMapUint64Bool, e)
				} // end block: if x.FMapUint64Bool map == nil
				z.EncWriteMapElemKey()
				if z.IsJSONHandle() {
					z.WriteStr("\"FMapUint64Bytes\"")
				} else {
					r.EncodeString(`FMapUint64Bytes`)
				}
				z.EncWriteMapElemValue()
				if x.FMapUint64Bytes == nil {
					r.EncodeNil()
				} else {
					z.F.EncMapUint64BytesV(x.FMapUint64Bytes, e)
				} // end block: if x.FMapUint64Bytes map == nil
				z.EncWriteMapElemKey()
				if z.IsJSONHandle() {
					z.WriteStr("\"FMapUint64Float64\"")
				} else {
					r.EncodeString(`FMapUint64Float64`)
				}
				z.EncWriteMapElemValue()
				if x.FMapUint64Float64 == nil {
					r.EncodeNil()
				} else {
					z.F.EncMapUint64Float64V(x.FMapUint64Float64, e)
				} // end block: if x.FMapUint64Float64 map == nil
				z.EncWriteMapElemKey()
				if z.IsJSONHandle() {
					z.WriteStr("\"FMapUint64Int\"")
				} else {
					r.EncodeString(`FMapUint64Int`)
				}
				z.EncWriteMapElemValue()
				if x.FMapUint64Int == nil {
					r.EncodeNil()
				} else {
					z.F.EncMapUint64IntV(x.FMapUint64Int, e)
				} // end block: if x.FMapUint64Int map == nil
				z.EncWriteMapElemKey()
				if z.IsJSONHandle() {
					z.WriteStr("\"FMapUint64Int32\"")
				} else {
					r.EncodeString(`FMapUint64Int32`)
				}
				z.EncWriteMapElemValue()
				if x.FMapUint64Int32 == nil {
					r.EncodeNil()
				} else {
					z.F.EncMapUint64Int32V(x.FMapUint64Int32, e)
				} // end block: if x.FMapUint64Int32 map == nil
				z.EncWriteMapElemKey()
				if z.IsJSONHandle() {
					z.WriteStr("\"FMapUint64Intf\"")
				} else {
					r.EncodeString(`FMapUint64Intf`)
				}
				z.EncWriteMapElemValue()
				if x.FMapUint64Intf == nil {
					r.EncodeNil()
				} else {
					z.F.EncMapUint64IntfV(x.FMapUint64Intf, e)
				} // end block: if x.FMapUint64Intf map == nil
				z.EncWriteMapElemKey()
				if z.IsJSONHandle() {
					z.WriteStr("\"FMapUint64String\"")
				} else {
					r.EncodeString(`FMapUint64String`)
				}
				z.EncWriteMapElemValue()
				if x.FMapUint64String == nil {
					r.EncodeNil()
				} else {
					z.F.EncMapUint64StringV(x.FMapUint64String, e)
				} // end block: if x.FMapUint64String map == nil
				z.EncWriteMapElemKey()
				if z.IsJSONHandle() {
					z.WriteStr("\"FMapUint64Uint64\"")
				} else {
					r.EncodeString(`FMapUint64Uint64`)
				}
				z.EncWriteMapElemValue()
				if x.FMapUint64Uint64 == nil {
					r.EncodeNil()
				} else {
					z.F.EncMapUint64Uint64V(x.FMapUint64Uint64, e)
				} // end block: if x.FMapUint64Uint64 map == nil
				z.EncWriteMapElemKey()
				if z.IsJSONHandle() {
					z.WriteStr("\"FMapUint64Uint8\"")
				} else {
					r.EncodeString(`FMapUint64Uint8`)
				}
				z.EncWriteMapElemValue()
				if x.FMapUint64Uint8 == nil {
					r.EncodeNil()
				} else {
					z.F.EncMapUint64Uint8V(x.FMapUint64Uint8, e)
				} // end block: if x.FMapUint64Uint8 map == nil
				z.EncWriteMapElemKey()
				if z.IsJSONHandle() {
					z.WriteStr("\"FMapUint8Bool\"")
				} else {
					r.EncodeString(`FMapUint8Bool`)
				}
				z.EncWriteMapElemValue()
				if x.FMapUint8Bool == nil {
					r.EncodeNil()
				} else {
					z.F.EncMapUint8BoolV(x.FMapUint8Bool, e)
				} // end block: if x.FMapUint8Bool map == nil
				z.EncWriteMapElemKey()
				if z.IsJSONHandle() {
					z.WriteStr("\"FMapUint8Bytes\"")
				} else {
					r.EncodeString(`FMapUint8Bytes`)
				}
				z.EncWriteMapElemValue()
				if x.FMapUint8Bytes == nil {
					r.EncodeNil()
				} else {
					z.F.EncMapUint8BytesV(x.FMapUint8Bytes, e)
				} // end block: if x.FMapUint8Bytes map == nil
				z.EncWriteMapElemKey()
				if z.IsJSONHandle() {
					z.WriteStr("\"FMapUint8Float64\"")
				} else {
					r.EncodeString(`FMapUint8Float64`)
				}
				z.EncWriteMapElemValue()
				if x.FMapUint8Float64 == nil {
					r.EncodeNil()
				} else {
					z.F.EncMapUint8Float64V(x.FMapUint8Float64, e)
				} // end block: if x.FMapUint8Float64 map == nil
				z.EncWriteMapElemKey()
				if z.IsJSONHandle() {
					z.WriteStr("\"FMapUint8Int\"")
				} else {
					r.EncodeString(`FMapUint8Int`)
				}
				z.EncWriteMapElemValue()
				if x.FMapUint8Int == nil {
					r.EncodeNil()
				} else {
					z.F.EncMapUint8IntV(x.FMapUint8Int, e)
				} // end block: if x.FMapUint8Int map == nil
				z.EncWriteMapElemKey()
				if z.IsJSONHandle() {
					z.WriteStr("\"FMapUint8Int32\"")
				} else {
					r.EncodeString(`FMapUint8Int32`)
				}
				z.EncWriteMapElemValue()
				if x.FMapUint8Int32 == nil {
					r.EncodeNil()
				} else {
					z.F.EncMapUint8Int32V(x.FMapUint8Int32, e)
				} // end block: if x.FMapUint8Int32 map == nil
				z.EncWriteMapElemKey()
				if z.IsJSONHandle() {
					z.WriteStr("\"FMapUint8Intf\"")
				} else {
					r.EncodeString(`FMapUint8Intf`)
				}
				z.EncWriteMapElemValue()
				if x.FMapUint8Intf == nil {
					r.EncodeNil()
				} else {
					z.F.EncMapUint8IntfV(x.FMapUint8Intf, e)
				} // end block: if x.FMapUint8Intf map == nil
				z.EncWriteMapElemKey()
				if z.IsJSONHandle() {
					z.WriteStr("\"FMapUint8String\"")
				} else {
					r.EncodeString(`FMapUint8String`)
				}
				z.EncWriteMapElemValue()
				if x.FMapUint8String == nil {
					r.EncodeNil()
				} else {
					z.F.EncMapUint8StringV(x.FMapUint8String, e)
				} // end block: if x.FMapUint8String map == nil
				z.EncWriteMapElemKey()
				if z.IsJSONHandle() {
					z.WriteStr("\"FMapUint8Uint64\"")
				} else {
					r.EncodeString(`FMapUint8Uint64`)
				}
				z.EncWriteMapElemValue()
				if x.FMapUint8Uint64 == nil {
					r.EncodeNil()
				} else {
					z.F.EncMapUint8Uint64V(x.FMapUint8Uint64, e)
				} // end block: if x.FMapUint8Uint64 map == nil
				z.EncWriteMapElemKey()
				if z.IsJSONHandle() {
					z.WriteStr("\"FMapUint8Uint8\"")
				} else {
					r.EncodeString(`FMapUint8Uint8`)
				}
				z.EncWriteMapElemValue()
				if x.FMapUint8Uint8 == nil {
					r.EncodeNil()
				} else {
					z.F.EncMapUint8Uint8V(x.FMapUint8Uint8, e)
				} // end block: if x.FMapUint8Uint8 map == nil
				z.EncWriteMapElemKey()
				if z.IsJSONHandle() {
					z.WriteStr("\"FSliceBool\"")
				} else {
					r.EncodeString(`FSliceBool`)
				}
				z.EncWriteMapElemValue()
				if x.FSliceBool == nil {
					r.EncodeNil()
				} else {
					z.F.EncSliceBoolV(x.FSliceBool, e)
				} // end block: if x.FSliceBool slice == nil
				z.EncWriteMapElemKey()
				if z.IsJSONHandle() {
					z.WriteStr("\"FSliceBytes\"")
				} else {
					r.EncodeString(`FSliceBytes`)
				}
				z.EncWriteMapElemValue()
				if x.FSliceBytes == nil {
					r.EncodeNil()
				} else {
					z.F.EncSliceBytesV(x.FSliceBytes, e)
				} // end block: if x.FSliceBytes slice == nil
				z.EncWriteMapElemKey()
				if z.IsJSONHandle() {
					z.WriteStr("\"FSliceFloat32\"")
				} else {
					r.EncodeString(`FSliceFloat32`)
				}
				z.EncWriteMapElemValue()
				if x.FSliceFloat32 == nil {
					r.EncodeNil()
				} else {
					z.F.EncSliceFloat32V(x.FSliceFloat32, e)
				} // end block: if x.FSliceFloat32 slice == nil
				z.EncWriteMapElemKey()
				if z.IsJSONHandle() {
					z.WriteStr("\"FSliceFloat64\"")
				} else {
					r.EncodeString(`FSliceFloat64`)
				}
				z.EncWriteMapElemValue()
				if x.FSliceFloat64 == nil {
					r.EncodeNil()
				} else {
					z.F.EncSliceFloat64V(x.FSliceFloat64, e)
				} // end block: if x.FSliceFloat64 slice == nil
				z.EncWriteMapElemKey()
				if z.IsJSONHandle() {
					z.WriteStr("\"FSliceInt\"")
				} else {
					r.EncodeString(`FSliceInt`)
				}
				z.EncWriteMapElemValue()
				if x.FSliceInt == nil {
					r.EncodeNil()
				} else {
					z.F.EncSliceIntV(x.FSliceInt, e)
				} // end block: if x.FSliceInt slice == nil
				z.EncWriteMapElemKey()
				if z.IsJSONHandle() {
					z.WriteStr("\"FSliceInt32\"")
				} else {
					r.EncodeString(`FSliceInt32`)
				}
				z.EncWriteMapElemValue()
				if x.FSliceInt32 == nil {
					r.EncodeNil()
				} else {
					z.F.EncSliceInt32V(x.FSliceInt32, e)
				} // end block: if x.FSliceInt32 slice == nil
				z.EncWriteMapElemKey()
				if z.IsJSONHandle() {
					z.WriteStr("\"FSliceInt64\"")
				} else {
					r.EncodeString(`FSliceInt64`)
				}
				z.EncWriteMapElemValue()
				if x.FSliceInt64 == nil {
					r.EncodeNil()
				} else {
					z.F.EncSliceInt64V(x.FSliceInt64, e)
				} // end block: if x.FSliceInt64 slice == nil
				z.EncWriteMapElemKey()
				if z.IsJSONHandle() {
					z.WriteStr("\"FSliceIntf\"")
				} else {
					r.EncodeString(`FSliceIntf`)
				}
				z.EncWriteMapElemValue()
				if x.FSliceIntf == nil {
					r.EncodeNil()
				} else {
					z.F.EncSliceIntfV(x.FSliceIntf, e)
				} // end block: if x.FSliceIntf slice == nil
				z.EncWriteMapElemKey()
				if z.IsJSONHandle() {
					z.WriteStr("\"FSliceString\"")
				} else {
					r.EncodeString(`FSliceString`)
				}
				z.EncWriteMapElemValue()
				if x.FSliceString == nil {
					r.EncodeNil()
				} else {
					z.F.EncSliceStringV(x.FSliceString, e)
				} // end block: if x.FSliceString slice == nil
				z.EncWriteMapElemKey()
				if z.IsJSONHandle() {
					z.WriteStr("\"FSliceUint64\"")
				} else {
					r.EncodeString(`FSliceUint64`)
				}
				z.EncWriteMapElemValue()
				if x.FSliceUint64 == nil {
					r.EncodeNil()
				} else {
					z.F.EncSliceUint64V(x.FSliceUint64, e)
				} // end block: if x.FSliceUint64 slice == nil
				z.EncWriteMapElemKey()
				if z.IsJSONHandle() {
					z.WriteStr("\"FSliceUint8\"")
				} else {
					r.EncodeString(`FSliceUint8`)
				}
				z.EncWriteMapElemValue()
				if x.FSliceUint8 == nil {
					r.EncodeNil()
				} else {
					r.EncodeStringBytesRaw([]byte(x.FSliceUint8))
				} // end block: if x.FSliceUint8 slice == nil
				z.EncWriteMapElemKey()
				if z.IsJSONHandle() {
					z.WriteStr("\"FString\"")
				} else {
					r.EncodeString(`FString`)
				}
				z.EncWriteMapElemValue()
				r.EncodeString(string(x.FString))
				z.EncWriteMapElemKey()
				if z.IsJSONHandle() {
					z.WriteStr("\"FUint\"")
				} else {
					r.EncodeString(`FUint`)
				}
				z.EncWriteMapElemValue()
				r.EncodeUint(uint64(x.FUint))
				z.EncWriteMapElemKey()
				if z.IsJSONHandle() {
					z.WriteStr("\"FUint16\"")
				} else {
					r.EncodeString(`FUint16`)
				}
				z.EncWriteMapElemValue()
				r.EncodeUint(uint64(x.FUint16))
				z.EncWriteMapElemKey()
				if z.IsJSONHandle() {
					z.WriteStr("\"FUint32\"")
				} else {
					r.EncodeString(`FUint32`)
				}
				z.EncWriteMapElemValue()
				r.EncodeUint(uint64(x.FUint32))
				z.EncWriteMapElemKey()
				if z.IsJSONHandle() {
					z.WriteStr("\"FUint64\"")
				} else {
					r.EncodeString(`FUint64`)
				}
				z.EncWriteMapElemValue()
				r.EncodeUint(uint64(x.FUint64))
				z.EncWriteMapElemKey()
				if z.IsJSONHandle() {
					z.WriteStr("\"FUint8\"")
				} else {
					r.EncodeString(`FUint8`)
				}
				z.EncWriteMapElemValue()
				r.EncodeUint(uint64(x.FUint8))
				z.EncWriteMapElemKey()
				if z.IsJSONHandle() {
					z.WriteStr("\"FUintptr\"")
				} else {
					r.EncodeString(`FUintptr`)
				}
				z.EncWriteMapElemValue()
				r.EncodeUint(uint64(x.FUintptr))
				z.EncWriteMapElemKey()
				if z.IsJSONHandle() {
					z.WriteStr("\"FptrBool\"")
				} else {
					r.EncodeString(`FptrBool`)
				}
				z.EncWriteMapElemValue()
				if yyn36 {
					r.EncodeNil()
				} else {
					yy441 := *x.FptrBool
					r.EncodeBool(bool(yy441))
				}
				z.EncWriteMapElemKey()
				if z.IsJSONHandle() {
					z.WriteStr("\"FptrBytes\"")
				} else {
					r.EncodeString(`FptrBytes`)
				}
				z.EncWriteMapElemValue()
				if yyn8 {
					r.EncodeNil()
				} else {
					yy443 := *x.FptrBytes
					if yy443 == nil {
						r.EncodeNil()
					} else {
						r.EncodeStringBytesRaw([]byte(yy443))
					} // end block: if yy443 slice == nil
				}
				z.EncWriteMapElemKey()
				if z.IsJSONHandle() {
					z.WriteStr("\"FptrFloat32\"")
				} else {
					r.EncodeString(`FptrFloat32`)
				}
				z.EncWriteMapElemValue()
				if yyn10 {
					r.EncodeNil()
				} else {
					yy445 := *x.FptrFloat32
					r.EncodeFloat32(float32(yy445))
				}
				z.EncWriteMapElemKey()
				if z.IsJSONHandle() {
					z.WriteStr("\"FptrFloat64\"")
				} else {
					r.EncodeString(`FptrFloat64`)
				}
				z.EncWriteMapElemValue()
				if yyn12 {
					r.EncodeNil()
				} else {
					yy447 := *x.FptrFloat64
					r.EncodeFloat64(float64(yy447))
				}
				z.EncWriteMapElemKey()
				if z.IsJSONHandle() {
					z.WriteStr("\"FptrInt\"")
				} else {
					r.EncodeString(`FptrInt`)
				}
				z.EncWriteMapElemValue()
				if yyn26 {
					r.EncodeNil()
				} else {
					yy449 := *x.FptrInt
					r.EncodeInt(int64(yy449))
				}
				z.EncWriteMapElemKey()
				if z.IsJSONHandle() {
					z.WriteStr("\"FptrInt16\"")
				} else {
					r.EncodeString(`FptrInt16`)
				}
				z.EncWriteMapElemValue()
				if yyn30 {
					r.EncodeNil()
				} else {
					yy451 := *x.FptrInt16
					r.EncodeInt(int64(yy451))
				}
				z.EncWriteMapElemKey()
				if z.IsJSONHandle() {
					z.WriteStr("\"FptrInt32\"")
				} else {
					r.EncodeString(`FptrInt32`)
				}
				z.EncWriteMapElemValue()
				if yyn32 {
					r.EncodeNil()
				} else {
					yy453 := *x.FptrInt32
					r.EncodeInt(int64(yy453))
				}
				z.EncWriteMapElemKey()
				if z.IsJSONHandle() {
					z.WriteStr("\"FptrInt64\"")
				} else {
					r.EncodeString(`FptrInt64`)
				}
				z.EncWriteMapElemValue()
				if yyn34 {
					r.EncodeNil()
				} else {
					yy455 := *x.FptrInt64
					r.EncodeInt(int64(yy455))
				}
				z.EncWriteMapElemKey()
				if z.IsJSONHandle() {
					z.WriteStr("\"FptrInt8\"")
				} else {
					r.EncodeString(`FptrInt8`)
				}
				z.EncWriteMapElemValue()
				if yyn28 {
					r.EncodeNil()
				} else {
					yy457 := *x.FptrInt8
					r.EncodeInt(int64(yy457))
				}
				z.EncWriteMapElemKey()
				if z.IsJSONHandle() {
					z.WriteStr("\"FptrIntf\"")
				} else {
					r.EncodeString(`FptrIntf`)
				}
				z.EncWriteMapElemValue()
				if yyn4 {
					r.EncodeNil()
				} else {
					yy459 := *x.FptrIntf
					z.EncFallback(yy459)
				}
				z.EncWriteMapElemKey()
				if z.IsJSONHandle() {
					z.WriteStr("\"FptrMapInt32Bool\"")
				} else {
					r.EncodeString(`FptrMapInt32Bool`)
				}
				z.EncWriteMapElemValue()
				if yyn148 {
					r.EncodeNil()
				} else {
					yy461 := *x.FptrMapInt32Bool
					if yy461 == nil {
						r.EncodeNil()
					} else {
						z.F.EncMapInt32BoolV(yy461, e)
					} // end block: if yy461 map == nil
				}
				z.EncWriteMapElemKey()
				if z.IsJSONHandle() {
					z.WriteStr("\"FptrMapInt32Bytes\"")
				} else {
					r.EncodeString(`FptrMapInt32Bytes`)
				}
				z.EncWriteMapElemValue()
				if yyn136 {
					r.EncodeNil()
				} else {
					yy463 := *x.FptrMapInt32Bytes
					if yy463 == nil {
						r.EncodeNil()
					} else {
						z.F.EncMapInt32BytesV(yy463, e)
					} // end block: if yy463 map == nil
				}
				z.EncWriteMapElemKey()
				if z.IsJSONHandle() {
					z.WriteStr("\"FptrMapInt32Float64\"")
				} else {
					r.EncodeString(`FptrMapInt32Float64`)
				}
				z.EncWriteMapElemValue()
				if yyn146 {
					r.EncodeNil()
				} else {
					yy465 := *x.FptrMapInt32Float64
					if yy465 == nil {
						r.EncodeNil()
					} else {
						z.F.EncMapInt32Float64V(yy465, e)
					} // end block: if yy465 map == nil
				}
				z.EncWriteMapElemKey()
				if z.IsJSONHandle() {
					z.WriteStr("\"FptrMapInt32Int\"")
				} else {
					r.EncodeString(`FptrMapInt32Int`)
				}
				z.EncWriteMapElemValue()
				if yyn142 {
					r.EncodeNil()
				} else {
					yy467 := *x.FptrMapInt32Int
					if yy467 == nil {
						r.EncodeNil()
					} else {
						z.F.EncMapInt32IntV(yy467, e)
					} // end block: if yy467 map == nil
				}
				z.EncWriteMapElemKey()
				if z.IsJSONHandle() {
					z.WriteStr("\"FptrMapInt32Int32\"")
				} else {
					r.EncodeString(`FptrMapInt32Int32`)
				}
				z.EncWriteMapElemValue()
				if yyn144 {
					r.EncodeNil()
				} else {
					yy469 := *x.FptrMapInt32Int32
					if yy469 == nil {
						r.EncodeNil()
					} else {
						z.F.EncMapInt32Int32V(yy469, e)
					} // end block: if yy469 map == nil
				}
				z.EncWriteMapElemKey()
				if z.IsJSONHandle() {
					z.WriteStr("\"FptrMapInt32Intf\"")
				} else {
					r.EncodeString(`FptrMapInt32Intf`)
				}
				z.EncWriteMapElemValue()
				if yyn132 {
					r.EncodeNil()
				} else {
					yy471 := *x.FptrMapInt32Intf
					if yy471 == nil {
						r.EncodeNil()
					} else {
						z.F.EncMapInt32IntfV(yy471, e)
					} // end block: if yy471 map == nil
				}
				z.EncWriteMapElemKey()
				if z.IsJSONHandle() {
					z.WriteStr("\"FptrMapInt32String\"")
				} else {
					r.EncodeString(`FptrMapInt32String`)
				}
				z.EncWriteMapElemValue()
				if yyn134 {
					r.EncodeNil()
				} else {
					yy473 := *x.FptrMapInt32String
					if yy473 == nil {
						r.EncodeNil()
					} else {
						z.F.EncMapInt32StringV(yy473, e)
					} // end block: if yy473 map == nil
				}
				z.EncWriteMapElemKey()
				if z.IsJSONHandle() {
					z.WriteStr("\"FptrMapInt32Uint64\"")
				} else {
					r.EncodeString(`FptrMapInt32Uint64`)
				}
				z.EncWriteMapElemValue()
				if yyn140 {
					r.EncodeNil()
				} else {
					yy475 := *x.FptrMapInt32Uint64
					if yy475 == nil {
						r.EncodeNil()
					} else {
						z.F.EncMapInt32Uint64V(yy475, e)
					} // end block: if yy475 map == nil
				}
				z.EncWriteMapElemKey()
				if z.IsJSONHandle() {
					z.WriteStr("\"FptrMapInt32Uint8\"")
				} else {
					r.EncodeString(`FptrMapInt32Uint8`)
				}
				z.EncWriteMapElemValue()
				if yyn138 {
					r.EncodeNil()
				} else {
					yy477 := *x.FptrMapInt32Uint8
					if yy477 == nil {
						r.EncodeNil()
					} else {
						z.F.EncMapInt32Uint8V(yy477, e)
					} // end block: if yy477 map == nil
				}
				z.EncWriteMapElemKey()
				if z.IsJSONHandle() {
					z.WriteStr("\"FptrMapIntBool\"")
				} else {
					r.EncodeString(`FptrMapIntBool`)
				}
				z.EncWriteMapElemValue()
				if yyn130 {
					r.EncodeNil()
				} else {
					yy479 := *x.FptrMapIntBool
					if yy479 == nil {
						r.EncodeNil()
					} else {
						z.F.EncMapIntBoolV(yy479, e)
					} // end block: if yy479 map == nil
				}
				z.EncWriteMapElemKey()
				if z.IsJSONHandle() {
					z.WriteStr("\"FptrMapIntBytes\"")
				} else {
					r.EncodeString(`FptrMapIntBytes`)
				}
				z.EncWriteMapElemValue()
				if yyn118 {
					r.EncodeNil()
				} else {
					yy481 := *x.FptrMapIntBytes
					if yy481 == nil {
						r.EncodeNil()
					} else {
						z.F.EncMapIntBytesV(yy481, e)
					} // end block: if yy481 map == nil
				}
				z.EncWriteMapElemKey()
				if z.IsJSONHandle() {
					z.WriteStr("\"FptrMapIntFloat64\"")
				} else {
					r.EncodeString(`FptrMapIntFloat64`)
				}
				z.EncWriteMapElemValue()
				if yyn128 {
					r.EncodeNil()
				} else {
					yy483 := *x.FptrMapIntFloat64
					if yy483 == nil {
						r.EncodeNil()
					} else {
						z.F.EncMapIntFloat64V(yy483, e)
					} // end block: if yy483 map == nil
				}
				z.EncWriteMapElemKey()
				if z.IsJSONHandle() {
					z.WriteStr("\"FptrMapIntInt\"")
				} else {
					r.EncodeString(`FptrMapIntInt`)
				}
				z.EncWriteMapElemValue()
				if yyn124 {
					r.EncodeNil()
				} else {
					yy485 := *x.FptrMapIntInt
					if yy485 == nil {
						r.EncodeNil()
					} else {
						z.F.EncMapIntIntV(yy485, e)
					} // end block: if yy485 map == nil
				}
				z.EncWriteMapElemKey()
				if z.IsJSONHandle() {
					z.WriteStr("\"FptrMapIntInt32\"")
				} else {
					r.EncodeString(`FptrMapIntInt32`)
				}
				z.EncWriteMapElemValue()
				if yyn126 {
					r.EncodeNil()
				} else {
					yy487 := *x.FptrMapIntInt32
					if yy487 == nil {
						r.EncodeNil()
					} else {
						z.F.EncMapIntInt32V(yy487, e)
					} // end block: if yy487 map == nil
				}
				z.EncWriteMapElemKey()
				if z.IsJSONHandle() {
					z.WriteStr("\"FptrMapIntIntf\"")
				} else {
					r.EncodeString(`FptrMapIntIntf`)
				}
				z.EncWriteMapElemValue()
				if yyn114 {
					r.EncodeNil()
				} else {
					yy489 := *x.FptrMapIntIntf
					if yy489 == nil {
						r.EncodeNil()
					} else {
						z.F.EncMapIntIntfV(yy489, e)
					} // end block: if yy489 map == nil
				}
				z.EncWriteMapElemKey()
				if z.IsJSONHandle() {
					z.WriteStr("\"FptrMapIntString\"")
				} else {
					r.EncodeString(`FptrMapIntString`)
				}
				z.EncWriteMapElemValue()
				if yyn116 {
					r.EncodeNil()
				} else {
					yy491 := *x.FptrMapIntString
					if yy491 == nil {
						r.EncodeNil()
					} else {
						z.F.EncMapIntStringV(yy491, e)
					} // end block: if yy491 map == nil
				}
				z.EncWriteMapElemKey()
				if z.IsJSONHandle() {
					z.WriteStr("\"FptrMapIntUint64\"")
				} else {
					r.EncodeString(`FptrMapIntUint64`)
				}
				z.EncWriteMapElemValue()
				if yyn122 {
					r.EncodeNil()
				} else {
					yy493 := *x.FptrMapIntUint64
					if yy493 == nil {
						r.EncodeNil()
					} else {
						z.F.EncMapIntUint64V(yy493, e)
					} // end block: if yy493 map == nil
				}
				z.EncWriteMapElemKey()
				if z.IsJSONHandle() {
					z.WriteStr("\"FptrMapIntUint8\"")
				} else {
					r.EncodeString(`FptrMapIntUint8`)
				}
				z.EncWriteMapElemValue()
				if yyn120 {
					r.EncodeNil()
				} else {
					yy495 := *x.FptrMapIntUint8
					if yy495 == nil {
						r.EncodeNil()
					} else {
						z.F.EncMapIntUint8V(yy495, e)
					} // end block: if yy495 map == nil
				}
				z.EncWriteMapElemKey()
				if z.IsJSONHandle() {
					z.WriteStr("\"FptrMapStringBool\"")
				} else {
					r.EncodeString(`FptrMapStringBool`)
				}
				z.EncWriteMapElemValue()
				if yyn76 {
					r.EncodeNil()
				} else {
					yy497 := *x.FptrMapStringBool
					if yy497 == nil {
						r.EncodeNil()
					} else {
						z.F.EncMapStringBoolV(yy497, e)
					} // end block: if yy497 map == nil
				}
				z.EncWriteMapElemKey()
				if z.IsJSONHandle() {
					z.WriteStr("\"FptrMapStringBytes\"")
				} else {
					r.EncodeString(`FptrMapStringBytes`)
				}
				z.EncWriteMapElemValue()
				if yyn64 {
					r.EncodeNil()
				} else {
					yy499 := *x.FptrMapStringBytes
					if yy499 == nil {
						r.EncodeNil()
					} else {
						z.F.EncMapStringBytesV(yy499, e)
					} // end block: if yy499 map == nil
				}
				z.EncWriteMapElemKey()
				if z.IsJSONHandle() {
					z.WriteStr("\"FptrMapStringFloat64\"")
				} else {
					r.EncodeString(`FptrMapStringFloat64`)
				}
				z.EncWriteMapElemValue()
				if yyn74 {
					r.EncodeNil()
				} else {
					yy501 := *x.FptrMapStringFloat64
					if yy501 == nil {
						r.EncodeNil()
					} else {
						z.F.EncMapStringFloat64V(yy501, e)
					} // end block: if yy501 map == nil
				}
				z.EncWriteMapElemKey()
				if z.IsJSONHandle() {
					z.WriteStr("\"FptrMapStringInt\"")
				} else {
					r.EncodeString(`FptrMapStringInt`)
				}
				z.EncWriteMapElemValue()
				if yyn70 {
					r.EncodeNil()
				} else {
					yy503 := *x.FptrMapStringInt
					if yy503 == nil {
						r.EncodeNil()
					} else {
						z.F.EncMapStringIntV(yy503, e)
					} // end block: if yy503 map == nil
				}
				z.EncWriteMapElemKey()
				if z.IsJSONHandle() {
					z.WriteStr("\"FptrMapStringInt32\"")
				} else {
					r.EncodeString(`FptrMapStringInt32`)
				}
				z.EncWriteMapElemValue()
				if yyn72 {
					r.EncodeNil()
				} else {
					yy505 := *x.FptrMapStringInt32
					if yy505 == nil {
						r.EncodeNil()
					} else {
						z.F.EncMapStringInt32V(yy505, e)
					} // end block: if yy505 map == nil
				}
				z.EncWriteMapElemKey()
				if z.IsJSONHandle() {
					z.WriteStr("\"FptrMapStringIntf\"")
				} else {
					r.EncodeString(`FptrMapStringIntf`)
				}
				z.EncWriteMapElemValue()
				if yyn60 {
					r.EncodeNil()
				} else {
					yy507 := *x.FptrMapStringIntf
					if yy507 == nil {
						r.EncodeNil()
					} else {
						z.F.EncMapStringIntfV(yy507, e)
					} // end block: if yy507 map == nil
				}
				z.EncWriteMapElemKey()
				if z.IsJSONHandle() {
					z.WriteStr("\"FptrMapStringString\"")
				} else {
					r.EncodeString(`FptrMapStringString`)
				}
				z.EncWriteMapElemValue()
				if yyn62 {
					r.EncodeNil()
				} else {
					yy509 := *x.FptrMapStringString
					if yy509 == nil {
						r.EncodeNil()
					} else {
						z.F.EncMapStringStringV(yy509, e)
					} // end block: if yy509 map == nil
				}
				z.EncWriteMapElemKey()
				if z.IsJSONHandle() {
					z.WriteStr("\"FptrMapStringUint64\"")
				} else {
					r.EncodeString(`FptrMapStringUint64`)
				}
				z.EncWriteMapElemValue()
				if yyn68 {
					r.EncodeNil()
				} else {
					yy511 := *x.FptrMapStringUint64
					if yy511 == nil {
						r.EncodeNil()
					} else {
						z.F.EncMapStringUint64V(yy511, e)
					} // end block: if yy511 map == nil
				}
				z.EncWriteMapElemKey()
				if z.IsJSONHandle() {
					z.WriteStr("\"FptrMapStringUint8\"")
				} else {
					r.EncodeString(`FptrMapStringUint8`)
				}
				z.EncWriteMapElemValue()
				if yyn66 {
					r.EncodeNil()
				} else {
					yy513 := *x.FptrMapStringUint8
					if yy513 == nil {
						r.EncodeNil()
					} else {
						z.F.EncMapStringUint8V(yy513, e)
					} // end block: if yy513 map == nil
				}
				z.EncWriteMapElemKey()
				if z.IsJSONHandle() {
					z.WriteStr("\"FptrMapUint64Bool\"")
				} else {
					r.EncodeString(`FptrMapUint64Bool`)
				}
				z.EncWriteMapElemValue()
				if yyn112 {
					r.EncodeNil()
				} else {
					yy515 := *x.FptrMapUint64Bool
					if yy515 == nil {
						r.EncodeNil()
					} else {
						z.F.EncMapUint64BoolV(yy515, e)
					} // end block: if yy515 map == nil
				}
				z.EncWriteMapElemKey()
				if z.IsJSONHandle() {
					z.WriteStr("\"FptrMapUint64Bytes\"")
				} else {
					r.EncodeString(`FptrMapUint64Bytes`)
				}
				z.EncWriteMapElemValue()
				if yyn100 {
					r.EncodeNil()
				} else {
					yy517 := *x.FptrMapUint64Bytes
					if yy517 == nil {
						r.EncodeNil()
					} else {
						z.F.EncMapUint64BytesV(yy517, e)
					} // end block: if yy517 map == nil
				}
				z.EncWriteMapElemKey()
				if z.IsJSONHandle() {
					z.WriteStr("\"FptrMapUint64Float64\"")
				} else {
					r.EncodeString(`FptrMapUint64Float64`)
				}
				z.EncWriteMapElemValue()
				if yyn110 {
					r.EncodeNil()
				} else {
					yy519 := *x.FptrMapUint64Float64
					if yy519 == nil {
						r.EncodeNil()
					} else {
						z.F.EncMapUint64Float64V(yy519, e)
					} // end block: if yy519 map == nil
				}
				z.EncWriteMapElemKey()
				if z.IsJSONHandle() {
					z.WriteStr("\"FptrMapUint64Int\"")
				} else {
					r.EncodeString(`FptrMapUint64Int`)
				}
				z.EncWriteMapElemValue()
				if yyn106 {
					r.EncodeNil()
				} else {
					yy521 := *x.FptrMapUint64Int
					if yy521 == nil {
						r.EncodeNil()
					} else {
						z.F.EncMapUint64IntV(yy521, e)
					} // end block: if yy521 map == nil
				}
				z.EncWriteMapElemKey()
				if z.IsJSONHandle() {
					z.WriteStr("\"FptrMapUint64Int32\"")
				} else {
					r.EncodeString(`FptrMapUint64Int32`)
				}
				z.EncWriteMapElemValue()
				if yyn108 {
					r.EncodeNil()
				} else {
					yy523 := *x.FptrMapUint64Int32
					if yy523 == nil {
						r.EncodeNil()
					} else {
						z.F.EncMapUint64Int32V(yy523, e)
					} // end block: if yy523 map == nil
				}
				z.EncWriteMapElemKey()
				if z.IsJSONHandle() {
					z.WriteStr("\"FptrMapUint64Intf\"")
				} else {
					r.EncodeString(`FptrMapUint64Intf`)
				}
				z.EncWriteMapElemValue()
				if yyn96 {
					r.EncodeNil()
				} else {
					yy525 := *x.FptrMapUint64Intf
					if yy525 == nil {
						r.EncodeNil()
					} else {
						z.F.EncMapUint64IntfV(yy525, e)
					} // end block: if yy525 map == nil
				}
				z.EncWriteMapElemKey()
				if z.IsJSONHandle() {
					z.WriteStr("\"FptrMapUint64String\"")
				} else {
					r.EncodeString(`FptrMapUint64String`)
				}
				z.EncWriteMapElemValue()
				if yyn98 {
					r.EncodeNil()
				} else {
					yy527 := *x.FptrMapUint64String
					if yy527 == nil {
						r.EncodeNil()
					} else {
						z.F.EncMapUint64StringV(yy527, e)
					} // end block: if yy527 map == nil
				}
				z.EncWriteMapElemKey()
				if z.IsJSONHandle() {
					z.WriteStr("\"FptrMapUint64Uint64\"")
				} else {
					r.EncodeString(`FptrMapUint64Uint64`)
				}
				z.EncWriteMapElemValue()
				if yyn104 {
					r.EncodeNil()
				} else {
					yy529 := *x.FptrMapUint64Uint64
					if yy529 == nil {
						r.EncodeNil()
					} else {
						z.F.EncMapUint64Uint64V(yy529, e)
					} // end block: if yy529 map == nil
				}
				z.EncWriteMapElemKey()
				if z.IsJSONHandle() {
					z.WriteStr("\"FptrMapUint64Uint8\"")
				} else {
					r.EncodeString(`FptrMapUint64Uint8`)
				}
				z.EncWriteMapElemValue()
				if yyn102 {
					r.EncodeNil()
				} else {
					yy531 := *x.FptrMapUint64Uint8
					if yy531 == nil {
						r.EncodeNil()
					} else {
						z.F.EncMapUint64Uint8V(yy531, e)
					} // end block: if yy531 map == nil
				}
				z.EncWriteMapElemKey()
				if z.IsJSONHandle() {
					z.WriteStr("\"FptrMapUint8Bool\"")
				} else {
					r.EncodeString(`FptrMapUint8Bool`)
				}
				z.EncWriteMapElemValue()
				if yyn94 {
					r.EncodeNil()
				} else {
					yy533 := *x.FptrMapUint8Bool
					if yy533 == nil {
						r.EncodeNil()
					} else {
						z.F.EncMapUint8BoolV(yy533, e)
					} // end block: if yy533 map == nil
				}
				z.EncWriteMapElemKey()
				if z.IsJSONHandle() {
					z.WriteStr("\"FptrMapUint8Bytes\"")
				} else {
					r.EncodeString(`FptrMapUint8Bytes`)
				}
				z.EncWriteMapElemValue()
				if yyn82 {
					r.EncodeNil()
				} else {
					yy535 := *x.FptrMapUint8Bytes
					if yy535 == nil {
						r.EncodeNil()
					} else {
						z.F.EncMapUint8BytesV(yy535, e)
					} // end block: if yy535 map == nil
				}
				z.EncWriteMapElemKey()
				if z.IsJSONHandle() {
					z.WriteStr("\"FptrMapUint8Float64\"")
				} else {
					r.EncodeString(`FptrMapUint8Float64`)
				}
				z.EncWriteMapElemValue()
				if yyn92 {
					r.EncodeNil()
				} else {
					yy537 := *x.FptrMapUint8Float64
					if yy537 == nil {
						r.EncodeNil()
					} else {
						z.F.EncMapUint8Float64V(yy537, e)
					} // end block: if yy537 map == nil
				}
				z.EncWriteMapElemKey()
				if z.IsJSONHandle() {
					z.WriteStr("\"FptrMapUint8Int\"")
				} else {
					r.EncodeString(`FptrMapUint8Int`)
				}
				z.EncWriteMapElemValue()
				if yyn88 {
					r.EncodeNil()
				} else {
					yy539 := *x.FptrMapUint8Int
					if yy539 == nil {
						r.EncodeNil()
					} else {
						z.F.EncMapUint8IntV(yy539, e)
					} // end block: if yy539 map == nil
				}
				z.EncWriteMapElemKey()
				if z.IsJSONHandle() {
					z.WriteStr("\"FptrMapUint8Int32\"")
				} else {
					r.EncodeString(`FptrMapUint8Int32`)
				}
				z.EncWriteMapElemValue()
				if yyn90 {
					r.EncodeNil()
				} else {
					yy541 := *x.FptrMapUint8Int32
					if yy541 == nil {
						r.EncodeNil()
					} else {
						z.F.EncMapUint8Int32V(yy541, e)
					} // end block: if yy541 map == nil
				}
				z.EncWriteMapElemKey()
				if z.IsJSONHandle() {
					z.WriteStr("\"FptrMapUint8Intf\"")
				} else {
					r.EncodeString(`FptrMapUint8Intf`)
				}
				z.EncWriteMapElemValue()
				if yyn78 {
					r.EncodeNil()
				} else {
					yy543 := *x.FptrMapUint8Intf
					if yy543 == nil {
						r.EncodeNil()
					} else {
						z.F.EncMapUint8IntfV(yy543, e)
					} // end block: if yy543 map == nil
				}
				z.EncWriteMapElemKey()
				if z.IsJSONHandle() {
					z.WriteStr("\"FptrMapUint8String\"")
				} else {
					r.EncodeString(`FptrMapUint8String`)
				}
				z.EncWriteMapElemValue()
				if yyn80 {
					r.EncodeNil()
				} else {
					yy545 := *x.FptrMapUint8String
					if yy545 == nil {
						r.EncodeNil()
					} else {
						z.F.EncMapUint8StringV(yy545, e)
					} // end block: if yy545 map == nil
				}
				z.EncWriteMapElemKey()
				if z.IsJSONHandle() {
					z.WriteStr("\"FptrMapUint8Uint64\"")
				} else {
					r.EncodeString(`FptrMapUint8Uint64`)
				}
				z.EncWriteMapElemValue()
				if yyn86 {
					r.EncodeNil()
				} else {
					yy547 := *x.FptrMapUint8Uint64
					if yy547 == nil {
						r.EncodeNil()
					} else {
						z.F.EncMapUint8Uint64V(yy547, e)
					} // end block: if yy547 map == nil
				}
				z.EncWriteMapElemKey()
				if z.IsJSONHandle() {
					z.WriteStr("\"FptrMapUint8Uint8\"")
				} else {
					r.EncodeString(`FptrMapUint8Uint8`)
				}
				z.EncWriteMapElemValue()
				if yyn84 {
					r.EncodeNil()
				} else {
					yy549 := *x.FptrMapUint8Uint8
					if yy549 == nil {
						r.EncodeNil()
					} else {
						z.F.EncMapUint8Uint8V(yy549, e)
					} // end block: if yy549 map == nil
				}
				z.EncWriteMapElemKey()
				if z.IsJSONHandle() {
					z.WriteStr("\"FptrSliceBool\"")
				} else {
					r.EncodeString(`FptrSliceBool`)
				}
				z.EncWriteMapElemValue()
				if yyn58 {
					r.EncodeNil()
				} else {
					yy551 := *x.FptrSliceBool
					if yy551 == nil {
						r.EncodeNil()
					} else {
						z.F.EncSliceBoolV(yy551, e)
					} // end block: if yy551 slice == nil
				}
				z.EncWriteMapElemKey()
				if z.IsJSONHandle() {
					z.WriteStr("\"FptrSliceBytes\"")
				} else {
					r.EncodeString(`FptrSliceBytes`)
				}
				z.EncWriteMapElemValue()
				if yyn42 {
					r.EncodeNil()
				} else {
					yy553 := *x.FptrSliceBytes
					if yy553 == nil {
						r.EncodeNil()
					} else {
						z.F.EncSliceBytesV(yy553, e)
					} // end block: if yy553 slice == nil
				}
				z.EncWriteMapElemKey()
				if z.IsJSONHandle() {
					z.WriteStr("\"FptrSliceFloat32\"")
				} else {
					r.EncodeString(`FptrSliceFloat32`)
				}
				z.EncWriteMapElemValue()
				if yyn44 {
					r.EncodeNil()
				} else {
					yy555 := *x.FptrSliceFloat32
					if yy555 == nil {
						r.EncodeNil()
					} else {
						z.F.EncSliceFloat32V(yy555, e)
					} // end block: if yy555 slice == nil
				}
				z.EncWriteMapElemKey()
				if z.IsJSONHandle() {
					z.WriteStr("\"FptrSliceFloat64\"")
				} else {
					r.EncodeString(`FptrSliceFloat64`)
				}
				z.EncWriteMapElemValue()
				if yyn46 {
					r.EncodeNil()
				} else {
					yy557 := *x.FptrSliceFloat64
					if yy557 == nil {
						r.EncodeNil()
					} else {
						z.F.EncSliceFloat64V(yy557, e)
					} // end block: if yy557 slice == nil
				}
				z.EncWriteMapElemKey()
				if z.IsJSONHandle() {
					z.WriteStr("\"FptrSliceInt\"")
				} else {
					r.EncodeString(`FptrSliceInt`)
				}
				z.EncWriteMapElemValue()
				if yyn52 {
					r.EncodeNil()
				} else {
					yy559 := *x.FptrSliceInt
					if yy559 == nil {
						r.EncodeNil()
					} else {
						z.F.EncSliceIntV(yy559, e)
					} // end block: if yy559 slice == nil
				}
				z.EncWriteMapElemKey()
				if z.IsJSONHandle() {
					z.WriteStr("\"FptrSliceInt32\"")
				} else {
					r.EncodeString(`FptrSliceInt32`)
				}
				z.EncWriteMapElemValue()
				if yyn54 {
					r.EncodeNil()
				} else {
					yy561 := *x.FptrSliceInt32
					if yy561 == nil {
						r.EncodeNil()
					} else {
						z.F.EncSliceInt32V(yy561, e)
					} // end block: if yy561 slice == nil
				}
				z.EncWriteMapElemKey()
				if z.IsJSONHandle() {
					z.WriteStr("\"FptrSliceInt64\"")
				} else {
					r.EncodeString(`FptrSliceInt64`)
				}
				z.EncWriteMapElemValue()
				if yyn56 {
					r.EncodeNil()
				} else {
					yy563 := *x.FptrSliceInt64
					if yy563 == nil {
						r.EncodeNil()
					} else {
						z.F.EncSliceInt64V(yy563, e)
					} // end block: if yy563 slice == nil
				}
				z.EncWriteMapElemKey()
				if z.IsJSONHandle() {
					z.WriteStr("\"FptrSliceIntf\"")
				} else {
					r.EncodeString(`FptrSliceIntf`)
				}
				z.EncWriteMapElemValue()
				if yyn38 {
					r.EncodeNil()
				} else {
					yy565 := *x.FptrSliceIntf
					if yy565 == nil {
						r.EncodeNil()
					} else {
						z.F.EncSliceIntfV(yy565, e)
					} // end block: if yy565 slice == nil
				}
				z.EncWriteMapElemKey()
				if z.IsJSONHandle() {
					z.WriteStr("\"FptrSliceString\"")
				} else {
					r.EncodeString(`FptrSliceString`)
				}
				z.EncWriteMapElemValue()
				if yyn40 {
					r.EncodeNil()
				} else {
					yy567 := *x.FptrSliceString
					if yy567 == nil {
						r.EncodeNil()
					} else {
						z.F.EncSliceStringV(yy567, e)
					} // end block: if yy567 slice == nil
				}
				z.EncWriteMapElemKey()
				if z.IsJSONHandle() {
					z.WriteStr("\"FptrSliceUint64\"")
				} else {
					r.EncodeString(`FptrSliceUint64`)
				}
				z.EncWriteMapElemValue()
				if yyn50 {
					r.EncodeNil()
				} else {
					yy569 := *x.FptrSliceUint64
					if yy569 == nil {
						r.EncodeNil()
					} else {
						z.F.EncSliceUint64V(yy569, e)
					} // end block: if yy569 slice == nil
				}
				z.EncWriteMapElemKey()
				if z.IsJSONHandle() {
					z.WriteStr("\"FptrSliceUint8\"")
				} else {
					r.EncodeString(`FptrSliceUint8`)
				}
				z.EncWriteMapElemValue()
				if yyn48 {
					r.EncodeNil()
				} else {
					yy571 := *x.FptrSliceUint8
					if yy571 == nil {
						r.EncodeNil()
					} else {
						r.EncodeStringBytesRaw([]byte(yy571))
					} // end block: if yy571 slice == nil
				}
				z.EncWriteMapElemKey()
				if z.IsJSONHandle() {
					z.WriteStr("\"FptrString\"")
				} else {
					r.EncodeString(`FptrString`)
				}
				z.EncWriteMapElemValue()
				if yyn6 {
					r.EncodeNil()
				} else {
					yy573 := *x.FptrString
					r.EncodeString(string(yy573))
				}
				z.EncWriteMapElemKey()
				if z.IsJSONHandle() {
					z.WriteStr("\"FptrUint\"")
				} else {
					r.EncodeString(`FptrUint`)
				}
				z.EncWriteMapElemValue()
				if yyn14 {
					r.EncodeNil()
				} else {
					yy575 := *x.FptrUint
					r.EncodeUint(uint64(yy575))
				}
				z.EncWriteMapElemKey()
				if z.IsJSONHandle() {
					z.WriteStr("\"FptrUint16\"")
				} else {
					r.EncodeString(`FptrUint16`)
				}
				z.EncWriteMapElemValue()
				if yyn18 {
					r.EncodeNil()
				} else {
					yy577 := *x.FptrUint16
					r.EncodeUint(uint64(yy577))
				}
				z.EncWriteMapElemKey()
				if z.IsJSONHandle() {
					z.WriteStr("\"FptrUint32\"")
				} else {
					r.EncodeString(`FptrUint32`)
				}
				z.EncWriteMapElemValue()
				if yyn20 {
					r.EncodeNil()
				} else {
					yy579 := *x.FptrUint32
					r.EncodeUint(uint64(yy579))
				}
				z.EncWriteMapElemKey()
				if z.IsJSONHandle() {
					z.WriteStr("\"FptrUint64\"")
				} else {
					r.EncodeString(`FptrUint64`)
				}
				z.EncWriteMapElemValue()
				if yyn22 {
					r.EncodeNil()
				} else {
					yy581 := *x.FptrUint64
					r.EncodeUint(uint64(yy581))
				}
				z.EncWriteMapElemKey()
				if z.IsJSONHandle() {
					z.WriteStr("\"FptrUint8\"")
				} else {
					r.EncodeString(`FptrUint8`)
				}
				z.EncWriteMapElemValue()
				if yyn16 {
					r.EncodeNil()
				} else {
					yy583 := *x.FptrUint8
					r.EncodeUint(uint64(yy583))
				}
				z.EncWriteMapElemKey()
				if z.IsJSONHandle() {
					z.WriteStr("\"FptrUintptr\"")
				} else {
					r.EncodeString(`FptrUintptr`)
				}
				z.EncWriteMapElemValue()
				if yyn24 {
					r.EncodeNil()
				} else {
					yy585 := *x.FptrUintptr
					r.EncodeUint(uint64(yy585))
				}
			} else {
				z.EncWriteMapElemKey()
				if z.IsJSONHandle() {
					z.WriteStr("\"FIntf\"")
				} else {
					r.EncodeString(`FIntf`)
				}
				z.EncWriteMapElemValue()
				z.EncFallback(x.FIntf)
				z.EncWriteMapElemKey()
				if z.IsJSONHandle() {
					z.WriteStr("\"FptrIntf\"")
				} else {
					r.EncodeString(`FptrIntf`)
				}
				z.EncWriteMapElemValue()
				if yyn4 {
					r.EncodeNil()
				} else {
					yy588 := *x.FptrIntf
					z.EncFallback(yy588)
				}
				z.EncWriteMapElemKey()
				if z.IsJSONHandle() {
					z.WriteStr("\"FString\"")
				} else {
					r.EncodeString(`FString`)
				}
				z.EncWriteMapElemValue()
				r.EncodeString(string(x.FString))
				z.EncWriteMapElemKey()
				if z.IsJSONHandle() {
					z.WriteStr("\"FptrString\"")
				} else {
					r.EncodeString(`FptrString`)
				}
				z.EncWriteMapElemValue()
				if yyn6 {
					r.EncodeNil()
				} else {
					yy591 := *x.FptrString
					r.EncodeString(string(yy591))
				}
				z.EncWriteMapElemKey()
				if z.IsJSONHandle() {
					z.WriteStr("\"FBytes\"")
				} else {
					r.EncodeString(`FBytes`)
				}
				z.EncWriteMapElemValue()
				if x.FBytes == nil {
					r.EncodeNil()
				} else {
					r.EncodeStringBytesRaw([]byte(x.FBytes))
				} // end block: if x.FBytes slice == nil
				z.EncWriteMapElemKey()
				if z.IsJSONHandle() {
					z.WriteStr("\"FptrBytes\"")
				} else {
					r.EncodeString(`FptrBytes`)
				}
				z.EncWriteMapElemValue()
				if yyn8 {
					r.EncodeNil()
				} else {
					yy594 := *x.FptrBytes
					if yy594 == nil {
						r.EncodeNil()
					} else {
						r.EncodeStringBytesRaw([]byte(yy594))
					} // end block: if yy594 slice == nil
				}
				z.EncWriteMapElemKey()
				if z.IsJSONHandle() {
					z.WriteStr("\"FFloat32\"")
				} else {
					r.EncodeString(`FFloat32`)
				}
				z.EncWriteMapElemValue()
				r.EncodeFloat32(float32(x.FFloat32))
				z.EncWriteMapElemKey()
				if z.IsJSONHandle() {
					z.WriteStr("\"FptrFloat32\"")
				} else {
					r.EncodeString(`FptrFloat32`)
				}
				z.EncWriteMapElemValue()
				if yyn10 {
					r.EncodeNil()
				} else {
					yy597 := *x.FptrFloat32
					r.EncodeFloat32(float32(yy597))
				}
				z.EncWriteMapElemKey()
				if z.IsJSONHandle() {
					z.WriteStr("\"FFloat64\"")
				} else {
					r.EncodeString(`FFloat64`)
				}
				z.EncWriteMapElemValue()
				r.EncodeFloat64(float64(x.FFloat64))
				z.EncWriteMapElemKey()
				if z.IsJSONHandle() {
					z.WriteStr("\"FptrFloat64\"")
				} else {
					r.EncodeString(`FptrFloat64`)
				}
				z.EncWriteMapElemValue()
				if yyn12 {
					r.EncodeNil()
				} else {
					yy600 := *x.FptrFloat64
					r.EncodeFloat64(float64(yy600))
				}
				z.EncWriteMapElemKey()
				if z.IsJSONHandle() {
					z.WriteStr("\"FUint\"")
				} else {
					r.EncodeString(`FUint`)
				}
				z.EncWriteMapElemValue()
				r.EncodeUint(uint64(x.FUint))
				z.EncWriteMapElemKey()
				if z.IsJSONHandle() {
					z.WriteStr("\"FptrUint\"")
				} else {
					r.EncodeString(`FptrUint`)
				}
				z.EncWriteMapElemValue()
				if yyn14 {
					r.EncodeNil()
				} else {
					yy603 := *x.FptrUint
					r.EncodeUint(uint64(yy603))
				}
				z.EncWriteMapElemKey()
				if z.IsJSONHandle() {
					z.WriteStr("\"FUint8\"")
				} else {
					r.EncodeString(`FUint8`)
				}
				z.EncWriteMapElemValue()
				r.EncodeUint(uint64(x.FUint8))
				z.EncWriteMapElemKey()
				if z.IsJSONHandle() {
					z.WriteStr("\"FptrUint8\"")
				} else {
					r.EncodeString(`FptrUint8`)
				}
				z.EncWriteMapElemValue()
				if yyn16 {
					r.EncodeNil()
				} else {
					yy606 := *x.FptrUint8
					r.EncodeUint(uint64(yy606))
				}
				z.EncWriteMapElemKey()
				if z.IsJSONHandle() {
					z.WriteStr("\"FUint16\"")
				} else {
					r.EncodeString(`FUint16`)
				}
				z.EncWriteMapElemValue()
				r.EncodeUint(uint64(x.FUint16))
				z.EncWriteMapElemKey()
				if z.IsJSONHandle() {
					z.WriteStr("\"FptrUint16\"")
				} else {
					r.EncodeString(`FptrUint16`)
				}
				z.EncWriteMapElemValue()
				if yyn18 {
					r.EncodeNil()
				} else {
					yy609 := *x.FptrUint16
					r.EncodeUint(uint64(yy609))
				}
				z.EncWriteMapElemKey()
				if z.IsJSONHandle() {
					z.WriteStr("\"FUint32\"")
				} else {
					r.EncodeString(`FUint32`)
				}
				z.EncWriteMapElemValue()
				r.EncodeUint(uint64(x.FUint32))
				z.EncWriteMapElemKey()
				if z.IsJSONHandle() {
					z.WriteStr("\"FptrUint32\"")
				} else {
					r.EncodeString(`FptrUint32`)
				}
				z.EncWriteMapElemValue()
				if yyn20 {
					r.EncodeNil()
				} else {
					yy612 := *x.FptrUint32
					r.EncodeUint(uint64(yy612))
				}
				z.EncWriteMapElemKey()
				if z.IsJSONHandle() {
					z.WriteStr("\"FUint64\"")
				} else {
					r.EncodeString(`FUint64`)
				}
				z.EncWriteMapElemValue()
				r.EncodeUint(uint64(x.FUint64))
				z.EncWriteMapElemKey()
				if z.IsJSONHandle() {
					z.WriteStr("\"FptrUint64\"")
				} else {
					r.EncodeString(`FptrUint64`)
				}
				z.EncWriteMapElemValue()
				if yyn22 {
					r.EncodeNil()
				} else {
					yy615 := *x.FptrUint64
					r.EncodeUint(uint64(yy615))
				}
				z.EncWriteMapElemKey()
				if z.IsJSONHandle() {
					z.WriteStr("\"FUintptr\"")
				} else {
					r.EncodeString(`FUintptr`)
				}
				z.EncWriteMapElemValue()
				r.EncodeUint(uint64(x.FUintptr))
				z.EncWriteMapElemKey()
				if z.IsJSONHandle() {
					z.WriteStr("\"FptrUintptr\"")
				} else {
					r.EncodeString(`FptrUintptr`)
				}
				z.EncWriteMapElemValue()
				if yyn24 {
					r.EncodeNil()
				} else {
					yy618 := *x.FptrUintptr
					r.EncodeUint(uint64(yy618))
				}
				z.EncWriteMapElemKey()
				if z.IsJSONHandle() {
					z.WriteStr("\"FInt\"")
				} else {
					r.EncodeString(`FInt`)
				}
				z.EncWriteMapElemValue()
				r.EncodeInt(int64(x.FInt))
				z.EncWriteMapElemKey()
				if z.IsJSONHandle() {
					z.WriteStr("\"FptrInt\"")
				} else {
					r.EncodeString(`FptrInt`)
				}
				z.EncWriteMapElemValue()
				if yyn26 {
					r.EncodeNil()
				} else {
					yy621 := *x.FptrInt
					r.EncodeInt(int64(yy621))
				}
				z.EncWriteMapElemKey()
				if z.IsJSONHandle() {
					z.WriteStr("\"FInt8\"")
				} else {
					r.EncodeString(`FInt8`)
				}
				z.EncWriteMapElemValue()
				r.EncodeInt(int64(x.FInt8))
				z.EncWriteMapElemKey()
				if z.IsJSONHandle() {
					z.WriteStr("\"FptrInt8\"")
				} else {
					r.EncodeString(`FptrInt8`)
				}
				z.EncWriteMapElemValue()
				if yyn28 {
					r.EncodeNil()
				} else {
					yy624 := *x.FptrInt8
					r.EncodeInt(int64(yy624))
				}
				z.EncWriteMapElemKey()
				if z.IsJSONHandle() {
					z.WriteStr("\"FInt16\"")
				} else {
					r.EncodeString(`FInt16`)
				}
				z.EncWriteMapElemValue()
				r.EncodeInt(int64(x.FInt16))
				z.EncWriteMapElemKey()
				if z.IsJSONHandle() {
					z.WriteStr("\"FptrInt16\"")
				} else {
					r.EncodeString(`FptrInt16`)
				}
				z.EncWriteMapElemValue()
				if yyn30 {
					r.EncodeNil()
				} else {
					yy627 := *x.FptrInt16
					r.EncodeInt(int64(yy627))
				}
				z.EncWriteMapElemKey()
				if z.IsJSONHandle() {
					z.WriteStr("\"FInt32\"")
				} else {
					r.EncodeString(`FInt32`)
				}
				z.EncWriteMapElemValue()
				r.EncodeInt(int64(x.FInt32))
				z.EncWriteMapElemKey()
				if z.IsJSONHandle() {
					z.WriteStr("\"FptrInt32\"")
				} else {
					r.EncodeString(`FptrInt32`)
				}
				z.EncWriteMapElemValue()
				if yyn32 {
					r.EncodeNil()
				} else {
					yy630 := *x.FptrInt32
					r.EncodeInt(int64(yy630))
				}
				z.EncWriteMapElemKey()
				if z.IsJSONHandle() {
					z.WriteStr("\"FInt64\"")
				} else {
					r.EncodeString(`FInt64`)
				}
				z.EncWriteMapElemValue()
				r.EncodeInt(int64(x.FInt64))
				z.EncWriteMapElemKey()
				if z.IsJSONHandle() {
					z.WriteStr("\"FptrInt64\"")
				} else {
					r.EncodeString(`FptrInt64`)
				}
				z.EncWriteMapElemValue()
				if yyn34 {
					r.EncodeNil()
				} else {
					yy633 := *x.FptrInt64
					r.EncodeInt(int64(yy633))
				}
				z.EncWriteMapElemKey()
				if z.IsJSONHandle() {
					z.WriteStr("\"FBool\"")
				} else {
					r.EncodeString(`FBool`)
				}
				z.EncWriteMapElemValue()
				r.EncodeBool(bool(x.FBool))
				z.EncWriteMapElemKey()
				if z.IsJSONHandle() {
					z.WriteStr("\"FptrBool\"")
				} else {
					r.EncodeString(`FptrBool`)
				}
				z.EncWriteMapElemValue()
				if yyn36 {
					r.EncodeNil()
				} else {
					yy636 := *x.FptrBool
					r.EncodeBool(bool(yy636))
				}
				z.EncWriteMapElemKey()
				if z.IsJSONHandle() {
					z.WriteStr("\"FSliceIntf\"")
				} else {
					r.EncodeString(`FSliceIntf`)
				}
				z.EncWriteMapElemValue()
				if x.FSliceIntf == nil {
					r.EncodeNil()
				} else {
					z.F.EncSliceIntfV(x.FSliceIntf, e)
				} // end block: if x.FSliceIntf slice == nil
				z.EncWriteMapElemKey()
				if z.IsJSONHandle() {
					z.WriteStr("\"FptrSliceIntf\"")
				} else {
					r.EncodeString(`FptrSliceIntf`)
				}
				z.EncWriteMapElemValue()
				if yyn38 {
					r.EncodeNil()
				} else {
					yy639 := *x.FptrSliceIntf
					if yy639 == nil {
						r.EncodeNil()
					} else {
						z.F.EncSliceIntfV(yy639, e)
					} // end block: if yy639 slice == nil
				}
				z.EncWriteMapElemKey()
				if z.IsJSONHandle() {
					z.WriteStr("\"FSliceString\"")
				} else {
					r.EncodeString(`FSliceString`)
				}
				z.EncWriteMapElemValue()
				if x.FSliceString == nil {
					r.EncodeNil()
				} else {
					z.F.EncSliceStringV(x.FSliceString, e)
				} // end block: if x.FSliceString slice == nil
				z.EncWriteMapElemKey()
				if z.IsJSONHandle() {
					z.WriteStr("\"FptrSliceString\"")
				} else {
					r.EncodeString(`FptrSliceString`)
				}
				z.EncWriteMapElemValue()
				if yyn40 {
					r.EncodeNil()
				} else {
					yy642 := *x.FptrSliceString
					if yy642 == nil {
						r.EncodeNil()
					} else {
						z.F.EncSliceStringV(yy642, e)
					} // end block: if yy642 slice == nil
				}
				z.EncWriteMapElemKey()
				if z.IsJSONHandle() {
					z.WriteStr("\"FSliceBytes\"")
				} else {
					r.EncodeString(`FSliceBytes`)
				}
				z.EncWriteMapElemValue()
				if x.FSliceBytes == nil {
					r.EncodeNil()
				} else {
					z.F.EncSliceBytesV(x.FSliceBytes, e)
				} // end block: if x.FSliceBytes slice == nil
				z.EncWriteMapElemKey()
				if z.IsJSONHandle() {
					z.WriteStr("\"FptrSliceBytes\"")
				} else {
					r.EncodeString(`FptrSliceBytes`)
				}
				z.EncWriteMapElemValue()
				if yyn42 {
					r.EncodeNil()
				} else {
					yy645 := *x.FptrSliceBytes
					if yy645 == nil {
						r.EncodeNil()
					} else {
						z.F.EncSliceBytesV(yy645, e)
					} // end block: if yy645 slice == nil
				}
				z.EncWriteMapElemKey()
				if z.IsJSONHandle() {
					z.WriteStr("\"FSliceFloat32\"")
				} else {
					r.EncodeString(`FSliceFloat32`)
				}
				z.EncWriteMapElemValue()
				if x.FSliceFloat32 == nil {
					r.EncodeNil()
				} else {
					z.F.EncSliceFloat32V(x.FSliceFloat32, e)
				} // end block: if x.FSliceFloat32 slice == nil
				z.EncWriteMapElemKey()
				if z.IsJSONHandle() {
					z.WriteStr("\"FptrSliceFloat32\"")
				} else {
					r.EncodeString(`FptrSliceFloat32`)
				}
				z.EncWriteMapElemValue()
				if yyn44 {
					r.EncodeNil()
				} else {
					yy648 := *x.FptrSliceFloat32
					if yy648 == nil {
						r.EncodeNil()
					} else {
						z.F.EncSliceFloat32V(yy648, e)
					} // end block: if yy648 slice == nil
				}
				z.EncWriteMapElemKey()
				if z.IsJSONHandle() {
					z.WriteStr("\"FSliceFloat64\"")
				} else {
					r.EncodeString(`FSliceFloat64`)
				}
				z.EncWriteMapElemValue()
				if x.FSliceFloat64 == nil {
					r.EncodeNil()
				} else {
					z.F.EncSliceFloat64V(x.FSliceFloat64, e)
				} // end block: if x.FSliceFloat64 slice == nil
				z.EncWriteMapElemKey()
				if z.IsJSONHandle() {
					z.WriteStr("\"FptrSliceFloat64\"")
				} else {
					r.EncodeString(`FptrSliceFloat64`)
				}
				z.EncWriteMapElemValue()
				if yyn46 {
					r.EncodeNil()
				} else {
					yy651 := *x.FptrSliceFloat64
					if yy651 == nil {
						r.EncodeNil()
					} else {
						z.F.EncSliceFloat64V(yy651, e)
					} // end block: if yy651 slice == nil
				}
				z.EncWriteMapElemKey()
				if z.IsJSONHandle() {
					z.WriteStr("\"FSliceUint8\"")
				} else {
					r.EncodeString(`FSliceUint8`)
				}
				z.EncWriteMapElemValue()
				if x.FSliceUint8 == nil {
					r.EncodeNil()
				} else {
					r.EncodeStringBytesRaw([]byte(x.FSliceUint8))
				} // end block: if x.FSliceUint8 slice == nil
				z.EncWriteMapElemKey()
				if z.IsJSONHandle() {
					z.WriteStr("\"FptrSliceUint8\"")
				} else {
					r.EncodeString(`FptrSliceUint8`)
				}
				z.EncWriteMapElemValue()
				if yyn48 {
					r.EncodeNil()
				} else {
					yy654 := *x.FptrSliceUint8
					if yy654 == nil {
						r.EncodeNil()
					} else {
						r.EncodeStringBytesRaw([]byte(yy654))
					} // end block: if yy654 slice == nil
				}
				z.EncWriteMapElemKey()
				if z.IsJSONHandle() {
					z.WriteStr("\"FSliceUint64\"")
				} else {
					r.EncodeString(`FSliceUint64`)
				}
				z.EncWriteMapElemValue()
				if x.FSliceUint64 == nil {
					r.EncodeNil()
				} else {
					z.F.EncSliceUint64V(x.FSliceUint64, e)
				} // end block: if x.FSliceUint64 slice == nil
				z.EncWriteMapElemKey()
				if z.IsJSONHandle() {
					z.WriteStr("\"FptrSliceUint64\"")
				} else {
					r.EncodeString(`FptrSliceUint64`)
				}
				z.EncWriteMapElemValue()
				if yyn50 {
					r.EncodeNil()
				} else {
					yy657 := *x.FptrSliceUint64
					if yy657 == nil {
						r.EncodeNil()
					} else {
						z.F.EncSliceUint64V(yy657, e)
					} // end block: if yy657 slice == nil
				}
				z.EncWriteMapElemKey()
				if z.IsJSONHandle() {
					z.WriteStr("\"FSliceInt\"")
				} else {
					r.EncodeString(`FSliceInt`)
				}
				z.EncWriteMapElemValue()
				if x.FSliceInt == nil {
					r.EncodeNil()
				} else {
					z.F.EncSliceIntV(x.FSliceInt, e)
				} // end block: if x.FSliceInt slice == nil
				z.EncWriteMapElemKey()
				if z.IsJSONHandle() {
					z.WriteStr("\"FptrSliceInt\"")
				} else {
					r.EncodeString(`FptrSliceInt`)
				}
				z.EncWriteMapElemValue()
				if yyn52 {
					r.EncodeNil()
				} else {
					yy660 := *x.FptrSliceInt
					if yy660 == nil {
						r.EncodeNil()
					} else {
						z.F.EncSliceIntV(yy660, e)
					} // end block: if yy660 slice == nil
				}
				z.EncWriteMapElemKey()
				if z.IsJSONHandle() {
					z.WriteStr("\"FSliceInt32\"")
				} else {
					r.EncodeString(`FSliceInt32`)
				}
				z.EncWriteMapElemValue()
				if x.FSliceInt32 == nil {
					r.EncodeNil()
				} else {
					z.F.EncSliceInt32V(x.FSliceInt32, e)
				} // end block: if x.FSliceInt32 slice == nil
				z.EncWriteMapElemKey()
				if z.IsJSONHandle() {
					z.WriteStr("\"FptrSliceInt32\"")
				} else {
					r.EncodeString(`FptrSliceInt32`)
				}
				z.EncWriteMapElemValue()
				if yyn54 {
					r.EncodeNil()
				} else {
					yy663 := *x.FptrSliceInt32
					if yy663 == nil {
						r.EncodeNil()
					} else {
						z.F.EncSliceInt32V(yy663, e)
					} // end block: if yy663 slice == nil
				}
				z.EncWriteMapElemKey()
				if z.IsJSONHandle() {
					z.WriteStr("\"FSliceInt64\"")
				} else {
					r.EncodeString(`FSliceInt64`)
				}
				z.EncWriteMapElemValue()
				if x.FSliceInt64 == nil {
					r.EncodeNil()
				} else {
					z.F.EncSliceInt64V(x.FSliceInt64, e)
				} // end block: if x.FSliceInt64 slice == nil
				z.EncWriteMapElemKey()
				if z.IsJSONHandle() {
					z.WriteStr("\"FptrSliceInt64\"")
				} else {
					r.EncodeString(`FptrSliceInt64`)
				}
				z.EncWriteMapElemValue()
				if yyn56 {
					r.EncodeNil()
				} else {
					yy666 := *x.FptrSliceInt64
					if yy666 == nil {
						r.EncodeNil()
					} else {
						z.F.EncSliceInt64V(yy666, e)
					} // end block: if yy666 slice == nil
				}
				z.EncWriteMapElemKey()
				if z.IsJSONHandle() {
					z.WriteStr("\"FSliceBool\"")
				} else {
					r.EncodeString(`FSliceBool`)
				}
				z.EncWriteMapElemValue()
				if x.FSliceBool == nil {
					r.EncodeNil()
				} else {
					z.F.EncSliceBoolV(x.FSliceBool, e)
				} // end block: if x.FSliceBool slice == nil
				z.EncWriteMapElemKey()
				if z.IsJSONHandle() {
					z.WriteStr("\"FptrSliceBool\"")
				} else {
					r.EncodeString(`FptrSliceBool`)
				}
				z.EncWriteMapElemValue()
				if yyn58 {
					r.EncodeNil()
				} else {
					yy669 := *x.FptrSliceBool
					if yy669 == nil {
						r.EncodeNil()
					} else {
						z.F.EncSliceBoolV(yy669, e)
					} // end block: if yy669 slice == nil
				}
				z.EncWriteMapElemKey()
				if z.IsJSONHandle() {
					z.WriteStr("\"FMapStringIntf\"")
				} else {
					r.EncodeString(`FMapStringIntf`)
				}
				z.EncWriteMapElemValue()
				if x.FMapStringIntf == nil {
					r.EncodeNil()
				} else {
					z.F.EncMapStringIntfV(x.FMapStringIntf, e)
				} // end block: if x.FMapStringIntf map == nil
				z.EncWriteMapElemKey()
				if z.IsJSONHandle() {
					z.WriteStr("\"FptrMapStringIntf\"")
				} else {
					r.EncodeString(`FptrMapStringIntf`)
				}
				z.EncWriteMapElemValue()
				if yyn60 {
					r.EncodeNil()
				} else {
					yy672 := *x.FptrMapStringIntf
					if yy672 == nil {
						r.EncodeNil()
					} else {
						z.F.EncMapStringIntfV(yy672, e)
					} // end block: if yy672 map == nil
				}
				z.EncWriteMapElemKey()
				if z.IsJSONHandle() {
					z.WriteStr("\"FMapStringString\"")
				} else {
					r.EncodeString(`FMapStringString`)
				}
				z.EncWriteMapElemValue()
				if x.FMapStringString == nil {
					r.EncodeNil()
				} else {
					z.F.EncMapStringStringV(x.FMapStringString, e)
				} // end block: if x.FMapStringString map == nil
				z.EncWriteMapElemKey()
				if z.IsJSONHandle() {
					z.WriteStr("\"FptrMapStringString\"")
				} else {
					r.EncodeString(`FptrMapStringString`)
				}
				z.EncWriteMapElemValue()
				if yyn62 {
					r.EncodeNil()
				} else {
					yy675 := *x.FptrMapStringString
					if yy675 == nil {
						r.EncodeNil()
					} else {
						z.F.EncMapStringStringV(yy675, e)
					} // end block: if yy675 map == nil
				}
				z.EncWriteMapElemKey()
				if z.IsJSONHandle() {
					z.WriteStr("\"FMapStringBytes\"")
				} else {
					r.EncodeString(`FMapStringBytes`)
				}
				z.EncWriteMapElemValue()
				if x.FMapStringBytes == nil {
					r.EncodeNil()
				} else {
					z.F.EncMapStringBytesV(x.FMapStringBytes, e)
				} // end block: if x.FMapStringBytes map == nil
				z.EncWriteMapElemKey()
				if z.IsJSONHandle() {
					z.WriteStr("\"FptrMapStringBytes\"")
				} else {
					r.EncodeString(`FptrMapStringBytes`)
				}
				z.EncWriteMapElemValue()
				if yyn64 {
					r.EncodeNil()
				} else {
					yy678 := *x.FptrMapStringBytes
					if yy678 == nil {
						r.EncodeNil()
					} else {
						z.F.EncMapStringBytesV(yy678, e)
					} // end block: if yy678 map == nil
				}
				z.EncWriteMapElemKey()
				if z.IsJSONHandle() {
					z.WriteStr("\"FMapStringUint8\"")
				} else {
					r.EncodeString(`FMapStringUint8`)
				}
				z.EncWriteMapElemValue()
				if x.FMapStringUint8 == nil {
					r.EncodeNil()
				} else {
					z.F.EncMapStringUint8V(x.FMapStringUint8, e)
				} // end block: if x.FMapStringUint8 map == nil
				z.EncWriteMapElemKey()
				if z.IsJSONHandle() {
					z.WriteStr("\"FptrMapStringUint8\"")
				} else {
					r.EncodeString(`FptrMapStringUint8`)
				}
				z.EncWriteMapElemValue()
				if yyn66 {
					r.EncodeNil()
				} else {
					yy681 := *x.FptrMapStringUint8
					if yy681 == nil {
						r.EncodeNil()
					} else {
						z.F.EncMapStringUint8V(yy681, e)
					} // end block: if yy681 map == nil
				}
				z.EncWriteMapElemKey()
				if z.IsJSONHandle() {
					z.WriteStr("\"FMapStringUint64\"")
				} else {
					r.EncodeString(`FMapStringUint64`)
				}
				z.EncWriteMapElemValue()
				if x.FMapStringUint64 == nil {
					r.EncodeNil()
				} else {
					z.F.EncMapStringUint64V(x.FMapStringUint64, e)
				} // end block: if x.FMapStringUint64 map == nil
				z.EncWriteMapElemKey()
				if z.IsJSONHandle() {
					z.WriteStr("\"FptrMapStringUint64\"")
				} else {
					r.EncodeString(`FptrMapStringUint64`)
				}
				z.EncWriteMapElemValue()
				if yyn68 {
					r.EncodeNil()
				} else {
					yy684 := *x.FptrMapStringUint64
					if yy684 == nil {
						r.EncodeNil()
					} else {
						z.F.EncMapStringUint64V(yy684, e)
					} // end block: if yy684 map == nil
				}
				z.EncWriteMapElemKey()
				if z.IsJSONHandle() {
					z.WriteStr("\"FMapStringInt\"")
				} else {
					r.EncodeString(`FMapStringInt`)
				}
				z.EncWriteMapElemValue()
				if x.FMapStringInt == nil {
					r.EncodeNil()
				} else {
					z.F.EncMapStringIntV(x.FMapStringInt, e)
				} // end block: if x.FMapStringInt map == nil
				z.EncWriteMapElemKey()
				if z.IsJSONHandle() {
					z.WriteStr("\"FptrMapStringInt\"")
				} else {
					r.EncodeString(`FptrMapStringInt`)
				}
				z.EncWriteMapElemValue()
				if yyn70 {
					r.EncodeNil()
				} else {
					yy687 := *x.FptrMapStringInt
					if yy687 == nil {
						r.EncodeNil()
					} else {
						z.F.EncMapStringIntV(yy687, e)
					} // end block: if yy687 map == nil
				}
				z.EncWriteMapElemKey()
				if z.IsJSONHandle() {
					z.WriteStr("\"FMapStringInt32\"")
				} else {
					r.EncodeString(`FMapStringInt32`)
				}
				z.EncWriteMapElemValue()
				if x.FMapStringInt32 == nil {
					r.EncodeNil()
				} else {
					z.F.EncMapStringInt32V(x.FMapStringInt32, e)
				} // end block: if x.FMapStringInt32 map == nil
				z.EncWriteMapElemKey()
				if z.IsJSONHandle() {
					z.WriteStr("\"FptrMapStringInt32\"")
				} else {
					r.EncodeString(`FptrMapStringInt32`)
				}
				z.EncWriteMapElemValue()
				if yyn72 {
					r.EncodeNil()
				} else {
					yy690 := *x.FptrMapStringInt32
					if yy690 == nil {
						r.EncodeNil()
					} else {
						z.F.EncMapStringInt32V(yy690, e)
					} // end block: if yy690 map == nil
				}
				z.EncWriteMapElemKey()
				if z.IsJSONHandle() {
					z.WriteStr("\"FMapStringFloat64\"")
				} else {
					r.EncodeString(`FMapStringFloat64`)
				}
				z.EncWriteMapElemValue()
				if x.FMapStringFloat64 == nil {
					r.EncodeNil()
				} else {
					z.F.EncMapStringFloat64V(x.FMapStringFloat64, e)
				} // end block: if x.FMapStringFloat64 map == nil
				z.EncWriteMapElemKey()
				if z.IsJSONHandle() {
					z.WriteStr("\"FptrMapStringFloat64\"")
				} else {
					r.EncodeString(`FptrMapStringFloat64`)
				}
				z.EncWriteMapElemValue()
				if yyn74 {
					r.EncodeNil()
				} else {
					yy693 := *x.FptrMapStringFloat64
					if yy693 == nil {
						r.EncodeNil()
					} else {
						z.F.EncMapStringFloat64V(yy693, e)
					} // end block: if yy693 map == nil
				}
				z.EncWriteMapElemKey()
				if z.IsJSONHandle() {
					z.WriteStr("\"FMapStringBool\"")
				} else {
					r.EncodeString(`FMapStringBool`)
				}
				z.EncWriteMapElemValue()
				if x.FMapStringBool == nil {
					r.EncodeNil()
				} else {
					z.F.EncMapStringBoolV(x.FMapStringBool, e)
				} // end block: if x.FMapStringBool map == nil
				z.EncWriteMapElemKey()
				if z.IsJSONHandle() {
					z.WriteStr("\"FptrMapStringBool\"")
				} else {
					r.EncodeString(`FptrMapStringBool`)
				}
				z.EncWriteMapElemValue()
				if yyn76 {
					r.EncodeNil()
				} else {
					yy696 := *x.FptrMapStringBool
					if yy696 == nil {
						r.EncodeNil()
					} else {
						z.F.EncMapStringBoolV(yy696, e)
					} // end block: if yy696 map == nil
				}
				z.EncWriteMapElemKey()
				if z.IsJSONHandle() {
					z.WriteStr("\"FMapUint8Intf\"")
				} else {
					r.EncodeString(`FMapUint8Intf`)
				}
				z.EncWriteMapElemValue()
				if x.FMapUint8Intf == nil {
					r.EncodeNil()
				} else {
					z.F.EncMapUint8IntfV(x.FMapUint8Intf, e)
				} // end block: if x.FMapUint8Intf map == nil
				z.EncWriteMapElemKey()
				if z.IsJSONHandle() {
					z.WriteStr("\"FptrMapUint8Intf\"")
				} else {
					r.EncodeString(`FptrMapUint8Intf`)
				}
				z.EncWriteMapElemValue()
				if yyn78 {
					r.EncodeNil()
				} else {
					yy699 := *x.FptrMapUint8Intf
					if yy699 == nil {
						r.EncodeNil()
					} else {
						z.F.EncMapUint8IntfV(yy699, e)
					} // end block: if yy699 map == nil
				}
				z.EncWriteMapElemKey()
				if z.IsJSONHandle() {
					z.WriteStr("\"FMapUint8String\"")
				} else {
					r.EncodeString(`FMapUint8String`)
				}
				z.EncWriteMapElemValue()
				if x.FMapUint8String == nil {
					r.EncodeNil()
				} else {
					z.F.EncMapUint8StringV(x.FMapUint8String, e)
				} // end block: if x.FMapUint8String map == nil
				z.EncWriteMapElemKey()
				if z.IsJSONHandle() {
					z.WriteStr("\"FptrMapUint8String\"")
				} else {
					r.EncodeString(`FptrMapUint8String`)
				}
				z.EncWriteMapElemValue()
				if yyn80 {
					r.EncodeNil()
				} else {
					yy702 := *x.FptrMapUint8String
					if yy702 == nil {
						r.EncodeNil()
					} else {
						z.F.EncMapUint8StringV(yy702, e)
					} // end block: if yy702 map == nil
				}
				z.EncWriteMapElemKey()
				if z.IsJSONHandle() {
					z.WriteStr("\"FMapUint8Bytes\"")
				} else {
					r.EncodeString(`FMapUint8Bytes`)
				}
				z.EncWriteMapElemValue()
				if x.FMapUint8Bytes == nil {
					r.EncodeNil()
				} else {
					z.F.EncMapUint8BytesV(x.FMapUint8Bytes, e)
				} // end block: if x.FMapUint8Bytes map == nil
				z.EncWriteMapElemKey()
				if z.IsJSONHandle() {
					z.WriteStr("\"FptrMapUint8Bytes\"")
				} else {
					r.EncodeString(`FptrMapUint8Bytes`)
				}
				z.EncWriteMapElemValue()
				if yyn82 {
					r.EncodeNil()
				} else {
					yy705 := *x.FptrMapUint8Bytes
					if yy705 == nil {
						r.EncodeNil()
					} else {
						z.F.EncMapUint8BytesV(yy705, e)
					} // end block: if yy705 map == nil
				}
				z.EncWriteMapElemKey()
				if z.IsJSONHandle() {
					z.WriteStr("\"FMapUint8Uint8\"")
				} else {
					r.EncodeString(`FMapUint8Uint8`)
				}
				z.EncWriteMapElemValue()
				if x.FMapUint8Uint8 == nil {
					r.EncodeNil()
				} else {
					z.F.EncMapUint8Uint8V(x.FMapUint8Uint8, e)
				} // end block: if x.FMapUint8Uint8 map == nil
				z.EncWriteMapElemKey()
				if z.IsJSONHandle() {
					z.WriteStr("\"FptrMapUint8Uint8\"")
				} else {
					r.EncodeString(`FptrMapUint8Uint8`)
				}
				z.EncWriteMapElemValue()
				if yyn84 {
					r.EncodeNil()
				} else {
					yy708 := *x.FptrMapUint8Uint8
					if yy708 == nil {
						r.EncodeNil()
					} else {
						z.F.EncMapUint8Uint8V(yy708, e)
					} // end block: if yy708 map == nil
				}
				z.EncWriteMapElemKey()
				if z.IsJSONHandle() {
					z.WriteStr("\"FMapUint8Uint64\"")
				} else {
					r.EncodeString(`FMapUint8Uint64`)
				}
				z.EncWriteMapElemValue()
				if x.FMapUint8Uint64 == nil {
					r.EncodeNil()
				} else {
					z.F.EncMapUint8Uint64V(x.FMapUint8Uint64, e)
				} // end block: if x.FMapUint8Uint64 map == nil
				z.EncWriteMapElemKey()
				if z.IsJSONHandle() {
					z.WriteStr("\"FptrMapUint8Uint64\"")
				} else {
					r.EncodeString(`FptrMapUint8Uint64`)
				}
				z.EncWriteMapElemValue()
				if yyn86 {
					r.EncodeNil()
				} else {
					yy711 := *x.FptrMapUint8Uint64
					if yy711 == nil {
						r.EncodeNil()
					} else {
						z.F.EncMapUint8Uint64V(yy711, e)
					} // end block: if yy711 map == nil
				}
				z.EncWriteMapElemKey()
				if z.IsJSONHandle() {
					z.WriteStr("\"FMapUint8Int\"")
				} else {
					r.EncodeString(`FMapUint8Int`)
				}
				z.EncWriteMapElemValue()
				if x.FMapUint8Int == nil {
					r.EncodeNil()
				} else {
					z.F.EncMapUint8IntV(x.FMapUint8Int, e)
				} // end block: if x.FMapUint8Int map == nil
				z.EncWriteMapElemKey()
				if z.IsJSONHandle() {
					z.WriteStr("\"FptrMapUint8Int\"")
				} else {
					r.EncodeString(`FptrMapUint8Int`)
				}
				z.EncWriteMapElemValue()
				if yyn88 {
					r.EncodeNil()
				} else {
					yy714 := *x.FptrMapUint8Int
					if yy714 == nil {
						r.EncodeNil()
					} else {
						z.F.EncMapUint8IntV(yy714, e)
					} // end block: if yy714 map == nil
				}
				z.EncWriteMapElemKey()
				if z.IsJSONHandle() {
					z.WriteStr("\"FMapUint8Int32\"")
				} else {
					r.EncodeString(`FMapUint8Int32`)
				}
				z.EncWriteMapElemValue()
				if x.FMapUint8Int32 == nil {
					r.EncodeNil()
				} else {
					z.F.EncMapUint8Int32V(x.FMapUint8Int32, e)
				} // end block: if x.FMapUint8Int32 map == nil
				z.EncWriteMapElemKey()
				if z.IsJSONHandle() {
					z.WriteStr("\"FptrMapUint8Int32\"")
				} else {
					r.EncodeString(`FptrMapUint8Int32`)
				}
				z.EncWriteMapElemValue()
				if yyn90 {
					r.EncodeNil()
				} else {
					yy717 := *x.FptrMapUint8Int32
					if yy717 == nil {
						r.EncodeNil()
					} else {
						z.F.EncMapUint8Int32V(yy717, e)
					} // end block: if yy717 map == nil
				}
				z.EncWriteMapElemKey()
				if z.IsJSONHandle() {
					z.WriteStr("\"FMapUint8Float64\"")
				} else {
					r.EncodeString(`FMapUint8Float64`)
				}
				z.EncWriteMapElemValue()
				if x.FMapUint8Float64 == nil {
					r.EncodeNil()
				} else {
					z.F.EncMapUint8Float64V(x.FMapUint8Float64, e)
				} // end block: if x.FMapUint8Float64 map == nil
				z.EncWriteMapElemKey()
				if z.IsJSONHandle() {
					z.WriteStr("\"FptrMapUint8Float64\"")
				} else {
					r.EncodeString(`FptrMapUint8Float64`)
				}
				z.EncWriteMapElemValue()
				if yyn92 {
					r.EncodeNil()
				} else {
					yy720 := *x.FptrMapUint8Float64
					if yy720 == nil {
						r.EncodeNil()
					} else {
						z.F.EncMapUint8Float64V(yy720, e)
					} // end block: if yy720 map == nil
				}
				z.EncWriteMapElemKey()
				if z.IsJSONHandle() {
					z.WriteStr("\"FMapUint8Bool\"")
				} else {
					r.EncodeString(`FMapUint8Bool`)
				}
				z.EncWriteMapElemValue()
				if x.FMapUint8Bool == nil {
					r.EncodeNil()
				} else {
					z.F.EncMapUint8BoolV(x.FMapUint8Bool, e)
				} // end block: if x.FMapUint8Bool map == nil
				z.EncWriteMapElemKey()
				if z.IsJSONHandle() {
					z.WriteStr("\"FptrMapUint8Bool\"")
				} else {
					r.EncodeString(`FptrMapUint8Bool`)
				}
				z.EncWriteMapElemValue()
				if yyn94 {
					r.EncodeNil()
				} else {
					yy723 := *x.FptrMapUint8Bool
					if yy723 == nil {
						r.EncodeNil()
					} else {
						z.F.EncMapUint8BoolV(yy723, e)
					} // end block: if yy723 map == nil
				}
				z.EncWriteMapElemKey()
				if z.IsJSONHandle() {
					z.WriteStr("\"FMapUint64Intf\"")
				} else {
					r.EncodeString(`FMapUint64Intf`)
				}
				z.EncWriteMapElemValue()
				if x.FMapUint64Intf == nil {
					r.EncodeNil()
				} else {
					z.F.EncMapUint64IntfV(x.FMapUint64Intf, e)
				} // end block: if x.FMapUint64Intf map == nil
				z.EncWriteMapElemKey()
				if z.IsJSONHandle() {
					z.WriteStr("\"FptrMapUint64Intf\"")
				} else {
					r.EncodeString(`FptrMapUint64Intf`)
				}
				z.EncWriteMapElemValue()
				if yyn96 {
					r.EncodeNil()
				} else {
					yy726 := *x.FptrMapUint64Intf
					if yy726 == nil {
						r.EncodeNil()
					} else {
						z.F.EncMapUint64IntfV(yy726, e)
					} // end block: if yy726 map == nil
				}
				z.EncWriteMapElemKey()
				if z.IsJSONHandle() {
					z.WriteStr("\"FMapUint64String\"")
				} else {
					r.EncodeString(`FMapUint64String`)
				}
				z.EncWriteMapElemValue()
				if x.FMapUint64String == nil {
					r.EncodeNil()
				} else {
					z.F.EncMapUint64StringV(x.FMapUint64String, e)
				} // end block: if x.FMapUint64String map == nil
				z.EncWriteMapElemKey()
				if z.IsJSONHandle() {
					z.WriteStr("\"FptrMapUint64String\"")
				} else {
					r.EncodeString(`FptrMapUint64String`)
				}
				z.EncWriteMapElemValue()
				if yyn98 {
					r.EncodeNil()
				} else {
					yy729 := *x.FptrMapUint64String
					if yy729 == nil {
						r.EncodeNil()
					} else {
						z.F.EncMapUint64StringV(yy729, e)
					} // end block: if yy729 map == nil
				}
				z.EncWriteMapElemKey()
				if z.IsJSONHandle() {
					z.WriteStr("\"FMapUint64Bytes\"")
				} else {
					r.EncodeString(`FMapUint64Bytes`)
				}
				z.EncWriteMapElemValue()
				if x.FMapUint64Bytes == nil {
					r.EncodeNil()
				} else {
					z.F.EncMapUint64BytesV(x.FMapUint64Bytes, e)
				} // end block: if x.FMapUint64Bytes map == nil
				z.EncWriteMapElemKey()
				if z.IsJSONHandle() {
					z.WriteStr("\"FptrMapUint64Bytes\"")
				} else {
					r.EncodeString(`FptrMapUint64Bytes`)
				}
				z.EncWriteMapElemValue()
				if yyn100 {
					r.EncodeNil()
				} else {
					yy732 := *x.FptrMapUint64Bytes
					if yy732 == nil {
						r.EncodeNil()
					} else {
						z.F.EncMapUint64BytesV(yy732, e)
					} // end block: if yy732 map == nil
				}
				z.EncWriteMapElemKey()
				if z.IsJSONHandle() {
					z.WriteStr("\"FMapUint64Uint8\"")
				} else {
					r.EncodeString(`FMapUint64Uint8`)
				}
				z.EncWriteMapElemValue()
				if x.FMapUint64Uint8 == nil {
					r.EncodeNil()
				} else {
					z.F.EncMapUint64Uint8V(x.FMapUint64Uint8, e)
				} // end block: if x.FMapUint64Uint8 map == nil
				z.EncWriteMapElemKey()
				if z.IsJSONHandle() {
					z.WriteStr("\"FptrMapUint64Uint8\"")
				} else {
					r.EncodeString(`FptrMapUint64Uint8`)
				}
				z.EncWriteMapElemValue()
				if yyn102 {
					r.EncodeNil()
				} else {
					yy735 := *x.FptrMapUint64Uint8
					if yy735 == nil {
						r.EncodeNil()
					} else {
						z.F.EncMapUint64Uint8V(yy735, e)
					} // end block: if yy735 map == nil
				}
				z.EncWriteMapElemKey()
				if z.IsJSONHandle() {
					z.WriteStr("\"FMapUint64Uint64\"")
				} else {
					r.EncodeString(`FMapUint64Uint64`)
				}
				z.EncWriteMapElemValue()
				if x.FMapUint64Uint64 == nil {
					r.EncodeNil()
				} else {
					z.F.EncMapUint64Uint64V(x.FMapUint64Uint64, e)
				} // end block: if x.FMapUint64Uint64 map == nil
				z.EncWriteMapElemKey()
				if z.IsJSONHandle() {
					z.WriteStr("\"FptrMapUint64Uint64\"")
				} else {
					r.EncodeString(`FptrMapUint64Uint64`)
				}
				z.EncWriteMapElemValue()
				if yyn104 {
					r.EncodeNil()
				} else {
					yy738 := *x.FptrMapUint64Uint64
					if yy738 == nil {
						r.EncodeNil()
					} else {
						z.F.EncMapUint64Uint64V(yy738, e)
					} // end block: if yy738 map == nil
				}
				z.EncWriteMapElemKey()
				if z.IsJSONHandle() {
					z.WriteStr("\"FMapUint64Int\"")
				} else {
					r.EncodeString(`FMapUint64Int`)
				}
				z.EncWriteMapElemValue()
				if x.FMapUint64Int == nil {
					r.EncodeNil()
				} else {
					z.F.EncMapUint64IntV(x.FMapUint64Int, e)
				} // end block: if x.FMapUint64Int map == nil
				z.EncWriteMapElemKey()
				if z.IsJSONHandle() {
					z.WriteStr("\"FptrMapUint64Int\"")
				} else {
					r.EncodeString(`FptrMapUint64Int`)
				}
				z.EncWriteMapElemValue()
				if yyn106 {
					r.EncodeNil()
				} else {
					yy741 := *x.FptrMapUint64Int
					if yy741 == nil {
						r.EncodeNil()
					} else {
						z.F.EncMapUint64IntV(yy741, e)
					} // end block: if yy741 map == nil
				}
				z.EncWriteMapElemKey()
				if z.IsJSONHandle() {
					z.WriteStr("\"FMapUint64Int32\"")
				} else {
					r.EncodeString(`FMapUint64Int32`)
				}
				z.EncWriteMapElemValue()
				if x.FMapUint64Int32 == nil {
					r.EncodeNil()
				} else {
					z.F.EncMapUint64Int32V(x.FMapUint64Int32, e)
				} // end block: if x.FMapUint64Int32 map == nil
				z.EncWriteMapElemKey()
				if z.IsJSONHandle() {
					z.WriteStr("\"FptrMapUint64Int32\"")
				} else {
					r.EncodeString(`FptrMapUint64Int32`)
				}
				z.EncWriteMapElemValue()
				if yyn108 {
					r.EncodeNil()
				} else {
					yy744 := *x.FptrMapUint64Int32
					if yy744 == nil {
						r.EncodeNil()
					} else {
						z.F.EncMapUint64Int32V(yy744, e)
					} // end block: if yy744 map == nil
				}
				z.EncWriteMapElemKey()
				if z.IsJSONHandle() {
					z.WriteStr("\"FMapUint64Float64\"")
				} else {
					r.EncodeString(`FMapUint64Float64`)
				}
				z.EncWriteMapElemValue()
				if x.FMapUint64Float64 == nil {
					r.EncodeNil()
				} else {
					z.F.EncMapUint64Float64V(x.FMapUint64Float64, e)
				} // end block: if x.FMapUint64Float64 map == nil
				z.EncWriteMapElemKey()
				if z.IsJSONHandle() {
					z.WriteStr("\"FptrMapUint64Float64\"")
				} else {
					r.EncodeString(`FptrMapUint64Float64`)
				}
				z.EncWriteMapElemValue()
				if yyn110 {
					r.EncodeNil()
				} else {
					yy747 := *x.FptrMapUint64Float64
					if yy747 == nil {
						r.EncodeNil()
					} else {
						z.F.EncMapUint64Float64V(yy747, e)
					} // end block: if yy747 map == nil
				}
				z.EncWriteMapElemKey()
				if z.IsJSONHandle() {
					z.WriteStr("\"FMapUint64Bool\"")
				} else {
					r.EncodeString(`FMapUint64Bool`)
				}
				z.EncWriteMapElemValue()
				if x.FMapUint64Bool == nil {
					r.EncodeNil()
				} else {
					z.F.EncMapUint64BoolV(x.FMapUint64Bool, e)
				} // end block: if x.FMapUint64Bool map == nil
				z.EncWriteMapElemKey()
				if z.IsJSONHandle() {
					z.WriteStr("\"FptrMapUint64Bool\"")
				} else {
					r.EncodeString(`FptrMapUint64Bool`)
				}
				z.EncWriteMapElemValue()
				if yyn112 {
					r.EncodeNil()
				} else {
					yy750 := *x.FptrMapUint64Bool
					if yy750 == nil {
						r.EncodeNil()
					} else {
						z.F.EncMapUint64BoolV(yy750, e)
					} // end block: if yy750 map == nil
				}
				z.EncWriteMapElemKey()
				if z.IsJSONHandle() {
					z.WriteStr("\"FMapIntIntf\"")
				} else {
					r.EncodeString(`FMapIntIntf`)
				}
				z.EncWriteMapElemValue()
				if x.FMapIntIntf == nil {
					r.EncodeNil()
				} else {
					z.F.EncMapIntIntfV(x.FMapIntIntf, e)
				} // end block: if x.FMapIntIntf map == nil
				z.EncWriteMapElemKey()
				if z.IsJSONHandle() {
					z.WriteStr("\"FptrMapIntIntf\"")
				} else {
					r.EncodeString(`FptrMapIntIntf`)
				}
				z.EncWriteMapElemValue()
				if yyn114 {
					r.EncodeNil()
				} else {
					yy753 := *x.FptrMapIntIntf
					if yy753 == nil {
						r.EncodeNil()
					} else {
						z.F.EncMapIntIntfV(yy753, e)
					} // end block: if yy753 map == nil
				}
				z.EncWriteMapElemKey()
				if z.IsJSONHandle() {
					z.WriteStr("\"FMapIntString\"")
				} else {
					r.EncodeString(`FMapIntString`)
				}
				z.EncWriteMapElemValue()
				if x.FMapIntString == nil {
					r.EncodeNil()
				} else {
					z.F.EncMapIntStringV(x.FMapIntString, e)
				} // end block: if x.FMapIntString map == nil
				z.EncWriteMapElemKey()
				if z.IsJSONHandle() {
					z.WriteStr("\"FptrMapIntString\"")
				} else {
					r.EncodeString(`FptrMapIntString`)
				}
				z.EncWriteMapElemValue()
				if yyn116 {
					r.EncodeNil()
				} else {
					yy756 := *x.FptrMapIntString
					if yy756 == nil {
						r.EncodeNil()
					} else {
						z.F.EncMapIntStringV(yy756, e)
					} // end block: if yy756 map == nil
				}
				z.EncWriteMapElemKey()
				if z.IsJSONHandle() {
					z.WriteStr("\"FMapIntBytes\"")
				} else {
					r.EncodeString(`FMapIntBytes`)
				}
				z.EncWriteMapElemValue()
				if x.FMapIntBytes == nil {
					r.EncodeNil()
				} else {
					z.F.EncMapIntBytesV(x.FMapIntBytes, e)
				} // end block: if x.FMapIntBytes map == nil
				z.EncWriteMapElemKey()
				if z.IsJSONHandle() {
					z.WriteStr("\"FptrMapIntBytes\"")
				} else {
					r.EncodeString(`FptrMapIntBytes`)
				}
				z.EncWriteMapElemValue()
				if yyn118 {
					r.EncodeNil()
				} else {
					yy759 := *x.FptrMapIntBytes
					if yy759 == nil {
						r.EncodeNil()
					} else {
						z.F.EncMapIntBytesV(yy759, e)
					} // end block: if yy759 map == nil
				}
				z.EncWriteMapElemKey()
				if z.IsJSONHandle() {
					z.WriteStr("\"FMapIntUint8\"")
				} else {
					r.EncodeString(`FMapIntUint8`)
				}
				z.EncWriteMapElemValue()
				if x.FMapIntUint8 == nil {
					r.EncodeNil()
				} else {
					z.F.EncMapIntUint8V(x.FMapIntUint8, e)
				} // end block: if x.FMapIntUint8 map == nil
				z.EncWriteMapElemKey()
				if z.IsJSONHandle() {
					z.WriteStr("\"FptrMapIntUint8\"")
				} else {
					r.EncodeString(`FptrMapIntUint8`)
				}
				z.EncWriteMapElemValue()
				if yyn120 {
					r.EncodeNil()
				} else {
					yy762 := *x.FptrMapIntUint8
					if yy762 == nil {
						r.EncodeNil()
					} else {
						z.F.EncMapIntUint8V(yy762, e)
					} // end block: if yy762 map == nil
				}
				z.EncWriteMapElemKey()
				if z.IsJSONHandle() {
					z.WriteStr("\"FMapIntUint64\"")
				} else {
					r.EncodeString(`FMapIntUint64`)
				}
				z.EncWriteMapElemValue()
				if x.FMapIntUint64 == nil {
					r.EncodeNil()
				} else {
					z.F.EncMapIntUint64V(x.FMapIntUint64, e)
				} // end block: if x.FMapIntUint64 map == nil
				z.EncWriteMapElemKey()
				if z.IsJSONHandle() {
					z.WriteStr("\"FptrMapIntUint64\"")
				} else {
					r.EncodeString(`FptrMapIntUint64`)
				}
				z.EncWriteMapElemValue()
				if yyn122 {
					r.EncodeNil()
				} else {
					yy765 := *x.FptrMapIntUint64
					if yy765 == nil {
						r.EncodeNil()
					} else {
						z.F.EncMapIntUint64V(yy765, e)
					} // end block: if yy765 map == nil
				}
				z.EncWriteMapElemKey()
				if z.IsJSONHandle() {
					z.WriteStr("\"FMapIntInt\"")
				} else {
					r.EncodeString(`FMapIntInt`)
				}
				z.EncWriteMapElemValue()
				if x.FMapIntInt == nil {
					r.EncodeNil()
				} else {
					z.F.EncMapIntIntV(x.FMapIntInt, e)
				} // end block: if x.FMapIntInt map == nil
				z.EncWriteMapElemKey()
				if z.IsJSONHandle() {
					z.WriteStr("\"FptrMapIntInt\"")
				} else {
					r.EncodeString(`FptrMapIntInt`)
				}
				z.EncWriteMapElemValue()
				if yyn124 {
					r.EncodeNil()
				} else {
					yy768 := *x.FptrMapIntInt
					if yy768 == nil {
						r.EncodeNil()
					} else {
						z.F.EncMapIntIntV(yy768, e)
					} // end block: if yy768 map == nil
				}
				z.EncWriteMapElemKey()
				if z.IsJSONHandle() {
					z.WriteStr("\"FMapIntInt32\"")
				} else {
					r.EncodeString(`FMapIntInt32`)
				}
				z.EncWriteMapElemValue()
				if x.FMapIntInt32 == nil {
					r.EncodeNil()
				} else {
					z.F.EncMapIntInt32V(x.FMapIntInt32, e)
				} // end block: if x.FMapIntInt32 map == nil
				z.EncWriteMapElemKey()
				if z.IsJSONHandle() {
					z.WriteStr("\"FptrMapIntInt32\"")
				} else {
					r.EncodeString(`FptrMapIntInt32`)
				}
				z.EncWriteMapElemValue()
				if yyn126 {
					r.EncodeNil()
				} else {
					yy771 := *x.FptrMapIntInt32
					if yy771 == nil {
						r.EncodeNil()
					} else {
						z.F.EncMapIntInt32V(yy771, e)
					} // end block: if yy771 map == nil
				}
				z.EncWriteMapElemKey()
				if z.IsJSONHandle() {
					z.WriteStr("\"FMapIntFloat64\"")
				} else {
					r.EncodeString(`FMapIntFloat64`)
				}
				z.EncWriteMapElemValue()
				if x.FMapIntFloat64 == nil {
					r.EncodeNil()
				} else {
					z.F.EncMapIntFloat64V(x.FMapIntFloat64, e)
				} // end block: if x.FMapIntFloat64 map == nil
				z.EncWriteMapElemKey()
				if z.IsJSONHandle() {
					z.WriteStr("\"FptrMapIntFloat64\"")
				} else {
					r.EncodeString(`FptrMapIntFloat64`)
				}
				z.EncWriteMapElemValue()
				if yyn128 {
					r.EncodeNil()
				} else {
					yy774 := *x.FptrMapIntFloat64
					if yy774 == nil {
						r.EncodeNil()
					} else {
						z.F.EncMapIntFloat64V(yy774, e)
					} // end block: if yy774 map == nil
				}
				z.EncWriteMapElemKey()
				if z.IsJSONHandle() {
					z.WriteStr("\"FMapIntBool\"")
				} else {
					r.EncodeString(`FMapIntBool`)
				}
				z.EncWriteMapElemValue()
				if x.FMapIntBool == nil {
					r.EncodeNil()
				} else {
					z.F.EncMapIntBoolV(x.FMapIntBool, e)
				} // end block: if x.FMapIntBool map == nil
				z.EncWriteMapElemKey()
				if z.IsJSONHandle() {
					z.WriteStr("\"FptrMapIntBool\"")
				} else {
					r.EncodeString(`FptrMapIntBool`)
				}
				z.EncWriteMapElemValue()
				if yyn130 {
					r.EncodeNil()
				} else {
					yy777 := *x.FptrMapIntBool
					if yy777 == nil {
						r.EncodeNil()
					} else {
						z.F.EncMapIntBoolV(yy777, e)
					} // end block: if yy777 map == nil
				}
				z.EncWriteMapElemKey()
				if z.IsJSONHandle() {
					z.WriteStr("\"FMapInt32Intf\"")
				} else {
					r.EncodeString(`FMapInt32Intf`)
				}
				z.EncWriteMapElemValue()
				if x.FMapInt32Intf == nil {
					r.EncodeNil()
				} else {
					z.F.EncMapInt32IntfV(x.FMapInt32Intf, e)
				} // end block: if x.FMapInt32Intf map == nil
				z.EncWriteMapElemKey()
				if z.IsJSONHandle() {
					z.WriteStr("\"FptrMapInt32Intf\"")
				} else {
					r.EncodeString(`FptrMapInt32Intf`)
				}
				z.EncWriteMapElemValue()
				if yyn132 {
					r.EncodeNil()
				} else {
					yy780 := *x.FptrMapInt32Intf
					if yy780 == nil {
						r.EncodeNil()
					} else {
						z.F.EncMapInt32IntfV(yy780, e)
					} // end block: if yy780 map == nil
				}
				z.EncWriteMapElemKey()
				if z.IsJSONHandle() {
					z.WriteStr("\"FMapInt32String\"")
				} else {
					r.EncodeString(`FMapInt32String`)
				}
				z.EncWriteMapElemValue()
				if x.FMapInt32String == nil {
					r.EncodeNil()
				} else {
					z.F.EncMapInt32StringV(x.FMapInt32String, e)
				} // end block: if x.FMapInt32String map == nil
				z.EncWriteMapElemKey()
				if z.IsJSONHandle() {
					z.WriteStr("\"FptrMapInt32String\"")
				} else {
					r.EncodeString(`FptrMapInt32String`)
				}
				z.EncWriteMapElemValue()
				if yyn134 {
					r.EncodeNil()
				} else {
					yy783 := *x.FptrMapInt32String
					if yy783 == nil {
						r.EncodeNil()
					} else {
						z.F.EncMapInt32StringV(yy783, e)
					} // end block: if yy783 map == nil
				}
				z.EncWriteMapElemKey()
				if z.IsJSONHandle() {
					z.WriteStr("\"FMapInt32Bytes\"")
				} else {
					r.EncodeString(`FMapInt32Bytes`)
				}
				z.EncWriteMapElemValue()
				if x.FMapInt32Bytes == nil {
					r.EncodeNil()
				} else {
					z.F.EncMapInt32BytesV(x.FMapInt32Bytes, e)
				} // end block: if x.FMapInt32Bytes map == nil
				z.EncWriteMapElemKey()
				if z.IsJSONHandle() {
					z.WriteStr("\"FptrMapInt32Bytes\"")
				} else {
					r.EncodeString(`FptrMapInt32Bytes`)
				}
				z.EncWriteMapElemValue()
				if yyn136 {
					r.EncodeNil()
				} else {
					yy786 := *x.FptrMapInt32Bytes
					if yy786 == nil {
						r.EncodeNil()
					} else {
						z.F.EncMapInt32BytesV(yy786, e)
					} // end block: if yy786 map == nil
				}
				z.EncWriteMapElemKey()
				if z.IsJSONHandle() {
					z.WriteStr("\"FMapInt32Uint8\"")
				} else {
					r.EncodeString(`FMapInt32Uint8`)
				}
				z.EncWriteMapElemValue()
				if x.FMapInt32Uint8 == nil {
					r.EncodeNil()
				} else {
					z.F.EncMapInt32Uint8V(x.FMapInt32Uint8, e)
				} // end block: if x.FMapInt32Uint8 map == nil
				z.EncWriteMapElemKey()
				if z.IsJSONHandle() {
					z.WriteStr("\"FptrMapInt32Uint8\"")
				} else {
					r.EncodeString(`FptrMapInt32Uint8`)
				}
				z.EncWriteMapElemValue()
				if yyn138 {
					r.EncodeNil()
				} else {
					yy789 := *x.FptrMapInt32Uint8
					if yy789 == nil {
						r.EncodeNil()
					} else {
						z.F.EncMapInt32Uint8V(yy789, e)
					} // end block: if yy789 map == nil
				}
				z.EncWriteMapElemKey()
				if z.IsJSONHandle() {
					z.WriteStr("\"FMapInt32Uint64\"")
				} else {
					r.EncodeString(`FMapInt32Uint64`)
				}
				z.EncWriteMapElemValue()
				if x.FMapInt32Uint64 == nil {
					r.EncodeNil()
				} else {
					z.F.EncMapInt32Uint64V(x.FMapInt32Uint64, e)
				} // end block: if x.FMapInt32Uint64 map == nil
				z.EncWriteMapElemKey()
				if z.IsJSONHandle() {
					z.WriteStr("\"FptrMapInt32Uint64\"")
				} else {
					r.EncodeString(`FptrMapInt32Uint64`)
				}
				z.EncWriteMapElemValue()
				if yyn140 {
					r.EncodeNil()
				} else {
					yy792 := *x.FptrMapInt32Uint64
					if yy792 == nil {
						r.EncodeNil()
					} else {
						z.F.EncMapInt32Uint64V(yy792, e)
					} // end block: if yy792 map == nil
				}
				z.EncWriteMapElemKey()
				if z.IsJSONHandle() {
					z.WriteStr("\"FMapInt32Int\"")
				} else {
					r.EncodeString(`FMapInt32Int`)
				}
				z.EncWriteMapElemValue()
				if x.FMapInt32Int == nil {
					r.EncodeNil()
				} else {
					z.F.EncMapInt32IntV(x.FMapInt32Int, e)
				} // end block: if x.FMapInt32Int map == nil
				z.EncWriteMapElemKey()
				if z.IsJSONHandle() {
					z.WriteStr("\"FptrMapInt32Int\"")
				} else {
					r.EncodeString(`FptrMapInt32Int`)
				}
				z.EncWriteMapElemValue()
				if yyn142 {
					r.EncodeNil()
				} else {
					yy795 := *x.FptrMapInt32Int
					if yy795 == nil {
						r.EncodeNil()
					} else {
						z.F.EncMapInt32IntV(yy795, e)
					} // end block: if yy795 map == nil
				}
				z.EncWriteMapElemKey()
				if z.IsJSONHandle() {
					z.WriteStr("\"FMapInt32Int32\"")
				} else {
					r.EncodeString(`FMapInt32Int32`)
				}
				z.EncWriteMapElemValue()
				if x.FMapInt32Int32 == nil {
					r.EncodeNil()
				} else {
					z.F.EncMapInt32Int32V(x.FMapInt32Int32, e)
				} // end block: if x.FMapInt32Int32 map == nil
				z.EncWriteMapElemKey()
				if z.IsJSONHandle() {
					z.WriteStr("\"FptrMapInt32Int32\"")
				} else {
					r.EncodeString(`FptrMapInt32Int32`)
				}
				z.EncWriteMapElemValue()
				if yyn144 {
					r.EncodeNil()
				} else {
					yy798 := *x.FptrMapInt32Int32
					if yy798 == nil {
						r.EncodeNil()
					} else {
						z.F.EncMapInt32Int32V(yy798, e)
					} // end block: if yy798 map == nil
				}
				z.EncWriteMapElemKey()
				if z.IsJSONHandle() {
					z.WriteStr("\"FMapInt32Float64\"")
				} else {
					r.EncodeString(`FMapInt32Float64`)
				}
				z.EncWriteMapElemValue()
				if x.FMapInt32Float64 == nil {
					r.EncodeNil()
				} else {
					z.F.EncMapInt32Float64V(x.FMapInt32Float64, e)
				} // end block: if x.FMapInt32Float64 map == nil
				z.EncWriteMapElemKey()
				if z.IsJSONHandle() {
					z.WriteStr("\"FptrMapInt32Float64\"")
				} else {
					r.EncodeString(`FptrMapInt32Float64`)
				}
				z.EncWriteMapElemValue()
				if yyn146 {
					r.EncodeNil()
				} else {
					yy801 := *x.FptrMapInt32Float64
					if yy801 == nil {
						r.EncodeNil()
					} else {
						z.F.EncMapInt32Float64V(yy801, e)
					} // end block: if yy801 map == nil
				}
				z.EncWriteMapElemKey()
				if z.IsJSONHandle() {
					z.WriteStr("\"FMapInt32Bool\"")
				} else {
					r.EncodeString(`FMapInt32Bool`)
				}
				z.EncWriteMapElemValue()
				if x.FMapInt32Bool == nil {
					r.EncodeNil()
				} else {
					z.F.EncMapInt32BoolV(x.FMapInt32Bool, e)
				} // end block: if x.FMapInt32Bool map == nil
				z.EncWriteMapElemKey()
				if z.IsJSONHandle() {
					z.WriteStr("\"FptrMapInt32Bool\"")
				} else {
					r.EncodeString(`FptrMapInt32Bool`)
				}
				z.EncWriteMapElemValue()
				if yyn148 {
					r.EncodeNil()
				} else {
					yy804 := *x.FptrMapInt32Bool
					if yy804 == nil {
						r.EncodeNil()
					} else {
						z.F.EncMapInt32BoolV(yy804, e)
					} // end block: if yy804 map == nil
				}
			}
			z.EncWriteMapEnd()
		}
	}
}

func (x *TestMammoth2) CodecDecodeSelf(d *Decoder) {
	var h codecSelfer19781
	z, r := GenHelper().Decoder(d)
	_, _, _ = h, z, r
	yyct2 := r.ContainerType()
	if yyct2 == codecSelferValueTypeNil19781 {
		*(x) = TestMammoth2{}
	} else if yyct2 == codecSelferValueTypeMap19781 {
		yyl2 := z.DecReadMapStart()
		if yyl2 == 0 {
		} else {
			x.codecDecodeSelfFromMap(yyl2, d)
		}
		z.DecReadMapEnd()
	} else if yyct2 == codecSelferValueTypeArray19781 {
		yyl2 := z.DecReadArrayStart()
		if yyl2 != 0 {
			x.codecDecodeSelfFromArray(yyl2, d)
		}
		z.DecReadArrayEnd()
	} else {
		panic(errCodecSelferOnlyMapOrArrayEncodeToStruct19781)
	}
}

func (x *TestMammoth2) codecDecodeSelfFromMap(l int, d *Decoder) {
	var h codecSelfer19781
	z, r := GenHelper().Decoder(d)
	_, _, _ = h, z, r
	var yyhl3 bool = l >= 0
	for yyj3 := 0; ; yyj3++ {
		if yyhl3 {
			if yyj3 >= l {
				break
			}
		} else {
			if z.DecCheckBreak() {
				break
			}
		}
		z.DecReadMapElemKey()
		yys3 := r.DecodeStringAsBytes()
		z.DecReadMapElemValue()
		switch string(yys3) {
		case "FIntf":
			z.DecFallback(&x.FIntf, true)
		case "FptrIntf":
			if r.TryNil() {
				if x.FptrIntf != nil { // remove the if-true
					x.FptrIntf = nil
				}
			} else {
				if x.FptrIntf == nil {
					x.FptrIntf = new(interface{})
				}
				z.DecFallback(x.FptrIntf, true)
			}
		case "FString":
			x.FString = (string)(z.DecStringZC(r.DecodeStringAsBytes()))
		case "FptrString":
			if r.TryNil() {
				if x.FptrString != nil { // remove the if-true
					x.FptrString = nil
				}
			} else {
				if x.FptrString == nil {
					x.FptrString = new(string)
				}
				*x.FptrString = (string)(z.DecStringZC(r.DecodeStringAsBytes()))
			}
		case "FBytes":
			x.FBytes = z.DecodeBytesInto(([]byte)(x.FBytes))
		case "FptrBytes":
			if r.TryNil() {
				if x.FptrBytes != nil { // remove the if-true
					x.FptrBytes = nil
				}
			} else {
				if x.FptrBytes == nil {
					x.FptrBytes = new([]uint8)
				}
				*x.FptrBytes = z.DecodeBytesInto(*(*[]byte)(x.FptrBytes))
			}
		case "FFloat32":
			x.FFloat32 = (float32)(z.DecDecodeFloat32())
		case "FptrFloat32":
			if r.TryNil() {
				if x.FptrFloat32 != nil { // remove the if-true
					x.FptrFloat32 = nil
				}
			} else {
				if x.FptrFloat32 == nil {
					x.FptrFloat32 = new(float32)
				}
				*x.FptrFloat32 = (float32)(z.DecDecodeFloat32())
			}
		case "FFloat64":
			x.FFloat64 = (float64)(r.DecodeFloat64())
		case "FptrFloat64":
			if r.TryNil() {
				if x.FptrFloat64 != nil { // remove the if-true
					x.FptrFloat64 = nil
				}
			} else {
				if x.FptrFloat64 == nil {
					x.FptrFloat64 = new(float64)
				}
				*x.FptrFloat64 = (float64)(r.DecodeFloat64())
			}
		case "FUint":
			x.FUint = (uint)(z.C.UintV(r.DecodeUint64(), codecSelferBitsize19781))
		case "FptrUint":
			if r.TryNil() {
				if x.FptrUint != nil { // remove the if-true
					x.FptrUint = nil
				}
			} else {
				if x.FptrUint == nil {
					x.FptrUint = new(uint)
				}
				*x.FptrUint = (uint)(z.C.UintV(r.DecodeUint64(), codecSelferBitsize19781))
			}
		case "FUint8":
			x.FUint8 = (uint8)(z.C.UintV(r.DecodeUint64(), 8))
		case "FptrUint8":
			if r.TryNil() {
				if x.FptrUint8 != nil { // remove the if-true
					x.FptrUint8 = nil
				}
			} else {
				if x.FptrUint8 == nil {
					x.FptrUint8 = new(uint8)
				}
				*x.FptrUint8 = (uint8)(z.C.UintV(r.DecodeUint64(), 8))
			}
		case "FUint16":
			x.FUint16 = (uint16)(z.C.UintV(r.DecodeUint64(), 16))
		case "FptrUint16":
			if r.TryNil() {
				if x.FptrUint16 != nil { // remove the if-true
					x.FptrUint16 = nil
				}
			} else {
				if x.FptrUint16 == nil {
					x.FptrUint16 = new(uint16)
				}
				*x.FptrUint16 = (uint16)(z.C.UintV(r.DecodeUint64(), 16))
			}
		case "FUint32":
			x.FUint32 = (uint32)(z.C.UintV(r.DecodeUint64(), 32))
		case "FptrUint32":
			if r.TryNil() {
				if x.FptrUint32 != nil { // remove the if-true
					x.FptrUint32 = nil
				}
			} else {
				if x.FptrUint32 == nil {
					x.FptrUint32 = new(uint32)
				}
				*x.FptrUint32 = (uint32)(z.C.UintV(r.DecodeUint64(), 32))
			}
		case "FUint64":
			x.FUint64 = (uint64)(r.DecodeUint64())
		case "FptrUint64":
			if r.TryNil() {
				if x.FptrUint64 != nil { // remove the if-true
					x.FptrUint64 = nil
				}
			} else {
				if x.FptrUint64 == nil {
					x.FptrUint64 = new(uint64)
				}
				*x.FptrUint64 = (uint64)(r.DecodeUint64())
			}
		case "FUintptr":
			x.FUintptr = (uintptr)(z.C.UintV(r.DecodeUint64(), codecSelferBitsize19781))
		case "FptrUintptr":
			if r.TryNil() {
				if x.FptrUintptr != nil { // remove the if-true
					x.FptrUintptr = nil
				}
			} else {
				if x.FptrUintptr == nil {
					x.FptrUintptr = new(uintptr)
				}
				*x.FptrUintptr = (uintptr)(z.C.UintV(r.DecodeUint64(), codecSelferBitsize19781))
			}
		case "FInt":
			x.FInt = (int)(z.C.IntV(r.DecodeInt64(), codecSelferBitsize19781))
		case "FptrInt":
			if r.TryNil() {
				if x.FptrInt != nil { // remove the if-true
					x.FptrInt = nil
				}
			} else {
				if x.FptrInt == nil {
					x.FptrInt = new(int)
				}
				*x.FptrInt = (int)(z.C.IntV(r.DecodeInt64(), codecSelferBitsize19781))
			}
		case "FInt8":
			x.FInt8 = (int8)(z.C.IntV(r.DecodeInt64(), 8))
		case "FptrInt8":
			if r.TryNil() {
				if x.FptrInt8 != nil { // remove the if-true
					x.FptrInt8 = nil
				}
			} else {
				if x.FptrInt8 == nil {
					x.FptrInt8 = new(int8)
				}
				*x.FptrInt8 = (int8)(z.C.IntV(r.DecodeInt64(), 8))
			}
		case "FInt16":
			x.FInt16 = (int16)(z.C.IntV(r.DecodeInt64(), 16))
		case "FptrInt16":
			if r.TryNil() {
				if x.FptrInt16 != nil { // remove the if-true
					x.FptrInt16 = nil
				}
			} else {
				if x.FptrInt16 == nil {
					x.FptrInt16 = new(int16)
				}
				*x.FptrInt16 = (int16)(z.C.IntV(r.DecodeInt64(), 16))
			}
		case "FInt32":
			x.FInt32 = (int32)(z.C.IntV(r.DecodeInt64(), 32))
		case "FptrInt32":
			if r.TryNil() {
				if x.FptrInt32 != nil { // remove the if-true
					x.FptrInt32 = nil
				}
			} else {
				if x.FptrInt32 == nil {
					x.FptrInt32 = new(int32)
				}
				*x.FptrInt32 = (int32)(z.C.IntV(r.DecodeInt64(), 32))
			}
		case "FInt64":
			x.FInt64 = (int64)(r.DecodeInt64())
		case "FptrInt64":
			if r.TryNil() {
				if x.FptrInt64 != nil { // remove the if-true
					x.FptrInt64 = nil
				}
			} else {
				if x.FptrInt64 == nil {
					x.FptrInt64 = new(int64)
				}
				*x.FptrInt64 = (int64)(r.DecodeInt64())
			}
		case "FBool":
			x.FBool = (bool)(r.DecodeBool())
		case "FptrBool":
			if r.TryNil() {
				if x.FptrBool != nil { // remove the if-true
					x.FptrBool = nil
				}
			} else {
				if x.FptrBool == nil {
					x.FptrBool = new(bool)
				}
				*x.FptrBool = (bool)(r.DecodeBool())
			}
		case "FSliceIntf":
			z.F.DecSliceIntfX(&x.FSliceIntf, d)
		case "FptrSliceIntf":
			if r.TryNil() {
				if x.FptrSliceIntf != nil { // remove the if-true
					x.FptrSliceIntf = nil
				}
			} else {
				if x.FptrSliceIntf == nil {
					x.FptrSliceIntf = new([]interface{})
				}
				z.F.DecSliceIntfX(x.FptrSliceIntf, d)
			}
		case "FSliceString":
			z.F.DecSliceStringX(&x.FSliceString, d)
		case "FptrSliceString":
			if r.TryNil() {
				if x.FptrSliceString != nil { // remove the if-true
					x.FptrSliceString = nil
				}
			} else {
				if x.FptrSliceString == nil {
					x.FptrSliceString = new([]string)
				}
				z.F.DecSliceStringX(x.FptrSliceString, d)
			}
		case "FSliceBytes":
			z.F.DecSliceBytesX(&x.FSliceBytes, d)
		case "FptrSliceBytes":
			if r.TryNil() {
				if x.FptrSliceBytes != nil { // remove the if-true
					x.FptrSliceBytes = nil
				}
			} else {
				if x.FptrSliceBytes == nil {
					x.FptrSliceBytes = new([][]uint8)
				}
				z.F.DecSliceBytesX(x.FptrSliceBytes, d)
			}
		case "FSliceFloat32":
			z.F.DecSliceFloat32X(&x.FSliceFloat32, d)
		case "FptrSliceFloat32":
			if r.TryNil() {
				if x.FptrSliceFloat32 != nil { // remove the if-true
					x.FptrSliceFloat32 = nil
				}
			} else {
				if x.FptrSliceFloat32 == nil {
					x.FptrSliceFloat32 = new([]float32)
				}
				z.F.DecSliceFloat32X(x.FptrSliceFloat32, d)
			}
		case "FSliceFloat64":
			z.F.DecSliceFloat64X(&x.FSliceFloat64, d)
		case "FptrSliceFloat64":
			if r.TryNil() {
				if x.FptrSliceFloat64 != nil { // remove the if-true
					x.FptrSliceFloat64 = nil
				}
			} else {
				if x.FptrSliceFloat64 == nil {
					x.FptrSliceFloat64 = new([]float64)
				}
				z.F.DecSliceFloat64X(x.FptrSliceFloat64, d)
			}
		case "FSliceUint8":
			x.FSliceUint8 = z.DecodeBytesInto(([]byte)(x.FSliceUint8))
		case "FptrSliceUint8":
			if r.TryNil() {
				if x.FptrSliceUint8 != nil { // remove the if-true
					x.FptrSliceUint8 = nil
				}
			} else {
				if x.FptrSliceUint8 == nil {
					x.FptrSliceUint8 = new([]uint8)
				}
				*x.FptrSliceUint8 = z.DecodeBytesInto(*(*[]byte)(x.FptrSliceUint8))
			}
		case "FSliceUint64":
			z.F.DecSliceUint64X(&x.FSliceUint64, d)
		case "FptrSliceUint64":
			if r.TryNil() {
				if x.FptrSliceUint64 != nil { // remove the if-true
					x.FptrSliceUint64 = nil
				}
			} else {
				if x.FptrSliceUint64 == nil {
					x.FptrSliceUint64 = new([]uint64)
				}
				z.F.DecSliceUint64X(x.FptrSliceUint64, d)
			}
		case "FSliceInt":
			z.F.DecSliceIntX(&x.FSliceInt, d)
		case "FptrSliceInt":
			if r.TryNil() {
				if x.FptrSliceInt != nil { // remove the if-true
					x.FptrSliceInt = nil
				}
			} else {
				if x.FptrSliceInt == nil {
					x.FptrSliceInt = new([]int)
				}
				z.F.DecSliceIntX(x.FptrSliceInt, d)
			}
		case "FSliceInt32":
			z.F.DecSliceInt32X(&x.FSliceInt32, d)
		case "FptrSliceInt32":
			if r.TryNil() {
				if x.FptrSliceInt32 != nil { // remove the if-true
					x.FptrSliceInt32 = nil
				}
			} else {
				if x.FptrSliceInt32 == nil {
					x.FptrSliceInt32 = new([]int32)
				}
				z.F.DecSliceInt32X(x.FptrSliceInt32, d)
			}
		case "FSliceInt64":
			z.F.DecSliceInt64X(&x.FSliceInt64, d)
		case "FptrSliceInt64":
			if r.TryNil() {
				if x.FptrSliceInt64 != nil { // remove the if-true
					x.FptrSliceInt64 = nil
				}
			} else {
				if x.FptrSliceInt64 == nil {
					x.FptrSliceInt64 = new([]int64)
				}
				z.F.DecSliceInt64X(x.FptrSliceInt64, d)
			}
		case "FSliceBool":
			z.F.DecSliceBoolX(&x.FSliceBool, d)
		case "FptrSliceBool":
			if r.TryNil() {
				if x.FptrSliceBool != nil { // remove the if-true
					x.FptrSliceBool = nil
				}
			} else {
				if x.FptrSliceBool == nil {
					x.FptrSliceBool = new([]bool)
				}
				z.F.DecSliceBoolX(x.FptrSliceBool, d)
			}
		case "FMapStringIntf":
			z.F.DecMapStringIntfX(&x.FMapStringIntf, d)
		case "FptrMapStringIntf":
			if r.TryNil() {
				if x.FptrMapStringIntf != nil { // remove the if-true
					x.FptrMapStringIntf = nil
				}
			} else {
				if x.FptrMapStringIntf == nil {
					x.FptrMapStringIntf = new(map[string]interface{})
				}
				z.F.DecMapStringIntfX(x.FptrMapStringIntf, d)
			}
		case "FMapStringString":
			z.F.DecMapStringStringX(&x.FMapStringString, d)
		case "FptrMapStringString":
			if r.TryNil() {
				if x.FptrMapStringString != nil { // remove the if-true
					x.FptrMapStringString = nil
				}
			} else {
				if x.FptrMapStringString == nil {
					x.FptrMapStringString = new(map[string]string)
				}
				z.F.DecMapStringStringX(x.FptrMapStringString, d)
			}
		case "FMapStringBytes":
			z.F.DecMapStringBytesX(&x.FMapStringBytes, d)
		case "FptrMapStringBytes":
			if r.TryNil() {
				if x.FptrMapStringBytes != nil { // remove the if-true
					x.FptrMapStringBytes = nil
				}
			} else {
				if x.FptrMapStringBytes == nil {
					x.FptrMapStringBytes = new(map[string][]uint8)
				}
				z.F.DecMapStringBytesX(x.FptrMapStringBytes, d)
			}
		case "FMapStringUint8":
			z.F.DecMapStringUint8X(&x.FMapStringUint8, d)
		case "FptrMapStringUint8":
			if r.TryNil() {
				if x.FptrMapStringUint8 != nil { // remove the if-true
					x.FptrMapStringUint8 = nil
				}
			} else {
				if x.FptrMapStringUint8 == nil {
					x.FptrMapStringUint8 = new(map[string]uint8)
				}
				z.F.DecMapStringUint8X(x.FptrMapStringUint8, d)
			}
		case "FMapStringUint64":
			z.F.DecMapStringUint64X(&x.FMapStringUint64, d)
		case "FptrMapStringUint64":
			if r.TryNil() {
				if x.FptrMapStringUint64 != nil { // remove the if-true
					x.FptrMapStringUint64 = nil
				}
			} else {
				if x.FptrMapStringUint64 == nil {
					x.FptrMapStringUint64 = new(map[string]uint64)
				}
				z.F.DecMapStringUint64X(x.FptrMapStringUint64, d)
			}
		case "FMapStringInt":
			z.F.DecMapStringIntX(&x.FMapStringInt, d)
		case "FptrMapStringInt":
			if r.TryNil() {
				if x.FptrMapStringInt != nil { // remove the if-true
					x.FptrMapStringInt = nil
				}
			} else {
				if x.FptrMapStringInt == nil {
					x.FptrMapStringInt = new(map[string]int)
				}
				z.F.DecMapStringIntX(x.FptrMapStringInt, d)
			}
		case "FMapStringInt32":
			z.F.DecMapStringInt32X(&x.FMapStringInt32, d)
		case "FptrMapStringInt32":
			if r.TryNil() {
				if x.FptrMapStringInt32 != nil { // remove the if-true
					x.FptrMapStringInt32 = nil
				}
			} else {
				if x.FptrMapStringInt32 == nil {
					x.FptrMapStringInt32 = new(map[string]int32)
				}
				z.F.DecMapStringInt32X(x.FptrMapStringInt32, d)
			}
		case "FMapStringFloat64":
			z.F.DecMapStringFloat64X(&x.FMapStringFloat64, d)
		case "FptrMapStringFloat64":
			if r.TryNil() {
				if x.FptrMapStringFloat64 != nil { // remove the if-true
					x.FptrMapStringFloat64 = nil
				}
			} else {
				if x.FptrMapStringFloat64 == nil {
					x.FptrMapStringFloat64 = new(map[string]float64)
				}
				z.F.DecMapStringFloat64X(x.FptrMapStringFloat64, d)
			}
		case "FMapStringBool":
			z.F.DecMapStringBoolX(&x.FMapStringBool, d)
		case "FptrMapStringBool":
			if r.TryNil() {
				if x.FptrMapStringBool != nil { // remove the if-true
					x.FptrMapStringBool = nil
				}
			} else {
				if x.FptrMapStringBool == nil {
					x.FptrMapStringBool = new(map[string]bool)
				}
				z.F.DecMapStringBoolX(x.FptrMapStringBool, d)
			}
		case "FMapUint8Intf":
			z.F.DecMapUint8IntfX(&x.FMapUint8Intf, d)
		case "FptrMapUint8Intf":
			if r.TryNil() {
				if x.FptrMapUint8Intf != nil { // remove the if-true
					x.FptrMapUint8Intf = nil
				}
			} else {
				if x.FptrMapUint8Intf == nil {
					x.FptrMapUint8Intf = new(map[uint8]interface{})
				}
				z.F.DecMapUint8IntfX(x.FptrMapUint8Intf, d)
			}
		case "FMapUint8String":
			z.F.DecMapUint8StringX(&x.FMapUint8String, d)
		case "FptrMapUint8String":
			if r.TryNil() {
				if x.FptrMapUint8String != nil { // remove the if-true
					x.FptrMapUint8String = nil
				}
			} else {
				if x.FptrMapUint8String == nil {
					x.FptrMapUint8String = new(map[uint8]string)
				}
				z.F.DecMapUint8StringX(x.FptrMapUint8String, d)
			}
		case "FMapUint8Bytes":
			z.F.DecMapUint8BytesX(&x.FMapUint8Bytes, d)
		case "FptrMapUint8Bytes":
			if r.TryNil() {
				if x.FptrMapUint8Bytes != nil { // remove the if-true
					x.FptrMapUint8Bytes = nil
				}
			} else {
				if x.FptrMapUint8Bytes == nil {
					x.FptrMapUint8Bytes = new(map[uint8][]uint8)
				}
				z.F.DecMapUint8BytesX(x.FptrMapUint8Bytes, d)
			}
		case "FMapUint8Uint8":
			z.F.DecMapUint8Uint8X(&x.FMapUint8Uint8, d)
		case "FptrMapUint8Uint8":
			if r.TryNil() {
				if x.FptrMapUint8Uint8 != nil { // remove the if-true
					x.FptrMapUint8Uint8 = nil
				}
			} else {
				if x.FptrMapUint8Uint8 == nil {
					x.FptrMapUint8Uint8 = new(map[uint8]uint8)
				}
				z.F.DecMapUint8Uint8X(x.FptrMapUint8Uint8, d)
			}
		case "FMapUint8Uint64":
			z.F.DecMapUint8Uint64X(&x.FMapUint8Uint64, d)
		case "FptrMapUint8Uint64":
			if r.TryNil() {
				if x.FptrMapUint8Uint64 != nil { // remove the if-true
					x.FptrMapUint8Uint64 = nil
				}
			} else {
				if x.FptrMapUint8Uint64 == nil {
					x.FptrMapUint8Uint64 = new(map[uint8]uint64)
				}
				z.F.DecMapUint8Uint64X(x.FptrMapUint8Uint64, d)
			}
		case "FMapUint8Int":
			z.F.DecMapUint8IntX(&x.FMapUint8Int, d)
		case "FptrMapUint8Int":
			if r.TryNil() {
				if x.FptrMapUint8Int != nil { // remove the if-true
					x.FptrMapUint8Int = nil
				}
			} else {
				if x.FptrMapUint8Int == nil {
					x.FptrMapUint8Int = new(map[uint8]int)
				}
				z.F.DecMapUint8IntX(x.FptrMapUint8Int, d)
			}
		case "FMapUint8Int32":
			z.F.DecMapUint8Int32X(&x.FMapUint8Int32, d)
		case "FptrMapUint8Int32":
			if r.TryNil() {
				if x.FptrMapUint8Int32 != nil { // remove the if-true
					x.FptrMapUint8Int32 = nil
				}
			} else {
				if x.FptrMapUint8Int32 == nil {
					x.FptrMapUint8Int32 = new(map[uint8]int32)
				}
				z.F.DecMapUint8Int32X(x.FptrMapUint8Int32, d)
			}
		case "FMapUint8Float64":
			z.F.DecMapUint8Float64X(&x.FMapUint8Float64, d)
		case "FptrMapUint8Float64":
			if r.TryNil() {
				if x.FptrMapUint8Float64 != nil { // remove the if-true
					x.FptrMapUint8Float64 = nil
				}
			} else {
				if x.FptrMapUint8Float64 == nil {
					x.FptrMapUint8Float64 = new(map[uint8]float64)
				}
				z.F.DecMapUint8Float64X(x.FptrMapUint8Float64, d)
			}
		case "FMapUint8Bool":
			z.F.DecMapUint8BoolX(&x.FMapUint8Bool, d)
		case "FptrMapUint8Bool":
			if r.TryNil() {
				if x.FptrMapUint8Bool != nil { // remove the if-true
					x.FptrMapUint8Bool = nil
				}
			} else {
				if x.FptrMapUint8Bool == nil {
					x.FptrMapUint8Bool = new(map[uint8]bool)
				}
				z.F.DecMapUint8BoolX(x.FptrMapUint8Bool, d)
			}
		case "FMapUint64Intf":
			z.F.DecMapUint64IntfX(&x.FMapUint64Intf, d)
		case "FptrMapUint64Intf":
			if r.TryNil() {
				if x.FptrMapUint64Intf != nil { // remove the if-true
					x.FptrMapUint64Intf = nil
				}
			} else {
				if x.FptrMapUint64Intf == nil {
					x.FptrMapUint64Intf = new(map[uint64]interface{})
				}
				z.F.DecMapUint64IntfX(x.FptrMapUint64Intf, d)
			}
		case "FMapUint64String":
			z.F.DecMapUint64StringX(&x.FMapUint64String, d)
		case "FptrMapUint64String":
			if r.TryNil() {
				if x.FptrMapUint64String != nil { // remove the if-true
					x.FptrMapUint64String = nil
				}
			} else {
				if x.FptrMapUint64String == nil {
					x.FptrMapUint64String = new(map[uint64]string)
				}
				z.F.DecMapUint64StringX(x.FptrMapUint64String, d)
			}
		case "FMapUint64Bytes":
			z.F.DecMapUint64BytesX(&x.FMapUint64Bytes, d)
		case "FptrMapUint64Bytes":
			if r.TryNil() {
				if x.FptrMapUint64Bytes != nil { // remove the if-true
					x.FptrMapUint64Bytes = nil
				}
			} else {
				if x.FptrMapUint64Bytes == nil {
					x.FptrMapUint64Bytes = new(map[uint64][]uint8)
				}
				z.F.DecMapUint64BytesX(x.FptrMapUint64Bytes, d)
			}
		case "FMapUint64Uint8":
			z.F.DecMapUint64Uint8X(&x.FMapUint64Uint8, d)
		case "FptrMapUint64Uint8":
			if r.TryNil() {
				if x.FptrMapUint64Uint8 != nil { // remove the if-true
					x.FptrMapUint64Uint8 = nil
				}
			} else {
				if x.FptrMapUint64Uint8 == nil {
					x.FptrMapUint64Uint8 = new(map[uint64]uint8)
				}
				z.F.DecMapUint64Uint8X(x.FptrMapUint64Uint8, d)
			}
		case "FMapUint64Uint64":
			z.F.DecMapUint64Uint64X(&x.FMapUint64Uint64, d)
		case "FptrMapUint64Uint64":
			if r.TryNil() {
				if x.FptrMapUint64Uint64 != nil { // remove the if-true
					x.FptrMapUint64Uint64 = nil
				}
			} else {
				if x.FptrMapUint64Uint64 == nil {
					x.FptrMapUint64Uint64 = new(map[uint64]uint64)
				}
				z.F.DecMapUint64Uint64X(x.FptrMapUint64Uint64, d)
			}
		case "FMapUint64Int":
			z.F.DecMapUint64IntX(&x.FMapUint64Int, d)
		case "FptrMapUint64Int":
			if r.TryNil() {
				if x.FptrMapUint64Int != nil { // remove the if-true
					x.FptrMapUint64Int = nil
				}
			} else {
				if x.FptrMapUint64Int == nil {
					x.FptrMapUint64Int = new(map[uint64]int)
				}
				z.F.DecMapUint64IntX(x.FptrMapUint64Int, d)
			}
		case "FMapUint64Int32":
			z.F.DecMapUint64Int32X(&x.FMapUint64Int32, d)
		case "FptrMapUint64Int32":
			if r.TryNil() {
				if x.FptrMapUint64Int32 != nil { // remove the if-true
					x.FptrMapUint64Int32 = nil
				}
			} else {
				if x.FptrMapUint64Int32 == nil {
					x.FptrMapUint64Int32 = new(map[uint64]int32)
				}
				z.F.DecMapUint64Int32X(x.FptrMapUint64Int32, d)
			}
		case "FMapUint64Float64":
			z.F.DecMapUint64Float64X(&x.FMapUint64Float64, d)
		case "FptrMapUint64Float64":
			if r.TryNil() {
				if x.FptrMapUint64Float64 != nil { // remove the if-true
					x.FptrMapUint64Float64 = nil
				}
			} else {
				if x.FptrMapUint64Float64 == nil {
					x.FptrMapUint64Float64 = new(map[uint64]float64)
				}
				z.F.DecMapUint64Float64X(x.FptrMapUint64Float64, d)
			}
		case "FMapUint64Bool":
			z.F.DecMapUint64BoolX(&x.FMapUint64Bool, d)
		case "FptrMapUint64Bool":
			if r.TryNil() {
				if x.FptrMapUint64Bool != nil { // remove the if-true
					x.FptrMapUint64Bool = nil
				}
			} else {
				if x.FptrMapUint64Bool == nil {
					x.FptrMapUint64Bool = new(map[uint64]bool)
				}
				z.F.DecMapUint64BoolX(x.FptrMapUint64Bool, d)
			}
		case "FMapIntIntf":
			z.F.DecMapIntIntfX(&x.FMapIntIntf, d)
		case "FptrMapIntIntf":
			if r.TryNil() {
				if x.FptrMapIntIntf != nil { // remove the if-true
					x.FptrMapIntIntf = nil
				}
			} else {
				if x.FptrMapIntIntf == nil {
					x.FptrMapIntIntf = new(map[int]interface{})
				}
				z.F.DecMapIntIntfX(x.FptrMapIntIntf, d)
			}
		case "FMapIntString":
			z.F.DecMapIntStringX(&x.FMapIntString, d)
		case "FptrMapIntString":
			if r.TryNil() {
				if x.FptrMapIntString != nil { // remove the if-true
					x.FptrMapIntString = nil
				}
			} else {
				if x.FptrMapIntString == nil {
					x.FptrMapIntString = new(map[int]string)
				}
				z.F.DecMapIntStringX(x.FptrMapIntString, d)
			}
		case "FMapIntBytes":
			z.F.DecMapIntBytesX(&x.FMapIntBytes, d)
		case "FptrMapIntBytes":
			if r.TryNil() {
				if x.FptrMapIntBytes != nil { // remove the if-true
					x.FptrMapIntBytes = nil
				}
			} else {
				if x.FptrMapIntBytes == nil {
					x.FptrMapIntBytes = new(map[int][]uint8)
				}
				z.F.DecMapIntBytesX(x.FptrMapIntBytes, d)
			}
		case "FMapIntUint8":
			z.F.DecMapIntUint8X(&x.FMapIntUint8, d)
		case "FptrMapIntUint8":
			if r.TryNil() {
				if x.FptrMapIntUint8 != nil { // remove the if-true
					x.FptrMapIntUint8 = nil
				}
			} else {
				if x.FptrMapIntUint8 == nil {
					x.FptrMapIntUint8 = new(map[int]uint8)
				}
				z.F.DecMapIntUint8X(x.FptrMapIntUint8, d)
			}
		case "FMapIntUint64":
			z.F.DecMapIntUint64X(&x.FMapIntUint64, d)
		case "FptrMapIntUint64":
			if r.TryNil() {
				if x.FptrMapIntUint64 != nil { // remove the if-true
					x.FptrMapIntUint64 = nil
				}
			} else {
				if x.FptrMapIntUint64 == nil {
					x.FptrMapIntUint64 = new(map[int]uint64)
				}
				z.F.DecMapIntUint64X(x.FptrMapIntUint64, d)
			}
		case "FMapIntInt":
			z.F.DecMapIntIntX(&x.FMapIntInt, d)
		case "FptrMapIntInt":
			if r.TryNil() {
				if x.FptrMapIntInt != nil { // remove the if-true
					x.FptrMapIntInt = nil
				}
			} else {
				if x.FptrMapIntInt == nil {
					x.FptrMapIntInt = new(map[int]int)
				}
				z.F.DecMapIntIntX(x.FptrMapIntInt, d)
			}
		case "FMapIntInt32":
			z.F.DecMapIntInt32X(&x.FMapIntInt32, d)
		case "FptrMapIntInt32":
			if r.TryNil() {
				if x.FptrMapIntInt32 != nil { // remove the if-true
					x.FptrMapIntInt32 = nil
				}
			} else {
				if x.FptrMapIntInt32 == nil {
					x.FptrMapIntInt32 = new(map[int]int32)
				}
				z.F.DecMapIntInt32X(x.FptrMapIntInt32, d)
			}
		case "FMapIntFloat64":
			z.F.DecMapIntFloat64X(&x.FMapIntFloat64, d)
		case "FptrMapIntFloat64":
			if r.TryNil() {
				if x.FptrMapIntFloat64 != nil { // remove the if-true
					x.FptrMapIntFloat64 = nil
				}
			} else {
				if x.FptrMapIntFloat64 == nil {
					x.FptrMapIntFloat64 = new(map[int]float64)
				}
				z.F.DecMapIntFloat64X(x.FptrMapIntFloat64, d)
			}
		case "FMapIntBool":
			z.F.DecMapIntBoolX(&x.FMapIntBool, d)
		case "FptrMapIntBool":
			if r.TryNil() {
				if x.FptrMapIntBool != nil { // remove the if-true
					x.FptrMapIntBool = nil
				}
			} else {
				if x.FptrMapIntBool == nil {
					x.FptrMapIntBool = new(map[int]bool)
				}
				z.F.DecMapIntBoolX(x.FptrMapIntBool, d)
			}
		case "FMapInt32Intf":
			z.F.DecMapInt32IntfX(&x.FMapInt32Intf, d)
		case "FptrMapInt32Intf":
			if r.TryNil() {
				if x.FptrMapInt32Intf != nil { // remove the if-true
					x.FptrMapInt32Intf = nil
				}
			} else {
				if x.FptrMapInt32Intf == nil {
					x.FptrMapInt32Intf = new(map[int32]interface{})
				}
				z.F.DecMapInt32IntfX(x.FptrMapInt32Intf, d)
			}
		case "FMapInt32String":
			z.F.DecMapInt32StringX(&x.FMapInt32String, d)
		case "FptrMapInt32String":
			if r.TryNil() {
				if x.FptrMapInt32String != nil { // remove the if-true
					x.FptrMapInt32String = nil
				}
			} else {
				if x.FptrMapInt32String == nil {
					x.FptrMapInt32String = new(map[int32]string)
				}
				z.F.DecMapInt32StringX(x.FptrMapInt32String, d)
			}
		case "FMapInt32Bytes":
			z.F.DecMapInt32BytesX(&x.FMapInt32Bytes, d)
		case "FptrMapInt32Bytes":
			if r.TryNil() {
				if x.FptrMapInt32Bytes != nil { // remove the if-true
					x.FptrMapInt32Bytes = nil
				}
			} else {
				if x.FptrMapInt32Bytes == nil {
					x.FptrMapInt32Bytes = new(map[int32][]uint8)
				}
				z.F.DecMapInt32BytesX(x.FptrMapInt32Bytes, d)
			}
		case "FMapInt32Uint8":
			z.F.DecMapInt32Uint8X(&x.FMapInt32Uint8, d)
		case "FptrMapInt32Uint8":
			if r.TryNil() {
				if x.FptrMapInt32Uint8 != nil { // remove the if-true
					x.FptrMapInt32Uint8 = nil
				}
			} else {
				if x.FptrMapInt32Uint8 == nil {
					x.FptrMapInt32Uint8 = new(map[int32]uint8)
				}
				z.F.DecMapInt32Uint8X(x.FptrMapInt32Uint8, d)
			}
		case "FMapInt32Uint64":
			z.F.DecMapInt32Uint64X(&x.FMapInt32Uint64, d)
		case "FptrMapInt32Uint64":
			if r.TryNil() {
				if x.FptrMapInt32Uint64 != nil { // remove the if-true
					x.FptrMapInt32Uint64 = nil
				}
			} else {
				if x.FptrMapInt32Uint64 == nil {
					x.FptrMapInt32Uint64 = new(map[int32]uint64)
				}
				z.F.DecMapInt32Uint64X(x.FptrMapInt32Uint64, d)
			}
		case "FMapInt32Int":
			z.F.DecMapInt32IntX(&x.FMapInt32Int, d)
		case "FptrMapInt32Int":
			if r.TryNil() {
				if x.FptrMapInt32Int != nil { // remove the if-true
					x.FptrMapInt32Int = nil
				}
			} else {
				if x.FptrMapInt32Int == nil {
					x.FptrMapInt32Int = new(map[int32]int)
				}
				z.F.DecMapInt32IntX(x.FptrMapInt32Int, d)
			}
		case "FMapInt32Int32":
			z.F.DecMapInt32Int32X(&x.FMapInt32Int32, d)
		case "FptrMapInt32Int32":
			if r.TryNil() {
				if x.FptrMapInt32Int32 != nil { // remove the if-true
					x.FptrMapInt32Int32 = nil
				}
			} else {
				if x.FptrMapInt32Int32 == nil {
					x.FptrMapInt32Int32 = new(map[int32]int32)
				}
				z.F.DecMapInt32Int32X(x.FptrMapInt32Int32, d)
			}
		case "FMapInt32Float64":
			z.F.DecMapInt32Float64X(&x.FMapInt32Float64, d)
		case "FptrMapInt32Float64":
			if r.TryNil() {
				if x.FptrMapInt32Float64 != nil { // remove the if-true
					x.FptrMapInt32Float64 = nil
				}
			} else {
				if x.FptrMapInt32Float64 == nil {
					x.FptrMapInt32Float64 = new(map[int32]float64)
				}
				z.F.DecMapInt32Float64X(x.FptrMapInt32Float64, d)
			}
		case "FMapInt32Bool":
			z.F.DecMapInt32BoolX(&x.FMapInt32Bool, d)
		case "FptrMapInt32Bool":
			if r.TryNil() {
				if x.FptrMapInt32Bool != nil { // remove the if-true
					x.FptrMapInt32Bool = nil
				}
			} else {
				if x.FptrMapInt32Bool == nil {
					x.FptrMapInt32Bool = new(map[int32]bool)
				}
				z.F.DecMapInt32BoolX(x.FptrMapInt32Bool, d)
			}
		default:
			z.DecStructFieldNotFound(-1, string(yys3))
		} // end switch yys3
	} // end for yyj3
}

func (x *TestMammoth2) codecDecodeSelfFromArray(l int, d *Decoder) {
	var h codecSelfer19781
	z, r := GenHelper().Decoder(d)
	_, _, _ = h, z, r
	var yyj281 int
	var yyb281 bool
	var yyhl281 bool = l >= 0
	yyj281++
	if yyhl281 {
		yyb281 = yyj281 > l
	} else {
		yyb281 = z.DecCheckBreak()
	}
	if yyb281 {
		z.DecReadArrayEnd()
		return
	}
	z.DecReadArrayElem()
	z.DecFallback(&x.FIntf, true)
	yyj281++
	if yyhl281 {
		yyb281 = yyj281 > l
	} else {
		yyb281 = z.DecCheckBreak()
	}
	if yyb281 {
		z.DecReadArrayEnd()
		return
	}
	z.DecReadArrayElem()
	if r.TryNil() {
		if x.FptrIntf != nil { // remove the if-true
			x.FptrIntf = nil
		}
	} else {
		if x.FptrIntf == nil {
			x.FptrIntf = new(interface{})
		}
		z.DecFallback(x.FptrIntf, true)
	}
	yyj281++
	if yyhl281 {
		yyb281 = yyj281 > l
	} else {
		yyb281 = z.DecCheckBreak()
	}
	if yyb281 {
		z.DecReadArrayEnd()
		return
	}
	z.DecReadArrayElem()
	x.FString = (string)(z.DecStringZC(r.DecodeStringAsBytes()))
	yyj281++
	if yyhl281 {
		yyb281 = yyj281 > l
	} else {
		yyb281 = z.DecCheckBreak()
	}
	if yyb281 {
		z.DecReadArrayEnd()
		return
	}
	z.DecReadArrayElem()
	if r.TryNil() {
		if x.FptrString != nil { // remove the if-true
			x.FptrString = nil
		}
	} else {
		if x.FptrString == nil {
			x.FptrString = new(string)
		}
		*x.FptrString = (string)(z.DecStringZC(r.DecodeStringAsBytes()))
	}
	yyj281++
	if yyhl281 {
		yyb281 = yyj281 > l
	} else {
		yyb281 = z.DecCheckBreak()
	}
	if yyb281 {
		z.DecReadArrayEnd()
		return
	}
	z.DecReadArrayElem()
	x.FBytes = z.DecodeBytesInto(([]byte)(x.FBytes))
	yyj281++
	if yyhl281 {
		yyb281 = yyj281 > l
	} else {
		yyb281 = z.DecCheckBreak()
	}
	if yyb281 {
		z.DecReadArrayEnd()
		return
	}
	z.DecReadArrayElem()
	if r.TryNil() {
		if x.FptrBytes != nil { // remove the if-true
			x.FptrBytes = nil
		}
	} else {
		if x.FptrBytes == nil {
			x.FptrBytes = new([]uint8)
		}
		*x.FptrBytes = z.DecodeBytesInto(*(*[]byte)(x.FptrBytes))
	}
	yyj281++
	if yyhl281 {
		yyb281 = yyj281 > l
	} else {
		yyb281 = z.DecCheckBreak()
	}
	if yyb281 {
		z.DecReadArrayEnd()
		return
	}
	z.DecReadArrayElem()
	x.FFloat32 = (float32)(z.DecDecodeFloat32())
	yyj281++
	if yyhl281 {
		yyb281 = yyj281 > l
	} else {
		yyb281 = z.DecCheckBreak()
	}
	if yyb281 {
		z.DecReadArrayEnd()
		return
	}
	z.DecReadArrayElem()
	if r.TryNil() {
		if x.FptrFloat32 != nil { // remove the if-true
			x.FptrFloat32 = nil
		}
	} else {
		if x.FptrFloat32 == nil {
			x.FptrFloat32 = new(float32)
		}
		*x.FptrFloat32 = (float32)(z.DecDecodeFloat32())
	}
	yyj281++
	if yyhl281 {
		yyb281 = yyj281 > l
	} else {
		yyb281 = z.DecCheckBreak()
	}
	if yyb281 {
		z.DecReadArrayEnd()
		return
	}
	z.DecReadArrayElem()
	x.FFloat64 = (float64)(r.DecodeFloat64())
	yyj281++
	if yyhl281 {
		yyb281 = yyj281 > l
	} else {
		yyb281 = z.DecCheckBreak()
	}
	if yyb281 {
		z.DecReadArrayEnd()
		return
	}
	z.DecReadArrayElem()
	if r.TryNil() {
		if x.FptrFloat64 != nil { // remove the if-true
			x.FptrFloat64 = nil
		}
	} else {
		if x.FptrFloat64 == nil {
			x.FptrFloat64 = new(float64)
		}
		*x.FptrFloat64 = (float64)(r.DecodeFloat64())
	}
	yyj281++
	if yyhl281 {
		yyb281 = yyj281 > l
	} else {
		yyb281 = z.DecCheckBreak()
	}
	if yyb281 {
		z.DecReadArrayEnd()
		return
	}
	z.DecReadArrayElem()
	x.FUint = (uint)(z.C.UintV(r.DecodeUint64(), codecSelferBitsize19781))
	yyj281++
	if yyhl281 {
		yyb281 = yyj281 > l
	} else {
		yyb281 = z.DecCheckBreak()
	}
	if yyb281 {
		z.DecReadArrayEnd()
		return
	}
	z.DecReadArrayElem()
	if r.TryNil() {
		if x.FptrUint != nil { // remove the if-true
			x.FptrUint = nil
		}
	} else {
		if x.FptrUint == nil {
			x.FptrUint = new(uint)
		}
		*x.FptrUint = (uint)(z.C.UintV(r.DecodeUint64(), codecSelferBitsize19781))
	}
	yyj281++
	if yyhl281 {
		yyb281 = yyj281 > l
	} else {
		yyb281 = z.DecCheckBreak()
	}
	if yyb281 {
		z.DecReadArrayEnd()
		return
	}
	z.DecReadArrayElem()
	x.FUint8 = (uint8)(z.C.UintV(r.DecodeUint64(), 8))
	yyj281++
	if yyhl281 {
		yyb281 = yyj281 > l
	} else {
		yyb281 = z.DecCheckBreak()
	}
	if yyb281 {
		z.DecReadArrayEnd()
		return
	}
	z.DecReadArrayElem()
	if r.TryNil() {
		if x.FptrUint8 != nil { // remove the if-true
			x.FptrUint8 = nil
		}
	} else {
		if x.FptrUint8 == nil {
			x.FptrUint8 = new(uint8)
		}
		*x.FptrUint8 = (uint8)(z.C.UintV(r.DecodeUint64(), 8))
	}
	yyj281++
	if yyhl281 {
		yyb281 = yyj281 > l
	} else {
		yyb281 = z.DecCheckBreak()
	}
	if yyb281 {
		z.DecReadArrayEnd()
		return
	}
	z.DecReadArrayElem()
	x.FUint16 = (uint16)(z.C.UintV(r.DecodeUint64(), 16))
	yyj281++
	if yyhl281 {
		yyb281 = yyj281 > l
	} else {
		yyb281 = z.DecCheckBreak()
	}
	if yyb281 {
		z.DecReadArrayEnd()
		return
	}
	z.DecReadArrayElem()
	if r.TryNil() {
		if x.FptrUint16 != nil { // remove the if-true
			x.FptrUint16 = nil
		}
	} else {
		if x.FptrUint16 == nil {
			x.FptrUint16 = new(uint16)
		}
		*x.FptrUint16 = (uint16)(z.C.UintV(r.DecodeUint64(), 16))
	}
	yyj281++
	if yyhl281 {
		yyb281 = yyj281 > l
	} else {
		yyb281 = z.DecCheckBreak()
	}
	if yyb281 {
		z.DecReadArrayEnd()
		return
	}
	z.DecReadArrayElem()
	x.FUint32 = (uint32)(z.C.UintV(r.DecodeUint64(), 32))
	yyj281++
	if yyhl281 {
		yyb281 = yyj281 > l
	} else {
		yyb281 = z.DecCheckBreak()
	}
	if yyb281 {
		z.DecReadArrayEnd()
		return
	}
	z.DecReadArrayElem()
	if r.TryNil() {
		if x.FptrUint32 != nil { // remove the if-true
			x.FptrUint32 = nil
		}
	} else {
		if x.FptrUint32 == nil {
			x.FptrUint32 = new(uint32)
		}
		*x.FptrUint32 = (uint32)(z.C.UintV(r.DecodeUint64(), 32))
	}
	yyj281++
	if yyhl281 {
		yyb281 = yyj281 > l
	} else {
		yyb281 = z.DecCheckBreak()
	}
	if yyb281 {
		z.DecReadArrayEnd()
		return
	}
	z.DecReadArrayElem()
	x.FUint64 = (uint64)(r.DecodeUint64())
	yyj281++
	if yyhl281 {
		yyb281 = yyj281 > l
	} else {
		yyb281 = z.DecCheckBreak()
	}
	if yyb281 {
		z.DecReadArrayEnd()
		return
	}
	z.DecReadArrayElem()
	if r.TryNil() {
		if x.FptrUint64 != nil { // remove the if-true
			x.FptrUint64 = nil
		}
	} else {
		if x.FptrUint64 == nil {
			x.FptrUint64 = new(uint64)
		}
		*x.FptrUint64 = (uint64)(r.DecodeUint64())
	}
	yyj281++
	if yyhl281 {
		yyb281 = yyj281 > l
	} else {
		yyb281 = z.DecCheckBreak()
	}
	if yyb281 {
		z.DecReadArrayEnd()
		return
	}
	z.DecReadArrayElem()
	x.FUintptr = (uintptr)(z.C.UintV(r.DecodeUint64(), codecSelferBitsize19781))
	yyj281++
	if yyhl281 {
		yyb281 = yyj281 > l
	} else {
		yyb281 = z.DecCheckBreak()
	}
	if yyb281 {
		z.DecReadArrayEnd()
		return
	}
	z.DecReadArrayElem()
	if r.TryNil() {
		if x.FptrUintptr != nil { // remove the if-true
			x.FptrUintptr = nil
		}
	} else {
		if x.FptrUintptr == nil {
			x.FptrUintptr = new(uintptr)
		}
		*x.FptrUintptr = (uintptr)(z.C.UintV(r.DecodeUint64(), codecSelferBitsize19781))
	}
	yyj281++
	if yyhl281 {
		yyb281 = yyj281 > l
	} else {
		yyb281 = z.DecCheckBreak()
	}
	if yyb281 {
		z.DecReadArrayEnd()
		return
	}
	z.DecReadArrayElem()
	x.FInt = (int)(z.C.IntV(r.DecodeInt64(), codecSelferBitsize19781))
	yyj281++
	if yyhl281 {
		yyb281 = yyj281 > l
	} else {
		yyb281 = z.DecCheckBreak()
	}
	if yyb281 {
		z.DecReadArrayEnd()
		return
	}
	z.DecReadArrayElem()
	if r.TryNil() {
		if x.FptrInt != nil { // remove the if-true
			x.FptrInt = nil
		}
	} else {
		if x.FptrInt == nil {
			x.FptrInt = new(int)
		}
		*x.FptrInt = (int)(z.C.IntV(r.DecodeInt64(), codecSelferBitsize19781))
	}
	yyj281++
	if yyhl281 {
		yyb281 = yyj281 > l
	} else {
		yyb281 = z.DecCheckBreak()
	}
	if yyb281 {
		z.DecReadArrayEnd()
		return
	}
	z.DecReadArrayElem()
	x.FInt8 = (int8)(z.C.IntV(r.DecodeInt64(), 8))
	yyj281++
	if yyhl281 {
		yyb281 = yyj281 > l
	} else {
		yyb281 = z.DecCheckBreak()
	}
	if yyb281 {
		z.DecReadArrayEnd()
		return
	}
	z.DecReadArrayElem()
	if r.TryNil() {
		if x.FptrInt8 != nil { // remove the if-true
			x.FptrInt8 = nil
		}
	} else {
		if x.FptrInt8 == nil {
			x.FptrInt8 = new(int8)
		}
		*x.FptrInt8 = (int8)(z.C.IntV(r.DecodeInt64(), 8))
	}
	yyj281++
	if yyhl281 {
		yyb281 = yyj281 > l
	} else {
		yyb281 = z.DecCheckBreak()
	}
	if yyb281 {
		z.DecReadArrayEnd()
		return
	}
	z.DecReadArrayElem()
	x.FInt16 = (int16)(z.C.IntV(r.DecodeInt64(), 16))
	yyj281++
	if yyhl281 {
		yyb281 = yyj281 > l
	} else {
		yyb281 = z.DecCheckBreak()
	}
	if yyb281 {
		z.DecReadArrayEnd()
		return
	}
	z.DecReadArrayElem()
	if r.TryNil() {
		if x.FptrInt16 != nil { // remove the if-true
			x.FptrInt16 = nil
		}
	} else {
		if x.FptrInt16 == nil {
			x.FptrInt16 = new(int16)
		}
		*x.FptrInt16 = (int16)(z.C.IntV(r.DecodeInt64(), 16))
	}
	yyj281++
	if yyhl281 {
		yyb281 = yyj281 > l
	} else {
		yyb281 = z.DecCheckBreak()
	}
	if yyb281 {
		z.DecReadArrayEnd()
		return
	}
	z.DecReadArrayElem()
	x.FInt32 = (int32)(z.C.IntV(r.DecodeInt64(), 32))
	yyj281++
	if yyhl281 {
		yyb281 = yyj281 > l
	} else {
		yyb281 = z.DecCheckBreak()
	}
	if yyb281 {
		z.DecReadArrayEnd()
		return
	}
	z.DecReadArrayElem()
	if r.TryNil() {
		if x.FptrInt32 != nil { // remove the if-true
			x.FptrInt32 = nil
		}
	} else {
		if x.FptrInt32 == nil {
			x.FptrInt32 = new(int32)
		}
		*x.FptrInt32 = (int32)(z.C.IntV(r.DecodeInt64(), 32))
	}
	yyj281++
	if yyhl281 {
		yyb281 = yyj281 > l
	} else {
		yyb281 = z.DecCheckBreak()
	}
	if yyb281 {
		z.DecReadArrayEnd()
		return
	}
	z.DecReadArrayElem()
	x.FInt64 = (int64)(r.DecodeInt64())
	yyj281++
	if yyhl281 {
		yyb281 = yyj281 > l
	} else {
		yyb281 = z.DecCheckBreak()
	}
	if yyb281 {
		z.DecReadArrayEnd()
		return
	}
	z.DecReadArrayElem()
	if r.TryNil() {
		if x.FptrInt64 != nil { // remove the if-true
			x.FptrInt64 = nil
		}
	} else {
		if x.FptrInt64 == nil {
			x.FptrInt64 = new(int64)
		}
		*x.FptrInt64 = (int64)(r.DecodeInt64())
	}
	yyj281++
	if yyhl281 {
		yyb281 = yyj281 > l
	} else {
		yyb281 = z.DecCheckBreak()
	}
	if yyb281 {
		z.DecReadArrayEnd()
		return
	}
	z.DecReadArrayElem()
	x.FBool = (bool)(r.DecodeBool())
	yyj281++
	if yyhl281 {
		yyb281 = yyj281 > l
	} else {
		yyb281 = z.DecCheckBreak()
	}
	if yyb281 {
		z.DecReadArrayEnd()
		return
	}
	z.DecReadArrayElem()
	if r.TryNil() {
		if x.FptrBool != nil { // remove the if-true
			x.FptrBool = nil
		}
	} else {
		if x.FptrBool == nil {
			x.FptrBool = new(bool)
		}
		*x.FptrBool = (bool)(r.DecodeBool())
	}
	yyj281++
	if yyhl281 {
		yyb281 = yyj281 > l
	} else {
		yyb281 = z.DecCheckBreak()
	}
	if yyb281 {
		z.DecReadArrayEnd()
		return
	}
	z.DecReadArrayElem()
	z.F.DecSliceIntfX(&x.FSliceIntf, d)
	yyj281++
	if yyhl281 {
		yyb281 = yyj281 > l
	} else {
		yyb281 = z.DecCheckBreak()
	}
	if yyb281 {
		z.DecReadArrayEnd()
		return
	}
	z.DecReadArrayElem()
	if r.TryNil() {
		if x.FptrSliceIntf != nil { // remove the if-true
			x.FptrSliceIntf = nil
		}
	} else {
		if x.FptrSliceIntf == nil {
			x.FptrSliceIntf = new([]interface{})
		}
		z.F.DecSliceIntfX(x.FptrSliceIntf, d)
	}
	yyj281++
	if yyhl281 {
		yyb281 = yyj281 > l
	} else {
		yyb281 = z.DecCheckBreak()
	}
	if yyb281 {
		z.DecReadArrayEnd()
		return
	}
	z.DecReadArrayElem()
	z.F.DecSliceStringX(&x.FSliceString, d)
	yyj281++
	if yyhl281 {
		yyb281 = yyj281 > l
	} else {
		yyb281 = z.DecCheckBreak()
	}
	if yyb281 {
		z.DecReadArrayEnd()
		return
	}
	z.DecReadArrayElem()
	if r.TryNil() {
		if x.FptrSliceString != nil { // remove the if-true
			x.FptrSliceString = nil
		}
	} else {
		if x.FptrSliceString == nil {
			x.FptrSliceString = new([]string)
		}
		z.F.DecSliceStringX(x.FptrSliceString, d)
	}
	yyj281++
	if yyhl281 {
		yyb281 = yyj281 > l
	} else {
		yyb281 = z.DecCheckBreak()
	}
	if yyb281 {
		z.DecReadArrayEnd()
		return
	}
	z.DecReadArrayElem()
	z.F.DecSliceBytesX(&x.FSliceBytes, d)
	yyj281++
	if yyhl281 {
		yyb281 = yyj281 > l
	} else {
		yyb281 = z.DecCheckBreak()
	}
	if yyb281 {
		z.DecReadArrayEnd()
		return
	}
	z.DecReadArrayElem()
	if r.TryNil() {
		if x.FptrSliceBytes != nil { // remove the if-true
			x.FptrSliceBytes = nil
		}
	} else {
		if x.FptrSliceBytes == nil {
			x.FptrSliceBytes = new([][]uint8)
		}
		z.F.DecSliceBytesX(x.FptrSliceBytes, d)
	}
	yyj281++
	if yyhl281 {
		yyb281 = yyj281 > l
	} else {
		yyb281 = z.DecCheckBreak()
	}
	if yyb281 {
		z.DecReadArrayEnd()
		return
	}
	z.DecReadArrayElem()
	z.F.DecSliceFloat32X(&x.FSliceFloat32, d)
	yyj281++
	if yyhl281 {
		yyb281 = yyj281 > l
	} else {
		yyb281 = z.DecCheckBreak()
	}
	if yyb281 {
		z.DecReadArrayEnd()
		return
	}
	z.DecReadArrayElem()
	if r.TryNil() {
		if x.FptrSliceFloat32 != nil { // remove the if-true
			x.FptrSliceFloat32 = nil
		}
	} else {
		if x.FptrSliceFloat32 == nil {
			x.FptrSliceFloat32 = new([]float32)
		}
		z.F.DecSliceFloat32X(x.FptrSliceFloat32, d)
	}
	yyj281++
	if yyhl281 {
		yyb281 = yyj281 > l
	} else {
		yyb281 = z.DecCheckBreak()
	}
	if yyb281 {
		z.DecReadArrayEnd()
		return
	}
	z.DecReadArrayElem()
	z.F.DecSliceFloat64X(&x.FSliceFloat64, d)
	yyj281++
	if yyhl281 {
		yyb281 = yyj281 > l
	} else {
		yyb281 = z.DecCheckBreak()
	}
	if yyb281 {
		z.DecReadArrayEnd()
		return
	}
	z.DecReadArrayElem()
	if r.TryNil() {
		if x.FptrSliceFloat64 != nil { // remove the if-true
			x.FptrSliceFloat64 = nil
		}
	} else {
		if x.FptrSliceFloat64 == nil {
			x.FptrSliceFloat64 = new([]float64)
		}
		z.F.DecSliceFloat64X(x.FptrSliceFloat64, d)
	}
	yyj281++
	if yyhl281 {
		yyb281 = yyj281 > l
	} else {
		yyb281 = z.DecCheckBreak()
	}
	if yyb281 {
		z.DecReadArrayEnd()
		return
	}
	z.DecReadArrayElem()
	x.FSliceUint8 = z.DecodeBytesInto(([]byte)(x.FSliceUint8))
	yyj281++
	if yyhl281 {
		yyb281 = yyj281 > l
	} else {
		yyb281 = z.DecCheckBreak()
	}
	if yyb281 {
		z.DecReadArrayEnd()
		return
	}
	z.DecReadArrayElem()
	if r.TryNil() {
		if x.FptrSliceUint8 != nil { // remove the if-true
			x.FptrSliceUint8 = nil
		}
	} else {
		if x.FptrSliceUint8 == nil {
			x.FptrSliceUint8 = new([]uint8)
		}
		*x.FptrSliceUint8 = z.DecodeBytesInto(*(*[]byte)(x.FptrSliceUint8))
	}
	yyj281++
	if yyhl281 {
		yyb281 = yyj281 > l
	} else {
		yyb281 = z.DecCheckBreak()
	}
	if yyb281 {
		z.DecReadArrayEnd()
		return
	}
	z.DecReadArrayElem()
	z.F.DecSliceUint64X(&x.FSliceUint64, d)
	yyj281++
	if yyhl281 {
		yyb281 = yyj281 > l
	} else {
		yyb281 = z.DecCheckBreak()
	}
	if yyb281 {
		z.DecReadArrayEnd()
		return
	}
	z.DecReadArrayElem()
	if r.TryNil() {
		if x.FptrSliceUint64 != nil { // remove the if-true
			x.FptrSliceUint64 = nil
		}
	} else {
		if x.FptrSliceUint64 == nil {
			x.FptrSliceUint64 = new([]uint64)
		}
		z.F.DecSliceUint64X(x.FptrSliceUint64, d)
	}
	yyj281++
	if yyhl281 {
		yyb281 = yyj281 > l
	} else {
		yyb281 = z.DecCheckBreak()
	}
	if yyb281 {
		z.DecReadArrayEnd()
		return
	}
	z.DecReadArrayElem()
	z.F.DecSliceIntX(&x.FSliceInt, d)
	yyj281++
	if yyhl281 {
		yyb281 = yyj281 > l
	} else {
		yyb281 = z.DecCheckBreak()
	}
	if yyb281 {
		z.DecReadArrayEnd()
		return
	}
	z.DecReadArrayElem()
	if r.TryNil() {
		if x.FptrSliceInt != nil { // remove the if-true
			x.FptrSliceInt = nil
		}
	} else {
		if x.FptrSliceInt == nil {
			x.FptrSliceInt = new([]int)
		}
		z.F.DecSliceIntX(x.FptrSliceInt, d)
	}
	yyj281++
	if yyhl281 {
		yyb281 = yyj281 > l
	} else {
		yyb281 = z.DecCheckBreak()
	}
	if yyb281 {
		z.DecReadArrayEnd()
		return
	}
	z.DecReadArrayElem()
	z.F.DecSliceInt32X(&x.FSliceInt32, d)
	yyj281++
	if yyhl281 {
		yyb281 = yyj281 > l
	} else {
		yyb281 = z.DecCheckBreak()
	}
	if yyb281 {
		z.DecReadArrayEnd()
		return
	}
	z.DecReadArrayElem()
	if r.TryNil() {
		if x.FptrSliceInt32 != nil { // remove the if-true
			x.FptrSliceInt32 = nil
		}
	} else {
		if x.FptrSliceInt32 == nil {
			x.FptrSliceInt32 = new([]int32)
		}
		z.F.DecSliceInt32X(x.FptrSliceInt32, d)
	}
	yyj281++
	if yyhl281 {
		yyb281 = yyj281 > l
	} else {
		yyb281 = z.DecCheckBreak()
	}
	if yyb281 {
		z.DecReadArrayEnd()
		return
	}
	z.DecReadArrayElem()
	z.F.DecSliceInt64X(&x.FSliceInt64, d)
	yyj281++
	if yyhl281 {
		yyb281 = yyj281 > l
	} else {
		yyb281 = z.DecCheckBreak()
	}
	if yyb281 {
		z.DecReadArrayEnd()
		return
	}
	z.DecReadArrayElem()
	if r.TryNil() {
		if x.FptrSliceInt64 != nil { // remove the if-true
			x.FptrSliceInt64 = nil
		}
	} else {
		if x.FptrSliceInt64 == nil {
			x.FptrSliceInt64 = new([]int64)
		}
		z.F.DecSliceInt64X(x.FptrSliceInt64, d)
	}
	yyj281++
	if yyhl281 {
		yyb281 = yyj281 > l
	} else {
		yyb281 = z.DecCheckBreak()
	}
	if yyb281 {
		z.DecReadArrayEnd()
		return
	}
	z.DecReadArrayElem()
	z.F.DecSliceBoolX(&x.FSliceBool, d)
	yyj281++
	if yyhl281 {
		yyb281 = yyj281 > l
	} else {
		yyb281 = z.DecCheckBreak()
	}
	if yyb281 {
		z.DecReadArrayEnd()
		return
	}
	z.DecReadArrayElem()
	if r.TryNil() {
		if x.FptrSliceBool != nil { // remove the if-true
			x.FptrSliceBool = nil
		}
	} else {
		if x.FptrSliceBool == nil {
			x.FptrSliceBool = new([]bool)
		}
		z.F.DecSliceBoolX(x.FptrSliceBool, d)
	}
	yyj281++
	if yyhl281 {
		yyb281 = yyj281 > l
	} else {
		yyb281 = z.DecCheckBreak()
	}
	if yyb281 {
		z.DecReadArrayEnd()
		return
	}
	z.DecReadArrayElem()
	z.F.DecMapStringIntfX(&x.FMapStringIntf, d)
	yyj281++
	if yyhl281 {
		yyb281 = yyj281 > l
	} else {
		yyb281 = z.DecCheckBreak()
	}
	if yyb281 {
		z.DecReadArrayEnd()
		return
	}
	z.DecReadArrayElem()
	if r.TryNil() {
		if x.FptrMapStringIntf != nil { // remove the if-true
			x.FptrMapStringIntf = nil
		}
	} else {
		if x.FptrMapStringIntf == nil {
			x.FptrMapStringIntf = new(map[string]interface{})
		}
		z.F.DecMapStringIntfX(x.FptrMapStringIntf, d)
	}
	yyj281++
	if yyhl281 {
		yyb281 = yyj281 > l
	} else {
		yyb281 = z.DecCheckBreak()
	}
	if yyb281 {
		z.DecReadArrayEnd()
		return
	}
	z.DecReadArrayElem()
	z.F.DecMapStringStringX(&x.FMapStringString, d)
	yyj281++
	if yyhl281 {
		yyb281 = yyj281 > l
	} else {
		yyb281 = z.DecCheckBreak()
	}
	if yyb281 {
		z.DecReadArrayEnd()
		return
	}
	z.DecReadArrayElem()
	if r.TryNil() {
		if x.FptrMapStringString != nil { // remove the if-true
			x.FptrMapStringString = nil
		}
	} else {
		if x.FptrMapStringString == nil {
			x.FptrMapStringString = new(map[string]string)
		}
		z.F.DecMapStringStringX(x.FptrMapStringString, d)
	}
	yyj281++
	if yyhl281 {
		yyb281 = yyj281 > l
	} else {
		yyb281 = z.DecCheckBreak()
	}
	if yyb281 {
		z.DecReadArrayEnd()
		return
	}
	z.DecReadArrayElem()
	z.F.DecMapStringBytesX(&x.FMapStringBytes, d)
	yyj281++
	if yyhl281 {
		yyb281 = yyj281 > l
	} else {
		yyb281 = z.DecCheckBreak()
	}
	if yyb281 {
		z.DecReadArrayEnd()
		return
	}
	z.DecReadArrayElem()
	if r.TryNil() {
		if x.FptrMapStringBytes != nil { // remove the if-true
			x.FptrMapStringBytes = nil
		}
	} else {
		if x.FptrMapStringBytes == nil {
			x.FptrMapStringBytes = new(map[string][]uint8)
		}
		z.F.DecMapStringBytesX(x.FptrMapStringBytes, d)
	}
	yyj281++
	if yyhl281 {
		yyb281 = yyj281 > l
	} else {
		yyb281 = z.DecCheckBreak()
	}
	if yyb281 {
		z.DecReadArrayEnd()
		return
	}
	z.DecReadArrayElem()
	z.F.DecMapStringUint8X(&x.FMapStringUint8, d)
	yyj281++
	if yyhl281 {
		yyb281 = yyj281 > l
	} else {
		yyb281 = z.DecCheckBreak()
	}
	if yyb281 {
		z.DecReadArrayEnd()
		return
	}
	z.DecReadArrayElem()
	if r.TryNil() {
		if x.FptrMapStringUint8 != nil { // remove the if-true
			x.FptrMapStringUint8 = nil
		}
	} else {
		if x.FptrMapStringUint8 == nil {
			x.FptrMapStringUint8 = new(map[string]uint8)
		}
		z.F.DecMapStringUint8X(x.FptrMapStringUint8, d)
	}
	yyj281++
	if yyhl281 {
		yyb281 = yyj281 > l
	} else {
		yyb281 = z.DecCheckBreak()
	}
	if yyb281 {
		z.DecReadArrayEnd()
		return
	}
	z.DecReadArrayElem()
	z.F.DecMapStringUint64X(&x.FMapStringUint64, d)
	yyj281++
	if yyhl281 {
		yyb281 = yyj281 > l
	} else {
		yyb281 = z.DecCheckBreak()
	}
	if yyb281 {
		z.DecReadArrayEnd()
		return
	}
	z.DecReadArrayElem()
	if r.TryNil() {
		if x.FptrMapStringUint64 != nil { // remove the if-true
			x.FptrMapStringUint64 = nil
		}
	} else {
		if x.FptrMapStringUint64 == nil {
			x.FptrMapStringUint64 = new(map[string]uint64)
		}
		z.F.DecMapStringUint64X(x.FptrMapStringUint64, d)
	}
	yyj281++
	if yyhl281 {
		yyb281 = yyj281 > l
	} else {
		yyb281 = z.DecCheckBreak()
	}
	if yyb281 {
		z.DecReadArrayEnd()
		return
	}
	z.DecReadArrayElem()
	z.F.DecMapStringIntX(&x.FMapStringInt, d)
	yyj281++
	if yyhl281 {
		yyb281 = yyj281 > l
	} else {
		yyb281 = z.DecCheckBreak()
	}
	if yyb281 {
		z.DecReadArrayEnd()
		return
	}
	z.DecReadArrayElem()
	if r.TryNil() {
		if x.FptrMapStringInt != nil { // remove the if-true
			x.FptrMapStringInt = nil
		}
	} else {
		if x.FptrMapStringInt == nil {
			x.FptrMapStringInt = new(map[string]int)
		}
		z.F.DecMapStringIntX(x.FptrMapStringInt, d)
	}
	yyj281++
	if yyhl281 {
		yyb281 = yyj281 > l
	} else {
		yyb281 = z.DecCheckBreak()
	}
	if yyb281 {
		z.DecReadArrayEnd()
		return
	}
	z.DecReadArrayElem()
	z.F.DecMapStringInt32X(&x.FMapStringInt32, d)
	yyj281++
	if yyhl281 {
		yyb281 = yyj281 > l
	} else {
		yyb281 = z.DecCheckBreak()
	}
	if yyb281 {
		z.DecReadArrayEnd()
		return
	}
	z.DecReadArrayElem()
	if r.TryNil() {
		if x.FptrMapStringInt32 != nil { // remove the if-true
			x.FptrMapStringInt32 = nil
		}
	} else {
		if x.FptrMapStringInt32 == nil {
			x.FptrMapStringInt32 = new(map[string]int32)
		}
		z.F.DecMapStringInt32X(x.FptrMapStringInt32, d)
	}
	yyj281++
	if yyhl281 {
		yyb281 = yyj281 > l
	} else {
		yyb281 = z.DecCheckBreak()
	}
	if yyb281 {
		z.DecReadArrayEnd()
		return
	}
	z.DecReadArrayElem()
	z.F.DecMapStringFloat64X(&x.FMapStringFloat64, d)
	yyj281++
	if yyhl281 {
		yyb281 = yyj281 > l
	} else {
		yyb281 = z.DecCheckBreak()
	}
	if yyb281 {
		z.DecReadArrayEnd()
		return
	}
	z.DecReadArrayElem()
	if r.TryNil() {
		if x.FptrMapStringFloat64 != nil { // remove the if-true
			x.FptrMapStringFloat64 = nil
		}
	} else {
		if x.FptrMapStringFloat64 == nil {
			x.FptrMapStringFloat64 = new(map[string]float64)
		}
		z.F.DecMapStringFloat64X(x.FptrMapStringFloat64, d)
	}
	yyj281++
	if yyhl281 {
		yyb281 = yyj281 > l
	} else {
		yyb281 = z.DecCheckBreak()
	}
	if yyb281 {
		z.DecReadArrayEnd()
		return
	}
	z.DecReadArrayElem()
	z.F.DecMapStringBoolX(&x.FMapStringBool, d)
	yyj281++
	if yyhl281 {
		yyb281 = yyj281 > l
	} else {
		yyb281 = z.DecCheckBreak()
	}
	if yyb281 {
		z.DecReadArrayEnd()
		return
	}
	z.DecReadArrayElem()
	if r.TryNil() {
		if x.FptrMapStringBool != nil { // remove the if-true
			x.FptrMapStringBool = nil
		}
	} else {
		if x.FptrMapStringBool == nil {
			x.FptrMapStringBool = new(map[string]bool)
		}
		z.F.DecMapStringBoolX(x.FptrMapStringBool, d)
	}
	yyj281++
	if yyhl281 {
		yyb281 = yyj281 > l
	} else {
		yyb281 = z.DecCheckBreak()
	}
	if yyb281 {
		z.DecReadArrayEnd()
		return
	}
	z.DecReadArrayElem()
	z.F.DecMapUint8IntfX(&x.FMapUint8Intf, d)
	yyj281++
	if yyhl281 {
		yyb281 = yyj281 > l
	} else {
		yyb281 = z.DecCheckBreak()
	}
	if yyb281 {
		z.DecReadArrayEnd()
		return
	}
	z.DecReadArrayElem()
	if r.TryNil() {
		if x.FptrMapUint8Intf != nil { // remove the if-true
			x.FptrMapUint8Intf = nil
		}
	} else {
		if x.FptrMapUint8Intf == nil {
			x.FptrMapUint8Intf = new(map[uint8]interface{})
		}
		z.F.DecMapUint8IntfX(x.FptrMapUint8Intf, d)
	}
	yyj281++
	if yyhl281 {
		yyb281 = yyj281 > l
	} else {
		yyb281 = z.DecCheckBreak()
	}
	if yyb281 {
		z.DecReadArrayEnd()
		return
	}
	z.DecReadArrayElem()
	z.F.DecMapUint8StringX(&x.FMapUint8String, d)
	yyj281++
	if yyhl281 {
		yyb281 = yyj281 > l
	} else {
		yyb281 = z.DecCheckBreak()
	}
	if yyb281 {
		z.DecReadArrayEnd()
		return
	}
	z.DecReadArrayElem()
	if r.TryNil() {
		if x.FptrMapUint8String != nil { // remove the if-true
			x.FptrMapUint8String = nil
		}
	} else {
		if x.FptrMapUint8String == nil {
			x.FptrMapUint8String = new(map[uint8]string)
		}
		z.F.DecMapUint8StringX(x.FptrMapUint8String, d)
	}
	yyj281++
	if yyhl281 {
		yyb281 = yyj281 > l
	} else {
		yyb281 = z.DecCheckBreak()
	}
	if yyb281 {
		z.DecReadArrayEnd()
		return
	}
	z.DecReadArrayElem()
	z.F.DecMapUint8BytesX(&x.FMapUint8Bytes, d)
	yyj281++
	if yyhl281 {
		yyb281 = yyj281 > l
	} else {
		yyb281 = z.DecCheckBreak()
	}
	if yyb281 {
		z.DecReadArrayEnd()
		return
	}
	z.DecReadArrayElem()
	if r.TryNil() {
		if x.FptrMapUint8Bytes != nil { // remove the if-true
			x.FptrMapUint8Bytes = nil
		}
	} else {
		if x.FptrMapUint8Bytes == nil {
			x.FptrMapUint8Bytes = new(map[uint8][]uint8)
		}
		z.F.DecMapUint8BytesX(x.FptrMapUint8Bytes, d)
	}
	yyj281++
	if yyhl281 {
		yyb281 = yyj281 > l
	} else {
		yyb281 = z.DecCheckBreak()
	}
	if yyb281 {
		z.DecReadArrayEnd()
		return
	}
	z.DecReadArrayElem()
	z.F.DecMapUint8Uint8X(&x.FMapUint8Uint8, d)
	yyj281++
	if yyhl281 {
		yyb281 = yyj281 > l
	} else {
		yyb281 = z.DecCheckBreak()
	}
	if yyb281 {
		z.DecReadArrayEnd()
		return
	}
	z.DecReadArrayElem()
	if r.TryNil() {
		if x.FptrMapUint8Uint8 != nil { // remove the if-true
			x.FptrMapUint8Uint8 = nil
		}
	} else {
		if x.FptrMapUint8Uint8 == nil {
			x.FptrMapUint8Uint8 = new(map[uint8]uint8)
		}
		z.F.DecMapUint8Uint8X(x.FptrMapUint8Uint8, d)
	}
	yyj281++
	if yyhl281 {
		yyb281 = yyj281 > l
	} else {
		yyb281 = z.DecCheckBreak()
	}
	if yyb281 {
		z.DecReadArrayEnd()
		return
	}
	z.DecReadArrayElem()
	z.F.DecMapUint8Uint64X(&x.FMapUint8Uint64, d)
	yyj281++
	if yyhl281 {
		yyb281 = yyj281 > l
	} else {
		yyb281 = z.DecCheckBreak()
	}
	if yyb281 {
		z.DecReadArrayEnd()
		return
	}
	z.DecReadArrayElem()
	if r.TryNil() {
		if x.FptrMapUint8Uint64 != nil { // remove the if-true
			x.FptrMapUint8Uint64 = nil
		}
	} else {
		if x.FptrMapUint8Uint64 == nil {
			x.FptrMapUint8Uint64 = new(map[uint8]uint64)
		}
		z.F.DecMapUint8Uint64X(x.FptrMapUint8Uint64, d)
	}
	yyj281++
	if yyhl281 {
		yyb281 = yyj281 > l
	} else {
		yyb281 = z.DecCheckBreak()
	}
	if yyb281 {
		z.DecReadArrayEnd()
		return
	}
	z.DecReadArrayElem()
	z.F.DecMapUint8IntX(&x.FMapUint8Int, d)
	yyj281++
	if yyhl281 {
		yyb281 = yyj281 > l
	} else {
		yyb281 = z.DecCheckBreak()
	}
	if yyb281 {
		z.DecReadArrayEnd()
		return
	}
	z.DecReadArrayElem()
	if r.TryNil() {
		if x.FptrMapUint8Int != nil { // remove the if-true
			x.FptrMapUint8Int = nil
		}
	} else {
		if x.FptrMapUint8Int == nil {
			x.FptrMapUint8Int = new(map[uint8]int)
		}
		z.F.DecMapUint8IntX(x.FptrMapUint8Int, d)
	}
	yyj281++
	if yyhl281 {
		yyb281 = yyj281 > l
	} else {
		yyb281 = z.DecCheckBreak()
	}
	if yyb281 {
		z.DecReadArrayEnd()
		return
	}
	z.DecReadArrayElem()
	z.F.DecMapUint8Int32X(&x.FMapUint8Int32, d)
	yyj281++
	if yyhl281 {
		yyb281 = yyj281 > l
	} else {
		yyb281 = z.DecCheckBreak()
	}
	if yyb281 {
		z.DecReadArrayEnd()
		return
	}
	z.DecReadArrayElem()
	if r.TryNil() {
		if x.FptrMapUint8Int32 != nil { // remove the if-true
			x.FptrMapUint8Int32 = nil
		}
	} else {
		if x.FptrMapUint8Int32 == nil {
			x.FptrMapUint8Int32 = new(map[uint8]int32)
		}
		z.F.DecMapUint8Int32X(x.FptrMapUint8Int32, d)
	}
	yyj281++
	if yyhl281 {
		yyb281 = yyj281 > l
	} else {
		yyb281 = z.DecCheckBreak()
	}
	if yyb281 {
		z.DecReadArrayEnd()
		return
	}
	z.DecReadArrayElem()
	z.F.DecMapUint8Float64X(&x.FMapUint8Float64, d)
	yyj281++
	if yyhl281 {
		yyb281 = yyj281 > l
	} else {
		yyb281 = z.DecCheckBreak()
	}
	if yyb281 {
		z.DecReadArrayEnd()
		return
	}
	z.DecReadArrayElem()
	if r.TryNil() {
		if x.FptrMapUint8Float64 != nil { // remove the if-true
			x.FptrMapUint8Float64 = nil
		}
	} else {
		if x.FptrMapUint8Float64 == nil {
			x.FptrMapUint8Float64 = new(map[uint8]float64)
		}
		z.F.DecMapUint8Float64X(x.FptrMapUint8Float64, d)
	}
	yyj281++
	if yyhl281 {
		yyb281 = yyj281 > l
	} else {
		yyb281 = z.DecCheckBreak()
	}
	if yyb281 {
		z.DecReadArrayEnd()
		return
	}
	z.DecReadArrayElem()
	z.F.DecMapUint8BoolX(&x.FMapUint8Bool, d)
	yyj281++
	if yyhl281 {
		yyb281 = yyj281 > l
	} else {
		yyb281 = z.DecCheckBreak()
	}
	if yyb281 {
		z.DecReadArrayEnd()
		return
	}
	z.DecReadArrayElem()
	if r.TryNil() {
		if x.FptrMapUint8Bool != nil { // remove the if-true
			x.FptrMapUint8Bool = nil
		}
	} else {
		if x.FptrMapUint8Bool == nil {
			x.FptrMapUint8Bool = new(map[uint8]bool)
		}
		z.F.DecMapUint8BoolX(x.FptrMapUint8Bool, d)
	}
	yyj281++
	if yyhl281 {
		yyb281 = yyj281 > l
	} else {
		yyb281 = z.DecCheckBreak()
	}
	if yyb281 {
		z.DecReadArrayEnd()
		return
	}
	z.DecReadArrayElem()
	z.F.DecMapUint64IntfX(&x.FMapUint64Intf, d)
	yyj281++
	if yyhl281 {
		yyb281 = yyj281 > l
	} else {
		yyb281 = z.DecCheckBreak()
	}
	if yyb281 {
		z.DecReadArrayEnd()
		return
	}
	z.DecReadArrayElem()
	if r.TryNil() {
		if x.FptrMapUint64Intf != nil { // remove the if-true
			x.FptrMapUint64Intf = nil
		}
	} else {
		if x.FptrMapUint64Intf == nil {
			x.FptrMapUint64Intf = new(map[uint64]interface{})
		}
		z.F.DecMapUint64IntfX(x.FptrMapUint64Intf, d)
	}
	yyj281++
	if yyhl281 {
		yyb281 = yyj281 > l
	} else {
		yyb281 = z.DecCheckBreak()
	}
	if yyb281 {
		z.DecReadArrayEnd()
		return
	}
	z.DecReadArrayElem()
	z.F.DecMapUint64StringX(&x.FMapUint64String, d)
	yyj281++
	if yyhl281 {
		yyb281 = yyj281 > l
	} else {
		yyb281 = z.DecCheckBreak()
	}
	if yyb281 {
		z.DecReadArrayEnd()
		return
	}
	z.DecReadArrayElem()
	if r.TryNil() {
		if x.FptrMapUint64String != nil { // remove the if-true
			x.FptrMapUint64String = nil
		}
	} else {
		if x.FptrMapUint64String == nil {
			x.FptrMapUint64String = new(map[uint64]string)
		}
		z.F.DecMapUint64StringX(x.FptrMapUint64String, d)
	}
	yyj281++
	if yyhl281 {
		yyb281 = yyj281 > l
	} else {
		yyb281 = z.DecCheckBreak()
	}
	if yyb281 {
		z.DecReadArrayEnd()
		return
	}
	z.DecReadArrayElem()
	z.F.DecMapUint64BytesX(&x.FMapUint64Bytes, d)
	yyj281++
	if yyhl281 {
		yyb281 = yyj281 > l
	} else {
		yyb281 = z.DecCheckBreak()
	}
	if yyb281 {
		z.DecReadArrayEnd()
		return
	}
	z.DecReadArrayElem()
	if r.TryNil() {
		if x.FptrMapUint64Bytes != nil { // remove the if-true
			x.FptrMapUint64Bytes = nil
		}
	} else {
		if x.FptrMapUint64Bytes == nil {
			x.FptrMapUint64Bytes = new(map[uint64][]uint8)
		}
		z.F.DecMapUint64BytesX(x.FptrMapUint64Bytes, d)
	}
	yyj281++
	if yyhl281 {
		yyb281 = yyj281 > l
	} else {
		yyb281 = z.DecCheckBreak()
	}
	if yyb281 {
		z.DecReadArrayEnd()
		return
	}
	z.DecReadArrayElem()
	z.F.DecMapUint64Uint8X(&x.FMapUint64Uint8, d)
	yyj281++
	if yyhl281 {
		yyb281 = yyj281 > l
	} else {
		yyb281 = z.DecCheckBreak()
	}
	if yyb281 {
		z.DecReadArrayEnd()
		return
	}
	z.DecReadArrayElem()
	if r.TryNil() {
		if x.FptrMapUint64Uint8 != nil { // remove the if-true
			x.FptrMapUint64Uint8 = nil
		}
	} else {
		if x.FptrMapUint64Uint8 == nil {
			x.FptrMapUint64Uint8 = new(map[uint64]uint8)
		}
		z.F.DecMapUint64Uint8X(x.FptrMapUint64Uint8, d)
	}
	yyj281++
	if yyhl281 {
		yyb281 = yyj281 > l
	} else {
		yyb281 = z.DecCheckBreak()
	}
	if yyb281 {
		z.DecReadArrayEnd()
		return
	}
	z.DecReadArrayElem()
	z.F.DecMapUint64Uint64X(&x.FMapUint64Uint64, d)
	yyj281++
	if yyhl281 {
		yyb281 = yyj281 > l
	} else {
		yyb281 = z.DecCheckBreak()
	}
	if yyb281 {
		z.DecReadArrayEnd()
		return
	}
	z.DecReadArrayElem()
	if r.TryNil() {
		if x.FptrMapUint64Uint64 != nil { // remove the if-true
			x.FptrMapUint64Uint64 = nil
		}
	} else {
		if x.FptrMapUint64Uint64 == nil {
			x.FptrMapUint64Uint64 = new(map[uint64]uint64)
		}
		z.F.DecMapUint64Uint64X(x.FptrMapUint64Uint64, d)
	}
	yyj281++
	if yyhl281 {
		yyb281 = yyj281 > l
	} else {
		yyb281 = z.DecCheckBreak()
	}
	if yyb281 {
		z.DecReadArrayEnd()
		return
	}
	z.DecReadArrayElem()
	z.F.DecMapUint64IntX(&x.FMapUint64Int, d)
	yyj281++
	if yyhl281 {
		yyb281 = yyj281 > l
	} else {
		yyb281 = z.DecCheckBreak()
	}
	if yyb281 {
		z.DecReadArrayEnd()
		return
	}
	z.DecReadArrayElem()
	if r.TryNil() {
		if x.FptrMapUint64Int != nil { // remove the if-true
			x.FptrMapUint64Int = nil
		}
	} else {
		if x.FptrMapUint64Int == nil {
			x.FptrMapUint64Int = new(map[uint64]int)
		}
		z.F.DecMapUint64IntX(x.FptrMapUint64Int, d)
	}
	yyj281++
	if yyhl281 {
		yyb281 = yyj281 > l
	} else {
		yyb281 = z.DecCheckBreak()
	}
	if yyb281 {
		z.DecReadArrayEnd()
		return
	}
	z.DecReadArrayElem()
	z.F.DecMapUint64Int32X(&x.FMapUint64Int32, d)
	yyj281++
	if yyhl281 {
		yyb281 = yyj281 > l
	} else {
		yyb281 = z.DecCheckBreak()
	}
	if yyb281 {
		z.DecReadArrayEnd()
		return
	}
	z.DecReadArrayElem()
	if r.TryNil() {
		if x.FptrMapUint64Int32 != nil { // remove the if-true
			x.FptrMapUint64Int32 = nil
		}
	} else {
		if x.FptrMapUint64Int32 == nil {
			x.FptrMapUint64Int32 = new(map[uint64]int32)
		}
		z.F.DecMapUint64Int32X(x.FptrMapUint64Int32, d)
	}
	yyj281++
	if yyhl281 {
		yyb281 = yyj281 > l
	} else {
		yyb281 = z.DecCheckBreak()
	}
	if yyb281 {
		z.DecReadArrayEnd()
		return
	}
	z.DecReadArrayElem()
	z.F.DecMapUint64Float64X(&x.FMapUint64Float64, d)
	yyj281++
	if yyhl281 {
		yyb281 = yyj281 > l
	} else {
		yyb281 = z.DecCheckBreak()
	}
	if yyb281 {
		z.DecReadArrayEnd()
		return
	}
	z.DecReadArrayElem()
	if r.TryNil() {
		if x.FptrMapUint64Float64 != nil { // remove the if-true
			x.FptrMapUint64Float64 = nil
		}
	} else {
		if x.FptrMapUint64Float64 == nil {
			x.FptrMapUint64Float64 = new(map[uint64]float64)
		}
		z.F.DecMapUint64Float64X(x.FptrMapUint64Float64, d)
	}
	yyj281++
	if yyhl281 {
		yyb281 = yyj281 > l
	} else {
		yyb281 = z.DecCheckBreak()
	}
	if yyb281 {
		z.DecReadArrayEnd()
		return
	}
	z.DecReadArrayElem()
	z.F.DecMapUint64BoolX(&x.FMapUint64Bool, d)
	yyj281++
	if yyhl281 {
		yyb281 = yyj281 > l
	} else {
		yyb281 = z.DecCheckBreak()
	}
	if yyb281 {
		z.DecReadArrayEnd()
		return
	}
	z.DecReadArrayElem()
	if r.TryNil() {
		if x.FptrMapUint64Bool != nil { // remove the if-true
			x.FptrMapUint64Bool = nil
		}
	} else {
		if x.FptrMapUint64Bool == nil {
			x.FptrMapUint64Bool = new(map[uint64]bool)
		}
		z.F.DecMapUint64BoolX(x.FptrMapUint64Bool, d)
	}
	yyj281++
	if yyhl281 {
		yyb281 = yyj281 > l
	} else {
		yyb281 = z.DecCheckBreak()
	}
	if yyb281 {
		z.DecReadArrayEnd()
		return
	}
	z.DecReadArrayElem()
	z.F.DecMapIntIntfX(&x.FMapIntIntf, d)
	yyj281++
	if yyhl281 {
		yyb281 = yyj281 > l
	} else {
		yyb281 = z.DecCheckBreak()
	}
	if yyb281 {
		z.DecReadArrayEnd()
		return
	}
	z.DecReadArrayElem()
	if r.TryNil() {
		if x.FptrMapIntIntf != nil { // remove the if-true
			x.FptrMapIntIntf = nil
		}
	} else {
		if x.FptrMapIntIntf == nil {
			x.FptrMapIntIntf = new(map[int]interface{})
		}
		z.F.DecMapIntIntfX(x.FptrMapIntIntf, d)
	}
	yyj281++
	if yyhl281 {
		yyb281 = yyj281 > l
	} else {
		yyb281 = z.DecCheckBreak()
	}
	if yyb281 {
		z.DecReadArrayEnd()
		return
	}
	z.DecReadArrayElem()
	z.F.DecMapIntStringX(&x.FMapIntString, d)
	yyj281++
	if yyhl281 {
		yyb281 = yyj281 > l
	} else {
		yyb281 = z.DecCheckBreak()
	}
	if yyb281 {
		z.DecReadArrayEnd()
		return
	}
	z.DecReadArrayElem()
	if r.TryNil() {
		if x.FptrMapIntString != nil { // remove the if-true
			x.FptrMapIntString = nil
		}
	} else {
		if x.FptrMapIntString == nil {
			x.FptrMapIntString = new(map[int]string)
		}
		z.F.DecMapIntStringX(x.FptrMapIntString, d)
	}
	yyj281++
	if yyhl281 {
		yyb281 = yyj281 > l
	} else {
		yyb281 = z.DecCheckBreak()
	}
	if yyb281 {
		z.DecReadArrayEnd()
		return
	}
	z.DecReadArrayElem()
	z.F.DecMapIntBytesX(&x.FMapIntBytes, d)
	yyj281++
	if yyhl281 {
		yyb281 = yyj281 > l
	} else {
		yyb281 = z.DecCheckBreak()
	}
	if yyb281 {
		z.DecReadArrayEnd()
		return
	}
	z.DecReadArrayElem()
	if r.TryNil() {
		if x.FptrMapIntBytes != nil { // remove the if-true
			x.FptrMapIntBytes = nil
		}
	} else {
		if x.FptrMapIntBytes == nil {
			x.FptrMapIntBytes = new(map[int][]uint8)
		}
		z.F.DecMapIntBytesX(x.FptrMapIntBytes, d)
	}
	yyj281++
	if yyhl281 {
		yyb281 = yyj281 > l
	} else {
		yyb281 = z.DecCheckBreak()
	}
	if yyb281 {
		z.DecReadArrayEnd()
		return
	}
	z.DecReadArrayElem()
	z.F.DecMapIntUint8X(&x.FMapIntUint8, d)
	yyj281++
	if yyhl281 {
		yyb281 = yyj281 > l
	} else {
		yyb281 = z.DecCheckBreak()
	}
	if yyb281 {
		z.DecReadArrayEnd()
		return
	}
	z.DecReadArrayElem()
	if r.TryNil() {
		if x.FptrMapIntUint8 != nil { // remove the if-true
			x.FptrMapIntUint8 = nil
		}
	} else {
		if x.FptrMapIntUint8 == nil {
			x.FptrMapIntUint8 = new(map[int]uint8)
		}
		z.F.DecMapIntUint8X(x.FptrMapIntUint8, d)
	}
	yyj281++
	if yyhl281 {
		yyb281 = yyj281 > l
	} else {
		yyb281 = z.DecCheckBreak()
	}
	if yyb281 {
		z.DecReadArrayEnd()
		return
	}
	z.DecReadArrayElem()
	z.F.DecMapIntUint64X(&x.FMapIntUint64, d)
	yyj281++
	if yyhl281 {
		yyb281 = yyj281 > l
	} else {
		yyb281 = z.DecCheckBreak()
	}
	if yyb281 {
		z.DecReadArrayEnd()
		return
	}
	z.DecReadArrayElem()
	if r.TryNil() {
		if x.FptrMapIntUint64 != nil { // remove the if-true
			x.FptrMapIntUint64 = nil
		}
	} else {
		if x.FptrMapIntUint64 == nil {
			x.FptrMapIntUint64 = new(map[int]uint64)
		}
		z.F.DecMapIntUint64X(x.FptrMapIntUint64, d)
	}
	yyj281++
	if yyhl281 {
		yyb281 = yyj281 > l
	} else {
		yyb281 = z.DecCheckBreak()
	}
	if yyb281 {
		z.DecReadArrayEnd()
		return
	}
	z.DecReadArrayElem()
	z.F.DecMapIntIntX(&x.FMapIntInt, d)
	yyj281++
	if yyhl281 {
		yyb281 = yyj281 > l
	} else {
		yyb281 = z.DecCheckBreak()
	}
	if yyb281 {
		z.DecReadArrayEnd()
		return
	}
	z.DecReadArrayElem()
	if r.TryNil() {
		if x.FptrMapIntInt != nil { // remove the if-true
			x.FptrMapIntInt = nil
		}
	} else {
		if x.FptrMapIntInt == nil {
			x.FptrMapIntInt = new(map[int]int)
		}
		z.F.DecMapIntIntX(x.FptrMapIntInt, d)
	}
	yyj281++
	if yyhl281 {
		yyb281 = yyj281 > l
	} else {
		yyb281 = z.DecCheckBreak()
	}
	if yyb281 {
		z.DecReadArrayEnd()
		return
	}
	z.DecReadArrayElem()
	z.F.DecMapIntInt32X(&x.FMapIntInt32, d)
	yyj281++
	if yyhl281 {
		yyb281 = yyj281 > l
	} else {
		yyb281 = z.DecCheckBreak()
	}
	if yyb281 {
		z.DecReadArrayEnd()
		return
	}
	z.DecReadArrayElem()
	if r.TryNil() {
		if x.FptrMapIntInt32 != nil { // remove the if-true
			x.FptrMapIntInt32 = nil
		}
	} else {
		if x.FptrMapIntInt32 == nil {
			x.FptrMapIntInt32 = new(map[int]int32)
		}
		z.F.DecMapIntInt32X(x.FptrMapIntInt32, d)
	}
	yyj281++
	if yyhl281 {
		yyb281 = yyj281 > l
	} else {
		yyb281 = z.DecCheckBreak()
	}
	if yyb281 {
		z.DecReadArrayEnd()
		return
	}
	z.DecReadArrayElem()
	z.F.DecMapIntFloat64X(&x.FMapIntFloat64, d)
	yyj281++
	if yyhl281 {
		yyb281 = yyj281 > l
	} else {
		yyb281 = z.DecCheckBreak()
	}
	if yyb281 {
		z.DecReadArrayEnd()
		return
	}
	z.DecReadArrayElem()
	if r.TryNil() {
		if x.FptrMapIntFloat64 != nil { // remove the if-true
			x.FptrMapIntFloat64 = nil
		}
	} else {
		if x.FptrMapIntFloat64 == nil {
			x.FptrMapIntFloat64 = new(map[int]float64)
		}
		z.F.DecMapIntFloat64X(x.FptrMapIntFloat64, d)
	}
	yyj281++
	if yyhl281 {
		yyb281 = yyj281 > l
	} else {
		yyb281 = z.DecCheckBreak()
	}
	if yyb281 {
		z.DecReadArrayEnd()
		return
	}
	z.DecReadArrayElem()
	z.F.DecMapIntBoolX(&x.FMapIntBool, d)
	yyj281++
	if yyhl281 {
		yyb281 = yyj281 > l
	} else {
		yyb281 = z.DecCheckBreak()
	}
	if yyb281 {
		z.DecReadArrayEnd()
		return
	}
	z.DecReadArrayElem()
	if r.TryNil() {
		if x.FptrMapIntBool != nil { // remove the if-true
			x.FptrMapIntBool = nil
		}
	} else {
		if x.FptrMapIntBool == nil {
			x.FptrMapIntBool = new(map[int]bool)
		}
		z.F.DecMapIntBoolX(x.FptrMapIntBool, d)
	}
	yyj281++
	if yyhl281 {
		yyb281 = yyj281 > l
	} else {
		yyb281 = z.DecCheckBreak()
	}
	if yyb281 {
		z.DecReadArrayEnd()
		return
	}
	z.DecReadArrayElem()
	z.F.DecMapInt32IntfX(&x.FMapInt32Intf, d)
	yyj281++
	if yyhl281 {
		yyb281 = yyj281 > l
	} else {
		yyb281 = z.DecCheckBreak()
	}
	if yyb281 {
		z.DecReadArrayEnd()
		return
	}
	z.DecReadArrayElem()
	if r.TryNil() {
		if x.FptrMapInt32Intf != nil { // remove the if-true
			x.FptrMapInt32Intf = nil
		}
	} else {
		if x.FptrMapInt32Intf == nil {
			x.FptrMapInt32Intf = new(map[int32]interface{})
		}
		z.F.DecMapInt32IntfX(x.FptrMapInt32Intf, d)
	}
	yyj281++
	if yyhl281 {
		yyb281 = yyj281 > l
	} else {
		yyb281 = z.DecCheckBreak()
	}
	if yyb281 {
		z.DecReadArrayEnd()
		return
	}
	z.DecReadArrayElem()
	z.F.DecMapInt32StringX(&x.FMapInt32String, d)
	yyj281++
	if yyhl281 {
		yyb281 = yyj281 > l
	} else {
		yyb281 = z.DecCheckBreak()
	}
	if yyb281 {
		z.DecReadArrayEnd()
		return
	}
	z.DecReadArrayElem()
	if r.TryNil() {
		if x.FptrMapInt32String != nil { // remove the if-true
			x.FptrMapInt32String = nil
		}
	} else {
		if x.FptrMapInt32String == nil {
			x.FptrMapInt32String = new(map[int32]string)
		}
		z.F.DecMapInt32StringX(x.FptrMapInt32String, d)
	}
	yyj281++
	if yyhl281 {
		yyb281 = yyj281 > l
	} else {
		yyb281 = z.DecCheckBreak()
	}
	if yyb281 {
		z.DecReadArrayEnd()
		return
	}
	z.DecReadArrayElem()
	z.F.DecMapInt32BytesX(&x.FMapInt32Bytes, d)
	yyj281++
	if yyhl281 {
		yyb281 = yyj281 > l
	} else {
		yyb281 = z.DecCheckBreak()
	}
	if yyb281 {
		z.DecReadArrayEnd()
		return
	}
	z.DecReadArrayElem()
	if r.TryNil() {
		if x.FptrMapInt32Bytes != nil { // remove the if-true
			x.FptrMapInt32Bytes = nil
		}
	} else {
		if x.FptrMapInt32Bytes == nil {
			x.FptrMapInt32Bytes = new(map[int32][]uint8)
		}
		z.F.DecMapInt32BytesX(x.FptrMapInt32Bytes, d)
	}
	yyj281++
	if yyhl281 {
		yyb281 = yyj281 > l
	} else {
		yyb281 = z.DecCheckBreak()
	}
	if yyb281 {
		z.DecReadArrayEnd()
		return
	}
	z.DecReadArrayElem()
	z.F.DecMapInt32Uint8X(&x.FMapInt32Uint8, d)
	yyj281++
	if yyhl281 {
		yyb281 = yyj281 > l
	} else {
		yyb281 = z.DecCheckBreak()
	}
	if yyb281 {
		z.DecReadArrayEnd()
		return
	}
	z.DecReadArrayElem()
	if r.TryNil() {
		if x.FptrMapInt32Uint8 != nil { // remove the if-true
			x.FptrMapInt32Uint8 = nil
		}
	} else {
		if x.FptrMapInt32Uint8 == nil {
			x.FptrMapInt32Uint8 = new(map[int32]uint8)
		}
		z.F.DecMapInt32Uint8X(x.FptrMapInt32Uint8, d)
	}
	yyj281++
	if yyhl281 {
		yyb281 = yyj281 > l
	} else {
		yyb281 = z.DecCheckBreak()
	}
	if yyb281 {
		z.DecReadArrayEnd()
		return
	}
	z.DecReadArrayElem()
	z.F.DecMapInt32Uint64X(&x.FMapInt32Uint64, d)
	yyj281++
	if yyhl281 {
		yyb281 = yyj281 > l
	} else {
		yyb281 = z.DecCheckBreak()
	}
	if yyb281 {
		z.DecReadArrayEnd()
		return
	}
	z.DecReadArrayElem()
	if r.TryNil() {
		if x.FptrMapInt32Uint64 != nil { // remove the if-true
			x.FptrMapInt32Uint64 = nil
		}
	} else {
		if x.FptrMapInt32Uint64 == nil {
			x.FptrMapInt32Uint64 = new(map[int32]uint64)
		}
		z.F.DecMapInt32Uint64X(x.FptrMapInt32Uint64, d)
	}
	yyj281++
	if yyhl281 {
		yyb281 = yyj281 > l
	} else {
		yyb281 = z.DecCheckBreak()
	}
	if yyb281 {
		z.DecReadArrayEnd()
		return
	}
	z.DecReadArrayElem()
	z.F.DecMapInt32IntX(&x.FMapInt32Int, d)
	yyj281++
	if yyhl281 {
		yyb281 = yyj281 > l
	} else {
		yyb281 = z.DecCheckBreak()
	}
	if yyb281 {
		z.DecReadArrayEnd()
		return
	}
	z.DecReadArrayElem()
	if r.TryNil() {
		if x.FptrMapInt32Int != nil { // remove the if-true
			x.FptrMapInt32Int = nil
		}
	} else {
		if x.FptrMapInt32Int == nil {
			x.FptrMapInt32Int = new(map[int32]int)
		}
		z.F.DecMapInt32IntX(x.FptrMapInt32Int, d)
	}
	yyj281++
	if yyhl281 {
		yyb281 = yyj281 > l
	} else {
		yyb281 = z.DecCheckBreak()
	}
	if yyb281 {
		z.DecReadArrayEnd()
		return
	}
	z.DecReadArrayElem()
	z.F.DecMapInt32Int32X(&x.FMapInt32Int32, d)
	yyj281++
	if yyhl281 {
		yyb281 = yyj281 > l
	} else {
		yyb281 = z.DecCheckBreak()
	}
	if yyb281 {
		z.DecReadArrayEnd()
		return
	}
	z.DecReadArrayElem()
	if r.TryNil() {
		if x.FptrMapInt32Int32 != nil { // remove the if-true
			x.FptrMapInt32Int32 = nil
		}
	} else {
		if x.FptrMapInt32Int32 == nil {
			x.FptrMapInt32Int32 = new(map[int32]int32)
		}
		z.F.DecMapInt32Int32X(x.FptrMapInt32Int32, d)
	}
	yyj281++
	if yyhl281 {
		yyb281 = yyj281 > l
	} else {
		yyb281 = z.DecCheckBreak()
	}
	if yyb281 {
		z.DecReadArrayEnd()
		return
	}
	z.DecReadArrayElem()
	z.F.DecMapInt32Float64X(&x.FMapInt32Float64, d)
	yyj281++
	if yyhl281 {
		yyb281 = yyj281 > l
	} else {
		yyb281 = z.DecCheckBreak()
	}
	if yyb281 {
		z.DecReadArrayEnd()
		return
	}
	z.DecReadArrayElem()
	if r.TryNil() {
		if x.FptrMapInt32Float64 != nil { // remove the if-true
			x.FptrMapInt32Float64 = nil
		}
	} else {
		if x.FptrMapInt32Float64 == nil {
			x.FptrMapInt32Float64 = new(map[int32]float64)
		}
		z.F.DecMapInt32Float64X(x.FptrMapInt32Float64, d)
	}
	yyj281++
	if yyhl281 {
		yyb281 = yyj281 > l
	} else {
		yyb281 = z.DecCheckBreak()
	}
	if yyb281 {
		z.DecReadArrayEnd()
		return
	}
	z.DecReadArrayElem()
	z.F.DecMapInt32BoolX(&x.FMapInt32Bool, d)
	yyj281++
	if yyhl281 {
		yyb281 = yyj281 > l
	} else {
		yyb281 = z.DecCheckBreak()
	}
	if yyb281 {
		z.DecReadArrayEnd()
		return
	}
	z.DecReadArrayElem()
	if r.TryNil() {
		if x.FptrMapInt32Bool != nil { // remove the if-true
			x.FptrMapInt32Bool = nil
		}
	} else {
		if x.FptrMapInt32Bool == nil {
			x.FptrMapInt32Bool = new(map[int32]bool)
		}
		z.F.DecMapInt32BoolX(x.FptrMapInt32Bool, d)
	}
	for {
		yyj281++
		if yyhl281 {
			yyb281 = yyj281 > l
		} else {
			yyb281 = z.DecCheckBreak()
		}
		if yyb281 {
			break
		}
		z.DecReadArrayElem()
		z.DecStructFieldNotFound(yyj281-1, "")
	}
}

func (x *TestMammoth2) IsCodecEmpty() bool {
	return !(x.FIntf != nil || x.FString != "" || len(x.FBytes) != 0 || x.FFloat32 != 0 || x.FFloat64 != 0 || x.FUint != 0 || x.FUint8 != 0 || x.FUint16 != 0 || x.FUint32 != 0 || x.FUint64 != 0 || x.FUintptr != 0 || x.FInt != 0 || x.FInt8 != 0 || x.FInt16 != 0 || x.FInt32 != 0 || x.FInt64 != 0 || bool(x.FBool) || len(x.FSliceIntf) != 0 || len(x.FSliceString) != 0 || len(x.FSliceBytes) != 0 || len(x.FSliceFloat32) != 0 || len(x.FSliceFloat64) != 0 || len(x.FSliceUint8) != 0 || len(x.FSliceUint64) != 0 || len(x.FSliceInt) != 0 || len(x.FSliceInt32) != 0 || len(x.FSliceInt64) != 0 || len(x.FSliceBool) != 0 || len(x.FMapStringIntf) != 0 || len(x.FMapStringString) != 0 || len(x.FMapStringBytes) != 0 || len(x.FMapStringUint8) != 0 || len(x.FMapStringUint64) != 0 || len(x.FMapStringInt) != 0 || len(x.FMapStringInt32) != 0 || len(x.FMapStringFloat64) != 0 || len(x.FMapStringBool) != 0 || len(x.FMapUint8Intf) != 0 || len(x.FMapUint8String) != 0 || len(x.FMapUint8Bytes) != 0 || len(x.FMapUint8Uint8) != 0 || len(x.FMapUint8Uint64) != 0 || len(x.FMapUint8Int) != 0 || len(x.FMapUint8Int32) != 0 || len(x.FMapUint8Float64) != 0 || len(x.FMapUint8Bool) != 0 || len(x.FMapUint64Intf) != 0 || len(x.FMapUint64String) != 0 || len(x.FMapUint64Bytes) != 0 || len(x.FMapUint64Uint8) != 0 || len(x.FMapUint64Uint64) != 0 || len(x.FMapUint64Int) != 0 || len(x.FMapUint64Int32) != 0 || len(x.FMapUint64Float64) != 0 || len(x.FMapUint64Bool) != 0 || len(x.FMapIntIntf) != 0 || len(x.FMapIntString) != 0 || len(x.FMapIntBytes) != 0 || len(x.FMapIntUint8) != 0 || len(x.FMapIntUint64) != 0 || len(x.FMapIntInt) != 0 || len(x.FMapIntInt32) != 0 || len(x.FMapIntFloat64) != 0 || len(x.FMapIntBool) != 0 || len(x.FMapInt32Intf) != 0 || len(x.FMapInt32String) != 0 || len(x.FMapInt32Bytes) != 0 || len(x.FMapInt32Uint8) != 0 || len(x.FMapInt32Uint64) != 0 || len(x.FMapInt32Int) != 0 || len(x.FMapInt32Int32) != 0 || len(x.FMapInt32Float64) != 0 || len(x.FMapInt32Bool) != 0 || false)
}

func (testMammoth2Binary) codecSelferViaCodecgen() {}
func (x testMammoth2Binary) CodecEncodeSelf(e *Encoder) {
	var h codecSelfer19781
	z, r := GenHelper().Encoder(e)
	_, _, _ = h, z, r
	if z.EncBinary() {
		z.EncBinaryMarshal(x)
	} else {
		r.EncodeUint(uint64(x))
	}
}

func (x *testMammoth2Binary) CodecDecodeSelf(d *Decoder) {
	var h codecSelfer19781
	z, r := GenHelper().Decoder(d)
	_, _, _ = h, z, r
	if z.DecBinary() {
		z.DecBinaryUnmarshal(x)
	} else {
		*x = (testMammoth2Binary)(r.DecodeUint64())
	}
}

func (testMammoth2Text) codecSelferViaCodecgen() {}
func (x testMammoth2Text) CodecEncodeSelf(e *Encoder) {
	var h codecSelfer19781
	z, r := GenHelper().Encoder(e)
	_, _, _ = h, z, r
	if !z.EncBinary() {
		z.EncTextMarshal(x)
	} else {
		r.EncodeUint(uint64(x))
	}
}

func (x *testMammoth2Text) CodecDecodeSelf(d *Decoder) {
	var h codecSelfer19781
	z, r := GenHelper().Decoder(d)
	_, _, _ = h, z, r
	if !z.DecBinary() {
		z.DecTextUnmarshal(x)
	} else {
		*x = (testMammoth2Text)(r.DecodeUint64())
	}
}

func (testMammoth2Json) codecSelferViaCodecgen() {}
func (x testMammoth2Json) CodecEncodeSelf(e *Encoder) {
	var h codecSelfer19781
	z, r := GenHelper().Encoder(e)
	_, _, _ = h, z, r
	if !z.EncBinary() && z.IsJSONHandle() {
		z.EncJSONMarshal(x)
	} else {
		r.EncodeUint(uint64(x))
	}
}

func (x *testMammoth2Json) CodecDecodeSelf(d *Decoder) {
	var h codecSelfer19781
	z, r := GenHelper().Decoder(d)
	_, _, _ = h, z, r
	if !z.DecBinary() && z.IsJSONHandle() {
		z.DecJSONUnmarshal(x)
	} else {
		*x = (testMammoth2Json)(r.DecodeUint64())
	}
}

func (testMammoth2Basic) codecSelferViaCodecgen() {}
func (x *testMammoth2Basic) CodecEncodeSelf(e *Encoder) {
	var h codecSelfer19781
	z, r := GenHelper().Encoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		z.F.EncSliceUint64V(([]uint64)(x[:]), e)
	}
}

func (x *testMammoth2Basic) CodecDecodeSelf(d *Decoder) {
	var h codecSelfer19781
	z, r := GenHelper().Decoder(d)
	_, _, _ = h, z, r
	z.F.DecSliceUint64N(([]uint64)(x[:]), d)
}

func (TestMammoth2Wrapper) codecSelferViaCodecgen() {}
func (x *TestMammoth2Wrapper) CodecEncodeSelf(e *Encoder) {
	var h codecSelfer19781
	z, r := GenHelper().Encoder(e)
	_, _, _ = h, z, r
	if z.EncBasicHandle().CheckCircularRef {
		z.EncEncode(x)
		return
	}
	if x == nil {
		r.EncodeNil()
	} else {
		yy2arr2 := z.EncBasicHandle().StructToArray
		_ = yy2arr2
		const yyr2 bool = false // struct tag has 'toArray'
		var yyn14 bool = x.Tpbytes == nil
		if yyr2 || yy2arr2 {
			z.EncWriteArrayStart(12)
			z.EncWriteArrayElem()
			yy15 := &x.V
			if yyxt16 := z.Extension(yy15); yyxt16 != nil {
				z.EncExtension(yy15, yyxt16)
			} else {
				yy15.CodecEncodeSelf(e)
			}
			z.EncWriteArrayElem()
			if yyxt17 := z.Extension(x.T); yyxt17 != nil {
				z.EncExtension(x.T, yyxt17)
			} else {
				x.T.CodecEncodeSelf(e)
			}
			z.EncWriteArrayElem()
			if yyxt18 := z.Extension(x.B); yyxt18 != nil {
				z.EncExtension(x.B, yyxt18)
			} else {
				x.B.CodecEncodeSelf(e)
			}
			z.EncWriteArrayElem()
			if yyxt19 := z.Extension(x.J); yyxt19 != nil {
				z.EncExtension(x.J, yyxt19)
			} else {
				x.J.CodecEncodeSelf(e)
			}
			z.EncWriteArrayElem()
			yy20 := &x.C
			if yyxt21 := z.Extension(yy20); yyxt21 != nil {
				z.EncExtension(yy20, yyxt21)
			} else {
				yy20.CodecEncodeSelf(e)
			}
			z.EncWriteArrayElem()
			if x.M == nil {
				r.EncodeNil()
			} else {
				h.encMaptestMammoth2BasicTestMammoth2((map[testMammoth2Basic]TestMammoth2)(x.M), e)
			} // end block: if x.M map == nil
			z.EncWriteArrayElem()
			if x.L == nil {
				r.EncodeNil()
			} else {
				h.encSliceTestMammoth2(([]TestMammoth2)(x.L), e)
			} // end block: if x.L slice == nil
			z.EncWriteArrayElem()
			yy24 := &x.A
			h.encArray4int64((*[4]int64)(yy24), e)
			z.EncWriteArrayElem()
			z.EncEncodeComplex128(complex128(x.Tcomplex128))
			z.EncWriteArrayElem()
			z.EncEncodeComplex64(complex64(x.Tcomplex64))
			z.EncWriteArrayElem()
			if x.Tbytes == nil {
				r.EncodeNil()
			} else {
				r.EncodeStringBytesRaw([]byte(x.Tbytes))
			} // end block: if x.Tbytes slice == nil
			if yyn14 {
				z.EncWriteArrayElem()
				r.EncodeNil()
			} else {
				z.EncWriteArrayElem()
				yy29 := *x.Tpbytes
				if yy29 == nil {
					r.EncodeNil()
				} else {
					r.EncodeStringBytesRaw([]byte(yy29))
				} // end block: if yy29 slice == nil
			}
			z.EncWriteArrayEnd()
		} else {
			z.EncWriteMapStart(12)
			if z.EncBasicHandle().Canonical {
				z.EncWriteMapElemKey()
				if z.IsJSONHandle() {
					z.WriteStr("\"A\"")
				} else {
					r.EncodeString(`A`)
				}
				z.EncWriteMapElemValue()
				yy31 := &x.A
				h.encArray4int64((*[4]int64)(yy31), e)
				z.EncWriteMapElemKey()
				if z.IsJSONHandle() {
					z.WriteStr("\"B\"")
				} else {
					r.EncodeString(`B`)
				}
				z.EncWriteMapElemValue()
				if yyxt33 := z.Extension(x.B); yyxt33 != nil {
					z.EncExtension(x.B, yyxt33)
				} else {
					x.B.CodecEncodeSelf(e)
				}
				z.EncWriteMapElemKey()
				if z.IsJSONHandle() {
					z.WriteStr("\"C\"")
				} else {
					r.EncodeString(`C`)
				}
				z.EncWriteMapElemValue()
				yy34 := &x.C
				if yyxt35 := z.Extension(yy34); yyxt35 != nil {
					z.EncExtension(yy34, yyxt35)
				} else {
					yy34.CodecEncodeSelf(e)
				}
				z.EncWriteMapElemKey()
				if z.IsJSONHandle() {
					z.WriteStr("\"J\"")
				} else {
					r.EncodeString(`J`)
				}
				z.EncWriteMapElemValue()
				if yyxt36 := z.Extension(x.J); yyxt36 != nil {
					z.EncExtension(x.J, yyxt36)
				} else {
					x.J.CodecEncodeSelf(e)
				}
				z.EncWriteMapElemKey()
				if z.IsJSONHandle() {
					z.WriteStr("\"L\"")
				} else {
					r.EncodeString(`L`)
				}
				z.EncWriteMapElemValue()
				if x.L == nil {
					r.EncodeNil()
				} else {
					h.encSliceTestMammoth2(([]TestMammoth2)(x.L), e)
				} // end block: if x.L slice == nil
				z.EncWriteMapElemKey()
				if z.IsJSONHandle() {
					z.WriteStr("\"M\"")
				} else {
					r.EncodeString(`M`)
				}
				z.EncWriteMapElemValue()
				if x.M == nil {
					r.EncodeNil()
				} else {
					h.encMaptestMammoth2BasicTestMammoth2((map[testMammoth2Basic]TestMammoth2)(x.M), e)
				} // end block: if x.M map == nil
				z.EncWriteMapElemKey()
				if z.IsJSONHandle() {
					z.WriteStr("\"T\"")
				} else {
					r.EncodeString(`T`)
				}
				z.EncWriteMapElemValue()
				if yyxt39 := z.Extension(x.T); yyxt39 != nil {
					z.EncExtension(x.T, yyxt39)
				} else {
					x.T.CodecEncodeSelf(e)
				}
				z.EncWriteMapElemKey()
				if z.IsJSONHandle() {
					z.WriteStr("\"Tbytes\"")
				} else {
					r.EncodeString(`Tbytes`)
				}
				z.EncWriteMapElemValue()
				if x.Tbytes == nil {
					r.EncodeNil()
				} else {
					r.EncodeStringBytesRaw([]byte(x.Tbytes))
				} // end block: if x.Tbytes slice == nil
				z.EncWriteMapElemKey()
				if z.IsJSONHandle() {
					z.WriteStr("\"Tcomplex128\"")
				} else {
					r.EncodeString(`Tcomplex128`)
				}
				z.EncWriteMapElemValue()
				z.EncEncodeComplex128(complex128(x.Tcomplex128))
				z.EncWriteMapElemKey()
				if z.IsJSONHandle() {
					z.WriteStr("\"Tcomplex64\"")
				} else {
					r.EncodeString(`Tcomplex64`)
				}
				z.EncWriteMapElemValue()
				z.EncEncodeComplex64(complex64(x.Tcomplex64))
				z.EncWriteMapElemKey()
				if z.IsJSONHandle() {
					z.WriteStr("\"Tpbytes\"")
				} else {
					r.EncodeString(`Tpbytes`)
				}
				z.EncWriteMapElemValue()
				if yyn14 {
					r.EncodeNil()
				} else {
					yy43 := *x.Tpbytes
					if yy43 == nil {
						r.EncodeNil()
					} else {
						r.EncodeStringBytesRaw([]byte(yy43))
					} // end block: if yy43 slice == nil
				}
				z.EncWriteMapElemKey()
				if z.IsJSONHandle() {
					z.WriteStr("\"V\"")
				} else {
					r.EncodeString(`V`)
				}
				z.EncWriteMapElemValue()
				yy45 := &x.V
				if yyxt46 := z.Extension(yy45); yyxt46 != nil {
					z.EncExtension(yy45, yyxt46)
				} else {
					yy45.CodecEncodeSelf(e)
				}
			} else {
				z.EncWriteMapElemKey()
				if z.IsJSONHandle() {
					z.WriteStr("\"V\"")
				} else {
					r.EncodeString(`V`)
				}
				z.EncWriteMapElemValue()
				yy47 := &x.V
				if yyxt48 := z.Extension(yy47); yyxt48 != nil {
					z.EncExtension(yy47, yyxt48)
				} else {
					yy47.CodecEncodeSelf(e)
				}
				z.EncWriteMapElemKey()
				if z.IsJSONHandle() {
					z.WriteStr("\"T\"")
				} else {
					r.EncodeString(`T`)
				}
				z.EncWriteMapElemValue()
				if yyxt49 := z.Extension(x.T); yyxt49 != nil {
					z.EncExtension(x.T, yyxt49)
				} else {
					x.T.CodecEncodeSelf(e)
				}
				z.EncWriteMapElemKey()
				if z.IsJSONHandle() {
					z.WriteStr("\"B\"")
				} else {
					r.EncodeString(`B`)
				}
				z.EncWriteMapElemValue()
				if yyxt50 := z.Extension(x.B); yyxt50 != nil {
					z.EncExtension(x.B, yyxt50)
				} else {
					x.B.CodecEncodeSelf(e)
				}
				z.EncWriteMapElemKey()
				if z.IsJSONHandle() {
					z.WriteStr("\"J\"")
				} else {
					r.EncodeString(`J`)
				}
				z.EncWriteMapElemValue()
				if yyxt51 := z.Extension(x.J); yyxt51 != nil {
					z.EncExtension(x.J, yyxt51)
				} else {
					x.J.CodecEncodeSelf(e)
				}
				z.EncWriteMapElemKey()
				if z.IsJSONHandle() {
					z.WriteStr("\"C\"")
				} else {
					r.EncodeString(`C`)
				}
				z.EncWriteMapElemValue()
				yy52 := &x.C
				if yyxt53 := z.Extension(yy52); yyxt53 != nil {
					z.EncExtension(yy52, yyxt53)
				} else {
					yy52.CodecEncodeSelf(e)
				}
				z.EncWriteMapElemKey()
				if z.IsJSONHandle() {
					z.WriteStr("\"M\"")
				} else {
					r.EncodeString(`M`)
				}
				z.EncWriteMapElemValue()
				if x.M == nil {
					r.EncodeNil()
				} else {
					h.encMaptestMammoth2BasicTestMammoth2((map[testMammoth2Basic]TestMammoth2)(x.M), e)
				} // end block: if x.M map == nil
				z.EncWriteMapElemKey()
				if z.IsJSONHandle() {
					z.WriteStr("\"L\"")
				} else {
					r.EncodeString(`L`)
				}
				z.EncWriteMapElemValue()
				if x.L == nil {
					r.EncodeNil()
				} else {
					h.encSliceTestMammoth2(([]TestMammoth2)(x.L), e)
				} // end block: if x.L slice == nil
				z.EncWriteMapElemKey()
				if z.IsJSONHandle() {
					z.WriteStr("\"A\"")
				} else {
					r.EncodeString(`A`)
				}
				z.EncWriteMapElemValue()
				yy56 := &x.A
				h.encArray4int64((*[4]int64)(yy56), e)
				z.EncWriteMapElemKey()
				if z.IsJSONHandle() {
					z.WriteStr("\"Tcomplex128\"")
				} else {
					r.EncodeString(`Tcomplex128`)
				}
				z.EncWriteMapElemValue()
				z.EncEncodeComplex128(complex128(x.Tcomplex128))
				z.EncWriteMapElemKey()
				if z.IsJSONHandle() {
					z.WriteStr("\"Tcomplex64\"")
				} else {
					r.EncodeString(`Tcomplex64`)
				}
				z.EncWriteMapElemValue()
				z.EncEncodeComplex64(complex64(x.Tcomplex64))
				z.EncWriteMapElemKey()
				if z.IsJSONHandle() {
					z.WriteStr("\"Tbytes\"")
				} else {
					r.EncodeString(`Tbytes`)
				}
				z.EncWriteMapElemValue()
				if x.Tbytes == nil {
					r.EncodeNil()
				} else {
					r.EncodeStringBytesRaw([]byte(x.Tbytes))
				} // end block: if x.Tbytes slice == nil
				z.EncWriteMapElemKey()
				if z.IsJSONHandle() {
					z.WriteStr("\"Tpbytes\"")
				} else {
					r.EncodeString(`Tpbytes`)
				}
				z.EncWriteMapElemValue()
				if yyn14 {
					r.EncodeNil()
				} else {
					yy61 := *x.Tpbytes
					if yy61 == nil {
						r.EncodeNil()
					} else {
						r.EncodeStringBytesRaw([]byte(yy61))
					} // end block: if yy61 slice == nil
				}
			}
			z.EncWriteMapEnd()
		}
	}
}

func (x *TestMammoth2Wrapper) CodecDecodeSelf(d *Decoder) {
	var h codecSelfer19781
	z, r := GenHelper().Decoder(d)
	_, _, _ = h, z, r
	yyct2 := r.ContainerType()
	if yyct2 == codecSelferValueTypeNil19781 {
		*(x) = TestMammoth2Wrapper{}
	} else if yyct2 == codecSelferValueTypeMap19781 {
		yyl2 := z.DecReadMapStart()
		if yyl2 == 0 {
		} else {
			x.codecDecodeSelfFromMap(yyl2, d)
		}
		z.DecReadMapEnd()
	} else if yyct2 == codecSelferValueTypeArray19781 {
		yyl2 := z.DecReadArrayStart()
		if yyl2 != 0 {
			x.codecDecodeSelfFromArray(yyl2, d)
		}
		z.DecReadArrayEnd()
	} else {
		panic(errCodecSelferOnlyMapOrArrayEncodeToStruct19781)
	}
}

func (x *TestMammoth2Wrapper) codecDecodeSelfFromMap(l int, d *Decoder) {
	var h codecSelfer19781
	z, r := GenHelper().Decoder(d)
	_, _, _ = h, z, r
	var yyhl3 bool = l >= 0
	for yyj3 := 0; ; yyj3++ {
		if yyhl3 {
			if yyj3 >= l {
				break
			}
		} else {
			if z.DecCheckBreak() {
				break
			}
		}
		z.DecReadMapElemKey()
		yys3 := r.DecodeStringAsBytes()
		z.DecReadMapElemValue()
		switch string(yys3) {
		case "V":
			if yyxt5 := z.Extension(x.V); yyxt5 != nil {
				z.DecExtension(&x.V, yyxt5)
			} else {
				x.V.CodecDecodeSelf(d)
			}
		case "T":
			if yyxt7 := z.Extension(x.T); yyxt7 != nil {
				z.DecExtension(&x.T, yyxt7)
			} else {
				x.T.CodecDecodeSelf(d)
			}
		case "B":
			if yyxt9 := z.Extension(x.B); yyxt9 != nil {
				z.DecExtension(&x.B, yyxt9)
			} else {
				x.B.CodecDecodeSelf(d)
			}
		case "J":
			if yyxt11 := z.Extension(x.J); yyxt11 != nil {
				z.DecExtension(&x.J, yyxt11)
			} else {
				x.J.CodecDecodeSelf(d)
			}
		case "C":
			if yyxt13 := z.Extension(x.C); yyxt13 != nil {
				z.DecExtension(&x.C, yyxt13)
			} else {
				x.C.CodecDecodeSelf(d)
			}
		case "M":
			h.decMaptestMammoth2BasicTestMammoth2((*map[testMammoth2Basic]TestMammoth2)(&x.M), d)
		case "L":
			h.decSliceTestMammoth2((*[]TestMammoth2)(&x.L), d)
		case "A":
			h.decArray4int64((*[4]int64)(&x.A), d)
		case "Tcomplex128":
			x.Tcomplex128 = (complex128)(complex(r.DecodeFloat64(), 0))
		case "Tcomplex64":
			x.Tcomplex64 = (complex64)(complex(z.DecDecodeFloat32(), 0))
		case "Tbytes":
			x.Tbytes = z.DecodeBytesInto(([]byte)(x.Tbytes))
		case "Tpbytes":
			if r.TryNil() {
				if x.Tpbytes != nil { // remove the if-true
					x.Tpbytes = nil
				}
			} else {
				if x.Tpbytes == nil {
					x.Tpbytes = new([]uint8)
				}
				*x.Tpbytes = z.DecodeBytesInto(*(*[]byte)(x.Tpbytes))
			}
		default:
			z.DecStructFieldNotFound(-1, string(yys3))
		} // end switch yys3
	} // end for yyj3
}

func (x *TestMammoth2Wrapper) codecDecodeSelfFromArray(l int, d *Decoder) {
	var h codecSelfer19781
	z, r := GenHelper().Decoder(d)
	_, _, _ = h, z, r
	var yyj26 int
	var yyb26 bool
	var yyhl26 bool = l >= 0
	yyj26++
	if yyhl26 {
		yyb26 = yyj26 > l
	} else {
		yyb26 = z.DecCheckBreak()
	}
	if yyb26 {
		z.DecReadArrayEnd()
		return
	}
	z.DecReadArrayElem()
	if yyxt28 := z.Extension(x.V); yyxt28 != nil {
		z.DecExtension(&x.V, yyxt28)
	} else {
		x.V.CodecDecodeSelf(d)
	}
	yyj26++
	if yyhl26 {
		yyb26 = yyj26 > l
	} else {
		yyb26 = z.DecCheckBreak()
	}
	if yyb26 {
		z.DecReadArrayEnd()
		return
	}
	z.DecReadArrayElem()
	if yyxt30 := z.Extension(x.T); yyxt30 != nil {
		z.DecExtension(&x.T, yyxt30)
	} else {
		x.T.CodecDecodeSelf(d)
	}
	yyj26++
	if yyhl26 {
		yyb26 = yyj26 > l
	} else {
		yyb26 = z.DecCheckBreak()
	}
	if yyb26 {
		z.DecReadArrayEnd()
		return
	}
	z.DecReadArrayElem()
	if yyxt32 := z.Extension(x.B); yyxt32 != nil {
		z.DecExtension(&x.B, yyxt32)
	} else {
		x.B.CodecDecodeSelf(d)
	}
	yyj26++
	if yyhl26 {
		yyb26 = yyj26 > l
	} else {
		yyb26 = z.DecCheckBreak()
	}
	if yyb26 {
		z.DecReadArrayEnd()
		return
	}
	z.DecReadArrayElem()
	if yyxt34 := z.Extension(x.J); yyxt34 != nil {
		z.DecExtension(&x.J, yyxt34)
	} else {
		x.J.CodecDecodeSelf(d)
	}
	yyj26++
	if yyhl26 {
		yyb26 = yyj26 > l
	} else {
		yyb26 = z.DecCheckBreak()
	}
	if yyb26 {
		z.DecReadArrayEnd()
		return
	}
	z.DecReadArrayElem()
	if yyxt36 := z.Extension(x.C); yyxt36 != nil {
		z.DecExtension(&x.C, yyxt36)
	} else {
		x.C.CodecDecodeSelf(d)
	}
	yyj26++
	if yyhl26 {
		yyb26 = yyj26 > l
	} else {
		yyb26 = z.DecCheckBreak()
	}
	if yyb26 {
		z.DecReadArrayEnd()
		return
	}
	z.DecReadArrayElem()
	h.decMaptestMammoth2BasicTestMammoth2((*map[testMammoth2Basic]TestMammoth2)(&x.M), d)
	yyj26++
	if yyhl26 {
		yyb26 = yyj26 > l
	} else {
		yyb26 = z.DecCheckBreak()
	}
	if yyb26 {
		z.DecReadArrayEnd()
		return
	}
	z.DecReadArrayElem()
	h.decSliceTestMammoth2((*[]TestMammoth2)(&x.L), d)
	yyj26++
	if yyhl26 {
		yyb26 = yyj26 > l
	} else {
		yyb26 = z.DecCheckBreak()
	}
	if yyb26 {
		z.DecReadArrayEnd()
		return
	}
	z.DecReadArrayElem()
	h.decArray4int64((*[4]int64)(&x.A), d)
	yyj26++
	if yyhl26 {
		yyb26 = yyj26 > l
	} else {
		yyb26 = z.DecCheckBreak()
	}
	if yyb26 {
		z.DecReadArrayEnd()
		return
	}
	z.DecReadArrayElem()
	x.Tcomplex128 = (complex128)(complex(r.DecodeFloat64(), 0))
	yyj26++
	if yyhl26 {
		yyb26 = yyj26 > l
	} else {
		yyb26 = z.DecCheckBreak()
	}
	if yyb26 {
		z.DecReadArrayEnd()
		return
	}
	z.DecReadArrayElem()
	x.Tcomplex64 = (complex64)(complex(z.DecDecodeFloat32(), 0))
	yyj26++
	if yyhl26 {
		yyb26 = yyj26 > l
	} else {
		yyb26 = z.DecCheckBreak()
	}
	if yyb26 {
		z.DecReadArrayEnd()
		return
	}
	z.DecReadArrayElem()
	x.Tbytes = z.DecodeBytesInto(([]byte)(x.Tbytes))
	yyj26++
	if yyhl26 {
		yyb26 = yyj26 > l
	} else {
		yyb26 = z.DecCheckBreak()
	}
	if yyb26 {
		z.DecReadArrayEnd()
		return
	}
	z.DecReadArrayElem()
	if r.TryNil() {
		if x.Tpbytes != nil { // remove the if-true
			x.Tpbytes = nil
		}
	} else {
		if x.Tpbytes == nil {
			x.Tpbytes = new([]uint8)
		}
		*x.Tpbytes = z.DecodeBytesInto(*(*[]byte)(x.Tpbytes))
	}
	for {
		yyj26++
		if yyhl26 {
			yyb26 = yyj26 > l
		} else {
			yyb26 = z.DecCheckBreak()
		}
		if yyb26 {
			break
		}
		z.DecReadArrayElem()
		z.DecStructFieldNotFound(yyj26-1, "")
	}
}

func (x *TestMammoth2Wrapper) IsCodecEmpty() bool {
	return !(!(x.V.IsCodecEmpty()) || x.T != 0 || x.B != 0 || x.J != 0 || x.C != testMammoth2Basic{} || len(x.M) != 0 || len(x.L) != 0 || x.A != [4]int64{} || x.Tcomplex128 != 0 || x.Tcomplex64 != 0 || len(x.Tbytes) != 0 || false)
}

func (x codecSelfer19781) encMaptestMammoth2BasicTestMammoth2(v map[testMammoth2Basic]TestMammoth2, e *Encoder) {
	var h codecSelfer19781
	z, r := GenHelper().Encoder(e)
	_, _, _ = h, z, r
	if v == nil {
		r.EncodeNil()
	} else if z.EncBasicHandle().Canonical {
		z.EncEncodeMapNonNil(v)
	} else {
		z.EncWriteMapStart(len(v))
		for yyk1, yyv1 := range v {
			z.EncWriteMapElemKey()
			yy2 := &yyk1
			if yyxt3 := z.Extension(yy2); yyxt3 != nil {
				z.EncExtension(yy2, yyxt3)
			} else {
				yy2.CodecEncodeSelf(e)
			}
			z.EncWriteMapElemValue()
			yy4 := &yyv1
			if yyxt5 := z.Extension(yy4); yyxt5 != nil {
				z.EncExtension(yy4, yyxt5)
			} else {
				yy4.CodecEncodeSelf(e)
			}
		}
		z.EncWriteMapEnd()
	}
}

func (x codecSelfer19781) decMaptestMammoth2BasicTestMammoth2(v *map[testMammoth2Basic]TestMammoth2, d *Decoder) {
	var h codecSelfer19781
	z, r := GenHelper().Decoder(d)
	_, _, _ = h, z, r

	yyv1 := *v
	yyl1 := z.DecReadMapStart()
	if yyl1 == codecSelferDecContainerLenNil19781 {
		*v = nil
	} else {
		if yyv1 == nil {
			yyrl1 := z.DecInferLen(yyl1, z.DecBasicHandle().MaxInitLen, 1408)
			yyv1 = make(map[testMammoth2Basic]TestMammoth2, yyrl1)
			*v = yyv1
		}
		var yymk1 testMammoth2Basic
		var yymv1 TestMammoth2
		var yymg1, yymdn1 bool
		if z.DecBasicHandle().MapValueReset {
			yymg1 = true
		}
		if yyl1 != 0 {
			yyhl1 := yyl1 > 0
			for yyj1 := 0; (yyhl1 && yyj1 < yyl1) || !(yyhl1 || z.DecCheckBreak()); yyj1++ {
				z.DecReadMapElemKey()
				if yyxt3 := z.Extension(yymk1); yyxt3 != nil {
					z.DecExtension(&yymk1, yyxt3)
				} else {
					yymk1.CodecDecodeSelf(d)
				}
				if yymg1 {
					yymv1 = yyv1[yymk1]
				} else {
					yymv1 = TestMammoth2{}
				}
				z.DecReadMapElemValue()
				yymdn1 = false
				if yyxt5 := z.Extension(yymv1); yyxt5 != nil {
					z.DecExtension(&yymv1, yyxt5)
				} else {
					yymv1.CodecDecodeSelf(d)
				}
				if yymdn1 {
					yyv1[yymk1] = TestMammoth2{}
				} else {
					yyv1[yymk1] = yymv1
				}
			}
		} // else len==0: leave as-is (do not clear map entries)
		z.DecReadMapEnd()
	}
}

func (x codecSelfer19781) encSliceTestMammoth2(v []TestMammoth2, e *Encoder) {
	var h codecSelfer19781
	z, r := GenHelper().Encoder(e)
	_, _, _ = h, z, r
	if v == nil {
		r.EncodeNil()
		return
	}
	z.EncWriteArrayStart(len(v))
	for yyv1 := range v {
		z.EncWriteArrayElem()
		yy2 := &v[yyv1]
		if yyxt3 := z.Extension(yy2); yyxt3 != nil {
			z.EncExtension(yy2, yyxt3)
		} else {
			yy2.CodecEncodeSelf(e)
		}
	}
	z.EncWriteArrayEnd()
}

func (x codecSelfer19781) decSliceTestMammoth2(v *[]TestMammoth2, d *Decoder) {
	var h codecSelfer19781
	z, r := GenHelper().Decoder(d)
	_, _, _ = h, z, r

	yyv1 := *v
	yyh1, yyl1 := z.DecSliceHelperStart()
	var yyc1 bool
	_ = yyc1
	if yyh1.IsNil {
		if yyv1 != nil {
			yyv1 = nil
			yyc1 = true
		}
	} else if yyl1 == 0 {
		if yyv1 == nil {
			yyv1 = []TestMammoth2{}
			yyc1 = true
		} else if len(yyv1) != 0 {
			yyv1 = yyv1[:0]
			yyc1 = true
		}
	} else {
		yyhl1 := yyl1 > 0
		var yyrl1 int
		_ = yyrl1
		if yyhl1 {
			if yyl1 > cap(yyv1) {
				yyrl1 = z.DecInferLen(yyl1, z.DecBasicHandle().MaxInitLen, 1376)
				if yyrl1 <= cap(yyv1) {
					yyv1 = yyv1[:yyrl1]
				} else {
					yyv1 = make([]TestMammoth2, yyrl1)
				}
				yyc1 = true
			} else if yyl1 != len(yyv1) {
				yyv1 = yyv1[:yyl1]
				yyc1 = true
			}
		}
		var yyj1 int
		for yyj1 = 0; (yyhl1 && yyj1 < yyl1) || !(yyhl1 || z.DecCheckBreak()); yyj1++ { // bounds-check-elimination
			if yyj1 == 0 && yyv1 == nil {
				if yyhl1 {
					yyrl1 = z.DecInferLen(yyl1, z.DecBasicHandle().MaxInitLen, 1376)
				} else {
					yyrl1 = 8
				}
				yyv1 = make([]TestMammoth2, yyrl1)
				yyc1 = true
			}
			yyh1.ElemContainerState(yyj1)
			var yydb1 bool
			if yyj1 >= len(yyv1) {
				yyv1 = append(yyv1, TestMammoth2{})
				yyc1 = true
			}
			if yydb1 {
				z.DecSwallow()
			} else {
				if yyxt3 := z.Extension(yyv1[yyj1]); yyxt3 != nil {
					z.DecExtension(&yyv1[yyj1], yyxt3)
				} else {
					yyv1[yyj1].CodecDecodeSelf(d)
				}
			}
		}
		if yyj1 < len(yyv1) {
			yyv1 = yyv1[:yyj1]
			yyc1 = true
		} else if yyj1 == 0 && yyv1 == nil {
			yyv1 = []TestMammoth2{}
			yyc1 = true
		}
	}
	yyh1.End()
	if yyc1 {
		*v = yyv1
	}
}

func (x codecSelfer19781) encArray4int64(v *[4]int64, e *Encoder) {
	var h codecSelfer19781
	z, r := GenHelper().Encoder(e)
	_, _, _ = h, z, r
	if v == nil {
		r.EncodeNil()
		return
	}
	z.EncWriteArrayStart(len(v))
	for yyv1 := range v {
		z.EncWriteArrayElem()
		r.EncodeInt(int64(v[yyv1]))
	}
	z.EncWriteArrayEnd()
}

func (x codecSelfer19781) decArray4int64(v *[4]int64, d *Decoder) {
	var h codecSelfer19781
	z, r := GenHelper().Decoder(d)
	_, _, _ = h, z, r

	yyv1 := v
	yyh1, yyl1 := z.DecSliceHelperStart()
	if yyl1 == 0 {
	} else {
		yyhl1 := yyl1 > 0
		var yyrl1 int
		_ = yyrl1
		var yyj1 int
		for yyj1 = 0; (yyhl1 && yyj1 < yyl1) || !(yyhl1 || z.DecCheckBreak()); yyj1++ { // bounds-check-elimination
			yyh1.ElemContainerState(yyj1)
			var yydb1 bool
			if yyj1 >= len(yyv1) {
				z.DecArrayCannotExpand(len(v), yyj1+1)
				yydb1 = true
			}
			if yydb1 {
				z.DecSwallow()
			} else {
				yyv1[yyj1] = (int64)(r.DecodeInt64())
			}
		}
	}
	yyh1.End()
}
