Signed-off-by: Antonio Murdaca <runcom@redhat.com>
This commit is contained in:
Antonio Murdaca 2016-10-17 19:49:36 +02:00
Родитель a4125e2265
Коммит 1808348136
Не найден ключ, соответствующий данной подписи
Идентификатор ключа GPG: B2BEAD150DE936B9
15 изменённых файлов: 210 добавлений и 189 удалений

Просмотреть файл

@ -53,6 +53,7 @@ type ExecInspect struct {
CanRemove bool
ContainerID string
DetachKeys []byte
Pid int
}
// ExecProcessConfig holds information about the exec process

Просмотреть файл

@ -41,6 +41,7 @@ type ContainerExecInspect struct {
ContainerID string
Running bool
ExitCode int
Pid int
}
// ContainerListOptions holds parameters to list containers with.

Просмотреть файл

@ -212,9 +212,13 @@ func (d *Daemon) ContainerExecStart(ctx context.Context, name string, stdin io.R
attachErr := container.AttachStreams(ctx, ec.StreamConfig, ec.OpenStdin, true, ec.Tty, cStdin, cStdout, cStderr, ec.DetachKeys)
if err := d.containerd.AddProcess(ctx, c.ID, name, p); err != nil {
systemPid, err := d.containerd.AddProcess(ctx, c.ID, name, p)
if err != nil {
return err
}
ec.Lock()
ec.Pid = systemPid
ec.Unlock()
select {
case <-ctx.Done():

Просмотреть файл

@ -28,6 +28,7 @@ type Config struct {
Privileged bool
User string
Env []string
Pid int
}
// NewConfig initializes the a new exec configuration

Просмотреть файл

@ -209,6 +209,7 @@ func (daemon *Daemon) ContainerExecInspect(id string) (*backend.ExecInspect, err
CanRemove: e.CanRemove,
ContainerID: e.ContainerID,
DetachKeys: e.DetachKeys,
Pid: e.Pid,
}, nil
}

Просмотреть файл

@ -133,6 +133,7 @@ This section lists each version from latest to oldest. Each listing includes a
* `GET /networks/(name)` now returns `Created`.
* `POST /containers/(id or name)/exec` now accepts an `Env` field, which holds a list of environment variables to be set in the context of the command execution.
* `GET /volumes`, `GET /volumes/(name)`, and `POST /volumes/create` now return the `Options` field which holds the driver specific options to use for when creating the volume.
* `GET /exec/(id)/json` now returns `Pid`, which is the system pid for the exec'd process.
### v1.24 API changes

Просмотреть файл

@ -3295,7 +3295,8 @@ Return low-level information about the `exec` command `id`.
"tty": true,
"user": "1000"
},
"Running": false
"Running": false,
"Pid": "42000"
}
**Status codes**:

Просмотреть файл

@ -4,7 +4,7 @@ set -x
TOMLV_COMMIT=9baf8a8a9f2ed20a8e54160840c492f937eeaf9a
RUNC_COMMIT=02f8fa7863dd3f82909a73e2061897828460d52f
CONTAINERD_COMMIT=837e8c5e1cad013ed57f5c2090c8591c10cbbdae
CONTAINERD_COMMIT=52ef1ceb4b660c42cf4ea9013180a5663968d4c7
GRIMES_COMMIT=74341e923bdf06cfb6b70cf54089c4d3ac87ec2d
export GOPATH="$(mktemp -d)"

Просмотреть файл

@ -143,7 +143,7 @@ clone git google.golang.org/cloud dae7e3d993bc3812a2185af60552bb6b847e52a0 https
clone git github.com/docker/docker-credential-helpers v0.3.0
# containerd
clone git github.com/docker/containerd 837e8c5e1cad013ed57f5c2090c8591c10cbbdae
clone git github.com/docker/containerd 52ef1ceb4b660c42cf4ea9013180a5663968d4c7
# cluster
clone git github.com/docker/swarmkit 7e63bdefb94e5bea2641e8bdebae2cfa61a0ed44

Просмотреть файл

@ -69,6 +69,10 @@ func (s *DockerSuite) TestExecAPIStart(c *check.C) {
id := createExec(c, "test")
startExec(c, id, http.StatusOK)
var execJSON struct{ PID int }
inspectExec(c, id, &execJSON)
c.Assert(execJSON.PID, checker.GreaterThan, 1)
id = createExec(c, "test")
dockerCmd(c, "stop", "test")

Просмотреть файл

@ -30,17 +30,20 @@ type client struct {
liveRestore bool
}
func (clnt *client) AddProcess(ctx context.Context, containerID, processFriendlyName string, specp Process) error {
// AddProcess is the handler for adding a process to an already running
// container. It's called through docker exec. It returns the system pid of the
// exec'd process.
func (clnt *client) AddProcess(ctx context.Context, containerID, processFriendlyName string, specp Process) (int, error) {
clnt.lock(containerID)
defer clnt.unlock(containerID)
container, err := clnt.getContainer(containerID)
if err != nil {
return err
return -1, err
}
spec, err := container.spec()
if err != nil {
return err
return -1, err
}
sp := spec.Process
sp.Args = specp.Args
@ -88,12 +91,13 @@ func (clnt *client) AddProcess(ctx context.Context, containerID, processFriendly
iopipe, err := p.openFifos(sp.Terminal)
if err != nil {
return err
return -1, err
}
if _, err := clnt.remote.apiClient.AddProcess(ctx, r); err != nil {
resp, err := clnt.remote.apiClient.AddProcess(ctx, r)
if err != nil {
p.closeFifos(iopipe)
return err
return -1, err
}
container.processes[processFriendlyName] = p
@ -102,11 +106,11 @@ func (clnt *client) AddProcess(ctx context.Context, containerID, processFriendly
if err := clnt.backend.AttachStreams(processFriendlyName, *iopipe); err != nil {
clnt.lock(containerID)
return err
return -1, err
}
clnt.lock(containerID)
return nil
return int(resp.SystemPid), nil
}
func (clnt *client) prepareBundleDir(uid, gid int) (string, error) {

Просмотреть файл

@ -263,13 +263,14 @@ func (clnt *client) Create(containerID string, checkpoint string, checkpointDir
}
// AddProcess is the handler for adding a process to an already running
// container. It's called through docker exec.
func (clnt *client) AddProcess(ctx context.Context, containerID, processFriendlyName string, procToAdd Process) error {
// container. It's called through docker exec. It returns the system pid of the
// exec'd process.
func (clnt *client) AddProcess(ctx context.Context, containerID, processFriendlyName string, procToAdd Process) (int, error) {
clnt.lock(containerID)
defer clnt.unlock(containerID)
container, err := clnt.getContainer(containerID)
if err != nil {
return err
return -1, err
}
// Note we always tell HCS to
// create stdout as it's required regardless of '-i' or '-t' options, so that
@ -305,7 +306,7 @@ func (clnt *client) AddProcess(ctx context.Context, containerID, processFriendly
newProcess, err := container.hcsContainer.CreateProcess(&createProcessParms)
if err != nil {
logrus.Errorf("libcontainerd: AddProcess(%s) CreateProcess() failed %s", containerID, err)
return err
return -1, err
}
pid := newProcess.Pid()
@ -313,7 +314,7 @@ func (clnt *client) AddProcess(ctx context.Context, containerID, processFriendly
stdin, stdout, stderr, err = newProcess.Stdio()
if err != nil {
logrus.Errorf("libcontainerd: %s getting std pipes failed %s", containerID, err)
return err
return -1, err
}
iopipe := &IOPipe{Terminal: procToAdd.Terminal}
@ -347,7 +348,7 @@ func (clnt *client) AddProcess(ctx context.Context, containerID, processFriendly
// Tell the engine to attach streams back to the client
if err := clnt.backend.AttachStreams(processFriendlyName, *iopipe); err != nil {
clnt.lock(containerID)
return err
return -1, err
}
// Lock again so that the defer unlock doesn't fail. (I really don't like this code)
@ -356,7 +357,7 @@ func (clnt *client) AddProcess(ctx context.Context, containerID, processFriendly
// Spin up a go routine waiting for exit to handle cleanup
go container.waitExit(proc, false)
return nil
return pid, nil
}
// Signal handles `docker stop` on Windows. While Linux has support for

Просмотреть файл

@ -39,7 +39,7 @@ type Client interface {
Create(containerID string, checkpoint string, checkpointDir string, spec specs.Spec, options ...CreateOption) error
Signal(containerID string, sig int) error
SignalProcess(containerID string, processFriendlyName string, sig int) error
AddProcess(ctx context.Context, containerID, processFriendlyName string, process Process) error
AddProcess(ctx context.Context, containerID, processFriendlyName string, process Process) (int, error)
Resize(containerID, processFriendlyName string, width, height int) error
Pause(containerID string) error
Resume(containerID string) error

Просмотреть файл

@ -225,7 +225,7 @@ func (*Rlimit) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{9} }
type User struct {
Uid uint32 `protobuf:"varint,1,opt,name=uid" json:"uid,omitempty"`
Gid uint32 `protobuf:"varint,2,opt,name=gid" json:"gid,omitempty"`
AdditionalGids []uint32 `protobuf:"varint,3,rep,packed,name=additionalGids" json:"additionalGids,omitempty"`
AdditionalGids []uint32 `protobuf:"varint,3,rep,name=additionalGids" json:"additionalGids,omitempty"`
}
func (m *User) Reset() { *m = User{} }
@ -234,6 +234,7 @@ func (*User) ProtoMessage() {}
func (*User) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{10} }
type AddProcessResponse struct {
SystemPid uint32 `protobuf:"varint,1,opt,name=systemPid" json:"systemPid,omitempty"`
}
func (m *AddProcessResponse) Reset() { *m = AddProcessResponse{} }
@ -387,7 +388,7 @@ type Container struct {
Processes []*Process `protobuf:"bytes,3,rep,name=processes" json:"processes,omitempty"`
Status string `protobuf:"bytes,4,opt,name=status" json:"status,omitempty"`
Labels []string `protobuf:"bytes,5,rep,name=labels" json:"labels,omitempty"`
Pids []uint32 `protobuf:"varint,6,rep,packed,name=pids" json:"pids,omitempty"`
Pids []uint32 `protobuf:"varint,6,rep,name=pids" json:"pids,omitempty"`
Runtime string `protobuf:"bytes,7,opt,name=runtime" json:"runtime,omitempty"`
}
@ -630,7 +631,7 @@ func (*NetworkStats) Descriptor() ([]byte, []int) { return fileDescriptor0, []in
type CpuUsage struct {
TotalUsage uint64 `protobuf:"varint,1,opt,name=total_usage,json=totalUsage" json:"total_usage,omitempty"`
PercpuUsage []uint64 `protobuf:"varint,2,rep,packed,name=percpu_usage,json=percpuUsage" json:"percpu_usage,omitempty"`
PercpuUsage []uint64 `protobuf:"varint,2,rep,name=percpu_usage,json=percpuUsage" json:"percpu_usage,omitempty"`
UsageInKernelmode uint64 `protobuf:"varint,3,opt,name=usage_in_kernelmode,json=usageInKernelmode" json:"usage_in_kernelmode,omitempty"`
UsageInUsermode uint64 `protobuf:"varint,4,opt,name=usage_in_usermode,json=usageInUsermode" json:"usage_in_usermode,omitempty"`
}
@ -1440,168 +1441,168 @@ var _API_serviceDesc = grpc.ServiceDesc{
func init() { proto.RegisterFile("api.proto", fileDescriptor0) }
var fileDescriptor0 = []byte{
// 2604 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0xec, 0x59, 0x4b, 0x6f, 0x1c, 0x5b,
0xf1, 0xcf, 0x3c, 0x3c, 0xf6, 0xd4, 0x3c, 0xec, 0xe9, 0x38, 0xce, 0x64, 0xf2, 0xfc, 0xb7, 0xee,
0x1f, 0x02, 0x5c, 0x39, 0xc1, 0xb9, 0x17, 0x22, 0x90, 0x90, 0x12, 0x3b, 0x5c, 0xcc, 0xcd, 0xc3,
0x69, 0x3b, 0x44, 0x48, 0x48, 0xa3, 0xf6, 0xcc, 0xc9, 0x4c, 0xe3, 0x9e, 0xee, 0xbe, 0xdd, 0x67,
0xfc, 0xd8, 0xb0, 0x60, 0x01, 0x3b, 0xd8, 0x22, 0xb1, 0x64, 0xc7, 0x9e, 0x05, 0x7c, 0x01, 0x24,
0x3e, 0x08, 0x3b, 0xf6, 0x2c, 0xa9, 0x53, 0xe7, 0xd1, 0xa7, 0xe7, 0xe1, 0x24, 0x48, 0x88, 0x0d,
0x9b, 0x51, 0x57, 0x9d, 0x3a, 0x55, 0x75, 0xea, 0x54, 0xfd, 0x4e, 0x9d, 0x33, 0x50, 0xf7, 0x93,
0x60, 0x3b, 0x49, 0x63, 0x1e, 0x3b, 0x2b, 0xfc, 0x22, 0x61, 0x59, 0xef, 0xee, 0x28, 0x8e, 0x47,
0x21, 0x7b, 0x40, 0xcc, 0xe3, 0xe9, 0xbb, 0x07, 0x3c, 0x98, 0xb0, 0x8c, 0xfb, 0x93, 0x44, 0xca,
0xb9, 0x37, 0xe0, 0xfa, 0x17, 0x8c, 0x1f, 0xb2, 0xf4, 0x94, 0xa5, 0x3f, 0x61, 0x69, 0x16, 0xc4,
0x91, 0xc7, 0xbe, 0x9a, 0xa2, 0x8c, 0x7b, 0x0e, 0xdd, 0xf9, 0xa1, 0x2c, 0x89, 0xa3, 0x8c, 0x39,
0x9b, 0xb0, 0x32, 0xf1, 0x7f, 0x1e, 0xa7, 0xdd, 0xd2, 0xbd, 0xd2, 0xfd, 0x96, 0x27, 0x09, 0xe2,
0x06, 0x11, 0x72, 0xcb, 0x8a, 0x2b, 0x08, 0xc1, 0x4d, 0x7c, 0x3e, 0x18, 0x77, 0x2b, 0x92, 0x4b,
0x84, 0xd3, 0x83, 0xb5, 0x94, 0x9d, 0x06, 0x42, 0x6b, 0xb7, 0x8a, 0x03, 0x75, 0xcf, 0xd0, 0xee,
0xaf, 0x4a, 0xb0, 0xf9, 0x26, 0x19, 0xfa, 0x9c, 0x1d, 0xa4, 0xf1, 0x80, 0x65, 0x99, 0x72, 0xc9,
0x69, 0x43, 0x39, 0x18, 0x92, 0xcd, 0xba, 0x87, 0x5f, 0xce, 0x06, 0x54, 0x12, 0x64, 0x94, 0x89,
0x21, 0x3e, 0x9d, 0x3b, 0x00, 0x83, 0x30, 0xce, 0xd8, 0x21, 0x1f, 0x06, 0x11, 0x59, 0x5c, 0xf3,
0x2c, 0x8e, 0x70, 0xe6, 0x2c, 0x18, 0xf2, 0x31, 0xd9, 0x44, 0x67, 0x88, 0x70, 0xb6, 0xa0, 0x36,
0x66, 0xc1, 0x68, 0xcc, 0xbb, 0x2b, 0xc4, 0x56, 0x94, 0x7b, 0x1d, 0xae, 0xcd, 0xf8, 0x21, 0xd7,
0xef, 0xfe, 0xad, 0x0c, 0x5b, 0xbb, 0x29, 0xc3, 0x91, 0xdd, 0x38, 0xe2, 0x7e, 0x10, 0xb1, 0x74,
0x99, 0x8f, 0xe8, 0xd1, 0xf1, 0x34, 0x1a, 0x86, 0xec, 0xc0, 0x47, 0xb3, 0xd2, 0x55, 0x8b, 0x43,
0x1e, 0x8f, 0xd9, 0xe0, 0x24, 0x89, 0x83, 0x88, 0x93, 0xc7, 0x38, 0x9e, 0x73, 0x84, 0xc7, 0x19,
0x2d, 0x46, 0x46, 0x49, 0x12, 0xc2, 0x63, 0xfc, 0x88, 0xa7, 0xd2, 0xe3, 0xba, 0xa7, 0x28, 0xc5,
0x67, 0x69, 0xda, 0xad, 0x19, 0x3e, 0x52, 0x82, 0x1f, 0xfa, 0xc7, 0x2c, 0xcc, 0xba, 0xab, 0xf7,
0x2a, 0x82, 0x2f, 0x29, 0xe7, 0x1e, 0x34, 0xa2, 0xf8, 0x20, 0x38, 0x8d, 0xb9, 0x17, 0xc7, 0xbc,
0xbb, 0x46, 0x01, 0xb3, 0x59, 0x4e, 0x17, 0x56, 0xd3, 0x69, 0x24, 0xf2, 0xa6, 0x5b, 0x27, 0x95,
0x9a, 0x14, 0x73, 0xd5, 0xe7, 0x93, 0x74, 0x94, 0x75, 0x81, 0x14, 0xdb, 0x2c, 0xe7, 0x13, 0x68,
0xe5, 0x2b, 0xd9, 0x0b, 0xd2, 0x6e, 0x83, 0x34, 0x14, 0x99, 0xee, 0x3e, 0x5c, 0x9f, 0x8b, 0xa5,
0xca, 0xb3, 0x6d, 0xa8, 0x0f, 0x34, 0x93, 0x62, 0xda, 0xd8, 0xd9, 0xd8, 0xa6, 0xd4, 0xde, 0xce,
0x85, 0x73, 0x11, 0x54, 0xd5, 0x3a, 0x0c, 0x46, 0x91, 0x1f, 0x7e, 0x78, 0xc6, 0x88, 0x88, 0xd1,
0x14, 0x95, 0x9f, 0x8a, 0x72, 0x37, 0xa0, 0xad, 0x55, 0xa9, 0x4d, 0xff, 0x53, 0x05, 0x3a, 0x4f,
0x86, 0xc3, 0xf7, 0xe4, 0x24, 0x26, 0x36, 0x67, 0x29, 0xa6, 0x3e, 0x6a, 0x2c, 0x53, 0x38, 0x0d,
0xed, 0xdc, 0x85, 0xea, 0x34, 0xc3, 0x95, 0x54, 0x68, 0x25, 0x0d, 0xb5, 0x92, 0x37, 0xc8, 0xf2,
0x68, 0xc0, 0x71, 0xa0, 0xea, 0x8b, 0x58, 0x56, 0x29, 0x96, 0xf4, 0x2d, 0x5c, 0x66, 0xd1, 0x29,
0xee, 0xb3, 0x60, 0x89, 0x4f, 0xc1, 0x19, 0x9c, 0x0d, 0xd5, 0x0e, 0x8b, 0x4f, 0xbd, 0xac, 0xd5,
0x7c, 0x59, 0x26, 0x6d, 0xd6, 0x16, 0xa7, 0x4d, 0x7d, 0x49, 0xda, 0x40, 0x21, 0x6d, 0x5c, 0x68,
0x0e, 0xfc, 0xc4, 0x3f, 0x0e, 0xc2, 0x80, 0x07, 0x2c, 0xc3, 0xfd, 0x13, 0x4e, 0x14, 0x78, 0xce,
0x7d, 0x58, 0xf7, 0x93, 0xc4, 0x4f, 0x27, 0x71, 0x8a, 0xa1, 0x79, 0x17, 0x84, 0xac, 0xdb, 0x24,
0x25, 0xb3, 0x6c, 0xa1, 0x2d, 0x63, 0x61, 0x10, 0x4d, 0xcf, 0x9f, 0x8b, 0xec, 0xeb, 0xb6, 0x48,
0xac, 0xc0, 0x13, 0xda, 0xa2, 0xf8, 0x25, 0x3b, 0x3b, 0x48, 0x83, 0x53, 0x9c, 0x33, 0x42, 0xa3,
0x6d, 0x8a, 0xe2, 0x2c, 0xdb, 0xf9, 0x3a, 0x26, 0x66, 0x18, 0x4c, 0x02, 0x9e, 0x75, 0xd7, 0xd1,
0xad, 0xc6, 0x4e, 0x4b, 0xc5, 0xd3, 0x23, 0xae, 0xa7, 0x47, 0xdd, 0x3d, 0xa8, 0x49, 0x96, 0x08,
0xaf, 0x10, 0x51, 0xbb, 0x45, 0xdf, 0x82, 0x97, 0xc5, 0xef, 0x38, 0xed, 0x55, 0xd5, 0xa3, 0x6f,
0xc1, 0x1b, 0xfb, 0xe9, 0x90, 0xf6, 0x09, 0x79, 0xe2, 0xdb, 0xf5, 0xa0, 0x2a, 0x36, 0x4a, 0x84,
0x7a, 0xaa, 0x36, 0xbc, 0xe5, 0x89, 0x4f, 0xc1, 0x19, 0xa9, 0x9c, 0x42, 0x0e, 0x7e, 0x3a, 0x5f,
0x83, 0xb6, 0x3f, 0x1c, 0x62, 0x78, 0x62, 0xdc, 0xf5, 0x2f, 0x82, 0x61, 0x86, 0x9a, 0x2a, 0x38,
0x38, 0xc3, 0x75, 0x37, 0xc1, 0xb1, 0x13, 0x4a, 0xe5, 0xd9, 0x2f, 0x4b, 0xa6, 0x20, 0x4c, 0x9d,
0x2c, 0xcb, 0xb6, 0x6f, 0x17, 0xd0, 0xa3, 0x4c, 0x79, 0xd5, 0xd1, 0x15, 0x92, 0xcf, 0xb6, 0x01,
0x65, 0xae, 0x28, 0x2b, 0x8b, 0x8a, 0xb2, 0x07, 0xdd, 0x79, 0x1f, 0x94, 0x83, 0x03, 0xb8, 0xbe,
0xc7, 0x42, 0xf6, 0x21, 0xfe, 0x61, 0x24, 0x23, 0x1f, 0xa1, 0x43, 0x16, 0x1c, 0x7d, 0x7f, 0xb8,
0x03, 0xf3, 0x46, 0x94, 0x03, 0x2f, 0xe0, 0xda, 0xf3, 0x20, 0xe3, 0xef, 0x37, 0x3f, 0x67, 0xaa,
0xbc, 0xc8, 0xd4, 0xef, 0x4a, 0x00, 0xb9, 0x2e, 0xe3, 0x73, 0xc9, 0xf2, 0x19, 0x79, 0xec, 0x3c,
0xe0, 0xaa, 0xa2, 0xe9, 0x5b, 0xec, 0x3b, 0x1f, 0x24, 0xea, 0x90, 0x11, 0x9f, 0x02, 0x11, 0xa7,
0x51, 0x70, 0x7e, 0x18, 0x0f, 0x4e, 0x18, 0xcf, 0x08, 0xb1, 0x11, 0x4d, 0x2d, 0x16, 0x95, 0xe5,
0x98, 0x85, 0x21, 0xc1, 0xf6, 0x9a, 0x27, 0x09, 0x81, 0xb1, 0x6c, 0x92, 0xf0, 0x8b, 0x97, 0x87,
0x58, 0xd4, 0xa2, 0xc2, 0x34, 0x89, 0x2b, 0xdd, 0x9a, 0x5d, 0xa9, 0x82, 0xc6, 0x47, 0xd0, 0xc8,
0x57, 0x91, 0xa1, 0xb3, 0x95, 0xc5, 0x5b, 0x6f, 0x4b, 0xb9, 0x77, 0xa0, 0x79, 0xc8, 0x71, 0x53,
0x97, 0xc4, 0xcb, 0xbd, 0x0f, 0x6d, 0x83, 0xab, 0x24, 0x28, 0x91, 0xc1, 0xe7, 0xd3, 0x4c, 0x49,
0x29, 0xca, 0xfd, 0x73, 0x05, 0x56, 0x55, 0xe2, 0x6a, 0xf4, 0x29, 0xe5, 0xe8, 0xf3, 0x5f, 0x01,
0xc1, 0x5b, 0x50, 0xcf, 0x2e, 0x32, 0xce, 0x26, 0x07, 0x0a, 0x0a, 0x5b, 0x5e, 0xce, 0xf8, 0x1f,
0x20, 0xe6, 0x80, 0xf8, 0xd7, 0x12, 0xd4, 0xcd, 0x36, 0x7f, 0x74, 0xc3, 0xf2, 0x29, 0xd4, 0x13,
0xb9, 0xf1, 0x4c, 0xe2, 0x5a, 0x63, 0xa7, 0xad, 0x0c, 0x69, 0x24, 0xcb, 0x05, 0xac, 0xfc, 0xa9,
0xda, 0xf9, 0x63, 0x35, 0x24, 0x2b, 0x85, 0x86, 0x04, 0x37, 0x3f, 0x11, 0x80, 0x59, 0x23, 0xc0,
0xa4, 0x6f, 0xbb, 0x05, 0x59, 0x2d, 0xb4, 0x20, 0xee, 0xe7, 0xb0, 0xfa, 0xc2, 0x1f, 0x8c, 0x71,
0x1d, 0x62, 0xe2, 0x20, 0x51, 0x69, 0x8a, 0x13, 0xc5, 0xb7, 0x30, 0x32, 0x61, 0x18, 0xef, 0x0b,
0x85, 0xee, 0x8a, 0x72, 0x4f, 0xb0, 0x4d, 0x90, 0x65, 0xa0, 0x8a, 0xe9, 0x21, 0xc2, 0xa8, 0x0e,
0x88, 0xae, 0xa5, 0xf9, 0x46, 0xc3, 0x92, 0xc1, 0x6d, 0x59, 0x9d, 0x48, 0xcb, 0x0a, 0x75, 0x75,
0x0c, 0x94, 0x3f, 0x9e, 0x1e, 0x76, 0x7f, 0x5d, 0x82, 0x2d, 0xd9, 0x45, 0xbe, 0xb7, 0x57, 0x5c,
0xdc, 0x9d, 0xc8, 0xf0, 0x55, 0x0a, 0xe1, 0x7b, 0x04, 0xf5, 0x94, 0x65, 0xf1, 0x34, 0xc5, 0x30,
0x53, 0x64, 0x1b, 0x3b, 0xd7, 0x74, 0x25, 0x91, 0x2d, 0x4f, 0x8d, 0x7a, 0xb9, 0x9c, 0xfb, 0x8f,
0x1a, 0xb4, 0x8b, 0xa3, 0x02, 0xb1, 0x8e, 0xc3, 0x93, 0x20, 0x7e, 0x2b, 0xdb, 0xdf, 0x12, 0x85,
0xc9, 0x66, 0x89, 0xaa, 0xc2, 0x58, 0x1e, 0xe2, 0x19, 0x88, 0x96, 0x64, 0x18, 0x73, 0x86, 0x1a,
0x3d, 0x60, 0x69, 0x10, 0xeb, 0xe3, 0x32, 0x67, 0x08, 0x18, 0x40, 0xe2, 0xf5, 0x34, 0xe6, 0x3e,
0x39, 0x59, 0xf5, 0x0c, 0x4d, 0x7d, 0x2f, 0xee, 0x11, 0xe3, 0xbb, 0x62, 0xd7, 0x56, 0x54, 0xdf,
0x6b, 0x38, 0xf9, 0xf8, 0x0b, 0x36, 0xc9, 0x54, 0x99, 0x5b, 0x1c, 0xe1, 0xb9, 0xdc, 0xcd, 0xe7,
0x22, 0xa9, 0x29, 0x31, 0xd0, 0x73, 0x8b, 0x25, 0x34, 0x48, 0xf2, 0xf0, 0xcc, 0x4f, 0xa8, 0xec,
0xab, 0x9e, 0xc5, 0xc1, 0x44, 0xee, 0x48, 0x0a, 0xa3, 0x81, 0xb7, 0x1c, 0x5f, 0x1c, 0xcc, 0x04,
0x03, 0x55, 0x6f, 0x7e, 0x40, 0x48, 0x9f, 0xb0, 0x34, 0x62, 0xe1, 0x0b, 0xcb, 0x2a, 0x48, 0xe9,
0xb9, 0x01, 0x67, 0x07, 0x36, 0x25, 0xf3, 0x68, 0xf7, 0xc0, 0x9e, 0xd0, 0xa0, 0x09, 0x0b, 0xc7,
0x44, 0xa5, 0x53, 0xe0, 0x9f, 0x33, 0xff, 0x9d, 0xda, 0x8f, 0x26, 0x89, 0xcf, 0xb2, 0x9d, 0x27,
0xd0, 0xb1, 0xb6, 0x68, 0x0f, 0xef, 0x4d, 0x03, 0x86, 0xe0, 0x21, 0xb2, 0xf6, 0xaa, 0xca, 0x02,
0x7b, 0xc8, 0x9b, 0x97, 0x76, 0xde, 0x40, 0x8f, 0x98, 0x47, 0x63, 0xbc, 0x07, 0xf2, 0x10, 0x33,
0xc2, 0x1f, 0x3e, 0x4d, 0x32, 0xa5, 0xab, 0x4d, 0xba, 0x74, 0x46, 0x69, 0x19, 0xa5, 0xed, 0x92,
0x89, 0xce, 0x5b, 0xb8, 0x59, 0x18, 0x7d, 0x9b, 0x06, 0x9c, 0xe5, 0x7a, 0xd7, 0x2f, 0xd3, 0x7b,
0xd9, 0xcc, 0x39, 0xc5, 0xc2, 0xec, 0x7e, 0x6c, 0x14, 0x6f, 0x7c, 0xb8, 0xe2, 0xe2, 0x4c, 0xe7,
0xa7, 0x70, 0x6b, 0xde, 0xae, 0xa5, 0xb9, 0x73, 0x99, 0xe6, 0x4b, 0xa7, 0xba, 0xdf, 0x87, 0xd6,
0xd3, 0x10, 0x0f, 0xfe, 0xfd, 0x57, 0xca, 0x56, 0xe1, 0xda, 0x5c, 0x59, 0x78, 0x6d, 0xae, 0xa8,
0x6b, 0xb3, 0xfb, 0x0b, 0x68, 0x16, 0x36, 0xec, 0x3b, 0x54, 0xa9, 0x5a, 0x95, 0xba, 0x0c, 0x6d,
0x2a, 0xb7, 0x0a, 0x66, 0x3c, 0x5b, 0x50, 0x20, 0xc8, 0x99, 0x4c, 0x26, 0xd9, 0xa0, 0x2a, 0x4a,
0x54, 0x47, 0x98, 0x27, 0x9a, 0xbc, 0xfb, 0x58, 0x1c, 0xf7, 0x67, 0xd0, 0x2e, 0x2e, 0xf6, 0xdf,
0xf6, 0x00, 0x91, 0x39, 0x45, 0xcc, 0xd1, 0x1d, 0xb6, 0xf8, 0x16, 0xef, 0x0e, 0x73, 0x98, 0xa8,
0x9a, 0xbb, 0x0b, 0x68, 0x3d, 0x3b, 0x65, 0xd8, 0xad, 0x68, 0x94, 0x7c, 0x0c, 0x75, 0xf3, 0x6c,
0xa1, 0xc0, 0xb6, 0xb7, 0x2d, 0x1f, 0x36, 0xb6, 0xf5, 0xc3, 0xc6, 0xf6, 0x91, 0x96, 0xf0, 0x72,
0x61, 0xb1, 0xc6, 0x8c, 0xc7, 0x29, 0x1b, 0xbe, 0x8a, 0xc2, 0x0b, 0xfd, 0x1a, 0x90, 0x73, 0x14,
0xfe, 0x56, 0x4d, 0xfb, 0xf3, 0xdb, 0x12, 0xac, 0x90, 0xed, 0x85, 0x37, 0x05, 0x29, 0x5d, 0x36,
0x68, 0x5d, 0xc4, 0xe6, 0x96, 0xc1, 0x66, 0x85, 0xe2, 0xd5, 0x1c, 0xc5, 0x0b, 0x2b, 0xa8, 0x7d,
0xc4, 0x0a, 0xdc, 0xdf, 0x94, 0xa1, 0xf9, 0x92, 0xf1, 0xb3, 0x38, 0x3d, 0x11, 0x27, 0x56, 0xb6,
0xb0, 0x39, 0xbd, 0x01, 0x6b, 0xe9, 0x79, 0xff, 0xf8, 0x82, 0x1b, 0x84, 0x5e, 0x4d, 0xcf, 0x9f,
0x0a, 0xd2, 0xb9, 0x0d, 0x80, 0x43, 0x07, 0xbe, 0x6c, 0x48, 0x15, 0x40, 0xa7, 0xe7, 0x8a, 0xe1,
0xdc, 0x84, 0xba, 0x77, 0xde, 0xc7, 0xc6, 0x26, 0x4e, 0x33, 0x8d, 0xd0, 0xe9, 0xf9, 0x33, 0xa2,
0xc5, 0x5c, 0x1c, 0x1c, 0xa6, 0x71, 0x92, 0xb0, 0x21, 0x21, 0x34, 0xcd, 0xdd, 0x93, 0x0c, 0x61,
0xf5, 0x48, 0x5b, 0xad, 0x49, 0xab, 0x3c, 0xb7, 0x8a, 0x43, 0x89, 0xb2, 0x2a, 0xa1, 0xb9, 0xce,
0x6d, 0xab, 0x47, 0xc6, 0xaa, 0xc4, 0xe5, 0x35, 0x6e, 0x59, 0x3d, 0xca, 0xad, 0xd6, 0xf5, 0x5c,
0x65, 0xd5, 0xfd, 0x63, 0x09, 0xd6, 0xf0, 0x7c, 0x78, 0x93, 0xf9, 0x23, 0x86, 0xad, 0x64, 0x83,
0xe3, 0x59, 0x12, 0xf6, 0xa7, 0x82, 0x54, 0xa7, 0x17, 0x10, 0x4b, 0x0a, 0xfc, 0x1f, 0x34, 0x13,
0x96, 0xe2, 0xa9, 0xa1, 0x24, 0xca, 0x58, 0xcc, 0x78, 0x4a, 0x48, 0x9e, 0x14, 0xd9, 0x86, 0xab,
0x34, 0xd6, 0x0f, 0xa2, 0xbe, 0x84, 0xe5, 0x49, 0x3c, 0x64, 0x2a, 0x54, 0x1d, 0x1a, 0xda, 0x8f,
0xbe, 0x34, 0x03, 0xce, 0x37, 0xa1, 0x63, 0xe4, 0x45, 0xbb, 0x4a, 0xd2, 0x32, 0x74, 0xeb, 0x4a,
0xfa, 0x8d, 0x62, 0x63, 0x0d, 0xeb, 0x1a, 0x0a, 0xa2, 0xd1, 0x9e, 0x8f, 0xa7, 0x1e, 0xb6, 0x32,
0x09, 0x9d, 0x8d, 0x99, 0xf2, 0x56, 0x93, 0xce, 0xb7, 0xa0, 0xc3, 0x55, 0xbd, 0x0d, 0xfb, 0x5a,
0x46, 0xee, 0xe6, 0x86, 0x19, 0x38, 0x50, 0xc2, 0xff, 0x0f, 0xed, 0x5c, 0x98, 0x1a, 0x23, 0xe9,
0x6f, 0xcb, 0x70, 0x45, 0x36, 0xb9, 0xbf, 0x97, 0xc1, 0x92, 0x99, 0xf3, 0x29, 0x1d, 0xd5, 0x56,
0xa8, 0x1a, 0x3b, 0xeb, 0xba, 0xc5, 0x51, 0xc1, 0xa0, 0xe3, 0x59, 0x86, 0xe5, 0x07, 0xb0, 0xce,
0x8d, 0xeb, 0x7d, 0xac, 0x54, 0x5f, 0x95, 0xde, 0x0c, 0x12, 0xaa, 0x85, 0x79, 0x6d, 0x5e, 0x5c,
0x28, 0x46, 0x5e, 0xf6, 0xde, 0xca, 0xa0, 0xf4, 0xaf, 0x21, 0x79, 0x64, 0x02, 0xe1, 0xb1, 0x8e,
0x8d, 0x79, 0x26, 0xbd, 0xc3, 0xc0, 0x0c, 0xa6, 0x69, 0x8a, 0xb5, 0xa7, 0x03, 0xa3, 0x48, 0x01,
0x8f, 0xd4, 0xb7, 0xaa, 0x60, 0x48, 0xc2, 0x8d, 0x01, 0xe4, 0xd9, 0x49, 0xd6, 0x50, 0xc6, 0x4e,
0x01, 0x49, 0x88, 0x3c, 0x9b, 0xf8, 0xe7, 0x66, 0xeb, 0x29, 0xcf, 0x90, 0x21, 0x17, 0x88, 0x06,
0xdf, 0xf9, 0x41, 0x38, 0x50, 0x8f, 0x6e, 0x68, 0x50, 0x91, 0xb9, 0xc1, 0xaa, 0x6d, 0xf0, 0x0f,
0x65, 0x68, 0x48, 0x8b, 0xd2, 0x61, 0x94, 0x1a, 0x60, 0x87, 0x67, 0x4c, 0x12, 0x81, 0x3d, 0xf8,
0x4a, 0x6e, 0x2e, 0xbf, 0x8f, 0xe5, 0xae, 0x6a, 0xdf, 0xb0, 0xe3, 0xcc, 0xb0, 0x09, 0xb1, 0xa2,
0xb3, 0x50, 0xba, 0x2e, 0x84, 0xa4, 0xc3, 0x9f, 0x41, 0x53, 0xe6, 0xa7, 0x9a, 0x53, 0x5d, 0x36,
0xa7, 0x21, 0xc5, 0xe4, 0xac, 0x47, 0xe2, 0xda, 0x83, 0xfe, 0x52, 0x9b, 0xdd, 0xd8, 0xb9, 0x5d,
0x10, 0xa7, 0x95, 0x6c, 0xd3, 0xef, 0xb3, 0x88, 0x63, 0xbf, 0x23, 0x65, 0x7b, 0x8f, 0x01, 0x72,
0xa6, 0xc0, 0xb3, 0x13, 0x76, 0xa1, 0xaf, 0x77, 0xf8, 0x29, 0xd6, 0x7e, 0xea, 0x87, 0x53, 0x1d,
0x54, 0x49, 0x7c, 0xaf, 0xfc, 0xb8, 0xe4, 0x0e, 0x60, 0xfd, 0xa9, 0x38, 0x12, 0xad, 0xe9, 0x85,
0x43, 0xaf, 0xba, 0xf0, 0xd0, 0xab, 0xea, 0xb7, 0x62, 0x84, 0xd8, 0x38, 0x51, 0xad, 0x2e, 0x7e,
0xe5, 0x86, 0xaa, 0x96, 0x21, 0xf7, 0xef, 0x55, 0x80, 0xdc, 0x8a, 0x73, 0x08, 0xbd, 0x20, 0xee,
0x8b, 0x4e, 0x0d, 0x4f, 0x1b, 0x09, 0x48, 0xfd, 0x94, 0x61, 0xfa, 0x64, 0xc1, 0x29, 0x53, 0xcd,
0xfc, 0x96, 0x39, 0xa6, 0x0a, 0xce, 0x79, 0xd7, 0x91, 0x92, 0x13, 0x09, 0xb9, 0x3c, 0x3d, 0xcd,
0xf9, 0x31, 0x5c, 0xcb, 0x95, 0x0e, 0x2d, 0x7d, 0xe5, 0x4b, 0xf5, 0x5d, 0x35, 0xfa, 0x86, 0xb9,
0xae, 0x1f, 0x02, 0xb2, 0xfb, 0x78, 0x98, 0x4d, 0x0b, 0x9a, 0x2a, 0x97, 0x6a, 0xea, 0x04, 0xf1,
0x6b, 0x9a, 0x91, 0xeb, 0x79, 0x0d, 0x37, 0xac, 0x85, 0x8a, 0xb2, 0xb7, 0xb4, 0x55, 0x2f, 0xd5,
0xb6, 0x65, 0xfc, 0x12, 0xc0, 0x90, 0xab, 0xfc, 0x12, 0x70, 0xa4, 0x7f, 0xe6, 0x07, 0x7c, 0x56,
0xdf, 0xca, 0xfb, 0xd6, 0xf9, 0x16, 0x27, 0x15, 0x95, 0xc9, 0x75, 0x4e, 0x58, 0x3a, 0x2a, 0xac,
0xb3, 0xf6, 0xbe, 0x75, 0xbe, 0xa0, 0x19, 0xb9, 0x9e, 0xa7, 0x80, 0xcc, 0x59, 0x7f, 0x56, 0x2f,
0xd5, 0xb2, 0x8e, 0x5d, 0x58, 0xc1, 0x97, 0x5d, 0xe8, 0x64, 0x6c, 0x80, 0x47, 0xbd, 0x9d, 0x0b,
0x6b, 0x97, 0xea, 0xd8, 0x50, 0x13, 0x8c, 0x12, 0xf7, 0x2b, 0x68, 0xfe, 0x68, 0x3a, 0x62, 0x3c,
0x3c, 0x36, 0x35, 0xff, 0x9f, 0x86, 0x99, 0x7f, 0x22, 0xcc, 0xec, 0x8e, 0xd2, 0x78, 0x9a, 0x14,
0x50, 0x5b, 0xd6, 0xf0, 0x1c, 0x6a, 0x93, 0x0c, 0xa1, 0xb6, 0x94, 0xfe, 0x1c, 0x9a, 0xf2, 0xe6,
0xa2, 0x26, 0x48, 0x14, 0x72, 0xe6, 0x8b, 0x5e, 0xdf, 0x94, 0xe4, 0xb4, 0x1d, 0x75, 0x0b, 0x54,
0xb3, 0x8a, 0x68, 0x94, 0x87, 0xc9, 0x83, 0xe3, 0xbc, 0xea, 0xf6, 0xa1, 0x35, 0x96, 0xb1, 0x51,
0xb3, 0x64, 0x02, 0x7e, 0xa2, 0x9d, 0xcb, 0xd7, 0xb0, 0x6d, 0xc7, 0x50, 0x86, 0xba, 0x39, 0xb6,
0xc3, 0xfa, 0x00, 0x40, 0xdc, 0xf3, 0xfb, 0x1a, 0xa8, 0xec, 0x67, 0x7e, 0x73, 0x42, 0x78, 0xf5,
0x44, 0x7f, 0xf6, 0x8e, 0xa0, 0x33, 0xa7, 0x73, 0x01, 0x4c, 0x7d, 0xc3, 0x86, 0xa9, 0xfc, 0x6a,
0x64, 0x4f, 0xb5, 0xb1, 0xeb, 0x2f, 0x25, 0xf9, 0x2c, 0x60, 0x5e, 0x62, 0xb1, 0x6f, 0x6b, 0x45,
0xb2, 0xf9, 0x32, 0x1b, 0x60, 0xdf, 0xb1, 0xec, 0xc6, 0xcc, 0x6b, 0x46, 0x76, 0x9b, 0x86, 0x1b,
0x31, 0xa0, 0x08, 0x2c, 0xdc, 0x08, 0x2b, 0x38, 0x5e, 0x63, 0x60, 0xed, 0x76, 0xa1, 0x51, 0xac,
0x7e, 0x4c, 0xa3, 0xa8, 0x5e, 0xf6, 0x96, 0xfd, 0x2d, 0xb1, 0x83, 0x77, 0xff, 0xca, 0x93, 0x83,
0x7d, 0xbc, 0xf7, 0x6d, 0xcc, 0xfe, 0xab, 0xe7, 0xdc, 0x51, 0x6e, 0x2d, 0xf9, 0x27, 0xb0, 0x77,
0x77, 0xe9, 0xb8, 0x6a, 0xd9, 0xaf, 0x38, 0x1e, 0xac, 0xcf, 0xfc, 0x87, 0xe3, 0xe8, 0xa3, 0x66,
0xf1, 0xff, 0x64, 0xbd, 0x3b, 0xcb, 0x86, 0x6d, 0x9d, 0x33, 0x77, 0x04, 0xa3, 0x73, 0xf1, 0x7b,
0x8a, 0xd1, 0xb9, 0xec, 0x6a, 0x71, 0xc5, 0xf9, 0x2e, 0xd4, 0xe4, 0xbf, 0x3a, 0x8e, 0xbe, 0xb8,
0x14, 0xfe, 0x2f, 0xea, 0x5d, 0x9b, 0xe1, 0x9a, 0x89, 0xcf, 0xa1, 0x55, 0xf8, 0x2b, 0xd0, 0xb9,
0x59, 0xb0, 0x55, 0xfc, 0x53, 0xa8, 0x77, 0x6b, 0xf1, 0xa0, 0xd1, 0xb6, 0x0b, 0x90, 0x3f, 0xfc,
0x3b, 0x5d, 0x25, 0x3d, 0xf7, 0xe7, 0x52, 0xef, 0xc6, 0x82, 0x11, 0xa3, 0x04, 0xb7, 0x72, 0xf6,
0x89, 0xde, 0x99, 0x89, 0xea, 0xec, 0x03, 0xb9, 0xd9, 0xca, 0xa5, 0x6f, 0xfb, 0xa4, 0x76, 0xf6,
0xe1, 0xdd, 0xa8, 0x5d, 0xf2, 0xec, 0x6f, 0xd4, 0x2e, 0x7d, 0xb1, 0xbf, 0xe2, 0xbc, 0x82, 0x76,
0xf1, 0x25, 0xdb, 0xd1, 0x41, 0x5a, 0xf8, 0x94, 0xdf, 0xbb, 0xbd, 0x64, 0xd4, 0x28, 0xfc, 0x0c,
0x56, 0xe4, 0x13, 0xb5, 0x2e, 0x47, 0xfb, 0x65, 0xbb, 0xb7, 0x59, 0x64, 0x9a, 0x59, 0x0f, 0xa1,
0x26, 0x6f, 0x97, 0x26, 0x01, 0x0a, 0x97, 0xcd, 0x5e, 0xd3, 0xe6, 0xba, 0x57, 0x1e, 0x96, 0xb4,
0x9d, 0xac, 0x60, 0x27, 0x5b, 0x64, 0xc7, 0xda, 0x9c, 0xe3, 0x1a, 0x95, 0xeb, 0xa3, 0x7f, 0x05,
0x00, 0x00, 0xff, 0xff, 0xa7, 0x2d, 0xc6, 0x49, 0x94, 0x1f, 0x00, 0x00,
// 2606 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0xec, 0x39, 0xcb, 0x6f, 0x1c, 0x4d,
0xf1, 0xd9, 0x87, 0xd7, 0xde, 0xda, 0x87, 0xbd, 0x93, 0xc4, 0xd9, 0x6c, 0x9e, 0xbf, 0xd1, 0xf7,
0x83, 0x00, 0x9f, 0x9c, 0xe0, 0x7c, 0x1f, 0x44, 0x20, 0x21, 0x25, 0x76, 0xf8, 0x30, 0x5f, 0x1e,
0xce, 0xd8, 0x21, 0x42, 0x42, 0x5a, 0x8d, 0x77, 0x3b, 0xbb, 0x83, 0x67, 0x67, 0xe6, 0x9b, 0xe9,
0xf5, 0xe3, 0xc2, 0x81, 0x03, 0xdc, 0xe0, 0x8a, 0xc4, 0x91, 0x1b, 0x77, 0x0e, 0xf0, 0x0f, 0x20,
0xf1, 0x87, 0x70, 0xe3, 0xce, 0x91, 0xea, 0xea, 0xc7, 0xf4, 0xec, 0xc3, 0x4e, 0x90, 0x10, 0x17,
0x2e, 0xa3, 0xae, 0xea, 0x7a, 0x75, 0x75, 0x55, 0x75, 0x75, 0x0f, 0xd4, 0xfd, 0x24, 0xd8, 0x4a,
0xd2, 0x98, 0xc7, 0xce, 0x0a, 0x3f, 0x4f, 0x58, 0xd6, 0xbb, 0x37, 0x8a, 0xe3, 0x51, 0xc8, 0x1e,
0x12, 0xf2, 0x68, 0xfa, 0xfe, 0x21, 0x0f, 0x26, 0x2c, 0xe3, 0xfe, 0x24, 0x91, 0x74, 0xee, 0x4d,
0xb8, 0xf1, 0x05, 0xe3, 0x07, 0x2c, 0x3d, 0x61, 0xe9, 0x4f, 0x58, 0x9a, 0x05, 0x71, 0xe4, 0xb1,
0xaf, 0xa6, 0x48, 0xe3, 0x9e, 0x41, 0x77, 0x7e, 0x2a, 0x4b, 0xe2, 0x28, 0x63, 0xce, 0x35, 0x58,
0x99, 0xf8, 0x3f, 0x8f, 0xd3, 0x6e, 0xe9, 0x7e, 0xe9, 0x41, 0xcb, 0x93, 0x00, 0x61, 0x83, 0x08,
0xb1, 0x65, 0x85, 0x15, 0x80, 0xc0, 0x26, 0x3e, 0x1f, 0x8c, 0xbb, 0x15, 0x89, 0x25, 0xc0, 0xe9,
0xc1, 0x5a, 0xca, 0x4e, 0x02, 0x21, 0xb5, 0x5b, 0xc5, 0x89, 0xba, 0x67, 0x60, 0xf7, 0x57, 0x25,
0xb8, 0xf6, 0x36, 0x19, 0xfa, 0x9c, 0xed, 0xa7, 0xf1, 0x80, 0x65, 0x99, 0x32, 0xc9, 0x69, 0x43,
0x39, 0x18, 0x92, 0xce, 0xba, 0x87, 0x23, 0x67, 0x03, 0x2a, 0x09, 0x22, 0xca, 0x84, 0x10, 0x43,
0xe7, 0x2e, 0xc0, 0x20, 0x8c, 0x33, 0x76, 0xc0, 0x87, 0x41, 0x44, 0x1a, 0xd7, 0x3c, 0x0b, 0x23,
0x8c, 0x39, 0x0d, 0x86, 0x7c, 0x4c, 0x3a, 0xd1, 0x18, 0x02, 0x9c, 0x4d, 0xa8, 0x8d, 0x59, 0x30,
0x1a, 0xf3, 0xee, 0x0a, 0xa1, 0x15, 0xe4, 0xde, 0x80, 0xeb, 0x33, 0x76, 0xc8, 0xf5, 0xbb, 0x7f,
0x2b, 0xc3, 0xe6, 0x4e, 0xca, 0x70, 0x66, 0x27, 0x8e, 0xb8, 0x1f, 0x44, 0x2c, 0x5d, 0x66, 0x23,
0x5a, 0x74, 0x34, 0x8d, 0x86, 0x21, 0xdb, 0xf7, 0x51, 0xad, 0x34, 0xd5, 0xc2, 0x90, 0xc5, 0x63,
0x36, 0x38, 0x4e, 0xe2, 0x20, 0xe2, 0x64, 0x31, 0xce, 0xe7, 0x18, 0x61, 0x71, 0x46, 0x8b, 0x91,
0x5e, 0x92, 0x80, 0xb0, 0x18, 0x07, 0xf1, 0x54, 0x5a, 0x5c, 0xf7, 0x14, 0xa4, 0xf0, 0x2c, 0x4d,
0xbb, 0x35, 0x83, 0x47, 0x48, 0xe0, 0x43, 0xff, 0x88, 0x85, 0x59, 0x77, 0xf5, 0x7e, 0x45, 0xe0,
0x25, 0xe4, 0xdc, 0x87, 0x46, 0x14, 0xef, 0x07, 0x27, 0x31, 0xf7, 0xe2, 0x98, 0x77, 0xd7, 0xc8,
0x61, 0x36, 0xca, 0xe9, 0xc2, 0x6a, 0x3a, 0x8d, 0x44, 0xdc, 0x74, 0xeb, 0x24, 0x52, 0x83, 0x82,
0x57, 0x0d, 0x9f, 0xa6, 0xa3, 0xac, 0x0b, 0x24, 0xd8, 0x46, 0x39, 0x9f, 0x40, 0x2b, 0x5f, 0xc9,
0x6e, 0x90, 0x76, 0x1b, 0x24, 0xa1, 0x88, 0x74, 0xf7, 0xe0, 0xc6, 0x9c, 0x2f, 0x55, 0x9c, 0x6d,
0x41, 0x7d, 0xa0, 0x91, 0xe4, 0xd3, 0xc6, 0xf6, 0xc6, 0x16, 0x85, 0xf6, 0x56, 0x4e, 0x9c, 0x93,
0xa0, 0xa8, 0xd6, 0x41, 0x30, 0x8a, 0xfc, 0xf0, 0xc3, 0x23, 0x46, 0x78, 0x8c, 0x58, 0x54, 0x7c,
0x2a, 0xc8, 0xdd, 0x80, 0xb6, 0x16, 0xa5, 0x36, 0xfd, 0x4f, 0x15, 0xe8, 0x3c, 0x1d, 0x0e, 0x2f,
0x89, 0x49, 0x0c, 0x6c, 0xce, 0x52, 0x0c, 0x7d, 0x94, 0x58, 0x26, 0x77, 0x1a, 0xd8, 0xb9, 0x07,
0xd5, 0x69, 0x86, 0x2b, 0xa9, 0xd0, 0x4a, 0x1a, 0x6a, 0x25, 0x6f, 0x11, 0xe5, 0xd1, 0x84, 0xe3,
0x40, 0xd5, 0x17, 0xbe, 0xac, 0x92, 0x2f, 0x69, 0x2c, 0x4c, 0x66, 0xd1, 0x09, 0xee, 0xb3, 0x40,
0x89, 0xa1, 0xc0, 0x0c, 0x4e, 0x87, 0x6a, 0x87, 0xc5, 0x50, 0x2f, 0x6b, 0x35, 0x5f, 0x96, 0x09,
0x9b, 0xb5, 0xc5, 0x61, 0x53, 0x5f, 0x12, 0x36, 0x50, 0x08, 0x1b, 0x17, 0x9a, 0x03, 0x3f, 0xf1,
0x8f, 0x82, 0x30, 0xe0, 0x01, 0xcb, 0x70, 0xff, 0x84, 0x11, 0x05, 0x9c, 0xf3, 0x00, 0xd6, 0xfd,
0x24, 0xf1, 0xd3, 0x49, 0x9c, 0xa2, 0x6b, 0xde, 0x07, 0x21, 0xeb, 0x36, 0x49, 0xc8, 0x2c, 0x5a,
0x48, 0xcb, 0x58, 0x18, 0x44, 0xd3, 0xb3, 0x17, 0x22, 0xfa, 0xba, 0x2d, 0x22, 0x2b, 0xe0, 0x84,
0xb4, 0x28, 0x7e, 0xc5, 0x4e, 0xf7, 0xd3, 0xe0, 0x04, 0x79, 0x46, 0xa8, 0xb4, 0x4d, 0x5e, 0x9c,
0x45, 0x3b, 0x5f, 0xc7, 0xc0, 0x0c, 0x83, 0x49, 0xc0, 0xb3, 0xee, 0x3a, 0x9a, 0xd5, 0xd8, 0x6e,
0x29, 0x7f, 0x7a, 0x84, 0xf5, 0xf4, 0xac, 0xbb, 0x0b, 0x35, 0x89, 0x12, 0xee, 0x15, 0x24, 0x6a,
0xb7, 0x68, 0x2c, 0x70, 0x59, 0xfc, 0x9e, 0xd3, 0x5e, 0x55, 0x3d, 0x1a, 0x0b, 0xdc, 0xd8, 0x4f,
0x87, 0xb4, 0x4f, 0x88, 0x13, 0x63, 0xd7, 0x83, 0xaa, 0xd8, 0x28, 0xe1, 0xea, 0xa9, 0xda, 0xf0,
0x96, 0x27, 0x86, 0x02, 0x33, 0x52, 0x31, 0x85, 0x18, 0x1c, 0x3a, 0x5f, 0x83, 0xb6, 0x3f, 0x1c,
0xa2, 0x7b, 0x62, 0xdc, 0xf5, 0x2f, 0x82, 0x61, 0x86, 0x92, 0x2a, 0x38, 0x39, 0x83, 0x75, 0xb7,
0xc1, 0xb1, 0x03, 0x4a, 0x05, 0xfd, 0x6d, 0xa8, 0x67, 0xe7, 0x19, 0x67, 0x93, 0x7d, 0xa3, 0x27,
0x47, 0xb8, 0xbf, 0x2c, 0x99, 0x74, 0x31, 0x59, 0xb4, 0x2c, 0x16, 0xbf, 0x5d, 0xa8, 0x2d, 0x65,
0x8a, 0xba, 0x8e, 0xce, 0x9f, 0x9c, 0xdb, 0x2e, 0x37, 0x73, 0x29, 0x5b, 0x59, 0x94, 0xb2, 0x3d,
0xe8, 0xce, 0xdb, 0xa0, 0xd2, 0x64, 0x00, 0x37, 0x76, 0x59, 0xc8, 0x3e, 0xc4, 0x3e, 0xf4, 0x73,
0xe4, 0x63, 0x61, 0x91, 0xe9, 0x48, 0xe3, 0x0f, 0x37, 0x60, 0x5e, 0x89, 0x32, 0xe0, 0x25, 0x5c,
0x7f, 0x11, 0x64, 0xfc, 0x72, 0xf5, 0x73, 0xaa, 0xca, 0x8b, 0x54, 0xfd, 0xae, 0x04, 0x90, 0xcb,
0x32, 0x36, 0x97, 0x2c, 0x9b, 0x11, 0xc7, 0xce, 0x02, 0xae, 0xf2, 0x9d, 0xc6, 0x22, 0x2a, 0xf8,
0x20, 0x51, 0x47, 0x90, 0x18, 0x8a, 0x7a, 0x39, 0x8d, 0x82, 0xb3, 0x83, 0x78, 0x70, 0xcc, 0x78,
0x46, 0xf5, 0x1c, 0x6b, 0xad, 0x85, 0xa2, 0xa4, 0x1d, 0xb3, 0x30, 0xa4, 0xa2, 0xbe, 0xe6, 0x49,
0x40, 0x54, 0x60, 0x36, 0x49, 0xf8, 0xf9, 0xab, 0x03, 0x4c, 0x79, 0x91, 0x7f, 0x1a, 0xc4, 0x95,
0x6e, 0xce, 0xae, 0x54, 0xc5, 0xd0, 0x63, 0x68, 0xe4, 0xab, 0xc8, 0xd0, 0xd8, 0xca, 0xe2, 0xad,
0xb7, 0xa9, 0xdc, 0xbb, 0xd0, 0x3c, 0xe0, 0xb8, 0xa9, 0x4b, 0xfc, 0xe5, 0x3e, 0x80, 0xb6, 0xa9,
0xba, 0x44, 0x28, 0xeb, 0x86, 0xcf, 0xa7, 0x99, 0xa2, 0x52, 0x90, 0xfb, 0xe7, 0x0a, 0xac, 0xaa,
0xb0, 0xd6, 0xb5, 0xa9, 0x94, 0xd7, 0xa6, 0xff, 0x4a, 0x89, 0x2c, 0x64, 0xd5, 0xea, 0x4c, 0x56,
0xfd, 0xaf, 0x5c, 0xe6, 0xe5, 0xf2, 0xaf, 0x25, 0xa8, 0x9b, 0x6d, 0xfe, 0xe8, 0x76, 0xe6, 0x53,
0xa8, 0x27, 0x72, 0xe3, 0x99, 0xac, 0x7a, 0x8d, 0xed, 0xb6, 0x52, 0xa4, 0xeb, 0x5c, 0x4e, 0x60,
0xc5, 0x4f, 0xd5, 0x8e, 0x1f, 0xab, 0x5d, 0x59, 0x29, 0xb4, 0x2b, 0xb8, 0xf9, 0x89, 0x28, 0xa7,
0x35, 0x2a, 0xa7, 0x34, 0xb6, 0x1b, 0x94, 0xd5, 0x42, 0x83, 0xe2, 0x7e, 0x0e, 0xab, 0x2f, 0xfd,
0xc1, 0x18, 0xd7, 0x21, 0x18, 0x07, 0x89, 0x0a, 0x53, 0x64, 0x14, 0x63, 0xa1, 0x64, 0xc2, 0xd0,
0xdf, 0xe7, 0xaa, 0xf6, 0x2b, 0xc8, 0x3d, 0xc6, 0x26, 0x42, 0xa6, 0x81, 0x4a, 0xa6, 0x47, 0x58,
0x46, 0xb5, 0x43, 0x74, 0x2e, 0xcd, 0xb7, 0x21, 0x16, 0x0d, 0x6e, 0xcb, 0xea, 0x44, 0x6a, 0x56,
0x55, 0x57, 0xfb, 0x40, 0xd9, 0xe3, 0xe9, 0x69, 0xf7, 0xd7, 0x25, 0xd8, 0x94, 0x3d, 0xe6, 0xa5,
0x9d, 0xe4, 0xe2, 0xde, 0x45, 0xba, 0xaf, 0x52, 0x70, 0xdf, 0x63, 0xa8, 0xa7, 0x2c, 0x8b, 0xa7,
0x29, 0xba, 0x99, 0x3c, 0xdb, 0xd8, 0xbe, 0xae, 0x33, 0x89, 0x74, 0x79, 0x6a, 0xd6, 0xcb, 0xe9,
0xdc, 0x7f, 0xd4, 0xa0, 0x5d, 0x9c, 0x15, 0x15, 0xeb, 0x28, 0x3c, 0x0e, 0xe2, 0x77, 0xb2, 0x39,
0x2e, 0x91, 0x9b, 0x6c, 0x94, 0xc8, 0x2a, 0xf4, 0xe5, 0x01, 0x9e, 0x90, 0xa8, 0x49, 0xba, 0x31,
0x47, 0xa8, 0xd9, 0x7d, 0x96, 0x06, 0xb1, 0x3e, 0x4c, 0x73, 0x84, 0x28, 0x03, 0x08, 0xbc, 0x99,
0xc6, 0xdc, 0x27, 0x23, 0xab, 0x9e, 0x81, 0xa9, 0x2b, 0xc6, 0x3d, 0x62, 0x7c, 0x47, 0xec, 0xda,
0x8a, 0xea, 0x8a, 0x0d, 0x26, 0x9f, 0x7f, 0xc9, 0x26, 0x99, 0x4a, 0x73, 0x0b, 0x23, 0x2c, 0x97,
0xbb, 0xf9, 0x42, 0x04, 0x35, 0x05, 0x06, 0x5a, 0x6e, 0xa1, 0x84, 0x04, 0x09, 0x1e, 0x9c, 0xfa,
0x09, 0xa5, 0x7d, 0xd5, 0xb3, 0x30, 0x18, 0xc8, 0x1d, 0x09, 0xa1, 0x37, 0xf0, 0x0e, 0xe4, 0x8b,
0x63, 0x9b, 0xca, 0x40, 0xd5, 0x9b, 0x9f, 0x10, 0xd4, 0xc7, 0x2c, 0x8d, 0x58, 0xf8, 0xd2, 0xd2,
0x0a, 0x92, 0x7a, 0x6e, 0xc2, 0xd9, 0x86, 0x6b, 0x12, 0x79, 0xb8, 0xb3, 0x6f, 0x33, 0x34, 0x88,
0x61, 0xe1, 0x9c, 0xc8, 0x74, 0x72, 0xfc, 0x0b, 0xe6, 0xbf, 0x57, 0xfb, 0xd1, 0x24, 0xf2, 0x59,
0xb4, 0xf3, 0x14, 0x3a, 0xd6, 0x16, 0xed, 0xe2, 0xad, 0x6a, 0xc0, 0xb0, 0x78, 0x88, 0xa8, 0xbd,
0xaa, 0xa2, 0xc0, 0x9e, 0xf2, 0xe6, 0xa9, 0x9d, 0xb7, 0xd0, 0x23, 0xe4, 0xe1, 0x18, 0x6f, 0x89,
0x3c, 0xc4, 0x88, 0xf0, 0x87, 0xcf, 0x92, 0x4c, 0xc9, 0x6a, 0x93, 0x2c, 0x1d, 0x51, 0x9a, 0x46,
0x49, 0xbb, 0x80, 0xd1, 0x79, 0x07, 0xb7, 0x0a, 0xb3, 0xef, 0xd2, 0x80, 0xb3, 0x5c, 0xee, 0xfa,
0x45, 0x72, 0x2f, 0xe2, 0x9c, 0x13, 0x2c, 0xd4, 0xee, 0xc5, 0x46, 0xf0, 0xc6, 0x87, 0x0b, 0x2e,
0x72, 0x3a, 0x3f, 0x85, 0xdb, 0xf3, 0x7a, 0x2d, 0xc9, 0x9d, 0x8b, 0x24, 0x5f, 0xc8, 0xea, 0x7e,
0x1f, 0x5a, 0xcf, 0x42, 0x3c, 0xf8, 0xf7, 0x5e, 0x2b, 0x5d, 0x85, 0x4b, 0x75, 0x65, 0xe1, 0xa5,
0xba, 0xa2, 0x2e, 0xd5, 0xee, 0x2f, 0xa0, 0x59, 0xd8, 0xb0, 0xef, 0x50, 0xa6, 0x6a, 0x51, 0xea,
0xaa, 0x74, 0x4d, 0x99, 0x55, 0x50, 0xe3, 0xd9, 0x84, 0xa2, 0x82, 0x9c, 0xca, 0x60, 0x92, 0xed,
0xab, 0x82, 0x44, 0x76, 0x84, 0x79, 0xa0, 0xc9, 0x9b, 0x91, 0x85, 0x71, 0x7f, 0x06, 0xed, 0xe2,
0x62, 0xff, 0x6d, 0x0b, 0xb0, 0x32, 0xa7, 0x58, 0x73, 0x74, 0xff, 0x2d, 0xc6, 0xe2, 0x55, 0x62,
0xae, 0x26, 0xaa, 0xe6, 0xee, 0x1c, 0x5a, 0xcf, 0x4f, 0x18, 0x76, 0x2b, 0xba, 0x4a, 0x3e, 0x81,
0xba, 0x79, 0xd4, 0x50, 0xc5, 0xb6, 0xb7, 0x25, 0x9f, 0x3d, 0xb6, 0xf4, 0xb3, 0xc7, 0xd6, 0xa1,
0xa6, 0xf0, 0x72, 0x62, 0xb1, 0xc6, 0x8c, 0xc7, 0x29, 0x1b, 0xbe, 0x8e, 0xc2, 0x73, 0xfd, 0x56,
0x90, 0x63, 0x54, 0xfd, 0xad, 0x9a, 0xf6, 0xe7, 0xb7, 0x25, 0x58, 0x21, 0xdd, 0x0b, 0xef, 0x11,
0x92, 0xba, 0x6c, 0xaa, 0x75, 0xb1, 0x36, 0xb7, 0x4c, 0x6d, 0x56, 0x55, 0xbc, 0x9a, 0x57, 0xf1,
0xc2, 0x0a, 0x6a, 0x1f, 0xb1, 0x02, 0xf7, 0x37, 0x65, 0x68, 0xbe, 0x62, 0xfc, 0x34, 0x4e, 0x8f,
0xc5, 0x89, 0x95, 0x2d, 0x6c, 0x4e, 0x6f, 0xc2, 0x5a, 0x7a, 0xd6, 0x3f, 0x3a, 0xe7, 0xa6, 0x42,
0xaf, 0xa6, 0x67, 0xcf, 0x04, 0xe8, 0xdc, 0x01, 0xc0, 0xa9, 0x7d, 0x5f, 0x36, 0xa4, 0xaa, 0x40,
0xa7, 0x67, 0x0a, 0xe1, 0xdc, 0x82, 0xba, 0x77, 0xd6, 0xc7, 0xc6, 0x26, 0x4e, 0x33, 0x5d, 0xa1,
0xd3, 0xb3, 0xe7, 0x04, 0x0b, 0x5e, 0x9c, 0x1c, 0xa6, 0x71, 0x92, 0xb0, 0x21, 0x55, 0x68, 0xe2,
0xdd, 0x95, 0x08, 0xa1, 0xf5, 0x50, 0x6b, 0xad, 0x49, 0xad, 0x3c, 0xd7, 0x8a, 0x53, 0x89, 0xd2,
0x2a, 0x4b, 0x73, 0x9d, 0xdb, 0x5a, 0x0f, 0x8d, 0x56, 0x59, 0x97, 0xd7, 0xb8, 0xa5, 0xf5, 0x30,
0xd7, 0x5a, 0xd7, 0xbc, 0x4a, 0xab, 0xfb, 0xc7, 0x12, 0xac, 0xe1, 0xf9, 0xf0, 0x36, 0xf3, 0x47,
0x0c, 0x5b, 0xc9, 0x06, 0xc7, 0xb3, 0x24, 0xec, 0x4f, 0x05, 0xa8, 0x4e, 0x2f, 0x20, 0x94, 0x24,
0xf8, 0x3f, 0x68, 0x26, 0x2c, 0xc5, 0x53, 0x43, 0x51, 0x94, 0x31, 0x99, 0xf1, 0x94, 0x90, 0x38,
0x49, 0xb2, 0x05, 0x57, 0x69, 0xae, 0x1f, 0x44, 0x7d, 0x59, 0x96, 0x27, 0xf1, 0x90, 0x29, 0x57,
0x75, 0x68, 0x6a, 0x2f, 0xfa, 0xd2, 0x4c, 0x38, 0xdf, 0x84, 0x8e, 0xa1, 0x17, 0xed, 0x2a, 0x51,
0x4b, 0xd7, 0xad, 0x2b, 0xea, 0xb7, 0x0a, 0x8d, 0x39, 0xac, 0x73, 0x28, 0x88, 0x46, 0xbb, 0x3e,
0x9e, 0x7a, 0xd8, 0xca, 0x24, 0x74, 0x36, 0x66, 0xca, 0x5a, 0x0d, 0x3a, 0xdf, 0x82, 0x0e, 0x57,
0xf9, 0x36, 0xec, 0x6b, 0x1a, 0xb9, 0x9b, 0x1b, 0x66, 0x62, 0x5f, 0x11, 0xff, 0x3f, 0xb4, 0x73,
0x62, 0x6a, 0x8c, 0xa4, 0xbd, 0x2d, 0x83, 0x15, 0xd1, 0xe4, 0xfe, 0x5e, 0x3a, 0x4b, 0x46, 0xce,
0xa7, 0x74, 0x54, 0x5b, 0xae, 0x6a, 0x6c, 0xaf, 0xeb, 0x16, 0x47, 0x39, 0x83, 0x8e, 0x67, 0xe9,
0x96, 0x1f, 0xc0, 0x3a, 0x37, 0xa6, 0xf7, 0x31, 0x53, 0x7d, 0x95, 0x7a, 0x33, 0x95, 0x50, 0x2d,
0xcc, 0x6b, 0xf3, 0xe2, 0x42, 0xd1, 0xf3, 0xb2, 0xf7, 0x56, 0x0a, 0xa5, 0x7d, 0x0d, 0x89, 0x23,
0x15, 0x58, 0x1e, 0xeb, 0xd8, 0x98, 0x67, 0xd2, 0x3a, 0x74, 0xcc, 0x60, 0x9a, 0xa6, 0x98, 0x7b,
0xda, 0x31, 0x0a, 0x14, 0xe5, 0x91, 0xfa, 0x56, 0xe5, 0x0c, 0x09, 0xb8, 0x31, 0x80, 0x3c, 0x3b,
0x49, 0x1b, 0xd2, 0xd8, 0x21, 0x20, 0x01, 0x11, 0x67, 0x13, 0xff, 0xcc, 0x6c, 0x3d, 0xc5, 0x19,
0x22, 0xe4, 0x02, 0x51, 0xe1, 0x7b, 0x3f, 0x08, 0x07, 0xea, 0x49, 0x0e, 0x15, 0x2a, 0x30, 0x57,
0x58, 0xb5, 0x15, 0xfe, 0xa1, 0x0c, 0x0d, 0xa9, 0x51, 0x1a, 0x8c, 0x54, 0x03, 0xec, 0xf0, 0x8c,
0x4a, 0x02, 0xb0, 0x07, 0x5f, 0xc9, 0xd5, 0xe5, 0xf7, 0xb1, 0xdc, 0x54, 0x6d, 0x1b, 0x76, 0x9c,
0x19, 0x36, 0x21, 0x96, 0x77, 0x16, 0x52, 0xd7, 0x05, 0x91, 0x34, 0xf8, 0x33, 0x68, 0xca, 0xf8,
0x54, 0x3c, 0xd5, 0x65, 0x3c, 0x0d, 0x49, 0x26, 0xb9, 0x1e, 0x8b, 0x6b, 0x0f, 0xda, 0x4b, 0x6d,
0x76, 0x63, 0xfb, 0x4e, 0x81, 0x9c, 0x56, 0xb2, 0x45, 0xdf, 0xe7, 0x11, 0xc7, 0x7e, 0x47, 0xd2,
0xf6, 0x9e, 0x00, 0xe4, 0x48, 0x51, 0xcf, 0x8e, 0xd9, 0xb9, 0xbe, 0xde, 0xe1, 0x50, 0xac, 0xfd,
0xc4, 0x0f, 0xa7, 0xda, 0xa9, 0x12, 0xf8, 0x5e, 0xf9, 0x49, 0xc9, 0x1d, 0xc0, 0xfa, 0x33, 0x71,
0x24, 0x5a, 0xec, 0x85, 0x43, 0xaf, 0xba, 0xf0, 0xd0, 0xab, 0xea, 0x97, 0x64, 0x2c, 0xb1, 0x71,
0xa2, 0x5a, 0x5d, 0x1c, 0xe5, 0x8a, 0xaa, 0x96, 0x22, 0xf7, 0xef, 0x55, 0x80, 0x5c, 0x8b, 0x73,
0x00, 0xbd, 0x20, 0xee, 0x8b, 0x4e, 0x0d, 0x4f, 0x1b, 0x59, 0x90, 0xfa, 0x29, 0xc3, 0xf0, 0xc9,
0x82, 0x13, 0xa6, 0x9a, 0xf9, 0x4d, 0x73, 0x4c, 0x15, 0x8c, 0xf3, 0x6e, 0x20, 0x24, 0x19, 0xa9,
0x72, 0x79, 0x9a, 0xcd, 0xf9, 0x31, 0x5c, 0xcf, 0x85, 0x0e, 0x2d, 0x79, 0xe5, 0x0b, 0xe5, 0x5d,
0x35, 0xf2, 0x86, 0xb9, 0xac, 0x1f, 0x02, 0xa2, 0xfb, 0x78, 0x98, 0x4d, 0x0b, 0x92, 0x2a, 0x17,
0x4a, 0xea, 0x04, 0xf1, 0x1b, 0xe2, 0xc8, 0xe5, 0xbc, 0x81, 0x9b, 0xd6, 0x42, 0x45, 0xda, 0x5b,
0xd2, 0xaa, 0x17, 0x4a, 0xdb, 0x34, 0x76, 0x89, 0xc2, 0x90, 0x8b, 0xfc, 0x12, 0x70, 0xa6, 0x7f,
0xea, 0x07, 0x7c, 0x56, 0xde, 0xca, 0x65, 0xeb, 0x7c, 0x87, 0x4c, 0x45, 0x61, 0x72, 0x9d, 0x13,
0x96, 0x8e, 0x0a, 0xeb, 0xac, 0x5d, 0xb6, 0xce, 0x97, 0xc4, 0x91, 0xcb, 0x79, 0x06, 0x88, 0x9c,
0xb5, 0x67, 0xf5, 0x42, 0x29, 0xeb, 0xd8, 0x85, 0x15, 0x6c, 0xd9, 0x81, 0x4e, 0xc6, 0x06, 0x78,
0xd4, 0xdb, 0xb1, 0xb0, 0x76, 0xa1, 0x8c, 0x0d, 0xc5, 0x60, 0x84, 0xb8, 0x5f, 0x41, 0xf3, 0x47,
0xd3, 0x11, 0xe3, 0xe1, 0x91, 0xc9, 0xf9, 0xff, 0x74, 0x99, 0xf9, 0x27, 0x96, 0x99, 0x9d, 0x51,
0x1a, 0x4f, 0x93, 0x42, 0xd5, 0x96, 0x39, 0x3c, 0x57, 0xb5, 0x89, 0x86, 0xaa, 0xb6, 0xa4, 0xfe,
0x1c, 0x9a, 0xf2, 0xe6, 0xa2, 0x18, 0x64, 0x15, 0x72, 0xe6, 0x93, 0x5e, 0xdf, 0x94, 0x24, 0xdb,
0xb6, 0xba, 0x05, 0x2a, 0xae, 0x62, 0x35, 0xca, 0xdd, 0xe4, 0xc1, 0x51, 0x9e, 0x75, 0x7b, 0xd0,
0x1a, 0x4b, 0xdf, 0x28, 0x2e, 0x19, 0x80, 0x9f, 0x68, 0xe3, 0xf2, 0x35, 0x6c, 0xd9, 0x3e, 0x94,
0xae, 0x6e, 0x8e, 0x6d, 0xb7, 0x3e, 0x04, 0x10, 0xf7, 0xfc, 0xbe, 0x2e, 0x54, 0xf6, 0x4f, 0x00,
0x73, 0x42, 0x78, 0xf5, 0x44, 0x0f, 0x7b, 0x87, 0xd0, 0x99, 0x93, 0xb9, 0xa0, 0x4c, 0x7d, 0xc3,
0x2e, 0x53, 0xf9, 0xd5, 0xc8, 0x66, 0xb5, 0x6b, 0xd7, 0x5f, 0x4a, 0xf2, 0x59, 0x20, 0x7f, 0xa7,
0x7d, 0x02, 0xad, 0x48, 0x36, 0x5f, 0x66, 0x03, 0xec, 0x3b, 0x96, 0xdd, 0x98, 0x79, 0xcd, 0xc8,
0x6e, 0xd3, 0x70, 0x23, 0x06, 0xe4, 0x81, 0x85, 0x1b, 0x61, 0x39, 0xc7, 0x6b, 0x0c, 0xac, 0xdd,
0x2e, 0x34, 0x8a, 0xd5, 0x8f, 0x69, 0x14, 0xd5, 0xcb, 0xde, 0xb2, 0x9f, 0x16, 0xdb, 0x78, 0xf7,
0xaf, 0x3c, 0xdd, 0xdf, 0xc3, 0x7b, 0xdf, 0xc6, 0xec, 0x3f, 0x3f, 0xe7, 0xae, 0x32, 0x6b, 0xc9,
0x7f, 0xc2, 0xde, 0xbd, 0xa5, 0xf3, 0xaa, 0x65, 0xbf, 0xe2, 0x78, 0xb0, 0x3e, 0xf3, 0x87, 0xc7,
0xd1, 0x47, 0xcd, 0xe2, 0xbf, 0x68, 0xbd, 0xbb, 0xcb, 0xa6, 0x6d, 0x99, 0x33, 0x77, 0x04, 0x23,
0x73, 0xf1, 0x7b, 0x8a, 0x91, 0xb9, 0xec, 0x6a, 0x71, 0xc5, 0xf9, 0x2e, 0xd4, 0xe4, 0x3f, 0x1f,
0x47, 0x5f, 0x5c, 0x0a, 0x7f, 0x93, 0x7a, 0xd7, 0x67, 0xb0, 0x86, 0xf1, 0x05, 0xb4, 0x0a, 0x3f,
0x0a, 0x9d, 0x5b, 0x05, 0x5d, 0xc5, 0x5f, 0x46, 0xbd, 0xdb, 0x8b, 0x27, 0x8d, 0xb4, 0x1d, 0x80,
0xfc, 0xb7, 0x80, 0xd3, 0x55, 0xd4, 0x73, 0xbf, 0x9e, 0x7a, 0x37, 0x17, 0xcc, 0x18, 0x21, 0xb8,
0x95, 0xb3, 0x4f, 0xf4, 0xce, 0x8c, 0x57, 0x67, 0x1f, 0xc8, 0xcd, 0x56, 0x2e, 0x7d, 0xdb, 0x27,
0xb1, 0xb3, 0x0f, 0xef, 0x46, 0xec, 0x92, 0x67, 0x7f, 0x23, 0x76, 0xe9, 0x8b, 0xfd, 0x15, 0xe7,
0x35, 0xb4, 0x8b, 0x2f, 0xd9, 0x8e, 0x76, 0xd2, 0xc2, 0xa7, 0xfc, 0xde, 0x9d, 0x25, 0xb3, 0x46,
0xe0, 0x67, 0xb0, 0x22, 0x9f, 0xa8, 0x75, 0x3a, 0xda, 0x2f, 0xdb, 0xbd, 0x6b, 0x45, 0xa4, 0xe1,
0x7a, 0x04, 0x35, 0x79, 0xbb, 0x34, 0x01, 0x50, 0xb8, 0x6c, 0xf6, 0x9a, 0x36, 0xd6, 0xbd, 0xf2,
0xa8, 0xa4, 0xf5, 0x64, 0x05, 0x3d, 0xd9, 0x22, 0x3d, 0xd6, 0xe6, 0x1c, 0xd5, 0x28, 0x5d, 0x1f,
0xff, 0x2b, 0x00, 0x00, 0xff, 0xff, 0x11, 0x58, 0x45, 0xd9, 0xb2, 0x1f, 0x00, 0x00,
}

Просмотреть файл

@ -73,7 +73,7 @@ message AddProcessRequest {
User user = 3; // User under which process will be run
repeated string args = 4; // Arguments for process, first is binary path itself
repeated string env = 5; // List of environment variables for process
string cwd = 6; // Workind directory of process
string cwd = 6; // Working directory of process
string pid = 7; // Process ID
string stdin = 8; // path to the file where stdin will be read (optional)
string stdout = 9; // path to file where stdout will be written (optional)
@ -98,6 +98,7 @@ message User {
}
message AddProcessResponse {
uint32 systemPid = 1;
}
message CreateCheckpointRequest {
@ -150,7 +151,7 @@ message Process {
User user = 3; // User under which process will be run
repeated string args = 4; // Arguments for process, first is binary path itself
repeated string env = 5; // List of environment variables for process
string cwd = 6; // Workind directory of process
string cwd = 6; // Working directory of process
uint32 systemPid = 7;
string stdin = 8; // path to the file where stdin will be read (optional)
string stdout = 9; // path to file where stdout will be written (optional)