1// Copyright 2020 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.25.0 18// protoc v3.12.3 19// source: google/ads/googleads/v1/common/matching_function.proto 20 21package common 22 23import ( 24 reflect "reflect" 25 sync "sync" 26 27 proto "github.com/golang/protobuf/proto" 28 wrappers "github.com/golang/protobuf/ptypes/wrappers" 29 enums "google.golang.org/genproto/googleapis/ads/googleads/v1/enums" 30 _ "google.golang.org/genproto/googleapis/api/annotations" 31 protoreflect "google.golang.org/protobuf/reflect/protoreflect" 32 protoimpl "google.golang.org/protobuf/runtime/protoimpl" 33) 34 35const ( 36 // Verify that this generated code is sufficiently up-to-date. 37 _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) 38 // Verify that runtime/protoimpl is sufficiently up-to-date. 39 _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) 40) 41 42// This is a compile-time assertion that a sufficiently up-to-date version 43// of the legacy proto package is being used. 44const _ = proto.ProtoPackageIsVersion4 45 46// Matching function associated with a 47// CustomerFeed, CampaignFeed, or AdGroupFeed. The matching function is used 48// to filter the set of feed items selected. 49type MatchingFunction struct { 50 state protoimpl.MessageState 51 sizeCache protoimpl.SizeCache 52 unknownFields protoimpl.UnknownFields 53 54 // String representation of the Function. 55 // 56 // Examples: 57 // 58 // 1. IDENTITY(true) or IDENTITY(false). All or no feed items served. 59 // 2. EQUALS(CONTEXT.DEVICE,"Mobile") 60 // 3. IN(FEED_ITEM_ID,{1000001,1000002,1000003}) 61 // 4. CONTAINS_ANY(FeedAttribute[12345678,0],{"Mars cruise","Venus cruise"}) 62 // 5. AND(IN(FEED_ITEM_ID,{10001,10002}),EQUALS(CONTEXT.DEVICE,"Mobile")) 63 // 64 // For more details, visit 65 // https://developers.google.com/adwords/api/docs/guides/feed-matching-functions 66 // 67 // Note that because multiple strings may represent the same underlying 68 // function (whitespace and single versus double quotation marks, for 69 // example), the value returned may not be identical to the string sent in a 70 // mutate request. 71 FunctionString *wrappers.StringValue `protobuf:"bytes,1,opt,name=function_string,json=functionString,proto3" json:"function_string,omitempty"` 72 // Operator for a function. 73 Operator enums.MatchingFunctionOperatorEnum_MatchingFunctionOperator `protobuf:"varint,4,opt,name=operator,proto3,enum=google.ads.googleads.v1.enums.MatchingFunctionOperatorEnum_MatchingFunctionOperator" json:"operator,omitempty"` 74 // The operands on the left hand side of the equation. This is also the 75 // operand to be used for single operand expressions such as NOT. 76 LeftOperands []*Operand `protobuf:"bytes,2,rep,name=left_operands,json=leftOperands,proto3" json:"left_operands,omitempty"` 77 // The operands on the right hand side of the equation. 78 RightOperands []*Operand `protobuf:"bytes,3,rep,name=right_operands,json=rightOperands,proto3" json:"right_operands,omitempty"` 79} 80 81func (x *MatchingFunction) Reset() { 82 *x = MatchingFunction{} 83 if protoimpl.UnsafeEnabled { 84 mi := &file_google_ads_googleads_v1_common_matching_function_proto_msgTypes[0] 85 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 86 ms.StoreMessageInfo(mi) 87 } 88} 89 90func (x *MatchingFunction) String() string { 91 return protoimpl.X.MessageStringOf(x) 92} 93 94func (*MatchingFunction) ProtoMessage() {} 95 96func (x *MatchingFunction) ProtoReflect() protoreflect.Message { 97 mi := &file_google_ads_googleads_v1_common_matching_function_proto_msgTypes[0] 98 if protoimpl.UnsafeEnabled && x != nil { 99 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 100 if ms.LoadMessageInfo() == nil { 101 ms.StoreMessageInfo(mi) 102 } 103 return ms 104 } 105 return mi.MessageOf(x) 106} 107 108// Deprecated: Use MatchingFunction.ProtoReflect.Descriptor instead. 109func (*MatchingFunction) Descriptor() ([]byte, []int) { 110 return file_google_ads_googleads_v1_common_matching_function_proto_rawDescGZIP(), []int{0} 111} 112 113func (x *MatchingFunction) GetFunctionString() *wrappers.StringValue { 114 if x != nil { 115 return x.FunctionString 116 } 117 return nil 118} 119 120func (x *MatchingFunction) GetOperator() enums.MatchingFunctionOperatorEnum_MatchingFunctionOperator { 121 if x != nil { 122 return x.Operator 123 } 124 return enums.MatchingFunctionOperatorEnum_UNSPECIFIED 125} 126 127func (x *MatchingFunction) GetLeftOperands() []*Operand { 128 if x != nil { 129 return x.LeftOperands 130 } 131 return nil 132} 133 134func (x *MatchingFunction) GetRightOperands() []*Operand { 135 if x != nil { 136 return x.RightOperands 137 } 138 return nil 139} 140 141// An operand in a matching function. 142type Operand struct { 143 state protoimpl.MessageState 144 sizeCache protoimpl.SizeCache 145 unknownFields protoimpl.UnknownFields 146 147 // Different operands that can be used in a matching function. Required. 148 // 149 // Types that are assignable to FunctionArgumentOperand: 150 // *Operand_ConstantOperand_ 151 // *Operand_FeedAttributeOperand_ 152 // *Operand_FunctionOperand_ 153 // *Operand_RequestContextOperand_ 154 FunctionArgumentOperand isOperand_FunctionArgumentOperand `protobuf_oneof:"function_argument_operand"` 155} 156 157func (x *Operand) Reset() { 158 *x = Operand{} 159 if protoimpl.UnsafeEnabled { 160 mi := &file_google_ads_googleads_v1_common_matching_function_proto_msgTypes[1] 161 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 162 ms.StoreMessageInfo(mi) 163 } 164} 165 166func (x *Operand) String() string { 167 return protoimpl.X.MessageStringOf(x) 168} 169 170func (*Operand) ProtoMessage() {} 171 172func (x *Operand) ProtoReflect() protoreflect.Message { 173 mi := &file_google_ads_googleads_v1_common_matching_function_proto_msgTypes[1] 174 if protoimpl.UnsafeEnabled && x != nil { 175 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 176 if ms.LoadMessageInfo() == nil { 177 ms.StoreMessageInfo(mi) 178 } 179 return ms 180 } 181 return mi.MessageOf(x) 182} 183 184// Deprecated: Use Operand.ProtoReflect.Descriptor instead. 185func (*Operand) Descriptor() ([]byte, []int) { 186 return file_google_ads_googleads_v1_common_matching_function_proto_rawDescGZIP(), []int{1} 187} 188 189func (m *Operand) GetFunctionArgumentOperand() isOperand_FunctionArgumentOperand { 190 if m != nil { 191 return m.FunctionArgumentOperand 192 } 193 return nil 194} 195 196func (x *Operand) GetConstantOperand() *Operand_ConstantOperand { 197 if x, ok := x.GetFunctionArgumentOperand().(*Operand_ConstantOperand_); ok { 198 return x.ConstantOperand 199 } 200 return nil 201} 202 203func (x *Operand) GetFeedAttributeOperand() *Operand_FeedAttributeOperand { 204 if x, ok := x.GetFunctionArgumentOperand().(*Operand_FeedAttributeOperand_); ok { 205 return x.FeedAttributeOperand 206 } 207 return nil 208} 209 210func (x *Operand) GetFunctionOperand() *Operand_FunctionOperand { 211 if x, ok := x.GetFunctionArgumentOperand().(*Operand_FunctionOperand_); ok { 212 return x.FunctionOperand 213 } 214 return nil 215} 216 217func (x *Operand) GetRequestContextOperand() *Operand_RequestContextOperand { 218 if x, ok := x.GetFunctionArgumentOperand().(*Operand_RequestContextOperand_); ok { 219 return x.RequestContextOperand 220 } 221 return nil 222} 223 224type isOperand_FunctionArgumentOperand interface { 225 isOperand_FunctionArgumentOperand() 226} 227 228type Operand_ConstantOperand_ struct { 229 // A constant operand in a matching function. 230 ConstantOperand *Operand_ConstantOperand `protobuf:"bytes,1,opt,name=constant_operand,json=constantOperand,proto3,oneof"` 231} 232 233type Operand_FeedAttributeOperand_ struct { 234 // This operand specifies a feed attribute in feed. 235 FeedAttributeOperand *Operand_FeedAttributeOperand `protobuf:"bytes,2,opt,name=feed_attribute_operand,json=feedAttributeOperand,proto3,oneof"` 236} 237 238type Operand_FunctionOperand_ struct { 239 // A function operand in a matching function. 240 // Used to represent nested functions. 241 FunctionOperand *Operand_FunctionOperand `protobuf:"bytes,3,opt,name=function_operand,json=functionOperand,proto3,oneof"` 242} 243 244type Operand_RequestContextOperand_ struct { 245 // An operand in a function referring to a value in the request context. 246 RequestContextOperand *Operand_RequestContextOperand `protobuf:"bytes,4,opt,name=request_context_operand,json=requestContextOperand,proto3,oneof"` 247} 248 249func (*Operand_ConstantOperand_) isOperand_FunctionArgumentOperand() {} 250 251func (*Operand_FeedAttributeOperand_) isOperand_FunctionArgumentOperand() {} 252 253func (*Operand_FunctionOperand_) isOperand_FunctionArgumentOperand() {} 254 255func (*Operand_RequestContextOperand_) isOperand_FunctionArgumentOperand() {} 256 257// A constant operand in a matching function. 258type Operand_ConstantOperand struct { 259 state protoimpl.MessageState 260 sizeCache protoimpl.SizeCache 261 unknownFields protoimpl.UnknownFields 262 263 // Constant operand values. Required. 264 // 265 // Types that are assignable to ConstantOperandValue: 266 // *Operand_ConstantOperand_StringValue 267 // *Operand_ConstantOperand_LongValue 268 // *Operand_ConstantOperand_BooleanValue 269 // *Operand_ConstantOperand_DoubleValue 270 ConstantOperandValue isOperand_ConstantOperand_ConstantOperandValue `protobuf_oneof:"constant_operand_value"` 271} 272 273func (x *Operand_ConstantOperand) Reset() { 274 *x = Operand_ConstantOperand{} 275 if protoimpl.UnsafeEnabled { 276 mi := &file_google_ads_googleads_v1_common_matching_function_proto_msgTypes[2] 277 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 278 ms.StoreMessageInfo(mi) 279 } 280} 281 282func (x *Operand_ConstantOperand) String() string { 283 return protoimpl.X.MessageStringOf(x) 284} 285 286func (*Operand_ConstantOperand) ProtoMessage() {} 287 288func (x *Operand_ConstantOperand) ProtoReflect() protoreflect.Message { 289 mi := &file_google_ads_googleads_v1_common_matching_function_proto_msgTypes[2] 290 if protoimpl.UnsafeEnabled && x != nil { 291 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 292 if ms.LoadMessageInfo() == nil { 293 ms.StoreMessageInfo(mi) 294 } 295 return ms 296 } 297 return mi.MessageOf(x) 298} 299 300// Deprecated: Use Operand_ConstantOperand.ProtoReflect.Descriptor instead. 301func (*Operand_ConstantOperand) Descriptor() ([]byte, []int) { 302 return file_google_ads_googleads_v1_common_matching_function_proto_rawDescGZIP(), []int{1, 0} 303} 304 305func (m *Operand_ConstantOperand) GetConstantOperandValue() isOperand_ConstantOperand_ConstantOperandValue { 306 if m != nil { 307 return m.ConstantOperandValue 308 } 309 return nil 310} 311 312func (x *Operand_ConstantOperand) GetStringValue() *wrappers.StringValue { 313 if x, ok := x.GetConstantOperandValue().(*Operand_ConstantOperand_StringValue); ok { 314 return x.StringValue 315 } 316 return nil 317} 318 319func (x *Operand_ConstantOperand) GetLongValue() *wrappers.Int64Value { 320 if x, ok := x.GetConstantOperandValue().(*Operand_ConstantOperand_LongValue); ok { 321 return x.LongValue 322 } 323 return nil 324} 325 326func (x *Operand_ConstantOperand) GetBooleanValue() *wrappers.BoolValue { 327 if x, ok := x.GetConstantOperandValue().(*Operand_ConstantOperand_BooleanValue); ok { 328 return x.BooleanValue 329 } 330 return nil 331} 332 333func (x *Operand_ConstantOperand) GetDoubleValue() *wrappers.DoubleValue { 334 if x, ok := x.GetConstantOperandValue().(*Operand_ConstantOperand_DoubleValue); ok { 335 return x.DoubleValue 336 } 337 return nil 338} 339 340type isOperand_ConstantOperand_ConstantOperandValue interface { 341 isOperand_ConstantOperand_ConstantOperandValue() 342} 343 344type Operand_ConstantOperand_StringValue struct { 345 // String value of the operand if it is a string type. 346 StringValue *wrappers.StringValue `protobuf:"bytes,1,opt,name=string_value,json=stringValue,proto3,oneof"` 347} 348 349type Operand_ConstantOperand_LongValue struct { 350 // Int64 value of the operand if it is a int64 type. 351 LongValue *wrappers.Int64Value `protobuf:"bytes,2,opt,name=long_value,json=longValue,proto3,oneof"` 352} 353 354type Operand_ConstantOperand_BooleanValue struct { 355 // Boolean value of the operand if it is a boolean type. 356 BooleanValue *wrappers.BoolValue `protobuf:"bytes,3,opt,name=boolean_value,json=booleanValue,proto3,oneof"` 357} 358 359type Operand_ConstantOperand_DoubleValue struct { 360 // Double value of the operand if it is a double type. 361 DoubleValue *wrappers.DoubleValue `protobuf:"bytes,4,opt,name=double_value,json=doubleValue,proto3,oneof"` 362} 363 364func (*Operand_ConstantOperand_StringValue) isOperand_ConstantOperand_ConstantOperandValue() {} 365 366func (*Operand_ConstantOperand_LongValue) isOperand_ConstantOperand_ConstantOperandValue() {} 367 368func (*Operand_ConstantOperand_BooleanValue) isOperand_ConstantOperand_ConstantOperandValue() {} 369 370func (*Operand_ConstantOperand_DoubleValue) isOperand_ConstantOperand_ConstantOperandValue() {} 371 372// A feed attribute operand in a matching function. 373// Used to represent a feed attribute in feed. 374type Operand_FeedAttributeOperand struct { 375 state protoimpl.MessageState 376 sizeCache protoimpl.SizeCache 377 unknownFields protoimpl.UnknownFields 378 379 // The associated feed. Required. 380 FeedId *wrappers.Int64Value `protobuf:"bytes,1,opt,name=feed_id,json=feedId,proto3" json:"feed_id,omitempty"` 381 // Id of the referenced feed attribute. Required. 382 FeedAttributeId *wrappers.Int64Value `protobuf:"bytes,2,opt,name=feed_attribute_id,json=feedAttributeId,proto3" json:"feed_attribute_id,omitempty"` 383} 384 385func (x *Operand_FeedAttributeOperand) Reset() { 386 *x = Operand_FeedAttributeOperand{} 387 if protoimpl.UnsafeEnabled { 388 mi := &file_google_ads_googleads_v1_common_matching_function_proto_msgTypes[3] 389 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 390 ms.StoreMessageInfo(mi) 391 } 392} 393 394func (x *Operand_FeedAttributeOperand) String() string { 395 return protoimpl.X.MessageStringOf(x) 396} 397 398func (*Operand_FeedAttributeOperand) ProtoMessage() {} 399 400func (x *Operand_FeedAttributeOperand) ProtoReflect() protoreflect.Message { 401 mi := &file_google_ads_googleads_v1_common_matching_function_proto_msgTypes[3] 402 if protoimpl.UnsafeEnabled && x != nil { 403 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 404 if ms.LoadMessageInfo() == nil { 405 ms.StoreMessageInfo(mi) 406 } 407 return ms 408 } 409 return mi.MessageOf(x) 410} 411 412// Deprecated: Use Operand_FeedAttributeOperand.ProtoReflect.Descriptor instead. 413func (*Operand_FeedAttributeOperand) Descriptor() ([]byte, []int) { 414 return file_google_ads_googleads_v1_common_matching_function_proto_rawDescGZIP(), []int{1, 1} 415} 416 417func (x *Operand_FeedAttributeOperand) GetFeedId() *wrappers.Int64Value { 418 if x != nil { 419 return x.FeedId 420 } 421 return nil 422} 423 424func (x *Operand_FeedAttributeOperand) GetFeedAttributeId() *wrappers.Int64Value { 425 if x != nil { 426 return x.FeedAttributeId 427 } 428 return nil 429} 430 431// A function operand in a matching function. 432// Used to represent nested functions. 433type Operand_FunctionOperand struct { 434 state protoimpl.MessageState 435 sizeCache protoimpl.SizeCache 436 unknownFields protoimpl.UnknownFields 437 438 // The matching function held in this operand. 439 MatchingFunction *MatchingFunction `protobuf:"bytes,1,opt,name=matching_function,json=matchingFunction,proto3" json:"matching_function,omitempty"` 440} 441 442func (x *Operand_FunctionOperand) Reset() { 443 *x = Operand_FunctionOperand{} 444 if protoimpl.UnsafeEnabled { 445 mi := &file_google_ads_googleads_v1_common_matching_function_proto_msgTypes[4] 446 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 447 ms.StoreMessageInfo(mi) 448 } 449} 450 451func (x *Operand_FunctionOperand) String() string { 452 return protoimpl.X.MessageStringOf(x) 453} 454 455func (*Operand_FunctionOperand) ProtoMessage() {} 456 457func (x *Operand_FunctionOperand) ProtoReflect() protoreflect.Message { 458 mi := &file_google_ads_googleads_v1_common_matching_function_proto_msgTypes[4] 459 if protoimpl.UnsafeEnabled && x != nil { 460 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 461 if ms.LoadMessageInfo() == nil { 462 ms.StoreMessageInfo(mi) 463 } 464 return ms 465 } 466 return mi.MessageOf(x) 467} 468 469// Deprecated: Use Operand_FunctionOperand.ProtoReflect.Descriptor instead. 470func (*Operand_FunctionOperand) Descriptor() ([]byte, []int) { 471 return file_google_ads_googleads_v1_common_matching_function_proto_rawDescGZIP(), []int{1, 2} 472} 473 474func (x *Operand_FunctionOperand) GetMatchingFunction() *MatchingFunction { 475 if x != nil { 476 return x.MatchingFunction 477 } 478 return nil 479} 480 481// An operand in a function referring to a value in the request context. 482type Operand_RequestContextOperand struct { 483 state protoimpl.MessageState 484 sizeCache protoimpl.SizeCache 485 unknownFields protoimpl.UnknownFields 486 487 // Type of value to be referred in the request context. 488 ContextType enums.MatchingFunctionContextTypeEnum_MatchingFunctionContextType `protobuf:"varint,1,opt,name=context_type,json=contextType,proto3,enum=google.ads.googleads.v1.enums.MatchingFunctionContextTypeEnum_MatchingFunctionContextType" json:"context_type,omitempty"` 489} 490 491func (x *Operand_RequestContextOperand) Reset() { 492 *x = Operand_RequestContextOperand{} 493 if protoimpl.UnsafeEnabled { 494 mi := &file_google_ads_googleads_v1_common_matching_function_proto_msgTypes[5] 495 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 496 ms.StoreMessageInfo(mi) 497 } 498} 499 500func (x *Operand_RequestContextOperand) String() string { 501 return protoimpl.X.MessageStringOf(x) 502} 503 504func (*Operand_RequestContextOperand) ProtoMessage() {} 505 506func (x *Operand_RequestContextOperand) ProtoReflect() protoreflect.Message { 507 mi := &file_google_ads_googleads_v1_common_matching_function_proto_msgTypes[5] 508 if protoimpl.UnsafeEnabled && x != nil { 509 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 510 if ms.LoadMessageInfo() == nil { 511 ms.StoreMessageInfo(mi) 512 } 513 return ms 514 } 515 return mi.MessageOf(x) 516} 517 518// Deprecated: Use Operand_RequestContextOperand.ProtoReflect.Descriptor instead. 519func (*Operand_RequestContextOperand) Descriptor() ([]byte, []int) { 520 return file_google_ads_googleads_v1_common_matching_function_proto_rawDescGZIP(), []int{1, 3} 521} 522 523func (x *Operand_RequestContextOperand) GetContextType() enums.MatchingFunctionContextTypeEnum_MatchingFunctionContextType { 524 if x != nil { 525 return x.ContextType 526 } 527 return enums.MatchingFunctionContextTypeEnum_UNSPECIFIED 528} 529 530var File_google_ads_googleads_v1_common_matching_function_proto protoreflect.FileDescriptor 531 532var file_google_ads_googleads_v1_common_matching_function_proto_rawDesc = []byte{ 533 0x0a, 0x36, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x64, 0x73, 0x2f, 0x67, 0x6f, 0x6f, 534 0x67, 0x6c, 0x65, 0x61, 0x64, 0x73, 0x2f, 0x76, 0x31, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 535 0x2f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x69, 0x6e, 0x67, 0x5f, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 536 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 537 0x2e, 0x61, 0x64, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x64, 0x73, 0x2e, 0x76, 538 0x31, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x1a, 0x42, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 539 0x2f, 0x61, 0x64, 0x73, 0x2f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x64, 0x73, 0x2f, 0x76, 540 0x31, 0x2f, 0x65, 0x6e, 0x75, 0x6d, 0x73, 0x2f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x69, 0x6e, 0x67, 541 0x5f, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 542 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x3e, 0x67, 0x6f, 543 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x64, 0x73, 0x2f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 544 0x64, 0x73, 0x2f, 0x76, 0x31, 0x2f, 0x65, 0x6e, 0x75, 0x6d, 0x73, 0x2f, 0x6d, 0x61, 0x74, 0x63, 545 0x68, 0x69, 0x6e, 0x67, 0x5f, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6f, 0x70, 546 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x67, 0x6f, 547 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x77, 0x72, 548 0x61, 0x70, 0x70, 0x65, 0x72, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1c, 0x67, 0x6f, 549 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 550 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xe9, 0x02, 0x0a, 0x10, 0x4d, 551 0x61, 0x74, 0x63, 0x68, 0x69, 0x6e, 0x67, 0x46, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 552 0x45, 0x0a, 0x0f, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x74, 0x72, 0x69, 553 0x6e, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 554 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 555 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0e, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 556 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x12, 0x70, 0x0a, 0x08, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 557 0x6f, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x54, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 558 0x65, 0x2e, 0x61, 0x64, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x64, 0x73, 0x2e, 559 0x76, 0x31, 0x2e, 0x65, 0x6e, 0x75, 0x6d, 0x73, 0x2e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x69, 0x6e, 560 0x67, 0x46, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 561 0x72, 0x45, 0x6e, 0x75, 0x6d, 0x2e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x69, 0x6e, 0x67, 0x46, 0x75, 562 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x52, 0x08, 563 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x4c, 0x0a, 0x0d, 0x6c, 0x65, 0x66, 0x74, 564 0x5f, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x6e, 0x64, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 565 0x27, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x64, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 566 0x67, 0x6c, 0x65, 0x61, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 567 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x6e, 0x64, 0x52, 0x0c, 0x6c, 0x65, 0x66, 0x74, 0x4f, 0x70, 568 0x65, 0x72, 0x61, 0x6e, 0x64, 0x73, 0x12, 0x4e, 0x0a, 0x0e, 0x72, 0x69, 0x67, 0x68, 0x74, 0x5f, 569 0x6f, 0x70, 0x65, 0x72, 0x61, 0x6e, 0x64, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x27, 570 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x64, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 571 0x6c, 0x65, 0x61, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 572 0x4f, 0x70, 0x65, 0x72, 0x61, 0x6e, 0x64, 0x52, 0x0d, 0x72, 0x69, 0x67, 0x68, 0x74, 0x4f, 0x70, 573 0x65, 0x72, 0x61, 0x6e, 0x64, 0x73, 0x22, 0xb9, 0x09, 0x0a, 0x07, 0x4f, 0x70, 0x65, 0x72, 0x61, 574 0x6e, 0x64, 0x12, 0x64, 0x0a, 0x10, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x74, 0x5f, 0x6f, 575 0x70, 0x65, 0x72, 0x61, 0x6e, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x37, 0x2e, 0x67, 576 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x64, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 577 0x61, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x4f, 0x70, 578 0x65, 0x72, 0x61, 0x6e, 0x64, 0x2e, 0x43, 0x6f, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x74, 0x4f, 0x70, 579 0x65, 0x72, 0x61, 0x6e, 0x64, 0x48, 0x00, 0x52, 0x0f, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x61, 0x6e, 580 0x74, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x6e, 0x64, 0x12, 0x74, 0x0a, 0x16, 0x66, 0x65, 0x65, 0x64, 581 0x5f, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x5f, 0x6f, 0x70, 0x65, 0x72, 0x61, 582 0x6e, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 583 0x65, 0x2e, 0x61, 0x64, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x64, 0x73, 0x2e, 584 0x76, 0x31, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x6e, 585 0x64, 0x2e, 0x46, 0x65, 0x65, 0x64, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x4f, 586 0x70, 0x65, 0x72, 0x61, 0x6e, 0x64, 0x48, 0x00, 0x52, 0x14, 0x66, 0x65, 0x65, 0x64, 0x41, 0x74, 587 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x6e, 0x64, 0x12, 0x64, 588 0x0a, 0x10, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6f, 0x70, 0x65, 0x72, 0x61, 589 0x6e, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x37, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 590 0x65, 0x2e, 0x61, 0x64, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x64, 0x73, 0x2e, 591 0x76, 0x31, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x6e, 592 0x64, 0x2e, 0x46, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x6e, 593 0x64, 0x48, 0x00, 0x52, 0x0f, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x65, 594 0x72, 0x61, 0x6e, 0x64, 0x12, 0x77, 0x0a, 0x17, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 595 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x5f, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x6e, 0x64, 0x18, 596 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 597 0x64, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 598 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x6e, 0x64, 0x2e, 0x52, 599 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x4f, 0x70, 0x65, 600 0x72, 0x61, 0x6e, 0x64, 0x48, 0x00, 0x52, 0x15, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x43, 601 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x6e, 0x64, 0x1a, 0xb2, 0x02, 602 0x0a, 0x0f, 0x43, 0x6f, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x74, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x6e, 603 0x64, 0x12, 0x41, 0x0a, 0x0c, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x76, 0x61, 0x6c, 0x75, 604 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 605 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 606 0x56, 0x61, 0x6c, 0x75, 0x65, 0x48, 0x00, 0x52, 0x0b, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 607 0x61, 0x6c, 0x75, 0x65, 0x12, 0x3c, 0x0a, 0x0a, 0x6c, 0x6f, 0x6e, 0x67, 0x5f, 0x76, 0x61, 0x6c, 608 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 609 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x49, 0x6e, 0x74, 0x36, 0x34, 610 0x56, 0x61, 0x6c, 0x75, 0x65, 0x48, 0x00, 0x52, 0x09, 0x6c, 0x6f, 0x6e, 0x67, 0x56, 0x61, 0x6c, 611 0x75, 0x65, 0x12, 0x41, 0x0a, 0x0d, 0x62, 0x6f, 0x6f, 0x6c, 0x65, 0x61, 0x6e, 0x5f, 0x76, 0x61, 612 0x6c, 0x75, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 613 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x42, 0x6f, 0x6f, 0x6c, 614 0x56, 0x61, 0x6c, 0x75, 0x65, 0x48, 0x00, 0x52, 0x0c, 0x62, 0x6f, 0x6f, 0x6c, 0x65, 0x61, 0x6e, 615 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x41, 0x0a, 0x0c, 0x64, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x5f, 616 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 617 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x6f, 618 0x75, 0x62, 0x6c, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x48, 0x00, 0x52, 0x0b, 0x64, 0x6f, 0x75, 619 0x62, 0x6c, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x18, 0x0a, 0x16, 0x63, 0x6f, 0x6e, 0x73, 620 0x74, 0x61, 0x6e, 0x74, 0x5f, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x6e, 0x64, 0x5f, 0x76, 0x61, 0x6c, 621 0x75, 0x65, 0x1a, 0x95, 0x01, 0x0a, 0x14, 0x46, 0x65, 0x65, 0x64, 0x41, 0x74, 0x74, 0x72, 0x69, 622 0x62, 0x75, 0x74, 0x65, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x6e, 0x64, 0x12, 0x34, 0x0a, 0x07, 0x66, 623 0x65, 0x65, 0x64, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 624 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x49, 625 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x06, 0x66, 0x65, 0x65, 0x64, 0x49, 626 0x64, 0x12, 0x47, 0x0a, 0x11, 0x66, 0x65, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 627 0x75, 0x74, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 628 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x49, 629 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0f, 0x66, 0x65, 0x65, 0x64, 0x41, 630 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x49, 0x64, 0x1a, 0x70, 0x0a, 0x0f, 0x46, 0x75, 631 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x6e, 0x64, 0x12, 0x5d, 0x0a, 632 0x11, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x69, 0x6e, 0x67, 0x5f, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 633 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 634 0x65, 0x2e, 0x61, 0x64, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x64, 0x73, 0x2e, 635 0x76, 0x31, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x69, 636 0x6e, 0x67, 0x46, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x10, 0x6d, 0x61, 0x74, 0x63, 637 0x68, 0x69, 0x6e, 0x67, 0x46, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x1a, 0x96, 0x01, 0x0a, 638 0x15, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x4f, 639 0x70, 0x65, 0x72, 0x61, 0x6e, 0x64, 0x12, 0x7d, 0x0a, 0x0c, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 640 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x5a, 0x2e, 0x67, 641 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x64, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 642 0x61, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x65, 0x6e, 0x75, 0x6d, 0x73, 0x2e, 0x4d, 0x61, 0x74, 643 0x63, 0x68, 0x69, 0x6e, 0x67, 0x46, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 644 0x74, 0x65, 0x78, 0x74, 0x54, 0x79, 0x70, 0x65, 0x45, 0x6e, 0x75, 0x6d, 0x2e, 0x4d, 0x61, 0x74, 645 0x63, 0x68, 0x69, 0x6e, 0x67, 0x46, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 646 0x74, 0x65, 0x78, 0x74, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0b, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 647 0x74, 0x54, 0x79, 0x70, 0x65, 0x42, 0x1b, 0x0a, 0x19, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 648 0x6e, 0x5f, 0x61, 0x72, 0x67, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x6f, 0x70, 0x65, 0x72, 0x61, 649 0x6e, 0x64, 0x42, 0xf0, 0x01, 0x0a, 0x22, 0x63, 0x6f, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 650 0x65, 0x2e, 0x61, 0x64, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x64, 0x73, 0x2e, 651 0x76, 0x31, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x42, 0x15, 0x4d, 0x61, 0x74, 0x63, 0x68, 652 0x69, 0x6e, 0x67, 0x46, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x6f, 0x74, 0x6f, 653 0x50, 0x01, 0x5a, 0x44, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x67, 0x6f, 0x6c, 0x61, 0x6e, 654 0x67, 0x2e, 0x6f, 0x72, 0x67, 0x2f, 0x67, 0x65, 0x6e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x67, 655 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2f, 0x61, 0x64, 0x73, 0x2f, 0x67, 0x6f, 656 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x64, 0x73, 0x2f, 0x76, 0x31, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 657 0x6e, 0x3b, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0xa2, 0x02, 0x03, 0x47, 0x41, 0x41, 0xaa, 0x02, 658 0x1e, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x41, 0x64, 0x73, 0x2e, 0x47, 0x6f, 0x6f, 0x67, 659 0x6c, 0x65, 0x41, 0x64, 0x73, 0x2e, 0x56, 0x31, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0xca, 660 0x02, 0x1e, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x5c, 0x41, 0x64, 0x73, 0x5c, 0x47, 0x6f, 0x6f, 661 0x67, 0x6c, 0x65, 0x41, 0x64, 0x73, 0x5c, 0x56, 0x31, 0x5c, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 662 0xea, 0x02, 0x22, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x3a, 0x3a, 0x41, 0x64, 0x73, 0x3a, 0x3a, 663 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x41, 0x64, 0x73, 0x3a, 0x3a, 0x56, 0x31, 0x3a, 0x3a, 0x43, 664 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, 665} 666 667var ( 668 file_google_ads_googleads_v1_common_matching_function_proto_rawDescOnce sync.Once 669 file_google_ads_googleads_v1_common_matching_function_proto_rawDescData = file_google_ads_googleads_v1_common_matching_function_proto_rawDesc 670) 671 672func file_google_ads_googleads_v1_common_matching_function_proto_rawDescGZIP() []byte { 673 file_google_ads_googleads_v1_common_matching_function_proto_rawDescOnce.Do(func() { 674 file_google_ads_googleads_v1_common_matching_function_proto_rawDescData = protoimpl.X.CompressGZIP(file_google_ads_googleads_v1_common_matching_function_proto_rawDescData) 675 }) 676 return file_google_ads_googleads_v1_common_matching_function_proto_rawDescData 677} 678 679var file_google_ads_googleads_v1_common_matching_function_proto_msgTypes = make([]protoimpl.MessageInfo, 6) 680var file_google_ads_googleads_v1_common_matching_function_proto_goTypes = []interface{}{ 681 (*MatchingFunction)(nil), // 0: google.ads.googleads.v1.common.MatchingFunction 682 (*Operand)(nil), // 1: google.ads.googleads.v1.common.Operand 683 (*Operand_ConstantOperand)(nil), // 2: google.ads.googleads.v1.common.Operand.ConstantOperand 684 (*Operand_FeedAttributeOperand)(nil), // 3: google.ads.googleads.v1.common.Operand.FeedAttributeOperand 685 (*Operand_FunctionOperand)(nil), // 4: google.ads.googleads.v1.common.Operand.FunctionOperand 686 (*Operand_RequestContextOperand)(nil), // 5: google.ads.googleads.v1.common.Operand.RequestContextOperand 687 (*wrappers.StringValue)(nil), // 6: google.protobuf.StringValue 688 (enums.MatchingFunctionOperatorEnum_MatchingFunctionOperator)(0), // 7: google.ads.googleads.v1.enums.MatchingFunctionOperatorEnum.MatchingFunctionOperator 689 (*wrappers.Int64Value)(nil), // 8: google.protobuf.Int64Value 690 (*wrappers.BoolValue)(nil), // 9: google.protobuf.BoolValue 691 (*wrappers.DoubleValue)(nil), // 10: google.protobuf.DoubleValue 692 (enums.MatchingFunctionContextTypeEnum_MatchingFunctionContextType)(0), // 11: google.ads.googleads.v1.enums.MatchingFunctionContextTypeEnum.MatchingFunctionContextType 693} 694var file_google_ads_googleads_v1_common_matching_function_proto_depIdxs = []int32{ 695 6, // 0: google.ads.googleads.v1.common.MatchingFunction.function_string:type_name -> google.protobuf.StringValue 696 7, // 1: google.ads.googleads.v1.common.MatchingFunction.operator:type_name -> google.ads.googleads.v1.enums.MatchingFunctionOperatorEnum.MatchingFunctionOperator 697 1, // 2: google.ads.googleads.v1.common.MatchingFunction.left_operands:type_name -> google.ads.googleads.v1.common.Operand 698 1, // 3: google.ads.googleads.v1.common.MatchingFunction.right_operands:type_name -> google.ads.googleads.v1.common.Operand 699 2, // 4: google.ads.googleads.v1.common.Operand.constant_operand:type_name -> google.ads.googleads.v1.common.Operand.ConstantOperand 700 3, // 5: google.ads.googleads.v1.common.Operand.feed_attribute_operand:type_name -> google.ads.googleads.v1.common.Operand.FeedAttributeOperand 701 4, // 6: google.ads.googleads.v1.common.Operand.function_operand:type_name -> google.ads.googleads.v1.common.Operand.FunctionOperand 702 5, // 7: google.ads.googleads.v1.common.Operand.request_context_operand:type_name -> google.ads.googleads.v1.common.Operand.RequestContextOperand 703 6, // 8: google.ads.googleads.v1.common.Operand.ConstantOperand.string_value:type_name -> google.protobuf.StringValue 704 8, // 9: google.ads.googleads.v1.common.Operand.ConstantOperand.long_value:type_name -> google.protobuf.Int64Value 705 9, // 10: google.ads.googleads.v1.common.Operand.ConstantOperand.boolean_value:type_name -> google.protobuf.BoolValue 706 10, // 11: google.ads.googleads.v1.common.Operand.ConstantOperand.double_value:type_name -> google.protobuf.DoubleValue 707 8, // 12: google.ads.googleads.v1.common.Operand.FeedAttributeOperand.feed_id:type_name -> google.protobuf.Int64Value 708 8, // 13: google.ads.googleads.v1.common.Operand.FeedAttributeOperand.feed_attribute_id:type_name -> google.protobuf.Int64Value 709 0, // 14: google.ads.googleads.v1.common.Operand.FunctionOperand.matching_function:type_name -> google.ads.googleads.v1.common.MatchingFunction 710 11, // 15: google.ads.googleads.v1.common.Operand.RequestContextOperand.context_type:type_name -> google.ads.googleads.v1.enums.MatchingFunctionContextTypeEnum.MatchingFunctionContextType 711 16, // [16:16] is the sub-list for method output_type 712 16, // [16:16] is the sub-list for method input_type 713 16, // [16:16] is the sub-list for extension type_name 714 16, // [16:16] is the sub-list for extension extendee 715 0, // [0:16] is the sub-list for field type_name 716} 717 718func init() { file_google_ads_googleads_v1_common_matching_function_proto_init() } 719func file_google_ads_googleads_v1_common_matching_function_proto_init() { 720 if File_google_ads_googleads_v1_common_matching_function_proto != nil { 721 return 722 } 723 if !protoimpl.UnsafeEnabled { 724 file_google_ads_googleads_v1_common_matching_function_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { 725 switch v := v.(*MatchingFunction); i { 726 case 0: 727 return &v.state 728 case 1: 729 return &v.sizeCache 730 case 2: 731 return &v.unknownFields 732 default: 733 return nil 734 } 735 } 736 file_google_ads_googleads_v1_common_matching_function_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { 737 switch v := v.(*Operand); i { 738 case 0: 739 return &v.state 740 case 1: 741 return &v.sizeCache 742 case 2: 743 return &v.unknownFields 744 default: 745 return nil 746 } 747 } 748 file_google_ads_googleads_v1_common_matching_function_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { 749 switch v := v.(*Operand_ConstantOperand); i { 750 case 0: 751 return &v.state 752 case 1: 753 return &v.sizeCache 754 case 2: 755 return &v.unknownFields 756 default: 757 return nil 758 } 759 } 760 file_google_ads_googleads_v1_common_matching_function_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { 761 switch v := v.(*Operand_FeedAttributeOperand); i { 762 case 0: 763 return &v.state 764 case 1: 765 return &v.sizeCache 766 case 2: 767 return &v.unknownFields 768 default: 769 return nil 770 } 771 } 772 file_google_ads_googleads_v1_common_matching_function_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { 773 switch v := v.(*Operand_FunctionOperand); i { 774 case 0: 775 return &v.state 776 case 1: 777 return &v.sizeCache 778 case 2: 779 return &v.unknownFields 780 default: 781 return nil 782 } 783 } 784 file_google_ads_googleads_v1_common_matching_function_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { 785 switch v := v.(*Operand_RequestContextOperand); i { 786 case 0: 787 return &v.state 788 case 1: 789 return &v.sizeCache 790 case 2: 791 return &v.unknownFields 792 default: 793 return nil 794 } 795 } 796 } 797 file_google_ads_googleads_v1_common_matching_function_proto_msgTypes[1].OneofWrappers = []interface{}{ 798 (*Operand_ConstantOperand_)(nil), 799 (*Operand_FeedAttributeOperand_)(nil), 800 (*Operand_FunctionOperand_)(nil), 801 (*Operand_RequestContextOperand_)(nil), 802 } 803 file_google_ads_googleads_v1_common_matching_function_proto_msgTypes[2].OneofWrappers = []interface{}{ 804 (*Operand_ConstantOperand_StringValue)(nil), 805 (*Operand_ConstantOperand_LongValue)(nil), 806 (*Operand_ConstantOperand_BooleanValue)(nil), 807 (*Operand_ConstantOperand_DoubleValue)(nil), 808 } 809 type x struct{} 810 out := protoimpl.TypeBuilder{ 811 File: protoimpl.DescBuilder{ 812 GoPackagePath: reflect.TypeOf(x{}).PkgPath(), 813 RawDescriptor: file_google_ads_googleads_v1_common_matching_function_proto_rawDesc, 814 NumEnums: 0, 815 NumMessages: 6, 816 NumExtensions: 0, 817 NumServices: 0, 818 }, 819 GoTypes: file_google_ads_googleads_v1_common_matching_function_proto_goTypes, 820 DependencyIndexes: file_google_ads_googleads_v1_common_matching_function_proto_depIdxs, 821 MessageInfos: file_google_ads_googleads_v1_common_matching_function_proto_msgTypes, 822 }.Build() 823 File_google_ads_googleads_v1_common_matching_function_proto = out.File 824 file_google_ads_googleads_v1_common_matching_function_proto_rawDesc = nil 825 file_google_ads_googleads_v1_common_matching_function_proto_goTypes = nil 826 file_google_ads_googleads_v1_common_matching_function_proto_depIdxs = nil 827} 828