// Code generated by go-swagger; DO NOT EDIT.

package a_bit_of_everything

import (
	"context"
	"net/http"
	"time"

	"github.com/go-openapi/errors"
	"github.com/go-openapi/runtime"
	cr "github.com/go-openapi/runtime/client"
	"github.com/go-openapi/strfmt"
	"github.com/go-openapi/swag"
)

// NewABitOfEverythingServiceGetRepeatedQueryParams creates a new ABitOfEverythingServiceGetRepeatedQueryParams object,
// with the default timeout for this client.
//
// Default values are not hydrated, since defaults are normally applied by the API server side.
//
// To enforce default values in parameter, use SetDefaults or WithDefaults.
func NewABitOfEverythingServiceGetRepeatedQueryParams() *ABitOfEverythingServiceGetRepeatedQueryParams {
	return &ABitOfEverythingServiceGetRepeatedQueryParams{
		timeout: cr.DefaultTimeout,
	}
}

// NewABitOfEverythingServiceGetRepeatedQueryParamsWithTimeout creates a new ABitOfEverythingServiceGetRepeatedQueryParams object
// with the ability to set a timeout on a request.
func NewABitOfEverythingServiceGetRepeatedQueryParamsWithTimeout(timeout time.Duration) *ABitOfEverythingServiceGetRepeatedQueryParams {
	return &ABitOfEverythingServiceGetRepeatedQueryParams{
		timeout: timeout,
	}
}

// NewABitOfEverythingServiceGetRepeatedQueryParamsWithContext creates a new ABitOfEverythingServiceGetRepeatedQueryParams object
// with the ability to set a context for a request.
func NewABitOfEverythingServiceGetRepeatedQueryParamsWithContext(ctx context.Context) *ABitOfEverythingServiceGetRepeatedQueryParams {
	return &ABitOfEverythingServiceGetRepeatedQueryParams{
		Context: ctx,
	}
}

// NewABitOfEverythingServiceGetRepeatedQueryParamsWithHTTPClient creates a new ABitOfEverythingServiceGetRepeatedQueryParams object
// with the ability to set a custom HTTPClient for a request.
func NewABitOfEverythingServiceGetRepeatedQueryParamsWithHTTPClient(client *http.Client) *ABitOfEverythingServiceGetRepeatedQueryParams {
	return &ABitOfEverythingServiceGetRepeatedQueryParams{
		HTTPClient: client,
	}
}

/*
ABitOfEverythingServiceGetRepeatedQueryParams contains all the parameters to send to the API endpoint

	for the a bit of everything service get repeated query operation.

	Typically these are written to a http.Request.
*/
type ABitOfEverythingServiceGetRepeatedQueryParams struct {

	// PathRepeatedBoolValue.
	PathRepeatedBoolValue []bool

	// PathRepeatedBytesValue.
	PathRepeatedBytesValue []strfmt.Base64

	// PathRepeatedDoubleValue.
	PathRepeatedDoubleValue []float64

	// PathRepeatedEnumValue.
	PathRepeatedEnumValue []string

	// PathRepeatedFixed32Value.
	PathRepeatedFixed32Value []int64

	// PathRepeatedFixed64Value.
	PathRepeatedFixed64Value []string

	/* PathRepeatedFloatValue.

	   repeated values. they are comma-separated in path
	*/
	PathRepeatedFloatValue []float32

	// PathRepeatedInt32Value.
	PathRepeatedInt32Value []int32

	// PathRepeatedInt64Value.
	PathRepeatedInt64Value []string

	// PathRepeatedSfixed32Value.
	PathRepeatedSfixed32Value []int32

	// PathRepeatedSfixed64Value.
	PathRepeatedSfixed64Value []string

	// PathRepeatedSint32Value.
	PathRepeatedSint32Value []int32

	// PathRepeatedSint64Value.
	PathRepeatedSint64Value []string

	// PathRepeatedStringValue.
	PathRepeatedStringValue []string

	// PathRepeatedUint32Value.
	PathRepeatedUint32Value []int64

	// PathRepeatedUint64Value.
	PathRepeatedUint64Value []string

	timeout    time.Duration
	Context    context.Context
	HTTPClient *http.Client
}

// WithDefaults hydrates default values in the a bit of everything service get repeated query params (not the query body).
//
// All values with no default are reset to their zero value.
func (o *ABitOfEverythingServiceGetRepeatedQueryParams) WithDefaults() *ABitOfEverythingServiceGetRepeatedQueryParams {
	o.SetDefaults()
	return o
}

// SetDefaults hydrates default values in the a bit of everything service get repeated query params (not the query body).
//
// All values with no default are reset to their zero value.
func (o *ABitOfEverythingServiceGetRepeatedQueryParams) SetDefaults() {
	// no default values defined for this parameter
}

// WithTimeout adds the timeout to the a bit of everything service get repeated query params
func (o *ABitOfEverythingServiceGetRepeatedQueryParams) WithTimeout(timeout time.Duration) *ABitOfEverythingServiceGetRepeatedQueryParams {
	o.SetTimeout(timeout)
	return o
}

// SetTimeout adds the timeout to the a bit of everything service get repeated query params
func (o *ABitOfEverythingServiceGetRepeatedQueryParams) SetTimeout(timeout time.Duration) {
	o.timeout = timeout
}

// WithContext adds the context to the a bit of everything service get repeated query params
func (o *ABitOfEverythingServiceGetRepeatedQueryParams) WithContext(ctx context.Context) *ABitOfEverythingServiceGetRepeatedQueryParams {
	o.SetContext(ctx)
	return o
}

// SetContext adds the context to the a bit of everything service get repeated query params
func (o *ABitOfEverythingServiceGetRepeatedQueryParams) SetContext(ctx context.Context) {
	o.Context = ctx
}

// WithHTTPClient adds the HTTPClient to the a bit of everything service get repeated query params
func (o *ABitOfEverythingServiceGetRepeatedQueryParams) WithHTTPClient(client *http.Client) *ABitOfEverythingServiceGetRepeatedQueryParams {
	o.SetHTTPClient(client)
	return o
}

// SetHTTPClient adds the HTTPClient to the a bit of everything service get repeated query params
func (o *ABitOfEverythingServiceGetRepeatedQueryParams) SetHTTPClient(client *http.Client) {
	o.HTTPClient = client
}

// WithPathRepeatedBoolValue adds the pathRepeatedBoolValue to the a bit of everything service get repeated query params
func (o *ABitOfEverythingServiceGetRepeatedQueryParams) WithPathRepeatedBoolValue(pathRepeatedBoolValue []bool) *ABitOfEverythingServiceGetRepeatedQueryParams {
	o.SetPathRepeatedBoolValue(pathRepeatedBoolValue)
	return o
}

// SetPathRepeatedBoolValue adds the pathRepeatedBoolValue to the a bit of everything service get repeated query params
func (o *ABitOfEverythingServiceGetRepeatedQueryParams) SetPathRepeatedBoolValue(pathRepeatedBoolValue []bool) {
	o.PathRepeatedBoolValue = pathRepeatedBoolValue
}

// WithPathRepeatedBytesValue adds the pathRepeatedBytesValue to the a bit of everything service get repeated query params
func (o *ABitOfEverythingServiceGetRepeatedQueryParams) WithPathRepeatedBytesValue(pathRepeatedBytesValue []strfmt.Base64) *ABitOfEverythingServiceGetRepeatedQueryParams {
	o.SetPathRepeatedBytesValue(pathRepeatedBytesValue)
	return o
}

// SetPathRepeatedBytesValue adds the pathRepeatedBytesValue to the a bit of everything service get repeated query params
func (o *ABitOfEverythingServiceGetRepeatedQueryParams) SetPathRepeatedBytesValue(pathRepeatedBytesValue []strfmt.Base64) {
	o.PathRepeatedBytesValue = pathRepeatedBytesValue
}

// WithPathRepeatedDoubleValue adds the pathRepeatedDoubleValue to the a bit of everything service get repeated query params
func (o *ABitOfEverythingServiceGetRepeatedQueryParams) WithPathRepeatedDoubleValue(pathRepeatedDoubleValue []float64) *ABitOfEverythingServiceGetRepeatedQueryParams {
	o.SetPathRepeatedDoubleValue(pathRepeatedDoubleValue)
	return o
}

// SetPathRepeatedDoubleValue adds the pathRepeatedDoubleValue to the a bit of everything service get repeated query params
func (o *ABitOfEverythingServiceGetRepeatedQueryParams) SetPathRepeatedDoubleValue(pathRepeatedDoubleValue []float64) {
	o.PathRepeatedDoubleValue = pathRepeatedDoubleValue
}

// WithPathRepeatedEnumValue adds the pathRepeatedEnumValue to the a bit of everything service get repeated query params
func (o *ABitOfEverythingServiceGetRepeatedQueryParams) WithPathRepeatedEnumValue(pathRepeatedEnumValue []string) *ABitOfEverythingServiceGetRepeatedQueryParams {
	o.SetPathRepeatedEnumValue(pathRepeatedEnumValue)
	return o
}

// SetPathRepeatedEnumValue adds the pathRepeatedEnumValue to the a bit of everything service get repeated query params
func (o *ABitOfEverythingServiceGetRepeatedQueryParams) SetPathRepeatedEnumValue(pathRepeatedEnumValue []string) {
	o.PathRepeatedEnumValue = pathRepeatedEnumValue
}

// WithPathRepeatedFixed32Value adds the pathRepeatedFixed32Value to the a bit of everything service get repeated query params
func (o *ABitOfEverythingServiceGetRepeatedQueryParams) WithPathRepeatedFixed32Value(pathRepeatedFixed32Value []int64) *ABitOfEverythingServiceGetRepeatedQueryParams {
	o.SetPathRepeatedFixed32Value(pathRepeatedFixed32Value)
	return o
}

// SetPathRepeatedFixed32Value adds the pathRepeatedFixed32Value to the a bit of everything service get repeated query params
func (o *ABitOfEverythingServiceGetRepeatedQueryParams) SetPathRepeatedFixed32Value(pathRepeatedFixed32Value []int64) {
	o.PathRepeatedFixed32Value = pathRepeatedFixed32Value
}

// WithPathRepeatedFixed64Value adds the pathRepeatedFixed64Value to the a bit of everything service get repeated query params
func (o *ABitOfEverythingServiceGetRepeatedQueryParams) WithPathRepeatedFixed64Value(pathRepeatedFixed64Value []string) *ABitOfEverythingServiceGetRepeatedQueryParams {
	o.SetPathRepeatedFixed64Value(pathRepeatedFixed64Value)
	return o
}

// SetPathRepeatedFixed64Value adds the pathRepeatedFixed64Value to the a bit of everything service get repeated query params
func (o *ABitOfEverythingServiceGetRepeatedQueryParams) SetPathRepeatedFixed64Value(pathRepeatedFixed64Value []string) {
	o.PathRepeatedFixed64Value = pathRepeatedFixed64Value
}

// WithPathRepeatedFloatValue adds the pathRepeatedFloatValue to the a bit of everything service get repeated query params
func (o *ABitOfEverythingServiceGetRepeatedQueryParams) WithPathRepeatedFloatValue(pathRepeatedFloatValue []float32) *ABitOfEverythingServiceGetRepeatedQueryParams {
	o.SetPathRepeatedFloatValue(pathRepeatedFloatValue)
	return o
}

// SetPathRepeatedFloatValue adds the pathRepeatedFloatValue to the a bit of everything service get repeated query params
func (o *ABitOfEverythingServiceGetRepeatedQueryParams) SetPathRepeatedFloatValue(pathRepeatedFloatValue []float32) {
	o.PathRepeatedFloatValue = pathRepeatedFloatValue
}

// WithPathRepeatedInt32Value adds the pathRepeatedInt32Value to the a bit of everything service get repeated query params
func (o *ABitOfEverythingServiceGetRepeatedQueryParams) WithPathRepeatedInt32Value(pathRepeatedInt32Value []int32) *ABitOfEverythingServiceGetRepeatedQueryParams {
	o.SetPathRepeatedInt32Value(pathRepeatedInt32Value)
	return o
}

// SetPathRepeatedInt32Value adds the pathRepeatedInt32Value to the a bit of everything service get repeated query params
func (o *ABitOfEverythingServiceGetRepeatedQueryParams) SetPathRepeatedInt32Value(pathRepeatedInt32Value []int32) {
	o.PathRepeatedInt32Value = pathRepeatedInt32Value
}

// WithPathRepeatedInt64Value adds the pathRepeatedInt64Value to the a bit of everything service get repeated query params
func (o *ABitOfEverythingServiceGetRepeatedQueryParams) WithPathRepeatedInt64Value(pathRepeatedInt64Value []string) *ABitOfEverythingServiceGetRepeatedQueryParams {
	o.SetPathRepeatedInt64Value(pathRepeatedInt64Value)
	return o
}

// SetPathRepeatedInt64Value adds the pathRepeatedInt64Value to the a bit of everything service get repeated query params
func (o *ABitOfEverythingServiceGetRepeatedQueryParams) SetPathRepeatedInt64Value(pathRepeatedInt64Value []string) {
	o.PathRepeatedInt64Value = pathRepeatedInt64Value
}

// WithPathRepeatedSfixed32Value adds the pathRepeatedSfixed32Value to the a bit of everything service get repeated query params
func (o *ABitOfEverythingServiceGetRepeatedQueryParams) WithPathRepeatedSfixed32Value(pathRepeatedSfixed32Value []int32) *ABitOfEverythingServiceGetRepeatedQueryParams {
	o.SetPathRepeatedSfixed32Value(pathRepeatedSfixed32Value)
	return o
}

// SetPathRepeatedSfixed32Value adds the pathRepeatedSfixed32Value to the a bit of everything service get repeated query params
func (o *ABitOfEverythingServiceGetRepeatedQueryParams) SetPathRepeatedSfixed32Value(pathRepeatedSfixed32Value []int32) {
	o.PathRepeatedSfixed32Value = pathRepeatedSfixed32Value
}

// WithPathRepeatedSfixed64Value adds the pathRepeatedSfixed64Value to the a bit of everything service get repeated query params
func (o *ABitOfEverythingServiceGetRepeatedQueryParams) WithPathRepeatedSfixed64Value(pathRepeatedSfixed64Value []string) *ABitOfEverythingServiceGetRepeatedQueryParams {
	o.SetPathRepeatedSfixed64Value(pathRepeatedSfixed64Value)
	return o
}

// SetPathRepeatedSfixed64Value adds the pathRepeatedSfixed64Value to the a bit of everything service get repeated query params
func (o *ABitOfEverythingServiceGetRepeatedQueryParams) SetPathRepeatedSfixed64Value(pathRepeatedSfixed64Value []string) {
	o.PathRepeatedSfixed64Value = pathRepeatedSfixed64Value
}

// WithPathRepeatedSint32Value adds the pathRepeatedSint32Value to the a bit of everything service get repeated query params
func (o *ABitOfEverythingServiceGetRepeatedQueryParams) WithPathRepeatedSint32Value(pathRepeatedSint32Value []int32) *ABitOfEverythingServiceGetRepeatedQueryParams {
	o.SetPathRepeatedSint32Value(pathRepeatedSint32Value)
	return o
}

// SetPathRepeatedSint32Value adds the pathRepeatedSint32Value to the a bit of everything service get repeated query params
func (o *ABitOfEverythingServiceGetRepeatedQueryParams) SetPathRepeatedSint32Value(pathRepeatedSint32Value []int32) {
	o.PathRepeatedSint32Value = pathRepeatedSint32Value
}

// WithPathRepeatedSint64Value adds the pathRepeatedSint64Value to the a bit of everything service get repeated query params
func (o *ABitOfEverythingServiceGetRepeatedQueryParams) WithPathRepeatedSint64Value(pathRepeatedSint64Value []string) *ABitOfEverythingServiceGetRepeatedQueryParams {
	o.SetPathRepeatedSint64Value(pathRepeatedSint64Value)
	return o
}

// SetPathRepeatedSint64Value adds the pathRepeatedSint64Value to the a bit of everything service get repeated query params
func (o *ABitOfEverythingServiceGetRepeatedQueryParams) SetPathRepeatedSint64Value(pathRepeatedSint64Value []string) {
	o.PathRepeatedSint64Value = pathRepeatedSint64Value
}

// WithPathRepeatedStringValue adds the pathRepeatedStringValue to the a bit of everything service get repeated query params
func (o *ABitOfEverythingServiceGetRepeatedQueryParams) WithPathRepeatedStringValue(pathRepeatedStringValue []string) *ABitOfEverythingServiceGetRepeatedQueryParams {
	o.SetPathRepeatedStringValue(pathRepeatedStringValue)
	return o
}

// SetPathRepeatedStringValue adds the pathRepeatedStringValue to the a bit of everything service get repeated query params
func (o *ABitOfEverythingServiceGetRepeatedQueryParams) SetPathRepeatedStringValue(pathRepeatedStringValue []string) {
	o.PathRepeatedStringValue = pathRepeatedStringValue
}

// WithPathRepeatedUint32Value adds the pathRepeatedUint32Value to the a bit of everything service get repeated query params
func (o *ABitOfEverythingServiceGetRepeatedQueryParams) WithPathRepeatedUint32Value(pathRepeatedUint32Value []int64) *ABitOfEverythingServiceGetRepeatedQueryParams {
	o.SetPathRepeatedUint32Value(pathRepeatedUint32Value)
	return o
}

// SetPathRepeatedUint32Value adds the pathRepeatedUint32Value to the a bit of everything service get repeated query params
func (o *ABitOfEverythingServiceGetRepeatedQueryParams) SetPathRepeatedUint32Value(pathRepeatedUint32Value []int64) {
	o.PathRepeatedUint32Value = pathRepeatedUint32Value
}

// WithPathRepeatedUint64Value adds the pathRepeatedUint64Value to the a bit of everything service get repeated query params
func (o *ABitOfEverythingServiceGetRepeatedQueryParams) WithPathRepeatedUint64Value(pathRepeatedUint64Value []string) *ABitOfEverythingServiceGetRepeatedQueryParams {
	o.SetPathRepeatedUint64Value(pathRepeatedUint64Value)
	return o
}

// SetPathRepeatedUint64Value adds the pathRepeatedUint64Value to the a bit of everything service get repeated query params
func (o *ABitOfEverythingServiceGetRepeatedQueryParams) SetPathRepeatedUint64Value(pathRepeatedUint64Value []string) {
	o.PathRepeatedUint64Value = pathRepeatedUint64Value
}

// WriteToRequest writes these params to a swagger request
func (o *ABitOfEverythingServiceGetRepeatedQueryParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error {

	if err := r.SetTimeout(o.timeout); err != nil {
		return err
	}
	var res []error

	if o.PathRepeatedBoolValue != nil {

		// binding items for pathRepeatedBoolValue
		joinedPathRepeatedBoolValue := o.bindParamPathRepeatedBoolValue(reg)

		// path array param pathRepeatedBoolValue
		// SetPathParam does not support variadic arguments, since we used JoinByFormat
		// we can send the first item in the array as it's all the items of the previous
		// array joined together
		if len(joinedPathRepeatedBoolValue) > 0 {
			if err := r.SetPathParam("pathRepeatedBoolValue", joinedPathRepeatedBoolValue[0]); err != nil {
				return err
			}
		}
	}

	if o.PathRepeatedBytesValue != nil {

		// binding items for pathRepeatedBytesValue
		joinedPathRepeatedBytesValue := o.bindParamPathRepeatedBytesValue(reg)

		// path array param pathRepeatedBytesValue
		// SetPathParam does not support variadic arguments, since we used JoinByFormat
		// we can send the first item in the array as it's all the items of the previous
		// array joined together
		if len(joinedPathRepeatedBytesValue) > 0 {
			if err := r.SetPathParam("pathRepeatedBytesValue", joinedPathRepeatedBytesValue[0]); err != nil {
				return err
			}
		}
	}

	if o.PathRepeatedDoubleValue != nil {

		// binding items for pathRepeatedDoubleValue
		joinedPathRepeatedDoubleValue := o.bindParamPathRepeatedDoubleValue(reg)

		// path array param pathRepeatedDoubleValue
		// SetPathParam does not support variadic arguments, since we used JoinByFormat
		// we can send the first item in the array as it's all the items of the previous
		// array joined together
		if len(joinedPathRepeatedDoubleValue) > 0 {
			if err := r.SetPathParam("pathRepeatedDoubleValue", joinedPathRepeatedDoubleValue[0]); err != nil {
				return err
			}
		}
	}

	if o.PathRepeatedEnumValue != nil {

		// binding items for pathRepeatedEnumValue
		joinedPathRepeatedEnumValue := o.bindParamPathRepeatedEnumValue(reg)

		// path array param pathRepeatedEnumValue
		// SetPathParam does not support variadic arguments, since we used JoinByFormat
		// we can send the first item in the array as it's all the items of the previous
		// array joined together
		if len(joinedPathRepeatedEnumValue) > 0 {
			if err := r.SetPathParam("pathRepeatedEnumValue", joinedPathRepeatedEnumValue[0]); err != nil {
				return err
			}
		}
	}

	if o.PathRepeatedFixed32Value != nil {

		// binding items for pathRepeatedFixed32Value
		joinedPathRepeatedFixed32Value := o.bindParamPathRepeatedFixed32Value(reg)

		// path array param pathRepeatedFixed32Value
		// SetPathParam does not support variadic arguments, since we used JoinByFormat
		// we can send the first item in the array as it's all the items of the previous
		// array joined together
		if len(joinedPathRepeatedFixed32Value) > 0 {
			if err := r.SetPathParam("pathRepeatedFixed32Value", joinedPathRepeatedFixed32Value[0]); err != nil {
				return err
			}
		}
	}

	if o.PathRepeatedFixed64Value != nil {

		// binding items for pathRepeatedFixed64Value
		joinedPathRepeatedFixed64Value := o.bindParamPathRepeatedFixed64Value(reg)

		// path array param pathRepeatedFixed64Value
		// SetPathParam does not support variadic arguments, since we used JoinByFormat
		// we can send the first item in the array as it's all the items of the previous
		// array joined together
		if len(joinedPathRepeatedFixed64Value) > 0 {
			if err := r.SetPathParam("pathRepeatedFixed64Value", joinedPathRepeatedFixed64Value[0]); err != nil {
				return err
			}
		}
	}

	if o.PathRepeatedFloatValue != nil {

		// binding items for pathRepeatedFloatValue
		joinedPathRepeatedFloatValue := o.bindParamPathRepeatedFloatValue(reg)

		// path array param pathRepeatedFloatValue
		// SetPathParam does not support variadic arguments, since we used JoinByFormat
		// we can send the first item in the array as it's all the items of the previous
		// array joined together
		if len(joinedPathRepeatedFloatValue) > 0 {
			if err := r.SetPathParam("pathRepeatedFloatValue", joinedPathRepeatedFloatValue[0]); err != nil {
				return err
			}
		}
	}

	if o.PathRepeatedInt32Value != nil {

		// binding items for pathRepeatedInt32Value
		joinedPathRepeatedInt32Value := o.bindParamPathRepeatedInt32Value(reg)

		// path array param pathRepeatedInt32Value
		// SetPathParam does not support variadic arguments, since we used JoinByFormat
		// we can send the first item in the array as it's all the items of the previous
		// array joined together
		if len(joinedPathRepeatedInt32Value) > 0 {
			if err := r.SetPathParam("pathRepeatedInt32Value", joinedPathRepeatedInt32Value[0]); err != nil {
				return err
			}
		}
	}

	if o.PathRepeatedInt64Value != nil {

		// binding items for pathRepeatedInt64Value
		joinedPathRepeatedInt64Value := o.bindParamPathRepeatedInt64Value(reg)

		// path array param pathRepeatedInt64Value
		// SetPathParam does not support variadic arguments, since we used JoinByFormat
		// we can send the first item in the array as it's all the items of the previous
		// array joined together
		if len(joinedPathRepeatedInt64Value) > 0 {
			if err := r.SetPathParam("pathRepeatedInt64Value", joinedPathRepeatedInt64Value[0]); err != nil {
				return err
			}
		}
	}

	if o.PathRepeatedSfixed32Value != nil {

		// binding items for pathRepeatedSfixed32Value
		joinedPathRepeatedSfixed32Value := o.bindParamPathRepeatedSfixed32Value(reg)

		// path array param pathRepeatedSfixed32Value
		// SetPathParam does not support variadic arguments, since we used JoinByFormat
		// we can send the first item in the array as it's all the items of the previous
		// array joined together
		if len(joinedPathRepeatedSfixed32Value) > 0 {
			if err := r.SetPathParam("pathRepeatedSfixed32Value", joinedPathRepeatedSfixed32Value[0]); err != nil {
				return err
			}
		}
	}

	if o.PathRepeatedSfixed64Value != nil {

		// binding items for pathRepeatedSfixed64Value
		joinedPathRepeatedSfixed64Value := o.bindParamPathRepeatedSfixed64Value(reg)

		// path array param pathRepeatedSfixed64Value
		// SetPathParam does not support variadic arguments, since we used JoinByFormat
		// we can send the first item in the array as it's all the items of the previous
		// array joined together
		if len(joinedPathRepeatedSfixed64Value) > 0 {
			if err := r.SetPathParam("pathRepeatedSfixed64Value", joinedPathRepeatedSfixed64Value[0]); err != nil {
				return err
			}
		}
	}

	if o.PathRepeatedSint32Value != nil {

		// binding items for pathRepeatedSint32Value
		joinedPathRepeatedSint32Value := o.bindParamPathRepeatedSint32Value(reg)

		// path array param pathRepeatedSint32Value
		// SetPathParam does not support variadic arguments, since we used JoinByFormat
		// we can send the first item in the array as it's all the items of the previous
		// array joined together
		if len(joinedPathRepeatedSint32Value) > 0 {
			if err := r.SetPathParam("pathRepeatedSint32Value", joinedPathRepeatedSint32Value[0]); err != nil {
				return err
			}
		}
	}

	if o.PathRepeatedSint64Value != nil {

		// binding items for pathRepeatedSint64Value
		joinedPathRepeatedSint64Value := o.bindParamPathRepeatedSint64Value(reg)

		// path array param pathRepeatedSint64Value
		// SetPathParam does not support variadic arguments, since we used JoinByFormat
		// we can send the first item in the array as it's all the items of the previous
		// array joined together
		if len(joinedPathRepeatedSint64Value) > 0 {
			if err := r.SetPathParam("pathRepeatedSint64Value", joinedPathRepeatedSint64Value[0]); err != nil {
				return err
			}
		}
	}

	if o.PathRepeatedStringValue != nil {

		// binding items for pathRepeatedStringValue
		joinedPathRepeatedStringValue := o.bindParamPathRepeatedStringValue(reg)

		// path array param pathRepeatedStringValue
		// SetPathParam does not support variadic arguments, since we used JoinByFormat
		// we can send the first item in the array as it's all the items of the previous
		// array joined together
		if len(joinedPathRepeatedStringValue) > 0 {
			if err := r.SetPathParam("pathRepeatedStringValue", joinedPathRepeatedStringValue[0]); err != nil {
				return err
			}
		}
	}

	if o.PathRepeatedUint32Value != nil {

		// binding items for pathRepeatedUint32Value
		joinedPathRepeatedUint32Value := o.bindParamPathRepeatedUint32Value(reg)

		// path array param pathRepeatedUint32Value
		// SetPathParam does not support variadic arguments, since we used JoinByFormat
		// we can send the first item in the array as it's all the items of the previous
		// array joined together
		if len(joinedPathRepeatedUint32Value) > 0 {
			if err := r.SetPathParam("pathRepeatedUint32Value", joinedPathRepeatedUint32Value[0]); err != nil {
				return err
			}
		}
	}

	if o.PathRepeatedUint64Value != nil {

		// binding items for pathRepeatedUint64Value
		joinedPathRepeatedUint64Value := o.bindParamPathRepeatedUint64Value(reg)

		// path array param pathRepeatedUint64Value
		// SetPathParam does not support variadic arguments, since we used JoinByFormat
		// we can send the first item in the array as it's all the items of the previous
		// array joined together
		if len(joinedPathRepeatedUint64Value) > 0 {
			if err := r.SetPathParam("pathRepeatedUint64Value", joinedPathRepeatedUint64Value[0]); err != nil {
				return err
			}
		}
	}

	if len(res) > 0 {
		return errors.CompositeValidationError(res...)
	}
	return nil
}

// bindParamABitOfEverythingServiceGetRepeatedQuery binds the parameter pathRepeatedBoolValue
func (o *ABitOfEverythingServiceGetRepeatedQueryParams) bindParamPathRepeatedBoolValue(formats strfmt.Registry) []string {
	pathRepeatedBoolValueIR := o.PathRepeatedBoolValue

	var pathRepeatedBoolValueIC []string
	for _, pathRepeatedBoolValueIIR := range pathRepeatedBoolValueIR { // explode []bool

		pathRepeatedBoolValueIIV := swag.FormatBool(pathRepeatedBoolValueIIR) // bool as string
		pathRepeatedBoolValueIC = append(pathRepeatedBoolValueIC, pathRepeatedBoolValueIIV)
	}

	// items.CollectionFormat: "csv"
	pathRepeatedBoolValueIS := swag.JoinByFormat(pathRepeatedBoolValueIC, "csv")

	return pathRepeatedBoolValueIS
}

// bindParamABitOfEverythingServiceGetRepeatedQuery binds the parameter pathRepeatedBytesValue
func (o *ABitOfEverythingServiceGetRepeatedQueryParams) bindParamPathRepeatedBytesValue(formats strfmt.Registry) []string {
	pathRepeatedBytesValueIR := o.PathRepeatedBytesValue

	var pathRepeatedBytesValueIC []string
	for _, pathRepeatedBytesValueIIR := range pathRepeatedBytesValueIR { // explode []strfmt.Base64

		pathRepeatedBytesValueIIV := pathRepeatedBytesValueIIR.String() // strfmt.Base64 as string
		pathRepeatedBytesValueIC = append(pathRepeatedBytesValueIC, pathRepeatedBytesValueIIV)
	}

	// items.CollectionFormat: "csv"
	pathRepeatedBytesValueIS := swag.JoinByFormat(pathRepeatedBytesValueIC, "csv")

	return pathRepeatedBytesValueIS
}

// bindParamABitOfEverythingServiceGetRepeatedQuery binds the parameter pathRepeatedDoubleValue
func (o *ABitOfEverythingServiceGetRepeatedQueryParams) bindParamPathRepeatedDoubleValue(formats strfmt.Registry) []string {
	pathRepeatedDoubleValueIR := o.PathRepeatedDoubleValue

	var pathRepeatedDoubleValueIC []string
	for _, pathRepeatedDoubleValueIIR := range pathRepeatedDoubleValueIR { // explode []float64

		pathRepeatedDoubleValueIIV := swag.FormatFloat64(pathRepeatedDoubleValueIIR) // float64 as string
		pathRepeatedDoubleValueIC = append(pathRepeatedDoubleValueIC, pathRepeatedDoubleValueIIV)
	}

	// items.CollectionFormat: "csv"
	pathRepeatedDoubleValueIS := swag.JoinByFormat(pathRepeatedDoubleValueIC, "csv")

	return pathRepeatedDoubleValueIS
}

// bindParamABitOfEverythingServiceGetRepeatedQuery binds the parameter pathRepeatedEnumValue
func (o *ABitOfEverythingServiceGetRepeatedQueryParams) bindParamPathRepeatedEnumValue(formats strfmt.Registry) []string {
	pathRepeatedEnumValueIR := o.PathRepeatedEnumValue

	var pathRepeatedEnumValueIC []string
	for _, pathRepeatedEnumValueIIR := range pathRepeatedEnumValueIR { // explode []string

		pathRepeatedEnumValueIIV := pathRepeatedEnumValueIIR // string as string
		pathRepeatedEnumValueIC = append(pathRepeatedEnumValueIC, pathRepeatedEnumValueIIV)
	}

	// items.CollectionFormat: "csv"
	pathRepeatedEnumValueIS := swag.JoinByFormat(pathRepeatedEnumValueIC, "csv")

	return pathRepeatedEnumValueIS
}

// bindParamABitOfEverythingServiceGetRepeatedQuery binds the parameter pathRepeatedFixed32Value
func (o *ABitOfEverythingServiceGetRepeatedQueryParams) bindParamPathRepeatedFixed32Value(formats strfmt.Registry) []string {
	pathRepeatedFixed32ValueIR := o.PathRepeatedFixed32Value

	var pathRepeatedFixed32ValueIC []string
	for _, pathRepeatedFixed32ValueIIR := range pathRepeatedFixed32ValueIR { // explode []int64

		pathRepeatedFixed32ValueIIV := swag.FormatInt64(pathRepeatedFixed32ValueIIR) // int64 as string
		pathRepeatedFixed32ValueIC = append(pathRepeatedFixed32ValueIC, pathRepeatedFixed32ValueIIV)
	}

	// items.CollectionFormat: "csv"
	pathRepeatedFixed32ValueIS := swag.JoinByFormat(pathRepeatedFixed32ValueIC, "csv")

	return pathRepeatedFixed32ValueIS
}

// bindParamABitOfEverythingServiceGetRepeatedQuery binds the parameter pathRepeatedFixed64Value
func (o *ABitOfEverythingServiceGetRepeatedQueryParams) bindParamPathRepeatedFixed64Value(formats strfmt.Registry) []string {
	pathRepeatedFixed64ValueIR := o.PathRepeatedFixed64Value

	var pathRepeatedFixed64ValueIC []string
	for _, pathRepeatedFixed64ValueIIR := range pathRepeatedFixed64ValueIR { // explode []string

		pathRepeatedFixed64ValueIIV := pathRepeatedFixed64ValueIIR // string as string
		pathRepeatedFixed64ValueIC = append(pathRepeatedFixed64ValueIC, pathRepeatedFixed64ValueIIV)
	}

	// items.CollectionFormat: "csv"
	pathRepeatedFixed64ValueIS := swag.JoinByFormat(pathRepeatedFixed64ValueIC, "csv")

	return pathRepeatedFixed64ValueIS
}

// bindParamABitOfEverythingServiceGetRepeatedQuery binds the parameter pathRepeatedFloatValue
func (o *ABitOfEverythingServiceGetRepeatedQueryParams) bindParamPathRepeatedFloatValue(formats strfmt.Registry) []string {
	pathRepeatedFloatValueIR := o.PathRepeatedFloatValue

	var pathRepeatedFloatValueIC []string
	for _, pathRepeatedFloatValueIIR := range pathRepeatedFloatValueIR { // explode []float32

		pathRepeatedFloatValueIIV := swag.FormatFloat32(pathRepeatedFloatValueIIR) // float32 as string
		pathRepeatedFloatValueIC = append(pathRepeatedFloatValueIC, pathRepeatedFloatValueIIV)
	}

	// items.CollectionFormat: "csv"
	pathRepeatedFloatValueIS := swag.JoinByFormat(pathRepeatedFloatValueIC, "csv")

	return pathRepeatedFloatValueIS
}

// bindParamABitOfEverythingServiceGetRepeatedQuery binds the parameter pathRepeatedInt32Value
func (o *ABitOfEverythingServiceGetRepeatedQueryParams) bindParamPathRepeatedInt32Value(formats strfmt.Registry) []string {
	pathRepeatedInt32ValueIR := o.PathRepeatedInt32Value

	var pathRepeatedInt32ValueIC []string
	for _, pathRepeatedInt32ValueIIR := range pathRepeatedInt32ValueIR { // explode []int32

		pathRepeatedInt32ValueIIV := swag.FormatInt32(pathRepeatedInt32ValueIIR) // int32 as string
		pathRepeatedInt32ValueIC = append(pathRepeatedInt32ValueIC, pathRepeatedInt32ValueIIV)
	}

	// items.CollectionFormat: "csv"
	pathRepeatedInt32ValueIS := swag.JoinByFormat(pathRepeatedInt32ValueIC, "csv")

	return pathRepeatedInt32ValueIS
}

// bindParamABitOfEverythingServiceGetRepeatedQuery binds the parameter pathRepeatedInt64Value
func (o *ABitOfEverythingServiceGetRepeatedQueryParams) bindParamPathRepeatedInt64Value(formats strfmt.Registry) []string {
	pathRepeatedInt64ValueIR := o.PathRepeatedInt64Value

	var pathRepeatedInt64ValueIC []string
	for _, pathRepeatedInt64ValueIIR := range pathRepeatedInt64ValueIR { // explode []string

		pathRepeatedInt64ValueIIV := pathRepeatedInt64ValueIIR // string as string
		pathRepeatedInt64ValueIC = append(pathRepeatedInt64ValueIC, pathRepeatedInt64ValueIIV)
	}

	// items.CollectionFormat: "csv"
	pathRepeatedInt64ValueIS := swag.JoinByFormat(pathRepeatedInt64ValueIC, "csv")

	return pathRepeatedInt64ValueIS
}

// bindParamABitOfEverythingServiceGetRepeatedQuery binds the parameter pathRepeatedSfixed32Value
func (o *ABitOfEverythingServiceGetRepeatedQueryParams) bindParamPathRepeatedSfixed32Value(formats strfmt.Registry) []string {
	pathRepeatedSfixed32ValueIR := o.PathRepeatedSfixed32Value

	var pathRepeatedSfixed32ValueIC []string
	for _, pathRepeatedSfixed32ValueIIR := range pathRepeatedSfixed32ValueIR { // explode []int32

		pathRepeatedSfixed32ValueIIV := swag.FormatInt32(pathRepeatedSfixed32ValueIIR) // int32 as string
		pathRepeatedSfixed32ValueIC = append(pathRepeatedSfixed32ValueIC, pathRepeatedSfixed32ValueIIV)
	}

	// items.CollectionFormat: "csv"
	pathRepeatedSfixed32ValueIS := swag.JoinByFormat(pathRepeatedSfixed32ValueIC, "csv")

	return pathRepeatedSfixed32ValueIS
}

// bindParamABitOfEverythingServiceGetRepeatedQuery binds the parameter pathRepeatedSfixed64Value
func (o *ABitOfEverythingServiceGetRepeatedQueryParams) bindParamPathRepeatedSfixed64Value(formats strfmt.Registry) []string {
	pathRepeatedSfixed64ValueIR := o.PathRepeatedSfixed64Value

	var pathRepeatedSfixed64ValueIC []string
	for _, pathRepeatedSfixed64ValueIIR := range pathRepeatedSfixed64ValueIR { // explode []string

		pathRepeatedSfixed64ValueIIV := pathRepeatedSfixed64ValueIIR // string as string
		pathRepeatedSfixed64ValueIC = append(pathRepeatedSfixed64ValueIC, pathRepeatedSfixed64ValueIIV)
	}

	// items.CollectionFormat: "csv"
	pathRepeatedSfixed64ValueIS := swag.JoinByFormat(pathRepeatedSfixed64ValueIC, "csv")

	return pathRepeatedSfixed64ValueIS
}

// bindParamABitOfEverythingServiceGetRepeatedQuery binds the parameter pathRepeatedSint32Value
func (o *ABitOfEverythingServiceGetRepeatedQueryParams) bindParamPathRepeatedSint32Value(formats strfmt.Registry) []string {
	pathRepeatedSint32ValueIR := o.PathRepeatedSint32Value

	var pathRepeatedSint32ValueIC []string
	for _, pathRepeatedSint32ValueIIR := range pathRepeatedSint32ValueIR { // explode []int32

		pathRepeatedSint32ValueIIV := swag.FormatInt32(pathRepeatedSint32ValueIIR) // int32 as string
		pathRepeatedSint32ValueIC = append(pathRepeatedSint32ValueIC, pathRepeatedSint32ValueIIV)
	}

	// items.CollectionFormat: "csv"
	pathRepeatedSint32ValueIS := swag.JoinByFormat(pathRepeatedSint32ValueIC, "csv")

	return pathRepeatedSint32ValueIS
}

// bindParamABitOfEverythingServiceGetRepeatedQuery binds the parameter pathRepeatedSint64Value
func (o *ABitOfEverythingServiceGetRepeatedQueryParams) bindParamPathRepeatedSint64Value(formats strfmt.Registry) []string {
	pathRepeatedSint64ValueIR := o.PathRepeatedSint64Value

	var pathRepeatedSint64ValueIC []string
	for _, pathRepeatedSint64ValueIIR := range pathRepeatedSint64ValueIR { // explode []string

		pathRepeatedSint64ValueIIV := pathRepeatedSint64ValueIIR // string as string
		pathRepeatedSint64ValueIC = append(pathRepeatedSint64ValueIC, pathRepeatedSint64ValueIIV)
	}

	// items.CollectionFormat: "csv"
	pathRepeatedSint64ValueIS := swag.JoinByFormat(pathRepeatedSint64ValueIC, "csv")

	return pathRepeatedSint64ValueIS
}

// bindParamABitOfEverythingServiceGetRepeatedQuery binds the parameter pathRepeatedStringValue
func (o *ABitOfEverythingServiceGetRepeatedQueryParams) bindParamPathRepeatedStringValue(formats strfmt.Registry) []string {
	pathRepeatedStringValueIR := o.PathRepeatedStringValue

	var pathRepeatedStringValueIC []string
	for _, pathRepeatedStringValueIIR := range pathRepeatedStringValueIR { // explode []string

		pathRepeatedStringValueIIV := pathRepeatedStringValueIIR // string as string
		pathRepeatedStringValueIC = append(pathRepeatedStringValueIC, pathRepeatedStringValueIIV)
	}

	// items.CollectionFormat: "csv"
	pathRepeatedStringValueIS := swag.JoinByFormat(pathRepeatedStringValueIC, "csv")

	return pathRepeatedStringValueIS
}

// bindParamABitOfEverythingServiceGetRepeatedQuery binds the parameter pathRepeatedUint32Value
func (o *ABitOfEverythingServiceGetRepeatedQueryParams) bindParamPathRepeatedUint32Value(formats strfmt.Registry) []string {
	pathRepeatedUint32ValueIR := o.PathRepeatedUint32Value

	var pathRepeatedUint32ValueIC []string
	for _, pathRepeatedUint32ValueIIR := range pathRepeatedUint32ValueIR { // explode []int64

		pathRepeatedUint32ValueIIV := swag.FormatInt64(pathRepeatedUint32ValueIIR) // int64 as string
		pathRepeatedUint32ValueIC = append(pathRepeatedUint32ValueIC, pathRepeatedUint32ValueIIV)
	}

	// items.CollectionFormat: "csv"
	pathRepeatedUint32ValueIS := swag.JoinByFormat(pathRepeatedUint32ValueIC, "csv")

	return pathRepeatedUint32ValueIS
}

// bindParamABitOfEverythingServiceGetRepeatedQuery binds the parameter pathRepeatedUint64Value
func (o *ABitOfEverythingServiceGetRepeatedQueryParams) bindParamPathRepeatedUint64Value(formats strfmt.Registry) []string {
	pathRepeatedUint64ValueIR := o.PathRepeatedUint64Value

	var pathRepeatedUint64ValueIC []string
	for _, pathRepeatedUint64ValueIIR := range pathRepeatedUint64ValueIR { // explode []string

		pathRepeatedUint64ValueIIV := pathRepeatedUint64ValueIIR // string as string
		pathRepeatedUint64ValueIC = append(pathRepeatedUint64ValueIC, pathRepeatedUint64ValueIIV)
	}

	// items.CollectionFormat: "csv"
	pathRepeatedUint64ValueIS := swag.JoinByFormat(pathRepeatedUint64ValueIC, "csv")

	return pathRepeatedUint64ValueIS
}
