From 052133a4f5e223f539b3166fbdf130b99261d503 Mon Sep 17 00:00:00 2001 From: selansen Date: Mon, 26 Nov 2018 15:58:44 -0500 Subject: [PATCH 1/2] Vendor commit for Data Path Port configuration support This commit brings Swarmkit and docker chnages Signed-off-by: selansen --- vendor.conf | 4 +- .../docker/docker/api/types/swarm/swarm.go | 2 + vendor/github.com/docker/docker/vendor.conf | 24 +- .../genericresource/resource_management.go | 1 + .../swarmkit/api/genericresource/validate.go | 1 + .../docker/swarmkit/api/objects.pb.go | 355 ++++++--- .../docker/swarmkit/api/objects.proto | 31 + .../docker/swarmkit/api/types.pb.go | 717 ++++++++++-------- .../docker/swarmkit/api/types.proto | 5 + .../manager/raftselector/raftselector.go | 3 +- vendor/github.com/docker/swarmkit/vendor.conf | 2 +- 11 files changed, 708 insertions(+), 437 deletions(-) diff --git a/vendor.conf b/vendor.conf index c892276043..31ee503aa1 100755 --- a/vendor.conf +++ b/vendor.conf @@ -12,7 +12,7 @@ github.com/cpuguy83/go-md2man v1.0.8 github.com/davecgh/go-spew 346938d642f2ec3594ed81d874461961cd0faa76 # v1.1.0 github.com/dgrijalva/jwt-go a2c85815a77d0f951e33ba4db5ae93629a1530af github.com/docker/distribution 83389a148052d74ac602f5f1d62f86ff2f3c4aa5 -github.com/docker/docker bd224b5fe564f343e22fa76ae8569ec949f35802 +github.com/docker/docker 0b7cb16dde4a20d024c7be59801d63bcfd18611b github.com/docker/docker-credential-helpers 5241b46610f2491efdf9d1c85f1ddf5b02f6d962 # the docker/go package contains a customized version of canonical/json # and is used by Notary. The package is periodically rebased on current Go versions. @@ -23,7 +23,7 @@ github.com/docker/go-metrics d466d4f6fd960e01820085bd7e1a24426ee7ef18 github.com/docker/go-units 47565b4f722fb6ceae66b95f853feed578a4a51c # v0.3.3 github.com/docker/libtrust 9cbd2a1374f46905c68a4eb3694a130610adc62a github.com/docker/licensing f2eae57157a06681b024f1690923d03e414179a0 -github.com/docker/swarmkit 9f271c2963d18a7c60d2c4001fb418ca4037df19 +github.com/docker/swarmkit 8af8c420f491f006ab1730e08d446a795b1667d7 github.com/flynn-archive/go-shlex 3f9db97f856818214da2e1057f8ad84803971cff github.com/ghodss/yaml 0ca9ea5df5451ffdf184b4428c902747c2c11cd7 # v1.0.0 github.com/gogo/googleapis 08a7655d27152912db7aaf4f983275eaf8d128ef diff --git a/vendor/github.com/docker/docker/api/types/swarm/swarm.go b/vendor/github.com/docker/docker/api/types/swarm/swarm.go index b742cf1bfb..484cd0be7f 100644 --- a/vendor/github.com/docker/docker/api/types/swarm/swarm.go +++ b/vendor/github.com/docker/docker/api/types/swarm/swarm.go @@ -14,6 +14,7 @@ type ClusterInfo struct { RootRotationInProgress bool DefaultAddrPool []string SubnetSize uint32 + DataPathPort uint32 } // Swarm represents a swarm. @@ -153,6 +154,7 @@ type InitRequest struct { ListenAddr string AdvertiseAddr string DataPathAddr string + DataPathPort uint32 ForceNewCluster bool Spec Spec AutoLockManagers bool diff --git a/vendor/github.com/docker/docker/vendor.conf b/vendor/github.com/docker/docker/vendor.conf index af95701aaa..1ff7876c04 100644 --- a/vendor/github.com/docker/docker/vendor.conf +++ b/vendor/github.com/docker/docker/vendor.conf @@ -14,7 +14,7 @@ github.com/sirupsen/logrus v1.0.6 github.com/tchap/go-patricia v2.2.6 github.com/vdemeester/shakers 24d7f1d6a71aa5d9cbe7390e4afb66b7eef9e1b3 golang.org/x/net a680a1efc54dd51c040b3b5ce4939ea3cf2ea0d1 -golang.org/x/sys ac767d655b305d4e9612f5f6e33120b9176c4ad4 +golang.org/x/sys 90868a75fefd03942536221d7c0e2f84ec62a668 github.com/docker/go-units 47565b4f722fb6ceae66b95f853feed578a4a51c # v0.3.3 github.com/docker/go-connections 7395e3f8aa162843a74ed6d48e79627d9792ac55 # v0.4.0 golang.org/x/text f21a4dfb5e38f5895301dc265a8def02365cc3d0 # v0.3.0 @@ -26,8 +26,8 @@ github.com/imdario/mergo v0.3.6 golang.org/x/sync 1d60e4601c6fd243af51cc01ddf169918a5407ca # buildkit -github.com/moby/buildkit c7bb575343df0cbfeab8b5b28149630b8153fcc6 -github.com/tonistiigi/fsutil f567071bed2416e4d87d260d3162722651182317 +github.com/moby/buildkit 8cf9bec86a7f11fe6591804aee152c8e8a7a8a0d # v0.3.3 +github.com/tonistiigi/fsutil 2862f6bc5ac9b97124e552a5c108230b38a1b0ca github.com/grpc-ecosystem/grpc-opentracing 8e809c8a86450a29b90dcc9efbf062d0fe6d9746 github.com/opentracing/opentracing-go 1361b9cd60be79c4c3a7fa9841b3c132e40066a7 github.com/google/shlex 6f45313302b9c56850fc17f99e40caebce98c716 @@ -37,7 +37,7 @@ github.com/mitchellh/hashstructure 2bca23e0e452137f789efbc8610126fd8b94f73b #get libnetwork packages # When updating, also update LIBNETWORK_COMMIT in hack/dockerfile/install/proxy.installer accordingly -github.com/docker/libnetwork 49627167f0585504fd78ed8827529aec57a9618d +github.com/docker/libnetwork 1f28166bb386cf9223d2d00a28382b0e474be314 github.com/docker/go-events 9461782956ad83b30282bf90e31fa6a70c255ba9 github.com/armon/go-radix e39d623f12e8e41c7b5529e9a9dd67a1e2261f80 github.com/armon/go-metrics eb0af217e5e9747e41dd5303755356b62d28e3ec @@ -51,8 +51,8 @@ github.com/docker/libkv 458977154600b9f23984d9f4b82e79570b5ae12b github.com/vishvananda/netns 604eaf189ee867d8c147fafc28def2394e878d25 github.com/vishvananda/netlink b2de5d10e38ecce8607e6b438b6d174f389a004e -# When updating, consider updating TOMLV_COMMIT in hack/dockerfile/install/tomlv accordingly -github.com/BurntSushi/toml a368813c5e648fee92e5f6c30e3944ff9d5e8895 +# When updating, consider updating TOMLV_COMMIT in hack/dockerfile/install/tomlv.installer accordingly +github.com/BurntSushi/toml 3012a1dbe2e4bd1391d42b32f0577cb7bbc7f005 # v0.3.1 github.com/samuel/go-zookeeper d0e0d8e11f318e000a8cc434616d69e329edc374 github.com/deckarep/golang-set ef32fa3046d9f249d399f98ebaf9be944430fd1d github.com/coreos/etcd v3.3.9 @@ -74,8 +74,12 @@ github.com/pborman/uuid v1.0 google.golang.org/grpc v1.12.0 -# This does not need to match RUNC_COMMIT as it is used for helper packages but should be newer or equal -github.com/opencontainers/runc 58592df56734acf62e574865fe40b9e53e967910 +# The version of runc should match the version that is used by the containerd +# version that is used. If you need to update runc, open a pull request in +# the containerd project first, and update both after that is merged. +# This commit does not need to match RUNC_COMMIT as it is used for helper +# packages but should be newer or equal. +github.com/opencontainers/runc 10d38b660a77168360df3522881e2dc2be5056bd github.com/opencontainers/runtime-spec 5684b8af48c1ac3b1451fa499724e30e3c20a294 # v1.0.1-49-g5684b8a github.com/opencontainers/image-spec v1.0.1 github.com/seccomp/libseccomp-golang 32f571b70023028bd57d9288c20efbcb237f3ce0 @@ -114,7 +118,7 @@ github.com/googleapis/gax-go v2.0.0 google.golang.org/genproto 694d95ba50e67b2e363f3483057db5d4910c18f9 # containerd -github.com/containerd/containerd c4446665cb9c30056f4998ed953e6d4ff22c7c39 # v1.2.0 +github.com/containerd/containerd de1f167ab96338a9f5c2b17347abf84bdf1dd411 # v1.2.1-rc.0 github.com/containerd/fifo 3d5202aec260678c48179c56f40e6f38a095738c github.com/containerd/continuity bd77b46c8352f74eb12c85bdc01f4b90f69d66b4 github.com/containerd/cgroups 5e610833b72089b37d0e615de9a92dfc043757c2 @@ -126,7 +130,7 @@ github.com/containerd/ttrpc 2a805f71863501300ae1976d29f0454ae003e85a github.com/gogo/googleapis 08a7655d27152912db7aaf4f983275eaf8d128ef # cluster -github.com/docker/swarmkit a84c01f49091167dd086c26b45dc18b38d52e4d9 +github.com/docker/swarmkit 8af8c420f491f006ab1730e08d446a795b1667d7 github.com/gogo/protobuf v1.0.0 github.com/cloudflare/cfssl 1.3.2 github.com/fernet/fernet-go 1b2437bc582b3cfbb341ee5a29f8ef5b42912ff2 diff --git a/vendor/github.com/docker/swarmkit/api/genericresource/resource_management.go b/vendor/github.com/docker/swarmkit/api/genericresource/resource_management.go index a89a118d62..506257ab97 100644 --- a/vendor/github.com/docker/swarmkit/api/genericresource/resource_management.go +++ b/vendor/github.com/docker/swarmkit/api/genericresource/resource_management.go @@ -2,6 +2,7 @@ package genericresource import ( "fmt" + "github.com/docker/swarmkit/api" ) diff --git a/vendor/github.com/docker/swarmkit/api/genericresource/validate.go b/vendor/github.com/docker/swarmkit/api/genericresource/validate.go index eee3706c74..0ad49ff75f 100644 --- a/vendor/github.com/docker/swarmkit/api/genericresource/validate.go +++ b/vendor/github.com/docker/swarmkit/api/genericresource/validate.go @@ -2,6 +2,7 @@ package genericresource import ( "fmt" + "github.com/docker/swarmkit/api" ) diff --git a/vendor/github.com/docker/swarmkit/api/objects.pb.go b/vendor/github.com/docker/swarmkit/api/objects.pb.go index 4200eda49b..50b639544e 100644 --- a/vendor/github.com/docker/swarmkit/api/objects.pb.go +++ b/vendor/github.com/docker/swarmkit/api/objects.pb.go @@ -75,6 +75,9 @@ type Node struct { // endpoint on the node to be used for load balancing. Each overlay // network, including ingress network, will have an NetworkAttachment. Attachments []*NetworkAttachment `protobuf:"bytes,10,rep,name=attachments" json:"attachments,omitempty"` + // VXLANUDPPort specifies the UDP port for VXLAN traffic. + // This information is passed from cluster object to individual nodes. + VXLANUDPPort uint32 `protobuf:"varint,11,opt,name=VXLANUDPPort,proto3" json:"VXLANUDPPort,omitempty"` } func (m *Node) Reset() { *m = Node{} } @@ -102,6 +105,15 @@ type Service struct { // UpdateStatus contains the status of an update, if one is in // progress. UpdateStatus *UpdateStatus `protobuf:"bytes,5,opt,name=update_status,json=updateStatus" json:"update_status,omitempty"` + // PendingDelete indicates that this service's deletion has been requested. + // Services, as well as all service-level resources, can only be deleted + // after all of the service's containers have properly shut down. + // When a user requests a deletion, we just flip this flag + // the deallocator will take it from there - it will start monitoring + // this service's tasks, and proceed to delete the service itself (and + // potentially its associated resources also marked for deletion) when + // all of its tasks are gone + PendingDelete bool `protobuf:"varint,7,opt,name=pending_delete,json=pendingDelete,proto3" json:"pending_delete,omitempty"` } func (m *Service) Reset() { *m = Service{} } @@ -239,6 +251,19 @@ type Network struct { // Runtime state of IPAM options. This may not reflect the // ipam options from NetworkSpec. IPAM *IPAMOptions `protobuf:"bytes,5,opt,name=ipam" json:"ipam,omitempty"` + // PendingDelete indicates that this network's deletion has been requested. + // Services, as well as all service-level resources, can only be deleted + // after all the service's containers have properly shut down + // when a user requests a deletion, we just flip this flag + // the deallocator will take it from there + // PendingDelete indicates that this network's deletion has been requested. + // Services, as well as all service-level resources, can only be deleted + // after all of the service's containers have properly shut down. + // When a user requests a deletion of this network, we just flip this flag + // the deallocator will take it from there - it will start monitoring + // the services that still use this service, and proceed to delete + // this network when all of these services are gone + PendingDelete bool `protobuf:"varint,6,opt,name=pending_delete,json=pendingDelete,proto3" json:"pending_delete,omitempty"` } func (m *Network) Reset() { *m = Network{} } @@ -281,6 +306,8 @@ type Cluster struct { // This flag specifies the default subnet size of global scope networks by giving // the length of the subnet masks for every such network SubnetSize uint32 `protobuf:"varint,12,opt,name=subnetSize,proto3" json:"subnetSize,omitempty"` + // VXLANUDPPort specifies the UDP port for VXLAN traffic. + VXLANUDPPort uint32 `protobuf:"varint,13,opt,name=VXLANUDPPort,proto3" json:"VXLANUDPPort,omitempty"` } func (m *Cluster) Reset() { *m = Cluster{} } @@ -890,6 +917,11 @@ func (m *Node) MarshalTo(dAtA []byte) (int, error) { i += n } } + if m.VXLANUDPPort != 0 { + dAtA[i] = 0x58 + i++ + i = encodeVarintObjects(dAtA, i, uint64(m.VXLANUDPPort)) + } return i, nil } @@ -960,6 +992,16 @@ func (m *Service) MarshalTo(dAtA []byte) (int, error) { } i += n15 } + if m.PendingDelete { + dAtA[i] = 0x38 + i++ + if m.PendingDelete { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i++ + } if m.SpecVersion != nil { dAtA[i] = 0x52 i++ @@ -1337,6 +1379,16 @@ func (m *Network) MarshalTo(dAtA []byte) (int, error) { } i += n31 } + if m.PendingDelete { + dAtA[i] = 0x30 + i++ + if m.PendingDelete { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i++ + } return i, nil } @@ -1472,6 +1524,11 @@ func (m *Cluster) MarshalTo(dAtA []byte) (int, error) { i++ i = encodeVarintObjects(dAtA, i, uint64(m.SubnetSize)) } + if m.VXLANUDPPort != 0 { + dAtA[i] = 0x68 + i++ + i = encodeVarintObjects(dAtA, i, uint64(m.VXLANUDPPort)) + } return i, nil } @@ -1729,6 +1786,9 @@ func (m *Node) Size() (n int) { n += 1 + l + sovObjects(uint64(l)) } } + if m.VXLANUDPPort != 0 { + n += 1 + sovObjects(uint64(m.VXLANUDPPort)) + } return n } @@ -1755,6 +1815,9 @@ func (m *Service) Size() (n int) { l = m.PreviousSpec.Size() n += 1 + l + sovObjects(uint64(l)) } + if m.PendingDelete { + n += 2 + } if m.SpecVersion != nil { l = m.SpecVersion.Size() n += 1 + l + sovObjects(uint64(l)) @@ -1909,6 +1972,9 @@ func (m *Network) Size() (n int) { l = m.IPAM.Size() n += 1 + l + sovObjects(uint64(l)) } + if m.PendingDelete { + n += 2 + } return n } @@ -1965,6 +2031,9 @@ func (m *Cluster) Size() (n int) { if m.SubnetSize != 0 { n += 1 + sovObjects(uint64(m.SubnetSize)) } + if m.VXLANUDPPort != 0 { + n += 1 + sovObjects(uint64(m.VXLANUDPPort)) + } return n } @@ -4716,6 +4785,7 @@ func (this *Node) String() string { `Certificate:` + strings.Replace(strings.Replace(this.Certificate.String(), "Certificate", "Certificate", 1), `&`, ``, 1) + `,`, `Role:` + fmt.Sprintf("%v", this.Role) + `,`, `Attachments:` + strings.Replace(fmt.Sprintf("%v", this.Attachments), "NetworkAttachment", "NetworkAttachment", 1) + `,`, + `VXLANUDPPort:` + fmt.Sprintf("%v", this.VXLANUDPPort) + `,`, `}`, }, "") return s @@ -4731,6 +4801,7 @@ func (this *Service) String() string { `Endpoint:` + strings.Replace(fmt.Sprintf("%v", this.Endpoint), "Endpoint", "Endpoint", 1) + `,`, `UpdateStatus:` + strings.Replace(fmt.Sprintf("%v", this.UpdateStatus), "UpdateStatus", "UpdateStatus", 1) + `,`, `PreviousSpec:` + strings.Replace(fmt.Sprintf("%v", this.PreviousSpec), "ServiceSpec", "ServiceSpec", 1) + `,`, + `PendingDelete:` + fmt.Sprintf("%v", this.PendingDelete) + `,`, `SpecVersion:` + strings.Replace(fmt.Sprintf("%v", this.SpecVersion), "Version", "Version", 1) + `,`, `PreviousSpecVersion:` + strings.Replace(fmt.Sprintf("%v", this.PreviousSpecVersion), "Version", "Version", 1) + `,`, `}`, @@ -4817,6 +4888,7 @@ func (this *Network) String() string { `Spec:` + strings.Replace(strings.Replace(this.Spec.String(), "NetworkSpec", "NetworkSpec", 1), `&`, ``, 1) + `,`, `DriverState:` + strings.Replace(fmt.Sprintf("%v", this.DriverState), "Driver", "Driver", 1) + `,`, `IPAM:` + strings.Replace(fmt.Sprintf("%v", this.IPAM), "IPAMOptions", "IPAMOptions", 1) + `,`, + `PendingDelete:` + fmt.Sprintf("%v", this.PendingDelete) + `,`, `}`, }, "") return s @@ -4847,6 +4919,7 @@ func (this *Cluster) String() string { `FIPS:` + fmt.Sprintf("%v", this.FIPS) + `,`, `DefaultAddressPool:` + fmt.Sprintf("%v", this.DefaultAddressPool) + `,`, `SubnetSize:` + fmt.Sprintf("%v", this.SubnetSize) + `,`, + `VXLANUDPPort:` + fmt.Sprintf("%v", this.VXLANUDPPort) + `,`, `}`, }, "") return s @@ -5384,6 +5457,25 @@ func (m *Node) Unmarshal(dAtA []byte) error { return err } iNdEx = postIndex + case 11: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field VXLANUDPPort", wireType) + } + m.VXLANUDPPort = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowObjects + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.VXLANUDPPort |= (uint32(b) & 0x7F) << shift + if b < 0x80 { + break + } + } default: iNdEx = preIndex skippy, err := skipObjects(dAtA[iNdEx:]) @@ -5622,6 +5714,26 @@ func (m *Service) Unmarshal(dAtA []byte) error { return err } iNdEx = postIndex + case 7: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field PendingDelete", wireType) + } + var v int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowObjects + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + m.PendingDelete = bool(v != 0) case 10: if wireType != 2 { return fmt.Errorf("proto: wrong wireType = %d for field SpecVersion", wireType) @@ -6891,6 +7003,26 @@ func (m *Network) Unmarshal(dAtA []byte) error { return err } iNdEx = postIndex + case 6: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field PendingDelete", wireType) + } + var v int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowObjects + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + m.PendingDelete = bool(v != 0) default: iNdEx = preIndex skippy, err := skipObjects(dAtA[iNdEx:]) @@ -7332,6 +7464,25 @@ func (m *Cluster) Unmarshal(dAtA []byte) error { break } } + case 13: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field VXLANUDPPort", wireType) + } + m.VXLANUDPPort = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowObjects + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.VXLANUDPPort |= (uint32(b) & 0x7F) << shift + if b < 0x80 { + break + } + } default: iNdEx = preIndex skippy, err := skipObjects(dAtA[iNdEx:]) @@ -8128,104 +8279,108 @@ var ( func init() { proto.RegisterFile("github.com/docker/swarmkit/api/objects.proto", fileDescriptorObjects) } var fileDescriptorObjects = []byte{ - // 1581 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xcc, 0x58, 0x4b, 0x73, 0x1b, 0x4b, - 0x15, 0xce, 0x48, 0x63, 0x3d, 0x8e, 0x6c, 0x61, 0xfa, 0x1a, 0x33, 0x11, 0x46, 0x32, 0xba, 0x05, - 0x75, 0xeb, 0x56, 0x4a, 0xbe, 0x98, 0x0b, 0x38, 0x86, 0xcb, 0x8d, 0x64, 0x9b, 0x44, 0x15, 0x42, - 0x5c, 0xed, 0x90, 0xb0, 0x1b, 0x5a, 0x33, 0x6d, 0x65, 0xd0, 0x68, 0x7a, 0x6a, 0xba, 0xa5, 0x20, - 0x56, 0x59, 0x9b, 0x1f, 0xe0, 0x1d, 0x8b, 0xfc, 0x0b, 0x36, 0x2c, 0x58, 0x65, 0xc9, 0x8a, 0x62, - 0xe5, 0x22, 0xfa, 0x17, 0x54, 0xb1, 0xa0, 0xba, 0xa7, 0x47, 0x1a, 0x5b, 0xe3, 0x17, 0x95, 0x72, - 0xb1, 0x72, 0x3f, 0xbe, 0xef, 0xf4, 0x39, 0x67, 0xce, 0xcb, 0x82, 0x07, 0x7d, 0x4f, 0xbc, 0x1e, - 0xf5, 0x5a, 0x0e, 0x1b, 0x6e, 0xb9, 0xcc, 0x19, 0xd0, 0x68, 0x8b, 0xbf, 0x21, 0xd1, 0x70, 0xe0, - 0x89, 0x2d, 0x12, 0x7a, 0x5b, 0xac, 0xf7, 0x7b, 0xea, 0x08, 0xde, 0x0a, 0x23, 0x26, 0x18, 0x42, - 0x31, 0xa4, 0x95, 0x40, 0x5a, 0xe3, 0x1f, 0xd6, 0x3e, 0xbf, 0x46, 0x82, 0x98, 0x84, 0x54, 0xf3, - 0xaf, 0xc5, 0xf2, 0x90, 0x3a, 0x09, 0xb6, 0xd1, 0x67, 0xac, 0xef, 0xd3, 0x2d, 0xb5, 0xeb, 0x8d, - 0x8e, 0xb7, 0x84, 0x37, 0xa4, 0x5c, 0x90, 0x61, 0xa8, 0x01, 0x6b, 0x7d, 0xd6, 0x67, 0x6a, 0xb9, - 0x25, 0x57, 0xfa, 0xf4, 0xfe, 0x45, 0x1a, 0x09, 0x26, 0xfa, 0xea, 0xa7, 0x57, 0xbc, 0x3e, 0x83, - 0x87, 0xfe, 0xa8, 0xef, 0x05, 0xfa, 0x4f, 0x4c, 0x6c, 0xfe, 0xc5, 0x00, 0xf3, 0x19, 0x15, 0x04, - 0xfd, 0x0c, 0x8a, 0x63, 0x1a, 0x71, 0x8f, 0x05, 0x96, 0xb1, 0x69, 0x7c, 0x56, 0xd9, 0xfe, 0x4e, - 0x6b, 0xd1, 0x23, 0xad, 0x97, 0x31, 0xa4, 0x63, 0xbe, 0x3f, 0x6b, 0xdc, 0xc3, 0x09, 0x03, 0x3d, - 0x04, 0x70, 0x22, 0x4a, 0x04, 0x75, 0x6d, 0x22, 0xac, 0x9c, 0xe2, 0xd7, 0x5a, 0xb1, 0xba, 0xad, - 0xe4, 0xfd, 0xd6, 0x8b, 0xc4, 0x4a, 0x5c, 0xd6, 0xe8, 0xb6, 0x90, 0xd4, 0x51, 0xe8, 0x26, 0xd4, - 0xfc, 0xf5, 0x54, 0x8d, 0x6e, 0x8b, 0xe6, 0xdb, 0x25, 0x30, 0x7f, 0xcd, 0x5c, 0x8a, 0xd6, 0x21, - 0xe7, 0xb9, 0x4a, 0xed, 0x72, 0xa7, 0x30, 0x3d, 0x6b, 0xe4, 0xba, 0xfb, 0x38, 0xe7, 0xb9, 0x68, - 0x1b, 0xcc, 0x21, 0x15, 0x44, 0x2b, 0x64, 0x65, 0x19, 0x24, 0x6d, 0xd7, 0xd6, 0x28, 0x2c, 0xfa, - 0x09, 0x98, 0xf2, 0x53, 0x69, 0x4d, 0x36, 0xb2, 0x38, 0xf2, 0xcd, 0xa3, 0x90, 0x3a, 0x09, 0x4f, - 0xe2, 0xd1, 0x01, 0x54, 0x5c, 0xca, 0x9d, 0xc8, 0x0b, 0x85, 0xf4, 0xa1, 0xa9, 0xe8, 0x9f, 0x5e, - 0x46, 0xdf, 0x9f, 0x43, 0x71, 0x9a, 0x87, 0x7e, 0x0e, 0x05, 0x2e, 0x88, 0x18, 0x71, 0x6b, 0x49, - 0x49, 0xa8, 0x5f, 0xaa, 0x80, 0x42, 0x69, 0x15, 0x34, 0x07, 0x3d, 0x81, 0xea, 0x90, 0x04, 0xa4, - 0x4f, 0x23, 0x5b, 0x4b, 0x29, 0x28, 0x29, 0xdf, 0xcb, 0x34, 0x3d, 0x46, 0xc6, 0x82, 0xf0, 0xca, - 0x30, 0xbd, 0x45, 0x5d, 0x00, 0x22, 0x04, 0x71, 0x5e, 0x0f, 0x69, 0x20, 0xac, 0xa2, 0x92, 0xf2, - 0xfd, 0x4c, 0x5d, 0xa8, 0x78, 0xc3, 0xa2, 0x41, 0x7b, 0x06, 0xee, 0xe4, 0x2c, 0x03, 0xa7, 0xc8, - 0xe8, 0x31, 0x54, 0x1c, 0x1a, 0x09, 0xef, 0xd8, 0x73, 0x88, 0xa0, 0x56, 0x49, 0xc9, 0x6a, 0x64, - 0xc9, 0xda, 0x9b, 0xc3, 0xb4, 0x61, 0x69, 0x26, 0xfa, 0x02, 0xcc, 0x88, 0xf9, 0xd4, 0x2a, 0x6f, - 0x1a, 0x9f, 0x55, 0x2f, 0xff, 0x34, 0x98, 0xf9, 0x14, 0x2b, 0xa4, 0x7c, 0x7a, 0xae, 0x08, 0xb7, - 0x60, 0x33, 0x7f, 0x63, 0x33, 0x70, 0x9a, 0xb9, 0xbb, 0x7e, 0x72, 0xda, 0x44, 0xb0, 0x5a, 0x32, - 0x56, 0x0d, 0x15, 0x67, 0xc6, 0x17, 0xc6, 0x6f, 0x8d, 0xdf, 0x19, 0xcd, 0xff, 0xe4, 0xa1, 0x78, - 0x44, 0xa3, 0xb1, 0xe7, 0x7c, 0xdc, 0x28, 0x7c, 0x78, 0x2e, 0x0a, 0x33, 0x9d, 0xa5, 0x9f, 0x5d, - 0x08, 0xc4, 0x1d, 0x28, 0xd1, 0xc0, 0x0d, 0x99, 0x17, 0x08, 0x1d, 0x85, 0x99, 0x9e, 0x3a, 0xd0, - 0x18, 0x3c, 0x43, 0xa3, 0x03, 0x58, 0x89, 0x93, 0xcb, 0x3e, 0x17, 0x82, 0x9b, 0x59, 0xf4, 0xdf, - 0x28, 0xa0, 0x8e, 0x9d, 0xe5, 0x51, 0x6a, 0x87, 0xf6, 0x61, 0x25, 0x8c, 0xe8, 0xd8, 0x63, 0x23, - 0x6e, 0x2b, 0x23, 0x0a, 0x37, 0x32, 0x02, 0x2f, 0x27, 0x2c, 0xb9, 0x43, 0xbf, 0x80, 0x65, 0x49, - 0xb6, 0x93, 0xa2, 0x04, 0xd7, 0x16, 0x25, 0x5c, 0x91, 0x04, 0xbd, 0x41, 0xcf, 0xe1, 0x5b, 0xe7, - 0xb4, 0x98, 0x09, 0xaa, 0x5c, 0x2f, 0xe8, 0x93, 0xb4, 0x26, 0xfa, 0x70, 0x17, 0x9d, 0x9c, 0x36, - 0xab, 0xb0, 0x9c, 0x0e, 0x81, 0xe6, 0x9f, 0x73, 0x50, 0x4a, 0x1c, 0x89, 0xbe, 0xd4, 0xdf, 0xcc, - 0xb8, 0xdc, 0x6b, 0x09, 0x56, 0xd9, 0x1b, 0x7f, 0xae, 0x2f, 0x61, 0x29, 0x64, 0x91, 0xe0, 0x56, - 0x4e, 0x05, 0x67, 0x66, 0xbe, 0x1f, 0xb2, 0x48, 0xec, 0xb1, 0xe0, 0xd8, 0xeb, 0xe3, 0x18, 0x8c, - 0x5e, 0x41, 0x65, 0xec, 0x45, 0x62, 0x44, 0x7c, 0xdb, 0x0b, 0xb9, 0x95, 0x57, 0xdc, 0x1f, 0x5c, - 0xf5, 0x64, 0xeb, 0x65, 0x8c, 0xef, 0x1e, 0x76, 0xaa, 0xd3, 0xb3, 0x06, 0xcc, 0xb6, 0x1c, 0x83, - 0x16, 0xd5, 0x0d, 0x79, 0xed, 0x19, 0x94, 0x67, 0x37, 0xe8, 0x01, 0x40, 0x10, 0xe7, 0x85, 0x3d, - 0x8b, 0xec, 0x95, 0xe9, 0x59, 0xa3, 0xac, 0xb3, 0xa5, 0xbb, 0x8f, 0xcb, 0x1a, 0xd0, 0x75, 0x11, - 0x02, 0x93, 0xb8, 0x6e, 0xa4, 0xe2, 0xbc, 0x8c, 0xd5, 0xba, 0xf9, 0xa7, 0x22, 0x98, 0x2f, 0x08, - 0x1f, 0xdc, 0x75, 0x89, 0x96, 0x6f, 0x2e, 0x64, 0xc6, 0x03, 0x00, 0x1e, 0xc7, 0x9b, 0x34, 0xc7, - 0x9c, 0x9b, 0xa3, 0xa3, 0x50, 0x9a, 0xa3, 0x01, 0xb1, 0x39, 0xdc, 0x67, 0x42, 0x25, 0x81, 0x89, - 0xd5, 0x1a, 0x7d, 0x0a, 0xc5, 0x80, 0xb9, 0x8a, 0x5e, 0x50, 0x74, 0x98, 0x9e, 0x35, 0x0a, 0xb2, - 0xe8, 0x74, 0xf7, 0x71, 0x41, 0x5e, 0x75, 0x5d, 0x55, 0x74, 0x82, 0x80, 0x09, 0x22, 0x0b, 0x3a, - 0xd7, 0xb5, 0x33, 0x33, 0xfa, 0xdb, 0x73, 0x58, 0x52, 0xef, 0x52, 0x4c, 0xf4, 0x12, 0x3e, 0x49, - 0xf4, 0x4d, 0x0b, 0x2c, 0xdd, 0x46, 0x20, 0xd2, 0x12, 0x52, 0x37, 0xa9, 0x1e, 0x53, 0xbe, 0xbc, - 0xc7, 0x28, 0x0f, 0x66, 0xf5, 0x98, 0x0e, 0xac, 0xb8, 0x94, 0x7b, 0x11, 0x75, 0x55, 0x99, 0xa0, - 0x2a, 0x33, 0xab, 0xdb, 0xdf, 0xbd, 0x4a, 0x08, 0xc5, 0xcb, 0x9a, 0xa3, 0x76, 0xa8, 0x0d, 0x25, - 0x1d, 0x37, 0xdc, 0xaa, 0xdc, 0xa6, 0x28, 0xcf, 0x68, 0xe7, 0xca, 0xdc, 0xf2, 0xad, 0xca, 0xdc, - 0x43, 0x00, 0x9f, 0xf5, 0x6d, 0x37, 0xf2, 0xc6, 0x34, 0xb2, 0x56, 0xf4, 0xc4, 0x91, 0xc1, 0xdd, - 0x57, 0x08, 0x5c, 0xf6, 0x59, 0x3f, 0x5e, 0x2e, 0x14, 0xa5, 0xea, 0x2d, 0x8b, 0x12, 0x81, 0x1a, - 0xe1, 0xdc, 0xeb, 0x07, 0xd4, 0xb5, 0xfb, 0x34, 0xa0, 0x91, 0xe7, 0xd8, 0x11, 0xe5, 0x6c, 0x14, - 0x39, 0x94, 0x5b, 0xdf, 0x50, 0x9e, 0xc8, 0x9c, 0x19, 0x1e, 0xc7, 0x60, 0xac, 0xb1, 0xd8, 0x4a, - 0xc4, 0x5c, 0xb8, 0xe0, 0xbb, 0xb5, 0x93, 0xd3, 0xe6, 0x3a, 0xac, 0xa5, 0xcb, 0xd4, 0x8e, 0xf1, - 0xc8, 0x78, 0x62, 0x1c, 0x1a, 0xcd, 0xbf, 0xe5, 0xe0, 0x9b, 0x0b, 0x3e, 0x45, 0x3f, 0x86, 0xa2, - 0xf6, 0xea, 0x55, 0x93, 0x9f, 0xe6, 0xe1, 0x04, 0x8b, 0x36, 0xa0, 0x2c, 0x53, 0x9c, 0x72, 0x4e, - 0xe3, 0xe2, 0x55, 0xc6, 0xf3, 0x03, 0x64, 0x41, 0x91, 0xf8, 0x1e, 0x91, 0x77, 0x79, 0x75, 0x97, - 0x6c, 0xd1, 0x08, 0xd6, 0x63, 0xd7, 0xdb, 0xf3, 0x06, 0x6b, 0xb3, 0x50, 0x70, 0xcb, 0x54, 0xf6, - 0x7f, 0x7d, 0xa3, 0x48, 0xd0, 0x1f, 0x67, 0x7e, 0xf0, 0x3c, 0x14, 0xfc, 0x20, 0x10, 0xd1, 0x04, - 0xaf, 0xb9, 0x19, 0x57, 0xb5, 0xc7, 0x70, 0xff, 0x52, 0x0a, 0x5a, 0x85, 0xfc, 0x80, 0x4e, 0xe2, - 0xf2, 0x84, 0xe5, 0x12, 0xad, 0xc1, 0xd2, 0x98, 0xf8, 0x23, 0xaa, 0xab, 0x59, 0xbc, 0xd9, 0xcd, - 0xed, 0x18, 0xcd, 0x77, 0x39, 0x28, 0x6a, 0x75, 0xee, 0xba, 0xe5, 0xeb, 0x67, 0x17, 0x0a, 0xdb, - 0x57, 0xb0, 0xac, 0x5d, 0x1a, 0x67, 0xa4, 0x79, 0x6d, 0x4c, 0x57, 0x62, 0x7c, 0x9c, 0x8d, 0x5f, - 0x81, 0xe9, 0x85, 0x64, 0xa8, 0xdb, 0x7d, 0xe6, 0xcb, 0xdd, 0xc3, 0xf6, 0xb3, 0xe7, 0x61, 0x5c, - 0x58, 0x4a, 0xd3, 0xb3, 0x86, 0x29, 0x0f, 0xb0, 0xa2, 0x65, 0x36, 0xc6, 0x77, 0x05, 0x28, 0xee, - 0xf9, 0x23, 0x2e, 0x68, 0x74, 0xd7, 0x4e, 0xd2, 0xcf, 0x2e, 0x38, 0x69, 0x0f, 0x8a, 0x11, 0x63, - 0xc2, 0x76, 0xc8, 0x55, 0xfe, 0xc1, 0x8c, 0x89, 0xbd, 0x76, 0xa7, 0x2a, 0x89, 0xb2, 0xb6, 0xc7, - 0x7b, 0x5c, 0x90, 0xd4, 0x3d, 0x82, 0x5e, 0xc1, 0x7a, 0xd2, 0x11, 0x7b, 0x8c, 0x09, 0x2e, 0x22, - 0x12, 0xda, 0x03, 0x3a, 0x91, 0xb3, 0x52, 0xfe, 0xb2, 0x41, 0xfb, 0x20, 0x70, 0xa2, 0x89, 0x72, - 0xde, 0x53, 0x3a, 0xc1, 0x6b, 0x5a, 0x40, 0x27, 0xe1, 0x3f, 0xa5, 0x13, 0x8e, 0xbe, 0x86, 0x0d, - 0x3a, 0x83, 0x49, 0x89, 0xb6, 0x4f, 0x86, 0xb2, 0xd7, 0xdb, 0x8e, 0xcf, 0x9c, 0x81, 0x6a, 0x37, - 0x26, 0xbe, 0x4f, 0xd3, 0xa2, 0x7e, 0x15, 0x23, 0xf6, 0x24, 0x00, 0x71, 0xb0, 0x7a, 0x3e, 0x71, - 0x06, 0xbe, 0xc7, 0xe5, 0xff, 0x52, 0xa9, 0xb9, 0x59, 0x76, 0x0c, 0xa9, 0xdb, 0xce, 0x15, 0xde, - 0x6a, 0x75, 0xe6, 0xdc, 0xd4, 0x14, 0xae, 0x33, 0xea, 0xdb, 0xbd, 0xec, 0x5b, 0xd4, 0x81, 0xca, - 0x28, 0x90, 0xcf, 0xc7, 0x3e, 0x28, 0xdf, 0xd4, 0x07, 0x10, 0xb3, 0x94, 0xe5, 0x1b, 0x60, 0x1e, - 0xcb, 0x19, 0x46, 0xb6, 0x91, 0x52, 0x1c, 0x5c, 0xbf, 0xec, 0x1e, 0x1e, 0x61, 0x75, 0x8a, 0x5a, - 0x80, 0x5c, 0x7a, 0x4c, 0x46, 0xbe, 0x68, 0xc7, 0xb5, 0xe5, 0x90, 0x31, 0x5f, 0xf5, 0x8c, 0x32, - 0xce, 0xb8, 0x41, 0x75, 0x00, 0x3e, 0xea, 0x05, 0x54, 0x1c, 0x79, 0x7f, 0xa4, 0xaa, 0x31, 0xac, - 0xe0, 0xd4, 0x49, 0x6d, 0x0c, 0x1b, 0x57, 0x99, 0x9a, 0x51, 0x09, 0x1e, 0xa5, 0x2b, 0x41, 0x65, - 0xfb, 0xf3, 0x2c, 0xeb, 0xb2, 0x45, 0xa6, 0xaa, 0x46, 0x66, 0x92, 0xfc, 0xd5, 0x80, 0xc2, 0x11, - 0x75, 0x22, 0x2a, 0x3e, 0x6a, 0x8e, 0xec, 0x9c, 0xcb, 0x91, 0x7a, 0xf6, 0xd8, 0x2d, 0x5f, 0x5d, - 0x48, 0x91, 0x1a, 0x94, 0xbc, 0x40, 0xd0, 0x28, 0x20, 0xbe, 0xca, 0x91, 0x12, 0x9e, 0xed, 0xb3, - 0xb3, 0xdc, 0x80, 0x42, 0x3c, 0x97, 0xde, 0xb5, 0x01, 0xf1, 0xab, 0x17, 0x0d, 0xc8, 0x54, 0xf2, - 0xdf, 0x06, 0x94, 0x92, 0xf6, 0xf8, 0x51, 0xd5, 0xbc, 0x30, 0xe7, 0xe5, 0xff, 0xe7, 0x39, 0x0f, - 0x81, 0x39, 0xf0, 0x02, 0x3d, 0x91, 0x62, 0xb5, 0x46, 0x2d, 0x28, 0x86, 0x64, 0xe2, 0x33, 0xe2, - 0xea, 0xb2, 0xbc, 0xb6, 0xf0, 0x9b, 0x48, 0x3b, 0x98, 0xe0, 0x04, 0xb4, 0xbb, 0x76, 0x72, 0xda, - 0x5c, 0x85, 0x6a, 0xda, 0xf2, 0xd7, 0x46, 0xf3, 0x1f, 0x06, 0x94, 0x0f, 0xfe, 0x20, 0x68, 0xa0, - 0xa6, 0x8f, 0xff, 0x4b, 0xe3, 0x37, 0x17, 0x7f, 0x37, 0x29, 0x9f, 0xfb, 0x49, 0x24, 0xeb, 0xa3, - 0x76, 0xac, 0xf7, 0x1f, 0xea, 0xf7, 0xfe, 0xf9, 0xa1, 0x7e, 0xef, 0xed, 0xb4, 0x6e, 0xbc, 0x9f, - 0xd6, 0x8d, 0xbf, 0x4f, 0xeb, 0xc6, 0xbf, 0xa6, 0x75, 0xa3, 0x57, 0x50, 0xfe, 0xf9, 0xd1, 0x7f, - 0x03, 0x00, 0x00, 0xff, 0xff, 0xbc, 0x6b, 0x9b, 0xd8, 0xfe, 0x13, 0x00, 0x00, + // 1643 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xcc, 0x58, 0xcd, 0x73, 0x23, 0x47, + 0x15, 0xdf, 0x91, 0x67, 0xf5, 0xf1, 0xf4, 0xc1, 0xd2, 0x31, 0x66, 0x56, 0x18, 0xc9, 0x28, 0x15, + 0x6a, 0x2b, 0xb5, 0x25, 0x87, 0x25, 0x80, 0xd7, 0x10, 0x12, 0xc9, 0x32, 0x1b, 0x55, 0xb2, 0x59, + 0x57, 0x3b, 0x71, 0x72, 0x1b, 0x5a, 0x33, 0x6d, 0xed, 0xa0, 0xd1, 0xf4, 0xd4, 0x74, 0x4b, 0x41, + 0x9c, 0x38, 0x9b, 0x3f, 0xc0, 0x37, 0x0e, 0xc0, 0x3f, 0xc1, 0x85, 0x03, 0x07, 0x6a, 0xb9, 0x71, + 0xa2, 0x38, 0xb9, 0x58, 0xfd, 0x17, 0xdc, 0xa8, 0xee, 0xe9, 0x91, 0xc6, 0xd6, 0xf8, 0x8b, 0xda, + 0x72, 0x71, 0x72, 0x7f, 0xfc, 0x7e, 0xaf, 0xdf, 0x7b, 0xf3, 0xbe, 0x2c, 0x78, 0x3c, 0xf4, 0xc4, + 0xcb, 0xc9, 0xa0, 0xed, 0xb0, 0xf1, 0xb6, 0xcb, 0x9c, 0x11, 0x8d, 0xb6, 0xf9, 0xd7, 0x24, 0x1a, + 0x8f, 0x3c, 0xb1, 0x4d, 0x42, 0x6f, 0x9b, 0x0d, 0x7e, 0x45, 0x1d, 0xc1, 0xdb, 0x61, 0xc4, 0x04, + 0x43, 0x28, 0x86, 0xb4, 0x13, 0x48, 0x7b, 0xfa, 0x83, 0xfa, 0xbb, 0xd7, 0x48, 0x10, 0xb3, 0x90, + 0x6a, 0xfe, 0xb5, 0x58, 0x1e, 0x52, 0x27, 0xc1, 0x36, 0x87, 0x8c, 0x0d, 0x7d, 0xba, 0xad, 0x76, + 0x83, 0xc9, 0xf1, 0xb6, 0xf0, 0xc6, 0x94, 0x0b, 0x32, 0x0e, 0x35, 0x60, 0x7d, 0xc8, 0x86, 0x4c, + 0x2d, 0xb7, 0xe5, 0x4a, 0x9f, 0x3e, 0xbc, 0x48, 0x23, 0xc1, 0x4c, 0x5f, 0xfd, 0xe4, 0x8a, 0xd7, + 0x17, 0xf0, 0xd0, 0x9f, 0x0c, 0xbd, 0x40, 0xff, 0x89, 0x89, 0xad, 0x3f, 0x1b, 0x60, 0x3e, 0xa7, + 0x82, 0xa0, 0x9f, 0x42, 0x61, 0x4a, 0x23, 0xee, 0xb1, 0xc0, 0x32, 0xb6, 0x8c, 0x47, 0xe5, 0x27, + 0xdf, 0x69, 0xaf, 0x7a, 0xa4, 0x7d, 0x14, 0x43, 0xba, 0xe6, 0xab, 0xb3, 0xe6, 0x3d, 0x9c, 0x30, + 0xd0, 0x53, 0x00, 0x27, 0xa2, 0x44, 0x50, 0xd7, 0x26, 0xc2, 0xca, 0x29, 0x7e, 0xbd, 0x1d, 0xab, + 0xdb, 0x4e, 0xde, 0x6f, 0x7f, 0x9e, 0x58, 0x89, 0x4b, 0x1a, 0xdd, 0x11, 0x92, 0x3a, 0x09, 0xdd, + 0x84, 0xba, 0x76, 0x3d, 0x55, 0xa3, 0x3b, 0xa2, 0xf5, 0xa7, 0xfb, 0x60, 0x7e, 0xc6, 0x5c, 0x8a, + 0x36, 0x20, 0xe7, 0xb9, 0x4a, 0xed, 0x52, 0x37, 0x3f, 0x3f, 0x6b, 0xe6, 0xfa, 0x3d, 0x9c, 0xf3, + 0x5c, 0xf4, 0x04, 0xcc, 0x31, 0x15, 0x44, 0x2b, 0x64, 0x65, 0x19, 0x24, 0x6d, 0xd7, 0xd6, 0x28, + 0x2c, 0xfa, 0x31, 0x98, 0xf2, 0x53, 0x69, 0x4d, 0x36, 0xb3, 0x38, 0xf2, 0xcd, 0xc3, 0x90, 0x3a, + 0x09, 0x4f, 0xe2, 0xd1, 0x3e, 0x94, 0x5d, 0xca, 0x9d, 0xc8, 0x0b, 0x85, 0xf4, 0xa1, 0xa9, 0xe8, + 0x6f, 0x5f, 0x46, 0xef, 0x2d, 0xa1, 0x38, 0xcd, 0x43, 0x3f, 0x83, 0x3c, 0x17, 0x44, 0x4c, 0xb8, + 0x75, 0x5f, 0x49, 0x68, 0x5c, 0xaa, 0x80, 0x42, 0x69, 0x15, 0x34, 0x07, 0x7d, 0x0c, 0xb5, 0x31, + 0x09, 0xc8, 0x90, 0x46, 0xb6, 0x96, 0x92, 0x57, 0x52, 0xbe, 0x97, 0x69, 0x7a, 0x8c, 0x8c, 0x05, + 0xe1, 0xea, 0x38, 0xbd, 0x45, 0x7d, 0x00, 0x22, 0x04, 0x71, 0x5e, 0x8e, 0x69, 0x20, 0xac, 0x82, + 0x92, 0xf2, 0x4e, 0xa6, 0x2e, 0x54, 0x7c, 0xcd, 0xa2, 0x51, 0x67, 0x01, 0xee, 0xe6, 0x2c, 0x03, + 0xa7, 0xc8, 0xe8, 0x19, 0x94, 0x1d, 0x1a, 0x09, 0xef, 0xd8, 0x73, 0x88, 0xa0, 0x56, 0x51, 0xc9, + 0x6a, 0x66, 0xc9, 0xda, 0x5b, 0xc2, 0xb4, 0x61, 0x69, 0x26, 0x7a, 0x0f, 0xcc, 0x88, 0xf9, 0xd4, + 0x2a, 0x6d, 0x19, 0x8f, 0x6a, 0x97, 0x7f, 0x1a, 0xcc, 0x7c, 0x8a, 0x15, 0x52, 0x3e, 0xbd, 0x54, + 0x84, 0x5b, 0xb0, 0xb5, 0x76, 0x63, 0x33, 0x70, 0x9a, 0x89, 0x5a, 0x50, 0x39, 0xfa, 0xea, 0xd3, + 0xce, 0x67, 0x5f, 0xf4, 0x0e, 0x0e, 0x58, 0x24, 0xac, 0xf2, 0x96, 0xf1, 0xa8, 0x8a, 0xcf, 0x9d, + 0xed, 0x6e, 0x9c, 0x9c, 0xb6, 0x10, 0x3c, 0x28, 0x1a, 0x0f, 0x0c, 0x15, 0x8b, 0xc6, 0x7b, 0xc6, + 0x57, 0xc6, 0x2f, 0x8d, 0xd6, 0x1f, 0x4d, 0x28, 0x1c, 0xd2, 0x68, 0xea, 0x39, 0x6f, 0x36, 0x52, + 0x9f, 0x9e, 0x8b, 0xd4, 0x4c, 0x87, 0xea, 0x67, 0x57, 0x82, 0x75, 0x07, 0x8a, 0x34, 0x70, 0x43, + 0xe6, 0x05, 0x42, 0x47, 0x6a, 0xa6, 0x37, 0xf7, 0x35, 0x06, 0x2f, 0xd0, 0x68, 0x1f, 0xaa, 0x71, + 0x02, 0xda, 0xe7, 0xc2, 0x74, 0x2b, 0x8b, 0xfe, 0x85, 0x02, 0xea, 0xf8, 0xaa, 0x4c, 0x52, 0x3b, + 0xd4, 0x83, 0x6a, 0x18, 0xd1, 0xa9, 0xc7, 0x26, 0xdc, 0x56, 0x46, 0xe4, 0x6f, 0x64, 0x04, 0xae, + 0x24, 0x2c, 0xb9, 0x43, 0xef, 0x40, 0x2d, 0xa4, 0x81, 0xeb, 0x05, 0x43, 0xdb, 0xa5, 0x3e, 0x15, + 0x54, 0x05, 0x6a, 0x11, 0x57, 0xf5, 0x69, 0x4f, 0x1d, 0xa2, 0x9f, 0x43, 0x45, 0xbe, 0x61, 0x27, + 0xf5, 0x0d, 0xae, 0xad, 0x6f, 0xb8, 0x2c, 0x09, 0x7a, 0x83, 0x5e, 0xc0, 0xb7, 0xce, 0x29, 0xbb, + 0x10, 0x54, 0xbe, 0x5e, 0xd0, 0x5b, 0x69, 0x85, 0xf5, 0xe1, 0x2e, 0x3a, 0x39, 0x6d, 0xd5, 0xa0, + 0x92, 0x8e, 0x94, 0xd6, 0xef, 0x73, 0x50, 0x4c, 0xfc, 0x8d, 0xde, 0xd7, 0x9f, 0xd6, 0xb8, 0xdc, + 0xb9, 0x09, 0x56, 0xb9, 0x25, 0xfe, 0xaa, 0xef, 0xc3, 0xfd, 0x90, 0x45, 0x82, 0x5b, 0x39, 0x15, + 0xe7, 0x99, 0xa5, 0x43, 0x46, 0xea, 0x1e, 0x0b, 0x8e, 0xbd, 0x21, 0x8e, 0xc1, 0xe8, 0x4b, 0x28, + 0x4f, 0xbd, 0x48, 0x4c, 0x88, 0x6f, 0x7b, 0x21, 0xb7, 0xd6, 0x14, 0xf7, 0xfb, 0x57, 0x3d, 0xd9, + 0x3e, 0x8a, 0xf1, 0xfd, 0x83, 0x6e, 0x6d, 0x7e, 0xd6, 0x84, 0xc5, 0x96, 0x63, 0xd0, 0xa2, 0xfa, + 0x21, 0xaf, 0x3f, 0x87, 0xd2, 0xe2, 0x06, 0x3d, 0x06, 0x08, 0xe2, 0x14, 0xb3, 0x17, 0x09, 0x50, + 0x9d, 0x9f, 0x35, 0x4b, 0x3a, 0xf1, 0xfa, 0x3d, 0x5c, 0xd2, 0x80, 0xbe, 0x8b, 0x10, 0x98, 0xc4, + 0x75, 0x23, 0x95, 0x0e, 0x25, 0xac, 0xd6, 0xad, 0xdf, 0x15, 0xc0, 0xfc, 0x9c, 0xf0, 0xd1, 0x5d, + 0x57, 0x7b, 0xf9, 0xe6, 0x4a, 0x02, 0x3d, 0x06, 0xe0, 0x71, 0x58, 0x4a, 0x73, 0xcc, 0xa5, 0x39, + 0x3a, 0x58, 0xa5, 0x39, 0x1a, 0x10, 0x9b, 0xc3, 0x7d, 0x26, 0x54, 0xae, 0x98, 0x58, 0xad, 0xd1, + 0xdb, 0x50, 0x08, 0x98, 0xab, 0xe8, 0x79, 0x45, 0x87, 0xf9, 0x59, 0x33, 0x2f, 0xeb, 0x57, 0xbf, + 0x87, 0xf3, 0xf2, 0xaa, 0xef, 0xaa, 0xfa, 0x15, 0x04, 0x4c, 0x10, 0xd9, 0x1b, 0xb8, 0x2e, 0xc3, + 0x99, 0x49, 0xd2, 0x59, 0xc2, 0x92, 0xd2, 0x99, 0x62, 0xa2, 0x23, 0x78, 0x2b, 0xd1, 0x37, 0x2d, + 0xb0, 0x78, 0x1b, 0x81, 0x48, 0x4b, 0x48, 0xdd, 0xa4, 0xda, 0x55, 0xe9, 0xf2, 0x76, 0xa5, 0x3c, + 0x98, 0xd5, 0xae, 0xba, 0x50, 0x75, 0x29, 0xf7, 0x22, 0xea, 0xaa, 0x6a, 0x42, 0x55, 0x66, 0xd6, + 0x9e, 0x7c, 0xf7, 0x2a, 0x21, 0x14, 0x57, 0x34, 0x47, 0xed, 0x50, 0x07, 0x8a, 0x3a, 0x6e, 0xb8, + 0x55, 0xbe, 0x4d, 0x7d, 0x5f, 0xd0, 0xce, 0x55, 0xc3, 0xca, 0xad, 0xaa, 0xe1, 0x53, 0x00, 0x9f, + 0x0d, 0x6d, 0x37, 0xf2, 0xa6, 0x34, 0xb2, 0xaa, 0x7a, 0x78, 0xc9, 0xe0, 0xf6, 0x14, 0x02, 0x97, + 0x7c, 0x36, 0x8c, 0x97, 0x2b, 0x45, 0xa9, 0x76, 0xcb, 0xa2, 0x44, 0xa0, 0x4e, 0x38, 0xf7, 0x86, + 0x01, 0x75, 0xed, 0x21, 0x0d, 0x68, 0xe4, 0x39, 0x76, 0x44, 0x39, 0x9b, 0x44, 0x0e, 0xe5, 0xd6, + 0x37, 0x94, 0x27, 0x32, 0xc7, 0x8f, 0x67, 0x31, 0x18, 0x6b, 0x2c, 0xb6, 0x12, 0x31, 0x17, 0x2e, + 0xf8, 0x6e, 0xfd, 0xe4, 0xb4, 0xb5, 0x01, 0xeb, 0xe9, 0x32, 0xb5, 0x63, 0x7c, 0x64, 0x7c, 0x6c, + 0x1c, 0x18, 0xad, 0xbf, 0xe6, 0xe0, 0x9b, 0x2b, 0x3e, 0x45, 0x3f, 0x82, 0x82, 0xf6, 0xea, 0x55, + 0x43, 0xa4, 0xe6, 0xe1, 0x04, 0x8b, 0x36, 0xa1, 0x24, 0x53, 0x9c, 0x72, 0x4e, 0xe3, 0xe2, 0x55, + 0xc2, 0xcb, 0x03, 0x64, 0x41, 0x81, 0xf8, 0x1e, 0x91, 0x77, 0x6b, 0xea, 0x2e, 0xd9, 0xa2, 0x09, + 0x6c, 0xc4, 0xae, 0xb7, 0x97, 0xbd, 0xda, 0x66, 0xa1, 0xe0, 0x96, 0xa9, 0xec, 0xff, 0xf0, 0x46, + 0x91, 0xa0, 0x3f, 0xce, 0xf2, 0xe0, 0x45, 0x28, 0xf8, 0x7e, 0x20, 0xa2, 0x19, 0x5e, 0x77, 0x33, + 0xae, 0xea, 0xcf, 0xe0, 0xe1, 0xa5, 0x14, 0xf4, 0x00, 0xd6, 0x46, 0x74, 0x16, 0x97, 0x27, 0x2c, + 0x97, 0x68, 0x1d, 0xee, 0x4f, 0x89, 0x3f, 0xa1, 0xba, 0x9a, 0xc5, 0x9b, 0xdd, 0xdc, 0x8e, 0xd1, + 0xfa, 0x7b, 0x0e, 0x0a, 0x5a, 0x9d, 0xbb, 0x9e, 0x0c, 0xf4, 0xb3, 0x2b, 0x85, 0xed, 0x03, 0xa8, + 0x68, 0x97, 0xc6, 0x19, 0x69, 0x5e, 0x1b, 0xd3, 0xe5, 0x18, 0x1f, 0x67, 0xe3, 0x07, 0x60, 0x7a, + 0x21, 0x19, 0xeb, 0xa9, 0x20, 0xf3, 0xe5, 0xfe, 0x41, 0xe7, 0xf9, 0x8b, 0x30, 0x2e, 0x2c, 0xc5, + 0xf9, 0x59, 0xd3, 0x94, 0x07, 0x58, 0xd1, 0x32, 0x1a, 0x7a, 0x3e, 0xa3, 0xa1, 0x67, 0xf6, 0xcf, + 0xbf, 0xe5, 0xa1, 0xb0, 0xe7, 0x4f, 0xb8, 0xa0, 0xd1, 0x5d, 0xfb, 0x52, 0x3f, 0xbb, 0xe2, 0xcb, + 0x3d, 0x28, 0x44, 0x8c, 0x09, 0xdb, 0x21, 0x57, 0xb9, 0x11, 0x33, 0x26, 0xf6, 0x3a, 0xdd, 0x9a, + 0x24, 0xca, 0x16, 0x10, 0xef, 0x71, 0x5e, 0x52, 0xf7, 0x08, 0xfa, 0x12, 0x36, 0x92, 0xc6, 0x39, + 0x60, 0x4c, 0x70, 0x11, 0x91, 0xd0, 0x1e, 0xd1, 0x99, 0x9c, 0xbc, 0xd6, 0x2e, 0x1b, 0xed, 0xf7, + 0x03, 0x27, 0x9a, 0x29, 0x1f, 0x7f, 0x42, 0x67, 0x78, 0x5d, 0x0b, 0xe8, 0x26, 0xfc, 0x4f, 0xe8, + 0x8c, 0xa3, 0x0f, 0x61, 0x93, 0x2e, 0x60, 0x52, 0xa2, 0xed, 0x93, 0xb1, 0x1c, 0x09, 0x6c, 0xc7, + 0x67, 0xce, 0x48, 0x79, 0xde, 0xc4, 0x0f, 0x69, 0x5a, 0xd4, 0xa7, 0x31, 0x62, 0x4f, 0x02, 0x10, + 0x07, 0x6b, 0xe0, 0x13, 0x67, 0xe4, 0x7b, 0x5c, 0xfe, 0xf7, 0x96, 0x9a, 0xd4, 0x65, 0x63, 0x91, + 0xba, 0xed, 0x5c, 0xe1, 0xad, 0x76, 0x77, 0xc9, 0x4d, 0xcd, 0xfd, 0x3a, 0xf1, 0xbe, 0x3d, 0xc8, + 0xbe, 0x45, 0x5d, 0x28, 0x4f, 0x02, 0xf9, 0x7c, 0xec, 0x83, 0xd2, 0x4d, 0x7d, 0x00, 0x31, 0x4b, + 0x59, 0xbe, 0x09, 0xe6, 0xb1, 0x1c, 0x75, 0x64, 0xb7, 0x29, 0xc6, 0x31, 0xf8, 0x8b, 0xfe, 0xc1, + 0x21, 0x56, 0xa7, 0xa8, 0x0d, 0xc8, 0xa5, 0xc7, 0x64, 0xe2, 0x8b, 0x4e, 0x5c, 0x82, 0x0e, 0x18, + 0xf3, 0x55, 0x6b, 0x29, 0xe1, 0x8c, 0x1b, 0xd4, 0x00, 0xe0, 0x93, 0x41, 0x40, 0xc5, 0xa1, 0xf7, + 0x1b, 0xaa, 0xfa, 0x47, 0x15, 0xa7, 0x4e, 0x56, 0xfe, 0x75, 0xa8, 0xae, 0xfe, 0xeb, 0x50, 0x9f, + 0xc2, 0xe6, 0x55, 0xee, 0xc8, 0x28, 0x2a, 0x1f, 0xa5, 0x8b, 0x4a, 0xf9, 0xc9, 0xbb, 0x59, 0x1e, + 0xc8, 0x16, 0x99, 0x2a, 0x40, 0x99, 0x89, 0xf4, 0x17, 0x03, 0xf2, 0x87, 0xd4, 0x89, 0xa8, 0x78, + 0xa3, 0x79, 0xb4, 0x73, 0x2e, 0x8f, 0x1a, 0xd9, 0x83, 0xbe, 0x7c, 0x75, 0x25, 0x8d, 0xea, 0x50, + 0xf4, 0x02, 0x41, 0xa3, 0x80, 0xf8, 0x2a, 0x8f, 0x8a, 0x78, 0xb1, 0xcf, 0x34, 0xe0, 0x0f, 0x06, + 0xe4, 0xe3, 0x11, 0xf7, 0xae, 0x0d, 0x88, 0x5f, 0xbd, 0x68, 0x40, 0xa6, 0x92, 0xff, 0x31, 0xa0, + 0x98, 0x74, 0xda, 0x37, 0xaa, 0xe6, 0x85, 0x91, 0x71, 0xed, 0x7f, 0x1e, 0x19, 0x11, 0x98, 0x23, + 0x2f, 0xd0, 0xc3, 0x2d, 0x56, 0x6b, 0xd4, 0x86, 0x42, 0x48, 0x66, 0x3e, 0x23, 0xae, 0xae, 0xf0, + 0xeb, 0x2b, 0xbf, 0xd4, 0x74, 0x82, 0x19, 0x4e, 0x40, 0xbb, 0xeb, 0x27, 0xa7, 0xad, 0x07, 0x50, + 0x4b, 0x5b, 0xfe, 0xd2, 0x68, 0xfd, 0xd3, 0x80, 0xd2, 0xfe, 0xaf, 0x05, 0x0d, 0xd4, 0x20, 0xf3, + 0x7f, 0x69, 0xfc, 0xd6, 0xea, 0xaf, 0x39, 0xa5, 0x73, 0x3f, 0xd4, 0x64, 0x7d, 0xd4, 0xae, 0xf5, + 0xea, 0x75, 0xe3, 0xde, 0xbf, 0x5e, 0x37, 0xee, 0xfd, 0x76, 0xde, 0x30, 0x5e, 0xcd, 0x1b, 0xc6, + 0x3f, 0xe6, 0x0d, 0xe3, 0xdf, 0xf3, 0x86, 0x31, 0xc8, 0x2b, 0xff, 0xfc, 0xf0, 0xbf, 0x01, 0x00, + 0x00, 0xff, 0xff, 0xc3, 0x37, 0x09, 0x2f, 0x94, 0x14, 0x00, 0x00, } diff --git a/vendor/github.com/docker/swarmkit/api/objects.proto b/vendor/github.com/docker/swarmkit/api/objects.proto index 2211395bf5..b91c27ef2d 100644 --- a/vendor/github.com/docker/swarmkit/api/objects.proto +++ b/vendor/github.com/docker/swarmkit/api/objects.proto @@ -81,6 +81,10 @@ message Node { // endpoint on the node to be used for load balancing. Each overlay // network, including ingress network, will have an NetworkAttachment. repeated NetworkAttachment attachments = 10; + + // VXLANUDPPort specifies the UDP port for VXLAN traffic. + // This information is passed from cluster object to individual nodes. + uint32 VXLANUDPPort = 11; } message Service { @@ -122,6 +126,16 @@ message Service { // UpdateStatus contains the status of an update, if one is in // progress. UpdateStatus update_status = 5; + + // PendingDelete indicates that this service's deletion has been requested. + // Services, as well as all service-level resources, can only be deleted + // after all of the service's containers have properly shut down. + // When a user requests a deletion, we just flip this flag + // the deallocator will take it from there - it will start monitoring + // this service's tasks, and proceed to delete the service itself (and + // potentially its associated resources also marked for deletion) when + // all of its tasks are gone + bool pending_delete = 7; } // Endpoint specified all the network parameters required to @@ -292,6 +306,20 @@ message Network { // Runtime state of IPAM options. This may not reflect the // ipam options from NetworkSpec. IPAMOptions ipam = 5 [(gogoproto.customname) = "IPAM"]; + + // PendingDelete indicates that this network's deletion has been requested. + // Services, as well as all service-level resources, can only be deleted + // after all the service's containers have properly shut down + // when a user requests a deletion, we just flip this flag + // the deallocator will take it from there + // PendingDelete indicates that this network's deletion has been requested. + // Services, as well as all service-level resources, can only be deleted + // after all of the service's containers have properly shut down. + // When a user requests a deletion of this network, we just flip this flag + // the deallocator will take it from there - it will start monitoring + // the services that still use this service, and proceed to delete + // this network when all of these services are gone + bool pending_delete = 6; } // Cluster provides global cluster settings. @@ -351,6 +379,9 @@ message Cluster { // This flag specifies the default subnet size of global scope networks by giving // the length of the subnet masks for every such network uint32 subnetSize = 12; + + // VXLANUDPPort specifies the UDP port for VXLAN traffic. + uint32 VXLANUDPPort = 13; } // Secret represents a secret that should be passed to a container or a node, diff --git a/vendor/github.com/docker/swarmkit/api/types.pb.go b/vendor/github.com/docker/swarmkit/api/types.pb.go index f5843467cb..0fef5d7853 100644 --- a/vendor/github.com/docker/swarmkit/api/types.pb.go +++ b/vendor/github.com/docker/swarmkit/api/types.pb.go @@ -987,6 +987,8 @@ type Mount_TmpfsOptions struct { SizeBytes int64 `protobuf:"varint,1,opt,name=size_bytes,json=sizeBytes,proto3" json:"size_bytes,omitempty"` // Mode of the tmpfs upon creation Mode os.FileMode `protobuf:"varint,2,opt,name=mode,proto3,customtype=os.FileMode" json:"mode"` + // Options passed to tmpfs mount + Options string `protobuf:"bytes,3,opt,name=options,proto3" json:"options,omitempty"` } func (m *Mount_TmpfsOptions) Reset() { *m = Mount_TmpfsOptions{} } @@ -1612,6 +1614,8 @@ type Placement struct { // This field is used in the platform filter for scheduling. If empty, // then the platform filter is off, meaning there are no scheduling restrictions. Platforms []*Platform `protobuf:"bytes,3,rep,name=platforms" json:"platforms,omitempty"` + // MaxReplicas specifies the limit for maximum number of replicas running on one node. + MaxReplicas uint64 `protobuf:"varint,4,opt,name=max_replicas,json=maxReplicas,proto3" json:"max_replicas,omitempty"` } func (m *Placement) Reset() { *m = Placement{} } @@ -4344,6 +4348,12 @@ func (m *Mount_TmpfsOptions) MarshalTo(dAtA []byte) (int, error) { i++ i = encodeVarintTypes(dAtA, i, uint64(m.Mode)) } + if len(m.Options) > 0 { + dAtA[i] = 0x1a + i++ + i = encodeVarintTypes(dAtA, i, uint64(len(m.Options))) + i += copy(dAtA[i:], m.Options) + } return i, nil } @@ -5482,6 +5492,11 @@ func (m *Placement) MarshalTo(dAtA []byte) (int, error) { i += n } } + if m.MaxReplicas != 0 { + dAtA[i] = 0x20 + i++ + i = encodeVarintTypes(dAtA, i, uint64(m.MaxReplicas)) + } return i, nil } @@ -6507,6 +6522,10 @@ func (m *Mount_TmpfsOptions) Size() (n int) { if m.Mode != 0 { n += 1 + sovTypes(uint64(m.Mode)) } + l = len(m.Options) + if l > 0 { + n += 1 + l + sovTypes(uint64(l)) + } return n } @@ -7005,6 +7024,9 @@ func (m *Placement) Size() (n int) { n += 1 + l + sovTypes(uint64(l)) } } + if m.MaxReplicas != 0 { + n += 1 + sovTypes(uint64(m.MaxReplicas)) + } return n } @@ -7610,6 +7632,7 @@ func (this *Mount_TmpfsOptions) String() string { s := strings.Join([]string{`&Mount_TmpfsOptions{`, `SizeBytes:` + fmt.Sprintf("%v", this.SizeBytes) + `,`, `Mode:` + fmt.Sprintf("%v", this.Mode) + `,`, + `Options:` + fmt.Sprintf("%v", this.Options) + `,`, `}`, }, "") return s @@ -7992,6 +8015,7 @@ func (this *Placement) String() string { `Constraints:` + fmt.Sprintf("%v", this.Constraints) + `,`, `Preferences:` + strings.Replace(fmt.Sprintf("%v", this.Preferences), "PlacementPreference", "PlacementPreference", 1) + `,`, `Platforms:` + strings.Replace(fmt.Sprintf("%v", this.Platforms), "Platform", "Platform", 1) + `,`, + `MaxReplicas:` + fmt.Sprintf("%v", this.MaxReplicas) + `,`, `}`, }, "") return s @@ -10954,6 +10978,35 @@ func (m *Mount_TmpfsOptions) Unmarshal(dAtA []byte) error { break } } + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Options", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTypes + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= (uint64(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthTypes + } + postIndex := iNdEx + intStringLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Options = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipTypes(dAtA[iNdEx:]) @@ -14748,6 +14801,25 @@ func (m *Placement) Unmarshal(dAtA []byte) error { return err } iNdEx = postIndex + case 4: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field MaxReplicas", wireType) + } + m.MaxReplicas = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTypes + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.MaxReplicas |= (uint64(b) & 0x7F) << shift + if b < 0x80 { + break + } + } default: iNdEx = preIndex skippy, err := skipTypes(dAtA[iNdEx:]) @@ -17083,326 +17155,327 @@ var ( func init() { proto.RegisterFile("github.com/docker/swarmkit/api/types.proto", fileDescriptorTypes) } var fileDescriptorTypes = []byte{ - // 5135 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xac, 0x7a, 0x4d, 0x6c, 0x24, 0x49, - 0x56, 0xbf, 0xeb, 0xd3, 0x55, 0xaf, 0xca, 0x76, 0x76, 0xb4, 0xb7, 0xc7, 0x5d, 0xdb, 0x63, 0xd7, - 0xe4, 0x4c, 0xef, 0xcc, 0xf6, 0xce, 0xbf, 0xfa, 0x6b, 0x77, 0xd5, 0x33, 0xf3, 0xdf, 0x9d, 0xa9, - 0x8f, 0x74, 0xbb, 0xb6, 0xed, 0xaa, 0x52, 0x54, 0xb9, 0x7b, 0xf7, 0x2f, 0xfd, 0x49, 0xd2, 0x99, - 0xe1, 0x72, 0x8e, 0xb3, 0x32, 0x8a, 0xcc, 0x2c, 0xbb, 0x8b, 0x05, 0x31, 0xe2, 0x00, 0xc8, 0x27, - 0xf6, 0x02, 0xbb, 0x42, 0x46, 0x48, 0x70, 0xe3, 0xc0, 0x01, 0x24, 0x04, 0xa7, 0x41, 0x42, 0x68, - 0xc5, 0x05, 0x16, 0x24, 0xb4, 0x02, 0xc9, 0xb0, 0x3e, 0x70, 0x43, 0x70, 0x41, 0x5c, 0x38, 0xa0, - 0xf8, 0xc8, 0xac, 0x74, 0x75, 0xda, 0x9e, 0x61, 0xf7, 0x62, 0x57, 0xbc, 0xf7, 0x7b, 0x2f, 0x22, - 0x5e, 0x44, 0xbc, 0x78, 0xef, 0x45, 0xc2, 0xbd, 0xa1, 0x1d, 0x1c, 0x4c, 0xf6, 0x6a, 0x26, 0x1d, - 0xdd, 0xb7, 0xa8, 0x79, 0x48, 0xbc, 0xfb, 0xfe, 0xb1, 0xe1, 0x8d, 0x0e, 0xed, 0xe0, 0xbe, 0x31, - 0xb6, 0xef, 0x07, 0xd3, 0x31, 0xf1, 0x6b, 0x63, 0x8f, 0x06, 0x14, 0x21, 0x01, 0xa8, 0x85, 0x80, - 0xda, 0xd1, 0xc3, 0xca, 0xc6, 0x90, 0xd2, 0xa1, 0x43, 0xee, 0x73, 0xc4, 0xde, 0x64, 0xff, 0x7e, - 0x60, 0x8f, 0x88, 0x1f, 0x18, 0xa3, 0xb1, 0x10, 0xaa, 0xac, 0xcf, 0x03, 0xac, 0x89, 0x67, 0x04, - 0x36, 0x75, 0x25, 0x7f, 0x75, 0x48, 0x87, 0x94, 0xff, 0xbc, 0xcf, 0x7e, 0x09, 0xaa, 0xba, 0x01, - 0x8b, 0xcf, 0x89, 0xe7, 0xdb, 0xd4, 0x45, 0xab, 0x90, 0xb3, 0x5d, 0x8b, 0xbc, 0x5c, 0x4b, 0x55, - 0x53, 0xef, 0x64, 0xb1, 0x68, 0xa8, 0x0f, 0x00, 0xda, 0xec, 0x87, 0xe6, 0x06, 0xde, 0x14, 0x29, - 0x90, 0x39, 0x24, 0x53, 0x8e, 0x28, 0x62, 0xf6, 0x93, 0x51, 0x8e, 0x0c, 0x67, 0x2d, 0x2d, 0x28, - 0x47, 0x86, 0xa3, 0xfe, 0x24, 0x05, 0xa5, 0xba, 0xeb, 0xd2, 0x80, 0xf7, 0xee, 0x23, 0x04, 0x59, - 0xd7, 0x18, 0x11, 0x29, 0xc4, 0x7f, 0xa3, 0x26, 0xe4, 0x1d, 0x63, 0x8f, 0x38, 0xfe, 0x5a, 0xba, - 0x9a, 0x79, 0xa7, 0xf4, 0xe8, 0x2b, 0xb5, 0x57, 0xa7, 0x5c, 0x8b, 0x29, 0xa9, 0x6d, 0x73, 0x34, - 0x1f, 0x04, 0x96, 0xa2, 0xe8, 0x9b, 0xb0, 0x68, 0xbb, 0x96, 0x6d, 0x12, 0x7f, 0x2d, 0xcb, 0xb5, - 0xac, 0x27, 0x69, 0x99, 0x8d, 0xbe, 0x91, 0xfd, 0xe1, 0xd9, 0xc6, 0x02, 0x0e, 0x85, 0x2a, 0xef, - 0x41, 0x29, 0xa6, 0x36, 0x61, 0x6e, 0xab, 0x90, 0x3b, 0x32, 0x9c, 0x09, 0x91, 0xb3, 0x13, 0x8d, - 0xf7, 0xd3, 0x4f, 0x52, 0xea, 0x47, 0xb0, 0xda, 0x31, 0x46, 0xc4, 0x7a, 0x4a, 0x5c, 0xe2, 0xd9, - 0x26, 0x26, 0x3e, 0x9d, 0x78, 0x26, 0x61, 0x73, 0x3d, 0xb4, 0x5d, 0x2b, 0x9c, 0x2b, 0xfb, 0x9d, - 0xac, 0x45, 0x6d, 0xc2, 0x6b, 0x2d, 0xdb, 0x37, 0x3d, 0x12, 0x90, 0xcf, 0xad, 0x24, 0x13, 0x2a, - 0x39, 0x4b, 0xc1, 0xca, 0xbc, 0xf4, 0xff, 0x83, 0x9b, 0xcc, 0xc4, 0x96, 0xee, 0x49, 0x8a, 0xee, - 0x8f, 0x89, 0xc9, 0x95, 0x95, 0x1e, 0xbd, 0x93, 0x64, 0xa1, 0xa4, 0x99, 0x6c, 0x2d, 0xe0, 0x1b, - 0x5c, 0x4d, 0x48, 0xe8, 0x8f, 0x89, 0x89, 0x4c, 0xb8, 0x65, 0xc9, 0x41, 0xcf, 0xa9, 0x4f, 0x73, - 0xf5, 0x89, 0xcb, 0x78, 0xc9, 0x34, 0xb7, 0x16, 0xf0, 0x6a, 0xa8, 0x2c, 0xde, 0x49, 0x03, 0xa0, - 0x10, 0xea, 0x56, 0xbf, 0x9f, 0x82, 0x62, 0xc8, 0xf4, 0xd1, 0x97, 0xa1, 0xe8, 0x1a, 0x2e, 0xd5, - 0xcd, 0xf1, 0xc4, 0xe7, 0x13, 0xca, 0x34, 0xca, 0xe7, 0x67, 0x1b, 0x85, 0x8e, 0xe1, 0xd2, 0x66, - 0x6f, 0xd7, 0xc7, 0x05, 0xc6, 0x6e, 0x8e, 0x27, 0x3e, 0x7a, 0x03, 0xca, 0x23, 0x32, 0xa2, 0xde, - 0x54, 0xdf, 0x9b, 0x06, 0xc4, 0x97, 0x66, 0x2b, 0x09, 0x5a, 0x83, 0x91, 0xd0, 0x37, 0x60, 0x71, - 0x28, 0x86, 0xb4, 0x96, 0xe1, 0xdb, 0xe7, 0xcd, 0xa4, 0xd1, 0xcf, 0x8d, 0x1a, 0x87, 0x32, 0xea, - 0x6f, 0xa6, 0x60, 0x35, 0xa2, 0x92, 0x5f, 0x98, 0xd8, 0x1e, 0x19, 0x11, 0x37, 0xf0, 0xd1, 0xd7, - 0x20, 0xef, 0xd8, 0x23, 0x3b, 0xf0, 0xa5, 0xcd, 0x5f, 0x4f, 0x52, 0x1b, 0x4d, 0x0a, 0x4b, 0x30, - 0xaa, 0x43, 0xd9, 0x23, 0x3e, 0xf1, 0x8e, 0xc4, 0x8e, 0x97, 0x16, 0xbd, 0x46, 0xf8, 0x82, 0x88, - 0xba, 0x09, 0x85, 0x9e, 0x63, 0x04, 0xfb, 0xd4, 0x1b, 0x21, 0x15, 0xca, 0x86, 0x67, 0x1e, 0xd8, - 0x01, 0x31, 0x83, 0x89, 0x17, 0x9e, 0xbe, 0x0b, 0x34, 0x74, 0x0b, 0xd2, 0x54, 0x74, 0x54, 0x6c, - 0xe4, 0xcf, 0xcf, 0x36, 0xd2, 0xdd, 0x3e, 0x4e, 0x53, 0x5f, 0xfd, 0x00, 0x6e, 0xf4, 0x9c, 0xc9, - 0xd0, 0x76, 0x5b, 0xc4, 0x37, 0x3d, 0x7b, 0xcc, 0xb4, 0xb3, 0x5d, 0xc9, 0x7c, 0x54, 0xb8, 0x2b, - 0xd9, 0xef, 0xe8, 0x68, 0xa7, 0x67, 0x47, 0x5b, 0xfd, 0xf5, 0x34, 0xdc, 0xd0, 0xdc, 0xa1, 0xed, - 0x92, 0xb8, 0xf4, 0x5d, 0x58, 0x26, 0x9c, 0xa8, 0x1f, 0x09, 0x77, 0x23, 0xf5, 0x2c, 0x09, 0x6a, - 0xe8, 0x83, 0xda, 0x73, 0x7e, 0xe1, 0x61, 0xd2, 0xf4, 0x5f, 0xd1, 0x9e, 0xe8, 0x1d, 0x34, 0x58, - 0x1c, 0xf3, 0x49, 0xf8, 0x72, 0x79, 0xef, 0x26, 0xe9, 0x7a, 0x65, 0x9e, 0xa1, 0x93, 0x90, 0xb2, - 0x3f, 0x8d, 0x93, 0xf8, 0xeb, 0x34, 0xac, 0x74, 0xa8, 0x75, 0xc1, 0x0e, 0x15, 0x28, 0x1c, 0x50, - 0x3f, 0x88, 0x39, 0xc4, 0xa8, 0x8d, 0x9e, 0x40, 0x61, 0x2c, 0x97, 0x4f, 0xae, 0xfe, 0x9d, 0xe4, - 0x21, 0x0b, 0x0c, 0x8e, 0xd0, 0xe8, 0x03, 0x28, 0x86, 0x47, 0x86, 0xcd, 0xf6, 0x33, 0x6c, 0x9c, - 0x19, 0x1e, 0x7d, 0x03, 0xf2, 0x62, 0x11, 0xd6, 0xb2, 0x5c, 0xf2, 0xee, 0x67, 0xb2, 0x39, 0x96, - 0x42, 0xe8, 0x29, 0x14, 0x02, 0xc7, 0xd7, 0x6d, 0x77, 0x9f, 0xae, 0xe5, 0xb8, 0x82, 0x8d, 0x44, - 0x27, 0x43, 0x2d, 0x32, 0xd8, 0xee, 0xb7, 0xdd, 0x7d, 0xda, 0x28, 0x9d, 0x9f, 0x6d, 0x2c, 0xca, - 0x06, 0x5e, 0x0c, 0x1c, 0x9f, 0xfd, 0x40, 0x77, 0x20, 0xbb, 0x6f, 0x8f, 0xfd, 0xb5, 0x7c, 0x35, - 0xf5, 0x4e, 0xa1, 0x51, 0x38, 0x3f, 0xdb, 0xc8, 0x6e, 0xb6, 0x7b, 0x7d, 0xcc, 0xa9, 0xea, 0xf7, - 0x52, 0x50, 0x8a, 0xe9, 0x40, 0xaf, 0x03, 0x04, 0xde, 0xc4, 0x0f, 0x74, 0x8f, 0xd2, 0x80, 0x9b, - 0xb2, 0x8c, 0x8b, 0x9c, 0x82, 0x29, 0x0d, 0x50, 0x0d, 0x6e, 0x9a, 0xc4, 0x0b, 0x74, 0xdb, 0xf7, - 0x27, 0xc4, 0xd3, 0xfd, 0xc9, 0xde, 0xc7, 0xc4, 0x0c, 0xb8, 0x59, 0xcb, 0xf8, 0x06, 0x63, 0xb5, - 0x39, 0xa7, 0x2f, 0x18, 0xe8, 0x31, 0xdc, 0x8a, 0xe3, 0xc7, 0x93, 0x3d, 0xc7, 0x36, 0x75, 0xb6, - 0xd4, 0x19, 0x2e, 0x72, 0x73, 0x26, 0xd2, 0xe3, 0xbc, 0x67, 0x64, 0xaa, 0xfe, 0x38, 0x05, 0x0a, - 0x36, 0xf6, 0x83, 0x1d, 0x32, 0xda, 0x23, 0x5e, 0x3f, 0x30, 0x82, 0x89, 0x8f, 0x6e, 0x41, 0xde, - 0x21, 0x86, 0x45, 0x3c, 0x3e, 0xa8, 0x02, 0x96, 0x2d, 0xb4, 0xcb, 0xce, 0xb7, 0x61, 0x1e, 0x18, - 0x7b, 0xb6, 0x63, 0x07, 0x53, 0x3e, 0x94, 0xe5, 0xe4, 0x0d, 0x3e, 0xaf, 0xb3, 0x86, 0x63, 0x82, - 0xf8, 0x82, 0x1a, 0xb4, 0x06, 0x8b, 0x23, 0xe2, 0xfb, 0xc6, 0x90, 0xf0, 0x91, 0x16, 0x71, 0xd8, - 0x54, 0x3f, 0x80, 0x72, 0x5c, 0x0e, 0x95, 0x60, 0x71, 0xb7, 0xf3, 0xac, 0xd3, 0x7d, 0xd1, 0x51, - 0x16, 0xd0, 0x0a, 0x94, 0x76, 0x3b, 0x58, 0xab, 0x37, 0xb7, 0xea, 0x8d, 0x6d, 0x4d, 0x49, 0xa1, - 0x25, 0x28, 0xce, 0x9a, 0x69, 0xf5, 0x8f, 0x53, 0x00, 0xcc, 0xdc, 0x72, 0x52, 0xef, 0x43, 0xce, - 0x0f, 0x8c, 0x40, 0xec, 0xd9, 0xe5, 0x47, 0x6f, 0x5d, 0xb6, 0xc2, 0x72, 0xbc, 0xec, 0x1f, 0xc1, - 0x42, 0x24, 0x3e, 0xc2, 0xf4, 0x85, 0x11, 0x32, 0xf7, 0x61, 0x58, 0x96, 0x27, 0x07, 0xce, 0x7f, - 0xab, 0x1f, 0x40, 0x8e, 0x4b, 0x5f, 0x1c, 0x6e, 0x01, 0xb2, 0x2d, 0xf6, 0x2b, 0x85, 0x8a, 0x90, - 0xc3, 0x5a, 0xbd, 0xf5, 0x1d, 0x25, 0x8d, 0x14, 0x28, 0xb7, 0xda, 0xfd, 0x66, 0xb7, 0xd3, 0xd1, - 0x9a, 0x03, 0xad, 0xa5, 0x64, 0xd4, 0xbb, 0x90, 0x6b, 0x8f, 0x98, 0xe6, 0x3b, 0xec, 0x40, 0xec, - 0x13, 0x8f, 0xb8, 0x66, 0x78, 0xce, 0x66, 0x04, 0xf5, 0x7b, 0x65, 0xc8, 0xed, 0xd0, 0x89, 0x1b, - 0xa0, 0x47, 0x31, 0xa7, 0xb6, 0x9c, 0x1c, 0x3f, 0x70, 0x60, 0x6d, 0x30, 0x1d, 0x13, 0xe9, 0xf4, - 0x6e, 0x41, 0x5e, 0x1c, 0x1d, 0x39, 0x1d, 0xd9, 0x62, 0xf4, 0xc0, 0xf0, 0x86, 0x24, 0x90, 0xf3, - 0x91, 0x2d, 0xf4, 0x0e, 0xbb, 0xcf, 0x0c, 0x8b, 0xba, 0xce, 0x94, 0x9f, 0xb0, 0x82, 0xb8, 0xb4, - 0x30, 0x31, 0xac, 0xae, 0xeb, 0x4c, 0x71, 0xc4, 0x45, 0x5b, 0x50, 0xde, 0xb3, 0x5d, 0x4b, 0xa7, - 0x63, 0x71, 0x05, 0xe4, 0x2e, 0x3f, 0x8f, 0x62, 0x54, 0x0d, 0xdb, 0xb5, 0xba, 0x02, 0x8c, 0x4b, - 0x7b, 0xb3, 0x06, 0xea, 0xc0, 0xf2, 0x11, 0x75, 0x26, 0x23, 0x12, 0xe9, 0xca, 0x73, 0x5d, 0x6f, - 0x5f, 0xae, 0xeb, 0x39, 0xc7, 0x87, 0xda, 0x96, 0x8e, 0xe2, 0x4d, 0xf4, 0x0c, 0x96, 0x82, 0xd1, - 0x78, 0xdf, 0x8f, 0xd4, 0x2d, 0x72, 0x75, 0x5f, 0xba, 0xc2, 0x60, 0x0c, 0x1e, 0x6a, 0x2b, 0x07, - 0xb1, 0x16, 0x7a, 0x0a, 0x25, 0x93, 0xba, 0xbe, 0xed, 0x07, 0xc4, 0x35, 0xa7, 0x6b, 0x05, 0x6e, - 0xfb, 0x2b, 0x66, 0xd9, 0x9c, 0x81, 0x71, 0x5c, 0xb2, 0xf2, 0xab, 0x19, 0x28, 0xc5, 0x4c, 0x80, - 0xfa, 0x50, 0x1a, 0x7b, 0x74, 0x6c, 0x0c, 0xf9, 0x7d, 0x28, 0x17, 0xf5, 0xe1, 0x67, 0x32, 0x5f, - 0xad, 0x37, 0x13, 0xc4, 0x71, 0x2d, 0xea, 0x69, 0x1a, 0x4a, 0x31, 0x26, 0xba, 0x07, 0x05, 0xdc, - 0xc3, 0xed, 0xe7, 0xf5, 0x81, 0xa6, 0x2c, 0x54, 0xee, 0x9c, 0x9c, 0x56, 0xd7, 0xb8, 0xb6, 0xb8, - 0x82, 0x9e, 0x67, 0x1f, 0xb1, 0x3d, 0xfc, 0x0e, 0x2c, 0x86, 0xd0, 0x54, 0xe5, 0x8b, 0x27, 0xa7, - 0xd5, 0xd7, 0xe6, 0xa1, 0x31, 0x24, 0xee, 0x6f, 0xd5, 0xb1, 0xd6, 0x52, 0xd2, 0xc9, 0x48, 0xdc, - 0x3f, 0x30, 0x3c, 0x62, 0xa1, 0x2f, 0x41, 0x5e, 0x02, 0x33, 0x95, 0xca, 0xc9, 0x69, 0xf5, 0xd6, - 0x3c, 0x70, 0x86, 0xc3, 0xfd, 0xed, 0xfa, 0x73, 0x4d, 0xc9, 0x26, 0xe3, 0x70, 0xdf, 0x31, 0x8e, - 0x08, 0x7a, 0x0b, 0x72, 0x02, 0x96, 0xab, 0xdc, 0x3e, 0x39, 0xad, 0x7e, 0xe1, 0x15, 0x75, 0x0c, - 0x55, 0x59, 0xfb, 0x8d, 0xdf, 0x5f, 0x5f, 0xf8, 0xf3, 0x3f, 0x58, 0x57, 0xe6, 0xd9, 0x95, 0xff, - 0x4e, 0xc1, 0xd2, 0x85, 0xbd, 0x83, 0x54, 0xc8, 0xbb, 0xd4, 0xa4, 0x63, 0x71, 0x4d, 0x16, 0x1a, - 0x70, 0x7e, 0xb6, 0x91, 0xef, 0xd0, 0x26, 0x1d, 0x4f, 0xb1, 0xe4, 0xa0, 0x67, 0x73, 0x17, 0xfd, - 0xe3, 0xcf, 0xb8, 0x31, 0x13, 0xaf, 0xfa, 0x0f, 0x61, 0xc9, 0xf2, 0xec, 0x23, 0xe2, 0xe9, 0x26, - 0x75, 0xf7, 0xed, 0xa1, 0xbc, 0x02, 0x2b, 0x89, 0xd1, 0x28, 0x07, 0xe2, 0xb2, 0x10, 0x68, 0x72, - 0xfc, 0x4f, 0x71, 0xc9, 0x57, 0x9e, 0x43, 0x39, 0xbe, 0xd5, 0xd9, 0xbd, 0xe4, 0xdb, 0xbf, 0x48, - 0x64, 0xd8, 0xc9, 0x83, 0x54, 0x5c, 0x64, 0x14, 0x11, 0x74, 0xbe, 0x0d, 0xd9, 0x11, 0xb5, 0x84, - 0x9e, 0xa5, 0xc6, 0x4d, 0x16, 0x6b, 0xfc, 0xe3, 0xd9, 0x46, 0x89, 0xfa, 0xb5, 0x4d, 0xdb, 0x21, - 0x3b, 0xd4, 0x22, 0x98, 0x03, 0xd4, 0x1f, 0xa4, 0x20, 0xcb, 0x9c, 0x0e, 0xfa, 0x22, 0x64, 0x1b, - 0xed, 0x4e, 0x4b, 0x59, 0xa8, 0xdc, 0x38, 0x39, 0xad, 0x2e, 0x71, 0x9b, 0x30, 0x06, 0xdb, 0xbc, - 0x68, 0x03, 0xf2, 0xcf, 0xbb, 0xdb, 0xbb, 0x3b, 0x6c, 0x7f, 0xdd, 0x3c, 0x39, 0xad, 0xae, 0x44, - 0x6c, 0x61, 0x35, 0xf4, 0x3a, 0xe4, 0x06, 0x3b, 0xbd, 0xcd, 0xbe, 0x92, 0xae, 0xa0, 0x93, 0xd3, - 0xea, 0x72, 0xc4, 0xe7, 0x83, 0x46, 0x6f, 0x40, 0xae, 0xd3, 0x6b, 0xf7, 0x34, 0x25, 0x53, 0xb9, - 0x75, 0x72, 0x5a, 0x45, 0x11, 0x9b, 0xe7, 0x04, 0x3d, 0x7b, 0x4c, 0x2a, 0x37, 0xe4, 0xca, 0x17, - 0x23, 0x9e, 0xfa, 0xa3, 0x14, 0x94, 0x62, 0x87, 0x92, 0x6d, 0xde, 0x96, 0xb6, 0x59, 0xdf, 0xdd, - 0x1e, 0x28, 0x0b, 0xb1, 0xcd, 0x1b, 0x83, 0xb4, 0xc8, 0xbe, 0x31, 0x71, 0x98, 0x2f, 0x84, 0x66, - 0xb7, 0xd3, 0x6f, 0xf7, 0x07, 0x5a, 0x67, 0xa0, 0xa4, 0x2a, 0x6b, 0x27, 0xa7, 0xd5, 0xd5, 0x79, - 0xf0, 0xe6, 0xc4, 0x71, 0xd8, 0xf6, 0x6d, 0xd6, 0x9b, 0x5b, 0xfc, 0x3c, 0xcc, 0xb6, 0x6f, 0x0c, - 0xd5, 0x34, 0xcc, 0x03, 0x62, 0xa1, 0x77, 0xa1, 0xd8, 0xd2, 0xb6, 0xb5, 0xa7, 0x75, 0x7e, 0x03, - 0x54, 0x5e, 0x3f, 0x39, 0xad, 0xde, 0x7e, 0xb5, 0x77, 0x87, 0x0c, 0x8d, 0x80, 0x58, 0x73, 0xdb, - 0x38, 0x06, 0x51, 0xff, 0x33, 0x0d, 0x4b, 0x98, 0x25, 0xd4, 0x5e, 0xd0, 0xa3, 0x8e, 0x6d, 0x4e, - 0x51, 0x0f, 0x8a, 0x26, 0x75, 0x2d, 0x3b, 0xe6, 0x4b, 0x1e, 0x5d, 0x12, 0x54, 0xcd, 0xa4, 0xc2, - 0x56, 0x33, 0x94, 0xc4, 0x33, 0x25, 0xe8, 0x3e, 0xe4, 0x2c, 0xe2, 0x18, 0x53, 0x19, 0xdd, 0xdd, - 0xae, 0x89, 0x94, 0xbd, 0x16, 0xa6, 0xec, 0xb5, 0x96, 0x4c, 0xd9, 0xb1, 0xc0, 0xf1, 0x2c, 0xc6, - 0x78, 0xa9, 0x1b, 0x41, 0x40, 0x46, 0xe3, 0x40, 0x84, 0x76, 0x59, 0x5c, 0x1a, 0x19, 0x2f, 0xeb, - 0x92, 0x84, 0x1e, 0x42, 0xfe, 0xd8, 0x76, 0x2d, 0x7a, 0x2c, 0xa3, 0xb7, 0x2b, 0x94, 0x4a, 0xa0, - 0x7a, 0xc2, 0xc2, 0x96, 0xb9, 0x61, 0xb2, 0x6d, 0xd6, 0xe9, 0x76, 0xb4, 0x70, 0x9b, 0x49, 0x7e, - 0xd7, 0xed, 0x50, 0x97, 0xf9, 0x08, 0xe8, 0x76, 0xf4, 0xcd, 0x7a, 0x7b, 0x7b, 0x17, 0xb3, 0xad, - 0xb6, 0x7a, 0x72, 0x5a, 0x55, 0x22, 0xc8, 0xa6, 0x61, 0x3b, 0x2c, 0x9d, 0xb8, 0x0d, 0x99, 0x7a, - 0xe7, 0x3b, 0x4a, 0xba, 0xa2, 0x9c, 0x9c, 0x56, 0xcb, 0x11, 0xbb, 0xee, 0x4e, 0x67, 0x76, 0x9f, - 0xef, 0x57, 0xfd, 0x9b, 0x0c, 0x94, 0x77, 0xc7, 0x96, 0x11, 0x10, 0x71, 0x16, 0x51, 0x15, 0x4a, - 0x63, 0xc3, 0x33, 0x1c, 0x87, 0x38, 0xb6, 0x3f, 0x92, 0xc5, 0x88, 0x38, 0x09, 0xbd, 0xf7, 0x59, - 0xcd, 0xd8, 0x28, 0xb0, 0xf3, 0xf5, 0xfd, 0x7f, 0xde, 0x48, 0x85, 0x06, 0xdd, 0x85, 0xe5, 0x7d, - 0x31, 0x5a, 0xdd, 0x30, 0xf9, 0xc2, 0x66, 0xf8, 0xc2, 0xd6, 0x92, 0x16, 0x36, 0x3e, 0xac, 0x9a, - 0x9c, 0x64, 0x9d, 0x4b, 0xe1, 0xa5, 0xfd, 0x78, 0x13, 0x3d, 0x86, 0xc5, 0x11, 0x75, 0xed, 0x80, - 0x7a, 0xd7, 0xaf, 0x42, 0x88, 0x44, 0xf7, 0xe0, 0x06, 0x5b, 0xdc, 0x70, 0x3c, 0x9c, 0xcd, 0xaf, - 0xfc, 0x34, 0x5e, 0x19, 0x19, 0x2f, 0x65, 0x87, 0x98, 0x91, 0x51, 0x03, 0x72, 0xd4, 0x63, 0x31, - 0x65, 0x9e, 0x0f, 0xf7, 0xdd, 0x6b, 0x87, 0x2b, 0x1a, 0x5d, 0x26, 0x83, 0x85, 0xa8, 0xfa, 0x75, - 0x58, 0xba, 0x30, 0x09, 0x16, 0x4a, 0xf5, 0xea, 0xbb, 0x7d, 0x4d, 0x59, 0x40, 0x65, 0x28, 0x34, - 0xbb, 0x9d, 0x41, 0xbb, 0xb3, 0xcb, 0x62, 0xc1, 0x32, 0x14, 0x70, 0x77, 0x7b, 0xbb, 0x51, 0x6f, - 0x3e, 0x53, 0xd2, 0x6a, 0x0d, 0x4a, 0x31, 0x6d, 0x68, 0x19, 0xa0, 0x3f, 0xe8, 0xf6, 0xf4, 0xcd, - 0x36, 0xee, 0x0f, 0x44, 0x24, 0xd9, 0x1f, 0xd4, 0xf1, 0x40, 0x12, 0x52, 0xea, 0xbf, 0xa7, 0xc3, - 0x15, 0x95, 0xc1, 0x63, 0xe3, 0x62, 0xf0, 0x78, 0xc5, 0xe0, 0x65, 0xf8, 0x38, 0x6b, 0x44, 0x41, - 0xe4, 0x7b, 0x00, 0x7c, 0xe3, 0x10, 0x4b, 0x37, 0x02, 0xb9, 0xf0, 0x95, 0x57, 0x8c, 0x3c, 0x08, - 0x6b, 0x62, 0xb8, 0x28, 0xd1, 0xf5, 0x00, 0x7d, 0x03, 0xca, 0x26, 0x1d, 0x8d, 0x1d, 0x22, 0x85, - 0x33, 0xd7, 0x0a, 0x97, 0x22, 0x7c, 0x3d, 0x88, 0x87, 0xaf, 0xd9, 0x8b, 0x01, 0xf6, 0xaf, 0xa5, - 0x42, 0xcb, 0x24, 0x44, 0xac, 0x65, 0x28, 0xec, 0xf6, 0x5a, 0xf5, 0x41, 0xbb, 0xf3, 0x54, 0x49, - 0x21, 0x80, 0x3c, 0x37, 0x75, 0x4b, 0x49, 0xb3, 0x48, 0xbb, 0xd9, 0xdd, 0xe9, 0x6d, 0x6b, 0xdc, - 0x63, 0xa1, 0x55, 0x50, 0x42, 0x63, 0xeb, 0xdc, 0x90, 0x5a, 0x4b, 0xc9, 0xa2, 0x9b, 0xb0, 0x12, - 0x51, 0xa5, 0x64, 0x0e, 0xdd, 0x02, 0x14, 0x11, 0x67, 0x2a, 0xf2, 0xea, 0x2f, 0xc3, 0x4a, 0x93, - 0xba, 0x81, 0x61, 0xbb, 0x51, 0x16, 0xf2, 0x88, 0x4d, 0x5a, 0x92, 0x74, 0x5b, 0xd6, 0x92, 0x1a, - 0x2b, 0xe7, 0x67, 0x1b, 0xa5, 0x08, 0xda, 0x6e, 0xf1, 0x70, 0x4a, 0x36, 0x2c, 0x76, 0x7e, 0xc7, - 0xb6, 0xc5, 0x8d, 0x9b, 0x6b, 0x2c, 0x9e, 0x9f, 0x6d, 0x64, 0x7a, 0xed, 0x16, 0x66, 0x34, 0xf4, - 0x45, 0x28, 0x92, 0x97, 0x76, 0xa0, 0x9b, 0xec, 0xee, 0x62, 0x06, 0xcc, 0xe1, 0x02, 0x23, 0x34, - 0xd9, 0x55, 0xd5, 0x00, 0xe8, 0x51, 0x2f, 0x90, 0x3d, 0x7f, 0x15, 0x72, 0x63, 0xea, 0xf1, 0xea, - 0xc7, 0xa5, 0x35, 0x39, 0x06, 0x17, 0x1b, 0x15, 0x0b, 0xb0, 0xfa, 0x83, 0x0c, 0xc0, 0xc0, 0xf0, - 0x0f, 0xa5, 0x92, 0x27, 0x50, 0x8c, 0xea, 0x9b, 0xb2, 0x8c, 0x72, 0xe5, 0x6a, 0x47, 0x60, 0xf4, - 0x38, 0xdc, 0x6c, 0x22, 0xbf, 0x4a, 0x4c, 0x83, 0xc3, 0x8e, 0x92, 0x52, 0x94, 0x8b, 0x49, 0x14, - 0x0b, 0x05, 0x88, 0xe7, 0xc9, 0x95, 0x67, 0x3f, 0x51, 0x93, 0x5f, 0x0b, 0xc2, 0x68, 0x32, 0x42, - 0x4f, 0x2c, 0x1c, 0xcd, 0xad, 0xc8, 0xd6, 0x02, 0x9e, 0xc9, 0xa1, 0x0f, 0xa1, 0xc4, 0xe6, 0xad, - 0xfb, 0x9c, 0x27, 0x83, 0xf3, 0x4b, 0x4d, 0x25, 0x34, 0x60, 0x18, 0xcf, 0xac, 0xfc, 0x3a, 0x80, - 0x31, 0x1e, 0x3b, 0x36, 0xb1, 0xf4, 0xbd, 0x29, 0x8f, 0xc6, 0x8b, 0xb8, 0x28, 0x29, 0x8d, 0x29, - 0x3b, 0x2e, 0x21, 0xdb, 0x08, 0x78, 0x84, 0x7d, 0x8d, 0x01, 0x25, 0xba, 0x1e, 0x34, 0x14, 0x58, - 0xf6, 0x26, 0x2e, 0x33, 0xa8, 0x1c, 0x9d, 0xfa, 0x47, 0x69, 0x78, 0xad, 0x43, 0x82, 0x63, 0xea, - 0x1d, 0xd6, 0x83, 0xc0, 0x30, 0x0f, 0x46, 0xc4, 0x95, 0xcb, 0x17, 0x4b, 0x7a, 0x52, 0x17, 0x92, - 0x9e, 0x35, 0x58, 0x34, 0x1c, 0xdb, 0xf0, 0x89, 0x08, 0xf0, 0x8a, 0x38, 0x6c, 0xb2, 0xd4, 0x8c, - 0x25, 0x7a, 0xc4, 0xf7, 0x89, 0xa8, 0xcc, 0xb0, 0x81, 0x87, 0x04, 0xf4, 0x5d, 0xb8, 0x25, 0x43, - 0x39, 0x23, 0xea, 0x8a, 0x25, 0x1d, 0x61, 0x89, 0x57, 0x4b, 0xcc, 0x3c, 0x93, 0x07, 0x27, 0x63, - 0xbd, 0x19, 0xb9, 0x3b, 0x0e, 0x64, 0xe4, 0xb8, 0x6a, 0x25, 0xb0, 0x2a, 0x4f, 0xe1, 0xf6, 0xa5, - 0x22, 0x9f, 0xab, 0xf2, 0xf3, 0xf7, 0x69, 0x80, 0x76, 0xaf, 0xbe, 0x23, 0x8d, 0xd4, 0x82, 0xfc, - 0xbe, 0x31, 0xb2, 0x9d, 0xe9, 0x55, 0x1e, 0x70, 0x86, 0xaf, 0xd5, 0x85, 0x39, 0x36, 0xb9, 0x0c, - 0x96, 0xb2, 0x3c, 0xef, 0x9c, 0xec, 0xb9, 0x24, 0x88, 0xf2, 0x4e, 0xde, 0x62, 0xc3, 0xf0, 0x0c, - 0x37, 0xda, 0xba, 0xa2, 0xc1, 0x16, 0x80, 0x85, 0x3c, 0xc7, 0xc6, 0x34, 0x74, 0x5b, 0xb2, 0x89, - 0xb6, 0x78, 0x7d, 0x95, 0x78, 0x47, 0xc4, 0x5a, 0xcb, 0x71, 0xa3, 0x5e, 0x37, 0x1e, 0x2c, 0xe1, - 0xc2, 0x76, 0x91, 0x74, 0xe5, 0x03, 0x1e, 0x32, 0xcd, 0x58, 0x9f, 0xcb, 0x46, 0x0f, 0x60, 0xe9, - 0xc2, 0x3c, 0x5f, 0x49, 0xf8, 0xdb, 0xbd, 0xe7, 0x5f, 0x55, 0xb2, 0xf2, 0xd7, 0xd7, 0x95, 0xbc, - 0xfa, 0x57, 0x19, 0xe1, 0x68, 0xa4, 0x55, 0x93, 0xdf, 0x15, 0x0a, 0x7c, 0x77, 0x9b, 0xd4, 0x91, - 0x0e, 0xe0, 0xed, 0xab, 0xfd, 0x0f, 0xcb, 0xfb, 0x38, 0x1c, 0x47, 0x82, 0x68, 0x03, 0x4a, 0x62, - 0x17, 0xeb, 0xec, 0xc0, 0x71, 0xb3, 0x2e, 0x61, 0x10, 0x24, 0x26, 0x89, 0xee, 0xc2, 0x32, 0x2f, - 0x10, 0xf9, 0x07, 0xc4, 0x12, 0x98, 0x2c, 0xc7, 0x2c, 0x45, 0x54, 0x0e, 0xdb, 0x81, 0xb2, 0x24, - 0xe8, 0x3c, 0xe6, 0xcf, 0xf1, 0x01, 0xdd, 0xbb, 0x6e, 0x40, 0x42, 0x84, 0xa7, 0x02, 0xa5, 0xf1, - 0xac, 0xa1, 0xfe, 0x3c, 0x14, 0xc2, 0xc1, 0xa2, 0x35, 0xc8, 0x0c, 0x9a, 0x3d, 0x65, 0xa1, 0xb2, - 0x72, 0x72, 0x5a, 0x2d, 0x85, 0xe4, 0x41, 0xb3, 0xc7, 0x38, 0xbb, 0xad, 0x9e, 0x92, 0xba, 0xc8, - 0xd9, 0x6d, 0xf5, 0x50, 0x05, 0xb2, 0xfd, 0xe6, 0xa0, 0x17, 0xc6, 0x67, 0x21, 0x8b, 0xd1, 0x2a, - 0x59, 0x16, 0x9f, 0xa9, 0xfb, 0x50, 0x8a, 0xf5, 0x8e, 0xde, 0x84, 0xc5, 0x76, 0xe7, 0x29, 0xd6, - 0xfa, 0x7d, 0x65, 0x41, 0xa4, 0x07, 0x31, 0x6e, 0xdb, 0x1d, 0xb2, 0xb5, 0x43, 0xaf, 0x43, 0x76, - 0xab, 0xcb, 0xee, 0x7d, 0x91, 0x7f, 0xc4, 0x10, 0x5b, 0xd4, 0x0f, 0x2a, 0x37, 0x65, 0xe0, 0x17, - 0x57, 0xac, 0xfe, 0x4e, 0x0a, 0xf2, 0xe2, 0xa0, 0x25, 0x2e, 0x62, 0x1d, 0x16, 0xc3, 0x32, 0x83, - 0x48, 0x0e, 0xdf, 0xbe, 0x3c, 0x91, 0xab, 0xc9, 0xbc, 0x4b, 0x6c, 0xcd, 0x50, 0xae, 0xf2, 0x3e, - 0x94, 0xe3, 0x8c, 0xcf, 0xb5, 0x31, 0xbf, 0x0b, 0x25, 0xb6, 0xf7, 0xc3, 0x84, 0xee, 0x11, 0xe4, - 0x85, 0xb3, 0x88, 0xee, 0xa1, 0xcb, 0xb3, 0x4a, 0x89, 0x44, 0x4f, 0x60, 0x51, 0x64, 0xa2, 0x61, - 0xed, 0x79, 0xfd, 0xea, 0x13, 0x86, 0x43, 0xb8, 0xfa, 0x21, 0x64, 0x7b, 0x84, 0x78, 0xcc, 0xf6, - 0x2e, 0xb5, 0xc8, 0xec, 0xea, 0x96, 0x49, 0xb4, 0x45, 0xda, 0x2d, 0x96, 0x44, 0x5b, 0xa4, 0x6d, - 0x45, 0xf5, 0xb3, 0x74, 0xac, 0x7e, 0x36, 0x80, 0xf2, 0x0b, 0x62, 0x0f, 0x0f, 0x02, 0x62, 0x71, - 0x45, 0xef, 0x42, 0x76, 0x4c, 0xa2, 0xc1, 0xaf, 0x25, 0x6e, 0x3e, 0x42, 0x3c, 0xcc, 0x51, 0xcc, - 0xc7, 0x1c, 0x73, 0x69, 0xf9, 0x60, 0x22, 0x5b, 0xea, 0xdf, 0xa5, 0x61, 0xb9, 0xed, 0xfb, 0x13, - 0xc3, 0x35, 0xc3, 0xa8, 0xee, 0x9b, 0x17, 0xa3, 0xba, 0xc4, 0x97, 0xa5, 0x8b, 0x22, 0x17, 0xcb, - 0x82, 0xf2, 0x66, 0x4d, 0x47, 0x37, 0xab, 0xfa, 0x6f, 0xa9, 0xb0, 0xf6, 0x77, 0x37, 0xe6, 0x0a, - 0x44, 0x8e, 0x18, 0xd7, 0x44, 0x76, 0xdd, 0x43, 0x97, 0x1e, 0xbb, 0x2c, 0x7b, 0xc5, 0x5a, 0x47, - 0x7b, 0xa1, 0xa4, 0xc4, 0xf6, 0xbc, 0x00, 0xc2, 0xc4, 0x25, 0xc7, 0x4c, 0x53, 0x4f, 0xeb, 0xb4, - 0x58, 0x14, 0x96, 0x4e, 0xd0, 0xd4, 0x23, 0xae, 0x65, 0xbb, 0x43, 0xf4, 0x26, 0xe4, 0xdb, 0xfd, - 0xfe, 0x2e, 0x4f, 0x21, 0x5f, 0x3b, 0x39, 0xad, 0xde, 0xbc, 0x80, 0xe2, 0x75, 0x5f, 0x8b, 0x81, - 0x58, 0x0a, 0xc4, 0xe2, 0xb3, 0x04, 0x10, 0x8b, 0xad, 0x05, 0x08, 0x77, 0x07, 0xf5, 0x81, 0xa6, - 0xe4, 0x12, 0x40, 0x98, 0xb2, 0xbf, 0xf2, 0xb8, 0xfd, 0x53, 0x1a, 0x94, 0xba, 0x69, 0x92, 0x71, - 0xc0, 0xf8, 0x32, 0xeb, 0x1c, 0x40, 0x61, 0xcc, 0x7e, 0xd9, 0x24, 0x8c, 0xa0, 0x9e, 0x24, 0xbe, - 0x8d, 0xce, 0xc9, 0xd5, 0x30, 0x75, 0x48, 0xdd, 0x1a, 0xd9, 0xbe, 0x6f, 0x53, 0x57, 0xd0, 0x70, - 0xa4, 0xa9, 0xf2, 0x1f, 0x29, 0xb8, 0x99, 0x80, 0x40, 0x0f, 0x20, 0xeb, 0x51, 0x27, 0x5c, 0xc3, - 0x3b, 0x97, 0x95, 0x75, 0x99, 0x28, 0xe6, 0x48, 0xb4, 0x0e, 0x60, 0x4c, 0x02, 0x6a, 0xf0, 0xfe, - 0xf9, 0xea, 0x15, 0x70, 0x8c, 0x82, 0x5e, 0x40, 0xde, 0x27, 0xa6, 0x47, 0xc2, 0x38, 0xfb, 0xc3, - 0xff, 0xed, 0xe8, 0x6b, 0x7d, 0xae, 0x06, 0x4b, 0x75, 0x95, 0x1a, 0xe4, 0x05, 0x85, 0x6d, 0x7b, - 0xcb, 0x08, 0x0c, 0x59, 0xf4, 0xe7, 0xbf, 0xd9, 0x6e, 0x32, 0x9c, 0x61, 0xb8, 0x9b, 0x0c, 0x67, - 0xa8, 0xfe, 0x65, 0x1a, 0x40, 0x7b, 0x19, 0x10, 0xcf, 0x35, 0x9c, 0x66, 0x1d, 0x69, 0xb1, 0x9b, - 0x41, 0xcc, 0xf6, 0xcb, 0x89, 0xef, 0x1c, 0x91, 0x44, 0xad, 0x59, 0x4f, 0xb8, 0x1b, 0x6e, 0x43, - 0x66, 0xe2, 0xc9, 0xe7, 0x6e, 0x11, 0x23, 0xef, 0xe2, 0x6d, 0xcc, 0x68, 0x48, 0x9b, 0xb9, 0xad, - 0xcc, 0xe5, 0x8f, 0xda, 0xb1, 0x0e, 0x12, 0x5d, 0x17, 0x3b, 0xf9, 0xa6, 0xa1, 0x9b, 0x44, 0xde, - 0x2a, 0x65, 0x71, 0xf2, 0x9b, 0xf5, 0x26, 0xf1, 0x02, 0x9c, 0x37, 0x0d, 0xf6, 0xff, 0xa7, 0xf2, - 0x6f, 0xef, 0x02, 0xcc, 0xa6, 0x86, 0xd6, 0x21, 0xd7, 0xdc, 0xec, 0xf7, 0xb7, 0x95, 0x05, 0xe1, - 0xc0, 0x67, 0x2c, 0x4e, 0x56, 0xff, 0x2c, 0x0d, 0x85, 0x66, 0x5d, 0x5e, 0xb9, 0x4d, 0x50, 0xb8, - 0x57, 0xe2, 0x4f, 0x25, 0xe4, 0xe5, 0xd8, 0xf6, 0xa6, 0xd2, 0xb1, 0x5c, 0x91, 0xf0, 0x2e, 0x33, - 0x11, 0x36, 0x6a, 0x8d, 0x0b, 0x20, 0x0c, 0x65, 0x22, 0x8d, 0xa0, 0x9b, 0x46, 0xe8, 0xe3, 0xd7, - 0xaf, 0x36, 0x96, 0x48, 0x5d, 0x66, 0x6d, 0x1f, 0x97, 0x42, 0x25, 0x4d, 0xc3, 0x47, 0xef, 0xc1, - 0x8a, 0x6f, 0x0f, 0x5d, 0xdb, 0x1d, 0xea, 0xa1, 0xf1, 0xf8, 0xbb, 0x4d, 0xe3, 0xc6, 0xf9, 0xd9, - 0xc6, 0x52, 0x5f, 0xb0, 0xa4, 0x0d, 0x97, 0x24, 0xb2, 0xc9, 0x4d, 0x89, 0xbe, 0x0e, 0xcb, 0x31, - 0x51, 0x66, 0x45, 0x61, 0x76, 0xe5, 0xfc, 0x6c, 0xa3, 0x1c, 0x49, 0x3e, 0x23, 0x53, 0x5c, 0x8e, - 0x04, 0x9f, 0x11, 0x5e, 0x9b, 0xd9, 0xa7, 0x9e, 0x49, 0x74, 0x8f, 0x9f, 0x69, 0x7e, 0xbb, 0x67, - 0x71, 0x89, 0xd3, 0xc4, 0x31, 0x57, 0x9f, 0xc3, 0xcd, 0xae, 0x67, 0x1e, 0x10, 0x3f, 0x10, 0xa6, - 0x90, 0x56, 0xfc, 0x10, 0xee, 0x04, 0x86, 0x7f, 0xa8, 0x1f, 0xd8, 0x7e, 0x40, 0xbd, 0xa9, 0xee, - 0x91, 0x80, 0xb8, 0x8c, 0xaf, 0xf3, 0xa7, 0x60, 0x59, 0x34, 0xbc, 0xcd, 0x30, 0x5b, 0x02, 0x82, - 0x43, 0xc4, 0x36, 0x03, 0xa8, 0x6d, 0x28, 0xb3, 0x14, 0x46, 0x16, 0xd5, 0xd8, 0xec, 0xc1, 0xa1, - 0x43, 0xfd, 0x33, 0x5f, 0x53, 0x45, 0x87, 0x0e, 0xc5, 0x4f, 0xf5, 0xdb, 0xa0, 0xb4, 0x6c, 0x7f, - 0x6c, 0x04, 0xe6, 0x41, 0x58, 0x0d, 0x45, 0x2d, 0x50, 0x0e, 0x88, 0xe1, 0x05, 0x7b, 0xc4, 0x08, - 0xf4, 0x31, 0xf1, 0x6c, 0x6a, 0x5d, 0xbf, 0xca, 0x2b, 0x91, 0x48, 0x8f, 0x4b, 0xa8, 0xff, 0x95, - 0x02, 0xc0, 0xc6, 0x7e, 0x18, 0xad, 0x7d, 0x05, 0x6e, 0xf8, 0xae, 0x31, 0xf6, 0x0f, 0x68, 0xa0, - 0xdb, 0x6e, 0x40, 0xbc, 0x23, 0xc3, 0x91, 0xc5, 0x1d, 0x25, 0x64, 0xb4, 0x25, 0x1d, 0xbd, 0x0b, - 0xe8, 0x90, 0x90, 0xb1, 0x4e, 0x1d, 0x4b, 0x0f, 0x99, 0xe2, 0xa1, 0x3a, 0x8b, 0x15, 0xc6, 0xe9, - 0x3a, 0x56, 0x3f, 0xa4, 0xa3, 0x06, 0xac, 0xb3, 0xe9, 0x13, 0x37, 0xf0, 0x6c, 0xe2, 0xeb, 0xfb, - 0xd4, 0xd3, 0x7d, 0x87, 0x1e, 0xeb, 0xfb, 0xd4, 0x71, 0xe8, 0x31, 0xf1, 0xc2, 0xba, 0x59, 0xc5, - 0xa1, 0x43, 0x4d, 0x80, 0x36, 0xa9, 0xd7, 0x77, 0xe8, 0xf1, 0x66, 0x88, 0x60, 0x21, 0xdd, 0x6c, - 0xce, 0x81, 0x6d, 0x1e, 0x86, 0x21, 0x5d, 0x44, 0x1d, 0xd8, 0xe6, 0x21, 0x7a, 0x13, 0x96, 0x88, - 0x43, 0x78, 0xf9, 0x44, 0xa0, 0x72, 0x1c, 0x55, 0x0e, 0x89, 0x0c, 0xa4, 0x7e, 0x04, 0x8a, 0xe6, - 0x9a, 0xde, 0x74, 0x1c, 0x5b, 0xf3, 0x77, 0x01, 0x31, 0x27, 0xa9, 0x3b, 0xd4, 0x3c, 0xd4, 0x47, - 0x86, 0x6b, 0x0c, 0xd9, 0xb8, 0xc4, 0x0b, 0xa1, 0xc2, 0x38, 0xdb, 0xd4, 0x3c, 0xdc, 0x91, 0x74, - 0xf5, 0x3d, 0x80, 0xfe, 0xd8, 0x23, 0x86, 0xd5, 0x65, 0xd1, 0x04, 0x33, 0x1d, 0x6f, 0xe9, 0x96, - 0x7c, 0x7f, 0xa5, 0x9e, 0x3c, 0xea, 0x8a, 0x60, 0xb4, 0x22, 0xba, 0xfa, 0xff, 0xe1, 0x66, 0xcf, - 0x31, 0x4c, 0xfe, 0x2d, 0x42, 0x2f, 0x7a, 0xf2, 0x42, 0x4f, 0x20, 0x2f, 0xa0, 0x72, 0x25, 0x13, - 0x8f, 0xdb, 0xac, 0xcf, 0xad, 0x05, 0x2c, 0xf1, 0x8d, 0x32, 0xc0, 0x4c, 0x8f, 0xfa, 0x27, 0x29, - 0x28, 0x46, 0xfa, 0x51, 0x55, 0xbc, 0xe4, 0x04, 0x9e, 0x61, 0xbb, 0x32, 0xe3, 0x2f, 0xe2, 0x38, - 0x09, 0xb5, 0xa1, 0x34, 0x8e, 0xa4, 0xaf, 0x8c, 0xe7, 0x12, 0x46, 0x8d, 0xe3, 0xb2, 0xe8, 0x7d, - 0x28, 0x86, 0x0f, 0xde, 0xa1, 0x87, 0xbd, 0xfa, 0x7d, 0x7c, 0x06, 0x57, 0xbf, 0x09, 0xf0, 0x2d, - 0x6a, 0xbb, 0x03, 0x7a, 0x48, 0x5c, 0xfe, 0x44, 0xcb, 0xf2, 0x45, 0x12, 0x5a, 0x51, 0xb6, 0x78, - 0x19, 0x40, 0x2c, 0x41, 0xf4, 0x52, 0x29, 0x9a, 0xea, 0x5f, 0xa4, 0x21, 0x8f, 0x29, 0x0d, 0x9a, - 0x75, 0x54, 0x85, 0xbc, 0xf4, 0x13, 0xfc, 0xfe, 0x69, 0x14, 0xcf, 0xcf, 0x36, 0x72, 0xc2, 0x41, - 0xe4, 0x4c, 0xee, 0x19, 0x62, 0x1e, 0x3c, 0x7d, 0x99, 0x07, 0x47, 0x0f, 0xa0, 0x2c, 0x41, 0xfa, - 0x81, 0xe1, 0x1f, 0x88, 0xe4, 0xad, 0xb1, 0x7c, 0x7e, 0xb6, 0x01, 0x02, 0xb9, 0x65, 0xf8, 0x07, - 0x18, 0x04, 0x9a, 0xfd, 0x46, 0x1a, 0x94, 0x3e, 0xa6, 0xb6, 0xab, 0x07, 0x7c, 0x12, 0xb2, 0xd0, - 0x98, 0xb8, 0x8e, 0xb3, 0xa9, 0xca, 0xaf, 0x19, 0xe0, 0xe3, 0xd9, 0xe4, 0x35, 0x58, 0xf2, 0x28, - 0x0d, 0x84, 0xdb, 0xb2, 0xa9, 0x2b, 0x6b, 0x18, 0xd5, 0xc4, 0xd2, 0x36, 0xa5, 0x01, 0x96, 0x38, - 0x5c, 0xf6, 0x62, 0x2d, 0xf4, 0x00, 0x56, 0x1d, 0xc3, 0x0f, 0x74, 0xee, 0xef, 0xac, 0x99, 0xb6, - 0x3c, 0x3f, 0x6a, 0x88, 0xf1, 0x36, 0x39, 0x2b, 0x94, 0x50, 0xff, 0x21, 0x05, 0x25, 0x36, 0x19, - 0x7b, 0xdf, 0x36, 0x59, 0x90, 0xf7, 0xf9, 0x63, 0x8f, 0xdb, 0x90, 0x31, 0x7d, 0x4f, 0x1a, 0x95, - 0x5f, 0xbe, 0xcd, 0x3e, 0xc6, 0x8c, 0x86, 0x3e, 0x82, 0xbc, 0xac, 0xa5, 0x88, 0xb0, 0x43, 0xbd, - 0x3e, 0x1c, 0x95, 0xb6, 0x91, 0x72, 0x7c, 0x2f, 0xcf, 0x46, 0x27, 0x2e, 0x01, 0x1c, 0x27, 0xa1, - 0x5b, 0x90, 0x36, 0x85, 0xb9, 0xe4, 0xe7, 0x32, 0xcd, 0x0e, 0x4e, 0x9b, 0xae, 0xfa, 0xa3, 0x14, - 0x2c, 0xcd, 0x0e, 0x3c, 0xdb, 0x01, 0x77, 0xa0, 0xe8, 0x4f, 0xf6, 0xfc, 0xa9, 0x1f, 0x90, 0x51, - 0xf8, 0xfc, 0x1c, 0x11, 0x50, 0x1b, 0x8a, 0x86, 0x33, 0xa4, 0x9e, 0x1d, 0x1c, 0x8c, 0x64, 0x96, - 0x9a, 0x1c, 0x2a, 0xc4, 0x75, 0xd6, 0xea, 0xa1, 0x08, 0x9e, 0x49, 0x87, 0xf7, 0xbe, 0xf8, 0x46, - 0x81, 0xdf, 0xfb, 0x6f, 0x40, 0xd9, 0x31, 0x46, 0xbc, 0xb8, 0x14, 0xd8, 0x23, 0x31, 0x8f, 0x2c, - 0x2e, 0x49, 0xda, 0xc0, 0x1e, 0x11, 0x55, 0x85, 0x62, 0xa4, 0x0c, 0xad, 0x40, 0xa9, 0xae, 0xf5, - 0xf5, 0x87, 0x8f, 0x9e, 0xe8, 0x4f, 0x9b, 0x3b, 0xca, 0x82, 0x8c, 0x4d, 0xff, 0x34, 0x05, 0x4b, - 0xd2, 0x1d, 0xc9, 0x78, 0xff, 0x4d, 0x58, 0xf4, 0x8c, 0xfd, 0x20, 0xcc, 0x48, 0xb2, 0x62, 0x57, - 0x33, 0x0f, 0xcf, 0x32, 0x12, 0xc6, 0x4a, 0xce, 0x48, 0x62, 0x1f, 0x44, 0x64, 0xae, 0xfc, 0x20, - 0x22, 0xfb, 0x33, 0xf9, 0x20, 0x42, 0xfd, 0x15, 0x80, 0x4d, 0xdb, 0x21, 0x03, 0x51, 0x87, 0x4a, - 0xca, 0x2f, 0x59, 0x0c, 0x27, 0xeb, 0x9c, 0x61, 0x0c, 0xd7, 0x6e, 0x61, 0x46, 0x63, 0xac, 0xa1, - 0x6d, 0xc9, 0xc3, 0xc8, 0x59, 0x4f, 0x19, 0x6b, 0x68, 0x5b, 0xd1, 0xcb, 0x5d, 0xf6, 0xba, 0x97, - 0xbb, 0xd3, 0x14, 0xac, 0xc8, 0xd8, 0x35, 0x72, 0xbf, 0x5f, 0x86, 0xa2, 0x08, 0x63, 0x67, 0x09, - 0x1d, 0xff, 0x08, 0x40, 0xe0, 0xda, 0x2d, 0x5c, 0x10, 0xec, 0xb6, 0x85, 0x36, 0xa0, 0x24, 0xa1, - 0xb1, 0x4f, 0xab, 0x40, 0x90, 0x3a, 0x6c, 0xf8, 0x5f, 0x85, 0xec, 0xbe, 0xed, 0x10, 0xb9, 0xd1, - 0x13, 0x1d, 0xc0, 0xcc, 0x00, 0x5b, 0x0b, 0x98, 0xa3, 0x1b, 0x85, 0xb0, 0x50, 0xc7, 0xc7, 0x27, - 0xd3, 0xce, 0xf8, 0xf8, 0x44, 0x06, 0x3a, 0x37, 0x3e, 0x81, 0x63, 0xe3, 0x13, 0x6c, 0x31, 0x3e, - 0x09, 0x8d, 0x8f, 0x4f, 0x90, 0x7e, 0x26, 0xe3, 0xdb, 0x86, 0x5b, 0x0d, 0xc7, 0x30, 0x0f, 0x1d, - 0xdb, 0x0f, 0x88, 0x15, 0xf7, 0x18, 0x8f, 0x20, 0x7f, 0x21, 0xe8, 0xbc, 0xaa, 0xa2, 0x29, 0x91, - 0xea, 0xbf, 0xa6, 0xa0, 0xbc, 0x45, 0x0c, 0x27, 0x38, 0x98, 0x95, 0x8d, 0x02, 0xe2, 0x07, 0xf2, - 0xb2, 0xe2, 0xbf, 0xd1, 0xd7, 0xa0, 0x10, 0xc5, 0x24, 0xd7, 0xbe, 0xcd, 0x45, 0x50, 0xf4, 0x18, - 0x16, 0xd9, 0x19, 0xa3, 0x93, 0x30, 0xd9, 0xb9, 0xea, 0xd9, 0x47, 0x22, 0xd9, 0x25, 0xe3, 0x11, - 0x1e, 0x84, 0xf0, 0xad, 0x94, 0xc3, 0x61, 0x13, 0xfd, 0x5f, 0x28, 0xf3, 0x57, 0x8b, 0x30, 0xe6, - 0xca, 0x5d, 0xa7, 0xb3, 0x24, 0x1e, 0x1e, 0x45, 0xbc, 0xf5, 0x87, 0x69, 0x58, 0xdd, 0x31, 0xa6, - 0x7b, 0x44, 0xba, 0x0d, 0x62, 0x61, 0x62, 0x52, 0xcf, 0x42, 0xbd, 0xb8, 0xbb, 0xb9, 0xe2, 0x1d, - 0x33, 0x49, 0x38, 0xd9, 0xeb, 0x84, 0x09, 0x58, 0x3a, 0x96, 0x80, 0xad, 0x42, 0xce, 0xa5, 0xae, - 0x49, 0xa4, 0x2f, 0x12, 0x0d, 0xf5, 0xb7, 0x52, 0x71, 0x5f, 0x53, 0x89, 0xde, 0x18, 0x79, 0x05, - 0xaa, 0x43, 0x83, 0xa8, 0x3b, 0xf4, 0x11, 0x54, 0xfa, 0x5a, 0x13, 0x6b, 0x83, 0x46, 0xf7, 0xdb, - 0x7a, 0xbf, 0xbe, 0xdd, 0xaf, 0x3f, 0x7a, 0xa0, 0xf7, 0xba, 0xdb, 0xdf, 0x79, 0xf8, 0xf8, 0xc1, - 0xd7, 0x94, 0x54, 0xa5, 0x7a, 0x72, 0x5a, 0xbd, 0xd3, 0xa9, 0x37, 0xb7, 0xc5, 0x91, 0xd9, 0xa3, - 0x2f, 0xfb, 0x86, 0xe3, 0x1b, 0x8f, 0x1e, 0xf4, 0xa8, 0x33, 0x65, 0x18, 0xf4, 0x15, 0x40, 0x9b, - 0x1a, 0xee, 0x68, 0x03, 0x3d, 0x74, 0x68, 0xcd, 0x46, 0x53, 0x49, 0x8b, 0xb4, 0x66, 0x93, 0x78, - 0x2e, 0x09, 0xea, 0x5a, 0xff, 0xe1, 0xa3, 0x27, 0xcd, 0x46, 0x93, 0x1d, 0x82, 0x72, 0xfc, 0x76, - 0x8b, 0x5f, 0xda, 0xa9, 0x4b, 0x2f, 0xed, 0xd9, 0xdd, 0x9f, 0xbe, 0xe4, 0xee, 0xdf, 0x84, 0x55, - 0xd3, 0xa3, 0xbe, 0xaf, 0xb3, 0x5c, 0x81, 0x58, 0x73, 0xd9, 0xc8, 0x17, 0xce, 0xcf, 0x36, 0x6e, - 0x34, 0x19, 0xbf, 0xcf, 0xd9, 0x52, 0xfd, 0x0d, 0x33, 0x46, 0xe2, 0x3d, 0xa9, 0xbf, 0x9b, 0x61, - 0x61, 0x97, 0x7d, 0x64, 0x3b, 0x64, 0x48, 0x7c, 0xf4, 0x1c, 0x56, 0x4c, 0x8f, 0x58, 0x2c, 0x09, - 0x30, 0x9c, 0xf8, 0x07, 0xbd, 0xff, 0x27, 0x31, 0x02, 0x8a, 0x04, 0x6b, 0xcd, 0x48, 0xaa, 0x3f, - 0x26, 0x26, 0x5e, 0x36, 0x2f, 0xb4, 0xd1, 0xc7, 0xb0, 0xe2, 0x13, 0xc7, 0x76, 0x27, 0x2f, 0x75, - 0x93, 0xba, 0x01, 0x79, 0x19, 0xbe, 0xad, 0x5d, 0xa7, 0xb7, 0xaf, 0x6d, 0x33, 0xa9, 0xa6, 0x10, - 0x6a, 0xa0, 0xf3, 0xb3, 0x8d, 0xe5, 0x8b, 0x34, 0xbc, 0x2c, 0x35, 0xcb, 0x76, 0xa5, 0x03, 0xcb, - 0x17, 0x47, 0x83, 0x56, 0xa5, 0xa7, 0xe0, 0x0e, 0x27, 0xf4, 0x04, 0xe8, 0x0e, 0x14, 0x3c, 0x32, - 0xb4, 0xfd, 0xc0, 0x13, 0x66, 0x66, 0x9c, 0x88, 0xc2, 0xfc, 0x84, 0xf8, 0xde, 0xaa, 0xf2, 0x4b, - 0x30, 0xd7, 0x23, 0x3b, 0x5a, 0x96, 0xed, 0x1b, 0x7b, 0x52, 0x65, 0x01, 0x87, 0x4d, 0xb6, 0x63, - 0x27, 0x7e, 0x14, 0xd6, 0xf1, 0xdf, 0x8c, 0xc6, 0xe3, 0x0f, 0xf9, 0xf5, 0x19, 0x8f, 0x30, 0xc2, - 0x8f, 0x5c, 0xb3, 0xb1, 0x8f, 0x5c, 0x57, 0x21, 0xe7, 0x90, 0x23, 0xe2, 0x88, 0x9b, 0x1f, 0x8b, - 0xc6, 0xbd, 0x07, 0x50, 0x0e, 0xbf, 0xa6, 0xe4, 0x9f, 0x69, 0x14, 0x20, 0x3b, 0xa8, 0xf7, 0x9f, - 0x29, 0x0b, 0x08, 0x20, 0x2f, 0x76, 0xb2, 0x78, 0xf7, 0x6b, 0x76, 0x3b, 0x9b, 0xed, 0xa7, 0x4a, - 0xfa, 0xde, 0x6f, 0x67, 0xa1, 0x18, 0xbd, 0x3c, 0xb1, 0x9b, 0xa6, 0xa3, 0xbd, 0x08, 0x8f, 0x42, - 0x44, 0xef, 0x90, 0x63, 0xf4, 0xc6, 0xac, 0x66, 0xf5, 0x91, 0x78, 0x6a, 0x8f, 0xd8, 0x61, 0xbd, - 0xea, 0x2d, 0x28, 0xd4, 0xfb, 0xfd, 0xf6, 0xd3, 0x8e, 0xd6, 0x52, 0x3e, 0x4d, 0x55, 0xbe, 0x70, - 0x72, 0x5a, 0xbd, 0x11, 0x81, 0xea, 0xbe, 0xd8, 0x7c, 0x1c, 0xd5, 0x6c, 0x6a, 0xbd, 0x81, 0xd6, - 0x52, 0x3e, 0x49, 0xcf, 0xa3, 0x78, 0x0d, 0x86, 0x7f, 0x28, 0x54, 0xec, 0x61, 0xad, 0x57, 0xc7, - 0xac, 0xc3, 0x4f, 0xd3, 0xa2, 0x94, 0x36, 0xeb, 0xd1, 0x23, 0x63, 0xc3, 0x63, 0x7d, 0xae, 0x87, - 0x5f, 0xde, 0x7d, 0x92, 0x11, 0xdf, 0x92, 0xcc, 0x9e, 0xd1, 0x88, 0x61, 0x4d, 0x59, 0x6f, 0xfc, - 0xfd, 0x92, 0xab, 0xc9, 0xcc, 0xf5, 0xd6, 0x67, 0x9e, 0x8a, 0x69, 0x51, 0x61, 0x11, 0xef, 0x76, - 0x3a, 0x0c, 0xf4, 0x49, 0x76, 0x6e, 0x76, 0x78, 0xe2, 0xb2, 0xfc, 0x1a, 0xdd, 0x85, 0x42, 0xf8, - 0xbc, 0xa9, 0x7c, 0x9a, 0x9d, 0x1b, 0x50, 0x33, 0x7c, 0x9b, 0xe5, 0x1d, 0x6e, 0xed, 0x0e, 0xf8, - 0x87, 0x81, 0x9f, 0xe4, 0xe6, 0x3b, 0x3c, 0x98, 0x04, 0x16, 0x3d, 0x76, 0xd9, 0x99, 0x95, 0x55, - 0xbb, 0x4f, 0x73, 0xc2, 0x17, 0x44, 0x18, 0x59, 0xb2, 0x7b, 0x0b, 0x0a, 0x58, 0xfb, 0x96, 0xf8, - 0x86, 0xf0, 0x93, 0xfc, 0x9c, 0x1e, 0x4c, 0x3e, 0x26, 0x26, 0xeb, 0xad, 0x0a, 0x79, 0xac, 0xed, - 0x74, 0x9f, 0x6b, 0xca, 0xef, 0xe5, 0xe7, 0xf4, 0x60, 0x32, 0xa2, 0xfc, 0x4b, 0xaa, 0x42, 0x17, - 0xf7, 0xb6, 0xea, 0x7c, 0x51, 0xe6, 0xf5, 0x74, 0xbd, 0xf1, 0x81, 0xe1, 0x12, 0x6b, 0xf6, 0x3d, - 0x4d, 0xc4, 0xba, 0xf7, 0x73, 0x50, 0x08, 0x23, 0x5d, 0xb4, 0x0e, 0xf9, 0x17, 0x5d, 0xfc, 0x4c, - 0xc3, 0xca, 0x82, 0xb0, 0x72, 0xc8, 0x79, 0x21, 0x72, 0x94, 0x2a, 0x2c, 0xee, 0xd4, 0x3b, 0xf5, - 0xa7, 0x1a, 0x0e, 0x4b, 0xee, 0x21, 0x40, 0x86, 0x6b, 0x15, 0x45, 0x76, 0x10, 0xe9, 0x6c, 0xac, - 0xfd, 0xf0, 0x27, 0xeb, 0x0b, 0x3f, 0xfe, 0xc9, 0xfa, 0xc2, 0x27, 0xe7, 0xeb, 0xa9, 0x1f, 0x9e, - 0xaf, 0xa7, 0xfe, 0xf6, 0x7c, 0x3d, 0xf5, 0x2f, 0xe7, 0xeb, 0xa9, 0xbd, 0x3c, 0xbf, 0x54, 0x1e, - 0xff, 0x4f, 0x00, 0x00, 0x00, 0xff, 0xff, 0xac, 0xef, 0xe8, 0x11, 0x9e, 0x32, 0x00, 0x00, + // 5152 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xac, 0x5a, 0x4d, 0x70, 0x23, 0x49, + 0x56, 0xb6, 0x64, 0x49, 0x96, 0x9e, 0x64, 0xbb, 0x3a, 0xdb, 0xdb, 0xe3, 0xd6, 0xf6, 0xd8, 0x9a, + 0x9a, 0xe9, 0x9d, 0xd9, 0xde, 0x41, 0xfd, 0xb7, 0xbb, 0xd1, 0x33, 0xc3, 0xee, 0x8c, 0x7e, 0xca, + 0xb6, 0xb6, 0x6d, 0x49, 0x91, 0x92, 0xbb, 0x77, 0x89, 0x80, 0xa2, 0x5c, 0x95, 0x96, 0x6b, 0x5c, + 0xaa, 0x14, 0x55, 0x25, 0xbb, 0xc5, 0x42, 0x30, 0xc1, 0x01, 0x08, 0x9f, 0xe0, 0x02, 0xbb, 0x41, + 0x98, 0x20, 0x02, 0x6e, 0x7b, 0xe0, 0xc0, 0x81, 0x80, 0xd3, 0x10, 0x41, 0x10, 0x1b, 0x5c, 0x60, + 0x21, 0x02, 0x36, 0x20, 0xc2, 0xb0, 0x3e, 0x70, 0x23, 0xe0, 0x42, 0x70, 0xe1, 0x40, 0xe4, 0x4f, + 0x95, 0xca, 0xea, 0xb2, 0xdd, 0xc3, 0xec, 0xc5, 0x56, 0xbe, 0xf7, 0xbd, 0x97, 0x99, 0x2f, 0x33, + 0x5f, 0xbe, 0xf7, 0xb2, 0xe0, 0xde, 0xc0, 0x0e, 0x0e, 0xc6, 0x7b, 0x55, 0x93, 0x0e, 0xef, 0x5b, + 0xd4, 0x3c, 0x24, 0xde, 0x7d, 0xff, 0xd8, 0xf0, 0x86, 0x87, 0x76, 0x70, 0xdf, 0x18, 0xd9, 0xf7, + 0x83, 0xc9, 0x88, 0xf8, 0xd5, 0x91, 0x47, 0x03, 0x8a, 0x90, 0x00, 0x54, 0x43, 0x40, 0xf5, 0xe8, + 0x61, 0x79, 0x7d, 0x40, 0xe9, 0xc0, 0x21, 0xf7, 0x39, 0x62, 0x6f, 0xbc, 0x7f, 0x3f, 0xb0, 0x87, + 0xc4, 0x0f, 0x8c, 0xe1, 0x48, 0x08, 0x95, 0xd7, 0x66, 0x01, 0xd6, 0xd8, 0x33, 0x02, 0x9b, 0xba, + 0x92, 0xbf, 0x32, 0xa0, 0x03, 0xca, 0x7f, 0xde, 0x67, 0xbf, 0x04, 0x55, 0x5d, 0x87, 0x85, 0x67, + 0xc4, 0xf3, 0x6d, 0xea, 0xa2, 0x15, 0xc8, 0xda, 0xae, 0x45, 0x5e, 0xac, 0xa6, 0x2a, 0xa9, 0x77, + 0x32, 0x58, 0x34, 0xd4, 0x07, 0x00, 0x2d, 0xf6, 0x43, 0x73, 0x03, 0x6f, 0x82, 0x14, 0x98, 0x3f, + 0x24, 0x13, 0x8e, 0x28, 0x60, 0xf6, 0x93, 0x51, 0x8e, 0x0c, 0x67, 0x35, 0x2d, 0x28, 0x47, 0x86, + 0xa3, 0xfe, 0x24, 0x05, 0xc5, 0x9a, 0xeb, 0xd2, 0x80, 0xf7, 0xee, 0x23, 0x04, 0x19, 0xd7, 0x18, + 0x12, 0x29, 0xc4, 0x7f, 0xa3, 0x06, 0xe4, 0x1c, 0x63, 0x8f, 0x38, 0xfe, 0x6a, 0xba, 0x32, 0xff, + 0x4e, 0xf1, 0xd1, 0x57, 0xaa, 0x2f, 0x4f, 0xb9, 0x1a, 0x53, 0x52, 0xdd, 0xe6, 0x68, 0x3e, 0x08, + 0x2c, 0x45, 0xd1, 0x37, 0x61, 0xc1, 0x76, 0x2d, 0xdb, 0x24, 0xfe, 0x6a, 0x86, 0x6b, 0x59, 0x4b, + 0xd2, 0x32, 0x1d, 0x7d, 0x3d, 0xf3, 0xc3, 0xb3, 0xf5, 0x39, 0x1c, 0x0a, 0x95, 0xdf, 0x83, 0x62, + 0x4c, 0x6d, 0xc2, 0xdc, 0x56, 0x20, 0x7b, 0x64, 0x38, 0x63, 0x22, 0x67, 0x27, 0x1a, 0xef, 0xa7, + 0x9f, 0xa4, 0xd4, 0x8f, 0x60, 0xa5, 0x6d, 0x0c, 0x89, 0xb5, 0x49, 0x5c, 0xe2, 0xd9, 0x26, 0x26, + 0x3e, 0x1d, 0x7b, 0x26, 0x61, 0x73, 0x3d, 0xb4, 0x5d, 0x2b, 0x9c, 0x2b, 0xfb, 0x9d, 0xac, 0x45, + 0x6d, 0xc0, 0x6b, 0x4d, 0xdb, 0x37, 0x3d, 0x12, 0x90, 0xcf, 0xac, 0x64, 0x3e, 0x54, 0x72, 0x96, + 0x82, 0xe5, 0x59, 0xe9, 0x9f, 0x83, 0x9b, 0xcc, 0xc4, 0x96, 0xee, 0x49, 0x8a, 0xee, 0x8f, 0x88, + 0xc9, 0x95, 0x15, 0x1f, 0xbd, 0x93, 0x64, 0xa1, 0xa4, 0x99, 0x6c, 0xcd, 0xe1, 0x1b, 0x5c, 0x4d, + 0x48, 0xe8, 0x8d, 0x88, 0x89, 0x4c, 0xb8, 0x65, 0xc9, 0x41, 0xcf, 0xa8, 0x4f, 0x73, 0xf5, 0x89, + 0xcb, 0x78, 0xc9, 0x34, 0xb7, 0xe6, 0xf0, 0x4a, 0xa8, 0x2c, 0xde, 0x49, 0x1d, 0x20, 0x1f, 0xea, + 0x56, 0xbf, 0x97, 0x82, 0x42, 0xc8, 0xf4, 0xd1, 0x97, 0xa1, 0xe0, 0x1a, 0x2e, 0xd5, 0xcd, 0xd1, + 0xd8, 0xe7, 0x13, 0x9a, 0xaf, 0x97, 0xce, 0xcf, 0xd6, 0xf3, 0x6d, 0xc3, 0xa5, 0x8d, 0xee, 0xae, + 0x8f, 0xf3, 0x8c, 0xdd, 0x18, 0x8d, 0x7d, 0xf4, 0x06, 0x94, 0x86, 0x64, 0x48, 0xbd, 0x89, 0xbe, + 0x37, 0x09, 0x88, 0x2f, 0xcd, 0x56, 0x14, 0xb4, 0x3a, 0x23, 0xa1, 0x6f, 0xc0, 0xc2, 0x40, 0x0c, + 0x69, 0x75, 0x9e, 0x6f, 0x9f, 0x37, 0x93, 0x46, 0x3f, 0x33, 0x6a, 0x1c, 0xca, 0xa8, 0xbf, 0x9d, + 0x82, 0x95, 0x88, 0x4a, 0x7e, 0x69, 0x6c, 0x7b, 0x64, 0x48, 0xdc, 0xc0, 0x47, 0x5f, 0x83, 0x9c, + 0x63, 0x0f, 0xed, 0xc0, 0x97, 0x36, 0x7f, 0x3d, 0x49, 0x6d, 0x34, 0x29, 0x2c, 0xc1, 0xa8, 0x06, + 0x25, 0x8f, 0xf8, 0xc4, 0x3b, 0x12, 0x3b, 0x5e, 0x5a, 0xf4, 0x1a, 0xe1, 0x0b, 0x22, 0xea, 0x06, + 0xe4, 0xbb, 0x8e, 0x11, 0xec, 0x53, 0x6f, 0x88, 0x54, 0x28, 0x19, 0x9e, 0x79, 0x60, 0x07, 0xc4, + 0x0c, 0xc6, 0x5e, 0x78, 0xfa, 0x2e, 0xd0, 0xd0, 0x2d, 0x48, 0x53, 0xd1, 0x51, 0xa1, 0x9e, 0x3b, + 0x3f, 0x5b, 0x4f, 0x77, 0x7a, 0x38, 0x4d, 0x7d, 0xf5, 0x03, 0xb8, 0xd1, 0x75, 0xc6, 0x03, 0xdb, + 0x6d, 0x12, 0xdf, 0xf4, 0xec, 0x11, 0xd3, 0xce, 0x76, 0x25, 0xf3, 0x51, 0xe1, 0xae, 0x64, 0xbf, + 0xa3, 0xa3, 0x9d, 0x9e, 0x1e, 0x6d, 0xf5, 0x37, 0xd3, 0x70, 0x43, 0x73, 0x07, 0xb6, 0x4b, 0xe2, + 0xd2, 0x77, 0x61, 0x89, 0x70, 0xa2, 0x7e, 0x24, 0xdc, 0x8d, 0xd4, 0xb3, 0x28, 0xa8, 0xa1, 0x0f, + 0x6a, 0xcd, 0xf8, 0x85, 0x87, 0x49, 0xd3, 0x7f, 0x49, 0x7b, 0xa2, 0x77, 0xd0, 0x60, 0x61, 0xc4, + 0x27, 0xe1, 0xcb, 0xe5, 0xbd, 0x9b, 0xa4, 0xeb, 0xa5, 0x79, 0x86, 0x4e, 0x42, 0xca, 0x7e, 0x1e, + 0x27, 0xf1, 0x37, 0x69, 0x58, 0x6e, 0x53, 0xeb, 0x82, 0x1d, 0xca, 0x90, 0x3f, 0xa0, 0x7e, 0x10, + 0x73, 0x88, 0x51, 0x1b, 0x3d, 0x81, 0xfc, 0x48, 0x2e, 0x9f, 0x5c, 0xfd, 0x3b, 0xc9, 0x43, 0x16, + 0x18, 0x1c, 0xa1, 0xd1, 0x07, 0x50, 0x08, 0x8f, 0x0c, 0x9b, 0xed, 0x2b, 0x6c, 0x9c, 0x29, 0x1e, + 0x7d, 0x03, 0x72, 0x62, 0x11, 0x56, 0x33, 0x5c, 0xf2, 0xee, 0x2b, 0xd9, 0x1c, 0x4b, 0x21, 0xb4, + 0x09, 0xf9, 0xc0, 0xf1, 0x75, 0xdb, 0xdd, 0xa7, 0xab, 0x59, 0xae, 0x60, 0x3d, 0xd1, 0xc9, 0x50, + 0x8b, 0xf4, 0xb7, 0x7b, 0x2d, 0x77, 0x9f, 0xd6, 0x8b, 0xe7, 0x67, 0xeb, 0x0b, 0xb2, 0x81, 0x17, + 0x02, 0xc7, 0x67, 0x3f, 0xd0, 0x1d, 0xc8, 0xec, 0xdb, 0x23, 0x7f, 0x35, 0x57, 0x49, 0xbd, 0x93, + 0xaf, 0xe7, 0xcf, 0xcf, 0xd6, 0x33, 0x1b, 0xad, 0x6e, 0x0f, 0x73, 0xaa, 0xfa, 0x3b, 0x29, 0x28, + 0xc6, 0x74, 0xa0, 0xd7, 0x01, 0x02, 0x6f, 0xec, 0x07, 0xba, 0x47, 0x69, 0xc0, 0x4d, 0x59, 0xc2, + 0x05, 0x4e, 0xc1, 0x94, 0x06, 0xa8, 0x0a, 0x37, 0x4d, 0xe2, 0x05, 0xba, 0xed, 0xfb, 0x63, 0xe2, + 0xe9, 0xfe, 0x78, 0xef, 0x63, 0x62, 0x06, 0xdc, 0xac, 0x25, 0x7c, 0x83, 0xb1, 0x5a, 0x9c, 0xd3, + 0x13, 0x0c, 0xf4, 0x18, 0x6e, 0xc5, 0xf1, 0xa3, 0xf1, 0x9e, 0x63, 0x9b, 0x3a, 0x5b, 0xea, 0x79, + 0x2e, 0x72, 0x73, 0x2a, 0xd2, 0xe5, 0xbc, 0xa7, 0x64, 0xa2, 0xfe, 0x38, 0x05, 0x0a, 0x36, 0xf6, + 0x83, 0x1d, 0x32, 0xdc, 0x23, 0x5e, 0x2f, 0x30, 0x82, 0xb1, 0x8f, 0x6e, 0x41, 0xce, 0x21, 0x86, + 0x45, 0x3c, 0x3e, 0xa8, 0x3c, 0x96, 0x2d, 0xb4, 0xcb, 0xce, 0xb7, 0x61, 0x1e, 0x18, 0x7b, 0xb6, + 0x63, 0x07, 0x13, 0x3e, 0x94, 0xa5, 0xe4, 0x0d, 0x3e, 0xab, 0xb3, 0x8a, 0x63, 0x82, 0xf8, 0x82, + 0x1a, 0xb4, 0x0a, 0x0b, 0x43, 0xe2, 0xfb, 0xc6, 0x80, 0xf0, 0x91, 0x16, 0x70, 0xd8, 0x54, 0x3f, + 0x80, 0x52, 0x5c, 0x0e, 0x15, 0x61, 0x61, 0xb7, 0xfd, 0xb4, 0xdd, 0x79, 0xde, 0x56, 0xe6, 0xd0, + 0x32, 0x14, 0x77, 0xdb, 0x58, 0xab, 0x35, 0xb6, 0x6a, 0xf5, 0x6d, 0x4d, 0x49, 0xa1, 0x45, 0x28, + 0x4c, 0x9b, 0x69, 0xf5, 0x4f, 0x53, 0x00, 0xcc, 0xdc, 0x72, 0x52, 0xef, 0x43, 0xd6, 0x0f, 0x8c, + 0x40, 0xec, 0xd9, 0xa5, 0x47, 0x6f, 0x5d, 0xb6, 0xc2, 0x72, 0xbc, 0xec, 0x1f, 0xc1, 0x42, 0x24, + 0x3e, 0xc2, 0xf4, 0x85, 0x11, 0x32, 0xf7, 0x61, 0x58, 0x96, 0x27, 0x07, 0xce, 0x7f, 0xab, 0x1f, + 0x40, 0x96, 0x4b, 0x5f, 0x1c, 0x6e, 0x1e, 0x32, 0x4d, 0xf6, 0x2b, 0x85, 0x0a, 0x90, 0xc5, 0x5a, + 0xad, 0xf9, 0x1d, 0x25, 0x8d, 0x14, 0x28, 0x35, 0x5b, 0xbd, 0x46, 0xa7, 0xdd, 0xd6, 0x1a, 0x7d, + 0xad, 0xa9, 0xcc, 0xab, 0x77, 0x21, 0xdb, 0x1a, 0x32, 0xcd, 0x77, 0xd8, 0x81, 0xd8, 0x27, 0x1e, + 0x71, 0xcd, 0xf0, 0x9c, 0x4d, 0x09, 0xea, 0x0f, 0x4a, 0x90, 0xdd, 0xa1, 0x63, 0x37, 0x40, 0x8f, + 0x62, 0x4e, 0x6d, 0x29, 0x39, 0x7e, 0xe0, 0xc0, 0x6a, 0x7f, 0x32, 0x22, 0xd2, 0xe9, 0xdd, 0x82, + 0x9c, 0x38, 0x3a, 0x72, 0x3a, 0xb2, 0xc5, 0xe8, 0x81, 0xe1, 0x0d, 0x48, 0x20, 0xe7, 0x23, 0x5b, + 0xe8, 0x1d, 0x76, 0x9f, 0x19, 0x16, 0x75, 0x9d, 0x09, 0x3f, 0x61, 0x79, 0x71, 0x69, 0x61, 0x62, + 0x58, 0x1d, 0xd7, 0x99, 0xe0, 0x88, 0x8b, 0xb6, 0xa0, 0xb4, 0x67, 0xbb, 0x96, 0x4e, 0x47, 0xe2, + 0x0a, 0xc8, 0x5e, 0x7e, 0x1e, 0xc5, 0xa8, 0xea, 0xb6, 0x6b, 0x75, 0x04, 0x18, 0x17, 0xf7, 0xa6, + 0x0d, 0xd4, 0x86, 0xa5, 0x23, 0xea, 0x8c, 0x87, 0x24, 0xd2, 0x95, 0xe3, 0xba, 0xde, 0xbe, 0x5c, + 0xd7, 0x33, 0x8e, 0x0f, 0xb5, 0x2d, 0x1e, 0xc5, 0x9b, 0xe8, 0x29, 0x2c, 0x06, 0xc3, 0xd1, 0xbe, + 0x1f, 0xa9, 0x5b, 0xe0, 0xea, 0xbe, 0x74, 0x85, 0xc1, 0x18, 0x3c, 0xd4, 0x56, 0x0a, 0x62, 0x2d, + 0xb4, 0x09, 0x45, 0x93, 0xba, 0xbe, 0xed, 0x07, 0xc4, 0x35, 0x27, 0xab, 0x79, 0x6e, 0xfb, 0x2b, + 0x66, 0xd9, 0x98, 0x82, 0x71, 0x5c, 0xb2, 0xfc, 0xeb, 0xf3, 0x50, 0x8c, 0x99, 0x00, 0xf5, 0xa0, + 0x38, 0xf2, 0xe8, 0xc8, 0x18, 0xf0, 0xfb, 0x50, 0x2e, 0xea, 0xc3, 0x57, 0x32, 0x5f, 0xb5, 0x3b, + 0x15, 0xc4, 0x71, 0x2d, 0xea, 0x69, 0x1a, 0x8a, 0x31, 0x26, 0xba, 0x07, 0x79, 0xdc, 0xc5, 0xad, + 0x67, 0xb5, 0xbe, 0xa6, 0xcc, 0x95, 0xef, 0x9c, 0x9c, 0x56, 0x56, 0xb9, 0xb6, 0xb8, 0x82, 0xae, + 0x67, 0x1f, 0xb1, 0x3d, 0xfc, 0x0e, 0x2c, 0x84, 0xd0, 0x54, 0xf9, 0x8b, 0x27, 0xa7, 0x95, 0xd7, + 0x66, 0xa1, 0x31, 0x24, 0xee, 0x6d, 0xd5, 0xb0, 0xd6, 0x54, 0xd2, 0xc9, 0x48, 0xdc, 0x3b, 0x30, + 0x3c, 0x62, 0xa1, 0x2f, 0x41, 0x4e, 0x02, 0xe7, 0xcb, 0xe5, 0x93, 0xd3, 0xca, 0xad, 0x59, 0xe0, + 0x14, 0x87, 0x7b, 0xdb, 0xb5, 0x67, 0x9a, 0x92, 0x49, 0xc6, 0xe1, 0x9e, 0x63, 0x1c, 0x11, 0xf4, + 0x16, 0x64, 0x05, 0x2c, 0x5b, 0xbe, 0x7d, 0x72, 0x5a, 0xf9, 0xc2, 0x4b, 0xea, 0x18, 0xaa, 0xbc, + 0xfa, 0x5b, 0x7f, 0xb4, 0x36, 0xf7, 0x17, 0x7f, 0xbc, 0xa6, 0xcc, 0xb2, 0xcb, 0xff, 0x9b, 0x82, + 0xc5, 0x0b, 0x7b, 0x07, 0xa9, 0x90, 0x73, 0xa9, 0x49, 0x47, 0xe2, 0x9a, 0xcc, 0xd7, 0xe1, 0xfc, + 0x6c, 0x3d, 0xd7, 0xa6, 0x0d, 0x3a, 0x9a, 0x60, 0xc9, 0x41, 0x4f, 0x67, 0x2e, 0xfa, 0xc7, 0xaf, + 0xb8, 0x31, 0x13, 0xaf, 0xfa, 0x0f, 0x61, 0xd1, 0xf2, 0xec, 0x23, 0xe2, 0xe9, 0x26, 0x75, 0xf7, + 0xed, 0x81, 0xbc, 0x02, 0xcb, 0x89, 0xd1, 0x28, 0x07, 0xe2, 0x92, 0x10, 0x68, 0x70, 0xfc, 0xe7, + 0xb8, 0xe4, 0xcb, 0x23, 0x28, 0xc5, 0xb7, 0x3a, 0xbb, 0x97, 0x7c, 0xfb, 0x97, 0x89, 0x0c, 0x3b, + 0x79, 0x90, 0x8a, 0x0b, 0x8c, 0x22, 0x82, 0xce, 0xb7, 0x21, 0x33, 0xa4, 0x96, 0xd0, 0xb3, 0x58, + 0xbf, 0xc9, 0x62, 0x8d, 0x7f, 0x3e, 0x5b, 0x2f, 0x52, 0xbf, 0xba, 0x61, 0x3b, 0x64, 0x87, 0x5a, + 0x04, 0x73, 0x00, 0xf3, 0x9a, 0xe1, 0x59, 0x93, 0x7e, 0x5d, 0x36, 0xd5, 0xef, 0xa7, 0x20, 0xc3, + 0xdc, 0x11, 0xfa, 0x22, 0x64, 0xea, 0xad, 0x76, 0x53, 0x99, 0x2b, 0xdf, 0x38, 0x39, 0xad, 0x2c, + 0x72, 0x6b, 0x31, 0x06, 0xdb, 0xd6, 0x68, 0x1d, 0x72, 0xcf, 0x3a, 0xdb, 0xbb, 0x3b, 0x6c, 0xe7, + 0xdd, 0x3c, 0x39, 0xad, 0x2c, 0x47, 0x6c, 0x61, 0x4f, 0xf4, 0x3a, 0x64, 0xfb, 0x3b, 0xdd, 0x8d, + 0x9e, 0x92, 0x2e, 0xa3, 0x93, 0xd3, 0xca, 0x52, 0xc4, 0xe7, 0xd3, 0x41, 0x6f, 0x40, 0xb6, 0xdd, + 0x6d, 0x75, 0x35, 0x65, 0xbe, 0x7c, 0xeb, 0xe4, 0xb4, 0x82, 0x22, 0x36, 0xcf, 0x16, 0xba, 0xf6, + 0x88, 0x94, 0x6f, 0xc8, 0x3d, 0x51, 0x88, 0x78, 0xea, 0x8f, 0x52, 0x50, 0x8c, 0x1d, 0x57, 0xb6, + 0xad, 0x9b, 0xda, 0x46, 0x6d, 0x77, 0xbb, 0xaf, 0xcc, 0xc5, 0xb6, 0x75, 0x0c, 0xd2, 0x24, 0xfb, + 0xc6, 0xd8, 0x61, 0x5e, 0x12, 0x1a, 0x9d, 0x76, 0xaf, 0xd5, 0xeb, 0x6b, 0xed, 0xbe, 0x92, 0x2a, + 0xaf, 0x9e, 0x9c, 0x56, 0x56, 0x66, 0xc1, 0x1b, 0x63, 0xc7, 0x61, 0x1b, 0xbb, 0x51, 0x6b, 0x6c, + 0xf1, 0x93, 0x32, 0xdd, 0xd8, 0x31, 0x54, 0xc3, 0x30, 0x0f, 0x88, 0x85, 0xde, 0x85, 0x42, 0x53, + 0xdb, 0xd6, 0x36, 0x6b, 0xfc, 0x6e, 0x28, 0xbf, 0x7e, 0x72, 0x5a, 0xb9, 0xfd, 0x72, 0xef, 0x0e, + 0x19, 0x18, 0x01, 0xb1, 0x66, 0x36, 0x78, 0x0c, 0xa2, 0xfe, 0x77, 0x1a, 0x16, 0x31, 0x4b, 0xb5, + 0xbd, 0xa0, 0x4b, 0x1d, 0xdb, 0x9c, 0xa0, 0x2e, 0x14, 0x4c, 0xea, 0x5a, 0x76, 0xcc, 0xcb, 0x3c, + 0xba, 0x24, 0xdc, 0x9a, 0x4a, 0x85, 0xad, 0x46, 0x28, 0x89, 0xa7, 0x4a, 0xd0, 0x7d, 0xc8, 0x5a, + 0xc4, 0x31, 0x26, 0x32, 0xee, 0xbb, 0x5d, 0x15, 0xc9, 0x7c, 0x35, 0x4c, 0xe6, 0xab, 0x4d, 0x99, + 0xcc, 0x63, 0x81, 0xe3, 0xf9, 0x8d, 0xf1, 0x42, 0x37, 0x82, 0x80, 0x0c, 0x47, 0x81, 0xd8, 0x23, + 0x19, 0x5c, 0x1c, 0x1a, 0x2f, 0x6a, 0x92, 0x84, 0x1e, 0x42, 0xee, 0xd8, 0x76, 0x2d, 0x7a, 0x2c, + 0xe3, 0xba, 0x2b, 0x94, 0x4a, 0xa0, 0x7a, 0xc2, 0x02, 0x9a, 0x99, 0x61, 0xb2, 0x6d, 0xd6, 0xee, + 0xb4, 0xb5, 0x70, 0x9b, 0x49, 0x7e, 0xc7, 0x6d, 0x53, 0x97, 0x79, 0x0f, 0xe8, 0xb4, 0xf5, 0x8d, + 0x5a, 0x6b, 0x7b, 0x17, 0xb3, 0xad, 0xb6, 0x72, 0x72, 0x5a, 0x51, 0x22, 0xc8, 0x86, 0x61, 0x3b, + 0x2c, 0xd1, 0xb8, 0x0d, 0xf3, 0xb5, 0xf6, 0x77, 0x94, 0x74, 0x59, 0x39, 0x39, 0xad, 0x94, 0x22, + 0x76, 0xcd, 0x9d, 0x4c, 0xed, 0x3e, 0xdb, 0xaf, 0xfa, 0xb7, 0xf3, 0x50, 0xda, 0x1d, 0x59, 0x46, + 0x40, 0xc4, 0x29, 0x45, 0x15, 0x28, 0x8e, 0x0c, 0xcf, 0x70, 0x1c, 0xe2, 0xd8, 0xfe, 0x50, 0x96, + 0x29, 0xe2, 0x24, 0xf4, 0xde, 0xab, 0x9a, 0xb1, 0x9e, 0x67, 0x27, 0xef, 0x7b, 0xff, 0xba, 0x9e, + 0x0a, 0x0d, 0xba, 0x0b, 0x4b, 0xfb, 0x62, 0xb4, 0xba, 0x61, 0xf2, 0x85, 0x9d, 0xe7, 0x0b, 0x5b, + 0x4d, 0x5a, 0xd8, 0xf8, 0xb0, 0xaa, 0x72, 0x92, 0x35, 0x2e, 0x85, 0x17, 0xf7, 0xe3, 0x4d, 0xf4, + 0x18, 0x16, 0x86, 0xd4, 0xb5, 0x03, 0xea, 0x5d, 0xbf, 0x0a, 0x21, 0x12, 0xdd, 0x83, 0x1b, 0x6c, + 0x71, 0xc3, 0xf1, 0x70, 0x36, 0x0f, 0x06, 0xd2, 0x78, 0x79, 0x68, 0xbc, 0x90, 0x1d, 0x62, 0x46, + 0x46, 0x75, 0xc8, 0x52, 0x8f, 0x45, 0x9b, 0x39, 0x3e, 0xdc, 0x77, 0xaf, 0x1d, 0xae, 0x68, 0x74, + 0x98, 0x0c, 0x16, 0xa2, 0xea, 0xd7, 0x61, 0xf1, 0xc2, 0x24, 0x58, 0x90, 0xd5, 0xad, 0xed, 0xf6, + 0x34, 0x65, 0x0e, 0x95, 0x20, 0xdf, 0xe8, 0xb4, 0xfb, 0xad, 0xf6, 0x2e, 0x8b, 0x12, 0x4b, 0x90, + 0xc7, 0x9d, 0xed, 0xed, 0x7a, 0xad, 0xf1, 0x54, 0x49, 0xab, 0x55, 0x28, 0xc6, 0xb4, 0xa1, 0x25, + 0x80, 0x5e, 0xbf, 0xd3, 0xd5, 0x37, 0x5a, 0xb8, 0xd7, 0x17, 0x31, 0x66, 0xaf, 0x5f, 0xc3, 0x7d, + 0x49, 0x48, 0xa9, 0xff, 0x99, 0x0e, 0x57, 0x54, 0x86, 0x95, 0xf5, 0x8b, 0x61, 0xe5, 0x15, 0x83, + 0x97, 0x81, 0xe5, 0xb4, 0x11, 0x85, 0x97, 0xef, 0x01, 0xf0, 0x8d, 0x43, 0x2c, 0xdd, 0x08, 0xe4, + 0xc2, 0x97, 0x5f, 0x32, 0x72, 0x3f, 0xac, 0x96, 0xe1, 0x82, 0x44, 0xd7, 0x02, 0xf4, 0x0d, 0x28, + 0x99, 0x74, 0x38, 0x72, 0x88, 0x14, 0x9e, 0xbf, 0x56, 0xb8, 0x18, 0xe1, 0x6b, 0x41, 0x3c, 0xb0, + 0xcd, 0x5c, 0x0c, 0xbd, 0x7f, 0x23, 0x15, 0x5a, 0x26, 0x21, 0x96, 0x2d, 0x41, 0x7e, 0xb7, 0xdb, + 0xac, 0xf5, 0x5b, 0xed, 0x4d, 0x25, 0x85, 0x00, 0x72, 0xdc, 0xd4, 0x4d, 0x25, 0xcd, 0x62, 0xf0, + 0x46, 0x67, 0xa7, 0xbb, 0xad, 0x71, 0x8f, 0x85, 0x56, 0x40, 0x09, 0x8d, 0xad, 0x73, 0x43, 0x6a, + 0x4d, 0x25, 0x83, 0x6e, 0xc2, 0x72, 0x44, 0x95, 0x92, 0x59, 0x74, 0x0b, 0x50, 0x44, 0x9c, 0xaa, + 0xc8, 0xa9, 0xbf, 0x0a, 0xcb, 0x0d, 0xea, 0x06, 0x86, 0xed, 0x46, 0xf9, 0xc9, 0x23, 0x36, 0x69, + 0x49, 0xd2, 0x6d, 0x59, 0x65, 0xaa, 0x2f, 0x9f, 0x9f, 0xad, 0x17, 0x23, 0x68, 0xab, 0xc9, 0x03, + 0x2d, 0xd9, 0xb0, 0xd8, 0xf9, 0x1d, 0xd9, 0x16, 0x37, 0x6e, 0xb6, 0xbe, 0x70, 0x7e, 0xb6, 0x3e, + 0xdf, 0x6d, 0x35, 0x31, 0xa3, 0xa1, 0x2f, 0x42, 0x81, 0xbc, 0xb0, 0x03, 0xdd, 0x64, 0xb7, 0x1a, + 0x33, 0x60, 0x16, 0xe7, 0x19, 0xa1, 0x41, 0x2d, 0xa2, 0xd6, 0x01, 0xba, 0xd4, 0x0b, 0x64, 0xcf, + 0x5f, 0x85, 0xec, 0x88, 0x7a, 0xbc, 0x2e, 0x72, 0x69, 0xb5, 0x8e, 0xc1, 0xc5, 0x46, 0xc5, 0x02, + 0xac, 0x7e, 0x7f, 0x1e, 0xa0, 0x6f, 0xf8, 0x87, 0x52, 0xc9, 0x13, 0x28, 0x44, 0x95, 0x4f, 0x59, + 0x60, 0xb9, 0x72, 0xb5, 0x23, 0x30, 0x7a, 0x1c, 0x6e, 0x36, 0x91, 0x79, 0x25, 0x26, 0xc8, 0x61, + 0x47, 0x49, 0xc9, 0xcb, 0xc5, 0xf4, 0x8a, 0x05, 0x09, 0xc4, 0xf3, 0xe4, 0xca, 0xb3, 0x9f, 0xa8, + 0xc1, 0xaf, 0x05, 0x61, 0x34, 0x19, 0xbb, 0x27, 0x96, 0x94, 0x66, 0x56, 0x64, 0x6b, 0x0e, 0x4f, + 0xe5, 0xd0, 0x87, 0x50, 0x64, 0xf3, 0xd6, 0x7d, 0xce, 0x93, 0x61, 0xfb, 0xa5, 0xa6, 0x12, 0x1a, + 0x30, 0x8c, 0xa6, 0x56, 0x7e, 0x1d, 0xc0, 0x18, 0x8d, 0x1c, 0x9b, 0x58, 0xfa, 0xde, 0x84, 0xc7, + 0xe9, 0x05, 0x5c, 0x90, 0x94, 0xfa, 0x84, 0x1d, 0x97, 0x90, 0x6d, 0x04, 0x3c, 0xf6, 0xbe, 0xc6, + 0x80, 0x12, 0x5d, 0x0b, 0xea, 0x0a, 0x2c, 0x79, 0x63, 0x97, 0x19, 0x54, 0x8e, 0x4e, 0xfd, 0x93, + 0x34, 0xbc, 0xd6, 0x26, 0xc1, 0x31, 0xf5, 0x0e, 0x6b, 0x41, 0x60, 0x98, 0x07, 0x43, 0xe2, 0xca, + 0xe5, 0x8b, 0xa5, 0x43, 0xa9, 0x0b, 0xe9, 0xd0, 0x2a, 0x2c, 0x18, 0x8e, 0x6d, 0xf8, 0x44, 0x84, + 0x7e, 0x05, 0x1c, 0x36, 0x59, 0xd2, 0xc6, 0x52, 0x40, 0xe2, 0xfb, 0x44, 0xd4, 0x6c, 0xd8, 0xc0, + 0x43, 0x02, 0xfa, 0x2e, 0xdc, 0x92, 0x41, 0x9e, 0x11, 0x75, 0xc5, 0xd2, 0x91, 0xb0, 0xf8, 0xab, + 0x25, 0xe6, 0xa4, 0xc9, 0x83, 0x93, 0x51, 0xe0, 0x94, 0xdc, 0x19, 0x05, 0x32, 0xa6, 0x5c, 0xb1, + 0x12, 0x58, 0xe5, 0x4d, 0xb8, 0x7d, 0xa9, 0xc8, 0x67, 0xaa, 0x09, 0xfd, 0x43, 0x1a, 0xa0, 0xd5, + 0xad, 0xed, 0x48, 0x23, 0x35, 0x21, 0xb7, 0x6f, 0x0c, 0x6d, 0x67, 0x72, 0x95, 0x07, 0x9c, 0xe2, + 0xab, 0x35, 0x61, 0x8e, 0x0d, 0x2e, 0x83, 0xa5, 0x2c, 0xcf, 0x48, 0xc7, 0x7b, 0x2e, 0x09, 0xa2, + 0x8c, 0x94, 0xb7, 0xd8, 0x30, 0x3c, 0xc3, 0x8d, 0xb6, 0xae, 0x68, 0xb0, 0x05, 0x60, 0x21, 0xcf, + 0xb1, 0x31, 0x09, 0xdd, 0x96, 0x6c, 0xa2, 0x2d, 0x5e, 0x79, 0x25, 0xde, 0x11, 0xb1, 0x56, 0xb3, + 0xdc, 0xa8, 0xd7, 0x8d, 0x07, 0x4b, 0xb8, 0xb0, 0x5d, 0x24, 0x5d, 0xfe, 0x80, 0x87, 0x4c, 0x53, + 0xd6, 0x67, 0xb2, 0xd1, 0x03, 0x58, 0xbc, 0x30, 0xcf, 0x97, 0x4a, 0x01, 0xad, 0xee, 0xb3, 0xaf, + 0x2a, 0x19, 0xf9, 0xeb, 0xeb, 0x4a, 0x4e, 0xfd, 0xeb, 0x79, 0xe1, 0x68, 0xa4, 0x55, 0x93, 0x5f, + 0x1c, 0xf2, 0x7c, 0x77, 0x9b, 0xd4, 0x91, 0x0e, 0xe0, 0xed, 0xab, 0xfd, 0x0f, 0xcb, 0x08, 0x39, + 0x1c, 0x47, 0x82, 0x68, 0x1d, 0x8a, 0x62, 0x17, 0xeb, 0xec, 0xc0, 0x71, 0xb3, 0x2e, 0x62, 0x10, + 0x24, 0x26, 0x89, 0xee, 0xc2, 0x12, 0x2f, 0x1d, 0xf9, 0x07, 0xc4, 0x12, 0x98, 0x0c, 0xc7, 0x2c, + 0x46, 0x54, 0x0e, 0xdb, 0x81, 0x92, 0x24, 0xe8, 0x3c, 0x1b, 0xc8, 0xf2, 0x01, 0xdd, 0xbb, 0x6e, + 0x40, 0x42, 0x84, 0x27, 0x09, 0xc5, 0xd1, 0xb4, 0xa1, 0xfe, 0x22, 0xe4, 0xc3, 0xc1, 0xa2, 0x55, + 0x98, 0xef, 0x37, 0xba, 0xca, 0x5c, 0x79, 0xf9, 0xe4, 0xb4, 0x52, 0x0c, 0xc9, 0xfd, 0x46, 0x97, + 0x71, 0x76, 0x9b, 0x5d, 0x25, 0x75, 0x91, 0xb3, 0xdb, 0xec, 0xa2, 0x32, 0x64, 0x7a, 0x8d, 0x7e, + 0x37, 0x8c, 0xcf, 0x42, 0x16, 0xa3, 0x95, 0x33, 0x2c, 0x3e, 0x53, 0xf7, 0xa1, 0x18, 0xeb, 0x1d, + 0xbd, 0x09, 0x0b, 0xad, 0xf6, 0x26, 0xd6, 0x7a, 0x3d, 0x65, 0x4e, 0xa4, 0x07, 0x31, 0x6e, 0xcb, + 0x1d, 0xb0, 0xb5, 0x43, 0xaf, 0x43, 0x66, 0xab, 0xc3, 0xee, 0x7d, 0x91, 0x7f, 0xc4, 0x10, 0x5b, + 0xd4, 0x0f, 0xca, 0x37, 0x65, 0xe0, 0x17, 0x57, 0xac, 0xfe, 0x7e, 0x0a, 0x72, 0xe2, 0xa0, 0x25, + 0x2e, 0x62, 0x6d, 0x9a, 0x14, 0x89, 0xb4, 0xf1, 0xed, 0xcb, 0x53, 0xbc, 0xaa, 0xcc, 0xc8, 0xc4, + 0xd6, 0x0c, 0xe5, 0xca, 0xef, 0x43, 0x29, 0xce, 0xf8, 0x4c, 0x1b, 0xf3, 0xbb, 0x50, 0x64, 0x7b, + 0x3f, 0x4c, 0xf5, 0x1e, 0x41, 0x4e, 0x38, 0x8b, 0xe8, 0x1e, 0xba, 0x3c, 0xdf, 0x94, 0x48, 0xf4, + 0x04, 0x16, 0x44, 0x8e, 0x1a, 0x56, 0xa5, 0xd7, 0xae, 0x3e, 0x61, 0x38, 0x84, 0xab, 0x1f, 0x42, + 0xa6, 0x4b, 0x88, 0xc7, 0x6c, 0xef, 0x52, 0x8b, 0x4c, 0xaf, 0x6e, 0x99, 0x5e, 0x5b, 0xa4, 0xd5, + 0x64, 0xe9, 0xb5, 0x45, 0x5a, 0x56, 0x54, 0x59, 0x4b, 0xc7, 0x2a, 0x6b, 0x7d, 0x28, 0x3d, 0x27, + 0xf6, 0xe0, 0x20, 0x20, 0x16, 0x57, 0xf4, 0x2e, 0x64, 0x46, 0x24, 0x1a, 0xfc, 0x6a, 0xe2, 0xe6, + 0x23, 0xc4, 0xc3, 0x1c, 0xc5, 0x7c, 0xcc, 0x31, 0x97, 0x96, 0x4f, 0x29, 0xb2, 0xa5, 0xfe, 0x7d, + 0x1a, 0x96, 0x5a, 0xbe, 0x3f, 0x36, 0x5c, 0x33, 0x8c, 0xea, 0xbe, 0x79, 0x31, 0xaa, 0x4b, 0x7c, + 0x73, 0xba, 0x28, 0x72, 0xb1, 0x60, 0x28, 0x6f, 0xd6, 0x74, 0x74, 0xb3, 0xaa, 0xff, 0x91, 0x0a, + 0xab, 0x82, 0x77, 0x63, 0xae, 0x40, 0xe4, 0x88, 0x71, 0x4d, 0x64, 0xd7, 0x3d, 0x74, 0xe9, 0xb1, + 0xcb, 0xb2, 0x57, 0xac, 0xb5, 0xb5, 0xe7, 0x4a, 0x4a, 0x6c, 0xcf, 0x0b, 0x20, 0x4c, 0x5c, 0x72, + 0xcc, 0x34, 0x75, 0xb5, 0x76, 0x93, 0x45, 0x61, 0xe9, 0x04, 0x4d, 0x5d, 0xe2, 0x5a, 0xb6, 0x3b, + 0x40, 0x6f, 0x42, 0xae, 0xd5, 0xeb, 0xed, 0xf2, 0x14, 0xf2, 0xb5, 0x93, 0xd3, 0xca, 0xcd, 0x0b, + 0x28, 0x5e, 0x11, 0xb6, 0x18, 0x88, 0xa5, 0x40, 0x2c, 0x3e, 0x4b, 0x00, 0xb1, 0xd8, 0x5a, 0x80, + 0x70, 0xa7, 0x5f, 0xeb, 0x6b, 0x4a, 0x36, 0x01, 0x84, 0x29, 0xfb, 0x2b, 0x8f, 0xdb, 0xbf, 0xa4, + 0x41, 0xa9, 0x99, 0x26, 0x19, 0x05, 0x8c, 0x2f, 0xb3, 0xce, 0x3e, 0xe4, 0x47, 0xec, 0x97, 0x4d, + 0xc2, 0x08, 0xea, 0x49, 0xe2, 0xab, 0xe9, 0x8c, 0x5c, 0x15, 0x53, 0x87, 0xd4, 0xac, 0xa1, 0xed, + 0xfb, 0x36, 0x75, 0x05, 0x0d, 0x47, 0x9a, 0xca, 0xff, 0x95, 0x82, 0x9b, 0x09, 0x08, 0xf4, 0x00, + 0x32, 0x1e, 0x75, 0xc2, 0x35, 0xbc, 0x73, 0x59, 0xc1, 0x97, 0x89, 0x62, 0x8e, 0x44, 0x6b, 0x00, + 0xc6, 0x38, 0xa0, 0x06, 0xef, 0x9f, 0xaf, 0x5e, 0x1e, 0xc7, 0x28, 0xe8, 0x39, 0xe4, 0x7c, 0x62, + 0x7a, 0x24, 0x8c, 0xb3, 0x3f, 0xfc, 0xff, 0x8e, 0xbe, 0xda, 0xe3, 0x6a, 0xb0, 0x54, 0x57, 0xae, + 0x42, 0x4e, 0x50, 0xd8, 0xb6, 0xb7, 0x8c, 0xc0, 0x90, 0xcf, 0x01, 0xfc, 0x37, 0xdb, 0x4d, 0x86, + 0x33, 0x08, 0x77, 0x93, 0xe1, 0x0c, 0xd4, 0xbf, 0x4a, 0x03, 0x68, 0x2f, 0x02, 0xe2, 0xb9, 0x86, + 0xd3, 0xa8, 0x21, 0x2d, 0x76, 0x33, 0x88, 0xd9, 0x7e, 0x39, 0xf1, 0x05, 0x24, 0x92, 0xa8, 0x36, + 0x6a, 0x09, 0x77, 0xc3, 0x6d, 0x98, 0x1f, 0x7b, 0xf2, 0x21, 0x5c, 0xc4, 0xc8, 0xbb, 0x78, 0x1b, + 0x33, 0x1a, 0xd2, 0xe2, 0xb5, 0x9c, 0x4b, 0x9f, 0xbb, 0x63, 0x1d, 0x24, 0xba, 0x2e, 0x76, 0xf2, + 0x4d, 0x43, 0x37, 0x89, 0xbc, 0x55, 0x4a, 0xe2, 0xe4, 0x37, 0x6a, 0x0d, 0xe2, 0x05, 0x38, 0x67, + 0x1a, 0xec, 0xff, 0xe7, 0xf2, 0x6f, 0xef, 0x02, 0x4c, 0xa7, 0x86, 0xd6, 0x20, 0xdb, 0xd8, 0xe8, + 0xf5, 0xb6, 0x95, 0x39, 0xe1, 0xc0, 0xa7, 0x2c, 0x4e, 0x56, 0xff, 0x3c, 0x0d, 0xf9, 0x46, 0x4d, + 0x5e, 0xb9, 0x0d, 0x50, 0xb8, 0x57, 0xe2, 0x8f, 0x28, 0xe4, 0xc5, 0xc8, 0xf6, 0x26, 0xd2, 0xb1, + 0x5c, 0x91, 0xf0, 0x2e, 0x31, 0x11, 0x36, 0x6a, 0x8d, 0x0b, 0x20, 0x0c, 0x25, 0x22, 0x8d, 0xa0, + 0x9b, 0x46, 0xe8, 0xe3, 0xd7, 0xae, 0x36, 0x96, 0x48, 0x5d, 0xa6, 0x6d, 0x1f, 0x17, 0x43, 0x25, + 0x0d, 0xc3, 0x47, 0xef, 0xc1, 0xb2, 0x6f, 0x0f, 0x5c, 0xdb, 0x1d, 0xe8, 0xa1, 0xf1, 0xf8, 0x8b, + 0x4e, 0xfd, 0xc6, 0xf9, 0xd9, 0xfa, 0x62, 0x4f, 0xb0, 0xa4, 0x0d, 0x17, 0x25, 0xb2, 0xc1, 0x4d, + 0x89, 0xbe, 0x0e, 0x4b, 0x31, 0x51, 0x66, 0x45, 0x61, 0x76, 0xe5, 0xfc, 0x6c, 0xbd, 0x14, 0x49, + 0x3e, 0x25, 0x13, 0x5c, 0x8a, 0x04, 0x9f, 0x12, 0x5e, 0x9b, 0xd9, 0xa7, 0x9e, 0x49, 0x74, 0x8f, + 0x9f, 0x69, 0x7e, 0xbb, 0x67, 0x70, 0x91, 0xd3, 0xc4, 0x31, 0x57, 0x9f, 0xc1, 0xcd, 0x8e, 0x67, + 0x1e, 0x10, 0x3f, 0x10, 0xa6, 0x90, 0x56, 0xfc, 0x10, 0xee, 0x04, 0x86, 0x7f, 0xa8, 0x1f, 0xd8, + 0x7e, 0x40, 0xbd, 0x89, 0xee, 0x91, 0x80, 0xb8, 0x8c, 0xaf, 0xf3, 0x47, 0x62, 0x59, 0x4e, 0xbc, + 0xcd, 0x30, 0x5b, 0x02, 0x82, 0x43, 0xc4, 0x36, 0x03, 0xa8, 0x2d, 0x28, 0xb1, 0x14, 0x46, 0x16, + 0xd5, 0xd8, 0xec, 0xc1, 0xa1, 0x03, 0xfd, 0x95, 0xaf, 0xa9, 0x82, 0x43, 0x07, 0xe2, 0xa7, 0xfa, + 0x6d, 0x50, 0x9a, 0xb6, 0x3f, 0x32, 0x02, 0xf3, 0x20, 0xac, 0x93, 0xa2, 0x26, 0x28, 0x07, 0xc4, + 0xf0, 0x82, 0x3d, 0x62, 0x04, 0xfa, 0x88, 0x78, 0x36, 0xb5, 0xae, 0x5f, 0xe5, 0xe5, 0x48, 0xa4, + 0xcb, 0x25, 0xd4, 0xff, 0x49, 0x01, 0x60, 0x63, 0x3f, 0x8c, 0xd6, 0xbe, 0x02, 0x37, 0x7c, 0xd7, + 0x18, 0xf9, 0x07, 0x34, 0xd0, 0x6d, 0x37, 0x20, 0xde, 0x91, 0xe1, 0xc8, 0xe2, 0x8e, 0x12, 0x32, + 0x5a, 0x92, 0x8e, 0xde, 0x05, 0x74, 0x48, 0xc8, 0x48, 0xa7, 0x8e, 0xa5, 0x87, 0x4c, 0xf1, 0x84, + 0x9d, 0xc1, 0x0a, 0xe3, 0x74, 0x1c, 0xab, 0x17, 0xd2, 0x51, 0x1d, 0xd6, 0xd8, 0xf4, 0x89, 0x1b, + 0x78, 0x36, 0xf1, 0xf5, 0x7d, 0xea, 0xe9, 0xbe, 0x43, 0x8f, 0xf5, 0x7d, 0xea, 0x38, 0xf4, 0x98, + 0x78, 0x61, 0xdd, 0xac, 0xec, 0xd0, 0x81, 0x26, 0x40, 0x1b, 0xd4, 0xeb, 0x39, 0xf4, 0x78, 0x23, + 0x44, 0xb0, 0x90, 0x6e, 0x3a, 0xe7, 0xc0, 0x36, 0x0f, 0xc3, 0x90, 0x2e, 0xa2, 0xf6, 0x6d, 0xf3, + 0x10, 0xbd, 0x09, 0x8b, 0xc4, 0x21, 0xbc, 0x7c, 0x22, 0x50, 0x59, 0x8e, 0x2a, 0x85, 0x44, 0x06, + 0x52, 0x3f, 0x02, 0x45, 0x73, 0x4d, 0x6f, 0x32, 0x8a, 0xad, 0xf9, 0xbb, 0x80, 0x98, 0x93, 0xd4, + 0x1d, 0x6a, 0x1e, 0xea, 0x43, 0xc3, 0x35, 0x06, 0x6c, 0x5c, 0xe2, 0xed, 0x50, 0x61, 0x9c, 0x6d, + 0x6a, 0x1e, 0xee, 0x48, 0xba, 0xfa, 0x1e, 0x40, 0x6f, 0xe4, 0x11, 0xc3, 0xea, 0xb0, 0x68, 0x82, + 0x99, 0x8e, 0xb7, 0x74, 0x4b, 0xbe, 0xcc, 0x52, 0x4f, 0x1e, 0x75, 0x45, 0x30, 0x9a, 0x11, 0x5d, + 0xfd, 0x79, 0xb8, 0xd9, 0x75, 0x0c, 0x93, 0x7f, 0xa5, 0xd0, 0x8d, 0x1e, 0xc3, 0xd0, 0x13, 0xc8, + 0x09, 0xa8, 0x5c, 0xc9, 0xc4, 0xe3, 0x36, 0xed, 0x73, 0x6b, 0x0e, 0x4b, 0x7c, 0xbd, 0x04, 0x30, + 0xd5, 0xa3, 0xfe, 0x53, 0x0a, 0x0a, 0x91, 0x7e, 0x54, 0x11, 0x6f, 0x3c, 0x81, 0x67, 0xd8, 0xae, + 0xcc, 0xf8, 0x0b, 0x38, 0x4e, 0x42, 0x2d, 0x28, 0x8e, 0x22, 0xe9, 0x2b, 0xe3, 0xb9, 0x84, 0x51, + 0xe3, 0xb8, 0x2c, 0x7a, 0x1f, 0x0a, 0xe1, 0x53, 0x78, 0xe8, 0x61, 0xaf, 0x7e, 0x39, 0x9f, 0xc2, + 0xc3, 0x42, 0xaa, 0x47, 0x46, 0x8e, 0xcd, 0x7c, 0x4e, 0x26, 0x2a, 0xa4, 0x62, 0x49, 0x52, 0xbf, + 0x09, 0xf0, 0x2d, 0x6a, 0xbb, 0x7d, 0x7a, 0x48, 0x5c, 0xfe, 0xbe, 0xcb, 0x52, 0x4a, 0x12, 0x1a, + 0x5a, 0xb6, 0x78, 0xa5, 0x40, 0xac, 0x52, 0xf4, 0xcc, 0x29, 0x9a, 0xea, 0x5f, 0xa6, 0x21, 0x87, + 0x29, 0x0d, 0x1a, 0x35, 0x54, 0x81, 0x9c, 0x74, 0x25, 0xfc, 0x8a, 0xaa, 0x17, 0xce, 0xcf, 0xd6, + 0xb3, 0xc2, 0x87, 0x64, 0x4d, 0xee, 0x3c, 0x62, 0x4e, 0x3e, 0x7d, 0x99, 0x93, 0x47, 0x0f, 0xa0, + 0x24, 0x41, 0xfa, 0x81, 0xe1, 0x1f, 0x88, 0xfc, 0xae, 0xbe, 0x74, 0x7e, 0xb6, 0x0e, 0x02, 0xb9, + 0x65, 0xf8, 0x07, 0x18, 0x04, 0x9a, 0xfd, 0x46, 0x1a, 0x14, 0x3f, 0xa6, 0xb6, 0xab, 0x07, 0x7c, + 0x12, 0xb2, 0x16, 0x99, 0xb8, 0xd4, 0xd3, 0xa9, 0xca, 0x4f, 0x21, 0xe0, 0xe3, 0xe9, 0xe4, 0x35, + 0x58, 0xf4, 0x28, 0x0d, 0x84, 0x67, 0xb3, 0xa9, 0x2b, 0xcb, 0x1c, 0x95, 0xc4, 0xea, 0x37, 0xa5, + 0x01, 0x96, 0x38, 0x5c, 0xf2, 0x62, 0x2d, 0xf4, 0x00, 0x56, 0x1c, 0xc3, 0x0f, 0x74, 0xee, 0x12, + 0xad, 0xa9, 0xb6, 0x1c, 0x37, 0x3e, 0x62, 0xbc, 0x0d, 0xce, 0x0a, 0x25, 0xd4, 0x7f, 0x4c, 0x41, + 0x91, 0x4d, 0xc6, 0xde, 0xb7, 0x4d, 0x16, 0x07, 0x7e, 0xf6, 0xf0, 0xe4, 0x36, 0xcc, 0x9b, 0xbe, + 0x27, 0x8d, 0xca, 0xef, 0xe7, 0x46, 0x0f, 0x63, 0x46, 0x43, 0x1f, 0x41, 0x4e, 0x96, 0x5b, 0x44, + 0x64, 0xa2, 0x5e, 0x1f, 0xb1, 0x4a, 0xdb, 0x48, 0x39, 0xbe, 0xdd, 0xa7, 0xa3, 0x13, 0xf7, 0x04, + 0x8e, 0x93, 0xd0, 0x2d, 0x48, 0x9b, 0xc2, 0x5c, 0xf2, 0x5b, 0x9b, 0x46, 0x1b, 0xa7, 0x4d, 0x57, + 0xfd, 0x51, 0x0a, 0x16, 0xa7, 0x3e, 0x81, 0xed, 0x80, 0x3b, 0x50, 0xf0, 0xc7, 0x7b, 0xfe, 0xc4, + 0x0f, 0xc8, 0x30, 0x7c, 0xbb, 0x8e, 0x08, 0xa8, 0x05, 0x05, 0xc3, 0x19, 0x50, 0xcf, 0x0e, 0x0e, + 0x86, 0x32, 0x91, 0x4d, 0x8e, 0x26, 0xe2, 0x3a, 0xab, 0xb5, 0x50, 0x04, 0x4f, 0xa5, 0xc3, 0xd0, + 0x40, 0x7c, 0xe0, 0xc0, 0x43, 0x83, 0x37, 0xa0, 0xe4, 0x18, 0x43, 0x5e, 0x7f, 0x0a, 0xec, 0x21, + 0x09, 0x0f, 0x83, 0xa4, 0xf5, 0xed, 0x21, 0x51, 0x55, 0x28, 0x44, 0xca, 0xd0, 0x32, 0x14, 0x6b, + 0x5a, 0x4f, 0x7f, 0xf8, 0xe8, 0x89, 0xbe, 0xd9, 0xd8, 0x51, 0xe6, 0x64, 0xf8, 0xfa, 0x67, 0x29, + 0x58, 0x94, 0x1e, 0x4b, 0xa6, 0x04, 0x6f, 0xc2, 0x82, 0x67, 0xec, 0x07, 0x61, 0xd2, 0x92, 0x11, + 0xbb, 0x9a, 0x5d, 0x02, 0x2c, 0x69, 0x61, 0xac, 0xe4, 0xa4, 0x25, 0xf6, 0x35, 0xc5, 0xfc, 0x95, + 0x5f, 0x53, 0x64, 0x7e, 0x2a, 0x5f, 0x53, 0xa8, 0xbf, 0x06, 0xb0, 0x61, 0x3b, 0xa4, 0x2f, 0x4a, + 0x55, 0x49, 0x29, 0x28, 0x0b, 0xf3, 0x64, 0x29, 0x34, 0x0c, 0xf3, 0x5a, 0x4d, 0xcc, 0x68, 0x8c, + 0x35, 0xb0, 0x2d, 0x79, 0x18, 0x39, 0x6b, 0x93, 0xb1, 0x06, 0xb6, 0x15, 0x3d, 0xfb, 0x65, 0xae, + 0x79, 0xf6, 0x53, 0x4f, 0x53, 0xb0, 0x2c, 0xc3, 0xdb, 0xc8, 0x43, 0x7f, 0x19, 0x0a, 0x22, 0xd2, + 0x9d, 0xe6, 0x7c, 0xfc, 0x0b, 0x02, 0x81, 0x6b, 0x35, 0x71, 0x5e, 0xb0, 0x5b, 0x16, 0x5a, 0x87, + 0xa2, 0x84, 0xc6, 0xbe, 0xcb, 0x02, 0x41, 0x6a, 0xb3, 0xe1, 0x7f, 0x15, 0x32, 0xfb, 0xb6, 0x43, + 0xe4, 0x46, 0x4f, 0x74, 0x00, 0x53, 0x03, 0x6c, 0xcd, 0x61, 0x8e, 0xae, 0xe7, 0xc3, 0x5a, 0x1e, + 0x1f, 0x9f, 0xcc, 0x4c, 0xe3, 0xe3, 0x13, 0x49, 0xea, 0xcc, 0xf8, 0x04, 0x8e, 0x8d, 0x4f, 0xb0, + 0xc5, 0xf8, 0x24, 0x34, 0x3e, 0x3e, 0x41, 0xfa, 0xa9, 0x8c, 0x6f, 0x1b, 0x6e, 0xd5, 0x1d, 0xc3, + 0x3c, 0x74, 0x6c, 0x3f, 0x20, 0x56, 0xdc, 0x63, 0x3c, 0x82, 0xdc, 0x85, 0xb8, 0xf4, 0xaa, 0xa2, + 0xa7, 0x44, 0xaa, 0xff, 0x9e, 0x82, 0xd2, 0x16, 0x31, 0x9c, 0xe0, 0x60, 0x5a, 0x59, 0x0a, 0x88, + 0x1f, 0xc8, 0xfb, 0x8c, 0xff, 0x46, 0x5f, 0x83, 0x7c, 0x14, 0xb6, 0x5c, 0xfb, 0x7c, 0x17, 0x41, + 0xd1, 0x63, 0x58, 0x60, 0x67, 0x8c, 0x8e, 0xc3, 0x7c, 0xe8, 0xaa, 0x97, 0x21, 0x89, 0x64, 0x97, + 0x8c, 0x47, 0x78, 0x9c, 0xc2, 0xb7, 0x52, 0x16, 0x87, 0x4d, 0xf4, 0xb3, 0x50, 0xe2, 0x0f, 0x1b, + 0x61, 0x58, 0x96, 0xbd, 0x4e, 0x67, 0x51, 0xbc, 0x4d, 0x8a, 0x90, 0xec, 0x07, 0x69, 0x58, 0xd9, + 0x31, 0x26, 0x7b, 0x44, 0xba, 0x0d, 0x62, 0x61, 0x62, 0x52, 0xcf, 0x42, 0xdd, 0xb8, 0xbb, 0xb9, + 0xe2, 0xa9, 0x33, 0x49, 0x38, 0xd9, 0xeb, 0x84, 0x39, 0x5a, 0x3a, 0x96, 0xa3, 0xad, 0x40, 0xd6, + 0xa5, 0xae, 0x49, 0xa4, 0x2f, 0x12, 0x0d, 0xf5, 0x77, 0x53, 0x71, 0x5f, 0x53, 0x8e, 0x9e, 0x21, + 0x79, 0x91, 0xaa, 0x4d, 0x83, 0xa8, 0x3b, 0xf4, 0x11, 0x94, 0x7b, 0x5a, 0x03, 0x6b, 0xfd, 0x7a, + 0xe7, 0xdb, 0x7a, 0xaf, 0xb6, 0xdd, 0xab, 0x3d, 0x7a, 0xa0, 0x77, 0x3b, 0xdb, 0xdf, 0x79, 0xf8, + 0xf8, 0xc1, 0xd7, 0x94, 0x54, 0xb9, 0x72, 0x72, 0x5a, 0xb9, 0xd3, 0xae, 0x35, 0xb6, 0xc5, 0x91, + 0xd9, 0xa3, 0x2f, 0x7a, 0x86, 0xe3, 0x1b, 0x8f, 0x1e, 0x74, 0xa9, 0x33, 0x61, 0x18, 0xf4, 0x15, + 0x40, 0x1b, 0x1a, 0x6e, 0x6b, 0x7d, 0x3d, 0x74, 0x68, 0x8d, 0x7a, 0x43, 0x49, 0x8b, 0xcc, 0x67, + 0x83, 0x78, 0x2e, 0x09, 0x6a, 0x5a, 0xef, 0xe1, 0xa3, 0x27, 0x8d, 0x7a, 0x83, 0x1d, 0x82, 0x52, + 0xfc, 0x76, 0x8b, 0x5f, 0xda, 0xa9, 0x4b, 0x2f, 0xed, 0xe9, 0xdd, 0x9f, 0xbe, 0xe4, 0xee, 0xdf, + 0x80, 0x15, 0xd3, 0xa3, 0xbe, 0xaf, 0xb3, 0x74, 0x82, 0x58, 0x33, 0x09, 0xcb, 0x17, 0xce, 0xcf, + 0xd6, 0x6f, 0x34, 0x18, 0xbf, 0xc7, 0xd9, 0x52, 0xfd, 0x0d, 0x33, 0x46, 0xe2, 0x3d, 0xa9, 0x7f, + 0x30, 0xcf, 0x22, 0x33, 0xfb, 0xc8, 0x76, 0xc8, 0x80, 0xf8, 0xe8, 0x19, 0x2c, 0x9b, 0x1e, 0xb1, + 0x58, 0x9e, 0x60, 0x38, 0xf1, 0xaf, 0x81, 0x7f, 0x26, 0x31, 0x48, 0x8a, 0x04, 0xab, 0x8d, 0x48, + 0xaa, 0x37, 0x22, 0x26, 0x5e, 0x32, 0x2f, 0xb4, 0xd1, 0xc7, 0xb0, 0xec, 0x13, 0xc7, 0x76, 0xc7, + 0x2f, 0x74, 0x93, 0xba, 0x01, 0x79, 0x11, 0x3e, 0xbf, 0x5d, 0xa7, 0xb7, 0xa7, 0x6d, 0x33, 0xa9, + 0x86, 0x10, 0xaa, 0xa3, 0xf3, 0xb3, 0xf5, 0xa5, 0x8b, 0x34, 0xbc, 0x24, 0x35, 0xcb, 0x76, 0xb9, + 0x0d, 0x4b, 0x17, 0x47, 0x83, 0x56, 0xa4, 0xa7, 0xe0, 0x0e, 0x27, 0xf4, 0x04, 0xe8, 0x0e, 0xe4, + 0x3d, 0x32, 0xb0, 0xfd, 0xc0, 0x13, 0x66, 0x66, 0x9c, 0x88, 0xc2, 0xfc, 0x84, 0xf8, 0x58, 0xab, + 0xfc, 0x2b, 0x30, 0xd3, 0x23, 0x3b, 0x5a, 0x96, 0xed, 0x1b, 0x7b, 0x52, 0x65, 0x1e, 0x87, 0x4d, + 0xb6, 0x63, 0xc7, 0x7e, 0x14, 0xd6, 0xf1, 0xdf, 0x8c, 0xc6, 0xe3, 0x0f, 0xf9, 0xe9, 0x1a, 0x8f, + 0x30, 0xc2, 0x2f, 0x64, 0x33, 0xb1, 0x2f, 0x64, 0x57, 0x20, 0xeb, 0x90, 0x23, 0xe2, 0x88, 0x9b, + 0x1f, 0x8b, 0xc6, 0xbd, 0x07, 0x50, 0x0a, 0x3f, 0xc5, 0xe4, 0x5f, 0x72, 0xe4, 0x21, 0xd3, 0xaf, + 0xf5, 0x9e, 0x2a, 0x73, 0x08, 0x20, 0x27, 0x76, 0xb2, 0x78, 0x1a, 0x6c, 0x74, 0xda, 0x1b, 0xad, + 0x4d, 0x25, 0x7d, 0xef, 0xf7, 0x32, 0x50, 0x88, 0x1e, 0xa7, 0xd8, 0x4d, 0xd3, 0xd6, 0x9e, 0x87, + 0x47, 0x21, 0xa2, 0xb7, 0xc9, 0x31, 0x7a, 0x63, 0x5a, 0xd6, 0xfa, 0x48, 0xbc, 0xc6, 0x47, 0xec, + 0xb0, 0xa4, 0xf5, 0x16, 0xe4, 0x6b, 0xbd, 0x5e, 0x6b, 0xb3, 0xad, 0x35, 0x95, 0x4f, 0x53, 0xe5, + 0x2f, 0x9c, 0x9c, 0x56, 0x6e, 0x44, 0xa0, 0x9a, 0x2f, 0x36, 0x1f, 0x47, 0x35, 0x1a, 0x5a, 0xb7, + 0xaf, 0x35, 0x95, 0x4f, 0xd2, 0xb3, 0x28, 0x5e, 0xa6, 0xe1, 0x5f, 0x19, 0x15, 0xba, 0x58, 0xeb, + 0xd6, 0x30, 0xeb, 0xf0, 0xd3, 0xb4, 0xa8, 0xb6, 0x4d, 0x7b, 0xf4, 0xc8, 0xc8, 0xf0, 0x58, 0x9f, + 0x6b, 0xe1, 0x67, 0x7b, 0x9f, 0xcc, 0x8b, 0xcf, 0x4d, 0xa6, 0x2f, 0x6d, 0xc4, 0xb0, 0x26, 0xac, + 0x37, 0xfe, 0xc4, 0xc9, 0xd5, 0xcc, 0xcf, 0xf4, 0xd6, 0x63, 0x9e, 0x8a, 0x69, 0x51, 0x61, 0x01, + 0xef, 0xb6, 0xdb, 0x0c, 0xf4, 0x49, 0x66, 0x66, 0x76, 0x78, 0xec, 0xb2, 0x14, 0x1c, 0xdd, 0x85, + 0x7c, 0xf8, 0x02, 0xaa, 0x7c, 0x9a, 0x99, 0x19, 0x50, 0x23, 0x7c, 0xbe, 0xe5, 0x1d, 0x6e, 0xed, + 0xf6, 0xf9, 0x57, 0x85, 0x9f, 0x64, 0x67, 0x3b, 0x3c, 0x18, 0x07, 0x16, 0x3d, 0x76, 0xd9, 0x99, + 0x95, 0x85, 0xbd, 0x4f, 0xb3, 0xc2, 0x17, 0x44, 0x18, 0x59, 0xd5, 0x7b, 0x0b, 0xf2, 0x58, 0xfb, + 0x96, 0xf8, 0x00, 0xf1, 0x93, 0xdc, 0x8c, 0x1e, 0x4c, 0x3e, 0x26, 0x26, 0xeb, 0xad, 0x02, 0x39, + 0xac, 0xed, 0x74, 0x9e, 0x69, 0xca, 0x1f, 0xe6, 0x66, 0xf4, 0x60, 0x32, 0xa4, 0xfc, 0x33, 0xac, + 0x7c, 0x07, 0x77, 0xb7, 0x6a, 0x7c, 0x51, 0x66, 0xf5, 0x74, 0xbc, 0xd1, 0x81, 0xe1, 0x12, 0x6b, + 0xfa, 0xc9, 0x4d, 0xc4, 0xba, 0xf7, 0x0b, 0x90, 0x0f, 0x23, 0x5d, 0xb4, 0x06, 0xb9, 0xe7, 0x1d, + 0xfc, 0x54, 0xc3, 0xca, 0x9c, 0xb0, 0x72, 0xc8, 0x79, 0x2e, 0x72, 0x94, 0x0a, 0x2c, 0xec, 0xd4, + 0xda, 0xb5, 0x4d, 0x0d, 0x87, 0x55, 0xf9, 0x10, 0x20, 0xc3, 0xb5, 0xb2, 0x22, 0x3b, 0x88, 0x74, + 0xd6, 0x57, 0x7f, 0xf8, 0x93, 0xb5, 0xb9, 0x1f, 0xff, 0x64, 0x6d, 0xee, 0x93, 0xf3, 0xb5, 0xd4, + 0x0f, 0xcf, 0xd7, 0x52, 0x7f, 0x77, 0xbe, 0x96, 0xfa, 0xb7, 0xf3, 0xb5, 0xd4, 0x5e, 0x8e, 0x5f, + 0x2a, 0x8f, 0xff, 0x2f, 0x00, 0x00, 0xff, 0xff, 0x5a, 0x0b, 0x70, 0x5e, 0xdb, 0x32, 0x00, 0x00, } diff --git a/vendor/github.com/docker/swarmkit/api/types.proto b/vendor/github.com/docker/swarmkit/api/types.proto index e075534a07..e1567d77ae 100644 --- a/vendor/github.com/docker/swarmkit/api/types.proto +++ b/vendor/github.com/docker/swarmkit/api/types.proto @@ -277,6 +277,8 @@ message Mount { // Mode of the tmpfs upon creation uint32 mode = 2 [(gogoproto.customtype) = "os.FileMode", (gogoproto.nullable) = false]; + // Options passed to tmpfs mount + string options = 3; // TODO(stevvooe): There are several more tmpfs flags, specified in the // daemon, that are accepted. Only the most basic are added for now. // @@ -862,6 +864,9 @@ message Placement { // This field is used in the platform filter for scheduling. If empty, // then the platform filter is off, meaning there are no scheduling restrictions. repeated Platform platforms = 3; + + // MaxReplicas specifies the limit for maximum number of replicas running on one node. + uint64 max_replicas = 4; } // JoinToken contains the join tokens for workers and managers. diff --git a/vendor/github.com/docker/swarmkit/manager/raftselector/raftselector.go b/vendor/github.com/docker/swarmkit/manager/raftselector/raftselector.go index 89e7918a3d..47adcf0fd9 100644 --- a/vendor/github.com/docker/swarmkit/manager/raftselector/raftselector.go +++ b/vendor/github.com/docker/swarmkit/manager/raftselector/raftselector.go @@ -1,10 +1,9 @@ package raftselector import ( + "context" "errors" - "golang.org/x/net/context" - "google.golang.org/grpc" ) diff --git a/vendor/github.com/docker/swarmkit/vendor.conf b/vendor/github.com/docker/swarmkit/vendor.conf index f91ea497e0..7115c56541 100644 --- a/vendor/github.com/docker/swarmkit/vendor.conf +++ b/vendor/github.com/docker/swarmkit/vendor.conf @@ -33,7 +33,7 @@ github.com/docker/go-connections 7beb39f0b969b075d1325fecb092faf27fd357b6 github.com/docker/go-events 9461782956ad83b30282bf90e31fa6a70c255ba9 github.com/docker/go-units 9e638d38cf6977a37a8ea0078f3ee75a7cdb2dd1 github.com/docker/libkv 1d8431073ae03cdaedb198a89722f3aab6d418ef -github.com/docker/libnetwork a79d3687931697244b8e03485bf7b2042f8ec6b6 +github.com/docker/libnetwork 1f28166bb386cf9223d2d00a28382b0e474be314 github.com/opencontainers/runc ad0f5255060d36872be04de22f8731f38ef2d7b1 github.com/opencontainers/go-digest v1.0.0-rc1 github.com/opencontainers/image-spec v1.0.1 From e3e976a82a9988c65ffae470827a131c0ef9a1c8 Mon Sep 17 00:00:00 2001 From: selansen Date: Mon, 26 Nov 2018 16:04:39 -0500 Subject: [PATCH 2/2] Data Path Port configuration support This PR chnages allow user to configure data path port number. By default we use 4789 port number. But this commit will allow user to configure port number during swarm init. Data path port can't be modified after swarm init. Signed-off-by: selansen --- cli/command/swarm/init.go | 4 ++++ cli/command/swarm/opts.go | 1 + cli/command/system/info.go | 3 +++ contrib/completion/bash/docker | 4 ++-- contrib/completion/zsh/_docker | 1 + docs/reference/commandline/swarm_init.md | 27 ++++++++++++++++++++++++ 6 files changed, 38 insertions(+), 2 deletions(-) diff --git a/cli/command/swarm/init.go b/cli/command/swarm/init.go index 977751d9dc..3c096c6604 100644 --- a/cli/command/swarm/init.go +++ b/cli/command/swarm/init.go @@ -20,6 +20,7 @@ type initOptions struct { // Not a NodeAddrOption because it has no default port. advertiseAddr string dataPathAddr string + dataPathPort uint32 forceNewCluster bool availability string defaultAddrPools []net.IPNet @@ -45,6 +46,8 @@ func newInitCommand(dockerCli command.Cli) *cobra.Command { flags.StringVar(&opts.advertiseAddr, flagAdvertiseAddr, "", "Advertised address (format: [:port])") flags.StringVar(&opts.dataPathAddr, flagDataPathAddr, "", "Address or interface to use for data path traffic (format: )") flags.SetAnnotation(flagDataPathAddr, "version", []string{"1.31"}) + flags.Uint32Var(&opts.dataPathPort, flagDataPathPort, 0, "Port number to use for data path traffic (1024 - 49151). If no value is set or is set to 0, the default port (4789) is used.") + flags.SetAnnotation(flagDataPathPort, "version", []string{"1.40"}) flags.BoolVar(&opts.forceNewCluster, "force-new-cluster", false, "Force create a new cluster from current state") flags.BoolVar(&opts.autolock, flagAutolock, false, "Enable manager autolocking (requiring an unlock key to start a stopped manager)") flags.StringVar(&opts.availability, flagAvailability, "active", `Availability of the node ("active"|"pause"|"drain")`) @@ -69,6 +72,7 @@ func runInit(dockerCli command.Cli, flags *pflag.FlagSet, opts initOptions) erro ListenAddr: opts.listenAddr.String(), AdvertiseAddr: opts.advertiseAddr, DataPathAddr: opts.dataPathAddr, + DataPathPort: opts.dataPathPort, DefaultAddrPool: defaultAddrPool, ForceNewCluster: opts.forceNewCluster, Spec: opts.swarmOptions.ToSpec(flags), diff --git a/cli/command/swarm/opts.go b/cli/command/swarm/opts.go index 9d1ea4c47d..ea66bf3987 100644 --- a/cli/command/swarm/opts.go +++ b/cli/command/swarm/opts.go @@ -22,6 +22,7 @@ const ( flagListenAddr = "listen-addr" flagAdvertiseAddr = "advertise-addr" flagDataPathAddr = "data-path-addr" + flagDataPathPort = "data-path-port" flagDefaultAddrPool = "default-addr-pool" flagDefaultAddrPoolMaskLength = "default-addr-pool-mask-length" flagQuiet = "quiet" diff --git a/cli/command/system/info.go b/cli/command/system/info.go index 92fc2cd3e7..2d6ac31ccc 100644 --- a/cli/command/system/info.go +++ b/cli/command/system/info.go @@ -235,6 +235,9 @@ func printSwarmInfo(dockerCli command.Cli, info types.Info) { fmt.Fprintln(dockerCli.Out(), " Default Address Pool:", strAddrPool.String()) fmt.Fprintln(dockerCli.Out(), " SubnetSize:", info.Swarm.Cluster.SubnetSize) } + if info.Swarm.Cluster.DataPathPort > 0 { + fmt.Fprintln(dockerCli.Out(), " Data Path Port:", info.Swarm.Cluster.DataPathPort) + } fmt.Fprintln(dockerCli.Out(), " Orchestration:") taskHistoryRetentionLimit := int64(0) diff --git a/contrib/completion/bash/docker b/contrib/completion/bash/docker index 897be6f979..18f08191e0 100644 --- a/contrib/completion/bash/docker +++ b/contrib/completion/bash/docker @@ -3698,7 +3698,7 @@ _docker_swarm_init() { COMPREPLY=( $( compgen -W "active drain pause" -- "$cur" ) ) return ;; - --cert-expiry|--default-addr-pool|--default-addr-pool-mask-length|--dispatcher-heartbeat|--external-ca|--max-snapshots|--snapshot-interval|--task-history-limit ) + --cert-expiry|--data-path-port|--default-addr-pool|--default-addr-pool-mask-length|--dispatcher-heartbeat|--external-ca|--max-snapshots|--snapshot-interval|--task-history-limit ) return ;; --data-path-addr) @@ -3718,7 +3718,7 @@ _docker_swarm_init() { case "$cur" in -*) - COMPREPLY=( $( compgen -W "--advertise-addr --autolock --availability --cert-expiry --data-path-addr --default-addr-pool --default-addr-pool-mask-length --dispatcher-heartbeat --external-ca --force-new-cluster --help --listen-addr --max-snapshots --snapshot-interval --task-history-limit" -- "$cur" ) ) + COMPREPLY=( $( compgen -W "--advertise-addr --autolock --availability --cert-expiry --data-path-addr --data-path-port --default-addr-pool --default-addr-pool-mask-length --dispatcher-heartbeat --external-ca --force-new-cluster --help --listen-addr --max-snapshots --snapshot-interval --task-history-limit " -- "$cur" ) ) ;; esac } diff --git a/contrib/completion/zsh/_docker b/contrib/completion/zsh/_docker index 94f042204d..a0b76f2a73 100644 --- a/contrib/completion/zsh/_docker +++ b/contrib/completion/zsh/_docker @@ -2285,6 +2285,7 @@ __docker_swarm_subcommand() { $opts_help \ "($help)--advertise-addr=[Advertised address]:ip\:port: " \ "($help)--data-path-addr=[Data path IP or interface]:ip " \ + "($help)--data-path-port=[Data Path Port]:port " \ "($help)--default-addr-pool=[Default address pool]" \ "($help)--default-addr-pool-mask-length=[Default address pool subnet mask length]" \ "($help)--autolock[Enable manager autolocking]" \ diff --git a/docs/reference/commandline/swarm_init.md b/docs/reference/commandline/swarm_init.md index c034c43ba6..429a8c3848 100644 --- a/docs/reference/commandline/swarm_init.md +++ b/docs/reference/commandline/swarm_init.md @@ -26,6 +26,7 @@ Options: --availability string Availability of the node ("active"|"pause"|"drain") (default "active") --cert-expiry duration Validity period for node certificates (ns|us|ms|s|m|h) (default 2160h0m0s) --data-path-addr string Address or interface to use for data path traffic (format: ) + --data-path-port uint32 Port number to use for data path traffic (1024 - 49151). If no value is set or is set to 0, the default port (4789) is used. --default-addr-pool IPnet List of default address pool (format: ) --default-addr-pool-mask-length Subnet mask length for default address pool (default 24) --dispatcher-heartbeat duration Dispatcher heartbeat period (ns|us|ms|s|m|h) (default 5s) @@ -130,6 +131,32 @@ management traffic of the cluster. If unspecified, Docker will use the same IP address or interface that is used for the advertise address. +### `--data-path-port` + +This flag allows you to configure the UDP port number to use for data path +traffic. The provided port number must be within the 1024 - 49151 range. If +this flag is not set or is set to 0, the default port number 4789 is used. +The data path port can only be configured when initializing the swarm, and +applies to all nodes that join the swarm. +The following example initializes a new Swarm, and configures the data path +port to UDP port 7777; + +```bash +docker swarm init --data-path-port=7777 +``` +After the swarm is initialized, use the `docker info` command to verify that +the port is configured: + +```bash +docker info + ... + ClusterID: 9vs5ygs0gguyyec4iqf2314c0 + Managers: 1 + Nodes: 1 + Data Path Port: 7777 + ... +``` + ### `--default-addr-pool` This flag specifies default subnet pools for global scope networks. Format example is `--default-addr-pool 30.30.0.0/16 --default-addr-pool 40.40.0.0/16`