blob: dfc3514e55fdf1e0a2c1fed2c83070cd20c2dd97 [file] [log] [blame]
// Code generated by protoc-gen-go. DO NOT EDIT.
// source: common.proto
/*
Package message is a generated protocol buffer package.
It is generated from these files:
common.proto
requests.proto
responses.proto
It has these top-level messages:
ConnectionProperties
StatementHandle
Signature
ColumnMetaData
AvaticaType
AvaticaParameter
CursorFactory
Frame
Row
DatabaseProperty
WireMessage
ColumnValue
TypedValue
MetaDataOperationArgument
QueryState
CatalogsRequest
DatabasePropertyRequest
SchemasRequest
TablesRequest
TableTypesRequest
ColumnsRequest
TypeInfoRequest
PrepareAndExecuteRequest
PrepareRequest
FetchRequest
CreateStatementRequest
CloseStatementRequest
OpenConnectionRequest
CloseConnectionRequest
ConnectionSyncRequest
ExecuteRequest
SyncResultsRequest
CommitRequest
RollbackRequest
PrepareAndExecuteBatchRequest
UpdateBatch
ExecuteBatchRequest
ResultSetResponse
ExecuteResponse
PrepareResponse
FetchResponse
CreateStatementResponse
CloseStatementResponse
OpenConnectionResponse
CloseConnectionResponse
ConnectionSyncResponse
DatabasePropertyElement
DatabasePropertyResponse
ErrorResponse
SyncResultsResponse
RpcMetadata
CommitResponse
RollbackResponse
ExecuteBatchResponse
*/
package message
import proto "github.com/golang/protobuf/proto"
import fmt "fmt"
import 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.ProtoPackageIsVersion2 // please upgrade the proto package
// Has to be consistent with Meta.StatementType
type StatementType int32
const (
StatementType_SELECT StatementType = 0
StatementType_INSERT StatementType = 1
StatementType_UPDATE StatementType = 2
StatementType_DELETE StatementType = 3
StatementType_UPSERT StatementType = 4
StatementType_MERGE StatementType = 5
StatementType_OTHER_DML StatementType = 6
StatementType_CREATE StatementType = 7
StatementType_DROP StatementType = 8
StatementType_ALTER StatementType = 9
StatementType_OTHER_DDL StatementType = 10
StatementType_CALL StatementType = 11
)
var StatementType_name = map[int32]string{
0: "SELECT",
1: "INSERT",
2: "UPDATE",
3: "DELETE",
4: "UPSERT",
5: "MERGE",
6: "OTHER_DML",
7: "CREATE",
8: "DROP",
9: "ALTER",
10: "OTHER_DDL",
11: "CALL",
}
var StatementType_value = map[string]int32{
"SELECT": 0,
"INSERT": 1,
"UPDATE": 2,
"DELETE": 3,
"UPSERT": 4,
"MERGE": 5,
"OTHER_DML": 6,
"CREATE": 7,
"DROP": 8,
"ALTER": 9,
"OTHER_DDL": 10,
"CALL": 11,
}
func (x StatementType) String() string {
return proto.EnumName(StatementType_name, int32(x))
}
func (StatementType) EnumDescriptor() ([]byte, []int) { return fileDescriptor0, []int{0} }
type Rep int32
const (
Rep_PRIMITIVE_BOOLEAN Rep = 0
Rep_PRIMITIVE_BYTE Rep = 1
Rep_PRIMITIVE_CHAR Rep = 2
Rep_PRIMITIVE_SHORT Rep = 3
Rep_PRIMITIVE_INT Rep = 4
Rep_PRIMITIVE_LONG Rep = 5
Rep_PRIMITIVE_FLOAT Rep = 6
Rep_PRIMITIVE_DOUBLE Rep = 7
Rep_BOOLEAN Rep = 8
Rep_BYTE Rep = 9
Rep_CHARACTER Rep = 10
Rep_SHORT Rep = 11
Rep_INTEGER Rep = 12
Rep_LONG Rep = 13
Rep_FLOAT Rep = 14
Rep_DOUBLE Rep = 15
Rep_BIG_INTEGER Rep = 25
Rep_BIG_DECIMAL Rep = 26
Rep_JAVA_SQL_TIME Rep = 16
Rep_JAVA_SQL_TIMESTAMP Rep = 17
Rep_JAVA_SQL_DATE Rep = 18
Rep_JAVA_UTIL_DATE Rep = 19
Rep_BYTE_STRING Rep = 20
Rep_STRING Rep = 21
Rep_NUMBER Rep = 22
Rep_OBJECT Rep = 23
Rep_NULL Rep = 24
Rep_ARRAY Rep = 27
Rep_STRUCT Rep = 28
Rep_MULTISET Rep = 29
)
var Rep_name = map[int32]string{
0: "PRIMITIVE_BOOLEAN",
1: "PRIMITIVE_BYTE",
2: "PRIMITIVE_CHAR",
3: "PRIMITIVE_SHORT",
4: "PRIMITIVE_INT",
5: "PRIMITIVE_LONG",
6: "PRIMITIVE_FLOAT",
7: "PRIMITIVE_DOUBLE",
8: "BOOLEAN",
9: "BYTE",
10: "CHARACTER",
11: "SHORT",
12: "INTEGER",
13: "LONG",
14: "FLOAT",
15: "DOUBLE",
25: "BIG_INTEGER",
26: "BIG_DECIMAL",
16: "JAVA_SQL_TIME",
17: "JAVA_SQL_TIMESTAMP",
18: "JAVA_SQL_DATE",
19: "JAVA_UTIL_DATE",
20: "BYTE_STRING",
21: "STRING",
22: "NUMBER",
23: "OBJECT",
24: "NULL",
27: "ARRAY",
28: "STRUCT",
29: "MULTISET",
}
var Rep_value = map[string]int32{
"PRIMITIVE_BOOLEAN": 0,
"PRIMITIVE_BYTE": 1,
"PRIMITIVE_CHAR": 2,
"PRIMITIVE_SHORT": 3,
"PRIMITIVE_INT": 4,
"PRIMITIVE_LONG": 5,
"PRIMITIVE_FLOAT": 6,
"PRIMITIVE_DOUBLE": 7,
"BOOLEAN": 8,
"BYTE": 9,
"CHARACTER": 10,
"SHORT": 11,
"INTEGER": 12,
"LONG": 13,
"FLOAT": 14,
"DOUBLE": 15,
"BIG_INTEGER": 25,
"BIG_DECIMAL": 26,
"JAVA_SQL_TIME": 16,
"JAVA_SQL_TIMESTAMP": 17,
"JAVA_SQL_DATE": 18,
"JAVA_UTIL_DATE": 19,
"BYTE_STRING": 20,
"STRING": 21,
"NUMBER": 22,
"OBJECT": 23,
"NULL": 24,
"ARRAY": 27,
"STRUCT": 28,
"MULTISET": 29,
}
func (x Rep) String() string {
return proto.EnumName(Rep_name, int32(x))
}
func (Rep) EnumDescriptor() ([]byte, []int) { return fileDescriptor0, []int{1} }
// The severity of some unexpected outcome to an operation.
// Protobuf enum values must be unique across all other enums
type Severity int32
const (
Severity_UNKNOWN_SEVERITY Severity = 0
Severity_FATAL_SEVERITY Severity = 1
Severity_ERROR_SEVERITY Severity = 2
Severity_WARNING_SEVERITY Severity = 3
)
var Severity_name = map[int32]string{
0: "UNKNOWN_SEVERITY",
1: "FATAL_SEVERITY",
2: "ERROR_SEVERITY",
3: "WARNING_SEVERITY",
}
var Severity_value = map[string]int32{
"UNKNOWN_SEVERITY": 0,
"FATAL_SEVERITY": 1,
"ERROR_SEVERITY": 2,
"WARNING_SEVERITY": 3,
}
func (x Severity) String() string {
return proto.EnumName(Severity_name, int32(x))
}
func (Severity) EnumDescriptor() ([]byte, []int) { return fileDescriptor0, []int{2} }
// Enumeration corresponding to DatabaseMetaData operations
type MetaDataOperation int32
const (
MetaDataOperation_GET_ATTRIBUTES MetaDataOperation = 0
MetaDataOperation_GET_BEST_ROW_IDENTIFIER MetaDataOperation = 1
MetaDataOperation_GET_CATALOGS MetaDataOperation = 2
MetaDataOperation_GET_CLIENT_INFO_PROPERTIES MetaDataOperation = 3
MetaDataOperation_GET_COLUMN_PRIVILEGES MetaDataOperation = 4
MetaDataOperation_GET_COLUMNS MetaDataOperation = 5
MetaDataOperation_GET_CROSS_REFERENCE MetaDataOperation = 6
MetaDataOperation_GET_EXPORTED_KEYS MetaDataOperation = 7
MetaDataOperation_GET_FUNCTION_COLUMNS MetaDataOperation = 8
MetaDataOperation_GET_FUNCTIONS MetaDataOperation = 9
MetaDataOperation_GET_IMPORTED_KEYS MetaDataOperation = 10
MetaDataOperation_GET_INDEX_INFO MetaDataOperation = 11
MetaDataOperation_GET_PRIMARY_KEYS MetaDataOperation = 12
MetaDataOperation_GET_PROCEDURE_COLUMNS MetaDataOperation = 13
MetaDataOperation_GET_PROCEDURES MetaDataOperation = 14
MetaDataOperation_GET_PSEUDO_COLUMNS MetaDataOperation = 15
MetaDataOperation_GET_SCHEMAS MetaDataOperation = 16
MetaDataOperation_GET_SCHEMAS_WITH_ARGS MetaDataOperation = 17
MetaDataOperation_GET_SUPER_TABLES MetaDataOperation = 18
MetaDataOperation_GET_SUPER_TYPES MetaDataOperation = 19
MetaDataOperation_GET_TABLE_PRIVILEGES MetaDataOperation = 20
MetaDataOperation_GET_TABLES MetaDataOperation = 21
MetaDataOperation_GET_TABLE_TYPES MetaDataOperation = 22
MetaDataOperation_GET_TYPE_INFO MetaDataOperation = 23
MetaDataOperation_GET_UDTS MetaDataOperation = 24
MetaDataOperation_GET_VERSION_COLUMNS MetaDataOperation = 25
)
var MetaDataOperation_name = map[int32]string{
0: "GET_ATTRIBUTES",
1: "GET_BEST_ROW_IDENTIFIER",
2: "GET_CATALOGS",
3: "GET_CLIENT_INFO_PROPERTIES",
4: "GET_COLUMN_PRIVILEGES",
5: "GET_COLUMNS",
6: "GET_CROSS_REFERENCE",
7: "GET_EXPORTED_KEYS",
8: "GET_FUNCTION_COLUMNS",
9: "GET_FUNCTIONS",
10: "GET_IMPORTED_KEYS",
11: "GET_INDEX_INFO",
12: "GET_PRIMARY_KEYS",
13: "GET_PROCEDURE_COLUMNS",
14: "GET_PROCEDURES",
15: "GET_PSEUDO_COLUMNS",
16: "GET_SCHEMAS",
17: "GET_SCHEMAS_WITH_ARGS",
18: "GET_SUPER_TABLES",
19: "GET_SUPER_TYPES",
20: "GET_TABLE_PRIVILEGES",
21: "GET_TABLES",
22: "GET_TABLE_TYPES",
23: "GET_TYPE_INFO",
24: "GET_UDTS",
25: "GET_VERSION_COLUMNS",
}
var MetaDataOperation_value = map[string]int32{
"GET_ATTRIBUTES": 0,
"GET_BEST_ROW_IDENTIFIER": 1,
"GET_CATALOGS": 2,
"GET_CLIENT_INFO_PROPERTIES": 3,
"GET_COLUMN_PRIVILEGES": 4,
"GET_COLUMNS": 5,
"GET_CROSS_REFERENCE": 6,
"GET_EXPORTED_KEYS": 7,
"GET_FUNCTION_COLUMNS": 8,
"GET_FUNCTIONS": 9,
"GET_IMPORTED_KEYS": 10,
"GET_INDEX_INFO": 11,
"GET_PRIMARY_KEYS": 12,
"GET_PROCEDURE_COLUMNS": 13,
"GET_PROCEDURES": 14,
"GET_PSEUDO_COLUMNS": 15,
"GET_SCHEMAS": 16,
"GET_SCHEMAS_WITH_ARGS": 17,
"GET_SUPER_TABLES": 18,
"GET_SUPER_TYPES": 19,
"GET_TABLE_PRIVILEGES": 20,
"GET_TABLES": 21,
"GET_TABLE_TYPES": 22,
"GET_TYPE_INFO": 23,
"GET_UDTS": 24,
"GET_VERSION_COLUMNS": 25,
}
func (x MetaDataOperation) String() string {
return proto.EnumName(MetaDataOperation_name, int32(x))
}
func (MetaDataOperation) EnumDescriptor() ([]byte, []int) { return fileDescriptor0, []int{3} }
type StateType int32
const (
StateType_SQL StateType = 0
StateType_METADATA StateType = 1
)
var StateType_name = map[int32]string{
0: "SQL",
1: "METADATA",
}
var StateType_value = map[string]int32{
"SQL": 0,
"METADATA": 1,
}
func (x StateType) String() string {
return proto.EnumName(StateType_name, int32(x))
}
func (StateType) EnumDescriptor() ([]byte, []int) { return fileDescriptor0, []int{4} }
type CursorFactory_Style int32
const (
CursorFactory_OBJECT CursorFactory_Style = 0
CursorFactory_RECORD CursorFactory_Style = 1
CursorFactory_RECORD_PROJECTION CursorFactory_Style = 2
CursorFactory_ARRAY CursorFactory_Style = 3
CursorFactory_LIST CursorFactory_Style = 4
CursorFactory_MAP CursorFactory_Style = 5
)
var CursorFactory_Style_name = map[int32]string{
0: "OBJECT",
1: "RECORD",
2: "RECORD_PROJECTION",
3: "ARRAY",
4: "LIST",
5: "MAP",
}
var CursorFactory_Style_value = map[string]int32{
"OBJECT": 0,
"RECORD": 1,
"RECORD_PROJECTION": 2,
"ARRAY": 3,
"LIST": 4,
"MAP": 5,
}
func (x CursorFactory_Style) String() string {
return proto.EnumName(CursorFactory_Style_name, int32(x))
}
func (CursorFactory_Style) EnumDescriptor() ([]byte, []int) { return fileDescriptor0, []int{6, 0} }
type MetaDataOperationArgument_ArgumentType int32
const (
MetaDataOperationArgument_STRING MetaDataOperationArgument_ArgumentType = 0
MetaDataOperationArgument_BOOL MetaDataOperationArgument_ArgumentType = 1
MetaDataOperationArgument_INT MetaDataOperationArgument_ArgumentType = 2
MetaDataOperationArgument_REPEATED_STRING MetaDataOperationArgument_ArgumentType = 3
MetaDataOperationArgument_REPEATED_INT MetaDataOperationArgument_ArgumentType = 4
MetaDataOperationArgument_NULL MetaDataOperationArgument_ArgumentType = 5
)
var MetaDataOperationArgument_ArgumentType_name = map[int32]string{
0: "STRING",
1: "BOOL",
2: "INT",
3: "REPEATED_STRING",
4: "REPEATED_INT",
5: "NULL",
}
var MetaDataOperationArgument_ArgumentType_value = map[string]int32{
"STRING": 0,
"BOOL": 1,
"INT": 2,
"REPEATED_STRING": 3,
"REPEATED_INT": 4,
"NULL": 5,
}
func (x MetaDataOperationArgument_ArgumentType) String() string {
return proto.EnumName(MetaDataOperationArgument_ArgumentType_name, int32(x))
}
func (MetaDataOperationArgument_ArgumentType) EnumDescriptor() ([]byte, []int) {
return fileDescriptor0, []int{13, 0}
}
// Details about a connection
type ConnectionProperties struct {
IsDirty bool `protobuf:"varint,1,opt,name=is_dirty,json=isDirty" json:"is_dirty,omitempty"`
AutoCommit bool `protobuf:"varint,2,opt,name=auto_commit,json=autoCommit" json:"auto_commit,omitempty"`
HasAutoCommit bool `protobuf:"varint,7,opt,name=has_auto_commit,json=hasAutoCommit" json:"has_auto_commit,omitempty"`
ReadOnly bool `protobuf:"varint,3,opt,name=read_only,json=readOnly" json:"read_only,omitempty"`
HasReadOnly bool `protobuf:"varint,8,opt,name=has_read_only,json=hasReadOnly" json:"has_read_only,omitempty"`
TransactionIsolation uint32 `protobuf:"varint,4,opt,name=transaction_isolation,json=transactionIsolation" json:"transaction_isolation,omitempty"`
Catalog string `protobuf:"bytes,5,opt,name=catalog" json:"catalog,omitempty"`
Schema string `protobuf:"bytes,6,opt,name=schema" json:"schema,omitempty"`
}
func (m *ConnectionProperties) Reset() { *m = ConnectionProperties{} }
func (m *ConnectionProperties) String() string { return proto.CompactTextString(m) }
func (*ConnectionProperties) ProtoMessage() {}
func (*ConnectionProperties) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{0} }
func (m *ConnectionProperties) GetIsDirty() bool {
if m != nil {
return m.IsDirty
}
return false
}
func (m *ConnectionProperties) GetAutoCommit() bool {
if m != nil {
return m.AutoCommit
}
return false
}
func (m *ConnectionProperties) GetHasAutoCommit() bool {
if m != nil {
return m.HasAutoCommit
}
return false
}
func (m *ConnectionProperties) GetReadOnly() bool {
if m != nil {
return m.ReadOnly
}
return false
}
func (m *ConnectionProperties) GetHasReadOnly() bool {
if m != nil {
return m.HasReadOnly
}
return false
}
func (m *ConnectionProperties) GetTransactionIsolation() uint32 {
if m != nil {
return m.TransactionIsolation
}
return 0
}
func (m *ConnectionProperties) GetCatalog() string {
if m != nil {
return m.Catalog
}
return ""
}
func (m *ConnectionProperties) GetSchema() string {
if m != nil {
return m.Schema
}
return ""
}
// Statement handle
type StatementHandle struct {
ConnectionId string `protobuf:"bytes,1,opt,name=connection_id,json=connectionId" json:"connection_id,omitempty"`
Id uint32 `protobuf:"varint,2,opt,name=id" json:"id,omitempty"`
Signature *Signature `protobuf:"bytes,3,opt,name=signature" json:"signature,omitempty"`
}
func (m *StatementHandle) Reset() { *m = StatementHandle{} }
func (m *StatementHandle) String() string { return proto.CompactTextString(m) }
func (*StatementHandle) ProtoMessage() {}
func (*StatementHandle) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{1} }
func (m *StatementHandle) GetConnectionId() string {
if m != nil {
return m.ConnectionId
}
return ""
}
func (m *StatementHandle) GetId() uint32 {
if m != nil {
return m.Id
}
return 0
}
func (m *StatementHandle) GetSignature() *Signature {
if m != nil {
return m.Signature
}
return nil
}
// Results of preparing a statement
type Signature struct {
Columns []*ColumnMetaData `protobuf:"bytes,1,rep,name=columns" json:"columns,omitempty"`
Sql string `protobuf:"bytes,2,opt,name=sql" json:"sql,omitempty"`
Parameters []*AvaticaParameter `protobuf:"bytes,3,rep,name=parameters" json:"parameters,omitempty"`
CursorFactory *CursorFactory `protobuf:"bytes,4,opt,name=cursor_factory,json=cursorFactory" json:"cursor_factory,omitempty"`
StatementType StatementType `protobuf:"varint,5,opt,name=statementType,enum=StatementType" json:"statementType,omitempty"`
}
func (m *Signature) Reset() { *m = Signature{} }
func (m *Signature) String() string { return proto.CompactTextString(m) }
func (*Signature) ProtoMessage() {}
func (*Signature) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{2} }
func (m *Signature) GetColumns() []*ColumnMetaData {
if m != nil {
return m.Columns
}
return nil
}
func (m *Signature) GetSql() string {
if m != nil {
return m.Sql
}
return ""
}
func (m *Signature) GetParameters() []*AvaticaParameter {
if m != nil {
return m.Parameters
}
return nil
}
func (m *Signature) GetCursorFactory() *CursorFactory {
if m != nil {
return m.CursorFactory
}
return nil
}
func (m *Signature) GetStatementType() StatementType {
if m != nil {
return m.StatementType
}
return StatementType_SELECT
}
type ColumnMetaData struct {
Ordinal uint32 `protobuf:"varint,1,opt,name=ordinal" json:"ordinal,omitempty"`
AutoIncrement bool `protobuf:"varint,2,opt,name=auto_increment,json=autoIncrement" json:"auto_increment,omitempty"`
CaseSensitive bool `protobuf:"varint,3,opt,name=case_sensitive,json=caseSensitive" json:"case_sensitive,omitempty"`
Searchable bool `protobuf:"varint,4,opt,name=searchable" json:"searchable,omitempty"`
Currency bool `protobuf:"varint,5,opt,name=currency" json:"currency,omitempty"`
Nullable uint32 `protobuf:"varint,6,opt,name=nullable" json:"nullable,omitempty"`
Signed bool `protobuf:"varint,7,opt,name=signed" json:"signed,omitempty"`
DisplaySize uint32 `protobuf:"varint,8,opt,name=display_size,json=displaySize" json:"display_size,omitempty"`
Label string `protobuf:"bytes,9,opt,name=label" json:"label,omitempty"`
ColumnName string `protobuf:"bytes,10,opt,name=column_name,json=columnName" json:"column_name,omitempty"`
SchemaName string `protobuf:"bytes,11,opt,name=schema_name,json=schemaName" json:"schema_name,omitempty"`
Precision uint32 `protobuf:"varint,12,opt,name=precision" json:"precision,omitempty"`
Scale uint32 `protobuf:"varint,13,opt,name=scale" json:"scale,omitempty"`
TableName string `protobuf:"bytes,14,opt,name=table_name,json=tableName" json:"table_name,omitempty"`
CatalogName string `protobuf:"bytes,15,opt,name=catalog_name,json=catalogName" json:"catalog_name,omitempty"`
ReadOnly bool `protobuf:"varint,16,opt,name=read_only,json=readOnly" json:"read_only,omitempty"`
Writable bool `protobuf:"varint,17,opt,name=writable" json:"writable,omitempty"`
DefinitelyWritable bool `protobuf:"varint,18,opt,name=definitely_writable,json=definitelyWritable" json:"definitely_writable,omitempty"`
ColumnClassName string `protobuf:"bytes,19,opt,name=column_class_name,json=columnClassName" json:"column_class_name,omitempty"`
Type *AvaticaType `protobuf:"bytes,20,opt,name=type" json:"type,omitempty"`
}
func (m *ColumnMetaData) Reset() { *m = ColumnMetaData{} }
func (m *ColumnMetaData) String() string { return proto.CompactTextString(m) }
func (*ColumnMetaData) ProtoMessage() {}
func (*ColumnMetaData) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{3} }
func (m *ColumnMetaData) GetOrdinal() uint32 {
if m != nil {
return m.Ordinal
}
return 0
}
func (m *ColumnMetaData) GetAutoIncrement() bool {
if m != nil {
return m.AutoIncrement
}
return false
}
func (m *ColumnMetaData) GetCaseSensitive() bool {
if m != nil {
return m.CaseSensitive
}
return false
}
func (m *ColumnMetaData) GetSearchable() bool {
if m != nil {
return m.Searchable
}
return false
}
func (m *ColumnMetaData) GetCurrency() bool {
if m != nil {
return m.Currency
}
return false
}
func (m *ColumnMetaData) GetNullable() uint32 {
if m != nil {
return m.Nullable
}
return 0
}
func (m *ColumnMetaData) GetSigned() bool {
if m != nil {
return m.Signed
}
return false
}
func (m *ColumnMetaData) GetDisplaySize() uint32 {
if m != nil {
return m.DisplaySize
}
return 0
}
func (m *ColumnMetaData) GetLabel() string {
if m != nil {
return m.Label
}
return ""
}
func (m *ColumnMetaData) GetColumnName() string {
if m != nil {
return m.ColumnName
}
return ""
}
func (m *ColumnMetaData) GetSchemaName() string {
if m != nil {
return m.SchemaName
}
return ""
}
func (m *ColumnMetaData) GetPrecision() uint32 {
if m != nil {
return m.Precision
}
return 0
}
func (m *ColumnMetaData) GetScale() uint32 {
if m != nil {
return m.Scale
}
return 0
}
func (m *ColumnMetaData) GetTableName() string {
if m != nil {
return m.TableName
}
return ""
}
func (m *ColumnMetaData) GetCatalogName() string {
if m != nil {
return m.CatalogName
}
return ""
}
func (m *ColumnMetaData) GetReadOnly() bool {
if m != nil {
return m.ReadOnly
}
return false
}
func (m *ColumnMetaData) GetWritable() bool {
if m != nil {
return m.Writable
}
return false
}
func (m *ColumnMetaData) GetDefinitelyWritable() bool {
if m != nil {
return m.DefinitelyWritable
}
return false
}
func (m *ColumnMetaData) GetColumnClassName() string {
if m != nil {
return m.ColumnClassName
}
return ""
}
func (m *ColumnMetaData) GetType() *AvaticaType {
if m != nil {
return m.Type
}
return nil
}
// Base class for a column type
type AvaticaType struct {
Id uint32 `protobuf:"varint,1,opt,name=id" json:"id,omitempty"`
Name string `protobuf:"bytes,2,opt,name=name" json:"name,omitempty"`
Rep Rep `protobuf:"varint,3,opt,name=rep,enum=Rep" json:"rep,omitempty"`
Columns []*ColumnMetaData `protobuf:"bytes,4,rep,name=columns" json:"columns,omitempty"`
Component *AvaticaType `protobuf:"bytes,5,opt,name=component" json:"component,omitempty"`
}
func (m *AvaticaType) Reset() { *m = AvaticaType{} }
func (m *AvaticaType) String() string { return proto.CompactTextString(m) }
func (*AvaticaType) ProtoMessage() {}
func (*AvaticaType) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{4} }
func (m *AvaticaType) GetId() uint32 {
if m != nil {
return m.Id
}
return 0
}
func (m *AvaticaType) GetName() string {
if m != nil {
return m.Name
}
return ""
}
func (m *AvaticaType) GetRep() Rep {
if m != nil {
return m.Rep
}
return Rep_PRIMITIVE_BOOLEAN
}
func (m *AvaticaType) GetColumns() []*ColumnMetaData {
if m != nil {
return m.Columns
}
return nil
}
func (m *AvaticaType) GetComponent() *AvaticaType {
if m != nil {
return m.Component
}
return nil
}
// Metadata for a parameter
type AvaticaParameter struct {
Signed bool `protobuf:"varint,1,opt,name=signed" json:"signed,omitempty"`
Precision uint32 `protobuf:"varint,2,opt,name=precision" json:"precision,omitempty"`
Scale uint32 `protobuf:"varint,3,opt,name=scale" json:"scale,omitempty"`
ParameterType uint32 `protobuf:"varint,4,opt,name=parameter_type,json=parameterType" json:"parameter_type,omitempty"`
TypeName string `protobuf:"bytes,5,opt,name=type_name,json=typeName" json:"type_name,omitempty"`
ClassName string `protobuf:"bytes,6,opt,name=class_name,json=className" json:"class_name,omitempty"`
Name string `protobuf:"bytes,7,opt,name=name" json:"name,omitempty"`
}
func (m *AvaticaParameter) Reset() { *m = AvaticaParameter{} }
func (m *AvaticaParameter) String() string { return proto.CompactTextString(m) }
func (*AvaticaParameter) ProtoMessage() {}
func (*AvaticaParameter) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{5} }
func (m *AvaticaParameter) GetSigned() bool {
if m != nil {
return m.Signed
}
return false
}
func (m *AvaticaParameter) GetPrecision() uint32 {
if m != nil {
return m.Precision
}
return 0
}
func (m *AvaticaParameter) GetScale() uint32 {
if m != nil {
return m.Scale
}
return 0
}
func (m *AvaticaParameter) GetParameterType() uint32 {
if m != nil {
return m.ParameterType
}
return 0
}
func (m *AvaticaParameter) GetTypeName() string {
if m != nil {
return m.TypeName
}
return ""
}
func (m *AvaticaParameter) GetClassName() string {
if m != nil {
return m.ClassName
}
return ""
}
func (m *AvaticaParameter) GetName() string {
if m != nil {
return m.Name
}
return ""
}
// Information necessary to convert an Iterable into a Calcite Cursor
type CursorFactory struct {
Style CursorFactory_Style `protobuf:"varint,1,opt,name=style,enum=CursorFactory_Style" json:"style,omitempty"`
ClassName string `protobuf:"bytes,2,opt,name=class_name,json=className" json:"class_name,omitempty"`
FieldNames []string `protobuf:"bytes,3,rep,name=field_names,json=fieldNames" json:"field_names,omitempty"`
}
func (m *CursorFactory) Reset() { *m = CursorFactory{} }
func (m *CursorFactory) String() string { return proto.CompactTextString(m) }
func (*CursorFactory) ProtoMessage() {}
func (*CursorFactory) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{6} }
func (m *CursorFactory) GetStyle() CursorFactory_Style {
if m != nil {
return m.Style
}
return CursorFactory_OBJECT
}
func (m *CursorFactory) GetClassName() string {
if m != nil {
return m.ClassName
}
return ""
}
func (m *CursorFactory) GetFieldNames() []string {
if m != nil {
return m.FieldNames
}
return nil
}
// A collection of rows
type Frame struct {
Offset uint64 `protobuf:"varint,1,opt,name=offset" json:"offset,omitempty"`
Done bool `protobuf:"varint,2,opt,name=done" json:"done,omitempty"`
Rows []*Row `protobuf:"bytes,3,rep,name=rows" json:"rows,omitempty"`
}
func (m *Frame) Reset() { *m = Frame{} }
func (m *Frame) String() string { return proto.CompactTextString(m) }
func (*Frame) ProtoMessage() {}
func (*Frame) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{7} }
func (m *Frame) GetOffset() uint64 {
if m != nil {
return m.Offset
}
return 0
}
func (m *Frame) GetDone() bool {
if m != nil {
return m.Done
}
return false
}
func (m *Frame) GetRows() []*Row {
if m != nil {
return m.Rows
}
return nil
}
// A row is a collection of values
type Row struct {
Value []*ColumnValue `protobuf:"bytes,1,rep,name=value" json:"value,omitempty"`
}
func (m *Row) Reset() { *m = Row{} }
func (m *Row) String() string { return proto.CompactTextString(m) }
func (*Row) ProtoMessage() {}
func (*Row) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{8} }
func (m *Row) GetValue() []*ColumnValue {
if m != nil {
return m.Value
}
return nil
}
// Database property, list of functions the database provides for a certain operation
type DatabaseProperty struct {
Name string `protobuf:"bytes,1,opt,name=name" json:"name,omitempty"`
Functions []string `protobuf:"bytes,2,rep,name=functions" json:"functions,omitempty"`
}
func (m *DatabaseProperty) Reset() { *m = DatabaseProperty{} }
func (m *DatabaseProperty) String() string { return proto.CompactTextString(m) }
func (*DatabaseProperty) ProtoMessage() {}
func (*DatabaseProperty) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{9} }
func (m *DatabaseProperty) GetName() string {
if m != nil {
return m.Name
}
return ""
}
func (m *DatabaseProperty) GetFunctions() []string {
if m != nil {
return m.Functions
}
return nil
}
// Message which encapsulates another message to support a single RPC endpoint
type WireMessage struct {
Name string `protobuf:"bytes,1,opt,name=name" json:"name,omitempty"`
WrappedMessage []byte `protobuf:"bytes,2,opt,name=wrapped_message,json=wrappedMessage,proto3" json:"wrapped_message,omitempty"`
}
func (m *WireMessage) Reset() { *m = WireMessage{} }
func (m *WireMessage) String() string { return proto.CompactTextString(m) }
func (*WireMessage) ProtoMessage() {}
func (*WireMessage) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{10} }
func (m *WireMessage) GetName() string {
if m != nil {
return m.Name
}
return ""
}
func (m *WireMessage) GetWrappedMessage() []byte {
if m != nil {
return m.WrappedMessage
}
return nil
}
// A value might be a TypedValue or an Array of TypedValue's
type ColumnValue struct {
Value []*TypedValue `protobuf:"bytes,1,rep,name=value" json:"value,omitempty"`
ArrayValue []*TypedValue `protobuf:"bytes,2,rep,name=array_value,json=arrayValue" json:"array_value,omitempty"`
HasArrayValue bool `protobuf:"varint,3,opt,name=has_array_value,json=hasArrayValue" json:"has_array_value,omitempty"`
ScalarValue *TypedValue `protobuf:"bytes,4,opt,name=scalar_value,json=scalarValue" json:"scalar_value,omitempty"`
}
func (m *ColumnValue) Reset() { *m = ColumnValue{} }
func (m *ColumnValue) String() string { return proto.CompactTextString(m) }
func (*ColumnValue) ProtoMessage() {}
func (*ColumnValue) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{11} }
func (m *ColumnValue) GetValue() []*TypedValue {
if m != nil {
return m.Value
}
return nil
}
func (m *ColumnValue) GetArrayValue() []*TypedValue {
if m != nil {
return m.ArrayValue
}
return nil
}
func (m *ColumnValue) GetHasArrayValue() bool {
if m != nil {
return m.HasArrayValue
}
return false
}
func (m *ColumnValue) GetScalarValue() *TypedValue {
if m != nil {
return m.ScalarValue
}
return nil
}
// Generic wrapper to support any SQL type. Struct-like to work around no polymorphism construct.
type TypedValue struct {
Type Rep `protobuf:"varint,1,opt,name=type,enum=Rep" json:"type,omitempty"`
BoolValue bool `protobuf:"varint,2,opt,name=bool_value,json=boolValue" json:"bool_value,omitempty"`
StringValue string `protobuf:"bytes,3,opt,name=string_value,json=stringValue" json:"string_value,omitempty"`
NumberValue int64 `protobuf:"zigzag64,4,opt,name=number_value,json=numberValue" json:"number_value,omitempty"`
// includes numeric types and date/time types.
BytesValue []byte `protobuf:"bytes,5,opt,name=bytes_value,json=bytesValue,proto3" json:"bytes_value,omitempty"`
DoubleValue float64 `protobuf:"fixed64,6,opt,name=double_value,json=doubleValue" json:"double_value,omitempty"`
Null bool `protobuf:"varint,7,opt,name=null" json:"null,omitempty"`
ArrayValue []*TypedValue `protobuf:"bytes,8,rep,name=array_value,json=arrayValue" json:"array_value,omitempty"`
ComponentType Rep `protobuf:"varint,9,opt,name=component_type,json=componentType,enum=Rep" json:"component_type,omitempty"`
ImplicitlyNull bool `protobuf:"varint,10,opt,name=implicitly_null,json=implicitlyNull" json:"implicitly_null,omitempty"`
}
func (m *TypedValue) Reset() { *m = TypedValue{} }
func (m *TypedValue) String() string { return proto.CompactTextString(m) }
func (*TypedValue) ProtoMessage() {}
func (*TypedValue) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{12} }
func (m *TypedValue) GetType() Rep {
if m != nil {
return m.Type
}
return Rep_PRIMITIVE_BOOLEAN
}
func (m *TypedValue) GetBoolValue() bool {
if m != nil {
return m.BoolValue
}
return false
}
func (m *TypedValue) GetStringValue() string {
if m != nil {
return m.StringValue
}
return ""
}
func (m *TypedValue) GetNumberValue() int64 {
if m != nil {
return m.NumberValue
}
return 0
}
func (m *TypedValue) GetBytesValue() []byte {
if m != nil {
return m.BytesValue
}
return nil
}
func (m *TypedValue) GetDoubleValue() float64 {
if m != nil {
return m.DoubleValue
}
return 0
}
func (m *TypedValue) GetNull() bool {
if m != nil {
return m.Null
}
return false
}
func (m *TypedValue) GetArrayValue() []*TypedValue {
if m != nil {
return m.ArrayValue
}
return nil
}
func (m *TypedValue) GetComponentType() Rep {
if m != nil {
return m.ComponentType
}
return Rep_PRIMITIVE_BOOLEAN
}
func (m *TypedValue) GetImplicitlyNull() bool {
if m != nil {
return m.ImplicitlyNull
}
return false
}
// Represents the breadth of arguments to DatabaseMetaData functions
type MetaDataOperationArgument struct {
StringValue string `protobuf:"bytes,1,opt,name=string_value,json=stringValue" json:"string_value,omitempty"`
BoolValue bool `protobuf:"varint,2,opt,name=bool_value,json=boolValue" json:"bool_value,omitempty"`
IntValue int32 `protobuf:"zigzag32,3,opt,name=int_value,json=intValue" json:"int_value,omitempty"`
StringArrayValues []string `protobuf:"bytes,4,rep,name=string_array_values,json=stringArrayValues" json:"string_array_values,omitempty"`
IntArrayValues []int32 `protobuf:"zigzag32,5,rep,packed,name=int_array_values,json=intArrayValues" json:"int_array_values,omitempty"`
Type MetaDataOperationArgument_ArgumentType `protobuf:"varint,6,opt,name=type,enum=MetaDataOperationArgument_ArgumentType" json:"type,omitempty"`
}
func (m *MetaDataOperationArgument) Reset() { *m = MetaDataOperationArgument{} }
func (m *MetaDataOperationArgument) String() string { return proto.CompactTextString(m) }
func (*MetaDataOperationArgument) ProtoMessage() {}
func (*MetaDataOperationArgument) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{13} }
func (m *MetaDataOperationArgument) GetStringValue() string {
if m != nil {
return m.StringValue
}
return ""
}
func (m *MetaDataOperationArgument) GetBoolValue() bool {
if m != nil {
return m.BoolValue
}
return false
}
func (m *MetaDataOperationArgument) GetIntValue() int32 {
if m != nil {
return m.IntValue
}
return 0
}
func (m *MetaDataOperationArgument) GetStringArrayValues() []string {
if m != nil {
return m.StringArrayValues
}
return nil
}
func (m *MetaDataOperationArgument) GetIntArrayValues() []int32 {
if m != nil {
return m.IntArrayValues
}
return nil
}
func (m *MetaDataOperationArgument) GetType() MetaDataOperationArgument_ArgumentType {
if m != nil {
return m.Type
}
return MetaDataOperationArgument_STRING
}
type QueryState struct {
Type StateType `protobuf:"varint,1,opt,name=type,enum=StateType" json:"type,omitempty"`
Sql string `protobuf:"bytes,2,opt,name=sql" json:"sql,omitempty"`
Op MetaDataOperation `protobuf:"varint,3,opt,name=op,enum=MetaDataOperation" json:"op,omitempty"`
Args []*MetaDataOperationArgument `protobuf:"bytes,4,rep,name=args" json:"args,omitempty"`
HasArgs bool `protobuf:"varint,5,opt,name=has_args,json=hasArgs" json:"has_args,omitempty"`
HasSql bool `protobuf:"varint,6,opt,name=has_sql,json=hasSql" json:"has_sql,omitempty"`
HasOp bool `protobuf:"varint,7,opt,name=has_op,json=hasOp" json:"has_op,omitempty"`
}
func (m *QueryState) Reset() { *m = QueryState{} }
func (m *QueryState) String() string { return proto.CompactTextString(m) }
func (*QueryState) ProtoMessage() {}
func (*QueryState) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{14} }
func (m *QueryState) GetType() StateType {
if m != nil {
return m.Type
}
return StateType_SQL
}
func (m *QueryState) GetSql() string {
if m != nil {
return m.Sql
}
return ""
}
func (m *QueryState) GetOp() MetaDataOperation {
if m != nil {
return m.Op
}
return MetaDataOperation_GET_ATTRIBUTES
}
func (m *QueryState) GetArgs() []*MetaDataOperationArgument {
if m != nil {
return m.Args
}
return nil
}
func (m *QueryState) GetHasArgs() bool {
if m != nil {
return m.HasArgs
}
return false
}
func (m *QueryState) GetHasSql() bool {
if m != nil {
return m.HasSql
}
return false
}
func (m *QueryState) GetHasOp() bool {
if m != nil {
return m.HasOp
}
return false
}
func init() {
proto.RegisterType((*ConnectionProperties)(nil), "ConnectionProperties")
proto.RegisterType((*StatementHandle)(nil), "StatementHandle")
proto.RegisterType((*Signature)(nil), "Signature")
proto.RegisterType((*ColumnMetaData)(nil), "ColumnMetaData")
proto.RegisterType((*AvaticaType)(nil), "AvaticaType")
proto.RegisterType((*AvaticaParameter)(nil), "AvaticaParameter")
proto.RegisterType((*CursorFactory)(nil), "CursorFactory")
proto.RegisterType((*Frame)(nil), "Frame")
proto.RegisterType((*Row)(nil), "Row")
proto.RegisterType((*DatabaseProperty)(nil), "DatabaseProperty")
proto.RegisterType((*WireMessage)(nil), "WireMessage")
proto.RegisterType((*ColumnValue)(nil), "ColumnValue")
proto.RegisterType((*TypedValue)(nil), "TypedValue")
proto.RegisterType((*MetaDataOperationArgument)(nil), "MetaDataOperationArgument")
proto.RegisterType((*QueryState)(nil), "QueryState")
proto.RegisterEnum("StatementType", StatementType_name, StatementType_value)
proto.RegisterEnum("Rep", Rep_name, Rep_value)
proto.RegisterEnum("Severity", Severity_name, Severity_value)
proto.RegisterEnum("MetaDataOperation", MetaDataOperation_name, MetaDataOperation_value)
proto.RegisterEnum("StateType", StateType_name, StateType_value)
proto.RegisterEnum("CursorFactory_Style", CursorFactory_Style_name, CursorFactory_Style_value)
proto.RegisterEnum("MetaDataOperationArgument_ArgumentType", MetaDataOperationArgument_ArgumentType_name, MetaDataOperationArgument_ArgumentType_value)
}
func init() { proto.RegisterFile("common.proto", fileDescriptor0) }
var fileDescriptor0 = []byte{
// 2227 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x84, 0x58, 0xcb, 0x72, 0xe3, 0xc6,
0x15, 0x1d, 0xf0, 0x21, 0x11, 0x17, 0x24, 0xd5, 0x6a, 0x49, 0x33, 0x9c, 0x19, 0x3f, 0x64, 0xa6,
0x1c, 0xcb, 0x4a, 0x8a, 0xa9, 0xc8, 0xc9, 0x2a, 0x2b, 0x88, 0x6c, 0x49, 0xb0, 0x49, 0x82, 0xd3,
0x00, 0x25, 0x6b, 0x63, 0x14, 0x04, 0xb6, 0x24, 0x54, 0x81, 0x00, 0x0d, 0x80, 0x33, 0x45, 0xff,
0x45, 0xbe, 0x20, 0xa9, 0x7c, 0x44, 0xfe, 0x23, 0x8b, 0x54, 0x56, 0xd9, 0x64, 0x93, 0x6c, 0xf3,
0x07, 0xa9, 0xee, 0xc6, 0x8b, 0x9a, 0x99, 0x78, 0xa5, 0xee, 0x73, 0x4f, 0x3f, 0xee, 0xb9, 0x8f,
0x06, 0x05, 0x6d, 0x2f, 0x5a, 0x2e, 0xa3, 0x70, 0xb0, 0x8a, 0xa3, 0x34, 0xea, 0xff, 0xa5, 0x06,
0x87, 0xc3, 0x28, 0x0c, 0x99, 0x97, 0xfa, 0x51, 0x38, 0x8b, 0xa3, 0x15, 0x8b, 0x53, 0x9f, 0x25,
0xf8, 0x25, 0xb4, 0xfc, 0xc4, 0x59, 0xf8, 0x71, 0xba, 0xe9, 0x29, 0xc7, 0xca, 0x49, 0x8b, 0xee,
0xfa, 0xc9, 0x88, 0x4f, 0xf1, 0xe7, 0xa0, 0xb9, 0xeb, 0x34, 0x72, 0xf8, 0x46, 0x7e, 0xda, 0xab,
0x09, 0x2b, 0x70, 0x68, 0x28, 0x10, 0xfc, 0x4b, 0xd8, 0x7b, 0x74, 0x13, 0xa7, 0x4a, 0xda, 0x15,
0xa4, 0xce, 0xa3, 0x9b, 0xe8, 0x25, 0xef, 0x35, 0xa8, 0x31, 0x73, 0x17, 0x4e, 0x14, 0x06, 0x9b,
0x5e, 0x5d, 0x30, 0x5a, 0x1c, 0x30, 0xc3, 0x60, 0x83, 0xfb, 0xc0, 0xd9, 0x4e, 0x49, 0x68, 0x09,
0x82, 0xf6, 0xe8, 0x26, 0x34, 0xe7, 0x7c, 0x03, 0x47, 0x69, 0xec, 0x86, 0x89, 0x2b, 0x6e, 0xef,
0xf8, 0x49, 0x14, 0xb8, 0x7c, 0xd4, 0x6b, 0x1c, 0x2b, 0x27, 0x1d, 0x7a, 0x58, 0x31, 0x1a, 0xb9,
0x0d, 0xf7, 0x60, 0xd7, 0x73, 0x53, 0x37, 0x88, 0x1e, 0x7a, 0xcd, 0x63, 0xe5, 0x44, 0xa5, 0xf9,
0x14, 0x3f, 0x87, 0x9d, 0xc4, 0x7b, 0x64, 0x4b, 0xb7, 0xb7, 0x23, 0x0c, 0xd9, 0xac, 0xbf, 0x82,
0x3d, 0x2b, 0x75, 0x53, 0xb6, 0x64, 0x61, 0x7a, 0xe5, 0x86, 0x8b, 0x80, 0xe1, 0x5f, 0x40, 0xc7,
0x2b, 0x64, 0x73, 0xfc, 0x85, 0xd0, 0x48, 0xa5, 0xed, 0x12, 0x34, 0x16, 0xb8, 0x0b, 0x35, 0x7f,
0x21, 0xf4, 0xe9, 0xd0, 0x9a, 0xbf, 0xc0, 0x27, 0xa0, 0x26, 0xfe, 0x43, 0xe8, 0xa6, 0xeb, 0x98,
0x09, 0x7f, 0xb5, 0x33, 0x18, 0x58, 0x39, 0x42, 0x4b, 0x63, 0xff, 0x3f, 0x0a, 0xa8, 0x85, 0x01,
0x7f, 0x0d, 0xbb, 0x5e, 0x14, 0xac, 0x97, 0x61, 0xd2, 0x53, 0x8e, 0xeb, 0x27, 0xda, 0xd9, 0xde,
0x60, 0x28, 0xe6, 0x13, 0x96, 0xba, 0x23, 0x37, 0x75, 0x69, 0x6e, 0xc7, 0x08, 0xea, 0xc9, 0x8f,
0x81, 0x38, 0x53, 0xa5, 0x7c, 0x88, 0x7f, 0x0b, 0xb0, 0x72, 0x63, 0x77, 0xc9, 0x52, 0x16, 0x27,
0xbd, 0xba, 0x58, 0xbf, 0x3f, 0xd0, 0xdf, 0xba, 0xa9, 0xef, 0xb9, 0xb3, 0xdc, 0x42, 0x2b, 0x24,
0xfc, 0x7b, 0xe8, 0x7a, 0xeb, 0x38, 0x89, 0x62, 0xe7, 0xde, 0xf5, 0xd2, 0x28, 0xde, 0x08, 0x3d,
0xb5, 0xb3, 0xee, 0x60, 0x28, 0xe0, 0x0b, 0x89, 0xd2, 0x8e, 0x57, 0x9d, 0xe2, 0xdf, 0x41, 0x27,
0xc9, 0x65, 0xb2, 0x37, 0x2b, 0x26, 0xe4, 0xed, 0x9e, 0x75, 0x07, 0x56, 0x15, 0xa5, 0xdb, 0xa4,
0xfe, 0x1f, 0x9b, 0xd0, 0xdd, 0xf6, 0x86, 0x47, 0x28, 0x8a, 0x17, 0x7e, 0xe8, 0x06, 0x42, 0xd6,
0x0e, 0xcd, 0xa7, 0xf8, 0x4b, 0xe8, 0x8a, 0xac, 0xf2, 0x43, 0x2f, 0x16, 0x5b, 0x64, 0xd9, 0xd7,
0xe1, 0xa8, 0x91, 0x83, 0x9c, 0xe6, 0xb9, 0x09, 0x73, 0x12, 0x16, 0x26, 0x7e, 0xea, 0xbf, 0x65,
0x59, 0x76, 0x75, 0x38, 0x6a, 0xe5, 0x20, 0xfe, 0x0c, 0x20, 0x61, 0x6e, 0xec, 0x3d, 0xba, 0x77,
0x01, 0x13, 0x3e, 0xb6, 0x68, 0x05, 0xc1, 0xaf, 0xa0, 0xe5, 0xad, 0xe3, 0x98, 0x85, 0xde, 0x46,
0xf8, 0xd2, 0xa2, 0xc5, 0x9c, 0xdb, 0xc2, 0x75, 0x10, 0x88, 0x95, 0x3b, 0xe2, 0x92, 0xc5, 0x5c,
0xe4, 0x91, 0xff, 0x10, 0xb2, 0x45, 0x96, 0xf6, 0xd9, 0x0c, 0x7f, 0x01, 0xed, 0x85, 0x9f, 0xac,
0x02, 0x77, 0xe3, 0x24, 0xfe, 0x4f, 0x4c, 0x64, 0x74, 0x87, 0x6a, 0x19, 0x66, 0xf9, 0x3f, 0x31,
0x7c, 0x08, 0xcd, 0xc0, 0xbd, 0x63, 0x41, 0x4f, 0x15, 0x11, 0x94, 0x13, 0x5e, 0x71, 0x32, 0xc0,
0x4e, 0xe8, 0x2e, 0x59, 0x0f, 0x84, 0x0d, 0x24, 0x34, 0x75, 0x97, 0x8c, 0x13, 0x64, 0xae, 0x4a,
0x82, 0x26, 0x09, 0x12, 0x12, 0x84, 0x4f, 0x40, 0x5d, 0xc5, 0xcc, 0xf3, 0x13, 0x5e, 0x1d, 0x6d,
0x71, 0x6e, 0x09, 0xf0, 0x53, 0x13, 0xcf, 0x0d, 0x58, 0xaf, 0x23, 0x2c, 0x72, 0x82, 0x3f, 0x05,
0x48, 0xb9, 0x3f, 0x72, 0xcf, 0xae, 0xd8, 0x53, 0x15, 0x88, 0xd8, 0xf2, 0x0b, 0x68, 0x67, 0x85,
0x23, 0x09, 0x7b, 0x82, 0xa0, 0x65, 0x98, 0xa0, 0x6c, 0x15, 0x38, 0x7a, 0x52, 0xe0, 0xaf, 0xa0,
0xf5, 0x2e, 0xf6, 0xc5, 0x7e, 0xbd, 0x7d, 0x69, 0xcb, 0xe7, 0xf8, 0x37, 0x70, 0xb0, 0x60, 0xf7,
0x7e, 0xe8, 0xa7, 0x2c, 0xd8, 0x38, 0x05, 0x0d, 0x0b, 0x1a, 0x2e, 0x4d, 0x37, 0xf9, 0x82, 0x53,
0xd8, 0xcf, 0x14, 0xf2, 0x02, 0x37, 0x49, 0xe4, 0x8d, 0x0e, 0xc4, 0x8d, 0xf6, 0xa4, 0x61, 0xc8,
0x71, 0x71, 0xab, 0x63, 0x68, 0xa4, 0x3c, 0x3d, 0x0f, 0x45, 0x52, 0xb7, 0xf3, 0x5a, 0x10, 0xc9,
0x29, 0x2c, 0xfd, 0x3f, 0x2b, 0xa0, 0x55, 0xd0, 0xac, 0x90, 0x95, 0xa2, 0x90, 0x31, 0x34, 0xc4,
0x01, 0xb2, 0xcc, 0xc4, 0x18, 0x3f, 0x87, 0x7a, 0xcc, 0x56, 0x22, 0xd1, 0xba, 0x67, 0x8d, 0x01,
0x65, 0x2b, 0xca, 0x81, 0x6a, 0xf1, 0x36, 0x7e, 0xa6, 0x78, 0x4f, 0x41, 0xf5, 0xa2, 0xe5, 0x2a,
0x0a, 0x79, 0x62, 0x37, 0x3f, 0x70, 0xbb, 0xd2, 0xdc, 0xff, 0xbb, 0x02, 0xe8, 0x69, 0x11, 0x57,
0x12, 0x4f, 0xd9, 0x4a, 0xbc, 0xad, 0xe8, 0xd7, 0x3e, 0x1a, 0xfd, 0x7a, 0x35, 0xfa, 0x5f, 0x42,
0xb7, 0x68, 0x09, 0x8e, 0xd0, 0x4b, 0x36, 0xd5, 0x4e, 0x81, 0x0a, 0x69, 0x5e, 0x83, 0xca, 0x8d,
0x52, 0x70, 0xd9, 0x4f, 0x5b, 0x1c, 0x10, 0x4a, 0x7f, 0x0a, 0x50, 0x09, 0x87, 0x6c, 0xaa, 0xaa,
0x57, 0x04, 0x22, 0x97, 0x71, 0xb7, 0x94, 0xb1, 0xff, 0x37, 0x05, 0x3a, 0x5b, 0x5d, 0x06, 0x9f,
0x42, 0x33, 0x49, 0x37, 0x01, 0x13, 0x3e, 0x75, 0xcf, 0x0e, 0xb7, 0x9b, 0xd0, 0xc0, 0xe2, 0x36,
0x2a, 0x29, 0x4f, 0x0e, 0xac, 0x3d, 0x3d, 0xf0, 0x73, 0xd0, 0xee, 0x7d, 0x16, 0x2c, 0x84, 0x59,
0x36, 0x43, 0x95, 0x82, 0x80, 0xb8, 0x3d, 0xe9, 0xdb, 0xd0, 0x14, 0xfb, 0x61, 0x80, 0x1d, 0xf3,
0xfc, 0x5b, 0x32, 0xb4, 0xd1, 0x33, 0x3e, 0xa6, 0x64, 0x68, 0xd2, 0x11, 0x52, 0xf0, 0x11, 0xec,
0xcb, 0xb1, 0x33, 0xa3, 0x26, 0xb7, 0x1b, 0xe6, 0x14, 0xd5, 0xb0, 0x0a, 0x4d, 0x9d, 0x52, 0xfd,
0x16, 0xd5, 0x71, 0x0b, 0x1a, 0x63, 0xc3, 0xb2, 0x51, 0x03, 0xef, 0x42, 0x7d, 0xa2, 0xcf, 0x50,
0xb3, 0x3f, 0x81, 0xe6, 0x45, 0x2c, 0x73, 0x64, 0x27, 0xba, 0xbf, 0x4f, 0x58, 0x2a, 0x7c, 0x69,
0xd0, 0x6c, 0xc6, 0x85, 0x58, 0x44, 0x21, 0xcb, 0x9a, 0x99, 0x18, 0xe3, 0x1e, 0x34, 0xe2, 0xe8,
0x5d, 0xde, 0xb1, 0x1b, 0x03, 0x1a, 0xbd, 0xa3, 0x02, 0xe9, 0x7f, 0x0d, 0x75, 0x1a, 0xbd, 0xc3,
0x7d, 0x68, 0xbe, 0x75, 0x83, 0x35, 0xcb, 0xde, 0x84, 0x76, 0x96, 0x56, 0xd7, 0x1c, 0xa3, 0xd2,
0xd4, 0x1f, 0x01, 0xe2, 0x29, 0x76, 0xe7, 0x26, 0x2c, 0x7b, 0xdb, 0x37, 0x85, 0xea, 0x4a, 0x25,
0x79, 0x3f, 0x01, 0xf5, 0x7e, 0x1d, 0x8a, 0x77, 0x2b, 0xe9, 0xd5, 0x84, 0x2c, 0x25, 0xd0, 0xff,
0x16, 0xb4, 0x1b, 0x3f, 0x66, 0x13, 0x96, 0x24, 0xee, 0x03, 0xfb, 0xe0, 0x06, 0x5f, 0xc1, 0xde,
0xbb, 0xd8, 0x5d, 0xad, 0xd8, 0xc2, 0x59, 0x4a, 0x9a, 0x70, 0xa6, 0x4d, 0xbb, 0x19, 0x9c, 0x2d,
0xee, 0xff, 0x55, 0x01, 0xad, 0x72, 0x51, 0xfc, 0xc5, 0xb6, 0x17, 0xda, 0x80, 0x67, 0xd5, 0xa2,
0xea, 0x04, 0xfe, 0x35, 0x68, 0x6e, 0x1c, 0xbb, 0x1b, 0x47, 0x12, 0x6b, 0xef, 0x13, 0x41, 0xd8,
0xe5, 0x86, 0xf9, 0xc7, 0x47, 0x65, 0x45, 0xbd, 0xfc, 0xf8, 0x28, 0x79, 0x03, 0x68, 0xf3, 0x44,
0x77, 0xe3, 0x8c, 0x24, 0x9f, 0xb8, 0xad, 0x6d, 0x35, 0x49, 0x10, 0x93, 0xfe, 0xbf, 0x6b, 0x00,
0xa5, 0x8d, 0x87, 0x47, 0x14, 0x85, 0x52, 0xa9, 0x77, 0x81, 0xf0, 0x1c, 0xbc, 0x8b, 0xa2, 0xa0,
0xb8, 0x2d, 0x3f, 0x5b, 0xe5, 0x48, 0xee, 0x70, 0x3b, 0x49, 0x63, 0x3f, 0x7c, 0xa8, 0x5c, 0x4e,
0xa5, 0x9a, 0xc4, 0x0a, 0x4a, 0xb8, 0x5e, 0xde, 0xb1, 0xea, 0xd5, 0x30, 0xd5, 0x24, 0x26, 0x29,
0x9f, 0x83, 0x76, 0xb7, 0x49, 0x59, 0x92, 0x31, 0x9a, 0x42, 0x6b, 0x10, 0x50, 0xb1, 0xc7, 0x22,
0x5a, 0xf3, 0xee, 0x2d, 0x19, 0xbc, 0xf8, 0x14, 0xaa, 0x49, 0x4c, 0x52, 0x78, 0x1c, 0xd7, 0x41,
0x90, 0x3d, 0x52, 0x62, 0xfc, 0x54, 0xeb, 0xd6, 0xff, 0xd7, 0xfa, 0x57, 0xd0, 0x2d, 0x3a, 0x92,
0xec, 0x11, 0x6a, 0x45, 0x8e, 0x4e, 0x61, 0x13, 0x9d, 0xe2, 0x2b, 0xd8, 0xf3, 0x97, 0xab, 0xc0,
0xf7, 0xfc, 0x34, 0xd8, 0x38, 0xe2, 0x64, 0x10, 0x27, 0x77, 0x4b, 0x78, 0xba, 0x0e, 0x82, 0xfe,
0x7f, 0x6b, 0xf0, 0x32, 0x6f, 0x8e, 0xe6, 0x8a, 0xc5, 0xe2, 0xb3, 0x4d, 0x8f, 0x1f, 0xd6, 0xe2,
0x6d, 0x7f, 0xaa, 0x9f, 0xf2, 0xbe, 0x7e, 0x3f, 0x13, 0x81, 0xd7, 0xa0, 0xfa, 0x61, 0x5a, 0x91,
0x7f, 0x9f, 0xb6, 0xfc, 0x30, 0xcd, 0xd3, 0xe2, 0x20, 0xdb, 0xbe, 0xa2, 0x83, 0x6c, 0xdd, 0x2a,
0xdd, 0x97, 0xa6, 0x32, 0x8b, 0x12, 0x7c, 0x02, 0x88, 0x6f, 0xb6, 0x45, 0x6e, 0x1e, 0xd7, 0x4f,
0xf6, 0x69, 0xd7, 0x0f, 0xd3, 0x2a, 0xf3, 0x0f, 0x59, 0xc6, 0xec, 0x08, 0x89, 0xbe, 0x1a, 0x7c,
0xd4, 0xc5, 0x41, 0x3e, 0xa8, 0xbc, 0x48, 0x3f, 0x40, 0xbb, 0x8a, 0xf2, 0x9e, 0x64, 0xd9, 0xd4,
0x98, 0x5e, 0xa2, 0x67, 0xbc, 0xe3, 0x9c, 0x9b, 0xe6, 0x18, 0x29, 0xbc, 0xe3, 0x18, 0x53, 0x1b,
0xd5, 0xf0, 0x01, 0xec, 0x51, 0x32, 0x23, 0xba, 0x4d, 0x46, 0x4e, 0xc6, 0xab, 0x63, 0x04, 0xed,
0x02, 0xe4, 0xb4, 0x06, 0x5f, 0x39, 0x9d, 0x8f, 0xc7, 0xa8, 0xd9, 0xff, 0xa7, 0x02, 0xf0, 0x66,
0xcd, 0xe2, 0x8d, 0xf8, 0x56, 0xc3, 0x9f, 0x6d, 0x65, 0x37, 0xc8, 0x2f, 0xb8, 0xf2, 0x3a, 0x1f,
0xf8, 0xcc, 0xec, 0x43, 0x2d, 0xca, 0x5f, 0x3f, 0xfc, 0xbe, 0x6f, 0xb4, 0x16, 0xad, 0xf0, 0x00,
0x1a, 0x6e, 0xfc, 0x90, 0xbf, 0x83, 0xaf, 0x3e, 0xae, 0x00, 0x15, 0x3c, 0xfe, 0x1b, 0x44, 0x96,
0xf2, 0x43, 0x92, 0x7d, 0x7f, 0xed, 0x8a, 0x1a, 0x7e, 0x48, 0xf0, 0x0b, 0xe0, 0x43, 0x87, 0x5f,
0x62, 0x47, 0x3e, 0x75, 0x8f, 0x6e, 0x62, 0xfd, 0x18, 0xe0, 0x23, 0xe0, 0x23, 0x27, 0x5a, 0x65,
0x69, 0xdd, 0x7c, 0x74, 0x13, 0x73, 0x75, 0xfa, 0x27, 0x05, 0x3a, 0x5b, 0x9f, 0xa1, 0x42, 0x41,
0x32, 0x2e, 0x3a, 0xbc, 0x31, 0xb5, 0x08, 0xb5, 0x91, 0xc2, 0xc7, 0xf3, 0xd9, 0x48, 0xb7, 0x09,
0xaa, 0xf1, 0xf1, 0x88, 0x8c, 0x89, 0x4d, 0x50, 0x5d, 0xe2, 0x82, 0xd3, 0xe0, 0xed, 0x7e, 0x42,
0xe8, 0x25, 0x41, 0x4d, 0xdc, 0x01, 0xd5, 0xb4, 0xaf, 0x08, 0x75, 0x46, 0x93, 0x31, 0xda, 0xe1,
0xac, 0x21, 0xe5, 0x12, 0xa3, 0x5d, 0xae, 0xee, 0x88, 0x9a, 0x33, 0xd4, 0x12, 0xcf, 0xc3, 0xd8,
0x26, 0x14, 0xa9, 0x15, 0xfe, 0x68, 0x8c, 0x80, 0x73, 0x86, 0xfa, 0x78, 0x8c, 0xb4, 0xd3, 0x7f,
0xd5, 0xa1, 0x4e, 0xd9, 0x8a, 0xbf, 0x30, 0x33, 0x6a, 0x4c, 0x0c, 0xdb, 0xb8, 0x26, 0x0e, 0x8f,
0x2b, 0xd1, 0xa7, 0xe8, 0x19, 0xc6, 0xd0, 0xad, 0xc0, 0xb7, 0x36, 0x41, 0xca, 0x36, 0x36, 0xbc,
0xd2, 0xa9, 0x8c, 0x7c, 0x89, 0x59, 0x57, 0x26, 0xb5, 0x51, 0x1d, 0xef, 0x43, 0xa7, 0x04, 0x65,
0xe8, 0xb7, 0xd6, 0x8e, 0xcd, 0xe9, 0x25, 0x6a, 0x6e, 0xaf, 0xbd, 0x18, 0x9b, 0xba, 0x8d, 0x76,
0xf0, 0x21, 0xa0, 0x12, 0x1c, 0x99, 0xf3, 0xf3, 0x31, 0xf7, 0x4d, 0x83, 0xdd, 0xfc, 0x6e, 0x2d,
0x91, 0x80, 0xfc, 0x46, 0xc2, 0x3b, 0x7e, 0x0f, 0x7d, 0xc8, 0x9d, 0x05, 0xee, 0xb7, 0xbc, 0x82,
0xc6, 0x17, 0x18, 0x53, 0x9b, 0x5c, 0x12, 0x8a, 0xda, 0xe2, 0x8d, 0xe4, 0x47, 0x76, 0x38, 0x43,
0x1e, 0xd4, 0x15, 0x62, 0xcb, 0xed, 0xf7, 0xf0, 0x1e, 0x68, 0xe7, 0xc6, 0xa5, 0x93, 0xaf, 0x78,
0x99, 0x03, 0x23, 0x32, 0x34, 0x26, 0xfa, 0x18, 0xbd, 0xe2, 0x2e, 0x7d, 0xab, 0x5f, 0xeb, 0x8e,
0xf5, 0x66, 0xec, 0xd8, 0xc6, 0x84, 0x20, 0x84, 0x9f, 0x03, 0xde, 0x82, 0x2c, 0x5b, 0x9f, 0xcc,
0xd0, 0xfe, 0x16, 0x55, 0x04, 0x16, 0x73, 0xef, 0x05, 0x34, 0xb7, 0x8d, 0x0c, 0x3b, 0x10, 0x47,
0xdc, 0xda, 0x24, 0xaf, 0x97, 0xc3, 0x4a, 0x8d, 0x1d, 0xf1, 0xf1, 0x74, 0x3e, 0x39, 0x27, 0x14,
0x3d, 0xaf, 0x7c, 0x1b, 0xbc, 0x28, 0x2a, 0xa8, 0x57, 0x7e, 0x02, 0xbc, 0xce, 0x16, 0xce, 0x87,
0x36, 0xfa, 0x04, 0xb7, 0xa1, 0x35, 0x99, 0x8f, 0x6d, 0xc3, 0x22, 0x36, 0xfa, 0xf4, 0xf4, 0x07,
0x68, 0x59, 0xec, 0x2d, 0x8b, 0xfd, 0x74, 0xc3, 0x85, 0x9d, 0x4f, 0xbf, 0x9b, 0x9a, 0x37, 0x53,
0xc7, 0x22, 0xd7, 0x84, 0x1a, 0xf6, 0xad, 0x8c, 0xf3, 0x85, 0x6e, 0xeb, 0xe3, 0x12, 0x13, 0x71,
0x26, 0x94, 0x9a, 0xb4, 0xc4, 0x6a, 0x7c, 0xf5, 0x8d, 0x4e, 0xa7, 0xc6, 0xf4, 0xb2, 0x44, 0xeb,
0xa7, 0xff, 0x68, 0xc0, 0xfe, 0x7b, 0x55, 0xc5, 0xd7, 0x5f, 0x12, 0xdb, 0xd1, 0x6d, 0x9b, 0x1a,
0xe7, 0x73, 0x9b, 0x58, 0xe8, 0x19, 0x7e, 0x0d, 0x2f, 0x38, 0x76, 0x4e, 0x2c, 0xdb, 0xa1, 0xe6,
0x8d, 0x63, 0x8c, 0xc8, 0xd4, 0x36, 0x2e, 0x0c, 0x42, 0x91, 0xc2, 0x3b, 0x05, 0x37, 0x0e, 0xf9,
0x45, 0xcc, 0x4b, 0x0b, 0xd5, 0xf0, 0x67, 0xf0, 0x4a, 0x20, 0x63, 0x83, 0x4c, 0x6d, 0xc7, 0x98,
0x5e, 0x98, 0xfc, 0x03, 0x68, 0x46, 0xa8, 0x6d, 0x10, 0x0b, 0xd5, 0xf1, 0x4b, 0x38, 0x12, 0x76,
0x73, 0x3c, 0x9f, 0x4c, 0x9d, 0x19, 0x35, 0xae, 0x8d, 0x31, 0xb9, 0x24, 0x16, 0x6a, 0x70, 0x5d,
0x4b, 0x93, 0x85, 0x9a, 0xf8, 0x05, 0x1c, 0x08, 0x80, 0x9a, 0x96, 0xe5, 0x50, 0x72, 0x41, 0x28,
0x99, 0x0e, 0x09, 0xda, 0xe1, 0xa9, 0xcf, 0x0d, 0xe4, 0xfb, 0x99, 0x49, 0x79, 0x93, 0xfa, 0x8e,
0xdc, 0x5a, 0x68, 0x17, 0xf7, 0xe0, 0x90, 0xc3, 0x17, 0xf3, 0xa9, 0xf8, 0xdc, 0x2a, 0x76, 0x6a,
0xf1, 0xc8, 0x56, 0x2d, 0x16, 0x52, 0xf3, 0x3d, 0x8c, 0x49, 0x75, 0x0f, 0xc8, 0x25, 0x30, 0xa6,
0x23, 0xf2, 0xbd, 0xb8, 0x3e, 0xd2, 0xb8, 0x84, 0x1c, 0xe3, 0xd9, 0xad, 0xd3, 0x5b, 0xc9, 0x6c,
0xe7, 0x9e, 0xcc, 0xa8, 0x39, 0x24, 0xa3, 0x39, 0x25, 0xc5, 0x71, 0x9d, 0x7c, 0x93, 0xc2, 0x64,
0xa1, 0x2e, 0x4f, 0x3a, 0x81, 0x59, 0x64, 0x3e, 0x32, 0x0b, 0xee, 0x5e, 0xee, 0xb5, 0x35, 0xbc,
0x22, 0x13, 0xdd, 0x42, 0x28, 0xdf, 0x37, 0x03, 0x9c, 0x1b, 0xc3, 0xbe, 0x72, 0x74, 0x7a, 0x69,
0xa1, 0xfd, 0xfc, 0x22, 0xd6, 0x7c, 0x46, 0xa8, 0x63, 0xeb, 0xe7, 0x63, 0x62, 0x21, 0xcc, 0xab,
0xb1, 0x82, 0xde, 0xce, 0x88, 0x85, 0x0e, 0x72, 0x2d, 0x04, 0xa9, 0x2a, 0xf3, 0x21, 0xee, 0x02,
0x14, 0x16, 0x0b, 0x1d, 0xe5, 0xcb, 0x25, 0x53, 0x2e, 0x7f, 0x9e, 0x0b, 0xc6, 0xa7, 0x52, 0x85,
0x17, 0x3c, 0x41, 0x39, 0x34, 0x1f, 0xd9, 0x16, 0xea, 0xe5, 0xb1, 0xb9, 0x26, 0xd4, 0xaa, 0x4a,
0xfd, 0xf2, 0xb4, 0x0f, 0x6a, 0xf1, 0x08, 0xf0, 0x77, 0xc6, 0x7a, 0x33, 0x46, 0xcf, 0x44, 0x76,
0x13, 0x5b, 0x1f, 0xe9, 0xb6, 0x8e, 0x94, 0xf3, 0x3e, 0x1c, 0x47, 0xf1, 0xc3, 0xc0, 0x5d, 0xb9,
0xde, 0x23, 0x1b, 0x78, 0x6e, 0xe0, 0xf9, 0x29, 0x1b, 0xb8, 0xf2, 0x57, 0x8a, 0xfc, 0x87, 0xd3,
0xdd, 0x8e, 0xf8, 0xf3, 0xcd, 0xff, 0x02, 0x00, 0x00, 0xff, 0xff, 0x6b, 0x7a, 0x20, 0xe9, 0x87,
0x12, 0x00, 0x00,
}