/*
Copyright 2015 The Kubernetes Authors All rights reserved.

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

    http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/

// ************************************************************
// DO NOT EDIT.
// THIS FILE IS AUTO-GENERATED BY codecgen.
// ************************************************************

package v1

import (
	"errors"
	"fmt"
	codec1978 "github.com/ugorji/go/codec"
	pkg3_resource "k8s.io/kubernetes/pkg/api/resource"
	pkg2_unversioned "k8s.io/kubernetes/pkg/api/unversioned"
	pkg6_runtime "k8s.io/kubernetes/pkg/runtime"
	pkg1_types "k8s.io/kubernetes/pkg/types"
	pkg5_util "k8s.io/kubernetes/pkg/util"
	"reflect"
	"runtime"
	pkg4_inf "speter.net/go/exp/math/dec/inf"
	time "time"
)

const (
	codecSelferC_UTF81234         = 1
	codecSelferC_RAW1234          = 0
	codecSelferValueTypeArray1234 = 10
	codecSelferValueTypeMap1234   = 9
)

var (
	codecSelferBitsize1234                         = uint8(reflect.TypeOf(uint(0)).Bits())
	codecSelferOnlyMapOrArrayEncodeToStructErr1234 = errors.New(`only encoded map or array can be decoded into a struct`)
)

type codecSelfer1234 struct{}

func init() {
	if codec1978.GenVersion != 4 {
		_, file, _, _ := runtime.Caller(0)
		err := fmt.Errorf("codecgen version mismatch: current: %v, need %v. Re-generate file: %v",
			4, codec1978.GenVersion, file)
		panic(err)
	}
	if false { // reference the types, but skip this branch at build/run time
		var v0 pkg3_resource.Quantity
		var v1 pkg2_unversioned.Time
		var v2 pkg6_runtime.RawExtension
		var v3 pkg1_types.UID
		var v4 pkg5_util.IntOrString
		var v5 pkg4_inf.Dec
		var v6 time.Time
		_, _, _, _, _, _, _ = v0, v1, v2, v3, v4, v5, v6
	}
}

func (x *ObjectMeta) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym1 := z.EncBinary()
		_ = yym1
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep2 := !z.EncBinary()
			yy2arr2 := z.EncBasicHandle().StructToArray
			var yyq2 [12]bool
			_, _, _ = yysep2, yyq2, yy2arr2
			const yyr2 bool = false
			yyq2[0] = x.Name != ""
			yyq2[1] = x.GenerateName != ""
			yyq2[2] = x.Namespace != ""
			yyq2[3] = x.SelfLink != ""
			yyq2[4] = x.UID != ""
			yyq2[5] = x.ResourceVersion != ""
			yyq2[6] = x.Generation != 0
			yyq2[7] = true
			yyq2[8] = x.DeletionTimestamp != nil
			yyq2[9] = x.DeletionGracePeriodSeconds != nil
			yyq2[10] = len(x.Labels) != 0
			yyq2[11] = len(x.Annotations) != 0
			if yyr2 || yy2arr2 {
				r.EncodeArrayStart(12)
			} else {
				var yynn2 int = 0
				for _, b := range yyq2 {
					if b {
						yynn2++
					}
				}
				r.EncodeMapStart(yynn2)
			}
			if yyr2 || yy2arr2 {
				if yyq2[0] {
					yym4 := z.EncBinary()
					_ = yym4
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Name))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq2[0] {
					r.EncodeString(codecSelferC_UTF81234, string("name"))
					yym5 := z.EncBinary()
					_ = yym5
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Name))
					}
				}
			}
			if yyr2 || yy2arr2 {
				if yyq2[1] {
					yym7 := z.EncBinary()
					_ = yym7
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.GenerateName))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq2[1] {
					r.EncodeString(codecSelferC_UTF81234, string("generateName"))
					yym8 := z.EncBinary()
					_ = yym8
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.GenerateName))
					}
				}
			}
			if yyr2 || yy2arr2 {
				if yyq2[2] {
					yym10 := z.EncBinary()
					_ = yym10
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Namespace))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq2[2] {
					r.EncodeString(codecSelferC_UTF81234, string("namespace"))
					yym11 := z.EncBinary()
					_ = yym11
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Namespace))
					}
				}
			}
			if yyr2 || yy2arr2 {
				if yyq2[3] {
					yym13 := z.EncBinary()
					_ = yym13
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.SelfLink))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq2[3] {
					r.EncodeString(codecSelferC_UTF81234, string("selfLink"))
					yym14 := z.EncBinary()
					_ = yym14
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.SelfLink))
					}
				}
			}
			if yyr2 || yy2arr2 {
				if yyq2[4] {
					yym16 := z.EncBinary()
					_ = yym16
					if false {
					} else if z.HasExtensions() && z.EncExt(x.UID) {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.UID))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq2[4] {
					r.EncodeString(codecSelferC_UTF81234, string("uid"))
					yym17 := z.EncBinary()
					_ = yym17
					if false {
					} else if z.HasExtensions() && z.EncExt(x.UID) {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.UID))
					}
				}
			}
			if yyr2 || yy2arr2 {
				if yyq2[5] {
					yym19 := z.EncBinary()
					_ = yym19
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.ResourceVersion))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq2[5] {
					r.EncodeString(codecSelferC_UTF81234, string("resourceVersion"))
					yym20 := z.EncBinary()
					_ = yym20
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.ResourceVersion))
					}
				}
			}
			if yyr2 || yy2arr2 {
				if yyq2[6] {
					yym22 := z.EncBinary()
					_ = yym22
					if false {
					} else {
						r.EncodeInt(int64(x.Generation))
					}
				} else {
					r.EncodeInt(0)
				}
			} else {
				if yyq2[6] {
					r.EncodeString(codecSelferC_UTF81234, string("generation"))
					yym23 := z.EncBinary()
					_ = yym23
					if false {
					} else {
						r.EncodeInt(int64(x.Generation))
					}
				}
			}
			if yyr2 || yy2arr2 {
				if yyq2[7] {
					yy25 := &x.CreationTimestamp
					yym26 := z.EncBinary()
					_ = yym26
					if false {
					} else if z.HasExtensions() && z.EncExt(yy25) {
					} else if yym26 {
						z.EncBinaryMarshal(yy25)
					} else if !yym26 && z.IsJSONHandle() {
						z.EncJSONMarshal(yy25)
					} else {
						z.EncFallback(yy25)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq2[7] {
					r.EncodeString(codecSelferC_UTF81234, string("creationTimestamp"))
					yy27 := &x.CreationTimestamp
					yym28 := z.EncBinary()
					_ = yym28
					if false {
					} else if z.HasExtensions() && z.EncExt(yy27) {
					} else if yym28 {
						z.EncBinaryMarshal(yy27)
					} else if !yym28 && z.IsJSONHandle() {
						z.EncJSONMarshal(yy27)
					} else {
						z.EncFallback(yy27)
					}
				}
			}
			if yyr2 || yy2arr2 {
				if yyq2[8] {
					if x.DeletionTimestamp == nil {
						r.EncodeNil()
					} else {
						yym30 := z.EncBinary()
						_ = yym30
						if false {
						} else if z.HasExtensions() && z.EncExt(x.DeletionTimestamp) {
						} else if yym30 {
							z.EncBinaryMarshal(x.DeletionTimestamp)
						} else if !yym30 && z.IsJSONHandle() {
							z.EncJSONMarshal(x.DeletionTimestamp)
						} else {
							z.EncFallback(x.DeletionTimestamp)
						}
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq2[8] {
					r.EncodeString(codecSelferC_UTF81234, string("deletionTimestamp"))
					if x.DeletionTimestamp == nil {
						r.EncodeNil()
					} else {
						yym31 := z.EncBinary()
						_ = yym31
						if false {
						} else if z.HasExtensions() && z.EncExt(x.DeletionTimestamp) {
						} else if yym31 {
							z.EncBinaryMarshal(x.DeletionTimestamp)
						} else if !yym31 && z.IsJSONHandle() {
							z.EncJSONMarshal(x.DeletionTimestamp)
						} else {
							z.EncFallback(x.DeletionTimestamp)
						}
					}
				}
			}
			if yyr2 || yy2arr2 {
				if yyq2[9] {
					if x.DeletionGracePeriodSeconds == nil {
						r.EncodeNil()
					} else {
						yy33 := *x.DeletionGracePeriodSeconds
						yym34 := z.EncBinary()
						_ = yym34
						if false {
						} else {
							r.EncodeInt(int64(yy33))
						}
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq2[9] {
					r.EncodeString(codecSelferC_UTF81234, string("deletionGracePeriodSeconds"))
					if x.DeletionGracePeriodSeconds == nil {
						r.EncodeNil()
					} else {
						yy35 := *x.DeletionGracePeriodSeconds
						yym36 := z.EncBinary()
						_ = yym36
						if false {
						} else {
							r.EncodeInt(int64(yy35))
						}
					}
				}
			}
			if yyr2 || yy2arr2 {
				if yyq2[10] {
					if x.Labels == nil {
						r.EncodeNil()
					} else {
						yym38 := z.EncBinary()
						_ = yym38
						if false {
						} else {
							z.F.EncMapStringStringV(x.Labels, false, e)
						}
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq2[10] {
					r.EncodeString(codecSelferC_UTF81234, string("labels"))
					if x.Labels == nil {
						r.EncodeNil()
					} else {
						yym39 := z.EncBinary()
						_ = yym39
						if false {
						} else {
							z.F.EncMapStringStringV(x.Labels, false, e)
						}
					}
				}
			}
			if yyr2 || yy2arr2 {
				if yyq2[11] {
					if x.Annotations == nil {
						r.EncodeNil()
					} else {
						yym41 := z.EncBinary()
						_ = yym41
						if false {
						} else {
							z.F.EncMapStringStringV(x.Annotations, false, e)
						}
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq2[11] {
					r.EncodeString(codecSelferC_UTF81234, string("annotations"))
					if x.Annotations == nil {
						r.EncodeNil()
					} else {
						yym42 := z.EncBinary()
						_ = yym42
						if false {
						} else {
							z.F.EncMapStringStringV(x.Annotations, false, e)
						}
					}
				}
			}
			if yysep2 {
				r.EncodeEnd()
			}
		}
	}
}

func (x *ObjectMeta) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym43 := z.DecBinary()
	_ = yym43
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		if r.IsContainerType(codecSelferValueTypeMap1234) {
			yyl44 := r.ReadMapStart()
			if yyl44 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromMap(yyl44, d)
			}
		} else if r.IsContainerType(codecSelferValueTypeArray1234) {
			yyl44 := r.ReadArrayStart()
			if yyl44 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromArray(yyl44, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *ObjectMeta) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys45Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys45Slc
	var yyhl45 bool = l >= 0
	for yyj45 := 0; ; yyj45++ {
		if yyhl45 {
			if yyj45 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		yys45Slc = r.DecodeBytes(yys45Slc, true, true)
		yys45 := string(yys45Slc)
		switch yys45 {
		case "name":
			if r.TryDecodeAsNil() {
				x.Name = ""
			} else {
				x.Name = string(r.DecodeString())
			}
		case "generateName":
			if r.TryDecodeAsNil() {
				x.GenerateName = ""
			} else {
				x.GenerateName = string(r.DecodeString())
			}
		case "namespace":
			if r.TryDecodeAsNil() {
				x.Namespace = ""
			} else {
				x.Namespace = string(r.DecodeString())
			}
		case "selfLink":
			if r.TryDecodeAsNil() {
				x.SelfLink = ""
			} else {
				x.SelfLink = string(r.DecodeString())
			}
		case "uid":
			if r.TryDecodeAsNil() {
				x.UID = ""
			} else {
				x.UID = pkg1_types.UID(r.DecodeString())
			}
		case "resourceVersion":
			if r.TryDecodeAsNil() {
				x.ResourceVersion = ""
			} else {
				x.ResourceVersion = string(r.DecodeString())
			}
		case "generation":
			if r.TryDecodeAsNil() {
				x.Generation = 0
			} else {
				x.Generation = int64(r.DecodeInt(64))
			}
		case "creationTimestamp":
			if r.TryDecodeAsNil() {
				x.CreationTimestamp = pkg2_unversioned.Time{}
			} else {
				yyv53 := &x.CreationTimestamp
				yym54 := z.DecBinary()
				_ = yym54
				if false {
				} else if z.HasExtensions() && z.DecExt(yyv53) {
				} else if yym54 {
					z.DecBinaryUnmarshal(yyv53)
				} else if !yym54 && z.IsJSONHandle() {
					z.DecJSONUnmarshal(yyv53)
				} else {
					z.DecFallback(yyv53, false)
				}
			}
		case "deletionTimestamp":
			if r.TryDecodeAsNil() {
				if x.DeletionTimestamp != nil {
					x.DeletionTimestamp = nil
				}
			} else {
				if x.DeletionTimestamp == nil {
					x.DeletionTimestamp = new(pkg2_unversioned.Time)
				}
				yym56 := z.DecBinary()
				_ = yym56
				if false {
				} else if z.HasExtensions() && z.DecExt(x.DeletionTimestamp) {
				} else if yym56 {
					z.DecBinaryUnmarshal(x.DeletionTimestamp)
				} else if !yym56 && z.IsJSONHandle() {
					z.DecJSONUnmarshal(x.DeletionTimestamp)
				} else {
					z.DecFallback(x.DeletionTimestamp, false)
				}
			}
		case "deletionGracePeriodSeconds":
			if r.TryDecodeAsNil() {
				if x.DeletionGracePeriodSeconds != nil {
					x.DeletionGracePeriodSeconds = nil
				}
			} else {
				if x.DeletionGracePeriodSeconds == nil {
					x.DeletionGracePeriodSeconds = new(int64)
				}
				yym58 := z.DecBinary()
				_ = yym58
				if false {
				} else {
					*((*int64)(x.DeletionGracePeriodSeconds)) = int64(r.DecodeInt(64))
				}
			}
		case "labels":
			if r.TryDecodeAsNil() {
				x.Labels = nil
			} else {
				yyv59 := &x.Labels
				yym60 := z.DecBinary()
				_ = yym60
				if false {
				} else {
					z.F.DecMapStringStringX(yyv59, false, d)
				}
			}
		case "annotations":
			if r.TryDecodeAsNil() {
				x.Annotations = nil
			} else {
				yyv61 := &x.Annotations
				yym62 := z.DecBinary()
				_ = yym62
				if false {
				} else {
					z.F.DecMapStringStringX(yyv61, false, d)
				}
			}
		default:
			z.DecStructFieldNotFound(-1, yys45)
		} // end switch yys45
	} // end for yyj45
	if !yyhl45 {
		r.ReadEnd()
	}
}

func (x *ObjectMeta) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj63 int
	var yyb63 bool
	var yyhl63 bool = l >= 0
	yyj63++
	if yyhl63 {
		yyb63 = yyj63 > l
	} else {
		yyb63 = r.CheckBreak()
	}
	if yyb63 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.Name = ""
	} else {
		x.Name = string(r.DecodeString())
	}
	yyj63++
	if yyhl63 {
		yyb63 = yyj63 > l
	} else {
		yyb63 = r.CheckBreak()
	}
	if yyb63 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.GenerateName = ""
	} else {
		x.GenerateName = string(r.DecodeString())
	}
	yyj63++
	if yyhl63 {
		yyb63 = yyj63 > l
	} else {
		yyb63 = r.CheckBreak()
	}
	if yyb63 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.Namespace = ""
	} else {
		x.Namespace = string(r.DecodeString())
	}
	yyj63++
	if yyhl63 {
		yyb63 = yyj63 > l
	} else {
		yyb63 = r.CheckBreak()
	}
	if yyb63 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.SelfLink = ""
	} else {
		x.SelfLink = string(r.DecodeString())
	}
	yyj63++
	if yyhl63 {
		yyb63 = yyj63 > l
	} else {
		yyb63 = r.CheckBreak()
	}
	if yyb63 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.UID = ""
	} else {
		x.UID = pkg1_types.UID(r.DecodeString())
	}
	yyj63++
	if yyhl63 {
		yyb63 = yyj63 > l
	} else {
		yyb63 = r.CheckBreak()
	}
	if yyb63 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.ResourceVersion = ""
	} else {
		x.ResourceVersion = string(r.DecodeString())
	}
	yyj63++
	if yyhl63 {
		yyb63 = yyj63 > l
	} else {
		yyb63 = r.CheckBreak()
	}
	if yyb63 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.Generation = 0
	} else {
		x.Generation = int64(r.DecodeInt(64))
	}
	yyj63++
	if yyhl63 {
		yyb63 = yyj63 > l
	} else {
		yyb63 = r.CheckBreak()
	}
	if yyb63 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.CreationTimestamp = pkg2_unversioned.Time{}
	} else {
		yyv71 := &x.CreationTimestamp
		yym72 := z.DecBinary()
		_ = yym72
		if false {
		} else if z.HasExtensions() && z.DecExt(yyv71) {
		} else if yym72 {
			z.DecBinaryUnmarshal(yyv71)
		} else if !yym72 && z.IsJSONHandle() {
			z.DecJSONUnmarshal(yyv71)
		} else {
			z.DecFallback(yyv71, false)
		}
	}
	yyj63++
	if yyhl63 {
		yyb63 = yyj63 > l
	} else {
		yyb63 = r.CheckBreak()
	}
	if yyb63 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		if x.DeletionTimestamp != nil {
			x.DeletionTimestamp = nil
		}
	} else {
		if x.DeletionTimestamp == nil {
			x.DeletionTimestamp = new(pkg2_unversioned.Time)
		}
		yym74 := z.DecBinary()
		_ = yym74
		if false {
		} else if z.HasExtensions() && z.DecExt(x.DeletionTimestamp) {
		} else if yym74 {
			z.DecBinaryUnmarshal(x.DeletionTimestamp)
		} else if !yym74 && z.IsJSONHandle() {
			z.DecJSONUnmarshal(x.DeletionTimestamp)
		} else {
			z.DecFallback(x.DeletionTimestamp, false)
		}
	}
	yyj63++
	if yyhl63 {
		yyb63 = yyj63 > l
	} else {
		yyb63 = r.CheckBreak()
	}
	if yyb63 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		if x.DeletionGracePeriodSeconds != nil {
			x.DeletionGracePeriodSeconds = nil
		}
	} else {
		if x.DeletionGracePeriodSeconds == nil {
			x.DeletionGracePeriodSeconds = new(int64)
		}
		yym76 := z.DecBinary()
		_ = yym76
		if false {
		} else {
			*((*int64)(x.DeletionGracePeriodSeconds)) = int64(r.DecodeInt(64))
		}
	}
	yyj63++
	if yyhl63 {
		yyb63 = yyj63 > l
	} else {
		yyb63 = r.CheckBreak()
	}
	if yyb63 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.Labels = nil
	} else {
		yyv77 := &x.Labels
		yym78 := z.DecBinary()
		_ = yym78
		if false {
		} else {
			z.F.DecMapStringStringX(yyv77, false, d)
		}
	}
	yyj63++
	if yyhl63 {
		yyb63 = yyj63 > l
	} else {
		yyb63 = r.CheckBreak()
	}
	if yyb63 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.Annotations = nil
	} else {
		yyv79 := &x.Annotations
		yym80 := z.DecBinary()
		_ = yym80
		if false {
		} else {
			z.F.DecMapStringStringX(yyv79, false, d)
		}
	}
	for {
		yyj63++
		if yyhl63 {
			yyb63 = yyj63 > l
		} else {
			yyb63 = r.CheckBreak()
		}
		if yyb63 {
			break
		}
		z.DecStructFieldNotFound(yyj63-1, "")
	}
	r.ReadEnd()
}

func (x *Volume) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym81 := z.EncBinary()
		_ = yym81
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep82 := !z.EncBinary()
			yy2arr82 := z.EncBasicHandle().StructToArray
			var yyq82 [17]bool
			_, _, _ = yysep82, yyq82, yy2arr82
			const yyr82 bool = false
			yyq82[1] = x.VolumeSource.HostPath != nil && x.HostPath != nil
			yyq82[2] = x.VolumeSource.EmptyDir != nil && x.EmptyDir != nil
			yyq82[3] = x.VolumeSource.GCEPersistentDisk != nil && x.GCEPersistentDisk != nil
			yyq82[4] = x.VolumeSource.AWSElasticBlockStore != nil && x.AWSElasticBlockStore != nil
			yyq82[5] = x.VolumeSource.GitRepo != nil && x.GitRepo != nil
			yyq82[6] = x.VolumeSource.Secret != nil && x.Secret != nil
			yyq82[7] = x.VolumeSource.NFS != nil && x.NFS != nil
			yyq82[8] = x.VolumeSource.ISCSI != nil && x.ISCSI != nil
			yyq82[9] = x.VolumeSource.Glusterfs != nil && x.Glusterfs != nil
			yyq82[10] = x.VolumeSource.PersistentVolumeClaim != nil && x.PersistentVolumeClaim != nil
			yyq82[11] = x.VolumeSource.RBD != nil && x.RBD != nil
			yyq82[12] = x.VolumeSource.Cinder != nil && x.Cinder != nil
			yyq82[13] = x.VolumeSource.CephFS != nil && x.CephFS != nil
			yyq82[14] = x.VolumeSource.Flocker != nil && x.Flocker != nil
			yyq82[15] = x.VolumeSource.DownwardAPI != nil && x.DownwardAPI != nil
			yyq82[16] = x.VolumeSource.FC != nil && x.FC != nil
			if yyr82 || yy2arr82 {
				r.EncodeArrayStart(17)
			} else {
				var yynn82 int = 1
				for _, b := range yyq82 {
					if b {
						yynn82++
					}
				}
				r.EncodeMapStart(yynn82)
			}
			if yyr82 || yy2arr82 {
				yym84 := z.EncBinary()
				_ = yym84
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.Name))
				}
			} else {
				r.EncodeString(codecSelferC_UTF81234, string("name"))
				yym85 := z.EncBinary()
				_ = yym85
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.Name))
				}
			}
			var yyn86 bool
			if x.VolumeSource.HostPath == nil {
				yyn86 = true
				goto LABEL86
			}
		LABEL86:
			if yyr82 || yy2arr82 {
				if yyn86 {
					r.EncodeNil()
				} else {
					if yyq82[1] {
						if x.HostPath == nil {
							r.EncodeNil()
						} else {
							x.HostPath.CodecEncodeSelf(e)
						}
					} else {
						r.EncodeNil()
					}
				}
			} else {
				if yyq82[1] {
					r.EncodeString(codecSelferC_UTF81234, string("hostPath"))
					if yyn86 {
						r.EncodeNil()
					} else {
						if x.HostPath == nil {
							r.EncodeNil()
						} else {
							x.HostPath.CodecEncodeSelf(e)
						}
					}
				}
			}
			var yyn87 bool
			if x.VolumeSource.EmptyDir == nil {
				yyn87 = true
				goto LABEL87
			}
		LABEL87:
			if yyr82 || yy2arr82 {
				if yyn87 {
					r.EncodeNil()
				} else {
					if yyq82[2] {
						if x.EmptyDir == nil {
							r.EncodeNil()
						} else {
							x.EmptyDir.CodecEncodeSelf(e)
						}
					} else {
						r.EncodeNil()
					}
				}
			} else {
				if yyq82[2] {
					r.EncodeString(codecSelferC_UTF81234, string("emptyDir"))
					if yyn87 {
						r.EncodeNil()
					} else {
						if x.EmptyDir == nil {
							r.EncodeNil()
						} else {
							x.EmptyDir.CodecEncodeSelf(e)
						}
					}
				}
			}
			var yyn88 bool
			if x.VolumeSource.GCEPersistentDisk == nil {
				yyn88 = true
				goto LABEL88
			}
		LABEL88:
			if yyr82 || yy2arr82 {
				if yyn88 {
					r.EncodeNil()
				} else {
					if yyq82[3] {
						if x.GCEPersistentDisk == nil {
							r.EncodeNil()
						} else {
							x.GCEPersistentDisk.CodecEncodeSelf(e)
						}
					} else {
						r.EncodeNil()
					}
				}
			} else {
				if yyq82[3] {
					r.EncodeString(codecSelferC_UTF81234, string("gcePersistentDisk"))
					if yyn88 {
						r.EncodeNil()
					} else {
						if x.GCEPersistentDisk == nil {
							r.EncodeNil()
						} else {
							x.GCEPersistentDisk.CodecEncodeSelf(e)
						}
					}
				}
			}
			var yyn89 bool
			if x.VolumeSource.AWSElasticBlockStore == nil {
				yyn89 = true
				goto LABEL89
			}
		LABEL89:
			if yyr82 || yy2arr82 {
				if yyn89 {
					r.EncodeNil()
				} else {
					if yyq82[4] {
						if x.AWSElasticBlockStore == nil {
							r.EncodeNil()
						} else {
							x.AWSElasticBlockStore.CodecEncodeSelf(e)
						}
					} else {
						r.EncodeNil()
					}
				}
			} else {
				if yyq82[4] {
					r.EncodeString(codecSelferC_UTF81234, string("awsElasticBlockStore"))
					if yyn89 {
						r.EncodeNil()
					} else {
						if x.AWSElasticBlockStore == nil {
							r.EncodeNil()
						} else {
							x.AWSElasticBlockStore.CodecEncodeSelf(e)
						}
					}
				}
			}
			var yyn90 bool
			if x.VolumeSource.GitRepo == nil {
				yyn90 = true
				goto LABEL90
			}
		LABEL90:
			if yyr82 || yy2arr82 {
				if yyn90 {
					r.EncodeNil()
				} else {
					if yyq82[5] {
						if x.GitRepo == nil {
							r.EncodeNil()
						} else {
							x.GitRepo.CodecEncodeSelf(e)
						}
					} else {
						r.EncodeNil()
					}
				}
			} else {
				if yyq82[5] {
					r.EncodeString(codecSelferC_UTF81234, string("gitRepo"))
					if yyn90 {
						r.EncodeNil()
					} else {
						if x.GitRepo == nil {
							r.EncodeNil()
						} else {
							x.GitRepo.CodecEncodeSelf(e)
						}
					}
				}
			}
			var yyn91 bool
			if x.VolumeSource.Secret == nil {
				yyn91 = true
				goto LABEL91
			}
		LABEL91:
			if yyr82 || yy2arr82 {
				if yyn91 {
					r.EncodeNil()
				} else {
					if yyq82[6] {
						if x.Secret == nil {
							r.EncodeNil()
						} else {
							x.Secret.CodecEncodeSelf(e)
						}
					} else {
						r.EncodeNil()
					}
				}
			} else {
				if yyq82[6] {
					r.EncodeString(codecSelferC_UTF81234, string("secret"))
					if yyn91 {
						r.EncodeNil()
					} else {
						if x.Secret == nil {
							r.EncodeNil()
						} else {
							x.Secret.CodecEncodeSelf(e)
						}
					}
				}
			}
			var yyn92 bool
			if x.VolumeSource.NFS == nil {
				yyn92 = true
				goto LABEL92
			}
		LABEL92:
			if yyr82 || yy2arr82 {
				if yyn92 {
					r.EncodeNil()
				} else {
					if yyq82[7] {
						if x.NFS == nil {
							r.EncodeNil()
						} else {
							x.NFS.CodecEncodeSelf(e)
						}
					} else {
						r.EncodeNil()
					}
				}
			} else {
				if yyq82[7] {
					r.EncodeString(codecSelferC_UTF81234, string("nfs"))
					if yyn92 {
						r.EncodeNil()
					} else {
						if x.NFS == nil {
							r.EncodeNil()
						} else {
							x.NFS.CodecEncodeSelf(e)
						}
					}
				}
			}
			var yyn93 bool
			if x.VolumeSource.ISCSI == nil {
				yyn93 = true
				goto LABEL93
			}
		LABEL93:
			if yyr82 || yy2arr82 {
				if yyn93 {
					r.EncodeNil()
				} else {
					if yyq82[8] {
						if x.ISCSI == nil {
							r.EncodeNil()
						} else {
							x.ISCSI.CodecEncodeSelf(e)
						}
					} else {
						r.EncodeNil()
					}
				}
			} else {
				if yyq82[8] {
					r.EncodeString(codecSelferC_UTF81234, string("iscsi"))
					if yyn93 {
						r.EncodeNil()
					} else {
						if x.ISCSI == nil {
							r.EncodeNil()
						} else {
							x.ISCSI.CodecEncodeSelf(e)
						}
					}
				}
			}
			var yyn94 bool
			if x.VolumeSource.Glusterfs == nil {
				yyn94 = true
				goto LABEL94
			}
		LABEL94:
			if yyr82 || yy2arr82 {
				if yyn94 {
					r.EncodeNil()
				} else {
					if yyq82[9] {
						if x.Glusterfs == nil {
							r.EncodeNil()
						} else {
							x.Glusterfs.CodecEncodeSelf(e)
						}
					} else {
						r.EncodeNil()
					}
				}
			} else {
				if yyq82[9] {
					r.EncodeString(codecSelferC_UTF81234, string("glusterfs"))
					if yyn94 {
						r.EncodeNil()
					} else {
						if x.Glusterfs == nil {
							r.EncodeNil()
						} else {
							x.Glusterfs.CodecEncodeSelf(e)
						}
					}
				}
			}
			var yyn95 bool
			if x.VolumeSource.PersistentVolumeClaim == nil {
				yyn95 = true
				goto LABEL95
			}
		LABEL95:
			if yyr82 || yy2arr82 {
				if yyn95 {
					r.EncodeNil()
				} else {
					if yyq82[10] {
						if x.PersistentVolumeClaim == nil {
							r.EncodeNil()
						} else {
							x.PersistentVolumeClaim.CodecEncodeSelf(e)
						}
					} else {
						r.EncodeNil()
					}
				}
			} else {
				if yyq82[10] {
					r.EncodeString(codecSelferC_UTF81234, string("persistentVolumeClaim"))
					if yyn95 {
						r.EncodeNil()
					} else {
						if x.PersistentVolumeClaim == nil {
							r.EncodeNil()
						} else {
							x.PersistentVolumeClaim.CodecEncodeSelf(e)
						}
					}
				}
			}
			var yyn96 bool
			if x.VolumeSource.RBD == nil {
				yyn96 = true
				goto LABEL96
			}
		LABEL96:
			if yyr82 || yy2arr82 {
				if yyn96 {
					r.EncodeNil()
				} else {
					if yyq82[11] {
						if x.RBD == nil {
							r.EncodeNil()
						} else {
							x.RBD.CodecEncodeSelf(e)
						}
					} else {
						r.EncodeNil()
					}
				}
			} else {
				if yyq82[11] {
					r.EncodeString(codecSelferC_UTF81234, string("rbd"))
					if yyn96 {
						r.EncodeNil()
					} else {
						if x.RBD == nil {
							r.EncodeNil()
						} else {
							x.RBD.CodecEncodeSelf(e)
						}
					}
				}
			}
			var yyn97 bool
			if x.VolumeSource.Cinder == nil {
				yyn97 = true
				goto LABEL97
			}
		LABEL97:
			if yyr82 || yy2arr82 {
				if yyn97 {
					r.EncodeNil()
				} else {
					if yyq82[12] {
						if x.Cinder == nil {
							r.EncodeNil()
						} else {
							x.Cinder.CodecEncodeSelf(e)
						}
					} else {
						r.EncodeNil()
					}
				}
			} else {
				if yyq82[12] {
					r.EncodeString(codecSelferC_UTF81234, string("cinder"))
					if yyn97 {
						r.EncodeNil()
					} else {
						if x.Cinder == nil {
							r.EncodeNil()
						} else {
							x.Cinder.CodecEncodeSelf(e)
						}
					}
				}
			}
			var yyn98 bool
			if x.VolumeSource.CephFS == nil {
				yyn98 = true
				goto LABEL98
			}
		LABEL98:
			if yyr82 || yy2arr82 {
				if yyn98 {
					r.EncodeNil()
				} else {
					if yyq82[13] {
						if x.CephFS == nil {
							r.EncodeNil()
						} else {
							x.CephFS.CodecEncodeSelf(e)
						}
					} else {
						r.EncodeNil()
					}
				}
			} else {
				if yyq82[13] {
					r.EncodeString(codecSelferC_UTF81234, string("cephfs"))
					if yyn98 {
						r.EncodeNil()
					} else {
						if x.CephFS == nil {
							r.EncodeNil()
						} else {
							x.CephFS.CodecEncodeSelf(e)
						}
					}
				}
			}
			var yyn99 bool
			if x.VolumeSource.Flocker == nil {
				yyn99 = true
				goto LABEL99
			}
		LABEL99:
			if yyr82 || yy2arr82 {
				if yyn99 {
					r.EncodeNil()
				} else {
					if yyq82[14] {
						if x.Flocker == nil {
							r.EncodeNil()
						} else {
							x.Flocker.CodecEncodeSelf(e)
						}
					} else {
						r.EncodeNil()
					}
				}
			} else {
				if yyq82[14] {
					r.EncodeString(codecSelferC_UTF81234, string("flocker"))
					if yyn99 {
						r.EncodeNil()
					} else {
						if x.Flocker == nil {
							r.EncodeNil()
						} else {
							x.Flocker.CodecEncodeSelf(e)
						}
					}
				}
			}
			var yyn100 bool
			if x.VolumeSource.DownwardAPI == nil {
				yyn100 = true
				goto LABEL100
			}
		LABEL100:
			if yyr82 || yy2arr82 {
				if yyn100 {
					r.EncodeNil()
				} else {
					if yyq82[15] {
						if x.DownwardAPI == nil {
							r.EncodeNil()
						} else {
							x.DownwardAPI.CodecEncodeSelf(e)
						}
					} else {
						r.EncodeNil()
					}
				}
			} else {
				if yyq82[15] {
					r.EncodeString(codecSelferC_UTF81234, string("downwardAPI"))
					if yyn100 {
						r.EncodeNil()
					} else {
						if x.DownwardAPI == nil {
							r.EncodeNil()
						} else {
							x.DownwardAPI.CodecEncodeSelf(e)
						}
					}
				}
			}
			var yyn101 bool
			if x.VolumeSource.FC == nil {
				yyn101 = true
				goto LABEL101
			}
		LABEL101:
			if yyr82 || yy2arr82 {
				if yyn101 {
					r.EncodeNil()
				} else {
					if yyq82[16] {
						if x.FC == nil {
							r.EncodeNil()
						} else {
							x.FC.CodecEncodeSelf(e)
						}
					} else {
						r.EncodeNil()
					}
				}
			} else {
				if yyq82[16] {
					r.EncodeString(codecSelferC_UTF81234, string("fc"))
					if yyn101 {
						r.EncodeNil()
					} else {
						if x.FC == nil {
							r.EncodeNil()
						} else {
							x.FC.CodecEncodeSelf(e)
						}
					}
				}
			}
			if yysep82 {
				r.EncodeEnd()
			}
		}
	}
}

func (x *Volume) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym102 := z.DecBinary()
	_ = yym102
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		if r.IsContainerType(codecSelferValueTypeMap1234) {
			yyl103 := r.ReadMapStart()
			if yyl103 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromMap(yyl103, d)
			}
		} else if r.IsContainerType(codecSelferValueTypeArray1234) {
			yyl103 := r.ReadArrayStart()
			if yyl103 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromArray(yyl103, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *Volume) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys104Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys104Slc
	var yyhl104 bool = l >= 0
	for yyj104 := 0; ; yyj104++ {
		if yyhl104 {
			if yyj104 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		yys104Slc = r.DecodeBytes(yys104Slc, true, true)
		yys104 := string(yys104Slc)
		switch yys104 {
		case "name":
			if r.TryDecodeAsNil() {
				x.Name = ""
			} else {
				x.Name = string(r.DecodeString())
			}
		case "hostPath":
			if x.VolumeSource.HostPath == nil {
				x.VolumeSource.HostPath = new(HostPathVolumeSource)
			}
			if r.TryDecodeAsNil() {
				if x.HostPath != nil {
					x.HostPath = nil
				}
			} else {
				if x.HostPath == nil {
					x.HostPath = new(HostPathVolumeSource)
				}
				x.HostPath.CodecDecodeSelf(d)
			}
		case "emptyDir":
			if x.VolumeSource.EmptyDir == nil {
				x.VolumeSource.EmptyDir = new(EmptyDirVolumeSource)
			}
			if r.TryDecodeAsNil() {
				if x.EmptyDir != nil {
					x.EmptyDir = nil
				}
			} else {
				if x.EmptyDir == nil {
					x.EmptyDir = new(EmptyDirVolumeSource)
				}
				x.EmptyDir.CodecDecodeSelf(d)
			}
		case "gcePersistentDisk":
			if x.VolumeSource.GCEPersistentDisk == nil {
				x.VolumeSource.GCEPersistentDisk = new(GCEPersistentDiskVolumeSource)
			}
			if r.TryDecodeAsNil() {
				if x.GCEPersistentDisk != nil {
					x.GCEPersistentDisk = nil
				}
			} else {
				if x.GCEPersistentDisk == nil {
					x.GCEPersistentDisk = new(GCEPersistentDiskVolumeSource)
				}
				x.GCEPersistentDisk.CodecDecodeSelf(d)
			}
		case "awsElasticBlockStore":
			if x.VolumeSource.AWSElasticBlockStore == nil {
				x.VolumeSource.AWSElasticBlockStore = new(AWSElasticBlockStoreVolumeSource)
			}
			if r.TryDecodeAsNil() {
				if x.AWSElasticBlockStore != nil {
					x.AWSElasticBlockStore = nil
				}
			} else {
				if x.AWSElasticBlockStore == nil {
					x.AWSElasticBlockStore = new(AWSElasticBlockStoreVolumeSource)
				}
				x.AWSElasticBlockStore.CodecDecodeSelf(d)
			}
		case "gitRepo":
			if x.VolumeSource.GitRepo == nil {
				x.VolumeSource.GitRepo = new(GitRepoVolumeSource)
			}
			if r.TryDecodeAsNil() {
				if x.GitRepo != nil {
					x.GitRepo = nil
				}
			} else {
				if x.GitRepo == nil {
					x.GitRepo = new(GitRepoVolumeSource)
				}
				x.GitRepo.CodecDecodeSelf(d)
			}
		case "secret":
			if x.VolumeSource.Secret == nil {
				x.VolumeSource.Secret = new(SecretVolumeSource)
			}
			if r.TryDecodeAsNil() {
				if x.Secret != nil {
					x.Secret = nil
				}
			} else {
				if x.Secret == nil {
					x.Secret = new(SecretVolumeSource)
				}
				x.Secret.CodecDecodeSelf(d)
			}
		case "nfs":
			if x.VolumeSource.NFS == nil {
				x.VolumeSource.NFS = new(NFSVolumeSource)
			}
			if r.TryDecodeAsNil() {
				if x.NFS != nil {
					x.NFS = nil
				}
			} else {
				if x.NFS == nil {
					x.NFS = new(NFSVolumeSource)
				}
				x.NFS.CodecDecodeSelf(d)
			}
		case "iscsi":
			if x.VolumeSource.ISCSI == nil {
				x.VolumeSource.ISCSI = new(ISCSIVolumeSource)
			}
			if r.TryDecodeAsNil() {
				if x.ISCSI != nil {
					x.ISCSI = nil
				}
			} else {
				if x.ISCSI == nil {
					x.ISCSI = new(ISCSIVolumeSource)
				}
				x.ISCSI.CodecDecodeSelf(d)
			}
		case "glusterfs":
			if x.VolumeSource.Glusterfs == nil {
				x.VolumeSource.Glusterfs = new(GlusterfsVolumeSource)
			}
			if r.TryDecodeAsNil() {
				if x.Glusterfs != nil {
					x.Glusterfs = nil
				}
			} else {
				if x.Glusterfs == nil {
					x.Glusterfs = new(GlusterfsVolumeSource)
				}
				x.Glusterfs.CodecDecodeSelf(d)
			}
		case "persistentVolumeClaim":
			if x.VolumeSource.PersistentVolumeClaim == nil {
				x.VolumeSource.PersistentVolumeClaim = new(PersistentVolumeClaimVolumeSource)
			}
			if r.TryDecodeAsNil() {
				if x.PersistentVolumeClaim != nil {
					x.PersistentVolumeClaim = nil
				}
			} else {
				if x.PersistentVolumeClaim == nil {
					x.PersistentVolumeClaim = new(PersistentVolumeClaimVolumeSource)
				}
				x.PersistentVolumeClaim.CodecDecodeSelf(d)
			}
		case "rbd":
			if x.VolumeSource.RBD == nil {
				x.VolumeSource.RBD = new(RBDVolumeSource)
			}
			if r.TryDecodeAsNil() {
				if x.RBD != nil {
					x.RBD = nil
				}
			} else {
				if x.RBD == nil {
					x.RBD = new(RBDVolumeSource)
				}
				x.RBD.CodecDecodeSelf(d)
			}
		case "cinder":
			if x.VolumeSource.Cinder == nil {
				x.VolumeSource.Cinder = new(CinderVolumeSource)
			}
			if r.TryDecodeAsNil() {
				if x.Cinder != nil {
					x.Cinder = nil
				}
			} else {
				if x.Cinder == nil {
					x.Cinder = new(CinderVolumeSource)
				}
				x.Cinder.CodecDecodeSelf(d)
			}
		case "cephfs":
			if x.VolumeSource.CephFS == nil {
				x.VolumeSource.CephFS = new(CephFSVolumeSource)
			}
			if r.TryDecodeAsNil() {
				if x.CephFS != nil {
					x.CephFS = nil
				}
			} else {
				if x.CephFS == nil {
					x.CephFS = new(CephFSVolumeSource)
				}
				x.CephFS.CodecDecodeSelf(d)
			}
		case "flocker":
			if x.VolumeSource.Flocker == nil {
				x.VolumeSource.Flocker = new(FlockerVolumeSource)
			}
			if r.TryDecodeAsNil() {
				if x.Flocker != nil {
					x.Flocker = nil
				}
			} else {
				if x.Flocker == nil {
					x.Flocker = new(FlockerVolumeSource)
				}
				x.Flocker.CodecDecodeSelf(d)
			}
		case "downwardAPI":
			if x.VolumeSource.DownwardAPI == nil {
				x.VolumeSource.DownwardAPI = new(DownwardAPIVolumeSource)
			}
			if r.TryDecodeAsNil() {
				if x.DownwardAPI != nil {
					x.DownwardAPI = nil
				}
			} else {
				if x.DownwardAPI == nil {
					x.DownwardAPI = new(DownwardAPIVolumeSource)
				}
				x.DownwardAPI.CodecDecodeSelf(d)
			}
		case "fc":
			if x.VolumeSource.FC == nil {
				x.VolumeSource.FC = new(FCVolumeSource)
			}
			if r.TryDecodeAsNil() {
				if x.FC != nil {
					x.FC = nil
				}
			} else {
				if x.FC == nil {
					x.FC = new(FCVolumeSource)
				}
				x.FC.CodecDecodeSelf(d)
			}
		default:
			z.DecStructFieldNotFound(-1, yys104)
		} // end switch yys104
	} // end for yyj104
	if !yyhl104 {
		r.ReadEnd()
	}
}

func (x *Volume) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj122 int
	var yyb122 bool
	var yyhl122 bool = l >= 0
	yyj122++
	if yyhl122 {
		yyb122 = yyj122 > l
	} else {
		yyb122 = r.CheckBreak()
	}
	if yyb122 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.Name = ""
	} else {
		x.Name = string(r.DecodeString())
	}
	yyj122++
	if yyhl122 {
		yyb122 = yyj122 > l
	} else {
		yyb122 = r.CheckBreak()
	}
	if yyb122 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		if x.HostPath != nil {
			x.HostPath = nil
		}
	} else {
		if x.HostPath == nil {
			x.HostPath = new(HostPathVolumeSource)
		}
		x.HostPath.CodecDecodeSelf(d)
	}
	yyj122++
	if yyhl122 {
		yyb122 = yyj122 > l
	} else {
		yyb122 = r.CheckBreak()
	}
	if yyb122 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		if x.EmptyDir != nil {
			x.EmptyDir = nil
		}
	} else {
		if x.EmptyDir == nil {
			x.EmptyDir = new(EmptyDirVolumeSource)
		}
		x.EmptyDir.CodecDecodeSelf(d)
	}
	yyj122++
	if yyhl122 {
		yyb122 = yyj122 > l
	} else {
		yyb122 = r.CheckBreak()
	}
	if yyb122 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		if x.GCEPersistentDisk != nil {
			x.GCEPersistentDisk = nil
		}
	} else {
		if x.GCEPersistentDisk == nil {
			x.GCEPersistentDisk = new(GCEPersistentDiskVolumeSource)
		}
		x.GCEPersistentDisk.CodecDecodeSelf(d)
	}
	yyj122++
	if yyhl122 {
		yyb122 = yyj122 > l
	} else {
		yyb122 = r.CheckBreak()
	}
	if yyb122 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		if x.AWSElasticBlockStore != nil {
			x.AWSElasticBlockStore = nil
		}
	} else {
		if x.AWSElasticBlockStore == nil {
			x.AWSElasticBlockStore = new(AWSElasticBlockStoreVolumeSource)
		}
		x.AWSElasticBlockStore.CodecDecodeSelf(d)
	}
	yyj122++
	if yyhl122 {
		yyb122 = yyj122 > l
	} else {
		yyb122 = r.CheckBreak()
	}
	if yyb122 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		if x.GitRepo != nil {
			x.GitRepo = nil
		}
	} else {
		if x.GitRepo == nil {
			x.GitRepo = new(GitRepoVolumeSource)
		}
		x.GitRepo.CodecDecodeSelf(d)
	}
	yyj122++
	if yyhl122 {
		yyb122 = yyj122 > l
	} else {
		yyb122 = r.CheckBreak()
	}
	if yyb122 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		if x.Secret != nil {
			x.Secret = nil
		}
	} else {
		if x.Secret == nil {
			x.Secret = new(SecretVolumeSource)
		}
		x.Secret.CodecDecodeSelf(d)
	}
	yyj122++
	if yyhl122 {
		yyb122 = yyj122 > l
	} else {
		yyb122 = r.CheckBreak()
	}
	if yyb122 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		if x.NFS != nil {
			x.NFS = nil
		}
	} else {
		if x.NFS == nil {
			x.NFS = new(NFSVolumeSource)
		}
		x.NFS.CodecDecodeSelf(d)
	}
	yyj122++
	if yyhl122 {
		yyb122 = yyj122 > l
	} else {
		yyb122 = r.CheckBreak()
	}
	if yyb122 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		if x.ISCSI != nil {
			x.ISCSI = nil
		}
	} else {
		if x.ISCSI == nil {
			x.ISCSI = new(ISCSIVolumeSource)
		}
		x.ISCSI.CodecDecodeSelf(d)
	}
	yyj122++
	if yyhl122 {
		yyb122 = yyj122 > l
	} else {
		yyb122 = r.CheckBreak()
	}
	if yyb122 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		if x.Glusterfs != nil {
			x.Glusterfs = nil
		}
	} else {
		if x.Glusterfs == nil {
			x.Glusterfs = new(GlusterfsVolumeSource)
		}
		x.Glusterfs.CodecDecodeSelf(d)
	}
	yyj122++
	if yyhl122 {
		yyb122 = yyj122 > l
	} else {
		yyb122 = r.CheckBreak()
	}
	if yyb122 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		if x.PersistentVolumeClaim != nil {
			x.PersistentVolumeClaim = nil
		}
	} else {
		if x.PersistentVolumeClaim == nil {
			x.PersistentVolumeClaim = new(PersistentVolumeClaimVolumeSource)
		}
		x.PersistentVolumeClaim.CodecDecodeSelf(d)
	}
	yyj122++
	if yyhl122 {
		yyb122 = yyj122 > l
	} else {
		yyb122 = r.CheckBreak()
	}
	if yyb122 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		if x.RBD != nil {
			x.RBD = nil
		}
	} else {
		if x.RBD == nil {
			x.RBD = new(RBDVolumeSource)
		}
		x.RBD.CodecDecodeSelf(d)
	}
	yyj122++
	if yyhl122 {
		yyb122 = yyj122 > l
	} else {
		yyb122 = r.CheckBreak()
	}
	if yyb122 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		if x.Cinder != nil {
			x.Cinder = nil
		}
	} else {
		if x.Cinder == nil {
			x.Cinder = new(CinderVolumeSource)
		}
		x.Cinder.CodecDecodeSelf(d)
	}
	yyj122++
	if yyhl122 {
		yyb122 = yyj122 > l
	} else {
		yyb122 = r.CheckBreak()
	}
	if yyb122 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		if x.CephFS != nil {
			x.CephFS = nil
		}
	} else {
		if x.CephFS == nil {
			x.CephFS = new(CephFSVolumeSource)
		}
		x.CephFS.CodecDecodeSelf(d)
	}
	yyj122++
	if yyhl122 {
		yyb122 = yyj122 > l
	} else {
		yyb122 = r.CheckBreak()
	}
	if yyb122 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		if x.Flocker != nil {
			x.Flocker = nil
		}
	} else {
		if x.Flocker == nil {
			x.Flocker = new(FlockerVolumeSource)
		}
		x.Flocker.CodecDecodeSelf(d)
	}
	yyj122++
	if yyhl122 {
		yyb122 = yyj122 > l
	} else {
		yyb122 = r.CheckBreak()
	}
	if yyb122 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		if x.DownwardAPI != nil {
			x.DownwardAPI = nil
		}
	} else {
		if x.DownwardAPI == nil {
			x.DownwardAPI = new(DownwardAPIVolumeSource)
		}
		x.DownwardAPI.CodecDecodeSelf(d)
	}
	yyj122++
	if yyhl122 {
		yyb122 = yyj122 > l
	} else {
		yyb122 = r.CheckBreak()
	}
	if yyb122 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		if x.FC != nil {
			x.FC = nil
		}
	} else {
		if x.FC == nil {
			x.FC = new(FCVolumeSource)
		}
		x.FC.CodecDecodeSelf(d)
	}
	for {
		yyj122++
		if yyhl122 {
			yyb122 = yyj122 > l
		} else {
			yyb122 = r.CheckBreak()
		}
		if yyb122 {
			break
		}
		z.DecStructFieldNotFound(yyj122-1, "")
	}
	r.ReadEnd()
}

func (x *VolumeSource) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym140 := z.EncBinary()
		_ = yym140
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep141 := !z.EncBinary()
			yy2arr141 := z.EncBasicHandle().StructToArray
			var yyq141 [16]bool
			_, _, _ = yysep141, yyq141, yy2arr141
			const yyr141 bool = false
			yyq141[0] = x.HostPath != nil
			yyq141[1] = x.EmptyDir != nil
			yyq141[2] = x.GCEPersistentDisk != nil
			yyq141[3] = x.AWSElasticBlockStore != nil
			yyq141[4] = x.GitRepo != nil
			yyq141[5] = x.Secret != nil
			yyq141[6] = x.NFS != nil
			yyq141[7] = x.ISCSI != nil
			yyq141[8] = x.Glusterfs != nil
			yyq141[9] = x.PersistentVolumeClaim != nil
			yyq141[10] = x.RBD != nil
			yyq141[11] = x.Cinder != nil
			yyq141[12] = x.CephFS != nil
			yyq141[13] = x.Flocker != nil
			yyq141[14] = x.DownwardAPI != nil
			yyq141[15] = x.FC != nil
			if yyr141 || yy2arr141 {
				r.EncodeArrayStart(16)
			} else {
				var yynn141 int = 0
				for _, b := range yyq141 {
					if b {
						yynn141++
					}
				}
				r.EncodeMapStart(yynn141)
			}
			if yyr141 || yy2arr141 {
				if yyq141[0] {
					if x.HostPath == nil {
						r.EncodeNil()
					} else {
						x.HostPath.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq141[0] {
					r.EncodeString(codecSelferC_UTF81234, string("hostPath"))
					if x.HostPath == nil {
						r.EncodeNil()
					} else {
						x.HostPath.CodecEncodeSelf(e)
					}
				}
			}
			if yyr141 || yy2arr141 {
				if yyq141[1] {
					if x.EmptyDir == nil {
						r.EncodeNil()
					} else {
						x.EmptyDir.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq141[1] {
					r.EncodeString(codecSelferC_UTF81234, string("emptyDir"))
					if x.EmptyDir == nil {
						r.EncodeNil()
					} else {
						x.EmptyDir.CodecEncodeSelf(e)
					}
				}
			}
			if yyr141 || yy2arr141 {
				if yyq141[2] {
					if x.GCEPersistentDisk == nil {
						r.EncodeNil()
					} else {
						x.GCEPersistentDisk.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq141[2] {
					r.EncodeString(codecSelferC_UTF81234, string("gcePersistentDisk"))
					if x.GCEPersistentDisk == nil {
						r.EncodeNil()
					} else {
						x.GCEPersistentDisk.CodecEncodeSelf(e)
					}
				}
			}
			if yyr141 || yy2arr141 {
				if yyq141[3] {
					if x.AWSElasticBlockStore == nil {
						r.EncodeNil()
					} else {
						x.AWSElasticBlockStore.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq141[3] {
					r.EncodeString(codecSelferC_UTF81234, string("awsElasticBlockStore"))
					if x.AWSElasticBlockStore == nil {
						r.EncodeNil()
					} else {
						x.AWSElasticBlockStore.CodecEncodeSelf(e)
					}
				}
			}
			if yyr141 || yy2arr141 {
				if yyq141[4] {
					if x.GitRepo == nil {
						r.EncodeNil()
					} else {
						x.GitRepo.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq141[4] {
					r.EncodeString(codecSelferC_UTF81234, string("gitRepo"))
					if x.GitRepo == nil {
						r.EncodeNil()
					} else {
						x.GitRepo.CodecEncodeSelf(e)
					}
				}
			}
			if yyr141 || yy2arr141 {
				if yyq141[5] {
					if x.Secret == nil {
						r.EncodeNil()
					} else {
						x.Secret.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq141[5] {
					r.EncodeString(codecSelferC_UTF81234, string("secret"))
					if x.Secret == nil {
						r.EncodeNil()
					} else {
						x.Secret.CodecEncodeSelf(e)
					}
				}
			}
			if yyr141 || yy2arr141 {
				if yyq141[6] {
					if x.NFS == nil {
						r.EncodeNil()
					} else {
						x.NFS.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq141[6] {
					r.EncodeString(codecSelferC_UTF81234, string("nfs"))
					if x.NFS == nil {
						r.EncodeNil()
					} else {
						x.NFS.CodecEncodeSelf(e)
					}
				}
			}
			if yyr141 || yy2arr141 {
				if yyq141[7] {
					if x.ISCSI == nil {
						r.EncodeNil()
					} else {
						x.ISCSI.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq141[7] {
					r.EncodeString(codecSelferC_UTF81234, string("iscsi"))
					if x.ISCSI == nil {
						r.EncodeNil()
					} else {
						x.ISCSI.CodecEncodeSelf(e)
					}
				}
			}
			if yyr141 || yy2arr141 {
				if yyq141[8] {
					if x.Glusterfs == nil {
						r.EncodeNil()
					} else {
						x.Glusterfs.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq141[8] {
					r.EncodeString(codecSelferC_UTF81234, string("glusterfs"))
					if x.Glusterfs == nil {
						r.EncodeNil()
					} else {
						x.Glusterfs.CodecEncodeSelf(e)
					}
				}
			}
			if yyr141 || yy2arr141 {
				if yyq141[9] {
					if x.PersistentVolumeClaim == nil {
						r.EncodeNil()
					} else {
						x.PersistentVolumeClaim.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq141[9] {
					r.EncodeString(codecSelferC_UTF81234, string("persistentVolumeClaim"))
					if x.PersistentVolumeClaim == nil {
						r.EncodeNil()
					} else {
						x.PersistentVolumeClaim.CodecEncodeSelf(e)
					}
				}
			}
			if yyr141 || yy2arr141 {
				if yyq141[10] {
					if x.RBD == nil {
						r.EncodeNil()
					} else {
						x.RBD.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq141[10] {
					r.EncodeString(codecSelferC_UTF81234, string("rbd"))
					if x.RBD == nil {
						r.EncodeNil()
					} else {
						x.RBD.CodecEncodeSelf(e)
					}
				}
			}
			if yyr141 || yy2arr141 {
				if yyq141[11] {
					if x.Cinder == nil {
						r.EncodeNil()
					} else {
						x.Cinder.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq141[11] {
					r.EncodeString(codecSelferC_UTF81234, string("cinder"))
					if x.Cinder == nil {
						r.EncodeNil()
					} else {
						x.Cinder.CodecEncodeSelf(e)
					}
				}
			}
			if yyr141 || yy2arr141 {
				if yyq141[12] {
					if x.CephFS == nil {
						r.EncodeNil()
					} else {
						x.CephFS.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq141[12] {
					r.EncodeString(codecSelferC_UTF81234, string("cephfs"))
					if x.CephFS == nil {
						r.EncodeNil()
					} else {
						x.CephFS.CodecEncodeSelf(e)
					}
				}
			}
			if yyr141 || yy2arr141 {
				if yyq141[13] {
					if x.Flocker == nil {
						r.EncodeNil()
					} else {
						x.Flocker.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq141[13] {
					r.EncodeString(codecSelferC_UTF81234, string("flocker"))
					if x.Flocker == nil {
						r.EncodeNil()
					} else {
						x.Flocker.CodecEncodeSelf(e)
					}
				}
			}
			if yyr141 || yy2arr141 {
				if yyq141[14] {
					if x.DownwardAPI == nil {
						r.EncodeNil()
					} else {
						x.DownwardAPI.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq141[14] {
					r.EncodeString(codecSelferC_UTF81234, string("downwardAPI"))
					if x.DownwardAPI == nil {
						r.EncodeNil()
					} else {
						x.DownwardAPI.CodecEncodeSelf(e)
					}
				}
			}
			if yyr141 || yy2arr141 {
				if yyq141[15] {
					if x.FC == nil {
						r.EncodeNil()
					} else {
						x.FC.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq141[15] {
					r.EncodeString(codecSelferC_UTF81234, string("fc"))
					if x.FC == nil {
						r.EncodeNil()
					} else {
						x.FC.CodecEncodeSelf(e)
					}
				}
			}
			if yysep141 {
				r.EncodeEnd()
			}
		}
	}
}

func (x *VolumeSource) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym158 := z.DecBinary()
	_ = yym158
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		if r.IsContainerType(codecSelferValueTypeMap1234) {
			yyl159 := r.ReadMapStart()
			if yyl159 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromMap(yyl159, d)
			}
		} else if r.IsContainerType(codecSelferValueTypeArray1234) {
			yyl159 := r.ReadArrayStart()
			if yyl159 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromArray(yyl159, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *VolumeSource) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys160Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys160Slc
	var yyhl160 bool = l >= 0
	for yyj160 := 0; ; yyj160++ {
		if yyhl160 {
			if yyj160 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		yys160Slc = r.DecodeBytes(yys160Slc, true, true)
		yys160 := string(yys160Slc)
		switch yys160 {
		case "hostPath":
			if r.TryDecodeAsNil() {
				if x.HostPath != nil {
					x.HostPath = nil
				}
			} else {
				if x.HostPath == nil {
					x.HostPath = new(HostPathVolumeSource)
				}
				x.HostPath.CodecDecodeSelf(d)
			}
		case "emptyDir":
			if r.TryDecodeAsNil() {
				if x.EmptyDir != nil {
					x.EmptyDir = nil
				}
			} else {
				if x.EmptyDir == nil {
					x.EmptyDir = new(EmptyDirVolumeSource)
				}
				x.EmptyDir.CodecDecodeSelf(d)
			}
		case "gcePersistentDisk":
			if r.TryDecodeAsNil() {
				if x.GCEPersistentDisk != nil {
					x.GCEPersistentDisk = nil
				}
			} else {
				if x.GCEPersistentDisk == nil {
					x.GCEPersistentDisk = new(GCEPersistentDiskVolumeSource)
				}
				x.GCEPersistentDisk.CodecDecodeSelf(d)
			}
		case "awsElasticBlockStore":
			if r.TryDecodeAsNil() {
				if x.AWSElasticBlockStore != nil {
					x.AWSElasticBlockStore = nil
				}
			} else {
				if x.AWSElasticBlockStore == nil {
					x.AWSElasticBlockStore = new(AWSElasticBlockStoreVolumeSource)
				}
				x.AWSElasticBlockStore.CodecDecodeSelf(d)
			}
		case "gitRepo":
			if r.TryDecodeAsNil() {
				if x.GitRepo != nil {
					x.GitRepo = nil
				}
			} else {
				if x.GitRepo == nil {
					x.GitRepo = new(GitRepoVolumeSource)
				}
				x.GitRepo.CodecDecodeSelf(d)
			}
		case "secret":
			if r.TryDecodeAsNil() {
				if x.Secret != nil {
					x.Secret = nil
				}
			} else {
				if x.Secret == nil {
					x.Secret = new(SecretVolumeSource)
				}
				x.Secret.CodecDecodeSelf(d)
			}
		case "nfs":
			if r.TryDecodeAsNil() {
				if x.NFS != nil {
					x.NFS = nil
				}
			} else {
				if x.NFS == nil {
					x.NFS = new(NFSVolumeSource)
				}
				x.NFS.CodecDecodeSelf(d)
			}
		case "iscsi":
			if r.TryDecodeAsNil() {
				if x.ISCSI != nil {
					x.ISCSI = nil
				}
			} else {
				if x.ISCSI == nil {
					x.ISCSI = new(ISCSIVolumeSource)
				}
				x.ISCSI.CodecDecodeSelf(d)
			}
		case "glusterfs":
			if r.TryDecodeAsNil() {
				if x.Glusterfs != nil {
					x.Glusterfs = nil
				}
			} else {
				if x.Glusterfs == nil {
					x.Glusterfs = new(GlusterfsVolumeSource)
				}
				x.Glusterfs.CodecDecodeSelf(d)
			}
		case "persistentVolumeClaim":
			if r.TryDecodeAsNil() {
				if x.PersistentVolumeClaim != nil {
					x.PersistentVolumeClaim = nil
				}
			} else {
				if x.PersistentVolumeClaim == nil {
					x.PersistentVolumeClaim = new(PersistentVolumeClaimVolumeSource)
				}
				x.PersistentVolumeClaim.CodecDecodeSelf(d)
			}
		case "rbd":
			if r.TryDecodeAsNil() {
				if x.RBD != nil {
					x.RBD = nil
				}
			} else {
				if x.RBD == nil {
					x.RBD = new(RBDVolumeSource)
				}
				x.RBD.CodecDecodeSelf(d)
			}
		case "cinder":
			if r.TryDecodeAsNil() {
				if x.Cinder != nil {
					x.Cinder = nil
				}
			} else {
				if x.Cinder == nil {
					x.Cinder = new(CinderVolumeSource)
				}
				x.Cinder.CodecDecodeSelf(d)
			}
		case "cephfs":
			if r.TryDecodeAsNil() {
				if x.CephFS != nil {
					x.CephFS = nil
				}
			} else {
				if x.CephFS == nil {
					x.CephFS = new(CephFSVolumeSource)
				}
				x.CephFS.CodecDecodeSelf(d)
			}
		case "flocker":
			if r.TryDecodeAsNil() {
				if x.Flocker != nil {
					x.Flocker = nil
				}
			} else {
				if x.Flocker == nil {
					x.Flocker = new(FlockerVolumeSource)
				}
				x.Flocker.CodecDecodeSelf(d)
			}
		case "downwardAPI":
			if r.TryDecodeAsNil() {
				if x.DownwardAPI != nil {
					x.DownwardAPI = nil
				}
			} else {
				if x.DownwardAPI == nil {
					x.DownwardAPI = new(DownwardAPIVolumeSource)
				}
				x.DownwardAPI.CodecDecodeSelf(d)
			}
		case "fc":
			if r.TryDecodeAsNil() {
				if x.FC != nil {
					x.FC = nil
				}
			} else {
				if x.FC == nil {
					x.FC = new(FCVolumeSource)
				}
				x.FC.CodecDecodeSelf(d)
			}
		default:
			z.DecStructFieldNotFound(-1, yys160)
		} // end switch yys160
	} // end for yyj160
	if !yyhl160 {
		r.ReadEnd()
	}
}

func (x *VolumeSource) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj177 int
	var yyb177 bool
	var yyhl177 bool = l >= 0
	yyj177++
	if yyhl177 {
		yyb177 = yyj177 > l
	} else {
		yyb177 = r.CheckBreak()
	}
	if yyb177 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		if x.HostPath != nil {
			x.HostPath = nil
		}
	} else {
		if x.HostPath == nil {
			x.HostPath = new(HostPathVolumeSource)
		}
		x.HostPath.CodecDecodeSelf(d)
	}
	yyj177++
	if yyhl177 {
		yyb177 = yyj177 > l
	} else {
		yyb177 = r.CheckBreak()
	}
	if yyb177 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		if x.EmptyDir != nil {
			x.EmptyDir = nil
		}
	} else {
		if x.EmptyDir == nil {
			x.EmptyDir = new(EmptyDirVolumeSource)
		}
		x.EmptyDir.CodecDecodeSelf(d)
	}
	yyj177++
	if yyhl177 {
		yyb177 = yyj177 > l
	} else {
		yyb177 = r.CheckBreak()
	}
	if yyb177 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		if x.GCEPersistentDisk != nil {
			x.GCEPersistentDisk = nil
		}
	} else {
		if x.GCEPersistentDisk == nil {
			x.GCEPersistentDisk = new(GCEPersistentDiskVolumeSource)
		}
		x.GCEPersistentDisk.CodecDecodeSelf(d)
	}
	yyj177++
	if yyhl177 {
		yyb177 = yyj177 > l
	} else {
		yyb177 = r.CheckBreak()
	}
	if yyb177 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		if x.AWSElasticBlockStore != nil {
			x.AWSElasticBlockStore = nil
		}
	} else {
		if x.AWSElasticBlockStore == nil {
			x.AWSElasticBlockStore = new(AWSElasticBlockStoreVolumeSource)
		}
		x.AWSElasticBlockStore.CodecDecodeSelf(d)
	}
	yyj177++
	if yyhl177 {
		yyb177 = yyj177 > l
	} else {
		yyb177 = r.CheckBreak()
	}
	if yyb177 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		if x.GitRepo != nil {
			x.GitRepo = nil
		}
	} else {
		if x.GitRepo == nil {
			x.GitRepo = new(GitRepoVolumeSource)
		}
		x.GitRepo.CodecDecodeSelf(d)
	}
	yyj177++
	if yyhl177 {
		yyb177 = yyj177 > l
	} else {
		yyb177 = r.CheckBreak()
	}
	if yyb177 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		if x.Secret != nil {
			x.Secret = nil
		}
	} else {
		if x.Secret == nil {
			x.Secret = new(SecretVolumeSource)
		}
		x.Secret.CodecDecodeSelf(d)
	}
	yyj177++
	if yyhl177 {
		yyb177 = yyj177 > l
	} else {
		yyb177 = r.CheckBreak()
	}
	if yyb177 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		if x.NFS != nil {
			x.NFS = nil
		}
	} else {
		if x.NFS == nil {
			x.NFS = new(NFSVolumeSource)
		}
		x.NFS.CodecDecodeSelf(d)
	}
	yyj177++
	if yyhl177 {
		yyb177 = yyj177 > l
	} else {
		yyb177 = r.CheckBreak()
	}
	if yyb177 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		if x.ISCSI != nil {
			x.ISCSI = nil
		}
	} else {
		if x.ISCSI == nil {
			x.ISCSI = new(ISCSIVolumeSource)
		}
		x.ISCSI.CodecDecodeSelf(d)
	}
	yyj177++
	if yyhl177 {
		yyb177 = yyj177 > l
	} else {
		yyb177 = r.CheckBreak()
	}
	if yyb177 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		if x.Glusterfs != nil {
			x.Glusterfs = nil
		}
	} else {
		if x.Glusterfs == nil {
			x.Glusterfs = new(GlusterfsVolumeSource)
		}
		x.Glusterfs.CodecDecodeSelf(d)
	}
	yyj177++
	if yyhl177 {
		yyb177 = yyj177 > l
	} else {
		yyb177 = r.CheckBreak()
	}
	if yyb177 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		if x.PersistentVolumeClaim != nil {
			x.PersistentVolumeClaim = nil
		}
	} else {
		if x.PersistentVolumeClaim == nil {
			x.PersistentVolumeClaim = new(PersistentVolumeClaimVolumeSource)
		}
		x.PersistentVolumeClaim.CodecDecodeSelf(d)
	}
	yyj177++
	if yyhl177 {
		yyb177 = yyj177 > l
	} else {
		yyb177 = r.CheckBreak()
	}
	if yyb177 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		if x.RBD != nil {
			x.RBD = nil
		}
	} else {
		if x.RBD == nil {
			x.RBD = new(RBDVolumeSource)
		}
		x.RBD.CodecDecodeSelf(d)
	}
	yyj177++
	if yyhl177 {
		yyb177 = yyj177 > l
	} else {
		yyb177 = r.CheckBreak()
	}
	if yyb177 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		if x.Cinder != nil {
			x.Cinder = nil
		}
	} else {
		if x.Cinder == nil {
			x.Cinder = new(CinderVolumeSource)
		}
		x.Cinder.CodecDecodeSelf(d)
	}
	yyj177++
	if yyhl177 {
		yyb177 = yyj177 > l
	} else {
		yyb177 = r.CheckBreak()
	}
	if yyb177 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		if x.CephFS != nil {
			x.CephFS = nil
		}
	} else {
		if x.CephFS == nil {
			x.CephFS = new(CephFSVolumeSource)
		}
		x.CephFS.CodecDecodeSelf(d)
	}
	yyj177++
	if yyhl177 {
		yyb177 = yyj177 > l
	} else {
		yyb177 = r.CheckBreak()
	}
	if yyb177 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		if x.Flocker != nil {
			x.Flocker = nil
		}
	} else {
		if x.Flocker == nil {
			x.Flocker = new(FlockerVolumeSource)
		}
		x.Flocker.CodecDecodeSelf(d)
	}
	yyj177++
	if yyhl177 {
		yyb177 = yyj177 > l
	} else {
		yyb177 = r.CheckBreak()
	}
	if yyb177 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		if x.DownwardAPI != nil {
			x.DownwardAPI = nil
		}
	} else {
		if x.DownwardAPI == nil {
			x.DownwardAPI = new(DownwardAPIVolumeSource)
		}
		x.DownwardAPI.CodecDecodeSelf(d)
	}
	yyj177++
	if yyhl177 {
		yyb177 = yyj177 > l
	} else {
		yyb177 = r.CheckBreak()
	}
	if yyb177 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		if x.FC != nil {
			x.FC = nil
		}
	} else {
		if x.FC == nil {
			x.FC = new(FCVolumeSource)
		}
		x.FC.CodecDecodeSelf(d)
	}
	for {
		yyj177++
		if yyhl177 {
			yyb177 = yyj177 > l
		} else {
			yyb177 = r.CheckBreak()
		}
		if yyb177 {
			break
		}
		z.DecStructFieldNotFound(yyj177-1, "")
	}
	r.ReadEnd()
}

func (x *PersistentVolumeClaimVolumeSource) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym194 := z.EncBinary()
		_ = yym194
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep195 := !z.EncBinary()
			yy2arr195 := z.EncBasicHandle().StructToArray
			var yyq195 [2]bool
			_, _, _ = yysep195, yyq195, yy2arr195
			const yyr195 bool = false
			yyq195[1] = x.ReadOnly != false
			if yyr195 || yy2arr195 {
				r.EncodeArrayStart(2)
			} else {
				var yynn195 int = 1
				for _, b := range yyq195 {
					if b {
						yynn195++
					}
				}
				r.EncodeMapStart(yynn195)
			}
			if yyr195 || yy2arr195 {
				yym197 := z.EncBinary()
				_ = yym197
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.ClaimName))
				}
			} else {
				r.EncodeString(codecSelferC_UTF81234, string("claimName"))
				yym198 := z.EncBinary()
				_ = yym198
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.ClaimName))
				}
			}
			if yyr195 || yy2arr195 {
				if yyq195[1] {
					yym200 := z.EncBinary()
					_ = yym200
					if false {
					} else {
						r.EncodeBool(bool(x.ReadOnly))
					}
				} else {
					r.EncodeBool(false)
				}
			} else {
				if yyq195[1] {
					r.EncodeString(codecSelferC_UTF81234, string("readOnly"))
					yym201 := z.EncBinary()
					_ = yym201
					if false {
					} else {
						r.EncodeBool(bool(x.ReadOnly))
					}
				}
			}
			if yysep195 {
				r.EncodeEnd()
			}
		}
	}
}

func (x *PersistentVolumeClaimVolumeSource) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym202 := z.DecBinary()
	_ = yym202
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		if r.IsContainerType(codecSelferValueTypeMap1234) {
			yyl203 := r.ReadMapStart()
			if yyl203 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromMap(yyl203, d)
			}
		} else if r.IsContainerType(codecSelferValueTypeArray1234) {
			yyl203 := r.ReadArrayStart()
			if yyl203 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromArray(yyl203, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *PersistentVolumeClaimVolumeSource) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys204Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys204Slc
	var yyhl204 bool = l >= 0
	for yyj204 := 0; ; yyj204++ {
		if yyhl204 {
			if yyj204 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		yys204Slc = r.DecodeBytes(yys204Slc, true, true)
		yys204 := string(yys204Slc)
		switch yys204 {
		case "claimName":
			if r.TryDecodeAsNil() {
				x.ClaimName = ""
			} else {
				x.ClaimName = string(r.DecodeString())
			}
		case "readOnly":
			if r.TryDecodeAsNil() {
				x.ReadOnly = false
			} else {
				x.ReadOnly = bool(r.DecodeBool())
			}
		default:
			z.DecStructFieldNotFound(-1, yys204)
		} // end switch yys204
	} // end for yyj204
	if !yyhl204 {
		r.ReadEnd()
	}
}

func (x *PersistentVolumeClaimVolumeSource) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj207 int
	var yyb207 bool
	var yyhl207 bool = l >= 0
	yyj207++
	if yyhl207 {
		yyb207 = yyj207 > l
	} else {
		yyb207 = r.CheckBreak()
	}
	if yyb207 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.ClaimName = ""
	} else {
		x.ClaimName = string(r.DecodeString())
	}
	yyj207++
	if yyhl207 {
		yyb207 = yyj207 > l
	} else {
		yyb207 = r.CheckBreak()
	}
	if yyb207 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.ReadOnly = false
	} else {
		x.ReadOnly = bool(r.DecodeBool())
	}
	for {
		yyj207++
		if yyhl207 {
			yyb207 = yyj207 > l
		} else {
			yyb207 = r.CheckBreak()
		}
		if yyb207 {
			break
		}
		z.DecStructFieldNotFound(yyj207-1, "")
	}
	r.ReadEnd()
}

func (x *PersistentVolumeSource) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym210 := z.EncBinary()
		_ = yym210
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep211 := !z.EncBinary()
			yy2arr211 := z.EncBasicHandle().StructToArray
			var yyq211 [11]bool
			_, _, _ = yysep211, yyq211, yy2arr211
			const yyr211 bool = false
			yyq211[0] = x.GCEPersistentDisk != nil
			yyq211[1] = x.AWSElasticBlockStore != nil
			yyq211[2] = x.HostPath != nil
			yyq211[3] = x.Glusterfs != nil
			yyq211[4] = x.NFS != nil
			yyq211[5] = x.RBD != nil
			yyq211[6] = x.ISCSI != nil
			yyq211[7] = x.Cinder != nil
			yyq211[8] = x.CephFS != nil
			yyq211[9] = x.FC != nil
			yyq211[10] = x.Flocker != nil
			if yyr211 || yy2arr211 {
				r.EncodeArrayStart(11)
			} else {
				var yynn211 int = 0
				for _, b := range yyq211 {
					if b {
						yynn211++
					}
				}
				r.EncodeMapStart(yynn211)
			}
			if yyr211 || yy2arr211 {
				if yyq211[0] {
					if x.GCEPersistentDisk == nil {
						r.EncodeNil()
					} else {
						x.GCEPersistentDisk.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq211[0] {
					r.EncodeString(codecSelferC_UTF81234, string("gcePersistentDisk"))
					if x.GCEPersistentDisk == nil {
						r.EncodeNil()
					} else {
						x.GCEPersistentDisk.CodecEncodeSelf(e)
					}
				}
			}
			if yyr211 || yy2arr211 {
				if yyq211[1] {
					if x.AWSElasticBlockStore == nil {
						r.EncodeNil()
					} else {
						x.AWSElasticBlockStore.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq211[1] {
					r.EncodeString(codecSelferC_UTF81234, string("awsElasticBlockStore"))
					if x.AWSElasticBlockStore == nil {
						r.EncodeNil()
					} else {
						x.AWSElasticBlockStore.CodecEncodeSelf(e)
					}
				}
			}
			if yyr211 || yy2arr211 {
				if yyq211[2] {
					if x.HostPath == nil {
						r.EncodeNil()
					} else {
						x.HostPath.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq211[2] {
					r.EncodeString(codecSelferC_UTF81234, string("hostPath"))
					if x.HostPath == nil {
						r.EncodeNil()
					} else {
						x.HostPath.CodecEncodeSelf(e)
					}
				}
			}
			if yyr211 || yy2arr211 {
				if yyq211[3] {
					if x.Glusterfs == nil {
						r.EncodeNil()
					} else {
						x.Glusterfs.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq211[3] {
					r.EncodeString(codecSelferC_UTF81234, string("glusterfs"))
					if x.Glusterfs == nil {
						r.EncodeNil()
					} else {
						x.Glusterfs.CodecEncodeSelf(e)
					}
				}
			}
			if yyr211 || yy2arr211 {
				if yyq211[4] {
					if x.NFS == nil {
						r.EncodeNil()
					} else {
						x.NFS.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq211[4] {
					r.EncodeString(codecSelferC_UTF81234, string("nfs"))
					if x.NFS == nil {
						r.EncodeNil()
					} else {
						x.NFS.CodecEncodeSelf(e)
					}
				}
			}
			if yyr211 || yy2arr211 {
				if yyq211[5] {
					if x.RBD == nil {
						r.EncodeNil()
					} else {
						x.RBD.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq211[5] {
					r.EncodeString(codecSelferC_UTF81234, string("rbd"))
					if x.RBD == nil {
						r.EncodeNil()
					} else {
						x.RBD.CodecEncodeSelf(e)
					}
				}
			}
			if yyr211 || yy2arr211 {
				if yyq211[6] {
					if x.ISCSI == nil {
						r.EncodeNil()
					} else {
						x.ISCSI.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq211[6] {
					r.EncodeString(codecSelferC_UTF81234, string("iscsi"))
					if x.ISCSI == nil {
						r.EncodeNil()
					} else {
						x.ISCSI.CodecEncodeSelf(e)
					}
				}
			}
			if yyr211 || yy2arr211 {
				if yyq211[7] {
					if x.Cinder == nil {
						r.EncodeNil()
					} else {
						x.Cinder.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq211[7] {
					r.EncodeString(codecSelferC_UTF81234, string("cinder"))
					if x.Cinder == nil {
						r.EncodeNil()
					} else {
						x.Cinder.CodecEncodeSelf(e)
					}
				}
			}
			if yyr211 || yy2arr211 {
				if yyq211[8] {
					if x.CephFS == nil {
						r.EncodeNil()
					} else {
						x.CephFS.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq211[8] {
					r.EncodeString(codecSelferC_UTF81234, string("cephfs"))
					if x.CephFS == nil {
						r.EncodeNil()
					} else {
						x.CephFS.CodecEncodeSelf(e)
					}
				}
			}
			if yyr211 || yy2arr211 {
				if yyq211[9] {
					if x.FC == nil {
						r.EncodeNil()
					} else {
						x.FC.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq211[9] {
					r.EncodeString(codecSelferC_UTF81234, string("fc"))
					if x.FC == nil {
						r.EncodeNil()
					} else {
						x.FC.CodecEncodeSelf(e)
					}
				}
			}
			if yyr211 || yy2arr211 {
				if yyq211[10] {
					if x.Flocker == nil {
						r.EncodeNil()
					} else {
						x.Flocker.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq211[10] {
					r.EncodeString(codecSelferC_UTF81234, string("flocker"))
					if x.Flocker == nil {
						r.EncodeNil()
					} else {
						x.Flocker.CodecEncodeSelf(e)
					}
				}
			}
			if yysep211 {
				r.EncodeEnd()
			}
		}
	}
}

func (x *PersistentVolumeSource) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym223 := z.DecBinary()
	_ = yym223
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		if r.IsContainerType(codecSelferValueTypeMap1234) {
			yyl224 := r.ReadMapStart()
			if yyl224 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromMap(yyl224, d)
			}
		} else if r.IsContainerType(codecSelferValueTypeArray1234) {
			yyl224 := r.ReadArrayStart()
			if yyl224 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromArray(yyl224, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *PersistentVolumeSource) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys225Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys225Slc
	var yyhl225 bool = l >= 0
	for yyj225 := 0; ; yyj225++ {
		if yyhl225 {
			if yyj225 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		yys225Slc = r.DecodeBytes(yys225Slc, true, true)
		yys225 := string(yys225Slc)
		switch yys225 {
		case "gcePersistentDisk":
			if r.TryDecodeAsNil() {
				if x.GCEPersistentDisk != nil {
					x.GCEPersistentDisk = nil
				}
			} else {
				if x.GCEPersistentDisk == nil {
					x.GCEPersistentDisk = new(GCEPersistentDiskVolumeSource)
				}
				x.GCEPersistentDisk.CodecDecodeSelf(d)
			}
		case "awsElasticBlockStore":
			if r.TryDecodeAsNil() {
				if x.AWSElasticBlockStore != nil {
					x.AWSElasticBlockStore = nil
				}
			} else {
				if x.AWSElasticBlockStore == nil {
					x.AWSElasticBlockStore = new(AWSElasticBlockStoreVolumeSource)
				}
				x.AWSElasticBlockStore.CodecDecodeSelf(d)
			}
		case "hostPath":
			if r.TryDecodeAsNil() {
				if x.HostPath != nil {
					x.HostPath = nil
				}
			} else {
				if x.HostPath == nil {
					x.HostPath = new(HostPathVolumeSource)
				}
				x.HostPath.CodecDecodeSelf(d)
			}
		case "glusterfs":
			if r.TryDecodeAsNil() {
				if x.Glusterfs != nil {
					x.Glusterfs = nil
				}
			} else {
				if x.Glusterfs == nil {
					x.Glusterfs = new(GlusterfsVolumeSource)
				}
				x.Glusterfs.CodecDecodeSelf(d)
			}
		case "nfs":
			if r.TryDecodeAsNil() {
				if x.NFS != nil {
					x.NFS = nil
				}
			} else {
				if x.NFS == nil {
					x.NFS = new(NFSVolumeSource)
				}
				x.NFS.CodecDecodeSelf(d)
			}
		case "rbd":
			if r.TryDecodeAsNil() {
				if x.RBD != nil {
					x.RBD = nil
				}
			} else {
				if x.RBD == nil {
					x.RBD = new(RBDVolumeSource)
				}
				x.RBD.CodecDecodeSelf(d)
			}
		case "iscsi":
			if r.TryDecodeAsNil() {
				if x.ISCSI != nil {
					x.ISCSI = nil
				}
			} else {
				if x.ISCSI == nil {
					x.ISCSI = new(ISCSIVolumeSource)
				}
				x.ISCSI.CodecDecodeSelf(d)
			}
		case "cinder":
			if r.TryDecodeAsNil() {
				if x.Cinder != nil {
					x.Cinder = nil
				}
			} else {
				if x.Cinder == nil {
					x.Cinder = new(CinderVolumeSource)
				}
				x.Cinder.CodecDecodeSelf(d)
			}
		case "cephfs":
			if r.TryDecodeAsNil() {
				if x.CephFS != nil {
					x.CephFS = nil
				}
			} else {
				if x.CephFS == nil {
					x.CephFS = new(CephFSVolumeSource)
				}
				x.CephFS.CodecDecodeSelf(d)
			}
		case "fc":
			if r.TryDecodeAsNil() {
				if x.FC != nil {
					x.FC = nil
				}
			} else {
				if x.FC == nil {
					x.FC = new(FCVolumeSource)
				}
				x.FC.CodecDecodeSelf(d)
			}
		case "flocker":
			if r.TryDecodeAsNil() {
				if x.Flocker != nil {
					x.Flocker = nil
				}
			} else {
				if x.Flocker == nil {
					x.Flocker = new(FlockerVolumeSource)
				}
				x.Flocker.CodecDecodeSelf(d)
			}
		default:
			z.DecStructFieldNotFound(-1, yys225)
		} // end switch yys225
	} // end for yyj225
	if !yyhl225 {
		r.ReadEnd()
	}
}

func (x *PersistentVolumeSource) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj237 int
	var yyb237 bool
	var yyhl237 bool = l >= 0
	yyj237++
	if yyhl237 {
		yyb237 = yyj237 > l
	} else {
		yyb237 = r.CheckBreak()
	}
	if yyb237 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		if x.GCEPersistentDisk != nil {
			x.GCEPersistentDisk = nil
		}
	} else {
		if x.GCEPersistentDisk == nil {
			x.GCEPersistentDisk = new(GCEPersistentDiskVolumeSource)
		}
		x.GCEPersistentDisk.CodecDecodeSelf(d)
	}
	yyj237++
	if yyhl237 {
		yyb237 = yyj237 > l
	} else {
		yyb237 = r.CheckBreak()
	}
	if yyb237 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		if x.AWSElasticBlockStore != nil {
			x.AWSElasticBlockStore = nil
		}
	} else {
		if x.AWSElasticBlockStore == nil {
			x.AWSElasticBlockStore = new(AWSElasticBlockStoreVolumeSource)
		}
		x.AWSElasticBlockStore.CodecDecodeSelf(d)
	}
	yyj237++
	if yyhl237 {
		yyb237 = yyj237 > l
	} else {
		yyb237 = r.CheckBreak()
	}
	if yyb237 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		if x.HostPath != nil {
			x.HostPath = nil
		}
	} else {
		if x.HostPath == nil {
			x.HostPath = new(HostPathVolumeSource)
		}
		x.HostPath.CodecDecodeSelf(d)
	}
	yyj237++
	if yyhl237 {
		yyb237 = yyj237 > l
	} else {
		yyb237 = r.CheckBreak()
	}
	if yyb237 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		if x.Glusterfs != nil {
			x.Glusterfs = nil
		}
	} else {
		if x.Glusterfs == nil {
			x.Glusterfs = new(GlusterfsVolumeSource)
		}
		x.Glusterfs.CodecDecodeSelf(d)
	}
	yyj237++
	if yyhl237 {
		yyb237 = yyj237 > l
	} else {
		yyb237 = r.CheckBreak()
	}
	if yyb237 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		if x.NFS != nil {
			x.NFS = nil
		}
	} else {
		if x.NFS == nil {
			x.NFS = new(NFSVolumeSource)
		}
		x.NFS.CodecDecodeSelf(d)
	}
	yyj237++
	if yyhl237 {
		yyb237 = yyj237 > l
	} else {
		yyb237 = r.CheckBreak()
	}
	if yyb237 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		if x.RBD != nil {
			x.RBD = nil
		}
	} else {
		if x.RBD == nil {
			x.RBD = new(RBDVolumeSource)
		}
		x.RBD.CodecDecodeSelf(d)
	}
	yyj237++
	if yyhl237 {
		yyb237 = yyj237 > l
	} else {
		yyb237 = r.CheckBreak()
	}
	if yyb237 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		if x.ISCSI != nil {
			x.ISCSI = nil
		}
	} else {
		if x.ISCSI == nil {
			x.ISCSI = new(ISCSIVolumeSource)
		}
		x.ISCSI.CodecDecodeSelf(d)
	}
	yyj237++
	if yyhl237 {
		yyb237 = yyj237 > l
	} else {
		yyb237 = r.CheckBreak()
	}
	if yyb237 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		if x.Cinder != nil {
			x.Cinder = nil
		}
	} else {
		if x.Cinder == nil {
			x.Cinder = new(CinderVolumeSource)
		}
		x.Cinder.CodecDecodeSelf(d)
	}
	yyj237++
	if yyhl237 {
		yyb237 = yyj237 > l
	} else {
		yyb237 = r.CheckBreak()
	}
	if yyb237 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		if x.CephFS != nil {
			x.CephFS = nil
		}
	} else {
		if x.CephFS == nil {
			x.CephFS = new(CephFSVolumeSource)
		}
		x.CephFS.CodecDecodeSelf(d)
	}
	yyj237++
	if yyhl237 {
		yyb237 = yyj237 > l
	} else {
		yyb237 = r.CheckBreak()
	}
	if yyb237 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		if x.FC != nil {
			x.FC = nil
		}
	} else {
		if x.FC == nil {
			x.FC = new(FCVolumeSource)
		}
		x.FC.CodecDecodeSelf(d)
	}
	yyj237++
	if yyhl237 {
		yyb237 = yyj237 > l
	} else {
		yyb237 = r.CheckBreak()
	}
	if yyb237 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		if x.Flocker != nil {
			x.Flocker = nil
		}
	} else {
		if x.Flocker == nil {
			x.Flocker = new(FlockerVolumeSource)
		}
		x.Flocker.CodecDecodeSelf(d)
	}
	for {
		yyj237++
		if yyhl237 {
			yyb237 = yyj237 > l
		} else {
			yyb237 = r.CheckBreak()
		}
		if yyb237 {
			break
		}
		z.DecStructFieldNotFound(yyj237-1, "")
	}
	r.ReadEnd()
}

func (x *PersistentVolume) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym249 := z.EncBinary()
		_ = yym249
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep250 := !z.EncBinary()
			yy2arr250 := z.EncBasicHandle().StructToArray
			var yyq250 [5]bool
			_, _, _ = yysep250, yyq250, yy2arr250
			const yyr250 bool = false
			yyq250[0] = x.Kind != ""
			yyq250[1] = x.APIVersion != ""
			yyq250[2] = true
			yyq250[3] = true
			yyq250[4] = true
			if yyr250 || yy2arr250 {
				r.EncodeArrayStart(5)
			} else {
				var yynn250 int = 0
				for _, b := range yyq250 {
					if b {
						yynn250++
					}
				}
				r.EncodeMapStart(yynn250)
			}
			if yyr250 || yy2arr250 {
				if yyq250[0] {
					yym252 := z.EncBinary()
					_ = yym252
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq250[0] {
					r.EncodeString(codecSelferC_UTF81234, string("kind"))
					yym253 := z.EncBinary()
					_ = yym253
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				}
			}
			if yyr250 || yy2arr250 {
				if yyq250[1] {
					yym255 := z.EncBinary()
					_ = yym255
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq250[1] {
					r.EncodeString(codecSelferC_UTF81234, string("apiVersion"))
					yym256 := z.EncBinary()
					_ = yym256
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				}
			}
			if yyr250 || yy2arr250 {
				if yyq250[2] {
					yy258 := &x.ObjectMeta
					yy258.CodecEncodeSelf(e)
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq250[2] {
					r.EncodeString(codecSelferC_UTF81234, string("metadata"))
					yy259 := &x.ObjectMeta
					yy259.CodecEncodeSelf(e)
				}
			}
			if yyr250 || yy2arr250 {
				if yyq250[3] {
					yy261 := &x.Spec
					yy261.CodecEncodeSelf(e)
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq250[3] {
					r.EncodeString(codecSelferC_UTF81234, string("spec"))
					yy262 := &x.Spec
					yy262.CodecEncodeSelf(e)
				}
			}
			if yyr250 || yy2arr250 {
				if yyq250[4] {
					yy264 := &x.Status
					yy264.CodecEncodeSelf(e)
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq250[4] {
					r.EncodeString(codecSelferC_UTF81234, string("status"))
					yy265 := &x.Status
					yy265.CodecEncodeSelf(e)
				}
			}
			if yysep250 {
				r.EncodeEnd()
			}
		}
	}
}

func (x *PersistentVolume) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym266 := z.DecBinary()
	_ = yym266
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		if r.IsContainerType(codecSelferValueTypeMap1234) {
			yyl267 := r.ReadMapStart()
			if yyl267 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromMap(yyl267, d)
			}
		} else if r.IsContainerType(codecSelferValueTypeArray1234) {
			yyl267 := r.ReadArrayStart()
			if yyl267 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromArray(yyl267, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *PersistentVolume) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys268Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys268Slc
	var yyhl268 bool = l >= 0
	for yyj268 := 0; ; yyj268++ {
		if yyhl268 {
			if yyj268 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		yys268Slc = r.DecodeBytes(yys268Slc, true, true)
		yys268 := string(yys268Slc)
		switch yys268 {
		case "kind":
			if r.TryDecodeAsNil() {
				x.Kind = ""
			} else {
				x.Kind = string(r.DecodeString())
			}
		case "apiVersion":
			if r.TryDecodeAsNil() {
				x.APIVersion = ""
			} else {
				x.APIVersion = string(r.DecodeString())
			}
		case "metadata":
			if r.TryDecodeAsNil() {
				x.ObjectMeta = ObjectMeta{}
			} else {
				yyv271 := &x.ObjectMeta
				yyv271.CodecDecodeSelf(d)
			}
		case "spec":
			if r.TryDecodeAsNil() {
				x.Spec = PersistentVolumeSpec{}
			} else {
				yyv272 := &x.Spec
				yyv272.CodecDecodeSelf(d)
			}
		case "status":
			if r.TryDecodeAsNil() {
				x.Status = PersistentVolumeStatus{}
			} else {
				yyv273 := &x.Status
				yyv273.CodecDecodeSelf(d)
			}
		default:
			z.DecStructFieldNotFound(-1, yys268)
		} // end switch yys268
	} // end for yyj268
	if !yyhl268 {
		r.ReadEnd()
	}
}

func (x *PersistentVolume) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj274 int
	var yyb274 bool
	var yyhl274 bool = l >= 0
	yyj274++
	if yyhl274 {
		yyb274 = yyj274 > l
	} else {
		yyb274 = r.CheckBreak()
	}
	if yyb274 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.Kind = ""
	} else {
		x.Kind = string(r.DecodeString())
	}
	yyj274++
	if yyhl274 {
		yyb274 = yyj274 > l
	} else {
		yyb274 = r.CheckBreak()
	}
	if yyb274 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.APIVersion = ""
	} else {
		x.APIVersion = string(r.DecodeString())
	}
	yyj274++
	if yyhl274 {
		yyb274 = yyj274 > l
	} else {
		yyb274 = r.CheckBreak()
	}
	if yyb274 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.ObjectMeta = ObjectMeta{}
	} else {
		yyv277 := &x.ObjectMeta
		yyv277.CodecDecodeSelf(d)
	}
	yyj274++
	if yyhl274 {
		yyb274 = yyj274 > l
	} else {
		yyb274 = r.CheckBreak()
	}
	if yyb274 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.Spec = PersistentVolumeSpec{}
	} else {
		yyv278 := &x.Spec
		yyv278.CodecDecodeSelf(d)
	}
	yyj274++
	if yyhl274 {
		yyb274 = yyj274 > l
	} else {
		yyb274 = r.CheckBreak()
	}
	if yyb274 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.Status = PersistentVolumeStatus{}
	} else {
		yyv279 := &x.Status
		yyv279.CodecDecodeSelf(d)
	}
	for {
		yyj274++
		if yyhl274 {
			yyb274 = yyj274 > l
		} else {
			yyb274 = r.CheckBreak()
		}
		if yyb274 {
			break
		}
		z.DecStructFieldNotFound(yyj274-1, "")
	}
	r.ReadEnd()
}

func (x *PersistentVolumeSpec) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym280 := z.EncBinary()
		_ = yym280
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep281 := !z.EncBinary()
			yy2arr281 := z.EncBasicHandle().StructToArray
			var yyq281 [15]bool
			_, _, _ = yysep281, yyq281, yy2arr281
			const yyr281 bool = false
			yyq281[0] = len(x.Capacity) != 0
			yyq281[1] = x.PersistentVolumeSource.GCEPersistentDisk != nil && x.GCEPersistentDisk != nil
			yyq281[2] = x.PersistentVolumeSource.AWSElasticBlockStore != nil && x.AWSElasticBlockStore != nil
			yyq281[3] = x.PersistentVolumeSource.HostPath != nil && x.HostPath != nil
			yyq281[4] = x.PersistentVolumeSource.Glusterfs != nil && x.Glusterfs != nil
			yyq281[5] = x.PersistentVolumeSource.NFS != nil && x.NFS != nil
			yyq281[6] = x.PersistentVolumeSource.RBD != nil && x.RBD != nil
			yyq281[7] = x.PersistentVolumeSource.ISCSI != nil && x.ISCSI != nil
			yyq281[8] = x.PersistentVolumeSource.Cinder != nil && x.Cinder != nil
			yyq281[9] = x.PersistentVolumeSource.CephFS != nil && x.CephFS != nil
			yyq281[10] = x.PersistentVolumeSource.FC != nil && x.FC != nil
			yyq281[11] = x.PersistentVolumeSource.Flocker != nil && x.Flocker != nil
			yyq281[12] = len(x.AccessModes) != 0
			yyq281[13] = x.ClaimRef != nil
			yyq281[14] = x.PersistentVolumeReclaimPolicy != ""
			if yyr281 || yy2arr281 {
				r.EncodeArrayStart(15)
			} else {
				var yynn281 int = 0
				for _, b := range yyq281 {
					if b {
						yynn281++
					}
				}
				r.EncodeMapStart(yynn281)
			}
			if yyr281 || yy2arr281 {
				if yyq281[0] {
					if x.Capacity == nil {
						r.EncodeNil()
					} else {
						x.Capacity.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq281[0] {
					r.EncodeString(codecSelferC_UTF81234, string("capacity"))
					if x.Capacity == nil {
						r.EncodeNil()
					} else {
						x.Capacity.CodecEncodeSelf(e)
					}
				}
			}
			var yyn283 bool
			if x.PersistentVolumeSource.GCEPersistentDisk == nil {
				yyn283 = true
				goto LABEL283
			}
		LABEL283:
			if yyr281 || yy2arr281 {
				if yyn283 {
					r.EncodeNil()
				} else {
					if yyq281[1] {
						if x.GCEPersistentDisk == nil {
							r.EncodeNil()
						} else {
							x.GCEPersistentDisk.CodecEncodeSelf(e)
						}
					} else {
						r.EncodeNil()
					}
				}
			} else {
				if yyq281[1] {
					r.EncodeString(codecSelferC_UTF81234, string("gcePersistentDisk"))
					if yyn283 {
						r.EncodeNil()
					} else {
						if x.GCEPersistentDisk == nil {
							r.EncodeNil()
						} else {
							x.GCEPersistentDisk.CodecEncodeSelf(e)
						}
					}
				}
			}
			var yyn284 bool
			if x.PersistentVolumeSource.AWSElasticBlockStore == nil {
				yyn284 = true
				goto LABEL284
			}
		LABEL284:
			if yyr281 || yy2arr281 {
				if yyn284 {
					r.EncodeNil()
				} else {
					if yyq281[2] {
						if x.AWSElasticBlockStore == nil {
							r.EncodeNil()
						} else {
							x.AWSElasticBlockStore.CodecEncodeSelf(e)
						}
					} else {
						r.EncodeNil()
					}
				}
			} else {
				if yyq281[2] {
					r.EncodeString(codecSelferC_UTF81234, string("awsElasticBlockStore"))
					if yyn284 {
						r.EncodeNil()
					} else {
						if x.AWSElasticBlockStore == nil {
							r.EncodeNil()
						} else {
							x.AWSElasticBlockStore.CodecEncodeSelf(e)
						}
					}
				}
			}
			var yyn285 bool
			if x.PersistentVolumeSource.HostPath == nil {
				yyn285 = true
				goto LABEL285
			}
		LABEL285:
			if yyr281 || yy2arr281 {
				if yyn285 {
					r.EncodeNil()
				} else {
					if yyq281[3] {
						if x.HostPath == nil {
							r.EncodeNil()
						} else {
							x.HostPath.CodecEncodeSelf(e)
						}
					} else {
						r.EncodeNil()
					}
				}
			} else {
				if yyq281[3] {
					r.EncodeString(codecSelferC_UTF81234, string("hostPath"))
					if yyn285 {
						r.EncodeNil()
					} else {
						if x.HostPath == nil {
							r.EncodeNil()
						} else {
							x.HostPath.CodecEncodeSelf(e)
						}
					}
				}
			}
			var yyn286 bool
			if x.PersistentVolumeSource.Glusterfs == nil {
				yyn286 = true
				goto LABEL286
			}
		LABEL286:
			if yyr281 || yy2arr281 {
				if yyn286 {
					r.EncodeNil()
				} else {
					if yyq281[4] {
						if x.Glusterfs == nil {
							r.EncodeNil()
						} else {
							x.Glusterfs.CodecEncodeSelf(e)
						}
					} else {
						r.EncodeNil()
					}
				}
			} else {
				if yyq281[4] {
					r.EncodeString(codecSelferC_UTF81234, string("glusterfs"))
					if yyn286 {
						r.EncodeNil()
					} else {
						if x.Glusterfs == nil {
							r.EncodeNil()
						} else {
							x.Glusterfs.CodecEncodeSelf(e)
						}
					}
				}
			}
			var yyn287 bool
			if x.PersistentVolumeSource.NFS == nil {
				yyn287 = true
				goto LABEL287
			}
		LABEL287:
			if yyr281 || yy2arr281 {
				if yyn287 {
					r.EncodeNil()
				} else {
					if yyq281[5] {
						if x.NFS == nil {
							r.EncodeNil()
						} else {
							x.NFS.CodecEncodeSelf(e)
						}
					} else {
						r.EncodeNil()
					}
				}
			} else {
				if yyq281[5] {
					r.EncodeString(codecSelferC_UTF81234, string("nfs"))
					if yyn287 {
						r.EncodeNil()
					} else {
						if x.NFS == nil {
							r.EncodeNil()
						} else {
							x.NFS.CodecEncodeSelf(e)
						}
					}
				}
			}
			var yyn288 bool
			if x.PersistentVolumeSource.RBD == nil {
				yyn288 = true
				goto LABEL288
			}
		LABEL288:
			if yyr281 || yy2arr281 {
				if yyn288 {
					r.EncodeNil()
				} else {
					if yyq281[6] {
						if x.RBD == nil {
							r.EncodeNil()
						} else {
							x.RBD.CodecEncodeSelf(e)
						}
					} else {
						r.EncodeNil()
					}
				}
			} else {
				if yyq281[6] {
					r.EncodeString(codecSelferC_UTF81234, string("rbd"))
					if yyn288 {
						r.EncodeNil()
					} else {
						if x.RBD == nil {
							r.EncodeNil()
						} else {
							x.RBD.CodecEncodeSelf(e)
						}
					}
				}
			}
			var yyn289 bool
			if x.PersistentVolumeSource.ISCSI == nil {
				yyn289 = true
				goto LABEL289
			}
		LABEL289:
			if yyr281 || yy2arr281 {
				if yyn289 {
					r.EncodeNil()
				} else {
					if yyq281[7] {
						if x.ISCSI == nil {
							r.EncodeNil()
						} else {
							x.ISCSI.CodecEncodeSelf(e)
						}
					} else {
						r.EncodeNil()
					}
				}
			} else {
				if yyq281[7] {
					r.EncodeString(codecSelferC_UTF81234, string("iscsi"))
					if yyn289 {
						r.EncodeNil()
					} else {
						if x.ISCSI == nil {
							r.EncodeNil()
						} else {
							x.ISCSI.CodecEncodeSelf(e)
						}
					}
				}
			}
			var yyn290 bool
			if x.PersistentVolumeSource.Cinder == nil {
				yyn290 = true
				goto LABEL290
			}
		LABEL290:
			if yyr281 || yy2arr281 {
				if yyn290 {
					r.EncodeNil()
				} else {
					if yyq281[8] {
						if x.Cinder == nil {
							r.EncodeNil()
						} else {
							x.Cinder.CodecEncodeSelf(e)
						}
					} else {
						r.EncodeNil()
					}
				}
			} else {
				if yyq281[8] {
					r.EncodeString(codecSelferC_UTF81234, string("cinder"))
					if yyn290 {
						r.EncodeNil()
					} else {
						if x.Cinder == nil {
							r.EncodeNil()
						} else {
							x.Cinder.CodecEncodeSelf(e)
						}
					}
				}
			}
			var yyn291 bool
			if x.PersistentVolumeSource.CephFS == nil {
				yyn291 = true
				goto LABEL291
			}
		LABEL291:
			if yyr281 || yy2arr281 {
				if yyn291 {
					r.EncodeNil()
				} else {
					if yyq281[9] {
						if x.CephFS == nil {
							r.EncodeNil()
						} else {
							x.CephFS.CodecEncodeSelf(e)
						}
					} else {
						r.EncodeNil()
					}
				}
			} else {
				if yyq281[9] {
					r.EncodeString(codecSelferC_UTF81234, string("cephfs"))
					if yyn291 {
						r.EncodeNil()
					} else {
						if x.CephFS == nil {
							r.EncodeNil()
						} else {
							x.CephFS.CodecEncodeSelf(e)
						}
					}
				}
			}
			var yyn292 bool
			if x.PersistentVolumeSource.FC == nil {
				yyn292 = true
				goto LABEL292
			}
		LABEL292:
			if yyr281 || yy2arr281 {
				if yyn292 {
					r.EncodeNil()
				} else {
					if yyq281[10] {
						if x.FC == nil {
							r.EncodeNil()
						} else {
							x.FC.CodecEncodeSelf(e)
						}
					} else {
						r.EncodeNil()
					}
				}
			} else {
				if yyq281[10] {
					r.EncodeString(codecSelferC_UTF81234, string("fc"))
					if yyn292 {
						r.EncodeNil()
					} else {
						if x.FC == nil {
							r.EncodeNil()
						} else {
							x.FC.CodecEncodeSelf(e)
						}
					}
				}
			}
			var yyn293 bool
			if x.PersistentVolumeSource.Flocker == nil {
				yyn293 = true
				goto LABEL293
			}
		LABEL293:
			if yyr281 || yy2arr281 {
				if yyn293 {
					r.EncodeNil()
				} else {
					if yyq281[11] {
						if x.Flocker == nil {
							r.EncodeNil()
						} else {
							x.Flocker.CodecEncodeSelf(e)
						}
					} else {
						r.EncodeNil()
					}
				}
			} else {
				if yyq281[11] {
					r.EncodeString(codecSelferC_UTF81234, string("flocker"))
					if yyn293 {
						r.EncodeNil()
					} else {
						if x.Flocker == nil {
							r.EncodeNil()
						} else {
							x.Flocker.CodecEncodeSelf(e)
						}
					}
				}
			}
			if yyr281 || yy2arr281 {
				if yyq281[12] {
					if x.AccessModes == nil {
						r.EncodeNil()
					} else {
						yym295 := z.EncBinary()
						_ = yym295
						if false {
						} else {
							h.encSlicePersistentVolumeAccessMode(([]PersistentVolumeAccessMode)(x.AccessModes), e)
						}
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq281[12] {
					r.EncodeString(codecSelferC_UTF81234, string("accessModes"))
					if x.AccessModes == nil {
						r.EncodeNil()
					} else {
						yym296 := z.EncBinary()
						_ = yym296
						if false {
						} else {
							h.encSlicePersistentVolumeAccessMode(([]PersistentVolumeAccessMode)(x.AccessModes), e)
						}
					}
				}
			}
			if yyr281 || yy2arr281 {
				if yyq281[13] {
					if x.ClaimRef == nil {
						r.EncodeNil()
					} else {
						x.ClaimRef.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq281[13] {
					r.EncodeString(codecSelferC_UTF81234, string("claimRef"))
					if x.ClaimRef == nil {
						r.EncodeNil()
					} else {
						x.ClaimRef.CodecEncodeSelf(e)
					}
				}
			}
			if yyr281 || yy2arr281 {
				if yyq281[14] {
					x.PersistentVolumeReclaimPolicy.CodecEncodeSelf(e)
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq281[14] {
					r.EncodeString(codecSelferC_UTF81234, string("persistentVolumeReclaimPolicy"))
					x.PersistentVolumeReclaimPolicy.CodecEncodeSelf(e)
				}
			}
			if yysep281 {
				r.EncodeEnd()
			}
		}
	}
}

func (x *PersistentVolumeSpec) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym299 := z.DecBinary()
	_ = yym299
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		if r.IsContainerType(codecSelferValueTypeMap1234) {
			yyl300 := r.ReadMapStart()
			if yyl300 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromMap(yyl300, d)
			}
		} else if r.IsContainerType(codecSelferValueTypeArray1234) {
			yyl300 := r.ReadArrayStart()
			if yyl300 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromArray(yyl300, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *PersistentVolumeSpec) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys301Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys301Slc
	var yyhl301 bool = l >= 0
	for yyj301 := 0; ; yyj301++ {
		if yyhl301 {
			if yyj301 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		yys301Slc = r.DecodeBytes(yys301Slc, true, true)
		yys301 := string(yys301Slc)
		switch yys301 {
		case "capacity":
			if r.TryDecodeAsNil() {
				x.Capacity = nil
			} else {
				yyv302 := &x.Capacity
				yyv302.CodecDecodeSelf(d)
			}
		case "gcePersistentDisk":
			if x.PersistentVolumeSource.GCEPersistentDisk == nil {
				x.PersistentVolumeSource.GCEPersistentDisk = new(GCEPersistentDiskVolumeSource)
			}
			if r.TryDecodeAsNil() {
				if x.GCEPersistentDisk != nil {
					x.GCEPersistentDisk = nil
				}
			} else {
				if x.GCEPersistentDisk == nil {
					x.GCEPersistentDisk = new(GCEPersistentDiskVolumeSource)
				}
				x.GCEPersistentDisk.CodecDecodeSelf(d)
			}
		case "awsElasticBlockStore":
			if x.PersistentVolumeSource.AWSElasticBlockStore == nil {
				x.PersistentVolumeSource.AWSElasticBlockStore = new(AWSElasticBlockStoreVolumeSource)
			}
			if r.TryDecodeAsNil() {
				if x.AWSElasticBlockStore != nil {
					x.AWSElasticBlockStore = nil
				}
			} else {
				if x.AWSElasticBlockStore == nil {
					x.AWSElasticBlockStore = new(AWSElasticBlockStoreVolumeSource)
				}
				x.AWSElasticBlockStore.CodecDecodeSelf(d)
			}
		case "hostPath":
			if x.PersistentVolumeSource.HostPath == nil {
				x.PersistentVolumeSource.HostPath = new(HostPathVolumeSource)
			}
			if r.TryDecodeAsNil() {
				if x.HostPath != nil {
					x.HostPath = nil
				}
			} else {
				if x.HostPath == nil {
					x.HostPath = new(HostPathVolumeSource)
				}
				x.HostPath.CodecDecodeSelf(d)
			}
		case "glusterfs":
			if x.PersistentVolumeSource.Glusterfs == nil {
				x.PersistentVolumeSource.Glusterfs = new(GlusterfsVolumeSource)
			}
			if r.TryDecodeAsNil() {
				if x.Glusterfs != nil {
					x.Glusterfs = nil
				}
			} else {
				if x.Glusterfs == nil {
					x.Glusterfs = new(GlusterfsVolumeSource)
				}
				x.Glusterfs.CodecDecodeSelf(d)
			}
		case "nfs":
			if x.PersistentVolumeSource.NFS == nil {
				x.PersistentVolumeSource.NFS = new(NFSVolumeSource)
			}
			if r.TryDecodeAsNil() {
				if x.NFS != nil {
					x.NFS = nil
				}
			} else {
				if x.NFS == nil {
					x.NFS = new(NFSVolumeSource)
				}
				x.NFS.CodecDecodeSelf(d)
			}
		case "rbd":
			if x.PersistentVolumeSource.RBD == nil {
				x.PersistentVolumeSource.RBD = new(RBDVolumeSource)
			}
			if r.TryDecodeAsNil() {
				if x.RBD != nil {
					x.RBD = nil
				}
			} else {
				if x.RBD == nil {
					x.RBD = new(RBDVolumeSource)
				}
				x.RBD.CodecDecodeSelf(d)
			}
		case "iscsi":
			if x.PersistentVolumeSource.ISCSI == nil {
				x.PersistentVolumeSource.ISCSI = new(ISCSIVolumeSource)
			}
			if r.TryDecodeAsNil() {
				if x.ISCSI != nil {
					x.ISCSI = nil
				}
			} else {
				if x.ISCSI == nil {
					x.ISCSI = new(ISCSIVolumeSource)
				}
				x.ISCSI.CodecDecodeSelf(d)
			}
		case "cinder":
			if x.PersistentVolumeSource.Cinder == nil {
				x.PersistentVolumeSource.Cinder = new(CinderVolumeSource)
			}
			if r.TryDecodeAsNil() {
				if x.Cinder != nil {
					x.Cinder = nil
				}
			} else {
				if x.Cinder == nil {
					x.Cinder = new(CinderVolumeSource)
				}
				x.Cinder.CodecDecodeSelf(d)
			}
		case "cephfs":
			if x.PersistentVolumeSource.CephFS == nil {
				x.PersistentVolumeSource.CephFS = new(CephFSVolumeSource)
			}
			if r.TryDecodeAsNil() {
				if x.CephFS != nil {
					x.CephFS = nil
				}
			} else {
				if x.CephFS == nil {
					x.CephFS = new(CephFSVolumeSource)
				}
				x.CephFS.CodecDecodeSelf(d)
			}
		case "fc":
			if x.PersistentVolumeSource.FC == nil {
				x.PersistentVolumeSource.FC = new(FCVolumeSource)
			}
			if r.TryDecodeAsNil() {
				if x.FC != nil {
					x.FC = nil
				}
			} else {
				if x.FC == nil {
					x.FC = new(FCVolumeSource)
				}
				x.FC.CodecDecodeSelf(d)
			}
		case "flocker":
			if x.PersistentVolumeSource.Flocker == nil {
				x.PersistentVolumeSource.Flocker = new(FlockerVolumeSource)
			}
			if r.TryDecodeAsNil() {
				if x.Flocker != nil {
					x.Flocker = nil
				}
			} else {
				if x.Flocker == nil {
					x.Flocker = new(FlockerVolumeSource)
				}
				x.Flocker.CodecDecodeSelf(d)
			}
		case "accessModes":
			if r.TryDecodeAsNil() {
				x.AccessModes = nil
			} else {
				yyv314 := &x.AccessModes
				yym315 := z.DecBinary()
				_ = yym315
				if false {
				} else {
					h.decSlicePersistentVolumeAccessMode((*[]PersistentVolumeAccessMode)(yyv314), d)
				}
			}
		case "claimRef":
			if r.TryDecodeAsNil() {
				if x.ClaimRef != nil {
					x.ClaimRef = nil
				}
			} else {
				if x.ClaimRef == nil {
					x.ClaimRef = new(ObjectReference)
				}
				x.ClaimRef.CodecDecodeSelf(d)
			}
		case "persistentVolumeReclaimPolicy":
			if r.TryDecodeAsNil() {
				x.PersistentVolumeReclaimPolicy = ""
			} else {
				x.PersistentVolumeReclaimPolicy = PersistentVolumeReclaimPolicy(r.DecodeString())
			}
		default:
			z.DecStructFieldNotFound(-1, yys301)
		} // end switch yys301
	} // end for yyj301
	if !yyhl301 {
		r.ReadEnd()
	}
}

func (x *PersistentVolumeSpec) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj318 int
	var yyb318 bool
	var yyhl318 bool = l >= 0
	yyj318++
	if yyhl318 {
		yyb318 = yyj318 > l
	} else {
		yyb318 = r.CheckBreak()
	}
	if yyb318 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.Capacity = nil
	} else {
		yyv319 := &x.Capacity
		yyv319.CodecDecodeSelf(d)
	}
	yyj318++
	if yyhl318 {
		yyb318 = yyj318 > l
	} else {
		yyb318 = r.CheckBreak()
	}
	if yyb318 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		if x.GCEPersistentDisk != nil {
			x.GCEPersistentDisk = nil
		}
	} else {
		if x.GCEPersistentDisk == nil {
			x.GCEPersistentDisk = new(GCEPersistentDiskVolumeSource)
		}
		x.GCEPersistentDisk.CodecDecodeSelf(d)
	}
	yyj318++
	if yyhl318 {
		yyb318 = yyj318 > l
	} else {
		yyb318 = r.CheckBreak()
	}
	if yyb318 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		if x.AWSElasticBlockStore != nil {
			x.AWSElasticBlockStore = nil
		}
	} else {
		if x.AWSElasticBlockStore == nil {
			x.AWSElasticBlockStore = new(AWSElasticBlockStoreVolumeSource)
		}
		x.AWSElasticBlockStore.CodecDecodeSelf(d)
	}
	yyj318++
	if yyhl318 {
		yyb318 = yyj318 > l
	} else {
		yyb318 = r.CheckBreak()
	}
	if yyb318 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		if x.HostPath != nil {
			x.HostPath = nil
		}
	} else {
		if x.HostPath == nil {
			x.HostPath = new(HostPathVolumeSource)
		}
		x.HostPath.CodecDecodeSelf(d)
	}
	yyj318++
	if yyhl318 {
		yyb318 = yyj318 > l
	} else {
		yyb318 = r.CheckBreak()
	}
	if yyb318 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		if x.Glusterfs != nil {
			x.Glusterfs = nil
		}
	} else {
		if x.Glusterfs == nil {
			x.Glusterfs = new(GlusterfsVolumeSource)
		}
		x.Glusterfs.CodecDecodeSelf(d)
	}
	yyj318++
	if yyhl318 {
		yyb318 = yyj318 > l
	} else {
		yyb318 = r.CheckBreak()
	}
	if yyb318 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		if x.NFS != nil {
			x.NFS = nil
		}
	} else {
		if x.NFS == nil {
			x.NFS = new(NFSVolumeSource)
		}
		x.NFS.CodecDecodeSelf(d)
	}
	yyj318++
	if yyhl318 {
		yyb318 = yyj318 > l
	} else {
		yyb318 = r.CheckBreak()
	}
	if yyb318 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		if x.RBD != nil {
			x.RBD = nil
		}
	} else {
		if x.RBD == nil {
			x.RBD = new(RBDVolumeSource)
		}
		x.RBD.CodecDecodeSelf(d)
	}
	yyj318++
	if yyhl318 {
		yyb318 = yyj318 > l
	} else {
		yyb318 = r.CheckBreak()
	}
	if yyb318 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		if x.ISCSI != nil {
			x.ISCSI = nil
		}
	} else {
		if x.ISCSI == nil {
			x.ISCSI = new(ISCSIVolumeSource)
		}
		x.ISCSI.CodecDecodeSelf(d)
	}
	yyj318++
	if yyhl318 {
		yyb318 = yyj318 > l
	} else {
		yyb318 = r.CheckBreak()
	}
	if yyb318 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		if x.Cinder != nil {
			x.Cinder = nil
		}
	} else {
		if x.Cinder == nil {
			x.Cinder = new(CinderVolumeSource)
		}
		x.Cinder.CodecDecodeSelf(d)
	}
	yyj318++
	if yyhl318 {
		yyb318 = yyj318 > l
	} else {
		yyb318 = r.CheckBreak()
	}
	if yyb318 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		if x.CephFS != nil {
			x.CephFS = nil
		}
	} else {
		if x.CephFS == nil {
			x.CephFS = new(CephFSVolumeSource)
		}
		x.CephFS.CodecDecodeSelf(d)
	}
	yyj318++
	if yyhl318 {
		yyb318 = yyj318 > l
	} else {
		yyb318 = r.CheckBreak()
	}
	if yyb318 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		if x.FC != nil {
			x.FC = nil
		}
	} else {
		if x.FC == nil {
			x.FC = new(FCVolumeSource)
		}
		x.FC.CodecDecodeSelf(d)
	}
	yyj318++
	if yyhl318 {
		yyb318 = yyj318 > l
	} else {
		yyb318 = r.CheckBreak()
	}
	if yyb318 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		if x.Flocker != nil {
			x.Flocker = nil
		}
	} else {
		if x.Flocker == nil {
			x.Flocker = new(FlockerVolumeSource)
		}
		x.Flocker.CodecDecodeSelf(d)
	}
	yyj318++
	if yyhl318 {
		yyb318 = yyj318 > l
	} else {
		yyb318 = r.CheckBreak()
	}
	if yyb318 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.AccessModes = nil
	} else {
		yyv331 := &x.AccessModes
		yym332 := z.DecBinary()
		_ = yym332
		if false {
		} else {
			h.decSlicePersistentVolumeAccessMode((*[]PersistentVolumeAccessMode)(yyv331), d)
		}
	}
	yyj318++
	if yyhl318 {
		yyb318 = yyj318 > l
	} else {
		yyb318 = r.CheckBreak()
	}
	if yyb318 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		if x.ClaimRef != nil {
			x.ClaimRef = nil
		}
	} else {
		if x.ClaimRef == nil {
			x.ClaimRef = new(ObjectReference)
		}
		x.ClaimRef.CodecDecodeSelf(d)
	}
	yyj318++
	if yyhl318 {
		yyb318 = yyj318 > l
	} else {
		yyb318 = r.CheckBreak()
	}
	if yyb318 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.PersistentVolumeReclaimPolicy = ""
	} else {
		x.PersistentVolumeReclaimPolicy = PersistentVolumeReclaimPolicy(r.DecodeString())
	}
	for {
		yyj318++
		if yyhl318 {
			yyb318 = yyj318 > l
		} else {
			yyb318 = r.CheckBreak()
		}
		if yyb318 {
			break
		}
		z.DecStructFieldNotFound(yyj318-1, "")
	}
	r.ReadEnd()
}

func (x PersistentVolumeReclaimPolicy) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	yym335 := z.EncBinary()
	_ = yym335
	if false {
	} else if z.HasExtensions() && z.EncExt(x) {
	} else {
		r.EncodeString(codecSelferC_UTF81234, string(x))
	}
}

func (x *PersistentVolumeReclaimPolicy) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym336 := z.DecBinary()
	_ = yym336
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		*((*string)(x)) = r.DecodeString()
	}
}

func (x *PersistentVolumeStatus) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym337 := z.EncBinary()
		_ = yym337
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep338 := !z.EncBinary()
			yy2arr338 := z.EncBasicHandle().StructToArray
			var yyq338 [3]bool
			_, _, _ = yysep338, yyq338, yy2arr338
			const yyr338 bool = false
			yyq338[0] = x.Phase != ""
			yyq338[1] = x.Message != ""
			yyq338[2] = x.Reason != ""
			if yyr338 || yy2arr338 {
				r.EncodeArrayStart(3)
			} else {
				var yynn338 int = 0
				for _, b := range yyq338 {
					if b {
						yynn338++
					}
				}
				r.EncodeMapStart(yynn338)
			}
			if yyr338 || yy2arr338 {
				if yyq338[0] {
					x.Phase.CodecEncodeSelf(e)
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq338[0] {
					r.EncodeString(codecSelferC_UTF81234, string("phase"))
					x.Phase.CodecEncodeSelf(e)
				}
			}
			if yyr338 || yy2arr338 {
				if yyq338[1] {
					yym341 := z.EncBinary()
					_ = yym341
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Message))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq338[1] {
					r.EncodeString(codecSelferC_UTF81234, string("message"))
					yym342 := z.EncBinary()
					_ = yym342
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Message))
					}
				}
			}
			if yyr338 || yy2arr338 {
				if yyq338[2] {
					yym344 := z.EncBinary()
					_ = yym344
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Reason))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq338[2] {
					r.EncodeString(codecSelferC_UTF81234, string("reason"))
					yym345 := z.EncBinary()
					_ = yym345
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Reason))
					}
				}
			}
			if yysep338 {
				r.EncodeEnd()
			}
		}
	}
}

func (x *PersistentVolumeStatus) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym346 := z.DecBinary()
	_ = yym346
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		if r.IsContainerType(codecSelferValueTypeMap1234) {
			yyl347 := r.ReadMapStart()
			if yyl347 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromMap(yyl347, d)
			}
		} else if r.IsContainerType(codecSelferValueTypeArray1234) {
			yyl347 := r.ReadArrayStart()
			if yyl347 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromArray(yyl347, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *PersistentVolumeStatus) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys348Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys348Slc
	var yyhl348 bool = l >= 0
	for yyj348 := 0; ; yyj348++ {
		if yyhl348 {
			if yyj348 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		yys348Slc = r.DecodeBytes(yys348Slc, true, true)
		yys348 := string(yys348Slc)
		switch yys348 {
		case "phase":
			if r.TryDecodeAsNil() {
				x.Phase = ""
			} else {
				x.Phase = PersistentVolumePhase(r.DecodeString())
			}
		case "message":
			if r.TryDecodeAsNil() {
				x.Message = ""
			} else {
				x.Message = string(r.DecodeString())
			}
		case "reason":
			if r.TryDecodeAsNil() {
				x.Reason = ""
			} else {
				x.Reason = string(r.DecodeString())
			}
		default:
			z.DecStructFieldNotFound(-1, yys348)
		} // end switch yys348
	} // end for yyj348
	if !yyhl348 {
		r.ReadEnd()
	}
}

func (x *PersistentVolumeStatus) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj352 int
	var yyb352 bool
	var yyhl352 bool = l >= 0
	yyj352++
	if yyhl352 {
		yyb352 = yyj352 > l
	} else {
		yyb352 = r.CheckBreak()
	}
	if yyb352 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.Phase = ""
	} else {
		x.Phase = PersistentVolumePhase(r.DecodeString())
	}
	yyj352++
	if yyhl352 {
		yyb352 = yyj352 > l
	} else {
		yyb352 = r.CheckBreak()
	}
	if yyb352 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.Message = ""
	} else {
		x.Message = string(r.DecodeString())
	}
	yyj352++
	if yyhl352 {
		yyb352 = yyj352 > l
	} else {
		yyb352 = r.CheckBreak()
	}
	if yyb352 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.Reason = ""
	} else {
		x.Reason = string(r.DecodeString())
	}
	for {
		yyj352++
		if yyhl352 {
			yyb352 = yyj352 > l
		} else {
			yyb352 = r.CheckBreak()
		}
		if yyb352 {
			break
		}
		z.DecStructFieldNotFound(yyj352-1, "")
	}
	r.ReadEnd()
}

func (x *PersistentVolumeList) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym356 := z.EncBinary()
		_ = yym356
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep357 := !z.EncBinary()
			yy2arr357 := z.EncBasicHandle().StructToArray
			var yyq357 [4]bool
			_, _, _ = yysep357, yyq357, yy2arr357
			const yyr357 bool = false
			yyq357[0] = x.Kind != ""
			yyq357[1] = x.APIVersion != ""
			yyq357[2] = true
			if yyr357 || yy2arr357 {
				r.EncodeArrayStart(4)
			} else {
				var yynn357 int = 1
				for _, b := range yyq357 {
					if b {
						yynn357++
					}
				}
				r.EncodeMapStart(yynn357)
			}
			if yyr357 || yy2arr357 {
				if yyq357[0] {
					yym359 := z.EncBinary()
					_ = yym359
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq357[0] {
					r.EncodeString(codecSelferC_UTF81234, string("kind"))
					yym360 := z.EncBinary()
					_ = yym360
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				}
			}
			if yyr357 || yy2arr357 {
				if yyq357[1] {
					yym362 := z.EncBinary()
					_ = yym362
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq357[1] {
					r.EncodeString(codecSelferC_UTF81234, string("apiVersion"))
					yym363 := z.EncBinary()
					_ = yym363
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				}
			}
			if yyr357 || yy2arr357 {
				if yyq357[2] {
					yy365 := &x.ListMeta
					yym366 := z.EncBinary()
					_ = yym366
					if false {
					} else if z.HasExtensions() && z.EncExt(yy365) {
					} else {
						z.EncFallback(yy365)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq357[2] {
					r.EncodeString(codecSelferC_UTF81234, string("metadata"))
					yy367 := &x.ListMeta
					yym368 := z.EncBinary()
					_ = yym368
					if false {
					} else if z.HasExtensions() && z.EncExt(yy367) {
					} else {
						z.EncFallback(yy367)
					}
				}
			}
			if yyr357 || yy2arr357 {
				if x.Items == nil {
					r.EncodeNil()
				} else {
					yym370 := z.EncBinary()
					_ = yym370
					if false {
					} else {
						h.encSlicePersistentVolume(([]PersistentVolume)(x.Items), e)
					}
				}
			} else {
				r.EncodeString(codecSelferC_UTF81234, string("items"))
				if x.Items == nil {
					r.EncodeNil()
				} else {
					yym371 := z.EncBinary()
					_ = yym371
					if false {
					} else {
						h.encSlicePersistentVolume(([]PersistentVolume)(x.Items), e)
					}
				}
			}
			if yysep357 {
				r.EncodeEnd()
			}
		}
	}
}

func (x *PersistentVolumeList) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym372 := z.DecBinary()
	_ = yym372
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		if r.IsContainerType(codecSelferValueTypeMap1234) {
			yyl373 := r.ReadMapStart()
			if yyl373 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromMap(yyl373, d)
			}
		} else if r.IsContainerType(codecSelferValueTypeArray1234) {
			yyl373 := r.ReadArrayStart()
			if yyl373 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromArray(yyl373, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *PersistentVolumeList) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys374Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys374Slc
	var yyhl374 bool = l >= 0
	for yyj374 := 0; ; yyj374++ {
		if yyhl374 {
			if yyj374 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		yys374Slc = r.DecodeBytes(yys374Slc, true, true)
		yys374 := string(yys374Slc)
		switch yys374 {
		case "kind":
			if r.TryDecodeAsNil() {
				x.Kind = ""
			} else {
				x.Kind = string(r.DecodeString())
			}
		case "apiVersion":
			if r.TryDecodeAsNil() {
				x.APIVersion = ""
			} else {
				x.APIVersion = string(r.DecodeString())
			}
		case "metadata":
			if r.TryDecodeAsNil() {
				x.ListMeta = pkg2_unversioned.ListMeta{}
			} else {
				yyv377 := &x.ListMeta
				yym378 := z.DecBinary()
				_ = yym378
				if false {
				} else if z.HasExtensions() && z.DecExt(yyv377) {
				} else {
					z.DecFallback(yyv377, false)
				}
			}
		case "items":
			if r.TryDecodeAsNil() {
				x.Items = nil
			} else {
				yyv379 := &x.Items
				yym380 := z.DecBinary()
				_ = yym380
				if false {
				} else {
					h.decSlicePersistentVolume((*[]PersistentVolume)(yyv379), d)
				}
			}
		default:
			z.DecStructFieldNotFound(-1, yys374)
		} // end switch yys374
	} // end for yyj374
	if !yyhl374 {
		r.ReadEnd()
	}
}

func (x *PersistentVolumeList) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj381 int
	var yyb381 bool
	var yyhl381 bool = l >= 0
	yyj381++
	if yyhl381 {
		yyb381 = yyj381 > l
	} else {
		yyb381 = r.CheckBreak()
	}
	if yyb381 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.Kind = ""
	} else {
		x.Kind = string(r.DecodeString())
	}
	yyj381++
	if yyhl381 {
		yyb381 = yyj381 > l
	} else {
		yyb381 = r.CheckBreak()
	}
	if yyb381 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.APIVersion = ""
	} else {
		x.APIVersion = string(r.DecodeString())
	}
	yyj381++
	if yyhl381 {
		yyb381 = yyj381 > l
	} else {
		yyb381 = r.CheckBreak()
	}
	if yyb381 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.ListMeta = pkg2_unversioned.ListMeta{}
	} else {
		yyv384 := &x.ListMeta
		yym385 := z.DecBinary()
		_ = yym385
		if false {
		} else if z.HasExtensions() && z.DecExt(yyv384) {
		} else {
			z.DecFallback(yyv384, false)
		}
	}
	yyj381++
	if yyhl381 {
		yyb381 = yyj381 > l
	} else {
		yyb381 = r.CheckBreak()
	}
	if yyb381 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.Items = nil
	} else {
		yyv386 := &x.Items
		yym387 := z.DecBinary()
		_ = yym387
		if false {
		} else {
			h.decSlicePersistentVolume((*[]PersistentVolume)(yyv386), d)
		}
	}
	for {
		yyj381++
		if yyhl381 {
			yyb381 = yyj381 > l
		} else {
			yyb381 = r.CheckBreak()
		}
		if yyb381 {
			break
		}
		z.DecStructFieldNotFound(yyj381-1, "")
	}
	r.ReadEnd()
}

func (x *PersistentVolumeClaim) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym388 := z.EncBinary()
		_ = yym388
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep389 := !z.EncBinary()
			yy2arr389 := z.EncBasicHandle().StructToArray
			var yyq389 [5]bool
			_, _, _ = yysep389, yyq389, yy2arr389
			const yyr389 bool = false
			yyq389[0] = x.Kind != ""
			yyq389[1] = x.APIVersion != ""
			yyq389[2] = true
			yyq389[3] = true
			yyq389[4] = true
			if yyr389 || yy2arr389 {
				r.EncodeArrayStart(5)
			} else {
				var yynn389 int = 0
				for _, b := range yyq389 {
					if b {
						yynn389++
					}
				}
				r.EncodeMapStart(yynn389)
			}
			if yyr389 || yy2arr389 {
				if yyq389[0] {
					yym391 := z.EncBinary()
					_ = yym391
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq389[0] {
					r.EncodeString(codecSelferC_UTF81234, string("kind"))
					yym392 := z.EncBinary()
					_ = yym392
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				}
			}
			if yyr389 || yy2arr389 {
				if yyq389[1] {
					yym394 := z.EncBinary()
					_ = yym394
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq389[1] {
					r.EncodeString(codecSelferC_UTF81234, string("apiVersion"))
					yym395 := z.EncBinary()
					_ = yym395
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				}
			}
			if yyr389 || yy2arr389 {
				if yyq389[2] {
					yy397 := &x.ObjectMeta
					yy397.CodecEncodeSelf(e)
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq389[2] {
					r.EncodeString(codecSelferC_UTF81234, string("metadata"))
					yy398 := &x.ObjectMeta
					yy398.CodecEncodeSelf(e)
				}
			}
			if yyr389 || yy2arr389 {
				if yyq389[3] {
					yy400 := &x.Spec
					yy400.CodecEncodeSelf(e)
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq389[3] {
					r.EncodeString(codecSelferC_UTF81234, string("spec"))
					yy401 := &x.Spec
					yy401.CodecEncodeSelf(e)
				}
			}
			if yyr389 || yy2arr389 {
				if yyq389[4] {
					yy403 := &x.Status
					yy403.CodecEncodeSelf(e)
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq389[4] {
					r.EncodeString(codecSelferC_UTF81234, string("status"))
					yy404 := &x.Status
					yy404.CodecEncodeSelf(e)
				}
			}
			if yysep389 {
				r.EncodeEnd()
			}
		}
	}
}

func (x *PersistentVolumeClaim) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym405 := z.DecBinary()
	_ = yym405
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		if r.IsContainerType(codecSelferValueTypeMap1234) {
			yyl406 := r.ReadMapStart()
			if yyl406 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromMap(yyl406, d)
			}
		} else if r.IsContainerType(codecSelferValueTypeArray1234) {
			yyl406 := r.ReadArrayStart()
			if yyl406 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromArray(yyl406, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *PersistentVolumeClaim) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys407Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys407Slc
	var yyhl407 bool = l >= 0
	for yyj407 := 0; ; yyj407++ {
		if yyhl407 {
			if yyj407 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		yys407Slc = r.DecodeBytes(yys407Slc, true, true)
		yys407 := string(yys407Slc)
		switch yys407 {
		case "kind":
			if r.TryDecodeAsNil() {
				x.Kind = ""
			} else {
				x.Kind = string(r.DecodeString())
			}
		case "apiVersion":
			if r.TryDecodeAsNil() {
				x.APIVersion = ""
			} else {
				x.APIVersion = string(r.DecodeString())
			}
		case "metadata":
			if r.TryDecodeAsNil() {
				x.ObjectMeta = ObjectMeta{}
			} else {
				yyv410 := &x.ObjectMeta
				yyv410.CodecDecodeSelf(d)
			}
		case "spec":
			if r.TryDecodeAsNil() {
				x.Spec = PersistentVolumeClaimSpec{}
			} else {
				yyv411 := &x.Spec
				yyv411.CodecDecodeSelf(d)
			}
		case "status":
			if r.TryDecodeAsNil() {
				x.Status = PersistentVolumeClaimStatus{}
			} else {
				yyv412 := &x.Status
				yyv412.CodecDecodeSelf(d)
			}
		default:
			z.DecStructFieldNotFound(-1, yys407)
		} // end switch yys407
	} // end for yyj407
	if !yyhl407 {
		r.ReadEnd()
	}
}

func (x *PersistentVolumeClaim) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj413 int
	var yyb413 bool
	var yyhl413 bool = l >= 0
	yyj413++
	if yyhl413 {
		yyb413 = yyj413 > l
	} else {
		yyb413 = r.CheckBreak()
	}
	if yyb413 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.Kind = ""
	} else {
		x.Kind = string(r.DecodeString())
	}
	yyj413++
	if yyhl413 {
		yyb413 = yyj413 > l
	} else {
		yyb413 = r.CheckBreak()
	}
	if yyb413 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.APIVersion = ""
	} else {
		x.APIVersion = string(r.DecodeString())
	}
	yyj413++
	if yyhl413 {
		yyb413 = yyj413 > l
	} else {
		yyb413 = r.CheckBreak()
	}
	if yyb413 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.ObjectMeta = ObjectMeta{}
	} else {
		yyv416 := &x.ObjectMeta
		yyv416.CodecDecodeSelf(d)
	}
	yyj413++
	if yyhl413 {
		yyb413 = yyj413 > l
	} else {
		yyb413 = r.CheckBreak()
	}
	if yyb413 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.Spec = PersistentVolumeClaimSpec{}
	} else {
		yyv417 := &x.Spec
		yyv417.CodecDecodeSelf(d)
	}
	yyj413++
	if yyhl413 {
		yyb413 = yyj413 > l
	} else {
		yyb413 = r.CheckBreak()
	}
	if yyb413 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.Status = PersistentVolumeClaimStatus{}
	} else {
		yyv418 := &x.Status
		yyv418.CodecDecodeSelf(d)
	}
	for {
		yyj413++
		if yyhl413 {
			yyb413 = yyj413 > l
		} else {
			yyb413 = r.CheckBreak()
		}
		if yyb413 {
			break
		}
		z.DecStructFieldNotFound(yyj413-1, "")
	}
	r.ReadEnd()
}

func (x *PersistentVolumeClaimList) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym419 := z.EncBinary()
		_ = yym419
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep420 := !z.EncBinary()
			yy2arr420 := z.EncBasicHandle().StructToArray
			var yyq420 [4]bool
			_, _, _ = yysep420, yyq420, yy2arr420
			const yyr420 bool = false
			yyq420[0] = x.Kind != ""
			yyq420[1] = x.APIVersion != ""
			yyq420[2] = true
			if yyr420 || yy2arr420 {
				r.EncodeArrayStart(4)
			} else {
				var yynn420 int = 1
				for _, b := range yyq420 {
					if b {
						yynn420++
					}
				}
				r.EncodeMapStart(yynn420)
			}
			if yyr420 || yy2arr420 {
				if yyq420[0] {
					yym422 := z.EncBinary()
					_ = yym422
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq420[0] {
					r.EncodeString(codecSelferC_UTF81234, string("kind"))
					yym423 := z.EncBinary()
					_ = yym423
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				}
			}
			if yyr420 || yy2arr420 {
				if yyq420[1] {
					yym425 := z.EncBinary()
					_ = yym425
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq420[1] {
					r.EncodeString(codecSelferC_UTF81234, string("apiVersion"))
					yym426 := z.EncBinary()
					_ = yym426
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				}
			}
			if yyr420 || yy2arr420 {
				if yyq420[2] {
					yy428 := &x.ListMeta
					yym429 := z.EncBinary()
					_ = yym429
					if false {
					} else if z.HasExtensions() && z.EncExt(yy428) {
					} else {
						z.EncFallback(yy428)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq420[2] {
					r.EncodeString(codecSelferC_UTF81234, string("metadata"))
					yy430 := &x.ListMeta
					yym431 := z.EncBinary()
					_ = yym431
					if false {
					} else if z.HasExtensions() && z.EncExt(yy430) {
					} else {
						z.EncFallback(yy430)
					}
				}
			}
			if yyr420 || yy2arr420 {
				if x.Items == nil {
					r.EncodeNil()
				} else {
					yym433 := z.EncBinary()
					_ = yym433
					if false {
					} else {
						h.encSlicePersistentVolumeClaim(([]PersistentVolumeClaim)(x.Items), e)
					}
				}
			} else {
				r.EncodeString(codecSelferC_UTF81234, string("items"))
				if x.Items == nil {
					r.EncodeNil()
				} else {
					yym434 := z.EncBinary()
					_ = yym434
					if false {
					} else {
						h.encSlicePersistentVolumeClaim(([]PersistentVolumeClaim)(x.Items), e)
					}
				}
			}
			if yysep420 {
				r.EncodeEnd()
			}
		}
	}
}

func (x *PersistentVolumeClaimList) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym435 := z.DecBinary()
	_ = yym435
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		if r.IsContainerType(codecSelferValueTypeMap1234) {
			yyl436 := r.ReadMapStart()
			if yyl436 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromMap(yyl436, d)
			}
		} else if r.IsContainerType(codecSelferValueTypeArray1234) {
			yyl436 := r.ReadArrayStart()
			if yyl436 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromArray(yyl436, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *PersistentVolumeClaimList) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys437Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys437Slc
	var yyhl437 bool = l >= 0
	for yyj437 := 0; ; yyj437++ {
		if yyhl437 {
			if yyj437 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		yys437Slc = r.DecodeBytes(yys437Slc, true, true)
		yys437 := string(yys437Slc)
		switch yys437 {
		case "kind":
			if r.TryDecodeAsNil() {
				x.Kind = ""
			} else {
				x.Kind = string(r.DecodeString())
			}
		case "apiVersion":
			if r.TryDecodeAsNil() {
				x.APIVersion = ""
			} else {
				x.APIVersion = string(r.DecodeString())
			}
		case "metadata":
			if r.TryDecodeAsNil() {
				x.ListMeta = pkg2_unversioned.ListMeta{}
			} else {
				yyv440 := &x.ListMeta
				yym441 := z.DecBinary()
				_ = yym441
				if false {
				} else if z.HasExtensions() && z.DecExt(yyv440) {
				} else {
					z.DecFallback(yyv440, false)
				}
			}
		case "items":
			if r.TryDecodeAsNil() {
				x.Items = nil
			} else {
				yyv442 := &x.Items
				yym443 := z.DecBinary()
				_ = yym443
				if false {
				} else {
					h.decSlicePersistentVolumeClaim((*[]PersistentVolumeClaim)(yyv442), d)
				}
			}
		default:
			z.DecStructFieldNotFound(-1, yys437)
		} // end switch yys437
	} // end for yyj437
	if !yyhl437 {
		r.ReadEnd()
	}
}

func (x *PersistentVolumeClaimList) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj444 int
	var yyb444 bool
	var yyhl444 bool = l >= 0
	yyj444++
	if yyhl444 {
		yyb444 = yyj444 > l
	} else {
		yyb444 = r.CheckBreak()
	}
	if yyb444 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.Kind = ""
	} else {
		x.Kind = string(r.DecodeString())
	}
	yyj444++
	if yyhl444 {
		yyb444 = yyj444 > l
	} else {
		yyb444 = r.CheckBreak()
	}
	if yyb444 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.APIVersion = ""
	} else {
		x.APIVersion = string(r.DecodeString())
	}
	yyj444++
	if yyhl444 {
		yyb444 = yyj444 > l
	} else {
		yyb444 = r.CheckBreak()
	}
	if yyb444 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.ListMeta = pkg2_unversioned.ListMeta{}
	} else {
		yyv447 := &x.ListMeta
		yym448 := z.DecBinary()
		_ = yym448
		if false {
		} else if z.HasExtensions() && z.DecExt(yyv447) {
		} else {
			z.DecFallback(yyv447, false)
		}
	}
	yyj444++
	if yyhl444 {
		yyb444 = yyj444 > l
	} else {
		yyb444 = r.CheckBreak()
	}
	if yyb444 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.Items = nil
	} else {
		yyv449 := &x.Items
		yym450 := z.DecBinary()
		_ = yym450
		if false {
		} else {
			h.decSlicePersistentVolumeClaim((*[]PersistentVolumeClaim)(yyv449), d)
		}
	}
	for {
		yyj444++
		if yyhl444 {
			yyb444 = yyj444 > l
		} else {
			yyb444 = r.CheckBreak()
		}
		if yyb444 {
			break
		}
		z.DecStructFieldNotFound(yyj444-1, "")
	}
	r.ReadEnd()
}

func (x *PersistentVolumeClaimSpec) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym451 := z.EncBinary()
		_ = yym451
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep452 := !z.EncBinary()
			yy2arr452 := z.EncBasicHandle().StructToArray
			var yyq452 [3]bool
			_, _, _ = yysep452, yyq452, yy2arr452
			const yyr452 bool = false
			yyq452[0] = len(x.AccessModes) != 0
			yyq452[1] = true
			yyq452[2] = x.VolumeName != ""
			if yyr452 || yy2arr452 {
				r.EncodeArrayStart(3)
			} else {
				var yynn452 int = 0
				for _, b := range yyq452 {
					if b {
						yynn452++
					}
				}
				r.EncodeMapStart(yynn452)
			}
			if yyr452 || yy2arr452 {
				if yyq452[0] {
					if x.AccessModes == nil {
						r.EncodeNil()
					} else {
						yym454 := z.EncBinary()
						_ = yym454
						if false {
						} else {
							h.encSlicePersistentVolumeAccessMode(([]PersistentVolumeAccessMode)(x.AccessModes), e)
						}
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq452[0] {
					r.EncodeString(codecSelferC_UTF81234, string("accessModes"))
					if x.AccessModes == nil {
						r.EncodeNil()
					} else {
						yym455 := z.EncBinary()
						_ = yym455
						if false {
						} else {
							h.encSlicePersistentVolumeAccessMode(([]PersistentVolumeAccessMode)(x.AccessModes), e)
						}
					}
				}
			}
			if yyr452 || yy2arr452 {
				if yyq452[1] {
					yy457 := &x.Resources
					yy457.CodecEncodeSelf(e)
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq452[1] {
					r.EncodeString(codecSelferC_UTF81234, string("resources"))
					yy458 := &x.Resources
					yy458.CodecEncodeSelf(e)
				}
			}
			if yyr452 || yy2arr452 {
				if yyq452[2] {
					yym460 := z.EncBinary()
					_ = yym460
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.VolumeName))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq452[2] {
					r.EncodeString(codecSelferC_UTF81234, string("volumeName"))
					yym461 := z.EncBinary()
					_ = yym461
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.VolumeName))
					}
				}
			}
			if yysep452 {
				r.EncodeEnd()
			}
		}
	}
}

func (x *PersistentVolumeClaimSpec) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym462 := z.DecBinary()
	_ = yym462
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		if r.IsContainerType(codecSelferValueTypeMap1234) {
			yyl463 := r.ReadMapStart()
			if yyl463 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromMap(yyl463, d)
			}
		} else if r.IsContainerType(codecSelferValueTypeArray1234) {
			yyl463 := r.ReadArrayStart()
			if yyl463 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromArray(yyl463, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *PersistentVolumeClaimSpec) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys464Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys464Slc
	var yyhl464 bool = l >= 0
	for yyj464 := 0; ; yyj464++ {
		if yyhl464 {
			if yyj464 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		yys464Slc = r.DecodeBytes(yys464Slc, true, true)
		yys464 := string(yys464Slc)
		switch yys464 {
		case "accessModes":
			if r.TryDecodeAsNil() {
				x.AccessModes = nil
			} else {
				yyv465 := &x.AccessModes
				yym466 := z.DecBinary()
				_ = yym466
				if false {
				} else {
					h.decSlicePersistentVolumeAccessMode((*[]PersistentVolumeAccessMode)(yyv465), d)
				}
			}
		case "resources":
			if r.TryDecodeAsNil() {
				x.Resources = ResourceRequirements{}
			} else {
				yyv467 := &x.Resources
				yyv467.CodecDecodeSelf(d)
			}
		case "volumeName":
			if r.TryDecodeAsNil() {
				x.VolumeName = ""
			} else {
				x.VolumeName = string(r.DecodeString())
			}
		default:
			z.DecStructFieldNotFound(-1, yys464)
		} // end switch yys464
	} // end for yyj464
	if !yyhl464 {
		r.ReadEnd()
	}
}

func (x *PersistentVolumeClaimSpec) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj469 int
	var yyb469 bool
	var yyhl469 bool = l >= 0
	yyj469++
	if yyhl469 {
		yyb469 = yyj469 > l
	} else {
		yyb469 = r.CheckBreak()
	}
	if yyb469 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.AccessModes = nil
	} else {
		yyv470 := &x.AccessModes
		yym471 := z.DecBinary()
		_ = yym471
		if false {
		} else {
			h.decSlicePersistentVolumeAccessMode((*[]PersistentVolumeAccessMode)(yyv470), d)
		}
	}
	yyj469++
	if yyhl469 {
		yyb469 = yyj469 > l
	} else {
		yyb469 = r.CheckBreak()
	}
	if yyb469 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.Resources = ResourceRequirements{}
	} else {
		yyv472 := &x.Resources
		yyv472.CodecDecodeSelf(d)
	}
	yyj469++
	if yyhl469 {
		yyb469 = yyj469 > l
	} else {
		yyb469 = r.CheckBreak()
	}
	if yyb469 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.VolumeName = ""
	} else {
		x.VolumeName = string(r.DecodeString())
	}
	for {
		yyj469++
		if yyhl469 {
			yyb469 = yyj469 > l
		} else {
			yyb469 = r.CheckBreak()
		}
		if yyb469 {
			break
		}
		z.DecStructFieldNotFound(yyj469-1, "")
	}
	r.ReadEnd()
}

func (x *PersistentVolumeClaimStatus) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym474 := z.EncBinary()
		_ = yym474
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep475 := !z.EncBinary()
			yy2arr475 := z.EncBasicHandle().StructToArray
			var yyq475 [3]bool
			_, _, _ = yysep475, yyq475, yy2arr475
			const yyr475 bool = false
			yyq475[0] = x.Phase != ""
			yyq475[1] = len(x.AccessModes) != 0
			yyq475[2] = len(x.Capacity) != 0
			if yyr475 || yy2arr475 {
				r.EncodeArrayStart(3)
			} else {
				var yynn475 int = 0
				for _, b := range yyq475 {
					if b {
						yynn475++
					}
				}
				r.EncodeMapStart(yynn475)
			}
			if yyr475 || yy2arr475 {
				if yyq475[0] {
					x.Phase.CodecEncodeSelf(e)
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq475[0] {
					r.EncodeString(codecSelferC_UTF81234, string("phase"))
					x.Phase.CodecEncodeSelf(e)
				}
			}
			if yyr475 || yy2arr475 {
				if yyq475[1] {
					if x.AccessModes == nil {
						r.EncodeNil()
					} else {
						yym478 := z.EncBinary()
						_ = yym478
						if false {
						} else {
							h.encSlicePersistentVolumeAccessMode(([]PersistentVolumeAccessMode)(x.AccessModes), e)
						}
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq475[1] {
					r.EncodeString(codecSelferC_UTF81234, string("accessModes"))
					if x.AccessModes == nil {
						r.EncodeNil()
					} else {
						yym479 := z.EncBinary()
						_ = yym479
						if false {
						} else {
							h.encSlicePersistentVolumeAccessMode(([]PersistentVolumeAccessMode)(x.AccessModes), e)
						}
					}
				}
			}
			if yyr475 || yy2arr475 {
				if yyq475[2] {
					if x.Capacity == nil {
						r.EncodeNil()
					} else {
						x.Capacity.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq475[2] {
					r.EncodeString(codecSelferC_UTF81234, string("capacity"))
					if x.Capacity == nil {
						r.EncodeNil()
					} else {
						x.Capacity.CodecEncodeSelf(e)
					}
				}
			}
			if yysep475 {
				r.EncodeEnd()
			}
		}
	}
}

func (x *PersistentVolumeClaimStatus) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym481 := z.DecBinary()
	_ = yym481
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		if r.IsContainerType(codecSelferValueTypeMap1234) {
			yyl482 := r.ReadMapStart()
			if yyl482 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromMap(yyl482, d)
			}
		} else if r.IsContainerType(codecSelferValueTypeArray1234) {
			yyl482 := r.ReadArrayStart()
			if yyl482 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromArray(yyl482, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *PersistentVolumeClaimStatus) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys483Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys483Slc
	var yyhl483 bool = l >= 0
	for yyj483 := 0; ; yyj483++ {
		if yyhl483 {
			if yyj483 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		yys483Slc = r.DecodeBytes(yys483Slc, true, true)
		yys483 := string(yys483Slc)
		switch yys483 {
		case "phase":
			if r.TryDecodeAsNil() {
				x.Phase = ""
			} else {
				x.Phase = PersistentVolumeClaimPhase(r.DecodeString())
			}
		case "accessModes":
			if r.TryDecodeAsNil() {
				x.AccessModes = nil
			} else {
				yyv485 := &x.AccessModes
				yym486 := z.DecBinary()
				_ = yym486
				if false {
				} else {
					h.decSlicePersistentVolumeAccessMode((*[]PersistentVolumeAccessMode)(yyv485), d)
				}
			}
		case "capacity":
			if r.TryDecodeAsNil() {
				x.Capacity = nil
			} else {
				yyv487 := &x.Capacity
				yyv487.CodecDecodeSelf(d)
			}
		default:
			z.DecStructFieldNotFound(-1, yys483)
		} // end switch yys483
	} // end for yyj483
	if !yyhl483 {
		r.ReadEnd()
	}
}

func (x *PersistentVolumeClaimStatus) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj488 int
	var yyb488 bool
	var yyhl488 bool = l >= 0
	yyj488++
	if yyhl488 {
		yyb488 = yyj488 > l
	} else {
		yyb488 = r.CheckBreak()
	}
	if yyb488 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.Phase = ""
	} else {
		x.Phase = PersistentVolumeClaimPhase(r.DecodeString())
	}
	yyj488++
	if yyhl488 {
		yyb488 = yyj488 > l
	} else {
		yyb488 = r.CheckBreak()
	}
	if yyb488 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.AccessModes = nil
	} else {
		yyv490 := &x.AccessModes
		yym491 := z.DecBinary()
		_ = yym491
		if false {
		} else {
			h.decSlicePersistentVolumeAccessMode((*[]PersistentVolumeAccessMode)(yyv490), d)
		}
	}
	yyj488++
	if yyhl488 {
		yyb488 = yyj488 > l
	} else {
		yyb488 = r.CheckBreak()
	}
	if yyb488 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.Capacity = nil
	} else {
		yyv492 := &x.Capacity
		yyv492.CodecDecodeSelf(d)
	}
	for {
		yyj488++
		if yyhl488 {
			yyb488 = yyj488 > l
		} else {
			yyb488 = r.CheckBreak()
		}
		if yyb488 {
			break
		}
		z.DecStructFieldNotFound(yyj488-1, "")
	}
	r.ReadEnd()
}

func (x PersistentVolumeAccessMode) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	yym493 := z.EncBinary()
	_ = yym493
	if false {
	} else if z.HasExtensions() && z.EncExt(x) {
	} else {
		r.EncodeString(codecSelferC_UTF81234, string(x))
	}
}

func (x *PersistentVolumeAccessMode) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym494 := z.DecBinary()
	_ = yym494
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		*((*string)(x)) = r.DecodeString()
	}
}

func (x PersistentVolumePhase) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	yym495 := z.EncBinary()
	_ = yym495
	if false {
	} else if z.HasExtensions() && z.EncExt(x) {
	} else {
		r.EncodeString(codecSelferC_UTF81234, string(x))
	}
}

func (x *PersistentVolumePhase) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym496 := z.DecBinary()
	_ = yym496
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		*((*string)(x)) = r.DecodeString()
	}
}

func (x PersistentVolumeClaimPhase) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	yym497 := z.EncBinary()
	_ = yym497
	if false {
	} else if z.HasExtensions() && z.EncExt(x) {
	} else {
		r.EncodeString(codecSelferC_UTF81234, string(x))
	}
}

func (x *PersistentVolumeClaimPhase) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym498 := z.DecBinary()
	_ = yym498
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		*((*string)(x)) = r.DecodeString()
	}
}

func (x *HostPathVolumeSource) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym499 := z.EncBinary()
		_ = yym499
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep500 := !z.EncBinary()
			yy2arr500 := z.EncBasicHandle().StructToArray
			var yyq500 [1]bool
			_, _, _ = yysep500, yyq500, yy2arr500
			const yyr500 bool = false
			if yyr500 || yy2arr500 {
				r.EncodeArrayStart(1)
			} else {
				var yynn500 int = 1
				for _, b := range yyq500 {
					if b {
						yynn500++
					}
				}
				r.EncodeMapStart(yynn500)
			}
			if yyr500 || yy2arr500 {
				yym502 := z.EncBinary()
				_ = yym502
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.Path))
				}
			} else {
				r.EncodeString(codecSelferC_UTF81234, string("path"))
				yym503 := z.EncBinary()
				_ = yym503
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.Path))
				}
			}
			if yysep500 {
				r.EncodeEnd()
			}
		}
	}
}

func (x *HostPathVolumeSource) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym504 := z.DecBinary()
	_ = yym504
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		if r.IsContainerType(codecSelferValueTypeMap1234) {
			yyl505 := r.ReadMapStart()
			if yyl505 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromMap(yyl505, d)
			}
		} else if r.IsContainerType(codecSelferValueTypeArray1234) {
			yyl505 := r.ReadArrayStart()
			if yyl505 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromArray(yyl505, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *HostPathVolumeSource) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys506Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys506Slc
	var yyhl506 bool = l >= 0
	for yyj506 := 0; ; yyj506++ {
		if yyhl506 {
			if yyj506 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		yys506Slc = r.DecodeBytes(yys506Slc, true, true)
		yys506 := string(yys506Slc)
		switch yys506 {
		case "path":
			if r.TryDecodeAsNil() {
				x.Path = ""
			} else {
				x.Path = string(r.DecodeString())
			}
		default:
			z.DecStructFieldNotFound(-1, yys506)
		} // end switch yys506
	} // end for yyj506
	if !yyhl506 {
		r.ReadEnd()
	}
}

func (x *HostPathVolumeSource) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj508 int
	var yyb508 bool
	var yyhl508 bool = l >= 0
	yyj508++
	if yyhl508 {
		yyb508 = yyj508 > l
	} else {
		yyb508 = r.CheckBreak()
	}
	if yyb508 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.Path = ""
	} else {
		x.Path = string(r.DecodeString())
	}
	for {
		yyj508++
		if yyhl508 {
			yyb508 = yyj508 > l
		} else {
			yyb508 = r.CheckBreak()
		}
		if yyb508 {
			break
		}
		z.DecStructFieldNotFound(yyj508-1, "")
	}
	r.ReadEnd()
}

func (x *EmptyDirVolumeSource) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym510 := z.EncBinary()
		_ = yym510
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep511 := !z.EncBinary()
			yy2arr511 := z.EncBasicHandle().StructToArray
			var yyq511 [1]bool
			_, _, _ = yysep511, yyq511, yy2arr511
			const yyr511 bool = false
			yyq511[0] = x.Medium != ""
			if yyr511 || yy2arr511 {
				r.EncodeArrayStart(1)
			} else {
				var yynn511 int = 0
				for _, b := range yyq511 {
					if b {
						yynn511++
					}
				}
				r.EncodeMapStart(yynn511)
			}
			if yyr511 || yy2arr511 {
				if yyq511[0] {
					x.Medium.CodecEncodeSelf(e)
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq511[0] {
					r.EncodeString(codecSelferC_UTF81234, string("medium"))
					x.Medium.CodecEncodeSelf(e)
				}
			}
			if yysep511 {
				r.EncodeEnd()
			}
		}
	}
}

func (x *EmptyDirVolumeSource) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym513 := z.DecBinary()
	_ = yym513
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		if r.IsContainerType(codecSelferValueTypeMap1234) {
			yyl514 := r.ReadMapStart()
			if yyl514 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromMap(yyl514, d)
			}
		} else if r.IsContainerType(codecSelferValueTypeArray1234) {
			yyl514 := r.ReadArrayStart()
			if yyl514 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromArray(yyl514, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *EmptyDirVolumeSource) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys515Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys515Slc
	var yyhl515 bool = l >= 0
	for yyj515 := 0; ; yyj515++ {
		if yyhl515 {
			if yyj515 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		yys515Slc = r.DecodeBytes(yys515Slc, true, true)
		yys515 := string(yys515Slc)
		switch yys515 {
		case "medium":
			if r.TryDecodeAsNil() {
				x.Medium = ""
			} else {
				x.Medium = StorageMedium(r.DecodeString())
			}
		default:
			z.DecStructFieldNotFound(-1, yys515)
		} // end switch yys515
	} // end for yyj515
	if !yyhl515 {
		r.ReadEnd()
	}
}

func (x *EmptyDirVolumeSource) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj517 int
	var yyb517 bool
	var yyhl517 bool = l >= 0
	yyj517++
	if yyhl517 {
		yyb517 = yyj517 > l
	} else {
		yyb517 = r.CheckBreak()
	}
	if yyb517 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.Medium = ""
	} else {
		x.Medium = StorageMedium(r.DecodeString())
	}
	for {
		yyj517++
		if yyhl517 {
			yyb517 = yyj517 > l
		} else {
			yyb517 = r.CheckBreak()
		}
		if yyb517 {
			break
		}
		z.DecStructFieldNotFound(yyj517-1, "")
	}
	r.ReadEnd()
}

func (x *GlusterfsVolumeSource) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym519 := z.EncBinary()
		_ = yym519
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep520 := !z.EncBinary()
			yy2arr520 := z.EncBasicHandle().StructToArray
			var yyq520 [3]bool
			_, _, _ = yysep520, yyq520, yy2arr520
			const yyr520 bool = false
			yyq520[2] = x.ReadOnly != false
			if yyr520 || yy2arr520 {
				r.EncodeArrayStart(3)
			} else {
				var yynn520 int = 2
				for _, b := range yyq520 {
					if b {
						yynn520++
					}
				}
				r.EncodeMapStart(yynn520)
			}
			if yyr520 || yy2arr520 {
				yym522 := z.EncBinary()
				_ = yym522
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.EndpointsName))
				}
			} else {
				r.EncodeString(codecSelferC_UTF81234, string("endpoints"))
				yym523 := z.EncBinary()
				_ = yym523
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.EndpointsName))
				}
			}
			if yyr520 || yy2arr520 {
				yym525 := z.EncBinary()
				_ = yym525
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.Path))
				}
			} else {
				r.EncodeString(codecSelferC_UTF81234, string("path"))
				yym526 := z.EncBinary()
				_ = yym526
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.Path))
				}
			}
			if yyr520 || yy2arr520 {
				if yyq520[2] {
					yym528 := z.EncBinary()
					_ = yym528
					if false {
					} else {
						r.EncodeBool(bool(x.ReadOnly))
					}
				} else {
					r.EncodeBool(false)
				}
			} else {
				if yyq520[2] {
					r.EncodeString(codecSelferC_UTF81234, string("readOnly"))
					yym529 := z.EncBinary()
					_ = yym529
					if false {
					} else {
						r.EncodeBool(bool(x.ReadOnly))
					}
				}
			}
			if yysep520 {
				r.EncodeEnd()
			}
		}
	}
}

func (x *GlusterfsVolumeSource) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym530 := z.DecBinary()
	_ = yym530
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		if r.IsContainerType(codecSelferValueTypeMap1234) {
			yyl531 := r.ReadMapStart()
			if yyl531 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromMap(yyl531, d)
			}
		} else if r.IsContainerType(codecSelferValueTypeArray1234) {
			yyl531 := r.ReadArrayStart()
			if yyl531 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromArray(yyl531, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *GlusterfsVolumeSource) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys532Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys532Slc
	var yyhl532 bool = l >= 0
	for yyj532 := 0; ; yyj532++ {
		if yyhl532 {
			if yyj532 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		yys532Slc = r.DecodeBytes(yys532Slc, true, true)
		yys532 := string(yys532Slc)
		switch yys532 {
		case "endpoints":
			if r.TryDecodeAsNil() {
				x.EndpointsName = ""
			} else {
				x.EndpointsName = string(r.DecodeString())
			}
		case "path":
			if r.TryDecodeAsNil() {
				x.Path = ""
			} else {
				x.Path = string(r.DecodeString())
			}
		case "readOnly":
			if r.TryDecodeAsNil() {
				x.ReadOnly = false
			} else {
				x.ReadOnly = bool(r.DecodeBool())
			}
		default:
			z.DecStructFieldNotFound(-1, yys532)
		} // end switch yys532
	} // end for yyj532
	if !yyhl532 {
		r.ReadEnd()
	}
}

func (x *GlusterfsVolumeSource) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj536 int
	var yyb536 bool
	var yyhl536 bool = l >= 0
	yyj536++
	if yyhl536 {
		yyb536 = yyj536 > l
	} else {
		yyb536 = r.CheckBreak()
	}
	if yyb536 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.EndpointsName = ""
	} else {
		x.EndpointsName = string(r.DecodeString())
	}
	yyj536++
	if yyhl536 {
		yyb536 = yyj536 > l
	} else {
		yyb536 = r.CheckBreak()
	}
	if yyb536 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.Path = ""
	} else {
		x.Path = string(r.DecodeString())
	}
	yyj536++
	if yyhl536 {
		yyb536 = yyj536 > l
	} else {
		yyb536 = r.CheckBreak()
	}
	if yyb536 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.ReadOnly = false
	} else {
		x.ReadOnly = bool(r.DecodeBool())
	}
	for {
		yyj536++
		if yyhl536 {
			yyb536 = yyj536 > l
		} else {
			yyb536 = r.CheckBreak()
		}
		if yyb536 {
			break
		}
		z.DecStructFieldNotFound(yyj536-1, "")
	}
	r.ReadEnd()
}

func (x StorageMedium) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	yym540 := z.EncBinary()
	_ = yym540
	if false {
	} else if z.HasExtensions() && z.EncExt(x) {
	} else {
		r.EncodeString(codecSelferC_UTF81234, string(x))
	}
}

func (x *StorageMedium) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym541 := z.DecBinary()
	_ = yym541
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		*((*string)(x)) = r.DecodeString()
	}
}

func (x *RBDVolumeSource) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym542 := z.EncBinary()
		_ = yym542
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep543 := !z.EncBinary()
			yy2arr543 := z.EncBasicHandle().StructToArray
			var yyq543 [8]bool
			_, _, _ = yysep543, yyq543, yy2arr543
			const yyr543 bool = false
			yyq543[2] = x.FSType != ""
			yyq543[7] = x.ReadOnly != false
			if yyr543 || yy2arr543 {
				r.EncodeArrayStart(8)
			} else {
				var yynn543 int = 6
				for _, b := range yyq543 {
					if b {
						yynn543++
					}
				}
				r.EncodeMapStart(yynn543)
			}
			if yyr543 || yy2arr543 {
				if x.CephMonitors == nil {
					r.EncodeNil()
				} else {
					yym545 := z.EncBinary()
					_ = yym545
					if false {
					} else {
						z.F.EncSliceStringV(x.CephMonitors, false, e)
					}
				}
			} else {
				r.EncodeString(codecSelferC_UTF81234, string("monitors"))
				if x.CephMonitors == nil {
					r.EncodeNil()
				} else {
					yym546 := z.EncBinary()
					_ = yym546
					if false {
					} else {
						z.F.EncSliceStringV(x.CephMonitors, false, e)
					}
				}
			}
			if yyr543 || yy2arr543 {
				yym548 := z.EncBinary()
				_ = yym548
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.RBDImage))
				}
			} else {
				r.EncodeString(codecSelferC_UTF81234, string("image"))
				yym549 := z.EncBinary()
				_ = yym549
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.RBDImage))
				}
			}
			if yyr543 || yy2arr543 {
				if yyq543[2] {
					yym551 := z.EncBinary()
					_ = yym551
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.FSType))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq543[2] {
					r.EncodeString(codecSelferC_UTF81234, string("fsType"))
					yym552 := z.EncBinary()
					_ = yym552
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.FSType))
					}
				}
			}
			if yyr543 || yy2arr543 {
				yym554 := z.EncBinary()
				_ = yym554
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.RBDPool))
				}
			} else {
				r.EncodeString(codecSelferC_UTF81234, string("pool"))
				yym555 := z.EncBinary()
				_ = yym555
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.RBDPool))
				}
			}
			if yyr543 || yy2arr543 {
				yym557 := z.EncBinary()
				_ = yym557
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.RadosUser))
				}
			} else {
				r.EncodeString(codecSelferC_UTF81234, string("user"))
				yym558 := z.EncBinary()
				_ = yym558
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.RadosUser))
				}
			}
			if yyr543 || yy2arr543 {
				yym560 := z.EncBinary()
				_ = yym560
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.Keyring))
				}
			} else {
				r.EncodeString(codecSelferC_UTF81234, string("keyring"))
				yym561 := z.EncBinary()
				_ = yym561
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.Keyring))
				}
			}
			if yyr543 || yy2arr543 {
				if x.SecretRef == nil {
					r.EncodeNil()
				} else {
					x.SecretRef.CodecEncodeSelf(e)
				}
			} else {
				r.EncodeString(codecSelferC_UTF81234, string("secretRef"))
				if x.SecretRef == nil {
					r.EncodeNil()
				} else {
					x.SecretRef.CodecEncodeSelf(e)
				}
			}
			if yyr543 || yy2arr543 {
				if yyq543[7] {
					yym564 := z.EncBinary()
					_ = yym564
					if false {
					} else {
						r.EncodeBool(bool(x.ReadOnly))
					}
				} else {
					r.EncodeBool(false)
				}
			} else {
				if yyq543[7] {
					r.EncodeString(codecSelferC_UTF81234, string("readOnly"))
					yym565 := z.EncBinary()
					_ = yym565
					if false {
					} else {
						r.EncodeBool(bool(x.ReadOnly))
					}
				}
			}
			if yysep543 {
				r.EncodeEnd()
			}
		}
	}
}

func (x *RBDVolumeSource) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym566 := z.DecBinary()
	_ = yym566
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		if r.IsContainerType(codecSelferValueTypeMap1234) {
			yyl567 := r.ReadMapStart()
			if yyl567 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromMap(yyl567, d)
			}
		} else if r.IsContainerType(codecSelferValueTypeArray1234) {
			yyl567 := r.ReadArrayStart()
			if yyl567 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromArray(yyl567, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *RBDVolumeSource) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys568Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys568Slc
	var yyhl568 bool = l >= 0
	for yyj568 := 0; ; yyj568++ {
		if yyhl568 {
			if yyj568 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		yys568Slc = r.DecodeBytes(yys568Slc, true, true)
		yys568 := string(yys568Slc)
		switch yys568 {
		case "monitors":
			if r.TryDecodeAsNil() {
				x.CephMonitors = nil
			} else {
				yyv569 := &x.CephMonitors
				yym570 := z.DecBinary()
				_ = yym570
				if false {
				} else {
					z.F.DecSliceStringX(yyv569, false, d)
				}
			}
		case "image":
			if r.TryDecodeAsNil() {
				x.RBDImage = ""
			} else {
				x.RBDImage = string(r.DecodeString())
			}
		case "fsType":
			if r.TryDecodeAsNil() {
				x.FSType = ""
			} else {
				x.FSType = string(r.DecodeString())
			}
		case "pool":
			if r.TryDecodeAsNil() {
				x.RBDPool = ""
			} else {
				x.RBDPool = string(r.DecodeString())
			}
		case "user":
			if r.TryDecodeAsNil() {
				x.RadosUser = ""
			} else {
				x.RadosUser = string(r.DecodeString())
			}
		case "keyring":
			if r.TryDecodeAsNil() {
				x.Keyring = ""
			} else {
				x.Keyring = string(r.DecodeString())
			}
		case "secretRef":
			if r.TryDecodeAsNil() {
				if x.SecretRef != nil {
					x.SecretRef = nil
				}
			} else {
				if x.SecretRef == nil {
					x.SecretRef = new(LocalObjectReference)
				}
				x.SecretRef.CodecDecodeSelf(d)
			}
		case "readOnly":
			if r.TryDecodeAsNil() {
				x.ReadOnly = false
			} else {
				x.ReadOnly = bool(r.DecodeBool())
			}
		default:
			z.DecStructFieldNotFound(-1, yys568)
		} // end switch yys568
	} // end for yyj568
	if !yyhl568 {
		r.ReadEnd()
	}
}

func (x *RBDVolumeSource) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj578 int
	var yyb578 bool
	var yyhl578 bool = l >= 0
	yyj578++
	if yyhl578 {
		yyb578 = yyj578 > l
	} else {
		yyb578 = r.CheckBreak()
	}
	if yyb578 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.CephMonitors = nil
	} else {
		yyv579 := &x.CephMonitors
		yym580 := z.DecBinary()
		_ = yym580
		if false {
		} else {
			z.F.DecSliceStringX(yyv579, false, d)
		}
	}
	yyj578++
	if yyhl578 {
		yyb578 = yyj578 > l
	} else {
		yyb578 = r.CheckBreak()
	}
	if yyb578 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.RBDImage = ""
	} else {
		x.RBDImage = string(r.DecodeString())
	}
	yyj578++
	if yyhl578 {
		yyb578 = yyj578 > l
	} else {
		yyb578 = r.CheckBreak()
	}
	if yyb578 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.FSType = ""
	} else {
		x.FSType = string(r.DecodeString())
	}
	yyj578++
	if yyhl578 {
		yyb578 = yyj578 > l
	} else {
		yyb578 = r.CheckBreak()
	}
	if yyb578 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.RBDPool = ""
	} else {
		x.RBDPool = string(r.DecodeString())
	}
	yyj578++
	if yyhl578 {
		yyb578 = yyj578 > l
	} else {
		yyb578 = r.CheckBreak()
	}
	if yyb578 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.RadosUser = ""
	} else {
		x.RadosUser = string(r.DecodeString())
	}
	yyj578++
	if yyhl578 {
		yyb578 = yyj578 > l
	} else {
		yyb578 = r.CheckBreak()
	}
	if yyb578 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.Keyring = ""
	} else {
		x.Keyring = string(r.DecodeString())
	}
	yyj578++
	if yyhl578 {
		yyb578 = yyj578 > l
	} else {
		yyb578 = r.CheckBreak()
	}
	if yyb578 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		if x.SecretRef != nil {
			x.SecretRef = nil
		}
	} else {
		if x.SecretRef == nil {
			x.SecretRef = new(LocalObjectReference)
		}
		x.SecretRef.CodecDecodeSelf(d)
	}
	yyj578++
	if yyhl578 {
		yyb578 = yyj578 > l
	} else {
		yyb578 = r.CheckBreak()
	}
	if yyb578 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.ReadOnly = false
	} else {
		x.ReadOnly = bool(r.DecodeBool())
	}
	for {
		yyj578++
		if yyhl578 {
			yyb578 = yyj578 > l
		} else {
			yyb578 = r.CheckBreak()
		}
		if yyb578 {
			break
		}
		z.DecStructFieldNotFound(yyj578-1, "")
	}
	r.ReadEnd()
}

func (x *CinderVolumeSource) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym588 := z.EncBinary()
		_ = yym588
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep589 := !z.EncBinary()
			yy2arr589 := z.EncBasicHandle().StructToArray
			var yyq589 [3]bool
			_, _, _ = yysep589, yyq589, yy2arr589
			const yyr589 bool = false
			yyq589[1] = x.FSType != ""
			yyq589[2] = x.ReadOnly != false
			if yyr589 || yy2arr589 {
				r.EncodeArrayStart(3)
			} else {
				var yynn589 int = 1
				for _, b := range yyq589 {
					if b {
						yynn589++
					}
				}
				r.EncodeMapStart(yynn589)
			}
			if yyr589 || yy2arr589 {
				yym591 := z.EncBinary()
				_ = yym591
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.VolumeID))
				}
			} else {
				r.EncodeString(codecSelferC_UTF81234, string("volumeID"))
				yym592 := z.EncBinary()
				_ = yym592
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.VolumeID))
				}
			}
			if yyr589 || yy2arr589 {
				if yyq589[1] {
					yym594 := z.EncBinary()
					_ = yym594
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.FSType))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq589[1] {
					r.EncodeString(codecSelferC_UTF81234, string("fsType"))
					yym595 := z.EncBinary()
					_ = yym595
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.FSType))
					}
				}
			}
			if yyr589 || yy2arr589 {
				if yyq589[2] {
					yym597 := z.EncBinary()
					_ = yym597
					if false {
					} else {
						r.EncodeBool(bool(x.ReadOnly))
					}
				} else {
					r.EncodeBool(false)
				}
			} else {
				if yyq589[2] {
					r.EncodeString(codecSelferC_UTF81234, string("readOnly"))
					yym598 := z.EncBinary()
					_ = yym598
					if false {
					} else {
						r.EncodeBool(bool(x.ReadOnly))
					}
				}
			}
			if yysep589 {
				r.EncodeEnd()
			}
		}
	}
}

func (x *CinderVolumeSource) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym599 := z.DecBinary()
	_ = yym599
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		if r.IsContainerType(codecSelferValueTypeMap1234) {
			yyl600 := r.ReadMapStart()
			if yyl600 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromMap(yyl600, d)
			}
		} else if r.IsContainerType(codecSelferValueTypeArray1234) {
			yyl600 := r.ReadArrayStart()
			if yyl600 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromArray(yyl600, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *CinderVolumeSource) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys601Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys601Slc
	var yyhl601 bool = l >= 0
	for yyj601 := 0; ; yyj601++ {
		if yyhl601 {
			if yyj601 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		yys601Slc = r.DecodeBytes(yys601Slc, true, true)
		yys601 := string(yys601Slc)
		switch yys601 {
		case "volumeID":
			if r.TryDecodeAsNil() {
				x.VolumeID = ""
			} else {
				x.VolumeID = string(r.DecodeString())
			}
		case "fsType":
			if r.TryDecodeAsNil() {
				x.FSType = ""
			} else {
				x.FSType = string(r.DecodeString())
			}
		case "readOnly":
			if r.TryDecodeAsNil() {
				x.ReadOnly = false
			} else {
				x.ReadOnly = bool(r.DecodeBool())
			}
		default:
			z.DecStructFieldNotFound(-1, yys601)
		} // end switch yys601
	} // end for yyj601
	if !yyhl601 {
		r.ReadEnd()
	}
}

func (x *CinderVolumeSource) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj605 int
	var yyb605 bool
	var yyhl605 bool = l >= 0
	yyj605++
	if yyhl605 {
		yyb605 = yyj605 > l
	} else {
		yyb605 = r.CheckBreak()
	}
	if yyb605 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.VolumeID = ""
	} else {
		x.VolumeID = string(r.DecodeString())
	}
	yyj605++
	if yyhl605 {
		yyb605 = yyj605 > l
	} else {
		yyb605 = r.CheckBreak()
	}
	if yyb605 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.FSType = ""
	} else {
		x.FSType = string(r.DecodeString())
	}
	yyj605++
	if yyhl605 {
		yyb605 = yyj605 > l
	} else {
		yyb605 = r.CheckBreak()
	}
	if yyb605 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.ReadOnly = false
	} else {
		x.ReadOnly = bool(r.DecodeBool())
	}
	for {
		yyj605++
		if yyhl605 {
			yyb605 = yyj605 > l
		} else {
			yyb605 = r.CheckBreak()
		}
		if yyb605 {
			break
		}
		z.DecStructFieldNotFound(yyj605-1, "")
	}
	r.ReadEnd()
}

func (x *CephFSVolumeSource) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym609 := z.EncBinary()
		_ = yym609
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep610 := !z.EncBinary()
			yy2arr610 := z.EncBasicHandle().StructToArray
			var yyq610 [5]bool
			_, _, _ = yysep610, yyq610, yy2arr610
			const yyr610 bool = false
			yyq610[1] = x.User != ""
			yyq610[2] = x.SecretFile != ""
			yyq610[3] = x.SecretRef != nil
			yyq610[4] = x.ReadOnly != false
			if yyr610 || yy2arr610 {
				r.EncodeArrayStart(5)
			} else {
				var yynn610 int = 1
				for _, b := range yyq610 {
					if b {
						yynn610++
					}
				}
				r.EncodeMapStart(yynn610)
			}
			if yyr610 || yy2arr610 {
				if x.Monitors == nil {
					r.EncodeNil()
				} else {
					yym612 := z.EncBinary()
					_ = yym612
					if false {
					} else {
						z.F.EncSliceStringV(x.Monitors, false, e)
					}
				}
			} else {
				r.EncodeString(codecSelferC_UTF81234, string("monitors"))
				if x.Monitors == nil {
					r.EncodeNil()
				} else {
					yym613 := z.EncBinary()
					_ = yym613
					if false {
					} else {
						z.F.EncSliceStringV(x.Monitors, false, e)
					}
				}
			}
			if yyr610 || yy2arr610 {
				if yyq610[1] {
					yym615 := z.EncBinary()
					_ = yym615
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.User))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq610[1] {
					r.EncodeString(codecSelferC_UTF81234, string("user"))
					yym616 := z.EncBinary()
					_ = yym616
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.User))
					}
				}
			}
			if yyr610 || yy2arr610 {
				if yyq610[2] {
					yym618 := z.EncBinary()
					_ = yym618
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.SecretFile))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq610[2] {
					r.EncodeString(codecSelferC_UTF81234, string("secretFile"))
					yym619 := z.EncBinary()
					_ = yym619
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.SecretFile))
					}
				}
			}
			if yyr610 || yy2arr610 {
				if yyq610[3] {
					if x.SecretRef == nil {
						r.EncodeNil()
					} else {
						x.SecretRef.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq610[3] {
					r.EncodeString(codecSelferC_UTF81234, string("secretRef"))
					if x.SecretRef == nil {
						r.EncodeNil()
					} else {
						x.SecretRef.CodecEncodeSelf(e)
					}
				}
			}
			if yyr610 || yy2arr610 {
				if yyq610[4] {
					yym622 := z.EncBinary()
					_ = yym622
					if false {
					} else {
						r.EncodeBool(bool(x.ReadOnly))
					}
				} else {
					r.EncodeBool(false)
				}
			} else {
				if yyq610[4] {
					r.EncodeString(codecSelferC_UTF81234, string("readOnly"))
					yym623 := z.EncBinary()
					_ = yym623
					if false {
					} else {
						r.EncodeBool(bool(x.ReadOnly))
					}
				}
			}
			if yysep610 {
				r.EncodeEnd()
			}
		}
	}
}

func (x *CephFSVolumeSource) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym624 := z.DecBinary()
	_ = yym624
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		if r.IsContainerType(codecSelferValueTypeMap1234) {
			yyl625 := r.ReadMapStart()
			if yyl625 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromMap(yyl625, d)
			}
		} else if r.IsContainerType(codecSelferValueTypeArray1234) {
			yyl625 := r.ReadArrayStart()
			if yyl625 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromArray(yyl625, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *CephFSVolumeSource) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys626Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys626Slc
	var yyhl626 bool = l >= 0
	for yyj626 := 0; ; yyj626++ {
		if yyhl626 {
			if yyj626 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		yys626Slc = r.DecodeBytes(yys626Slc, true, true)
		yys626 := string(yys626Slc)
		switch yys626 {
		case "monitors":
			if r.TryDecodeAsNil() {
				x.Monitors = nil
			} else {
				yyv627 := &x.Monitors
				yym628 := z.DecBinary()
				_ = yym628
				if false {
				} else {
					z.F.DecSliceStringX(yyv627, false, d)
				}
			}
		case "user":
			if r.TryDecodeAsNil() {
				x.User = ""
			} else {
				x.User = string(r.DecodeString())
			}
		case "secretFile":
			if r.TryDecodeAsNil() {
				x.SecretFile = ""
			} else {
				x.SecretFile = string(r.DecodeString())
			}
		case "secretRef":
			if r.TryDecodeAsNil() {
				if x.SecretRef != nil {
					x.SecretRef = nil
				}
			} else {
				if x.SecretRef == nil {
					x.SecretRef = new(LocalObjectReference)
				}
				x.SecretRef.CodecDecodeSelf(d)
			}
		case "readOnly":
			if r.TryDecodeAsNil() {
				x.ReadOnly = false
			} else {
				x.ReadOnly = bool(r.DecodeBool())
			}
		default:
			z.DecStructFieldNotFound(-1, yys626)
		} // end switch yys626
	} // end for yyj626
	if !yyhl626 {
		r.ReadEnd()
	}
}

func (x *CephFSVolumeSource) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj633 int
	var yyb633 bool
	var yyhl633 bool = l >= 0
	yyj633++
	if yyhl633 {
		yyb633 = yyj633 > l
	} else {
		yyb633 = r.CheckBreak()
	}
	if yyb633 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.Monitors = nil
	} else {
		yyv634 := &x.Monitors
		yym635 := z.DecBinary()
		_ = yym635
		if false {
		} else {
			z.F.DecSliceStringX(yyv634, false, d)
		}
	}
	yyj633++
	if yyhl633 {
		yyb633 = yyj633 > l
	} else {
		yyb633 = r.CheckBreak()
	}
	if yyb633 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.User = ""
	} else {
		x.User = string(r.DecodeString())
	}
	yyj633++
	if yyhl633 {
		yyb633 = yyj633 > l
	} else {
		yyb633 = r.CheckBreak()
	}
	if yyb633 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.SecretFile = ""
	} else {
		x.SecretFile = string(r.DecodeString())
	}
	yyj633++
	if yyhl633 {
		yyb633 = yyj633 > l
	} else {
		yyb633 = r.CheckBreak()
	}
	if yyb633 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		if x.SecretRef != nil {
			x.SecretRef = nil
		}
	} else {
		if x.SecretRef == nil {
			x.SecretRef = new(LocalObjectReference)
		}
		x.SecretRef.CodecDecodeSelf(d)
	}
	yyj633++
	if yyhl633 {
		yyb633 = yyj633 > l
	} else {
		yyb633 = r.CheckBreak()
	}
	if yyb633 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.ReadOnly = false
	} else {
		x.ReadOnly = bool(r.DecodeBool())
	}
	for {
		yyj633++
		if yyhl633 {
			yyb633 = yyj633 > l
		} else {
			yyb633 = r.CheckBreak()
		}
		if yyb633 {
			break
		}
		z.DecStructFieldNotFound(yyj633-1, "")
	}
	r.ReadEnd()
}

func (x *FlockerVolumeSource) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym640 := z.EncBinary()
		_ = yym640
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep641 := !z.EncBinary()
			yy2arr641 := z.EncBasicHandle().StructToArray
			var yyq641 [1]bool
			_, _, _ = yysep641, yyq641, yy2arr641
			const yyr641 bool = false
			if yyr641 || yy2arr641 {
				r.EncodeArrayStart(1)
			} else {
				var yynn641 int = 1
				for _, b := range yyq641 {
					if b {
						yynn641++
					}
				}
				r.EncodeMapStart(yynn641)
			}
			if yyr641 || yy2arr641 {
				yym643 := z.EncBinary()
				_ = yym643
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.DatasetName))
				}
			} else {
				r.EncodeString(codecSelferC_UTF81234, string("datasetName"))
				yym644 := z.EncBinary()
				_ = yym644
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.DatasetName))
				}
			}
			if yysep641 {
				r.EncodeEnd()
			}
		}
	}
}

func (x *FlockerVolumeSource) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym645 := z.DecBinary()
	_ = yym645
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		if r.IsContainerType(codecSelferValueTypeMap1234) {
			yyl646 := r.ReadMapStart()
			if yyl646 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromMap(yyl646, d)
			}
		} else if r.IsContainerType(codecSelferValueTypeArray1234) {
			yyl646 := r.ReadArrayStart()
			if yyl646 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromArray(yyl646, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *FlockerVolumeSource) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys647Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys647Slc
	var yyhl647 bool = l >= 0
	for yyj647 := 0; ; yyj647++ {
		if yyhl647 {
			if yyj647 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		yys647Slc = r.DecodeBytes(yys647Slc, true, true)
		yys647 := string(yys647Slc)
		switch yys647 {
		case "datasetName":
			if r.TryDecodeAsNil() {
				x.DatasetName = ""
			} else {
				x.DatasetName = string(r.DecodeString())
			}
		default:
			z.DecStructFieldNotFound(-1, yys647)
		} // end switch yys647
	} // end for yyj647
	if !yyhl647 {
		r.ReadEnd()
	}
}

func (x *FlockerVolumeSource) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj649 int
	var yyb649 bool
	var yyhl649 bool = l >= 0
	yyj649++
	if yyhl649 {
		yyb649 = yyj649 > l
	} else {
		yyb649 = r.CheckBreak()
	}
	if yyb649 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.DatasetName = ""
	} else {
		x.DatasetName = string(r.DecodeString())
	}
	for {
		yyj649++
		if yyhl649 {
			yyb649 = yyj649 > l
		} else {
			yyb649 = r.CheckBreak()
		}
		if yyb649 {
			break
		}
		z.DecStructFieldNotFound(yyj649-1, "")
	}
	r.ReadEnd()
}

func (x Protocol) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	yym651 := z.EncBinary()
	_ = yym651
	if false {
	} else if z.HasExtensions() && z.EncExt(x) {
	} else {
		r.EncodeString(codecSelferC_UTF81234, string(x))
	}
}

func (x *Protocol) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym652 := z.DecBinary()
	_ = yym652
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		*((*string)(x)) = r.DecodeString()
	}
}

func (x *GCEPersistentDiskVolumeSource) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym653 := z.EncBinary()
		_ = yym653
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep654 := !z.EncBinary()
			yy2arr654 := z.EncBasicHandle().StructToArray
			var yyq654 [4]bool
			_, _, _ = yysep654, yyq654, yy2arr654
			const yyr654 bool = false
			yyq654[2] = x.Partition != 0
			yyq654[3] = x.ReadOnly != false
			if yyr654 || yy2arr654 {
				r.EncodeArrayStart(4)
			} else {
				var yynn654 int = 2
				for _, b := range yyq654 {
					if b {
						yynn654++
					}
				}
				r.EncodeMapStart(yynn654)
			}
			if yyr654 || yy2arr654 {
				yym656 := z.EncBinary()
				_ = yym656
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.PDName))
				}
			} else {
				r.EncodeString(codecSelferC_UTF81234, string("pdName"))
				yym657 := z.EncBinary()
				_ = yym657
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.PDName))
				}
			}
			if yyr654 || yy2arr654 {
				yym659 := z.EncBinary()
				_ = yym659
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.FSType))
				}
			} else {
				r.EncodeString(codecSelferC_UTF81234, string("fsType"))
				yym660 := z.EncBinary()
				_ = yym660
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.FSType))
				}
			}
			if yyr654 || yy2arr654 {
				if yyq654[2] {
					yym662 := z.EncBinary()
					_ = yym662
					if false {
					} else {
						r.EncodeInt(int64(x.Partition))
					}
				} else {
					r.EncodeInt(0)
				}
			} else {
				if yyq654[2] {
					r.EncodeString(codecSelferC_UTF81234, string("partition"))
					yym663 := z.EncBinary()
					_ = yym663
					if false {
					} else {
						r.EncodeInt(int64(x.Partition))
					}
				}
			}
			if yyr654 || yy2arr654 {
				if yyq654[3] {
					yym665 := z.EncBinary()
					_ = yym665
					if false {
					} else {
						r.EncodeBool(bool(x.ReadOnly))
					}
				} else {
					r.EncodeBool(false)
				}
			} else {
				if yyq654[3] {
					r.EncodeString(codecSelferC_UTF81234, string("readOnly"))
					yym666 := z.EncBinary()
					_ = yym666
					if false {
					} else {
						r.EncodeBool(bool(x.ReadOnly))
					}
				}
			}
			if yysep654 {
				r.EncodeEnd()
			}
		}
	}
}

func (x *GCEPersistentDiskVolumeSource) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym667 := z.DecBinary()
	_ = yym667
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		if r.IsContainerType(codecSelferValueTypeMap1234) {
			yyl668 := r.ReadMapStart()
			if yyl668 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromMap(yyl668, d)
			}
		} else if r.IsContainerType(codecSelferValueTypeArray1234) {
			yyl668 := r.ReadArrayStart()
			if yyl668 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromArray(yyl668, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *GCEPersistentDiskVolumeSource) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys669Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys669Slc
	var yyhl669 bool = l >= 0
	for yyj669 := 0; ; yyj669++ {
		if yyhl669 {
			if yyj669 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		yys669Slc = r.DecodeBytes(yys669Slc, true, true)
		yys669 := string(yys669Slc)
		switch yys669 {
		case "pdName":
			if r.TryDecodeAsNil() {
				x.PDName = ""
			} else {
				x.PDName = string(r.DecodeString())
			}
		case "fsType":
			if r.TryDecodeAsNil() {
				x.FSType = ""
			} else {
				x.FSType = string(r.DecodeString())
			}
		case "partition":
			if r.TryDecodeAsNil() {
				x.Partition = 0
			} else {
				x.Partition = int(r.DecodeInt(codecSelferBitsize1234))
			}
		case "readOnly":
			if r.TryDecodeAsNil() {
				x.ReadOnly = false
			} else {
				x.ReadOnly = bool(r.DecodeBool())
			}
		default:
			z.DecStructFieldNotFound(-1, yys669)
		} // end switch yys669
	} // end for yyj669
	if !yyhl669 {
		r.ReadEnd()
	}
}

func (x *GCEPersistentDiskVolumeSource) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj674 int
	var yyb674 bool
	var yyhl674 bool = l >= 0
	yyj674++
	if yyhl674 {
		yyb674 = yyj674 > l
	} else {
		yyb674 = r.CheckBreak()
	}
	if yyb674 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.PDName = ""
	} else {
		x.PDName = string(r.DecodeString())
	}
	yyj674++
	if yyhl674 {
		yyb674 = yyj674 > l
	} else {
		yyb674 = r.CheckBreak()
	}
	if yyb674 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.FSType = ""
	} else {
		x.FSType = string(r.DecodeString())
	}
	yyj674++
	if yyhl674 {
		yyb674 = yyj674 > l
	} else {
		yyb674 = r.CheckBreak()
	}
	if yyb674 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.Partition = 0
	} else {
		x.Partition = int(r.DecodeInt(codecSelferBitsize1234))
	}
	yyj674++
	if yyhl674 {
		yyb674 = yyj674 > l
	} else {
		yyb674 = r.CheckBreak()
	}
	if yyb674 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.ReadOnly = false
	} else {
		x.ReadOnly = bool(r.DecodeBool())
	}
	for {
		yyj674++
		if yyhl674 {
			yyb674 = yyj674 > l
		} else {
			yyb674 = r.CheckBreak()
		}
		if yyb674 {
			break
		}
		z.DecStructFieldNotFound(yyj674-1, "")
	}
	r.ReadEnd()
}

func (x *AWSElasticBlockStoreVolumeSource) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym679 := z.EncBinary()
		_ = yym679
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep680 := !z.EncBinary()
			yy2arr680 := z.EncBasicHandle().StructToArray
			var yyq680 [4]bool
			_, _, _ = yysep680, yyq680, yy2arr680
			const yyr680 bool = false
			yyq680[2] = x.Partition != 0
			yyq680[3] = x.ReadOnly != false
			if yyr680 || yy2arr680 {
				r.EncodeArrayStart(4)
			} else {
				var yynn680 int = 2
				for _, b := range yyq680 {
					if b {
						yynn680++
					}
				}
				r.EncodeMapStart(yynn680)
			}
			if yyr680 || yy2arr680 {
				yym682 := z.EncBinary()
				_ = yym682
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.VolumeID))
				}
			} else {
				r.EncodeString(codecSelferC_UTF81234, string("volumeID"))
				yym683 := z.EncBinary()
				_ = yym683
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.VolumeID))
				}
			}
			if yyr680 || yy2arr680 {
				yym685 := z.EncBinary()
				_ = yym685
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.FSType))
				}
			} else {
				r.EncodeString(codecSelferC_UTF81234, string("fsType"))
				yym686 := z.EncBinary()
				_ = yym686
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.FSType))
				}
			}
			if yyr680 || yy2arr680 {
				if yyq680[2] {
					yym688 := z.EncBinary()
					_ = yym688
					if false {
					} else {
						r.EncodeInt(int64(x.Partition))
					}
				} else {
					r.EncodeInt(0)
				}
			} else {
				if yyq680[2] {
					r.EncodeString(codecSelferC_UTF81234, string("partition"))
					yym689 := z.EncBinary()
					_ = yym689
					if false {
					} else {
						r.EncodeInt(int64(x.Partition))
					}
				}
			}
			if yyr680 || yy2arr680 {
				if yyq680[3] {
					yym691 := z.EncBinary()
					_ = yym691
					if false {
					} else {
						r.EncodeBool(bool(x.ReadOnly))
					}
				} else {
					r.EncodeBool(false)
				}
			} else {
				if yyq680[3] {
					r.EncodeString(codecSelferC_UTF81234, string("readOnly"))
					yym692 := z.EncBinary()
					_ = yym692
					if false {
					} else {
						r.EncodeBool(bool(x.ReadOnly))
					}
				}
			}
			if yysep680 {
				r.EncodeEnd()
			}
		}
	}
}

func (x *AWSElasticBlockStoreVolumeSource) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym693 := z.DecBinary()
	_ = yym693
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		if r.IsContainerType(codecSelferValueTypeMap1234) {
			yyl694 := r.ReadMapStart()
			if yyl694 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromMap(yyl694, d)
			}
		} else if r.IsContainerType(codecSelferValueTypeArray1234) {
			yyl694 := r.ReadArrayStart()
			if yyl694 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromArray(yyl694, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *AWSElasticBlockStoreVolumeSource) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys695Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys695Slc
	var yyhl695 bool = l >= 0
	for yyj695 := 0; ; yyj695++ {
		if yyhl695 {
			if yyj695 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		yys695Slc = r.DecodeBytes(yys695Slc, true, true)
		yys695 := string(yys695Slc)
		switch yys695 {
		case "volumeID":
			if r.TryDecodeAsNil() {
				x.VolumeID = ""
			} else {
				x.VolumeID = string(r.DecodeString())
			}
		case "fsType":
			if r.TryDecodeAsNil() {
				x.FSType = ""
			} else {
				x.FSType = string(r.DecodeString())
			}
		case "partition":
			if r.TryDecodeAsNil() {
				x.Partition = 0
			} else {
				x.Partition = int(r.DecodeInt(codecSelferBitsize1234))
			}
		case "readOnly":
			if r.TryDecodeAsNil() {
				x.ReadOnly = false
			} else {
				x.ReadOnly = bool(r.DecodeBool())
			}
		default:
			z.DecStructFieldNotFound(-1, yys695)
		} // end switch yys695
	} // end for yyj695
	if !yyhl695 {
		r.ReadEnd()
	}
}

func (x *AWSElasticBlockStoreVolumeSource) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj700 int
	var yyb700 bool
	var yyhl700 bool = l >= 0
	yyj700++
	if yyhl700 {
		yyb700 = yyj700 > l
	} else {
		yyb700 = r.CheckBreak()
	}
	if yyb700 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.VolumeID = ""
	} else {
		x.VolumeID = string(r.DecodeString())
	}
	yyj700++
	if yyhl700 {
		yyb700 = yyj700 > l
	} else {
		yyb700 = r.CheckBreak()
	}
	if yyb700 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.FSType = ""
	} else {
		x.FSType = string(r.DecodeString())
	}
	yyj700++
	if yyhl700 {
		yyb700 = yyj700 > l
	} else {
		yyb700 = r.CheckBreak()
	}
	if yyb700 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.Partition = 0
	} else {
		x.Partition = int(r.DecodeInt(codecSelferBitsize1234))
	}
	yyj700++
	if yyhl700 {
		yyb700 = yyj700 > l
	} else {
		yyb700 = r.CheckBreak()
	}
	if yyb700 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.ReadOnly = false
	} else {
		x.ReadOnly = bool(r.DecodeBool())
	}
	for {
		yyj700++
		if yyhl700 {
			yyb700 = yyj700 > l
		} else {
			yyb700 = r.CheckBreak()
		}
		if yyb700 {
			break
		}
		z.DecStructFieldNotFound(yyj700-1, "")
	}
	r.ReadEnd()
}

func (x *GitRepoVolumeSource) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym705 := z.EncBinary()
		_ = yym705
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep706 := !z.EncBinary()
			yy2arr706 := z.EncBasicHandle().StructToArray
			var yyq706 [2]bool
			_, _, _ = yysep706, yyq706, yy2arr706
			const yyr706 bool = false
			if yyr706 || yy2arr706 {
				r.EncodeArrayStart(2)
			} else {
				var yynn706 int = 2
				for _, b := range yyq706 {
					if b {
						yynn706++
					}
				}
				r.EncodeMapStart(yynn706)
			}
			if yyr706 || yy2arr706 {
				yym708 := z.EncBinary()
				_ = yym708
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.Repository))
				}
			} else {
				r.EncodeString(codecSelferC_UTF81234, string("repository"))
				yym709 := z.EncBinary()
				_ = yym709
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.Repository))
				}
			}
			if yyr706 || yy2arr706 {
				yym711 := z.EncBinary()
				_ = yym711
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.Revision))
				}
			} else {
				r.EncodeString(codecSelferC_UTF81234, string("revision"))
				yym712 := z.EncBinary()
				_ = yym712
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.Revision))
				}
			}
			if yysep706 {
				r.EncodeEnd()
			}
		}
	}
}

func (x *GitRepoVolumeSource) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym713 := z.DecBinary()
	_ = yym713
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		if r.IsContainerType(codecSelferValueTypeMap1234) {
			yyl714 := r.ReadMapStart()
			if yyl714 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromMap(yyl714, d)
			}
		} else if r.IsContainerType(codecSelferValueTypeArray1234) {
			yyl714 := r.ReadArrayStart()
			if yyl714 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromArray(yyl714, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *GitRepoVolumeSource) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys715Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys715Slc
	var yyhl715 bool = l >= 0
	for yyj715 := 0; ; yyj715++ {
		if yyhl715 {
			if yyj715 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		yys715Slc = r.DecodeBytes(yys715Slc, true, true)
		yys715 := string(yys715Slc)
		switch yys715 {
		case "repository":
			if r.TryDecodeAsNil() {
				x.Repository = ""
			} else {
				x.Repository = string(r.DecodeString())
			}
		case "revision":
			if r.TryDecodeAsNil() {
				x.Revision = ""
			} else {
				x.Revision = string(r.DecodeString())
			}
		default:
			z.DecStructFieldNotFound(-1, yys715)
		} // end switch yys715
	} // end for yyj715
	if !yyhl715 {
		r.ReadEnd()
	}
}

func (x *GitRepoVolumeSource) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj718 int
	var yyb718 bool
	var yyhl718 bool = l >= 0
	yyj718++
	if yyhl718 {
		yyb718 = yyj718 > l
	} else {
		yyb718 = r.CheckBreak()
	}
	if yyb718 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.Repository = ""
	} else {
		x.Repository = string(r.DecodeString())
	}
	yyj718++
	if yyhl718 {
		yyb718 = yyj718 > l
	} else {
		yyb718 = r.CheckBreak()
	}
	if yyb718 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.Revision = ""
	} else {
		x.Revision = string(r.DecodeString())
	}
	for {
		yyj718++
		if yyhl718 {
			yyb718 = yyj718 > l
		} else {
			yyb718 = r.CheckBreak()
		}
		if yyb718 {
			break
		}
		z.DecStructFieldNotFound(yyj718-1, "")
	}
	r.ReadEnd()
}

func (x *SecretVolumeSource) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym721 := z.EncBinary()
		_ = yym721
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep722 := !z.EncBinary()
			yy2arr722 := z.EncBasicHandle().StructToArray
			var yyq722 [1]bool
			_, _, _ = yysep722, yyq722, yy2arr722
			const yyr722 bool = false
			if yyr722 || yy2arr722 {
				r.EncodeArrayStart(1)
			} else {
				var yynn722 int = 1
				for _, b := range yyq722 {
					if b {
						yynn722++
					}
				}
				r.EncodeMapStart(yynn722)
			}
			if yyr722 || yy2arr722 {
				yym724 := z.EncBinary()
				_ = yym724
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.SecretName))
				}
			} else {
				r.EncodeString(codecSelferC_UTF81234, string("secretName"))
				yym725 := z.EncBinary()
				_ = yym725
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.SecretName))
				}
			}
			if yysep722 {
				r.EncodeEnd()
			}
		}
	}
}

func (x *SecretVolumeSource) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym726 := z.DecBinary()
	_ = yym726
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		if r.IsContainerType(codecSelferValueTypeMap1234) {
			yyl727 := r.ReadMapStart()
			if yyl727 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromMap(yyl727, d)
			}
		} else if r.IsContainerType(codecSelferValueTypeArray1234) {
			yyl727 := r.ReadArrayStart()
			if yyl727 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromArray(yyl727, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *SecretVolumeSource) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys728Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys728Slc
	var yyhl728 bool = l >= 0
	for yyj728 := 0; ; yyj728++ {
		if yyhl728 {
			if yyj728 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		yys728Slc = r.DecodeBytes(yys728Slc, true, true)
		yys728 := string(yys728Slc)
		switch yys728 {
		case "secretName":
			if r.TryDecodeAsNil() {
				x.SecretName = ""
			} else {
				x.SecretName = string(r.DecodeString())
			}
		default:
			z.DecStructFieldNotFound(-1, yys728)
		} // end switch yys728
	} // end for yyj728
	if !yyhl728 {
		r.ReadEnd()
	}
}

func (x *SecretVolumeSource) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj730 int
	var yyb730 bool
	var yyhl730 bool = l >= 0
	yyj730++
	if yyhl730 {
		yyb730 = yyj730 > l
	} else {
		yyb730 = r.CheckBreak()
	}
	if yyb730 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.SecretName = ""
	} else {
		x.SecretName = string(r.DecodeString())
	}
	for {
		yyj730++
		if yyhl730 {
			yyb730 = yyj730 > l
		} else {
			yyb730 = r.CheckBreak()
		}
		if yyb730 {
			break
		}
		z.DecStructFieldNotFound(yyj730-1, "")
	}
	r.ReadEnd()
}

func (x *NFSVolumeSource) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym732 := z.EncBinary()
		_ = yym732
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep733 := !z.EncBinary()
			yy2arr733 := z.EncBasicHandle().StructToArray
			var yyq733 [3]bool
			_, _, _ = yysep733, yyq733, yy2arr733
			const yyr733 bool = false
			yyq733[2] = x.ReadOnly != false
			if yyr733 || yy2arr733 {
				r.EncodeArrayStart(3)
			} else {
				var yynn733 int = 2
				for _, b := range yyq733 {
					if b {
						yynn733++
					}
				}
				r.EncodeMapStart(yynn733)
			}
			if yyr733 || yy2arr733 {
				yym735 := z.EncBinary()
				_ = yym735
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.Server))
				}
			} else {
				r.EncodeString(codecSelferC_UTF81234, string("server"))
				yym736 := z.EncBinary()
				_ = yym736
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.Server))
				}
			}
			if yyr733 || yy2arr733 {
				yym738 := z.EncBinary()
				_ = yym738
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.Path))
				}
			} else {
				r.EncodeString(codecSelferC_UTF81234, string("path"))
				yym739 := z.EncBinary()
				_ = yym739
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.Path))
				}
			}
			if yyr733 || yy2arr733 {
				if yyq733[2] {
					yym741 := z.EncBinary()
					_ = yym741
					if false {
					} else {
						r.EncodeBool(bool(x.ReadOnly))
					}
				} else {
					r.EncodeBool(false)
				}
			} else {
				if yyq733[2] {
					r.EncodeString(codecSelferC_UTF81234, string("readOnly"))
					yym742 := z.EncBinary()
					_ = yym742
					if false {
					} else {
						r.EncodeBool(bool(x.ReadOnly))
					}
				}
			}
			if yysep733 {
				r.EncodeEnd()
			}
		}
	}
}

func (x *NFSVolumeSource) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym743 := z.DecBinary()
	_ = yym743
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		if r.IsContainerType(codecSelferValueTypeMap1234) {
			yyl744 := r.ReadMapStart()
			if yyl744 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromMap(yyl744, d)
			}
		} else if r.IsContainerType(codecSelferValueTypeArray1234) {
			yyl744 := r.ReadArrayStart()
			if yyl744 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromArray(yyl744, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *NFSVolumeSource) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys745Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys745Slc
	var yyhl745 bool = l >= 0
	for yyj745 := 0; ; yyj745++ {
		if yyhl745 {
			if yyj745 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		yys745Slc = r.DecodeBytes(yys745Slc, true, true)
		yys745 := string(yys745Slc)
		switch yys745 {
		case "server":
			if r.TryDecodeAsNil() {
				x.Server = ""
			} else {
				x.Server = string(r.DecodeString())
			}
		case "path":
			if r.TryDecodeAsNil() {
				x.Path = ""
			} else {
				x.Path = string(r.DecodeString())
			}
		case "readOnly":
			if r.TryDecodeAsNil() {
				x.ReadOnly = false
			} else {
				x.ReadOnly = bool(r.DecodeBool())
			}
		default:
			z.DecStructFieldNotFound(-1, yys745)
		} // end switch yys745
	} // end for yyj745
	if !yyhl745 {
		r.ReadEnd()
	}
}

func (x *NFSVolumeSource) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj749 int
	var yyb749 bool
	var yyhl749 bool = l >= 0
	yyj749++
	if yyhl749 {
		yyb749 = yyj749 > l
	} else {
		yyb749 = r.CheckBreak()
	}
	if yyb749 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.Server = ""
	} else {
		x.Server = string(r.DecodeString())
	}
	yyj749++
	if yyhl749 {
		yyb749 = yyj749 > l
	} else {
		yyb749 = r.CheckBreak()
	}
	if yyb749 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.Path = ""
	} else {
		x.Path = string(r.DecodeString())
	}
	yyj749++
	if yyhl749 {
		yyb749 = yyj749 > l
	} else {
		yyb749 = r.CheckBreak()
	}
	if yyb749 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.ReadOnly = false
	} else {
		x.ReadOnly = bool(r.DecodeBool())
	}
	for {
		yyj749++
		if yyhl749 {
			yyb749 = yyj749 > l
		} else {
			yyb749 = r.CheckBreak()
		}
		if yyb749 {
			break
		}
		z.DecStructFieldNotFound(yyj749-1, "")
	}
	r.ReadEnd()
}

func (x *ISCSIVolumeSource) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym753 := z.EncBinary()
		_ = yym753
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep754 := !z.EncBinary()
			yy2arr754 := z.EncBasicHandle().StructToArray
			var yyq754 [5]bool
			_, _, _ = yysep754, yyq754, yy2arr754
			const yyr754 bool = false
			yyq754[4] = x.ReadOnly != false
			if yyr754 || yy2arr754 {
				r.EncodeArrayStart(5)
			} else {
				var yynn754 int = 4
				for _, b := range yyq754 {
					if b {
						yynn754++
					}
				}
				r.EncodeMapStart(yynn754)
			}
			if yyr754 || yy2arr754 {
				yym756 := z.EncBinary()
				_ = yym756
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.TargetPortal))
				}
			} else {
				r.EncodeString(codecSelferC_UTF81234, string("targetPortal"))
				yym757 := z.EncBinary()
				_ = yym757
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.TargetPortal))
				}
			}
			if yyr754 || yy2arr754 {
				yym759 := z.EncBinary()
				_ = yym759
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.IQN))
				}
			} else {
				r.EncodeString(codecSelferC_UTF81234, string("iqn"))
				yym760 := z.EncBinary()
				_ = yym760
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.IQN))
				}
			}
			if yyr754 || yy2arr754 {
				yym762 := z.EncBinary()
				_ = yym762
				if false {
				} else {
					r.EncodeInt(int64(x.Lun))
				}
			} else {
				r.EncodeString(codecSelferC_UTF81234, string("lun"))
				yym763 := z.EncBinary()
				_ = yym763
				if false {
				} else {
					r.EncodeInt(int64(x.Lun))
				}
			}
			if yyr754 || yy2arr754 {
				yym765 := z.EncBinary()
				_ = yym765
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.FSType))
				}
			} else {
				r.EncodeString(codecSelferC_UTF81234, string("fsType"))
				yym766 := z.EncBinary()
				_ = yym766
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.FSType))
				}
			}
			if yyr754 || yy2arr754 {
				if yyq754[4] {
					yym768 := z.EncBinary()
					_ = yym768
					if false {
					} else {
						r.EncodeBool(bool(x.ReadOnly))
					}
				} else {
					r.EncodeBool(false)
				}
			} else {
				if yyq754[4] {
					r.EncodeString(codecSelferC_UTF81234, string("readOnly"))
					yym769 := z.EncBinary()
					_ = yym769
					if false {
					} else {
						r.EncodeBool(bool(x.ReadOnly))
					}
				}
			}
			if yysep754 {
				r.EncodeEnd()
			}
		}
	}
}

func (x *ISCSIVolumeSource) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym770 := z.DecBinary()
	_ = yym770
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		if r.IsContainerType(codecSelferValueTypeMap1234) {
			yyl771 := r.ReadMapStart()
			if yyl771 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromMap(yyl771, d)
			}
		} else if r.IsContainerType(codecSelferValueTypeArray1234) {
			yyl771 := r.ReadArrayStart()
			if yyl771 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromArray(yyl771, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *ISCSIVolumeSource) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys772Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys772Slc
	var yyhl772 bool = l >= 0
	for yyj772 := 0; ; yyj772++ {
		if yyhl772 {
			if yyj772 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		yys772Slc = r.DecodeBytes(yys772Slc, true, true)
		yys772 := string(yys772Slc)
		switch yys772 {
		case "targetPortal":
			if r.TryDecodeAsNil() {
				x.TargetPortal = ""
			} else {
				x.TargetPortal = string(r.DecodeString())
			}
		case "iqn":
			if r.TryDecodeAsNil() {
				x.IQN = ""
			} else {
				x.IQN = string(r.DecodeString())
			}
		case "lun":
			if r.TryDecodeAsNil() {
				x.Lun = 0
			} else {
				x.Lun = int(r.DecodeInt(codecSelferBitsize1234))
			}
		case "fsType":
			if r.TryDecodeAsNil() {
				x.FSType = ""
			} else {
				x.FSType = string(r.DecodeString())
			}
		case "readOnly":
			if r.TryDecodeAsNil() {
				x.ReadOnly = false
			} else {
				x.ReadOnly = bool(r.DecodeBool())
			}
		default:
			z.DecStructFieldNotFound(-1, yys772)
		} // end switch yys772
	} // end for yyj772
	if !yyhl772 {
		r.ReadEnd()
	}
}

func (x *ISCSIVolumeSource) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj778 int
	var yyb778 bool
	var yyhl778 bool = l >= 0
	yyj778++
	if yyhl778 {
		yyb778 = yyj778 > l
	} else {
		yyb778 = r.CheckBreak()
	}
	if yyb778 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.TargetPortal = ""
	} else {
		x.TargetPortal = string(r.DecodeString())
	}
	yyj778++
	if yyhl778 {
		yyb778 = yyj778 > l
	} else {
		yyb778 = r.CheckBreak()
	}
	if yyb778 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.IQN = ""
	} else {
		x.IQN = string(r.DecodeString())
	}
	yyj778++
	if yyhl778 {
		yyb778 = yyj778 > l
	} else {
		yyb778 = r.CheckBreak()
	}
	if yyb778 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.Lun = 0
	} else {
		x.Lun = int(r.DecodeInt(codecSelferBitsize1234))
	}
	yyj778++
	if yyhl778 {
		yyb778 = yyj778 > l
	} else {
		yyb778 = r.CheckBreak()
	}
	if yyb778 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.FSType = ""
	} else {
		x.FSType = string(r.DecodeString())
	}
	yyj778++
	if yyhl778 {
		yyb778 = yyj778 > l
	} else {
		yyb778 = r.CheckBreak()
	}
	if yyb778 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.ReadOnly = false
	} else {
		x.ReadOnly = bool(r.DecodeBool())
	}
	for {
		yyj778++
		if yyhl778 {
			yyb778 = yyj778 > l
		} else {
			yyb778 = r.CheckBreak()
		}
		if yyb778 {
			break
		}
		z.DecStructFieldNotFound(yyj778-1, "")
	}
	r.ReadEnd()
}

func (x *FCVolumeSource) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym784 := z.EncBinary()
		_ = yym784
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep785 := !z.EncBinary()
			yy2arr785 := z.EncBasicHandle().StructToArray
			var yyq785 [4]bool
			_, _, _ = yysep785, yyq785, yy2arr785
			const yyr785 bool = false
			yyq785[3] = x.ReadOnly != false
			if yyr785 || yy2arr785 {
				r.EncodeArrayStart(4)
			} else {
				var yynn785 int = 3
				for _, b := range yyq785 {
					if b {
						yynn785++
					}
				}
				r.EncodeMapStart(yynn785)
			}
			if yyr785 || yy2arr785 {
				if x.TargetWWNs == nil {
					r.EncodeNil()
				} else {
					yym787 := z.EncBinary()
					_ = yym787
					if false {
					} else {
						z.F.EncSliceStringV(x.TargetWWNs, false, e)
					}
				}
			} else {
				r.EncodeString(codecSelferC_UTF81234, string("targetWWNs"))
				if x.TargetWWNs == nil {
					r.EncodeNil()
				} else {
					yym788 := z.EncBinary()
					_ = yym788
					if false {
					} else {
						z.F.EncSliceStringV(x.TargetWWNs, false, e)
					}
				}
			}
			if yyr785 || yy2arr785 {
				if x.Lun == nil {
					r.EncodeNil()
				} else {
					yy790 := *x.Lun
					yym791 := z.EncBinary()
					_ = yym791
					if false {
					} else {
						r.EncodeInt(int64(yy790))
					}
				}
			} else {
				r.EncodeString(codecSelferC_UTF81234, string("lun"))
				if x.Lun == nil {
					r.EncodeNil()
				} else {
					yy792 := *x.Lun
					yym793 := z.EncBinary()
					_ = yym793
					if false {
					} else {
						r.EncodeInt(int64(yy792))
					}
				}
			}
			if yyr785 || yy2arr785 {
				yym795 := z.EncBinary()
				_ = yym795
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.FSType))
				}
			} else {
				r.EncodeString(codecSelferC_UTF81234, string("fsType"))
				yym796 := z.EncBinary()
				_ = yym796
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.FSType))
				}
			}
			if yyr785 || yy2arr785 {
				if yyq785[3] {
					yym798 := z.EncBinary()
					_ = yym798
					if false {
					} else {
						r.EncodeBool(bool(x.ReadOnly))
					}
				} else {
					r.EncodeBool(false)
				}
			} else {
				if yyq785[3] {
					r.EncodeString(codecSelferC_UTF81234, string("readOnly"))
					yym799 := z.EncBinary()
					_ = yym799
					if false {
					} else {
						r.EncodeBool(bool(x.ReadOnly))
					}
				}
			}
			if yysep785 {
				r.EncodeEnd()
			}
		}
	}
}

func (x *FCVolumeSource) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym800 := z.DecBinary()
	_ = yym800
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		if r.IsContainerType(codecSelferValueTypeMap1234) {
			yyl801 := r.ReadMapStart()
			if yyl801 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromMap(yyl801, d)
			}
		} else if r.IsContainerType(codecSelferValueTypeArray1234) {
			yyl801 := r.ReadArrayStart()
			if yyl801 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromArray(yyl801, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *FCVolumeSource) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys802Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys802Slc
	var yyhl802 bool = l >= 0
	for yyj802 := 0; ; yyj802++ {
		if yyhl802 {
			if yyj802 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		yys802Slc = r.DecodeBytes(yys802Slc, true, true)
		yys802 := string(yys802Slc)
		switch yys802 {
		case "targetWWNs":
			if r.TryDecodeAsNil() {
				x.TargetWWNs = nil
			} else {
				yyv803 := &x.TargetWWNs
				yym804 := z.DecBinary()
				_ = yym804
				if false {
				} else {
					z.F.DecSliceStringX(yyv803, false, d)
				}
			}
		case "lun":
			if r.TryDecodeAsNil() {
				if x.Lun != nil {
					x.Lun = nil
				}
			} else {
				if x.Lun == nil {
					x.Lun = new(int)
				}
				yym806 := z.DecBinary()
				_ = yym806
				if false {
				} else {
					*((*int)(x.Lun)) = int(r.DecodeInt(codecSelferBitsize1234))
				}
			}
		case "fsType":
			if r.TryDecodeAsNil() {
				x.FSType = ""
			} else {
				x.FSType = string(r.DecodeString())
			}
		case "readOnly":
			if r.TryDecodeAsNil() {
				x.ReadOnly = false
			} else {
				x.ReadOnly = bool(r.DecodeBool())
			}
		default:
			z.DecStructFieldNotFound(-1, yys802)
		} // end switch yys802
	} // end for yyj802
	if !yyhl802 {
		r.ReadEnd()
	}
}

func (x *FCVolumeSource) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj809 int
	var yyb809 bool
	var yyhl809 bool = l >= 0
	yyj809++
	if yyhl809 {
		yyb809 = yyj809 > l
	} else {
		yyb809 = r.CheckBreak()
	}
	if yyb809 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.TargetWWNs = nil
	} else {
		yyv810 := &x.TargetWWNs
		yym811 := z.DecBinary()
		_ = yym811
		if false {
		} else {
			z.F.DecSliceStringX(yyv810, false, d)
		}
	}
	yyj809++
	if yyhl809 {
		yyb809 = yyj809 > l
	} else {
		yyb809 = r.CheckBreak()
	}
	if yyb809 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		if x.Lun != nil {
			x.Lun = nil
		}
	} else {
		if x.Lun == nil {
			x.Lun = new(int)
		}
		yym813 := z.DecBinary()
		_ = yym813
		if false {
		} else {
			*((*int)(x.Lun)) = int(r.DecodeInt(codecSelferBitsize1234))
		}
	}
	yyj809++
	if yyhl809 {
		yyb809 = yyj809 > l
	} else {
		yyb809 = r.CheckBreak()
	}
	if yyb809 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.FSType = ""
	} else {
		x.FSType = string(r.DecodeString())
	}
	yyj809++
	if yyhl809 {
		yyb809 = yyj809 > l
	} else {
		yyb809 = r.CheckBreak()
	}
	if yyb809 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.ReadOnly = false
	} else {
		x.ReadOnly = bool(r.DecodeBool())
	}
	for {
		yyj809++
		if yyhl809 {
			yyb809 = yyj809 > l
		} else {
			yyb809 = r.CheckBreak()
		}
		if yyb809 {
			break
		}
		z.DecStructFieldNotFound(yyj809-1, "")
	}
	r.ReadEnd()
}

func (x *ContainerPort) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym816 := z.EncBinary()
		_ = yym816
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep817 := !z.EncBinary()
			yy2arr817 := z.EncBasicHandle().StructToArray
			var yyq817 [5]bool
			_, _, _ = yysep817, yyq817, yy2arr817
			const yyr817 bool = false
			yyq817[0] = x.Name != ""
			yyq817[1] = x.HostPort != 0
			yyq817[3] = x.Protocol != ""
			yyq817[4] = x.HostIP != ""
			if yyr817 || yy2arr817 {
				r.EncodeArrayStart(5)
			} else {
				var yynn817 int = 1
				for _, b := range yyq817 {
					if b {
						yynn817++
					}
				}
				r.EncodeMapStart(yynn817)
			}
			if yyr817 || yy2arr817 {
				if yyq817[0] {
					yym819 := z.EncBinary()
					_ = yym819
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Name))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq817[0] {
					r.EncodeString(codecSelferC_UTF81234, string("name"))
					yym820 := z.EncBinary()
					_ = yym820
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Name))
					}
				}
			}
			if yyr817 || yy2arr817 {
				if yyq817[1] {
					yym822 := z.EncBinary()
					_ = yym822
					if false {
					} else {
						r.EncodeInt(int64(x.HostPort))
					}
				} else {
					r.EncodeInt(0)
				}
			} else {
				if yyq817[1] {
					r.EncodeString(codecSelferC_UTF81234, string("hostPort"))
					yym823 := z.EncBinary()
					_ = yym823
					if false {
					} else {
						r.EncodeInt(int64(x.HostPort))
					}
				}
			}
			if yyr817 || yy2arr817 {
				yym825 := z.EncBinary()
				_ = yym825
				if false {
				} else {
					r.EncodeInt(int64(x.ContainerPort))
				}
			} else {
				r.EncodeString(codecSelferC_UTF81234, string("containerPort"))
				yym826 := z.EncBinary()
				_ = yym826
				if false {
				} else {
					r.EncodeInt(int64(x.ContainerPort))
				}
			}
			if yyr817 || yy2arr817 {
				if yyq817[3] {
					x.Protocol.CodecEncodeSelf(e)
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq817[3] {
					r.EncodeString(codecSelferC_UTF81234, string("protocol"))
					x.Protocol.CodecEncodeSelf(e)
				}
			}
			if yyr817 || yy2arr817 {
				if yyq817[4] {
					yym829 := z.EncBinary()
					_ = yym829
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.HostIP))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq817[4] {
					r.EncodeString(codecSelferC_UTF81234, string("hostIP"))
					yym830 := z.EncBinary()
					_ = yym830
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.HostIP))
					}
				}
			}
			if yysep817 {
				r.EncodeEnd()
			}
		}
	}
}

func (x *ContainerPort) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym831 := z.DecBinary()
	_ = yym831
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		if r.IsContainerType(codecSelferValueTypeMap1234) {
			yyl832 := r.ReadMapStart()
			if yyl832 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromMap(yyl832, d)
			}
		} else if r.IsContainerType(codecSelferValueTypeArray1234) {
			yyl832 := r.ReadArrayStart()
			if yyl832 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromArray(yyl832, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *ContainerPort) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys833Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys833Slc
	var yyhl833 bool = l >= 0
	for yyj833 := 0; ; yyj833++ {
		if yyhl833 {
			if yyj833 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		yys833Slc = r.DecodeBytes(yys833Slc, true, true)
		yys833 := string(yys833Slc)
		switch yys833 {
		case "name":
			if r.TryDecodeAsNil() {
				x.Name = ""
			} else {
				x.Name = string(r.DecodeString())
			}
		case "hostPort":
			if r.TryDecodeAsNil() {
				x.HostPort = 0
			} else {
				x.HostPort = int(r.DecodeInt(codecSelferBitsize1234))
			}
		case "containerPort":
			if r.TryDecodeAsNil() {
				x.ContainerPort = 0
			} else {
				x.ContainerPort = int(r.DecodeInt(codecSelferBitsize1234))
			}
		case "protocol":
			if r.TryDecodeAsNil() {
				x.Protocol = ""
			} else {
				x.Protocol = Protocol(r.DecodeString())
			}
		case "hostIP":
			if r.TryDecodeAsNil() {
				x.HostIP = ""
			} else {
				x.HostIP = string(r.DecodeString())
			}
		default:
			z.DecStructFieldNotFound(-1, yys833)
		} // end switch yys833
	} // end for yyj833
	if !yyhl833 {
		r.ReadEnd()
	}
}

func (x *ContainerPort) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj839 int
	var yyb839 bool
	var yyhl839 bool = l >= 0
	yyj839++
	if yyhl839 {
		yyb839 = yyj839 > l
	} else {
		yyb839 = r.CheckBreak()
	}
	if yyb839 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.Name = ""
	} else {
		x.Name = string(r.DecodeString())
	}
	yyj839++
	if yyhl839 {
		yyb839 = yyj839 > l
	} else {
		yyb839 = r.CheckBreak()
	}
	if yyb839 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.HostPort = 0
	} else {
		x.HostPort = int(r.DecodeInt(codecSelferBitsize1234))
	}
	yyj839++
	if yyhl839 {
		yyb839 = yyj839 > l
	} else {
		yyb839 = r.CheckBreak()
	}
	if yyb839 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.ContainerPort = 0
	} else {
		x.ContainerPort = int(r.DecodeInt(codecSelferBitsize1234))
	}
	yyj839++
	if yyhl839 {
		yyb839 = yyj839 > l
	} else {
		yyb839 = r.CheckBreak()
	}
	if yyb839 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.Protocol = ""
	} else {
		x.Protocol = Protocol(r.DecodeString())
	}
	yyj839++
	if yyhl839 {
		yyb839 = yyj839 > l
	} else {
		yyb839 = r.CheckBreak()
	}
	if yyb839 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.HostIP = ""
	} else {
		x.HostIP = string(r.DecodeString())
	}
	for {
		yyj839++
		if yyhl839 {
			yyb839 = yyj839 > l
		} else {
			yyb839 = r.CheckBreak()
		}
		if yyb839 {
			break
		}
		z.DecStructFieldNotFound(yyj839-1, "")
	}
	r.ReadEnd()
}

func (x *VolumeMount) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym845 := z.EncBinary()
		_ = yym845
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep846 := !z.EncBinary()
			yy2arr846 := z.EncBasicHandle().StructToArray
			var yyq846 [3]bool
			_, _, _ = yysep846, yyq846, yy2arr846
			const yyr846 bool = false
			yyq846[1] = x.ReadOnly != false
			if yyr846 || yy2arr846 {
				r.EncodeArrayStart(3)
			} else {
				var yynn846 int = 2
				for _, b := range yyq846 {
					if b {
						yynn846++
					}
				}
				r.EncodeMapStart(yynn846)
			}
			if yyr846 || yy2arr846 {
				yym848 := z.EncBinary()
				_ = yym848
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.Name))
				}
			} else {
				r.EncodeString(codecSelferC_UTF81234, string("name"))
				yym849 := z.EncBinary()
				_ = yym849
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.Name))
				}
			}
			if yyr846 || yy2arr846 {
				if yyq846[1] {
					yym851 := z.EncBinary()
					_ = yym851
					if false {
					} else {
						r.EncodeBool(bool(x.ReadOnly))
					}
				} else {
					r.EncodeBool(false)
				}
			} else {
				if yyq846[1] {
					r.EncodeString(codecSelferC_UTF81234, string("readOnly"))
					yym852 := z.EncBinary()
					_ = yym852
					if false {
					} else {
						r.EncodeBool(bool(x.ReadOnly))
					}
				}
			}
			if yyr846 || yy2arr846 {
				yym854 := z.EncBinary()
				_ = yym854
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.MountPath))
				}
			} else {
				r.EncodeString(codecSelferC_UTF81234, string("mountPath"))
				yym855 := z.EncBinary()
				_ = yym855
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.MountPath))
				}
			}
			if yysep846 {
				r.EncodeEnd()
			}
		}
	}
}

func (x *VolumeMount) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym856 := z.DecBinary()
	_ = yym856
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		if r.IsContainerType(codecSelferValueTypeMap1234) {
			yyl857 := r.ReadMapStart()
			if yyl857 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromMap(yyl857, d)
			}
		} else if r.IsContainerType(codecSelferValueTypeArray1234) {
			yyl857 := r.ReadArrayStart()
			if yyl857 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromArray(yyl857, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *VolumeMount) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys858Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys858Slc
	var yyhl858 bool = l >= 0
	for yyj858 := 0; ; yyj858++ {
		if yyhl858 {
			if yyj858 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		yys858Slc = r.DecodeBytes(yys858Slc, true, true)
		yys858 := string(yys858Slc)
		switch yys858 {
		case "name":
			if r.TryDecodeAsNil() {
				x.Name = ""
			} else {
				x.Name = string(r.DecodeString())
			}
		case "readOnly":
			if r.TryDecodeAsNil() {
				x.ReadOnly = false
			} else {
				x.ReadOnly = bool(r.DecodeBool())
			}
		case "mountPath":
			if r.TryDecodeAsNil() {
				x.MountPath = ""
			} else {
				x.MountPath = string(r.DecodeString())
			}
		default:
			z.DecStructFieldNotFound(-1, yys858)
		} // end switch yys858
	} // end for yyj858
	if !yyhl858 {
		r.ReadEnd()
	}
}

func (x *VolumeMount) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj862 int
	var yyb862 bool
	var yyhl862 bool = l >= 0
	yyj862++
	if yyhl862 {
		yyb862 = yyj862 > l
	} else {
		yyb862 = r.CheckBreak()
	}
	if yyb862 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.Name = ""
	} else {
		x.Name = string(r.DecodeString())
	}
	yyj862++
	if yyhl862 {
		yyb862 = yyj862 > l
	} else {
		yyb862 = r.CheckBreak()
	}
	if yyb862 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.ReadOnly = false
	} else {
		x.ReadOnly = bool(r.DecodeBool())
	}
	yyj862++
	if yyhl862 {
		yyb862 = yyj862 > l
	} else {
		yyb862 = r.CheckBreak()
	}
	if yyb862 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.MountPath = ""
	} else {
		x.MountPath = string(r.DecodeString())
	}
	for {
		yyj862++
		if yyhl862 {
			yyb862 = yyj862 > l
		} else {
			yyb862 = r.CheckBreak()
		}
		if yyb862 {
			break
		}
		z.DecStructFieldNotFound(yyj862-1, "")
	}
	r.ReadEnd()
}

func (x *EnvVar) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym866 := z.EncBinary()
		_ = yym866
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep867 := !z.EncBinary()
			yy2arr867 := z.EncBasicHandle().StructToArray
			var yyq867 [3]bool
			_, _, _ = yysep867, yyq867, yy2arr867
			const yyr867 bool = false
			yyq867[1] = x.Value != ""
			yyq867[2] = x.ValueFrom != nil
			if yyr867 || yy2arr867 {
				r.EncodeArrayStart(3)
			} else {
				var yynn867 int = 1
				for _, b := range yyq867 {
					if b {
						yynn867++
					}
				}
				r.EncodeMapStart(yynn867)
			}
			if yyr867 || yy2arr867 {
				yym869 := z.EncBinary()
				_ = yym869
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.Name))
				}
			} else {
				r.EncodeString(codecSelferC_UTF81234, string("name"))
				yym870 := z.EncBinary()
				_ = yym870
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.Name))
				}
			}
			if yyr867 || yy2arr867 {
				if yyq867[1] {
					yym872 := z.EncBinary()
					_ = yym872
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Value))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq867[1] {
					r.EncodeString(codecSelferC_UTF81234, string("value"))
					yym873 := z.EncBinary()
					_ = yym873
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Value))
					}
				}
			}
			if yyr867 || yy2arr867 {
				if yyq867[2] {
					if x.ValueFrom == nil {
						r.EncodeNil()
					} else {
						x.ValueFrom.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq867[2] {
					r.EncodeString(codecSelferC_UTF81234, string("valueFrom"))
					if x.ValueFrom == nil {
						r.EncodeNil()
					} else {
						x.ValueFrom.CodecEncodeSelf(e)
					}
				}
			}
			if yysep867 {
				r.EncodeEnd()
			}
		}
	}
}

func (x *EnvVar) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym875 := z.DecBinary()
	_ = yym875
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		if r.IsContainerType(codecSelferValueTypeMap1234) {
			yyl876 := r.ReadMapStart()
			if yyl876 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromMap(yyl876, d)
			}
		} else if r.IsContainerType(codecSelferValueTypeArray1234) {
			yyl876 := r.ReadArrayStart()
			if yyl876 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromArray(yyl876, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *EnvVar) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys877Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys877Slc
	var yyhl877 bool = l >= 0
	for yyj877 := 0; ; yyj877++ {
		if yyhl877 {
			if yyj877 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		yys877Slc = r.DecodeBytes(yys877Slc, true, true)
		yys877 := string(yys877Slc)
		switch yys877 {
		case "name":
			if r.TryDecodeAsNil() {
				x.Name = ""
			} else {
				x.Name = string(r.DecodeString())
			}
		case "value":
			if r.TryDecodeAsNil() {
				x.Value = ""
			} else {
				x.Value = string(r.DecodeString())
			}
		case "valueFrom":
			if r.TryDecodeAsNil() {
				if x.ValueFrom != nil {
					x.ValueFrom = nil
				}
			} else {
				if x.ValueFrom == nil {
					x.ValueFrom = new(EnvVarSource)
				}
				x.ValueFrom.CodecDecodeSelf(d)
			}
		default:
			z.DecStructFieldNotFound(-1, yys877)
		} // end switch yys877
	} // end for yyj877
	if !yyhl877 {
		r.ReadEnd()
	}
}

func (x *EnvVar) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj881 int
	var yyb881 bool
	var yyhl881 bool = l >= 0
	yyj881++
	if yyhl881 {
		yyb881 = yyj881 > l
	} else {
		yyb881 = r.CheckBreak()
	}
	if yyb881 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.Name = ""
	} else {
		x.Name = string(r.DecodeString())
	}
	yyj881++
	if yyhl881 {
		yyb881 = yyj881 > l
	} else {
		yyb881 = r.CheckBreak()
	}
	if yyb881 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.Value = ""
	} else {
		x.Value = string(r.DecodeString())
	}
	yyj881++
	if yyhl881 {
		yyb881 = yyj881 > l
	} else {
		yyb881 = r.CheckBreak()
	}
	if yyb881 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		if x.ValueFrom != nil {
			x.ValueFrom = nil
		}
	} else {
		if x.ValueFrom == nil {
			x.ValueFrom = new(EnvVarSource)
		}
		x.ValueFrom.CodecDecodeSelf(d)
	}
	for {
		yyj881++
		if yyhl881 {
			yyb881 = yyj881 > l
		} else {
			yyb881 = r.CheckBreak()
		}
		if yyb881 {
			break
		}
		z.DecStructFieldNotFound(yyj881-1, "")
	}
	r.ReadEnd()
}

func (x *EnvVarSource) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym885 := z.EncBinary()
		_ = yym885
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep886 := !z.EncBinary()
			yy2arr886 := z.EncBasicHandle().StructToArray
			var yyq886 [1]bool
			_, _, _ = yysep886, yyq886, yy2arr886
			const yyr886 bool = false
			if yyr886 || yy2arr886 {
				r.EncodeArrayStart(1)
			} else {
				var yynn886 int = 1
				for _, b := range yyq886 {
					if b {
						yynn886++
					}
				}
				r.EncodeMapStart(yynn886)
			}
			if yyr886 || yy2arr886 {
				if x.FieldRef == nil {
					r.EncodeNil()
				} else {
					x.FieldRef.CodecEncodeSelf(e)
				}
			} else {
				r.EncodeString(codecSelferC_UTF81234, string("fieldRef"))
				if x.FieldRef == nil {
					r.EncodeNil()
				} else {
					x.FieldRef.CodecEncodeSelf(e)
				}
			}
			if yysep886 {
				r.EncodeEnd()
			}
		}
	}
}

func (x *EnvVarSource) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym888 := z.DecBinary()
	_ = yym888
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		if r.IsContainerType(codecSelferValueTypeMap1234) {
			yyl889 := r.ReadMapStart()
			if yyl889 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromMap(yyl889, d)
			}
		} else if r.IsContainerType(codecSelferValueTypeArray1234) {
			yyl889 := r.ReadArrayStart()
			if yyl889 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromArray(yyl889, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *EnvVarSource) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys890Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys890Slc
	var yyhl890 bool = l >= 0
	for yyj890 := 0; ; yyj890++ {
		if yyhl890 {
			if yyj890 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		yys890Slc = r.DecodeBytes(yys890Slc, true, true)
		yys890 := string(yys890Slc)
		switch yys890 {
		case "fieldRef":
			if r.TryDecodeAsNil() {
				if x.FieldRef != nil {
					x.FieldRef = nil
				}
			} else {
				if x.FieldRef == nil {
					x.FieldRef = new(ObjectFieldSelector)
				}
				x.FieldRef.CodecDecodeSelf(d)
			}
		default:
			z.DecStructFieldNotFound(-1, yys890)
		} // end switch yys890
	} // end for yyj890
	if !yyhl890 {
		r.ReadEnd()
	}
}

func (x *EnvVarSource) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj892 int
	var yyb892 bool
	var yyhl892 bool = l >= 0
	yyj892++
	if yyhl892 {
		yyb892 = yyj892 > l
	} else {
		yyb892 = r.CheckBreak()
	}
	if yyb892 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		if x.FieldRef != nil {
			x.FieldRef = nil
		}
	} else {
		if x.FieldRef == nil {
			x.FieldRef = new(ObjectFieldSelector)
		}
		x.FieldRef.CodecDecodeSelf(d)
	}
	for {
		yyj892++
		if yyhl892 {
			yyb892 = yyj892 > l
		} else {
			yyb892 = r.CheckBreak()
		}
		if yyb892 {
			break
		}
		z.DecStructFieldNotFound(yyj892-1, "")
	}
	r.ReadEnd()
}

func (x *ObjectFieldSelector) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym894 := z.EncBinary()
		_ = yym894
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep895 := !z.EncBinary()
			yy2arr895 := z.EncBasicHandle().StructToArray
			var yyq895 [2]bool
			_, _, _ = yysep895, yyq895, yy2arr895
			const yyr895 bool = false
			yyq895[0] = x.APIVersion != ""
			if yyr895 || yy2arr895 {
				r.EncodeArrayStart(2)
			} else {
				var yynn895 int = 1
				for _, b := range yyq895 {
					if b {
						yynn895++
					}
				}
				r.EncodeMapStart(yynn895)
			}
			if yyr895 || yy2arr895 {
				if yyq895[0] {
					yym897 := z.EncBinary()
					_ = yym897
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq895[0] {
					r.EncodeString(codecSelferC_UTF81234, string("apiVersion"))
					yym898 := z.EncBinary()
					_ = yym898
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				}
			}
			if yyr895 || yy2arr895 {
				yym900 := z.EncBinary()
				_ = yym900
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.FieldPath))
				}
			} else {
				r.EncodeString(codecSelferC_UTF81234, string("fieldPath"))
				yym901 := z.EncBinary()
				_ = yym901
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.FieldPath))
				}
			}
			if yysep895 {
				r.EncodeEnd()
			}
		}
	}
}

func (x *ObjectFieldSelector) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym902 := z.DecBinary()
	_ = yym902
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		if r.IsContainerType(codecSelferValueTypeMap1234) {
			yyl903 := r.ReadMapStart()
			if yyl903 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromMap(yyl903, d)
			}
		} else if r.IsContainerType(codecSelferValueTypeArray1234) {
			yyl903 := r.ReadArrayStart()
			if yyl903 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromArray(yyl903, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *ObjectFieldSelector) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys904Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys904Slc
	var yyhl904 bool = l >= 0
	for yyj904 := 0; ; yyj904++ {
		if yyhl904 {
			if yyj904 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		yys904Slc = r.DecodeBytes(yys904Slc, true, true)
		yys904 := string(yys904Slc)
		switch yys904 {
		case "apiVersion":
			if r.TryDecodeAsNil() {
				x.APIVersion = ""
			} else {
				x.APIVersion = string(r.DecodeString())
			}
		case "fieldPath":
			if r.TryDecodeAsNil() {
				x.FieldPath = ""
			} else {
				x.FieldPath = string(r.DecodeString())
			}
		default:
			z.DecStructFieldNotFound(-1, yys904)
		} // end switch yys904
	} // end for yyj904
	if !yyhl904 {
		r.ReadEnd()
	}
}

func (x *ObjectFieldSelector) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj907 int
	var yyb907 bool
	var yyhl907 bool = l >= 0
	yyj907++
	if yyhl907 {
		yyb907 = yyj907 > l
	} else {
		yyb907 = r.CheckBreak()
	}
	if yyb907 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.APIVersion = ""
	} else {
		x.APIVersion = string(r.DecodeString())
	}
	yyj907++
	if yyhl907 {
		yyb907 = yyj907 > l
	} else {
		yyb907 = r.CheckBreak()
	}
	if yyb907 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.FieldPath = ""
	} else {
		x.FieldPath = string(r.DecodeString())
	}
	for {
		yyj907++
		if yyhl907 {
			yyb907 = yyj907 > l
		} else {
			yyb907 = r.CheckBreak()
		}
		if yyb907 {
			break
		}
		z.DecStructFieldNotFound(yyj907-1, "")
	}
	r.ReadEnd()
}

func (x *HTTPGetAction) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym910 := z.EncBinary()
		_ = yym910
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep911 := !z.EncBinary()
			yy2arr911 := z.EncBasicHandle().StructToArray
			var yyq911 [4]bool
			_, _, _ = yysep911, yyq911, yy2arr911
			const yyr911 bool = false
			yyq911[0] = x.Path != ""
			yyq911[2] = x.Host != ""
			yyq911[3] = x.Scheme != ""
			if yyr911 || yy2arr911 {
				r.EncodeArrayStart(4)
			} else {
				var yynn911 int = 1
				for _, b := range yyq911 {
					if b {
						yynn911++
					}
				}
				r.EncodeMapStart(yynn911)
			}
			if yyr911 || yy2arr911 {
				if yyq911[0] {
					yym913 := z.EncBinary()
					_ = yym913
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Path))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq911[0] {
					r.EncodeString(codecSelferC_UTF81234, string("path"))
					yym914 := z.EncBinary()
					_ = yym914
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Path))
					}
				}
			}
			if yyr911 || yy2arr911 {
				yy916 := &x.Port
				yym917 := z.EncBinary()
				_ = yym917
				if false {
				} else if z.HasExtensions() && z.EncExt(yy916) {
				} else if !yym917 && z.IsJSONHandle() {
					z.EncJSONMarshal(yy916)
				} else {
					z.EncFallback(yy916)
				}
			} else {
				r.EncodeString(codecSelferC_UTF81234, string("port"))
				yy918 := &x.Port
				yym919 := z.EncBinary()
				_ = yym919
				if false {
				} else if z.HasExtensions() && z.EncExt(yy918) {
				} else if !yym919 && z.IsJSONHandle() {
					z.EncJSONMarshal(yy918)
				} else {
					z.EncFallback(yy918)
				}
			}
			if yyr911 || yy2arr911 {
				if yyq911[2] {
					yym921 := z.EncBinary()
					_ = yym921
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Host))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq911[2] {
					r.EncodeString(codecSelferC_UTF81234, string("host"))
					yym922 := z.EncBinary()
					_ = yym922
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Host))
					}
				}
			}
			if yyr911 || yy2arr911 {
				if yyq911[3] {
					x.Scheme.CodecEncodeSelf(e)
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq911[3] {
					r.EncodeString(codecSelferC_UTF81234, string("scheme"))
					x.Scheme.CodecEncodeSelf(e)
				}
			}
			if yysep911 {
				r.EncodeEnd()
			}
		}
	}
}

func (x *HTTPGetAction) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym924 := z.DecBinary()
	_ = yym924
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		if r.IsContainerType(codecSelferValueTypeMap1234) {
			yyl925 := r.ReadMapStart()
			if yyl925 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromMap(yyl925, d)
			}
		} else if r.IsContainerType(codecSelferValueTypeArray1234) {
			yyl925 := r.ReadArrayStart()
			if yyl925 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromArray(yyl925, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *HTTPGetAction) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys926Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys926Slc
	var yyhl926 bool = l >= 0
	for yyj926 := 0; ; yyj926++ {
		if yyhl926 {
			if yyj926 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		yys926Slc = r.DecodeBytes(yys926Slc, true, true)
		yys926 := string(yys926Slc)
		switch yys926 {
		case "path":
			if r.TryDecodeAsNil() {
				x.Path = ""
			} else {
				x.Path = string(r.DecodeString())
			}
		case "port":
			if r.TryDecodeAsNil() {
				x.Port = pkg5_util.IntOrString{}
			} else {
				yyv928 := &x.Port
				yym929 := z.DecBinary()
				_ = yym929
				if false {
				} else if z.HasExtensions() && z.DecExt(yyv928) {
				} else if !yym929 && z.IsJSONHandle() {
					z.DecJSONUnmarshal(yyv928)
				} else {
					z.DecFallback(yyv928, false)
				}
			}
		case "host":
			if r.TryDecodeAsNil() {
				x.Host = ""
			} else {
				x.Host = string(r.DecodeString())
			}
		case "scheme":
			if r.TryDecodeAsNil() {
				x.Scheme = ""
			} else {
				x.Scheme = URIScheme(r.DecodeString())
			}
		default:
			z.DecStructFieldNotFound(-1, yys926)
		} // end switch yys926
	} // end for yyj926
	if !yyhl926 {
		r.ReadEnd()
	}
}

func (x *HTTPGetAction) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj932 int
	var yyb932 bool
	var yyhl932 bool = l >= 0
	yyj932++
	if yyhl932 {
		yyb932 = yyj932 > l
	} else {
		yyb932 = r.CheckBreak()
	}
	if yyb932 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.Path = ""
	} else {
		x.Path = string(r.DecodeString())
	}
	yyj932++
	if yyhl932 {
		yyb932 = yyj932 > l
	} else {
		yyb932 = r.CheckBreak()
	}
	if yyb932 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.Port = pkg5_util.IntOrString{}
	} else {
		yyv934 := &x.Port
		yym935 := z.DecBinary()
		_ = yym935
		if false {
		} else if z.HasExtensions() && z.DecExt(yyv934) {
		} else if !yym935 && z.IsJSONHandle() {
			z.DecJSONUnmarshal(yyv934)
		} else {
			z.DecFallback(yyv934, false)
		}
	}
	yyj932++
	if yyhl932 {
		yyb932 = yyj932 > l
	} else {
		yyb932 = r.CheckBreak()
	}
	if yyb932 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.Host = ""
	} else {
		x.Host = string(r.DecodeString())
	}
	yyj932++
	if yyhl932 {
		yyb932 = yyj932 > l
	} else {
		yyb932 = r.CheckBreak()
	}
	if yyb932 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.Scheme = ""
	} else {
		x.Scheme = URIScheme(r.DecodeString())
	}
	for {
		yyj932++
		if yyhl932 {
			yyb932 = yyj932 > l
		} else {
			yyb932 = r.CheckBreak()
		}
		if yyb932 {
			break
		}
		z.DecStructFieldNotFound(yyj932-1, "")
	}
	r.ReadEnd()
}

func (x URIScheme) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	yym938 := z.EncBinary()
	_ = yym938
	if false {
	} else if z.HasExtensions() && z.EncExt(x) {
	} else {
		r.EncodeString(codecSelferC_UTF81234, string(x))
	}
}

func (x *URIScheme) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym939 := z.DecBinary()
	_ = yym939
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		*((*string)(x)) = r.DecodeString()
	}
}

func (x *TCPSocketAction) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym940 := z.EncBinary()
		_ = yym940
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep941 := !z.EncBinary()
			yy2arr941 := z.EncBasicHandle().StructToArray
			var yyq941 [1]bool
			_, _, _ = yysep941, yyq941, yy2arr941
			const yyr941 bool = false
			if yyr941 || yy2arr941 {
				r.EncodeArrayStart(1)
			} else {
				var yynn941 int = 1
				for _, b := range yyq941 {
					if b {
						yynn941++
					}
				}
				r.EncodeMapStart(yynn941)
			}
			if yyr941 || yy2arr941 {
				yy943 := &x.Port
				yym944 := z.EncBinary()
				_ = yym944
				if false {
				} else if z.HasExtensions() && z.EncExt(yy943) {
				} else if !yym944 && z.IsJSONHandle() {
					z.EncJSONMarshal(yy943)
				} else {
					z.EncFallback(yy943)
				}
			} else {
				r.EncodeString(codecSelferC_UTF81234, string("port"))
				yy945 := &x.Port
				yym946 := z.EncBinary()
				_ = yym946
				if false {
				} else if z.HasExtensions() && z.EncExt(yy945) {
				} else if !yym946 && z.IsJSONHandle() {
					z.EncJSONMarshal(yy945)
				} else {
					z.EncFallback(yy945)
				}
			}
			if yysep941 {
				r.EncodeEnd()
			}
		}
	}
}

func (x *TCPSocketAction) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym947 := z.DecBinary()
	_ = yym947
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		if r.IsContainerType(codecSelferValueTypeMap1234) {
			yyl948 := r.ReadMapStart()
			if yyl948 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromMap(yyl948, d)
			}
		} else if r.IsContainerType(codecSelferValueTypeArray1234) {
			yyl948 := r.ReadArrayStart()
			if yyl948 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromArray(yyl948, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *TCPSocketAction) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys949Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys949Slc
	var yyhl949 bool = l >= 0
	for yyj949 := 0; ; yyj949++ {
		if yyhl949 {
			if yyj949 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		yys949Slc = r.DecodeBytes(yys949Slc, true, true)
		yys949 := string(yys949Slc)
		switch yys949 {
		case "port":
			if r.TryDecodeAsNil() {
				x.Port = pkg5_util.IntOrString{}
			} else {
				yyv950 := &x.Port
				yym951 := z.DecBinary()
				_ = yym951
				if false {
				} else if z.HasExtensions() && z.DecExt(yyv950) {
				} else if !yym951 && z.IsJSONHandle() {
					z.DecJSONUnmarshal(yyv950)
				} else {
					z.DecFallback(yyv950, false)
				}
			}
		default:
			z.DecStructFieldNotFound(-1, yys949)
		} // end switch yys949
	} // end for yyj949
	if !yyhl949 {
		r.ReadEnd()
	}
}

func (x *TCPSocketAction) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj952 int
	var yyb952 bool
	var yyhl952 bool = l >= 0
	yyj952++
	if yyhl952 {
		yyb952 = yyj952 > l
	} else {
		yyb952 = r.CheckBreak()
	}
	if yyb952 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.Port = pkg5_util.IntOrString{}
	} else {
		yyv953 := &x.Port
		yym954 := z.DecBinary()
		_ = yym954
		if false {
		} else if z.HasExtensions() && z.DecExt(yyv953) {
		} else if !yym954 && z.IsJSONHandle() {
			z.DecJSONUnmarshal(yyv953)
		} else {
			z.DecFallback(yyv953, false)
		}
	}
	for {
		yyj952++
		if yyhl952 {
			yyb952 = yyj952 > l
		} else {
			yyb952 = r.CheckBreak()
		}
		if yyb952 {
			break
		}
		z.DecStructFieldNotFound(yyj952-1, "")
	}
	r.ReadEnd()
}

func (x *ExecAction) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym955 := z.EncBinary()
		_ = yym955
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep956 := !z.EncBinary()
			yy2arr956 := z.EncBasicHandle().StructToArray
			var yyq956 [1]bool
			_, _, _ = yysep956, yyq956, yy2arr956
			const yyr956 bool = false
			yyq956[0] = len(x.Command) != 0
			if yyr956 || yy2arr956 {
				r.EncodeArrayStart(1)
			} else {
				var yynn956 int = 0
				for _, b := range yyq956 {
					if b {
						yynn956++
					}
				}
				r.EncodeMapStart(yynn956)
			}
			if yyr956 || yy2arr956 {
				if yyq956[0] {
					if x.Command == nil {
						r.EncodeNil()
					} else {
						yym958 := z.EncBinary()
						_ = yym958
						if false {
						} else {
							z.F.EncSliceStringV(x.Command, false, e)
						}
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq956[0] {
					r.EncodeString(codecSelferC_UTF81234, string("command"))
					if x.Command == nil {
						r.EncodeNil()
					} else {
						yym959 := z.EncBinary()
						_ = yym959
						if false {
						} else {
							z.F.EncSliceStringV(x.Command, false, e)
						}
					}
				}
			}
			if yysep956 {
				r.EncodeEnd()
			}
		}
	}
}

func (x *ExecAction) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym960 := z.DecBinary()
	_ = yym960
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		if r.IsContainerType(codecSelferValueTypeMap1234) {
			yyl961 := r.ReadMapStart()
			if yyl961 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromMap(yyl961, d)
			}
		} else if r.IsContainerType(codecSelferValueTypeArray1234) {
			yyl961 := r.ReadArrayStart()
			if yyl961 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromArray(yyl961, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *ExecAction) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys962Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys962Slc
	var yyhl962 bool = l >= 0
	for yyj962 := 0; ; yyj962++ {
		if yyhl962 {
			if yyj962 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		yys962Slc = r.DecodeBytes(yys962Slc, true, true)
		yys962 := string(yys962Slc)
		switch yys962 {
		case "command":
			if r.TryDecodeAsNil() {
				x.Command = nil
			} else {
				yyv963 := &x.Command
				yym964 := z.DecBinary()
				_ = yym964
				if false {
				} else {
					z.F.DecSliceStringX(yyv963, false, d)
				}
			}
		default:
			z.DecStructFieldNotFound(-1, yys962)
		} // end switch yys962
	} // end for yyj962
	if !yyhl962 {
		r.ReadEnd()
	}
}

func (x *ExecAction) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj965 int
	var yyb965 bool
	var yyhl965 bool = l >= 0
	yyj965++
	if yyhl965 {
		yyb965 = yyj965 > l
	} else {
		yyb965 = r.CheckBreak()
	}
	if yyb965 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.Command = nil
	} else {
		yyv966 := &x.Command
		yym967 := z.DecBinary()
		_ = yym967
		if false {
		} else {
			z.F.DecSliceStringX(yyv966, false, d)
		}
	}
	for {
		yyj965++
		if yyhl965 {
			yyb965 = yyj965 > l
		} else {
			yyb965 = r.CheckBreak()
		}
		if yyb965 {
			break
		}
		z.DecStructFieldNotFound(yyj965-1, "")
	}
	r.ReadEnd()
}

func (x *Probe) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym968 := z.EncBinary()
		_ = yym968
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep969 := !z.EncBinary()
			yy2arr969 := z.EncBasicHandle().StructToArray
			var yyq969 [8]bool
			_, _, _ = yysep969, yyq969, yy2arr969
			const yyr969 bool = false
			yyq969[0] = x.Handler.Exec != nil && x.Exec != nil
			yyq969[1] = x.Handler.HTTPGet != nil && x.HTTPGet != nil
			yyq969[2] = x.Handler.TCPSocket != nil && x.TCPSocket != nil
			yyq969[3] = x.InitialDelaySeconds != 0
			yyq969[4] = x.TimeoutSeconds != 0
			yyq969[5] = x.PeriodSeconds != 0
			yyq969[6] = x.SuccessThreshold != 0
			yyq969[7] = x.FailureThreshold != 0
			if yyr969 || yy2arr969 {
				r.EncodeArrayStart(8)
			} else {
				var yynn969 int = 0
				for _, b := range yyq969 {
					if b {
						yynn969++
					}
				}
				r.EncodeMapStart(yynn969)
			}
			var yyn970 bool
			if x.Handler.Exec == nil {
				yyn970 = true
				goto LABEL970
			}
		LABEL970:
			if yyr969 || yy2arr969 {
				if yyn970 {
					r.EncodeNil()
				} else {
					if yyq969[0] {
						if x.Exec == nil {
							r.EncodeNil()
						} else {
							x.Exec.CodecEncodeSelf(e)
						}
					} else {
						r.EncodeNil()
					}
				}
			} else {
				if yyq969[0] {
					r.EncodeString(codecSelferC_UTF81234, string("exec"))
					if yyn970 {
						r.EncodeNil()
					} else {
						if x.Exec == nil {
							r.EncodeNil()
						} else {
							x.Exec.CodecEncodeSelf(e)
						}
					}
				}
			}
			var yyn971 bool
			if x.Handler.HTTPGet == nil {
				yyn971 = true
				goto LABEL971
			}
		LABEL971:
			if yyr969 || yy2arr969 {
				if yyn971 {
					r.EncodeNil()
				} else {
					if yyq969[1] {
						if x.HTTPGet == nil {
							r.EncodeNil()
						} else {
							x.HTTPGet.CodecEncodeSelf(e)
						}
					} else {
						r.EncodeNil()
					}
				}
			} else {
				if yyq969[1] {
					r.EncodeString(codecSelferC_UTF81234, string("httpGet"))
					if yyn971 {
						r.EncodeNil()
					} else {
						if x.HTTPGet == nil {
							r.EncodeNil()
						} else {
							x.HTTPGet.CodecEncodeSelf(e)
						}
					}
				}
			}
			var yyn972 bool
			if x.Handler.TCPSocket == nil {
				yyn972 = true
				goto LABEL972
			}
		LABEL972:
			if yyr969 || yy2arr969 {
				if yyn972 {
					r.EncodeNil()
				} else {
					if yyq969[2] {
						if x.TCPSocket == nil {
							r.EncodeNil()
						} else {
							x.TCPSocket.CodecEncodeSelf(e)
						}
					} else {
						r.EncodeNil()
					}
				}
			} else {
				if yyq969[2] {
					r.EncodeString(codecSelferC_UTF81234, string("tcpSocket"))
					if yyn972 {
						r.EncodeNil()
					} else {
						if x.TCPSocket == nil {
							r.EncodeNil()
						} else {
							x.TCPSocket.CodecEncodeSelf(e)
						}
					}
				}
			}
			if yyr969 || yy2arr969 {
				if yyq969[3] {
					yym974 := z.EncBinary()
					_ = yym974
					if false {
					} else {
						r.EncodeInt(int64(x.InitialDelaySeconds))
					}
				} else {
					r.EncodeInt(0)
				}
			} else {
				if yyq969[3] {
					r.EncodeString(codecSelferC_UTF81234, string("initialDelaySeconds"))
					yym975 := z.EncBinary()
					_ = yym975
					if false {
					} else {
						r.EncodeInt(int64(x.InitialDelaySeconds))
					}
				}
			}
			if yyr969 || yy2arr969 {
				if yyq969[4] {
					yym977 := z.EncBinary()
					_ = yym977
					if false {
					} else {
						r.EncodeInt(int64(x.TimeoutSeconds))
					}
				} else {
					r.EncodeInt(0)
				}
			} else {
				if yyq969[4] {
					r.EncodeString(codecSelferC_UTF81234, string("timeoutSeconds"))
					yym978 := z.EncBinary()
					_ = yym978
					if false {
					} else {
						r.EncodeInt(int64(x.TimeoutSeconds))
					}
				}
			}
			if yyr969 || yy2arr969 {
				if yyq969[5] {
					yym980 := z.EncBinary()
					_ = yym980
					if false {
					} else {
						r.EncodeInt(int64(x.PeriodSeconds))
					}
				} else {
					r.EncodeInt(0)
				}
			} else {
				if yyq969[5] {
					r.EncodeString(codecSelferC_UTF81234, string("periodSeconds"))
					yym981 := z.EncBinary()
					_ = yym981
					if false {
					} else {
						r.EncodeInt(int64(x.PeriodSeconds))
					}
				}
			}
			if yyr969 || yy2arr969 {
				if yyq969[6] {
					yym983 := z.EncBinary()
					_ = yym983
					if false {
					} else {
						r.EncodeInt(int64(x.SuccessThreshold))
					}
				} else {
					r.EncodeInt(0)
				}
			} else {
				if yyq969[6] {
					r.EncodeString(codecSelferC_UTF81234, string("successThreshold"))
					yym984 := z.EncBinary()
					_ = yym984
					if false {
					} else {
						r.EncodeInt(int64(x.SuccessThreshold))
					}
				}
			}
			if yyr969 || yy2arr969 {
				if yyq969[7] {
					yym986 := z.EncBinary()
					_ = yym986
					if false {
					} else {
						r.EncodeInt(int64(x.FailureThreshold))
					}
				} else {
					r.EncodeInt(0)
				}
			} else {
				if yyq969[7] {
					r.EncodeString(codecSelferC_UTF81234, string("failureThreshold"))
					yym987 := z.EncBinary()
					_ = yym987
					if false {
					} else {
						r.EncodeInt(int64(x.FailureThreshold))
					}
				}
			}
			if yysep969 {
				r.EncodeEnd()
			}
		}
	}
}

func (x *Probe) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym988 := z.DecBinary()
	_ = yym988
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		if r.IsContainerType(codecSelferValueTypeMap1234) {
			yyl989 := r.ReadMapStart()
			if yyl989 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromMap(yyl989, d)
			}
		} else if r.IsContainerType(codecSelferValueTypeArray1234) {
			yyl989 := r.ReadArrayStart()
			if yyl989 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromArray(yyl989, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *Probe) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys990Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys990Slc
	var yyhl990 bool = l >= 0
	for yyj990 := 0; ; yyj990++ {
		if yyhl990 {
			if yyj990 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		yys990Slc = r.DecodeBytes(yys990Slc, true, true)
		yys990 := string(yys990Slc)
		switch yys990 {
		case "exec":
			if x.Handler.Exec == nil {
				x.Handler.Exec = new(ExecAction)
			}
			if r.TryDecodeAsNil() {
				if x.Exec != nil {
					x.Exec = nil
				}
			} else {
				if x.Exec == nil {
					x.Exec = new(ExecAction)
				}
				x.Exec.CodecDecodeSelf(d)
			}
		case "httpGet":
			if x.Handler.HTTPGet == nil {
				x.Handler.HTTPGet = new(HTTPGetAction)
			}
			if r.TryDecodeAsNil() {
				if x.HTTPGet != nil {
					x.HTTPGet = nil
				}
			} else {
				if x.HTTPGet == nil {
					x.HTTPGet = new(HTTPGetAction)
				}
				x.HTTPGet.CodecDecodeSelf(d)
			}
		case "tcpSocket":
			if x.Handler.TCPSocket == nil {
				x.Handler.TCPSocket = new(TCPSocketAction)
			}
			if r.TryDecodeAsNil() {
				if x.TCPSocket != nil {
					x.TCPSocket = nil
				}
			} else {
				if x.TCPSocket == nil {
					x.TCPSocket = new(TCPSocketAction)
				}
				x.TCPSocket.CodecDecodeSelf(d)
			}
		case "initialDelaySeconds":
			if r.TryDecodeAsNil() {
				x.InitialDelaySeconds = 0
			} else {
				x.InitialDelaySeconds = int64(r.DecodeInt(64))
			}
		case "timeoutSeconds":
			if r.TryDecodeAsNil() {
				x.TimeoutSeconds = 0
			} else {
				x.TimeoutSeconds = int64(r.DecodeInt(64))
			}
		case "periodSeconds":
			if r.TryDecodeAsNil() {
				x.PeriodSeconds = 0
			} else {
				x.PeriodSeconds = int64(r.DecodeInt(64))
			}
		case "successThreshold":
			if r.TryDecodeAsNil() {
				x.SuccessThreshold = 0
			} else {
				x.SuccessThreshold = int(r.DecodeInt(codecSelferBitsize1234))
			}
		case "failureThreshold":
			if r.TryDecodeAsNil() {
				x.FailureThreshold = 0
			} else {
				x.FailureThreshold = int(r.DecodeInt(codecSelferBitsize1234))
			}
		default:
			z.DecStructFieldNotFound(-1, yys990)
		} // end switch yys990
	} // end for yyj990
	if !yyhl990 {
		r.ReadEnd()
	}
}

func (x *Probe) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj999 int
	var yyb999 bool
	var yyhl999 bool = l >= 0
	yyj999++
	if yyhl999 {
		yyb999 = yyj999 > l
	} else {
		yyb999 = r.CheckBreak()
	}
	if yyb999 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		if x.Exec != nil {
			x.Exec = nil
		}
	} else {
		if x.Exec == nil {
			x.Exec = new(ExecAction)
		}
		x.Exec.CodecDecodeSelf(d)
	}
	yyj999++
	if yyhl999 {
		yyb999 = yyj999 > l
	} else {
		yyb999 = r.CheckBreak()
	}
	if yyb999 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		if x.HTTPGet != nil {
			x.HTTPGet = nil
		}
	} else {
		if x.HTTPGet == nil {
			x.HTTPGet = new(HTTPGetAction)
		}
		x.HTTPGet.CodecDecodeSelf(d)
	}
	yyj999++
	if yyhl999 {
		yyb999 = yyj999 > l
	} else {
		yyb999 = r.CheckBreak()
	}
	if yyb999 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		if x.TCPSocket != nil {
			x.TCPSocket = nil
		}
	} else {
		if x.TCPSocket == nil {
			x.TCPSocket = new(TCPSocketAction)
		}
		x.TCPSocket.CodecDecodeSelf(d)
	}
	yyj999++
	if yyhl999 {
		yyb999 = yyj999 > l
	} else {
		yyb999 = r.CheckBreak()
	}
	if yyb999 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.InitialDelaySeconds = 0
	} else {
		x.InitialDelaySeconds = int64(r.DecodeInt(64))
	}
	yyj999++
	if yyhl999 {
		yyb999 = yyj999 > l
	} else {
		yyb999 = r.CheckBreak()
	}
	if yyb999 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.TimeoutSeconds = 0
	} else {
		x.TimeoutSeconds = int64(r.DecodeInt(64))
	}
	yyj999++
	if yyhl999 {
		yyb999 = yyj999 > l
	} else {
		yyb999 = r.CheckBreak()
	}
	if yyb999 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.PeriodSeconds = 0
	} else {
		x.PeriodSeconds = int64(r.DecodeInt(64))
	}
	yyj999++
	if yyhl999 {
		yyb999 = yyj999 > l
	} else {
		yyb999 = r.CheckBreak()
	}
	if yyb999 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.SuccessThreshold = 0
	} else {
		x.SuccessThreshold = int(r.DecodeInt(codecSelferBitsize1234))
	}
	yyj999++
	if yyhl999 {
		yyb999 = yyj999 > l
	} else {
		yyb999 = r.CheckBreak()
	}
	if yyb999 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.FailureThreshold = 0
	} else {
		x.FailureThreshold = int(r.DecodeInt(codecSelferBitsize1234))
	}
	for {
		yyj999++
		if yyhl999 {
			yyb999 = yyj999 > l
		} else {
			yyb999 = r.CheckBreak()
		}
		if yyb999 {
			break
		}
		z.DecStructFieldNotFound(yyj999-1, "")
	}
	r.ReadEnd()
}

func (x PullPolicy) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	yym1008 := z.EncBinary()
	_ = yym1008
	if false {
	} else if z.HasExtensions() && z.EncExt(x) {
	} else {
		r.EncodeString(codecSelferC_UTF81234, string(x))
	}
}

func (x *PullPolicy) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym1009 := z.DecBinary()
	_ = yym1009
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		*((*string)(x)) = r.DecodeString()
	}
}

func (x Capability) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	yym1010 := z.EncBinary()
	_ = yym1010
	if false {
	} else if z.HasExtensions() && z.EncExt(x) {
	} else {
		r.EncodeString(codecSelferC_UTF81234, string(x))
	}
}

func (x *Capability) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym1011 := z.DecBinary()
	_ = yym1011
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		*((*string)(x)) = r.DecodeString()
	}
}

func (x *Capabilities) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym1012 := z.EncBinary()
		_ = yym1012
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep1013 := !z.EncBinary()
			yy2arr1013 := z.EncBasicHandle().StructToArray
			var yyq1013 [2]bool
			_, _, _ = yysep1013, yyq1013, yy2arr1013
			const yyr1013 bool = false
			yyq1013[0] = len(x.Add) != 0
			yyq1013[1] = len(x.Drop) != 0
			if yyr1013 || yy2arr1013 {
				r.EncodeArrayStart(2)
			} else {
				var yynn1013 int = 0
				for _, b := range yyq1013 {
					if b {
						yynn1013++
					}
				}
				r.EncodeMapStart(yynn1013)
			}
			if yyr1013 || yy2arr1013 {
				if yyq1013[0] {
					if x.Add == nil {
						r.EncodeNil()
					} else {
						yym1015 := z.EncBinary()
						_ = yym1015
						if false {
						} else {
							h.encSliceCapability(([]Capability)(x.Add), e)
						}
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1013[0] {
					r.EncodeString(codecSelferC_UTF81234, string("add"))
					if x.Add == nil {
						r.EncodeNil()
					} else {
						yym1016 := z.EncBinary()
						_ = yym1016
						if false {
						} else {
							h.encSliceCapability(([]Capability)(x.Add), e)
						}
					}
				}
			}
			if yyr1013 || yy2arr1013 {
				if yyq1013[1] {
					if x.Drop == nil {
						r.EncodeNil()
					} else {
						yym1018 := z.EncBinary()
						_ = yym1018
						if false {
						} else {
							h.encSliceCapability(([]Capability)(x.Drop), e)
						}
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1013[1] {
					r.EncodeString(codecSelferC_UTF81234, string("drop"))
					if x.Drop == nil {
						r.EncodeNil()
					} else {
						yym1019 := z.EncBinary()
						_ = yym1019
						if false {
						} else {
							h.encSliceCapability(([]Capability)(x.Drop), e)
						}
					}
				}
			}
			if yysep1013 {
				r.EncodeEnd()
			}
		}
	}
}

func (x *Capabilities) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym1020 := z.DecBinary()
	_ = yym1020
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		if r.IsContainerType(codecSelferValueTypeMap1234) {
			yyl1021 := r.ReadMapStart()
			if yyl1021 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromMap(yyl1021, d)
			}
		} else if r.IsContainerType(codecSelferValueTypeArray1234) {
			yyl1021 := r.ReadArrayStart()
			if yyl1021 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromArray(yyl1021, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *Capabilities) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys1022Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys1022Slc
	var yyhl1022 bool = l >= 0
	for yyj1022 := 0; ; yyj1022++ {
		if yyhl1022 {
			if yyj1022 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		yys1022Slc = r.DecodeBytes(yys1022Slc, true, true)
		yys1022 := string(yys1022Slc)
		switch yys1022 {
		case "add":
			if r.TryDecodeAsNil() {
				x.Add = nil
			} else {
				yyv1023 := &x.Add
				yym1024 := z.DecBinary()
				_ = yym1024
				if false {
				} else {
					h.decSliceCapability((*[]Capability)(yyv1023), d)
				}
			}
		case "drop":
			if r.TryDecodeAsNil() {
				x.Drop = nil
			} else {
				yyv1025 := &x.Drop
				yym1026 := z.DecBinary()
				_ = yym1026
				if false {
				} else {
					h.decSliceCapability((*[]Capability)(yyv1025), d)
				}
			}
		default:
			z.DecStructFieldNotFound(-1, yys1022)
		} // end switch yys1022
	} // end for yyj1022
	if !yyhl1022 {
		r.ReadEnd()
	}
}

func (x *Capabilities) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj1027 int
	var yyb1027 bool
	var yyhl1027 bool = l >= 0
	yyj1027++
	if yyhl1027 {
		yyb1027 = yyj1027 > l
	} else {
		yyb1027 = r.CheckBreak()
	}
	if yyb1027 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.Add = nil
	} else {
		yyv1028 := &x.Add
		yym1029 := z.DecBinary()
		_ = yym1029
		if false {
		} else {
			h.decSliceCapability((*[]Capability)(yyv1028), d)
		}
	}
	yyj1027++
	if yyhl1027 {
		yyb1027 = yyj1027 > l
	} else {
		yyb1027 = r.CheckBreak()
	}
	if yyb1027 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.Drop = nil
	} else {
		yyv1030 := &x.Drop
		yym1031 := z.DecBinary()
		_ = yym1031
		if false {
		} else {
			h.decSliceCapability((*[]Capability)(yyv1030), d)
		}
	}
	for {
		yyj1027++
		if yyhl1027 {
			yyb1027 = yyj1027 > l
		} else {
			yyb1027 = r.CheckBreak()
		}
		if yyb1027 {
			break
		}
		z.DecStructFieldNotFound(yyj1027-1, "")
	}
	r.ReadEnd()
}

func (x *ResourceRequirements) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym1032 := z.EncBinary()
		_ = yym1032
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep1033 := !z.EncBinary()
			yy2arr1033 := z.EncBasicHandle().StructToArray
			var yyq1033 [2]bool
			_, _, _ = yysep1033, yyq1033, yy2arr1033
			const yyr1033 bool = false
			yyq1033[0] = len(x.Limits) != 0
			yyq1033[1] = len(x.Requests) != 0
			if yyr1033 || yy2arr1033 {
				r.EncodeArrayStart(2)
			} else {
				var yynn1033 int = 0
				for _, b := range yyq1033 {
					if b {
						yynn1033++
					}
				}
				r.EncodeMapStart(yynn1033)
			}
			if yyr1033 || yy2arr1033 {
				if yyq1033[0] {
					if x.Limits == nil {
						r.EncodeNil()
					} else {
						x.Limits.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1033[0] {
					r.EncodeString(codecSelferC_UTF81234, string("limits"))
					if x.Limits == nil {
						r.EncodeNil()
					} else {
						x.Limits.CodecEncodeSelf(e)
					}
				}
			}
			if yyr1033 || yy2arr1033 {
				if yyq1033[1] {
					if x.Requests == nil {
						r.EncodeNil()
					} else {
						x.Requests.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1033[1] {
					r.EncodeString(codecSelferC_UTF81234, string("requests"))
					if x.Requests == nil {
						r.EncodeNil()
					} else {
						x.Requests.CodecEncodeSelf(e)
					}
				}
			}
			if yysep1033 {
				r.EncodeEnd()
			}
		}
	}
}

func (x *ResourceRequirements) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym1036 := z.DecBinary()
	_ = yym1036
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		if r.IsContainerType(codecSelferValueTypeMap1234) {
			yyl1037 := r.ReadMapStart()
			if yyl1037 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromMap(yyl1037, d)
			}
		} else if r.IsContainerType(codecSelferValueTypeArray1234) {
			yyl1037 := r.ReadArrayStart()
			if yyl1037 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromArray(yyl1037, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *ResourceRequirements) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys1038Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys1038Slc
	var yyhl1038 bool = l >= 0
	for yyj1038 := 0; ; yyj1038++ {
		if yyhl1038 {
			if yyj1038 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		yys1038Slc = r.DecodeBytes(yys1038Slc, true, true)
		yys1038 := string(yys1038Slc)
		switch yys1038 {
		case "limits":
			if r.TryDecodeAsNil() {
				x.Limits = nil
			} else {
				yyv1039 := &x.Limits
				yyv1039.CodecDecodeSelf(d)
			}
		case "requests":
			if r.TryDecodeAsNil() {
				x.Requests = nil
			} else {
				yyv1040 := &x.Requests
				yyv1040.CodecDecodeSelf(d)
			}
		default:
			z.DecStructFieldNotFound(-1, yys1038)
		} // end switch yys1038
	} // end for yyj1038
	if !yyhl1038 {
		r.ReadEnd()
	}
}

func (x *ResourceRequirements) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj1041 int
	var yyb1041 bool
	var yyhl1041 bool = l >= 0
	yyj1041++
	if yyhl1041 {
		yyb1041 = yyj1041 > l
	} else {
		yyb1041 = r.CheckBreak()
	}
	if yyb1041 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.Limits = nil
	} else {
		yyv1042 := &x.Limits
		yyv1042.CodecDecodeSelf(d)
	}
	yyj1041++
	if yyhl1041 {
		yyb1041 = yyj1041 > l
	} else {
		yyb1041 = r.CheckBreak()
	}
	if yyb1041 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.Requests = nil
	} else {
		yyv1043 := &x.Requests
		yyv1043.CodecDecodeSelf(d)
	}
	for {
		yyj1041++
		if yyhl1041 {
			yyb1041 = yyj1041 > l
		} else {
			yyb1041 = r.CheckBreak()
		}
		if yyb1041 {
			break
		}
		z.DecStructFieldNotFound(yyj1041-1, "")
	}
	r.ReadEnd()
}

func (x *Container) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym1044 := z.EncBinary()
		_ = yym1044
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep1045 := !z.EncBinary()
			yy2arr1045 := z.EncBasicHandle().StructToArray
			var yyq1045 [18]bool
			_, _, _ = yysep1045, yyq1045, yy2arr1045
			const yyr1045 bool = false
			yyq1045[1] = x.Image != ""
			yyq1045[2] = len(x.Command) != 0
			yyq1045[3] = len(x.Args) != 0
			yyq1045[4] = x.WorkingDir != ""
			yyq1045[5] = len(x.Ports) != 0
			yyq1045[6] = len(x.Env) != 0
			yyq1045[7] = true
			yyq1045[8] = len(x.VolumeMounts) != 0
			yyq1045[9] = x.LivenessProbe != nil
			yyq1045[10] = x.ReadinessProbe != nil
			yyq1045[11] = x.Lifecycle != nil
			yyq1045[12] = x.TerminationMessagePath != ""
			yyq1045[13] = x.ImagePullPolicy != ""
			yyq1045[14] = x.SecurityContext != nil
			yyq1045[15] = x.Stdin != false
			yyq1045[16] = x.StdinOnce != false
			yyq1045[17] = x.TTY != false
			if yyr1045 || yy2arr1045 {
				r.EncodeArrayStart(18)
			} else {
				var yynn1045 int = 1
				for _, b := range yyq1045 {
					if b {
						yynn1045++
					}
				}
				r.EncodeMapStart(yynn1045)
			}
			if yyr1045 || yy2arr1045 {
				yym1047 := z.EncBinary()
				_ = yym1047
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.Name))
				}
			} else {
				r.EncodeString(codecSelferC_UTF81234, string("name"))
				yym1048 := z.EncBinary()
				_ = yym1048
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.Name))
				}
			}
			if yyr1045 || yy2arr1045 {
				if yyq1045[1] {
					yym1050 := z.EncBinary()
					_ = yym1050
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Image))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq1045[1] {
					r.EncodeString(codecSelferC_UTF81234, string("image"))
					yym1051 := z.EncBinary()
					_ = yym1051
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Image))
					}
				}
			}
			if yyr1045 || yy2arr1045 {
				if yyq1045[2] {
					if x.Command == nil {
						r.EncodeNil()
					} else {
						yym1053 := z.EncBinary()
						_ = yym1053
						if false {
						} else {
							z.F.EncSliceStringV(x.Command, false, e)
						}
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1045[2] {
					r.EncodeString(codecSelferC_UTF81234, string("command"))
					if x.Command == nil {
						r.EncodeNil()
					} else {
						yym1054 := z.EncBinary()
						_ = yym1054
						if false {
						} else {
							z.F.EncSliceStringV(x.Command, false, e)
						}
					}
				}
			}
			if yyr1045 || yy2arr1045 {
				if yyq1045[3] {
					if x.Args == nil {
						r.EncodeNil()
					} else {
						yym1056 := z.EncBinary()
						_ = yym1056
						if false {
						} else {
							z.F.EncSliceStringV(x.Args, false, e)
						}
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1045[3] {
					r.EncodeString(codecSelferC_UTF81234, string("args"))
					if x.Args == nil {
						r.EncodeNil()
					} else {
						yym1057 := z.EncBinary()
						_ = yym1057
						if false {
						} else {
							z.F.EncSliceStringV(x.Args, false, e)
						}
					}
				}
			}
			if yyr1045 || yy2arr1045 {
				if yyq1045[4] {
					yym1059 := z.EncBinary()
					_ = yym1059
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.WorkingDir))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq1045[4] {
					r.EncodeString(codecSelferC_UTF81234, string("workingDir"))
					yym1060 := z.EncBinary()
					_ = yym1060
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.WorkingDir))
					}
				}
			}
			if yyr1045 || yy2arr1045 {
				if yyq1045[5] {
					if x.Ports == nil {
						r.EncodeNil()
					} else {
						yym1062 := z.EncBinary()
						_ = yym1062
						if false {
						} else {
							h.encSliceContainerPort(([]ContainerPort)(x.Ports), e)
						}
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1045[5] {
					r.EncodeString(codecSelferC_UTF81234, string("ports"))
					if x.Ports == nil {
						r.EncodeNil()
					} else {
						yym1063 := z.EncBinary()
						_ = yym1063
						if false {
						} else {
							h.encSliceContainerPort(([]ContainerPort)(x.Ports), e)
						}
					}
				}
			}
			if yyr1045 || yy2arr1045 {
				if yyq1045[6] {
					if x.Env == nil {
						r.EncodeNil()
					} else {
						yym1065 := z.EncBinary()
						_ = yym1065
						if false {
						} else {
							h.encSliceEnvVar(([]EnvVar)(x.Env), e)
						}
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1045[6] {
					r.EncodeString(codecSelferC_UTF81234, string("env"))
					if x.Env == nil {
						r.EncodeNil()
					} else {
						yym1066 := z.EncBinary()
						_ = yym1066
						if false {
						} else {
							h.encSliceEnvVar(([]EnvVar)(x.Env), e)
						}
					}
				}
			}
			if yyr1045 || yy2arr1045 {
				if yyq1045[7] {
					yy1068 := &x.Resources
					yy1068.CodecEncodeSelf(e)
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1045[7] {
					r.EncodeString(codecSelferC_UTF81234, string("resources"))
					yy1069 := &x.Resources
					yy1069.CodecEncodeSelf(e)
				}
			}
			if yyr1045 || yy2arr1045 {
				if yyq1045[8] {
					if x.VolumeMounts == nil {
						r.EncodeNil()
					} else {
						yym1071 := z.EncBinary()
						_ = yym1071
						if false {
						} else {
							h.encSliceVolumeMount(([]VolumeMount)(x.VolumeMounts), e)
						}
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1045[8] {
					r.EncodeString(codecSelferC_UTF81234, string("volumeMounts"))
					if x.VolumeMounts == nil {
						r.EncodeNil()
					} else {
						yym1072 := z.EncBinary()
						_ = yym1072
						if false {
						} else {
							h.encSliceVolumeMount(([]VolumeMount)(x.VolumeMounts), e)
						}
					}
				}
			}
			if yyr1045 || yy2arr1045 {
				if yyq1045[9] {
					if x.LivenessProbe == nil {
						r.EncodeNil()
					} else {
						x.LivenessProbe.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1045[9] {
					r.EncodeString(codecSelferC_UTF81234, string("livenessProbe"))
					if x.LivenessProbe == nil {
						r.EncodeNil()
					} else {
						x.LivenessProbe.CodecEncodeSelf(e)
					}
				}
			}
			if yyr1045 || yy2arr1045 {
				if yyq1045[10] {
					if x.ReadinessProbe == nil {
						r.EncodeNil()
					} else {
						x.ReadinessProbe.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1045[10] {
					r.EncodeString(codecSelferC_UTF81234, string("readinessProbe"))
					if x.ReadinessProbe == nil {
						r.EncodeNil()
					} else {
						x.ReadinessProbe.CodecEncodeSelf(e)
					}
				}
			}
			if yyr1045 || yy2arr1045 {
				if yyq1045[11] {
					if x.Lifecycle == nil {
						r.EncodeNil()
					} else {
						x.Lifecycle.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1045[11] {
					r.EncodeString(codecSelferC_UTF81234, string("lifecycle"))
					if x.Lifecycle == nil {
						r.EncodeNil()
					} else {
						x.Lifecycle.CodecEncodeSelf(e)
					}
				}
			}
			if yyr1045 || yy2arr1045 {
				if yyq1045[12] {
					yym1077 := z.EncBinary()
					_ = yym1077
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.TerminationMessagePath))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq1045[12] {
					r.EncodeString(codecSelferC_UTF81234, string("terminationMessagePath"))
					yym1078 := z.EncBinary()
					_ = yym1078
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.TerminationMessagePath))
					}
				}
			}
			if yyr1045 || yy2arr1045 {
				if yyq1045[13] {
					x.ImagePullPolicy.CodecEncodeSelf(e)
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq1045[13] {
					r.EncodeString(codecSelferC_UTF81234, string("imagePullPolicy"))
					x.ImagePullPolicy.CodecEncodeSelf(e)
				}
			}
			if yyr1045 || yy2arr1045 {
				if yyq1045[14] {
					if x.SecurityContext == nil {
						r.EncodeNil()
					} else {
						x.SecurityContext.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1045[14] {
					r.EncodeString(codecSelferC_UTF81234, string("securityContext"))
					if x.SecurityContext == nil {
						r.EncodeNil()
					} else {
						x.SecurityContext.CodecEncodeSelf(e)
					}
				}
			}
			if yyr1045 || yy2arr1045 {
				if yyq1045[15] {
					yym1082 := z.EncBinary()
					_ = yym1082
					if false {
					} else {
						r.EncodeBool(bool(x.Stdin))
					}
				} else {
					r.EncodeBool(false)
				}
			} else {
				if yyq1045[15] {
					r.EncodeString(codecSelferC_UTF81234, string("stdin"))
					yym1083 := z.EncBinary()
					_ = yym1083
					if false {
					} else {
						r.EncodeBool(bool(x.Stdin))
					}
				}
			}
			if yyr1045 || yy2arr1045 {
				if yyq1045[16] {
					yym1085 := z.EncBinary()
					_ = yym1085
					if false {
					} else {
						r.EncodeBool(bool(x.StdinOnce))
					}
				} else {
					r.EncodeBool(false)
				}
			} else {
				if yyq1045[16] {
					r.EncodeString(codecSelferC_UTF81234, string("stdinOnce"))
					yym1086 := z.EncBinary()
					_ = yym1086
					if false {
					} else {
						r.EncodeBool(bool(x.StdinOnce))
					}
				}
			}
			if yyr1045 || yy2arr1045 {
				if yyq1045[17] {
					yym1088 := z.EncBinary()
					_ = yym1088
					if false {
					} else {
						r.EncodeBool(bool(x.TTY))
					}
				} else {
					r.EncodeBool(false)
				}
			} else {
				if yyq1045[17] {
					r.EncodeString(codecSelferC_UTF81234, string("tty"))
					yym1089 := z.EncBinary()
					_ = yym1089
					if false {
					} else {
						r.EncodeBool(bool(x.TTY))
					}
				}
			}
			if yysep1045 {
				r.EncodeEnd()
			}
		}
	}
}

func (x *Container) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym1090 := z.DecBinary()
	_ = yym1090
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		if r.IsContainerType(codecSelferValueTypeMap1234) {
			yyl1091 := r.ReadMapStart()
			if yyl1091 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromMap(yyl1091, d)
			}
		} else if r.IsContainerType(codecSelferValueTypeArray1234) {
			yyl1091 := r.ReadArrayStart()
			if yyl1091 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromArray(yyl1091, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *Container) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys1092Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys1092Slc
	var yyhl1092 bool = l >= 0
	for yyj1092 := 0; ; yyj1092++ {
		if yyhl1092 {
			if yyj1092 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		yys1092Slc = r.DecodeBytes(yys1092Slc, true, true)
		yys1092 := string(yys1092Slc)
		switch yys1092 {
		case "name":
			if r.TryDecodeAsNil() {
				x.Name = ""
			} else {
				x.Name = string(r.DecodeString())
			}
		case "image":
			if r.TryDecodeAsNil() {
				x.Image = ""
			} else {
				x.Image = string(r.DecodeString())
			}
		case "command":
			if r.TryDecodeAsNil() {
				x.Command = nil
			} else {
				yyv1095 := &x.Command
				yym1096 := z.DecBinary()
				_ = yym1096
				if false {
				} else {
					z.F.DecSliceStringX(yyv1095, false, d)
				}
			}
		case "args":
			if r.TryDecodeAsNil() {
				x.Args = nil
			} else {
				yyv1097 := &x.Args
				yym1098 := z.DecBinary()
				_ = yym1098
				if false {
				} else {
					z.F.DecSliceStringX(yyv1097, false, d)
				}
			}
		case "workingDir":
			if r.TryDecodeAsNil() {
				x.WorkingDir = ""
			} else {
				x.WorkingDir = string(r.DecodeString())
			}
		case "ports":
			if r.TryDecodeAsNil() {
				x.Ports = nil
			} else {
				yyv1100 := &x.Ports
				yym1101 := z.DecBinary()
				_ = yym1101
				if false {
				} else {
					h.decSliceContainerPort((*[]ContainerPort)(yyv1100), d)
				}
			}
		case "env":
			if r.TryDecodeAsNil() {
				x.Env = nil
			} else {
				yyv1102 := &x.Env
				yym1103 := z.DecBinary()
				_ = yym1103
				if false {
				} else {
					h.decSliceEnvVar((*[]EnvVar)(yyv1102), d)
				}
			}
		case "resources":
			if r.TryDecodeAsNil() {
				x.Resources = ResourceRequirements{}
			} else {
				yyv1104 := &x.Resources
				yyv1104.CodecDecodeSelf(d)
			}
		case "volumeMounts":
			if r.TryDecodeAsNil() {
				x.VolumeMounts = nil
			} else {
				yyv1105 := &x.VolumeMounts
				yym1106 := z.DecBinary()
				_ = yym1106
				if false {
				} else {
					h.decSliceVolumeMount((*[]VolumeMount)(yyv1105), d)
				}
			}
		case "livenessProbe":
			if r.TryDecodeAsNil() {
				if x.LivenessProbe != nil {
					x.LivenessProbe = nil
				}
			} else {
				if x.LivenessProbe == nil {
					x.LivenessProbe = new(Probe)
				}
				x.LivenessProbe.CodecDecodeSelf(d)
			}
		case "readinessProbe":
			if r.TryDecodeAsNil() {
				if x.ReadinessProbe != nil {
					x.ReadinessProbe = nil
				}
			} else {
				if x.ReadinessProbe == nil {
					x.ReadinessProbe = new(Probe)
				}
				x.ReadinessProbe.CodecDecodeSelf(d)
			}
		case "lifecycle":
			if r.TryDecodeAsNil() {
				if x.Lifecycle != nil {
					x.Lifecycle = nil
				}
			} else {
				if x.Lifecycle == nil {
					x.Lifecycle = new(Lifecycle)
				}
				x.Lifecycle.CodecDecodeSelf(d)
			}
		case "terminationMessagePath":
			if r.TryDecodeAsNil() {
				x.TerminationMessagePath = ""
			} else {
				x.TerminationMessagePath = string(r.DecodeString())
			}
		case "imagePullPolicy":
			if r.TryDecodeAsNil() {
				x.ImagePullPolicy = ""
			} else {
				x.ImagePullPolicy = PullPolicy(r.DecodeString())
			}
		case "securityContext":
			if r.TryDecodeAsNil() {
				if x.SecurityContext != nil {
					x.SecurityContext = nil
				}
			} else {
				if x.SecurityContext == nil {
					x.SecurityContext = new(SecurityContext)
				}
				x.SecurityContext.CodecDecodeSelf(d)
			}
		case "stdin":
			if r.TryDecodeAsNil() {
				x.Stdin = false
			} else {
				x.Stdin = bool(r.DecodeBool())
			}
		case "stdinOnce":
			if r.TryDecodeAsNil() {
				x.StdinOnce = false
			} else {
				x.StdinOnce = bool(r.DecodeBool())
			}
		case "tty":
			if r.TryDecodeAsNil() {
				x.TTY = false
			} else {
				x.TTY = bool(r.DecodeBool())
			}
		default:
			z.DecStructFieldNotFound(-1, yys1092)
		} // end switch yys1092
	} // end for yyj1092
	if !yyhl1092 {
		r.ReadEnd()
	}
}

func (x *Container) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj1116 int
	var yyb1116 bool
	var yyhl1116 bool = l >= 0
	yyj1116++
	if yyhl1116 {
		yyb1116 = yyj1116 > l
	} else {
		yyb1116 = r.CheckBreak()
	}
	if yyb1116 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.Name = ""
	} else {
		x.Name = string(r.DecodeString())
	}
	yyj1116++
	if yyhl1116 {
		yyb1116 = yyj1116 > l
	} else {
		yyb1116 = r.CheckBreak()
	}
	if yyb1116 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.Image = ""
	} else {
		x.Image = string(r.DecodeString())
	}
	yyj1116++
	if yyhl1116 {
		yyb1116 = yyj1116 > l
	} else {
		yyb1116 = r.CheckBreak()
	}
	if yyb1116 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.Command = nil
	} else {
		yyv1119 := &x.Command
		yym1120 := z.DecBinary()
		_ = yym1120
		if false {
		} else {
			z.F.DecSliceStringX(yyv1119, false, d)
		}
	}
	yyj1116++
	if yyhl1116 {
		yyb1116 = yyj1116 > l
	} else {
		yyb1116 = r.CheckBreak()
	}
	if yyb1116 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.Args = nil
	} else {
		yyv1121 := &x.Args
		yym1122 := z.DecBinary()
		_ = yym1122
		if false {
		} else {
			z.F.DecSliceStringX(yyv1121, false, d)
		}
	}
	yyj1116++
	if yyhl1116 {
		yyb1116 = yyj1116 > l
	} else {
		yyb1116 = r.CheckBreak()
	}
	if yyb1116 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.WorkingDir = ""
	} else {
		x.WorkingDir = string(r.DecodeString())
	}
	yyj1116++
	if yyhl1116 {
		yyb1116 = yyj1116 > l
	} else {
		yyb1116 = r.CheckBreak()
	}
	if yyb1116 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.Ports = nil
	} else {
		yyv1124 := &x.Ports
		yym1125 := z.DecBinary()
		_ = yym1125
		if false {
		} else {
			h.decSliceContainerPort((*[]ContainerPort)(yyv1124), d)
		}
	}
	yyj1116++
	if yyhl1116 {
		yyb1116 = yyj1116 > l
	} else {
		yyb1116 = r.CheckBreak()
	}
	if yyb1116 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.Env = nil
	} else {
		yyv1126 := &x.Env
		yym1127 := z.DecBinary()
		_ = yym1127
		if false {
		} else {
			h.decSliceEnvVar((*[]EnvVar)(yyv1126), d)
		}
	}
	yyj1116++
	if yyhl1116 {
		yyb1116 = yyj1116 > l
	} else {
		yyb1116 = r.CheckBreak()
	}
	if yyb1116 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.Resources = ResourceRequirements{}
	} else {
		yyv1128 := &x.Resources
		yyv1128.CodecDecodeSelf(d)
	}
	yyj1116++
	if yyhl1116 {
		yyb1116 = yyj1116 > l
	} else {
		yyb1116 = r.CheckBreak()
	}
	if yyb1116 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.VolumeMounts = nil
	} else {
		yyv1129 := &x.VolumeMounts
		yym1130 := z.DecBinary()
		_ = yym1130
		if false {
		} else {
			h.decSliceVolumeMount((*[]VolumeMount)(yyv1129), d)
		}
	}
	yyj1116++
	if yyhl1116 {
		yyb1116 = yyj1116 > l
	} else {
		yyb1116 = r.CheckBreak()
	}
	if yyb1116 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		if x.LivenessProbe != nil {
			x.LivenessProbe = nil
		}
	} else {
		if x.LivenessProbe == nil {
			x.LivenessProbe = new(Probe)
		}
		x.LivenessProbe.CodecDecodeSelf(d)
	}
	yyj1116++
	if yyhl1116 {
		yyb1116 = yyj1116 > l
	} else {
		yyb1116 = r.CheckBreak()
	}
	if yyb1116 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		if x.ReadinessProbe != nil {
			x.ReadinessProbe = nil
		}
	} else {
		if x.ReadinessProbe == nil {
			x.ReadinessProbe = new(Probe)
		}
		x.ReadinessProbe.CodecDecodeSelf(d)
	}
	yyj1116++
	if yyhl1116 {
		yyb1116 = yyj1116 > l
	} else {
		yyb1116 = r.CheckBreak()
	}
	if yyb1116 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		if x.Lifecycle != nil {
			x.Lifecycle = nil
		}
	} else {
		if x.Lifecycle == nil {
			x.Lifecycle = new(Lifecycle)
		}
		x.Lifecycle.CodecDecodeSelf(d)
	}
	yyj1116++
	if yyhl1116 {
		yyb1116 = yyj1116 > l
	} else {
		yyb1116 = r.CheckBreak()
	}
	if yyb1116 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.TerminationMessagePath = ""
	} else {
		x.TerminationMessagePath = string(r.DecodeString())
	}
	yyj1116++
	if yyhl1116 {
		yyb1116 = yyj1116 > l
	} else {
		yyb1116 = r.CheckBreak()
	}
	if yyb1116 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.ImagePullPolicy = ""
	} else {
		x.ImagePullPolicy = PullPolicy(r.DecodeString())
	}
	yyj1116++
	if yyhl1116 {
		yyb1116 = yyj1116 > l
	} else {
		yyb1116 = r.CheckBreak()
	}
	if yyb1116 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		if x.SecurityContext != nil {
			x.SecurityContext = nil
		}
	} else {
		if x.SecurityContext == nil {
			x.SecurityContext = new(SecurityContext)
		}
		x.SecurityContext.CodecDecodeSelf(d)
	}
	yyj1116++
	if yyhl1116 {
		yyb1116 = yyj1116 > l
	} else {
		yyb1116 = r.CheckBreak()
	}
	if yyb1116 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.Stdin = false
	} else {
		x.Stdin = bool(r.DecodeBool())
	}
	yyj1116++
	if yyhl1116 {
		yyb1116 = yyj1116 > l
	} else {
		yyb1116 = r.CheckBreak()
	}
	if yyb1116 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.StdinOnce = false
	} else {
		x.StdinOnce = bool(r.DecodeBool())
	}
	yyj1116++
	if yyhl1116 {
		yyb1116 = yyj1116 > l
	} else {
		yyb1116 = r.CheckBreak()
	}
	if yyb1116 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.TTY = false
	} else {
		x.TTY = bool(r.DecodeBool())
	}
	for {
		yyj1116++
		if yyhl1116 {
			yyb1116 = yyj1116 > l
		} else {
			yyb1116 = r.CheckBreak()
		}
		if yyb1116 {
			break
		}
		z.DecStructFieldNotFound(yyj1116-1, "")
	}
	r.ReadEnd()
}

func (x *Handler) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym1140 := z.EncBinary()
		_ = yym1140
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep1141 := !z.EncBinary()
			yy2arr1141 := z.EncBasicHandle().StructToArray
			var yyq1141 [3]bool
			_, _, _ = yysep1141, yyq1141, yy2arr1141
			const yyr1141 bool = false
			yyq1141[0] = x.Exec != nil
			yyq1141[1] = x.HTTPGet != nil
			yyq1141[2] = x.TCPSocket != nil
			if yyr1141 || yy2arr1141 {
				r.EncodeArrayStart(3)
			} else {
				var yynn1141 int = 0
				for _, b := range yyq1141 {
					if b {
						yynn1141++
					}
				}
				r.EncodeMapStart(yynn1141)
			}
			if yyr1141 || yy2arr1141 {
				if yyq1141[0] {
					if x.Exec == nil {
						r.EncodeNil()
					} else {
						x.Exec.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1141[0] {
					r.EncodeString(codecSelferC_UTF81234, string("exec"))
					if x.Exec == nil {
						r.EncodeNil()
					} else {
						x.Exec.CodecEncodeSelf(e)
					}
				}
			}
			if yyr1141 || yy2arr1141 {
				if yyq1141[1] {
					if x.HTTPGet == nil {
						r.EncodeNil()
					} else {
						x.HTTPGet.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1141[1] {
					r.EncodeString(codecSelferC_UTF81234, string("httpGet"))
					if x.HTTPGet == nil {
						r.EncodeNil()
					} else {
						x.HTTPGet.CodecEncodeSelf(e)
					}
				}
			}
			if yyr1141 || yy2arr1141 {
				if yyq1141[2] {
					if x.TCPSocket == nil {
						r.EncodeNil()
					} else {
						x.TCPSocket.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1141[2] {
					r.EncodeString(codecSelferC_UTF81234, string("tcpSocket"))
					if x.TCPSocket == nil {
						r.EncodeNil()
					} else {
						x.TCPSocket.CodecEncodeSelf(e)
					}
				}
			}
			if yysep1141 {
				r.EncodeEnd()
			}
		}
	}
}

func (x *Handler) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym1145 := z.DecBinary()
	_ = yym1145
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		if r.IsContainerType(codecSelferValueTypeMap1234) {
			yyl1146 := r.ReadMapStart()
			if yyl1146 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromMap(yyl1146, d)
			}
		} else if r.IsContainerType(codecSelferValueTypeArray1234) {
			yyl1146 := r.ReadArrayStart()
			if yyl1146 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromArray(yyl1146, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *Handler) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys1147Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys1147Slc
	var yyhl1147 bool = l >= 0
	for yyj1147 := 0; ; yyj1147++ {
		if yyhl1147 {
			if yyj1147 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		yys1147Slc = r.DecodeBytes(yys1147Slc, true, true)
		yys1147 := string(yys1147Slc)
		switch yys1147 {
		case "exec":
			if r.TryDecodeAsNil() {
				if x.Exec != nil {
					x.Exec = nil
				}
			} else {
				if x.Exec == nil {
					x.Exec = new(ExecAction)
				}
				x.Exec.CodecDecodeSelf(d)
			}
		case "httpGet":
			if r.TryDecodeAsNil() {
				if x.HTTPGet != nil {
					x.HTTPGet = nil
				}
			} else {
				if x.HTTPGet == nil {
					x.HTTPGet = new(HTTPGetAction)
				}
				x.HTTPGet.CodecDecodeSelf(d)
			}
		case "tcpSocket":
			if r.TryDecodeAsNil() {
				if x.TCPSocket != nil {
					x.TCPSocket = nil
				}
			} else {
				if x.TCPSocket == nil {
					x.TCPSocket = new(TCPSocketAction)
				}
				x.TCPSocket.CodecDecodeSelf(d)
			}
		default:
			z.DecStructFieldNotFound(-1, yys1147)
		} // end switch yys1147
	} // end for yyj1147
	if !yyhl1147 {
		r.ReadEnd()
	}
}

func (x *Handler) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj1151 int
	var yyb1151 bool
	var yyhl1151 bool = l >= 0
	yyj1151++
	if yyhl1151 {
		yyb1151 = yyj1151 > l
	} else {
		yyb1151 = r.CheckBreak()
	}
	if yyb1151 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		if x.Exec != nil {
			x.Exec = nil
		}
	} else {
		if x.Exec == nil {
			x.Exec = new(ExecAction)
		}
		x.Exec.CodecDecodeSelf(d)
	}
	yyj1151++
	if yyhl1151 {
		yyb1151 = yyj1151 > l
	} else {
		yyb1151 = r.CheckBreak()
	}
	if yyb1151 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		if x.HTTPGet != nil {
			x.HTTPGet = nil
		}
	} else {
		if x.HTTPGet == nil {
			x.HTTPGet = new(HTTPGetAction)
		}
		x.HTTPGet.CodecDecodeSelf(d)
	}
	yyj1151++
	if yyhl1151 {
		yyb1151 = yyj1151 > l
	} else {
		yyb1151 = r.CheckBreak()
	}
	if yyb1151 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		if x.TCPSocket != nil {
			x.TCPSocket = nil
		}
	} else {
		if x.TCPSocket == nil {
			x.TCPSocket = new(TCPSocketAction)
		}
		x.TCPSocket.CodecDecodeSelf(d)
	}
	for {
		yyj1151++
		if yyhl1151 {
			yyb1151 = yyj1151 > l
		} else {
			yyb1151 = r.CheckBreak()
		}
		if yyb1151 {
			break
		}
		z.DecStructFieldNotFound(yyj1151-1, "")
	}
	r.ReadEnd()
}

func (x *Lifecycle) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym1155 := z.EncBinary()
		_ = yym1155
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep1156 := !z.EncBinary()
			yy2arr1156 := z.EncBasicHandle().StructToArray
			var yyq1156 [2]bool
			_, _, _ = yysep1156, yyq1156, yy2arr1156
			const yyr1156 bool = false
			yyq1156[0] = x.PostStart != nil
			yyq1156[1] = x.PreStop != nil
			if yyr1156 || yy2arr1156 {
				r.EncodeArrayStart(2)
			} else {
				var yynn1156 int = 0
				for _, b := range yyq1156 {
					if b {
						yynn1156++
					}
				}
				r.EncodeMapStart(yynn1156)
			}
			if yyr1156 || yy2arr1156 {
				if yyq1156[0] {
					if x.PostStart == nil {
						r.EncodeNil()
					} else {
						x.PostStart.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1156[0] {
					r.EncodeString(codecSelferC_UTF81234, string("postStart"))
					if x.PostStart == nil {
						r.EncodeNil()
					} else {
						x.PostStart.CodecEncodeSelf(e)
					}
				}
			}
			if yyr1156 || yy2arr1156 {
				if yyq1156[1] {
					if x.PreStop == nil {
						r.EncodeNil()
					} else {
						x.PreStop.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1156[1] {
					r.EncodeString(codecSelferC_UTF81234, string("preStop"))
					if x.PreStop == nil {
						r.EncodeNil()
					} else {
						x.PreStop.CodecEncodeSelf(e)
					}
				}
			}
			if yysep1156 {
				r.EncodeEnd()
			}
		}
	}
}

func (x *Lifecycle) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym1159 := z.DecBinary()
	_ = yym1159
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		if r.IsContainerType(codecSelferValueTypeMap1234) {
			yyl1160 := r.ReadMapStart()
			if yyl1160 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromMap(yyl1160, d)
			}
		} else if r.IsContainerType(codecSelferValueTypeArray1234) {
			yyl1160 := r.ReadArrayStart()
			if yyl1160 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromArray(yyl1160, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *Lifecycle) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys1161Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys1161Slc
	var yyhl1161 bool = l >= 0
	for yyj1161 := 0; ; yyj1161++ {
		if yyhl1161 {
			if yyj1161 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		yys1161Slc = r.DecodeBytes(yys1161Slc, true, true)
		yys1161 := string(yys1161Slc)
		switch yys1161 {
		case "postStart":
			if r.TryDecodeAsNil() {
				if x.PostStart != nil {
					x.PostStart = nil
				}
			} else {
				if x.PostStart == nil {
					x.PostStart = new(Handler)
				}
				x.PostStart.CodecDecodeSelf(d)
			}
		case "preStop":
			if r.TryDecodeAsNil() {
				if x.PreStop != nil {
					x.PreStop = nil
				}
			} else {
				if x.PreStop == nil {
					x.PreStop = new(Handler)
				}
				x.PreStop.CodecDecodeSelf(d)
			}
		default:
			z.DecStructFieldNotFound(-1, yys1161)
		} // end switch yys1161
	} // end for yyj1161
	if !yyhl1161 {
		r.ReadEnd()
	}
}

func (x *Lifecycle) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj1164 int
	var yyb1164 bool
	var yyhl1164 bool = l >= 0
	yyj1164++
	if yyhl1164 {
		yyb1164 = yyj1164 > l
	} else {
		yyb1164 = r.CheckBreak()
	}
	if yyb1164 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		if x.PostStart != nil {
			x.PostStart = nil
		}
	} else {
		if x.PostStart == nil {
			x.PostStart = new(Handler)
		}
		x.PostStart.CodecDecodeSelf(d)
	}
	yyj1164++
	if yyhl1164 {
		yyb1164 = yyj1164 > l
	} else {
		yyb1164 = r.CheckBreak()
	}
	if yyb1164 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		if x.PreStop != nil {
			x.PreStop = nil
		}
	} else {
		if x.PreStop == nil {
			x.PreStop = new(Handler)
		}
		x.PreStop.CodecDecodeSelf(d)
	}
	for {
		yyj1164++
		if yyhl1164 {
			yyb1164 = yyj1164 > l
		} else {
			yyb1164 = r.CheckBreak()
		}
		if yyb1164 {
			break
		}
		z.DecStructFieldNotFound(yyj1164-1, "")
	}
	r.ReadEnd()
}

func (x ConditionStatus) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	yym1167 := z.EncBinary()
	_ = yym1167
	if false {
	} else if z.HasExtensions() && z.EncExt(x) {
	} else {
		r.EncodeString(codecSelferC_UTF81234, string(x))
	}
}

func (x *ConditionStatus) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym1168 := z.DecBinary()
	_ = yym1168
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		*((*string)(x)) = r.DecodeString()
	}
}

func (x *ContainerStateWaiting) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym1169 := z.EncBinary()
		_ = yym1169
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep1170 := !z.EncBinary()
			yy2arr1170 := z.EncBasicHandle().StructToArray
			var yyq1170 [2]bool
			_, _, _ = yysep1170, yyq1170, yy2arr1170
			const yyr1170 bool = false
			yyq1170[0] = x.Reason != ""
			yyq1170[1] = x.Message != ""
			if yyr1170 || yy2arr1170 {
				r.EncodeArrayStart(2)
			} else {
				var yynn1170 int = 0
				for _, b := range yyq1170 {
					if b {
						yynn1170++
					}
				}
				r.EncodeMapStart(yynn1170)
			}
			if yyr1170 || yy2arr1170 {
				if yyq1170[0] {
					yym1172 := z.EncBinary()
					_ = yym1172
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Reason))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq1170[0] {
					r.EncodeString(codecSelferC_UTF81234, string("reason"))
					yym1173 := z.EncBinary()
					_ = yym1173
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Reason))
					}
				}
			}
			if yyr1170 || yy2arr1170 {
				if yyq1170[1] {
					yym1175 := z.EncBinary()
					_ = yym1175
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Message))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq1170[1] {
					r.EncodeString(codecSelferC_UTF81234, string("message"))
					yym1176 := z.EncBinary()
					_ = yym1176
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Message))
					}
				}
			}
			if yysep1170 {
				r.EncodeEnd()
			}
		}
	}
}

func (x *ContainerStateWaiting) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym1177 := z.DecBinary()
	_ = yym1177
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		if r.IsContainerType(codecSelferValueTypeMap1234) {
			yyl1178 := r.ReadMapStart()
			if yyl1178 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromMap(yyl1178, d)
			}
		} else if r.IsContainerType(codecSelferValueTypeArray1234) {
			yyl1178 := r.ReadArrayStart()
			if yyl1178 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromArray(yyl1178, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *ContainerStateWaiting) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys1179Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys1179Slc
	var yyhl1179 bool = l >= 0
	for yyj1179 := 0; ; yyj1179++ {
		if yyhl1179 {
			if yyj1179 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		yys1179Slc = r.DecodeBytes(yys1179Slc, true, true)
		yys1179 := string(yys1179Slc)
		switch yys1179 {
		case "reason":
			if r.TryDecodeAsNil() {
				x.Reason = ""
			} else {
				x.Reason = string(r.DecodeString())
			}
		case "message":
			if r.TryDecodeAsNil() {
				x.Message = ""
			} else {
				x.Message = string(r.DecodeString())
			}
		default:
			z.DecStructFieldNotFound(-1, yys1179)
		} // end switch yys1179
	} // end for yyj1179
	if !yyhl1179 {
		r.ReadEnd()
	}
}

func (x *ContainerStateWaiting) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj1182 int
	var yyb1182 bool
	var yyhl1182 bool = l >= 0
	yyj1182++
	if yyhl1182 {
		yyb1182 = yyj1182 > l
	} else {
		yyb1182 = r.CheckBreak()
	}
	if yyb1182 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.Reason = ""
	} else {
		x.Reason = string(r.DecodeString())
	}
	yyj1182++
	if yyhl1182 {
		yyb1182 = yyj1182 > l
	} else {
		yyb1182 = r.CheckBreak()
	}
	if yyb1182 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.Message = ""
	} else {
		x.Message = string(r.DecodeString())
	}
	for {
		yyj1182++
		if yyhl1182 {
			yyb1182 = yyj1182 > l
		} else {
			yyb1182 = r.CheckBreak()
		}
		if yyb1182 {
			break
		}
		z.DecStructFieldNotFound(yyj1182-1, "")
	}
	r.ReadEnd()
}

func (x *ContainerStateRunning) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym1185 := z.EncBinary()
		_ = yym1185
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep1186 := !z.EncBinary()
			yy2arr1186 := z.EncBasicHandle().StructToArray
			var yyq1186 [1]bool
			_, _, _ = yysep1186, yyq1186, yy2arr1186
			const yyr1186 bool = false
			yyq1186[0] = true
			if yyr1186 || yy2arr1186 {
				r.EncodeArrayStart(1)
			} else {
				var yynn1186 int = 0
				for _, b := range yyq1186 {
					if b {
						yynn1186++
					}
				}
				r.EncodeMapStart(yynn1186)
			}
			if yyr1186 || yy2arr1186 {
				if yyq1186[0] {
					yy1188 := &x.StartedAt
					yym1189 := z.EncBinary()
					_ = yym1189
					if false {
					} else if z.HasExtensions() && z.EncExt(yy1188) {
					} else if yym1189 {
						z.EncBinaryMarshal(yy1188)
					} else if !yym1189 && z.IsJSONHandle() {
						z.EncJSONMarshal(yy1188)
					} else {
						z.EncFallback(yy1188)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1186[0] {
					r.EncodeString(codecSelferC_UTF81234, string("startedAt"))
					yy1190 := &x.StartedAt
					yym1191 := z.EncBinary()
					_ = yym1191
					if false {
					} else if z.HasExtensions() && z.EncExt(yy1190) {
					} else if yym1191 {
						z.EncBinaryMarshal(yy1190)
					} else if !yym1191 && z.IsJSONHandle() {
						z.EncJSONMarshal(yy1190)
					} else {
						z.EncFallback(yy1190)
					}
				}
			}
			if yysep1186 {
				r.EncodeEnd()
			}
		}
	}
}

func (x *ContainerStateRunning) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym1192 := z.DecBinary()
	_ = yym1192
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		if r.IsContainerType(codecSelferValueTypeMap1234) {
			yyl1193 := r.ReadMapStart()
			if yyl1193 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromMap(yyl1193, d)
			}
		} else if r.IsContainerType(codecSelferValueTypeArray1234) {
			yyl1193 := r.ReadArrayStart()
			if yyl1193 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromArray(yyl1193, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *ContainerStateRunning) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys1194Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys1194Slc
	var yyhl1194 bool = l >= 0
	for yyj1194 := 0; ; yyj1194++ {
		if yyhl1194 {
			if yyj1194 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		yys1194Slc = r.DecodeBytes(yys1194Slc, true, true)
		yys1194 := string(yys1194Slc)
		switch yys1194 {
		case "startedAt":
			if r.TryDecodeAsNil() {
				x.StartedAt = pkg2_unversioned.Time{}
			} else {
				yyv1195 := &x.StartedAt
				yym1196 := z.DecBinary()
				_ = yym1196
				if false {
				} else if z.HasExtensions() && z.DecExt(yyv1195) {
				} else if yym1196 {
					z.DecBinaryUnmarshal(yyv1195)
				} else if !yym1196 && z.IsJSONHandle() {
					z.DecJSONUnmarshal(yyv1195)
				} else {
					z.DecFallback(yyv1195, false)
				}
			}
		default:
			z.DecStructFieldNotFound(-1, yys1194)
		} // end switch yys1194
	} // end for yyj1194
	if !yyhl1194 {
		r.ReadEnd()
	}
}

func (x *ContainerStateRunning) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj1197 int
	var yyb1197 bool
	var yyhl1197 bool = l >= 0
	yyj1197++
	if yyhl1197 {
		yyb1197 = yyj1197 > l
	} else {
		yyb1197 = r.CheckBreak()
	}
	if yyb1197 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.StartedAt = pkg2_unversioned.Time{}
	} else {
		yyv1198 := &x.StartedAt
		yym1199 := z.DecBinary()
		_ = yym1199
		if false {
		} else if z.HasExtensions() && z.DecExt(yyv1198) {
		} else if yym1199 {
			z.DecBinaryUnmarshal(yyv1198)
		} else if !yym1199 && z.IsJSONHandle() {
			z.DecJSONUnmarshal(yyv1198)
		} else {
			z.DecFallback(yyv1198, false)
		}
	}
	for {
		yyj1197++
		if yyhl1197 {
			yyb1197 = yyj1197 > l
		} else {
			yyb1197 = r.CheckBreak()
		}
		if yyb1197 {
			break
		}
		z.DecStructFieldNotFound(yyj1197-1, "")
	}
	r.ReadEnd()
}

func (x *ContainerStateTerminated) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym1200 := z.EncBinary()
		_ = yym1200
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep1201 := !z.EncBinary()
			yy2arr1201 := z.EncBasicHandle().StructToArray
			var yyq1201 [7]bool
			_, _, _ = yysep1201, yyq1201, yy2arr1201
			const yyr1201 bool = false
			yyq1201[1] = x.Signal != 0
			yyq1201[2] = x.Reason != ""
			yyq1201[3] = x.Message != ""
			yyq1201[4] = true
			yyq1201[5] = true
			yyq1201[6] = x.ContainerID != ""
			if yyr1201 || yy2arr1201 {
				r.EncodeArrayStart(7)
			} else {
				var yynn1201 int = 1
				for _, b := range yyq1201 {
					if b {
						yynn1201++
					}
				}
				r.EncodeMapStart(yynn1201)
			}
			if yyr1201 || yy2arr1201 {
				yym1203 := z.EncBinary()
				_ = yym1203
				if false {
				} else {
					r.EncodeInt(int64(x.ExitCode))
				}
			} else {
				r.EncodeString(codecSelferC_UTF81234, string("exitCode"))
				yym1204 := z.EncBinary()
				_ = yym1204
				if false {
				} else {
					r.EncodeInt(int64(x.ExitCode))
				}
			}
			if yyr1201 || yy2arr1201 {
				if yyq1201[1] {
					yym1206 := z.EncBinary()
					_ = yym1206
					if false {
					} else {
						r.EncodeInt(int64(x.Signal))
					}
				} else {
					r.EncodeInt(0)
				}
			} else {
				if yyq1201[1] {
					r.EncodeString(codecSelferC_UTF81234, string("signal"))
					yym1207 := z.EncBinary()
					_ = yym1207
					if false {
					} else {
						r.EncodeInt(int64(x.Signal))
					}
				}
			}
			if yyr1201 || yy2arr1201 {
				if yyq1201[2] {
					yym1209 := z.EncBinary()
					_ = yym1209
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Reason))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq1201[2] {
					r.EncodeString(codecSelferC_UTF81234, string("reason"))
					yym1210 := z.EncBinary()
					_ = yym1210
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Reason))
					}
				}
			}
			if yyr1201 || yy2arr1201 {
				if yyq1201[3] {
					yym1212 := z.EncBinary()
					_ = yym1212
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Message))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq1201[3] {
					r.EncodeString(codecSelferC_UTF81234, string("message"))
					yym1213 := z.EncBinary()
					_ = yym1213
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Message))
					}
				}
			}
			if yyr1201 || yy2arr1201 {
				if yyq1201[4] {
					yy1215 := &x.StartedAt
					yym1216 := z.EncBinary()
					_ = yym1216
					if false {
					} else if z.HasExtensions() && z.EncExt(yy1215) {
					} else if yym1216 {
						z.EncBinaryMarshal(yy1215)
					} else if !yym1216 && z.IsJSONHandle() {
						z.EncJSONMarshal(yy1215)
					} else {
						z.EncFallback(yy1215)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1201[4] {
					r.EncodeString(codecSelferC_UTF81234, string("startedAt"))
					yy1217 := &x.StartedAt
					yym1218 := z.EncBinary()
					_ = yym1218
					if false {
					} else if z.HasExtensions() && z.EncExt(yy1217) {
					} else if yym1218 {
						z.EncBinaryMarshal(yy1217)
					} else if !yym1218 && z.IsJSONHandle() {
						z.EncJSONMarshal(yy1217)
					} else {
						z.EncFallback(yy1217)
					}
				}
			}
			if yyr1201 || yy2arr1201 {
				if yyq1201[5] {
					yy1220 := &x.FinishedAt
					yym1221 := z.EncBinary()
					_ = yym1221
					if false {
					} else if z.HasExtensions() && z.EncExt(yy1220) {
					} else if yym1221 {
						z.EncBinaryMarshal(yy1220)
					} else if !yym1221 && z.IsJSONHandle() {
						z.EncJSONMarshal(yy1220)
					} else {
						z.EncFallback(yy1220)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1201[5] {
					r.EncodeString(codecSelferC_UTF81234, string("finishedAt"))
					yy1222 := &x.FinishedAt
					yym1223 := z.EncBinary()
					_ = yym1223
					if false {
					} else if z.HasExtensions() && z.EncExt(yy1222) {
					} else if yym1223 {
						z.EncBinaryMarshal(yy1222)
					} else if !yym1223 && z.IsJSONHandle() {
						z.EncJSONMarshal(yy1222)
					} else {
						z.EncFallback(yy1222)
					}
				}
			}
			if yyr1201 || yy2arr1201 {
				if yyq1201[6] {
					yym1225 := z.EncBinary()
					_ = yym1225
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.ContainerID))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq1201[6] {
					r.EncodeString(codecSelferC_UTF81234, string("containerID"))
					yym1226 := z.EncBinary()
					_ = yym1226
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.ContainerID))
					}
				}
			}
			if yysep1201 {
				r.EncodeEnd()
			}
		}
	}
}

func (x *ContainerStateTerminated) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym1227 := z.DecBinary()
	_ = yym1227
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		if r.IsContainerType(codecSelferValueTypeMap1234) {
			yyl1228 := r.ReadMapStart()
			if yyl1228 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromMap(yyl1228, d)
			}
		} else if r.IsContainerType(codecSelferValueTypeArray1234) {
			yyl1228 := r.ReadArrayStart()
			if yyl1228 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromArray(yyl1228, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *ContainerStateTerminated) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys1229Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys1229Slc
	var yyhl1229 bool = l >= 0
	for yyj1229 := 0; ; yyj1229++ {
		if yyhl1229 {
			if yyj1229 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		yys1229Slc = r.DecodeBytes(yys1229Slc, true, true)
		yys1229 := string(yys1229Slc)
		switch yys1229 {
		case "exitCode":
			if r.TryDecodeAsNil() {
				x.ExitCode = 0
			} else {
				x.ExitCode = int(r.DecodeInt(codecSelferBitsize1234))
			}
		case "signal":
			if r.TryDecodeAsNil() {
				x.Signal = 0
			} else {
				x.Signal = int(r.DecodeInt(codecSelferBitsize1234))
			}
		case "reason":
			if r.TryDecodeAsNil() {
				x.Reason = ""
			} else {
				x.Reason = string(r.DecodeString())
			}
		case "message":
			if r.TryDecodeAsNil() {
				x.Message = ""
			} else {
				x.Message = string(r.DecodeString())
			}
		case "startedAt":
			if r.TryDecodeAsNil() {
				x.StartedAt = pkg2_unversioned.Time{}
			} else {
				yyv1234 := &x.StartedAt
				yym1235 := z.DecBinary()
				_ = yym1235
				if false {
				} else if z.HasExtensions() && z.DecExt(yyv1234) {
				} else if yym1235 {
					z.DecBinaryUnmarshal(yyv1234)
				} else if !yym1235 && z.IsJSONHandle() {
					z.DecJSONUnmarshal(yyv1234)
				} else {
					z.DecFallback(yyv1234, false)
				}
			}
		case "finishedAt":
			if r.TryDecodeAsNil() {
				x.FinishedAt = pkg2_unversioned.Time{}
			} else {
				yyv1236 := &x.FinishedAt
				yym1237 := z.DecBinary()
				_ = yym1237
				if false {
				} else if z.HasExtensions() && z.DecExt(yyv1236) {
				} else if yym1237 {
					z.DecBinaryUnmarshal(yyv1236)
				} else if !yym1237 && z.IsJSONHandle() {
					z.DecJSONUnmarshal(yyv1236)
				} else {
					z.DecFallback(yyv1236, false)
				}
			}
		case "containerID":
			if r.TryDecodeAsNil() {
				x.ContainerID = ""
			} else {
				x.ContainerID = string(r.DecodeString())
			}
		default:
			z.DecStructFieldNotFound(-1, yys1229)
		} // end switch yys1229
	} // end for yyj1229
	if !yyhl1229 {
		r.ReadEnd()
	}
}

func (x *ContainerStateTerminated) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj1239 int
	var yyb1239 bool
	var yyhl1239 bool = l >= 0
	yyj1239++
	if yyhl1239 {
		yyb1239 = yyj1239 > l
	} else {
		yyb1239 = r.CheckBreak()
	}
	if yyb1239 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.ExitCode = 0
	} else {
		x.ExitCode = int(r.DecodeInt(codecSelferBitsize1234))
	}
	yyj1239++
	if yyhl1239 {
		yyb1239 = yyj1239 > l
	} else {
		yyb1239 = r.CheckBreak()
	}
	if yyb1239 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.Signal = 0
	} else {
		x.Signal = int(r.DecodeInt(codecSelferBitsize1234))
	}
	yyj1239++
	if yyhl1239 {
		yyb1239 = yyj1239 > l
	} else {
		yyb1239 = r.CheckBreak()
	}
	if yyb1239 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.Reason = ""
	} else {
		x.Reason = string(r.DecodeString())
	}
	yyj1239++
	if yyhl1239 {
		yyb1239 = yyj1239 > l
	} else {
		yyb1239 = r.CheckBreak()
	}
	if yyb1239 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.Message = ""
	} else {
		x.Message = string(r.DecodeString())
	}
	yyj1239++
	if yyhl1239 {
		yyb1239 = yyj1239 > l
	} else {
		yyb1239 = r.CheckBreak()
	}
	if yyb1239 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.StartedAt = pkg2_unversioned.Time{}
	} else {
		yyv1244 := &x.StartedAt
		yym1245 := z.DecBinary()
		_ = yym1245
		if false {
		} else if z.HasExtensions() && z.DecExt(yyv1244) {
		} else if yym1245 {
			z.DecBinaryUnmarshal(yyv1244)
		} else if !yym1245 && z.IsJSONHandle() {
			z.DecJSONUnmarshal(yyv1244)
		} else {
			z.DecFallback(yyv1244, false)
		}
	}
	yyj1239++
	if yyhl1239 {
		yyb1239 = yyj1239 > l
	} else {
		yyb1239 = r.CheckBreak()
	}
	if yyb1239 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.FinishedAt = pkg2_unversioned.Time{}
	} else {
		yyv1246 := &x.FinishedAt
		yym1247 := z.DecBinary()
		_ = yym1247
		if false {
		} else if z.HasExtensions() && z.DecExt(yyv1246) {
		} else if yym1247 {
			z.DecBinaryUnmarshal(yyv1246)
		} else if !yym1247 && z.IsJSONHandle() {
			z.DecJSONUnmarshal(yyv1246)
		} else {
			z.DecFallback(yyv1246, false)
		}
	}
	yyj1239++
	if yyhl1239 {
		yyb1239 = yyj1239 > l
	} else {
		yyb1239 = r.CheckBreak()
	}
	if yyb1239 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.ContainerID = ""
	} else {
		x.ContainerID = string(r.DecodeString())
	}
	for {
		yyj1239++
		if yyhl1239 {
			yyb1239 = yyj1239 > l
		} else {
			yyb1239 = r.CheckBreak()
		}
		if yyb1239 {
			break
		}
		z.DecStructFieldNotFound(yyj1239-1, "")
	}
	r.ReadEnd()
}

func (x *ContainerState) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym1249 := z.EncBinary()
		_ = yym1249
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep1250 := !z.EncBinary()
			yy2arr1250 := z.EncBasicHandle().StructToArray
			var yyq1250 [3]bool
			_, _, _ = yysep1250, yyq1250, yy2arr1250
			const yyr1250 bool = false
			yyq1250[0] = x.Waiting != nil
			yyq1250[1] = x.Running != nil
			yyq1250[2] = x.Terminated != nil
			if yyr1250 || yy2arr1250 {
				r.EncodeArrayStart(3)
			} else {
				var yynn1250 int = 0
				for _, b := range yyq1250 {
					if b {
						yynn1250++
					}
				}
				r.EncodeMapStart(yynn1250)
			}
			if yyr1250 || yy2arr1250 {
				if yyq1250[0] {
					if x.Waiting == nil {
						r.EncodeNil()
					} else {
						x.Waiting.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1250[0] {
					r.EncodeString(codecSelferC_UTF81234, string("waiting"))
					if x.Waiting == nil {
						r.EncodeNil()
					} else {
						x.Waiting.CodecEncodeSelf(e)
					}
				}
			}
			if yyr1250 || yy2arr1250 {
				if yyq1250[1] {
					if x.Running == nil {
						r.EncodeNil()
					} else {
						x.Running.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1250[1] {
					r.EncodeString(codecSelferC_UTF81234, string("running"))
					if x.Running == nil {
						r.EncodeNil()
					} else {
						x.Running.CodecEncodeSelf(e)
					}
				}
			}
			if yyr1250 || yy2arr1250 {
				if yyq1250[2] {
					if x.Terminated == nil {
						r.EncodeNil()
					} else {
						x.Terminated.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1250[2] {
					r.EncodeString(codecSelferC_UTF81234, string("terminated"))
					if x.Terminated == nil {
						r.EncodeNil()
					} else {
						x.Terminated.CodecEncodeSelf(e)
					}
				}
			}
			if yysep1250 {
				r.EncodeEnd()
			}
		}
	}
}

func (x *ContainerState) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym1254 := z.DecBinary()
	_ = yym1254
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		if r.IsContainerType(codecSelferValueTypeMap1234) {
			yyl1255 := r.ReadMapStart()
			if yyl1255 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromMap(yyl1255, d)
			}
		} else if r.IsContainerType(codecSelferValueTypeArray1234) {
			yyl1255 := r.ReadArrayStart()
			if yyl1255 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromArray(yyl1255, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *ContainerState) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys1256Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys1256Slc
	var yyhl1256 bool = l >= 0
	for yyj1256 := 0; ; yyj1256++ {
		if yyhl1256 {
			if yyj1256 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		yys1256Slc = r.DecodeBytes(yys1256Slc, true, true)
		yys1256 := string(yys1256Slc)
		switch yys1256 {
		case "waiting":
			if r.TryDecodeAsNil() {
				if x.Waiting != nil {
					x.Waiting = nil
				}
			} else {
				if x.Waiting == nil {
					x.Waiting = new(ContainerStateWaiting)
				}
				x.Waiting.CodecDecodeSelf(d)
			}
		case "running":
			if r.TryDecodeAsNil() {
				if x.Running != nil {
					x.Running = nil
				}
			} else {
				if x.Running == nil {
					x.Running = new(ContainerStateRunning)
				}
				x.Running.CodecDecodeSelf(d)
			}
		case "terminated":
			if r.TryDecodeAsNil() {
				if x.Terminated != nil {
					x.Terminated = nil
				}
			} else {
				if x.Terminated == nil {
					x.Terminated = new(ContainerStateTerminated)
				}
				x.Terminated.CodecDecodeSelf(d)
			}
		default:
			z.DecStructFieldNotFound(-1, yys1256)
		} // end switch yys1256
	} // end for yyj1256
	if !yyhl1256 {
		r.ReadEnd()
	}
}

func (x *ContainerState) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj1260 int
	var yyb1260 bool
	var yyhl1260 bool = l >= 0
	yyj1260++
	if yyhl1260 {
		yyb1260 = yyj1260 > l
	} else {
		yyb1260 = r.CheckBreak()
	}
	if yyb1260 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		if x.Waiting != nil {
			x.Waiting = nil
		}
	} else {
		if x.Waiting == nil {
			x.Waiting = new(ContainerStateWaiting)
		}
		x.Waiting.CodecDecodeSelf(d)
	}
	yyj1260++
	if yyhl1260 {
		yyb1260 = yyj1260 > l
	} else {
		yyb1260 = r.CheckBreak()
	}
	if yyb1260 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		if x.Running != nil {
			x.Running = nil
		}
	} else {
		if x.Running == nil {
			x.Running = new(ContainerStateRunning)
		}
		x.Running.CodecDecodeSelf(d)
	}
	yyj1260++
	if yyhl1260 {
		yyb1260 = yyj1260 > l
	} else {
		yyb1260 = r.CheckBreak()
	}
	if yyb1260 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		if x.Terminated != nil {
			x.Terminated = nil
		}
	} else {
		if x.Terminated == nil {
			x.Terminated = new(ContainerStateTerminated)
		}
		x.Terminated.CodecDecodeSelf(d)
	}
	for {
		yyj1260++
		if yyhl1260 {
			yyb1260 = yyj1260 > l
		} else {
			yyb1260 = r.CheckBreak()
		}
		if yyb1260 {
			break
		}
		z.DecStructFieldNotFound(yyj1260-1, "")
	}
	r.ReadEnd()
}

func (x *ContainerStatus) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym1264 := z.EncBinary()
		_ = yym1264
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep1265 := !z.EncBinary()
			yy2arr1265 := z.EncBasicHandle().StructToArray
			var yyq1265 [8]bool
			_, _, _ = yysep1265, yyq1265, yy2arr1265
			const yyr1265 bool = false
			yyq1265[1] = true
			yyq1265[2] = true
			yyq1265[7] = x.ContainerID != ""
			if yyr1265 || yy2arr1265 {
				r.EncodeArrayStart(8)
			} else {
				var yynn1265 int = 5
				for _, b := range yyq1265 {
					if b {
						yynn1265++
					}
				}
				r.EncodeMapStart(yynn1265)
			}
			if yyr1265 || yy2arr1265 {
				yym1267 := z.EncBinary()
				_ = yym1267
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.Name))
				}
			} else {
				r.EncodeString(codecSelferC_UTF81234, string("name"))
				yym1268 := z.EncBinary()
				_ = yym1268
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.Name))
				}
			}
			if yyr1265 || yy2arr1265 {
				if yyq1265[1] {
					yy1270 := &x.State
					yy1270.CodecEncodeSelf(e)
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1265[1] {
					r.EncodeString(codecSelferC_UTF81234, string("state"))
					yy1271 := &x.State
					yy1271.CodecEncodeSelf(e)
				}
			}
			if yyr1265 || yy2arr1265 {
				if yyq1265[2] {
					yy1273 := &x.LastTerminationState
					yy1273.CodecEncodeSelf(e)
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1265[2] {
					r.EncodeString(codecSelferC_UTF81234, string("lastState"))
					yy1274 := &x.LastTerminationState
					yy1274.CodecEncodeSelf(e)
				}
			}
			if yyr1265 || yy2arr1265 {
				yym1276 := z.EncBinary()
				_ = yym1276
				if false {
				} else {
					r.EncodeBool(bool(x.Ready))
				}
			} else {
				r.EncodeString(codecSelferC_UTF81234, string("ready"))
				yym1277 := z.EncBinary()
				_ = yym1277
				if false {
				} else {
					r.EncodeBool(bool(x.Ready))
				}
			}
			if yyr1265 || yy2arr1265 {
				yym1279 := z.EncBinary()
				_ = yym1279
				if false {
				} else {
					r.EncodeInt(int64(x.RestartCount))
				}
			} else {
				r.EncodeString(codecSelferC_UTF81234, string("restartCount"))
				yym1280 := z.EncBinary()
				_ = yym1280
				if false {
				} else {
					r.EncodeInt(int64(x.RestartCount))
				}
			}
			if yyr1265 || yy2arr1265 {
				yym1282 := z.EncBinary()
				_ = yym1282
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.Image))
				}
			} else {
				r.EncodeString(codecSelferC_UTF81234, string("image"))
				yym1283 := z.EncBinary()
				_ = yym1283
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.Image))
				}
			}
			if yyr1265 || yy2arr1265 {
				yym1285 := z.EncBinary()
				_ = yym1285
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.ImageID))
				}
			} else {
				r.EncodeString(codecSelferC_UTF81234, string("imageID"))
				yym1286 := z.EncBinary()
				_ = yym1286
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.ImageID))
				}
			}
			if yyr1265 || yy2arr1265 {
				if yyq1265[7] {
					yym1288 := z.EncBinary()
					_ = yym1288
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.ContainerID))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq1265[7] {
					r.EncodeString(codecSelferC_UTF81234, string("containerID"))
					yym1289 := z.EncBinary()
					_ = yym1289
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.ContainerID))
					}
				}
			}
			if yysep1265 {
				r.EncodeEnd()
			}
		}
	}
}

func (x *ContainerStatus) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym1290 := z.DecBinary()
	_ = yym1290
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		if r.IsContainerType(codecSelferValueTypeMap1234) {
			yyl1291 := r.ReadMapStart()
			if yyl1291 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromMap(yyl1291, d)
			}
		} else if r.IsContainerType(codecSelferValueTypeArray1234) {
			yyl1291 := r.ReadArrayStart()
			if yyl1291 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromArray(yyl1291, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *ContainerStatus) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys1292Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys1292Slc
	var yyhl1292 bool = l >= 0
	for yyj1292 := 0; ; yyj1292++ {
		if yyhl1292 {
			if yyj1292 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		yys1292Slc = r.DecodeBytes(yys1292Slc, true, true)
		yys1292 := string(yys1292Slc)
		switch yys1292 {
		case "name":
			if r.TryDecodeAsNil() {
				x.Name = ""
			} else {
				x.Name = string(r.DecodeString())
			}
		case "state":
			if r.TryDecodeAsNil() {
				x.State = ContainerState{}
			} else {
				yyv1294 := &x.State
				yyv1294.CodecDecodeSelf(d)
			}
		case "lastState":
			if r.TryDecodeAsNil() {
				x.LastTerminationState = ContainerState{}
			} else {
				yyv1295 := &x.LastTerminationState
				yyv1295.CodecDecodeSelf(d)
			}
		case "ready":
			if r.TryDecodeAsNil() {
				x.Ready = false
			} else {
				x.Ready = bool(r.DecodeBool())
			}
		case "restartCount":
			if r.TryDecodeAsNil() {
				x.RestartCount = 0
			} else {
				x.RestartCount = int(r.DecodeInt(codecSelferBitsize1234))
			}
		case "image":
			if r.TryDecodeAsNil() {
				x.Image = ""
			} else {
				x.Image = string(r.DecodeString())
			}
		case "imageID":
			if r.TryDecodeAsNil() {
				x.ImageID = ""
			} else {
				x.ImageID = string(r.DecodeString())
			}
		case "containerID":
			if r.TryDecodeAsNil() {
				x.ContainerID = ""
			} else {
				x.ContainerID = string(r.DecodeString())
			}
		default:
			z.DecStructFieldNotFound(-1, yys1292)
		} // end switch yys1292
	} // end for yyj1292
	if !yyhl1292 {
		r.ReadEnd()
	}
}

func (x *ContainerStatus) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj1301 int
	var yyb1301 bool
	var yyhl1301 bool = l >= 0
	yyj1301++
	if yyhl1301 {
		yyb1301 = yyj1301 > l
	} else {
		yyb1301 = r.CheckBreak()
	}
	if yyb1301 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.Name = ""
	} else {
		x.Name = string(r.DecodeString())
	}
	yyj1301++
	if yyhl1301 {
		yyb1301 = yyj1301 > l
	} else {
		yyb1301 = r.CheckBreak()
	}
	if yyb1301 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.State = ContainerState{}
	} else {
		yyv1303 := &x.State
		yyv1303.CodecDecodeSelf(d)
	}
	yyj1301++
	if yyhl1301 {
		yyb1301 = yyj1301 > l
	} else {
		yyb1301 = r.CheckBreak()
	}
	if yyb1301 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.LastTerminationState = ContainerState{}
	} else {
		yyv1304 := &x.LastTerminationState
		yyv1304.CodecDecodeSelf(d)
	}
	yyj1301++
	if yyhl1301 {
		yyb1301 = yyj1301 > l
	} else {
		yyb1301 = r.CheckBreak()
	}
	if yyb1301 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.Ready = false
	} else {
		x.Ready = bool(r.DecodeBool())
	}
	yyj1301++
	if yyhl1301 {
		yyb1301 = yyj1301 > l
	} else {
		yyb1301 = r.CheckBreak()
	}
	if yyb1301 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.RestartCount = 0
	} else {
		x.RestartCount = int(r.DecodeInt(codecSelferBitsize1234))
	}
	yyj1301++
	if yyhl1301 {
		yyb1301 = yyj1301 > l
	} else {
		yyb1301 = r.CheckBreak()
	}
	if yyb1301 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.Image = ""
	} else {
		x.Image = string(r.DecodeString())
	}
	yyj1301++
	if yyhl1301 {
		yyb1301 = yyj1301 > l
	} else {
		yyb1301 = r.CheckBreak()
	}
	if yyb1301 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.ImageID = ""
	} else {
		x.ImageID = string(r.DecodeString())
	}
	yyj1301++
	if yyhl1301 {
		yyb1301 = yyj1301 > l
	} else {
		yyb1301 = r.CheckBreak()
	}
	if yyb1301 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.ContainerID = ""
	} else {
		x.ContainerID = string(r.DecodeString())
	}
	for {
		yyj1301++
		if yyhl1301 {
			yyb1301 = yyj1301 > l
		} else {
			yyb1301 = r.CheckBreak()
		}
		if yyb1301 {
			break
		}
		z.DecStructFieldNotFound(yyj1301-1, "")
	}
	r.ReadEnd()
}

func (x PodPhase) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	yym1310 := z.EncBinary()
	_ = yym1310
	if false {
	} else if z.HasExtensions() && z.EncExt(x) {
	} else {
		r.EncodeString(codecSelferC_UTF81234, string(x))
	}
}

func (x *PodPhase) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym1311 := z.DecBinary()
	_ = yym1311
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		*((*string)(x)) = r.DecodeString()
	}
}

func (x PodConditionType) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	yym1312 := z.EncBinary()
	_ = yym1312
	if false {
	} else if z.HasExtensions() && z.EncExt(x) {
	} else {
		r.EncodeString(codecSelferC_UTF81234, string(x))
	}
}

func (x *PodConditionType) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym1313 := z.DecBinary()
	_ = yym1313
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		*((*string)(x)) = r.DecodeString()
	}
}

func (x *PodCondition) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym1314 := z.EncBinary()
		_ = yym1314
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep1315 := !z.EncBinary()
			yy2arr1315 := z.EncBasicHandle().StructToArray
			var yyq1315 [6]bool
			_, _, _ = yysep1315, yyq1315, yy2arr1315
			const yyr1315 bool = false
			yyq1315[2] = true
			yyq1315[3] = true
			yyq1315[4] = x.Reason != ""
			yyq1315[5] = x.Message != ""
			if yyr1315 || yy2arr1315 {
				r.EncodeArrayStart(6)
			} else {
				var yynn1315 int = 2
				for _, b := range yyq1315 {
					if b {
						yynn1315++
					}
				}
				r.EncodeMapStart(yynn1315)
			}
			if yyr1315 || yy2arr1315 {
				x.Type.CodecEncodeSelf(e)
			} else {
				r.EncodeString(codecSelferC_UTF81234, string("type"))
				x.Type.CodecEncodeSelf(e)
			}
			if yyr1315 || yy2arr1315 {
				x.Status.CodecEncodeSelf(e)
			} else {
				r.EncodeString(codecSelferC_UTF81234, string("status"))
				x.Status.CodecEncodeSelf(e)
			}
			if yyr1315 || yy2arr1315 {
				if yyq1315[2] {
					yy1319 := &x.LastProbeTime
					yym1320 := z.EncBinary()
					_ = yym1320
					if false {
					} else if z.HasExtensions() && z.EncExt(yy1319) {
					} else if yym1320 {
						z.EncBinaryMarshal(yy1319)
					} else if !yym1320 && z.IsJSONHandle() {
						z.EncJSONMarshal(yy1319)
					} else {
						z.EncFallback(yy1319)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1315[2] {
					r.EncodeString(codecSelferC_UTF81234, string("lastProbeTime"))
					yy1321 := &x.LastProbeTime
					yym1322 := z.EncBinary()
					_ = yym1322
					if false {
					} else if z.HasExtensions() && z.EncExt(yy1321) {
					} else if yym1322 {
						z.EncBinaryMarshal(yy1321)
					} else if !yym1322 && z.IsJSONHandle() {
						z.EncJSONMarshal(yy1321)
					} else {
						z.EncFallback(yy1321)
					}
				}
			}
			if yyr1315 || yy2arr1315 {
				if yyq1315[3] {
					yy1324 := &x.LastTransitionTime
					yym1325 := z.EncBinary()
					_ = yym1325
					if false {
					} else if z.HasExtensions() && z.EncExt(yy1324) {
					} else if yym1325 {
						z.EncBinaryMarshal(yy1324)
					} else if !yym1325 && z.IsJSONHandle() {
						z.EncJSONMarshal(yy1324)
					} else {
						z.EncFallback(yy1324)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1315[3] {
					r.EncodeString(codecSelferC_UTF81234, string("lastTransitionTime"))
					yy1326 := &x.LastTransitionTime
					yym1327 := z.EncBinary()
					_ = yym1327
					if false {
					} else if z.HasExtensions() && z.EncExt(yy1326) {
					} else if yym1327 {
						z.EncBinaryMarshal(yy1326)
					} else if !yym1327 && z.IsJSONHandle() {
						z.EncJSONMarshal(yy1326)
					} else {
						z.EncFallback(yy1326)
					}
				}
			}
			if yyr1315 || yy2arr1315 {
				if yyq1315[4] {
					yym1329 := z.EncBinary()
					_ = yym1329
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Reason))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq1315[4] {
					r.EncodeString(codecSelferC_UTF81234, string("reason"))
					yym1330 := z.EncBinary()
					_ = yym1330
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Reason))
					}
				}
			}
			if yyr1315 || yy2arr1315 {
				if yyq1315[5] {
					yym1332 := z.EncBinary()
					_ = yym1332
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Message))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq1315[5] {
					r.EncodeString(codecSelferC_UTF81234, string("message"))
					yym1333 := z.EncBinary()
					_ = yym1333
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Message))
					}
				}
			}
			if yysep1315 {
				r.EncodeEnd()
			}
		}
	}
}

func (x *PodCondition) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym1334 := z.DecBinary()
	_ = yym1334
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		if r.IsContainerType(codecSelferValueTypeMap1234) {
			yyl1335 := r.ReadMapStart()
			if yyl1335 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromMap(yyl1335, d)
			}
		} else if r.IsContainerType(codecSelferValueTypeArray1234) {
			yyl1335 := r.ReadArrayStart()
			if yyl1335 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromArray(yyl1335, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *PodCondition) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys1336Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys1336Slc
	var yyhl1336 bool = l >= 0
	for yyj1336 := 0; ; yyj1336++ {
		if yyhl1336 {
			if yyj1336 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		yys1336Slc = r.DecodeBytes(yys1336Slc, true, true)
		yys1336 := string(yys1336Slc)
		switch yys1336 {
		case "type":
			if r.TryDecodeAsNil() {
				x.Type = ""
			} else {
				x.Type = PodConditionType(r.DecodeString())
			}
		case "status":
			if r.TryDecodeAsNil() {
				x.Status = ""
			} else {
				x.Status = ConditionStatus(r.DecodeString())
			}
		case "lastProbeTime":
			if r.TryDecodeAsNil() {
				x.LastProbeTime = pkg2_unversioned.Time{}
			} else {
				yyv1339 := &x.LastProbeTime
				yym1340 := z.DecBinary()
				_ = yym1340
				if false {
				} else if z.HasExtensions() && z.DecExt(yyv1339) {
				} else if yym1340 {
					z.DecBinaryUnmarshal(yyv1339)
				} else if !yym1340 && z.IsJSONHandle() {
					z.DecJSONUnmarshal(yyv1339)
				} else {
					z.DecFallback(yyv1339, false)
				}
			}
		case "lastTransitionTime":
			if r.TryDecodeAsNil() {
				x.LastTransitionTime = pkg2_unversioned.Time{}
			} else {
				yyv1341 := &x.LastTransitionTime
				yym1342 := z.DecBinary()
				_ = yym1342
				if false {
				} else if z.HasExtensions() && z.DecExt(yyv1341) {
				} else if yym1342 {
					z.DecBinaryUnmarshal(yyv1341)
				} else if !yym1342 && z.IsJSONHandle() {
					z.DecJSONUnmarshal(yyv1341)
				} else {
					z.DecFallback(yyv1341, false)
				}
			}
		case "reason":
			if r.TryDecodeAsNil() {
				x.Reason = ""
			} else {
				x.Reason = string(r.DecodeString())
			}
		case "message":
			if r.TryDecodeAsNil() {
				x.Message = ""
			} else {
				x.Message = string(r.DecodeString())
			}
		default:
			z.DecStructFieldNotFound(-1, yys1336)
		} // end switch yys1336
	} // end for yyj1336
	if !yyhl1336 {
		r.ReadEnd()
	}
}

func (x *PodCondition) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj1345 int
	var yyb1345 bool
	var yyhl1345 bool = l >= 0
	yyj1345++
	if yyhl1345 {
		yyb1345 = yyj1345 > l
	} else {
		yyb1345 = r.CheckBreak()
	}
	if yyb1345 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.Type = ""
	} else {
		x.Type = PodConditionType(r.DecodeString())
	}
	yyj1345++
	if yyhl1345 {
		yyb1345 = yyj1345 > l
	} else {
		yyb1345 = r.CheckBreak()
	}
	if yyb1345 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.Status = ""
	} else {
		x.Status = ConditionStatus(r.DecodeString())
	}
	yyj1345++
	if yyhl1345 {
		yyb1345 = yyj1345 > l
	} else {
		yyb1345 = r.CheckBreak()
	}
	if yyb1345 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.LastProbeTime = pkg2_unversioned.Time{}
	} else {
		yyv1348 := &x.LastProbeTime
		yym1349 := z.DecBinary()
		_ = yym1349
		if false {
		} else if z.HasExtensions() && z.DecExt(yyv1348) {
		} else if yym1349 {
			z.DecBinaryUnmarshal(yyv1348)
		} else if !yym1349 && z.IsJSONHandle() {
			z.DecJSONUnmarshal(yyv1348)
		} else {
			z.DecFallback(yyv1348, false)
		}
	}
	yyj1345++
	if yyhl1345 {
		yyb1345 = yyj1345 > l
	} else {
		yyb1345 = r.CheckBreak()
	}
	if yyb1345 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.LastTransitionTime = pkg2_unversioned.Time{}
	} else {
		yyv1350 := &x.LastTransitionTime
		yym1351 := z.DecBinary()
		_ = yym1351
		if false {
		} else if z.HasExtensions() && z.DecExt(yyv1350) {
		} else if yym1351 {
			z.DecBinaryUnmarshal(yyv1350)
		} else if !yym1351 && z.IsJSONHandle() {
			z.DecJSONUnmarshal(yyv1350)
		} else {
			z.DecFallback(yyv1350, false)
		}
	}
	yyj1345++
	if yyhl1345 {
		yyb1345 = yyj1345 > l
	} else {
		yyb1345 = r.CheckBreak()
	}
	if yyb1345 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.Reason = ""
	} else {
		x.Reason = string(r.DecodeString())
	}
	yyj1345++
	if yyhl1345 {
		yyb1345 = yyj1345 > l
	} else {
		yyb1345 = r.CheckBreak()
	}
	if yyb1345 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.Message = ""
	} else {
		x.Message = string(r.DecodeString())
	}
	for {
		yyj1345++
		if yyhl1345 {
			yyb1345 = yyj1345 > l
		} else {
			yyb1345 = r.CheckBreak()
		}
		if yyb1345 {
			break
		}
		z.DecStructFieldNotFound(yyj1345-1, "")
	}
	r.ReadEnd()
}

func (x RestartPolicy) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	yym1354 := z.EncBinary()
	_ = yym1354
	if false {
	} else if z.HasExtensions() && z.EncExt(x) {
	} else {
		r.EncodeString(codecSelferC_UTF81234, string(x))
	}
}

func (x *RestartPolicy) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym1355 := z.DecBinary()
	_ = yym1355
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		*((*string)(x)) = r.DecodeString()
	}
}

func (x DNSPolicy) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	yym1356 := z.EncBinary()
	_ = yym1356
	if false {
	} else if z.HasExtensions() && z.EncExt(x) {
	} else {
		r.EncodeString(codecSelferC_UTF81234, string(x))
	}
}

func (x *DNSPolicy) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym1357 := z.DecBinary()
	_ = yym1357
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		*((*string)(x)) = r.DecodeString()
	}
}

func (x *PodSpec) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym1358 := z.EncBinary()
		_ = yym1358
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep1359 := !z.EncBinary()
			yy2arr1359 := z.EncBasicHandle().StructToArray
			var yyq1359 [15]bool
			_, _, _ = yysep1359, yyq1359, yy2arr1359
			const yyr1359 bool = false
			yyq1359[0] = len(x.Volumes) != 0
			yyq1359[2] = x.RestartPolicy != ""
			yyq1359[3] = x.TerminationGracePeriodSeconds != nil
			yyq1359[4] = x.ActiveDeadlineSeconds != nil
			yyq1359[5] = x.DNSPolicy != ""
			yyq1359[6] = len(x.NodeSelector) != 0
			yyq1359[7] = x.ServiceAccountName != ""
			yyq1359[8] = x.DeprecatedServiceAccount != ""
			yyq1359[9] = x.NodeName != ""
			yyq1359[10] = x.HostNetwork != false
			yyq1359[11] = x.HostPID != false
			yyq1359[12] = x.HostIPC != false
			yyq1359[13] = x.SecurityContext != nil
			yyq1359[14] = len(x.ImagePullSecrets) != 0
			if yyr1359 || yy2arr1359 {
				r.EncodeArrayStart(15)
			} else {
				var yynn1359 int = 1
				for _, b := range yyq1359 {
					if b {
						yynn1359++
					}
				}
				r.EncodeMapStart(yynn1359)
			}
			if yyr1359 || yy2arr1359 {
				if yyq1359[0] {
					if x.Volumes == nil {
						r.EncodeNil()
					} else {
						yym1361 := z.EncBinary()
						_ = yym1361
						if false {
						} else {
							h.encSliceVolume(([]Volume)(x.Volumes), e)
						}
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1359[0] {
					r.EncodeString(codecSelferC_UTF81234, string("volumes"))
					if x.Volumes == nil {
						r.EncodeNil()
					} else {
						yym1362 := z.EncBinary()
						_ = yym1362
						if false {
						} else {
							h.encSliceVolume(([]Volume)(x.Volumes), e)
						}
					}
				}
			}
			if yyr1359 || yy2arr1359 {
				if x.Containers == nil {
					r.EncodeNil()
				} else {
					yym1364 := z.EncBinary()
					_ = yym1364
					if false {
					} else {
						h.encSliceContainer(([]Container)(x.Containers), e)
					}
				}
			} else {
				r.EncodeString(codecSelferC_UTF81234, string("containers"))
				if x.Containers == nil {
					r.EncodeNil()
				} else {
					yym1365 := z.EncBinary()
					_ = yym1365
					if false {
					} else {
						h.encSliceContainer(([]Container)(x.Containers), e)
					}
				}
			}
			if yyr1359 || yy2arr1359 {
				if yyq1359[2] {
					x.RestartPolicy.CodecEncodeSelf(e)
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq1359[2] {
					r.EncodeString(codecSelferC_UTF81234, string("restartPolicy"))
					x.RestartPolicy.CodecEncodeSelf(e)
				}
			}
			if yyr1359 || yy2arr1359 {
				if yyq1359[3] {
					if x.TerminationGracePeriodSeconds == nil {
						r.EncodeNil()
					} else {
						yy1368 := *x.TerminationGracePeriodSeconds
						yym1369 := z.EncBinary()
						_ = yym1369
						if false {
						} else {
							r.EncodeInt(int64(yy1368))
						}
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1359[3] {
					r.EncodeString(codecSelferC_UTF81234, string("terminationGracePeriodSeconds"))
					if x.TerminationGracePeriodSeconds == nil {
						r.EncodeNil()
					} else {
						yy1370 := *x.TerminationGracePeriodSeconds
						yym1371 := z.EncBinary()
						_ = yym1371
						if false {
						} else {
							r.EncodeInt(int64(yy1370))
						}
					}
				}
			}
			if yyr1359 || yy2arr1359 {
				if yyq1359[4] {
					if x.ActiveDeadlineSeconds == nil {
						r.EncodeNil()
					} else {
						yy1373 := *x.ActiveDeadlineSeconds
						yym1374 := z.EncBinary()
						_ = yym1374
						if false {
						} else {
							r.EncodeInt(int64(yy1373))
						}
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1359[4] {
					r.EncodeString(codecSelferC_UTF81234, string("activeDeadlineSeconds"))
					if x.ActiveDeadlineSeconds == nil {
						r.EncodeNil()
					} else {
						yy1375 := *x.ActiveDeadlineSeconds
						yym1376 := z.EncBinary()
						_ = yym1376
						if false {
						} else {
							r.EncodeInt(int64(yy1375))
						}
					}
				}
			}
			if yyr1359 || yy2arr1359 {
				if yyq1359[5] {
					x.DNSPolicy.CodecEncodeSelf(e)
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq1359[5] {
					r.EncodeString(codecSelferC_UTF81234, string("dnsPolicy"))
					x.DNSPolicy.CodecEncodeSelf(e)
				}
			}
			if yyr1359 || yy2arr1359 {
				if yyq1359[6] {
					if x.NodeSelector == nil {
						r.EncodeNil()
					} else {
						yym1379 := z.EncBinary()
						_ = yym1379
						if false {
						} else {
							z.F.EncMapStringStringV(x.NodeSelector, false, e)
						}
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1359[6] {
					r.EncodeString(codecSelferC_UTF81234, string("nodeSelector"))
					if x.NodeSelector == nil {
						r.EncodeNil()
					} else {
						yym1380 := z.EncBinary()
						_ = yym1380
						if false {
						} else {
							z.F.EncMapStringStringV(x.NodeSelector, false, e)
						}
					}
				}
			}
			if yyr1359 || yy2arr1359 {
				if yyq1359[7] {
					yym1382 := z.EncBinary()
					_ = yym1382
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.ServiceAccountName))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq1359[7] {
					r.EncodeString(codecSelferC_UTF81234, string("serviceAccountName"))
					yym1383 := z.EncBinary()
					_ = yym1383
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.ServiceAccountName))
					}
				}
			}
			if yyr1359 || yy2arr1359 {
				if yyq1359[8] {
					yym1385 := z.EncBinary()
					_ = yym1385
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.DeprecatedServiceAccount))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq1359[8] {
					r.EncodeString(codecSelferC_UTF81234, string("serviceAccount"))
					yym1386 := z.EncBinary()
					_ = yym1386
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.DeprecatedServiceAccount))
					}
				}
			}
			if yyr1359 || yy2arr1359 {
				if yyq1359[9] {
					yym1388 := z.EncBinary()
					_ = yym1388
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.NodeName))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq1359[9] {
					r.EncodeString(codecSelferC_UTF81234, string("nodeName"))
					yym1389 := z.EncBinary()
					_ = yym1389
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.NodeName))
					}
				}
			}
			if yyr1359 || yy2arr1359 {
				if yyq1359[10] {
					yym1391 := z.EncBinary()
					_ = yym1391
					if false {
					} else {
						r.EncodeBool(bool(x.HostNetwork))
					}
				} else {
					r.EncodeBool(false)
				}
			} else {
				if yyq1359[10] {
					r.EncodeString(codecSelferC_UTF81234, string("hostNetwork"))
					yym1392 := z.EncBinary()
					_ = yym1392
					if false {
					} else {
						r.EncodeBool(bool(x.HostNetwork))
					}
				}
			}
			if yyr1359 || yy2arr1359 {
				if yyq1359[11] {
					yym1394 := z.EncBinary()
					_ = yym1394
					if false {
					} else {
						r.EncodeBool(bool(x.HostPID))
					}
				} else {
					r.EncodeBool(false)
				}
			} else {
				if yyq1359[11] {
					r.EncodeString(codecSelferC_UTF81234, string("hostPID"))
					yym1395 := z.EncBinary()
					_ = yym1395
					if false {
					} else {
						r.EncodeBool(bool(x.HostPID))
					}
				}
			}
			if yyr1359 || yy2arr1359 {
				if yyq1359[12] {
					yym1397 := z.EncBinary()
					_ = yym1397
					if false {
					} else {
						r.EncodeBool(bool(x.HostIPC))
					}
				} else {
					r.EncodeBool(false)
				}
			} else {
				if yyq1359[12] {
					r.EncodeString(codecSelferC_UTF81234, string("hostIPC"))
					yym1398 := z.EncBinary()
					_ = yym1398
					if false {
					} else {
						r.EncodeBool(bool(x.HostIPC))
					}
				}
			}
			if yyr1359 || yy2arr1359 {
				if yyq1359[13] {
					if x.SecurityContext == nil {
						r.EncodeNil()
					} else {
						x.SecurityContext.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1359[13] {
					r.EncodeString(codecSelferC_UTF81234, string("securityContext"))
					if x.SecurityContext == nil {
						r.EncodeNil()
					} else {
						x.SecurityContext.CodecEncodeSelf(e)
					}
				}
			}
			if yyr1359 || yy2arr1359 {
				if yyq1359[14] {
					if x.ImagePullSecrets == nil {
						r.EncodeNil()
					} else {
						yym1401 := z.EncBinary()
						_ = yym1401
						if false {
						} else {
							h.encSliceLocalObjectReference(([]LocalObjectReference)(x.ImagePullSecrets), e)
						}
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1359[14] {
					r.EncodeString(codecSelferC_UTF81234, string("imagePullSecrets"))
					if x.ImagePullSecrets == nil {
						r.EncodeNil()
					} else {
						yym1402 := z.EncBinary()
						_ = yym1402
						if false {
						} else {
							h.encSliceLocalObjectReference(([]LocalObjectReference)(x.ImagePullSecrets), e)
						}
					}
				}
			}
			if yysep1359 {
				r.EncodeEnd()
			}
		}
	}
}

func (x *PodSpec) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym1403 := z.DecBinary()
	_ = yym1403
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		if r.IsContainerType(codecSelferValueTypeMap1234) {
			yyl1404 := r.ReadMapStart()
			if yyl1404 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromMap(yyl1404, d)
			}
		} else if r.IsContainerType(codecSelferValueTypeArray1234) {
			yyl1404 := r.ReadArrayStart()
			if yyl1404 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromArray(yyl1404, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *PodSpec) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys1405Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys1405Slc
	var yyhl1405 bool = l >= 0
	for yyj1405 := 0; ; yyj1405++ {
		if yyhl1405 {
			if yyj1405 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		yys1405Slc = r.DecodeBytes(yys1405Slc, true, true)
		yys1405 := string(yys1405Slc)
		switch yys1405 {
		case "volumes":
			if r.TryDecodeAsNil() {
				x.Volumes = nil
			} else {
				yyv1406 := &x.Volumes
				yym1407 := z.DecBinary()
				_ = yym1407
				if false {
				} else {
					h.decSliceVolume((*[]Volume)(yyv1406), d)
				}
			}
		case "containers":
			if r.TryDecodeAsNil() {
				x.Containers = nil
			} else {
				yyv1408 := &x.Containers
				yym1409 := z.DecBinary()
				_ = yym1409
				if false {
				} else {
					h.decSliceContainer((*[]Container)(yyv1408), d)
				}
			}
		case "restartPolicy":
			if r.TryDecodeAsNil() {
				x.RestartPolicy = ""
			} else {
				x.RestartPolicy = RestartPolicy(r.DecodeString())
			}
		case "terminationGracePeriodSeconds":
			if r.TryDecodeAsNil() {
				if x.TerminationGracePeriodSeconds != nil {
					x.TerminationGracePeriodSeconds = nil
				}
			} else {
				if x.TerminationGracePeriodSeconds == nil {
					x.TerminationGracePeriodSeconds = new(int64)
				}
				yym1412 := z.DecBinary()
				_ = yym1412
				if false {
				} else {
					*((*int64)(x.TerminationGracePeriodSeconds)) = int64(r.DecodeInt(64))
				}
			}
		case "activeDeadlineSeconds":
			if r.TryDecodeAsNil() {
				if x.ActiveDeadlineSeconds != nil {
					x.ActiveDeadlineSeconds = nil
				}
			} else {
				if x.ActiveDeadlineSeconds == nil {
					x.ActiveDeadlineSeconds = new(int64)
				}
				yym1414 := z.DecBinary()
				_ = yym1414
				if false {
				} else {
					*((*int64)(x.ActiveDeadlineSeconds)) = int64(r.DecodeInt(64))
				}
			}
		case "dnsPolicy":
			if r.TryDecodeAsNil() {
				x.DNSPolicy = ""
			} else {
				x.DNSPolicy = DNSPolicy(r.DecodeString())
			}
		case "nodeSelector":
			if r.TryDecodeAsNil() {
				x.NodeSelector = nil
			} else {
				yyv1416 := &x.NodeSelector
				yym1417 := z.DecBinary()
				_ = yym1417
				if false {
				} else {
					z.F.DecMapStringStringX(yyv1416, false, d)
				}
			}
		case "serviceAccountName":
			if r.TryDecodeAsNil() {
				x.ServiceAccountName = ""
			} else {
				x.ServiceAccountName = string(r.DecodeString())
			}
		case "serviceAccount":
			if r.TryDecodeAsNil() {
				x.DeprecatedServiceAccount = ""
			} else {
				x.DeprecatedServiceAccount = string(r.DecodeString())
			}
		case "nodeName":
			if r.TryDecodeAsNil() {
				x.NodeName = ""
			} else {
				x.NodeName = string(r.DecodeString())
			}
		case "hostNetwork":
			if r.TryDecodeAsNil() {
				x.HostNetwork = false
			} else {
				x.HostNetwork = bool(r.DecodeBool())
			}
		case "hostPID":
			if r.TryDecodeAsNil() {
				x.HostPID = false
			} else {
				x.HostPID = bool(r.DecodeBool())
			}
		case "hostIPC":
			if r.TryDecodeAsNil() {
				x.HostIPC = false
			} else {
				x.HostIPC = bool(r.DecodeBool())
			}
		case "securityContext":
			if r.TryDecodeAsNil() {
				if x.SecurityContext != nil {
					x.SecurityContext = nil
				}
			} else {
				if x.SecurityContext == nil {
					x.SecurityContext = new(PodSecurityContext)
				}
				x.SecurityContext.CodecDecodeSelf(d)
			}
		case "imagePullSecrets":
			if r.TryDecodeAsNil() {
				x.ImagePullSecrets = nil
			} else {
				yyv1425 := &x.ImagePullSecrets
				yym1426 := z.DecBinary()
				_ = yym1426
				if false {
				} else {
					h.decSliceLocalObjectReference((*[]LocalObjectReference)(yyv1425), d)
				}
			}
		default:
			z.DecStructFieldNotFound(-1, yys1405)
		} // end switch yys1405
	} // end for yyj1405
	if !yyhl1405 {
		r.ReadEnd()
	}
}

func (x *PodSpec) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj1427 int
	var yyb1427 bool
	var yyhl1427 bool = l >= 0
	yyj1427++
	if yyhl1427 {
		yyb1427 = yyj1427 > l
	} else {
		yyb1427 = r.CheckBreak()
	}
	if yyb1427 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.Volumes = nil
	} else {
		yyv1428 := &x.Volumes
		yym1429 := z.DecBinary()
		_ = yym1429
		if false {
		} else {
			h.decSliceVolume((*[]Volume)(yyv1428), d)
		}
	}
	yyj1427++
	if yyhl1427 {
		yyb1427 = yyj1427 > l
	} else {
		yyb1427 = r.CheckBreak()
	}
	if yyb1427 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.Containers = nil
	} else {
		yyv1430 := &x.Containers
		yym1431 := z.DecBinary()
		_ = yym1431
		if false {
		} else {
			h.decSliceContainer((*[]Container)(yyv1430), d)
		}
	}
	yyj1427++
	if yyhl1427 {
		yyb1427 = yyj1427 > l
	} else {
		yyb1427 = r.CheckBreak()
	}
	if yyb1427 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.RestartPolicy = ""
	} else {
		x.RestartPolicy = RestartPolicy(r.DecodeString())
	}
	yyj1427++
	if yyhl1427 {
		yyb1427 = yyj1427 > l
	} else {
		yyb1427 = r.CheckBreak()
	}
	if yyb1427 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		if x.TerminationGracePeriodSeconds != nil {
			x.TerminationGracePeriodSeconds = nil
		}
	} else {
		if x.TerminationGracePeriodSeconds == nil {
			x.TerminationGracePeriodSeconds = new(int64)
		}
		yym1434 := z.DecBinary()
		_ = yym1434
		if false {
		} else {
			*((*int64)(x.TerminationGracePeriodSeconds)) = int64(r.DecodeInt(64))
		}
	}
	yyj1427++
	if yyhl1427 {
		yyb1427 = yyj1427 > l
	} else {
		yyb1427 = r.CheckBreak()
	}
	if yyb1427 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		if x.ActiveDeadlineSeconds != nil {
			x.ActiveDeadlineSeconds = nil
		}
	} else {
		if x.ActiveDeadlineSeconds == nil {
			x.ActiveDeadlineSeconds = new(int64)
		}
		yym1436 := z.DecBinary()
		_ = yym1436
		if false {
		} else {
			*((*int64)(x.ActiveDeadlineSeconds)) = int64(r.DecodeInt(64))
		}
	}
	yyj1427++
	if yyhl1427 {
		yyb1427 = yyj1427 > l
	} else {
		yyb1427 = r.CheckBreak()
	}
	if yyb1427 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.DNSPolicy = ""
	} else {
		x.DNSPolicy = DNSPolicy(r.DecodeString())
	}
	yyj1427++
	if yyhl1427 {
		yyb1427 = yyj1427 > l
	} else {
		yyb1427 = r.CheckBreak()
	}
	if yyb1427 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.NodeSelector = nil
	} else {
		yyv1438 := &x.NodeSelector
		yym1439 := z.DecBinary()
		_ = yym1439
		if false {
		} else {
			z.F.DecMapStringStringX(yyv1438, false, d)
		}
	}
	yyj1427++
	if yyhl1427 {
		yyb1427 = yyj1427 > l
	} else {
		yyb1427 = r.CheckBreak()
	}
	if yyb1427 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.ServiceAccountName = ""
	} else {
		x.ServiceAccountName = string(r.DecodeString())
	}
	yyj1427++
	if yyhl1427 {
		yyb1427 = yyj1427 > l
	} else {
		yyb1427 = r.CheckBreak()
	}
	if yyb1427 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.DeprecatedServiceAccount = ""
	} else {
		x.DeprecatedServiceAccount = string(r.DecodeString())
	}
	yyj1427++
	if yyhl1427 {
		yyb1427 = yyj1427 > l
	} else {
		yyb1427 = r.CheckBreak()
	}
	if yyb1427 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.NodeName = ""
	} else {
		x.NodeName = string(r.DecodeString())
	}
	yyj1427++
	if yyhl1427 {
		yyb1427 = yyj1427 > l
	} else {
		yyb1427 = r.CheckBreak()
	}
	if yyb1427 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.HostNetwork = false
	} else {
		x.HostNetwork = bool(r.DecodeBool())
	}
	yyj1427++
	if yyhl1427 {
		yyb1427 = yyj1427 > l
	} else {
		yyb1427 = r.CheckBreak()
	}
	if yyb1427 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.HostPID = false
	} else {
		x.HostPID = bool(r.DecodeBool())
	}
	yyj1427++
	if yyhl1427 {
		yyb1427 = yyj1427 > l
	} else {
		yyb1427 = r.CheckBreak()
	}
	if yyb1427 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.HostIPC = false
	} else {
		x.HostIPC = bool(r.DecodeBool())
	}
	yyj1427++
	if yyhl1427 {
		yyb1427 = yyj1427 > l
	} else {
		yyb1427 = r.CheckBreak()
	}
	if yyb1427 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		if x.SecurityContext != nil {
			x.SecurityContext = nil
		}
	} else {
		if x.SecurityContext == nil {
			x.SecurityContext = new(PodSecurityContext)
		}
		x.SecurityContext.CodecDecodeSelf(d)
	}
	yyj1427++
	if yyhl1427 {
		yyb1427 = yyj1427 > l
	} else {
		yyb1427 = r.CheckBreak()
	}
	if yyb1427 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.ImagePullSecrets = nil
	} else {
		yyv1447 := &x.ImagePullSecrets
		yym1448 := z.DecBinary()
		_ = yym1448
		if false {
		} else {
			h.decSliceLocalObjectReference((*[]LocalObjectReference)(yyv1447), d)
		}
	}
	for {
		yyj1427++
		if yyhl1427 {
			yyb1427 = yyj1427 > l
		} else {
			yyb1427 = r.CheckBreak()
		}
		if yyb1427 {
			break
		}
		z.DecStructFieldNotFound(yyj1427-1, "")
	}
	r.ReadEnd()
}

func (x *PodSecurityContext) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym1449 := z.EncBinary()
		_ = yym1449
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep1450 := !z.EncBinary()
			yy2arr1450 := z.EncBasicHandle().StructToArray
			var yyq1450 [5]bool
			_, _, _ = yysep1450, yyq1450, yy2arr1450
			const yyr1450 bool = false
			yyq1450[0] = x.SELinuxOptions != nil
			yyq1450[1] = x.RunAsUser != nil
			yyq1450[2] = x.RunAsNonRoot != nil
			yyq1450[3] = len(x.SupplementalGroups) != 0
			yyq1450[4] = x.FSGroup != nil
			if yyr1450 || yy2arr1450 {
				r.EncodeArrayStart(5)
			} else {
				var yynn1450 int = 0
				for _, b := range yyq1450 {
					if b {
						yynn1450++
					}
				}
				r.EncodeMapStart(yynn1450)
			}
			if yyr1450 || yy2arr1450 {
				if yyq1450[0] {
					if x.SELinuxOptions == nil {
						r.EncodeNil()
					} else {
						x.SELinuxOptions.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1450[0] {
					r.EncodeString(codecSelferC_UTF81234, string("seLinuxOptions"))
					if x.SELinuxOptions == nil {
						r.EncodeNil()
					} else {
						x.SELinuxOptions.CodecEncodeSelf(e)
					}
				}
			}
			if yyr1450 || yy2arr1450 {
				if yyq1450[1] {
					if x.RunAsUser == nil {
						r.EncodeNil()
					} else {
						yy1453 := *x.RunAsUser
						yym1454 := z.EncBinary()
						_ = yym1454
						if false {
						} else {
							r.EncodeInt(int64(yy1453))
						}
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1450[1] {
					r.EncodeString(codecSelferC_UTF81234, string("runAsUser"))
					if x.RunAsUser == nil {
						r.EncodeNil()
					} else {
						yy1455 := *x.RunAsUser
						yym1456 := z.EncBinary()
						_ = yym1456
						if false {
						} else {
							r.EncodeInt(int64(yy1455))
						}
					}
				}
			}
			if yyr1450 || yy2arr1450 {
				if yyq1450[2] {
					if x.RunAsNonRoot == nil {
						r.EncodeNil()
					} else {
						yy1458 := *x.RunAsNonRoot
						yym1459 := z.EncBinary()
						_ = yym1459
						if false {
						} else {
							r.EncodeBool(bool(yy1458))
						}
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1450[2] {
					r.EncodeString(codecSelferC_UTF81234, string("runAsNonRoot"))
					if x.RunAsNonRoot == nil {
						r.EncodeNil()
					} else {
						yy1460 := *x.RunAsNonRoot
						yym1461 := z.EncBinary()
						_ = yym1461
						if false {
						} else {
							r.EncodeBool(bool(yy1460))
						}
					}
				}
			}
			if yyr1450 || yy2arr1450 {
				if yyq1450[3] {
					if x.SupplementalGroups == nil {
						r.EncodeNil()
					} else {
						yym1463 := z.EncBinary()
						_ = yym1463
						if false {
						} else {
							z.F.EncSliceInt64V(x.SupplementalGroups, false, e)
						}
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1450[3] {
					r.EncodeString(codecSelferC_UTF81234, string("supplementalGroups"))
					if x.SupplementalGroups == nil {
						r.EncodeNil()
					} else {
						yym1464 := z.EncBinary()
						_ = yym1464
						if false {
						} else {
							z.F.EncSliceInt64V(x.SupplementalGroups, false, e)
						}
					}
				}
			}
			if yyr1450 || yy2arr1450 {
				if yyq1450[4] {
					if x.FSGroup == nil {
						r.EncodeNil()
					} else {
						yy1466 := *x.FSGroup
						yym1467 := z.EncBinary()
						_ = yym1467
						if false {
						} else {
							r.EncodeInt(int64(yy1466))
						}
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1450[4] {
					r.EncodeString(codecSelferC_UTF81234, string("fsGroup"))
					if x.FSGroup == nil {
						r.EncodeNil()
					} else {
						yy1468 := *x.FSGroup
						yym1469 := z.EncBinary()
						_ = yym1469
						if false {
						} else {
							r.EncodeInt(int64(yy1468))
						}
					}
				}
			}
			if yysep1450 {
				r.EncodeEnd()
			}
		}
	}
}

func (x *PodSecurityContext) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym1470 := z.DecBinary()
	_ = yym1470
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		if r.IsContainerType(codecSelferValueTypeMap1234) {
			yyl1471 := r.ReadMapStart()
			if yyl1471 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromMap(yyl1471, d)
			}
		} else if r.IsContainerType(codecSelferValueTypeArray1234) {
			yyl1471 := r.ReadArrayStart()
			if yyl1471 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromArray(yyl1471, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *PodSecurityContext) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys1472Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys1472Slc
	var yyhl1472 bool = l >= 0
	for yyj1472 := 0; ; yyj1472++ {
		if yyhl1472 {
			if yyj1472 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		yys1472Slc = r.DecodeBytes(yys1472Slc, true, true)
		yys1472 := string(yys1472Slc)
		switch yys1472 {
		case "seLinuxOptions":
			if r.TryDecodeAsNil() {
				if x.SELinuxOptions != nil {
					x.SELinuxOptions = nil
				}
			} else {
				if x.SELinuxOptions == nil {
					x.SELinuxOptions = new(SELinuxOptions)
				}
				x.SELinuxOptions.CodecDecodeSelf(d)
			}
		case "runAsUser":
			if r.TryDecodeAsNil() {
				if x.RunAsUser != nil {
					x.RunAsUser = nil
				}
			} else {
				if x.RunAsUser == nil {
					x.RunAsUser = new(int64)
				}
				yym1475 := z.DecBinary()
				_ = yym1475
				if false {
				} else {
					*((*int64)(x.RunAsUser)) = int64(r.DecodeInt(64))
				}
			}
		case "runAsNonRoot":
			if r.TryDecodeAsNil() {
				if x.RunAsNonRoot != nil {
					x.RunAsNonRoot = nil
				}
			} else {
				if x.RunAsNonRoot == nil {
					x.RunAsNonRoot = new(bool)
				}
				yym1477 := z.DecBinary()
				_ = yym1477
				if false {
				} else {
					*((*bool)(x.RunAsNonRoot)) = r.DecodeBool()
				}
			}
		case "supplementalGroups":
			if r.TryDecodeAsNil() {
				x.SupplementalGroups = nil
			} else {
				yyv1478 := &x.SupplementalGroups
				yym1479 := z.DecBinary()
				_ = yym1479
				if false {
				} else {
					z.F.DecSliceInt64X(yyv1478, false, d)
				}
			}
		case "fsGroup":
			if r.TryDecodeAsNil() {
				if x.FSGroup != nil {
					x.FSGroup = nil
				}
			} else {
				if x.FSGroup == nil {
					x.FSGroup = new(int64)
				}
				yym1481 := z.DecBinary()
				_ = yym1481
				if false {
				} else {
					*((*int64)(x.FSGroup)) = int64(r.DecodeInt(64))
				}
			}
		default:
			z.DecStructFieldNotFound(-1, yys1472)
		} // end switch yys1472
	} // end for yyj1472
	if !yyhl1472 {
		r.ReadEnd()
	}
}

func (x *PodSecurityContext) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj1482 int
	var yyb1482 bool
	var yyhl1482 bool = l >= 0
	yyj1482++
	if yyhl1482 {
		yyb1482 = yyj1482 > l
	} else {
		yyb1482 = r.CheckBreak()
	}
	if yyb1482 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		if x.SELinuxOptions != nil {
			x.SELinuxOptions = nil
		}
	} else {
		if x.SELinuxOptions == nil {
			x.SELinuxOptions = new(SELinuxOptions)
		}
		x.SELinuxOptions.CodecDecodeSelf(d)
	}
	yyj1482++
	if yyhl1482 {
		yyb1482 = yyj1482 > l
	} else {
		yyb1482 = r.CheckBreak()
	}
	if yyb1482 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		if x.RunAsUser != nil {
			x.RunAsUser = nil
		}
	} else {
		if x.RunAsUser == nil {
			x.RunAsUser = new(int64)
		}
		yym1485 := z.DecBinary()
		_ = yym1485
		if false {
		} else {
			*((*int64)(x.RunAsUser)) = int64(r.DecodeInt(64))
		}
	}
	yyj1482++
	if yyhl1482 {
		yyb1482 = yyj1482 > l
	} else {
		yyb1482 = r.CheckBreak()
	}
	if yyb1482 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		if x.RunAsNonRoot != nil {
			x.RunAsNonRoot = nil
		}
	} else {
		if x.RunAsNonRoot == nil {
			x.RunAsNonRoot = new(bool)
		}
		yym1487 := z.DecBinary()
		_ = yym1487
		if false {
		} else {
			*((*bool)(x.RunAsNonRoot)) = r.DecodeBool()
		}
	}
	yyj1482++
	if yyhl1482 {
		yyb1482 = yyj1482 > l
	} else {
		yyb1482 = r.CheckBreak()
	}
	if yyb1482 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.SupplementalGroups = nil
	} else {
		yyv1488 := &x.SupplementalGroups
		yym1489 := z.DecBinary()
		_ = yym1489
		if false {
		} else {
			z.F.DecSliceInt64X(yyv1488, false, d)
		}
	}
	yyj1482++
	if yyhl1482 {
		yyb1482 = yyj1482 > l
	} else {
		yyb1482 = r.CheckBreak()
	}
	if yyb1482 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		if x.FSGroup != nil {
			x.FSGroup = nil
		}
	} else {
		if x.FSGroup == nil {
			x.FSGroup = new(int64)
		}
		yym1491 := z.DecBinary()
		_ = yym1491
		if false {
		} else {
			*((*int64)(x.FSGroup)) = int64(r.DecodeInt(64))
		}
	}
	for {
		yyj1482++
		if yyhl1482 {
			yyb1482 = yyj1482 > l
		} else {
			yyb1482 = r.CheckBreak()
		}
		if yyb1482 {
			break
		}
		z.DecStructFieldNotFound(yyj1482-1, "")
	}
	r.ReadEnd()
}

func (x *PodStatus) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym1492 := z.EncBinary()
		_ = yym1492
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep1493 := !z.EncBinary()
			yy2arr1493 := z.EncBasicHandle().StructToArray
			var yyq1493 [8]bool
			_, _, _ = yysep1493, yyq1493, yy2arr1493
			const yyr1493 bool = false
			yyq1493[0] = x.Phase != ""
			yyq1493[1] = len(x.Conditions) != 0
			yyq1493[2] = x.Message != ""
			yyq1493[3] = x.Reason != ""
			yyq1493[4] = x.HostIP != ""
			yyq1493[5] = x.PodIP != ""
			yyq1493[6] = x.StartTime != nil
			yyq1493[7] = len(x.ContainerStatuses) != 0
			if yyr1493 || yy2arr1493 {
				r.EncodeArrayStart(8)
			} else {
				var yynn1493 int = 0
				for _, b := range yyq1493 {
					if b {
						yynn1493++
					}
				}
				r.EncodeMapStart(yynn1493)
			}
			if yyr1493 || yy2arr1493 {
				if yyq1493[0] {
					x.Phase.CodecEncodeSelf(e)
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq1493[0] {
					r.EncodeString(codecSelferC_UTF81234, string("phase"))
					x.Phase.CodecEncodeSelf(e)
				}
			}
			if yyr1493 || yy2arr1493 {
				if yyq1493[1] {
					if x.Conditions == nil {
						r.EncodeNil()
					} else {
						yym1496 := z.EncBinary()
						_ = yym1496
						if false {
						} else {
							h.encSlicePodCondition(([]PodCondition)(x.Conditions), e)
						}
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1493[1] {
					r.EncodeString(codecSelferC_UTF81234, string("conditions"))
					if x.Conditions == nil {
						r.EncodeNil()
					} else {
						yym1497 := z.EncBinary()
						_ = yym1497
						if false {
						} else {
							h.encSlicePodCondition(([]PodCondition)(x.Conditions), e)
						}
					}
				}
			}
			if yyr1493 || yy2arr1493 {
				if yyq1493[2] {
					yym1499 := z.EncBinary()
					_ = yym1499
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Message))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq1493[2] {
					r.EncodeString(codecSelferC_UTF81234, string("message"))
					yym1500 := z.EncBinary()
					_ = yym1500
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Message))
					}
				}
			}
			if yyr1493 || yy2arr1493 {
				if yyq1493[3] {
					yym1502 := z.EncBinary()
					_ = yym1502
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Reason))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq1493[3] {
					r.EncodeString(codecSelferC_UTF81234, string("reason"))
					yym1503 := z.EncBinary()
					_ = yym1503
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Reason))
					}
				}
			}
			if yyr1493 || yy2arr1493 {
				if yyq1493[4] {
					yym1505 := z.EncBinary()
					_ = yym1505
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.HostIP))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq1493[4] {
					r.EncodeString(codecSelferC_UTF81234, string("hostIP"))
					yym1506 := z.EncBinary()
					_ = yym1506
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.HostIP))
					}
				}
			}
			if yyr1493 || yy2arr1493 {
				if yyq1493[5] {
					yym1508 := z.EncBinary()
					_ = yym1508
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.PodIP))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq1493[5] {
					r.EncodeString(codecSelferC_UTF81234, string("podIP"))
					yym1509 := z.EncBinary()
					_ = yym1509
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.PodIP))
					}
				}
			}
			if yyr1493 || yy2arr1493 {
				if yyq1493[6] {
					if x.StartTime == nil {
						r.EncodeNil()
					} else {
						yym1511 := z.EncBinary()
						_ = yym1511
						if false {
						} else if z.HasExtensions() && z.EncExt(x.StartTime) {
						} else if yym1511 {
							z.EncBinaryMarshal(x.StartTime)
						} else if !yym1511 && z.IsJSONHandle() {
							z.EncJSONMarshal(x.StartTime)
						} else {
							z.EncFallback(x.StartTime)
						}
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1493[6] {
					r.EncodeString(codecSelferC_UTF81234, string("startTime"))
					if x.StartTime == nil {
						r.EncodeNil()
					} else {
						yym1512 := z.EncBinary()
						_ = yym1512
						if false {
						} else if z.HasExtensions() && z.EncExt(x.StartTime) {
						} else if yym1512 {
							z.EncBinaryMarshal(x.StartTime)
						} else if !yym1512 && z.IsJSONHandle() {
							z.EncJSONMarshal(x.StartTime)
						} else {
							z.EncFallback(x.StartTime)
						}
					}
				}
			}
			if yyr1493 || yy2arr1493 {
				if yyq1493[7] {
					if x.ContainerStatuses == nil {
						r.EncodeNil()
					} else {
						yym1514 := z.EncBinary()
						_ = yym1514
						if false {
						} else {
							h.encSliceContainerStatus(([]ContainerStatus)(x.ContainerStatuses), e)
						}
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1493[7] {
					r.EncodeString(codecSelferC_UTF81234, string("containerStatuses"))
					if x.ContainerStatuses == nil {
						r.EncodeNil()
					} else {
						yym1515 := z.EncBinary()
						_ = yym1515
						if false {
						} else {
							h.encSliceContainerStatus(([]ContainerStatus)(x.ContainerStatuses), e)
						}
					}
				}
			}
			if yysep1493 {
				r.EncodeEnd()
			}
		}
	}
}

func (x *PodStatus) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym1516 := z.DecBinary()
	_ = yym1516
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		if r.IsContainerType(codecSelferValueTypeMap1234) {
			yyl1517 := r.ReadMapStart()
			if yyl1517 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromMap(yyl1517, d)
			}
		} else if r.IsContainerType(codecSelferValueTypeArray1234) {
			yyl1517 := r.ReadArrayStart()
			if yyl1517 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromArray(yyl1517, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *PodStatus) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys1518Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys1518Slc
	var yyhl1518 bool = l >= 0
	for yyj1518 := 0; ; yyj1518++ {
		if yyhl1518 {
			if yyj1518 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		yys1518Slc = r.DecodeBytes(yys1518Slc, true, true)
		yys1518 := string(yys1518Slc)
		switch yys1518 {
		case "phase":
			if r.TryDecodeAsNil() {
				x.Phase = ""
			} else {
				x.Phase = PodPhase(r.DecodeString())
			}
		case "conditions":
			if r.TryDecodeAsNil() {
				x.Conditions = nil
			} else {
				yyv1520 := &x.Conditions
				yym1521 := z.DecBinary()
				_ = yym1521
				if false {
				} else {
					h.decSlicePodCondition((*[]PodCondition)(yyv1520), d)
				}
			}
		case "message":
			if r.TryDecodeAsNil() {
				x.Message = ""
			} else {
				x.Message = string(r.DecodeString())
			}
		case "reason":
			if r.TryDecodeAsNil() {
				x.Reason = ""
			} else {
				x.Reason = string(r.DecodeString())
			}
		case "hostIP":
			if r.TryDecodeAsNil() {
				x.HostIP = ""
			} else {
				x.HostIP = string(r.DecodeString())
			}
		case "podIP":
			if r.TryDecodeAsNil() {
				x.PodIP = ""
			} else {
				x.PodIP = string(r.DecodeString())
			}
		case "startTime":
			if r.TryDecodeAsNil() {
				if x.StartTime != nil {
					x.StartTime = nil
				}
			} else {
				if x.StartTime == nil {
					x.StartTime = new(pkg2_unversioned.Time)
				}
				yym1527 := z.DecBinary()
				_ = yym1527
				if false {
				} else if z.HasExtensions() && z.DecExt(x.StartTime) {
				} else if yym1527 {
					z.DecBinaryUnmarshal(x.StartTime)
				} else if !yym1527 && z.IsJSONHandle() {
					z.DecJSONUnmarshal(x.StartTime)
				} else {
					z.DecFallback(x.StartTime, false)
				}
			}
		case "containerStatuses":
			if r.TryDecodeAsNil() {
				x.ContainerStatuses = nil
			} else {
				yyv1528 := &x.ContainerStatuses
				yym1529 := z.DecBinary()
				_ = yym1529
				if false {
				} else {
					h.decSliceContainerStatus((*[]ContainerStatus)(yyv1528), d)
				}
			}
		default:
			z.DecStructFieldNotFound(-1, yys1518)
		} // end switch yys1518
	} // end for yyj1518
	if !yyhl1518 {
		r.ReadEnd()
	}
}

func (x *PodStatus) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj1530 int
	var yyb1530 bool
	var yyhl1530 bool = l >= 0
	yyj1530++
	if yyhl1530 {
		yyb1530 = yyj1530 > l
	} else {
		yyb1530 = r.CheckBreak()
	}
	if yyb1530 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.Phase = ""
	} else {
		x.Phase = PodPhase(r.DecodeString())
	}
	yyj1530++
	if yyhl1530 {
		yyb1530 = yyj1530 > l
	} else {
		yyb1530 = r.CheckBreak()
	}
	if yyb1530 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.Conditions = nil
	} else {
		yyv1532 := &x.Conditions
		yym1533 := z.DecBinary()
		_ = yym1533
		if false {
		} else {
			h.decSlicePodCondition((*[]PodCondition)(yyv1532), d)
		}
	}
	yyj1530++
	if yyhl1530 {
		yyb1530 = yyj1530 > l
	} else {
		yyb1530 = r.CheckBreak()
	}
	if yyb1530 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.Message = ""
	} else {
		x.Message = string(r.DecodeString())
	}
	yyj1530++
	if yyhl1530 {
		yyb1530 = yyj1530 > l
	} else {
		yyb1530 = r.CheckBreak()
	}
	if yyb1530 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.Reason = ""
	} else {
		x.Reason = string(r.DecodeString())
	}
	yyj1530++
	if yyhl1530 {
		yyb1530 = yyj1530 > l
	} else {
		yyb1530 = r.CheckBreak()
	}
	if yyb1530 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.HostIP = ""
	} else {
		x.HostIP = string(r.DecodeString())
	}
	yyj1530++
	if yyhl1530 {
		yyb1530 = yyj1530 > l
	} else {
		yyb1530 = r.CheckBreak()
	}
	if yyb1530 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.PodIP = ""
	} else {
		x.PodIP = string(r.DecodeString())
	}
	yyj1530++
	if yyhl1530 {
		yyb1530 = yyj1530 > l
	} else {
		yyb1530 = r.CheckBreak()
	}
	if yyb1530 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		if x.StartTime != nil {
			x.StartTime = nil
		}
	} else {
		if x.StartTime == nil {
			x.StartTime = new(pkg2_unversioned.Time)
		}
		yym1539 := z.DecBinary()
		_ = yym1539
		if false {
		} else if z.HasExtensions() && z.DecExt(x.StartTime) {
		} else if yym1539 {
			z.DecBinaryUnmarshal(x.StartTime)
		} else if !yym1539 && z.IsJSONHandle() {
			z.DecJSONUnmarshal(x.StartTime)
		} else {
			z.DecFallback(x.StartTime, false)
		}
	}
	yyj1530++
	if yyhl1530 {
		yyb1530 = yyj1530 > l
	} else {
		yyb1530 = r.CheckBreak()
	}
	if yyb1530 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.ContainerStatuses = nil
	} else {
		yyv1540 := &x.ContainerStatuses
		yym1541 := z.DecBinary()
		_ = yym1541
		if false {
		} else {
			h.decSliceContainerStatus((*[]ContainerStatus)(yyv1540), d)
		}
	}
	for {
		yyj1530++
		if yyhl1530 {
			yyb1530 = yyj1530 > l
		} else {
			yyb1530 = r.CheckBreak()
		}
		if yyb1530 {
			break
		}
		z.DecStructFieldNotFound(yyj1530-1, "")
	}
	r.ReadEnd()
}

func (x *PodStatusResult) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym1542 := z.EncBinary()
		_ = yym1542
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep1543 := !z.EncBinary()
			yy2arr1543 := z.EncBasicHandle().StructToArray
			var yyq1543 [4]bool
			_, _, _ = yysep1543, yyq1543, yy2arr1543
			const yyr1543 bool = false
			yyq1543[0] = x.Kind != ""
			yyq1543[1] = x.APIVersion != ""
			yyq1543[2] = true
			yyq1543[3] = true
			if yyr1543 || yy2arr1543 {
				r.EncodeArrayStart(4)
			} else {
				var yynn1543 int = 0
				for _, b := range yyq1543 {
					if b {
						yynn1543++
					}
				}
				r.EncodeMapStart(yynn1543)
			}
			if yyr1543 || yy2arr1543 {
				if yyq1543[0] {
					yym1545 := z.EncBinary()
					_ = yym1545
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq1543[0] {
					r.EncodeString(codecSelferC_UTF81234, string("kind"))
					yym1546 := z.EncBinary()
					_ = yym1546
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				}
			}
			if yyr1543 || yy2arr1543 {
				if yyq1543[1] {
					yym1548 := z.EncBinary()
					_ = yym1548
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq1543[1] {
					r.EncodeString(codecSelferC_UTF81234, string("apiVersion"))
					yym1549 := z.EncBinary()
					_ = yym1549
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				}
			}
			if yyr1543 || yy2arr1543 {
				if yyq1543[2] {
					yy1551 := &x.ObjectMeta
					yy1551.CodecEncodeSelf(e)
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1543[2] {
					r.EncodeString(codecSelferC_UTF81234, string("metadata"))
					yy1552 := &x.ObjectMeta
					yy1552.CodecEncodeSelf(e)
				}
			}
			if yyr1543 || yy2arr1543 {
				if yyq1543[3] {
					yy1554 := &x.Status
					yy1554.CodecEncodeSelf(e)
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1543[3] {
					r.EncodeString(codecSelferC_UTF81234, string("status"))
					yy1555 := &x.Status
					yy1555.CodecEncodeSelf(e)
				}
			}
			if yysep1543 {
				r.EncodeEnd()
			}
		}
	}
}

func (x *PodStatusResult) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym1556 := z.DecBinary()
	_ = yym1556
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		if r.IsContainerType(codecSelferValueTypeMap1234) {
			yyl1557 := r.ReadMapStart()
			if yyl1557 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromMap(yyl1557, d)
			}
		} else if r.IsContainerType(codecSelferValueTypeArray1234) {
			yyl1557 := r.ReadArrayStart()
			if yyl1557 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromArray(yyl1557, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *PodStatusResult) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys1558Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys1558Slc
	var yyhl1558 bool = l >= 0
	for yyj1558 := 0; ; yyj1558++ {
		if yyhl1558 {
			if yyj1558 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		yys1558Slc = r.DecodeBytes(yys1558Slc, true, true)
		yys1558 := string(yys1558Slc)
		switch yys1558 {
		case "kind":
			if r.TryDecodeAsNil() {
				x.Kind = ""
			} else {
				x.Kind = string(r.DecodeString())
			}
		case "apiVersion":
			if r.TryDecodeAsNil() {
				x.APIVersion = ""
			} else {
				x.APIVersion = string(r.DecodeString())
			}
		case "metadata":
			if r.TryDecodeAsNil() {
				x.ObjectMeta = ObjectMeta{}
			} else {
				yyv1561 := &x.ObjectMeta
				yyv1561.CodecDecodeSelf(d)
			}
		case "status":
			if r.TryDecodeAsNil() {
				x.Status = PodStatus{}
			} else {
				yyv1562 := &x.Status
				yyv1562.CodecDecodeSelf(d)
			}
		default:
			z.DecStructFieldNotFound(-1, yys1558)
		} // end switch yys1558
	} // end for yyj1558
	if !yyhl1558 {
		r.ReadEnd()
	}
}

func (x *PodStatusResult) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj1563 int
	var yyb1563 bool
	var yyhl1563 bool = l >= 0
	yyj1563++
	if yyhl1563 {
		yyb1563 = yyj1563 > l
	} else {
		yyb1563 = r.CheckBreak()
	}
	if yyb1563 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.Kind = ""
	} else {
		x.Kind = string(r.DecodeString())
	}
	yyj1563++
	if yyhl1563 {
		yyb1563 = yyj1563 > l
	} else {
		yyb1563 = r.CheckBreak()
	}
	if yyb1563 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.APIVersion = ""
	} else {
		x.APIVersion = string(r.DecodeString())
	}
	yyj1563++
	if yyhl1563 {
		yyb1563 = yyj1563 > l
	} else {
		yyb1563 = r.CheckBreak()
	}
	if yyb1563 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.ObjectMeta = ObjectMeta{}
	} else {
		yyv1566 := &x.ObjectMeta
		yyv1566.CodecDecodeSelf(d)
	}
	yyj1563++
	if yyhl1563 {
		yyb1563 = yyj1563 > l
	} else {
		yyb1563 = r.CheckBreak()
	}
	if yyb1563 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.Status = PodStatus{}
	} else {
		yyv1567 := &x.Status
		yyv1567.CodecDecodeSelf(d)
	}
	for {
		yyj1563++
		if yyhl1563 {
			yyb1563 = yyj1563 > l
		} else {
			yyb1563 = r.CheckBreak()
		}
		if yyb1563 {
			break
		}
		z.DecStructFieldNotFound(yyj1563-1, "")
	}
	r.ReadEnd()
}

func (x *Pod) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym1568 := z.EncBinary()
		_ = yym1568
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep1569 := !z.EncBinary()
			yy2arr1569 := z.EncBasicHandle().StructToArray
			var yyq1569 [5]bool
			_, _, _ = yysep1569, yyq1569, yy2arr1569
			const yyr1569 bool = false
			yyq1569[0] = x.Kind != ""
			yyq1569[1] = x.APIVersion != ""
			yyq1569[2] = true
			yyq1569[3] = true
			yyq1569[4] = true
			if yyr1569 || yy2arr1569 {
				r.EncodeArrayStart(5)
			} else {
				var yynn1569 int = 0
				for _, b := range yyq1569 {
					if b {
						yynn1569++
					}
				}
				r.EncodeMapStart(yynn1569)
			}
			if yyr1569 || yy2arr1569 {
				if yyq1569[0] {
					yym1571 := z.EncBinary()
					_ = yym1571
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq1569[0] {
					r.EncodeString(codecSelferC_UTF81234, string("kind"))
					yym1572 := z.EncBinary()
					_ = yym1572
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				}
			}
			if yyr1569 || yy2arr1569 {
				if yyq1569[1] {
					yym1574 := z.EncBinary()
					_ = yym1574
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq1569[1] {
					r.EncodeString(codecSelferC_UTF81234, string("apiVersion"))
					yym1575 := z.EncBinary()
					_ = yym1575
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				}
			}
			if yyr1569 || yy2arr1569 {
				if yyq1569[2] {
					yy1577 := &x.ObjectMeta
					yy1577.CodecEncodeSelf(e)
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1569[2] {
					r.EncodeString(codecSelferC_UTF81234, string("metadata"))
					yy1578 := &x.ObjectMeta
					yy1578.CodecEncodeSelf(e)
				}
			}
			if yyr1569 || yy2arr1569 {
				if yyq1569[3] {
					yy1580 := &x.Spec
					yy1580.CodecEncodeSelf(e)
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1569[3] {
					r.EncodeString(codecSelferC_UTF81234, string("spec"))
					yy1581 := &x.Spec
					yy1581.CodecEncodeSelf(e)
				}
			}
			if yyr1569 || yy2arr1569 {
				if yyq1569[4] {
					yy1583 := &x.Status
					yy1583.CodecEncodeSelf(e)
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1569[4] {
					r.EncodeString(codecSelferC_UTF81234, string("status"))
					yy1584 := &x.Status
					yy1584.CodecEncodeSelf(e)
				}
			}
			if yysep1569 {
				r.EncodeEnd()
			}
		}
	}
}

func (x *Pod) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym1585 := z.DecBinary()
	_ = yym1585
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		if r.IsContainerType(codecSelferValueTypeMap1234) {
			yyl1586 := r.ReadMapStart()
			if yyl1586 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromMap(yyl1586, d)
			}
		} else if r.IsContainerType(codecSelferValueTypeArray1234) {
			yyl1586 := r.ReadArrayStart()
			if yyl1586 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromArray(yyl1586, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *Pod) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys1587Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys1587Slc
	var yyhl1587 bool = l >= 0
	for yyj1587 := 0; ; yyj1587++ {
		if yyhl1587 {
			if yyj1587 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		yys1587Slc = r.DecodeBytes(yys1587Slc, true, true)
		yys1587 := string(yys1587Slc)
		switch yys1587 {
		case "kind":
			if r.TryDecodeAsNil() {
				x.Kind = ""
			} else {
				x.Kind = string(r.DecodeString())
			}
		case "apiVersion":
			if r.TryDecodeAsNil() {
				x.APIVersion = ""
			} else {
				x.APIVersion = string(r.DecodeString())
			}
		case "metadata":
			if r.TryDecodeAsNil() {
				x.ObjectMeta = ObjectMeta{}
			} else {
				yyv1590 := &x.ObjectMeta
				yyv1590.CodecDecodeSelf(d)
			}
		case "spec":
			if r.TryDecodeAsNil() {
				x.Spec = PodSpec{}
			} else {
				yyv1591 := &x.Spec
				yyv1591.CodecDecodeSelf(d)
			}
		case "status":
			if r.TryDecodeAsNil() {
				x.Status = PodStatus{}
			} else {
				yyv1592 := &x.Status
				yyv1592.CodecDecodeSelf(d)
			}
		default:
			z.DecStructFieldNotFound(-1, yys1587)
		} // end switch yys1587
	} // end for yyj1587
	if !yyhl1587 {
		r.ReadEnd()
	}
}

func (x *Pod) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj1593 int
	var yyb1593 bool
	var yyhl1593 bool = l >= 0
	yyj1593++
	if yyhl1593 {
		yyb1593 = yyj1593 > l
	} else {
		yyb1593 = r.CheckBreak()
	}
	if yyb1593 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.Kind = ""
	} else {
		x.Kind = string(r.DecodeString())
	}
	yyj1593++
	if yyhl1593 {
		yyb1593 = yyj1593 > l
	} else {
		yyb1593 = r.CheckBreak()
	}
	if yyb1593 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.APIVersion = ""
	} else {
		x.APIVersion = string(r.DecodeString())
	}
	yyj1593++
	if yyhl1593 {
		yyb1593 = yyj1593 > l
	} else {
		yyb1593 = r.CheckBreak()
	}
	if yyb1593 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.ObjectMeta = ObjectMeta{}
	} else {
		yyv1596 := &x.ObjectMeta
		yyv1596.CodecDecodeSelf(d)
	}
	yyj1593++
	if yyhl1593 {
		yyb1593 = yyj1593 > l
	} else {
		yyb1593 = r.CheckBreak()
	}
	if yyb1593 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.Spec = PodSpec{}
	} else {
		yyv1597 := &x.Spec
		yyv1597.CodecDecodeSelf(d)
	}
	yyj1593++
	if yyhl1593 {
		yyb1593 = yyj1593 > l
	} else {
		yyb1593 = r.CheckBreak()
	}
	if yyb1593 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.Status = PodStatus{}
	} else {
		yyv1598 := &x.Status
		yyv1598.CodecDecodeSelf(d)
	}
	for {
		yyj1593++
		if yyhl1593 {
			yyb1593 = yyj1593 > l
		} else {
			yyb1593 = r.CheckBreak()
		}
		if yyb1593 {
			break
		}
		z.DecStructFieldNotFound(yyj1593-1, "")
	}
	r.ReadEnd()
}

func (x *PodList) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym1599 := z.EncBinary()
		_ = yym1599
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep1600 := !z.EncBinary()
			yy2arr1600 := z.EncBasicHandle().StructToArray
			var yyq1600 [4]bool
			_, _, _ = yysep1600, yyq1600, yy2arr1600
			const yyr1600 bool = false
			yyq1600[0] = x.Kind != ""
			yyq1600[1] = x.APIVersion != ""
			yyq1600[2] = true
			if yyr1600 || yy2arr1600 {
				r.EncodeArrayStart(4)
			} else {
				var yynn1600 int = 1
				for _, b := range yyq1600 {
					if b {
						yynn1600++
					}
				}
				r.EncodeMapStart(yynn1600)
			}
			if yyr1600 || yy2arr1600 {
				if yyq1600[0] {
					yym1602 := z.EncBinary()
					_ = yym1602
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq1600[0] {
					r.EncodeString(codecSelferC_UTF81234, string("kind"))
					yym1603 := z.EncBinary()
					_ = yym1603
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				}
			}
			if yyr1600 || yy2arr1600 {
				if yyq1600[1] {
					yym1605 := z.EncBinary()
					_ = yym1605
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq1600[1] {
					r.EncodeString(codecSelferC_UTF81234, string("apiVersion"))
					yym1606 := z.EncBinary()
					_ = yym1606
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				}
			}
			if yyr1600 || yy2arr1600 {
				if yyq1600[2] {
					yy1608 := &x.ListMeta
					yym1609 := z.EncBinary()
					_ = yym1609
					if false {
					} else if z.HasExtensions() && z.EncExt(yy1608) {
					} else {
						z.EncFallback(yy1608)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1600[2] {
					r.EncodeString(codecSelferC_UTF81234, string("metadata"))
					yy1610 := &x.ListMeta
					yym1611 := z.EncBinary()
					_ = yym1611
					if false {
					} else if z.HasExtensions() && z.EncExt(yy1610) {
					} else {
						z.EncFallback(yy1610)
					}
				}
			}
			if yyr1600 || yy2arr1600 {
				if x.Items == nil {
					r.EncodeNil()
				} else {
					yym1613 := z.EncBinary()
					_ = yym1613
					if false {
					} else {
						h.encSlicePod(([]Pod)(x.Items), e)
					}
				}
			} else {
				r.EncodeString(codecSelferC_UTF81234, string("items"))
				if x.Items == nil {
					r.EncodeNil()
				} else {
					yym1614 := z.EncBinary()
					_ = yym1614
					if false {
					} else {
						h.encSlicePod(([]Pod)(x.Items), e)
					}
				}
			}
			if yysep1600 {
				r.EncodeEnd()
			}
		}
	}
}

func (x *PodList) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym1615 := z.DecBinary()
	_ = yym1615
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		if r.IsContainerType(codecSelferValueTypeMap1234) {
			yyl1616 := r.ReadMapStart()
			if yyl1616 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromMap(yyl1616, d)
			}
		} else if r.IsContainerType(codecSelferValueTypeArray1234) {
			yyl1616 := r.ReadArrayStart()
			if yyl1616 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromArray(yyl1616, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *PodList) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys1617Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys1617Slc
	var yyhl1617 bool = l >= 0
	for yyj1617 := 0; ; yyj1617++ {
		if yyhl1617 {
			if yyj1617 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		yys1617Slc = r.DecodeBytes(yys1617Slc, true, true)
		yys1617 := string(yys1617Slc)
		switch yys1617 {
		case "kind":
			if r.TryDecodeAsNil() {
				x.Kind = ""
			} else {
				x.Kind = string(r.DecodeString())
			}
		case "apiVersion":
			if r.TryDecodeAsNil() {
				x.APIVersion = ""
			} else {
				x.APIVersion = string(r.DecodeString())
			}
		case "metadata":
			if r.TryDecodeAsNil() {
				x.ListMeta = pkg2_unversioned.ListMeta{}
			} else {
				yyv1620 := &x.ListMeta
				yym1621 := z.DecBinary()
				_ = yym1621
				if false {
				} else if z.HasExtensions() && z.DecExt(yyv1620) {
				} else {
					z.DecFallback(yyv1620, false)
				}
			}
		case "items":
			if r.TryDecodeAsNil() {
				x.Items = nil
			} else {
				yyv1622 := &x.Items
				yym1623 := z.DecBinary()
				_ = yym1623
				if false {
				} else {
					h.decSlicePod((*[]Pod)(yyv1622), d)
				}
			}
		default:
			z.DecStructFieldNotFound(-1, yys1617)
		} // end switch yys1617
	} // end for yyj1617
	if !yyhl1617 {
		r.ReadEnd()
	}
}

func (x *PodList) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj1624 int
	var yyb1624 bool
	var yyhl1624 bool = l >= 0
	yyj1624++
	if yyhl1624 {
		yyb1624 = yyj1624 > l
	} else {
		yyb1624 = r.CheckBreak()
	}
	if yyb1624 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.Kind = ""
	} else {
		x.Kind = string(r.DecodeString())
	}
	yyj1624++
	if yyhl1624 {
		yyb1624 = yyj1624 > l
	} else {
		yyb1624 = r.CheckBreak()
	}
	if yyb1624 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.APIVersion = ""
	} else {
		x.APIVersion = string(r.DecodeString())
	}
	yyj1624++
	if yyhl1624 {
		yyb1624 = yyj1624 > l
	} else {
		yyb1624 = r.CheckBreak()
	}
	if yyb1624 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.ListMeta = pkg2_unversioned.ListMeta{}
	} else {
		yyv1627 := &x.ListMeta
		yym1628 := z.DecBinary()
		_ = yym1628
		if false {
		} else if z.HasExtensions() && z.DecExt(yyv1627) {
		} else {
			z.DecFallback(yyv1627, false)
		}
	}
	yyj1624++
	if yyhl1624 {
		yyb1624 = yyj1624 > l
	} else {
		yyb1624 = r.CheckBreak()
	}
	if yyb1624 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.Items = nil
	} else {
		yyv1629 := &x.Items
		yym1630 := z.DecBinary()
		_ = yym1630
		if false {
		} else {
			h.decSlicePod((*[]Pod)(yyv1629), d)
		}
	}
	for {
		yyj1624++
		if yyhl1624 {
			yyb1624 = yyj1624 > l
		} else {
			yyb1624 = r.CheckBreak()
		}
		if yyb1624 {
			break
		}
		z.DecStructFieldNotFound(yyj1624-1, "")
	}
	r.ReadEnd()
}

func (x *PodTemplateSpec) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym1631 := z.EncBinary()
		_ = yym1631
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep1632 := !z.EncBinary()
			yy2arr1632 := z.EncBasicHandle().StructToArray
			var yyq1632 [2]bool
			_, _, _ = yysep1632, yyq1632, yy2arr1632
			const yyr1632 bool = false
			yyq1632[0] = true
			yyq1632[1] = true
			if yyr1632 || yy2arr1632 {
				r.EncodeArrayStart(2)
			} else {
				var yynn1632 int = 0
				for _, b := range yyq1632 {
					if b {
						yynn1632++
					}
				}
				r.EncodeMapStart(yynn1632)
			}
			if yyr1632 || yy2arr1632 {
				if yyq1632[0] {
					yy1634 := &x.ObjectMeta
					yy1634.CodecEncodeSelf(e)
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1632[0] {
					r.EncodeString(codecSelferC_UTF81234, string("metadata"))
					yy1635 := &x.ObjectMeta
					yy1635.CodecEncodeSelf(e)
				}
			}
			if yyr1632 || yy2arr1632 {
				if yyq1632[1] {
					yy1637 := &x.Spec
					yy1637.CodecEncodeSelf(e)
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1632[1] {
					r.EncodeString(codecSelferC_UTF81234, string("spec"))
					yy1638 := &x.Spec
					yy1638.CodecEncodeSelf(e)
				}
			}
			if yysep1632 {
				r.EncodeEnd()
			}
		}
	}
}

func (x *PodTemplateSpec) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym1639 := z.DecBinary()
	_ = yym1639
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		if r.IsContainerType(codecSelferValueTypeMap1234) {
			yyl1640 := r.ReadMapStart()
			if yyl1640 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromMap(yyl1640, d)
			}
		} else if r.IsContainerType(codecSelferValueTypeArray1234) {
			yyl1640 := r.ReadArrayStart()
			if yyl1640 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromArray(yyl1640, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *PodTemplateSpec) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys1641Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys1641Slc
	var yyhl1641 bool = l >= 0
	for yyj1641 := 0; ; yyj1641++ {
		if yyhl1641 {
			if yyj1641 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		yys1641Slc = r.DecodeBytes(yys1641Slc, true, true)
		yys1641 := string(yys1641Slc)
		switch yys1641 {
		case "metadata":
			if r.TryDecodeAsNil() {
				x.ObjectMeta = ObjectMeta{}
			} else {
				yyv1642 := &x.ObjectMeta
				yyv1642.CodecDecodeSelf(d)
			}
		case "spec":
			if r.TryDecodeAsNil() {
				x.Spec = PodSpec{}
			} else {
				yyv1643 := &x.Spec
				yyv1643.CodecDecodeSelf(d)
			}
		default:
			z.DecStructFieldNotFound(-1, yys1641)
		} // end switch yys1641
	} // end for yyj1641
	if !yyhl1641 {
		r.ReadEnd()
	}
}

func (x *PodTemplateSpec) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj1644 int
	var yyb1644 bool
	var yyhl1644 bool = l >= 0
	yyj1644++
	if yyhl1644 {
		yyb1644 = yyj1644 > l
	} else {
		yyb1644 = r.CheckBreak()
	}
	if yyb1644 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.ObjectMeta = ObjectMeta{}
	} else {
		yyv1645 := &x.ObjectMeta
		yyv1645.CodecDecodeSelf(d)
	}
	yyj1644++
	if yyhl1644 {
		yyb1644 = yyj1644 > l
	} else {
		yyb1644 = r.CheckBreak()
	}
	if yyb1644 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.Spec = PodSpec{}
	} else {
		yyv1646 := &x.Spec
		yyv1646.CodecDecodeSelf(d)
	}
	for {
		yyj1644++
		if yyhl1644 {
			yyb1644 = yyj1644 > l
		} else {
			yyb1644 = r.CheckBreak()
		}
		if yyb1644 {
			break
		}
		z.DecStructFieldNotFound(yyj1644-1, "")
	}
	r.ReadEnd()
}

func (x *PodTemplate) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym1647 := z.EncBinary()
		_ = yym1647
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep1648 := !z.EncBinary()
			yy2arr1648 := z.EncBasicHandle().StructToArray
			var yyq1648 [4]bool
			_, _, _ = yysep1648, yyq1648, yy2arr1648
			const yyr1648 bool = false
			yyq1648[0] = x.Kind != ""
			yyq1648[1] = x.APIVersion != ""
			yyq1648[2] = true
			yyq1648[3] = true
			if yyr1648 || yy2arr1648 {
				r.EncodeArrayStart(4)
			} else {
				var yynn1648 int = 0
				for _, b := range yyq1648 {
					if b {
						yynn1648++
					}
				}
				r.EncodeMapStart(yynn1648)
			}
			if yyr1648 || yy2arr1648 {
				if yyq1648[0] {
					yym1650 := z.EncBinary()
					_ = yym1650
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq1648[0] {
					r.EncodeString(codecSelferC_UTF81234, string("kind"))
					yym1651 := z.EncBinary()
					_ = yym1651
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				}
			}
			if yyr1648 || yy2arr1648 {
				if yyq1648[1] {
					yym1653 := z.EncBinary()
					_ = yym1653
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq1648[1] {
					r.EncodeString(codecSelferC_UTF81234, string("apiVersion"))
					yym1654 := z.EncBinary()
					_ = yym1654
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				}
			}
			if yyr1648 || yy2arr1648 {
				if yyq1648[2] {
					yy1656 := &x.ObjectMeta
					yy1656.CodecEncodeSelf(e)
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1648[2] {
					r.EncodeString(codecSelferC_UTF81234, string("metadata"))
					yy1657 := &x.ObjectMeta
					yy1657.CodecEncodeSelf(e)
				}
			}
			if yyr1648 || yy2arr1648 {
				if yyq1648[3] {
					yy1659 := &x.Template
					yy1659.CodecEncodeSelf(e)
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1648[3] {
					r.EncodeString(codecSelferC_UTF81234, string("template"))
					yy1660 := &x.Template
					yy1660.CodecEncodeSelf(e)
				}
			}
			if yysep1648 {
				r.EncodeEnd()
			}
		}
	}
}

func (x *PodTemplate) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym1661 := z.DecBinary()
	_ = yym1661
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		if r.IsContainerType(codecSelferValueTypeMap1234) {
			yyl1662 := r.ReadMapStart()
			if yyl1662 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromMap(yyl1662, d)
			}
		} else if r.IsContainerType(codecSelferValueTypeArray1234) {
			yyl1662 := r.ReadArrayStart()
			if yyl1662 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromArray(yyl1662, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *PodTemplate) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys1663Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys1663Slc
	var yyhl1663 bool = l >= 0
	for yyj1663 := 0; ; yyj1663++ {
		if yyhl1663 {
			if yyj1663 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		yys1663Slc = r.DecodeBytes(yys1663Slc, true, true)
		yys1663 := string(yys1663Slc)
		switch yys1663 {
		case "kind":
			if r.TryDecodeAsNil() {
				x.Kind = ""
			} else {
				x.Kind = string(r.DecodeString())
			}
		case "apiVersion":
			if r.TryDecodeAsNil() {
				x.APIVersion = ""
			} else {
				x.APIVersion = string(r.DecodeString())
			}
		case "metadata":
			if r.TryDecodeAsNil() {
				x.ObjectMeta = ObjectMeta{}
			} else {
				yyv1666 := &x.ObjectMeta
				yyv1666.CodecDecodeSelf(d)
			}
		case "template":
			if r.TryDecodeAsNil() {
				x.Template = PodTemplateSpec{}
			} else {
				yyv1667 := &x.Template
				yyv1667.CodecDecodeSelf(d)
			}
		default:
			z.DecStructFieldNotFound(-1, yys1663)
		} // end switch yys1663
	} // end for yyj1663
	if !yyhl1663 {
		r.ReadEnd()
	}
}

func (x *PodTemplate) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj1668 int
	var yyb1668 bool
	var yyhl1668 bool = l >= 0
	yyj1668++
	if yyhl1668 {
		yyb1668 = yyj1668 > l
	} else {
		yyb1668 = r.CheckBreak()
	}
	if yyb1668 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.Kind = ""
	} else {
		x.Kind = string(r.DecodeString())
	}
	yyj1668++
	if yyhl1668 {
		yyb1668 = yyj1668 > l
	} else {
		yyb1668 = r.CheckBreak()
	}
	if yyb1668 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.APIVersion = ""
	} else {
		x.APIVersion = string(r.DecodeString())
	}
	yyj1668++
	if yyhl1668 {
		yyb1668 = yyj1668 > l
	} else {
		yyb1668 = r.CheckBreak()
	}
	if yyb1668 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.ObjectMeta = ObjectMeta{}
	} else {
		yyv1671 := &x.ObjectMeta
		yyv1671.CodecDecodeSelf(d)
	}
	yyj1668++
	if yyhl1668 {
		yyb1668 = yyj1668 > l
	} else {
		yyb1668 = r.CheckBreak()
	}
	if yyb1668 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.Template = PodTemplateSpec{}
	} else {
		yyv1672 := &x.Template
		yyv1672.CodecDecodeSelf(d)
	}
	for {
		yyj1668++
		if yyhl1668 {
			yyb1668 = yyj1668 > l
		} else {
			yyb1668 = r.CheckBreak()
		}
		if yyb1668 {
			break
		}
		z.DecStructFieldNotFound(yyj1668-1, "")
	}
	r.ReadEnd()
}

func (x *PodTemplateList) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym1673 := z.EncBinary()
		_ = yym1673
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep1674 := !z.EncBinary()
			yy2arr1674 := z.EncBasicHandle().StructToArray
			var yyq1674 [4]bool
			_, _, _ = yysep1674, yyq1674, yy2arr1674
			const yyr1674 bool = false
			yyq1674[0] = x.Kind != ""
			yyq1674[1] = x.APIVersion != ""
			yyq1674[2] = true
			if yyr1674 || yy2arr1674 {
				r.EncodeArrayStart(4)
			} else {
				var yynn1674 int = 1
				for _, b := range yyq1674 {
					if b {
						yynn1674++
					}
				}
				r.EncodeMapStart(yynn1674)
			}
			if yyr1674 || yy2arr1674 {
				if yyq1674[0] {
					yym1676 := z.EncBinary()
					_ = yym1676
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq1674[0] {
					r.EncodeString(codecSelferC_UTF81234, string("kind"))
					yym1677 := z.EncBinary()
					_ = yym1677
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				}
			}
			if yyr1674 || yy2arr1674 {
				if yyq1674[1] {
					yym1679 := z.EncBinary()
					_ = yym1679
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq1674[1] {
					r.EncodeString(codecSelferC_UTF81234, string("apiVersion"))
					yym1680 := z.EncBinary()
					_ = yym1680
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				}
			}
			if yyr1674 || yy2arr1674 {
				if yyq1674[2] {
					yy1682 := &x.ListMeta
					yym1683 := z.EncBinary()
					_ = yym1683
					if false {
					} else if z.HasExtensions() && z.EncExt(yy1682) {
					} else {
						z.EncFallback(yy1682)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1674[2] {
					r.EncodeString(codecSelferC_UTF81234, string("metadata"))
					yy1684 := &x.ListMeta
					yym1685 := z.EncBinary()
					_ = yym1685
					if false {
					} else if z.HasExtensions() && z.EncExt(yy1684) {
					} else {
						z.EncFallback(yy1684)
					}
				}
			}
			if yyr1674 || yy2arr1674 {
				if x.Items == nil {
					r.EncodeNil()
				} else {
					yym1687 := z.EncBinary()
					_ = yym1687
					if false {
					} else {
						h.encSlicePodTemplate(([]PodTemplate)(x.Items), e)
					}
				}
			} else {
				r.EncodeString(codecSelferC_UTF81234, string("items"))
				if x.Items == nil {
					r.EncodeNil()
				} else {
					yym1688 := z.EncBinary()
					_ = yym1688
					if false {
					} else {
						h.encSlicePodTemplate(([]PodTemplate)(x.Items), e)
					}
				}
			}
			if yysep1674 {
				r.EncodeEnd()
			}
		}
	}
}

func (x *PodTemplateList) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym1689 := z.DecBinary()
	_ = yym1689
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		if r.IsContainerType(codecSelferValueTypeMap1234) {
			yyl1690 := r.ReadMapStart()
			if yyl1690 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromMap(yyl1690, d)
			}
		} else if r.IsContainerType(codecSelferValueTypeArray1234) {
			yyl1690 := r.ReadArrayStart()
			if yyl1690 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromArray(yyl1690, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *PodTemplateList) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys1691Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys1691Slc
	var yyhl1691 bool = l >= 0
	for yyj1691 := 0; ; yyj1691++ {
		if yyhl1691 {
			if yyj1691 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		yys1691Slc = r.DecodeBytes(yys1691Slc, true, true)
		yys1691 := string(yys1691Slc)
		switch yys1691 {
		case "kind":
			if r.TryDecodeAsNil() {
				x.Kind = ""
			} else {
				x.Kind = string(r.DecodeString())
			}
		case "apiVersion":
			if r.TryDecodeAsNil() {
				x.APIVersion = ""
			} else {
				x.APIVersion = string(r.DecodeString())
			}
		case "metadata":
			if r.TryDecodeAsNil() {
				x.ListMeta = pkg2_unversioned.ListMeta{}
			} else {
				yyv1694 := &x.ListMeta
				yym1695 := z.DecBinary()
				_ = yym1695
				if false {
				} else if z.HasExtensions() && z.DecExt(yyv1694) {
				} else {
					z.DecFallback(yyv1694, false)
				}
			}
		case "items":
			if r.TryDecodeAsNil() {
				x.Items = nil
			} else {
				yyv1696 := &x.Items
				yym1697 := z.DecBinary()
				_ = yym1697
				if false {
				} else {
					h.decSlicePodTemplate((*[]PodTemplate)(yyv1696), d)
				}
			}
		default:
			z.DecStructFieldNotFound(-1, yys1691)
		} // end switch yys1691
	} // end for yyj1691
	if !yyhl1691 {
		r.ReadEnd()
	}
}

func (x *PodTemplateList) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj1698 int
	var yyb1698 bool
	var yyhl1698 bool = l >= 0
	yyj1698++
	if yyhl1698 {
		yyb1698 = yyj1698 > l
	} else {
		yyb1698 = r.CheckBreak()
	}
	if yyb1698 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.Kind = ""
	} else {
		x.Kind = string(r.DecodeString())
	}
	yyj1698++
	if yyhl1698 {
		yyb1698 = yyj1698 > l
	} else {
		yyb1698 = r.CheckBreak()
	}
	if yyb1698 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.APIVersion = ""
	} else {
		x.APIVersion = string(r.DecodeString())
	}
	yyj1698++
	if yyhl1698 {
		yyb1698 = yyj1698 > l
	} else {
		yyb1698 = r.CheckBreak()
	}
	if yyb1698 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.ListMeta = pkg2_unversioned.ListMeta{}
	} else {
		yyv1701 := &x.ListMeta
		yym1702 := z.DecBinary()
		_ = yym1702
		if false {
		} else if z.HasExtensions() && z.DecExt(yyv1701) {
		} else {
			z.DecFallback(yyv1701, false)
		}
	}
	yyj1698++
	if yyhl1698 {
		yyb1698 = yyj1698 > l
	} else {
		yyb1698 = r.CheckBreak()
	}
	if yyb1698 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.Items = nil
	} else {
		yyv1703 := &x.Items
		yym1704 := z.DecBinary()
		_ = yym1704
		if false {
		} else {
			h.decSlicePodTemplate((*[]PodTemplate)(yyv1703), d)
		}
	}
	for {
		yyj1698++
		if yyhl1698 {
			yyb1698 = yyj1698 > l
		} else {
			yyb1698 = r.CheckBreak()
		}
		if yyb1698 {
			break
		}
		z.DecStructFieldNotFound(yyj1698-1, "")
	}
	r.ReadEnd()
}

func (x *ReplicationControllerSpec) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym1705 := z.EncBinary()
		_ = yym1705
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep1706 := !z.EncBinary()
			yy2arr1706 := z.EncBasicHandle().StructToArray
			var yyq1706 [3]bool
			_, _, _ = yysep1706, yyq1706, yy2arr1706
			const yyr1706 bool = false
			yyq1706[0] = x.Replicas != nil
			yyq1706[1] = len(x.Selector) != 0
			yyq1706[2] = x.Template != nil
			if yyr1706 || yy2arr1706 {
				r.EncodeArrayStart(3)
			} else {
				var yynn1706 int = 0
				for _, b := range yyq1706 {
					if b {
						yynn1706++
					}
				}
				r.EncodeMapStart(yynn1706)
			}
			if yyr1706 || yy2arr1706 {
				if yyq1706[0] {
					if x.Replicas == nil {
						r.EncodeNil()
					} else {
						yy1708 := *x.Replicas
						yym1709 := z.EncBinary()
						_ = yym1709
						if false {
						} else {
							r.EncodeInt(int64(yy1708))
						}
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1706[0] {
					r.EncodeString(codecSelferC_UTF81234, string("replicas"))
					if x.Replicas == nil {
						r.EncodeNil()
					} else {
						yy1710 := *x.Replicas
						yym1711 := z.EncBinary()
						_ = yym1711
						if false {
						} else {
							r.EncodeInt(int64(yy1710))
						}
					}
				}
			}
			if yyr1706 || yy2arr1706 {
				if yyq1706[1] {
					if x.Selector == nil {
						r.EncodeNil()
					} else {
						yym1713 := z.EncBinary()
						_ = yym1713
						if false {
						} else {
							z.F.EncMapStringStringV(x.Selector, false, e)
						}
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1706[1] {
					r.EncodeString(codecSelferC_UTF81234, string("selector"))
					if x.Selector == nil {
						r.EncodeNil()
					} else {
						yym1714 := z.EncBinary()
						_ = yym1714
						if false {
						} else {
							z.F.EncMapStringStringV(x.Selector, false, e)
						}
					}
				}
			}
			if yyr1706 || yy2arr1706 {
				if yyq1706[2] {
					if x.Template == nil {
						r.EncodeNil()
					} else {
						x.Template.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1706[2] {
					r.EncodeString(codecSelferC_UTF81234, string("template"))
					if x.Template == nil {
						r.EncodeNil()
					} else {
						x.Template.CodecEncodeSelf(e)
					}
				}
			}
			if yysep1706 {
				r.EncodeEnd()
			}
		}
	}
}

func (x *ReplicationControllerSpec) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym1716 := z.DecBinary()
	_ = yym1716
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		if r.IsContainerType(codecSelferValueTypeMap1234) {
			yyl1717 := r.ReadMapStart()
			if yyl1717 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromMap(yyl1717, d)
			}
		} else if r.IsContainerType(codecSelferValueTypeArray1234) {
			yyl1717 := r.ReadArrayStart()
			if yyl1717 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromArray(yyl1717, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *ReplicationControllerSpec) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys1718Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys1718Slc
	var yyhl1718 bool = l >= 0
	for yyj1718 := 0; ; yyj1718++ {
		if yyhl1718 {
			if yyj1718 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		yys1718Slc = r.DecodeBytes(yys1718Slc, true, true)
		yys1718 := string(yys1718Slc)
		switch yys1718 {
		case "replicas":
			if r.TryDecodeAsNil() {
				if x.Replicas != nil {
					x.Replicas = nil
				}
			} else {
				if x.Replicas == nil {
					x.Replicas = new(int)
				}
				yym1720 := z.DecBinary()
				_ = yym1720
				if false {
				} else {
					*((*int)(x.Replicas)) = int(r.DecodeInt(codecSelferBitsize1234))
				}
			}
		case "selector":
			if r.TryDecodeAsNil() {
				x.Selector = nil
			} else {
				yyv1721 := &x.Selector
				yym1722 := z.DecBinary()
				_ = yym1722
				if false {
				} else {
					z.F.DecMapStringStringX(yyv1721, false, d)
				}
			}
		case "template":
			if r.TryDecodeAsNil() {
				if x.Template != nil {
					x.Template = nil
				}
			} else {
				if x.Template == nil {
					x.Template = new(PodTemplateSpec)
				}
				x.Template.CodecDecodeSelf(d)
			}
		default:
			z.DecStructFieldNotFound(-1, yys1718)
		} // end switch yys1718
	} // end for yyj1718
	if !yyhl1718 {
		r.ReadEnd()
	}
}

func (x *ReplicationControllerSpec) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj1724 int
	var yyb1724 bool
	var yyhl1724 bool = l >= 0
	yyj1724++
	if yyhl1724 {
		yyb1724 = yyj1724 > l
	} else {
		yyb1724 = r.CheckBreak()
	}
	if yyb1724 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		if x.Replicas != nil {
			x.Replicas = nil
		}
	} else {
		if x.Replicas == nil {
			x.Replicas = new(int)
		}
		yym1726 := z.DecBinary()
		_ = yym1726
		if false {
		} else {
			*((*int)(x.Replicas)) = int(r.DecodeInt(codecSelferBitsize1234))
		}
	}
	yyj1724++
	if yyhl1724 {
		yyb1724 = yyj1724 > l
	} else {
		yyb1724 = r.CheckBreak()
	}
	if yyb1724 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.Selector = nil
	} else {
		yyv1727 := &x.Selector
		yym1728 := z.DecBinary()
		_ = yym1728
		if false {
		} else {
			z.F.DecMapStringStringX(yyv1727, false, d)
		}
	}
	yyj1724++
	if yyhl1724 {
		yyb1724 = yyj1724 > l
	} else {
		yyb1724 = r.CheckBreak()
	}
	if yyb1724 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		if x.Template != nil {
			x.Template = nil
		}
	} else {
		if x.Template == nil {
			x.Template = new(PodTemplateSpec)
		}
		x.Template.CodecDecodeSelf(d)
	}
	for {
		yyj1724++
		if yyhl1724 {
			yyb1724 = yyj1724 > l
		} else {
			yyb1724 = r.CheckBreak()
		}
		if yyb1724 {
			break
		}
		z.DecStructFieldNotFound(yyj1724-1, "")
	}
	r.ReadEnd()
}

func (x *ReplicationControllerStatus) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym1730 := z.EncBinary()
		_ = yym1730
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep1731 := !z.EncBinary()
			yy2arr1731 := z.EncBasicHandle().StructToArray
			var yyq1731 [2]bool
			_, _, _ = yysep1731, yyq1731, yy2arr1731
			const yyr1731 bool = false
			yyq1731[1] = x.ObservedGeneration != 0
			if yyr1731 || yy2arr1731 {
				r.EncodeArrayStart(2)
			} else {
				var yynn1731 int = 1
				for _, b := range yyq1731 {
					if b {
						yynn1731++
					}
				}
				r.EncodeMapStart(yynn1731)
			}
			if yyr1731 || yy2arr1731 {
				yym1733 := z.EncBinary()
				_ = yym1733
				if false {
				} else {
					r.EncodeInt(int64(x.Replicas))
				}
			} else {
				r.EncodeString(codecSelferC_UTF81234, string("replicas"))
				yym1734 := z.EncBinary()
				_ = yym1734
				if false {
				} else {
					r.EncodeInt(int64(x.Replicas))
				}
			}
			if yyr1731 || yy2arr1731 {
				if yyq1731[1] {
					yym1736 := z.EncBinary()
					_ = yym1736
					if false {
					} else {
						r.EncodeInt(int64(x.ObservedGeneration))
					}
				} else {
					r.EncodeInt(0)
				}
			} else {
				if yyq1731[1] {
					r.EncodeString(codecSelferC_UTF81234, string("observedGeneration"))
					yym1737 := z.EncBinary()
					_ = yym1737
					if false {
					} else {
						r.EncodeInt(int64(x.ObservedGeneration))
					}
				}
			}
			if yysep1731 {
				r.EncodeEnd()
			}
		}
	}
}

func (x *ReplicationControllerStatus) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym1738 := z.DecBinary()
	_ = yym1738
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		if r.IsContainerType(codecSelferValueTypeMap1234) {
			yyl1739 := r.ReadMapStart()
			if yyl1739 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromMap(yyl1739, d)
			}
		} else if r.IsContainerType(codecSelferValueTypeArray1234) {
			yyl1739 := r.ReadArrayStart()
			if yyl1739 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromArray(yyl1739, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *ReplicationControllerStatus) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys1740Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys1740Slc
	var yyhl1740 bool = l >= 0
	for yyj1740 := 0; ; yyj1740++ {
		if yyhl1740 {
			if yyj1740 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		yys1740Slc = r.DecodeBytes(yys1740Slc, true, true)
		yys1740 := string(yys1740Slc)
		switch yys1740 {
		case "replicas":
			if r.TryDecodeAsNil() {
				x.Replicas = 0
			} else {
				x.Replicas = int(r.DecodeInt(codecSelferBitsize1234))
			}
		case "observedGeneration":
			if r.TryDecodeAsNil() {
				x.ObservedGeneration = 0
			} else {
				x.ObservedGeneration = int64(r.DecodeInt(64))
			}
		default:
			z.DecStructFieldNotFound(-1, yys1740)
		} // end switch yys1740
	} // end for yyj1740
	if !yyhl1740 {
		r.ReadEnd()
	}
}

func (x *ReplicationControllerStatus) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj1743 int
	var yyb1743 bool
	var yyhl1743 bool = l >= 0
	yyj1743++
	if yyhl1743 {
		yyb1743 = yyj1743 > l
	} else {
		yyb1743 = r.CheckBreak()
	}
	if yyb1743 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.Replicas = 0
	} else {
		x.Replicas = int(r.DecodeInt(codecSelferBitsize1234))
	}
	yyj1743++
	if yyhl1743 {
		yyb1743 = yyj1743 > l
	} else {
		yyb1743 = r.CheckBreak()
	}
	if yyb1743 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.ObservedGeneration = 0
	} else {
		x.ObservedGeneration = int64(r.DecodeInt(64))
	}
	for {
		yyj1743++
		if yyhl1743 {
			yyb1743 = yyj1743 > l
		} else {
			yyb1743 = r.CheckBreak()
		}
		if yyb1743 {
			break
		}
		z.DecStructFieldNotFound(yyj1743-1, "")
	}
	r.ReadEnd()
}

func (x *ReplicationController) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym1746 := z.EncBinary()
		_ = yym1746
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep1747 := !z.EncBinary()
			yy2arr1747 := z.EncBasicHandle().StructToArray
			var yyq1747 [5]bool
			_, _, _ = yysep1747, yyq1747, yy2arr1747
			const yyr1747 bool = false
			yyq1747[0] = x.Kind != ""
			yyq1747[1] = x.APIVersion != ""
			yyq1747[2] = true
			yyq1747[3] = true
			yyq1747[4] = true
			if yyr1747 || yy2arr1747 {
				r.EncodeArrayStart(5)
			} else {
				var yynn1747 int = 0
				for _, b := range yyq1747 {
					if b {
						yynn1747++
					}
				}
				r.EncodeMapStart(yynn1747)
			}
			if yyr1747 || yy2arr1747 {
				if yyq1747[0] {
					yym1749 := z.EncBinary()
					_ = yym1749
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq1747[0] {
					r.EncodeString(codecSelferC_UTF81234, string("kind"))
					yym1750 := z.EncBinary()
					_ = yym1750
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				}
			}
			if yyr1747 || yy2arr1747 {
				if yyq1747[1] {
					yym1752 := z.EncBinary()
					_ = yym1752
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq1747[1] {
					r.EncodeString(codecSelferC_UTF81234, string("apiVersion"))
					yym1753 := z.EncBinary()
					_ = yym1753
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				}
			}
			if yyr1747 || yy2arr1747 {
				if yyq1747[2] {
					yy1755 := &x.ObjectMeta
					yy1755.CodecEncodeSelf(e)
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1747[2] {
					r.EncodeString(codecSelferC_UTF81234, string("metadata"))
					yy1756 := &x.ObjectMeta
					yy1756.CodecEncodeSelf(e)
				}
			}
			if yyr1747 || yy2arr1747 {
				if yyq1747[3] {
					yy1758 := &x.Spec
					yy1758.CodecEncodeSelf(e)
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1747[3] {
					r.EncodeString(codecSelferC_UTF81234, string("spec"))
					yy1759 := &x.Spec
					yy1759.CodecEncodeSelf(e)
				}
			}
			if yyr1747 || yy2arr1747 {
				if yyq1747[4] {
					yy1761 := &x.Status
					yy1761.CodecEncodeSelf(e)
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1747[4] {
					r.EncodeString(codecSelferC_UTF81234, string("status"))
					yy1762 := &x.Status
					yy1762.CodecEncodeSelf(e)
				}
			}
			if yysep1747 {
				r.EncodeEnd()
			}
		}
	}
}

func (x *ReplicationController) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym1763 := z.DecBinary()
	_ = yym1763
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		if r.IsContainerType(codecSelferValueTypeMap1234) {
			yyl1764 := r.ReadMapStart()
			if yyl1764 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromMap(yyl1764, d)
			}
		} else if r.IsContainerType(codecSelferValueTypeArray1234) {
			yyl1764 := r.ReadArrayStart()
			if yyl1764 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromArray(yyl1764, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *ReplicationController) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys1765Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys1765Slc
	var yyhl1765 bool = l >= 0
	for yyj1765 := 0; ; yyj1765++ {
		if yyhl1765 {
			if yyj1765 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		yys1765Slc = r.DecodeBytes(yys1765Slc, true, true)
		yys1765 := string(yys1765Slc)
		switch yys1765 {
		case "kind":
			if r.TryDecodeAsNil() {
				x.Kind = ""
			} else {
				x.Kind = string(r.DecodeString())
			}
		case "apiVersion":
			if r.TryDecodeAsNil() {
				x.APIVersion = ""
			} else {
				x.APIVersion = string(r.DecodeString())
			}
		case "metadata":
			if r.TryDecodeAsNil() {
				x.ObjectMeta = ObjectMeta{}
			} else {
				yyv1768 := &x.ObjectMeta
				yyv1768.CodecDecodeSelf(d)
			}
		case "spec":
			if r.TryDecodeAsNil() {
				x.Spec = ReplicationControllerSpec{}
			} else {
				yyv1769 := &x.Spec
				yyv1769.CodecDecodeSelf(d)
			}
		case "status":
			if r.TryDecodeAsNil() {
				x.Status = ReplicationControllerStatus{}
			} else {
				yyv1770 := &x.Status
				yyv1770.CodecDecodeSelf(d)
			}
		default:
			z.DecStructFieldNotFound(-1, yys1765)
		} // end switch yys1765
	} // end for yyj1765
	if !yyhl1765 {
		r.ReadEnd()
	}
}

func (x *ReplicationController) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj1771 int
	var yyb1771 bool
	var yyhl1771 bool = l >= 0
	yyj1771++
	if yyhl1771 {
		yyb1771 = yyj1771 > l
	} else {
		yyb1771 = r.CheckBreak()
	}
	if yyb1771 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.Kind = ""
	} else {
		x.Kind = string(r.DecodeString())
	}
	yyj1771++
	if yyhl1771 {
		yyb1771 = yyj1771 > l
	} else {
		yyb1771 = r.CheckBreak()
	}
	if yyb1771 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.APIVersion = ""
	} else {
		x.APIVersion = string(r.DecodeString())
	}
	yyj1771++
	if yyhl1771 {
		yyb1771 = yyj1771 > l
	} else {
		yyb1771 = r.CheckBreak()
	}
	if yyb1771 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.ObjectMeta = ObjectMeta{}
	} else {
		yyv1774 := &x.ObjectMeta
		yyv1774.CodecDecodeSelf(d)
	}
	yyj1771++
	if yyhl1771 {
		yyb1771 = yyj1771 > l
	} else {
		yyb1771 = r.CheckBreak()
	}
	if yyb1771 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.Spec = ReplicationControllerSpec{}
	} else {
		yyv1775 := &x.Spec
		yyv1775.CodecDecodeSelf(d)
	}
	yyj1771++
	if yyhl1771 {
		yyb1771 = yyj1771 > l
	} else {
		yyb1771 = r.CheckBreak()
	}
	if yyb1771 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.Status = ReplicationControllerStatus{}
	} else {
		yyv1776 := &x.Status
		yyv1776.CodecDecodeSelf(d)
	}
	for {
		yyj1771++
		if yyhl1771 {
			yyb1771 = yyj1771 > l
		} else {
			yyb1771 = r.CheckBreak()
		}
		if yyb1771 {
			break
		}
		z.DecStructFieldNotFound(yyj1771-1, "")
	}
	r.ReadEnd()
}

func (x *ReplicationControllerList) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym1777 := z.EncBinary()
		_ = yym1777
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep1778 := !z.EncBinary()
			yy2arr1778 := z.EncBasicHandle().StructToArray
			var yyq1778 [4]bool
			_, _, _ = yysep1778, yyq1778, yy2arr1778
			const yyr1778 bool = false
			yyq1778[0] = x.Kind != ""
			yyq1778[1] = x.APIVersion != ""
			yyq1778[2] = true
			if yyr1778 || yy2arr1778 {
				r.EncodeArrayStart(4)
			} else {
				var yynn1778 int = 1
				for _, b := range yyq1778 {
					if b {
						yynn1778++
					}
				}
				r.EncodeMapStart(yynn1778)
			}
			if yyr1778 || yy2arr1778 {
				if yyq1778[0] {
					yym1780 := z.EncBinary()
					_ = yym1780
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq1778[0] {
					r.EncodeString(codecSelferC_UTF81234, string("kind"))
					yym1781 := z.EncBinary()
					_ = yym1781
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				}
			}
			if yyr1778 || yy2arr1778 {
				if yyq1778[1] {
					yym1783 := z.EncBinary()
					_ = yym1783
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq1778[1] {
					r.EncodeString(codecSelferC_UTF81234, string("apiVersion"))
					yym1784 := z.EncBinary()
					_ = yym1784
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				}
			}
			if yyr1778 || yy2arr1778 {
				if yyq1778[2] {
					yy1786 := &x.ListMeta
					yym1787 := z.EncBinary()
					_ = yym1787
					if false {
					} else if z.HasExtensions() && z.EncExt(yy1786) {
					} else {
						z.EncFallback(yy1786)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1778[2] {
					r.EncodeString(codecSelferC_UTF81234, string("metadata"))
					yy1788 := &x.ListMeta
					yym1789 := z.EncBinary()
					_ = yym1789
					if false {
					} else if z.HasExtensions() && z.EncExt(yy1788) {
					} else {
						z.EncFallback(yy1788)
					}
				}
			}
			if yyr1778 || yy2arr1778 {
				if x.Items == nil {
					r.EncodeNil()
				} else {
					yym1791 := z.EncBinary()
					_ = yym1791
					if false {
					} else {
						h.encSliceReplicationController(([]ReplicationController)(x.Items), e)
					}
				}
			} else {
				r.EncodeString(codecSelferC_UTF81234, string("items"))
				if x.Items == nil {
					r.EncodeNil()
				} else {
					yym1792 := z.EncBinary()
					_ = yym1792
					if false {
					} else {
						h.encSliceReplicationController(([]ReplicationController)(x.Items), e)
					}
				}
			}
			if yysep1778 {
				r.EncodeEnd()
			}
		}
	}
}

func (x *ReplicationControllerList) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym1793 := z.DecBinary()
	_ = yym1793
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		if r.IsContainerType(codecSelferValueTypeMap1234) {
			yyl1794 := r.ReadMapStart()
			if yyl1794 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromMap(yyl1794, d)
			}
		} else if r.IsContainerType(codecSelferValueTypeArray1234) {
			yyl1794 := r.ReadArrayStart()
			if yyl1794 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromArray(yyl1794, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *ReplicationControllerList) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys1795Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys1795Slc
	var yyhl1795 bool = l >= 0
	for yyj1795 := 0; ; yyj1795++ {
		if yyhl1795 {
			if yyj1795 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		yys1795Slc = r.DecodeBytes(yys1795Slc, true, true)
		yys1795 := string(yys1795Slc)
		switch yys1795 {
		case "kind":
			if r.TryDecodeAsNil() {
				x.Kind = ""
			} else {
				x.Kind = string(r.DecodeString())
			}
		case "apiVersion":
			if r.TryDecodeAsNil() {
				x.APIVersion = ""
			} else {
				x.APIVersion = string(r.DecodeString())
			}
		case "metadata":
			if r.TryDecodeAsNil() {
				x.ListMeta = pkg2_unversioned.ListMeta{}
			} else {
				yyv1798 := &x.ListMeta
				yym1799 := z.DecBinary()
				_ = yym1799
				if false {
				} else if z.HasExtensions() && z.DecExt(yyv1798) {
				} else {
					z.DecFallback(yyv1798, false)
				}
			}
		case "items":
			if r.TryDecodeAsNil() {
				x.Items = nil
			} else {
				yyv1800 := &x.Items
				yym1801 := z.DecBinary()
				_ = yym1801
				if false {
				} else {
					h.decSliceReplicationController((*[]ReplicationController)(yyv1800), d)
				}
			}
		default:
			z.DecStructFieldNotFound(-1, yys1795)
		} // end switch yys1795
	} // end for yyj1795
	if !yyhl1795 {
		r.ReadEnd()
	}
}

func (x *ReplicationControllerList) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj1802 int
	var yyb1802 bool
	var yyhl1802 bool = l >= 0
	yyj1802++
	if yyhl1802 {
		yyb1802 = yyj1802 > l
	} else {
		yyb1802 = r.CheckBreak()
	}
	if yyb1802 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.Kind = ""
	} else {
		x.Kind = string(r.DecodeString())
	}
	yyj1802++
	if yyhl1802 {
		yyb1802 = yyj1802 > l
	} else {
		yyb1802 = r.CheckBreak()
	}
	if yyb1802 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.APIVersion = ""
	} else {
		x.APIVersion = string(r.DecodeString())
	}
	yyj1802++
	if yyhl1802 {
		yyb1802 = yyj1802 > l
	} else {
		yyb1802 = r.CheckBreak()
	}
	if yyb1802 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.ListMeta = pkg2_unversioned.ListMeta{}
	} else {
		yyv1805 := &x.ListMeta
		yym1806 := z.DecBinary()
		_ = yym1806
		if false {
		} else if z.HasExtensions() && z.DecExt(yyv1805) {
		} else {
			z.DecFallback(yyv1805, false)
		}
	}
	yyj1802++
	if yyhl1802 {
		yyb1802 = yyj1802 > l
	} else {
		yyb1802 = r.CheckBreak()
	}
	if yyb1802 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.Items = nil
	} else {
		yyv1807 := &x.Items
		yym1808 := z.DecBinary()
		_ = yym1808
		if false {
		} else {
			h.decSliceReplicationController((*[]ReplicationController)(yyv1807), d)
		}
	}
	for {
		yyj1802++
		if yyhl1802 {
			yyb1802 = yyj1802 > l
		} else {
			yyb1802 = r.CheckBreak()
		}
		if yyb1802 {
			break
		}
		z.DecStructFieldNotFound(yyj1802-1, "")
	}
	r.ReadEnd()
}

func (x ServiceAffinity) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	yym1809 := z.EncBinary()
	_ = yym1809
	if false {
	} else if z.HasExtensions() && z.EncExt(x) {
	} else {
		r.EncodeString(codecSelferC_UTF81234, string(x))
	}
}

func (x *ServiceAffinity) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym1810 := z.DecBinary()
	_ = yym1810
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		*((*string)(x)) = r.DecodeString()
	}
}

func (x ServiceType) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	yym1811 := z.EncBinary()
	_ = yym1811
	if false {
	} else if z.HasExtensions() && z.EncExt(x) {
	} else {
		r.EncodeString(codecSelferC_UTF81234, string(x))
	}
}

func (x *ServiceType) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym1812 := z.DecBinary()
	_ = yym1812
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		*((*string)(x)) = r.DecodeString()
	}
}

func (x *ServiceStatus) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym1813 := z.EncBinary()
		_ = yym1813
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep1814 := !z.EncBinary()
			yy2arr1814 := z.EncBasicHandle().StructToArray
			var yyq1814 [1]bool
			_, _, _ = yysep1814, yyq1814, yy2arr1814
			const yyr1814 bool = false
			yyq1814[0] = true
			if yyr1814 || yy2arr1814 {
				r.EncodeArrayStart(1)
			} else {
				var yynn1814 int = 0
				for _, b := range yyq1814 {
					if b {
						yynn1814++
					}
				}
				r.EncodeMapStart(yynn1814)
			}
			if yyr1814 || yy2arr1814 {
				if yyq1814[0] {
					yy1816 := &x.LoadBalancer
					yy1816.CodecEncodeSelf(e)
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1814[0] {
					r.EncodeString(codecSelferC_UTF81234, string("loadBalancer"))
					yy1817 := &x.LoadBalancer
					yy1817.CodecEncodeSelf(e)
				}
			}
			if yysep1814 {
				r.EncodeEnd()
			}
		}
	}
}

func (x *ServiceStatus) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym1818 := z.DecBinary()
	_ = yym1818
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		if r.IsContainerType(codecSelferValueTypeMap1234) {
			yyl1819 := r.ReadMapStart()
			if yyl1819 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromMap(yyl1819, d)
			}
		} else if r.IsContainerType(codecSelferValueTypeArray1234) {
			yyl1819 := r.ReadArrayStart()
			if yyl1819 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromArray(yyl1819, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *ServiceStatus) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys1820Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys1820Slc
	var yyhl1820 bool = l >= 0
	for yyj1820 := 0; ; yyj1820++ {
		if yyhl1820 {
			if yyj1820 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		yys1820Slc = r.DecodeBytes(yys1820Slc, true, true)
		yys1820 := string(yys1820Slc)
		switch yys1820 {
		case "loadBalancer":
			if r.TryDecodeAsNil() {
				x.LoadBalancer = LoadBalancerStatus{}
			} else {
				yyv1821 := &x.LoadBalancer
				yyv1821.CodecDecodeSelf(d)
			}
		default:
			z.DecStructFieldNotFound(-1, yys1820)
		} // end switch yys1820
	} // end for yyj1820
	if !yyhl1820 {
		r.ReadEnd()
	}
}

func (x *ServiceStatus) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj1822 int
	var yyb1822 bool
	var yyhl1822 bool = l >= 0
	yyj1822++
	if yyhl1822 {
		yyb1822 = yyj1822 > l
	} else {
		yyb1822 = r.CheckBreak()
	}
	if yyb1822 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.LoadBalancer = LoadBalancerStatus{}
	} else {
		yyv1823 := &x.LoadBalancer
		yyv1823.CodecDecodeSelf(d)
	}
	for {
		yyj1822++
		if yyhl1822 {
			yyb1822 = yyj1822 > l
		} else {
			yyb1822 = r.CheckBreak()
		}
		if yyb1822 {
			break
		}
		z.DecStructFieldNotFound(yyj1822-1, "")
	}
	r.ReadEnd()
}

func (x *LoadBalancerStatus) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym1824 := z.EncBinary()
		_ = yym1824
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep1825 := !z.EncBinary()
			yy2arr1825 := z.EncBasicHandle().StructToArray
			var yyq1825 [1]bool
			_, _, _ = yysep1825, yyq1825, yy2arr1825
			const yyr1825 bool = false
			yyq1825[0] = len(x.Ingress) != 0
			if yyr1825 || yy2arr1825 {
				r.EncodeArrayStart(1)
			} else {
				var yynn1825 int = 0
				for _, b := range yyq1825 {
					if b {
						yynn1825++
					}
				}
				r.EncodeMapStart(yynn1825)
			}
			if yyr1825 || yy2arr1825 {
				if yyq1825[0] {
					if x.Ingress == nil {
						r.EncodeNil()
					} else {
						yym1827 := z.EncBinary()
						_ = yym1827
						if false {
						} else {
							h.encSliceLoadBalancerIngress(([]LoadBalancerIngress)(x.Ingress), e)
						}
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1825[0] {
					r.EncodeString(codecSelferC_UTF81234, string("ingress"))
					if x.Ingress == nil {
						r.EncodeNil()
					} else {
						yym1828 := z.EncBinary()
						_ = yym1828
						if false {
						} else {
							h.encSliceLoadBalancerIngress(([]LoadBalancerIngress)(x.Ingress), e)
						}
					}
				}
			}
			if yysep1825 {
				r.EncodeEnd()
			}
		}
	}
}

func (x *LoadBalancerStatus) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym1829 := z.DecBinary()
	_ = yym1829
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		if r.IsContainerType(codecSelferValueTypeMap1234) {
			yyl1830 := r.ReadMapStart()
			if yyl1830 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromMap(yyl1830, d)
			}
		} else if r.IsContainerType(codecSelferValueTypeArray1234) {
			yyl1830 := r.ReadArrayStart()
			if yyl1830 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromArray(yyl1830, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *LoadBalancerStatus) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys1831Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys1831Slc
	var yyhl1831 bool = l >= 0
	for yyj1831 := 0; ; yyj1831++ {
		if yyhl1831 {
			if yyj1831 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		yys1831Slc = r.DecodeBytes(yys1831Slc, true, true)
		yys1831 := string(yys1831Slc)
		switch yys1831 {
		case "ingress":
			if r.TryDecodeAsNil() {
				x.Ingress = nil
			} else {
				yyv1832 := &x.Ingress
				yym1833 := z.DecBinary()
				_ = yym1833
				if false {
				} else {
					h.decSliceLoadBalancerIngress((*[]LoadBalancerIngress)(yyv1832), d)
				}
			}
		default:
			z.DecStructFieldNotFound(-1, yys1831)
		} // end switch yys1831
	} // end for yyj1831
	if !yyhl1831 {
		r.ReadEnd()
	}
}

func (x *LoadBalancerStatus) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj1834 int
	var yyb1834 bool
	var yyhl1834 bool = l >= 0
	yyj1834++
	if yyhl1834 {
		yyb1834 = yyj1834 > l
	} else {
		yyb1834 = r.CheckBreak()
	}
	if yyb1834 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.Ingress = nil
	} else {
		yyv1835 := &x.Ingress
		yym1836 := z.DecBinary()
		_ = yym1836
		if false {
		} else {
			h.decSliceLoadBalancerIngress((*[]LoadBalancerIngress)(yyv1835), d)
		}
	}
	for {
		yyj1834++
		if yyhl1834 {
			yyb1834 = yyj1834 > l
		} else {
			yyb1834 = r.CheckBreak()
		}
		if yyb1834 {
			break
		}
		z.DecStructFieldNotFound(yyj1834-1, "")
	}
	r.ReadEnd()
}

func (x *LoadBalancerIngress) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym1837 := z.EncBinary()
		_ = yym1837
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep1838 := !z.EncBinary()
			yy2arr1838 := z.EncBasicHandle().StructToArray
			var yyq1838 [2]bool
			_, _, _ = yysep1838, yyq1838, yy2arr1838
			const yyr1838 bool = false
			yyq1838[0] = x.IP != ""
			yyq1838[1] = x.Hostname != ""
			if yyr1838 || yy2arr1838 {
				r.EncodeArrayStart(2)
			} else {
				var yynn1838 int = 0
				for _, b := range yyq1838 {
					if b {
						yynn1838++
					}
				}
				r.EncodeMapStart(yynn1838)
			}
			if yyr1838 || yy2arr1838 {
				if yyq1838[0] {
					yym1840 := z.EncBinary()
					_ = yym1840
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.IP))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq1838[0] {
					r.EncodeString(codecSelferC_UTF81234, string("ip"))
					yym1841 := z.EncBinary()
					_ = yym1841
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.IP))
					}
				}
			}
			if yyr1838 || yy2arr1838 {
				if yyq1838[1] {
					yym1843 := z.EncBinary()
					_ = yym1843
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Hostname))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq1838[1] {
					r.EncodeString(codecSelferC_UTF81234, string("hostname"))
					yym1844 := z.EncBinary()
					_ = yym1844
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Hostname))
					}
				}
			}
			if yysep1838 {
				r.EncodeEnd()
			}
		}
	}
}

func (x *LoadBalancerIngress) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym1845 := z.DecBinary()
	_ = yym1845
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		if r.IsContainerType(codecSelferValueTypeMap1234) {
			yyl1846 := r.ReadMapStart()
			if yyl1846 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromMap(yyl1846, d)
			}
		} else if r.IsContainerType(codecSelferValueTypeArray1234) {
			yyl1846 := r.ReadArrayStart()
			if yyl1846 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromArray(yyl1846, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *LoadBalancerIngress) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys1847Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys1847Slc
	var yyhl1847 bool = l >= 0
	for yyj1847 := 0; ; yyj1847++ {
		if yyhl1847 {
			if yyj1847 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		yys1847Slc = r.DecodeBytes(yys1847Slc, true, true)
		yys1847 := string(yys1847Slc)
		switch yys1847 {
		case "ip":
			if r.TryDecodeAsNil() {
				x.IP = ""
			} else {
				x.IP = string(r.DecodeString())
			}
		case "hostname":
			if r.TryDecodeAsNil() {
				x.Hostname = ""
			} else {
				x.Hostname = string(r.DecodeString())
			}
		default:
			z.DecStructFieldNotFound(-1, yys1847)
		} // end switch yys1847
	} // end for yyj1847
	if !yyhl1847 {
		r.ReadEnd()
	}
}

func (x *LoadBalancerIngress) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj1850 int
	var yyb1850 bool
	var yyhl1850 bool = l >= 0
	yyj1850++
	if yyhl1850 {
		yyb1850 = yyj1850 > l
	} else {
		yyb1850 = r.CheckBreak()
	}
	if yyb1850 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.IP = ""
	} else {
		x.IP = string(r.DecodeString())
	}
	yyj1850++
	if yyhl1850 {
		yyb1850 = yyj1850 > l
	} else {
		yyb1850 = r.CheckBreak()
	}
	if yyb1850 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.Hostname = ""
	} else {
		x.Hostname = string(r.DecodeString())
	}
	for {
		yyj1850++
		if yyhl1850 {
			yyb1850 = yyj1850 > l
		} else {
			yyb1850 = r.CheckBreak()
		}
		if yyb1850 {
			break
		}
		z.DecStructFieldNotFound(yyj1850-1, "")
	}
	r.ReadEnd()
}

func (x *ServiceSpec) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym1853 := z.EncBinary()
		_ = yym1853
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep1854 := !z.EncBinary()
			yy2arr1854 := z.EncBasicHandle().StructToArray
			var yyq1854 [8]bool
			_, _, _ = yysep1854, yyq1854, yy2arr1854
			const yyr1854 bool = false
			yyq1854[1] = len(x.Selector) != 0
			yyq1854[2] = x.ClusterIP != ""
			yyq1854[3] = x.Type != ""
			yyq1854[4] = len(x.ExternalIPs) != 0
			yyq1854[5] = len(x.DeprecatedPublicIPs) != 0
			yyq1854[6] = x.SessionAffinity != ""
			yyq1854[7] = x.LoadBalancerIP != ""
			if yyr1854 || yy2arr1854 {
				r.EncodeArrayStart(8)
			} else {
				var yynn1854 int = 1
				for _, b := range yyq1854 {
					if b {
						yynn1854++
					}
				}
				r.EncodeMapStart(yynn1854)
			}
			if yyr1854 || yy2arr1854 {
				if x.Ports == nil {
					r.EncodeNil()
				} else {
					yym1856 := z.EncBinary()
					_ = yym1856
					if false {
					} else {
						h.encSliceServicePort(([]ServicePort)(x.Ports), e)
					}
				}
			} else {
				r.EncodeString(codecSelferC_UTF81234, string("ports"))
				if x.Ports == nil {
					r.EncodeNil()
				} else {
					yym1857 := z.EncBinary()
					_ = yym1857
					if false {
					} else {
						h.encSliceServicePort(([]ServicePort)(x.Ports), e)
					}
				}
			}
			if yyr1854 || yy2arr1854 {
				if yyq1854[1] {
					if x.Selector == nil {
						r.EncodeNil()
					} else {
						yym1859 := z.EncBinary()
						_ = yym1859
						if false {
						} else {
							z.F.EncMapStringStringV(x.Selector, false, e)
						}
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1854[1] {
					r.EncodeString(codecSelferC_UTF81234, string("selector"))
					if x.Selector == nil {
						r.EncodeNil()
					} else {
						yym1860 := z.EncBinary()
						_ = yym1860
						if false {
						} else {
							z.F.EncMapStringStringV(x.Selector, false, e)
						}
					}
				}
			}
			if yyr1854 || yy2arr1854 {
				if yyq1854[2] {
					yym1862 := z.EncBinary()
					_ = yym1862
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.ClusterIP))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq1854[2] {
					r.EncodeString(codecSelferC_UTF81234, string("clusterIP"))
					yym1863 := z.EncBinary()
					_ = yym1863
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.ClusterIP))
					}
				}
			}
			if yyr1854 || yy2arr1854 {
				if yyq1854[3] {
					x.Type.CodecEncodeSelf(e)
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq1854[3] {
					r.EncodeString(codecSelferC_UTF81234, string("type"))
					x.Type.CodecEncodeSelf(e)
				}
			}
			if yyr1854 || yy2arr1854 {
				if yyq1854[4] {
					if x.ExternalIPs == nil {
						r.EncodeNil()
					} else {
						yym1866 := z.EncBinary()
						_ = yym1866
						if false {
						} else {
							z.F.EncSliceStringV(x.ExternalIPs, false, e)
						}
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1854[4] {
					r.EncodeString(codecSelferC_UTF81234, string("externalIPs"))
					if x.ExternalIPs == nil {
						r.EncodeNil()
					} else {
						yym1867 := z.EncBinary()
						_ = yym1867
						if false {
						} else {
							z.F.EncSliceStringV(x.ExternalIPs, false, e)
						}
					}
				}
			}
			if yyr1854 || yy2arr1854 {
				if yyq1854[5] {
					if x.DeprecatedPublicIPs == nil {
						r.EncodeNil()
					} else {
						yym1869 := z.EncBinary()
						_ = yym1869
						if false {
						} else {
							z.F.EncSliceStringV(x.DeprecatedPublicIPs, false, e)
						}
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1854[5] {
					r.EncodeString(codecSelferC_UTF81234, string("deprecatedPublicIPs"))
					if x.DeprecatedPublicIPs == nil {
						r.EncodeNil()
					} else {
						yym1870 := z.EncBinary()
						_ = yym1870
						if false {
						} else {
							z.F.EncSliceStringV(x.DeprecatedPublicIPs, false, e)
						}
					}
				}
			}
			if yyr1854 || yy2arr1854 {
				if yyq1854[6] {
					x.SessionAffinity.CodecEncodeSelf(e)
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq1854[6] {
					r.EncodeString(codecSelferC_UTF81234, string("sessionAffinity"))
					x.SessionAffinity.CodecEncodeSelf(e)
				}
			}
			if yyr1854 || yy2arr1854 {
				if yyq1854[7] {
					yym1873 := z.EncBinary()
					_ = yym1873
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.LoadBalancerIP))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq1854[7] {
					r.EncodeString(codecSelferC_UTF81234, string("loadBalancerIP"))
					yym1874 := z.EncBinary()
					_ = yym1874
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.LoadBalancerIP))
					}
				}
			}
			if yysep1854 {
				r.EncodeEnd()
			}
		}
	}
}

func (x *ServiceSpec) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym1875 := z.DecBinary()
	_ = yym1875
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		if r.IsContainerType(codecSelferValueTypeMap1234) {
			yyl1876 := r.ReadMapStart()
			if yyl1876 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromMap(yyl1876, d)
			}
		} else if r.IsContainerType(codecSelferValueTypeArray1234) {
			yyl1876 := r.ReadArrayStart()
			if yyl1876 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromArray(yyl1876, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *ServiceSpec) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys1877Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys1877Slc
	var yyhl1877 bool = l >= 0
	for yyj1877 := 0; ; yyj1877++ {
		if yyhl1877 {
			if yyj1877 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		yys1877Slc = r.DecodeBytes(yys1877Slc, true, true)
		yys1877 := string(yys1877Slc)
		switch yys1877 {
		case "ports":
			if r.TryDecodeAsNil() {
				x.Ports = nil
			} else {
				yyv1878 := &x.Ports
				yym1879 := z.DecBinary()
				_ = yym1879
				if false {
				} else {
					h.decSliceServicePort((*[]ServicePort)(yyv1878), d)
				}
			}
		case "selector":
			if r.TryDecodeAsNil() {
				x.Selector = nil
			} else {
				yyv1880 := &x.Selector
				yym1881 := z.DecBinary()
				_ = yym1881
				if false {
				} else {
					z.F.DecMapStringStringX(yyv1880, false, d)
				}
			}
		case "clusterIP":
			if r.TryDecodeAsNil() {
				x.ClusterIP = ""
			} else {
				x.ClusterIP = string(r.DecodeString())
			}
		case "type":
			if r.TryDecodeAsNil() {
				x.Type = ""
			} else {
				x.Type = ServiceType(r.DecodeString())
			}
		case "externalIPs":
			if r.TryDecodeAsNil() {
				x.ExternalIPs = nil
			} else {
				yyv1884 := &x.ExternalIPs
				yym1885 := z.DecBinary()
				_ = yym1885
				if false {
				} else {
					z.F.DecSliceStringX(yyv1884, false, d)
				}
			}
		case "deprecatedPublicIPs":
			if r.TryDecodeAsNil() {
				x.DeprecatedPublicIPs = nil
			} else {
				yyv1886 := &x.DeprecatedPublicIPs
				yym1887 := z.DecBinary()
				_ = yym1887
				if false {
				} else {
					z.F.DecSliceStringX(yyv1886, false, d)
				}
			}
		case "sessionAffinity":
			if r.TryDecodeAsNil() {
				x.SessionAffinity = ""
			} else {
				x.SessionAffinity = ServiceAffinity(r.DecodeString())
			}
		case "loadBalancerIP":
			if r.TryDecodeAsNil() {
				x.LoadBalancerIP = ""
			} else {
				x.LoadBalancerIP = string(r.DecodeString())
			}
		default:
			z.DecStructFieldNotFound(-1, yys1877)
		} // end switch yys1877
	} // end for yyj1877
	if !yyhl1877 {
		r.ReadEnd()
	}
}

func (x *ServiceSpec) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj1890 int
	var yyb1890 bool
	var yyhl1890 bool = l >= 0
	yyj1890++
	if yyhl1890 {
		yyb1890 = yyj1890 > l
	} else {
		yyb1890 = r.CheckBreak()
	}
	if yyb1890 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.Ports = nil
	} else {
		yyv1891 := &x.Ports
		yym1892 := z.DecBinary()
		_ = yym1892
		if false {
		} else {
			h.decSliceServicePort((*[]ServicePort)(yyv1891), d)
		}
	}
	yyj1890++
	if yyhl1890 {
		yyb1890 = yyj1890 > l
	} else {
		yyb1890 = r.CheckBreak()
	}
	if yyb1890 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.Selector = nil
	} else {
		yyv1893 := &x.Selector
		yym1894 := z.DecBinary()
		_ = yym1894
		if false {
		} else {
			z.F.DecMapStringStringX(yyv1893, false, d)
		}
	}
	yyj1890++
	if yyhl1890 {
		yyb1890 = yyj1890 > l
	} else {
		yyb1890 = r.CheckBreak()
	}
	if yyb1890 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.ClusterIP = ""
	} else {
		x.ClusterIP = string(r.DecodeString())
	}
	yyj1890++
	if yyhl1890 {
		yyb1890 = yyj1890 > l
	} else {
		yyb1890 = r.CheckBreak()
	}
	if yyb1890 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.Type = ""
	} else {
		x.Type = ServiceType(r.DecodeString())
	}
	yyj1890++
	if yyhl1890 {
		yyb1890 = yyj1890 > l
	} else {
		yyb1890 = r.CheckBreak()
	}
	if yyb1890 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.ExternalIPs = nil
	} else {
		yyv1897 := &x.ExternalIPs
		yym1898 := z.DecBinary()
		_ = yym1898
		if false {
		} else {
			z.F.DecSliceStringX(yyv1897, false, d)
		}
	}
	yyj1890++
	if yyhl1890 {
		yyb1890 = yyj1890 > l
	} else {
		yyb1890 = r.CheckBreak()
	}
	if yyb1890 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.DeprecatedPublicIPs = nil
	} else {
		yyv1899 := &x.DeprecatedPublicIPs
		yym1900 := z.DecBinary()
		_ = yym1900
		if false {
		} else {
			z.F.DecSliceStringX(yyv1899, false, d)
		}
	}
	yyj1890++
	if yyhl1890 {
		yyb1890 = yyj1890 > l
	} else {
		yyb1890 = r.CheckBreak()
	}
	if yyb1890 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.SessionAffinity = ""
	} else {
		x.SessionAffinity = ServiceAffinity(r.DecodeString())
	}
	yyj1890++
	if yyhl1890 {
		yyb1890 = yyj1890 > l
	} else {
		yyb1890 = r.CheckBreak()
	}
	if yyb1890 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.LoadBalancerIP = ""
	} else {
		x.LoadBalancerIP = string(r.DecodeString())
	}
	for {
		yyj1890++
		if yyhl1890 {
			yyb1890 = yyj1890 > l
		} else {
			yyb1890 = r.CheckBreak()
		}
		if yyb1890 {
			break
		}
		z.DecStructFieldNotFound(yyj1890-1, "")
	}
	r.ReadEnd()
}

func (x *ServicePort) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym1903 := z.EncBinary()
		_ = yym1903
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep1904 := !z.EncBinary()
			yy2arr1904 := z.EncBasicHandle().StructToArray
			var yyq1904 [5]bool
			_, _, _ = yysep1904, yyq1904, yy2arr1904
			const yyr1904 bool = false
			yyq1904[0] = x.Name != ""
			yyq1904[1] = x.Protocol != ""
			yyq1904[3] = true
			yyq1904[4] = x.NodePort != 0
			if yyr1904 || yy2arr1904 {
				r.EncodeArrayStart(5)
			} else {
				var yynn1904 int = 1
				for _, b := range yyq1904 {
					if b {
						yynn1904++
					}
				}
				r.EncodeMapStart(yynn1904)
			}
			if yyr1904 || yy2arr1904 {
				if yyq1904[0] {
					yym1906 := z.EncBinary()
					_ = yym1906
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Name))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq1904[0] {
					r.EncodeString(codecSelferC_UTF81234, string("name"))
					yym1907 := z.EncBinary()
					_ = yym1907
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Name))
					}
				}
			}
			if yyr1904 || yy2arr1904 {
				if yyq1904[1] {
					x.Protocol.CodecEncodeSelf(e)
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq1904[1] {
					r.EncodeString(codecSelferC_UTF81234, string("protocol"))
					x.Protocol.CodecEncodeSelf(e)
				}
			}
			if yyr1904 || yy2arr1904 {
				yym1910 := z.EncBinary()
				_ = yym1910
				if false {
				} else {
					r.EncodeInt(int64(x.Port))
				}
			} else {
				r.EncodeString(codecSelferC_UTF81234, string("port"))
				yym1911 := z.EncBinary()
				_ = yym1911
				if false {
				} else {
					r.EncodeInt(int64(x.Port))
				}
			}
			if yyr1904 || yy2arr1904 {
				if yyq1904[3] {
					yy1913 := &x.TargetPort
					yym1914 := z.EncBinary()
					_ = yym1914
					if false {
					} else if z.HasExtensions() && z.EncExt(yy1913) {
					} else if !yym1914 && z.IsJSONHandle() {
						z.EncJSONMarshal(yy1913)
					} else {
						z.EncFallback(yy1913)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1904[3] {
					r.EncodeString(codecSelferC_UTF81234, string("targetPort"))
					yy1915 := &x.TargetPort
					yym1916 := z.EncBinary()
					_ = yym1916
					if false {
					} else if z.HasExtensions() && z.EncExt(yy1915) {
					} else if !yym1916 && z.IsJSONHandle() {
						z.EncJSONMarshal(yy1915)
					} else {
						z.EncFallback(yy1915)
					}
				}
			}
			if yyr1904 || yy2arr1904 {
				if yyq1904[4] {
					yym1918 := z.EncBinary()
					_ = yym1918
					if false {
					} else {
						r.EncodeInt(int64(x.NodePort))
					}
				} else {
					r.EncodeInt(0)
				}
			} else {
				if yyq1904[4] {
					r.EncodeString(codecSelferC_UTF81234, string("nodePort"))
					yym1919 := z.EncBinary()
					_ = yym1919
					if false {
					} else {
						r.EncodeInt(int64(x.NodePort))
					}
				}
			}
			if yysep1904 {
				r.EncodeEnd()
			}
		}
	}
}

func (x *ServicePort) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym1920 := z.DecBinary()
	_ = yym1920
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		if r.IsContainerType(codecSelferValueTypeMap1234) {
			yyl1921 := r.ReadMapStart()
			if yyl1921 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromMap(yyl1921, d)
			}
		} else if r.IsContainerType(codecSelferValueTypeArray1234) {
			yyl1921 := r.ReadArrayStart()
			if yyl1921 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromArray(yyl1921, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *ServicePort) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys1922Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys1922Slc
	var yyhl1922 bool = l >= 0
	for yyj1922 := 0; ; yyj1922++ {
		if yyhl1922 {
			if yyj1922 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		yys1922Slc = r.DecodeBytes(yys1922Slc, true, true)
		yys1922 := string(yys1922Slc)
		switch yys1922 {
		case "name":
			if r.TryDecodeAsNil() {
				x.Name = ""
			} else {
				x.Name = string(r.DecodeString())
			}
		case "protocol":
			if r.TryDecodeAsNil() {
				x.Protocol = ""
			} else {
				x.Protocol = Protocol(r.DecodeString())
			}
		case "port":
			if r.TryDecodeAsNil() {
				x.Port = 0
			} else {
				x.Port = int(r.DecodeInt(codecSelferBitsize1234))
			}
		case "targetPort":
			if r.TryDecodeAsNil() {
				x.TargetPort = pkg5_util.IntOrString{}
			} else {
				yyv1926 := &x.TargetPort
				yym1927 := z.DecBinary()
				_ = yym1927
				if false {
				} else if z.HasExtensions() && z.DecExt(yyv1926) {
				} else if !yym1927 && z.IsJSONHandle() {
					z.DecJSONUnmarshal(yyv1926)
				} else {
					z.DecFallback(yyv1926, false)
				}
			}
		case "nodePort":
			if r.TryDecodeAsNil() {
				x.NodePort = 0
			} else {
				x.NodePort = int(r.DecodeInt(codecSelferBitsize1234))
			}
		default:
			z.DecStructFieldNotFound(-1, yys1922)
		} // end switch yys1922
	} // end for yyj1922
	if !yyhl1922 {
		r.ReadEnd()
	}
}

func (x *ServicePort) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj1929 int
	var yyb1929 bool
	var yyhl1929 bool = l >= 0
	yyj1929++
	if yyhl1929 {
		yyb1929 = yyj1929 > l
	} else {
		yyb1929 = r.CheckBreak()
	}
	if yyb1929 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.Name = ""
	} else {
		x.Name = string(r.DecodeString())
	}
	yyj1929++
	if yyhl1929 {
		yyb1929 = yyj1929 > l
	} else {
		yyb1929 = r.CheckBreak()
	}
	if yyb1929 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.Protocol = ""
	} else {
		x.Protocol = Protocol(r.DecodeString())
	}
	yyj1929++
	if yyhl1929 {
		yyb1929 = yyj1929 > l
	} else {
		yyb1929 = r.CheckBreak()
	}
	if yyb1929 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.Port = 0
	} else {
		x.Port = int(r.DecodeInt(codecSelferBitsize1234))
	}
	yyj1929++
	if yyhl1929 {
		yyb1929 = yyj1929 > l
	} else {
		yyb1929 = r.CheckBreak()
	}
	if yyb1929 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.TargetPort = pkg5_util.IntOrString{}
	} else {
		yyv1933 := &x.TargetPort
		yym1934 := z.DecBinary()
		_ = yym1934
		if false {
		} else if z.HasExtensions() && z.DecExt(yyv1933) {
		} else if !yym1934 && z.IsJSONHandle() {
			z.DecJSONUnmarshal(yyv1933)
		} else {
			z.DecFallback(yyv1933, false)
		}
	}
	yyj1929++
	if yyhl1929 {
		yyb1929 = yyj1929 > l
	} else {
		yyb1929 = r.CheckBreak()
	}
	if yyb1929 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.NodePort = 0
	} else {
		x.NodePort = int(r.DecodeInt(codecSelferBitsize1234))
	}
	for {
		yyj1929++
		if yyhl1929 {
			yyb1929 = yyj1929 > l
		} else {
			yyb1929 = r.CheckBreak()
		}
		if yyb1929 {
			break
		}
		z.DecStructFieldNotFound(yyj1929-1, "")
	}
	r.ReadEnd()
}

func (x *Service) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym1936 := z.EncBinary()
		_ = yym1936
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep1937 := !z.EncBinary()
			yy2arr1937 := z.EncBasicHandle().StructToArray
			var yyq1937 [5]bool
			_, _, _ = yysep1937, yyq1937, yy2arr1937
			const yyr1937 bool = false
			yyq1937[0] = x.Kind != ""
			yyq1937[1] = x.APIVersion != ""
			yyq1937[2] = true
			yyq1937[3] = true
			yyq1937[4] = true
			if yyr1937 || yy2arr1937 {
				r.EncodeArrayStart(5)
			} else {
				var yynn1937 int = 0
				for _, b := range yyq1937 {
					if b {
						yynn1937++
					}
				}
				r.EncodeMapStart(yynn1937)
			}
			if yyr1937 || yy2arr1937 {
				if yyq1937[0] {
					yym1939 := z.EncBinary()
					_ = yym1939
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq1937[0] {
					r.EncodeString(codecSelferC_UTF81234, string("kind"))
					yym1940 := z.EncBinary()
					_ = yym1940
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				}
			}
			if yyr1937 || yy2arr1937 {
				if yyq1937[1] {
					yym1942 := z.EncBinary()
					_ = yym1942
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq1937[1] {
					r.EncodeString(codecSelferC_UTF81234, string("apiVersion"))
					yym1943 := z.EncBinary()
					_ = yym1943
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				}
			}
			if yyr1937 || yy2arr1937 {
				if yyq1937[2] {
					yy1945 := &x.ObjectMeta
					yy1945.CodecEncodeSelf(e)
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1937[2] {
					r.EncodeString(codecSelferC_UTF81234, string("metadata"))
					yy1946 := &x.ObjectMeta
					yy1946.CodecEncodeSelf(e)
				}
			}
			if yyr1937 || yy2arr1937 {
				if yyq1937[3] {
					yy1948 := &x.Spec
					yy1948.CodecEncodeSelf(e)
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1937[3] {
					r.EncodeString(codecSelferC_UTF81234, string("spec"))
					yy1949 := &x.Spec
					yy1949.CodecEncodeSelf(e)
				}
			}
			if yyr1937 || yy2arr1937 {
				if yyq1937[4] {
					yy1951 := &x.Status
					yy1951.CodecEncodeSelf(e)
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1937[4] {
					r.EncodeString(codecSelferC_UTF81234, string("status"))
					yy1952 := &x.Status
					yy1952.CodecEncodeSelf(e)
				}
			}
			if yysep1937 {
				r.EncodeEnd()
			}
		}
	}
}

func (x *Service) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym1953 := z.DecBinary()
	_ = yym1953
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		if r.IsContainerType(codecSelferValueTypeMap1234) {
			yyl1954 := r.ReadMapStart()
			if yyl1954 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromMap(yyl1954, d)
			}
		} else if r.IsContainerType(codecSelferValueTypeArray1234) {
			yyl1954 := r.ReadArrayStart()
			if yyl1954 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromArray(yyl1954, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *Service) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys1955Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys1955Slc
	var yyhl1955 bool = l >= 0
	for yyj1955 := 0; ; yyj1955++ {
		if yyhl1955 {
			if yyj1955 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		yys1955Slc = r.DecodeBytes(yys1955Slc, true, true)
		yys1955 := string(yys1955Slc)
		switch yys1955 {
		case "kind":
			if r.TryDecodeAsNil() {
				x.Kind = ""
			} else {
				x.Kind = string(r.DecodeString())
			}
		case "apiVersion":
			if r.TryDecodeAsNil() {
				x.APIVersion = ""
			} else {
				x.APIVersion = string(r.DecodeString())
			}
		case "metadata":
			if r.TryDecodeAsNil() {
				x.ObjectMeta = ObjectMeta{}
			} else {
				yyv1958 := &x.ObjectMeta
				yyv1958.CodecDecodeSelf(d)
			}
		case "spec":
			if r.TryDecodeAsNil() {
				x.Spec = ServiceSpec{}
			} else {
				yyv1959 := &x.Spec
				yyv1959.CodecDecodeSelf(d)
			}
		case "status":
			if r.TryDecodeAsNil() {
				x.Status = ServiceStatus{}
			} else {
				yyv1960 := &x.Status
				yyv1960.CodecDecodeSelf(d)
			}
		default:
			z.DecStructFieldNotFound(-1, yys1955)
		} // end switch yys1955
	} // end for yyj1955
	if !yyhl1955 {
		r.ReadEnd()
	}
}

func (x *Service) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj1961 int
	var yyb1961 bool
	var yyhl1961 bool = l >= 0
	yyj1961++
	if yyhl1961 {
		yyb1961 = yyj1961 > l
	} else {
		yyb1961 = r.CheckBreak()
	}
	if yyb1961 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.Kind = ""
	} else {
		x.Kind = string(r.DecodeString())
	}
	yyj1961++
	if yyhl1961 {
		yyb1961 = yyj1961 > l
	} else {
		yyb1961 = r.CheckBreak()
	}
	if yyb1961 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.APIVersion = ""
	} else {
		x.APIVersion = string(r.DecodeString())
	}
	yyj1961++
	if yyhl1961 {
		yyb1961 = yyj1961 > l
	} else {
		yyb1961 = r.CheckBreak()
	}
	if yyb1961 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.ObjectMeta = ObjectMeta{}
	} else {
		yyv1964 := &x.ObjectMeta
		yyv1964.CodecDecodeSelf(d)
	}
	yyj1961++
	if yyhl1961 {
		yyb1961 = yyj1961 > l
	} else {
		yyb1961 = r.CheckBreak()
	}
	if yyb1961 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.Spec = ServiceSpec{}
	} else {
		yyv1965 := &x.Spec
		yyv1965.CodecDecodeSelf(d)
	}
	yyj1961++
	if yyhl1961 {
		yyb1961 = yyj1961 > l
	} else {
		yyb1961 = r.CheckBreak()
	}
	if yyb1961 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.Status = ServiceStatus{}
	} else {
		yyv1966 := &x.Status
		yyv1966.CodecDecodeSelf(d)
	}
	for {
		yyj1961++
		if yyhl1961 {
			yyb1961 = yyj1961 > l
		} else {
			yyb1961 = r.CheckBreak()
		}
		if yyb1961 {
			break
		}
		z.DecStructFieldNotFound(yyj1961-1, "")
	}
	r.ReadEnd()
}

func (x *ServiceList) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym1967 := z.EncBinary()
		_ = yym1967
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep1968 := !z.EncBinary()
			yy2arr1968 := z.EncBasicHandle().StructToArray
			var yyq1968 [4]bool
			_, _, _ = yysep1968, yyq1968, yy2arr1968
			const yyr1968 bool = false
			yyq1968[0] = x.Kind != ""
			yyq1968[1] = x.APIVersion != ""
			yyq1968[2] = true
			if yyr1968 || yy2arr1968 {
				r.EncodeArrayStart(4)
			} else {
				var yynn1968 int = 1
				for _, b := range yyq1968 {
					if b {
						yynn1968++
					}
				}
				r.EncodeMapStart(yynn1968)
			}
			if yyr1968 || yy2arr1968 {
				if yyq1968[0] {
					yym1970 := z.EncBinary()
					_ = yym1970
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq1968[0] {
					r.EncodeString(codecSelferC_UTF81234, string("kind"))
					yym1971 := z.EncBinary()
					_ = yym1971
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				}
			}
			if yyr1968 || yy2arr1968 {
				if yyq1968[1] {
					yym1973 := z.EncBinary()
					_ = yym1973
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq1968[1] {
					r.EncodeString(codecSelferC_UTF81234, string("apiVersion"))
					yym1974 := z.EncBinary()
					_ = yym1974
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				}
			}
			if yyr1968 || yy2arr1968 {
				if yyq1968[2] {
					yy1976 := &x.ListMeta
					yym1977 := z.EncBinary()
					_ = yym1977
					if false {
					} else if z.HasExtensions() && z.EncExt(yy1976) {
					} else {
						z.EncFallback(yy1976)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1968[2] {
					r.EncodeString(codecSelferC_UTF81234, string("metadata"))
					yy1978 := &x.ListMeta
					yym1979 := z.EncBinary()
					_ = yym1979
					if false {
					} else if z.HasExtensions() && z.EncExt(yy1978) {
					} else {
						z.EncFallback(yy1978)
					}
				}
			}
			if yyr1968 || yy2arr1968 {
				if x.Items == nil {
					r.EncodeNil()
				} else {
					yym1981 := z.EncBinary()
					_ = yym1981
					if false {
					} else {
						h.encSliceService(([]Service)(x.Items), e)
					}
				}
			} else {
				r.EncodeString(codecSelferC_UTF81234, string("items"))
				if x.Items == nil {
					r.EncodeNil()
				} else {
					yym1982 := z.EncBinary()
					_ = yym1982
					if false {
					} else {
						h.encSliceService(([]Service)(x.Items), e)
					}
				}
			}
			if yysep1968 {
				r.EncodeEnd()
			}
		}
	}
}

func (x *ServiceList) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym1983 := z.DecBinary()
	_ = yym1983
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		if r.IsContainerType(codecSelferValueTypeMap1234) {
			yyl1984 := r.ReadMapStart()
			if yyl1984 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromMap(yyl1984, d)
			}
		} else if r.IsContainerType(codecSelferValueTypeArray1234) {
			yyl1984 := r.ReadArrayStart()
			if yyl1984 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromArray(yyl1984, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *ServiceList) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys1985Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys1985Slc
	var yyhl1985 bool = l >= 0
	for yyj1985 := 0; ; yyj1985++ {
		if yyhl1985 {
			if yyj1985 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		yys1985Slc = r.DecodeBytes(yys1985Slc, true, true)
		yys1985 := string(yys1985Slc)
		switch yys1985 {
		case "kind":
			if r.TryDecodeAsNil() {
				x.Kind = ""
			} else {
				x.Kind = string(r.DecodeString())
			}
		case "apiVersion":
			if r.TryDecodeAsNil() {
				x.APIVersion = ""
			} else {
				x.APIVersion = string(r.DecodeString())
			}
		case "metadata":
			if r.TryDecodeAsNil() {
				x.ListMeta = pkg2_unversioned.ListMeta{}
			} else {
				yyv1988 := &x.ListMeta
				yym1989 := z.DecBinary()
				_ = yym1989
				if false {
				} else if z.HasExtensions() && z.DecExt(yyv1988) {
				} else {
					z.DecFallback(yyv1988, false)
				}
			}
		case "items":
			if r.TryDecodeAsNil() {
				x.Items = nil
			} else {
				yyv1990 := &x.Items
				yym1991 := z.DecBinary()
				_ = yym1991
				if false {
				} else {
					h.decSliceService((*[]Service)(yyv1990), d)
				}
			}
		default:
			z.DecStructFieldNotFound(-1, yys1985)
		} // end switch yys1985
	} // end for yyj1985
	if !yyhl1985 {
		r.ReadEnd()
	}
}

func (x *ServiceList) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj1992 int
	var yyb1992 bool
	var yyhl1992 bool = l >= 0
	yyj1992++
	if yyhl1992 {
		yyb1992 = yyj1992 > l
	} else {
		yyb1992 = r.CheckBreak()
	}
	if yyb1992 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.Kind = ""
	} else {
		x.Kind = string(r.DecodeString())
	}
	yyj1992++
	if yyhl1992 {
		yyb1992 = yyj1992 > l
	} else {
		yyb1992 = r.CheckBreak()
	}
	if yyb1992 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.APIVersion = ""
	} else {
		x.APIVersion = string(r.DecodeString())
	}
	yyj1992++
	if yyhl1992 {
		yyb1992 = yyj1992 > l
	} else {
		yyb1992 = r.CheckBreak()
	}
	if yyb1992 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.ListMeta = pkg2_unversioned.ListMeta{}
	} else {
		yyv1995 := &x.ListMeta
		yym1996 := z.DecBinary()
		_ = yym1996
		if false {
		} else if z.HasExtensions() && z.DecExt(yyv1995) {
		} else {
			z.DecFallback(yyv1995, false)
		}
	}
	yyj1992++
	if yyhl1992 {
		yyb1992 = yyj1992 > l
	} else {
		yyb1992 = r.CheckBreak()
	}
	if yyb1992 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.Items = nil
	} else {
		yyv1997 := &x.Items
		yym1998 := z.DecBinary()
		_ = yym1998
		if false {
		} else {
			h.decSliceService((*[]Service)(yyv1997), d)
		}
	}
	for {
		yyj1992++
		if yyhl1992 {
			yyb1992 = yyj1992 > l
		} else {
			yyb1992 = r.CheckBreak()
		}
		if yyb1992 {
			break
		}
		z.DecStructFieldNotFound(yyj1992-1, "")
	}
	r.ReadEnd()
}

func (x *ServiceAccount) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym1999 := z.EncBinary()
		_ = yym1999
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep2000 := !z.EncBinary()
			yy2arr2000 := z.EncBasicHandle().StructToArray
			var yyq2000 [5]bool
			_, _, _ = yysep2000, yyq2000, yy2arr2000
			const yyr2000 bool = false
			yyq2000[0] = x.Kind != ""
			yyq2000[1] = x.APIVersion != ""
			yyq2000[2] = true
			yyq2000[3] = len(x.Secrets) != 0
			yyq2000[4] = len(x.ImagePullSecrets) != 0
			if yyr2000 || yy2arr2000 {
				r.EncodeArrayStart(5)
			} else {
				var yynn2000 int = 0
				for _, b := range yyq2000 {
					if b {
						yynn2000++
					}
				}
				r.EncodeMapStart(yynn2000)
			}
			if yyr2000 || yy2arr2000 {
				if yyq2000[0] {
					yym2002 := z.EncBinary()
					_ = yym2002
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq2000[0] {
					r.EncodeString(codecSelferC_UTF81234, string("kind"))
					yym2003 := z.EncBinary()
					_ = yym2003
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				}
			}
			if yyr2000 || yy2arr2000 {
				if yyq2000[1] {
					yym2005 := z.EncBinary()
					_ = yym2005
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq2000[1] {
					r.EncodeString(codecSelferC_UTF81234, string("apiVersion"))
					yym2006 := z.EncBinary()
					_ = yym2006
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				}
			}
			if yyr2000 || yy2arr2000 {
				if yyq2000[2] {
					yy2008 := &x.ObjectMeta
					yy2008.CodecEncodeSelf(e)
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq2000[2] {
					r.EncodeString(codecSelferC_UTF81234, string("metadata"))
					yy2009 := &x.ObjectMeta
					yy2009.CodecEncodeSelf(e)
				}
			}
			if yyr2000 || yy2arr2000 {
				if yyq2000[3] {
					if x.Secrets == nil {
						r.EncodeNil()
					} else {
						yym2011 := z.EncBinary()
						_ = yym2011
						if false {
						} else {
							h.encSliceObjectReference(([]ObjectReference)(x.Secrets), e)
						}
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq2000[3] {
					r.EncodeString(codecSelferC_UTF81234, string("secrets"))
					if x.Secrets == nil {
						r.EncodeNil()
					} else {
						yym2012 := z.EncBinary()
						_ = yym2012
						if false {
						} else {
							h.encSliceObjectReference(([]ObjectReference)(x.Secrets), e)
						}
					}
				}
			}
			if yyr2000 || yy2arr2000 {
				if yyq2000[4] {
					if x.ImagePullSecrets == nil {
						r.EncodeNil()
					} else {
						yym2014 := z.EncBinary()
						_ = yym2014
						if false {
						} else {
							h.encSliceLocalObjectReference(([]LocalObjectReference)(x.ImagePullSecrets), e)
						}
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq2000[4] {
					r.EncodeString(codecSelferC_UTF81234, string("imagePullSecrets"))
					if x.ImagePullSecrets == nil {
						r.EncodeNil()
					} else {
						yym2015 := z.EncBinary()
						_ = yym2015
						if false {
						} else {
							h.encSliceLocalObjectReference(([]LocalObjectReference)(x.ImagePullSecrets), e)
						}
					}
				}
			}
			if yysep2000 {
				r.EncodeEnd()
			}
		}
	}
}

func (x *ServiceAccount) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym2016 := z.DecBinary()
	_ = yym2016
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		if r.IsContainerType(codecSelferValueTypeMap1234) {
			yyl2017 := r.ReadMapStart()
			if yyl2017 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromMap(yyl2017, d)
			}
		} else if r.IsContainerType(codecSelferValueTypeArray1234) {
			yyl2017 := r.ReadArrayStart()
			if yyl2017 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromArray(yyl2017, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *ServiceAccount) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys2018Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys2018Slc
	var yyhl2018 bool = l >= 0
	for yyj2018 := 0; ; yyj2018++ {
		if yyhl2018 {
			if yyj2018 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		yys2018Slc = r.DecodeBytes(yys2018Slc, true, true)
		yys2018 := string(yys2018Slc)
		switch yys2018 {
		case "kind":
			if r.TryDecodeAsNil() {
				x.Kind = ""
			} else {
				x.Kind = string(r.DecodeString())
			}
		case "apiVersion":
			if r.TryDecodeAsNil() {
				x.APIVersion = ""
			} else {
				x.APIVersion = string(r.DecodeString())
			}
		case "metadata":
			if r.TryDecodeAsNil() {
				x.ObjectMeta = ObjectMeta{}
			} else {
				yyv2021 := &x.ObjectMeta
				yyv2021.CodecDecodeSelf(d)
			}
		case "secrets":
			if r.TryDecodeAsNil() {
				x.Secrets = nil
			} else {
				yyv2022 := &x.Secrets
				yym2023 := z.DecBinary()
				_ = yym2023
				if false {
				} else {
					h.decSliceObjectReference((*[]ObjectReference)(yyv2022), d)
				}
			}
		case "imagePullSecrets":
			if r.TryDecodeAsNil() {
				x.ImagePullSecrets = nil
			} else {
				yyv2024 := &x.ImagePullSecrets
				yym2025 := z.DecBinary()
				_ = yym2025
				if false {
				} else {
					h.decSliceLocalObjectReference((*[]LocalObjectReference)(yyv2024), d)
				}
			}
		default:
			z.DecStructFieldNotFound(-1, yys2018)
		} // end switch yys2018
	} // end for yyj2018
	if !yyhl2018 {
		r.ReadEnd()
	}
}

func (x *ServiceAccount) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj2026 int
	var yyb2026 bool
	var yyhl2026 bool = l >= 0
	yyj2026++
	if yyhl2026 {
		yyb2026 = yyj2026 > l
	} else {
		yyb2026 = r.CheckBreak()
	}
	if yyb2026 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.Kind = ""
	} else {
		x.Kind = string(r.DecodeString())
	}
	yyj2026++
	if yyhl2026 {
		yyb2026 = yyj2026 > l
	} else {
		yyb2026 = r.CheckBreak()
	}
	if yyb2026 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.APIVersion = ""
	} else {
		x.APIVersion = string(r.DecodeString())
	}
	yyj2026++
	if yyhl2026 {
		yyb2026 = yyj2026 > l
	} else {
		yyb2026 = r.CheckBreak()
	}
	if yyb2026 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.ObjectMeta = ObjectMeta{}
	} else {
		yyv2029 := &x.ObjectMeta
		yyv2029.CodecDecodeSelf(d)
	}
	yyj2026++
	if yyhl2026 {
		yyb2026 = yyj2026 > l
	} else {
		yyb2026 = r.CheckBreak()
	}
	if yyb2026 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.Secrets = nil
	} else {
		yyv2030 := &x.Secrets
		yym2031 := z.DecBinary()
		_ = yym2031
		if false {
		} else {
			h.decSliceObjectReference((*[]ObjectReference)(yyv2030), d)
		}
	}
	yyj2026++
	if yyhl2026 {
		yyb2026 = yyj2026 > l
	} else {
		yyb2026 = r.CheckBreak()
	}
	if yyb2026 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.ImagePullSecrets = nil
	} else {
		yyv2032 := &x.ImagePullSecrets
		yym2033 := z.DecBinary()
		_ = yym2033
		if false {
		} else {
			h.decSliceLocalObjectReference((*[]LocalObjectReference)(yyv2032), d)
		}
	}
	for {
		yyj2026++
		if yyhl2026 {
			yyb2026 = yyj2026 > l
		} else {
			yyb2026 = r.CheckBreak()
		}
		if yyb2026 {
			break
		}
		z.DecStructFieldNotFound(yyj2026-1, "")
	}
	r.ReadEnd()
}

func (x *ServiceAccountList) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym2034 := z.EncBinary()
		_ = yym2034
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep2035 := !z.EncBinary()
			yy2arr2035 := z.EncBasicHandle().StructToArray
			var yyq2035 [4]bool
			_, _, _ = yysep2035, yyq2035, yy2arr2035
			const yyr2035 bool = false
			yyq2035[0] = x.Kind != ""
			yyq2035[1] = x.APIVersion != ""
			yyq2035[2] = true
			if yyr2035 || yy2arr2035 {
				r.EncodeArrayStart(4)
			} else {
				var yynn2035 int = 1
				for _, b := range yyq2035 {
					if b {
						yynn2035++
					}
				}
				r.EncodeMapStart(yynn2035)
			}
			if yyr2035 || yy2arr2035 {
				if yyq2035[0] {
					yym2037 := z.EncBinary()
					_ = yym2037
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq2035[0] {
					r.EncodeString(codecSelferC_UTF81234, string("kind"))
					yym2038 := z.EncBinary()
					_ = yym2038
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				}
			}
			if yyr2035 || yy2arr2035 {
				if yyq2035[1] {
					yym2040 := z.EncBinary()
					_ = yym2040
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq2035[1] {
					r.EncodeString(codecSelferC_UTF81234, string("apiVersion"))
					yym2041 := z.EncBinary()
					_ = yym2041
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				}
			}
			if yyr2035 || yy2arr2035 {
				if yyq2035[2] {
					yy2043 := &x.ListMeta
					yym2044 := z.EncBinary()
					_ = yym2044
					if false {
					} else if z.HasExtensions() && z.EncExt(yy2043) {
					} else {
						z.EncFallback(yy2043)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq2035[2] {
					r.EncodeString(codecSelferC_UTF81234, string("metadata"))
					yy2045 := &x.ListMeta
					yym2046 := z.EncBinary()
					_ = yym2046
					if false {
					} else if z.HasExtensions() && z.EncExt(yy2045) {
					} else {
						z.EncFallback(yy2045)
					}
				}
			}
			if yyr2035 || yy2arr2035 {
				if x.Items == nil {
					r.EncodeNil()
				} else {
					yym2048 := z.EncBinary()
					_ = yym2048
					if false {
					} else {
						h.encSliceServiceAccount(([]ServiceAccount)(x.Items), e)
					}
				}
			} else {
				r.EncodeString(codecSelferC_UTF81234, string("items"))
				if x.Items == nil {
					r.EncodeNil()
				} else {
					yym2049 := z.EncBinary()
					_ = yym2049
					if false {
					} else {
						h.encSliceServiceAccount(([]ServiceAccount)(x.Items), e)
					}
				}
			}
			if yysep2035 {
				r.EncodeEnd()
			}
		}
	}
}

func (x *ServiceAccountList) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym2050 := z.DecBinary()
	_ = yym2050
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		if r.IsContainerType(codecSelferValueTypeMap1234) {
			yyl2051 := r.ReadMapStart()
			if yyl2051 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromMap(yyl2051, d)
			}
		} else if r.IsContainerType(codecSelferValueTypeArray1234) {
			yyl2051 := r.ReadArrayStart()
			if yyl2051 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromArray(yyl2051, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *ServiceAccountList) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys2052Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys2052Slc
	var yyhl2052 bool = l >= 0
	for yyj2052 := 0; ; yyj2052++ {
		if yyhl2052 {
			if yyj2052 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		yys2052Slc = r.DecodeBytes(yys2052Slc, true, true)
		yys2052 := string(yys2052Slc)
		switch yys2052 {
		case "kind":
			if r.TryDecodeAsNil() {
				x.Kind = ""
			} else {
				x.Kind = string(r.DecodeString())
			}
		case "apiVersion":
			if r.TryDecodeAsNil() {
				x.APIVersion = ""
			} else {
				x.APIVersion = string(r.DecodeString())
			}
		case "metadata":
			if r.TryDecodeAsNil() {
				x.ListMeta = pkg2_unversioned.ListMeta{}
			} else {
				yyv2055 := &x.ListMeta
				yym2056 := z.DecBinary()
				_ = yym2056
				if false {
				} else if z.HasExtensions() && z.DecExt(yyv2055) {
				} else {
					z.DecFallback(yyv2055, false)
				}
			}
		case "items":
			if r.TryDecodeAsNil() {
				x.Items = nil
			} else {
				yyv2057 := &x.Items
				yym2058 := z.DecBinary()
				_ = yym2058
				if false {
				} else {
					h.decSliceServiceAccount((*[]ServiceAccount)(yyv2057), d)
				}
			}
		default:
			z.DecStructFieldNotFound(-1, yys2052)
		} // end switch yys2052
	} // end for yyj2052
	if !yyhl2052 {
		r.ReadEnd()
	}
}

func (x *ServiceAccountList) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj2059 int
	var yyb2059 bool
	var yyhl2059 bool = l >= 0
	yyj2059++
	if yyhl2059 {
		yyb2059 = yyj2059 > l
	} else {
		yyb2059 = r.CheckBreak()
	}
	if yyb2059 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.Kind = ""
	} else {
		x.Kind = string(r.DecodeString())
	}
	yyj2059++
	if yyhl2059 {
		yyb2059 = yyj2059 > l
	} else {
		yyb2059 = r.CheckBreak()
	}
	if yyb2059 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.APIVersion = ""
	} else {
		x.APIVersion = string(r.DecodeString())
	}
	yyj2059++
	if yyhl2059 {
		yyb2059 = yyj2059 > l
	} else {
		yyb2059 = r.CheckBreak()
	}
	if yyb2059 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.ListMeta = pkg2_unversioned.ListMeta{}
	} else {
		yyv2062 := &x.ListMeta
		yym2063 := z.DecBinary()
		_ = yym2063
		if false {
		} else if z.HasExtensions() && z.DecExt(yyv2062) {
		} else {
			z.DecFallback(yyv2062, false)
		}
	}
	yyj2059++
	if yyhl2059 {
		yyb2059 = yyj2059 > l
	} else {
		yyb2059 = r.CheckBreak()
	}
	if yyb2059 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.Items = nil
	} else {
		yyv2064 := &x.Items
		yym2065 := z.DecBinary()
		_ = yym2065
		if false {
		} else {
			h.decSliceServiceAccount((*[]ServiceAccount)(yyv2064), d)
		}
	}
	for {
		yyj2059++
		if yyhl2059 {
			yyb2059 = yyj2059 > l
		} else {
			yyb2059 = r.CheckBreak()
		}
		if yyb2059 {
			break
		}
		z.DecStructFieldNotFound(yyj2059-1, "")
	}
	r.ReadEnd()
}

func (x *Endpoints) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym2066 := z.EncBinary()
		_ = yym2066
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep2067 := !z.EncBinary()
			yy2arr2067 := z.EncBasicHandle().StructToArray
			var yyq2067 [4]bool
			_, _, _ = yysep2067, yyq2067, yy2arr2067
			const yyr2067 bool = false
			yyq2067[0] = x.Kind != ""
			yyq2067[1] = x.APIVersion != ""
			yyq2067[2] = true
			if yyr2067 || yy2arr2067 {
				r.EncodeArrayStart(4)
			} else {
				var yynn2067 int = 1
				for _, b := range yyq2067 {
					if b {
						yynn2067++
					}
				}
				r.EncodeMapStart(yynn2067)
			}
			if yyr2067 || yy2arr2067 {
				if yyq2067[0] {
					yym2069 := z.EncBinary()
					_ = yym2069
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq2067[0] {
					r.EncodeString(codecSelferC_UTF81234, string("kind"))
					yym2070 := z.EncBinary()
					_ = yym2070
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				}
			}
			if yyr2067 || yy2arr2067 {
				if yyq2067[1] {
					yym2072 := z.EncBinary()
					_ = yym2072
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq2067[1] {
					r.EncodeString(codecSelferC_UTF81234, string("apiVersion"))
					yym2073 := z.EncBinary()
					_ = yym2073
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				}
			}
			if yyr2067 || yy2arr2067 {
				if yyq2067[2] {
					yy2075 := &x.ObjectMeta
					yy2075.CodecEncodeSelf(e)
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq2067[2] {
					r.EncodeString(codecSelferC_UTF81234, string("metadata"))
					yy2076 := &x.ObjectMeta
					yy2076.CodecEncodeSelf(e)
				}
			}
			if yyr2067 || yy2arr2067 {
				if x.Subsets == nil {
					r.EncodeNil()
				} else {
					yym2078 := z.EncBinary()
					_ = yym2078
					if false {
					} else {
						h.encSliceEndpointSubset(([]EndpointSubset)(x.Subsets), e)
					}
				}
			} else {
				r.EncodeString(codecSelferC_UTF81234, string("subsets"))
				if x.Subsets == nil {
					r.EncodeNil()
				} else {
					yym2079 := z.EncBinary()
					_ = yym2079
					if false {
					} else {
						h.encSliceEndpointSubset(([]EndpointSubset)(x.Subsets), e)
					}
				}
			}
			if yysep2067 {
				r.EncodeEnd()
			}
		}
	}
}

func (x *Endpoints) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym2080 := z.DecBinary()
	_ = yym2080
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		if r.IsContainerType(codecSelferValueTypeMap1234) {
			yyl2081 := r.ReadMapStart()
			if yyl2081 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromMap(yyl2081, d)
			}
		} else if r.IsContainerType(codecSelferValueTypeArray1234) {
			yyl2081 := r.ReadArrayStart()
			if yyl2081 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromArray(yyl2081, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *Endpoints) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys2082Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys2082Slc
	var yyhl2082 bool = l >= 0
	for yyj2082 := 0; ; yyj2082++ {
		if yyhl2082 {
			if yyj2082 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		yys2082Slc = r.DecodeBytes(yys2082Slc, true, true)
		yys2082 := string(yys2082Slc)
		switch yys2082 {
		case "kind":
			if r.TryDecodeAsNil() {
				x.Kind = ""
			} else {
				x.Kind = string(r.DecodeString())
			}
		case "apiVersion":
			if r.TryDecodeAsNil() {
				x.APIVersion = ""
			} else {
				x.APIVersion = string(r.DecodeString())
			}
		case "metadata":
			if r.TryDecodeAsNil() {
				x.ObjectMeta = ObjectMeta{}
			} else {
				yyv2085 := &x.ObjectMeta
				yyv2085.CodecDecodeSelf(d)
			}
		case "subsets":
			if r.TryDecodeAsNil() {
				x.Subsets = nil
			} else {
				yyv2086 := &x.Subsets
				yym2087 := z.DecBinary()
				_ = yym2087
				if false {
				} else {
					h.decSliceEndpointSubset((*[]EndpointSubset)(yyv2086), d)
				}
			}
		default:
			z.DecStructFieldNotFound(-1, yys2082)
		} // end switch yys2082
	} // end for yyj2082
	if !yyhl2082 {
		r.ReadEnd()
	}
}

func (x *Endpoints) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj2088 int
	var yyb2088 bool
	var yyhl2088 bool = l >= 0
	yyj2088++
	if yyhl2088 {
		yyb2088 = yyj2088 > l
	} else {
		yyb2088 = r.CheckBreak()
	}
	if yyb2088 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.Kind = ""
	} else {
		x.Kind = string(r.DecodeString())
	}
	yyj2088++
	if yyhl2088 {
		yyb2088 = yyj2088 > l
	} else {
		yyb2088 = r.CheckBreak()
	}
	if yyb2088 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.APIVersion = ""
	} else {
		x.APIVersion = string(r.DecodeString())
	}
	yyj2088++
	if yyhl2088 {
		yyb2088 = yyj2088 > l
	} else {
		yyb2088 = r.CheckBreak()
	}
	if yyb2088 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.ObjectMeta = ObjectMeta{}
	} else {
		yyv2091 := &x.ObjectMeta
		yyv2091.CodecDecodeSelf(d)
	}
	yyj2088++
	if yyhl2088 {
		yyb2088 = yyj2088 > l
	} else {
		yyb2088 = r.CheckBreak()
	}
	if yyb2088 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.Subsets = nil
	} else {
		yyv2092 := &x.Subsets
		yym2093 := z.DecBinary()
		_ = yym2093
		if false {
		} else {
			h.decSliceEndpointSubset((*[]EndpointSubset)(yyv2092), d)
		}
	}
	for {
		yyj2088++
		if yyhl2088 {
			yyb2088 = yyj2088 > l
		} else {
			yyb2088 = r.CheckBreak()
		}
		if yyb2088 {
			break
		}
		z.DecStructFieldNotFound(yyj2088-1, "")
	}
	r.ReadEnd()
}

func (x *EndpointSubset) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym2094 := z.EncBinary()
		_ = yym2094
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep2095 := !z.EncBinary()
			yy2arr2095 := z.EncBasicHandle().StructToArray
			var yyq2095 [3]bool
			_, _, _ = yysep2095, yyq2095, yy2arr2095
			const yyr2095 bool = false
			yyq2095[0] = len(x.Addresses) != 0
			yyq2095[1] = len(x.NotReadyAddresses) != 0
			yyq2095[2] = len(x.Ports) != 0
			if yyr2095 || yy2arr2095 {
				r.EncodeArrayStart(3)
			} else {
				var yynn2095 int = 0
				for _, b := range yyq2095 {
					if b {
						yynn2095++
					}
				}
				r.EncodeMapStart(yynn2095)
			}
			if yyr2095 || yy2arr2095 {
				if yyq2095[0] {
					if x.Addresses == nil {
						r.EncodeNil()
					} else {
						yym2097 := z.EncBinary()
						_ = yym2097
						if false {
						} else {
							h.encSliceEndpointAddress(([]EndpointAddress)(x.Addresses), e)
						}
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq2095[0] {
					r.EncodeString(codecSelferC_UTF81234, string("addresses"))
					if x.Addresses == nil {
						r.EncodeNil()
					} else {
						yym2098 := z.EncBinary()
						_ = yym2098
						if false {
						} else {
							h.encSliceEndpointAddress(([]EndpointAddress)(x.Addresses), e)
						}
					}
				}
			}
			if yyr2095 || yy2arr2095 {
				if yyq2095[1] {
					if x.NotReadyAddresses == nil {
						r.EncodeNil()
					} else {
						yym2100 := z.EncBinary()
						_ = yym2100
						if false {
						} else {
							h.encSliceEndpointAddress(([]EndpointAddress)(x.NotReadyAddresses), e)
						}
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq2095[1] {
					r.EncodeString(codecSelferC_UTF81234, string("notReadyAddresses"))
					if x.NotReadyAddresses == nil {
						r.EncodeNil()
					} else {
						yym2101 := z.EncBinary()
						_ = yym2101
						if false {
						} else {
							h.encSliceEndpointAddress(([]EndpointAddress)(x.NotReadyAddresses), e)
						}
					}
				}
			}
			if yyr2095 || yy2arr2095 {
				if yyq2095[2] {
					if x.Ports == nil {
						r.EncodeNil()
					} else {
						yym2103 := z.EncBinary()
						_ = yym2103
						if false {
						} else {
							h.encSliceEndpointPort(([]EndpointPort)(x.Ports), e)
						}
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq2095[2] {
					r.EncodeString(codecSelferC_UTF81234, string("ports"))
					if x.Ports == nil {
						r.EncodeNil()
					} else {
						yym2104 := z.EncBinary()
						_ = yym2104
						if false {
						} else {
							h.encSliceEndpointPort(([]EndpointPort)(x.Ports), e)
						}
					}
				}
			}
			if yysep2095 {
				r.EncodeEnd()
			}
		}
	}
}

func (x *EndpointSubset) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym2105 := z.DecBinary()
	_ = yym2105
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		if r.IsContainerType(codecSelferValueTypeMap1234) {
			yyl2106 := r.ReadMapStart()
			if yyl2106 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromMap(yyl2106, d)
			}
		} else if r.IsContainerType(codecSelferValueTypeArray1234) {
			yyl2106 := r.ReadArrayStart()
			if yyl2106 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromArray(yyl2106, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *EndpointSubset) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys2107Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys2107Slc
	var yyhl2107 bool = l >= 0
	for yyj2107 := 0; ; yyj2107++ {
		if yyhl2107 {
			if yyj2107 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		yys2107Slc = r.DecodeBytes(yys2107Slc, true, true)
		yys2107 := string(yys2107Slc)
		switch yys2107 {
		case "addresses":
			if r.TryDecodeAsNil() {
				x.Addresses = nil
			} else {
				yyv2108 := &x.Addresses
				yym2109 := z.DecBinary()
				_ = yym2109
				if false {
				} else {
					h.decSliceEndpointAddress((*[]EndpointAddress)(yyv2108), d)
				}
			}
		case "notReadyAddresses":
			if r.TryDecodeAsNil() {
				x.NotReadyAddresses = nil
			} else {
				yyv2110 := &x.NotReadyAddresses
				yym2111 := z.DecBinary()
				_ = yym2111
				if false {
				} else {
					h.decSliceEndpointAddress((*[]EndpointAddress)(yyv2110), d)
				}
			}
		case "ports":
			if r.TryDecodeAsNil() {
				x.Ports = nil
			} else {
				yyv2112 := &x.Ports
				yym2113 := z.DecBinary()
				_ = yym2113
				if false {
				} else {
					h.decSliceEndpointPort((*[]EndpointPort)(yyv2112), d)
				}
			}
		default:
			z.DecStructFieldNotFound(-1, yys2107)
		} // end switch yys2107
	} // end for yyj2107
	if !yyhl2107 {
		r.ReadEnd()
	}
}

func (x *EndpointSubset) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj2114 int
	var yyb2114 bool
	var yyhl2114 bool = l >= 0
	yyj2114++
	if yyhl2114 {
		yyb2114 = yyj2114 > l
	} else {
		yyb2114 = r.CheckBreak()
	}
	if yyb2114 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.Addresses = nil
	} else {
		yyv2115 := &x.Addresses
		yym2116 := z.DecBinary()
		_ = yym2116
		if false {
		} else {
			h.decSliceEndpointAddress((*[]EndpointAddress)(yyv2115), d)
		}
	}
	yyj2114++
	if yyhl2114 {
		yyb2114 = yyj2114 > l
	} else {
		yyb2114 = r.CheckBreak()
	}
	if yyb2114 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.NotReadyAddresses = nil
	} else {
		yyv2117 := &x.NotReadyAddresses
		yym2118 := z.DecBinary()
		_ = yym2118
		if false {
		} else {
			h.decSliceEndpointAddress((*[]EndpointAddress)(yyv2117), d)
		}
	}
	yyj2114++
	if yyhl2114 {
		yyb2114 = yyj2114 > l
	} else {
		yyb2114 = r.CheckBreak()
	}
	if yyb2114 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.Ports = nil
	} else {
		yyv2119 := &x.Ports
		yym2120 := z.DecBinary()
		_ = yym2120
		if false {
		} else {
			h.decSliceEndpointPort((*[]EndpointPort)(yyv2119), d)
		}
	}
	for {
		yyj2114++
		if yyhl2114 {
			yyb2114 = yyj2114 > l
		} else {
			yyb2114 = r.CheckBreak()
		}
		if yyb2114 {
			break
		}
		z.DecStructFieldNotFound(yyj2114-1, "")
	}
	r.ReadEnd()
}

func (x *EndpointAddress) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym2121 := z.EncBinary()
		_ = yym2121
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep2122 := !z.EncBinary()
			yy2arr2122 := z.EncBasicHandle().StructToArray
			var yyq2122 [2]bool
			_, _, _ = yysep2122, yyq2122, yy2arr2122
			const yyr2122 bool = false
			yyq2122[1] = x.TargetRef != nil
			if yyr2122 || yy2arr2122 {
				r.EncodeArrayStart(2)
			} else {
				var yynn2122 int = 1
				for _, b := range yyq2122 {
					if b {
						yynn2122++
					}
				}
				r.EncodeMapStart(yynn2122)
			}
			if yyr2122 || yy2arr2122 {
				yym2124 := z.EncBinary()
				_ = yym2124
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.IP))
				}
			} else {
				r.EncodeString(codecSelferC_UTF81234, string("ip"))
				yym2125 := z.EncBinary()
				_ = yym2125
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.IP))
				}
			}
			if yyr2122 || yy2arr2122 {
				if yyq2122[1] {
					if x.TargetRef == nil {
						r.EncodeNil()
					} else {
						x.TargetRef.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq2122[1] {
					r.EncodeString(codecSelferC_UTF81234, string("targetRef"))
					if x.TargetRef == nil {
						r.EncodeNil()
					} else {
						x.TargetRef.CodecEncodeSelf(e)
					}
				}
			}
			if yysep2122 {
				r.EncodeEnd()
			}
		}
	}
}

func (x *EndpointAddress) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym2127 := z.DecBinary()
	_ = yym2127
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		if r.IsContainerType(codecSelferValueTypeMap1234) {
			yyl2128 := r.ReadMapStart()
			if yyl2128 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromMap(yyl2128, d)
			}
		} else if r.IsContainerType(codecSelferValueTypeArray1234) {
			yyl2128 := r.ReadArrayStart()
			if yyl2128 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromArray(yyl2128, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *EndpointAddress) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys2129Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys2129Slc
	var yyhl2129 bool = l >= 0
	for yyj2129 := 0; ; yyj2129++ {
		if yyhl2129 {
			if yyj2129 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		yys2129Slc = r.DecodeBytes(yys2129Slc, true, true)
		yys2129 := string(yys2129Slc)
		switch yys2129 {
		case "ip":
			if r.TryDecodeAsNil() {
				x.IP = ""
			} else {
				x.IP = string(r.DecodeString())
			}
		case "targetRef":
			if r.TryDecodeAsNil() {
				if x.TargetRef != nil {
					x.TargetRef = nil
				}
			} else {
				if x.TargetRef == nil {
					x.TargetRef = new(ObjectReference)
				}
				x.TargetRef.CodecDecodeSelf(d)
			}
		default:
			z.DecStructFieldNotFound(-1, yys2129)
		} // end switch yys2129
	} // end for yyj2129
	if !yyhl2129 {
		r.ReadEnd()
	}
}

func (x *EndpointAddress) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj2132 int
	var yyb2132 bool
	var yyhl2132 bool = l >= 0
	yyj2132++
	if yyhl2132 {
		yyb2132 = yyj2132 > l
	} else {
		yyb2132 = r.CheckBreak()
	}
	if yyb2132 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.IP = ""
	} else {
		x.IP = string(r.DecodeString())
	}
	yyj2132++
	if yyhl2132 {
		yyb2132 = yyj2132 > l
	} else {
		yyb2132 = r.CheckBreak()
	}
	if yyb2132 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		if x.TargetRef != nil {
			x.TargetRef = nil
		}
	} else {
		if x.TargetRef == nil {
			x.TargetRef = new(ObjectReference)
		}
		x.TargetRef.CodecDecodeSelf(d)
	}
	for {
		yyj2132++
		if yyhl2132 {
			yyb2132 = yyj2132 > l
		} else {
			yyb2132 = r.CheckBreak()
		}
		if yyb2132 {
			break
		}
		z.DecStructFieldNotFound(yyj2132-1, "")
	}
	r.ReadEnd()
}

func (x *EndpointPort) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym2135 := z.EncBinary()
		_ = yym2135
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep2136 := !z.EncBinary()
			yy2arr2136 := z.EncBasicHandle().StructToArray
			var yyq2136 [3]bool
			_, _, _ = yysep2136, yyq2136, yy2arr2136
			const yyr2136 bool = false
			yyq2136[0] = x.Name != ""
			yyq2136[2] = x.Protocol != ""
			if yyr2136 || yy2arr2136 {
				r.EncodeArrayStart(3)
			} else {
				var yynn2136 int = 1
				for _, b := range yyq2136 {
					if b {
						yynn2136++
					}
				}
				r.EncodeMapStart(yynn2136)
			}
			if yyr2136 || yy2arr2136 {
				if yyq2136[0] {
					yym2138 := z.EncBinary()
					_ = yym2138
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Name))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq2136[0] {
					r.EncodeString(codecSelferC_UTF81234, string("name"))
					yym2139 := z.EncBinary()
					_ = yym2139
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Name))
					}
				}
			}
			if yyr2136 || yy2arr2136 {
				yym2141 := z.EncBinary()
				_ = yym2141
				if false {
				} else {
					r.EncodeInt(int64(x.Port))
				}
			} else {
				r.EncodeString(codecSelferC_UTF81234, string("port"))
				yym2142 := z.EncBinary()
				_ = yym2142
				if false {
				} else {
					r.EncodeInt(int64(x.Port))
				}
			}
			if yyr2136 || yy2arr2136 {
				if yyq2136[2] {
					x.Protocol.CodecEncodeSelf(e)
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq2136[2] {
					r.EncodeString(codecSelferC_UTF81234, string("protocol"))
					x.Protocol.CodecEncodeSelf(e)
				}
			}
			if yysep2136 {
				r.EncodeEnd()
			}
		}
	}
}

func (x *EndpointPort) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym2144 := z.DecBinary()
	_ = yym2144
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		if r.IsContainerType(codecSelferValueTypeMap1234) {
			yyl2145 := r.ReadMapStart()
			if yyl2145 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromMap(yyl2145, d)
			}
		} else if r.IsContainerType(codecSelferValueTypeArray1234) {
			yyl2145 := r.ReadArrayStart()
			if yyl2145 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromArray(yyl2145, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *EndpointPort) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys2146Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys2146Slc
	var yyhl2146 bool = l >= 0
	for yyj2146 := 0; ; yyj2146++ {
		if yyhl2146 {
			if yyj2146 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		yys2146Slc = r.DecodeBytes(yys2146Slc, true, true)
		yys2146 := string(yys2146Slc)
		switch yys2146 {
		case "name":
			if r.TryDecodeAsNil() {
				x.Name = ""
			} else {
				x.Name = string(r.DecodeString())
			}
		case "port":
			if r.TryDecodeAsNil() {
				x.Port = 0
			} else {
				x.Port = int(r.DecodeInt(codecSelferBitsize1234))
			}
		case "protocol":
			if r.TryDecodeAsNil() {
				x.Protocol = ""
			} else {
				x.Protocol = Protocol(r.DecodeString())
			}
		default:
			z.DecStructFieldNotFound(-1, yys2146)
		} // end switch yys2146
	} // end for yyj2146
	if !yyhl2146 {
		r.ReadEnd()
	}
}

func (x *EndpointPort) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj2150 int
	var yyb2150 bool
	var yyhl2150 bool = l >= 0
	yyj2150++
	if yyhl2150 {
		yyb2150 = yyj2150 > l
	} else {
		yyb2150 = r.CheckBreak()
	}
	if yyb2150 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.Name = ""
	} else {
		x.Name = string(r.DecodeString())
	}
	yyj2150++
	if yyhl2150 {
		yyb2150 = yyj2150 > l
	} else {
		yyb2150 = r.CheckBreak()
	}
	if yyb2150 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.Port = 0
	} else {
		x.Port = int(r.DecodeInt(codecSelferBitsize1234))
	}
	yyj2150++
	if yyhl2150 {
		yyb2150 = yyj2150 > l
	} else {
		yyb2150 = r.CheckBreak()
	}
	if yyb2150 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.Protocol = ""
	} else {
		x.Protocol = Protocol(r.DecodeString())
	}
	for {
		yyj2150++
		if yyhl2150 {
			yyb2150 = yyj2150 > l
		} else {
			yyb2150 = r.CheckBreak()
		}
		if yyb2150 {
			break
		}
		z.DecStructFieldNotFound(yyj2150-1, "")
	}
	r.ReadEnd()
}

func (x *EndpointsList) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym2154 := z.EncBinary()
		_ = yym2154
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep2155 := !z.EncBinary()
			yy2arr2155 := z.EncBasicHandle().StructToArray
			var yyq2155 [4]bool
			_, _, _ = yysep2155, yyq2155, yy2arr2155
			const yyr2155 bool = false
			yyq2155[0] = x.Kind != ""
			yyq2155[1] = x.APIVersion != ""
			yyq2155[2] = true
			if yyr2155 || yy2arr2155 {
				r.EncodeArrayStart(4)
			} else {
				var yynn2155 int = 1
				for _, b := range yyq2155 {
					if b {
						yynn2155++
					}
				}
				r.EncodeMapStart(yynn2155)
			}
			if yyr2155 || yy2arr2155 {
				if yyq2155[0] {
					yym2157 := z.EncBinary()
					_ = yym2157
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq2155[0] {
					r.EncodeString(codecSelferC_UTF81234, string("kind"))
					yym2158 := z.EncBinary()
					_ = yym2158
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				}
			}
			if yyr2155 || yy2arr2155 {
				if yyq2155[1] {
					yym2160 := z.EncBinary()
					_ = yym2160
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq2155[1] {
					r.EncodeString(codecSelferC_UTF81234, string("apiVersion"))
					yym2161 := z.EncBinary()
					_ = yym2161
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				}
			}
			if yyr2155 || yy2arr2155 {
				if yyq2155[2] {
					yy2163 := &x.ListMeta
					yym2164 := z.EncBinary()
					_ = yym2164
					if false {
					} else if z.HasExtensions() && z.EncExt(yy2163) {
					} else {
						z.EncFallback(yy2163)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq2155[2] {
					r.EncodeString(codecSelferC_UTF81234, string("metadata"))
					yy2165 := &x.ListMeta
					yym2166 := z.EncBinary()
					_ = yym2166
					if false {
					} else if z.HasExtensions() && z.EncExt(yy2165) {
					} else {
						z.EncFallback(yy2165)
					}
				}
			}
			if yyr2155 || yy2arr2155 {
				if x.Items == nil {
					r.EncodeNil()
				} else {
					yym2168 := z.EncBinary()
					_ = yym2168
					if false {
					} else {
						h.encSliceEndpoints(([]Endpoints)(x.Items), e)
					}
				}
			} else {
				r.EncodeString(codecSelferC_UTF81234, string("items"))
				if x.Items == nil {
					r.EncodeNil()
				} else {
					yym2169 := z.EncBinary()
					_ = yym2169
					if false {
					} else {
						h.encSliceEndpoints(([]Endpoints)(x.Items), e)
					}
				}
			}
			if yysep2155 {
				r.EncodeEnd()
			}
		}
	}
}

func (x *EndpointsList) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym2170 := z.DecBinary()
	_ = yym2170
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		if r.IsContainerType(codecSelferValueTypeMap1234) {
			yyl2171 := r.ReadMapStart()
			if yyl2171 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromMap(yyl2171, d)
			}
		} else if r.IsContainerType(codecSelferValueTypeArray1234) {
			yyl2171 := r.ReadArrayStart()
			if yyl2171 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromArray(yyl2171, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *EndpointsList) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys2172Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys2172Slc
	var yyhl2172 bool = l >= 0
	for yyj2172 := 0; ; yyj2172++ {
		if yyhl2172 {
			if yyj2172 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		yys2172Slc = r.DecodeBytes(yys2172Slc, true, true)
		yys2172 := string(yys2172Slc)
		switch yys2172 {
		case "kind":
			if r.TryDecodeAsNil() {
				x.Kind = ""
			} else {
				x.Kind = string(r.DecodeString())
			}
		case "apiVersion":
			if r.TryDecodeAsNil() {
				x.APIVersion = ""
			} else {
				x.APIVersion = string(r.DecodeString())
			}
		case "metadata":
			if r.TryDecodeAsNil() {
				x.ListMeta = pkg2_unversioned.ListMeta{}
			} else {
				yyv2175 := &x.ListMeta
				yym2176 := z.DecBinary()
				_ = yym2176
				if false {
				} else if z.HasExtensions() && z.DecExt(yyv2175) {
				} else {
					z.DecFallback(yyv2175, false)
				}
			}
		case "items":
			if r.TryDecodeAsNil() {
				x.Items = nil
			} else {
				yyv2177 := &x.Items
				yym2178 := z.DecBinary()
				_ = yym2178
				if false {
				} else {
					h.decSliceEndpoints((*[]Endpoints)(yyv2177), d)
				}
			}
		default:
			z.DecStructFieldNotFound(-1, yys2172)
		} // end switch yys2172
	} // end for yyj2172
	if !yyhl2172 {
		r.ReadEnd()
	}
}

func (x *EndpointsList) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj2179 int
	var yyb2179 bool
	var yyhl2179 bool = l >= 0
	yyj2179++
	if yyhl2179 {
		yyb2179 = yyj2179 > l
	} else {
		yyb2179 = r.CheckBreak()
	}
	if yyb2179 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.Kind = ""
	} else {
		x.Kind = string(r.DecodeString())
	}
	yyj2179++
	if yyhl2179 {
		yyb2179 = yyj2179 > l
	} else {
		yyb2179 = r.CheckBreak()
	}
	if yyb2179 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.APIVersion = ""
	} else {
		x.APIVersion = string(r.DecodeString())
	}
	yyj2179++
	if yyhl2179 {
		yyb2179 = yyj2179 > l
	} else {
		yyb2179 = r.CheckBreak()
	}
	if yyb2179 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.ListMeta = pkg2_unversioned.ListMeta{}
	} else {
		yyv2182 := &x.ListMeta
		yym2183 := z.DecBinary()
		_ = yym2183
		if false {
		} else if z.HasExtensions() && z.DecExt(yyv2182) {
		} else {
			z.DecFallback(yyv2182, false)
		}
	}
	yyj2179++
	if yyhl2179 {
		yyb2179 = yyj2179 > l
	} else {
		yyb2179 = r.CheckBreak()
	}
	if yyb2179 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.Items = nil
	} else {
		yyv2184 := &x.Items
		yym2185 := z.DecBinary()
		_ = yym2185
		if false {
		} else {
			h.decSliceEndpoints((*[]Endpoints)(yyv2184), d)
		}
	}
	for {
		yyj2179++
		if yyhl2179 {
			yyb2179 = yyj2179 > l
		} else {
			yyb2179 = r.CheckBreak()
		}
		if yyb2179 {
			break
		}
		z.DecStructFieldNotFound(yyj2179-1, "")
	}
	r.ReadEnd()
}

func (x *NodeSpec) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym2186 := z.EncBinary()
		_ = yym2186
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep2187 := !z.EncBinary()
			yy2arr2187 := z.EncBasicHandle().StructToArray
			var yyq2187 [4]bool
			_, _, _ = yysep2187, yyq2187, yy2arr2187
			const yyr2187 bool = false
			yyq2187[0] = x.PodCIDR != ""
			yyq2187[1] = x.ExternalID != ""
			yyq2187[2] = x.ProviderID != ""
			yyq2187[3] = x.Unschedulable != false
			if yyr2187 || yy2arr2187 {
				r.EncodeArrayStart(4)
			} else {
				var yynn2187 int = 0
				for _, b := range yyq2187 {
					if b {
						yynn2187++
					}
				}
				r.EncodeMapStart(yynn2187)
			}
			if yyr2187 || yy2arr2187 {
				if yyq2187[0] {
					yym2189 := z.EncBinary()
					_ = yym2189
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.PodCIDR))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq2187[0] {
					r.EncodeString(codecSelferC_UTF81234, string("podCIDR"))
					yym2190 := z.EncBinary()
					_ = yym2190
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.PodCIDR))
					}
				}
			}
			if yyr2187 || yy2arr2187 {
				if yyq2187[1] {
					yym2192 := z.EncBinary()
					_ = yym2192
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.ExternalID))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq2187[1] {
					r.EncodeString(codecSelferC_UTF81234, string("externalID"))
					yym2193 := z.EncBinary()
					_ = yym2193
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.ExternalID))
					}
				}
			}
			if yyr2187 || yy2arr2187 {
				if yyq2187[2] {
					yym2195 := z.EncBinary()
					_ = yym2195
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.ProviderID))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq2187[2] {
					r.EncodeString(codecSelferC_UTF81234, string("providerID"))
					yym2196 := z.EncBinary()
					_ = yym2196
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.ProviderID))
					}
				}
			}
			if yyr2187 || yy2arr2187 {
				if yyq2187[3] {
					yym2198 := z.EncBinary()
					_ = yym2198
					if false {
					} else {
						r.EncodeBool(bool(x.Unschedulable))
					}
				} else {
					r.EncodeBool(false)
				}
			} else {
				if yyq2187[3] {
					r.EncodeString(codecSelferC_UTF81234, string("unschedulable"))
					yym2199 := z.EncBinary()
					_ = yym2199
					if false {
					} else {
						r.EncodeBool(bool(x.Unschedulable))
					}
				}
			}
			if yysep2187 {
				r.EncodeEnd()
			}
		}
	}
}

func (x *NodeSpec) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym2200 := z.DecBinary()
	_ = yym2200
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		if r.IsContainerType(codecSelferValueTypeMap1234) {
			yyl2201 := r.ReadMapStart()
			if yyl2201 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromMap(yyl2201, d)
			}
		} else if r.IsContainerType(codecSelferValueTypeArray1234) {
			yyl2201 := r.ReadArrayStart()
			if yyl2201 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromArray(yyl2201, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *NodeSpec) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys2202Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys2202Slc
	var yyhl2202 bool = l >= 0
	for yyj2202 := 0; ; yyj2202++ {
		if yyhl2202 {
			if yyj2202 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		yys2202Slc = r.DecodeBytes(yys2202Slc, true, true)
		yys2202 := string(yys2202Slc)
		switch yys2202 {
		case "podCIDR":
			if r.TryDecodeAsNil() {
				x.PodCIDR = ""
			} else {
				x.PodCIDR = string(r.DecodeString())
			}
		case "externalID":
			if r.TryDecodeAsNil() {
				x.ExternalID = ""
			} else {
				x.ExternalID = string(r.DecodeString())
			}
		case "providerID":
			if r.TryDecodeAsNil() {
				x.ProviderID = ""
			} else {
				x.ProviderID = string(r.DecodeString())
			}
		case "unschedulable":
			if r.TryDecodeAsNil() {
				x.Unschedulable = false
			} else {
				x.Unschedulable = bool(r.DecodeBool())
			}
		default:
			z.DecStructFieldNotFound(-1, yys2202)
		} // end switch yys2202
	} // end for yyj2202
	if !yyhl2202 {
		r.ReadEnd()
	}
}

func (x *NodeSpec) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj2207 int
	var yyb2207 bool
	var yyhl2207 bool = l >= 0
	yyj2207++
	if yyhl2207 {
		yyb2207 = yyj2207 > l
	} else {
		yyb2207 = r.CheckBreak()
	}
	if yyb2207 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.PodCIDR = ""
	} else {
		x.PodCIDR = string(r.DecodeString())
	}
	yyj2207++
	if yyhl2207 {
		yyb2207 = yyj2207 > l
	} else {
		yyb2207 = r.CheckBreak()
	}
	if yyb2207 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.ExternalID = ""
	} else {
		x.ExternalID = string(r.DecodeString())
	}
	yyj2207++
	if yyhl2207 {
		yyb2207 = yyj2207 > l
	} else {
		yyb2207 = r.CheckBreak()
	}
	if yyb2207 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.ProviderID = ""
	} else {
		x.ProviderID = string(r.DecodeString())
	}
	yyj2207++
	if yyhl2207 {
		yyb2207 = yyj2207 > l
	} else {
		yyb2207 = r.CheckBreak()
	}
	if yyb2207 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.Unschedulable = false
	} else {
		x.Unschedulable = bool(r.DecodeBool())
	}
	for {
		yyj2207++
		if yyhl2207 {
			yyb2207 = yyj2207 > l
		} else {
			yyb2207 = r.CheckBreak()
		}
		if yyb2207 {
			break
		}
		z.DecStructFieldNotFound(yyj2207-1, "")
	}
	r.ReadEnd()
}

func (x *DaemonEndpoint) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym2212 := z.EncBinary()
		_ = yym2212
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep2213 := !z.EncBinary()
			yy2arr2213 := z.EncBasicHandle().StructToArray
			var yyq2213 [1]bool
			_, _, _ = yysep2213, yyq2213, yy2arr2213
			const yyr2213 bool = false
			if yyr2213 || yy2arr2213 {
				r.EncodeArrayStart(1)
			} else {
				var yynn2213 int = 1
				for _, b := range yyq2213 {
					if b {
						yynn2213++
					}
				}
				r.EncodeMapStart(yynn2213)
			}
			if yyr2213 || yy2arr2213 {
				yym2215 := z.EncBinary()
				_ = yym2215
				if false {
				} else {
					r.EncodeInt(int64(x.Port))
				}
			} else {
				r.EncodeString(codecSelferC_UTF81234, string("Port"))
				yym2216 := z.EncBinary()
				_ = yym2216
				if false {
				} else {
					r.EncodeInt(int64(x.Port))
				}
			}
			if yysep2213 {
				r.EncodeEnd()
			}
		}
	}
}

func (x *DaemonEndpoint) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym2217 := z.DecBinary()
	_ = yym2217
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		if r.IsContainerType(codecSelferValueTypeMap1234) {
			yyl2218 := r.ReadMapStart()
			if yyl2218 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromMap(yyl2218, d)
			}
		} else if r.IsContainerType(codecSelferValueTypeArray1234) {
			yyl2218 := r.ReadArrayStart()
			if yyl2218 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromArray(yyl2218, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *DaemonEndpoint) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys2219Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys2219Slc
	var yyhl2219 bool = l >= 0
	for yyj2219 := 0; ; yyj2219++ {
		if yyhl2219 {
			if yyj2219 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		yys2219Slc = r.DecodeBytes(yys2219Slc, true, true)
		yys2219 := string(yys2219Slc)
		switch yys2219 {
		case "Port":
			if r.TryDecodeAsNil() {
				x.Port = 0
			} else {
				x.Port = int(r.DecodeInt(codecSelferBitsize1234))
			}
		default:
			z.DecStructFieldNotFound(-1, yys2219)
		} // end switch yys2219
	} // end for yyj2219
	if !yyhl2219 {
		r.ReadEnd()
	}
}

func (x *DaemonEndpoint) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj2221 int
	var yyb2221 bool
	var yyhl2221 bool = l >= 0
	yyj2221++
	if yyhl2221 {
		yyb2221 = yyj2221 > l
	} else {
		yyb2221 = r.CheckBreak()
	}
	if yyb2221 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.Port = 0
	} else {
		x.Port = int(r.DecodeInt(codecSelferBitsize1234))
	}
	for {
		yyj2221++
		if yyhl2221 {
			yyb2221 = yyj2221 > l
		} else {
			yyb2221 = r.CheckBreak()
		}
		if yyb2221 {
			break
		}
		z.DecStructFieldNotFound(yyj2221-1, "")
	}
	r.ReadEnd()
}

func (x *NodeDaemonEndpoints) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym2223 := z.EncBinary()
		_ = yym2223
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep2224 := !z.EncBinary()
			yy2arr2224 := z.EncBasicHandle().StructToArray
			var yyq2224 [1]bool
			_, _, _ = yysep2224, yyq2224, yy2arr2224
			const yyr2224 bool = false
			yyq2224[0] = true
			if yyr2224 || yy2arr2224 {
				r.EncodeArrayStart(1)
			} else {
				var yynn2224 int = 0
				for _, b := range yyq2224 {
					if b {
						yynn2224++
					}
				}
				r.EncodeMapStart(yynn2224)
			}
			if yyr2224 || yy2arr2224 {
				if yyq2224[0] {
					yy2226 := &x.KubeletEndpoint
					yy2226.CodecEncodeSelf(e)
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq2224[0] {
					r.EncodeString(codecSelferC_UTF81234, string("kubeletEndpoint"))
					yy2227 := &x.KubeletEndpoint
					yy2227.CodecEncodeSelf(e)
				}
			}
			if yysep2224 {
				r.EncodeEnd()
			}
		}
	}
}

func (x *NodeDaemonEndpoints) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym2228 := z.DecBinary()
	_ = yym2228
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		if r.IsContainerType(codecSelferValueTypeMap1234) {
			yyl2229 := r.ReadMapStart()
			if yyl2229 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromMap(yyl2229, d)
			}
		} else if r.IsContainerType(codecSelferValueTypeArray1234) {
			yyl2229 := r.ReadArrayStart()
			if yyl2229 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromArray(yyl2229, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *NodeDaemonEndpoints) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys2230Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys2230Slc
	var yyhl2230 bool = l >= 0
	for yyj2230 := 0; ; yyj2230++ {
		if yyhl2230 {
			if yyj2230 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		yys2230Slc = r.DecodeBytes(yys2230Slc, true, true)
		yys2230 := string(yys2230Slc)
		switch yys2230 {
		case "kubeletEndpoint":
			if r.TryDecodeAsNil() {
				x.KubeletEndpoint = DaemonEndpoint{}
			} else {
				yyv2231 := &x.KubeletEndpoint
				yyv2231.CodecDecodeSelf(d)
			}
		default:
			z.DecStructFieldNotFound(-1, yys2230)
		} // end switch yys2230
	} // end for yyj2230
	if !yyhl2230 {
		r.ReadEnd()
	}
}

func (x *NodeDaemonEndpoints) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj2232 int
	var yyb2232 bool
	var yyhl2232 bool = l >= 0
	yyj2232++
	if yyhl2232 {
		yyb2232 = yyj2232 > l
	} else {
		yyb2232 = r.CheckBreak()
	}
	if yyb2232 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.KubeletEndpoint = DaemonEndpoint{}
	} else {
		yyv2233 := &x.KubeletEndpoint
		yyv2233.CodecDecodeSelf(d)
	}
	for {
		yyj2232++
		if yyhl2232 {
			yyb2232 = yyj2232 > l
		} else {
			yyb2232 = r.CheckBreak()
		}
		if yyb2232 {
			break
		}
		z.DecStructFieldNotFound(yyj2232-1, "")
	}
	r.ReadEnd()
}

func (x *NodeSystemInfo) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym2234 := z.EncBinary()
		_ = yym2234
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep2235 := !z.EncBinary()
			yy2arr2235 := z.EncBasicHandle().StructToArray
			var yyq2235 [8]bool
			_, _, _ = yysep2235, yyq2235, yy2arr2235
			const yyr2235 bool = false
			if yyr2235 || yy2arr2235 {
				r.EncodeArrayStart(8)
			} else {
				var yynn2235 int = 8
				for _, b := range yyq2235 {
					if b {
						yynn2235++
					}
				}
				r.EncodeMapStart(yynn2235)
			}
			if yyr2235 || yy2arr2235 {
				yym2237 := z.EncBinary()
				_ = yym2237
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.MachineID))
				}
			} else {
				r.EncodeString(codecSelferC_UTF81234, string("machineID"))
				yym2238 := z.EncBinary()
				_ = yym2238
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.MachineID))
				}
			}
			if yyr2235 || yy2arr2235 {
				yym2240 := z.EncBinary()
				_ = yym2240
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.SystemUUID))
				}
			} else {
				r.EncodeString(codecSelferC_UTF81234, string("systemUUID"))
				yym2241 := z.EncBinary()
				_ = yym2241
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.SystemUUID))
				}
			}
			if yyr2235 || yy2arr2235 {
				yym2243 := z.EncBinary()
				_ = yym2243
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.BootID))
				}
			} else {
				r.EncodeString(codecSelferC_UTF81234, string("bootID"))
				yym2244 := z.EncBinary()
				_ = yym2244
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.BootID))
				}
			}
			if yyr2235 || yy2arr2235 {
				yym2246 := z.EncBinary()
				_ = yym2246
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.KernelVersion))
				}
			} else {
				r.EncodeString(codecSelferC_UTF81234, string("kernelVersion"))
				yym2247 := z.EncBinary()
				_ = yym2247
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.KernelVersion))
				}
			}
			if yyr2235 || yy2arr2235 {
				yym2249 := z.EncBinary()
				_ = yym2249
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.OsImage))
				}
			} else {
				r.EncodeString(codecSelferC_UTF81234, string("osImage"))
				yym2250 := z.EncBinary()
				_ = yym2250
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.OsImage))
				}
			}
			if yyr2235 || yy2arr2235 {
				yym2252 := z.EncBinary()
				_ = yym2252
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.ContainerRuntimeVersion))
				}
			} else {
				r.EncodeString(codecSelferC_UTF81234, string("containerRuntimeVersion"))
				yym2253 := z.EncBinary()
				_ = yym2253
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.ContainerRuntimeVersion))
				}
			}
			if yyr2235 || yy2arr2235 {
				yym2255 := z.EncBinary()
				_ = yym2255
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.KubeletVersion))
				}
			} else {
				r.EncodeString(codecSelferC_UTF81234, string("kubeletVersion"))
				yym2256 := z.EncBinary()
				_ = yym2256
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.KubeletVersion))
				}
			}
			if yyr2235 || yy2arr2235 {
				yym2258 := z.EncBinary()
				_ = yym2258
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.KubeProxyVersion))
				}
			} else {
				r.EncodeString(codecSelferC_UTF81234, string("kubeProxyVersion"))
				yym2259 := z.EncBinary()
				_ = yym2259
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.KubeProxyVersion))
				}
			}
			if yysep2235 {
				r.EncodeEnd()
			}
		}
	}
}

func (x *NodeSystemInfo) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym2260 := z.DecBinary()
	_ = yym2260
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		if r.IsContainerType(codecSelferValueTypeMap1234) {
			yyl2261 := r.ReadMapStart()
			if yyl2261 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromMap(yyl2261, d)
			}
		} else if r.IsContainerType(codecSelferValueTypeArray1234) {
			yyl2261 := r.ReadArrayStart()
			if yyl2261 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromArray(yyl2261, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *NodeSystemInfo) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys2262Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys2262Slc
	var yyhl2262 bool = l >= 0
	for yyj2262 := 0; ; yyj2262++ {
		if yyhl2262 {
			if yyj2262 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		yys2262Slc = r.DecodeBytes(yys2262Slc, true, true)
		yys2262 := string(yys2262Slc)
		switch yys2262 {
		case "machineID":
			if r.TryDecodeAsNil() {
				x.MachineID = ""
			} else {
				x.MachineID = string(r.DecodeString())
			}
		case "systemUUID":
			if r.TryDecodeAsNil() {
				x.SystemUUID = ""
			} else {
				x.SystemUUID = string(r.DecodeString())
			}
		case "bootID":
			if r.TryDecodeAsNil() {
				x.BootID = ""
			} else {
				x.BootID = string(r.DecodeString())
			}
		case "kernelVersion":
			if r.TryDecodeAsNil() {
				x.KernelVersion = ""
			} else {
				x.KernelVersion = string(r.DecodeString())
			}
		case "osImage":
			if r.TryDecodeAsNil() {
				x.OsImage = ""
			} else {
				x.OsImage = string(r.DecodeString())
			}
		case "containerRuntimeVersion":
			if r.TryDecodeAsNil() {
				x.ContainerRuntimeVersion = ""
			} else {
				x.ContainerRuntimeVersion = string(r.DecodeString())
			}
		case "kubeletVersion":
			if r.TryDecodeAsNil() {
				x.KubeletVersion = ""
			} else {
				x.KubeletVersion = string(r.DecodeString())
			}
		case "kubeProxyVersion":
			if r.TryDecodeAsNil() {
				x.KubeProxyVersion = ""
			} else {
				x.KubeProxyVersion = string(r.DecodeString())
			}
		default:
			z.DecStructFieldNotFound(-1, yys2262)
		} // end switch yys2262
	} // end for yyj2262
	if !yyhl2262 {
		r.ReadEnd()
	}
}

func (x *NodeSystemInfo) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj2271 int
	var yyb2271 bool
	var yyhl2271 bool = l >= 0
	yyj2271++
	if yyhl2271 {
		yyb2271 = yyj2271 > l
	} else {
		yyb2271 = r.CheckBreak()
	}
	if yyb2271 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.MachineID = ""
	} else {
		x.MachineID = string(r.DecodeString())
	}
	yyj2271++
	if yyhl2271 {
		yyb2271 = yyj2271 > l
	} else {
		yyb2271 = r.CheckBreak()
	}
	if yyb2271 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.SystemUUID = ""
	} else {
		x.SystemUUID = string(r.DecodeString())
	}
	yyj2271++
	if yyhl2271 {
		yyb2271 = yyj2271 > l
	} else {
		yyb2271 = r.CheckBreak()
	}
	if yyb2271 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.BootID = ""
	} else {
		x.BootID = string(r.DecodeString())
	}
	yyj2271++
	if yyhl2271 {
		yyb2271 = yyj2271 > l
	} else {
		yyb2271 = r.CheckBreak()
	}
	if yyb2271 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.KernelVersion = ""
	} else {
		x.KernelVersion = string(r.DecodeString())
	}
	yyj2271++
	if yyhl2271 {
		yyb2271 = yyj2271 > l
	} else {
		yyb2271 = r.CheckBreak()
	}
	if yyb2271 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.OsImage = ""
	} else {
		x.OsImage = string(r.DecodeString())
	}
	yyj2271++
	if yyhl2271 {
		yyb2271 = yyj2271 > l
	} else {
		yyb2271 = r.CheckBreak()
	}
	if yyb2271 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.ContainerRuntimeVersion = ""
	} else {
		x.ContainerRuntimeVersion = string(r.DecodeString())
	}
	yyj2271++
	if yyhl2271 {
		yyb2271 = yyj2271 > l
	} else {
		yyb2271 = r.CheckBreak()
	}
	if yyb2271 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.KubeletVersion = ""
	} else {
		x.KubeletVersion = string(r.DecodeString())
	}
	yyj2271++
	if yyhl2271 {
		yyb2271 = yyj2271 > l
	} else {
		yyb2271 = r.CheckBreak()
	}
	if yyb2271 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.KubeProxyVersion = ""
	} else {
		x.KubeProxyVersion = string(r.DecodeString())
	}
	for {
		yyj2271++
		if yyhl2271 {
			yyb2271 = yyj2271 > l
		} else {
			yyb2271 = r.CheckBreak()
		}
		if yyb2271 {
			break
		}
		z.DecStructFieldNotFound(yyj2271-1, "")
	}
	r.ReadEnd()
}

func (x *NodeStatus) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym2280 := z.EncBinary()
		_ = yym2280
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep2281 := !z.EncBinary()
			yy2arr2281 := z.EncBasicHandle().StructToArray
			var yyq2281 [6]bool
			_, _, _ = yysep2281, yyq2281, yy2arr2281
			const yyr2281 bool = false
			yyq2281[0] = len(x.Capacity) != 0
			yyq2281[1] = x.Phase != ""
			yyq2281[2] = len(x.Conditions) != 0
			yyq2281[3] = len(x.Addresses) != 0
			yyq2281[4] = true
			yyq2281[5] = true
			if yyr2281 || yy2arr2281 {
				r.EncodeArrayStart(6)
			} else {
				var yynn2281 int = 0
				for _, b := range yyq2281 {
					if b {
						yynn2281++
					}
				}
				r.EncodeMapStart(yynn2281)
			}
			if yyr2281 || yy2arr2281 {
				if yyq2281[0] {
					if x.Capacity == nil {
						r.EncodeNil()
					} else {
						x.Capacity.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq2281[0] {
					r.EncodeString(codecSelferC_UTF81234, string("capacity"))
					if x.Capacity == nil {
						r.EncodeNil()
					} else {
						x.Capacity.CodecEncodeSelf(e)
					}
				}
			}
			if yyr2281 || yy2arr2281 {
				if yyq2281[1] {
					x.Phase.CodecEncodeSelf(e)
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq2281[1] {
					r.EncodeString(codecSelferC_UTF81234, string("phase"))
					x.Phase.CodecEncodeSelf(e)
				}
			}
			if yyr2281 || yy2arr2281 {
				if yyq2281[2] {
					if x.Conditions == nil {
						r.EncodeNil()
					} else {
						yym2285 := z.EncBinary()
						_ = yym2285
						if false {
						} else {
							h.encSliceNodeCondition(([]NodeCondition)(x.Conditions), e)
						}
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq2281[2] {
					r.EncodeString(codecSelferC_UTF81234, string("conditions"))
					if x.Conditions == nil {
						r.EncodeNil()
					} else {
						yym2286 := z.EncBinary()
						_ = yym2286
						if false {
						} else {
							h.encSliceNodeCondition(([]NodeCondition)(x.Conditions), e)
						}
					}
				}
			}
			if yyr2281 || yy2arr2281 {
				if yyq2281[3] {
					if x.Addresses == nil {
						r.EncodeNil()
					} else {
						yym2288 := z.EncBinary()
						_ = yym2288
						if false {
						} else {
							h.encSliceNodeAddress(([]NodeAddress)(x.Addresses), e)
						}
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq2281[3] {
					r.EncodeString(codecSelferC_UTF81234, string("addresses"))
					if x.Addresses == nil {
						r.EncodeNil()
					} else {
						yym2289 := z.EncBinary()
						_ = yym2289
						if false {
						} else {
							h.encSliceNodeAddress(([]NodeAddress)(x.Addresses), e)
						}
					}
				}
			}
			if yyr2281 || yy2arr2281 {
				if yyq2281[4] {
					yy2291 := &x.DaemonEndpoints
					yy2291.CodecEncodeSelf(e)
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq2281[4] {
					r.EncodeString(codecSelferC_UTF81234, string("daemonEndpoints"))
					yy2292 := &x.DaemonEndpoints
					yy2292.CodecEncodeSelf(e)
				}
			}
			if yyr2281 || yy2arr2281 {
				if yyq2281[5] {
					yy2294 := &x.NodeInfo
					yy2294.CodecEncodeSelf(e)
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq2281[5] {
					r.EncodeString(codecSelferC_UTF81234, string("nodeInfo"))
					yy2295 := &x.NodeInfo
					yy2295.CodecEncodeSelf(e)
				}
			}
			if yysep2281 {
				r.EncodeEnd()
			}
		}
	}
}

func (x *NodeStatus) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym2296 := z.DecBinary()
	_ = yym2296
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		if r.IsContainerType(codecSelferValueTypeMap1234) {
			yyl2297 := r.ReadMapStart()
			if yyl2297 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromMap(yyl2297, d)
			}
		} else if r.IsContainerType(codecSelferValueTypeArray1234) {
			yyl2297 := r.ReadArrayStart()
			if yyl2297 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromArray(yyl2297, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *NodeStatus) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys2298Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys2298Slc
	var yyhl2298 bool = l >= 0
	for yyj2298 := 0; ; yyj2298++ {
		if yyhl2298 {
			if yyj2298 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		yys2298Slc = r.DecodeBytes(yys2298Slc, true, true)
		yys2298 := string(yys2298Slc)
		switch yys2298 {
		case "capacity":
			if r.TryDecodeAsNil() {
				x.Capacity = nil
			} else {
				yyv2299 := &x.Capacity
				yyv2299.CodecDecodeSelf(d)
			}
		case "phase":
			if r.TryDecodeAsNil() {
				x.Phase = ""
			} else {
				x.Phase = NodePhase(r.DecodeString())
			}
		case "conditions":
			if r.TryDecodeAsNil() {
				x.Conditions = nil
			} else {
				yyv2301 := &x.Conditions
				yym2302 := z.DecBinary()
				_ = yym2302
				if false {
				} else {
					h.decSliceNodeCondition((*[]NodeCondition)(yyv2301), d)
				}
			}
		case "addresses":
			if r.TryDecodeAsNil() {
				x.Addresses = nil
			} else {
				yyv2303 := &x.Addresses
				yym2304 := z.DecBinary()
				_ = yym2304
				if false {
				} else {
					h.decSliceNodeAddress((*[]NodeAddress)(yyv2303), d)
				}
			}
		case "daemonEndpoints":
			if r.TryDecodeAsNil() {
				x.DaemonEndpoints = NodeDaemonEndpoints{}
			} else {
				yyv2305 := &x.DaemonEndpoints
				yyv2305.CodecDecodeSelf(d)
			}
		case "nodeInfo":
			if r.TryDecodeAsNil() {
				x.NodeInfo = NodeSystemInfo{}
			} else {
				yyv2306 := &x.NodeInfo
				yyv2306.CodecDecodeSelf(d)
			}
		default:
			z.DecStructFieldNotFound(-1, yys2298)
		} // end switch yys2298
	} // end for yyj2298
	if !yyhl2298 {
		r.ReadEnd()
	}
}

func (x *NodeStatus) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj2307 int
	var yyb2307 bool
	var yyhl2307 bool = l >= 0
	yyj2307++
	if yyhl2307 {
		yyb2307 = yyj2307 > l
	} else {
		yyb2307 = r.CheckBreak()
	}
	if yyb2307 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.Capacity = nil
	} else {
		yyv2308 := &x.Capacity
		yyv2308.CodecDecodeSelf(d)
	}
	yyj2307++
	if yyhl2307 {
		yyb2307 = yyj2307 > l
	} else {
		yyb2307 = r.CheckBreak()
	}
	if yyb2307 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.Phase = ""
	} else {
		x.Phase = NodePhase(r.DecodeString())
	}
	yyj2307++
	if yyhl2307 {
		yyb2307 = yyj2307 > l
	} else {
		yyb2307 = r.CheckBreak()
	}
	if yyb2307 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.Conditions = nil
	} else {
		yyv2310 := &x.Conditions
		yym2311 := z.DecBinary()
		_ = yym2311
		if false {
		} else {
			h.decSliceNodeCondition((*[]NodeCondition)(yyv2310), d)
		}
	}
	yyj2307++
	if yyhl2307 {
		yyb2307 = yyj2307 > l
	} else {
		yyb2307 = r.CheckBreak()
	}
	if yyb2307 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.Addresses = nil
	} else {
		yyv2312 := &x.Addresses
		yym2313 := z.DecBinary()
		_ = yym2313
		if false {
		} else {
			h.decSliceNodeAddress((*[]NodeAddress)(yyv2312), d)
		}
	}
	yyj2307++
	if yyhl2307 {
		yyb2307 = yyj2307 > l
	} else {
		yyb2307 = r.CheckBreak()
	}
	if yyb2307 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.DaemonEndpoints = NodeDaemonEndpoints{}
	} else {
		yyv2314 := &x.DaemonEndpoints
		yyv2314.CodecDecodeSelf(d)
	}
	yyj2307++
	if yyhl2307 {
		yyb2307 = yyj2307 > l
	} else {
		yyb2307 = r.CheckBreak()
	}
	if yyb2307 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.NodeInfo = NodeSystemInfo{}
	} else {
		yyv2315 := &x.NodeInfo
		yyv2315.CodecDecodeSelf(d)
	}
	for {
		yyj2307++
		if yyhl2307 {
			yyb2307 = yyj2307 > l
		} else {
			yyb2307 = r.CheckBreak()
		}
		if yyb2307 {
			break
		}
		z.DecStructFieldNotFound(yyj2307-1, "")
	}
	r.ReadEnd()
}

func (x NodePhase) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	yym2316 := z.EncBinary()
	_ = yym2316
	if false {
	} else if z.HasExtensions() && z.EncExt(x) {
	} else {
		r.EncodeString(codecSelferC_UTF81234, string(x))
	}
}

func (x *NodePhase) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym2317 := z.DecBinary()
	_ = yym2317
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		*((*string)(x)) = r.DecodeString()
	}
}

func (x NodeConditionType) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	yym2318 := z.EncBinary()
	_ = yym2318
	if false {
	} else if z.HasExtensions() && z.EncExt(x) {
	} else {
		r.EncodeString(codecSelferC_UTF81234, string(x))
	}
}

func (x *NodeConditionType) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym2319 := z.DecBinary()
	_ = yym2319
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		*((*string)(x)) = r.DecodeString()
	}
}

func (x *NodeCondition) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym2320 := z.EncBinary()
		_ = yym2320
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep2321 := !z.EncBinary()
			yy2arr2321 := z.EncBasicHandle().StructToArray
			var yyq2321 [6]bool
			_, _, _ = yysep2321, yyq2321, yy2arr2321
			const yyr2321 bool = false
			yyq2321[2] = true
			yyq2321[3] = true
			yyq2321[4] = x.Reason != ""
			yyq2321[5] = x.Message != ""
			if yyr2321 || yy2arr2321 {
				r.EncodeArrayStart(6)
			} else {
				var yynn2321 int = 2
				for _, b := range yyq2321 {
					if b {
						yynn2321++
					}
				}
				r.EncodeMapStart(yynn2321)
			}
			if yyr2321 || yy2arr2321 {
				x.Type.CodecEncodeSelf(e)
			} else {
				r.EncodeString(codecSelferC_UTF81234, string("type"))
				x.Type.CodecEncodeSelf(e)
			}
			if yyr2321 || yy2arr2321 {
				x.Status.CodecEncodeSelf(e)
			} else {
				r.EncodeString(codecSelferC_UTF81234, string("status"))
				x.Status.CodecEncodeSelf(e)
			}
			if yyr2321 || yy2arr2321 {
				if yyq2321[2] {
					yy2325 := &x.LastHeartbeatTime
					yym2326 := z.EncBinary()
					_ = yym2326
					if false {
					} else if z.HasExtensions() && z.EncExt(yy2325) {
					} else if yym2326 {
						z.EncBinaryMarshal(yy2325)
					} else if !yym2326 && z.IsJSONHandle() {
						z.EncJSONMarshal(yy2325)
					} else {
						z.EncFallback(yy2325)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq2321[2] {
					r.EncodeString(codecSelferC_UTF81234, string("lastHeartbeatTime"))
					yy2327 := &x.LastHeartbeatTime
					yym2328 := z.EncBinary()
					_ = yym2328
					if false {
					} else if z.HasExtensions() && z.EncExt(yy2327) {
					} else if yym2328 {
						z.EncBinaryMarshal(yy2327)
					} else if !yym2328 && z.IsJSONHandle() {
						z.EncJSONMarshal(yy2327)
					} else {
						z.EncFallback(yy2327)
					}
				}
			}
			if yyr2321 || yy2arr2321 {
				if yyq2321[3] {
					yy2330 := &x.LastTransitionTime
					yym2331 := z.EncBinary()
					_ = yym2331
					if false {
					} else if z.HasExtensions() && z.EncExt(yy2330) {
					} else if yym2331 {
						z.EncBinaryMarshal(yy2330)
					} else if !yym2331 && z.IsJSONHandle() {
						z.EncJSONMarshal(yy2330)
					} else {
						z.EncFallback(yy2330)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq2321[3] {
					r.EncodeString(codecSelferC_UTF81234, string("lastTransitionTime"))
					yy2332 := &x.LastTransitionTime
					yym2333 := z.EncBinary()
					_ = yym2333
					if false {
					} else if z.HasExtensions() && z.EncExt(yy2332) {
					} else if yym2333 {
						z.EncBinaryMarshal(yy2332)
					} else if !yym2333 && z.IsJSONHandle() {
						z.EncJSONMarshal(yy2332)
					} else {
						z.EncFallback(yy2332)
					}
				}
			}
			if yyr2321 || yy2arr2321 {
				if yyq2321[4] {
					yym2335 := z.EncBinary()
					_ = yym2335
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Reason))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq2321[4] {
					r.EncodeString(codecSelferC_UTF81234, string("reason"))
					yym2336 := z.EncBinary()
					_ = yym2336
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Reason))
					}
				}
			}
			if yyr2321 || yy2arr2321 {
				if yyq2321[5] {
					yym2338 := z.EncBinary()
					_ = yym2338
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Message))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq2321[5] {
					r.EncodeString(codecSelferC_UTF81234, string("message"))
					yym2339 := z.EncBinary()
					_ = yym2339
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Message))
					}
				}
			}
			if yysep2321 {
				r.EncodeEnd()
			}
		}
	}
}

func (x *NodeCondition) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym2340 := z.DecBinary()
	_ = yym2340
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		if r.IsContainerType(codecSelferValueTypeMap1234) {
			yyl2341 := r.ReadMapStart()
			if yyl2341 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromMap(yyl2341, d)
			}
		} else if r.IsContainerType(codecSelferValueTypeArray1234) {
			yyl2341 := r.ReadArrayStart()
			if yyl2341 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromArray(yyl2341, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *NodeCondition) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys2342Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys2342Slc
	var yyhl2342 bool = l >= 0
	for yyj2342 := 0; ; yyj2342++ {
		if yyhl2342 {
			if yyj2342 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		yys2342Slc = r.DecodeBytes(yys2342Slc, true, true)
		yys2342 := string(yys2342Slc)
		switch yys2342 {
		case "type":
			if r.TryDecodeAsNil() {
				x.Type = ""
			} else {
				x.Type = NodeConditionType(r.DecodeString())
			}
		case "status":
			if r.TryDecodeAsNil() {
				x.Status = ""
			} else {
				x.Status = ConditionStatus(r.DecodeString())
			}
		case "lastHeartbeatTime":
			if r.TryDecodeAsNil() {
				x.LastHeartbeatTime = pkg2_unversioned.Time{}
			} else {
				yyv2345 := &x.LastHeartbeatTime
				yym2346 := z.DecBinary()
				_ = yym2346
				if false {
				} else if z.HasExtensions() && z.DecExt(yyv2345) {
				} else if yym2346 {
					z.DecBinaryUnmarshal(yyv2345)
				} else if !yym2346 && z.IsJSONHandle() {
					z.DecJSONUnmarshal(yyv2345)
				} else {
					z.DecFallback(yyv2345, false)
				}
			}
		case "lastTransitionTime":
			if r.TryDecodeAsNil() {
				x.LastTransitionTime = pkg2_unversioned.Time{}
			} else {
				yyv2347 := &x.LastTransitionTime
				yym2348 := z.DecBinary()
				_ = yym2348
				if false {
				} else if z.HasExtensions() && z.DecExt(yyv2347) {
				} else if yym2348 {
					z.DecBinaryUnmarshal(yyv2347)
				} else if !yym2348 && z.IsJSONHandle() {
					z.DecJSONUnmarshal(yyv2347)
				} else {
					z.DecFallback(yyv2347, false)
				}
			}
		case "reason":
			if r.TryDecodeAsNil() {
				x.Reason = ""
			} else {
				x.Reason = string(r.DecodeString())
			}
		case "message":
			if r.TryDecodeAsNil() {
				x.Message = ""
			} else {
				x.Message = string(r.DecodeString())
			}
		default:
			z.DecStructFieldNotFound(-1, yys2342)
		} // end switch yys2342
	} // end for yyj2342
	if !yyhl2342 {
		r.ReadEnd()
	}
}

func (x *NodeCondition) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj2351 int
	var yyb2351 bool
	var yyhl2351 bool = l >= 0
	yyj2351++
	if yyhl2351 {
		yyb2351 = yyj2351 > l
	} else {
		yyb2351 = r.CheckBreak()
	}
	if yyb2351 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.Type = ""
	} else {
		x.Type = NodeConditionType(r.DecodeString())
	}
	yyj2351++
	if yyhl2351 {
		yyb2351 = yyj2351 > l
	} else {
		yyb2351 = r.CheckBreak()
	}
	if yyb2351 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.Status = ""
	} else {
		x.Status = ConditionStatus(r.DecodeString())
	}
	yyj2351++
	if yyhl2351 {
		yyb2351 = yyj2351 > l
	} else {
		yyb2351 = r.CheckBreak()
	}
	if yyb2351 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.LastHeartbeatTime = pkg2_unversioned.Time{}
	} else {
		yyv2354 := &x.LastHeartbeatTime
		yym2355 := z.DecBinary()
		_ = yym2355
		if false {
		} else if z.HasExtensions() && z.DecExt(yyv2354) {
		} else if yym2355 {
			z.DecBinaryUnmarshal(yyv2354)
		} else if !yym2355 && z.IsJSONHandle() {
			z.DecJSONUnmarshal(yyv2354)
		} else {
			z.DecFallback(yyv2354, false)
		}
	}
	yyj2351++
	if yyhl2351 {
		yyb2351 = yyj2351 > l
	} else {
		yyb2351 = r.CheckBreak()
	}
	if yyb2351 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.LastTransitionTime = pkg2_unversioned.Time{}
	} else {
		yyv2356 := &x.LastTransitionTime
		yym2357 := z.DecBinary()
		_ = yym2357
		if false {
		} else if z.HasExtensions() && z.DecExt(yyv2356) {
		} else if yym2357 {
			z.DecBinaryUnmarshal(yyv2356)
		} else if !yym2357 && z.IsJSONHandle() {
			z.DecJSONUnmarshal(yyv2356)
		} else {
			z.DecFallback(yyv2356, false)
		}
	}
	yyj2351++
	if yyhl2351 {
		yyb2351 = yyj2351 > l
	} else {
		yyb2351 = r.CheckBreak()
	}
	if yyb2351 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.Reason = ""
	} else {
		x.Reason = string(r.DecodeString())
	}
	yyj2351++
	if yyhl2351 {
		yyb2351 = yyj2351 > l
	} else {
		yyb2351 = r.CheckBreak()
	}
	if yyb2351 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.Message = ""
	} else {
		x.Message = string(r.DecodeString())
	}
	for {
		yyj2351++
		if yyhl2351 {
			yyb2351 = yyj2351 > l
		} else {
			yyb2351 = r.CheckBreak()
		}
		if yyb2351 {
			break
		}
		z.DecStructFieldNotFound(yyj2351-1, "")
	}
	r.ReadEnd()
}

func (x NodeAddressType) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	yym2360 := z.EncBinary()
	_ = yym2360
	if false {
	} else if z.HasExtensions() && z.EncExt(x) {
	} else {
		r.EncodeString(codecSelferC_UTF81234, string(x))
	}
}

func (x *NodeAddressType) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym2361 := z.DecBinary()
	_ = yym2361
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		*((*string)(x)) = r.DecodeString()
	}
}

func (x *NodeAddress) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym2362 := z.EncBinary()
		_ = yym2362
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep2363 := !z.EncBinary()
			yy2arr2363 := z.EncBasicHandle().StructToArray
			var yyq2363 [2]bool
			_, _, _ = yysep2363, yyq2363, yy2arr2363
			const yyr2363 bool = false
			if yyr2363 || yy2arr2363 {
				r.EncodeArrayStart(2)
			} else {
				var yynn2363 int = 2
				for _, b := range yyq2363 {
					if b {
						yynn2363++
					}
				}
				r.EncodeMapStart(yynn2363)
			}
			if yyr2363 || yy2arr2363 {
				x.Type.CodecEncodeSelf(e)
			} else {
				r.EncodeString(codecSelferC_UTF81234, string("type"))
				x.Type.CodecEncodeSelf(e)
			}
			if yyr2363 || yy2arr2363 {
				yym2366 := z.EncBinary()
				_ = yym2366
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.Address))
				}
			} else {
				r.EncodeString(codecSelferC_UTF81234, string("address"))
				yym2367 := z.EncBinary()
				_ = yym2367
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.Address))
				}
			}
			if yysep2363 {
				r.EncodeEnd()
			}
		}
	}
}

func (x *NodeAddress) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym2368 := z.DecBinary()
	_ = yym2368
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		if r.IsContainerType(codecSelferValueTypeMap1234) {
			yyl2369 := r.ReadMapStart()
			if yyl2369 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromMap(yyl2369, d)
			}
		} else if r.IsContainerType(codecSelferValueTypeArray1234) {
			yyl2369 := r.ReadArrayStart()
			if yyl2369 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromArray(yyl2369, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *NodeAddress) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys2370Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys2370Slc
	var yyhl2370 bool = l >= 0
	for yyj2370 := 0; ; yyj2370++ {
		if yyhl2370 {
			if yyj2370 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		yys2370Slc = r.DecodeBytes(yys2370Slc, true, true)
		yys2370 := string(yys2370Slc)
		switch yys2370 {
		case "type":
			if r.TryDecodeAsNil() {
				x.Type = ""
			} else {
				x.Type = NodeAddressType(r.DecodeString())
			}
		case "address":
			if r.TryDecodeAsNil() {
				x.Address = ""
			} else {
				x.Address = string(r.DecodeString())
			}
		default:
			z.DecStructFieldNotFound(-1, yys2370)
		} // end switch yys2370
	} // end for yyj2370
	if !yyhl2370 {
		r.ReadEnd()
	}
}

func (x *NodeAddress) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj2373 int
	var yyb2373 bool
	var yyhl2373 bool = l >= 0
	yyj2373++
	if yyhl2373 {
		yyb2373 = yyj2373 > l
	} else {
		yyb2373 = r.CheckBreak()
	}
	if yyb2373 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.Type = ""
	} else {
		x.Type = NodeAddressType(r.DecodeString())
	}
	yyj2373++
	if yyhl2373 {
		yyb2373 = yyj2373 > l
	} else {
		yyb2373 = r.CheckBreak()
	}
	if yyb2373 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.Address = ""
	} else {
		x.Address = string(r.DecodeString())
	}
	for {
		yyj2373++
		if yyhl2373 {
			yyb2373 = yyj2373 > l
		} else {
			yyb2373 = r.CheckBreak()
		}
		if yyb2373 {
			break
		}
		z.DecStructFieldNotFound(yyj2373-1, "")
	}
	r.ReadEnd()
}

func (x ResourceName) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	yym2376 := z.EncBinary()
	_ = yym2376
	if false {
	} else if z.HasExtensions() && z.EncExt(x) {
	} else {
		r.EncodeString(codecSelferC_UTF81234, string(x))
	}
}

func (x *ResourceName) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym2377 := z.DecBinary()
	_ = yym2377
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		*((*string)(x)) = r.DecodeString()
	}
}

func (x ResourceList) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym2378 := z.EncBinary()
		_ = yym2378
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			h.encResourceList((ResourceList)(x), e)
		}
	}
}

func (x *ResourceList) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym2379 := z.DecBinary()
	_ = yym2379
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		h.decResourceList((*ResourceList)(x), d)
	}
}

func (x *Node) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym2380 := z.EncBinary()
		_ = yym2380
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep2381 := !z.EncBinary()
			yy2arr2381 := z.EncBasicHandle().StructToArray
			var yyq2381 [5]bool
			_, _, _ = yysep2381, yyq2381, yy2arr2381
			const yyr2381 bool = false
			yyq2381[0] = x.Kind != ""
			yyq2381[1] = x.APIVersion != ""
			yyq2381[2] = true
			yyq2381[3] = true
			yyq2381[4] = true
			if yyr2381 || yy2arr2381 {
				r.EncodeArrayStart(5)
			} else {
				var yynn2381 int = 0
				for _, b := range yyq2381 {
					if b {
						yynn2381++
					}
				}
				r.EncodeMapStart(yynn2381)
			}
			if yyr2381 || yy2arr2381 {
				if yyq2381[0] {
					yym2383 := z.EncBinary()
					_ = yym2383
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq2381[0] {
					r.EncodeString(codecSelferC_UTF81234, string("kind"))
					yym2384 := z.EncBinary()
					_ = yym2384
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				}
			}
			if yyr2381 || yy2arr2381 {
				if yyq2381[1] {
					yym2386 := z.EncBinary()
					_ = yym2386
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq2381[1] {
					r.EncodeString(codecSelferC_UTF81234, string("apiVersion"))
					yym2387 := z.EncBinary()
					_ = yym2387
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				}
			}
			if yyr2381 || yy2arr2381 {
				if yyq2381[2] {
					yy2389 := &x.ObjectMeta
					yy2389.CodecEncodeSelf(e)
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq2381[2] {
					r.EncodeString(codecSelferC_UTF81234, string("metadata"))
					yy2390 := &x.ObjectMeta
					yy2390.CodecEncodeSelf(e)
				}
			}
			if yyr2381 || yy2arr2381 {
				if yyq2381[3] {
					yy2392 := &x.Spec
					yy2392.CodecEncodeSelf(e)
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq2381[3] {
					r.EncodeString(codecSelferC_UTF81234, string("spec"))
					yy2393 := &x.Spec
					yy2393.CodecEncodeSelf(e)
				}
			}
			if yyr2381 || yy2arr2381 {
				if yyq2381[4] {
					yy2395 := &x.Status
					yy2395.CodecEncodeSelf(e)
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq2381[4] {
					r.EncodeString(codecSelferC_UTF81234, string("status"))
					yy2396 := &x.Status
					yy2396.CodecEncodeSelf(e)
				}
			}
			if yysep2381 {
				r.EncodeEnd()
			}
		}
	}
}

func (x *Node) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym2397 := z.DecBinary()
	_ = yym2397
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		if r.IsContainerType(codecSelferValueTypeMap1234) {
			yyl2398 := r.ReadMapStart()
			if yyl2398 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromMap(yyl2398, d)
			}
		} else if r.IsContainerType(codecSelferValueTypeArray1234) {
			yyl2398 := r.ReadArrayStart()
			if yyl2398 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromArray(yyl2398, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *Node) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys2399Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys2399Slc
	var yyhl2399 bool = l >= 0
	for yyj2399 := 0; ; yyj2399++ {
		if yyhl2399 {
			if yyj2399 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		yys2399Slc = r.DecodeBytes(yys2399Slc, true, true)
		yys2399 := string(yys2399Slc)
		switch yys2399 {
		case "kind":
			if r.TryDecodeAsNil() {
				x.Kind = ""
			} else {
				x.Kind = string(r.DecodeString())
			}
		case "apiVersion":
			if r.TryDecodeAsNil() {
				x.APIVersion = ""
			} else {
				x.APIVersion = string(r.DecodeString())
			}
		case "metadata":
			if r.TryDecodeAsNil() {
				x.ObjectMeta = ObjectMeta{}
			} else {
				yyv2402 := &x.ObjectMeta
				yyv2402.CodecDecodeSelf(d)
			}
		case "spec":
			if r.TryDecodeAsNil() {
				x.Spec = NodeSpec{}
			} else {
				yyv2403 := &x.Spec
				yyv2403.CodecDecodeSelf(d)
			}
		case "status":
			if r.TryDecodeAsNil() {
				x.Status = NodeStatus{}
			} else {
				yyv2404 := &x.Status
				yyv2404.CodecDecodeSelf(d)
			}
		default:
			z.DecStructFieldNotFound(-1, yys2399)
		} // end switch yys2399
	} // end for yyj2399
	if !yyhl2399 {
		r.ReadEnd()
	}
}

func (x *Node) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj2405 int
	var yyb2405 bool
	var yyhl2405 bool = l >= 0
	yyj2405++
	if yyhl2405 {
		yyb2405 = yyj2405 > l
	} else {
		yyb2405 = r.CheckBreak()
	}
	if yyb2405 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.Kind = ""
	} else {
		x.Kind = string(r.DecodeString())
	}
	yyj2405++
	if yyhl2405 {
		yyb2405 = yyj2405 > l
	} else {
		yyb2405 = r.CheckBreak()
	}
	if yyb2405 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.APIVersion = ""
	} else {
		x.APIVersion = string(r.DecodeString())
	}
	yyj2405++
	if yyhl2405 {
		yyb2405 = yyj2405 > l
	} else {
		yyb2405 = r.CheckBreak()
	}
	if yyb2405 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.ObjectMeta = ObjectMeta{}
	} else {
		yyv2408 := &x.ObjectMeta
		yyv2408.CodecDecodeSelf(d)
	}
	yyj2405++
	if yyhl2405 {
		yyb2405 = yyj2405 > l
	} else {
		yyb2405 = r.CheckBreak()
	}
	if yyb2405 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.Spec = NodeSpec{}
	} else {
		yyv2409 := &x.Spec
		yyv2409.CodecDecodeSelf(d)
	}
	yyj2405++
	if yyhl2405 {
		yyb2405 = yyj2405 > l
	} else {
		yyb2405 = r.CheckBreak()
	}
	if yyb2405 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.Status = NodeStatus{}
	} else {
		yyv2410 := &x.Status
		yyv2410.CodecDecodeSelf(d)
	}
	for {
		yyj2405++
		if yyhl2405 {
			yyb2405 = yyj2405 > l
		} else {
			yyb2405 = r.CheckBreak()
		}
		if yyb2405 {
			break
		}
		z.DecStructFieldNotFound(yyj2405-1, "")
	}
	r.ReadEnd()
}

func (x *NodeList) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym2411 := z.EncBinary()
		_ = yym2411
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep2412 := !z.EncBinary()
			yy2arr2412 := z.EncBasicHandle().StructToArray
			var yyq2412 [4]bool
			_, _, _ = yysep2412, yyq2412, yy2arr2412
			const yyr2412 bool = false
			yyq2412[0] = x.Kind != ""
			yyq2412[1] = x.APIVersion != ""
			yyq2412[2] = true
			if yyr2412 || yy2arr2412 {
				r.EncodeArrayStart(4)
			} else {
				var yynn2412 int = 1
				for _, b := range yyq2412 {
					if b {
						yynn2412++
					}
				}
				r.EncodeMapStart(yynn2412)
			}
			if yyr2412 || yy2arr2412 {
				if yyq2412[0] {
					yym2414 := z.EncBinary()
					_ = yym2414
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq2412[0] {
					r.EncodeString(codecSelferC_UTF81234, string("kind"))
					yym2415 := z.EncBinary()
					_ = yym2415
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				}
			}
			if yyr2412 || yy2arr2412 {
				if yyq2412[1] {
					yym2417 := z.EncBinary()
					_ = yym2417
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq2412[1] {
					r.EncodeString(codecSelferC_UTF81234, string("apiVersion"))
					yym2418 := z.EncBinary()
					_ = yym2418
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				}
			}
			if yyr2412 || yy2arr2412 {
				if yyq2412[2] {
					yy2420 := &x.ListMeta
					yym2421 := z.EncBinary()
					_ = yym2421
					if false {
					} else if z.HasExtensions() && z.EncExt(yy2420) {
					} else {
						z.EncFallback(yy2420)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq2412[2] {
					r.EncodeString(codecSelferC_UTF81234, string("metadata"))
					yy2422 := &x.ListMeta
					yym2423 := z.EncBinary()
					_ = yym2423
					if false {
					} else if z.HasExtensions() && z.EncExt(yy2422) {
					} else {
						z.EncFallback(yy2422)
					}
				}
			}
			if yyr2412 || yy2arr2412 {
				if x.Items == nil {
					r.EncodeNil()
				} else {
					yym2425 := z.EncBinary()
					_ = yym2425
					if false {
					} else {
						h.encSliceNode(([]Node)(x.Items), e)
					}
				}
			} else {
				r.EncodeString(codecSelferC_UTF81234, string("items"))
				if x.Items == nil {
					r.EncodeNil()
				} else {
					yym2426 := z.EncBinary()
					_ = yym2426
					if false {
					} else {
						h.encSliceNode(([]Node)(x.Items), e)
					}
				}
			}
			if yysep2412 {
				r.EncodeEnd()
			}
		}
	}
}

func (x *NodeList) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym2427 := z.DecBinary()
	_ = yym2427
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		if r.IsContainerType(codecSelferValueTypeMap1234) {
			yyl2428 := r.ReadMapStart()
			if yyl2428 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromMap(yyl2428, d)
			}
		} else if r.IsContainerType(codecSelferValueTypeArray1234) {
			yyl2428 := r.ReadArrayStart()
			if yyl2428 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromArray(yyl2428, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *NodeList) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys2429Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys2429Slc
	var yyhl2429 bool = l >= 0
	for yyj2429 := 0; ; yyj2429++ {
		if yyhl2429 {
			if yyj2429 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		yys2429Slc = r.DecodeBytes(yys2429Slc, true, true)
		yys2429 := string(yys2429Slc)
		switch yys2429 {
		case "kind":
			if r.TryDecodeAsNil() {
				x.Kind = ""
			} else {
				x.Kind = string(r.DecodeString())
			}
		case "apiVersion":
			if r.TryDecodeAsNil() {
				x.APIVersion = ""
			} else {
				x.APIVersion = string(r.DecodeString())
			}
		case "metadata":
			if r.TryDecodeAsNil() {
				x.ListMeta = pkg2_unversioned.ListMeta{}
			} else {
				yyv2432 := &x.ListMeta
				yym2433 := z.DecBinary()
				_ = yym2433
				if false {
				} else if z.HasExtensions() && z.DecExt(yyv2432) {
				} else {
					z.DecFallback(yyv2432, false)
				}
			}
		case "items":
			if r.TryDecodeAsNil() {
				x.Items = nil
			} else {
				yyv2434 := &x.Items
				yym2435 := z.DecBinary()
				_ = yym2435
				if false {
				} else {
					h.decSliceNode((*[]Node)(yyv2434), d)
				}
			}
		default:
			z.DecStructFieldNotFound(-1, yys2429)
		} // end switch yys2429
	} // end for yyj2429
	if !yyhl2429 {
		r.ReadEnd()
	}
}

func (x *NodeList) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj2436 int
	var yyb2436 bool
	var yyhl2436 bool = l >= 0
	yyj2436++
	if yyhl2436 {
		yyb2436 = yyj2436 > l
	} else {
		yyb2436 = r.CheckBreak()
	}
	if yyb2436 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.Kind = ""
	} else {
		x.Kind = string(r.DecodeString())
	}
	yyj2436++
	if yyhl2436 {
		yyb2436 = yyj2436 > l
	} else {
		yyb2436 = r.CheckBreak()
	}
	if yyb2436 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.APIVersion = ""
	} else {
		x.APIVersion = string(r.DecodeString())
	}
	yyj2436++
	if yyhl2436 {
		yyb2436 = yyj2436 > l
	} else {
		yyb2436 = r.CheckBreak()
	}
	if yyb2436 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.ListMeta = pkg2_unversioned.ListMeta{}
	} else {
		yyv2439 := &x.ListMeta
		yym2440 := z.DecBinary()
		_ = yym2440
		if false {
		} else if z.HasExtensions() && z.DecExt(yyv2439) {
		} else {
			z.DecFallback(yyv2439, false)
		}
	}
	yyj2436++
	if yyhl2436 {
		yyb2436 = yyj2436 > l
	} else {
		yyb2436 = r.CheckBreak()
	}
	if yyb2436 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.Items = nil
	} else {
		yyv2441 := &x.Items
		yym2442 := z.DecBinary()
		_ = yym2442
		if false {
		} else {
			h.decSliceNode((*[]Node)(yyv2441), d)
		}
	}
	for {
		yyj2436++
		if yyhl2436 {
			yyb2436 = yyj2436 > l
		} else {
			yyb2436 = r.CheckBreak()
		}
		if yyb2436 {
			break
		}
		z.DecStructFieldNotFound(yyj2436-1, "")
	}
	r.ReadEnd()
}

func (x FinalizerName) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	yym2443 := z.EncBinary()
	_ = yym2443
	if false {
	} else if z.HasExtensions() && z.EncExt(x) {
	} else {
		r.EncodeString(codecSelferC_UTF81234, string(x))
	}
}

func (x *FinalizerName) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym2444 := z.DecBinary()
	_ = yym2444
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		*((*string)(x)) = r.DecodeString()
	}
}

func (x *NamespaceSpec) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym2445 := z.EncBinary()
		_ = yym2445
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep2446 := !z.EncBinary()
			yy2arr2446 := z.EncBasicHandle().StructToArray
			var yyq2446 [1]bool
			_, _, _ = yysep2446, yyq2446, yy2arr2446
			const yyr2446 bool = false
			yyq2446[0] = len(x.Finalizers) != 0
			if yyr2446 || yy2arr2446 {
				r.EncodeArrayStart(1)
			} else {
				var yynn2446 int = 0
				for _, b := range yyq2446 {
					if b {
						yynn2446++
					}
				}
				r.EncodeMapStart(yynn2446)
			}
			if yyr2446 || yy2arr2446 {
				if yyq2446[0] {
					if x.Finalizers == nil {
						r.EncodeNil()
					} else {
						yym2448 := z.EncBinary()
						_ = yym2448
						if false {
						} else {
							h.encSliceFinalizerName(([]FinalizerName)(x.Finalizers), e)
						}
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq2446[0] {
					r.EncodeString(codecSelferC_UTF81234, string("finalizers"))
					if x.Finalizers == nil {
						r.EncodeNil()
					} else {
						yym2449 := z.EncBinary()
						_ = yym2449
						if false {
						} else {
							h.encSliceFinalizerName(([]FinalizerName)(x.Finalizers), e)
						}
					}
				}
			}
			if yysep2446 {
				r.EncodeEnd()
			}
		}
	}
}

func (x *NamespaceSpec) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym2450 := z.DecBinary()
	_ = yym2450
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		if r.IsContainerType(codecSelferValueTypeMap1234) {
			yyl2451 := r.ReadMapStart()
			if yyl2451 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromMap(yyl2451, d)
			}
		} else if r.IsContainerType(codecSelferValueTypeArray1234) {
			yyl2451 := r.ReadArrayStart()
			if yyl2451 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromArray(yyl2451, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *NamespaceSpec) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys2452Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys2452Slc
	var yyhl2452 bool = l >= 0
	for yyj2452 := 0; ; yyj2452++ {
		if yyhl2452 {
			if yyj2452 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		yys2452Slc = r.DecodeBytes(yys2452Slc, true, true)
		yys2452 := string(yys2452Slc)
		switch yys2452 {
		case "finalizers":
			if r.TryDecodeAsNil() {
				x.Finalizers = nil
			} else {
				yyv2453 := &x.Finalizers
				yym2454 := z.DecBinary()
				_ = yym2454
				if false {
				} else {
					h.decSliceFinalizerName((*[]FinalizerName)(yyv2453), d)
				}
			}
		default:
			z.DecStructFieldNotFound(-1, yys2452)
		} // end switch yys2452
	} // end for yyj2452
	if !yyhl2452 {
		r.ReadEnd()
	}
}

func (x *NamespaceSpec) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj2455 int
	var yyb2455 bool
	var yyhl2455 bool = l >= 0
	yyj2455++
	if yyhl2455 {
		yyb2455 = yyj2455 > l
	} else {
		yyb2455 = r.CheckBreak()
	}
	if yyb2455 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.Finalizers = nil
	} else {
		yyv2456 := &x.Finalizers
		yym2457 := z.DecBinary()
		_ = yym2457
		if false {
		} else {
			h.decSliceFinalizerName((*[]FinalizerName)(yyv2456), d)
		}
	}
	for {
		yyj2455++
		if yyhl2455 {
			yyb2455 = yyj2455 > l
		} else {
			yyb2455 = r.CheckBreak()
		}
		if yyb2455 {
			break
		}
		z.DecStructFieldNotFound(yyj2455-1, "")
	}
	r.ReadEnd()
}

func (x *NamespaceStatus) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym2458 := z.EncBinary()
		_ = yym2458
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep2459 := !z.EncBinary()
			yy2arr2459 := z.EncBasicHandle().StructToArray
			var yyq2459 [1]bool
			_, _, _ = yysep2459, yyq2459, yy2arr2459
			const yyr2459 bool = false
			yyq2459[0] = x.Phase != ""
			if yyr2459 || yy2arr2459 {
				r.EncodeArrayStart(1)
			} else {
				var yynn2459 int = 0
				for _, b := range yyq2459 {
					if b {
						yynn2459++
					}
				}
				r.EncodeMapStart(yynn2459)
			}
			if yyr2459 || yy2arr2459 {
				if yyq2459[0] {
					x.Phase.CodecEncodeSelf(e)
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq2459[0] {
					r.EncodeString(codecSelferC_UTF81234, string("phase"))
					x.Phase.CodecEncodeSelf(e)
				}
			}
			if yysep2459 {
				r.EncodeEnd()
			}
		}
	}
}

func (x *NamespaceStatus) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym2461 := z.DecBinary()
	_ = yym2461
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		if r.IsContainerType(codecSelferValueTypeMap1234) {
			yyl2462 := r.ReadMapStart()
			if yyl2462 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromMap(yyl2462, d)
			}
		} else if r.IsContainerType(codecSelferValueTypeArray1234) {
			yyl2462 := r.ReadArrayStart()
			if yyl2462 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromArray(yyl2462, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *NamespaceStatus) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys2463Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys2463Slc
	var yyhl2463 bool = l >= 0
	for yyj2463 := 0; ; yyj2463++ {
		if yyhl2463 {
			if yyj2463 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		yys2463Slc = r.DecodeBytes(yys2463Slc, true, true)
		yys2463 := string(yys2463Slc)
		switch yys2463 {
		case "phase":
			if r.TryDecodeAsNil() {
				x.Phase = ""
			} else {
				x.Phase = NamespacePhase(r.DecodeString())
			}
		default:
			z.DecStructFieldNotFound(-1, yys2463)
		} // end switch yys2463
	} // end for yyj2463
	if !yyhl2463 {
		r.ReadEnd()
	}
}

func (x *NamespaceStatus) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj2465 int
	var yyb2465 bool
	var yyhl2465 bool = l >= 0
	yyj2465++
	if yyhl2465 {
		yyb2465 = yyj2465 > l
	} else {
		yyb2465 = r.CheckBreak()
	}
	if yyb2465 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.Phase = ""
	} else {
		x.Phase = NamespacePhase(r.DecodeString())
	}
	for {
		yyj2465++
		if yyhl2465 {
			yyb2465 = yyj2465 > l
		} else {
			yyb2465 = r.CheckBreak()
		}
		if yyb2465 {
			break
		}
		z.DecStructFieldNotFound(yyj2465-1, "")
	}
	r.ReadEnd()
}

func (x NamespacePhase) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	yym2467 := z.EncBinary()
	_ = yym2467
	if false {
	} else if z.HasExtensions() && z.EncExt(x) {
	} else {
		r.EncodeString(codecSelferC_UTF81234, string(x))
	}
}

func (x *NamespacePhase) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym2468 := z.DecBinary()
	_ = yym2468
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		*((*string)(x)) = r.DecodeString()
	}
}

func (x *Namespace) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym2469 := z.EncBinary()
		_ = yym2469
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep2470 := !z.EncBinary()
			yy2arr2470 := z.EncBasicHandle().StructToArray
			var yyq2470 [5]bool
			_, _, _ = yysep2470, yyq2470, yy2arr2470
			const yyr2470 bool = false
			yyq2470[0] = x.Kind != ""
			yyq2470[1] = x.APIVersion != ""
			yyq2470[2] = true
			yyq2470[3] = true
			yyq2470[4] = true
			if yyr2470 || yy2arr2470 {
				r.EncodeArrayStart(5)
			} else {
				var yynn2470 int = 0
				for _, b := range yyq2470 {
					if b {
						yynn2470++
					}
				}
				r.EncodeMapStart(yynn2470)
			}
			if yyr2470 || yy2arr2470 {
				if yyq2470[0] {
					yym2472 := z.EncBinary()
					_ = yym2472
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq2470[0] {
					r.EncodeString(codecSelferC_UTF81234, string("kind"))
					yym2473 := z.EncBinary()
					_ = yym2473
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				}
			}
			if yyr2470 || yy2arr2470 {
				if yyq2470[1] {
					yym2475 := z.EncBinary()
					_ = yym2475
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq2470[1] {
					r.EncodeString(codecSelferC_UTF81234, string("apiVersion"))
					yym2476 := z.EncBinary()
					_ = yym2476
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				}
			}
			if yyr2470 || yy2arr2470 {
				if yyq2470[2] {
					yy2478 := &x.ObjectMeta
					yy2478.CodecEncodeSelf(e)
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq2470[2] {
					r.EncodeString(codecSelferC_UTF81234, string("metadata"))
					yy2479 := &x.ObjectMeta
					yy2479.CodecEncodeSelf(e)
				}
			}
			if yyr2470 || yy2arr2470 {
				if yyq2470[3] {
					yy2481 := &x.Spec
					yy2481.CodecEncodeSelf(e)
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq2470[3] {
					r.EncodeString(codecSelferC_UTF81234, string("spec"))
					yy2482 := &x.Spec
					yy2482.CodecEncodeSelf(e)
				}
			}
			if yyr2470 || yy2arr2470 {
				if yyq2470[4] {
					yy2484 := &x.Status
					yy2484.CodecEncodeSelf(e)
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq2470[4] {
					r.EncodeString(codecSelferC_UTF81234, string("status"))
					yy2485 := &x.Status
					yy2485.CodecEncodeSelf(e)
				}
			}
			if yysep2470 {
				r.EncodeEnd()
			}
		}
	}
}

func (x *Namespace) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym2486 := z.DecBinary()
	_ = yym2486
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		if r.IsContainerType(codecSelferValueTypeMap1234) {
			yyl2487 := r.ReadMapStart()
			if yyl2487 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromMap(yyl2487, d)
			}
		} else if r.IsContainerType(codecSelferValueTypeArray1234) {
			yyl2487 := r.ReadArrayStart()
			if yyl2487 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromArray(yyl2487, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *Namespace) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys2488Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys2488Slc
	var yyhl2488 bool = l >= 0
	for yyj2488 := 0; ; yyj2488++ {
		if yyhl2488 {
			if yyj2488 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		yys2488Slc = r.DecodeBytes(yys2488Slc, true, true)
		yys2488 := string(yys2488Slc)
		switch yys2488 {
		case "kind":
			if r.TryDecodeAsNil() {
				x.Kind = ""
			} else {
				x.Kind = string(r.DecodeString())
			}
		case "apiVersion":
			if r.TryDecodeAsNil() {
				x.APIVersion = ""
			} else {
				x.APIVersion = string(r.DecodeString())
			}
		case "metadata":
			if r.TryDecodeAsNil() {
				x.ObjectMeta = ObjectMeta{}
			} else {
				yyv2491 := &x.ObjectMeta
				yyv2491.CodecDecodeSelf(d)
			}
		case "spec":
			if r.TryDecodeAsNil() {
				x.Spec = NamespaceSpec{}
			} else {
				yyv2492 := &x.Spec
				yyv2492.CodecDecodeSelf(d)
			}
		case "status":
			if r.TryDecodeAsNil() {
				x.Status = NamespaceStatus{}
			} else {
				yyv2493 := &x.Status
				yyv2493.CodecDecodeSelf(d)
			}
		default:
			z.DecStructFieldNotFound(-1, yys2488)
		} // end switch yys2488
	} // end for yyj2488
	if !yyhl2488 {
		r.ReadEnd()
	}
}

func (x *Namespace) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj2494 int
	var yyb2494 bool
	var yyhl2494 bool = l >= 0
	yyj2494++
	if yyhl2494 {
		yyb2494 = yyj2494 > l
	} else {
		yyb2494 = r.CheckBreak()
	}
	if yyb2494 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.Kind = ""
	} else {
		x.Kind = string(r.DecodeString())
	}
	yyj2494++
	if yyhl2494 {
		yyb2494 = yyj2494 > l
	} else {
		yyb2494 = r.CheckBreak()
	}
	if yyb2494 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.APIVersion = ""
	} else {
		x.APIVersion = string(r.DecodeString())
	}
	yyj2494++
	if yyhl2494 {
		yyb2494 = yyj2494 > l
	} else {
		yyb2494 = r.CheckBreak()
	}
	if yyb2494 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.ObjectMeta = ObjectMeta{}
	} else {
		yyv2497 := &x.ObjectMeta
		yyv2497.CodecDecodeSelf(d)
	}
	yyj2494++
	if yyhl2494 {
		yyb2494 = yyj2494 > l
	} else {
		yyb2494 = r.CheckBreak()
	}
	if yyb2494 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.Spec = NamespaceSpec{}
	} else {
		yyv2498 := &x.Spec
		yyv2498.CodecDecodeSelf(d)
	}
	yyj2494++
	if yyhl2494 {
		yyb2494 = yyj2494 > l
	} else {
		yyb2494 = r.CheckBreak()
	}
	if yyb2494 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.Status = NamespaceStatus{}
	} else {
		yyv2499 := &x.Status
		yyv2499.CodecDecodeSelf(d)
	}
	for {
		yyj2494++
		if yyhl2494 {
			yyb2494 = yyj2494 > l
		} else {
			yyb2494 = r.CheckBreak()
		}
		if yyb2494 {
			break
		}
		z.DecStructFieldNotFound(yyj2494-1, "")
	}
	r.ReadEnd()
}

func (x *NamespaceList) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym2500 := z.EncBinary()
		_ = yym2500
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep2501 := !z.EncBinary()
			yy2arr2501 := z.EncBasicHandle().StructToArray
			var yyq2501 [4]bool
			_, _, _ = yysep2501, yyq2501, yy2arr2501
			const yyr2501 bool = false
			yyq2501[0] = x.Kind != ""
			yyq2501[1] = x.APIVersion != ""
			yyq2501[2] = true
			if yyr2501 || yy2arr2501 {
				r.EncodeArrayStart(4)
			} else {
				var yynn2501 int = 1
				for _, b := range yyq2501 {
					if b {
						yynn2501++
					}
				}
				r.EncodeMapStart(yynn2501)
			}
			if yyr2501 || yy2arr2501 {
				if yyq2501[0] {
					yym2503 := z.EncBinary()
					_ = yym2503
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq2501[0] {
					r.EncodeString(codecSelferC_UTF81234, string("kind"))
					yym2504 := z.EncBinary()
					_ = yym2504
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				}
			}
			if yyr2501 || yy2arr2501 {
				if yyq2501[1] {
					yym2506 := z.EncBinary()
					_ = yym2506
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq2501[1] {
					r.EncodeString(codecSelferC_UTF81234, string("apiVersion"))
					yym2507 := z.EncBinary()
					_ = yym2507
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				}
			}
			if yyr2501 || yy2arr2501 {
				if yyq2501[2] {
					yy2509 := &x.ListMeta
					yym2510 := z.EncBinary()
					_ = yym2510
					if false {
					} else if z.HasExtensions() && z.EncExt(yy2509) {
					} else {
						z.EncFallback(yy2509)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq2501[2] {
					r.EncodeString(codecSelferC_UTF81234, string("metadata"))
					yy2511 := &x.ListMeta
					yym2512 := z.EncBinary()
					_ = yym2512
					if false {
					} else if z.HasExtensions() && z.EncExt(yy2511) {
					} else {
						z.EncFallback(yy2511)
					}
				}
			}
			if yyr2501 || yy2arr2501 {
				if x.Items == nil {
					r.EncodeNil()
				} else {
					yym2514 := z.EncBinary()
					_ = yym2514
					if false {
					} else {
						h.encSliceNamespace(([]Namespace)(x.Items), e)
					}
				}
			} else {
				r.EncodeString(codecSelferC_UTF81234, string("items"))
				if x.Items == nil {
					r.EncodeNil()
				} else {
					yym2515 := z.EncBinary()
					_ = yym2515
					if false {
					} else {
						h.encSliceNamespace(([]Namespace)(x.Items), e)
					}
				}
			}
			if yysep2501 {
				r.EncodeEnd()
			}
		}
	}
}

func (x *NamespaceList) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym2516 := z.DecBinary()
	_ = yym2516
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		if r.IsContainerType(codecSelferValueTypeMap1234) {
			yyl2517 := r.ReadMapStart()
			if yyl2517 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromMap(yyl2517, d)
			}
		} else if r.IsContainerType(codecSelferValueTypeArray1234) {
			yyl2517 := r.ReadArrayStart()
			if yyl2517 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromArray(yyl2517, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *NamespaceList) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys2518Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys2518Slc
	var yyhl2518 bool = l >= 0
	for yyj2518 := 0; ; yyj2518++ {
		if yyhl2518 {
			if yyj2518 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		yys2518Slc = r.DecodeBytes(yys2518Slc, true, true)
		yys2518 := string(yys2518Slc)
		switch yys2518 {
		case "kind":
			if r.TryDecodeAsNil() {
				x.Kind = ""
			} else {
				x.Kind = string(r.DecodeString())
			}
		case "apiVersion":
			if r.TryDecodeAsNil() {
				x.APIVersion = ""
			} else {
				x.APIVersion = string(r.DecodeString())
			}
		case "metadata":
			if r.TryDecodeAsNil() {
				x.ListMeta = pkg2_unversioned.ListMeta{}
			} else {
				yyv2521 := &x.ListMeta
				yym2522 := z.DecBinary()
				_ = yym2522
				if false {
				} else if z.HasExtensions() && z.DecExt(yyv2521) {
				} else {
					z.DecFallback(yyv2521, false)
				}
			}
		case "items":
			if r.TryDecodeAsNil() {
				x.Items = nil
			} else {
				yyv2523 := &x.Items
				yym2524 := z.DecBinary()
				_ = yym2524
				if false {
				} else {
					h.decSliceNamespace((*[]Namespace)(yyv2523), d)
				}
			}
		default:
			z.DecStructFieldNotFound(-1, yys2518)
		} // end switch yys2518
	} // end for yyj2518
	if !yyhl2518 {
		r.ReadEnd()
	}
}

func (x *NamespaceList) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj2525 int
	var yyb2525 bool
	var yyhl2525 bool = l >= 0
	yyj2525++
	if yyhl2525 {
		yyb2525 = yyj2525 > l
	} else {
		yyb2525 = r.CheckBreak()
	}
	if yyb2525 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.Kind = ""
	} else {
		x.Kind = string(r.DecodeString())
	}
	yyj2525++
	if yyhl2525 {
		yyb2525 = yyj2525 > l
	} else {
		yyb2525 = r.CheckBreak()
	}
	if yyb2525 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.APIVersion = ""
	} else {
		x.APIVersion = string(r.DecodeString())
	}
	yyj2525++
	if yyhl2525 {
		yyb2525 = yyj2525 > l
	} else {
		yyb2525 = r.CheckBreak()
	}
	if yyb2525 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.ListMeta = pkg2_unversioned.ListMeta{}
	} else {
		yyv2528 := &x.ListMeta
		yym2529 := z.DecBinary()
		_ = yym2529
		if false {
		} else if z.HasExtensions() && z.DecExt(yyv2528) {
		} else {
			z.DecFallback(yyv2528, false)
		}
	}
	yyj2525++
	if yyhl2525 {
		yyb2525 = yyj2525 > l
	} else {
		yyb2525 = r.CheckBreak()
	}
	if yyb2525 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.Items = nil
	} else {
		yyv2530 := &x.Items
		yym2531 := z.DecBinary()
		_ = yym2531
		if false {
		} else {
			h.decSliceNamespace((*[]Namespace)(yyv2530), d)
		}
	}
	for {
		yyj2525++
		if yyhl2525 {
			yyb2525 = yyj2525 > l
		} else {
			yyb2525 = r.CheckBreak()
		}
		if yyb2525 {
			break
		}
		z.DecStructFieldNotFound(yyj2525-1, "")
	}
	r.ReadEnd()
}

func (x *Binding) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym2532 := z.EncBinary()
		_ = yym2532
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep2533 := !z.EncBinary()
			yy2arr2533 := z.EncBasicHandle().StructToArray
			var yyq2533 [4]bool
			_, _, _ = yysep2533, yyq2533, yy2arr2533
			const yyr2533 bool = false
			yyq2533[0] = x.Kind != ""
			yyq2533[1] = x.APIVersion != ""
			yyq2533[2] = true
			if yyr2533 || yy2arr2533 {
				r.EncodeArrayStart(4)
			} else {
				var yynn2533 int = 1
				for _, b := range yyq2533 {
					if b {
						yynn2533++
					}
				}
				r.EncodeMapStart(yynn2533)
			}
			if yyr2533 || yy2arr2533 {
				if yyq2533[0] {
					yym2535 := z.EncBinary()
					_ = yym2535
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq2533[0] {
					r.EncodeString(codecSelferC_UTF81234, string("kind"))
					yym2536 := z.EncBinary()
					_ = yym2536
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				}
			}
			if yyr2533 || yy2arr2533 {
				if yyq2533[1] {
					yym2538 := z.EncBinary()
					_ = yym2538
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq2533[1] {
					r.EncodeString(codecSelferC_UTF81234, string("apiVersion"))
					yym2539 := z.EncBinary()
					_ = yym2539
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				}
			}
			if yyr2533 || yy2arr2533 {
				if yyq2533[2] {
					yy2541 := &x.ObjectMeta
					yy2541.CodecEncodeSelf(e)
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq2533[2] {
					r.EncodeString(codecSelferC_UTF81234, string("metadata"))
					yy2542 := &x.ObjectMeta
					yy2542.CodecEncodeSelf(e)
				}
			}
			if yyr2533 || yy2arr2533 {
				yy2544 := &x.Target
				yy2544.CodecEncodeSelf(e)
			} else {
				r.EncodeString(codecSelferC_UTF81234, string("target"))
				yy2545 := &x.Target
				yy2545.CodecEncodeSelf(e)
			}
			if yysep2533 {
				r.EncodeEnd()
			}
		}
	}
}

func (x *Binding) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym2546 := z.DecBinary()
	_ = yym2546
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		if r.IsContainerType(codecSelferValueTypeMap1234) {
			yyl2547 := r.ReadMapStart()
			if yyl2547 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromMap(yyl2547, d)
			}
		} else if r.IsContainerType(codecSelferValueTypeArray1234) {
			yyl2547 := r.ReadArrayStart()
			if yyl2547 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromArray(yyl2547, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *Binding) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys2548Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys2548Slc
	var yyhl2548 bool = l >= 0
	for yyj2548 := 0; ; yyj2548++ {
		if yyhl2548 {
			if yyj2548 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		yys2548Slc = r.DecodeBytes(yys2548Slc, true, true)
		yys2548 := string(yys2548Slc)
		switch yys2548 {
		case "kind":
			if r.TryDecodeAsNil() {
				x.Kind = ""
			} else {
				x.Kind = string(r.DecodeString())
			}
		case "apiVersion":
			if r.TryDecodeAsNil() {
				x.APIVersion = ""
			} else {
				x.APIVersion = string(r.DecodeString())
			}
		case "metadata":
			if r.TryDecodeAsNil() {
				x.ObjectMeta = ObjectMeta{}
			} else {
				yyv2551 := &x.ObjectMeta
				yyv2551.CodecDecodeSelf(d)
			}
		case "target":
			if r.TryDecodeAsNil() {
				x.Target = ObjectReference{}
			} else {
				yyv2552 := &x.Target
				yyv2552.CodecDecodeSelf(d)
			}
		default:
			z.DecStructFieldNotFound(-1, yys2548)
		} // end switch yys2548
	} // end for yyj2548
	if !yyhl2548 {
		r.ReadEnd()
	}
}

func (x *Binding) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj2553 int
	var yyb2553 bool
	var yyhl2553 bool = l >= 0
	yyj2553++
	if yyhl2553 {
		yyb2553 = yyj2553 > l
	} else {
		yyb2553 = r.CheckBreak()
	}
	if yyb2553 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.Kind = ""
	} else {
		x.Kind = string(r.DecodeString())
	}
	yyj2553++
	if yyhl2553 {
		yyb2553 = yyj2553 > l
	} else {
		yyb2553 = r.CheckBreak()
	}
	if yyb2553 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.APIVersion = ""
	} else {
		x.APIVersion = string(r.DecodeString())
	}
	yyj2553++
	if yyhl2553 {
		yyb2553 = yyj2553 > l
	} else {
		yyb2553 = r.CheckBreak()
	}
	if yyb2553 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.ObjectMeta = ObjectMeta{}
	} else {
		yyv2556 := &x.ObjectMeta
		yyv2556.CodecDecodeSelf(d)
	}
	yyj2553++
	if yyhl2553 {
		yyb2553 = yyj2553 > l
	} else {
		yyb2553 = r.CheckBreak()
	}
	if yyb2553 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.Target = ObjectReference{}
	} else {
		yyv2557 := &x.Target
		yyv2557.CodecDecodeSelf(d)
	}
	for {
		yyj2553++
		if yyhl2553 {
			yyb2553 = yyj2553 > l
		} else {
			yyb2553 = r.CheckBreak()
		}
		if yyb2553 {
			break
		}
		z.DecStructFieldNotFound(yyj2553-1, "")
	}
	r.ReadEnd()
}

func (x *DeleteOptions) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym2558 := z.EncBinary()
		_ = yym2558
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep2559 := !z.EncBinary()
			yy2arr2559 := z.EncBasicHandle().StructToArray
			var yyq2559 [3]bool
			_, _, _ = yysep2559, yyq2559, yy2arr2559
			const yyr2559 bool = false
			yyq2559[0] = x.Kind != ""
			yyq2559[1] = x.APIVersion != ""
			if yyr2559 || yy2arr2559 {
				r.EncodeArrayStart(3)
			} else {
				var yynn2559 int = 1
				for _, b := range yyq2559 {
					if b {
						yynn2559++
					}
				}
				r.EncodeMapStart(yynn2559)
			}
			if yyr2559 || yy2arr2559 {
				if yyq2559[0] {
					yym2561 := z.EncBinary()
					_ = yym2561
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq2559[0] {
					r.EncodeString(codecSelferC_UTF81234, string("kind"))
					yym2562 := z.EncBinary()
					_ = yym2562
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				}
			}
			if yyr2559 || yy2arr2559 {
				if yyq2559[1] {
					yym2564 := z.EncBinary()
					_ = yym2564
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq2559[1] {
					r.EncodeString(codecSelferC_UTF81234, string("apiVersion"))
					yym2565 := z.EncBinary()
					_ = yym2565
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				}
			}
			if yyr2559 || yy2arr2559 {
				if x.GracePeriodSeconds == nil {
					r.EncodeNil()
				} else {
					yy2567 := *x.GracePeriodSeconds
					yym2568 := z.EncBinary()
					_ = yym2568
					if false {
					} else {
						r.EncodeInt(int64(yy2567))
					}
				}
			} else {
				r.EncodeString(codecSelferC_UTF81234, string("gracePeriodSeconds"))
				if x.GracePeriodSeconds == nil {
					r.EncodeNil()
				} else {
					yy2569 := *x.GracePeriodSeconds
					yym2570 := z.EncBinary()
					_ = yym2570
					if false {
					} else {
						r.EncodeInt(int64(yy2569))
					}
				}
			}
			if yysep2559 {
				r.EncodeEnd()
			}
		}
	}
}

func (x *DeleteOptions) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym2571 := z.DecBinary()
	_ = yym2571
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		if r.IsContainerType(codecSelferValueTypeMap1234) {
			yyl2572 := r.ReadMapStart()
			if yyl2572 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromMap(yyl2572, d)
			}
		} else if r.IsContainerType(codecSelferValueTypeArray1234) {
			yyl2572 := r.ReadArrayStart()
			if yyl2572 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromArray(yyl2572, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *DeleteOptions) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys2573Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys2573Slc
	var yyhl2573 bool = l >= 0
	for yyj2573 := 0; ; yyj2573++ {
		if yyhl2573 {
			if yyj2573 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		yys2573Slc = r.DecodeBytes(yys2573Slc, true, true)
		yys2573 := string(yys2573Slc)
		switch yys2573 {
		case "kind":
			if r.TryDecodeAsNil() {
				x.Kind = ""
			} else {
				x.Kind = string(r.DecodeString())
			}
		case "apiVersion":
			if r.TryDecodeAsNil() {
				x.APIVersion = ""
			} else {
				x.APIVersion = string(r.DecodeString())
			}
		case "gracePeriodSeconds":
			if r.TryDecodeAsNil() {
				if x.GracePeriodSeconds != nil {
					x.GracePeriodSeconds = nil
				}
			} else {
				if x.GracePeriodSeconds == nil {
					x.GracePeriodSeconds = new(int64)
				}
				yym2577 := z.DecBinary()
				_ = yym2577
				if false {
				} else {
					*((*int64)(x.GracePeriodSeconds)) = int64(r.DecodeInt(64))
				}
			}
		default:
			z.DecStructFieldNotFound(-1, yys2573)
		} // end switch yys2573
	} // end for yyj2573
	if !yyhl2573 {
		r.ReadEnd()
	}
}

func (x *DeleteOptions) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj2578 int
	var yyb2578 bool
	var yyhl2578 bool = l >= 0
	yyj2578++
	if yyhl2578 {
		yyb2578 = yyj2578 > l
	} else {
		yyb2578 = r.CheckBreak()
	}
	if yyb2578 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.Kind = ""
	} else {
		x.Kind = string(r.DecodeString())
	}
	yyj2578++
	if yyhl2578 {
		yyb2578 = yyj2578 > l
	} else {
		yyb2578 = r.CheckBreak()
	}
	if yyb2578 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.APIVersion = ""
	} else {
		x.APIVersion = string(r.DecodeString())
	}
	yyj2578++
	if yyhl2578 {
		yyb2578 = yyj2578 > l
	} else {
		yyb2578 = r.CheckBreak()
	}
	if yyb2578 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		if x.GracePeriodSeconds != nil {
			x.GracePeriodSeconds = nil
		}
	} else {
		if x.GracePeriodSeconds == nil {
			x.GracePeriodSeconds = new(int64)
		}
		yym2582 := z.DecBinary()
		_ = yym2582
		if false {
		} else {
			*((*int64)(x.GracePeriodSeconds)) = int64(r.DecodeInt(64))
		}
	}
	for {
		yyj2578++
		if yyhl2578 {
			yyb2578 = yyj2578 > l
		} else {
			yyb2578 = r.CheckBreak()
		}
		if yyb2578 {
			break
		}
		z.DecStructFieldNotFound(yyj2578-1, "")
	}
	r.ReadEnd()
}

func (x *ListOptions) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym2583 := z.EncBinary()
		_ = yym2583
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep2584 := !z.EncBinary()
			yy2arr2584 := z.EncBasicHandle().StructToArray
			var yyq2584 [7]bool
			_, _, _ = yysep2584, yyq2584, yy2arr2584
			const yyr2584 bool = false
			yyq2584[0] = x.Kind != ""
			yyq2584[1] = x.APIVersion != ""
			yyq2584[2] = x.LabelSelector != ""
			yyq2584[3] = x.FieldSelector != ""
			yyq2584[4] = x.Watch != false
			yyq2584[5] = x.ResourceVersion != ""
			yyq2584[6] = x.TimeoutSeconds != nil
			if yyr2584 || yy2arr2584 {
				r.EncodeArrayStart(7)
			} else {
				var yynn2584 int = 0
				for _, b := range yyq2584 {
					if b {
						yynn2584++
					}
				}
				r.EncodeMapStart(yynn2584)
			}
			if yyr2584 || yy2arr2584 {
				if yyq2584[0] {
					yym2586 := z.EncBinary()
					_ = yym2586
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq2584[0] {
					r.EncodeString(codecSelferC_UTF81234, string("kind"))
					yym2587 := z.EncBinary()
					_ = yym2587
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				}
			}
			if yyr2584 || yy2arr2584 {
				if yyq2584[1] {
					yym2589 := z.EncBinary()
					_ = yym2589
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq2584[1] {
					r.EncodeString(codecSelferC_UTF81234, string("apiVersion"))
					yym2590 := z.EncBinary()
					_ = yym2590
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				}
			}
			if yyr2584 || yy2arr2584 {
				if yyq2584[2] {
					yym2592 := z.EncBinary()
					_ = yym2592
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.LabelSelector))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq2584[2] {
					r.EncodeString(codecSelferC_UTF81234, string("labelSelector"))
					yym2593 := z.EncBinary()
					_ = yym2593
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.LabelSelector))
					}
				}
			}
			if yyr2584 || yy2arr2584 {
				if yyq2584[3] {
					yym2595 := z.EncBinary()
					_ = yym2595
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.FieldSelector))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq2584[3] {
					r.EncodeString(codecSelferC_UTF81234, string("fieldSelector"))
					yym2596 := z.EncBinary()
					_ = yym2596
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.FieldSelector))
					}
				}
			}
			if yyr2584 || yy2arr2584 {
				if yyq2584[4] {
					yym2598 := z.EncBinary()
					_ = yym2598
					if false {
					} else {
						r.EncodeBool(bool(x.Watch))
					}
				} else {
					r.EncodeBool(false)
				}
			} else {
				if yyq2584[4] {
					r.EncodeString(codecSelferC_UTF81234, string("watch"))
					yym2599 := z.EncBinary()
					_ = yym2599
					if false {
					} else {
						r.EncodeBool(bool(x.Watch))
					}
				}
			}
			if yyr2584 || yy2arr2584 {
				if yyq2584[5] {
					yym2601 := z.EncBinary()
					_ = yym2601
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.ResourceVersion))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq2584[5] {
					r.EncodeString(codecSelferC_UTF81234, string("resourceVersion"))
					yym2602 := z.EncBinary()
					_ = yym2602
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.ResourceVersion))
					}
				}
			}
			if yyr2584 || yy2arr2584 {
				if yyq2584[6] {
					if x.TimeoutSeconds == nil {
						r.EncodeNil()
					} else {
						yy2604 := *x.TimeoutSeconds
						yym2605 := z.EncBinary()
						_ = yym2605
						if false {
						} else {
							r.EncodeInt(int64(yy2604))
						}
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq2584[6] {
					r.EncodeString(codecSelferC_UTF81234, string("timeoutSeconds"))
					if x.TimeoutSeconds == nil {
						r.EncodeNil()
					} else {
						yy2606 := *x.TimeoutSeconds
						yym2607 := z.EncBinary()
						_ = yym2607
						if false {
						} else {
							r.EncodeInt(int64(yy2606))
						}
					}
				}
			}
			if yysep2584 {
				r.EncodeEnd()
			}
		}
	}
}

func (x *ListOptions) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym2608 := z.DecBinary()
	_ = yym2608
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		if r.IsContainerType(codecSelferValueTypeMap1234) {
			yyl2609 := r.ReadMapStart()
			if yyl2609 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromMap(yyl2609, d)
			}
		} else if r.IsContainerType(codecSelferValueTypeArray1234) {
			yyl2609 := r.ReadArrayStart()
			if yyl2609 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromArray(yyl2609, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *ListOptions) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys2610Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys2610Slc
	var yyhl2610 bool = l >= 0
	for yyj2610 := 0; ; yyj2610++ {
		if yyhl2610 {
			if yyj2610 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		yys2610Slc = r.DecodeBytes(yys2610Slc, true, true)
		yys2610 := string(yys2610Slc)
		switch yys2610 {
		case "kind":
			if r.TryDecodeAsNil() {
				x.Kind = ""
			} else {
				x.Kind = string(r.DecodeString())
			}
		case "apiVersion":
			if r.TryDecodeAsNil() {
				x.APIVersion = ""
			} else {
				x.APIVersion = string(r.DecodeString())
			}
		case "labelSelector":
			if r.TryDecodeAsNil() {
				x.LabelSelector = ""
			} else {
				x.LabelSelector = string(r.DecodeString())
			}
		case "fieldSelector":
			if r.TryDecodeAsNil() {
				x.FieldSelector = ""
			} else {
				x.FieldSelector = string(r.DecodeString())
			}
		case "watch":
			if r.TryDecodeAsNil() {
				x.Watch = false
			} else {
				x.Watch = bool(r.DecodeBool())
			}
		case "resourceVersion":
			if r.TryDecodeAsNil() {
				x.ResourceVersion = ""
			} else {
				x.ResourceVersion = string(r.DecodeString())
			}
		case "timeoutSeconds":
			if r.TryDecodeAsNil() {
				if x.TimeoutSeconds != nil {
					x.TimeoutSeconds = nil
				}
			} else {
				if x.TimeoutSeconds == nil {
					x.TimeoutSeconds = new(int64)
				}
				yym2618 := z.DecBinary()
				_ = yym2618
				if false {
				} else {
					*((*int64)(x.TimeoutSeconds)) = int64(r.DecodeInt(64))
				}
			}
		default:
			z.DecStructFieldNotFound(-1, yys2610)
		} // end switch yys2610
	} // end for yyj2610
	if !yyhl2610 {
		r.ReadEnd()
	}
}

func (x *ListOptions) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj2619 int
	var yyb2619 bool
	var yyhl2619 bool = l >= 0
	yyj2619++
	if yyhl2619 {
		yyb2619 = yyj2619 > l
	} else {
		yyb2619 = r.CheckBreak()
	}
	if yyb2619 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.Kind = ""
	} else {
		x.Kind = string(r.DecodeString())
	}
	yyj2619++
	if yyhl2619 {
		yyb2619 = yyj2619 > l
	} else {
		yyb2619 = r.CheckBreak()
	}
	if yyb2619 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.APIVersion = ""
	} else {
		x.APIVersion = string(r.DecodeString())
	}
	yyj2619++
	if yyhl2619 {
		yyb2619 = yyj2619 > l
	} else {
		yyb2619 = r.CheckBreak()
	}
	if yyb2619 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.LabelSelector = ""
	} else {
		x.LabelSelector = string(r.DecodeString())
	}
	yyj2619++
	if yyhl2619 {
		yyb2619 = yyj2619 > l
	} else {
		yyb2619 = r.CheckBreak()
	}
	if yyb2619 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.FieldSelector = ""
	} else {
		x.FieldSelector = string(r.DecodeString())
	}
	yyj2619++
	if yyhl2619 {
		yyb2619 = yyj2619 > l
	} else {
		yyb2619 = r.CheckBreak()
	}
	if yyb2619 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.Watch = false
	} else {
		x.Watch = bool(r.DecodeBool())
	}
	yyj2619++
	if yyhl2619 {
		yyb2619 = yyj2619 > l
	} else {
		yyb2619 = r.CheckBreak()
	}
	if yyb2619 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.ResourceVersion = ""
	} else {
		x.ResourceVersion = string(r.DecodeString())
	}
	yyj2619++
	if yyhl2619 {
		yyb2619 = yyj2619 > l
	} else {
		yyb2619 = r.CheckBreak()
	}
	if yyb2619 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		if x.TimeoutSeconds != nil {
			x.TimeoutSeconds = nil
		}
	} else {
		if x.TimeoutSeconds == nil {
			x.TimeoutSeconds = new(int64)
		}
		yym2627 := z.DecBinary()
		_ = yym2627
		if false {
		} else {
			*((*int64)(x.TimeoutSeconds)) = int64(r.DecodeInt(64))
		}
	}
	for {
		yyj2619++
		if yyhl2619 {
			yyb2619 = yyj2619 > l
		} else {
			yyb2619 = r.CheckBreak()
		}
		if yyb2619 {
			break
		}
		z.DecStructFieldNotFound(yyj2619-1, "")
	}
	r.ReadEnd()
}

func (x *PodLogOptions) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym2628 := z.EncBinary()
		_ = yym2628
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep2629 := !z.EncBinary()
			yy2arr2629 := z.EncBasicHandle().StructToArray
			var yyq2629 [10]bool
			_, _, _ = yysep2629, yyq2629, yy2arr2629
			const yyr2629 bool = false
			yyq2629[0] = x.Kind != ""
			yyq2629[1] = x.APIVersion != ""
			yyq2629[2] = x.Container != ""
			yyq2629[3] = x.Follow != false
			yyq2629[4] = x.Previous != false
			yyq2629[5] = x.SinceSeconds != nil
			yyq2629[6] = x.SinceTime != nil
			yyq2629[7] = x.Timestamps != false
			yyq2629[8] = x.TailLines != nil
			yyq2629[9] = x.LimitBytes != nil
			if yyr2629 || yy2arr2629 {
				r.EncodeArrayStart(10)
			} else {
				var yynn2629 int = 0
				for _, b := range yyq2629 {
					if b {
						yynn2629++
					}
				}
				r.EncodeMapStart(yynn2629)
			}
			if yyr2629 || yy2arr2629 {
				if yyq2629[0] {
					yym2631 := z.EncBinary()
					_ = yym2631
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq2629[0] {
					r.EncodeString(codecSelferC_UTF81234, string("kind"))
					yym2632 := z.EncBinary()
					_ = yym2632
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				}
			}
			if yyr2629 || yy2arr2629 {
				if yyq2629[1] {
					yym2634 := z.EncBinary()
					_ = yym2634
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq2629[1] {
					r.EncodeString(codecSelferC_UTF81234, string("apiVersion"))
					yym2635 := z.EncBinary()
					_ = yym2635
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				}
			}
			if yyr2629 || yy2arr2629 {
				if yyq2629[2] {
					yym2637 := z.EncBinary()
					_ = yym2637
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Container))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq2629[2] {
					r.EncodeString(codecSelferC_UTF81234, string("container"))
					yym2638 := z.EncBinary()
					_ = yym2638
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Container))
					}
				}
			}
			if yyr2629 || yy2arr2629 {
				if yyq2629[3] {
					yym2640 := z.EncBinary()
					_ = yym2640
					if false {
					} else {
						r.EncodeBool(bool(x.Follow))
					}
				} else {
					r.EncodeBool(false)
				}
			} else {
				if yyq2629[3] {
					r.EncodeString(codecSelferC_UTF81234, string("follow"))
					yym2641 := z.EncBinary()
					_ = yym2641
					if false {
					} else {
						r.EncodeBool(bool(x.Follow))
					}
				}
			}
			if yyr2629 || yy2arr2629 {
				if yyq2629[4] {
					yym2643 := z.EncBinary()
					_ = yym2643
					if false {
					} else {
						r.EncodeBool(bool(x.Previous))
					}
				} else {
					r.EncodeBool(false)
				}
			} else {
				if yyq2629[4] {
					r.EncodeString(codecSelferC_UTF81234, string("previous"))
					yym2644 := z.EncBinary()
					_ = yym2644
					if false {
					} else {
						r.EncodeBool(bool(x.Previous))
					}
				}
			}
			if yyr2629 || yy2arr2629 {
				if yyq2629[5] {
					if x.SinceSeconds == nil {
						r.EncodeNil()
					} else {
						yy2646 := *x.SinceSeconds
						yym2647 := z.EncBinary()
						_ = yym2647
						if false {
						} else {
							r.EncodeInt(int64(yy2646))
						}
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq2629[5] {
					r.EncodeString(codecSelferC_UTF81234, string("sinceSeconds"))
					if x.SinceSeconds == nil {
						r.EncodeNil()
					} else {
						yy2648 := *x.SinceSeconds
						yym2649 := z.EncBinary()
						_ = yym2649
						if false {
						} else {
							r.EncodeInt(int64(yy2648))
						}
					}
				}
			}
			if yyr2629 || yy2arr2629 {
				if yyq2629[6] {
					if x.SinceTime == nil {
						r.EncodeNil()
					} else {
						yym2651 := z.EncBinary()
						_ = yym2651
						if false {
						} else if z.HasExtensions() && z.EncExt(x.SinceTime) {
						} else if yym2651 {
							z.EncBinaryMarshal(x.SinceTime)
						} else if !yym2651 && z.IsJSONHandle() {
							z.EncJSONMarshal(x.SinceTime)
						} else {
							z.EncFallback(x.SinceTime)
						}
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq2629[6] {
					r.EncodeString(codecSelferC_UTF81234, string("sinceTime"))
					if x.SinceTime == nil {
						r.EncodeNil()
					} else {
						yym2652 := z.EncBinary()
						_ = yym2652
						if false {
						} else if z.HasExtensions() && z.EncExt(x.SinceTime) {
						} else if yym2652 {
							z.EncBinaryMarshal(x.SinceTime)
						} else if !yym2652 && z.IsJSONHandle() {
							z.EncJSONMarshal(x.SinceTime)
						} else {
							z.EncFallback(x.SinceTime)
						}
					}
				}
			}
			if yyr2629 || yy2arr2629 {
				if yyq2629[7] {
					yym2654 := z.EncBinary()
					_ = yym2654
					if false {
					} else {
						r.EncodeBool(bool(x.Timestamps))
					}
				} else {
					r.EncodeBool(false)
				}
			} else {
				if yyq2629[7] {
					r.EncodeString(codecSelferC_UTF81234, string("timestamps"))
					yym2655 := z.EncBinary()
					_ = yym2655
					if false {
					} else {
						r.EncodeBool(bool(x.Timestamps))
					}
				}
			}
			if yyr2629 || yy2arr2629 {
				if yyq2629[8] {
					if x.TailLines == nil {
						r.EncodeNil()
					} else {
						yy2657 := *x.TailLines
						yym2658 := z.EncBinary()
						_ = yym2658
						if false {
						} else {
							r.EncodeInt(int64(yy2657))
						}
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq2629[8] {
					r.EncodeString(codecSelferC_UTF81234, string("tailLines"))
					if x.TailLines == nil {
						r.EncodeNil()
					} else {
						yy2659 := *x.TailLines
						yym2660 := z.EncBinary()
						_ = yym2660
						if false {
						} else {
							r.EncodeInt(int64(yy2659))
						}
					}
				}
			}
			if yyr2629 || yy2arr2629 {
				if yyq2629[9] {
					if x.LimitBytes == nil {
						r.EncodeNil()
					} else {
						yy2662 := *x.LimitBytes
						yym2663 := z.EncBinary()
						_ = yym2663
						if false {
						} else {
							r.EncodeInt(int64(yy2662))
						}
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq2629[9] {
					r.EncodeString(codecSelferC_UTF81234, string("limitBytes"))
					if x.LimitBytes == nil {
						r.EncodeNil()
					} else {
						yy2664 := *x.LimitBytes
						yym2665 := z.EncBinary()
						_ = yym2665
						if false {
						} else {
							r.EncodeInt(int64(yy2664))
						}
					}
				}
			}
			if yysep2629 {
				r.EncodeEnd()
			}
		}
	}
}

func (x *PodLogOptions) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym2666 := z.DecBinary()
	_ = yym2666
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		if r.IsContainerType(codecSelferValueTypeMap1234) {
			yyl2667 := r.ReadMapStart()
			if yyl2667 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromMap(yyl2667, d)
			}
		} else if r.IsContainerType(codecSelferValueTypeArray1234) {
			yyl2667 := r.ReadArrayStart()
			if yyl2667 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromArray(yyl2667, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *PodLogOptions) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys2668Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys2668Slc
	var yyhl2668 bool = l >= 0
	for yyj2668 := 0; ; yyj2668++ {
		if yyhl2668 {
			if yyj2668 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		yys2668Slc = r.DecodeBytes(yys2668Slc, true, true)
		yys2668 := string(yys2668Slc)
		switch yys2668 {
		case "kind":
			if r.TryDecodeAsNil() {
				x.Kind = ""
			} else {
				x.Kind = string(r.DecodeString())
			}
		case "apiVersion":
			if r.TryDecodeAsNil() {
				x.APIVersion = ""
			} else {
				x.APIVersion = string(r.DecodeString())
			}
		case "container":
			if r.TryDecodeAsNil() {
				x.Container = ""
			} else {
				x.Container = string(r.DecodeString())
			}
		case "follow":
			if r.TryDecodeAsNil() {
				x.Follow = false
			} else {
				x.Follow = bool(r.DecodeBool())
			}
		case "previous":
			if r.TryDecodeAsNil() {
				x.Previous = false
			} else {
				x.Previous = bool(r.DecodeBool())
			}
		case "sinceSeconds":
			if r.TryDecodeAsNil() {
				if x.SinceSeconds != nil {
					x.SinceSeconds = nil
				}
			} else {
				if x.SinceSeconds == nil {
					x.SinceSeconds = new(int64)
				}
				yym2675 := z.DecBinary()
				_ = yym2675
				if false {
				} else {
					*((*int64)(x.SinceSeconds)) = int64(r.DecodeInt(64))
				}
			}
		case "sinceTime":
			if r.TryDecodeAsNil() {
				if x.SinceTime != nil {
					x.SinceTime = nil
				}
			} else {
				if x.SinceTime == nil {
					x.SinceTime = new(pkg2_unversioned.Time)
				}
				yym2677 := z.DecBinary()
				_ = yym2677
				if false {
				} else if z.HasExtensions() && z.DecExt(x.SinceTime) {
				} else if yym2677 {
					z.DecBinaryUnmarshal(x.SinceTime)
				} else if !yym2677 && z.IsJSONHandle() {
					z.DecJSONUnmarshal(x.SinceTime)
				} else {
					z.DecFallback(x.SinceTime, false)
				}
			}
		case "timestamps":
			if r.TryDecodeAsNil() {
				x.Timestamps = false
			} else {
				x.Timestamps = bool(r.DecodeBool())
			}
		case "tailLines":
			if r.TryDecodeAsNil() {
				if x.TailLines != nil {
					x.TailLines = nil
				}
			} else {
				if x.TailLines == nil {
					x.TailLines = new(int64)
				}
				yym2680 := z.DecBinary()
				_ = yym2680
				if false {
				} else {
					*((*int64)(x.TailLines)) = int64(r.DecodeInt(64))
				}
			}
		case "limitBytes":
			if r.TryDecodeAsNil() {
				if x.LimitBytes != nil {
					x.LimitBytes = nil
				}
			} else {
				if x.LimitBytes == nil {
					x.LimitBytes = new(int64)
				}
				yym2682 := z.DecBinary()
				_ = yym2682
				if false {
				} else {
					*((*int64)(x.LimitBytes)) = int64(r.DecodeInt(64))
				}
			}
		default:
			z.DecStructFieldNotFound(-1, yys2668)
		} // end switch yys2668
	} // end for yyj2668
	if !yyhl2668 {
		r.ReadEnd()
	}
}

func (x *PodLogOptions) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj2683 int
	var yyb2683 bool
	var yyhl2683 bool = l >= 0
	yyj2683++
	if yyhl2683 {
		yyb2683 = yyj2683 > l
	} else {
		yyb2683 = r.CheckBreak()
	}
	if yyb2683 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.Kind = ""
	} else {
		x.Kind = string(r.DecodeString())
	}
	yyj2683++
	if yyhl2683 {
		yyb2683 = yyj2683 > l
	} else {
		yyb2683 = r.CheckBreak()
	}
	if yyb2683 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.APIVersion = ""
	} else {
		x.APIVersion = string(r.DecodeString())
	}
	yyj2683++
	if yyhl2683 {
		yyb2683 = yyj2683 > l
	} else {
		yyb2683 = r.CheckBreak()
	}
	if yyb2683 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.Container = ""
	} else {
		x.Container = string(r.DecodeString())
	}
	yyj2683++
	if yyhl2683 {
		yyb2683 = yyj2683 > l
	} else {
		yyb2683 = r.CheckBreak()
	}
	if yyb2683 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.Follow = false
	} else {
		x.Follow = bool(r.DecodeBool())
	}
	yyj2683++
	if yyhl2683 {
		yyb2683 = yyj2683 > l
	} else {
		yyb2683 = r.CheckBreak()
	}
	if yyb2683 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.Previous = false
	} else {
		x.Previous = bool(r.DecodeBool())
	}
	yyj2683++
	if yyhl2683 {
		yyb2683 = yyj2683 > l
	} else {
		yyb2683 = r.CheckBreak()
	}
	if yyb2683 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		if x.SinceSeconds != nil {
			x.SinceSeconds = nil
		}
	} else {
		if x.SinceSeconds == nil {
			x.SinceSeconds = new(int64)
		}
		yym2690 := z.DecBinary()
		_ = yym2690
		if false {
		} else {
			*((*int64)(x.SinceSeconds)) = int64(r.DecodeInt(64))
		}
	}
	yyj2683++
	if yyhl2683 {
		yyb2683 = yyj2683 > l
	} else {
		yyb2683 = r.CheckBreak()
	}
	if yyb2683 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		if x.SinceTime != nil {
			x.SinceTime = nil
		}
	} else {
		if x.SinceTime == nil {
			x.SinceTime = new(pkg2_unversioned.Time)
		}
		yym2692 := z.DecBinary()
		_ = yym2692
		if false {
		} else if z.HasExtensions() && z.DecExt(x.SinceTime) {
		} else if yym2692 {
			z.DecBinaryUnmarshal(x.SinceTime)
		} else if !yym2692 && z.IsJSONHandle() {
			z.DecJSONUnmarshal(x.SinceTime)
		} else {
			z.DecFallback(x.SinceTime, false)
		}
	}
	yyj2683++
	if yyhl2683 {
		yyb2683 = yyj2683 > l
	} else {
		yyb2683 = r.CheckBreak()
	}
	if yyb2683 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.Timestamps = false
	} else {
		x.Timestamps = bool(r.DecodeBool())
	}
	yyj2683++
	if yyhl2683 {
		yyb2683 = yyj2683 > l
	} else {
		yyb2683 = r.CheckBreak()
	}
	if yyb2683 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		if x.TailLines != nil {
			x.TailLines = nil
		}
	} else {
		if x.TailLines == nil {
			x.TailLines = new(int64)
		}
		yym2695 := z.DecBinary()
		_ = yym2695
		if false {
		} else {
			*((*int64)(x.TailLines)) = int64(r.DecodeInt(64))
		}
	}
	yyj2683++
	if yyhl2683 {
		yyb2683 = yyj2683 > l
	} else {
		yyb2683 = r.CheckBreak()
	}
	if yyb2683 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		if x.LimitBytes != nil {
			x.LimitBytes = nil
		}
	} else {
		if x.LimitBytes == nil {
			x.LimitBytes = new(int64)
		}
		yym2697 := z.DecBinary()
		_ = yym2697
		if false {
		} else {
			*((*int64)(x.LimitBytes)) = int64(r.DecodeInt(64))
		}
	}
	for {
		yyj2683++
		if yyhl2683 {
			yyb2683 = yyj2683 > l
		} else {
			yyb2683 = r.CheckBreak()
		}
		if yyb2683 {
			break
		}
		z.DecStructFieldNotFound(yyj2683-1, "")
	}
	r.ReadEnd()
}

func (x *PodAttachOptions) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym2698 := z.EncBinary()
		_ = yym2698
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep2699 := !z.EncBinary()
			yy2arr2699 := z.EncBasicHandle().StructToArray
			var yyq2699 [7]bool
			_, _, _ = yysep2699, yyq2699, yy2arr2699
			const yyr2699 bool = false
			yyq2699[0] = x.Kind != ""
			yyq2699[1] = x.APIVersion != ""
			yyq2699[2] = x.Stdin != false
			yyq2699[3] = x.Stdout != false
			yyq2699[4] = x.Stderr != false
			yyq2699[5] = x.TTY != false
			yyq2699[6] = x.Container != ""
			if yyr2699 || yy2arr2699 {
				r.EncodeArrayStart(7)
			} else {
				var yynn2699 int = 0
				for _, b := range yyq2699 {
					if b {
						yynn2699++
					}
				}
				r.EncodeMapStart(yynn2699)
			}
			if yyr2699 || yy2arr2699 {
				if yyq2699[0] {
					yym2701 := z.EncBinary()
					_ = yym2701
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq2699[0] {
					r.EncodeString(codecSelferC_UTF81234, string("kind"))
					yym2702 := z.EncBinary()
					_ = yym2702
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				}
			}
			if yyr2699 || yy2arr2699 {
				if yyq2699[1] {
					yym2704 := z.EncBinary()
					_ = yym2704
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq2699[1] {
					r.EncodeString(codecSelferC_UTF81234, string("apiVersion"))
					yym2705 := z.EncBinary()
					_ = yym2705
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				}
			}
			if yyr2699 || yy2arr2699 {
				if yyq2699[2] {
					yym2707 := z.EncBinary()
					_ = yym2707
					if false {
					} else {
						r.EncodeBool(bool(x.Stdin))
					}
				} else {
					r.EncodeBool(false)
				}
			} else {
				if yyq2699[2] {
					r.EncodeString(codecSelferC_UTF81234, string("stdin"))
					yym2708 := z.EncBinary()
					_ = yym2708
					if false {
					} else {
						r.EncodeBool(bool(x.Stdin))
					}
				}
			}
			if yyr2699 || yy2arr2699 {
				if yyq2699[3] {
					yym2710 := z.EncBinary()
					_ = yym2710
					if false {
					} else {
						r.EncodeBool(bool(x.Stdout))
					}
				} else {
					r.EncodeBool(false)
				}
			} else {
				if yyq2699[3] {
					r.EncodeString(codecSelferC_UTF81234, string("stdout"))
					yym2711 := z.EncBinary()
					_ = yym2711
					if false {
					} else {
						r.EncodeBool(bool(x.Stdout))
					}
				}
			}
			if yyr2699 || yy2arr2699 {
				if yyq2699[4] {
					yym2713 := z.EncBinary()
					_ = yym2713
					if false {
					} else {
						r.EncodeBool(bool(x.Stderr))
					}
				} else {
					r.EncodeBool(false)
				}
			} else {
				if yyq2699[4] {
					r.EncodeString(codecSelferC_UTF81234, string("stderr"))
					yym2714 := z.EncBinary()
					_ = yym2714
					if false {
					} else {
						r.EncodeBool(bool(x.Stderr))
					}
				}
			}
			if yyr2699 || yy2arr2699 {
				if yyq2699[5] {
					yym2716 := z.EncBinary()
					_ = yym2716
					if false {
					} else {
						r.EncodeBool(bool(x.TTY))
					}
				} else {
					r.EncodeBool(false)
				}
			} else {
				if yyq2699[5] {
					r.EncodeString(codecSelferC_UTF81234, string("tty"))
					yym2717 := z.EncBinary()
					_ = yym2717
					if false {
					} else {
						r.EncodeBool(bool(x.TTY))
					}
				}
			}
			if yyr2699 || yy2arr2699 {
				if yyq2699[6] {
					yym2719 := z.EncBinary()
					_ = yym2719
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Container))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq2699[6] {
					r.EncodeString(codecSelferC_UTF81234, string("container"))
					yym2720 := z.EncBinary()
					_ = yym2720
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Container))
					}
				}
			}
			if yysep2699 {
				r.EncodeEnd()
			}
		}
	}
}

func (x *PodAttachOptions) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym2721 := z.DecBinary()
	_ = yym2721
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		if r.IsContainerType(codecSelferValueTypeMap1234) {
			yyl2722 := r.ReadMapStart()
			if yyl2722 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromMap(yyl2722, d)
			}
		} else if r.IsContainerType(codecSelferValueTypeArray1234) {
			yyl2722 := r.ReadArrayStart()
			if yyl2722 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromArray(yyl2722, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *PodAttachOptions) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys2723Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys2723Slc
	var yyhl2723 bool = l >= 0
	for yyj2723 := 0; ; yyj2723++ {
		if yyhl2723 {
			if yyj2723 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		yys2723Slc = r.DecodeBytes(yys2723Slc, true, true)
		yys2723 := string(yys2723Slc)
		switch yys2723 {
		case "kind":
			if r.TryDecodeAsNil() {
				x.Kind = ""
			} else {
				x.Kind = string(r.DecodeString())
			}
		case "apiVersion":
			if r.TryDecodeAsNil() {
				x.APIVersion = ""
			} else {
				x.APIVersion = string(r.DecodeString())
			}
		case "stdin":
			if r.TryDecodeAsNil() {
				x.Stdin = false
			} else {
				x.Stdin = bool(r.DecodeBool())
			}
		case "stdout":
			if r.TryDecodeAsNil() {
				x.Stdout = false
			} else {
				x.Stdout = bool(r.DecodeBool())
			}
		case "stderr":
			if r.TryDecodeAsNil() {
				x.Stderr = false
			} else {
				x.Stderr = bool(r.DecodeBool())
			}
		case "tty":
			if r.TryDecodeAsNil() {
				x.TTY = false
			} else {
				x.TTY = bool(r.DecodeBool())
			}
		case "container":
			if r.TryDecodeAsNil() {
				x.Container = ""
			} else {
				x.Container = string(r.DecodeString())
			}
		default:
			z.DecStructFieldNotFound(-1, yys2723)
		} // end switch yys2723
	} // end for yyj2723
	if !yyhl2723 {
		r.ReadEnd()
	}
}

func (x *PodAttachOptions) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj2731 int
	var yyb2731 bool
	var yyhl2731 bool = l >= 0
	yyj2731++
	if yyhl2731 {
		yyb2731 = yyj2731 > l
	} else {
		yyb2731 = r.CheckBreak()
	}
	if yyb2731 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.Kind = ""
	} else {
		x.Kind = string(r.DecodeString())
	}
	yyj2731++
	if yyhl2731 {
		yyb2731 = yyj2731 > l
	} else {
		yyb2731 = r.CheckBreak()
	}
	if yyb2731 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.APIVersion = ""
	} else {
		x.APIVersion = string(r.DecodeString())
	}
	yyj2731++
	if yyhl2731 {
		yyb2731 = yyj2731 > l
	} else {
		yyb2731 = r.CheckBreak()
	}
	if yyb2731 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.Stdin = false
	} else {
		x.Stdin = bool(r.DecodeBool())
	}
	yyj2731++
	if yyhl2731 {
		yyb2731 = yyj2731 > l
	} else {
		yyb2731 = r.CheckBreak()
	}
	if yyb2731 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.Stdout = false
	} else {
		x.Stdout = bool(r.DecodeBool())
	}
	yyj2731++
	if yyhl2731 {
		yyb2731 = yyj2731 > l
	} else {
		yyb2731 = r.CheckBreak()
	}
	if yyb2731 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.Stderr = false
	} else {
		x.Stderr = bool(r.DecodeBool())
	}
	yyj2731++
	if yyhl2731 {
		yyb2731 = yyj2731 > l
	} else {
		yyb2731 = r.CheckBreak()
	}
	if yyb2731 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.TTY = false
	} else {
		x.TTY = bool(r.DecodeBool())
	}
	yyj2731++
	if yyhl2731 {
		yyb2731 = yyj2731 > l
	} else {
		yyb2731 = r.CheckBreak()
	}
	if yyb2731 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.Container = ""
	} else {
		x.Container = string(r.DecodeString())
	}
	for {
		yyj2731++
		if yyhl2731 {
			yyb2731 = yyj2731 > l
		} else {
			yyb2731 = r.CheckBreak()
		}
		if yyb2731 {
			break
		}
		z.DecStructFieldNotFound(yyj2731-1, "")
	}
	r.ReadEnd()
}

func (x *PodExecOptions) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym2739 := z.EncBinary()
		_ = yym2739
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep2740 := !z.EncBinary()
			yy2arr2740 := z.EncBasicHandle().StructToArray
			var yyq2740 [8]bool
			_, _, _ = yysep2740, yyq2740, yy2arr2740
			const yyr2740 bool = false
			yyq2740[0] = x.Kind != ""
			yyq2740[1] = x.APIVersion != ""
			yyq2740[2] = x.Stdin != false
			yyq2740[3] = x.Stdout != false
			yyq2740[4] = x.Stderr != false
			yyq2740[5] = x.TTY != false
			yyq2740[6] = x.Container != ""
			if yyr2740 || yy2arr2740 {
				r.EncodeArrayStart(8)
			} else {
				var yynn2740 int = 1
				for _, b := range yyq2740 {
					if b {
						yynn2740++
					}
				}
				r.EncodeMapStart(yynn2740)
			}
			if yyr2740 || yy2arr2740 {
				if yyq2740[0] {
					yym2742 := z.EncBinary()
					_ = yym2742
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq2740[0] {
					r.EncodeString(codecSelferC_UTF81234, string("kind"))
					yym2743 := z.EncBinary()
					_ = yym2743
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				}
			}
			if yyr2740 || yy2arr2740 {
				if yyq2740[1] {
					yym2745 := z.EncBinary()
					_ = yym2745
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq2740[1] {
					r.EncodeString(codecSelferC_UTF81234, string("apiVersion"))
					yym2746 := z.EncBinary()
					_ = yym2746
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				}
			}
			if yyr2740 || yy2arr2740 {
				if yyq2740[2] {
					yym2748 := z.EncBinary()
					_ = yym2748
					if false {
					} else {
						r.EncodeBool(bool(x.Stdin))
					}
				} else {
					r.EncodeBool(false)
				}
			} else {
				if yyq2740[2] {
					r.EncodeString(codecSelferC_UTF81234, string("stdin"))
					yym2749 := z.EncBinary()
					_ = yym2749
					if false {
					} else {
						r.EncodeBool(bool(x.Stdin))
					}
				}
			}
			if yyr2740 || yy2arr2740 {
				if yyq2740[3] {
					yym2751 := z.EncBinary()
					_ = yym2751
					if false {
					} else {
						r.EncodeBool(bool(x.Stdout))
					}
				} else {
					r.EncodeBool(false)
				}
			} else {
				if yyq2740[3] {
					r.EncodeString(codecSelferC_UTF81234, string("stdout"))
					yym2752 := z.EncBinary()
					_ = yym2752
					if false {
					} else {
						r.EncodeBool(bool(x.Stdout))
					}
				}
			}
			if yyr2740 || yy2arr2740 {
				if yyq2740[4] {
					yym2754 := z.EncBinary()
					_ = yym2754
					if false {
					} else {
						r.EncodeBool(bool(x.Stderr))
					}
				} else {
					r.EncodeBool(false)
				}
			} else {
				if yyq2740[4] {
					r.EncodeString(codecSelferC_UTF81234, string("stderr"))
					yym2755 := z.EncBinary()
					_ = yym2755
					if false {
					} else {
						r.EncodeBool(bool(x.Stderr))
					}
				}
			}
			if yyr2740 || yy2arr2740 {
				if yyq2740[5] {
					yym2757 := z.EncBinary()
					_ = yym2757
					if false {
					} else {
						r.EncodeBool(bool(x.TTY))
					}
				} else {
					r.EncodeBool(false)
				}
			} else {
				if yyq2740[5] {
					r.EncodeString(codecSelferC_UTF81234, string("tty"))
					yym2758 := z.EncBinary()
					_ = yym2758
					if false {
					} else {
						r.EncodeBool(bool(x.TTY))
					}
				}
			}
			if yyr2740 || yy2arr2740 {
				if yyq2740[6] {
					yym2760 := z.EncBinary()
					_ = yym2760
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Container))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq2740[6] {
					r.EncodeString(codecSelferC_UTF81234, string("container"))
					yym2761 := z.EncBinary()
					_ = yym2761
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Container))
					}
				}
			}
			if yyr2740 || yy2arr2740 {
				if x.Command == nil {
					r.EncodeNil()
				} else {
					yym2763 := z.EncBinary()
					_ = yym2763
					if false {
					} else {
						z.F.EncSliceStringV(x.Command, false, e)
					}
				}
			} else {
				r.EncodeString(codecSelferC_UTF81234, string("command"))
				if x.Command == nil {
					r.EncodeNil()
				} else {
					yym2764 := z.EncBinary()
					_ = yym2764
					if false {
					} else {
						z.F.EncSliceStringV(x.Command, false, e)
					}
				}
			}
			if yysep2740 {
				r.EncodeEnd()
			}
		}
	}
}

func (x *PodExecOptions) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym2765 := z.DecBinary()
	_ = yym2765
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		if r.IsContainerType(codecSelferValueTypeMap1234) {
			yyl2766 := r.ReadMapStart()
			if yyl2766 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromMap(yyl2766, d)
			}
		} else if r.IsContainerType(codecSelferValueTypeArray1234) {
			yyl2766 := r.ReadArrayStart()
			if yyl2766 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromArray(yyl2766, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *PodExecOptions) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys2767Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys2767Slc
	var yyhl2767 bool = l >= 0
	for yyj2767 := 0; ; yyj2767++ {
		if yyhl2767 {
			if yyj2767 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		yys2767Slc = r.DecodeBytes(yys2767Slc, true, true)
		yys2767 := string(yys2767Slc)
		switch yys2767 {
		case "kind":
			if r.TryDecodeAsNil() {
				x.Kind = ""
			} else {
				x.Kind = string(r.DecodeString())
			}
		case "apiVersion":
			if r.TryDecodeAsNil() {
				x.APIVersion = ""
			} else {
				x.APIVersion = string(r.DecodeString())
			}
		case "stdin":
			if r.TryDecodeAsNil() {
				x.Stdin = false
			} else {
				x.Stdin = bool(r.DecodeBool())
			}
		case "stdout":
			if r.TryDecodeAsNil() {
				x.Stdout = false
			} else {
				x.Stdout = bool(r.DecodeBool())
			}
		case "stderr":
			if r.TryDecodeAsNil() {
				x.Stderr = false
			} else {
				x.Stderr = bool(r.DecodeBool())
			}
		case "tty":
			if r.TryDecodeAsNil() {
				x.TTY = false
			} else {
				x.TTY = bool(r.DecodeBool())
			}
		case "container":
			if r.TryDecodeAsNil() {
				x.Container = ""
			} else {
				x.Container = string(r.DecodeString())
			}
		case "command":
			if r.TryDecodeAsNil() {
				x.Command = nil
			} else {
				yyv2775 := &x.Command
				yym2776 := z.DecBinary()
				_ = yym2776
				if false {
				} else {
					z.F.DecSliceStringX(yyv2775, false, d)
				}
			}
		default:
			z.DecStructFieldNotFound(-1, yys2767)
		} // end switch yys2767
	} // end for yyj2767
	if !yyhl2767 {
		r.ReadEnd()
	}
}

func (x *PodExecOptions) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj2777 int
	var yyb2777 bool
	var yyhl2777 bool = l >= 0
	yyj2777++
	if yyhl2777 {
		yyb2777 = yyj2777 > l
	} else {
		yyb2777 = r.CheckBreak()
	}
	if yyb2777 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.Kind = ""
	} else {
		x.Kind = string(r.DecodeString())
	}
	yyj2777++
	if yyhl2777 {
		yyb2777 = yyj2777 > l
	} else {
		yyb2777 = r.CheckBreak()
	}
	if yyb2777 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.APIVersion = ""
	} else {
		x.APIVersion = string(r.DecodeString())
	}
	yyj2777++
	if yyhl2777 {
		yyb2777 = yyj2777 > l
	} else {
		yyb2777 = r.CheckBreak()
	}
	if yyb2777 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.Stdin = false
	} else {
		x.Stdin = bool(r.DecodeBool())
	}
	yyj2777++
	if yyhl2777 {
		yyb2777 = yyj2777 > l
	} else {
		yyb2777 = r.CheckBreak()
	}
	if yyb2777 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.Stdout = false
	} else {
		x.Stdout = bool(r.DecodeBool())
	}
	yyj2777++
	if yyhl2777 {
		yyb2777 = yyj2777 > l
	} else {
		yyb2777 = r.CheckBreak()
	}
	if yyb2777 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.Stderr = false
	} else {
		x.Stderr = bool(r.DecodeBool())
	}
	yyj2777++
	if yyhl2777 {
		yyb2777 = yyj2777 > l
	} else {
		yyb2777 = r.CheckBreak()
	}
	if yyb2777 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.TTY = false
	} else {
		x.TTY = bool(r.DecodeBool())
	}
	yyj2777++
	if yyhl2777 {
		yyb2777 = yyj2777 > l
	} else {
		yyb2777 = r.CheckBreak()
	}
	if yyb2777 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.Container = ""
	} else {
		x.Container = string(r.DecodeString())
	}
	yyj2777++
	if yyhl2777 {
		yyb2777 = yyj2777 > l
	} else {
		yyb2777 = r.CheckBreak()
	}
	if yyb2777 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.Command = nil
	} else {
		yyv2785 := &x.Command
		yym2786 := z.DecBinary()
		_ = yym2786
		if false {
		} else {
			z.F.DecSliceStringX(yyv2785, false, d)
		}
	}
	for {
		yyj2777++
		if yyhl2777 {
			yyb2777 = yyj2777 > l
		} else {
			yyb2777 = r.CheckBreak()
		}
		if yyb2777 {
			break
		}
		z.DecStructFieldNotFound(yyj2777-1, "")
	}
	r.ReadEnd()
}

func (x *PodProxyOptions) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym2787 := z.EncBinary()
		_ = yym2787
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep2788 := !z.EncBinary()
			yy2arr2788 := z.EncBasicHandle().StructToArray
			var yyq2788 [3]bool
			_, _, _ = yysep2788, yyq2788, yy2arr2788
			const yyr2788 bool = false
			yyq2788[0] = x.Kind != ""
			yyq2788[1] = x.APIVersion != ""
			yyq2788[2] = x.Path != ""
			if yyr2788 || yy2arr2788 {
				r.EncodeArrayStart(3)
			} else {
				var yynn2788 int = 0
				for _, b := range yyq2788 {
					if b {
						yynn2788++
					}
				}
				r.EncodeMapStart(yynn2788)
			}
			if yyr2788 || yy2arr2788 {
				if yyq2788[0] {
					yym2790 := z.EncBinary()
					_ = yym2790
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq2788[0] {
					r.EncodeString(codecSelferC_UTF81234, string("kind"))
					yym2791 := z.EncBinary()
					_ = yym2791
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				}
			}
			if yyr2788 || yy2arr2788 {
				if yyq2788[1] {
					yym2793 := z.EncBinary()
					_ = yym2793
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq2788[1] {
					r.EncodeString(codecSelferC_UTF81234, string("apiVersion"))
					yym2794 := z.EncBinary()
					_ = yym2794
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				}
			}
			if yyr2788 || yy2arr2788 {
				if yyq2788[2] {
					yym2796 := z.EncBinary()
					_ = yym2796
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Path))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq2788[2] {
					r.EncodeString(codecSelferC_UTF81234, string("path"))
					yym2797 := z.EncBinary()
					_ = yym2797
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Path))
					}
				}
			}
			if yysep2788 {
				r.EncodeEnd()
			}
		}
	}
}

func (x *PodProxyOptions) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym2798 := z.DecBinary()
	_ = yym2798
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		if r.IsContainerType(codecSelferValueTypeMap1234) {
			yyl2799 := r.ReadMapStart()
			if yyl2799 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromMap(yyl2799, d)
			}
		} else if r.IsContainerType(codecSelferValueTypeArray1234) {
			yyl2799 := r.ReadArrayStart()
			if yyl2799 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromArray(yyl2799, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *PodProxyOptions) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys2800Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys2800Slc
	var yyhl2800 bool = l >= 0
	for yyj2800 := 0; ; yyj2800++ {
		if yyhl2800 {
			if yyj2800 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		yys2800Slc = r.DecodeBytes(yys2800Slc, true, true)
		yys2800 := string(yys2800Slc)
		switch yys2800 {
		case "kind":
			if r.TryDecodeAsNil() {
				x.Kind = ""
			} else {
				x.Kind = string(r.DecodeString())
			}
		case "apiVersion":
			if r.TryDecodeAsNil() {
				x.APIVersion = ""
			} else {
				x.APIVersion = string(r.DecodeString())
			}
		case "path":
			if r.TryDecodeAsNil() {
				x.Path = ""
			} else {
				x.Path = string(r.DecodeString())
			}
		default:
			z.DecStructFieldNotFound(-1, yys2800)
		} // end switch yys2800
	} // end for yyj2800
	if !yyhl2800 {
		r.ReadEnd()
	}
}

func (x *PodProxyOptions) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj2804 int
	var yyb2804 bool
	var yyhl2804 bool = l >= 0
	yyj2804++
	if yyhl2804 {
		yyb2804 = yyj2804 > l
	} else {
		yyb2804 = r.CheckBreak()
	}
	if yyb2804 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.Kind = ""
	} else {
		x.Kind = string(r.DecodeString())
	}
	yyj2804++
	if yyhl2804 {
		yyb2804 = yyj2804 > l
	} else {
		yyb2804 = r.CheckBreak()
	}
	if yyb2804 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.APIVersion = ""
	} else {
		x.APIVersion = string(r.DecodeString())
	}
	yyj2804++
	if yyhl2804 {
		yyb2804 = yyj2804 > l
	} else {
		yyb2804 = r.CheckBreak()
	}
	if yyb2804 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.Path = ""
	} else {
		x.Path = string(r.DecodeString())
	}
	for {
		yyj2804++
		if yyhl2804 {
			yyb2804 = yyj2804 > l
		} else {
			yyb2804 = r.CheckBreak()
		}
		if yyb2804 {
			break
		}
		z.DecStructFieldNotFound(yyj2804-1, "")
	}
	r.ReadEnd()
}

func (x *ObjectReference) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym2808 := z.EncBinary()
		_ = yym2808
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep2809 := !z.EncBinary()
			yy2arr2809 := z.EncBasicHandle().StructToArray
			var yyq2809 [7]bool
			_, _, _ = yysep2809, yyq2809, yy2arr2809
			const yyr2809 bool = false
			yyq2809[0] = x.Kind != ""
			yyq2809[1] = x.Namespace != ""
			yyq2809[2] = x.Name != ""
			yyq2809[3] = x.UID != ""
			yyq2809[4] = x.APIVersion != ""
			yyq2809[5] = x.ResourceVersion != ""
			yyq2809[6] = x.FieldPath != ""
			if yyr2809 || yy2arr2809 {
				r.EncodeArrayStart(7)
			} else {
				var yynn2809 int = 0
				for _, b := range yyq2809 {
					if b {
						yynn2809++
					}
				}
				r.EncodeMapStart(yynn2809)
			}
			if yyr2809 || yy2arr2809 {
				if yyq2809[0] {
					yym2811 := z.EncBinary()
					_ = yym2811
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq2809[0] {
					r.EncodeString(codecSelferC_UTF81234, string("kind"))
					yym2812 := z.EncBinary()
					_ = yym2812
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				}
			}
			if yyr2809 || yy2arr2809 {
				if yyq2809[1] {
					yym2814 := z.EncBinary()
					_ = yym2814
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Namespace))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq2809[1] {
					r.EncodeString(codecSelferC_UTF81234, string("namespace"))
					yym2815 := z.EncBinary()
					_ = yym2815
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Namespace))
					}
				}
			}
			if yyr2809 || yy2arr2809 {
				if yyq2809[2] {
					yym2817 := z.EncBinary()
					_ = yym2817
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Name))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq2809[2] {
					r.EncodeString(codecSelferC_UTF81234, string("name"))
					yym2818 := z.EncBinary()
					_ = yym2818
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Name))
					}
				}
			}
			if yyr2809 || yy2arr2809 {
				if yyq2809[3] {
					yym2820 := z.EncBinary()
					_ = yym2820
					if false {
					} else if z.HasExtensions() && z.EncExt(x.UID) {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.UID))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq2809[3] {
					r.EncodeString(codecSelferC_UTF81234, string("uid"))
					yym2821 := z.EncBinary()
					_ = yym2821
					if false {
					} else if z.HasExtensions() && z.EncExt(x.UID) {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.UID))
					}
				}
			}
			if yyr2809 || yy2arr2809 {
				if yyq2809[4] {
					yym2823 := z.EncBinary()
					_ = yym2823
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq2809[4] {
					r.EncodeString(codecSelferC_UTF81234, string("apiVersion"))
					yym2824 := z.EncBinary()
					_ = yym2824
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				}
			}
			if yyr2809 || yy2arr2809 {
				if yyq2809[5] {
					yym2826 := z.EncBinary()
					_ = yym2826
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.ResourceVersion))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq2809[5] {
					r.EncodeString(codecSelferC_UTF81234, string("resourceVersion"))
					yym2827 := z.EncBinary()
					_ = yym2827
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.ResourceVersion))
					}
				}
			}
			if yyr2809 || yy2arr2809 {
				if yyq2809[6] {
					yym2829 := z.EncBinary()
					_ = yym2829
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.FieldPath))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq2809[6] {
					r.EncodeString(codecSelferC_UTF81234, string("fieldPath"))
					yym2830 := z.EncBinary()
					_ = yym2830
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.FieldPath))
					}
				}
			}
			if yysep2809 {
				r.EncodeEnd()
			}
		}
	}
}

func (x *ObjectReference) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym2831 := z.DecBinary()
	_ = yym2831
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		if r.IsContainerType(codecSelferValueTypeMap1234) {
			yyl2832 := r.ReadMapStart()
			if yyl2832 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromMap(yyl2832, d)
			}
		} else if r.IsContainerType(codecSelferValueTypeArray1234) {
			yyl2832 := r.ReadArrayStart()
			if yyl2832 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromArray(yyl2832, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *ObjectReference) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys2833Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys2833Slc
	var yyhl2833 bool = l >= 0
	for yyj2833 := 0; ; yyj2833++ {
		if yyhl2833 {
			if yyj2833 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		yys2833Slc = r.DecodeBytes(yys2833Slc, true, true)
		yys2833 := string(yys2833Slc)
		switch yys2833 {
		case "kind":
			if r.TryDecodeAsNil() {
				x.Kind = ""
			} else {
				x.Kind = string(r.DecodeString())
			}
		case "namespace":
			if r.TryDecodeAsNil() {
				x.Namespace = ""
			} else {
				x.Namespace = string(r.DecodeString())
			}
		case "name":
			if r.TryDecodeAsNil() {
				x.Name = ""
			} else {
				x.Name = string(r.DecodeString())
			}
		case "uid":
			if r.TryDecodeAsNil() {
				x.UID = ""
			} else {
				x.UID = pkg1_types.UID(r.DecodeString())
			}
		case "apiVersion":
			if r.TryDecodeAsNil() {
				x.APIVersion = ""
			} else {
				x.APIVersion = string(r.DecodeString())
			}
		case "resourceVersion":
			if r.TryDecodeAsNil() {
				x.ResourceVersion = ""
			} else {
				x.ResourceVersion = string(r.DecodeString())
			}
		case "fieldPath":
			if r.TryDecodeAsNil() {
				x.FieldPath = ""
			} else {
				x.FieldPath = string(r.DecodeString())
			}
		default:
			z.DecStructFieldNotFound(-1, yys2833)
		} // end switch yys2833
	} // end for yyj2833
	if !yyhl2833 {
		r.ReadEnd()
	}
}

func (x *ObjectReference) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj2841 int
	var yyb2841 bool
	var yyhl2841 bool = l >= 0
	yyj2841++
	if yyhl2841 {
		yyb2841 = yyj2841 > l
	} else {
		yyb2841 = r.CheckBreak()
	}
	if yyb2841 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.Kind = ""
	} else {
		x.Kind = string(r.DecodeString())
	}
	yyj2841++
	if yyhl2841 {
		yyb2841 = yyj2841 > l
	} else {
		yyb2841 = r.CheckBreak()
	}
	if yyb2841 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.Namespace = ""
	} else {
		x.Namespace = string(r.DecodeString())
	}
	yyj2841++
	if yyhl2841 {
		yyb2841 = yyj2841 > l
	} else {
		yyb2841 = r.CheckBreak()
	}
	if yyb2841 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.Name = ""
	} else {
		x.Name = string(r.DecodeString())
	}
	yyj2841++
	if yyhl2841 {
		yyb2841 = yyj2841 > l
	} else {
		yyb2841 = r.CheckBreak()
	}
	if yyb2841 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.UID = ""
	} else {
		x.UID = pkg1_types.UID(r.DecodeString())
	}
	yyj2841++
	if yyhl2841 {
		yyb2841 = yyj2841 > l
	} else {
		yyb2841 = r.CheckBreak()
	}
	if yyb2841 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.APIVersion = ""
	} else {
		x.APIVersion = string(r.DecodeString())
	}
	yyj2841++
	if yyhl2841 {
		yyb2841 = yyj2841 > l
	} else {
		yyb2841 = r.CheckBreak()
	}
	if yyb2841 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.ResourceVersion = ""
	} else {
		x.ResourceVersion = string(r.DecodeString())
	}
	yyj2841++
	if yyhl2841 {
		yyb2841 = yyj2841 > l
	} else {
		yyb2841 = r.CheckBreak()
	}
	if yyb2841 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.FieldPath = ""
	} else {
		x.FieldPath = string(r.DecodeString())
	}
	for {
		yyj2841++
		if yyhl2841 {
			yyb2841 = yyj2841 > l
		} else {
			yyb2841 = r.CheckBreak()
		}
		if yyb2841 {
			break
		}
		z.DecStructFieldNotFound(yyj2841-1, "")
	}
	r.ReadEnd()
}

func (x *LocalObjectReference) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym2849 := z.EncBinary()
		_ = yym2849
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep2850 := !z.EncBinary()
			yy2arr2850 := z.EncBasicHandle().StructToArray
			var yyq2850 [1]bool
			_, _, _ = yysep2850, yyq2850, yy2arr2850
			const yyr2850 bool = false
			yyq2850[0] = x.Name != ""
			if yyr2850 || yy2arr2850 {
				r.EncodeArrayStart(1)
			} else {
				var yynn2850 int = 0
				for _, b := range yyq2850 {
					if b {
						yynn2850++
					}
				}
				r.EncodeMapStart(yynn2850)
			}
			if yyr2850 || yy2arr2850 {
				if yyq2850[0] {
					yym2852 := z.EncBinary()
					_ = yym2852
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Name))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq2850[0] {
					r.EncodeString(codecSelferC_UTF81234, string("name"))
					yym2853 := z.EncBinary()
					_ = yym2853
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Name))
					}
				}
			}
			if yysep2850 {
				r.EncodeEnd()
			}
		}
	}
}

func (x *LocalObjectReference) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym2854 := z.DecBinary()
	_ = yym2854
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		if r.IsContainerType(codecSelferValueTypeMap1234) {
			yyl2855 := r.ReadMapStart()
			if yyl2855 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromMap(yyl2855, d)
			}
		} else if r.IsContainerType(codecSelferValueTypeArray1234) {
			yyl2855 := r.ReadArrayStart()
			if yyl2855 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromArray(yyl2855, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *LocalObjectReference) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys2856Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys2856Slc
	var yyhl2856 bool = l >= 0
	for yyj2856 := 0; ; yyj2856++ {
		if yyhl2856 {
			if yyj2856 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		yys2856Slc = r.DecodeBytes(yys2856Slc, true, true)
		yys2856 := string(yys2856Slc)
		switch yys2856 {
		case "name":
			if r.TryDecodeAsNil() {
				x.Name = ""
			} else {
				x.Name = string(r.DecodeString())
			}
		default:
			z.DecStructFieldNotFound(-1, yys2856)
		} // end switch yys2856
	} // end for yyj2856
	if !yyhl2856 {
		r.ReadEnd()
	}
}

func (x *LocalObjectReference) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj2858 int
	var yyb2858 bool
	var yyhl2858 bool = l >= 0
	yyj2858++
	if yyhl2858 {
		yyb2858 = yyj2858 > l
	} else {
		yyb2858 = r.CheckBreak()
	}
	if yyb2858 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.Name = ""
	} else {
		x.Name = string(r.DecodeString())
	}
	for {
		yyj2858++
		if yyhl2858 {
			yyb2858 = yyj2858 > l
		} else {
			yyb2858 = r.CheckBreak()
		}
		if yyb2858 {
			break
		}
		z.DecStructFieldNotFound(yyj2858-1, "")
	}
	r.ReadEnd()
}

func (x *SerializedReference) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym2860 := z.EncBinary()
		_ = yym2860
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep2861 := !z.EncBinary()
			yy2arr2861 := z.EncBasicHandle().StructToArray
			var yyq2861 [3]bool
			_, _, _ = yysep2861, yyq2861, yy2arr2861
			const yyr2861 bool = false
			yyq2861[0] = x.Kind != ""
			yyq2861[1] = x.APIVersion != ""
			yyq2861[2] = true
			if yyr2861 || yy2arr2861 {
				r.EncodeArrayStart(3)
			} else {
				var yynn2861 int = 0
				for _, b := range yyq2861 {
					if b {
						yynn2861++
					}
				}
				r.EncodeMapStart(yynn2861)
			}
			if yyr2861 || yy2arr2861 {
				if yyq2861[0] {
					yym2863 := z.EncBinary()
					_ = yym2863
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq2861[0] {
					r.EncodeString(codecSelferC_UTF81234, string("kind"))
					yym2864 := z.EncBinary()
					_ = yym2864
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				}
			}
			if yyr2861 || yy2arr2861 {
				if yyq2861[1] {
					yym2866 := z.EncBinary()
					_ = yym2866
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq2861[1] {
					r.EncodeString(codecSelferC_UTF81234, string("apiVersion"))
					yym2867 := z.EncBinary()
					_ = yym2867
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				}
			}
			if yyr2861 || yy2arr2861 {
				if yyq2861[2] {
					yy2869 := &x.Reference
					yy2869.CodecEncodeSelf(e)
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq2861[2] {
					r.EncodeString(codecSelferC_UTF81234, string("reference"))
					yy2870 := &x.Reference
					yy2870.CodecEncodeSelf(e)
				}
			}
			if yysep2861 {
				r.EncodeEnd()
			}
		}
	}
}

func (x *SerializedReference) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym2871 := z.DecBinary()
	_ = yym2871
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		if r.IsContainerType(codecSelferValueTypeMap1234) {
			yyl2872 := r.ReadMapStart()
			if yyl2872 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromMap(yyl2872, d)
			}
		} else if r.IsContainerType(codecSelferValueTypeArray1234) {
			yyl2872 := r.ReadArrayStart()
			if yyl2872 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromArray(yyl2872, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *SerializedReference) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys2873Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys2873Slc
	var yyhl2873 bool = l >= 0
	for yyj2873 := 0; ; yyj2873++ {
		if yyhl2873 {
			if yyj2873 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		yys2873Slc = r.DecodeBytes(yys2873Slc, true, true)
		yys2873 := string(yys2873Slc)
		switch yys2873 {
		case "kind":
			if r.TryDecodeAsNil() {
				x.Kind = ""
			} else {
				x.Kind = string(r.DecodeString())
			}
		case "apiVersion":
			if r.TryDecodeAsNil() {
				x.APIVersion = ""
			} else {
				x.APIVersion = string(r.DecodeString())
			}
		case "reference":
			if r.TryDecodeAsNil() {
				x.Reference = ObjectReference{}
			} else {
				yyv2876 := &x.Reference
				yyv2876.CodecDecodeSelf(d)
			}
		default:
			z.DecStructFieldNotFound(-1, yys2873)
		} // end switch yys2873
	} // end for yyj2873
	if !yyhl2873 {
		r.ReadEnd()
	}
}

func (x *SerializedReference) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj2877 int
	var yyb2877 bool
	var yyhl2877 bool = l >= 0
	yyj2877++
	if yyhl2877 {
		yyb2877 = yyj2877 > l
	} else {
		yyb2877 = r.CheckBreak()
	}
	if yyb2877 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.Kind = ""
	} else {
		x.Kind = string(r.DecodeString())
	}
	yyj2877++
	if yyhl2877 {
		yyb2877 = yyj2877 > l
	} else {
		yyb2877 = r.CheckBreak()
	}
	if yyb2877 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.APIVersion = ""
	} else {
		x.APIVersion = string(r.DecodeString())
	}
	yyj2877++
	if yyhl2877 {
		yyb2877 = yyj2877 > l
	} else {
		yyb2877 = r.CheckBreak()
	}
	if yyb2877 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.Reference = ObjectReference{}
	} else {
		yyv2880 := &x.Reference
		yyv2880.CodecDecodeSelf(d)
	}
	for {
		yyj2877++
		if yyhl2877 {
			yyb2877 = yyj2877 > l
		} else {
			yyb2877 = r.CheckBreak()
		}
		if yyb2877 {
			break
		}
		z.DecStructFieldNotFound(yyj2877-1, "")
	}
	r.ReadEnd()
}

func (x *EventSource) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym2881 := z.EncBinary()
		_ = yym2881
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep2882 := !z.EncBinary()
			yy2arr2882 := z.EncBasicHandle().StructToArray
			var yyq2882 [2]bool
			_, _, _ = yysep2882, yyq2882, yy2arr2882
			const yyr2882 bool = false
			yyq2882[0] = x.Component != ""
			yyq2882[1] = x.Host != ""
			if yyr2882 || yy2arr2882 {
				r.EncodeArrayStart(2)
			} else {
				var yynn2882 int = 0
				for _, b := range yyq2882 {
					if b {
						yynn2882++
					}
				}
				r.EncodeMapStart(yynn2882)
			}
			if yyr2882 || yy2arr2882 {
				if yyq2882[0] {
					yym2884 := z.EncBinary()
					_ = yym2884
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Component))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq2882[0] {
					r.EncodeString(codecSelferC_UTF81234, string("component"))
					yym2885 := z.EncBinary()
					_ = yym2885
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Component))
					}
				}
			}
			if yyr2882 || yy2arr2882 {
				if yyq2882[1] {
					yym2887 := z.EncBinary()
					_ = yym2887
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Host))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq2882[1] {
					r.EncodeString(codecSelferC_UTF81234, string("host"))
					yym2888 := z.EncBinary()
					_ = yym2888
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Host))
					}
				}
			}
			if yysep2882 {
				r.EncodeEnd()
			}
		}
	}
}

func (x *EventSource) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym2889 := z.DecBinary()
	_ = yym2889
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		if r.IsContainerType(codecSelferValueTypeMap1234) {
			yyl2890 := r.ReadMapStart()
			if yyl2890 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromMap(yyl2890, d)
			}
		} else if r.IsContainerType(codecSelferValueTypeArray1234) {
			yyl2890 := r.ReadArrayStart()
			if yyl2890 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromArray(yyl2890, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *EventSource) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys2891Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys2891Slc
	var yyhl2891 bool = l >= 0
	for yyj2891 := 0; ; yyj2891++ {
		if yyhl2891 {
			if yyj2891 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		yys2891Slc = r.DecodeBytes(yys2891Slc, true, true)
		yys2891 := string(yys2891Slc)
		switch yys2891 {
		case "component":
			if r.TryDecodeAsNil() {
				x.Component = ""
			} else {
				x.Component = string(r.DecodeString())
			}
		case "host":
			if r.TryDecodeAsNil() {
				x.Host = ""
			} else {
				x.Host = string(r.DecodeString())
			}
		default:
			z.DecStructFieldNotFound(-1, yys2891)
		} // end switch yys2891
	} // end for yyj2891
	if !yyhl2891 {
		r.ReadEnd()
	}
}

func (x *EventSource) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj2894 int
	var yyb2894 bool
	var yyhl2894 bool = l >= 0
	yyj2894++
	if yyhl2894 {
		yyb2894 = yyj2894 > l
	} else {
		yyb2894 = r.CheckBreak()
	}
	if yyb2894 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.Component = ""
	} else {
		x.Component = string(r.DecodeString())
	}
	yyj2894++
	if yyhl2894 {
		yyb2894 = yyj2894 > l
	} else {
		yyb2894 = r.CheckBreak()
	}
	if yyb2894 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.Host = ""
	} else {
		x.Host = string(r.DecodeString())
	}
	for {
		yyj2894++
		if yyhl2894 {
			yyb2894 = yyj2894 > l
		} else {
			yyb2894 = r.CheckBreak()
		}
		if yyb2894 {
			break
		}
		z.DecStructFieldNotFound(yyj2894-1, "")
	}
	r.ReadEnd()
}

func (x *Event) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym2897 := z.EncBinary()
		_ = yym2897
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep2898 := !z.EncBinary()
			yy2arr2898 := z.EncBasicHandle().StructToArray
			var yyq2898 [10]bool
			_, _, _ = yysep2898, yyq2898, yy2arr2898
			const yyr2898 bool = false
			yyq2898[0] = x.Kind != ""
			yyq2898[1] = x.APIVersion != ""
			yyq2898[4] = x.Reason != ""
			yyq2898[5] = x.Message != ""
			yyq2898[6] = true
			yyq2898[7] = true
			yyq2898[8] = true
			yyq2898[9] = x.Count != 0
			if yyr2898 || yy2arr2898 {
				r.EncodeArrayStart(10)
			} else {
				var yynn2898 int = 2
				for _, b := range yyq2898 {
					if b {
						yynn2898++
					}
				}
				r.EncodeMapStart(yynn2898)
			}
			if yyr2898 || yy2arr2898 {
				if yyq2898[0] {
					yym2900 := z.EncBinary()
					_ = yym2900
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq2898[0] {
					r.EncodeString(codecSelferC_UTF81234, string("kind"))
					yym2901 := z.EncBinary()
					_ = yym2901
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				}
			}
			if yyr2898 || yy2arr2898 {
				if yyq2898[1] {
					yym2903 := z.EncBinary()
					_ = yym2903
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq2898[1] {
					r.EncodeString(codecSelferC_UTF81234, string("apiVersion"))
					yym2904 := z.EncBinary()
					_ = yym2904
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				}
			}
			if yyr2898 || yy2arr2898 {
				yy2906 := &x.ObjectMeta
				yy2906.CodecEncodeSelf(e)
			} else {
				r.EncodeString(codecSelferC_UTF81234, string("metadata"))
				yy2907 := &x.ObjectMeta
				yy2907.CodecEncodeSelf(e)
			}
			if yyr2898 || yy2arr2898 {
				yy2909 := &x.InvolvedObject
				yy2909.CodecEncodeSelf(e)
			} else {
				r.EncodeString(codecSelferC_UTF81234, string("involvedObject"))
				yy2910 := &x.InvolvedObject
				yy2910.CodecEncodeSelf(e)
			}
			if yyr2898 || yy2arr2898 {
				if yyq2898[4] {
					yym2912 := z.EncBinary()
					_ = yym2912
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Reason))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq2898[4] {
					r.EncodeString(codecSelferC_UTF81234, string("reason"))
					yym2913 := z.EncBinary()
					_ = yym2913
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Reason))
					}
				}
			}
			if yyr2898 || yy2arr2898 {
				if yyq2898[5] {
					yym2915 := z.EncBinary()
					_ = yym2915
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Message))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq2898[5] {
					r.EncodeString(codecSelferC_UTF81234, string("message"))
					yym2916 := z.EncBinary()
					_ = yym2916
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Message))
					}
				}
			}
			if yyr2898 || yy2arr2898 {
				if yyq2898[6] {
					yy2918 := &x.Source
					yy2918.CodecEncodeSelf(e)
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq2898[6] {
					r.EncodeString(codecSelferC_UTF81234, string("source"))
					yy2919 := &x.Source
					yy2919.CodecEncodeSelf(e)
				}
			}
			if yyr2898 || yy2arr2898 {
				if yyq2898[7] {
					yy2921 := &x.FirstTimestamp
					yym2922 := z.EncBinary()
					_ = yym2922
					if false {
					} else if z.HasExtensions() && z.EncExt(yy2921) {
					} else if yym2922 {
						z.EncBinaryMarshal(yy2921)
					} else if !yym2922 && z.IsJSONHandle() {
						z.EncJSONMarshal(yy2921)
					} else {
						z.EncFallback(yy2921)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq2898[7] {
					r.EncodeString(codecSelferC_UTF81234, string("firstTimestamp"))
					yy2923 := &x.FirstTimestamp
					yym2924 := z.EncBinary()
					_ = yym2924
					if false {
					} else if z.HasExtensions() && z.EncExt(yy2923) {
					} else if yym2924 {
						z.EncBinaryMarshal(yy2923)
					} else if !yym2924 && z.IsJSONHandle() {
						z.EncJSONMarshal(yy2923)
					} else {
						z.EncFallback(yy2923)
					}
				}
			}
			if yyr2898 || yy2arr2898 {
				if yyq2898[8] {
					yy2926 := &x.LastTimestamp
					yym2927 := z.EncBinary()
					_ = yym2927
					if false {
					} else if z.HasExtensions() && z.EncExt(yy2926) {
					} else if yym2927 {
						z.EncBinaryMarshal(yy2926)
					} else if !yym2927 && z.IsJSONHandle() {
						z.EncJSONMarshal(yy2926)
					} else {
						z.EncFallback(yy2926)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq2898[8] {
					r.EncodeString(codecSelferC_UTF81234, string("lastTimestamp"))
					yy2928 := &x.LastTimestamp
					yym2929 := z.EncBinary()
					_ = yym2929
					if false {
					} else if z.HasExtensions() && z.EncExt(yy2928) {
					} else if yym2929 {
						z.EncBinaryMarshal(yy2928)
					} else if !yym2929 && z.IsJSONHandle() {
						z.EncJSONMarshal(yy2928)
					} else {
						z.EncFallback(yy2928)
					}
				}
			}
			if yyr2898 || yy2arr2898 {
				if yyq2898[9] {
					yym2931 := z.EncBinary()
					_ = yym2931
					if false {
					} else {
						r.EncodeInt(int64(x.Count))
					}
				} else {
					r.EncodeInt(0)
				}
			} else {
				if yyq2898[9] {
					r.EncodeString(codecSelferC_UTF81234, string("count"))
					yym2932 := z.EncBinary()
					_ = yym2932
					if false {
					} else {
						r.EncodeInt(int64(x.Count))
					}
				}
			}
			if yysep2898 {
				r.EncodeEnd()
			}
		}
	}
}

func (x *Event) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym2933 := z.DecBinary()
	_ = yym2933
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		if r.IsContainerType(codecSelferValueTypeMap1234) {
			yyl2934 := r.ReadMapStart()
			if yyl2934 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromMap(yyl2934, d)
			}
		} else if r.IsContainerType(codecSelferValueTypeArray1234) {
			yyl2934 := r.ReadArrayStart()
			if yyl2934 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromArray(yyl2934, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *Event) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys2935Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys2935Slc
	var yyhl2935 bool = l >= 0
	for yyj2935 := 0; ; yyj2935++ {
		if yyhl2935 {
			if yyj2935 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		yys2935Slc = r.DecodeBytes(yys2935Slc, true, true)
		yys2935 := string(yys2935Slc)
		switch yys2935 {
		case "kind":
			if r.TryDecodeAsNil() {
				x.Kind = ""
			} else {
				x.Kind = string(r.DecodeString())
			}
		case "apiVersion":
			if r.TryDecodeAsNil() {
				x.APIVersion = ""
			} else {
				x.APIVersion = string(r.DecodeString())
			}
		case "metadata":
			if r.TryDecodeAsNil() {
				x.ObjectMeta = ObjectMeta{}
			} else {
				yyv2938 := &x.ObjectMeta
				yyv2938.CodecDecodeSelf(d)
			}
		case "involvedObject":
			if r.TryDecodeAsNil() {
				x.InvolvedObject = ObjectReference{}
			} else {
				yyv2939 := &x.InvolvedObject
				yyv2939.CodecDecodeSelf(d)
			}
		case "reason":
			if r.TryDecodeAsNil() {
				x.Reason = ""
			} else {
				x.Reason = string(r.DecodeString())
			}
		case "message":
			if r.TryDecodeAsNil() {
				x.Message = ""
			} else {
				x.Message = string(r.DecodeString())
			}
		case "source":
			if r.TryDecodeAsNil() {
				x.Source = EventSource{}
			} else {
				yyv2942 := &x.Source
				yyv2942.CodecDecodeSelf(d)
			}
		case "firstTimestamp":
			if r.TryDecodeAsNil() {
				x.FirstTimestamp = pkg2_unversioned.Time{}
			} else {
				yyv2943 := &x.FirstTimestamp
				yym2944 := z.DecBinary()
				_ = yym2944
				if false {
				} else if z.HasExtensions() && z.DecExt(yyv2943) {
				} else if yym2944 {
					z.DecBinaryUnmarshal(yyv2943)
				} else if !yym2944 && z.IsJSONHandle() {
					z.DecJSONUnmarshal(yyv2943)
				} else {
					z.DecFallback(yyv2943, false)
				}
			}
		case "lastTimestamp":
			if r.TryDecodeAsNil() {
				x.LastTimestamp = pkg2_unversioned.Time{}
			} else {
				yyv2945 := &x.LastTimestamp
				yym2946 := z.DecBinary()
				_ = yym2946
				if false {
				} else if z.HasExtensions() && z.DecExt(yyv2945) {
				} else if yym2946 {
					z.DecBinaryUnmarshal(yyv2945)
				} else if !yym2946 && z.IsJSONHandle() {
					z.DecJSONUnmarshal(yyv2945)
				} else {
					z.DecFallback(yyv2945, false)
				}
			}
		case "count":
			if r.TryDecodeAsNil() {
				x.Count = 0
			} else {
				x.Count = int(r.DecodeInt(codecSelferBitsize1234))
			}
		default:
			z.DecStructFieldNotFound(-1, yys2935)
		} // end switch yys2935
	} // end for yyj2935
	if !yyhl2935 {
		r.ReadEnd()
	}
}

func (x *Event) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj2948 int
	var yyb2948 bool
	var yyhl2948 bool = l >= 0
	yyj2948++
	if yyhl2948 {
		yyb2948 = yyj2948 > l
	} else {
		yyb2948 = r.CheckBreak()
	}
	if yyb2948 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.Kind = ""
	} else {
		x.Kind = string(r.DecodeString())
	}
	yyj2948++
	if yyhl2948 {
		yyb2948 = yyj2948 > l
	} else {
		yyb2948 = r.CheckBreak()
	}
	if yyb2948 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.APIVersion = ""
	} else {
		x.APIVersion = string(r.DecodeString())
	}
	yyj2948++
	if yyhl2948 {
		yyb2948 = yyj2948 > l
	} else {
		yyb2948 = r.CheckBreak()
	}
	if yyb2948 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.ObjectMeta = ObjectMeta{}
	} else {
		yyv2951 := &x.ObjectMeta
		yyv2951.CodecDecodeSelf(d)
	}
	yyj2948++
	if yyhl2948 {
		yyb2948 = yyj2948 > l
	} else {
		yyb2948 = r.CheckBreak()
	}
	if yyb2948 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.InvolvedObject = ObjectReference{}
	} else {
		yyv2952 := &x.InvolvedObject
		yyv2952.CodecDecodeSelf(d)
	}
	yyj2948++
	if yyhl2948 {
		yyb2948 = yyj2948 > l
	} else {
		yyb2948 = r.CheckBreak()
	}
	if yyb2948 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.Reason = ""
	} else {
		x.Reason = string(r.DecodeString())
	}
	yyj2948++
	if yyhl2948 {
		yyb2948 = yyj2948 > l
	} else {
		yyb2948 = r.CheckBreak()
	}
	if yyb2948 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.Message = ""
	} else {
		x.Message = string(r.DecodeString())
	}
	yyj2948++
	if yyhl2948 {
		yyb2948 = yyj2948 > l
	} else {
		yyb2948 = r.CheckBreak()
	}
	if yyb2948 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.Source = EventSource{}
	} else {
		yyv2955 := &x.Source
		yyv2955.CodecDecodeSelf(d)
	}
	yyj2948++
	if yyhl2948 {
		yyb2948 = yyj2948 > l
	} else {
		yyb2948 = r.CheckBreak()
	}
	if yyb2948 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.FirstTimestamp = pkg2_unversioned.Time{}
	} else {
		yyv2956 := &x.FirstTimestamp
		yym2957 := z.DecBinary()
		_ = yym2957
		if false {
		} else if z.HasExtensions() && z.DecExt(yyv2956) {
		} else if yym2957 {
			z.DecBinaryUnmarshal(yyv2956)
		} else if !yym2957 && z.IsJSONHandle() {
			z.DecJSONUnmarshal(yyv2956)
		} else {
			z.DecFallback(yyv2956, false)
		}
	}
	yyj2948++
	if yyhl2948 {
		yyb2948 = yyj2948 > l
	} else {
		yyb2948 = r.CheckBreak()
	}
	if yyb2948 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.LastTimestamp = pkg2_unversioned.Time{}
	} else {
		yyv2958 := &x.LastTimestamp
		yym2959 := z.DecBinary()
		_ = yym2959
		if false {
		} else if z.HasExtensions() && z.DecExt(yyv2958) {
		} else if yym2959 {
			z.DecBinaryUnmarshal(yyv2958)
		} else if !yym2959 && z.IsJSONHandle() {
			z.DecJSONUnmarshal(yyv2958)
		} else {
			z.DecFallback(yyv2958, false)
		}
	}
	yyj2948++
	if yyhl2948 {
		yyb2948 = yyj2948 > l
	} else {
		yyb2948 = r.CheckBreak()
	}
	if yyb2948 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.Count = 0
	} else {
		x.Count = int(r.DecodeInt(codecSelferBitsize1234))
	}
	for {
		yyj2948++
		if yyhl2948 {
			yyb2948 = yyj2948 > l
		} else {
			yyb2948 = r.CheckBreak()
		}
		if yyb2948 {
			break
		}
		z.DecStructFieldNotFound(yyj2948-1, "")
	}
	r.ReadEnd()
}

func (x *EventList) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym2961 := z.EncBinary()
		_ = yym2961
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep2962 := !z.EncBinary()
			yy2arr2962 := z.EncBasicHandle().StructToArray
			var yyq2962 [4]bool
			_, _, _ = yysep2962, yyq2962, yy2arr2962
			const yyr2962 bool = false
			yyq2962[0] = x.Kind != ""
			yyq2962[1] = x.APIVersion != ""
			yyq2962[2] = true
			if yyr2962 || yy2arr2962 {
				r.EncodeArrayStart(4)
			} else {
				var yynn2962 int = 1
				for _, b := range yyq2962 {
					if b {
						yynn2962++
					}
				}
				r.EncodeMapStart(yynn2962)
			}
			if yyr2962 || yy2arr2962 {
				if yyq2962[0] {
					yym2964 := z.EncBinary()
					_ = yym2964
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq2962[0] {
					r.EncodeString(codecSelferC_UTF81234, string("kind"))
					yym2965 := z.EncBinary()
					_ = yym2965
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				}
			}
			if yyr2962 || yy2arr2962 {
				if yyq2962[1] {
					yym2967 := z.EncBinary()
					_ = yym2967
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq2962[1] {
					r.EncodeString(codecSelferC_UTF81234, string("apiVersion"))
					yym2968 := z.EncBinary()
					_ = yym2968
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				}
			}
			if yyr2962 || yy2arr2962 {
				if yyq2962[2] {
					yy2970 := &x.ListMeta
					yym2971 := z.EncBinary()
					_ = yym2971
					if false {
					} else if z.HasExtensions() && z.EncExt(yy2970) {
					} else {
						z.EncFallback(yy2970)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq2962[2] {
					r.EncodeString(codecSelferC_UTF81234, string("metadata"))
					yy2972 := &x.ListMeta
					yym2973 := z.EncBinary()
					_ = yym2973
					if false {
					} else if z.HasExtensions() && z.EncExt(yy2972) {
					} else {
						z.EncFallback(yy2972)
					}
				}
			}
			if yyr2962 || yy2arr2962 {
				if x.Items == nil {
					r.EncodeNil()
				} else {
					yym2975 := z.EncBinary()
					_ = yym2975
					if false {
					} else {
						h.encSliceEvent(([]Event)(x.Items), e)
					}
				}
			} else {
				r.EncodeString(codecSelferC_UTF81234, string("items"))
				if x.Items == nil {
					r.EncodeNil()
				} else {
					yym2976 := z.EncBinary()
					_ = yym2976
					if false {
					} else {
						h.encSliceEvent(([]Event)(x.Items), e)
					}
				}
			}
			if yysep2962 {
				r.EncodeEnd()
			}
		}
	}
}

func (x *EventList) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym2977 := z.DecBinary()
	_ = yym2977
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		if r.IsContainerType(codecSelferValueTypeMap1234) {
			yyl2978 := r.ReadMapStart()
			if yyl2978 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromMap(yyl2978, d)
			}
		} else if r.IsContainerType(codecSelferValueTypeArray1234) {
			yyl2978 := r.ReadArrayStart()
			if yyl2978 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromArray(yyl2978, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *EventList) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys2979Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys2979Slc
	var yyhl2979 bool = l >= 0
	for yyj2979 := 0; ; yyj2979++ {
		if yyhl2979 {
			if yyj2979 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		yys2979Slc = r.DecodeBytes(yys2979Slc, true, true)
		yys2979 := string(yys2979Slc)
		switch yys2979 {
		case "kind":
			if r.TryDecodeAsNil() {
				x.Kind = ""
			} else {
				x.Kind = string(r.DecodeString())
			}
		case "apiVersion":
			if r.TryDecodeAsNil() {
				x.APIVersion = ""
			} else {
				x.APIVersion = string(r.DecodeString())
			}
		case "metadata":
			if r.TryDecodeAsNil() {
				x.ListMeta = pkg2_unversioned.ListMeta{}
			} else {
				yyv2982 := &x.ListMeta
				yym2983 := z.DecBinary()
				_ = yym2983
				if false {
				} else if z.HasExtensions() && z.DecExt(yyv2982) {
				} else {
					z.DecFallback(yyv2982, false)
				}
			}
		case "items":
			if r.TryDecodeAsNil() {
				x.Items = nil
			} else {
				yyv2984 := &x.Items
				yym2985 := z.DecBinary()
				_ = yym2985
				if false {
				} else {
					h.decSliceEvent((*[]Event)(yyv2984), d)
				}
			}
		default:
			z.DecStructFieldNotFound(-1, yys2979)
		} // end switch yys2979
	} // end for yyj2979
	if !yyhl2979 {
		r.ReadEnd()
	}
}

func (x *EventList) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj2986 int
	var yyb2986 bool
	var yyhl2986 bool = l >= 0
	yyj2986++
	if yyhl2986 {
		yyb2986 = yyj2986 > l
	} else {
		yyb2986 = r.CheckBreak()
	}
	if yyb2986 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.Kind = ""
	} else {
		x.Kind = string(r.DecodeString())
	}
	yyj2986++
	if yyhl2986 {
		yyb2986 = yyj2986 > l
	} else {
		yyb2986 = r.CheckBreak()
	}
	if yyb2986 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.APIVersion = ""
	} else {
		x.APIVersion = string(r.DecodeString())
	}
	yyj2986++
	if yyhl2986 {
		yyb2986 = yyj2986 > l
	} else {
		yyb2986 = r.CheckBreak()
	}
	if yyb2986 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.ListMeta = pkg2_unversioned.ListMeta{}
	} else {
		yyv2989 := &x.ListMeta
		yym2990 := z.DecBinary()
		_ = yym2990
		if false {
		} else if z.HasExtensions() && z.DecExt(yyv2989) {
		} else {
			z.DecFallback(yyv2989, false)
		}
	}
	yyj2986++
	if yyhl2986 {
		yyb2986 = yyj2986 > l
	} else {
		yyb2986 = r.CheckBreak()
	}
	if yyb2986 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.Items = nil
	} else {
		yyv2991 := &x.Items
		yym2992 := z.DecBinary()
		_ = yym2992
		if false {
		} else {
			h.decSliceEvent((*[]Event)(yyv2991), d)
		}
	}
	for {
		yyj2986++
		if yyhl2986 {
			yyb2986 = yyj2986 > l
		} else {
			yyb2986 = r.CheckBreak()
		}
		if yyb2986 {
			break
		}
		z.DecStructFieldNotFound(yyj2986-1, "")
	}
	r.ReadEnd()
}

func (x *List) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym2993 := z.EncBinary()
		_ = yym2993
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep2994 := !z.EncBinary()
			yy2arr2994 := z.EncBasicHandle().StructToArray
			var yyq2994 [4]bool
			_, _, _ = yysep2994, yyq2994, yy2arr2994
			const yyr2994 bool = false
			yyq2994[0] = x.Kind != ""
			yyq2994[1] = x.APIVersion != ""
			yyq2994[2] = true
			if yyr2994 || yy2arr2994 {
				r.EncodeArrayStart(4)
			} else {
				var yynn2994 int = 1
				for _, b := range yyq2994 {
					if b {
						yynn2994++
					}
				}
				r.EncodeMapStart(yynn2994)
			}
			if yyr2994 || yy2arr2994 {
				if yyq2994[0] {
					yym2996 := z.EncBinary()
					_ = yym2996
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq2994[0] {
					r.EncodeString(codecSelferC_UTF81234, string("kind"))
					yym2997 := z.EncBinary()
					_ = yym2997
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				}
			}
			if yyr2994 || yy2arr2994 {
				if yyq2994[1] {
					yym2999 := z.EncBinary()
					_ = yym2999
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq2994[1] {
					r.EncodeString(codecSelferC_UTF81234, string("apiVersion"))
					yym3000 := z.EncBinary()
					_ = yym3000
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				}
			}
			if yyr2994 || yy2arr2994 {
				if yyq2994[2] {
					yy3002 := &x.ListMeta
					yym3003 := z.EncBinary()
					_ = yym3003
					if false {
					} else if z.HasExtensions() && z.EncExt(yy3002) {
					} else {
						z.EncFallback(yy3002)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq2994[2] {
					r.EncodeString(codecSelferC_UTF81234, string("metadata"))
					yy3004 := &x.ListMeta
					yym3005 := z.EncBinary()
					_ = yym3005
					if false {
					} else if z.HasExtensions() && z.EncExt(yy3004) {
					} else {
						z.EncFallback(yy3004)
					}
				}
			}
			if yyr2994 || yy2arr2994 {
				if x.Items == nil {
					r.EncodeNil()
				} else {
					yym3007 := z.EncBinary()
					_ = yym3007
					if false {
					} else {
						h.encSliceruntime_RawExtension(([]pkg6_runtime.RawExtension)(x.Items), e)
					}
				}
			} else {
				r.EncodeString(codecSelferC_UTF81234, string("items"))
				if x.Items == nil {
					r.EncodeNil()
				} else {
					yym3008 := z.EncBinary()
					_ = yym3008
					if false {
					} else {
						h.encSliceruntime_RawExtension(([]pkg6_runtime.RawExtension)(x.Items), e)
					}
				}
			}
			if yysep2994 {
				r.EncodeEnd()
			}
		}
	}
}

func (x *List) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym3009 := z.DecBinary()
	_ = yym3009
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		if r.IsContainerType(codecSelferValueTypeMap1234) {
			yyl3010 := r.ReadMapStart()
			if yyl3010 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromMap(yyl3010, d)
			}
		} else if r.IsContainerType(codecSelferValueTypeArray1234) {
			yyl3010 := r.ReadArrayStart()
			if yyl3010 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromArray(yyl3010, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *List) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys3011Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys3011Slc
	var yyhl3011 bool = l >= 0
	for yyj3011 := 0; ; yyj3011++ {
		if yyhl3011 {
			if yyj3011 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		yys3011Slc = r.DecodeBytes(yys3011Slc, true, true)
		yys3011 := string(yys3011Slc)
		switch yys3011 {
		case "kind":
			if r.TryDecodeAsNil() {
				x.Kind = ""
			} else {
				x.Kind = string(r.DecodeString())
			}
		case "apiVersion":
			if r.TryDecodeAsNil() {
				x.APIVersion = ""
			} else {
				x.APIVersion = string(r.DecodeString())
			}
		case "metadata":
			if r.TryDecodeAsNil() {
				x.ListMeta = pkg2_unversioned.ListMeta{}
			} else {
				yyv3014 := &x.ListMeta
				yym3015 := z.DecBinary()
				_ = yym3015
				if false {
				} else if z.HasExtensions() && z.DecExt(yyv3014) {
				} else {
					z.DecFallback(yyv3014, false)
				}
			}
		case "items":
			if r.TryDecodeAsNil() {
				x.Items = nil
			} else {
				yyv3016 := &x.Items
				yym3017 := z.DecBinary()
				_ = yym3017
				if false {
				} else {
					h.decSliceruntime_RawExtension((*[]pkg6_runtime.RawExtension)(yyv3016), d)
				}
			}
		default:
			z.DecStructFieldNotFound(-1, yys3011)
		} // end switch yys3011
	} // end for yyj3011
	if !yyhl3011 {
		r.ReadEnd()
	}
}

func (x *List) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj3018 int
	var yyb3018 bool
	var yyhl3018 bool = l >= 0
	yyj3018++
	if yyhl3018 {
		yyb3018 = yyj3018 > l
	} else {
		yyb3018 = r.CheckBreak()
	}
	if yyb3018 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.Kind = ""
	} else {
		x.Kind = string(r.DecodeString())
	}
	yyj3018++
	if yyhl3018 {
		yyb3018 = yyj3018 > l
	} else {
		yyb3018 = r.CheckBreak()
	}
	if yyb3018 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.APIVersion = ""
	} else {
		x.APIVersion = string(r.DecodeString())
	}
	yyj3018++
	if yyhl3018 {
		yyb3018 = yyj3018 > l
	} else {
		yyb3018 = r.CheckBreak()
	}
	if yyb3018 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.ListMeta = pkg2_unversioned.ListMeta{}
	} else {
		yyv3021 := &x.ListMeta
		yym3022 := z.DecBinary()
		_ = yym3022
		if false {
		} else if z.HasExtensions() && z.DecExt(yyv3021) {
		} else {
			z.DecFallback(yyv3021, false)
		}
	}
	yyj3018++
	if yyhl3018 {
		yyb3018 = yyj3018 > l
	} else {
		yyb3018 = r.CheckBreak()
	}
	if yyb3018 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.Items = nil
	} else {
		yyv3023 := &x.Items
		yym3024 := z.DecBinary()
		_ = yym3024
		if false {
		} else {
			h.decSliceruntime_RawExtension((*[]pkg6_runtime.RawExtension)(yyv3023), d)
		}
	}
	for {
		yyj3018++
		if yyhl3018 {
			yyb3018 = yyj3018 > l
		} else {
			yyb3018 = r.CheckBreak()
		}
		if yyb3018 {
			break
		}
		z.DecStructFieldNotFound(yyj3018-1, "")
	}
	r.ReadEnd()
}

func (x LimitType) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	yym3025 := z.EncBinary()
	_ = yym3025
	if false {
	} else if z.HasExtensions() && z.EncExt(x) {
	} else {
		r.EncodeString(codecSelferC_UTF81234, string(x))
	}
}

func (x *LimitType) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym3026 := z.DecBinary()
	_ = yym3026
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		*((*string)(x)) = r.DecodeString()
	}
}

func (x *LimitRangeItem) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym3027 := z.EncBinary()
		_ = yym3027
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep3028 := !z.EncBinary()
			yy2arr3028 := z.EncBasicHandle().StructToArray
			var yyq3028 [6]bool
			_, _, _ = yysep3028, yyq3028, yy2arr3028
			const yyr3028 bool = false
			yyq3028[0] = x.Type != ""
			yyq3028[1] = len(x.Max) != 0
			yyq3028[2] = len(x.Min) != 0
			yyq3028[3] = len(x.Default) != 0
			yyq3028[4] = len(x.DefaultRequest) != 0
			yyq3028[5] = len(x.MaxLimitRequestRatio) != 0
			if yyr3028 || yy2arr3028 {
				r.EncodeArrayStart(6)
			} else {
				var yynn3028 int = 0
				for _, b := range yyq3028 {
					if b {
						yynn3028++
					}
				}
				r.EncodeMapStart(yynn3028)
			}
			if yyr3028 || yy2arr3028 {
				if yyq3028[0] {
					x.Type.CodecEncodeSelf(e)
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq3028[0] {
					r.EncodeString(codecSelferC_UTF81234, string("type"))
					x.Type.CodecEncodeSelf(e)
				}
			}
			if yyr3028 || yy2arr3028 {
				if yyq3028[1] {
					if x.Max == nil {
						r.EncodeNil()
					} else {
						x.Max.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq3028[1] {
					r.EncodeString(codecSelferC_UTF81234, string("max"))
					if x.Max == nil {
						r.EncodeNil()
					} else {
						x.Max.CodecEncodeSelf(e)
					}
				}
			}
			if yyr3028 || yy2arr3028 {
				if yyq3028[2] {
					if x.Min == nil {
						r.EncodeNil()
					} else {
						x.Min.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq3028[2] {
					r.EncodeString(codecSelferC_UTF81234, string("min"))
					if x.Min == nil {
						r.EncodeNil()
					} else {
						x.Min.CodecEncodeSelf(e)
					}
				}
			}
			if yyr3028 || yy2arr3028 {
				if yyq3028[3] {
					if x.Default == nil {
						r.EncodeNil()
					} else {
						x.Default.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq3028[3] {
					r.EncodeString(codecSelferC_UTF81234, string("default"))
					if x.Default == nil {
						r.EncodeNil()
					} else {
						x.Default.CodecEncodeSelf(e)
					}
				}
			}
			if yyr3028 || yy2arr3028 {
				if yyq3028[4] {
					if x.DefaultRequest == nil {
						r.EncodeNil()
					} else {
						x.DefaultRequest.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq3028[4] {
					r.EncodeString(codecSelferC_UTF81234, string("defaultRequest"))
					if x.DefaultRequest == nil {
						r.EncodeNil()
					} else {
						x.DefaultRequest.CodecEncodeSelf(e)
					}
				}
			}
			if yyr3028 || yy2arr3028 {
				if yyq3028[5] {
					if x.MaxLimitRequestRatio == nil {
						r.EncodeNil()
					} else {
						x.MaxLimitRequestRatio.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq3028[5] {
					r.EncodeString(codecSelferC_UTF81234, string("maxLimitRequestRatio"))
					if x.MaxLimitRequestRatio == nil {
						r.EncodeNil()
					} else {
						x.MaxLimitRequestRatio.CodecEncodeSelf(e)
					}
				}
			}
			if yysep3028 {
				r.EncodeEnd()
			}
		}
	}
}

func (x *LimitRangeItem) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym3035 := z.DecBinary()
	_ = yym3035
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		if r.IsContainerType(codecSelferValueTypeMap1234) {
			yyl3036 := r.ReadMapStart()
			if yyl3036 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromMap(yyl3036, d)
			}
		} else if r.IsContainerType(codecSelferValueTypeArray1234) {
			yyl3036 := r.ReadArrayStart()
			if yyl3036 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromArray(yyl3036, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *LimitRangeItem) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys3037Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys3037Slc
	var yyhl3037 bool = l >= 0
	for yyj3037 := 0; ; yyj3037++ {
		if yyhl3037 {
			if yyj3037 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		yys3037Slc = r.DecodeBytes(yys3037Slc, true, true)
		yys3037 := string(yys3037Slc)
		switch yys3037 {
		case "type":
			if r.TryDecodeAsNil() {
				x.Type = ""
			} else {
				x.Type = LimitType(r.DecodeString())
			}
		case "max":
			if r.TryDecodeAsNil() {
				x.Max = nil
			} else {
				yyv3039 := &x.Max
				yyv3039.CodecDecodeSelf(d)
			}
		case "min":
			if r.TryDecodeAsNil() {
				x.Min = nil
			} else {
				yyv3040 := &x.Min
				yyv3040.CodecDecodeSelf(d)
			}
		case "default":
			if r.TryDecodeAsNil() {
				x.Default = nil
			} else {
				yyv3041 := &x.Default
				yyv3041.CodecDecodeSelf(d)
			}
		case "defaultRequest":
			if r.TryDecodeAsNil() {
				x.DefaultRequest = nil
			} else {
				yyv3042 := &x.DefaultRequest
				yyv3042.CodecDecodeSelf(d)
			}
		case "maxLimitRequestRatio":
			if r.TryDecodeAsNil() {
				x.MaxLimitRequestRatio = nil
			} else {
				yyv3043 := &x.MaxLimitRequestRatio
				yyv3043.CodecDecodeSelf(d)
			}
		default:
			z.DecStructFieldNotFound(-1, yys3037)
		} // end switch yys3037
	} // end for yyj3037
	if !yyhl3037 {
		r.ReadEnd()
	}
}

func (x *LimitRangeItem) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj3044 int
	var yyb3044 bool
	var yyhl3044 bool = l >= 0
	yyj3044++
	if yyhl3044 {
		yyb3044 = yyj3044 > l
	} else {
		yyb3044 = r.CheckBreak()
	}
	if yyb3044 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.Type = ""
	} else {
		x.Type = LimitType(r.DecodeString())
	}
	yyj3044++
	if yyhl3044 {
		yyb3044 = yyj3044 > l
	} else {
		yyb3044 = r.CheckBreak()
	}
	if yyb3044 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.Max = nil
	} else {
		yyv3046 := &x.Max
		yyv3046.CodecDecodeSelf(d)
	}
	yyj3044++
	if yyhl3044 {
		yyb3044 = yyj3044 > l
	} else {
		yyb3044 = r.CheckBreak()
	}
	if yyb3044 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.Min = nil
	} else {
		yyv3047 := &x.Min
		yyv3047.CodecDecodeSelf(d)
	}
	yyj3044++
	if yyhl3044 {
		yyb3044 = yyj3044 > l
	} else {
		yyb3044 = r.CheckBreak()
	}
	if yyb3044 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.Default = nil
	} else {
		yyv3048 := &x.Default
		yyv3048.CodecDecodeSelf(d)
	}
	yyj3044++
	if yyhl3044 {
		yyb3044 = yyj3044 > l
	} else {
		yyb3044 = r.CheckBreak()
	}
	if yyb3044 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.DefaultRequest = nil
	} else {
		yyv3049 := &x.DefaultRequest
		yyv3049.CodecDecodeSelf(d)
	}
	yyj3044++
	if yyhl3044 {
		yyb3044 = yyj3044 > l
	} else {
		yyb3044 = r.CheckBreak()
	}
	if yyb3044 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.MaxLimitRequestRatio = nil
	} else {
		yyv3050 := &x.MaxLimitRequestRatio
		yyv3050.CodecDecodeSelf(d)
	}
	for {
		yyj3044++
		if yyhl3044 {
			yyb3044 = yyj3044 > l
		} else {
			yyb3044 = r.CheckBreak()
		}
		if yyb3044 {
			break
		}
		z.DecStructFieldNotFound(yyj3044-1, "")
	}
	r.ReadEnd()
}

func (x *LimitRangeSpec) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym3051 := z.EncBinary()
		_ = yym3051
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep3052 := !z.EncBinary()
			yy2arr3052 := z.EncBasicHandle().StructToArray
			var yyq3052 [1]bool
			_, _, _ = yysep3052, yyq3052, yy2arr3052
			const yyr3052 bool = false
			if yyr3052 || yy2arr3052 {
				r.EncodeArrayStart(1)
			} else {
				var yynn3052 int = 1
				for _, b := range yyq3052 {
					if b {
						yynn3052++
					}
				}
				r.EncodeMapStart(yynn3052)
			}
			if yyr3052 || yy2arr3052 {
				if x.Limits == nil {
					r.EncodeNil()
				} else {
					yym3054 := z.EncBinary()
					_ = yym3054
					if false {
					} else {
						h.encSliceLimitRangeItem(([]LimitRangeItem)(x.Limits), e)
					}
				}
			} else {
				r.EncodeString(codecSelferC_UTF81234, string("limits"))
				if x.Limits == nil {
					r.EncodeNil()
				} else {
					yym3055 := z.EncBinary()
					_ = yym3055
					if false {
					} else {
						h.encSliceLimitRangeItem(([]LimitRangeItem)(x.Limits), e)
					}
				}
			}
			if yysep3052 {
				r.EncodeEnd()
			}
		}
	}
}

func (x *LimitRangeSpec) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym3056 := z.DecBinary()
	_ = yym3056
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		if r.IsContainerType(codecSelferValueTypeMap1234) {
			yyl3057 := r.ReadMapStart()
			if yyl3057 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromMap(yyl3057, d)
			}
		} else if r.IsContainerType(codecSelferValueTypeArray1234) {
			yyl3057 := r.ReadArrayStart()
			if yyl3057 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromArray(yyl3057, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *LimitRangeSpec) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys3058Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys3058Slc
	var yyhl3058 bool = l >= 0
	for yyj3058 := 0; ; yyj3058++ {
		if yyhl3058 {
			if yyj3058 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		yys3058Slc = r.DecodeBytes(yys3058Slc, true, true)
		yys3058 := string(yys3058Slc)
		switch yys3058 {
		case "limits":
			if r.TryDecodeAsNil() {
				x.Limits = nil
			} else {
				yyv3059 := &x.Limits
				yym3060 := z.DecBinary()
				_ = yym3060
				if false {
				} else {
					h.decSliceLimitRangeItem((*[]LimitRangeItem)(yyv3059), d)
				}
			}
		default:
			z.DecStructFieldNotFound(-1, yys3058)
		} // end switch yys3058
	} // end for yyj3058
	if !yyhl3058 {
		r.ReadEnd()
	}
}

func (x *LimitRangeSpec) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj3061 int
	var yyb3061 bool
	var yyhl3061 bool = l >= 0
	yyj3061++
	if yyhl3061 {
		yyb3061 = yyj3061 > l
	} else {
		yyb3061 = r.CheckBreak()
	}
	if yyb3061 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.Limits = nil
	} else {
		yyv3062 := &x.Limits
		yym3063 := z.DecBinary()
		_ = yym3063
		if false {
		} else {
			h.decSliceLimitRangeItem((*[]LimitRangeItem)(yyv3062), d)
		}
	}
	for {
		yyj3061++
		if yyhl3061 {
			yyb3061 = yyj3061 > l
		} else {
			yyb3061 = r.CheckBreak()
		}
		if yyb3061 {
			break
		}
		z.DecStructFieldNotFound(yyj3061-1, "")
	}
	r.ReadEnd()
}

func (x *LimitRange) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym3064 := z.EncBinary()
		_ = yym3064
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep3065 := !z.EncBinary()
			yy2arr3065 := z.EncBasicHandle().StructToArray
			var yyq3065 [4]bool
			_, _, _ = yysep3065, yyq3065, yy2arr3065
			const yyr3065 bool = false
			yyq3065[0] = x.Kind != ""
			yyq3065[1] = x.APIVersion != ""
			yyq3065[2] = true
			yyq3065[3] = true
			if yyr3065 || yy2arr3065 {
				r.EncodeArrayStart(4)
			} else {
				var yynn3065 int = 0
				for _, b := range yyq3065 {
					if b {
						yynn3065++
					}
				}
				r.EncodeMapStart(yynn3065)
			}
			if yyr3065 || yy2arr3065 {
				if yyq3065[0] {
					yym3067 := z.EncBinary()
					_ = yym3067
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq3065[0] {
					r.EncodeString(codecSelferC_UTF81234, string("kind"))
					yym3068 := z.EncBinary()
					_ = yym3068
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				}
			}
			if yyr3065 || yy2arr3065 {
				if yyq3065[1] {
					yym3070 := z.EncBinary()
					_ = yym3070
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq3065[1] {
					r.EncodeString(codecSelferC_UTF81234, string("apiVersion"))
					yym3071 := z.EncBinary()
					_ = yym3071
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				}
			}
			if yyr3065 || yy2arr3065 {
				if yyq3065[2] {
					yy3073 := &x.ObjectMeta
					yy3073.CodecEncodeSelf(e)
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq3065[2] {
					r.EncodeString(codecSelferC_UTF81234, string("metadata"))
					yy3074 := &x.ObjectMeta
					yy3074.CodecEncodeSelf(e)
				}
			}
			if yyr3065 || yy2arr3065 {
				if yyq3065[3] {
					yy3076 := &x.Spec
					yy3076.CodecEncodeSelf(e)
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq3065[3] {
					r.EncodeString(codecSelferC_UTF81234, string("spec"))
					yy3077 := &x.Spec
					yy3077.CodecEncodeSelf(e)
				}
			}
			if yysep3065 {
				r.EncodeEnd()
			}
		}
	}
}

func (x *LimitRange) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym3078 := z.DecBinary()
	_ = yym3078
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		if r.IsContainerType(codecSelferValueTypeMap1234) {
			yyl3079 := r.ReadMapStart()
			if yyl3079 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromMap(yyl3079, d)
			}
		} else if r.IsContainerType(codecSelferValueTypeArray1234) {
			yyl3079 := r.ReadArrayStart()
			if yyl3079 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromArray(yyl3079, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *LimitRange) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys3080Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys3080Slc
	var yyhl3080 bool = l >= 0
	for yyj3080 := 0; ; yyj3080++ {
		if yyhl3080 {
			if yyj3080 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		yys3080Slc = r.DecodeBytes(yys3080Slc, true, true)
		yys3080 := string(yys3080Slc)
		switch yys3080 {
		case "kind":
			if r.TryDecodeAsNil() {
				x.Kind = ""
			} else {
				x.Kind = string(r.DecodeString())
			}
		case "apiVersion":
			if r.TryDecodeAsNil() {
				x.APIVersion = ""
			} else {
				x.APIVersion = string(r.DecodeString())
			}
		case "metadata":
			if r.TryDecodeAsNil() {
				x.ObjectMeta = ObjectMeta{}
			} else {
				yyv3083 := &x.ObjectMeta
				yyv3083.CodecDecodeSelf(d)
			}
		case "spec":
			if r.TryDecodeAsNil() {
				x.Spec = LimitRangeSpec{}
			} else {
				yyv3084 := &x.Spec
				yyv3084.CodecDecodeSelf(d)
			}
		default:
			z.DecStructFieldNotFound(-1, yys3080)
		} // end switch yys3080
	} // end for yyj3080
	if !yyhl3080 {
		r.ReadEnd()
	}
}

func (x *LimitRange) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj3085 int
	var yyb3085 bool
	var yyhl3085 bool = l >= 0
	yyj3085++
	if yyhl3085 {
		yyb3085 = yyj3085 > l
	} else {
		yyb3085 = r.CheckBreak()
	}
	if yyb3085 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.Kind = ""
	} else {
		x.Kind = string(r.DecodeString())
	}
	yyj3085++
	if yyhl3085 {
		yyb3085 = yyj3085 > l
	} else {
		yyb3085 = r.CheckBreak()
	}
	if yyb3085 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.APIVersion = ""
	} else {
		x.APIVersion = string(r.DecodeString())
	}
	yyj3085++
	if yyhl3085 {
		yyb3085 = yyj3085 > l
	} else {
		yyb3085 = r.CheckBreak()
	}
	if yyb3085 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.ObjectMeta = ObjectMeta{}
	} else {
		yyv3088 := &x.ObjectMeta
		yyv3088.CodecDecodeSelf(d)
	}
	yyj3085++
	if yyhl3085 {
		yyb3085 = yyj3085 > l
	} else {
		yyb3085 = r.CheckBreak()
	}
	if yyb3085 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.Spec = LimitRangeSpec{}
	} else {
		yyv3089 := &x.Spec
		yyv3089.CodecDecodeSelf(d)
	}
	for {
		yyj3085++
		if yyhl3085 {
			yyb3085 = yyj3085 > l
		} else {
			yyb3085 = r.CheckBreak()
		}
		if yyb3085 {
			break
		}
		z.DecStructFieldNotFound(yyj3085-1, "")
	}
	r.ReadEnd()
}

func (x *LimitRangeList) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym3090 := z.EncBinary()
		_ = yym3090
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep3091 := !z.EncBinary()
			yy2arr3091 := z.EncBasicHandle().StructToArray
			var yyq3091 [4]bool
			_, _, _ = yysep3091, yyq3091, yy2arr3091
			const yyr3091 bool = false
			yyq3091[0] = x.Kind != ""
			yyq3091[1] = x.APIVersion != ""
			yyq3091[2] = true
			if yyr3091 || yy2arr3091 {
				r.EncodeArrayStart(4)
			} else {
				var yynn3091 int = 1
				for _, b := range yyq3091 {
					if b {
						yynn3091++
					}
				}
				r.EncodeMapStart(yynn3091)
			}
			if yyr3091 || yy2arr3091 {
				if yyq3091[0] {
					yym3093 := z.EncBinary()
					_ = yym3093
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq3091[0] {
					r.EncodeString(codecSelferC_UTF81234, string("kind"))
					yym3094 := z.EncBinary()
					_ = yym3094
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				}
			}
			if yyr3091 || yy2arr3091 {
				if yyq3091[1] {
					yym3096 := z.EncBinary()
					_ = yym3096
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq3091[1] {
					r.EncodeString(codecSelferC_UTF81234, string("apiVersion"))
					yym3097 := z.EncBinary()
					_ = yym3097
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				}
			}
			if yyr3091 || yy2arr3091 {
				if yyq3091[2] {
					yy3099 := &x.ListMeta
					yym3100 := z.EncBinary()
					_ = yym3100
					if false {
					} else if z.HasExtensions() && z.EncExt(yy3099) {
					} else {
						z.EncFallback(yy3099)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq3091[2] {
					r.EncodeString(codecSelferC_UTF81234, string("metadata"))
					yy3101 := &x.ListMeta
					yym3102 := z.EncBinary()
					_ = yym3102
					if false {
					} else if z.HasExtensions() && z.EncExt(yy3101) {
					} else {
						z.EncFallback(yy3101)
					}
				}
			}
			if yyr3091 || yy2arr3091 {
				if x.Items == nil {
					r.EncodeNil()
				} else {
					yym3104 := z.EncBinary()
					_ = yym3104
					if false {
					} else {
						h.encSliceLimitRange(([]LimitRange)(x.Items), e)
					}
				}
			} else {
				r.EncodeString(codecSelferC_UTF81234, string("items"))
				if x.Items == nil {
					r.EncodeNil()
				} else {
					yym3105 := z.EncBinary()
					_ = yym3105
					if false {
					} else {
						h.encSliceLimitRange(([]LimitRange)(x.Items), e)
					}
				}
			}
			if yysep3091 {
				r.EncodeEnd()
			}
		}
	}
}

func (x *LimitRangeList) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym3106 := z.DecBinary()
	_ = yym3106
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		if r.IsContainerType(codecSelferValueTypeMap1234) {
			yyl3107 := r.ReadMapStart()
			if yyl3107 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromMap(yyl3107, d)
			}
		} else if r.IsContainerType(codecSelferValueTypeArray1234) {
			yyl3107 := r.ReadArrayStart()
			if yyl3107 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromArray(yyl3107, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *LimitRangeList) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys3108Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys3108Slc
	var yyhl3108 bool = l >= 0
	for yyj3108 := 0; ; yyj3108++ {
		if yyhl3108 {
			if yyj3108 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		yys3108Slc = r.DecodeBytes(yys3108Slc, true, true)
		yys3108 := string(yys3108Slc)
		switch yys3108 {
		case "kind":
			if r.TryDecodeAsNil() {
				x.Kind = ""
			} else {
				x.Kind = string(r.DecodeString())
			}
		case "apiVersion":
			if r.TryDecodeAsNil() {
				x.APIVersion = ""
			} else {
				x.APIVersion = string(r.DecodeString())
			}
		case "metadata":
			if r.TryDecodeAsNil() {
				x.ListMeta = pkg2_unversioned.ListMeta{}
			} else {
				yyv3111 := &x.ListMeta
				yym3112 := z.DecBinary()
				_ = yym3112
				if false {
				} else if z.HasExtensions() && z.DecExt(yyv3111) {
				} else {
					z.DecFallback(yyv3111, false)
				}
			}
		case "items":
			if r.TryDecodeAsNil() {
				x.Items = nil
			} else {
				yyv3113 := &x.Items
				yym3114 := z.DecBinary()
				_ = yym3114
				if false {
				} else {
					h.decSliceLimitRange((*[]LimitRange)(yyv3113), d)
				}
			}
		default:
			z.DecStructFieldNotFound(-1, yys3108)
		} // end switch yys3108
	} // end for yyj3108
	if !yyhl3108 {
		r.ReadEnd()
	}
}

func (x *LimitRangeList) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj3115 int
	var yyb3115 bool
	var yyhl3115 bool = l >= 0
	yyj3115++
	if yyhl3115 {
		yyb3115 = yyj3115 > l
	} else {
		yyb3115 = r.CheckBreak()
	}
	if yyb3115 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.Kind = ""
	} else {
		x.Kind = string(r.DecodeString())
	}
	yyj3115++
	if yyhl3115 {
		yyb3115 = yyj3115 > l
	} else {
		yyb3115 = r.CheckBreak()
	}
	if yyb3115 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.APIVersion = ""
	} else {
		x.APIVersion = string(r.DecodeString())
	}
	yyj3115++
	if yyhl3115 {
		yyb3115 = yyj3115 > l
	} else {
		yyb3115 = r.CheckBreak()
	}
	if yyb3115 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.ListMeta = pkg2_unversioned.ListMeta{}
	} else {
		yyv3118 := &x.ListMeta
		yym3119 := z.DecBinary()
		_ = yym3119
		if false {
		} else if z.HasExtensions() && z.DecExt(yyv3118) {
		} else {
			z.DecFallback(yyv3118, false)
		}
	}
	yyj3115++
	if yyhl3115 {
		yyb3115 = yyj3115 > l
	} else {
		yyb3115 = r.CheckBreak()
	}
	if yyb3115 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.Items = nil
	} else {
		yyv3120 := &x.Items
		yym3121 := z.DecBinary()
		_ = yym3121
		if false {
		} else {
			h.decSliceLimitRange((*[]LimitRange)(yyv3120), d)
		}
	}
	for {
		yyj3115++
		if yyhl3115 {
			yyb3115 = yyj3115 > l
		} else {
			yyb3115 = r.CheckBreak()
		}
		if yyb3115 {
			break
		}
		z.DecStructFieldNotFound(yyj3115-1, "")
	}
	r.ReadEnd()
}

func (x *ResourceQuotaSpec) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym3122 := z.EncBinary()
		_ = yym3122
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep3123 := !z.EncBinary()
			yy2arr3123 := z.EncBasicHandle().StructToArray
			var yyq3123 [1]bool
			_, _, _ = yysep3123, yyq3123, yy2arr3123
			const yyr3123 bool = false
			yyq3123[0] = len(x.Hard) != 0
			if yyr3123 || yy2arr3123 {
				r.EncodeArrayStart(1)
			} else {
				var yynn3123 int = 0
				for _, b := range yyq3123 {
					if b {
						yynn3123++
					}
				}
				r.EncodeMapStart(yynn3123)
			}
			if yyr3123 || yy2arr3123 {
				if yyq3123[0] {
					if x.Hard == nil {
						r.EncodeNil()
					} else {
						x.Hard.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq3123[0] {
					r.EncodeString(codecSelferC_UTF81234, string("hard"))
					if x.Hard == nil {
						r.EncodeNil()
					} else {
						x.Hard.CodecEncodeSelf(e)
					}
				}
			}
			if yysep3123 {
				r.EncodeEnd()
			}
		}
	}
}

func (x *ResourceQuotaSpec) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym3125 := z.DecBinary()
	_ = yym3125
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		if r.IsContainerType(codecSelferValueTypeMap1234) {
			yyl3126 := r.ReadMapStart()
			if yyl3126 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromMap(yyl3126, d)
			}
		} else if r.IsContainerType(codecSelferValueTypeArray1234) {
			yyl3126 := r.ReadArrayStart()
			if yyl3126 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromArray(yyl3126, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *ResourceQuotaSpec) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys3127Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys3127Slc
	var yyhl3127 bool = l >= 0
	for yyj3127 := 0; ; yyj3127++ {
		if yyhl3127 {
			if yyj3127 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		yys3127Slc = r.DecodeBytes(yys3127Slc, true, true)
		yys3127 := string(yys3127Slc)
		switch yys3127 {
		case "hard":
			if r.TryDecodeAsNil() {
				x.Hard = nil
			} else {
				yyv3128 := &x.Hard
				yyv3128.CodecDecodeSelf(d)
			}
		default:
			z.DecStructFieldNotFound(-1, yys3127)
		} // end switch yys3127
	} // end for yyj3127
	if !yyhl3127 {
		r.ReadEnd()
	}
}

func (x *ResourceQuotaSpec) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj3129 int
	var yyb3129 bool
	var yyhl3129 bool = l >= 0
	yyj3129++
	if yyhl3129 {
		yyb3129 = yyj3129 > l
	} else {
		yyb3129 = r.CheckBreak()
	}
	if yyb3129 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.Hard = nil
	} else {
		yyv3130 := &x.Hard
		yyv3130.CodecDecodeSelf(d)
	}
	for {
		yyj3129++
		if yyhl3129 {
			yyb3129 = yyj3129 > l
		} else {
			yyb3129 = r.CheckBreak()
		}
		if yyb3129 {
			break
		}
		z.DecStructFieldNotFound(yyj3129-1, "")
	}
	r.ReadEnd()
}

func (x *ResourceQuotaStatus) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym3131 := z.EncBinary()
		_ = yym3131
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep3132 := !z.EncBinary()
			yy2arr3132 := z.EncBasicHandle().StructToArray
			var yyq3132 [2]bool
			_, _, _ = yysep3132, yyq3132, yy2arr3132
			const yyr3132 bool = false
			yyq3132[0] = len(x.Hard) != 0
			yyq3132[1] = len(x.Used) != 0
			if yyr3132 || yy2arr3132 {
				r.EncodeArrayStart(2)
			} else {
				var yynn3132 int = 0
				for _, b := range yyq3132 {
					if b {
						yynn3132++
					}
				}
				r.EncodeMapStart(yynn3132)
			}
			if yyr3132 || yy2arr3132 {
				if yyq3132[0] {
					if x.Hard == nil {
						r.EncodeNil()
					} else {
						x.Hard.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq3132[0] {
					r.EncodeString(codecSelferC_UTF81234, string("hard"))
					if x.Hard == nil {
						r.EncodeNil()
					} else {
						x.Hard.CodecEncodeSelf(e)
					}
				}
			}
			if yyr3132 || yy2arr3132 {
				if yyq3132[1] {
					if x.Used == nil {
						r.EncodeNil()
					} else {
						x.Used.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq3132[1] {
					r.EncodeString(codecSelferC_UTF81234, string("used"))
					if x.Used == nil {
						r.EncodeNil()
					} else {
						x.Used.CodecEncodeSelf(e)
					}
				}
			}
			if yysep3132 {
				r.EncodeEnd()
			}
		}
	}
}

func (x *ResourceQuotaStatus) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym3135 := z.DecBinary()
	_ = yym3135
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		if r.IsContainerType(codecSelferValueTypeMap1234) {
			yyl3136 := r.ReadMapStart()
			if yyl3136 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromMap(yyl3136, d)
			}
		} else if r.IsContainerType(codecSelferValueTypeArray1234) {
			yyl3136 := r.ReadArrayStart()
			if yyl3136 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromArray(yyl3136, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *ResourceQuotaStatus) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys3137Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys3137Slc
	var yyhl3137 bool = l >= 0
	for yyj3137 := 0; ; yyj3137++ {
		if yyhl3137 {
			if yyj3137 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		yys3137Slc = r.DecodeBytes(yys3137Slc, true, true)
		yys3137 := string(yys3137Slc)
		switch yys3137 {
		case "hard":
			if r.TryDecodeAsNil() {
				x.Hard = nil
			} else {
				yyv3138 := &x.Hard
				yyv3138.CodecDecodeSelf(d)
			}
		case "used":
			if r.TryDecodeAsNil() {
				x.Used = nil
			} else {
				yyv3139 := &x.Used
				yyv3139.CodecDecodeSelf(d)
			}
		default:
			z.DecStructFieldNotFound(-1, yys3137)
		} // end switch yys3137
	} // end for yyj3137
	if !yyhl3137 {
		r.ReadEnd()
	}
}

func (x *ResourceQuotaStatus) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj3140 int
	var yyb3140 bool
	var yyhl3140 bool = l >= 0
	yyj3140++
	if yyhl3140 {
		yyb3140 = yyj3140 > l
	} else {
		yyb3140 = r.CheckBreak()
	}
	if yyb3140 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.Hard = nil
	} else {
		yyv3141 := &x.Hard
		yyv3141.CodecDecodeSelf(d)
	}
	yyj3140++
	if yyhl3140 {
		yyb3140 = yyj3140 > l
	} else {
		yyb3140 = r.CheckBreak()
	}
	if yyb3140 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.Used = nil
	} else {
		yyv3142 := &x.Used
		yyv3142.CodecDecodeSelf(d)
	}
	for {
		yyj3140++
		if yyhl3140 {
			yyb3140 = yyj3140 > l
		} else {
			yyb3140 = r.CheckBreak()
		}
		if yyb3140 {
			break
		}
		z.DecStructFieldNotFound(yyj3140-1, "")
	}
	r.ReadEnd()
}

func (x *ResourceQuota) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym3143 := z.EncBinary()
		_ = yym3143
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep3144 := !z.EncBinary()
			yy2arr3144 := z.EncBasicHandle().StructToArray
			var yyq3144 [5]bool
			_, _, _ = yysep3144, yyq3144, yy2arr3144
			const yyr3144 bool = false
			yyq3144[0] = x.Kind != ""
			yyq3144[1] = x.APIVersion != ""
			yyq3144[2] = true
			yyq3144[3] = true
			yyq3144[4] = true
			if yyr3144 || yy2arr3144 {
				r.EncodeArrayStart(5)
			} else {
				var yynn3144 int = 0
				for _, b := range yyq3144 {
					if b {
						yynn3144++
					}
				}
				r.EncodeMapStart(yynn3144)
			}
			if yyr3144 || yy2arr3144 {
				if yyq3144[0] {
					yym3146 := z.EncBinary()
					_ = yym3146
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq3144[0] {
					r.EncodeString(codecSelferC_UTF81234, string("kind"))
					yym3147 := z.EncBinary()
					_ = yym3147
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				}
			}
			if yyr3144 || yy2arr3144 {
				if yyq3144[1] {
					yym3149 := z.EncBinary()
					_ = yym3149
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq3144[1] {
					r.EncodeString(codecSelferC_UTF81234, string("apiVersion"))
					yym3150 := z.EncBinary()
					_ = yym3150
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				}
			}
			if yyr3144 || yy2arr3144 {
				if yyq3144[2] {
					yy3152 := &x.ObjectMeta
					yy3152.CodecEncodeSelf(e)
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq3144[2] {
					r.EncodeString(codecSelferC_UTF81234, string("metadata"))
					yy3153 := &x.ObjectMeta
					yy3153.CodecEncodeSelf(e)
				}
			}
			if yyr3144 || yy2arr3144 {
				if yyq3144[3] {
					yy3155 := &x.Spec
					yy3155.CodecEncodeSelf(e)
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq3144[3] {
					r.EncodeString(codecSelferC_UTF81234, string("spec"))
					yy3156 := &x.Spec
					yy3156.CodecEncodeSelf(e)
				}
			}
			if yyr3144 || yy2arr3144 {
				if yyq3144[4] {
					yy3158 := &x.Status
					yy3158.CodecEncodeSelf(e)
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq3144[4] {
					r.EncodeString(codecSelferC_UTF81234, string("status"))
					yy3159 := &x.Status
					yy3159.CodecEncodeSelf(e)
				}
			}
			if yysep3144 {
				r.EncodeEnd()
			}
		}
	}
}

func (x *ResourceQuota) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym3160 := z.DecBinary()
	_ = yym3160
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		if r.IsContainerType(codecSelferValueTypeMap1234) {
			yyl3161 := r.ReadMapStart()
			if yyl3161 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromMap(yyl3161, d)
			}
		} else if r.IsContainerType(codecSelferValueTypeArray1234) {
			yyl3161 := r.ReadArrayStart()
			if yyl3161 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromArray(yyl3161, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *ResourceQuota) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys3162Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys3162Slc
	var yyhl3162 bool = l >= 0
	for yyj3162 := 0; ; yyj3162++ {
		if yyhl3162 {
			if yyj3162 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		yys3162Slc = r.DecodeBytes(yys3162Slc, true, true)
		yys3162 := string(yys3162Slc)
		switch yys3162 {
		case "kind":
			if r.TryDecodeAsNil() {
				x.Kind = ""
			} else {
				x.Kind = string(r.DecodeString())
			}
		case "apiVersion":
			if r.TryDecodeAsNil() {
				x.APIVersion = ""
			} else {
				x.APIVersion = string(r.DecodeString())
			}
		case "metadata":
			if r.TryDecodeAsNil() {
				x.ObjectMeta = ObjectMeta{}
			} else {
				yyv3165 := &x.ObjectMeta
				yyv3165.CodecDecodeSelf(d)
			}
		case "spec":
			if r.TryDecodeAsNil() {
				x.Spec = ResourceQuotaSpec{}
			} else {
				yyv3166 := &x.Spec
				yyv3166.CodecDecodeSelf(d)
			}
		case "status":
			if r.TryDecodeAsNil() {
				x.Status = ResourceQuotaStatus{}
			} else {
				yyv3167 := &x.Status
				yyv3167.CodecDecodeSelf(d)
			}
		default:
			z.DecStructFieldNotFound(-1, yys3162)
		} // end switch yys3162
	} // end for yyj3162
	if !yyhl3162 {
		r.ReadEnd()
	}
}

func (x *ResourceQuota) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj3168 int
	var yyb3168 bool
	var yyhl3168 bool = l >= 0
	yyj3168++
	if yyhl3168 {
		yyb3168 = yyj3168 > l
	} else {
		yyb3168 = r.CheckBreak()
	}
	if yyb3168 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.Kind = ""
	} else {
		x.Kind = string(r.DecodeString())
	}
	yyj3168++
	if yyhl3168 {
		yyb3168 = yyj3168 > l
	} else {
		yyb3168 = r.CheckBreak()
	}
	if yyb3168 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.APIVersion = ""
	} else {
		x.APIVersion = string(r.DecodeString())
	}
	yyj3168++
	if yyhl3168 {
		yyb3168 = yyj3168 > l
	} else {
		yyb3168 = r.CheckBreak()
	}
	if yyb3168 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.ObjectMeta = ObjectMeta{}
	} else {
		yyv3171 := &x.ObjectMeta
		yyv3171.CodecDecodeSelf(d)
	}
	yyj3168++
	if yyhl3168 {
		yyb3168 = yyj3168 > l
	} else {
		yyb3168 = r.CheckBreak()
	}
	if yyb3168 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.Spec = ResourceQuotaSpec{}
	} else {
		yyv3172 := &x.Spec
		yyv3172.CodecDecodeSelf(d)
	}
	yyj3168++
	if yyhl3168 {
		yyb3168 = yyj3168 > l
	} else {
		yyb3168 = r.CheckBreak()
	}
	if yyb3168 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.Status = ResourceQuotaStatus{}
	} else {
		yyv3173 := &x.Status
		yyv3173.CodecDecodeSelf(d)
	}
	for {
		yyj3168++
		if yyhl3168 {
			yyb3168 = yyj3168 > l
		} else {
			yyb3168 = r.CheckBreak()
		}
		if yyb3168 {
			break
		}
		z.DecStructFieldNotFound(yyj3168-1, "")
	}
	r.ReadEnd()
}

func (x *ResourceQuotaList) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym3174 := z.EncBinary()
		_ = yym3174
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep3175 := !z.EncBinary()
			yy2arr3175 := z.EncBasicHandle().StructToArray
			var yyq3175 [4]bool
			_, _, _ = yysep3175, yyq3175, yy2arr3175
			const yyr3175 bool = false
			yyq3175[0] = x.Kind != ""
			yyq3175[1] = x.APIVersion != ""
			yyq3175[2] = true
			if yyr3175 || yy2arr3175 {
				r.EncodeArrayStart(4)
			} else {
				var yynn3175 int = 1
				for _, b := range yyq3175 {
					if b {
						yynn3175++
					}
				}
				r.EncodeMapStart(yynn3175)
			}
			if yyr3175 || yy2arr3175 {
				if yyq3175[0] {
					yym3177 := z.EncBinary()
					_ = yym3177
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq3175[0] {
					r.EncodeString(codecSelferC_UTF81234, string("kind"))
					yym3178 := z.EncBinary()
					_ = yym3178
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				}
			}
			if yyr3175 || yy2arr3175 {
				if yyq3175[1] {
					yym3180 := z.EncBinary()
					_ = yym3180
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq3175[1] {
					r.EncodeString(codecSelferC_UTF81234, string("apiVersion"))
					yym3181 := z.EncBinary()
					_ = yym3181
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				}
			}
			if yyr3175 || yy2arr3175 {
				if yyq3175[2] {
					yy3183 := &x.ListMeta
					yym3184 := z.EncBinary()
					_ = yym3184
					if false {
					} else if z.HasExtensions() && z.EncExt(yy3183) {
					} else {
						z.EncFallback(yy3183)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq3175[2] {
					r.EncodeString(codecSelferC_UTF81234, string("metadata"))
					yy3185 := &x.ListMeta
					yym3186 := z.EncBinary()
					_ = yym3186
					if false {
					} else if z.HasExtensions() && z.EncExt(yy3185) {
					} else {
						z.EncFallback(yy3185)
					}
				}
			}
			if yyr3175 || yy2arr3175 {
				if x.Items == nil {
					r.EncodeNil()
				} else {
					yym3188 := z.EncBinary()
					_ = yym3188
					if false {
					} else {
						h.encSliceResourceQuota(([]ResourceQuota)(x.Items), e)
					}
				}
			} else {
				r.EncodeString(codecSelferC_UTF81234, string("items"))
				if x.Items == nil {
					r.EncodeNil()
				} else {
					yym3189 := z.EncBinary()
					_ = yym3189
					if false {
					} else {
						h.encSliceResourceQuota(([]ResourceQuota)(x.Items), e)
					}
				}
			}
			if yysep3175 {
				r.EncodeEnd()
			}
		}
	}
}

func (x *ResourceQuotaList) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym3190 := z.DecBinary()
	_ = yym3190
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		if r.IsContainerType(codecSelferValueTypeMap1234) {
			yyl3191 := r.ReadMapStart()
			if yyl3191 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromMap(yyl3191, d)
			}
		} else if r.IsContainerType(codecSelferValueTypeArray1234) {
			yyl3191 := r.ReadArrayStart()
			if yyl3191 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromArray(yyl3191, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *ResourceQuotaList) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys3192Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys3192Slc
	var yyhl3192 bool = l >= 0
	for yyj3192 := 0; ; yyj3192++ {
		if yyhl3192 {
			if yyj3192 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		yys3192Slc = r.DecodeBytes(yys3192Slc, true, true)
		yys3192 := string(yys3192Slc)
		switch yys3192 {
		case "kind":
			if r.TryDecodeAsNil() {
				x.Kind = ""
			} else {
				x.Kind = string(r.DecodeString())
			}
		case "apiVersion":
			if r.TryDecodeAsNil() {
				x.APIVersion = ""
			} else {
				x.APIVersion = string(r.DecodeString())
			}
		case "metadata":
			if r.TryDecodeAsNil() {
				x.ListMeta = pkg2_unversioned.ListMeta{}
			} else {
				yyv3195 := &x.ListMeta
				yym3196 := z.DecBinary()
				_ = yym3196
				if false {
				} else if z.HasExtensions() && z.DecExt(yyv3195) {
				} else {
					z.DecFallback(yyv3195, false)
				}
			}
		case "items":
			if r.TryDecodeAsNil() {
				x.Items = nil
			} else {
				yyv3197 := &x.Items
				yym3198 := z.DecBinary()
				_ = yym3198
				if false {
				} else {
					h.decSliceResourceQuota((*[]ResourceQuota)(yyv3197), d)
				}
			}
		default:
			z.DecStructFieldNotFound(-1, yys3192)
		} // end switch yys3192
	} // end for yyj3192
	if !yyhl3192 {
		r.ReadEnd()
	}
}

func (x *ResourceQuotaList) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj3199 int
	var yyb3199 bool
	var yyhl3199 bool = l >= 0
	yyj3199++
	if yyhl3199 {
		yyb3199 = yyj3199 > l
	} else {
		yyb3199 = r.CheckBreak()
	}
	if yyb3199 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.Kind = ""
	} else {
		x.Kind = string(r.DecodeString())
	}
	yyj3199++
	if yyhl3199 {
		yyb3199 = yyj3199 > l
	} else {
		yyb3199 = r.CheckBreak()
	}
	if yyb3199 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.APIVersion = ""
	} else {
		x.APIVersion = string(r.DecodeString())
	}
	yyj3199++
	if yyhl3199 {
		yyb3199 = yyj3199 > l
	} else {
		yyb3199 = r.CheckBreak()
	}
	if yyb3199 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.ListMeta = pkg2_unversioned.ListMeta{}
	} else {
		yyv3202 := &x.ListMeta
		yym3203 := z.DecBinary()
		_ = yym3203
		if false {
		} else if z.HasExtensions() && z.DecExt(yyv3202) {
		} else {
			z.DecFallback(yyv3202, false)
		}
	}
	yyj3199++
	if yyhl3199 {
		yyb3199 = yyj3199 > l
	} else {
		yyb3199 = r.CheckBreak()
	}
	if yyb3199 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.Items = nil
	} else {
		yyv3204 := &x.Items
		yym3205 := z.DecBinary()
		_ = yym3205
		if false {
		} else {
			h.decSliceResourceQuota((*[]ResourceQuota)(yyv3204), d)
		}
	}
	for {
		yyj3199++
		if yyhl3199 {
			yyb3199 = yyj3199 > l
		} else {
			yyb3199 = r.CheckBreak()
		}
		if yyb3199 {
			break
		}
		z.DecStructFieldNotFound(yyj3199-1, "")
	}
	r.ReadEnd()
}

func (x *Secret) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym3206 := z.EncBinary()
		_ = yym3206
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep3207 := !z.EncBinary()
			yy2arr3207 := z.EncBasicHandle().StructToArray
			var yyq3207 [5]bool
			_, _, _ = yysep3207, yyq3207, yy2arr3207
			const yyr3207 bool = false
			yyq3207[0] = x.Kind != ""
			yyq3207[1] = x.APIVersion != ""
			yyq3207[2] = true
			yyq3207[3] = len(x.Data) != 0
			yyq3207[4] = x.Type != ""
			if yyr3207 || yy2arr3207 {
				r.EncodeArrayStart(5)
			} else {
				var yynn3207 int = 0
				for _, b := range yyq3207 {
					if b {
						yynn3207++
					}
				}
				r.EncodeMapStart(yynn3207)
			}
			if yyr3207 || yy2arr3207 {
				if yyq3207[0] {
					yym3209 := z.EncBinary()
					_ = yym3209
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq3207[0] {
					r.EncodeString(codecSelferC_UTF81234, string("kind"))
					yym3210 := z.EncBinary()
					_ = yym3210
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				}
			}
			if yyr3207 || yy2arr3207 {
				if yyq3207[1] {
					yym3212 := z.EncBinary()
					_ = yym3212
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq3207[1] {
					r.EncodeString(codecSelferC_UTF81234, string("apiVersion"))
					yym3213 := z.EncBinary()
					_ = yym3213
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				}
			}
			if yyr3207 || yy2arr3207 {
				if yyq3207[2] {
					yy3215 := &x.ObjectMeta
					yy3215.CodecEncodeSelf(e)
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq3207[2] {
					r.EncodeString(codecSelferC_UTF81234, string("metadata"))
					yy3216 := &x.ObjectMeta
					yy3216.CodecEncodeSelf(e)
				}
			}
			if yyr3207 || yy2arr3207 {
				if yyq3207[3] {
					if x.Data == nil {
						r.EncodeNil()
					} else {
						yym3218 := z.EncBinary()
						_ = yym3218
						if false {
						} else {
							h.encMapstringSliceuint8((map[string][]uint8)(x.Data), e)
						}
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq3207[3] {
					r.EncodeString(codecSelferC_UTF81234, string("data"))
					if x.Data == nil {
						r.EncodeNil()
					} else {
						yym3219 := z.EncBinary()
						_ = yym3219
						if false {
						} else {
							h.encMapstringSliceuint8((map[string][]uint8)(x.Data), e)
						}
					}
				}
			}
			if yyr3207 || yy2arr3207 {
				if yyq3207[4] {
					x.Type.CodecEncodeSelf(e)
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq3207[4] {
					r.EncodeString(codecSelferC_UTF81234, string("type"))
					x.Type.CodecEncodeSelf(e)
				}
			}
			if yysep3207 {
				r.EncodeEnd()
			}
		}
	}
}

func (x *Secret) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym3221 := z.DecBinary()
	_ = yym3221
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		if r.IsContainerType(codecSelferValueTypeMap1234) {
			yyl3222 := r.ReadMapStart()
			if yyl3222 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromMap(yyl3222, d)
			}
		} else if r.IsContainerType(codecSelferValueTypeArray1234) {
			yyl3222 := r.ReadArrayStart()
			if yyl3222 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromArray(yyl3222, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *Secret) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys3223Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys3223Slc
	var yyhl3223 bool = l >= 0
	for yyj3223 := 0; ; yyj3223++ {
		if yyhl3223 {
			if yyj3223 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		yys3223Slc = r.DecodeBytes(yys3223Slc, true, true)
		yys3223 := string(yys3223Slc)
		switch yys3223 {
		case "kind":
			if r.TryDecodeAsNil() {
				x.Kind = ""
			} else {
				x.Kind = string(r.DecodeString())
			}
		case "apiVersion":
			if r.TryDecodeAsNil() {
				x.APIVersion = ""
			} else {
				x.APIVersion = string(r.DecodeString())
			}
		case "metadata":
			if r.TryDecodeAsNil() {
				x.ObjectMeta = ObjectMeta{}
			} else {
				yyv3226 := &x.ObjectMeta
				yyv3226.CodecDecodeSelf(d)
			}
		case "data":
			if r.TryDecodeAsNil() {
				x.Data = nil
			} else {
				yyv3227 := &x.Data
				yym3228 := z.DecBinary()
				_ = yym3228
				if false {
				} else {
					h.decMapstringSliceuint8((*map[string][]uint8)(yyv3227), d)
				}
			}
		case "type":
			if r.TryDecodeAsNil() {
				x.Type = ""
			} else {
				x.Type = SecretType(r.DecodeString())
			}
		default:
			z.DecStructFieldNotFound(-1, yys3223)
		} // end switch yys3223
	} // end for yyj3223
	if !yyhl3223 {
		r.ReadEnd()
	}
}

func (x *Secret) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj3230 int
	var yyb3230 bool
	var yyhl3230 bool = l >= 0
	yyj3230++
	if yyhl3230 {
		yyb3230 = yyj3230 > l
	} else {
		yyb3230 = r.CheckBreak()
	}
	if yyb3230 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.Kind = ""
	} else {
		x.Kind = string(r.DecodeString())
	}
	yyj3230++
	if yyhl3230 {
		yyb3230 = yyj3230 > l
	} else {
		yyb3230 = r.CheckBreak()
	}
	if yyb3230 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.APIVersion = ""
	} else {
		x.APIVersion = string(r.DecodeString())
	}
	yyj3230++
	if yyhl3230 {
		yyb3230 = yyj3230 > l
	} else {
		yyb3230 = r.CheckBreak()
	}
	if yyb3230 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.ObjectMeta = ObjectMeta{}
	} else {
		yyv3233 := &x.ObjectMeta
		yyv3233.CodecDecodeSelf(d)
	}
	yyj3230++
	if yyhl3230 {
		yyb3230 = yyj3230 > l
	} else {
		yyb3230 = r.CheckBreak()
	}
	if yyb3230 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.Data = nil
	} else {
		yyv3234 := &x.Data
		yym3235 := z.DecBinary()
		_ = yym3235
		if false {
		} else {
			h.decMapstringSliceuint8((*map[string][]uint8)(yyv3234), d)
		}
	}
	yyj3230++
	if yyhl3230 {
		yyb3230 = yyj3230 > l
	} else {
		yyb3230 = r.CheckBreak()
	}
	if yyb3230 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.Type = ""
	} else {
		x.Type = SecretType(r.DecodeString())
	}
	for {
		yyj3230++
		if yyhl3230 {
			yyb3230 = yyj3230 > l
		} else {
			yyb3230 = r.CheckBreak()
		}
		if yyb3230 {
			break
		}
		z.DecStructFieldNotFound(yyj3230-1, "")
	}
	r.ReadEnd()
}

func (x SecretType) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	yym3237 := z.EncBinary()
	_ = yym3237
	if false {
	} else if z.HasExtensions() && z.EncExt(x) {
	} else {
		r.EncodeString(codecSelferC_UTF81234, string(x))
	}
}

func (x *SecretType) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym3238 := z.DecBinary()
	_ = yym3238
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		*((*string)(x)) = r.DecodeString()
	}
}

func (x *SecretList) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym3239 := z.EncBinary()
		_ = yym3239
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep3240 := !z.EncBinary()
			yy2arr3240 := z.EncBasicHandle().StructToArray
			var yyq3240 [4]bool
			_, _, _ = yysep3240, yyq3240, yy2arr3240
			const yyr3240 bool = false
			yyq3240[0] = x.Kind != ""
			yyq3240[1] = x.APIVersion != ""
			yyq3240[2] = true
			if yyr3240 || yy2arr3240 {
				r.EncodeArrayStart(4)
			} else {
				var yynn3240 int = 1
				for _, b := range yyq3240 {
					if b {
						yynn3240++
					}
				}
				r.EncodeMapStart(yynn3240)
			}
			if yyr3240 || yy2arr3240 {
				if yyq3240[0] {
					yym3242 := z.EncBinary()
					_ = yym3242
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq3240[0] {
					r.EncodeString(codecSelferC_UTF81234, string("kind"))
					yym3243 := z.EncBinary()
					_ = yym3243
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				}
			}
			if yyr3240 || yy2arr3240 {
				if yyq3240[1] {
					yym3245 := z.EncBinary()
					_ = yym3245
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq3240[1] {
					r.EncodeString(codecSelferC_UTF81234, string("apiVersion"))
					yym3246 := z.EncBinary()
					_ = yym3246
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				}
			}
			if yyr3240 || yy2arr3240 {
				if yyq3240[2] {
					yy3248 := &x.ListMeta
					yym3249 := z.EncBinary()
					_ = yym3249
					if false {
					} else if z.HasExtensions() && z.EncExt(yy3248) {
					} else {
						z.EncFallback(yy3248)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq3240[2] {
					r.EncodeString(codecSelferC_UTF81234, string("metadata"))
					yy3250 := &x.ListMeta
					yym3251 := z.EncBinary()
					_ = yym3251
					if false {
					} else if z.HasExtensions() && z.EncExt(yy3250) {
					} else {
						z.EncFallback(yy3250)
					}
				}
			}
			if yyr3240 || yy2arr3240 {
				if x.Items == nil {
					r.EncodeNil()
				} else {
					yym3253 := z.EncBinary()
					_ = yym3253
					if false {
					} else {
						h.encSliceSecret(([]Secret)(x.Items), e)
					}
				}
			} else {
				r.EncodeString(codecSelferC_UTF81234, string("items"))
				if x.Items == nil {
					r.EncodeNil()
				} else {
					yym3254 := z.EncBinary()
					_ = yym3254
					if false {
					} else {
						h.encSliceSecret(([]Secret)(x.Items), e)
					}
				}
			}
			if yysep3240 {
				r.EncodeEnd()
			}
		}
	}
}

func (x *SecretList) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym3255 := z.DecBinary()
	_ = yym3255
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		if r.IsContainerType(codecSelferValueTypeMap1234) {
			yyl3256 := r.ReadMapStart()
			if yyl3256 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromMap(yyl3256, d)
			}
		} else if r.IsContainerType(codecSelferValueTypeArray1234) {
			yyl3256 := r.ReadArrayStart()
			if yyl3256 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromArray(yyl3256, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *SecretList) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys3257Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys3257Slc
	var yyhl3257 bool = l >= 0
	for yyj3257 := 0; ; yyj3257++ {
		if yyhl3257 {
			if yyj3257 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		yys3257Slc = r.DecodeBytes(yys3257Slc, true, true)
		yys3257 := string(yys3257Slc)
		switch yys3257 {
		case "kind":
			if r.TryDecodeAsNil() {
				x.Kind = ""
			} else {
				x.Kind = string(r.DecodeString())
			}
		case "apiVersion":
			if r.TryDecodeAsNil() {
				x.APIVersion = ""
			} else {
				x.APIVersion = string(r.DecodeString())
			}
		case "metadata":
			if r.TryDecodeAsNil() {
				x.ListMeta = pkg2_unversioned.ListMeta{}
			} else {
				yyv3260 := &x.ListMeta
				yym3261 := z.DecBinary()
				_ = yym3261
				if false {
				} else if z.HasExtensions() && z.DecExt(yyv3260) {
				} else {
					z.DecFallback(yyv3260, false)
				}
			}
		case "items":
			if r.TryDecodeAsNil() {
				x.Items = nil
			} else {
				yyv3262 := &x.Items
				yym3263 := z.DecBinary()
				_ = yym3263
				if false {
				} else {
					h.decSliceSecret((*[]Secret)(yyv3262), d)
				}
			}
		default:
			z.DecStructFieldNotFound(-1, yys3257)
		} // end switch yys3257
	} // end for yyj3257
	if !yyhl3257 {
		r.ReadEnd()
	}
}

func (x *SecretList) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj3264 int
	var yyb3264 bool
	var yyhl3264 bool = l >= 0
	yyj3264++
	if yyhl3264 {
		yyb3264 = yyj3264 > l
	} else {
		yyb3264 = r.CheckBreak()
	}
	if yyb3264 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.Kind = ""
	} else {
		x.Kind = string(r.DecodeString())
	}
	yyj3264++
	if yyhl3264 {
		yyb3264 = yyj3264 > l
	} else {
		yyb3264 = r.CheckBreak()
	}
	if yyb3264 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.APIVersion = ""
	} else {
		x.APIVersion = string(r.DecodeString())
	}
	yyj3264++
	if yyhl3264 {
		yyb3264 = yyj3264 > l
	} else {
		yyb3264 = r.CheckBreak()
	}
	if yyb3264 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.ListMeta = pkg2_unversioned.ListMeta{}
	} else {
		yyv3267 := &x.ListMeta
		yym3268 := z.DecBinary()
		_ = yym3268
		if false {
		} else if z.HasExtensions() && z.DecExt(yyv3267) {
		} else {
			z.DecFallback(yyv3267, false)
		}
	}
	yyj3264++
	if yyhl3264 {
		yyb3264 = yyj3264 > l
	} else {
		yyb3264 = r.CheckBreak()
	}
	if yyb3264 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.Items = nil
	} else {
		yyv3269 := &x.Items
		yym3270 := z.DecBinary()
		_ = yym3270
		if false {
		} else {
			h.decSliceSecret((*[]Secret)(yyv3269), d)
		}
	}
	for {
		yyj3264++
		if yyhl3264 {
			yyb3264 = yyj3264 > l
		} else {
			yyb3264 = r.CheckBreak()
		}
		if yyb3264 {
			break
		}
		z.DecStructFieldNotFound(yyj3264-1, "")
	}
	r.ReadEnd()
}

func (x ComponentConditionType) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	yym3271 := z.EncBinary()
	_ = yym3271
	if false {
	} else if z.HasExtensions() && z.EncExt(x) {
	} else {
		r.EncodeString(codecSelferC_UTF81234, string(x))
	}
}

func (x *ComponentConditionType) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym3272 := z.DecBinary()
	_ = yym3272
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		*((*string)(x)) = r.DecodeString()
	}
}

func (x *ComponentCondition) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym3273 := z.EncBinary()
		_ = yym3273
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep3274 := !z.EncBinary()
			yy2arr3274 := z.EncBasicHandle().StructToArray
			var yyq3274 [4]bool
			_, _, _ = yysep3274, yyq3274, yy2arr3274
			const yyr3274 bool = false
			yyq3274[2] = x.Message != ""
			yyq3274[3] = x.Error != ""
			if yyr3274 || yy2arr3274 {
				r.EncodeArrayStart(4)
			} else {
				var yynn3274 int = 2
				for _, b := range yyq3274 {
					if b {
						yynn3274++
					}
				}
				r.EncodeMapStart(yynn3274)
			}
			if yyr3274 || yy2arr3274 {
				x.Type.CodecEncodeSelf(e)
			} else {
				r.EncodeString(codecSelferC_UTF81234, string("type"))
				x.Type.CodecEncodeSelf(e)
			}
			if yyr3274 || yy2arr3274 {
				x.Status.CodecEncodeSelf(e)
			} else {
				r.EncodeString(codecSelferC_UTF81234, string("status"))
				x.Status.CodecEncodeSelf(e)
			}
			if yyr3274 || yy2arr3274 {
				if yyq3274[2] {
					yym3278 := z.EncBinary()
					_ = yym3278
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Message))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq3274[2] {
					r.EncodeString(codecSelferC_UTF81234, string("message"))
					yym3279 := z.EncBinary()
					_ = yym3279
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Message))
					}
				}
			}
			if yyr3274 || yy2arr3274 {
				if yyq3274[3] {
					yym3281 := z.EncBinary()
					_ = yym3281
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Error))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq3274[3] {
					r.EncodeString(codecSelferC_UTF81234, string("error"))
					yym3282 := z.EncBinary()
					_ = yym3282
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Error))
					}
				}
			}
			if yysep3274 {
				r.EncodeEnd()
			}
		}
	}
}

func (x *ComponentCondition) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym3283 := z.DecBinary()
	_ = yym3283
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		if r.IsContainerType(codecSelferValueTypeMap1234) {
			yyl3284 := r.ReadMapStart()
			if yyl3284 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromMap(yyl3284, d)
			}
		} else if r.IsContainerType(codecSelferValueTypeArray1234) {
			yyl3284 := r.ReadArrayStart()
			if yyl3284 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromArray(yyl3284, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *ComponentCondition) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys3285Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys3285Slc
	var yyhl3285 bool = l >= 0
	for yyj3285 := 0; ; yyj3285++ {
		if yyhl3285 {
			if yyj3285 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		yys3285Slc = r.DecodeBytes(yys3285Slc, true, true)
		yys3285 := string(yys3285Slc)
		switch yys3285 {
		case "type":
			if r.TryDecodeAsNil() {
				x.Type = ""
			} else {
				x.Type = ComponentConditionType(r.DecodeString())
			}
		case "status":
			if r.TryDecodeAsNil() {
				x.Status = ""
			} else {
				x.Status = ConditionStatus(r.DecodeString())
			}
		case "message":
			if r.TryDecodeAsNil() {
				x.Message = ""
			} else {
				x.Message = string(r.DecodeString())
			}
		case "error":
			if r.TryDecodeAsNil() {
				x.Error = ""
			} else {
				x.Error = string(r.DecodeString())
			}
		default:
			z.DecStructFieldNotFound(-1, yys3285)
		} // end switch yys3285
	} // end for yyj3285
	if !yyhl3285 {
		r.ReadEnd()
	}
}

func (x *ComponentCondition) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj3290 int
	var yyb3290 bool
	var yyhl3290 bool = l >= 0
	yyj3290++
	if yyhl3290 {
		yyb3290 = yyj3290 > l
	} else {
		yyb3290 = r.CheckBreak()
	}
	if yyb3290 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.Type = ""
	} else {
		x.Type = ComponentConditionType(r.DecodeString())
	}
	yyj3290++
	if yyhl3290 {
		yyb3290 = yyj3290 > l
	} else {
		yyb3290 = r.CheckBreak()
	}
	if yyb3290 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.Status = ""
	} else {
		x.Status = ConditionStatus(r.DecodeString())
	}
	yyj3290++
	if yyhl3290 {
		yyb3290 = yyj3290 > l
	} else {
		yyb3290 = r.CheckBreak()
	}
	if yyb3290 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.Message = ""
	} else {
		x.Message = string(r.DecodeString())
	}
	yyj3290++
	if yyhl3290 {
		yyb3290 = yyj3290 > l
	} else {
		yyb3290 = r.CheckBreak()
	}
	if yyb3290 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.Error = ""
	} else {
		x.Error = string(r.DecodeString())
	}
	for {
		yyj3290++
		if yyhl3290 {
			yyb3290 = yyj3290 > l
		} else {
			yyb3290 = r.CheckBreak()
		}
		if yyb3290 {
			break
		}
		z.DecStructFieldNotFound(yyj3290-1, "")
	}
	r.ReadEnd()
}

func (x *ComponentStatus) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym3295 := z.EncBinary()
		_ = yym3295
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep3296 := !z.EncBinary()
			yy2arr3296 := z.EncBasicHandle().StructToArray
			var yyq3296 [4]bool
			_, _, _ = yysep3296, yyq3296, yy2arr3296
			const yyr3296 bool = false
			yyq3296[0] = x.Kind != ""
			yyq3296[1] = x.APIVersion != ""
			yyq3296[2] = true
			yyq3296[3] = len(x.Conditions) != 0
			if yyr3296 || yy2arr3296 {
				r.EncodeArrayStart(4)
			} else {
				var yynn3296 int = 0
				for _, b := range yyq3296 {
					if b {
						yynn3296++
					}
				}
				r.EncodeMapStart(yynn3296)
			}
			if yyr3296 || yy2arr3296 {
				if yyq3296[0] {
					yym3298 := z.EncBinary()
					_ = yym3298
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq3296[0] {
					r.EncodeString(codecSelferC_UTF81234, string("kind"))
					yym3299 := z.EncBinary()
					_ = yym3299
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				}
			}
			if yyr3296 || yy2arr3296 {
				if yyq3296[1] {
					yym3301 := z.EncBinary()
					_ = yym3301
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq3296[1] {
					r.EncodeString(codecSelferC_UTF81234, string("apiVersion"))
					yym3302 := z.EncBinary()
					_ = yym3302
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				}
			}
			if yyr3296 || yy2arr3296 {
				if yyq3296[2] {
					yy3304 := &x.ObjectMeta
					yy3304.CodecEncodeSelf(e)
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq3296[2] {
					r.EncodeString(codecSelferC_UTF81234, string("metadata"))
					yy3305 := &x.ObjectMeta
					yy3305.CodecEncodeSelf(e)
				}
			}
			if yyr3296 || yy2arr3296 {
				if yyq3296[3] {
					if x.Conditions == nil {
						r.EncodeNil()
					} else {
						yym3307 := z.EncBinary()
						_ = yym3307
						if false {
						} else {
							h.encSliceComponentCondition(([]ComponentCondition)(x.Conditions), e)
						}
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq3296[3] {
					r.EncodeString(codecSelferC_UTF81234, string("conditions"))
					if x.Conditions == nil {
						r.EncodeNil()
					} else {
						yym3308 := z.EncBinary()
						_ = yym3308
						if false {
						} else {
							h.encSliceComponentCondition(([]ComponentCondition)(x.Conditions), e)
						}
					}
				}
			}
			if yysep3296 {
				r.EncodeEnd()
			}
		}
	}
}

func (x *ComponentStatus) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym3309 := z.DecBinary()
	_ = yym3309
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		if r.IsContainerType(codecSelferValueTypeMap1234) {
			yyl3310 := r.ReadMapStart()
			if yyl3310 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromMap(yyl3310, d)
			}
		} else if r.IsContainerType(codecSelferValueTypeArray1234) {
			yyl3310 := r.ReadArrayStart()
			if yyl3310 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromArray(yyl3310, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *ComponentStatus) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys3311Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys3311Slc
	var yyhl3311 bool = l >= 0
	for yyj3311 := 0; ; yyj3311++ {
		if yyhl3311 {
			if yyj3311 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		yys3311Slc = r.DecodeBytes(yys3311Slc, true, true)
		yys3311 := string(yys3311Slc)
		switch yys3311 {
		case "kind":
			if r.TryDecodeAsNil() {
				x.Kind = ""
			} else {
				x.Kind = string(r.DecodeString())
			}
		case "apiVersion":
			if r.TryDecodeAsNil() {
				x.APIVersion = ""
			} else {
				x.APIVersion = string(r.DecodeString())
			}
		case "metadata":
			if r.TryDecodeAsNil() {
				x.ObjectMeta = ObjectMeta{}
			} else {
				yyv3314 := &x.ObjectMeta
				yyv3314.CodecDecodeSelf(d)
			}
		case "conditions":
			if r.TryDecodeAsNil() {
				x.Conditions = nil
			} else {
				yyv3315 := &x.Conditions
				yym3316 := z.DecBinary()
				_ = yym3316
				if false {
				} else {
					h.decSliceComponentCondition((*[]ComponentCondition)(yyv3315), d)
				}
			}
		default:
			z.DecStructFieldNotFound(-1, yys3311)
		} // end switch yys3311
	} // end for yyj3311
	if !yyhl3311 {
		r.ReadEnd()
	}
}

func (x *ComponentStatus) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj3317 int
	var yyb3317 bool
	var yyhl3317 bool = l >= 0
	yyj3317++
	if yyhl3317 {
		yyb3317 = yyj3317 > l
	} else {
		yyb3317 = r.CheckBreak()
	}
	if yyb3317 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.Kind = ""
	} else {
		x.Kind = string(r.DecodeString())
	}
	yyj3317++
	if yyhl3317 {
		yyb3317 = yyj3317 > l
	} else {
		yyb3317 = r.CheckBreak()
	}
	if yyb3317 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.APIVersion = ""
	} else {
		x.APIVersion = string(r.DecodeString())
	}
	yyj3317++
	if yyhl3317 {
		yyb3317 = yyj3317 > l
	} else {
		yyb3317 = r.CheckBreak()
	}
	if yyb3317 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.ObjectMeta = ObjectMeta{}
	} else {
		yyv3320 := &x.ObjectMeta
		yyv3320.CodecDecodeSelf(d)
	}
	yyj3317++
	if yyhl3317 {
		yyb3317 = yyj3317 > l
	} else {
		yyb3317 = r.CheckBreak()
	}
	if yyb3317 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.Conditions = nil
	} else {
		yyv3321 := &x.Conditions
		yym3322 := z.DecBinary()
		_ = yym3322
		if false {
		} else {
			h.decSliceComponentCondition((*[]ComponentCondition)(yyv3321), d)
		}
	}
	for {
		yyj3317++
		if yyhl3317 {
			yyb3317 = yyj3317 > l
		} else {
			yyb3317 = r.CheckBreak()
		}
		if yyb3317 {
			break
		}
		z.DecStructFieldNotFound(yyj3317-1, "")
	}
	r.ReadEnd()
}

func (x *ComponentStatusList) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym3323 := z.EncBinary()
		_ = yym3323
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep3324 := !z.EncBinary()
			yy2arr3324 := z.EncBasicHandle().StructToArray
			var yyq3324 [4]bool
			_, _, _ = yysep3324, yyq3324, yy2arr3324
			const yyr3324 bool = false
			yyq3324[0] = x.Kind != ""
			yyq3324[1] = x.APIVersion != ""
			yyq3324[2] = true
			if yyr3324 || yy2arr3324 {
				r.EncodeArrayStart(4)
			} else {
				var yynn3324 int = 1
				for _, b := range yyq3324 {
					if b {
						yynn3324++
					}
				}
				r.EncodeMapStart(yynn3324)
			}
			if yyr3324 || yy2arr3324 {
				if yyq3324[0] {
					yym3326 := z.EncBinary()
					_ = yym3326
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq3324[0] {
					r.EncodeString(codecSelferC_UTF81234, string("kind"))
					yym3327 := z.EncBinary()
					_ = yym3327
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				}
			}
			if yyr3324 || yy2arr3324 {
				if yyq3324[1] {
					yym3329 := z.EncBinary()
					_ = yym3329
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq3324[1] {
					r.EncodeString(codecSelferC_UTF81234, string("apiVersion"))
					yym3330 := z.EncBinary()
					_ = yym3330
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				}
			}
			if yyr3324 || yy2arr3324 {
				if yyq3324[2] {
					yy3332 := &x.ListMeta
					yym3333 := z.EncBinary()
					_ = yym3333
					if false {
					} else if z.HasExtensions() && z.EncExt(yy3332) {
					} else {
						z.EncFallback(yy3332)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq3324[2] {
					r.EncodeString(codecSelferC_UTF81234, string("metadata"))
					yy3334 := &x.ListMeta
					yym3335 := z.EncBinary()
					_ = yym3335
					if false {
					} else if z.HasExtensions() && z.EncExt(yy3334) {
					} else {
						z.EncFallback(yy3334)
					}
				}
			}
			if yyr3324 || yy2arr3324 {
				if x.Items == nil {
					r.EncodeNil()
				} else {
					yym3337 := z.EncBinary()
					_ = yym3337
					if false {
					} else {
						h.encSliceComponentStatus(([]ComponentStatus)(x.Items), e)
					}
				}
			} else {
				r.EncodeString(codecSelferC_UTF81234, string("items"))
				if x.Items == nil {
					r.EncodeNil()
				} else {
					yym3338 := z.EncBinary()
					_ = yym3338
					if false {
					} else {
						h.encSliceComponentStatus(([]ComponentStatus)(x.Items), e)
					}
				}
			}
			if yysep3324 {
				r.EncodeEnd()
			}
		}
	}
}

func (x *ComponentStatusList) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym3339 := z.DecBinary()
	_ = yym3339
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		if r.IsContainerType(codecSelferValueTypeMap1234) {
			yyl3340 := r.ReadMapStart()
			if yyl3340 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromMap(yyl3340, d)
			}
		} else if r.IsContainerType(codecSelferValueTypeArray1234) {
			yyl3340 := r.ReadArrayStart()
			if yyl3340 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromArray(yyl3340, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *ComponentStatusList) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys3341Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys3341Slc
	var yyhl3341 bool = l >= 0
	for yyj3341 := 0; ; yyj3341++ {
		if yyhl3341 {
			if yyj3341 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		yys3341Slc = r.DecodeBytes(yys3341Slc, true, true)
		yys3341 := string(yys3341Slc)
		switch yys3341 {
		case "kind":
			if r.TryDecodeAsNil() {
				x.Kind = ""
			} else {
				x.Kind = string(r.DecodeString())
			}
		case "apiVersion":
			if r.TryDecodeAsNil() {
				x.APIVersion = ""
			} else {
				x.APIVersion = string(r.DecodeString())
			}
		case "metadata":
			if r.TryDecodeAsNil() {
				x.ListMeta = pkg2_unversioned.ListMeta{}
			} else {
				yyv3344 := &x.ListMeta
				yym3345 := z.DecBinary()
				_ = yym3345
				if false {
				} else if z.HasExtensions() && z.DecExt(yyv3344) {
				} else {
					z.DecFallback(yyv3344, false)
				}
			}
		case "items":
			if r.TryDecodeAsNil() {
				x.Items = nil
			} else {
				yyv3346 := &x.Items
				yym3347 := z.DecBinary()
				_ = yym3347
				if false {
				} else {
					h.decSliceComponentStatus((*[]ComponentStatus)(yyv3346), d)
				}
			}
		default:
			z.DecStructFieldNotFound(-1, yys3341)
		} // end switch yys3341
	} // end for yyj3341
	if !yyhl3341 {
		r.ReadEnd()
	}
}

func (x *ComponentStatusList) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj3348 int
	var yyb3348 bool
	var yyhl3348 bool = l >= 0
	yyj3348++
	if yyhl3348 {
		yyb3348 = yyj3348 > l
	} else {
		yyb3348 = r.CheckBreak()
	}
	if yyb3348 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.Kind = ""
	} else {
		x.Kind = string(r.DecodeString())
	}
	yyj3348++
	if yyhl3348 {
		yyb3348 = yyj3348 > l
	} else {
		yyb3348 = r.CheckBreak()
	}
	if yyb3348 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.APIVersion = ""
	} else {
		x.APIVersion = string(r.DecodeString())
	}
	yyj3348++
	if yyhl3348 {
		yyb3348 = yyj3348 > l
	} else {
		yyb3348 = r.CheckBreak()
	}
	if yyb3348 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.ListMeta = pkg2_unversioned.ListMeta{}
	} else {
		yyv3351 := &x.ListMeta
		yym3352 := z.DecBinary()
		_ = yym3352
		if false {
		} else if z.HasExtensions() && z.DecExt(yyv3351) {
		} else {
			z.DecFallback(yyv3351, false)
		}
	}
	yyj3348++
	if yyhl3348 {
		yyb3348 = yyj3348 > l
	} else {
		yyb3348 = r.CheckBreak()
	}
	if yyb3348 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.Items = nil
	} else {
		yyv3353 := &x.Items
		yym3354 := z.DecBinary()
		_ = yym3354
		if false {
		} else {
			h.decSliceComponentStatus((*[]ComponentStatus)(yyv3353), d)
		}
	}
	for {
		yyj3348++
		if yyhl3348 {
			yyb3348 = yyj3348 > l
		} else {
			yyb3348 = r.CheckBreak()
		}
		if yyb3348 {
			break
		}
		z.DecStructFieldNotFound(yyj3348-1, "")
	}
	r.ReadEnd()
}

func (x *DownwardAPIVolumeSource) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym3355 := z.EncBinary()
		_ = yym3355
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep3356 := !z.EncBinary()
			yy2arr3356 := z.EncBasicHandle().StructToArray
			var yyq3356 [1]bool
			_, _, _ = yysep3356, yyq3356, yy2arr3356
			const yyr3356 bool = false
			yyq3356[0] = len(x.Items) != 0
			if yyr3356 || yy2arr3356 {
				r.EncodeArrayStart(1)
			} else {
				var yynn3356 int = 0
				for _, b := range yyq3356 {
					if b {
						yynn3356++
					}
				}
				r.EncodeMapStart(yynn3356)
			}
			if yyr3356 || yy2arr3356 {
				if yyq3356[0] {
					if x.Items == nil {
						r.EncodeNil()
					} else {
						yym3358 := z.EncBinary()
						_ = yym3358
						if false {
						} else {
							h.encSliceDownwardAPIVolumeFile(([]DownwardAPIVolumeFile)(x.Items), e)
						}
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq3356[0] {
					r.EncodeString(codecSelferC_UTF81234, string("items"))
					if x.Items == nil {
						r.EncodeNil()
					} else {
						yym3359 := z.EncBinary()
						_ = yym3359
						if false {
						} else {
							h.encSliceDownwardAPIVolumeFile(([]DownwardAPIVolumeFile)(x.Items), e)
						}
					}
				}
			}
			if yysep3356 {
				r.EncodeEnd()
			}
		}
	}
}

func (x *DownwardAPIVolumeSource) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym3360 := z.DecBinary()
	_ = yym3360
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		if r.IsContainerType(codecSelferValueTypeMap1234) {
			yyl3361 := r.ReadMapStart()
			if yyl3361 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromMap(yyl3361, d)
			}
		} else if r.IsContainerType(codecSelferValueTypeArray1234) {
			yyl3361 := r.ReadArrayStart()
			if yyl3361 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromArray(yyl3361, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *DownwardAPIVolumeSource) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys3362Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys3362Slc
	var yyhl3362 bool = l >= 0
	for yyj3362 := 0; ; yyj3362++ {
		if yyhl3362 {
			if yyj3362 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		yys3362Slc = r.DecodeBytes(yys3362Slc, true, true)
		yys3362 := string(yys3362Slc)
		switch yys3362 {
		case "items":
			if r.TryDecodeAsNil() {
				x.Items = nil
			} else {
				yyv3363 := &x.Items
				yym3364 := z.DecBinary()
				_ = yym3364
				if false {
				} else {
					h.decSliceDownwardAPIVolumeFile((*[]DownwardAPIVolumeFile)(yyv3363), d)
				}
			}
		default:
			z.DecStructFieldNotFound(-1, yys3362)
		} // end switch yys3362
	} // end for yyj3362
	if !yyhl3362 {
		r.ReadEnd()
	}
}

func (x *DownwardAPIVolumeSource) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj3365 int
	var yyb3365 bool
	var yyhl3365 bool = l >= 0
	yyj3365++
	if yyhl3365 {
		yyb3365 = yyj3365 > l
	} else {
		yyb3365 = r.CheckBreak()
	}
	if yyb3365 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.Items = nil
	} else {
		yyv3366 := &x.Items
		yym3367 := z.DecBinary()
		_ = yym3367
		if false {
		} else {
			h.decSliceDownwardAPIVolumeFile((*[]DownwardAPIVolumeFile)(yyv3366), d)
		}
	}
	for {
		yyj3365++
		if yyhl3365 {
			yyb3365 = yyj3365 > l
		} else {
			yyb3365 = r.CheckBreak()
		}
		if yyb3365 {
			break
		}
		z.DecStructFieldNotFound(yyj3365-1, "")
	}
	r.ReadEnd()
}

func (x *DownwardAPIVolumeFile) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym3368 := z.EncBinary()
		_ = yym3368
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep3369 := !z.EncBinary()
			yy2arr3369 := z.EncBasicHandle().StructToArray
			var yyq3369 [2]bool
			_, _, _ = yysep3369, yyq3369, yy2arr3369
			const yyr3369 bool = false
			if yyr3369 || yy2arr3369 {
				r.EncodeArrayStart(2)
			} else {
				var yynn3369 int = 2
				for _, b := range yyq3369 {
					if b {
						yynn3369++
					}
				}
				r.EncodeMapStart(yynn3369)
			}
			if yyr3369 || yy2arr3369 {
				yym3371 := z.EncBinary()
				_ = yym3371
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.Path))
				}
			} else {
				r.EncodeString(codecSelferC_UTF81234, string("path"))
				yym3372 := z.EncBinary()
				_ = yym3372
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.Path))
				}
			}
			if yyr3369 || yy2arr3369 {
				yy3374 := &x.FieldRef
				yy3374.CodecEncodeSelf(e)
			} else {
				r.EncodeString(codecSelferC_UTF81234, string("fieldRef"))
				yy3375 := &x.FieldRef
				yy3375.CodecEncodeSelf(e)
			}
			if yysep3369 {
				r.EncodeEnd()
			}
		}
	}
}

func (x *DownwardAPIVolumeFile) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym3376 := z.DecBinary()
	_ = yym3376
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		if r.IsContainerType(codecSelferValueTypeMap1234) {
			yyl3377 := r.ReadMapStart()
			if yyl3377 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromMap(yyl3377, d)
			}
		} else if r.IsContainerType(codecSelferValueTypeArray1234) {
			yyl3377 := r.ReadArrayStart()
			if yyl3377 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromArray(yyl3377, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *DownwardAPIVolumeFile) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys3378Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys3378Slc
	var yyhl3378 bool = l >= 0
	for yyj3378 := 0; ; yyj3378++ {
		if yyhl3378 {
			if yyj3378 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		yys3378Slc = r.DecodeBytes(yys3378Slc, true, true)
		yys3378 := string(yys3378Slc)
		switch yys3378 {
		case "path":
			if r.TryDecodeAsNil() {
				x.Path = ""
			} else {
				x.Path = string(r.DecodeString())
			}
		case "fieldRef":
			if r.TryDecodeAsNil() {
				x.FieldRef = ObjectFieldSelector{}
			} else {
				yyv3380 := &x.FieldRef
				yyv3380.CodecDecodeSelf(d)
			}
		default:
			z.DecStructFieldNotFound(-1, yys3378)
		} // end switch yys3378
	} // end for yyj3378
	if !yyhl3378 {
		r.ReadEnd()
	}
}

func (x *DownwardAPIVolumeFile) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj3381 int
	var yyb3381 bool
	var yyhl3381 bool = l >= 0
	yyj3381++
	if yyhl3381 {
		yyb3381 = yyj3381 > l
	} else {
		yyb3381 = r.CheckBreak()
	}
	if yyb3381 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.Path = ""
	} else {
		x.Path = string(r.DecodeString())
	}
	yyj3381++
	if yyhl3381 {
		yyb3381 = yyj3381 > l
	} else {
		yyb3381 = r.CheckBreak()
	}
	if yyb3381 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.FieldRef = ObjectFieldSelector{}
	} else {
		yyv3383 := &x.FieldRef
		yyv3383.CodecDecodeSelf(d)
	}
	for {
		yyj3381++
		if yyhl3381 {
			yyb3381 = yyj3381 > l
		} else {
			yyb3381 = r.CheckBreak()
		}
		if yyb3381 {
			break
		}
		z.DecStructFieldNotFound(yyj3381-1, "")
	}
	r.ReadEnd()
}

func (x *SecurityContext) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym3384 := z.EncBinary()
		_ = yym3384
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep3385 := !z.EncBinary()
			yy2arr3385 := z.EncBasicHandle().StructToArray
			var yyq3385 [5]bool
			_, _, _ = yysep3385, yyq3385, yy2arr3385
			const yyr3385 bool = false
			yyq3385[0] = x.Capabilities != nil
			yyq3385[1] = x.Privileged != nil
			yyq3385[2] = x.SELinuxOptions != nil
			yyq3385[3] = x.RunAsUser != nil
			yyq3385[4] = x.RunAsNonRoot != nil
			if yyr3385 || yy2arr3385 {
				r.EncodeArrayStart(5)
			} else {
				var yynn3385 int = 0
				for _, b := range yyq3385 {
					if b {
						yynn3385++
					}
				}
				r.EncodeMapStart(yynn3385)
			}
			if yyr3385 || yy2arr3385 {
				if yyq3385[0] {
					if x.Capabilities == nil {
						r.EncodeNil()
					} else {
						x.Capabilities.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq3385[0] {
					r.EncodeString(codecSelferC_UTF81234, string("capabilities"))
					if x.Capabilities == nil {
						r.EncodeNil()
					} else {
						x.Capabilities.CodecEncodeSelf(e)
					}
				}
			}
			if yyr3385 || yy2arr3385 {
				if yyq3385[1] {
					if x.Privileged == nil {
						r.EncodeNil()
					} else {
						yy3388 := *x.Privileged
						yym3389 := z.EncBinary()
						_ = yym3389
						if false {
						} else {
							r.EncodeBool(bool(yy3388))
						}
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq3385[1] {
					r.EncodeString(codecSelferC_UTF81234, string("privileged"))
					if x.Privileged == nil {
						r.EncodeNil()
					} else {
						yy3390 := *x.Privileged
						yym3391 := z.EncBinary()
						_ = yym3391
						if false {
						} else {
							r.EncodeBool(bool(yy3390))
						}
					}
				}
			}
			if yyr3385 || yy2arr3385 {
				if yyq3385[2] {
					if x.SELinuxOptions == nil {
						r.EncodeNil()
					} else {
						x.SELinuxOptions.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq3385[2] {
					r.EncodeString(codecSelferC_UTF81234, string("seLinuxOptions"))
					if x.SELinuxOptions == nil {
						r.EncodeNil()
					} else {
						x.SELinuxOptions.CodecEncodeSelf(e)
					}
				}
			}
			if yyr3385 || yy2arr3385 {
				if yyq3385[3] {
					if x.RunAsUser == nil {
						r.EncodeNil()
					} else {
						yy3394 := *x.RunAsUser
						yym3395 := z.EncBinary()
						_ = yym3395
						if false {
						} else {
							r.EncodeInt(int64(yy3394))
						}
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq3385[3] {
					r.EncodeString(codecSelferC_UTF81234, string("runAsUser"))
					if x.RunAsUser == nil {
						r.EncodeNil()
					} else {
						yy3396 := *x.RunAsUser
						yym3397 := z.EncBinary()
						_ = yym3397
						if false {
						} else {
							r.EncodeInt(int64(yy3396))
						}
					}
				}
			}
			if yyr3385 || yy2arr3385 {
				if yyq3385[4] {
					if x.RunAsNonRoot == nil {
						r.EncodeNil()
					} else {
						yy3399 := *x.RunAsNonRoot
						yym3400 := z.EncBinary()
						_ = yym3400
						if false {
						} else {
							r.EncodeBool(bool(yy3399))
						}
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq3385[4] {
					r.EncodeString(codecSelferC_UTF81234, string("runAsNonRoot"))
					if x.RunAsNonRoot == nil {
						r.EncodeNil()
					} else {
						yy3401 := *x.RunAsNonRoot
						yym3402 := z.EncBinary()
						_ = yym3402
						if false {
						} else {
							r.EncodeBool(bool(yy3401))
						}
					}
				}
			}
			if yysep3385 {
				r.EncodeEnd()
			}
		}
	}
}

func (x *SecurityContext) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym3403 := z.DecBinary()
	_ = yym3403
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		if r.IsContainerType(codecSelferValueTypeMap1234) {
			yyl3404 := r.ReadMapStart()
			if yyl3404 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromMap(yyl3404, d)
			}
		} else if r.IsContainerType(codecSelferValueTypeArray1234) {
			yyl3404 := r.ReadArrayStart()
			if yyl3404 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromArray(yyl3404, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *SecurityContext) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys3405Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys3405Slc
	var yyhl3405 bool = l >= 0
	for yyj3405 := 0; ; yyj3405++ {
		if yyhl3405 {
			if yyj3405 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		yys3405Slc = r.DecodeBytes(yys3405Slc, true, true)
		yys3405 := string(yys3405Slc)
		switch yys3405 {
		case "capabilities":
			if r.TryDecodeAsNil() {
				if x.Capabilities != nil {
					x.Capabilities = nil
				}
			} else {
				if x.Capabilities == nil {
					x.Capabilities = new(Capabilities)
				}
				x.Capabilities.CodecDecodeSelf(d)
			}
		case "privileged":
			if r.TryDecodeAsNil() {
				if x.Privileged != nil {
					x.Privileged = nil
				}
			} else {
				if x.Privileged == nil {
					x.Privileged = new(bool)
				}
				yym3408 := z.DecBinary()
				_ = yym3408
				if false {
				} else {
					*((*bool)(x.Privileged)) = r.DecodeBool()
				}
			}
		case "seLinuxOptions":
			if r.TryDecodeAsNil() {
				if x.SELinuxOptions != nil {
					x.SELinuxOptions = nil
				}
			} else {
				if x.SELinuxOptions == nil {
					x.SELinuxOptions = new(SELinuxOptions)
				}
				x.SELinuxOptions.CodecDecodeSelf(d)
			}
		case "runAsUser":
			if r.TryDecodeAsNil() {
				if x.RunAsUser != nil {
					x.RunAsUser = nil
				}
			} else {
				if x.RunAsUser == nil {
					x.RunAsUser = new(int64)
				}
				yym3411 := z.DecBinary()
				_ = yym3411
				if false {
				} else {
					*((*int64)(x.RunAsUser)) = int64(r.DecodeInt(64))
				}
			}
		case "runAsNonRoot":
			if r.TryDecodeAsNil() {
				if x.RunAsNonRoot != nil {
					x.RunAsNonRoot = nil
				}
			} else {
				if x.RunAsNonRoot == nil {
					x.RunAsNonRoot = new(bool)
				}
				yym3413 := z.DecBinary()
				_ = yym3413
				if false {
				} else {
					*((*bool)(x.RunAsNonRoot)) = r.DecodeBool()
				}
			}
		default:
			z.DecStructFieldNotFound(-1, yys3405)
		} // end switch yys3405
	} // end for yyj3405
	if !yyhl3405 {
		r.ReadEnd()
	}
}

func (x *SecurityContext) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj3414 int
	var yyb3414 bool
	var yyhl3414 bool = l >= 0
	yyj3414++
	if yyhl3414 {
		yyb3414 = yyj3414 > l
	} else {
		yyb3414 = r.CheckBreak()
	}
	if yyb3414 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		if x.Capabilities != nil {
			x.Capabilities = nil
		}
	} else {
		if x.Capabilities == nil {
			x.Capabilities = new(Capabilities)
		}
		x.Capabilities.CodecDecodeSelf(d)
	}
	yyj3414++
	if yyhl3414 {
		yyb3414 = yyj3414 > l
	} else {
		yyb3414 = r.CheckBreak()
	}
	if yyb3414 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		if x.Privileged != nil {
			x.Privileged = nil
		}
	} else {
		if x.Privileged == nil {
			x.Privileged = new(bool)
		}
		yym3417 := z.DecBinary()
		_ = yym3417
		if false {
		} else {
			*((*bool)(x.Privileged)) = r.DecodeBool()
		}
	}
	yyj3414++
	if yyhl3414 {
		yyb3414 = yyj3414 > l
	} else {
		yyb3414 = r.CheckBreak()
	}
	if yyb3414 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		if x.SELinuxOptions != nil {
			x.SELinuxOptions = nil
		}
	} else {
		if x.SELinuxOptions == nil {
			x.SELinuxOptions = new(SELinuxOptions)
		}
		x.SELinuxOptions.CodecDecodeSelf(d)
	}
	yyj3414++
	if yyhl3414 {
		yyb3414 = yyj3414 > l
	} else {
		yyb3414 = r.CheckBreak()
	}
	if yyb3414 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		if x.RunAsUser != nil {
			x.RunAsUser = nil
		}
	} else {
		if x.RunAsUser == nil {
			x.RunAsUser = new(int64)
		}
		yym3420 := z.DecBinary()
		_ = yym3420
		if false {
		} else {
			*((*int64)(x.RunAsUser)) = int64(r.DecodeInt(64))
		}
	}
	yyj3414++
	if yyhl3414 {
		yyb3414 = yyj3414 > l
	} else {
		yyb3414 = r.CheckBreak()
	}
	if yyb3414 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		if x.RunAsNonRoot != nil {
			x.RunAsNonRoot = nil
		}
	} else {
		if x.RunAsNonRoot == nil {
			x.RunAsNonRoot = new(bool)
		}
		yym3422 := z.DecBinary()
		_ = yym3422
		if false {
		} else {
			*((*bool)(x.RunAsNonRoot)) = r.DecodeBool()
		}
	}
	for {
		yyj3414++
		if yyhl3414 {
			yyb3414 = yyj3414 > l
		} else {
			yyb3414 = r.CheckBreak()
		}
		if yyb3414 {
			break
		}
		z.DecStructFieldNotFound(yyj3414-1, "")
	}
	r.ReadEnd()
}

func (x *SELinuxOptions) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym3423 := z.EncBinary()
		_ = yym3423
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep3424 := !z.EncBinary()
			yy2arr3424 := z.EncBasicHandle().StructToArray
			var yyq3424 [4]bool
			_, _, _ = yysep3424, yyq3424, yy2arr3424
			const yyr3424 bool = false
			yyq3424[0] = x.User != ""
			yyq3424[1] = x.Role != ""
			yyq3424[2] = x.Type != ""
			yyq3424[3] = x.Level != ""
			if yyr3424 || yy2arr3424 {
				r.EncodeArrayStart(4)
			} else {
				var yynn3424 int = 0
				for _, b := range yyq3424 {
					if b {
						yynn3424++
					}
				}
				r.EncodeMapStart(yynn3424)
			}
			if yyr3424 || yy2arr3424 {
				if yyq3424[0] {
					yym3426 := z.EncBinary()
					_ = yym3426
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.User))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq3424[0] {
					r.EncodeString(codecSelferC_UTF81234, string("user"))
					yym3427 := z.EncBinary()
					_ = yym3427
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.User))
					}
				}
			}
			if yyr3424 || yy2arr3424 {
				if yyq3424[1] {
					yym3429 := z.EncBinary()
					_ = yym3429
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Role))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq3424[1] {
					r.EncodeString(codecSelferC_UTF81234, string("role"))
					yym3430 := z.EncBinary()
					_ = yym3430
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Role))
					}
				}
			}
			if yyr3424 || yy2arr3424 {
				if yyq3424[2] {
					yym3432 := z.EncBinary()
					_ = yym3432
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Type))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq3424[2] {
					r.EncodeString(codecSelferC_UTF81234, string("type"))
					yym3433 := z.EncBinary()
					_ = yym3433
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Type))
					}
				}
			}
			if yyr3424 || yy2arr3424 {
				if yyq3424[3] {
					yym3435 := z.EncBinary()
					_ = yym3435
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Level))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq3424[3] {
					r.EncodeString(codecSelferC_UTF81234, string("level"))
					yym3436 := z.EncBinary()
					_ = yym3436
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Level))
					}
				}
			}
			if yysep3424 {
				r.EncodeEnd()
			}
		}
	}
}

func (x *SELinuxOptions) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym3437 := z.DecBinary()
	_ = yym3437
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		if r.IsContainerType(codecSelferValueTypeMap1234) {
			yyl3438 := r.ReadMapStart()
			if yyl3438 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromMap(yyl3438, d)
			}
		} else if r.IsContainerType(codecSelferValueTypeArray1234) {
			yyl3438 := r.ReadArrayStart()
			if yyl3438 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromArray(yyl3438, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *SELinuxOptions) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys3439Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys3439Slc
	var yyhl3439 bool = l >= 0
	for yyj3439 := 0; ; yyj3439++ {
		if yyhl3439 {
			if yyj3439 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		yys3439Slc = r.DecodeBytes(yys3439Slc, true, true)
		yys3439 := string(yys3439Slc)
		switch yys3439 {
		case "user":
			if r.TryDecodeAsNil() {
				x.User = ""
			} else {
				x.User = string(r.DecodeString())
			}
		case "role":
			if r.TryDecodeAsNil() {
				x.Role = ""
			} else {
				x.Role = string(r.DecodeString())
			}
		case "type":
			if r.TryDecodeAsNil() {
				x.Type = ""
			} else {
				x.Type = string(r.DecodeString())
			}
		case "level":
			if r.TryDecodeAsNil() {
				x.Level = ""
			} else {
				x.Level = string(r.DecodeString())
			}
		default:
			z.DecStructFieldNotFound(-1, yys3439)
		} // end switch yys3439
	} // end for yyj3439
	if !yyhl3439 {
		r.ReadEnd()
	}
}

func (x *SELinuxOptions) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj3444 int
	var yyb3444 bool
	var yyhl3444 bool = l >= 0
	yyj3444++
	if yyhl3444 {
		yyb3444 = yyj3444 > l
	} else {
		yyb3444 = r.CheckBreak()
	}
	if yyb3444 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.User = ""
	} else {
		x.User = string(r.DecodeString())
	}
	yyj3444++
	if yyhl3444 {
		yyb3444 = yyj3444 > l
	} else {
		yyb3444 = r.CheckBreak()
	}
	if yyb3444 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.Role = ""
	} else {
		x.Role = string(r.DecodeString())
	}
	yyj3444++
	if yyhl3444 {
		yyb3444 = yyj3444 > l
	} else {
		yyb3444 = r.CheckBreak()
	}
	if yyb3444 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.Type = ""
	} else {
		x.Type = string(r.DecodeString())
	}
	yyj3444++
	if yyhl3444 {
		yyb3444 = yyj3444 > l
	} else {
		yyb3444 = r.CheckBreak()
	}
	if yyb3444 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.Level = ""
	} else {
		x.Level = string(r.DecodeString())
	}
	for {
		yyj3444++
		if yyhl3444 {
			yyb3444 = yyj3444 > l
		} else {
			yyb3444 = r.CheckBreak()
		}
		if yyb3444 {
			break
		}
		z.DecStructFieldNotFound(yyj3444-1, "")
	}
	r.ReadEnd()
}

func (x *RangeAllocation) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym3449 := z.EncBinary()
		_ = yym3449
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep3450 := !z.EncBinary()
			yy2arr3450 := z.EncBasicHandle().StructToArray
			var yyq3450 [5]bool
			_, _, _ = yysep3450, yyq3450, yy2arr3450
			const yyr3450 bool = false
			yyq3450[0] = x.Kind != ""
			yyq3450[1] = x.APIVersion != ""
			yyq3450[2] = true
			if yyr3450 || yy2arr3450 {
				r.EncodeArrayStart(5)
			} else {
				var yynn3450 int = 2
				for _, b := range yyq3450 {
					if b {
						yynn3450++
					}
				}
				r.EncodeMapStart(yynn3450)
			}
			if yyr3450 || yy2arr3450 {
				if yyq3450[0] {
					yym3452 := z.EncBinary()
					_ = yym3452
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq3450[0] {
					r.EncodeString(codecSelferC_UTF81234, string("kind"))
					yym3453 := z.EncBinary()
					_ = yym3453
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				}
			}
			if yyr3450 || yy2arr3450 {
				if yyq3450[1] {
					yym3455 := z.EncBinary()
					_ = yym3455
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq3450[1] {
					r.EncodeString(codecSelferC_UTF81234, string("apiVersion"))
					yym3456 := z.EncBinary()
					_ = yym3456
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				}
			}
			if yyr3450 || yy2arr3450 {
				if yyq3450[2] {
					yy3458 := &x.ObjectMeta
					yy3458.CodecEncodeSelf(e)
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq3450[2] {
					r.EncodeString(codecSelferC_UTF81234, string("metadata"))
					yy3459 := &x.ObjectMeta
					yy3459.CodecEncodeSelf(e)
				}
			}
			if yyr3450 || yy2arr3450 {
				yym3461 := z.EncBinary()
				_ = yym3461
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.Range))
				}
			} else {
				r.EncodeString(codecSelferC_UTF81234, string("range"))
				yym3462 := z.EncBinary()
				_ = yym3462
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.Range))
				}
			}
			if yyr3450 || yy2arr3450 {
				if x.Data == nil {
					r.EncodeNil()
				} else {
					yym3464 := z.EncBinary()
					_ = yym3464
					if false {
					} else {
						r.EncodeStringBytes(codecSelferC_RAW1234, []byte(x.Data))
					}
				}
			} else {
				r.EncodeString(codecSelferC_UTF81234, string("data"))
				if x.Data == nil {
					r.EncodeNil()
				} else {
					yym3465 := z.EncBinary()
					_ = yym3465
					if false {
					} else {
						r.EncodeStringBytes(codecSelferC_RAW1234, []byte(x.Data))
					}
				}
			}
			if yysep3450 {
				r.EncodeEnd()
			}
		}
	}
}

func (x *RangeAllocation) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym3466 := z.DecBinary()
	_ = yym3466
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		if r.IsContainerType(codecSelferValueTypeMap1234) {
			yyl3467 := r.ReadMapStart()
			if yyl3467 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromMap(yyl3467, d)
			}
		} else if r.IsContainerType(codecSelferValueTypeArray1234) {
			yyl3467 := r.ReadArrayStart()
			if yyl3467 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromArray(yyl3467, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *RangeAllocation) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys3468Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys3468Slc
	var yyhl3468 bool = l >= 0
	for yyj3468 := 0; ; yyj3468++ {
		if yyhl3468 {
			if yyj3468 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		yys3468Slc = r.DecodeBytes(yys3468Slc, true, true)
		yys3468 := string(yys3468Slc)
		switch yys3468 {
		case "kind":
			if r.TryDecodeAsNil() {
				x.Kind = ""
			} else {
				x.Kind = string(r.DecodeString())
			}
		case "apiVersion":
			if r.TryDecodeAsNil() {
				x.APIVersion = ""
			} else {
				x.APIVersion = string(r.DecodeString())
			}
		case "metadata":
			if r.TryDecodeAsNil() {
				x.ObjectMeta = ObjectMeta{}
			} else {
				yyv3471 := &x.ObjectMeta
				yyv3471.CodecDecodeSelf(d)
			}
		case "range":
			if r.TryDecodeAsNil() {
				x.Range = ""
			} else {
				x.Range = string(r.DecodeString())
			}
		case "data":
			if r.TryDecodeAsNil() {
				x.Data = nil
			} else {
				yyv3473 := &x.Data
				yym3474 := z.DecBinary()
				_ = yym3474
				if false {
				} else {
					*yyv3473 = r.DecodeBytes(*(*[]byte)(yyv3473), false, false)
				}
			}
		default:
			z.DecStructFieldNotFound(-1, yys3468)
		} // end switch yys3468
	} // end for yyj3468
	if !yyhl3468 {
		r.ReadEnd()
	}
}

func (x *RangeAllocation) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj3475 int
	var yyb3475 bool
	var yyhl3475 bool = l >= 0
	yyj3475++
	if yyhl3475 {
		yyb3475 = yyj3475 > l
	} else {
		yyb3475 = r.CheckBreak()
	}
	if yyb3475 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.Kind = ""
	} else {
		x.Kind = string(r.DecodeString())
	}
	yyj3475++
	if yyhl3475 {
		yyb3475 = yyj3475 > l
	} else {
		yyb3475 = r.CheckBreak()
	}
	if yyb3475 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.APIVersion = ""
	} else {
		x.APIVersion = string(r.DecodeString())
	}
	yyj3475++
	if yyhl3475 {
		yyb3475 = yyj3475 > l
	} else {
		yyb3475 = r.CheckBreak()
	}
	if yyb3475 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.ObjectMeta = ObjectMeta{}
	} else {
		yyv3478 := &x.ObjectMeta
		yyv3478.CodecDecodeSelf(d)
	}
	yyj3475++
	if yyhl3475 {
		yyb3475 = yyj3475 > l
	} else {
		yyb3475 = r.CheckBreak()
	}
	if yyb3475 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.Range = ""
	} else {
		x.Range = string(r.DecodeString())
	}
	yyj3475++
	if yyhl3475 {
		yyb3475 = yyj3475 > l
	} else {
		yyb3475 = r.CheckBreak()
	}
	if yyb3475 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.Data = nil
	} else {
		yyv3480 := &x.Data
		yym3481 := z.DecBinary()
		_ = yym3481
		if false {
		} else {
			*yyv3480 = r.DecodeBytes(*(*[]byte)(yyv3480), false, false)
		}
	}
	for {
		yyj3475++
		if yyhl3475 {
			yyb3475 = yyj3475 > l
		} else {
			yyb3475 = r.CheckBreak()
		}
		if yyb3475 {
			break
		}
		z.DecStructFieldNotFound(yyj3475-1, "")
	}
	r.ReadEnd()
}

func (x codecSelfer1234) encSlicePersistentVolumeAccessMode(v []PersistentVolumeAccessMode, e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	r.EncodeArrayStart(len(v))
	for _, yyv3482 := range v {
		yyv3482.CodecEncodeSelf(e)
	}
	r.EncodeEnd()
}

func (x codecSelfer1234) decSlicePersistentVolumeAccessMode(v *[]PersistentVolumeAccessMode, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r

	yyv3483 := *v
	yyh3483, yyl3483 := z.DecSliceHelperStart()

	var yyrr3483, yyrl3483 int
	var yyc3483, yyrt3483 bool
	_, _, _ = yyc3483, yyrt3483, yyrl3483
	yyrr3483 = yyl3483

	if yyv3483 == nil {
		if yyrl3483, yyrt3483 = z.DecInferLen(yyl3483, z.DecBasicHandle().MaxInitLen, 16); yyrt3483 {
			yyrr3483 = yyrl3483
		}
		yyv3483 = make([]PersistentVolumeAccessMode, yyrl3483)
		yyc3483 = true
	}

	if yyl3483 == 0 {
		if len(yyv3483) != 0 {
			yyv3483 = yyv3483[:0]
			yyc3483 = true
		}
	} else if yyl3483 > 0 {

		if yyl3483 > cap(yyv3483) {
			yyrl3483, yyrt3483 = z.DecInferLen(yyl3483, z.DecBasicHandle().MaxInitLen, 16)

			yyv23483 := yyv3483
			yyv3483 = make([]PersistentVolumeAccessMode, yyrl3483)
			if len(yyv3483) > 0 {
				copy(yyv3483, yyv23483[:cap(yyv23483)])
			}
			yyc3483 = true

			yyrr3483 = len(yyv3483)
		} else if yyl3483 != len(yyv3483) {
			yyv3483 = yyv3483[:yyl3483]
			yyc3483 = true
		}
		yyj3483 := 0
		for ; yyj3483 < yyrr3483; yyj3483++ {
			if r.TryDecodeAsNil() {
				yyv3483[yyj3483] = ""
			} else {
				yyv3483[yyj3483] = PersistentVolumeAccessMode(r.DecodeString())
			}

		}
		if yyrt3483 {
			for ; yyj3483 < yyl3483; yyj3483++ {
				yyv3483 = append(yyv3483, "")
				if r.TryDecodeAsNil() {
					yyv3483[yyj3483] = ""
				} else {
					yyv3483[yyj3483] = PersistentVolumeAccessMode(r.DecodeString())
				}

			}
		}

	} else {
		for yyj3483 := 0; !r.CheckBreak(); yyj3483++ {
			if yyj3483 >= len(yyv3483) {
				yyv3483 = append(yyv3483, "") // var yyz3483 PersistentVolumeAccessMode
				yyc3483 = true
			}

			if yyj3483 < len(yyv3483) {
				if r.TryDecodeAsNil() {
					yyv3483[yyj3483] = ""
				} else {
					yyv3483[yyj3483] = PersistentVolumeAccessMode(r.DecodeString())
				}

			} else {
				z.DecSwallow()
			}

		}
		yyh3483.End()
	}
	if yyc3483 {
		*v = yyv3483
	}

}

func (x codecSelfer1234) encSlicePersistentVolume(v []PersistentVolume, e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	r.EncodeArrayStart(len(v))
	for _, yyv3487 := range v {
		yy3488 := &yyv3487
		yy3488.CodecEncodeSelf(e)
	}
	r.EncodeEnd()
}

func (x codecSelfer1234) decSlicePersistentVolume(v *[]PersistentVolume, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r

	yyv3489 := *v
	yyh3489, yyl3489 := z.DecSliceHelperStart()

	var yyrr3489, yyrl3489 int
	var yyc3489, yyrt3489 bool
	_, _, _ = yyc3489, yyrt3489, yyrl3489
	yyrr3489 = yyl3489

	if yyv3489 == nil {
		if yyrl3489, yyrt3489 = z.DecInferLen(yyl3489, z.DecBasicHandle().MaxInitLen, 384); yyrt3489 {
			yyrr3489 = yyrl3489
		}
		yyv3489 = make([]PersistentVolume, yyrl3489)
		yyc3489 = true
	}

	if yyl3489 == 0 {
		if len(yyv3489) != 0 {
			yyv3489 = yyv3489[:0]
			yyc3489 = true
		}
	} else if yyl3489 > 0 {

		if yyl3489 > cap(yyv3489) {
			yyrl3489, yyrt3489 = z.DecInferLen(yyl3489, z.DecBasicHandle().MaxInitLen, 384)
			yyv3489 = make([]PersistentVolume, yyrl3489)
			yyc3489 = true

			yyrr3489 = len(yyv3489)
		} else if yyl3489 != len(yyv3489) {
			yyv3489 = yyv3489[:yyl3489]
			yyc3489 = true
		}
		yyj3489 := 0
		for ; yyj3489 < yyrr3489; yyj3489++ {
			if r.TryDecodeAsNil() {
				yyv3489[yyj3489] = PersistentVolume{}
			} else {
				yyv3490 := &yyv3489[yyj3489]
				yyv3490.CodecDecodeSelf(d)
			}

		}
		if yyrt3489 {
			for ; yyj3489 < yyl3489; yyj3489++ {
				yyv3489 = append(yyv3489, PersistentVolume{})
				if r.TryDecodeAsNil() {
					yyv3489[yyj3489] = PersistentVolume{}
				} else {
					yyv3491 := &yyv3489[yyj3489]
					yyv3491.CodecDecodeSelf(d)
				}

			}
		}

	} else {
		for yyj3489 := 0; !r.CheckBreak(); yyj3489++ {
			if yyj3489 >= len(yyv3489) {
				yyv3489 = append(yyv3489, PersistentVolume{}) // var yyz3489 PersistentVolume
				yyc3489 = true
			}

			if yyj3489 < len(yyv3489) {
				if r.TryDecodeAsNil() {
					yyv3489[yyj3489] = PersistentVolume{}
				} else {
					yyv3492 := &yyv3489[yyj3489]
					yyv3492.CodecDecodeSelf(d)
				}

			} else {
				z.DecSwallow()
			}

		}
		yyh3489.End()
	}
	if yyc3489 {
		*v = yyv3489
	}

}

func (x codecSelfer1234) encSlicePersistentVolumeClaim(v []PersistentVolumeClaim, e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	r.EncodeArrayStart(len(v))
	for _, yyv3493 := range v {
		yy3494 := &yyv3493
		yy3494.CodecEncodeSelf(e)
	}
	r.EncodeEnd()
}

func (x codecSelfer1234) decSlicePersistentVolumeClaim(v *[]PersistentVolumeClaim, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r

	yyv3495 := *v
	yyh3495, yyl3495 := z.DecSliceHelperStart()

	var yyrr3495, yyrl3495 int
	var yyc3495, yyrt3495 bool
	_, _, _ = yyc3495, yyrt3495, yyrl3495
	yyrr3495 = yyl3495

	if yyv3495 == nil {
		if yyrl3495, yyrt3495 = z.DecInferLen(yyl3495, z.DecBasicHandle().MaxInitLen, 296); yyrt3495 {
			yyrr3495 = yyrl3495
		}
		yyv3495 = make([]PersistentVolumeClaim, yyrl3495)
		yyc3495 = true
	}

	if yyl3495 == 0 {
		if len(yyv3495) != 0 {
			yyv3495 = yyv3495[:0]
			yyc3495 = true
		}
	} else if yyl3495 > 0 {

		if yyl3495 > cap(yyv3495) {
			yyrl3495, yyrt3495 = z.DecInferLen(yyl3495, z.DecBasicHandle().MaxInitLen, 296)
			yyv3495 = make([]PersistentVolumeClaim, yyrl3495)
			yyc3495 = true

			yyrr3495 = len(yyv3495)
		} else if yyl3495 != len(yyv3495) {
			yyv3495 = yyv3495[:yyl3495]
			yyc3495 = true
		}
		yyj3495 := 0
		for ; yyj3495 < yyrr3495; yyj3495++ {
			if r.TryDecodeAsNil() {
				yyv3495[yyj3495] = PersistentVolumeClaim{}
			} else {
				yyv3496 := &yyv3495[yyj3495]
				yyv3496.CodecDecodeSelf(d)
			}

		}
		if yyrt3495 {
			for ; yyj3495 < yyl3495; yyj3495++ {
				yyv3495 = append(yyv3495, PersistentVolumeClaim{})
				if r.TryDecodeAsNil() {
					yyv3495[yyj3495] = PersistentVolumeClaim{}
				} else {
					yyv3497 := &yyv3495[yyj3495]
					yyv3497.CodecDecodeSelf(d)
				}

			}
		}

	} else {
		for yyj3495 := 0; !r.CheckBreak(); yyj3495++ {
			if yyj3495 >= len(yyv3495) {
				yyv3495 = append(yyv3495, PersistentVolumeClaim{}) // var yyz3495 PersistentVolumeClaim
				yyc3495 = true
			}

			if yyj3495 < len(yyv3495) {
				if r.TryDecodeAsNil() {
					yyv3495[yyj3495] = PersistentVolumeClaim{}
				} else {
					yyv3498 := &yyv3495[yyj3495]
					yyv3498.CodecDecodeSelf(d)
				}

			} else {
				z.DecSwallow()
			}

		}
		yyh3495.End()
	}
	if yyc3495 {
		*v = yyv3495
	}

}

func (x codecSelfer1234) encSliceCapability(v []Capability, e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	r.EncodeArrayStart(len(v))
	for _, yyv3499 := range v {
		yyv3499.CodecEncodeSelf(e)
	}
	r.EncodeEnd()
}

func (x codecSelfer1234) decSliceCapability(v *[]Capability, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r

	yyv3500 := *v
	yyh3500, yyl3500 := z.DecSliceHelperStart()

	var yyrr3500, yyrl3500 int
	var yyc3500, yyrt3500 bool
	_, _, _ = yyc3500, yyrt3500, yyrl3500
	yyrr3500 = yyl3500

	if yyv3500 == nil {
		if yyrl3500, yyrt3500 = z.DecInferLen(yyl3500, z.DecBasicHandle().MaxInitLen, 16); yyrt3500 {
			yyrr3500 = yyrl3500
		}
		yyv3500 = make([]Capability, yyrl3500)
		yyc3500 = true
	}

	if yyl3500 == 0 {
		if len(yyv3500) != 0 {
			yyv3500 = yyv3500[:0]
			yyc3500 = true
		}
	} else if yyl3500 > 0 {

		if yyl3500 > cap(yyv3500) {
			yyrl3500, yyrt3500 = z.DecInferLen(yyl3500, z.DecBasicHandle().MaxInitLen, 16)

			yyv23500 := yyv3500
			yyv3500 = make([]Capability, yyrl3500)
			if len(yyv3500) > 0 {
				copy(yyv3500, yyv23500[:cap(yyv23500)])
			}
			yyc3500 = true

			yyrr3500 = len(yyv3500)
		} else if yyl3500 != len(yyv3500) {
			yyv3500 = yyv3500[:yyl3500]
			yyc3500 = true
		}
		yyj3500 := 0
		for ; yyj3500 < yyrr3500; yyj3500++ {
			if r.TryDecodeAsNil() {
				yyv3500[yyj3500] = ""
			} else {
				yyv3500[yyj3500] = Capability(r.DecodeString())
			}

		}
		if yyrt3500 {
			for ; yyj3500 < yyl3500; yyj3500++ {
				yyv3500 = append(yyv3500, "")
				if r.TryDecodeAsNil() {
					yyv3500[yyj3500] = ""
				} else {
					yyv3500[yyj3500] = Capability(r.DecodeString())
				}

			}
		}

	} else {
		for yyj3500 := 0; !r.CheckBreak(); yyj3500++ {
			if yyj3500 >= len(yyv3500) {
				yyv3500 = append(yyv3500, "") // var yyz3500 Capability
				yyc3500 = true
			}

			if yyj3500 < len(yyv3500) {
				if r.TryDecodeAsNil() {
					yyv3500[yyj3500] = ""
				} else {
					yyv3500[yyj3500] = Capability(r.DecodeString())
				}

			} else {
				z.DecSwallow()
			}

		}
		yyh3500.End()
	}
	if yyc3500 {
		*v = yyv3500
	}

}

func (x codecSelfer1234) encSliceContainerPort(v []ContainerPort, e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	r.EncodeArrayStart(len(v))
	for _, yyv3504 := range v {
		yy3505 := &yyv3504
		yy3505.CodecEncodeSelf(e)
	}
	r.EncodeEnd()
}

func (x codecSelfer1234) decSliceContainerPort(v *[]ContainerPort, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r

	yyv3506 := *v
	yyh3506, yyl3506 := z.DecSliceHelperStart()

	var yyrr3506, yyrl3506 int
	var yyc3506, yyrt3506 bool
	_, _, _ = yyc3506, yyrt3506, yyrl3506
	yyrr3506 = yyl3506

	if yyv3506 == nil {
		if yyrl3506, yyrt3506 = z.DecInferLen(yyl3506, z.DecBasicHandle().MaxInitLen, 64); yyrt3506 {
			yyrr3506 = yyrl3506
		}
		yyv3506 = make([]ContainerPort, yyrl3506)
		yyc3506 = true
	}

	if yyl3506 == 0 {
		if len(yyv3506) != 0 {
			yyv3506 = yyv3506[:0]
			yyc3506 = true
		}
	} else if yyl3506 > 0 {

		if yyl3506 > cap(yyv3506) {
			yyrl3506, yyrt3506 = z.DecInferLen(yyl3506, z.DecBasicHandle().MaxInitLen, 64)
			yyv3506 = make([]ContainerPort, yyrl3506)
			yyc3506 = true

			yyrr3506 = len(yyv3506)
		} else if yyl3506 != len(yyv3506) {
			yyv3506 = yyv3506[:yyl3506]
			yyc3506 = true
		}
		yyj3506 := 0
		for ; yyj3506 < yyrr3506; yyj3506++ {
			if r.TryDecodeAsNil() {
				yyv3506[yyj3506] = ContainerPort{}
			} else {
				yyv3507 := &yyv3506[yyj3506]
				yyv3507.CodecDecodeSelf(d)
			}

		}
		if yyrt3506 {
			for ; yyj3506 < yyl3506; yyj3506++ {
				yyv3506 = append(yyv3506, ContainerPort{})
				if r.TryDecodeAsNil() {
					yyv3506[yyj3506] = ContainerPort{}
				} else {
					yyv3508 := &yyv3506[yyj3506]
					yyv3508.CodecDecodeSelf(d)
				}

			}
		}

	} else {
		for yyj3506 := 0; !r.CheckBreak(); yyj3506++ {
			if yyj3506 >= len(yyv3506) {
				yyv3506 = append(yyv3506, ContainerPort{}) // var yyz3506 ContainerPort
				yyc3506 = true
			}

			if yyj3506 < len(yyv3506) {
				if r.TryDecodeAsNil() {
					yyv3506[yyj3506] = ContainerPort{}
				} else {
					yyv3509 := &yyv3506[yyj3506]
					yyv3509.CodecDecodeSelf(d)
				}

			} else {
				z.DecSwallow()
			}

		}
		yyh3506.End()
	}
	if yyc3506 {
		*v = yyv3506
	}

}

func (x codecSelfer1234) encSliceEnvVar(v []EnvVar, e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	r.EncodeArrayStart(len(v))
	for _, yyv3510 := range v {
		yy3511 := &yyv3510
		yy3511.CodecEncodeSelf(e)
	}
	r.EncodeEnd()
}

func (x codecSelfer1234) decSliceEnvVar(v *[]EnvVar, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r

	yyv3512 := *v
	yyh3512, yyl3512 := z.DecSliceHelperStart()

	var yyrr3512, yyrl3512 int
	var yyc3512, yyrt3512 bool
	_, _, _ = yyc3512, yyrt3512, yyrl3512
	yyrr3512 = yyl3512

	if yyv3512 == nil {
		if yyrl3512, yyrt3512 = z.DecInferLen(yyl3512, z.DecBasicHandle().MaxInitLen, 40); yyrt3512 {
			yyrr3512 = yyrl3512
		}
		yyv3512 = make([]EnvVar, yyrl3512)
		yyc3512 = true
	}

	if yyl3512 == 0 {
		if len(yyv3512) != 0 {
			yyv3512 = yyv3512[:0]
			yyc3512 = true
		}
	} else if yyl3512 > 0 {

		if yyl3512 > cap(yyv3512) {
			yyrl3512, yyrt3512 = z.DecInferLen(yyl3512, z.DecBasicHandle().MaxInitLen, 40)
			yyv3512 = make([]EnvVar, yyrl3512)
			yyc3512 = true

			yyrr3512 = len(yyv3512)
		} else if yyl3512 != len(yyv3512) {
			yyv3512 = yyv3512[:yyl3512]
			yyc3512 = true
		}
		yyj3512 := 0
		for ; yyj3512 < yyrr3512; yyj3512++ {
			if r.TryDecodeAsNil() {
				yyv3512[yyj3512] = EnvVar{}
			} else {
				yyv3513 := &yyv3512[yyj3512]
				yyv3513.CodecDecodeSelf(d)
			}

		}
		if yyrt3512 {
			for ; yyj3512 < yyl3512; yyj3512++ {
				yyv3512 = append(yyv3512, EnvVar{})
				if r.TryDecodeAsNil() {
					yyv3512[yyj3512] = EnvVar{}
				} else {
					yyv3514 := &yyv3512[yyj3512]
					yyv3514.CodecDecodeSelf(d)
				}

			}
		}

	} else {
		for yyj3512 := 0; !r.CheckBreak(); yyj3512++ {
			if yyj3512 >= len(yyv3512) {
				yyv3512 = append(yyv3512, EnvVar{}) // var yyz3512 EnvVar
				yyc3512 = true
			}

			if yyj3512 < len(yyv3512) {
				if r.TryDecodeAsNil() {
					yyv3512[yyj3512] = EnvVar{}
				} else {
					yyv3515 := &yyv3512[yyj3512]
					yyv3515.CodecDecodeSelf(d)
				}

			} else {
				z.DecSwallow()
			}

		}
		yyh3512.End()
	}
	if yyc3512 {
		*v = yyv3512
	}

}

func (x codecSelfer1234) encSliceVolumeMount(v []VolumeMount, e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	r.EncodeArrayStart(len(v))
	for _, yyv3516 := range v {
		yy3517 := &yyv3516
		yy3517.CodecEncodeSelf(e)
	}
	r.EncodeEnd()
}

func (x codecSelfer1234) decSliceVolumeMount(v *[]VolumeMount, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r

	yyv3518 := *v
	yyh3518, yyl3518 := z.DecSliceHelperStart()

	var yyrr3518, yyrl3518 int
	var yyc3518, yyrt3518 bool
	_, _, _ = yyc3518, yyrt3518, yyrl3518
	yyrr3518 = yyl3518

	if yyv3518 == nil {
		if yyrl3518, yyrt3518 = z.DecInferLen(yyl3518, z.DecBasicHandle().MaxInitLen, 40); yyrt3518 {
			yyrr3518 = yyrl3518
		}
		yyv3518 = make([]VolumeMount, yyrl3518)
		yyc3518 = true
	}

	if yyl3518 == 0 {
		if len(yyv3518) != 0 {
			yyv3518 = yyv3518[:0]
			yyc3518 = true
		}
	} else if yyl3518 > 0 {

		if yyl3518 > cap(yyv3518) {
			yyrl3518, yyrt3518 = z.DecInferLen(yyl3518, z.DecBasicHandle().MaxInitLen, 40)
			yyv3518 = make([]VolumeMount, yyrl3518)
			yyc3518 = true

			yyrr3518 = len(yyv3518)
		} else if yyl3518 != len(yyv3518) {
			yyv3518 = yyv3518[:yyl3518]
			yyc3518 = true
		}
		yyj3518 := 0
		for ; yyj3518 < yyrr3518; yyj3518++ {
			if r.TryDecodeAsNil() {
				yyv3518[yyj3518] = VolumeMount{}
			} else {
				yyv3519 := &yyv3518[yyj3518]
				yyv3519.CodecDecodeSelf(d)
			}

		}
		if yyrt3518 {
			for ; yyj3518 < yyl3518; yyj3518++ {
				yyv3518 = append(yyv3518, VolumeMount{})
				if r.TryDecodeAsNil() {
					yyv3518[yyj3518] = VolumeMount{}
				} else {
					yyv3520 := &yyv3518[yyj3518]
					yyv3520.CodecDecodeSelf(d)
				}

			}
		}

	} else {
		for yyj3518 := 0; !r.CheckBreak(); yyj3518++ {
			if yyj3518 >= len(yyv3518) {
				yyv3518 = append(yyv3518, VolumeMount{}) // var yyz3518 VolumeMount
				yyc3518 = true
			}

			if yyj3518 < len(yyv3518) {
				if r.TryDecodeAsNil() {
					yyv3518[yyj3518] = VolumeMount{}
				} else {
					yyv3521 := &yyv3518[yyj3518]
					yyv3521.CodecDecodeSelf(d)
				}

			} else {
				z.DecSwallow()
			}

		}
		yyh3518.End()
	}
	if yyc3518 {
		*v = yyv3518
	}

}

func (x codecSelfer1234) encSliceVolume(v []Volume, e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	r.EncodeArrayStart(len(v))
	for _, yyv3522 := range v {
		yy3523 := &yyv3522
		yy3523.CodecEncodeSelf(e)
	}
	r.EncodeEnd()
}

func (x codecSelfer1234) decSliceVolume(v *[]Volume, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r

	yyv3524 := *v
	yyh3524, yyl3524 := z.DecSliceHelperStart()

	var yyrr3524, yyrl3524 int
	var yyc3524, yyrt3524 bool
	_, _, _ = yyc3524, yyrt3524, yyrl3524
	yyrr3524 = yyl3524

	if yyv3524 == nil {
		if yyrl3524, yyrt3524 = z.DecInferLen(yyl3524, z.DecBasicHandle().MaxInitLen, 144); yyrt3524 {
			yyrr3524 = yyrl3524
		}
		yyv3524 = make([]Volume, yyrl3524)
		yyc3524 = true
	}

	if yyl3524 == 0 {
		if len(yyv3524) != 0 {
			yyv3524 = yyv3524[:0]
			yyc3524 = true
		}
	} else if yyl3524 > 0 {

		if yyl3524 > cap(yyv3524) {
			yyrl3524, yyrt3524 = z.DecInferLen(yyl3524, z.DecBasicHandle().MaxInitLen, 144)
			yyv3524 = make([]Volume, yyrl3524)
			yyc3524 = true

			yyrr3524 = len(yyv3524)
		} else if yyl3524 != len(yyv3524) {
			yyv3524 = yyv3524[:yyl3524]
			yyc3524 = true
		}
		yyj3524 := 0
		for ; yyj3524 < yyrr3524; yyj3524++ {
			if r.TryDecodeAsNil() {
				yyv3524[yyj3524] = Volume{}
			} else {
				yyv3525 := &yyv3524[yyj3524]
				yyv3525.CodecDecodeSelf(d)
			}

		}
		if yyrt3524 {
			for ; yyj3524 < yyl3524; yyj3524++ {
				yyv3524 = append(yyv3524, Volume{})
				if r.TryDecodeAsNil() {
					yyv3524[yyj3524] = Volume{}
				} else {
					yyv3526 := &yyv3524[yyj3524]
					yyv3526.CodecDecodeSelf(d)
				}

			}
		}

	} else {
		for yyj3524 := 0; !r.CheckBreak(); yyj3524++ {
			if yyj3524 >= len(yyv3524) {
				yyv3524 = append(yyv3524, Volume{}) // var yyz3524 Volume
				yyc3524 = true
			}

			if yyj3524 < len(yyv3524) {
				if r.TryDecodeAsNil() {
					yyv3524[yyj3524] = Volume{}
				} else {
					yyv3527 := &yyv3524[yyj3524]
					yyv3527.CodecDecodeSelf(d)
				}

			} else {
				z.DecSwallow()
			}

		}
		yyh3524.End()
	}
	if yyc3524 {
		*v = yyv3524
	}

}

func (x codecSelfer1234) encSliceContainer(v []Container, e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	r.EncodeArrayStart(len(v))
	for _, yyv3528 := range v {
		yy3529 := &yyv3528
		yy3529.CodecEncodeSelf(e)
	}
	r.EncodeEnd()
}

func (x codecSelfer1234) decSliceContainer(v *[]Container, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r

	yyv3530 := *v
	yyh3530, yyl3530 := z.DecSliceHelperStart()

	var yyrr3530, yyrl3530 int
	var yyc3530, yyrt3530 bool
	_, _, _ = yyc3530, yyrt3530, yyrl3530
	yyrr3530 = yyl3530

	if yyv3530 == nil {
		if yyrl3530, yyrt3530 = z.DecInferLen(yyl3530, z.DecBasicHandle().MaxInitLen, 256); yyrt3530 {
			yyrr3530 = yyrl3530
		}
		yyv3530 = make([]Container, yyrl3530)
		yyc3530 = true
	}

	if yyl3530 == 0 {
		if len(yyv3530) != 0 {
			yyv3530 = yyv3530[:0]
			yyc3530 = true
		}
	} else if yyl3530 > 0 {

		if yyl3530 > cap(yyv3530) {
			yyrl3530, yyrt3530 = z.DecInferLen(yyl3530, z.DecBasicHandle().MaxInitLen, 256)
			yyv3530 = make([]Container, yyrl3530)
			yyc3530 = true

			yyrr3530 = len(yyv3530)
		} else if yyl3530 != len(yyv3530) {
			yyv3530 = yyv3530[:yyl3530]
			yyc3530 = true
		}
		yyj3530 := 0
		for ; yyj3530 < yyrr3530; yyj3530++ {
			if r.TryDecodeAsNil() {
				yyv3530[yyj3530] = Container{}
			} else {
				yyv3531 := &yyv3530[yyj3530]
				yyv3531.CodecDecodeSelf(d)
			}

		}
		if yyrt3530 {
			for ; yyj3530 < yyl3530; yyj3530++ {
				yyv3530 = append(yyv3530, Container{})
				if r.TryDecodeAsNil() {
					yyv3530[yyj3530] = Container{}
				} else {
					yyv3532 := &yyv3530[yyj3530]
					yyv3532.CodecDecodeSelf(d)
				}

			}
		}

	} else {
		for yyj3530 := 0; !r.CheckBreak(); yyj3530++ {
			if yyj3530 >= len(yyv3530) {
				yyv3530 = append(yyv3530, Container{}) // var yyz3530 Container
				yyc3530 = true
			}

			if yyj3530 < len(yyv3530) {
				if r.TryDecodeAsNil() {
					yyv3530[yyj3530] = Container{}
				} else {
					yyv3533 := &yyv3530[yyj3530]
					yyv3533.CodecDecodeSelf(d)
				}

			} else {
				z.DecSwallow()
			}

		}
		yyh3530.End()
	}
	if yyc3530 {
		*v = yyv3530
	}

}

func (x codecSelfer1234) encSliceLocalObjectReference(v []LocalObjectReference, e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	r.EncodeArrayStart(len(v))
	for _, yyv3534 := range v {
		yy3535 := &yyv3534
		yy3535.CodecEncodeSelf(e)
	}
	r.EncodeEnd()
}

func (x codecSelfer1234) decSliceLocalObjectReference(v *[]LocalObjectReference, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r

	yyv3536 := *v
	yyh3536, yyl3536 := z.DecSliceHelperStart()

	var yyrr3536, yyrl3536 int
	var yyc3536, yyrt3536 bool
	_, _, _ = yyc3536, yyrt3536, yyrl3536
	yyrr3536 = yyl3536

	if yyv3536 == nil {
		if yyrl3536, yyrt3536 = z.DecInferLen(yyl3536, z.DecBasicHandle().MaxInitLen, 16); yyrt3536 {
			yyrr3536 = yyrl3536
		}
		yyv3536 = make([]LocalObjectReference, yyrl3536)
		yyc3536 = true
	}

	if yyl3536 == 0 {
		if len(yyv3536) != 0 {
			yyv3536 = yyv3536[:0]
			yyc3536 = true
		}
	} else if yyl3536 > 0 {

		if yyl3536 > cap(yyv3536) {
			yyrl3536, yyrt3536 = z.DecInferLen(yyl3536, z.DecBasicHandle().MaxInitLen, 16)
			yyv3536 = make([]LocalObjectReference, yyrl3536)
			yyc3536 = true

			yyrr3536 = len(yyv3536)
		} else if yyl3536 != len(yyv3536) {
			yyv3536 = yyv3536[:yyl3536]
			yyc3536 = true
		}
		yyj3536 := 0
		for ; yyj3536 < yyrr3536; yyj3536++ {
			if r.TryDecodeAsNil() {
				yyv3536[yyj3536] = LocalObjectReference{}
			} else {
				yyv3537 := &yyv3536[yyj3536]
				yyv3537.CodecDecodeSelf(d)
			}

		}
		if yyrt3536 {
			for ; yyj3536 < yyl3536; yyj3536++ {
				yyv3536 = append(yyv3536, LocalObjectReference{})
				if r.TryDecodeAsNil() {
					yyv3536[yyj3536] = LocalObjectReference{}
				} else {
					yyv3538 := &yyv3536[yyj3536]
					yyv3538.CodecDecodeSelf(d)
				}

			}
		}

	} else {
		for yyj3536 := 0; !r.CheckBreak(); yyj3536++ {
			if yyj3536 >= len(yyv3536) {
				yyv3536 = append(yyv3536, LocalObjectReference{}) // var yyz3536 LocalObjectReference
				yyc3536 = true
			}

			if yyj3536 < len(yyv3536) {
				if r.TryDecodeAsNil() {
					yyv3536[yyj3536] = LocalObjectReference{}
				} else {
					yyv3539 := &yyv3536[yyj3536]
					yyv3539.CodecDecodeSelf(d)
				}

			} else {
				z.DecSwallow()
			}

		}
		yyh3536.End()
	}
	if yyc3536 {
		*v = yyv3536
	}

}

func (x codecSelfer1234) encSlicePodCondition(v []PodCondition, e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	r.EncodeArrayStart(len(v))
	for _, yyv3540 := range v {
		yy3541 := &yyv3540
		yy3541.CodecEncodeSelf(e)
	}
	r.EncodeEnd()
}

func (x codecSelfer1234) decSlicePodCondition(v *[]PodCondition, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r

	yyv3542 := *v
	yyh3542, yyl3542 := z.DecSliceHelperStart()

	var yyrr3542, yyrl3542 int
	var yyc3542, yyrt3542 bool
	_, _, _ = yyc3542, yyrt3542, yyrl3542
	yyrr3542 = yyl3542

	if yyv3542 == nil {
		if yyrl3542, yyrt3542 = z.DecInferLen(yyl3542, z.DecBasicHandle().MaxInitLen, 112); yyrt3542 {
			yyrr3542 = yyrl3542
		}
		yyv3542 = make([]PodCondition, yyrl3542)
		yyc3542 = true
	}

	if yyl3542 == 0 {
		if len(yyv3542) != 0 {
			yyv3542 = yyv3542[:0]
			yyc3542 = true
		}
	} else if yyl3542 > 0 {

		if yyl3542 > cap(yyv3542) {
			yyrl3542, yyrt3542 = z.DecInferLen(yyl3542, z.DecBasicHandle().MaxInitLen, 112)
			yyv3542 = make([]PodCondition, yyrl3542)
			yyc3542 = true

			yyrr3542 = len(yyv3542)
		} else if yyl3542 != len(yyv3542) {
			yyv3542 = yyv3542[:yyl3542]
			yyc3542 = true
		}
		yyj3542 := 0
		for ; yyj3542 < yyrr3542; yyj3542++ {
			if r.TryDecodeAsNil() {
				yyv3542[yyj3542] = PodCondition{}
			} else {
				yyv3543 := &yyv3542[yyj3542]
				yyv3543.CodecDecodeSelf(d)
			}

		}
		if yyrt3542 {
			for ; yyj3542 < yyl3542; yyj3542++ {
				yyv3542 = append(yyv3542, PodCondition{})
				if r.TryDecodeAsNil() {
					yyv3542[yyj3542] = PodCondition{}
				} else {
					yyv3544 := &yyv3542[yyj3542]
					yyv3544.CodecDecodeSelf(d)
				}

			}
		}

	} else {
		for yyj3542 := 0; !r.CheckBreak(); yyj3542++ {
			if yyj3542 >= len(yyv3542) {
				yyv3542 = append(yyv3542, PodCondition{}) // var yyz3542 PodCondition
				yyc3542 = true
			}

			if yyj3542 < len(yyv3542) {
				if r.TryDecodeAsNil() {
					yyv3542[yyj3542] = PodCondition{}
				} else {
					yyv3545 := &yyv3542[yyj3542]
					yyv3545.CodecDecodeSelf(d)
				}

			} else {
				z.DecSwallow()
			}

		}
		yyh3542.End()
	}
	if yyc3542 {
		*v = yyv3542
	}

}

func (x codecSelfer1234) encSliceContainerStatus(v []ContainerStatus, e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	r.EncodeArrayStart(len(v))
	for _, yyv3546 := range v {
		yy3547 := &yyv3546
		yy3547.CodecEncodeSelf(e)
	}
	r.EncodeEnd()
}

func (x codecSelfer1234) decSliceContainerStatus(v *[]ContainerStatus, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r

	yyv3548 := *v
	yyh3548, yyl3548 := z.DecSliceHelperStart()

	var yyrr3548, yyrl3548 int
	var yyc3548, yyrt3548 bool
	_, _, _ = yyc3548, yyrt3548, yyrl3548
	yyrr3548 = yyl3548

	if yyv3548 == nil {
		if yyrl3548, yyrt3548 = z.DecInferLen(yyl3548, z.DecBasicHandle().MaxInitLen, 128); yyrt3548 {
			yyrr3548 = yyrl3548
		}
		yyv3548 = make([]ContainerStatus, yyrl3548)
		yyc3548 = true
	}

	if yyl3548 == 0 {
		if len(yyv3548) != 0 {
			yyv3548 = yyv3548[:0]
			yyc3548 = true
		}
	} else if yyl3548 > 0 {

		if yyl3548 > cap(yyv3548) {
			yyrl3548, yyrt3548 = z.DecInferLen(yyl3548, z.DecBasicHandle().MaxInitLen, 128)
			yyv3548 = make([]ContainerStatus, yyrl3548)
			yyc3548 = true

			yyrr3548 = len(yyv3548)
		} else if yyl3548 != len(yyv3548) {
			yyv3548 = yyv3548[:yyl3548]
			yyc3548 = true
		}
		yyj3548 := 0
		for ; yyj3548 < yyrr3548; yyj3548++ {
			if r.TryDecodeAsNil() {
				yyv3548[yyj3548] = ContainerStatus{}
			} else {
				yyv3549 := &yyv3548[yyj3548]
				yyv3549.CodecDecodeSelf(d)
			}

		}
		if yyrt3548 {
			for ; yyj3548 < yyl3548; yyj3548++ {
				yyv3548 = append(yyv3548, ContainerStatus{})
				if r.TryDecodeAsNil() {
					yyv3548[yyj3548] = ContainerStatus{}
				} else {
					yyv3550 := &yyv3548[yyj3548]
					yyv3550.CodecDecodeSelf(d)
				}

			}
		}

	} else {
		for yyj3548 := 0; !r.CheckBreak(); yyj3548++ {
			if yyj3548 >= len(yyv3548) {
				yyv3548 = append(yyv3548, ContainerStatus{}) // var yyz3548 ContainerStatus
				yyc3548 = true
			}

			if yyj3548 < len(yyv3548) {
				if r.TryDecodeAsNil() {
					yyv3548[yyj3548] = ContainerStatus{}
				} else {
					yyv3551 := &yyv3548[yyj3548]
					yyv3551.CodecDecodeSelf(d)
				}

			} else {
				z.DecSwallow()
			}

		}
		yyh3548.End()
	}
	if yyc3548 {
		*v = yyv3548
	}

}

func (x codecSelfer1234) encSlicePod(v []Pod, e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	r.EncodeArrayStart(len(v))
	for _, yyv3552 := range v {
		yy3553 := &yyv3552
		yy3553.CodecEncodeSelf(e)
	}
	r.EncodeEnd()
}

func (x codecSelfer1234) decSlicePod(v *[]Pod, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r

	yyv3554 := *v
	yyh3554, yyl3554 := z.DecSliceHelperStart()

	var yyrr3554, yyrl3554 int
	var yyc3554, yyrt3554 bool
	_, _, _ = yyc3554, yyrt3554, yyrl3554
	yyrr3554 = yyl3554

	if yyv3554 == nil {
		if yyrl3554, yyrt3554 = z.DecInferLen(yyl3554, z.DecBasicHandle().MaxInitLen, 520); yyrt3554 {
			yyrr3554 = yyrl3554
		}
		yyv3554 = make([]Pod, yyrl3554)
		yyc3554 = true
	}

	if yyl3554 == 0 {
		if len(yyv3554) != 0 {
			yyv3554 = yyv3554[:0]
			yyc3554 = true
		}
	} else if yyl3554 > 0 {

		if yyl3554 > cap(yyv3554) {
			yyrl3554, yyrt3554 = z.DecInferLen(yyl3554, z.DecBasicHandle().MaxInitLen, 520)
			yyv3554 = make([]Pod, yyrl3554)
			yyc3554 = true

			yyrr3554 = len(yyv3554)
		} else if yyl3554 != len(yyv3554) {
			yyv3554 = yyv3554[:yyl3554]
			yyc3554 = true
		}
		yyj3554 := 0
		for ; yyj3554 < yyrr3554; yyj3554++ {
			if r.TryDecodeAsNil() {
				yyv3554[yyj3554] = Pod{}
			} else {
				yyv3555 := &yyv3554[yyj3554]
				yyv3555.CodecDecodeSelf(d)
			}

		}
		if yyrt3554 {
			for ; yyj3554 < yyl3554; yyj3554++ {
				yyv3554 = append(yyv3554, Pod{})
				if r.TryDecodeAsNil() {
					yyv3554[yyj3554] = Pod{}
				} else {
					yyv3556 := &yyv3554[yyj3554]
					yyv3556.CodecDecodeSelf(d)
				}

			}
		}

	} else {
		for yyj3554 := 0; !r.CheckBreak(); yyj3554++ {
			if yyj3554 >= len(yyv3554) {
				yyv3554 = append(yyv3554, Pod{}) // var yyz3554 Pod
				yyc3554 = true
			}

			if yyj3554 < len(yyv3554) {
				if r.TryDecodeAsNil() {
					yyv3554[yyj3554] = Pod{}
				} else {
					yyv3557 := &yyv3554[yyj3554]
					yyv3557.CodecDecodeSelf(d)
				}

			} else {
				z.DecSwallow()
			}

		}
		yyh3554.End()
	}
	if yyc3554 {
		*v = yyv3554
	}

}

func (x codecSelfer1234) encSlicePodTemplate(v []PodTemplate, e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	r.EncodeArrayStart(len(v))
	for _, yyv3558 := range v {
		yy3559 := &yyv3558
		yy3559.CodecEncodeSelf(e)
	}
	r.EncodeEnd()
}

func (x codecSelfer1234) decSlicePodTemplate(v *[]PodTemplate, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r

	yyv3560 := *v
	yyh3560, yyl3560 := z.DecSliceHelperStart()

	var yyrr3560, yyrl3560 int
	var yyc3560, yyrt3560 bool
	_, _, _ = yyc3560, yyrt3560, yyrl3560
	yyrr3560 = yyl3560

	if yyv3560 == nil {
		if yyrl3560, yyrt3560 = z.DecInferLen(yyl3560, z.DecBasicHandle().MaxInitLen, 544); yyrt3560 {
			yyrr3560 = yyrl3560
		}
		yyv3560 = make([]PodTemplate, yyrl3560)
		yyc3560 = true
	}

	if yyl3560 == 0 {
		if len(yyv3560) != 0 {
			yyv3560 = yyv3560[:0]
			yyc3560 = true
		}
	} else if yyl3560 > 0 {

		if yyl3560 > cap(yyv3560) {
			yyrl3560, yyrt3560 = z.DecInferLen(yyl3560, z.DecBasicHandle().MaxInitLen, 544)
			yyv3560 = make([]PodTemplate, yyrl3560)
			yyc3560 = true

			yyrr3560 = len(yyv3560)
		} else if yyl3560 != len(yyv3560) {
			yyv3560 = yyv3560[:yyl3560]
			yyc3560 = true
		}
		yyj3560 := 0
		for ; yyj3560 < yyrr3560; yyj3560++ {
			if r.TryDecodeAsNil() {
				yyv3560[yyj3560] = PodTemplate{}
			} else {
				yyv3561 := &yyv3560[yyj3560]
				yyv3561.CodecDecodeSelf(d)
			}

		}
		if yyrt3560 {
			for ; yyj3560 < yyl3560; yyj3560++ {
				yyv3560 = append(yyv3560, PodTemplate{})
				if r.TryDecodeAsNil() {
					yyv3560[yyj3560] = PodTemplate{}
				} else {
					yyv3562 := &yyv3560[yyj3560]
					yyv3562.CodecDecodeSelf(d)
				}

			}
		}

	} else {
		for yyj3560 := 0; !r.CheckBreak(); yyj3560++ {
			if yyj3560 >= len(yyv3560) {
				yyv3560 = append(yyv3560, PodTemplate{}) // var yyz3560 PodTemplate
				yyc3560 = true
			}

			if yyj3560 < len(yyv3560) {
				if r.TryDecodeAsNil() {
					yyv3560[yyj3560] = PodTemplate{}
				} else {
					yyv3563 := &yyv3560[yyj3560]
					yyv3563.CodecDecodeSelf(d)
				}

			} else {
				z.DecSwallow()
			}

		}
		yyh3560.End()
	}
	if yyc3560 {
		*v = yyv3560
	}

}

func (x codecSelfer1234) encSliceReplicationController(v []ReplicationController, e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	r.EncodeArrayStart(len(v))
	for _, yyv3564 := range v {
		yy3565 := &yyv3564
		yy3565.CodecEncodeSelf(e)
	}
	r.EncodeEnd()
}

func (x codecSelfer1234) decSliceReplicationController(v *[]ReplicationController, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r

	yyv3566 := *v
	yyh3566, yyl3566 := z.DecSliceHelperStart()

	var yyrr3566, yyrl3566 int
	var yyc3566, yyrt3566 bool
	_, _, _ = yyc3566, yyrt3566, yyrl3566
	yyrr3566 = yyl3566

	if yyv3566 == nil {
		if yyrl3566, yyrt3566 = z.DecInferLen(yyl3566, z.DecBasicHandle().MaxInitLen, 232); yyrt3566 {
			yyrr3566 = yyrl3566
		}
		yyv3566 = make([]ReplicationController, yyrl3566)
		yyc3566 = true
	}

	if yyl3566 == 0 {
		if len(yyv3566) != 0 {
			yyv3566 = yyv3566[:0]
			yyc3566 = true
		}
	} else if yyl3566 > 0 {

		if yyl3566 > cap(yyv3566) {
			yyrl3566, yyrt3566 = z.DecInferLen(yyl3566, z.DecBasicHandle().MaxInitLen, 232)
			yyv3566 = make([]ReplicationController, yyrl3566)
			yyc3566 = true

			yyrr3566 = len(yyv3566)
		} else if yyl3566 != len(yyv3566) {
			yyv3566 = yyv3566[:yyl3566]
			yyc3566 = true
		}
		yyj3566 := 0
		for ; yyj3566 < yyrr3566; yyj3566++ {
			if r.TryDecodeAsNil() {
				yyv3566[yyj3566] = ReplicationController{}
			} else {
				yyv3567 := &yyv3566[yyj3566]
				yyv3567.CodecDecodeSelf(d)
			}

		}
		if yyrt3566 {
			for ; yyj3566 < yyl3566; yyj3566++ {
				yyv3566 = append(yyv3566, ReplicationController{})
				if r.TryDecodeAsNil() {
					yyv3566[yyj3566] = ReplicationController{}
				} else {
					yyv3568 := &yyv3566[yyj3566]
					yyv3568.CodecDecodeSelf(d)
				}

			}
		}

	} else {
		for yyj3566 := 0; !r.CheckBreak(); yyj3566++ {
			if yyj3566 >= len(yyv3566) {
				yyv3566 = append(yyv3566, ReplicationController{}) // var yyz3566 ReplicationController
				yyc3566 = true
			}

			if yyj3566 < len(yyv3566) {
				if r.TryDecodeAsNil() {
					yyv3566[yyj3566] = ReplicationController{}
				} else {
					yyv3569 := &yyv3566[yyj3566]
					yyv3569.CodecDecodeSelf(d)
				}

			} else {
				z.DecSwallow()
			}

		}
		yyh3566.End()
	}
	if yyc3566 {
		*v = yyv3566
	}

}

func (x codecSelfer1234) encSliceLoadBalancerIngress(v []LoadBalancerIngress, e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	r.EncodeArrayStart(len(v))
	for _, yyv3570 := range v {
		yy3571 := &yyv3570
		yy3571.CodecEncodeSelf(e)
	}
	r.EncodeEnd()
}

func (x codecSelfer1234) decSliceLoadBalancerIngress(v *[]LoadBalancerIngress, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r

	yyv3572 := *v
	yyh3572, yyl3572 := z.DecSliceHelperStart()

	var yyrr3572, yyrl3572 int
	var yyc3572, yyrt3572 bool
	_, _, _ = yyc3572, yyrt3572, yyrl3572
	yyrr3572 = yyl3572

	if yyv3572 == nil {
		if yyrl3572, yyrt3572 = z.DecInferLen(yyl3572, z.DecBasicHandle().MaxInitLen, 32); yyrt3572 {
			yyrr3572 = yyrl3572
		}
		yyv3572 = make([]LoadBalancerIngress, yyrl3572)
		yyc3572 = true
	}

	if yyl3572 == 0 {
		if len(yyv3572) != 0 {
			yyv3572 = yyv3572[:0]
			yyc3572 = true
		}
	} else if yyl3572 > 0 {

		if yyl3572 > cap(yyv3572) {
			yyrl3572, yyrt3572 = z.DecInferLen(yyl3572, z.DecBasicHandle().MaxInitLen, 32)
			yyv3572 = make([]LoadBalancerIngress, yyrl3572)
			yyc3572 = true

			yyrr3572 = len(yyv3572)
		} else if yyl3572 != len(yyv3572) {
			yyv3572 = yyv3572[:yyl3572]
			yyc3572 = true
		}
		yyj3572 := 0
		for ; yyj3572 < yyrr3572; yyj3572++ {
			if r.TryDecodeAsNil() {
				yyv3572[yyj3572] = LoadBalancerIngress{}
			} else {
				yyv3573 := &yyv3572[yyj3572]
				yyv3573.CodecDecodeSelf(d)
			}

		}
		if yyrt3572 {
			for ; yyj3572 < yyl3572; yyj3572++ {
				yyv3572 = append(yyv3572, LoadBalancerIngress{})
				if r.TryDecodeAsNil() {
					yyv3572[yyj3572] = LoadBalancerIngress{}
				} else {
					yyv3574 := &yyv3572[yyj3572]
					yyv3574.CodecDecodeSelf(d)
				}

			}
		}

	} else {
		for yyj3572 := 0; !r.CheckBreak(); yyj3572++ {
			if yyj3572 >= len(yyv3572) {
				yyv3572 = append(yyv3572, LoadBalancerIngress{}) // var yyz3572 LoadBalancerIngress
				yyc3572 = true
			}

			if yyj3572 < len(yyv3572) {
				if r.TryDecodeAsNil() {
					yyv3572[yyj3572] = LoadBalancerIngress{}
				} else {
					yyv3575 := &yyv3572[yyj3572]
					yyv3575.CodecDecodeSelf(d)
				}

			} else {
				z.DecSwallow()
			}

		}
		yyh3572.End()
	}
	if yyc3572 {
		*v = yyv3572
	}

}

func (x codecSelfer1234) encSliceServicePort(v []ServicePort, e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	r.EncodeArrayStart(len(v))
	for _, yyv3576 := range v {
		yy3577 := &yyv3576
		yy3577.CodecEncodeSelf(e)
	}
	r.EncodeEnd()
}

func (x codecSelfer1234) decSliceServicePort(v *[]ServicePort, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r

	yyv3578 := *v
	yyh3578, yyl3578 := z.DecSliceHelperStart()

	var yyrr3578, yyrl3578 int
	var yyc3578, yyrt3578 bool
	_, _, _ = yyc3578, yyrt3578, yyrl3578
	yyrr3578 = yyl3578

	if yyv3578 == nil {
		if yyrl3578, yyrt3578 = z.DecInferLen(yyl3578, z.DecBasicHandle().MaxInitLen, 80); yyrt3578 {
			yyrr3578 = yyrl3578
		}
		yyv3578 = make([]ServicePort, yyrl3578)
		yyc3578 = true
	}

	if yyl3578 == 0 {
		if len(yyv3578) != 0 {
			yyv3578 = yyv3578[:0]
			yyc3578 = true
		}
	} else if yyl3578 > 0 {

		if yyl3578 > cap(yyv3578) {
			yyrl3578, yyrt3578 = z.DecInferLen(yyl3578, z.DecBasicHandle().MaxInitLen, 80)
			yyv3578 = make([]ServicePort, yyrl3578)
			yyc3578 = true

			yyrr3578 = len(yyv3578)
		} else if yyl3578 != len(yyv3578) {
			yyv3578 = yyv3578[:yyl3578]
			yyc3578 = true
		}
		yyj3578 := 0
		for ; yyj3578 < yyrr3578; yyj3578++ {
			if r.TryDecodeAsNil() {
				yyv3578[yyj3578] = ServicePort{}
			} else {
				yyv3579 := &yyv3578[yyj3578]
				yyv3579.CodecDecodeSelf(d)
			}

		}
		if yyrt3578 {
			for ; yyj3578 < yyl3578; yyj3578++ {
				yyv3578 = append(yyv3578, ServicePort{})
				if r.TryDecodeAsNil() {
					yyv3578[yyj3578] = ServicePort{}
				} else {
					yyv3580 := &yyv3578[yyj3578]
					yyv3580.CodecDecodeSelf(d)
				}

			}
		}

	} else {
		for yyj3578 := 0; !r.CheckBreak(); yyj3578++ {
			if yyj3578 >= len(yyv3578) {
				yyv3578 = append(yyv3578, ServicePort{}) // var yyz3578 ServicePort
				yyc3578 = true
			}

			if yyj3578 < len(yyv3578) {
				if r.TryDecodeAsNil() {
					yyv3578[yyj3578] = ServicePort{}
				} else {
					yyv3581 := &yyv3578[yyj3578]
					yyv3581.CodecDecodeSelf(d)
				}

			} else {
				z.DecSwallow()
			}

		}
		yyh3578.End()
	}
	if yyc3578 {
		*v = yyv3578
	}

}

func (x codecSelfer1234) encSliceService(v []Service, e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	r.EncodeArrayStart(len(v))
	for _, yyv3582 := range v {
		yy3583 := &yyv3582
		yy3583.CodecEncodeSelf(e)
	}
	r.EncodeEnd()
}

func (x codecSelfer1234) decSliceService(v *[]Service, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r

	yyv3584 := *v
	yyh3584, yyl3584 := z.DecSliceHelperStart()

	var yyrr3584, yyrl3584 int
	var yyc3584, yyrt3584 bool
	_, _, _ = yyc3584, yyrt3584, yyrl3584
	yyrr3584 = yyl3584

	if yyv3584 == nil {
		if yyrl3584, yyrt3584 = z.DecInferLen(yyl3584, z.DecBasicHandle().MaxInitLen, 360); yyrt3584 {
			yyrr3584 = yyrl3584
		}
		yyv3584 = make([]Service, yyrl3584)
		yyc3584 = true
	}

	if yyl3584 == 0 {
		if len(yyv3584) != 0 {
			yyv3584 = yyv3584[:0]
			yyc3584 = true
		}
	} else if yyl3584 > 0 {

		if yyl3584 > cap(yyv3584) {
			yyrl3584, yyrt3584 = z.DecInferLen(yyl3584, z.DecBasicHandle().MaxInitLen, 360)
			yyv3584 = make([]Service, yyrl3584)
			yyc3584 = true

			yyrr3584 = len(yyv3584)
		} else if yyl3584 != len(yyv3584) {
			yyv3584 = yyv3584[:yyl3584]
			yyc3584 = true
		}
		yyj3584 := 0
		for ; yyj3584 < yyrr3584; yyj3584++ {
			if r.TryDecodeAsNil() {
				yyv3584[yyj3584] = Service{}
			} else {
				yyv3585 := &yyv3584[yyj3584]
				yyv3585.CodecDecodeSelf(d)
			}

		}
		if yyrt3584 {
			for ; yyj3584 < yyl3584; yyj3584++ {
				yyv3584 = append(yyv3584, Service{})
				if r.TryDecodeAsNil() {
					yyv3584[yyj3584] = Service{}
				} else {
					yyv3586 := &yyv3584[yyj3584]
					yyv3586.CodecDecodeSelf(d)
				}

			}
		}

	} else {
		for yyj3584 := 0; !r.CheckBreak(); yyj3584++ {
			if yyj3584 >= len(yyv3584) {
				yyv3584 = append(yyv3584, Service{}) // var yyz3584 Service
				yyc3584 = true
			}

			if yyj3584 < len(yyv3584) {
				if r.TryDecodeAsNil() {
					yyv3584[yyj3584] = Service{}
				} else {
					yyv3587 := &yyv3584[yyj3584]
					yyv3587.CodecDecodeSelf(d)
				}

			} else {
				z.DecSwallow()
			}

		}
		yyh3584.End()
	}
	if yyc3584 {
		*v = yyv3584
	}

}

func (x codecSelfer1234) encSliceObjectReference(v []ObjectReference, e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	r.EncodeArrayStart(len(v))
	for _, yyv3588 := range v {
		yy3589 := &yyv3588
		yy3589.CodecEncodeSelf(e)
	}
	r.EncodeEnd()
}

func (x codecSelfer1234) decSliceObjectReference(v *[]ObjectReference, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r

	yyv3590 := *v
	yyh3590, yyl3590 := z.DecSliceHelperStart()

	var yyrr3590, yyrl3590 int
	var yyc3590, yyrt3590 bool
	_, _, _ = yyc3590, yyrt3590, yyrl3590
	yyrr3590 = yyl3590

	if yyv3590 == nil {
		if yyrl3590, yyrt3590 = z.DecInferLen(yyl3590, z.DecBasicHandle().MaxInitLen, 112); yyrt3590 {
			yyrr3590 = yyrl3590
		}
		yyv3590 = make([]ObjectReference, yyrl3590)
		yyc3590 = true
	}

	if yyl3590 == 0 {
		if len(yyv3590) != 0 {
			yyv3590 = yyv3590[:0]
			yyc3590 = true
		}
	} else if yyl3590 > 0 {

		if yyl3590 > cap(yyv3590) {
			yyrl3590, yyrt3590 = z.DecInferLen(yyl3590, z.DecBasicHandle().MaxInitLen, 112)
			yyv3590 = make([]ObjectReference, yyrl3590)
			yyc3590 = true

			yyrr3590 = len(yyv3590)
		} else if yyl3590 != len(yyv3590) {
			yyv3590 = yyv3590[:yyl3590]
			yyc3590 = true
		}
		yyj3590 := 0
		for ; yyj3590 < yyrr3590; yyj3590++ {
			if r.TryDecodeAsNil() {
				yyv3590[yyj3590] = ObjectReference{}
			} else {
				yyv3591 := &yyv3590[yyj3590]
				yyv3591.CodecDecodeSelf(d)
			}

		}
		if yyrt3590 {
			for ; yyj3590 < yyl3590; yyj3590++ {
				yyv3590 = append(yyv3590, ObjectReference{})
				if r.TryDecodeAsNil() {
					yyv3590[yyj3590] = ObjectReference{}
				} else {
					yyv3592 := &yyv3590[yyj3590]
					yyv3592.CodecDecodeSelf(d)
				}

			}
		}

	} else {
		for yyj3590 := 0; !r.CheckBreak(); yyj3590++ {
			if yyj3590 >= len(yyv3590) {
				yyv3590 = append(yyv3590, ObjectReference{}) // var yyz3590 ObjectReference
				yyc3590 = true
			}

			if yyj3590 < len(yyv3590) {
				if r.TryDecodeAsNil() {
					yyv3590[yyj3590] = ObjectReference{}
				} else {
					yyv3593 := &yyv3590[yyj3590]
					yyv3593.CodecDecodeSelf(d)
				}

			} else {
				z.DecSwallow()
			}

		}
		yyh3590.End()
	}
	if yyc3590 {
		*v = yyv3590
	}

}

func (x codecSelfer1234) encSliceServiceAccount(v []ServiceAccount, e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	r.EncodeArrayStart(len(v))
	for _, yyv3594 := range v {
		yy3595 := &yyv3594
		yy3595.CodecEncodeSelf(e)
	}
	r.EncodeEnd()
}

func (x codecSelfer1234) decSliceServiceAccount(v *[]ServiceAccount, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r

	yyv3596 := *v
	yyh3596, yyl3596 := z.DecSliceHelperStart()

	var yyrr3596, yyrl3596 int
	var yyc3596, yyrt3596 bool
	_, _, _ = yyc3596, yyrt3596, yyrl3596
	yyrr3596 = yyl3596

	if yyv3596 == nil {
		if yyrl3596, yyrt3596 = z.DecInferLen(yyl3596, z.DecBasicHandle().MaxInitLen, 240); yyrt3596 {
			yyrr3596 = yyrl3596
		}
		yyv3596 = make([]ServiceAccount, yyrl3596)
		yyc3596 = true
	}

	if yyl3596 == 0 {
		if len(yyv3596) != 0 {
			yyv3596 = yyv3596[:0]
			yyc3596 = true
		}
	} else if yyl3596 > 0 {

		if yyl3596 > cap(yyv3596) {
			yyrl3596, yyrt3596 = z.DecInferLen(yyl3596, z.DecBasicHandle().MaxInitLen, 240)
			yyv3596 = make([]ServiceAccount, yyrl3596)
			yyc3596 = true

			yyrr3596 = len(yyv3596)
		} else if yyl3596 != len(yyv3596) {
			yyv3596 = yyv3596[:yyl3596]
			yyc3596 = true
		}
		yyj3596 := 0
		for ; yyj3596 < yyrr3596; yyj3596++ {
			if r.TryDecodeAsNil() {
				yyv3596[yyj3596] = ServiceAccount{}
			} else {
				yyv3597 := &yyv3596[yyj3596]
				yyv3597.CodecDecodeSelf(d)
			}

		}
		if yyrt3596 {
			for ; yyj3596 < yyl3596; yyj3596++ {
				yyv3596 = append(yyv3596, ServiceAccount{})
				if r.TryDecodeAsNil() {
					yyv3596[yyj3596] = ServiceAccount{}
				} else {
					yyv3598 := &yyv3596[yyj3596]
					yyv3598.CodecDecodeSelf(d)
				}

			}
		}

	} else {
		for yyj3596 := 0; !r.CheckBreak(); yyj3596++ {
			if yyj3596 >= len(yyv3596) {
				yyv3596 = append(yyv3596, ServiceAccount{}) // var yyz3596 ServiceAccount
				yyc3596 = true
			}

			if yyj3596 < len(yyv3596) {
				if r.TryDecodeAsNil() {
					yyv3596[yyj3596] = ServiceAccount{}
				} else {
					yyv3599 := &yyv3596[yyj3596]
					yyv3599.CodecDecodeSelf(d)
				}

			} else {
				z.DecSwallow()
			}

		}
		yyh3596.End()
	}
	if yyc3596 {
		*v = yyv3596
	}

}

func (x codecSelfer1234) encSliceEndpointSubset(v []EndpointSubset, e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	r.EncodeArrayStart(len(v))
	for _, yyv3600 := range v {
		yy3601 := &yyv3600
		yy3601.CodecEncodeSelf(e)
	}
	r.EncodeEnd()
}

func (x codecSelfer1234) decSliceEndpointSubset(v *[]EndpointSubset, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r

	yyv3602 := *v
	yyh3602, yyl3602 := z.DecSliceHelperStart()

	var yyrr3602, yyrl3602 int
	var yyc3602, yyrt3602 bool
	_, _, _ = yyc3602, yyrt3602, yyrl3602
	yyrr3602 = yyl3602

	if yyv3602 == nil {
		if yyrl3602, yyrt3602 = z.DecInferLen(yyl3602, z.DecBasicHandle().MaxInitLen, 72); yyrt3602 {
			yyrr3602 = yyrl3602
		}
		yyv3602 = make([]EndpointSubset, yyrl3602)
		yyc3602 = true
	}

	if yyl3602 == 0 {
		if len(yyv3602) != 0 {
			yyv3602 = yyv3602[:0]
			yyc3602 = true
		}
	} else if yyl3602 > 0 {

		if yyl3602 > cap(yyv3602) {
			yyrl3602, yyrt3602 = z.DecInferLen(yyl3602, z.DecBasicHandle().MaxInitLen, 72)
			yyv3602 = make([]EndpointSubset, yyrl3602)
			yyc3602 = true

			yyrr3602 = len(yyv3602)
		} else if yyl3602 != len(yyv3602) {
			yyv3602 = yyv3602[:yyl3602]
			yyc3602 = true
		}
		yyj3602 := 0
		for ; yyj3602 < yyrr3602; yyj3602++ {
			if r.TryDecodeAsNil() {
				yyv3602[yyj3602] = EndpointSubset{}
			} else {
				yyv3603 := &yyv3602[yyj3602]
				yyv3603.CodecDecodeSelf(d)
			}

		}
		if yyrt3602 {
			for ; yyj3602 < yyl3602; yyj3602++ {
				yyv3602 = append(yyv3602, EndpointSubset{})
				if r.TryDecodeAsNil() {
					yyv3602[yyj3602] = EndpointSubset{}
				} else {
					yyv3604 := &yyv3602[yyj3602]
					yyv3604.CodecDecodeSelf(d)
				}

			}
		}

	} else {
		for yyj3602 := 0; !r.CheckBreak(); yyj3602++ {
			if yyj3602 >= len(yyv3602) {
				yyv3602 = append(yyv3602, EndpointSubset{}) // var yyz3602 EndpointSubset
				yyc3602 = true
			}

			if yyj3602 < len(yyv3602) {
				if r.TryDecodeAsNil() {
					yyv3602[yyj3602] = EndpointSubset{}
				} else {
					yyv3605 := &yyv3602[yyj3602]
					yyv3605.CodecDecodeSelf(d)
				}

			} else {
				z.DecSwallow()
			}

		}
		yyh3602.End()
	}
	if yyc3602 {
		*v = yyv3602
	}

}

func (x codecSelfer1234) encSliceEndpointAddress(v []EndpointAddress, e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	r.EncodeArrayStart(len(v))
	for _, yyv3606 := range v {
		yy3607 := &yyv3606
		yy3607.CodecEncodeSelf(e)
	}
	r.EncodeEnd()
}

func (x codecSelfer1234) decSliceEndpointAddress(v *[]EndpointAddress, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r

	yyv3608 := *v
	yyh3608, yyl3608 := z.DecSliceHelperStart()

	var yyrr3608, yyrl3608 int
	var yyc3608, yyrt3608 bool
	_, _, _ = yyc3608, yyrt3608, yyrl3608
	yyrr3608 = yyl3608

	if yyv3608 == nil {
		if yyrl3608, yyrt3608 = z.DecInferLen(yyl3608, z.DecBasicHandle().MaxInitLen, 24); yyrt3608 {
			yyrr3608 = yyrl3608
		}
		yyv3608 = make([]EndpointAddress, yyrl3608)
		yyc3608 = true
	}

	if yyl3608 == 0 {
		if len(yyv3608) != 0 {
			yyv3608 = yyv3608[:0]
			yyc3608 = true
		}
	} else if yyl3608 > 0 {

		if yyl3608 > cap(yyv3608) {
			yyrl3608, yyrt3608 = z.DecInferLen(yyl3608, z.DecBasicHandle().MaxInitLen, 24)
			yyv3608 = make([]EndpointAddress, yyrl3608)
			yyc3608 = true

			yyrr3608 = len(yyv3608)
		} else if yyl3608 != len(yyv3608) {
			yyv3608 = yyv3608[:yyl3608]
			yyc3608 = true
		}
		yyj3608 := 0
		for ; yyj3608 < yyrr3608; yyj3608++ {
			if r.TryDecodeAsNil() {
				yyv3608[yyj3608] = EndpointAddress{}
			} else {
				yyv3609 := &yyv3608[yyj3608]
				yyv3609.CodecDecodeSelf(d)
			}

		}
		if yyrt3608 {
			for ; yyj3608 < yyl3608; yyj3608++ {
				yyv3608 = append(yyv3608, EndpointAddress{})
				if r.TryDecodeAsNil() {
					yyv3608[yyj3608] = EndpointAddress{}
				} else {
					yyv3610 := &yyv3608[yyj3608]
					yyv3610.CodecDecodeSelf(d)
				}

			}
		}

	} else {
		for yyj3608 := 0; !r.CheckBreak(); yyj3608++ {
			if yyj3608 >= len(yyv3608) {
				yyv3608 = append(yyv3608, EndpointAddress{}) // var yyz3608 EndpointAddress
				yyc3608 = true
			}

			if yyj3608 < len(yyv3608) {
				if r.TryDecodeAsNil() {
					yyv3608[yyj3608] = EndpointAddress{}
				} else {
					yyv3611 := &yyv3608[yyj3608]
					yyv3611.CodecDecodeSelf(d)
				}

			} else {
				z.DecSwallow()
			}

		}
		yyh3608.End()
	}
	if yyc3608 {
		*v = yyv3608
	}

}

func (x codecSelfer1234) encSliceEndpointPort(v []EndpointPort, e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	r.EncodeArrayStart(len(v))
	for _, yyv3612 := range v {
		yy3613 := &yyv3612
		yy3613.CodecEncodeSelf(e)
	}
	r.EncodeEnd()
}

func (x codecSelfer1234) decSliceEndpointPort(v *[]EndpointPort, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r

	yyv3614 := *v
	yyh3614, yyl3614 := z.DecSliceHelperStart()

	var yyrr3614, yyrl3614 int
	var yyc3614, yyrt3614 bool
	_, _, _ = yyc3614, yyrt3614, yyrl3614
	yyrr3614 = yyl3614

	if yyv3614 == nil {
		if yyrl3614, yyrt3614 = z.DecInferLen(yyl3614, z.DecBasicHandle().MaxInitLen, 40); yyrt3614 {
			yyrr3614 = yyrl3614
		}
		yyv3614 = make([]EndpointPort, yyrl3614)
		yyc3614 = true
	}

	if yyl3614 == 0 {
		if len(yyv3614) != 0 {
			yyv3614 = yyv3614[:0]
			yyc3614 = true
		}
	} else if yyl3614 > 0 {

		if yyl3614 > cap(yyv3614) {
			yyrl3614, yyrt3614 = z.DecInferLen(yyl3614, z.DecBasicHandle().MaxInitLen, 40)
			yyv3614 = make([]EndpointPort, yyrl3614)
			yyc3614 = true

			yyrr3614 = len(yyv3614)
		} else if yyl3614 != len(yyv3614) {
			yyv3614 = yyv3614[:yyl3614]
			yyc3614 = true
		}
		yyj3614 := 0
		for ; yyj3614 < yyrr3614; yyj3614++ {
			if r.TryDecodeAsNil() {
				yyv3614[yyj3614] = EndpointPort{}
			} else {
				yyv3615 := &yyv3614[yyj3614]
				yyv3615.CodecDecodeSelf(d)
			}

		}
		if yyrt3614 {
			for ; yyj3614 < yyl3614; yyj3614++ {
				yyv3614 = append(yyv3614, EndpointPort{})
				if r.TryDecodeAsNil() {
					yyv3614[yyj3614] = EndpointPort{}
				} else {
					yyv3616 := &yyv3614[yyj3614]
					yyv3616.CodecDecodeSelf(d)
				}

			}
		}

	} else {
		for yyj3614 := 0; !r.CheckBreak(); yyj3614++ {
			if yyj3614 >= len(yyv3614) {
				yyv3614 = append(yyv3614, EndpointPort{}) // var yyz3614 EndpointPort
				yyc3614 = true
			}

			if yyj3614 < len(yyv3614) {
				if r.TryDecodeAsNil() {
					yyv3614[yyj3614] = EndpointPort{}
				} else {
					yyv3617 := &yyv3614[yyj3614]
					yyv3617.CodecDecodeSelf(d)
				}

			} else {
				z.DecSwallow()
			}

		}
		yyh3614.End()
	}
	if yyc3614 {
		*v = yyv3614
	}

}

func (x codecSelfer1234) encSliceEndpoints(v []Endpoints, e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	r.EncodeArrayStart(len(v))
	for _, yyv3618 := range v {
		yy3619 := &yyv3618
		yy3619.CodecEncodeSelf(e)
	}
	r.EncodeEnd()
}

func (x codecSelfer1234) decSliceEndpoints(v *[]Endpoints, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r

	yyv3620 := *v
	yyh3620, yyl3620 := z.DecSliceHelperStart()

	var yyrr3620, yyrl3620 int
	var yyc3620, yyrt3620 bool
	_, _, _ = yyc3620, yyrt3620, yyrl3620
	yyrr3620 = yyl3620

	if yyv3620 == nil {
		if yyrl3620, yyrt3620 = z.DecInferLen(yyl3620, z.DecBasicHandle().MaxInitLen, 216); yyrt3620 {
			yyrr3620 = yyrl3620
		}
		yyv3620 = make([]Endpoints, yyrl3620)
		yyc3620 = true
	}

	if yyl3620 == 0 {
		if len(yyv3620) != 0 {
			yyv3620 = yyv3620[:0]
			yyc3620 = true
		}
	} else if yyl3620 > 0 {

		if yyl3620 > cap(yyv3620) {
			yyrl3620, yyrt3620 = z.DecInferLen(yyl3620, z.DecBasicHandle().MaxInitLen, 216)
			yyv3620 = make([]Endpoints, yyrl3620)
			yyc3620 = true

			yyrr3620 = len(yyv3620)
		} else if yyl3620 != len(yyv3620) {
			yyv3620 = yyv3620[:yyl3620]
			yyc3620 = true
		}
		yyj3620 := 0
		for ; yyj3620 < yyrr3620; yyj3620++ {
			if r.TryDecodeAsNil() {
				yyv3620[yyj3620] = Endpoints{}
			} else {
				yyv3621 := &yyv3620[yyj3620]
				yyv3621.CodecDecodeSelf(d)
			}

		}
		if yyrt3620 {
			for ; yyj3620 < yyl3620; yyj3620++ {
				yyv3620 = append(yyv3620, Endpoints{})
				if r.TryDecodeAsNil() {
					yyv3620[yyj3620] = Endpoints{}
				} else {
					yyv3622 := &yyv3620[yyj3620]
					yyv3622.CodecDecodeSelf(d)
				}

			}
		}

	} else {
		for yyj3620 := 0; !r.CheckBreak(); yyj3620++ {
			if yyj3620 >= len(yyv3620) {
				yyv3620 = append(yyv3620, Endpoints{}) // var yyz3620 Endpoints
				yyc3620 = true
			}

			if yyj3620 < len(yyv3620) {
				if r.TryDecodeAsNil() {
					yyv3620[yyj3620] = Endpoints{}
				} else {
					yyv3623 := &yyv3620[yyj3620]
					yyv3623.CodecDecodeSelf(d)
				}

			} else {
				z.DecSwallow()
			}

		}
		yyh3620.End()
	}
	if yyc3620 {
		*v = yyv3620
	}

}

func (x codecSelfer1234) encSliceNodeCondition(v []NodeCondition, e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	r.EncodeArrayStart(len(v))
	for _, yyv3624 := range v {
		yy3625 := &yyv3624
		yy3625.CodecEncodeSelf(e)
	}
	r.EncodeEnd()
}

func (x codecSelfer1234) decSliceNodeCondition(v *[]NodeCondition, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r

	yyv3626 := *v
	yyh3626, yyl3626 := z.DecSliceHelperStart()

	var yyrr3626, yyrl3626 int
	var yyc3626, yyrt3626 bool
	_, _, _ = yyc3626, yyrt3626, yyrl3626
	yyrr3626 = yyl3626

	if yyv3626 == nil {
		if yyrl3626, yyrt3626 = z.DecInferLen(yyl3626, z.DecBasicHandle().MaxInitLen, 112); yyrt3626 {
			yyrr3626 = yyrl3626
		}
		yyv3626 = make([]NodeCondition, yyrl3626)
		yyc3626 = true
	}

	if yyl3626 == 0 {
		if len(yyv3626) != 0 {
			yyv3626 = yyv3626[:0]
			yyc3626 = true
		}
	} else if yyl3626 > 0 {

		if yyl3626 > cap(yyv3626) {
			yyrl3626, yyrt3626 = z.DecInferLen(yyl3626, z.DecBasicHandle().MaxInitLen, 112)
			yyv3626 = make([]NodeCondition, yyrl3626)
			yyc3626 = true

			yyrr3626 = len(yyv3626)
		} else if yyl3626 != len(yyv3626) {
			yyv3626 = yyv3626[:yyl3626]
			yyc3626 = true
		}
		yyj3626 := 0
		for ; yyj3626 < yyrr3626; yyj3626++ {
			if r.TryDecodeAsNil() {
				yyv3626[yyj3626] = NodeCondition{}
			} else {
				yyv3627 := &yyv3626[yyj3626]
				yyv3627.CodecDecodeSelf(d)
			}

		}
		if yyrt3626 {
			for ; yyj3626 < yyl3626; yyj3626++ {
				yyv3626 = append(yyv3626, NodeCondition{})
				if r.TryDecodeAsNil() {
					yyv3626[yyj3626] = NodeCondition{}
				} else {
					yyv3628 := &yyv3626[yyj3626]
					yyv3628.CodecDecodeSelf(d)
				}

			}
		}

	} else {
		for yyj3626 := 0; !r.CheckBreak(); yyj3626++ {
			if yyj3626 >= len(yyv3626) {
				yyv3626 = append(yyv3626, NodeCondition{}) // var yyz3626 NodeCondition
				yyc3626 = true
			}

			if yyj3626 < len(yyv3626) {
				if r.TryDecodeAsNil() {
					yyv3626[yyj3626] = NodeCondition{}
				} else {
					yyv3629 := &yyv3626[yyj3626]
					yyv3629.CodecDecodeSelf(d)
				}

			} else {
				z.DecSwallow()
			}

		}
		yyh3626.End()
	}
	if yyc3626 {
		*v = yyv3626
	}

}

func (x codecSelfer1234) encSliceNodeAddress(v []NodeAddress, e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	r.EncodeArrayStart(len(v))
	for _, yyv3630 := range v {
		yy3631 := &yyv3630
		yy3631.CodecEncodeSelf(e)
	}
	r.EncodeEnd()
}

func (x codecSelfer1234) decSliceNodeAddress(v *[]NodeAddress, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r

	yyv3632 := *v
	yyh3632, yyl3632 := z.DecSliceHelperStart()

	var yyrr3632, yyrl3632 int
	var yyc3632, yyrt3632 bool
	_, _, _ = yyc3632, yyrt3632, yyrl3632
	yyrr3632 = yyl3632

	if yyv3632 == nil {
		if yyrl3632, yyrt3632 = z.DecInferLen(yyl3632, z.DecBasicHandle().MaxInitLen, 32); yyrt3632 {
			yyrr3632 = yyrl3632
		}
		yyv3632 = make([]NodeAddress, yyrl3632)
		yyc3632 = true
	}

	if yyl3632 == 0 {
		if len(yyv3632) != 0 {
			yyv3632 = yyv3632[:0]
			yyc3632 = true
		}
	} else if yyl3632 > 0 {

		if yyl3632 > cap(yyv3632) {
			yyrl3632, yyrt3632 = z.DecInferLen(yyl3632, z.DecBasicHandle().MaxInitLen, 32)
			yyv3632 = make([]NodeAddress, yyrl3632)
			yyc3632 = true

			yyrr3632 = len(yyv3632)
		} else if yyl3632 != len(yyv3632) {
			yyv3632 = yyv3632[:yyl3632]
			yyc3632 = true
		}
		yyj3632 := 0
		for ; yyj3632 < yyrr3632; yyj3632++ {
			if r.TryDecodeAsNil() {
				yyv3632[yyj3632] = NodeAddress{}
			} else {
				yyv3633 := &yyv3632[yyj3632]
				yyv3633.CodecDecodeSelf(d)
			}

		}
		if yyrt3632 {
			for ; yyj3632 < yyl3632; yyj3632++ {
				yyv3632 = append(yyv3632, NodeAddress{})
				if r.TryDecodeAsNil() {
					yyv3632[yyj3632] = NodeAddress{}
				} else {
					yyv3634 := &yyv3632[yyj3632]
					yyv3634.CodecDecodeSelf(d)
				}

			}
		}

	} else {
		for yyj3632 := 0; !r.CheckBreak(); yyj3632++ {
			if yyj3632 >= len(yyv3632) {
				yyv3632 = append(yyv3632, NodeAddress{}) // var yyz3632 NodeAddress
				yyc3632 = true
			}

			if yyj3632 < len(yyv3632) {
				if r.TryDecodeAsNil() {
					yyv3632[yyj3632] = NodeAddress{}
				} else {
					yyv3635 := &yyv3632[yyj3632]
					yyv3635.CodecDecodeSelf(d)
				}

			} else {
				z.DecSwallow()
			}

		}
		yyh3632.End()
	}
	if yyc3632 {
		*v = yyv3632
	}

}

func (x codecSelfer1234) encResourceList(v ResourceList, e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	r.EncodeMapStart(len(v))
	for yyk3636, yyv3636 := range v {
		yyk3636.CodecEncodeSelf(e)
		yy3637 := &yyv3636
		yym3638 := z.EncBinary()
		_ = yym3638
		if false {
		} else if z.HasExtensions() && z.EncExt(yy3637) {
		} else if !yym3638 && z.IsJSONHandle() {
			z.EncJSONMarshal(yy3637)
		} else {
			z.EncFallback(yy3637)
		}
	}
	r.EncodeEnd()
}

func (x codecSelfer1234) decResourceList(v *ResourceList, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r

	yyv3639 := *v
	yyl3639 := r.ReadMapStart()
	yybh3639 := z.DecBasicHandle()
	if yyv3639 == nil {
		yyrl3639, _ := z.DecInferLen(yyl3639, yybh3639.MaxInitLen, 40)
		yyv3639 = make(map[ResourceName]pkg3_resource.Quantity, yyrl3639)
		*v = yyv3639
	}
	var yymk3639 ResourceName
	var yymv3639 pkg3_resource.Quantity
	var yymg3639 bool
	if yybh3639.MapValueReset {
		yymg3639 = true
	}
	if yyl3639 > 0 {
		for yyj3639 := 0; yyj3639 < yyl3639; yyj3639++ {
			if r.TryDecodeAsNil() {
				yymk3639 = ""
			} else {
				yymk3639 = ResourceName(r.DecodeString())
			}

			if yymg3639 {
				yymv3639 = yyv3639[yymk3639]
			} else {
				yymv3639 = pkg3_resource.Quantity{}
			}
			if r.TryDecodeAsNil() {
				yymv3639 = pkg3_resource.Quantity{}
			} else {
				yyv3641 := &yymv3639
				yym3642 := z.DecBinary()
				_ = yym3642
				if false {
				} else if z.HasExtensions() && z.DecExt(yyv3641) {
				} else if !yym3642 && z.IsJSONHandle() {
					z.DecJSONUnmarshal(yyv3641)
				} else {
					z.DecFallback(yyv3641, false)
				}
			}

			if yyv3639 != nil {
				yyv3639[yymk3639] = yymv3639
			}
		}
	} else if yyl3639 < 0 {
		for yyj3639 := 0; !r.CheckBreak(); yyj3639++ {
			if r.TryDecodeAsNil() {
				yymk3639 = ""
			} else {
				yymk3639 = ResourceName(r.DecodeString())
			}

			if yymg3639 {
				yymv3639 = yyv3639[yymk3639]
			} else {
				yymv3639 = pkg3_resource.Quantity{}
			}
			if r.TryDecodeAsNil() {
				yymv3639 = pkg3_resource.Quantity{}
			} else {
				yyv3644 := &yymv3639
				yym3645 := z.DecBinary()
				_ = yym3645
				if false {
				} else if z.HasExtensions() && z.DecExt(yyv3644) {
				} else if !yym3645 && z.IsJSONHandle() {
					z.DecJSONUnmarshal(yyv3644)
				} else {
					z.DecFallback(yyv3644, false)
				}
			}

			if yyv3639 != nil {
				yyv3639[yymk3639] = yymv3639
			}
		}
		r.ReadEnd()
	} // else len==0: TODO: Should we clear map entries?
}

func (x codecSelfer1234) encSliceNode(v []Node, e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	r.EncodeArrayStart(len(v))
	for _, yyv3646 := range v {
		yy3647 := &yyv3646
		yy3647.CodecEncodeSelf(e)
	}
	r.EncodeEnd()
}

func (x codecSelfer1234) decSliceNode(v *[]Node, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r

	yyv3648 := *v
	yyh3648, yyl3648 := z.DecSliceHelperStart()

	var yyrr3648, yyrl3648 int
	var yyc3648, yyrt3648 bool
	_, _, _ = yyc3648, yyrt3648, yyrl3648
	yyrr3648 = yyl3648

	if yyv3648 == nil {
		if yyrl3648, yyrt3648 = z.DecInferLen(yyl3648, z.DecBasicHandle().MaxInitLen, 456); yyrt3648 {
			yyrr3648 = yyrl3648
		}
		yyv3648 = make([]Node, yyrl3648)
		yyc3648 = true
	}

	if yyl3648 == 0 {
		if len(yyv3648) != 0 {
			yyv3648 = yyv3648[:0]
			yyc3648 = true
		}
	} else if yyl3648 > 0 {

		if yyl3648 > cap(yyv3648) {
			yyrl3648, yyrt3648 = z.DecInferLen(yyl3648, z.DecBasicHandle().MaxInitLen, 456)
			yyv3648 = make([]Node, yyrl3648)
			yyc3648 = true

			yyrr3648 = len(yyv3648)
		} else if yyl3648 != len(yyv3648) {
			yyv3648 = yyv3648[:yyl3648]
			yyc3648 = true
		}
		yyj3648 := 0
		for ; yyj3648 < yyrr3648; yyj3648++ {
			if r.TryDecodeAsNil() {
				yyv3648[yyj3648] = Node{}
			} else {
				yyv3649 := &yyv3648[yyj3648]
				yyv3649.CodecDecodeSelf(d)
			}

		}
		if yyrt3648 {
			for ; yyj3648 < yyl3648; yyj3648++ {
				yyv3648 = append(yyv3648, Node{})
				if r.TryDecodeAsNil() {
					yyv3648[yyj3648] = Node{}
				} else {
					yyv3650 := &yyv3648[yyj3648]
					yyv3650.CodecDecodeSelf(d)
				}

			}
		}

	} else {
		for yyj3648 := 0; !r.CheckBreak(); yyj3648++ {
			if yyj3648 >= len(yyv3648) {
				yyv3648 = append(yyv3648, Node{}) // var yyz3648 Node
				yyc3648 = true
			}

			if yyj3648 < len(yyv3648) {
				if r.TryDecodeAsNil() {
					yyv3648[yyj3648] = Node{}
				} else {
					yyv3651 := &yyv3648[yyj3648]
					yyv3651.CodecDecodeSelf(d)
				}

			} else {
				z.DecSwallow()
			}

		}
		yyh3648.End()
	}
	if yyc3648 {
		*v = yyv3648
	}

}

func (x codecSelfer1234) encSliceFinalizerName(v []FinalizerName, e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	r.EncodeArrayStart(len(v))
	for _, yyv3652 := range v {
		yyv3652.CodecEncodeSelf(e)
	}
	r.EncodeEnd()
}

func (x codecSelfer1234) decSliceFinalizerName(v *[]FinalizerName, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r

	yyv3653 := *v
	yyh3653, yyl3653 := z.DecSliceHelperStart()

	var yyrr3653, yyrl3653 int
	var yyc3653, yyrt3653 bool
	_, _, _ = yyc3653, yyrt3653, yyrl3653
	yyrr3653 = yyl3653

	if yyv3653 == nil {
		if yyrl3653, yyrt3653 = z.DecInferLen(yyl3653, z.DecBasicHandle().MaxInitLen, 16); yyrt3653 {
			yyrr3653 = yyrl3653
		}
		yyv3653 = make([]FinalizerName, yyrl3653)
		yyc3653 = true
	}

	if yyl3653 == 0 {
		if len(yyv3653) != 0 {
			yyv3653 = yyv3653[:0]
			yyc3653 = true
		}
	} else if yyl3653 > 0 {

		if yyl3653 > cap(yyv3653) {
			yyrl3653, yyrt3653 = z.DecInferLen(yyl3653, z.DecBasicHandle().MaxInitLen, 16)

			yyv23653 := yyv3653
			yyv3653 = make([]FinalizerName, yyrl3653)
			if len(yyv3653) > 0 {
				copy(yyv3653, yyv23653[:cap(yyv23653)])
			}
			yyc3653 = true

			yyrr3653 = len(yyv3653)
		} else if yyl3653 != len(yyv3653) {
			yyv3653 = yyv3653[:yyl3653]
			yyc3653 = true
		}
		yyj3653 := 0
		for ; yyj3653 < yyrr3653; yyj3653++ {
			if r.TryDecodeAsNil() {
				yyv3653[yyj3653] = ""
			} else {
				yyv3653[yyj3653] = FinalizerName(r.DecodeString())
			}

		}
		if yyrt3653 {
			for ; yyj3653 < yyl3653; yyj3653++ {
				yyv3653 = append(yyv3653, "")
				if r.TryDecodeAsNil() {
					yyv3653[yyj3653] = ""
				} else {
					yyv3653[yyj3653] = FinalizerName(r.DecodeString())
				}

			}
		}

	} else {
		for yyj3653 := 0; !r.CheckBreak(); yyj3653++ {
			if yyj3653 >= len(yyv3653) {
				yyv3653 = append(yyv3653, "") // var yyz3653 FinalizerName
				yyc3653 = true
			}

			if yyj3653 < len(yyv3653) {
				if r.TryDecodeAsNil() {
					yyv3653[yyj3653] = ""
				} else {
					yyv3653[yyj3653] = FinalizerName(r.DecodeString())
				}

			} else {
				z.DecSwallow()
			}

		}
		yyh3653.End()
	}
	if yyc3653 {
		*v = yyv3653
	}

}

func (x codecSelfer1234) encSliceNamespace(v []Namespace, e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	r.EncodeArrayStart(len(v))
	for _, yyv3657 := range v {
		yy3658 := &yyv3657
		yy3658.CodecEncodeSelf(e)
	}
	r.EncodeEnd()
}

func (x codecSelfer1234) decSliceNamespace(v *[]Namespace, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r

	yyv3659 := *v
	yyh3659, yyl3659 := z.DecSliceHelperStart()

	var yyrr3659, yyrl3659 int
	var yyc3659, yyrt3659 bool
	_, _, _ = yyc3659, yyrt3659, yyrl3659
	yyrr3659 = yyl3659

	if yyv3659 == nil {
		if yyrl3659, yyrt3659 = z.DecInferLen(yyl3659, z.DecBasicHandle().MaxInitLen, 232); yyrt3659 {
			yyrr3659 = yyrl3659
		}
		yyv3659 = make([]Namespace, yyrl3659)
		yyc3659 = true
	}

	if yyl3659 == 0 {
		if len(yyv3659) != 0 {
			yyv3659 = yyv3659[:0]
			yyc3659 = true
		}
	} else if yyl3659 > 0 {

		if yyl3659 > cap(yyv3659) {
			yyrl3659, yyrt3659 = z.DecInferLen(yyl3659, z.DecBasicHandle().MaxInitLen, 232)
			yyv3659 = make([]Namespace, yyrl3659)
			yyc3659 = true

			yyrr3659 = len(yyv3659)
		} else if yyl3659 != len(yyv3659) {
			yyv3659 = yyv3659[:yyl3659]
			yyc3659 = true
		}
		yyj3659 := 0
		for ; yyj3659 < yyrr3659; yyj3659++ {
			if r.TryDecodeAsNil() {
				yyv3659[yyj3659] = Namespace{}
			} else {
				yyv3660 := &yyv3659[yyj3659]
				yyv3660.CodecDecodeSelf(d)
			}

		}
		if yyrt3659 {
			for ; yyj3659 < yyl3659; yyj3659++ {
				yyv3659 = append(yyv3659, Namespace{})
				if r.TryDecodeAsNil() {
					yyv3659[yyj3659] = Namespace{}
				} else {
					yyv3661 := &yyv3659[yyj3659]
					yyv3661.CodecDecodeSelf(d)
				}

			}
		}

	} else {
		for yyj3659 := 0; !r.CheckBreak(); yyj3659++ {
			if yyj3659 >= len(yyv3659) {
				yyv3659 = append(yyv3659, Namespace{}) // var yyz3659 Namespace
				yyc3659 = true
			}

			if yyj3659 < len(yyv3659) {
				if r.TryDecodeAsNil() {
					yyv3659[yyj3659] = Namespace{}
				} else {
					yyv3662 := &yyv3659[yyj3659]
					yyv3662.CodecDecodeSelf(d)
				}

			} else {
				z.DecSwallow()
			}

		}
		yyh3659.End()
	}
	if yyc3659 {
		*v = yyv3659
	}

}

func (x codecSelfer1234) encSliceEvent(v []Event, e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	r.EncodeArrayStart(len(v))
	for _, yyv3663 := range v {
		yy3664 := &yyv3663
		yy3664.CodecEncodeSelf(e)
	}
	r.EncodeEnd()
}

func (x codecSelfer1234) decSliceEvent(v *[]Event, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r

	yyv3665 := *v
	yyh3665, yyl3665 := z.DecSliceHelperStart()

	var yyrr3665, yyrl3665 int
	var yyc3665, yyrt3665 bool
	_, _, _ = yyc3665, yyrt3665, yyrl3665
	yyrr3665 = yyl3665

	if yyv3665 == nil {
		if yyrl3665, yyrt3665 = z.DecInferLen(yyl3665, z.DecBasicHandle().MaxInitLen, 424); yyrt3665 {
			yyrr3665 = yyrl3665
		}
		yyv3665 = make([]Event, yyrl3665)
		yyc3665 = true
	}

	if yyl3665 == 0 {
		if len(yyv3665) != 0 {
			yyv3665 = yyv3665[:0]
			yyc3665 = true
		}
	} else if yyl3665 > 0 {

		if yyl3665 > cap(yyv3665) {
			yyrl3665, yyrt3665 = z.DecInferLen(yyl3665, z.DecBasicHandle().MaxInitLen, 424)
			yyv3665 = make([]Event, yyrl3665)
			yyc3665 = true

			yyrr3665 = len(yyv3665)
		} else if yyl3665 != len(yyv3665) {
			yyv3665 = yyv3665[:yyl3665]
			yyc3665 = true
		}
		yyj3665 := 0
		for ; yyj3665 < yyrr3665; yyj3665++ {
			if r.TryDecodeAsNil() {
				yyv3665[yyj3665] = Event{}
			} else {
				yyv3666 := &yyv3665[yyj3665]
				yyv3666.CodecDecodeSelf(d)
			}

		}
		if yyrt3665 {
			for ; yyj3665 < yyl3665; yyj3665++ {
				yyv3665 = append(yyv3665, Event{})
				if r.TryDecodeAsNil() {
					yyv3665[yyj3665] = Event{}
				} else {
					yyv3667 := &yyv3665[yyj3665]
					yyv3667.CodecDecodeSelf(d)
				}

			}
		}

	} else {
		for yyj3665 := 0; !r.CheckBreak(); yyj3665++ {
			if yyj3665 >= len(yyv3665) {
				yyv3665 = append(yyv3665, Event{}) // var yyz3665 Event
				yyc3665 = true
			}

			if yyj3665 < len(yyv3665) {
				if r.TryDecodeAsNil() {
					yyv3665[yyj3665] = Event{}
				} else {
					yyv3668 := &yyv3665[yyj3665]
					yyv3668.CodecDecodeSelf(d)
				}

			} else {
				z.DecSwallow()
			}

		}
		yyh3665.End()
	}
	if yyc3665 {
		*v = yyv3665
	}

}

func (x codecSelfer1234) encSliceruntime_RawExtension(v []pkg6_runtime.RawExtension, e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	r.EncodeArrayStart(len(v))
	for _, yyv3669 := range v {
		yy3670 := &yyv3669
		yym3671 := z.EncBinary()
		_ = yym3671
		if false {
		} else if z.HasExtensions() && z.EncExt(yy3670) {
		} else if !yym3671 && z.IsJSONHandle() {
			z.EncJSONMarshal(yy3670)
		} else {
			z.EncFallback(yy3670)
		}
	}
	r.EncodeEnd()
}

func (x codecSelfer1234) decSliceruntime_RawExtension(v *[]pkg6_runtime.RawExtension, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r

	yyv3672 := *v
	yyh3672, yyl3672 := z.DecSliceHelperStart()

	var yyrr3672, yyrl3672 int
	var yyc3672, yyrt3672 bool
	_, _, _ = yyc3672, yyrt3672, yyrl3672
	yyrr3672 = yyl3672

	if yyv3672 == nil {
		if yyrl3672, yyrt3672 = z.DecInferLen(yyl3672, z.DecBasicHandle().MaxInitLen, 24); yyrt3672 {
			yyrr3672 = yyrl3672
		}
		yyv3672 = make([]pkg6_runtime.RawExtension, yyrl3672)
		yyc3672 = true
	}

	if yyl3672 == 0 {
		if len(yyv3672) != 0 {
			yyv3672 = yyv3672[:0]
			yyc3672 = true
		}
	} else if yyl3672 > 0 {

		if yyl3672 > cap(yyv3672) {
			yyrl3672, yyrt3672 = z.DecInferLen(yyl3672, z.DecBasicHandle().MaxInitLen, 24)
			yyv3672 = make([]pkg6_runtime.RawExtension, yyrl3672)
			yyc3672 = true

			yyrr3672 = len(yyv3672)
		} else if yyl3672 != len(yyv3672) {
			yyv3672 = yyv3672[:yyl3672]
			yyc3672 = true
		}
		yyj3672 := 0
		for ; yyj3672 < yyrr3672; yyj3672++ {
			if r.TryDecodeAsNil() {
				yyv3672[yyj3672] = pkg6_runtime.RawExtension{}
			} else {
				yyv3673 := &yyv3672[yyj3672]
				yym3674 := z.DecBinary()
				_ = yym3674
				if false {
				} else if z.HasExtensions() && z.DecExt(yyv3673) {
				} else if !yym3674 && z.IsJSONHandle() {
					z.DecJSONUnmarshal(yyv3673)
				} else {
					z.DecFallback(yyv3673, false)
				}
			}

		}
		if yyrt3672 {
			for ; yyj3672 < yyl3672; yyj3672++ {
				yyv3672 = append(yyv3672, pkg6_runtime.RawExtension{})
				if r.TryDecodeAsNil() {
					yyv3672[yyj3672] = pkg6_runtime.RawExtension{}
				} else {
					yyv3675 := &yyv3672[yyj3672]
					yym3676 := z.DecBinary()
					_ = yym3676
					if false {
					} else if z.HasExtensions() && z.DecExt(yyv3675) {
					} else if !yym3676 && z.IsJSONHandle() {
						z.DecJSONUnmarshal(yyv3675)
					} else {
						z.DecFallback(yyv3675, false)
					}
				}

			}
		}

	} else {
		for yyj3672 := 0; !r.CheckBreak(); yyj3672++ {
			if yyj3672 >= len(yyv3672) {
				yyv3672 = append(yyv3672, pkg6_runtime.RawExtension{}) // var yyz3672 pkg6_runtime.RawExtension
				yyc3672 = true
			}

			if yyj3672 < len(yyv3672) {
				if r.TryDecodeAsNil() {
					yyv3672[yyj3672] = pkg6_runtime.RawExtension{}
				} else {
					yyv3677 := &yyv3672[yyj3672]
					yym3678 := z.DecBinary()
					_ = yym3678
					if false {
					} else if z.HasExtensions() && z.DecExt(yyv3677) {
					} else if !yym3678 && z.IsJSONHandle() {
						z.DecJSONUnmarshal(yyv3677)
					} else {
						z.DecFallback(yyv3677, false)
					}
				}

			} else {
				z.DecSwallow()
			}

		}
		yyh3672.End()
	}
	if yyc3672 {
		*v = yyv3672
	}

}

func (x codecSelfer1234) encSliceLimitRangeItem(v []LimitRangeItem, e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	r.EncodeArrayStart(len(v))
	for _, yyv3679 := range v {
		yy3680 := &yyv3679
		yy3680.CodecEncodeSelf(e)
	}
	r.EncodeEnd()
}

func (x codecSelfer1234) decSliceLimitRangeItem(v *[]LimitRangeItem, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r

	yyv3681 := *v
	yyh3681, yyl3681 := z.DecSliceHelperStart()

	var yyrr3681, yyrl3681 int
	var yyc3681, yyrt3681 bool
	_, _, _ = yyc3681, yyrt3681, yyrl3681
	yyrr3681 = yyl3681

	if yyv3681 == nil {
		if yyrl3681, yyrt3681 = z.DecInferLen(yyl3681, z.DecBasicHandle().MaxInitLen, 56); yyrt3681 {
			yyrr3681 = yyrl3681
		}
		yyv3681 = make([]LimitRangeItem, yyrl3681)
		yyc3681 = true
	}

	if yyl3681 == 0 {
		if len(yyv3681) != 0 {
			yyv3681 = yyv3681[:0]
			yyc3681 = true
		}
	} else if yyl3681 > 0 {

		if yyl3681 > cap(yyv3681) {
			yyrl3681, yyrt3681 = z.DecInferLen(yyl3681, z.DecBasicHandle().MaxInitLen, 56)
			yyv3681 = make([]LimitRangeItem, yyrl3681)
			yyc3681 = true

			yyrr3681 = len(yyv3681)
		} else if yyl3681 != len(yyv3681) {
			yyv3681 = yyv3681[:yyl3681]
			yyc3681 = true
		}
		yyj3681 := 0
		for ; yyj3681 < yyrr3681; yyj3681++ {
			if r.TryDecodeAsNil() {
				yyv3681[yyj3681] = LimitRangeItem{}
			} else {
				yyv3682 := &yyv3681[yyj3681]
				yyv3682.CodecDecodeSelf(d)
			}

		}
		if yyrt3681 {
			for ; yyj3681 < yyl3681; yyj3681++ {
				yyv3681 = append(yyv3681, LimitRangeItem{})
				if r.TryDecodeAsNil() {
					yyv3681[yyj3681] = LimitRangeItem{}
				} else {
					yyv3683 := &yyv3681[yyj3681]
					yyv3683.CodecDecodeSelf(d)
				}

			}
		}

	} else {
		for yyj3681 := 0; !r.CheckBreak(); yyj3681++ {
			if yyj3681 >= len(yyv3681) {
				yyv3681 = append(yyv3681, LimitRangeItem{}) // var yyz3681 LimitRangeItem
				yyc3681 = true
			}

			if yyj3681 < len(yyv3681) {
				if r.TryDecodeAsNil() {
					yyv3681[yyj3681] = LimitRangeItem{}
				} else {
					yyv3684 := &yyv3681[yyj3681]
					yyv3684.CodecDecodeSelf(d)
				}

			} else {
				z.DecSwallow()
			}

		}
		yyh3681.End()
	}
	if yyc3681 {
		*v = yyv3681
	}

}

func (x codecSelfer1234) encSliceLimitRange(v []LimitRange, e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	r.EncodeArrayStart(len(v))
	for _, yyv3685 := range v {
		yy3686 := &yyv3685
		yy3686.CodecEncodeSelf(e)
	}
	r.EncodeEnd()
}

func (x codecSelfer1234) decSliceLimitRange(v *[]LimitRange, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r

	yyv3687 := *v
	yyh3687, yyl3687 := z.DecSliceHelperStart()

	var yyrr3687, yyrl3687 int
	var yyc3687, yyrt3687 bool
	_, _, _ = yyc3687, yyrt3687, yyrl3687
	yyrr3687 = yyl3687

	if yyv3687 == nil {
		if yyrl3687, yyrt3687 = z.DecInferLen(yyl3687, z.DecBasicHandle().MaxInitLen, 216); yyrt3687 {
			yyrr3687 = yyrl3687
		}
		yyv3687 = make([]LimitRange, yyrl3687)
		yyc3687 = true
	}

	if yyl3687 == 0 {
		if len(yyv3687) != 0 {
			yyv3687 = yyv3687[:0]
			yyc3687 = true
		}
	} else if yyl3687 > 0 {

		if yyl3687 > cap(yyv3687) {
			yyrl3687, yyrt3687 = z.DecInferLen(yyl3687, z.DecBasicHandle().MaxInitLen, 216)
			yyv3687 = make([]LimitRange, yyrl3687)
			yyc3687 = true

			yyrr3687 = len(yyv3687)
		} else if yyl3687 != len(yyv3687) {
			yyv3687 = yyv3687[:yyl3687]
			yyc3687 = true
		}
		yyj3687 := 0
		for ; yyj3687 < yyrr3687; yyj3687++ {
			if r.TryDecodeAsNil() {
				yyv3687[yyj3687] = LimitRange{}
			} else {
				yyv3688 := &yyv3687[yyj3687]
				yyv3688.CodecDecodeSelf(d)
			}

		}
		if yyrt3687 {
			for ; yyj3687 < yyl3687; yyj3687++ {
				yyv3687 = append(yyv3687, LimitRange{})
				if r.TryDecodeAsNil() {
					yyv3687[yyj3687] = LimitRange{}
				} else {
					yyv3689 := &yyv3687[yyj3687]
					yyv3689.CodecDecodeSelf(d)
				}

			}
		}

	} else {
		for yyj3687 := 0; !r.CheckBreak(); yyj3687++ {
			if yyj3687 >= len(yyv3687) {
				yyv3687 = append(yyv3687, LimitRange{}) // var yyz3687 LimitRange
				yyc3687 = true
			}

			if yyj3687 < len(yyv3687) {
				if r.TryDecodeAsNil() {
					yyv3687[yyj3687] = LimitRange{}
				} else {
					yyv3690 := &yyv3687[yyj3687]
					yyv3690.CodecDecodeSelf(d)
				}

			} else {
				z.DecSwallow()
			}

		}
		yyh3687.End()
	}
	if yyc3687 {
		*v = yyv3687
	}

}

func (x codecSelfer1234) encSliceResourceQuota(v []ResourceQuota, e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	r.EncodeArrayStart(len(v))
	for _, yyv3691 := range v {
		yy3692 := &yyv3691
		yy3692.CodecEncodeSelf(e)
	}
	r.EncodeEnd()
}

func (x codecSelfer1234) decSliceResourceQuota(v *[]ResourceQuota, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r

	yyv3693 := *v
	yyh3693, yyl3693 := z.DecSliceHelperStart()

	var yyrr3693, yyrl3693 int
	var yyc3693, yyrt3693 bool
	_, _, _ = yyc3693, yyrt3693, yyrl3693
	yyrr3693 = yyl3693

	if yyv3693 == nil {
		if yyrl3693, yyrt3693 = z.DecInferLen(yyl3693, z.DecBasicHandle().MaxInitLen, 216); yyrt3693 {
			yyrr3693 = yyrl3693
		}
		yyv3693 = make([]ResourceQuota, yyrl3693)
		yyc3693 = true
	}

	if yyl3693 == 0 {
		if len(yyv3693) != 0 {
			yyv3693 = yyv3693[:0]
			yyc3693 = true
		}
	} else if yyl3693 > 0 {

		if yyl3693 > cap(yyv3693) {
			yyrl3693, yyrt3693 = z.DecInferLen(yyl3693, z.DecBasicHandle().MaxInitLen, 216)
			yyv3693 = make([]ResourceQuota, yyrl3693)
			yyc3693 = true

			yyrr3693 = len(yyv3693)
		} else if yyl3693 != len(yyv3693) {
			yyv3693 = yyv3693[:yyl3693]
			yyc3693 = true
		}
		yyj3693 := 0
		for ; yyj3693 < yyrr3693; yyj3693++ {
			if r.TryDecodeAsNil() {
				yyv3693[yyj3693] = ResourceQuota{}
			} else {
				yyv3694 := &yyv3693[yyj3693]
				yyv3694.CodecDecodeSelf(d)
			}

		}
		if yyrt3693 {
			for ; yyj3693 < yyl3693; yyj3693++ {
				yyv3693 = append(yyv3693, ResourceQuota{})
				if r.TryDecodeAsNil() {
					yyv3693[yyj3693] = ResourceQuota{}
				} else {
					yyv3695 := &yyv3693[yyj3693]
					yyv3695.CodecDecodeSelf(d)
				}

			}
		}

	} else {
		for yyj3693 := 0; !r.CheckBreak(); yyj3693++ {
			if yyj3693 >= len(yyv3693) {
				yyv3693 = append(yyv3693, ResourceQuota{}) // var yyz3693 ResourceQuota
				yyc3693 = true
			}

			if yyj3693 < len(yyv3693) {
				if r.TryDecodeAsNil() {
					yyv3693[yyj3693] = ResourceQuota{}
				} else {
					yyv3696 := &yyv3693[yyj3693]
					yyv3696.CodecDecodeSelf(d)
				}

			} else {
				z.DecSwallow()
			}

		}
		yyh3693.End()
	}
	if yyc3693 {
		*v = yyv3693
	}

}

func (x codecSelfer1234) encMapstringSliceuint8(v map[string][]uint8, e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	r.EncodeMapStart(len(v))
	for yyk3697, yyv3697 := range v {
		yym3698 := z.EncBinary()
		_ = yym3698
		if false {
		} else {
			r.EncodeString(codecSelferC_UTF81234, string(yyk3697))
		}
		if yyv3697 == nil {
			r.EncodeNil()
		} else {
			yym3699 := z.EncBinary()
			_ = yym3699
			if false {
			} else {
				r.EncodeStringBytes(codecSelferC_RAW1234, []byte(yyv3697))
			}
		}
	}
	r.EncodeEnd()
}

func (x codecSelfer1234) decMapstringSliceuint8(v *map[string][]uint8, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r

	yyv3700 := *v
	yyl3700 := r.ReadMapStart()
	yybh3700 := z.DecBasicHandle()
	if yyv3700 == nil {
		yyrl3700, _ := z.DecInferLen(yyl3700, yybh3700.MaxInitLen, 40)
		yyv3700 = make(map[string][]uint8, yyrl3700)
		*v = yyv3700
	}
	var yymk3700 string
	var yymv3700 []uint8
	var yymg3700 bool
	if yybh3700.MapValueReset {
		yymg3700 = true
	}
	if yyl3700 > 0 {
		for yyj3700 := 0; yyj3700 < yyl3700; yyj3700++ {
			if r.TryDecodeAsNil() {
				yymk3700 = ""
			} else {
				yymk3700 = string(r.DecodeString())
			}

			if yymg3700 {
				yymv3700 = yyv3700[yymk3700]
			} else {
				yymv3700 = nil
			}
			if r.TryDecodeAsNil() {
				yymv3700 = nil
			} else {
				yyv3702 := &yymv3700
				yym3703 := z.DecBinary()
				_ = yym3703
				if false {
				} else {
					*yyv3702 = r.DecodeBytes(*(*[]byte)(yyv3702), false, false)
				}
			}

			if yyv3700 != nil {
				yyv3700[yymk3700] = yymv3700
			}
		}
	} else if yyl3700 < 0 {
		for yyj3700 := 0; !r.CheckBreak(); yyj3700++ {
			if r.TryDecodeAsNil() {
				yymk3700 = ""
			} else {
				yymk3700 = string(r.DecodeString())
			}

			if yymg3700 {
				yymv3700 = yyv3700[yymk3700]
			} else {
				yymv3700 = nil
			}
			if r.TryDecodeAsNil() {
				yymv3700 = nil
			} else {
				yyv3705 := &yymv3700
				yym3706 := z.DecBinary()
				_ = yym3706
				if false {
				} else {
					*yyv3705 = r.DecodeBytes(*(*[]byte)(yyv3705), false, false)
				}
			}

			if yyv3700 != nil {
				yyv3700[yymk3700] = yymv3700
			}
		}
		r.ReadEnd()
	} // else len==0: TODO: Should we clear map entries?
}

func (x codecSelfer1234) encSliceSecret(v []Secret, e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	r.EncodeArrayStart(len(v))
	for _, yyv3707 := range v {
		yy3708 := &yyv3707
		yy3708.CodecEncodeSelf(e)
	}
	r.EncodeEnd()
}

func (x codecSelfer1234) decSliceSecret(v *[]Secret, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r

	yyv3709 := *v
	yyh3709, yyl3709 := z.DecSliceHelperStart()

	var yyrr3709, yyrl3709 int
	var yyc3709, yyrt3709 bool
	_, _, _ = yyc3709, yyrt3709, yyrl3709
	yyrr3709 = yyl3709

	if yyv3709 == nil {
		if yyrl3709, yyrt3709 = z.DecInferLen(yyl3709, z.DecBasicHandle().MaxInitLen, 216); yyrt3709 {
			yyrr3709 = yyrl3709
		}
		yyv3709 = make([]Secret, yyrl3709)
		yyc3709 = true
	}

	if yyl3709 == 0 {
		if len(yyv3709) != 0 {
			yyv3709 = yyv3709[:0]
			yyc3709 = true
		}
	} else if yyl3709 > 0 {

		if yyl3709 > cap(yyv3709) {
			yyrl3709, yyrt3709 = z.DecInferLen(yyl3709, z.DecBasicHandle().MaxInitLen, 216)
			yyv3709 = make([]Secret, yyrl3709)
			yyc3709 = true

			yyrr3709 = len(yyv3709)
		} else if yyl3709 != len(yyv3709) {
			yyv3709 = yyv3709[:yyl3709]
			yyc3709 = true
		}
		yyj3709 := 0
		for ; yyj3709 < yyrr3709; yyj3709++ {
			if r.TryDecodeAsNil() {
				yyv3709[yyj3709] = Secret{}
			} else {
				yyv3710 := &yyv3709[yyj3709]
				yyv3710.CodecDecodeSelf(d)
			}

		}
		if yyrt3709 {
			for ; yyj3709 < yyl3709; yyj3709++ {
				yyv3709 = append(yyv3709, Secret{})
				if r.TryDecodeAsNil() {
					yyv3709[yyj3709] = Secret{}
				} else {
					yyv3711 := &yyv3709[yyj3709]
					yyv3711.CodecDecodeSelf(d)
				}

			}
		}

	} else {
		for yyj3709 := 0; !r.CheckBreak(); yyj3709++ {
			if yyj3709 >= len(yyv3709) {
				yyv3709 = append(yyv3709, Secret{}) // var yyz3709 Secret
				yyc3709 = true
			}

			if yyj3709 < len(yyv3709) {
				if r.TryDecodeAsNil() {
					yyv3709[yyj3709] = Secret{}
				} else {
					yyv3712 := &yyv3709[yyj3709]
					yyv3712.CodecDecodeSelf(d)
				}

			} else {
				z.DecSwallow()
			}

		}
		yyh3709.End()
	}
	if yyc3709 {
		*v = yyv3709
	}

}

func (x codecSelfer1234) encSliceComponentCondition(v []ComponentCondition, e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	r.EncodeArrayStart(len(v))
	for _, yyv3713 := range v {
		yy3714 := &yyv3713
		yy3714.CodecEncodeSelf(e)
	}
	r.EncodeEnd()
}

func (x codecSelfer1234) decSliceComponentCondition(v *[]ComponentCondition, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r

	yyv3715 := *v
	yyh3715, yyl3715 := z.DecSliceHelperStart()

	var yyrr3715, yyrl3715 int
	var yyc3715, yyrt3715 bool
	_, _, _ = yyc3715, yyrt3715, yyrl3715
	yyrr3715 = yyl3715

	if yyv3715 == nil {
		if yyrl3715, yyrt3715 = z.DecInferLen(yyl3715, z.DecBasicHandle().MaxInitLen, 64); yyrt3715 {
			yyrr3715 = yyrl3715
		}
		yyv3715 = make([]ComponentCondition, yyrl3715)
		yyc3715 = true
	}

	if yyl3715 == 0 {
		if len(yyv3715) != 0 {
			yyv3715 = yyv3715[:0]
			yyc3715 = true
		}
	} else if yyl3715 > 0 {

		if yyl3715 > cap(yyv3715) {
			yyrl3715, yyrt3715 = z.DecInferLen(yyl3715, z.DecBasicHandle().MaxInitLen, 64)
			yyv3715 = make([]ComponentCondition, yyrl3715)
			yyc3715 = true

			yyrr3715 = len(yyv3715)
		} else if yyl3715 != len(yyv3715) {
			yyv3715 = yyv3715[:yyl3715]
			yyc3715 = true
		}
		yyj3715 := 0
		for ; yyj3715 < yyrr3715; yyj3715++ {
			if r.TryDecodeAsNil() {
				yyv3715[yyj3715] = ComponentCondition{}
			} else {
				yyv3716 := &yyv3715[yyj3715]
				yyv3716.CodecDecodeSelf(d)
			}

		}
		if yyrt3715 {
			for ; yyj3715 < yyl3715; yyj3715++ {
				yyv3715 = append(yyv3715, ComponentCondition{})
				if r.TryDecodeAsNil() {
					yyv3715[yyj3715] = ComponentCondition{}
				} else {
					yyv3717 := &yyv3715[yyj3715]
					yyv3717.CodecDecodeSelf(d)
				}

			}
		}

	} else {
		for yyj3715 := 0; !r.CheckBreak(); yyj3715++ {
			if yyj3715 >= len(yyv3715) {
				yyv3715 = append(yyv3715, ComponentCondition{}) // var yyz3715 ComponentCondition
				yyc3715 = true
			}

			if yyj3715 < len(yyv3715) {
				if r.TryDecodeAsNil() {
					yyv3715[yyj3715] = ComponentCondition{}
				} else {
					yyv3718 := &yyv3715[yyj3715]
					yyv3718.CodecDecodeSelf(d)
				}

			} else {
				z.DecSwallow()
			}

		}
		yyh3715.End()
	}
	if yyc3715 {
		*v = yyv3715
	}

}

func (x codecSelfer1234) encSliceComponentStatus(v []ComponentStatus, e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	r.EncodeArrayStart(len(v))
	for _, yyv3719 := range v {
		yy3720 := &yyv3719
		yy3720.CodecEncodeSelf(e)
	}
	r.EncodeEnd()
}

func (x codecSelfer1234) decSliceComponentStatus(v *[]ComponentStatus, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r

	yyv3721 := *v
	yyh3721, yyl3721 := z.DecSliceHelperStart()

	var yyrr3721, yyrl3721 int
	var yyc3721, yyrt3721 bool
	_, _, _ = yyc3721, yyrt3721, yyrl3721
	yyrr3721 = yyl3721

	if yyv3721 == nil {
		if yyrl3721, yyrt3721 = z.DecInferLen(yyl3721, z.DecBasicHandle().MaxInitLen, 216); yyrt3721 {
			yyrr3721 = yyrl3721
		}
		yyv3721 = make([]ComponentStatus, yyrl3721)
		yyc3721 = true
	}

	if yyl3721 == 0 {
		if len(yyv3721) != 0 {
			yyv3721 = yyv3721[:0]
			yyc3721 = true
		}
	} else if yyl3721 > 0 {

		if yyl3721 > cap(yyv3721) {
			yyrl3721, yyrt3721 = z.DecInferLen(yyl3721, z.DecBasicHandle().MaxInitLen, 216)
			yyv3721 = make([]ComponentStatus, yyrl3721)
			yyc3721 = true

			yyrr3721 = len(yyv3721)
		} else if yyl3721 != len(yyv3721) {
			yyv3721 = yyv3721[:yyl3721]
			yyc3721 = true
		}
		yyj3721 := 0
		for ; yyj3721 < yyrr3721; yyj3721++ {
			if r.TryDecodeAsNil() {
				yyv3721[yyj3721] = ComponentStatus{}
			} else {
				yyv3722 := &yyv3721[yyj3721]
				yyv3722.CodecDecodeSelf(d)
			}

		}
		if yyrt3721 {
			for ; yyj3721 < yyl3721; yyj3721++ {
				yyv3721 = append(yyv3721, ComponentStatus{})
				if r.TryDecodeAsNil() {
					yyv3721[yyj3721] = ComponentStatus{}
				} else {
					yyv3723 := &yyv3721[yyj3721]
					yyv3723.CodecDecodeSelf(d)
				}

			}
		}

	} else {
		for yyj3721 := 0; !r.CheckBreak(); yyj3721++ {
			if yyj3721 >= len(yyv3721) {
				yyv3721 = append(yyv3721, ComponentStatus{}) // var yyz3721 ComponentStatus
				yyc3721 = true
			}

			if yyj3721 < len(yyv3721) {
				if r.TryDecodeAsNil() {
					yyv3721[yyj3721] = ComponentStatus{}
				} else {
					yyv3724 := &yyv3721[yyj3721]
					yyv3724.CodecDecodeSelf(d)
				}

			} else {
				z.DecSwallow()
			}

		}
		yyh3721.End()
	}
	if yyc3721 {
		*v = yyv3721
	}

}

func (x codecSelfer1234) encSliceDownwardAPIVolumeFile(v []DownwardAPIVolumeFile, e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	r.EncodeArrayStart(len(v))
	for _, yyv3725 := range v {
		yy3726 := &yyv3725
		yy3726.CodecEncodeSelf(e)
	}
	r.EncodeEnd()
}

func (x codecSelfer1234) decSliceDownwardAPIVolumeFile(v *[]DownwardAPIVolumeFile, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r

	yyv3727 := *v
	yyh3727, yyl3727 := z.DecSliceHelperStart()

	var yyrr3727, yyrl3727 int
	var yyc3727, yyrt3727 bool
	_, _, _ = yyc3727, yyrt3727, yyrl3727
	yyrr3727 = yyl3727

	if yyv3727 == nil {
		if yyrl3727, yyrt3727 = z.DecInferLen(yyl3727, z.DecBasicHandle().MaxInitLen, 48); yyrt3727 {
			yyrr3727 = yyrl3727
		}
		yyv3727 = make([]DownwardAPIVolumeFile, yyrl3727)
		yyc3727 = true
	}

	if yyl3727 == 0 {
		if len(yyv3727) != 0 {
			yyv3727 = yyv3727[:0]
			yyc3727 = true
		}
	} else if yyl3727 > 0 {

		if yyl3727 > cap(yyv3727) {
			yyrl3727, yyrt3727 = z.DecInferLen(yyl3727, z.DecBasicHandle().MaxInitLen, 48)
			yyv3727 = make([]DownwardAPIVolumeFile, yyrl3727)
			yyc3727 = true

			yyrr3727 = len(yyv3727)
		} else if yyl3727 != len(yyv3727) {
			yyv3727 = yyv3727[:yyl3727]
			yyc3727 = true
		}
		yyj3727 := 0
		for ; yyj3727 < yyrr3727; yyj3727++ {
			if r.TryDecodeAsNil() {
				yyv3727[yyj3727] = DownwardAPIVolumeFile{}
			} else {
				yyv3728 := &yyv3727[yyj3727]
				yyv3728.CodecDecodeSelf(d)
			}

		}
		if yyrt3727 {
			for ; yyj3727 < yyl3727; yyj3727++ {
				yyv3727 = append(yyv3727, DownwardAPIVolumeFile{})
				if r.TryDecodeAsNil() {
					yyv3727[yyj3727] = DownwardAPIVolumeFile{}
				} else {
					yyv3729 := &yyv3727[yyj3727]
					yyv3729.CodecDecodeSelf(d)
				}

			}
		}

	} else {
		for yyj3727 := 0; !r.CheckBreak(); yyj3727++ {
			if yyj3727 >= len(yyv3727) {
				yyv3727 = append(yyv3727, DownwardAPIVolumeFile{}) // var yyz3727 DownwardAPIVolumeFile
				yyc3727 = true
			}

			if yyj3727 < len(yyv3727) {
				if r.TryDecodeAsNil() {
					yyv3727[yyj3727] = DownwardAPIVolumeFile{}
				} else {
					yyv3730 := &yyv3727[yyj3727]
					yyv3730.CodecDecodeSelf(d)
				}

			} else {
				z.DecSwallow()
			}

		}
		yyh3727.End()
	}
	if yyc3727 {
		*v = yyv3727
	}

}
