// This C++ source file was generated by the TTCN-3 compiler
// of the TTCN-3 Test Executor version CRL 113 200/6 R6A
// for Lénárd Nagy (elnrnag@elx78355y6x) on Thu Oct 24 10:29:40 2019

// Copyright (c) 2000-2019 Ericsson Telecom AB

// Do not edit this file unless you know what you are doing.

/* Including header files */

#include "CAN_matrix_general_types.hh"

namespace CAN__matrix__general__types {

/* Literal string constants */

static const unsigned char module_checksum[] = { 0x62, 0x28, 0x4b, 0x2b, 0xf8, 0x3b, 0x33, 0xae, 0x48, 0x23, 0x0e, 0xdf, 0x90, 0x75, 0xec, 0x9e };

/* Global variable definitions */

const TTCN_RAWdescriptor_t INT1_raw_ = {8,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_LSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,-1,CharCoding::UNKNOWN,NULL,false};
const XERdescriptor_t       INT1_xer_ = { {"INT1>\n", "INT1>\n"}, {6, 6}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE,  NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
const TTCN_OERdescriptor_t INT1_oer_ = { -1, FALSE, -1, FALSE, 0, 0, NULL, 0, NULL };
const TTCN_Typedescriptor_t INT1_descr_ = { "@CAN_matrix_general_types.INT1", &INTEGER_ber_, &INT1_raw_, &INTEGER_text_, &INT1_xer_, &INTEGER_json_, &INT1_oer_, NULL, TTCN_Typedescriptor_t::DONTCARE };
const TTCN_RAWdescriptor_t INT2_raw_ = {16,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_LSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,-1,CharCoding::UNKNOWN,NULL,false};
const XERdescriptor_t       INT2_xer_ = { {"INT2>\n", "INT2>\n"}, {6, 6}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE,  NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
const TTCN_OERdescriptor_t INT2_oer_ = { -1, FALSE, -1, FALSE, 0, 0, NULL, 0, NULL };
const TTCN_Typedescriptor_t INT2_descr_ = { "@CAN_matrix_general_types.INT2", &INTEGER_ber_, &INT2_raw_, &INTEGER_text_, &INT2_xer_, &INTEGER_json_, &INT2_oer_, NULL, TTCN_Typedescriptor_t::DONTCARE };
const TTCN_RAWdescriptor_t INT3_raw_ = {24,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_LSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,-1,CharCoding::UNKNOWN,NULL,false};
const XERdescriptor_t       INT3_xer_ = { {"INT3>\n", "INT3>\n"}, {6, 6}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE,  NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
const TTCN_OERdescriptor_t INT3_oer_ = { -1, FALSE, -1, FALSE, 0, 0, NULL, 0, NULL };
const TTCN_Typedescriptor_t INT3_descr_ = { "@CAN_matrix_general_types.INT3", &INTEGER_ber_, &INT3_raw_, &INTEGER_text_, &INT3_xer_, &INTEGER_json_, &INT3_oer_, NULL, TTCN_Typedescriptor_t::DONTCARE };
const TTCN_RAWdescriptor_t INT4_raw_ = {32,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_LSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,-1,CharCoding::UNKNOWN,NULL,false};
const XERdescriptor_t       INT4_xer_ = { {"INT4>\n", "INT4>\n"}, {6, 6}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE,  NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
const TTCN_OERdescriptor_t INT4_oer_ = { -1, FALSE, -1, FALSE, 0, 0, NULL, 0, NULL };
const TTCN_Typedescriptor_t INT4_descr_ = { "@CAN_matrix_general_types.INT4", &INTEGER_ber_, &INT4_raw_, &INTEGER_text_, &INT4_xer_, &INTEGER_json_, &INT4_oer_, NULL, TTCN_Typedescriptor_t::DONTCARE };
const TTCN_RAWdescriptor_t INT__BIT1__MSB_raw_ = {1,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_MSB,EXT_BIT_NO,ORDER_LSB,ORDER_LSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,-1,CharCoding::UNKNOWN,NULL,false};
const XERdescriptor_t       INT__BIT1__MSB_xer_ = { {"INT_BIT1_MSB>\n", "INT_BIT1_MSB>\n"}, {14, 14}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE,  NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
const TTCN_OERdescriptor_t INT__BIT1__MSB_oer_ = { -1, FALSE, -1, FALSE, 0, 0, NULL, 0, NULL };
const TTCN_Typedescriptor_t INT__BIT1__MSB_descr_ = { "@CAN_matrix_general_types.INT_BIT1_MSB", &INTEGER_ber_, &INT__BIT1__MSB_raw_, &INTEGER_text_, &INT__BIT1__MSB_xer_, &INTEGER_json_, &INT__BIT1__MSB_oer_, NULL, TTCN_Typedescriptor_t::DONTCARE };
const TTCN_RAWdescriptor_t INT__BIT2__MSB_raw_ = {2,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_MSB,EXT_BIT_NO,ORDER_LSB,ORDER_LSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,-1,CharCoding::UNKNOWN,NULL,false};
const XERdescriptor_t       INT__BIT2__MSB_xer_ = { {"INT_BIT2_MSB>\n", "INT_BIT2_MSB>\n"}, {14, 14}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE,  NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
const TTCN_OERdescriptor_t INT__BIT2__MSB_oer_ = { -1, FALSE, -1, FALSE, 0, 0, NULL, 0, NULL };
const TTCN_Typedescriptor_t INT__BIT2__MSB_descr_ = { "@CAN_matrix_general_types.INT_BIT2_MSB", &INTEGER_ber_, &INT__BIT2__MSB_raw_, &INTEGER_text_, &INT__BIT2__MSB_xer_, &INTEGER_json_, &INT__BIT2__MSB_oer_, NULL, TTCN_Typedescriptor_t::DONTCARE };
const TTCN_RAWdescriptor_t INT__BIT3__MSB_raw_ = {3,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_MSB,EXT_BIT_NO,ORDER_LSB,ORDER_LSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,-1,CharCoding::UNKNOWN,NULL,false};
const XERdescriptor_t       INT__BIT3__MSB_xer_ = { {"INT_BIT3_MSB>\n", "INT_BIT3_MSB>\n"}, {14, 14}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE,  NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
const TTCN_OERdescriptor_t INT__BIT3__MSB_oer_ = { -1, FALSE, -1, FALSE, 0, 0, NULL, 0, NULL };
const TTCN_Typedescriptor_t INT__BIT3__MSB_descr_ = { "@CAN_matrix_general_types.INT_BIT3_MSB", &INTEGER_ber_, &INT__BIT3__MSB_raw_, &INTEGER_text_, &INT__BIT3__MSB_xer_, &INTEGER_json_, &INT__BIT3__MSB_oer_, NULL, TTCN_Typedescriptor_t::DONTCARE };
const TTCN_RAWdescriptor_t INT__BIT4__MSB_raw_ = {4,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_MSB,EXT_BIT_NO,ORDER_LSB,ORDER_LSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,-1,CharCoding::UNKNOWN,NULL,false};
const XERdescriptor_t       INT__BIT4__MSB_xer_ = { {"INT_BIT4_MSB>\n", "INT_BIT4_MSB>\n"}, {14, 14}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE,  NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
const TTCN_OERdescriptor_t INT__BIT4__MSB_oer_ = { -1, FALSE, -1, FALSE, 0, 0, NULL, 0, NULL };
const TTCN_Typedescriptor_t INT__BIT4__MSB_descr_ = { "@CAN_matrix_general_types.INT_BIT4_MSB", &INTEGER_ber_, &INT__BIT4__MSB_raw_, &INTEGER_text_, &INT__BIT4__MSB_xer_, &INTEGER_json_, &INT__BIT4__MSB_oer_, NULL, TTCN_Typedescriptor_t::DONTCARE };
const TTCN_RAWdescriptor_t INT__BIT5__MSB_raw_ = {5,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_MSB,EXT_BIT_NO,ORDER_LSB,ORDER_LSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,-1,CharCoding::UNKNOWN,NULL,false};
const XERdescriptor_t       INT__BIT5__MSB_xer_ = { {"INT_BIT5_MSB>\n", "INT_BIT5_MSB>\n"}, {14, 14}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE,  NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
const TTCN_OERdescriptor_t INT__BIT5__MSB_oer_ = { -1, FALSE, -1, FALSE, 0, 0, NULL, 0, NULL };
const TTCN_Typedescriptor_t INT__BIT5__MSB_descr_ = { "@CAN_matrix_general_types.INT_BIT5_MSB", &INTEGER_ber_, &INT__BIT5__MSB_raw_, &INTEGER_text_, &INT__BIT5__MSB_xer_, &INTEGER_json_, &INT__BIT5__MSB_oer_, NULL, TTCN_Typedescriptor_t::DONTCARE };
const TTCN_RAWdescriptor_t INT__BIT6__MSB_raw_ = {6,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_MSB,EXT_BIT_NO,ORDER_LSB,ORDER_LSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,-1,CharCoding::UNKNOWN,NULL,false};
const XERdescriptor_t       INT__BIT6__MSB_xer_ = { {"INT_BIT6_MSB>\n", "INT_BIT6_MSB>\n"}, {14, 14}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE,  NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
const TTCN_OERdescriptor_t INT__BIT6__MSB_oer_ = { -1, FALSE, -1, FALSE, 0, 0, NULL, 0, NULL };
const TTCN_Typedescriptor_t INT__BIT6__MSB_descr_ = { "@CAN_matrix_general_types.INT_BIT6_MSB", &INTEGER_ber_, &INT__BIT6__MSB_raw_, &INTEGER_text_, &INT__BIT6__MSB_xer_, &INTEGER_json_, &INT__BIT6__MSB_oer_, NULL, TTCN_Typedescriptor_t::DONTCARE };
const TTCN_RAWdescriptor_t INT__BIT7__MSB_raw_ = {7,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_MSB,EXT_BIT_NO,ORDER_LSB,ORDER_LSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,-1,CharCoding::UNKNOWN,NULL,false};
const XERdescriptor_t       INT__BIT7__MSB_xer_ = { {"INT_BIT7_MSB>\n", "INT_BIT7_MSB>\n"}, {14, 14}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE,  NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
const TTCN_OERdescriptor_t INT__BIT7__MSB_oer_ = { -1, FALSE, -1, FALSE, 0, 0, NULL, 0, NULL };
const TTCN_Typedescriptor_t INT__BIT7__MSB_descr_ = { "@CAN_matrix_general_types.INT_BIT7_MSB", &INTEGER_ber_, &INT__BIT7__MSB_raw_, &INTEGER_text_, &INT__BIT7__MSB_xer_, &INTEGER_json_, &INT__BIT7__MSB_oer_, NULL, TTCN_Typedescriptor_t::DONTCARE };
const TTCN_RAWdescriptor_t INT__BIT8__MSB_raw_ = {8,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_MSB,EXT_BIT_NO,ORDER_LSB,ORDER_LSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,-1,CharCoding::UNKNOWN,NULL,false};
const XERdescriptor_t       INT__BIT8__MSB_xer_ = { {"INT_BIT8_MSB>\n", "INT_BIT8_MSB>\n"}, {14, 14}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE,  NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
const TTCN_OERdescriptor_t INT__BIT8__MSB_oer_ = { -1, FALSE, -1, FALSE, 0, 0, NULL, 0, NULL };
const TTCN_Typedescriptor_t INT__BIT8__MSB_descr_ = { "@CAN_matrix_general_types.INT_BIT8_MSB", &INTEGER_ber_, &INT__BIT8__MSB_raw_, &INTEGER_text_, &INT__BIT8__MSB_xer_, &INTEGER_json_, &INT__BIT8__MSB_oer_, NULL, TTCN_Typedescriptor_t::DONTCARE };
const TTCN_RAWdescriptor_t INT__BIT9__MSB_raw_ = {9,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_MSB,EXT_BIT_NO,ORDER_LSB,ORDER_LSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,-1,CharCoding::UNKNOWN,NULL,false};
const XERdescriptor_t       INT__BIT9__MSB_xer_ = { {"INT_BIT9_MSB>\n", "INT_BIT9_MSB>\n"}, {14, 14}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE,  NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
const TTCN_OERdescriptor_t INT__BIT9__MSB_oer_ = { -1, FALSE, -1, FALSE, 0, 0, NULL, 0, NULL };
const TTCN_Typedescriptor_t INT__BIT9__MSB_descr_ = { "@CAN_matrix_general_types.INT_BIT9_MSB", &INTEGER_ber_, &INT__BIT9__MSB_raw_, &INTEGER_text_, &INT__BIT9__MSB_xer_, &INTEGER_json_, &INT__BIT9__MSB_oer_, NULL, TTCN_Typedescriptor_t::DONTCARE };
const TTCN_RAWdescriptor_t INT__BIT10__MSB_raw_ = {10,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_MSB,EXT_BIT_NO,ORDER_LSB,ORDER_LSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,-1,CharCoding::UNKNOWN,NULL,false};
const XERdescriptor_t       INT__BIT10__MSB_xer_ = { {"INT_BIT10_MSB>\n", "INT_BIT10_MSB>\n"}, {15, 15}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE,  NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
const TTCN_OERdescriptor_t INT__BIT10__MSB_oer_ = { -1, FALSE, -1, FALSE, 0, 0, NULL, 0, NULL };
const TTCN_Typedescriptor_t INT__BIT10__MSB_descr_ = { "@CAN_matrix_general_types.INT_BIT10_MSB", &INTEGER_ber_, &INT__BIT10__MSB_raw_, &INTEGER_text_, &INT__BIT10__MSB_xer_, &INTEGER_json_, &INT__BIT10__MSB_oer_, NULL, TTCN_Typedescriptor_t::DONTCARE };
const TTCN_RAWdescriptor_t INT__BIT11__MSB_raw_ = {11,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_MSB,EXT_BIT_NO,ORDER_LSB,ORDER_LSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,-1,CharCoding::UNKNOWN,NULL,false};
const XERdescriptor_t       INT__BIT11__MSB_xer_ = { {"INT_BIT11_MSB>\n", "INT_BIT11_MSB>\n"}, {15, 15}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE,  NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
const TTCN_OERdescriptor_t INT__BIT11__MSB_oer_ = { -1, FALSE, -1, FALSE, 0, 0, NULL, 0, NULL };
const TTCN_Typedescriptor_t INT__BIT11__MSB_descr_ = { "@CAN_matrix_general_types.INT_BIT11_MSB", &INTEGER_ber_, &INT__BIT11__MSB_raw_, &INTEGER_text_, &INT__BIT11__MSB_xer_, &INTEGER_json_, &INT__BIT11__MSB_oer_, NULL, TTCN_Typedescriptor_t::DONTCARE };
const TTCN_RAWdescriptor_t INT__BIT12__MSB_raw_ = {12,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_MSB,EXT_BIT_NO,ORDER_LSB,ORDER_LSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,-1,CharCoding::UNKNOWN,NULL,false};
const XERdescriptor_t       INT__BIT12__MSB_xer_ = { {"INT_BIT12_MSB>\n", "INT_BIT12_MSB>\n"}, {15, 15}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE,  NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
const TTCN_OERdescriptor_t INT__BIT12__MSB_oer_ = { -1, FALSE, -1, FALSE, 0, 0, NULL, 0, NULL };
const TTCN_Typedescriptor_t INT__BIT12__MSB_descr_ = { "@CAN_matrix_general_types.INT_BIT12_MSB", &INTEGER_ber_, &INT__BIT12__MSB_raw_, &INTEGER_text_, &INT__BIT12__MSB_xer_, &INTEGER_json_, &INT__BIT12__MSB_oer_, NULL, TTCN_Typedescriptor_t::DONTCARE };
const TTCN_RAWdescriptor_t INT__BIT13__MSB_raw_ = {13,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_MSB,EXT_BIT_NO,ORDER_LSB,ORDER_LSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,-1,CharCoding::UNKNOWN,NULL,false};
const XERdescriptor_t       INT__BIT13__MSB_xer_ = { {"INT_BIT13_MSB>\n", "INT_BIT13_MSB>\n"}, {15, 15}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE,  NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
const TTCN_OERdescriptor_t INT__BIT13__MSB_oer_ = { -1, FALSE, -1, FALSE, 0, 0, NULL, 0, NULL };
const TTCN_Typedescriptor_t INT__BIT13__MSB_descr_ = { "@CAN_matrix_general_types.INT_BIT13_MSB", &INTEGER_ber_, &INT__BIT13__MSB_raw_, &INTEGER_text_, &INT__BIT13__MSB_xer_, &INTEGER_json_, &INT__BIT13__MSB_oer_, NULL, TTCN_Typedescriptor_t::DONTCARE };
const TTCN_RAWdescriptor_t INT__BIT14__MSB_raw_ = {14,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_MSB,EXT_BIT_NO,ORDER_LSB,ORDER_LSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,-1,CharCoding::UNKNOWN,NULL,false};
const XERdescriptor_t       INT__BIT14__MSB_xer_ = { {"INT_BIT14_MSB>\n", "INT_BIT14_MSB>\n"}, {15, 15}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE,  NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
const TTCN_OERdescriptor_t INT__BIT14__MSB_oer_ = { -1, FALSE, -1, FALSE, 0, 0, NULL, 0, NULL };
const TTCN_Typedescriptor_t INT__BIT14__MSB_descr_ = { "@CAN_matrix_general_types.INT_BIT14_MSB", &INTEGER_ber_, &INT__BIT14__MSB_raw_, &INTEGER_text_, &INT__BIT14__MSB_xer_, &INTEGER_json_, &INT__BIT14__MSB_oer_, NULL, TTCN_Typedescriptor_t::DONTCARE };
const TTCN_RAWdescriptor_t INT__BIT15__MSB_raw_ = {15,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_MSB,EXT_BIT_NO,ORDER_LSB,ORDER_LSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,-1,CharCoding::UNKNOWN,NULL,false};
const XERdescriptor_t       INT__BIT15__MSB_xer_ = { {"INT_BIT15_MSB>\n", "INT_BIT15_MSB>\n"}, {15, 15}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE,  NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
const TTCN_OERdescriptor_t INT__BIT15__MSB_oer_ = { -1, FALSE, -1, FALSE, 0, 0, NULL, 0, NULL };
const TTCN_Typedescriptor_t INT__BIT15__MSB_descr_ = { "@CAN_matrix_general_types.INT_BIT15_MSB", &INTEGER_ber_, &INT__BIT15__MSB_raw_, &INTEGER_text_, &INT__BIT15__MSB_xer_, &INTEGER_json_, &INT__BIT15__MSB_oer_, NULL, TTCN_Typedescriptor_t::DONTCARE };
const TTCN_RAWdescriptor_t INT__BIT16__MSB_raw_ = {16,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_MSB,EXT_BIT_NO,ORDER_LSB,ORDER_LSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,-1,CharCoding::UNKNOWN,NULL,false};
const XERdescriptor_t       INT__BIT16__MSB_xer_ = { {"INT_BIT16_MSB>\n", "INT_BIT16_MSB>\n"}, {15, 15}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE,  NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
const TTCN_OERdescriptor_t INT__BIT16__MSB_oer_ = { -1, FALSE, -1, FALSE, 0, 0, NULL, 0, NULL };
const TTCN_Typedescriptor_t INT__BIT16__MSB_descr_ = { "@CAN_matrix_general_types.INT_BIT16_MSB", &INTEGER_ber_, &INT__BIT16__MSB_raw_, &INTEGER_text_, &INT__BIT16__MSB_xer_, &INTEGER_json_, &INT__BIT16__MSB_oer_, NULL, TTCN_Typedescriptor_t::DONTCARE };
const TTCN_RAWdescriptor_t INT__BIT17__MSB_raw_ = {17,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_MSB,EXT_BIT_NO,ORDER_LSB,ORDER_LSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,-1,CharCoding::UNKNOWN,NULL,false};
const XERdescriptor_t       INT__BIT17__MSB_xer_ = { {"INT_BIT17_MSB>\n", "INT_BIT17_MSB>\n"}, {15, 15}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE,  NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
const TTCN_OERdescriptor_t INT__BIT17__MSB_oer_ = { -1, FALSE, -1, FALSE, 0, 0, NULL, 0, NULL };
const TTCN_Typedescriptor_t INT__BIT17__MSB_descr_ = { "@CAN_matrix_general_types.INT_BIT17_MSB", &INTEGER_ber_, &INT__BIT17__MSB_raw_, &INTEGER_text_, &INT__BIT17__MSB_xer_, &INTEGER_json_, &INT__BIT17__MSB_oer_, NULL, TTCN_Typedescriptor_t::DONTCARE };
const TTCN_RAWdescriptor_t INT__BIT18__MSB_raw_ = {18,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_MSB,EXT_BIT_NO,ORDER_LSB,ORDER_LSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,-1,CharCoding::UNKNOWN,NULL,false};
const XERdescriptor_t       INT__BIT18__MSB_xer_ = { {"INT_BIT18_MSB>\n", "INT_BIT18_MSB>\n"}, {15, 15}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE,  NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
const TTCN_OERdescriptor_t INT__BIT18__MSB_oer_ = { -1, FALSE, -1, FALSE, 0, 0, NULL, 0, NULL };
const TTCN_Typedescriptor_t INT__BIT18__MSB_descr_ = { "@CAN_matrix_general_types.INT_BIT18_MSB", &INTEGER_ber_, &INT__BIT18__MSB_raw_, &INTEGER_text_, &INT__BIT18__MSB_xer_, &INTEGER_json_, &INT__BIT18__MSB_oer_, NULL, TTCN_Typedescriptor_t::DONTCARE };
const TTCN_RAWdescriptor_t INT__BIT19__MSB_raw_ = {19,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_MSB,EXT_BIT_NO,ORDER_LSB,ORDER_LSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,-1,CharCoding::UNKNOWN,NULL,false};
const XERdescriptor_t       INT__BIT19__MSB_xer_ = { {"INT_BIT19_MSB>\n", "INT_BIT19_MSB>\n"}, {15, 15}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE,  NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
const TTCN_OERdescriptor_t INT__BIT19__MSB_oer_ = { -1, FALSE, -1, FALSE, 0, 0, NULL, 0, NULL };
const TTCN_Typedescriptor_t INT__BIT19__MSB_descr_ = { "@CAN_matrix_general_types.INT_BIT19_MSB", &INTEGER_ber_, &INT__BIT19__MSB_raw_, &INTEGER_text_, &INT__BIT19__MSB_xer_, &INTEGER_json_, &INT__BIT19__MSB_oer_, NULL, TTCN_Typedescriptor_t::DONTCARE };
const TTCN_RAWdescriptor_t INT__BIT20__MSB_raw_ = {20,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_MSB,EXT_BIT_NO,ORDER_LSB,ORDER_LSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,-1,CharCoding::UNKNOWN,NULL,false};
const XERdescriptor_t       INT__BIT20__MSB_xer_ = { {"INT_BIT20_MSB>\n", "INT_BIT20_MSB>\n"}, {15, 15}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE,  NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
const TTCN_OERdescriptor_t INT__BIT20__MSB_oer_ = { -1, FALSE, -1, FALSE, 0, 0, NULL, 0, NULL };
const TTCN_Typedescriptor_t INT__BIT20__MSB_descr_ = { "@CAN_matrix_general_types.INT_BIT20_MSB", &INTEGER_ber_, &INT__BIT20__MSB_raw_, &INTEGER_text_, &INT__BIT20__MSB_xer_, &INTEGER_json_, &INT__BIT20__MSB_oer_, NULL, TTCN_Typedescriptor_t::DONTCARE };
const TTCN_RAWdescriptor_t INT__BIT21__MSB_raw_ = {21,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_MSB,EXT_BIT_NO,ORDER_LSB,ORDER_LSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,-1,CharCoding::UNKNOWN,NULL,false};
const XERdescriptor_t       INT__BIT21__MSB_xer_ = { {"INT_BIT21_MSB>\n", "INT_BIT21_MSB>\n"}, {15, 15}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE,  NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
const TTCN_OERdescriptor_t INT__BIT21__MSB_oer_ = { -1, FALSE, -1, FALSE, 0, 0, NULL, 0, NULL };
const TTCN_Typedescriptor_t INT__BIT21__MSB_descr_ = { "@CAN_matrix_general_types.INT_BIT21_MSB", &INTEGER_ber_, &INT__BIT21__MSB_raw_, &INTEGER_text_, &INT__BIT21__MSB_xer_, &INTEGER_json_, &INT__BIT21__MSB_oer_, NULL, TTCN_Typedescriptor_t::DONTCARE };
const TTCN_RAWdescriptor_t INT__BIT22__MSB_raw_ = {22,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_MSB,EXT_BIT_NO,ORDER_LSB,ORDER_LSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,-1,CharCoding::UNKNOWN,NULL,false};
const XERdescriptor_t       INT__BIT22__MSB_xer_ = { {"INT_BIT22_MSB>\n", "INT_BIT22_MSB>\n"}, {15, 15}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE,  NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
const TTCN_OERdescriptor_t INT__BIT22__MSB_oer_ = { -1, FALSE, -1, FALSE, 0, 0, NULL, 0, NULL };
const TTCN_Typedescriptor_t INT__BIT22__MSB_descr_ = { "@CAN_matrix_general_types.INT_BIT22_MSB", &INTEGER_ber_, &INT__BIT22__MSB_raw_, &INTEGER_text_, &INT__BIT22__MSB_xer_, &INTEGER_json_, &INT__BIT22__MSB_oer_, NULL, TTCN_Typedescriptor_t::DONTCARE };
const TTCN_RAWdescriptor_t INT__BIT23__MSB_raw_ = {23,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_MSB,EXT_BIT_NO,ORDER_LSB,ORDER_LSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,-1,CharCoding::UNKNOWN,NULL,false};
const XERdescriptor_t       INT__BIT23__MSB_xer_ = { {"INT_BIT23_MSB>\n", "INT_BIT23_MSB>\n"}, {15, 15}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE,  NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
const TTCN_OERdescriptor_t INT__BIT23__MSB_oer_ = { -1, FALSE, -1, FALSE, 0, 0, NULL, 0, NULL };
const TTCN_Typedescriptor_t INT__BIT23__MSB_descr_ = { "@CAN_matrix_general_types.INT_BIT23_MSB", &INTEGER_ber_, &INT__BIT23__MSB_raw_, &INTEGER_text_, &INT__BIT23__MSB_xer_, &INTEGER_json_, &INT__BIT23__MSB_oer_, NULL, TTCN_Typedescriptor_t::DONTCARE };
const TTCN_RAWdescriptor_t INT__BIT24__MSB_raw_ = {24,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_MSB,EXT_BIT_NO,ORDER_LSB,ORDER_LSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,-1,CharCoding::UNKNOWN,NULL,false};
const XERdescriptor_t       INT__BIT24__MSB_xer_ = { {"INT_BIT24_MSB>\n", "INT_BIT24_MSB>\n"}, {15, 15}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE,  NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
const TTCN_OERdescriptor_t INT__BIT24__MSB_oer_ = { -1, FALSE, -1, FALSE, 0, 0, NULL, 0, NULL };
const TTCN_Typedescriptor_t INT__BIT24__MSB_descr_ = { "@CAN_matrix_general_types.INT_BIT24_MSB", &INTEGER_ber_, &INT__BIT24__MSB_raw_, &INTEGER_text_, &INT__BIT24__MSB_xer_, &INTEGER_json_, &INT__BIT24__MSB_oer_, NULL, TTCN_Typedescriptor_t::DONTCARE };
const TTCN_RAWdescriptor_t INT__BIT25__MSB_raw_ = {25,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_MSB,EXT_BIT_NO,ORDER_LSB,ORDER_LSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,-1,CharCoding::UNKNOWN,NULL,false};
const XERdescriptor_t       INT__BIT25__MSB_xer_ = { {"INT_BIT25_MSB>\n", "INT_BIT25_MSB>\n"}, {15, 15}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE,  NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
const TTCN_OERdescriptor_t INT__BIT25__MSB_oer_ = { -1, FALSE, -1, FALSE, 0, 0, NULL, 0, NULL };
const TTCN_Typedescriptor_t INT__BIT25__MSB_descr_ = { "@CAN_matrix_general_types.INT_BIT25_MSB", &INTEGER_ber_, &INT__BIT25__MSB_raw_, &INTEGER_text_, &INT__BIT25__MSB_xer_, &INTEGER_json_, &INT__BIT25__MSB_oer_, NULL, TTCN_Typedescriptor_t::DONTCARE };
const TTCN_RAWdescriptor_t INT__BIT26__MSB_raw_ = {26,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_MSB,EXT_BIT_NO,ORDER_LSB,ORDER_LSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,-1,CharCoding::UNKNOWN,NULL,false};
const XERdescriptor_t       INT__BIT26__MSB_xer_ = { {"INT_BIT26_MSB>\n", "INT_BIT26_MSB>\n"}, {15, 15}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE,  NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
const TTCN_OERdescriptor_t INT__BIT26__MSB_oer_ = { -1, FALSE, -1, FALSE, 0, 0, NULL, 0, NULL };
const TTCN_Typedescriptor_t INT__BIT26__MSB_descr_ = { "@CAN_matrix_general_types.INT_BIT26_MSB", &INTEGER_ber_, &INT__BIT26__MSB_raw_, &INTEGER_text_, &INT__BIT26__MSB_xer_, &INTEGER_json_, &INT__BIT26__MSB_oer_, NULL, TTCN_Typedescriptor_t::DONTCARE };
const TTCN_RAWdescriptor_t INT__BIT27__MSB_raw_ = {27,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_MSB,EXT_BIT_NO,ORDER_LSB,ORDER_LSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,-1,CharCoding::UNKNOWN,NULL,false};
const XERdescriptor_t       INT__BIT27__MSB_xer_ = { {"INT_BIT27_MSB>\n", "INT_BIT27_MSB>\n"}, {15, 15}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE,  NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
const TTCN_OERdescriptor_t INT__BIT27__MSB_oer_ = { -1, FALSE, -1, FALSE, 0, 0, NULL, 0, NULL };
const TTCN_Typedescriptor_t INT__BIT27__MSB_descr_ = { "@CAN_matrix_general_types.INT_BIT27_MSB", &INTEGER_ber_, &INT__BIT27__MSB_raw_, &INTEGER_text_, &INT__BIT27__MSB_xer_, &INTEGER_json_, &INT__BIT27__MSB_oer_, NULL, TTCN_Typedescriptor_t::DONTCARE };
const TTCN_RAWdescriptor_t INT__BIT28__MSB_raw_ = {28,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_MSB,EXT_BIT_NO,ORDER_LSB,ORDER_LSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,-1,CharCoding::UNKNOWN,NULL,false};
const XERdescriptor_t       INT__BIT28__MSB_xer_ = { {"INT_BIT28_MSB>\n", "INT_BIT28_MSB>\n"}, {15, 15}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE,  NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
const TTCN_OERdescriptor_t INT__BIT28__MSB_oer_ = { -1, FALSE, -1, FALSE, 0, 0, NULL, 0, NULL };
const TTCN_Typedescriptor_t INT__BIT28__MSB_descr_ = { "@CAN_matrix_general_types.INT_BIT28_MSB", &INTEGER_ber_, &INT__BIT28__MSB_raw_, &INTEGER_text_, &INT__BIT28__MSB_xer_, &INTEGER_json_, &INT__BIT28__MSB_oer_, NULL, TTCN_Typedescriptor_t::DONTCARE };
const TTCN_RAWdescriptor_t INT__BIT39__MSB_raw_ = {29,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_MSB,EXT_BIT_NO,ORDER_LSB,ORDER_LSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,-1,CharCoding::UNKNOWN,NULL,false};
const XERdescriptor_t       INT__BIT39__MSB_xer_ = { {"INT_BIT39_MSB>\n", "INT_BIT39_MSB>\n"}, {15, 15}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE,  NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
const TTCN_OERdescriptor_t INT__BIT39__MSB_oer_ = { -1, FALSE, -1, FALSE, 0, 0, NULL, 0, NULL };
const TTCN_Typedescriptor_t INT__BIT39__MSB_descr_ = { "@CAN_matrix_general_types.INT_BIT39_MSB", &INTEGER_ber_, &INT__BIT39__MSB_raw_, &INTEGER_text_, &INT__BIT39__MSB_xer_, &INTEGER_json_, &INT__BIT39__MSB_oer_, NULL, TTCN_Typedescriptor_t::DONTCARE };
const TTCN_RAWdescriptor_t INT__BIT30__MSB_raw_ = {30,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_MSB,EXT_BIT_NO,ORDER_LSB,ORDER_LSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,-1,CharCoding::UNKNOWN,NULL,false};
const XERdescriptor_t       INT__BIT30__MSB_xer_ = { {"INT_BIT30_MSB>\n", "INT_BIT30_MSB>\n"}, {15, 15}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE,  NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
const TTCN_OERdescriptor_t INT__BIT30__MSB_oer_ = { -1, FALSE, -1, FALSE, 0, 0, NULL, 0, NULL };
const TTCN_Typedescriptor_t INT__BIT30__MSB_descr_ = { "@CAN_matrix_general_types.INT_BIT30_MSB", &INTEGER_ber_, &INT__BIT30__MSB_raw_, &INTEGER_text_, &INT__BIT30__MSB_xer_, &INTEGER_json_, &INT__BIT30__MSB_oer_, NULL, TTCN_Typedescriptor_t::DONTCARE };
const TTCN_RAWdescriptor_t INT__BIT31__MSB_raw_ = {31,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_MSB,EXT_BIT_NO,ORDER_LSB,ORDER_LSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,-1,CharCoding::UNKNOWN,NULL,false};
const XERdescriptor_t       INT__BIT31__MSB_xer_ = { {"INT_BIT31_MSB>\n", "INT_BIT31_MSB>\n"}, {15, 15}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE,  NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
const TTCN_OERdescriptor_t INT__BIT31__MSB_oer_ = { -1, FALSE, -1, FALSE, 0, 0, NULL, 0, NULL };
const TTCN_Typedescriptor_t INT__BIT31__MSB_descr_ = { "@CAN_matrix_general_types.INT_BIT31_MSB", &INTEGER_ber_, &INT__BIT31__MSB_raw_, &INTEGER_text_, &INT__BIT31__MSB_xer_, &INTEGER_json_, &INT__BIT31__MSB_oer_, NULL, TTCN_Typedescriptor_t::DONTCARE };
const TTCN_RAWdescriptor_t INT__BIT32__MSB_raw_ = {32,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_MSB,EXT_BIT_NO,ORDER_LSB,ORDER_LSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,-1,CharCoding::UNKNOWN,NULL,false};
const XERdescriptor_t       INT__BIT32__MSB_xer_ = { {"INT_BIT32_MSB>\n", "INT_BIT32_MSB>\n"}, {15, 15}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE,  NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
const TTCN_OERdescriptor_t INT__BIT32__MSB_oer_ = { -1, FALSE, -1, FALSE, 0, 0, NULL, 0, NULL };
const TTCN_Typedescriptor_t INT__BIT32__MSB_descr_ = { "@CAN_matrix_general_types.INT_BIT32_MSB", &INTEGER_ber_, &INT__BIT32__MSB_raw_, &INTEGER_text_, &INT__BIT32__MSB_xer_, &INTEGER_json_, &INT__BIT32__MSB_oer_, NULL, TTCN_Typedescriptor_t::DONTCARE };
const TTCN_RAWdescriptor_t INT__BIT1__LSB_raw_ = {1,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_LSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,-1,CharCoding::UNKNOWN,NULL,false};
const XERdescriptor_t       INT__BIT1__LSB_xer_ = { {"INT_BIT1_LSB>\n", "INT_BIT1_LSB>\n"}, {14, 14}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE,  NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
const TTCN_OERdescriptor_t INT__BIT1__LSB_oer_ = { -1, FALSE, -1, FALSE, 0, 0, NULL, 0, NULL };
const TTCN_Typedescriptor_t INT__BIT1__LSB_descr_ = { "@CAN_matrix_general_types.INT_BIT1_LSB", &INTEGER_ber_, &INT__BIT1__LSB_raw_, &INTEGER_text_, &INT__BIT1__LSB_xer_, &INTEGER_json_, &INT__BIT1__LSB_oer_, NULL, TTCN_Typedescriptor_t::DONTCARE };
const TTCN_RAWdescriptor_t INT__BIT2__LSB_raw_ = {2,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_LSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,-1,CharCoding::UNKNOWN,NULL,false};
const XERdescriptor_t       INT__BIT2__LSB_xer_ = { {"INT_BIT2_LSB>\n", "INT_BIT2_LSB>\n"}, {14, 14}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE,  NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
const TTCN_OERdescriptor_t INT__BIT2__LSB_oer_ = { -1, FALSE, -1, FALSE, 0, 0, NULL, 0, NULL };
const TTCN_Typedescriptor_t INT__BIT2__LSB_descr_ = { "@CAN_matrix_general_types.INT_BIT2_LSB", &INTEGER_ber_, &INT__BIT2__LSB_raw_, &INTEGER_text_, &INT__BIT2__LSB_xer_, &INTEGER_json_, &INT__BIT2__LSB_oer_, NULL, TTCN_Typedescriptor_t::DONTCARE };
const TTCN_RAWdescriptor_t INT__BIT3__LSB_raw_ = {3,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_LSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,-1,CharCoding::UNKNOWN,NULL,false};
const XERdescriptor_t       INT__BIT3__LSB_xer_ = { {"INT_BIT3_LSB>\n", "INT_BIT3_LSB>\n"}, {14, 14}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE,  NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
const TTCN_OERdescriptor_t INT__BIT3__LSB_oer_ = { -1, FALSE, -1, FALSE, 0, 0, NULL, 0, NULL };
const TTCN_Typedescriptor_t INT__BIT3__LSB_descr_ = { "@CAN_matrix_general_types.INT_BIT3_LSB", &INTEGER_ber_, &INT__BIT3__LSB_raw_, &INTEGER_text_, &INT__BIT3__LSB_xer_, &INTEGER_json_, &INT__BIT3__LSB_oer_, NULL, TTCN_Typedescriptor_t::DONTCARE };
const TTCN_RAWdescriptor_t INT__BIT4__LSB_raw_ = {4,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_LSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,-1,CharCoding::UNKNOWN,NULL,false};
const XERdescriptor_t       INT__BIT4__LSB_xer_ = { {"INT_BIT4_LSB>\n", "INT_BIT4_LSB>\n"}, {14, 14}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE,  NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
const TTCN_OERdescriptor_t INT__BIT4__LSB_oer_ = { -1, FALSE, -1, FALSE, 0, 0, NULL, 0, NULL };
const TTCN_Typedescriptor_t INT__BIT4__LSB_descr_ = { "@CAN_matrix_general_types.INT_BIT4_LSB", &INTEGER_ber_, &INT__BIT4__LSB_raw_, &INTEGER_text_, &INT__BIT4__LSB_xer_, &INTEGER_json_, &INT__BIT4__LSB_oer_, NULL, TTCN_Typedescriptor_t::DONTCARE };
const TTCN_RAWdescriptor_t INT__BIT5__LSB_raw_ = {5,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_LSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,-1,CharCoding::UNKNOWN,NULL,false};
const XERdescriptor_t       INT__BIT5__LSB_xer_ = { {"INT_BIT5_LSB>\n", "INT_BIT5_LSB>\n"}, {14, 14}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE,  NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
const TTCN_OERdescriptor_t INT__BIT5__LSB_oer_ = { -1, FALSE, -1, FALSE, 0, 0, NULL, 0, NULL };
const TTCN_Typedescriptor_t INT__BIT5__LSB_descr_ = { "@CAN_matrix_general_types.INT_BIT5_LSB", &INTEGER_ber_, &INT__BIT5__LSB_raw_, &INTEGER_text_, &INT__BIT5__LSB_xer_, &INTEGER_json_, &INT__BIT5__LSB_oer_, NULL, TTCN_Typedescriptor_t::DONTCARE };
const TTCN_RAWdescriptor_t INT__BIT6__LSB_raw_ = {6,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_LSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,-1,CharCoding::UNKNOWN,NULL,false};
const XERdescriptor_t       INT__BIT6__LSB_xer_ = { {"INT_BIT6_LSB>\n", "INT_BIT6_LSB>\n"}, {14, 14}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE,  NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
const TTCN_OERdescriptor_t INT__BIT6__LSB_oer_ = { -1, FALSE, -1, FALSE, 0, 0, NULL, 0, NULL };
const TTCN_Typedescriptor_t INT__BIT6__LSB_descr_ = { "@CAN_matrix_general_types.INT_BIT6_LSB", &INTEGER_ber_, &INT__BIT6__LSB_raw_, &INTEGER_text_, &INT__BIT6__LSB_xer_, &INTEGER_json_, &INT__BIT6__LSB_oer_, NULL, TTCN_Typedescriptor_t::DONTCARE };
const TTCN_RAWdescriptor_t INT__BIT7__LSB_raw_ = {7,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_LSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,-1,CharCoding::UNKNOWN,NULL,false};
const XERdescriptor_t       INT__BIT7__LSB_xer_ = { {"INT_BIT7_LSB>\n", "INT_BIT7_LSB>\n"}, {14, 14}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE,  NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
const TTCN_OERdescriptor_t INT__BIT7__LSB_oer_ = { -1, FALSE, -1, FALSE, 0, 0, NULL, 0, NULL };
const TTCN_Typedescriptor_t INT__BIT7__LSB_descr_ = { "@CAN_matrix_general_types.INT_BIT7_LSB", &INTEGER_ber_, &INT__BIT7__LSB_raw_, &INTEGER_text_, &INT__BIT7__LSB_xer_, &INTEGER_json_, &INT__BIT7__LSB_oer_, NULL, TTCN_Typedescriptor_t::DONTCARE };
const TTCN_RAWdescriptor_t INT__BIT8__LSB_raw_ = {8,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_LSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,-1,CharCoding::UNKNOWN,NULL,false};
const XERdescriptor_t       INT__BIT8__LSB_xer_ = { {"INT_BIT8_LSB>\n", "INT_BIT8_LSB>\n"}, {14, 14}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE,  NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
const TTCN_OERdescriptor_t INT__BIT8__LSB_oer_ = { -1, FALSE, -1, FALSE, 0, 0, NULL, 0, NULL };
const TTCN_Typedescriptor_t INT__BIT8__LSB_descr_ = { "@CAN_matrix_general_types.INT_BIT8_LSB", &INTEGER_ber_, &INT__BIT8__LSB_raw_, &INTEGER_text_, &INT__BIT8__LSB_xer_, &INTEGER_json_, &INT__BIT8__LSB_oer_, NULL, TTCN_Typedescriptor_t::DONTCARE };
const TTCN_RAWdescriptor_t INT__BIT9__LSB_raw_ = {9,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_LSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,-1,CharCoding::UNKNOWN,NULL,false};
const XERdescriptor_t       INT__BIT9__LSB_xer_ = { {"INT_BIT9_LSB>\n", "INT_BIT9_LSB>\n"}, {14, 14}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE,  NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
const TTCN_OERdescriptor_t INT__BIT9__LSB_oer_ = { -1, FALSE, -1, FALSE, 0, 0, NULL, 0, NULL };
const TTCN_Typedescriptor_t INT__BIT9__LSB_descr_ = { "@CAN_matrix_general_types.INT_BIT9_LSB", &INTEGER_ber_, &INT__BIT9__LSB_raw_, &INTEGER_text_, &INT__BIT9__LSB_xer_, &INTEGER_json_, &INT__BIT9__LSB_oer_, NULL, TTCN_Typedescriptor_t::DONTCARE };
const TTCN_RAWdescriptor_t INT__BIT10__LSB_raw_ = {10,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_LSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,-1,CharCoding::UNKNOWN,NULL,false};
const XERdescriptor_t       INT__BIT10__LSB_xer_ = { {"INT_BIT10_LSB>\n", "INT_BIT10_LSB>\n"}, {15, 15}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE,  NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
const TTCN_OERdescriptor_t INT__BIT10__LSB_oer_ = { -1, FALSE, -1, FALSE, 0, 0, NULL, 0, NULL };
const TTCN_Typedescriptor_t INT__BIT10__LSB_descr_ = { "@CAN_matrix_general_types.INT_BIT10_LSB", &INTEGER_ber_, &INT__BIT10__LSB_raw_, &INTEGER_text_, &INT__BIT10__LSB_xer_, &INTEGER_json_, &INT__BIT10__LSB_oer_, NULL, TTCN_Typedescriptor_t::DONTCARE };
const TTCN_RAWdescriptor_t INT__BIT11__LSB_raw_ = {11,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_LSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,-1,CharCoding::UNKNOWN,NULL,false};
const XERdescriptor_t       INT__BIT11__LSB_xer_ = { {"INT_BIT11_LSB>\n", "INT_BIT11_LSB>\n"}, {15, 15}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE,  NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
const TTCN_OERdescriptor_t INT__BIT11__LSB_oer_ = { -1, FALSE, -1, FALSE, 0, 0, NULL, 0, NULL };
const TTCN_Typedescriptor_t INT__BIT11__LSB_descr_ = { "@CAN_matrix_general_types.INT_BIT11_LSB", &INTEGER_ber_, &INT__BIT11__LSB_raw_, &INTEGER_text_, &INT__BIT11__LSB_xer_, &INTEGER_json_, &INT__BIT11__LSB_oer_, NULL, TTCN_Typedescriptor_t::DONTCARE };
const TTCN_RAWdescriptor_t INT__BIT12__LSB_raw_ = {12,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_LSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,-1,CharCoding::UNKNOWN,NULL,false};
const XERdescriptor_t       INT__BIT12__LSB_xer_ = { {"INT_BIT12_LSB>\n", "INT_BIT12_LSB>\n"}, {15, 15}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE,  NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
const TTCN_OERdescriptor_t INT__BIT12__LSB_oer_ = { -1, FALSE, -1, FALSE, 0, 0, NULL, 0, NULL };
const TTCN_Typedescriptor_t INT__BIT12__LSB_descr_ = { "@CAN_matrix_general_types.INT_BIT12_LSB", &INTEGER_ber_, &INT__BIT12__LSB_raw_, &INTEGER_text_, &INT__BIT12__LSB_xer_, &INTEGER_json_, &INT__BIT12__LSB_oer_, NULL, TTCN_Typedescriptor_t::DONTCARE };
const TTCN_RAWdescriptor_t INT__BIT13__LSB_raw_ = {13,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_LSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,-1,CharCoding::UNKNOWN,NULL,false};
const XERdescriptor_t       INT__BIT13__LSB_xer_ = { {"INT_BIT13_LSB>\n", "INT_BIT13_LSB>\n"}, {15, 15}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE,  NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
const TTCN_OERdescriptor_t INT__BIT13__LSB_oer_ = { -1, FALSE, -1, FALSE, 0, 0, NULL, 0, NULL };
const TTCN_Typedescriptor_t INT__BIT13__LSB_descr_ = { "@CAN_matrix_general_types.INT_BIT13_LSB", &INTEGER_ber_, &INT__BIT13__LSB_raw_, &INTEGER_text_, &INT__BIT13__LSB_xer_, &INTEGER_json_, &INT__BIT13__LSB_oer_, NULL, TTCN_Typedescriptor_t::DONTCARE };
const TTCN_RAWdescriptor_t INT__BIT14__LSB_raw_ = {14,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_LSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,-1,CharCoding::UNKNOWN,NULL,false};
const XERdescriptor_t       INT__BIT14__LSB_xer_ = { {"INT_BIT14_LSB>\n", "INT_BIT14_LSB>\n"}, {15, 15}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE,  NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
const TTCN_OERdescriptor_t INT__BIT14__LSB_oer_ = { -1, FALSE, -1, FALSE, 0, 0, NULL, 0, NULL };
const TTCN_Typedescriptor_t INT__BIT14__LSB_descr_ = { "@CAN_matrix_general_types.INT_BIT14_LSB", &INTEGER_ber_, &INT__BIT14__LSB_raw_, &INTEGER_text_, &INT__BIT14__LSB_xer_, &INTEGER_json_, &INT__BIT14__LSB_oer_, NULL, TTCN_Typedescriptor_t::DONTCARE };
const TTCN_RAWdescriptor_t INT__BIT15__LSB_raw_ = {15,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_LSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,-1,CharCoding::UNKNOWN,NULL,false};
const XERdescriptor_t       INT__BIT15__LSB_xer_ = { {"INT_BIT15_LSB>\n", "INT_BIT15_LSB>\n"}, {15, 15}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE,  NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
const TTCN_OERdescriptor_t INT__BIT15__LSB_oer_ = { -1, FALSE, -1, FALSE, 0, 0, NULL, 0, NULL };
const TTCN_Typedescriptor_t INT__BIT15__LSB_descr_ = { "@CAN_matrix_general_types.INT_BIT15_LSB", &INTEGER_ber_, &INT__BIT15__LSB_raw_, &INTEGER_text_, &INT__BIT15__LSB_xer_, &INTEGER_json_, &INT__BIT15__LSB_oer_, NULL, TTCN_Typedescriptor_t::DONTCARE };
const TTCN_RAWdescriptor_t INT__BIT16__LSB_raw_ = {16,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_LSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,-1,CharCoding::UNKNOWN,NULL,false};
const XERdescriptor_t       INT__BIT16__LSB_xer_ = { {"INT_BIT16_LSB>\n", "INT_BIT16_LSB>\n"}, {15, 15}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE,  NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
const TTCN_OERdescriptor_t INT__BIT16__LSB_oer_ = { -1, FALSE, -1, FALSE, 0, 0, NULL, 0, NULL };
const TTCN_Typedescriptor_t INT__BIT16__LSB_descr_ = { "@CAN_matrix_general_types.INT_BIT16_LSB", &INTEGER_ber_, &INT__BIT16__LSB_raw_, &INTEGER_text_, &INT__BIT16__LSB_xer_, &INTEGER_json_, &INT__BIT16__LSB_oer_, NULL, TTCN_Typedescriptor_t::DONTCARE };
const TTCN_RAWdescriptor_t INT__BIT17__LSB_raw_ = {17,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_LSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,-1,CharCoding::UNKNOWN,NULL,false};
const XERdescriptor_t       INT__BIT17__LSB_xer_ = { {"INT_BIT17_LSB>\n", "INT_BIT17_LSB>\n"}, {15, 15}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE,  NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
const TTCN_OERdescriptor_t INT__BIT17__LSB_oer_ = { -1, FALSE, -1, FALSE, 0, 0, NULL, 0, NULL };
const TTCN_Typedescriptor_t INT__BIT17__LSB_descr_ = { "@CAN_matrix_general_types.INT_BIT17_LSB", &INTEGER_ber_, &INT__BIT17__LSB_raw_, &INTEGER_text_, &INT__BIT17__LSB_xer_, &INTEGER_json_, &INT__BIT17__LSB_oer_, NULL, TTCN_Typedescriptor_t::DONTCARE };
const TTCN_RAWdescriptor_t INT__BIT18__LSB_raw_ = {18,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_LSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,-1,CharCoding::UNKNOWN,NULL,false};
const XERdescriptor_t       INT__BIT18__LSB_xer_ = { {"INT_BIT18_LSB>\n", "INT_BIT18_LSB>\n"}, {15, 15}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE,  NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
const TTCN_OERdescriptor_t INT__BIT18__LSB_oer_ = { -1, FALSE, -1, FALSE, 0, 0, NULL, 0, NULL };
const TTCN_Typedescriptor_t INT__BIT18__LSB_descr_ = { "@CAN_matrix_general_types.INT_BIT18_LSB", &INTEGER_ber_, &INT__BIT18__LSB_raw_, &INTEGER_text_, &INT__BIT18__LSB_xer_, &INTEGER_json_, &INT__BIT18__LSB_oer_, NULL, TTCN_Typedescriptor_t::DONTCARE };
const TTCN_RAWdescriptor_t INT__BIT19__LSB_raw_ = {19,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_LSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,-1,CharCoding::UNKNOWN,NULL,false};
const XERdescriptor_t       INT__BIT19__LSB_xer_ = { {"INT_BIT19_LSB>\n", "INT_BIT19_LSB>\n"}, {15, 15}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE,  NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
const TTCN_OERdescriptor_t INT__BIT19__LSB_oer_ = { -1, FALSE, -1, FALSE, 0, 0, NULL, 0, NULL };
const TTCN_Typedescriptor_t INT__BIT19__LSB_descr_ = { "@CAN_matrix_general_types.INT_BIT19_LSB", &INTEGER_ber_, &INT__BIT19__LSB_raw_, &INTEGER_text_, &INT__BIT19__LSB_xer_, &INTEGER_json_, &INT__BIT19__LSB_oer_, NULL, TTCN_Typedescriptor_t::DONTCARE };
const TTCN_RAWdescriptor_t INT__BIT20__LSB_raw_ = {20,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_LSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,-1,CharCoding::UNKNOWN,NULL,false};
const XERdescriptor_t       INT__BIT20__LSB_xer_ = { {"INT_BIT20_LSB>\n", "INT_BIT20_LSB>\n"}, {15, 15}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE,  NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
const TTCN_OERdescriptor_t INT__BIT20__LSB_oer_ = { -1, FALSE, -1, FALSE, 0, 0, NULL, 0, NULL };
const TTCN_Typedescriptor_t INT__BIT20__LSB_descr_ = { "@CAN_matrix_general_types.INT_BIT20_LSB", &INTEGER_ber_, &INT__BIT20__LSB_raw_, &INTEGER_text_, &INT__BIT20__LSB_xer_, &INTEGER_json_, &INT__BIT20__LSB_oer_, NULL, TTCN_Typedescriptor_t::DONTCARE };
const TTCN_RAWdescriptor_t INT__BIT21__LSB_raw_ = {21,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_LSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,-1,CharCoding::UNKNOWN,NULL,false};
const XERdescriptor_t       INT__BIT21__LSB_xer_ = { {"INT_BIT21_LSB>\n", "INT_BIT21_LSB>\n"}, {15, 15}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE,  NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
const TTCN_OERdescriptor_t INT__BIT21__LSB_oer_ = { -1, FALSE, -1, FALSE, 0, 0, NULL, 0, NULL };
const TTCN_Typedescriptor_t INT__BIT21__LSB_descr_ = { "@CAN_matrix_general_types.INT_BIT21_LSB", &INTEGER_ber_, &INT__BIT21__LSB_raw_, &INTEGER_text_, &INT__BIT21__LSB_xer_, &INTEGER_json_, &INT__BIT21__LSB_oer_, NULL, TTCN_Typedescriptor_t::DONTCARE };
const TTCN_RAWdescriptor_t INT__BIT22__LSB_raw_ = {22,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_LSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,-1,CharCoding::UNKNOWN,NULL,false};
const XERdescriptor_t       INT__BIT22__LSB_xer_ = { {"INT_BIT22_LSB>\n", "INT_BIT22_LSB>\n"}, {15, 15}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE,  NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
const TTCN_OERdescriptor_t INT__BIT22__LSB_oer_ = { -1, FALSE, -1, FALSE, 0, 0, NULL, 0, NULL };
const TTCN_Typedescriptor_t INT__BIT22__LSB_descr_ = { "@CAN_matrix_general_types.INT_BIT22_LSB", &INTEGER_ber_, &INT__BIT22__LSB_raw_, &INTEGER_text_, &INT__BIT22__LSB_xer_, &INTEGER_json_, &INT__BIT22__LSB_oer_, NULL, TTCN_Typedescriptor_t::DONTCARE };
const TTCN_RAWdescriptor_t INT__BIT23__LSB_raw_ = {23,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_LSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,-1,CharCoding::UNKNOWN,NULL,false};
const XERdescriptor_t       INT__BIT23__LSB_xer_ = { {"INT_BIT23_LSB>\n", "INT_BIT23_LSB>\n"}, {15, 15}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE,  NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
const TTCN_OERdescriptor_t INT__BIT23__LSB_oer_ = { -1, FALSE, -1, FALSE, 0, 0, NULL, 0, NULL };
const TTCN_Typedescriptor_t INT__BIT23__LSB_descr_ = { "@CAN_matrix_general_types.INT_BIT23_LSB", &INTEGER_ber_, &INT__BIT23__LSB_raw_, &INTEGER_text_, &INT__BIT23__LSB_xer_, &INTEGER_json_, &INT__BIT23__LSB_oer_, NULL, TTCN_Typedescriptor_t::DONTCARE };
const TTCN_RAWdescriptor_t INT__BIT24__LSB_raw_ = {24,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_LSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,-1,CharCoding::UNKNOWN,NULL,false};
const XERdescriptor_t       INT__BIT24__LSB_xer_ = { {"INT_BIT24_LSB>\n", "INT_BIT24_LSB>\n"}, {15, 15}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE,  NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
const TTCN_OERdescriptor_t INT__BIT24__LSB_oer_ = { -1, FALSE, -1, FALSE, 0, 0, NULL, 0, NULL };
const TTCN_Typedescriptor_t INT__BIT24__LSB_descr_ = { "@CAN_matrix_general_types.INT_BIT24_LSB", &INTEGER_ber_, &INT__BIT24__LSB_raw_, &INTEGER_text_, &INT__BIT24__LSB_xer_, &INTEGER_json_, &INT__BIT24__LSB_oer_, NULL, TTCN_Typedescriptor_t::DONTCARE };
const TTCN_RAWdescriptor_t INT__BIT25__LSB_raw_ = {25,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_LSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,-1,CharCoding::UNKNOWN,NULL,false};
const XERdescriptor_t       INT__BIT25__LSB_xer_ = { {"INT_BIT25_LSB>\n", "INT_BIT25_LSB>\n"}, {15, 15}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE,  NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
const TTCN_OERdescriptor_t INT__BIT25__LSB_oer_ = { -1, FALSE, -1, FALSE, 0, 0, NULL, 0, NULL };
const TTCN_Typedescriptor_t INT__BIT25__LSB_descr_ = { "@CAN_matrix_general_types.INT_BIT25_LSB", &INTEGER_ber_, &INT__BIT25__LSB_raw_, &INTEGER_text_, &INT__BIT25__LSB_xer_, &INTEGER_json_, &INT__BIT25__LSB_oer_, NULL, TTCN_Typedescriptor_t::DONTCARE };
const TTCN_RAWdescriptor_t INT__BIT26__LSB_raw_ = {26,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_LSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,-1,CharCoding::UNKNOWN,NULL,false};
const XERdescriptor_t       INT__BIT26__LSB_xer_ = { {"INT_BIT26_LSB>\n", "INT_BIT26_LSB>\n"}, {15, 15}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE,  NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
const TTCN_OERdescriptor_t INT__BIT26__LSB_oer_ = { -1, FALSE, -1, FALSE, 0, 0, NULL, 0, NULL };
const TTCN_Typedescriptor_t INT__BIT26__LSB_descr_ = { "@CAN_matrix_general_types.INT_BIT26_LSB", &INTEGER_ber_, &INT__BIT26__LSB_raw_, &INTEGER_text_, &INT__BIT26__LSB_xer_, &INTEGER_json_, &INT__BIT26__LSB_oer_, NULL, TTCN_Typedescriptor_t::DONTCARE };
const TTCN_RAWdescriptor_t INT__BIT27__LSB_raw_ = {27,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_LSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,-1,CharCoding::UNKNOWN,NULL,false};
const XERdescriptor_t       INT__BIT27__LSB_xer_ = { {"INT_BIT27_LSB>\n", "INT_BIT27_LSB>\n"}, {15, 15}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE,  NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
const TTCN_OERdescriptor_t INT__BIT27__LSB_oer_ = { -1, FALSE, -1, FALSE, 0, 0, NULL, 0, NULL };
const TTCN_Typedescriptor_t INT__BIT27__LSB_descr_ = { "@CAN_matrix_general_types.INT_BIT27_LSB", &INTEGER_ber_, &INT__BIT27__LSB_raw_, &INTEGER_text_, &INT__BIT27__LSB_xer_, &INTEGER_json_, &INT__BIT27__LSB_oer_, NULL, TTCN_Typedescriptor_t::DONTCARE };
const TTCN_RAWdescriptor_t INT__BIT28__LSB_raw_ = {28,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_LSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,-1,CharCoding::UNKNOWN,NULL,false};
const XERdescriptor_t       INT__BIT28__LSB_xer_ = { {"INT_BIT28_LSB>\n", "INT_BIT28_LSB>\n"}, {15, 15}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE,  NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
const TTCN_OERdescriptor_t INT__BIT28__LSB_oer_ = { -1, FALSE, -1, FALSE, 0, 0, NULL, 0, NULL };
const TTCN_Typedescriptor_t INT__BIT28__LSB_descr_ = { "@CAN_matrix_general_types.INT_BIT28_LSB", &INTEGER_ber_, &INT__BIT28__LSB_raw_, &INTEGER_text_, &INT__BIT28__LSB_xer_, &INTEGER_json_, &INT__BIT28__LSB_oer_, NULL, TTCN_Typedescriptor_t::DONTCARE };
const TTCN_RAWdescriptor_t INT__BIT39__LSB_raw_ = {29,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_LSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,-1,CharCoding::UNKNOWN,NULL,false};
const XERdescriptor_t       INT__BIT39__LSB_xer_ = { {"INT_BIT39_LSB>\n", "INT_BIT39_LSB>\n"}, {15, 15}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE,  NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
const TTCN_OERdescriptor_t INT__BIT39__LSB_oer_ = { -1, FALSE, -1, FALSE, 0, 0, NULL, 0, NULL };
const TTCN_Typedescriptor_t INT__BIT39__LSB_descr_ = { "@CAN_matrix_general_types.INT_BIT39_LSB", &INTEGER_ber_, &INT__BIT39__LSB_raw_, &INTEGER_text_, &INT__BIT39__LSB_xer_, &INTEGER_json_, &INT__BIT39__LSB_oer_, NULL, TTCN_Typedescriptor_t::DONTCARE };
const TTCN_RAWdescriptor_t INT__BIT30__LSB_raw_ = {30,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_LSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,-1,CharCoding::UNKNOWN,NULL,false};
const XERdescriptor_t       INT__BIT30__LSB_xer_ = { {"INT_BIT30_LSB>\n", "INT_BIT30_LSB>\n"}, {15, 15}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE,  NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
const TTCN_OERdescriptor_t INT__BIT30__LSB_oer_ = { -1, FALSE, -1, FALSE, 0, 0, NULL, 0, NULL };
const TTCN_Typedescriptor_t INT__BIT30__LSB_descr_ = { "@CAN_matrix_general_types.INT_BIT30_LSB", &INTEGER_ber_, &INT__BIT30__LSB_raw_, &INTEGER_text_, &INT__BIT30__LSB_xer_, &INTEGER_json_, &INT__BIT30__LSB_oer_, NULL, TTCN_Typedescriptor_t::DONTCARE };
const TTCN_RAWdescriptor_t INT__BIT31__LSB_raw_ = {31,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_LSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,-1,CharCoding::UNKNOWN,NULL,false};
const XERdescriptor_t       INT__BIT31__LSB_xer_ = { {"INT_BIT31_LSB>\n", "INT_BIT31_LSB>\n"}, {15, 15}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE,  NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
const TTCN_OERdescriptor_t INT__BIT31__LSB_oer_ = { -1, FALSE, -1, FALSE, 0, 0, NULL, 0, NULL };
const TTCN_Typedescriptor_t INT__BIT31__LSB_descr_ = { "@CAN_matrix_general_types.INT_BIT31_LSB", &INTEGER_ber_, &INT__BIT31__LSB_raw_, &INTEGER_text_, &INT__BIT31__LSB_xer_, &INTEGER_json_, &INT__BIT31__LSB_oer_, NULL, TTCN_Typedescriptor_t::DONTCARE };
const TTCN_RAWdescriptor_t INT__BIT32__LSB_raw_ = {32,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_LSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,-1,CharCoding::UNKNOWN,NULL,false};
const XERdescriptor_t       INT__BIT32__LSB_xer_ = { {"INT_BIT32_LSB>\n", "INT_BIT32_LSB>\n"}, {15, 15}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE,  NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
const TTCN_OERdescriptor_t INT__BIT32__LSB_oer_ = { -1, FALSE, -1, FALSE, 0, 0, NULL, 0, NULL };
const TTCN_Typedescriptor_t INT__BIT32__LSB_descr_ = { "@CAN_matrix_general_types.INT_BIT32_LSB", &INTEGER_ber_, &INT__BIT32__LSB_raw_, &INTEGER_text_, &INT__BIT32__LSB_xer_, &INTEGER_json_, &INT__BIT32__LSB_oer_, NULL, TTCN_Typedescriptor_t::DONTCARE };
const TTCN_RAWdescriptor_t BIT1__MSB_raw_ = {1,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_MSB,EXT_BIT_NO,ORDER_LSB,ORDER_LSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,1,CharCoding::UNKNOWN,NULL,false};
const XERdescriptor_t       BIT1__MSB_xer_ = { {"BIT1_MSB>\n", "BIT1_MSB>\n"}, {10, 10}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE,  NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
const TTCN_OERdescriptor_t BIT1__MSB_oer_ = { -1, FALSE, -1, FALSE, 0, 0, NULL, 0, NULL };
const TTCN_Typedescriptor_t BIT1__MSB_descr_ = { "@CAN_matrix_general_types.BIT1_MSB", &BITSTRING_ber_, &BIT1__MSB_raw_, NULL, &BIT1__MSB_xer_, &BITSTRING_json_, &BIT1__MSB_oer_, NULL, TTCN_Typedescriptor_t::DONTCARE };
const TTCN_RAWdescriptor_t BIT2__MSB_raw_ = {2,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_MSB,EXT_BIT_NO,ORDER_LSB,ORDER_LSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,2,CharCoding::UNKNOWN,NULL,false};
const XERdescriptor_t       BIT2__MSB_xer_ = { {"BIT2_MSB>\n", "BIT2_MSB>\n"}, {10, 10}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE,  NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
const TTCN_OERdescriptor_t BIT2__MSB_oer_ = { -1, FALSE, -1, FALSE, 0, 0, NULL, 0, NULL };
const TTCN_Typedescriptor_t BIT2__MSB_descr_ = { "@CAN_matrix_general_types.BIT2_MSB", &BITSTRING_ber_, &BIT2__MSB_raw_, NULL, &BIT2__MSB_xer_, &BITSTRING_json_, &BIT2__MSB_oer_, NULL, TTCN_Typedescriptor_t::DONTCARE };
const TTCN_RAWdescriptor_t BIT3__MSB_raw_ = {3,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_MSB,EXT_BIT_NO,ORDER_LSB,ORDER_LSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,3,CharCoding::UNKNOWN,NULL,false};
const XERdescriptor_t       BIT3__MSB_xer_ = { {"BIT3_MSB>\n", "BIT3_MSB>\n"}, {10, 10}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE,  NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
const TTCN_OERdescriptor_t BIT3__MSB_oer_ = { -1, FALSE, -1, FALSE, 0, 0, NULL, 0, NULL };
const TTCN_Typedescriptor_t BIT3__MSB_descr_ = { "@CAN_matrix_general_types.BIT3_MSB", &BITSTRING_ber_, &BIT3__MSB_raw_, NULL, &BIT3__MSB_xer_, &BITSTRING_json_, &BIT3__MSB_oer_, NULL, TTCN_Typedescriptor_t::DONTCARE };
const TTCN_RAWdescriptor_t BIT4__MSB_raw_ = {4,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_MSB,EXT_BIT_NO,ORDER_LSB,ORDER_LSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,4,CharCoding::UNKNOWN,NULL,false};
const XERdescriptor_t       BIT4__MSB_xer_ = { {"BIT4_MSB>\n", "BIT4_MSB>\n"}, {10, 10}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE,  NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
const TTCN_OERdescriptor_t BIT4__MSB_oer_ = { -1, FALSE, -1, FALSE, 0, 0, NULL, 0, NULL };
const TTCN_Typedescriptor_t BIT4__MSB_descr_ = { "@CAN_matrix_general_types.BIT4_MSB", &BITSTRING_ber_, &BIT4__MSB_raw_, NULL, &BIT4__MSB_xer_, &BITSTRING_json_, &BIT4__MSB_oer_, NULL, TTCN_Typedescriptor_t::DONTCARE };
const TTCN_RAWdescriptor_t BIT5__MSB_raw_ = {5,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_MSB,EXT_BIT_NO,ORDER_LSB,ORDER_LSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,5,CharCoding::UNKNOWN,NULL,false};
const XERdescriptor_t       BIT5__MSB_xer_ = { {"BIT5_MSB>\n", "BIT5_MSB>\n"}, {10, 10}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE,  NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
const TTCN_OERdescriptor_t BIT5__MSB_oer_ = { -1, FALSE, -1, FALSE, 0, 0, NULL, 0, NULL };
const TTCN_Typedescriptor_t BIT5__MSB_descr_ = { "@CAN_matrix_general_types.BIT5_MSB", &BITSTRING_ber_, &BIT5__MSB_raw_, NULL, &BIT5__MSB_xer_, &BITSTRING_json_, &BIT5__MSB_oer_, NULL, TTCN_Typedescriptor_t::DONTCARE };
const TTCN_RAWdescriptor_t BIT6__MSB_raw_ = {6,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_MSB,EXT_BIT_NO,ORDER_LSB,ORDER_LSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,6,CharCoding::UNKNOWN,NULL,false};
const XERdescriptor_t       BIT6__MSB_xer_ = { {"BIT6_MSB>\n", "BIT6_MSB>\n"}, {10, 10}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE,  NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
const TTCN_OERdescriptor_t BIT6__MSB_oer_ = { -1, FALSE, -1, FALSE, 0, 0, NULL, 0, NULL };
const TTCN_Typedescriptor_t BIT6__MSB_descr_ = { "@CAN_matrix_general_types.BIT6_MSB", &BITSTRING_ber_, &BIT6__MSB_raw_, NULL, &BIT6__MSB_xer_, &BITSTRING_json_, &BIT6__MSB_oer_, NULL, TTCN_Typedescriptor_t::DONTCARE };
const TTCN_RAWdescriptor_t BIT7__MSB_raw_ = {7,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_MSB,EXT_BIT_NO,ORDER_LSB,ORDER_LSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,7,CharCoding::UNKNOWN,NULL,false};
const XERdescriptor_t       BIT7__MSB_xer_ = { {"BIT7_MSB>\n", "BIT7_MSB>\n"}, {10, 10}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE,  NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
const TTCN_OERdescriptor_t BIT7__MSB_oer_ = { -1, FALSE, -1, FALSE, 0, 0, NULL, 0, NULL };
const TTCN_Typedescriptor_t BIT7__MSB_descr_ = { "@CAN_matrix_general_types.BIT7_MSB", &BITSTRING_ber_, &BIT7__MSB_raw_, NULL, &BIT7__MSB_xer_, &BITSTRING_json_, &BIT7__MSB_oer_, NULL, TTCN_Typedescriptor_t::DONTCARE };
const TTCN_RAWdescriptor_t BIT8__MSB_raw_ = {8,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_MSB,EXT_BIT_NO,ORDER_LSB,ORDER_LSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,8,CharCoding::UNKNOWN,NULL,false};
const XERdescriptor_t       BIT8__MSB_xer_ = { {"BIT8_MSB>\n", "BIT8_MSB>\n"}, {10, 10}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE,  NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
const TTCN_OERdescriptor_t BIT8__MSB_oer_ = { -1, FALSE, -1, FALSE, 0, 0, NULL, 0, NULL };
const TTCN_Typedescriptor_t BIT8__MSB_descr_ = { "@CAN_matrix_general_types.BIT8_MSB", &BITSTRING_ber_, &BIT8__MSB_raw_, NULL, &BIT8__MSB_xer_, &BITSTRING_json_, &BIT8__MSB_oer_, NULL, TTCN_Typedescriptor_t::DONTCARE };
const TTCN_RAWdescriptor_t BIT9__MSB_raw_ = {9,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_MSB,EXT_BIT_NO,ORDER_LSB,ORDER_LSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,9,CharCoding::UNKNOWN,NULL,false};
const XERdescriptor_t       BIT9__MSB_xer_ = { {"BIT9_MSB>\n", "BIT9_MSB>\n"}, {10, 10}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE,  NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
const TTCN_OERdescriptor_t BIT9__MSB_oer_ = { -1, FALSE, -1, FALSE, 0, 0, NULL, 0, NULL };
const TTCN_Typedescriptor_t BIT9__MSB_descr_ = { "@CAN_matrix_general_types.BIT9_MSB", &BITSTRING_ber_, &BIT9__MSB_raw_, NULL, &BIT9__MSB_xer_, &BITSTRING_json_, &BIT9__MSB_oer_, NULL, TTCN_Typedescriptor_t::DONTCARE };
const TTCN_RAWdescriptor_t BIT10__MSB_raw_ = {10,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_MSB,EXT_BIT_NO,ORDER_LSB,ORDER_LSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,10,CharCoding::UNKNOWN,NULL,false};
const XERdescriptor_t       BIT10__MSB_xer_ = { {"BIT10_MSB>\n", "BIT10_MSB>\n"}, {11, 11}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE,  NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
const TTCN_OERdescriptor_t BIT10__MSB_oer_ = { -1, FALSE, -1, FALSE, 0, 0, NULL, 0, NULL };
const TTCN_Typedescriptor_t BIT10__MSB_descr_ = { "@CAN_matrix_general_types.BIT10_MSB", &BITSTRING_ber_, &BIT10__MSB_raw_, NULL, &BIT10__MSB_xer_, &BITSTRING_json_, &BIT10__MSB_oer_, NULL, TTCN_Typedescriptor_t::DONTCARE };
const TTCN_RAWdescriptor_t BIT11__MSB_raw_ = {11,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_MSB,EXT_BIT_NO,ORDER_LSB,ORDER_LSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,11,CharCoding::UNKNOWN,NULL,false};
const XERdescriptor_t       BIT11__MSB_xer_ = { {"BIT11_MSB>\n", "BIT11_MSB>\n"}, {11, 11}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE,  NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
const TTCN_OERdescriptor_t BIT11__MSB_oer_ = { -1, FALSE, -1, FALSE, 0, 0, NULL, 0, NULL };
const TTCN_Typedescriptor_t BIT11__MSB_descr_ = { "@CAN_matrix_general_types.BIT11_MSB", &BITSTRING_ber_, &BIT11__MSB_raw_, NULL, &BIT11__MSB_xer_, &BITSTRING_json_, &BIT11__MSB_oer_, NULL, TTCN_Typedescriptor_t::DONTCARE };
const TTCN_RAWdescriptor_t BIT12__MSB_raw_ = {12,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_MSB,EXT_BIT_NO,ORDER_LSB,ORDER_LSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,12,CharCoding::UNKNOWN,NULL,false};
const XERdescriptor_t       BIT12__MSB_xer_ = { {"BIT12_MSB>\n", "BIT12_MSB>\n"}, {11, 11}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE,  NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
const TTCN_OERdescriptor_t BIT12__MSB_oer_ = { -1, FALSE, -1, FALSE, 0, 0, NULL, 0, NULL };
const TTCN_Typedescriptor_t BIT12__MSB_descr_ = { "@CAN_matrix_general_types.BIT12_MSB", &BITSTRING_ber_, &BIT12__MSB_raw_, NULL, &BIT12__MSB_xer_, &BITSTRING_json_, &BIT12__MSB_oer_, NULL, TTCN_Typedescriptor_t::DONTCARE };
const TTCN_RAWdescriptor_t BIT13__MSB_raw_ = {13,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_MSB,EXT_BIT_NO,ORDER_LSB,ORDER_LSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,13,CharCoding::UNKNOWN,NULL,false};
const XERdescriptor_t       BIT13__MSB_xer_ = { {"BIT13_MSB>\n", "BIT13_MSB>\n"}, {11, 11}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE,  NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
const TTCN_OERdescriptor_t BIT13__MSB_oer_ = { -1, FALSE, -1, FALSE, 0, 0, NULL, 0, NULL };
const TTCN_Typedescriptor_t BIT13__MSB_descr_ = { "@CAN_matrix_general_types.BIT13_MSB", &BITSTRING_ber_, &BIT13__MSB_raw_, NULL, &BIT13__MSB_xer_, &BITSTRING_json_, &BIT13__MSB_oer_, NULL, TTCN_Typedescriptor_t::DONTCARE };
const TTCN_RAWdescriptor_t BIT14__MSB_raw_ = {14,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_MSB,EXT_BIT_NO,ORDER_LSB,ORDER_LSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,14,CharCoding::UNKNOWN,NULL,false};
const XERdescriptor_t       BIT14__MSB_xer_ = { {"BIT14_MSB>\n", "BIT14_MSB>\n"}, {11, 11}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE,  NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
const TTCN_OERdescriptor_t BIT14__MSB_oer_ = { -1, FALSE, -1, FALSE, 0, 0, NULL, 0, NULL };
const TTCN_Typedescriptor_t BIT14__MSB_descr_ = { "@CAN_matrix_general_types.BIT14_MSB", &BITSTRING_ber_, &BIT14__MSB_raw_, NULL, &BIT14__MSB_xer_, &BITSTRING_json_, &BIT14__MSB_oer_, NULL, TTCN_Typedescriptor_t::DONTCARE };
const TTCN_RAWdescriptor_t BIT15__MSB_raw_ = {15,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_MSB,EXT_BIT_NO,ORDER_LSB,ORDER_LSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,15,CharCoding::UNKNOWN,NULL,false};
const XERdescriptor_t       BIT15__MSB_xer_ = { {"BIT15_MSB>\n", "BIT15_MSB>\n"}, {11, 11}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE,  NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
const TTCN_OERdescriptor_t BIT15__MSB_oer_ = { -1, FALSE, -1, FALSE, 0, 0, NULL, 0, NULL };
const TTCN_Typedescriptor_t BIT15__MSB_descr_ = { "@CAN_matrix_general_types.BIT15_MSB", &BITSTRING_ber_, &BIT15__MSB_raw_, NULL, &BIT15__MSB_xer_, &BITSTRING_json_, &BIT15__MSB_oer_, NULL, TTCN_Typedescriptor_t::DONTCARE };
const TTCN_RAWdescriptor_t BIT16__MSB_raw_ = {16,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_MSB,EXT_BIT_NO,ORDER_LSB,ORDER_LSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,16,CharCoding::UNKNOWN,NULL,false};
const XERdescriptor_t       BIT16__MSB_xer_ = { {"BIT16_MSB>\n", "BIT16_MSB>\n"}, {11, 11}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE,  NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
const TTCN_OERdescriptor_t BIT16__MSB_oer_ = { -1, FALSE, -1, FALSE, 0, 0, NULL, 0, NULL };
const TTCN_Typedescriptor_t BIT16__MSB_descr_ = { "@CAN_matrix_general_types.BIT16_MSB", &BITSTRING_ber_, &BIT16__MSB_raw_, NULL, &BIT16__MSB_xer_, &BITSTRING_json_, &BIT16__MSB_oer_, NULL, TTCN_Typedescriptor_t::DONTCARE };
const TTCN_RAWdescriptor_t BIT17__MSB_raw_ = {17,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_MSB,EXT_BIT_NO,ORDER_LSB,ORDER_LSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,17,CharCoding::UNKNOWN,NULL,false};
const XERdescriptor_t       BIT17__MSB_xer_ = { {"BIT17_MSB>\n", "BIT17_MSB>\n"}, {11, 11}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE,  NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
const TTCN_OERdescriptor_t BIT17__MSB_oer_ = { -1, FALSE, -1, FALSE, 0, 0, NULL, 0, NULL };
const TTCN_Typedescriptor_t BIT17__MSB_descr_ = { "@CAN_matrix_general_types.BIT17_MSB", &BITSTRING_ber_, &BIT17__MSB_raw_, NULL, &BIT17__MSB_xer_, &BITSTRING_json_, &BIT17__MSB_oer_, NULL, TTCN_Typedescriptor_t::DONTCARE };
const TTCN_RAWdescriptor_t BIT18__MSB_raw_ = {18,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_MSB,EXT_BIT_NO,ORDER_LSB,ORDER_LSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,18,CharCoding::UNKNOWN,NULL,false};
const XERdescriptor_t       BIT18__MSB_xer_ = { {"BIT18_MSB>\n", "BIT18_MSB>\n"}, {11, 11}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE,  NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
const TTCN_OERdescriptor_t BIT18__MSB_oer_ = { -1, FALSE, -1, FALSE, 0, 0, NULL, 0, NULL };
const TTCN_Typedescriptor_t BIT18__MSB_descr_ = { "@CAN_matrix_general_types.BIT18_MSB", &BITSTRING_ber_, &BIT18__MSB_raw_, NULL, &BIT18__MSB_xer_, &BITSTRING_json_, &BIT18__MSB_oer_, NULL, TTCN_Typedescriptor_t::DONTCARE };
const TTCN_RAWdescriptor_t BIT19__MSB_raw_ = {19,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_MSB,EXT_BIT_NO,ORDER_LSB,ORDER_LSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,19,CharCoding::UNKNOWN,NULL,false};
const XERdescriptor_t       BIT19__MSB_xer_ = { {"BIT19_MSB>\n", "BIT19_MSB>\n"}, {11, 11}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE,  NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
const TTCN_OERdescriptor_t BIT19__MSB_oer_ = { -1, FALSE, -1, FALSE, 0, 0, NULL, 0, NULL };
const TTCN_Typedescriptor_t BIT19__MSB_descr_ = { "@CAN_matrix_general_types.BIT19_MSB", &BITSTRING_ber_, &BIT19__MSB_raw_, NULL, &BIT19__MSB_xer_, &BITSTRING_json_, &BIT19__MSB_oer_, NULL, TTCN_Typedescriptor_t::DONTCARE };
const TTCN_RAWdescriptor_t BIT20__MSB_raw_ = {20,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_MSB,EXT_BIT_NO,ORDER_LSB,ORDER_LSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,20,CharCoding::UNKNOWN,NULL,false};
const XERdescriptor_t       BIT20__MSB_xer_ = { {"BIT20_MSB>\n", "BIT20_MSB>\n"}, {11, 11}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE,  NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
const TTCN_OERdescriptor_t BIT20__MSB_oer_ = { -1, FALSE, -1, FALSE, 0, 0, NULL, 0, NULL };
const TTCN_Typedescriptor_t BIT20__MSB_descr_ = { "@CAN_matrix_general_types.BIT20_MSB", &BITSTRING_ber_, &BIT20__MSB_raw_, NULL, &BIT20__MSB_xer_, &BITSTRING_json_, &BIT20__MSB_oer_, NULL, TTCN_Typedescriptor_t::DONTCARE };
const TTCN_RAWdescriptor_t BIT21__MSB_raw_ = {21,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_MSB,EXT_BIT_NO,ORDER_LSB,ORDER_LSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,21,CharCoding::UNKNOWN,NULL,false};
const XERdescriptor_t       BIT21__MSB_xer_ = { {"BIT21_MSB>\n", "BIT21_MSB>\n"}, {11, 11}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE,  NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
const TTCN_OERdescriptor_t BIT21__MSB_oer_ = { -1, FALSE, -1, FALSE, 0, 0, NULL, 0, NULL };
const TTCN_Typedescriptor_t BIT21__MSB_descr_ = { "@CAN_matrix_general_types.BIT21_MSB", &BITSTRING_ber_, &BIT21__MSB_raw_, NULL, &BIT21__MSB_xer_, &BITSTRING_json_, &BIT21__MSB_oer_, NULL, TTCN_Typedescriptor_t::DONTCARE };
const TTCN_RAWdescriptor_t BIT22__MSB_raw_ = {22,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_MSB,EXT_BIT_NO,ORDER_LSB,ORDER_LSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,22,CharCoding::UNKNOWN,NULL,false};
const XERdescriptor_t       BIT22__MSB_xer_ = { {"BIT22_MSB>\n", "BIT22_MSB>\n"}, {11, 11}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE,  NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
const TTCN_OERdescriptor_t BIT22__MSB_oer_ = { -1, FALSE, -1, FALSE, 0, 0, NULL, 0, NULL };
const TTCN_Typedescriptor_t BIT22__MSB_descr_ = { "@CAN_matrix_general_types.BIT22_MSB", &BITSTRING_ber_, &BIT22__MSB_raw_, NULL, &BIT22__MSB_xer_, &BITSTRING_json_, &BIT22__MSB_oer_, NULL, TTCN_Typedescriptor_t::DONTCARE };
const TTCN_RAWdescriptor_t BIT24__MSB_raw_ = {24,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_MSB,EXT_BIT_NO,ORDER_LSB,ORDER_LSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,24,CharCoding::UNKNOWN,NULL,false};
const XERdescriptor_t       BIT24__MSB_xer_ = { {"BIT24_MSB>\n", "BIT24_MSB>\n"}, {11, 11}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE,  NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
const TTCN_OERdescriptor_t BIT24__MSB_oer_ = { -1, FALSE, -1, FALSE, 0, 0, NULL, 0, NULL };
const TTCN_Typedescriptor_t BIT24__MSB_descr_ = { "@CAN_matrix_general_types.BIT24_MSB", &BITSTRING_ber_, &BIT24__MSB_raw_, NULL, &BIT24__MSB_xer_, &BITSTRING_json_, &BIT24__MSB_oer_, NULL, TTCN_Typedescriptor_t::DONTCARE };
const TTCN_RAWdescriptor_t BIT25__MSB_raw_ = {25,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_MSB,EXT_BIT_NO,ORDER_LSB,ORDER_LSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,25,CharCoding::UNKNOWN,NULL,false};
const XERdescriptor_t       BIT25__MSB_xer_ = { {"BIT25_MSB>\n", "BIT25_MSB>\n"}, {11, 11}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE,  NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
const TTCN_OERdescriptor_t BIT25__MSB_oer_ = { -1, FALSE, -1, FALSE, 0, 0, NULL, 0, NULL };
const TTCN_Typedescriptor_t BIT25__MSB_descr_ = { "@CAN_matrix_general_types.BIT25_MSB", &BITSTRING_ber_, &BIT25__MSB_raw_, NULL, &BIT25__MSB_xer_, &BITSTRING_json_, &BIT25__MSB_oer_, NULL, TTCN_Typedescriptor_t::DONTCARE };
const TTCN_RAWdescriptor_t BIT26__MSB_raw_ = {26,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_MSB,EXT_BIT_NO,ORDER_LSB,ORDER_LSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,26,CharCoding::UNKNOWN,NULL,false};
const XERdescriptor_t       BIT26__MSB_xer_ = { {"BIT26_MSB>\n", "BIT26_MSB>\n"}, {11, 11}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE,  NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
const TTCN_OERdescriptor_t BIT26__MSB_oer_ = { -1, FALSE, -1, FALSE, 0, 0, NULL, 0, NULL };
const TTCN_Typedescriptor_t BIT26__MSB_descr_ = { "@CAN_matrix_general_types.BIT26_MSB", &BITSTRING_ber_, &BIT26__MSB_raw_, NULL, &BIT26__MSB_xer_, &BITSTRING_json_, &BIT26__MSB_oer_, NULL, TTCN_Typedescriptor_t::DONTCARE };
const TTCN_RAWdescriptor_t BIT27__MSB_raw_ = {27,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_MSB,EXT_BIT_NO,ORDER_LSB,ORDER_LSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,27,CharCoding::UNKNOWN,NULL,false};
const XERdescriptor_t       BIT27__MSB_xer_ = { {"BIT27_MSB>\n", "BIT27_MSB>\n"}, {11, 11}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE,  NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
const TTCN_OERdescriptor_t BIT27__MSB_oer_ = { -1, FALSE, -1, FALSE, 0, 0, NULL, 0, NULL };
const TTCN_Typedescriptor_t BIT27__MSB_descr_ = { "@CAN_matrix_general_types.BIT27_MSB", &BITSTRING_ber_, &BIT27__MSB_raw_, NULL, &BIT27__MSB_xer_, &BITSTRING_json_, &BIT27__MSB_oer_, NULL, TTCN_Typedescriptor_t::DONTCARE };
const TTCN_RAWdescriptor_t BIT28__MSB_raw_ = {28,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_MSB,EXT_BIT_NO,ORDER_LSB,ORDER_LSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,28,CharCoding::UNKNOWN,NULL,false};
const XERdescriptor_t       BIT28__MSB_xer_ = { {"BIT28_MSB>\n", "BIT28_MSB>\n"}, {11, 11}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE,  NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
const TTCN_OERdescriptor_t BIT28__MSB_oer_ = { -1, FALSE, -1, FALSE, 0, 0, NULL, 0, NULL };
const TTCN_Typedescriptor_t BIT28__MSB_descr_ = { "@CAN_matrix_general_types.BIT28_MSB", &BITSTRING_ber_, &BIT28__MSB_raw_, NULL, &BIT28__MSB_xer_, &BITSTRING_json_, &BIT28__MSB_oer_, NULL, TTCN_Typedescriptor_t::DONTCARE };
const TTCN_RAWdescriptor_t BIT29__MSB_raw_ = {29,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_MSB,EXT_BIT_NO,ORDER_LSB,ORDER_LSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,29,CharCoding::UNKNOWN,NULL,false};
const XERdescriptor_t       BIT29__MSB_xer_ = { {"BIT29_MSB>\n", "BIT29_MSB>\n"}, {11, 11}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE,  NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
const TTCN_OERdescriptor_t BIT29__MSB_oer_ = { -1, FALSE, -1, FALSE, 0, 0, NULL, 0, NULL };
const TTCN_Typedescriptor_t BIT29__MSB_descr_ = { "@CAN_matrix_general_types.BIT29_MSB", &BITSTRING_ber_, &BIT29__MSB_raw_, NULL, &BIT29__MSB_xer_, &BITSTRING_json_, &BIT29__MSB_oer_, NULL, TTCN_Typedescriptor_t::DONTCARE };
const TTCN_RAWdescriptor_t BIT30__MSB_raw_ = {30,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_MSB,EXT_BIT_NO,ORDER_LSB,ORDER_LSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,30,CharCoding::UNKNOWN,NULL,false};
const XERdescriptor_t       BIT30__MSB_xer_ = { {"BIT30_MSB>\n", "BIT30_MSB>\n"}, {11, 11}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE,  NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
const TTCN_OERdescriptor_t BIT30__MSB_oer_ = { -1, FALSE, -1, FALSE, 0, 0, NULL, 0, NULL };
const TTCN_Typedescriptor_t BIT30__MSB_descr_ = { "@CAN_matrix_general_types.BIT30_MSB", &BITSTRING_ber_, &BIT30__MSB_raw_, NULL, &BIT30__MSB_xer_, &BITSTRING_json_, &BIT30__MSB_oer_, NULL, TTCN_Typedescriptor_t::DONTCARE };
const TTCN_RAWdescriptor_t BIT31__MSB_raw_ = {31,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_MSB,EXT_BIT_NO,ORDER_LSB,ORDER_LSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,31,CharCoding::UNKNOWN,NULL,false};
const XERdescriptor_t       BIT31__MSB_xer_ = { {"BIT31_MSB>\n", "BIT31_MSB>\n"}, {11, 11}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE,  NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
const TTCN_OERdescriptor_t BIT31__MSB_oer_ = { -1, FALSE, -1, FALSE, 0, 0, NULL, 0, NULL };
const TTCN_Typedescriptor_t BIT31__MSB_descr_ = { "@CAN_matrix_general_types.BIT31_MSB", &BITSTRING_ber_, &BIT31__MSB_raw_, NULL, &BIT31__MSB_xer_, &BITSTRING_json_, &BIT31__MSB_oer_, NULL, TTCN_Typedescriptor_t::DONTCARE };
const TTCN_RAWdescriptor_t BIT32__MSB_raw_ = {32,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_MSB,EXT_BIT_NO,ORDER_LSB,ORDER_LSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,32,CharCoding::UNKNOWN,NULL,false};
const XERdescriptor_t       BIT32__MSB_xer_ = { {"BIT32_MSB>\n", "BIT32_MSB>\n"}, {11, 11}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE,  NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
const TTCN_OERdescriptor_t BIT32__MSB_oer_ = { -1, FALSE, -1, FALSE, 0, 0, NULL, 0, NULL };
const TTCN_Typedescriptor_t BIT32__MSB_descr_ = { "@CAN_matrix_general_types.BIT32_MSB", &BITSTRING_ber_, &BIT32__MSB_raw_, NULL, &BIT32__MSB_xer_, &BITSTRING_json_, &BIT32__MSB_oer_, NULL, TTCN_Typedescriptor_t::DONTCARE };
const TTCN_RAWdescriptor_t BIT1__LSB_raw_ = {1,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_LSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,1,CharCoding::UNKNOWN,NULL,false};
const XERdescriptor_t       BIT1__LSB_xer_ = { {"BIT1_LSB>\n", "BIT1_LSB>\n"}, {10, 10}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE,  NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
const TTCN_OERdescriptor_t BIT1__LSB_oer_ = { -1, FALSE, -1, FALSE, 0, 0, NULL, 0, NULL };
const TTCN_Typedescriptor_t BIT1__LSB_descr_ = { "@CAN_matrix_general_types.BIT1_LSB", &BITSTRING_ber_, &BIT1__LSB_raw_, NULL, &BIT1__LSB_xer_, &BITSTRING_json_, &BIT1__LSB_oer_, NULL, TTCN_Typedescriptor_t::DONTCARE };
const TTCN_RAWdescriptor_t BIT2__LSB_raw_ = {2,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_LSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,2,CharCoding::UNKNOWN,NULL,false};
const XERdescriptor_t       BIT2__LSB_xer_ = { {"BIT2_LSB>\n", "BIT2_LSB>\n"}, {10, 10}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE,  NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
const TTCN_OERdescriptor_t BIT2__LSB_oer_ = { -1, FALSE, -1, FALSE, 0, 0, NULL, 0, NULL };
const TTCN_Typedescriptor_t BIT2__LSB_descr_ = { "@CAN_matrix_general_types.BIT2_LSB", &BITSTRING_ber_, &BIT2__LSB_raw_, NULL, &BIT2__LSB_xer_, &BITSTRING_json_, &BIT2__LSB_oer_, NULL, TTCN_Typedescriptor_t::DONTCARE };
const TTCN_RAWdescriptor_t BIT3__LSB_raw_ = {3,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_LSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,3,CharCoding::UNKNOWN,NULL,false};
const XERdescriptor_t       BIT3__LSB_xer_ = { {"BIT3_LSB>\n", "BIT3_LSB>\n"}, {10, 10}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE,  NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
const TTCN_OERdescriptor_t BIT3__LSB_oer_ = { -1, FALSE, -1, FALSE, 0, 0, NULL, 0, NULL };
const TTCN_Typedescriptor_t BIT3__LSB_descr_ = { "@CAN_matrix_general_types.BIT3_LSB", &BITSTRING_ber_, &BIT3__LSB_raw_, NULL, &BIT3__LSB_xer_, &BITSTRING_json_, &BIT3__LSB_oer_, NULL, TTCN_Typedescriptor_t::DONTCARE };
const TTCN_RAWdescriptor_t BIT4__LSB_raw_ = {4,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_LSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,4,CharCoding::UNKNOWN,NULL,false};
const XERdescriptor_t       BIT4__LSB_xer_ = { {"BIT4_LSB>\n", "BIT4_LSB>\n"}, {10, 10}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE,  NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
const TTCN_OERdescriptor_t BIT4__LSB_oer_ = { -1, FALSE, -1, FALSE, 0, 0, NULL, 0, NULL };
const TTCN_Typedescriptor_t BIT4__LSB_descr_ = { "@CAN_matrix_general_types.BIT4_LSB", &BITSTRING_ber_, &BIT4__LSB_raw_, NULL, &BIT4__LSB_xer_, &BITSTRING_json_, &BIT4__LSB_oer_, NULL, TTCN_Typedescriptor_t::DONTCARE };
const TTCN_RAWdescriptor_t BIT5__LSB_raw_ = {5,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_LSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,5,CharCoding::UNKNOWN,NULL,false};
const XERdescriptor_t       BIT5__LSB_xer_ = { {"BIT5_LSB>\n", "BIT5_LSB>\n"}, {10, 10}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE,  NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
const TTCN_OERdescriptor_t BIT5__LSB_oer_ = { -1, FALSE, -1, FALSE, 0, 0, NULL, 0, NULL };
const TTCN_Typedescriptor_t BIT5__LSB_descr_ = { "@CAN_matrix_general_types.BIT5_LSB", &BITSTRING_ber_, &BIT5__LSB_raw_, NULL, &BIT5__LSB_xer_, &BITSTRING_json_, &BIT5__LSB_oer_, NULL, TTCN_Typedescriptor_t::DONTCARE };
const TTCN_RAWdescriptor_t BIT6__LSB_raw_ = {6,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_LSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,6,CharCoding::UNKNOWN,NULL,false};
const XERdescriptor_t       BIT6__LSB_xer_ = { {"BIT6_LSB>\n", "BIT6_LSB>\n"}, {10, 10}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE,  NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
const TTCN_OERdescriptor_t BIT6__LSB_oer_ = { -1, FALSE, -1, FALSE, 0, 0, NULL, 0, NULL };
const TTCN_Typedescriptor_t BIT6__LSB_descr_ = { "@CAN_matrix_general_types.BIT6_LSB", &BITSTRING_ber_, &BIT6__LSB_raw_, NULL, &BIT6__LSB_xer_, &BITSTRING_json_, &BIT6__LSB_oer_, NULL, TTCN_Typedescriptor_t::DONTCARE };
const TTCN_RAWdescriptor_t BIT7__LSB_raw_ = {7,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_LSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,7,CharCoding::UNKNOWN,NULL,false};
const XERdescriptor_t       BIT7__LSB_xer_ = { {"BIT7_LSB>\n", "BIT7_LSB>\n"}, {10, 10}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE,  NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
const TTCN_OERdescriptor_t BIT7__LSB_oer_ = { -1, FALSE, -1, FALSE, 0, 0, NULL, 0, NULL };
const TTCN_Typedescriptor_t BIT7__LSB_descr_ = { "@CAN_matrix_general_types.BIT7_LSB", &BITSTRING_ber_, &BIT7__LSB_raw_, NULL, &BIT7__LSB_xer_, &BITSTRING_json_, &BIT7__LSB_oer_, NULL, TTCN_Typedescriptor_t::DONTCARE };
const TTCN_RAWdescriptor_t BIT8__LSB_raw_ = {8,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_LSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,8,CharCoding::UNKNOWN,NULL,false};
const XERdescriptor_t       BIT8__LSB_xer_ = { {"BIT8_LSB>\n", "BIT8_LSB>\n"}, {10, 10}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE,  NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
const TTCN_OERdescriptor_t BIT8__LSB_oer_ = { -1, FALSE, -1, FALSE, 0, 0, NULL, 0, NULL };
const TTCN_Typedescriptor_t BIT8__LSB_descr_ = { "@CAN_matrix_general_types.BIT8_LSB", &BITSTRING_ber_, &BIT8__LSB_raw_, NULL, &BIT8__LSB_xer_, &BITSTRING_json_, &BIT8__LSB_oer_, NULL, TTCN_Typedescriptor_t::DONTCARE };
const TTCN_RAWdescriptor_t BIT9__LSB_raw_ = {9,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_LSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,9,CharCoding::UNKNOWN,NULL,false};
const XERdescriptor_t       BIT9__LSB_xer_ = { {"BIT9_LSB>\n", "BIT9_LSB>\n"}, {10, 10}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE,  NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
const TTCN_OERdescriptor_t BIT9__LSB_oer_ = { -1, FALSE, -1, FALSE, 0, 0, NULL, 0, NULL };
const TTCN_Typedescriptor_t BIT9__LSB_descr_ = { "@CAN_matrix_general_types.BIT9_LSB", &BITSTRING_ber_, &BIT9__LSB_raw_, NULL, &BIT9__LSB_xer_, &BITSTRING_json_, &BIT9__LSB_oer_, NULL, TTCN_Typedescriptor_t::DONTCARE };
const TTCN_RAWdescriptor_t BIT10__LSB_raw_ = {10,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_LSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,10,CharCoding::UNKNOWN,NULL,false};
const XERdescriptor_t       BIT10__LSB_xer_ = { {"BIT10_LSB>\n", "BIT10_LSB>\n"}, {11, 11}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE,  NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
const TTCN_OERdescriptor_t BIT10__LSB_oer_ = { -1, FALSE, -1, FALSE, 0, 0, NULL, 0, NULL };
const TTCN_Typedescriptor_t BIT10__LSB_descr_ = { "@CAN_matrix_general_types.BIT10_LSB", &BITSTRING_ber_, &BIT10__LSB_raw_, NULL, &BIT10__LSB_xer_, &BITSTRING_json_, &BIT10__LSB_oer_, NULL, TTCN_Typedescriptor_t::DONTCARE };
const TTCN_RAWdescriptor_t BIT11__LSB_raw_ = {11,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_LSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,11,CharCoding::UNKNOWN,NULL,false};
const XERdescriptor_t       BIT11__LSB_xer_ = { {"BIT11_LSB>\n", "BIT11_LSB>\n"}, {11, 11}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE,  NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
const TTCN_OERdescriptor_t BIT11__LSB_oer_ = { -1, FALSE, -1, FALSE, 0, 0, NULL, 0, NULL };
const TTCN_Typedescriptor_t BIT11__LSB_descr_ = { "@CAN_matrix_general_types.BIT11_LSB", &BITSTRING_ber_, &BIT11__LSB_raw_, NULL, &BIT11__LSB_xer_, &BITSTRING_json_, &BIT11__LSB_oer_, NULL, TTCN_Typedescriptor_t::DONTCARE };
const TTCN_RAWdescriptor_t BIT12__LSB_raw_ = {12,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_LSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,12,CharCoding::UNKNOWN,NULL,false};
const XERdescriptor_t       BIT12__LSB_xer_ = { {"BIT12_LSB>\n", "BIT12_LSB>\n"}, {11, 11}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE,  NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
const TTCN_OERdescriptor_t BIT12__LSB_oer_ = { -1, FALSE, -1, FALSE, 0, 0, NULL, 0, NULL };
const TTCN_Typedescriptor_t BIT12__LSB_descr_ = { "@CAN_matrix_general_types.BIT12_LSB", &BITSTRING_ber_, &BIT12__LSB_raw_, NULL, &BIT12__LSB_xer_, &BITSTRING_json_, &BIT12__LSB_oer_, NULL, TTCN_Typedescriptor_t::DONTCARE };
const TTCN_RAWdescriptor_t BIT13__LSB_raw_ = {13,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_LSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,13,CharCoding::UNKNOWN,NULL,false};
const XERdescriptor_t       BIT13__LSB_xer_ = { {"BIT13_LSB>\n", "BIT13_LSB>\n"}, {11, 11}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE,  NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
const TTCN_OERdescriptor_t BIT13__LSB_oer_ = { -1, FALSE, -1, FALSE, 0, 0, NULL, 0, NULL };
const TTCN_Typedescriptor_t BIT13__LSB_descr_ = { "@CAN_matrix_general_types.BIT13_LSB", &BITSTRING_ber_, &BIT13__LSB_raw_, NULL, &BIT13__LSB_xer_, &BITSTRING_json_, &BIT13__LSB_oer_, NULL, TTCN_Typedescriptor_t::DONTCARE };
const TTCN_RAWdescriptor_t BIT14__LSB_raw_ = {14,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_LSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,14,CharCoding::UNKNOWN,NULL,false};
const XERdescriptor_t       BIT14__LSB_xer_ = { {"BIT14_LSB>\n", "BIT14_LSB>\n"}, {11, 11}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE,  NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
const TTCN_OERdescriptor_t BIT14__LSB_oer_ = { -1, FALSE, -1, FALSE, 0, 0, NULL, 0, NULL };
const TTCN_Typedescriptor_t BIT14__LSB_descr_ = { "@CAN_matrix_general_types.BIT14_LSB", &BITSTRING_ber_, &BIT14__LSB_raw_, NULL, &BIT14__LSB_xer_, &BITSTRING_json_, &BIT14__LSB_oer_, NULL, TTCN_Typedescriptor_t::DONTCARE };
const TTCN_RAWdescriptor_t BIT15__LSB_raw_ = {15,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_LSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,15,CharCoding::UNKNOWN,NULL,false};
const XERdescriptor_t       BIT15__LSB_xer_ = { {"BIT15_LSB>\n", "BIT15_LSB>\n"}, {11, 11}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE,  NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
const TTCN_OERdescriptor_t BIT15__LSB_oer_ = { -1, FALSE, -1, FALSE, 0, 0, NULL, 0, NULL };
const TTCN_Typedescriptor_t BIT15__LSB_descr_ = { "@CAN_matrix_general_types.BIT15_LSB", &BITSTRING_ber_, &BIT15__LSB_raw_, NULL, &BIT15__LSB_xer_, &BITSTRING_json_, &BIT15__LSB_oer_, NULL, TTCN_Typedescriptor_t::DONTCARE };
const TTCN_RAWdescriptor_t BIT16__LSB_raw_ = {16,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_LSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,16,CharCoding::UNKNOWN,NULL,false};
const XERdescriptor_t       BIT16__LSB_xer_ = { {"BIT16_LSB>\n", "BIT16_LSB>\n"}, {11, 11}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE,  NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
const TTCN_OERdescriptor_t BIT16__LSB_oer_ = { -1, FALSE, -1, FALSE, 0, 0, NULL, 0, NULL };
const TTCN_Typedescriptor_t BIT16__LSB_descr_ = { "@CAN_matrix_general_types.BIT16_LSB", &BITSTRING_ber_, &BIT16__LSB_raw_, NULL, &BIT16__LSB_xer_, &BITSTRING_json_, &BIT16__LSB_oer_, NULL, TTCN_Typedescriptor_t::DONTCARE };
const TTCN_RAWdescriptor_t BIT17__LSB_raw_ = {17,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_LSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,17,CharCoding::UNKNOWN,NULL,false};
const XERdescriptor_t       BIT17__LSB_xer_ = { {"BIT17_LSB>\n", "BIT17_LSB>\n"}, {11, 11}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE,  NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
const TTCN_OERdescriptor_t BIT17__LSB_oer_ = { -1, FALSE, -1, FALSE, 0, 0, NULL, 0, NULL };
const TTCN_Typedescriptor_t BIT17__LSB_descr_ = { "@CAN_matrix_general_types.BIT17_LSB", &BITSTRING_ber_, &BIT17__LSB_raw_, NULL, &BIT17__LSB_xer_, &BITSTRING_json_, &BIT17__LSB_oer_, NULL, TTCN_Typedescriptor_t::DONTCARE };
const TTCN_RAWdescriptor_t BIT18__LSB_raw_ = {18,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_LSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,18,CharCoding::UNKNOWN,NULL,false};
const XERdescriptor_t       BIT18__LSB_xer_ = { {"BIT18_LSB>\n", "BIT18_LSB>\n"}, {11, 11}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE,  NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
const TTCN_OERdescriptor_t BIT18__LSB_oer_ = { -1, FALSE, -1, FALSE, 0, 0, NULL, 0, NULL };
const TTCN_Typedescriptor_t BIT18__LSB_descr_ = { "@CAN_matrix_general_types.BIT18_LSB", &BITSTRING_ber_, &BIT18__LSB_raw_, NULL, &BIT18__LSB_xer_, &BITSTRING_json_, &BIT18__LSB_oer_, NULL, TTCN_Typedescriptor_t::DONTCARE };
const TTCN_RAWdescriptor_t BIT19__LSB_raw_ = {19,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_LSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,19,CharCoding::UNKNOWN,NULL,false};
const XERdescriptor_t       BIT19__LSB_xer_ = { {"BIT19_LSB>\n", "BIT19_LSB>\n"}, {11, 11}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE,  NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
const TTCN_OERdescriptor_t BIT19__LSB_oer_ = { -1, FALSE, -1, FALSE, 0, 0, NULL, 0, NULL };
const TTCN_Typedescriptor_t BIT19__LSB_descr_ = { "@CAN_matrix_general_types.BIT19_LSB", &BITSTRING_ber_, &BIT19__LSB_raw_, NULL, &BIT19__LSB_xer_, &BITSTRING_json_, &BIT19__LSB_oer_, NULL, TTCN_Typedescriptor_t::DONTCARE };
const TTCN_RAWdescriptor_t BIT20__LSB_raw_ = {20,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_LSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,20,CharCoding::UNKNOWN,NULL,false};
const XERdescriptor_t       BIT20__LSB_xer_ = { {"BIT20_LSB>\n", "BIT20_LSB>\n"}, {11, 11}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE,  NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
const TTCN_OERdescriptor_t BIT20__LSB_oer_ = { -1, FALSE, -1, FALSE, 0, 0, NULL, 0, NULL };
const TTCN_Typedescriptor_t BIT20__LSB_descr_ = { "@CAN_matrix_general_types.BIT20_LSB", &BITSTRING_ber_, &BIT20__LSB_raw_, NULL, &BIT20__LSB_xer_, &BITSTRING_json_, &BIT20__LSB_oer_, NULL, TTCN_Typedescriptor_t::DONTCARE };
const TTCN_RAWdescriptor_t BIT21__LSB_raw_ = {21,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_LSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,21,CharCoding::UNKNOWN,NULL,false};
const XERdescriptor_t       BIT21__LSB_xer_ = { {"BIT21_LSB>\n", "BIT21_LSB>\n"}, {11, 11}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE,  NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
const TTCN_OERdescriptor_t BIT21__LSB_oer_ = { -1, FALSE, -1, FALSE, 0, 0, NULL, 0, NULL };
const TTCN_Typedescriptor_t BIT21__LSB_descr_ = { "@CAN_matrix_general_types.BIT21_LSB", &BITSTRING_ber_, &BIT21__LSB_raw_, NULL, &BIT21__LSB_xer_, &BITSTRING_json_, &BIT21__LSB_oer_, NULL, TTCN_Typedescriptor_t::DONTCARE };
const TTCN_RAWdescriptor_t BIT22__LSB_raw_ = {22,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_LSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,22,CharCoding::UNKNOWN,NULL,false};
const XERdescriptor_t       BIT22__LSB_xer_ = { {"BIT22_LSB>\n", "BIT22_LSB>\n"}, {11, 11}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE,  NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
const TTCN_OERdescriptor_t BIT22__LSB_oer_ = { -1, FALSE, -1, FALSE, 0, 0, NULL, 0, NULL };
const TTCN_Typedescriptor_t BIT22__LSB_descr_ = { "@CAN_matrix_general_types.BIT22_LSB", &BITSTRING_ber_, &BIT22__LSB_raw_, NULL, &BIT22__LSB_xer_, &BITSTRING_json_, &BIT22__LSB_oer_, NULL, TTCN_Typedescriptor_t::DONTCARE };
const TTCN_RAWdescriptor_t BIT24__LSB_raw_ = {24,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_LSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,24,CharCoding::UNKNOWN,NULL,false};
const XERdescriptor_t       BIT24__LSB_xer_ = { {"BIT24_LSB>\n", "BIT24_LSB>\n"}, {11, 11}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE,  NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
const TTCN_OERdescriptor_t BIT24__LSB_oer_ = { -1, FALSE, -1, FALSE, 0, 0, NULL, 0, NULL };
const TTCN_Typedescriptor_t BIT24__LSB_descr_ = { "@CAN_matrix_general_types.BIT24_LSB", &BITSTRING_ber_, &BIT24__LSB_raw_, NULL, &BIT24__LSB_xer_, &BITSTRING_json_, &BIT24__LSB_oer_, NULL, TTCN_Typedescriptor_t::DONTCARE };
const TTCN_RAWdescriptor_t BIT25__LSB_raw_ = {25,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_LSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,25,CharCoding::UNKNOWN,NULL,false};
const XERdescriptor_t       BIT25__LSB_xer_ = { {"BIT25_LSB>\n", "BIT25_LSB>\n"}, {11, 11}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE,  NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
const TTCN_OERdescriptor_t BIT25__LSB_oer_ = { -1, FALSE, -1, FALSE, 0, 0, NULL, 0, NULL };
const TTCN_Typedescriptor_t BIT25__LSB_descr_ = { "@CAN_matrix_general_types.BIT25_LSB", &BITSTRING_ber_, &BIT25__LSB_raw_, NULL, &BIT25__LSB_xer_, &BITSTRING_json_, &BIT25__LSB_oer_, NULL, TTCN_Typedescriptor_t::DONTCARE };
const TTCN_RAWdescriptor_t BIT26__LSB_raw_ = {26,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_LSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,26,CharCoding::UNKNOWN,NULL,false};
const XERdescriptor_t       BIT26__LSB_xer_ = { {"BIT26_LSB>\n", "BIT26_LSB>\n"}, {11, 11}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE,  NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
const TTCN_OERdescriptor_t BIT26__LSB_oer_ = { -1, FALSE, -1, FALSE, 0, 0, NULL, 0, NULL };
const TTCN_Typedescriptor_t BIT26__LSB_descr_ = { "@CAN_matrix_general_types.BIT26_LSB", &BITSTRING_ber_, &BIT26__LSB_raw_, NULL, &BIT26__LSB_xer_, &BITSTRING_json_, &BIT26__LSB_oer_, NULL, TTCN_Typedescriptor_t::DONTCARE };
const TTCN_RAWdescriptor_t BIT27__LSB_raw_ = {27,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_LSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,27,CharCoding::UNKNOWN,NULL,false};
const XERdescriptor_t       BIT27__LSB_xer_ = { {"BIT27_LSB>\n", "BIT27_LSB>\n"}, {11, 11}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE,  NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
const TTCN_OERdescriptor_t BIT27__LSB_oer_ = { -1, FALSE, -1, FALSE, 0, 0, NULL, 0, NULL };
const TTCN_Typedescriptor_t BIT27__LSB_descr_ = { "@CAN_matrix_general_types.BIT27_LSB", &BITSTRING_ber_, &BIT27__LSB_raw_, NULL, &BIT27__LSB_xer_, &BITSTRING_json_, &BIT27__LSB_oer_, NULL, TTCN_Typedescriptor_t::DONTCARE };
const TTCN_RAWdescriptor_t BIT28__LSB_raw_ = {28,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_LSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,28,CharCoding::UNKNOWN,NULL,false};
const XERdescriptor_t       BIT28__LSB_xer_ = { {"BIT28_LSB>\n", "BIT28_LSB>\n"}, {11, 11}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE,  NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
const TTCN_OERdescriptor_t BIT28__LSB_oer_ = { -1, FALSE, -1, FALSE, 0, 0, NULL, 0, NULL };
const TTCN_Typedescriptor_t BIT28__LSB_descr_ = { "@CAN_matrix_general_types.BIT28_LSB", &BITSTRING_ber_, &BIT28__LSB_raw_, NULL, &BIT28__LSB_xer_, &BITSTRING_json_, &BIT28__LSB_oer_, NULL, TTCN_Typedescriptor_t::DONTCARE };
const TTCN_RAWdescriptor_t BIT29__LSB_raw_ = {29,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_LSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,29,CharCoding::UNKNOWN,NULL,false};
const XERdescriptor_t       BIT29__LSB_xer_ = { {"BIT29_LSB>\n", "BIT29_LSB>\n"}, {11, 11}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE,  NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
const TTCN_OERdescriptor_t BIT29__LSB_oer_ = { -1, FALSE, -1, FALSE, 0, 0, NULL, 0, NULL };
const TTCN_Typedescriptor_t BIT29__LSB_descr_ = { "@CAN_matrix_general_types.BIT29_LSB", &BITSTRING_ber_, &BIT29__LSB_raw_, NULL, &BIT29__LSB_xer_, &BITSTRING_json_, &BIT29__LSB_oer_, NULL, TTCN_Typedescriptor_t::DONTCARE };
const TTCN_RAWdescriptor_t BIT30__LSB_raw_ = {30,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_LSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,30,CharCoding::UNKNOWN,NULL,false};
const XERdescriptor_t       BIT30__LSB_xer_ = { {"BIT30_LSB>\n", "BIT30_LSB>\n"}, {11, 11}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE,  NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
const TTCN_OERdescriptor_t BIT30__LSB_oer_ = { -1, FALSE, -1, FALSE, 0, 0, NULL, 0, NULL };
const TTCN_Typedescriptor_t BIT30__LSB_descr_ = { "@CAN_matrix_general_types.BIT30_LSB", &BITSTRING_ber_, &BIT30__LSB_raw_, NULL, &BIT30__LSB_xer_, &BITSTRING_json_, &BIT30__LSB_oer_, NULL, TTCN_Typedescriptor_t::DONTCARE };
const TTCN_RAWdescriptor_t BIT31__LSB_raw_ = {31,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_LSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,31,CharCoding::UNKNOWN,NULL,false};
const XERdescriptor_t       BIT31__LSB_xer_ = { {"BIT31_LSB>\n", "BIT31_LSB>\n"}, {11, 11}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE,  NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
const TTCN_OERdescriptor_t BIT31__LSB_oer_ = { -1, FALSE, -1, FALSE, 0, 0, NULL, 0, NULL };
const TTCN_Typedescriptor_t BIT31__LSB_descr_ = { "@CAN_matrix_general_types.BIT31_LSB", &BITSTRING_ber_, &BIT31__LSB_raw_, NULL, &BIT31__LSB_xer_, &BITSTRING_json_, &BIT31__LSB_oer_, NULL, TTCN_Typedescriptor_t::DONTCARE };
const TTCN_RAWdescriptor_t BIT32__LSB_raw_ = {32,SG_NO,ORDER_LSB,ORDER_LSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_LSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,32,CharCoding::UNKNOWN,NULL,false};
const XERdescriptor_t       BIT32__LSB_xer_ = { {"BIT32_LSB>\n", "BIT32_LSB>\n"}, {11, 11}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE,  NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
const TTCN_OERdescriptor_t BIT32__LSB_oer_ = { -1, FALSE, -1, FALSE, 0, 0, NULL, 0, NULL };
const TTCN_Typedescriptor_t BIT32__LSB_descr_ = { "@CAN_matrix_general_types.BIT32_LSB", &BITSTRING_ber_, &BIT32__LSB_raw_, NULL, &BIT32__LSB_xer_, &BITSTRING_json_, &BIT32__LSB_oer_, NULL, TTCN_Typedescriptor_t::DONTCARE };
const TTCN_RAWdescriptor_t OCT1__MSB_raw_ = {8,SG_NO,ORDER_LSB,ORDER_MSB,ORDER_LSB,ORDER_MSB,EXT_BIT_NO,ORDER_LSB,ORDER_LSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,1,CharCoding::UNKNOWN,NULL,false};
const XERdescriptor_t       OCT1__MSB_xer_ = { {"OCT1_MSB>\n", "OCT1_MSB>\n"}, {10, 10}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE,  NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
const int OCT1__MSB_oer_ext_arr_[0] = {};
const int OCT1__MSB_oer_p_[0] = {};
const TTCN_OERdescriptor_t OCT1__MSB_oer_ = { -1, TRUE, 1, FALSE, 0, 0, OCT1__MSB_oer_ext_arr_, 0, OCT1__MSB_oer_p_};
const TTCN_Typedescriptor_t OCT1__MSB_descr_ = { "@CAN_matrix_general_types.OCT1_MSB", &OCTETSTRING_ber_, &OCT1__MSB_raw_, &OCTETSTRING_text_, &OCT1__MSB_xer_, &OCTETSTRING_json_, &OCT1__MSB_oer_, NULL, TTCN_Typedescriptor_t::DONTCARE };
const TTCN_RAWdescriptor_t OCT2__MSB_raw_ = {16,SG_NO,ORDER_LSB,ORDER_MSB,ORDER_LSB,ORDER_MSB,EXT_BIT_NO,ORDER_LSB,ORDER_LSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,2,CharCoding::UNKNOWN,NULL,false};
const XERdescriptor_t       OCT2__MSB_xer_ = { {"OCT2_MSB>\n", "OCT2_MSB>\n"}, {10, 10}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE,  NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
const int OCT2__MSB_oer_ext_arr_[0] = {};
const int OCT2__MSB_oer_p_[0] = {};
const TTCN_OERdescriptor_t OCT2__MSB_oer_ = { -1, TRUE, 2, FALSE, 0, 0, OCT2__MSB_oer_ext_arr_, 0, OCT2__MSB_oer_p_};
const TTCN_Typedescriptor_t OCT2__MSB_descr_ = { "@CAN_matrix_general_types.OCT2_MSB", &OCTETSTRING_ber_, &OCT2__MSB_raw_, &OCTETSTRING_text_, &OCT2__MSB_xer_, &OCTETSTRING_json_, &OCT2__MSB_oer_, NULL, TTCN_Typedescriptor_t::DONTCARE };
const TTCN_RAWdescriptor_t OCT3__MSB_raw_ = {24,SG_NO,ORDER_LSB,ORDER_MSB,ORDER_LSB,ORDER_MSB,EXT_BIT_NO,ORDER_LSB,ORDER_LSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,3,CharCoding::UNKNOWN,NULL,false};
const XERdescriptor_t       OCT3__MSB_xer_ = { {"OCT3_MSB>\n", "OCT3_MSB>\n"}, {10, 10}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE,  NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
const int OCT3__MSB_oer_ext_arr_[0] = {};
const int OCT3__MSB_oer_p_[0] = {};
const TTCN_OERdescriptor_t OCT3__MSB_oer_ = { -1, TRUE, 3, FALSE, 0, 0, OCT3__MSB_oer_ext_arr_, 0, OCT3__MSB_oer_p_};
const TTCN_Typedescriptor_t OCT3__MSB_descr_ = { "@CAN_matrix_general_types.OCT3_MSB", &OCTETSTRING_ber_, &OCT3__MSB_raw_, &OCTETSTRING_text_, &OCT3__MSB_xer_, &OCTETSTRING_json_, &OCT3__MSB_oer_, NULL, TTCN_Typedescriptor_t::DONTCARE };
const TTCN_RAWdescriptor_t OCT4__MSB_raw_ = {32,SG_NO,ORDER_LSB,ORDER_MSB,ORDER_LSB,ORDER_MSB,EXT_BIT_NO,ORDER_LSB,ORDER_LSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,4,CharCoding::UNKNOWN,NULL,false};
const XERdescriptor_t       OCT4__MSB_xer_ = { {"OCT4_MSB>\n", "OCT4_MSB>\n"}, {10, 10}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE,  NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
const int OCT4__MSB_oer_ext_arr_[0] = {};
const int OCT4__MSB_oer_p_[0] = {};
const TTCN_OERdescriptor_t OCT4__MSB_oer_ = { -1, TRUE, 4, FALSE, 0, 0, OCT4__MSB_oer_ext_arr_, 0, OCT4__MSB_oer_p_};
const TTCN_Typedescriptor_t OCT4__MSB_descr_ = { "@CAN_matrix_general_types.OCT4_MSB", &OCTETSTRING_ber_, &OCT4__MSB_raw_, &OCTETSTRING_text_, &OCT4__MSB_xer_, &OCTETSTRING_json_, &OCT4__MSB_oer_, NULL, TTCN_Typedescriptor_t::DONTCARE };
const TTCN_RAWdescriptor_t OCT1__LSB_raw_ = {8,SG_NO,ORDER_LSB,ORDER_MSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_LSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,1,CharCoding::UNKNOWN,NULL,false};
const XERdescriptor_t       OCT1__LSB_xer_ = { {"OCT1_LSB>\n", "OCT1_LSB>\n"}, {10, 10}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE,  NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
const int OCT1__LSB_oer_ext_arr_[0] = {};
const int OCT1__LSB_oer_p_[0] = {};
const TTCN_OERdescriptor_t OCT1__LSB_oer_ = { -1, TRUE, 1, FALSE, 0, 0, OCT1__LSB_oer_ext_arr_, 0, OCT1__LSB_oer_p_};
const TTCN_Typedescriptor_t OCT1__LSB_descr_ = { "@CAN_matrix_general_types.OCT1_LSB", &OCTETSTRING_ber_, &OCT1__LSB_raw_, &OCTETSTRING_text_, &OCT1__LSB_xer_, &OCTETSTRING_json_, &OCT1__LSB_oer_, NULL, TTCN_Typedescriptor_t::DONTCARE };
const TTCN_RAWdescriptor_t OCT2__LSB_raw_ = {16,SG_NO,ORDER_LSB,ORDER_MSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_LSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,2,CharCoding::UNKNOWN,NULL,false};
const XERdescriptor_t       OCT2__LSB_xer_ = { {"OCT2_LSB>\n", "OCT2_LSB>\n"}, {10, 10}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE,  NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
const int OCT2__LSB_oer_ext_arr_[0] = {};
const int OCT2__LSB_oer_p_[0] = {};
const TTCN_OERdescriptor_t OCT2__LSB_oer_ = { -1, TRUE, 2, FALSE, 0, 0, OCT2__LSB_oer_ext_arr_, 0, OCT2__LSB_oer_p_};
const TTCN_Typedescriptor_t OCT2__LSB_descr_ = { "@CAN_matrix_general_types.OCT2_LSB", &OCTETSTRING_ber_, &OCT2__LSB_raw_, &OCTETSTRING_text_, &OCT2__LSB_xer_, &OCTETSTRING_json_, &OCT2__LSB_oer_, NULL, TTCN_Typedescriptor_t::DONTCARE };
const TTCN_RAWdescriptor_t OCT3__LSB_raw_ = {24,SG_NO,ORDER_LSB,ORDER_MSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_LSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,3,CharCoding::UNKNOWN,NULL,false};
const XERdescriptor_t       OCT3__LSB_xer_ = { {"OCT3_LSB>\n", "OCT3_LSB>\n"}, {10, 10}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE,  NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
const int OCT3__LSB_oer_ext_arr_[0] = {};
const int OCT3__LSB_oer_p_[0] = {};
const TTCN_OERdescriptor_t OCT3__LSB_oer_ = { -1, TRUE, 3, FALSE, 0, 0, OCT3__LSB_oer_ext_arr_, 0, OCT3__LSB_oer_p_};
const TTCN_Typedescriptor_t OCT3__LSB_descr_ = { "@CAN_matrix_general_types.OCT3_LSB", &OCTETSTRING_ber_, &OCT3__LSB_raw_, &OCTETSTRING_text_, &OCT3__LSB_xer_, &OCTETSTRING_json_, &OCT3__LSB_oer_, NULL, TTCN_Typedescriptor_t::DONTCARE };
const TTCN_RAWdescriptor_t OCT4__LSB_raw_ = {32,SG_NO,ORDER_LSB,ORDER_MSB,ORDER_LSB,ORDER_LSB,EXT_BIT_NO,ORDER_LSB,ORDER_LSB,TOP_BIT_INHERITED,0,0,0,8,0,NULL,4,CharCoding::UNKNOWN,NULL,false};
const XERdescriptor_t       OCT4__LSB_xer_ = { {"OCT4_LSB>\n", "OCT4_LSB>\n"}, {10, 10}, 0 |FORM_UNQUALIFIED, WHITESPACE_PRESERVE,  NULL, &module_object, -1, 0, NULL, NULL, -1, XSD_NONE };
const int OCT4__LSB_oer_ext_arr_[0] = {};
const int OCT4__LSB_oer_p_[0] = {};
const TTCN_OERdescriptor_t OCT4__LSB_oer_ = { -1, TRUE, 4, FALSE, 0, 0, OCT4__LSB_oer_ext_arr_, 0, OCT4__LSB_oer_p_};
const TTCN_Typedescriptor_t OCT4__LSB_descr_ = { "@CAN_matrix_general_types.OCT4_LSB", &OCTETSTRING_ber_, &OCT4__LSB_raw_, &OCTETSTRING_text_, &OCT4__LSB_xer_, &OCTETSTRING_json_, &OCT4__LSB_oer_, NULL, TTCN_Typedescriptor_t::DONTCARE };
TTCN_Module module_object("CAN_matrix_general_types", __DATE__, __TIME__, module_checksum, NULL, NULL, 0U, 4294967295U, 4294967295U, 4294967295U, NULL, 0LU, 0, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL);

static const RuntimeVersionChecker ver_checker(  current_runtime_version.requires_major_version_6,
  current_runtime_version.requires_minor_version_6,
  current_runtime_version.requires_patch_level_0,  current_runtime_version.requires_runtime_1);

} /* end of namespace */
