From cb44c3c56f50436045c6a5659553ef046d3bac22 Mon Sep 17 00:00:00 2001 From: James DeFelice Date: Thu, 4 Apr 2019 15:11:09 +0000 Subject: [PATCH] spec: AlphaFeature capability for all services. A new AlphaFeature message type was added for each of the plugin, controller, and node services. Experimental features supported by the SP should be advertised via one or more of the following RPCs: * Identity.GetPluginCapabilities * Controller.ControllerGetCapabilities * Node.NodeGetCapabilities --- csi.proto | 36 +++ lib/go/csi/csi.pb.go | 682 +++++++++++++++++++++++++++++-------------- spec.md | 36 +++ 3 files changed, 534 insertions(+), 220 deletions(-) diff --git a/csi.proto b/csi.proto index 1b86c870..51070f9e 100644 --- a/csi.proto +++ b/csi.proto @@ -226,10 +226,22 @@ message PluginCapability { Type type = 1; } + message AlphaFeature { + enum Type { + UNKNOWN = 0; + } + + Type type = 1; // REQUIRED + } + oneof type { // Service that the plugin supports. Service service = 1; VolumeExpansion volume_expansion = 2; + + // AlphaFeature indicates that an experimental feature is offered by + // the plugin. + AlphaFeature alpha_feature = 3; } } message ProbeRequest { @@ -950,9 +962,21 @@ message ControllerServiceCapability { Type type = 1; } + message AlphaFeature { + enum Type { + UNKNOWN = 0; + } + + Type type = 1; // REQUIRED + } + oneof type { // RPC that the controller supports. RPC rpc = 1; + + // AlphaFeature indicates that an experimental feature is offered by + // the controller service. + AlphaFeature alpha_feature = 2; } } message CreateSnapshotRequest { @@ -1323,9 +1347,21 @@ message NodeServiceCapability { Type type = 1; } + message AlphaFeature { + enum Type { + UNKNOWN = 0; + } + + Type type = 1; // REQUIRED + } + oneof type { // RPC that the controller supports. RPC rpc = 1; + + // AlphaFeature indicates that an experimental feature is offered by + // the node service. + AlphaFeature alpha_feature = 2; } } message NodeGetInfoRequest { diff --git a/lib/go/csi/csi.pb.go b/lib/go/csi/csi.pb.go index ddd8de1a..4ec126ea 100644 --- a/lib/go/csi/csi.pb.go +++ b/lib/go/csi/csi.pb.go @@ -132,6 +132,28 @@ func (PluginCapability_VolumeExpansion_Type) EnumDescriptor() ([]byte, []int) { return fileDescriptor_9cdb00adce470e01, []int{4, 1, 0} } +type PluginCapability_AlphaFeature_Type int32 + +const ( + PluginCapability_AlphaFeature_UNKNOWN PluginCapability_AlphaFeature_Type = 0 +) + +var PluginCapability_AlphaFeature_Type_name = map[int32]string{ + 0: "UNKNOWN", +} + +var PluginCapability_AlphaFeature_Type_value = map[string]int32{ + "UNKNOWN": 0, +} + +func (x PluginCapability_AlphaFeature_Type) String() string { + return proto.EnumName(PluginCapability_AlphaFeature_Type_name, int32(x)) +} + +func (PluginCapability_AlphaFeature_Type) EnumDescriptor() ([]byte, []int) { + return fileDescriptor_9cdb00adce470e01, []int{4, 2, 0} +} + type VolumeCapability_AccessMode_Mode int32 const ( @@ -243,6 +265,28 @@ func (ControllerServiceCapability_RPC_Type) EnumDescriptor() ([]byte, []int) { return fileDescriptor_9cdb00adce470e01, []int{29, 0, 0} } +type ControllerServiceCapability_AlphaFeature_Type int32 + +const ( + ControllerServiceCapability_AlphaFeature_UNKNOWN ControllerServiceCapability_AlphaFeature_Type = 0 +) + +var ControllerServiceCapability_AlphaFeature_Type_name = map[int32]string{ + 0: "UNKNOWN", +} + +var ControllerServiceCapability_AlphaFeature_Type_value = map[string]int32{ + "UNKNOWN": 0, +} + +func (x ControllerServiceCapability_AlphaFeature_Type) String() string { + return proto.EnumName(ControllerServiceCapability_AlphaFeature_Type_name, int32(x)) +} + +func (ControllerServiceCapability_AlphaFeature_Type) EnumDescriptor() ([]byte, []int) { + return fileDescriptor_9cdb00adce470e01, []int{29, 1, 0} +} + type VolumeUsage_Unit int32 const ( @@ -306,6 +350,28 @@ func (NodeServiceCapability_RPC_Type) EnumDescriptor() ([]byte, []int) { return fileDescriptor_9cdb00adce470e01, []int{52, 0, 0} } +type NodeServiceCapability_AlphaFeature_Type int32 + +const ( + NodeServiceCapability_AlphaFeature_UNKNOWN NodeServiceCapability_AlphaFeature_Type = 0 +) + +var NodeServiceCapability_AlphaFeature_Type_name = map[int32]string{ + 0: "UNKNOWN", +} + +var NodeServiceCapability_AlphaFeature_Type_value = map[string]int32{ + "UNKNOWN": 0, +} + +func (x NodeServiceCapability_AlphaFeature_Type) String() string { + return proto.EnumName(NodeServiceCapability_AlphaFeature_Type_name, int32(x)) +} + +func (NodeServiceCapability_AlphaFeature_Type) EnumDescriptor() ([]byte, []int) { + return fileDescriptor_9cdb00adce470e01, []int{52, 1, 0} +} + type GetPluginInfoRequest struct { XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_unrecognized []byte `json:"-"` @@ -478,6 +544,7 @@ type PluginCapability struct { // Types that are valid to be assigned to Type: // *PluginCapability_Service_ // *PluginCapability_VolumeExpansion_ + // *PluginCapability_AlphaFeature_ Type isPluginCapability_Type `protobuf_oneof:"type"` XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_unrecognized []byte `json:"-"` @@ -521,10 +588,16 @@ type PluginCapability_VolumeExpansion_ struct { VolumeExpansion *PluginCapability_VolumeExpansion `protobuf:"bytes,2,opt,name=volume_expansion,json=volumeExpansion,proto3,oneof"` } +type PluginCapability_AlphaFeature_ struct { + AlphaFeature *PluginCapability_AlphaFeature `protobuf:"bytes,3,opt,name=alpha_feature,json=alphaFeature,proto3,oneof"` +} + func (*PluginCapability_Service_) isPluginCapability_Type() {} func (*PluginCapability_VolumeExpansion_) isPluginCapability_Type() {} +func (*PluginCapability_AlphaFeature_) isPluginCapability_Type() {} + func (m *PluginCapability) GetType() isPluginCapability_Type { if m != nil { return m.Type @@ -546,11 +619,19 @@ func (m *PluginCapability) GetVolumeExpansion() *PluginCapability_VolumeExpansio return nil } +func (m *PluginCapability) GetAlphaFeature() *PluginCapability_AlphaFeature { + if x, ok := m.GetType().(*PluginCapability_AlphaFeature_); ok { + return x.AlphaFeature + } + return nil +} + // XXX_OneofWrappers is for the internal use of the proto package. func (*PluginCapability) XXX_OneofWrappers() []interface{} { return []interface{}{ (*PluginCapability_Service_)(nil), (*PluginCapability_VolumeExpansion_)(nil), + (*PluginCapability_AlphaFeature_)(nil), } } @@ -632,6 +713,45 @@ func (m *PluginCapability_VolumeExpansion) GetType() PluginCapability_VolumeExpa return PluginCapability_VolumeExpansion_UNKNOWN } +type PluginCapability_AlphaFeature struct { + Type PluginCapability_AlphaFeature_Type `protobuf:"varint,1,opt,name=type,proto3,enum=csi.v1.PluginCapability_AlphaFeature_Type" json:"type,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *PluginCapability_AlphaFeature) Reset() { *m = PluginCapability_AlphaFeature{} } +func (m *PluginCapability_AlphaFeature) String() string { return proto.CompactTextString(m) } +func (*PluginCapability_AlphaFeature) ProtoMessage() {} +func (*PluginCapability_AlphaFeature) Descriptor() ([]byte, []int) { + return fileDescriptor_9cdb00adce470e01, []int{4, 2} +} + +func (m *PluginCapability_AlphaFeature) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_PluginCapability_AlphaFeature.Unmarshal(m, b) +} +func (m *PluginCapability_AlphaFeature) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_PluginCapability_AlphaFeature.Marshal(b, m, deterministic) +} +func (m *PluginCapability_AlphaFeature) XXX_Merge(src proto.Message) { + xxx_messageInfo_PluginCapability_AlphaFeature.Merge(m, src) +} +func (m *PluginCapability_AlphaFeature) XXX_Size() int { + return xxx_messageInfo_PluginCapability_AlphaFeature.Size(m) +} +func (m *PluginCapability_AlphaFeature) XXX_DiscardUnknown() { + xxx_messageInfo_PluginCapability_AlphaFeature.DiscardUnknown(m) +} + +var xxx_messageInfo_PluginCapability_AlphaFeature proto.InternalMessageInfo + +func (m *PluginCapability_AlphaFeature) GetType() PluginCapability_AlphaFeature_Type { + if m != nil { + return m.Type + } + return PluginCapability_AlphaFeature_UNKNOWN +} + type ProbeRequest struct { XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_unrecognized []byte `json:"-"` @@ -2667,6 +2787,7 @@ func (m *ControllerGetCapabilitiesResponse) GetCapabilities() []*ControllerServi type ControllerServiceCapability struct { // Types that are valid to be assigned to Type: // *ControllerServiceCapability_Rpc + // *ControllerServiceCapability_AlphaFeature_ Type isControllerServiceCapability_Type `protobuf_oneof:"type"` XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_unrecognized []byte `json:"-"` @@ -2706,8 +2827,14 @@ type ControllerServiceCapability_Rpc struct { Rpc *ControllerServiceCapability_RPC `protobuf:"bytes,1,opt,name=rpc,proto3,oneof"` } +type ControllerServiceCapability_AlphaFeature_ struct { + AlphaFeature *ControllerServiceCapability_AlphaFeature `protobuf:"bytes,2,opt,name=alpha_feature,json=alphaFeature,proto3,oneof"` +} + func (*ControllerServiceCapability_Rpc) isControllerServiceCapability_Type() {} +func (*ControllerServiceCapability_AlphaFeature_) isControllerServiceCapability_Type() {} + func (m *ControllerServiceCapability) GetType() isControllerServiceCapability_Type { if m != nil { return m.Type @@ -2722,10 +2849,18 @@ func (m *ControllerServiceCapability) GetRpc() *ControllerServiceCapability_RPC return nil } +func (m *ControllerServiceCapability) GetAlphaFeature() *ControllerServiceCapability_AlphaFeature { + if x, ok := m.GetType().(*ControllerServiceCapability_AlphaFeature_); ok { + return x.AlphaFeature + } + return nil +} + // XXX_OneofWrappers is for the internal use of the proto package. func (*ControllerServiceCapability) XXX_OneofWrappers() []interface{} { return []interface{}{ (*ControllerServiceCapability_Rpc)(nil), + (*ControllerServiceCapability_AlphaFeature_)(nil), } } @@ -2768,6 +2903,47 @@ func (m *ControllerServiceCapability_RPC) GetType() ControllerServiceCapability_ return ControllerServiceCapability_RPC_UNKNOWN } +type ControllerServiceCapability_AlphaFeature struct { + Type ControllerServiceCapability_AlphaFeature_Type `protobuf:"varint,1,opt,name=type,proto3,enum=csi.v1.ControllerServiceCapability_AlphaFeature_Type" json:"type,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *ControllerServiceCapability_AlphaFeature) Reset() { + *m = ControllerServiceCapability_AlphaFeature{} +} +func (m *ControllerServiceCapability_AlphaFeature) String() string { return proto.CompactTextString(m) } +func (*ControllerServiceCapability_AlphaFeature) ProtoMessage() {} +func (*ControllerServiceCapability_AlphaFeature) Descriptor() ([]byte, []int) { + return fileDescriptor_9cdb00adce470e01, []int{29, 1} +} + +func (m *ControllerServiceCapability_AlphaFeature) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_ControllerServiceCapability_AlphaFeature.Unmarshal(m, b) +} +func (m *ControllerServiceCapability_AlphaFeature) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_ControllerServiceCapability_AlphaFeature.Marshal(b, m, deterministic) +} +func (m *ControllerServiceCapability_AlphaFeature) XXX_Merge(src proto.Message) { + xxx_messageInfo_ControllerServiceCapability_AlphaFeature.Merge(m, src) +} +func (m *ControllerServiceCapability_AlphaFeature) XXX_Size() int { + return xxx_messageInfo_ControllerServiceCapability_AlphaFeature.Size(m) +} +func (m *ControllerServiceCapability_AlphaFeature) XXX_DiscardUnknown() { + xxx_messageInfo_ControllerServiceCapability_AlphaFeature.DiscardUnknown(m) +} + +var xxx_messageInfo_ControllerServiceCapability_AlphaFeature proto.InternalMessageInfo + +func (m *ControllerServiceCapability_AlphaFeature) GetType() ControllerServiceCapability_AlphaFeature_Type { + if m != nil { + return m.Type + } + return ControllerServiceCapability_AlphaFeature_UNKNOWN +} + type CreateSnapshotRequest struct { // The ID of the source volume to be snapshotted. // This field is REQUIRED. @@ -4102,6 +4278,7 @@ func (m *NodeGetCapabilitiesResponse) GetCapabilities() []*NodeServiceCapability type NodeServiceCapability struct { // Types that are valid to be assigned to Type: // *NodeServiceCapability_Rpc + // *NodeServiceCapability_AlphaFeature_ Type isNodeServiceCapability_Type `protobuf_oneof:"type"` XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_unrecognized []byte `json:"-"` @@ -4141,8 +4318,14 @@ type NodeServiceCapability_Rpc struct { Rpc *NodeServiceCapability_RPC `protobuf:"bytes,1,opt,name=rpc,proto3,oneof"` } +type NodeServiceCapability_AlphaFeature_ struct { + AlphaFeature *NodeServiceCapability_AlphaFeature `protobuf:"bytes,2,opt,name=alpha_feature,json=alphaFeature,proto3,oneof"` +} + func (*NodeServiceCapability_Rpc) isNodeServiceCapability_Type() {} +func (*NodeServiceCapability_AlphaFeature_) isNodeServiceCapability_Type() {} + func (m *NodeServiceCapability) GetType() isNodeServiceCapability_Type { if m != nil { return m.Type @@ -4157,10 +4340,18 @@ func (m *NodeServiceCapability) GetRpc() *NodeServiceCapability_RPC { return nil } +func (m *NodeServiceCapability) GetAlphaFeature() *NodeServiceCapability_AlphaFeature { + if x, ok := m.GetType().(*NodeServiceCapability_AlphaFeature_); ok { + return x.AlphaFeature + } + return nil +} + // XXX_OneofWrappers is for the internal use of the proto package. func (*NodeServiceCapability) XXX_OneofWrappers() []interface{} { return []interface{}{ (*NodeServiceCapability_Rpc)(nil), + (*NodeServiceCapability_AlphaFeature_)(nil), } } @@ -4203,6 +4394,45 @@ func (m *NodeServiceCapability_RPC) GetType() NodeServiceCapability_RPC_Type { return NodeServiceCapability_RPC_UNKNOWN } +type NodeServiceCapability_AlphaFeature struct { + Type NodeServiceCapability_AlphaFeature_Type `protobuf:"varint,1,opt,name=type,proto3,enum=csi.v1.NodeServiceCapability_AlphaFeature_Type" json:"type,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *NodeServiceCapability_AlphaFeature) Reset() { *m = NodeServiceCapability_AlphaFeature{} } +func (m *NodeServiceCapability_AlphaFeature) String() string { return proto.CompactTextString(m) } +func (*NodeServiceCapability_AlphaFeature) ProtoMessage() {} +func (*NodeServiceCapability_AlphaFeature) Descriptor() ([]byte, []int) { + return fileDescriptor_9cdb00adce470e01, []int{52, 1} +} + +func (m *NodeServiceCapability_AlphaFeature) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_NodeServiceCapability_AlphaFeature.Unmarshal(m, b) +} +func (m *NodeServiceCapability_AlphaFeature) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_NodeServiceCapability_AlphaFeature.Marshal(b, m, deterministic) +} +func (m *NodeServiceCapability_AlphaFeature) XXX_Merge(src proto.Message) { + xxx_messageInfo_NodeServiceCapability_AlphaFeature.Merge(m, src) +} +func (m *NodeServiceCapability_AlphaFeature) XXX_Size() int { + return xxx_messageInfo_NodeServiceCapability_AlphaFeature.Size(m) +} +func (m *NodeServiceCapability_AlphaFeature) XXX_DiscardUnknown() { + xxx_messageInfo_NodeServiceCapability_AlphaFeature.DiscardUnknown(m) +} + +var xxx_messageInfo_NodeServiceCapability_AlphaFeature proto.InternalMessageInfo + +func (m *NodeServiceCapability_AlphaFeature) GetType() NodeServiceCapability_AlphaFeature_Type { + if m != nil { + return m.Type + } + return NodeServiceCapability_AlphaFeature_UNKNOWN +} + type NodeGetInfoRequest struct { XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_unrecognized []byte `json:"-"` @@ -4518,10 +4748,13 @@ var E_AlphaService = &proto.ExtensionDesc{ func init() { proto.RegisterEnum("csi.v1.PluginCapability_Service_Type", PluginCapability_Service_Type_name, PluginCapability_Service_Type_value) proto.RegisterEnum("csi.v1.PluginCapability_VolumeExpansion_Type", PluginCapability_VolumeExpansion_Type_name, PluginCapability_VolumeExpansion_Type_value) + proto.RegisterEnum("csi.v1.PluginCapability_AlphaFeature_Type", PluginCapability_AlphaFeature_Type_name, PluginCapability_AlphaFeature_Type_value) proto.RegisterEnum("csi.v1.VolumeCapability_AccessMode_Mode", VolumeCapability_AccessMode_Mode_name, VolumeCapability_AccessMode_Mode_value) proto.RegisterEnum("csi.v1.ControllerServiceCapability_RPC_Type", ControllerServiceCapability_RPC_Type_name, ControllerServiceCapability_RPC_Type_value) + proto.RegisterEnum("csi.v1.ControllerServiceCapability_AlphaFeature_Type", ControllerServiceCapability_AlphaFeature_Type_name, ControllerServiceCapability_AlphaFeature_Type_value) proto.RegisterEnum("csi.v1.VolumeUsage_Unit", VolumeUsage_Unit_name, VolumeUsage_Unit_value) proto.RegisterEnum("csi.v1.NodeServiceCapability_RPC_Type", NodeServiceCapability_RPC_Type_name, NodeServiceCapability_RPC_Type_value) + proto.RegisterEnum("csi.v1.NodeServiceCapability_AlphaFeature_Type", NodeServiceCapability_AlphaFeature_Type_name, NodeServiceCapability_AlphaFeature_Type_value) proto.RegisterType((*GetPluginInfoRequest)(nil), "csi.v1.GetPluginInfoRequest") proto.RegisterType((*GetPluginInfoResponse)(nil), "csi.v1.GetPluginInfoResponse") proto.RegisterMapType((map[string]string)(nil), "csi.v1.GetPluginInfoResponse.ManifestEntry") @@ -4530,6 +4763,7 @@ func init() { proto.RegisterType((*PluginCapability)(nil), "csi.v1.PluginCapability") proto.RegisterType((*PluginCapability_Service)(nil), "csi.v1.PluginCapability.Service") proto.RegisterType((*PluginCapability_VolumeExpansion)(nil), "csi.v1.PluginCapability.VolumeExpansion") + proto.RegisterType((*PluginCapability_AlphaFeature)(nil), "csi.v1.PluginCapability.AlphaFeature") proto.RegisterType((*ProbeRequest)(nil), "csi.v1.ProbeRequest") proto.RegisterType((*ProbeResponse)(nil), "csi.v1.ProbeResponse") proto.RegisterType((*CreateVolumeRequest)(nil), "csi.v1.CreateVolumeRequest") @@ -4579,6 +4813,7 @@ func init() { proto.RegisterType((*ControllerGetCapabilitiesResponse)(nil), "csi.v1.ControllerGetCapabilitiesResponse") proto.RegisterType((*ControllerServiceCapability)(nil), "csi.v1.ControllerServiceCapability") proto.RegisterType((*ControllerServiceCapability_RPC)(nil), "csi.v1.ControllerServiceCapability.RPC") + proto.RegisterType((*ControllerServiceCapability_AlphaFeature)(nil), "csi.v1.ControllerServiceCapability.AlphaFeature") proto.RegisterType((*CreateSnapshotRequest)(nil), "csi.v1.CreateSnapshotRequest") proto.RegisterMapType((map[string]string)(nil), "csi.v1.CreateSnapshotRequest.ParametersEntry") proto.RegisterMapType((map[string]string)(nil), "csi.v1.CreateSnapshotRequest.SecretsEntry") @@ -4615,6 +4850,7 @@ func init() { proto.RegisterType((*NodeGetCapabilitiesResponse)(nil), "csi.v1.NodeGetCapabilitiesResponse") proto.RegisterType((*NodeServiceCapability)(nil), "csi.v1.NodeServiceCapability") proto.RegisterType((*NodeServiceCapability_RPC)(nil), "csi.v1.NodeServiceCapability.RPC") + proto.RegisterType((*NodeServiceCapability_AlphaFeature)(nil), "csi.v1.NodeServiceCapability.AlphaFeature") proto.RegisterType((*NodeGetInfoRequest)(nil), "csi.v1.NodeGetInfoRequest") proto.RegisterType((*NodeGetInfoResponse)(nil), "csi.v1.NodeGetInfoResponse") proto.RegisterType((*NodeExpandVolumeRequest)(nil), "csi.v1.NodeExpandVolumeRequest") @@ -4633,226 +4869,232 @@ func init() { } var fileDescriptor_9cdb00adce470e01 = []byte{ - // 3490 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe4, 0x5b, 0x4f, 0x70, 0xdb, 0xc6, - 0xd5, 0x17, 0xf8, 0x47, 0x7f, 0x1e, 0x25, 0x99, 0x5e, 0xfd, 0x31, 0x0d, 0x49, 0xb6, 0x0c, 0xc7, - 0x8e, 0xec, 0xd8, 0xf4, 0x17, 0x27, 0xce, 0x7c, 0x91, 0x95, 0x2f, 0xa1, 0x28, 0x58, 0x62, 0x4c, - 0x53, 0x0a, 0x48, 0xc9, 0xb1, 0xbf, 0x2f, 0x83, 0x40, 0xe4, 0x8a, 0xc6, 0x84, 0x04, 0x18, 0x00, - 0xd4, 0x27, 0xf5, 0xd2, 0x99, 0xf6, 0xd4, 0x69, 0xef, 0x6d, 0x4f, 0x9d, 0x49, 0x7b, 0x6a, 0x9b, - 0xc9, 0xa9, 0xd3, 0x63, 0x67, 0x7a, 0xe8, 0xa1, 0x87, 0x4e, 0x6f, 0xed, 0xf4, 0x92, 0x6b, 0x27, - 0xd3, 0xce, 0x64, 0x7a, 0xec, 0xf4, 0xd0, 0xc1, 0xee, 0x02, 0x04, 0x40, 0x00, 0x24, 0x2d, 0x7b, - 0x72, 0xe8, 0x49, 0xc4, 0xdb, 0xf7, 0xde, 0xbe, 0x5d, 0xbc, 0xf7, 0xf6, 0xbd, 0xdf, 0x42, 0x70, - 0xaf, 0xa9, 0x5a, 0xcf, 0xba, 0x87, 0xf9, 0xba, 0xde, 0xbe, 0x53, 0xd7, 0x35, 0x4b, 0x51, 0x35, - 0x6c, 0xdc, 0x36, 0x2d, 0xdd, 0x50, 0x9a, 0xf8, 0xb6, 0xaa, 0x59, 0xd8, 0x38, 0x52, 0xea, 0xf8, - 0x8e, 0xd9, 0xc1, 0xf5, 0x3b, 0x75, 0x53, 0xcd, 0x77, 0x0c, 0xdd, 0xd2, 0xd1, 0xb8, 0xfd, 0xf3, - 0xf8, 0x75, 0x7e, 0xb5, 0xa9, 0xeb, 0xcd, 0x16, 0xbe, 0x43, 0xa8, 0x87, 0xdd, 0xa3, 0x3b, 0x0d, - 0x6c, 0xd6, 0x0d, 0xb5, 0x63, 0xe9, 0x06, 0xe5, 0xe4, 0x2f, 0x07, 0x39, 0x2c, 0xb5, 0x8d, 0x4d, - 0x4b, 0x69, 0x77, 0x18, 0xc3, 0xa5, 0x20, 0xc3, 0xff, 0x1b, 0x4a, 0xa7, 0x83, 0x0d, 0x93, 0x8e, - 0x0b, 0x8b, 0x30, 0xbf, 0x8d, 0xad, 0xbd, 0x56, 0xb7, 0xa9, 0x6a, 0x25, 0xed, 0x48, 0x97, 0xf0, - 0xa7, 0x5d, 0x6c, 0x5a, 0xc2, 0x9f, 0x39, 0x58, 0x08, 0x0c, 0x98, 0x1d, 0x5d, 0x33, 0x31, 0x42, - 0x90, 0xd2, 0x94, 0x36, 0xce, 0x71, 0xab, 0xdc, 0xda, 0x94, 0x44, 0x7e, 0xa3, 0x6b, 0x30, 0x7b, - 0x8c, 0xb5, 0x86, 0x6e, 0xc8, 0xc7, 0xd8, 0x30, 0x55, 0x5d, 0xcb, 0x25, 0xc8, 0xe8, 0x0c, 0xa5, - 0x1e, 0x50, 0x22, 0xda, 0x86, 0xc9, 0xb6, 0xa2, 0xa9, 0x47, 0xd8, 0xb4, 0x72, 0xc9, 0xd5, 0xe4, - 0x5a, 0xe6, 0xee, 0x6b, 0x79, 0xba, 0xd4, 0x7c, 0xe8, 0x5c, 0xf9, 0x47, 0x8c, 0x5b, 0xd4, 0x2c, - 0xe3, 0x54, 0x72, 0x85, 0xf9, 0xfb, 0x30, 0xe3, 0x1b, 0x42, 0x59, 0x48, 0x7e, 0x82, 0x4f, 0x99, - 0x4d, 0xf6, 0x4f, 0x34, 0x0f, 0xe9, 0x63, 0xa5, 0xd5, 0xc5, 0xcc, 0x12, 0xfa, 0xb0, 0x9e, 0xf8, - 0x6f, 0x4e, 0xb8, 0x04, 0xcb, 0xee, 0x6c, 0x45, 0xa5, 0xa3, 0x1c, 0xaa, 0x2d, 0xd5, 0x52, 0xb1, - 0xe9, 0x2c, 0xfd, 0x23, 0x58, 0x89, 0x18, 0x67, 0x3b, 0xb0, 0x01, 0xd3, 0x75, 0x0f, 0x3d, 0xc7, - 0x91, 0xa5, 0xe4, 0x9c, 0xa5, 0x04, 0x24, 0x4f, 0x25, 0x1f, 0xb7, 0xf0, 0x87, 0x24, 0x64, 0x83, - 0x2c, 0x68, 0x03, 0x26, 0x4c, 0x6c, 0x1c, 0xab, 0x75, 0xba, 0xaf, 0x99, 0xbb, 0xab, 0x51, 0xda, - 0xf2, 0x55, 0xca, 0xb7, 0x33, 0x26, 0x39, 0x22, 0x68, 0x1f, 0xb2, 0xc7, 0x7a, 0xab, 0xdb, 0xc6, - 0x32, 0x3e, 0xe9, 0x28, 0x9a, 0xfb, 0x02, 0x32, 0x77, 0xd7, 0x22, 0xd5, 0x1c, 0x10, 0x01, 0xd1, - 0xe1, 0xdf, 0x19, 0x93, 0xce, 0x1d, 0xfb, 0x49, 0xfc, 0x0f, 0x39, 0x98, 0x60, 0xb3, 0xa1, 0xb7, - 0x21, 0x65, 0x9d, 0x76, 0xa8, 0x75, 0xb3, 0x77, 0xaf, 0x0d, 0xb2, 0x2e, 0x5f, 0x3b, 0xed, 0x60, - 0x89, 0x88, 0x08, 0x1f, 0x40, 0xca, 0x7e, 0x42, 0x19, 0x98, 0xd8, 0xaf, 0x3c, 0xac, 0xec, 0x3e, - 0xae, 0x64, 0xc7, 0xd0, 0x22, 0xa0, 0xe2, 0x6e, 0xa5, 0x26, 0xed, 0x96, 0xcb, 0xa2, 0x24, 0x57, - 0x45, 0xe9, 0xa0, 0x54, 0x14, 0xb3, 0x1c, 0x7a, 0x05, 0x56, 0x0f, 0x76, 0xcb, 0xfb, 0x8f, 0x44, - 0xb9, 0x50, 0x2c, 0x8a, 0xd5, 0x6a, 0x69, 0xb3, 0x54, 0x2e, 0xd5, 0x9e, 0xc8, 0xc5, 0xdd, 0x4a, - 0xb5, 0x26, 0x15, 0x4a, 0x95, 0x5a, 0x35, 0x9b, 0xe0, 0xbf, 0xc3, 0xc1, 0xb9, 0xc0, 0x02, 0x50, - 0xc1, 0x67, 0xe1, 0xed, 0x61, 0x17, 0xee, 0xb5, 0xf4, 0x56, 0x98, 0xa5, 0x00, 0xe3, 0xbb, 0x95, - 0x72, 0xa9, 0x62, 0x5b, 0x97, 0x81, 0x89, 0xdd, 0x07, 0x0f, 0xc8, 0x43, 0x62, 0x73, 0x9c, 0x4e, - 0x28, 0xcc, 0xc2, 0xf4, 0x9e, 0xa1, 0x1f, 0x62, 0xc7, 0x7f, 0x0a, 0x30, 0xc3, 0x9e, 0x99, 0xbf, - 0xfc, 0x17, 0xa4, 0x0d, 0xac, 0x34, 0x4e, 0xd9, 0xab, 0xe5, 0xf3, 0x34, 0x26, 0xf3, 0x4e, 0x4c, - 0xe6, 0x37, 0x75, 0xbd, 0x75, 0x60, 0xfb, 0xa7, 0x44, 0x19, 0x85, 0xaf, 0x53, 0x30, 0x57, 0x34, - 0xb0, 0x62, 0x61, 0x6a, 0x2d, 0x53, 0x1d, 0x1a, 0x7b, 0x1b, 0x30, 0x6b, 0xfb, 0x57, 0x5d, 0xb5, - 0x4e, 0x65, 0x43, 0xd1, 0x9a, 0x98, 0xbd, 0xfa, 0x05, 0x67, 0x07, 0x8a, 0x6c, 0x54, 0xb2, 0x07, - 0xa5, 0x99, 0xba, 0xf7, 0x11, 0x95, 0x60, 0x8e, 0xb9, 0x8e, 0xcf, 0xa5, 0x93, 0x7e, 0x97, 0xa6, - 0x56, 0x78, 0x5c, 0x1a, 0x1d, 0xfb, 0x29, 0x2a, 0x36, 0xd1, 0x43, 0x80, 0x8e, 0x62, 0x28, 0x6d, - 0x6c, 0x61, 0xc3, 0xcc, 0xa5, 0xfc, 0xf1, 0x1d, 0xb2, 0x9a, 0xfc, 0x9e, 0xcb, 0x4d, 0xe3, 0xdb, - 0x23, 0x8e, 0xb6, 0xed, 0x80, 0xa8, 0x1b, 0xd8, 0x32, 0x73, 0x69, 0xa2, 0x69, 0x2d, 0x4e, 0x53, - 0x95, 0xb2, 0x12, 0x35, 0x9b, 0xc9, 0x1f, 0x6d, 0x72, 0x92, 0x23, 0x8d, 0x76, 0x61, 0xc1, 0x59, - 0xa0, 0xae, 0x59, 0x58, 0xb3, 0x64, 0x53, 0xef, 0x1a, 0x75, 0x9c, 0x1b, 0x27, 0xbb, 0xb4, 0x14, - 0x58, 0x22, 0xe5, 0xa9, 0x12, 0x16, 0x89, 0x6d, 0x8d, 0x8f, 0x88, 0x9e, 0x02, 0xaf, 0xd4, 0xeb, - 0xd8, 0x34, 0x55, 0xba, 0x17, 0xb2, 0x81, 0x3f, 0xed, 0xaa, 0x06, 0x6e, 0x63, 0xcd, 0x32, 0x73, - 0x13, 0x7e, 0xad, 0x35, 0xbd, 0xa3, 0xb7, 0xf4, 0xe6, 0xa9, 0xd4, 0xe3, 0x91, 0x2e, 0xfa, 0xc4, - 0x3d, 0x23, 0x26, 0xff, 0x0e, 0x9c, 0x0b, 0x6c, 0xca, 0x28, 0x99, 0x8d, 0x5f, 0x87, 0x69, 0xef, - 0x4e, 0x8c, 0x94, 0x15, 0xbf, 0x9f, 0x80, 0xb9, 0x90, 0x3d, 0x40, 0x3b, 0x30, 0x69, 0x6a, 0x4a, - 0xc7, 0x7c, 0xa6, 0x5b, 0xcc, 0x7f, 0x6f, 0xc6, 0x6c, 0x59, 0xbe, 0xca, 0x78, 0xe9, 0xe3, 0xce, - 0x98, 0xe4, 0x4a, 0xa3, 0x4d, 0x18, 0xa7, 0xfb, 0x19, 0xcc, 0x4d, 0x61, 0x7a, 0x28, 0xcd, 0xd5, - 0xc2, 0x24, 0xf9, 0xd7, 0x61, 0xd6, 0x3f, 0x03, 0xba, 0x0c, 0x19, 0x67, 0x06, 0x59, 0x6d, 0xb0, - 0xb5, 0x82, 0x43, 0x2a, 0x35, 0xf8, 0xd7, 0x60, 0xda, 0xab, 0x0c, 0x2d, 0xc1, 0x14, 0x73, 0x08, - 0x97, 0x7d, 0x92, 0x12, 0x4a, 0x0d, 0x37, 0xa6, 0xff, 0x07, 0xe6, 0xfd, 0x7e, 0xc6, 0x42, 0xf9, - 0xba, 0xbb, 0x06, 0xba, 0x17, 0xb3, 0xfe, 0x35, 0x38, 0x76, 0x0a, 0x3f, 0x4f, 0x41, 0x36, 0x18, - 0x34, 0x68, 0x03, 0xd2, 0x87, 0x2d, 0xbd, 0xfe, 0x09, 0x93, 0x7d, 0x25, 0x2a, 0xba, 0xf2, 0x9b, - 0x36, 0x17, 0xa5, 0xee, 0x8c, 0x49, 0x54, 0xc8, 0x96, 0x6e, 0xeb, 0x5d, 0xcd, 0x62, 0xbb, 0x17, - 0x2d, 0xfd, 0xc8, 0xe6, 0xea, 0x49, 0x13, 0x21, 0xb4, 0x05, 0x19, 0xea, 0x76, 0x72, 0x5b, 0x6f, - 0xe0, 0x5c, 0x92, 0xe8, 0xb8, 0x1a, 0xa9, 0xa3, 0x40, 0x78, 0x1f, 0xe9, 0x0d, 0x2c, 0x81, 0xe2, - 0xfe, 0xe6, 0x67, 0x20, 0xe3, 0xb1, 0x8d, 0xdf, 0x86, 0x8c, 0x67, 0x32, 0x74, 0x01, 0x26, 0x8e, - 0x4c, 0xd9, 0x4d, 0xc2, 0x53, 0xd2, 0xf8, 0x91, 0x49, 0xf2, 0xe9, 0x65, 0xc8, 0x10, 0x2b, 0xe4, - 0xa3, 0x96, 0xd2, 0x34, 0x73, 0x89, 0xd5, 0xa4, 0xfd, 0x8e, 0x08, 0xe9, 0x81, 0x4d, 0xe1, 0xff, - 0xc6, 0x01, 0xf4, 0xa6, 0x44, 0x1b, 0x90, 0x22, 0x56, 0xd2, 0x54, 0xbe, 0x36, 0x84, 0x95, 0x79, - 0x62, 0x2a, 0x91, 0x12, 0x7e, 0xc2, 0x41, 0x8a, 0xa8, 0x09, 0x1e, 0x38, 0xd5, 0x52, 0x65, 0xbb, - 0x2c, 0xca, 0x95, 0xdd, 0x2d, 0x51, 0x7e, 0x2c, 0x95, 0x6a, 0xa2, 0x94, 0xe5, 0xd0, 0x12, 0x5c, - 0xf0, 0xd2, 0x25, 0xb1, 0xb0, 0x25, 0x4a, 0xf2, 0x6e, 0xa5, 0xfc, 0x24, 0x9b, 0x40, 0x3c, 0x2c, - 0x3e, 0xda, 0x2f, 0xd7, 0x4a, 0xfd, 0x63, 0x49, 0xb4, 0x0c, 0x39, 0xcf, 0x18, 0xd3, 0xc1, 0xd4, - 0xa6, 0x6c, 0xb5, 0x9e, 0x51, 0xfa, 0x93, 0x0d, 0xa6, 0x37, 0x67, 0xdc, 0x97, 0x41, 0x9c, 0xed, - 0x31, 0xcc, 0xf8, 0x72, 0xb4, 0x5d, 0x4e, 0xb1, 0xa4, 0xd2, 0x90, 0x0f, 0x4f, 0x2d, 0x52, 0x62, - 0x70, 0x6b, 0x49, 0x69, 0xc6, 0xa1, 0x6e, 0xda, 0x44, 0x7b, 0x5b, 0x5b, 0x6a, 0x5b, 0xb5, 0x18, - 0x4f, 0x82, 0xf0, 0x00, 0x21, 0x11, 0x06, 0xe1, 0xcb, 0x04, 0x8c, 0xb3, 0x77, 0x73, 0xcd, 0x73, - 0x4a, 0xf8, 0x54, 0x3a, 0x54, 0xaa, 0xd2, 0x17, 0x1c, 0x09, 0x7f, 0x70, 0xa0, 0x1d, 0x98, 0xf5, - 0xa6, 0xd2, 0x13, 0xa7, 0x88, 0xbb, 0xe2, 0x7f, 0x41, 0xde, 0x78, 0x3e, 0x61, 0xa5, 0xdb, 0xcc, - 0xb1, 0x97, 0x86, 0x36, 0x61, 0x36, 0x90, 0x8d, 0x53, 0x83, 0xb3, 0xf1, 0x4c, 0xdd, 0x97, 0x98, - 0x0a, 0x30, 0xe7, 0x24, 0xd2, 0x16, 0x96, 0x2d, 0x96, 0x68, 0xd9, 0x69, 0x91, 0xed, 0x4b, 0xc0, - 0xa8, 0xc7, 0xec, 0xd0, 0xf8, 0xf7, 0x00, 0xf5, 0xdb, 0x3a, 0x52, 0xd6, 0xec, 0xc2, 0x5c, 0x48, - 0x8a, 0x47, 0x79, 0x98, 0x22, 0xaf, 0xca, 0x54, 0x2d, 0xcc, 0xca, 0xc3, 0x7e, 0x8b, 0x7a, 0x2c, - 0x36, 0x7f, 0xc7, 0xc0, 0x47, 0xd8, 0x30, 0x70, 0x83, 0x84, 0x47, 0x28, 0xbf, 0xcb, 0x22, 0x7c, - 0x97, 0x83, 0x49, 0x87, 0x8e, 0xd6, 0x61, 0xd2, 0xc4, 0x4d, 0x7a, 0xfc, 0xd0, 0xb9, 0x2e, 0x05, - 0x65, 0xf3, 0x55, 0xc6, 0xc0, 0x0a, 0x69, 0x87, 0xdf, 0x2e, 0xa4, 0x7d, 0x43, 0x23, 0x2d, 0xfe, - 0xd7, 0x1c, 0xcc, 0x6d, 0xe1, 0x16, 0x0e, 0x56, 0x29, 0x71, 0x19, 0xd6, 0x7b, 0xb0, 0x27, 0xfc, - 0x07, 0x7b, 0x88, 0xaa, 0x98, 0x83, 0xfd, 0x4c, 0x87, 0xdd, 0x22, 0xcc, 0xfb, 0x67, 0xa3, 0xe9, - 0x5d, 0xf8, 0x7b, 0x12, 0x2e, 0xd9, 0xbe, 0x60, 0xe8, 0xad, 0x16, 0x36, 0xf6, 0xba, 0x87, 0x2d, - 0xd5, 0x7c, 0x36, 0xc2, 0xe2, 0x2e, 0xc0, 0x84, 0xa6, 0x37, 0x3c, 0xc1, 0x33, 0x6e, 0x3f, 0x96, - 0x1a, 0x48, 0x84, 0xf3, 0xc1, 0x32, 0xeb, 0x94, 0x25, 0xe1, 0xe8, 0x22, 0x2b, 0x7b, 0x1c, 0x3c, - 0x41, 0x78, 0x98, 0xb4, 0x0b, 0x44, 0x5d, 0x6b, 0x9d, 0x92, 0x88, 0x99, 0x94, 0xdc, 0x67, 0x24, - 0x05, 0x2b, 0xa6, 0x37, 0xdc, 0x8a, 0x29, 0x76, 0x45, 0x71, 0xc5, 0xd3, 0xc7, 0x7d, 0x11, 0x3f, - 0x4e, 0x54, 0xbf, 0x3d, 0xa4, 0xea, 0x81, 0x99, 0xe0, 0x2c, 0x6f, 0xf1, 0x05, 0x84, 0xef, 0xef, - 0x39, 0xb8, 0x1c, 0xb9, 0x04, 0x76, 0xe4, 0x37, 0xe0, 0x5c, 0x87, 0x0e, 0xb8, 0x9b, 0x40, 0xa3, - 0xec, 0xfe, 0xc0, 0x4d, 0x60, 0x5d, 0x2c, 0xa3, 0xfa, 0xb6, 0x61, 0xb6, 0xe3, 0x23, 0xf2, 0x05, - 0x98, 0x0b, 0x61, 0x1b, 0x69, 0x31, 0x5f, 0x71, 0xb0, 0xda, 0x33, 0x65, 0x5f, 0xeb, 0xbc, 0x38, - 0xf7, 0xad, 0xf5, 0x7c, 0x8b, 0xa6, 0xfc, 0x7b, 0xfd, 0x6b, 0x0f, 0x9f, 0xf0, 0x65, 0x45, 0xf0, - 0x55, 0xb8, 0x12, 0x33, 0x35, 0x0b, 0xe7, 0x2f, 0x53, 0x70, 0xe5, 0x40, 0x69, 0xa9, 0x0d, 0xb7, - 0x90, 0x0b, 0xe9, 0xf7, 0xe3, 0xb7, 0xa4, 0xde, 0x17, 0x01, 0x34, 0x6b, 0x6d, 0xb8, 0x51, 0x3b, - 0x48, 0xff, 0x10, 0xc7, 0xe1, 0x0b, 0x6c, 0xc2, 0x9e, 0x84, 0x34, 0x61, 0x6f, 0x0f, 0x6f, 0x6b, - 0x5c, 0x4b, 0xb6, 0x1f, 0x4c, 0x30, 0x6f, 0x0d, 0xaf, 0x37, 0xc6, 0x0b, 0xce, 0x1c, 0xc5, 0xdf, - 0x64, 0xd7, 0xf4, 0xdb, 0x14, 0x08, 0x71, 0xab, 0x67, 0x39, 0x44, 0x82, 0xa9, 0xba, 0xae, 0x1d, - 0xa9, 0x46, 0x1b, 0x37, 0x58, 0xf5, 0xff, 0xe6, 0x30, 0x9b, 0xc7, 0x12, 0x48, 0xd1, 0x91, 0x95, - 0x7a, 0x6a, 0x50, 0x0e, 0x26, 0xda, 0xd8, 0x34, 0x95, 0xa6, 0x63, 0x96, 0xf3, 0xc8, 0x7f, 0x9e, - 0x84, 0x29, 0x57, 0x04, 0x69, 0x7d, 0x1e, 0x4c, 0xd3, 0xd7, 0xf6, 0xf3, 0x18, 0xf0, 0xfc, 0xce, - 0x9c, 0x78, 0x0e, 0x67, 0x6e, 0xf8, 0x9c, 0x99, 0x86, 0xc3, 0xd6, 0x73, 0x99, 0x1d, 0xe3, 0xd7, - 0xdf, 0xb8, 0x03, 0x0a, 0xff, 0x07, 0xa8, 0xac, 0x9a, 0xac, 0x8b, 0x72, 0xd3, 0x92, 0xdd, 0x34, - 0x29, 0x27, 0x32, 0xd6, 0x2c, 0x43, 0x65, 0xe5, 0x7a, 0x5a, 0x82, 0xb6, 0x72, 0x22, 0x52, 0x8a, - 0x5d, 0xd2, 0x9b, 0x96, 0x62, 0x58, 0xaa, 0xd6, 0x94, 0x2d, 0xfd, 0x13, 0xec, 0x82, 0xae, 0x0e, - 0xb5, 0x66, 0x13, 0x85, 0xcf, 0x12, 0x30, 0xe7, 0x53, 0xcf, 0x7c, 0xf2, 0x3e, 0x4c, 0xf4, 0x74, - 0xfb, 0xca, 0xf8, 0x10, 0xee, 0x3c, 0xdd, 0x36, 0x47, 0x02, 0xad, 0x00, 0x68, 0xf8, 0xc4, 0xf2, - 0xcd, 0x3b, 0x65, 0x53, 0xc8, 0x9c, 0xfc, 0x86, 0xdb, 0x73, 0x5b, 0x8a, 0xd5, 0x35, 0xd1, 0x2d, - 0x40, 0x2c, 0x43, 0xe3, 0x86, 0xcc, 0x8e, 0x18, 0x3a, 0xed, 0x94, 0x94, 0x75, 0x47, 0x2a, 0xe4, - 0xb0, 0x31, 0xf9, 0x4f, 0x21, 0x4d, 0x37, 0x71, 0xc8, 0x6e, 0x1b, 0xbd, 0x07, 0xe3, 0x26, 0x99, - 0x28, 0x88, 0x2c, 0x84, 0xad, 0xc4, 0x6b, 0x98, 0xc4, 0xe4, 0x84, 0xcf, 0x13, 0x80, 0xb6, 0xb1, - 0xe5, 0xb6, 0x61, 0xec, 0x1d, 0x44, 0xf8, 0x32, 0xf7, 0x1c, 0xbe, 0xfc, 0xbe, 0xcf, 0x97, 0x69, - 0x34, 0xdc, 0xf4, 0xa0, 0xdf, 0x81, 0xa9, 0x63, 0x33, 0x71, 0x44, 0xeb, 0x43, 0xeb, 0xc9, 0xe1, - 0x5a, 0x9f, 0x33, 0xba, 0xec, 0x16, 0xcc, 0xf9, 0x6c, 0x66, 0x3e, 0x75, 0x1b, 0x90, 0x72, 0xac, - 0xa8, 0x2d, 0xc5, 0xb6, 0xcb, 0xe9, 0x2c, 0x59, 0xa7, 0x79, 0xde, 0x1d, 0x71, 0xc4, 0x04, 0xc1, - 0x5b, 0xb0, 0x30, 0x7d, 0x41, 0x34, 0xbe, 0xe5, 0x3d, 0xe8, 0xfb, 0x78, 0xd8, 0xbc, 0xdb, 0xa1, - 0x88, 0xfc, 0xd5, 0xfe, 0x22, 0x85, 0xc1, 0xd3, 0x91, 0xe0, 0xfc, 0x2f, 0x92, 0xb0, 0x14, 0xc3, - 0x8d, 0xee, 0x43, 0xd2, 0xe8, 0xd4, 0x99, 0x3b, 0xbe, 0x3a, 0x84, 0xfe, 0xbc, 0xb4, 0x57, 0xdc, - 0x19, 0x93, 0x6c, 0x29, 0xfe, 0x77, 0x09, 0x48, 0x4a, 0x7b, 0x45, 0xf4, 0x9e, 0x0f, 0xa9, 0xbe, - 0x35, 0xa4, 0x16, 0x2f, 0x50, 0xfd, 0x2f, 0x2e, 0x0c, 0xa9, 0xce, 0xc1, 0x7c, 0x51, 0x12, 0x0b, - 0x35, 0x51, 0xde, 0x12, 0xcb, 0x62, 0x4d, 0x94, 0x29, 0x92, 0x9e, 0xe5, 0xd0, 0x32, 0xe4, 0xf6, - 0xf6, 0x37, 0xcb, 0xa5, 0xea, 0x8e, 0xbc, 0x5f, 0x71, 0x7e, 0xb1, 0xd1, 0x04, 0xca, 0xc2, 0x74, - 0xb9, 0x54, 0xad, 0x31, 0x42, 0x35, 0x9b, 0xb4, 0x29, 0xdb, 0x62, 0x4d, 0x2e, 0x16, 0xf6, 0x0a, - 0xc5, 0x52, 0xed, 0x49, 0x36, 0x85, 0x78, 0x58, 0xf4, 0xeb, 0xae, 0x56, 0x0a, 0x7b, 0xd5, 0x9d, - 0xdd, 0x5a, 0x36, 0x8d, 0x10, 0xcc, 0x12, 0x79, 0x87, 0x54, 0xcd, 0x8e, 0xdb, 0x1a, 0x8a, 0xe5, - 0xdd, 0x8a, 0x6b, 0xc3, 0x04, 0x9a, 0x87, 0xac, 0x33, 0xb3, 0x24, 0x16, 0xb6, 0x08, 0x8a, 0x32, - 0x89, 0xce, 0xc3, 0x8c, 0xf8, 0xe1, 0x5e, 0xa1, 0xb2, 0xe5, 0x30, 0x4e, 0xa1, 0x55, 0x58, 0xf6, - 0x9a, 0x23, 0x33, 0x29, 0x71, 0x8b, 0x60, 0x29, 0xd5, 0x2c, 0xb8, 0x28, 0xdd, 0x57, 0x09, 0x58, - 0xa0, 0x30, 0x9d, 0x03, 0x0a, 0x3a, 0x81, 0xbb, 0x06, 0x59, 0x0a, 0x2c, 0xc8, 0xc1, 0xd2, 0x6e, - 0x96, 0xd2, 0x0f, 0x9c, 0x02, 0xcf, 0x81, 0xd4, 0x13, 0x1e, 0x48, 0xbd, 0x14, 0x2c, 0x77, 0x6f, - 0xfa, 0xc1, 0xe7, 0xc0, 0x6c, 0x71, 0x1d, 0xd4, 0xa3, 0x90, 0x7a, 0xec, 0x76, 0xbc, 0xb6, 0xb8, - 0xb3, 0xea, 0x2c, 0xed, 0xd2, 0x19, 0x43, 0xfe, 0x01, 0x2c, 0x06, 0xed, 0x65, 0xd1, 0x77, 0xab, - 0x0f, 0x22, 0x76, 0x73, 0x90, 0xcb, 0xeb, 0x72, 0x08, 0x7f, 0xe2, 0x60, 0xd2, 0x21, 0xdb, 0xe7, - 0x88, 0xa9, 0x7e, 0x0b, 0xfb, 0x20, 0xa9, 0x29, 0x9b, 0xe2, 0x22, 0x5c, 0x5e, 0x70, 0x37, 0x11, - 0x04, 0x77, 0x43, 0xdf, 0x73, 0x32, 0xf4, 0x3d, 0xbf, 0x0b, 0x33, 0x75, 0xdb, 0x7c, 0x55, 0xd7, - 0x64, 0x4b, 0x6d, 0x3b, 0x88, 0x53, 0xff, 0x65, 0x4c, 0xcd, 0xb9, 0x41, 0x95, 0xa6, 0x1d, 0x01, - 0x9b, 0x84, 0x56, 0x61, 0x9a, 0x5c, 0xce, 0xc8, 0x96, 0x2e, 0x77, 0x4d, 0x9c, 0x4b, 0x93, 0xfe, - 0x1b, 0x08, 0xad, 0xa6, 0xef, 0x9b, 0x58, 0xf8, 0x0d, 0x07, 0x0b, 0x14, 0x56, 0x08, 0xba, 0xe3, - 0x20, 0x90, 0xda, 0xeb, 0x71, 0x81, 0xa3, 0x21, 0x54, 0xe1, 0xcb, 0xea, 0xaa, 0x72, 0xb0, 0x18, - 0x9c, 0x8f, 0xb5, 0x52, 0x5f, 0x24, 0x60, 0xde, 0x3e, 0x4d, 0x9d, 0x81, 0x17, 0x5d, 0xa6, 0x8c, - 0xf0, 0x26, 0x03, 0x9b, 0x99, 0xea, 0xdb, 0xcc, 0x9d, 0x60, 0xa3, 0x72, 0xc3, 0x5b, 0x0f, 0x04, - 0x57, 0xf0, 0xb2, 0xf6, 0xf2, 0x97, 0x1c, 0x2c, 0x04, 0xe6, 0x63, 0xf1, 0xf2, 0x4e, 0xb0, 0xf2, - 0xba, 0x1a, 0x61, 0xdf, 0x73, 0xd5, 0x5e, 0xf7, 0x9c, 0xea, 0x69, 0xb4, 0xb0, 0xfc, 0x63, 0x02, - 0x56, 0x7a, 0x27, 0x10, 0xb9, 0x1e, 0x6d, 0x8c, 0x00, 0x1d, 0x9c, 0xed, 0x16, 0xf2, 0x83, 0x60, - 0xc2, 0xbd, 0xdb, 0x7f, 0x28, 0x86, 0x98, 0x14, 0x97, 0x78, 0x43, 0x11, 0xb7, 0xd4, 0xa8, 0x88, - 0xdb, 0x99, 0x3c, 0xe0, 0xdb, 0x5e, 0x30, 0xd1, 0x6f, 0x3e, 0xf3, 0x84, 0x21, 0x51, 0xf9, 0xb7, - 0xe0, 0x02, 0x29, 0x9a, 0xdd, 0xdb, 0x7d, 0xe7, 0xce, 0x91, 0xa6, 0xc4, 0x49, 0x69, 0xc1, 0x1e, - 0x76, 0xaf, 0xb4, 0x19, 0x12, 0xdd, 0x10, 0xbe, 0x4e, 0xc1, 0xa2, 0x5d, 0x54, 0x57, 0x2d, 0xa5, - 0x39, 0x0a, 0x46, 0xfb, 0xbf, 0xfd, 0x90, 0x57, 0xc2, 0xff, 0x5a, 0xc2, 0xb5, 0x0e, 0x83, 0x74, - 0xa1, 0x3c, 0xcc, 0x99, 0x96, 0xd2, 0x24, 0xe9, 0x40, 0x31, 0x9a, 0xd8, 0x92, 0x3b, 0x8a, 0xf5, - 0x8c, 0xc5, 0xfa, 0x79, 0x36, 0x54, 0x23, 0x23, 0x7b, 0x8a, 0xf5, 0xec, 0x05, 0xbd, 0x48, 0xf4, - 0x7e, 0x30, 0x29, 0xbc, 0x36, 0x60, 0x2d, 0x31, 0xbe, 0xf5, 0x61, 0x04, 0x2c, 0xfa, 0xfa, 0x00, - 0x95, 0x83, 0xe1, 0xd0, 0xb3, 0xc3, 0x80, 0xdf, 0x30, 0xa2, 0x7a, 0x11, 0x2e, 0xf4, 0x2d, 0x9e, - 0x1d, 0x21, 0x4d, 0xc8, 0xd9, 0x43, 0xfb, 0x9a, 0x39, 0xa2, 0x3b, 0x46, 0x78, 0x4c, 0x22, 0xc2, - 0x63, 0x84, 0x25, 0xb8, 0x18, 0x32, 0x11, 0xb3, 0xe2, 0x57, 0x69, 0x6a, 0xc6, 0xe8, 0xe0, 0xfe, - 0x47, 0x51, 0x51, 0xf1, 0xa6, 0xf7, 0xb5, 0x87, 0xe2, 0xe0, 0x2f, 0x23, 0x2e, 0x2e, 0x43, 0xc6, - 0xcb, 0xc7, 0x8e, 0x41, 0x6b, 0x40, 0xe0, 0xa4, 0xcf, 0x74, 0xe7, 0x30, 0x1e, 0xb8, 0x73, 0x28, - 0xf7, 0x82, 0x6a, 0xc2, 0x5f, 0xda, 0x46, 0x6e, 0x45, 0x4c, 0x58, 0x3d, 0xed, 0x0b, 0xab, 0x49, - 0xff, 0x45, 0x46, 0xa4, 0xd2, 0xff, 0x80, 0xc0, 0x62, 0x4e, 0x1d, 0x7a, 0xc3, 0x20, 0x3c, 0x05, - 0x9e, 0x7a, 0xfc, 0xe8, 0x98, 0x7f, 0xc0, 0x8d, 0x12, 0x41, 0x37, 0x12, 0x56, 0x60, 0x29, 0x54, - 0x37, 0x9b, 0xfa, 0x7b, 0x1c, 0x35, 0x6c, 0x1b, 0x5b, 0x3d, 0x64, 0xc5, 0x1c, 0x76, 0x6a, 0x36, - 0xe8, 0x9d, 0x9a, 0x92, 0x88, 0x07, 0x8f, 0x18, 0x12, 0xc2, 0x36, 0xdd, 0x86, 0xa0, 0x29, 0xec, - 0xb0, 0xbd, 0x01, 0xe9, 0x2e, 0x81, 0x4b, 0x69, 0xd1, 0x35, 0xe7, 0x8f, 0x81, 0x7d, 0x7b, 0x48, - 0xa2, 0x1c, 0xc2, 0x17, 0x1c, 0x64, 0x3c, 0x64, 0xb4, 0x0c, 0x53, 0x2e, 0x7a, 0xe1, 0x74, 0x29, - 0x2e, 0xc1, 0x7e, 0x69, 0x96, 0x6e, 0x29, 0x2d, 0x76, 0x03, 0x4f, 0x1f, 0xec, 0xc6, 0xb2, 0x6b, - 0x62, 0x5a, 0xc4, 0x26, 0x25, 0xf2, 0x1b, 0xdd, 0x82, 0x54, 0x57, 0x53, 0x2d, 0x12, 0xac, 0xb3, - 0xc1, 0x28, 0x24, 0x53, 0xe5, 0xf7, 0x35, 0xd5, 0x92, 0x08, 0x97, 0x70, 0x13, 0x52, 0xf6, 0x93, - 0xbf, 0xc9, 0x9f, 0x82, 0xf4, 0xe6, 0x93, 0x9a, 0x58, 0xcd, 0x72, 0x08, 0x60, 0xbc, 0x44, 0x5b, - 0xe2, 0x84, 0xb0, 0xec, 0x2e, 0x3d, 0x0c, 0x44, 0xf9, 0x98, 0xbe, 0xc3, 0x28, 0xf8, 0xa4, 0x10, - 0x0a, 0x9f, 0xac, 0xf8, 0x4e, 0xb3, 0x01, 0xc0, 0xc9, 0x3f, 0x38, 0x58, 0x08, 0xe5, 0x43, 0xf7, - 0xbc, 0x90, 0xc9, 0x95, 0x58, 0x9d, 0x5e, 0xb0, 0xe4, 0xc7, 0x1c, 0x05, 0x4b, 0xd6, 0x7d, 0x60, - 0xc9, 0xf5, 0x81, 0xf2, 0x5e, 0x98, 0xe4, 0x20, 0x02, 0x25, 0xa9, 0xd6, 0x0a, 0xdb, 0xa2, 0xbc, - 0x5f, 0xa1, 0x7f, 0x5d, 0x94, 0x64, 0x1e, 0xb2, 0xdb, 0xa2, 0x83, 0x3b, 0xc8, 0xd5, 0x5a, 0xa1, - 0x56, 0xcd, 0x26, 0xfa, 0x11, 0x8a, 0xa4, 0x8b, 0x3f, 0xcc, 0x03, 0x62, 0xdb, 0xea, 0xfd, 0x74, - 0xf6, 0x33, 0x0e, 0xe6, 0x7c, 0x64, 0xb6, 0xcb, 0x9e, 0xdb, 0x35, 0xce, 0x77, 0xbb, 0x76, 0x07, - 0xe6, 0xed, 0x16, 0x8a, 0x3a, 0xbe, 0x29, 0x77, 0xb0, 0x41, 0x30, 0x52, 0xe6, 0x4e, 0xe7, 0xdb, - 0xca, 0x09, 0xc3, 0x30, 0xf7, 0xb0, 0x61, 0x2b, 0x7e, 0x01, 0xf8, 0x9f, 0xf0, 0x83, 0x04, 0x3d, - 0xa8, 0x47, 0x2e, 0xf4, 0x07, 0x06, 0x6d, 0x7f, 0x27, 0x90, 0x1c, 0xa1, 0x13, 0x88, 0x08, 0xf9, - 0xd4, 0x48, 0xd5, 0xe1, 0xc8, 0x87, 0x9c, 0x50, 0xa0, 0x45, 0xc1, 0x19, 0x8a, 0xf4, 0xbb, 0xff, - 0xe4, 0x60, 0xb2, 0xd4, 0xc0, 0x9a, 0x65, 0x3b, 0x7d, 0x05, 0x66, 0x7c, 0x5f, 0x34, 0xa3, 0xe5, - 0x88, 0x0f, 0x9d, 0xc9, 0x8e, 0xf3, 0x2b, 0xb1, 0x9f, 0x41, 0x0b, 0x63, 0xe8, 0xc8, 0xf3, 0x35, - 0xb6, 0x0f, 0x56, 0x7e, 0xa5, 0x4f, 0x32, 0x24, 0xfe, 0xf9, 0x6b, 0x03, 0xb8, 0xdc, 0x79, 0xde, - 0x82, 0x34, 0xf9, 0x76, 0x15, 0xcd, 0xbb, 0xdf, 0xcf, 0x7a, 0x3e, 0x6d, 0xe5, 0x17, 0x02, 0x54, - 0x47, 0xee, 0xee, 0x5f, 0x27, 0x01, 0x7a, 0xbd, 0x0e, 0x7a, 0x08, 0xd3, 0xde, 0xcf, 0xe7, 0xd0, - 0x52, 0xcc, 0xc7, 0x9b, 0xfc, 0x72, 0xf8, 0xa0, 0x6b, 0xd3, 0x43, 0x98, 0xf6, 0x7e, 0xac, 0xd1, - 0x53, 0x16, 0xf2, 0xc1, 0x48, 0x4f, 0x59, 0xe8, 0xf7, 0x1d, 0x63, 0xa8, 0x05, 0x17, 0x22, 0xae, - 0xeb, 0xd1, 0xf5, 0xe1, 0x3e, 0x6a, 0xe0, 0x5f, 0x1d, 0xf2, 0xde, 0x5f, 0x18, 0x43, 0x06, 0x5c, - 0x8c, 0xbc, 0xa5, 0x46, 0x6b, 0xc3, 0xde, 0xa1, 0xf3, 0x37, 0x86, 0xe0, 0x74, 0xe7, 0xec, 0x02, - 0x1f, 0x7d, 0x35, 0x86, 0x6e, 0x0c, 0x7d, 0x67, 0xcb, 0xdf, 0x1c, 0xfe, 0xa6, 0x4d, 0x18, 0x43, - 0x3b, 0x90, 0xf1, 0xdc, 0xb6, 0x20, 0x3e, 0xf4, 0x0a, 0x86, 0x2a, 0x5e, 0x8a, 0xb9, 0x9e, 0xa1, - 0x9a, 0x3c, 0x77, 0x0b, 0x3d, 0x4d, 0xfd, 0x97, 0x24, 0x3d, 0x4d, 0x21, 0x97, 0x11, 0xc1, 0xed, - 0x0f, 0x1c, 0x7e, 0x61, 0xdb, 0x1f, 0x7e, 0x7a, 0x86, 0x6d, 0x7f, 0xc4, 0x49, 0x2a, 0x8c, 0xa1, - 0x0f, 0x60, 0xd6, 0x0f, 0x93, 0xa2, 0x95, 0x58, 0xb8, 0x97, 0xbf, 0x14, 0x35, 0xec, 0x55, 0xe9, - 0x47, 0xe5, 0x7a, 0x2a, 0x43, 0xd1, 0xc1, 0x9e, 0xca, 0x08, 0x30, 0x6f, 0xcc, 0xce, 0x4f, 0x3e, - 0xac, 0xa9, 0x97, 0x9f, 0xc2, 0x20, 0xb2, 0x5e, 0x7e, 0x0a, 0x05, 0xa8, 0x84, 0x31, 0xa4, 0xc2, - 0x62, 0x38, 0xd4, 0x81, 0xae, 0x0d, 0x85, 0xe4, 0xf0, 0xd7, 0x07, 0xb1, 0xb9, 0xa9, 0xe6, 0x2f, - 0x69, 0x48, 0x91, 0x53, 0xb0, 0x06, 0xe7, 0x02, 0xad, 0x26, 0xba, 0x14, 0xdf, 0x80, 0xf3, 0x97, - 0x23, 0xc7, 0xdd, 0x95, 0x3c, 0x85, 0xf3, 0x7d, 0xcd, 0x23, 0x5a, 0xf5, 0xca, 0x85, 0x35, 0xb0, - 0xfc, 0x95, 0x18, 0x8e, 0xa0, 0x6e, 0x7f, 0xda, 0x59, 0x1d, 0xd4, 0xdd, 0xf8, 0x75, 0x47, 0xa5, - 0x9a, 0x8f, 0x69, 0xd1, 0x11, 0x4c, 0x32, 0x82, 0xdf, 0xae, 0xd0, 0xf4, 0x72, 0x35, 0x96, 0xc7, - 0x9d, 0xe1, 0x23, 0xb7, 0xda, 0xf1, 0x54, 0xd7, 0xc8, 0x67, 0x5c, 0x68, 0x13, 0xc0, 0x0b, 0x71, - 0x2c, 0xae, 0xfa, 0xc7, 0x90, 0x0d, 0x1e, 0xc1, 0xc8, 0xf7, 0xbe, 0xc2, 0xdc, 0x66, 0x35, 0x9a, - 0x21, 0xb8, 0x33, 0xc1, 0xf8, 0x0f, 0x5a, 0x15, 0x16, 0xf9, 0x57, 0x63, 0x79, 0xbc, 0x19, 0xcb, - 0x53, 0xf0, 0xf5, 0x32, 0x56, 0x7f, 0x71, 0xd8, 0xcb, 0x58, 0x21, 0x15, 0xa2, 0x30, 0xb6, 0xbe, - 0x01, 0xa0, 0xb4, 0x3a, 0xcf, 0x14, 0x19, 0x6b, 0xdd, 0x36, 0x5a, 0xee, 0xbb, 0x9c, 0x10, 0xb5, - 0x6e, 0x7b, 0xb7, 0x63, 0xa9, 0xba, 0x66, 0xe6, 0x7e, 0x36, 0x49, 0xba, 0xf1, 0x29, 0x22, 0x60, - 0x0f, 0xac, 0x97, 0x21, 0xdb, 0x93, 0x96, 0x49, 0xef, 0x88, 0xae, 0x84, 0xea, 0x20, 0xff, 0x6d, - 0x12, 0x50, 0x34, 0xeb, 0x2a, 0x22, 0xa3, 0xeb, 0xef, 0x00, 0xd4, 0x4d, 0x55, 0xa6, 0xdd, 0x39, - 0x5a, 0xe9, 0xd3, 0xf3, 0x40, 0xc5, 0xad, 0x86, 0xa3, 0xe3, 0xa7, 0xcc, 0x98, 0xba, 0xa9, 0xd2, - 0x26, 0x79, 0xfd, 0x5d, 0xc8, 0x50, 0x63, 0x8e, 0x6c, 0xbe, 0x41, 0xf2, 0xcc, 0x06, 0xba, 0x7a, - 0x32, 0xb2, 0x2e, 0xc2, 0x0c, 0x55, 0xc0, 0xbe, 0x6b, 0x41, 0x97, 0xfb, 0x54, 0x3c, 0xa2, 0x23, - 0x01, 0x25, 0xd3, 0x44, 0x8c, 0x8d, 0xad, 0x6f, 0xc2, 0xb4, 0xa3, 0xc6, 0x7a, 0xa6, 0x37, 0xd0, - 0xa5, 0x10, 0x2d, 0xf6, 0x40, 0x40, 0x49, 0x86, 0x29, 0xb1, 0x87, 0x7a, 0xa6, 0x38, 0xff, 0x71, - 0xd5, 0x6f, 0x0a, 0x6b, 0x46, 0x42, 0x4d, 0x61, 0x63, 0x9b, 0xe9, 0xa7, 0xc9, 0xba, 0xa9, 0x1e, - 0x8e, 0x13, 0xa1, 0x37, 0xfe, 0x1d, 0x00, 0x00, 0xff, 0xff, 0xfc, 0x9a, 0x6c, 0x9e, 0x1e, 0x38, - 0x00, 0x00, + // 3585 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe4, 0x5b, 0x4d, 0x70, 0xdb, 0xc6, + 0xf5, 0x27, 0xf8, 0xa1, 0x8f, 0x47, 0x49, 0xa6, 0x57, 0x1f, 0xa6, 0x21, 0xc9, 0x96, 0xe1, 0xd8, + 0x91, 0x1d, 0x9b, 0x4e, 0x9c, 0x38, 0xf3, 0x8f, 0xac, 0x7c, 0x50, 0x14, 0x2d, 0x31, 0xa6, 0x29, + 0x19, 0xa4, 0xe4, 0xd8, 0xff, 0x7f, 0x06, 0x81, 0xc8, 0x15, 0x85, 0x09, 0x09, 0x30, 0x00, 0xa8, + 0xbf, 0xd4, 0x4b, 0xa7, 0xed, 0xa9, 0xd3, 0xde, 0xdb, 0x9e, 0x3a, 0x93, 0xf6, 0xd4, 0x69, 0x26, + 0xa7, 0x4e, 0x8f, 0x9d, 0xe9, 0xa1, 0x87, 0x9e, 0x7a, 0x6b, 0xa7, 0x97, 0x5c, 0x3b, 0x99, 0x76, + 0x26, 0x87, 0x9e, 0x3a, 0x3d, 0x74, 0xb0, 0xbb, 0x00, 0x01, 0x10, 0x00, 0x49, 0xcb, 0x9e, 0x1c, + 0x7a, 0x12, 0xf1, 0xf6, 0xed, 0xdb, 0xb7, 0xbb, 0xef, 0xbd, 0x7d, 0xef, 0xb7, 0x2b, 0xb8, 0xd7, + 0x54, 0xcc, 0xa3, 0xee, 0x41, 0xae, 0xae, 0xb5, 0xef, 0xd4, 0x35, 0xd5, 0x94, 0x15, 0x15, 0xeb, + 0xb7, 0x0d, 0x53, 0xd3, 0xe5, 0x26, 0xbe, 0xad, 0xa8, 0x26, 0xd6, 0x0f, 0xe5, 0x3a, 0xbe, 0x63, + 0x74, 0x70, 0xfd, 0x4e, 0xdd, 0x50, 0x72, 0x1d, 0x5d, 0x33, 0x35, 0x34, 0x66, 0xfd, 0x3c, 0x7e, + 0x83, 0x5f, 0x69, 0x6a, 0x5a, 0xb3, 0x85, 0xef, 0x10, 0xea, 0x41, 0xf7, 0xf0, 0x4e, 0x03, 0x1b, + 0x75, 0x5d, 0xe9, 0x98, 0x9a, 0x4e, 0x39, 0xf9, 0xcb, 0x7e, 0x0e, 0x53, 0x69, 0x63, 0xc3, 0x94, + 0xdb, 0x1d, 0xc6, 0x70, 0xc9, 0xcf, 0xf0, 0xff, 0xba, 0xdc, 0xe9, 0x60, 0xdd, 0xa0, 0xed, 0xc2, + 0x02, 0xcc, 0x6d, 0x61, 0x73, 0xb7, 0xd5, 0x6d, 0x2a, 0x6a, 0x49, 0x3d, 0xd4, 0x44, 0xfc, 0x59, + 0x17, 0x1b, 0xa6, 0xf0, 0x17, 0x0e, 0xe6, 0x7d, 0x0d, 0x46, 0x47, 0x53, 0x0d, 0x8c, 0x10, 0x24, + 0x55, 0xb9, 0x8d, 0xb3, 0xdc, 0x0a, 0xb7, 0x3a, 0x29, 0x92, 0xdf, 0xe8, 0x1a, 0xcc, 0x1c, 0x63, + 0xb5, 0xa1, 0xe9, 0xd2, 0x31, 0xd6, 0x0d, 0x45, 0x53, 0xb3, 0x71, 0xd2, 0x3a, 0x4d, 0xa9, 0xfb, + 0x94, 0x88, 0xb6, 0x60, 0xa2, 0x2d, 0xab, 0xca, 0x21, 0x36, 0xcc, 0x6c, 0x62, 0x25, 0xb1, 0x9a, + 0xbe, 0xfb, 0x5a, 0x8e, 0x4e, 0x35, 0x17, 0x38, 0x56, 0xee, 0x11, 0xe3, 0x2e, 0xaa, 0xa6, 0x7e, + 0x2a, 0x3a, 0x9d, 0xf9, 0xfb, 0x30, 0xed, 0x69, 0x42, 0x19, 0x48, 0x7c, 0x8a, 0x4f, 0x99, 0x4e, + 0xd6, 0x4f, 0x34, 0x07, 0xa9, 0x63, 0xb9, 0xd5, 0xc5, 0x4c, 0x13, 0xfa, 0xb1, 0x16, 0xff, 0x1f, + 0x4e, 0xb8, 0x04, 0x4b, 0xce, 0x68, 0x05, 0xb9, 0x23, 0x1f, 0x28, 0x2d, 0xc5, 0x54, 0xb0, 0x61, + 0x4f, 0xfd, 0x63, 0x58, 0x0e, 0x69, 0x67, 0x2b, 0xb0, 0x0e, 0x53, 0x75, 0x17, 0x3d, 0xcb, 0x91, + 0xa9, 0x64, 0xed, 0xa9, 0xf8, 0x7a, 0x9e, 0x8a, 0x1e, 0x6e, 0xe1, 0x7b, 0x29, 0xc8, 0xf8, 0x59, + 0xd0, 0x3a, 0x8c, 0x1b, 0x58, 0x3f, 0x56, 0xea, 0x74, 0x5d, 0xd3, 0x77, 0x57, 0xc2, 0xa4, 0xe5, + 0xaa, 0x94, 0x6f, 0x3b, 0x26, 0xda, 0x5d, 0xd0, 0x1e, 0x64, 0x8e, 0xb5, 0x56, 0xb7, 0x8d, 0x25, + 0x7c, 0xd2, 0x91, 0x55, 0x67, 0x03, 0xd2, 0x77, 0x57, 0x43, 0xc5, 0xec, 0x93, 0x0e, 0x45, 0x9b, + 0x7f, 0x3b, 0x26, 0x9e, 0x3b, 0xf6, 0x92, 0x50, 0x19, 0xa6, 0xe5, 0x56, 0xe7, 0x48, 0x96, 0x0e, + 0xb1, 0x6c, 0x76, 0x75, 0x9c, 0x4d, 0x10, 0x99, 0xd7, 0x42, 0x65, 0xe6, 0x2d, 0xee, 0x07, 0x94, + 0x79, 0x3b, 0x26, 0x4e, 0xc9, 0xae, 0x6f, 0xfe, 0x27, 0x1c, 0x8c, 0x33, 0xdd, 0xd1, 0x3b, 0x90, + 0x34, 0x4f, 0x3b, 0x74, 0xae, 0x33, 0x11, 0x02, 0x19, 0x7f, 0xae, 0x76, 0xda, 0xc1, 0x22, 0xe9, + 0x22, 0x3c, 0x86, 0xa4, 0xf5, 0x85, 0xd2, 0x30, 0xbe, 0x57, 0x79, 0x58, 0xd9, 0x79, 0x52, 0xc9, + 0xc4, 0xd0, 0x02, 0xa0, 0xc2, 0x4e, 0xa5, 0x26, 0xee, 0x94, 0xcb, 0x45, 0x51, 0xaa, 0x16, 0xc5, + 0xfd, 0x52, 0xa1, 0x98, 0xe1, 0xd0, 0x2b, 0xb0, 0xb2, 0xbf, 0x53, 0xde, 0x7b, 0x54, 0x94, 0xf2, + 0x85, 0x42, 0xb1, 0x5a, 0x2d, 0x6d, 0x94, 0xca, 0xa5, 0xda, 0x53, 0xa9, 0xb0, 0x53, 0xa9, 0xd6, + 0xc4, 0x7c, 0xa9, 0x52, 0xab, 0x66, 0xe2, 0xfc, 0xf7, 0x39, 0x38, 0xe7, 0x5b, 0x0e, 0x94, 0xf7, + 0x68, 0x78, 0x7b, 0xd8, 0x65, 0x74, 0x6b, 0x7a, 0x2b, 0x48, 0x53, 0x80, 0xb1, 0x9d, 0x4a, 0xb9, + 0x54, 0xb1, 0xb4, 0x4b, 0xc3, 0xf8, 0xce, 0x83, 0x07, 0xe4, 0x23, 0xce, 0xd7, 0x61, 0xca, 0xbd, + 0x7c, 0xe8, 0x3d, 0x8f, 0x02, 0x37, 0x87, 0x5a, 0x73, 0xf7, 0xe8, 0xb3, 0x01, 0xa3, 0x6f, 0x8c, + 0x51, 0xa1, 0xc2, 0x0c, 0x4c, 0xed, 0xea, 0xda, 0x01, 0xb6, 0x4d, 0x3e, 0x0f, 0xd3, 0xec, 0x9b, + 0x99, 0xf8, 0xeb, 0x90, 0xd2, 0xb1, 0xdc, 0x38, 0x65, 0xd6, 0xc8, 0xe7, 0x68, 0x18, 0xc9, 0xd9, + 0x61, 0x24, 0xb7, 0xa1, 0x69, 0xad, 0x7d, 0xcb, 0xa5, 0x44, 0xca, 0x28, 0x7c, 0x93, 0x84, 0xd9, + 0x82, 0x8e, 0x65, 0x13, 0xd3, 0x25, 0x61, 0xa2, 0x03, 0xc3, 0xc5, 0x3a, 0xcc, 0x58, 0x2e, 0x51, + 0x57, 0xcc, 0x53, 0x49, 0x97, 0xd5, 0x26, 0x66, 0xd6, 0x3a, 0x6f, 0xcf, 0xb2, 0xc0, 0x5a, 0x45, + 0xab, 0x51, 0x9c, 0xae, 0xbb, 0x3f, 0x51, 0x09, 0x66, 0x99, 0xb5, 0x7b, 0xbc, 0x30, 0xe1, 0xf5, + 0x42, 0xaa, 0x85, 0xcb, 0x0b, 0xd1, 0xb1, 0x97, 0xa2, 0x60, 0x03, 0x3d, 0x04, 0xe8, 0xc8, 0xba, + 0xdc, 0xc6, 0x26, 0xd6, 0x8d, 0x6c, 0xd2, 0x1b, 0x92, 0x02, 0x66, 0x93, 0xdb, 0x75, 0xb8, 0x69, + 0x48, 0x72, 0x75, 0x47, 0x5b, 0x96, 0x0f, 0xd7, 0x75, 0x6c, 0x1a, 0xd9, 0x14, 0x91, 0xb4, 0x1a, + 0x25, 0xa9, 0x4a, 0x59, 0x89, 0x98, 0x8d, 0xc4, 0x4f, 0x37, 0x38, 0xd1, 0xee, 0x8d, 0x76, 0x60, + 0xde, 0x9e, 0xa0, 0xa6, 0x9a, 0x58, 0x35, 0x25, 0x43, 0xeb, 0xea, 0x75, 0x9c, 0x1d, 0x23, 0xab, + 0xb4, 0xe8, 0x9b, 0x22, 0xe5, 0xa9, 0x12, 0x16, 0x91, 0x2d, 0x8d, 0x87, 0x88, 0x9e, 0x01, 0x2f, + 0xd7, 0xeb, 0xd8, 0x30, 0x14, 0xba, 0x16, 0x92, 0x8e, 0x3f, 0xeb, 0x2a, 0x3a, 0x6e, 0x63, 0xd5, + 0x34, 0xb2, 0xe3, 0x5e, 0xa9, 0x35, 0xad, 0xa3, 0xb5, 0xb4, 0xe6, 0xa9, 0xd8, 0xe3, 0x11, 0x2f, + 0x7a, 0xba, 0xbb, 0x5a, 0x0c, 0xfe, 0x5d, 0x38, 0xe7, 0x5b, 0x94, 0x51, 0x82, 0x31, 0xbf, 0x06, + 0x53, 0xee, 0x95, 0x18, 0x29, 0x90, 0xff, 0x28, 0x0e, 0xb3, 0x01, 0x6b, 0x80, 0xb6, 0x61, 0xc2, + 0x50, 0xe5, 0x8e, 0x71, 0xa4, 0x99, 0xcc, 0x7e, 0x6f, 0x46, 0x2c, 0x59, 0xae, 0xca, 0x78, 0xe9, + 0xe7, 0x76, 0x4c, 0x74, 0x7a, 0xa3, 0x0d, 0x18, 0xa3, 0xeb, 0xe9, 0x0f, 0xa7, 0x41, 0x72, 0x28, + 0xcd, 0x91, 0xc2, 0x7a, 0xf2, 0x6f, 0xc0, 0x8c, 0x77, 0x04, 0x74, 0x19, 0xd2, 0xf6, 0x08, 0x92, + 0xd2, 0x60, 0x73, 0x05, 0x9b, 0x54, 0x6a, 0xf0, 0xaf, 0xc1, 0x94, 0x5b, 0x18, 0x5a, 0x84, 0x49, + 0x66, 0x10, 0x0e, 0xfb, 0x04, 0x25, 0x94, 0x1a, 0x8e, 0x4f, 0xbf, 0x07, 0x73, 0x5e, 0x3b, 0x63, + 0xae, 0x7c, 0xdd, 0x99, 0x03, 0x5d, 0x8b, 0x19, 0xef, 0x1c, 0x6c, 0x3d, 0x85, 0x5f, 0x25, 0x21, + 0xe3, 0x77, 0x1a, 0xb4, 0x0e, 0xa9, 0x83, 0x96, 0x56, 0xff, 0x94, 0xf5, 0x7d, 0x25, 0xcc, 0xbb, + 0x72, 0x1b, 0x16, 0x17, 0xa5, 0x6e, 0xc7, 0x44, 0xda, 0xc9, 0xea, 0xdd, 0xd6, 0xba, 0xaa, 0xc9, + 0x56, 0x2f, 0xbc, 0xf7, 0x23, 0x8b, 0xab, 0xd7, 0x9b, 0x74, 0x42, 0x9b, 0x90, 0xa6, 0x66, 0x27, + 0xb5, 0xb5, 0x86, 0x7d, 0xf8, 0x5c, 0x0d, 0x95, 0x91, 0x27, 0xbc, 0x8f, 0xb4, 0x06, 0x16, 0x41, + 0x76, 0x7e, 0xf3, 0xd3, 0x90, 0x76, 0xe9, 0xc6, 0x6f, 0x41, 0xda, 0x35, 0x18, 0xba, 0x00, 0xe3, + 0x87, 0x86, 0xe4, 0x04, 0xda, 0x49, 0x71, 0xec, 0xd0, 0x20, 0x61, 0xf3, 0x32, 0xa4, 0x89, 0x16, + 0xd2, 0x61, 0x4b, 0x6e, 0x1a, 0xd9, 0xf8, 0x4a, 0xc2, 0xda, 0x23, 0x42, 0x7a, 0x60, 0x51, 0xf8, + 0xbf, 0x73, 0x00, 0xbd, 0x21, 0xd1, 0x3a, 0x24, 0x89, 0x96, 0x34, 0x5c, 0xaf, 0x0e, 0xa1, 0x65, + 0x8e, 0xa8, 0x4a, 0x7a, 0x09, 0x3f, 0xe7, 0x20, 0x49, 0xc4, 0xf8, 0x4f, 0xb5, 0x6a, 0xa9, 0xb2, + 0x55, 0x2e, 0x4a, 0x95, 0x9d, 0xcd, 0xa2, 0xf4, 0x44, 0x2c, 0xd5, 0x8a, 0x62, 0x86, 0x43, 0x8b, + 0x70, 0xc1, 0x4d, 0x17, 0x8b, 0xf9, 0xcd, 0xa2, 0x28, 0xed, 0x54, 0xca, 0x4f, 0x33, 0x71, 0xc4, + 0xc3, 0xc2, 0xa3, 0xbd, 0x72, 0xad, 0xd4, 0xdf, 0x96, 0x40, 0x4b, 0x90, 0x75, 0xb5, 0x31, 0x19, + 0x4c, 0x6c, 0xd2, 0x12, 0xeb, 0x6a, 0xa5, 0x3f, 0x59, 0x63, 0x6a, 0x63, 0xda, 0xd9, 0x0c, 0x62, + 0x6c, 0x4f, 0x60, 0xda, 0x13, 0xa3, 0xad, 0x0c, 0x90, 0x05, 0x95, 0x86, 0x74, 0x70, 0x6a, 0x92, + 0xac, 0x88, 0x5b, 0x4d, 0x88, 0xd3, 0x36, 0x75, 0xc3, 0x22, 0x5a, 0xcb, 0xda, 0x52, 0xda, 0x8a, + 0xc9, 0x78, 0xe2, 0x84, 0x07, 0x08, 0x89, 0x30, 0x08, 0x5f, 0xc5, 0x61, 0x8c, 0xed, 0xcd, 0x35, + 0xd7, 0x29, 0xe1, 0x11, 0x69, 0x53, 0xa9, 0x48, 0x8f, 0x73, 0xc4, 0xbd, 0xce, 0x81, 0xb6, 0x61, + 0xc6, 0x1d, 0x4a, 0x4f, 0xec, 0xbc, 0xf3, 0x8a, 0x77, 0x83, 0xdc, 0xfe, 0x7c, 0xc2, 0xb2, 0xcd, + 0xe9, 0x63, 0x37, 0x0d, 0x6d, 0xc0, 0x8c, 0x2f, 0x1a, 0x27, 0x07, 0x47, 0xe3, 0xe9, 0xba, 0x27, + 0x30, 0xe5, 0x61, 0xd6, 0x0e, 0xa4, 0x2d, 0x2c, 0x99, 0x2c, 0xd0, 0xb2, 0xd3, 0x22, 0xd3, 0x17, + 0x80, 0x51, 0x8f, 0xd9, 0xa6, 0xf1, 0x1f, 0x00, 0xea, 0xd7, 0x75, 0xa4, 0xa8, 0xd9, 0x85, 0xd9, + 0x80, 0x10, 0x8f, 0x72, 0x30, 0x49, 0xb6, 0xca, 0x50, 0x4c, 0xcc, 0x32, 0xda, 0x7e, 0x8d, 0x7a, + 0x2c, 0x16, 0x7f, 0x47, 0xc7, 0x87, 0x58, 0xd7, 0x71, 0x83, 0xb8, 0x47, 0x20, 0xbf, 0xc3, 0x22, + 0xfc, 0x80, 0x83, 0x09, 0x9b, 0x8e, 0xd6, 0x60, 0xc2, 0xc0, 0x4d, 0x7a, 0xfc, 0xd0, 0xb1, 0x2e, + 0xf9, 0xfb, 0xe6, 0xaa, 0x8c, 0x81, 0xe5, 0xfe, 0x36, 0xbf, 0x95, 0xfb, 0x7b, 0x9a, 0x46, 0x9a, + 0xfc, 0x6f, 0x39, 0x98, 0xdd, 0xc4, 0x2d, 0xec, 0xcf, 0x52, 0xa2, 0x22, 0xac, 0xfb, 0x60, 0x8f, + 0x7b, 0x0f, 0xf6, 0x00, 0x51, 0x11, 0x07, 0xfb, 0x99, 0x0e, 0xbb, 0x05, 0x98, 0xf3, 0x8e, 0x46, + 0xc3, 0xbb, 0xf0, 0x8f, 0x04, 0x5c, 0xb2, 0x6c, 0x41, 0xd7, 0x5a, 0x2d, 0xac, 0xef, 0x76, 0x0f, + 0x5a, 0x8a, 0x71, 0x34, 0xc2, 0xe4, 0x2e, 0xc0, 0xb8, 0xaa, 0x35, 0x5c, 0xce, 0x33, 0x66, 0x7d, + 0x96, 0x1a, 0xa8, 0x08, 0xe7, 0xfd, 0x69, 0xd6, 0x29, 0x0b, 0xc2, 0xe1, 0x49, 0x56, 0xe6, 0xd8, + 0x7f, 0x82, 0xf0, 0x30, 0x61, 0x25, 0x88, 0x9a, 0xda, 0x3a, 0x25, 0x1e, 0x33, 0x21, 0x3a, 0xdf, + 0x48, 0xf4, 0x67, 0x4c, 0x6f, 0x3a, 0x19, 0x53, 0xe4, 0x8c, 0xa2, 0x92, 0xa7, 0x4f, 0xfa, 0x3c, + 0x7e, 0x8c, 0x88, 0x7e, 0x67, 0x48, 0xd1, 0x03, 0x23, 0xc1, 0x59, 0x76, 0xf1, 0x05, 0xb8, 0xef, + 0x1f, 0x39, 0xb8, 0x1c, 0x3a, 0x05, 0x76, 0xe4, 0x37, 0xe0, 0x5c, 0x87, 0x36, 0x38, 0x8b, 0x40, + 0xbd, 0xec, 0xfe, 0xc0, 0x45, 0x60, 0x85, 0x37, 0xa3, 0x7a, 0x96, 0x61, 0xa6, 0xe3, 0x21, 0xf2, + 0x79, 0x98, 0x0d, 0x60, 0x1b, 0x69, 0x32, 0x5f, 0x73, 0xb0, 0xd2, 0x53, 0x65, 0x4f, 0xed, 0xbc, + 0x38, 0xf3, 0xad, 0xf5, 0x6c, 0x8b, 0x86, 0xfc, 0x7b, 0xfd, 0x73, 0x0f, 0x1e, 0xf0, 0x65, 0x79, + 0xf0, 0x55, 0xb8, 0x12, 0x31, 0x34, 0x73, 0xe7, 0xaf, 0x92, 0x70, 0x65, 0x5f, 0x6e, 0x29, 0x0d, + 0x27, 0x91, 0x0b, 0x80, 0x28, 0xa2, 0x97, 0xa4, 0xde, 0xe7, 0x01, 0x34, 0x6a, 0xad, 0x3b, 0x5e, + 0x3b, 0x48, 0xfe, 0x10, 0xc7, 0xe1, 0x0b, 0x2c, 0xc2, 0x9e, 0x06, 0x14, 0x61, 0xef, 0x0c, 0xaf, + 0x6b, 0x54, 0x49, 0xb6, 0xe7, 0x0f, 0x30, 0x6f, 0x0f, 0x2f, 0x37, 0xc2, 0x0a, 0xce, 0xec, 0xc5, + 0xdf, 0x66, 0xd5, 0xf4, 0xfb, 0x24, 0x08, 0x51, 0xb3, 0x67, 0x31, 0x44, 0x84, 0xc9, 0xba, 0xa6, + 0x1e, 0x2a, 0x7a, 0x1b, 0x37, 0x58, 0xf6, 0xff, 0xd6, 0x30, 0x8b, 0xc7, 0x02, 0x48, 0xc1, 0xee, + 0x2b, 0xf6, 0xc4, 0xa0, 0x2c, 0x8c, 0xb7, 0xb1, 0x61, 0xc8, 0x4d, 0x5b, 0x2d, 0xfb, 0x93, 0xff, + 0x22, 0x01, 0x93, 0x4e, 0x17, 0xa4, 0xf6, 0x59, 0x30, 0x0d, 0x5f, 0x5b, 0xcf, 0xa3, 0xc0, 0xf3, + 0x1b, 0x73, 0xfc, 0x39, 0x8c, 0xb9, 0xe1, 0x31, 0x66, 0xea, 0x0e, 0x9b, 0xcf, 0xa5, 0x76, 0x84, + 0x5d, 0x7f, 0xeb, 0x06, 0x28, 0xfc, 0x1f, 0xa0, 0xb2, 0x62, 0xb0, 0x2a, 0xca, 0x09, 0x4b, 0x56, + 0xd1, 0x24, 0x9f, 0x48, 0x58, 0x35, 0x75, 0x85, 0xa5, 0xeb, 0x29, 0x11, 0xda, 0xf2, 0x49, 0x91, + 0x52, 0xac, 0x94, 0xde, 0x30, 0x65, 0xdd, 0x54, 0xd4, 0xa6, 0x64, 0x6a, 0x9f, 0x62, 0x07, 0x27, + 0xb6, 0xa9, 0x35, 0x8b, 0x28, 0x7c, 0x1e, 0x87, 0x59, 0x8f, 0x78, 0x66, 0x93, 0xf7, 0x61, 0xbc, + 0x27, 0xdb, 0x93, 0xc6, 0x07, 0x70, 0xe7, 0xe8, 0xb2, 0xd9, 0x3d, 0xd0, 0x32, 0x80, 0x8a, 0x4f, + 0x4c, 0xcf, 0xb8, 0x93, 0x16, 0x85, 0x8c, 0xc9, 0xaf, 0x3b, 0x35, 0xb7, 0x29, 0x9b, 0x5d, 0x03, + 0xdd, 0x02, 0xc4, 0x22, 0x34, 0x6e, 0x48, 0xec, 0x88, 0xa1, 0xc3, 0x4e, 0x8a, 0x19, 0xa7, 0xa5, + 0x42, 0x0e, 0x1b, 0x83, 0xff, 0x0c, 0x52, 0x74, 0x11, 0x87, 0xac, 0xb6, 0xd1, 0x07, 0x30, 0x66, + 0x90, 0x81, 0xfc, 0xc8, 0x42, 0xd0, 0x4c, 0xdc, 0x8a, 0x89, 0xac, 0x9f, 0xf0, 0x45, 0x1c, 0xd0, + 0x16, 0x36, 0x9d, 0x32, 0x8c, 0xed, 0x41, 0x88, 0x2d, 0x73, 0xcf, 0x61, 0xcb, 0x1f, 0x7a, 0x6c, + 0x99, 0x7a, 0xc3, 0x4d, 0x17, 0x60, 0xef, 0x1b, 0x3a, 0x32, 0x12, 0x87, 0x94, 0x3e, 0x34, 0x9f, + 0x1c, 0xae, 0xf4, 0x39, 0xa3, 0xc9, 0x6e, 0xc2, 0xac, 0x47, 0x67, 0x66, 0x53, 0xb7, 0x01, 0xc9, + 0xc7, 0xb2, 0xd2, 0x92, 0x2d, 0xbd, 0xec, 0xca, 0x92, 0x55, 0x9a, 0xe7, 0x9d, 0x16, 0xbb, 0x9b, + 0x20, 0xb8, 0x13, 0x16, 0x26, 0xcf, 0x7f, 0x81, 0xd0, 0x72, 0x1f, 0xf4, 0x7d, 0x3c, 0x6c, 0xdc, + 0xad, 0xc0, 0x4b, 0x84, 0xab, 0xfd, 0x49, 0x0a, 0xc3, 0xc0, 0x43, 0xef, 0x13, 0xfe, 0x99, 0x84, + 0xc5, 0x08, 0x6e, 0x74, 0x1f, 0x12, 0x7a, 0xa7, 0xce, 0xcc, 0xf1, 0xd5, 0x21, 0xe4, 0xe7, 0xc4, + 0xdd, 0xc2, 0x76, 0x4c, 0xb4, 0x7a, 0xa1, 0x27, 0xfe, 0x2b, 0x00, 0x6a, 0xad, 0xaf, 0x0f, 0x23, + 0x26, 0xf2, 0x36, 0xe0, 0x0f, 0x71, 0x48, 0x88, 0xbb, 0x05, 0xf4, 0x81, 0x07, 0xe6, 0xbe, 0x35, + 0xa4, 0x7a, 0x6e, 0xa0, 0xfb, 0xdf, 0x5c, 0x10, 0xce, 0x9e, 0x85, 0xb9, 0x82, 0x58, 0xcc, 0xd7, + 0x8a, 0xd2, 0x66, 0xb1, 0x5c, 0xac, 0x15, 0x25, 0x7a, 0x0f, 0x90, 0xe1, 0xd0, 0x12, 0x64, 0x77, + 0xf7, 0x36, 0xca, 0xa5, 0xea, 0xb6, 0xb4, 0x57, 0xb1, 0x7f, 0xb1, 0xd6, 0x38, 0xca, 0xc0, 0x54, + 0xb9, 0x54, 0xad, 0x31, 0x42, 0x35, 0x93, 0xb0, 0x28, 0x5b, 0xc5, 0x9a, 0x54, 0xc8, 0xef, 0xe6, + 0x0b, 0xa5, 0xda, 0xd3, 0x4c, 0x12, 0xf1, 0xb0, 0xe0, 0x95, 0x5d, 0xad, 0xe4, 0x77, 0xab, 0xdb, + 0x3b, 0xb5, 0x4c, 0x0a, 0x21, 0x98, 0x21, 0xfd, 0x6d, 0x52, 0x35, 0x33, 0x66, 0x49, 0x28, 0x94, + 0x77, 0x2a, 0x8e, 0x0e, 0xe3, 0x68, 0x0e, 0x32, 0xf6, 0xc8, 0x62, 0x31, 0xbf, 0x49, 0xe0, 0x99, + 0x09, 0x74, 0x1e, 0xa6, 0x8b, 0x1f, 0xed, 0xe6, 0x2b, 0x9b, 0x36, 0xe3, 0x24, 0x5a, 0x81, 0x25, + 0xb7, 0x3a, 0x12, 0xeb, 0x55, 0xdc, 0x24, 0x20, 0x4d, 0x35, 0x03, 0xbc, 0xea, 0xbb, 0x37, 0x28, + 0x79, 0x16, 0xf4, 0xde, 0xa8, 0x1b, 0x35, 0xf4, 0x15, 0xc2, 0xd7, 0x71, 0x98, 0xa7, 0x78, 0xa3, + 0x8d, 0x6e, 0xda, 0x11, 0x68, 0x15, 0x32, 0x14, 0x21, 0x91, 0xfc, 0x39, 0xea, 0x0c, 0xa5, 0xef, + 0xdb, 0x99, 0xaa, 0x7d, 0x37, 0x10, 0x77, 0xdd, 0x0d, 0x94, 0xfc, 0x79, 0xfb, 0x4d, 0x2f, 0x8a, + 0xee, 0x1b, 0x2d, 0xaa, 0x14, 0x7c, 0x14, 0x90, 0x58, 0xde, 0x8e, 0x96, 0x16, 0x75, 0xe8, 0x9e, + 0xa5, 0xee, 0x3b, 0x63, 0xec, 0x7a, 0x00, 0x0b, 0x7e, 0x7d, 0x59, 0x18, 0xb9, 0xd5, 0x87, 0x75, + 0x3b, 0xc1, 0xd4, 0xe1, 0x75, 0x38, 0x84, 0x3f, 0x73, 0x30, 0x61, 0x93, 0xad, 0x03, 0xd1, 0x50, + 0xbe, 0x83, 0x3d, 0xd8, 0xda, 0xa4, 0x45, 0x71, 0xa0, 0x3a, 0x37, 0x4a, 0x1d, 0xf7, 0xa3, 0xd4, + 0x81, 0xfb, 0x9c, 0x08, 0xdc, 0xe7, 0xf7, 0x61, 0xba, 0x6e, 0xa9, 0xaf, 0x68, 0xaa, 0x64, 0x2a, + 0x6d, 0x1b, 0x3a, 0xeb, 0xbf, 0x55, 0xaa, 0xd9, 0xb7, 0xd7, 0xe2, 0x94, 0xdd, 0xc1, 0x22, 0xa1, + 0x15, 0x98, 0x22, 0xb7, 0x4c, 0x92, 0xa9, 0x49, 0x5d, 0x03, 0x67, 0x53, 0x04, 0x48, 0x00, 0x42, + 0xab, 0x69, 0x7b, 0x06, 0x16, 0x7e, 0xc7, 0xc1, 0x3c, 0xc5, 0x47, 0xfc, 0xe6, 0x38, 0x08, 0x6d, + 0x77, 0x5b, 0x9c, 0xef, 0x8c, 0x0b, 0x14, 0xf8, 0xb2, 0xca, 0xc3, 0x2c, 0x2c, 0xf8, 0xc7, 0x63, + 0x35, 0xe1, 0x97, 0x71, 0x98, 0xb3, 0xd2, 0x02, 0xbb, 0xe1, 0x45, 0xe7, 0x5b, 0x23, 0xec, 0xa4, + 0x6f, 0x31, 0x93, 0x7d, 0x8b, 0xb9, 0xed, 0xaf, 0xb8, 0x6e, 0xb8, 0x13, 0x1b, 0xff, 0x0c, 0x5e, + 0xd6, 0x5a, 0xfe, 0x9a, 0x83, 0x79, 0xdf, 0x78, 0xcc, 0x5f, 0xde, 0xf5, 0xa7, 0x90, 0x57, 0x43, + 0xf4, 0x7b, 0xae, 0x24, 0xf2, 0x9e, 0x9d, 0x06, 0x8e, 0xe6, 0x96, 0x7f, 0x8a, 0xc3, 0x72, 0x2f, + 0x40, 0x93, 0xcb, 0xe4, 0xc6, 0x08, 0x18, 0xc8, 0xd9, 0xae, 0x53, 0x1f, 0xfb, 0x03, 0xee, 0xdd, + 0xfe, 0x33, 0x23, 0x40, 0xa5, 0xa8, 0xc0, 0x1b, 0x08, 0x1d, 0x26, 0x47, 0x85, 0x0e, 0xcf, 0x64, + 0x01, 0xdf, 0x75, 0xa3, 0xa2, 0x5e, 0xf5, 0x99, 0x25, 0x0c, 0x79, 0xbd, 0xf0, 0x36, 0x5c, 0x20, + 0xd9, 0xbf, 0xf3, 0xb2, 0xc2, 0xbe, 0x3c, 0xa5, 0x21, 0x71, 0x42, 0x9c, 0xb7, 0x9a, 0x9d, 0x07, + 0x00, 0x0c, 0x52, 0x6f, 0x08, 0xdf, 0x24, 0x61, 0xc1, 0xaa, 0x0e, 0xaa, 0xa6, 0xdc, 0x1c, 0x05, + 0x6c, 0xfe, 0xdf, 0x7e, 0xec, 0x2e, 0xee, 0xdd, 0x96, 0x60, 0xa9, 0xc3, 0x40, 0x76, 0x28, 0x07, + 0xb3, 0x86, 0x29, 0x37, 0x49, 0x38, 0x90, 0xf5, 0x26, 0x36, 0xa5, 0x8e, 0x6c, 0x1e, 0x31, 0x5f, + 0x3f, 0xcf, 0x9a, 0x6a, 0xa4, 0x65, 0x57, 0x36, 0x8f, 0x5e, 0xd0, 0x46, 0xa2, 0x0f, 0xfd, 0x41, + 0xe1, 0xb5, 0x01, 0x73, 0x89, 0xb0, 0xad, 0x8f, 0x42, 0xf0, 0xdd, 0x37, 0x06, 0x88, 0x1c, 0x8c, + 0xeb, 0x9e, 0x1d, 0xcf, 0xfc, 0x96, 0xa1, 0xe1, 0x8b, 0x70, 0xa1, 0x6f, 0xf2, 0xec, 0x08, 0x69, + 0x42, 0xd6, 0x6a, 0xda, 0x53, 0x8d, 0x11, 0xcd, 0x31, 0xc4, 0x62, 0xe2, 0x21, 0x16, 0x23, 0x2c, + 0xc2, 0xc5, 0x80, 0x81, 0x98, 0x16, 0xbf, 0x49, 0x51, 0x35, 0x46, 0xbf, 0xa5, 0xf8, 0x38, 0xcc, + 0x2b, 0xde, 0x72, 0x6f, 0x7b, 0x20, 0xa0, 0xff, 0x32, 0xfc, 0xe2, 0x32, 0xa4, 0xdd, 0x7c, 0xec, + 0x18, 0x34, 0x07, 0x38, 0x4e, 0xea, 0x4c, 0x97, 0x27, 0x63, 0xbe, 0xcb, 0x93, 0x72, 0xcf, 0xa9, + 0xc6, 0xbd, 0xa9, 0x6d, 0xe8, 0x52, 0x44, 0xb8, 0xd5, 0xb3, 0x3e, 0xb7, 0x9a, 0xf0, 0xde, 0xc8, + 0x84, 0x0a, 0xfd, 0x2f, 0x70, 0x2c, 0x66, 0xd4, 0x81, 0x57, 0x25, 0xc2, 0x33, 0xe0, 0xa9, 0xc5, + 0x8f, 0x7e, 0x79, 0xe1, 0x33, 0xa3, 0xb8, 0xdf, 0x8c, 0x84, 0x65, 0x58, 0x0c, 0x94, 0xcd, 0x86, + 0xfe, 0x21, 0x47, 0x15, 0xdb, 0xc2, 0x66, 0x0f, 0x22, 0x32, 0x86, 0x1d, 0x9a, 0x35, 0xba, 0x87, + 0xa6, 0x24, 0x62, 0xc1, 0x23, 0xba, 0x84, 0xb0, 0x45, 0x97, 0xc1, 0xaf, 0x0a, 0x3b, 0x6c, 0x6f, + 0x40, 0xaa, 0x4b, 0x70, 0x5f, 0x9a, 0x74, 0xcd, 0x7a, 0x7d, 0x60, 0xcf, 0x6a, 0x12, 0x29, 0x87, + 0xf0, 0x25, 0x07, 0x69, 0x17, 0x19, 0x2d, 0xc1, 0xa4, 0x03, 0xc3, 0xd8, 0x55, 0x8a, 0x43, 0xb0, + 0x36, 0xcd, 0xd4, 0x4c, 0xb9, 0xc5, 0x9e, 0x12, 0xd0, 0x0f, 0xab, 0xb0, 0xec, 0x1a, 0x98, 0x26, + 0xb1, 0x09, 0x91, 0xfc, 0x46, 0xb7, 0x20, 0xd9, 0x55, 0x15, 0x93, 0x38, 0xeb, 0x8c, 0xdf, 0x0b, + 0xc9, 0x50, 0xb9, 0x3d, 0x55, 0x31, 0x45, 0xc2, 0x25, 0xdc, 0x84, 0xa4, 0xf5, 0xe5, 0x05, 0x15, + 0x26, 0x21, 0xb5, 0xf1, 0xb4, 0x56, 0xac, 0x66, 0x38, 0x04, 0x30, 0x56, 0xa2, 0x25, 0x78, 0x5c, + 0x58, 0x72, 0xa6, 0x1e, 0x84, 0x06, 0x7d, 0x42, 0xf7, 0x30, 0x0c, 0x07, 0xca, 0x07, 0xe2, 0x40, + 0xcb, 0x9e, 0xd3, 0x6c, 0x00, 0x02, 0xf4, 0x65, 0x02, 0xe6, 0x03, 0xf9, 0xd0, 0x3d, 0x37, 0xf6, + 0x73, 0x25, 0x52, 0xa6, 0x1b, 0xf5, 0x79, 0x1c, 0x8c, 0xfa, 0xdc, 0x8c, 0x16, 0x10, 0x89, 0xf7, + 0xfc, 0x8c, 0xa3, 0x78, 0xcf, 0x9a, 0x07, 0x9e, 0xb8, 0x3e, 0x50, 0x25, 0x37, 0x1e, 0xb1, 0x1f, + 0x02, 0xf4, 0x54, 0x6b, 0xf9, 0xad, 0xa2, 0xb4, 0x57, 0xa1, 0x7f, 0x1d, 0xa0, 0x67, 0x0e, 0x32, + 0x5b, 0x45, 0x1b, 0x3a, 0x91, 0xaa, 0xb5, 0x7c, 0xad, 0x9a, 0x89, 0xf7, 0x83, 0x2c, 0x09, 0xfe, + 0xc8, 0x07, 0xa1, 0x14, 0x3c, 0x3a, 0xde, 0x19, 0x7e, 0xd6, 0x43, 0x83, 0x27, 0x73, 0x80, 0x98, + 0x4d, 0xb8, 0xdf, 0x5c, 0x7f, 0xce, 0xc1, 0xac, 0x87, 0xcc, 0x4c, 0xc4, 0x75, 0xc7, 0xc9, 0x79, + 0xee, 0x38, 0xef, 0xc0, 0x9c, 0x55, 0xff, 0x51, 0xaf, 0x35, 0xa4, 0x0e, 0xd6, 0x09, 0x52, 0xcd, + 0x7c, 0xe1, 0x7c, 0x5b, 0x3e, 0x61, 0x48, 0xf2, 0x2e, 0xd6, 0x2d, 0xc1, 0x2f, 0x00, 0x85, 0x15, + 0x7e, 0x1c, 0xa7, 0x59, 0xc6, 0xc8, 0x55, 0xca, 0xc0, 0x88, 0xd3, 0x5f, 0xc6, 0x24, 0x46, 0x28, + 0x63, 0x42, 0xe2, 0x55, 0x72, 0xa4, 0xd4, 0x76, 0xe4, 0x13, 0x5a, 0xc8, 0xd3, 0x8c, 0xe6, 0x0c, + 0x15, 0xc6, 0xdd, 0x7f, 0x71, 0x30, 0x51, 0x6a, 0x60, 0xd5, 0xb4, 0x3c, 0xb6, 0x02, 0xd3, 0x9e, + 0xa7, 0xf0, 0x68, 0x29, 0xe4, 0x85, 0x3c, 0x59, 0x71, 0x7e, 0x39, 0xf2, 0xfd, 0xbc, 0x10, 0x43, + 0x87, 0xae, 0x67, 0xfc, 0x1e, 0x70, 0xff, 0x95, 0xbe, 0x9e, 0x01, 0xc1, 0x8b, 0xbf, 0x36, 0x80, + 0xcb, 0x19, 0xe7, 0x6d, 0x48, 0x91, 0x17, 0xc4, 0x68, 0xce, 0x79, 0xa9, 0xec, 0x7a, 0x60, 0xcc, + 0xcf, 0xfb, 0xa8, 0x76, 0xbf, 0xbb, 0x7f, 0x9b, 0x00, 0xe8, 0x15, 0x6a, 0xe8, 0x21, 0x4c, 0xb9, + 0x1f, 0x31, 0xa2, 0xc5, 0x88, 0x27, 0xb4, 0xfc, 0x52, 0x70, 0xa3, 0xa3, 0xd3, 0x43, 0x98, 0x72, + 0x3f, 0x99, 0xe9, 0x09, 0x0b, 0x78, 0xb6, 0xd3, 0x13, 0x16, 0xf8, 0xca, 0x26, 0x86, 0x5a, 0x70, + 0x21, 0xe4, 0xd1, 0x04, 0xba, 0x3e, 0xdc, 0xd3, 0x12, 0xfe, 0xd5, 0x21, 0x5f, 0x5f, 0x08, 0x31, + 0xa4, 0xc3, 0xc5, 0xd0, 0xb7, 0x02, 0x68, 0x75, 0xd8, 0x97, 0x0c, 0xfc, 0x8d, 0x21, 0x38, 0x9d, + 0x31, 0xbb, 0xc0, 0x87, 0x5f, 0x50, 0xa2, 0x1b, 0x43, 0xdf, 0x9c, 0xf3, 0x37, 0x87, 0xbf, 0xef, + 0x14, 0x62, 0x68, 0x1b, 0xd2, 0xae, 0x3b, 0x2f, 0xc4, 0x07, 0x5e, 0x84, 0x51, 0xc1, 0x8b, 0x11, + 0x97, 0x64, 0x54, 0x92, 0xeb, 0x86, 0xa7, 0x27, 0xa9, 0xff, 0xaa, 0xaa, 0x27, 0x29, 0xe0, 0x4a, + 0xc8, 0xbf, 0xfc, 0xbe, 0x93, 0x3b, 0x68, 0xf9, 0x83, 0x8f, 0xfe, 0xa0, 0xe5, 0x0f, 0x49, 0x03, + 0x84, 0x18, 0x7a, 0x0c, 0x33, 0x5e, 0x8c, 0x17, 0x2d, 0x47, 0x62, 0xd5, 0xfc, 0xa5, 0xb0, 0x66, + 0xb7, 0x48, 0x2f, 0xa4, 0xd8, 0x13, 0x19, 0x08, 0x6d, 0xf6, 0x44, 0x86, 0x20, 0x91, 0x31, 0x2b, + 0x3e, 0x79, 0x80, 0xb2, 0x5e, 0x7c, 0x0a, 0xc2, 0xf7, 0x7a, 0xf1, 0x29, 0x10, 0x5d, 0x13, 0x62, + 0x48, 0x81, 0x85, 0x60, 0x9c, 0x06, 0x5d, 0x1b, 0x0a, 0x86, 0xe2, 0xaf, 0x0f, 0x62, 0x73, 0x42, + 0xcd, 0x5f, 0x53, 0x90, 0x24, 0xa7, 0x60, 0x0d, 0xce, 0xf9, 0xea, 0x64, 0x74, 0x29, 0x1a, 0x3d, + 0xe0, 0x2f, 0x87, 0xb6, 0x3b, 0x33, 0x79, 0x06, 0xe7, 0xfb, 0x2a, 0x5f, 0xb4, 0xe2, 0xee, 0x17, + 0x54, 0x7d, 0xf3, 0x57, 0x22, 0x38, 0xfc, 0xb2, 0xbd, 0x61, 0x67, 0x65, 0x50, 0x69, 0xe6, 0x95, + 0x1d, 0x16, 0x6a, 0x3e, 0xa1, 0x49, 0x87, 0x3f, 0xc8, 0x08, 0x5e, 0xbd, 0x02, 0xc3, 0xcb, 0xd5, + 0x48, 0x1e, 0x67, 0x84, 0x8f, 0x9d, 0x6c, 0xc7, 0x55, 0x1a, 0x20, 0x8f, 0x72, 0x81, 0x15, 0x0c, + 0x2f, 0x44, 0xb1, 0x38, 0xe2, 0x9f, 0x40, 0xc6, 0x7f, 0x04, 0x23, 0xcf, 0x7e, 0x05, 0x99, 0xcd, + 0x4a, 0x38, 0x83, 0x7f, 0x65, 0xfc, 0xfe, 0xef, 0xd7, 0x2a, 0xc8, 0xf3, 0xaf, 0x46, 0xf2, 0xb8, + 0x23, 0x96, 0x2b, 0xe1, 0xeb, 0x45, 0xac, 0xfe, 0xe4, 0xb0, 0x17, 0xb1, 0x02, 0x32, 0x44, 0x21, + 0xb6, 0xb6, 0x0e, 0x40, 0x53, 0x76, 0xac, 0x76, 0xdb, 0x68, 0xa9, 0xef, 0x66, 0xa5, 0xa8, 0x76, + 0xdb, 0x3b, 0x1d, 0x53, 0xd1, 0x54, 0x23, 0xfb, 0xcb, 0x09, 0x02, 0x25, 0x4c, 0x92, 0x0e, 0x56, + 0xc3, 0x5a, 0x19, 0x32, 0xbd, 0xde, 0x12, 0x29, 0x7c, 0xd1, 0x95, 0x40, 0x19, 0xe4, 0x7f, 0x7e, + 0x7c, 0x82, 0x66, 0x1c, 0x41, 0xa4, 0x75, 0xed, 0x5d, 0x80, 0xba, 0xa1, 0x48, 0x14, 0x5a, 0x40, + 0xcb, 0x7d, 0x72, 0x1e, 0x28, 0xb8, 0xd5, 0xb0, 0x65, 0xfc, 0x82, 0x29, 0x53, 0x37, 0x14, 0x5a, + 0xe1, 0xaf, 0xbd, 0x0f, 0x69, 0x56, 0x7d, 0x58, 0x7c, 0x83, 0xfa, 0x33, 0x1d, 0xe8, 0xec, 0x49, + 0xcb, 0x5a, 0xd1, 0x2e, 0x5f, 0xd8, 0xeb, 0x22, 0x74, 0xb9, 0x4f, 0xc4, 0x23, 0xda, 0xe2, 0x13, + 0x42, 0x4b, 0x16, 0xd6, 0xb6, 0xb6, 0x01, 0x53, 0xb6, 0x18, 0xf3, 0x48, 0x6b, 0xa0, 0x4b, 0x01, + 0x52, 0xac, 0x06, 0x9f, 0x90, 0x34, 0x13, 0x62, 0x35, 0xf5, 0x54, 0xb1, 0xff, 0x55, 0xaf, 0x5f, + 0x15, 0x56, 0x52, 0x04, 0xaa, 0xc2, 0xda, 0x36, 0x52, 0xcf, 0x12, 0x75, 0x43, 0x39, 0x18, 0x23, + 0x9d, 0xde, 0xfc, 0x4f, 0x00, 0x00, 0x00, 0xff, 0xff, 0x33, 0xa7, 0x93, 0x2d, 0x57, 0x3a, 0x00, + 0x00, } // Reference imports to suppress errors if they are not otherwise used. diff --git a/spec.md b/spec.md index 79f55c05..dc24f403 100644 --- a/spec.md +++ b/spec.md @@ -636,10 +636,22 @@ message PluginCapability { Type type = 1; } + message AlphaFeature { + enum Type { + UNKNOWN = 0; + } + + Type type = 1; // REQUIRED + } + oneof type { // Service that the plugin supports. Service service = 1; VolumeExpansion volume_expansion = 2; + + // AlphaFeature indicates that an experimental feature is offered by + // the plugin. + AlphaFeature alpha_feature = 3; } } ``` @@ -1582,9 +1594,21 @@ message ControllerServiceCapability { Type type = 1; } + message AlphaFeature { + enum Type { + UNKNOWN = 0; + } + + Type type = 1; // REQUIRED + } + oneof type { // RPC that the controller supports. RPC rpc = 1; + + // AlphaFeature indicates that an experimental feature is offered by + // the controller service. + AlphaFeature alpha_feature = 2; } } ``` @@ -2320,9 +2344,21 @@ message NodeServiceCapability { Type type = 1; } + message AlphaFeature { + enum Type { + UNKNOWN = 0; + } + + Type type = 1; // REQUIRED + } + oneof type { // RPC that the controller supports. RPC rpc = 1; + + // AlphaFeature indicates that an experimental feature is offered by + // the node service. + AlphaFeature alpha_feature = 2; } } ```