diff --git a/api/openapi-spec/swagger.json b/api/openapi-spec/swagger.json
index fbbda7bbf56..f6f20f3fa56 100644
--- a/api/openapi-spec/swagger.json
+++ b/api/openapi-spec/swagger.json
@@ -53477,6 +53477,11 @@
"replicas"
],
"properties": {
+ "collisionCount": {
+ "description": "collisionCount is the count of hash collisions for the StatefulSet. The StatefulSet controller uses this field as a collision avoidance mechanism when it needs to create the name for the newest ControllerRevision.",
+ "type": "integer",
+ "format": "int64"
+ },
"currentReplicas": {
"description": "currentReplicas is the number of Pods created by the StatefulSet controller from the StatefulSet version indicated by currentRevision.",
"type": "integer",
@@ -54273,6 +54278,11 @@
"replicas"
],
"properties": {
+ "collisionCount": {
+ "description": "collisionCount is the count of hash collisions for the StatefulSet. The StatefulSet controller uses this field as a collision avoidance mechanism when it needs to create the name for the newest ControllerRevision.",
+ "type": "integer",
+ "format": "int64"
+ },
"currentReplicas": {
"description": "currentReplicas is the number of Pods created by the StatefulSet controller from the StatefulSet version indicated by currentRevision.",
"type": "integer",
diff --git a/api/swagger-spec/apps_v1beta1.json b/api/swagger-spec/apps_v1beta1.json
index 8ffade74429..1f99ebc6bfa 100644
--- a/api/swagger-spec/apps_v1beta1.json
+++ b/api/swagger-spec/apps_v1beta1.json
@@ -6279,6 +6279,11 @@
"updateRevision": {
"type": "string",
"description": "updateRevision, if not empty, indicates the version of the StatefulSet used to generate Pods in the sequence [replicas-updatedReplicas,replicas)"
+ },
+ "collisionCount": {
+ "type": "integer",
+ "format": "int64",
+ "description": "collisionCount is the count of hash collisions for the StatefulSet. The StatefulSet controller uses this field as a collision avoidance mechanism when it needs to create the name for the newest ControllerRevision."
}
}
},
diff --git a/api/swagger-spec/apps_v1beta2.json b/api/swagger-spec/apps_v1beta2.json
index 83f4fc839da..15214f0a2a7 100644
--- a/api/swagger-spec/apps_v1beta2.json
+++ b/api/swagger-spec/apps_v1beta2.json
@@ -7791,6 +7791,11 @@
"updateRevision": {
"type": "string",
"description": "updateRevision, if not empty, indicates the version of the StatefulSet used to generate Pods in the sequence [replicas-updatedReplicas,replicas)"
+ },
+ "collisionCount": {
+ "type": "integer",
+ "format": "int64",
+ "description": "collisionCount is the count of hash collisions for the StatefulSet. The StatefulSet controller uses this field as a collision avoidance mechanism when it needs to create the name for the newest ControllerRevision."
}
}
},
diff --git a/docs/api-reference/apps/v1beta1/definitions.html b/docs/api-reference/apps/v1beta1/definitions.html
index bf7d8c8a031..af1f8e3447d 100755
--- a/docs/api-reference/apps/v1beta1/definitions.html
+++ b/docs/api-reference/apps/v1beta1/definitions.html
@@ -5135,6 +5135,13 @@ Examples:
string |
|
+
+collisionCount |
+collisionCount is the count of hash collisions for the StatefulSet. The StatefulSet controller uses this field as a collision avoidance mechanism when it needs to create the name for the newest ControllerRevision. |
+false |
+integer (int64) |
+ |
+
diff --git a/docs/api-reference/apps/v1beta2/definitions.html b/docs/api-reference/apps/v1beta2/definitions.html
index b42e72808c0..3bd30a3a3d7 100755
--- a/docs/api-reference/apps/v1beta2/definitions.html
+++ b/docs/api-reference/apps/v1beta2/definitions.html
@@ -1581,6 +1581,13 @@ span.icon > [class^="icon-"], span.icon > [class*=" icon-"] { cursor: default; }
string |
|
+
+collisionCount |
+collisionCount is the count of hash collisions for the StatefulSet. The StatefulSet controller uses this field as a collision avoidance mechanism when it needs to create the name for the newest ControllerRevision. |
+false |
+integer (int64) |
+ |
+
diff --git a/pkg/api/testing/fuzzer.go b/pkg/api/testing/fuzzer.go
index 8ec590deb98..56492941243 100644
--- a/pkg/api/testing/fuzzer.go
+++ b/pkg/api/testing/fuzzer.go
@@ -734,6 +734,9 @@ func appsFuncs(codecs runtimeserializer.CodecFactory) []interface{} {
if s.Status.ObservedGeneration == nil {
s.Status.ObservedGeneration = new(int64)
}
+ if s.Status.CollisionCount == nil {
+ s.Status.CollisionCount = new(int64)
+ }
},
}
}
diff --git a/pkg/apis/apps/types.go b/pkg/apis/apps/types.go
index 5e4173b0828..9841c2ab4f6 100644
--- a/pkg/apis/apps/types.go
+++ b/pkg/apis/apps/types.go
@@ -187,6 +187,12 @@ type StatefulSetStatus struct {
// updateRevision, if not empty, indicates the version of the StatefulSet used to generate Pods in the sequence
// [replicas-updatedReplicas,replicas)
UpdateRevision string
+
+ // collisionCount is the count of hash collisions for the StatefulSet. The StatefulSet controller
+ // uses this field as a collision avoidance mechanism when it needs to create the name for the
+ // newest ControllerRevision.
+ // +optional
+ CollisionCount *int64
}
// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object
diff --git a/pkg/apis/apps/v1beta1/zz_generated.conversion.go b/pkg/apis/apps/v1beta1/zz_generated.conversion.go
index d5dfe18d5b4..972e5a70a25 100644
--- a/pkg/apis/apps/v1beta1/zz_generated.conversion.go
+++ b/pkg/apis/apps/v1beta1/zz_generated.conversion.go
@@ -625,6 +625,7 @@ func autoConvert_v1beta1_StatefulSetStatus_To_apps_StatefulSetStatus(in *v1beta1
out.UpdatedReplicas = in.UpdatedReplicas
out.CurrentRevision = in.CurrentRevision
out.UpdateRevision = in.UpdateRevision
+ out.CollisionCount = (*int64)(unsafe.Pointer(in.CollisionCount))
return nil
}
@@ -641,6 +642,7 @@ func autoConvert_apps_StatefulSetStatus_To_v1beta1_StatefulSetStatus(in *apps.St
out.UpdatedReplicas = in.UpdatedReplicas
out.CurrentRevision = in.CurrentRevision
out.UpdateRevision = in.UpdateRevision
+ out.CollisionCount = (*int64)(unsafe.Pointer(in.CollisionCount))
return nil
}
diff --git a/pkg/apis/apps/v1beta2/conversion.go b/pkg/apis/apps/v1beta2/conversion.go
index a864decaeb9..02340a01076 100644
--- a/pkg/apis/apps/v1beta2/conversion.go
+++ b/pkg/apis/apps/v1beta2/conversion.go
@@ -237,6 +237,10 @@ func Convert_v1beta2_StatefulSetStatus_To_apps_StatefulSetStatus(in *appsv1beta2
out.UpdatedReplicas = in.UpdatedReplicas
out.CurrentRevision = in.CurrentRevision
out.UpdateRevision = in.UpdateRevision
+ if in.CollisionCount != nil {
+ out.CollisionCount = new(int64)
+ *out.CollisionCount = *in.CollisionCount
+ }
return nil
}
@@ -250,6 +254,10 @@ func Convert_apps_StatefulSetStatus_To_v1beta2_StatefulSetStatus(in *apps.Statef
out.UpdatedReplicas = in.UpdatedReplicas
out.CurrentRevision = in.CurrentRevision
out.UpdateRevision = in.UpdateRevision
+ if in.CollisionCount != nil {
+ out.CollisionCount = new(int64)
+ *out.CollisionCount = *in.CollisionCount
+ }
return nil
}
diff --git a/pkg/apis/apps/v1beta2/zz_generated.conversion.go b/pkg/apis/apps/v1beta2/zz_generated.conversion.go
index edc7371240a..d0042e747e3 100644
--- a/pkg/apis/apps/v1beta2/zz_generated.conversion.go
+++ b/pkg/apis/apps/v1beta2/zz_generated.conversion.go
@@ -862,6 +862,7 @@ func autoConvert_v1beta2_StatefulSetStatus_To_apps_StatefulSetStatus(in *v1beta2
out.UpdatedReplicas = in.UpdatedReplicas
out.CurrentRevision = in.CurrentRevision
out.UpdateRevision = in.UpdateRevision
+ out.CollisionCount = (*int64)(unsafe.Pointer(in.CollisionCount))
return nil
}
@@ -873,6 +874,7 @@ func autoConvert_apps_StatefulSetStatus_To_v1beta2_StatefulSetStatus(in *apps.St
out.UpdatedReplicas = in.UpdatedReplicas
out.CurrentRevision = in.CurrentRevision
out.UpdateRevision = in.UpdateRevision
+ out.CollisionCount = (*int64)(unsafe.Pointer(in.CollisionCount))
return nil
}
diff --git a/pkg/apis/apps/validation/BUILD b/pkg/apis/apps/validation/BUILD
index 2cd9d971bc6..d0bec4f4701 100644
--- a/pkg/apis/apps/validation/BUILD
+++ b/pkg/apis/apps/validation/BUILD
@@ -33,6 +33,7 @@ go_test(
"//pkg/apis/apps:go_default_library",
"//vendor/k8s.io/apimachinery/pkg/apis/meta/v1:go_default_library",
"//vendor/k8s.io/apimachinery/pkg/runtime:go_default_library",
+ "//vendor/k8s.io/apimachinery/pkg/util/validation/field:go_default_library",
],
)
diff --git a/pkg/apis/apps/validation/validation.go b/pkg/apis/apps/validation/validation.go
index d4a02bc7434..6b0e7d98534 100644
--- a/pkg/apis/apps/validation/validation.go
+++ b/pkg/apis/apps/validation/validation.go
@@ -163,9 +163,39 @@ func ValidateStatefulSetUpdate(statefulSet, oldStatefulSet *apps.StatefulSet) fi
return allErrs
}
+// ValidateStatefulSetStatus validates a StatefulSetStatus.
+func ValidateStatefulSetStatus(status *apps.StatefulSetStatus, fieldPath *field.Path) field.ErrorList {
+ allErrs := field.ErrorList{}
+
+ allErrs = append(allErrs, apivalidation.ValidateNonnegativeField(int64(status.Replicas), fieldPath.Child("replicas"))...)
+ allErrs = append(allErrs, apivalidation.ValidateNonnegativeField(int64(status.ReadyReplicas), fieldPath.Child("readyReplicas"))...)
+ allErrs = append(allErrs, apivalidation.ValidateNonnegativeField(int64(status.CurrentReplicas), fieldPath.Child("currentReplicas"))...)
+ allErrs = append(allErrs, apivalidation.ValidateNonnegativeField(int64(status.UpdatedReplicas), fieldPath.Child("updatedReplicas"))...)
+ if status.ObservedGeneration != nil {
+ allErrs = append(allErrs, apivalidation.ValidateNonnegativeField(int64(*status.ObservedGeneration), fieldPath.Child("observedGeneration"))...)
+ }
+ if status.CollisionCount != nil {
+ allErrs = append(allErrs, apivalidation.ValidateNonnegativeField(int64(*status.CollisionCount), fieldPath.Child("collisionCount"))...)
+ }
+
+ msg := "cannot be greater than status.replicas"
+ if status.ReadyReplicas > status.Replicas {
+ allErrs = append(allErrs, field.Invalid(fieldPath.Child("readyReplicas"), status.ReadyReplicas, msg))
+ }
+ if status.CurrentReplicas > status.Replicas {
+ allErrs = append(allErrs, field.Invalid(fieldPath.Child("currentReplicas"), status.CurrentReplicas, msg))
+ }
+ if status.UpdatedReplicas > status.Replicas {
+ allErrs = append(allErrs, field.Invalid(fieldPath.Child("updatedReplicas"), status.UpdatedReplicas, msg))
+ }
+
+ return allErrs
+}
+
// ValidateStatefulSetStatusUpdate tests if required fields in the StatefulSet are set.
func ValidateStatefulSetStatusUpdate(statefulSet, oldStatefulSet *apps.StatefulSet) field.ErrorList {
allErrs := field.ErrorList{}
+ allErrs = append(allErrs, ValidateStatefulSetStatus(&statefulSet.Status, field.NewPath("status"))...)
allErrs = append(allErrs, apivalidation.ValidateObjectMetaUpdate(&statefulSet.ObjectMeta, &oldStatefulSet.ObjectMeta, field.NewPath("metadata"))...)
// TODO: Validate status.
return allErrs
diff --git a/pkg/apis/apps/validation/validation_test.go b/pkg/apis/apps/validation/validation_test.go
index f968fdc83cb..9071fa189f0 100644
--- a/pkg/apis/apps/validation/validation_test.go
+++ b/pkg/apis/apps/validation/validation_test.go
@@ -22,6 +22,7 @@ import (
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
"k8s.io/apimachinery/pkg/runtime"
+ "k8s.io/apimachinery/pkg/util/validation/field"
"k8s.io/kubernetes/pkg/api"
"k8s.io/kubernetes/pkg/apis/apps"
)
@@ -300,6 +301,119 @@ func TestValidateStatefulSet(t *testing.T) {
}
}
+func TestValidateStatefulSetStatus(t *testing.T) {
+ minusOne := int64(-1)
+ tests := []struct {
+ name string
+ replicas int32
+ readyReplicas int32
+ currentReplicas int32
+ updatedReplicas int32
+ observedGeneration *int64
+ collisionCount *int64
+ expectedErr bool
+ }{
+ {
+ name: "valid status",
+ replicas: 3,
+ readyReplicas: 3,
+ currentReplicas: 2,
+ updatedReplicas: 1,
+ expectedErr: false,
+ },
+ {
+ name: "invalid replicas",
+ replicas: -1,
+ readyReplicas: 3,
+ currentReplicas: 2,
+ updatedReplicas: 1,
+ expectedErr: true,
+ },
+ {
+ name: "invalid readyReplicas",
+ replicas: 3,
+ readyReplicas: -1,
+ currentReplicas: 2,
+ updatedReplicas: 1,
+ expectedErr: true,
+ },
+ {
+ name: "invalid currentReplicas",
+ replicas: 3,
+ readyReplicas: 3,
+ currentReplicas: -1,
+ updatedReplicas: 1,
+ expectedErr: true,
+ },
+ {
+ name: "invalid updatedReplicas",
+ replicas: 3,
+ readyReplicas: 3,
+ currentReplicas: 2,
+ updatedReplicas: -1,
+ expectedErr: true,
+ },
+ {
+ name: "invalid observedGeneration",
+ replicas: 3,
+ readyReplicas: 3,
+ currentReplicas: 2,
+ updatedReplicas: 1,
+ observedGeneration: &minusOne,
+ expectedErr: true,
+ },
+ {
+ name: "invalid collisionCount",
+ replicas: 3,
+ readyReplicas: 3,
+ currentReplicas: 2,
+ updatedReplicas: 1,
+ collisionCount: &minusOne,
+ expectedErr: true,
+ },
+ {
+ name: "readyReplicas greater than replicas",
+ replicas: 3,
+ readyReplicas: 4,
+ currentReplicas: 2,
+ updatedReplicas: 1,
+ expectedErr: true,
+ },
+ {
+ name: "currentReplicas greater than replicas",
+ replicas: 3,
+ readyReplicas: 3,
+ currentReplicas: 4,
+ updatedReplicas: 1,
+ expectedErr: true,
+ },
+ {
+ name: "updatedReplicas greater than replicas",
+ replicas: 3,
+ readyReplicas: 3,
+ currentReplicas: 2,
+ updatedReplicas: 4,
+ expectedErr: true,
+ },
+ }
+
+ for _, test := range tests {
+ status := apps.StatefulSetStatus{
+ Replicas: test.replicas,
+ ReadyReplicas: test.readyReplicas,
+ CurrentReplicas: test.currentReplicas,
+ UpdatedReplicas: test.updatedReplicas,
+ ObservedGeneration: test.observedGeneration,
+ CollisionCount: test.collisionCount,
+ }
+
+ errs := ValidateStatefulSetStatus(&status, field.NewPath("status"))
+ if hasErr := len(errs) > 0; hasErr != test.expectedErr {
+ t.Errorf("%s: expected error: %t, got error: %t\nerrors: %s", test.name, test.expectedErr, hasErr, errs.ToAggregate().Error())
+ }
+ }
+}
+
func TestValidateStatefulSetUpdate(t *testing.T) {
validLabels := map[string]string{"a": "b"}
validPodTemplate := api.PodTemplate{
diff --git a/pkg/apis/apps/zz_generated.deepcopy.go b/pkg/apis/apps/zz_generated.deepcopy.go
index 5ac521976c7..0a4d3638614 100644
--- a/pkg/apis/apps/zz_generated.deepcopy.go
+++ b/pkg/apis/apps/zz_generated.deepcopy.go
@@ -273,6 +273,15 @@ func (in *StatefulSetStatus) DeepCopyInto(out *StatefulSetStatus) {
**out = **in
}
}
+ if in.CollisionCount != nil {
+ in, out := &in.CollisionCount, &out.CollisionCount
+ if *in == nil {
+ *out = nil
+ } else {
+ *out = new(int64)
+ **out = **in
+ }
+ }
return
}
diff --git a/staging/src/k8s.io/api/apps/v1beta1/generated.pb.go b/staging/src/k8s.io/api/apps/v1beta1/generated.pb.go
index 40d559a6717..bc0a74ab76a 100644
--- a/staging/src/k8s.io/api/apps/v1beta1/generated.pb.go
+++ b/staging/src/k8s.io/api/apps/v1beta1/generated.pb.go
@@ -992,6 +992,11 @@ func (m *StatefulSetStatus) MarshalTo(dAtA []byte) (int, error) {
i++
i = encodeVarintGenerated(dAtA, i, uint64(len(m.UpdateRevision)))
i += copy(dAtA[i:], m.UpdateRevision)
+ if m.CollisionCount != nil {
+ dAtA[i] = 0x48
+ i++
+ i = encodeVarintGenerated(dAtA, i, uint64(*m.CollisionCount))
+ }
return i, nil
}
@@ -1339,6 +1344,9 @@ func (m *StatefulSetStatus) Size() (n int) {
n += 1 + l + sovGenerated(uint64(l))
l = len(m.UpdateRevision)
n += 1 + l + sovGenerated(uint64(l))
+ if m.CollisionCount != nil {
+ n += 1 + sovGenerated(uint64(*m.CollisionCount))
+ }
return n
}
@@ -1623,6 +1631,7 @@ func (this *StatefulSetStatus) String() string {
`UpdatedReplicas:` + fmt.Sprintf("%v", this.UpdatedReplicas) + `,`,
`CurrentRevision:` + fmt.Sprintf("%v", this.CurrentRevision) + `,`,
`UpdateRevision:` + fmt.Sprintf("%v", this.UpdateRevision) + `,`,
+ `CollisionCount:` + valueToStringGenerated(this.CollisionCount) + `,`,
`}`,
}, "")
return s
@@ -4574,6 +4583,26 @@ func (m *StatefulSetStatus) Unmarshal(dAtA []byte) error {
}
m.UpdateRevision = string(dAtA[iNdEx:postIndex])
iNdEx = postIndex
+ case 9:
+ if wireType != 0 {
+ return fmt.Errorf("proto: wrong wireType = %d for field CollisionCount", wireType)
+ }
+ var v int64
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return ErrIntOverflowGenerated
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ v |= (int64(b) & 0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ m.CollisionCount = &v
default:
iNdEx = preIndex
skippy, err := skipGenerated(dAtA[iNdEx:])
@@ -4817,119 +4846,119 @@ func init() {
}
var fileDescriptorGenerated = []byte{
- // 1816 bytes of a gzipped FileDescriptorProto
+ // 1820 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xdc, 0x58, 0xcd, 0x6f, 0x1c, 0x49,
- 0x15, 0x77, 0xcf, 0x87, 0x3d, 0x2e, 0xaf, 0xc7, 0x71, 0xd9, 0xd8, 0xb3, 0x5e, 0x18, 0x5b, 0xcd,
- 0x6a, 0xd7, 0xd9, 0x5d, 0xf7, 0x6c, 0xbc, 0xcb, 0x6a, 0x37, 0x91, 0x56, 0x78, 0xc6, 0x61, 0xd7,
- 0x91, 0x8d, 0x9d, 0x1a, 0x3b, 0x88, 0x00, 0x52, 0x6a, 0x7a, 0x2a, 0xe3, 0x8e, 0xfb, 0x4b, 0xdd,
- 0xd5, 0x43, 0x46, 0x5c, 0xf8, 0x03, 0x90, 0xc2, 0x99, 0xbf, 0x82, 0x23, 0x82, 0x1b, 0x27, 0x5f,
- 0x10, 0x11, 0x17, 0x72, 0xb2, 0xc8, 0xe4, 0xca, 0x95, 0x4b, 0x24, 0x24, 0x54, 0xd5, 0xd5, 0xdf,
- 0xdd, 0xf6, 0x18, 0x09, 0x1f, 0xb8, 0x4d, 0xd7, 0x7b, 0xef, 0xf7, 0x5e, 0x55, 0xbd, 0x7a, 0xef,
- 0xf7, 0x06, 0xfc, 0xf0, 0xec, 0x4b, 0x57, 0xd1, 0xac, 0xd6, 0x99, 0xd7, 0x23, 0x8e, 0x49, 0x28,
- 0x71, 0x5b, 0x43, 0x62, 0xf6, 0x2d, 0xa7, 0x25, 0x04, 0xd8, 0xd6, 0x5a, 0xd8, 0xb6, 0xdd, 0xd6,
- 0xf0, 0x4e, 0x8f, 0x50, 0x7c, 0xa7, 0x35, 0x20, 0x26, 0x71, 0x30, 0x25, 0x7d, 0xc5, 0x76, 0x2c,
- 0x6a, 0xc1, 0x55, 0x5f, 0x51, 0xc1, 0xb6, 0xa6, 0x30, 0x45, 0x45, 0x28, 0xae, 0x6d, 0x0d, 0x34,
- 0x7a, 0xea, 0xf5, 0x14, 0xd5, 0x32, 0x5a, 0x03, 0x6b, 0x60, 0xb5, 0xb8, 0x7e, 0xcf, 0x7b, 0xca,
- 0xbf, 0xf8, 0x07, 0xff, 0xe5, 0xe3, 0xac, 0xc9, 0x31, 0x87, 0xaa, 0xe5, 0x90, 0xd6, 0x30, 0xe3,
- 0x6b, 0xed, 0x76, 0x4c, 0xc7, 0xb6, 0x74, 0x4d, 0x1d, 0x15, 0x85, 0xb5, 0xf6, 0x79, 0xa4, 0x6a,
- 0x60, 0xf5, 0x54, 0x33, 0x89, 0x33, 0x6a, 0xd9, 0x67, 0x03, 0xb6, 0xe0, 0xb6, 0x0c, 0x42, 0x71,
- 0x9e, 0x83, 0x56, 0x91, 0x95, 0xe3, 0x99, 0x54, 0x33, 0x48, 0xc6, 0xe0, 0x8b, 0xab, 0x0c, 0x5c,
- 0xf5, 0x94, 0x18, 0x38, 0x63, 0xf7, 0x59, 0x91, 0x9d, 0x47, 0x35, 0xbd, 0xa5, 0x99, 0xd4, 0xa5,
- 0x4e, 0xda, 0x48, 0xfe, 0x97, 0x04, 0x60, 0xc7, 0x32, 0xa9, 0x63, 0xe9, 0x3a, 0x71, 0x10, 0x19,
- 0x6a, 0xae, 0x66, 0x99, 0xf0, 0x09, 0xa8, 0xb1, 0xfd, 0xf4, 0x31, 0xc5, 0x0d, 0x69, 0x43, 0xda,
- 0x9c, 0xdb, 0xfe, 0x54, 0x89, 0x2e, 0x25, 0x84, 0x57, 0xec, 0xb3, 0x01, 0x5b, 0x70, 0x15, 0xa6,
- 0xad, 0x0c, 0xef, 0x28, 0x87, 0xbd, 0x67, 0x44, 0xa5, 0x07, 0x84, 0xe2, 0x36, 0x3c, 0xbf, 0x58,
- 0x9f, 0x1a, 0x5f, 0xac, 0x83, 0x68, 0x0d, 0x85, 0xa8, 0xf0, 0x10, 0x54, 0x38, 0x7a, 0x89, 0xa3,
- 0x6f, 0x15, 0xa2, 0x8b, 0x4d, 0x2b, 0x08, 0xff, 0xf2, 0xfe, 0x73, 0x4a, 0x4c, 0x16, 0x5e, 0xfb,
- 0x1d, 0x01, 0x5d, 0xd9, 0xc5, 0x14, 0x23, 0x0e, 0x04, 0x3f, 0x01, 0x35, 0x47, 0x84, 0xdf, 0x28,
- 0x6f, 0x48, 0x9b, 0xe5, 0xf6, 0x2d, 0xa1, 0x55, 0x0b, 0xb6, 0x85, 0x42, 0x0d, 0xf9, 0x5c, 0x02,
- 0x2b, 0xd9, 0x7d, 0xef, 0x6b, 0x2e, 0x85, 0x3f, 0xcf, 0xec, 0x5d, 0x99, 0x6c, 0xef, 0xcc, 0x9a,
- 0xef, 0x3c, 0x74, 0x1c, 0xac, 0xc4, 0xf6, 0x7d, 0x04, 0xaa, 0x1a, 0x25, 0x86, 0xdb, 0x28, 0x6d,
- 0x94, 0x37, 0xe7, 0xb6, 0x3f, 0x56, 0x0a, 0x72, 0x5d, 0xc9, 0x46, 0xd7, 0x9e, 0x17, 0xb8, 0xd5,
- 0x3d, 0x86, 0x80, 0x7c, 0x20, 0xf9, 0x37, 0x25, 0x00, 0x76, 0x89, 0xad, 0x5b, 0x23, 0x83, 0x98,
- 0xf4, 0x06, 0xae, 0x6e, 0x0f, 0x54, 0x5c, 0x9b, 0xa8, 0xe2, 0xea, 0x3e, 0x2c, 0xdc, 0x41, 0x14,
- 0x54, 0xd7, 0x26, 0x6a, 0x74, 0x69, 0xec, 0x0b, 0x71, 0x08, 0xf8, 0x10, 0x4c, 0xbb, 0x14, 0x53,
- 0xcf, 0xe5, 0x57, 0x36, 0xb7, 0x7d, 0x7b, 0x12, 0x30, 0x6e, 0xd0, 0xae, 0x0b, 0xb8, 0x69, 0xff,
- 0x1b, 0x09, 0x20, 0xf9, 0xef, 0x65, 0xb0, 0x14, 0x29, 0x77, 0x2c, 0xb3, 0xaf, 0x51, 0x96, 0xd2,
- 0xf7, 0x40, 0x85, 0x8e, 0x6c, 0xc2, 0xcf, 0x64, 0xb6, 0xfd, 0x61, 0x10, 0xcc, 0xf1, 0xc8, 0x26,
- 0x6f, 0x2f, 0xd6, 0x57, 0x73, 0x4c, 0x98, 0x08, 0x71, 0x23, 0xb8, 0x1f, 0xc6, 0x59, 0xe2, 0xe6,
- 0x9f, 0x27, 0x9d, 0xbf, 0xbd, 0x58, 0xcf, 0xa9, 0x35, 0x4a, 0x88, 0x94, 0x0c, 0x11, 0x7e, 0x00,
- 0xa6, 0x1d, 0x82, 0x5d, 0xcb, 0x6c, 0x54, 0x38, 0x5a, 0xb8, 0x15, 0xc4, 0x57, 0x91, 0x90, 0xc2,
- 0xdb, 0x60, 0xc6, 0x20, 0xae, 0x8b, 0x07, 0xa4, 0x51, 0xe5, 0x8a, 0x0b, 0x42, 0x71, 0xe6, 0xc0,
- 0x5f, 0x46, 0x81, 0x1c, 0x3e, 0x03, 0x75, 0x1d, 0xbb, 0xf4, 0xc4, 0xee, 0x63, 0x4a, 0x8e, 0x35,
- 0x83, 0x34, 0xa6, 0xf9, 0x81, 0x7e, 0x34, 0xd9, 0xdd, 0x33, 0x8b, 0xf6, 0x8a, 0x40, 0xaf, 0xef,
- 0x27, 0x90, 0x50, 0x0a, 0x19, 0x0e, 0x01, 0x64, 0x2b, 0xc7, 0x0e, 0x36, 0x5d, 0xff, 0xa0, 0x98,
- 0xbf, 0x99, 0x6b, 0xfb, 0x5b, 0x13, 0xfe, 0xe0, 0x7e, 0x06, 0x0d, 0xe5, 0x78, 0x90, 0xff, 0x20,
- 0x81, 0x7a, 0x74, 0x4d, 0x37, 0xf0, 0x56, 0xbf, 0x4d, 0xbe, 0xd5, 0xef, 0x4f, 0x90, 0x9c, 0x05,
- 0x6f, 0xf4, 0x9f, 0x25, 0x00, 0x23, 0x25, 0x64, 0xe9, 0x7a, 0x0f, 0xab, 0x67, 0x70, 0x03, 0x54,
- 0x4c, 0x6c, 0x04, 0x39, 0x19, 0x3e, 0x90, 0x1f, 0x63, 0x83, 0x20, 0x2e, 0x81, 0x2f, 0x24, 0x00,
- 0x3d, 0x7e, 0xf4, 0xfd, 0x1d, 0xd3, 0xb4, 0x28, 0x66, 0xa7, 0x11, 0x04, 0xd4, 0x99, 0x20, 0xa0,
- 0xc0, 0x97, 0x72, 0x92, 0x41, 0xb9, 0x6f, 0x52, 0x67, 0x14, 0xdd, 0x42, 0x56, 0x01, 0xe5, 0xb8,
- 0x86, 0x3f, 0x03, 0xc0, 0x11, 0x98, 0xc7, 0x96, 0x78, 0xb6, 0xc5, 0x35, 0x20, 0x70, 0xdf, 0xb1,
- 0xcc, 0xa7, 0xda, 0x20, 0x2a, 0x2c, 0x28, 0x84, 0x40, 0x31, 0xb8, 0xb5, 0xfb, 0x60, 0xb5, 0x20,
- 0x4e, 0x78, 0x0b, 0x94, 0xcf, 0xc8, 0xc8, 0x3f, 0x2a, 0xc4, 0x7e, 0xc2, 0x65, 0x50, 0x1d, 0x62,
- 0xdd, 0x23, 0xfe, 0x9b, 0x44, 0xfe, 0xc7, 0xdd, 0xd2, 0x97, 0x92, 0xfc, 0xfb, 0x6a, 0x3c, 0x53,
- 0x58, 0xbd, 0x81, 0x9b, 0xac, 0x3d, 0xd8, 0xba, 0xa6, 0x62, 0x97, 0x63, 0x54, 0xdb, 0xef, 0xf8,
- 0xad, 0xc1, 0x5f, 0x43, 0xa1, 0x14, 0xfe, 0x02, 0xd4, 0x5c, 0xa2, 0x13, 0x95, 0x5a, 0x8e, 0x28,
- 0x71, 0x9f, 0x4d, 0x98, 0x53, 0xb8, 0x47, 0xf4, 0xae, 0x30, 0xf5, 0xe1, 0x83, 0x2f, 0x14, 0x42,
- 0xc2, 0x87, 0xa0, 0x46, 0x89, 0x61, 0xeb, 0x98, 0x12, 0x71, 0x7a, 0x89, 0xbc, 0x62, 0xb5, 0x83,
- 0x81, 0x1d, 0x59, 0xfd, 0x63, 0xa1, 0xc6, 0xab, 0x67, 0x98, 0xa7, 0xc1, 0x2a, 0x0a, 0x61, 0xe0,
- 0x4f, 0x41, 0xcd, 0xa5, 0xac, 0xab, 0x0f, 0x46, 0xbc, 0xa2, 0x5c, 0xd6, 0x56, 0xe2, 0x75, 0xd4,
- 0x37, 0x89, 0xa0, 0x83, 0x15, 0x14, 0xc2, 0xc1, 0x1d, 0xb0, 0x60, 0x68, 0x26, 0x22, 0xb8, 0x3f,
- 0xea, 0x12, 0xd5, 0x32, 0xfb, 0x2e, 0x2f, 0x45, 0xd5, 0xf6, 0xaa, 0x30, 0x5a, 0x38, 0x48, 0x8a,
- 0x51, 0x5a, 0x1f, 0xee, 0x83, 0xe5, 0xa0, 0xed, 0x7e, 0xab, 0xb9, 0xd4, 0x72, 0x46, 0xfb, 0x9a,
- 0xa1, 0x51, 0x5e, 0xa0, 0xaa, 0xed, 0xc6, 0xf8, 0x62, 0x7d, 0x19, 0xe5, 0xc8, 0x51, 0xae, 0x15,
- 0xab, 0x9d, 0x36, 0xf6, 0x5c, 0xd2, 0xe7, 0x05, 0xa7, 0x16, 0xd5, 0xce, 0x23, 0xbe, 0x8a, 0x84,
- 0x14, 0xfe, 0x24, 0x91, 0xa6, 0xb5, 0xeb, 0xa5, 0x69, 0xbd, 0x38, 0x45, 0xe1, 0x09, 0x58, 0xb5,
- 0x1d, 0x6b, 0xe0, 0x10, 0xd7, 0xdd, 0x25, 0xb8, 0xaf, 0x6b, 0x26, 0x09, 0x4e, 0x66, 0x96, 0xef,
- 0xe8, 0xbd, 0xf1, 0xc5, 0xfa, 0xea, 0x51, 0xbe, 0x0a, 0x2a, 0xb2, 0x95, 0xff, 0x5c, 0x01, 0xb7,
- 0xd2, 0x3d, 0x0e, 0x3e, 0x00, 0xd0, 0xea, 0xb9, 0xc4, 0x19, 0x92, 0xfe, 0x37, 0x3e, 0x71, 0x63,
- 0xec, 0x46, 0xe2, 0xec, 0x26, 0x7c, 0xb7, 0x87, 0x19, 0x0d, 0x94, 0x63, 0xe5, 0xf3, 0x23, 0xf1,
- 0x00, 0x4a, 0x3c, 0xd0, 0x18, 0x3f, 0xca, 0x3c, 0x82, 0x1d, 0xb0, 0x20, 0xde, 0x7e, 0x20, 0xe4,
- 0xc9, 0x1a, 0xbb, 0xf7, 0x93, 0xa4, 0x18, 0xa5, 0xf5, 0xe1, 0x37, 0x60, 0x11, 0x0f, 0xb1, 0xa6,
- 0xe3, 0x9e, 0x4e, 0x42, 0x90, 0x0a, 0x07, 0x79, 0x57, 0x80, 0x2c, 0xee, 0xa4, 0x15, 0x50, 0xd6,
- 0x06, 0x1e, 0x80, 0x25, 0xcf, 0xcc, 0x42, 0xf9, 0x79, 0xf8, 0x9e, 0x80, 0x5a, 0x3a, 0xc9, 0xaa,
- 0xa0, 0x3c, 0x3b, 0xf8, 0x04, 0x00, 0x35, 0x68, 0xcc, 0x6e, 0x63, 0x9a, 0x57, 0xd2, 0x4f, 0x26,
- 0x78, 0x2f, 0x61, 0x37, 0x8f, 0xaa, 0x58, 0xb8, 0xe4, 0xa2, 0x18, 0x26, 0xbc, 0x07, 0xe6, 0x1d,
- 0xf6, 0x02, 0xc2, 0x50, 0x67, 0x78, 0xa8, 0xdf, 0x11, 0x66, 0xf3, 0x28, 0x2e, 0x44, 0x49, 0x5d,
- 0x78, 0x17, 0xd4, 0x55, 0x4b, 0xd7, 0x79, 0xe6, 0x77, 0x2c, 0xcf, 0xa4, 0x3c, 0x79, 0xcb, 0x6d,
- 0xc8, 0x3a, 0x73, 0x27, 0x21, 0x41, 0x29, 0x4d, 0xf9, 0x4f, 0x52, 0xbc, 0xcd, 0x04, 0xcf, 0x19,
- 0xde, 0x4d, 0x50, 0x9f, 0x0f, 0x52, 0xd4, 0x67, 0x25, 0x6b, 0x11, 0x63, 0x3e, 0x1a, 0x98, 0x67,
- 0xc9, 0xaf, 0x99, 0x03, 0xff, 0xc2, 0x45, 0x49, 0xfc, 0xf4, 0xd2, 0xa7, 0x14, 0x6a, 0xc7, 0x1a,
- 0xe3, 0x22, 0xdf, 0x79, 0x5c, 0x88, 0x92, 0xc8, 0xf2, 0xd7, 0xa0, 0x9e, 0x7c, 0x87, 0x09, 0x4e,
- 0x2f, 0x5d, 0xc9, 0xe9, 0xdf, 0x48, 0x60, 0xb5, 0xc0, 0x3b, 0xd4, 0x41, 0xdd, 0xc0, 0xcf, 0x63,
- 0x39, 0x72, 0x25, 0x37, 0x66, 0x53, 0x93, 0xe2, 0x4f, 0x4d, 0xca, 0x9e, 0x49, 0x0f, 0x9d, 0x2e,
- 0x75, 0x34, 0x73, 0xe0, 0xdf, 0xc3, 0x41, 0x02, 0x0b, 0xa5, 0xb0, 0xe1, 0x63, 0x50, 0x33, 0xf0,
- 0xf3, 0xae, 0xe7, 0x0c, 0xf2, 0xce, 0x6b, 0x32, 0x3f, 0xbc, 0x7f, 0x1c, 0x08, 0x14, 0x14, 0xe2,
- 0xc9, 0x87, 0x60, 0x23, 0xb1, 0x49, 0x56, 0x2a, 0xc8, 0x53, 0x4f, 0xef, 0x92, 0xe8, 0xc2, 0x3f,
- 0x06, 0xb3, 0x36, 0x76, 0xa8, 0x16, 0x96, 0x8b, 0x6a, 0x7b, 0x7e, 0x7c, 0xb1, 0x3e, 0x7b, 0x14,
- 0x2c, 0xa2, 0x48, 0x2e, 0xff, 0x5b, 0x02, 0xd5, 0xae, 0x8a, 0x75, 0x72, 0x03, 0xa3, 0xc3, 0x6e,
- 0x62, 0x74, 0x90, 0x0b, 0x93, 0x88, 0xc7, 0x53, 0x38, 0x35, 0xec, 0xa7, 0xa6, 0x86, 0xf7, 0xaf,
- 0xc0, 0xb9, 0x7c, 0x60, 0xf8, 0x0a, 0xcc, 0x86, 0xee, 0x12, 0x55, 0x52, 0xba, 0xaa, 0x4a, 0xca,
- 0xbf, 0x2b, 0x81, 0xb9, 0x98, 0x8b, 0xeb, 0x59, 0xb3, 0xe3, 0x8e, 0x11, 0x0d, 0x56, 0x86, 0xb6,
- 0x27, 0xd9, 0x88, 0x12, 0x90, 0x0a, 0x9f, 0xbf, 0x45, 0xdd, 0x3b, 0xcb, 0x35, 0xbe, 0x06, 0x75,
- 0x8a, 0x9d, 0x01, 0xa1, 0x81, 0x8c, 0x1f, 0xd8, 0x6c, 0xc4, 0xf4, 0x8f, 0x13, 0x52, 0x94, 0xd2,
- 0x5e, 0xbb, 0x07, 0xe6, 0x13, 0xce, 0xae, 0x45, 0xc2, 0x5e, 0xb0, 0xc3, 0x89, 0x92, 0xf3, 0x06,
- 0xb2, 0xeb, 0x41, 0x22, 0xbb, 0x36, 0x8b, 0x0f, 0x33, 0xf6, 0x64, 0x8a, 0x72, 0x0c, 0xa5, 0x72,
- 0xec, 0xa3, 0x89, 0xd0, 0x2e, 0xcf, 0xb4, 0x3f, 0x4a, 0x60, 0x21, 0xa6, 0x7d, 0x03, 0x13, 0xcc,
- 0x5e, 0x72, 0x82, 0x79, 0x7f, 0x92, 0x4d, 0x14, 0x8c, 0x30, 0x7f, 0xa9, 0x26, 0x82, 0xff, 0xbf,
- 0x27, 0xd5, 0xbf, 0x02, 0xcb, 0x43, 0x4b, 0xf7, 0x0c, 0xd2, 0xd1, 0xb1, 0x66, 0x04, 0x0a, 0x8c,
- 0xc1, 0x94, 0xd3, 0x7f, 0x54, 0x84, 0xf0, 0xc4, 0x71, 0x35, 0x97, 0x12, 0x93, 0x3e, 0x8a, 0x2c,
- 0xdb, 0xdf, 0x15, 0x4e, 0x96, 0x1f, 0xe5, 0xc0, 0xa1, 0x5c, 0x27, 0xf0, 0x07, 0x60, 0x8e, 0x11,
- 0x38, 0x4d, 0x25, 0x6c, 0x16, 0x14, 0xd3, 0xff, 0x92, 0x00, 0x9a, 0xeb, 0x46, 0x22, 0x14, 0xd7,
- 0x83, 0xa7, 0x60, 0xc9, 0xb6, 0xfa, 0x07, 0xd8, 0xc4, 0x03, 0xc2, 0xda, 0xde, 0x11, 0xff, 0x43,
- 0x93, 0x33, 0xed, 0xd9, 0xf6, 0x17, 0x01, 0x53, 0x3a, 0xca, 0xaa, 0xbc, 0x65, 0x94, 0x35, 0xbb,
- 0xcc, 0x79, 0x40, 0x1e, 0x24, 0x74, 0x40, 0xdd, 0x13, 0xed, 0x47, 0x0c, 0x1e, 0xfe, 0xfc, 0xbf,
- 0x3d, 0x49, 0x86, 0x9d, 0x24, 0x2c, 0xa3, 0x6a, 0x94, 0x5c, 0x47, 0x29, 0x0f, 0x85, 0x83, 0x44,
- 0xed, 0xbf, 0x19, 0x24, 0xe4, 0xbf, 0x96, 0xc1, 0x62, 0xe6, 0xe9, 0xc2, 0x1f, 0x5d, 0xc2, 0xb8,
- 0x57, 0xfe, 0x67, 0x6c, 0x3b, 0x43, 0x18, 0xcb, 0xd7, 0x20, 0x8c, 0x3b, 0x60, 0x41, 0xf5, 0x1c,
- 0x87, 0xcd, 0xfa, 0x49, 0x96, 0x1d, 0x52, 0xf5, 0x4e, 0x52, 0x8c, 0xd2, 0xfa, 0x79, 0x6c, 0xbf,
- 0x7a, 0x4d, 0xb6, 0x1f, 0x8f, 0x42, 0x30, 0x36, 0x3f, 0xed, 0xb2, 0x51, 0x08, 0xe2, 0x96, 0xd6,
- 0x67, 0xdd, 0xca, 0x47, 0x0d, 0x11, 0x66, 0x92, 0xdd, 0xea, 0x24, 0x21, 0x45, 0x29, 0x6d, 0xf9,
- 0x6f, 0x12, 0x78, 0xb7, 0x30, 0xcb, 0xe0, 0x4e, 0x82, 0x04, 0x6f, 0xa5, 0x48, 0xf0, 0xf7, 0x0a,
- 0x0d, 0x63, 0x5c, 0xd8, 0xc9, 0xe7, 0xc2, 0x5f, 0x4d, 0xc6, 0x85, 0x73, 0x88, 0xda, 0xd5, 0xa4,
- 0xb8, 0xbd, 0x75, 0xfe, 0xba, 0x39, 0xf5, 0xf2, 0x75, 0x73, 0xea, 0xd5, 0xeb, 0xe6, 0xd4, 0xaf,
- 0xc7, 0x4d, 0xe9, 0x7c, 0xdc, 0x94, 0x5e, 0x8e, 0x9b, 0xd2, 0xab, 0x71, 0x53, 0xfa, 0xc7, 0xb8,
- 0x29, 0xfd, 0xf6, 0x4d, 0x73, 0xea, 0xf1, 0x8c, 0xf0, 0xf8, 0x9f, 0x00, 0x00, 0x00, 0xff, 0xff,
- 0xa4, 0xc5, 0x7c, 0x3a, 0x7d, 0x19, 0x00, 0x00,
+ 0x15, 0x77, 0xcf, 0x87, 0x3d, 0x53, 0x5e, 0x8f, 0xe3, 0xb2, 0xb1, 0x67, 0xbd, 0x30, 0xb6, 0x86,
+ 0xd5, 0xae, 0xb3, 0xbb, 0xee, 0xd9, 0x78, 0x97, 0xd5, 0x26, 0x91, 0x22, 0x3c, 0xe3, 0x90, 0x38,
+ 0xb2, 0xb1, 0x53, 0x63, 0x07, 0x11, 0x40, 0x4a, 0x4d, 0x4f, 0x65, 0xdc, 0x71, 0x7f, 0xa9, 0xbb,
+ 0x7a, 0xc8, 0x88, 0x0b, 0x77, 0x90, 0xc2, 0x99, 0xbf, 0x82, 0x23, 0x82, 0x1b, 0x27, 0x5f, 0x90,
+ 0x22, 0x2e, 0xe4, 0x64, 0x91, 0xc9, 0x95, 0x2b, 0x97, 0x48, 0x48, 0xa8, 0xaa, 0xab, 0xbf, 0xbb,
+ 0xed, 0x31, 0x12, 0x3e, 0x70, 0x9b, 0xae, 0xf7, 0xde, 0xef, 0xbd, 0xaa, 0x7a, 0xf5, 0xde, 0xef,
+ 0x0d, 0xf8, 0xe1, 0xe9, 0xb7, 0x8e, 0xac, 0x9a, 0xad, 0x53, 0xb7, 0x47, 0x6c, 0x83, 0x50, 0xe2,
+ 0xb4, 0x86, 0xc4, 0xe8, 0x9b, 0x76, 0x4b, 0x08, 0xb0, 0xa5, 0xb6, 0xb0, 0x65, 0x39, 0xad, 0xe1,
+ 0xad, 0x1e, 0xa1, 0xf8, 0x56, 0x6b, 0x40, 0x0c, 0x62, 0x63, 0x4a, 0xfa, 0xb2, 0x65, 0x9b, 0xd4,
+ 0x84, 0x2b, 0x9e, 0xa2, 0x8c, 0x2d, 0x55, 0x66, 0x8a, 0xb2, 0x50, 0x5c, 0xdd, 0x1c, 0xa8, 0xf4,
+ 0xc4, 0xed, 0xc9, 0x8a, 0xa9, 0xb7, 0x06, 0xe6, 0xc0, 0x6c, 0x71, 0xfd, 0x9e, 0xfb, 0x9c, 0x7f,
+ 0xf1, 0x0f, 0xfe, 0xcb, 0xc3, 0x59, 0x6d, 0x46, 0x1c, 0x2a, 0xa6, 0x4d, 0x5a, 0xc3, 0x94, 0xaf,
+ 0xd5, 0x9b, 0x11, 0x1d, 0xcb, 0xd4, 0x54, 0x65, 0x94, 0x17, 0xd6, 0xea, 0xd7, 0xa1, 0xaa, 0x8e,
+ 0x95, 0x13, 0xd5, 0x20, 0xf6, 0xa8, 0x65, 0x9d, 0x0e, 0xd8, 0x82, 0xd3, 0xd2, 0x09, 0xc5, 0x59,
+ 0x0e, 0x5a, 0x79, 0x56, 0xb6, 0x6b, 0x50, 0x55, 0x27, 0x29, 0x83, 0x6f, 0x2e, 0x33, 0x70, 0x94,
+ 0x13, 0xa2, 0xe3, 0x94, 0xdd, 0x57, 0x79, 0x76, 0x2e, 0x55, 0xb5, 0x96, 0x6a, 0x50, 0x87, 0xda,
+ 0x49, 0xa3, 0xe6, 0xbf, 0x24, 0x00, 0x3b, 0xa6, 0x41, 0x6d, 0x53, 0xd3, 0x88, 0x8d, 0xc8, 0x50,
+ 0x75, 0x54, 0xd3, 0x80, 0xcf, 0x40, 0x85, 0xed, 0xa7, 0x8f, 0x29, 0xae, 0x4b, 0xeb, 0xd2, 0xc6,
+ 0xec, 0xd6, 0x97, 0x72, 0x78, 0x29, 0x01, 0xbc, 0x6c, 0x9d, 0x0e, 0xd8, 0x82, 0x23, 0x33, 0x6d,
+ 0x79, 0x78, 0x4b, 0x3e, 0xe8, 0xbd, 0x20, 0x0a, 0xdd, 0x27, 0x14, 0xb7, 0xe1, 0xd9, 0xf9, 0xda,
+ 0xd4, 0xf8, 0x7c, 0x0d, 0x84, 0x6b, 0x28, 0x40, 0x85, 0x07, 0xa0, 0xc4, 0xd1, 0x0b, 0x1c, 0x7d,
+ 0x33, 0x17, 0x5d, 0x6c, 0x5a, 0x46, 0xf8, 0x97, 0xf7, 0x5f, 0x52, 0x62, 0xb0, 0xf0, 0xda, 0x1f,
+ 0x08, 0xe8, 0xd2, 0x0e, 0xa6, 0x18, 0x71, 0x20, 0xf8, 0x05, 0xa8, 0xd8, 0x22, 0xfc, 0x7a, 0x71,
+ 0x5d, 0xda, 0x28, 0xb6, 0x6f, 0x08, 0xad, 0x8a, 0xbf, 0x2d, 0x14, 0x68, 0x34, 0xcf, 0x24, 0xb0,
+ 0x9c, 0xde, 0xf7, 0x9e, 0xea, 0x50, 0xf8, 0xf3, 0xd4, 0xde, 0xe5, 0xc9, 0xf6, 0xce, 0xac, 0xf9,
+ 0xce, 0x03, 0xc7, 0xfe, 0x4a, 0x64, 0xdf, 0x87, 0xa0, 0xac, 0x52, 0xa2, 0x3b, 0xf5, 0xc2, 0x7a,
+ 0x71, 0x63, 0x76, 0xeb, 0x73, 0x39, 0x27, 0xd7, 0xe5, 0x74, 0x74, 0xed, 0x39, 0x81, 0x5b, 0xde,
+ 0x65, 0x08, 0xc8, 0x03, 0x6a, 0xfe, 0xb6, 0x00, 0xc0, 0x0e, 0xb1, 0x34, 0x73, 0xa4, 0x13, 0x83,
+ 0x5e, 0xc3, 0xd5, 0xed, 0x82, 0x92, 0x63, 0x11, 0x45, 0x5c, 0xdd, 0xa7, 0xb9, 0x3b, 0x08, 0x83,
+ 0xea, 0x5a, 0x44, 0x09, 0x2f, 0x8d, 0x7d, 0x21, 0x0e, 0x01, 0x1f, 0x83, 0x69, 0x87, 0x62, 0xea,
+ 0x3a, 0xfc, 0xca, 0x66, 0xb7, 0x6e, 0x4e, 0x02, 0xc6, 0x0d, 0xda, 0x35, 0x01, 0x37, 0xed, 0x7d,
+ 0x23, 0x01, 0xd4, 0xfc, 0x7b, 0x11, 0x2c, 0x86, 0xca, 0x1d, 0xd3, 0xe8, 0xab, 0x94, 0xa5, 0xf4,
+ 0x5d, 0x50, 0xa2, 0x23, 0x8b, 0xf0, 0x33, 0xa9, 0xb6, 0x3f, 0xf5, 0x83, 0x39, 0x1a, 0x59, 0xe4,
+ 0xfd, 0xf9, 0xda, 0x4a, 0x86, 0x09, 0x13, 0x21, 0x6e, 0x04, 0xf7, 0x82, 0x38, 0x0b, 0xdc, 0xfc,
+ 0xeb, 0xb8, 0xf3, 0xf7, 0xe7, 0x6b, 0x19, 0xb5, 0x46, 0x0e, 0x90, 0xe2, 0x21, 0xc2, 0x4f, 0xc0,
+ 0xb4, 0x4d, 0xb0, 0x63, 0x1a, 0xf5, 0x12, 0x47, 0x0b, 0xb6, 0x82, 0xf8, 0x2a, 0x12, 0x52, 0x78,
+ 0x13, 0xcc, 0xe8, 0xc4, 0x71, 0xf0, 0x80, 0xd4, 0xcb, 0x5c, 0x71, 0x5e, 0x28, 0xce, 0xec, 0x7b,
+ 0xcb, 0xc8, 0x97, 0xc3, 0x17, 0xa0, 0xa6, 0x61, 0x87, 0x1e, 0x5b, 0x7d, 0x4c, 0xc9, 0x91, 0xaa,
+ 0x93, 0xfa, 0x34, 0x3f, 0xd0, 0xcf, 0x26, 0xbb, 0x7b, 0x66, 0xd1, 0x5e, 0x16, 0xe8, 0xb5, 0xbd,
+ 0x18, 0x12, 0x4a, 0x20, 0xc3, 0x21, 0x80, 0x6c, 0xe5, 0xc8, 0xc6, 0x86, 0xe3, 0x1d, 0x14, 0xf3,
+ 0x37, 0x73, 0x65, 0x7f, 0xab, 0xc2, 0x1f, 0xdc, 0x4b, 0xa1, 0xa1, 0x0c, 0x0f, 0xcd, 0x3f, 0x4a,
+ 0xa0, 0x16, 0x5e, 0xd3, 0x35, 0xbc, 0xd5, 0x87, 0xf1, 0xb7, 0xfa, 0xfd, 0x09, 0x92, 0x33, 0xe7,
+ 0x8d, 0xfe, 0xb3, 0x00, 0x60, 0xa8, 0x84, 0x4c, 0x4d, 0xeb, 0x61, 0xe5, 0x14, 0xae, 0x83, 0x92,
+ 0x81, 0x75, 0x3f, 0x27, 0x83, 0x07, 0xf2, 0x63, 0xac, 0x13, 0xc4, 0x25, 0xf0, 0x95, 0x04, 0xa0,
+ 0xcb, 0x8f, 0xbe, 0xbf, 0x6d, 0x18, 0x26, 0xc5, 0xec, 0x34, 0xfc, 0x80, 0x3a, 0x13, 0x04, 0xe4,
+ 0xfb, 0x92, 0x8f, 0x53, 0x28, 0xf7, 0x0d, 0x6a, 0x8f, 0xc2, 0x5b, 0x48, 0x2b, 0xa0, 0x0c, 0xd7,
+ 0xf0, 0x67, 0x00, 0xd8, 0x02, 0xf3, 0xc8, 0x14, 0xcf, 0x36, 0xbf, 0x06, 0xf8, 0xee, 0x3b, 0xa6,
+ 0xf1, 0x5c, 0x1d, 0x84, 0x85, 0x05, 0x05, 0x10, 0x28, 0x02, 0xb7, 0x7a, 0x1f, 0xac, 0xe4, 0xc4,
+ 0x09, 0x6f, 0x80, 0xe2, 0x29, 0x19, 0x79, 0x47, 0x85, 0xd8, 0x4f, 0xb8, 0x04, 0xca, 0x43, 0xac,
+ 0xb9, 0xc4, 0x7b, 0x93, 0xc8, 0xfb, 0xb8, 0x53, 0xf8, 0x56, 0x6a, 0xfe, 0xa1, 0x1c, 0xcd, 0x14,
+ 0x56, 0x6f, 0xe0, 0x06, 0x6b, 0x0f, 0x96, 0xa6, 0x2a, 0xd8, 0xe1, 0x18, 0xe5, 0xf6, 0x07, 0x5e,
+ 0x6b, 0xf0, 0xd6, 0x50, 0x20, 0x85, 0xbf, 0x00, 0x15, 0x87, 0x68, 0x44, 0xa1, 0xa6, 0x2d, 0x4a,
+ 0xdc, 0x57, 0x13, 0xe6, 0x14, 0xee, 0x11, 0xad, 0x2b, 0x4c, 0x3d, 0x78, 0xff, 0x0b, 0x05, 0x90,
+ 0xf0, 0x31, 0xa8, 0x50, 0xa2, 0x5b, 0x1a, 0xa6, 0x44, 0x9c, 0x5e, 0x2c, 0xaf, 0x58, 0xed, 0x60,
+ 0x60, 0x87, 0x66, 0xff, 0x48, 0xa8, 0xf1, 0xea, 0x19, 0xe4, 0xa9, 0xbf, 0x8a, 0x02, 0x18, 0xf8,
+ 0x53, 0x50, 0x71, 0x28, 0xeb, 0xea, 0x83, 0x11, 0xaf, 0x28, 0x17, 0xb5, 0x95, 0x68, 0x1d, 0xf5,
+ 0x4c, 0x42, 0x68, 0x7f, 0x05, 0x05, 0x70, 0x70, 0x1b, 0xcc, 0xeb, 0xaa, 0x81, 0x08, 0xee, 0x8f,
+ 0xba, 0x44, 0x31, 0x8d, 0xbe, 0xc3, 0x4b, 0x51, 0xb9, 0xbd, 0x22, 0x8c, 0xe6, 0xf7, 0xe3, 0x62,
+ 0x94, 0xd4, 0x87, 0x7b, 0x60, 0xc9, 0x6f, 0xbb, 0x0f, 0x55, 0x87, 0x9a, 0xf6, 0x68, 0x4f, 0xd5,
+ 0x55, 0xca, 0x0b, 0x54, 0xb9, 0x5d, 0x1f, 0x9f, 0xaf, 0x2d, 0xa1, 0x0c, 0x39, 0xca, 0xb4, 0x62,
+ 0xb5, 0xd3, 0xc2, 0xae, 0x43, 0xfa, 0xbc, 0xe0, 0x54, 0xc2, 0xda, 0x79, 0xc8, 0x57, 0x91, 0x90,
+ 0xc2, 0x9f, 0xc4, 0xd2, 0xb4, 0x72, 0xb5, 0x34, 0xad, 0xe5, 0xa7, 0x28, 0x3c, 0x06, 0x2b, 0x96,
+ 0x6d, 0x0e, 0x6c, 0xe2, 0x38, 0x3b, 0x04, 0xf7, 0x35, 0xd5, 0x20, 0xfe, 0xc9, 0x54, 0xf9, 0x8e,
+ 0x3e, 0x1a, 0x9f, 0xaf, 0xad, 0x1c, 0x66, 0xab, 0xa0, 0x3c, 0xdb, 0xe6, 0x5f, 0x4a, 0xe0, 0x46,
+ 0xb2, 0xc7, 0xc1, 0x47, 0x00, 0x9a, 0x3d, 0x87, 0xd8, 0x43, 0xd2, 0x7f, 0xe0, 0x11, 0x37, 0xc6,
+ 0x6e, 0x24, 0xce, 0x6e, 0x82, 0x77, 0x7b, 0x90, 0xd2, 0x40, 0x19, 0x56, 0x1e, 0x3f, 0x12, 0x0f,
+ 0xa0, 0xc0, 0x03, 0x8d, 0xf0, 0xa3, 0xd4, 0x23, 0xd8, 0x06, 0xf3, 0xe2, 0xed, 0xfb, 0x42, 0x9e,
+ 0xac, 0x91, 0x7b, 0x3f, 0x8e, 0x8b, 0x51, 0x52, 0x1f, 0x3e, 0x00, 0x0b, 0x78, 0x88, 0x55, 0x0d,
+ 0xf7, 0x34, 0x12, 0x80, 0x94, 0x38, 0xc8, 0x87, 0x02, 0x64, 0x61, 0x3b, 0xa9, 0x80, 0xd2, 0x36,
+ 0x70, 0x1f, 0x2c, 0xba, 0x46, 0x1a, 0xca, 0xcb, 0xc3, 0x8f, 0x04, 0xd4, 0xe2, 0x71, 0x5a, 0x05,
+ 0x65, 0xd9, 0xc1, 0x67, 0x00, 0x28, 0x7e, 0x63, 0x76, 0xea, 0xd3, 0xbc, 0x92, 0x7e, 0x31, 0xc1,
+ 0x7b, 0x09, 0xba, 0x79, 0x58, 0xc5, 0x82, 0x25, 0x07, 0x45, 0x30, 0xe1, 0x5d, 0x30, 0x67, 0xb3,
+ 0x17, 0x10, 0x84, 0x3a, 0xc3, 0x43, 0xfd, 0x8e, 0x30, 0x9b, 0x43, 0x51, 0x21, 0x8a, 0xeb, 0xc2,
+ 0x3b, 0xa0, 0xa6, 0x98, 0x9a, 0xc6, 0x33, 0xbf, 0x63, 0xba, 0x06, 0xe5, 0xc9, 0x5b, 0x6c, 0x43,
+ 0xd6, 0x99, 0x3b, 0x31, 0x09, 0x4a, 0x68, 0x36, 0xff, 0x2c, 0x45, 0xdb, 0x8c, 0xff, 0x9c, 0xe1,
+ 0x9d, 0x18, 0xf5, 0xf9, 0x24, 0x41, 0x7d, 0x96, 0xd3, 0x16, 0x11, 0xe6, 0xa3, 0x82, 0x39, 0x96,
+ 0xfc, 0xaa, 0x31, 0xf0, 0x2e, 0x5c, 0x94, 0xc4, 0x2f, 0x2f, 0x7c, 0x4a, 0x81, 0x76, 0xa4, 0x31,
+ 0x2e, 0xf0, 0x9d, 0x47, 0x85, 0x28, 0x8e, 0xdc, 0xbc, 0x07, 0x6a, 0xf1, 0x77, 0x18, 0xe3, 0xf4,
+ 0xd2, 0xa5, 0x9c, 0xfe, 0x9d, 0x04, 0x56, 0x72, 0xbc, 0x43, 0x0d, 0xd4, 0x74, 0xfc, 0x32, 0x92,
+ 0x23, 0x97, 0x72, 0x63, 0x36, 0x35, 0xc9, 0xde, 0xd4, 0x24, 0xef, 0x1a, 0xf4, 0xc0, 0xee, 0x52,
+ 0x5b, 0x35, 0x06, 0xde, 0x3d, 0xec, 0xc7, 0xb0, 0x50, 0x02, 0x1b, 0x3e, 0x05, 0x15, 0x1d, 0xbf,
+ 0xec, 0xba, 0xf6, 0x20, 0xeb, 0xbc, 0x26, 0xf3, 0xc3, 0xfb, 0xc7, 0xbe, 0x40, 0x41, 0x01, 0x5e,
+ 0xf3, 0x00, 0xac, 0xc7, 0x36, 0xc9, 0x4a, 0x05, 0x79, 0xee, 0x6a, 0x5d, 0x12, 0x5e, 0xf8, 0xe7,
+ 0xa0, 0x6a, 0x61, 0x9b, 0xaa, 0x41, 0xb9, 0x28, 0xb7, 0xe7, 0xc6, 0xe7, 0x6b, 0xd5, 0x43, 0x7f,
+ 0x11, 0x85, 0xf2, 0xe6, 0xbf, 0x25, 0x50, 0xee, 0x2a, 0x58, 0x23, 0xd7, 0x30, 0x3a, 0xec, 0xc4,
+ 0x46, 0x87, 0x66, 0x6e, 0x12, 0xf1, 0x78, 0x72, 0xa7, 0x86, 0xbd, 0xc4, 0xd4, 0xf0, 0xf1, 0x25,
+ 0x38, 0x17, 0x0f, 0x0c, 0xb7, 0x41, 0x35, 0x70, 0x17, 0xab, 0x92, 0xd2, 0x65, 0x55, 0xb2, 0xf9,
+ 0xfb, 0x02, 0x98, 0x8d, 0xb8, 0xb8, 0x9a, 0x35, 0x3b, 0xee, 0x08, 0xd1, 0x60, 0x65, 0x68, 0x6b,
+ 0x92, 0x8d, 0xc8, 0x3e, 0xa9, 0xf0, 0xf8, 0x5b, 0xd8, 0xbd, 0xd3, 0x5c, 0xe3, 0x1e, 0xa8, 0x51,
+ 0x6c, 0x0f, 0x08, 0xf5, 0x65, 0xfc, 0xc0, 0xaa, 0x21, 0xd3, 0x3f, 0x8a, 0x49, 0x51, 0x42, 0x7b,
+ 0xf5, 0x2e, 0x98, 0x8b, 0x39, 0xbb, 0x12, 0x09, 0x7b, 0xc5, 0x0e, 0x27, 0x4c, 0xce, 0x6b, 0xc8,
+ 0xae, 0x47, 0xb1, 0xec, 0xda, 0xc8, 0x3f, 0xcc, 0xc8, 0x93, 0xc9, 0xcb, 0x31, 0x94, 0xc8, 0xb1,
+ 0xcf, 0x26, 0x42, 0xbb, 0x38, 0xd3, 0xfe, 0x24, 0x81, 0xf9, 0x88, 0xf6, 0x35, 0x4c, 0x30, 0xbb,
+ 0xf1, 0x09, 0xe6, 0xe3, 0x49, 0x36, 0x91, 0x33, 0xc2, 0xfc, 0xb5, 0x1c, 0x0b, 0xfe, 0xff, 0x9e,
+ 0x54, 0xff, 0x0a, 0x2c, 0x0d, 0x4d, 0xcd, 0xd5, 0x49, 0x47, 0xc3, 0xaa, 0xee, 0x2b, 0x30, 0x06,
+ 0x53, 0x4c, 0xfe, 0x51, 0x11, 0xc0, 0x13, 0xdb, 0x51, 0x1d, 0x4a, 0x0c, 0xfa, 0x24, 0xb4, 0x6c,
+ 0x7f, 0x57, 0x38, 0x59, 0x7a, 0x92, 0x01, 0x87, 0x32, 0x9d, 0xc0, 0x1f, 0x80, 0x59, 0x46, 0xe0,
+ 0x54, 0x85, 0xb0, 0x59, 0x50, 0x4c, 0xff, 0x8b, 0x02, 0x68, 0xb6, 0x1b, 0x8a, 0x50, 0x54, 0x0f,
+ 0x9e, 0x80, 0x45, 0xcb, 0xec, 0xef, 0x63, 0x03, 0x0f, 0x08, 0x6b, 0x7b, 0x87, 0xfc, 0x0f, 0x4d,
+ 0xce, 0xb4, 0xab, 0xed, 0x6f, 0x7c, 0xa6, 0x74, 0x98, 0x56, 0x79, 0xcf, 0x28, 0x6b, 0x7a, 0x99,
+ 0xf3, 0x80, 0x2c, 0x48, 0x68, 0x83, 0x9a, 0x2b, 0xda, 0x8f, 0x18, 0x3c, 0xbc, 0xf9, 0x7f, 0x6b,
+ 0x92, 0x0c, 0x3b, 0x8e, 0x59, 0x86, 0xd5, 0x28, 0xbe, 0x8e, 0x12, 0x1e, 0x72, 0x07, 0x89, 0xca,
+ 0x7f, 0x33, 0x48, 0x34, 0x7f, 0x53, 0x02, 0x0b, 0xa9, 0xa7, 0x0b, 0x7f, 0x74, 0x01, 0xe3, 0x5e,
+ 0xfe, 0x9f, 0xb1, 0xed, 0x14, 0x61, 0x2c, 0x5e, 0x81, 0x30, 0x6e, 0x83, 0x79, 0xc5, 0xb5, 0x6d,
+ 0x36, 0xeb, 0xc7, 0x59, 0x76, 0x40, 0xd5, 0x3b, 0x71, 0x31, 0x4a, 0xea, 0x67, 0xb1, 0xfd, 0xf2,
+ 0x15, 0xd9, 0x7e, 0x34, 0x0a, 0xc1, 0xd8, 0xbc, 0xb4, 0x4b, 0x47, 0x21, 0x88, 0x5b, 0x52, 0x9f,
+ 0x75, 0x2b, 0x0f, 0x35, 0x40, 0x98, 0x89, 0x77, 0xab, 0xe3, 0x98, 0x14, 0x25, 0xb4, 0x33, 0x98,
+ 0x73, 0x75, 0x62, 0xe6, 0xfc, 0x37, 0x09, 0x7c, 0x98, 0x9b, 0xa1, 0x70, 0x3b, 0x46, 0xa0, 0x37,
+ 0x13, 0x04, 0xfa, 0x7b, 0xb9, 0x86, 0x11, 0x1e, 0x6d, 0x67, 0xf3, 0xe8, 0xdb, 0x93, 0xf1, 0xe8,
+ 0x0c, 0x92, 0x77, 0x39, 0xa1, 0x6e, 0x6f, 0x9e, 0xbd, 0x6d, 0x4c, 0xbd, 0x7e, 0xdb, 0x98, 0x7a,
+ 0xf3, 0xb6, 0x31, 0xf5, 0xeb, 0x71, 0x43, 0x3a, 0x1b, 0x37, 0xa4, 0xd7, 0xe3, 0x86, 0xf4, 0x66,
+ 0xdc, 0x90, 0xfe, 0x31, 0x6e, 0x48, 0xbf, 0x7b, 0xd7, 0x98, 0x7a, 0x3a, 0x23, 0x3c, 0xfe, 0x27,
+ 0x00, 0x00, 0xff, 0xff, 0x72, 0x04, 0xd9, 0xa7, 0xb9, 0x19, 0x00, 0x00,
}
diff --git a/staging/src/k8s.io/api/apps/v1beta1/generated.proto b/staging/src/k8s.io/api/apps/v1beta1/generated.proto
index 0a81339d227..79f49feac03 100644
--- a/staging/src/k8s.io/api/apps/v1beta1/generated.proto
+++ b/staging/src/k8s.io/api/apps/v1beta1/generated.proto
@@ -429,6 +429,12 @@ message StatefulSetStatus {
// updateRevision, if not empty, indicates the version of the StatefulSet used to generate Pods in the sequence
// [replicas-updatedReplicas,replicas)
optional string updateRevision = 7;
+
+ // collisionCount is the count of hash collisions for the StatefulSet. The StatefulSet controller
+ // uses this field as a collision avoidance mechanism when it needs to create the name for the
+ // newest ControllerRevision.
+ // +optional
+ optional int64 collisionCount = 9;
}
// StatefulSetUpdateStrategy indicates the strategy that the StatefulSet
diff --git a/staging/src/k8s.io/api/apps/v1beta1/types.generated.go b/staging/src/k8s.io/api/apps/v1beta1/types.generated.go
index 52bd1fe32a0..faf2b8e711f 100644
--- a/staging/src/k8s.io/api/apps/v1beta1/types.generated.go
+++ b/staging/src/k8s.io/api/apps/v1beta1/types.generated.go
@@ -2419,7 +2419,7 @@ func (x *StatefulSetStatus) CodecEncodeSelf(e *codec1978.Encoder) {
} else {
yysep2 := !z.EncBinary()
yy2arr2 := z.EncBasicHandle().StructToArray
- var yyq2 [7]bool
+ var yyq2 [8]bool
_, _, _ = yysep2, yyq2, yy2arr2
const yyr2 bool = false
yyq2[0] = x.ObservedGeneration != nil
@@ -2428,9 +2428,10 @@ func (x *StatefulSetStatus) CodecEncodeSelf(e *codec1978.Encoder) {
yyq2[4] = x.UpdatedReplicas != 0
yyq2[5] = x.CurrentRevision != ""
yyq2[6] = x.UpdateRevision != ""
+ yyq2[7] = x.CollisionCount != nil
var yynn2 int
if yyr2 || yy2arr2 {
- r.EncodeArrayStart(7)
+ r.EncodeArrayStart(8)
} else {
yynn2 = 1
for _, b := range yyq2 {
@@ -2620,6 +2621,41 @@ func (x *StatefulSetStatus) CodecEncodeSelf(e *codec1978.Encoder) {
}
}
}
+ if yyr2 || yy2arr2 {
+ z.EncSendContainerState(codecSelfer_containerArrayElem1234)
+ if yyq2[7] {
+ if x.CollisionCount == nil {
+ r.EncodeNil()
+ } else {
+ yy27 := *x.CollisionCount
+ yym28 := z.EncBinary()
+ _ = yym28
+ if false {
+ } else {
+ r.EncodeInt(int64(yy27))
+ }
+ }
+ } else {
+ r.EncodeNil()
+ }
+ } else {
+ if yyq2[7] {
+ z.EncSendContainerState(codecSelfer_containerMapKey1234)
+ r.EncodeString(codecSelferC_UTF81234, string("collisionCount"))
+ z.EncSendContainerState(codecSelfer_containerMapValue1234)
+ if x.CollisionCount == nil {
+ r.EncodeNil()
+ } else {
+ yy29 := *x.CollisionCount
+ yym30 := z.EncBinary()
+ _ = yym30
+ if false {
+ } else {
+ r.EncodeInt(int64(yy29))
+ }
+ }
+ }
+ }
if yyr2 || yy2arr2 {
z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
} else {
@@ -2769,6 +2805,22 @@ func (x *StatefulSetStatus) codecDecodeSelfFromMap(l int, d *codec1978.Decoder)
*((*string)(yyv16)) = r.DecodeString()
}
}
+ case "collisionCount":
+ if r.TryDecodeAsNil() {
+ if x.CollisionCount != nil {
+ x.CollisionCount = nil
+ }
+ } else {
+ if x.CollisionCount == nil {
+ x.CollisionCount = new(int64)
+ }
+ yym19 := z.DecBinary()
+ _ = yym19
+ if false {
+ } else {
+ *((*int64)(x.CollisionCount)) = int64(r.DecodeInt(64))
+ }
+ }
default:
z.DecStructFieldNotFound(-1, yys3)
} // end switch yys3
@@ -2780,16 +2832,16 @@ func (x *StatefulSetStatus) codecDecodeSelfFromArray(l int, d *codec1978.Decoder
var h codecSelfer1234
z, r := codec1978.GenHelperDecoder(d)
_, _, _ = h, z, r
- var yyj18 int
- var yyb18 bool
- var yyhl18 bool = l >= 0
- yyj18++
- if yyhl18 {
- yyb18 = yyj18 > l
+ var yyj20 int
+ var yyb20 bool
+ var yyhl20 bool = l >= 0
+ yyj20++
+ if yyhl20 {
+ yyb20 = yyj20 > l
} else {
- yyb18 = r.CheckBreak()
+ yyb20 = r.CheckBreak()
}
- if yyb18 {
+ if yyb20 {
z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
return
}
@@ -2802,20 +2854,20 @@ func (x *StatefulSetStatus) codecDecodeSelfFromArray(l int, d *codec1978.Decoder
if x.ObservedGeneration == nil {
x.ObservedGeneration = new(int64)
}
- yym20 := z.DecBinary()
- _ = yym20
+ yym22 := z.DecBinary()
+ _ = yym22
if false {
} else {
*((*int64)(x.ObservedGeneration)) = int64(r.DecodeInt(64))
}
}
- yyj18++
- if yyhl18 {
- yyb18 = yyj18 > l
+ yyj20++
+ if yyhl20 {
+ yyb20 = yyj20 > l
} else {
- yyb18 = r.CheckBreak()
+ yyb20 = r.CheckBreak()
}
- if yyb18 {
+ if yyb20 {
z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
return
}
@@ -2823,29 +2875,7 @@ func (x *StatefulSetStatus) codecDecodeSelfFromArray(l int, d *codec1978.Decoder
if r.TryDecodeAsNil() {
x.Replicas = 0
} else {
- yyv21 := &x.Replicas
- yym22 := z.DecBinary()
- _ = yym22
- if false {
- } else {
- *((*int32)(yyv21)) = int32(r.DecodeInt(32))
- }
- }
- yyj18++
- if yyhl18 {
- yyb18 = yyj18 > l
- } else {
- yyb18 = r.CheckBreak()
- }
- if yyb18 {
- z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
- return
- }
- z.DecSendContainerState(codecSelfer_containerArrayElem1234)
- if r.TryDecodeAsNil() {
- x.ReadyReplicas = 0
- } else {
- yyv23 := &x.ReadyReplicas
+ yyv23 := &x.Replicas
yym24 := z.DecBinary()
_ = yym24
if false {
@@ -2853,21 +2883,21 @@ func (x *StatefulSetStatus) codecDecodeSelfFromArray(l int, d *codec1978.Decoder
*((*int32)(yyv23)) = int32(r.DecodeInt(32))
}
}
- yyj18++
- if yyhl18 {
- yyb18 = yyj18 > l
+ yyj20++
+ if yyhl20 {
+ yyb20 = yyj20 > l
} else {
- yyb18 = r.CheckBreak()
+ yyb20 = r.CheckBreak()
}
- if yyb18 {
+ if yyb20 {
z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
return
}
z.DecSendContainerState(codecSelfer_containerArrayElem1234)
if r.TryDecodeAsNil() {
- x.CurrentReplicas = 0
+ x.ReadyReplicas = 0
} else {
- yyv25 := &x.CurrentReplicas
+ yyv25 := &x.ReadyReplicas
yym26 := z.DecBinary()
_ = yym26
if false {
@@ -2875,21 +2905,21 @@ func (x *StatefulSetStatus) codecDecodeSelfFromArray(l int, d *codec1978.Decoder
*((*int32)(yyv25)) = int32(r.DecodeInt(32))
}
}
- yyj18++
- if yyhl18 {
- yyb18 = yyj18 > l
+ yyj20++
+ if yyhl20 {
+ yyb20 = yyj20 > l
} else {
- yyb18 = r.CheckBreak()
+ yyb20 = r.CheckBreak()
}
- if yyb18 {
+ if yyb20 {
z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
return
}
z.DecSendContainerState(codecSelfer_containerArrayElem1234)
if r.TryDecodeAsNil() {
- x.UpdatedReplicas = 0
+ x.CurrentReplicas = 0
} else {
- yyv27 := &x.UpdatedReplicas
+ yyv27 := &x.CurrentReplicas
yym28 := z.DecBinary()
_ = yym28
if false {
@@ -2897,13 +2927,35 @@ func (x *StatefulSetStatus) codecDecodeSelfFromArray(l int, d *codec1978.Decoder
*((*int32)(yyv27)) = int32(r.DecodeInt(32))
}
}
- yyj18++
- if yyhl18 {
- yyb18 = yyj18 > l
+ yyj20++
+ if yyhl20 {
+ yyb20 = yyj20 > l
} else {
- yyb18 = r.CheckBreak()
+ yyb20 = r.CheckBreak()
}
- if yyb18 {
+ if yyb20 {
+ z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
+ return
+ }
+ z.DecSendContainerState(codecSelfer_containerArrayElem1234)
+ if r.TryDecodeAsNil() {
+ x.UpdatedReplicas = 0
+ } else {
+ yyv29 := &x.UpdatedReplicas
+ yym30 := z.DecBinary()
+ _ = yym30
+ if false {
+ } else {
+ *((*int32)(yyv29)) = int32(r.DecodeInt(32))
+ }
+ }
+ yyj20++
+ if yyhl20 {
+ yyb20 = yyj20 > l
+ } else {
+ yyb20 = r.CheckBreak()
+ }
+ if yyb20 {
z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
return
}
@@ -2911,29 +2963,7 @@ func (x *StatefulSetStatus) codecDecodeSelfFromArray(l int, d *codec1978.Decoder
if r.TryDecodeAsNil() {
x.CurrentRevision = ""
} else {
- yyv29 := &x.CurrentRevision
- yym30 := z.DecBinary()
- _ = yym30
- if false {
- } else {
- *((*string)(yyv29)) = r.DecodeString()
- }
- }
- yyj18++
- if yyhl18 {
- yyb18 = yyj18 > l
- } else {
- yyb18 = r.CheckBreak()
- }
- if yyb18 {
- z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
- return
- }
- z.DecSendContainerState(codecSelfer_containerArrayElem1234)
- if r.TryDecodeAsNil() {
- x.UpdateRevision = ""
- } else {
- yyv31 := &x.UpdateRevision
+ yyv31 := &x.CurrentRevision
yym32 := z.DecBinary()
_ = yym32
if false {
@@ -2941,18 +2971,66 @@ func (x *StatefulSetStatus) codecDecodeSelfFromArray(l int, d *codec1978.Decoder
*((*string)(yyv31)) = r.DecodeString()
}
}
- for {
- yyj18++
- if yyhl18 {
- yyb18 = yyj18 > l
+ yyj20++
+ if yyhl20 {
+ yyb20 = yyj20 > l
+ } else {
+ yyb20 = r.CheckBreak()
+ }
+ if yyb20 {
+ z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
+ return
+ }
+ z.DecSendContainerState(codecSelfer_containerArrayElem1234)
+ if r.TryDecodeAsNil() {
+ x.UpdateRevision = ""
+ } else {
+ yyv33 := &x.UpdateRevision
+ yym34 := z.DecBinary()
+ _ = yym34
+ if false {
} else {
- yyb18 = r.CheckBreak()
+ *((*string)(yyv33)) = r.DecodeString()
}
- if yyb18 {
+ }
+ yyj20++
+ if yyhl20 {
+ yyb20 = yyj20 > l
+ } else {
+ yyb20 = r.CheckBreak()
+ }
+ if yyb20 {
+ z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
+ return
+ }
+ z.DecSendContainerState(codecSelfer_containerArrayElem1234)
+ if r.TryDecodeAsNil() {
+ if x.CollisionCount != nil {
+ x.CollisionCount = nil
+ }
+ } else {
+ if x.CollisionCount == nil {
+ x.CollisionCount = new(int64)
+ }
+ yym36 := z.DecBinary()
+ _ = yym36
+ if false {
+ } else {
+ *((*int64)(x.CollisionCount)) = int64(r.DecodeInt(64))
+ }
+ }
+ for {
+ yyj20++
+ if yyhl20 {
+ yyb20 = yyj20 > l
+ } else {
+ yyb20 = r.CheckBreak()
+ }
+ if yyb20 {
break
}
z.DecSendContainerState(codecSelfer_containerArrayElem1234)
- z.DecStructFieldNotFound(yyj18-1, "")
+ z.DecStructFieldNotFound(yyj20-1, "")
}
z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}
@@ -7976,7 +8054,7 @@ func (x codecSelfer1234) decSliceStatefulSet(v *[]StatefulSet, d *codec1978.Deco
yyrg1 := len(yyv1) > 0
yyv21 := yyv1
- yyrl1, yyrt1 = z.DecInferLen(yyl1, z.DecBasicHandle().MaxInitLen, 1008)
+ yyrl1, yyrt1 = z.DecInferLen(yyl1, z.DecBasicHandle().MaxInitLen, 1016)
if yyrt1 {
if yyrl1 <= cap(yyv1) {
yyv1 = yyv1[:yyrl1]
diff --git a/staging/src/k8s.io/api/apps/v1beta1/types.go b/staging/src/k8s.io/api/apps/v1beta1/types.go
index f447c71be5a..6ff3f8fdee1 100644
--- a/staging/src/k8s.io/api/apps/v1beta1/types.go
+++ b/staging/src/k8s.io/api/apps/v1beta1/types.go
@@ -239,6 +239,12 @@ type StatefulSetStatus struct {
// updateRevision, if not empty, indicates the version of the StatefulSet used to generate Pods in the sequence
// [replicas-updatedReplicas,replicas)
UpdateRevision string `json:"updateRevision,omitempty" protobuf:"bytes,7,opt,name=updateRevision"`
+
+ // collisionCount is the count of hash collisions for the StatefulSet. The StatefulSet controller
+ // uses this field as a collision avoidance mechanism when it needs to create the name for the
+ // newest ControllerRevision.
+ // +optional
+ CollisionCount *int64 `json:"collisionCount,omitempty" protobuf:"varint,9,opt,name=collisionCount"`
}
// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object
diff --git a/staging/src/k8s.io/api/apps/v1beta1/types_swagger_doc_generated.go b/staging/src/k8s.io/api/apps/v1beta1/types_swagger_doc_generated.go
index a4ea771081d..741d9bf74d0 100644
--- a/staging/src/k8s.io/api/apps/v1beta1/types_swagger_doc_generated.go
+++ b/staging/src/k8s.io/api/apps/v1beta1/types_swagger_doc_generated.go
@@ -239,6 +239,7 @@ var map_StatefulSetStatus = map[string]string{
"updatedReplicas": "updatedReplicas is the number of Pods created by the StatefulSet controller from the StatefulSet version indicated by updateRevision.",
"currentRevision": "currentRevision, if not empty, indicates the version of the StatefulSet used to generate Pods in the sequence [0,currentReplicas).",
"updateRevision": "updateRevision, if not empty, indicates the version of the StatefulSet used to generate Pods in the sequence [replicas-updatedReplicas,replicas)",
+ "collisionCount": "collisionCount is the count of hash collisions for the StatefulSet. The StatefulSet controller uses this field as a collision avoidance mechanism when it needs to create the name for the newest ControllerRevision.",
}
func (StatefulSetStatus) SwaggerDoc() map[string]string {
diff --git a/staging/src/k8s.io/api/apps/v1beta1/zz_generated.deepcopy.go b/staging/src/k8s.io/api/apps/v1beta1/zz_generated.deepcopy.go
index 0531f834e73..4ee37fe9636 100644
--- a/staging/src/k8s.io/api/apps/v1beta1/zz_generated.deepcopy.go
+++ b/staging/src/k8s.io/api/apps/v1beta1/zz_generated.deepcopy.go
@@ -689,6 +689,15 @@ func (in *StatefulSetStatus) DeepCopyInto(out *StatefulSetStatus) {
**out = **in
}
}
+ if in.CollisionCount != nil {
+ in, out := &in.CollisionCount, &out.CollisionCount
+ if *in == nil {
+ *out = nil
+ } else {
+ *out = new(int64)
+ **out = **in
+ }
+ }
return
}
diff --git a/staging/src/k8s.io/api/apps/v1beta2/generated.pb.go b/staging/src/k8s.io/api/apps/v1beta2/generated.pb.go
index 95ca19bac2a..9597fb92213 100644
--- a/staging/src/k8s.io/api/apps/v1beta2/generated.pb.go
+++ b/staging/src/k8s.io/api/apps/v1beta2/generated.pb.go
@@ -1327,6 +1327,11 @@ func (m *StatefulSetStatus) MarshalTo(dAtA []byte) (int, error) {
i++
i = encodeVarintGenerated(dAtA, i, uint64(len(m.UpdateRevision)))
i += copy(dAtA[i:], m.UpdateRevision)
+ if m.CollisionCount != nil {
+ dAtA[i] = 0x48
+ i++
+ i = encodeVarintGenerated(dAtA, i, uint64(*m.CollisionCount))
+ }
return i, nil
}
@@ -1777,6 +1782,9 @@ func (m *StatefulSetStatus) Size() (n int) {
n += 1 + l + sovGenerated(uint64(l))
l = len(m.UpdateRevision)
n += 1 + l + sovGenerated(uint64(l))
+ if m.CollisionCount != nil {
+ n += 1 + sovGenerated(uint64(*m.CollisionCount))
+ }
return n
}
@@ -2147,6 +2155,7 @@ func (this *StatefulSetStatus) String() string {
`UpdatedReplicas:` + fmt.Sprintf("%v", this.UpdatedReplicas) + `,`,
`CurrentRevision:` + fmt.Sprintf("%v", this.CurrentRevision) + `,`,
`UpdateRevision:` + fmt.Sprintf("%v", this.UpdateRevision) + `,`,
+ `CollisionCount:` + valueToStringGenerated(this.CollisionCount) + `,`,
`}`,
}, "")
return s
@@ -6174,6 +6183,26 @@ func (m *StatefulSetStatus) Unmarshal(dAtA []byte) error {
}
m.UpdateRevision = string(dAtA[iNdEx:postIndex])
iNdEx = postIndex
+ case 9:
+ if wireType != 0 {
+ return fmt.Errorf("proto: wrong wireType = %d for field CollisionCount", wireType)
+ }
+ var v int64
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return ErrIntOverflowGenerated
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ v |= (int64(b) & 0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ m.CollisionCount = &v
default:
iNdEx = preIndex
skippy, err := skipGenerated(dAtA[iNdEx:])
@@ -6417,133 +6446,134 @@ func init() {
}
var fileDescriptorGenerated = []byte{
- // 2048 bytes of a gzipped FileDescriptorProto
+ // 2050 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xdc, 0x59, 0xcb, 0x6f, 0x1c, 0xb7,
- 0x19, 0xf7, 0xec, 0x43, 0xda, 0xa5, 0x22, 0xc9, 0xa6, 0x54, 0x69, 0x23, 0xb7, 0x2b, 0x61, 0x12,
+ 0x19, 0xf7, 0xec, 0x43, 0xda, 0xa5, 0x22, 0xc9, 0xa6, 0x54, 0x69, 0x23, 0xb7, 0x2b, 0x61, 0x13,
0x38, 0x72, 0x1c, 0xcf, 0xda, 0xca, 0x03, 0x89, 0x0d, 0xb4, 0xd5, 0x4a, 0xad, 0xed, 0x40, 0x92,
- 0x15, 0x4a, 0x32, 0xd0, 0xa0, 0x05, 0x4c, 0xed, 0xd2, 0xab, 0x89, 0xe6, 0x85, 0x19, 0xce, 0x22,
- 0x8b, 0x5e, 0x7a, 0x2a, 0x50, 0xa0, 0x40, 0x73, 0xee, 0x3f, 0xd1, 0x9e, 0x8a, 0xa2, 0xbd, 0x15,
- 0x45, 0xe1, 0x4b, 0x81, 0xa0, 0x3d, 0x24, 0x27, 0xa1, 0xde, 0x1c, 0xfb, 0x1f, 0x04, 0x28, 0x50,
- 0x90, 0xc3, 0x79, 0x70, 0x1e, 0xd6, 0x48, 0xb5, 0xd5, 0x20, 0xb7, 0x5d, 0x7e, 0xbf, 0xef, 0xc7,
- 0x8f, 0xe4, 0x47, 0x7e, 0x3f, 0x72, 0xc0, 0x0f, 0x8f, 0xdf, 0xf7, 0x34, 0xdd, 0xee, 0x1c, 0xfb,
- 0x87, 0xc4, 0xb5, 0x08, 0x25, 0x5e, 0x67, 0x48, 0xac, 0xbe, 0xed, 0x76, 0x84, 0x01, 0x3b, 0x7a,
- 0x07, 0x3b, 0x8e, 0xd7, 0x19, 0xde, 0x3e, 0x24, 0x14, 0xaf, 0x75, 0x06, 0xc4, 0x22, 0x2e, 0xa6,
- 0xa4, 0xaf, 0x39, 0xae, 0x4d, 0x6d, 0xb8, 0x18, 0x00, 0x35, 0xec, 0xe8, 0x1a, 0x03, 0x6a, 0x02,
- 0xb8, 0x74, 0x73, 0xa0, 0xd3, 0x23, 0xff, 0x50, 0xeb, 0xd9, 0x66, 0x67, 0x60, 0x0f, 0xec, 0x0e,
- 0xc7, 0x1f, 0xfa, 0x4f, 0xf8, 0x3f, 0xfe, 0x87, 0xff, 0x0a, 0x78, 0x96, 0xd4, 0x44, 0x87, 0x3d,
- 0xdb, 0x25, 0x9d, 0xe1, 0xed, 0x74, 0x5f, 0x4b, 0xd7, 0x13, 0x18, 0xc7, 0x36, 0xf4, 0xde, 0x48,
- 0x84, 0x95, 0x85, 0xbe, 0x13, 0x43, 0x4d, 0xdc, 0x3b, 0xd2, 0x2d, 0xe2, 0x8e, 0x3a, 0xce, 0xf1,
- 0x80, 0x35, 0x78, 0x1d, 0x93, 0x50, 0x9c, 0xd7, 0x41, 0xa7, 0xc8, 0xcb, 0xf5, 0x2d, 0xaa, 0x9b,
- 0x24, 0xe3, 0xf0, 0xde, 0x69, 0x0e, 0x5e, 0xef, 0x88, 0x98, 0x38, 0xe3, 0xf7, 0x76, 0x91, 0x9f,
- 0x4f, 0x75, 0xa3, 0xa3, 0x5b, 0xd4, 0xa3, 0x6e, 0xda, 0x49, 0xfd, 0x55, 0x05, 0x34, 0x37, 0x31,
- 0x31, 0x6d, 0x6b, 0x8f, 0x50, 0xf8, 0x18, 0x34, 0xd8, 0x30, 0xfa, 0x98, 0xe2, 0x96, 0xb2, 0xa2,
- 0xac, 0x4e, 0xad, 0xdd, 0xd2, 0xe2, 0xb5, 0x88, 0x58, 0x35, 0xe7, 0x78, 0xc0, 0x1a, 0x3c, 0x8d,
- 0xa1, 0xb5, 0xe1, 0x6d, 0xed, 0xe1, 0xe1, 0x27, 0xa4, 0x47, 0xb7, 0x09, 0xc5, 0x5d, 0xf8, 0xf4,
- 0x64, 0xf9, 0xd2, 0xf8, 0x64, 0x19, 0xc4, 0x6d, 0x28, 0x62, 0x85, 0xf7, 0x41, 0xcd, 0x73, 0x48,
- 0xaf, 0x55, 0xe1, 0xec, 0xd7, 0xb4, 0x82, 0x95, 0xd6, 0xa2, 0x98, 0xf6, 0x1c, 0xd2, 0xeb, 0xbe,
- 0x22, 0x38, 0x6b, 0xec, 0x1f, 0xe2, 0x0c, 0x70, 0x17, 0x4c, 0x78, 0x14, 0x53, 0xdf, 0x6b, 0x55,
- 0x39, 0xd7, 0x6a, 0x09, 0x2e, 0x8e, 0xef, 0xce, 0x08, 0xb6, 0x89, 0xe0, 0x3f, 0x12, 0x3c, 0xea,
- 0x1f, 0x14, 0x30, 0x1d, 0x61, 0xb7, 0x74, 0x8f, 0xc2, 0x9f, 0x66, 0xe6, 0x43, 0x2b, 0x37, 0x1f,
- 0xcc, 0x9b, 0xcf, 0xc6, 0x65, 0xd1, 0x57, 0x23, 0x6c, 0x49, 0xcc, 0xc5, 0x3d, 0x50, 0xd7, 0x29,
- 0x31, 0xbd, 0x56, 0x65, 0xa5, 0xba, 0x3a, 0xb5, 0xa6, 0x9e, 0x3e, 0x80, 0xee, 0xb4, 0xa0, 0xab,
- 0x3f, 0x60, 0x8e, 0x28, 0xf0, 0x57, 0x3f, 0xab, 0x25, 0x02, 0x67, 0x53, 0x04, 0x7f, 0x06, 0x1a,
- 0x1e, 0x31, 0x48, 0x8f, 0xda, 0xae, 0x08, 0xfc, 0xed, 0x92, 0x81, 0xe3, 0x43, 0x62, 0xec, 0x09,
- 0xd7, 0xee, 0x2b, 0x2c, 0xf2, 0xf0, 0x1f, 0x8a, 0x28, 0xe1, 0x47, 0xa0, 0x41, 0x89, 0xe9, 0x18,
- 0x98, 0x12, 0xb1, 0x92, 0xaf, 0x25, 0x83, 0x67, 0x7b, 0x8d, 0x91, 0xed, 0xda, 0xfd, 0x7d, 0x01,
- 0xe3, 0xcb, 0x18, 0x4d, 0x46, 0xd8, 0x8a, 0x22, 0x1a, 0xe8, 0x80, 0x19, 0xdf, 0xe9, 0x33, 0x24,
- 0x65, 0xf9, 0x39, 0x18, 0x89, 0x65, 0xbd, 0x75, 0xfa, 0xac, 0x1c, 0x48, 0x7e, 0xdd, 0x05, 0xd1,
- 0xcb, 0x8c, 0xdc, 0x8e, 0x52, 0xfc, 0x70, 0x1d, 0xcc, 0x9a, 0xba, 0x85, 0x08, 0xee, 0x8f, 0xf6,
- 0x48, 0xcf, 0xb6, 0xfa, 0x5e, 0xab, 0xb6, 0xa2, 0xac, 0xd6, 0xbb, 0x8b, 0x82, 0x60, 0x76, 0x5b,
- 0x36, 0xa3, 0x34, 0x1e, 0x7e, 0x08, 0x60, 0x38, 0x80, 0x7b, 0xc1, 0xc6, 0xd2, 0x6d, 0xab, 0x55,
- 0x5f, 0x51, 0x56, 0xab, 0xdd, 0x25, 0xc1, 0x02, 0xf7, 0x33, 0x08, 0x94, 0xe3, 0x05, 0xb7, 0xc0,
- 0xbc, 0x4b, 0x86, 0xba, 0xa7, 0xdb, 0xd6, 0x7d, 0xdd, 0xa3, 0xb6, 0x3b, 0xda, 0xd2, 0x4d, 0x9d,
- 0xb6, 0x26, 0x78, 0x4c, 0xad, 0xf1, 0xc9, 0xf2, 0x3c, 0xca, 0xb1, 0xa3, 0x5c, 0x2f, 0xf5, 0xf7,
- 0x75, 0x30, 0x9b, 0xca, 0x7b, 0xf8, 0x08, 0x2c, 0xf4, 0x7c, 0xd7, 0x25, 0x16, 0xdd, 0xf1, 0xcd,
- 0x43, 0xe2, 0xee, 0xf5, 0x8e, 0x48, 0xdf, 0x37, 0x48, 0x9f, 0xa7, 0x48, 0xbd, 0xdb, 0x16, 0x11,
- 0x2f, 0x6c, 0xe4, 0xa2, 0x50, 0x81, 0x37, 0x9b, 0x05, 0x8b, 0x37, 0x6d, 0xeb, 0x9e, 0x17, 0x71,
- 0x56, 0x38, 0x67, 0x34, 0x0b, 0x3b, 0x19, 0x04, 0xca, 0xf1, 0x62, 0x31, 0xf6, 0x89, 0xa7, 0xbb,
- 0xa4, 0x9f, 0x8e, 0xb1, 0x2a, 0xc7, 0xb8, 0x99, 0x8b, 0x42, 0x05, 0xde, 0xf0, 0x5d, 0x30, 0x15,
- 0xf4, 0xc6, 0xd7, 0x4f, 0x2c, 0xf4, 0x9c, 0x20, 0x9b, 0xda, 0x89, 0x4d, 0x28, 0x89, 0x63, 0x43,
- 0xb3, 0x0f, 0x3d, 0xe2, 0x0e, 0x49, 0xbf, 0x78, 0x81, 0x1f, 0x66, 0x10, 0x28, 0xc7, 0x8b, 0x0d,
- 0x2d, 0xc8, 0xc0, 0xcc, 0xd0, 0x26, 0xe4, 0xa1, 0x1d, 0xe4, 0xa2, 0x50, 0x81, 0x37, 0xcb, 0xe3,
- 0x20, 0xe4, 0xf5, 0x21, 0xd6, 0x0d, 0x7c, 0x68, 0x90, 0xd6, 0xa4, 0x9c, 0xc7, 0x3b, 0xb2, 0x19,
- 0xa5, 0xf1, 0xf0, 0x1e, 0xb8, 0x12, 0x34, 0x1d, 0x58, 0x38, 0x22, 0x69, 0x70, 0x92, 0x57, 0x05,
- 0xc9, 0x95, 0x9d, 0x34, 0x00, 0x65, 0x7d, 0xe0, 0x1d, 0x30, 0xd3, 0xb3, 0x0d, 0x83, 0xe7, 0xe3,
- 0x86, 0xed, 0x5b, 0xb4, 0xd5, 0xe4, 0x73, 0x05, 0xd9, 0x7e, 0xdc, 0x90, 0x2c, 0x28, 0x85, 0x54,
- 0xff, 0xaa, 0x80, 0xc5, 0x82, 0x3d, 0x0d, 0x7f, 0x00, 0x6a, 0x74, 0xe4, 0x10, 0x9e, 0xa8, 0xcd,
- 0xee, 0x8d, 0xb0, 0x1c, 0xec, 0x8f, 0x1c, 0xf2, 0xf5, 0xc9, 0xf2, 0xd5, 0x02, 0x37, 0x66, 0x46,
- 0xdc, 0x11, 0x1e, 0x81, 0x69, 0x97, 0x75, 0x67, 0x0d, 0x02, 0x88, 0x38, 0xb6, 0x3a, 0x85, 0xa7,
- 0x0b, 0x4a, 0xa2, 0xe3, 0x03, 0xf8, 0xca, 0xf8, 0x64, 0x79, 0x5a, 0xb2, 0x21, 0x99, 0x58, 0xfd,
- 0x75, 0x05, 0x80, 0x4d, 0xe2, 0x18, 0xf6, 0xc8, 0x24, 0xd6, 0x45, 0x94, 0xd4, 0x07, 0x52, 0x49,
- 0x7d, 0xa3, 0xf8, 0xbc, 0x8c, 0x82, 0x2a, 0xac, 0xa9, 0x1f, 0xa5, 0x6a, 0xea, 0xf5, 0x32, 0x64,
- 0xcf, 0x2f, 0xaa, 0x5f, 0x54, 0xc1, 0x5c, 0x0c, 0xde, 0xb0, 0xad, 0xbe, 0xce, 0x77, 0xc3, 0x5d,
- 0x69, 0x45, 0xdf, 0x48, 0xad, 0xe8, 0x62, 0x8e, 0x4b, 0x62, 0x35, 0xb7, 0xa2, 0x38, 0x2b, 0xdc,
- 0xfd, 0x1d, 0xb9, 0xf3, 0xaf, 0x4f, 0x96, 0x73, 0xa4, 0x9f, 0x16, 0x31, 0xc9, 0x21, 0xc2, 0x6b,
- 0x60, 0xc2, 0x25, 0xd8, 0xb3, 0x2d, 0x7e, 0x2c, 0x34, 0xe3, 0xa1, 0x20, 0xde, 0x8a, 0x84, 0x15,
- 0x5e, 0x07, 0x93, 0x26, 0xf1, 0x3c, 0x3c, 0x20, 0xfc, 0x04, 0x68, 0x76, 0x67, 0x05, 0x70, 0x72,
- 0x3b, 0x68, 0x46, 0xa1, 0x1d, 0x7e, 0x02, 0x66, 0x0c, 0xec, 0x89, 0x74, 0xdc, 0xd7, 0x4d, 0xc2,
- 0xf7, 0xf8, 0xd4, 0xda, 0x9b, 0xe5, 0xd6, 0x9e, 0x79, 0xc4, 0x75, 0x6c, 0x4b, 0x62, 0x42, 0x29,
- 0x66, 0x38, 0x04, 0x90, 0xb5, 0xec, 0xbb, 0xd8, 0xf2, 0x82, 0x89, 0x62, 0xfd, 0x4d, 0x9e, 0xb9,
- 0xbf, 0xe8, 0x3c, 0xdb, 0xca, 0xb0, 0xa1, 0x9c, 0x1e, 0xd4, 0x3f, 0x2a, 0x60, 0x26, 0x5e, 0xa6,
- 0x0b, 0xd0, 0x4b, 0xf7, 0x65, 0xbd, 0xf4, 0x5a, 0x89, 0xe4, 0x2c, 0x10, 0x4c, 0x5f, 0xd4, 0x92,
- 0xa1, 0x73, 0xc5, 0xb4, 0x0a, 0x1a, 0x2e, 0x71, 0x0c, 0xbd, 0x87, 0x3d, 0x51, 0x0e, 0xb9, 0xf8,
- 0x41, 0xa2, 0x0d, 0x45, 0x56, 0x49, 0x5b, 0x55, 0x5e, 0xae, 0xb6, 0xaa, 0xbe, 0x18, 0x6d, 0xf5,
- 0x13, 0xd0, 0xf0, 0x42, 0x55, 0x55, 0xe3, 0x94, 0x37, 0x4a, 0x6d, 0x6c, 0x21, 0xa8, 0x22, 0xea,
- 0x48, 0x4a, 0x45, 0x74, 0x79, 0x22, 0xaa, 0x7e, 0x46, 0x11, 0xf5, 0x42, 0x85, 0x0f, 0xdb, 0xcc,
- 0x0e, 0xf6, 0x3d, 0xd2, 0xe7, 0x3b, 0xa0, 0x11, 0x6f, 0xe6, 0x5d, 0xde, 0x8a, 0x84, 0x15, 0x1e,
- 0x80, 0x45, 0xc7, 0xb5, 0x07, 0x2e, 0xf1, 0xbc, 0x4d, 0x82, 0xfb, 0x86, 0x6e, 0x91, 0x70, 0x00,
- 0x4d, 0xde, 0xf1, 0xd5, 0xf1, 0xc9, 0xf2, 0xe2, 0x6e, 0x3e, 0x04, 0x15, 0xf9, 0xaa, 0x7f, 0xa9,
- 0x81, 0xcb, 0xe9, 0xb3, 0xb1, 0x40, 0x45, 0x28, 0xe7, 0x52, 0x11, 0x6f, 0x25, 0xf2, 0x34, 0x90,
- 0x58, 0xd1, 0xf2, 0xe4, 0xe4, 0xea, 0x3a, 0x98, 0x15, 0xaa, 0x21, 0x34, 0x0a, 0x1d, 0x15, 0x2d,
- 0xcf, 0x81, 0x6c, 0x46, 0x69, 0x3c, 0xd3, 0x06, 0x71, 0xc9, 0x0f, 0x49, 0x6a, 0xb2, 0x36, 0x58,
- 0x4f, 0x03, 0x50, 0xd6, 0x07, 0x6e, 0x83, 0x39, 0xdf, 0xca, 0x52, 0x05, 0xe9, 0x72, 0x55, 0x50,
- 0xcd, 0x1d, 0x64, 0x21, 0x28, 0xcf, 0x0f, 0x3e, 0x06, 0xa0, 0x17, 0x1e, 0xe8, 0x5e, 0x6b, 0x82,
- 0x1f, 0x09, 0x6f, 0x95, 0x48, 0xeb, 0xa8, 0x0a, 0xc4, 0x65, 0x35, 0x6a, 0xf2, 0x50, 0x82, 0x13,
- 0xde, 0x05, 0xd3, 0x2e, 0x97, 0x84, 0x61, 0xa8, 0x81, 0xac, 0xfa, 0x8e, 0x70, 0x9b, 0x46, 0x49,
- 0x23, 0x92, 0xb1, 0x39, 0x4a, 0xa8, 0x51, 0x5a, 0x09, 0xfd, 0x59, 0x01, 0x30, 0xbb, 0x0f, 0xe1,
- 0x1d, 0xa9, 0x64, 0x5e, 0x4b, 0x95, 0xcc, 0x85, 0xac, 0x47, 0xa2, 0x62, 0xea, 0xf9, 0xfa, 0xe7,
- 0x56, 0x49, 0xfd, 0x13, 0x1f, 0xa8, 0xe5, 0x04, 0x90, 0x98, 0x86, 0x8b, 0x79, 0x53, 0x28, 0x2b,
- 0x80, 0xe2, 0xa0, 0x5e, 0x80, 0x00, 0x4a, 0x90, 0x3d, 0x5f, 0x00, 0xfd, 0xbb, 0x02, 0xe6, 0x62,
- 0x70, 0x69, 0x01, 0x94, 0xe3, 0xf2, 0xd2, 0x04, 0x50, 0xbe, 0x82, 0xa8, 0xbe, 0x6c, 0x05, 0xf1,
- 0x12, 0x84, 0x17, 0x17, 0x25, 0xf1, 0xd4, 0x7d, 0x93, 0x44, 0x49, 0x1c, 0x55, 0x81, 0x28, 0xf9,
- 0x5d, 0x25, 0x19, 0xfa, 0xb7, 0x5e, 0x94, 0xfc, 0xef, 0xcf, 0x2f, 0xea, 0xdf, 0xaa, 0xe0, 0x72,
- 0x7a, 0x1f, 0x4a, 0x05, 0x52, 0x39, 0xb5, 0x40, 0xee, 0x82, 0xf9, 0x27, 0xbe, 0x61, 0x8c, 0xf8,
- 0x34, 0x24, 0xaa, 0x64, 0x50, 0x5a, 0xbf, 0x2b, 0x3c, 0xe7, 0x7f, 0x9c, 0x83, 0x41, 0xb9, 0x9e,
- 0x05, 0xc5, 0xbe, 0x7a, 0xae, 0x62, 0x9f, 0xa9, 0x40, 0xb5, 0x33, 0x54, 0xa0, 0xdc, 0xc2, 0x5d,
- 0x3f, 0x47, 0xe1, 0x3e, 0x5b, 0xa5, 0xcd, 0x39, 0xb8, 0x4e, 0xab, 0xb4, 0xea, 0x2f, 0x15, 0xb0,
- 0x90, 0x7f, 0xe1, 0x86, 0x06, 0x98, 0x31, 0xf1, 0xa7, 0xc9, 0x77, 0x89, 0xd3, 0x8a, 0x88, 0x4f,
- 0x75, 0x43, 0x0b, 0x9e, 0xbb, 0xb5, 0x07, 0x16, 0x7d, 0xe8, 0xee, 0x51, 0x57, 0xb7, 0x06, 0x41,
- 0xe5, 0xdd, 0x96, 0xb8, 0x50, 0x8a, 0x5b, 0xfd, 0x4a, 0x01, 0x8b, 0x05, 0x95, 0xef, 0x62, 0x23,
- 0x81, 0x1f, 0x83, 0x86, 0x89, 0x3f, 0xdd, 0xf3, 0xdd, 0x41, 0x5e, 0xad, 0x2e, 0xd7, 0x0f, 0xdf,
- 0xcd, 0xdb, 0x82, 0x05, 0x45, 0x7c, 0xea, 0x43, 0xb0, 0x22, 0x0d, 0x92, 0xed, 0x1c, 0xf2, 0xc4,
- 0x37, 0xf8, 0x26, 0x12, 0x62, 0xe3, 0x06, 0x68, 0x3a, 0xd8, 0xa5, 0x7a, 0x24, 0x55, 0xeb, 0xdd,
- 0xe9, 0xf1, 0xc9, 0x72, 0x73, 0x37, 0x6c, 0x44, 0xb1, 0x5d, 0xfd, 0x8f, 0x02, 0xea, 0x7b, 0x3d,
- 0x6c, 0x90, 0x0b, 0xa8, 0xf6, 0x9b, 0x52, 0xb5, 0x2f, 0x7e, 0x34, 0xe7, 0xf1, 0x14, 0x16, 0xfa,
- 0xad, 0x54, 0xa1, 0x7f, 0xfd, 0x14, 0x9e, 0xe7, 0xd7, 0xf8, 0x0f, 0x40, 0x33, 0xea, 0xee, 0x6c,
- 0x07, 0x90, 0xfa, 0xdb, 0x0a, 0x98, 0x4a, 0x74, 0x71, 0xc6, 0xe3, 0xeb, 0xb1, 0x74, 0xec, 0xb3,
- 0x8d, 0xb9, 0x56, 0x66, 0x20, 0x5a, 0x78, 0xc4, 0xff, 0xc8, 0xa2, 0x6e, 0xf2, 0x82, 0x97, 0x3d,
- 0xf9, 0xbf, 0x0f, 0x66, 0x28, 0x76, 0x07, 0x84, 0x86, 0x36, 0x3e, 0x61, 0xcd, 0xf8, 0x75, 0x62,
- 0x5f, 0xb2, 0xa2, 0x14, 0x7a, 0xe9, 0x2e, 0x98, 0x96, 0x3a, 0x83, 0x97, 0x41, 0xf5, 0x98, 0x8c,
- 0x02, 0xd9, 0x83, 0xd8, 0x4f, 0x38, 0x0f, 0xea, 0x43, 0x6c, 0xf8, 0x41, 0x9e, 0x37, 0x51, 0xf0,
- 0xe7, 0x4e, 0xe5, 0x7d, 0x45, 0xfd, 0x0d, 0x9b, 0x9c, 0x38, 0x39, 0x2f, 0x20, 0xbb, 0x3e, 0x94,
- 0xb2, 0xab, 0xf8, 0x9b, 0x52, 0x72, 0xcb, 0x14, 0xe5, 0x18, 0x4a, 0xe5, 0xd8, 0x9b, 0xa5, 0xd8,
- 0x9e, 0x9f, 0x69, 0x7f, 0x52, 0xc0, 0x6c, 0x02, 0x7d, 0x01, 0x02, 0xe7, 0x81, 0x2c, 0x70, 0x5e,
- 0x2f, 0x33, 0x88, 0x02, 0x85, 0xf3, 0xf7, 0xba, 0x14, 0xfc, 0xb7, 0x5e, 0xe2, 0xfc, 0x1c, 0xcc,
- 0x0f, 0x6d, 0xc3, 0x37, 0xc9, 0x86, 0x81, 0x75, 0x33, 0x04, 0xb0, 0x2a, 0x5e, 0x4d, 0xdf, 0x2d,
- 0x22, 0x7a, 0xe2, 0x7a, 0xba, 0x47, 0x89, 0x45, 0x1f, 0xc5, 0x9e, 0xb1, 0x0e, 0x79, 0x94, 0x43,
- 0x87, 0x72, 0x3b, 0x81, 0xef, 0x82, 0x29, 0xa6, 0x27, 0xf4, 0x1e, 0xd9, 0xc1, 0x66, 0x28, 0x9c,
- 0xa3, 0x2f, 0x1e, 0x7b, 0xb1, 0x09, 0x25, 0x71, 0xf0, 0x08, 0xcc, 0x39, 0x76, 0x7f, 0x1b, 0x5b,
- 0x78, 0x40, 0x58, 0xd9, 0xdb, 0xe5, 0xdf, 0xc4, 0xf9, 0x63, 0x4c, 0xb3, 0xfb, 0x5e, 0x78, 0x4b,
- 0xdf, 0xcd, 0x42, 0xd8, 0xa5, 0x25, 0xa7, 0x99, 0x5f, 0x5a, 0xf2, 0x28, 0xa1, 0x9b, 0xf9, 0xe2,
- 0x17, 0xbc, 0x59, 0xae, 0x95, 0xc9, 0xb0, 0x73, 0x7e, 0xf3, 0x2b, 0x7a, 0x6b, 0x6a, 0x9c, 0xeb,
- 0x23, 0xdb, 0x3f, 0xab, 0xe0, 0x4a, 0x66, 0xeb, 0xfe, 0x1f, 0x5f, 0x7b, 0x32, 0x72, 0xb1, 0x7a,
- 0x06, 0xb9, 0xb8, 0x0e, 0x66, 0xc5, 0xf7, 0xbd, 0x94, 0xda, 0x8c, 0xf4, 0xf8, 0x86, 0x6c, 0x46,
- 0x69, 0x7c, 0xde, 0x6b, 0x53, 0xfd, 0x8c, 0xaf, 0x4d, 0xc9, 0x28, 0x82, 0x19, 0x17, 0xa9, 0x97,
- 0x8d, 0x22, 0x30, 0xa3, 0x34, 0x9e, 0x55, 0xac, 0x80, 0x35, 0x62, 0x98, 0x94, 0x2b, 0xd6, 0x81,
- 0x64, 0x45, 0x29, 0xb4, 0xfa, 0x0f, 0x05, 0xbc, 0x5a, 0x98, 0x69, 0x70, 0x5d, 0xba, 0xb6, 0xdf,
- 0x4c, 0x5d, 0xdb, 0xbf, 0x57, 0xe8, 0x98, 0xb8, 0xbc, 0xbb, 0xf9, 0x6f, 0x31, 0x1f, 0x94, 0x7b,
- 0x8b, 0xc9, 0x11, 0x6b, 0xa7, 0x3f, 0xca, 0x74, 0x6f, 0x3e, 0x7d, 0xd6, 0xbe, 0xf4, 0xf9, 0xb3,
- 0xf6, 0xa5, 0x2f, 0x9f, 0xb5, 0x2f, 0xfd, 0x62, 0xdc, 0x56, 0x9e, 0x8e, 0xdb, 0xca, 0xe7, 0xe3,
- 0xb6, 0xf2, 0xe5, 0xb8, 0xad, 0xfc, 0x6b, 0xdc, 0x56, 0x3e, 0xfb, 0xaa, 0x7d, 0xe9, 0xe3, 0x49,
- 0xd1, 0xe3, 0x7f, 0x03, 0x00, 0x00, 0xff, 0xff, 0x86, 0x7b, 0x61, 0x7b, 0xc4, 0x23, 0x00, 0x00,
+ 0x15, 0xae, 0x64, 0xa0, 0x41, 0x0b, 0x98, 0xbb, 0x4b, 0xaf, 0x26, 0x9a, 0x17, 0x66, 0x38, 0x8b,
+ 0x2c, 0x7a, 0xe9, 0xa9, 0x40, 0x81, 0x02, 0xc9, 0xb9, 0xff, 0x44, 0x7b, 0x2a, 0x8a, 0xf6, 0x56,
+ 0x14, 0x85, 0x2f, 0x05, 0x82, 0x5e, 0x92, 0x93, 0x50, 0x6f, 0x8e, 0xfd, 0x0f, 0x02, 0x14, 0x28,
+ 0xc8, 0xe1, 0x3c, 0x38, 0x0f, 0x6b, 0xa4, 0xd8, 0x6a, 0x91, 0xdb, 0x2e, 0xbf, 0xdf, 0xf7, 0xe3,
+ 0x47, 0xf2, 0x23, 0xbf, 0x1f, 0x39, 0xe0, 0xc7, 0xc7, 0xef, 0xbb, 0xaa, 0x66, 0xb5, 0x8f, 0xbd,
+ 0x1e, 0x71, 0x4c, 0x42, 0x89, 0xdb, 0x1e, 0x11, 0x73, 0x60, 0x39, 0x6d, 0x61, 0xc0, 0xb6, 0xd6,
+ 0xc6, 0xb6, 0xed, 0xb6, 0x47, 0xb7, 0x7b, 0x84, 0xe2, 0x8d, 0xf6, 0x90, 0x98, 0xc4, 0xc1, 0x94,
+ 0x0c, 0x54, 0xdb, 0xb1, 0xa8, 0x05, 0x97, 0x7d, 0xa0, 0x8a, 0x6d, 0x4d, 0x65, 0x40, 0x55, 0x00,
+ 0x57, 0x6e, 0x0e, 0x35, 0x7a, 0xe4, 0xf5, 0xd4, 0xbe, 0x65, 0xb4, 0x87, 0xd6, 0xd0, 0x6a, 0x73,
+ 0x7c, 0xcf, 0x7b, 0xc2, 0xff, 0xf1, 0x3f, 0xfc, 0x97, 0xcf, 0xb3, 0xd2, 0x8a, 0x75, 0xd8, 0xb7,
+ 0x1c, 0xd2, 0x1e, 0xdd, 0x4e, 0xf6, 0xb5, 0x72, 0x3d, 0x86, 0xb1, 0x2d, 0x5d, 0xeb, 0x8f, 0x45,
+ 0x58, 0x69, 0xe8, 0x3b, 0x11, 0xd4, 0xc0, 0xfd, 0x23, 0xcd, 0x24, 0xce, 0xb8, 0x6d, 0x1f, 0x0f,
+ 0x59, 0x83, 0xdb, 0x36, 0x08, 0xc5, 0x59, 0x1d, 0xb4, 0xf3, 0xbc, 0x1c, 0xcf, 0xa4, 0x9a, 0x41,
+ 0x52, 0x0e, 0xef, 0x9d, 0xe6, 0xe0, 0xf6, 0x8f, 0x88, 0x81, 0x53, 0x7e, 0x6f, 0xe7, 0xf9, 0x79,
+ 0x54, 0xd3, 0xdb, 0x9a, 0x49, 0x5d, 0xea, 0x24, 0x9d, 0x5a, 0xbf, 0x29, 0x81, 0xfa, 0x36, 0x26,
+ 0x86, 0x65, 0x76, 0x09, 0x85, 0x8f, 0x41, 0x8d, 0x0d, 0x63, 0x80, 0x29, 0x6e, 0x28, 0x6b, 0xca,
+ 0xfa, 0xcc, 0xc6, 0x2d, 0x35, 0x5a, 0x8b, 0x90, 0x55, 0xb5, 0x8f, 0x87, 0xac, 0xc1, 0x55, 0x19,
+ 0x5a, 0x1d, 0xdd, 0x56, 0x1f, 0xf6, 0x3e, 0x21, 0x7d, 0xba, 0x4b, 0x28, 0xee, 0xc0, 0xa7, 0x27,
+ 0xab, 0x97, 0x26, 0x27, 0xab, 0x20, 0x6a, 0x43, 0x21, 0x2b, 0xbc, 0x0f, 0x2a, 0xae, 0x4d, 0xfa,
+ 0x8d, 0x12, 0x67, 0xbf, 0xa6, 0xe6, 0xac, 0xb4, 0x1a, 0xc6, 0xd4, 0xb5, 0x49, 0xbf, 0xf3, 0x8a,
+ 0xe0, 0xac, 0xb0, 0x7f, 0x88, 0x33, 0xc0, 0x7d, 0x30, 0xe5, 0x52, 0x4c, 0x3d, 0xb7, 0x51, 0xe6,
+ 0x5c, 0xeb, 0x05, 0xb8, 0x38, 0xbe, 0x33, 0x27, 0xd8, 0xa6, 0xfc, 0xff, 0x48, 0xf0, 0xb4, 0xfe,
+ 0xa8, 0x80, 0xd9, 0x10, 0xbb, 0xa3, 0xb9, 0x14, 0xfe, 0x3c, 0x35, 0x1f, 0x6a, 0xb1, 0xf9, 0x60,
+ 0xde, 0x7c, 0x36, 0x2e, 0x8b, 0xbe, 0x6a, 0x41, 0x4b, 0x6c, 0x2e, 0xee, 0x81, 0xaa, 0x46, 0x89,
+ 0xe1, 0x36, 0x4a, 0x6b, 0xe5, 0xf5, 0x99, 0x8d, 0xd6, 0xe9, 0x03, 0xe8, 0xcc, 0x0a, 0xba, 0xea,
+ 0x03, 0xe6, 0x88, 0x7c, 0xff, 0xd6, 0xe7, 0x95, 0x58, 0xe0, 0x6c, 0x8a, 0xe0, 0x2f, 0x40, 0xcd,
+ 0x25, 0x3a, 0xe9, 0x53, 0xcb, 0x11, 0x81, 0xbf, 0x5d, 0x30, 0x70, 0xdc, 0x23, 0x7a, 0x57, 0xb8,
+ 0x76, 0x5e, 0x61, 0x91, 0x07, 0xff, 0x50, 0x48, 0x09, 0x3f, 0x02, 0x35, 0x4a, 0x0c, 0x5b, 0xc7,
+ 0x94, 0x88, 0x95, 0x7c, 0x2d, 0x1e, 0x3c, 0xdb, 0x6b, 0x8c, 0x6c, 0xdf, 0x1a, 0x1c, 0x08, 0x18,
+ 0x5f, 0xc6, 0x70, 0x32, 0x82, 0x56, 0x14, 0xd2, 0x40, 0x1b, 0xcc, 0x79, 0xf6, 0x80, 0x21, 0x29,
+ 0xcb, 0xcf, 0xe1, 0x58, 0x2c, 0xeb, 0xad, 0xd3, 0x67, 0xe5, 0x50, 0xf2, 0xeb, 0x2c, 0x89, 0x5e,
+ 0xe6, 0xe4, 0x76, 0x94, 0xe0, 0x87, 0x9b, 0x60, 0xde, 0xd0, 0x4c, 0x44, 0xf0, 0x60, 0xdc, 0x25,
+ 0x7d, 0xcb, 0x1c, 0xb8, 0x8d, 0xca, 0x9a, 0xb2, 0x5e, 0xed, 0x2c, 0x0b, 0x82, 0xf9, 0x5d, 0xd9,
+ 0x8c, 0x92, 0x78, 0xf8, 0x21, 0x80, 0xc1, 0x00, 0xee, 0xf9, 0x1b, 0x4b, 0xb3, 0xcc, 0x46, 0x75,
+ 0x4d, 0x59, 0x2f, 0x77, 0x56, 0x04, 0x0b, 0x3c, 0x48, 0x21, 0x50, 0x86, 0x17, 0xdc, 0x01, 0x8b,
+ 0x0e, 0x19, 0x69, 0xae, 0x66, 0x99, 0xf7, 0x35, 0x97, 0x5a, 0xce, 0x78, 0x47, 0x33, 0x34, 0xda,
+ 0x98, 0xe2, 0x31, 0x35, 0x26, 0x27, 0xab, 0x8b, 0x28, 0xc3, 0x8e, 0x32, 0xbd, 0x5a, 0x7f, 0xa8,
+ 0x82, 0xf9, 0x44, 0xde, 0xc3, 0x47, 0x60, 0xa9, 0xef, 0x39, 0x0e, 0x31, 0xe9, 0x9e, 0x67, 0xf4,
+ 0x88, 0xd3, 0xed, 0x1f, 0x91, 0x81, 0xa7, 0x93, 0x01, 0x4f, 0x91, 0x6a, 0xa7, 0x29, 0x22, 0x5e,
+ 0xda, 0xca, 0x44, 0xa1, 0x1c, 0x6f, 0x36, 0x0b, 0x26, 0x6f, 0xda, 0xd5, 0x5c, 0x37, 0xe4, 0x2c,
+ 0x71, 0xce, 0x70, 0x16, 0xf6, 0x52, 0x08, 0x94, 0xe1, 0xc5, 0x62, 0x1c, 0x10, 0x57, 0x73, 0xc8,
+ 0x20, 0x19, 0x63, 0x59, 0x8e, 0x71, 0x3b, 0x13, 0x85, 0x72, 0xbc, 0xe1, 0xbb, 0x60, 0xc6, 0xef,
+ 0x8d, 0xaf, 0x9f, 0x58, 0xe8, 0x05, 0x41, 0x36, 0xb3, 0x17, 0x99, 0x50, 0x1c, 0xc7, 0x86, 0x66,
+ 0xf5, 0x5c, 0xe2, 0x8c, 0xc8, 0x20, 0x7f, 0x81, 0x1f, 0xa6, 0x10, 0x28, 0xc3, 0x8b, 0x0d, 0xcd,
+ 0xcf, 0xc0, 0xd4, 0xd0, 0xa6, 0xe4, 0xa1, 0x1d, 0x66, 0xa2, 0x50, 0x8e, 0x37, 0xcb, 0x63, 0x3f,
+ 0xe4, 0xcd, 0x11, 0xd6, 0x74, 0xdc, 0xd3, 0x49, 0x63, 0x5a, 0xce, 0xe3, 0x3d, 0xd9, 0x8c, 0x92,
+ 0x78, 0x78, 0x0f, 0x5c, 0xf1, 0x9b, 0x0e, 0x4d, 0x1c, 0x92, 0xd4, 0x38, 0xc9, 0xab, 0x82, 0xe4,
+ 0xca, 0x5e, 0x12, 0x80, 0xd2, 0x3e, 0xf0, 0x0e, 0x98, 0xeb, 0x5b, 0xba, 0xce, 0xf3, 0x71, 0xcb,
+ 0xf2, 0x4c, 0xda, 0xa8, 0xf3, 0xb9, 0x82, 0x6c, 0x3f, 0x6e, 0x49, 0x16, 0x94, 0x40, 0xb6, 0xfe,
+ 0xa6, 0x80, 0xe5, 0x9c, 0x3d, 0x0d, 0x7f, 0x04, 0x2a, 0x74, 0x6c, 0x13, 0x9e, 0xa8, 0xf5, 0xce,
+ 0x8d, 0xa0, 0x1c, 0x1c, 0x8c, 0x6d, 0xf2, 0xcd, 0xc9, 0xea, 0xd5, 0x1c, 0x37, 0x66, 0x46, 0xdc,
+ 0x11, 0x1e, 0x81, 0x59, 0x87, 0x75, 0x67, 0x0e, 0x7d, 0x88, 0x38, 0xb6, 0xda, 0xb9, 0xa7, 0x0b,
+ 0x8a, 0xa3, 0xa3, 0x03, 0xf8, 0xca, 0xe4, 0x64, 0x75, 0x56, 0xb2, 0x21, 0x99, 0xb8, 0xf5, 0xdb,
+ 0x12, 0x00, 0xdb, 0xc4, 0xd6, 0xad, 0xb1, 0x41, 0xcc, 0x8b, 0x28, 0xa9, 0x0f, 0xa4, 0x92, 0xfa,
+ 0x46, 0xfe, 0x79, 0x19, 0x06, 0x95, 0x5b, 0x53, 0x3f, 0x4a, 0xd4, 0xd4, 0xeb, 0x45, 0xc8, 0x9e,
+ 0x5f, 0x54, 0xbf, 0x2c, 0x83, 0x85, 0x08, 0xbc, 0x65, 0x99, 0x03, 0x8d, 0xef, 0x86, 0xbb, 0xd2,
+ 0x8a, 0xbe, 0x91, 0x58, 0xd1, 0xe5, 0x0c, 0x97, 0xd8, 0x6a, 0xee, 0x84, 0x71, 0x96, 0xb8, 0xfb,
+ 0x3b, 0x72, 0xe7, 0xdf, 0x9c, 0xac, 0x66, 0x48, 0x3f, 0x35, 0x64, 0x92, 0x43, 0x84, 0xd7, 0xc0,
+ 0x94, 0x43, 0xb0, 0x6b, 0x99, 0xfc, 0x58, 0xa8, 0x47, 0x43, 0x41, 0xbc, 0x15, 0x09, 0x2b, 0xbc,
+ 0x0e, 0xa6, 0x0d, 0xe2, 0xba, 0x78, 0x48, 0xf8, 0x09, 0x50, 0xef, 0xcc, 0x0b, 0xe0, 0xf4, 0xae,
+ 0xdf, 0x8c, 0x02, 0x3b, 0xfc, 0x04, 0xcc, 0xe9, 0xd8, 0x15, 0xe9, 0x78, 0xa0, 0x19, 0x84, 0xef,
+ 0xf1, 0x99, 0x8d, 0x37, 0x8b, 0xad, 0x3d, 0xf3, 0x88, 0xea, 0xd8, 0x8e, 0xc4, 0x84, 0x12, 0xcc,
+ 0x70, 0x04, 0x20, 0x6b, 0x39, 0x70, 0xb0, 0xe9, 0xfa, 0x13, 0xc5, 0xfa, 0x9b, 0x3e, 0x73, 0x7f,
+ 0xe1, 0x79, 0xb6, 0x93, 0x62, 0x43, 0x19, 0x3d, 0xb4, 0xfe, 0xa4, 0x80, 0xb9, 0x68, 0x99, 0x2e,
+ 0x40, 0x2f, 0xdd, 0x97, 0xf5, 0xd2, 0x6b, 0x05, 0x92, 0x33, 0x47, 0x30, 0x7d, 0x59, 0x89, 0x87,
+ 0xce, 0x15, 0xd3, 0x3a, 0xa8, 0x39, 0xc4, 0xd6, 0xb5, 0x3e, 0x76, 0x45, 0x39, 0xe4, 0xe2, 0x07,
+ 0x89, 0x36, 0x14, 0x5a, 0x25, 0x6d, 0x55, 0x7a, 0xb9, 0xda, 0xaa, 0xfc, 0x62, 0xb4, 0xd5, 0xcf,
+ 0x40, 0xcd, 0x0d, 0x54, 0x55, 0x85, 0x53, 0xde, 0x28, 0xb4, 0xb1, 0x85, 0xa0, 0x0a, 0xa9, 0x43,
+ 0x29, 0x15, 0xd2, 0x65, 0x89, 0xa8, 0xea, 0x19, 0x45, 0xd4, 0x0b, 0x15, 0x3e, 0x6c, 0x33, 0xdb,
+ 0xd8, 0x73, 0xc9, 0x80, 0xef, 0x80, 0x5a, 0xb4, 0x99, 0xf7, 0x79, 0x2b, 0x12, 0x56, 0x78, 0x08,
+ 0x96, 0x6d, 0xc7, 0x1a, 0x3a, 0xc4, 0x75, 0xb7, 0x09, 0x1e, 0xe8, 0x9a, 0x49, 0x82, 0x01, 0xd4,
+ 0x79, 0xc7, 0x57, 0x27, 0x27, 0xab, 0xcb, 0xfb, 0xd9, 0x10, 0x94, 0xe7, 0xdb, 0xfa, 0x6b, 0x05,
+ 0x5c, 0x4e, 0x9e, 0x8d, 0x39, 0x2a, 0x42, 0x39, 0x97, 0x8a, 0x78, 0x2b, 0x96, 0xa7, 0xbe, 0xc4,
+ 0x0a, 0x97, 0x27, 0x23, 0x57, 0x37, 0xc1, 0xbc, 0x50, 0x0d, 0x81, 0x51, 0xe8, 0xa8, 0x70, 0x79,
+ 0x0e, 0x65, 0x33, 0x4a, 0xe2, 0x99, 0x36, 0x88, 0x4a, 0x7e, 0x40, 0x52, 0x91, 0xb5, 0xc1, 0x66,
+ 0x12, 0x80, 0xd2, 0x3e, 0x70, 0x17, 0x2c, 0x78, 0x66, 0x9a, 0xca, 0x4f, 0x97, 0xab, 0x82, 0x6a,
+ 0xe1, 0x30, 0x0d, 0x41, 0x59, 0x7e, 0xf0, 0x31, 0x00, 0xfd, 0xe0, 0x40, 0x77, 0x1b, 0x53, 0xfc,
+ 0x48, 0x78, 0xab, 0x40, 0x5a, 0x87, 0x55, 0x20, 0x2a, 0xab, 0x61, 0x93, 0x8b, 0x62, 0x9c, 0xf0,
+ 0x2e, 0x98, 0x75, 0xb8, 0x24, 0x0c, 0x42, 0xf5, 0x65, 0xd5, 0xf7, 0x84, 0xdb, 0x2c, 0x8a, 0x1b,
+ 0x91, 0x8c, 0xcd, 0x50, 0x42, 0xb5, 0xc2, 0x4a, 0xe8, 0x2f, 0x0a, 0x80, 0xe9, 0x7d, 0x08, 0xef,
+ 0x48, 0x25, 0xf3, 0x5a, 0xa2, 0x64, 0x2e, 0xa5, 0x3d, 0x62, 0x15, 0x53, 0xcb, 0xd6, 0x3f, 0xb7,
+ 0x0a, 0xea, 0x9f, 0xe8, 0x40, 0x2d, 0x26, 0x80, 0xc4, 0x34, 0x5c, 0xcc, 0x9b, 0x42, 0x51, 0x01,
+ 0x14, 0x05, 0xf5, 0x02, 0x04, 0x50, 0x8c, 0xec, 0xf9, 0x02, 0xe8, 0xdf, 0x25, 0xb0, 0x10, 0x81,
+ 0x0b, 0x0b, 0xa0, 0x0c, 0x97, 0x97, 0x26, 0x80, 0xb2, 0x15, 0x44, 0xf9, 0x65, 0x2b, 0x88, 0x97,
+ 0x20, 0xbc, 0xb8, 0x28, 0x89, 0xa6, 0xee, 0xff, 0x49, 0x94, 0x44, 0x51, 0xe5, 0x88, 0x92, 0xdf,
+ 0x97, 0xe2, 0xa1, 0x7f, 0xe7, 0x45, 0xc9, 0xb7, 0x7f, 0x7e, 0x69, 0xfd, 0xbd, 0x0c, 0x2e, 0x27,
+ 0xf7, 0xa1, 0x54, 0x20, 0x95, 0x53, 0x0b, 0xe4, 0x3e, 0x58, 0x7c, 0xe2, 0xe9, 0xfa, 0x98, 0x4f,
+ 0x43, 0xac, 0x4a, 0xfa, 0xa5, 0xf5, 0xfb, 0xc2, 0x73, 0xf1, 0xa7, 0x19, 0x18, 0x94, 0xe9, 0x99,
+ 0x53, 0xec, 0xcb, 0xe7, 0x2a, 0xf6, 0xa9, 0x0a, 0x54, 0x39, 0x43, 0x05, 0xca, 0x2c, 0xdc, 0xd5,
+ 0x73, 0x14, 0xee, 0xb3, 0x55, 0xda, 0x8c, 0x83, 0xeb, 0xb4, 0x4a, 0xdb, 0xfa, 0xb5, 0x02, 0x96,
+ 0xb2, 0x2f, 0xdc, 0x50, 0x07, 0x73, 0x06, 0xfe, 0x34, 0xfe, 0x2e, 0x71, 0x5a, 0x11, 0xf1, 0xa8,
+ 0xa6, 0xab, 0xfe, 0x73, 0xb7, 0xfa, 0xc0, 0xa4, 0x0f, 0x9d, 0x2e, 0x75, 0x34, 0x73, 0xe8, 0x57,
+ 0xde, 0x5d, 0x89, 0x0b, 0x25, 0xb8, 0x5b, 0x5f, 0x2b, 0x60, 0x39, 0xa7, 0xf2, 0x5d, 0x6c, 0x24,
+ 0xf0, 0x63, 0x50, 0x33, 0xf0, 0xa7, 0x5d, 0xcf, 0x19, 0x66, 0xd5, 0xea, 0x62, 0xfd, 0xf0, 0xdd,
+ 0xbc, 0x2b, 0x58, 0x50, 0xc8, 0xd7, 0x7a, 0x08, 0xd6, 0xa4, 0x41, 0xb2, 0x9d, 0x43, 0x9e, 0x78,
+ 0x3a, 0xdf, 0x44, 0x42, 0x6c, 0xdc, 0x00, 0x75, 0x1b, 0x3b, 0x54, 0x0b, 0xa5, 0x6a, 0xb5, 0x33,
+ 0x3b, 0x39, 0x59, 0xad, 0xef, 0x07, 0x8d, 0x28, 0xb2, 0xb7, 0xfe, 0xa3, 0x80, 0x6a, 0xb7, 0x8f,
+ 0x75, 0x72, 0x01, 0xd5, 0x7e, 0x5b, 0xaa, 0xf6, 0xf9, 0x8f, 0xe6, 0x3c, 0x9e, 0xdc, 0x42, 0xbf,
+ 0x93, 0x28, 0xf4, 0xaf, 0x9f, 0xc2, 0xf3, 0xfc, 0x1a, 0xff, 0x01, 0xa8, 0x87, 0xdd, 0x9d, 0xed,
+ 0x00, 0x6a, 0xfd, 0xae, 0x04, 0x66, 0x62, 0x5d, 0x9c, 0xf1, 0xf8, 0x7a, 0x2c, 0x1d, 0xfb, 0x6c,
+ 0x63, 0x6e, 0x14, 0x19, 0x88, 0x1a, 0x1c, 0xf1, 0x3f, 0x31, 0xa9, 0x13, 0xbf, 0xe0, 0xa5, 0x4f,
+ 0xfe, 0x1f, 0x82, 0x39, 0x8a, 0x9d, 0x21, 0xa1, 0x81, 0x8d, 0x4f, 0x58, 0x3d, 0x7a, 0x9d, 0x38,
+ 0x90, 0xac, 0x28, 0x81, 0x5e, 0xb9, 0x0b, 0x66, 0xa5, 0xce, 0xe0, 0x65, 0x50, 0x3e, 0x26, 0x63,
+ 0x5f, 0xf6, 0x20, 0xf6, 0x13, 0x2e, 0x82, 0xea, 0x08, 0xeb, 0x9e, 0x9f, 0xe7, 0x75, 0xe4, 0xff,
+ 0xb9, 0x53, 0x7a, 0x5f, 0x69, 0x7d, 0xc6, 0x26, 0x27, 0x4a, 0xce, 0x0b, 0xc8, 0xae, 0x0f, 0xa5,
+ 0xec, 0xca, 0xff, 0xa6, 0x14, 0xdf, 0x32, 0x79, 0x39, 0x86, 0x12, 0x39, 0xf6, 0x66, 0x21, 0xb6,
+ 0xe7, 0x67, 0xda, 0x9f, 0x15, 0x30, 0x1f, 0x43, 0x5f, 0x80, 0xc0, 0x79, 0x20, 0x0b, 0x9c, 0xd7,
+ 0x8b, 0x0c, 0x22, 0x47, 0xe1, 0xfc, 0xa3, 0x2a, 0x05, 0xff, 0x9d, 0x97, 0x38, 0xbf, 0x04, 0x8b,
+ 0x23, 0x4b, 0xf7, 0x0c, 0xb2, 0xa5, 0x63, 0xcd, 0x08, 0x00, 0xac, 0x8a, 0x97, 0x93, 0x77, 0x8b,
+ 0x90, 0x9e, 0x38, 0xae, 0xe6, 0x52, 0x62, 0xd2, 0x47, 0x91, 0x67, 0xa4, 0x43, 0x1e, 0x65, 0xd0,
+ 0xa1, 0xcc, 0x4e, 0xe0, 0xbb, 0x60, 0x86, 0xe9, 0x09, 0xad, 0x4f, 0xf6, 0xb0, 0x11, 0x08, 0xe7,
+ 0xf0, 0x8b, 0x47, 0x37, 0x32, 0xa1, 0x38, 0x0e, 0x1e, 0x81, 0x05, 0xdb, 0x1a, 0xec, 0x62, 0x13,
+ 0x0f, 0x09, 0x2b, 0x7b, 0xfb, 0xfc, 0x9b, 0x38, 0x7f, 0x8c, 0xa9, 0x77, 0xde, 0x0b, 0x6e, 0xe9,
+ 0xfb, 0x69, 0x08, 0xbb, 0xb4, 0x64, 0x34, 0xf3, 0x4b, 0x4b, 0x16, 0x25, 0x74, 0x52, 0x5f, 0xfc,
+ 0xfc, 0x37, 0xcb, 0x8d, 0x22, 0x19, 0x76, 0xce, 0x6f, 0x7e, 0x79, 0x6f, 0x4d, 0xb5, 0x73, 0x7d,
+ 0x64, 0xfb, 0xac, 0x02, 0xae, 0xa4, 0xb6, 0xee, 0xff, 0xf0, 0xb5, 0x27, 0x25, 0x17, 0xcb, 0x67,
+ 0x90, 0x8b, 0x9b, 0x60, 0x5e, 0x7c, 0xdf, 0x4b, 0xa8, 0xcd, 0x50, 0x8f, 0x6f, 0xc9, 0x66, 0x94,
+ 0xc4, 0x67, 0xbd, 0x36, 0x55, 0xcf, 0xf8, 0xda, 0x14, 0x8f, 0xc2, 0x9f, 0x71, 0x91, 0x7a, 0xe9,
+ 0x28, 0x7c, 0x33, 0x4a, 0xe2, 0x59, 0xc5, 0xf2, 0x59, 0x43, 0x86, 0x69, 0xb9, 0x62, 0x1d, 0x4a,
+ 0x56, 0x94, 0x40, 0x7f, 0xab, 0x6f, 0x58, 0xff, 0x54, 0xc0, 0xab, 0xb9, 0x59, 0x0a, 0x37, 0xa5,
+ 0x2b, 0xff, 0xcd, 0xc4, 0x95, 0xff, 0x07, 0xb9, 0x8e, 0xb1, 0x8b, 0xbf, 0x93, 0xfd, 0x8e, 0xf3,
+ 0x41, 0xb1, 0x77, 0x9c, 0x0c, 0xa1, 0x77, 0xfa, 0x83, 0x4e, 0xe7, 0xe6, 0xd3, 0x67, 0xcd, 0x4b,
+ 0x5f, 0x3c, 0x6b, 0x5e, 0xfa, 0xea, 0x59, 0xf3, 0xd2, 0xaf, 0x26, 0x4d, 0xe5, 0xe9, 0xa4, 0xa9,
+ 0x7c, 0x31, 0x69, 0x2a, 0x5f, 0x4d, 0x9a, 0xca, 0xbf, 0x26, 0x4d, 0xe5, 0xf3, 0xaf, 0x9b, 0x97,
+ 0x3e, 0x9e, 0x16, 0x3d, 0xfe, 0x37, 0x00, 0x00, 0xff, 0xff, 0x13, 0xf6, 0xf1, 0xb6, 0x00, 0x24,
+ 0x00, 0x00,
}
diff --git a/staging/src/k8s.io/api/apps/v1beta2/generated.proto b/staging/src/k8s.io/api/apps/v1beta2/generated.proto
index e59bd0d8897..2a083f19b75 100644
--- a/staging/src/k8s.io/api/apps/v1beta2/generated.proto
+++ b/staging/src/k8s.io/api/apps/v1beta2/generated.proto
@@ -666,6 +666,12 @@ message StatefulSetStatus {
// updateRevision, if not empty, indicates the version of the StatefulSet used to generate Pods in the sequence
// [replicas-updatedReplicas,replicas)
optional string updateRevision = 7;
+
+ // collisionCount is the count of hash collisions for the StatefulSet. The StatefulSet controller
+ // uses this field as a collision avoidance mechanism when it needs to create the name for the
+ // newest ControllerRevision.
+ // +optional
+ optional int64 collisionCount = 9;
}
// WIP: This is not ready to be used and we plan to make breaking changes to it.
diff --git a/staging/src/k8s.io/api/apps/v1beta2/types.go b/staging/src/k8s.io/api/apps/v1beta2/types.go
index a54e9d7b195..b5c01c53b10 100644
--- a/staging/src/k8s.io/api/apps/v1beta2/types.go
+++ b/staging/src/k8s.io/api/apps/v1beta2/types.go
@@ -252,6 +252,12 @@ type StatefulSetStatus struct {
// updateRevision, if not empty, indicates the version of the StatefulSet used to generate Pods in the sequence
// [replicas-updatedReplicas,replicas)
UpdateRevision string `json:"updateRevision,omitempty" protobuf:"bytes,7,opt,name=updateRevision"`
+
+ // collisionCount is the count of hash collisions for the StatefulSet. The StatefulSet controller
+ // uses this field as a collision avoidance mechanism when it needs to create the name for the
+ // newest ControllerRevision.
+ // +optional
+ CollisionCount *int64 `json:"collisionCount,omitempty" protobuf:"varint,9,opt,name=collisionCount"`
}
// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object
diff --git a/staging/src/k8s.io/api/apps/v1beta2/types_swagger_doc_generated.go b/staging/src/k8s.io/api/apps/v1beta2/types_swagger_doc_generated.go
index dbf7e09d20e..a6888bf9981 100644
--- a/staging/src/k8s.io/api/apps/v1beta2/types_swagger_doc_generated.go
+++ b/staging/src/k8s.io/api/apps/v1beta2/types_swagger_doc_generated.go
@@ -328,6 +328,7 @@ var map_StatefulSetStatus = map[string]string{
"updatedReplicas": "updatedReplicas is the number of Pods created by the StatefulSet controller from the StatefulSet version indicated by updateRevision.",
"currentRevision": "currentRevision, if not empty, indicates the version of the StatefulSet used to generate Pods in the sequence [0,currentReplicas).",
"updateRevision": "updateRevision, if not empty, indicates the version of the StatefulSet used to generate Pods in the sequence [replicas-updatedReplicas,replicas)",
+ "collisionCount": "collisionCount is the count of hash collisions for the StatefulSet. The StatefulSet controller uses this field as a collision avoidance mechanism when it needs to create the name for the newest ControllerRevision.",
}
func (StatefulSetStatus) SwaggerDoc() map[string]string {
diff --git a/staging/src/k8s.io/api/apps/v1beta2/zz_generated.deepcopy.go b/staging/src/k8s.io/api/apps/v1beta2/zz_generated.deepcopy.go
index bd8a1c08635..7d6cc4b080e 100644
--- a/staging/src/k8s.io/api/apps/v1beta2/zz_generated.deepcopy.go
+++ b/staging/src/k8s.io/api/apps/v1beta2/zz_generated.deepcopy.go
@@ -787,7 +787,7 @@ func (in *StatefulSet) DeepCopyInto(out *StatefulSet) {
out.TypeMeta = in.TypeMeta
in.ObjectMeta.DeepCopyInto(&out.ObjectMeta)
in.Spec.DeepCopyInto(&out.Spec)
- out.Status = in.Status
+ in.Status.DeepCopyInto(&out.Status)
return
}
@@ -899,6 +899,15 @@ func (in *StatefulSetSpec) DeepCopy() *StatefulSetSpec {
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *StatefulSetStatus) DeepCopyInto(out *StatefulSetStatus) {
*out = *in
+ if in.CollisionCount != nil {
+ in, out := &in.CollisionCount, &out.CollisionCount
+ if *in == nil {
+ *out = nil
+ } else {
+ *out = new(int64)
+ **out = **in
+ }
+ }
return
}