1// Code generated by protoc-gen-go. DO NOT EDIT. 2// source: google/ads/googleads/v1/resources/campaign_budget.proto 3 4package resources 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/v1/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 campaign budget. 28type CampaignBudget struct { 29 // Immutable. The resource name of the campaign budget. 30 // Campaign budget resource names have the form: 31 // 32 // `customers/{customer_id}/campaignBudgets/{budget_id}` 33 ResourceName string `protobuf:"bytes,1,opt,name=resource_name,json=resourceName,proto3" json:"resource_name,omitempty"` 34 // Output only. The ID of the campaign budget. 35 // 36 // A campaign budget is created using the CampaignBudgetService create 37 // operation and is assigned a budget ID. A budget ID can be shared across 38 // different campaigns; the system will then allocate the campaign budget 39 // among different campaigns to get optimum results. 40 Id *wrappers.Int64Value `protobuf:"bytes,3,opt,name=id,proto3" json:"id,omitempty"` 41 // The name of the campaign budget. 42 // 43 // When creating a campaign budget through CampaignBudgetService, every 44 // explicitly shared campaign budget must have a non-null, non-empty name. 45 // Campaign budgets that are not explicitly shared derive their name from the 46 // attached campaign's name. 47 // 48 // The length of this string must be between 1 and 255, inclusive, 49 // in UTF-8 bytes, (trimmed). 50 Name *wrappers.StringValue `protobuf:"bytes,4,opt,name=name,proto3" json:"name,omitempty"` 51 // The amount of the budget, in the local currency for the account. 52 // Amount is specified in micros, where one million is equivalent to one 53 // currency unit. Monthly spend is capped at 30.4 times this amount. 54 AmountMicros *wrappers.Int64Value `protobuf:"bytes,5,opt,name=amount_micros,json=amountMicros,proto3" json:"amount_micros,omitempty"` 55 // The lifetime amount of the budget, in the local currency for the account. 56 // Amount is specified in micros, where one million is equivalent to one 57 // currency unit. 58 TotalAmountMicros *wrappers.Int64Value `protobuf:"bytes,10,opt,name=total_amount_micros,json=totalAmountMicros,proto3" json:"total_amount_micros,omitempty"` 59 // Output only. The status of this campaign budget. This field is read-only. 60 Status enums.BudgetStatusEnum_BudgetStatus `protobuf:"varint,6,opt,name=status,proto3,enum=google.ads.googleads.v1.enums.BudgetStatusEnum_BudgetStatus" json:"status,omitempty"` 61 // The delivery method that determines the rate at which the campaign budget 62 // is spent. 63 // 64 // Defaults to STANDARD if unspecified in a create operation. 65 DeliveryMethod enums.BudgetDeliveryMethodEnum_BudgetDeliveryMethod `protobuf:"varint,7,opt,name=delivery_method,json=deliveryMethod,proto3,enum=google.ads.googleads.v1.enums.BudgetDeliveryMethodEnum_BudgetDeliveryMethod" json:"delivery_method,omitempty"` 66 // Specifies whether the budget is explicitly shared. Defaults to true if 67 // unspecified in a create operation. 68 // 69 // If true, the budget was created with the purpose of sharing 70 // across one or more campaigns. 71 // 72 // If false, the budget was created with the intention of only being used 73 // with a single campaign. The budget's name and status will stay in sync 74 // with the campaign's name and status. Attempting to share the budget with a 75 // second campaign will result in an error. 76 // 77 // A non-shared budget can become an explicitly shared. The same operation 78 // must also assign the budget a name. 79 // 80 // A shared campaign budget can never become non-shared. 81 ExplicitlyShared *wrappers.BoolValue `protobuf:"bytes,8,opt,name=explicitly_shared,json=explicitlyShared,proto3" json:"explicitly_shared,omitempty"` 82 // Output only. The number of campaigns actively using the budget. 83 // 84 // This field is read-only. 85 ReferenceCount *wrappers.Int64Value `protobuf:"bytes,9,opt,name=reference_count,json=referenceCount,proto3" json:"reference_count,omitempty"` 86 // Output only. Indicates whether there is a recommended budget for this campaign budget. 87 // 88 // This field is read-only. 89 HasRecommendedBudget *wrappers.BoolValue `protobuf:"bytes,11,opt,name=has_recommended_budget,json=hasRecommendedBudget,proto3" json:"has_recommended_budget,omitempty"` 90 // Output only. The recommended budget amount. If no recommendation is available, this will 91 // be set to the budget amount. 92 // Amount is specified in micros, where one million is equivalent to one 93 // currency unit. 94 // 95 // This field is read-only. 96 RecommendedBudgetAmountMicros *wrappers.Int64Value `protobuf:"bytes,12,opt,name=recommended_budget_amount_micros,json=recommendedBudgetAmountMicros,proto3" json:"recommended_budget_amount_micros,omitempty"` 97 // Immutable. Period over which to spend the budget. Defaults to DAILY if not specified. 98 Period enums.BudgetPeriodEnum_BudgetPeriod `protobuf:"varint,13,opt,name=period,proto3,enum=google.ads.googleads.v1.enums.BudgetPeriodEnum_BudgetPeriod" json:"period,omitempty"` 99 // Output only. The estimated change in weekly clicks if the recommended budget is applied. 100 // 101 // This field is read-only. 102 RecommendedBudgetEstimatedChangeWeeklyClicks *wrappers.Int64Value `protobuf:"bytes,14,opt,name=recommended_budget_estimated_change_weekly_clicks,json=recommendedBudgetEstimatedChangeWeeklyClicks,proto3" json:"recommended_budget_estimated_change_weekly_clicks,omitempty"` 103 // Output only. The estimated change in weekly cost in micros if the recommended budget is 104 // applied. One million is equivalent to one currency unit. 105 // 106 // This field is read-only. 107 RecommendedBudgetEstimatedChangeWeeklyCostMicros *wrappers.Int64Value `protobuf:"bytes,15,opt,name=recommended_budget_estimated_change_weekly_cost_micros,json=recommendedBudgetEstimatedChangeWeeklyCostMicros,proto3" json:"recommended_budget_estimated_change_weekly_cost_micros,omitempty"` 108 // Output only. The estimated change in weekly interactions if the recommended budget is 109 // applied. 110 // 111 // This field is read-only. 112 RecommendedBudgetEstimatedChangeWeeklyInteractions *wrappers.Int64Value `protobuf:"bytes,16,opt,name=recommended_budget_estimated_change_weekly_interactions,json=recommendedBudgetEstimatedChangeWeeklyInteractions,proto3" json:"recommended_budget_estimated_change_weekly_interactions,omitempty"` 113 // Output only. The estimated change in weekly views if the recommended budget is applied. 114 // 115 // This field is read-only. 116 RecommendedBudgetEstimatedChangeWeeklyViews *wrappers.Int64Value `protobuf:"bytes,17,opt,name=recommended_budget_estimated_change_weekly_views,json=recommendedBudgetEstimatedChangeWeeklyViews,proto3" json:"recommended_budget_estimated_change_weekly_views,omitempty"` 117 // Immutable. The type of the campaign budget. 118 Type enums.BudgetTypeEnum_BudgetType `protobuf:"varint,18,opt,name=type,proto3,enum=google.ads.googleads.v1.enums.BudgetTypeEnum_BudgetType" json:"type,omitempty"` 119 XXX_NoUnkeyedLiteral struct{} `json:"-"` 120 XXX_unrecognized []byte `json:"-"` 121 XXX_sizecache int32 `json:"-"` 122} 123 124func (m *CampaignBudget) Reset() { *m = CampaignBudget{} } 125func (m *CampaignBudget) String() string { return proto.CompactTextString(m) } 126func (*CampaignBudget) ProtoMessage() {} 127func (*CampaignBudget) Descriptor() ([]byte, []int) { 128 return fileDescriptor_ed30a48e8c388be6, []int{0} 129} 130 131func (m *CampaignBudget) XXX_Unmarshal(b []byte) error { 132 return xxx_messageInfo_CampaignBudget.Unmarshal(m, b) 133} 134func (m *CampaignBudget) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { 135 return xxx_messageInfo_CampaignBudget.Marshal(b, m, deterministic) 136} 137func (m *CampaignBudget) XXX_Merge(src proto.Message) { 138 xxx_messageInfo_CampaignBudget.Merge(m, src) 139} 140func (m *CampaignBudget) XXX_Size() int { 141 return xxx_messageInfo_CampaignBudget.Size(m) 142} 143func (m *CampaignBudget) XXX_DiscardUnknown() { 144 xxx_messageInfo_CampaignBudget.DiscardUnknown(m) 145} 146 147var xxx_messageInfo_CampaignBudget proto.InternalMessageInfo 148 149func (m *CampaignBudget) GetResourceName() string { 150 if m != nil { 151 return m.ResourceName 152 } 153 return "" 154} 155 156func (m *CampaignBudget) GetId() *wrappers.Int64Value { 157 if m != nil { 158 return m.Id 159 } 160 return nil 161} 162 163func (m *CampaignBudget) GetName() *wrappers.StringValue { 164 if m != nil { 165 return m.Name 166 } 167 return nil 168} 169 170func (m *CampaignBudget) GetAmountMicros() *wrappers.Int64Value { 171 if m != nil { 172 return m.AmountMicros 173 } 174 return nil 175} 176 177func (m *CampaignBudget) GetTotalAmountMicros() *wrappers.Int64Value { 178 if m != nil { 179 return m.TotalAmountMicros 180 } 181 return nil 182} 183 184func (m *CampaignBudget) GetStatus() enums.BudgetStatusEnum_BudgetStatus { 185 if m != nil { 186 return m.Status 187 } 188 return enums.BudgetStatusEnum_UNSPECIFIED 189} 190 191func (m *CampaignBudget) GetDeliveryMethod() enums.BudgetDeliveryMethodEnum_BudgetDeliveryMethod { 192 if m != nil { 193 return m.DeliveryMethod 194 } 195 return enums.BudgetDeliveryMethodEnum_UNSPECIFIED 196} 197 198func (m *CampaignBudget) GetExplicitlyShared() *wrappers.BoolValue { 199 if m != nil { 200 return m.ExplicitlyShared 201 } 202 return nil 203} 204 205func (m *CampaignBudget) GetReferenceCount() *wrappers.Int64Value { 206 if m != nil { 207 return m.ReferenceCount 208 } 209 return nil 210} 211 212func (m *CampaignBudget) GetHasRecommendedBudget() *wrappers.BoolValue { 213 if m != nil { 214 return m.HasRecommendedBudget 215 } 216 return nil 217} 218 219func (m *CampaignBudget) GetRecommendedBudgetAmountMicros() *wrappers.Int64Value { 220 if m != nil { 221 return m.RecommendedBudgetAmountMicros 222 } 223 return nil 224} 225 226func (m *CampaignBudget) GetPeriod() enums.BudgetPeriodEnum_BudgetPeriod { 227 if m != nil { 228 return m.Period 229 } 230 return enums.BudgetPeriodEnum_UNSPECIFIED 231} 232 233func (m *CampaignBudget) GetRecommendedBudgetEstimatedChangeWeeklyClicks() *wrappers.Int64Value { 234 if m != nil { 235 return m.RecommendedBudgetEstimatedChangeWeeklyClicks 236 } 237 return nil 238} 239 240func (m *CampaignBudget) GetRecommendedBudgetEstimatedChangeWeeklyCostMicros() *wrappers.Int64Value { 241 if m != nil { 242 return m.RecommendedBudgetEstimatedChangeWeeklyCostMicros 243 } 244 return nil 245} 246 247func (m *CampaignBudget) GetRecommendedBudgetEstimatedChangeWeeklyInteractions() *wrappers.Int64Value { 248 if m != nil { 249 return m.RecommendedBudgetEstimatedChangeWeeklyInteractions 250 } 251 return nil 252} 253 254func (m *CampaignBudget) GetRecommendedBudgetEstimatedChangeWeeklyViews() *wrappers.Int64Value { 255 if m != nil { 256 return m.RecommendedBudgetEstimatedChangeWeeklyViews 257 } 258 return nil 259} 260 261func (m *CampaignBudget) GetType() enums.BudgetTypeEnum_BudgetType { 262 if m != nil { 263 return m.Type 264 } 265 return enums.BudgetTypeEnum_UNSPECIFIED 266} 267 268func init() { 269 proto.RegisterType((*CampaignBudget)(nil), "google.ads.googleads.v1.resources.CampaignBudget") 270} 271 272func init() { 273 proto.RegisterFile("google/ads/googleads/v1/resources/campaign_budget.proto", fileDescriptor_ed30a48e8c388be6) 274} 275 276var fileDescriptor_ed30a48e8c388be6 = []byte{ 277 // 846 bytes of a gzipped FileDescriptorProto 278 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x94, 0x96, 0xdf, 0x6e, 0xdc, 0x44, 279 0x14, 0xc6, 0xe5, 0xcd, 0x1f, 0xe8, 0x34, 0xd9, 0x34, 0x53, 0x84, 0x4c, 0x28, 0x90, 0x22, 0x55, 280 0x04, 0x81, 0xec, 0x6c, 0x40, 0x29, 0x32, 0x5c, 0xe0, 0x0d, 0x55, 0x14, 0xa0, 0x28, 0x6c, 0xca, 281 0x22, 0x50, 0x24, 0x6b, 0xe2, 0x39, 0xf1, 0x8e, 0x6a, 0xcf, 0x58, 0x33, 0xe3, 0x0d, 0x2b, 0x54, 282 0x89, 0x3b, 0xc4, 0x2d, 0x12, 0x2f, 0xc0, 0x25, 0x8f, 0xc2, 0x13, 0x70, 0xd9, 0xeb, 0x3e, 0x02, 283 0x57, 0xc8, 0x33, 0xb6, 0xb3, 0x9b, 0x90, 0xae, 0xf7, 0xee, 0x78, 0xcf, 0xf9, 0x7d, 0xe7, 0xf3, 284 0xf1, 0x59, 0x7b, 0xd0, 0xc3, 0x44, 0x88, 0x24, 0x05, 0x9f, 0x50, 0xe5, 0xdb, 0xb0, 0x8c, 0xc6, 285 0x3d, 0x5f, 0x82, 0x12, 0x85, 0x8c, 0x41, 0xf9, 0x31, 0xc9, 0x72, 0xc2, 0x12, 0x1e, 0x9d, 0x15, 286 0x34, 0x01, 0xed, 0xe5, 0x52, 0x68, 0x81, 0xef, 0xdb, 0x6a, 0x8f, 0x50, 0xe5, 0x35, 0xa0, 0x37, 287 0xee, 0x79, 0x0d, 0xb8, 0x15, 0xdc, 0xa4, 0x0d, 0xbc, 0xc8, 0x94, 0x6f, 0xe5, 0x22, 0x0a, 0x29, 288 0x1b, 0x83, 0x9c, 0x44, 0x19, 0xe8, 0x91, 0xa0, 0x56, 0x7e, 0xab, 0xd7, 0x8a, 0xcd, 0x41, 0xb2, 289 0x05, 0x11, 0xa5, 0x89, 0x2e, 0x54, 0x85, 0xf8, 0xad, 0x10, 0x3d, 0xc9, 0xa1, 0x02, 0xde, 0xa9, 290 0x81, 0x9c, 0xf9, 0xe7, 0x0c, 0x52, 0x1a, 0x9d, 0xc1, 0x88, 0x8c, 0x99, 0x90, 0x55, 0xc1, 0x1b, 291 0x53, 0x05, 0xf5, 0x24, 0xaa, 0xd4, 0xdb, 0x55, 0xca, 0x5c, 0x9d, 0x15, 0xe7, 0xfe, 0x85, 0x24, 292 0x79, 0x0e, 0xb2, 0x36, 0x73, 0x6f, 0x0a, 0x25, 0x9c, 0x0b, 0x4d, 0x34, 0x13, 0xbc, 0xca, 0xbe, 293 0xfb, 0xcf, 0x3a, 0xea, 0x1e, 0x54, 0x4f, 0xa2, 0x6f, 0x7c, 0xe1, 0x27, 0x68, 0xbd, 0x6e, 0x11, 294 0x71, 0x92, 0x81, 0xeb, 0x6c, 0x3b, 0x3b, 0xb7, 0xfa, 0xfe, 0xf3, 0x70, 0xe5, 0xdf, 0xf0, 0x7d, 295 0xf4, 0xde, 0xe5, 0x63, 0xa9, 0xa2, 0x9c, 0x29, 0x2f, 0x16, 0x99, 0x3f, 0xab, 0x33, 0x58, 0xab, 296 0x55, 0xbe, 0x21, 0x19, 0xe0, 0x5d, 0xd4, 0x61, 0xd4, 0x5d, 0xda, 0x76, 0x76, 0x6e, 0xef, 0xbd, 297 0x59, 0x91, 0x5e, 0xed, 0xd9, 0x3b, 0xe2, 0x7a, 0xff, 0xe3, 0x21, 0x49, 0x0b, 0xe8, 0x2f, 0x3d, 298 0x0f, 0x97, 0x06, 0x1d, 0x46, 0xf1, 0x2e, 0x5a, 0x36, 0xed, 0x97, 0x0d, 0x73, 0xef, 0x1a, 0x73, 299 0xa2, 0x25, 0xe3, 0x89, 0x81, 0x06, 0xa6, 0x12, 0x7f, 0x8e, 0xd6, 0x49, 0x26, 0x0a, 0xae, 0xa3, 300 0x8c, 0xc5, 0x52, 0x28, 0x77, 0x65, 0x6e, 0xbb, 0xc1, 0x9a, 0x25, 0x1e, 0x1b, 0x00, 0x7f, 0x85, 301 0xee, 0x6a, 0xa1, 0x49, 0x1a, 0xcd, 0xea, 0xa0, 0xf9, 0x3a, 0x9b, 0x86, 0x0b, 0xa7, 0xc5, 0x7e, 302 0x40, 0xab, 0x76, 0x2d, 0xdc, 0xd5, 0x6d, 0x67, 0xa7, 0xbb, 0xf7, 0x99, 0x77, 0xd3, 0x72, 0x9b, 303 0xbd, 0xf0, 0xec, 0xdc, 0x4e, 0x0c, 0xf2, 0x88, 0x17, 0xd9, 0xcc, 0x0f, 0x76, 0x2e, 0x95, 0x20, 304 0x2e, 0xd0, 0xc6, 0x95, 0x05, 0x77, 0x5f, 0x31, 0x3d, 0xbe, 0x6e, 0xd5, 0xe3, 0x8b, 0x8a, 0x7d, 305 0x6c, 0xd0, 0xa9, 0x5e, 0xb3, 0x89, 0x41, 0x97, 0xce, 0x5c, 0xe3, 0x43, 0xb4, 0x09, 0x3f, 0xe5, 306 0x29, 0x8b, 0x99, 0x4e, 0x27, 0x91, 0x1a, 0x11, 0x09, 0xd4, 0x7d, 0xd5, 0x0c, 0x67, 0xeb, 0xda, 307 0x70, 0xfa, 0x42, 0xa4, 0x76, 0x36, 0x77, 0x2e, 0xa1, 0x13, 0xc3, 0xe0, 0x23, 0xb4, 0x21, 0xe1, 308 0x1c, 0x24, 0xf0, 0x18, 0xa2, 0xb8, 0x9c, 0x99, 0x7b, 0xab, 0xe5, 0x6a, 0x74, 0x1b, 0xf0, 0xa0, 309 0xe4, 0xf0, 0x77, 0xe8, 0xf5, 0x11, 0x51, 0x91, 0x84, 0x58, 0x64, 0x19, 0x70, 0x0a, 0xb4, 0x7a, 310 0xa3, 0xb8, 0xb7, 0xe7, 0x19, 0xb3, 0x82, 0xaf, 0x8d, 0x88, 0x1a, 0x5c, 0xd2, 0xd5, 0xbf, 0x80, 311 0xa1, 0xed, 0xeb, 0x92, 0x57, 0xd6, 0x62, 0xad, 0xa5, 0xe5, 0xb7, 0xe4, 0x55, 0xf9, 0xab, 0x7b, 312 0x62, 0xdf, 0x38, 0xee, 0xfa, 0x02, 0x7b, 0x72, 0x6c, 0x90, 0xa9, 0x67, 0x67, 0x7f, 0x28, 0x3b, 313 0xae, 0x0c, 0x2a, 0x41, 0xfc, 0x9b, 0x83, 0x7a, 0xff, 0x73, 0x1b, 0xa0, 0x34, 0xcb, 0x88, 0x06, 314 0x1a, 0xc5, 0x23, 0xc2, 0x13, 0x88, 0x2e, 0x00, 0x9e, 0xa6, 0x93, 0x28, 0x4e, 0x59, 0xfc, 0x54, 315 0xb9, 0xdd, 0x96, 0xf7, 0xf5, 0xe1, 0xb5, 0xfb, 0x7a, 0x54, 0x0b, 0x1f, 0x18, 0xdd, 0xef, 0x8d, 316 0xec, 0x81, 0x51, 0xc5, 0xbf, 0x3b, 0x68, 0x7f, 0x11, 0x2f, 0x42, 0x35, 0x83, 0xde, 0x68, 0x69, 317 0x68, 0xb7, 0xa5, 0x21, 0xa1, 0xea, 0xd9, 0xff, 0xe1, 0xa0, 0x87, 0x0b, 0x98, 0x62, 0x5c, 0x83, 318 0x24, 0xb1, 0x79, 0x83, 0xba, 0x77, 0x5a, 0xba, 0xda, 0x6b, 0xe7, 0xea, 0x68, 0x4a, 0x1b, 0xff, 319 0xea, 0xa0, 0xdd, 0x05, 0x7c, 0x8d, 0x19, 0x5c, 0x28, 0x77, 0xb3, 0xa5, 0xa1, 0x0f, 0xda, 0x19, 320 0x1a, 0x96, 0xa2, 0xf8, 0x5b, 0xb4, 0x5c, 0x7e, 0xa9, 0x5c, 0x6c, 0x76, 0xf3, 0x93, 0x56, 0xbb, 321 0xf9, 0x64, 0x92, 0xc3, 0xd4, 0x66, 0x96, 0x97, 0x76, 0x2f, 0x8d, 0x54, 0x40, 0x5f, 0x84, 0xa4, 322 0xf5, 0x77, 0x04, 0xef, 0xc7, 0x85, 0xd2, 0x22, 0x03, 0xa9, 0xfc, 0x9f, 0xeb, 0xf0, 0x59, 0x73, 323 0x7c, 0xb0, 0x45, 0x65, 0x6a, 0xf6, 0x3c, 0xf1, 0xac, 0xff, 0x4b, 0x07, 0x3d, 0x88, 0x45, 0xe6, 324 0xcd, 0x3d, 0x51, 0xf4, 0xef, 0xce, 0x76, 0x3c, 0x2e, 0xe7, 0x76, 0xec, 0xfc, 0xf8, 0x65, 0x45, 325 0x26, 0x22, 0x25, 0x3c, 0xf1, 0x84, 0x4c, 0xfc, 0x04, 0xb8, 0x99, 0xaa, 0x7f, 0x69, 0xf9, 0x25, 326 0x67, 0x9c, 0x4f, 0x9b, 0xe8, 0xcf, 0xce, 0xd2, 0x61, 0x18, 0xfe, 0xd5, 0xb9, 0x7f, 0x68, 0x25, 327 0x43, 0xaa, 0x3c, 0x1b, 0x96, 0xd1, 0xb0, 0xe7, 0x0d, 0xea, 0xca, 0xbf, 0xeb, 0x9a, 0xd3, 0x90, 328 0xaa, 0xd3, 0xa6, 0xe6, 0x74, 0xd8, 0x3b, 0x6d, 0x6a, 0x5e, 0x74, 0x1e, 0xd8, 0x44, 0x10, 0x84, 329 0x54, 0x05, 0x41, 0x53, 0x15, 0x04, 0xc3, 0x5e, 0x10, 0x34, 0x75, 0x67, 0xab, 0xc6, 0xec, 0x47, 330 0xff, 0x05, 0x00, 0x00, 0xff, 0xff, 0x16, 0x76, 0x1f, 0x2b, 0x8f, 0x09, 0x00, 0x00, 331} 332