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.22.0
18// 	protoc        v3.11.2
19// source: google/ads/googleads/v3/resources/feed_item.proto
20
21package resources
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	common "google.golang.org/genproto/googleapis/ads/googleads/v3/common"
30	enums "google.golang.org/genproto/googleapis/ads/googleads/v3/enums"
31	errors "google.golang.org/genproto/googleapis/ads/googleads/v3/errors"
32	_ "google.golang.org/genproto/googleapis/api/annotations"
33	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
34	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
35)
36
37const (
38	// Verify that this generated code is sufficiently up-to-date.
39	_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
40	// Verify that runtime/protoimpl is sufficiently up-to-date.
41	_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
42)
43
44// This is a compile-time assertion that a sufficiently up-to-date version
45// of the legacy proto package is being used.
46const _ = proto.ProtoPackageIsVersion4
47
48// A feed item.
49type FeedItem struct {
50	state         protoimpl.MessageState
51	sizeCache     protoimpl.SizeCache
52	unknownFields protoimpl.UnknownFields
53
54	// Immutable. The resource name of the feed item.
55	// Feed item resource names have the form:
56	//
57	// `customers/{customer_id}/feedItems/{feed_id}~{feed_item_id}`
58	ResourceName string `protobuf:"bytes,1,opt,name=resource_name,json=resourceName,proto3" json:"resource_name,omitempty"`
59	// Immutable. The feed to which this feed item belongs.
60	Feed *wrappers.StringValue `protobuf:"bytes,2,opt,name=feed,proto3" json:"feed,omitempty"`
61	// Output only. The ID of this feed item.
62	Id *wrappers.Int64Value `protobuf:"bytes,3,opt,name=id,proto3" json:"id,omitempty"`
63	// Start time in which this feed item is effective and can begin serving. The
64	// time is in the customer's time zone.
65	// The format is "YYYY-MM-DD HH:MM:SS".
66	// Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
67	StartDateTime *wrappers.StringValue `protobuf:"bytes,4,opt,name=start_date_time,json=startDateTime,proto3" json:"start_date_time,omitempty"`
68	// End time in which this feed item is no longer effective and will stop
69	// serving. The time is in the customer's time zone.
70	// The format is "YYYY-MM-DD HH:MM:SS".
71	// Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
72	EndDateTime *wrappers.StringValue `protobuf:"bytes,5,opt,name=end_date_time,json=endDateTime,proto3" json:"end_date_time,omitempty"`
73	// The feed item's attribute values.
74	AttributeValues []*FeedItemAttributeValue `protobuf:"bytes,6,rep,name=attribute_values,json=attributeValues,proto3" json:"attribute_values,omitempty"`
75	// Geo targeting restriction specifies the type of location that can be used
76	// for targeting.
77	GeoTargetingRestriction enums.GeoTargetingRestrictionEnum_GeoTargetingRestriction `protobuf:"varint,7,opt,name=geo_targeting_restriction,json=geoTargetingRestriction,proto3,enum=google.ads.googleads.v3.enums.GeoTargetingRestrictionEnum_GeoTargetingRestriction" json:"geo_targeting_restriction,omitempty"`
78	// The list of mappings used to substitute custom parameter tags in a
79	// `tracking_url_template`, `final_urls`, or `mobile_final_urls`.
80	UrlCustomParameters []*common.CustomParameter `protobuf:"bytes,8,rep,name=url_custom_parameters,json=urlCustomParameters,proto3" json:"url_custom_parameters,omitempty"`
81	// Output only. Status of the feed item.
82	// This field is read-only.
83	Status enums.FeedItemStatusEnum_FeedItemStatus `protobuf:"varint,9,opt,name=status,proto3,enum=google.ads.googleads.v3.enums.FeedItemStatusEnum_FeedItemStatus" json:"status,omitempty"`
84	// Output only. List of info about a feed item's validation and approval state for active
85	// feed mappings. There will be an entry in the list for each type of feed
86	// mapping associated with the feed, e.g. a feed with a sitelink and a call
87	// feed mapping would cause every feed item associated with that feed to have
88	// an entry in this list for both sitelink and call.
89	// This field is read-only.
90	PolicyInfos []*FeedItemPlaceholderPolicyInfo `protobuf:"bytes,10,rep,name=policy_infos,json=policyInfos,proto3" json:"policy_infos,omitempty"`
91}
92
93func (x *FeedItem) Reset() {
94	*x = FeedItem{}
95	if protoimpl.UnsafeEnabled {
96		mi := &file_google_ads_googleads_v3_resources_feed_item_proto_msgTypes[0]
97		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
98		ms.StoreMessageInfo(mi)
99	}
100}
101
102func (x *FeedItem) String() string {
103	return protoimpl.X.MessageStringOf(x)
104}
105
106func (*FeedItem) ProtoMessage() {}
107
108func (x *FeedItem) ProtoReflect() protoreflect.Message {
109	mi := &file_google_ads_googleads_v3_resources_feed_item_proto_msgTypes[0]
110	if protoimpl.UnsafeEnabled && x != nil {
111		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
112		if ms.LoadMessageInfo() == nil {
113			ms.StoreMessageInfo(mi)
114		}
115		return ms
116	}
117	return mi.MessageOf(x)
118}
119
120// Deprecated: Use FeedItem.ProtoReflect.Descriptor instead.
121func (*FeedItem) Descriptor() ([]byte, []int) {
122	return file_google_ads_googleads_v3_resources_feed_item_proto_rawDescGZIP(), []int{0}
123}
124
125func (x *FeedItem) GetResourceName() string {
126	if x != nil {
127		return x.ResourceName
128	}
129	return ""
130}
131
132func (x *FeedItem) GetFeed() *wrappers.StringValue {
133	if x != nil {
134		return x.Feed
135	}
136	return nil
137}
138
139func (x *FeedItem) GetId() *wrappers.Int64Value {
140	if x != nil {
141		return x.Id
142	}
143	return nil
144}
145
146func (x *FeedItem) GetStartDateTime() *wrappers.StringValue {
147	if x != nil {
148		return x.StartDateTime
149	}
150	return nil
151}
152
153func (x *FeedItem) GetEndDateTime() *wrappers.StringValue {
154	if x != nil {
155		return x.EndDateTime
156	}
157	return nil
158}
159
160func (x *FeedItem) GetAttributeValues() []*FeedItemAttributeValue {
161	if x != nil {
162		return x.AttributeValues
163	}
164	return nil
165}
166
167func (x *FeedItem) GetGeoTargetingRestriction() enums.GeoTargetingRestrictionEnum_GeoTargetingRestriction {
168	if x != nil {
169		return x.GeoTargetingRestriction
170	}
171	return enums.GeoTargetingRestrictionEnum_UNSPECIFIED
172}
173
174func (x *FeedItem) GetUrlCustomParameters() []*common.CustomParameter {
175	if x != nil {
176		return x.UrlCustomParameters
177	}
178	return nil
179}
180
181func (x *FeedItem) GetStatus() enums.FeedItemStatusEnum_FeedItemStatus {
182	if x != nil {
183		return x.Status
184	}
185	return enums.FeedItemStatusEnum_UNSPECIFIED
186}
187
188func (x *FeedItem) GetPolicyInfos() []*FeedItemPlaceholderPolicyInfo {
189	if x != nil {
190		return x.PolicyInfos
191	}
192	return nil
193}
194
195// A feed item attribute value.
196type FeedItemAttributeValue struct {
197	state         protoimpl.MessageState
198	sizeCache     protoimpl.SizeCache
199	unknownFields protoimpl.UnknownFields
200
201	// Id of the feed attribute for which the value is associated with.
202	FeedAttributeId *wrappers.Int64Value `protobuf:"bytes,1,opt,name=feed_attribute_id,json=feedAttributeId,proto3" json:"feed_attribute_id,omitempty"`
203	// Int64 value. Should be set if feed_attribute_id refers to a feed attribute
204	// of type INT64.
205	IntegerValue *wrappers.Int64Value `protobuf:"bytes,2,opt,name=integer_value,json=integerValue,proto3" json:"integer_value,omitempty"`
206	// Bool value. Should be set if feed_attribute_id refers to a feed attribute
207	// of type BOOLEAN.
208	BooleanValue *wrappers.BoolValue `protobuf:"bytes,3,opt,name=boolean_value,json=booleanValue,proto3" json:"boolean_value,omitempty"`
209	// String value. Should be set if feed_attribute_id refers to a feed attribute
210	// of type STRING, URL or DATE_TIME.
211	// For STRING the maximum length is 1500 characters. For URL the maximum
212	// length is 2076 characters. For DATE_TIME the string must be in the format
213	// "YYYYMMDD HHMMSS".
214	StringValue *wrappers.StringValue `protobuf:"bytes,4,opt,name=string_value,json=stringValue,proto3" json:"string_value,omitempty"`
215	// Double value. Should be set if feed_attribute_id refers to a feed attribute
216	// of type DOUBLE.
217	DoubleValue *wrappers.DoubleValue `protobuf:"bytes,5,opt,name=double_value,json=doubleValue,proto3" json:"double_value,omitempty"`
218	// Price value. Should be set if feed_attribute_id refers to a feed attribute
219	// of type PRICE.
220	PriceValue *common.Money `protobuf:"bytes,6,opt,name=price_value,json=priceValue,proto3" json:"price_value,omitempty"`
221	// Repeated int64 value. Should be set if feed_attribute_id refers to a feed
222	// attribute of type INT64_LIST.
223	IntegerValues []*wrappers.Int64Value `protobuf:"bytes,7,rep,name=integer_values,json=integerValues,proto3" json:"integer_values,omitempty"`
224	// Repeated bool value. Should be set if feed_attribute_id refers to a feed
225	// attribute of type BOOLEAN_LIST.
226	BooleanValues []*wrappers.BoolValue `protobuf:"bytes,8,rep,name=boolean_values,json=booleanValues,proto3" json:"boolean_values,omitempty"`
227	// Repeated string value. Should be set if feed_attribute_id refers to a feed
228	// attribute of type STRING_LIST, URL_LIST or DATE_TIME_LIST.
229	// For STRING_LIST and URL_LIST the total size of the list in bytes may not
230	// exceed 3000. For DATE_TIME_LIST the number of elements may not exceed 200.
231	//
232	// For STRING_LIST the maximum length of each string element is 1500
233	// characters. For URL_LIST the maximum length is 2076 characters. For
234	// DATE_TIME the format of the string must be the same as start and end time
235	// for the feed item.
236	StringValues []*wrappers.StringValue `protobuf:"bytes,9,rep,name=string_values,json=stringValues,proto3" json:"string_values,omitempty"`
237	// Repeated double value. Should be set if feed_attribute_id refers to a feed
238	// attribute of type DOUBLE_LIST.
239	DoubleValues []*wrappers.DoubleValue `protobuf:"bytes,10,rep,name=double_values,json=doubleValues,proto3" json:"double_values,omitempty"`
240}
241
242func (x *FeedItemAttributeValue) Reset() {
243	*x = FeedItemAttributeValue{}
244	if protoimpl.UnsafeEnabled {
245		mi := &file_google_ads_googleads_v3_resources_feed_item_proto_msgTypes[1]
246		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
247		ms.StoreMessageInfo(mi)
248	}
249}
250
251func (x *FeedItemAttributeValue) String() string {
252	return protoimpl.X.MessageStringOf(x)
253}
254
255func (*FeedItemAttributeValue) ProtoMessage() {}
256
257func (x *FeedItemAttributeValue) ProtoReflect() protoreflect.Message {
258	mi := &file_google_ads_googleads_v3_resources_feed_item_proto_msgTypes[1]
259	if protoimpl.UnsafeEnabled && x != nil {
260		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
261		if ms.LoadMessageInfo() == nil {
262			ms.StoreMessageInfo(mi)
263		}
264		return ms
265	}
266	return mi.MessageOf(x)
267}
268
269// Deprecated: Use FeedItemAttributeValue.ProtoReflect.Descriptor instead.
270func (*FeedItemAttributeValue) Descriptor() ([]byte, []int) {
271	return file_google_ads_googleads_v3_resources_feed_item_proto_rawDescGZIP(), []int{1}
272}
273
274func (x *FeedItemAttributeValue) GetFeedAttributeId() *wrappers.Int64Value {
275	if x != nil {
276		return x.FeedAttributeId
277	}
278	return nil
279}
280
281func (x *FeedItemAttributeValue) GetIntegerValue() *wrappers.Int64Value {
282	if x != nil {
283		return x.IntegerValue
284	}
285	return nil
286}
287
288func (x *FeedItemAttributeValue) GetBooleanValue() *wrappers.BoolValue {
289	if x != nil {
290		return x.BooleanValue
291	}
292	return nil
293}
294
295func (x *FeedItemAttributeValue) GetStringValue() *wrappers.StringValue {
296	if x != nil {
297		return x.StringValue
298	}
299	return nil
300}
301
302func (x *FeedItemAttributeValue) GetDoubleValue() *wrappers.DoubleValue {
303	if x != nil {
304		return x.DoubleValue
305	}
306	return nil
307}
308
309func (x *FeedItemAttributeValue) GetPriceValue() *common.Money {
310	if x != nil {
311		return x.PriceValue
312	}
313	return nil
314}
315
316func (x *FeedItemAttributeValue) GetIntegerValues() []*wrappers.Int64Value {
317	if x != nil {
318		return x.IntegerValues
319	}
320	return nil
321}
322
323func (x *FeedItemAttributeValue) GetBooleanValues() []*wrappers.BoolValue {
324	if x != nil {
325		return x.BooleanValues
326	}
327	return nil
328}
329
330func (x *FeedItemAttributeValue) GetStringValues() []*wrappers.StringValue {
331	if x != nil {
332		return x.StringValues
333	}
334	return nil
335}
336
337func (x *FeedItemAttributeValue) GetDoubleValues() []*wrappers.DoubleValue {
338	if x != nil {
339		return x.DoubleValues
340	}
341	return nil
342}
343
344// Policy, validation, and quality approval info for a feed item for the
345// specified placeholder type.
346type FeedItemPlaceholderPolicyInfo struct {
347	state         protoimpl.MessageState
348	sizeCache     protoimpl.SizeCache
349	unknownFields protoimpl.UnknownFields
350
351	// Output only. The placeholder type.
352	PlaceholderTypeEnum enums.PlaceholderTypeEnum_PlaceholderType `protobuf:"varint,10,opt,name=placeholder_type_enum,json=placeholderTypeEnum,proto3,enum=google.ads.googleads.v3.enums.PlaceholderTypeEnum_PlaceholderType" json:"placeholder_type_enum,omitempty"`
353	// Output only. The FeedMapping that contains the placeholder type.
354	FeedMappingResourceName *wrappers.StringValue `protobuf:"bytes,2,opt,name=feed_mapping_resource_name,json=feedMappingResourceName,proto3" json:"feed_mapping_resource_name,omitempty"`
355	// Output only. Where the placeholder type is in the review process.
356	ReviewStatus enums.PolicyReviewStatusEnum_PolicyReviewStatus `protobuf:"varint,3,opt,name=review_status,json=reviewStatus,proto3,enum=google.ads.googleads.v3.enums.PolicyReviewStatusEnum_PolicyReviewStatus" json:"review_status,omitempty"`
357	// Output only. The overall approval status of the placeholder type, calculated based on
358	// the status of its individual policy topic entries.
359	ApprovalStatus enums.PolicyApprovalStatusEnum_PolicyApprovalStatus `protobuf:"varint,4,opt,name=approval_status,json=approvalStatus,proto3,enum=google.ads.googleads.v3.enums.PolicyApprovalStatusEnum_PolicyApprovalStatus" json:"approval_status,omitempty"`
360	// Output only. The list of policy findings for the placeholder type.
361	PolicyTopicEntries []*common.PolicyTopicEntry `protobuf:"bytes,5,rep,name=policy_topic_entries,json=policyTopicEntries,proto3" json:"policy_topic_entries,omitempty"`
362	// Output only. The validation status of the palceholder type.
363	ValidationStatus enums.FeedItemValidationStatusEnum_FeedItemValidationStatus `protobuf:"varint,6,opt,name=validation_status,json=validationStatus,proto3,enum=google.ads.googleads.v3.enums.FeedItemValidationStatusEnum_FeedItemValidationStatus" json:"validation_status,omitempty"`
364	// Output only. List of placeholder type validation errors.
365	ValidationErrors []*FeedItemValidationError `protobuf:"bytes,7,rep,name=validation_errors,json=validationErrors,proto3" json:"validation_errors,omitempty"`
366	// Output only. Placeholder type quality evaluation approval status.
367	QualityApprovalStatus enums.FeedItemQualityApprovalStatusEnum_FeedItemQualityApprovalStatus `protobuf:"varint,8,opt,name=quality_approval_status,json=qualityApprovalStatus,proto3,enum=google.ads.googleads.v3.enums.FeedItemQualityApprovalStatusEnum_FeedItemQualityApprovalStatus" json:"quality_approval_status,omitempty"`
368	// Output only. List of placeholder type quality evaluation disapproval reasons.
369	QualityDisapprovalReasons []enums.FeedItemQualityDisapprovalReasonEnum_FeedItemQualityDisapprovalReason `protobuf:"varint,9,rep,packed,name=quality_disapproval_reasons,json=qualityDisapprovalReasons,proto3,enum=google.ads.googleads.v3.enums.FeedItemQualityDisapprovalReasonEnum_FeedItemQualityDisapprovalReason" json:"quality_disapproval_reasons,omitempty"`
370}
371
372func (x *FeedItemPlaceholderPolicyInfo) Reset() {
373	*x = FeedItemPlaceholderPolicyInfo{}
374	if protoimpl.UnsafeEnabled {
375		mi := &file_google_ads_googleads_v3_resources_feed_item_proto_msgTypes[2]
376		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
377		ms.StoreMessageInfo(mi)
378	}
379}
380
381func (x *FeedItemPlaceholderPolicyInfo) String() string {
382	return protoimpl.X.MessageStringOf(x)
383}
384
385func (*FeedItemPlaceholderPolicyInfo) ProtoMessage() {}
386
387func (x *FeedItemPlaceholderPolicyInfo) ProtoReflect() protoreflect.Message {
388	mi := &file_google_ads_googleads_v3_resources_feed_item_proto_msgTypes[2]
389	if protoimpl.UnsafeEnabled && x != nil {
390		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
391		if ms.LoadMessageInfo() == nil {
392			ms.StoreMessageInfo(mi)
393		}
394		return ms
395	}
396	return mi.MessageOf(x)
397}
398
399// Deprecated: Use FeedItemPlaceholderPolicyInfo.ProtoReflect.Descriptor instead.
400func (*FeedItemPlaceholderPolicyInfo) Descriptor() ([]byte, []int) {
401	return file_google_ads_googleads_v3_resources_feed_item_proto_rawDescGZIP(), []int{2}
402}
403
404func (x *FeedItemPlaceholderPolicyInfo) GetPlaceholderTypeEnum() enums.PlaceholderTypeEnum_PlaceholderType {
405	if x != nil {
406		return x.PlaceholderTypeEnum
407	}
408	return enums.PlaceholderTypeEnum_UNSPECIFIED
409}
410
411func (x *FeedItemPlaceholderPolicyInfo) GetFeedMappingResourceName() *wrappers.StringValue {
412	if x != nil {
413		return x.FeedMappingResourceName
414	}
415	return nil
416}
417
418func (x *FeedItemPlaceholderPolicyInfo) GetReviewStatus() enums.PolicyReviewStatusEnum_PolicyReviewStatus {
419	if x != nil {
420		return x.ReviewStatus
421	}
422	return enums.PolicyReviewStatusEnum_UNSPECIFIED
423}
424
425func (x *FeedItemPlaceholderPolicyInfo) GetApprovalStatus() enums.PolicyApprovalStatusEnum_PolicyApprovalStatus {
426	if x != nil {
427		return x.ApprovalStatus
428	}
429	return enums.PolicyApprovalStatusEnum_UNSPECIFIED
430}
431
432func (x *FeedItemPlaceholderPolicyInfo) GetPolicyTopicEntries() []*common.PolicyTopicEntry {
433	if x != nil {
434		return x.PolicyTopicEntries
435	}
436	return nil
437}
438
439func (x *FeedItemPlaceholderPolicyInfo) GetValidationStatus() enums.FeedItemValidationStatusEnum_FeedItemValidationStatus {
440	if x != nil {
441		return x.ValidationStatus
442	}
443	return enums.FeedItemValidationStatusEnum_UNSPECIFIED
444}
445
446func (x *FeedItemPlaceholderPolicyInfo) GetValidationErrors() []*FeedItemValidationError {
447	if x != nil {
448		return x.ValidationErrors
449	}
450	return nil
451}
452
453func (x *FeedItemPlaceholderPolicyInfo) GetQualityApprovalStatus() enums.FeedItemQualityApprovalStatusEnum_FeedItemQualityApprovalStatus {
454	if x != nil {
455		return x.QualityApprovalStatus
456	}
457	return enums.FeedItemQualityApprovalStatusEnum_UNSPECIFIED
458}
459
460func (x *FeedItemPlaceholderPolicyInfo) GetQualityDisapprovalReasons() []enums.FeedItemQualityDisapprovalReasonEnum_FeedItemQualityDisapprovalReason {
461	if x != nil {
462		return x.QualityDisapprovalReasons
463	}
464	return nil
465}
466
467// Stores a validation error and the set of offending feed attributes which
468// together are responsible for causing a feed item validation error.
469type FeedItemValidationError struct {
470	state         protoimpl.MessageState
471	sizeCache     protoimpl.SizeCache
472	unknownFields protoimpl.UnknownFields
473
474	// Output only. Error code indicating what validation error was triggered. The description
475	// of the error can be found in the 'description' field.
476	ValidationError errors.FeedItemValidationErrorEnum_FeedItemValidationError `protobuf:"varint,1,opt,name=validation_error,json=validationError,proto3,enum=google.ads.googleads.v3.errors.FeedItemValidationErrorEnum_FeedItemValidationError" json:"validation_error,omitempty"`
477	// Output only. The description of the validation error.
478	Description *wrappers.StringValue `protobuf:"bytes,2,opt,name=description,proto3" json:"description,omitempty"`
479	// Output only. Set of feed attributes in the feed item flagged during validation. If
480	// empty, no specific feed attributes can be associated with the error
481	// (e.g. error across the entire feed item).
482	FeedAttributeIds []*wrappers.Int64Value `protobuf:"bytes,3,rep,name=feed_attribute_ids,json=feedAttributeIds,proto3" json:"feed_attribute_ids,omitempty"`
483	// Output only. Any extra information related to this error which is not captured by
484	// validation_error and feed_attribute_id (e.g. placeholder field IDs when
485	// feed_attribute_id is not mapped). Note that extra_info is not localized.
486	ExtraInfo *wrappers.StringValue `protobuf:"bytes,5,opt,name=extra_info,json=extraInfo,proto3" json:"extra_info,omitempty"`
487}
488
489func (x *FeedItemValidationError) Reset() {
490	*x = FeedItemValidationError{}
491	if protoimpl.UnsafeEnabled {
492		mi := &file_google_ads_googleads_v3_resources_feed_item_proto_msgTypes[3]
493		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
494		ms.StoreMessageInfo(mi)
495	}
496}
497
498func (x *FeedItemValidationError) String() string {
499	return protoimpl.X.MessageStringOf(x)
500}
501
502func (*FeedItemValidationError) ProtoMessage() {}
503
504func (x *FeedItemValidationError) ProtoReflect() protoreflect.Message {
505	mi := &file_google_ads_googleads_v3_resources_feed_item_proto_msgTypes[3]
506	if protoimpl.UnsafeEnabled && x != nil {
507		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
508		if ms.LoadMessageInfo() == nil {
509			ms.StoreMessageInfo(mi)
510		}
511		return ms
512	}
513	return mi.MessageOf(x)
514}
515
516// Deprecated: Use FeedItemValidationError.ProtoReflect.Descriptor instead.
517func (*FeedItemValidationError) Descriptor() ([]byte, []int) {
518	return file_google_ads_googleads_v3_resources_feed_item_proto_rawDescGZIP(), []int{3}
519}
520
521func (x *FeedItemValidationError) GetValidationError() errors.FeedItemValidationErrorEnum_FeedItemValidationError {
522	if x != nil {
523		return x.ValidationError
524	}
525	return errors.FeedItemValidationErrorEnum_UNSPECIFIED
526}
527
528func (x *FeedItemValidationError) GetDescription() *wrappers.StringValue {
529	if x != nil {
530		return x.Description
531	}
532	return nil
533}
534
535func (x *FeedItemValidationError) GetFeedAttributeIds() []*wrappers.Int64Value {
536	if x != nil {
537		return x.FeedAttributeIds
538	}
539	return nil
540}
541
542func (x *FeedItemValidationError) GetExtraInfo() *wrappers.StringValue {
543	if x != nil {
544		return x.ExtraInfo
545	}
546	return nil
547}
548
549var File_google_ads_googleads_v3_resources_feed_item_proto protoreflect.FileDescriptor
550
551var file_google_ads_googleads_v3_resources_feed_item_proto_rawDesc = []byte{
552	0x0a, 0x31, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x64, 0x73, 0x2f, 0x67, 0x6f, 0x6f,
553	0x67, 0x6c, 0x65, 0x61, 0x64, 0x73, 0x2f, 0x76, 0x33, 0x2f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72,
554	0x63, 0x65, 0x73, 0x2f, 0x66, 0x65, 0x65, 0x64, 0x5f, 0x69, 0x74, 0x65, 0x6d, 0x2e, 0x70, 0x72,
555	0x6f, 0x74, 0x6f, 0x12, 0x21, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x64, 0x73, 0x2e,
556	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x64, 0x73, 0x2e, 0x76, 0x33, 0x2e, 0x72, 0x65, 0x73,
557	0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x1a, 0x35, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61,
558	0x64, 0x73, 0x2f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x64, 0x73, 0x2f, 0x76, 0x33, 0x2f,
559	0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x70, 0x61,
560	0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x30, 0x67,
561	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x64, 0x73, 0x2f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
562	0x61, 0x64, 0x73, 0x2f, 0x76, 0x33, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x66, 0x65,
563	0x65, 0x64, 0x5f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a,
564	0x2b, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x64, 0x73, 0x2f, 0x67, 0x6f, 0x6f, 0x67,
565	0x6c, 0x65, 0x61, 0x64, 0x73, 0x2f, 0x76, 0x33, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f,
566	0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x45, 0x67, 0x6f,
567	0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x64, 0x73, 0x2f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61,
568	0x64, 0x73, 0x2f, 0x76, 0x33, 0x2f, 0x65, 0x6e, 0x75, 0x6d, 0x73, 0x2f, 0x66, 0x65, 0x65, 0x64,
569	0x5f, 0x69, 0x74, 0x65, 0x6d, 0x5f, 0x71, 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x5f, 0x61, 0x70,
570	0x70, 0x72, 0x6f, 0x76, 0x61, 0x6c, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72,
571	0x6f, 0x74, 0x6f, 0x1a, 0x48, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x64, 0x73, 0x2f,
572	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x64, 0x73, 0x2f, 0x76, 0x33, 0x2f, 0x65, 0x6e, 0x75,
573	0x6d, 0x73, 0x2f, 0x66, 0x65, 0x65, 0x64, 0x5f, 0x69, 0x74, 0x65, 0x6d, 0x5f, 0x71, 0x75, 0x61,
574	0x6c, 0x69, 0x74, 0x79, 0x5f, 0x64, 0x69, 0x73, 0x61, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x61, 0x6c,
575	0x5f, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x34, 0x67,
576	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x64, 0x73, 0x2f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
577	0x61, 0x64, 0x73, 0x2f, 0x76, 0x33, 0x2f, 0x65, 0x6e, 0x75, 0x6d, 0x73, 0x2f, 0x66, 0x65, 0x65,
578	0x64, 0x5f, 0x69, 0x74, 0x65, 0x6d, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72,
579	0x6f, 0x74, 0x6f, 0x1a, 0x3f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x64, 0x73, 0x2f,
580	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x64, 0x73, 0x2f, 0x76, 0x33, 0x2f, 0x65, 0x6e, 0x75,
581	0x6d, 0x73, 0x2f, 0x66, 0x65, 0x65, 0x64, 0x5f, 0x69, 0x74, 0x65, 0x6d, 0x5f, 0x76, 0x61, 0x6c,
582	0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70,
583	0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x3d, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x64, 0x73,
584	0x2f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x64, 0x73, 0x2f, 0x76, 0x33, 0x2f, 0x65, 0x6e,
585	0x75, 0x6d, 0x73, 0x2f, 0x67, 0x65, 0x6f, 0x5f, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x69, 0x6e,
586	0x67, 0x5f, 0x72, 0x65, 0x73, 0x74, 0x72, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72,
587	0x6f, 0x74, 0x6f, 0x1a, 0x34, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x64, 0x73, 0x2f,
588	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x64, 0x73, 0x2f, 0x76, 0x33, 0x2f, 0x65, 0x6e, 0x75,
589	0x6d, 0x73, 0x2f, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x68, 0x6f, 0x6c, 0x64, 0x65, 0x72, 0x5f, 0x74,
590	0x79, 0x70, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x3a, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
591	0x65, 0x2f, 0x61, 0x64, 0x73, 0x2f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x64, 0x73, 0x2f,
592	0x76, 0x33, 0x2f, 0x65, 0x6e, 0x75, 0x6d, 0x73, 0x2f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x5f,
593	0x61, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x61, 0x6c, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e,
594	0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x38, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x64,
595	0x73, 0x2f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x64, 0x73, 0x2f, 0x76, 0x33, 0x2f, 0x65,
596	0x6e, 0x75, 0x6d, 0x73, 0x2f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x5f, 0x72, 0x65, 0x76, 0x69,
597	0x65, 0x77, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a,
598	0x3f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x64, 0x73, 0x2f, 0x67, 0x6f, 0x6f, 0x67,
599	0x6c, 0x65, 0x61, 0x64, 0x73, 0x2f, 0x76, 0x33, 0x2f, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x2f,
600	0x66, 0x65, 0x65, 0x64, 0x5f, 0x69, 0x74, 0x65, 0x6d, 0x5f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61,
601	0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
602	0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x66, 0x69, 0x65,
603	0x6c, 0x64, 0x5f, 0x62, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74,
604	0x6f, 0x1a, 0x19, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x72, 0x65,
605	0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x67, 0x6f,
606	0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x77, 0x72,
607	0x61, 0x70, 0x70, 0x65, 0x72, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1c, 0x67, 0x6f,
608	0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74,
609	0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xe6, 0x07, 0x0a, 0x08, 0x46,
610	0x65, 0x65, 0x64, 0x49, 0x74, 0x65, 0x6d, 0x12, 0x4e, 0x0a, 0x0d, 0x72, 0x65, 0x73, 0x6f, 0x75,
611	0x72, 0x63, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x29,
612	0xe0, 0x41, 0x05, 0xfa, 0x41, 0x23, 0x0a, 0x21, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x64,
613	0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d,
614	0x2f, 0x46, 0x65, 0x65, 0x64, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x0c, 0x72, 0x65, 0x73, 0x6f, 0x75,
615	0x72, 0x63, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x57, 0x0a, 0x04, 0x66, 0x65, 0x65, 0x64, 0x18,
616	0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70,
617	0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61,
618	0x6c, 0x75, 0x65, 0x42, 0x25, 0xe0, 0x41, 0x05, 0xfa, 0x41, 0x1f, 0x0a, 0x1d, 0x67, 0x6f, 0x6f,
619	0x67, 0x6c, 0x65, 0x61, 0x64, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69,
620	0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x46, 0x65, 0x65, 0x64, 0x52, 0x04, 0x66, 0x65, 0x65, 0x64,
621	0x12, 0x30, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67,
622	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x49,
623	0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x02,
624	0x69, 0x64, 0x12, 0x44, 0x0a, 0x0f, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x64, 0x61, 0x74, 0x65,
625	0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f,
626	0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74,
627	0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0d, 0x73, 0x74, 0x61, 0x72, 0x74,
628	0x44, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x40, 0x0a, 0x0d, 0x65, 0x6e, 0x64, 0x5f,
629	0x64, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32,
630	0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75,
631	0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0b, 0x65,
632	0x6e, 0x64, 0x44, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x64, 0x0a, 0x10, 0x61, 0x74,
633	0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, 0x06,
634	0x20, 0x03, 0x28, 0x0b, 0x32, 0x39, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x64,
635	0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x64, 0x73, 0x2e, 0x76, 0x33, 0x2e, 0x72,
636	0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x2e, 0x46, 0x65, 0x65, 0x64, 0x49, 0x74, 0x65,
637	0x6d, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52,
638	0x0f, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73,
639	0x12, 0x8e, 0x01, 0x0a, 0x19, 0x67, 0x65, 0x6f, 0x5f, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x69,
640	0x6e, 0x67, 0x5f, 0x72, 0x65, 0x73, 0x74, 0x72, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x07,
641	0x20, 0x01, 0x28, 0x0e, 0x32, 0x52, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x64,
642	0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x64, 0x73, 0x2e, 0x76, 0x33, 0x2e, 0x65,
643	0x6e, 0x75, 0x6d, 0x73, 0x2e, 0x47, 0x65, 0x6f, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x69, 0x6e,
644	0x67, 0x52, 0x65, 0x73, 0x74, 0x72, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x6e, 0x75, 0x6d,
645	0x2e, 0x47, 0x65, 0x6f, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x73,
646	0x74, 0x72, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x17, 0x67, 0x65, 0x6f, 0x54, 0x61, 0x72,
647	0x67, 0x65, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x73, 0x74, 0x72, 0x69, 0x63, 0x74, 0x69, 0x6f,
648	0x6e, 0x12, 0x63, 0x0a, 0x15, 0x75, 0x72, 0x6c, 0x5f, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f,
649	0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x18, 0x08, 0x20, 0x03, 0x28, 0x0b,
650	0x32, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x64, 0x73, 0x2e, 0x67, 0x6f,
651	0x6f, 0x67, 0x6c, 0x65, 0x61, 0x64, 0x73, 0x2e, 0x76, 0x33, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f,
652	0x6e, 0x2e, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65,
653	0x72, 0x52, 0x13, 0x75, 0x72, 0x6c, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x50, 0x61, 0x72, 0x61,
654	0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x12, 0x5d, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73,
655	0x18, 0x09, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x40, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
656	0x61, 0x64, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x64, 0x73, 0x2e, 0x76, 0x33,
657	0x2e, 0x65, 0x6e, 0x75, 0x6d, 0x73, 0x2e, 0x46, 0x65, 0x65, 0x64, 0x49, 0x74, 0x65, 0x6d, 0x53,
658	0x74, 0x61, 0x74, 0x75, 0x73, 0x45, 0x6e, 0x75, 0x6d, 0x2e, 0x46, 0x65, 0x65, 0x64, 0x49, 0x74,
659	0x65, 0x6d, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x06, 0x73,
660	0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x68, 0x0a, 0x0c, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x5f,
661	0x69, 0x6e, 0x66, 0x6f, 0x73, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x40, 0x2e, 0x67, 0x6f,
662	0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x64, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61,
663	0x64, 0x73, 0x2e, 0x76, 0x33, 0x2e, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x2e,
664	0x46, 0x65, 0x65, 0x64, 0x49, 0x74, 0x65, 0x6d, 0x50, 0x6c, 0x61, 0x63, 0x65, 0x68, 0x6f, 0x6c,
665	0x64, 0x65, 0x72, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x49, 0x6e, 0x66, 0x6f, 0x42, 0x03, 0xe0,
666	0x41, 0x03, 0x52, 0x0b, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x49, 0x6e, 0x66, 0x6f, 0x73, 0x3a,
667	0x52, 0xea, 0x41, 0x4f, 0x0a, 0x21, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x64, 0x73, 0x2e,
668	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x46,
669	0x65, 0x65, 0x64, 0x49, 0x74, 0x65, 0x6d, 0x12, 0x2a, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x65,
670	0x72, 0x73, 0x2f, 0x7b, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x65, 0x72, 0x7d, 0x2f, 0x66, 0x65,
671	0x65, 0x64, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x2f, 0x7b, 0x66, 0x65, 0x65, 0x64, 0x5f, 0x69, 0x74,
672	0x65, 0x6d, 0x7d, 0x22, 0xbb, 0x05, 0x0a, 0x16, 0x46, 0x65, 0x65, 0x64, 0x49, 0x74, 0x65, 0x6d,
673	0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x47,
674	0x0a, 0x11, 0x66, 0x65, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65,
675	0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
676	0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x49, 0x6e, 0x74, 0x36,
677	0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0f, 0x66, 0x65, 0x65, 0x64, 0x41, 0x74, 0x74, 0x72,
678	0x69, 0x62, 0x75, 0x74, 0x65, 0x49, 0x64, 0x12, 0x40, 0x0a, 0x0d, 0x69, 0x6e, 0x74, 0x65, 0x67,
679	0x65, 0x72, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b,
680	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66,
681	0x2e, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0c, 0x69, 0x6e, 0x74,
682	0x65, 0x67, 0x65, 0x72, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x3f, 0x0a, 0x0d, 0x62, 0x6f, 0x6f,
683	0x6c, 0x65, 0x61, 0x6e, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b,
684	0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
685	0x75, 0x66, 0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0c, 0x62, 0x6f,
686	0x6f, 0x6c, 0x65, 0x61, 0x6e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x3f, 0x0a, 0x0c, 0x73, 0x74,
687	0x72, 0x69, 0x6e, 0x67, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b,
688	0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
689	0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0b,
690	0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x3f, 0x0a, 0x0c, 0x64,
691	0x6f, 0x75, 0x62, 0x6c, 0x65, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28,
692	0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
693	0x62, 0x75, 0x66, 0x2e, 0x44, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52,
694	0x0b, 0x64, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x46, 0x0a, 0x0b,
695	0x70, 0x72, 0x69, 0x63, 0x65, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28,
696	0x0b, 0x32, 0x25, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x64, 0x73, 0x2e, 0x67,
697	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x64, 0x73, 0x2e, 0x76, 0x33, 0x2e, 0x63, 0x6f, 0x6d, 0x6d,
698	0x6f, 0x6e, 0x2e, 0x4d, 0x6f, 0x6e, 0x65, 0x79, 0x52, 0x0a, 0x70, 0x72, 0x69, 0x63, 0x65, 0x56,
699	0x61, 0x6c, 0x75, 0x65, 0x12, 0x42, 0x0a, 0x0e, 0x69, 0x6e, 0x74, 0x65, 0x67, 0x65, 0x72, 0x5f,
700	0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67,
701	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x49,
702	0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0d, 0x69, 0x6e, 0x74, 0x65, 0x67,
703	0x65, 0x72, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x12, 0x41, 0x0a, 0x0e, 0x62, 0x6f, 0x6f, 0x6c,
704	0x65, 0x61, 0x6e, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, 0x08, 0x20, 0x03, 0x28, 0x0b,
705	0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
706	0x75, 0x66, 0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0d, 0x62, 0x6f,
707	0x6f, 0x6c, 0x65, 0x61, 0x6e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x12, 0x41, 0x0a, 0x0d, 0x73,
708	0x74, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, 0x09, 0x20, 0x03,
709	0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74,
710	0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65,
711	0x52, 0x0c, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x12, 0x41,
712	0x0a, 0x0d, 0x64, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18,
713	0x0a, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70,
714	0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x56, 0x61,
715	0x6c, 0x75, 0x65, 0x52, 0x0c, 0x64, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65,
716	0x73, 0x22, 0x96, 0x09, 0x0a, 0x1d, 0x46, 0x65, 0x65, 0x64, 0x49, 0x74, 0x65, 0x6d, 0x50, 0x6c,
717	0x61, 0x63, 0x65, 0x68, 0x6f, 0x6c, 0x64, 0x65, 0x72, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x49,
718	0x6e, 0x66, 0x6f, 0x12, 0x7b, 0x0a, 0x15, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x68, 0x6f, 0x6c, 0x64,
719	0x65, 0x72, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x5f, 0x65, 0x6e, 0x75, 0x6d, 0x18, 0x0a, 0x20, 0x01,
720	0x28, 0x0e, 0x32, 0x42, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x64, 0x73, 0x2e,
721	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x64, 0x73, 0x2e, 0x76, 0x33, 0x2e, 0x65, 0x6e, 0x75,
722	0x6d, 0x73, 0x2e, 0x50, 0x6c, 0x61, 0x63, 0x65, 0x68, 0x6f, 0x6c, 0x64, 0x65, 0x72, 0x54, 0x79,
723	0x70, 0x65, 0x45, 0x6e, 0x75, 0x6d, 0x2e, 0x50, 0x6c, 0x61, 0x63, 0x65, 0x68, 0x6f, 0x6c, 0x64,
724	0x65, 0x72, 0x54, 0x79, 0x70, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x13, 0x70, 0x6c, 0x61,
725	0x63, 0x65, 0x68, 0x6f, 0x6c, 0x64, 0x65, 0x72, 0x54, 0x79, 0x70, 0x65, 0x45, 0x6e, 0x75, 0x6d,
726	0x12, 0x5e, 0x0a, 0x1a, 0x66, 0x65, 0x65, 0x64, 0x5f, 0x6d, 0x61, 0x70, 0x70, 0x69, 0x6e, 0x67,
727	0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02,
728	0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72,
729	0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c,
730	0x75, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x17, 0x66, 0x65, 0x65, 0x64, 0x4d, 0x61, 0x70,
731	0x70, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4e, 0x61, 0x6d, 0x65,
732	0x12, 0x72, 0x0a, 0x0d, 0x72, 0x65, 0x76, 0x69, 0x65, 0x77, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75,
733	0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x48, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
734	0x2e, 0x61, 0x64, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x64, 0x73, 0x2e, 0x76,
735	0x33, 0x2e, 0x65, 0x6e, 0x75, 0x6d, 0x73, 0x2e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65,
736	0x76, 0x69, 0x65, 0x77, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x45, 0x6e, 0x75, 0x6d, 0x2e, 0x50,
737	0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x76, 0x69, 0x65, 0x77, 0x53, 0x74, 0x61, 0x74, 0x75,
738	0x73, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0c, 0x72, 0x65, 0x76, 0x69, 0x65, 0x77, 0x53, 0x74,
739	0x61, 0x74, 0x75, 0x73, 0x12, 0x7a, 0x0a, 0x0f, 0x61, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x61, 0x6c,
740	0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x4c, 0x2e,
741	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x64, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
742	0x65, 0x61, 0x64, 0x73, 0x2e, 0x76, 0x33, 0x2e, 0x65, 0x6e, 0x75, 0x6d, 0x73, 0x2e, 0x50, 0x6f,
743	0x6c, 0x69, 0x63, 0x79, 0x41, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x61, 0x6c, 0x53, 0x74, 0x61, 0x74,
744	0x75, 0x73, 0x45, 0x6e, 0x75, 0x6d, 0x2e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x41, 0x70, 0x70,
745	0x72, 0x6f, 0x76, 0x61, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x42, 0x03, 0xe0, 0x41, 0x03,
746	0x52, 0x0e, 0x61, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x61, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73,
747	0x12, 0x67, 0x0a, 0x14, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x5f, 0x74, 0x6f, 0x70, 0x69, 0x63,
748	0x5f, 0x65, 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x30,
749	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x64, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
750	0x6c, 0x65, 0x61, 0x64, 0x73, 0x2e, 0x76, 0x33, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e,
751	0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x45, 0x6e, 0x74, 0x72, 0x79,
752	0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x12, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x54, 0x6f, 0x70,
753	0x69, 0x63, 0x45, 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, 0x12, 0x86, 0x01, 0x0a, 0x11, 0x76, 0x61,
754	0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18,
755	0x06, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x54, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61,
756	0x64, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x64, 0x73, 0x2e, 0x76, 0x33, 0x2e,
757	0x65, 0x6e, 0x75, 0x6d, 0x73, 0x2e, 0x46, 0x65, 0x65, 0x64, 0x49, 0x74, 0x65, 0x6d, 0x56, 0x61,
758	0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x45, 0x6e,
759	0x75, 0x6d, 0x2e, 0x46, 0x65, 0x65, 0x64, 0x49, 0x74, 0x65, 0x6d, 0x56, 0x61, 0x6c, 0x69, 0x64,
760	0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x42, 0x03, 0xe0, 0x41, 0x03,
761	0x52, 0x10, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74,
762	0x75, 0x73, 0x12, 0x6c, 0x0a, 0x11, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e,
763	0x5f, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3a, 0x2e,
764	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x64, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
765	0x65, 0x61, 0x64, 0x73, 0x2e, 0x76, 0x33, 0x2e, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65,
766	0x73, 0x2e, 0x46, 0x65, 0x65, 0x64, 0x49, 0x74, 0x65, 0x6d, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61,
767	0x74, 0x69, 0x6f, 0x6e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x10,
768	0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x73,
769	0x12, 0x9b, 0x01, 0x0a, 0x17, 0x71, 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x5f, 0x61, 0x70, 0x70,
770	0x72, 0x6f, 0x76, 0x61, 0x6c, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x08, 0x20, 0x01,
771	0x28, 0x0e, 0x32, 0x5e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x64, 0x73, 0x2e,
772	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x64, 0x73, 0x2e, 0x76, 0x33, 0x2e, 0x65, 0x6e, 0x75,
773	0x6d, 0x73, 0x2e, 0x46, 0x65, 0x65, 0x64, 0x49, 0x74, 0x65, 0x6d, 0x51, 0x75, 0x61, 0x6c, 0x69,
774	0x74, 0x79, 0x41, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x61, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73,
775	0x45, 0x6e, 0x75, 0x6d, 0x2e, 0x46, 0x65, 0x65, 0x64, 0x49, 0x74, 0x65, 0x6d, 0x51, 0x75, 0x61,
776	0x6c, 0x69, 0x74, 0x79, 0x41, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x61, 0x6c, 0x53, 0x74, 0x61, 0x74,
777	0x75, 0x73, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x15, 0x71, 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79,
778	0x41, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x61, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0xa9,
779	0x01, 0x0a, 0x1b, 0x71, 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x5f, 0x64, 0x69, 0x73, 0x61, 0x70,
780	0x70, 0x72, 0x6f, 0x76, 0x61, 0x6c, 0x5f, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x73, 0x18, 0x09,
781	0x20, 0x03, 0x28, 0x0e, 0x32, 0x64, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x64,
782	0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x64, 0x73, 0x2e, 0x76, 0x33, 0x2e, 0x65,
783	0x6e, 0x75, 0x6d, 0x73, 0x2e, 0x46, 0x65, 0x65, 0x64, 0x49, 0x74, 0x65, 0x6d, 0x51, 0x75, 0x61,
784	0x6c, 0x69, 0x74, 0x79, 0x44, 0x69, 0x73, 0x61, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x61, 0x6c, 0x52,
785	0x65, 0x61, 0x73, 0x6f, 0x6e, 0x45, 0x6e, 0x75, 0x6d, 0x2e, 0x46, 0x65, 0x65, 0x64, 0x49, 0x74,
786	0x65, 0x6d, 0x51, 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x44, 0x69, 0x73, 0x61, 0x70, 0x70, 0x72,
787	0x6f, 0x76, 0x61, 0x6c, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52,
788	0x19, 0x71, 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x44, 0x69, 0x73, 0x61, 0x70, 0x70, 0x72, 0x6f,
789	0x76, 0x61, 0x6c, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x73, 0x22, 0xf6, 0x02, 0x0a, 0x17, 0x46,
790	0x65, 0x65, 0x64, 0x49, 0x74, 0x65, 0x6d, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f,
791	0x6e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x83, 0x01, 0x0a, 0x10, 0x76, 0x61, 0x6c, 0x69, 0x64,
792	0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28,
793	0x0e, 0x32, 0x53, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x64, 0x73, 0x2e, 0x67,
794	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x64, 0x73, 0x2e, 0x76, 0x33, 0x2e, 0x65, 0x72, 0x72, 0x6f,
795	0x72, 0x73, 0x2e, 0x46, 0x65, 0x65, 0x64, 0x49, 0x74, 0x65, 0x6d, 0x56, 0x61, 0x6c, 0x69, 0x64,
796	0x61, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x45, 0x6e, 0x75, 0x6d, 0x2e, 0x46,
797	0x65, 0x65, 0x64, 0x49, 0x74, 0x65, 0x6d, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f,
798	0x6e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0f, 0x76, 0x61, 0x6c,
799	0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x43, 0x0a, 0x0b,
800	0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28,
801	0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
802	0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42,
803	0x03, 0xe0, 0x41, 0x03, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f,
804	0x6e, 0x12, 0x4e, 0x0a, 0x12, 0x66, 0x65, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62,
805	0x75, 0x74, 0x65, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1b, 0x2e,
806	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e,
807	0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52,
808	0x10, 0x66, 0x65, 0x65, 0x64, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x49, 0x64,
809	0x73, 0x12, 0x40, 0x0a, 0x0a, 0x65, 0x78, 0x74, 0x72, 0x61, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18,
810	0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70,
811	0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61,
812	0x6c, 0x75, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x09, 0x65, 0x78, 0x74, 0x72, 0x61, 0x49,
813	0x6e, 0x66, 0x6f, 0x42, 0xfa, 0x01, 0x0a, 0x25, 0x63, 0x6f, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
814	0x6c, 0x65, 0x2e, 0x61, 0x64, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x64, 0x73,
815	0x2e, 0x76, 0x33, 0x2e, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x42, 0x0d, 0x46,
816	0x65, 0x65, 0x64, 0x49, 0x74, 0x65, 0x6d, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x4a,
817	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x67, 0x6f, 0x6c, 0x61, 0x6e, 0x67, 0x2e, 0x6f, 0x72,
818	0x67, 0x2f, 0x67, 0x65, 0x6e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
819	0x65, 0x61, 0x70, 0x69, 0x73, 0x2f, 0x61, 0x64, 0x73, 0x2f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
820	0x61, 0x64, 0x73, 0x2f, 0x76, 0x33, 0x2f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73,
821	0x3b, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0xa2, 0x02, 0x03, 0x47, 0x41, 0x41,
822	0xaa, 0x02, 0x21, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x41, 0x64, 0x73, 0x2e, 0x47, 0x6f,
823	0x6f, 0x67, 0x6c, 0x65, 0x41, 0x64, 0x73, 0x2e, 0x56, 0x33, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x75,
824	0x72, 0x63, 0x65, 0x73, 0xca, 0x02, 0x21, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x5c, 0x41, 0x64,
825	0x73, 0x5c, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x41, 0x64, 0x73, 0x5c, 0x56, 0x33, 0x5c, 0x52,
826	0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0xea, 0x02, 0x25, 0x47, 0x6f, 0x6f, 0x67, 0x6c,
827	0x65, 0x3a, 0x3a, 0x41, 0x64, 0x73, 0x3a, 0x3a, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x41, 0x64,
828	0x73, 0x3a, 0x3a, 0x56, 0x33, 0x3a, 0x3a, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73,
829	0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
830}
831
832var (
833	file_google_ads_googleads_v3_resources_feed_item_proto_rawDescOnce sync.Once
834	file_google_ads_googleads_v3_resources_feed_item_proto_rawDescData = file_google_ads_googleads_v3_resources_feed_item_proto_rawDesc
835)
836
837func file_google_ads_googleads_v3_resources_feed_item_proto_rawDescGZIP() []byte {
838	file_google_ads_googleads_v3_resources_feed_item_proto_rawDescOnce.Do(func() {
839		file_google_ads_googleads_v3_resources_feed_item_proto_rawDescData = protoimpl.X.CompressGZIP(file_google_ads_googleads_v3_resources_feed_item_proto_rawDescData)
840	})
841	return file_google_ads_googleads_v3_resources_feed_item_proto_rawDescData
842}
843
844var file_google_ads_googleads_v3_resources_feed_item_proto_msgTypes = make([]protoimpl.MessageInfo, 4)
845var file_google_ads_googleads_v3_resources_feed_item_proto_goTypes = []interface{}{
846	(*FeedItem)(nil),                                                                 // 0: google.ads.googleads.v3.resources.FeedItem
847	(*FeedItemAttributeValue)(nil),                                                   // 1: google.ads.googleads.v3.resources.FeedItemAttributeValue
848	(*FeedItemPlaceholderPolicyInfo)(nil),                                            // 2: google.ads.googleads.v3.resources.FeedItemPlaceholderPolicyInfo
849	(*FeedItemValidationError)(nil),                                                  // 3: google.ads.googleads.v3.resources.FeedItemValidationError
850	(*wrappers.StringValue)(nil),                                                     // 4: google.protobuf.StringValue
851	(*wrappers.Int64Value)(nil),                                                      // 5: google.protobuf.Int64Value
852	(enums.GeoTargetingRestrictionEnum_GeoTargetingRestriction)(0),                   // 6: google.ads.googleads.v3.enums.GeoTargetingRestrictionEnum.GeoTargetingRestriction
853	(*common.CustomParameter)(nil),                                                   // 7: google.ads.googleads.v3.common.CustomParameter
854	(enums.FeedItemStatusEnum_FeedItemStatus)(0),                                     // 8: google.ads.googleads.v3.enums.FeedItemStatusEnum.FeedItemStatus
855	(*wrappers.BoolValue)(nil),                                                       // 9: google.protobuf.BoolValue
856	(*wrappers.DoubleValue)(nil),                                                     // 10: google.protobuf.DoubleValue
857	(*common.Money)(nil),                                                             // 11: google.ads.googleads.v3.common.Money
858	(enums.PlaceholderTypeEnum_PlaceholderType)(0),                                   // 12: google.ads.googleads.v3.enums.PlaceholderTypeEnum.PlaceholderType
859	(enums.PolicyReviewStatusEnum_PolicyReviewStatus)(0),                             // 13: google.ads.googleads.v3.enums.PolicyReviewStatusEnum.PolicyReviewStatus
860	(enums.PolicyApprovalStatusEnum_PolicyApprovalStatus)(0),                         // 14: google.ads.googleads.v3.enums.PolicyApprovalStatusEnum.PolicyApprovalStatus
861	(*common.PolicyTopicEntry)(nil),                                                  // 15: google.ads.googleads.v3.common.PolicyTopicEntry
862	(enums.FeedItemValidationStatusEnum_FeedItemValidationStatus)(0),                 // 16: google.ads.googleads.v3.enums.FeedItemValidationStatusEnum.FeedItemValidationStatus
863	(enums.FeedItemQualityApprovalStatusEnum_FeedItemQualityApprovalStatus)(0),       // 17: google.ads.googleads.v3.enums.FeedItemQualityApprovalStatusEnum.FeedItemQualityApprovalStatus
864	(enums.FeedItemQualityDisapprovalReasonEnum_FeedItemQualityDisapprovalReason)(0), // 18: google.ads.googleads.v3.enums.FeedItemQualityDisapprovalReasonEnum.FeedItemQualityDisapprovalReason
865	(errors.FeedItemValidationErrorEnum_FeedItemValidationError)(0),                  // 19: google.ads.googleads.v3.errors.FeedItemValidationErrorEnum.FeedItemValidationError
866}
867var file_google_ads_googleads_v3_resources_feed_item_proto_depIdxs = []int32{
868	4,  // 0: google.ads.googleads.v3.resources.FeedItem.feed:type_name -> google.protobuf.StringValue
869	5,  // 1: google.ads.googleads.v3.resources.FeedItem.id:type_name -> google.protobuf.Int64Value
870	4,  // 2: google.ads.googleads.v3.resources.FeedItem.start_date_time:type_name -> google.protobuf.StringValue
871	4,  // 3: google.ads.googleads.v3.resources.FeedItem.end_date_time:type_name -> google.protobuf.StringValue
872	1,  // 4: google.ads.googleads.v3.resources.FeedItem.attribute_values:type_name -> google.ads.googleads.v3.resources.FeedItemAttributeValue
873	6,  // 5: google.ads.googleads.v3.resources.FeedItem.geo_targeting_restriction:type_name -> google.ads.googleads.v3.enums.GeoTargetingRestrictionEnum.GeoTargetingRestriction
874	7,  // 6: google.ads.googleads.v3.resources.FeedItem.url_custom_parameters:type_name -> google.ads.googleads.v3.common.CustomParameter
875	8,  // 7: google.ads.googleads.v3.resources.FeedItem.status:type_name -> google.ads.googleads.v3.enums.FeedItemStatusEnum.FeedItemStatus
876	2,  // 8: google.ads.googleads.v3.resources.FeedItem.policy_infos:type_name -> google.ads.googleads.v3.resources.FeedItemPlaceholderPolicyInfo
877	5,  // 9: google.ads.googleads.v3.resources.FeedItemAttributeValue.feed_attribute_id:type_name -> google.protobuf.Int64Value
878	5,  // 10: google.ads.googleads.v3.resources.FeedItemAttributeValue.integer_value:type_name -> google.protobuf.Int64Value
879	9,  // 11: google.ads.googleads.v3.resources.FeedItemAttributeValue.boolean_value:type_name -> google.protobuf.BoolValue
880	4,  // 12: google.ads.googleads.v3.resources.FeedItemAttributeValue.string_value:type_name -> google.protobuf.StringValue
881	10, // 13: google.ads.googleads.v3.resources.FeedItemAttributeValue.double_value:type_name -> google.protobuf.DoubleValue
882	11, // 14: google.ads.googleads.v3.resources.FeedItemAttributeValue.price_value:type_name -> google.ads.googleads.v3.common.Money
883	5,  // 15: google.ads.googleads.v3.resources.FeedItemAttributeValue.integer_values:type_name -> google.protobuf.Int64Value
884	9,  // 16: google.ads.googleads.v3.resources.FeedItemAttributeValue.boolean_values:type_name -> google.protobuf.BoolValue
885	4,  // 17: google.ads.googleads.v3.resources.FeedItemAttributeValue.string_values:type_name -> google.protobuf.StringValue
886	10, // 18: google.ads.googleads.v3.resources.FeedItemAttributeValue.double_values:type_name -> google.protobuf.DoubleValue
887	12, // 19: google.ads.googleads.v3.resources.FeedItemPlaceholderPolicyInfo.placeholder_type_enum:type_name -> google.ads.googleads.v3.enums.PlaceholderTypeEnum.PlaceholderType
888	4,  // 20: google.ads.googleads.v3.resources.FeedItemPlaceholderPolicyInfo.feed_mapping_resource_name:type_name -> google.protobuf.StringValue
889	13, // 21: google.ads.googleads.v3.resources.FeedItemPlaceholderPolicyInfo.review_status:type_name -> google.ads.googleads.v3.enums.PolicyReviewStatusEnum.PolicyReviewStatus
890	14, // 22: google.ads.googleads.v3.resources.FeedItemPlaceholderPolicyInfo.approval_status:type_name -> google.ads.googleads.v3.enums.PolicyApprovalStatusEnum.PolicyApprovalStatus
891	15, // 23: google.ads.googleads.v3.resources.FeedItemPlaceholderPolicyInfo.policy_topic_entries:type_name -> google.ads.googleads.v3.common.PolicyTopicEntry
892	16, // 24: google.ads.googleads.v3.resources.FeedItemPlaceholderPolicyInfo.validation_status:type_name -> google.ads.googleads.v3.enums.FeedItemValidationStatusEnum.FeedItemValidationStatus
893	3,  // 25: google.ads.googleads.v3.resources.FeedItemPlaceholderPolicyInfo.validation_errors:type_name -> google.ads.googleads.v3.resources.FeedItemValidationError
894	17, // 26: google.ads.googleads.v3.resources.FeedItemPlaceholderPolicyInfo.quality_approval_status:type_name -> google.ads.googleads.v3.enums.FeedItemQualityApprovalStatusEnum.FeedItemQualityApprovalStatus
895	18, // 27: google.ads.googleads.v3.resources.FeedItemPlaceholderPolicyInfo.quality_disapproval_reasons:type_name -> google.ads.googleads.v3.enums.FeedItemQualityDisapprovalReasonEnum.FeedItemQualityDisapprovalReason
896	19, // 28: google.ads.googleads.v3.resources.FeedItemValidationError.validation_error:type_name -> google.ads.googleads.v3.errors.FeedItemValidationErrorEnum.FeedItemValidationError
897	4,  // 29: google.ads.googleads.v3.resources.FeedItemValidationError.description:type_name -> google.protobuf.StringValue
898	5,  // 30: google.ads.googleads.v3.resources.FeedItemValidationError.feed_attribute_ids:type_name -> google.protobuf.Int64Value
899	4,  // 31: google.ads.googleads.v3.resources.FeedItemValidationError.extra_info:type_name -> google.protobuf.StringValue
900	32, // [32:32] is the sub-list for method output_type
901	32, // [32:32] is the sub-list for method input_type
902	32, // [32:32] is the sub-list for extension type_name
903	32, // [32:32] is the sub-list for extension extendee
904	0,  // [0:32] is the sub-list for field type_name
905}
906
907func init() { file_google_ads_googleads_v3_resources_feed_item_proto_init() }
908func file_google_ads_googleads_v3_resources_feed_item_proto_init() {
909	if File_google_ads_googleads_v3_resources_feed_item_proto != nil {
910		return
911	}
912	if !protoimpl.UnsafeEnabled {
913		file_google_ads_googleads_v3_resources_feed_item_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
914			switch v := v.(*FeedItem); i {
915			case 0:
916				return &v.state
917			case 1:
918				return &v.sizeCache
919			case 2:
920				return &v.unknownFields
921			default:
922				return nil
923			}
924		}
925		file_google_ads_googleads_v3_resources_feed_item_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
926			switch v := v.(*FeedItemAttributeValue); i {
927			case 0:
928				return &v.state
929			case 1:
930				return &v.sizeCache
931			case 2:
932				return &v.unknownFields
933			default:
934				return nil
935			}
936		}
937		file_google_ads_googleads_v3_resources_feed_item_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
938			switch v := v.(*FeedItemPlaceholderPolicyInfo); i {
939			case 0:
940				return &v.state
941			case 1:
942				return &v.sizeCache
943			case 2:
944				return &v.unknownFields
945			default:
946				return nil
947			}
948		}
949		file_google_ads_googleads_v3_resources_feed_item_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
950			switch v := v.(*FeedItemValidationError); i {
951			case 0:
952				return &v.state
953			case 1:
954				return &v.sizeCache
955			case 2:
956				return &v.unknownFields
957			default:
958				return nil
959			}
960		}
961	}
962	type x struct{}
963	out := protoimpl.TypeBuilder{
964		File: protoimpl.DescBuilder{
965			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
966			RawDescriptor: file_google_ads_googleads_v3_resources_feed_item_proto_rawDesc,
967			NumEnums:      0,
968			NumMessages:   4,
969			NumExtensions: 0,
970			NumServices:   0,
971		},
972		GoTypes:           file_google_ads_googleads_v3_resources_feed_item_proto_goTypes,
973		DependencyIndexes: file_google_ads_googleads_v3_resources_feed_item_proto_depIdxs,
974		MessageInfos:      file_google_ads_googleads_v3_resources_feed_item_proto_msgTypes,
975	}.Build()
976	File_google_ads_googleads_v3_resources_feed_item_proto = out.File
977	file_google_ads_googleads_v3_resources_feed_item_proto_rawDesc = nil
978	file_google_ads_googleads_v3_resources_feed_item_proto_goTypes = nil
979	file_google_ads_googleads_v3_resources_feed_item_proto_depIdxs = nil
980}
981