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.13.0 19// source: google/ads/googleads/v2/resources/ad.proto 20 21package resources 22 23import ( 24 reflect "reflect" 25 sync "sync" 26 27 proto "github.com/golang/protobuf/proto" 28 common "google.golang.org/genproto/googleapis/ads/googleads/v2/common" 29 enums "google.golang.org/genproto/googleapis/ads/googleads/v2/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 wrapperspb "google.golang.org/protobuf/types/known/wrapperspb" 34) 35 36const ( 37 // Verify that this generated code is sufficiently up-to-date. 38 _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) 39 // Verify that runtime/protoimpl is sufficiently up-to-date. 40 _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) 41) 42 43// This is a compile-time assertion that a sufficiently up-to-date version 44// of the legacy proto package is being used. 45const _ = proto.ProtoPackageIsVersion4 46 47// An ad. 48type Ad struct { 49 state protoimpl.MessageState 50 sizeCache protoimpl.SizeCache 51 unknownFields protoimpl.UnknownFields 52 53 // Immutable. The resource name of the ad. 54 // Ad resource names have the form: 55 // 56 // `customers/{customer_id}/ads/{ad_id}` 57 ResourceName string `protobuf:"bytes,37,opt,name=resource_name,json=resourceName,proto3" json:"resource_name,omitempty"` 58 // Output only. The ID of the ad. 59 Id *wrapperspb.Int64Value `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` 60 // The list of possible final URLs after all cross-domain redirects for the 61 // ad. 62 FinalUrls []*wrapperspb.StringValue `protobuf:"bytes,2,rep,name=final_urls,json=finalUrls,proto3" json:"final_urls,omitempty"` 63 // A list of final app URLs that will be used on mobile if the user has the 64 // specific app installed. 65 FinalAppUrls []*common.FinalAppUrl `protobuf:"bytes,35,rep,name=final_app_urls,json=finalAppUrls,proto3" json:"final_app_urls,omitempty"` 66 // The list of possible final mobile URLs after all cross-domain redirects 67 // for the ad. 68 FinalMobileUrls []*wrapperspb.StringValue `protobuf:"bytes,16,rep,name=final_mobile_urls,json=finalMobileUrls,proto3" json:"final_mobile_urls,omitempty"` 69 // The URL template for constructing a tracking URL. 70 TrackingUrlTemplate *wrapperspb.StringValue `protobuf:"bytes,12,opt,name=tracking_url_template,json=trackingUrlTemplate,proto3" json:"tracking_url_template,omitempty"` 71 // The suffix to use when constructing a final URL. 72 FinalUrlSuffix *wrapperspb.StringValue `protobuf:"bytes,38,opt,name=final_url_suffix,json=finalUrlSuffix,proto3" json:"final_url_suffix,omitempty"` 73 // The list of mappings that can be used to substitute custom parameter tags 74 // in a `tracking_url_template`, `final_urls`, or `mobile_final_urls`. 75 // For mutates, please use url custom parameter operations. 76 UrlCustomParameters []*common.CustomParameter `protobuf:"bytes,10,rep,name=url_custom_parameters,json=urlCustomParameters,proto3" json:"url_custom_parameters,omitempty"` 77 // The URL that appears in the ad description for some ad formats. 78 DisplayUrl *wrapperspb.StringValue `protobuf:"bytes,4,opt,name=display_url,json=displayUrl,proto3" json:"display_url,omitempty"` 79 // Output only. The type of ad. 80 Type enums.AdTypeEnum_AdType `protobuf:"varint,5,opt,name=type,proto3,enum=google.ads.googleads.v2.enums.AdTypeEnum_AdType" json:"type,omitempty"` 81 // Output only. Indicates if this ad was automatically added by Google Ads and not by a 82 // user. For example, this could happen when ads are automatically created as 83 // suggestions for new ads based on knowledge of how existing ads are 84 // performing. 85 AddedByGoogleAds *wrapperspb.BoolValue `protobuf:"bytes,19,opt,name=added_by_google_ads,json=addedByGoogleAds,proto3" json:"added_by_google_ads,omitempty"` 86 // The device preference for the ad. You can only specify a preference for 87 // mobile devices. When this preference is set the ad will be preferred over 88 // other ads when being displayed on a mobile device. The ad can still be 89 // displayed on other device types, e.g. if no other ads are available. 90 // If unspecified (no device preference), all devices are targeted. 91 // This is only supported by some ad types. 92 DevicePreference enums.DeviceEnum_Device `protobuf:"varint,20,opt,name=device_preference,json=devicePreference,proto3,enum=google.ads.googleads.v2.enums.DeviceEnum_Device" json:"device_preference,omitempty"` 93 // Additional URLs for the ad that are tagged with a unique identifier that 94 // can be referenced from other fields in the ad. 95 UrlCollections []*common.UrlCollection `protobuf:"bytes,26,rep,name=url_collections,json=urlCollections,proto3" json:"url_collections,omitempty"` 96 // Immutable. The name of the ad. This is only used to be able to identify the ad. It 97 // does not need to be unique and does not affect the served ad. 98 Name *wrapperspb.StringValue `protobuf:"bytes,23,opt,name=name,proto3" json:"name,omitempty"` 99 // Output only. If this ad is system managed, then this field will indicate the source. 100 // This field is read-only. 101 SystemManagedResourceSource enums.SystemManagedResourceSourceEnum_SystemManagedResourceSource `protobuf:"varint,27,opt,name=system_managed_resource_source,json=systemManagedResourceSource,proto3,enum=google.ads.googleads.v2.enums.SystemManagedResourceSourceEnum_SystemManagedResourceSource" json:"system_managed_resource_source,omitempty"` 102 // Details pertinent to the ad type. Exactly one value must be set. 103 // 104 // Types that are assignable to AdData: 105 // *Ad_TextAd 106 // *Ad_ExpandedTextAd 107 // *Ad_CallOnlyAd 108 // *Ad_ExpandedDynamicSearchAd 109 // *Ad_HotelAd 110 // *Ad_ShoppingSmartAd 111 // *Ad_ShoppingProductAd 112 // *Ad_GmailAd 113 // *Ad_ImageAd 114 // *Ad_VideoAd 115 // *Ad_ResponsiveSearchAd 116 // *Ad_LegacyResponsiveDisplayAd 117 // *Ad_AppAd 118 // *Ad_LegacyAppInstallAd 119 // *Ad_ResponsiveDisplayAd 120 // *Ad_DisplayUploadAd 121 // *Ad_AppEngagementAd 122 // *Ad_ShoppingComparisonListingAd 123 AdData isAd_AdData `protobuf_oneof:"ad_data"` 124} 125 126func (x *Ad) Reset() { 127 *x = Ad{} 128 if protoimpl.UnsafeEnabled { 129 mi := &file_google_ads_googleads_v2_resources_ad_proto_msgTypes[0] 130 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 131 ms.StoreMessageInfo(mi) 132 } 133} 134 135func (x *Ad) String() string { 136 return protoimpl.X.MessageStringOf(x) 137} 138 139func (*Ad) ProtoMessage() {} 140 141func (x *Ad) ProtoReflect() protoreflect.Message { 142 mi := &file_google_ads_googleads_v2_resources_ad_proto_msgTypes[0] 143 if protoimpl.UnsafeEnabled && x != nil { 144 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 145 if ms.LoadMessageInfo() == nil { 146 ms.StoreMessageInfo(mi) 147 } 148 return ms 149 } 150 return mi.MessageOf(x) 151} 152 153// Deprecated: Use Ad.ProtoReflect.Descriptor instead. 154func (*Ad) Descriptor() ([]byte, []int) { 155 return file_google_ads_googleads_v2_resources_ad_proto_rawDescGZIP(), []int{0} 156} 157 158func (x *Ad) GetResourceName() string { 159 if x != nil { 160 return x.ResourceName 161 } 162 return "" 163} 164 165func (x *Ad) GetId() *wrapperspb.Int64Value { 166 if x != nil { 167 return x.Id 168 } 169 return nil 170} 171 172func (x *Ad) GetFinalUrls() []*wrapperspb.StringValue { 173 if x != nil { 174 return x.FinalUrls 175 } 176 return nil 177} 178 179func (x *Ad) GetFinalAppUrls() []*common.FinalAppUrl { 180 if x != nil { 181 return x.FinalAppUrls 182 } 183 return nil 184} 185 186func (x *Ad) GetFinalMobileUrls() []*wrapperspb.StringValue { 187 if x != nil { 188 return x.FinalMobileUrls 189 } 190 return nil 191} 192 193func (x *Ad) GetTrackingUrlTemplate() *wrapperspb.StringValue { 194 if x != nil { 195 return x.TrackingUrlTemplate 196 } 197 return nil 198} 199 200func (x *Ad) GetFinalUrlSuffix() *wrapperspb.StringValue { 201 if x != nil { 202 return x.FinalUrlSuffix 203 } 204 return nil 205} 206 207func (x *Ad) GetUrlCustomParameters() []*common.CustomParameter { 208 if x != nil { 209 return x.UrlCustomParameters 210 } 211 return nil 212} 213 214func (x *Ad) GetDisplayUrl() *wrapperspb.StringValue { 215 if x != nil { 216 return x.DisplayUrl 217 } 218 return nil 219} 220 221func (x *Ad) GetType() enums.AdTypeEnum_AdType { 222 if x != nil { 223 return x.Type 224 } 225 return enums.AdTypeEnum_UNSPECIFIED 226} 227 228func (x *Ad) GetAddedByGoogleAds() *wrapperspb.BoolValue { 229 if x != nil { 230 return x.AddedByGoogleAds 231 } 232 return nil 233} 234 235func (x *Ad) GetDevicePreference() enums.DeviceEnum_Device { 236 if x != nil { 237 return x.DevicePreference 238 } 239 return enums.DeviceEnum_UNSPECIFIED 240} 241 242func (x *Ad) GetUrlCollections() []*common.UrlCollection { 243 if x != nil { 244 return x.UrlCollections 245 } 246 return nil 247} 248 249func (x *Ad) GetName() *wrapperspb.StringValue { 250 if x != nil { 251 return x.Name 252 } 253 return nil 254} 255 256func (x *Ad) GetSystemManagedResourceSource() enums.SystemManagedResourceSourceEnum_SystemManagedResourceSource { 257 if x != nil { 258 return x.SystemManagedResourceSource 259 } 260 return enums.SystemManagedResourceSourceEnum_UNSPECIFIED 261} 262 263func (m *Ad) GetAdData() isAd_AdData { 264 if m != nil { 265 return m.AdData 266 } 267 return nil 268} 269 270func (x *Ad) GetTextAd() *common.TextAdInfo { 271 if x, ok := x.GetAdData().(*Ad_TextAd); ok { 272 return x.TextAd 273 } 274 return nil 275} 276 277func (x *Ad) GetExpandedTextAd() *common.ExpandedTextAdInfo { 278 if x, ok := x.GetAdData().(*Ad_ExpandedTextAd); ok { 279 return x.ExpandedTextAd 280 } 281 return nil 282} 283 284func (x *Ad) GetCallOnlyAd() *common.CallOnlyAdInfo { 285 if x, ok := x.GetAdData().(*Ad_CallOnlyAd); ok { 286 return x.CallOnlyAd 287 } 288 return nil 289} 290 291func (x *Ad) GetExpandedDynamicSearchAd() *common.ExpandedDynamicSearchAdInfo { 292 if x, ok := x.GetAdData().(*Ad_ExpandedDynamicSearchAd); ok { 293 return x.ExpandedDynamicSearchAd 294 } 295 return nil 296} 297 298func (x *Ad) GetHotelAd() *common.HotelAdInfo { 299 if x, ok := x.GetAdData().(*Ad_HotelAd); ok { 300 return x.HotelAd 301 } 302 return nil 303} 304 305func (x *Ad) GetShoppingSmartAd() *common.ShoppingSmartAdInfo { 306 if x, ok := x.GetAdData().(*Ad_ShoppingSmartAd); ok { 307 return x.ShoppingSmartAd 308 } 309 return nil 310} 311 312func (x *Ad) GetShoppingProductAd() *common.ShoppingProductAdInfo { 313 if x, ok := x.GetAdData().(*Ad_ShoppingProductAd); ok { 314 return x.ShoppingProductAd 315 } 316 return nil 317} 318 319func (x *Ad) GetGmailAd() *common.GmailAdInfo { 320 if x, ok := x.GetAdData().(*Ad_GmailAd); ok { 321 return x.GmailAd 322 } 323 return nil 324} 325 326func (x *Ad) GetImageAd() *common.ImageAdInfo { 327 if x, ok := x.GetAdData().(*Ad_ImageAd); ok { 328 return x.ImageAd 329 } 330 return nil 331} 332 333func (x *Ad) GetVideoAd() *common.VideoAdInfo { 334 if x, ok := x.GetAdData().(*Ad_VideoAd); ok { 335 return x.VideoAd 336 } 337 return nil 338} 339 340func (x *Ad) GetResponsiveSearchAd() *common.ResponsiveSearchAdInfo { 341 if x, ok := x.GetAdData().(*Ad_ResponsiveSearchAd); ok { 342 return x.ResponsiveSearchAd 343 } 344 return nil 345} 346 347func (x *Ad) GetLegacyResponsiveDisplayAd() *common.LegacyResponsiveDisplayAdInfo { 348 if x, ok := x.GetAdData().(*Ad_LegacyResponsiveDisplayAd); ok { 349 return x.LegacyResponsiveDisplayAd 350 } 351 return nil 352} 353 354func (x *Ad) GetAppAd() *common.AppAdInfo { 355 if x, ok := x.GetAdData().(*Ad_AppAd); ok { 356 return x.AppAd 357 } 358 return nil 359} 360 361func (x *Ad) GetLegacyAppInstallAd() *common.LegacyAppInstallAdInfo { 362 if x, ok := x.GetAdData().(*Ad_LegacyAppInstallAd); ok { 363 return x.LegacyAppInstallAd 364 } 365 return nil 366} 367 368func (x *Ad) GetResponsiveDisplayAd() *common.ResponsiveDisplayAdInfo { 369 if x, ok := x.GetAdData().(*Ad_ResponsiveDisplayAd); ok { 370 return x.ResponsiveDisplayAd 371 } 372 return nil 373} 374 375func (x *Ad) GetDisplayUploadAd() *common.DisplayUploadAdInfo { 376 if x, ok := x.GetAdData().(*Ad_DisplayUploadAd); ok { 377 return x.DisplayUploadAd 378 } 379 return nil 380} 381 382func (x *Ad) GetAppEngagementAd() *common.AppEngagementAdInfo { 383 if x, ok := x.GetAdData().(*Ad_AppEngagementAd); ok { 384 return x.AppEngagementAd 385 } 386 return nil 387} 388 389func (x *Ad) GetShoppingComparisonListingAd() *common.ShoppingComparisonListingAdInfo { 390 if x, ok := x.GetAdData().(*Ad_ShoppingComparisonListingAd); ok { 391 return x.ShoppingComparisonListingAd 392 } 393 return nil 394} 395 396type isAd_AdData interface { 397 isAd_AdData() 398} 399 400type Ad_TextAd struct { 401 // Immutable. Details pertaining to a text ad. 402 TextAd *common.TextAdInfo `protobuf:"bytes,6,opt,name=text_ad,json=textAd,proto3,oneof"` 403} 404 405type Ad_ExpandedTextAd struct { 406 // Details pertaining to an expanded text ad. 407 ExpandedTextAd *common.ExpandedTextAdInfo `protobuf:"bytes,7,opt,name=expanded_text_ad,json=expandedTextAd,proto3,oneof"` 408} 409 410type Ad_CallOnlyAd struct { 411 // Details pertaining to a call-only ad. 412 CallOnlyAd *common.CallOnlyAdInfo `protobuf:"bytes,13,opt,name=call_only_ad,json=callOnlyAd,proto3,oneof"` 413} 414 415type Ad_ExpandedDynamicSearchAd struct { 416 // Immutable. Details pertaining to an Expanded Dynamic Search Ad. 417 // This type of ad has its headline, final URLs, and display URL 418 // auto-generated at serving time according to domain name specific 419 // information provided by `dynamic_search_ads_setting` linked at the 420 // campaign level. 421 ExpandedDynamicSearchAd *common.ExpandedDynamicSearchAdInfo `protobuf:"bytes,14,opt,name=expanded_dynamic_search_ad,json=expandedDynamicSearchAd,proto3,oneof"` 422} 423 424type Ad_HotelAd struct { 425 // Details pertaining to a hotel ad. 426 HotelAd *common.HotelAdInfo `protobuf:"bytes,15,opt,name=hotel_ad,json=hotelAd,proto3,oneof"` 427} 428 429type Ad_ShoppingSmartAd struct { 430 // Details pertaining to a Smart Shopping ad. 431 ShoppingSmartAd *common.ShoppingSmartAdInfo `protobuf:"bytes,17,opt,name=shopping_smart_ad,json=shoppingSmartAd,proto3,oneof"` 432} 433 434type Ad_ShoppingProductAd struct { 435 // Details pertaining to a Shopping product ad. 436 ShoppingProductAd *common.ShoppingProductAdInfo `protobuf:"bytes,18,opt,name=shopping_product_ad,json=shoppingProductAd,proto3,oneof"` 437} 438 439type Ad_GmailAd struct { 440 // Immutable. Details pertaining to a Gmail ad. 441 GmailAd *common.GmailAdInfo `protobuf:"bytes,21,opt,name=gmail_ad,json=gmailAd,proto3,oneof"` 442} 443 444type Ad_ImageAd struct { 445 // Immutable. Details pertaining to an Image ad. 446 ImageAd *common.ImageAdInfo `protobuf:"bytes,22,opt,name=image_ad,json=imageAd,proto3,oneof"` 447} 448 449type Ad_VideoAd struct { 450 // Details pertaining to a Video ad. 451 VideoAd *common.VideoAdInfo `protobuf:"bytes,24,opt,name=video_ad,json=videoAd,proto3,oneof"` 452} 453 454type Ad_ResponsiveSearchAd struct { 455 // Details pertaining to a responsive search ad. 456 ResponsiveSearchAd *common.ResponsiveSearchAdInfo `protobuf:"bytes,25,opt,name=responsive_search_ad,json=responsiveSearchAd,proto3,oneof"` 457} 458 459type Ad_LegacyResponsiveDisplayAd struct { 460 // Details pertaining to a legacy responsive display ad. 461 LegacyResponsiveDisplayAd *common.LegacyResponsiveDisplayAdInfo `protobuf:"bytes,28,opt,name=legacy_responsive_display_ad,json=legacyResponsiveDisplayAd,proto3,oneof"` 462} 463 464type Ad_AppAd struct { 465 // Details pertaining to an app ad. 466 AppAd *common.AppAdInfo `protobuf:"bytes,29,opt,name=app_ad,json=appAd,proto3,oneof"` 467} 468 469type Ad_LegacyAppInstallAd struct { 470 // Immutable. Details pertaining to a legacy app install ad. 471 LegacyAppInstallAd *common.LegacyAppInstallAdInfo `protobuf:"bytes,30,opt,name=legacy_app_install_ad,json=legacyAppInstallAd,proto3,oneof"` 472} 473 474type Ad_ResponsiveDisplayAd struct { 475 // Details pertaining to a responsive display ad. 476 ResponsiveDisplayAd *common.ResponsiveDisplayAdInfo `protobuf:"bytes,31,opt,name=responsive_display_ad,json=responsiveDisplayAd,proto3,oneof"` 477} 478 479type Ad_DisplayUploadAd struct { 480 // Details pertaining to a display upload ad. 481 DisplayUploadAd *common.DisplayUploadAdInfo `protobuf:"bytes,33,opt,name=display_upload_ad,json=displayUploadAd,proto3,oneof"` 482} 483 484type Ad_AppEngagementAd struct { 485 // Details pertaining to an app engagement ad. 486 AppEngagementAd *common.AppEngagementAdInfo `protobuf:"bytes,34,opt,name=app_engagement_ad,json=appEngagementAd,proto3,oneof"` 487} 488 489type Ad_ShoppingComparisonListingAd struct { 490 // Details pertaining to a Shopping Comparison Listing ad. 491 ShoppingComparisonListingAd *common.ShoppingComparisonListingAdInfo `protobuf:"bytes,36,opt,name=shopping_comparison_listing_ad,json=shoppingComparisonListingAd,proto3,oneof"` 492} 493 494func (*Ad_TextAd) isAd_AdData() {} 495 496func (*Ad_ExpandedTextAd) isAd_AdData() {} 497 498func (*Ad_CallOnlyAd) isAd_AdData() {} 499 500func (*Ad_ExpandedDynamicSearchAd) isAd_AdData() {} 501 502func (*Ad_HotelAd) isAd_AdData() {} 503 504func (*Ad_ShoppingSmartAd) isAd_AdData() {} 505 506func (*Ad_ShoppingProductAd) isAd_AdData() {} 507 508func (*Ad_GmailAd) isAd_AdData() {} 509 510func (*Ad_ImageAd) isAd_AdData() {} 511 512func (*Ad_VideoAd) isAd_AdData() {} 513 514func (*Ad_ResponsiveSearchAd) isAd_AdData() {} 515 516func (*Ad_LegacyResponsiveDisplayAd) isAd_AdData() {} 517 518func (*Ad_AppAd) isAd_AdData() {} 519 520func (*Ad_LegacyAppInstallAd) isAd_AdData() {} 521 522func (*Ad_ResponsiveDisplayAd) isAd_AdData() {} 523 524func (*Ad_DisplayUploadAd) isAd_AdData() {} 525 526func (*Ad_AppEngagementAd) isAd_AdData() {} 527 528func (*Ad_ShoppingComparisonListingAd) isAd_AdData() {} 529 530var File_google_ads_googleads_v2_resources_ad_proto protoreflect.FileDescriptor 531 532var file_google_ads_googleads_v2_resources_ad_proto_rawDesc = []byte{ 533 0x0a, 0x2a, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x64, 0x73, 0x2f, 0x67, 0x6f, 0x6f, 534 0x67, 0x6c, 0x65, 0x61, 0x64, 0x73, 0x2f, 0x76, 0x32, 0x2f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 535 0x63, 0x65, 0x73, 0x2f, 0x61, 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x21, 0x67, 0x6f, 536 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x64, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 537 0x64, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x1a, 538 0x32, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x64, 0x73, 0x2f, 0x67, 0x6f, 0x6f, 0x67, 539 0x6c, 0x65, 0x61, 0x64, 0x73, 0x2f, 0x76, 0x32, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 540 0x61, 0x64, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x73, 0x2e, 0x70, 0x72, 541 0x6f, 0x74, 0x6f, 0x1a, 0x35, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x64, 0x73, 0x2f, 542 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x64, 0x73, 0x2f, 0x76, 0x32, 0x2f, 0x63, 0x6f, 0x6d, 543 0x6d, 0x6f, 0x6e, 0x2f, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 544 0x65, 0x74, 0x65, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x32, 0x67, 0x6f, 0x6f, 0x67, 545 0x6c, 0x65, 0x2f, 0x61, 0x64, 0x73, 0x2f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x64, 0x73, 546 0x2f, 0x76, 0x32, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x66, 0x69, 0x6e, 0x61, 0x6c, 547 0x5f, 0x61, 0x70, 0x70, 0x5f, 0x75, 0x72, 0x6c, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x33, 548 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x64, 0x73, 0x2f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 549 0x65, 0x61, 0x64, 0x73, 0x2f, 0x76, 0x32, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x75, 550 0x72, 0x6c, 0x5f, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 551 0x6f, 0x74, 0x6f, 0x1a, 0x2b, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x64, 0x73, 0x2f, 552 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x64, 0x73, 0x2f, 0x76, 0x32, 0x2f, 0x65, 0x6e, 0x75, 553 0x6d, 0x73, 0x2f, 0x61, 0x64, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 554 0x1a, 0x2a, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x64, 0x73, 0x2f, 0x67, 0x6f, 0x6f, 555 0x67, 0x6c, 0x65, 0x61, 0x64, 0x73, 0x2f, 0x76, 0x32, 0x2f, 0x65, 0x6e, 0x75, 0x6d, 0x73, 0x2f, 556 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x40, 0x67, 0x6f, 557 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x64, 0x73, 0x2f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 558 0x64, 0x73, 0x2f, 0x76, 0x32, 0x2f, 0x65, 0x6e, 0x75, 0x6d, 0x73, 0x2f, 0x73, 0x79, 0x73, 0x74, 559 0x65, 0x6d, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x64, 0x5f, 0x65, 0x6e, 0x74, 0x69, 0x74, 560 0x79, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 561 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x66, 0x69, 0x65, 0x6c, 0x64, 562 0x5f, 0x62, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 563 0x19, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x72, 0x65, 0x73, 0x6f, 564 0x75, 0x72, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 565 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x77, 0x72, 0x61, 0x70, 566 0x70, 0x65, 0x72, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1c, 0x67, 0x6f, 0x6f, 0x67, 567 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 568 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xf6, 0x17, 0x0a, 0x02, 0x41, 0x64, 0x12, 569 0x48, 0x0a, 0x0d, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 570 0x18, 0x25, 0x20, 0x01, 0x28, 0x09, 0x42, 0x23, 0xe0, 0x41, 0x05, 0xfa, 0x41, 0x1d, 0x0a, 0x1b, 571 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x64, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 572 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x41, 0x64, 0x52, 0x0c, 0x72, 0x65, 0x73, 573 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x30, 0x0a, 0x02, 0x69, 0x64, 0x18, 574 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 575 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 576 0x75, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x02, 0x69, 0x64, 0x12, 0x3b, 0x0a, 0x0a, 0x66, 577 0x69, 0x6e, 0x61, 0x6c, 0x5f, 0x75, 0x72, 0x6c, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 578 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 579 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x09, 0x66, 580 0x69, 0x6e, 0x61, 0x6c, 0x55, 0x72, 0x6c, 0x73, 0x12, 0x51, 0x0a, 0x0e, 0x66, 0x69, 0x6e, 0x61, 581 0x6c, 0x5f, 0x61, 0x70, 0x70, 0x5f, 0x75, 0x72, 0x6c, 0x73, 0x18, 0x23, 0x20, 0x03, 0x28, 0x0b, 582 0x32, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x64, 0x73, 0x2e, 0x67, 0x6f, 583 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x64, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 584 0x6e, 0x2e, 0x46, 0x69, 0x6e, 0x61, 0x6c, 0x41, 0x70, 0x70, 0x55, 0x72, 0x6c, 0x52, 0x0c, 0x66, 585 0x69, 0x6e, 0x61, 0x6c, 0x41, 0x70, 0x70, 0x55, 0x72, 0x6c, 0x73, 0x12, 0x48, 0x0a, 0x11, 0x66, 586 0x69, 0x6e, 0x61, 0x6c, 0x5f, 0x6d, 0x6f, 0x62, 0x69, 0x6c, 0x65, 0x5f, 0x75, 0x72, 0x6c, 0x73, 587 0x18, 0x10, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 588 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 589 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0f, 0x66, 0x69, 0x6e, 0x61, 0x6c, 0x4d, 0x6f, 0x62, 0x69, 0x6c, 590 0x65, 0x55, 0x72, 0x6c, 0x73, 0x12, 0x50, 0x0a, 0x15, 0x74, 0x72, 0x61, 0x63, 0x6b, 0x69, 0x6e, 591 0x67, 0x5f, 0x75, 0x72, 0x6c, 0x5f, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x18, 0x0c, 592 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 593 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 594 0x75, 0x65, 0x52, 0x13, 0x74, 0x72, 0x61, 0x63, 0x6b, 0x69, 0x6e, 0x67, 0x55, 0x72, 0x6c, 0x54, 595 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x12, 0x46, 0x0a, 0x10, 0x66, 0x69, 0x6e, 0x61, 0x6c, 596 0x5f, 0x75, 0x72, 0x6c, 0x5f, 0x73, 0x75, 0x66, 0x66, 0x69, 0x78, 0x18, 0x26, 0x20, 0x01, 0x28, 597 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 598 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 599 0x0e, 0x66, 0x69, 0x6e, 0x61, 0x6c, 0x55, 0x72, 0x6c, 0x53, 0x75, 0x66, 0x66, 0x69, 0x78, 0x12, 600 0x63, 0x0a, 0x15, 0x75, 0x72, 0x6c, 0x5f, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x70, 0x61, 601 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2f, 602 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x64, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 603 0x6c, 0x65, 0x61, 0x64, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 604 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x52, 605 0x13, 0x75, 0x72, 0x6c, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 606 0x74, 0x65, 0x72, 0x73, 0x12, 0x3d, 0x0a, 0x0b, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x5f, 607 0x75, 0x72, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 608 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 609 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0a, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 610 0x55, 0x72, 0x6c, 0x12, 0x49, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 611 0x0e, 0x32, 0x30, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x64, 0x73, 0x2e, 0x67, 612 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x64, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x65, 0x6e, 0x75, 0x6d, 613 0x73, 0x2e, 0x41, 0x64, 0x54, 0x79, 0x70, 0x65, 0x45, 0x6e, 0x75, 0x6d, 0x2e, 0x41, 0x64, 0x54, 614 0x79, 0x70, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x4e, 615 0x0a, 0x13, 0x61, 0x64, 0x64, 0x65, 0x64, 0x5f, 0x62, 0x79, 0x5f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 616 0x65, 0x5f, 0x61, 0x64, 0x73, 0x18, 0x13, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 617 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x42, 0x6f, 618 0x6f, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x10, 0x61, 0x64, 619 0x64, 0x65, 0x64, 0x42, 0x79, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x41, 0x64, 0x73, 0x12, 0x5d, 620 0x0a, 0x11, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x70, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 621 0x6e, 0x63, 0x65, 0x18, 0x14, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x30, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 622 0x6c, 0x65, 0x2e, 0x61, 0x64, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x64, 0x73, 623 0x2e, 0x76, 0x32, 0x2e, 0x65, 0x6e, 0x75, 0x6d, 0x73, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 624 0x45, 0x6e, 0x75, 0x6d, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x52, 0x10, 0x64, 0x65, 0x76, 625 0x69, 0x63, 0x65, 0x50, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x56, 0x0a, 626 0x0f, 0x75, 0x72, 0x6c, 0x5f, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 627 0x18, 0x1a, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 628 0x61, 0x64, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x64, 0x73, 0x2e, 0x76, 0x32, 629 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x55, 0x72, 0x6c, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 630 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0e, 0x75, 0x72, 0x6c, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 631 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x35, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x17, 0x20, 632 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 633 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 634 0x65, 0x42, 0x03, 0xe0, 0x41, 0x05, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0xa4, 0x01, 0x0a, 635 0x1e, 0x73, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x64, 0x5f, 636 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 637 0x1b, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x5a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 638 0x64, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x64, 0x73, 0x2e, 0x76, 0x32, 0x2e, 639 0x65, 0x6e, 0x75, 0x6d, 0x73, 0x2e, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x4d, 0x61, 0x6e, 0x61, 640 0x67, 0x65, 0x64, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x53, 0x6f, 0x75, 0x72, 0x63, 641 0x65, 0x45, 0x6e, 0x75, 0x6d, 0x2e, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x4d, 0x61, 0x6e, 0x61, 642 0x67, 0x65, 0x64, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x53, 0x6f, 0x75, 0x72, 0x63, 643 0x65, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x1b, 0x73, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x4d, 0x61, 644 0x6e, 0x61, 0x67, 0x65, 0x64, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x53, 0x6f, 0x75, 645 0x72, 0x63, 0x65, 0x12, 0x4a, 0x0a, 0x07, 0x74, 0x65, 0x78, 0x74, 0x5f, 0x61, 0x64, 0x18, 0x06, 646 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x64, 647 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x64, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x63, 648 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x54, 0x65, 0x78, 0x74, 0x41, 0x64, 0x49, 0x6e, 0x66, 0x6f, 649 0x42, 0x03, 0xe0, 0x41, 0x05, 0x48, 0x00, 0x52, 0x06, 0x74, 0x65, 0x78, 0x74, 0x41, 0x64, 0x12, 650 0x5e, 0x0a, 0x10, 0x65, 0x78, 0x70, 0x61, 0x6e, 0x64, 0x65, 0x64, 0x5f, 0x74, 0x65, 0x78, 0x74, 651 0x5f, 0x61, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 652 0x6c, 0x65, 0x2e, 0x61, 0x64, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x64, 0x73, 653 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x45, 0x78, 0x70, 0x61, 0x6e, 654 0x64, 0x65, 0x64, 0x54, 0x65, 0x78, 0x74, 0x41, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x48, 0x00, 0x52, 655 0x0e, 0x65, 0x78, 0x70, 0x61, 0x6e, 0x64, 0x65, 0x64, 0x54, 0x65, 0x78, 0x74, 0x41, 0x64, 0x12, 656 0x52, 0x0a, 0x0c, 0x63, 0x61, 0x6c, 0x6c, 0x5f, 0x6f, 0x6e, 0x6c, 0x79, 0x5f, 0x61, 0x64, 0x18, 657 0x0d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 658 0x64, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x64, 0x73, 0x2e, 0x76, 0x32, 0x2e, 659 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x43, 0x61, 0x6c, 0x6c, 0x4f, 0x6e, 0x6c, 0x79, 0x41, 660 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x48, 0x00, 0x52, 0x0a, 0x63, 0x61, 0x6c, 0x6c, 0x4f, 0x6e, 0x6c, 661 0x79, 0x41, 0x64, 0x12, 0x7f, 0x0a, 0x1a, 0x65, 0x78, 0x70, 0x61, 0x6e, 0x64, 0x65, 0x64, 0x5f, 662 0x64, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x5f, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x5f, 0x61, 663 0x64, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 664 0x2e, 0x61, 0x64, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x64, 0x73, 0x2e, 0x76, 665 0x32, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x45, 0x78, 0x70, 0x61, 0x6e, 0x64, 0x65, 666 0x64, 0x44, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x41, 0x64, 667 0x49, 0x6e, 0x66, 0x6f, 0x42, 0x03, 0xe0, 0x41, 0x05, 0x48, 0x00, 0x52, 0x17, 0x65, 0x78, 0x70, 668 0x61, 0x6e, 0x64, 0x65, 0x64, 0x44, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x53, 0x65, 0x61, 0x72, 669 0x63, 0x68, 0x41, 0x64, 0x12, 0x48, 0x0a, 0x08, 0x68, 0x6f, 0x74, 0x65, 0x6c, 0x5f, 0x61, 0x64, 670 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 671 0x61, 0x64, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x64, 0x73, 0x2e, 0x76, 0x32, 672 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x48, 0x6f, 0x74, 0x65, 0x6c, 0x41, 0x64, 0x49, 673 0x6e, 0x66, 0x6f, 0x48, 0x00, 0x52, 0x07, 0x68, 0x6f, 0x74, 0x65, 0x6c, 0x41, 0x64, 0x12, 0x61, 674 0x0a, 0x11, 0x73, 0x68, 0x6f, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x5f, 0x73, 0x6d, 0x61, 0x72, 0x74, 675 0x5f, 0x61, 0x64, 0x18, 0x11, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 676 0x6c, 0x65, 0x2e, 0x61, 0x64, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x64, 0x73, 677 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x53, 0x68, 0x6f, 0x70, 0x70, 678 0x69, 0x6e, 0x67, 0x53, 0x6d, 0x61, 0x72, 0x74, 0x41, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x48, 0x00, 679 0x52, 0x0f, 0x73, 0x68, 0x6f, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x53, 0x6d, 0x61, 0x72, 0x74, 0x41, 680 0x64, 0x12, 0x67, 0x0a, 0x13, 0x73, 0x68, 0x6f, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x5f, 0x70, 0x72, 681 0x6f, 0x64, 0x75, 0x63, 0x74, 0x5f, 0x61, 0x64, 0x18, 0x12, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x35, 682 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x64, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 683 0x6c, 0x65, 0x61, 0x64, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 684 0x53, 0x68, 0x6f, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x41, 685 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x48, 0x00, 0x52, 0x11, 0x73, 0x68, 0x6f, 0x70, 0x70, 0x69, 0x6e, 686 0x67, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x41, 0x64, 0x12, 0x4d, 0x0a, 0x08, 0x67, 0x6d, 687 0x61, 0x69, 0x6c, 0x5f, 0x61, 0x64, 0x18, 0x15, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x67, 688 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x64, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 689 0x61, 0x64, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x47, 0x6d, 690 0x61, 0x69, 0x6c, 0x41, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x42, 0x03, 0xe0, 0x41, 0x05, 0x48, 0x00, 691 0x52, 0x07, 0x67, 0x6d, 0x61, 0x69, 0x6c, 0x41, 0x64, 0x12, 0x4d, 0x0a, 0x08, 0x69, 0x6d, 0x61, 692 0x67, 0x65, 0x5f, 0x61, 0x64, 0x18, 0x16, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x67, 0x6f, 693 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x64, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 694 0x64, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x49, 0x6d, 0x61, 695 0x67, 0x65, 0x41, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x42, 0x03, 0xe0, 0x41, 0x05, 0x48, 0x00, 0x52, 696 0x07, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x41, 0x64, 0x12, 0x48, 0x0a, 0x08, 0x76, 0x69, 0x64, 0x65, 697 0x6f, 0x5f, 0x61, 0x64, 0x18, 0x18, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 698 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x64, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x64, 699 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x56, 0x69, 0x64, 0x65, 700 0x6f, 0x41, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x48, 0x00, 0x52, 0x07, 0x76, 0x69, 0x64, 0x65, 0x6f, 701 0x41, 0x64, 0x12, 0x6a, 0x0a, 0x14, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x69, 0x76, 0x65, 702 0x5f, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x5f, 0x61, 0x64, 0x18, 0x19, 0x20, 0x01, 0x28, 0x0b, 703 0x32, 0x36, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x64, 0x73, 0x2e, 0x67, 0x6f, 704 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x64, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 705 0x6e, 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x69, 0x76, 0x65, 0x53, 0x65, 0x61, 0x72, 706 0x63, 0x68, 0x41, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x48, 0x00, 0x52, 0x12, 0x72, 0x65, 0x73, 0x70, 707 0x6f, 0x6e, 0x73, 0x69, 0x76, 0x65, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x41, 0x64, 0x12, 0x80, 708 0x01, 0x0a, 0x1c, 0x6c, 0x65, 0x67, 0x61, 0x63, 0x79, 0x5f, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 709 0x73, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x61, 0x64, 0x18, 710 0x1c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 711 0x64, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x64, 0x73, 0x2e, 0x76, 0x32, 0x2e, 712 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x4c, 0x65, 0x67, 0x61, 0x63, 0x79, 0x52, 0x65, 0x73, 713 0x70, 0x6f, 0x6e, 0x73, 0x69, 0x76, 0x65, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x41, 0x64, 714 0x49, 0x6e, 0x66, 0x6f, 0x48, 0x00, 0x52, 0x19, 0x6c, 0x65, 0x67, 0x61, 0x63, 0x79, 0x52, 0x65, 715 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x69, 0x76, 0x65, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x41, 716 0x64, 0x12, 0x42, 0x0a, 0x06, 0x61, 0x70, 0x70, 0x5f, 0x61, 0x64, 0x18, 0x1d, 0x20, 0x01, 0x28, 717 0x0b, 0x32, 0x29, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x64, 0x73, 0x2e, 0x67, 718 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x64, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 719 0x6f, 0x6e, 0x2e, 0x41, 0x70, 0x70, 0x41, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x48, 0x00, 0x52, 0x05, 720 0x61, 0x70, 0x70, 0x41, 0x64, 0x12, 0x70, 0x0a, 0x15, 0x6c, 0x65, 0x67, 0x61, 0x63, 0x79, 0x5f, 721 0x61, 0x70, 0x70, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x5f, 0x61, 0x64, 0x18, 0x1e, 722 0x20, 0x01, 0x28, 0x0b, 0x32, 0x36, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x64, 723 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x64, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x63, 724 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x4c, 0x65, 0x67, 0x61, 0x63, 0x79, 0x41, 0x70, 0x70, 0x49, 725 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x41, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x42, 0x03, 0xe0, 0x41, 726 0x05, 0x48, 0x00, 0x52, 0x12, 0x6c, 0x65, 0x67, 0x61, 0x63, 0x79, 0x41, 0x70, 0x70, 0x49, 0x6e, 727 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x41, 0x64, 0x12, 0x6d, 0x0a, 0x15, 0x72, 0x65, 0x73, 0x70, 0x6f, 728 0x6e, 0x73, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x61, 0x64, 729 0x18, 0x1f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x37, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 730 0x61, 0x64, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x64, 0x73, 0x2e, 0x76, 0x32, 731 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x69, 732 0x76, 0x65, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x41, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x48, 733 0x00, 0x52, 0x13, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x69, 0x76, 0x65, 0x44, 0x69, 0x73, 734 0x70, 0x6c, 0x61, 0x79, 0x41, 0x64, 0x12, 0x61, 0x0a, 0x11, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 735 0x79, 0x5f, 0x75, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x61, 0x64, 0x18, 0x21, 0x20, 0x01, 0x28, 736 0x0b, 0x32, 0x33, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x64, 0x73, 0x2e, 0x67, 737 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x64, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 738 0x6f, 0x6e, 0x2e, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 739 0x41, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x48, 0x00, 0x52, 0x0f, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 740 0x79, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x41, 0x64, 0x12, 0x61, 0x0a, 0x11, 0x61, 0x70, 0x70, 741 0x5f, 0x65, 0x6e, 0x67, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x61, 0x64, 0x18, 0x22, 742 0x20, 0x01, 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x64, 743 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x64, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x63, 744 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x41, 0x70, 0x70, 0x45, 0x6e, 0x67, 0x61, 0x67, 0x65, 0x6d, 745 0x65, 0x6e, 0x74, 0x41, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x48, 0x00, 0x52, 0x0f, 0x61, 0x70, 0x70, 746 0x45, 0x6e, 0x67, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x41, 0x64, 0x12, 0x86, 0x01, 0x0a, 747 0x1e, 0x73, 0x68, 0x6f, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x5f, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x72, 748 0x69, 0x73, 0x6f, 0x6e, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x5f, 0x61, 0x64, 0x18, 749 0x24, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 750 0x64, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x64, 0x73, 0x2e, 0x76, 0x32, 0x2e, 751 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x53, 0x68, 0x6f, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x43, 752 0x6f, 0x6d, 0x70, 0x61, 0x72, 0x69, 0x73, 0x6f, 0x6e, 0x4c, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x67, 753 0x41, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x48, 0x00, 0x52, 0x1b, 0x73, 0x68, 0x6f, 0x70, 0x70, 0x69, 754 0x6e, 0x67, 0x43, 0x6f, 0x6d, 0x70, 0x61, 0x72, 0x69, 0x73, 0x6f, 0x6e, 0x4c, 0x69, 0x73, 0x74, 755 0x69, 0x6e, 0x67, 0x41, 0x64, 0x3a, 0x3f, 0xea, 0x41, 0x3c, 0x0a, 0x1b, 0x67, 0x6f, 0x6f, 0x67, 756 0x6c, 0x65, 0x61, 0x64, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 757 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x41, 0x64, 0x12, 0x1d, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x65, 758 0x72, 0x73, 0x2f, 0x7b, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x65, 0x72, 0x7d, 0x2f, 0x61, 0x64, 759 0x73, 0x2f, 0x7b, 0x61, 0x64, 0x7d, 0x42, 0x09, 0x0a, 0x07, 0x61, 0x64, 0x5f, 0x64, 0x61, 0x74, 760 0x61, 0x42, 0xf4, 0x01, 0x0a, 0x25, 0x63, 0x6f, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 761 0x2e, 0x61, 0x64, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x64, 0x73, 0x2e, 0x76, 762 0x32, 0x2e, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x42, 0x07, 0x41, 0x64, 0x50, 763 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x4a, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x67, 764 0x6f, 0x6c, 0x61, 0x6e, 0x67, 0x2e, 0x6f, 0x72, 0x67, 0x2f, 0x67, 0x65, 0x6e, 0x70, 0x72, 0x6f, 765 0x74, 0x6f, 0x2f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2f, 0x61, 0x64, 766 0x73, 0x2f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x64, 0x73, 0x2f, 0x76, 0x32, 0x2f, 0x72, 767 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x3b, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 768 0x65, 0x73, 0xa2, 0x02, 0x03, 0x47, 0x41, 0x41, 0xaa, 0x02, 0x21, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 769 0x65, 0x2e, 0x41, 0x64, 0x73, 0x2e, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x41, 0x64, 0x73, 0x2e, 770 0x56, 0x32, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0xca, 0x02, 0x21, 0x47, 771 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x5c, 0x41, 0x64, 0x73, 0x5c, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 772 0x41, 0x64, 0x73, 0x5c, 0x56, 0x32, 0x5c, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 773 0xea, 0x02, 0x25, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x3a, 0x3a, 0x41, 0x64, 0x73, 0x3a, 0x3a, 774 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x41, 0x64, 0x73, 0x3a, 0x3a, 0x56, 0x32, 0x3a, 0x3a, 0x52, 775 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, 776} 777 778var ( 779 file_google_ads_googleads_v2_resources_ad_proto_rawDescOnce sync.Once 780 file_google_ads_googleads_v2_resources_ad_proto_rawDescData = file_google_ads_googleads_v2_resources_ad_proto_rawDesc 781) 782 783func file_google_ads_googleads_v2_resources_ad_proto_rawDescGZIP() []byte { 784 file_google_ads_googleads_v2_resources_ad_proto_rawDescOnce.Do(func() { 785 file_google_ads_googleads_v2_resources_ad_proto_rawDescData = protoimpl.X.CompressGZIP(file_google_ads_googleads_v2_resources_ad_proto_rawDescData) 786 }) 787 return file_google_ads_googleads_v2_resources_ad_proto_rawDescData 788} 789 790var file_google_ads_googleads_v2_resources_ad_proto_msgTypes = make([]protoimpl.MessageInfo, 1) 791var file_google_ads_googleads_v2_resources_ad_proto_goTypes = []interface{}{ 792 (*Ad)(nil), // 0: google.ads.googleads.v2.resources.Ad 793 (*wrapperspb.Int64Value)(nil), // 1: google.protobuf.Int64Value 794 (*wrapperspb.StringValue)(nil), // 2: google.protobuf.StringValue 795 (*common.FinalAppUrl)(nil), // 3: google.ads.googleads.v2.common.FinalAppUrl 796 (*common.CustomParameter)(nil), // 4: google.ads.googleads.v2.common.CustomParameter 797 (enums.AdTypeEnum_AdType)(0), // 5: google.ads.googleads.v2.enums.AdTypeEnum.AdType 798 (*wrapperspb.BoolValue)(nil), // 6: google.protobuf.BoolValue 799 (enums.DeviceEnum_Device)(0), // 7: google.ads.googleads.v2.enums.DeviceEnum.Device 800 (*common.UrlCollection)(nil), // 8: google.ads.googleads.v2.common.UrlCollection 801 (enums.SystemManagedResourceSourceEnum_SystemManagedResourceSource)(0), // 9: google.ads.googleads.v2.enums.SystemManagedResourceSourceEnum.SystemManagedResourceSource 802 (*common.TextAdInfo)(nil), // 10: google.ads.googleads.v2.common.TextAdInfo 803 (*common.ExpandedTextAdInfo)(nil), // 11: google.ads.googleads.v2.common.ExpandedTextAdInfo 804 (*common.CallOnlyAdInfo)(nil), // 12: google.ads.googleads.v2.common.CallOnlyAdInfo 805 (*common.ExpandedDynamicSearchAdInfo)(nil), // 13: google.ads.googleads.v2.common.ExpandedDynamicSearchAdInfo 806 (*common.HotelAdInfo)(nil), // 14: google.ads.googleads.v2.common.HotelAdInfo 807 (*common.ShoppingSmartAdInfo)(nil), // 15: google.ads.googleads.v2.common.ShoppingSmartAdInfo 808 (*common.ShoppingProductAdInfo)(nil), // 16: google.ads.googleads.v2.common.ShoppingProductAdInfo 809 (*common.GmailAdInfo)(nil), // 17: google.ads.googleads.v2.common.GmailAdInfo 810 (*common.ImageAdInfo)(nil), // 18: google.ads.googleads.v2.common.ImageAdInfo 811 (*common.VideoAdInfo)(nil), // 19: google.ads.googleads.v2.common.VideoAdInfo 812 (*common.ResponsiveSearchAdInfo)(nil), // 20: google.ads.googleads.v2.common.ResponsiveSearchAdInfo 813 (*common.LegacyResponsiveDisplayAdInfo)(nil), // 21: google.ads.googleads.v2.common.LegacyResponsiveDisplayAdInfo 814 (*common.AppAdInfo)(nil), // 22: google.ads.googleads.v2.common.AppAdInfo 815 (*common.LegacyAppInstallAdInfo)(nil), // 23: google.ads.googleads.v2.common.LegacyAppInstallAdInfo 816 (*common.ResponsiveDisplayAdInfo)(nil), // 24: google.ads.googleads.v2.common.ResponsiveDisplayAdInfo 817 (*common.DisplayUploadAdInfo)(nil), // 25: google.ads.googleads.v2.common.DisplayUploadAdInfo 818 (*common.AppEngagementAdInfo)(nil), // 26: google.ads.googleads.v2.common.AppEngagementAdInfo 819 (*common.ShoppingComparisonListingAdInfo)(nil), // 27: google.ads.googleads.v2.common.ShoppingComparisonListingAdInfo 820} 821var file_google_ads_googleads_v2_resources_ad_proto_depIdxs = []int32{ 822 1, // 0: google.ads.googleads.v2.resources.Ad.id:type_name -> google.protobuf.Int64Value 823 2, // 1: google.ads.googleads.v2.resources.Ad.final_urls:type_name -> google.protobuf.StringValue 824 3, // 2: google.ads.googleads.v2.resources.Ad.final_app_urls:type_name -> google.ads.googleads.v2.common.FinalAppUrl 825 2, // 3: google.ads.googleads.v2.resources.Ad.final_mobile_urls:type_name -> google.protobuf.StringValue 826 2, // 4: google.ads.googleads.v2.resources.Ad.tracking_url_template:type_name -> google.protobuf.StringValue 827 2, // 5: google.ads.googleads.v2.resources.Ad.final_url_suffix:type_name -> google.protobuf.StringValue 828 4, // 6: google.ads.googleads.v2.resources.Ad.url_custom_parameters:type_name -> google.ads.googleads.v2.common.CustomParameter 829 2, // 7: google.ads.googleads.v2.resources.Ad.display_url:type_name -> google.protobuf.StringValue 830 5, // 8: google.ads.googleads.v2.resources.Ad.type:type_name -> google.ads.googleads.v2.enums.AdTypeEnum.AdType 831 6, // 9: google.ads.googleads.v2.resources.Ad.added_by_google_ads:type_name -> google.protobuf.BoolValue 832 7, // 10: google.ads.googleads.v2.resources.Ad.device_preference:type_name -> google.ads.googleads.v2.enums.DeviceEnum.Device 833 8, // 11: google.ads.googleads.v2.resources.Ad.url_collections:type_name -> google.ads.googleads.v2.common.UrlCollection 834 2, // 12: google.ads.googleads.v2.resources.Ad.name:type_name -> google.protobuf.StringValue 835 9, // 13: google.ads.googleads.v2.resources.Ad.system_managed_resource_source:type_name -> google.ads.googleads.v2.enums.SystemManagedResourceSourceEnum.SystemManagedResourceSource 836 10, // 14: google.ads.googleads.v2.resources.Ad.text_ad:type_name -> google.ads.googleads.v2.common.TextAdInfo 837 11, // 15: google.ads.googleads.v2.resources.Ad.expanded_text_ad:type_name -> google.ads.googleads.v2.common.ExpandedTextAdInfo 838 12, // 16: google.ads.googleads.v2.resources.Ad.call_only_ad:type_name -> google.ads.googleads.v2.common.CallOnlyAdInfo 839 13, // 17: google.ads.googleads.v2.resources.Ad.expanded_dynamic_search_ad:type_name -> google.ads.googleads.v2.common.ExpandedDynamicSearchAdInfo 840 14, // 18: google.ads.googleads.v2.resources.Ad.hotel_ad:type_name -> google.ads.googleads.v2.common.HotelAdInfo 841 15, // 19: google.ads.googleads.v2.resources.Ad.shopping_smart_ad:type_name -> google.ads.googleads.v2.common.ShoppingSmartAdInfo 842 16, // 20: google.ads.googleads.v2.resources.Ad.shopping_product_ad:type_name -> google.ads.googleads.v2.common.ShoppingProductAdInfo 843 17, // 21: google.ads.googleads.v2.resources.Ad.gmail_ad:type_name -> google.ads.googleads.v2.common.GmailAdInfo 844 18, // 22: google.ads.googleads.v2.resources.Ad.image_ad:type_name -> google.ads.googleads.v2.common.ImageAdInfo 845 19, // 23: google.ads.googleads.v2.resources.Ad.video_ad:type_name -> google.ads.googleads.v2.common.VideoAdInfo 846 20, // 24: google.ads.googleads.v2.resources.Ad.responsive_search_ad:type_name -> google.ads.googleads.v2.common.ResponsiveSearchAdInfo 847 21, // 25: google.ads.googleads.v2.resources.Ad.legacy_responsive_display_ad:type_name -> google.ads.googleads.v2.common.LegacyResponsiveDisplayAdInfo 848 22, // 26: google.ads.googleads.v2.resources.Ad.app_ad:type_name -> google.ads.googleads.v2.common.AppAdInfo 849 23, // 27: google.ads.googleads.v2.resources.Ad.legacy_app_install_ad:type_name -> google.ads.googleads.v2.common.LegacyAppInstallAdInfo 850 24, // 28: google.ads.googleads.v2.resources.Ad.responsive_display_ad:type_name -> google.ads.googleads.v2.common.ResponsiveDisplayAdInfo 851 25, // 29: google.ads.googleads.v2.resources.Ad.display_upload_ad:type_name -> google.ads.googleads.v2.common.DisplayUploadAdInfo 852 26, // 30: google.ads.googleads.v2.resources.Ad.app_engagement_ad:type_name -> google.ads.googleads.v2.common.AppEngagementAdInfo 853 27, // 31: google.ads.googleads.v2.resources.Ad.shopping_comparison_listing_ad:type_name -> google.ads.googleads.v2.common.ShoppingComparisonListingAdInfo 854 32, // [32:32] is the sub-list for method output_type 855 32, // [32:32] is the sub-list for method input_type 856 32, // [32:32] is the sub-list for extension type_name 857 32, // [32:32] is the sub-list for extension extendee 858 0, // [0:32] is the sub-list for field type_name 859} 860 861func init() { file_google_ads_googleads_v2_resources_ad_proto_init() } 862func file_google_ads_googleads_v2_resources_ad_proto_init() { 863 if File_google_ads_googleads_v2_resources_ad_proto != nil { 864 return 865 } 866 if !protoimpl.UnsafeEnabled { 867 file_google_ads_googleads_v2_resources_ad_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { 868 switch v := v.(*Ad); i { 869 case 0: 870 return &v.state 871 case 1: 872 return &v.sizeCache 873 case 2: 874 return &v.unknownFields 875 default: 876 return nil 877 } 878 } 879 } 880 file_google_ads_googleads_v2_resources_ad_proto_msgTypes[0].OneofWrappers = []interface{}{ 881 (*Ad_TextAd)(nil), 882 (*Ad_ExpandedTextAd)(nil), 883 (*Ad_CallOnlyAd)(nil), 884 (*Ad_ExpandedDynamicSearchAd)(nil), 885 (*Ad_HotelAd)(nil), 886 (*Ad_ShoppingSmartAd)(nil), 887 (*Ad_ShoppingProductAd)(nil), 888 (*Ad_GmailAd)(nil), 889 (*Ad_ImageAd)(nil), 890 (*Ad_VideoAd)(nil), 891 (*Ad_ResponsiveSearchAd)(nil), 892 (*Ad_LegacyResponsiveDisplayAd)(nil), 893 (*Ad_AppAd)(nil), 894 (*Ad_LegacyAppInstallAd)(nil), 895 (*Ad_ResponsiveDisplayAd)(nil), 896 (*Ad_DisplayUploadAd)(nil), 897 (*Ad_AppEngagementAd)(nil), 898 (*Ad_ShoppingComparisonListingAd)(nil), 899 } 900 type x struct{} 901 out := protoimpl.TypeBuilder{ 902 File: protoimpl.DescBuilder{ 903 GoPackagePath: reflect.TypeOf(x{}).PkgPath(), 904 RawDescriptor: file_google_ads_googleads_v2_resources_ad_proto_rawDesc, 905 NumEnums: 0, 906 NumMessages: 1, 907 NumExtensions: 0, 908 NumServices: 0, 909 }, 910 GoTypes: file_google_ads_googleads_v2_resources_ad_proto_goTypes, 911 DependencyIndexes: file_google_ads_googleads_v2_resources_ad_proto_depIdxs, 912 MessageInfos: file_google_ads_googleads_v2_resources_ad_proto_msgTypes, 913 }.Build() 914 File_google_ads_googleads_v2_resources_ad_proto = out.File 915 file_google_ads_googleads_v2_resources_ad_proto_rawDesc = nil 916 file_google_ads_googleads_v2_resources_ad_proto_goTypes = nil 917 file_google_ads_googleads_v2_resources_ad_proto_depIdxs = nil 918} 919