cloud.google.com/go/aiplatform@v1.106.0/apiv1/aiplatformpb/explanation_metadata.pb.go (about)

     1  // Copyright 2025 Google LLC
     2  //
     3  // Licensed under the Apache License, Version 2.0 (the "License");
     4  // you may not use this file except in compliance with the License.
     5  // You may obtain a copy of the License at
     6  //
     7  //     http://www.apache.org/licenses/LICENSE-2.0
     8  //
     9  // Unless required by applicable law or agreed to in writing, software
    10  // distributed under the License is distributed on an "AS IS" BASIS,
    11  // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    12  // See the License for the specific language governing permissions and
    13  // limitations under the License.
    14  
    15  // Code generated by protoc-gen-go. DO NOT EDIT.
    16  // versions:
    17  // 	protoc-gen-go v1.35.2
    18  // 	protoc        v4.25.7
    19  // source: google/cloud/aiplatform/v1/explanation_metadata.proto
    20  
    21  package aiplatformpb
    22  
    23  import (
    24  	_ "google.golang.org/genproto/googleapis/api/annotations"
    25  	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
    26  	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
    27  	structpb "google.golang.org/protobuf/types/known/structpb"
    28  	reflect "reflect"
    29  	sync "sync"
    30  )
    31  
    32  const (
    33  	// Verify that this generated code is sufficiently up-to-date.
    34  	_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
    35  	// Verify that runtime/protoimpl is sufficiently up-to-date.
    36  	_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
    37  )
    38  
    39  // Defines how a feature is encoded. Defaults to IDENTITY.
    40  type ExplanationMetadata_InputMetadata_Encoding int32
    41  
    42  const (
    43  	// Default value. This is the same as IDENTITY.
    44  	ExplanationMetadata_InputMetadata_ENCODING_UNSPECIFIED ExplanationMetadata_InputMetadata_Encoding = 0
    45  	// The tensor represents one feature.
    46  	ExplanationMetadata_InputMetadata_IDENTITY ExplanationMetadata_InputMetadata_Encoding = 1
    47  	// The tensor represents a bag of features where each index maps to
    48  	// a feature.
    49  	// [InputMetadata.index_feature_mapping][google.cloud.aiplatform.v1.ExplanationMetadata.InputMetadata.index_feature_mapping]
    50  	// must be provided for this encoding. For example:
    51  	// ```
    52  	// input = [27, 6.0, 150]
    53  	// index_feature_mapping = ["age", "height", "weight"]
    54  	// ```
    55  	ExplanationMetadata_InputMetadata_BAG_OF_FEATURES ExplanationMetadata_InputMetadata_Encoding = 2
    56  	// The tensor represents a bag of features where each index maps to a
    57  	// feature. Zero values in the tensor indicates feature being
    58  	// non-existent.
    59  	// [InputMetadata.index_feature_mapping][google.cloud.aiplatform.v1.ExplanationMetadata.InputMetadata.index_feature_mapping]
    60  	// must be provided for this encoding. For example:
    61  	// ```
    62  	// input = [2, 0, 5, 0, 1]
    63  	// index_feature_mapping = ["a", "b", "c", "d", "e"]
    64  	// ```
    65  	ExplanationMetadata_InputMetadata_BAG_OF_FEATURES_SPARSE ExplanationMetadata_InputMetadata_Encoding = 3
    66  	// The tensor is a list of binaries representing whether a feature exists
    67  	// or not (1 indicates existence).
    68  	// [InputMetadata.index_feature_mapping][google.cloud.aiplatform.v1.ExplanationMetadata.InputMetadata.index_feature_mapping]
    69  	// must be provided for this encoding. For example:
    70  	// ```
    71  	// input = [1, 0, 1, 0, 1]
    72  	// index_feature_mapping = ["a", "b", "c", "d", "e"]
    73  	// ```
    74  	ExplanationMetadata_InputMetadata_INDICATOR ExplanationMetadata_InputMetadata_Encoding = 4
    75  	// The tensor is encoded into a 1-dimensional array represented by an
    76  	// encoded tensor.
    77  	// [InputMetadata.encoded_tensor_name][google.cloud.aiplatform.v1.ExplanationMetadata.InputMetadata.encoded_tensor_name]
    78  	// must be provided for this encoding. For example:
    79  	// ```
    80  	// input = ["This", "is", "a", "test", "."]
    81  	// encoded = [0.1, 0.2, 0.3, 0.4, 0.5]
    82  	// ```
    83  	ExplanationMetadata_InputMetadata_COMBINED_EMBEDDING ExplanationMetadata_InputMetadata_Encoding = 5
    84  	// Select this encoding when the input tensor is encoded into a
    85  	// 2-dimensional array represented by an encoded tensor.
    86  	// [InputMetadata.encoded_tensor_name][google.cloud.aiplatform.v1.ExplanationMetadata.InputMetadata.encoded_tensor_name]
    87  	// must be provided for this encoding. The first dimension of the encoded
    88  	// tensor's shape is the same as the input tensor's shape. For example:
    89  	// ```
    90  	// input = ["This", "is", "a", "test", "."]
    91  	// encoded = [[0.1, 0.2, 0.3, 0.4, 0.5],
    92  	//
    93  	//	[0.2, 0.1, 0.4, 0.3, 0.5],
    94  	//	[0.5, 0.1, 0.3, 0.5, 0.4],
    95  	//	[0.5, 0.3, 0.1, 0.2, 0.4],
    96  	//	[0.4, 0.3, 0.2, 0.5, 0.1]]
    97  	//
    98  	// ```
    99  	ExplanationMetadata_InputMetadata_CONCAT_EMBEDDING ExplanationMetadata_InputMetadata_Encoding = 6
   100  )
   101  
   102  // Enum value maps for ExplanationMetadata_InputMetadata_Encoding.
   103  var (
   104  	ExplanationMetadata_InputMetadata_Encoding_name = map[int32]string{
   105  		0: "ENCODING_UNSPECIFIED",
   106  		1: "IDENTITY",
   107  		2: "BAG_OF_FEATURES",
   108  		3: "BAG_OF_FEATURES_SPARSE",
   109  		4: "INDICATOR",
   110  		5: "COMBINED_EMBEDDING",
   111  		6: "CONCAT_EMBEDDING",
   112  	}
   113  	ExplanationMetadata_InputMetadata_Encoding_value = map[string]int32{
   114  		"ENCODING_UNSPECIFIED":   0,
   115  		"IDENTITY":               1,
   116  		"BAG_OF_FEATURES":        2,
   117  		"BAG_OF_FEATURES_SPARSE": 3,
   118  		"INDICATOR":              4,
   119  		"COMBINED_EMBEDDING":     5,
   120  		"CONCAT_EMBEDDING":       6,
   121  	}
   122  )
   123  
   124  func (x ExplanationMetadata_InputMetadata_Encoding) Enum() *ExplanationMetadata_InputMetadata_Encoding {
   125  	p := new(ExplanationMetadata_InputMetadata_Encoding)
   126  	*p = x
   127  	return p
   128  }
   129  
   130  func (x ExplanationMetadata_InputMetadata_Encoding) String() string {
   131  	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
   132  }
   133  
   134  func (ExplanationMetadata_InputMetadata_Encoding) Descriptor() protoreflect.EnumDescriptor {
   135  	return file_google_cloud_aiplatform_v1_explanation_metadata_proto_enumTypes[0].Descriptor()
   136  }
   137  
   138  func (ExplanationMetadata_InputMetadata_Encoding) Type() protoreflect.EnumType {
   139  	return &file_google_cloud_aiplatform_v1_explanation_metadata_proto_enumTypes[0]
   140  }
   141  
   142  func (x ExplanationMetadata_InputMetadata_Encoding) Number() protoreflect.EnumNumber {
   143  	return protoreflect.EnumNumber(x)
   144  }
   145  
   146  // Deprecated: Use ExplanationMetadata_InputMetadata_Encoding.Descriptor instead.
   147  func (ExplanationMetadata_InputMetadata_Encoding) EnumDescriptor() ([]byte, []int) {
   148  	return file_google_cloud_aiplatform_v1_explanation_metadata_proto_rawDescGZIP(), []int{0, 0, 0}
   149  }
   150  
   151  // Type of the image visualization. Only applicable to
   152  // [Integrated Gradients
   153  // attribution][google.cloud.aiplatform.v1.ExplanationParameters.integrated_gradients_attribution].
   154  type ExplanationMetadata_InputMetadata_Visualization_Type int32
   155  
   156  const (
   157  	// Should not be used.
   158  	ExplanationMetadata_InputMetadata_Visualization_TYPE_UNSPECIFIED ExplanationMetadata_InputMetadata_Visualization_Type = 0
   159  	// Shows which pixel contributed to the image prediction.
   160  	ExplanationMetadata_InputMetadata_Visualization_PIXELS ExplanationMetadata_InputMetadata_Visualization_Type = 1
   161  	// Shows which region contributed to the image prediction by outlining
   162  	// the region.
   163  	ExplanationMetadata_InputMetadata_Visualization_OUTLINES ExplanationMetadata_InputMetadata_Visualization_Type = 2
   164  )
   165  
   166  // Enum value maps for ExplanationMetadata_InputMetadata_Visualization_Type.
   167  var (
   168  	ExplanationMetadata_InputMetadata_Visualization_Type_name = map[int32]string{
   169  		0: "TYPE_UNSPECIFIED",
   170  		1: "PIXELS",
   171  		2: "OUTLINES",
   172  	}
   173  	ExplanationMetadata_InputMetadata_Visualization_Type_value = map[string]int32{
   174  		"TYPE_UNSPECIFIED": 0,
   175  		"PIXELS":           1,
   176  		"OUTLINES":         2,
   177  	}
   178  )
   179  
   180  func (x ExplanationMetadata_InputMetadata_Visualization_Type) Enum() *ExplanationMetadata_InputMetadata_Visualization_Type {
   181  	p := new(ExplanationMetadata_InputMetadata_Visualization_Type)
   182  	*p = x
   183  	return p
   184  }
   185  
   186  func (x ExplanationMetadata_InputMetadata_Visualization_Type) String() string {
   187  	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
   188  }
   189  
   190  func (ExplanationMetadata_InputMetadata_Visualization_Type) Descriptor() protoreflect.EnumDescriptor {
   191  	return file_google_cloud_aiplatform_v1_explanation_metadata_proto_enumTypes[1].Descriptor()
   192  }
   193  
   194  func (ExplanationMetadata_InputMetadata_Visualization_Type) Type() protoreflect.EnumType {
   195  	return &file_google_cloud_aiplatform_v1_explanation_metadata_proto_enumTypes[1]
   196  }
   197  
   198  func (x ExplanationMetadata_InputMetadata_Visualization_Type) Number() protoreflect.EnumNumber {
   199  	return protoreflect.EnumNumber(x)
   200  }
   201  
   202  // Deprecated: Use ExplanationMetadata_InputMetadata_Visualization_Type.Descriptor instead.
   203  func (ExplanationMetadata_InputMetadata_Visualization_Type) EnumDescriptor() ([]byte, []int) {
   204  	return file_google_cloud_aiplatform_v1_explanation_metadata_proto_rawDescGZIP(), []int{0, 0, 1, 0}
   205  }
   206  
   207  // Whether to only highlight pixels with positive contributions, negative
   208  // or both. Defaults to POSITIVE.
   209  type ExplanationMetadata_InputMetadata_Visualization_Polarity int32
   210  
   211  const (
   212  	// Default value. This is the same as POSITIVE.
   213  	ExplanationMetadata_InputMetadata_Visualization_POLARITY_UNSPECIFIED ExplanationMetadata_InputMetadata_Visualization_Polarity = 0
   214  	// Highlights the pixels/outlines that were most influential to the
   215  	// model's prediction.
   216  	ExplanationMetadata_InputMetadata_Visualization_POSITIVE ExplanationMetadata_InputMetadata_Visualization_Polarity = 1
   217  	// Setting polarity to negative highlights areas that does not lead to
   218  	// the models's current prediction.
   219  	ExplanationMetadata_InputMetadata_Visualization_NEGATIVE ExplanationMetadata_InputMetadata_Visualization_Polarity = 2
   220  	// Shows both positive and negative attributions.
   221  	ExplanationMetadata_InputMetadata_Visualization_BOTH ExplanationMetadata_InputMetadata_Visualization_Polarity = 3
   222  )
   223  
   224  // Enum value maps for ExplanationMetadata_InputMetadata_Visualization_Polarity.
   225  var (
   226  	ExplanationMetadata_InputMetadata_Visualization_Polarity_name = map[int32]string{
   227  		0: "POLARITY_UNSPECIFIED",
   228  		1: "POSITIVE",
   229  		2: "NEGATIVE",
   230  		3: "BOTH",
   231  	}
   232  	ExplanationMetadata_InputMetadata_Visualization_Polarity_value = map[string]int32{
   233  		"POLARITY_UNSPECIFIED": 0,
   234  		"POSITIVE":             1,
   235  		"NEGATIVE":             2,
   236  		"BOTH":                 3,
   237  	}
   238  )
   239  
   240  func (x ExplanationMetadata_InputMetadata_Visualization_Polarity) Enum() *ExplanationMetadata_InputMetadata_Visualization_Polarity {
   241  	p := new(ExplanationMetadata_InputMetadata_Visualization_Polarity)
   242  	*p = x
   243  	return p
   244  }
   245  
   246  func (x ExplanationMetadata_InputMetadata_Visualization_Polarity) String() string {
   247  	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
   248  }
   249  
   250  func (ExplanationMetadata_InputMetadata_Visualization_Polarity) Descriptor() protoreflect.EnumDescriptor {
   251  	return file_google_cloud_aiplatform_v1_explanation_metadata_proto_enumTypes[2].Descriptor()
   252  }
   253  
   254  func (ExplanationMetadata_InputMetadata_Visualization_Polarity) Type() protoreflect.EnumType {
   255  	return &file_google_cloud_aiplatform_v1_explanation_metadata_proto_enumTypes[2]
   256  }
   257  
   258  func (x ExplanationMetadata_InputMetadata_Visualization_Polarity) Number() protoreflect.EnumNumber {
   259  	return protoreflect.EnumNumber(x)
   260  }
   261  
   262  // Deprecated: Use ExplanationMetadata_InputMetadata_Visualization_Polarity.Descriptor instead.
   263  func (ExplanationMetadata_InputMetadata_Visualization_Polarity) EnumDescriptor() ([]byte, []int) {
   264  	return file_google_cloud_aiplatform_v1_explanation_metadata_proto_rawDescGZIP(), []int{0, 0, 1, 1}
   265  }
   266  
   267  // The color scheme used for highlighting areas.
   268  type ExplanationMetadata_InputMetadata_Visualization_ColorMap int32
   269  
   270  const (
   271  	// Should not be used.
   272  	ExplanationMetadata_InputMetadata_Visualization_COLOR_MAP_UNSPECIFIED ExplanationMetadata_InputMetadata_Visualization_ColorMap = 0
   273  	// Positive: green. Negative: pink.
   274  	ExplanationMetadata_InputMetadata_Visualization_PINK_GREEN ExplanationMetadata_InputMetadata_Visualization_ColorMap = 1
   275  	// Viridis color map: A perceptually uniform color mapping which is
   276  	// easier to see by those with colorblindness and progresses from yellow
   277  	// to green to blue. Positive: yellow. Negative: blue.
   278  	ExplanationMetadata_InputMetadata_Visualization_VIRIDIS ExplanationMetadata_InputMetadata_Visualization_ColorMap = 2
   279  	// Positive: red. Negative: red.
   280  	ExplanationMetadata_InputMetadata_Visualization_RED ExplanationMetadata_InputMetadata_Visualization_ColorMap = 3
   281  	// Positive: green. Negative: green.
   282  	ExplanationMetadata_InputMetadata_Visualization_GREEN ExplanationMetadata_InputMetadata_Visualization_ColorMap = 4
   283  	// Positive: green. Negative: red.
   284  	ExplanationMetadata_InputMetadata_Visualization_RED_GREEN ExplanationMetadata_InputMetadata_Visualization_ColorMap = 6
   285  	// PiYG palette.
   286  	ExplanationMetadata_InputMetadata_Visualization_PINK_WHITE_GREEN ExplanationMetadata_InputMetadata_Visualization_ColorMap = 5
   287  )
   288  
   289  // Enum value maps for ExplanationMetadata_InputMetadata_Visualization_ColorMap.
   290  var (
   291  	ExplanationMetadata_InputMetadata_Visualization_ColorMap_name = map[int32]string{
   292  		0: "COLOR_MAP_UNSPECIFIED",
   293  		1: "PINK_GREEN",
   294  		2: "VIRIDIS",
   295  		3: "RED",
   296  		4: "GREEN",
   297  		6: "RED_GREEN",
   298  		5: "PINK_WHITE_GREEN",
   299  	}
   300  	ExplanationMetadata_InputMetadata_Visualization_ColorMap_value = map[string]int32{
   301  		"COLOR_MAP_UNSPECIFIED": 0,
   302  		"PINK_GREEN":            1,
   303  		"VIRIDIS":               2,
   304  		"RED":                   3,
   305  		"GREEN":                 4,
   306  		"RED_GREEN":             6,
   307  		"PINK_WHITE_GREEN":      5,
   308  	}
   309  )
   310  
   311  func (x ExplanationMetadata_InputMetadata_Visualization_ColorMap) Enum() *ExplanationMetadata_InputMetadata_Visualization_ColorMap {
   312  	p := new(ExplanationMetadata_InputMetadata_Visualization_ColorMap)
   313  	*p = x
   314  	return p
   315  }
   316  
   317  func (x ExplanationMetadata_InputMetadata_Visualization_ColorMap) String() string {
   318  	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
   319  }
   320  
   321  func (ExplanationMetadata_InputMetadata_Visualization_ColorMap) Descriptor() protoreflect.EnumDescriptor {
   322  	return file_google_cloud_aiplatform_v1_explanation_metadata_proto_enumTypes[3].Descriptor()
   323  }
   324  
   325  func (ExplanationMetadata_InputMetadata_Visualization_ColorMap) Type() protoreflect.EnumType {
   326  	return &file_google_cloud_aiplatform_v1_explanation_metadata_proto_enumTypes[3]
   327  }
   328  
   329  func (x ExplanationMetadata_InputMetadata_Visualization_ColorMap) Number() protoreflect.EnumNumber {
   330  	return protoreflect.EnumNumber(x)
   331  }
   332  
   333  // Deprecated: Use ExplanationMetadata_InputMetadata_Visualization_ColorMap.Descriptor instead.
   334  func (ExplanationMetadata_InputMetadata_Visualization_ColorMap) EnumDescriptor() ([]byte, []int) {
   335  	return file_google_cloud_aiplatform_v1_explanation_metadata_proto_rawDescGZIP(), []int{0, 0, 1, 2}
   336  }
   337  
   338  // How the original image is displayed in the visualization.
   339  type ExplanationMetadata_InputMetadata_Visualization_OverlayType int32
   340  
   341  const (
   342  	// Default value. This is the same as NONE.
   343  	ExplanationMetadata_InputMetadata_Visualization_OVERLAY_TYPE_UNSPECIFIED ExplanationMetadata_InputMetadata_Visualization_OverlayType = 0
   344  	// No overlay.
   345  	ExplanationMetadata_InputMetadata_Visualization_NONE ExplanationMetadata_InputMetadata_Visualization_OverlayType = 1
   346  	// The attributions are shown on top of the original image.
   347  	ExplanationMetadata_InputMetadata_Visualization_ORIGINAL ExplanationMetadata_InputMetadata_Visualization_OverlayType = 2
   348  	// The attributions are shown on top of grayscaled version of the
   349  	// original image.
   350  	ExplanationMetadata_InputMetadata_Visualization_GRAYSCALE ExplanationMetadata_InputMetadata_Visualization_OverlayType = 3
   351  	// The attributions are used as a mask to reveal predictive parts of
   352  	// the image and hide the un-predictive parts.
   353  	ExplanationMetadata_InputMetadata_Visualization_MASK_BLACK ExplanationMetadata_InputMetadata_Visualization_OverlayType = 4
   354  )
   355  
   356  // Enum value maps for ExplanationMetadata_InputMetadata_Visualization_OverlayType.
   357  var (
   358  	ExplanationMetadata_InputMetadata_Visualization_OverlayType_name = map[int32]string{
   359  		0: "OVERLAY_TYPE_UNSPECIFIED",
   360  		1: "NONE",
   361  		2: "ORIGINAL",
   362  		3: "GRAYSCALE",
   363  		4: "MASK_BLACK",
   364  	}
   365  	ExplanationMetadata_InputMetadata_Visualization_OverlayType_value = map[string]int32{
   366  		"OVERLAY_TYPE_UNSPECIFIED": 0,
   367  		"NONE":                     1,
   368  		"ORIGINAL":                 2,
   369  		"GRAYSCALE":                3,
   370  		"MASK_BLACK":               4,
   371  	}
   372  )
   373  
   374  func (x ExplanationMetadata_InputMetadata_Visualization_OverlayType) Enum() *ExplanationMetadata_InputMetadata_Visualization_OverlayType {
   375  	p := new(ExplanationMetadata_InputMetadata_Visualization_OverlayType)
   376  	*p = x
   377  	return p
   378  }
   379  
   380  func (x ExplanationMetadata_InputMetadata_Visualization_OverlayType) String() string {
   381  	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
   382  }
   383  
   384  func (ExplanationMetadata_InputMetadata_Visualization_OverlayType) Descriptor() protoreflect.EnumDescriptor {
   385  	return file_google_cloud_aiplatform_v1_explanation_metadata_proto_enumTypes[4].Descriptor()
   386  }
   387  
   388  func (ExplanationMetadata_InputMetadata_Visualization_OverlayType) Type() protoreflect.EnumType {
   389  	return &file_google_cloud_aiplatform_v1_explanation_metadata_proto_enumTypes[4]
   390  }
   391  
   392  func (x ExplanationMetadata_InputMetadata_Visualization_OverlayType) Number() protoreflect.EnumNumber {
   393  	return protoreflect.EnumNumber(x)
   394  }
   395  
   396  // Deprecated: Use ExplanationMetadata_InputMetadata_Visualization_OverlayType.Descriptor instead.
   397  func (ExplanationMetadata_InputMetadata_Visualization_OverlayType) EnumDescriptor() ([]byte, []int) {
   398  	return file_google_cloud_aiplatform_v1_explanation_metadata_proto_rawDescGZIP(), []int{0, 0, 1, 3}
   399  }
   400  
   401  // Metadata describing the Model's input and output for explanation.
   402  type ExplanationMetadata struct {
   403  	state         protoimpl.MessageState
   404  	sizeCache     protoimpl.SizeCache
   405  	unknownFields protoimpl.UnknownFields
   406  
   407  	// Required. Map from feature names to feature input metadata. Keys are the
   408  	// name of the features. Values are the specification of the feature.
   409  	//
   410  	// An empty InputMetadata is valid. It describes a text feature which has the
   411  	// name specified as the key in
   412  	// [ExplanationMetadata.inputs][google.cloud.aiplatform.v1.ExplanationMetadata.inputs].
   413  	// The baseline of the empty feature is chosen by Vertex AI.
   414  	//
   415  	// For Vertex AI-provided Tensorflow images, the key can be any friendly
   416  	// name of the feature. Once specified,
   417  	// [featureAttributions][google.cloud.aiplatform.v1.Attribution.feature_attributions]
   418  	// are keyed by this key (if not grouped with another feature).
   419  	//
   420  	// For custom images, the key must match with the key in
   421  	// [instance][google.cloud.aiplatform.v1.ExplainRequest.instances].
   422  	Inputs map[string]*ExplanationMetadata_InputMetadata `protobuf:"bytes,1,rep,name=inputs,proto3" json:"inputs,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
   423  	// Required. Map from output names to output metadata.
   424  	//
   425  	// For Vertex AI-provided Tensorflow images, keys can be any user defined
   426  	// string that consists of any UTF-8 characters.
   427  	//
   428  	// For custom images, keys are the name of the output field in the prediction
   429  	// to be explained.
   430  	//
   431  	// Currently only one key is allowed.
   432  	Outputs map[string]*ExplanationMetadata_OutputMetadata `protobuf:"bytes,2,rep,name=outputs,proto3" json:"outputs,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
   433  	// Points to a YAML file stored on Google Cloud Storage describing the format
   434  	// of the [feature
   435  	// attributions][google.cloud.aiplatform.v1.Attribution.feature_attributions].
   436  	// The schema is defined as an OpenAPI 3.0.2 [Schema
   437  	// Object](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.2.md#schemaObject).
   438  	// AutoML tabular Models always have this field populated by Vertex AI.
   439  	// Note: The URI given on output may be different, including the URI scheme,
   440  	// than the one given on input. The output URI will point to a location where
   441  	// the user only has a read access.
   442  	FeatureAttributionsSchemaUri string `protobuf:"bytes,3,opt,name=feature_attributions_schema_uri,json=featureAttributionsSchemaUri,proto3" json:"feature_attributions_schema_uri,omitempty"`
   443  	// Name of the source to generate embeddings for example based explanations.
   444  	LatentSpaceSource string `protobuf:"bytes,5,opt,name=latent_space_source,json=latentSpaceSource,proto3" json:"latent_space_source,omitempty"`
   445  }
   446  
   447  func (x *ExplanationMetadata) Reset() {
   448  	*x = ExplanationMetadata{}
   449  	mi := &file_google_cloud_aiplatform_v1_explanation_metadata_proto_msgTypes[0]
   450  	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   451  	ms.StoreMessageInfo(mi)
   452  }
   453  
   454  func (x *ExplanationMetadata) String() string {
   455  	return protoimpl.X.MessageStringOf(x)
   456  }
   457  
   458  func (*ExplanationMetadata) ProtoMessage() {}
   459  
   460  func (x *ExplanationMetadata) ProtoReflect() protoreflect.Message {
   461  	mi := &file_google_cloud_aiplatform_v1_explanation_metadata_proto_msgTypes[0]
   462  	if x != nil {
   463  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   464  		if ms.LoadMessageInfo() == nil {
   465  			ms.StoreMessageInfo(mi)
   466  		}
   467  		return ms
   468  	}
   469  	return mi.MessageOf(x)
   470  }
   471  
   472  // Deprecated: Use ExplanationMetadata.ProtoReflect.Descriptor instead.
   473  func (*ExplanationMetadata) Descriptor() ([]byte, []int) {
   474  	return file_google_cloud_aiplatform_v1_explanation_metadata_proto_rawDescGZIP(), []int{0}
   475  }
   476  
   477  func (x *ExplanationMetadata) GetInputs() map[string]*ExplanationMetadata_InputMetadata {
   478  	if x != nil {
   479  		return x.Inputs
   480  	}
   481  	return nil
   482  }
   483  
   484  func (x *ExplanationMetadata) GetOutputs() map[string]*ExplanationMetadata_OutputMetadata {
   485  	if x != nil {
   486  		return x.Outputs
   487  	}
   488  	return nil
   489  }
   490  
   491  func (x *ExplanationMetadata) GetFeatureAttributionsSchemaUri() string {
   492  	if x != nil {
   493  		return x.FeatureAttributionsSchemaUri
   494  	}
   495  	return ""
   496  }
   497  
   498  func (x *ExplanationMetadata) GetLatentSpaceSource() string {
   499  	if x != nil {
   500  		return x.LatentSpaceSource
   501  	}
   502  	return ""
   503  }
   504  
   505  // Metadata of the input of a feature.
   506  //
   507  // Fields other than
   508  // [InputMetadata.input_baselines][google.cloud.aiplatform.v1.ExplanationMetadata.InputMetadata.input_baselines]
   509  // are applicable only for Models that are using Vertex AI-provided images for
   510  // Tensorflow.
   511  type ExplanationMetadata_InputMetadata struct {
   512  	state         protoimpl.MessageState
   513  	sizeCache     protoimpl.SizeCache
   514  	unknownFields protoimpl.UnknownFields
   515  
   516  	// Baseline inputs for this feature.
   517  	//
   518  	// If no baseline is specified, Vertex AI chooses the baseline for this
   519  	// feature. If multiple baselines are specified, Vertex AI returns the
   520  	// average attributions across them in
   521  	// [Attribution.feature_attributions][google.cloud.aiplatform.v1.Attribution.feature_attributions].
   522  	//
   523  	// For Vertex AI-provided Tensorflow images (both 1.x and 2.x), the shape
   524  	// of each baseline must match the shape of the input tensor. If a scalar is
   525  	// provided, we broadcast to the same shape as the input tensor.
   526  	//
   527  	// For custom images, the element of the baselines must be in the same
   528  	// format as the feature's input in the
   529  	// [instance][google.cloud.aiplatform.v1.ExplainRequest.instances][]. The
   530  	// schema of any single instance may be specified via Endpoint's
   531  	// DeployedModels' [Model's][google.cloud.aiplatform.v1.DeployedModel.model]
   532  	// [PredictSchemata's][google.cloud.aiplatform.v1.Model.predict_schemata]
   533  	// [instance_schema_uri][google.cloud.aiplatform.v1.PredictSchemata.instance_schema_uri].
   534  	InputBaselines []*structpb.Value `protobuf:"bytes,1,rep,name=input_baselines,json=inputBaselines,proto3" json:"input_baselines,omitempty"`
   535  	// Name of the input tensor for this feature. Required and is only
   536  	// applicable to Vertex AI-provided images for Tensorflow.
   537  	InputTensorName string `protobuf:"bytes,2,opt,name=input_tensor_name,json=inputTensorName,proto3" json:"input_tensor_name,omitempty"`
   538  	// Defines how the feature is encoded into the input tensor. Defaults to
   539  	// IDENTITY.
   540  	Encoding ExplanationMetadata_InputMetadata_Encoding `protobuf:"varint,3,opt,name=encoding,proto3,enum=google.cloud.aiplatform.v1.ExplanationMetadata_InputMetadata_Encoding" json:"encoding,omitempty"`
   541  	// Modality of the feature. Valid values are: numeric, image. Defaults to
   542  	// numeric.
   543  	Modality string `protobuf:"bytes,4,opt,name=modality,proto3" json:"modality,omitempty"`
   544  	// The domain details of the input feature value. Like min/max, original
   545  	// mean or standard deviation if normalized.
   546  	FeatureValueDomain *ExplanationMetadata_InputMetadata_FeatureValueDomain `protobuf:"bytes,5,opt,name=feature_value_domain,json=featureValueDomain,proto3" json:"feature_value_domain,omitempty"`
   547  	// Specifies the index of the values of the input tensor.
   548  	// Required when the input tensor is a sparse representation. Refer to
   549  	// Tensorflow documentation for more details:
   550  	// https://www.tensorflow.org/api_docs/python/tf/sparse/SparseTensor.
   551  	IndicesTensorName string `protobuf:"bytes,6,opt,name=indices_tensor_name,json=indicesTensorName,proto3" json:"indices_tensor_name,omitempty"`
   552  	// Specifies the shape of the values of the input if the input is a sparse
   553  	// representation. Refer to Tensorflow documentation for more details:
   554  	// https://www.tensorflow.org/api_docs/python/tf/sparse/SparseTensor.
   555  	DenseShapeTensorName string `protobuf:"bytes,7,opt,name=dense_shape_tensor_name,json=denseShapeTensorName,proto3" json:"dense_shape_tensor_name,omitempty"`
   556  	// A list of feature names for each index in the input tensor.
   557  	// Required when the input
   558  	// [InputMetadata.encoding][google.cloud.aiplatform.v1.ExplanationMetadata.InputMetadata.encoding]
   559  	// is BAG_OF_FEATURES, BAG_OF_FEATURES_SPARSE, INDICATOR.
   560  	IndexFeatureMapping []string `protobuf:"bytes,8,rep,name=index_feature_mapping,json=indexFeatureMapping,proto3" json:"index_feature_mapping,omitempty"`
   561  	// Encoded tensor is a transformation of the input tensor. Must be provided
   562  	// if choosing
   563  	// [Integrated Gradients
   564  	// attribution][google.cloud.aiplatform.v1.ExplanationParameters.integrated_gradients_attribution]
   565  	// or [XRAI
   566  	// attribution][google.cloud.aiplatform.v1.ExplanationParameters.xrai_attribution]
   567  	// and the input tensor is not differentiable.
   568  	//
   569  	// An encoded tensor is generated if the input tensor is encoded by a lookup
   570  	// table.
   571  	EncodedTensorName string `protobuf:"bytes,9,opt,name=encoded_tensor_name,json=encodedTensorName,proto3" json:"encoded_tensor_name,omitempty"`
   572  	// A list of baselines for the encoded tensor.
   573  	//
   574  	// The shape of each baseline should match the shape of the encoded tensor.
   575  	// If a scalar is provided, Vertex AI broadcasts to the same shape as the
   576  	// encoded tensor.
   577  	EncodedBaselines []*structpb.Value `protobuf:"bytes,10,rep,name=encoded_baselines,json=encodedBaselines,proto3" json:"encoded_baselines,omitempty"`
   578  	// Visualization configurations for image explanation.
   579  	Visualization *ExplanationMetadata_InputMetadata_Visualization `protobuf:"bytes,11,opt,name=visualization,proto3" json:"visualization,omitempty"`
   580  	// Name of the group that the input belongs to. Features with the same group
   581  	// name will be treated as one feature when computing attributions. Features
   582  	// grouped together can have different shapes in value. If provided, there
   583  	// will be one single attribution generated in
   584  	// [Attribution.feature_attributions][google.cloud.aiplatform.v1.Attribution.feature_attributions],
   585  	// keyed by the group name.
   586  	GroupName string `protobuf:"bytes,12,opt,name=group_name,json=groupName,proto3" json:"group_name,omitempty"`
   587  }
   588  
   589  func (x *ExplanationMetadata_InputMetadata) Reset() {
   590  	*x = ExplanationMetadata_InputMetadata{}
   591  	mi := &file_google_cloud_aiplatform_v1_explanation_metadata_proto_msgTypes[1]
   592  	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   593  	ms.StoreMessageInfo(mi)
   594  }
   595  
   596  func (x *ExplanationMetadata_InputMetadata) String() string {
   597  	return protoimpl.X.MessageStringOf(x)
   598  }
   599  
   600  func (*ExplanationMetadata_InputMetadata) ProtoMessage() {}
   601  
   602  func (x *ExplanationMetadata_InputMetadata) ProtoReflect() protoreflect.Message {
   603  	mi := &file_google_cloud_aiplatform_v1_explanation_metadata_proto_msgTypes[1]
   604  	if x != nil {
   605  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   606  		if ms.LoadMessageInfo() == nil {
   607  			ms.StoreMessageInfo(mi)
   608  		}
   609  		return ms
   610  	}
   611  	return mi.MessageOf(x)
   612  }
   613  
   614  // Deprecated: Use ExplanationMetadata_InputMetadata.ProtoReflect.Descriptor instead.
   615  func (*ExplanationMetadata_InputMetadata) Descriptor() ([]byte, []int) {
   616  	return file_google_cloud_aiplatform_v1_explanation_metadata_proto_rawDescGZIP(), []int{0, 0}
   617  }
   618  
   619  func (x *ExplanationMetadata_InputMetadata) GetInputBaselines() []*structpb.Value {
   620  	if x != nil {
   621  		return x.InputBaselines
   622  	}
   623  	return nil
   624  }
   625  
   626  func (x *ExplanationMetadata_InputMetadata) GetInputTensorName() string {
   627  	if x != nil {
   628  		return x.InputTensorName
   629  	}
   630  	return ""
   631  }
   632  
   633  func (x *ExplanationMetadata_InputMetadata) GetEncoding() ExplanationMetadata_InputMetadata_Encoding {
   634  	if x != nil {
   635  		return x.Encoding
   636  	}
   637  	return ExplanationMetadata_InputMetadata_ENCODING_UNSPECIFIED
   638  }
   639  
   640  func (x *ExplanationMetadata_InputMetadata) GetModality() string {
   641  	if x != nil {
   642  		return x.Modality
   643  	}
   644  	return ""
   645  }
   646  
   647  func (x *ExplanationMetadata_InputMetadata) GetFeatureValueDomain() *ExplanationMetadata_InputMetadata_FeatureValueDomain {
   648  	if x != nil {
   649  		return x.FeatureValueDomain
   650  	}
   651  	return nil
   652  }
   653  
   654  func (x *ExplanationMetadata_InputMetadata) GetIndicesTensorName() string {
   655  	if x != nil {
   656  		return x.IndicesTensorName
   657  	}
   658  	return ""
   659  }
   660  
   661  func (x *ExplanationMetadata_InputMetadata) GetDenseShapeTensorName() string {
   662  	if x != nil {
   663  		return x.DenseShapeTensorName
   664  	}
   665  	return ""
   666  }
   667  
   668  func (x *ExplanationMetadata_InputMetadata) GetIndexFeatureMapping() []string {
   669  	if x != nil {
   670  		return x.IndexFeatureMapping
   671  	}
   672  	return nil
   673  }
   674  
   675  func (x *ExplanationMetadata_InputMetadata) GetEncodedTensorName() string {
   676  	if x != nil {
   677  		return x.EncodedTensorName
   678  	}
   679  	return ""
   680  }
   681  
   682  func (x *ExplanationMetadata_InputMetadata) GetEncodedBaselines() []*structpb.Value {
   683  	if x != nil {
   684  		return x.EncodedBaselines
   685  	}
   686  	return nil
   687  }
   688  
   689  func (x *ExplanationMetadata_InputMetadata) GetVisualization() *ExplanationMetadata_InputMetadata_Visualization {
   690  	if x != nil {
   691  		return x.Visualization
   692  	}
   693  	return nil
   694  }
   695  
   696  func (x *ExplanationMetadata_InputMetadata) GetGroupName() string {
   697  	if x != nil {
   698  		return x.GroupName
   699  	}
   700  	return ""
   701  }
   702  
   703  // Metadata of the prediction output to be explained.
   704  type ExplanationMetadata_OutputMetadata struct {
   705  	state         protoimpl.MessageState
   706  	sizeCache     protoimpl.SizeCache
   707  	unknownFields protoimpl.UnknownFields
   708  
   709  	// Defines how to map
   710  	// [Attribution.output_index][google.cloud.aiplatform.v1.Attribution.output_index]
   711  	// to
   712  	// [Attribution.output_display_name][google.cloud.aiplatform.v1.Attribution.output_display_name].
   713  	//
   714  	// If neither of the fields are specified,
   715  	// [Attribution.output_display_name][google.cloud.aiplatform.v1.Attribution.output_display_name]
   716  	// will not be populated.
   717  	//
   718  	// Types that are assignable to DisplayNameMapping:
   719  	//
   720  	//	*ExplanationMetadata_OutputMetadata_IndexDisplayNameMapping
   721  	//	*ExplanationMetadata_OutputMetadata_DisplayNameMappingKey
   722  	DisplayNameMapping isExplanationMetadata_OutputMetadata_DisplayNameMapping `protobuf_oneof:"display_name_mapping"`
   723  	// Name of the output tensor. Required and is only applicable to Vertex
   724  	// AI provided images for Tensorflow.
   725  	OutputTensorName string `protobuf:"bytes,3,opt,name=output_tensor_name,json=outputTensorName,proto3" json:"output_tensor_name,omitempty"`
   726  }
   727  
   728  func (x *ExplanationMetadata_OutputMetadata) Reset() {
   729  	*x = ExplanationMetadata_OutputMetadata{}
   730  	mi := &file_google_cloud_aiplatform_v1_explanation_metadata_proto_msgTypes[2]
   731  	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   732  	ms.StoreMessageInfo(mi)
   733  }
   734  
   735  func (x *ExplanationMetadata_OutputMetadata) String() string {
   736  	return protoimpl.X.MessageStringOf(x)
   737  }
   738  
   739  func (*ExplanationMetadata_OutputMetadata) ProtoMessage() {}
   740  
   741  func (x *ExplanationMetadata_OutputMetadata) ProtoReflect() protoreflect.Message {
   742  	mi := &file_google_cloud_aiplatform_v1_explanation_metadata_proto_msgTypes[2]
   743  	if x != nil {
   744  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   745  		if ms.LoadMessageInfo() == nil {
   746  			ms.StoreMessageInfo(mi)
   747  		}
   748  		return ms
   749  	}
   750  	return mi.MessageOf(x)
   751  }
   752  
   753  // Deprecated: Use ExplanationMetadata_OutputMetadata.ProtoReflect.Descriptor instead.
   754  func (*ExplanationMetadata_OutputMetadata) Descriptor() ([]byte, []int) {
   755  	return file_google_cloud_aiplatform_v1_explanation_metadata_proto_rawDescGZIP(), []int{0, 1}
   756  }
   757  
   758  func (m *ExplanationMetadata_OutputMetadata) GetDisplayNameMapping() isExplanationMetadata_OutputMetadata_DisplayNameMapping {
   759  	if m != nil {
   760  		return m.DisplayNameMapping
   761  	}
   762  	return nil
   763  }
   764  
   765  func (x *ExplanationMetadata_OutputMetadata) GetIndexDisplayNameMapping() *structpb.Value {
   766  	if x, ok := x.GetDisplayNameMapping().(*ExplanationMetadata_OutputMetadata_IndexDisplayNameMapping); ok {
   767  		return x.IndexDisplayNameMapping
   768  	}
   769  	return nil
   770  }
   771  
   772  func (x *ExplanationMetadata_OutputMetadata) GetDisplayNameMappingKey() string {
   773  	if x, ok := x.GetDisplayNameMapping().(*ExplanationMetadata_OutputMetadata_DisplayNameMappingKey); ok {
   774  		return x.DisplayNameMappingKey
   775  	}
   776  	return ""
   777  }
   778  
   779  func (x *ExplanationMetadata_OutputMetadata) GetOutputTensorName() string {
   780  	if x != nil {
   781  		return x.OutputTensorName
   782  	}
   783  	return ""
   784  }
   785  
   786  type isExplanationMetadata_OutputMetadata_DisplayNameMapping interface {
   787  	isExplanationMetadata_OutputMetadata_DisplayNameMapping()
   788  }
   789  
   790  type ExplanationMetadata_OutputMetadata_IndexDisplayNameMapping struct {
   791  	// Static mapping between the index and display name.
   792  	//
   793  	// Use this if the outputs are a deterministic n-dimensional array, e.g. a
   794  	// list of scores of all the classes in a pre-defined order for a
   795  	// multi-classification Model. It's not feasible if the outputs are
   796  	// non-deterministic, e.g. the Model produces top-k classes or sort the
   797  	// outputs by their values.
   798  	//
   799  	// The shape of the value must be an n-dimensional array of strings. The
   800  	// number of dimensions must match that of the outputs to be explained.
   801  	// The
   802  	// [Attribution.output_display_name][google.cloud.aiplatform.v1.Attribution.output_display_name]
   803  	// is populated by locating in the mapping with
   804  	// [Attribution.output_index][google.cloud.aiplatform.v1.Attribution.output_index].
   805  	IndexDisplayNameMapping *structpb.Value `protobuf:"bytes,1,opt,name=index_display_name_mapping,json=indexDisplayNameMapping,proto3,oneof"`
   806  }
   807  
   808  type ExplanationMetadata_OutputMetadata_DisplayNameMappingKey struct {
   809  	// Specify a field name in the prediction to look for the display name.
   810  	//
   811  	// Use this if the prediction contains the display names for the outputs.
   812  	//
   813  	// The display names in the prediction must have the same shape of the
   814  	// outputs, so that it can be located by
   815  	// [Attribution.output_index][google.cloud.aiplatform.v1.Attribution.output_index]
   816  	// for a specific output.
   817  	DisplayNameMappingKey string `protobuf:"bytes,2,opt,name=display_name_mapping_key,json=displayNameMappingKey,proto3,oneof"`
   818  }
   819  
   820  func (*ExplanationMetadata_OutputMetadata_IndexDisplayNameMapping) isExplanationMetadata_OutputMetadata_DisplayNameMapping() {
   821  }
   822  
   823  func (*ExplanationMetadata_OutputMetadata_DisplayNameMappingKey) isExplanationMetadata_OutputMetadata_DisplayNameMapping() {
   824  }
   825  
   826  // Domain details of the input feature value. Provides numeric information
   827  // about the feature, such as its range (min, max). If the feature has been
   828  // pre-processed, for example with z-scoring, then it provides information
   829  // about how to recover the original feature. For example, if the input
   830  // feature is an image and it has been pre-processed to obtain 0-mean and
   831  // stddev = 1 values, then original_mean, and original_stddev refer to the
   832  // mean and stddev of the original feature (e.g. image tensor) from which
   833  // input feature (with mean = 0 and stddev = 1) was obtained.
   834  type ExplanationMetadata_InputMetadata_FeatureValueDomain struct {
   835  	state         protoimpl.MessageState
   836  	sizeCache     protoimpl.SizeCache
   837  	unknownFields protoimpl.UnknownFields
   838  
   839  	// The minimum permissible value for this feature.
   840  	MinValue float32 `protobuf:"fixed32,1,opt,name=min_value,json=minValue,proto3" json:"min_value,omitempty"`
   841  	// The maximum permissible value for this feature.
   842  	MaxValue float32 `protobuf:"fixed32,2,opt,name=max_value,json=maxValue,proto3" json:"max_value,omitempty"`
   843  	// If this input feature has been normalized to a mean value of 0,
   844  	// the original_mean specifies the mean value of the domain prior to
   845  	// normalization.
   846  	OriginalMean float32 `protobuf:"fixed32,3,opt,name=original_mean,json=originalMean,proto3" json:"original_mean,omitempty"`
   847  	// If this input feature has been normalized to a standard deviation of
   848  	// 1.0, the original_stddev specifies the standard deviation of the domain
   849  	// prior to normalization.
   850  	OriginalStddev float32 `protobuf:"fixed32,4,opt,name=original_stddev,json=originalStddev,proto3" json:"original_stddev,omitempty"`
   851  }
   852  
   853  func (x *ExplanationMetadata_InputMetadata_FeatureValueDomain) Reset() {
   854  	*x = ExplanationMetadata_InputMetadata_FeatureValueDomain{}
   855  	mi := &file_google_cloud_aiplatform_v1_explanation_metadata_proto_msgTypes[5]
   856  	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   857  	ms.StoreMessageInfo(mi)
   858  }
   859  
   860  func (x *ExplanationMetadata_InputMetadata_FeatureValueDomain) String() string {
   861  	return protoimpl.X.MessageStringOf(x)
   862  }
   863  
   864  func (*ExplanationMetadata_InputMetadata_FeatureValueDomain) ProtoMessage() {}
   865  
   866  func (x *ExplanationMetadata_InputMetadata_FeatureValueDomain) ProtoReflect() protoreflect.Message {
   867  	mi := &file_google_cloud_aiplatform_v1_explanation_metadata_proto_msgTypes[5]
   868  	if x != nil {
   869  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   870  		if ms.LoadMessageInfo() == nil {
   871  			ms.StoreMessageInfo(mi)
   872  		}
   873  		return ms
   874  	}
   875  	return mi.MessageOf(x)
   876  }
   877  
   878  // Deprecated: Use ExplanationMetadata_InputMetadata_FeatureValueDomain.ProtoReflect.Descriptor instead.
   879  func (*ExplanationMetadata_InputMetadata_FeatureValueDomain) Descriptor() ([]byte, []int) {
   880  	return file_google_cloud_aiplatform_v1_explanation_metadata_proto_rawDescGZIP(), []int{0, 0, 0}
   881  }
   882  
   883  func (x *ExplanationMetadata_InputMetadata_FeatureValueDomain) GetMinValue() float32 {
   884  	if x != nil {
   885  		return x.MinValue
   886  	}
   887  	return 0
   888  }
   889  
   890  func (x *ExplanationMetadata_InputMetadata_FeatureValueDomain) GetMaxValue() float32 {
   891  	if x != nil {
   892  		return x.MaxValue
   893  	}
   894  	return 0
   895  }
   896  
   897  func (x *ExplanationMetadata_InputMetadata_FeatureValueDomain) GetOriginalMean() float32 {
   898  	if x != nil {
   899  		return x.OriginalMean
   900  	}
   901  	return 0
   902  }
   903  
   904  func (x *ExplanationMetadata_InputMetadata_FeatureValueDomain) GetOriginalStddev() float32 {
   905  	if x != nil {
   906  		return x.OriginalStddev
   907  	}
   908  	return 0
   909  }
   910  
   911  // Visualization configurations for image explanation.
   912  type ExplanationMetadata_InputMetadata_Visualization struct {
   913  	state         protoimpl.MessageState
   914  	sizeCache     protoimpl.SizeCache
   915  	unknownFields protoimpl.UnknownFields
   916  
   917  	// Type of the image visualization. Only applicable to
   918  	// [Integrated Gradients
   919  	// attribution][google.cloud.aiplatform.v1.ExplanationParameters.integrated_gradients_attribution].
   920  	// OUTLINES shows regions of attribution, while PIXELS shows per-pixel
   921  	// attribution. Defaults to OUTLINES.
   922  	Type ExplanationMetadata_InputMetadata_Visualization_Type `protobuf:"varint,1,opt,name=type,proto3,enum=google.cloud.aiplatform.v1.ExplanationMetadata_InputMetadata_Visualization_Type" json:"type,omitempty"`
   923  	// Whether to only highlight pixels with positive contributions, negative
   924  	// or both. Defaults to POSITIVE.
   925  	Polarity ExplanationMetadata_InputMetadata_Visualization_Polarity `protobuf:"varint,2,opt,name=polarity,proto3,enum=google.cloud.aiplatform.v1.ExplanationMetadata_InputMetadata_Visualization_Polarity" json:"polarity,omitempty"`
   926  	// The color scheme used for the highlighted areas.
   927  	//
   928  	// Defaults to PINK_GREEN for
   929  	// [Integrated Gradients
   930  	// attribution][google.cloud.aiplatform.v1.ExplanationParameters.integrated_gradients_attribution],
   931  	// which shows positive attributions in green and negative in pink.
   932  	//
   933  	// Defaults to VIRIDIS for
   934  	// [XRAI
   935  	// attribution][google.cloud.aiplatform.v1.ExplanationParameters.xrai_attribution],
   936  	// which highlights the most influential regions in yellow and the least
   937  	// influential in blue.
   938  	ColorMap ExplanationMetadata_InputMetadata_Visualization_ColorMap `protobuf:"varint,3,opt,name=color_map,json=colorMap,proto3,enum=google.cloud.aiplatform.v1.ExplanationMetadata_InputMetadata_Visualization_ColorMap" json:"color_map,omitempty"`
   939  	// Excludes attributions above the specified percentile from the
   940  	// highlighted areas. Using the clip_percent_upperbound and
   941  	// clip_percent_lowerbound together can be useful for filtering out noise
   942  	// and making it easier to see areas of strong attribution. Defaults to
   943  	// 99.9.
   944  	ClipPercentUpperbound float32 `protobuf:"fixed32,4,opt,name=clip_percent_upperbound,json=clipPercentUpperbound,proto3" json:"clip_percent_upperbound,omitempty"`
   945  	// Excludes attributions below the specified percentile, from the
   946  	// highlighted areas. Defaults to 62.
   947  	ClipPercentLowerbound float32 `protobuf:"fixed32,5,opt,name=clip_percent_lowerbound,json=clipPercentLowerbound,proto3" json:"clip_percent_lowerbound,omitempty"`
   948  	// How the original image is displayed in the visualization.
   949  	// Adjusting the overlay can help increase visual clarity if the original
   950  	// image makes it difficult to view the visualization. Defaults to NONE.
   951  	OverlayType ExplanationMetadata_InputMetadata_Visualization_OverlayType `protobuf:"varint,6,opt,name=overlay_type,json=overlayType,proto3,enum=google.cloud.aiplatform.v1.ExplanationMetadata_InputMetadata_Visualization_OverlayType" json:"overlay_type,omitempty"`
   952  }
   953  
   954  func (x *ExplanationMetadata_InputMetadata_Visualization) Reset() {
   955  	*x = ExplanationMetadata_InputMetadata_Visualization{}
   956  	mi := &file_google_cloud_aiplatform_v1_explanation_metadata_proto_msgTypes[6]
   957  	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   958  	ms.StoreMessageInfo(mi)
   959  }
   960  
   961  func (x *ExplanationMetadata_InputMetadata_Visualization) String() string {
   962  	return protoimpl.X.MessageStringOf(x)
   963  }
   964  
   965  func (*ExplanationMetadata_InputMetadata_Visualization) ProtoMessage() {}
   966  
   967  func (x *ExplanationMetadata_InputMetadata_Visualization) ProtoReflect() protoreflect.Message {
   968  	mi := &file_google_cloud_aiplatform_v1_explanation_metadata_proto_msgTypes[6]
   969  	if x != nil {
   970  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   971  		if ms.LoadMessageInfo() == nil {
   972  			ms.StoreMessageInfo(mi)
   973  		}
   974  		return ms
   975  	}
   976  	return mi.MessageOf(x)
   977  }
   978  
   979  // Deprecated: Use ExplanationMetadata_InputMetadata_Visualization.ProtoReflect.Descriptor instead.
   980  func (*ExplanationMetadata_InputMetadata_Visualization) Descriptor() ([]byte, []int) {
   981  	return file_google_cloud_aiplatform_v1_explanation_metadata_proto_rawDescGZIP(), []int{0, 0, 1}
   982  }
   983  
   984  func (x *ExplanationMetadata_InputMetadata_Visualization) GetType() ExplanationMetadata_InputMetadata_Visualization_Type {
   985  	if x != nil {
   986  		return x.Type
   987  	}
   988  	return ExplanationMetadata_InputMetadata_Visualization_TYPE_UNSPECIFIED
   989  }
   990  
   991  func (x *ExplanationMetadata_InputMetadata_Visualization) GetPolarity() ExplanationMetadata_InputMetadata_Visualization_Polarity {
   992  	if x != nil {
   993  		return x.Polarity
   994  	}
   995  	return ExplanationMetadata_InputMetadata_Visualization_POLARITY_UNSPECIFIED
   996  }
   997  
   998  func (x *ExplanationMetadata_InputMetadata_Visualization) GetColorMap() ExplanationMetadata_InputMetadata_Visualization_ColorMap {
   999  	if x != nil {
  1000  		return x.ColorMap
  1001  	}
  1002  	return ExplanationMetadata_InputMetadata_Visualization_COLOR_MAP_UNSPECIFIED
  1003  }
  1004  
  1005  func (x *ExplanationMetadata_InputMetadata_Visualization) GetClipPercentUpperbound() float32 {
  1006  	if x != nil {
  1007  		return x.ClipPercentUpperbound
  1008  	}
  1009  	return 0
  1010  }
  1011  
  1012  func (x *ExplanationMetadata_InputMetadata_Visualization) GetClipPercentLowerbound() float32 {
  1013  	if x != nil {
  1014  		return x.ClipPercentLowerbound
  1015  	}
  1016  	return 0
  1017  }
  1018  
  1019  func (x *ExplanationMetadata_InputMetadata_Visualization) GetOverlayType() ExplanationMetadata_InputMetadata_Visualization_OverlayType {
  1020  	if x != nil {
  1021  		return x.OverlayType
  1022  	}
  1023  	return ExplanationMetadata_InputMetadata_Visualization_OVERLAY_TYPE_UNSPECIFIED
  1024  }
  1025  
  1026  var File_google_cloud_aiplatform_v1_explanation_metadata_proto protoreflect.FileDescriptor
  1027  
  1028  var file_google_cloud_aiplatform_v1_explanation_metadata_proto_rawDesc = []byte{
  1029  	0x0a, 0x35, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x61,
  1030  	0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x76, 0x31, 0x2f, 0x65, 0x78, 0x70,
  1031  	0x6c, 0x61, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74,
  1032  	0x61, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x1a, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
  1033  	0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d,
  1034  	0x2e, 0x76, 0x31, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f,
  1035  	0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x62, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x2e, 0x70,
  1036  	0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f,
  1037  	0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x2e, 0x70, 0x72, 0x6f,
  1038  	0x74, 0x6f, 0x22, 0xba, 0x16, 0x0a, 0x13, 0x45, 0x78, 0x70, 0x6c, 0x61, 0x6e, 0x61, 0x74, 0x69,
  1039  	0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x58, 0x0a, 0x06, 0x69, 0x6e,
  1040  	0x70, 0x75, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3b, 0x2e, 0x67, 0x6f, 0x6f,
  1041  	0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74,
  1042  	0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x78, 0x70, 0x6c, 0x61, 0x6e, 0x61, 0x74,
  1043  	0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x49, 0x6e, 0x70, 0x75,
  1044  	0x74, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06, 0x69, 0x6e,
  1045  	0x70, 0x75, 0x74, 0x73, 0x12, 0x5b, 0x0a, 0x07, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x73, 0x18,
  1046  	0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63,
  1047  	0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e,
  1048  	0x76, 0x31, 0x2e, 0x45, 0x78, 0x70, 0x6c, 0x61, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65,
  1049  	0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x73, 0x45, 0x6e,
  1050  	0x74, 0x72, 0x79, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74,
  1051  	0x73, 0x12, 0x45, 0x0a, 0x1f, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x5f, 0x61, 0x74, 0x74,
  1052  	0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x5f, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61,
  1053  	0x5f, 0x75, 0x72, 0x69, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x1c, 0x66, 0x65, 0x61, 0x74,
  1054  	0x75, 0x72, 0x65, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x53,
  1055  	0x63, 0x68, 0x65, 0x6d, 0x61, 0x55, 0x72, 0x69, 0x12, 0x2e, 0x0a, 0x13, 0x6c, 0x61, 0x74, 0x65,
  1056  	0x6e, 0x74, 0x5f, 0x73, 0x70, 0x61, 0x63, 0x65, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18,
  1057  	0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, 0x6c, 0x61, 0x74, 0x65, 0x6e, 0x74, 0x53, 0x70, 0x61,
  1058  	0x63, 0x65, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x1a, 0x93, 0x10, 0x0a, 0x0d, 0x49, 0x6e, 0x70,
  1059  	0x75, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x3f, 0x0a, 0x0f, 0x69, 0x6e,
  1060  	0x70, 0x75, 0x74, 0x5f, 0x62, 0x61, 0x73, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x73, 0x18, 0x01, 0x20,
  1061  	0x03, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f,
  1062  	0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0e, 0x69, 0x6e, 0x70,
  1063  	0x75, 0x74, 0x42, 0x61, 0x73, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x73, 0x12, 0x2a, 0x0a, 0x11, 0x69,
  1064  	0x6e, 0x70, 0x75, 0x74, 0x5f, 0x74, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x5f, 0x6e, 0x61, 0x6d, 0x65,
  1065  	0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x54, 0x65, 0x6e,
  1066  	0x73, 0x6f, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x62, 0x0a, 0x08, 0x65, 0x6e, 0x63, 0x6f, 0x64,
  1067  	0x69, 0x6e, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x46, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
  1068  	0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66,
  1069  	0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x78, 0x70, 0x6c, 0x61, 0x6e, 0x61, 0x74, 0x69,
  1070  	0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x49, 0x6e, 0x70, 0x75, 0x74,
  1071  	0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x45, 0x6e, 0x63, 0x6f, 0x64, 0x69, 0x6e,
  1072  	0x67, 0x52, 0x08, 0x65, 0x6e, 0x63, 0x6f, 0x64, 0x69, 0x6e, 0x67, 0x12, 0x1a, 0x0a, 0x08, 0x6d,
  1073  	0x6f, 0x64, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6d,
  1074  	0x6f, 0x64, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x12, 0x82, 0x01, 0x0a, 0x14, 0x66, 0x65, 0x61, 0x74,
  1075  	0x75, 0x72, 0x65, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x5f, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e,
  1076  	0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x50, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
  1077  	0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d,
  1078  	0x2e, 0x76, 0x31, 0x2e, 0x45, 0x78, 0x70, 0x6c, 0x61, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d,
  1079  	0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x4d, 0x65, 0x74,
  1080  	0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x56, 0x61, 0x6c,
  1081  	0x75, 0x65, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x52, 0x12, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72,
  1082  	0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x12, 0x2e, 0x0a, 0x13,
  1083  	0x69, 0x6e, 0x64, 0x69, 0x63, 0x65, 0x73, 0x5f, 0x74, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x5f, 0x6e,
  1084  	0x61, 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, 0x69, 0x6e, 0x64, 0x69, 0x63,
  1085  	0x65, 0x73, 0x54, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x35, 0x0a, 0x17,
  1086  	0x64, 0x65, 0x6e, 0x73, 0x65, 0x5f, 0x73, 0x68, 0x61, 0x70, 0x65, 0x5f, 0x74, 0x65, 0x6e, 0x73,
  1087  	0x6f, 0x72, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x14, 0x64,
  1088  	0x65, 0x6e, 0x73, 0x65, 0x53, 0x68, 0x61, 0x70, 0x65, 0x54, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x4e,
  1089  	0x61, 0x6d, 0x65, 0x12, 0x32, 0x0a, 0x15, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x5f, 0x66, 0x65, 0x61,
  1090  	0x74, 0x75, 0x72, 0x65, 0x5f, 0x6d, 0x61, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x18, 0x08, 0x20, 0x03,
  1091  	0x28, 0x09, 0x52, 0x13, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65,
  1092  	0x4d, 0x61, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x12, 0x2e, 0x0a, 0x13, 0x65, 0x6e, 0x63, 0x6f, 0x64,
  1093  	0x65, 0x64, 0x5f, 0x74, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x09,
  1094  	0x20, 0x01, 0x28, 0x09, 0x52, 0x11, 0x65, 0x6e, 0x63, 0x6f, 0x64, 0x65, 0x64, 0x54, 0x65, 0x6e,
  1095  	0x73, 0x6f, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x43, 0x0a, 0x11, 0x65, 0x6e, 0x63, 0x6f, 0x64,
  1096  	0x65, 0x64, 0x5f, 0x62, 0x61, 0x73, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x73, 0x18, 0x0a, 0x20, 0x03,
  1097  	0x28, 0x0b, 0x32, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74,
  1098  	0x6f, 0x62, 0x75, 0x66, 0x2e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x10, 0x65, 0x6e, 0x63, 0x6f,
  1099  	0x64, 0x65, 0x64, 0x42, 0x61, 0x73, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x73, 0x12, 0x71, 0x0a, 0x0d,
  1100  	0x76, 0x69, 0x73, 0x75, 0x61, 0x6c, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x0b, 0x20,
  1101  	0x01, 0x28, 0x0b, 0x32, 0x4b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f,
  1102  	0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31,
  1103  	0x2e, 0x45, 0x78, 0x70, 0x6c, 0x61, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61,
  1104  	0x64, 0x61, 0x74, 0x61, 0x2e, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61,
  1105  	0x74, 0x61, 0x2e, 0x56, 0x69, 0x73, 0x75, 0x61, 0x6c, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e,
  1106  	0x52, 0x0d, 0x76, 0x69, 0x73, 0x75, 0x61, 0x6c, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12,
  1107  	0x1d, 0x0a, 0x0a, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x0c, 0x20,
  1108  	0x01, 0x28, 0x09, 0x52, 0x09, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x4e, 0x61, 0x6d, 0x65, 0x1a, 0x9c,
  1109  	0x01, 0x0a, 0x12, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x44,
  1110  	0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x12, 0x1b, 0x0a, 0x09, 0x6d, 0x69, 0x6e, 0x5f, 0x76, 0x61, 0x6c,
  1111  	0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x02, 0x52, 0x08, 0x6d, 0x69, 0x6e, 0x56, 0x61, 0x6c,
  1112  	0x75, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x6d, 0x61, 0x78, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18,
  1113  	0x02, 0x20, 0x01, 0x28, 0x02, 0x52, 0x08, 0x6d, 0x61, 0x78, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12,
  1114  	0x23, 0x0a, 0x0d, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x61, 0x6c, 0x5f, 0x6d, 0x65, 0x61, 0x6e,
  1115  	0x18, 0x03, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0c, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x61, 0x6c,
  1116  	0x4d, 0x65, 0x61, 0x6e, 0x12, 0x27, 0x0a, 0x0f, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x61, 0x6c,
  1117  	0x5f, 0x73, 0x74, 0x64, 0x64, 0x65, 0x76, 0x18, 0x04, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0e, 0x6f,
  1118  	0x72, 0x69, 0x67, 0x69, 0x6e, 0x61, 0x6c, 0x53, 0x74, 0x64, 0x64, 0x65, 0x76, 0x1a, 0xab, 0x07,
  1119  	0x0a, 0x0d, 0x56, 0x69, 0x73, 0x75, 0x61, 0x6c, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12,
  1120  	0x64, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x50, 0x2e,
  1121  	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70,
  1122  	0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x78, 0x70, 0x6c, 0x61,
  1123  	0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x49,
  1124  	0x6e, 0x70, 0x75, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x56, 0x69, 0x73,
  1125  	0x75, 0x61, 0x6c, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x52,
  1126  	0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x70, 0x0a, 0x08, 0x70, 0x6f, 0x6c, 0x61, 0x72, 0x69, 0x74,
  1127  	0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x54, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
  1128  	0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72,
  1129  	0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x78, 0x70, 0x6c, 0x61, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e,
  1130  	0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x4d, 0x65,
  1131  	0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x56, 0x69, 0x73, 0x75, 0x61, 0x6c, 0x69, 0x7a, 0x61,
  1132  	0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x50, 0x6f, 0x6c, 0x61, 0x72, 0x69, 0x74, 0x79, 0x52, 0x08, 0x70,
  1133  	0x6f, 0x6c, 0x61, 0x72, 0x69, 0x74, 0x79, 0x12, 0x71, 0x0a, 0x09, 0x63, 0x6f, 0x6c, 0x6f, 0x72,
  1134  	0x5f, 0x6d, 0x61, 0x70, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x54, 0x2e, 0x67, 0x6f, 0x6f,
  1135  	0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74,
  1136  	0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x78, 0x70, 0x6c, 0x61, 0x6e, 0x61, 0x74,
  1137  	0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x49, 0x6e, 0x70, 0x75,
  1138  	0x74, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x56, 0x69, 0x73, 0x75, 0x61, 0x6c,
  1139  	0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x4d, 0x61, 0x70,
  1140  	0x52, 0x08, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x4d, 0x61, 0x70, 0x12, 0x36, 0x0a, 0x17, 0x63, 0x6c,
  1141  	0x69, 0x70, 0x5f, 0x70, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x5f, 0x75, 0x70, 0x70, 0x65, 0x72,
  1142  	0x62, 0x6f, 0x75, 0x6e, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x02, 0x52, 0x15, 0x63, 0x6c, 0x69,
  1143  	0x70, 0x50, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x55, 0x70, 0x70, 0x65, 0x72, 0x62, 0x6f, 0x75,
  1144  	0x6e, 0x64, 0x12, 0x36, 0x0a, 0x17, 0x63, 0x6c, 0x69, 0x70, 0x5f, 0x70, 0x65, 0x72, 0x63, 0x65,
  1145  	0x6e, 0x74, 0x5f, 0x6c, 0x6f, 0x77, 0x65, 0x72, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x18, 0x05, 0x20,
  1146  	0x01, 0x28, 0x02, 0x52, 0x15, 0x63, 0x6c, 0x69, 0x70, 0x50, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74,
  1147  	0x4c, 0x6f, 0x77, 0x65, 0x72, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x12, 0x7a, 0x0a, 0x0c, 0x6f, 0x76,
  1148  	0x65, 0x72, 0x6c, 0x61, 0x79, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0e,
  1149  	0x32, 0x57, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e,
  1150  	0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x78,
  1151  	0x70, 0x6c, 0x61, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74,
  1152  	0x61, 0x2e, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e,
  1153  	0x56, 0x69, 0x73, 0x75, 0x61, 0x6c, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x4f, 0x76,
  1154  	0x65, 0x72, 0x6c, 0x61, 0x79, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0b, 0x6f, 0x76, 0x65, 0x72, 0x6c,
  1155  	0x61, 0x79, 0x54, 0x79, 0x70, 0x65, 0x22, 0x36, 0x0a, 0x04, 0x54, 0x79, 0x70, 0x65, 0x12, 0x14,
  1156  	0x0a, 0x10, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49,
  1157  	0x45, 0x44, 0x10, 0x00, 0x12, 0x0a, 0x0a, 0x06, 0x50, 0x49, 0x58, 0x45, 0x4c, 0x53, 0x10, 0x01,
  1158  	0x12, 0x0c, 0x0a, 0x08, 0x4f, 0x55, 0x54, 0x4c, 0x49, 0x4e, 0x45, 0x53, 0x10, 0x02, 0x22, 0x4a,
  1159  	0x0a, 0x08, 0x50, 0x6f, 0x6c, 0x61, 0x72, 0x69, 0x74, 0x79, 0x12, 0x18, 0x0a, 0x14, 0x50, 0x4f,
  1160  	0x4c, 0x41, 0x52, 0x49, 0x54, 0x59, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49,
  1161  	0x45, 0x44, 0x10, 0x00, 0x12, 0x0c, 0x0a, 0x08, 0x50, 0x4f, 0x53, 0x49, 0x54, 0x49, 0x56, 0x45,
  1162  	0x10, 0x01, 0x12, 0x0c, 0x0a, 0x08, 0x4e, 0x45, 0x47, 0x41, 0x54, 0x49, 0x56, 0x45, 0x10, 0x02,
  1163  	0x12, 0x08, 0x0a, 0x04, 0x42, 0x4f, 0x54, 0x48, 0x10, 0x03, 0x22, 0x7b, 0x0a, 0x08, 0x43, 0x6f,
  1164  	0x6c, 0x6f, 0x72, 0x4d, 0x61, 0x70, 0x12, 0x19, 0x0a, 0x15, 0x43, 0x4f, 0x4c, 0x4f, 0x52, 0x5f,
  1165  	0x4d, 0x41, 0x50, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10,
  1166  	0x00, 0x12, 0x0e, 0x0a, 0x0a, 0x50, 0x49, 0x4e, 0x4b, 0x5f, 0x47, 0x52, 0x45, 0x45, 0x4e, 0x10,
  1167  	0x01, 0x12, 0x0b, 0x0a, 0x07, 0x56, 0x49, 0x52, 0x49, 0x44, 0x49, 0x53, 0x10, 0x02, 0x12, 0x07,
  1168  	0x0a, 0x03, 0x52, 0x45, 0x44, 0x10, 0x03, 0x12, 0x09, 0x0a, 0x05, 0x47, 0x52, 0x45, 0x45, 0x4e,
  1169  	0x10, 0x04, 0x12, 0x0d, 0x0a, 0x09, 0x52, 0x45, 0x44, 0x5f, 0x47, 0x52, 0x45, 0x45, 0x4e, 0x10,
  1170  	0x06, 0x12, 0x14, 0x0a, 0x10, 0x50, 0x49, 0x4e, 0x4b, 0x5f, 0x57, 0x48, 0x49, 0x54, 0x45, 0x5f,
  1171  	0x47, 0x52, 0x45, 0x45, 0x4e, 0x10, 0x05, 0x22, 0x62, 0x0a, 0x0b, 0x4f, 0x76, 0x65, 0x72, 0x6c,
  1172  	0x61, 0x79, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1c, 0x0a, 0x18, 0x4f, 0x56, 0x45, 0x52, 0x4c, 0x41,
  1173  	0x59, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49,
  1174  	0x45, 0x44, 0x10, 0x00, 0x12, 0x08, 0x0a, 0x04, 0x4e, 0x4f, 0x4e, 0x45, 0x10, 0x01, 0x12, 0x0c,
  1175  	0x0a, 0x08, 0x4f, 0x52, 0x49, 0x47, 0x49, 0x4e, 0x41, 0x4c, 0x10, 0x02, 0x12, 0x0d, 0x0a, 0x09,
  1176  	0x47, 0x52, 0x41, 0x59, 0x53, 0x43, 0x41, 0x4c, 0x45, 0x10, 0x03, 0x12, 0x0e, 0x0a, 0x0a, 0x4d,
  1177  	0x41, 0x53, 0x4b, 0x5f, 0x42, 0x4c, 0x41, 0x43, 0x4b, 0x10, 0x04, 0x22, 0xa0, 0x01, 0x0a, 0x08,
  1178  	0x45, 0x6e, 0x63, 0x6f, 0x64, 0x69, 0x6e, 0x67, 0x12, 0x18, 0x0a, 0x14, 0x45, 0x4e, 0x43, 0x4f,
  1179  	0x44, 0x49, 0x4e, 0x47, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44,
  1180  	0x10, 0x00, 0x12, 0x0c, 0x0a, 0x08, 0x49, 0x44, 0x45, 0x4e, 0x54, 0x49, 0x54, 0x59, 0x10, 0x01,
  1181  	0x12, 0x13, 0x0a, 0x0f, 0x42, 0x41, 0x47, 0x5f, 0x4f, 0x46, 0x5f, 0x46, 0x45, 0x41, 0x54, 0x55,
  1182  	0x52, 0x45, 0x53, 0x10, 0x02, 0x12, 0x1a, 0x0a, 0x16, 0x42, 0x41, 0x47, 0x5f, 0x4f, 0x46, 0x5f,
  1183  	0x46, 0x45, 0x41, 0x54, 0x55, 0x52, 0x45, 0x53, 0x5f, 0x53, 0x50, 0x41, 0x52, 0x53, 0x45, 0x10,
  1184  	0x03, 0x12, 0x0d, 0x0a, 0x09, 0x49, 0x4e, 0x44, 0x49, 0x43, 0x41, 0x54, 0x4f, 0x52, 0x10, 0x04,
  1185  	0x12, 0x16, 0x0a, 0x12, 0x43, 0x4f, 0x4d, 0x42, 0x49, 0x4e, 0x45, 0x44, 0x5f, 0x45, 0x4d, 0x42,
  1186  	0x45, 0x44, 0x44, 0x49, 0x4e, 0x47, 0x10, 0x05, 0x12, 0x14, 0x0a, 0x10, 0x43, 0x4f, 0x4e, 0x43,
  1187  	0x41, 0x54, 0x5f, 0x45, 0x4d, 0x42, 0x45, 0x44, 0x44, 0x49, 0x4e, 0x47, 0x10, 0x06, 0x1a, 0xe8,
  1188  	0x01, 0x0a, 0x0e, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74,
  1189  	0x61, 0x12, 0x55, 0x0a, 0x1a, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x5f, 0x64, 0x69, 0x73, 0x70, 0x6c,
  1190  	0x61, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x5f, 0x6d, 0x61, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x18,
  1191  	0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70,
  1192  	0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x48, 0x00, 0x52,
  1193  	0x17, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x4e, 0x61, 0x6d,
  1194  	0x65, 0x4d, 0x61, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x12, 0x39, 0x0a, 0x18, 0x64, 0x69, 0x73, 0x70,
  1195  	0x6c, 0x61, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x5f, 0x6d, 0x61, 0x70, 0x70, 0x69, 0x6e, 0x67,
  1196  	0x5f, 0x6b, 0x65, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x15, 0x64, 0x69,
  1197  	0x73, 0x70, 0x6c, 0x61, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x4d, 0x61, 0x70, 0x70, 0x69, 0x6e, 0x67,
  1198  	0x4b, 0x65, 0x79, 0x12, 0x2c, 0x0a, 0x12, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x5f, 0x74, 0x65,
  1199  	0x6e, 0x73, 0x6f, 0x72, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52,
  1200  	0x10, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x54, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x4e, 0x61, 0x6d,
  1201  	0x65, 0x42, 0x16, 0x0a, 0x14, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x6e, 0x61, 0x6d,
  1202  	0x65, 0x5f, 0x6d, 0x61, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x1a, 0x78, 0x0a, 0x0b, 0x49, 0x6e, 0x70,
  1203  	0x75, 0x74, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18,
  1204  	0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x53, 0x0a, 0x05, 0x76, 0x61,
  1205  	0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3d, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
  1206  	0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66,
  1207  	0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x78, 0x70, 0x6c, 0x61, 0x6e, 0x61, 0x74, 0x69,
  1208  	0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x49, 0x6e, 0x70, 0x75, 0x74,
  1209  	0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a,
  1210  	0x02, 0x38, 0x01, 0x1a, 0x7a, 0x0a, 0x0c, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x73, 0x45, 0x6e,
  1211  	0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09,
  1212  	0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x54, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02,
  1213  	0x20, 0x01, 0x28, 0x0b, 0x32, 0x3e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c,
  1214  	0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76,
  1215  	0x31, 0x2e, 0x45, 0x78, 0x70, 0x6c, 0x61, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74,
  1216  	0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x4d, 0x65, 0x74, 0x61,
  1217  	0x64, 0x61, 0x74, 0x61, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x42,
  1218  	0xd6, 0x01, 0x0a, 0x1e, 0x63, 0x6f, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63,
  1219  	0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e,
  1220  	0x76, 0x31, 0x42, 0x18, 0x45, 0x78, 0x70, 0x6c, 0x61, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d,
  1221  	0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x3e,
  1222  	0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6f, 0x6d,
  1223  	0x2f, 0x67, 0x6f, 0x2f, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x61,
  1224  	0x70, 0x69, 0x76, 0x31, 0x2f, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x70,
  1225  	0x62, 0x3b, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x70, 0x62, 0xaa, 0x02,
  1226  	0x1a, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x41, 0x49,
  1227  	0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x56, 0x31, 0xca, 0x02, 0x1a, 0x47, 0x6f,
  1228  	0x6f, 0x67, 0x6c, 0x65, 0x5c, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x5c, 0x41, 0x49, 0x50, 0x6c, 0x61,
  1229  	0x74, 0x66, 0x6f, 0x72, 0x6d, 0x5c, 0x56, 0x31, 0xea, 0x02, 0x1d, 0x47, 0x6f, 0x6f, 0x67, 0x6c,
  1230  	0x65, 0x3a, 0x3a, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x3a, 0x3a, 0x41, 0x49, 0x50, 0x6c, 0x61, 0x74,
  1231  	0x66, 0x6f, 0x72, 0x6d, 0x3a, 0x3a, 0x56, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
  1232  }
  1233  
  1234  var (
  1235  	file_google_cloud_aiplatform_v1_explanation_metadata_proto_rawDescOnce sync.Once
  1236  	file_google_cloud_aiplatform_v1_explanation_metadata_proto_rawDescData = file_google_cloud_aiplatform_v1_explanation_metadata_proto_rawDesc
  1237  )
  1238  
  1239  func file_google_cloud_aiplatform_v1_explanation_metadata_proto_rawDescGZIP() []byte {
  1240  	file_google_cloud_aiplatform_v1_explanation_metadata_proto_rawDescOnce.Do(func() {
  1241  		file_google_cloud_aiplatform_v1_explanation_metadata_proto_rawDescData = protoimpl.X.CompressGZIP(file_google_cloud_aiplatform_v1_explanation_metadata_proto_rawDescData)
  1242  	})
  1243  	return file_google_cloud_aiplatform_v1_explanation_metadata_proto_rawDescData
  1244  }
  1245  
  1246  var file_google_cloud_aiplatform_v1_explanation_metadata_proto_enumTypes = make([]protoimpl.EnumInfo, 5)
  1247  var file_google_cloud_aiplatform_v1_explanation_metadata_proto_msgTypes = make([]protoimpl.MessageInfo, 7)
  1248  var file_google_cloud_aiplatform_v1_explanation_metadata_proto_goTypes = []any{
  1249  	(ExplanationMetadata_InputMetadata_Encoding)(0),                  // 0: google.cloud.aiplatform.v1.ExplanationMetadata.InputMetadata.Encoding
  1250  	(ExplanationMetadata_InputMetadata_Visualization_Type)(0),        // 1: google.cloud.aiplatform.v1.ExplanationMetadata.InputMetadata.Visualization.Type
  1251  	(ExplanationMetadata_InputMetadata_Visualization_Polarity)(0),    // 2: google.cloud.aiplatform.v1.ExplanationMetadata.InputMetadata.Visualization.Polarity
  1252  	(ExplanationMetadata_InputMetadata_Visualization_ColorMap)(0),    // 3: google.cloud.aiplatform.v1.ExplanationMetadata.InputMetadata.Visualization.ColorMap
  1253  	(ExplanationMetadata_InputMetadata_Visualization_OverlayType)(0), // 4: google.cloud.aiplatform.v1.ExplanationMetadata.InputMetadata.Visualization.OverlayType
  1254  	(*ExplanationMetadata)(nil),                                      // 5: google.cloud.aiplatform.v1.ExplanationMetadata
  1255  	(*ExplanationMetadata_InputMetadata)(nil),                        // 6: google.cloud.aiplatform.v1.ExplanationMetadata.InputMetadata
  1256  	(*ExplanationMetadata_OutputMetadata)(nil),                       // 7: google.cloud.aiplatform.v1.ExplanationMetadata.OutputMetadata
  1257  	nil, // 8: google.cloud.aiplatform.v1.ExplanationMetadata.InputsEntry
  1258  	nil, // 9: google.cloud.aiplatform.v1.ExplanationMetadata.OutputsEntry
  1259  	(*ExplanationMetadata_InputMetadata_FeatureValueDomain)(nil), // 10: google.cloud.aiplatform.v1.ExplanationMetadata.InputMetadata.FeatureValueDomain
  1260  	(*ExplanationMetadata_InputMetadata_Visualization)(nil),      // 11: google.cloud.aiplatform.v1.ExplanationMetadata.InputMetadata.Visualization
  1261  	(*structpb.Value)(nil), // 12: google.protobuf.Value
  1262  }
  1263  var file_google_cloud_aiplatform_v1_explanation_metadata_proto_depIdxs = []int32{
  1264  	8,  // 0: google.cloud.aiplatform.v1.ExplanationMetadata.inputs:type_name -> google.cloud.aiplatform.v1.ExplanationMetadata.InputsEntry
  1265  	9,  // 1: google.cloud.aiplatform.v1.ExplanationMetadata.outputs:type_name -> google.cloud.aiplatform.v1.ExplanationMetadata.OutputsEntry
  1266  	12, // 2: google.cloud.aiplatform.v1.ExplanationMetadata.InputMetadata.input_baselines:type_name -> google.protobuf.Value
  1267  	0,  // 3: google.cloud.aiplatform.v1.ExplanationMetadata.InputMetadata.encoding:type_name -> google.cloud.aiplatform.v1.ExplanationMetadata.InputMetadata.Encoding
  1268  	10, // 4: google.cloud.aiplatform.v1.ExplanationMetadata.InputMetadata.feature_value_domain:type_name -> google.cloud.aiplatform.v1.ExplanationMetadata.InputMetadata.FeatureValueDomain
  1269  	12, // 5: google.cloud.aiplatform.v1.ExplanationMetadata.InputMetadata.encoded_baselines:type_name -> google.protobuf.Value
  1270  	11, // 6: google.cloud.aiplatform.v1.ExplanationMetadata.InputMetadata.visualization:type_name -> google.cloud.aiplatform.v1.ExplanationMetadata.InputMetadata.Visualization
  1271  	12, // 7: google.cloud.aiplatform.v1.ExplanationMetadata.OutputMetadata.index_display_name_mapping:type_name -> google.protobuf.Value
  1272  	6,  // 8: google.cloud.aiplatform.v1.ExplanationMetadata.InputsEntry.value:type_name -> google.cloud.aiplatform.v1.ExplanationMetadata.InputMetadata
  1273  	7,  // 9: google.cloud.aiplatform.v1.ExplanationMetadata.OutputsEntry.value:type_name -> google.cloud.aiplatform.v1.ExplanationMetadata.OutputMetadata
  1274  	1,  // 10: google.cloud.aiplatform.v1.ExplanationMetadata.InputMetadata.Visualization.type:type_name -> google.cloud.aiplatform.v1.ExplanationMetadata.InputMetadata.Visualization.Type
  1275  	2,  // 11: google.cloud.aiplatform.v1.ExplanationMetadata.InputMetadata.Visualization.polarity:type_name -> google.cloud.aiplatform.v1.ExplanationMetadata.InputMetadata.Visualization.Polarity
  1276  	3,  // 12: google.cloud.aiplatform.v1.ExplanationMetadata.InputMetadata.Visualization.color_map:type_name -> google.cloud.aiplatform.v1.ExplanationMetadata.InputMetadata.Visualization.ColorMap
  1277  	4,  // 13: google.cloud.aiplatform.v1.ExplanationMetadata.InputMetadata.Visualization.overlay_type:type_name -> google.cloud.aiplatform.v1.ExplanationMetadata.InputMetadata.Visualization.OverlayType
  1278  	14, // [14:14] is the sub-list for method output_type
  1279  	14, // [14:14] is the sub-list for method input_type
  1280  	14, // [14:14] is the sub-list for extension type_name
  1281  	14, // [14:14] is the sub-list for extension extendee
  1282  	0,  // [0:14] is the sub-list for field type_name
  1283  }
  1284  
  1285  func init() { file_google_cloud_aiplatform_v1_explanation_metadata_proto_init() }
  1286  func file_google_cloud_aiplatform_v1_explanation_metadata_proto_init() {
  1287  	if File_google_cloud_aiplatform_v1_explanation_metadata_proto != nil {
  1288  		return
  1289  	}
  1290  	file_google_cloud_aiplatform_v1_explanation_metadata_proto_msgTypes[2].OneofWrappers = []any{
  1291  		(*ExplanationMetadata_OutputMetadata_IndexDisplayNameMapping)(nil),
  1292  		(*ExplanationMetadata_OutputMetadata_DisplayNameMappingKey)(nil),
  1293  	}
  1294  	type x struct{}
  1295  	out := protoimpl.TypeBuilder{
  1296  		File: protoimpl.DescBuilder{
  1297  			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
  1298  			RawDescriptor: file_google_cloud_aiplatform_v1_explanation_metadata_proto_rawDesc,
  1299  			NumEnums:      5,
  1300  			NumMessages:   7,
  1301  			NumExtensions: 0,
  1302  			NumServices:   0,
  1303  		},
  1304  		GoTypes:           file_google_cloud_aiplatform_v1_explanation_metadata_proto_goTypes,
  1305  		DependencyIndexes: file_google_cloud_aiplatform_v1_explanation_metadata_proto_depIdxs,
  1306  		EnumInfos:         file_google_cloud_aiplatform_v1_explanation_metadata_proto_enumTypes,
  1307  		MessageInfos:      file_google_cloud_aiplatform_v1_explanation_metadata_proto_msgTypes,
  1308  	}.Build()
  1309  	File_google_cloud_aiplatform_v1_explanation_metadata_proto = out.File
  1310  	file_google_cloud_aiplatform_v1_explanation_metadata_proto_rawDesc = nil
  1311  	file_google_cloud_aiplatform_v1_explanation_metadata_proto_goTypes = nil
  1312  	file_google_cloud_aiplatform_v1_explanation_metadata_proto_depIdxs = nil
  1313  }