func (in *PolicyBinding) DeepCopyInto(out *PolicyBinding) {
	*out = *in
	out.TypeMeta = in.TypeMeta
	in.ObjectMeta.DeepCopyInto(&out.ObjectMeta)
	in.LastModified.DeepCopyInto(&out.LastModified)
	out.PolicyRef = in.PolicyRef
	if in.RoleBindings != nil {
		in, out := &in.RoleBindings, &out.RoleBindings
		*out = make(NamedRoleBindings, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
	return
}
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
package v1
import (
	core_v1 "k8s.io/api/core/v1"
	rbac_v1 "k8s.io/api/rbac/v1"
	meta_v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
	runtime "k8s.io/apimachinery/pkg/runtime"
	unsafe "unsafe"
)
func (in *Action) DeepCopyInto(out *Action) {
	*out = *in
	in.Content.DeepCopyInto(&out.Content)
	return
}
func (in *Action) DeepCopy() *Action {
	if in == nil {
		return nil
	}
	out := new(Action)
	in.DeepCopyInto(out)
	return out
}
func (in *ClusterPolicy) DeepCopyInto(out *ClusterPolicy) {
	*out = *in
	out.TypeMeta = in.TypeMeta
	in.ObjectMeta.DeepCopyInto(&out.ObjectMeta)
	in.LastModified.DeepCopyInto(&out.LastModified)
	if in.Roles != nil {
		in, out := &in.Roles, &out.Roles
		*out = make(NamedClusterRoles, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
	return
}
func (in *ClusterPolicy) DeepCopy() *ClusterPolicy {
	if in == nil {
		return nil
	}
	out := new(ClusterPolicy)
	in.DeepCopyInto(out)
	return out
}
func (in *ClusterPolicy) DeepCopyObject() runtime.Object {
	if c := in.DeepCopy(); c != nil {
		return c
	} else {
		return nil
	}
}
func (in *ClusterPolicyBinding) DeepCopyInto(out *ClusterPolicyBinding) {
	*out = *in
	out.TypeMeta = in.TypeMeta
	in.ObjectMeta.DeepCopyInto(&out.ObjectMeta)
	in.LastModified.DeepCopyInto(&out.LastModified)
	out.PolicyRef = in.PolicyRef
	if in.RoleBindings != nil {
		in, out := &in.RoleBindings, &out.RoleBindings
		*out = make(NamedClusterRoleBindings, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
	return
}
func (in *ClusterPolicyBinding) DeepCopy() *ClusterPolicyBinding {
	if in == nil {
		return nil
	}
	out := new(ClusterPolicyBinding)
	in.DeepCopyInto(out)
	return out
}
func (in *ClusterPolicyBinding) DeepCopyObject() runtime.Object {
	if c := in.DeepCopy(); c != nil {
		return c
	} else {
		return nil
	}
}
func (in *ClusterPolicyBindingList) DeepCopyInto(out *ClusterPolicyBindingList) {
	*out = *in
	out.TypeMeta = in.TypeMeta
	out.ListMeta = in.ListMeta
	if in.Items != nil {
		in, out := &in.Items, &out.Items
		*out = make([]ClusterPolicyBinding, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
	return
}
func (in *ClusterPolicyBindingList) DeepCopy() *ClusterPolicyBindingList {
	if in == nil {
		return nil
	}
	out := new(ClusterPolicyBindingList)
	in.DeepCopyInto(out)
	return out
}
func (in *ClusterPolicyBindingList) DeepCopyObject() runtime.Object {
	if c := in.DeepCopy(); c != nil {
		return c
	} else {
		return nil
	}
}
func (in *ClusterPolicyList) DeepCopyInto(out *ClusterPolicyList) {
	*out = *in
	out.TypeMeta = in.TypeMeta
	out.ListMeta = in.ListMeta
	if in.Items != nil {
		in, out := &in.Items, &out.Items
		*out = make([]ClusterPolicy, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
	return
}
func (in *ClusterPolicyList) DeepCopy() *ClusterPolicyList {
	if in == nil {
		return nil
	}
	out := new(ClusterPolicyList)
	in.DeepCopyInto(out)
	return out
}
func (in *ClusterPolicyList) DeepCopyObject() runtime.Object {
	if c := in.DeepCopy(); c != nil {
		return c
	} else {
		return nil
	}
}
func (in *ClusterRole) DeepCopyInto(out *ClusterRole) {
	*out = *in
	out.TypeMeta = in.TypeMeta
	in.ObjectMeta.DeepCopyInto(&out.ObjectMeta)
	if in.Rules != nil {
		in, out := &in.Rules, &out.Rules
		*out = make([]PolicyRule, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
	if in.AggregationRule != nil {
		in, out := &in.AggregationRule, &out.AggregationRule
		if *in == nil {
			*out = nil
		} else {
			*out = new(rbac_v1.AggregationRule)
			(*in).DeepCopyInto(*out)
		}
	}
	return
}
func (in *ClusterRole) DeepCopy() *ClusterRole {
	if in == nil {
		return nil
	}
	out := new(ClusterRole)
	in.DeepCopyInto(out)
	return out
}
func (in *ClusterRole) DeepCopyObject() runtime.Object {
	if c := in.DeepCopy(); c != nil {
		return c
	} else {
		return nil
	}
}
func (in *ClusterRoleBinding) DeepCopyInto(out *ClusterRoleBinding) {
	*out = *in
	out.TypeMeta = in.TypeMeta
	in.ObjectMeta.DeepCopyInto(&out.ObjectMeta)
	if in.UserNames != nil {
		in, out := &in.UserNames, &out.UserNames
		*out = make(OptionalNames, len(*in))
		copy(*out, *in)
	}
	if in.GroupNames != nil {
		in, out := &in.GroupNames, &out.GroupNames
		*out = make(OptionalNames, len(*in))
		copy(*out, *in)
	}
	if in.Subjects != nil {
		in, out := &in.Subjects, &out.Subjects
		*out = make([]core_v1.ObjectReference, len(*in))
		copy(*out, *in)
	}
	out.RoleRef = in.RoleRef
	return
}
func (in *ClusterRoleBinding) DeepCopy() *ClusterRoleBinding {
	if in == nil {
		return nil
	}
	out := new(ClusterRoleBinding)
	in.DeepCopyInto(out)
	return out
}
func (in *ClusterRoleBinding) DeepCopyObject() runtime.Object {
	if c := in.DeepCopy(); c != nil {
		return c
	} else {
		return nil
	}
}
func (in *ClusterRoleBindingList) DeepCopyInto(out *ClusterRoleBindingList) {
	*out = *in
	out.TypeMeta = in.TypeMeta
	out.ListMeta = in.ListMeta
	if in.Items != nil {
		in, out := &in.Items, &out.Items
		*out = make([]ClusterRoleBinding, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
	return
}
func (in *ClusterRoleBindingList) DeepCopy() *ClusterRoleBindingList {
	if in == nil {
		return nil
	}
	out := new(ClusterRoleBindingList)
	in.DeepCopyInto(out)
	return out
}
func (in *ClusterRoleBindingList) DeepCopyObject() runtime.Object {
	if c := in.DeepCopy(); c != nil {
		return c
	} else {
		return nil
	}
}
func (in *ClusterRoleList) DeepCopyInto(out *ClusterRoleList) {
	*out = *in
	out.TypeMeta = in.TypeMeta
	out.ListMeta = in.ListMeta
	if in.Items != nil {
		in, out := &in.Items, &out.Items
		*out = make([]ClusterRole, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
	return
}
func (in *ClusterRoleList) DeepCopy() *ClusterRoleList {
	if in == nil {
		return nil
	}
	out := new(ClusterRoleList)
	in.DeepCopyInto(out)
	return out
}
func (in *ClusterRoleList) DeepCopyObject() runtime.Object {
	if c := in.DeepCopy(); c != nil {
		return c
	} else {
		return nil
	}
}
func (in *GroupRestriction) DeepCopyInto(out *GroupRestriction) {
	*out = *in
	if in.Groups != nil {
		in, out := &in.Groups, &out.Groups
		*out = make([]string, len(*in))
		copy(*out, *in)
	}
	if in.Selectors != nil {
		in, out := &in.Selectors, &out.Selectors
		*out = make([]meta_v1.LabelSelector, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
	return
}
func (in *GroupRestriction) DeepCopy() *GroupRestriction {
	if in == nil {
		return nil
	}
	out := new(GroupRestriction)
	in.DeepCopyInto(out)
	return out
}
func (in *IsPersonalSubjectAccessReview) DeepCopyInto(out *IsPersonalSubjectAccessReview) {
	*out = *in
	out.TypeMeta = in.TypeMeta
	return
}
func (in *IsPersonalSubjectAccessReview) DeepCopy() *IsPersonalSubjectAccessReview {
	if in == nil {
		return nil
	}
	out := new(IsPersonalSubjectAccessReview)
	in.DeepCopyInto(out)
	return out
}
func (in *IsPersonalSubjectAccessReview) DeepCopyObject() runtime.Object {
	if c := in.DeepCopy(); c != nil {
		return c
	} else {
		return nil
	}
}
func (in *LocalResourceAccessReview) DeepCopyInto(out *LocalResourceAccessReview) {
	*out = *in
	out.TypeMeta = in.TypeMeta
	in.Action.DeepCopyInto(&out.Action)
	return
}
func (in *LocalResourceAccessReview) DeepCopy() *LocalResourceAccessReview {
	if in == nil {
		return nil
	}
	out := new(LocalResourceAccessReview)
	in.DeepCopyInto(out)
	return out
}
func (in *LocalResourceAccessReview) DeepCopyObject() runtime.Object {
	if c := in.DeepCopy(); c != nil {
		return c
	} else {
		return nil
	}
}
func (in *LocalSubjectAccessReview) DeepCopyInto(out *LocalSubjectAccessReview) {
	*out = *in
	out.TypeMeta = in.TypeMeta
	in.Action.DeepCopyInto(&out.Action)
	if in.GroupsSlice != nil {
		in, out := &in.GroupsSlice, &out.GroupsSlice
		*out = make([]string, len(*in))
		copy(*out, *in)
	}
	if in.Scopes != nil {
		in, out := &in.Scopes, &out.Scopes
		*out = make(OptionalScopes, len(*in))
		copy(*out, *in)
	}
	return
}
func (in *LocalSubjectAccessReview) DeepCopy() *LocalSubjectAccessReview {
	if in == nil {
		return nil
	}
	out := new(LocalSubjectAccessReview)
	in.DeepCopyInto(out)
	return out
}
func (in *LocalSubjectAccessReview) DeepCopyObject() runtime.Object {
	if c := in.DeepCopy(); c != nil {
		return c
	} else {
		return nil
	}
}
func (in *NamedClusterRole) DeepCopyInto(out *NamedClusterRole) {
	*out = *in
	in.Role.DeepCopyInto(&out.Role)
	return
}
func (in *NamedClusterRole) DeepCopy() *NamedClusterRole {
	if in == nil {
		return nil
	}
	out := new(NamedClusterRole)
	in.DeepCopyInto(out)
	return out
}
func (in *NamedClusterRoleBinding) DeepCopyInto(out *NamedClusterRoleBinding) {
	*out = *in
	in.RoleBinding.DeepCopyInto(&out.RoleBinding)
	return
}
func (in *NamedClusterRoleBinding) DeepCopy() *NamedClusterRoleBinding {
	if in == nil {
		return nil
	}
	out := new(NamedClusterRoleBinding)
	in.DeepCopyInto(out)
	return out
}
func (in *NamedClusterRoleBindings) DeepCopyInto(out *NamedClusterRoleBindings) {
	{
		in := (*[]NamedClusterRoleBinding)(unsafe.Pointer(in))
		out := (*[]NamedClusterRoleBinding)(unsafe.Pointer(out))
		*out = make([]NamedClusterRoleBinding, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
	return
}
func (in *NamedClusterRoleBindings) DeepCopy() *NamedClusterRoleBindings {
	if in == nil {
		return nil
	}
	out := new(NamedClusterRoleBindings)
	in.DeepCopyInto(out)
	return out
}
func (in *NamedClusterRoles) DeepCopyInto(out *NamedClusterRoles) {
	{
		in := (*[]NamedClusterRole)(unsafe.Pointer(in))
		out := (*[]NamedClusterRole)(unsafe.Pointer(out))
		*out = make([]NamedClusterRole, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
	return
}
func (in *NamedClusterRoles) DeepCopy() *NamedClusterRoles {
	if in == nil {
		return nil
	}
	out := new(NamedClusterRoles)
	in.DeepCopyInto(out)
	return out
}
func (in *NamedRole) DeepCopyInto(out *NamedRole) {
	*out = *in
	in.Role.DeepCopyInto(&out.Role)
	return
}
func (in *NamedRole) DeepCopy() *NamedRole {
	if in == nil {
		return nil
	}
	out := new(NamedRole)
	in.DeepCopyInto(out)
	return out
}
func (in *NamedRoleBinding) DeepCopyInto(out *NamedRoleBinding) {
	*out = *in
	in.RoleBinding.DeepCopyInto(&out.RoleBinding)
	return
}
func (in *NamedRoleBinding) DeepCopy() *NamedRoleBinding {
	if in == nil {
		return nil
	}
	out := new(NamedRoleBinding)
	in.DeepCopyInto(out)
	return out
}
func (in *NamedRoleBindings) DeepCopyInto(out *NamedRoleBindings) {
	{
		in := (*[]NamedRoleBinding)(unsafe.Pointer(in))
		out := (*[]NamedRoleBinding)(unsafe.Pointer(out))
		*out = make([]NamedRoleBinding, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
	return
}
func (in *NamedRoleBindings) DeepCopy() *NamedRoleBindings {
	if in == nil {
		return nil
	}
	out := new(NamedRoleBindings)
	in.DeepCopyInto(out)
	return out
}
func (in *NamedRoles) DeepCopyInto(out *NamedRoles) {
	{
		in := (*[]NamedRole)(unsafe.Pointer(in))
		out := (*[]NamedRole)(unsafe.Pointer(out))
		*out = make([]NamedRole, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
	return
}
func (in *NamedRoles) DeepCopy() *NamedRoles {
	if in == nil {
		return nil
	}
	out := new(NamedRoles)
	in.DeepCopyInto(out)
	return out
}
func (in *OptionalNames) DeepCopyInto(out *OptionalNames) {
	{
		in := (*[]string)(unsafe.Pointer(in))
		out := (*[]string)(unsafe.Pointer(out))
		*out = make([]string, len(*in))
		copy(*out, *in)
	}
	return
}
func (in *OptionalNames) DeepCopy() *OptionalNames {
	if in == nil {
		return nil
	}
	out := new(OptionalNames)
	in.DeepCopyInto(out)
	return out
}
func (in *OptionalScopes) DeepCopyInto(out *OptionalScopes) {
	{
		in := (*[]string)(unsafe.Pointer(in))
		out := (*[]string)(unsafe.Pointer(out))
		*out = make([]string, len(*in))
		copy(*out, *in)
	}
	return
}
func (in *OptionalScopes) DeepCopy() *OptionalScopes {
	if in == nil {
		return nil
	}
	out := new(OptionalScopes)
	in.DeepCopyInto(out)
	return out
}
func (in *Policy) DeepCopyInto(out *Policy) {
	*out = *in
	out.TypeMeta = in.TypeMeta
	in.ObjectMeta.DeepCopyInto(&out.ObjectMeta)
	in.LastModified.DeepCopyInto(&out.LastModified)
	if in.Roles != nil {
		in, out := &in.Roles, &out.Roles
		*out = make(NamedRoles, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
	return
}
func (in *Policy) DeepCopy() *Policy {
	if in == nil {
		return nil
	}
	out := new(Policy)
	in.DeepCopyInto(out)
	return out
}
func (in *Policy) DeepCopyObject() runtime.Object {
	if c := in.DeepCopy(); c != nil {
		return c
	} else {
		return nil
	}
}