blob: 6a4bac4030e3c4973f5f6958a1073861a284689a [file] [log] [blame]
William Kurkianea869482019-04-09 15:16:11 -04001// Code generated by protoc-gen-go. DO NOT EDIT.
2// source: voltha_protos/device.proto
3
4package voltha
5
6import (
7 fmt "fmt"
8 proto "github.com/golang/protobuf/proto"
9 any "github.com/golang/protobuf/ptypes/any"
kesavand62126212021-01-12 04:56:06 -050010 timestamp "github.com/golang/protobuf/ptypes/timestamp"
Girish Gowdraa09aeab2020-09-14 16:30:52 -070011 common "github.com/opencord/voltha-protos/v4/go/common"
12 openflow_13 "github.com/opencord/voltha-protos/v4/go/openflow_13"
William Kurkianea869482019-04-09 15:16:11 -040013 math "math"
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
27type PmConfig_PmType int32
28
29const (
30 PmConfig_COUNTER PmConfig_PmType = 0
31 PmConfig_GAUGE PmConfig_PmType = 1
32 PmConfig_STATE PmConfig_PmType = 2
33 PmConfig_CONTEXT PmConfig_PmType = 3
34)
35
36var PmConfig_PmType_name = map[int32]string{
37 0: "COUNTER",
38 1: "GAUGE",
39 2: "STATE",
40 3: "CONTEXT",
41}
42
43var PmConfig_PmType_value = map[string]int32{
44 "COUNTER": 0,
45 "GAUGE": 1,
46 "STATE": 2,
47 "CONTEXT": 3,
48}
49
50func (x PmConfig_PmType) String() string {
51 return proto.EnumName(PmConfig_PmType_name, int32(x))
52}
53
54func (PmConfig_PmType) EnumDescriptor() ([]byte, []int) {
55 return fileDescriptor_200940f73d155856, []int{2, 0}
56}
57
58type ImageDownload_ImageDownloadState int32
59
60const (
61 ImageDownload_DOWNLOAD_UNKNOWN ImageDownload_ImageDownloadState = 0
62 ImageDownload_DOWNLOAD_SUCCEEDED ImageDownload_ImageDownloadState = 1
63 ImageDownload_DOWNLOAD_REQUESTED ImageDownload_ImageDownloadState = 2
64 ImageDownload_DOWNLOAD_STARTED ImageDownload_ImageDownloadState = 3
65 ImageDownload_DOWNLOAD_FAILED ImageDownload_ImageDownloadState = 4
66 ImageDownload_DOWNLOAD_UNSUPPORTED ImageDownload_ImageDownloadState = 5
67 ImageDownload_DOWNLOAD_CANCELLED ImageDownload_ImageDownloadState = 6
68)
69
70var ImageDownload_ImageDownloadState_name = map[int32]string{
71 0: "DOWNLOAD_UNKNOWN",
72 1: "DOWNLOAD_SUCCEEDED",
73 2: "DOWNLOAD_REQUESTED",
74 3: "DOWNLOAD_STARTED",
75 4: "DOWNLOAD_FAILED",
76 5: "DOWNLOAD_UNSUPPORTED",
77 6: "DOWNLOAD_CANCELLED",
78}
79
80var ImageDownload_ImageDownloadState_value = map[string]int32{
81 "DOWNLOAD_UNKNOWN": 0,
82 "DOWNLOAD_SUCCEEDED": 1,
83 "DOWNLOAD_REQUESTED": 2,
84 "DOWNLOAD_STARTED": 3,
85 "DOWNLOAD_FAILED": 4,
86 "DOWNLOAD_UNSUPPORTED": 5,
87 "DOWNLOAD_CANCELLED": 6,
88}
89
90func (x ImageDownload_ImageDownloadState) String() string {
91 return proto.EnumName(ImageDownload_ImageDownloadState_name, int32(x))
92}
93
94func (ImageDownload_ImageDownloadState) EnumDescriptor() ([]byte, []int) {
95 return fileDescriptor_200940f73d155856, []int{7, 0}
96}
97
98type ImageDownload_ImageDownloadFailureReason int32
99
100const (
101 ImageDownload_NO_ERROR ImageDownload_ImageDownloadFailureReason = 0
102 ImageDownload_INVALID_URL ImageDownload_ImageDownloadFailureReason = 1
103 ImageDownload_DEVICE_BUSY ImageDownload_ImageDownloadFailureReason = 2
104 ImageDownload_INSUFFICIENT_SPACE ImageDownload_ImageDownloadFailureReason = 3
105 ImageDownload_UNKNOWN_ERROR ImageDownload_ImageDownloadFailureReason = 4
106 ImageDownload_CANCELLED ImageDownload_ImageDownloadFailureReason = 5
107)
108
109var ImageDownload_ImageDownloadFailureReason_name = map[int32]string{
110 0: "NO_ERROR",
111 1: "INVALID_URL",
112 2: "DEVICE_BUSY",
113 3: "INSUFFICIENT_SPACE",
114 4: "UNKNOWN_ERROR",
115 5: "CANCELLED",
116}
117
118var ImageDownload_ImageDownloadFailureReason_value = map[string]int32{
119 "NO_ERROR": 0,
120 "INVALID_URL": 1,
121 "DEVICE_BUSY": 2,
122 "INSUFFICIENT_SPACE": 3,
123 "UNKNOWN_ERROR": 4,
124 "CANCELLED": 5,
125}
126
127func (x ImageDownload_ImageDownloadFailureReason) String() string {
128 return proto.EnumName(ImageDownload_ImageDownloadFailureReason_name, int32(x))
129}
130
131func (ImageDownload_ImageDownloadFailureReason) EnumDescriptor() ([]byte, []int) {
132 return fileDescriptor_200940f73d155856, []int{7, 1}
133}
134
135type ImageDownload_ImageActivateState int32
136
137const (
138 ImageDownload_IMAGE_UNKNOWN ImageDownload_ImageActivateState = 0
139 ImageDownload_IMAGE_INACTIVE ImageDownload_ImageActivateState = 1
140 ImageDownload_IMAGE_ACTIVATING ImageDownload_ImageActivateState = 2
141 ImageDownload_IMAGE_ACTIVE ImageDownload_ImageActivateState = 3
142 ImageDownload_IMAGE_REVERTING ImageDownload_ImageActivateState = 4
143 ImageDownload_IMAGE_REVERTED ImageDownload_ImageActivateState = 5
144)
145
146var ImageDownload_ImageActivateState_name = map[int32]string{
147 0: "IMAGE_UNKNOWN",
148 1: "IMAGE_INACTIVE",
149 2: "IMAGE_ACTIVATING",
150 3: "IMAGE_ACTIVE",
151 4: "IMAGE_REVERTING",
152 5: "IMAGE_REVERTED",
153}
154
155var ImageDownload_ImageActivateState_value = map[string]int32{
156 "IMAGE_UNKNOWN": 0,
157 "IMAGE_INACTIVE": 1,
158 "IMAGE_ACTIVATING": 2,
159 "IMAGE_ACTIVE": 3,
160 "IMAGE_REVERTING": 4,
161 "IMAGE_REVERTED": 5,
162}
163
164func (x ImageDownload_ImageActivateState) String() string {
165 return proto.EnumName(ImageDownload_ImageActivateState_name, int32(x))
166}
167
168func (ImageDownload_ImageActivateState) EnumDescriptor() ([]byte, []int) {
169 return fileDescriptor_200940f73d155856, []int{7, 2}
170}
171
172type Port_PortType int32
173
174const (
175 Port_UNKNOWN Port_PortType = 0
176 Port_ETHERNET_NNI Port_PortType = 1
177 Port_ETHERNET_UNI Port_PortType = 2
178 Port_PON_OLT Port_PortType = 3
179 Port_PON_ONU Port_PortType = 4
180 Port_VENET_OLT Port_PortType = 5
181 Port_VENET_ONU Port_PortType = 6
182)
183
184var Port_PortType_name = map[int32]string{
185 0: "UNKNOWN",
186 1: "ETHERNET_NNI",
187 2: "ETHERNET_UNI",
188 3: "PON_OLT",
189 4: "PON_ONU",
190 5: "VENET_OLT",
191 6: "VENET_ONU",
192}
193
194var Port_PortType_value = map[string]int32{
195 "UNKNOWN": 0,
196 "ETHERNET_NNI": 1,
197 "ETHERNET_UNI": 2,
198 "PON_OLT": 3,
199 "PON_ONU": 4,
200 "VENET_OLT": 5,
201 "VENET_ONU": 6,
202}
203
204func (x Port_PortType) String() string {
205 return proto.EnumName(Port_PortType_name, int32(x))
206}
207
208func (Port_PortType) EnumDescriptor() ([]byte, []int) {
209 return fileDescriptor_200940f73d155856, []int{9, 0}
210}
211
212type SimulateAlarmRequest_OperationType int32
213
214const (
215 SimulateAlarmRequest_RAISE SimulateAlarmRequest_OperationType = 0
216 SimulateAlarmRequest_CLEAR SimulateAlarmRequest_OperationType = 1
217)
218
219var SimulateAlarmRequest_OperationType_name = map[int32]string{
220 0: "RAISE",
221 1: "CLEAR",
222}
223
224var SimulateAlarmRequest_OperationType_value = map[string]int32{
225 "RAISE": 0,
226 "CLEAR": 1,
227}
228
229func (x SimulateAlarmRequest_OperationType) String() string {
230 return proto.EnumName(SimulateAlarmRequest_OperationType_name, int32(x))
231}
232
233func (SimulateAlarmRequest_OperationType) EnumDescriptor() ([]byte, []int) {
kesavand62126212021-01-12 04:56:06 -0500234 return fileDescriptor_200940f73d155856, []int{18, 0}
William Kurkianea869482019-04-09 15:16:11 -0400235}
236
237// A Device Type
238type DeviceType struct {
239 // Unique name for the device type
240 Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
241 // Unique vendor id for the device type applicable to ONU
242 // 4 bytes of vendor id from ONU serial number
243 VendorId string `protobuf:"bytes,5,opt,name=vendor_id,json=vendorId,proto3" json:"vendor_id,omitempty"`
244 VendorIds []string `protobuf:"bytes,6,rep,name=vendor_ids,json=vendorIds,proto3" json:"vendor_ids,omitempty"`
245 // Name of the adapter that handles device type
246 Adapter string `protobuf:"bytes,2,opt,name=adapter,proto3" json:"adapter,omitempty"`
247 // Capabilities
248 AcceptsBulkFlowUpdate bool `protobuf:"varint,3,opt,name=accepts_bulk_flow_update,json=acceptsBulkFlowUpdate,proto3" json:"accepts_bulk_flow_update,omitempty"`
249 AcceptsAddRemoveFlowUpdates bool `protobuf:"varint,4,opt,name=accepts_add_remove_flow_updates,json=acceptsAddRemoveFlowUpdates,proto3" json:"accepts_add_remove_flow_updates,omitempty"`
250 AcceptsDirectLogicalFlowsUpdate bool `protobuf:"varint,7,opt,name=accepts_direct_logical_flows_update,json=acceptsDirectLogicalFlowsUpdate,proto3" json:"accepts_direct_logical_flows_update,omitempty"`
251 XXX_NoUnkeyedLiteral struct{} `json:"-"`
252 XXX_unrecognized []byte `json:"-"`
253 XXX_sizecache int32 `json:"-"`
254}
255
256func (m *DeviceType) Reset() { *m = DeviceType{} }
257func (m *DeviceType) String() string { return proto.CompactTextString(m) }
258func (*DeviceType) ProtoMessage() {}
259func (*DeviceType) Descriptor() ([]byte, []int) {
260 return fileDescriptor_200940f73d155856, []int{0}
261}
262
263func (m *DeviceType) XXX_Unmarshal(b []byte) error {
264 return xxx_messageInfo_DeviceType.Unmarshal(m, b)
265}
266func (m *DeviceType) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
267 return xxx_messageInfo_DeviceType.Marshal(b, m, deterministic)
268}
269func (m *DeviceType) XXX_Merge(src proto.Message) {
270 xxx_messageInfo_DeviceType.Merge(m, src)
271}
272func (m *DeviceType) XXX_Size() int {
273 return xxx_messageInfo_DeviceType.Size(m)
274}
275func (m *DeviceType) XXX_DiscardUnknown() {
276 xxx_messageInfo_DeviceType.DiscardUnknown(m)
277}
278
279var xxx_messageInfo_DeviceType proto.InternalMessageInfo
280
281func (m *DeviceType) GetId() string {
282 if m != nil {
283 return m.Id
284 }
285 return ""
286}
287
288func (m *DeviceType) GetVendorId() string {
289 if m != nil {
290 return m.VendorId
291 }
292 return ""
293}
294
295func (m *DeviceType) GetVendorIds() []string {
296 if m != nil {
297 return m.VendorIds
298 }
299 return nil
300}
301
302func (m *DeviceType) GetAdapter() string {
303 if m != nil {
304 return m.Adapter
305 }
306 return ""
307}
308
309func (m *DeviceType) GetAcceptsBulkFlowUpdate() bool {
310 if m != nil {
311 return m.AcceptsBulkFlowUpdate
312 }
313 return false
314}
315
316func (m *DeviceType) GetAcceptsAddRemoveFlowUpdates() bool {
317 if m != nil {
318 return m.AcceptsAddRemoveFlowUpdates
319 }
320 return false
321}
322
323func (m *DeviceType) GetAcceptsDirectLogicalFlowsUpdate() bool {
324 if m != nil {
325 return m.AcceptsDirectLogicalFlowsUpdate
326 }
327 return false
328}
329
330// A plurality of device types
331type DeviceTypes struct {
332 Items []*DeviceType `protobuf:"bytes,1,rep,name=items,proto3" json:"items,omitempty"`
333 XXX_NoUnkeyedLiteral struct{} `json:"-"`
334 XXX_unrecognized []byte `json:"-"`
335 XXX_sizecache int32 `json:"-"`
336}
337
338func (m *DeviceTypes) Reset() { *m = DeviceTypes{} }
339func (m *DeviceTypes) String() string { return proto.CompactTextString(m) }
340func (*DeviceTypes) ProtoMessage() {}
341func (*DeviceTypes) Descriptor() ([]byte, []int) {
342 return fileDescriptor_200940f73d155856, []int{1}
343}
344
345func (m *DeviceTypes) XXX_Unmarshal(b []byte) error {
346 return xxx_messageInfo_DeviceTypes.Unmarshal(m, b)
347}
348func (m *DeviceTypes) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
349 return xxx_messageInfo_DeviceTypes.Marshal(b, m, deterministic)
350}
351func (m *DeviceTypes) XXX_Merge(src proto.Message) {
352 xxx_messageInfo_DeviceTypes.Merge(m, src)
353}
354func (m *DeviceTypes) XXX_Size() int {
355 return xxx_messageInfo_DeviceTypes.Size(m)
356}
357func (m *DeviceTypes) XXX_DiscardUnknown() {
358 xxx_messageInfo_DeviceTypes.DiscardUnknown(m)
359}
360
361var xxx_messageInfo_DeviceTypes proto.InternalMessageInfo
362
363func (m *DeviceTypes) GetItems() []*DeviceType {
364 if m != nil {
365 return m.Items
366 }
367 return nil
368}
369
370type PmConfig struct {
371 Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
372 Type PmConfig_PmType `protobuf:"varint,2,opt,name=type,proto3,enum=voltha.PmConfig_PmType" json:"type,omitempty"`
373 Enabled bool `protobuf:"varint,3,opt,name=enabled,proto3" json:"enabled,omitempty"`
374 SampleFreq uint32 `protobuf:"varint,4,opt,name=sample_freq,json=sampleFreq,proto3" json:"sample_freq,omitempty"`
375 XXX_NoUnkeyedLiteral struct{} `json:"-"`
376 XXX_unrecognized []byte `json:"-"`
377 XXX_sizecache int32 `json:"-"`
378}
379
380func (m *PmConfig) Reset() { *m = PmConfig{} }
381func (m *PmConfig) String() string { return proto.CompactTextString(m) }
382func (*PmConfig) ProtoMessage() {}
383func (*PmConfig) Descriptor() ([]byte, []int) {
384 return fileDescriptor_200940f73d155856, []int{2}
385}
386
387func (m *PmConfig) XXX_Unmarshal(b []byte) error {
388 return xxx_messageInfo_PmConfig.Unmarshal(m, b)
389}
390func (m *PmConfig) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
391 return xxx_messageInfo_PmConfig.Marshal(b, m, deterministic)
392}
393func (m *PmConfig) XXX_Merge(src proto.Message) {
394 xxx_messageInfo_PmConfig.Merge(m, src)
395}
396func (m *PmConfig) XXX_Size() int {
397 return xxx_messageInfo_PmConfig.Size(m)
398}
399func (m *PmConfig) XXX_DiscardUnknown() {
400 xxx_messageInfo_PmConfig.DiscardUnknown(m)
401}
402
403var xxx_messageInfo_PmConfig proto.InternalMessageInfo
404
405func (m *PmConfig) GetName() string {
406 if m != nil {
407 return m.Name
408 }
409 return ""
410}
411
412func (m *PmConfig) GetType() PmConfig_PmType {
413 if m != nil {
414 return m.Type
415 }
416 return PmConfig_COUNTER
417}
418
419func (m *PmConfig) GetEnabled() bool {
420 if m != nil {
421 return m.Enabled
422 }
423 return false
424}
425
426func (m *PmConfig) GetSampleFreq() uint32 {
427 if m != nil {
428 return m.SampleFreq
429 }
430 return 0
431}
432
433type PmGroupConfig struct {
434 GroupName string `protobuf:"bytes,1,opt,name=group_name,json=groupName,proto3" json:"group_name,omitempty"`
435 GroupFreq uint32 `protobuf:"varint,2,opt,name=group_freq,json=groupFreq,proto3" json:"group_freq,omitempty"`
436 Enabled bool `protobuf:"varint,3,opt,name=enabled,proto3" json:"enabled,omitempty"`
437 Metrics []*PmConfig `protobuf:"bytes,4,rep,name=metrics,proto3" json:"metrics,omitempty"`
438 XXX_NoUnkeyedLiteral struct{} `json:"-"`
439 XXX_unrecognized []byte `json:"-"`
440 XXX_sizecache int32 `json:"-"`
441}
442
443func (m *PmGroupConfig) Reset() { *m = PmGroupConfig{} }
444func (m *PmGroupConfig) String() string { return proto.CompactTextString(m) }
445func (*PmGroupConfig) ProtoMessage() {}
446func (*PmGroupConfig) Descriptor() ([]byte, []int) {
447 return fileDescriptor_200940f73d155856, []int{3}
448}
449
450func (m *PmGroupConfig) XXX_Unmarshal(b []byte) error {
451 return xxx_messageInfo_PmGroupConfig.Unmarshal(m, b)
452}
453func (m *PmGroupConfig) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
454 return xxx_messageInfo_PmGroupConfig.Marshal(b, m, deterministic)
455}
456func (m *PmGroupConfig) XXX_Merge(src proto.Message) {
457 xxx_messageInfo_PmGroupConfig.Merge(m, src)
458}
459func (m *PmGroupConfig) XXX_Size() int {
460 return xxx_messageInfo_PmGroupConfig.Size(m)
461}
462func (m *PmGroupConfig) XXX_DiscardUnknown() {
463 xxx_messageInfo_PmGroupConfig.DiscardUnknown(m)
464}
465
466var xxx_messageInfo_PmGroupConfig proto.InternalMessageInfo
467
468func (m *PmGroupConfig) GetGroupName() string {
469 if m != nil {
470 return m.GroupName
471 }
472 return ""
473}
474
475func (m *PmGroupConfig) GetGroupFreq() uint32 {
476 if m != nil {
477 return m.GroupFreq
478 }
479 return 0
480}
481
482func (m *PmGroupConfig) GetEnabled() bool {
483 if m != nil {
484 return m.Enabled
485 }
486 return false
487}
488
489func (m *PmGroupConfig) GetMetrics() []*PmConfig {
490 if m != nil {
491 return m.Metrics
492 }
493 return nil
494}
495
496type PmConfigs struct {
497 Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
498 DefaultFreq uint32 `protobuf:"varint,2,opt,name=default_freq,json=defaultFreq,proto3" json:"default_freq,omitempty"`
499 // Forces group names and group semantics
500 Grouped bool `protobuf:"varint,3,opt,name=grouped,proto3" json:"grouped,omitempty"`
501 // Allows Pm to set an individual sample frequency
502 FreqOverride bool `protobuf:"varint,4,opt,name=freq_override,json=freqOverride,proto3" json:"freq_override,omitempty"`
503 Groups []*PmGroupConfig `protobuf:"bytes,5,rep,name=groups,proto3" json:"groups,omitempty"`
504 Metrics []*PmConfig `protobuf:"bytes,6,rep,name=metrics,proto3" json:"metrics,omitempty"`
Kent Hagermanf1db18b2020-07-08 13:38:15 -0400505 MaxSkew uint32 `protobuf:"varint,7,opt,name=max_skew,json=maxSkew,proto3" json:"max_skew,omitempty"`
William Kurkianea869482019-04-09 15:16:11 -0400506 XXX_NoUnkeyedLiteral struct{} `json:"-"`
507 XXX_unrecognized []byte `json:"-"`
508 XXX_sizecache int32 `json:"-"`
509}
510
511func (m *PmConfigs) Reset() { *m = PmConfigs{} }
512func (m *PmConfigs) String() string { return proto.CompactTextString(m) }
513func (*PmConfigs) ProtoMessage() {}
514func (*PmConfigs) Descriptor() ([]byte, []int) {
515 return fileDescriptor_200940f73d155856, []int{4}
516}
517
518func (m *PmConfigs) XXX_Unmarshal(b []byte) error {
519 return xxx_messageInfo_PmConfigs.Unmarshal(m, b)
520}
521func (m *PmConfigs) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
522 return xxx_messageInfo_PmConfigs.Marshal(b, m, deterministic)
523}
524func (m *PmConfigs) XXX_Merge(src proto.Message) {
525 xxx_messageInfo_PmConfigs.Merge(m, src)
526}
527func (m *PmConfigs) XXX_Size() int {
528 return xxx_messageInfo_PmConfigs.Size(m)
529}
530func (m *PmConfigs) XXX_DiscardUnknown() {
531 xxx_messageInfo_PmConfigs.DiscardUnknown(m)
532}
533
534var xxx_messageInfo_PmConfigs proto.InternalMessageInfo
535
536func (m *PmConfigs) GetId() string {
537 if m != nil {
538 return m.Id
539 }
540 return ""
541}
542
543func (m *PmConfigs) GetDefaultFreq() uint32 {
544 if m != nil {
545 return m.DefaultFreq
546 }
547 return 0
548}
549
550func (m *PmConfigs) GetGrouped() bool {
551 if m != nil {
552 return m.Grouped
553 }
554 return false
555}
556
557func (m *PmConfigs) GetFreqOverride() bool {
558 if m != nil {
559 return m.FreqOverride
560 }
561 return false
562}
563
564func (m *PmConfigs) GetGroups() []*PmGroupConfig {
565 if m != nil {
566 return m.Groups
567 }
568 return nil
569}
570
571func (m *PmConfigs) GetMetrics() []*PmConfig {
572 if m != nil {
573 return m.Metrics
574 }
575 return nil
576}
577
Kent Hagermanf1db18b2020-07-08 13:38:15 -0400578func (m *PmConfigs) GetMaxSkew() uint32 {
579 if m != nil {
580 return m.MaxSkew
581 }
582 return 0
583}
584
William Kurkianea869482019-04-09 15:16:11 -0400585// Describes instance of software image on the device
586type Image struct {
587 Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
588 Version string `protobuf:"bytes,2,opt,name=version,proto3" json:"version,omitempty"`
589 Hash string `protobuf:"bytes,3,opt,name=hash,proto3" json:"hash,omitempty"`
590 InstallDatetime string `protobuf:"bytes,4,opt,name=install_datetime,json=installDatetime,proto3" json:"install_datetime,omitempty"`
591 // The active software image is one that is currently loaded and executing
592 // in the ONU or circuit pack. Under normal operation, one software image
593 // is always active while the other is inactive. Under no circumstances are
594 // both software images allowed to be active at the same time
595 IsActive bool `protobuf:"varint,5,opt,name=is_active,json=isActive,proto3" json:"is_active,omitempty"`
596 // The committed software image is loaded and executed upon reboot of the
597 // ONU and/or circuit pack. During normal operation, one software image is
598 // always committed, while the other is uncommitted.
599 IsCommitted bool `protobuf:"varint,6,opt,name=is_committed,json=isCommitted,proto3" json:"is_committed,omitempty"`
600 // A software image is valid if it has been verified to be an executable
601 // code image. The verification mechanism is not subject to standardization;
602 // however, it should include at least a data integrity (e.g., CRC) check of
603 // the entire code image.
604 IsValid bool `protobuf:"varint,7,opt,name=is_valid,json=isValid,proto3" json:"is_valid,omitempty"`
605 XXX_NoUnkeyedLiteral struct{} `json:"-"`
606 XXX_unrecognized []byte `json:"-"`
607 XXX_sizecache int32 `json:"-"`
608}
609
610func (m *Image) Reset() { *m = Image{} }
611func (m *Image) String() string { return proto.CompactTextString(m) }
612func (*Image) ProtoMessage() {}
613func (*Image) Descriptor() ([]byte, []int) {
614 return fileDescriptor_200940f73d155856, []int{5}
615}
616
617func (m *Image) XXX_Unmarshal(b []byte) error {
618 return xxx_messageInfo_Image.Unmarshal(m, b)
619}
620func (m *Image) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
621 return xxx_messageInfo_Image.Marshal(b, m, deterministic)
622}
623func (m *Image) XXX_Merge(src proto.Message) {
624 xxx_messageInfo_Image.Merge(m, src)
625}
626func (m *Image) XXX_Size() int {
627 return xxx_messageInfo_Image.Size(m)
628}
629func (m *Image) XXX_DiscardUnknown() {
630 xxx_messageInfo_Image.DiscardUnknown(m)
631}
632
633var xxx_messageInfo_Image proto.InternalMessageInfo
634
635func (m *Image) GetName() string {
636 if m != nil {
637 return m.Name
638 }
639 return ""
640}
641
642func (m *Image) GetVersion() string {
643 if m != nil {
644 return m.Version
645 }
646 return ""
647}
648
649func (m *Image) GetHash() string {
650 if m != nil {
651 return m.Hash
652 }
653 return ""
654}
655
656func (m *Image) GetInstallDatetime() string {
657 if m != nil {
658 return m.InstallDatetime
659 }
660 return ""
661}
662
663func (m *Image) GetIsActive() bool {
664 if m != nil {
665 return m.IsActive
666 }
667 return false
668}
669
670func (m *Image) GetIsCommitted() bool {
671 if m != nil {
672 return m.IsCommitted
673 }
674 return false
675}
676
677func (m *Image) GetIsValid() bool {
678 if m != nil {
679 return m.IsValid
680 }
681 return false
682}
683
684// List of software on the device
685type Images struct {
686 Image []*Image `protobuf:"bytes,1,rep,name=image,proto3" json:"image,omitempty"`
687 XXX_NoUnkeyedLiteral struct{} `json:"-"`
688 XXX_unrecognized []byte `json:"-"`
689 XXX_sizecache int32 `json:"-"`
690}
691
692func (m *Images) Reset() { *m = Images{} }
693func (m *Images) String() string { return proto.CompactTextString(m) }
694func (*Images) ProtoMessage() {}
695func (*Images) Descriptor() ([]byte, []int) {
696 return fileDescriptor_200940f73d155856, []int{6}
697}
698
699func (m *Images) XXX_Unmarshal(b []byte) error {
700 return xxx_messageInfo_Images.Unmarshal(m, b)
701}
702func (m *Images) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
703 return xxx_messageInfo_Images.Marshal(b, m, deterministic)
704}
705func (m *Images) XXX_Merge(src proto.Message) {
706 xxx_messageInfo_Images.Merge(m, src)
707}
708func (m *Images) XXX_Size() int {
709 return xxx_messageInfo_Images.Size(m)
710}
711func (m *Images) XXX_DiscardUnknown() {
712 xxx_messageInfo_Images.DiscardUnknown(m)
713}
714
715var xxx_messageInfo_Images proto.InternalMessageInfo
716
717func (m *Images) GetImage() []*Image {
718 if m != nil {
719 return m.Image
720 }
721 return nil
722}
723
Kent Hagermanf1db18b2020-07-08 13:38:15 -0400724//TODO: ImageDownload is not actively used (05/19/2020). When this is tackled, can remove extra/unnecessary fields.
William Kurkianea869482019-04-09 15:16:11 -0400725type ImageDownload struct {
726 // Device Identifier
727 Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
728 // Image unique identifier
729 Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"`
730 // URL where the image is available
731 // should include username password
732 Url string `protobuf:"bytes,3,opt,name=url,proto3" json:"url,omitempty"`
733 // CRC of the image to be verified aginst
734 Crc uint32 `protobuf:"varint,4,opt,name=crc,proto3" json:"crc,omitempty"`
735 // Download state
736 DownloadState ImageDownload_ImageDownloadState `protobuf:"varint,5,opt,name=download_state,json=downloadState,proto3,enum=voltha.ImageDownload_ImageDownloadState" json:"download_state,omitempty"`
737 // Downloaded version
738 ImageVersion string `protobuf:"bytes,6,opt,name=image_version,json=imageVersion,proto3" json:"image_version,omitempty"`
739 // Bytes downloaded
740 DownloadedBytes uint32 `protobuf:"varint,7,opt,name=downloaded_bytes,json=downloadedBytes,proto3" json:"downloaded_bytes,omitempty"`
741 // Download failure reason
742 Reason ImageDownload_ImageDownloadFailureReason `protobuf:"varint,8,opt,name=reason,proto3,enum=voltha.ImageDownload_ImageDownloadFailureReason" json:"reason,omitempty"`
743 // Additional info
744 AdditionalInfo string `protobuf:"bytes,9,opt,name=additional_info,json=additionalInfo,proto3" json:"additional_info,omitempty"`
745 // Save current configuration
746 SaveConfig bool `protobuf:"varint,10,opt,name=save_config,json=saveConfig,proto3" json:"save_config,omitempty"`
747 // Image local location
748 LocalDir string `protobuf:"bytes,11,opt,name=local_dir,json=localDir,proto3" json:"local_dir,omitempty"`
749 // Image activation state
750 ImageState ImageDownload_ImageActivateState `protobuf:"varint,12,opt,name=image_state,json=imageState,proto3,enum=voltha.ImageDownload_ImageActivateState" json:"image_state,omitempty"`
751 // Image file size
752 FileSize uint32 `protobuf:"varint,13,opt,name=file_size,json=fileSize,proto3" json:"file_size,omitempty"`
753 XXX_NoUnkeyedLiteral struct{} `json:"-"`
754 XXX_unrecognized []byte `json:"-"`
755 XXX_sizecache int32 `json:"-"`
756}
757
758func (m *ImageDownload) Reset() { *m = ImageDownload{} }
759func (m *ImageDownload) String() string { return proto.CompactTextString(m) }
760func (*ImageDownload) ProtoMessage() {}
761func (*ImageDownload) Descriptor() ([]byte, []int) {
762 return fileDescriptor_200940f73d155856, []int{7}
763}
764
765func (m *ImageDownload) XXX_Unmarshal(b []byte) error {
766 return xxx_messageInfo_ImageDownload.Unmarshal(m, b)
767}
768func (m *ImageDownload) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
769 return xxx_messageInfo_ImageDownload.Marshal(b, m, deterministic)
770}
771func (m *ImageDownload) XXX_Merge(src proto.Message) {
772 xxx_messageInfo_ImageDownload.Merge(m, src)
773}
774func (m *ImageDownload) XXX_Size() int {
775 return xxx_messageInfo_ImageDownload.Size(m)
776}
777func (m *ImageDownload) XXX_DiscardUnknown() {
778 xxx_messageInfo_ImageDownload.DiscardUnknown(m)
779}
780
781var xxx_messageInfo_ImageDownload proto.InternalMessageInfo
782
783func (m *ImageDownload) GetId() string {
784 if m != nil {
785 return m.Id
786 }
787 return ""
788}
789
790func (m *ImageDownload) GetName() string {
791 if m != nil {
792 return m.Name
793 }
794 return ""
795}
796
797func (m *ImageDownload) GetUrl() string {
798 if m != nil {
799 return m.Url
800 }
801 return ""
802}
803
804func (m *ImageDownload) GetCrc() uint32 {
805 if m != nil {
806 return m.Crc
807 }
808 return 0
809}
810
811func (m *ImageDownload) GetDownloadState() ImageDownload_ImageDownloadState {
812 if m != nil {
813 return m.DownloadState
814 }
815 return ImageDownload_DOWNLOAD_UNKNOWN
816}
817
818func (m *ImageDownload) GetImageVersion() string {
819 if m != nil {
820 return m.ImageVersion
821 }
822 return ""
823}
824
825func (m *ImageDownload) GetDownloadedBytes() uint32 {
826 if m != nil {
827 return m.DownloadedBytes
828 }
829 return 0
830}
831
832func (m *ImageDownload) GetReason() ImageDownload_ImageDownloadFailureReason {
833 if m != nil {
834 return m.Reason
835 }
836 return ImageDownload_NO_ERROR
837}
838
839func (m *ImageDownload) GetAdditionalInfo() string {
840 if m != nil {
841 return m.AdditionalInfo
842 }
843 return ""
844}
845
846func (m *ImageDownload) GetSaveConfig() bool {
847 if m != nil {
848 return m.SaveConfig
849 }
850 return false
851}
852
853func (m *ImageDownload) GetLocalDir() string {
854 if m != nil {
855 return m.LocalDir
856 }
857 return ""
858}
859
860func (m *ImageDownload) GetImageState() ImageDownload_ImageActivateState {
861 if m != nil {
862 return m.ImageState
863 }
864 return ImageDownload_IMAGE_UNKNOWN
865}
866
867func (m *ImageDownload) GetFileSize() uint32 {
868 if m != nil {
869 return m.FileSize
870 }
871 return 0
872}
873
874type ImageDownloads struct {
875 Items []*ImageDownload `protobuf:"bytes,2,rep,name=items,proto3" json:"items,omitempty"`
876 XXX_NoUnkeyedLiteral struct{} `json:"-"`
877 XXX_unrecognized []byte `json:"-"`
878 XXX_sizecache int32 `json:"-"`
879}
880
881func (m *ImageDownloads) Reset() { *m = ImageDownloads{} }
882func (m *ImageDownloads) String() string { return proto.CompactTextString(m) }
883func (*ImageDownloads) ProtoMessage() {}
884func (*ImageDownloads) Descriptor() ([]byte, []int) {
885 return fileDescriptor_200940f73d155856, []int{8}
886}
887
888func (m *ImageDownloads) XXX_Unmarshal(b []byte) error {
889 return xxx_messageInfo_ImageDownloads.Unmarshal(m, b)
890}
891func (m *ImageDownloads) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
892 return xxx_messageInfo_ImageDownloads.Marshal(b, m, deterministic)
893}
894func (m *ImageDownloads) XXX_Merge(src proto.Message) {
895 xxx_messageInfo_ImageDownloads.Merge(m, src)
896}
897func (m *ImageDownloads) XXX_Size() int {
898 return xxx_messageInfo_ImageDownloads.Size(m)
899}
900func (m *ImageDownloads) XXX_DiscardUnknown() {
901 xxx_messageInfo_ImageDownloads.DiscardUnknown(m)
902}
903
904var xxx_messageInfo_ImageDownloads proto.InternalMessageInfo
905
906func (m *ImageDownloads) GetItems() []*ImageDownload {
907 if m != nil {
908 return m.Items
909 }
910 return nil
911}
912
913type Port struct {
Girish Gowdra631ef3d2020-06-15 10:45:52 -0700914 PortNo uint32 `protobuf:"varint,1,opt,name=port_no,json=portNo,proto3" json:"port_no,omitempty"`
915 Label string `protobuf:"bytes,2,opt,name=label,proto3" json:"label,omitempty"`
916 Type Port_PortType `protobuf:"varint,3,opt,name=type,proto3,enum=voltha.Port_PortType" json:"type,omitempty"`
917 AdminState common.AdminState_Types `protobuf:"varint,5,opt,name=admin_state,json=adminState,proto3,enum=common.AdminState_Types" json:"admin_state,omitempty"`
918 OperStatus common.OperStatus_Types `protobuf:"varint,6,opt,name=oper_status,json=operStatus,proto3,enum=common.OperStatus_Types" json:"oper_status,omitempty"`
919 DeviceId string `protobuf:"bytes,7,opt,name=device_id,json=deviceId,proto3" json:"device_id,omitempty"`
920 Peers []*Port_PeerPort `protobuf:"bytes,8,rep,name=peers,proto3" json:"peers,omitempty"`
921 RxPackets uint64 `protobuf:"fixed64,9,opt,name=rx_packets,json=rxPackets,proto3" json:"rx_packets,omitempty"`
922 RxBytes uint64 `protobuf:"fixed64,10,opt,name=rx_bytes,json=rxBytes,proto3" json:"rx_bytes,omitempty"`
923 RxErrors uint64 `protobuf:"fixed64,11,opt,name=rx_errors,json=rxErrors,proto3" json:"rx_errors,omitempty"`
924 TxPackets uint64 `protobuf:"fixed64,12,opt,name=tx_packets,json=txPackets,proto3" json:"tx_packets,omitempty"`
925 TxBytes uint64 `protobuf:"fixed64,13,opt,name=tx_bytes,json=txBytes,proto3" json:"tx_bytes,omitempty"`
926 TxErrors uint64 `protobuf:"fixed64,14,opt,name=tx_errors,json=txErrors,proto3" json:"tx_errors,omitempty"`
927 // ofp_port represents the characteristics of a port, e.g. hardware
928 // address and supported features. This field is relevant only for
929 // UNI and NNI ports. For PON ports, it can be left empty.
930 OfpPort *openflow_13.OfpPort `protobuf:"bytes,15,opt,name=ofp_port,json=ofpPort,proto3" json:"ofp_port,omitempty"`
931 XXX_NoUnkeyedLiteral struct{} `json:"-"`
932 XXX_unrecognized []byte `json:"-"`
933 XXX_sizecache int32 `json:"-"`
William Kurkianea869482019-04-09 15:16:11 -0400934}
935
936func (m *Port) Reset() { *m = Port{} }
937func (m *Port) String() string { return proto.CompactTextString(m) }
938func (*Port) ProtoMessage() {}
939func (*Port) Descriptor() ([]byte, []int) {
940 return fileDescriptor_200940f73d155856, []int{9}
941}
942
943func (m *Port) XXX_Unmarshal(b []byte) error {
944 return xxx_messageInfo_Port.Unmarshal(m, b)
945}
946func (m *Port) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
947 return xxx_messageInfo_Port.Marshal(b, m, deterministic)
948}
949func (m *Port) XXX_Merge(src proto.Message) {
950 xxx_messageInfo_Port.Merge(m, src)
951}
952func (m *Port) XXX_Size() int {
953 return xxx_messageInfo_Port.Size(m)
954}
955func (m *Port) XXX_DiscardUnknown() {
956 xxx_messageInfo_Port.DiscardUnknown(m)
957}
958
959var xxx_messageInfo_Port proto.InternalMessageInfo
960
961func (m *Port) GetPortNo() uint32 {
962 if m != nil {
963 return m.PortNo
964 }
965 return 0
966}
967
968func (m *Port) GetLabel() string {
969 if m != nil {
970 return m.Label
971 }
972 return ""
973}
974
975func (m *Port) GetType() Port_PortType {
976 if m != nil {
977 return m.Type
978 }
979 return Port_UNKNOWN
980}
981
Esin Karamanccb714b2019-11-29 15:02:06 +0000982func (m *Port) GetAdminState() common.AdminState_Types {
William Kurkianea869482019-04-09 15:16:11 -0400983 if m != nil {
984 return m.AdminState
985 }
986 return common.AdminState_UNKNOWN
987}
988
Esin Karamanccb714b2019-11-29 15:02:06 +0000989func (m *Port) GetOperStatus() common.OperStatus_Types {
William Kurkianea869482019-04-09 15:16:11 -0400990 if m != nil {
991 return m.OperStatus
992 }
993 return common.OperStatus_UNKNOWN
994}
995
996func (m *Port) GetDeviceId() string {
997 if m != nil {
998 return m.DeviceId
999 }
1000 return ""
1001}
1002
1003func (m *Port) GetPeers() []*Port_PeerPort {
1004 if m != nil {
1005 return m.Peers
1006 }
1007 return nil
1008}
1009
1010func (m *Port) GetRxPackets() uint64 {
1011 if m != nil {
1012 return m.RxPackets
1013 }
1014 return 0
1015}
1016
1017func (m *Port) GetRxBytes() uint64 {
1018 if m != nil {
1019 return m.RxBytes
1020 }
1021 return 0
1022}
1023
1024func (m *Port) GetRxErrors() uint64 {
1025 if m != nil {
1026 return m.RxErrors
1027 }
1028 return 0
1029}
1030
1031func (m *Port) GetTxPackets() uint64 {
1032 if m != nil {
1033 return m.TxPackets
1034 }
1035 return 0
1036}
1037
1038func (m *Port) GetTxBytes() uint64 {
1039 if m != nil {
1040 return m.TxBytes
1041 }
1042 return 0
1043}
1044
1045func (m *Port) GetTxErrors() uint64 {
1046 if m != nil {
1047 return m.TxErrors
1048 }
1049 return 0
1050}
1051
Girish Gowdra631ef3d2020-06-15 10:45:52 -07001052func (m *Port) GetOfpPort() *openflow_13.OfpPort {
1053 if m != nil {
1054 return m.OfpPort
1055 }
1056 return nil
1057}
1058
William Kurkianea869482019-04-09 15:16:11 -04001059type Port_PeerPort struct {
1060 DeviceId string `protobuf:"bytes,1,opt,name=device_id,json=deviceId,proto3" json:"device_id,omitempty"`
1061 PortNo uint32 `protobuf:"varint,2,opt,name=port_no,json=portNo,proto3" json:"port_no,omitempty"`
1062 XXX_NoUnkeyedLiteral struct{} `json:"-"`
1063 XXX_unrecognized []byte `json:"-"`
1064 XXX_sizecache int32 `json:"-"`
1065}
1066
1067func (m *Port_PeerPort) Reset() { *m = Port_PeerPort{} }
1068func (m *Port_PeerPort) String() string { return proto.CompactTextString(m) }
1069func (*Port_PeerPort) ProtoMessage() {}
1070func (*Port_PeerPort) Descriptor() ([]byte, []int) {
1071 return fileDescriptor_200940f73d155856, []int{9, 0}
1072}
1073
1074func (m *Port_PeerPort) XXX_Unmarshal(b []byte) error {
1075 return xxx_messageInfo_Port_PeerPort.Unmarshal(m, b)
1076}
1077func (m *Port_PeerPort) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
1078 return xxx_messageInfo_Port_PeerPort.Marshal(b, m, deterministic)
1079}
1080func (m *Port_PeerPort) XXX_Merge(src proto.Message) {
1081 xxx_messageInfo_Port_PeerPort.Merge(m, src)
1082}
1083func (m *Port_PeerPort) XXX_Size() int {
1084 return xxx_messageInfo_Port_PeerPort.Size(m)
1085}
1086func (m *Port_PeerPort) XXX_DiscardUnknown() {
1087 xxx_messageInfo_Port_PeerPort.DiscardUnknown(m)
1088}
1089
1090var xxx_messageInfo_Port_PeerPort proto.InternalMessageInfo
1091
1092func (m *Port_PeerPort) GetDeviceId() string {
1093 if m != nil {
1094 return m.DeviceId
1095 }
1096 return ""
1097}
1098
1099func (m *Port_PeerPort) GetPortNo() uint32 {
1100 if m != nil {
1101 return m.PortNo
1102 }
1103 return 0
1104}
1105
1106type Ports struct {
1107 Items []*Port `protobuf:"bytes,1,rep,name=items,proto3" json:"items,omitempty"`
1108 XXX_NoUnkeyedLiteral struct{} `json:"-"`
1109 XXX_unrecognized []byte `json:"-"`
1110 XXX_sizecache int32 `json:"-"`
1111}
1112
1113func (m *Ports) Reset() { *m = Ports{} }
1114func (m *Ports) String() string { return proto.CompactTextString(m) }
1115func (*Ports) ProtoMessage() {}
1116func (*Ports) Descriptor() ([]byte, []int) {
1117 return fileDescriptor_200940f73d155856, []int{10}
1118}
1119
1120func (m *Ports) XXX_Unmarshal(b []byte) error {
1121 return xxx_messageInfo_Ports.Unmarshal(m, b)
1122}
1123func (m *Ports) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
1124 return xxx_messageInfo_Ports.Marshal(b, m, deterministic)
1125}
1126func (m *Ports) XXX_Merge(src proto.Message) {
1127 xxx_messageInfo_Ports.Merge(m, src)
1128}
1129func (m *Ports) XXX_Size() int {
1130 return xxx_messageInfo_Ports.Size(m)
1131}
1132func (m *Ports) XXX_DiscardUnknown() {
1133 xxx_messageInfo_Ports.DiscardUnknown(m)
1134}
1135
1136var xxx_messageInfo_Ports proto.InternalMessageInfo
1137
1138func (m *Ports) GetItems() []*Port {
1139 if m != nil {
1140 return m.Items
1141 }
1142 return nil
1143}
1144
kesavand62126212021-01-12 04:56:06 -05001145// A complete device state
1146type DeviceState struct {
1147 AdminState common.AdminState_Types `protobuf:"varint,1,opt,name=admin_state,json=adminState,proto3,enum=common.AdminState_Types" json:"admin_state,omitempty"`
1148 OperStatus common.OperStatus_Types `protobuf:"varint,2,opt,name=oper_status,json=operStatus,proto3,enum=common.OperStatus_Types" json:"oper_status,omitempty"`
1149 ConnectStatus common.ConnectStatus_Types `protobuf:"varint,3,opt,name=connect_status,json=connectStatus,proto3,enum=common.ConnectStatus_Types" json:"connect_status,omitempty"`
1150 XXX_NoUnkeyedLiteral struct{} `json:"-"`
1151 XXX_unrecognized []byte `json:"-"`
1152 XXX_sizecache int32 `json:"-"`
1153}
1154
1155func (m *DeviceState) Reset() { *m = DeviceState{} }
1156func (m *DeviceState) String() string { return proto.CompactTextString(m) }
1157func (*DeviceState) ProtoMessage() {}
1158func (*DeviceState) Descriptor() ([]byte, []int) {
1159 return fileDescriptor_200940f73d155856, []int{11}
1160}
1161
1162func (m *DeviceState) XXX_Unmarshal(b []byte) error {
1163 return xxx_messageInfo_DeviceState.Unmarshal(m, b)
1164}
1165func (m *DeviceState) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
1166 return xxx_messageInfo_DeviceState.Marshal(b, m, deterministic)
1167}
1168func (m *DeviceState) XXX_Merge(src proto.Message) {
1169 xxx_messageInfo_DeviceState.Merge(m, src)
1170}
1171func (m *DeviceState) XXX_Size() int {
1172 return xxx_messageInfo_DeviceState.Size(m)
1173}
1174func (m *DeviceState) XXX_DiscardUnknown() {
1175 xxx_messageInfo_DeviceState.DiscardUnknown(m)
1176}
1177
1178var xxx_messageInfo_DeviceState proto.InternalMessageInfo
1179
1180func (m *DeviceState) GetAdminState() common.AdminState_Types {
1181 if m != nil {
1182 return m.AdminState
1183 }
1184 return common.AdminState_UNKNOWN
1185}
1186
1187func (m *DeviceState) GetOperStatus() common.OperStatus_Types {
1188 if m != nil {
1189 return m.OperStatus
1190 }
1191 return common.OperStatus_UNKNOWN
1192}
1193
1194func (m *DeviceState) GetConnectStatus() common.ConnectStatus_Types {
1195 if m != nil {
1196 return m.ConnectStatus
1197 }
1198 return common.ConnectStatus_UNKNOWN
1199}
1200
1201// A device state change
1202type DeviceStatesChange struct {
1203 Previous *DeviceState `protobuf:"bytes,1,opt,name=previous,proto3" json:"previous,omitempty"`
1204 Current *DeviceState `protobuf:"bytes,2,opt,name=current,proto3" json:"current,omitempty"`
1205 XXX_NoUnkeyedLiteral struct{} `json:"-"`
1206 XXX_unrecognized []byte `json:"-"`
1207 XXX_sizecache int32 `json:"-"`
1208}
1209
1210func (m *DeviceStatesChange) Reset() { *m = DeviceStatesChange{} }
1211func (m *DeviceStatesChange) String() string { return proto.CompactTextString(m) }
1212func (*DeviceStatesChange) ProtoMessage() {}
1213func (*DeviceStatesChange) Descriptor() ([]byte, []int) {
1214 return fileDescriptor_200940f73d155856, []int{12}
1215}
1216
1217func (m *DeviceStatesChange) XXX_Unmarshal(b []byte) error {
1218 return xxx_messageInfo_DeviceStatesChange.Unmarshal(m, b)
1219}
1220func (m *DeviceStatesChange) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
1221 return xxx_messageInfo_DeviceStatesChange.Marshal(b, m, deterministic)
1222}
1223func (m *DeviceStatesChange) XXX_Merge(src proto.Message) {
1224 xxx_messageInfo_DeviceStatesChange.Merge(m, src)
1225}
1226func (m *DeviceStatesChange) XXX_Size() int {
1227 return xxx_messageInfo_DeviceStatesChange.Size(m)
1228}
1229func (m *DeviceStatesChange) XXX_DiscardUnknown() {
1230 xxx_messageInfo_DeviceStatesChange.DiscardUnknown(m)
1231}
1232
1233var xxx_messageInfo_DeviceStatesChange proto.InternalMessageInfo
1234
1235func (m *DeviceStatesChange) GetPrevious() *DeviceState {
1236 if m != nil {
1237 return m.Previous
1238 }
1239 return nil
1240}
1241
1242func (m *DeviceStatesChange) GetCurrent() *DeviceState {
1243 if m != nil {
1244 return m.Current
1245 }
1246 return nil
1247}
1248
1249// A device update filter
1250type DeviceUpdateFilter struct {
1251 // Device Id
1252 DeviceId string `protobuf:"bytes,1,opt,name=device_id,json=deviceId,proto3" json:"device_id,omitempty"`
1253 // Provide update starting from this timestamp, inclusive
1254 FromTimestamp *timestamp.Timestamp `protobuf:"bytes,2,opt,name=from_timestamp,json=fromTimestamp,proto3" json:"from_timestamp,omitempty"`
1255 // Provide update starting to this timestamp, inclusive
1256 ToTimestamp *timestamp.Timestamp `protobuf:"bytes,3,opt,name=to_timestamp,json=toTimestamp,proto3" json:"to_timestamp,omitempty"`
1257 // The operation that triggered the update, e.g. portCreated
1258 Operation string `protobuf:"bytes,4,opt,name=operation,proto3" json:"operation,omitempty"`
1259 // The ID of that operation, e.g. log correlation ID
1260 OperationId string `protobuf:"bytes,5,opt,name=operation_id,json=operationId,proto3" json:"operation_id,omitempty"`
1261 // Component initiating the request, e.g. openolt
1262 RequestedBy string `protobuf:"bytes,6,opt,name=requested_by,json=requestedBy,proto3" json:"requested_by,omitempty"`
1263 // Operation status
1264 Status *common.OperationResp `protobuf:"bytes,7,opt,name=status,proto3" json:"status,omitempty"`
1265 XXX_NoUnkeyedLiteral struct{} `json:"-"`
1266 XXX_unrecognized []byte `json:"-"`
1267 XXX_sizecache int32 `json:"-"`
1268}
1269
1270func (m *DeviceUpdateFilter) Reset() { *m = DeviceUpdateFilter{} }
1271func (m *DeviceUpdateFilter) String() string { return proto.CompactTextString(m) }
1272func (*DeviceUpdateFilter) ProtoMessage() {}
1273func (*DeviceUpdateFilter) Descriptor() ([]byte, []int) {
1274 return fileDescriptor_200940f73d155856, []int{13}
1275}
1276
1277func (m *DeviceUpdateFilter) XXX_Unmarshal(b []byte) error {
1278 return xxx_messageInfo_DeviceUpdateFilter.Unmarshal(m, b)
1279}
1280func (m *DeviceUpdateFilter) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
1281 return xxx_messageInfo_DeviceUpdateFilter.Marshal(b, m, deterministic)
1282}
1283func (m *DeviceUpdateFilter) XXX_Merge(src proto.Message) {
1284 xxx_messageInfo_DeviceUpdateFilter.Merge(m, src)
1285}
1286func (m *DeviceUpdateFilter) XXX_Size() int {
1287 return xxx_messageInfo_DeviceUpdateFilter.Size(m)
1288}
1289func (m *DeviceUpdateFilter) XXX_DiscardUnknown() {
1290 xxx_messageInfo_DeviceUpdateFilter.DiscardUnknown(m)
1291}
1292
1293var xxx_messageInfo_DeviceUpdateFilter proto.InternalMessageInfo
1294
1295func (m *DeviceUpdateFilter) GetDeviceId() string {
1296 if m != nil {
1297 return m.DeviceId
1298 }
1299 return ""
1300}
1301
1302func (m *DeviceUpdateFilter) GetFromTimestamp() *timestamp.Timestamp {
1303 if m != nil {
1304 return m.FromTimestamp
1305 }
1306 return nil
1307}
1308
1309func (m *DeviceUpdateFilter) GetToTimestamp() *timestamp.Timestamp {
1310 if m != nil {
1311 return m.ToTimestamp
1312 }
1313 return nil
1314}
1315
1316func (m *DeviceUpdateFilter) GetOperation() string {
1317 if m != nil {
1318 return m.Operation
1319 }
1320 return ""
1321}
1322
1323func (m *DeviceUpdateFilter) GetOperationId() string {
1324 if m != nil {
1325 return m.OperationId
1326 }
1327 return ""
1328}
1329
1330func (m *DeviceUpdateFilter) GetRequestedBy() string {
1331 if m != nil {
1332 return m.RequestedBy
1333 }
1334 return ""
1335}
1336
1337func (m *DeviceUpdateFilter) GetStatus() *common.OperationResp {
1338 if m != nil {
1339 return m.Status
1340 }
1341 return nil
1342}
1343
1344// A device update
1345type DeviceUpdate struct {
1346 // Device Id
1347 DeviceId string `protobuf:"bytes,1,opt,name=device_id,json=deviceId,proto3" json:"device_id,omitempty"`
1348 // Timestamp of the update
1349 Timestamp *timestamp.Timestamp `protobuf:"bytes,2,opt,name=timestamp,proto3" json:"timestamp,omitempty"`
1350 // The operation that triggered the update, e.g. portCreated
1351 Operation string `protobuf:"bytes,3,opt,name=operation,proto3" json:"operation,omitempty"`
1352 // The ID of that operation, e.g. log correlation ID
1353 OperationId string `protobuf:"bytes,4,opt,name=operation_id,json=operationId,proto3" json:"operation_id,omitempty"`
1354 // Component initiating the request, e.g. openolt
1355 RequestedBy string `protobuf:"bytes,5,opt,name=requested_by,json=requestedBy,proto3" json:"requested_by,omitempty"`
1356 // State change, if any, as a result of that update
1357 StateChange *DeviceStatesChange `protobuf:"bytes,6,opt,name=state_change,json=stateChange,proto3" json:"state_change,omitempty"`
1358 // Operation status
1359 Status *common.OperationResp `protobuf:"bytes,7,opt,name=status,proto3" json:"status,omitempty"`
1360 // A brief description to provide more context to this update
1361 Description string `protobuf:"bytes,8,opt,name=description,proto3" json:"description,omitempty"`
1362 XXX_NoUnkeyedLiteral struct{} `json:"-"`
1363 XXX_unrecognized []byte `json:"-"`
1364 XXX_sizecache int32 `json:"-"`
1365}
1366
1367func (m *DeviceUpdate) Reset() { *m = DeviceUpdate{} }
1368func (m *DeviceUpdate) String() string { return proto.CompactTextString(m) }
1369func (*DeviceUpdate) ProtoMessage() {}
1370func (*DeviceUpdate) Descriptor() ([]byte, []int) {
1371 return fileDescriptor_200940f73d155856, []int{14}
1372}
1373
1374func (m *DeviceUpdate) XXX_Unmarshal(b []byte) error {
1375 return xxx_messageInfo_DeviceUpdate.Unmarshal(m, b)
1376}
1377func (m *DeviceUpdate) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
1378 return xxx_messageInfo_DeviceUpdate.Marshal(b, m, deterministic)
1379}
1380func (m *DeviceUpdate) XXX_Merge(src proto.Message) {
1381 xxx_messageInfo_DeviceUpdate.Merge(m, src)
1382}
1383func (m *DeviceUpdate) XXX_Size() int {
1384 return xxx_messageInfo_DeviceUpdate.Size(m)
1385}
1386func (m *DeviceUpdate) XXX_DiscardUnknown() {
1387 xxx_messageInfo_DeviceUpdate.DiscardUnknown(m)
1388}
1389
1390var xxx_messageInfo_DeviceUpdate proto.InternalMessageInfo
1391
1392func (m *DeviceUpdate) GetDeviceId() string {
1393 if m != nil {
1394 return m.DeviceId
1395 }
1396 return ""
1397}
1398
1399func (m *DeviceUpdate) GetTimestamp() *timestamp.Timestamp {
1400 if m != nil {
1401 return m.Timestamp
1402 }
1403 return nil
1404}
1405
1406func (m *DeviceUpdate) GetOperation() string {
1407 if m != nil {
1408 return m.Operation
1409 }
1410 return ""
1411}
1412
1413func (m *DeviceUpdate) GetOperationId() string {
1414 if m != nil {
1415 return m.OperationId
1416 }
1417 return ""
1418}
1419
1420func (m *DeviceUpdate) GetRequestedBy() string {
1421 if m != nil {
1422 return m.RequestedBy
1423 }
1424 return ""
1425}
1426
1427func (m *DeviceUpdate) GetStateChange() *DeviceStatesChange {
1428 if m != nil {
1429 return m.StateChange
1430 }
1431 return nil
1432}
1433
1434func (m *DeviceUpdate) GetStatus() *common.OperationResp {
1435 if m != nil {
1436 return m.Status
1437 }
1438 return nil
1439}
1440
1441func (m *DeviceUpdate) GetDescription() string {
1442 if m != nil {
1443 return m.Description
1444 }
1445 return ""
1446}
1447
1448type DeviceUpdates struct {
1449 Items []*DeviceUpdate `protobuf:"bytes,1,rep,name=items,proto3" json:"items,omitempty"`
1450 XXX_NoUnkeyedLiteral struct{} `json:"-"`
1451 XXX_unrecognized []byte `json:"-"`
1452 XXX_sizecache int32 `json:"-"`
1453}
1454
1455func (m *DeviceUpdates) Reset() { *m = DeviceUpdates{} }
1456func (m *DeviceUpdates) String() string { return proto.CompactTextString(m) }
1457func (*DeviceUpdates) ProtoMessage() {}
1458func (*DeviceUpdates) Descriptor() ([]byte, []int) {
1459 return fileDescriptor_200940f73d155856, []int{15}
1460}
1461
1462func (m *DeviceUpdates) XXX_Unmarshal(b []byte) error {
1463 return xxx_messageInfo_DeviceUpdates.Unmarshal(m, b)
1464}
1465func (m *DeviceUpdates) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
1466 return xxx_messageInfo_DeviceUpdates.Marshal(b, m, deterministic)
1467}
1468func (m *DeviceUpdates) XXX_Merge(src proto.Message) {
1469 xxx_messageInfo_DeviceUpdates.Merge(m, src)
1470}
1471func (m *DeviceUpdates) XXX_Size() int {
1472 return xxx_messageInfo_DeviceUpdates.Size(m)
1473}
1474func (m *DeviceUpdates) XXX_DiscardUnknown() {
1475 xxx_messageInfo_DeviceUpdates.DiscardUnknown(m)
1476}
1477
1478var xxx_messageInfo_DeviceUpdates proto.InternalMessageInfo
1479
1480func (m *DeviceUpdates) GetItems() []*DeviceUpdate {
1481 if m != nil {
1482 return m.Items
1483 }
1484 return nil
1485}
1486
William Kurkianea869482019-04-09 15:16:11 -04001487// A Physical Device instance
1488type Device struct {
1489 // Voltha's device identifier
1490 Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
1491 // Device type, refers to one of the registered device types
1492 Type string `protobuf:"bytes,2,opt,name=type,proto3" json:"type,omitempty"`
1493 // Is this device a root device. Each logical switch has one root
1494 // device that is associated with the logical flow switch.
1495 Root bool `protobuf:"varint,3,opt,name=root,proto3" json:"root,omitempty"`
1496 // Parent device id, in the device tree (for a root device, the parent_id
1497 // is the logical_device.id)
1498 ParentId string `protobuf:"bytes,4,opt,name=parent_id,json=parentId,proto3" json:"parent_id,omitempty"`
1499 ParentPortNo uint32 `protobuf:"varint,20,opt,name=parent_port_no,json=parentPortNo,proto3" json:"parent_port_no,omitempty"`
1500 // Vendor, version, serial number, etc.
1501 Vendor string `protobuf:"bytes,5,opt,name=vendor,proto3" json:"vendor,omitempty"`
1502 Model string `protobuf:"bytes,6,opt,name=model,proto3" json:"model,omitempty"`
1503 HardwareVersion string `protobuf:"bytes,7,opt,name=hardware_version,json=hardwareVersion,proto3" json:"hardware_version,omitempty"`
1504 FirmwareVersion string `protobuf:"bytes,8,opt,name=firmware_version,json=firmwareVersion,proto3" json:"firmware_version,omitempty"`
1505 // List of software on the device
1506 Images *Images `protobuf:"bytes,9,opt,name=images,proto3" json:"images,omitempty"`
1507 SerialNumber string `protobuf:"bytes,10,opt,name=serial_number,json=serialNumber,proto3" json:"serial_number,omitempty"`
1508 VendorId string `protobuf:"bytes,24,opt,name=vendor_id,json=vendorId,proto3" json:"vendor_id,omitempty"`
1509 // Addapter that takes care of device
1510 Adapter string `protobuf:"bytes,11,opt,name=adapter,proto3" json:"adapter,omitempty"`
1511 // Device contact on vlan (if 0, no vlan)
1512 Vlan uint32 `protobuf:"varint,12,opt,name=vlan,proto3" json:"vlan,omitempty"`
1513 // Device contact MAC address (format: "xx:xx:xx:xx:xx:xx")
1514 MacAddress string `protobuf:"bytes,13,opt,name=mac_address,json=macAddress,proto3" json:"mac_address,omitempty"`
1515 // Types that are valid to be assigned to Address:
1516 // *Device_Ipv4Address
1517 // *Device_Ipv6Address
1518 // *Device_HostAndPort
Esin Karamanccb714b2019-11-29 15:02:06 +00001519 Address isDevice_Address `protobuf_oneof:"address"`
1520 ExtraArgs string `protobuf:"bytes,23,opt,name=extra_args,json=extraArgs,proto3" json:"extra_args,omitempty"`
1521 ProxyAddress *Device_ProxyAddress `protobuf:"bytes,19,opt,name=proxy_address,json=proxyAddress,proto3" json:"proxy_address,omitempty"`
1522 AdminState common.AdminState_Types `protobuf:"varint,16,opt,name=admin_state,json=adminState,proto3,enum=common.AdminState_Types" json:"admin_state,omitempty"`
1523 OperStatus common.OperStatus_Types `protobuf:"varint,17,opt,name=oper_status,json=operStatus,proto3,enum=common.OperStatus_Types" json:"oper_status,omitempty"`
Esin Karamanccb714b2019-11-29 15:02:06 +00001524 ConnectStatus common.ConnectStatus_Types `protobuf:"varint,18,opt,name=connect_status,json=connectStatus,proto3,enum=common.ConnectStatus_Types" json:"connect_status,omitempty"`
William Kurkianea869482019-04-09 15:16:11 -04001525 // Device type specific attributes
Kent Hagermanf1db18b2020-07-08 13:38:15 -04001526 Custom *any.Any `protobuf:"bytes,64,opt,name=custom,proto3" json:"custom,omitempty"`
William Kurkianea869482019-04-09 15:16:11 -04001527 // PmConfigs will eventually converted to a child node of the
1528 // device to falicitata callbacks and to simplify manipulation.
1529 PmConfigs *PmConfigs `protobuf:"bytes,131,opt,name=pm_configs,json=pmConfigs,proto3" json:"pm_configs,omitempty"`
1530 ImageDownloads []*ImageDownload `protobuf:"bytes,133,rep,name=image_downloads,json=imageDownloads,proto3" json:"image_downloads,omitempty"`
1531 XXX_NoUnkeyedLiteral struct{} `json:"-"`
1532 XXX_unrecognized []byte `json:"-"`
1533 XXX_sizecache int32 `json:"-"`
1534}
1535
1536func (m *Device) Reset() { *m = Device{} }
1537func (m *Device) String() string { return proto.CompactTextString(m) }
1538func (*Device) ProtoMessage() {}
1539func (*Device) Descriptor() ([]byte, []int) {
kesavand62126212021-01-12 04:56:06 -05001540 return fileDescriptor_200940f73d155856, []int{16}
William Kurkianea869482019-04-09 15:16:11 -04001541}
1542
1543func (m *Device) XXX_Unmarshal(b []byte) error {
1544 return xxx_messageInfo_Device.Unmarshal(m, b)
1545}
1546func (m *Device) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
1547 return xxx_messageInfo_Device.Marshal(b, m, deterministic)
1548}
1549func (m *Device) XXX_Merge(src proto.Message) {
1550 xxx_messageInfo_Device.Merge(m, src)
1551}
1552func (m *Device) XXX_Size() int {
1553 return xxx_messageInfo_Device.Size(m)
1554}
1555func (m *Device) XXX_DiscardUnknown() {
1556 xxx_messageInfo_Device.DiscardUnknown(m)
1557}
1558
1559var xxx_messageInfo_Device proto.InternalMessageInfo
1560
1561func (m *Device) GetId() string {
1562 if m != nil {
1563 return m.Id
1564 }
1565 return ""
1566}
1567
1568func (m *Device) GetType() string {
1569 if m != nil {
1570 return m.Type
1571 }
1572 return ""
1573}
1574
1575func (m *Device) GetRoot() bool {
1576 if m != nil {
1577 return m.Root
1578 }
1579 return false
1580}
1581
1582func (m *Device) GetParentId() string {
1583 if m != nil {
1584 return m.ParentId
1585 }
1586 return ""
1587}
1588
1589func (m *Device) GetParentPortNo() uint32 {
1590 if m != nil {
1591 return m.ParentPortNo
1592 }
1593 return 0
1594}
1595
1596func (m *Device) GetVendor() string {
1597 if m != nil {
1598 return m.Vendor
1599 }
1600 return ""
1601}
1602
1603func (m *Device) GetModel() string {
1604 if m != nil {
1605 return m.Model
1606 }
1607 return ""
1608}
1609
1610func (m *Device) GetHardwareVersion() string {
1611 if m != nil {
1612 return m.HardwareVersion
1613 }
1614 return ""
1615}
1616
1617func (m *Device) GetFirmwareVersion() string {
1618 if m != nil {
1619 return m.FirmwareVersion
1620 }
1621 return ""
1622}
1623
1624func (m *Device) GetImages() *Images {
1625 if m != nil {
1626 return m.Images
1627 }
1628 return nil
1629}
1630
1631func (m *Device) GetSerialNumber() string {
1632 if m != nil {
1633 return m.SerialNumber
1634 }
1635 return ""
1636}
1637
1638func (m *Device) GetVendorId() string {
1639 if m != nil {
1640 return m.VendorId
1641 }
1642 return ""
1643}
1644
1645func (m *Device) GetAdapter() string {
1646 if m != nil {
1647 return m.Adapter
1648 }
1649 return ""
1650}
1651
1652func (m *Device) GetVlan() uint32 {
1653 if m != nil {
1654 return m.Vlan
1655 }
1656 return 0
1657}
1658
1659func (m *Device) GetMacAddress() string {
1660 if m != nil {
1661 return m.MacAddress
1662 }
1663 return ""
1664}
1665
1666type isDevice_Address interface {
1667 isDevice_Address()
1668}
1669
1670type Device_Ipv4Address struct {
1671 Ipv4Address string `protobuf:"bytes,14,opt,name=ipv4_address,json=ipv4Address,proto3,oneof"`
1672}
1673
1674type Device_Ipv6Address struct {
1675 Ipv6Address string `protobuf:"bytes,15,opt,name=ipv6_address,json=ipv6Address,proto3,oneof"`
1676}
1677
1678type Device_HostAndPort struct {
1679 HostAndPort string `protobuf:"bytes,21,opt,name=host_and_port,json=hostAndPort,proto3,oneof"`
1680}
1681
1682func (*Device_Ipv4Address) isDevice_Address() {}
1683
1684func (*Device_Ipv6Address) isDevice_Address() {}
1685
1686func (*Device_HostAndPort) isDevice_Address() {}
1687
1688func (m *Device) GetAddress() isDevice_Address {
1689 if m != nil {
1690 return m.Address
1691 }
1692 return nil
1693}
1694
1695func (m *Device) GetIpv4Address() string {
1696 if x, ok := m.GetAddress().(*Device_Ipv4Address); ok {
1697 return x.Ipv4Address
1698 }
1699 return ""
1700}
1701
1702func (m *Device) GetIpv6Address() string {
1703 if x, ok := m.GetAddress().(*Device_Ipv6Address); ok {
1704 return x.Ipv6Address
1705 }
1706 return ""
1707}
1708
1709func (m *Device) GetHostAndPort() string {
1710 if x, ok := m.GetAddress().(*Device_HostAndPort); ok {
1711 return x.HostAndPort
1712 }
1713 return ""
1714}
1715
1716func (m *Device) GetExtraArgs() string {
1717 if m != nil {
1718 return m.ExtraArgs
1719 }
1720 return ""
1721}
1722
1723func (m *Device) GetProxyAddress() *Device_ProxyAddress {
1724 if m != nil {
1725 return m.ProxyAddress
1726 }
1727 return nil
1728}
1729
Esin Karamanccb714b2019-11-29 15:02:06 +00001730func (m *Device) GetAdminState() common.AdminState_Types {
William Kurkianea869482019-04-09 15:16:11 -04001731 if m != nil {
1732 return m.AdminState
1733 }
1734 return common.AdminState_UNKNOWN
1735}
1736
Esin Karamanccb714b2019-11-29 15:02:06 +00001737func (m *Device) GetOperStatus() common.OperStatus_Types {
William Kurkianea869482019-04-09 15:16:11 -04001738 if m != nil {
1739 return m.OperStatus
1740 }
1741 return common.OperStatus_UNKNOWN
1742}
1743
Esin Karamanccb714b2019-11-29 15:02:06 +00001744func (m *Device) GetConnectStatus() common.ConnectStatus_Types {
William Kurkianea869482019-04-09 15:16:11 -04001745 if m != nil {
1746 return m.ConnectStatus
1747 }
1748 return common.ConnectStatus_UNKNOWN
1749}
1750
1751func (m *Device) GetCustom() *any.Any {
1752 if m != nil {
1753 return m.Custom
1754 }
1755 return nil
1756}
1757
William Kurkianea869482019-04-09 15:16:11 -04001758func (m *Device) GetPmConfigs() *PmConfigs {
1759 if m != nil {
1760 return m.PmConfigs
1761 }
1762 return nil
1763}
1764
1765func (m *Device) GetImageDownloads() []*ImageDownload {
1766 if m != nil {
1767 return m.ImageDownloads
1768 }
1769 return nil
1770}
1771
1772// XXX_OneofWrappers is for the internal use of the proto package.
1773func (*Device) XXX_OneofWrappers() []interface{} {
1774 return []interface{}{
1775 (*Device_Ipv4Address)(nil),
1776 (*Device_Ipv6Address)(nil),
1777 (*Device_HostAndPort)(nil),
1778 }
1779}
1780
1781type Device_ProxyAddress struct {
1782 DeviceId string `protobuf:"bytes,1,opt,name=device_id,json=deviceId,proto3" json:"device_id,omitempty"`
1783 DeviceType string `protobuf:"bytes,2,opt,name=device_type,json=deviceType,proto3" json:"device_type,omitempty"`
1784 ChannelId uint32 `protobuf:"varint,3,opt,name=channel_id,json=channelId,proto3" json:"channel_id,omitempty"`
1785 ChannelGroupId uint32 `protobuf:"varint,4,opt,name=channel_group_id,json=channelGroupId,proto3" json:"channel_group_id,omitempty"`
1786 ChannelTermination string `protobuf:"bytes,5,opt,name=channel_termination,json=channelTermination,proto3" json:"channel_termination,omitempty"`
1787 OnuId uint32 `protobuf:"varint,6,opt,name=onu_id,json=onuId,proto3" json:"onu_id,omitempty"`
1788 OnuSessionId uint32 `protobuf:"varint,7,opt,name=onu_session_id,json=onuSessionId,proto3" json:"onu_session_id,omitempty"`
1789 XXX_NoUnkeyedLiteral struct{} `json:"-"`
1790 XXX_unrecognized []byte `json:"-"`
1791 XXX_sizecache int32 `json:"-"`
1792}
1793
1794func (m *Device_ProxyAddress) Reset() { *m = Device_ProxyAddress{} }
1795func (m *Device_ProxyAddress) String() string { return proto.CompactTextString(m) }
1796func (*Device_ProxyAddress) ProtoMessage() {}
1797func (*Device_ProxyAddress) Descriptor() ([]byte, []int) {
kesavand62126212021-01-12 04:56:06 -05001798 return fileDescriptor_200940f73d155856, []int{16, 0}
William Kurkianea869482019-04-09 15:16:11 -04001799}
1800
1801func (m *Device_ProxyAddress) XXX_Unmarshal(b []byte) error {
1802 return xxx_messageInfo_Device_ProxyAddress.Unmarshal(m, b)
1803}
1804func (m *Device_ProxyAddress) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
1805 return xxx_messageInfo_Device_ProxyAddress.Marshal(b, m, deterministic)
1806}
1807func (m *Device_ProxyAddress) XXX_Merge(src proto.Message) {
1808 xxx_messageInfo_Device_ProxyAddress.Merge(m, src)
1809}
1810func (m *Device_ProxyAddress) XXX_Size() int {
1811 return xxx_messageInfo_Device_ProxyAddress.Size(m)
1812}
1813func (m *Device_ProxyAddress) XXX_DiscardUnknown() {
1814 xxx_messageInfo_Device_ProxyAddress.DiscardUnknown(m)
1815}
1816
1817var xxx_messageInfo_Device_ProxyAddress proto.InternalMessageInfo
1818
1819func (m *Device_ProxyAddress) GetDeviceId() string {
1820 if m != nil {
1821 return m.DeviceId
1822 }
1823 return ""
1824}
1825
1826func (m *Device_ProxyAddress) GetDeviceType() string {
1827 if m != nil {
1828 return m.DeviceType
1829 }
1830 return ""
1831}
1832
1833func (m *Device_ProxyAddress) GetChannelId() uint32 {
1834 if m != nil {
1835 return m.ChannelId
1836 }
1837 return 0
1838}
1839
1840func (m *Device_ProxyAddress) GetChannelGroupId() uint32 {
1841 if m != nil {
1842 return m.ChannelGroupId
1843 }
1844 return 0
1845}
1846
1847func (m *Device_ProxyAddress) GetChannelTermination() string {
1848 if m != nil {
1849 return m.ChannelTermination
1850 }
1851 return ""
1852}
1853
1854func (m *Device_ProxyAddress) GetOnuId() uint32 {
1855 if m != nil {
1856 return m.OnuId
1857 }
1858 return 0
1859}
1860
1861func (m *Device_ProxyAddress) GetOnuSessionId() uint32 {
1862 if m != nil {
1863 return m.OnuSessionId
1864 }
1865 return 0
1866}
1867
1868type Devices struct {
1869 Items []*Device `protobuf:"bytes,1,rep,name=items,proto3" json:"items,omitempty"`
1870 XXX_NoUnkeyedLiteral struct{} `json:"-"`
1871 XXX_unrecognized []byte `json:"-"`
1872 XXX_sizecache int32 `json:"-"`
1873}
1874
1875func (m *Devices) Reset() { *m = Devices{} }
1876func (m *Devices) String() string { return proto.CompactTextString(m) }
1877func (*Devices) ProtoMessage() {}
1878func (*Devices) Descriptor() ([]byte, []int) {
kesavand62126212021-01-12 04:56:06 -05001879 return fileDescriptor_200940f73d155856, []int{17}
William Kurkianea869482019-04-09 15:16:11 -04001880}
1881
1882func (m *Devices) XXX_Unmarshal(b []byte) error {
1883 return xxx_messageInfo_Devices.Unmarshal(m, b)
1884}
1885func (m *Devices) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
1886 return xxx_messageInfo_Devices.Marshal(b, m, deterministic)
1887}
1888func (m *Devices) XXX_Merge(src proto.Message) {
1889 xxx_messageInfo_Devices.Merge(m, src)
1890}
1891func (m *Devices) XXX_Size() int {
1892 return xxx_messageInfo_Devices.Size(m)
1893}
1894func (m *Devices) XXX_DiscardUnknown() {
1895 xxx_messageInfo_Devices.DiscardUnknown(m)
1896}
1897
1898var xxx_messageInfo_Devices proto.InternalMessageInfo
1899
1900func (m *Devices) GetItems() []*Device {
1901 if m != nil {
1902 return m.Items
1903 }
1904 return nil
1905}
1906
1907type SimulateAlarmRequest struct {
1908 // Device Identifier
1909 Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
1910 Indicator string `protobuf:"bytes,2,opt,name=indicator,proto3" json:"indicator,omitempty"`
1911 IntfId string `protobuf:"bytes,3,opt,name=intf_id,json=intfId,proto3" json:"intf_id,omitempty"`
1912 PortTypeName string `protobuf:"bytes,4,opt,name=port_type_name,json=portTypeName,proto3" json:"port_type_name,omitempty"`
1913 OnuDeviceId string `protobuf:"bytes,5,opt,name=onu_device_id,json=onuDeviceId,proto3" json:"onu_device_id,omitempty"`
1914 InverseBitErrorRate int32 `protobuf:"varint,6,opt,name=inverse_bit_error_rate,json=inverseBitErrorRate,proto3" json:"inverse_bit_error_rate,omitempty"`
1915 Drift int32 `protobuf:"varint,7,opt,name=drift,proto3" json:"drift,omitempty"`
1916 NewEqd int32 `protobuf:"varint,8,opt,name=new_eqd,json=newEqd,proto3" json:"new_eqd,omitempty"`
1917 OnuSerialNumber string `protobuf:"bytes,9,opt,name=onu_serial_number,json=onuSerialNumber,proto3" json:"onu_serial_number,omitempty"`
1918 Operation SimulateAlarmRequest_OperationType `protobuf:"varint,10,opt,name=operation,proto3,enum=voltha.SimulateAlarmRequest_OperationType" json:"operation,omitempty"`
1919 XXX_NoUnkeyedLiteral struct{} `json:"-"`
1920 XXX_unrecognized []byte `json:"-"`
1921 XXX_sizecache int32 `json:"-"`
1922}
1923
1924func (m *SimulateAlarmRequest) Reset() { *m = SimulateAlarmRequest{} }
1925func (m *SimulateAlarmRequest) String() string { return proto.CompactTextString(m) }
1926func (*SimulateAlarmRequest) ProtoMessage() {}
1927func (*SimulateAlarmRequest) Descriptor() ([]byte, []int) {
kesavand62126212021-01-12 04:56:06 -05001928 return fileDescriptor_200940f73d155856, []int{18}
William Kurkianea869482019-04-09 15:16:11 -04001929}
1930
1931func (m *SimulateAlarmRequest) XXX_Unmarshal(b []byte) error {
1932 return xxx_messageInfo_SimulateAlarmRequest.Unmarshal(m, b)
1933}
1934func (m *SimulateAlarmRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
1935 return xxx_messageInfo_SimulateAlarmRequest.Marshal(b, m, deterministic)
1936}
1937func (m *SimulateAlarmRequest) XXX_Merge(src proto.Message) {
1938 xxx_messageInfo_SimulateAlarmRequest.Merge(m, src)
1939}
1940func (m *SimulateAlarmRequest) XXX_Size() int {
1941 return xxx_messageInfo_SimulateAlarmRequest.Size(m)
1942}
1943func (m *SimulateAlarmRequest) XXX_DiscardUnknown() {
1944 xxx_messageInfo_SimulateAlarmRequest.DiscardUnknown(m)
1945}
1946
1947var xxx_messageInfo_SimulateAlarmRequest proto.InternalMessageInfo
1948
1949func (m *SimulateAlarmRequest) GetId() string {
1950 if m != nil {
1951 return m.Id
1952 }
1953 return ""
1954}
1955
1956func (m *SimulateAlarmRequest) GetIndicator() string {
1957 if m != nil {
1958 return m.Indicator
1959 }
1960 return ""
1961}
1962
1963func (m *SimulateAlarmRequest) GetIntfId() string {
1964 if m != nil {
1965 return m.IntfId
1966 }
1967 return ""
1968}
1969
1970func (m *SimulateAlarmRequest) GetPortTypeName() string {
1971 if m != nil {
1972 return m.PortTypeName
1973 }
1974 return ""
1975}
1976
1977func (m *SimulateAlarmRequest) GetOnuDeviceId() string {
1978 if m != nil {
1979 return m.OnuDeviceId
1980 }
1981 return ""
1982}
1983
1984func (m *SimulateAlarmRequest) GetInverseBitErrorRate() int32 {
1985 if m != nil {
1986 return m.InverseBitErrorRate
1987 }
1988 return 0
1989}
1990
1991func (m *SimulateAlarmRequest) GetDrift() int32 {
1992 if m != nil {
1993 return m.Drift
1994 }
1995 return 0
1996}
1997
1998func (m *SimulateAlarmRequest) GetNewEqd() int32 {
1999 if m != nil {
2000 return m.NewEqd
2001 }
2002 return 0
2003}
2004
2005func (m *SimulateAlarmRequest) GetOnuSerialNumber() string {
2006 if m != nil {
2007 return m.OnuSerialNumber
2008 }
2009 return ""
2010}
2011
2012func (m *SimulateAlarmRequest) GetOperation() SimulateAlarmRequest_OperationType {
2013 if m != nil {
2014 return m.Operation
2015 }
2016 return SimulateAlarmRequest_RAISE
2017}
2018
2019func init() {
2020 proto.RegisterEnum("voltha.PmConfig_PmType", PmConfig_PmType_name, PmConfig_PmType_value)
2021 proto.RegisterEnum("voltha.ImageDownload_ImageDownloadState", ImageDownload_ImageDownloadState_name, ImageDownload_ImageDownloadState_value)
2022 proto.RegisterEnum("voltha.ImageDownload_ImageDownloadFailureReason", ImageDownload_ImageDownloadFailureReason_name, ImageDownload_ImageDownloadFailureReason_value)
2023 proto.RegisterEnum("voltha.ImageDownload_ImageActivateState", ImageDownload_ImageActivateState_name, ImageDownload_ImageActivateState_value)
2024 proto.RegisterEnum("voltha.Port_PortType", Port_PortType_name, Port_PortType_value)
2025 proto.RegisterEnum("voltha.SimulateAlarmRequest_OperationType", SimulateAlarmRequest_OperationType_name, SimulateAlarmRequest_OperationType_value)
2026 proto.RegisterType((*DeviceType)(nil), "voltha.DeviceType")
2027 proto.RegisterType((*DeviceTypes)(nil), "voltha.DeviceTypes")
2028 proto.RegisterType((*PmConfig)(nil), "voltha.PmConfig")
2029 proto.RegisterType((*PmGroupConfig)(nil), "voltha.PmGroupConfig")
2030 proto.RegisterType((*PmConfigs)(nil), "voltha.PmConfigs")
2031 proto.RegisterType((*Image)(nil), "voltha.Image")
2032 proto.RegisterType((*Images)(nil), "voltha.Images")
2033 proto.RegisterType((*ImageDownload)(nil), "voltha.ImageDownload")
2034 proto.RegisterType((*ImageDownloads)(nil), "voltha.ImageDownloads")
2035 proto.RegisterType((*Port)(nil), "voltha.Port")
2036 proto.RegisterType((*Port_PeerPort)(nil), "voltha.Port.PeerPort")
2037 proto.RegisterType((*Ports)(nil), "voltha.Ports")
kesavand62126212021-01-12 04:56:06 -05002038 proto.RegisterType((*DeviceState)(nil), "voltha.DeviceState")
2039 proto.RegisterType((*DeviceStatesChange)(nil), "voltha.DeviceStatesChange")
2040 proto.RegisterType((*DeviceUpdateFilter)(nil), "voltha.DeviceUpdateFilter")
2041 proto.RegisterType((*DeviceUpdate)(nil), "voltha.DeviceUpdate")
2042 proto.RegisterType((*DeviceUpdates)(nil), "voltha.DeviceUpdates")
William Kurkianea869482019-04-09 15:16:11 -04002043 proto.RegisterType((*Device)(nil), "voltha.Device")
2044 proto.RegisterType((*Device_ProxyAddress)(nil), "voltha.Device.ProxyAddress")
2045 proto.RegisterType((*Devices)(nil), "voltha.Devices")
2046 proto.RegisterType((*SimulateAlarmRequest)(nil), "voltha.SimulateAlarmRequest")
2047}
2048
2049func init() { proto.RegisterFile("voltha_protos/device.proto", fileDescriptor_200940f73d155856) }
2050
2051var fileDescriptor_200940f73d155856 = []byte{
kesavand62126212021-01-12 04:56:06 -05002052 // 2606 bytes of a gzipped FileDescriptorProto
2053 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x9c, 0x58, 0xcd, 0x73, 0xdb, 0xc6,
2054 0x15, 0x37, 0x29, 0xf1, 0xeb, 0xf1, 0x43, 0xf0, 0x5a, 0x4e, 0x60, 0x29, 0x1a, 0xbb, 0x74, 0x3a,
2055 0x55, 0x9c, 0x5a, 0x72, 0x9d, 0x4c, 0x92, 0x4e, 0x27, 0x33, 0xa6, 0x48, 0xc8, 0xe6, 0x54, 0xa5,
2056 0xd4, 0x25, 0xa5, 0xb4, 0xbd, 0x60, 0x20, 0x62, 0x29, 0x61, 0x0c, 0x60, 0xe1, 0x5d, 0x90, 0x92,
2057 0x72, 0xeb, 0x64, 0xda, 0x53, 0x6f, 0xfd, 0x27, 0xfa, 0x1f, 0xe4, 0xd8, 0x9e, 0xda, 0x53, 0xa6,
2058 0xe7, 0x5e, 0xdb, 0x4b, 0xff, 0x82, 0x5c, 0x7a, 0xe9, 0xec, 0x17, 0x01, 0x48, 0x89, 0x5d, 0xf7,
2059 0x22, 0x71, 0x7f, 0xef, 0x03, 0xbb, 0xbf, 0x7d, 0xfb, 0xde, 0xdb, 0x85, 0x8d, 0x05, 0x0d, 0xd3,
2060 0x73, 0xcf, 0x4d, 0x18, 0x4d, 0x29, 0xdf, 0xf5, 0xc9, 0x22, 0x98, 0x92, 0x1d, 0x39, 0x42, 0x55,
2061 0x25, 0xdb, 0xb8, 0x77, 0x46, 0xe9, 0x59, 0x48, 0x76, 0x25, 0x7a, 0x3a, 0x9f, 0xed, 0x7a, 0xf1,
2062 0x95, 0x52, 0xd9, 0xb8, 0x7f, 0x5d, 0x94, 0x06, 0x11, 0xe1, 0xa9, 0x17, 0x25, 0x5a, 0xe1, 0x9a,
2063 0xff, 0x29, 0x8d, 0x22, 0x1a, 0x6b, 0x99, 0x5d, 0x94, 0x45, 0x24, 0xf5, 0x8c, 0xdb, 0xa2, 0x84,
2064 0x26, 0x24, 0x9e, 0x85, 0xf4, 0xc2, 0xfd, 0xc9, 0x47, 0x4a, 0xa1, 0xfb, 0xe7, 0x32, 0xc0, 0x40,
2065 0xce, 0x75, 0x72, 0x95, 0x10, 0xd4, 0x81, 0x72, 0xe0, 0xdb, 0xa5, 0x07, 0xa5, 0xed, 0x06, 0x2e,
2066 0x07, 0x3e, 0xda, 0x84, 0xc6, 0x82, 0xc4, 0x3e, 0x65, 0x6e, 0xe0, 0xdb, 0x15, 0x09, 0xd7, 0x15,
2067 0x30, 0xf4, 0xd1, 0x16, 0xc0, 0x52, 0xc8, 0xed, 0xea, 0x83, 0x95, 0xed, 0x06, 0x6e, 0x18, 0x29,
2068 0x47, 0x36, 0xd4, 0x3c, 0xdf, 0x4b, 0x52, 0xc2, 0xec, 0xb2, 0xb4, 0x34, 0x43, 0xf4, 0x29, 0xd8,
2069 0xde, 0x74, 0x4a, 0x92, 0x94, 0xbb, 0xa7, 0xf3, 0xf0, 0xa5, 0x2b, 0xa7, 0x34, 0x4f, 0x7c, 0x2f,
2070 0x25, 0xf6, 0xca, 0x83, 0xd2, 0x76, 0x1d, 0xdf, 0xd5, 0xf2, 0xbd, 0x79, 0xf8, 0x72, 0x3f, 0xa4,
2071 0x17, 0xc7, 0x52, 0x88, 0x06, 0x70, 0xdf, 0x18, 0x7a, 0xbe, 0xef, 0x32, 0x12, 0xd1, 0x05, 0xc9,
2072 0x9b, 0x73, 0x7b, 0x55, 0xda, 0x6f, 0x6a, 0xb5, 0x9e, 0xef, 0x63, 0xa9, 0x94, 0x39, 0xe1, 0xe8,
2073 0x00, 0x1e, 0x1a, 0x2f, 0x7e, 0xc0, 0xc8, 0x34, 0x75, 0x43, 0x7a, 0x16, 0x4c, 0xbd, 0x50, 0x7a,
2074 0xe2, 0x66, 0x26, 0x35, 0xe9, 0xc9, 0x7c, 0x70, 0x20, 0x35, 0x0f, 0x94, 0xa2, 0xf0, 0xc6, 0x95,
2075 0xbb, 0xee, 0xa7, 0xd0, 0xcc, 0x08, 0xe4, 0x68, 0x1b, 0x2a, 0x41, 0x4a, 0x22, 0x6e, 0x97, 0x1e,
2076 0xac, 0x6c, 0x37, 0x9f, 0xa2, 0x1d, 0xb5, 0x03, 0x3b, 0x99, 0x0e, 0x56, 0x0a, 0xdd, 0xbf, 0x94,
2077 0xa0, 0x7e, 0x14, 0xf5, 0x69, 0x3c, 0x0b, 0xce, 0x10, 0x82, 0xd5, 0xd8, 0x8b, 0x88, 0xa6, 0x5e,
2078 0xfe, 0x46, 0x1f, 0xc2, 0x6a, 0x7a, 0x95, 0x10, 0xc9, 0x5e, 0xe7, 0xe9, 0xbb, 0xc6, 0x93, 0xb1,
2079 0xd9, 0x39, 0x8a, 0xa4, 0x3b, 0xa9, 0x24, 0xd8, 0x26, 0xb1, 0x77, 0x1a, 0x12, 0x5f, 0x53, 0x68,
2080 0x86, 0xe8, 0x3e, 0x34, 0xb9, 0x17, 0x25, 0x21, 0x71, 0x67, 0x8c, 0xbc, 0x92, 0x04, 0xb5, 0x31,
2081 0x28, 0x68, 0x9f, 0x91, 0x57, 0xdd, 0xcf, 0xa0, 0xaa, 0x5c, 0xa1, 0x26, 0xd4, 0xfa, 0x87, 0xc7,
2082 0xa3, 0x89, 0x83, 0xad, 0x5b, 0xa8, 0x01, 0x95, 0xe7, 0xbd, 0xe3, 0xe7, 0x8e, 0x55, 0x12, 0x3f,
2083 0xc7, 0x93, 0xde, 0xc4, 0xb1, 0xca, 0x4a, 0x65, 0x34, 0x71, 0x7e, 0x35, 0xb1, 0x56, 0xba, 0x7f,
2084 0x2c, 0x41, 0xfb, 0x28, 0x7a, 0xce, 0xe8, 0x3c, 0xd1, 0xeb, 0xd8, 0x02, 0x38, 0x13, 0x43, 0x37,
2085 0xb7, 0x9a, 0x86, 0x44, 0x46, 0x62, 0x49, 0x4b, 0xb1, 0x9c, 0x4a, 0x59, 0x4e, 0x45, 0x89, 0xc5,
2086 0x4c, 0x5e, 0xb3, 0x88, 0x47, 0x50, 0x8b, 0x48, 0xca, 0x82, 0xa9, 0xd8, 0x61, 0x41, 0xac, 0x75,
2087 0x9d, 0x0e, 0x6c, 0x14, 0xba, 0xbf, 0x2d, 0x43, 0xc3, 0xa0, 0xfc, 0x46, 0x48, 0xff, 0x00, 0x5a,
2088 0x3e, 0x99, 0x79, 0xf3, 0x30, 0xcd, 0x4f, 0xa2, 0xa9, 0x31, 0x39, 0x8d, 0xfb, 0x50, 0x93, 0x73,
2089 0x32, 0xd3, 0xd8, 0xab, 0xfc, 0xfb, 0xdb, 0x6f, 0xb6, 0x4a, 0xd8, 0xa0, 0xe8, 0x11, 0xb4, 0x85,
2090 0xad, 0x4b, 0x17, 0x84, 0xb1, 0xc0, 0x27, 0x2a, 0xea, 0x8c, 0x5a, 0x4b, 0xc8, 0x0e, 0xb5, 0x08,
2091 0x3d, 0x86, 0xaa, 0x34, 0xe3, 0x76, 0x45, 0x4e, 0xfc, 0x6e, 0x36, 0xf1, 0x1c, 0x71, 0x58, 0x2b,
2092 0xe5, 0x17, 0x5a, 0x7d, 0xc3, 0x42, 0xd1, 0x3d, 0xa8, 0x47, 0xde, 0xa5, 0xcb, 0x5f, 0x92, 0x0b,
2093 0x19, 0xad, 0x6d, 0x5c, 0x8b, 0xbc, 0xcb, 0xf1, 0x4b, 0x72, 0xd1, 0xfd, 0x7b, 0x09, 0x2a, 0xc3,
2094 0xc8, 0x3b, 0x23, 0xdf, 0x19, 0x59, 0x36, 0xd4, 0x16, 0x84, 0xf1, 0x80, 0xc6, 0xe6, 0x68, 0xea,
2095 0xa1, 0xd0, 0x3e, 0xf7, 0xf8, 0xb9, 0x5c, 0x77, 0x03, 0xcb, 0xdf, 0xe8, 0x03, 0xb0, 0x82, 0x98,
2096 0xa7, 0x5e, 0x18, 0xba, 0x22, 0xe2, 0x45, 0x66, 0x92, 0x0b, 0x6e, 0xe0, 0x35, 0x8d, 0x0f, 0x34,
2097 0x2c, 0xf2, 0x45, 0xc0, 0x5d, 0x6f, 0x9a, 0x06, 0x0b, 0x22, 0xf3, 0x45, 0x1d, 0xd7, 0x03, 0xde,
2098 0x93, 0x63, 0xc1, 0x7c, 0xc0, 0x5d, 0x91, 0xb9, 0x82, 0x34, 0x25, 0xbe, 0x5d, 0x95, 0xf2, 0x66,
2099 0xc0, 0xfb, 0x06, 0x12, 0x2b, 0x0a, 0xb8, 0xbb, 0xf0, 0xc2, 0xc0, 0xd7, 0xe7, 0xaf, 0x16, 0xf0,
2100 0x13, 0x31, 0xec, 0x3e, 0x86, 0xaa, 0x5c, 0x10, 0x47, 0x0f, 0xa1, 0x12, 0x88, 0x5f, 0xfa, 0x88,
2101 0xb5, 0x0d, 0x41, 0x52, 0x8c, 0x95, 0xac, 0xfb, 0xaf, 0x1a, 0xb4, 0x25, 0x30, 0xa0, 0x17, 0x71,
2102 0x48, 0x3d, 0xff, 0x46, 0x20, 0x18, 0x62, 0xca, 0x39, 0x62, 0x2c, 0x58, 0x99, 0xb3, 0x50, 0xaf,
2103 0x5e, 0xfc, 0x14, 0xc8, 0x94, 0x4d, 0xf5, 0xa9, 0x11, 0x3f, 0xd1, 0x21, 0x74, 0x7c, 0xed, 0xd3,
2104 0xe5, 0xa9, 0xc8, 0x14, 0x15, 0x79, 0x40, 0xb7, 0x0b, 0xf3, 0x30, 0x9f, 0x2d, 0x8e, 0xc6, 0x42,
2105 0x1f, 0xb7, 0xfd, 0xfc, 0x10, 0x3d, 0x84, 0xb6, 0x9c, 0xb3, 0x6b, 0xf6, 0xa4, 0x2a, 0x3f, 0xdf,
2106 0x92, 0xe0, 0x89, 0xde, 0x98, 0x0f, 0xc0, 0x32, 0x56, 0xc4, 0x77, 0x4f, 0xaf, 0x44, 0xae, 0x53,
2107 0x7b, 0xbe, 0x96, 0xe1, 0x7b, 0x02, 0x46, 0x2f, 0xa0, 0xca, 0x88, 0xc7, 0x69, 0x6c, 0xd7, 0xe5,
2108 0xc4, 0x9e, 0xfc, 0x0f, 0x13, 0xdb, 0xf7, 0x82, 0x70, 0xce, 0x08, 0x96, 0x76, 0x58, 0xdb, 0xa3,
2109 0x1f, 0xc1, 0x9a, 0xe7, 0xfb, 0x41, 0x1a, 0xd0, 0xd8, 0x0b, 0xdd, 0x20, 0x9e, 0x51, 0xbb, 0x21,
2110 0xe7, 0xd6, 0xc9, 0xe0, 0x61, 0x3c, 0xa3, 0x2a, 0xc7, 0x2c, 0x88, 0x3b, 0x95, 0x11, 0x6a, 0x83,
2111 0xdc, 0x3a, 0x10, 0x90, 0xce, 0x0b, 0x9b, 0xd0, 0x08, 0xa9, 0x48, 0xb1, 0x7e, 0xc0, 0xec, 0xa6,
2112 0x2a, 0x24, 0x12, 0x18, 0x04, 0x0c, 0x0d, 0xa1, 0xa9, 0x08, 0x50, 0x74, 0xb6, 0xde, 0x48, 0xa7,
2113 0x0c, 0x28, 0x2f, 0x25, 0x8a, 0x4e, 0x90, 0xc6, 0x8a, 0xcb, 0x4d, 0x68, 0xcc, 0x82, 0x90, 0xb8,
2114 0x3c, 0xf8, 0x92, 0xd8, 0x6d, 0xc9, 0x4f, 0x5d, 0x00, 0xe3, 0xe0, 0x4b, 0xd2, 0xfd, 0xba, 0x04,
2115 0xe8, 0xe6, 0x76, 0xa0, 0x75, 0xb0, 0x06, 0x87, 0x5f, 0x8c, 0x0e, 0x0e, 0x7b, 0x03, 0xf7, 0x78,
2116 0xf4, 0xf3, 0xd1, 0xe1, 0x17, 0x23, 0xeb, 0x16, 0x7a, 0x07, 0xd0, 0x12, 0x1d, 0x1f, 0xf7, 0xfb,
2117 0x8e, 0x33, 0x70, 0x06, 0x56, 0xa9, 0x80, 0x63, 0xe7, 0x97, 0xc7, 0xce, 0x78, 0xe2, 0x0c, 0xac,
2118 0x72, 0xc1, 0xcb, 0x78, 0xd2, 0xc3, 0x02, 0x5d, 0x41, 0x77, 0x60, 0x6d, 0x89, 0xee, 0xf7, 0x86,
2119 0x07, 0xce, 0xc0, 0x5a, 0x45, 0x36, 0xac, 0xe7, 0x3e, 0x38, 0x3e, 0x3e, 0x3a, 0x3a, 0x94, 0xea,
2120 0x95, 0x82, 0xf3, 0x7e, 0x6f, 0xd4, 0x77, 0x0e, 0x84, 0x45, 0xb5, 0xfb, 0xfb, 0x12, 0x6c, 0x7c,
2121 0xff, 0x7e, 0xa1, 0x16, 0xd4, 0x47, 0x87, 0xae, 0x83, 0xf1, 0xa1, 0x48, 0xdc, 0x6b, 0xd0, 0x1c,
2122 0x8e, 0x4e, 0x7a, 0x07, 0xc3, 0x81, 0x7b, 0x8c, 0x0f, 0xac, 0x92, 0x00, 0x06, 0xce, 0xc9, 0xb0,
2123 0xef, 0xb8, 0x7b, 0xc7, 0xe3, 0x5f, 0x5b, 0x65, 0xf1, 0x99, 0xe1, 0x68, 0x7c, 0xbc, 0xbf, 0x3f,
2124 0xec, 0x0f, 0x9d, 0xd1, 0xc4, 0x1d, 0x1f, 0xf5, 0xfa, 0x8e, 0xb5, 0x82, 0x6e, 0x43, 0x5b, 0x13,
2125 0xa0, 0x9d, 0xad, 0xa2, 0x36, 0x34, 0xb2, 0x89, 0x54, 0xba, 0x7f, 0x30, 0x14, 0x16, 0xb6, 0x40,
2126 0x18, 0x0e, 0x7f, 0xd1, 0x7b, 0xee, 0xe4, 0xf8, 0x43, 0xd0, 0x51, 0xd0, 0x70, 0xd4, 0xeb, 0x4f,
2127 0x86, 0x27, 0xa2, 0x8e, 0xac, 0x83, 0xa5, 0x30, 0x89, 0xf4, 0x26, 0xc3, 0xd1, 0x73, 0xab, 0x8c,
2128 0x2c, 0x68, 0xe5, 0x50, 0x47, 0xb1, 0xa6, 0x10, 0xec, 0x9c, 0x38, 0x58, 0xaa, 0xad, 0x66, 0x0e,
2129 0x15, 0x28, 0xa7, 0xf3, 0x39, 0x74, 0x0a, 0xb4, 0x70, 0xf4, 0xa1, 0xa9, 0xbf, 0xe5, 0x62, 0xb6,
2130 0x2d, 0xa8, 0x99, 0x12, 0xfc, 0x75, 0x05, 0x56, 0x8f, 0x28, 0x4b, 0xd1, 0xbb, 0x50, 0x4b, 0x28,
2131 0x4b, 0xdd, 0x98, 0xca, 0x04, 0xd1, 0xc6, 0x55, 0x31, 0x1c, 0x51, 0xb4, 0x0e, 0x95, 0xd0, 0x3b,
2132 0x25, 0xa1, 0xce, 0x12, 0x6a, 0x80, 0x3e, 0xd0, 0x95, 0x79, 0x45, 0x46, 0x6a, 0x96, 0xd1, 0x29,
2133 0x4b, 0xe5, 0x9f, 0x5c, 0x5d, 0xfe, 0x29, 0x34, 0x3d, 0x3f, 0x0a, 0xe2, 0x42, 0xaa, 0xb0, 0x77,
2134 0x74, 0xff, 0xd6, 0x13, 0x22, 0x49, 0xe1, 0x8e, 0x6c, 0x1f, 0x30, 0x78, 0x4b, 0x44, 0x98, 0xd2,
2135 0x84, 0x30, 0x69, 0x39, 0xe7, 0x32, 0x2b, 0xe4, 0x4c, 0x0f, 0x13, 0xc2, 0xc6, 0x52, 0x62, 0x4c,
2136 0xe9, 0x12, 0x11, 0xc7, 0x40, 0x75, 0xa0, 0xae, 0x4e, 0xa4, 0x0d, 0x5c, 0x57, 0xc0, 0xd0, 0x17,
2137 0x14, 0x25, 0x84, 0x30, 0x6e, 0xd7, 0xaf, 0x15, 0x24, 0x39, 0x7d, 0x42, 0x98, 0xf8, 0x81, 0x95,
2138 0x8e, 0xa8, 0xd8, 0xec, 0xd2, 0x4d, 0xbc, 0xe9, 0x4b, 0x92, 0x72, 0x79, 0xfa, 0xab, 0xb8, 0xc1,
2139 0x2e, 0x8f, 0x14, 0x20, 0x12, 0x36, 0xbb, 0xd4, 0xe9, 0x08, 0xa4, 0xb0, 0xc6, 0x2e, 0x55, 0x1a,
2140 0xda, 0x84, 0x06, 0xbb, 0x74, 0x09, 0x63, 0x94, 0x71, 0x79, 0xe4, 0xab, 0xb8, 0xce, 0x2e, 0x1d,
2141 0x39, 0x16, 0x6e, 0xd3, 0xcc, 0x6d, 0x4b, 0xb9, 0x4d, 0xf3, 0x6e, 0x53, 0xe3, 0xb6, 0xad, 0xdc,
2142 0xa6, 0x99, 0xdb, 0x74, 0xe9, 0xb6, 0xa3, 0xdc, 0xa6, 0xc6, 0xed, 0x13, 0xa8, 0xd3, 0x59, 0xe2,
2143 0x8a, 0xcd, 0xb3, 0xd7, 0x1e, 0x94, 0xe4, 0xea, 0xf2, 0x4d, 0xaf, 0x11, 0xe2, 0x1a, 0x9d, 0x25,
2144 0x62, 0x99, 0x1b, 0xcf, 0xa0, 0x6e, 0x96, 0x5c, 0x64, 0xad, 0x74, 0x8d, 0xb5, 0x5c, 0x88, 0x94,
2145 0xf3, 0x21, 0xd2, 0xe5, 0x50, 0x37, 0x7b, 0x2e, 0xba, 0xa3, 0xec, 0x04, 0x58, 0xd0, 0x72, 0x26,
2146 0x2f, 0x1c, 0x3c, 0x72, 0x26, 0xee, 0x68, 0x34, 0xb4, 0x4a, 0x05, 0xe4, 0x78, 0x34, 0x54, 0xed,
2147 0xd4, 0xd1, 0xe1, 0xc8, 0x3d, 0x3c, 0x98, 0x58, 0x2b, 0xcb, 0xc1, 0xe8, 0x58, 0x1d, 0xbc, 0x13,
2148 0x47, 0x28, 0x0a, 0x59, 0x25, 0x37, 0x1c, 0x1d, 0x5b, 0xd5, 0xee, 0x87, 0x50, 0x11, 0x1f, 0xe5,
2149 0xa8, 0x5b, 0xec, 0x37, 0x5b, 0xf9, 0xcd, 0x34, 0x61, 0xfe, 0xb7, 0x92, 0xe9, 0x51, 0x97, 0x81,
2150 0x95, 0x8f, 0xc9, 0xd2, 0xff, 0x1f, 0x93, 0xe5, 0xb7, 0x88, 0xc9, 0x3d, 0xe8, 0x4c, 0x69, 0x1c,
2151 0x8b, 0x7e, 0x5b, 0x5b, 0xab, 0xe3, 0xb3, 0x69, 0xac, 0xfb, 0x4a, 0x5a, 0x70, 0xd0, 0x9e, 0xe6,
2152 0xc1, 0x6e, 0x0a, 0x28, 0xb7, 0x10, 0xde, 0x3f, 0xf7, 0xe2, 0x33, 0x82, 0x76, 0xa1, 0x9e, 0x30,
2153 0xb2, 0x08, 0xe8, 0x9c, 0xcb, 0xc5, 0x34, 0x9f, 0xde, 0x29, 0xb6, 0xdd, 0xaa, 0x4e, 0x2c, 0x95,
2154 0xd0, 0x63, 0xa8, 0x4d, 0xe7, 0x8c, 0x91, 0x38, 0x95, 0x2b, 0xf8, 0x1e, 0x7d, 0xa3, 0xd3, 0xfd,
2155 0x6b, 0xd9, 0x7c, 0x56, 0xf5, 0xfc, 0xfb, 0x41, 0x28, 0xae, 0x31, 0xaf, 0x0d, 0x97, 0x1e, 0x74,
2156 0x66, 0x8c, 0x46, 0xee, 0xf2, 0x1e, 0xa7, 0xbf, 0xb4, 0xb1, 0xa3, 0x6e, 0x7a, 0x3b, 0xe6, 0xa6,
2157 0xb7, 0x33, 0x31, 0x1a, 0xb8, 0x2d, 0x2c, 0x96, 0x43, 0xf4, 0x39, 0xb4, 0x52, 0x9a, 0x73, 0xb0,
2158 0xf2, 0x46, 0x07, 0xcd, 0x94, 0x66, 0xe6, 0xef, 0x41, 0x43, 0xb0, 0xef, 0x89, 0x32, 0xad, 0xfb,
2159 0xb5, 0x0c, 0x10, 0xcd, 0xd8, 0x72, 0x90, 0x5d, 0xee, 0x9a, 0x4b, 0x6c, 0x28, 0x3b, 0x65, 0x46,
2160 0x5e, 0xcd, 0x09, 0x4f, 0x65, 0xc7, 0xa1, 0xdb, 0x92, 0xe6, 0x12, 0xdb, 0xbb, 0x12, 0xcd, 0xad,
2161 0xde, 0xcb, 0x9a, 0x3e, 0x6d, 0xb9, 0x48, 0x90, 0x7e, 0x30, 0xe1, 0x09, 0xd6, 0x4a, 0xdd, 0x7f,
2162 0x94, 0xa1, 0x95, 0x27, 0xf2, 0xf5, 0x14, 0x7e, 0x06, 0x8d, 0xb7, 0x61, 0x2f, 0x53, 0x2e, 0x2e,
2163 0x7d, 0xe5, 0x4d, 0x4b, 0x5f, 0x7d, 0xf3, 0xd2, 0x2b, 0x37, 0x97, 0xfe, 0x39, 0xb4, 0xe4, 0xf1,
2164 0x71, 0xa7, 0x32, 0x08, 0x25, 0x3b, 0x62, 0x82, 0x37, 0x03, 0x49, 0x87, 0x29, 0x6e, 0x4a, 0x7d,
2165 0x1d, 0xb3, 0x6f, 0xc7, 0x1c, 0x7a, 0x00, 0x4d, 0x9f, 0xf0, 0x29, 0x0b, 0x12, 0xb9, 0xa6, 0xba,
2166 0x9a, 0x4f, 0x0e, 0xea, 0xfe, 0x0c, 0xda, 0x79, 0x6a, 0xc5, 0x4d, 0xa2, 0x90, 0x19, 0xd6, 0x8b,
2167 0x33, 0x53, 0x5a, 0x26, 0x43, 0xfc, 0x07, 0xa0, 0xaa, 0x70, 0x74, 0x37, 0x6b, 0x93, 0xcd, 0x85,
2168 0x46, 0x74, 0xcb, 0xf7, 0x72, 0x97, 0xd1, 0xa5, 0x40, 0x95, 0xb8, 0x7b, 0xb0, 0xca, 0x28, 0x4d,
2169 0x8b, 0x77, 0x25, 0x09, 0xa1, 0x2e, 0x34, 0x12, 0x4f, 0x9c, 0xa1, 0x25, 0xcf, 0x46, 0x5e, 0x57,
2170 0xb8, 0x2c, 0x47, 0x1d, 0xad, 0x63, 0xf2, 0xeb, 0xba, 0xc8, 0xaf, 0xcb, 0xdb, 0x94, 0x12, 0x1e,
2171 0xa9, 0x7a, 0xbc, 0x05, 0x55, 0xf5, 0xc2, 0xa0, 0xb6, 0xc4, 0x28, 0x69, 0x10, 0x6d, 0x42, 0x25,
2172 0xa2, 0x3e, 0x09, 0x55, 0xac, 0x1a, 0xa9, 0xc2, 0xd0, 0x13, 0xb0, 0xce, 0x3d, 0xe6, 0x5f, 0x78,
2173 0x2c, 0x6b, 0xb5, 0x6b, 0x79, 0xbd, 0x35, 0x23, 0x36, 0x4d, 0xf7, 0x13, 0xb0, 0x66, 0x01, 0x8b,
2174 0x0a, 0x16, 0xf5, 0x82, 0x85, 0x11, 0x1b, 0x8b, 0xc7, 0x50, 0x95, 0xdd, 0xa8, 0x2a, 0x95, 0xcd,
2175 0xa7, 0x9d, 0x42, 0xff, 0xc1, 0x97, 0xf3, 0x55, 0x4a, 0xe2, 0x22, 0xc9, 0x09, 0x0b, 0xbc, 0xd0,
2176 0x8d, 0xe7, 0xd1, 0x29, 0x61, 0xb2, 0x86, 0x2e, 0xbd, 0xb7, 0x94, 0x6c, 0x24, 0x45, 0x82, 0xcb,
2177 0xec, 0x2d, 0xc6, 0x2e, 0x70, 0xb9, 0x7c, 0x92, 0xb9, 0x9f, 0xbd, 0xb9, 0x34, 0xf3, 0x1a, 0xcb,
2178 0xa7, 0x17, 0x04, 0xab, 0x8b, 0xd0, 0x8b, 0x65, 0xc5, 0x6d, 0x63, 0xf9, 0x5b, 0x34, 0xef, 0x91,
2179 0x37, 0x75, 0x3d, 0xdf, 0x67, 0x84, 0xab, 0x7a, 0xdb, 0xc0, 0x10, 0x79, 0xd3, 0x9e, 0x42, 0xd0,
2180 0x43, 0x68, 0x05, 0xc9, 0xe2, 0xe3, 0xa5, 0x86, 0xa8, 0xba, 0x8d, 0x17, 0xb7, 0x70, 0x53, 0xa0,
2181 0x45, 0xa5, 0x4f, 0x96, 0x4a, 0x6b, 0x39, 0xa5, 0x4f, 0x8c, 0xd2, 0xfb, 0xd0, 0x3e, 0xa7, 0x3c,
2182 0x75, 0xbd, 0xd8, 0x57, 0x45, 0xfa, 0xae, 0xd1, 0x12, 0x70, 0x2f, 0xf6, 0x65, 0x1d, 0xde, 0x02,
2183 0x20, 0x97, 0x29, 0xf3, 0x5c, 0x8f, 0x9d, 0x71, 0xfb, 0x5d, 0x75, 0x7e, 0x25, 0xd2, 0x63, 0x67,
2184 0x1c, 0x3d, 0x83, 0x76, 0xc2, 0xe8, 0xe5, 0xd5, 0xf2, 0x53, 0x77, 0x24, 0xd5, 0x9b, 0xc5, 0x00,
2185 0xdf, 0x39, 0x12, 0x3a, 0xfa, 0xc3, 0xb8, 0x95, 0xe4, 0x46, 0xd7, 0x0b, 0xa0, 0xf5, 0x16, 0x05,
2186 0xf0, 0x59, 0xb1, 0x00, 0xde, 0x7e, 0x7d, 0x01, 0x34, 0xfc, 0xe7, 0xeb, 0xe0, 0xf0, 0x46, 0x1d,
2187 0x44, 0x6f, 0xac, 0x83, 0xc6, 0x4f, 0xb1, 0x1c, 0xa2, 0x1f, 0x43, 0x75, 0x3a, 0xe7, 0x29, 0x8d,
2188 0xec, 0x67, 0x92, 0x82, 0xf5, 0x1b, 0xe9, 0xb1, 0x17, 0x5f, 0x61, 0xad, 0x83, 0x3e, 0x03, 0x48,
2189 0x22, 0x7d, 0x45, 0xe3, 0xf6, 0x57, 0xaa, 0x52, 0xde, 0xbe, 0xfe, 0xbc, 0xc0, 0xf7, 0x2a, 0xff,
2190 0xfc, 0xf6, 0x9b, 0xad, 0x5b, 0xb8, 0x91, 0x2c, 0xdf, 0x50, 0x0e, 0x60, 0x4d, 0x5d, 0xd0, 0xcc,
2191 0x55, 0x93, 0xdb, 0xbf, 0x2b, 0xbd, 0xa6, 0xbf, 0xde, 0x6b, 0x0a, 0x17, 0x55, 0x75, 0xc1, 0xc6,
2192 0x9d, 0xa0, 0xd0, 0xa2, 0x6f, 0x7c, 0x55, 0x86, 0x56, 0x7e, 0x73, 0x5e, 0x5f, 0x05, 0xee, 0x8b,
2193 0xcc, 0x27, 0x85, 0x59, 0xfe, 0xc1, 0xe0, 0x67, 0x6f, 0x96, 0x5b, 0x00, 0x22, 0x05, 0xc7, 0x24,
2194 0x14, 0xe6, 0x2b, 0xea, 0x4d, 0x49, 0x23, 0x43, 0x1f, 0x6d, 0x83, 0x65, 0xc4, 0xea, 0xe9, 0x49,
2195 0x67, 0xa2, 0x36, 0xee, 0x68, 0x5c, 0x3e, 0xc3, 0x0c, 0x7d, 0xb4, 0x0b, 0x77, 0x8c, 0x66, 0x4a,
2196 0x58, 0x14, 0xc4, 0xaa, 0x7e, 0xa8, 0xdc, 0x8f, 0xb4, 0x68, 0x92, 0x49, 0xd0, 0x5d, 0xa8, 0xd2,
2197 0x78, 0x2e, 0x1c, 0x56, 0xa5, 0xc3, 0x0a, 0x8d, 0xe7, 0x43, 0x1f, 0xbd, 0x0f, 0x1d, 0x01, 0x73,
2198 0xc2, 0xb9, 0xae, 0x30, 0xea, 0xa2, 0xde, 0xa2, 0xf1, 0x7c, 0xac, 0xc0, 0xa1, 0xbf, 0xd7, 0x10,
2199 0x47, 0x55, 0xae, 0xbf, 0xbb, 0x0b, 0x35, 0x15, 0xb3, 0xe2, 0x80, 0x14, 0x92, 0x76, 0xa7, 0x18,
2200 0xd3, 0x26, 0x5d, 0xff, 0x69, 0x05, 0xd6, 0xc7, 0x41, 0x34, 0x0f, 0xbd, 0x94, 0xf4, 0x42, 0x8f,
2201 0x45, 0x58, 0x15, 0xa6, 0x1b, 0x6f, 0x1c, 0xef, 0x41, 0x23, 0x88, 0xfd, 0x60, 0xea, 0xa5, 0xd4,
2202 0xbc, 0xc2, 0x66, 0x80, 0x68, 0x69, 0x83, 0x38, 0x9d, 0x19, 0xda, 0x1a, 0xb8, 0x2a, 0x86, 0x6a,
2203 0x05, 0x32, 0x17, 0x0b, 0xc6, 0xd5, 0x4b, 0x9e, 0xaa, 0x91, 0xad, 0x44, 0x37, 0xba, 0xf2, 0x31,
2204 0xaf, 0x0b, 0x6d, 0xb1, 0xce, 0x6c, 0xeb, 0x4c, 0x0f, 0x11, 0xcf, 0x07, 0x66, 0xf7, 0x3e, 0x82,
2205 0x77, 0x82, 0x58, 0xa4, 0x4e, 0xe2, 0x9e, 0x06, 0xa9, 0x6a, 0xdb, 0x5d, 0x26, 0x0e, 0x9d, 0xa0,
2206 0xac, 0x82, 0xef, 0x68, 0xe9, 0x5e, 0x90, 0xca, 0x16, 0x1e, 0xab, 0x0b, 0x79, 0xc5, 0x67, 0xc1,
2207 0x2c, 0x95, 0xbc, 0x55, 0xb0, 0x1a, 0x88, 0xd9, 0xc6, 0xe4, 0xc2, 0x25, 0xaf, 0x7c, 0x99, 0x83,
2208 0x2b, 0xb8, 0x1a, 0x93, 0x0b, 0xe7, 0x95, 0x8f, 0x1e, 0xc1, 0x6d, 0xc5, 0x77, 0x3e, 0x91, 0xaa,
2209 0x77, 0x8a, 0x35, 0x49, 0x79, 0x2e, 0x89, 0xbe, 0xc8, 0x77, 0x06, 0x20, 0xcf, 0xdd, 0x23, 0xc3,
2210 0xf1, 0x77, 0x31, 0x9a, 0x95, 0x63, 0x79, 0xa7, 0xcb, 0x8c, 0xbb, 0x3f, 0x84, 0x76, 0x41, 0x86,
2211 0x1a, 0x50, 0xc1, 0xbd, 0xe1, 0xd8, 0x51, 0x4f, 0xa7, 0xfd, 0x03, 0xa7, 0x87, 0xad, 0xd2, 0xde,
2212 0x18, 0xee, 0x50, 0x76, 0x26, 0x2f, 0x21, 0x53, 0xca, 0x7c, 0xfd, 0xad, 0xbd, 0xd6, 0x89, 0xfc,
2213 0xaf, 0x78, 0xfa, 0xcd, 0xce, 0x59, 0x90, 0x9e, 0xcf, 0x4f, 0x45, 0x02, 0xd8, 0x35, 0x9a, 0xbb,
2214 0x4a, 0xf3, 0xb1, 0x7e, 0xba, 0x5f, 0x7c, 0xbc, 0x7b, 0x46, 0x35, 0x76, 0x5a, 0x95, 0xe0, 0x47,
2215 0xff, 0x0d, 0x00, 0x00, 0xff, 0xff, 0x30, 0x2a, 0x80, 0x58, 0x75, 0x18, 0x00, 0x00,
William Kurkianea869482019-04-09 15:16:11 -04002216}