1// Code generated by protoc-gen-go. DO NOT EDIT.
2// source: google/ads/googleads/v2/common/ad_type_infos.proto
3
4package common
5
6import (
7	fmt "fmt"
8	math "math"
9
10	proto "github.com/golang/protobuf/proto"
11	wrappers "github.com/golang/protobuf/ptypes/wrappers"
12	enums "google.golang.org/genproto/googleapis/ads/googleads/v2/enums"
13	_ "google.golang.org/genproto/googleapis/api/annotations"
14)
15
16// Reference imports to suppress errors if they are not otherwise used.
17var _ = proto.Marshal
18var _ = fmt.Errorf
19var _ = math.Inf
20
21// This is a compile-time assertion to ensure that this generated file
22// is compatible with the proto package it is being compiled against.
23// A compilation error at this line likely means your copy of the
24// proto package needs to be updated.
25const _ = proto.ProtoPackageIsVersion3 // please upgrade the proto package
26
27// A text ad.
28type TextAdInfo struct {
29	// The headline of the ad.
30	Headline *wrappers.StringValue `protobuf:"bytes,1,opt,name=headline,proto3" json:"headline,omitempty"`
31	// The first line of the ad's description.
32	Description1 *wrappers.StringValue `protobuf:"bytes,2,opt,name=description1,proto3" json:"description1,omitempty"`
33	// The second line of the ad's description.
34	Description2         *wrappers.StringValue `protobuf:"bytes,3,opt,name=description2,proto3" json:"description2,omitempty"`
35	XXX_NoUnkeyedLiteral struct{}              `json:"-"`
36	XXX_unrecognized     []byte                `json:"-"`
37	XXX_sizecache        int32                 `json:"-"`
38}
39
40func (m *TextAdInfo) Reset()         { *m = TextAdInfo{} }
41func (m *TextAdInfo) String() string { return proto.CompactTextString(m) }
42func (*TextAdInfo) ProtoMessage()    {}
43func (*TextAdInfo) Descriptor() ([]byte, []int) {
44	return fileDescriptor_7b1cab7fbeab5508, []int{0}
45}
46
47func (m *TextAdInfo) XXX_Unmarshal(b []byte) error {
48	return xxx_messageInfo_TextAdInfo.Unmarshal(m, b)
49}
50func (m *TextAdInfo) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
51	return xxx_messageInfo_TextAdInfo.Marshal(b, m, deterministic)
52}
53func (m *TextAdInfo) XXX_Merge(src proto.Message) {
54	xxx_messageInfo_TextAdInfo.Merge(m, src)
55}
56func (m *TextAdInfo) XXX_Size() int {
57	return xxx_messageInfo_TextAdInfo.Size(m)
58}
59func (m *TextAdInfo) XXX_DiscardUnknown() {
60	xxx_messageInfo_TextAdInfo.DiscardUnknown(m)
61}
62
63var xxx_messageInfo_TextAdInfo proto.InternalMessageInfo
64
65func (m *TextAdInfo) GetHeadline() *wrappers.StringValue {
66	if m != nil {
67		return m.Headline
68	}
69	return nil
70}
71
72func (m *TextAdInfo) GetDescription1() *wrappers.StringValue {
73	if m != nil {
74		return m.Description1
75	}
76	return nil
77}
78
79func (m *TextAdInfo) GetDescription2() *wrappers.StringValue {
80	if m != nil {
81		return m.Description2
82	}
83	return nil
84}
85
86// An expanded text ad.
87type ExpandedTextAdInfo struct {
88	// The first part of the ad's headline.
89	HeadlinePart1 *wrappers.StringValue `protobuf:"bytes,1,opt,name=headline_part1,json=headlinePart1,proto3" json:"headline_part1,omitempty"`
90	// The second part of the ad's headline.
91	HeadlinePart2 *wrappers.StringValue `protobuf:"bytes,2,opt,name=headline_part2,json=headlinePart2,proto3" json:"headline_part2,omitempty"`
92	// The third part of the ad's headline.
93	HeadlinePart3 *wrappers.StringValue `protobuf:"bytes,6,opt,name=headline_part3,json=headlinePart3,proto3" json:"headline_part3,omitempty"`
94	// The description of the ad.
95	Description *wrappers.StringValue `protobuf:"bytes,3,opt,name=description,proto3" json:"description,omitempty"`
96	// The second description of the ad.
97	Description2 *wrappers.StringValue `protobuf:"bytes,7,opt,name=description2,proto3" json:"description2,omitempty"`
98	// The text that can appear alongside the ad's displayed URL.
99	Path1 *wrappers.StringValue `protobuf:"bytes,4,opt,name=path1,proto3" json:"path1,omitempty"`
100	// Additional text that can appear alongside the ad's displayed URL.
101	Path2                *wrappers.StringValue `protobuf:"bytes,5,opt,name=path2,proto3" json:"path2,omitempty"`
102	XXX_NoUnkeyedLiteral struct{}              `json:"-"`
103	XXX_unrecognized     []byte                `json:"-"`
104	XXX_sizecache        int32                 `json:"-"`
105}
106
107func (m *ExpandedTextAdInfo) Reset()         { *m = ExpandedTextAdInfo{} }
108func (m *ExpandedTextAdInfo) String() string { return proto.CompactTextString(m) }
109func (*ExpandedTextAdInfo) ProtoMessage()    {}
110func (*ExpandedTextAdInfo) Descriptor() ([]byte, []int) {
111	return fileDescriptor_7b1cab7fbeab5508, []int{1}
112}
113
114func (m *ExpandedTextAdInfo) XXX_Unmarshal(b []byte) error {
115	return xxx_messageInfo_ExpandedTextAdInfo.Unmarshal(m, b)
116}
117func (m *ExpandedTextAdInfo) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
118	return xxx_messageInfo_ExpandedTextAdInfo.Marshal(b, m, deterministic)
119}
120func (m *ExpandedTextAdInfo) XXX_Merge(src proto.Message) {
121	xxx_messageInfo_ExpandedTextAdInfo.Merge(m, src)
122}
123func (m *ExpandedTextAdInfo) XXX_Size() int {
124	return xxx_messageInfo_ExpandedTextAdInfo.Size(m)
125}
126func (m *ExpandedTextAdInfo) XXX_DiscardUnknown() {
127	xxx_messageInfo_ExpandedTextAdInfo.DiscardUnknown(m)
128}
129
130var xxx_messageInfo_ExpandedTextAdInfo proto.InternalMessageInfo
131
132func (m *ExpandedTextAdInfo) GetHeadlinePart1() *wrappers.StringValue {
133	if m != nil {
134		return m.HeadlinePart1
135	}
136	return nil
137}
138
139func (m *ExpandedTextAdInfo) GetHeadlinePart2() *wrappers.StringValue {
140	if m != nil {
141		return m.HeadlinePart2
142	}
143	return nil
144}
145
146func (m *ExpandedTextAdInfo) GetHeadlinePart3() *wrappers.StringValue {
147	if m != nil {
148		return m.HeadlinePart3
149	}
150	return nil
151}
152
153func (m *ExpandedTextAdInfo) GetDescription() *wrappers.StringValue {
154	if m != nil {
155		return m.Description
156	}
157	return nil
158}
159
160func (m *ExpandedTextAdInfo) GetDescription2() *wrappers.StringValue {
161	if m != nil {
162		return m.Description2
163	}
164	return nil
165}
166
167func (m *ExpandedTextAdInfo) GetPath1() *wrappers.StringValue {
168	if m != nil {
169		return m.Path1
170	}
171	return nil
172}
173
174func (m *ExpandedTextAdInfo) GetPath2() *wrappers.StringValue {
175	if m != nil {
176		return m.Path2
177	}
178	return nil
179}
180
181// A call-only ad.
182type CallOnlyAdInfo struct {
183	// The country code in the ad.
184	CountryCode *wrappers.StringValue `protobuf:"bytes,1,opt,name=country_code,json=countryCode,proto3" json:"country_code,omitempty"`
185	// The phone number in the ad.
186	PhoneNumber *wrappers.StringValue `protobuf:"bytes,2,opt,name=phone_number,json=phoneNumber,proto3" json:"phone_number,omitempty"`
187	// The business name in the ad.
188	BusinessName *wrappers.StringValue `protobuf:"bytes,3,opt,name=business_name,json=businessName,proto3" json:"business_name,omitempty"`
189	// First headline in the ad.
190	Headline1 *wrappers.StringValue `protobuf:"bytes,11,opt,name=headline1,proto3" json:"headline1,omitempty"`
191	// Second headline in the ad.
192	Headline2 *wrappers.StringValue `protobuf:"bytes,12,opt,name=headline2,proto3" json:"headline2,omitempty"`
193	// The first line of the ad's description.
194	Description1 *wrappers.StringValue `protobuf:"bytes,4,opt,name=description1,proto3" json:"description1,omitempty"`
195	// The second line of the ad's description.
196	Description2 *wrappers.StringValue `protobuf:"bytes,5,opt,name=description2,proto3" json:"description2,omitempty"`
197	// Whether to enable call tracking for the creative. Enabling call
198	// tracking also enables call conversions.
199	CallTracked *wrappers.BoolValue `protobuf:"bytes,6,opt,name=call_tracked,json=callTracked,proto3" json:"call_tracked,omitempty"`
200	// Whether to disable call conversion for the creative.
201	// If set to `true`, disables call conversions even when `call_tracked` is
202	// `true`.
203	// If `call_tracked` is `false`, this field is ignored.
204	DisableCallConversion *wrappers.BoolValue `protobuf:"bytes,7,opt,name=disable_call_conversion,json=disableCallConversion,proto3" json:"disable_call_conversion,omitempty"`
205	// The URL to be used for phone number verification.
206	PhoneNumberVerificationUrl *wrappers.StringValue `protobuf:"bytes,8,opt,name=phone_number_verification_url,json=phoneNumberVerificationUrl,proto3" json:"phone_number_verification_url,omitempty"`
207	// The conversion action to attribute a call conversion to. If not set a
208	// default conversion action is used. This field only has effect if
209	// call_tracked is set to true. Otherwise this field is ignored.
210	ConversionAction *wrappers.StringValue `protobuf:"bytes,9,opt,name=conversion_action,json=conversionAction,proto3" json:"conversion_action,omitempty"`
211	// The call conversion behavior of this call only ad. It can use its own call
212	// conversion setting, inherit the account level setting, or be disabled.
213	ConversionReportingState enums.CallConversionReportingStateEnum_CallConversionReportingState `protobuf:"varint,10,opt,name=conversion_reporting_state,json=conversionReportingState,proto3,enum=google.ads.googleads.v2.enums.CallConversionReportingStateEnum_CallConversionReportingState" json:"conversion_reporting_state,omitempty"`
214	XXX_NoUnkeyedLiteral     struct{}                                                            `json:"-"`
215	XXX_unrecognized         []byte                                                              `json:"-"`
216	XXX_sizecache            int32                                                               `json:"-"`
217}
218
219func (m *CallOnlyAdInfo) Reset()         { *m = CallOnlyAdInfo{} }
220func (m *CallOnlyAdInfo) String() string { return proto.CompactTextString(m) }
221func (*CallOnlyAdInfo) ProtoMessage()    {}
222func (*CallOnlyAdInfo) Descriptor() ([]byte, []int) {
223	return fileDescriptor_7b1cab7fbeab5508, []int{2}
224}
225
226func (m *CallOnlyAdInfo) XXX_Unmarshal(b []byte) error {
227	return xxx_messageInfo_CallOnlyAdInfo.Unmarshal(m, b)
228}
229func (m *CallOnlyAdInfo) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
230	return xxx_messageInfo_CallOnlyAdInfo.Marshal(b, m, deterministic)
231}
232func (m *CallOnlyAdInfo) XXX_Merge(src proto.Message) {
233	xxx_messageInfo_CallOnlyAdInfo.Merge(m, src)
234}
235func (m *CallOnlyAdInfo) XXX_Size() int {
236	return xxx_messageInfo_CallOnlyAdInfo.Size(m)
237}
238func (m *CallOnlyAdInfo) XXX_DiscardUnknown() {
239	xxx_messageInfo_CallOnlyAdInfo.DiscardUnknown(m)
240}
241
242var xxx_messageInfo_CallOnlyAdInfo proto.InternalMessageInfo
243
244func (m *CallOnlyAdInfo) GetCountryCode() *wrappers.StringValue {
245	if m != nil {
246		return m.CountryCode
247	}
248	return nil
249}
250
251func (m *CallOnlyAdInfo) GetPhoneNumber() *wrappers.StringValue {
252	if m != nil {
253		return m.PhoneNumber
254	}
255	return nil
256}
257
258func (m *CallOnlyAdInfo) GetBusinessName() *wrappers.StringValue {
259	if m != nil {
260		return m.BusinessName
261	}
262	return nil
263}
264
265func (m *CallOnlyAdInfo) GetHeadline1() *wrappers.StringValue {
266	if m != nil {
267		return m.Headline1
268	}
269	return nil
270}
271
272func (m *CallOnlyAdInfo) GetHeadline2() *wrappers.StringValue {
273	if m != nil {
274		return m.Headline2
275	}
276	return nil
277}
278
279func (m *CallOnlyAdInfo) GetDescription1() *wrappers.StringValue {
280	if m != nil {
281		return m.Description1
282	}
283	return nil
284}
285
286func (m *CallOnlyAdInfo) GetDescription2() *wrappers.StringValue {
287	if m != nil {
288		return m.Description2
289	}
290	return nil
291}
292
293func (m *CallOnlyAdInfo) GetCallTracked() *wrappers.BoolValue {
294	if m != nil {
295		return m.CallTracked
296	}
297	return nil
298}
299
300func (m *CallOnlyAdInfo) GetDisableCallConversion() *wrappers.BoolValue {
301	if m != nil {
302		return m.DisableCallConversion
303	}
304	return nil
305}
306
307func (m *CallOnlyAdInfo) GetPhoneNumberVerificationUrl() *wrappers.StringValue {
308	if m != nil {
309		return m.PhoneNumberVerificationUrl
310	}
311	return nil
312}
313
314func (m *CallOnlyAdInfo) GetConversionAction() *wrappers.StringValue {
315	if m != nil {
316		return m.ConversionAction
317	}
318	return nil
319}
320
321func (m *CallOnlyAdInfo) GetConversionReportingState() enums.CallConversionReportingStateEnum_CallConversionReportingState {
322	if m != nil {
323		return m.ConversionReportingState
324	}
325	return enums.CallConversionReportingStateEnum_UNSPECIFIED
326}
327
328// An expanded dynamic search ad.
329type ExpandedDynamicSearchAdInfo struct {
330	// The description of the ad.
331	Description          *wrappers.StringValue `protobuf:"bytes,1,opt,name=description,proto3" json:"description,omitempty"`
332	XXX_NoUnkeyedLiteral struct{}              `json:"-"`
333	XXX_unrecognized     []byte                `json:"-"`
334	XXX_sizecache        int32                 `json:"-"`
335}
336
337func (m *ExpandedDynamicSearchAdInfo) Reset()         { *m = ExpandedDynamicSearchAdInfo{} }
338func (m *ExpandedDynamicSearchAdInfo) String() string { return proto.CompactTextString(m) }
339func (*ExpandedDynamicSearchAdInfo) ProtoMessage()    {}
340func (*ExpandedDynamicSearchAdInfo) Descriptor() ([]byte, []int) {
341	return fileDescriptor_7b1cab7fbeab5508, []int{3}
342}
343
344func (m *ExpandedDynamicSearchAdInfo) XXX_Unmarshal(b []byte) error {
345	return xxx_messageInfo_ExpandedDynamicSearchAdInfo.Unmarshal(m, b)
346}
347func (m *ExpandedDynamicSearchAdInfo) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
348	return xxx_messageInfo_ExpandedDynamicSearchAdInfo.Marshal(b, m, deterministic)
349}
350func (m *ExpandedDynamicSearchAdInfo) XXX_Merge(src proto.Message) {
351	xxx_messageInfo_ExpandedDynamicSearchAdInfo.Merge(m, src)
352}
353func (m *ExpandedDynamicSearchAdInfo) XXX_Size() int {
354	return xxx_messageInfo_ExpandedDynamicSearchAdInfo.Size(m)
355}
356func (m *ExpandedDynamicSearchAdInfo) XXX_DiscardUnknown() {
357	xxx_messageInfo_ExpandedDynamicSearchAdInfo.DiscardUnknown(m)
358}
359
360var xxx_messageInfo_ExpandedDynamicSearchAdInfo proto.InternalMessageInfo
361
362func (m *ExpandedDynamicSearchAdInfo) GetDescription() *wrappers.StringValue {
363	if m != nil {
364		return m.Description
365	}
366	return nil
367}
368
369// A hotel ad.
370type HotelAdInfo struct {
371	XXX_NoUnkeyedLiteral struct{} `json:"-"`
372	XXX_unrecognized     []byte   `json:"-"`
373	XXX_sizecache        int32    `json:"-"`
374}
375
376func (m *HotelAdInfo) Reset()         { *m = HotelAdInfo{} }
377func (m *HotelAdInfo) String() string { return proto.CompactTextString(m) }
378func (*HotelAdInfo) ProtoMessage()    {}
379func (*HotelAdInfo) Descriptor() ([]byte, []int) {
380	return fileDescriptor_7b1cab7fbeab5508, []int{4}
381}
382
383func (m *HotelAdInfo) XXX_Unmarshal(b []byte) error {
384	return xxx_messageInfo_HotelAdInfo.Unmarshal(m, b)
385}
386func (m *HotelAdInfo) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
387	return xxx_messageInfo_HotelAdInfo.Marshal(b, m, deterministic)
388}
389func (m *HotelAdInfo) XXX_Merge(src proto.Message) {
390	xxx_messageInfo_HotelAdInfo.Merge(m, src)
391}
392func (m *HotelAdInfo) XXX_Size() int {
393	return xxx_messageInfo_HotelAdInfo.Size(m)
394}
395func (m *HotelAdInfo) XXX_DiscardUnknown() {
396	xxx_messageInfo_HotelAdInfo.DiscardUnknown(m)
397}
398
399var xxx_messageInfo_HotelAdInfo proto.InternalMessageInfo
400
401// A Smart Shopping ad.
402type ShoppingSmartAdInfo struct {
403	XXX_NoUnkeyedLiteral struct{} `json:"-"`
404	XXX_unrecognized     []byte   `json:"-"`
405	XXX_sizecache        int32    `json:"-"`
406}
407
408func (m *ShoppingSmartAdInfo) Reset()         { *m = ShoppingSmartAdInfo{} }
409func (m *ShoppingSmartAdInfo) String() string { return proto.CompactTextString(m) }
410func (*ShoppingSmartAdInfo) ProtoMessage()    {}
411func (*ShoppingSmartAdInfo) Descriptor() ([]byte, []int) {
412	return fileDescriptor_7b1cab7fbeab5508, []int{5}
413}
414
415func (m *ShoppingSmartAdInfo) XXX_Unmarshal(b []byte) error {
416	return xxx_messageInfo_ShoppingSmartAdInfo.Unmarshal(m, b)
417}
418func (m *ShoppingSmartAdInfo) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
419	return xxx_messageInfo_ShoppingSmartAdInfo.Marshal(b, m, deterministic)
420}
421func (m *ShoppingSmartAdInfo) XXX_Merge(src proto.Message) {
422	xxx_messageInfo_ShoppingSmartAdInfo.Merge(m, src)
423}
424func (m *ShoppingSmartAdInfo) XXX_Size() int {
425	return xxx_messageInfo_ShoppingSmartAdInfo.Size(m)
426}
427func (m *ShoppingSmartAdInfo) XXX_DiscardUnknown() {
428	xxx_messageInfo_ShoppingSmartAdInfo.DiscardUnknown(m)
429}
430
431var xxx_messageInfo_ShoppingSmartAdInfo proto.InternalMessageInfo
432
433// A standard Shopping ad.
434type ShoppingProductAdInfo struct {
435	XXX_NoUnkeyedLiteral struct{} `json:"-"`
436	XXX_unrecognized     []byte   `json:"-"`
437	XXX_sizecache        int32    `json:"-"`
438}
439
440func (m *ShoppingProductAdInfo) Reset()         { *m = ShoppingProductAdInfo{} }
441func (m *ShoppingProductAdInfo) String() string { return proto.CompactTextString(m) }
442func (*ShoppingProductAdInfo) ProtoMessage()    {}
443func (*ShoppingProductAdInfo) Descriptor() ([]byte, []int) {
444	return fileDescriptor_7b1cab7fbeab5508, []int{6}
445}
446
447func (m *ShoppingProductAdInfo) XXX_Unmarshal(b []byte) error {
448	return xxx_messageInfo_ShoppingProductAdInfo.Unmarshal(m, b)
449}
450func (m *ShoppingProductAdInfo) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
451	return xxx_messageInfo_ShoppingProductAdInfo.Marshal(b, m, deterministic)
452}
453func (m *ShoppingProductAdInfo) XXX_Merge(src proto.Message) {
454	xxx_messageInfo_ShoppingProductAdInfo.Merge(m, src)
455}
456func (m *ShoppingProductAdInfo) XXX_Size() int {
457	return xxx_messageInfo_ShoppingProductAdInfo.Size(m)
458}
459func (m *ShoppingProductAdInfo) XXX_DiscardUnknown() {
460	xxx_messageInfo_ShoppingProductAdInfo.DiscardUnknown(m)
461}
462
463var xxx_messageInfo_ShoppingProductAdInfo proto.InternalMessageInfo
464
465// A Shopping Comparison Listing ad.
466type ShoppingComparisonListingAdInfo struct {
467	// Headline of the ad. This field is required. Allowed length is between 25
468	// and 45 characters.
469	Headline             *wrappers.StringValue `protobuf:"bytes,1,opt,name=headline,proto3" json:"headline,omitempty"`
470	XXX_NoUnkeyedLiteral struct{}              `json:"-"`
471	XXX_unrecognized     []byte                `json:"-"`
472	XXX_sizecache        int32                 `json:"-"`
473}
474
475func (m *ShoppingComparisonListingAdInfo) Reset()         { *m = ShoppingComparisonListingAdInfo{} }
476func (m *ShoppingComparisonListingAdInfo) String() string { return proto.CompactTextString(m) }
477func (*ShoppingComparisonListingAdInfo) ProtoMessage()    {}
478func (*ShoppingComparisonListingAdInfo) Descriptor() ([]byte, []int) {
479	return fileDescriptor_7b1cab7fbeab5508, []int{7}
480}
481
482func (m *ShoppingComparisonListingAdInfo) XXX_Unmarshal(b []byte) error {
483	return xxx_messageInfo_ShoppingComparisonListingAdInfo.Unmarshal(m, b)
484}
485func (m *ShoppingComparisonListingAdInfo) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
486	return xxx_messageInfo_ShoppingComparisonListingAdInfo.Marshal(b, m, deterministic)
487}
488func (m *ShoppingComparisonListingAdInfo) XXX_Merge(src proto.Message) {
489	xxx_messageInfo_ShoppingComparisonListingAdInfo.Merge(m, src)
490}
491func (m *ShoppingComparisonListingAdInfo) XXX_Size() int {
492	return xxx_messageInfo_ShoppingComparisonListingAdInfo.Size(m)
493}
494func (m *ShoppingComparisonListingAdInfo) XXX_DiscardUnknown() {
495	xxx_messageInfo_ShoppingComparisonListingAdInfo.DiscardUnknown(m)
496}
497
498var xxx_messageInfo_ShoppingComparisonListingAdInfo proto.InternalMessageInfo
499
500func (m *ShoppingComparisonListingAdInfo) GetHeadline() *wrappers.StringValue {
501	if m != nil {
502		return m.Headline
503	}
504	return nil
505}
506
507// A Gmail ad.
508type GmailAdInfo struct {
509	// The Gmail teaser.
510	Teaser *GmailTeaser `protobuf:"bytes,1,opt,name=teaser,proto3" json:"teaser,omitempty"`
511	// The MediaFile resource name of the header image. Valid image types are GIF,
512	// JPEG and PNG. The minimum size is 300x100 pixels and the aspect ratio must
513	// be between 3:1 and 5:1 (+-1%).
514	HeaderImage *wrappers.StringValue `protobuf:"bytes,2,opt,name=header_image,json=headerImage,proto3" json:"header_image,omitempty"`
515	// The MediaFile resource name of the marketing image. Valid image types are
516	// GIF, JPEG and PNG. The image must either be landscape with a minimum size
517	// of 600x314 pixels and aspect ratio of 600:314 (+-1%) or square with a
518	// minimum size of 300x300 pixels and aspect ratio of 1:1 (+-1%)
519	MarketingImage *wrappers.StringValue `protobuf:"bytes,3,opt,name=marketing_image,json=marketingImage,proto3" json:"marketing_image,omitempty"`
520	// Headline of the marketing image.
521	MarketingImageHeadline *wrappers.StringValue `protobuf:"bytes,4,opt,name=marketing_image_headline,json=marketingImageHeadline,proto3" json:"marketing_image_headline,omitempty"`
522	// Description of the marketing image.
523	MarketingImageDescription *wrappers.StringValue `protobuf:"bytes,5,opt,name=marketing_image_description,json=marketingImageDescription,proto3" json:"marketing_image_description,omitempty"`
524	// Display-call-to-action of the marketing image.
525	MarketingImageDisplayCallToAction *DisplayCallToAction `protobuf:"bytes,6,opt,name=marketing_image_display_call_to_action,json=marketingImageDisplayCallToAction,proto3" json:"marketing_image_display_call_to_action,omitempty"`
526	// Product images. Up to 15 images are supported.
527	ProductImages []*ProductImage `protobuf:"bytes,7,rep,name=product_images,json=productImages,proto3" json:"product_images,omitempty"`
528	// Product videos. Up to 7 videos are supported. At least one product video
529	// or a marketing image must be specified.
530	ProductVideos        []*ProductVideo `protobuf:"bytes,8,rep,name=product_videos,json=productVideos,proto3" json:"product_videos,omitempty"`
531	XXX_NoUnkeyedLiteral struct{}        `json:"-"`
532	XXX_unrecognized     []byte          `json:"-"`
533	XXX_sizecache        int32           `json:"-"`
534}
535
536func (m *GmailAdInfo) Reset()         { *m = GmailAdInfo{} }
537func (m *GmailAdInfo) String() string { return proto.CompactTextString(m) }
538func (*GmailAdInfo) ProtoMessage()    {}
539func (*GmailAdInfo) Descriptor() ([]byte, []int) {
540	return fileDescriptor_7b1cab7fbeab5508, []int{8}
541}
542
543func (m *GmailAdInfo) XXX_Unmarshal(b []byte) error {
544	return xxx_messageInfo_GmailAdInfo.Unmarshal(m, b)
545}
546func (m *GmailAdInfo) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
547	return xxx_messageInfo_GmailAdInfo.Marshal(b, m, deterministic)
548}
549func (m *GmailAdInfo) XXX_Merge(src proto.Message) {
550	xxx_messageInfo_GmailAdInfo.Merge(m, src)
551}
552func (m *GmailAdInfo) XXX_Size() int {
553	return xxx_messageInfo_GmailAdInfo.Size(m)
554}
555func (m *GmailAdInfo) XXX_DiscardUnknown() {
556	xxx_messageInfo_GmailAdInfo.DiscardUnknown(m)
557}
558
559var xxx_messageInfo_GmailAdInfo proto.InternalMessageInfo
560
561func (m *GmailAdInfo) GetTeaser() *GmailTeaser {
562	if m != nil {
563		return m.Teaser
564	}
565	return nil
566}
567
568func (m *GmailAdInfo) GetHeaderImage() *wrappers.StringValue {
569	if m != nil {
570		return m.HeaderImage
571	}
572	return nil
573}
574
575func (m *GmailAdInfo) GetMarketingImage() *wrappers.StringValue {
576	if m != nil {
577		return m.MarketingImage
578	}
579	return nil
580}
581
582func (m *GmailAdInfo) GetMarketingImageHeadline() *wrappers.StringValue {
583	if m != nil {
584		return m.MarketingImageHeadline
585	}
586	return nil
587}
588
589func (m *GmailAdInfo) GetMarketingImageDescription() *wrappers.StringValue {
590	if m != nil {
591		return m.MarketingImageDescription
592	}
593	return nil
594}
595
596func (m *GmailAdInfo) GetMarketingImageDisplayCallToAction() *DisplayCallToAction {
597	if m != nil {
598		return m.MarketingImageDisplayCallToAction
599	}
600	return nil
601}
602
603func (m *GmailAdInfo) GetProductImages() []*ProductImage {
604	if m != nil {
605		return m.ProductImages
606	}
607	return nil
608}
609
610func (m *GmailAdInfo) GetProductVideos() []*ProductVideo {
611	if m != nil {
612		return m.ProductVideos
613	}
614	return nil
615}
616
617// Gmail teaser data. The teaser is a small header that acts as an invitation
618// to view the rest of the ad (the body).
619type GmailTeaser struct {
620	// Headline of the teaser.
621	Headline *wrappers.StringValue `protobuf:"bytes,1,opt,name=headline,proto3" json:"headline,omitempty"`
622	// Description of the teaser.
623	Description *wrappers.StringValue `protobuf:"bytes,2,opt,name=description,proto3" json:"description,omitempty"`
624	// Business name of the advertiser.
625	BusinessName *wrappers.StringValue `protobuf:"bytes,3,opt,name=business_name,json=businessName,proto3" json:"business_name,omitempty"`
626	// The MediaFile resource name of the logo image. Valid image types are GIF,
627	// JPEG and PNG. The minimum size is 144x144 pixels and the aspect ratio must
628	// be 1:1 (+-1%).
629	LogoImage            *wrappers.StringValue `protobuf:"bytes,4,opt,name=logo_image,json=logoImage,proto3" json:"logo_image,omitempty"`
630	XXX_NoUnkeyedLiteral struct{}              `json:"-"`
631	XXX_unrecognized     []byte                `json:"-"`
632	XXX_sizecache        int32                 `json:"-"`
633}
634
635func (m *GmailTeaser) Reset()         { *m = GmailTeaser{} }
636func (m *GmailTeaser) String() string { return proto.CompactTextString(m) }
637func (*GmailTeaser) ProtoMessage()    {}
638func (*GmailTeaser) Descriptor() ([]byte, []int) {
639	return fileDescriptor_7b1cab7fbeab5508, []int{9}
640}
641
642func (m *GmailTeaser) XXX_Unmarshal(b []byte) error {
643	return xxx_messageInfo_GmailTeaser.Unmarshal(m, b)
644}
645func (m *GmailTeaser) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
646	return xxx_messageInfo_GmailTeaser.Marshal(b, m, deterministic)
647}
648func (m *GmailTeaser) XXX_Merge(src proto.Message) {
649	xxx_messageInfo_GmailTeaser.Merge(m, src)
650}
651func (m *GmailTeaser) XXX_Size() int {
652	return xxx_messageInfo_GmailTeaser.Size(m)
653}
654func (m *GmailTeaser) XXX_DiscardUnknown() {
655	xxx_messageInfo_GmailTeaser.DiscardUnknown(m)
656}
657
658var xxx_messageInfo_GmailTeaser proto.InternalMessageInfo
659
660func (m *GmailTeaser) GetHeadline() *wrappers.StringValue {
661	if m != nil {
662		return m.Headline
663	}
664	return nil
665}
666
667func (m *GmailTeaser) GetDescription() *wrappers.StringValue {
668	if m != nil {
669		return m.Description
670	}
671	return nil
672}
673
674func (m *GmailTeaser) GetBusinessName() *wrappers.StringValue {
675	if m != nil {
676		return m.BusinessName
677	}
678	return nil
679}
680
681func (m *GmailTeaser) GetLogoImage() *wrappers.StringValue {
682	if m != nil {
683		return m.LogoImage
684	}
685	return nil
686}
687
688// Data for display call to action. The call to action is a piece of the ad
689// that prompts the user to do something. Like clicking a link or making a phone
690// call.
691type DisplayCallToAction struct {
692	// Text for the display-call-to-action.
693	Text *wrappers.StringValue `protobuf:"bytes,1,opt,name=text,proto3" json:"text,omitempty"`
694	// Text color for the display-call-to-action in hexadecimal, e.g. #ffffff for
695	// white.
696	TextColor *wrappers.StringValue `protobuf:"bytes,2,opt,name=text_color,json=textColor,proto3" json:"text_color,omitempty"`
697	// Identifies the url collection in the ad.url_collections field. If not set
698	// the url defaults to final_url.
699	UrlCollectionId      *wrappers.StringValue `protobuf:"bytes,3,opt,name=url_collection_id,json=urlCollectionId,proto3" json:"url_collection_id,omitempty"`
700	XXX_NoUnkeyedLiteral struct{}              `json:"-"`
701	XXX_unrecognized     []byte                `json:"-"`
702	XXX_sizecache        int32                 `json:"-"`
703}
704
705func (m *DisplayCallToAction) Reset()         { *m = DisplayCallToAction{} }
706func (m *DisplayCallToAction) String() string { return proto.CompactTextString(m) }
707func (*DisplayCallToAction) ProtoMessage()    {}
708func (*DisplayCallToAction) Descriptor() ([]byte, []int) {
709	return fileDescriptor_7b1cab7fbeab5508, []int{10}
710}
711
712func (m *DisplayCallToAction) XXX_Unmarshal(b []byte) error {
713	return xxx_messageInfo_DisplayCallToAction.Unmarshal(m, b)
714}
715func (m *DisplayCallToAction) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
716	return xxx_messageInfo_DisplayCallToAction.Marshal(b, m, deterministic)
717}
718func (m *DisplayCallToAction) XXX_Merge(src proto.Message) {
719	xxx_messageInfo_DisplayCallToAction.Merge(m, src)
720}
721func (m *DisplayCallToAction) XXX_Size() int {
722	return xxx_messageInfo_DisplayCallToAction.Size(m)
723}
724func (m *DisplayCallToAction) XXX_DiscardUnknown() {
725	xxx_messageInfo_DisplayCallToAction.DiscardUnknown(m)
726}
727
728var xxx_messageInfo_DisplayCallToAction proto.InternalMessageInfo
729
730func (m *DisplayCallToAction) GetText() *wrappers.StringValue {
731	if m != nil {
732		return m.Text
733	}
734	return nil
735}
736
737func (m *DisplayCallToAction) GetTextColor() *wrappers.StringValue {
738	if m != nil {
739		return m.TextColor
740	}
741	return nil
742}
743
744func (m *DisplayCallToAction) GetUrlCollectionId() *wrappers.StringValue {
745	if m != nil {
746		return m.UrlCollectionId
747	}
748	return nil
749}
750
751// Product image specific data.
752type ProductImage struct {
753	// The MediaFile resource name of the product image. Valid image types are
754	// GIF, JPEG and PNG. The minimum size is 300x300 pixels and the aspect ratio
755	// must be 1:1 (+-1%).
756	ProductImage *wrappers.StringValue `protobuf:"bytes,1,opt,name=product_image,json=productImage,proto3" json:"product_image,omitempty"`
757	// Description of the product.
758	Description *wrappers.StringValue `protobuf:"bytes,2,opt,name=description,proto3" json:"description,omitempty"`
759	// Display-call-to-action of the product image.
760	DisplayCallToAction  *DisplayCallToAction `protobuf:"bytes,3,opt,name=display_call_to_action,json=displayCallToAction,proto3" json:"display_call_to_action,omitempty"`
761	XXX_NoUnkeyedLiteral struct{}             `json:"-"`
762	XXX_unrecognized     []byte               `json:"-"`
763	XXX_sizecache        int32                `json:"-"`
764}
765
766func (m *ProductImage) Reset()         { *m = ProductImage{} }
767func (m *ProductImage) String() string { return proto.CompactTextString(m) }
768func (*ProductImage) ProtoMessage()    {}
769func (*ProductImage) Descriptor() ([]byte, []int) {
770	return fileDescriptor_7b1cab7fbeab5508, []int{11}
771}
772
773func (m *ProductImage) XXX_Unmarshal(b []byte) error {
774	return xxx_messageInfo_ProductImage.Unmarshal(m, b)
775}
776func (m *ProductImage) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
777	return xxx_messageInfo_ProductImage.Marshal(b, m, deterministic)
778}
779func (m *ProductImage) XXX_Merge(src proto.Message) {
780	xxx_messageInfo_ProductImage.Merge(m, src)
781}
782func (m *ProductImage) XXX_Size() int {
783	return xxx_messageInfo_ProductImage.Size(m)
784}
785func (m *ProductImage) XXX_DiscardUnknown() {
786	xxx_messageInfo_ProductImage.DiscardUnknown(m)
787}
788
789var xxx_messageInfo_ProductImage proto.InternalMessageInfo
790
791func (m *ProductImage) GetProductImage() *wrappers.StringValue {
792	if m != nil {
793		return m.ProductImage
794	}
795	return nil
796}
797
798func (m *ProductImage) GetDescription() *wrappers.StringValue {
799	if m != nil {
800		return m.Description
801	}
802	return nil
803}
804
805func (m *ProductImage) GetDisplayCallToAction() *DisplayCallToAction {
806	if m != nil {
807		return m.DisplayCallToAction
808	}
809	return nil
810}
811
812// Product video specific data.
813type ProductVideo struct {
814	// The MediaFile resource name of a video which must be hosted on YouTube.
815	ProductVideo         *wrappers.StringValue `protobuf:"bytes,1,opt,name=product_video,json=productVideo,proto3" json:"product_video,omitempty"`
816	XXX_NoUnkeyedLiteral struct{}              `json:"-"`
817	XXX_unrecognized     []byte                `json:"-"`
818	XXX_sizecache        int32                 `json:"-"`
819}
820
821func (m *ProductVideo) Reset()         { *m = ProductVideo{} }
822func (m *ProductVideo) String() string { return proto.CompactTextString(m) }
823func (*ProductVideo) ProtoMessage()    {}
824func (*ProductVideo) Descriptor() ([]byte, []int) {
825	return fileDescriptor_7b1cab7fbeab5508, []int{12}
826}
827
828func (m *ProductVideo) XXX_Unmarshal(b []byte) error {
829	return xxx_messageInfo_ProductVideo.Unmarshal(m, b)
830}
831func (m *ProductVideo) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
832	return xxx_messageInfo_ProductVideo.Marshal(b, m, deterministic)
833}
834func (m *ProductVideo) XXX_Merge(src proto.Message) {
835	xxx_messageInfo_ProductVideo.Merge(m, src)
836}
837func (m *ProductVideo) XXX_Size() int {
838	return xxx_messageInfo_ProductVideo.Size(m)
839}
840func (m *ProductVideo) XXX_DiscardUnknown() {
841	xxx_messageInfo_ProductVideo.DiscardUnknown(m)
842}
843
844var xxx_messageInfo_ProductVideo proto.InternalMessageInfo
845
846func (m *ProductVideo) GetProductVideo() *wrappers.StringValue {
847	if m != nil {
848		return m.ProductVideo
849	}
850	return nil
851}
852
853// An image ad.
854type ImageAdInfo struct {
855	// Width in pixels of the full size image.
856	PixelWidth *wrappers.Int64Value `protobuf:"bytes,4,opt,name=pixel_width,json=pixelWidth,proto3" json:"pixel_width,omitempty"`
857	// Height in pixels of the full size image.
858	PixelHeight *wrappers.Int64Value `protobuf:"bytes,5,opt,name=pixel_height,json=pixelHeight,proto3" json:"pixel_height,omitempty"`
859	// URL of the full size image.
860	ImageUrl *wrappers.StringValue `protobuf:"bytes,6,opt,name=image_url,json=imageUrl,proto3" json:"image_url,omitempty"`
861	// Width in pixels of the preview size image.
862	PreviewPixelWidth *wrappers.Int64Value `protobuf:"bytes,7,opt,name=preview_pixel_width,json=previewPixelWidth,proto3" json:"preview_pixel_width,omitempty"`
863	// Height in pixels of the preview size image.
864	PreviewPixelHeight *wrappers.Int64Value `protobuf:"bytes,8,opt,name=preview_pixel_height,json=previewPixelHeight,proto3" json:"preview_pixel_height,omitempty"`
865	// URL of the preview size image.
866	PreviewImageUrl *wrappers.StringValue `protobuf:"bytes,9,opt,name=preview_image_url,json=previewImageUrl,proto3" json:"preview_image_url,omitempty"`
867	// The mime type of the image.
868	MimeType enums.MimeTypeEnum_MimeType `protobuf:"varint,10,opt,name=mime_type,json=mimeType,proto3,enum=google.ads.googleads.v2.enums.MimeTypeEnum_MimeType" json:"mime_type,omitempty"`
869	// The name of the image. If the image was created from a MediaFile, this is
870	// the MediaFile's name. If the image was created from bytes, this is empty.
871	Name *wrappers.StringValue `protobuf:"bytes,11,opt,name=name,proto3" json:"name,omitempty"`
872	// The image to create the ImageAd from. This can be specified in one of
873	// two ways.
874	// 1. An existing MediaFile resource.
875	// 2. The raw image data as bytes.
876	//
877	// Types that are valid to be assigned to Image:
878	//	*ImageAdInfo_MediaFile
879	//	*ImageAdInfo_Data
880	//	*ImageAdInfo_AdIdToCopyImageFrom
881	Image                isImageAdInfo_Image `protobuf_oneof:"image"`
882	XXX_NoUnkeyedLiteral struct{}            `json:"-"`
883	XXX_unrecognized     []byte              `json:"-"`
884	XXX_sizecache        int32               `json:"-"`
885}
886
887func (m *ImageAdInfo) Reset()         { *m = ImageAdInfo{} }
888func (m *ImageAdInfo) String() string { return proto.CompactTextString(m) }
889func (*ImageAdInfo) ProtoMessage()    {}
890func (*ImageAdInfo) Descriptor() ([]byte, []int) {
891	return fileDescriptor_7b1cab7fbeab5508, []int{13}
892}
893
894func (m *ImageAdInfo) XXX_Unmarshal(b []byte) error {
895	return xxx_messageInfo_ImageAdInfo.Unmarshal(m, b)
896}
897func (m *ImageAdInfo) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
898	return xxx_messageInfo_ImageAdInfo.Marshal(b, m, deterministic)
899}
900func (m *ImageAdInfo) XXX_Merge(src proto.Message) {
901	xxx_messageInfo_ImageAdInfo.Merge(m, src)
902}
903func (m *ImageAdInfo) XXX_Size() int {
904	return xxx_messageInfo_ImageAdInfo.Size(m)
905}
906func (m *ImageAdInfo) XXX_DiscardUnknown() {
907	xxx_messageInfo_ImageAdInfo.DiscardUnknown(m)
908}
909
910var xxx_messageInfo_ImageAdInfo proto.InternalMessageInfo
911
912func (m *ImageAdInfo) GetPixelWidth() *wrappers.Int64Value {
913	if m != nil {
914		return m.PixelWidth
915	}
916	return nil
917}
918
919func (m *ImageAdInfo) GetPixelHeight() *wrappers.Int64Value {
920	if m != nil {
921		return m.PixelHeight
922	}
923	return nil
924}
925
926func (m *ImageAdInfo) GetImageUrl() *wrappers.StringValue {
927	if m != nil {
928		return m.ImageUrl
929	}
930	return nil
931}
932
933func (m *ImageAdInfo) GetPreviewPixelWidth() *wrappers.Int64Value {
934	if m != nil {
935		return m.PreviewPixelWidth
936	}
937	return nil
938}
939
940func (m *ImageAdInfo) GetPreviewPixelHeight() *wrappers.Int64Value {
941	if m != nil {
942		return m.PreviewPixelHeight
943	}
944	return nil
945}
946
947func (m *ImageAdInfo) GetPreviewImageUrl() *wrappers.StringValue {
948	if m != nil {
949		return m.PreviewImageUrl
950	}
951	return nil
952}
953
954func (m *ImageAdInfo) GetMimeType() enums.MimeTypeEnum_MimeType {
955	if m != nil {
956		return m.MimeType
957	}
958	return enums.MimeTypeEnum_UNSPECIFIED
959}
960
961func (m *ImageAdInfo) GetName() *wrappers.StringValue {
962	if m != nil {
963		return m.Name
964	}
965	return nil
966}
967
968type isImageAdInfo_Image interface {
969	isImageAdInfo_Image()
970}
971
972type ImageAdInfo_MediaFile struct {
973	MediaFile *wrappers.StringValue `protobuf:"bytes,1,opt,name=media_file,json=mediaFile,proto3,oneof"`
974}
975
976type ImageAdInfo_Data struct {
977	Data *wrappers.BytesValue `protobuf:"bytes,2,opt,name=data,proto3,oneof"`
978}
979
980type ImageAdInfo_AdIdToCopyImageFrom struct {
981	AdIdToCopyImageFrom *wrappers.Int64Value `protobuf:"bytes,3,opt,name=ad_id_to_copy_image_from,json=adIdToCopyImageFrom,proto3,oneof"`
982}
983
984func (*ImageAdInfo_MediaFile) isImageAdInfo_Image() {}
985
986func (*ImageAdInfo_Data) isImageAdInfo_Image() {}
987
988func (*ImageAdInfo_AdIdToCopyImageFrom) isImageAdInfo_Image() {}
989
990func (m *ImageAdInfo) GetImage() isImageAdInfo_Image {
991	if m != nil {
992		return m.Image
993	}
994	return nil
995}
996
997func (m *ImageAdInfo) GetMediaFile() *wrappers.StringValue {
998	if x, ok := m.GetImage().(*ImageAdInfo_MediaFile); ok {
999		return x.MediaFile
1000	}
1001	return nil
1002}
1003
1004func (m *ImageAdInfo) GetData() *wrappers.BytesValue {
1005	if x, ok := m.GetImage().(*ImageAdInfo_Data); ok {
1006		return x.Data
1007	}
1008	return nil
1009}
1010
1011func (m *ImageAdInfo) GetAdIdToCopyImageFrom() *wrappers.Int64Value {
1012	if x, ok := m.GetImage().(*ImageAdInfo_AdIdToCopyImageFrom); ok {
1013		return x.AdIdToCopyImageFrom
1014	}
1015	return nil
1016}
1017
1018// XXX_OneofWrappers is for the internal use of the proto package.
1019func (*ImageAdInfo) XXX_OneofWrappers() []interface{} {
1020	return []interface{}{
1021		(*ImageAdInfo_MediaFile)(nil),
1022		(*ImageAdInfo_Data)(nil),
1023		(*ImageAdInfo_AdIdToCopyImageFrom)(nil),
1024	}
1025}
1026
1027// Representation of video bumper in-stream ad format (very short in-stream
1028// non-skippable video ad).
1029type VideoBumperInStreamAdInfo struct {
1030	// The MediaFile resource name of the companion banner used with the ad.
1031	CompanionBanner      *wrappers.StringValue `protobuf:"bytes,1,opt,name=companion_banner,json=companionBanner,proto3" json:"companion_banner,omitempty"`
1032	XXX_NoUnkeyedLiteral struct{}              `json:"-"`
1033	XXX_unrecognized     []byte                `json:"-"`
1034	XXX_sizecache        int32                 `json:"-"`
1035}
1036
1037func (m *VideoBumperInStreamAdInfo) Reset()         { *m = VideoBumperInStreamAdInfo{} }
1038func (m *VideoBumperInStreamAdInfo) String() string { return proto.CompactTextString(m) }
1039func (*VideoBumperInStreamAdInfo) ProtoMessage()    {}
1040func (*VideoBumperInStreamAdInfo) Descriptor() ([]byte, []int) {
1041	return fileDescriptor_7b1cab7fbeab5508, []int{14}
1042}
1043
1044func (m *VideoBumperInStreamAdInfo) XXX_Unmarshal(b []byte) error {
1045	return xxx_messageInfo_VideoBumperInStreamAdInfo.Unmarshal(m, b)
1046}
1047func (m *VideoBumperInStreamAdInfo) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
1048	return xxx_messageInfo_VideoBumperInStreamAdInfo.Marshal(b, m, deterministic)
1049}
1050func (m *VideoBumperInStreamAdInfo) XXX_Merge(src proto.Message) {
1051	xxx_messageInfo_VideoBumperInStreamAdInfo.Merge(m, src)
1052}
1053func (m *VideoBumperInStreamAdInfo) XXX_Size() int {
1054	return xxx_messageInfo_VideoBumperInStreamAdInfo.Size(m)
1055}
1056func (m *VideoBumperInStreamAdInfo) XXX_DiscardUnknown() {
1057	xxx_messageInfo_VideoBumperInStreamAdInfo.DiscardUnknown(m)
1058}
1059
1060var xxx_messageInfo_VideoBumperInStreamAdInfo proto.InternalMessageInfo
1061
1062func (m *VideoBumperInStreamAdInfo) GetCompanionBanner() *wrappers.StringValue {
1063	if m != nil {
1064		return m.CompanionBanner
1065	}
1066	return nil
1067}
1068
1069// Representation of video non-skippable in-stream ad format (15 second
1070// in-stream non-skippable video ad).
1071type VideoNonSkippableInStreamAdInfo struct {
1072	// The MediaFile resource name of the companion banner used with the ad.
1073	CompanionBanner      *wrappers.StringValue `protobuf:"bytes,1,opt,name=companion_banner,json=companionBanner,proto3" json:"companion_banner,omitempty"`
1074	XXX_NoUnkeyedLiteral struct{}              `json:"-"`
1075	XXX_unrecognized     []byte                `json:"-"`
1076	XXX_sizecache        int32                 `json:"-"`
1077}
1078
1079func (m *VideoNonSkippableInStreamAdInfo) Reset()         { *m = VideoNonSkippableInStreamAdInfo{} }
1080func (m *VideoNonSkippableInStreamAdInfo) String() string { return proto.CompactTextString(m) }
1081func (*VideoNonSkippableInStreamAdInfo) ProtoMessage()    {}
1082func (*VideoNonSkippableInStreamAdInfo) Descriptor() ([]byte, []int) {
1083	return fileDescriptor_7b1cab7fbeab5508, []int{15}
1084}
1085
1086func (m *VideoNonSkippableInStreamAdInfo) XXX_Unmarshal(b []byte) error {
1087	return xxx_messageInfo_VideoNonSkippableInStreamAdInfo.Unmarshal(m, b)
1088}
1089func (m *VideoNonSkippableInStreamAdInfo) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
1090	return xxx_messageInfo_VideoNonSkippableInStreamAdInfo.Marshal(b, m, deterministic)
1091}
1092func (m *VideoNonSkippableInStreamAdInfo) XXX_Merge(src proto.Message) {
1093	xxx_messageInfo_VideoNonSkippableInStreamAdInfo.Merge(m, src)
1094}
1095func (m *VideoNonSkippableInStreamAdInfo) XXX_Size() int {
1096	return xxx_messageInfo_VideoNonSkippableInStreamAdInfo.Size(m)
1097}
1098func (m *VideoNonSkippableInStreamAdInfo) XXX_DiscardUnknown() {
1099	xxx_messageInfo_VideoNonSkippableInStreamAdInfo.DiscardUnknown(m)
1100}
1101
1102var xxx_messageInfo_VideoNonSkippableInStreamAdInfo proto.InternalMessageInfo
1103
1104func (m *VideoNonSkippableInStreamAdInfo) GetCompanionBanner() *wrappers.StringValue {
1105	if m != nil {
1106		return m.CompanionBanner
1107	}
1108	return nil
1109}
1110
1111// Representation of video TrueView in-stream ad format (ad shown during video
1112// playback, often at beginning, which displays a skip button a few seconds into
1113// the video).
1114type VideoTrueViewInStreamAdInfo struct {
1115	// Label on the CTA (call-to-action) button taking the user to the video ad's
1116	// final URL.
1117	// Required for TrueView for action campaigns, optional otherwise.
1118	ActionButtonLabel *wrappers.StringValue `protobuf:"bytes,1,opt,name=action_button_label,json=actionButtonLabel,proto3" json:"action_button_label,omitempty"`
1119	// Additional text displayed with the CTA (call-to-action) button to give
1120	// context and encourage clicking on the button.
1121	ActionHeadline *wrappers.StringValue `protobuf:"bytes,2,opt,name=action_headline,json=actionHeadline,proto3" json:"action_headline,omitempty"`
1122	// The MediaFile resource name of the companion banner used with the ad.
1123	CompanionBanner      *wrappers.StringValue `protobuf:"bytes,3,opt,name=companion_banner,json=companionBanner,proto3" json:"companion_banner,omitempty"`
1124	XXX_NoUnkeyedLiteral struct{}              `json:"-"`
1125	XXX_unrecognized     []byte                `json:"-"`
1126	XXX_sizecache        int32                 `json:"-"`
1127}
1128
1129func (m *VideoTrueViewInStreamAdInfo) Reset()         { *m = VideoTrueViewInStreamAdInfo{} }
1130func (m *VideoTrueViewInStreamAdInfo) String() string { return proto.CompactTextString(m) }
1131func (*VideoTrueViewInStreamAdInfo) ProtoMessage()    {}
1132func (*VideoTrueViewInStreamAdInfo) Descriptor() ([]byte, []int) {
1133	return fileDescriptor_7b1cab7fbeab5508, []int{16}
1134}
1135
1136func (m *VideoTrueViewInStreamAdInfo) XXX_Unmarshal(b []byte) error {
1137	return xxx_messageInfo_VideoTrueViewInStreamAdInfo.Unmarshal(m, b)
1138}
1139func (m *VideoTrueViewInStreamAdInfo) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
1140	return xxx_messageInfo_VideoTrueViewInStreamAdInfo.Marshal(b, m, deterministic)
1141}
1142func (m *VideoTrueViewInStreamAdInfo) XXX_Merge(src proto.Message) {
1143	xxx_messageInfo_VideoTrueViewInStreamAdInfo.Merge(m, src)
1144}
1145func (m *VideoTrueViewInStreamAdInfo) XXX_Size() int {
1146	return xxx_messageInfo_VideoTrueViewInStreamAdInfo.Size(m)
1147}
1148func (m *VideoTrueViewInStreamAdInfo) XXX_DiscardUnknown() {
1149	xxx_messageInfo_VideoTrueViewInStreamAdInfo.DiscardUnknown(m)
1150}
1151
1152var xxx_messageInfo_VideoTrueViewInStreamAdInfo proto.InternalMessageInfo
1153
1154func (m *VideoTrueViewInStreamAdInfo) GetActionButtonLabel() *wrappers.StringValue {
1155	if m != nil {
1156		return m.ActionButtonLabel
1157	}
1158	return nil
1159}
1160
1161func (m *VideoTrueViewInStreamAdInfo) GetActionHeadline() *wrappers.StringValue {
1162	if m != nil {
1163		return m.ActionHeadline
1164	}
1165	return nil
1166}
1167
1168func (m *VideoTrueViewInStreamAdInfo) GetCompanionBanner() *wrappers.StringValue {
1169	if m != nil {
1170		return m.CompanionBanner
1171	}
1172	return nil
1173}
1174
1175// Representation of video out-stream ad format (ad shown alongside a feed
1176// with automatic playback, without sound).
1177type VideoOutstreamAdInfo struct {
1178	// The headline of the ad.
1179	Headline *wrappers.StringValue `protobuf:"bytes,1,opt,name=headline,proto3" json:"headline,omitempty"`
1180	// The description line.
1181	Description          *wrappers.StringValue `protobuf:"bytes,2,opt,name=description,proto3" json:"description,omitempty"`
1182	XXX_NoUnkeyedLiteral struct{}              `json:"-"`
1183	XXX_unrecognized     []byte                `json:"-"`
1184	XXX_sizecache        int32                 `json:"-"`
1185}
1186
1187func (m *VideoOutstreamAdInfo) Reset()         { *m = VideoOutstreamAdInfo{} }
1188func (m *VideoOutstreamAdInfo) String() string { return proto.CompactTextString(m) }
1189func (*VideoOutstreamAdInfo) ProtoMessage()    {}
1190func (*VideoOutstreamAdInfo) Descriptor() ([]byte, []int) {
1191	return fileDescriptor_7b1cab7fbeab5508, []int{17}
1192}
1193
1194func (m *VideoOutstreamAdInfo) XXX_Unmarshal(b []byte) error {
1195	return xxx_messageInfo_VideoOutstreamAdInfo.Unmarshal(m, b)
1196}
1197func (m *VideoOutstreamAdInfo) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
1198	return xxx_messageInfo_VideoOutstreamAdInfo.Marshal(b, m, deterministic)
1199}
1200func (m *VideoOutstreamAdInfo) XXX_Merge(src proto.Message) {
1201	xxx_messageInfo_VideoOutstreamAdInfo.Merge(m, src)
1202}
1203func (m *VideoOutstreamAdInfo) XXX_Size() int {
1204	return xxx_messageInfo_VideoOutstreamAdInfo.Size(m)
1205}
1206func (m *VideoOutstreamAdInfo) XXX_DiscardUnknown() {
1207	xxx_messageInfo_VideoOutstreamAdInfo.DiscardUnknown(m)
1208}
1209
1210var xxx_messageInfo_VideoOutstreamAdInfo proto.InternalMessageInfo
1211
1212func (m *VideoOutstreamAdInfo) GetHeadline() *wrappers.StringValue {
1213	if m != nil {
1214		return m.Headline
1215	}
1216	return nil
1217}
1218
1219func (m *VideoOutstreamAdInfo) GetDescription() *wrappers.StringValue {
1220	if m != nil {
1221		return m.Description
1222	}
1223	return nil
1224}
1225
1226// A video ad.
1227type VideoAdInfo struct {
1228	// The MediaFile resource to use for the video.
1229	MediaFile *wrappers.StringValue `protobuf:"bytes,1,opt,name=media_file,json=mediaFile,proto3" json:"media_file,omitempty"`
1230	// Format-specific schema for the different video formats.
1231	//
1232	// Types that are valid to be assigned to Format:
1233	//	*VideoAdInfo_InStream
1234	//	*VideoAdInfo_Bumper
1235	//	*VideoAdInfo_OutStream
1236	//	*VideoAdInfo_NonSkippable
1237	Format               isVideoAdInfo_Format `protobuf_oneof:"format"`
1238	XXX_NoUnkeyedLiteral struct{}             `json:"-"`
1239	XXX_unrecognized     []byte               `json:"-"`
1240	XXX_sizecache        int32                `json:"-"`
1241}
1242
1243func (m *VideoAdInfo) Reset()         { *m = VideoAdInfo{} }
1244func (m *VideoAdInfo) String() string { return proto.CompactTextString(m) }
1245func (*VideoAdInfo) ProtoMessage()    {}
1246func (*VideoAdInfo) Descriptor() ([]byte, []int) {
1247	return fileDescriptor_7b1cab7fbeab5508, []int{18}
1248}
1249
1250func (m *VideoAdInfo) XXX_Unmarshal(b []byte) error {
1251	return xxx_messageInfo_VideoAdInfo.Unmarshal(m, b)
1252}
1253func (m *VideoAdInfo) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
1254	return xxx_messageInfo_VideoAdInfo.Marshal(b, m, deterministic)
1255}
1256func (m *VideoAdInfo) XXX_Merge(src proto.Message) {
1257	xxx_messageInfo_VideoAdInfo.Merge(m, src)
1258}
1259func (m *VideoAdInfo) XXX_Size() int {
1260	return xxx_messageInfo_VideoAdInfo.Size(m)
1261}
1262func (m *VideoAdInfo) XXX_DiscardUnknown() {
1263	xxx_messageInfo_VideoAdInfo.DiscardUnknown(m)
1264}
1265
1266var xxx_messageInfo_VideoAdInfo proto.InternalMessageInfo
1267
1268func (m *VideoAdInfo) GetMediaFile() *wrappers.StringValue {
1269	if m != nil {
1270		return m.MediaFile
1271	}
1272	return nil
1273}
1274
1275type isVideoAdInfo_Format interface {
1276	isVideoAdInfo_Format()
1277}
1278
1279type VideoAdInfo_InStream struct {
1280	InStream *VideoTrueViewInStreamAdInfo `protobuf:"bytes,2,opt,name=in_stream,json=inStream,proto3,oneof"`
1281}
1282
1283type VideoAdInfo_Bumper struct {
1284	Bumper *VideoBumperInStreamAdInfo `protobuf:"bytes,3,opt,name=bumper,proto3,oneof"`
1285}
1286
1287type VideoAdInfo_OutStream struct {
1288	OutStream *VideoOutstreamAdInfo `protobuf:"bytes,4,opt,name=out_stream,json=outStream,proto3,oneof"`
1289}
1290
1291type VideoAdInfo_NonSkippable struct {
1292	NonSkippable *VideoNonSkippableInStreamAdInfo `protobuf:"bytes,5,opt,name=non_skippable,json=nonSkippable,proto3,oneof"`
1293}
1294
1295func (*VideoAdInfo_InStream) isVideoAdInfo_Format() {}
1296
1297func (*VideoAdInfo_Bumper) isVideoAdInfo_Format() {}
1298
1299func (*VideoAdInfo_OutStream) isVideoAdInfo_Format() {}
1300
1301func (*VideoAdInfo_NonSkippable) isVideoAdInfo_Format() {}
1302
1303func (m *VideoAdInfo) GetFormat() isVideoAdInfo_Format {
1304	if m != nil {
1305		return m.Format
1306	}
1307	return nil
1308}
1309
1310func (m *VideoAdInfo) GetInStream() *VideoTrueViewInStreamAdInfo {
1311	if x, ok := m.GetFormat().(*VideoAdInfo_InStream); ok {
1312		return x.InStream
1313	}
1314	return nil
1315}
1316
1317func (m *VideoAdInfo) GetBumper() *VideoBumperInStreamAdInfo {
1318	if x, ok := m.GetFormat().(*VideoAdInfo_Bumper); ok {
1319		return x.Bumper
1320	}
1321	return nil
1322}
1323
1324func (m *VideoAdInfo) GetOutStream() *VideoOutstreamAdInfo {
1325	if x, ok := m.GetFormat().(*VideoAdInfo_OutStream); ok {
1326		return x.OutStream
1327	}
1328	return nil
1329}
1330
1331func (m *VideoAdInfo) GetNonSkippable() *VideoNonSkippableInStreamAdInfo {
1332	if x, ok := m.GetFormat().(*VideoAdInfo_NonSkippable); ok {
1333		return x.NonSkippable
1334	}
1335	return nil
1336}
1337
1338// XXX_OneofWrappers is for the internal use of the proto package.
1339func (*VideoAdInfo) XXX_OneofWrappers() []interface{} {
1340	return []interface{}{
1341		(*VideoAdInfo_InStream)(nil),
1342		(*VideoAdInfo_Bumper)(nil),
1343		(*VideoAdInfo_OutStream)(nil),
1344		(*VideoAdInfo_NonSkippable)(nil),
1345	}
1346}
1347
1348// A responsive search ad.
1349//
1350// Responsive search ads let you create an ad that adapts to show more text, and
1351// more relevant messages, to your customers. Enter multiple headlines and
1352// descriptions when creating a responsive search ad, and over time, Google Ads
1353// will automatically test different combinations and learn which combinations
1354// perform best. By adapting your ad's content to more closely match potential
1355// customers' search terms, responsive search ads may improve your campaign's
1356// performance.
1357//
1358// More information at https://support.google.com/google-ads/answer/7684791
1359type ResponsiveSearchAdInfo struct {
1360	// List of text assets for headlines. When the ad serves the headlines will
1361	// be selected from this list.
1362	Headlines []*AdTextAsset `protobuf:"bytes,1,rep,name=headlines,proto3" json:"headlines,omitempty"`
1363	// List of text assets for descriptions. When the ad serves the descriptions
1364	// will be selected from this list.
1365	Descriptions []*AdTextAsset `protobuf:"bytes,2,rep,name=descriptions,proto3" json:"descriptions,omitempty"`
1366	// First part of text that may appear appended to the url displayed in the ad.
1367	Path1 *wrappers.StringValue `protobuf:"bytes,3,opt,name=path1,proto3" json:"path1,omitempty"`
1368	// Second part of text that may appear appended to the url displayed in the
1369	// ad. This field can only be set when path1 is also set.
1370	Path2                *wrappers.StringValue `protobuf:"bytes,4,opt,name=path2,proto3" json:"path2,omitempty"`
1371	XXX_NoUnkeyedLiteral struct{}              `json:"-"`
1372	XXX_unrecognized     []byte                `json:"-"`
1373	XXX_sizecache        int32                 `json:"-"`
1374}
1375
1376func (m *ResponsiveSearchAdInfo) Reset()         { *m = ResponsiveSearchAdInfo{} }
1377func (m *ResponsiveSearchAdInfo) String() string { return proto.CompactTextString(m) }
1378func (*ResponsiveSearchAdInfo) ProtoMessage()    {}
1379func (*ResponsiveSearchAdInfo) Descriptor() ([]byte, []int) {
1380	return fileDescriptor_7b1cab7fbeab5508, []int{19}
1381}
1382
1383func (m *ResponsiveSearchAdInfo) XXX_Unmarshal(b []byte) error {
1384	return xxx_messageInfo_ResponsiveSearchAdInfo.Unmarshal(m, b)
1385}
1386func (m *ResponsiveSearchAdInfo) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
1387	return xxx_messageInfo_ResponsiveSearchAdInfo.Marshal(b, m, deterministic)
1388}
1389func (m *ResponsiveSearchAdInfo) XXX_Merge(src proto.Message) {
1390	xxx_messageInfo_ResponsiveSearchAdInfo.Merge(m, src)
1391}
1392func (m *ResponsiveSearchAdInfo) XXX_Size() int {
1393	return xxx_messageInfo_ResponsiveSearchAdInfo.Size(m)
1394}
1395func (m *ResponsiveSearchAdInfo) XXX_DiscardUnknown() {
1396	xxx_messageInfo_ResponsiveSearchAdInfo.DiscardUnknown(m)
1397}
1398
1399var xxx_messageInfo_ResponsiveSearchAdInfo proto.InternalMessageInfo
1400
1401func (m *ResponsiveSearchAdInfo) GetHeadlines() []*AdTextAsset {
1402	if m != nil {
1403		return m.Headlines
1404	}
1405	return nil
1406}
1407
1408func (m *ResponsiveSearchAdInfo) GetDescriptions() []*AdTextAsset {
1409	if m != nil {
1410		return m.Descriptions
1411	}
1412	return nil
1413}
1414
1415func (m *ResponsiveSearchAdInfo) GetPath1() *wrappers.StringValue {
1416	if m != nil {
1417		return m.Path1
1418	}
1419	return nil
1420}
1421
1422func (m *ResponsiveSearchAdInfo) GetPath2() *wrappers.StringValue {
1423	if m != nil {
1424		return m.Path2
1425	}
1426	return nil
1427}
1428
1429// A legacy responsive display ad. Ads of this type are labeled 'Responsive ads'
1430// in the Google Ads UI.
1431type LegacyResponsiveDisplayAdInfo struct {
1432	// The short version of the ad's headline.
1433	ShortHeadline *wrappers.StringValue `protobuf:"bytes,1,opt,name=short_headline,json=shortHeadline,proto3" json:"short_headline,omitempty"`
1434	// The long version of the ad's headline.
1435	LongHeadline *wrappers.StringValue `protobuf:"bytes,2,opt,name=long_headline,json=longHeadline,proto3" json:"long_headline,omitempty"`
1436	// The description of the ad.
1437	Description *wrappers.StringValue `protobuf:"bytes,3,opt,name=description,proto3" json:"description,omitempty"`
1438	// The business name in the ad.
1439	BusinessName *wrappers.StringValue `protobuf:"bytes,4,opt,name=business_name,json=businessName,proto3" json:"business_name,omitempty"`
1440	// Advertiser's consent to allow flexible color. When true, the ad may be
1441	// served with different color if necessary. When false, the ad will be served
1442	// with the specified colors or a neutral color.
1443	// The default value is true.
1444	// Must be true if main_color and accent_color are not set.
1445	AllowFlexibleColor *wrappers.BoolValue `protobuf:"bytes,5,opt,name=allow_flexible_color,json=allowFlexibleColor,proto3" json:"allow_flexible_color,omitempty"`
1446	// The accent color of the ad in hexadecimal, e.g. #ffffff for white.
1447	// If one of main_color and accent_color is set, the other is required as
1448	// well.
1449	AccentColor *wrappers.StringValue `protobuf:"bytes,6,opt,name=accent_color,json=accentColor,proto3" json:"accent_color,omitempty"`
1450	// The main color of the ad in hexadecimal, e.g. #ffffff for white.
1451	// If one of main_color and accent_color is set, the other is required as
1452	// well.
1453	MainColor *wrappers.StringValue `protobuf:"bytes,7,opt,name=main_color,json=mainColor,proto3" json:"main_color,omitempty"`
1454	// The call-to-action text for the ad.
1455	CallToActionText *wrappers.StringValue `protobuf:"bytes,8,opt,name=call_to_action_text,json=callToActionText,proto3" json:"call_to_action_text,omitempty"`
1456	// The MediaFile resource name of the logo image used in the ad.
1457	LogoImage *wrappers.StringValue `protobuf:"bytes,9,opt,name=logo_image,json=logoImage,proto3" json:"logo_image,omitempty"`
1458	// The MediaFile resource name of the square logo image used in the ad.
1459	SquareLogoImage *wrappers.StringValue `protobuf:"bytes,10,opt,name=square_logo_image,json=squareLogoImage,proto3" json:"square_logo_image,omitempty"`
1460	// The MediaFile resource name of the marketing image used in the ad.
1461	MarketingImage *wrappers.StringValue `protobuf:"bytes,11,opt,name=marketing_image,json=marketingImage,proto3" json:"marketing_image,omitempty"`
1462	// The MediaFile resource name of the square marketing image used in the ad.
1463	SquareMarketingImage *wrappers.StringValue `protobuf:"bytes,12,opt,name=square_marketing_image,json=squareMarketingImage,proto3" json:"square_marketing_image,omitempty"`
1464	// Specifies which format the ad will be served in. Default is ALL_FORMATS.
1465	FormatSetting enums.DisplayAdFormatSettingEnum_DisplayAdFormatSetting `protobuf:"varint,13,opt,name=format_setting,json=formatSetting,proto3,enum=google.ads.googleads.v2.enums.DisplayAdFormatSettingEnum_DisplayAdFormatSetting" json:"format_setting,omitempty"`
1466	// Prefix before price. E.g. 'as low as'.
1467	PricePrefix *wrappers.StringValue `protobuf:"bytes,14,opt,name=price_prefix,json=pricePrefix,proto3" json:"price_prefix,omitempty"`
1468	// Promotion text used for dyanmic formats of responsive ads. For example
1469	// 'Free two-day shipping'.
1470	PromoText            *wrappers.StringValue `protobuf:"bytes,15,opt,name=promo_text,json=promoText,proto3" json:"promo_text,omitempty"`
1471	XXX_NoUnkeyedLiteral struct{}              `json:"-"`
1472	XXX_unrecognized     []byte                `json:"-"`
1473	XXX_sizecache        int32                 `json:"-"`
1474}
1475
1476func (m *LegacyResponsiveDisplayAdInfo) Reset()         { *m = LegacyResponsiveDisplayAdInfo{} }
1477func (m *LegacyResponsiveDisplayAdInfo) String() string { return proto.CompactTextString(m) }
1478func (*LegacyResponsiveDisplayAdInfo) ProtoMessage()    {}
1479func (*LegacyResponsiveDisplayAdInfo) Descriptor() ([]byte, []int) {
1480	return fileDescriptor_7b1cab7fbeab5508, []int{20}
1481}
1482
1483func (m *LegacyResponsiveDisplayAdInfo) XXX_Unmarshal(b []byte) error {
1484	return xxx_messageInfo_LegacyResponsiveDisplayAdInfo.Unmarshal(m, b)
1485}
1486func (m *LegacyResponsiveDisplayAdInfo) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
1487	return xxx_messageInfo_LegacyResponsiveDisplayAdInfo.Marshal(b, m, deterministic)
1488}
1489func (m *LegacyResponsiveDisplayAdInfo) XXX_Merge(src proto.Message) {
1490	xxx_messageInfo_LegacyResponsiveDisplayAdInfo.Merge(m, src)
1491}
1492func (m *LegacyResponsiveDisplayAdInfo) XXX_Size() int {
1493	return xxx_messageInfo_LegacyResponsiveDisplayAdInfo.Size(m)
1494}
1495func (m *LegacyResponsiveDisplayAdInfo) XXX_DiscardUnknown() {
1496	xxx_messageInfo_LegacyResponsiveDisplayAdInfo.DiscardUnknown(m)
1497}
1498
1499var xxx_messageInfo_LegacyResponsiveDisplayAdInfo proto.InternalMessageInfo
1500
1501func (m *LegacyResponsiveDisplayAdInfo) GetShortHeadline() *wrappers.StringValue {
1502	if m != nil {
1503		return m.ShortHeadline
1504	}
1505	return nil
1506}
1507
1508func (m *LegacyResponsiveDisplayAdInfo) GetLongHeadline() *wrappers.StringValue {
1509	if m != nil {
1510		return m.LongHeadline
1511	}
1512	return nil
1513}
1514
1515func (m *LegacyResponsiveDisplayAdInfo) GetDescription() *wrappers.StringValue {
1516	if m != nil {
1517		return m.Description
1518	}
1519	return nil
1520}
1521
1522func (m *LegacyResponsiveDisplayAdInfo) GetBusinessName() *wrappers.StringValue {
1523	if m != nil {
1524		return m.BusinessName
1525	}
1526	return nil
1527}
1528
1529func (m *LegacyResponsiveDisplayAdInfo) GetAllowFlexibleColor() *wrappers.BoolValue {
1530	if m != nil {
1531		return m.AllowFlexibleColor
1532	}
1533	return nil
1534}
1535
1536func (m *LegacyResponsiveDisplayAdInfo) GetAccentColor() *wrappers.StringValue {
1537	if m != nil {
1538		return m.AccentColor
1539	}
1540	return nil
1541}
1542
1543func (m *LegacyResponsiveDisplayAdInfo) GetMainColor() *wrappers.StringValue {
1544	if m != nil {
1545		return m.MainColor
1546	}
1547	return nil
1548}
1549
1550func (m *LegacyResponsiveDisplayAdInfo) GetCallToActionText() *wrappers.StringValue {
1551	if m != nil {
1552		return m.CallToActionText
1553	}
1554	return nil
1555}
1556
1557func (m *LegacyResponsiveDisplayAdInfo) GetLogoImage() *wrappers.StringValue {
1558	if m != nil {
1559		return m.LogoImage
1560	}
1561	return nil
1562}
1563
1564func (m *LegacyResponsiveDisplayAdInfo) GetSquareLogoImage() *wrappers.StringValue {
1565	if m != nil {
1566		return m.SquareLogoImage
1567	}
1568	return nil
1569}
1570
1571func (m *LegacyResponsiveDisplayAdInfo) GetMarketingImage() *wrappers.StringValue {
1572	if m != nil {
1573		return m.MarketingImage
1574	}
1575	return nil
1576}
1577
1578func (m *LegacyResponsiveDisplayAdInfo) GetSquareMarketingImage() *wrappers.StringValue {
1579	if m != nil {
1580		return m.SquareMarketingImage
1581	}
1582	return nil
1583}
1584
1585func (m *LegacyResponsiveDisplayAdInfo) GetFormatSetting() enums.DisplayAdFormatSettingEnum_DisplayAdFormatSetting {
1586	if m != nil {
1587		return m.FormatSetting
1588	}
1589	return enums.DisplayAdFormatSettingEnum_UNSPECIFIED
1590}
1591
1592func (m *LegacyResponsiveDisplayAdInfo) GetPricePrefix() *wrappers.StringValue {
1593	if m != nil {
1594		return m.PricePrefix
1595	}
1596	return nil
1597}
1598
1599func (m *LegacyResponsiveDisplayAdInfo) GetPromoText() *wrappers.StringValue {
1600	if m != nil {
1601		return m.PromoText
1602	}
1603	return nil
1604}
1605
1606// An app ad.
1607type AppAdInfo struct {
1608	// An optional text asset that, if specified, must always be displayed when
1609	// the ad is served.
1610	MandatoryAdText *AdTextAsset `protobuf:"bytes,1,opt,name=mandatory_ad_text,json=mandatoryAdText,proto3" json:"mandatory_ad_text,omitempty"`
1611	// List of text assets for headlines. When the ad serves the headlines will
1612	// be selected from this list.
1613	Headlines []*AdTextAsset `protobuf:"bytes,2,rep,name=headlines,proto3" json:"headlines,omitempty"`
1614	// List of text assets for descriptions. When the ad serves the descriptions
1615	// will be selected from this list.
1616	Descriptions []*AdTextAsset `protobuf:"bytes,3,rep,name=descriptions,proto3" json:"descriptions,omitempty"`
1617	// List of image assets that may be displayed with the ad.
1618	Images []*AdImageAsset `protobuf:"bytes,4,rep,name=images,proto3" json:"images,omitempty"`
1619	// List of YouTube video assets that may be displayed with the ad.
1620	YoutubeVideos []*AdVideoAsset `protobuf:"bytes,5,rep,name=youtube_videos,json=youtubeVideos,proto3" json:"youtube_videos,omitempty"`
1621	// List of media bundle assets that may be used with the ad.
1622	Html5MediaBundles    []*AdMediaBundleAsset `protobuf:"bytes,6,rep,name=html5_media_bundles,json=html5MediaBundles,proto3" json:"html5_media_bundles,omitempty"`
1623	XXX_NoUnkeyedLiteral struct{}              `json:"-"`
1624	XXX_unrecognized     []byte                `json:"-"`
1625	XXX_sizecache        int32                 `json:"-"`
1626}
1627
1628func (m *AppAdInfo) Reset()         { *m = AppAdInfo{} }
1629func (m *AppAdInfo) String() string { return proto.CompactTextString(m) }
1630func (*AppAdInfo) ProtoMessage()    {}
1631func (*AppAdInfo) Descriptor() ([]byte, []int) {
1632	return fileDescriptor_7b1cab7fbeab5508, []int{21}
1633}
1634
1635func (m *AppAdInfo) XXX_Unmarshal(b []byte) error {
1636	return xxx_messageInfo_AppAdInfo.Unmarshal(m, b)
1637}
1638func (m *AppAdInfo) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
1639	return xxx_messageInfo_AppAdInfo.Marshal(b, m, deterministic)
1640}
1641func (m *AppAdInfo) XXX_Merge(src proto.Message) {
1642	xxx_messageInfo_AppAdInfo.Merge(m, src)
1643}
1644func (m *AppAdInfo) XXX_Size() int {
1645	return xxx_messageInfo_AppAdInfo.Size(m)
1646}
1647func (m *AppAdInfo) XXX_DiscardUnknown() {
1648	xxx_messageInfo_AppAdInfo.DiscardUnknown(m)
1649}
1650
1651var xxx_messageInfo_AppAdInfo proto.InternalMessageInfo
1652
1653func (m *AppAdInfo) GetMandatoryAdText() *AdTextAsset {
1654	if m != nil {
1655		return m.MandatoryAdText
1656	}
1657	return nil
1658}
1659
1660func (m *AppAdInfo) GetHeadlines() []*AdTextAsset {
1661	if m != nil {
1662		return m.Headlines
1663	}
1664	return nil
1665}
1666
1667func (m *AppAdInfo) GetDescriptions() []*AdTextAsset {
1668	if m != nil {
1669		return m.Descriptions
1670	}
1671	return nil
1672}
1673
1674func (m *AppAdInfo) GetImages() []*AdImageAsset {
1675	if m != nil {
1676		return m.Images
1677	}
1678	return nil
1679}
1680
1681func (m *AppAdInfo) GetYoutubeVideos() []*AdVideoAsset {
1682	if m != nil {
1683		return m.YoutubeVideos
1684	}
1685	return nil
1686}
1687
1688func (m *AppAdInfo) GetHtml5MediaBundles() []*AdMediaBundleAsset {
1689	if m != nil {
1690		return m.Html5MediaBundles
1691	}
1692	return nil
1693}
1694
1695// App engagement ads allow you to write text encouraging a specific action in
1696// the app, like checking in, making a purchase, or booking a flight.
1697// They allow you to send users to a specific part of your app where they can
1698// find what they're looking for easier and faster.
1699type AppEngagementAdInfo struct {
1700	// List of text assets for headlines. When the ad serves the headlines will
1701	// be selected from this list.
1702	Headlines []*AdTextAsset `protobuf:"bytes,1,rep,name=headlines,proto3" json:"headlines,omitempty"`
1703	// List of text assets for descriptions. When the ad serves the descriptions
1704	// will be selected from this list.
1705	Descriptions []*AdTextAsset `protobuf:"bytes,2,rep,name=descriptions,proto3" json:"descriptions,omitempty"`
1706	// List of image assets that may be displayed with the ad.
1707	Images []*AdImageAsset `protobuf:"bytes,3,rep,name=images,proto3" json:"images,omitempty"`
1708	// List of video assets that may be displayed with the ad.
1709	Videos               []*AdVideoAsset `protobuf:"bytes,4,rep,name=videos,proto3" json:"videos,omitempty"`
1710	XXX_NoUnkeyedLiteral struct{}        `json:"-"`
1711	XXX_unrecognized     []byte          `json:"-"`
1712	XXX_sizecache        int32           `json:"-"`
1713}
1714
1715func (m *AppEngagementAdInfo) Reset()         { *m = AppEngagementAdInfo{} }
1716func (m *AppEngagementAdInfo) String() string { return proto.CompactTextString(m) }
1717func (*AppEngagementAdInfo) ProtoMessage()    {}
1718func (*AppEngagementAdInfo) Descriptor() ([]byte, []int) {
1719	return fileDescriptor_7b1cab7fbeab5508, []int{22}
1720}
1721
1722func (m *AppEngagementAdInfo) XXX_Unmarshal(b []byte) error {
1723	return xxx_messageInfo_AppEngagementAdInfo.Unmarshal(m, b)
1724}
1725func (m *AppEngagementAdInfo) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
1726	return xxx_messageInfo_AppEngagementAdInfo.Marshal(b, m, deterministic)
1727}
1728func (m *AppEngagementAdInfo) XXX_Merge(src proto.Message) {
1729	xxx_messageInfo_AppEngagementAdInfo.Merge(m, src)
1730}
1731func (m *AppEngagementAdInfo) XXX_Size() int {
1732	return xxx_messageInfo_AppEngagementAdInfo.Size(m)
1733}
1734func (m *AppEngagementAdInfo) XXX_DiscardUnknown() {
1735	xxx_messageInfo_AppEngagementAdInfo.DiscardUnknown(m)
1736}
1737
1738var xxx_messageInfo_AppEngagementAdInfo proto.InternalMessageInfo
1739
1740func (m *AppEngagementAdInfo) GetHeadlines() []*AdTextAsset {
1741	if m != nil {
1742		return m.Headlines
1743	}
1744	return nil
1745}
1746
1747func (m *AppEngagementAdInfo) GetDescriptions() []*AdTextAsset {
1748	if m != nil {
1749		return m.Descriptions
1750	}
1751	return nil
1752}
1753
1754func (m *AppEngagementAdInfo) GetImages() []*AdImageAsset {
1755	if m != nil {
1756		return m.Images
1757	}
1758	return nil
1759}
1760
1761func (m *AppEngagementAdInfo) GetVideos() []*AdVideoAsset {
1762	if m != nil {
1763		return m.Videos
1764	}
1765	return nil
1766}
1767
1768// A legacy app install ad that only can be used by a few select customers.
1769type LegacyAppInstallAdInfo struct {
1770	// The id of the mobile app.
1771	AppId *wrappers.StringValue `protobuf:"bytes,1,opt,name=app_id,json=appId,proto3" json:"app_id,omitempty"`
1772	// The app store the mobile app is available in.
1773	AppStore enums.LegacyAppInstallAdAppStoreEnum_LegacyAppInstallAdAppStore `protobuf:"varint,2,opt,name=app_store,json=appStore,proto3,enum=google.ads.googleads.v2.enums.LegacyAppInstallAdAppStoreEnum_LegacyAppInstallAdAppStore" json:"app_store,omitempty"`
1774	// The headline of the ad.
1775	Headline *wrappers.StringValue `protobuf:"bytes,3,opt,name=headline,proto3" json:"headline,omitempty"`
1776	// The first description line of the ad.
1777	Description1 *wrappers.StringValue `protobuf:"bytes,4,opt,name=description1,proto3" json:"description1,omitempty"`
1778	// The second description line of the ad.
1779	Description2         *wrappers.StringValue `protobuf:"bytes,5,opt,name=description2,proto3" json:"description2,omitempty"`
1780	XXX_NoUnkeyedLiteral struct{}              `json:"-"`
1781	XXX_unrecognized     []byte                `json:"-"`
1782	XXX_sizecache        int32                 `json:"-"`
1783}
1784
1785func (m *LegacyAppInstallAdInfo) Reset()         { *m = LegacyAppInstallAdInfo{} }
1786func (m *LegacyAppInstallAdInfo) String() string { return proto.CompactTextString(m) }
1787func (*LegacyAppInstallAdInfo) ProtoMessage()    {}
1788func (*LegacyAppInstallAdInfo) Descriptor() ([]byte, []int) {
1789	return fileDescriptor_7b1cab7fbeab5508, []int{23}
1790}
1791
1792func (m *LegacyAppInstallAdInfo) XXX_Unmarshal(b []byte) error {
1793	return xxx_messageInfo_LegacyAppInstallAdInfo.Unmarshal(m, b)
1794}
1795func (m *LegacyAppInstallAdInfo) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
1796	return xxx_messageInfo_LegacyAppInstallAdInfo.Marshal(b, m, deterministic)
1797}
1798func (m *LegacyAppInstallAdInfo) XXX_Merge(src proto.Message) {
1799	xxx_messageInfo_LegacyAppInstallAdInfo.Merge(m, src)
1800}
1801func (m *LegacyAppInstallAdInfo) XXX_Size() int {
1802	return xxx_messageInfo_LegacyAppInstallAdInfo.Size(m)
1803}
1804func (m *LegacyAppInstallAdInfo) XXX_DiscardUnknown() {
1805	xxx_messageInfo_LegacyAppInstallAdInfo.DiscardUnknown(m)
1806}
1807
1808var xxx_messageInfo_LegacyAppInstallAdInfo proto.InternalMessageInfo
1809
1810func (m *LegacyAppInstallAdInfo) GetAppId() *wrappers.StringValue {
1811	if m != nil {
1812		return m.AppId
1813	}
1814	return nil
1815}
1816
1817func (m *LegacyAppInstallAdInfo) GetAppStore() enums.LegacyAppInstallAdAppStoreEnum_LegacyAppInstallAdAppStore {
1818	if m != nil {
1819		return m.AppStore
1820	}
1821	return enums.LegacyAppInstallAdAppStoreEnum_UNSPECIFIED
1822}
1823
1824func (m *LegacyAppInstallAdInfo) GetHeadline() *wrappers.StringValue {
1825	if m != nil {
1826		return m.Headline
1827	}
1828	return nil
1829}
1830
1831func (m *LegacyAppInstallAdInfo) GetDescription1() *wrappers.StringValue {
1832	if m != nil {
1833		return m.Description1
1834	}
1835	return nil
1836}
1837
1838func (m *LegacyAppInstallAdInfo) GetDescription2() *wrappers.StringValue {
1839	if m != nil {
1840		return m.Description2
1841	}
1842	return nil
1843}
1844
1845// A responsive display ad.
1846type ResponsiveDisplayAdInfo struct {
1847	// Marketing images to be used in the ad. Valid image types are GIF,
1848	// JPEG, and PNG. The minimum size is 600x314 and the aspect ratio must
1849	// be 1.91:1 (+-1%). At least one marketing_image is required. Combined with
1850	// square_marketing_images the maximum is 15.
1851	MarketingImages []*AdImageAsset `protobuf:"bytes,1,rep,name=marketing_images,json=marketingImages,proto3" json:"marketing_images,omitempty"`
1852	// Square marketing images to be used in the ad. Valid image types are GIF,
1853	// JPEG, and PNG. The minimum size is 300x300 and the aspect ratio must
1854	// be 1:1 (+-1%). At least one square marketing_image is required. Combined
1855	// with marketing_images the maximum is 15.
1856	SquareMarketingImages []*AdImageAsset `protobuf:"bytes,2,rep,name=square_marketing_images,json=squareMarketingImages,proto3" json:"square_marketing_images,omitempty"`
1857	// Logo images to be used in the ad. Valid image types are GIF,
1858	// JPEG, and PNG. The minimum size is 512x128 and the aspect ratio must
1859	// be 4:1 (+-1%). Combined with square_logo_images the maximum is 5.
1860	LogoImages []*AdImageAsset `protobuf:"bytes,3,rep,name=logo_images,json=logoImages,proto3" json:"logo_images,omitempty"`
1861	// Square logo images to be used in the ad. Valid image types are GIF,
1862	// JPEG, and PNG. The minimum size is 128x128 and the aspect ratio must
1863	// be 1:1 (+-1%). Combined with square_logo_images the maximum is 5.
1864	SquareLogoImages []*AdImageAsset `protobuf:"bytes,4,rep,name=square_logo_images,json=squareLogoImages,proto3" json:"square_logo_images,omitempty"`
1865	// Short format headlines for the ad. The maximum length is 30 characters.
1866	// At least 1 and max 5 headlines can be specified.
1867	Headlines []*AdTextAsset `protobuf:"bytes,5,rep,name=headlines,proto3" json:"headlines,omitempty"`
1868	// A required long format headline. The maximum length is 90 characters.
1869	LongHeadline *AdTextAsset `protobuf:"bytes,6,opt,name=long_headline,json=longHeadline,proto3" json:"long_headline,omitempty"`
1870	// Descriptive texts for the ad. The maximum length is 90 characters. At
1871	// least 1 and max 5 headlines can be specified.
1872	Descriptions []*AdTextAsset `protobuf:"bytes,7,rep,name=descriptions,proto3" json:"descriptions,omitempty"`
1873	// Optional YouTube vidoes for the ad. A maximum of 5 videos can be specified.
1874	YoutubeVideos []*AdVideoAsset `protobuf:"bytes,8,rep,name=youtube_videos,json=youtubeVideos,proto3" json:"youtube_videos,omitempty"`
1875	// The advertiser/brand name. Maximum display width is 25.
1876	BusinessName *wrappers.StringValue `protobuf:"bytes,9,opt,name=business_name,json=businessName,proto3" json:"business_name,omitempty"`
1877	// The main color of the ad in hexadecimal, e.g. #ffffff for white.
1878	// If one of main_color and accent_color is set, the other is required as
1879	// well.
1880	MainColor *wrappers.StringValue `protobuf:"bytes,10,opt,name=main_color,json=mainColor,proto3" json:"main_color,omitempty"`
1881	// The accent color of the ad in hexadecimal, e.g. #ffffff for white.
1882	// If one of main_color and accent_color is set, the other is required as
1883	// well.
1884	AccentColor *wrappers.StringValue `protobuf:"bytes,11,opt,name=accent_color,json=accentColor,proto3" json:"accent_color,omitempty"`
1885	// Advertiser's consent to allow flexible color. When true, the ad may be
1886	// served with different color if necessary. When false, the ad will be served
1887	// with the specified colors or a neutral color.
1888	// The default value is true.
1889	// Must be true if main_color and accent_color are not set.
1890	AllowFlexibleColor *wrappers.BoolValue `protobuf:"bytes,12,opt,name=allow_flexible_color,json=allowFlexibleColor,proto3" json:"allow_flexible_color,omitempty"`
1891	// The call-to-action text for the ad. Maximum display width is 30.
1892	CallToActionText *wrappers.StringValue `protobuf:"bytes,13,opt,name=call_to_action_text,json=callToActionText,proto3" json:"call_to_action_text,omitempty"`
1893	// Prefix before price. E.g. 'as low as'.
1894	PricePrefix *wrappers.StringValue `protobuf:"bytes,14,opt,name=price_prefix,json=pricePrefix,proto3" json:"price_prefix,omitempty"`
1895	// Promotion text used for dyanmic formats of responsive ads. For example
1896	// 'Free two-day shipping'.
1897	PromoText *wrappers.StringValue `protobuf:"bytes,15,opt,name=promo_text,json=promoText,proto3" json:"promo_text,omitempty"`
1898	// Specifies which format the ad will be served in. Default is ALL_FORMATS.
1899	FormatSetting        enums.DisplayAdFormatSettingEnum_DisplayAdFormatSetting `protobuf:"varint,16,opt,name=format_setting,json=formatSetting,proto3,enum=google.ads.googleads.v2.enums.DisplayAdFormatSettingEnum_DisplayAdFormatSetting" json:"format_setting,omitempty"`
1900	XXX_NoUnkeyedLiteral struct{}                                                `json:"-"`
1901	XXX_unrecognized     []byte                                                  `json:"-"`
1902	XXX_sizecache        int32                                                   `json:"-"`
1903}
1904
1905func (m *ResponsiveDisplayAdInfo) Reset()         { *m = ResponsiveDisplayAdInfo{} }
1906func (m *ResponsiveDisplayAdInfo) String() string { return proto.CompactTextString(m) }
1907func (*ResponsiveDisplayAdInfo) ProtoMessage()    {}
1908func (*ResponsiveDisplayAdInfo) Descriptor() ([]byte, []int) {
1909	return fileDescriptor_7b1cab7fbeab5508, []int{24}
1910}
1911
1912func (m *ResponsiveDisplayAdInfo) XXX_Unmarshal(b []byte) error {
1913	return xxx_messageInfo_ResponsiveDisplayAdInfo.Unmarshal(m, b)
1914}
1915func (m *ResponsiveDisplayAdInfo) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
1916	return xxx_messageInfo_ResponsiveDisplayAdInfo.Marshal(b, m, deterministic)
1917}
1918func (m *ResponsiveDisplayAdInfo) XXX_Merge(src proto.Message) {
1919	xxx_messageInfo_ResponsiveDisplayAdInfo.Merge(m, src)
1920}
1921func (m *ResponsiveDisplayAdInfo) XXX_Size() int {
1922	return xxx_messageInfo_ResponsiveDisplayAdInfo.Size(m)
1923}
1924func (m *ResponsiveDisplayAdInfo) XXX_DiscardUnknown() {
1925	xxx_messageInfo_ResponsiveDisplayAdInfo.DiscardUnknown(m)
1926}
1927
1928var xxx_messageInfo_ResponsiveDisplayAdInfo proto.InternalMessageInfo
1929
1930func (m *ResponsiveDisplayAdInfo) GetMarketingImages() []*AdImageAsset {
1931	if m != nil {
1932		return m.MarketingImages
1933	}
1934	return nil
1935}
1936
1937func (m *ResponsiveDisplayAdInfo) GetSquareMarketingImages() []*AdImageAsset {
1938	if m != nil {
1939		return m.SquareMarketingImages
1940	}
1941	return nil
1942}
1943
1944func (m *ResponsiveDisplayAdInfo) GetLogoImages() []*AdImageAsset {
1945	if m != nil {
1946		return m.LogoImages
1947	}
1948	return nil
1949}
1950
1951func (m *ResponsiveDisplayAdInfo) GetSquareLogoImages() []*AdImageAsset {
1952	if m != nil {
1953		return m.SquareLogoImages
1954	}
1955	return nil
1956}
1957
1958func (m *ResponsiveDisplayAdInfo) GetHeadlines() []*AdTextAsset {
1959	if m != nil {
1960		return m.Headlines
1961	}
1962	return nil
1963}
1964
1965func (m *ResponsiveDisplayAdInfo) GetLongHeadline() *AdTextAsset {
1966	if m != nil {
1967		return m.LongHeadline
1968	}
1969	return nil
1970}
1971
1972func (m *ResponsiveDisplayAdInfo) GetDescriptions() []*AdTextAsset {
1973	if m != nil {
1974		return m.Descriptions
1975	}
1976	return nil
1977}
1978
1979func (m *ResponsiveDisplayAdInfo) GetYoutubeVideos() []*AdVideoAsset {
1980	if m != nil {
1981		return m.YoutubeVideos
1982	}
1983	return nil
1984}
1985
1986func (m *ResponsiveDisplayAdInfo) GetBusinessName() *wrappers.StringValue {
1987	if m != nil {
1988		return m.BusinessName
1989	}
1990	return nil
1991}
1992
1993func (m *ResponsiveDisplayAdInfo) GetMainColor() *wrappers.StringValue {
1994	if m != nil {
1995		return m.MainColor
1996	}
1997	return nil
1998}
1999
2000func (m *ResponsiveDisplayAdInfo) GetAccentColor() *wrappers.StringValue {
2001	if m != nil {
2002		return m.AccentColor
2003	}
2004	return nil
2005}
2006
2007func (m *ResponsiveDisplayAdInfo) GetAllowFlexibleColor() *wrappers.BoolValue {
2008	if m != nil {
2009		return m.AllowFlexibleColor
2010	}
2011	return nil
2012}
2013
2014func (m *ResponsiveDisplayAdInfo) GetCallToActionText() *wrappers.StringValue {
2015	if m != nil {
2016		return m.CallToActionText
2017	}
2018	return nil
2019}
2020
2021func (m *ResponsiveDisplayAdInfo) GetPricePrefix() *wrappers.StringValue {
2022	if m != nil {
2023		return m.PricePrefix
2024	}
2025	return nil
2026}
2027
2028func (m *ResponsiveDisplayAdInfo) GetPromoText() *wrappers.StringValue {
2029	if m != nil {
2030		return m.PromoText
2031	}
2032	return nil
2033}
2034
2035func (m *ResponsiveDisplayAdInfo) GetFormatSetting() enums.DisplayAdFormatSettingEnum_DisplayAdFormatSetting {
2036	if m != nil {
2037		return m.FormatSetting
2038	}
2039	return enums.DisplayAdFormatSettingEnum_UNSPECIFIED
2040}
2041
2042// A generic type of display ad. The exact ad format is controlled by the
2043// display_upload_product_type field, which determines what kinds of data
2044// need to be included with the ad.
2045type DisplayUploadAdInfo struct {
2046	// The product type of this ad. See comments on the enum for details.
2047	DisplayUploadProductType enums.DisplayUploadProductTypeEnum_DisplayUploadProductType `protobuf:"varint,1,opt,name=display_upload_product_type,json=displayUploadProductType,proto3,enum=google.ads.googleads.v2.enums.DisplayUploadProductTypeEnum_DisplayUploadProductType" json:"display_upload_product_type,omitempty"`
2048	// The asset data that makes up the ad.
2049	//
2050	// Types that are valid to be assigned to MediaAsset:
2051	//	*DisplayUploadAdInfo_MediaBundle
2052	MediaAsset           isDisplayUploadAdInfo_MediaAsset `protobuf_oneof:"media_asset"`
2053	XXX_NoUnkeyedLiteral struct{}                         `json:"-"`
2054	XXX_unrecognized     []byte                           `json:"-"`
2055	XXX_sizecache        int32                            `json:"-"`
2056}
2057
2058func (m *DisplayUploadAdInfo) Reset()         { *m = DisplayUploadAdInfo{} }
2059func (m *DisplayUploadAdInfo) String() string { return proto.CompactTextString(m) }
2060func (*DisplayUploadAdInfo) ProtoMessage()    {}
2061func (*DisplayUploadAdInfo) Descriptor() ([]byte, []int) {
2062	return fileDescriptor_7b1cab7fbeab5508, []int{25}
2063}
2064
2065func (m *DisplayUploadAdInfo) XXX_Unmarshal(b []byte) error {
2066	return xxx_messageInfo_DisplayUploadAdInfo.Unmarshal(m, b)
2067}
2068func (m *DisplayUploadAdInfo) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
2069	return xxx_messageInfo_DisplayUploadAdInfo.Marshal(b, m, deterministic)
2070}
2071func (m *DisplayUploadAdInfo) XXX_Merge(src proto.Message) {
2072	xxx_messageInfo_DisplayUploadAdInfo.Merge(m, src)
2073}
2074func (m *DisplayUploadAdInfo) XXX_Size() int {
2075	return xxx_messageInfo_DisplayUploadAdInfo.Size(m)
2076}
2077func (m *DisplayUploadAdInfo) XXX_DiscardUnknown() {
2078	xxx_messageInfo_DisplayUploadAdInfo.DiscardUnknown(m)
2079}
2080
2081var xxx_messageInfo_DisplayUploadAdInfo proto.InternalMessageInfo
2082
2083func (m *DisplayUploadAdInfo) GetDisplayUploadProductType() enums.DisplayUploadProductTypeEnum_DisplayUploadProductType {
2084	if m != nil {
2085		return m.DisplayUploadProductType
2086	}
2087	return enums.DisplayUploadProductTypeEnum_UNSPECIFIED
2088}
2089
2090type isDisplayUploadAdInfo_MediaAsset interface {
2091	isDisplayUploadAdInfo_MediaAsset()
2092}
2093
2094type DisplayUploadAdInfo_MediaBundle struct {
2095	MediaBundle *AdMediaBundleAsset `protobuf:"bytes,2,opt,name=media_bundle,json=mediaBundle,proto3,oneof"`
2096}
2097
2098func (*DisplayUploadAdInfo_MediaBundle) isDisplayUploadAdInfo_MediaAsset() {}
2099
2100func (m *DisplayUploadAdInfo) GetMediaAsset() isDisplayUploadAdInfo_MediaAsset {
2101	if m != nil {
2102		return m.MediaAsset
2103	}
2104	return nil
2105}
2106
2107func (m *DisplayUploadAdInfo) GetMediaBundle() *AdMediaBundleAsset {
2108	if x, ok := m.GetMediaAsset().(*DisplayUploadAdInfo_MediaBundle); ok {
2109		return x.MediaBundle
2110	}
2111	return nil
2112}
2113
2114// XXX_OneofWrappers is for the internal use of the proto package.
2115func (*DisplayUploadAdInfo) XXX_OneofWrappers() []interface{} {
2116	return []interface{}{
2117		(*DisplayUploadAdInfo_MediaBundle)(nil),
2118	}
2119}
2120
2121func init() {
2122	proto.RegisterType((*TextAdInfo)(nil), "google.ads.googleads.v2.common.TextAdInfo")
2123	proto.RegisterType((*ExpandedTextAdInfo)(nil), "google.ads.googleads.v2.common.ExpandedTextAdInfo")
2124	proto.RegisterType((*CallOnlyAdInfo)(nil), "google.ads.googleads.v2.common.CallOnlyAdInfo")
2125	proto.RegisterType((*ExpandedDynamicSearchAdInfo)(nil), "google.ads.googleads.v2.common.ExpandedDynamicSearchAdInfo")
2126	proto.RegisterType((*HotelAdInfo)(nil), "google.ads.googleads.v2.common.HotelAdInfo")
2127	proto.RegisterType((*ShoppingSmartAdInfo)(nil), "google.ads.googleads.v2.common.ShoppingSmartAdInfo")
2128	proto.RegisterType((*ShoppingProductAdInfo)(nil), "google.ads.googleads.v2.common.ShoppingProductAdInfo")
2129	proto.RegisterType((*ShoppingComparisonListingAdInfo)(nil), "google.ads.googleads.v2.common.ShoppingComparisonListingAdInfo")
2130	proto.RegisterType((*GmailAdInfo)(nil), "google.ads.googleads.v2.common.GmailAdInfo")
2131	proto.RegisterType((*GmailTeaser)(nil), "google.ads.googleads.v2.common.GmailTeaser")
2132	proto.RegisterType((*DisplayCallToAction)(nil), "google.ads.googleads.v2.common.DisplayCallToAction")
2133	proto.RegisterType((*ProductImage)(nil), "google.ads.googleads.v2.common.ProductImage")
2134	proto.RegisterType((*ProductVideo)(nil), "google.ads.googleads.v2.common.ProductVideo")
2135	proto.RegisterType((*ImageAdInfo)(nil), "google.ads.googleads.v2.common.ImageAdInfo")
2136	proto.RegisterType((*VideoBumperInStreamAdInfo)(nil), "google.ads.googleads.v2.common.VideoBumperInStreamAdInfo")
2137	proto.RegisterType((*VideoNonSkippableInStreamAdInfo)(nil), "google.ads.googleads.v2.common.VideoNonSkippableInStreamAdInfo")
2138	proto.RegisterType((*VideoTrueViewInStreamAdInfo)(nil), "google.ads.googleads.v2.common.VideoTrueViewInStreamAdInfo")
2139	proto.RegisterType((*VideoOutstreamAdInfo)(nil), "google.ads.googleads.v2.common.VideoOutstreamAdInfo")
2140	proto.RegisterType((*VideoAdInfo)(nil), "google.ads.googleads.v2.common.VideoAdInfo")
2141	proto.RegisterType((*ResponsiveSearchAdInfo)(nil), "google.ads.googleads.v2.common.ResponsiveSearchAdInfo")
2142	proto.RegisterType((*LegacyResponsiveDisplayAdInfo)(nil), "google.ads.googleads.v2.common.LegacyResponsiveDisplayAdInfo")
2143	proto.RegisterType((*AppAdInfo)(nil), "google.ads.googleads.v2.common.AppAdInfo")
2144	proto.RegisterType((*AppEngagementAdInfo)(nil), "google.ads.googleads.v2.common.AppEngagementAdInfo")
2145	proto.RegisterType((*LegacyAppInstallAdInfo)(nil), "google.ads.googleads.v2.common.LegacyAppInstallAdInfo")
2146	proto.RegisterType((*ResponsiveDisplayAdInfo)(nil), "google.ads.googleads.v2.common.ResponsiveDisplayAdInfo")
2147	proto.RegisterType((*DisplayUploadAdInfo)(nil), "google.ads.googleads.v2.common.DisplayUploadAdInfo")
2148}
2149
2150func init() {
2151	proto.RegisterFile("google/ads/googleads/v2/common/ad_type_infos.proto", fileDescriptor_7b1cab7fbeab5508)
2152}
2153
2154var fileDescriptor_7b1cab7fbeab5508 = []byte{
2155	// 2387 bytes of a gzipped FileDescriptorProto
2156	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xd4, 0x5a, 0xcb, 0x72, 0x1b, 0x59,
2157	0x19, 0xb6, 0x2c, 0x5f, 0xa4, 0x5f, 0x92, 0x2f, 0xed, 0x5c, 0x34, 0xce, 0x5c, 0x42, 0x2f, 0xa8,
2158	0x54, 0xc1, 0xc8, 0x44, 0x09, 0x14, 0xe3, 0x90, 0x09, 0xb2, 0x9d, 0x44, 0xae, 0x71, 0x12, 0x8f,
2159	0xec, 0x38, 0x54, 0x30, 0xd5, 0x75, 0xa4, 0x3e, 0x96, 0x9b, 0x74, 0x9f, 0x73, 0xe8, 0xd3, 0xed,
2160	0xd8, 0xdb, 0x59, 0xc0, 0x96, 0xaa, 0x59, 0x41, 0xb1, 0x62, 0x49, 0x15, 0x8f, 0xc0, 0x0a, 0x56,
2161	0x53, 0x05, 0x4f, 0xc0, 0x13, 0xc0, 0x23, 0xcc, 0x02, 0xea, 0x5c, 0xba, 0xd5, 0x92, 0x2c, 0xeb,
2162	0xc8, 0x1e, 0x48, 0xcd, 0x4a, 0x52, 0xf7, 0xff, 0x7d, 0xe7, 0xf6, 0x5f, 0xbe, 0xfe, 0x5b, 0x50,
2163	0xef, 0x52, 0xda, 0xf5, 0xf1, 0x1a, 0x72, 0xf9, 0x9a, 0xfa, 0x2a, 0xbe, 0x9d, 0xd4, 0xd7, 0x3a,
2164	0x34, 0x08, 0x28, 0x59, 0x43, 0xae, 0x13, 0x9d, 0x31, 0xec, 0x78, 0xe4, 0x88, 0xf2, 0x1a, 0x0b,
2165	0x69, 0x44, 0xad, 0x0f, 0x95, 0x61, 0x0d, 0xb9, 0xbc, 0x96, 0x62, 0x6a, 0x27, 0xf5, 0x9a, 0xc2,
2166	0xac, 0x7e, 0x3c, 0x9e, 0x13, 0x71, 0x8e, 0x23, 0x45, 0xb7, 0xba, 0x39, 0xca, 0x1c, 0x93, 0x38,
2167	0xe0, 0x6b, 0x1d, 0xe4, 0xfb, 0x4e, 0x87, 0x92, 0x13, 0x1c, 0x72, 0x8f, 0x12, 0x27, 0xc4, 0x8c,
2168	0x86, 0x91, 0x47, 0xba, 0x0e, 0x8f, 0x50, 0x84, 0x35, 0xc9, 0xc3, 0x8b, 0x49, 0x5c, 0x8f, 0x33,
2169	0x1f, 0x9d, 0x39, 0xc8, 0x75, 0x8e, 0x68, 0x18, 0xa0, 0xc8, 0xe1, 0x38, 0x12, 0x24, 0x1a, 0xfe,
2170	0xc8, 0x0c, 0x1e, 0x33, 0x9f, 0x22, 0xd7, 0x61, 0x21, 0x75, 0xe3, 0x4e, 0x24, 0x77, 0xc6, 0x6c,
2171	0x11, 0x3e, 0xee, 0xa2, 0xce, 0x99, 0x83, 0x18, 0x73, 0x3c, 0xc2, 0x23, 0xb1, 0x24, 0xb1, 0x0b,
2172	0x8c, 0x39, 0x3c, 0xa2, 0x61, 0x42, 0xf2, 0xf1, 0xc5, 0x24, 0x81, 0x17, 0xe0, 0xec, 0x98, 0xfa,
2173	0x1c, 0xd6, 0xe4, 0xaf, 0x76, 0x7c, 0xb4, 0xf6, 0x36, 0x44, 0x8c, 0xe1, 0x50, 0x9f, 0xd3, 0xea,
2174	0xfb, 0x09, 0x1d, 0xf3, 0xd6, 0x10, 0x21, 0x34, 0x42, 0x91, 0x47, 0x89, 0xbe, 0x6b, 0x7f, 0x95,
2175	0x03, 0xd8, 0xc7, 0xa7, 0x51, 0xc3, 0xdd, 0x26, 0x47, 0xd4, 0xfa, 0x31, 0x14, 0x8e, 0x31, 0x72,
2176	0x7d, 0x8f, 0xe0, 0x6a, 0xee, 0x76, 0xee, 0x4e, 0xa9, 0xfe, 0xbe, 0x3e, 0xdc, 0x5a, 0xc2, 0x5f,
2177	0xdb, 0x8b, 0x42, 0x8f, 0x74, 0x0f, 0x90, 0x1f, 0xe3, 0x56, 0x6a, 0x6d, 0xfd, 0x14, 0xca, 0x2e,
2178	0xe6, 0x9d, 0xd0, 0x63, 0x82, 0xfe, 0x6e, 0x75, 0xda, 0x00, 0xdd, 0x87, 0x18, 0x60, 0xa8, 0x57,
2179	0xf3, 0x13, 0x32, 0xd4, 0xed, 0xbf, 0xe7, 0xc1, 0x7a, 0x7c, 0xca, 0x10, 0x71, 0xb1, 0x9b, 0x59,
2180	0xd4, 0x26, 0x2c, 0x24, 0xd3, 0x74, 0x18, 0x0a, 0xa3, 0xbb, 0x46, 0x4b, 0xab, 0x24, 0x98, 0x5d,
2181	0x01, 0x19, 0x22, 0xa9, 0x1b, 0xad, 0xb0, 0x8f, 0xa4, 0x3e, 0x44, 0x72, 0xaf, 0x3a, 0x37, 0x29,
2182	0xc9, 0x3d, 0xeb, 0x53, 0x28, 0x65, 0x56, 0x6d, 0xb4, 0x4d, 0x59, 0xc0, 0xd0, 0x3e, 0xcf, 0x4f,
2183	0xba, 0xcf, 0x56, 0x1d, 0x66, 0x19, 0x8a, 0x8e, 0xef, 0x56, 0x67, 0x0c, 0xa0, 0xca, 0x34, 0xc1,
2184	0xd4, 0xab, 0xb3, 0xa6, 0x98, 0xba, 0xfd, 0xe7, 0x79, 0x58, 0xd8, 0x44, 0xbe, 0xff, 0x82, 0xf8,
2185	0x67, 0xfa, 0x2c, 0x1f, 0x41, 0xb9, 0x43, 0x63, 0x12, 0x85, 0x67, 0x4e, 0x87, 0xba, 0x66, 0x4e,
2186	0x5a, 0xd2, 0x88, 0x4d, 0xea, 0x62, 0x41, 0xc0, 0x8e, 0x29, 0xc1, 0x0e, 0x89, 0x83, 0x36, 0x0e,
2187	0x8d, 0x4e, 0xb1, 0x24, 0x11, 0xcf, 0x25, 0xc0, 0x6a, 0x40, 0xa5, 0x1d, 0x73, 0x8f, 0x60, 0xce,
2188	0x1d, 0x82, 0x02, 0x6c, 0xe6, 0xa7, 0x09, 0xe4, 0x39, 0x0a, 0xb0, 0xb5, 0x0e, 0xc5, 0xe4, 0x48,
2189	0xef, 0x56, 0x4b, 0x06, 0xf0, 0x9e, 0x79, 0x16, 0x5b, 0xaf, 0x96, 0x27, 0xc1, 0xd6, 0x87, 0x62,
2190	0x74, 0xe6, 0xca, 0x31, 0x3a, 0x3b, 0xb1, 0xef, 0x3c, 0x84, 0xb2, 0xcc, 0xe5, 0x51, 0x88, 0x3a,
2191	0x6f, 0xb0, 0xab, 0x03, 0x60, 0x75, 0x88, 0x61, 0x83, 0x52, 0x3f, 0x39, 0x3e, 0xe4, 0xfb, 0xfb,
2192	0xca, 0xdc, 0x6a, 0xc1, 0x4d, 0xd7, 0xe3, 0xa8, 0xed, 0x63, 0x67, 0xa0, 0x24, 0x68, 0x3f, 0xbe,
2193	0x88, 0xe9, 0xba, 0x86, 0x0a, 0x9f, 0xda, 0x4c, 0x81, 0x96, 0x03, 0x1f, 0x64, 0x5d, 0xc2, 0x39,
2194	0xc1, 0xa1, 0x77, 0xe4, 0x75, 0x64, 0x9e, 0x74, 0xe2, 0xd0, 0xaf, 0x16, 0x0c, 0x56, 0xb9, 0x9a,
2195	0xf1, 0x91, 0x83, 0x0c, 0xc1, 0xcb, 0xd0, 0xb7, 0xb6, 0x61, 0x39, 0x53, 0xba, 0x50, 0x47, 0xc6,
2196	0x6d, 0xd1, 0x80, 0x74, 0xa9, 0x07, 0x6b, 0x48, 0x94, 0xf5, 0xfb, 0x1c, 0xac, 0x8e, 0x2e, 0x83,
2197	0x55, 0xb8, 0x9d, 0xbb, 0xb3, 0x50, 0x3f, 0xac, 0x8d, 0xaa, 0xcd, 0xb2, 0x84, 0xd4, 0xfa, 0xd7,
2198	0xdf, 0x4a, 0x38, 0xf6, 0x04, 0xc5, 0x63, 0x12, 0x07, 0x17, 0x1a, 0xb4, 0xaa, 0x9d, 0x11, 0x77,
2199	0xec, 0x5f, 0xc0, 0xad, 0x24, 0xfd, 0x6e, 0x9d, 0x11, 0x14, 0x78, 0x9d, 0x3d, 0x8c, 0xc2, 0xce,
2200	0xb1, 0x8e, 0xdd, 0x81, 0xc4, 0x95, 0x9b, 0x30, 0x71, 0xd9, 0x15, 0x28, 0x35, 0x69, 0x84, 0x7d,
2201	0x45, 0x67, 0x5f, 0x87, 0x95, 0xbd, 0x63, 0xca, 0x98, 0x18, 0x3e, 0x40, 0xa1, 0xce, 0xf6, 0xf6,
2202	0x4d, 0xb8, 0x9e, 0x5c, 0xde, 0x55, 0x15, 0x5a, 0xdf, 0xf8, 0x39, 0x7c, 0x94, 0xdc, 0xd8, 0xa4,
2203	0x01, 0x43, 0xa1, 0xc7, 0x29, 0xd9, 0xf1, 0xb8, 0x98, 0xff, 0x55, 0xcb, 0x9f, 0xfd, 0xd7, 0x59,
2204	0x28, 0x3d, 0x0d, 0x90, 0xe7, 0xa7, 0x35, 0x67, 0x2e, 0xc2, 0x88, 0xe3, 0x50, 0xf3, 0x7c, 0xaf,
2205	0x76, 0xb1, 0x5c, 0xaa, 0x49, 0xf0, 0xbe, 0x84, 0xb4, 0x34, 0x54, 0xe4, 0x2a, 0x31, 0x00, 0x0e,
2206	0x1d, 0x2f, 0x40, 0x5d, 0x6c, 0x96, 0xab, 0x14, 0x62, 0x5b, 0x00, 0xac, 0xc7, 0xb0, 0x18, 0xa0,
2207	0xf0, 0x0d, 0x96, 0x1e, 0xa2, 0x38, 0x4c, 0xb2, 0xd5, 0x42, 0x0a, 0x52, 0x34, 0x07, 0x50, 0x1d,
2208	0xa0, 0x71, 0xd2, 0x6d, 0x32, 0xc9, 0x21, 0x37, 0xfa, 0xf9, 0x9a, 0x89, 0x66, 0x38, 0x84, 0x5b,
2209	0x83, 0xbc, 0x59, 0x07, 0x31, 0x49, 0x2e, 0xef, 0xf5, 0x53, 0x6f, 0x65, 0xea, 0xdc, 0xaf, 0x73,
2210	0xf0, 0xdd, 0x21, 0x7a, 0x2d, 0xe1, 0x54, 0x0a, 0xa2, 0x49, 0x2c, 0xaa, 0x24, 0x74, 0x6f, 0xdc,
2211	0x19, 0x6d, 0x29, 0xb4, 0x88, 0x8e, 0x7d, 0xaa, 0x02, 0xb2, 0xf5, 0x9d, 0x81, 0x09, 0x0c, 0x9b,
2212	0x58, 0x7b, 0xb0, 0x90, 0x68, 0x45, 0x39, 0x0b, 0x5e, 0x9d, 0xbf, 0x9d, 0xbf, 0x53, 0xaa, 0x7f,
2213	0x7f, 0xdc, 0x78, 0xda, 0x7f, 0x25, 0x71, 0xab, 0xc2, 0x32, 0xbf, 0x78, 0x96, 0xf4, 0xc4, 0x73,
2214	0x31, 0xe5, 0xd5, 0xc2, 0x44, 0xa4, 0x07, 0x02, 0x94, 0x92, 0xca, 0x5f, 0xdc, 0xfe, 0xcd, 0xb4,
2215	0xf6, 0x62, 0xe5, 0x88, 0x57, 0x90, 0x83, 0x03, 0xb1, 0x3e, 0x3d, 0xa9, 0x48, 0xf9, 0x06, 0xaa,
2216	0xec, 0x03, 0x00, 0x9f, 0x76, 0xa9, 0xf6, 0x7b, 0x13, 0x3f, 0x2d, 0x0a, 0x7b, 0xb9, 0xbf, 0xf6,
2217	0x3f, 0x72, 0xb0, 0x72, 0xde, 0x59, 0xfe, 0x00, 0x66, 0x22, 0x7c, 0x1a, 0x19, 0xed, 0x86, 0xb4,
2218	0x14, 0xd3, 0x10, 0x9f, 0x4e, 0x87, 0xfa, 0xd4, 0x4c, 0x6e, 0x14, 0x85, 0xfd, 0xa6, 0x30, 0xb7,
2219	0x9a, 0xb0, 0x1c, 0x87, 0xa2, 0xca, 0xf9, 0x3e, 0x96, 0x13, 0x70, 0x3c, 0xd7, 0x68, 0x2b, 0x16,
2220	0xe3, 0xd0, 0xdf, 0x4c, 0x51, 0xdb, 0xae, 0xfd, 0x75, 0x0e, 0xca, 0x59, 0x7f, 0x12, 0x3b, 0xdc,
2221	0xe7, 0x95, 0x46, 0x4b, 0x2a, 0x67, 0x9d, 0xf0, 0xca, 0x87, 0x7c, 0x0c, 0x37, 0x46, 0x04, 0x64,
2222	0xfe, 0xf2, 0x01, 0xb9, 0xe2, 0x0e, 0x5f, 0xb4, 0x3f, 0x4f, 0x17, 0x2f, 0x3d, 0x3d, 0xbb, 0x78,
2223	0x19, 0x3d, 0x13, 0x2d, 0x5e, 0x52, 0xd8, 0x5f, 0xcc, 0x41, 0x49, 0x6e, 0x83, 0xce, 0xf8, 0x3f,
2224	0x81, 0x12, 0xf3, 0x4e, 0xb1, 0xef, 0xbc, 0xf5, 0xdc, 0xe8, 0x58, 0xfb, 0xdb, 0xad, 0x21, 0xc2,
2225	0x6d, 0x12, 0xfd, 0xe8, 0xbe, 0xe2, 0x03, 0x69, 0xff, 0x4a, 0x98, 0x5b, 0x9f, 0x42, 0x59, 0xa1,
2226	0x8f, 0xb1, 0xd7, 0x3d, 0x8e, 0x74, 0xee, 0xbb, 0x10, 0xae, 0x86, 0x6b, 0x4a, 0x7b, 0xeb, 0x13,
2227	0x28, 0xaa, 0x0c, 0x27, 0xf4, 0x8a, 0xc9, 0x43, 0x45, 0x41, 0x9a, 0x0b, 0x75, 0xf2, 0x19, 0xac,
2228	0xb0, 0x10, 0x9f, 0x78, 0xf8, 0xad, 0x93, 0x5d, 0xc0, 0xfc, 0xf8, 0x19, 0x2c, 0x6b, 0xdc, 0x6e,
2229	0x6f, 0x1d, 0xcf, 0xe0, 0x5a, 0x3f, 0x99, 0x5e, 0x4f, 0x61, 0x3c, 0x9b, 0x95, 0x65, 0xd3, 0xcb,
2230	0x6a, 0x42, 0x32, 0x86, 0xd3, 0x5b, 0x9e, 0x89, 0x72, 0x5a, 0xd4, 0xb0, 0xed, 0x64, 0x95, 0x9f,
2231	0x43, 0x31, 0x7d, 0x72, 0xd6, 0x32, 0xe9, 0xfe, 0x18, 0x99, 0xf4, 0xcc, 0x0b, 0xf0, 0xfe, 0x19,
2232	0x53, 0x92, 0x28, 0xf9, 0xd1, 0x2a, 0x04, 0xfa, 0x9b, 0xc8, 0x05, 0x32, 0x35, 0x99, 0x28, 0x78,
2233	0x69, 0x69, 0x3d, 0x04, 0x08, 0xb0, 0xeb, 0x21, 0xe7, 0xc8, 0xf3, 0x8d, 0x02, 0xae, 0x39, 0xd5,
2234	0x2a, 0x4a, 0xc4, 0x13, 0xcf, 0xc7, 0xd6, 0x5d, 0x98, 0x71, 0x51, 0x84, 0x74, 0xa0, 0x0d, 0x6f,
2235	0xe6, 0xc6, 0x59, 0x84, 0x79, 0x82, 0x93, 0xa6, 0xd6, 0x3e, 0x54, 0x91, 0xeb, 0x78, 0xae, 0x88,
2236	0xad, 0x0e, 0x65, 0x67, 0x7a, 0x1b, 0x8f, 0x42, 0x1a, 0xe8, 0x20, 0xbb, 0xe8, 0x4c, 0x9a, 0x53,
2237	0xad, 0x15, 0xe4, 0x6e, 0xbb, 0xfb, 0x74, 0x93, 0xb2, 0x33, 0xb9, 0x97, 0x4f, 0x42, 0x1a, 0x6c,
2238	0xcc, 0xc3, 0xac, 0xe4, 0xb1, 0x5d, 0x78, 0x4f, 0x46, 0xc3, 0x46, 0x1c, 0x30, 0x1c, 0x6e, 0x93,
2239	0xbd, 0x28, 0xc4, 0x28, 0xd0, 0x11, 0xf1, 0x14, 0x96, 0x3a, 0x42, 0x68, 0x11, 0x91, 0xb7, 0xda,
2240	0x88, 0x90, 0x54, 0x0d, 0x8d, 0x39, 0xbb, 0x14, 0xb5, 0x21, 0x41, 0xf6, 0x2f, 0xe1, 0x23, 0x39,
2241	0xca, 0x73, 0x4a, 0xf6, 0xde, 0x78, 0x8c, 0x09, 0x0d, 0xff, 0xbf, 0x1a, 0xeb, 0xeb, 0x1c, 0xdc,
2242	0x92, 0x83, 0xed, 0x87, 0x31, 0x3e, 0x10, 0x1e, 0xd4, 0x3f, 0xd0, 0x0e, 0xac, 0xa8, 0x1c, 0xe5,
2243	0xb4, 0xe3, 0x28, 0xa2, 0xc4, 0xf1, 0x51, 0x1b, 0xfb, 0x46, 0x63, 0x2d, 0x2b, 0xe0, 0x86, 0xc4,
2244	0xed, 0x08, 0x98, 0x10, 0x68, 0x9a, 0x2d, 0xad, 0xb3, 0x26, 0x59, 0x74, 0x41, 0x81, 0x52, 0x21,
2245	0x75, 0xde, 0xea, 0xf3, 0x97, 0x59, 0xfd, 0x6f, 0x73, 0x70, 0x4d, 0xae, 0xfe, 0x45, 0x1c, 0xf1,
2246	0xec, 0xb2, 0xdf, 0x99, 0x12, 0xb0, 0xff, 0x96, 0x87, 0x92, 0x9c, 0x92, 0x9e, 0xc9, 0x83, 0x49,
2247	0x63, 0x28, 0x1b, 0x41, 0xaf, 0xa1, 0xe8, 0x11, 0x47, 0xad, 0x4c, 0x4f, 0xe5, 0xc1, 0xb8, 0x22,
2248	0x73, 0x81, 0x37, 0x34, 0xa7, 0x5a, 0x05, 0x4f, 0x5f, 0xb1, 0xf6, 0x60, 0xae, 0x2d, 0xc3, 0x40,
2249	0x6f, 0xfd, 0x27, 0x46, 0xc4, 0xe7, 0x45, 0x4e, 0x73, 0xaa, 0xa5, 0xa9, 0xac, 0x97, 0x00, 0x34,
2250	0x8e, 0x92, 0x19, 0xab, 0xa2, 0x72, 0xdf, 0x88, 0x78, 0xe0, 0x04, 0x45, 0x26, 0xa1, 0x71, 0xa4,
2251	0xe7, 0x7a, 0x04, 0x15, 0x42, 0x89, 0xc3, 0x93, 0x68, 0xd2, 0xf5, 0xe6, 0x91, 0x11, 0xf3, 0xe8,
2252	0x30, 0x6c, 0x4e, 0xb5, 0xca, 0x24, 0x73, 0x77, 0xa3, 0x00, 0x73, 0xaa, 0xd3, 0x6a, 0xff, 0x61,
2253	0x1a, 0x6e, 0xb4, 0x30, 0x67, 0x94, 0x70, 0xef, 0x04, 0xf7, 0x3d, 0x17, 0x6e, 0xf7, 0x5a, 0x1a,
2254	0xbc, 0x9a, 0x93, 0x2a, 0x76, 0xec, 0xe3, 0x52, 0x43, 0x35, 0xf8, 0x38, 0xc7, 0x51, 0xaf, 0xc3,
2255	0xc1, 0xad, 0x17, 0x7d, 0xfd, 0x09, 0x5e, 0x9d, 0x9e, 0x9c, 0xad, 0x8f, 0xa0, 0xd7, 0xea, 0xca,
2256	0x5f, 0xa2, 0xd5, 0x35, 0x63, 0xde, 0xea, 0xfa, 0x67, 0x01, 0x3e, 0xd8, 0x91, 0xed, 0xe1, 0xde,
2257	0x26, 0x69, 0x75, 0xd3, 0xeb, 0x62, 0xf2, 0x63, 0x1a, 0x46, 0xce, 0x44, 0x71, 0x58, 0x91, 0x98,
2258	0x34, 0x51, 0x34, 0xa0, 0xe2, 0x53, 0xd2, 0x9d, 0x2c, 0xdb, 0x94, 0x05, 0xa4, 0x39, 0x22, 0x9e,
2259	0xf3, 0x57, 0x56, 0xf6, 0x33, 0x13, 0x2b, 0xfb, 0x1d, 0xb8, 0x86, 0x7c, 0x9f, 0xbe, 0x75, 0x8e,
2260	0x7c, 0x7c, 0xea, 0xc9, 0x5e, 0x90, 0x14, 0xd7, 0xb3, 0x63, 0x3b, 0x40, 0x96, 0xc4, 0x3d, 0xd1,
2261	0x30, 0xa5, 0xb1, 0x1f, 0x41, 0x19, 0x75, 0x3a, 0x98, 0x24, 0x12, 0xdd, 0x44, 0x3d, 0x95, 0x14,
2262	0x42, 0x11, 0x88, 0x8c, 0x84, 0x3c, 0xa2, 0xe1, 0xf3, 0x46, 0x19, 0x09, 0x79, 0x44, 0x81, 0x3f,
2263	0x83, 0x95, 0x7e, 0xed, 0xeb, 0xc8, 0xe7, 0x8b, 0x82, 0x51, 0x77, 0x28, 0x23, 0x71, 0xf7, 0xf5,
2264	0xb3, 0x46, 0xe6, 0x91, 0xa7, 0x38, 0xd1, 0x23, 0x8f, 0xd0, 0x5a, 0xfc, 0x57, 0x31, 0x0a, 0xb1,
2265	0x93, 0xe1, 0x00, 0x93, 0x2a, 0xa2, 0x60, 0x3b, 0x29, 0xd3, 0x39, 0x6d, 0x87, 0xd2, 0x25, 0xda,
2266	0x0e, 0x2d, 0xb8, 0xa1, 0x27, 0x34, 0xc8, 0x66, 0xd2, 0xf7, 0xbc, 0xa6, 0xb0, 0xcf, 0xfa, 0x39,
2267	0xdf, 0xc2, 0x42, 0xff, 0xab, 0x9f, 0x6a, 0x45, 0x6a, 0xc1, 0xdd, 0x31, 0x5a, 0x30, 0x8d, 0xc5,
2268	0x27, 0x12, 0xbd, 0xa7, 0xc0, 0x52, 0x19, 0x9e, 0x7f, 0xab, 0x55, 0x39, 0xca, 0xfe, 0x94, 0x7d,
2269	0xe7, 0xd0, 0xeb, 0x60, 0x87, 0x85, 0xf8, 0xc8, 0x3b, 0xad, 0x2e, 0x18, 0xf5, 0x9d, 0x05, 0x62,
2270	0x57, 0x02, 0xc4, 0xd9, 0xb2, 0x90, 0x06, 0x54, 0xf9, 0xc7, 0xa2, 0xc9, 0xd9, 0x4a, 0x7b, 0xe1,
2271	0x18, 0xf6, 0x7f, 0xf2, 0x50, 0x6c, 0x30, 0xa6, 0x53, 0xc9, 0x2b, 0x58, 0x0e, 0x10, 0x71, 0x51,
2272	0x44, 0x43, 0xf9, 0x32, 0x2c, 0xf3, 0x44, 0x3b, 0x51, 0xaa, 0x5c, 0x4c, 0x59, 0xd4, 0xd5, 0xfe,
2273	0x4c, 0x3e, 0xfd, 0x8d, 0x66, 0xf2, 0xfc, 0x55, 0x33, 0xf9, 0x16, 0xcc, 0xe9, 0xee, 0xcb, 0x8c,
2274	0x59, 0xa3, 0xa4, 0xe1, 0xaa, 0xc7, 0x3b, 0xc9, 0xa5, 0xb1, 0xd6, 0x1e, 0x2c, 0x9c, 0xd1, 0x38,
2275	0x8a, 0xdb, 0x38, 0x69, 0xbb, 0xcc, 0x9a, 0xb2, 0x29, 0x11, 0x23, 0xd9, 0x2a, 0x9a, 0x43, 0xb5,
2276	0x5d, 0xac, 0x36, 0xac, 0x1c, 0x47, 0x81, 0xff, 0x43, 0x47, 0x09, 0x9b, 0x76, 0x4c, 0x5c, 0x1f,
2277	0xf3, 0xea, 0x9c, 0x64, 0xae, 0x8f, 0x67, 0x7e, 0x26, 0x60, 0x1b, 0x12, 0xa5, 0xf8, 0x97, 0x25,
2278	0x5d, 0xe6, 0x32, 0xb7, 0xff, 0x32, 0x0d, 0x2b, 0x0d, 0xc6, 0x1e, 0x93, 0x2e, 0xea, 0xe2, 0x00,
2279	0x93, 0xe8, 0x5b, 0x50, 0x7c, 0x7b, 0x47, 0x96, 0xbf, 0xc2, 0x91, 0x6d, 0xc1, 0x9c, 0x3e, 0xaa,
2280	0x99, 0x4b, 0x1c, 0x95, 0xc6, 0xda, 0x5f, 0xe4, 0xe1, 0x86, 0x2a, 0xd0, 0x0d, 0xc6, 0xb6, 0xd5,
2281	0xdb, 0x5b, 0xbd, 0x85, 0xf7, 0x60, 0x4e, 0xbe, 0xd2, 0x75, 0x8d, 0x2a, 0xf2, 0x2c, 0x62, 0x6c,
2282	0xdb, 0xb5, 0x62, 0x28, 0xa6, 0x2f, 0x7e, 0x65, 0x15, 0x5e, 0xa8, 0xff, 0x6c, 0x4c, 0x0e, 0x1a,
2283	0x1e, 0xbe, 0xc1, 0xd8, 0x9e, 0x20, 0x90, 0x79, 0x68, 0xf4, 0xed, 0x56, 0x01, 0xe9, 0x6f, 0x7d,
2284	0x3a, 0x3e, 0x7f, 0xa5, 0x17, 0xbc, 0xef, 0xe0, 0xe5, 0x91, 0xfd, 0x3b, 0x80, 0x9b, 0xa3, 0xf4,
2285	0xd1, 0x2b, 0x58, 0x1a, 0x28, 0x13, 0x89, 0x3f, 0x4f, 0xe6, 0x36, 0x8b, 0xfd, 0x55, 0x88, 0x5b,
2286	0x2e, 0xdc, 0x3c, 0xbf, 0x0c, 0x25, 0x1e, 0x3e, 0x19, 0xff, 0xf5, 0xf3, 0xea, 0x12, 0xb7, 0x9e,
2287	0x41, 0xa9, 0x57, 0x76, 0x2f, 0xe7, 0xf0, 0x90, 0xd6, 0x72, 0x6e, 0xbd, 0x06, 0x6b, 0xa8, 0x98,
2288	0x5f, 0x2e, 0xf3, 0x2d, 0x0d, 0x54, 0x77, 0xde, 0x9f, 0x32, 0x66, 0xaf, 0x94, 0x32, 0x76, 0x07,
2289	0xf5, 0xe8, 0xdc, 0xe4, 0x55, 0xa8, 0x5f, 0x9e, 0x0e, 0x26, 0xa1, 0xf9, 0xab, 0x26, 0xa1, 0xe1,
2290	0x8c, 0x5f, 0xb8, 0x7a, 0xc6, 0x1f, 0x12, 0xc1, 0xc5, 0xcb, 0xb4, 0xb7, 0x33, 0xaa, 0x13, 0x26,
2291	0x53, 0x9d, 0x83, 0x9a, 0xb7, 0x34, 0xa9, 0xe6, 0x1d, 0x25, 0xc1, 0xcb, 0x97, 0x92, 0xe0, 0x23,
2292	0x44, 0x70, 0xe5, 0x52, 0x22, 0xf8, 0x9d, 0x2a, 0xad, 0x73, 0x04, 0xe6, 0xd2, 0xff, 0x45, 0x60,
2293	0xda, 0x5f, 0x4e, 0xa7, 0x6f, 0x2c, 0x5e, 0xca, 0x3f, 0x28, 0xe9, 0xbc, 0xf8, 0x65, 0x0e, 0x6e,
2294	0x5d, 0xf0, 0xcf, 0x25, 0x59, 0xb3, 0x16, 0xea, 0xfb, 0x66, 0xd3, 0x53, 0xcc, 0xba, 0x95, 0x9e,
2295	0xf6, 0x46, 0x47, 0xdd, 0x6c, 0x55, 0xdd, 0x11, 0x77, 0xac, 0x57, 0x50, 0xce, 0x8a, 0x1d, 0xfd,
2296	0x1c, 0x7a, 0x09, 0xad, 0xd3, 0x9c, 0x6a, 0x95, 0x82, 0xde, 0xb5, 0x8d, 0x0a, 0xa8, 0x9f, 0xea,
2297	0xcf, 0x65, 0x1b, 0xff, 0xce, 0x81, 0xdd, 0xa1, 0xc1, 0x18, 0xde, 0x8d, 0xa5, 0x86, 0x2b, 0xa6,
2298	0x25, 0x36, 0x8c, 0xef, 0x8a, 0x13, 0xde, 0xcd, 0xbd, 0xde, 0xd2, 0x98, 0x2e, 0xf5, 0x11, 0xe9,
2299	0xd6, 0x68, 0xd8, 0x5d, 0xeb, 0x62, 0x22, 0xcf, 0x3f, 0xf9, 0x5f, 0x16, 0xf3, 0xf8, 0xa8, 0xff,
2300	0xb7, 0x3d, 0x50, 0x1f, 0x7f, 0x9c, 0xce, 0x3f, 0x6d, 0x34, 0xfe, 0x34, 0xfd, 0xe1, 0x53, 0x45,
2301	0xd6, 0x70, 0x79, 0x4d, 0x7d, 0x15, 0xdf, 0x0e, 0xea, 0xb5, 0x4d, 0x69, 0xf6, 0x55, 0x62, 0x70,
2302	0xd8, 0x70, 0xf9, 0x61, 0x6a, 0x70, 0x78, 0x50, 0x3f, 0x54, 0x06, 0xff, 0x9a, 0xb6, 0xd5, 0xd5,
2303	0xf5, 0xf5, 0x86, 0xcb, 0xd7, 0xd7, 0x53, 0x93, 0xf5, 0xf5, 0x83, 0xfa, 0xfa, 0xba, 0x32, 0x6a,
2304	0xcf, 0xc9, 0xd9, 0xdd, 0xfb, 0x6f, 0x00, 0x00, 0x00, 0xff, 0xff, 0x0e, 0x56, 0x6f, 0xfe, 0xd0,
2305	0x27, 0x00, 0x00,
2306}
2307