| // Code generated by protoc-gen-go. DO NOT EDIT. |
| // source: grpc/gcp/handshaker.proto |
| |
| package grpc_gcp |
| |
| import ( |
| fmt "fmt" |
| proto "github.com/golang/protobuf/proto" |
| math "math" |
| ) |
| |
| // Reference imports to suppress errors if they are not otherwise used. |
| var _ = proto.Marshal |
| var _ = fmt.Errorf |
| var _ = math.Inf |
| |
| // This is a compile-time assertion to ensure that this generated file |
| // is compatible with the proto package it is being compiled against. |
| // A compilation error at this line likely means your copy of the |
| // proto package needs to be updated. |
| const _ = proto.ProtoPackageIsVersion3 // please upgrade the proto package |
| |
| type HandshakeProtocol int32 |
| |
| const ( |
| // Default value. |
| HandshakeProtocol_HANDSHAKE_PROTOCOL_UNSPECIFIED HandshakeProtocol = 0 |
| // TLS handshake protocol. |
| HandshakeProtocol_TLS HandshakeProtocol = 1 |
| // Application Layer Transport Security handshake protocol. |
| HandshakeProtocol_ALTS HandshakeProtocol = 2 |
| ) |
| |
| var HandshakeProtocol_name = map[int32]string{ |
| 0: "HANDSHAKE_PROTOCOL_UNSPECIFIED", |
| 1: "TLS", |
| 2: "ALTS", |
| } |
| |
| var HandshakeProtocol_value = map[string]int32{ |
| "HANDSHAKE_PROTOCOL_UNSPECIFIED": 0, |
| "TLS": 1, |
| "ALTS": 2, |
| } |
| |
| func (x HandshakeProtocol) String() string { |
| return proto.EnumName(HandshakeProtocol_name, int32(x)) |
| } |
| |
| func (HandshakeProtocol) EnumDescriptor() ([]byte, []int) { |
| return fileDescriptor_54c074f40c7c7e99, []int{0} |
| } |
| |
| type NetworkProtocol int32 |
| |
| const ( |
| NetworkProtocol_NETWORK_PROTOCOL_UNSPECIFIED NetworkProtocol = 0 |
| NetworkProtocol_TCP NetworkProtocol = 1 |
| NetworkProtocol_UDP NetworkProtocol = 2 |
| ) |
| |
| var NetworkProtocol_name = map[int32]string{ |
| 0: "NETWORK_PROTOCOL_UNSPECIFIED", |
| 1: "TCP", |
| 2: "UDP", |
| } |
| |
| var NetworkProtocol_value = map[string]int32{ |
| "NETWORK_PROTOCOL_UNSPECIFIED": 0, |
| "TCP": 1, |
| "UDP": 2, |
| } |
| |
| func (x NetworkProtocol) String() string { |
| return proto.EnumName(NetworkProtocol_name, int32(x)) |
| } |
| |
| func (NetworkProtocol) EnumDescriptor() ([]byte, []int) { |
| return fileDescriptor_54c074f40c7c7e99, []int{1} |
| } |
| |
| type Endpoint struct { |
| // IP address. It should contain an IPv4 or IPv6 string literal, e.g. |
| // "192.168.0.1" or "2001:db8::1". |
| IpAddress string `protobuf:"bytes,1,opt,name=ip_address,json=ipAddress,proto3" json:"ip_address,omitempty"` |
| // Port number. |
| Port int32 `protobuf:"varint,2,opt,name=port,proto3" json:"port,omitempty"` |
| // Network protocol (e.g., TCP, UDP) associated with this endpoint. |
| Protocol NetworkProtocol `protobuf:"varint,3,opt,name=protocol,proto3,enum=grpc.gcp.NetworkProtocol" json:"protocol,omitempty"` |
| XXX_NoUnkeyedLiteral struct{} `json:"-"` |
| XXX_unrecognized []byte `json:"-"` |
| XXX_sizecache int32 `json:"-"` |
| } |
| |
| func (m *Endpoint) Reset() { *m = Endpoint{} } |
| func (m *Endpoint) String() string { return proto.CompactTextString(m) } |
| func (*Endpoint) ProtoMessage() {} |
| func (*Endpoint) Descriptor() ([]byte, []int) { |
| return fileDescriptor_54c074f40c7c7e99, []int{0} |
| } |
| |
| func (m *Endpoint) XXX_Unmarshal(b []byte) error { |
| return xxx_messageInfo_Endpoint.Unmarshal(m, b) |
| } |
| func (m *Endpoint) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { |
| return xxx_messageInfo_Endpoint.Marshal(b, m, deterministic) |
| } |
| func (m *Endpoint) XXX_Merge(src proto.Message) { |
| xxx_messageInfo_Endpoint.Merge(m, src) |
| } |
| func (m *Endpoint) XXX_Size() int { |
| return xxx_messageInfo_Endpoint.Size(m) |
| } |
| func (m *Endpoint) XXX_DiscardUnknown() { |
| xxx_messageInfo_Endpoint.DiscardUnknown(m) |
| } |
| |
| var xxx_messageInfo_Endpoint proto.InternalMessageInfo |
| |
| func (m *Endpoint) GetIpAddress() string { |
| if m != nil { |
| return m.IpAddress |
| } |
| return "" |
| } |
| |
| func (m *Endpoint) GetPort() int32 { |
| if m != nil { |
| return m.Port |
| } |
| return 0 |
| } |
| |
| func (m *Endpoint) GetProtocol() NetworkProtocol { |
| if m != nil { |
| return m.Protocol |
| } |
| return NetworkProtocol_NETWORK_PROTOCOL_UNSPECIFIED |
| } |
| |
| type Identity struct { |
| // Types that are valid to be assigned to IdentityOneof: |
| // *Identity_ServiceAccount |
| // *Identity_Hostname |
| IdentityOneof isIdentity_IdentityOneof `protobuf_oneof:"identity_oneof"` |
| // Additional attributes of the identity. |
| Attributes map[string]string `protobuf:"bytes,3,rep,name=attributes,proto3" json:"attributes,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` |
| XXX_NoUnkeyedLiteral struct{} `json:"-"` |
| XXX_unrecognized []byte `json:"-"` |
| XXX_sizecache int32 `json:"-"` |
| } |
| |
| func (m *Identity) Reset() { *m = Identity{} } |
| func (m *Identity) String() string { return proto.CompactTextString(m) } |
| func (*Identity) ProtoMessage() {} |
| func (*Identity) Descriptor() ([]byte, []int) { |
| return fileDescriptor_54c074f40c7c7e99, []int{1} |
| } |
| |
| func (m *Identity) XXX_Unmarshal(b []byte) error { |
| return xxx_messageInfo_Identity.Unmarshal(m, b) |
| } |
| func (m *Identity) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { |
| return xxx_messageInfo_Identity.Marshal(b, m, deterministic) |
| } |
| func (m *Identity) XXX_Merge(src proto.Message) { |
| xxx_messageInfo_Identity.Merge(m, src) |
| } |
| func (m *Identity) XXX_Size() int { |
| return xxx_messageInfo_Identity.Size(m) |
| } |
| func (m *Identity) XXX_DiscardUnknown() { |
| xxx_messageInfo_Identity.DiscardUnknown(m) |
| } |
| |
| var xxx_messageInfo_Identity proto.InternalMessageInfo |
| |
| type isIdentity_IdentityOneof interface { |
| isIdentity_IdentityOneof() |
| } |
| |
| type Identity_ServiceAccount struct { |
| ServiceAccount string `protobuf:"bytes,1,opt,name=service_account,json=serviceAccount,proto3,oneof"` |
| } |
| |
| type Identity_Hostname struct { |
| Hostname string `protobuf:"bytes,2,opt,name=hostname,proto3,oneof"` |
| } |
| |
| func (*Identity_ServiceAccount) isIdentity_IdentityOneof() {} |
| |
| func (*Identity_Hostname) isIdentity_IdentityOneof() {} |
| |
| func (m *Identity) GetIdentityOneof() isIdentity_IdentityOneof { |
| if m != nil { |
| return m.IdentityOneof |
| } |
| return nil |
| } |
| |
| func (m *Identity) GetServiceAccount() string { |
| if x, ok := m.GetIdentityOneof().(*Identity_ServiceAccount); ok { |
| return x.ServiceAccount |
| } |
| return "" |
| } |
| |
| func (m *Identity) GetHostname() string { |
| if x, ok := m.GetIdentityOneof().(*Identity_Hostname); ok { |
| return x.Hostname |
| } |
| return "" |
| } |
| |
| func (m *Identity) GetAttributes() map[string]string { |
| if m != nil { |
| return m.Attributes |
| } |
| return nil |
| } |
| |
| // XXX_OneofWrappers is for the internal use of the proto package. |
| func (*Identity) XXX_OneofWrappers() []interface{} { |
| return []interface{}{ |
| (*Identity_ServiceAccount)(nil), |
| (*Identity_Hostname)(nil), |
| } |
| } |
| |
| type StartClientHandshakeReq struct { |
| // Handshake security protocol requested by the client. |
| HandshakeSecurityProtocol HandshakeProtocol `protobuf:"varint,1,opt,name=handshake_security_protocol,json=handshakeSecurityProtocol,proto3,enum=grpc.gcp.HandshakeProtocol" json:"handshake_security_protocol,omitempty"` |
| // The application protocols supported by the client, e.g., "h2" (for http2), |
| // "grpc". |
| ApplicationProtocols []string `protobuf:"bytes,2,rep,name=application_protocols,json=applicationProtocols,proto3" json:"application_protocols,omitempty"` |
| // The record protocols supported by the client, e.g., |
| // "ALTSRP_GCM_AES128". |
| RecordProtocols []string `protobuf:"bytes,3,rep,name=record_protocols,json=recordProtocols,proto3" json:"record_protocols,omitempty"` |
| // (Optional) Describes which server identities are acceptable by the client. |
| // If target identities are provided and none of them matches the peer |
| // identity of the server, handshake will fail. |
| TargetIdentities []*Identity `protobuf:"bytes,4,rep,name=target_identities,json=targetIdentities,proto3" json:"target_identities,omitempty"` |
| // (Optional) Application may specify a local identity. Otherwise, the |
| // handshaker chooses a default local identity. |
| LocalIdentity *Identity `protobuf:"bytes,5,opt,name=local_identity,json=localIdentity,proto3" json:"local_identity,omitempty"` |
| // (Optional) Local endpoint information of the connection to the server, |
| // such as local IP address, port number, and network protocol. |
| LocalEndpoint *Endpoint `protobuf:"bytes,6,opt,name=local_endpoint,json=localEndpoint,proto3" json:"local_endpoint,omitempty"` |
| // (Optional) Endpoint information of the remote server, such as IP address, |
| // port number, and network protocol. |
| RemoteEndpoint *Endpoint `protobuf:"bytes,7,opt,name=remote_endpoint,json=remoteEndpoint,proto3" json:"remote_endpoint,omitempty"` |
| // (Optional) If target name is provided, a secure naming check is performed |
| // to verify that the peer authenticated identity is indeed authorized to run |
| // the target name. |
| TargetName string `protobuf:"bytes,8,opt,name=target_name,json=targetName,proto3" json:"target_name,omitempty"` |
| // (Optional) RPC protocol versions supported by the client. |
| RpcVersions *RpcProtocolVersions `protobuf:"bytes,9,opt,name=rpc_versions,json=rpcVersions,proto3" json:"rpc_versions,omitempty"` |
| // (Optional) Maximum frame size supported by the client. |
| MaxFrameSize uint32 `protobuf:"varint,10,opt,name=max_frame_size,json=maxFrameSize,proto3" json:"max_frame_size,omitempty"` |
| XXX_NoUnkeyedLiteral struct{} `json:"-"` |
| XXX_unrecognized []byte `json:"-"` |
| XXX_sizecache int32 `json:"-"` |
| } |
| |
| func (m *StartClientHandshakeReq) Reset() { *m = StartClientHandshakeReq{} } |
| func (m *StartClientHandshakeReq) String() string { return proto.CompactTextString(m) } |
| func (*StartClientHandshakeReq) ProtoMessage() {} |
| func (*StartClientHandshakeReq) Descriptor() ([]byte, []int) { |
| return fileDescriptor_54c074f40c7c7e99, []int{2} |
| } |
| |
| func (m *StartClientHandshakeReq) XXX_Unmarshal(b []byte) error { |
| return xxx_messageInfo_StartClientHandshakeReq.Unmarshal(m, b) |
| } |
| func (m *StartClientHandshakeReq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { |
| return xxx_messageInfo_StartClientHandshakeReq.Marshal(b, m, deterministic) |
| } |
| func (m *StartClientHandshakeReq) XXX_Merge(src proto.Message) { |
| xxx_messageInfo_StartClientHandshakeReq.Merge(m, src) |
| } |
| func (m *StartClientHandshakeReq) XXX_Size() int { |
| return xxx_messageInfo_StartClientHandshakeReq.Size(m) |
| } |
| func (m *StartClientHandshakeReq) XXX_DiscardUnknown() { |
| xxx_messageInfo_StartClientHandshakeReq.DiscardUnknown(m) |
| } |
| |
| var xxx_messageInfo_StartClientHandshakeReq proto.InternalMessageInfo |
| |
| func (m *StartClientHandshakeReq) GetHandshakeSecurityProtocol() HandshakeProtocol { |
| if m != nil { |
| return m.HandshakeSecurityProtocol |
| } |
| return HandshakeProtocol_HANDSHAKE_PROTOCOL_UNSPECIFIED |
| } |
| |
| func (m *StartClientHandshakeReq) GetApplicationProtocols() []string { |
| if m != nil { |
| return m.ApplicationProtocols |
| } |
| return nil |
| } |
| |
| func (m *StartClientHandshakeReq) GetRecordProtocols() []string { |
| if m != nil { |
| return m.RecordProtocols |
| } |
| return nil |
| } |
| |
| func (m *StartClientHandshakeReq) GetTargetIdentities() []*Identity { |
| if m != nil { |
| return m.TargetIdentities |
| } |
| return nil |
| } |
| |
| func (m *StartClientHandshakeReq) GetLocalIdentity() *Identity { |
| if m != nil { |
| return m.LocalIdentity |
| } |
| return nil |
| } |
| |
| func (m *StartClientHandshakeReq) GetLocalEndpoint() *Endpoint { |
| if m != nil { |
| return m.LocalEndpoint |
| } |
| return nil |
| } |
| |
| func (m *StartClientHandshakeReq) GetRemoteEndpoint() *Endpoint { |
| if m != nil { |
| return m.RemoteEndpoint |
| } |
| return nil |
| } |
| |
| func (m *StartClientHandshakeReq) GetTargetName() string { |
| if m != nil { |
| return m.TargetName |
| } |
| return "" |
| } |
| |
| func (m *StartClientHandshakeReq) GetRpcVersions() *RpcProtocolVersions { |
| if m != nil { |
| return m.RpcVersions |
| } |
| return nil |
| } |
| |
| func (m *StartClientHandshakeReq) GetMaxFrameSize() uint32 { |
| if m != nil { |
| return m.MaxFrameSize |
| } |
| return 0 |
| } |
| |
| type ServerHandshakeParameters struct { |
| // The record protocols supported by the server, e.g., |
| // "ALTSRP_GCM_AES128". |
| RecordProtocols []string `protobuf:"bytes,1,rep,name=record_protocols,json=recordProtocols,proto3" json:"record_protocols,omitempty"` |
| // (Optional) A list of local identities supported by the server, if |
| // specified. Otherwise, the handshaker chooses a default local identity. |
| LocalIdentities []*Identity `protobuf:"bytes,2,rep,name=local_identities,json=localIdentities,proto3" json:"local_identities,omitempty"` |
| XXX_NoUnkeyedLiteral struct{} `json:"-"` |
| XXX_unrecognized []byte `json:"-"` |
| XXX_sizecache int32 `json:"-"` |
| } |
| |
| func (m *ServerHandshakeParameters) Reset() { *m = ServerHandshakeParameters{} } |
| func (m *ServerHandshakeParameters) String() string { return proto.CompactTextString(m) } |
| func (*ServerHandshakeParameters) ProtoMessage() {} |
| func (*ServerHandshakeParameters) Descriptor() ([]byte, []int) { |
| return fileDescriptor_54c074f40c7c7e99, []int{3} |
| } |
| |
| func (m *ServerHandshakeParameters) XXX_Unmarshal(b []byte) error { |
| return xxx_messageInfo_ServerHandshakeParameters.Unmarshal(m, b) |
| } |
| func (m *ServerHandshakeParameters) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { |
| return xxx_messageInfo_ServerHandshakeParameters.Marshal(b, m, deterministic) |
| } |
| func (m *ServerHandshakeParameters) XXX_Merge(src proto.Message) { |
| xxx_messageInfo_ServerHandshakeParameters.Merge(m, src) |
| } |
| func (m *ServerHandshakeParameters) XXX_Size() int { |
| return xxx_messageInfo_ServerHandshakeParameters.Size(m) |
| } |
| func (m *ServerHandshakeParameters) XXX_DiscardUnknown() { |
| xxx_messageInfo_ServerHandshakeParameters.DiscardUnknown(m) |
| } |
| |
| var xxx_messageInfo_ServerHandshakeParameters proto.InternalMessageInfo |
| |
| func (m *ServerHandshakeParameters) GetRecordProtocols() []string { |
| if m != nil { |
| return m.RecordProtocols |
| } |
| return nil |
| } |
| |
| func (m *ServerHandshakeParameters) GetLocalIdentities() []*Identity { |
| if m != nil { |
| return m.LocalIdentities |
| } |
| return nil |
| } |
| |
| type StartServerHandshakeReq struct { |
| // The application protocols supported by the server, e.g., "h2" (for http2), |
| // "grpc". |
| ApplicationProtocols []string `protobuf:"bytes,1,rep,name=application_protocols,json=applicationProtocols,proto3" json:"application_protocols,omitempty"` |
| // Handshake parameters (record protocols and local identities supported by |
| // the server) mapped by the handshake protocol. Each handshake security |
| // protocol (e.g., TLS or ALTS) has its own set of record protocols and local |
| // identities. Since protobuf does not support enum as key to the map, the key |
| // to handshake_parameters is the integer value of HandshakeProtocol enum. |
| HandshakeParameters map[int32]*ServerHandshakeParameters `protobuf:"bytes,2,rep,name=handshake_parameters,json=handshakeParameters,proto3" json:"handshake_parameters,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` |
| // Bytes in out_frames returned from the peer's HandshakerResp. It is possible |
| // that the peer's out_frames are split into multiple HandshakReq messages. |
| InBytes []byte `protobuf:"bytes,3,opt,name=in_bytes,json=inBytes,proto3" json:"in_bytes,omitempty"` |
| // (Optional) Local endpoint information of the connection to the client, |
| // such as local IP address, port number, and network protocol. |
| LocalEndpoint *Endpoint `protobuf:"bytes,4,opt,name=local_endpoint,json=localEndpoint,proto3" json:"local_endpoint,omitempty"` |
| // (Optional) Endpoint information of the remote client, such as IP address, |
| // port number, and network protocol. |
| RemoteEndpoint *Endpoint `protobuf:"bytes,5,opt,name=remote_endpoint,json=remoteEndpoint,proto3" json:"remote_endpoint,omitempty"` |
| // (Optional) RPC protocol versions supported by the server. |
| RpcVersions *RpcProtocolVersions `protobuf:"bytes,6,opt,name=rpc_versions,json=rpcVersions,proto3" json:"rpc_versions,omitempty"` |
| // (Optional) Maximum frame size supported by the server. |
| MaxFrameSize uint32 `protobuf:"varint,7,opt,name=max_frame_size,json=maxFrameSize,proto3" json:"max_frame_size,omitempty"` |
| XXX_NoUnkeyedLiteral struct{} `json:"-"` |
| XXX_unrecognized []byte `json:"-"` |
| XXX_sizecache int32 `json:"-"` |
| } |
| |
| func (m *StartServerHandshakeReq) Reset() { *m = StartServerHandshakeReq{} } |
| func (m *StartServerHandshakeReq) String() string { return proto.CompactTextString(m) } |
| func (*StartServerHandshakeReq) ProtoMessage() {} |
| func (*StartServerHandshakeReq) Descriptor() ([]byte, []int) { |
| return fileDescriptor_54c074f40c7c7e99, []int{4} |
| } |
| |
| func (m *StartServerHandshakeReq) XXX_Unmarshal(b []byte) error { |
| return xxx_messageInfo_StartServerHandshakeReq.Unmarshal(m, b) |
| } |
| func (m *StartServerHandshakeReq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { |
| return xxx_messageInfo_StartServerHandshakeReq.Marshal(b, m, deterministic) |
| } |
| func (m *StartServerHandshakeReq) XXX_Merge(src proto.Message) { |
| xxx_messageInfo_StartServerHandshakeReq.Merge(m, src) |
| } |
| func (m *StartServerHandshakeReq) XXX_Size() int { |
| return xxx_messageInfo_StartServerHandshakeReq.Size(m) |
| } |
| func (m *StartServerHandshakeReq) XXX_DiscardUnknown() { |
| xxx_messageInfo_StartServerHandshakeReq.DiscardUnknown(m) |
| } |
| |
| var xxx_messageInfo_StartServerHandshakeReq proto.InternalMessageInfo |
| |
| func (m *StartServerHandshakeReq) GetApplicationProtocols() []string { |
| if m != nil { |
| return m.ApplicationProtocols |
| } |
| return nil |
| } |
| |
| func (m *StartServerHandshakeReq) GetHandshakeParameters() map[int32]*ServerHandshakeParameters { |
| if m != nil { |
| return m.HandshakeParameters |
| } |
| return nil |
| } |
| |
| func (m *StartServerHandshakeReq) GetInBytes() []byte { |
| if m != nil { |
| return m.InBytes |
| } |
| return nil |
| } |
| |
| func (m *StartServerHandshakeReq) GetLocalEndpoint() *Endpoint { |
| if m != nil { |
| return m.LocalEndpoint |
| } |
| return nil |
| } |
| |
| func (m *StartServerHandshakeReq) GetRemoteEndpoint() *Endpoint { |
| if m != nil { |
| return m.RemoteEndpoint |
| } |
| return nil |
| } |
| |
| func (m *StartServerHandshakeReq) GetRpcVersions() *RpcProtocolVersions { |
| if m != nil { |
| return m.RpcVersions |
| } |
| return nil |
| } |
| |
| func (m *StartServerHandshakeReq) GetMaxFrameSize() uint32 { |
| if m != nil { |
| return m.MaxFrameSize |
| } |
| return 0 |
| } |
| |
| type NextHandshakeMessageReq struct { |
| // Bytes in out_frames returned from the peer's HandshakerResp. It is possible |
| // that the peer's out_frames are split into multiple NextHandshakerMessageReq |
| // messages. |
| InBytes []byte `protobuf:"bytes,1,opt,name=in_bytes,json=inBytes,proto3" json:"in_bytes,omitempty"` |
| XXX_NoUnkeyedLiteral struct{} `json:"-"` |
| XXX_unrecognized []byte `json:"-"` |
| XXX_sizecache int32 `json:"-"` |
| } |
| |
| func (m *NextHandshakeMessageReq) Reset() { *m = NextHandshakeMessageReq{} } |
| func (m *NextHandshakeMessageReq) String() string { return proto.CompactTextString(m) } |
| func (*NextHandshakeMessageReq) ProtoMessage() {} |
| func (*NextHandshakeMessageReq) Descriptor() ([]byte, []int) { |
| return fileDescriptor_54c074f40c7c7e99, []int{5} |
| } |
| |
| func (m *NextHandshakeMessageReq) XXX_Unmarshal(b []byte) error { |
| return xxx_messageInfo_NextHandshakeMessageReq.Unmarshal(m, b) |
| } |
| func (m *NextHandshakeMessageReq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { |
| return xxx_messageInfo_NextHandshakeMessageReq.Marshal(b, m, deterministic) |
| } |
| func (m *NextHandshakeMessageReq) XXX_Merge(src proto.Message) { |
| xxx_messageInfo_NextHandshakeMessageReq.Merge(m, src) |
| } |
| func (m *NextHandshakeMessageReq) XXX_Size() int { |
| return xxx_messageInfo_NextHandshakeMessageReq.Size(m) |
| } |
| func (m *NextHandshakeMessageReq) XXX_DiscardUnknown() { |
| xxx_messageInfo_NextHandshakeMessageReq.DiscardUnknown(m) |
| } |
| |
| var xxx_messageInfo_NextHandshakeMessageReq proto.InternalMessageInfo |
| |
| func (m *NextHandshakeMessageReq) GetInBytes() []byte { |
| if m != nil { |
| return m.InBytes |
| } |
| return nil |
| } |
| |
| type HandshakerReq struct { |
| // Types that are valid to be assigned to ReqOneof: |
| // *HandshakerReq_ClientStart |
| // *HandshakerReq_ServerStart |
| // *HandshakerReq_Next |
| ReqOneof isHandshakerReq_ReqOneof `protobuf_oneof:"req_oneof"` |
| XXX_NoUnkeyedLiteral struct{} `json:"-"` |
| XXX_unrecognized []byte `json:"-"` |
| XXX_sizecache int32 `json:"-"` |
| } |
| |
| func (m *HandshakerReq) Reset() { *m = HandshakerReq{} } |
| func (m *HandshakerReq) String() string { return proto.CompactTextString(m) } |
| func (*HandshakerReq) ProtoMessage() {} |
| func (*HandshakerReq) Descriptor() ([]byte, []int) { |
| return fileDescriptor_54c074f40c7c7e99, []int{6} |
| } |
| |
| func (m *HandshakerReq) XXX_Unmarshal(b []byte) error { |
| return xxx_messageInfo_HandshakerReq.Unmarshal(m, b) |
| } |
| func (m *HandshakerReq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { |
| return xxx_messageInfo_HandshakerReq.Marshal(b, m, deterministic) |
| } |
| func (m *HandshakerReq) XXX_Merge(src proto.Message) { |
| xxx_messageInfo_HandshakerReq.Merge(m, src) |
| } |
| func (m *HandshakerReq) XXX_Size() int { |
| return xxx_messageInfo_HandshakerReq.Size(m) |
| } |
| func (m *HandshakerReq) XXX_DiscardUnknown() { |
| xxx_messageInfo_HandshakerReq.DiscardUnknown(m) |
| } |
| |
| var xxx_messageInfo_HandshakerReq proto.InternalMessageInfo |
| |
| type isHandshakerReq_ReqOneof interface { |
| isHandshakerReq_ReqOneof() |
| } |
| |
| type HandshakerReq_ClientStart struct { |
| ClientStart *StartClientHandshakeReq `protobuf:"bytes,1,opt,name=client_start,json=clientStart,proto3,oneof"` |
| } |
| |
| type HandshakerReq_ServerStart struct { |
| ServerStart *StartServerHandshakeReq `protobuf:"bytes,2,opt,name=server_start,json=serverStart,proto3,oneof"` |
| } |
| |
| type HandshakerReq_Next struct { |
| Next *NextHandshakeMessageReq `protobuf:"bytes,3,opt,name=next,proto3,oneof"` |
| } |
| |
| func (*HandshakerReq_ClientStart) isHandshakerReq_ReqOneof() {} |
| |
| func (*HandshakerReq_ServerStart) isHandshakerReq_ReqOneof() {} |
| |
| func (*HandshakerReq_Next) isHandshakerReq_ReqOneof() {} |
| |
| func (m *HandshakerReq) GetReqOneof() isHandshakerReq_ReqOneof { |
| if m != nil { |
| return m.ReqOneof |
| } |
| return nil |
| } |
| |
| func (m *HandshakerReq) GetClientStart() *StartClientHandshakeReq { |
| if x, ok := m.GetReqOneof().(*HandshakerReq_ClientStart); ok { |
| return x.ClientStart |
| } |
| return nil |
| } |
| |
| func (m *HandshakerReq) GetServerStart() *StartServerHandshakeReq { |
| if x, ok := m.GetReqOneof().(*HandshakerReq_ServerStart); ok { |
| return x.ServerStart |
| } |
| return nil |
| } |
| |
| func (m *HandshakerReq) GetNext() *NextHandshakeMessageReq { |
| if x, ok := m.GetReqOneof().(*HandshakerReq_Next); ok { |
| return x.Next |
| } |
| return nil |
| } |
| |
| // XXX_OneofWrappers is for the internal use of the proto package. |
| func (*HandshakerReq) XXX_OneofWrappers() []interface{} { |
| return []interface{}{ |
| (*HandshakerReq_ClientStart)(nil), |
| (*HandshakerReq_ServerStart)(nil), |
| (*HandshakerReq_Next)(nil), |
| } |
| } |
| |
| type HandshakerResult struct { |
| // The application protocol negotiated for this connection. |
| ApplicationProtocol string `protobuf:"bytes,1,opt,name=application_protocol,json=applicationProtocol,proto3" json:"application_protocol,omitempty"` |
| // The record protocol negotiated for this connection. |
| RecordProtocol string `protobuf:"bytes,2,opt,name=record_protocol,json=recordProtocol,proto3" json:"record_protocol,omitempty"` |
| // Cryptographic key data. The key data may be more than the key length |
| // required for the record protocol, thus the client of the handshaker |
| // service needs to truncate the key data into the right key length. |
| KeyData []byte `protobuf:"bytes,3,opt,name=key_data,json=keyData,proto3" json:"key_data,omitempty"` |
| // The authenticated identity of the peer. |
| PeerIdentity *Identity `protobuf:"bytes,4,opt,name=peer_identity,json=peerIdentity,proto3" json:"peer_identity,omitempty"` |
| // The local identity used in the handshake. |
| LocalIdentity *Identity `protobuf:"bytes,5,opt,name=local_identity,json=localIdentity,proto3" json:"local_identity,omitempty"` |
| // Indicate whether the handshaker service client should keep the channel |
| // between the handshaker service open, e.g., in order to handle |
| // post-handshake messages in the future. |
| KeepChannelOpen bool `protobuf:"varint,6,opt,name=keep_channel_open,json=keepChannelOpen,proto3" json:"keep_channel_open,omitempty"` |
| // The RPC protocol versions supported by the peer. |
| PeerRpcVersions *RpcProtocolVersions `protobuf:"bytes,7,opt,name=peer_rpc_versions,json=peerRpcVersions,proto3" json:"peer_rpc_versions,omitempty"` |
| // The maximum frame size of the peer. |
| MaxFrameSize uint32 `protobuf:"varint,8,opt,name=max_frame_size,json=maxFrameSize,proto3" json:"max_frame_size,omitempty"` |
| XXX_NoUnkeyedLiteral struct{} `json:"-"` |
| XXX_unrecognized []byte `json:"-"` |
| XXX_sizecache int32 `json:"-"` |
| } |
| |
| func (m *HandshakerResult) Reset() { *m = HandshakerResult{} } |
| func (m *HandshakerResult) String() string { return proto.CompactTextString(m) } |
| func (*HandshakerResult) ProtoMessage() {} |
| func (*HandshakerResult) Descriptor() ([]byte, []int) { |
| return fileDescriptor_54c074f40c7c7e99, []int{7} |
| } |
| |
| func (m *HandshakerResult) XXX_Unmarshal(b []byte) error { |
| return xxx_messageInfo_HandshakerResult.Unmarshal(m, b) |
| } |
| func (m *HandshakerResult) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { |
| return xxx_messageInfo_HandshakerResult.Marshal(b, m, deterministic) |
| } |
| func (m *HandshakerResult) XXX_Merge(src proto.Message) { |
| xxx_messageInfo_HandshakerResult.Merge(m, src) |
| } |
| func (m *HandshakerResult) XXX_Size() int { |
| return xxx_messageInfo_HandshakerResult.Size(m) |
| } |
| func (m *HandshakerResult) XXX_DiscardUnknown() { |
| xxx_messageInfo_HandshakerResult.DiscardUnknown(m) |
| } |
| |
| var xxx_messageInfo_HandshakerResult proto.InternalMessageInfo |
| |
| func (m *HandshakerResult) GetApplicationProtocol() string { |
| if m != nil { |
| return m.ApplicationProtocol |
| } |
| return "" |
| } |
| |
| func (m *HandshakerResult) GetRecordProtocol() string { |
| if m != nil { |
| return m.RecordProtocol |
| } |
| return "" |
| } |
| |
| func (m *HandshakerResult) GetKeyData() []byte { |
| if m != nil { |
| return m.KeyData |
| } |
| return nil |
| } |
| |
| func (m *HandshakerResult) GetPeerIdentity() *Identity { |
| if m != nil { |
| return m.PeerIdentity |
| } |
| return nil |
| } |
| |
| func (m *HandshakerResult) GetLocalIdentity() *Identity { |
| if m != nil { |
| return m.LocalIdentity |
| } |
| return nil |
| } |
| |
| func (m *HandshakerResult) GetKeepChannelOpen() bool { |
| if m != nil { |
| return m.KeepChannelOpen |
| } |
| return false |
| } |
| |
| func (m *HandshakerResult) GetPeerRpcVersions() *RpcProtocolVersions { |
| if m != nil { |
| return m.PeerRpcVersions |
| } |
| return nil |
| } |
| |
| func (m *HandshakerResult) GetMaxFrameSize() uint32 { |
| if m != nil { |
| return m.MaxFrameSize |
| } |
| return 0 |
| } |
| |
| type HandshakerStatus struct { |
| // The status code. This could be the gRPC status code. |
| Code uint32 `protobuf:"varint,1,opt,name=code,proto3" json:"code,omitempty"` |
| // The status details. |
| Details string `protobuf:"bytes,2,opt,name=details,proto3" json:"details,omitempty"` |
| XXX_NoUnkeyedLiteral struct{} `json:"-"` |
| XXX_unrecognized []byte `json:"-"` |
| XXX_sizecache int32 `json:"-"` |
| } |
| |
| func (m *HandshakerStatus) Reset() { *m = HandshakerStatus{} } |
| func (m *HandshakerStatus) String() string { return proto.CompactTextString(m) } |
| func (*HandshakerStatus) ProtoMessage() {} |
| func (*HandshakerStatus) Descriptor() ([]byte, []int) { |
| return fileDescriptor_54c074f40c7c7e99, []int{8} |
| } |
| |
| func (m *HandshakerStatus) XXX_Unmarshal(b []byte) error { |
| return xxx_messageInfo_HandshakerStatus.Unmarshal(m, b) |
| } |
| func (m *HandshakerStatus) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { |
| return xxx_messageInfo_HandshakerStatus.Marshal(b, m, deterministic) |
| } |
| func (m *HandshakerStatus) XXX_Merge(src proto.Message) { |
| xxx_messageInfo_HandshakerStatus.Merge(m, src) |
| } |
| func (m *HandshakerStatus) XXX_Size() int { |
| return xxx_messageInfo_HandshakerStatus.Size(m) |
| } |
| func (m *HandshakerStatus) XXX_DiscardUnknown() { |
| xxx_messageInfo_HandshakerStatus.DiscardUnknown(m) |
| } |
| |
| var xxx_messageInfo_HandshakerStatus proto.InternalMessageInfo |
| |
| func (m *HandshakerStatus) GetCode() uint32 { |
| if m != nil { |
| return m.Code |
| } |
| return 0 |
| } |
| |
| func (m *HandshakerStatus) GetDetails() string { |
| if m != nil { |
| return m.Details |
| } |
| return "" |
| } |
| |
| type HandshakerResp struct { |
| // Frames to be given to the peer for the NextHandshakeMessageReq. May be |
| // empty if no out_frames have to be sent to the peer or if in_bytes in the |
| // HandshakerReq are incomplete. All the non-empty out frames must be sent to |
| // the peer even if the handshaker status is not OK as these frames may |
| // contain the alert frames. |
| OutFrames []byte `protobuf:"bytes,1,opt,name=out_frames,json=outFrames,proto3" json:"out_frames,omitempty"` |
| // Number of bytes in the in_bytes consumed by the handshaker. It is possible |
| // that part of in_bytes in HandshakerReq was unrelated to the handshake |
| // process. |
| BytesConsumed uint32 `protobuf:"varint,2,opt,name=bytes_consumed,json=bytesConsumed,proto3" json:"bytes_consumed,omitempty"` |
| // This is set iff the handshake was successful. out_frames may still be set |
| // to frames that needs to be forwarded to the peer. |
| Result *HandshakerResult `protobuf:"bytes,3,opt,name=result,proto3" json:"result,omitempty"` |
| // Status of the handshaker. |
| Status *HandshakerStatus `protobuf:"bytes,4,opt,name=status,proto3" json:"status,omitempty"` |
| XXX_NoUnkeyedLiteral struct{} `json:"-"` |
| XXX_unrecognized []byte `json:"-"` |
| XXX_sizecache int32 `json:"-"` |
| } |
| |
| func (m *HandshakerResp) Reset() { *m = HandshakerResp{} } |
| func (m *HandshakerResp) String() string { return proto.CompactTextString(m) } |
| func (*HandshakerResp) ProtoMessage() {} |
| func (*HandshakerResp) Descriptor() ([]byte, []int) { |
| return fileDescriptor_54c074f40c7c7e99, []int{9} |
| } |
| |
| func (m *HandshakerResp) XXX_Unmarshal(b []byte) error { |
| return xxx_messageInfo_HandshakerResp.Unmarshal(m, b) |
| } |
| func (m *HandshakerResp) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { |
| return xxx_messageInfo_HandshakerResp.Marshal(b, m, deterministic) |
| } |
| func (m *HandshakerResp) XXX_Merge(src proto.Message) { |
| xxx_messageInfo_HandshakerResp.Merge(m, src) |
| } |
| func (m *HandshakerResp) XXX_Size() int { |
| return xxx_messageInfo_HandshakerResp.Size(m) |
| } |
| func (m *HandshakerResp) XXX_DiscardUnknown() { |
| xxx_messageInfo_HandshakerResp.DiscardUnknown(m) |
| } |
| |
| var xxx_messageInfo_HandshakerResp proto.InternalMessageInfo |
| |
| func (m *HandshakerResp) GetOutFrames() []byte { |
| if m != nil { |
| return m.OutFrames |
| } |
| return nil |
| } |
| |
| func (m *HandshakerResp) GetBytesConsumed() uint32 { |
| if m != nil { |
| return m.BytesConsumed |
| } |
| return 0 |
| } |
| |
| func (m *HandshakerResp) GetResult() *HandshakerResult { |
| if m != nil { |
| return m.Result |
| } |
| return nil |
| } |
| |
| func (m *HandshakerResp) GetStatus() *HandshakerStatus { |
| if m != nil { |
| return m.Status |
| } |
| return nil |
| } |
| |
| func init() { |
| proto.RegisterEnum("grpc.gcp.HandshakeProtocol", HandshakeProtocol_name, HandshakeProtocol_value) |
| proto.RegisterEnum("grpc.gcp.NetworkProtocol", NetworkProtocol_name, NetworkProtocol_value) |
| proto.RegisterType((*Endpoint)(nil), "grpc.gcp.Endpoint") |
| proto.RegisterType((*Identity)(nil), "grpc.gcp.Identity") |
| proto.RegisterMapType((map[string]string)(nil), "grpc.gcp.Identity.AttributesEntry") |
| proto.RegisterType((*StartClientHandshakeReq)(nil), "grpc.gcp.StartClientHandshakeReq") |
| proto.RegisterType((*ServerHandshakeParameters)(nil), "grpc.gcp.ServerHandshakeParameters") |
| proto.RegisterType((*StartServerHandshakeReq)(nil), "grpc.gcp.StartServerHandshakeReq") |
| proto.RegisterMapType((map[int32]*ServerHandshakeParameters)(nil), "grpc.gcp.StartServerHandshakeReq.HandshakeParametersEntry") |
| proto.RegisterType((*NextHandshakeMessageReq)(nil), "grpc.gcp.NextHandshakeMessageReq") |
| proto.RegisterType((*HandshakerReq)(nil), "grpc.gcp.HandshakerReq") |
| proto.RegisterType((*HandshakerResult)(nil), "grpc.gcp.HandshakerResult") |
| proto.RegisterType((*HandshakerStatus)(nil), "grpc.gcp.HandshakerStatus") |
| proto.RegisterType((*HandshakerResp)(nil), "grpc.gcp.HandshakerResp") |
| } |
| |
| func init() { proto.RegisterFile("grpc/gcp/handshaker.proto", fileDescriptor_54c074f40c7c7e99) } |
| |
| var fileDescriptor_54c074f40c7c7e99 = []byte{ |
| // 1203 bytes of a gzipped FileDescriptorProto |
| 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xac, 0x56, 0xdd, 0x6e, 0x1b, 0x45, |
| 0x14, 0xce, 0xda, 0x4e, 0xe2, 0x1c, 0xc7, 0x3f, 0x99, 0xa6, 0xea, 0x26, 0x6d, 0xc1, 0x18, 0x10, |
| 0x6e, 0x2f, 0x6c, 0x70, 0x41, 0xa5, 0x45, 0x55, 0x6b, 0x3b, 0x8e, 0x1c, 0x5a, 0x1c, 0x6b, 0x9d, |
| 0x82, 0x44, 0x2f, 0x56, 0xd3, 0xf5, 0xd4, 0x59, 0x79, 0x3d, 0xb3, 0x9d, 0x19, 0x87, 0xb8, 0xf7, |
| 0xbc, 0x04, 0xf7, 0xbc, 0x06, 0x2f, 0xc1, 0x33, 0x20, 0xf1, 0x18, 0x68, 0x67, 0x7f, 0x6d, 0xaf, |
| 0xab, 0x22, 0xb8, 0xdb, 0x39, 0xf3, 0x7d, 0x67, 0xce, 0x9c, 0xf3, 0x9d, 0xb3, 0x03, 0x47, 0x13, |
| 0xee, 0x5a, 0xcd, 0x89, 0xe5, 0x36, 0x2f, 0x31, 0x1d, 0x8b, 0x4b, 0x3c, 0x25, 0xbc, 0xe1, 0x72, |
| 0x26, 0x19, 0xca, 0x7b, 0x5b, 0x8d, 0x89, 0xe5, 0x1e, 0xd7, 0x23, 0x90, 0xe4, 0x98, 0x0a, 0x97, |
| 0x71, 0x69, 0x0a, 0x62, 0xcd, 0xb9, 0x2d, 0x17, 0xa6, 0xc5, 0x66, 0x33, 0x46, 0x7d, 0x4e, 0x4d, |
| 0x42, 0xbe, 0x47, 0xc7, 0x2e, 0xb3, 0xa9, 0x44, 0x77, 0x01, 0x6c, 0xd7, 0xc4, 0xe3, 0x31, 0x27, |
| 0x42, 0xe8, 0x5a, 0x55, 0xab, 0xef, 0x19, 0x7b, 0xb6, 0xdb, 0xf6, 0x0d, 0x08, 0x41, 0xce, 0x73, |
| 0xa4, 0x67, 0xaa, 0x5a, 0x7d, 0xdb, 0x50, 0xdf, 0xe8, 0x1b, 0xc8, 0x2b, 0x3f, 0x16, 0x73, 0xf4, |
| 0x6c, 0x55, 0xab, 0x97, 0x5a, 0x47, 0x8d, 0x30, 0x8a, 0xc6, 0x80, 0xc8, 0x5f, 0x18, 0x9f, 0x0e, |
| 0x03, 0x80, 0x11, 0x41, 0x6b, 0x7f, 0x6b, 0x90, 0x3f, 0x1b, 0x13, 0x2a, 0x6d, 0xb9, 0x40, 0xf7, |
| 0xa0, 0x2c, 0x08, 0xbf, 0xb2, 0x2d, 0x62, 0x62, 0xcb, 0x62, 0x73, 0x2a, 0xfd, 0xb3, 0xfb, 0x5b, |
| 0x46, 0x29, 0xd8, 0x68, 0xfb, 0x76, 0x74, 0x07, 0xf2, 0x97, 0x4c, 0x48, 0x8a, 0x67, 0x44, 0x85, |
| 0xe1, 0x61, 0x22, 0x0b, 0xea, 0x00, 0x60, 0x29, 0xb9, 0xfd, 0x7a, 0x2e, 0x89, 0xd0, 0xb3, 0xd5, |
| 0x6c, 0xbd, 0xd0, 0xaa, 0xc5, 0xe1, 0x84, 0x07, 0x36, 0xda, 0x11, 0xa8, 0x47, 0x25, 0x5f, 0x18, |
| 0x09, 0xd6, 0xf1, 0x13, 0x28, 0xaf, 0x6c, 0xa3, 0x0a, 0x64, 0xa7, 0x64, 0x11, 0xe4, 0xc3, 0xfb, |
| 0x44, 0x87, 0xb0, 0x7d, 0x85, 0x9d, 0x79, 0x10, 0x83, 0xe1, 0x2f, 0x1e, 0x67, 0xbe, 0xd5, 0x3a, |
| 0x15, 0x28, 0xd9, 0xc1, 0x31, 0x26, 0xa3, 0x84, 0xbd, 0xa9, 0xfd, 0x99, 0x83, 0x5b, 0x23, 0x89, |
| 0xb9, 0xec, 0x3a, 0x36, 0xa1, 0xb2, 0x1f, 0x16, 0xcd, 0x20, 0x6f, 0xd1, 0x2b, 0xb8, 0x1d, 0x15, |
| 0x31, 0xae, 0x4f, 0x94, 0x50, 0x4d, 0x25, 0xf4, 0x76, 0x7c, 0x83, 0x88, 0x1c, 0xa5, 0xf4, 0x28, |
| 0xe2, 0x8f, 0x02, 0x7a, 0xb8, 0x85, 0x1e, 0xc0, 0x4d, 0xec, 0xba, 0x8e, 0x6d, 0x61, 0x69, 0x33, |
| 0x1a, 0x79, 0x15, 0x7a, 0xa6, 0x9a, 0xad, 0xef, 0x19, 0x87, 0x89, 0xcd, 0x90, 0x23, 0xd0, 0x3d, |
| 0xa8, 0x70, 0x62, 0x31, 0x3e, 0x4e, 0xe0, 0xb3, 0x0a, 0x5f, 0xf6, 0xed, 0x31, 0xf4, 0x29, 0x1c, |
| 0x48, 0xcc, 0x27, 0x44, 0x9a, 0xc1, 0x8d, 0x6d, 0x22, 0xf4, 0x9c, 0x4a, 0x3a, 0x5a, 0x4f, 0xba, |
| 0x51, 0xf1, 0xc1, 0x67, 0x11, 0x16, 0x3d, 0x82, 0x92, 0xc3, 0x2c, 0xec, 0x84, 0xfc, 0x85, 0xbe, |
| 0x5d, 0xd5, 0x36, 0xb0, 0x8b, 0x0a, 0x19, 0x49, 0x26, 0xa2, 0x92, 0x40, 0xbb, 0xfa, 0xce, 0x2a, |
| 0x35, 0x54, 0x75, 0x40, 0x8d, 0x44, 0xfe, 0x1d, 0x94, 0x39, 0x99, 0x31, 0x49, 0x62, 0xee, 0xee, |
| 0x46, 0x6e, 0xc9, 0x87, 0x46, 0xe4, 0x8f, 0xa1, 0x10, 0xdc, 0x59, 0x49, 0x30, 0xaf, 0xca, 0x0f, |
| 0xbe, 0x69, 0xe0, 0x49, 0xf0, 0x19, 0xec, 0x73, 0xd7, 0x32, 0xaf, 0x08, 0x17, 0x36, 0xa3, 0x42, |
| 0xdf, 0x53, 0xae, 0xef, 0xc6, 0xae, 0x0d, 0xd7, 0x0a, 0x53, 0xf8, 0x63, 0x00, 0x32, 0x0a, 0xdc, |
| 0xb5, 0xc2, 0x05, 0xfa, 0x0c, 0x4a, 0x33, 0x7c, 0x6d, 0xbe, 0xe1, 0x78, 0x46, 0x4c, 0x61, 0xbf, |
| 0x23, 0x3a, 0x54, 0xb5, 0x7a, 0xd1, 0xd8, 0x9f, 0xe1, 0xeb, 0x53, 0xcf, 0x38, 0xb2, 0xdf, 0x91, |
| 0xda, 0xaf, 0x1a, 0x1c, 0x8d, 0x08, 0xbf, 0x22, 0x3c, 0xd6, 0x04, 0xf6, 0x76, 0x25, 0xe1, 0xe9, |
| 0x55, 0xd4, 0xd2, 0xab, 0xf8, 0x04, 0x2a, 0x4b, 0x45, 0xf0, 0x8a, 0x98, 0xd9, 0x58, 0xc4, 0x72, |
| 0xb2, 0x0c, 0x36, 0x11, 0xb5, 0xdf, 0x43, 0x75, 0xaf, 0x04, 0xe3, 0xa9, 0x7b, 0xa3, 0x00, 0xb5, |
| 0xf7, 0x08, 0x70, 0x06, 0x87, 0x71, 0x4b, 0xb8, 0xd1, 0x95, 0x82, 0x98, 0x1e, 0xc7, 0x31, 0x6d, |
| 0x38, 0xb5, 0x91, 0x92, 0x0f, 0xbf, 0xcb, 0x6f, 0x5c, 0xa6, 0x64, 0xea, 0x08, 0xf2, 0x36, 0x35, |
| 0x5f, 0x2f, 0xfc, 0x81, 0xa1, 0xd5, 0xf7, 0x8d, 0x5d, 0x9b, 0x76, 0xbc, 0x65, 0x8a, 0xc6, 0x72, |
| 0xff, 0x41, 0x63, 0xdb, 0x1f, 0xac, 0xb1, 0x55, 0x09, 0xed, 0xfc, 0x0f, 0x12, 0xda, 0x5d, 0x97, |
| 0xd0, 0xf1, 0x14, 0xf4, 0x4d, 0xb9, 0x4a, 0x8e, 0xbc, 0x6d, 0x7f, 0xe4, 0x3d, 0x4a, 0x8e, 0xbc, |
| 0x42, 0xeb, 0xd3, 0x44, 0x21, 0x36, 0xc9, 0x30, 0x31, 0x17, 0x6b, 0x5f, 0xc3, 0xad, 0x01, 0xb9, |
| 0x8e, 0xa7, 0xdf, 0x0f, 0x44, 0x08, 0x3c, 0x51, 0x32, 0x49, 0x96, 0x40, 0x5b, 0x2a, 0x41, 0xed, |
| 0x2f, 0x0d, 0x8a, 0x11, 0x85, 0x7b, 0xe0, 0x53, 0xd8, 0xb7, 0xd4, 0x1c, 0x35, 0x85, 0x57, 0x7f, |
| 0x45, 0x28, 0xb4, 0x3e, 0x59, 0x91, 0xc5, 0xfa, 0xa8, 0xed, 0x6f, 0x19, 0x05, 0x9f, 0xa8, 0x00, |
| 0x9e, 0x1f, 0xa1, 0xe2, 0x0e, 0xfc, 0x64, 0x52, 0xfd, 0xac, 0xcb, 0xcb, 0xf3, 0xe3, 0x13, 0x7d, |
| 0x3f, 0x0f, 0x21, 0x47, 0xc9, 0xb5, 0x54, 0xda, 0x59, 0xe2, 0x6f, 0xb8, 0x6d, 0x7f, 0xcb, 0x50, |
| 0x84, 0x4e, 0x01, 0xf6, 0x38, 0x79, 0x1b, 0xfc, 0x23, 0x7e, 0xcb, 0x42, 0x25, 0x79, 0x4f, 0x31, |
| 0x77, 0x24, 0xfa, 0x0a, 0x0e, 0xd3, 0xda, 0x27, 0xf8, 0x0f, 0xdd, 0x48, 0xe9, 0x1e, 0xf4, 0x05, |
| 0x94, 0x57, 0xfa, 0x3e, 0xf8, 0x43, 0x95, 0x96, 0xdb, 0xde, 0xcb, 0xf9, 0x94, 0x2c, 0xcc, 0x31, |
| 0x96, 0x38, 0x94, 0xfd, 0x94, 0x2c, 0x4e, 0xb0, 0xc4, 0xe8, 0x21, 0x14, 0x5d, 0x42, 0x78, 0x3c, |
| 0x94, 0x73, 0x1b, 0x87, 0xf2, 0xbe, 0x07, 0x5c, 0x9f, 0xc9, 0xff, 0x7e, 0x9c, 0xdf, 0x87, 0x83, |
| 0x29, 0x21, 0xae, 0x69, 0x5d, 0x62, 0x4a, 0x89, 0x63, 0x32, 0x97, 0x50, 0xa5, 0xfb, 0xbc, 0x51, |
| 0xf6, 0x36, 0xba, 0xbe, 0xfd, 0xdc, 0x25, 0x14, 0x9d, 0xc1, 0x81, 0x8a, 0x6f, 0xa9, 0x47, 0x76, |
| 0x3f, 0xa4, 0x47, 0xca, 0x1e, 0xcf, 0x78, 0x6f, 0x9f, 0xe4, 0x53, 0x46, 0xed, 0xb3, 0x64, 0x6d, |
| 0x46, 0x12, 0xcb, 0xb9, 0x7a, 0x0a, 0x59, 0x6c, 0x4c, 0x54, 0x2d, 0x8a, 0x86, 0xfa, 0x46, 0x3a, |
| 0xec, 0x8e, 0x89, 0xc4, 0xb6, 0xfa, 0xc3, 0x7a, 0x49, 0x0f, 0x97, 0xb5, 0x3f, 0x34, 0x28, 0x2d, |
| 0x95, 0xd7, 0xf5, 0x9e, 0x5a, 0x6c, 0x2e, 0xfd, 0xa3, 0x43, 0xd9, 0xef, 0xb1, 0xb9, 0x54, 0xc7, |
| 0x0a, 0xf4, 0x39, 0x94, 0x54, 0x43, 0x98, 0x16, 0xa3, 0x62, 0x3e, 0x23, 0x63, 0xe5, 0xb2, 0x68, |
| 0x14, 0x95, 0xb5, 0x1b, 0x18, 0x51, 0x0b, 0x76, 0xb8, 0x12, 0x4b, 0xa0, 0xbf, 0xe3, 0x94, 0xa7, |
| 0x42, 0x20, 0x27, 0x23, 0x40, 0x7a, 0x1c, 0xa1, 0x2e, 0x11, 0x14, 0x36, 0x95, 0xe3, 0x5f, 0xd3, |
| 0x08, 0x90, 0xf7, 0xbf, 0x87, 0x83, 0xb5, 0xa7, 0x07, 0xaa, 0xc1, 0x47, 0xfd, 0xf6, 0xe0, 0x64, |
| 0xd4, 0x6f, 0x3f, 0xef, 0x99, 0x43, 0xe3, 0xfc, 0xe2, 0xbc, 0x7b, 0xfe, 0xc2, 0x7c, 0x39, 0x18, |
| 0x0d, 0x7b, 0xdd, 0xb3, 0xd3, 0xb3, 0xde, 0x49, 0x65, 0x0b, 0xed, 0x42, 0xf6, 0xe2, 0xc5, 0xa8, |
| 0xa2, 0xa1, 0x3c, 0xe4, 0xda, 0x2f, 0x2e, 0x46, 0x95, 0xcc, 0xfd, 0x1e, 0x94, 0x57, 0xde, 0x85, |
| 0xa8, 0x0a, 0x77, 0x06, 0xbd, 0x8b, 0x9f, 0xce, 0x8d, 0xe7, 0xef, 0xf3, 0xd3, 0x1d, 0x56, 0x34, |
| 0xef, 0xe3, 0xe5, 0xc9, 0xb0, 0x92, 0x69, 0xbd, 0x4a, 0x84, 0xc4, 0x47, 0xfe, 0x2b, 0x11, 0x9d, |
| 0x42, 0xe1, 0x84, 0x45, 0x66, 0x74, 0x2b, 0x3d, 0x1d, 0x6f, 0x8f, 0xf5, 0x0d, 0x79, 0x72, 0x6b, |
| 0x5b, 0x75, 0xed, 0x4b, 0xad, 0x33, 0x85, 0x9b, 0x36, 0xf3, 0x31, 0xd8, 0x91, 0xa2, 0x61, 0x53, |
| 0x49, 0x38, 0xc5, 0x4e, 0xa7, 0x1c, 0xc3, 0x55, 0xf4, 0x43, 0xed, 0xe7, 0xa7, 0x13, 0xc6, 0x26, |
| 0x0e, 0x69, 0x4c, 0x98, 0x83, 0xe9, 0xa4, 0xc1, 0xf8, 0xa4, 0xa9, 0x1e, 0xdf, 0x16, 0x27, 0x4a, |
| 0xde, 0xd8, 0x11, 0x4d, 0xcf, 0x49, 0x33, 0x74, 0xd2, 0x54, 0xbd, 0xa9, 0x40, 0xe6, 0xc4, 0x72, |
| 0x5f, 0xef, 0xa8, 0xf5, 0x83, 0x7f, 0x02, 0x00, 0x00, 0xff, 0xff, 0xc1, 0xf9, 0x9d, 0xf2, 0xd9, |
| 0x0b, 0x00, 0x00, |
| } |