//go:build !ignore_autogenerated

// Licensed to the Apache Software Foundation (ASF) under one or more
// contributor license agreements.  See the NOTICE file distributed with
// this work for additional information regarding copyright ownership.
// The ASF licenses this file to You under the Apache License, Version 2.0
// (the "License"); you may not use this file except in compliance with
// the License.  You may obtain a copy of the License at
//
//     http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.

// Code generated by controller-gen. DO NOT EDIT.

package adc

import ()

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *BasicAuthConfig) DeepCopyInto(out *BasicAuthConfig) {
	*out = *in
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BasicAuthConfig.
func (in *BasicAuthConfig) DeepCopy() *BasicAuthConfig {
	if in == nil {
		return nil
	}
	out := new(BasicAuthConfig)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *BasicAuthConsumerConfig) DeepCopyInto(out *BasicAuthConsumerConfig) {
	*out = *in
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BasicAuthConsumerConfig.
func (in *BasicAuthConsumerConfig) DeepCopy() *BasicAuthConsumerConfig {
	if in == nil {
		return nil
	}
	out := new(BasicAuthConsumerConfig)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *BasicAuthRouteConfig) DeepCopyInto(out *BasicAuthRouteConfig) {
	*out = *in
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BasicAuthRouteConfig.
func (in *BasicAuthRouteConfig) DeepCopy() *BasicAuthRouteConfig {
	if in == nil {
		return nil
	}
	out := new(BasicAuthRouteConfig)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *CSRFConfig) DeepCopyInto(out *CSRFConfig) {
	*out = *in
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CSRFConfig.
func (in *CSRFConfig) DeepCopy() *CSRFConfig {
	if in == nil {
		return nil
	}
	out := new(CSRFConfig)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *Certificate) DeepCopyInto(out *Certificate) {
	*out = *in
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Certificate.
func (in *Certificate) DeepCopy() *Certificate {
	if in == nil {
		return nil
	}
	out := new(Certificate)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *ClientClass) DeepCopyInto(out *ClientClass) {
	*out = *in
	if in.Depth != nil {
		in, out := &in.Depth, &out.Depth
		*out = new(int64)
		**out = **in
	}
	if in.SkipMtlsURIRegex != nil {
		in, out := &in.SkipMtlsURIRegex, &out.SkipMtlsURIRegex
		*out = make([]string, len(*in))
		copy(*out, *in)
	}
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClientClass.
func (in *ClientClass) DeepCopy() *ClientClass {
	if in == nil {
		return nil
	}
	out := new(ClientClass)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *ClientTLS) DeepCopyInto(out *ClientTLS) {
	*out = *in
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClientTLS.
func (in *ClientTLS) DeepCopy() *ClientTLS {
	if in == nil {
		return nil
	}
	out := new(ClientTLS)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *Consumer) DeepCopyInto(out *Consumer) {
	*out = *in
	in.Metadata.DeepCopyInto(&out.Metadata)
	if in.Credentials != nil {
		in, out := &in.Credentials, &out.Credentials
		*out = make([]Credential, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
	out.Plugins = in.Plugins.DeepCopy()
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Consumer.
func (in *Consumer) DeepCopy() *Consumer {
	if in == nil {
		return nil
	}
	out := new(Consumer)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *ConsumerGroup) DeepCopyInto(out *ConsumerGroup) {
	*out = *in
	in.Metadata.DeepCopyInto(&out.Metadata)
	if in.Consumers != nil {
		in, out := &in.Consumers, &out.Consumers
		*out = make([]Consumer, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
	out.Plugins = in.Plugins.DeepCopy()
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConsumerGroup.
func (in *ConsumerGroup) DeepCopy() *ConsumerGroup {
	if in == nil {
		return nil
	}
	out := new(ConsumerGroup)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *CorsConfig) DeepCopyInto(out *CorsConfig) {
	*out = *in
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CorsConfig.
func (in *CorsConfig) DeepCopy() *CorsConfig {
	if in == nil {
		return nil
	}
	out := new(CorsConfig)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *Credential) DeepCopyInto(out *Credential) {
	*out = *in
	in.Metadata.DeepCopyInto(&out.Metadata)
	out.Config = in.Config.DeepCopy()
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Credential.
func (in *Credential) DeepCopy() *Credential {
	if in == nil {
		return nil
	}
	out := new(Credential)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *ForwardAuthConfig) DeepCopyInto(out *ForwardAuthConfig) {
	*out = *in
	if in.RequestHeaders != nil {
		in, out := &in.RequestHeaders, &out.RequestHeaders
		*out = make([]string, len(*in))
		copy(*out, *in)
	}
	if in.UpstreamHeaders != nil {
		in, out := &in.UpstreamHeaders, &out.UpstreamHeaders
		*out = make([]string, len(*in))
		copy(*out, *in)
	}
	if in.ClientHeaders != nil {
		in, out := &in.ClientHeaders, &out.ClientHeaders
		*out = make([]string, len(*in))
		copy(*out, *in)
	}
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ForwardAuthConfig.
func (in *ForwardAuthConfig) DeepCopy() *ForwardAuthConfig {
	if in == nil {
		return nil
	}
	out := new(ForwardAuthConfig)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *GlobalRuleItem) DeepCopyInto(out *GlobalRuleItem) {
	*out = *in
	in.Metadata.DeepCopyInto(&out.Metadata)
	out.Plugins = in.Plugins.DeepCopy()
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GlobalRuleItem.
func (in *GlobalRuleItem) DeepCopy() *GlobalRuleItem {
	if in == nil {
		return nil
	}
	out := new(GlobalRuleItem)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *HMACAuthConsumerConfig) DeepCopyInto(out *HMACAuthConsumerConfig) {
	*out = *in
	if in.SignedHeaders != nil {
		in, out := &in.SignedHeaders, &out.SignedHeaders
		*out = make([]string, len(*in))
		copy(*out, *in)
	}
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HMACAuthConsumerConfig.
func (in *HMACAuthConsumerConfig) DeepCopy() *HMACAuthConsumerConfig {
	if in == nil {
		return nil
	}
	out := new(HMACAuthConsumerConfig)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *IPRestrictConfig) DeepCopyInto(out *IPRestrictConfig) {
	*out = *in
	if in.Allowlist != nil {
		in, out := &in.Allowlist, &out.Allowlist
		*out = make([]string, len(*in))
		copy(*out, *in)
	}
	if in.Blocklist != nil {
		in, out := &in.Blocklist, &out.Blocklist
		*out = make([]string, len(*in))
		copy(*out, *in)
	}
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IPRestrictConfig.
func (in *IPRestrictConfig) DeepCopy() *IPRestrictConfig {
	if in == nil {
		return nil
	}
	out := new(IPRestrictConfig)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *JwtAuthConsumerConfig) DeepCopyInto(out *JwtAuthConsumerConfig) {
	*out = *in
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new JwtAuthConsumerConfig.
func (in *JwtAuthConsumerConfig) DeepCopy() *JwtAuthConsumerConfig {
	if in == nil {
		return nil
	}
	out := new(JwtAuthConsumerConfig)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *KeyAuthConfig) DeepCopyInto(out *KeyAuthConfig) {
	*out = *in
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KeyAuthConfig.
func (in *KeyAuthConfig) DeepCopy() *KeyAuthConfig {
	if in == nil {
		return nil
	}
	out := new(KeyAuthConfig)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *KeyAuthConsumerConfig) DeepCopyInto(out *KeyAuthConsumerConfig) {
	*out = *in
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KeyAuthConsumerConfig.
func (in *KeyAuthConsumerConfig) DeepCopy() *KeyAuthConsumerConfig {
	if in == nil {
		return nil
	}
	out := new(KeyAuthConsumerConfig)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *LDAPAuthConsumerConfig) DeepCopyInto(out *LDAPAuthConsumerConfig) {
	*out = *in
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LDAPAuthConsumerConfig.
func (in *LDAPAuthConsumerConfig) DeepCopy() *LDAPAuthConsumerConfig {
	if in == nil {
		return nil
	}
	out := new(LDAPAuthConsumerConfig)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *Metadata) DeepCopyInto(out *Metadata) {
	*out = *in
	if in.Labels != nil {
		in, out := &in.Labels, &out.Labels
		*out = make(map[string]string, len(*in))
		for key, val := range *in {
			(*out)[key] = val
		}
	}
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Metadata.
func (in *Metadata) DeepCopy() *Metadata {
	if in == nil {
		return nil
	}
	out := new(Metadata)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *Route) DeepCopyInto(out *Route) {
	*out = *in
	in.Metadata.DeepCopyInto(&out.Metadata)
	if in.EnableWebsocket != nil {
		in, out := &in.EnableWebsocket, &out.EnableWebsocket
		*out = new(bool)
		**out = **in
	}
	if in.Hosts != nil {
		in, out := &in.Hosts, &out.Hosts
		*out = make([]string, len(*in))
		copy(*out, *in)
	}
	if in.Methods != nil {
		in, out := &in.Methods, &out.Methods
		*out = make([]string, len(*in))
		copy(*out, *in)
	}
	out.Plugins = in.Plugins.DeepCopy()
	if in.Priority != nil {
		in, out := &in.Priority, &out.Priority
		*out = new(int64)
		**out = **in
	}
	if in.RemoteAddrs != nil {
		in, out := &in.RemoteAddrs, &out.RemoteAddrs
		*out = make([]string, len(*in))
		copy(*out, *in)
	}
	if in.Timeout != nil {
		in, out := &in.Timeout, &out.Timeout
		*out = new(Timeout)
		**out = **in
	}
	if in.Uris != nil {
		in, out := &in.Uris, &out.Uris
		*out = make([]string, len(*in))
		copy(*out, *in)
	}
	if in.Vars != nil {
		in, out := &in.Vars, &out.Vars
		*out = make(Vars, len(*in))
		for i := range *in {
			if (*in)[i] != nil {
				in, out := &(*in)[i], &(*out)[i]
				*out = make([]StringOrSlice, len(*in))
				for i := range *in {
					(*in)[i].DeepCopyInto(&(*out)[i])
				}
			}
		}
	}
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Route.
func (in *Route) DeepCopy() *Route {
	if in == nil {
		return nil
	}
	out := new(Route)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *SSL) DeepCopyInto(out *SSL) {
	*out = *in
	in.Metadata.DeepCopyInto(&out.Metadata)
	if in.Certificates != nil {
		in, out := &in.Certificates, &out.Certificates
		*out = make([]Certificate, len(*in))
		copy(*out, *in)
	}
	if in.Client != nil {
		in, out := &in.Client, &out.Client
		*out = new(ClientClass)
		(*in).DeepCopyInto(*out)
	}
	if in.Snis != nil {
		in, out := &in.Snis, &out.Snis
		*out = make([]string, len(*in))
		copy(*out, *in)
	}
	if in.SSLProtocols != nil {
		in, out := &in.SSLProtocols, &out.SSLProtocols
		*out = make([]SSLProtocol, len(*in))
		copy(*out, *in)
	}
	if in.Type != nil {
		in, out := &in.Type, &out.Type
		*out = new(SSLType)
		**out = **in
	}
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SSL.
func (in *SSL) DeepCopy() *SSL {
	if in == nil {
		return nil
	}
	out := new(SSL)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *Service) DeepCopyInto(out *Service) {
	*out = *in
	in.Metadata.DeepCopyInto(&out.Metadata)
	if in.Hosts != nil {
		in, out := &in.Hosts, &out.Hosts
		*out = make([]string, len(*in))
		copy(*out, *in)
	}
	out.Plugins = in.Plugins.DeepCopy()
	if in.Routes != nil {
		in, out := &in.Routes, &out.Routes
		*out = make([]*Route, len(*in))
		for i := range *in {
			if (*in)[i] != nil {
				in, out := &(*in)[i], &(*out)[i]
				*out = new(Route)
				(*in).DeepCopyInto(*out)
			}
		}
	}
	if in.StreamRoutes != nil {
		in, out := &in.StreamRoutes, &out.StreamRoutes
		*out = make([]*StreamRoute, len(*in))
		for i := range *in {
			if (*in)[i] != nil {
				in, out := &(*in)[i], &(*out)[i]
				*out = new(StreamRoute)
				(*in).DeepCopyInto(*out)
			}
		}
	}
	if in.StripPathPrefix != nil {
		in, out := &in.StripPathPrefix, &out.StripPathPrefix
		*out = new(bool)
		**out = **in
	}
	if in.Upstream != nil {
		in, out := &in.Upstream, &out.Upstream
		*out = new(Upstream)
		(*in).DeepCopyInto(*out)
	}
	if in.Upstreams != nil {
		in, out := &in.Upstreams, &out.Upstreams
		*out = make([]*Upstream, len(*in))
		for i := range *in {
			if (*in)[i] != nil {
				in, out := &(*in)[i], &(*out)[i]
				*out = new(Upstream)
				(*in).DeepCopyInto(*out)
			}
		}
	}
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Service.
func (in *Service) DeepCopy() *Service {
	if in == nil {
		return nil
	}
	out := new(Service)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *StreamRoute) DeepCopyInto(out *StreamRoute) {
	*out = *in
	in.Metadata.DeepCopyInto(&out.Metadata)
	out.Plugins = in.Plugins.DeepCopy()
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new StreamRoute.
func (in *StreamRoute) DeepCopy() *StreamRoute {
	if in == nil {
		return nil
	}
	out := new(StreamRoute)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *StringOrSlice) DeepCopyInto(out *StringOrSlice) {
	*out = *in
	if in.SliceVal != nil {
		in, out := &in.SliceVal, &out.SliceVal
		*out = make([]StringOrSlice, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new StringOrSlice.
func (in *StringOrSlice) DeepCopy() *StringOrSlice {
	if in == nil {
		return nil
	}
	out := new(StringOrSlice)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *TLSClass) DeepCopyInto(out *TLSClass) {
	*out = *in
	if in.Verify != nil {
		in, out := &in.Verify, &out.Verify
		*out = new(bool)
		**out = **in
	}
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TLSClass.
func (in *TLSClass) DeepCopy() *TLSClass {
	if in == nil {
		return nil
	}
	out := new(TLSClass)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *TrafficSplitConfig) DeepCopyInto(out *TrafficSplitConfig) {
	*out = *in
	if in.Rules != nil {
		in, out := &in.Rules, &out.Rules
		*out = make([]TrafficSplitConfigRule, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TrafficSplitConfig.
func (in *TrafficSplitConfig) DeepCopy() *TrafficSplitConfig {
	if in == nil {
		return nil
	}
	out := new(TrafficSplitConfig)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *TrafficSplitConfigRule) DeepCopyInto(out *TrafficSplitConfigRule) {
	*out = *in
	if in.WeightedUpstreams != nil {
		in, out := &in.WeightedUpstreams, &out.WeightedUpstreams
		*out = make([]TrafficSplitConfigRuleWeightedUpstream, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TrafficSplitConfigRule.
func (in *TrafficSplitConfigRule) DeepCopy() *TrafficSplitConfigRule {
	if in == nil {
		return nil
	}
	out := new(TrafficSplitConfigRule)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *TrafficSplitConfigRuleWeightedUpstream) DeepCopyInto(out *TrafficSplitConfigRuleWeightedUpstream) {
	*out = *in
	if in.Upstream != nil {
		in, out := &in.Upstream, &out.Upstream
		*out = new(Upstream)
		(*in).DeepCopyInto(*out)
	}
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TrafficSplitConfigRuleWeightedUpstream.
func (in *TrafficSplitConfigRuleWeightedUpstream) DeepCopy() *TrafficSplitConfigRuleWeightedUpstream {
	if in == nil {
		return nil
	}
	out := new(TrafficSplitConfigRuleWeightedUpstream)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *Upstream) DeepCopyInto(out *Upstream) {
	*out = *in
	in.Metadata.DeepCopyInto(&out.Metadata)
	if in.Nodes != nil {
		in, out := &in.Nodes, &out.Nodes
		*out = make(UpstreamNodes, len(*in))
		copy(*out, *in)
	}
	if in.Retries != nil {
		in, out := &in.Retries, &out.Retries
		*out = new(int64)
		**out = **in
	}
	if in.RetryTimeout != nil {
		in, out := &in.RetryTimeout, &out.RetryTimeout
		*out = new(float64)
		**out = **in
	}
	if in.Timeout != nil {
		in, out := &in.Timeout, &out.Timeout
		*out = new(Timeout)
		**out = **in
	}
	if in.Checks != nil {
		in, out := &in.Checks, &out.Checks
		*out = new(UpstreamHealthCheck)
		(*in).DeepCopyInto(*out)
	}
	if in.TLS != nil {
		in, out := &in.TLS, &out.TLS
		*out = new(ClientTLS)
		**out = **in
	}
	if in.DiscoveryArgs != nil {
		in, out := &in.DiscoveryArgs, &out.DiscoveryArgs
		*out = make(map[string]string, len(*in))
		for key, val := range *in {
			(*out)[key] = val
		}
	}
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Upstream.
func (in *Upstream) DeepCopy() *Upstream {
	if in == nil {
		return nil
	}
	out := new(Upstream)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *UpstreamActiveHealthCheck) DeepCopyInto(out *UpstreamActiveHealthCheck) {
	*out = *in
	if in.HTTPRequestHeaders != nil {
		in, out := &in.HTTPRequestHeaders, &out.HTTPRequestHeaders
		*out = make([]string, len(*in))
		copy(*out, *in)
	}
	in.Healthy.DeepCopyInto(&out.Healthy)
	in.Unhealthy.DeepCopyInto(&out.Unhealthy)
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new UpstreamActiveHealthCheck.
func (in *UpstreamActiveHealthCheck) DeepCopy() *UpstreamActiveHealthCheck {
	if in == nil {
		return nil
	}
	out := new(UpstreamActiveHealthCheck)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *UpstreamActiveHealthCheckHealthy) DeepCopyInto(out *UpstreamActiveHealthCheckHealthy) {
	*out = *in
	in.UpstreamPassiveHealthCheckHealthy.DeepCopyInto(&out.UpstreamPassiveHealthCheckHealthy)
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new UpstreamActiveHealthCheckHealthy.
func (in *UpstreamActiveHealthCheckHealthy) DeepCopy() *UpstreamActiveHealthCheckHealthy {
	if in == nil {
		return nil
	}
	out := new(UpstreamActiveHealthCheckHealthy)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *UpstreamActiveHealthCheckUnhealthy) DeepCopyInto(out *UpstreamActiveHealthCheckUnhealthy) {
	*out = *in
	in.UpstreamPassiveHealthCheckUnhealthy.DeepCopyInto(&out.UpstreamPassiveHealthCheckUnhealthy)
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new UpstreamActiveHealthCheckUnhealthy.
func (in *UpstreamActiveHealthCheckUnhealthy) DeepCopy() *UpstreamActiveHealthCheckUnhealthy {
	if in == nil {
		return nil
	}
	out := new(UpstreamActiveHealthCheckUnhealthy)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *UpstreamHealthCheck) DeepCopyInto(out *UpstreamHealthCheck) {
	*out = *in
	if in.Active != nil {
		in, out := &in.Active, &out.Active
		*out = new(UpstreamActiveHealthCheck)
		(*in).DeepCopyInto(*out)
	}
	if in.Passive != nil {
		in, out := &in.Passive, &out.Passive
		*out = new(UpstreamPassiveHealthCheck)
		(*in).DeepCopyInto(*out)
	}
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new UpstreamHealthCheck.
func (in *UpstreamHealthCheck) DeepCopy() *UpstreamHealthCheck {
	if in == nil {
		return nil
	}
	out := new(UpstreamHealthCheck)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *UpstreamPassiveHealthCheck) DeepCopyInto(out *UpstreamPassiveHealthCheck) {
	*out = *in
	in.Healthy.DeepCopyInto(&out.Healthy)
	in.Unhealthy.DeepCopyInto(&out.Unhealthy)
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new UpstreamPassiveHealthCheck.
func (in *UpstreamPassiveHealthCheck) DeepCopy() *UpstreamPassiveHealthCheck {
	if in == nil {
		return nil
	}
	out := new(UpstreamPassiveHealthCheck)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *UpstreamPassiveHealthCheckHealthy) DeepCopyInto(out *UpstreamPassiveHealthCheckHealthy) {
	*out = *in
	if in.HTTPStatuses != nil {
		in, out := &in.HTTPStatuses, &out.HTTPStatuses
		*out = make([]int, len(*in))
		copy(*out, *in)
	}
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new UpstreamPassiveHealthCheckHealthy.
func (in *UpstreamPassiveHealthCheckHealthy) DeepCopy() *UpstreamPassiveHealthCheckHealthy {
	if in == nil {
		return nil
	}
	out := new(UpstreamPassiveHealthCheckHealthy)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *UpstreamPassiveHealthCheckUnhealthy) DeepCopyInto(out *UpstreamPassiveHealthCheckUnhealthy) {
	*out = *in
	if in.HTTPStatuses != nil {
		in, out := &in.HTTPStatuses, &out.HTTPStatuses
		*out = make([]int, len(*in))
		copy(*out, *in)
	}
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new UpstreamPassiveHealthCheckUnhealthy.
func (in *UpstreamPassiveHealthCheckUnhealthy) DeepCopy() *UpstreamPassiveHealthCheckUnhealthy {
	if in == nil {
		return nil
	}
	out := new(UpstreamPassiveHealthCheckUnhealthy)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *WolfRBACConsumerConfig) DeepCopyInto(out *WolfRBACConsumerConfig) {
	*out = *in
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WolfRBACConsumerConfig.
func (in *WolfRBACConsumerConfig) DeepCopy() *WolfRBACConsumerConfig {
	if in == nil {
		return nil
	}
	out := new(WolfRBACConsumerConfig)
	in.DeepCopyInto(out)
	return out
}
