github.com/rkt/rkt@v1.30.1-0.20200224141603-171c416fac02/api/v1alpha/api.pb.go (about)

     1  // Code generated by protoc-gen-go.
     2  // source: api.proto
     3  // DO NOT EDIT!
     4  
     5  /*
     6  Package v1alpha is a generated protocol buffer package.
     7  
     8  It is generated from these files:
     9  	api.proto
    10  
    11  It has these top-level messages:
    12  	ImageFormat
    13  	Image
    14  	Network
    15  	App
    16  	Pod
    17  	KeyValue
    18  	PodFilter
    19  	ImageFilter
    20  	GlobalFlags
    21  	Info
    22  	Event
    23  	EventFilter
    24  	GetInfoRequest
    25  	GetInfoResponse
    26  	ListPodsRequest
    27  	ListPodsResponse
    28  	InspectPodRequest
    29  	InspectPodResponse
    30  	ListImagesRequest
    31  	ListImagesResponse
    32  	InspectImageRequest
    33  	InspectImageResponse
    34  	ListenEventsRequest
    35  	ListenEventsResponse
    36  	GetLogsRequest
    37  	GetLogsResponse
    38  */
    39  package v1alpha
    40  
    41  import proto "github.com/golang/protobuf/proto"
    42  import fmt "fmt"
    43  import math "math"
    44  
    45  import (
    46  	context "golang.org/x/net/context"
    47  	grpc "google.golang.org/grpc"
    48  )
    49  
    50  // Reference imports to suppress errors if they are not otherwise used.
    51  var _ = proto.Marshal
    52  var _ = fmt.Errorf
    53  var _ = math.Inf
    54  
    55  // This is a compile-time assertion to ensure that this generated file
    56  // is compatible with the proto package it is being compiled against.
    57  // A compilation error at this line likely means your copy of the
    58  // proto package needs to be updated.
    59  const _ = proto.ProtoPackageIsVersion2 // please upgrade the proto package
    60  
    61  // ImageType defines the supported image type.
    62  type ImageType int32
    63  
    64  const (
    65  	ImageType_IMAGE_TYPE_UNDEFINED ImageType = 0
    66  	ImageType_IMAGE_TYPE_APPC      ImageType = 1
    67  	ImageType_IMAGE_TYPE_DOCKER    ImageType = 2
    68  	ImageType_IMAGE_TYPE_OCI       ImageType = 3
    69  )
    70  
    71  var ImageType_name = map[int32]string{
    72  	0: "IMAGE_TYPE_UNDEFINED",
    73  	1: "IMAGE_TYPE_APPC",
    74  	2: "IMAGE_TYPE_DOCKER",
    75  	3: "IMAGE_TYPE_OCI",
    76  }
    77  var ImageType_value = map[string]int32{
    78  	"IMAGE_TYPE_UNDEFINED": 0,
    79  	"IMAGE_TYPE_APPC":      1,
    80  	"IMAGE_TYPE_DOCKER":    2,
    81  	"IMAGE_TYPE_OCI":       3,
    82  }
    83  
    84  func (x ImageType) String() string {
    85  	return proto.EnumName(ImageType_name, int32(x))
    86  }
    87  func (ImageType) EnumDescriptor() ([]byte, []int) { return fileDescriptor0, []int{0} }
    88  
    89  // AppState defines the possible states of the app.
    90  type AppState int32
    91  
    92  const (
    93  	AppState_APP_STATE_UNDEFINED AppState = 0
    94  	AppState_APP_STATE_RUNNING   AppState = 1
    95  	AppState_APP_STATE_EXITED    AppState = 2
    96  )
    97  
    98  var AppState_name = map[int32]string{
    99  	0: "APP_STATE_UNDEFINED",
   100  	1: "APP_STATE_RUNNING",
   101  	2: "APP_STATE_EXITED",
   102  }
   103  var AppState_value = map[string]int32{
   104  	"APP_STATE_UNDEFINED": 0,
   105  	"APP_STATE_RUNNING":   1,
   106  	"APP_STATE_EXITED":    2,
   107  }
   108  
   109  func (x AppState) String() string {
   110  	return proto.EnumName(AppState_name, int32(x))
   111  }
   112  func (AppState) EnumDescriptor() ([]byte, []int) { return fileDescriptor0, []int{1} }
   113  
   114  // PodState defines the possible states of the pod.
   115  // See https://github.com/rkt/rkt/blob/master/Documentation/devel/pod-lifecycle.md for a detailed
   116  // explanation of each state.
   117  type PodState int32
   118  
   119  const (
   120  	PodState_POD_STATE_UNDEFINED PodState = 0
   121  	// States before the pod is running.
   122  	PodState_POD_STATE_EMBRYO    PodState = 1
   123  	PodState_POD_STATE_PREPARING PodState = 2
   124  	PodState_POD_STATE_PREPARED  PodState = 3
   125  	// State that indicates the pod is running.
   126  	PodState_POD_STATE_RUNNING PodState = 4
   127  	// States that indicates the pod is exited, and will never run.
   128  	PodState_POD_STATE_ABORTED_PREPARE PodState = 5
   129  	PodState_POD_STATE_EXITED          PodState = 6
   130  	PodState_POD_STATE_DELETING        PodState = 7
   131  	PodState_POD_STATE_GARBAGE         PodState = 8
   132  )
   133  
   134  var PodState_name = map[int32]string{
   135  	0: "POD_STATE_UNDEFINED",
   136  	1: "POD_STATE_EMBRYO",
   137  	2: "POD_STATE_PREPARING",
   138  	3: "POD_STATE_PREPARED",
   139  	4: "POD_STATE_RUNNING",
   140  	5: "POD_STATE_ABORTED_PREPARE",
   141  	6: "POD_STATE_EXITED",
   142  	7: "POD_STATE_DELETING",
   143  	8: "POD_STATE_GARBAGE",
   144  }
   145  var PodState_value = map[string]int32{
   146  	"POD_STATE_UNDEFINED":       0,
   147  	"POD_STATE_EMBRYO":          1,
   148  	"POD_STATE_PREPARING":       2,
   149  	"POD_STATE_PREPARED":        3,
   150  	"POD_STATE_RUNNING":         4,
   151  	"POD_STATE_ABORTED_PREPARE": 5,
   152  	"POD_STATE_EXITED":          6,
   153  	"POD_STATE_DELETING":        7,
   154  	"POD_STATE_GARBAGE":         8,
   155  }
   156  
   157  func (x PodState) String() string {
   158  	return proto.EnumName(PodState_name, int32(x))
   159  }
   160  func (PodState) EnumDescriptor() ([]byte, []int) { return fileDescriptor0, []int{2} }
   161  
   162  // EventType defines the type of the events that will be received via ListenEvents().
   163  type EventType int32
   164  
   165  const (
   166  	EventType_EVENT_TYPE_UNDEFINED EventType = 0
   167  	// Pod events.
   168  	EventType_EVENT_TYPE_POD_PREPARED          EventType = 1
   169  	EventType_EVENT_TYPE_POD_PREPARE_ABORTED   EventType = 2
   170  	EventType_EVENT_TYPE_POD_STARTED           EventType = 3
   171  	EventType_EVENT_TYPE_POD_EXITED            EventType = 4
   172  	EventType_EVENT_TYPE_POD_GARBAGE_COLLECTED EventType = 5
   173  	// App events.
   174  	EventType_EVENT_TYPE_APP_STARTED EventType = 6
   175  	EventType_EVENT_TYPE_APP_EXITED  EventType = 7
   176  	// Image events.
   177  	EventType_EVENT_TYPE_IMAGE_IMPORTED EventType = 8
   178  	EventType_EVENT_TYPE_IMAGE_REMOVED  EventType = 9
   179  )
   180  
   181  var EventType_name = map[int32]string{
   182  	0: "EVENT_TYPE_UNDEFINED",
   183  	1: "EVENT_TYPE_POD_PREPARED",
   184  	2: "EVENT_TYPE_POD_PREPARE_ABORTED",
   185  	3: "EVENT_TYPE_POD_STARTED",
   186  	4: "EVENT_TYPE_POD_EXITED",
   187  	5: "EVENT_TYPE_POD_GARBAGE_COLLECTED",
   188  	6: "EVENT_TYPE_APP_STARTED",
   189  	7: "EVENT_TYPE_APP_EXITED",
   190  	8: "EVENT_TYPE_IMAGE_IMPORTED",
   191  	9: "EVENT_TYPE_IMAGE_REMOVED",
   192  }
   193  var EventType_value = map[string]int32{
   194  	"EVENT_TYPE_UNDEFINED":             0,
   195  	"EVENT_TYPE_POD_PREPARED":          1,
   196  	"EVENT_TYPE_POD_PREPARE_ABORTED":   2,
   197  	"EVENT_TYPE_POD_STARTED":           3,
   198  	"EVENT_TYPE_POD_EXITED":            4,
   199  	"EVENT_TYPE_POD_GARBAGE_COLLECTED": 5,
   200  	"EVENT_TYPE_APP_STARTED":           6,
   201  	"EVENT_TYPE_APP_EXITED":            7,
   202  	"EVENT_TYPE_IMAGE_IMPORTED":        8,
   203  	"EVENT_TYPE_IMAGE_REMOVED":         9,
   204  }
   205  
   206  func (x EventType) String() string {
   207  	return proto.EnumName(EventType_name, int32(x))
   208  }
   209  func (EventType) EnumDescriptor() ([]byte, []int) { return fileDescriptor0, []int{3} }
   210  
   211  // ImageFormat defines the format of the image.
   212  type ImageFormat struct {
   213  	// Type of the image, required.
   214  	Type ImageType `protobuf:"varint,1,opt,name=type,enum=v1alpha.ImageType" json:"type,omitempty"`
   215  	// Version of the image format, required.
   216  	Version string `protobuf:"bytes,2,opt,name=version" json:"version,omitempty"`
   217  }
   218  
   219  func (m *ImageFormat) Reset()                    { *m = ImageFormat{} }
   220  func (m *ImageFormat) String() string            { return proto.CompactTextString(m) }
   221  func (*ImageFormat) ProtoMessage()               {}
   222  func (*ImageFormat) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{0} }
   223  
   224  func (m *ImageFormat) GetType() ImageType {
   225  	if m != nil {
   226  		return m.Type
   227  	}
   228  	return ImageType_IMAGE_TYPE_UNDEFINED
   229  }
   230  
   231  func (m *ImageFormat) GetVersion() string {
   232  	if m != nil {
   233  		return m.Version
   234  	}
   235  	return ""
   236  }
   237  
   238  // Image describes the image's information.
   239  type Image struct {
   240  	// Base format of the image, required. This indicates the original format
   241  	// for the image as nowadays all the image formats will be transformed to
   242  	// ACI.
   243  	BaseFormat *ImageFormat `protobuf:"bytes,1,opt,name=base_format,json=baseFormat" json:"base_format,omitempty"`
   244  	// ID of the image, a string that can be used to uniquely identify the image,
   245  	// e.g. sha512 hash of the ACIs, required.
   246  	Id string `protobuf:"bytes,2,opt,name=id" json:"id,omitempty"`
   247  	// Name of the image in the image manifest, e.g. 'coreos.com/etcd', optional.
   248  	Name string `protobuf:"bytes,3,opt,name=name" json:"name,omitempty"`
   249  	// Version of the image, e.g. 'latest', '2.0.10', optional.
   250  	Version string `protobuf:"bytes,4,opt,name=version" json:"version,omitempty"`
   251  	// Timestamp of when the image is imported, it is the seconds since epoch, optional.
   252  	ImportTimestamp int64 `protobuf:"varint,5,opt,name=import_timestamp,json=importTimestamp" json:"import_timestamp,omitempty"`
   253  	// JSON-encoded byte array that represents the image manifest, optional.
   254  	Manifest []byte `protobuf:"bytes,6,opt,name=manifest,proto3" json:"manifest,omitempty"`
   255  	// Size is the size in bytes of this image in the store.
   256  	Size int64 `protobuf:"varint,7,opt,name=size" json:"size,omitempty"`
   257  	// Annotations on this image.
   258  	Annotations []*KeyValue `protobuf:"bytes,8,rep,name=annotations" json:"annotations,omitempty"`
   259  	// Labels of this image.
   260  	Labels []*KeyValue `protobuf:"bytes,9,rep,name=labels" json:"labels,omitempty"`
   261  }
   262  
   263  func (m *Image) Reset()                    { *m = Image{} }
   264  func (m *Image) String() string            { return proto.CompactTextString(m) }
   265  func (*Image) ProtoMessage()               {}
   266  func (*Image) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{1} }
   267  
   268  func (m *Image) GetBaseFormat() *ImageFormat {
   269  	if m != nil {
   270  		return m.BaseFormat
   271  	}
   272  	return nil
   273  }
   274  
   275  func (m *Image) GetId() string {
   276  	if m != nil {
   277  		return m.Id
   278  	}
   279  	return ""
   280  }
   281  
   282  func (m *Image) GetName() string {
   283  	if m != nil {
   284  		return m.Name
   285  	}
   286  	return ""
   287  }
   288  
   289  func (m *Image) GetVersion() string {
   290  	if m != nil {
   291  		return m.Version
   292  	}
   293  	return ""
   294  }
   295  
   296  func (m *Image) GetImportTimestamp() int64 {
   297  	if m != nil {
   298  		return m.ImportTimestamp
   299  	}
   300  	return 0
   301  }
   302  
   303  func (m *Image) GetManifest() []byte {
   304  	if m != nil {
   305  		return m.Manifest
   306  	}
   307  	return nil
   308  }
   309  
   310  func (m *Image) GetSize() int64 {
   311  	if m != nil {
   312  		return m.Size
   313  	}
   314  	return 0
   315  }
   316  
   317  func (m *Image) GetAnnotations() []*KeyValue {
   318  	if m != nil {
   319  		return m.Annotations
   320  	}
   321  	return nil
   322  }
   323  
   324  func (m *Image) GetLabels() []*KeyValue {
   325  	if m != nil {
   326  		return m.Labels
   327  	}
   328  	return nil
   329  }
   330  
   331  // Network describes the network information of a pod.
   332  type Network struct {
   333  	// Name of the network that a pod belongs to, required.
   334  	Name string `protobuf:"bytes,1,opt,name=name" json:"name,omitempty"`
   335  	// Pod's IPv4 address within the network, optional if IPv6 address is given.
   336  	Ipv4 string `protobuf:"bytes,2,opt,name=ipv4" json:"ipv4,omitempty"`
   337  	// Pod's IPv6 address within the network, optional if IPv4 address is given.
   338  	Ipv6 string `protobuf:"bytes,3,opt,name=ipv6" json:"ipv6,omitempty"`
   339  }
   340  
   341  func (m *Network) Reset()                    { *m = Network{} }
   342  func (m *Network) String() string            { return proto.CompactTextString(m) }
   343  func (*Network) ProtoMessage()               {}
   344  func (*Network) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{2} }
   345  
   346  func (m *Network) GetName() string {
   347  	if m != nil {
   348  		return m.Name
   349  	}
   350  	return ""
   351  }
   352  
   353  func (m *Network) GetIpv4() string {
   354  	if m != nil {
   355  		return m.Ipv4
   356  	}
   357  	return ""
   358  }
   359  
   360  func (m *Network) GetIpv6() string {
   361  	if m != nil {
   362  		return m.Ipv6
   363  	}
   364  	return ""
   365  }
   366  
   367  // App describes the information of an app that's running in a pod.
   368  type App struct {
   369  	// Name of the app, required.
   370  	Name string `protobuf:"bytes,1,opt,name=name" json:"name,omitempty"`
   371  	// Image used by the app, required. However, this may only contain the image id
   372  	// if it is returned by ListPods().
   373  	Image *Image `protobuf:"bytes,2,opt,name=image" json:"image,omitempty"`
   374  	// State of the app. optional, non-empty only if it's returned by InspectPod().
   375  	State AppState `protobuf:"varint,3,opt,name=state,enum=v1alpha.AppState" json:"state,omitempty"`
   376  	// Exit code of the app. optional, only valid if it's returned by InspectPod() and
   377  	// the app has already exited.
   378  	ExitCode int32 `protobuf:"zigzag32,4,opt,name=exit_code,json=exitCode" json:"exit_code,omitempty"`
   379  	// Annotations for this app.
   380  	Annotations []*KeyValue `protobuf:"bytes,5,rep,name=annotations" json:"annotations,omitempty"`
   381  }
   382  
   383  func (m *App) Reset()                    { *m = App{} }
   384  func (m *App) String() string            { return proto.CompactTextString(m) }
   385  func (*App) ProtoMessage()               {}
   386  func (*App) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{3} }
   387  
   388  func (m *App) GetName() string {
   389  	if m != nil {
   390  		return m.Name
   391  	}
   392  	return ""
   393  }
   394  
   395  func (m *App) GetImage() *Image {
   396  	if m != nil {
   397  		return m.Image
   398  	}
   399  	return nil
   400  }
   401  
   402  func (m *App) GetState() AppState {
   403  	if m != nil {
   404  		return m.State
   405  	}
   406  	return AppState_APP_STATE_UNDEFINED
   407  }
   408  
   409  func (m *App) GetExitCode() int32 {
   410  	if m != nil {
   411  		return m.ExitCode
   412  	}
   413  	return 0
   414  }
   415  
   416  func (m *App) GetAnnotations() []*KeyValue {
   417  	if m != nil {
   418  		return m.Annotations
   419  	}
   420  	return nil
   421  }
   422  
   423  // Pod describes a pod's information.
   424  // If a pod is in Embryo, Preparing, AbortedPrepare state,
   425  // only id and state will be returned.
   426  //
   427  // If a pod is in other states, the pod manifest and
   428  // apps will be returned when 'detailed' is true in the request.
   429  //
   430  // A valid pid of the stage1 process of the pod will be returned
   431  // if the pod is Running has run once.
   432  //
   433  // Networks are only returned when a pod is in Running.
   434  type Pod struct {
   435  	// ID of the pod, in the form of a UUID.
   436  	Id string `protobuf:"bytes,1,opt,name=id" json:"id,omitempty"`
   437  	// PID of the stage1 process of the pod.
   438  	Pid int32 `protobuf:"zigzag32,2,opt,name=pid" json:"pid,omitempty"`
   439  	// State of the pod.
   440  	State PodState `protobuf:"varint,3,opt,name=state,enum=v1alpha.PodState" json:"state,omitempty"`
   441  	// List of apps in the pod.
   442  	Apps []*App `protobuf:"bytes,4,rep,name=apps" json:"apps,omitempty"`
   443  	// Network information of the pod.
   444  	// Note that a pod can be in multiple networks.
   445  	Networks []*Network `protobuf:"bytes,5,rep,name=networks" json:"networks,omitempty"`
   446  	// JSON-encoded byte array that represents the pod manifest of the pod.
   447  	Manifest []byte `protobuf:"bytes,6,opt,name=manifest,proto3" json:"manifest,omitempty"`
   448  	// Annotations on this pod.
   449  	Annotations []*KeyValue `protobuf:"bytes,7,rep,name=annotations" json:"annotations,omitempty"`
   450  	// Cgroup of the pod, empty if the pod is not running.
   451  	Cgroup string `protobuf:"bytes,8,opt,name=cgroup" json:"cgroup,omitempty"`
   452  	// Timestamp of when the pod is created, nanoseconds since epoch.
   453  	// Zero if the pod is not created.
   454  	CreatedAt int64 `protobuf:"varint,9,opt,name=created_at,json=createdAt" json:"created_at,omitempty"`
   455  	// Timestamp of when the pod is started, nanoseconds since epoch.
   456  	// Zero if the pod is not started.
   457  	StartedAt int64 `protobuf:"varint,10,opt,name=started_at,json=startedAt" json:"started_at,omitempty"`
   458  	// Timestamp of when the pod is moved to exited-garbage/garbage,
   459  	// in nanoseconds since epoch.
   460  	// Zero if the pod is not moved to exited-garbage/garbage yet.
   461  	GcMarkedAt int64 `protobuf:"varint,11,opt,name=gc_marked_at,json=gcMarkedAt" json:"gc_marked_at,omitempty"`
   462  }
   463  
   464  func (m *Pod) Reset()                    { *m = Pod{} }
   465  func (m *Pod) String() string            { return proto.CompactTextString(m) }
   466  func (*Pod) ProtoMessage()               {}
   467  func (*Pod) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{4} }
   468  
   469  func (m *Pod) GetId() string {
   470  	if m != nil {
   471  		return m.Id
   472  	}
   473  	return ""
   474  }
   475  
   476  func (m *Pod) GetPid() int32 {
   477  	if m != nil {
   478  		return m.Pid
   479  	}
   480  	return 0
   481  }
   482  
   483  func (m *Pod) GetState() PodState {
   484  	if m != nil {
   485  		return m.State
   486  	}
   487  	return PodState_POD_STATE_UNDEFINED
   488  }
   489  
   490  func (m *Pod) GetApps() []*App {
   491  	if m != nil {
   492  		return m.Apps
   493  	}
   494  	return nil
   495  }
   496  
   497  func (m *Pod) GetNetworks() []*Network {
   498  	if m != nil {
   499  		return m.Networks
   500  	}
   501  	return nil
   502  }
   503  
   504  func (m *Pod) GetManifest() []byte {
   505  	if m != nil {
   506  		return m.Manifest
   507  	}
   508  	return nil
   509  }
   510  
   511  func (m *Pod) GetAnnotations() []*KeyValue {
   512  	if m != nil {
   513  		return m.Annotations
   514  	}
   515  	return nil
   516  }
   517  
   518  func (m *Pod) GetCgroup() string {
   519  	if m != nil {
   520  		return m.Cgroup
   521  	}
   522  	return ""
   523  }
   524  
   525  func (m *Pod) GetCreatedAt() int64 {
   526  	if m != nil {
   527  		return m.CreatedAt
   528  	}
   529  	return 0
   530  }
   531  
   532  func (m *Pod) GetStartedAt() int64 {
   533  	if m != nil {
   534  		return m.StartedAt
   535  	}
   536  	return 0
   537  }
   538  
   539  func (m *Pod) GetGcMarkedAt() int64 {
   540  	if m != nil {
   541  		return m.GcMarkedAt
   542  	}
   543  	return 0
   544  }
   545  
   546  type KeyValue struct {
   547  	// Key part of the key-value pair.
   548  	Key string `protobuf:"bytes,1,opt,name=Key" json:"Key,omitempty"`
   549  	// Value part of the key-value pair.
   550  	Value string `protobuf:"bytes,2,opt,name=value" json:"value,omitempty"`
   551  }
   552  
   553  func (m *KeyValue) Reset()                    { *m = KeyValue{} }
   554  func (m *KeyValue) String() string            { return proto.CompactTextString(m) }
   555  func (*KeyValue) ProtoMessage()               {}
   556  func (*KeyValue) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{5} }
   557  
   558  func (m *KeyValue) GetKey() string {
   559  	if m != nil {
   560  		return m.Key
   561  	}
   562  	return ""
   563  }
   564  
   565  func (m *KeyValue) GetValue() string {
   566  	if m != nil {
   567  		return m.Value
   568  	}
   569  	return ""
   570  }
   571  
   572  // PodFilter defines the condition that the returned pods need to satisfy in ListPods().
   573  // The conditions are combined by 'AND', and different filters are combined by 'OR'.
   574  type PodFilter struct {
   575  	// If not empty, the pods that have any of the ids will be returned.
   576  	Ids []string `protobuf:"bytes,1,rep,name=ids" json:"ids,omitempty"`
   577  	// If not empty, the pods that have any of the states will be returned.
   578  	States []PodState `protobuf:"varint,2,rep,packed,name=states,enum=v1alpha.PodState" json:"states,omitempty"`
   579  	// If not empty, the pods that all of the apps will be returned.
   580  	AppNames []string `protobuf:"bytes,3,rep,name=app_names,json=appNames" json:"app_names,omitempty"`
   581  	// If not empty, the pods that have all of the images(in the apps) will be returned
   582  	ImageIds []string `protobuf:"bytes,4,rep,name=image_ids,json=imageIds" json:"image_ids,omitempty"`
   583  	// If not empty, the pods that are in all of the networks will be returned.
   584  	NetworkNames []string `protobuf:"bytes,5,rep,name=network_names,json=networkNames" json:"network_names,omitempty"`
   585  	// If not empty, the pods that have all of the annotations will be returned.
   586  	Annotations []*KeyValue `protobuf:"bytes,6,rep,name=annotations" json:"annotations,omitempty"`
   587  	// If not empty, the pods whose cgroup are listed will be returned.
   588  	Cgroups []string `protobuf:"bytes,7,rep,name=cgroups" json:"cgroups,omitempty"`
   589  	// If not empty, the pods whose these cgroup belong to will be returned.
   590  	// i.e. the pod's cgroup is a prefix of the specified cgroup
   591  	PodSubCgroups []string `protobuf:"bytes,8,rep,name=pod_sub_cgroups,json=podSubCgroups" json:"pod_sub_cgroups,omitempty"`
   592  }
   593  
   594  func (m *PodFilter) Reset()                    { *m = PodFilter{} }
   595  func (m *PodFilter) String() string            { return proto.CompactTextString(m) }
   596  func (*PodFilter) ProtoMessage()               {}
   597  func (*PodFilter) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{6} }
   598  
   599  func (m *PodFilter) GetIds() []string {
   600  	if m != nil {
   601  		return m.Ids
   602  	}
   603  	return nil
   604  }
   605  
   606  func (m *PodFilter) GetStates() []PodState {
   607  	if m != nil {
   608  		return m.States
   609  	}
   610  	return nil
   611  }
   612  
   613  func (m *PodFilter) GetAppNames() []string {
   614  	if m != nil {
   615  		return m.AppNames
   616  	}
   617  	return nil
   618  }
   619  
   620  func (m *PodFilter) GetImageIds() []string {
   621  	if m != nil {
   622  		return m.ImageIds
   623  	}
   624  	return nil
   625  }
   626  
   627  func (m *PodFilter) GetNetworkNames() []string {
   628  	if m != nil {
   629  		return m.NetworkNames
   630  	}
   631  	return nil
   632  }
   633  
   634  func (m *PodFilter) GetAnnotations() []*KeyValue {
   635  	if m != nil {
   636  		return m.Annotations
   637  	}
   638  	return nil
   639  }
   640  
   641  func (m *PodFilter) GetCgroups() []string {
   642  	if m != nil {
   643  		return m.Cgroups
   644  	}
   645  	return nil
   646  }
   647  
   648  func (m *PodFilter) GetPodSubCgroups() []string {
   649  	if m != nil {
   650  		return m.PodSubCgroups
   651  	}
   652  	return nil
   653  }
   654  
   655  // ImageFilter defines the condition that the returned images need to satisfy in ListImages().
   656  // The conditions are combined by 'AND', and different filters are combined by 'OR'.
   657  type ImageFilter struct {
   658  	// If not empty, the images that have any of the ids will be returned.
   659  	Ids []string `protobuf:"bytes,1,rep,name=ids" json:"ids,omitempty"`
   660  	// if not empty, the images that have any of the prefixes in the name will be returned.
   661  	Prefixes []string `protobuf:"bytes,2,rep,name=prefixes" json:"prefixes,omitempty"`
   662  	// If not empty, the images that have any of the base names will be returned.
   663  	// For example, both 'coreos.com/etcd' and 'k8s.io/etcd' will be returned if 'etcd' is included,
   664  	// however 'k8s.io/etcd-backup' will not be returned.
   665  	BaseNames []string `protobuf:"bytes,3,rep,name=base_names,json=baseNames" json:"base_names,omitempty"`
   666  	// If not empty, the images that have any of the keywords in the name will be returned.
   667  	// For example, both 'kubernetes-etcd', 'etcd:latest' will be returned if 'etcd' is included,
   668  	Keywords []string `protobuf:"bytes,4,rep,name=keywords" json:"keywords,omitempty"`
   669  	// If not empty, the images that have all of the labels will be returned.
   670  	Labels []*KeyValue `protobuf:"bytes,5,rep,name=labels" json:"labels,omitempty"`
   671  	// If set, the images that are imported after this timestamp will be returned.
   672  	ImportedAfter int64 `protobuf:"varint,6,opt,name=imported_after,json=importedAfter" json:"imported_after,omitempty"`
   673  	// If set, the images that are imported before this timestamp will be returned.
   674  	ImportedBefore int64 `protobuf:"varint,7,opt,name=imported_before,json=importedBefore" json:"imported_before,omitempty"`
   675  	// If not empty, the images that have all of the annotations will be returned.
   676  	Annotations []*KeyValue `protobuf:"bytes,8,rep,name=annotations" json:"annotations,omitempty"`
   677  	// If not empty, the images that have any of the exact full names will be returned.
   678  	FullNames []string `protobuf:"bytes,9,rep,name=full_names,json=fullNames" json:"full_names,omitempty"`
   679  }
   680  
   681  func (m *ImageFilter) Reset()                    { *m = ImageFilter{} }
   682  func (m *ImageFilter) String() string            { return proto.CompactTextString(m) }
   683  func (*ImageFilter) ProtoMessage()               {}
   684  func (*ImageFilter) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{7} }
   685  
   686  func (m *ImageFilter) GetIds() []string {
   687  	if m != nil {
   688  		return m.Ids
   689  	}
   690  	return nil
   691  }
   692  
   693  func (m *ImageFilter) GetPrefixes() []string {
   694  	if m != nil {
   695  		return m.Prefixes
   696  	}
   697  	return nil
   698  }
   699  
   700  func (m *ImageFilter) GetBaseNames() []string {
   701  	if m != nil {
   702  		return m.BaseNames
   703  	}
   704  	return nil
   705  }
   706  
   707  func (m *ImageFilter) GetKeywords() []string {
   708  	if m != nil {
   709  		return m.Keywords
   710  	}
   711  	return nil
   712  }
   713  
   714  func (m *ImageFilter) GetLabels() []*KeyValue {
   715  	if m != nil {
   716  		return m.Labels
   717  	}
   718  	return nil
   719  }
   720  
   721  func (m *ImageFilter) GetImportedAfter() int64 {
   722  	if m != nil {
   723  		return m.ImportedAfter
   724  	}
   725  	return 0
   726  }
   727  
   728  func (m *ImageFilter) GetImportedBefore() int64 {
   729  	if m != nil {
   730  		return m.ImportedBefore
   731  	}
   732  	return 0
   733  }
   734  
   735  func (m *ImageFilter) GetAnnotations() []*KeyValue {
   736  	if m != nil {
   737  		return m.Annotations
   738  	}
   739  	return nil
   740  }
   741  
   742  func (m *ImageFilter) GetFullNames() []string {
   743  	if m != nil {
   744  		return m.FullNames
   745  	}
   746  	return nil
   747  }
   748  
   749  // GlobalFlags describes the flags that passed to rkt api service when it is launched.
   750  type GlobalFlags struct {
   751  	// Data directory.
   752  	Dir string `protobuf:"bytes,1,opt,name=dir" json:"dir,omitempty"`
   753  	// System configuration directory.
   754  	SystemConfigDir string `protobuf:"bytes,2,opt,name=system_config_dir,json=systemConfigDir" json:"system_config_dir,omitempty"`
   755  	// Local configuration directory.
   756  	LocalConfigDir string `protobuf:"bytes,3,opt,name=local_config_dir,json=localConfigDir" json:"local_config_dir,omitempty"`
   757  	// User configuration directory.
   758  	UserConfigDir string `protobuf:"bytes,4,opt,name=user_config_dir,json=userConfigDir" json:"user_config_dir,omitempty"`
   759  	// Insecure flags configurates what security features to disable.
   760  	InsecureFlags string `protobuf:"bytes,5,opt,name=insecure_flags,json=insecureFlags" json:"insecure_flags,omitempty"`
   761  	// Whether to automatically trust gpg keys fetched from https
   762  	TrustKeysFromHttps bool `protobuf:"varint,6,opt,name=trust_keys_from_https,json=trustKeysFromHttps" json:"trust_keys_from_https,omitempty"`
   763  }
   764  
   765  func (m *GlobalFlags) Reset()                    { *m = GlobalFlags{} }
   766  func (m *GlobalFlags) String() string            { return proto.CompactTextString(m) }
   767  func (*GlobalFlags) ProtoMessage()               {}
   768  func (*GlobalFlags) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{8} }
   769  
   770  func (m *GlobalFlags) GetDir() string {
   771  	if m != nil {
   772  		return m.Dir
   773  	}
   774  	return ""
   775  }
   776  
   777  func (m *GlobalFlags) GetSystemConfigDir() string {
   778  	if m != nil {
   779  		return m.SystemConfigDir
   780  	}
   781  	return ""
   782  }
   783  
   784  func (m *GlobalFlags) GetLocalConfigDir() string {
   785  	if m != nil {
   786  		return m.LocalConfigDir
   787  	}
   788  	return ""
   789  }
   790  
   791  func (m *GlobalFlags) GetUserConfigDir() string {
   792  	if m != nil {
   793  		return m.UserConfigDir
   794  	}
   795  	return ""
   796  }
   797  
   798  func (m *GlobalFlags) GetInsecureFlags() string {
   799  	if m != nil {
   800  		return m.InsecureFlags
   801  	}
   802  	return ""
   803  }
   804  
   805  func (m *GlobalFlags) GetTrustKeysFromHttps() bool {
   806  	if m != nil {
   807  		return m.TrustKeysFromHttps
   808  	}
   809  	return false
   810  }
   811  
   812  // Info describes the information of rkt on the machine.
   813  type Info struct {
   814  	// Version of rkt, required, in the form of Semantic Versioning 2.0.0 (http://semver.org/).
   815  	RktVersion string `protobuf:"bytes,1,opt,name=rkt_version,json=rktVersion" json:"rkt_version,omitempty"`
   816  	// Version of appc, required, in the form of Semantic Versioning 2.0.0 (http://semver.org/).
   817  	AppcVersion string `protobuf:"bytes,2,opt,name=appc_version,json=appcVersion" json:"appc_version,omitempty"`
   818  	// Latest version of the api that's supported by the service, required, in the form of Semantic Versioning 2.0.0 (http://semver.org/).
   819  	ApiVersion string `protobuf:"bytes,3,opt,name=api_version,json=apiVersion" json:"api_version,omitempty"`
   820  	// The global flags that passed to the rkt api service when it's launched.
   821  	GlobalFlags *GlobalFlags `protobuf:"bytes,4,opt,name=global_flags,json=globalFlags" json:"global_flags,omitempty"`
   822  }
   823  
   824  func (m *Info) Reset()                    { *m = Info{} }
   825  func (m *Info) String() string            { return proto.CompactTextString(m) }
   826  func (*Info) ProtoMessage()               {}
   827  func (*Info) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{9} }
   828  
   829  func (m *Info) GetRktVersion() string {
   830  	if m != nil {
   831  		return m.RktVersion
   832  	}
   833  	return ""
   834  }
   835  
   836  func (m *Info) GetAppcVersion() string {
   837  	if m != nil {
   838  		return m.AppcVersion
   839  	}
   840  	return ""
   841  }
   842  
   843  func (m *Info) GetApiVersion() string {
   844  	if m != nil {
   845  		return m.ApiVersion
   846  	}
   847  	return ""
   848  }
   849  
   850  func (m *Info) GetGlobalFlags() *GlobalFlags {
   851  	if m != nil {
   852  		return m.GlobalFlags
   853  	}
   854  	return nil
   855  }
   856  
   857  // Event describes the events that will be received via ListenEvents().
   858  type Event struct {
   859  	// Type of the event, required.
   860  	Type EventType `protobuf:"varint,1,opt,name=type,enum=v1alpha.EventType" json:"type,omitempty"`
   861  	// ID of the subject that causes the event, required.
   862  	// If the event is a pod or app event, the id is the pod's uuid.
   863  	// If the event is an image event, the id is the image's id.
   864  	Id string `protobuf:"bytes,2,opt,name=id" json:"id,omitempty"`
   865  	// Name of the subject that causes the event, required.
   866  	// If the event is a pod event, the name is the pod's name.
   867  	// If the event is an app event, the name is the app's name.
   868  	// If the event is an image event, the name is the image's name.
   869  	From string `protobuf:"bytes,3,opt,name=from" json:"from,omitempty"`
   870  	// Timestamp of when the event happens, it is the seconds since epoch, required.
   871  	Time int64 `protobuf:"varint,4,opt,name=time" json:"time,omitempty"`
   872  	// Data of the event, in the form of key-value pairs, optional.
   873  	Data []*KeyValue `protobuf:"bytes,5,rep,name=data" json:"data,omitempty"`
   874  }
   875  
   876  func (m *Event) Reset()                    { *m = Event{} }
   877  func (m *Event) String() string            { return proto.CompactTextString(m) }
   878  func (*Event) ProtoMessage()               {}
   879  func (*Event) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{10} }
   880  
   881  func (m *Event) GetType() EventType {
   882  	if m != nil {
   883  		return m.Type
   884  	}
   885  	return EventType_EVENT_TYPE_UNDEFINED
   886  }
   887  
   888  func (m *Event) GetId() string {
   889  	if m != nil {
   890  		return m.Id
   891  	}
   892  	return ""
   893  }
   894  
   895  func (m *Event) GetFrom() string {
   896  	if m != nil {
   897  		return m.From
   898  	}
   899  	return ""
   900  }
   901  
   902  func (m *Event) GetTime() int64 {
   903  	if m != nil {
   904  		return m.Time
   905  	}
   906  	return 0
   907  }
   908  
   909  func (m *Event) GetData() []*KeyValue {
   910  	if m != nil {
   911  		return m.Data
   912  	}
   913  	return nil
   914  }
   915  
   916  // EventFilter defines the condition that the returned events needs to satisfy in ListImages().
   917  // The condition are combined by 'AND'.
   918  type EventFilter struct {
   919  	// If not empty, then only returns the events that have the listed types.
   920  	Types []EventType `protobuf:"varint,1,rep,packed,name=types,enum=v1alpha.EventType" json:"types,omitempty"`
   921  	// If not empty, then only returns the events whose 'id' is included in the listed ids.
   922  	Ids []string `protobuf:"bytes,2,rep,name=ids" json:"ids,omitempty"`
   923  	// If not empty, then only returns the events whose 'from' is included in the listed names.
   924  	Names []string `protobuf:"bytes,3,rep,name=names" json:"names,omitempty"`
   925  	// If set, then only returns the events after this timestamp.
   926  	// If the server starts after since_time, then only the events happened after the start of the server will be returned.
   927  	// If since_time is a future timestamp, then no events will be returned until that time.
   928  	SinceTime int64 `protobuf:"varint,4,opt,name=since_time,json=sinceTime" json:"since_time,omitempty"`
   929  	// If set, then only returns the events before this timestamp.
   930  	// If it is a future timestamp, then the event stream will be closed at that moment.
   931  	UntilTime int64 `protobuf:"varint,5,opt,name=until_time,json=untilTime" json:"until_time,omitempty"`
   932  }
   933  
   934  func (m *EventFilter) Reset()                    { *m = EventFilter{} }
   935  func (m *EventFilter) String() string            { return proto.CompactTextString(m) }
   936  func (*EventFilter) ProtoMessage()               {}
   937  func (*EventFilter) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{11} }
   938  
   939  func (m *EventFilter) GetTypes() []EventType {
   940  	if m != nil {
   941  		return m.Types
   942  	}
   943  	return nil
   944  }
   945  
   946  func (m *EventFilter) GetIds() []string {
   947  	if m != nil {
   948  		return m.Ids
   949  	}
   950  	return nil
   951  }
   952  
   953  func (m *EventFilter) GetNames() []string {
   954  	if m != nil {
   955  		return m.Names
   956  	}
   957  	return nil
   958  }
   959  
   960  func (m *EventFilter) GetSinceTime() int64 {
   961  	if m != nil {
   962  		return m.SinceTime
   963  	}
   964  	return 0
   965  }
   966  
   967  func (m *EventFilter) GetUntilTime() int64 {
   968  	if m != nil {
   969  		return m.UntilTime
   970  	}
   971  	return 0
   972  }
   973  
   974  // Request for GetInfo().
   975  type GetInfoRequest struct {
   976  }
   977  
   978  func (m *GetInfoRequest) Reset()                    { *m = GetInfoRequest{} }
   979  func (m *GetInfoRequest) String() string            { return proto.CompactTextString(m) }
   980  func (*GetInfoRequest) ProtoMessage()               {}
   981  func (*GetInfoRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{12} }
   982  
   983  // Response for GetInfo().
   984  type GetInfoResponse struct {
   985  	Info *Info `protobuf:"bytes,1,opt,name=info" json:"info,omitempty"`
   986  }
   987  
   988  func (m *GetInfoResponse) Reset()                    { *m = GetInfoResponse{} }
   989  func (m *GetInfoResponse) String() string            { return proto.CompactTextString(m) }
   990  func (*GetInfoResponse) ProtoMessage()               {}
   991  func (*GetInfoResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{13} }
   992  
   993  func (m *GetInfoResponse) GetInfo() *Info {
   994  	if m != nil {
   995  		return m.Info
   996  	}
   997  	return nil
   998  }
   999  
  1000  // Request for ListPods().
  1001  type ListPodsRequest struct {
  1002  	Filters []*PodFilter `protobuf:"bytes,1,rep,name=filters" json:"filters,omitempty"`
  1003  	Detail  bool         `protobuf:"varint,2,opt,name=detail" json:"detail,omitempty"`
  1004  }
  1005  
  1006  func (m *ListPodsRequest) Reset()                    { *m = ListPodsRequest{} }
  1007  func (m *ListPodsRequest) String() string            { return proto.CompactTextString(m) }
  1008  func (*ListPodsRequest) ProtoMessage()               {}
  1009  func (*ListPodsRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{14} }
  1010  
  1011  func (m *ListPodsRequest) GetFilters() []*PodFilter {
  1012  	if m != nil {
  1013  		return m.Filters
  1014  	}
  1015  	return nil
  1016  }
  1017  
  1018  func (m *ListPodsRequest) GetDetail() bool {
  1019  	if m != nil {
  1020  		return m.Detail
  1021  	}
  1022  	return false
  1023  }
  1024  
  1025  // Response for ListPods().
  1026  type ListPodsResponse struct {
  1027  	Pods []*Pod `protobuf:"bytes,1,rep,name=pods" json:"pods,omitempty"`
  1028  }
  1029  
  1030  func (m *ListPodsResponse) Reset()                    { *m = ListPodsResponse{} }
  1031  func (m *ListPodsResponse) String() string            { return proto.CompactTextString(m) }
  1032  func (*ListPodsResponse) ProtoMessage()               {}
  1033  func (*ListPodsResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{15} }
  1034  
  1035  func (m *ListPodsResponse) GetPods() []*Pod {
  1036  	if m != nil {
  1037  		return m.Pods
  1038  	}
  1039  	return nil
  1040  }
  1041  
  1042  // Request for InspectPod().
  1043  type InspectPodRequest struct {
  1044  	// ID of the pod which we are querying status for, required.
  1045  	Id string `protobuf:"bytes,1,opt,name=id" json:"id,omitempty"`
  1046  }
  1047  
  1048  func (m *InspectPodRequest) Reset()                    { *m = InspectPodRequest{} }
  1049  func (m *InspectPodRequest) String() string            { return proto.CompactTextString(m) }
  1050  func (*InspectPodRequest) ProtoMessage()               {}
  1051  func (*InspectPodRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{16} }
  1052  
  1053  func (m *InspectPodRequest) GetId() string {
  1054  	if m != nil {
  1055  		return m.Id
  1056  	}
  1057  	return ""
  1058  }
  1059  
  1060  // Response for InspectPod().
  1061  type InspectPodResponse struct {
  1062  	Pod *Pod `protobuf:"bytes,1,opt,name=pod" json:"pod,omitempty"`
  1063  }
  1064  
  1065  func (m *InspectPodResponse) Reset()                    { *m = InspectPodResponse{} }
  1066  func (m *InspectPodResponse) String() string            { return proto.CompactTextString(m) }
  1067  func (*InspectPodResponse) ProtoMessage()               {}
  1068  func (*InspectPodResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{17} }
  1069  
  1070  func (m *InspectPodResponse) GetPod() *Pod {
  1071  	if m != nil {
  1072  		return m.Pod
  1073  	}
  1074  	return nil
  1075  }
  1076  
  1077  // Request for ListImages().
  1078  type ListImagesRequest struct {
  1079  	Filters []*ImageFilter `protobuf:"bytes,1,rep,name=filters" json:"filters,omitempty"`
  1080  	Detail  bool           `protobuf:"varint,2,opt,name=detail" json:"detail,omitempty"`
  1081  }
  1082  
  1083  func (m *ListImagesRequest) Reset()                    { *m = ListImagesRequest{} }
  1084  func (m *ListImagesRequest) String() string            { return proto.CompactTextString(m) }
  1085  func (*ListImagesRequest) ProtoMessage()               {}
  1086  func (*ListImagesRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{18} }
  1087  
  1088  func (m *ListImagesRequest) GetFilters() []*ImageFilter {
  1089  	if m != nil {
  1090  		return m.Filters
  1091  	}
  1092  	return nil
  1093  }
  1094  
  1095  func (m *ListImagesRequest) GetDetail() bool {
  1096  	if m != nil {
  1097  		return m.Detail
  1098  	}
  1099  	return false
  1100  }
  1101  
  1102  // Response for ListImages().
  1103  type ListImagesResponse struct {
  1104  	Images []*Image `protobuf:"bytes,1,rep,name=images" json:"images,omitempty"`
  1105  }
  1106  
  1107  func (m *ListImagesResponse) Reset()                    { *m = ListImagesResponse{} }
  1108  func (m *ListImagesResponse) String() string            { return proto.CompactTextString(m) }
  1109  func (*ListImagesResponse) ProtoMessage()               {}
  1110  func (*ListImagesResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{19} }
  1111  
  1112  func (m *ListImagesResponse) GetImages() []*Image {
  1113  	if m != nil {
  1114  		return m.Images
  1115  	}
  1116  	return nil
  1117  }
  1118  
  1119  // Request for InspectImage().
  1120  type InspectImageRequest struct {
  1121  	Id string `protobuf:"bytes,1,opt,name=id" json:"id,omitempty"`
  1122  }
  1123  
  1124  func (m *InspectImageRequest) Reset()                    { *m = InspectImageRequest{} }
  1125  func (m *InspectImageRequest) String() string            { return proto.CompactTextString(m) }
  1126  func (*InspectImageRequest) ProtoMessage()               {}
  1127  func (*InspectImageRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{20} }
  1128  
  1129  func (m *InspectImageRequest) GetId() string {
  1130  	if m != nil {
  1131  		return m.Id
  1132  	}
  1133  	return ""
  1134  }
  1135  
  1136  // Response for InspectImage().
  1137  type InspectImageResponse struct {
  1138  	Image *Image `protobuf:"bytes,1,opt,name=image" json:"image,omitempty"`
  1139  }
  1140  
  1141  func (m *InspectImageResponse) Reset()                    { *m = InspectImageResponse{} }
  1142  func (m *InspectImageResponse) String() string            { return proto.CompactTextString(m) }
  1143  func (*InspectImageResponse) ProtoMessage()               {}
  1144  func (*InspectImageResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{21} }
  1145  
  1146  func (m *InspectImageResponse) GetImage() *Image {
  1147  	if m != nil {
  1148  		return m.Image
  1149  	}
  1150  	return nil
  1151  }
  1152  
  1153  // Request for ListenEvents().
  1154  type ListenEventsRequest struct {
  1155  	Filter *EventFilter `protobuf:"bytes,1,opt,name=filter" json:"filter,omitempty"`
  1156  }
  1157  
  1158  func (m *ListenEventsRequest) Reset()                    { *m = ListenEventsRequest{} }
  1159  func (m *ListenEventsRequest) String() string            { return proto.CompactTextString(m) }
  1160  func (*ListenEventsRequest) ProtoMessage()               {}
  1161  func (*ListenEventsRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{22} }
  1162  
  1163  func (m *ListenEventsRequest) GetFilter() *EventFilter {
  1164  	if m != nil {
  1165  		return m.Filter
  1166  	}
  1167  	return nil
  1168  }
  1169  
  1170  // Response for ListenEvents().
  1171  type ListenEventsResponse struct {
  1172  	// Aggregate multiple events to reduce round trips, optional as the response can contain no events.
  1173  	Events []*Event `protobuf:"bytes,1,rep,name=events" json:"events,omitempty"`
  1174  }
  1175  
  1176  func (m *ListenEventsResponse) Reset()                    { *m = ListenEventsResponse{} }
  1177  func (m *ListenEventsResponse) String() string            { return proto.CompactTextString(m) }
  1178  func (*ListenEventsResponse) ProtoMessage()               {}
  1179  func (*ListenEventsResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{23} }
  1180  
  1181  func (m *ListenEventsResponse) GetEvents() []*Event {
  1182  	if m != nil {
  1183  		return m.Events
  1184  	}
  1185  	return nil
  1186  }
  1187  
  1188  // Request for GetLogs().
  1189  type GetLogsRequest struct {
  1190  	// ID of the pod which we will get logs from, required.
  1191  	PodId string `protobuf:"bytes,1,opt,name=pod_id,json=podId" json:"pod_id,omitempty"`
  1192  	// Name of the app within the pod which we will get logs
  1193  	// from, optional. If not set, then the logs of all the
  1194  	// apps within the pod will be returned.
  1195  	AppName string `protobuf:"bytes,2,opt,name=app_name,json=appName" json:"app_name,omitempty"`
  1196  	// Number of most recent lines to return, optional.
  1197  	Lines int32 `protobuf:"varint,3,opt,name=lines" json:"lines,omitempty"`
  1198  	// If true, then a response stream will not be closed,
  1199  	// and new log response will be sent via the stream, default is false.
  1200  	Follow bool `protobuf:"varint,4,opt,name=follow" json:"follow,omitempty"`
  1201  	// If set, then only the logs after the timestamp will
  1202  	// be returned, optional.
  1203  	SinceTime int64 `protobuf:"varint,5,opt,name=since_time,json=sinceTime" json:"since_time,omitempty"`
  1204  	// If set, then only the logs before the timestamp will
  1205  	// be returned, optional.
  1206  	UntilTime int64 `protobuf:"varint,6,opt,name=until_time,json=untilTime" json:"until_time,omitempty"`
  1207  }
  1208  
  1209  func (m *GetLogsRequest) Reset()                    { *m = GetLogsRequest{} }
  1210  func (m *GetLogsRequest) String() string            { return proto.CompactTextString(m) }
  1211  func (*GetLogsRequest) ProtoMessage()               {}
  1212  func (*GetLogsRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{24} }
  1213  
  1214  func (m *GetLogsRequest) GetPodId() string {
  1215  	if m != nil {
  1216  		return m.PodId
  1217  	}
  1218  	return ""
  1219  }
  1220  
  1221  func (m *GetLogsRequest) GetAppName() string {
  1222  	if m != nil {
  1223  		return m.AppName
  1224  	}
  1225  	return ""
  1226  }
  1227  
  1228  func (m *GetLogsRequest) GetLines() int32 {
  1229  	if m != nil {
  1230  		return m.Lines
  1231  	}
  1232  	return 0
  1233  }
  1234  
  1235  func (m *GetLogsRequest) GetFollow() bool {
  1236  	if m != nil {
  1237  		return m.Follow
  1238  	}
  1239  	return false
  1240  }
  1241  
  1242  func (m *GetLogsRequest) GetSinceTime() int64 {
  1243  	if m != nil {
  1244  		return m.SinceTime
  1245  	}
  1246  	return 0
  1247  }
  1248  
  1249  func (m *GetLogsRequest) GetUntilTime() int64 {
  1250  	if m != nil {
  1251  		return m.UntilTime
  1252  	}
  1253  	return 0
  1254  }
  1255  
  1256  // Response for GetLogs().
  1257  type GetLogsResponse struct {
  1258  	// List of the log lines that returned, optional as the response can contain no logs.
  1259  	Lines []string `protobuf:"bytes,1,rep,name=lines" json:"lines,omitempty"`
  1260  }
  1261  
  1262  func (m *GetLogsResponse) Reset()                    { *m = GetLogsResponse{} }
  1263  func (m *GetLogsResponse) String() string            { return proto.CompactTextString(m) }
  1264  func (*GetLogsResponse) ProtoMessage()               {}
  1265  func (*GetLogsResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{25} }
  1266  
  1267  func (m *GetLogsResponse) GetLines() []string {
  1268  	if m != nil {
  1269  		return m.Lines
  1270  	}
  1271  	return nil
  1272  }
  1273  
  1274  func init() {
  1275  	proto.RegisterType((*ImageFormat)(nil), "v1alpha.ImageFormat")
  1276  	proto.RegisterType((*Image)(nil), "v1alpha.Image")
  1277  	proto.RegisterType((*Network)(nil), "v1alpha.Network")
  1278  	proto.RegisterType((*App)(nil), "v1alpha.App")
  1279  	proto.RegisterType((*Pod)(nil), "v1alpha.Pod")
  1280  	proto.RegisterType((*KeyValue)(nil), "v1alpha.KeyValue")
  1281  	proto.RegisterType((*PodFilter)(nil), "v1alpha.PodFilter")
  1282  	proto.RegisterType((*ImageFilter)(nil), "v1alpha.ImageFilter")
  1283  	proto.RegisterType((*GlobalFlags)(nil), "v1alpha.GlobalFlags")
  1284  	proto.RegisterType((*Info)(nil), "v1alpha.Info")
  1285  	proto.RegisterType((*Event)(nil), "v1alpha.Event")
  1286  	proto.RegisterType((*EventFilter)(nil), "v1alpha.EventFilter")
  1287  	proto.RegisterType((*GetInfoRequest)(nil), "v1alpha.GetInfoRequest")
  1288  	proto.RegisterType((*GetInfoResponse)(nil), "v1alpha.GetInfoResponse")
  1289  	proto.RegisterType((*ListPodsRequest)(nil), "v1alpha.ListPodsRequest")
  1290  	proto.RegisterType((*ListPodsResponse)(nil), "v1alpha.ListPodsResponse")
  1291  	proto.RegisterType((*InspectPodRequest)(nil), "v1alpha.InspectPodRequest")
  1292  	proto.RegisterType((*InspectPodResponse)(nil), "v1alpha.InspectPodResponse")
  1293  	proto.RegisterType((*ListImagesRequest)(nil), "v1alpha.ListImagesRequest")
  1294  	proto.RegisterType((*ListImagesResponse)(nil), "v1alpha.ListImagesResponse")
  1295  	proto.RegisterType((*InspectImageRequest)(nil), "v1alpha.InspectImageRequest")
  1296  	proto.RegisterType((*InspectImageResponse)(nil), "v1alpha.InspectImageResponse")
  1297  	proto.RegisterType((*ListenEventsRequest)(nil), "v1alpha.ListenEventsRequest")
  1298  	proto.RegisterType((*ListenEventsResponse)(nil), "v1alpha.ListenEventsResponse")
  1299  	proto.RegisterType((*GetLogsRequest)(nil), "v1alpha.GetLogsRequest")
  1300  	proto.RegisterType((*GetLogsResponse)(nil), "v1alpha.GetLogsResponse")
  1301  	proto.RegisterEnum("v1alpha.ImageType", ImageType_name, ImageType_value)
  1302  	proto.RegisterEnum("v1alpha.AppState", AppState_name, AppState_value)
  1303  	proto.RegisterEnum("v1alpha.PodState", PodState_name, PodState_value)
  1304  	proto.RegisterEnum("v1alpha.EventType", EventType_name, EventType_value)
  1305  }
  1306  
  1307  // Reference imports to suppress errors if they are not otherwise used.
  1308  var _ context.Context
  1309  var _ grpc.ClientConn
  1310  
  1311  // This is a compile-time assertion to ensure that this generated file
  1312  // is compatible with the grpc package it is being compiled against.
  1313  const _ = grpc.SupportPackageIsVersion4
  1314  
  1315  // Client API for PublicAPI service
  1316  
  1317  type PublicAPIClient interface {
  1318  	// GetInfo gets the rkt's information on the machine.
  1319  	GetInfo(ctx context.Context, in *GetInfoRequest, opts ...grpc.CallOption) (*GetInfoResponse, error)
  1320  	// ListPods lists rkt pods on the machine.
  1321  	ListPods(ctx context.Context, in *ListPodsRequest, opts ...grpc.CallOption) (*ListPodsResponse, error)
  1322  	// InspectPod gets detailed pod information of the specified pod.
  1323  	InspectPod(ctx context.Context, in *InspectPodRequest, opts ...grpc.CallOption) (*InspectPodResponse, error)
  1324  	// ListImages lists the images on the machine.
  1325  	ListImages(ctx context.Context, in *ListImagesRequest, opts ...grpc.CallOption) (*ListImagesResponse, error)
  1326  	// InspectImage gets the detailed image information of the specified image.
  1327  	InspectImage(ctx context.Context, in *InspectImageRequest, opts ...grpc.CallOption) (*InspectImageResponse, error)
  1328  	// ListenEvents listens for the events, it will return a response stream
  1329  	// that will contain event objects.
  1330  	ListenEvents(ctx context.Context, in *ListenEventsRequest, opts ...grpc.CallOption) (PublicAPI_ListenEventsClient, error)
  1331  	// GetLogs gets the logs for a pod, if the app is also specified, then only the logs
  1332  	// of the app will be returned.
  1333  	//
  1334  	// If 'follow' in the 'GetLogsRequest' is set to 'true', then the response stream
  1335  	// will not be closed after the first response, the future logs will be sent via
  1336  	// the stream.
  1337  	GetLogs(ctx context.Context, in *GetLogsRequest, opts ...grpc.CallOption) (PublicAPI_GetLogsClient, error)
  1338  }
  1339  
  1340  type publicAPIClient struct {
  1341  	cc *grpc.ClientConn
  1342  }
  1343  
  1344  func NewPublicAPIClient(cc *grpc.ClientConn) PublicAPIClient {
  1345  	return &publicAPIClient{cc}
  1346  }
  1347  
  1348  func (c *publicAPIClient) GetInfo(ctx context.Context, in *GetInfoRequest, opts ...grpc.CallOption) (*GetInfoResponse, error) {
  1349  	out := new(GetInfoResponse)
  1350  	err := grpc.Invoke(ctx, "/v1alpha.PublicAPI/GetInfo", in, out, c.cc, opts...)
  1351  	if err != nil {
  1352  		return nil, err
  1353  	}
  1354  	return out, nil
  1355  }
  1356  
  1357  func (c *publicAPIClient) ListPods(ctx context.Context, in *ListPodsRequest, opts ...grpc.CallOption) (*ListPodsResponse, error) {
  1358  	out := new(ListPodsResponse)
  1359  	err := grpc.Invoke(ctx, "/v1alpha.PublicAPI/ListPods", in, out, c.cc, opts...)
  1360  	if err != nil {
  1361  		return nil, err
  1362  	}
  1363  	return out, nil
  1364  }
  1365  
  1366  func (c *publicAPIClient) InspectPod(ctx context.Context, in *InspectPodRequest, opts ...grpc.CallOption) (*InspectPodResponse, error) {
  1367  	out := new(InspectPodResponse)
  1368  	err := grpc.Invoke(ctx, "/v1alpha.PublicAPI/InspectPod", in, out, c.cc, opts...)
  1369  	if err != nil {
  1370  		return nil, err
  1371  	}
  1372  	return out, nil
  1373  }
  1374  
  1375  func (c *publicAPIClient) ListImages(ctx context.Context, in *ListImagesRequest, opts ...grpc.CallOption) (*ListImagesResponse, error) {
  1376  	out := new(ListImagesResponse)
  1377  	err := grpc.Invoke(ctx, "/v1alpha.PublicAPI/ListImages", in, out, c.cc, opts...)
  1378  	if err != nil {
  1379  		return nil, err
  1380  	}
  1381  	return out, nil
  1382  }
  1383  
  1384  func (c *publicAPIClient) InspectImage(ctx context.Context, in *InspectImageRequest, opts ...grpc.CallOption) (*InspectImageResponse, error) {
  1385  	out := new(InspectImageResponse)
  1386  	err := grpc.Invoke(ctx, "/v1alpha.PublicAPI/InspectImage", in, out, c.cc, opts...)
  1387  	if err != nil {
  1388  		return nil, err
  1389  	}
  1390  	return out, nil
  1391  }
  1392  
  1393  func (c *publicAPIClient) ListenEvents(ctx context.Context, in *ListenEventsRequest, opts ...grpc.CallOption) (PublicAPI_ListenEventsClient, error) {
  1394  	stream, err := grpc.NewClientStream(ctx, &_PublicAPI_serviceDesc.Streams[0], c.cc, "/v1alpha.PublicAPI/ListenEvents", opts...)
  1395  	if err != nil {
  1396  		return nil, err
  1397  	}
  1398  	x := &publicAPIListenEventsClient{stream}
  1399  	if err := x.ClientStream.SendMsg(in); err != nil {
  1400  		return nil, err
  1401  	}
  1402  	if err := x.ClientStream.CloseSend(); err != nil {
  1403  		return nil, err
  1404  	}
  1405  	return x, nil
  1406  }
  1407  
  1408  type PublicAPI_ListenEventsClient interface {
  1409  	Recv() (*ListenEventsResponse, error)
  1410  	grpc.ClientStream
  1411  }
  1412  
  1413  type publicAPIListenEventsClient struct {
  1414  	grpc.ClientStream
  1415  }
  1416  
  1417  func (x *publicAPIListenEventsClient) Recv() (*ListenEventsResponse, error) {
  1418  	m := new(ListenEventsResponse)
  1419  	if err := x.ClientStream.RecvMsg(m); err != nil {
  1420  		return nil, err
  1421  	}
  1422  	return m, nil
  1423  }
  1424  
  1425  func (c *publicAPIClient) GetLogs(ctx context.Context, in *GetLogsRequest, opts ...grpc.CallOption) (PublicAPI_GetLogsClient, error) {
  1426  	stream, err := grpc.NewClientStream(ctx, &_PublicAPI_serviceDesc.Streams[1], c.cc, "/v1alpha.PublicAPI/GetLogs", opts...)
  1427  	if err != nil {
  1428  		return nil, err
  1429  	}
  1430  	x := &publicAPIGetLogsClient{stream}
  1431  	if err := x.ClientStream.SendMsg(in); err != nil {
  1432  		return nil, err
  1433  	}
  1434  	if err := x.ClientStream.CloseSend(); err != nil {
  1435  		return nil, err
  1436  	}
  1437  	return x, nil
  1438  }
  1439  
  1440  type PublicAPI_GetLogsClient interface {
  1441  	Recv() (*GetLogsResponse, error)
  1442  	grpc.ClientStream
  1443  }
  1444  
  1445  type publicAPIGetLogsClient struct {
  1446  	grpc.ClientStream
  1447  }
  1448  
  1449  func (x *publicAPIGetLogsClient) Recv() (*GetLogsResponse, error) {
  1450  	m := new(GetLogsResponse)
  1451  	if err := x.ClientStream.RecvMsg(m); err != nil {
  1452  		return nil, err
  1453  	}
  1454  	return m, nil
  1455  }
  1456  
  1457  // Server API for PublicAPI service
  1458  
  1459  type PublicAPIServer interface {
  1460  	// GetInfo gets the rkt's information on the machine.
  1461  	GetInfo(context.Context, *GetInfoRequest) (*GetInfoResponse, error)
  1462  	// ListPods lists rkt pods on the machine.
  1463  	ListPods(context.Context, *ListPodsRequest) (*ListPodsResponse, error)
  1464  	// InspectPod gets detailed pod information of the specified pod.
  1465  	InspectPod(context.Context, *InspectPodRequest) (*InspectPodResponse, error)
  1466  	// ListImages lists the images on the machine.
  1467  	ListImages(context.Context, *ListImagesRequest) (*ListImagesResponse, error)
  1468  	// InspectImage gets the detailed image information of the specified image.
  1469  	InspectImage(context.Context, *InspectImageRequest) (*InspectImageResponse, error)
  1470  	// ListenEvents listens for the events, it will return a response stream
  1471  	// that will contain event objects.
  1472  	ListenEvents(*ListenEventsRequest, PublicAPI_ListenEventsServer) error
  1473  	// GetLogs gets the logs for a pod, if the app is also specified, then only the logs
  1474  	// of the app will be returned.
  1475  	//
  1476  	// If 'follow' in the 'GetLogsRequest' is set to 'true', then the response stream
  1477  	// will not be closed after the first response, the future logs will be sent via
  1478  	// the stream.
  1479  	GetLogs(*GetLogsRequest, PublicAPI_GetLogsServer) error
  1480  }
  1481  
  1482  func RegisterPublicAPIServer(s *grpc.Server, srv PublicAPIServer) {
  1483  	s.RegisterService(&_PublicAPI_serviceDesc, srv)
  1484  }
  1485  
  1486  func _PublicAPI_GetInfo_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
  1487  	in := new(GetInfoRequest)
  1488  	if err := dec(in); err != nil {
  1489  		return nil, err
  1490  	}
  1491  	if interceptor == nil {
  1492  		return srv.(PublicAPIServer).GetInfo(ctx, in)
  1493  	}
  1494  	info := &grpc.UnaryServerInfo{
  1495  		Server:     srv,
  1496  		FullMethod: "/v1alpha.PublicAPI/GetInfo",
  1497  	}
  1498  	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
  1499  		return srv.(PublicAPIServer).GetInfo(ctx, req.(*GetInfoRequest))
  1500  	}
  1501  	return interceptor(ctx, in, info, handler)
  1502  }
  1503  
  1504  func _PublicAPI_ListPods_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
  1505  	in := new(ListPodsRequest)
  1506  	if err := dec(in); err != nil {
  1507  		return nil, err
  1508  	}
  1509  	if interceptor == nil {
  1510  		return srv.(PublicAPIServer).ListPods(ctx, in)
  1511  	}
  1512  	info := &grpc.UnaryServerInfo{
  1513  		Server:     srv,
  1514  		FullMethod: "/v1alpha.PublicAPI/ListPods",
  1515  	}
  1516  	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
  1517  		return srv.(PublicAPIServer).ListPods(ctx, req.(*ListPodsRequest))
  1518  	}
  1519  	return interceptor(ctx, in, info, handler)
  1520  }
  1521  
  1522  func _PublicAPI_InspectPod_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
  1523  	in := new(InspectPodRequest)
  1524  	if err := dec(in); err != nil {
  1525  		return nil, err
  1526  	}
  1527  	if interceptor == nil {
  1528  		return srv.(PublicAPIServer).InspectPod(ctx, in)
  1529  	}
  1530  	info := &grpc.UnaryServerInfo{
  1531  		Server:     srv,
  1532  		FullMethod: "/v1alpha.PublicAPI/InspectPod",
  1533  	}
  1534  	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
  1535  		return srv.(PublicAPIServer).InspectPod(ctx, req.(*InspectPodRequest))
  1536  	}
  1537  	return interceptor(ctx, in, info, handler)
  1538  }
  1539  
  1540  func _PublicAPI_ListImages_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
  1541  	in := new(ListImagesRequest)
  1542  	if err := dec(in); err != nil {
  1543  		return nil, err
  1544  	}
  1545  	if interceptor == nil {
  1546  		return srv.(PublicAPIServer).ListImages(ctx, in)
  1547  	}
  1548  	info := &grpc.UnaryServerInfo{
  1549  		Server:     srv,
  1550  		FullMethod: "/v1alpha.PublicAPI/ListImages",
  1551  	}
  1552  	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
  1553  		return srv.(PublicAPIServer).ListImages(ctx, req.(*ListImagesRequest))
  1554  	}
  1555  	return interceptor(ctx, in, info, handler)
  1556  }
  1557  
  1558  func _PublicAPI_InspectImage_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
  1559  	in := new(InspectImageRequest)
  1560  	if err := dec(in); err != nil {
  1561  		return nil, err
  1562  	}
  1563  	if interceptor == nil {
  1564  		return srv.(PublicAPIServer).InspectImage(ctx, in)
  1565  	}
  1566  	info := &grpc.UnaryServerInfo{
  1567  		Server:     srv,
  1568  		FullMethod: "/v1alpha.PublicAPI/InspectImage",
  1569  	}
  1570  	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
  1571  		return srv.(PublicAPIServer).InspectImage(ctx, req.(*InspectImageRequest))
  1572  	}
  1573  	return interceptor(ctx, in, info, handler)
  1574  }
  1575  
  1576  func _PublicAPI_ListenEvents_Handler(srv interface{}, stream grpc.ServerStream) error {
  1577  	m := new(ListenEventsRequest)
  1578  	if err := stream.RecvMsg(m); err != nil {
  1579  		return err
  1580  	}
  1581  	return srv.(PublicAPIServer).ListenEvents(m, &publicAPIListenEventsServer{stream})
  1582  }
  1583  
  1584  type PublicAPI_ListenEventsServer interface {
  1585  	Send(*ListenEventsResponse) error
  1586  	grpc.ServerStream
  1587  }
  1588  
  1589  type publicAPIListenEventsServer struct {
  1590  	grpc.ServerStream
  1591  }
  1592  
  1593  func (x *publicAPIListenEventsServer) Send(m *ListenEventsResponse) error {
  1594  	return x.ServerStream.SendMsg(m)
  1595  }
  1596  
  1597  func _PublicAPI_GetLogs_Handler(srv interface{}, stream grpc.ServerStream) error {
  1598  	m := new(GetLogsRequest)
  1599  	if err := stream.RecvMsg(m); err != nil {
  1600  		return err
  1601  	}
  1602  	return srv.(PublicAPIServer).GetLogs(m, &publicAPIGetLogsServer{stream})
  1603  }
  1604  
  1605  type PublicAPI_GetLogsServer interface {
  1606  	Send(*GetLogsResponse) error
  1607  	grpc.ServerStream
  1608  }
  1609  
  1610  type publicAPIGetLogsServer struct {
  1611  	grpc.ServerStream
  1612  }
  1613  
  1614  func (x *publicAPIGetLogsServer) Send(m *GetLogsResponse) error {
  1615  	return x.ServerStream.SendMsg(m)
  1616  }
  1617  
  1618  var _PublicAPI_serviceDesc = grpc.ServiceDesc{
  1619  	ServiceName: "v1alpha.PublicAPI",
  1620  	HandlerType: (*PublicAPIServer)(nil),
  1621  	Methods: []grpc.MethodDesc{
  1622  		{
  1623  			MethodName: "GetInfo",
  1624  			Handler:    _PublicAPI_GetInfo_Handler,
  1625  		},
  1626  		{
  1627  			MethodName: "ListPods",
  1628  			Handler:    _PublicAPI_ListPods_Handler,
  1629  		},
  1630  		{
  1631  			MethodName: "InspectPod",
  1632  			Handler:    _PublicAPI_InspectPod_Handler,
  1633  		},
  1634  		{
  1635  			MethodName: "ListImages",
  1636  			Handler:    _PublicAPI_ListImages_Handler,
  1637  		},
  1638  		{
  1639  			MethodName: "InspectImage",
  1640  			Handler:    _PublicAPI_InspectImage_Handler,
  1641  		},
  1642  	},
  1643  	Streams: []grpc.StreamDesc{
  1644  		{
  1645  			StreamName:    "ListenEvents",
  1646  			Handler:       _PublicAPI_ListenEvents_Handler,
  1647  			ServerStreams: true,
  1648  		},
  1649  		{
  1650  			StreamName:    "GetLogs",
  1651  			Handler:       _PublicAPI_GetLogs_Handler,
  1652  			ServerStreams: true,
  1653  		},
  1654  	},
  1655  	Metadata: "api.proto",
  1656  }
  1657  
  1658  func init() { proto.RegisterFile("api.proto", fileDescriptor0) }
  1659  
  1660  var fileDescriptor0 = []byte{
  1661  	// 1800 bytes of a gzipped FileDescriptorProto
  1662  	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x9c, 0x58, 0x4f, 0x73, 0xdb, 0xc6,
  1663  	0x15, 0x37, 0xf8, 0x17, 0x78, 0xd4, 0x1f, 0x68, 0x2d, 0xd9, 0x30, 0x1d, 0x27, 0x0c, 0x12, 0xdb,
  1664  	0x8a, 0x26, 0xe3, 0x69, 0x14, 0xb7, 0xbd, 0x64, 0x32, 0xa5, 0x49, 0x48, 0xe5, 0x58, 0x12, 0x39,
  1665  	0x6b, 0xc6, 0x6d, 0xa6, 0x07, 0x0c, 0x44, 0x2c, 0x19, 0x8c, 0x40, 0x00, 0x05, 0x96, 0x72, 0xd4,
  1666  	0x63, 0x3f, 0x40, 0xbf, 0x41, 0x7b, 0xea, 0xb9, 0xd7, 0xcc, 0xf4, 0xde, 0x8f, 0xd2, 0x43, 0x3f,
  1667  	0x41, 0xaf, 0x9d, 0xfd, 0x03, 0x60, 0x09, 0x51, 0xae, 0x27, 0xb7, 0xdd, 0xf7, 0xfb, 0xe1, 0xed,
  1668  	0xfb, 0xb7, 0xef, 0x2d, 0x09, 0x86, 0x97, 0x04, 0x2f, 0x92, 0x34, 0xa6, 0x31, 0x6a, 0x5f, 0x7f,
  1669  	0xe5, 0x85, 0xc9, 0x0f, 0x9e, 0x3d, 0x86, 0xce, 0x68, 0xe9, 0x2d, 0xc8, 0x49, 0x9c, 0x2e, 0x3d,
  1670  	0x8a, 0x9e, 0x41, 0x83, 0xde, 0x24, 0xc4, 0xd2, 0x7a, 0xda, 0xe1, 0xce, 0x31, 0x7a, 0x21, 0x69,
  1671  	0x2f, 0x38, 0x67, 0x7a, 0x93, 0x10, 0xcc, 0x71, 0x64, 0x41, 0xfb, 0x9a, 0xa4, 0x59, 0x10, 0x47,
  1672  	0x56, 0xad, 0xa7, 0x1d, 0x1a, 0x38, 0xdf, 0xda, 0x3f, 0xd5, 0xa0, 0xc9, 0xd9, 0xe8, 0x97, 0xd0,
  1673  	0xb9, 0xf4, 0x32, 0xe2, 0xce, 0xb9, 0x6a, 0xae, 0xb2, 0x73, 0xbc, 0xbf, 0xae, 0x52, 0x1c, 0x8b,
  1674  	0x81, 0x11, 0xa5, 0x09, 0x3b, 0x50, 0x0b, 0x7c, 0xa9, 0xb5, 0x16, 0xf8, 0x08, 0x41, 0x23, 0xf2,
  1675  	0x96, 0xc4, 0xaa, 0x73, 0x09, 0x5f, 0xab, 0xc7, 0x37, 0xd6, 0x8e, 0x47, 0x5f, 0x80, 0x19, 0x2c,
  1676  	0x93, 0x38, 0xa5, 0x2e, 0x0d, 0x96, 0x24, 0xa3, 0xde, 0x32, 0xb1, 0x9a, 0x3d, 0xed, 0xb0, 0x8e,
  1677  	0x77, 0x85, 0x7c, 0x9a, 0x8b, 0x51, 0x17, 0xf4, 0xa5, 0x17, 0x05, 0x73, 0x92, 0x51, 0xab, 0xd5,
  1678  	0xd3, 0x0e, 0xb7, 0x70, 0xb1, 0x67, 0x87, 0x66, 0xc1, 0x9f, 0x88, 0xd5, 0xe6, 0x9f, 0xf2, 0x35,
  1679  	0xfa, 0x1a, 0x3a, 0x5e, 0x14, 0xc5, 0xd4, 0xa3, 0x41, 0x1c, 0x65, 0x96, 0xde, 0xab, 0x1f, 0x76,
  1680  	0x8e, 0xf7, 0x0a, 0x7f, 0x5e, 0x93, 0x9b, 0xb7, 0x5e, 0xb8, 0x22, 0x58, 0x65, 0xa1, 0x2f, 0xa0,
  1681  	0x15, 0x7a, 0x97, 0x24, 0xcc, 0x2c, 0xe3, 0x2e, 0xbe, 0x24, 0xd8, 0x0e, 0xb4, 0x2f, 0x08, 0x7d,
  1682  	0x17, 0xa7, 0x57, 0x85, 0xcf, 0x9a, 0xe2, 0x33, 0x82, 0x46, 0x90, 0x5c, 0xbf, 0x94, 0x91, 0xe1,
  1683  	0x6b, 0x29, 0xfb, 0x55, 0x1e, 0x1b, 0xb6, 0xb6, 0xff, 0xa9, 0x41, 0xbd, 0x9f, 0x24, 0x1b, 0x75,
  1684  	0x7c, 0x0e, 0xcd, 0x80, 0x85, 0x9d, 0x2b, 0xe9, 0x1c, 0xef, 0xac, 0x27, 0x03, 0x0b, 0x10, 0x3d,
  1685  	0x87, 0x66, 0x46, 0x3d, 0x2a, 0x42, 0xbe, 0xa3, 0x98, 0xdc, 0x4f, 0x92, 0x37, 0x0c, 0xc0, 0x02,
  1686  	0x47, 0x8f, 0xc1, 0x20, 0x3f, 0x06, 0xd4, 0x9d, 0xc5, 0x3e, 0xe1, 0x89, 0xd8, 0xc3, 0x3a, 0x13,
  1687  	0x0c, 0x62, 0xff, 0x56, 0xb8, 0x9a, 0x1f, 0x12, 0x2e, 0xfb, 0x3f, 0x35, 0xa8, 0x4f, 0x62, 0x5f,
  1688  	0x16, 0x81, 0x56, 0x14, 0x81, 0x09, 0xf5, 0x44, 0x56, 0xc5, 0x1e, 0x66, 0xcb, 0xbb, 0x8d, 0x9c,
  1689  	0xc4, 0xfe, 0x9a, 0x91, 0x3d, 0x68, 0x78, 0x49, 0x92, 0x59, 0x0d, 0x6e, 0xc0, 0x96, 0xea, 0x0c,
  1690  	0xe6, 0x08, 0xfa, 0x12, 0xf4, 0x48, 0x04, 0x3e, 0x37, 0xd3, 0x2c, 0x58, 0x32, 0x23, 0xb8, 0x60,
  1691  	0xbc, 0xb7, 0x6c, 0x2a, 0x3e, 0xb7, 0x3f, 0xa8, 0x44, 0x1e, 0x40, 0x6b, 0xb6, 0x48, 0xe3, 0x55,
  1692  	0x62, 0xe9, 0xdc, 0x5f, 0xb9, 0x43, 0x4f, 0x00, 0x66, 0x29, 0xf1, 0x28, 0xf1, 0x5d, 0x8f, 0x5a,
  1693  	0x06, 0xaf, 0x44, 0x43, 0x4a, 0xfa, 0x94, 0xc1, 0x19, 0xf5, 0x52, 0x09, 0x83, 0x80, 0xa5, 0xa4,
  1694  	0x4f, 0x51, 0x0f, 0xb6, 0x16, 0x33, 0x77, 0xe9, 0xa5, 0x57, 0x82, 0xd0, 0xe1, 0x04, 0x58, 0xcc,
  1695  	0xce, 0xb9, 0xa8, 0x4f, 0xed, 0x63, 0xd0, 0x73, 0x83, 0x58, 0x7c, 0x5f, 0x93, 0x1b, 0x19, 0x70,
  1696  	0xb6, 0x44, 0xfb, 0xd0, 0xbc, 0x66, 0x90, 0xac, 0x37, 0xb1, 0xb1, 0xff, 0x56, 0x03, 0x63, 0x12,
  1697  	0xfb, 0x27, 0x41, 0x48, 0x49, 0xca, 0xbe, 0x0a, 0xfc, 0xcc, 0xd2, 0x7a, 0x75, 0xf6, 0x55, 0xe0,
  1698  	0xf3, 0x72, 0xe7, 0x51, 0xcf, 0xac, 0x5a, 0xaf, 0xbe, 0x39, 0x2d, 0x92, 0xc0, 0x8a, 0xc7, 0x4b,
  1699  	0x12, 0x97, 0xd5, 0x65, 0x66, 0xd5, 0xb9, 0x0a, 0xdd, 0x4b, 0x92, 0x0b, 0xb6, 0x67, 0x20, 0xaf,
  1700  	0x45, 0x97, 0xe9, 0x6f, 0x08, 0x90, 0x0b, 0x46, 0x7e, 0x86, 0x3e, 0x83, 0x6d, 0x99, 0x0d, 0xf9,
  1701  	0x75, 0x93, 0x13, 0xb6, 0xa4, 0x50, 0x68, 0xa8, 0xa4, 0xa2, 0xf5, 0x41, 0xa9, 0xb0, 0xa0, 0x2d,
  1702  	0x82, 0x2f, 0x72, 0x67, 0xe0, 0x7c, 0x8b, 0x9e, 0xc1, 0x6e, 0x12, 0xfb, 0x6e, 0xb6, 0xba, 0x74,
  1703  	0x73, 0x86, 0xce, 0x19, 0xdb, 0x49, 0xec, 0xbf, 0x59, 0x5d, 0x0e, 0x84, 0xd0, 0xfe, 0x57, 0x2d,
  1704  	0x6f, 0xa8, 0x77, 0x85, 0xa8, 0x0b, 0x7a, 0x92, 0x92, 0x79, 0xf0, 0xa3, 0x0c, 0x92, 0x81, 0x8b,
  1705  	0x3d, 0xcb, 0x29, 0x6f, 0x99, 0x6a, 0x50, 0x0c, 0x26, 0x11, 0x3e, 0x75, 0x41, 0xbf, 0x22, 0x37,
  1706  	0xef, 0xe2, 0xb4, 0x0c, 0x4a, 0xbe, 0x57, 0x1a, 0x4d, 0xf3, 0xff, 0x34, 0x1a, 0xf4, 0x14, 0x76,
  1707  	0x44, 0x2f, 0x64, 0x95, 0x31, 0xa7, 0x24, 0xe5, 0x75, 0x5c, 0xc7, 0xdb, 0xb9, 0xb4, 0xcf, 0x84,
  1708  	0xe8, 0x39, 0xec, 0x16, 0xb4, 0x4b, 0x32, 0x8f, 0xd3, 0xbc, 0x1d, 0x16, 0x5f, 0xbf, 0xe2, 0xd2,
  1709  	0x9f, 0xd7, 0x18, 0x9f, 0x00, 0xcc, 0x57, 0x61, 0x28, 0x5d, 0x35, 0x84, 0xab, 0x4c, 0xc2, 0x5d,
  1710  	0xb5, 0xff, 0xab, 0x41, 0xe7, 0x34, 0x8c, 0x2f, 0xbd, 0xf0, 0x24, 0xf4, 0x16, 0x19, 0x8b, 0xa3,
  1711  	0x1f, 0xa4, 0x79, 0x81, 0xfa, 0x41, 0x8a, 0x8e, 0x60, 0x2f, 0xbb, 0xc9, 0x28, 0x59, 0xba, 0xb3,
  1712  	0x38, 0x9a, 0x07, 0x0b, 0x97, 0xe1, 0xa2, 0x58, 0x77, 0x05, 0x30, 0xe0, 0xf2, 0x61, 0x90, 0xa2,
  1713  	0x43, 0x30, 0xc3, 0x78, 0xe6, 0x85, 0x2a, 0x55, 0xf4, 0xcc, 0x1d, 0x2e, 0x2f, 0x99, 0xcf, 0x60,
  1714  	0x77, 0x95, 0x91, 0x54, 0x25, 0x8a, 0x09, 0xb3, 0xcd, 0xc4, 0x25, 0x8f, 0xc5, 0x30, 0xca, 0xc8,
  1715  	0x6c, 0x95, 0x12, 0x77, 0xce, 0x2c, 0xe4, 0x53, 0xc6, 0xc0, 0xdb, 0xb9, 0x54, 0x98, 0xfd, 0x15,
  1716  	0x1c, 0xd0, 0x74, 0x95, 0x51, 0xf7, 0x8a, 0xdc, 0x64, 0xee, 0x3c, 0x8d, 0x97, 0xee, 0x0f, 0x94,
  1717  	0x26, 0x19, 0x8f, 0xb8, 0x8e, 0x11, 0x07, 0x5f, 0x93, 0x9b, 0xec, 0x24, 0x8d, 0x97, 0xbf, 0x65,
  1718  	0x88, 0xfd, 0x77, 0x0d, 0x1a, 0xa3, 0x68, 0x1e, 0xa3, 0x4f, 0xa0, 0x93, 0x5e, 0x51, 0x37, 0x1f,
  1719  	0x74, 0xc2, 0x75, 0x48, 0xaf, 0xe8, 0x5b, 0x39, 0xeb, 0x3e, 0x85, 0x2d, 0x2f, 0x49, 0x66, 0xee,
  1720  	0xfa, 0x24, 0xee, 0x30, 0x59, 0x4e, 0xf9, 0x04, 0x3a, 0x5e, 0x12, 0x14, 0x0c, 0xe1, 0x33, 0x78,
  1721  	0x49, 0x90, 0x13, 0x7e, 0x0d, 0x5b, 0x0b, 0x1e, 0x66, 0xe9, 0x45, 0xa3, 0x32, 0xa5, 0x95, 0x1c,
  1722  	0xe0, 0xce, 0xa2, 0xdc, 0xd8, 0x7f, 0xd1, 0xa0, 0xe9, 0x5c, 0x93, 0xe8, 0xee, 0x37, 0x03, 0x47,
  1723  	0x95, 0x37, 0xc3, 0x86, 0xc1, 0xce, 0x02, 0x92, 0x0f, 0x2f, 0xb6, 0x66, 0x32, 0x36, 0xb7, 0xb9,
  1724  	0x19, 0x75, 0xcc, 0xd7, 0xe8, 0x29, 0x34, 0x7c, 0x8f, 0x7a, 0x77, 0xd7, 0x35, 0x87, 0xed, 0xbf,
  1725  	0x6a, 0xd0, 0xe1, 0x47, 0xca, 0x9b, 0x77, 0x08, 0x4d, 0x76, 0xac, 0xb8, 0x7b, 0x9b, 0xed, 0x12,
  1726  	0x84, 0xfc, 0x8e, 0xd6, 0xca, 0x3b, 0xba, 0x0f, 0x4d, 0xf5, 0x0a, 0x8a, 0x0d, 0xef, 0xb8, 0x41,
  1727  	0x34, 0x23, 0xae, 0x62, 0xa2, 0xc1, 0x25, 0xec, 0x51, 0xc1, 0xe0, 0x55, 0x44, 0x83, 0x50, 0xc0,
  1728  	0xe2, 0xd1, 0x61, 0x70, 0x09, 0x83, 0x6d, 0x13, 0x76, 0x4e, 0x09, 0x65, 0x99, 0xc5, 0xe4, 0x8f,
  1729  	0x2b, 0x92, 0x51, 0xfb, 0x25, 0xec, 0x16, 0x92, 0x2c, 0x89, 0xa3, 0x8c, 0xa0, 0x4f, 0xa1, 0x11,
  1730  	0x44, 0xf3, 0x58, 0x3e, 0x96, 0xb6, 0xcb, 0xf9, 0xcc, 0x48, 0x1c, 0xb2, 0x7f, 0x07, 0xbb, 0x67,
  1731  	0x41, 0x46, 0x27, 0xb1, 0x9f, 0x49, 0x45, 0xe8, 0x4b, 0x68, 0xcf, 0xb9, 0xd3, 0xc2, 0xd9, 0x8e,
  1732  	0xe2, 0x6c, 0xd1, 0xac, 0x71, 0x4e, 0x61, 0xf3, 0xc6, 0x27, 0xd4, 0x0b, 0x42, 0x9e, 0x0b, 0x1d,
  1733  	0xcb, 0x9d, 0xfd, 0x12, 0xcc, 0x52, 0xb1, 0xb4, 0xa7, 0x07, 0x8d, 0x24, 0xf6, 0x73, 0xb5, 0x5b,
  1734  	0xaa, 0x5a, 0xcc, 0x11, 0xfb, 0x33, 0xd8, 0x1b, 0x45, 0x59, 0x42, 0x66, 0xec, 0xc3, 0xdc, 0xa0,
  1735  	0xca, 0xf8, 0xb6, 0x5f, 0x02, 0x52, 0x49, 0x52, 0xf9, 0xc7, 0x50, 0x4f, 0x62, 0x5f, 0xfa, 0xba,
  1736  	0xae, 0x9b, 0x01, 0xf6, 0x1f, 0x60, 0x8f, 0x19, 0xc4, 0xdb, 0x69, 0xe1, 0xeb, 0x8b, 0xaa, 0xaf,
  1737  	0xd5, 0x17, 0xe5, 0x07, 0x7a, 0xfb, 0x0d, 0x20, 0x55, 0xb9, 0x34, 0xe9, 0x19, 0xb4, 0xf8, 0x98,
  1738  	0xc9, 0x95, 0x57, 0x5f, 0x48, 0x12, 0xb5, 0x9f, 0xc2, 0x7d, 0xe9, 0x90, 0x90, 0xdf, 0xe1, 0xf7,
  1739  	0x37, 0xb0, 0xbf, 0x4e, 0x93, 0xc7, 0x14, 0xef, 0x30, 0xed, 0x3d, 0xef, 0x30, 0x7b, 0x00, 0xf7,
  1740  	0x99, 0x89, 0x24, 0xe2, 0x15, 0xab, 0x64, 0xbb, 0x25, 0x9c, 0xbb, 0xf5, 0xa4, 0x56, 0xca, 0x1f,
  1741  	0x4b, 0x8e, 0xfd, 0x2d, 0xec, 0xaf, 0x2b, 0x29, 0x3d, 0x25, 0x5c, 0x72, 0xcb, 0x53, 0x4e, 0xc4,
  1742  	0x12, 0xb5, 0xff, 0xa1, 0xf1, 0xba, 0x3d, 0x8b, 0x17, 0x85, 0x01, 0x07, 0xd0, 0x62, 0xb3, 0xb0,
  1743  	0xf0, 0xb4, 0x99, 0xc4, 0xfe, 0xc8, 0x47, 0x8f, 0x40, 0xcf, 0x07, 0x7a, 0xfe, 0xa3, 0x40, 0xce,
  1744  	0x73, 0x76, 0x9f, 0xc2, 0x20, 0xe2, 0xf7, 0x49, 0x3b, 0x6c, 0x62, 0xb1, 0x61, 0xa9, 0x99, 0xc7,
  1745  	0x61, 0x18, 0xbf, 0xe3, 0x77, 0x49, 0xc7, 0x72, 0x57, 0xb9, 0x67, 0xcd, 0xf7, 0xdf, 0xb3, 0x56,
  1746  	0xf5, 0x9e, 0x3d, 0xe7, 0xb7, 0x4a, 0xd8, 0x2b, 0x7d, 0x2d, 0x8e, 0x17, 0x63, 0x58, 0x6c, 0x8e,
  1747  	0x08, 0x18, 0xc5, 0xcf, 0x1a, 0x64, 0xc1, 0xfe, 0xe8, 0xbc, 0x7f, 0xea, 0xb8, 0xd3, 0xef, 0x27,
  1748  	0x8e, 0xfb, 0xdd, 0xc5, 0xd0, 0x39, 0x19, 0x5d, 0x38, 0x43, 0xf3, 0x1e, 0xba, 0x0f, 0xbb, 0x0a,
  1749  	0xd2, 0x9f, 0x4c, 0x06, 0xa6, 0x86, 0x0e, 0x60, 0x4f, 0x11, 0x0e, 0xc7, 0x83, 0xd7, 0x0e, 0x36,
  1750  	0x6b, 0x08, 0xc1, 0x8e, 0x22, 0x1e, 0x0f, 0x46, 0x66, 0xfd, 0x68, 0x02, 0x7a, 0xfe, 0x6e, 0x46,
  1751  	0x0f, 0xe1, 0x7e, 0x7f, 0x32, 0x71, 0xdf, 0x4c, 0xfb, 0xd3, 0xf5, 0x43, 0x0e, 0x60, 0xaf, 0x04,
  1752  	0xf0, 0x77, 0x17, 0x17, 0xa3, 0x8b, 0x53, 0x53, 0x43, 0xfb, 0x60, 0x96, 0x62, 0xe7, 0xf7, 0xa3,
  1753  	0xa9, 0x33, 0x34, 0x6b, 0x47, 0xff, 0xd6, 0x40, 0xcf, 0x9f, 0x53, 0x4c, 0xe5, 0x64, 0x3c, 0xdc,
  1754  	0xa0, 0x72, 0x1f, 0xcc, 0x12, 0x70, 0xce, 0x5f, 0xe1, 0xef, 0xc7, 0xa6, 0xb6, 0x4e, 0x9f, 0x60,
  1755  	0x67, 0xd2, 0xc7, 0xec, 0xa8, 0x1a, 0x7a, 0x00, 0xa8, 0x0a, 0x38, 0x43, 0xb3, 0xce, 0x2c, 0x2b,
  1756  	0xe5, 0xb9, 0x65, 0x0d, 0xf4, 0x04, 0x1e, 0x95, 0xe2, 0xfe, 0xab, 0x31, 0x9e, 0x3a, 0xc3, 0xfc,
  1757  	0x33, 0xb3, 0x59, 0x39, 0x5c, 0x18, 0xde, 0x5a, 0x3f, 0x63, 0xe8, 0x9c, 0x39, 0x53, 0xa6, 0xac,
  1758  	0xbd, 0x7e, 0xc6, 0x69, 0x1f, 0xbf, 0xea, 0x9f, 0x3a, 0xa6, 0x7e, 0xf4, 0x53, 0x0d, 0x8c, 0xa2,
  1759  	0x59, 0xb3, 0x0c, 0x39, 0x6f, 0x9d, 0x8b, 0xe9, 0xed, 0x0c, 0x3d, 0x86, 0x87, 0x0a, 0xc2, 0x34,
  1760  	0x15, 0xf6, 0x6b, 0xc8, 0x86, 0x8f, 0x37, 0x83, 0xb9, 0xd5, 0x66, 0x0d, 0x75, 0xe1, 0x41, 0x85,
  1761  	0xf3, 0x66, 0xda, 0xe7, 0x58, 0x1d, 0x3d, 0x82, 0x83, 0x0a, 0x26, 0xdd, 0x69, 0xa0, 0xcf, 0xa1,
  1762  	0x57, 0x81, 0xa4, 0xed, 0xee, 0x60, 0x7c, 0x76, 0xe6, 0x0c, 0x18, 0xab, 0x59, 0x51, 0x2e, 0xd3,
  1763  	0x89, 0x45, 0x40, 0xd6, 0x95, 0x33, 0x4c, 0x2a, 0x6f, 0xb3, 0x00, 0x2b, 0x90, 0xa8, 0xaa, 0xd1,
  1764  	0xf9, 0x44, 0x98, 0xac, 0xa3, 0x8f, 0xc0, 0xba, 0x05, 0x63, 0xe7, 0x7c, 0xfc, 0xd6, 0x19, 0x9a,
  1765  	0xc6, 0xf1, 0x9f, 0x1b, 0x60, 0x4c, 0x56, 0x97, 0x61, 0x30, 0xeb, 0x4f, 0x46, 0xe8, 0x5b, 0x68,
  1766  	0xcb, 0x39, 0x83, 0x1e, 0x96, 0x83, 0x7d, 0x6d, 0x16, 0x75, 0xad, 0xdb, 0x80, 0xb8, 0x3c, 0xf6,
  1767  	0x3d, 0xd4, 0x07, 0x3d, 0x1f, 0x0c, 0xa8, 0xe4, 0x55, 0x86, 0x50, 0xf7, 0xd1, 0x06, 0xa4, 0x50,
  1768  	0x71, 0x0a, 0x50, 0x0e, 0x00, 0xd4, 0x55, 0xe6, 0x5a, 0x65, 0x74, 0x74, 0x1f, 0x6f, 0xc4, 0x54,
  1769  	0x45, 0x65, 0xdb, 0x56, 0x14, 0xdd, 0x1a, 0x14, 0x8a, 0xa2, 0xdb, 0x7d, 0xde, 0xbe, 0x87, 0xce,
  1770  	0x61, 0x4b, 0x6d, 0xcd, 0xe8, 0xa3, 0xea, 0xb9, 0x6a, 0x63, 0xef, 0x3e, 0xb9, 0x03, 0x2d, 0xd4,
  1771  	0x8d, 0x61, 0x4b, 0x6d, 0xb3, 0x8a, 0xba, 0x0d, 0x2d, 0x5c, 0x51, 0xb7, 0xa9, 0x37, 0xdb, 0xf7,
  1772  	0x7e, 0xa1, 0xa1, 0xdf, 0xf0, 0xa4, 0xb1, 0x36, 0xb6, 0x9e, 0x34, 0xa5, 0x11, 0xaf, 0x27, 0x4d,
  1773  	0xed, 0x78, 0x4c, 0xc3, 0x65, 0x8b, 0xff, 0xd5, 0xf3, 0xf5, 0xff, 0x02, 0x00, 0x00, 0xff, 0xff,
  1774  	0x12, 0x12, 0x68, 0x59, 0xf7, 0x11, 0x00, 0x00,
  1775  }